@esri/calcite-components 2.5.0-next.1 → 2.5.0-next.3
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.
- package/dist/.storybook/placeholderImage.js +1 -1
- package/dist/calcite/calcite.esm.js +2 -2
- package/dist/calcite/calcite.esm.js.map +1 -1
- package/dist/calcite/index.esm.js +1 -1
- package/dist/calcite/p-00811dc7.entry.js +7 -0
- package/dist/calcite/p-035c5daa.entry.js +7 -0
- package/dist/calcite/p-035c5daa.entry.js.map +1 -0
- package/dist/calcite/p-0625872c.js +7 -0
- package/dist/calcite/p-084add8e.js +7 -0
- package/dist/calcite/p-0c9f0b66.js +7 -0
- package/dist/calcite/p-10b76a2b.js +7 -0
- package/dist/calcite/p-120a39ca.js +7 -0
- package/dist/calcite/p-12eb1f3a.entry.js +7 -0
- package/dist/calcite/p-139e85d4.entry.js +7 -0
- package/dist/calcite/p-18359ae7.js +7 -0
- package/dist/calcite/p-184d4d53.entry.js +7 -0
- package/dist/calcite/p-1a280990.entry.js +7 -0
- package/dist/calcite/p-1ad245bb.entry.js +7 -0
- package/dist/calcite/p-1bd1e6ee.entry.js +7 -0
- package/dist/calcite/p-1cd75980.entry.js +7 -0
- package/dist/calcite/p-1df035e4.js +7 -0
- package/dist/calcite/p-224935be.js +7 -0
- package/dist/calcite/p-240b0637.js +7 -0
- package/dist/calcite/p-24764169.entry.js +7 -0
- package/dist/calcite/p-24ff5e2e.entry.js +7 -0
- package/dist/calcite/p-25b93e8a.entry.js +7 -0
- package/dist/calcite/p-26b601d9.entry.js +7 -0
- package/dist/calcite/p-26bbbef5.entry.js +7 -0
- package/dist/calcite/p-27d87a26.js +7 -0
- package/dist/calcite/p-280bd05c.entry.js +7 -0
- package/dist/calcite/p-28e04e26.entry.js +7 -0
- package/dist/calcite/p-29caad14.entry.js +7 -0
- package/dist/calcite/p-2a711503.js +7 -0
- package/dist/calcite/p-2bef44f9.js +7 -0
- package/dist/calcite/p-2cf51e6d.js +7 -0
- package/dist/calcite/p-2dfd3047.js +7 -0
- package/dist/calcite/p-2e3c48c4.js +7 -0
- package/dist/calcite/p-31793816.entry.js +7 -0
- package/dist/calcite/p-339f4a81.js +7 -0
- package/dist/calcite/p-371c0aa9.entry.js +7 -0
- package/dist/calcite/p-371c0aa9.entry.js.map +1 -0
- package/dist/calcite/p-38900907.js +7 -0
- package/dist/calcite/p-3e5c5492.entry.js +7 -0
- package/dist/calcite/p-3f517577.entry.js +7 -0
- package/dist/calcite/p-417aab79.entry.js +7 -0
- package/dist/calcite/p-4291e86c.js +7 -0
- package/dist/calcite/p-42c60e95.js +7 -0
- package/dist/calcite/p-437f681a.js +7 -0
- package/dist/calcite/p-444be2f5.entry.js +7 -0
- package/dist/calcite/p-4645e371.js +7 -0
- package/dist/calcite/p-46fe3554.js +7 -0
- package/dist/calcite/p-478951ea.entry.js +7 -0
- package/dist/calcite/p-478951ea.entry.js.map +1 -0
- package/dist/calcite/p-47968591.js +7 -0
- package/dist/calcite/p-47ca1d8e.entry.js +7 -0
- package/dist/calcite/p-49c579e5.js +7 -0
- package/dist/calcite/p-4c369960.entry.js +7 -0
- package/dist/calcite/p-4c508da2.entry.js +7 -0
- package/dist/calcite/p-4f02bed9.js +7 -0
- package/dist/calcite/p-4f8c75d5.entry.js +7 -0
- package/dist/calcite/p-50251139.entry.js +7 -0
- package/dist/calcite/p-51275203.entry.js +7 -0
- package/dist/calcite/p-5186eed6.entry.js +7 -0
- package/dist/calcite/p-5685acb6.entry.js +7 -0
- package/dist/calcite/p-5685acb6.entry.js.map +1 -0
- package/dist/calcite/p-59521fdf.js +7 -0
- package/dist/calcite/p-5e22872e.js +7 -0
- package/dist/calcite/p-5e43ab83.entry.js +7 -0
- package/dist/calcite/p-5e92e1ad.entry.js +7 -0
- package/dist/calcite/p-6079fdc2.js +7 -0
- package/dist/calcite/p-607e71d8.entry.js +7 -0
- package/dist/calcite/p-607e71d8.entry.js.map +1 -0
- package/dist/calcite/p-622cc688.js +7 -0
- package/dist/calcite/p-628662c2.js +7 -0
- package/dist/calcite/p-641e9058.entry.js +7 -0
- package/dist/calcite/p-641e9058.entry.js.map +1 -0
- package/dist/calcite/p-669bc42a.js +7 -0
- package/dist/calcite/p-686f0c7c.entry.js +7 -0
- package/dist/calcite/p-6a1531cd.entry.js +7 -0
- package/dist/calcite/p-6b06781e.js +7 -0
- package/dist/calcite/p-6d014b44.entry.js +7 -0
- package/dist/calcite/p-6dbace39.entry.js +7 -0
- package/dist/calcite/p-6f77b6f1.js +7 -0
- package/dist/calcite/p-7071a823.js +7 -0
- package/dist/calcite/p-742e73a7.js +7 -0
- package/dist/calcite/p-74c69a65.js +7 -0
- package/dist/calcite/p-76c93eaf.js +7 -0
- package/dist/calcite/p-77547406.js +7 -0
- package/dist/calcite/p-78aae094.js +7 -0
- package/dist/calcite/p-7f347a1b.js +7 -0
- package/dist/calcite/p-7f347a1b.js.map +1 -0
- package/dist/calcite/p-81f6135e.entry.js +7 -0
- package/dist/calcite/p-829b93e3.js +7 -0
- package/dist/calcite/p-84ecb43d.entry.js +7 -0
- package/dist/calcite/p-8624b17c.js +7 -0
- package/dist/calcite/p-873f857b.js +7 -0
- package/dist/calcite/p-8786d071.js +7 -0
- package/dist/calcite/p-8893aba2.js +7 -0
- package/dist/calcite/p-88e135c5.entry.js +7 -0
- package/dist/calcite/p-8c52a1c8.js +7 -0
- package/dist/calcite/p-8c990585.entry.js +7 -0
- package/dist/calcite/p-8e00e760.js +7 -0
- package/dist/calcite/p-8fa97612.js +12 -0
- package/dist/calcite/p-95d85b7f.entry.js +7 -0
- package/dist/calcite/p-96bdb910.entry.js +7 -0
- package/dist/calcite/p-9717bac8.entry.js +7 -0
- package/dist/calcite/p-996459ff.js +7 -0
- package/dist/calcite/p-9966e031.entry.js +7 -0
- package/dist/calcite/p-9a746419.entry.js +7 -0
- package/dist/calcite/p-9a746419.entry.js.map +1 -0
- package/dist/calcite/p-9ae388ae.js +7 -0
- package/dist/calcite/p-9e840fe0.js +7 -0
- package/dist/calcite/p-a017bb90.js +7 -0
- package/dist/calcite/p-a01a6712.js +7 -0
- package/dist/calcite/p-a060c594.entry.js +7 -0
- package/dist/calcite/p-a060c594.entry.js.map +1 -0
- package/dist/calcite/p-a578d140.js +7 -0
- package/dist/calcite/p-a729c4f3.js +7 -0
- package/dist/calcite/p-a8923d3c.entry.js +7 -0
- package/dist/calcite/p-ae62a83c.js +7 -0
- package/dist/calcite/p-b000d861.js +7 -0
- package/dist/calcite/p-b09c39cd.js +7 -0
- package/dist/calcite/p-b122cc2d.entry.js +7 -0
- package/dist/calcite/p-b204681b.js +7 -0
- package/dist/calcite/p-b2567815.js +11 -0
- package/dist/calcite/p-b2d95cee.entry.js +7 -0
- package/dist/calcite/p-b349c937.js +7 -0
- package/dist/calcite/p-b49ccbb3.entry.js +7 -0
- package/dist/calcite/p-b7d78227.entry.js +7 -0
- package/dist/calcite/p-b7d78227.entry.js.map +1 -0
- package/dist/calcite/p-b7dacf13.js +7 -0
- package/dist/calcite/p-bd6cd55c.js +7 -0
- package/dist/calcite/p-beacae6b.entry.js +7 -0
- package/dist/calcite/p-bf94a9da.js +13 -0
- package/dist/calcite/p-c0a21175.js +7 -0
- package/dist/calcite/p-c0c6ba81.js +7 -0
- package/dist/calcite/p-c11bfb4b.entry.js +7 -0
- package/dist/calcite/p-c163f727.js +7 -0
- package/dist/calcite/p-c3d682ca.entry.js +7 -0
- package/dist/calcite/p-c444d512.js +7 -0
- package/dist/calcite/p-c4d87776.js +7 -0
- package/dist/calcite/p-c6f03eb2.js +7 -0
- package/dist/calcite/p-c770f80e.js +7 -0
- package/dist/calcite/p-c848c82e.js +7 -0
- package/dist/calcite/p-c88443d6.entry.js +7 -0
- package/dist/calcite/p-cae107a5.entry.js +7 -0
- package/dist/calcite/p-cde608e0.js +7 -0
- package/dist/calcite/p-cf44a1d7.js +7 -0
- package/dist/calcite/p-cf8695c8.js +7 -0
- package/dist/calcite/p-d00db92c.entry.js +7 -0
- package/dist/calcite/p-d5db58bd.entry.js +7 -0
- package/dist/calcite/p-d5db58bd.entry.js.map +1 -0
- package/dist/calcite/p-d6caca6b.entry.js +7 -0
- package/dist/calcite/p-d6caca6b.entry.js.map +1 -0
- package/dist/calcite/p-dab6d405.entry.js +7 -0
- package/dist/calcite/p-e27243c0.js +7 -0
- package/dist/calcite/p-e3062192.js +7 -0
- package/dist/calcite/p-e37ad8c6.js +7 -0
- package/dist/calcite/p-e4be124e.js +7 -0
- package/dist/calcite/p-e6309157.js +7 -0
- package/dist/calcite/p-e7173f47.js +7 -0
- package/dist/calcite/p-e7771e7d.entry.js +7 -0
- package/dist/calcite/p-e778acdc.js +7 -0
- package/dist/calcite/p-e98961bb.js +8 -0
- package/dist/calcite/p-ef71966c.entry.js +7 -0
- package/dist/calcite/p-f0954ae0.entry.js +7 -0
- package/dist/calcite/p-f37fd38f.js +7 -0
- package/dist/calcite/p-f3e00de9.js +7 -0
- package/dist/calcite/p-f496ec2b.js +7 -0
- package/dist/calcite/p-f4e994e8.entry.js +7 -0
- package/dist/calcite/p-f738b6f5.entry.js +7 -0
- package/dist/calcite/p-fbe97994.js +7 -0
- package/dist/calcite/p-fcd20445.js +7 -0
- package/dist/calcite/p-fd042681.entry.js +7 -0
- package/dist/calcite/p-fd17f371.entry.js +7 -0
- package/dist/calcite/p-fe1ca82b.js +7 -0
- package/dist/calcite/p-fed6a5bf.js +7 -0
- package/dist/calcite-preset.js +1 -1
- package/dist/cjs/ExpandToggle-760eac8a.js +110 -0
- package/dist/cjs/ExpandToggle-760eac8a.js.map +1 -0
- package/dist/cjs/FloatingArrow-25ed9c5c.js +49 -0
- package/dist/cjs/FloatingArrow-25ed9c5c.js.map +1 -0
- package/dist/cjs/Heading-6936b968.js +22 -0
- package/dist/cjs/Heading-6936b968.js.map +1 -0
- package/dist/cjs/Validation-e2fd8241.js +18 -0
- package/dist/cjs/Validation-e2fd8241.js.map +1 -0
- package/dist/cjs/app-globals-28742352.js +61 -0
- package/dist/cjs/app-globals-28742352.js.map +1 -0
- package/dist/cjs/ar-b396d0cc.js +106 -0
- package/dist/cjs/ar-b396d0cc.js.map +1 -0
- package/dist/cjs/array-6246cd2f.js +14 -0
- package/dist/cjs/array-6246cd2f.js.map +1 -0
- package/dist/cjs/bg-49771309.js +84 -0
- package/dist/cjs/bg-49771309.js.map +1 -0
- package/dist/cjs/browser-9bea214b.js +20 -0
- package/dist/cjs/browser-9bea214b.js.map +1 -0
- package/dist/cjs/bs-f65a1d96.js +53 -0
- package/dist/cjs/bs-f65a1d96.js.map +1 -0
- package/dist/cjs/ca-797846a8.js +73 -0
- package/dist/cjs/ca-797846a8.js.map +1 -0
- package/dist/cjs/calcite-accordion_2.cjs.entry.js +8 -8
- package/dist/cjs/calcite-action-bar.cjs.entry.js +15 -15
- package/dist/cjs/calcite-action-group.cjs.entry.js +13 -13
- package/dist/cjs/calcite-action-menu.cjs.entry.js +9 -9
- package/dist/cjs/calcite-action-pad.cjs.entry.js +14 -14
- package/dist/cjs/calcite-action.cjs.entry.js +13 -13
- package/dist/cjs/calcite-alert.cjs.entry.js +13 -13
- package/dist/cjs/calcite-avatar.cjs.entry.js +6 -6
- package/dist/cjs/calcite-block_2.cjs.entry.js +15 -15
- package/dist/cjs/calcite-button.cjs.entry.js +15 -15
- package/dist/cjs/calcite-card.cjs.entry.js +10 -10
- package/dist/cjs/calcite-checkbox.cjs.entry.js +12 -12
- package/dist/cjs/calcite-chip-group.cjs.entry.js +9 -9
- package/dist/cjs/calcite-chip.cjs.entry.js +14 -14
- package/dist/cjs/calcite-color-picker_3.cjs.entry.js +16 -16
- package/dist/cjs/calcite-combobox_3.cjs.entry.js +22 -22
- package/dist/cjs/calcite-combobox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-date-picker_4.cjs.entry.js +15 -15
- package/dist/cjs/calcite-dropdown_3.cjs.entry.js +14 -14
- package/dist/cjs/calcite-fab.cjs.entry.js +8 -8
- package/dist/cjs/calcite-filter.cjs.entry.js +14 -14
- package/dist/cjs/calcite-flow-item.cjs.entry.js +14 -14
- package/dist/cjs/calcite-flow-item.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-flow.cjs.entry.js +4 -4
- package/dist/cjs/calcite-graph_2.cjs.entry.js +15 -15
- package/dist/cjs/calcite-handle.cjs.entry.js +12 -12
- package/dist/cjs/calcite-icon.cjs.entry.js +6 -6
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +14 -14
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +21 -21
- package/dist/cjs/calcite-input-message.cjs.entry.js +5 -5
- package/dist/cjs/calcite-input-number.cjs.entry.js +17 -17
- package/dist/cjs/calcite-input-text.cjs.entry.js +17 -17
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-2932e283.js +2918 -0
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-2932e283.js.map +1 -0
- package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +20 -20
- package/dist/cjs/calcite-input-time-zone.cjs.entry.js +17 -17
- package/dist/cjs/calcite-input.cjs.entry.js +17 -17
- package/dist/cjs/calcite-label.cjs.entry.js +7 -7
- package/dist/cjs/calcite-link.cjs.entry.js +8 -8
- package/dist/cjs/calcite-list_3.cjs.entry.js +15 -15
- package/dist/cjs/calcite-loader.cjs.entry.js +3 -3
- package/dist/cjs/calcite-menu_2.cjs.entry.js +10 -10
- package/dist/cjs/calcite-meter.cjs.entry.js +10 -10
- package/dist/cjs/calcite-modal.cjs.entry.js +14 -14
- package/dist/cjs/calcite-navigation_3.cjs.entry.js +6 -6
- package/dist/cjs/calcite-notice.cjs.entry.js +14 -14
- package/dist/cjs/calcite-option_3.cjs.entry.js +13 -13
- package/dist/cjs/calcite-pagination.cjs.entry.js +12 -12
- package/dist/cjs/calcite-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-panel.cjs.entry.js +16 -16
- package/dist/cjs/calcite-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-pick-list_3.cjs.entry.js +17 -17
- package/dist/cjs/calcite-popover.cjs.entry.js +17 -17
- package/dist/cjs/calcite-progress.cjs.entry.js +5 -5
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +5 -5
- package/dist/cjs/calcite-radio-button.cjs.entry.js +12 -12
- package/dist/cjs/calcite-rating.cjs.entry.js +15 -15
- package/dist/cjs/calcite-scrim.cjs.entry.js +9 -9
- package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +13 -13
- package/dist/cjs/calcite-sheet.cjs.entry.js +9 -9
- package/dist/cjs/calcite-shell_3.cjs.entry.js +11 -11
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +9 -9
- package/dist/cjs/calcite-split-button.cjs.entry.js +5 -5
- package/dist/cjs/calcite-stack.cjs.entry.js +6 -6
- package/dist/cjs/calcite-stepper_2.cjs.entry.js +29 -31
- package/dist/cjs/calcite-stepper_2.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-switch.cjs.entry.js +12 -12
- package/dist/cjs/calcite-tab_4.cjs.entry.js +12 -12
- package/dist/cjs/calcite-table-cell_2.cjs.entry.js +27 -17
- package/dist/cjs/calcite-table-cell_2.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-table-row.cjs.entry.js +75 -69
- package/dist/cjs/calcite-table-row.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-table.cjs.entry.js +14 -11
- package/dist/cjs/calcite-table.cjs.entry.js.map +1 -1
- package/dist/cjs/calcite-text-area.cjs.entry.js +19 -19
- package/dist/cjs/calcite-tile-select_2.cjs.entry.js +6 -6
- package/dist/cjs/calcite-tile.cjs.entry.js +7 -7
- package/dist/cjs/calcite-tip_3.cjs.entry.js +11 -11
- package/dist/cjs/calcite-tooltip.cjs.entry.js +9 -9
- package/dist/cjs/calcite-tree_2.cjs.entry.js +10 -10
- package/dist/cjs/calcite-value-list_2.cjs.entry.js +17 -17
- package/dist/cjs/calcite.cjs.js +5 -5
- package/dist/cjs/component-da204f58.js +30 -0
- package/dist/cjs/component-da204f58.js.map +1 -0
- package/dist/cjs/conditionalSlot-d5984a21.js +60 -0
- package/dist/cjs/conditionalSlot-d5984a21.js.map +1 -0
- package/dist/cjs/cs-58c96abf.js +149 -0
- package/dist/cjs/cs-58c96abf.js.map +1 -0
- package/dist/cjs/da-dc334d8d.js +68 -0
- package/dist/cjs/da-dc334d8d.js.map +1 -0
- package/dist/cjs/de-627d865e.js +93 -0
- package/dist/cjs/de-627d865e.js.map +1 -0
- package/dist/cjs/de-at-925976e4.js +92 -0
- package/dist/cjs/de-at-925976e4.js.map +1 -0
- package/dist/cjs/de-ch-dc946688.js +92 -0
- package/dist/cjs/de-ch-dc946688.js.map +1 -0
- package/dist/cjs/debounce-3e399ca6.js +498 -0
- package/dist/cjs/debounce-3e399ca6.js.map +1 -0
- package/dist/cjs/dom-7578a1d4.js +1084 -0
- package/dist/cjs/dom-7578a1d4.js.map +1 -0
- package/dist/cjs/el-1fb82c23.js +68 -0
- package/dist/cjs/el-1fb82c23.js.map +1 -0
- package/dist/cjs/en-au-dcbf41d3.js +68 -0
- package/dist/cjs/en-au-dcbf41d3.js.map +1 -0
- package/dist/cjs/en-ca-00a358c4.js +67 -0
- package/dist/cjs/en-ca-00a358c4.js.map +1 -0
- package/dist/cjs/en-gb-b7f19ce2.js +71 -0
- package/dist/cjs/en-gb-b7f19ce2.js.map +1 -0
- package/dist/cjs/es-923103ec.js +68 -0
- package/dist/cjs/es-923103ec.js.map +1 -0
- package/dist/cjs/es-mx-5dd31a56.js +67 -0
- package/dist/cjs/es-mx-5dd31a56.js.map +1 -0
- package/dist/cjs/et-0340dd29.js +94 -0
- package/dist/cjs/et-0340dd29.js.map +1 -0
- package/dist/cjs/fi-177fd413.js +117 -0
- package/dist/cjs/fi-177fd413.js.map +1 -0
- package/dist/cjs/filter-f4b8843f.js +762 -0
- package/dist/cjs/filter-f4b8843f.js.map +1 -0
- package/dist/cjs/floating-ui-7287e848.js +1965 -0
- package/dist/cjs/floating-ui-7287e848.js.map +1 -0
- package/dist/cjs/focusTrapComponent-3bc219cc.js +1020 -0
- package/dist/cjs/focusTrapComponent-3bc219cc.js.map +1 -0
- package/dist/cjs/form-9502ee56.js +333 -0
- package/dist/cjs/form-9502ee56.js.map +1 -0
- package/dist/cjs/fr-3d0e0a04.js +70 -0
- package/dist/cjs/fr-3d0e0a04.js.map +1 -0
- package/dist/cjs/fr-ch-e6689012.js +68 -0
- package/dist/cjs/fr-ch-e6689012.js.map +1 -0
- package/dist/cjs/guid-acf410ab.js +23 -0
- package/dist/cjs/guid-acf410ab.js.map +1 -0
- package/dist/cjs/he-2a04e405.js +107 -0
- package/dist/cjs/he-2a04e405.js.map +1 -0
- package/dist/cjs/hi-73571b06.js +67 -0
- package/dist/cjs/hi-73571b06.js.map +1 -0
- package/dist/cjs/hr-6d01e6dd.js +82 -0
- package/dist/cjs/hr-6d01e6dd.js.map +1 -0
- package/dist/cjs/hu-9849b662.js +90 -0
- package/dist/cjs/hu-9849b662.js.map +1 -0
- package/dist/cjs/id-ff45160a.js +68 -0
- package/dist/cjs/id-ff45160a.js.map +1 -0
- package/dist/cjs/index-782e692c.js +2655 -0
- package/dist/cjs/index-782e692c.js.map +1 -0
- package/dist/cjs/index-d52293e3.js +75 -0
- package/dist/cjs/index-d52293e3.js.map +1 -0
- package/dist/cjs/index-fdbdd62e.js +208 -0
- package/dist/cjs/index-fdbdd62e.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/input-9dc2b926.js +57 -0
- package/dist/cjs/input-9dc2b926.js.map +1 -0
- package/dist/cjs/interactive-c57fecd3.js +141 -0
- package/dist/cjs/interactive-c57fecd3.js.map +1 -0
- package/dist/cjs/it-737eff00.js +68 -0
- package/dist/cjs/it-737eff00.js.map +1 -0
- package/dist/cjs/it-ch-7285b597.js +68 -0
- package/dist/cjs/it-ch-7285b597.js.map +1 -0
- package/dist/cjs/ja-ac377163.js +74 -0
- package/dist/cjs/ja-ac377163.js.map +1 -0
- package/dist/cjs/key-56bfdd9f.js +16 -0
- package/dist/cjs/key-56bfdd9f.js.map +1 -0
- package/dist/cjs/ko-80da28b5.js +74 -0
- package/dist/cjs/ko-80da28b5.js.map +1 -0
- package/dist/cjs/label-559895b1.js +183 -0
- package/dist/cjs/label-559895b1.js.map +1 -0
- package/dist/cjs/loadable-541807aa.js +91 -0
- package/dist/cjs/loadable-541807aa.js.map +1 -0
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/locale-4c916cec.js +576 -0
- package/dist/cjs/locale-4c916cec.js.map +1 -0
- package/dist/cjs/lt-c4e86d62.js +99 -0
- package/dist/cjs/lt-c4e86d62.js.map +1 -0
- package/dist/cjs/lv-29150ccd.js +68 -0
- package/dist/cjs/lv-29150ccd.js.map +1 -0
- package/dist/cjs/math-853fd449.js +57 -0
- package/dist/cjs/math-853fd449.js.map +1 -0
- package/dist/cjs/mk-9dc520be.js +68 -0
- package/dist/cjs/mk-9dc520be.js.map +1 -0
- package/dist/cjs/nb-dc502914.js +69 -0
- package/dist/cjs/nb-dc502914.js.map +1 -0
- package/dist/cjs/nl-1f8735ea.js +69 -0
- package/dist/cjs/nl-1f8735ea.js.map +1 -0
- package/dist/cjs/observers-17895322.js +50 -0
- package/dist/cjs/observers-17895322.js.map +1 -0
- package/dist/cjs/openCloseComponent-71649d3a.js +89 -0
- package/dist/cjs/openCloseComponent-71649d3a.js.map +1 -0
- package/dist/cjs/pl-6ce9b526.js +116 -0
- package/dist/cjs/pl-6ce9b526.js.map +1 -0
- package/dist/cjs/pt-64040ed8.js +69 -0
- package/dist/cjs/pt-64040ed8.js.map +1 -0
- package/dist/cjs/pt-br-0fb26054.js +67 -0
- package/dist/cjs/pt-br-0fb26054.js.map +1 -0
- package/dist/cjs/resources-12630921.js +49 -0
- package/dist/cjs/resources-12630921.js.map +1 -0
- package/dist/cjs/resources-5ba2556a.js +23 -0
- package/dist/cjs/resources-5ba2556a.js.map +1 -0
- package/dist/cjs/resources-a68345f3.js +26 -0
- package/dist/cjs/resources-a68345f3.js.map +1 -0
- package/dist/cjs/resources-d26fb905.js +414 -0
- package/dist/cjs/resources-d26fb905.js.map +1 -0
- package/dist/cjs/resources-d87baa56.js +17 -0
- package/dist/cjs/resources-d87baa56.js.map +1 -0
- package/dist/cjs/resources-eb571ac5.js +26 -0
- package/dist/cjs/resources-eb571ac5.js.map +1 -0
- package/dist/cjs/resources-f7c47fe3.js +29 -0
- package/dist/cjs/resources-f7c47fe3.js.map +1 -0
- package/dist/cjs/ro-90e9b970.js +68 -0
- package/dist/cjs/ro-90e9b970.js.map +1 -0
- package/dist/cjs/ru-6f8dd2ae.js +128 -0
- package/dist/cjs/ru-6f8dd2ae.js.map +1 -0
- package/dist/cjs/sk-5e6626fe.js +150 -0
- package/dist/cjs/sk-5e6626fe.js.map +1 -0
- package/dist/cjs/sl-0c48cee7.js +170 -0
- package/dist/cjs/sl-0c48cee7.js.map +1 -0
- package/dist/cjs/sortableComponent-8b44726a.js +2739 -0
- package/dist/cjs/sortableComponent-8b44726a.js.map +1 -0
- package/dist/cjs/sr-d2bce4f6.js +103 -0
- package/dist/cjs/sr-d2bce4f6.js.map +1 -0
- package/dist/cjs/sv-f3d07591.js +73 -0
- package/dist/cjs/sv-f3d07591.js.map +1 -0
- package/dist/cjs/t9n-84b57d1e.js +97 -0
- package/dist/cjs/t9n-84b57d1e.js.map +1 -0
- package/dist/cjs/th-773e6a28.js +67 -0
- package/dist/cjs/th-773e6a28.js.map +1 -0
- package/dist/cjs/throttle-137a2f4e.js +77 -0
- package/dist/cjs/throttle-137a2f4e.js.map +1 -0
- package/dist/cjs/tr-c36d89fa.js +68 -0
- package/dist/cjs/tr-c36d89fa.js.map +1 -0
- package/dist/cjs/uk-c9fb2b01.js +106 -0
- package/dist/cjs/uk-c9fb2b01.js.map +1 -0
- package/dist/cjs/utils-046d968a.js +218 -0
- package/dist/cjs/utils-046d968a.js.map +1 -0
- package/dist/cjs/utils-70100f02.js +307 -0
- package/dist/cjs/utils-70100f02.js.map +1 -0
- package/dist/cjs/vi-13584ffc.js +72 -0
- package/dist/cjs/vi-13584ffc.js.map +1 -0
- package/dist/cjs/zh-cn-f1fda097.js +96 -0
- package/dist/cjs/zh-cn-f1fda097.js.map +1 -0
- package/dist/cjs/zh-hk-f8a7cd3c.js +73 -0
- package/dist/cjs/zh-hk-f8a7cd3c.js.map +1 -0
- package/dist/cjs/zh-tw-83282a46.js +94 -0
- package/dist/cjs/zh-tw-83282a46.js.map +1 -0
- package/dist/collection/components/accordion/accordion.css +5 -5
- package/dist/collection/components/accordion/accordion.e2e.js +1 -1
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion-item/accordion-item.css +5 -5
- package/dist/collection/components/accordion-item/accordion-item.e2e.js +1 -1
- package/dist/collection/components/accordion-item/accordion-item.js +1 -1
- package/dist/collection/components/accordion-item/resources.js +1 -1
- package/dist/collection/components/action/action.css +5 -5
- package/dist/collection/components/action/action.e2e.js +1 -1
- package/dist/collection/components/action/action.js +1 -1
- package/dist/collection/components/action/resources.js +1 -1
- package/dist/collection/components/action-bar/action-bar.css +5 -5
- package/dist/collection/components/action-bar/action-bar.e2e.js +1 -1
- package/dist/collection/components/action-bar/action-bar.js +1 -1
- package/dist/collection/components/action-bar/resources.js +1 -1
- package/dist/collection/components/action-bar/utils.js +1 -1
- package/dist/collection/components/action-group/action-group.css +5 -5
- package/dist/collection/components/action-group/action-group.e2e.js +1 -1
- package/dist/collection/components/action-group/action-group.js +1 -1
- package/dist/collection/components/action-group/resources.js +1 -1
- package/dist/collection/components/action-menu/action-menu.css +5 -5
- package/dist/collection/components/action-menu/action-menu.e2e.js +1 -1
- package/dist/collection/components/action-menu/action-menu.js +1 -1
- package/dist/collection/components/action-menu/resources.js +1 -1
- package/dist/collection/components/action-pad/action-pad.css +5 -5
- package/dist/collection/components/action-pad/action-pad.e2e.js +1 -1
- package/dist/collection/components/action-pad/action-pad.js +1 -1
- package/dist/collection/components/action-pad/resources.js +1 -1
- package/dist/collection/components/alert/alert.css +5 -5
- package/dist/collection/components/alert/alert.e2e.js +1 -1
- package/dist/collection/components/alert/alert.js +1 -1
- package/dist/collection/components/alert/resources.js +1 -1
- package/dist/collection/components/avatar/avatar.css +5 -5
- package/dist/collection/components/avatar/avatar.e2e.js +1 -1
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/avatar/avatar.spec.js +1 -1
- package/dist/collection/components/avatar/utils.js +1 -1
- package/dist/collection/components/block/block.css +5 -5
- package/dist/collection/components/block/block.e2e.js +1 -1
- package/dist/collection/components/block/block.js +1 -1
- package/dist/collection/components/block/resources.js +1 -1
- package/dist/collection/components/block-section/block-section.css +5 -5
- package/dist/collection/components/block-section/block-section.e2e.js +1 -1
- package/dist/collection/components/block-section/block-section.js +1 -1
- package/dist/collection/components/block-section/resources.js +1 -1
- package/dist/collection/components/button/button.css +5 -5
- package/dist/collection/components/button/button.e2e.js +1 -1
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/button/resources.js +1 -1
- package/dist/collection/components/card/card.css +5 -5
- package/dist/collection/components/card/card.e2e.js +1 -1
- package/dist/collection/components/card/card.js +1 -1
- package/dist/collection/components/card/resources.js +1 -1
- package/dist/collection/components/checkbox/checkbox.css +5 -5
- package/dist/collection/components/checkbox/checkbox.e2e.js +1 -1
- package/dist/collection/components/checkbox/checkbox.js +1 -1
- package/dist/collection/components/chip/chip.css +5 -5
- package/dist/collection/components/chip/chip.e2e.js +1 -1
- package/dist/collection/components/chip/chip.js +1 -1
- package/dist/collection/components/chip/resources.js +1 -1
- package/dist/collection/components/chip-group/chip-group.css +5 -5
- package/dist/collection/components/chip-group/chip-group.e2e.js +1 -1
- package/dist/collection/components/chip-group/chip-group.js +1 -1
- package/dist/collection/components/color-picker/color-picker.css +5 -5
- package/dist/collection/components/color-picker/color-picker.e2e.js +1 -1
- package/dist/collection/components/color-picker/color-picker.js +1 -1
- package/dist/collection/components/color-picker/resources.js +1 -1
- package/dist/collection/components/color-picker/utils.js +1 -1
- package/dist/collection/components/color-picker/utils.spec.js +1 -1
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.css +5 -5
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.e2e.js +1 -1
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +1 -1
- package/dist/collection/components/color-picker-hex-input/resources.js +1 -1
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.css +5 -5
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.e2e.js +1 -1
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +1 -1
- package/dist/collection/components/color-picker-swatch/resources.js +1 -1
- package/dist/collection/components/combobox/combobox.css +5 -5
- package/dist/collection/components/combobox/combobox.e2e.js +1 -1
- package/dist/collection/components/combobox/combobox.js +1 -1
- package/dist/collection/components/combobox/resources.js +1 -1
- package/dist/collection/components/combobox/utils.js +1 -1
- package/dist/collection/components/combobox-item/combobox-item.css +5 -5
- package/dist/collection/components/combobox-item/combobox-item.e2e.js +1 -1
- package/dist/collection/components/combobox-item/combobox-item.js +1 -1
- package/dist/collection/components/combobox-item/resources.js +1 -1
- package/dist/collection/components/combobox-item-group/combobox-item-group.css +5 -5
- package/dist/collection/components/combobox-item-group/combobox-item-group.js +1 -1
- package/dist/collection/components/combobox-item-group/resources.js +1 -1
- package/dist/collection/components/date-picker/date-picker.css +5 -5
- package/dist/collection/components/date-picker/date-picker.e2e.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +1 -1
- package/dist/collection/components/date-picker/resources.js +1 -1
- package/dist/collection/components/date-picker/utils.js +1 -1
- package/dist/collection/components/date-picker/utils.spec.js +1 -1
- package/dist/collection/components/date-picker-day/date-picker-day.css +5 -5
- package/dist/collection/components/date-picker-day/date-picker-day.e2e.js +1 -1
- package/dist/collection/components/date-picker-day/date-picker-day.js +1 -1
- package/dist/collection/components/date-picker-month/date-picker-month.css +5 -5
- package/dist/collection/components/date-picker-month/date-picker-month.js +1 -1
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.css +5 -5
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.e2e.js +1 -1
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +1 -1
- package/dist/collection/components/date-picker-month-header/resources.js +1 -1
- package/dist/collection/components/dropdown/dropdown.css +5 -5
- package/dist/collection/components/dropdown/dropdown.e2e.js +1 -1
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/dropdown/resources.js +1 -1
- package/dist/collection/components/dropdown-group/dropdown-group.css +5 -5
- package/dist/collection/components/dropdown-group/dropdown-group.e2e.js +1 -1
- package/dist/collection/components/dropdown-group/dropdown-group.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +5 -5
- package/dist/collection/components/dropdown-item/dropdown-item.e2e.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
- package/dist/collection/components/dropdown-item/resources.js +1 -1
- package/dist/collection/components/fab/fab.css +5 -5
- package/dist/collection/components/fab/fab.e2e.js +1 -1
- package/dist/collection/components/fab/fab.js +1 -1
- package/dist/collection/components/fab/resources.js +1 -1
- package/dist/collection/components/filter/filter.css +5 -5
- package/dist/collection/components/filter/filter.e2e.js +1 -1
- package/dist/collection/components/filter/filter.js +1 -1
- package/dist/collection/components/filter/resources.js +1 -1
- package/dist/collection/components/flow/flow.css +5 -5
- package/dist/collection/components/flow/flow.e2e.js +1 -1
- package/dist/collection/components/flow/flow.js +1 -1
- package/dist/collection/components/flow/resources.js +1 -1
- package/dist/collection/components/flow-item/flow-item.css +6 -5
- package/dist/collection/components/flow-item/flow-item.e2e.js +1 -1
- package/dist/collection/components/flow-item/flow-item.js +1 -1
- package/dist/collection/components/flow-item/resources.js +1 -1
- package/dist/collection/components/functional/ExpandToggle.js +1 -1
- package/dist/collection/components/functional/FloatingArrow.js +1 -1
- package/dist/collection/components/functional/Heading.js +1 -1
- package/dist/collection/components/functional/Heading.spec.js +1 -1
- package/dist/collection/components/functional/Validation.js +1 -1
- package/dist/collection/components/functional/XButton.js +1 -1
- package/dist/collection/components/graph/graph.css +5 -5
- package/dist/collection/components/graph/graph.e2e.js +1 -1
- package/dist/collection/components/graph/graph.js +1 -1
- package/dist/collection/components/graph/util.js +1 -1
- package/dist/collection/components/handle/handle.css +5 -5
- package/dist/collection/components/handle/handle.e2e.js +1 -1
- package/dist/collection/components/handle/handle.js +1 -1
- package/dist/collection/components/handle/resources.js +1 -1
- package/dist/collection/components/icon/icon.css +5 -5
- package/dist/collection/components/icon/icon.e2e.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon/resources.js +1 -1
- package/dist/collection/components/icon/utils.js +1 -1
- package/dist/collection/components/icon/utils.spec.js +1 -1
- package/dist/collection/components/inline-editable/inline-editable.css +5 -5
- package/dist/collection/components/inline-editable/inline-editable.e2e.js +1 -1
- package/dist/collection/components/inline-editable/inline-editable.js +1 -1
- package/dist/collection/components/inline-editable/resources.js +1 -1
- package/dist/collection/components/input/common/input.js +1 -1
- package/dist/collection/components/input/common/input.spec.js +7 -7
- package/dist/collection/components/input/common/input.spec.js.map +1 -1
- package/dist/collection/components/input/common/tests.js +1 -1
- package/dist/collection/components/input/input.css +5 -5
- package/dist/collection/components/input/input.e2e.js +1 -1
- package/dist/collection/components/input/input.js +1 -1
- package/dist/collection/components/input/resources.js +1 -1
- package/dist/collection/components/input-date-picker/input-date-picker.css +5 -5
- package/dist/collection/components/input-date-picker/input-date-picker.e2e.js +1 -1
- package/dist/collection/components/input-date-picker/input-date-picker.js +1 -1
- package/dist/collection/components/input-date-picker/resources.js +1 -1
- package/dist/collection/components/input-date-picker/util.spec.js +1 -1
- package/dist/collection/components/input-date-picker/utils.js +1 -1
- package/dist/collection/components/input-message/input-message.css +5 -5
- package/dist/collection/components/input-message/input-message.e2e.js +1 -1
- package/dist/collection/components/input-message/input-message.js +1 -1
- package/dist/collection/components/input-message/interfaces.js +1 -1
- package/dist/collection/components/input-number/input-number.css +5 -5
- package/dist/collection/components/input-number/input-number.e2e.js +1 -1
- package/dist/collection/components/input-number/input-number.js +1 -1
- package/dist/collection/components/input-number/resources.js +1 -1
- package/dist/collection/components/input-text/input-text.css +5 -5
- package/dist/collection/components/input-text/input-text.e2e.js +1 -1
- package/dist/collection/components/input-text/input-text.js +1 -1
- package/dist/collection/components/input-text/resources.js +1 -1
- package/dist/collection/components/input-time-picker/input-time-picker.css +5 -5
- package/dist/collection/components/input-time-picker/input-time-picker.e2e.js +1 -1
- package/dist/collection/components/input-time-picker/input-time-picker.js +1 -1
- package/dist/collection/components/input-time-picker/resources.js +1 -1
- package/dist/collection/components/input-time-zone/input-time-zone.css +5 -5
- package/dist/collection/components/input-time-zone/input-time-zone.e2e.js +1 -1
- package/dist/collection/components/input-time-zone/input-time-zone.js +1 -1
- package/dist/collection/components/input-time-zone/utils.js +1 -1
- package/dist/collection/components/label/label.css +5 -5
- package/dist/collection/components/label/label.e2e.js +1 -1
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/label/resources.js +1 -1
- package/dist/collection/components/link/link.css +5 -5
- package/dist/collection/components/link/link.e2e.js +1 -1
- package/dist/collection/components/link/link.js +1 -1
- package/dist/collection/components/list/list.css +5 -5
- package/dist/collection/components/list/list.e2e.js +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list/resources.js +1 -1
- package/dist/collection/components/list-item/list-item.css +5 -5
- package/dist/collection/components/list-item/list-item.e2e.js +1 -1
- package/dist/collection/components/list-item/list-item.js +1 -1
- package/dist/collection/components/list-item/resources.js +1 -1
- package/dist/collection/components/list-item/utils.js +1 -1
- package/dist/collection/components/list-item-group/list-item-group.css +5 -5
- package/dist/collection/components/list-item-group/list-item-group.e2e.js +1 -1
- package/dist/collection/components/list-item-group/list-item-group.js +1 -1
- package/dist/collection/components/list-item-group/resources.js +1 -1
- package/dist/collection/components/loader/loader.css +5 -5
- package/dist/collection/components/loader/loader.e2e.js +1 -1
- package/dist/collection/components/loader/loader.js +1 -1
- package/dist/collection/components/menu/menu.css +5 -5
- package/dist/collection/components/menu/menu.e2e.js +1 -1
- package/dist/collection/components/menu/menu.js +1 -1
- package/dist/collection/components/menu-item/menu-item.css +5 -5
- package/dist/collection/components/menu-item/menu-item.e2e.js +1 -1
- package/dist/collection/components/menu-item/menu-item.js +1 -1
- package/dist/collection/components/menu-item/resources.js +1 -1
- package/dist/collection/components/meter/meter.css +5 -5
- package/dist/collection/components/meter/meter.e2e.js +1 -1
- package/dist/collection/components/meter/meter.js +1 -1
- package/dist/collection/components/meter/resources.js +1 -1
- package/dist/collection/components/modal/modal.css +6 -6
- package/dist/collection/components/modal/modal.e2e.js +1 -1
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/modal/resources.js +1 -1
- package/dist/collection/components/navigation/navigation.css +5 -5
- package/dist/collection/components/navigation/navigation.e2e.js +1 -1
- package/dist/collection/components/navigation/navigation.js +1 -1
- package/dist/collection/components/navigation/resources.js +1 -1
- package/dist/collection/components/navigation-logo/navigation-logo.css +5 -5
- package/dist/collection/components/navigation-logo/navigation-logo.e2e.js +1 -1
- package/dist/collection/components/navigation-logo/navigation-logo.js +1 -1
- package/dist/collection/components/navigation-logo/resources.js +1 -1
- package/dist/collection/components/navigation-user/navigation-user.css +5 -5
- package/dist/collection/components/navigation-user/navigation-user.e2e.js +1 -1
- package/dist/collection/components/navigation-user/navigation-user.js +1 -1
- package/dist/collection/components/navigation-user/resources.js +1 -1
- package/dist/collection/components/notice/notice.css +5 -5
- package/dist/collection/components/notice/notice.e2e.js +1 -1
- package/dist/collection/components/notice/notice.js +1 -1
- package/dist/collection/components/notice/resources.js +1 -1
- package/dist/collection/components/option/option.css +5 -5
- package/dist/collection/components/option/option.e2e.js +1 -1
- package/dist/collection/components/option/option.js +1 -1
- package/dist/collection/components/option-group/option-group.css +5 -5
- package/dist/collection/components/option-group/option-group.e2e.js +1 -1
- package/dist/collection/components/option-group/option-group.js +1 -1
- package/dist/collection/components/pagination/pagination.css +5 -5
- package/dist/collection/components/pagination/pagination.e2e.js +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/pagination/resources.js +1 -1
- package/dist/collection/components/panel/panel.css +6 -5
- package/dist/collection/components/panel/panel.e2e.js +1 -1
- package/dist/collection/components/panel/panel.js +1 -1
- package/dist/collection/components/panel/resources.js +1 -1
- package/dist/collection/components/pick-list/pick-list.css +5 -5
- package/dist/collection/components/pick-list/pick-list.e2e.js +1 -1
- package/dist/collection/components/pick-list/pick-list.js +1 -1
- package/dist/collection/components/pick-list/resources.js +1 -1
- package/dist/collection/components/pick-list/shared-list-logic.js +1 -1
- package/dist/collection/components/pick-list/shared-list-render.js +1 -1
- package/dist/collection/components/pick-list/shared-list-tests.js +1 -1
- package/dist/collection/components/pick-list-group/pick-list-group.css +5 -5
- package/dist/collection/components/pick-list-group/pick-list-group.e2e.js +1 -1
- package/dist/collection/components/pick-list-group/pick-list-group.js +1 -1
- package/dist/collection/components/pick-list-group/resources.js +1 -1
- package/dist/collection/components/pick-list-item/pick-list-item.css +5 -5
- package/dist/collection/components/pick-list-item/pick-list-item.e2e.js +1 -1
- package/dist/collection/components/pick-list-item/pick-list-item.js +1 -1
- package/dist/collection/components/pick-list-item/resources.js +1 -1
- package/dist/collection/components/popover/PopoverManager.js +1 -1
- package/dist/collection/components/popover/popover.css +5 -5
- package/dist/collection/components/popover/popover.e2e.js +1 -1
- package/dist/collection/components/popover/popover.js +1 -1
- package/dist/collection/components/popover/resources.js +1 -1
- package/dist/collection/components/progress/progress.css +5 -5
- package/dist/collection/components/progress/progress.e2e.js +1 -1
- package/dist/collection/components/progress/progress.js +1 -1
- package/dist/collection/components/radio-button/radio-button.css +5 -5
- package/dist/collection/components/radio-button/radio-button.e2e.js +1 -1
- package/dist/collection/components/radio-button/radio-button.js +1 -1
- package/dist/collection/components/radio-button/resources.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.css +5 -5
- package/dist/collection/components/radio-button-group/radio-button-group.e2e.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/radio-button-group/resources.js +1 -1
- package/dist/collection/components/rating/functional/star.js +1 -1
- package/dist/collection/components/rating/rating.css +5 -5
- package/dist/collection/components/rating/rating.e2e.js +1 -1
- package/dist/collection/components/rating/rating.js +1 -1
- package/dist/collection/components/resources.js +1 -1
- package/dist/collection/components/scrim/resources.js +1 -1
- package/dist/collection/components/scrim/scrim.css +5 -5
- package/dist/collection/components/scrim/scrim.e2e.js +1 -1
- package/dist/collection/components/scrim/scrim.js +1 -1
- package/dist/collection/components/segmented-control/resources.js +1 -1
- package/dist/collection/components/segmented-control/segmented-control.css +5 -5
- package/dist/collection/components/segmented-control/segmented-control.e2e.js +1 -1
- package/dist/collection/components/segmented-control/segmented-control.js +1 -1
- package/dist/collection/components/segmented-control-item/resources.js +1 -1
- package/dist/collection/components/segmented-control-item/segmented-control-item.css +5 -5
- package/dist/collection/components/segmented-control-item/segmented-control-item.e2e.js +1 -1
- package/dist/collection/components/segmented-control-item/segmented-control-item.js +1 -1
- package/dist/collection/components/select/resources.js +1 -1
- package/dist/collection/components/select/select.css +5 -5
- package/dist/collection/components/select/select.e2e.js +1 -1
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/sheet/resources.js +1 -1
- package/dist/collection/components/sheet/sheet.css +5 -5
- package/dist/collection/components/sheet/sheet.e2e.js +1 -1
- package/dist/collection/components/sheet/sheet.js +1 -1
- package/dist/collection/components/shell/resources.js +1 -1
- package/dist/collection/components/shell/shell.css +5 -5
- package/dist/collection/components/shell/shell.e2e.js +1 -1
- package/dist/collection/components/shell/shell.js +1 -1
- package/dist/collection/components/shell-center-row/resources.js +1 -1
- package/dist/collection/components/shell-center-row/shell-center-row.css +5 -5
- package/dist/collection/components/shell-center-row/shell-center-row.e2e.js +1 -1
- package/dist/collection/components/shell-center-row/shell-center-row.js +1 -1
- package/dist/collection/components/shell-panel/resources.js +1 -1
- package/dist/collection/components/shell-panel/shell-panel.css +5 -5
- package/dist/collection/components/shell-panel/shell-panel.e2e.js +1 -1
- package/dist/collection/components/shell-panel/shell-panel.js +1 -1
- package/dist/collection/components/slider/resources.js +1 -1
- package/dist/collection/components/slider/slider.css +5 -5
- package/dist/collection/components/slider/slider.e2e.js +1 -1
- package/dist/collection/components/slider/slider.js +1 -1
- package/dist/collection/components/sortable-list/resources.js +1 -1
- package/dist/collection/components/sortable-list/sortable-list.css +5 -5
- package/dist/collection/components/sortable-list/sortable-list.e2e.js +1 -1
- package/dist/collection/components/sortable-list/sortable-list.js +1 -1
- package/dist/collection/components/split-button/resources.js +1 -1
- package/dist/collection/components/split-button/split-button.css +5 -5
- package/dist/collection/components/split-button/split-button.e2e.js +1 -1
- package/dist/collection/components/split-button/split-button.js +1 -1
- package/dist/collection/components/stack/resources.js +1 -1
- package/dist/collection/components/stack/stack.css +5 -5
- package/dist/collection/components/stack/stack.e2e.js +1 -1
- package/dist/collection/components/stack/stack.js +1 -1
- package/dist/collection/components/stepper/functional/step-bar.js +1 -1
- package/dist/collection/components/stepper/interfaces.js.map +1 -1
- package/dist/collection/components/stepper/resources.js +1 -1
- package/dist/collection/components/stepper/stepper.css +11 -8
- package/dist/collection/components/stepper/stepper.e2e.js +6 -6
- package/dist/collection/components/stepper/stepper.e2e.js.map +1 -1
- package/dist/collection/components/stepper/stepper.js +21 -27
- package/dist/collection/components/stepper/stepper.js.map +1 -1
- package/dist/collection/components/stepper-item/resources.js +1 -1
- package/dist/collection/components/stepper-item/stepper-item.css +51 -28
- package/dist/collection/components/stepper-item/stepper-item.e2e.js +1 -1
- package/dist/collection/components/stepper-item/stepper-item.js +6 -10
- package/dist/collection/components/stepper-item/stepper-item.js.map +1 -1
- package/dist/collection/components/switch/switch.css +5 -5
- package/dist/collection/components/switch/switch.e2e.js +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab/resources.js +1 -1
- package/dist/collection/components/tab/tab.css +5 -5
- package/dist/collection/components/tab/tab.e2e.js +1 -1
- package/dist/collection/components/tab/tab.js +1 -1
- package/dist/collection/components/tab-nav/resources.js +1 -1
- package/dist/collection/components/tab-nav/tab-nav.css +5 -5
- package/dist/collection/components/tab-nav/tab-nav.e2e.js +1 -1
- package/dist/collection/components/tab-nav/tab-nav.js +1 -1
- package/dist/collection/components/tab-title/resources.js +1 -1
- package/dist/collection/components/tab-title/tab-title.css +5 -5
- package/dist/collection/components/tab-title/tab-title.e2e.js +1 -1
- package/dist/collection/components/tab-title/tab-title.js +1 -1
- package/dist/collection/components/table/interfaces.js.map +1 -1
- package/dist/collection/components/table/resources.js +1 -1
- package/dist/collection/components/table/table.css +5 -5
- package/dist/collection/components/table/table.e2e.js +89 -1
- package/dist/collection/components/table/table.e2e.js.map +1 -1
- package/dist/collection/components/table/table.js +30 -1
- package/dist/collection/components/table/table.js.map +1 -1
- package/dist/collection/components/table-cell/resources.js +2 -1
- package/dist/collection/components/table-cell/resources.js.map +1 -1
- package/dist/collection/components/table-cell/table-cell.css +12 -8
- package/dist/collection/components/table-cell/table-cell.js +34 -2
- package/dist/collection/components/table-cell/table-cell.js.map +1 -1
- package/dist/collection/components/table-header/resources.js +2 -1
- package/dist/collection/components/table-header/resources.js.map +1 -1
- package/dist/collection/components/table-header/table-header.css +9 -7
- package/dist/collection/components/table-header/table-header.js +32 -2
- package/dist/collection/components/table-header/table-header.js.map +1 -1
- package/dist/collection/components/table-row/resources.js +1 -1
- package/dist/collection/components/table-row/table-row.css +5 -5
- package/dist/collection/components/table-row/table-row.js +96 -61
- package/dist/collection/components/table-row/table-row.js.map +1 -1
- package/dist/collection/components/tabs/resources.js +1 -1
- package/dist/collection/components/tabs/tabs.css +5 -5
- package/dist/collection/components/tabs/tabs.e2e.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/text-area/resources.js +1 -1
- package/dist/collection/components/text-area/text-area.css +5 -5
- package/dist/collection/components/text-area/text-area.e2e.js +1 -1
- package/dist/collection/components/text-area/text-area.js +1 -1
- package/dist/collection/components/tile/resources.js +1 -1
- package/dist/collection/components/tile/tile.css +5 -5
- package/dist/collection/components/tile/tile.e2e.js +1 -1
- package/dist/collection/components/tile/tile.js +1 -1
- package/dist/collection/components/tile-select/resources.js +1 -1
- package/dist/collection/components/tile-select/tile-select.css +5 -5
- package/dist/collection/components/tile-select/tile-select.e2e.js +1 -1
- package/dist/collection/components/tile-select/tile-select.js +1 -1
- package/dist/collection/components/tile-select-group/tile-select-group.css +5 -5
- package/dist/collection/components/tile-select-group/tile-select-group.e2e.js +1 -1
- package/dist/collection/components/tile-select-group/tile-select-group.js +1 -1
- package/dist/collection/components/time-picker/resources.js +1 -1
- package/dist/collection/components/time-picker/time-picker.css +5 -5
- package/dist/collection/components/time-picker/time-picker.e2e.js +1 -1
- package/dist/collection/components/time-picker/time-picker.js +1 -1
- package/dist/collection/components/tip/resources.js +1 -1
- package/dist/collection/components/tip/tip.css +5 -5
- package/dist/collection/components/tip/tip.e2e.js +1 -1
- package/dist/collection/components/tip/tip.js +1 -1
- package/dist/collection/components/tip-group/tip-group.css +5 -5
- package/dist/collection/components/tip-group/tip-group.e2e.js +1 -1
- package/dist/collection/components/tip-group/tip-group.js +1 -1
- package/dist/collection/components/tip-manager/resources.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.css +5 -5
- package/dist/collection/components/tip-manager/tip-manager.e2e.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.spec.js +1 -1
- package/dist/collection/components/tooltip/TooltipManager.js +1 -1
- package/dist/collection/components/tooltip/resources.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +5 -5
- package/dist/collection/components/tooltip/tooltip.e2e.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/tooltip/utils.js +1 -1
- package/dist/collection/components/tree/tree.css +5 -5
- package/dist/collection/components/tree/tree.e2e.js +1 -1
- package/dist/collection/components/tree/tree.js +1 -1
- package/dist/collection/components/tree/utils.js +1 -1
- package/dist/collection/components/tree-item/resources.js +1 -1
- package/dist/collection/components/tree-item/tree-item.css +5 -5
- package/dist/collection/components/tree-item/tree-item.e2e.js +1 -1
- package/dist/collection/components/tree-item/tree-item.js +1 -1
- package/dist/collection/components/value-list/resources.js +1 -1
- package/dist/collection/components/value-list/utils.js +1 -1
- package/dist/collection/components/value-list/value-list.css +5 -5
- package/dist/collection/components/value-list/value-list.e2e.js +1 -1
- package/dist/collection/components/value-list/value-list.js +1 -1
- package/dist/collection/components/value-list-item/resources.js +1 -1
- package/dist/collection/components/value-list-item/value-list-item.css +5 -5
- package/dist/collection/components/value-list-item/value-list-item.e2e.js +1 -1
- package/dist/collection/components/value-list-item/value-list-item.js +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/tests/commonTests.js +1 -1
- package/dist/collection/tests/utils.js +1 -1
- package/dist/collection/utils/array.js +1 -1
- package/dist/collection/utils/browser.js +1 -1
- package/dist/collection/utils/component.js +1 -1
- package/dist/collection/utils/component.spec.js +1 -1
- package/dist/collection/utils/conditionalSlot.js +1 -1
- package/dist/collection/utils/config.js +1 -1
- package/dist/collection/utils/config.spec.js +1 -1
- package/dist/collection/utils/date.js +1 -1
- package/dist/collection/utils/date.spec.js +1 -1
- package/dist/collection/utils/dom.e2e.js +1 -1
- package/dist/collection/utils/dom.js +1 -1
- package/dist/collection/utils/dom.spec.js +1 -1
- package/dist/collection/utils/filter.js +1 -1
- package/dist/collection/utils/floating-ui.js +1 -1
- package/dist/collection/utils/floating-ui.spec.js +1 -1
- package/dist/collection/utils/focusTrapComponent.js +1 -1
- package/dist/collection/utils/focusTrapComponent.spec.js +1 -1
- package/dist/collection/utils/form.js +1 -1
- package/dist/collection/utils/form.spec.js +1 -1
- package/dist/collection/utils/globalScript.js +1 -1
- package/dist/collection/utils/guid.js +1 -1
- package/dist/collection/utils/guid.spec.js +1 -1
- package/dist/collection/utils/interactive.js +1 -1
- package/dist/collection/utils/interactive.spec.js +1 -1
- package/dist/collection/utils/key.js +1 -1
- package/dist/collection/utils/label.js +1 -1
- package/dist/collection/utils/label.spec.js +1 -1
- package/dist/collection/utils/loadable.js +1 -1
- package/dist/collection/utils/loadable.spec.js +1 -1
- package/dist/collection/utils/locale.js +1 -1
- package/dist/collection/utils/locale.spec.js +1 -1
- package/dist/collection/utils/math.js +1 -1
- package/dist/collection/utils/math.spec.js +1 -1
- package/dist/collection/utils/mode.js +1 -1
- package/dist/collection/utils/number.js +1 -1
- package/dist/collection/utils/number.spec.js +1 -1
- package/dist/collection/utils/observers.js +1 -1
- package/dist/collection/utils/openCloseComponent.js +1 -1
- package/dist/collection/utils/resources.js +1 -1
- package/dist/collection/utils/responsive.js +1 -1
- package/dist/collection/utils/responsive.spec.js +1 -1
- package/dist/collection/utils/sortableComponent.js +1 -1
- package/dist/collection/utils/t9n.js +1 -1
- package/dist/collection/utils/time.js +1 -1
- package/dist/collection/utils/time.spec.js +1 -1
- package/dist/components/ExpandToggle.js +1 -1
- package/dist/components/FloatingArrow.js +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/Validation.js +1 -1
- package/dist/components/action-group.js +1 -1
- package/dist/components/action-menu.js +1 -1
- package/dist/components/action.js +1 -1
- package/dist/components/ar.js +1 -1
- package/dist/components/array.js +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/bg.js +1 -1
- package/dist/components/bs.js +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/ca.js +1 -1
- package/dist/components/calcite-accordion-item.js +1 -1
- package/dist/components/calcite-accordion.js +1 -1
- package/dist/components/calcite-action-bar.js +1 -1
- package/dist/components/calcite-action-group.js +1 -1
- package/dist/components/calcite-action-menu.js +1 -1
- package/dist/components/calcite-action-pad.js +1 -1
- package/dist/components/calcite-action.js +1 -1
- package/dist/components/calcite-alert.js +1 -1
- package/dist/components/calcite-avatar.js +1 -1
- package/dist/components/calcite-block-section.js +1 -1
- package/dist/components/calcite-block.js +1 -1
- package/dist/components/calcite-button.js +1 -1
- package/dist/components/calcite-card.js +1 -1
- package/dist/components/calcite-checkbox.js +1 -1
- package/dist/components/calcite-chip-group.js +1 -1
- package/dist/components/calcite-chip.js +1 -1
- package/dist/components/calcite-color-picker-hex-input.js +1 -1
- package/dist/components/calcite-color-picker-swatch.js +1 -1
- package/dist/components/calcite-color-picker.js +1 -1
- package/dist/components/calcite-combobox-item-group.js +1 -1
- package/dist/components/calcite-combobox-item.js +1 -1
- package/dist/components/calcite-combobox.js +1 -1
- package/dist/components/calcite-date-picker-day.js +1 -1
- package/dist/components/calcite-date-picker-month-header.js +1 -1
- package/dist/components/calcite-date-picker-month.js +1 -1
- package/dist/components/calcite-date-picker.js +1 -1
- package/dist/components/calcite-dropdown-group.js +1 -1
- package/dist/components/calcite-dropdown-item.js +1 -1
- package/dist/components/calcite-dropdown.js +1 -1
- package/dist/components/calcite-fab.js +1 -1
- package/dist/components/calcite-filter.js +1 -1
- package/dist/components/calcite-flow-item.js +2 -2
- package/dist/components/calcite-flow-item.js.map +1 -1
- package/dist/components/calcite-flow.js +1 -1
- package/dist/components/calcite-graph.js +1 -1
- package/dist/components/calcite-handle.js +1 -1
- package/dist/components/calcite-icon.js +1 -1
- package/dist/components/calcite-inline-editable.js +1 -1
- package/dist/components/calcite-input-date-picker.js +1 -1
- package/dist/components/calcite-input-message.js +1 -1
- package/dist/components/calcite-input-number.js +1 -1
- package/dist/components/calcite-input-text.js +1 -1
- package/dist/components/calcite-input-time-picker.js +1 -1
- package/dist/components/calcite-input-time-zone.js +1 -1
- package/dist/components/calcite-input.js +1 -1
- package/dist/components/calcite-label.js +1 -1
- package/dist/components/calcite-link.js +1 -1
- package/dist/components/calcite-list-item-group.js +1 -1
- package/dist/components/calcite-list-item.js +1 -1
- package/dist/components/calcite-list.js +1 -1
- package/dist/components/calcite-loader.js +1 -1
- package/dist/components/calcite-menu-item.js +1 -1
- package/dist/components/calcite-menu.js +1 -1
- package/dist/components/calcite-meter.js +1 -1
- package/dist/components/calcite-modal.js +1 -1
- package/dist/components/calcite-navigation-logo.js +1 -1
- package/dist/components/calcite-navigation-user.js +1 -1
- package/dist/components/calcite-navigation.js +1 -1
- package/dist/components/calcite-notice.js +1 -1
- package/dist/components/calcite-option-group.js +1 -1
- package/dist/components/calcite-option.js +1 -1
- package/dist/components/calcite-pagination.js +1 -1
- package/dist/components/calcite-panel.js +1 -1
- package/dist/components/calcite-pick-list-group.js +1 -1
- package/dist/components/calcite-pick-list-item.js +1 -1
- package/dist/components/calcite-pick-list.js +1 -1
- package/dist/components/calcite-popover.js +1 -1
- package/dist/components/calcite-progress.js +1 -1
- package/dist/components/calcite-radio-button-group.js +1 -1
- package/dist/components/calcite-radio-button.js +1 -1
- package/dist/components/calcite-rating.js +1 -1
- package/dist/components/calcite-scrim.js +1 -1
- package/dist/components/calcite-segmented-control-item.js +1 -1
- package/dist/components/calcite-segmented-control.js +1 -1
- package/dist/components/calcite-select.js +1 -1
- package/dist/components/calcite-sheet.js +1 -1
- package/dist/components/calcite-shell-center-row.js +1 -1
- package/dist/components/calcite-shell-panel.js +1 -1
- package/dist/components/calcite-shell.js +1 -1
- package/dist/components/calcite-slider.js +1 -1
- package/dist/components/calcite-sortable-list.js +1 -1
- package/dist/components/calcite-split-button.js +1 -1
- package/dist/components/calcite-stack.js +1 -1
- package/dist/components/calcite-stepper-item.js +2 -2
- package/dist/components/calcite-stepper-item.js.map +1 -1
- package/dist/components/calcite-stepper.js +17 -19
- package/dist/components/calcite-stepper.js.map +1 -1
- package/dist/components/calcite-switch.js +1 -1
- package/dist/components/calcite-tab-nav.js +1 -1
- package/dist/components/calcite-tab-title.js +1 -1
- package/dist/components/calcite-tab.js +1 -1
- package/dist/components/calcite-table-cell.js +1 -1
- package/dist/components/calcite-table-header.js +1 -1
- package/dist/components/calcite-table-row.js +69 -61
- package/dist/components/calcite-table-row.js.map +1 -1
- package/dist/components/calcite-table.js +6 -1
- package/dist/components/calcite-table.js.map +1 -1
- package/dist/components/calcite-tabs.js +1 -1
- package/dist/components/calcite-text-area.js +1 -1
- package/dist/components/calcite-tile-select-group.js +1 -1
- package/dist/components/calcite-tile-select.js +1 -1
- package/dist/components/calcite-tile.js +1 -1
- package/dist/components/calcite-time-picker.js +1 -1
- package/dist/components/calcite-tip-group.js +1 -1
- package/dist/components/calcite-tip-manager.js +1 -1
- package/dist/components/calcite-tip.js +1 -1
- package/dist/components/calcite-tooltip.js +1 -1
- package/dist/components/calcite-tree-item.js +1 -1
- package/dist/components/calcite-tree.js +1 -1
- package/dist/components/calcite-value-list-item.js +1 -1
- package/dist/components/calcite-value-list.js +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/chip.js +1 -1
- package/dist/components/color-picker-hex-input.js +1 -1
- package/dist/components/color-picker-swatch.js +1 -1
- package/dist/components/combobox-item.js +1 -1
- package/dist/components/combobox.js +2 -2
- package/dist/components/combobox.js.map +1 -1
- package/dist/components/component.js +1 -1
- package/dist/components/conditionalSlot.js +1 -1
- package/dist/components/cs.js +1 -1
- package/dist/components/da.js +1 -1
- package/dist/components/date-picker-day.js +1 -1
- package/dist/components/date-picker-month-header.js +1 -1
- package/dist/components/date-picker-month.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/date.js +1 -1
- package/dist/components/de-at.js +1 -1
- package/dist/components/de-ch.js +1 -1
- package/dist/components/de.js +1 -1
- package/dist/components/debounce.js +1 -1
- package/dist/components/dom.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/el.js +1 -1
- package/dist/components/en-au.js +1 -1
- package/dist/components/en-ca.js +1 -1
- package/dist/components/en-gb.js +1 -1
- package/dist/components/es-mx.js +1 -1
- package/dist/components/es.js +1 -1
- package/dist/components/et.js +1 -1
- package/dist/components/fi.js +1 -1
- package/dist/components/filter.js +1 -1
- package/dist/components/filter2.js +1 -1
- package/dist/components/floating-ui.js +1 -1
- package/dist/components/focusTrapComponent.js +1 -1
- package/dist/components/form.js +1 -1
- package/dist/components/fr-ch.js +1 -1
- package/dist/components/fr.js +1 -1
- package/dist/components/graph.js +1 -1
- package/dist/components/guid.js +1 -1
- package/dist/components/handle.js +1 -1
- package/dist/components/he.js +1 -1
- package/dist/components/hi.js +1 -1
- package/dist/components/hr.js +1 -1
- package/dist/components/hu.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/id.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index2.js +1 -1
- package/dist/components/index3.js +1 -1
- package/dist/components/index4.js +1 -1
- package/dist/components/input-message.js +1 -1
- package/dist/components/input-number.js +1 -1
- package/dist/components/input-text.js +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/input2.js +1 -1
- package/dist/components/interactive.js +1 -1
- package/dist/components/it-ch.js +1 -1
- package/dist/components/it.js +1 -1
- package/dist/components/ja.js +1 -1
- package/dist/components/key.js +1 -1
- package/dist/components/ko.js +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label2.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/loadable.js +1 -1
- package/dist/components/loader.js +1 -1
- package/dist/components/locale.js +1 -1
- package/dist/components/lt.js +1 -1
- package/dist/components/lv.js +1 -1
- package/dist/components/math.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/mk.js +1 -1
- package/dist/components/nb.js +1 -1
- package/dist/components/nl.js +1 -1
- package/dist/components/observers.js +1 -1
- package/dist/components/openCloseComponent.js +1 -1
- package/dist/components/pagination.js +2 -2
- package/dist/components/pagination.js.map +1 -1
- package/dist/components/panel.js +2 -2
- package/dist/components/panel.js.map +1 -1
- package/dist/components/pick-list-item.js +1 -1
- package/dist/components/pl.js +1 -1
- package/dist/components/popover.js +1 -1
- package/dist/components/progress.js +1 -1
- package/dist/components/pt-br.js +1 -1
- package/dist/components/pt.js +1 -1
- package/dist/components/radio-button.js +1 -1
- package/dist/components/resources.js +1 -1
- package/dist/components/resources2.js +1 -1
- package/dist/components/resources3.js +1 -1
- package/dist/components/resources4.js +1 -1
- package/dist/components/resources5.js +1 -1
- package/dist/components/ro.js +1 -1
- package/dist/components/ru.js +1 -1
- package/dist/components/scrim.js +1 -1
- package/dist/components/shared-list-render.js +1 -1
- package/dist/components/sk.js +1 -1
- package/dist/components/sl.js +1 -1
- package/dist/components/sortableComponent.js +1 -1
- package/dist/components/sr.js +1 -1
- package/dist/components/stack.js +1 -1
- package/dist/components/sv.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/t9n.js +1 -1
- package/dist/components/tab-nav.js +1 -1
- package/dist/components/tab-title.js +1 -1
- package/dist/components/tab.js +1 -1
- package/dist/components/table-cell.js +10 -3
- package/dist/components/table-cell.js.map +1 -1
- package/dist/components/table-header.js +8 -3
- package/dist/components/table-header.js.map +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/th.js +1 -1
- package/dist/components/throttle.js +1 -1
- package/dist/components/time-picker.js +1 -1
- package/dist/components/tr.js +1 -1
- package/dist/components/uk.js +1 -1
- package/dist/components/utils.js +1 -1
- package/dist/components/utils2.js +1 -1
- package/dist/components/utils3.js +1 -1
- package/dist/components/vi.js +1 -1
- package/dist/components/zh-cn.js +1 -1
- package/dist/components/zh-hk.js +1 -1
- package/dist/components/zh-tw.js +1 -1
- package/dist/esm/ExpandToggle-7038b444.js +102 -0
- package/dist/esm/ExpandToggle-7038b444.js.map +1 -0
- package/dist/esm/FloatingArrow-8dd5798e.js +47 -0
- package/dist/esm/FloatingArrow-8dd5798e.js.map +1 -0
- package/dist/esm/Heading-3ff1c6e9.js +19 -0
- package/dist/esm/Heading-3ff1c6e9.js.map +1 -0
- package/dist/esm/Validation-cc143109.js +16 -0
- package/dist/esm/Validation-cc143109.js.map +1 -0
- package/dist/esm/app-globals-0061ccc8.js +59 -0
- package/dist/esm/app-globals-0061ccc8.js.map +1 -0
- package/dist/esm/ar-b8368fe6.js +104 -0
- package/dist/esm/ar-b8368fe6.js.map +1 -0
- package/dist/esm/array-93ae0b1c.js +12 -0
- package/dist/esm/array-93ae0b1c.js.map +1 -0
- package/dist/esm/bg-cd583439.js +82 -0
- package/dist/esm/bg-cd583439.js.map +1 -0
- package/dist/esm/browser-359f7c4c.js +18 -0
- package/dist/esm/browser-359f7c4c.js.map +1 -0
- package/dist/esm/bs-4d9b52e9.js +51 -0
- package/dist/esm/bs-4d9b52e9.js.map +1 -0
- package/dist/esm/ca-67e1ff80.js +71 -0
- package/dist/esm/ca-67e1ff80.js.map +1 -0
- package/dist/esm/calcite-accordion_2.entry.js +8 -8
- package/dist/esm/calcite-action-bar.entry.js +15 -15
- package/dist/esm/calcite-action-group.entry.js +13 -13
- package/dist/esm/calcite-action-menu.entry.js +9 -9
- package/dist/esm/calcite-action-pad.entry.js +14 -14
- package/dist/esm/calcite-action.entry.js +13 -13
- package/dist/esm/calcite-alert.entry.js +13 -13
- package/dist/esm/calcite-avatar.entry.js +6 -6
- package/dist/esm/calcite-block_2.entry.js +15 -15
- package/dist/esm/calcite-button.entry.js +15 -15
- package/dist/esm/calcite-card.entry.js +10 -10
- package/dist/esm/calcite-checkbox.entry.js +12 -12
- package/dist/esm/calcite-chip-group.entry.js +9 -9
- package/dist/esm/calcite-chip.entry.js +14 -14
- package/dist/esm/calcite-color-picker_3.entry.js +16 -16
- package/dist/esm/calcite-combobox_3.entry.js +22 -22
- package/dist/esm/calcite-combobox_3.entry.js.map +1 -1
- package/dist/esm/calcite-date-picker_4.entry.js +15 -15
- package/dist/esm/calcite-dropdown_3.entry.js +14 -14
- package/dist/esm/calcite-fab.entry.js +8 -8
- package/dist/esm/calcite-filter.entry.js +14 -14
- package/dist/esm/calcite-flow-item.entry.js +14 -14
- package/dist/esm/calcite-flow-item.entry.js.map +1 -1
- package/dist/esm/calcite-flow.entry.js +4 -4
- package/dist/esm/calcite-graph_2.entry.js +15 -15
- package/dist/esm/calcite-handle.entry.js +12 -12
- package/dist/esm/calcite-icon.entry.js +6 -6
- package/dist/esm/calcite-inline-editable.entry.js +14 -14
- package/dist/esm/calcite-input-date-picker.entry.js +21 -21
- package/dist/esm/calcite-input-message.entry.js +5 -5
- package/dist/esm/calcite-input-number.entry.js +17 -17
- package/dist/esm/calcite-input-text.entry.js +17 -17
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-3914e1da.js +2914 -0
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-3914e1da.js.map +1 -0
- package/dist/esm/calcite-input-time-picker_2.entry.js +20 -20
- package/dist/esm/calcite-input-time-zone.entry.js +17 -17
- package/dist/esm/calcite-input.entry.js +17 -17
- package/dist/esm/calcite-label.entry.js +7 -7
- package/dist/esm/calcite-link.entry.js +8 -8
- package/dist/esm/calcite-list_3.entry.js +15 -15
- package/dist/esm/calcite-loader.entry.js +3 -3
- package/dist/esm/calcite-menu_2.entry.js +10 -10
- package/dist/esm/calcite-meter.entry.js +10 -10
- package/dist/esm/calcite-modal.entry.js +14 -14
- package/dist/esm/calcite-navigation_3.entry.js +6 -6
- package/dist/esm/calcite-notice.entry.js +14 -14
- package/dist/esm/calcite-option_3.entry.js +13 -13
- package/dist/esm/calcite-pagination.entry.js +12 -12
- package/dist/esm/calcite-pagination.entry.js.map +1 -1
- package/dist/esm/calcite-panel.entry.js +16 -16
- package/dist/esm/calcite-panel.entry.js.map +1 -1
- package/dist/esm/calcite-pick-list_3.entry.js +17 -17
- package/dist/esm/calcite-popover.entry.js +17 -17
- package/dist/esm/calcite-progress.entry.js +5 -5
- package/dist/esm/calcite-radio-button-group.entry.js +5 -5
- package/dist/esm/calcite-radio-button.entry.js +12 -12
- package/dist/esm/calcite-rating.entry.js +15 -15
- package/dist/esm/calcite-scrim.entry.js +9 -9
- package/dist/esm/calcite-segmented-control_2.entry.js +13 -13
- package/dist/esm/calcite-sheet.entry.js +9 -9
- package/dist/esm/calcite-shell_3.entry.js +11 -11
- package/dist/esm/calcite-sortable-list.entry.js +9 -9
- package/dist/esm/calcite-split-button.entry.js +5 -5
- package/dist/esm/calcite-stack.entry.js +6 -6
- package/dist/esm/calcite-stepper_2.entry.js +29 -31
- package/dist/esm/calcite-stepper_2.entry.js.map +1 -1
- package/dist/esm/calcite-switch.entry.js +12 -12
- package/dist/esm/calcite-tab_4.entry.js +12 -12
- package/dist/esm/calcite-table-cell_2.entry.js +27 -17
- package/dist/esm/calcite-table-cell_2.entry.js.map +1 -1
- package/dist/esm/calcite-table-row.entry.js +75 -69
- package/dist/esm/calcite-table-row.entry.js.map +1 -1
- package/dist/esm/calcite-table.entry.js +14 -11
- package/dist/esm/calcite-table.entry.js.map +1 -1
- package/dist/esm/calcite-text-area.entry.js +19 -19
- package/dist/esm/calcite-tile-select_2.entry.js +6 -6
- package/dist/esm/calcite-tile.entry.js +7 -7
- package/dist/esm/calcite-tip_3.entry.js +11 -11
- package/dist/esm/calcite-tooltip.entry.js +9 -9
- package/dist/esm/calcite-tree_2.entry.js +10 -10
- package/dist/esm/calcite-value-list_2.entry.js +17 -17
- package/dist/esm/calcite.js +6 -6
- package/dist/esm/component-be88998f.js +27 -0
- package/dist/esm/component-be88998f.js.map +1 -0
- package/dist/esm/conditionalSlot-4c9a22b5.js +57 -0
- package/dist/esm/conditionalSlot-4c9a22b5.js.map +1 -0
- package/dist/esm/cs-1ff0851a.js +147 -0
- package/dist/esm/cs-1ff0851a.js.map +1 -0
- package/dist/esm/da-02df9474.js +66 -0
- package/dist/esm/da-02df9474.js.map +1 -0
- package/dist/esm/de-6b5e9a4d.js +91 -0
- package/dist/esm/de-6b5e9a4d.js.map +1 -0
- package/dist/esm/de-at-6af42ba4.js +90 -0
- package/dist/esm/de-at-6af42ba4.js.map +1 -0
- package/dist/esm/de-ch-e37e2f27.js +90 -0
- package/dist/esm/de-ch-e37e2f27.js.map +1 -0
- package/dist/esm/debounce-8756dbbd.js +489 -0
- package/dist/esm/debounce-8756dbbd.js.map +1 -0
- package/dist/esm/dom-b53ddd5e.js +1053 -0
- package/dist/esm/dom-b53ddd5e.js.map +1 -0
- package/dist/esm/el-8b68e032.js +66 -0
- package/dist/esm/el-8b68e032.js.map +1 -0
- package/dist/esm/en-au-d63df72f.js +66 -0
- package/dist/esm/en-au-d63df72f.js.map +1 -0
- package/dist/esm/en-ca-3f51229b.js +65 -0
- package/dist/esm/en-ca-3f51229b.js.map +1 -0
- package/dist/esm/en-gb-64285a02.js +69 -0
- package/dist/esm/en-gb-64285a02.js.map +1 -0
- package/dist/esm/es-7ef5c985.js +66 -0
- package/dist/esm/es-7ef5c985.js.map +1 -0
- package/dist/esm/es-mx-86973204.js +65 -0
- package/dist/esm/es-mx-86973204.js.map +1 -0
- package/dist/esm/et-6e72a5f9.js +92 -0
- package/dist/esm/et-6e72a5f9.js.map +1 -0
- package/dist/esm/fi-02b1b280.js +115 -0
- package/dist/esm/fi-02b1b280.js.map +1 -0
- package/dist/esm/filter-80da289a.js +760 -0
- package/dist/esm/filter-80da289a.js.map +1 -0
- package/dist/esm/floating-ui-fe8e3310.js +1957 -0
- package/dist/esm/floating-ui-fe8e3310.js.map +1 -0
- package/dist/esm/focusTrapComponent-82b68d0c.js +1015 -0
- package/dist/esm/focusTrapComponent-82b68d0c.js.map +1 -0
- package/dist/esm/form-1f9a81b6.js +324 -0
- package/dist/esm/form-1f9a81b6.js.map +1 -0
- package/dist/esm/fr-ch-4a846ae6.js +66 -0
- package/dist/esm/fr-ch-4a846ae6.js.map +1 -0
- package/dist/esm/fr-e6440f04.js +68 -0
- package/dist/esm/fr-e6440f04.js.map +1 -0
- package/dist/esm/guid-49e4c7a4.js +21 -0
- package/dist/esm/guid-49e4c7a4.js.map +1 -0
- package/dist/esm/he-34f438c3.js +105 -0
- package/dist/esm/he-34f438c3.js.map +1 -0
- package/dist/esm/hi-327e6376.js +65 -0
- package/dist/esm/hi-327e6376.js.map +1 -0
- package/dist/esm/hr-febbf10b.js +80 -0
- package/dist/esm/hr-febbf10b.js.map +1 -0
- package/dist/esm/hu-9cdbf0cb.js +88 -0
- package/dist/esm/hu-9cdbf0cb.js.map +1 -0
- package/dist/esm/id-86fd814f.js +66 -0
- package/dist/esm/id-86fd814f.js.map +1 -0
- package/dist/esm/index-a606d5d8.js +206 -0
- package/dist/esm/index-a606d5d8.js.map +1 -0
- package/dist/esm/index-dbebce0f.js +2620 -0
- package/dist/esm/index-dbebce0f.js.map +1 -0
- package/dist/esm/index-f7504916.js +73 -0
- package/dist/esm/index-f7504916.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/input-99362534.js +55 -0
- package/dist/esm/input-99362534.js.map +1 -0
- package/dist/esm/interactive-218ce927.js +136 -0
- package/dist/esm/interactive-218ce927.js.map +1 -0
- package/dist/esm/it-658d4b7f.js +66 -0
- package/dist/esm/it-658d4b7f.js.map +1 -0
- package/dist/esm/it-ch-2060da48.js +66 -0
- package/dist/esm/it-ch-2060da48.js.map +1 -0
- package/dist/esm/ja-2bd9f1eb.js +72 -0
- package/dist/esm/ja-2bd9f1eb.js.map +1 -0
- package/dist/esm/key-354c2eba.js +13 -0
- package/dist/esm/key-354c2eba.js.map +1 -0
- package/dist/esm/ko-2b1441a1.js +72 -0
- package/dist/esm/ko-2b1441a1.js.map +1 -0
- package/dist/esm/label-b4dce83f.js +176 -0
- package/dist/esm/label-b4dce83f.js.map +1 -0
- package/dist/esm/loadable-2449b25d.js +86 -0
- package/dist/esm/loadable-2449b25d.js.map +1 -0
- package/dist/esm/loader.js +6 -6
- package/dist/esm/locale-778c9cba.js +563 -0
- package/dist/esm/locale-778c9cba.js.map +1 -0
- package/dist/esm/lt-0e93f25b.js +97 -0
- package/dist/esm/lt-0e93f25b.js.map +1 -0
- package/dist/esm/lv-9b8467d1.js +66 -0
- package/dist/esm/lv-9b8467d1.js.map +1 -0
- package/dist/esm/math-8f596d8f.js +51 -0
- package/dist/esm/math-8f596d8f.js.map +1 -0
- package/dist/esm/mk-63a3e185.js +66 -0
- package/dist/esm/mk-63a3e185.js.map +1 -0
- package/dist/esm/nb-3434fdd4.js +67 -0
- package/dist/esm/nb-3434fdd4.js.map +1 -0
- package/dist/esm/nl-656eed74.js +67 -0
- package/dist/esm/nl-656eed74.js.map +1 -0
- package/dist/esm/observers-86f06c9e.js +48 -0
- package/dist/esm/observers-86f06c9e.js.map +1 -0
- package/dist/esm/openCloseComponent-07d78e24.js +87 -0
- package/dist/esm/openCloseComponent-07d78e24.js.map +1 -0
- package/dist/esm/pl-6c0770ed.js +114 -0
- package/dist/esm/pl-6c0770ed.js.map +1 -0
- package/dist/esm/pt-9bd84699.js +67 -0
- package/dist/esm/pt-9bd84699.js.map +1 -0
- package/dist/esm/pt-br-edb494e2.js +65 -0
- package/dist/esm/pt-br-edb494e2.js.map +1 -0
- package/dist/esm/resources-18b049f4.js +19 -0
- package/dist/esm/resources-18b049f4.js.map +1 -0
- package/dist/esm/resources-2686c29d.js +17 -0
- package/dist/esm/resources-2686c29d.js.map +1 -0
- package/dist/esm/resources-65cb3a2d.js +23 -0
- package/dist/esm/resources-65cb3a2d.js.map +1 -0
- package/dist/esm/resources-678b27be.js +25 -0
- package/dist/esm/resources-678b27be.js.map +1 -0
- package/dist/esm/resources-67dfa085.js +45 -0
- package/dist/esm/resources-67dfa085.js.map +1 -0
- package/dist/esm/resources-b65914e8.js +21 -0
- package/dist/esm/resources-b65914e8.js.map +1 -0
- package/dist/esm/resources-c85d66fa.js +387 -0
- package/dist/esm/resources-c85d66fa.js.map +1 -0
- package/dist/esm/ro-06a5edf3.js +66 -0
- package/dist/esm/ro-06a5edf3.js.map +1 -0
- package/dist/esm/ru-ec2fe4f1.js +126 -0
- package/dist/esm/ru-ec2fe4f1.js.map +1 -0
- package/dist/esm/sk-197fe99a.js +148 -0
- package/dist/esm/sk-197fe99a.js.map +1 -0
- package/dist/esm/sl-76fc52aa.js +168 -0
- package/dist/esm/sl-76fc52aa.js.map +1 -0
- package/dist/esm/sortableComponent-2c04961e.js +2735 -0
- package/dist/esm/sortableComponent-2c04961e.js.map +1 -0
- package/dist/esm/sr-c97ac754.js +101 -0
- package/dist/esm/sr-c97ac754.js.map +1 -0
- package/dist/esm/sv-1109b3fb.js +71 -0
- package/dist/esm/sv-1109b3fb.js.map +1 -0
- package/dist/esm/t9n-e5e49356.js +92 -0
- package/dist/esm/t9n-e5e49356.js.map +1 -0
- package/dist/esm/th-af910392.js +65 -0
- package/dist/esm/th-af910392.js.map +1 -0
- package/dist/esm/throttle-9f0091b4.js +75 -0
- package/dist/esm/throttle-9f0091b4.js.map +1 -0
- package/dist/esm/tr-b9fbf792.js +66 -0
- package/dist/esm/tr-b9fbf792.js.map +1 -0
- package/dist/esm/uk-37c00a7f.js +104 -0
- package/dist/esm/uk-37c00a7f.js.map +1 -0
- package/dist/esm/utils-33fe09a4.js +200 -0
- package/dist/esm/utils-33fe09a4.js.map +1 -0
- package/dist/esm/utils-521fd0a0.js +289 -0
- package/dist/esm/utils-521fd0a0.js.map +1 -0
- package/dist/esm/vi-a4095532.js +70 -0
- package/dist/esm/vi-a4095532.js.map +1 -0
- package/dist/esm/zh-cn-3f52d6f7.js +94 -0
- package/dist/esm/zh-cn-3f52d6f7.js.map +1 -0
- package/dist/esm/zh-hk-b2064936.js +71 -0
- package/dist/esm/zh-hk-b2064936.js.map +1 -0
- package/dist/esm/zh-tw-4670c2fc.js +92 -0
- package/dist/esm/zh-tw-4670c2fc.js.map +1 -0
- package/dist/extras/docs-json.json +54 -11
- package/dist/loader/cdn.js +1 -1
- package/dist/loader/index.cjs.js +1 -1
- package/dist/loader/index.es2017.js +1 -1
- package/dist/loader/index.js +1 -1
- package/dist/stencil.config.js +1 -1
- package/dist/support/formatting.js +1 -1
- package/dist/support/preact.js +1 -1
- package/dist/tailwind.config.js +1 -1
- package/dist/types/components/stepper/interfaces.d.ts +1 -0
- package/dist/types/components/stepper/stepper.d.ts +3 -3
- package/dist/types/components/stepper-item/stepper-item.d.ts +3 -3
- package/dist/types/components/table/interfaces.d.ts +1 -0
- package/dist/types/components/table/table.d.ts +3 -1
- package/dist/types/components/table-cell/resources.d.ts +1 -0
- package/dist/types/components/table-cell/table-cell.d.ts +3 -1
- package/dist/types/components/table-header/resources.d.ts +1 -0
- package/dist/types/components/table-header/table-header.d.ts +3 -1
- package/dist/types/components/table-row/table-row.d.ts +3 -1
- package/dist/types/components.d.ts +18 -7
- package/hydrate/index.js +110 -89
- package/package.json +2 -2
- package/dist/calcite/p-06bc838e.entry.js +0 -7
- package/dist/calcite/p-06bc838e.entry.js.map +0 -1
- package/dist/calcite/p-098dde49.entry.js +0 -7
- package/dist/calcite/p-0a226917.entry.js +0 -7
- package/dist/calcite/p-0f6aef5f.js +0 -7
- package/dist/calcite/p-102a8a3c.entry.js +0 -7
- package/dist/calcite/p-106a9b3c.entry.js +0 -7
- package/dist/calcite/p-11e896ea.entry.js +0 -7
- package/dist/calcite/p-126e7efd.entry.js +0 -7
- package/dist/calcite/p-12f73849.js +0 -7
- package/dist/calcite/p-12f9ae32.entry.js +0 -7
- package/dist/calcite/p-145a99eb.js +0 -7
- package/dist/calcite/p-16c12e8d.js +0 -7
- package/dist/calcite/p-192ac931.entry.js +0 -7
- package/dist/calcite/p-195622fd.entry.js +0 -7
- package/dist/calcite/p-1a70e255.entry.js +0 -7
- package/dist/calcite/p-1ad3f590.entry.js +0 -7
- package/dist/calcite/p-1b6a7d43.entry.js +0 -7
- package/dist/calcite/p-1b6df6e3.js +0 -7
- package/dist/calcite/p-1bed2571.js +0 -7
- package/dist/calcite/p-1bed2571.js.map +0 -1
- package/dist/calcite/p-1d8fa933.js +0 -7
- package/dist/calcite/p-1d9815c1.js +0 -7
- package/dist/calcite/p-1f107d76.entry.js +0 -7
- package/dist/calcite/p-1f107d76.entry.js.map +0 -1
- package/dist/calcite/p-21111ff8.js +0 -7
- package/dist/calcite/p-211b17ce.entry.js +0 -7
- package/dist/calcite/p-218195fe.js +0 -7
- package/dist/calcite/p-270b8733.js +0 -7
- package/dist/calcite/p-28f1b0cd.js +0 -7
- package/dist/calcite/p-29d96e73.js +0 -7
- package/dist/calcite/p-2b5b4ef0.entry.js +0 -7
- package/dist/calcite/p-2ba0f9e1.js +0 -7
- package/dist/calcite/p-2ba49f61.js +0 -7
- package/dist/calcite/p-2dd28699.entry.js +0 -7
- package/dist/calcite/p-2f46886e.entry.js +0 -7
- package/dist/calcite/p-3094fdeb.js +0 -7
- package/dist/calcite/p-3302dafe.entry.js +0 -7
- package/dist/calcite/p-33d10fc7.js +0 -7
- package/dist/calcite/p-343e5a25.js +0 -7
- package/dist/calcite/p-349d9d39.js +0 -7
- package/dist/calcite/p-379211fa.js +0 -7
- package/dist/calcite/p-392d03a3.js +0 -7
- package/dist/calcite/p-436f688a.js +0 -7
- package/dist/calcite/p-44015444.entry.js +0 -7
- package/dist/calcite/p-44015444.entry.js.map +0 -1
- package/dist/calcite/p-452b6321.js +0 -7
- package/dist/calcite/p-45e2e445.js +0 -7
- package/dist/calcite/p-4887bcc6.js +0 -7
- package/dist/calcite/p-48b67298.entry.js +0 -7
- package/dist/calcite/p-4978e6f6.js +0 -7
- package/dist/calcite/p-49814e41.entry.js +0 -7
- package/dist/calcite/p-4abdccae.entry.js +0 -7
- package/dist/calcite/p-4ad7e3b4.js +0 -7
- package/dist/calcite/p-4cfb8d30.js +0 -8
- package/dist/calcite/p-4d1d795a.js +0 -7
- package/dist/calcite/p-5024cc43.js +0 -7
- package/dist/calcite/p-50ba23b3.entry.js +0 -7
- package/dist/calcite/p-5124ce6e.entry.js +0 -7
- package/dist/calcite/p-59978662.js +0 -7
- package/dist/calcite/p-5a949941.js +0 -7
- package/dist/calcite/p-5ae8bfd3.js +0 -7
- package/dist/calcite/p-5defa0ff.entry.js +0 -7
- package/dist/calcite/p-5defa0ff.entry.js.map +0 -1
- package/dist/calcite/p-6035fa76.entry.js +0 -7
- package/dist/calcite/p-6035fa76.entry.js.map +0 -1
- package/dist/calcite/p-62d49b49.entry.js +0 -7
- package/dist/calcite/p-62d49b49.entry.js.map +0 -1
- package/dist/calcite/p-662e2116.js +0 -7
- package/dist/calcite/p-67ef9330.entry.js +0 -7
- package/dist/calcite/p-68c56c33.entry.js +0 -7
- package/dist/calcite/p-6b63e9bf.entry.js +0 -7
- package/dist/calcite/p-6dfb11a1.entry.js +0 -7
- package/dist/calcite/p-6f17d28e.js +0 -7
- package/dist/calcite/p-70a06df5.js +0 -7
- package/dist/calcite/p-779c146e.js +0 -7
- package/dist/calcite/p-78ba453e.js +0 -7
- package/dist/calcite/p-78ebc8db.js +0 -11
- package/dist/calcite/p-79ce43f7.js +0 -7
- package/dist/calcite/p-79d47ae7.entry.js +0 -7
- package/dist/calcite/p-7aabf34a.entry.js +0 -7
- package/dist/calcite/p-7ab6a0cd.js +0 -7
- package/dist/calcite/p-7ce83347.js +0 -7
- package/dist/calcite/p-7ed30e3b.entry.js +0 -7
- package/dist/calcite/p-80fbba8e.js +0 -7
- package/dist/calcite/p-81da01ea.js +0 -7
- package/dist/calcite/p-82cf7ed8.js +0 -7
- package/dist/calcite/p-833641c0.js +0 -7
- package/dist/calcite/p-848d50fd.js +0 -7
- package/dist/calcite/p-84ad90ba.js +0 -7
- package/dist/calcite/p-85b1bec3.js +0 -7
- package/dist/calcite/p-88235bb5.js +0 -7
- package/dist/calcite/p-8ac3c2e4.entry.js +0 -7
- package/dist/calcite/p-8be8d73f.js +0 -7
- package/dist/calcite/p-8c052cff.js +0 -7
- package/dist/calcite/p-8cf807d3.js +0 -7
- package/dist/calcite/p-8fad797d.js +0 -7
- package/dist/calcite/p-9047fdad.js +0 -7
- package/dist/calcite/p-905f710f.js +0 -7
- package/dist/calcite/p-91c8e1a8.entry.js +0 -7
- package/dist/calcite/p-91c8e1a8.entry.js.map +0 -1
- package/dist/calcite/p-91fbe602.js +0 -7
- package/dist/calcite/p-9281b2c6.js +0 -7
- package/dist/calcite/p-93c4c54a.js +0 -7
- package/dist/calcite/p-94645116.js +0 -7
- package/dist/calcite/p-9788c794.js +0 -7
- package/dist/calcite/p-990c5d41.entry.js +0 -7
- package/dist/calcite/p-9dace80d.js +0 -7
- package/dist/calcite/p-9fe527a6.js +0 -7
- package/dist/calcite/p-a209805b.js +0 -7
- package/dist/calcite/p-a334baae.js +0 -12
- package/dist/calcite/p-a570e9d8.entry.js +0 -7
- package/dist/calcite/p-ae902554.entry.js +0 -7
- package/dist/calcite/p-ae9db8f1.entry.js +0 -7
- package/dist/calcite/p-b2da4c2f.js +0 -7
- package/dist/calcite/p-b33332da.entry.js +0 -7
- package/dist/calcite/p-b6838251.entry.js +0 -7
- package/dist/calcite/p-b885203e.entry.js +0 -7
- package/dist/calcite/p-b9af6b29.entry.js +0 -7
- package/dist/calcite/p-b9f32da9.entry.js +0 -7
- package/dist/calcite/p-ba942625.js +0 -7
- package/dist/calcite/p-bab51c05.js +0 -13
- package/dist/calcite/p-bd4811d2.entry.js +0 -7
- package/dist/calcite/p-bedfe651.entry.js +0 -7
- package/dist/calcite/p-c02e0865.js +0 -7
- package/dist/calcite/p-c2520c09.js +0 -7
- package/dist/calcite/p-c2db7c6f.entry.js +0 -7
- package/dist/calcite/p-c5559e48.js +0 -7
- package/dist/calcite/p-c6d1758c.entry.js +0 -7
- package/dist/calcite/p-c83997bc.entry.js +0 -7
- package/dist/calcite/p-cae42867.entry.js +0 -7
- package/dist/calcite/p-cb72f3b1.js +0 -7
- package/dist/calcite/p-cc9ac333.js +0 -7
- package/dist/calcite/p-ccf2667e.entry.js +0 -7
- package/dist/calcite/p-ccf2667e.entry.js.map +0 -1
- package/dist/calcite/p-cf778589.js +0 -7
- package/dist/calcite/p-cfde9025.entry.js +0 -7
- package/dist/calcite/p-d0504436.entry.js +0 -7
- package/dist/calcite/p-d11591e6.entry.js +0 -7
- package/dist/calcite/p-d11591e6.entry.js.map +0 -1
- package/dist/calcite/p-d4ea0c6e.entry.js +0 -7
- package/dist/calcite/p-d6bb739a.js +0 -7
- package/dist/calcite/p-d864234c.entry.js +0 -7
- package/dist/calcite/p-d8e6e50c.entry.js +0 -7
- package/dist/calcite/p-d922dc04.js +0 -7
- package/dist/calcite/p-d9db6b9b.js +0 -7
- package/dist/calcite/p-df73ee17.entry.js +0 -7
- package/dist/calcite/p-e10e797a.js +0 -7
- package/dist/calcite/p-e7ec6bb8.js +0 -7
- package/dist/calcite/p-e8cd9f95.entry.js +0 -7
- package/dist/calcite/p-e8e58eab.entry.js +0 -7
- package/dist/calcite/p-eb186efb.entry.js +0 -7
- package/dist/calcite/p-eb186efb.entry.js.map +0 -1
- package/dist/calcite/p-eb9e9f2a.js +0 -7
- package/dist/calcite/p-ecb89e48.js +0 -7
- package/dist/calcite/p-ecc44eea.js +0 -7
- package/dist/calcite/p-ee6f2620.entry.js +0 -7
- package/dist/calcite/p-ef08cf8d.js +0 -7
- package/dist/calcite/p-ef42a511.js +0 -7
- package/dist/calcite/p-f0d3641e.entry.js +0 -7
- package/dist/calcite/p-f0d3641e.entry.js.map +0 -1
- package/dist/calcite/p-f1974ab0.js +0 -7
- package/dist/calcite/p-f1dfe371.js +0 -7
- package/dist/calcite/p-f1f41147.entry.js +0 -7
- package/dist/calcite/p-f498f0e1.entry.js +0 -7
- package/dist/calcite/p-f72de1cc.entry.js +0 -7
- package/dist/calcite/p-f73aaed8.js +0 -7
- package/dist/calcite/p-f8231dcb.js +0 -7
- package/dist/calcite/p-f861810d.js +0 -7
- package/dist/calcite/p-f8e7ddef.entry.js +0 -7
- package/dist/calcite/p-f9a83991.entry.js +0 -7
- package/dist/calcite/p-fb49ce47.js +0 -7
- package/dist/calcite/p-fc2de2e1.entry.js +0 -7
- package/dist/cjs/ExpandToggle-f8fb482a.js +0 -110
- package/dist/cjs/ExpandToggle-f8fb482a.js.map +0 -1
- package/dist/cjs/FloatingArrow-6299b603.js +0 -49
- package/dist/cjs/FloatingArrow-6299b603.js.map +0 -1
- package/dist/cjs/Heading-aa6d8157.js +0 -22
- package/dist/cjs/Heading-aa6d8157.js.map +0 -1
- package/dist/cjs/Validation-ba3b6ebf.js +0 -18
- package/dist/cjs/Validation-ba3b6ebf.js.map +0 -1
- package/dist/cjs/app-globals-76d37f23.js +0 -61
- package/dist/cjs/app-globals-76d37f23.js.map +0 -1
- package/dist/cjs/ar-3d03e954.js +0 -106
- package/dist/cjs/ar-3d03e954.js.map +0 -1
- package/dist/cjs/array-abc8f866.js +0 -14
- package/dist/cjs/array-abc8f866.js.map +0 -1
- package/dist/cjs/bg-7f43aed5.js +0 -84
- package/dist/cjs/bg-7f43aed5.js.map +0 -1
- package/dist/cjs/browser-f3f285f4.js +0 -20
- package/dist/cjs/browser-f3f285f4.js.map +0 -1
- package/dist/cjs/bs-5b5a217a.js +0 -53
- package/dist/cjs/bs-5b5a217a.js.map +0 -1
- package/dist/cjs/ca-223c25f9.js +0 -73
- package/dist/cjs/ca-223c25f9.js.map +0 -1
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-c099520b.js +0 -2918
- package/dist/cjs/calcite-input-time-picker.calcite-time-picker-c099520b.js.map +0 -1
- package/dist/cjs/component-60017307.js +0 -30
- package/dist/cjs/component-60017307.js.map +0 -1
- package/dist/cjs/conditionalSlot-e58d6711.js +0 -60
- package/dist/cjs/conditionalSlot-e58d6711.js.map +0 -1
- package/dist/cjs/cs-388490b0.js +0 -149
- package/dist/cjs/cs-388490b0.js.map +0 -1
- package/dist/cjs/da-88abc8ab.js +0 -68
- package/dist/cjs/da-88abc8ab.js.map +0 -1
- package/dist/cjs/de-5bd3de87.js +0 -93
- package/dist/cjs/de-5bd3de87.js.map +0 -1
- package/dist/cjs/de-at-668193db.js +0 -92
- package/dist/cjs/de-at-668193db.js.map +0 -1
- package/dist/cjs/de-ch-bad76bd7.js +0 -92
- package/dist/cjs/de-ch-bad76bd7.js.map +0 -1
- package/dist/cjs/debounce-0c7e1a59.js +0 -498
- package/dist/cjs/debounce-0c7e1a59.js.map +0 -1
- package/dist/cjs/dom-d4bdfc93.js +0 -1084
- package/dist/cjs/dom-d4bdfc93.js.map +0 -1
- package/dist/cjs/el-7466491b.js +0 -68
- package/dist/cjs/el-7466491b.js.map +0 -1
- package/dist/cjs/en-au-fda1bd9a.js +0 -68
- package/dist/cjs/en-au-fda1bd9a.js.map +0 -1
- package/dist/cjs/en-ca-a835e49f.js +0 -67
- package/dist/cjs/en-ca-a835e49f.js.map +0 -1
- package/dist/cjs/en-gb-936e5972.js +0 -71
- package/dist/cjs/en-gb-936e5972.js.map +0 -1
- package/dist/cjs/es-d0295860.js +0 -68
- package/dist/cjs/es-d0295860.js.map +0 -1
- package/dist/cjs/es-mx-749d587c.js +0 -67
- package/dist/cjs/es-mx-749d587c.js.map +0 -1
- package/dist/cjs/et-616fdd2f.js +0 -94
- package/dist/cjs/et-616fdd2f.js.map +0 -1
- package/dist/cjs/fi-42e5fa5c.js +0 -117
- package/dist/cjs/fi-42e5fa5c.js.map +0 -1
- package/dist/cjs/filter-513ae2bf.js +0 -762
- package/dist/cjs/filter-513ae2bf.js.map +0 -1
- package/dist/cjs/floating-ui-2142db87.js +0 -1965
- package/dist/cjs/floating-ui-2142db87.js.map +0 -1
- package/dist/cjs/focusTrapComponent-7f6948b7.js +0 -1020
- package/dist/cjs/focusTrapComponent-7f6948b7.js.map +0 -1
- package/dist/cjs/form-f34ee1ae.js +0 -333
- package/dist/cjs/form-f34ee1ae.js.map +0 -1
- package/dist/cjs/fr-7b4d8b94.js +0 -70
- package/dist/cjs/fr-7b4d8b94.js.map +0 -1
- package/dist/cjs/fr-ch-5f4ff2fc.js +0 -68
- package/dist/cjs/fr-ch-5f4ff2fc.js.map +0 -1
- package/dist/cjs/guid-c97ceae0.js +0 -23
- package/dist/cjs/guid-c97ceae0.js.map +0 -1
- package/dist/cjs/he-32b69b22.js +0 -107
- package/dist/cjs/he-32b69b22.js.map +0 -1
- package/dist/cjs/hi-69584488.js +0 -67
- package/dist/cjs/hi-69584488.js.map +0 -1
- package/dist/cjs/hr-b79ef6c8.js +0 -82
- package/dist/cjs/hr-b79ef6c8.js.map +0 -1
- package/dist/cjs/hu-8da36a85.js +0 -90
- package/dist/cjs/hu-8da36a85.js.map +0 -1
- package/dist/cjs/id-dfe7e505.js +0 -68
- package/dist/cjs/id-dfe7e505.js.map +0 -1
- package/dist/cjs/index-28c9b535.js +0 -2655
- package/dist/cjs/index-28c9b535.js.map +0 -1
- package/dist/cjs/index-71433929.js +0 -75
- package/dist/cjs/index-71433929.js.map +0 -1
- package/dist/cjs/index-d69d829e.js +0 -208
- package/dist/cjs/index-d69d829e.js.map +0 -1
- package/dist/cjs/input-cd70f4ba.js +0 -57
- package/dist/cjs/input-cd70f4ba.js.map +0 -1
- package/dist/cjs/interactive-f9f66f8f.js +0 -141
- package/dist/cjs/interactive-f9f66f8f.js.map +0 -1
- package/dist/cjs/it-55a85a13.js +0 -68
- package/dist/cjs/it-55a85a13.js.map +0 -1
- package/dist/cjs/it-ch-4c285b14.js +0 -68
- package/dist/cjs/it-ch-4c285b14.js.map +0 -1
- package/dist/cjs/ja-35829c87.js +0 -74
- package/dist/cjs/ja-35829c87.js.map +0 -1
- package/dist/cjs/key-bbb62d71.js +0 -16
- package/dist/cjs/key-bbb62d71.js.map +0 -1
- package/dist/cjs/ko-b35a50b6.js +0 -74
- package/dist/cjs/ko-b35a50b6.js.map +0 -1
- package/dist/cjs/label-b783cc72.js +0 -183
- package/dist/cjs/label-b783cc72.js.map +0 -1
- package/dist/cjs/loadable-fb9078dd.js +0 -91
- package/dist/cjs/loadable-fb9078dd.js.map +0 -1
- package/dist/cjs/locale-6fa7eb38.js +0 -576
- package/dist/cjs/locale-6fa7eb38.js.map +0 -1
- package/dist/cjs/lt-a4ef0054.js +0 -99
- package/dist/cjs/lt-a4ef0054.js.map +0 -1
- package/dist/cjs/lv-1d5be5f7.js +0 -68
- package/dist/cjs/lv-1d5be5f7.js.map +0 -1
- package/dist/cjs/math-63677290.js +0 -57
- package/dist/cjs/math-63677290.js.map +0 -1
- package/dist/cjs/mk-0ea585bb.js +0 -68
- package/dist/cjs/mk-0ea585bb.js.map +0 -1
- package/dist/cjs/nb-a8b9b54c.js +0 -69
- package/dist/cjs/nb-a8b9b54c.js.map +0 -1
- package/dist/cjs/nl-44db397b.js +0 -69
- package/dist/cjs/nl-44db397b.js.map +0 -1
- package/dist/cjs/observers-064ac249.js +0 -50
- package/dist/cjs/observers-064ac249.js.map +0 -1
- package/dist/cjs/openCloseComponent-656ce4c9.js +0 -89
- package/dist/cjs/openCloseComponent-656ce4c9.js.map +0 -1
- package/dist/cjs/pl-9432eb1e.js +0 -116
- package/dist/cjs/pl-9432eb1e.js.map +0 -1
- package/dist/cjs/pt-980403b9.js +0 -69
- package/dist/cjs/pt-980403b9.js.map +0 -1
- package/dist/cjs/pt-br-158bd2d4.js +0 -67
- package/dist/cjs/pt-br-158bd2d4.js.map +0 -1
- package/dist/cjs/resources-339a809b.js +0 -49
- package/dist/cjs/resources-339a809b.js.map +0 -1
- package/dist/cjs/resources-555ae9c3.js +0 -414
- package/dist/cjs/resources-555ae9c3.js.map +0 -1
- package/dist/cjs/resources-639f71f7.js +0 -26
- package/dist/cjs/resources-639f71f7.js.map +0 -1
- package/dist/cjs/resources-72a978f4.js +0 -29
- package/dist/cjs/resources-72a978f4.js.map +0 -1
- package/dist/cjs/resources-863d7f17.js +0 -26
- package/dist/cjs/resources-863d7f17.js.map +0 -1
- package/dist/cjs/resources-c333b556.js +0 -23
- package/dist/cjs/resources-c333b556.js.map +0 -1
- package/dist/cjs/resources-dc909774.js +0 -17
- package/dist/cjs/resources-dc909774.js.map +0 -1
- package/dist/cjs/ro-5b65b1c4.js +0 -68
- package/dist/cjs/ro-5b65b1c4.js.map +0 -1
- package/dist/cjs/ru-9cbeb39b.js +0 -128
- package/dist/cjs/ru-9cbeb39b.js.map +0 -1
- package/dist/cjs/sk-ce9005bc.js +0 -150
- package/dist/cjs/sk-ce9005bc.js.map +0 -1
- package/dist/cjs/sl-38e12db4.js +0 -170
- package/dist/cjs/sl-38e12db4.js.map +0 -1
- package/dist/cjs/sortableComponent-4a4b2293.js +0 -2739
- package/dist/cjs/sortableComponent-4a4b2293.js.map +0 -1
- package/dist/cjs/sr-fe5cae60.js +0 -103
- package/dist/cjs/sr-fe5cae60.js.map +0 -1
- package/dist/cjs/sv-15f1cc71.js +0 -73
- package/dist/cjs/sv-15f1cc71.js.map +0 -1
- package/dist/cjs/t9n-c8b706fd.js +0 -97
- package/dist/cjs/t9n-c8b706fd.js.map +0 -1
- package/dist/cjs/th-8d5f7665.js +0 -67
- package/dist/cjs/th-8d5f7665.js.map +0 -1
- package/dist/cjs/throttle-b9c75f82.js +0 -77
- package/dist/cjs/throttle-b9c75f82.js.map +0 -1
- package/dist/cjs/tr-b212ca71.js +0 -68
- package/dist/cjs/tr-b212ca71.js.map +0 -1
- package/dist/cjs/uk-d6b1d1b1.js +0 -106
- package/dist/cjs/uk-d6b1d1b1.js.map +0 -1
- package/dist/cjs/utils-afcb5b91.js +0 -307
- package/dist/cjs/utils-afcb5b91.js.map +0 -1
- package/dist/cjs/utils-df7c2f32.js +0 -218
- package/dist/cjs/utils-df7c2f32.js.map +0 -1
- package/dist/cjs/vi-946ee544.js +0 -72
- package/dist/cjs/vi-946ee544.js.map +0 -1
- package/dist/cjs/zh-cn-3e37931a.js +0 -96
- package/dist/cjs/zh-cn-3e37931a.js.map +0 -1
- package/dist/cjs/zh-hk-b4eddd51.js +0 -73
- package/dist/cjs/zh-hk-b4eddd51.js.map +0 -1
- package/dist/cjs/zh-tw-e3399aec.js +0 -94
- package/dist/cjs/zh-tw-e3399aec.js.map +0 -1
- package/dist/esm/ExpandToggle-f64fe709.js +0 -102
- package/dist/esm/ExpandToggle-f64fe709.js.map +0 -1
- package/dist/esm/FloatingArrow-74d36f3b.js +0 -47
- package/dist/esm/FloatingArrow-74d36f3b.js.map +0 -1
- package/dist/esm/Heading-8d5b03f8.js +0 -19
- package/dist/esm/Heading-8d5b03f8.js.map +0 -1
- package/dist/esm/Validation-ec921a54.js +0 -16
- package/dist/esm/Validation-ec921a54.js.map +0 -1
- package/dist/esm/app-globals-cb356a9c.js +0 -59
- package/dist/esm/app-globals-cb356a9c.js.map +0 -1
- package/dist/esm/ar-8ac4ce04.js +0 -104
- package/dist/esm/ar-8ac4ce04.js.map +0 -1
- package/dist/esm/array-898ba311.js +0 -12
- package/dist/esm/array-898ba311.js.map +0 -1
- package/dist/esm/bg-b94e6bb9.js +0 -82
- package/dist/esm/bg-b94e6bb9.js.map +0 -1
- package/dist/esm/browser-b1424b1c.js +0 -18
- package/dist/esm/browser-b1424b1c.js.map +0 -1
- package/dist/esm/bs-ad144e7a.js +0 -51
- package/dist/esm/bs-ad144e7a.js.map +0 -1
- package/dist/esm/ca-4a41f28f.js +0 -71
- package/dist/esm/ca-4a41f28f.js.map +0 -1
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-1177cbfa.js +0 -2914
- package/dist/esm/calcite-input-time-picker.calcite-time-picker-1177cbfa.js.map +0 -1
- package/dist/esm/component-bf361bd7.js +0 -27
- package/dist/esm/component-bf361bd7.js.map +0 -1
- package/dist/esm/conditionalSlot-2f1aca52.js +0 -57
- package/dist/esm/conditionalSlot-2f1aca52.js.map +0 -1
- package/dist/esm/cs-fb8ae30b.js +0 -147
- package/dist/esm/cs-fb8ae30b.js.map +0 -1
- package/dist/esm/da-a4f0fb1d.js +0 -66
- package/dist/esm/da-a4f0fb1d.js.map +0 -1
- package/dist/esm/de-at-3929b8e7.js +0 -90
- package/dist/esm/de-at-3929b8e7.js.map +0 -1
- package/dist/esm/de-ch-4d540f21.js +0 -90
- package/dist/esm/de-ch-4d540f21.js.map +0 -1
- package/dist/esm/de-ea3f41b6.js +0 -91
- package/dist/esm/de-ea3f41b6.js.map +0 -1
- package/dist/esm/debounce-e3b28c3a.js +0 -489
- package/dist/esm/debounce-e3b28c3a.js.map +0 -1
- package/dist/esm/dom-2b4f468e.js +0 -1053
- package/dist/esm/dom-2b4f468e.js.map +0 -1
- package/dist/esm/el-2671646a.js +0 -66
- package/dist/esm/el-2671646a.js.map +0 -1
- package/dist/esm/en-au-a8ad3bf0.js +0 -66
- package/dist/esm/en-au-a8ad3bf0.js.map +0 -1
- package/dist/esm/en-ca-3f5429fc.js +0 -65
- package/dist/esm/en-ca-3f5429fc.js.map +0 -1
- package/dist/esm/en-gb-5c04b277.js +0 -69
- package/dist/esm/en-gb-5c04b277.js.map +0 -1
- package/dist/esm/es-97797bf9.js +0 -66
- package/dist/esm/es-97797bf9.js.map +0 -1
- package/dist/esm/es-mx-58e2ae50.js +0 -65
- package/dist/esm/es-mx-58e2ae50.js.map +0 -1
- package/dist/esm/et-7f65df66.js +0 -92
- package/dist/esm/et-7f65df66.js.map +0 -1
- package/dist/esm/fi-4f2b676d.js +0 -115
- package/dist/esm/fi-4f2b676d.js.map +0 -1
- package/dist/esm/filter-7266e670.js +0 -760
- package/dist/esm/filter-7266e670.js.map +0 -1
- package/dist/esm/floating-ui-de4f1a07.js +0 -1957
- package/dist/esm/floating-ui-de4f1a07.js.map +0 -1
- package/dist/esm/focusTrapComponent-98b375a3.js +0 -1015
- package/dist/esm/focusTrapComponent-98b375a3.js.map +0 -1
- package/dist/esm/form-da443173.js +0 -324
- package/dist/esm/form-da443173.js.map +0 -1
- package/dist/esm/fr-03ae87b8.js +0 -68
- package/dist/esm/fr-03ae87b8.js.map +0 -1
- package/dist/esm/fr-ch-0b9069b5.js +0 -66
- package/dist/esm/fr-ch-0b9069b5.js.map +0 -1
- package/dist/esm/guid-ec049642.js +0 -21
- package/dist/esm/guid-ec049642.js.map +0 -1
- package/dist/esm/he-548bf24b.js +0 -105
- package/dist/esm/he-548bf24b.js.map +0 -1
- package/dist/esm/hi-164def17.js +0 -65
- package/dist/esm/hi-164def17.js.map +0 -1
- package/dist/esm/hr-c2894622.js +0 -80
- package/dist/esm/hr-c2894622.js.map +0 -1
- package/dist/esm/hu-d745c627.js +0 -88
- package/dist/esm/hu-d745c627.js.map +0 -1
- package/dist/esm/id-1c2d9f3a.js +0 -66
- package/dist/esm/id-1c2d9f3a.js.map +0 -1
- package/dist/esm/index-04521c1c.js +0 -2620
- package/dist/esm/index-04521c1c.js.map +0 -1
- package/dist/esm/index-a461e905.js +0 -73
- package/dist/esm/index-a461e905.js.map +0 -1
- package/dist/esm/index-b4b2c9bb.js +0 -206
- package/dist/esm/index-b4b2c9bb.js.map +0 -1
- package/dist/esm/input-4eace5ed.js +0 -55
- package/dist/esm/input-4eace5ed.js.map +0 -1
- package/dist/esm/interactive-2ea0a255.js +0 -136
- package/dist/esm/interactive-2ea0a255.js.map +0 -1
- package/dist/esm/it-62002867.js +0 -66
- package/dist/esm/it-62002867.js.map +0 -1
- package/dist/esm/it-ch-afa63d98.js +0 -66
- package/dist/esm/it-ch-afa63d98.js.map +0 -1
- package/dist/esm/ja-ae214550.js +0 -72
- package/dist/esm/ja-ae214550.js.map +0 -1
- package/dist/esm/key-b01e1fe4.js +0 -13
- package/dist/esm/key-b01e1fe4.js.map +0 -1
- package/dist/esm/ko-42cd36b3.js +0 -72
- package/dist/esm/ko-42cd36b3.js.map +0 -1
- package/dist/esm/label-b853daa7.js +0 -176
- package/dist/esm/label-b853daa7.js.map +0 -1
- package/dist/esm/loadable-e91fc681.js +0 -86
- package/dist/esm/loadable-e91fc681.js.map +0 -1
- package/dist/esm/locale-3c16311d.js +0 -563
- package/dist/esm/locale-3c16311d.js.map +0 -1
- package/dist/esm/lt-74ba9b28.js +0 -97
- package/dist/esm/lt-74ba9b28.js.map +0 -1
- package/dist/esm/lv-5ce626b7.js +0 -66
- package/dist/esm/lv-5ce626b7.js.map +0 -1
- package/dist/esm/math-921f6806.js +0 -51
- package/dist/esm/math-921f6806.js.map +0 -1
- package/dist/esm/mk-d8ee78e9.js +0 -66
- package/dist/esm/mk-d8ee78e9.js.map +0 -1
- package/dist/esm/nb-933d14b7.js +0 -67
- package/dist/esm/nb-933d14b7.js.map +0 -1
- package/dist/esm/nl-b462ef4e.js +0 -67
- package/dist/esm/nl-b462ef4e.js.map +0 -1
- package/dist/esm/observers-1e1893e0.js +0 -48
- package/dist/esm/observers-1e1893e0.js.map +0 -1
- package/dist/esm/openCloseComponent-f13e36af.js +0 -87
- package/dist/esm/openCloseComponent-f13e36af.js.map +0 -1
- package/dist/esm/pl-f6c9c8cb.js +0 -114
- package/dist/esm/pl-f6c9c8cb.js.map +0 -1
- package/dist/esm/pt-br-c24ed964.js +0 -65
- package/dist/esm/pt-br-c24ed964.js.map +0 -1
- package/dist/esm/pt-ed3c6e8b.js +0 -67
- package/dist/esm/pt-ed3c6e8b.js.map +0 -1
- package/dist/esm/resources-187e2daa.js +0 -23
- package/dist/esm/resources-187e2daa.js.map +0 -1
- package/dist/esm/resources-1c339606.js +0 -21
- package/dist/esm/resources-1c339606.js.map +0 -1
- package/dist/esm/resources-3038aca1.js +0 -387
- package/dist/esm/resources-3038aca1.js.map +0 -1
- package/dist/esm/resources-4a1418d0.js +0 -45
- package/dist/esm/resources-4a1418d0.js.map +0 -1
- package/dist/esm/resources-7fe2839f.js +0 -25
- package/dist/esm/resources-7fe2839f.js.map +0 -1
- package/dist/esm/resources-861d2bdc.js +0 -19
- package/dist/esm/resources-861d2bdc.js.map +0 -1
- package/dist/esm/resources-ae7ab2d6.js +0 -17
- package/dist/esm/resources-ae7ab2d6.js.map +0 -1
- package/dist/esm/ro-e24f0eb7.js +0 -66
- package/dist/esm/ro-e24f0eb7.js.map +0 -1
- package/dist/esm/ru-e0027e38.js +0 -126
- package/dist/esm/ru-e0027e38.js.map +0 -1
- package/dist/esm/sk-e021c370.js +0 -148
- package/dist/esm/sk-e021c370.js.map +0 -1
- package/dist/esm/sl-732a10dc.js +0 -168
- package/dist/esm/sl-732a10dc.js.map +0 -1
- package/dist/esm/sortableComponent-114d2347.js +0 -2735
- package/dist/esm/sortableComponent-114d2347.js.map +0 -1
- package/dist/esm/sr-f6ead27a.js +0 -101
- package/dist/esm/sr-f6ead27a.js.map +0 -1
- package/dist/esm/sv-d851cbad.js +0 -71
- package/dist/esm/sv-d851cbad.js.map +0 -1
- package/dist/esm/t9n-fc4d7f56.js +0 -92
- package/dist/esm/t9n-fc4d7f56.js.map +0 -1
- package/dist/esm/th-0f15da38.js +0 -65
- package/dist/esm/th-0f15da38.js.map +0 -1
- package/dist/esm/throttle-62da2ccc.js +0 -75
- package/dist/esm/throttle-62da2ccc.js.map +0 -1
- package/dist/esm/tr-7d58d805.js +0 -66
- package/dist/esm/tr-7d58d805.js.map +0 -1
- package/dist/esm/uk-a3ecd43b.js +0 -104
- package/dist/esm/uk-a3ecd43b.js.map +0 -1
- package/dist/esm/utils-a6170a61.js +0 -289
- package/dist/esm/utils-a6170a61.js.map +0 -1
- package/dist/esm/utils-ddf44969.js +0 -200
- package/dist/esm/utils-ddf44969.js.map +0 -1
- package/dist/esm/vi-e6608784.js +0 -70
- package/dist/esm/vi-e6608784.js.map +0 -1
- package/dist/esm/zh-cn-b67a8649.js +0 -94
- package/dist/esm/zh-cn-b67a8649.js.map +0 -1
- package/dist/esm/zh-hk-282a8e94.js +0 -71
- package/dist/esm/zh-hk-282a8e94.js.map +0 -1
- package/dist/esm/zh-tw-77b21489.js +0 -92
- package/dist/esm/zh-tw-77b21489.js.map +0 -1
- /package/dist/calcite/{p-c83997bc.entry.js.map → p-00811dc7.entry.js.map} +0 -0
- /package/dist/calcite/{p-f861810d.js.map → p-0625872c.js.map} +0 -0
- /package/dist/calcite/{p-88235bb5.js.map → p-084add8e.js.map} +0 -0
- /package/dist/calcite/{p-3094fdeb.js.map → p-0c9f0b66.js.map} +0 -0
- /package/dist/calcite/{p-f1dfe371.js.map → p-10b76a2b.js.map} +0 -0
- /package/dist/calcite/{p-f73aaed8.js.map → p-120a39ca.js.map} +0 -0
- /package/dist/calcite/{p-7aabf34a.entry.js.map → p-12eb1f3a.entry.js.map} +0 -0
- /package/dist/calcite/{p-a570e9d8.entry.js.map → p-139e85d4.entry.js.map} +0 -0
- /package/dist/calcite/{p-7ab6a0cd.js.map → p-18359ae7.js.map} +0 -0
- /package/dist/calcite/{p-f498f0e1.entry.js.map → p-184d4d53.entry.js.map} +0 -0
- /package/dist/calcite/{p-1ad3f590.entry.js.map → p-1a280990.entry.js.map} +0 -0
- /package/dist/calcite/{p-49814e41.entry.js.map → p-1ad245bb.entry.js.map} +0 -0
- /package/dist/calcite/{p-4abdccae.entry.js.map → p-1bd1e6ee.entry.js.map} +0 -0
- /package/dist/calcite/{p-b9f32da9.entry.js.map → p-1cd75980.entry.js.map} +0 -0
- /package/dist/calcite/{p-270b8733.js.map → p-1df035e4.js.map} +0 -0
- /package/dist/calcite/{p-4ad7e3b4.js.map → p-224935be.js.map} +0 -0
- /package/dist/calcite/{p-ba942625.js.map → p-240b0637.js.map} +0 -0
- /package/dist/calcite/{p-195622fd.entry.js.map → p-24764169.entry.js.map} +0 -0
- /package/dist/calcite/{p-8ac3c2e4.entry.js.map → p-24ff5e2e.entry.js.map} +0 -0
- /package/dist/calcite/{p-e8cd9f95.entry.js.map → p-25b93e8a.entry.js.map} +0 -0
- /package/dist/calcite/{p-d8e6e50c.entry.js.map → p-26b601d9.entry.js.map} +0 -0
- /package/dist/calcite/{p-0a226917.entry.js.map → p-26bbbef5.entry.js.map} +0 -0
- /package/dist/calcite/{p-5a949941.js.map → p-27d87a26.js.map} +0 -0
- /package/dist/calcite/{p-f9a83991.entry.js.map → p-280bd05c.entry.js.map} +0 -0
- /package/dist/calcite/{p-102a8a3c.entry.js.map → p-28e04e26.entry.js.map} +0 -0
- /package/dist/calcite/{p-1b6a7d43.entry.js.map → p-29caad14.entry.js.map} +0 -0
- /package/dist/calcite/{p-d9db6b9b.js.map → p-2a711503.js.map} +0 -0
- /package/dist/calcite/{p-e7ec6bb8.js.map → p-2bef44f9.js.map} +0 -0
- /package/dist/calcite/{p-f8231dcb.js.map → p-2cf51e6d.js.map} +0 -0
- /package/dist/calcite/{p-4d1d795a.js.map → p-2dfd3047.js.map} +0 -0
- /package/dist/calcite/{p-a209805b.js.map → p-2e3c48c4.js.map} +0 -0
- /package/dist/calcite/{p-1a70e255.entry.js.map → p-31793816.entry.js.map} +0 -0
- /package/dist/calcite/{p-1b6df6e3.js.map → p-339f4a81.js.map} +0 -0
- /package/dist/calcite/{p-c5559e48.js.map → p-38900907.js.map} +0 -0
- /package/dist/calcite/{p-b33332da.entry.js.map → p-3e5c5492.entry.js.map} +0 -0
- /package/dist/calcite/{p-2f46886e.entry.js.map → p-3f517577.entry.js.map} +0 -0
- /package/dist/calcite/{p-b885203e.entry.js.map → p-417aab79.entry.js.map} +0 -0
- /package/dist/calcite/{p-436f688a.js.map → p-4291e86c.js.map} +0 -0
- /package/dist/calcite/{p-349d9d39.js.map → p-42c60e95.js.map} +0 -0
- /package/dist/calcite/{p-c02e0865.js.map → p-437f681a.js.map} +0 -0
- /package/dist/calcite/{p-fc2de2e1.entry.js.map → p-444be2f5.entry.js.map} +0 -0
- /package/dist/calcite/{p-218195fe.js.map → p-4645e371.js.map} +0 -0
- /package/dist/calcite/{p-392d03a3.js.map → p-46fe3554.js.map} +0 -0
- /package/dist/calcite/{p-8fad797d.js.map → p-47968591.js.map} +0 -0
- /package/dist/calcite/{p-12f9ae32.entry.js.map → p-47ca1d8e.entry.js.map} +0 -0
- /package/dist/calcite/{p-cf778589.js.map → p-49c579e5.js.map} +0 -0
- /package/dist/calcite/{p-e8e58eab.entry.js.map → p-4c369960.entry.js.map} +0 -0
- /package/dist/calcite/{p-b9af6b29.entry.js.map → p-4c508da2.entry.js.map} +0 -0
- /package/dist/calcite/{p-452b6321.js.map → p-4f02bed9.js.map} +0 -0
- /package/dist/calcite/{p-3302dafe.entry.js.map → p-4f8c75d5.entry.js.map} +0 -0
- /package/dist/calcite/{p-126e7efd.entry.js.map → p-50251139.entry.js.map} +0 -0
- /package/dist/calcite/{p-106a9b3c.entry.js.map → p-51275203.entry.js.map} +0 -0
- /package/dist/calcite/{p-ae9db8f1.entry.js.map → p-5186eed6.entry.js.map} +0 -0
- /package/dist/calcite/{p-79ce43f7.js.map → p-59521fdf.js.map} +0 -0
- /package/dist/calcite/{p-eb9e9f2a.js.map → p-5e22872e.js.map} +0 -0
- /package/dist/calcite/{p-7ed30e3b.entry.js.map → p-5e43ab83.entry.js.map} +0 -0
- /package/dist/calcite/{p-d0504436.entry.js.map → p-5e92e1ad.entry.js.map} +0 -0
- /package/dist/calcite/{p-8c052cff.js.map → p-6079fdc2.js.map} +0 -0
- /package/dist/calcite/{p-82cf7ed8.js.map → p-622cc688.js.map} +0 -0
- /package/dist/calcite/{p-94645116.js.map → p-628662c2.js.map} +0 -0
- /package/dist/calcite/{p-2ba49f61.js.map → p-669bc42a.js.map} +0 -0
- /package/dist/calcite/{p-79d47ae7.entry.js.map → p-686f0c7c.entry.js.map} +0 -0
- /package/dist/calcite/{p-f8e7ddef.entry.js.map → p-6a1531cd.entry.js.map} +0 -0
- /package/dist/calcite/{p-8be8d73f.js.map → p-6b06781e.js.map} +0 -0
- /package/dist/calcite/{p-bd4811d2.entry.js.map → p-6d014b44.entry.js.map} +0 -0
- /package/dist/calcite/{p-11e896ea.entry.js.map → p-6dbace39.entry.js.map} +0 -0
- /package/dist/calcite/{p-29d96e73.js.map → p-6f77b6f1.js.map} +0 -0
- /package/dist/calcite/{p-8cf807d3.js.map → p-7071a823.js.map} +0 -0
- /package/dist/calcite/{p-662e2116.js.map → p-742e73a7.js.map} +0 -0
- /package/dist/calcite/{p-33d10fc7.js.map → p-74c69a65.js.map} +0 -0
- /package/dist/calcite/{p-9dace80d.js.map → p-76c93eaf.js.map} +0 -0
- /package/dist/calcite/{p-78ba453e.js.map → p-77547406.js.map} +0 -0
- /package/dist/calcite/{p-59978662.js.map → p-78aae094.js.map} +0 -0
- /package/dist/calcite/{p-ee6f2620.entry.js.map → p-81f6135e.entry.js.map} +0 -0
- /package/dist/calcite/{p-5ae8bfd3.js.map → p-829b93e3.js.map} +0 -0
- /package/dist/calcite/{p-098dde49.entry.js.map → p-84ecb43d.entry.js.map} +0 -0
- /package/dist/calcite/{p-45e2e445.js.map → p-8624b17c.js.map} +0 -0
- /package/dist/calcite/{p-5024cc43.js.map → p-873f857b.js.map} +0 -0
- /package/dist/calcite/{p-12f73849.js.map → p-8786d071.js.map} +0 -0
- /package/dist/calcite/{p-e10e797a.js.map → p-8893aba2.js.map} +0 -0
- /package/dist/calcite/{p-bedfe651.entry.js.map → p-88e135c5.entry.js.map} +0 -0
- /package/dist/calcite/{p-6f17d28e.js.map → p-8c52a1c8.js.map} +0 -0
- /package/dist/calcite/{p-48b67298.entry.js.map → p-8c990585.entry.js.map} +0 -0
- /package/dist/calcite/{p-1d9815c1.js.map → p-8e00e760.js.map} +0 -0
- /package/dist/calcite/{p-a334baae.js.map → p-8fa97612.js.map} +0 -0
- /package/dist/calcite/{p-50ba23b3.entry.js.map → p-95d85b7f.entry.js.map} +0 -0
- /package/dist/calcite/{p-cae42867.entry.js.map → p-96bdb910.entry.js.map} +0 -0
- /package/dist/calcite/{p-211b17ce.entry.js.map → p-9717bac8.entry.js.map} +0 -0
- /package/dist/calcite/{p-28f1b0cd.js.map → p-996459ff.js.map} +0 -0
- /package/dist/calcite/{p-b6838251.entry.js.map → p-9966e031.entry.js.map} +0 -0
- /package/dist/calcite/{p-1d8fa933.js.map → p-9ae388ae.js.map} +0 -0
- /package/dist/calcite/{p-ecb89e48.js.map → p-9e840fe0.js.map} +0 -0
- /package/dist/calcite/{p-cc9ac333.js.map → p-a017bb90.js.map} +0 -0
- /package/dist/calcite/{p-9fe527a6.js.map → p-a01a6712.js.map} +0 -0
- /package/dist/calcite/{p-81da01ea.js.map → p-a578d140.js.map} +0 -0
- /package/dist/calcite/{p-833641c0.js.map → p-a729c4f3.js.map} +0 -0
- /package/dist/calcite/{p-d864234c.entry.js.map → p-a8923d3c.entry.js.map} +0 -0
- /package/dist/calcite/{p-93c4c54a.js.map → p-ae62a83c.js.map} +0 -0
- /package/dist/calcite/{p-9788c794.js.map → p-b000d861.js.map} +0 -0
- /package/dist/calcite/{p-84ad90ba.js.map → p-b09c39cd.js.map} +0 -0
- /package/dist/calcite/{p-f1f41147.entry.js.map → p-b122cc2d.entry.js.map} +0 -0
- /package/dist/calcite/{p-9047fdad.js.map → p-b204681b.js.map} +0 -0
- /package/dist/calcite/{p-78ebc8db.js.map → p-b2567815.js.map} +0 -0
- /package/dist/calcite/{p-990c5d41.entry.js.map → p-b2d95cee.entry.js.map} +0 -0
- /package/dist/calcite/{p-d922dc04.js.map → p-b349c937.js.map} +0 -0
- /package/dist/calcite/{p-ae902554.entry.js.map → p-b49ccbb3.entry.js.map} +0 -0
- /package/dist/calcite/{p-848d50fd.js.map → p-b7dacf13.js.map} +0 -0
- /package/dist/calcite/{p-0f6aef5f.js.map → p-bd6cd55c.js.map} +0 -0
- /package/dist/calcite/{p-68c56c33.entry.js.map → p-beacae6b.entry.js.map} +0 -0
- /package/dist/calcite/{p-bab51c05.js.map → p-bf94a9da.js.map} +0 -0
- /package/dist/calcite/{p-fb49ce47.js.map → p-c0a21175.js.map} +0 -0
- /package/dist/calcite/{p-b2da4c2f.js.map → p-c0c6ba81.js.map} +0 -0
- /package/dist/calcite/{p-f72de1cc.entry.js.map → p-c11bfb4b.entry.js.map} +0 -0
- /package/dist/calcite/{p-d6bb739a.js.map → p-c163f727.js.map} +0 -0
- /package/dist/calcite/{p-d4ea0c6e.entry.js.map → p-c3d682ca.entry.js.map} +0 -0
- /package/dist/calcite/{p-4978e6f6.js.map → p-c444d512.js.map} +0 -0
- /package/dist/calcite/{p-c2520c09.js.map → p-c4d87776.js.map} +0 -0
- /package/dist/calcite/{p-2ba0f9e1.js.map → p-c6f03eb2.js.map} +0 -0
- /package/dist/calcite/{p-91fbe602.js.map → p-c770f80e.js.map} +0 -0
- /package/dist/calcite/{p-80fbba8e.js.map → p-c848c82e.js.map} +0 -0
- /package/dist/calcite/{p-6b63e9bf.entry.js.map → p-c88443d6.entry.js.map} +0 -0
- /package/dist/calcite/{p-2b5b4ef0.entry.js.map → p-cae107a5.entry.js.map} +0 -0
- /package/dist/calcite/{p-4887bcc6.js.map → p-cde608e0.js.map} +0 -0
- /package/dist/calcite/{p-21111ff8.js.map → p-cf44a1d7.js.map} +0 -0
- /package/dist/calcite/{p-ef42a511.js.map → p-cf8695c8.js.map} +0 -0
- /package/dist/calcite/{p-67ef9330.entry.js.map → p-d00db92c.entry.js.map} +0 -0
- /package/dist/calcite/{p-2dd28699.entry.js.map → p-dab6d405.entry.js.map} +0 -0
- /package/dist/calcite/{p-343e5a25.js.map → p-e27243c0.js.map} +0 -0
- /package/dist/calcite/{p-70a06df5.js.map → p-e3062192.js.map} +0 -0
- /package/dist/calcite/{p-85b1bec3.js.map → p-e37ad8c6.js.map} +0 -0
- /package/dist/calcite/{p-16c12e8d.js.map → p-e4be124e.js.map} +0 -0
- /package/dist/calcite/{p-ef08cf8d.js.map → p-e6309157.js.map} +0 -0
- /package/dist/calcite/{p-7ce83347.js.map → p-e7173f47.js.map} +0 -0
- /package/dist/calcite/{p-192ac931.entry.js.map → p-e7771e7d.entry.js.map} +0 -0
- /package/dist/calcite/{p-cb72f3b1.js.map → p-e778acdc.js.map} +0 -0
- /package/dist/calcite/{p-4cfb8d30.js.map → p-e98961bb.js.map} +0 -0
- /package/dist/calcite/{p-c2db7c6f.entry.js.map → p-ef71966c.entry.js.map} +0 -0
- /package/dist/calcite/{p-cfde9025.entry.js.map → p-f0954ae0.entry.js.map} +0 -0
- /package/dist/calcite/{p-ecc44eea.js.map → p-f37fd38f.js.map} +0 -0
- /package/dist/calcite/{p-379211fa.js.map → p-f3e00de9.js.map} +0 -0
- /package/dist/calcite/{p-779c146e.js.map → p-f496ec2b.js.map} +0 -0
- /package/dist/calcite/{p-c6d1758c.entry.js.map → p-f4e994e8.entry.js.map} +0 -0
- /package/dist/calcite/{p-df73ee17.entry.js.map → p-f738b6f5.entry.js.map} +0 -0
- /package/dist/calcite/{p-f1974ab0.js.map → p-fbe97994.js.map} +0 -0
- /package/dist/calcite/{p-9281b2c6.js.map → p-fcd20445.js.map} +0 -0
- /package/dist/calcite/{p-5124ce6e.entry.js.map → p-fd042681.entry.js.map} +0 -0
- /package/dist/calcite/{p-6dfb11a1.entry.js.map → p-fd17f371.entry.js.map} +0 -0
- /package/dist/calcite/{p-145a99eb.js.map → p-fe1ca82b.js.map} +0 -0
- /package/dist/calcite/{p-905f710f.js.map → p-fed6a5bf.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.e2e.js","sourceRoot":"","sources":["../../../../src/components/table/table.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAAmB,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE3C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,OAAO,CACL,IAAI,CAAA;kCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB5B,EACjB,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,QAAQ,CAAC,eAAe,EAAE;YACxB;gBACE,YAAY,EAAE,UAAU;gBACxB,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,YAAY,EAAE,gBAAgB;gBAC9B,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,YAAY,EAAE,MAAM;aACrB;YACD;gBACE,YAAY,EAAE,UAAU;gBACxB,YAAY,EAAE,KAAK;aACpB;YACD;gBACE,YAAY,EAAE,UAAU;gBACxB,YAAY,EAAE,CAAC;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,YAAY,EAAE,GAAG;aAClB;YACD;gBACE,YAAY,EAAE,eAAe;gBAC7B,YAAY,EAAE,MAAM;aACrB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,YAAY,EAAE,KAAK;aACpB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,QAAQ,CAAC,eAAe,EAAE;YACxB;gBACE,YAAY,EAAE,QAAQ;gBACtB,KAAK,EAAE,MAAM;aACd;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,KAAK,EAAE,GAAG;aACX;YACD;gBACE,YAAY,EAAE,eAAe;gBAC7B,KAAK,EAAE,MAAM;aACd;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;YACpC,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;yBAgB5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;YAC1D,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;yBAgB5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,6DAA6D,EAAE,GAAG,EAAE;YAC3E,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;yBAgB5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;YACxD,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;yBAgB5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;YAC3C,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;yBAgB5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACzD,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;yBAgB5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;YAC7C,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAgC5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAChE,UAAU,CACR,IAAI,CAAA;oCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAgC5B,CAClB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;kCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB5B,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YAEzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;kCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB5B,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAA8B,gCAAgC,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;kCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB5B,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAEpF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;kCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB5B,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAEpF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACrE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAErE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAElD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAE5C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,aAAa,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;kCACwB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB5B,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAChE,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB1C,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAgC,kCAAkC,CAAC,CAAC;YAC7G,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yGAAyG,EAAE,KAAK,IAAI,EAAE;QACvH,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB1C,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAgC,kCAAkC,CAAC,CAAC;YAC7G,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB1C,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAgC,kCAAkC,CAAC,CAAC;YAC7G,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB1C,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAgC,kCAAkC,CAAC,CAAC;YAC7G,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB1C,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAE5E,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YAEpG,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,mBAAmB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB1C,CAClB,CAAC;QAEF,MAAM,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,gBAAgB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YAEpG,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YAEpG,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YAEpG,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,gBAAgB,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;uBAgB1C,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;uBAwB1C,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;uBAwB1C,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YACpG,MAAM,EAAE,KAAK,EAAE,CAAC;YACf,UAA4C,CAAC,QAAQ,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YAEpG,MAAM,EAAE,KAAK,EAAE,CAAC;YACf,UAA4C,CAAC,QAAQ,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;uBAoB1C,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;uBAoB1C,CAClB,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;oCAC0B,KAAK,CAAC,WAAW;;;;oCAIjB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;oCAsBjB,KAAK,CAAC,WAAW;;;;;;oCAMjB,KAAK,CAAC,WAAW;;;;;WAK1C,CACN,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4HAA4H,EAAE,KAAK,IAAI,EAAE;QAC1I,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;oCAC0B,KAAK,CAAC,WAAW;;;;oCAIjB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;oCAsBjB,KAAK,CAAC,WAAW;;;;;;oCAMjB,KAAK,CAAC,WAAW;;;;;WAK1C,CACN,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YAEpG,MAAM,EAAE,KAAK,EAAE,CAAC;YACf,UAA4C,CAAC,QAAQ,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;kCAgB/B,KAAK,CAAC,WAAW;;;;uBAI5B,CAClB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAEtE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAEtE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;kCAgB/B,KAAK,CAAC,WAAW;;;;uBAI5B,CAClB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAE7D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;kCAgB/B,KAAK,CAAC,WAAW;;;;uBAI5B,CAClB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAC7G,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;kCAoB/B,KAAK,CAAC,WAAW;;;;uBAI5B,CAClB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAEtE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAEtE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gHAAgH,EAAE,KAAK,IAAI,EAAE;QAC9H,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CACnB,IAAI,CAAA;gDACsC,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;kCAoB/B,KAAK,CAAC,WAAW;;;;uBAI5B,CAClB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAE7D,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE;YACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEtD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAC,aAAa,CAAoB,4BAA4B,CAAC,CAAC;YACpG,MAAM,EAAE,KAAK,EAAE,CAAC;YACf,UAA4C,CAAC,QAAQ,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAChH,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,MAAM,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEhE,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,CACJ,MAAM,IAAI,CAAC,KAAK,CACd,IAAI,OAAO,CAAC,EAAE,EAAE,EAChB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAC/E,CACF,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAUH;;;;;;;;GAQG;AACH,KAAK,UAAU,mBAAmB,CAAC,IAAa,EAAE,EAAE,eAAe,EAAiC;IAClG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;QAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAA0B,eAAe,CAAC,CAAC;QAC/E,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,eAAe,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE7D,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7F,CAAC;AAID;;;;GAIG;AACH,mBAAmB,CAAC,WAAW,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;IACxD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;QACvB,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,EAAE,MAAM,EAA0B,EAAE,EAAE;YACpF,MAAmC,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { html } from \"../../../support/formatting\";\nimport { accessible, renders, hidden, defaults, reflects } from \"../../tests/commonTests\";\nimport { GlobalTestProps, getFocusedElementProp } from \"../../tests/utils\";\nimport { CSS } from \"../table-header/resources\";\nimport { CSS as CELL_CSS } from \"../table-cell/resources\";\nimport { SLOTS } from \"../table/resources\";\n\ndescribe(\"calcite-table\", () => {\n describe(\"renders\", () => {\n renders(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n { display: \"flex\" },\n );\n });\n\n describe(\"defaults\", () => {\n defaults(\"calcite-table\", [\n {\n propertyName: \"bordered\",\n defaultValue: false,\n },\n {\n propertyName: \"groupSeparator\",\n defaultValue: false,\n },\n {\n propertyName: \"layout\",\n defaultValue: \"auto\",\n },\n {\n propertyName: \"numbered\",\n defaultValue: false,\n },\n {\n propertyName: \"pageSize\",\n defaultValue: 0,\n },\n {\n propertyName: \"scale\",\n defaultValue: \"m\",\n },\n {\n propertyName: \"selectionMode\",\n defaultValue: \"none\",\n },\n {\n propertyName: \"striped\",\n defaultValue: false,\n },\n ]);\n });\n\n describe(\"reflects\", () => {\n reflects(\"calcite-table\", [\n {\n propertyName: \"layout\",\n value: \"auto\",\n },\n {\n propertyName: \"scale\",\n value: \"m\",\n },\n {\n propertyName: \"selectionMode\",\n value: \"none\",\n },\n ]);\n });\n\n describe(\"hidden\", () => {\n hidden(\"calcite-table\");\n });\n\n describe(\"accessible\", () => {\n describe(\"is accessible simple\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with selection mode multiple\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" selection-mode=\"multiple\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with selection mode multiple selected at load\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" selection-mode=\"multiple\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with selection mode single\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" selection-mode=\"single\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with numbered\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" numbered>\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with numbered and selection\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" numbered selection-mode=\"multiple\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with pagination\", () => {\n accessible(\n html`<calcite-table page-size=\"4\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with pagination and selection mode\", () => {\n accessible(\n html`<calcite-table page-size=\"4\" selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n });\n});\n\ndescribe(\"selection modes\", () => {\n it(\"selection mode single allows one or no rows to be selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"single\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-1\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-2\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row2.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-3\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-3\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(2);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"selection mode multiple allows one, multiple, or no rows to be selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-1\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-2\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-3\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-1\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"selection mode single allows one or no rows to be selected with keyboard\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"single\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const selectionCell1 = await page.find(\"#row-1 >>> calcite-table-cell:first-child\");\n const selectionCell2 = await page.find(\"#row-2 >>> calcite-table-cell:first-child\");\n const selectionCell3 = await page.find(\"#row-3 >>> calcite-table-cell:first-child\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n await selectionCell1.callMethod(\"setFocus\");\n await page.waitForChanges();\n\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await selectionCell2.callMethod(\"setFocus\");\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row2.id] });\n\n await selectionCell3.callMethod(\"setFocus\");\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n\n await selectionCell3.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(2);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"selection mode multiple allows one, multiple, or no rows to be selected with keyboard\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n const selectionCell1 = await page.find(\"#row-1 >>> calcite-table-cell:first-child\");\n const selectionCell2 = await page.find(\"#row-2 >>> calcite-table-cell:first-child\");\n const selectionCell3 = await page.find(\"#row-3 >>> calcite-table-cell:first-child\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row2.id, row3.id] });\n\n await selectionCell1.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n\n await selectionCell2.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row3.id] });\n\n await selectionCell3.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await selectionCell1.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n it(\"correctly has no selected items after user clears selection via clear button\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const button = table.shadowRoot.querySelector(\"calcite-button\");\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"correctly has all items selected after user uses select all cell while none selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n });\n\n it(\"correctly has all items selected after user uses select all cell while none selected and multiple pages\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\" page-size=\"1\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n });\n\n it(\"correctly has all items selected after user uses select all cell while some selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row2.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n });\n\n it(\"correctly has no items selected after user uses select none cell while all selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"correctly maintains selected items if they are paginated out of view\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const tablePaginateSpy = await element.spyOnEvent(\"calciteTablePageChange\");\n\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(tablePaginateSpy).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(2)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(tablePaginateSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n });\n});\n\ndescribe(\"pagination event\", () => {\n it(\"correctly emits pagination event\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\" page-size=\"1\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const tablePaginateSpy = await element.spyOnEvent(\"calciteTablePageChange\");\n await page.waitForChanges();\n\n expect(tablePaginateSpy).toHaveReceivedEventTimes(0);\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(2)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tablePaginateSpy).toHaveReceivedEventTimes(1);\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tablePaginateSpy).toHaveReceivedEventTimes(2);\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(4)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tablePaginateSpy).toHaveReceivedEventTimes(3);\n });\n});\n\ndescribe(\"keyboard navigation\", () => {\n it(\"navigates correctly when no pagination or selection present\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n });\n\n it(\"navigates correctly when pagination present and first page displayed\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-5\">\n <calcite-table-cell id=\"cell-5a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-5b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n });\n\n it(\"navigates correctly when pagination present, and navigation to two other pages occurs\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-5\">\n <calcite-table-cell id=\"cell-5a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-5b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(4)\");\n\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5b\");\n });\n\n it(\"navigates correctly skipping disabled rows\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" disabled>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" disabled>\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n });\n\n it(\"navigates correctly skipping disabled rows when disabled rows in last body position\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" disabled>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\" disabled>\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n });\n\n it(\"navigates correctly when multiple header and multiple footer rows\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Multiple headers using col-span table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" col-span=\"2\" heading=\"Name\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" col-span=\"2\" heading=\"Information\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-2a\" heading=\"First\"></calcite-table-header>\n <calcite-table-header id=\"head-2b\" heading=\"Last\"></calcite-table-header>\n <calcite-table-header id=\"head-2c\" heading=\"Education level\"></calcite-table-header>\n <calcite-table-header id=\"head-2d\" heading=\"Age\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1c\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1d\">foot</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-2a\" col-span=\"2\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-2b\" col-span=\"2\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>\n >;`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2d\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n });\n\n it(\"navigates correctly when multiple header and multiple footer rows, pagination present, and navigation to other page occurs\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Multiple headers using col-span table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" col-span=\"2\" heading=\"Name\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" col-span=\"2\" heading=\"Information\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-2a\" heading=\"First\"></calcite-table-header>\n <calcite-table-header id=\"head-2b\" heading=\"Last\"></calcite-table-header>\n <calcite-table-header id=\"head-2c\" heading=\"Education level\"></calcite-table-header>\n <calcite-table-header id=\"head-2d\" heading=\"Age\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1c\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1d\">foot</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-2a\" col-span=\"2\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-2b\" col-span=\"2\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>\n >;`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2d\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2d\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n });\n\n it(\"navigates correctly when selection column present\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row3 = await page.find(\"#row-3\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n });\n\n it(\"navigates correctly when number column present\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row3 = await page.find(\"#row-3\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n });\n\n it(\"navigates correctly when number and selection column present numbered\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered selection-mode=\"single\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row3 = await page.find(\"#row-3\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n });\n\n it(\"navigates correctly when pagination present and selection and number and first page displayed\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered selection-mode=\"multiple\" page-size=\"2\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row2 = await page.find(\"#row-2\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row2.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n });\n\n it(\"navigates correctly when pagination present, and selection and number and navigation to two other pages occurs\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered selection-mode=\"single\" page-size=\"2\" caption=\"Simple table\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n const row4 = await page.find(\"#row-4\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row1.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row1.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row2.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row2.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n page.keyboard.press(\"ControlRight\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row4.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row4.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n });\n});\n\n// Borrowed from Dropdown until a generic utility is set up.\ninterface SelectedItemsAssertionOptions {\n /**\n * IDs from items to assert selection\n */\n expectedItemIds: string[];\n}\n\n/**\n * Test helper for selected calcite-table-row items. Expects items to have IDs to test against.\n *\n * Note: assertSelectedItems.setUpEvents must be called before using this method\n *\n * @param page\n * @param root0\n * @param root0.expectedItemIds\n */\nasync function assertSelectedItems(page: E2EPage, { expectedItemIds }: SelectedItemsAssertionOptions): Promise<void> {\n await page.waitForTimeout(100);\n const selectedItemIds = await page.evaluate(() => {\n const table = document.querySelector<HTMLCalciteTableElement>(\"calcite-table\");\n return table.selectedItems.map((item) => item.id);\n });\n\n expect(selectedItemIds).toHaveLength(expectedItemIds.length);\n\n expectedItemIds.forEach((itemId, index) => expect(selectedItemIds[index]).toEqual(itemId));\n}\n\ntype SelectionEventTestWindow = GlobalTestProps<{ eventDetail: Selection }>;\n\n/**\n * Helper to wire up the page to assert on the event detail\n *\n * @param page\n */\nassertSelectedItems.setUpEvents = async (page: E2EPage) => {\n await page.evaluate(() => {\n document.addEventListener(\"calciteTableSelect\", ({ detail }: CustomEvent<Selection>) => {\n (window as SelectionEventTestWindow).eventDetail = detail;\n });\n });\n};\n"]}
|
|
1
|
+
{"version":3,"file":"table.e2e.js","sourceRoot":"","sources":["../../../../src/components/table/table.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { E2EPage, newE2EPage } from \"@stencil/core/testing\";\nimport { html } from \"../../../support/formatting\";\nimport { accessible, renders, hidden, defaults, reflects } from \"../../tests/commonTests\";\nimport { GlobalTestProps, getFocusedElementProp } from \"../../tests/utils\";\nimport { CSS } from \"../table-header/resources\";\nimport { CSS as CELL_CSS } from \"../table-cell/resources\";\nimport { SLOTS } from \"../table/resources\";\n\ndescribe(\"calcite-table\", () => {\n describe(\"renders\", () => {\n renders(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n { display: \"flex\" },\n );\n });\n\n describe(\"defaults\", () => {\n defaults(\"calcite-table\", [\n {\n propertyName: \"bordered\",\n defaultValue: false,\n },\n {\n propertyName: \"groupSeparator\",\n defaultValue: false,\n },\n {\n propertyName: \"layout\",\n defaultValue: \"auto\",\n },\n {\n propertyName: \"numbered\",\n defaultValue: false,\n },\n {\n propertyName: \"pageSize\",\n defaultValue: 0,\n },\n {\n propertyName: \"scale\",\n defaultValue: \"m\",\n },\n {\n propertyName: \"selectionMode\",\n defaultValue: \"none\",\n },\n {\n propertyName: \"striped\",\n defaultValue: false,\n },\n ]);\n });\n\n describe(\"reflects\", () => {\n reflects(\"calcite-table\", [\n {\n propertyName: \"layout\",\n value: \"auto\",\n },\n {\n propertyName: \"scale\",\n value: \"m\",\n },\n {\n propertyName: \"selectionMode\",\n value: \"none\",\n },\n ]);\n });\n\n describe(\"hidden\", () => {\n hidden(\"calcite-table\");\n });\n\n describe(\"accessible\", () => {\n describe(\"is accessible simple\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with selection mode multiple\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" selection-mode=\"multiple\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with selection mode multiple selected at load\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" selection-mode=\"multiple\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with selection mode single\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" selection-mode=\"single\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with numbered\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" numbered>\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with numbered and selection\", () => {\n accessible(\n html`<calcite-table caption=\"Simple table\" numbered selection-mode=\"multiple\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with pagination\", () => {\n accessible(\n html`<calcite-table page-size=\"4\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with pagination and interaction mode static\", () => {\n accessible(\n html`<calcite-table page-size=\"4\" caption=\"Simple table\" interaction-mode=\"static\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n\n describe(\"is accessible with pagination and selection mode\", () => {\n accessible(\n html`<calcite-table page-size=\"4\" selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n });\n });\n});\n\ndescribe(\"selection modes\", () => {\n it(\"selection mode single allows one or no rows to be selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"single\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-1\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-2\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row2.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-3\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-3\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(2);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"selection mode multiple allows one, multiple, or no rows to be selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-1\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-2\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-3\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-1\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableCellElement>(\"calcite-table-cell:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"selection mode single allows one or no rows to be selected with keyboard\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"single\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const selectionCell1 = await page.find(\"#row-1 >>> calcite-table-cell:first-child\");\n const selectionCell2 = await page.find(\"#row-2 >>> calcite-table-cell:first-child\");\n const selectionCell3 = await page.find(\"#row-3 >>> calcite-table-cell:first-child\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n await selectionCell1.callMethod(\"setFocus\");\n await page.waitForChanges();\n\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await selectionCell2.callMethod(\"setFocus\");\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row2.id] });\n\n await selectionCell3.callMethod(\"setFocus\");\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row3.id] });\n\n await selectionCell3.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(2);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"selection mode multiple allows one, multiple, or no rows to be selected with keyboard\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n const selectionCell1 = await page.find(\"#row-1 >>> calcite-table-cell:first-child\");\n const selectionCell2 = await page.find(\"#row-2 >>> calcite-table-cell:first-child\");\n const selectionCell3 = await page.find(\"#row-3 >>> calcite-table-cell:first-child\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const rowSelectSpy1 = await row1.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy2 = await row2.spyOnEvent(\"calciteTableRowSelect\");\n const rowSelectSpy3 = await row3.spyOnEvent(\"calciteTableRowSelect\");\n\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row2.id, row3.id] });\n\n await selectionCell1.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(await rowSelectSpy2).toHaveReceivedEventTimes(0);\n expect(await rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n\n await selectionCell2.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row3.id] });\n\n await selectionCell3.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Enter\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(3);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await selectionCell1.callMethod(\"setFocus\");\n\n await page.waitForChanges();\n await page.keyboard.press(\"Space\");\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(4);\n expect(rowSelectSpy1).toHaveReceivedEventTimes(2);\n expect(rowSelectSpy2).toHaveReceivedEventTimes(1);\n expect(rowSelectSpy3).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n\n expect(await element.getProperty(\"selectedItems\")).toEqual([]);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n it(\"correctly has no selected items after user clears selection via clear button\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(2);\n await assertSelectedItems(page, { expectedItemIds: [row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const button = table.shadowRoot.querySelector(\"calcite-button\");\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"correctly has all items selected after user uses select all cell while none selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n });\n\n it(\"correctly has all items selected after user uses select all cell while none selected and multiple pages\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\" page-size=\"1\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n });\n\n it(\"correctly has all items selected after user uses select all cell while some selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row2.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n });\n\n it(\"correctly has no items selected after user uses select none cell while all selected\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(true);\n expect(await row3.getProperty(\"selected\")).toBe(true);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(3);\n await assertSelectedItems(page, { expectedItemIds: [row1.id, row2.id, row3.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const row = document.getElementById(\"row-head\");\n const cell = row.shadowRoot.querySelector<HTMLCalciteTableHeaderElement>(\"calcite-table-header:first-child\");\n cell.click();\n });\n\n await page.waitForChanges();\n expect(await tableSelectSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(false);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(0);\n await assertSelectedItems(page, { expectedItemIds: [] });\n });\n\n it(\"correctly maintains selected items if they are paginated out of view\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\" selected>\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n const tableSelectSpy = await element.spyOnEvent(\"calciteTableSelect\");\n const tablePaginateSpy = await element.spyOnEvent(\"calciteTablePageChange\");\n\n await page.waitForChanges();\n\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(tablePaginateSpy).toHaveReceivedEventTimes(0);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(2)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tableSelectSpy).toHaveReceivedEventTimes(0);\n expect(tablePaginateSpy).toHaveReceivedEventTimes(1);\n expect(await row1.getProperty(\"selected\")).toBe(true);\n expect(await row2.getProperty(\"selected\")).toBe(false);\n expect(await row3.getProperty(\"selected\")).toBe(false);\n expect(await element.getProperty(\"selectedItems\")).toHaveLength(1);\n await assertSelectedItems(page, { expectedItemIds: [row1.id] });\n });\n});\n\ndescribe(\"pagination event\", () => {\n it(\"correctly emits pagination event\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\" page-size=\"1\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell>cell</calcite-table-cell>\n <calcite-table-cell>cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await assertSelectedItems.setUpEvents(page);\n const element = await page.find(\"calcite-table\");\n const tablePaginateSpy = await element.spyOnEvent(\"calciteTablePageChange\");\n await page.waitForChanges();\n\n expect(tablePaginateSpy).toHaveReceivedEventTimes(0);\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(2)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tablePaginateSpy).toHaveReceivedEventTimes(1);\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tablePaginateSpy).toHaveReceivedEventTimes(2);\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(4)\");\n\n button?.click();\n });\n\n await page.waitForChanges();\n expect(tablePaginateSpy).toHaveReceivedEventTimes(3);\n });\n});\n\ndescribe(\"keyboard navigation\", () => {\n it(\"navigates correctly when no pagination or selection present\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n });\n\n it(\"navigates correctly when pagination present and first page displayed\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-5\">\n <calcite-table-cell id=\"cell-5a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-5b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n });\n\n it(\"navigates correctly when pagination present, and navigation to two other pages occurs\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-5\">\n <calcite-table-cell id=\"cell-5a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-5b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(4)\");\n\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-5b\");\n });\n\n it(\"navigates correctly skipping disabled rows\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" disabled>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\" disabled>\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4b\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n });\n\n it(\"navigates correctly skipping disabled rows when disabled rows in last body position\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\" disabled>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\" disabled>\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3b\");\n });\n\n it(\"navigates correctly when multiple header and multiple footer rows\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Multiple headers using col-span table\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" col-span=\"2\" heading=\"Name\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" col-span=\"2\" heading=\"Information\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-2a\" heading=\"First\"></calcite-table-header>\n <calcite-table-header id=\"head-2b\" heading=\"Last\"></calcite-table-header>\n <calcite-table-header id=\"head-2c\" heading=\"Education level\"></calcite-table-header>\n <calcite-table-header id=\"head-2d\" heading=\"Age\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1c\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1d\">foot</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-2a\" col-span=\"2\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-2b\" col-span=\"2\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>\n >;`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2d\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"PageUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1b\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n });\n\n it(\"navigates correctly when multiple header and multiple footer rows, pagination present, and navigation to other page occurs\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table caption=\"Multiple headers using col-span table\" page-size=\"2\" style=\"width:800px\">\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" col-span=\"2\" heading=\"Name\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" col-span=\"2\" heading=\"Information\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-2a\" heading=\"First\"></calcite-table-header>\n <calcite-table-header id=\"head-2b\" heading=\"Last\"></calcite-table-header>\n <calcite-table-header id=\"head-2c\" heading=\"Education level\"></calcite-table-header>\n <calcite-table-header id=\"head-2d\" heading=\"Age\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-1b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row>\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\" col-span=\"3\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1c\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1d\">foot</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter}>\n <calcite-table-cell id=\"foot-2a\" col-span=\"2\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-2b\" col-span=\"2\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>\n >;`,\n );\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2d\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2d\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-4a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2a\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-2b\");\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-2a\");\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n });\n\n it(\"navigates correctly when selection column present\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table selection-mode=\"multiple\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row3 = await page.find(\"#row-3\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n });\n\n it(\"navigates correctly when number column present\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row3 = await page.find(\"#row-3\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n });\n\n it(\"navigates correctly when number and selection column present numbered\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered selection-mode=\"single\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row3 = await page.find(\"#row-3\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-3a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n });\n\n it(\"navigates correctly when pagination present and selection and number and first page displayed\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered selection-mode=\"multiple\" page-size=\"2\" caption=\"Simple table\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row2 = await page.find(\"#row-2\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row2.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"cell-2a\");\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n page.keyboard.press(\"ControlLeft\");\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n });\n\n it(\"navigates correctly when pagination present, and selection and number and navigation to two other pages occurs\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered selection-mode=\"single\" page-size=\"2\" caption=\"Simple table\" style=\"width:800px\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-4\">\n <calcite-table-cell id=\"cell-4a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-4b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const rowFoot = await page.find(\"#row-foot\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n const row4 = await page.find(\"#row-4\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1a\");\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row1.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row1.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row2.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row2.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n\n page.keyboard.press(\"ControlRight\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.$eval(\"calcite-table\", () => {\n const table = document.querySelector(\"calcite-table\");\n const headerCell = document.getElementById(\"head-1a\");\n\n const pagination = table.shadowRoot.querySelector(\"calcite-pagination\");\n const button = pagination.shadowRoot.querySelector<HTMLButtonElement>(\"button.page:nth-of-type(3)\");\n button?.click();\n (headerCell as HTMLCalciteTableHeaderElement).setFocus();\n });\n\n await page.waitForChanges();\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"head-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"PageDown\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row4.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row4.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.numberCell });\n\n page.keyboard.press(\"ControlRight\");\n await page.keyboard.press(\"End\");\n await page.waitForChanges();\n expect(await getFocusedElementProp(page, \"id\")).toBe(\"foot-1b\");\n\n await page.keyboard.press(\"Home\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowFoot.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList,\n ),\n ).toEqual({ \"0\": CELL_CSS.footerCell, \"1\": CSS.numberCell });\n });\n\n it(\"navigates correctly when number and selection column present numbered and interaction-mode static - only focusing selection cells\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n html`<calcite-table numbered selection-mode=\"multiple\" caption=\"Simple table\" interaction-mode=\"static\">\n <calcite-table-row id=\"row-head\" slot=${SLOTS.tableHeader}>\n <calcite-table-header id=\"head-1a\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n <calcite-table-header id=\"head-1b\" heading=\"Heading\" description=\"Description\"></calcite-table-header>\n </calcite-table-row>\n <calcite-table-row id=\"row-1\">\n <calcite-table-cell id=\"cell-1a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-2\">\n <calcite-table-cell id=\"cell-2a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-2b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row id=\"row-3\">\n <calcite-table-cell id=\"cell-3a\">cell</calcite-table-cell>\n <calcite-table-cell id=\"cell-3b\">cell</calcite-table-cell>\n </calcite-table-row>\n <calcite-table-row slot=${SLOTS.tableFooter} id=\"row-foot\">\n <calcite-table-cell id=\"foot-1a\">foot</calcite-table-cell>\n <calcite-table-cell id=\"foot-1b\">foot</calcite-table-cell>\n </calcite-table-row>\n </calcite-table>`,\n );\n\n const rowHead = await page.find(\"#row-head\");\n const row1 = await page.find(\"#row-1\");\n const row2 = await page.find(\"#row-2\");\n const row3 = await page.find(\"#row-3\");\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n await page.keyboard.press(\"ArrowLeft\");\n await page.waitForChanges();\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"ArrowRight\");\n await page.waitForChanges();\n\n expect(\n await page.$eval(\n `#${rowHead.id}`,\n (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"th\").classList,\n ),\n ).toEqual({ \"0\": CSS.selectionCell, \"1\": CSS.multipleSelectionCell });\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row1.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row2.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"Tab\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n\n await page.keyboard.press(\"ArrowUp\");\n await page.waitForChanges();\n expect(\n await page.$eval(`#${row3.id}`, (el) => el.shadowRoot?.activeElement.shadowRoot?.querySelector(\"td\").classList),\n ).toEqual({ \"0\": CSS.selectionCell });\n });\n});\n\n// Borrowed from Dropdown until a generic utility is set up.\ninterface SelectedItemsAssertionOptions {\n /**\n * IDs from items to assert selection\n */\n expectedItemIds: string[];\n}\n\n/**\n * Test helper for selected calcite-table-row items. Expects items to have IDs to test against.\n *\n * Note: assertSelectedItems.setUpEvents must be called before using this method\n *\n * @param page\n * @param root0\n * @param root0.expectedItemIds\n */\nasync function assertSelectedItems(page: E2EPage, { expectedItemIds }: SelectedItemsAssertionOptions): Promise<void> {\n await page.waitForTimeout(100);\n const selectedItemIds = await page.evaluate(() => {\n const table = document.querySelector<HTMLCalciteTableElement>(\"calcite-table\");\n return table.selectedItems.map((item) => item.id);\n });\n\n expect(selectedItemIds).toHaveLength(expectedItemIds.length);\n\n expectedItemIds.forEach((itemId, index) => expect(selectedItemIds[index]).toEqual(itemId));\n}\n\ntype SelectionEventTestWindow = GlobalTestProps<{ eventDetail: Selection }>;\n\n/**\n * Helper to wire up the page to assert on the event detail\n *\n * @param page\n */\nassertSelectedItems.setUpEvents = async (page: E2EPage) => {\n await page.evaluate(() => {\n document.addEventListener(\"calciteTableSelect\", ({ detail }: CustomEvent<Selection>) => {\n (window as SelectionEventTestWindow).eventDetail = detail;\n });\n });\n};\n"]}
|