From 8deece4bfef83d34c94641f840358a20da1d8ec2 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 10 Mar 2026 10:46:22 +0100 Subject: [PATCH 01/16] feat: add section header --- .../src/i18n/strings/en_EN.json | 3 + packages/shared-components/src/index.ts | 1 + .../RoomListSectionHeaderView.module.css | 74 +++++++++++ .../RoomListSectionHeaderView.stories.tsx | 109 ++++++++++++++++ .../RoomListSectionHeaderView.test.tsx | 32 +++++ .../RoomListSectionHeaderView.tsx | 122 ++++++++++++++++++ .../RoomListSectionHeaderView.test.tsx.snap | 50 +++++++ .../RoomListSectionHeaderView/index.ts | 13 ++ 8 files changed, 404 insertions(+) create mode 100644 packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.module.css create mode 100644 packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx create mode 100644 packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.test.tsx create mode 100644 packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx create mode 100644 packages/shared-components/src/room-list/RoomListSectionHeaderView/__snapshots__/RoomListSectionHeaderView.test.tsx.snap create mode 100644 packages/shared-components/src/room-list/RoomListSectionHeaderView/index.ts diff --git a/packages/shared-components/src/i18n/strings/en_EN.json b/packages/shared-components/src/i18n/strings/en_EN.json index 1a1dc79ccdd..1f6f01bdc25 100644 --- a/packages/shared-components/src/i18n/strings/en_EN.json +++ b/packages/shared-components/src/i18n/strings/en_EN.json @@ -122,6 +122,9 @@ "more_options": "More Options" }, "room_options": "Room Options", + "section_header": { + "toggle": "Toggle %(section)s section" + }, "show_message_previews": "Show message previews", "sort": "Sort", "sort_type": { diff --git a/packages/shared-components/src/index.ts b/packages/shared-components/src/index.ts index b29287fdd82..9730012e746 100644 --- a/packages/shared-components/src/index.ts +++ b/packages/shared-components/src/index.ts @@ -35,6 +35,7 @@ export * from "./rich-list/RichItem"; export * from "./rich-list/RichList"; export * from "./room-list/RoomListHeaderView"; export * from "./room-list/RoomListSearchView"; +export * from "./room-list/RoomListSectionHeaderView"; export * from "./room-list/RoomListView"; export * from "./room-list/RoomListItemView"; export * from "./room-list/RoomListPrimaryFilters"; diff --git a/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.module.css b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.module.css new file mode 100644 index 00000000000..69d27a6f0a2 --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.module.css @@ -0,0 +1,74 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +.header { + /* Remove button default style */ + background: unset; + border: none; + text-align: unset; + + width: 100%; + cursor: pointer; + font: var(--cpd-font-body-md-regular); + color: var(--cpd-color-text-secondary); + padding: var(--cpd-space-1x) 0; + background-color: var(--cpd-color-bg-canvas-default); + + &:hover, + &:focus-visible { + color: var(--cpd-color-text-primary); + + svg { + fill: var(--cpd-color-icon-primary); + } + + .container { + background-color: var(--cpd-color-bg-action-tertiary-hovered); + } + } + + svg { + transition: transform 0.05s linear; + } + + @media (prefers-reduced-motion: reduce) { + svg { + transition: none; + } + } + + &[aria-expanded="true"] { + svg { + transform: rotate(90deg); + } + } +} + +.container { + margin: 0 var(--cpd-space-3x); + padding: var(--cpd-space-1-5x) var(--cpd-space-2x) var(--cpd-space-1-5x) var(--cpd-space-1x); + border-radius: 8px; + + svg { + flex-shrink: 0; + } +} + +.title { + min-width: 0; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.firstHeader { + padding-top: 0; +} + +.lastHeader { + padding-bottom: 0; +} diff --git a/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx new file mode 100644 index 00000000000..3f761a17c9c --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx @@ -0,0 +1,109 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import React, { type JSX } from "react"; +import { fn } from "storybook/test"; + +import type { Meta, StoryObj } from "@storybook/react-vite"; +import { + RoomListSectionHeaderView, + type RoomListSectionHeaderViewSnapshot, + type RoomListSectionHeaderActions, + type RoomListSectionHeaderViewProps, +} from "./RoomListSectionHeaderView"; +import { useMockedViewModel } from "../../viewmodel"; +import { withViewDocs } from "../../../.storybook/withViewDocs"; + +type RoomListSectionHeaderProps = RoomListSectionHeaderViewSnapshot & + RoomListSectionHeaderActions & + Omit; + +const RoomListSectionHeaderViewWrapperImpl = ({ + onClick, + onFocus, + isFocused, + sectionIndex, + sectionCount, + indexInList, + roomCountInSection, + ...rest +}: RoomListSectionHeaderProps): JSX.Element => { + const vm = useMockedViewModel(rest, { onClick }); + return ( + + ); +}; +const RoomListSectionHeaderViewWrapper = withViewDocs(RoomListSectionHeaderViewWrapperImpl, RoomListSectionHeaderView); + +const meta = { + title: "Room List/RoomListSectionHeaderView", + component: RoomListSectionHeaderViewWrapper, + tags: ["autodocs"], + args: { + id: "favourites", + title: "Favourites", + isExpanded: true, + isFocused: false, + onClick: fn(), + onFocus: fn(), + sectionIndex: 1, + sectionCount: 3, + roomCountInSection: 5, + indexInList: 3, + }, + decorators: [ + (Story) => ( +
+ +
+ ), + ], + parameters: { + design: { + type: "figma", + url: "https://www.figma.com/design/rTaQE2nIUSLav4Tg3nozq7/Compound-Web-Components?node-id=10657-20703&p=f", + }, + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = {}; + +export const Collapsed: Story = { + args: { + isExpanded: false, + }, +}; + +export const LongTitle: Story = { + args: { + title: "This is a very long title that should be truncated with an ellipsis", + }, +}; + +export const FirstHeader: Story = { + args: { + sectionIndex: 0, + }, +}; + +export const LastHeaderCollapsed: Story = { + args: { + isExpanded: false, + sectionIndex: 2, + }, +}; diff --git a/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.test.tsx b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.test.tsx new file mode 100644 index 00000000000..6ab7bcd236f --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.test.tsx @@ -0,0 +1,32 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import React from "react"; +import { render } from "@test-utils"; +import { composeStories } from "@storybook/react-vite"; +import { describe, it, expect } from "vitest"; +import userEvent from "@testing-library/user-event"; + +import * as stories from "./RoomListSectionHeaderView.stories"; + +const { Default } = composeStories(stories); + +describe(" stories", () => { + it("renders Default story", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); + + it("should call onClick when the header is clicked", async () => { + const user = userEvent.setup(); + + const { getByRole } = render(); + const button = getByRole("gridcell", { name: "Toggle Favourites section" }); + await user.click(button); + expect(Default.args.onClick).toHaveBeenCalled(); + }); +}); diff --git a/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx new file mode 100644 index 00000000000..8e6247283a7 --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx @@ -0,0 +1,122 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import React, { memo, type JSX, type FocusEvent } from "react"; +import { type MouseEventHandler } from "react"; +import ChevronRightIcon from "@vector-im/compound-design-tokens/assets/web/icons/chevron-right"; +import classNames from "classnames"; + +import { useViewModel, type ViewModel } from "../../viewmodel"; +import styles from "./RoomListSectionHeaderView.module.css"; +import { Flex } from "../../utils/Flex"; +import { useI18n } from "../../utils/i18nContext"; +import { getGroupHeaderAccessibleProps } from "../../utils/VirtualizedList"; + +/** + * The observable state snapshot for a room list section header. + */ +export interface RoomListSectionHeaderViewSnapshot { + /** Unique identifier for the section header (used for list keying) */ + id: string; + /** The display title of the section header. */ + title: string; + /** Whether the section is currently expanded. */ + isExpanded: boolean; +} + +/** + * Actions that can be performed on a room list section header. + */ +export interface RoomListSectionHeaderActions { + /** Handler invoked when the section header is clicked (toggles expand/collapse). */ + onClick: MouseEventHandler; +} + +/** + * The view model type for the room list section header, combining its snapshot and actions. + */ +export type RoomListSectionHeaderViewModel = ViewModel; + +/** + * Props for {@link RoomListSectionHeaderView}. + */ +export interface RoomListSectionHeaderViewProps { + /** The view model driving the section header's state and actions. */ + vm: RoomListSectionHeaderViewModel; + /** Whether this header currently has focus within the roving tab index. */ + isFocused: boolean; + /** Callback invoked when the header receives focus. */ + onFocus: (headerId: string, e: FocusEvent) => void; + /** Index of this section in the list, sections and rooms included */ + indexInList: number; + /** Index of this section in the list related to the others sections */ + sectionIndex: number; + /** Total number of sections in the list */ + sectionCount: number; + /** Number of rooms in this section */ + roomCountInSection: number; +} + +/** + * A collapsible section header in the room list. + * + * Renders a button that displays the section title alongside a chevron icon + * indicating the current expand/collapse state. Clicking the header toggles + * the section's expanded state via the view model. + * + * @example + * ```tsx + * setFocusedHeader(sectionId)} + * sectionIndex={index} + * sectionCount={totalSections} + * roomCountInSection={roomCount} + * /> + * ``` + */ +export const RoomListSectionHeaderView = memo(function RoomListSectionHeaderView({ + vm, + isFocused, + onFocus, + indexInList, + sectionIndex, + sectionCount, + roomCountInSection, +}: Readonly): JSX.Element { + const { translate: _t } = useI18n(); + const { id, title, isExpanded } = useViewModel(vm); + const isLastSection = sectionIndex === sectionCount - 1; + + return ( +
+ +
+ ); +}); diff --git a/packages/shared-components/src/room-list/RoomListSectionHeaderView/__snapshots__/RoomListSectionHeaderView.test.tsx.snap b/packages/shared-components/src/room-list/RoomListSectionHeaderView/__snapshots__/RoomListSectionHeaderView.test.tsx.snap new file mode 100644 index 00000000000..753bfe632bd --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListSectionHeaderView/__snapshots__/RoomListSectionHeaderView.test.tsx.snap @@ -0,0 +1,50 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[` stories > renders Default story 1`] = ` +
+
+
+ +
+
+
+`; diff --git a/packages/shared-components/src/room-list/RoomListSectionHeaderView/index.ts b/packages/shared-components/src/room-list/RoomListSectionHeaderView/index.ts new file mode 100644 index 00000000000..29d15c98bbd --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListSectionHeaderView/index.ts @@ -0,0 +1,13 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +export { RoomListSectionHeaderView } from "./RoomListSectionHeaderView"; +export type { + RoomListSectionHeaderViewModel, + RoomListSectionHeaderViewSnapshot, + RoomListSectionHeaderActions, +} from "./RoomListSectionHeaderView"; From b3f469121548ce8b035ba502cf3e494ce13aaac9 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 10 Mar 2026 15:44:00 +0100 Subject: [PATCH 02/16] refactor: remove index and role related to list box from RoomListItemView --- .../RoomListItemView.stories.tsx | 38 +- .../RoomListItemView/RoomListItemView.tsx | 109 +- .../RoomListItemView.test.tsx.snap | 1967 ++++++++--------- .../RoomListItemView/mocked-actions.ts | 22 + 4 files changed, 1051 insertions(+), 1085 deletions(-) create mode 100644 packages/shared-components/src/room-list/RoomListItemView/mocked-actions.ts diff --git a/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.stories.tsx b/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.stories.tsx index b422647c33f..b371205ba78 100644 --- a/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.stories.tsx +++ b/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.stories.tsx @@ -15,14 +15,15 @@ import { useMockedViewModel } from "../../viewmodel"; import { withViewDocs } from "../../../.storybook/withViewDocs"; import { defaultSnapshot } from "./default-snapshot"; import { renderAvatar } from "../story-mocks"; +import { mockedActions } from "./mocked-actions"; type RoomListItemProps = RoomListItemSnapshot & RoomListItemActions & { isSelected: boolean; isFocused: boolean; onFocus: (room: Room, e: React.FocusEvent) => void; - roomIndex: number; - roomCount: number; + isFirstItem: boolean; + isLastItem: boolean; renderAvatar: (room: Room) => React.ReactElement; }; @@ -40,8 +41,8 @@ const RoomListItemWrapperImpl = ({ isSelected, isFocused, onFocus, - roomIndex, - roomCount, + isFirstItem, + isLastItem, renderAvatar: renderAvatarProp, ...rest }: RoomListItemProps): JSX.Element => { @@ -62,9 +63,10 @@ const RoomListItemWrapperImpl = ({ isSelected={isSelected} isFocused={isFocused} onFocus={onFocus} - roomIndex={roomIndex} - roomCount={roomCount} + isFirstItem={isFirstItem} + isLastItem={isLastItem} renderAvatar={renderAvatarProp} + role="option" /> ); }; @@ -76,28 +78,18 @@ const meta = { tags: ["autodocs"], decorators: [ (Story) => ( -
-
- -
+
+
), ], args: { ...defaultSnapshot, + ...mockedActions, isSelected: false, isFocused: false, - roomIndex: 1, - roomCount: 10, - onOpenRoom: fn(), - onMarkAsRead: fn(), - onMarkAsUnread: fn(), - onToggleFavorite: fn(), - onToggleLowPriority: fn(), - onInvite: fn(), - onCopyRoomLink: fn(), - onLeaveRoom: fn(), - onSetRoomNotifState: fn(), + isFirstItem: false, + isLastItem: false, onFocus: fn(), renderAvatar, }, @@ -263,14 +255,14 @@ export const WithZoom: Story = { export const FirstItem: Story = { args: { - roomIndex: 0, + isFirstItem: true, isSelected: true, }, }; export const LastItem: Story = { args: { - roomIndex: 9, + isLastItem: true, isSelected: true, }, }; diff --git a/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.tsx b/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.tsx index 1a7f75216bb..729f7b4ef59 100644 --- a/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.tsx +++ b/packages/shared-components/src/room-list/RoomListItemView/RoomListItemView.tsx @@ -119,10 +119,10 @@ export interface RoomListItemViewProps extends Omit void; - /** Index of this room in the list (for accessibility) */ - roomIndex: number; - /** Total number of rooms in the list (for accessibility) */ - roomCount: number; + /** Whether this is the first item in the list */ + isFirstItem: boolean; + /** Whether this is the last item in the list */ + isLastItem: boolean; /** Function to render the room avatar */ renderAvatar: (room: Room) => ReactNode; } @@ -136,8 +136,8 @@ export const RoomListItemView = memo(function RoomListItemView({ isSelected, isFocused, onFocus, - roomIndex, - roomCount, + isFirstItem, + isLastItem, renderAvatar, ...props }: RoomListItemViewProps): JSX.Element { @@ -153,60 +153,57 @@ export const RoomListItemView = memo(function RoomListItemView({ // Generate a11y label from notification state and room name const a11yLabel = getA11yLabel(item.name, item.notification); - const content = ( - ) => onFocus(item.id, e)} - tabIndex={isFocused ? 0 : -1} - {...props} - > - - {renderAvatar(item.room)} - - {/* We truncate the room name when too long. Title here is to show the full name on hover */} -
-
- {item.name} + return ( + + ) => onFocus(item.id, e)} + tabIndex={isFocused ? 0 : -1} + {...props} + > + + {renderAvatar(item.room)} + + {/* We truncate the room name when too long. Title here is to show the full name on hover */} +
+
+ {item.name} +
+ {item.messagePreview && ( + + {item.messagePreview} + + )}
- {item.messagePreview && ( - - {item.messagePreview} - + {(item.showMoreOptionsMenu || item.showNotificationMenu) && ( + )} -
- {(item.showMoreOptionsMenu || item.showNotificationMenu) && ( - - )} - {/* aria-hidden because we summarise the unread count/notification status in a11yLabel */} -
- -
+ {/* aria-hidden because we summarise the unread count/notification status in a11yLabel */} +
+ +
+ - + ); - - return {content}; }); diff --git a/packages/shared-components/src/room-list/RoomListItemView/__snapshots__/RoomListItemView.test.tsx.snap b/packages/shared-components/src/room-list/RoomListItemView/__snapshots__/RoomListItemView.test.tsx.snap index 1482f8c7e41..441589bd07d 100644 --- a/packages/shared-components/src/room-list/RoomListItemView/__snapshots__/RoomListItemView.test.tsx.snap +++ b/packages/shared-components/src/room-list/RoomListItemView/__snapshots__/RoomListItemView.test.tsx.snap @@ -3,134 +3,129 @@ exports[` > renders Bold story 1`] = `
-
- - -
- +
+ - -
+
+
`; @@ -138,134 +133,129 @@ exports[` > renders Bold story 1`] = ` exports[` > renders Default story 1`] = `
-
- - -
- +
+ - -
+ + `; @@ -273,152 +263,147 @@ exports[` > renders Default story 1`] = ` exports[` > renders Invitation story 1`] = `
-
- -
+
+ -
- + + +
+
- - + + `; @@ -426,128 +411,123 @@ exports[` > renders Invitation story 1`] = ` exports[` > renders NoMessagePreview story 1`] = `
-
- - -
- +
+ - -
+ + `; @@ -555,134 +535,129 @@ exports[` > renders NoMessagePreview story 1`] = ` exports[` > renders Selected story 1`] = `
-
- - -
- +
+ - -
+ + `; @@ -690,152 +665,147 @@ exports[` > renders Selected story 1`] = ` exports[` > renders UnsentMessage story 1`] = `
-
- -
+
+ -
- + + +
+
- - + + `; @@ -843,134 +813,129 @@ exports[` > renders UnsentMessage story 1`] = ` exports[` > renders WithHoverMenu story 1`] = `
-
- - -
- +
+ - -
+ + `; @@ -978,157 +943,152 @@ exports[` > renders WithHoverMenu story 1`] = ` exports[` > renders WithMention story 1`] = `
-
- - + Alice: Hey everyone!
- - -
+
+ `; @@ -1136,146 +1096,141 @@ exports[` > renders WithMention story 1`] = ` exports[` > renders WithNotification story 1`] = `
-
- - -
+ + +
+ +
+ - - + + `; diff --git a/packages/shared-components/src/room-list/RoomListItemView/mocked-actions.ts b/packages/shared-components/src/room-list/RoomListItemView/mocked-actions.ts new file mode 100644 index 00000000000..600674d7ef8 --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListItemView/mocked-actions.ts @@ -0,0 +1,22 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import { fn } from "storybook/test"; + +import { type RoomListItemActions } from "./RoomListItemView"; + +export const mockedActions: RoomListItemActions = { + onOpenRoom: fn(), + onMarkAsRead: fn(), + onMarkAsUnread: fn(), + onToggleFavorite: fn(), + onToggleLowPriority: fn(), + onInvite: fn(), + onCopyRoomLink: fn(), + onLeaveRoom: fn(), + onSetRoomNotifState: fn(), +}; From b95c5a6058384ec987fcbc5e9b029c088234e3e2 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 10 Mar 2026 15:45:57 +0100 Subject: [PATCH 03/16] feat: add wrapper to RoomListItemView to handle different accessiblity pattern --- ...omListItemAccessibilityWrapper.stories.tsx | 67 +++++++++++++++++++ .../RoomListItemAccessibilityWrapper.tsx | 51 ++++++++++++++ .../RoomListItemAccessibilityWrapper/index.ts | 8 +++ 3 files changed, 126 insertions(+) create mode 100644 packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx create mode 100644 packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx create mode 100644 packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/index.ts diff --git a/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx new file mode 100644 index 00000000000..d5e5c18b0a0 --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx @@ -0,0 +1,67 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import React from "react"; +import { fn } from "storybook/test"; + +import type { Meta, StoryObj } from "@storybook/react-vite"; +import { RoomListItemAccessibilityWrapper } from "./RoomListItemAccessibilityWrapper"; +import { createMockRoomItemViewModel, renderAvatar } from "../story-mocks"; + +const meta = { + title: "Room List/RoomListItemAccessibiltyWrapper", + component: RoomListItemAccessibilityWrapper, + tags: ["autodocs"], + args: { + roomIndex: 0, + roomIndexInSection: 0, + roomCount: 10, + onFocus: fn(), + isFirstItem: false, + isLastItem: false, + renderAvatar, + isSelected: false, + isFocused: false, + vm: createMockRoomItemViewModel("!room:server", "Room name", 0), + }, + decorators: [ + (Story) => ( +
+ +
+ ), + ], +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const FlatList: Story = { + args: { + isInFlatList: true, + }, + decorators: [ + (Story) => ( +
+ +
+ ), + ], +}; + +export const Sections: Story = { + args: { + isInFlatList: false, + }, + decorators: [ + (Story) => ( +
+ +
+ ), + ], +}; diff --git a/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx new file mode 100644 index 00000000000..b31ec90a6a3 --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx @@ -0,0 +1,51 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import React, { memo, type JSX } from "react"; + +import { RoomListItemView, type RoomListItemViewProps } from "../RoomListItemView"; +import { getItemAccessibleProps } from "../../utils/VirtualizedList"; + +export interface RoomListItemAccessibilityWrapperPros extends RoomListItemViewProps { + /** Index of this room in the list */ + roomIndex: number; + /** Index of this room in its section */ + roomIndexInSection: number; + /** Total number of rooms in the list */ + roomCount: number; + /** Whether the room list is displayed as a flat list */ + isInFlatList: boolean; +} + +/** + * Wrapper around RoomListItemView that adds accessibility props based on the room's position in the list and whether the list is flat or grouped. + * In a flat list, each item gets listbox item props. In a grouped list, each item gets treegrid cell props. + * + * @example + * `` + * + * ``` + */ +export const RoomListItemAccessibilityWrapper = memo(function RoomListItemAccessibilityWrapper({ + roomIndex, + roomCount, + roomIndexInSection, + isInFlatList, + ...rest +}: RoomListItemAccessibilityWrapperPros): JSX.Element { + const itemA11yProps = isInFlatList ? getItemAccessibleProps("listbox", roomIndex, roomCount) : { role: "gridcell" }; + const item = ; + + if (isInFlatList) return item; + return
{item}
; +}); diff --git a/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/index.ts b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/index.ts new file mode 100644 index 00000000000..a301627949a --- /dev/null +++ b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +export { RoomListItemAccessibilityWrapper } from "./RoomListItemAccessibilityWrapper"; From 739d5cb76294bd75175bf02ec23d0d481abd3a35 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 10 Mar 2026 15:48:38 +0100 Subject: [PATCH 04/16] feat: add section support to VirtualizedRoomListView --- .../VirtualizedRoomListView.stories.tsx | 25 +- .../VirtualizedRoomListView.tsx | 221 +++++++++++++++--- .../src/room-list/story-mocks.tsx | 86 +++++-- 3 files changed, 279 insertions(+), 53 deletions(-) diff --git a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx index ff2d7a3cd66..30e1049fdec 100644 --- a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx +++ b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx @@ -15,19 +15,23 @@ import type { RoomListSnapshot, RoomListViewActions } from "../RoomListView"; import { useMockedViewModel } from "../../viewmodel"; import { withViewDocs } from "../../../.storybook/withViewDocs"; import type { FilterId } from "../RoomListPrimaryFilters"; -import { renderAvatar, createGetRoomItemViewModel, mockRoomIds } from "../story-mocks"; +import { + renderAvatar, + createGetRoomItemViewModel, + mock10RoomsIds, + createGetSectionViewModel, + mock10RoomsSections, +} from "../story-mocks"; type RoomListStoryProps = RoomListSnapshot & RoomListViewActions & { renderAvatar: (room: Room) => React.ReactElement }; -// Use first 10 room IDs for this story -const storyRoomIds = mockRoomIds.slice(0, 10); - // Wrapper component that creates a mocked ViewModel const RoomListWrapperImpl = ({ onToggleFilter, createChatRoom, createRoom, getRoomItemViewModel, + getSectionViewModel, updateVisibleRooms, renderAvatar: renderAvatarProp, ...rest @@ -37,6 +41,7 @@ const RoomListWrapperImpl = ({ createChatRoom, createRoom, getRoomItemViewModel, + getSectionViewModel, updateVisibleRooms, }); @@ -65,15 +70,17 @@ const meta = { isRoomListEmpty: false, filterIds: mockFilterIds, activeFilterId: undefined, - roomIds: storyRoomIds, + sections: mock10RoomsSections, roomListState: defaultRoomListState, canCreateRoom: true, onToggleFilter: fn(), createChatRoom: fn(), createRoom: fn(), - getRoomItemViewModel: createGetRoomItemViewModel(storyRoomIds), + getRoomItemViewModel: createGetRoomItemViewModel(mock10RoomsIds), + getSectionViewModel: createGetSectionViewModel(mock10RoomsSections.map((section) => section.id)), updateVisibleRooms: fn(), renderAvatar, + isFlatList: true, }, parameters: { design: { @@ -94,3 +101,9 @@ export default meta; type Story = StoryObj; export const Default: Story = {}; + +export const Sections: Story = { + args: { + isFlatList: false, + }, +}; diff --git a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx index 71cd554ecc6..d49d7ade758 100644 --- a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx +++ b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx @@ -9,11 +9,18 @@ import React, { useCallback, useMemo, useRef, type JSX, type ReactNode } from "r import { type ScrollIntoViewLocation } from "react-virtuoso"; import { isEqual } from "lodash"; -import { RoomListItemView, type Room } from "../RoomListItemView"; +import { type Room } from "../RoomListItemView"; import { useViewModel } from "../../viewmodel"; import { _t } from "../../utils/i18n"; -import { FlatVirtualizedList, type VirtualizedListContext } from "../../utils/VirtualizedList"; -import type { RoomListViewModel } from "../RoomListView"; +import { + FlatVirtualizedList, + getContainerAccessibleProps, + type VirtualizedListContext, +} from "../../utils/VirtualizedList"; +import type { RoomListSnapshot, RoomListViewModel } from "../RoomListView"; +import { GroupedVirtualizedList } from "../../utils/VirtualizedList"; +import { RoomListSectionHeaderView } from "../RoomListSectionHeaderView"; +import { RoomListItemAccessibilityWrapper } from "../RoomListItemAccessibilityWrapper"; /** * Filter key type - opaque string type for filter identifiers @@ -59,7 +66,24 @@ const ROOM_LIST_ITEM_HEIGHT = 52; /** * Type for context used in ListView */ -type Context = { spaceId: string; filterKeys: FilterKey[] | undefined }; +type Context = { + /** Space ID for context tracking */ + spaceId: string; + /** Active filter keys for context tracking */ + filterKeys: FilterKey[] | undefined; + /** Active room index for keyboard navigation */ + activeRoomIndex: number | undefined; + /** Sections of the room list */ + sections: RoomListSnapshot["sections"]; + /** Total number of rooms in the list */ + roomCount: number; + /** Number of sections in the list */ + sectionCount: number; + /** Room list view model */ + vm: RoomListViewModel; + /** List is in flat or section mode */ + isFlatList: boolean; +}; /** * Amount to extend the top and bottom of the viewport by. @@ -83,11 +107,23 @@ const EXTENDED_VIEWPORT_HEIGHT = 25 * ROOM_LIST_ITEM_HEIGHT; */ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: VirtualizedRoomListViewProps): JSX.Element { const snapshot = useViewModel(vm); - const { roomListState, roomIds } = snapshot; + const { roomListState, sections, isFlatList } = snapshot; const activeRoomIndex = roomListState.activeRoomIndex; const lastSpaceId = useRef(undefined); const lastFilterKeys = useRef(undefined); + const roomIds = useMemo(() => sections.flatMap((section) => section.roomIds), [sections]); const roomCount = roomIds.length; + const sectionCount = sections.length; + const totalCount = roomCount + sectionCount; + + const groups = useMemo( + () => + sections.map((section) => ({ + header: section.id, + items: section.roomIds, + })), + [sections], + ); /** * Callback when the visible range changes @@ -110,7 +146,9 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual roomId: string, context: VirtualizedListContext, onFocus: (item: string, e: React.FocusEvent) => void, + roomIndexInSection: number, ): JSX.Element => { + const { activeRoomIndex, roomCount, vm, isFlatList } = context.context; const isSelected = activeRoomIndex === index; const roomItemVM = vm.getRoomItemViewModel(roomId); @@ -118,8 +156,11 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual // This matches the old RoomList implementation's roving tabindex pattern const isFocused = context.focused && context.tabIndexKey === roomId; + const isFirstItem = index === 0; + const isLastItem = index === roomCount - 1; + return ( - ); }, - [activeRoomIndex, roomCount, renderAvatar, vm], + [renderAvatar], + ); + + /** + * Get the item component for a specific index + * Gets the room's view model and passes it to RoomListItemView + */ + const getItemComponentForGroupedList = useCallback( + ( + index: number, + roomId: string, + context: VirtualizedListContext, + onFocus: (item: string, e: React.FocusEvent) => void, + groupIndex: number, + ): JSX.Element => { + const { sections } = context.context; + const roomIndexInSection = sections[groupIndex].roomIds.findIndex((id) => id === roomId); + return getItemComponent(index, roomId, context, onFocus, roomIndexInSection); + }, + [getItemComponent], + ); + + /** + * Get the item component for a specific index + * Gets the room's view model and passes it to RoomListItemView + */ + const getItemComponentForFlatList = useCallback( + ( + index: number, + roomId: string, + context: VirtualizedListContext, + onFocus: (item: string, e: React.FocusEvent) => void, + ): JSX.Element => { + // For a flat list, we don't have sections, so roomIndexInSection is unused and can be set to 0 + return getItemComponent(index, roomId, context, onFocus, 0); + }, + [getItemComponent], + ); + + /** + * Get the group header component for a specific group + */ + const getGroupHeaderComponent = useCallback( + ( + groupIndex: number, + headerId: string, + context: VirtualizedListContext, + onFocus: (header: string, e: React.FocusEvent) => void, + ): JSX.Element => { + const { vm, sectionCount, sections } = context.context; + const sectionHeaderVM = vm.getSectionViewModel(headerId); + const indexInList = sections + .slice(0, groupIndex) + // +1 for each section header + .reduce((acc, section) => acc + section.roomIds.length + 1, 0); + const roomCountInSection = sections[groupIndex].roomIds.length; + + // Item is focused when the list has focus AND this item's key matches tabIndexKey + // This matches the old RoomList implementation's roving tabindex pattern + const isFocused = context.focused && context.tabIndexKey === headerId; + + return ( + + ); + }, + [], ); /** @@ -142,9 +260,31 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual return item; }, []); + const getHeaderKey = useCallback((header: string): string => { + return header; + }, []); + const context = useMemo( - () => ({ spaceId: roomListState.spaceId || "", filterKeys: roomListState.filterKeys }), - [roomListState.spaceId, roomListState.filterKeys], + () => ({ + spaceId: roomListState.spaceId || "", + filterKeys: roomListState.filterKeys, + sections, + activeRoomIndex, + roomCount, + sectionCount, + vm, + isFlatList, + }), + [ + roomListState.spaceId, + roomListState.filterKeys, + sections, + activeRoomIndex, + roomCount, + sectionCount, + vm, + isFlatList, + ], ); /** @@ -173,26 +313,51 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual [activeRoomIndex], ); + const isItemFocusable = useCallback(() => true, []); + const isGroupHeaderFocusable = useCallback(() => true, []); + const increaseViewportBy = useMemo( + () => ({ + top: EXTENDED_VIEWPORT_HEIGHT, + bottom: EXTENDED_VIEWPORT_HEIGHT, + }), + [], + ); + + const commonProps = { + context, + scrollIntoViewOnChange, + // If fixedItemHeight is not set and initialTopMostItemIndex=undefined, virtuoso crashes + // If we don't set it, it works + ...(activeRoomIndex !== undefined ? { initialTopMostItemIndex: activeRoomIndex } : {}), + ["data-testid"]: "room-list", + ["aria-label"]: _t("room_list|list_title"), + getItemKey, + isItemFocusable, + rangeChanged, + onKeyDown, + increaseViewportBy, + }; + + if (isFlatList) { + return ( + + ); + } + return ( - true} - rangeChanged={rangeChanged} - onKeyDown={onKeyDown} - increaseViewportBy={{ - bottom: EXTENDED_VIEWPORT_HEIGHT, - top: EXTENDED_VIEWPORT_HEIGHT, - }} + + {...commonProps} + {...getContainerAccessibleProps("treegrid", totalCount)} + groups={groups} + getHeaderKey={getHeaderKey} + getGroupHeaderComponent={getGroupHeaderComponent} + getItemComponent={getItemComponentForGroupedList} + isGroupHeaderFocusable={isGroupHeaderFocusable} /> ); } diff --git a/packages/shared-components/src/room-list/story-mocks.tsx b/packages/shared-components/src/room-list/story-mocks.tsx index 1958a06419c..376227b073e 100644 --- a/packages/shared-components/src/room-list/story-mocks.tsx +++ b/packages/shared-components/src/room-list/story-mocks.tsx @@ -9,6 +9,8 @@ import React from "react"; import { fn } from "storybook/test"; import { type Room, type RoomItemViewModel, type RoomListItemSnapshot, RoomNotifState } from "./RoomListItemView"; +import { type RoomListSectionHeaderViewModel } from "./RoomListSectionHeaderView"; +import { MockViewModel } from "../viewmodel"; /** * Mock avatar component for stories @@ -100,6 +102,23 @@ export const createMockRoomSnapshot = (id: string, name: string, index: number): roomNotifState: RoomNotifState.AllMessages, }); +export function createMockRoomItemViewModel(roomId: string, name: string, index: number): RoomItemViewModel { + const snapshot = createMockRoomSnapshot(roomId, name, index); + return { + getSnapshot: () => snapshot, + subscribe: fn(), + onOpenRoom: fn(), + onMarkAsRead: fn(), + onMarkAsUnread: fn(), + onToggleFavorite: fn(), + onToggleLowPriority: fn(), + onInvite: fn(), + onCopyRoomLink: fn(), + onLeaveRoom: fn(), + onSetRoomNotifState: fn(), + }; +} + /** * Create a mock getRoomItemViewModel function for stories */ @@ -107,31 +126,60 @@ export const createGetRoomItemViewModel = (roomIds: string[]): ((roomId: string) const viewModels = new Map(); roomIds.forEach((roomId, index) => { const name = roomNames[index % roomNames.length]; - const snapshot = createMockRoomSnapshot(roomId, name, index); - - const mockViewModel = { - getSnapshot: () => snapshot, - subscribe: fn(), - unsubscribe: fn(), - onOpenRoom: fn(), - onMarkAsRead: fn(), - onMarkAsUnread: fn(), - onToggleFavorite: fn(), - onToggleLowPriority: fn(), - onInvite: fn(), - onCopyRoomLink: fn(), - onLeaveRoom: fn(), - onSetRoomNotifState: fn(), - }; - viewModels.set(roomId, mockViewModel); + viewModels.set(roomId, createMockRoomItemViewModel(roomId, name, index)); }); return (roomId: string) => viewModels.get(roomId)!; }; +export const createGetSectionViewModel = ( + sectionIds: string[], +): ((sectionId: string) => RoomListSectionHeaderViewModel) => { + const viewModels = new Map(); + sectionIds.forEach((sectionId) => { + const snapshot = { + id: sectionId, + title: sectionId[0].toUpperCase() + sectionId.slice(1), + isExpanded: true, + }; + const vm = new MockViewModel(snapshot) as unknown as RoomListSectionHeaderViewModel; + Object.assign(vm, { + onClick: fn(), + onFocus: fn(), + }); + + viewModels.set(sectionId, vm); + }); + + return (sectionId: string) => viewModels.get(sectionId)!; +}; + /** * Mock room IDs for different list sizes */ +export const mock10RoomsIds = Array.from({ length: 10 }, (_, i) => `!room${i}:server`); +export const mock10RoomsSections = [ + { id: "favourites", roomIds: mock10RoomsIds.slice(0, 3) }, + { id: "chats", roomIds: mock10RoomsIds.slice(3, 4) }, + { id: "low-priority", roomIds: mock10RoomsIds.slice(4) }, +]; + export const mockRoomIds = Array.from({ length: 20 }, (_, i) => `!room${i}:server`); -export const smallListRoomIds = mockRoomIds.slice(0, 5); -export const largeListRoomIds = Array.from({ length: 100 }, (_, i) => `!room${i}:server`); +export const mockSections = [ + { id: "favourites", roomIds: mockRoomIds.slice(0, 5) }, + { id: "chats", roomIds: mockRoomIds.slice(5, 15) }, + { id: "low-priority", roomIds: mockRoomIds.slice(15) }, +]; + +export const mockSmallListRoomIds = mockRoomIds.slice(0, 5); +export const mockSmallListSections = [ + { id: "favourites", roomIds: mockSmallListRoomIds.slice(0, 2) }, + { id: "chats", roomIds: mockSmallListRoomIds.slice(2, 0) }, +]; + +export const mockLargeListRoomIds = Array.from({ length: 100 }, (_, i) => `!room${i}:server`); +export const mockLargeListSections = [ + { id: "favourites", roomIds: mockLargeListRoomIds.slice(0, 23) }, + { id: "chats", roomIds: mockLargeListRoomIds.slice(23, 52) }, + { id: "low-priority", roomIds: mockLargeListRoomIds.slice(52) }, +]; From bc25de42377bdd5cdb7b1b789d58ca7f32418f18 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 10 Mar 2026 15:48:53 +0100 Subject: [PATCH 05/16] feat: add sections support to RoomListView --- .../RoomListView/RoomListView.stories.tsx | 55 +- .../RoomListView/RoomListView.test.tsx | 24 +- .../room-list/RoomListView/RoomListView.tsx | 16 +- .../__snapshots__/RoomListView.test.tsx.snap | 6132 +++++++++++++++-- .../src/room-list/RoomListView/index.tsx | 8 +- 5 files changed, 5651 insertions(+), 584 deletions(-) diff --git a/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx b/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx index 05fb9af6cc7..c1734413f2d 100644 --- a/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx +++ b/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx @@ -18,8 +18,11 @@ import { renderAvatar, createGetRoomItemViewModel, mockRoomIds, - smallListRoomIds, - largeListRoomIds, + mockSections, + createGetSectionViewModel, + mockSmallListSections, + mockLargeListSections, + mockLargeListRoomIds, } from "../story-mocks"; type RoomListViewProps = RoomListSnapshot & RoomListViewActions & { renderAvatar: (room: Room) => React.ReactElement }; @@ -32,6 +35,7 @@ const RoomListViewWrapperImpl = ({ createChatRoom, createRoom, getRoomItemViewModel, + getSectionViewModel, updateVisibleRooms, renderAvatar: renderAvatarProp, ...rest @@ -41,6 +45,7 @@ const RoomListViewWrapperImpl = ({ createChatRoom, createRoom, getRoomItemViewModel, + getSectionViewModel, updateVisibleRooms, }); return ; @@ -81,15 +86,17 @@ const meta = { spaceId: "!space:server", filterKeys: undefined, }, - roomIds: mockRoomIds, + sections: mockSections, canCreateRoom: true, // Action properties (callbacks) onToggleFilter: fn(), createChatRoom: fn(), createRoom: fn(), getRoomItemViewModel: createGetRoomItemViewModel(mockRoomIds), + getSectionViewModel: createGetSectionViewModel(mockSections.map((section) => section.id)), updateVisibleRooms: fn(), renderAvatar, + isFlatList: true, }, parameters: { design: { @@ -104,6 +111,12 @@ type Story = StoryObj; export const Default: Story = {}; +export const Section: Story = { + args: { + isFlatList: false, + }, +}; + export const Loading: Story = { args: { isLoadingRooms: true, @@ -148,7 +161,6 @@ export const WithSelection: Story = { export const EmptyFavouriteFilter: Story = { args: { isRoomListEmpty: true, - roomIds: [], filterIds: ["favourite", "people"], activeFilterId: "favourite", }, @@ -157,7 +169,6 @@ export const EmptyFavouriteFilter: Story = { export const EmptyPeopleFilter: Story = { args: { isRoomListEmpty: true, - roomIds: [], filterIds: ["people", "rooms"], activeFilterId: "people", }, @@ -166,7 +177,6 @@ export const EmptyPeopleFilter: Story = { export const EmptyRoomsFilter: Story = { args: { isRoomListEmpty: true, - roomIds: [], filterIds: ["rooms", "people"], activeFilterId: "rooms", }, @@ -175,7 +185,6 @@ export const EmptyRoomsFilter: Story = { export const EmptyUnreadFilter: Story = { args: { isRoomListEmpty: true, - roomIds: [], filterIds: ["unread", "people"], activeFilterId: "unread", }, @@ -184,7 +193,6 @@ export const EmptyUnreadFilter: Story = { export const EmptyInvitesFilter: Story = { args: { isRoomListEmpty: true, - roomIds: [], filterIds: ["invites", "people"], activeFilterId: "invites", }, @@ -193,7 +201,7 @@ export const EmptyInvitesFilter: Story = { export const EmptyMentionsFilter: Story = { args: { isRoomListEmpty: true, - roomIds: [], + filterIds: ["mentions", "people"], activeFilterId: "mentions", }, @@ -202,22 +210,37 @@ export const EmptyMentionsFilter: Story = { export const EmptyLowPriorityFilter: Story = { args: { isRoomListEmpty: true, - roomIds: [], filterIds: ["low_priority", "people"], activeFilterId: "low_priority", }, }; -export const SmallList: Story = { +export const SmallFlatList: Story = { + args: { + sections: mockSmallListSections, + }, +}; + +export const LargeFlatList: Story = { + args: { + sections: mockLargeListSections, + getRoomItemViewModel: createGetRoomItemViewModel(mockLargeListRoomIds), + getSectionViewModel: createGetSectionViewModel(mockLargeListSections.map((section) => section.id)), + }, +}; + +export const SmallSectionList: Story = { args: { - roomIds: smallListRoomIds, - getRoomItemViewModel: createGetRoomItemViewModel(smallListRoomIds), + isFlatList: false, + sections: mockSmallListSections, }, }; -export const LargeList: Story = { +export const LargeSectionList: Story = { args: { - roomIds: largeListRoomIds, - getRoomItemViewModel: createGetRoomItemViewModel(largeListRoomIds), + isFlatList: false, + sections: mockLargeListSections, + getRoomItemViewModel: createGetRoomItemViewModel(mockLargeListRoomIds), + getSectionViewModel: createGetSectionViewModel(mockLargeListSections.map((section) => section.id)), }, }; diff --git a/packages/shared-components/src/room-list/RoomListView/RoomListView.test.tsx b/packages/shared-components/src/room-list/RoomListView/RoomListView.test.tsx index fcafa061242..380600541a2 100644 --- a/packages/shared-components/src/room-list/RoomListView/RoomListView.test.tsx +++ b/packages/shared-components/src/room-list/RoomListView/RoomListView.test.tsx @@ -20,8 +20,10 @@ const { Empty, EmptyWithoutCreatePermission, WithActiveFilter, - SmallList, - LargeList, + SmallFlatList, + LargeFlatList, + SmallSectionList, + LargeSectionList, EmptyFavouriteFilter, EmptyPeopleFilter, EmptyRoomsFilter, @@ -67,13 +69,23 @@ describe("", () => { expect(container).toMatchSnapshot(); }); - it("renders SmallList story", () => { - const { container } = renderWithMockContext(); + it("renders SmallFlatList story", () => { + const { container } = renderWithMockContext(); expect(container).toMatchSnapshot(); }); - it("renders LargeList story", () => { - const { container } = renderWithMockContext(); + it("renders LargeFlatList story", () => { + const { container } = renderWithMockContext(); + expect(container).toMatchSnapshot(); + }); + + it("renders SmallSectionList story", () => { + const { container } = renderWithMockContext(); + expect(container).toMatchSnapshot(); + }); + + it("renders LargeSectionList story", () => { + const { container } = renderWithMockContext(); expect(container).toMatchSnapshot(); }); diff --git a/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx b/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx index e72e9fb3ec9..d459f4f3086 100644 --- a/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx +++ b/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx @@ -13,6 +13,14 @@ import { RoomListLoadingSkeleton } from "./RoomListLoadingSkeleton"; import { RoomListEmptyStateView } from "./RoomListEmptyStateView"; import { VirtualizedRoomListView, type RoomListViewState } from "../VirtualizedRoomListView"; import { type Room, type RoomItemViewModel } from "../RoomListItemView"; +import { type RoomListSectionHeaderViewModel } from "../RoomListSectionHeaderView"; + +export type RoomListSection = { + /** Unique identifier for the section */ + id: string; + /** Array of room IDs that belong to this section */ + roomIds: string[]; +}; /** * Snapshot for the room list view @@ -28,14 +36,16 @@ export type RoomListSnapshot = { activeFilterId?: FilterId; /** Room list state */ roomListState: RoomListViewState; - /** Array of room IDs for virtualization */ - roomIds: string[]; + /** Array of sections in the room list */ + sections: RoomListSection[]; /** Optional description for the empty state */ emptyStateDescription?: string; /** Optional action element for the empty state */ emptyStateAction?: ReactNode; /** Whether the user can create rooms */ canCreateRoom?: boolean; + /** Whether the room list is displayed as a flat list */ + isFlatList: boolean; }; /** @@ -52,6 +62,8 @@ export interface RoomListViewActions { getRoomItemViewModel: (roomId: string) => RoomItemViewModel; /** Called when the visible range changes (virtualization API) */ updateVisibleRooms: (startIndex: number, endIndex: number) => void; + /** Get view model for a specific section header (virtualization API) */ + getSectionViewModel: (sectionId: string) => RoomListSectionHeaderViewModel; } /** diff --git a/packages/shared-components/src/room-list/RoomListView/__snapshots__/RoomListView.test.tsx.snap b/packages/shared-components/src/room-list/RoomListView/__snapshots__/RoomListView.test.tsx.snap index f2e461abc55..e6bfaa8dad1 100644 --- a/packages/shared-components/src/room-list/RoomListView/__snapshots__/RoomListView.test.tsx.snap +++ b/packages/shared-components/src/room-list/RoomListView/__snapshots__/RoomListView.test.tsx.snap @@ -2808,7 +2808,7 @@ exports[` > renders EmptyFavouriteFilter story 1`] = `
@@ -2867,7 +2867,7 @@ exports[` > renders EmptyInvitesFilter story 1`] = `
@@ -2930,7 +2930,7 @@ exports[` > renders EmptyLowPriorityFilter story 1`] = `
@@ -2993,7 +2993,7 @@ exports[` > renders EmptyMentionsFilter story 1`] = `
@@ -3056,7 +3056,7 @@ exports[` > renders EmptyPeopleFilter story 1`] = `
@@ -3115,7 +3115,7 @@ exports[` > renders EmptyRoomsFilter story 1`] = `
@@ -3174,7 +3174,7 @@ exports[` > renders EmptyUnreadFilter story 1`] = `
@@ -3326,7 +3326,7 @@ exports[` > renders EmptyWithoutCreatePermission story 1`] = `
`; -exports[` > renders LargeList story 1`] = ` +exports[` > renders LargeFlatList story 1`] = `
> renders LargeList story 1`] = `
@@ -3459,11 +3459,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_mp_" + aria-labelledby="_r_l9_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_mn_" + id="radix-_r_l7_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3491,11 +3491,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_n0_" + aria-labelledby="_r_lg_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_mu_" + id="radix-_r_le_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3602,11 +3602,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_n7_" + aria-labelledby="_r_ln_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_n5_" + id="radix-_r_ll_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3634,11 +3634,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_ne_" + aria-labelledby="_r_lu_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_nc_" + id="radix-_r_ls_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3730,11 +3730,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_nl_" + aria-labelledby="_r_m5_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_nj_" + id="radix-_r_m3_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3762,11 +3762,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_ns_" + aria-labelledby="_r_mc_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_nq_" + id="radix-_r_ma_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3852,11 +3852,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_o3_" + aria-labelledby="_r_mj_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_o1_" + id="radix-_r_mh_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3884,11 +3884,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_oa_" + aria-labelledby="_r_mq_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_o8_" + id="radix-_r_mo_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -3980,11 +3980,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_oh_" + aria-labelledby="_r_n1_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_of_" + id="radix-_r_mv_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4012,11 +4012,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_oo_" + aria-labelledby="_r_n8_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_om_" + id="radix-_r_n6_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4102,11 +4102,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_ov_" + aria-labelledby="_r_nf_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_ot_" + id="radix-_r_nd_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4134,11 +4134,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_p6_" + aria-labelledby="_r_nm_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_p4_" + id="radix-_r_nk_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4253,11 +4253,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_pd_" + aria-labelledby="_r_nt_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_pb_" + id="radix-_r_nr_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4285,11 +4285,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_pk_" + aria-labelledby="_r_o4_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_pi_" + id="radix-_r_o2_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4375,11 +4375,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_pr_" + aria-labelledby="_r_ob_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_pp_" + id="radix-_r_o9_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4407,11 +4407,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_q2_" + aria-labelledby="_r_oi_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_q0_" + id="radix-_r_og_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4503,11 +4503,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_q9_" + aria-labelledby="_r_op_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_q7_" + id="radix-_r_on_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4535,11 +4535,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_qg_" + aria-labelledby="_r_p0_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_qe_" + id="radix-_r_ou_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4625,11 +4625,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_qn_" + aria-labelledby="_r_p7_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_ql_" + id="radix-_r_p5_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4657,11 +4657,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_qu_" + aria-labelledby="_r_pe_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_qs_" + id="radix-_r_pc_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4753,11 +4753,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_r5_" + aria-labelledby="_r_pl_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_r3_" + id="radix-_r_pj_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4785,11 +4785,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_rc_" + aria-labelledby="_r_ps_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_ra_" + id="radix-_r_pq_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4898,11 +4898,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_rj_" + aria-labelledby="_r_q3_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_rh_" + id="radix-_r_q1_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -4930,11 +4930,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_rq_" + aria-labelledby="_r_qa_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_ro_" + id="radix-_r_q8_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5026,11 +5026,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_s1_" + aria-labelledby="_r_qh_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_rv_" + id="radix-_r_qf_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5058,11 +5058,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_s8_" + aria-labelledby="_r_qo_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_s6_" + id="radix-_r_qm_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5148,11 +5148,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_sf_" + aria-labelledby="_r_qv_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_sd_" + id="radix-_r_qt_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5180,11 +5180,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_sm_" + aria-labelledby="_r_r6_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_sk_" + id="radix-_r_r4_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5276,11 +5276,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_st_" + aria-labelledby="_r_rd_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_sr_" + id="radix-_r_rb_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5308,11 +5308,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_t4_" + aria-labelledby="_r_rk_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_t2_" + id="radix-_r_ri_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5398,11 +5398,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_tb_" + aria-labelledby="_r_rr_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_t9_" + id="radix-_r_rp_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5430,11 +5430,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_ti_" + aria-labelledby="_r_s2_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_tg_" + id="radix-_r_s0_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5549,11 +5549,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_tp_" + aria-labelledby="_r_s9_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_tn_" + id="radix-_r_s7_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5581,11 +5581,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_u0_" + aria-labelledby="_r_sg_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_tu_" + id="radix-_r_se_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5671,11 +5671,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_u7_" + aria-labelledby="_r_sn_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_u5_" + id="radix-_r_sl_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5703,11 +5703,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_ue_" + aria-labelledby="_r_su_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_uc_" + id="radix-_r_ss_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5799,11 +5799,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_ul_" + aria-labelledby="_r_t5_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_uj_" + id="radix-_r_t3_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5831,11 +5831,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_us_" + aria-labelledby="_r_tc_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_uq_" + id="radix-_r_ta_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5921,11 +5921,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_v3_" + aria-labelledby="_r_tj_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_v1_" + id="radix-_r_th_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -5953,11 +5953,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_va_" + aria-labelledby="_r_tq_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_v8_" + id="radix-_r_to_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6049,11 +6049,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_vh_" + aria-labelledby="_r_u1_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_vf_" + id="radix-_r_tv_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6081,11 +6081,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_vo_" + aria-labelledby="_r_u8_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_vm_" + id="radix-_r_u6_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6194,11 +6194,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_vv_" + aria-labelledby="_r_uf_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_vt_" + id="radix-_r_ud_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6226,11 +6226,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_106_" + aria-labelledby="_r_um_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_104_" + id="radix-_r_uk_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6322,11 +6322,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_10d_" + aria-labelledby="_r_ut_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_10b_" + id="radix-_r_ur_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6354,11 +6354,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_10k_" + aria-labelledby="_r_v4_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_10i_" + id="radix-_r_v2_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6444,11 +6444,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_10r_" + aria-labelledby="_r_vb_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_10p_" + id="radix-_r_v9_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6476,11 +6476,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_112_" + aria-labelledby="_r_vi_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_110_" + id="radix-_r_vg_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6572,11 +6572,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_119_" + aria-labelledby="_r_vp_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_117_" + id="radix-_r_vn_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6604,11 +6604,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_11g_" + aria-labelledby="_r_100_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_11e_" + id="radix-_r_vu_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6694,11 +6694,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_11n_" + aria-labelledby="_r_107_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_11l_" + id="radix-_r_105_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6726,11 +6726,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_11u_" + aria-labelledby="_r_10e_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_11s_" + id="radix-_r_10c_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6845,11 +6845,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_125_" + aria-labelledby="_r_10l_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_123_" + id="radix-_r_10j_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6877,11 +6877,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_12c_" + aria-labelledby="_r_10s_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_12a_" + id="radix-_r_10q_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6967,11 +6967,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_12j_" + aria-labelledby="_r_113_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_12h_" + id="radix-_r_111_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -6999,11 +6999,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_12q_" + aria-labelledby="_r_11a_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_12o_" + id="radix-_r_118_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7095,11 +7095,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_131_" + aria-labelledby="_r_11h_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_12v_" + id="radix-_r_11f_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7127,11 +7127,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_138_" + aria-labelledby="_r_11o_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_136_" + id="radix-_r_11m_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7217,11 +7217,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_13f_" + aria-labelledby="_r_11v_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_13d_" + id="radix-_r_11t_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7249,11 +7249,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_13m_" + aria-labelledby="_r_126_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_13k_" + id="radix-_r_124_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7345,11 +7345,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_13t_" + aria-labelledby="_r_12d_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_13r_" + id="radix-_r_12b_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7377,11 +7377,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_144_" + aria-labelledby="_r_12k_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_142_" + id="radix-_r_12i_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7490,11 +7490,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_14b_" + aria-labelledby="_r_12r_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_149_" + id="radix-_r_12p_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7522,11 +7522,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_14i_" + aria-labelledby="_r_132_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_14g_" + id="radix-_r_130_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7618,11 +7618,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_14p_" + aria-labelledby="_r_139_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_14n_" + id="radix-_r_137_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7650,11 +7650,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_150_" + aria-labelledby="_r_13g_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_14u_" + id="radix-_r_13e_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7740,11 +7740,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_157_" + aria-labelledby="_r_13n_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_155_" + id="radix-_r_13l_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7772,11 +7772,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_15e_" + aria-labelledby="_r_13u_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_15c_" + id="radix-_r_13s_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7868,11 +7868,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_15l_" + aria-labelledby="_r_145_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_15j_" + id="radix-_r_143_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7900,11 +7900,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_15s_" + aria-labelledby="_r_14c_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_15q_" + id="radix-_r_14a_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -7990,11 +7990,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_163_" + aria-labelledby="_r_14j_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_161_" + id="radix-_r_14h_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -8022,11 +8022,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_16a_" + aria-labelledby="_r_14q_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_168_" + id="radix-_r_14o_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -8141,11 +8141,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="More Options" - aria-labelledby="_r_16h_" + aria-labelledby="_r_151_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_16f_" + id="radix-_r_14v_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -8173,11 +8173,11 @@ exports[` > renders LargeList story 1`] = ` aria-expanded="false" aria-haspopup="menu" aria-label="Notification options" - aria-labelledby="_r_16o_" + aria-labelledby="_r_158_" class="_icon-button_1215g_8" data-kind="primary" data-state="closed" - id="radix-_r_16m_" + id="radix-_r_156_" role="button" style="--cpd-icon-button-size: 24px; padding: 2px;" tabindex="0" @@ -8216,7 +8216,7 @@ exports[` > renders LargeList story 1`] = `
`; -exports[` > renders Loading story 1`] = ` +exports[` > renders LargeSectionList story 1`] = `
> renders Loading story 1`] = `
@@ -8274,497 +8274,5026 @@ exports[` > renders Loading story 1`] = `
-
-
-`; - -exports[` > renders SmallList story 1`] = ` -
-
-
+ aria-label="Room list" + aria-rowcount="103" + data-testid="room-list" + data-virtuoso-scroller="true" + role="treegrid" + style="height: 100%; outline: none; overflow-y: auto; position: relative;" + tabindex="0" + >
- - - - +
+ +
+
-
-
- -
+
+
+ + +
+ -
-
- + +
- + +
+ -
+ +
+
+
+
+ - +
+
+ + +
+ - -
- + +
- + +
+
+ +
+
+
+
+ +
+ +
+ +
+ +
+
+ - + +
+
- - - + +
- + +
+ + + + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ +
+
+
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + +
+
+ + +
+ +
+ + + + + + + + +`; + +exports[` > renders Loading story 1`] = ` +
+
+
+
+
+ + + + +
+
+
+
+
+
+`; + +exports[` > renders SmallFlatList story 1`] = ` +
+
+
+
+
+ + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ + +
+ +
+ +
+
+
+
+ + +
+ +
+ +
+
+
+
+ +
+
+
+
+
+ + +`; + exports[` > renders WithActiveFilter story 1`] = `
Date: Tue, 10 Mar 2026 15:56:13 +0100 Subject: [PATCH 06/16] test: add screenshot for sections header --- .../collapsed-auto.png | Bin 0 -> 5037 bytes .../default-auto.png | Bin 0 -> 5049 bytes .../first-header-auto.png | Bin 0 -> 5049 bytes .../last-header-collapsed-auto.png | Bin 0 -> 5037 bytes .../long-title-auto.png | Bin 0 -> 6753 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/collapsed-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/default-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/first-header-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/last-header-collapsed-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/long-title-auto.png diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/collapsed-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/collapsed-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0616cbca92ae582dca9a53f1a33ca668a9a703 GIT binary patch literal 5037 zcmeI0Yfw|^8OM)84X$9^VH6M~>pCNLEM&RVKoCL~S2kl8T zVHqW<(m}a|EEU&rib-UZfFy(hOO|U85CX(Rt`P{Akb43-J@#AsVcYHJe0%4a_q_9; z=RCjv`#w+E*~A2|_YS@X0Du?%(^KaFz^wxSb`E>&gd@ZIIdcH855S-L&F`qSIu*T< zPhxiHNAq)z=YL)Q>?|Vx4&j&IboEL;LhNpNvvwtnnCupgtt5u@Hxch~q-@>5tkc#) zYHfwawi<=SVqqDQFggboBfMX<3n+?_b%xXK41iMYK)hY+M54rV|&Xm6i9DX#L~H2Z+Wcc z0jb5gj=02HcqI>Hjwz(3&yE0qh;D9~zkB91x%WCkVkgPl&C!;DcFK?{IT4#S(ohyX zc{0b@`Fv%9PZ_$9d=wSI@S5N}(NG}O%x2JHOw`x2-St00hWd3hp?!8Z{wS9xHR09* z&(TxZ882ri3j%2jXL0uQX=Lo%j+rr}PjKPeJMs)k6*0kpKR|el>IX8(4fp6KhEps+TMKv6* zK&oG4PlHVJnRo>En!nU+&nf2}!dh1_s)z=&p38F^vGUgwEu8R^)w<-g;($2L7g!D1uv|QJY~D>({IfQkzGmQ zv6N$9D1^>=t&_Ym{-owawo@4t>(FiPFHOSfIBjc%8#4(B0B{*Ww(vc;_Q!tfwpSFE zZ8=M5vt!tn_;pS1P?|@K`-)OOtsyTiJsM)HRAow52Xks8(>g_)Z{oQjDOO`+RnXSl zuc5F2Px1CpjD?@SsrNQd=lBNk*=q_uedt10bA5@>IfYT@FZxB(`dE%thtuM;x8%(= z3q7Ampay(tVpZ7f%F<|=C}S`I-JY9*%O1zG|I{0VqBERh@sAoWiPtjOi(Uu`4VpdwcZ!Ka(aptTJymTh$@j=GhX zu+A_v;Jv{nZ2>6BzaPq;@7!a4P2sP8?pO?G+r9biIYM-MOr?OvGKpr!r`OfC8)jtzH<-}u ziRe<;2688x7P|CyFMmPHa`lWj^_HE)g+WB>8+Tlv~<06=F=1PvSNF2XwcC8YjwoXwDwR2`AlJCccZu4)ec3s?;7rkiu$Q+t~R3C#ha z+ajJMuW(>b*7!B0D6Mb)Mgn0SmfCv9JwCZ=~;q z-PQ^bDY%<%0Kod&e>dO%(W714{^QbeCB&7GpMKW3D#TSGt_t~Coq!7&7cwqn{$FIi znN`Qa!-4bfW&uCdZ@VaSQRbrTXHjNF!{aRoqIT+;@M70H!r=aD#Oupl?BCvlBLM!B L#8ZNgFBkt4Z=WSf literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/default-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/default-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..0f8bb587a60f64d3f8b55a93604a94dd8da73ca0 GIT binary patch literal 5049 zcmeI0TU3)*7RNut3R8vH#Ryfow2L+4ax4=S5fKAe95YlUoiY_Dk{E&l3WOLW7ffQQ zlI8L`IwQ&@ky6NVP#{eqU=l#0+%ySlDHjuhA>4!n$o=vq-+Y~Unm)MN_q^`2ANJXM z|NiIfed+ULwBP%i-Uk4{FX^ubz5oF4ZU9&{Io)PivF@`49vuEd+Gic~zkRl~-pW@PGAiHO`X;^MiFU;{Ri&79buhai4sF`# zWC)clc&RS{EDz?#z>$cvR&9c#^6~?Kug|Xm&L<>z0|_79^8!9vKLiKpn+pKGt9Jpw z>i>6}n; zPhAd7Z93LUmsRSp(er%@oR~VWOtWOjKYU%Y9S` zvEpKg?!dabz9aEx#`U7OC8(zr@2oH5RN(AKB3}CC8a4tSm<(?tqkIf zlD76}(^sv-M>9C|!QV9=ZDt;yK?KH0axX`;?a}#dDU2m)ir5>r9hHObMB@zd&dw9; z6igg`H300!7iSBOQ72*$3cAU#&0X?z@Ly7W*~QCoBs&g?<7=uZV9&O$0hzj8*HA@N z(cb>EmJDf9xSRJeEWh_$945YQIrft zQE{$@$g;ZmkvJ;e9!=~zoxkE}c0H3oJIDsDj;*S_6vl}v6=qU6rbh*oG1^;fY4YYk z=!>r| z#8;zcSLV?nmZ#0&R104nSL$-2tYHjoEu8b2+Zm8~QNUz=xE;asivsHxIxW2$w-mnJ z`Z`}=E>#=lq^aJ5V;jGsiIQ%WjOFnp*6Q6#yZyv7=0akS-$Gw;msLgYx$wU`K;b>LwIfZL6j^KZy7YZ`(54n^Q*jL(pG02aIUo8R z9|U*v?)-LR(-IS^4MQ2`2#G6A>4KBK>XhVtdi|0zdbKH2-Dy=)B#b=;6W~Q+>B3z? zP$+Y5zciaZ{O{o^`r!JFIB<1i?&QP1xnJLbTLLQcz$ zQag}<5Q;&zvqI_eb&h8S+sYnwxaOjkMo>Dh&!u8Ma` zA6mxAR<&)?iT%O-__7=aABGFUM3%;AStV*#)n#gf^F!TQW%oB7gezv)zy;^LoJ)}} zQ6g;zUK#tN5k_2*(NdI88mXa-Ge$Dq_S;1Nx;cKj!BpojGPlLvM&fp?6BFIN1=1VT z;^N}jng)4I*YN@JA$CCLS*HpK-HT{bX6eRTrM;goWBe;3j_t~CPU|qNO=X=JxLHr0 zjcB(xSertk_4m9jA!W=(4y<7}vCoiS#295nP;e+-FcK=lRJY4U4}}oQA6wLr^lA`? zA|KVK=ZNQxEbFw|)z7`IKGg`z71-^Zi2TGqH6+^AA8&hg$U06Kf9#{T8W5GtC-@PS z&CJe`b!uH*XWSz7%Df`8RaJ5;l$E6)BgPP5WXg4CPmj3XppjL(@-*Ok7}lI-?Lh!I z9?)Ab+Je`%MiSjUu&C%`3WOCj679M188)rs%ye=J?~3@8v>6-?!1&!-!jDTxBsl@& zA34vkPLR{W{#)*=-moGw+r+nA)XHT zO@o3584ofZWZsF4^}B2zcsY>u^Df|*bG8Q`4?Z4z-ignzMh1d+To80Pm(&g~;MV+1 an>SGW2vk0-42pm)K+<254>WyxyzD<#-Z>Qj literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/first-header-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/first-header-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..63b3b3bea61ef1744fe8116f5ef06f211ffdf844 GIT binary patch literal 5049 zcmeI0YfzKv6~|wJ3hWBF-3np|an+XXAQxc;K_OUmU20>Nbr-|{S!5}0S1thpfdsNz z7nViITC@QI0b4blq6E2^Ab}{1fPoMz*CZw&0TLR>n|sK;VfMq$bUN+Fo$2J;GiRO; zXU_Tk|L1v5&Btd?d%d;iEdT(#5`f01pt?q9xjf^%UyL60N4p6o;?03u6bRA zpFm?Po~md*A>>cqxx11a8cZ$>+qLui?_>c7F1bWf{ze(v?cMP6<`HfPYPAayeM(g| zcHsT2ednUSi2dl=*lx0?3y1UR)sHWP4kWeRdgWU#`JQ#04Rs9!?poHM))=_0J!q?cHrxT1XmzoZ`(Ft@6MNw^gJ#BfQQ=$ z0N@sul(0}TYRG4<&3d7O^4X#_8Y_2My8fr}j`?zVO}=p^`UU_zwSP~3zYRtttSQTu zAS8(S$#Y){$zp-pIR2D;8`|fIaw!bCfajs(^|E&W0EdY>)RsSB#hVq~b0xw-OOT&5 zPCNG9u3*DLDJW%Szqm2dPmRkZiD+P4?h)OX<(ncH0XLge?K3*wnt_=LVYC!j?I9pbu9y;I)Pmlx<{qL-M-4eVbmyg+NZ#)n!fg$ICE-^2Ibf4@_&F(*f4Q4m zSHZoBLN*^+?<`#TJ0H%>c{X%P=qSh`di+H<0EoI+{6&3Qx$!p4x-5keFRoSHHY-~3 z3R|x~YeP(`63Q@LS8uw)RQ94aQkZ>7X8ws}6 zz7H=ixtX-*#HMI8Yn`PDGcB6M)~-YpJRH1(B-&~vLD%g!7|lJ8P*p>LSF!7xUUUj} zGdL&UsC;Y=S~NYs1E&|kn<5R*8Y8`#S~W4iTW`51vTr;->Jx*r*PwE-++KU(k|#T2 zM?>{^)gGHVg>4h0p3YnUH7d7vC7-QX#z;nT&--5}qa@asG)H8UMEAXq!g~ou_sN*7 z^YG%;<3w!^Y(OeDmkKbPso-SR>I_|=UlFc%&-H{b=6~qHyRN3rM)%gD*)LoBlxL)s zrlEynMy_94@!FqJd8#W0YMP(8XL~*)78D#mT#Nf0C7S}^|h=Tx#~qyB-~PS!dpNbIc|orG)Q-`IRGb4k zo0+}a6Rw+9Kk7z?;{PC%c)mMAfb2ekNqKO-@Aq6mI~!{aKM)9oiZVIN#<%@K zDhl}p&lvg46(g*Nzsa3_kQy1V<7akdfpF=U!z#{a?V(SW)%VVjx#&(=aEfJ0#>7k+ zs8Md#d8)&rnlsjkS&X@!xXBoK&rL+31(IPV!^{(kenkXkDLE?)d%Y1m{f1~Tq);n4 zsL?@c!D~5Nd2c*^^A1};7`paC$X+U4&`oAym~sabc2z6!vcbW9Kaa|@w>7#$l{3NY zGKX#^<28)46=u5EIZf{4M(yGW4U!o*W?D^4d3fP)wpzbGOrWgaajLRyzygEXaR<%{d8i z65=G}ho6m83r;Qkv|6}@pWo|P4qV*Y1^ma)w-Zq(qCYL7{|{IyTOE5hyPepyzrk_X dzNI!-0DDv8GRlqp%n<<+Pn|v4@te=D{tJ?6IjH~u literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/last-header-collapsed-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/last-header-collapsed-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..1a0616cbca92ae582dca9a53f1a33ca668a9a703 GIT binary patch literal 5037 zcmeI0Yfw|^8OM)84X$9^VH6M~>pCNLEM&RVKoCL~S2kl8T zVHqW<(m}a|EEU&rib-UZfFy(hOO|U85CX(Rt`P{Akb43-J@#AsVcYHJe0%4a_q_9; z=RCjv`#w+E*~A2|_YS@X0Du?%(^KaFz^wxSb`E>&gd@ZIIdcH855S-L&F`qSIu*T< zPhxiHNAq)z=YL)Q>?|Vx4&j&IboEL;LhNpNvvwtnnCupgtt5u@Hxch~q-@>5tkc#) zYHfwawi<=SVqqDQFggboBfMX<3n+?_b%xXK41iMYK)hY+M54rV|&Xm6i9DX#L~H2Z+Wcc z0jb5gj=02HcqI>Hjwz(3&yE0qh;D9~zkB91x%WCkVkgPl&C!;DcFK?{IT4#S(ohyX zc{0b@`Fv%9PZ_$9d=wSI@S5N}(NG}O%x2JHOw`x2-St00hWd3hp?!8Z{wS9xHR09* z&(TxZ882ri3j%2jXL0uQX=Lo%j+rr}PjKPeJMs)k6*0kpKR|el>IX8(4fp6KhEps+TMKv6* zK&oG4PlHVJnRo>En!nU+&nf2}!dh1_s)z=&p38F^vGUgwEu8R^)w<-g;($2L7g!D1uv|QJY~D>({IfQkzGmQ zv6N$9D1^>=t&_Ym{-owawo@4t>(FiPFHOSfIBjc%8#4(B0B{*Ww(vc;_Q!tfwpSFE zZ8=M5vt!tn_;pS1P?|@K`-)OOtsyTiJsM)HRAow52Xks8(>g_)Z{oQjDOO`+RnXSl zuc5F2Px1CpjD?@SsrNQd=lBNk*=q_uedt10bA5@>IfYT@FZxB(`dE%thtuM;x8%(= z3q7Ampay(tVpZ7f%F<|=C}S`I-JY9*%O1zG|I{0VqBERh@sAoWiPtjOi(Uu`4VpdwcZ!Ka(aptTJymTh$@j=GhX zu+A_v;Jv{nZ2>6BzaPq;@7!a4P2sP8?pO?G+r9biIYM-MOr?OvGKpr!r`OfC8)jtzH<-}u ziRe<;2688x7P|CyFMmPHa`lWj^_HE)g+WB>8+Tlv~<06=F=1PvSNF2XwcC8YjwoXwDwR2`AlJCccZu4)ec3s?;7rkiu$Q+t~R3C#ha z+ajJMuW(>b*7!B0D6Mb)Mgn0SmfCv9JwCZ=~;q z-PQ^bDY%<%0Kod&e>dO%(W714{^QbeCB&7GpMKW3D#TSGt_t~Coq!7&7cwqn{$FIi znN`Qa!-4bfW&uCdZ@VaSQRbrTXHjNF!{aRoqIT+;@M70H!r=aD#Oupl?BCvlBLM!B L#8ZNgFBkt4Z=WSf literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/long-title-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.stories.tsx/long-title-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..db8ade7e5943fa3719c609301395acc655c5b1d2 GIT binary patch literal 6753 zcmeI1>sQj*{>O1_s;SI5r`xea*G#9($;*inybLO$VBQ+sWKx@hx zEoU-uB2mi`GX%ULsUTyHdP2opLU;l55(x;3f?VZCf5Pw4Jn_lr!Cv3B*WT~F->=Vm z?eD#FA%S*V_HF?H0Cs1-`}V&8fbE|Ez$b&7Ke3Js?s_l-0DKNO^X>778>NcLtT&Mv zdU5bb)WA_?3Xjky2b{?Mn$^TXKl$}(pVmU z%WfYy0szPXj#O9|qWF)E9ROhS|1PeyeY8 zQ*kX%ZN>wp6h6xy1|=eYw|kA^GLdmUb&kocHTA#AoZjKW$yBMF=>O);nC89ObgBM6 z*B0ycoQ9zV&HQP@6V(mr@-~7)rT2b{G1f(%#(g1M@r7996FLlGw zjnb$D@(n$+wl*cU^}49war(2FBy4FoX7(Ucb;bCe4__2MQa1B{m{`BgI1T8@33)2WK|XRz3Yn2&-d>0|qZm8``HyOWAce zYP*Afny6tHv<(BT)7TW>PiCc<4I0E#lOO)oA6G|^0xC>3Yv0bj)CmPk5>6sIWnPIg zAp;J5b(ql(&f-t(b|;aqP1MIsWV~k7&m4SoI|MkMp&F~wQmV^=SluNu6?5SMc*_2k zzjnwTJP}`**7W!&l5v64syY(LOc`xR0_qfX9%R35`}_@ybh3~h15>hk-sMHwgBDvZ zp-nM*_ zVNO3EakeQ`wIAXvy;ofx%Sp&+sZea%d!U^#_5;JkkdAQjCf7KVA zPHBf$!X;uv=6u84$vgMG=Vpr%%1>pQX5w(k@1_p~n)E>%0gLvmq8%SR@yc4Eq%=*F z!F|Cm4B8)u*Vy&KYQ5zJg|HL0WsVWtICEEi$wh3J*JuZNUTFRH;%>TSlw28?UDY&i zz2q-SvXh#z8d6VLHl_92YXq!#2%j7V>1O|wYEeV%)R}IW$#f@ewn5YK)N^9#iNq`EO&x`D zxzk{`3e|n5iK>cnzVV@cxF@4*ECVtLp1OA&A-_B1X`X!{57I^1XGl5rQK9<05_mXJ zrgtHHcfsxQ9wRbNAF?WgVON>btr;F5c z)&+E{eZI*AcNYLLLX;6D_bv{uH%@gHsz#d5WZp{c@`4cIz5N7rBi!vm(;xl0v`u#S zwWopQ69QneeAK~T-IccG00qUKqyM9_hvk*lTK9QA8(OH{u(@Qvu^o2ZNxhC|H z8y^4H?|9q;k4{x}xr3on6?dMzyM(__ZTeqm8TxGW+LY0#fnJ`8E*W$?0?m|-SGo1l zuuel64Cv~FA-DLm#K(gXAdA?2YZR*YA&S}>i09@Af=;-h*OslO@j_?U7AMS!=9_cF$7oFnt z6;mU~(&o%Gt|pal`m5$6_*!9wTif-VhiZiW)mFY=1tPzpMiG5bfGowIC1aXsuxj>( z>J-v}5*aYy9TODj*+Lj|b*69sy|<2g%xv9EO_Fd*8rYmT{@&z?Z+0uWiu1|e0{Al} zUdp{)d2D5jDNo@_b06NhzZY!khH;yAXf7tTe^qg{h$F0xi^&?v3sGQZ7%E>=9sj_P z!7=?OGQ_iANDHb~nRQ4j3m1ks@~}Xsu&l)3U^58jv?@z15|^?s_mkY|=tEH0k4s(k zGk$3AS(@ueyJ2p?Gfpk$MN;vp%fM0KZuhw1r?_!h+VW+B<53|M#@P9>d6b+0`esLD zTFyyr4==@*{mKCcC-(;XI*&cwi6mEFR5rPx+KH8p=!u`t6q7+nr3tj;&iGCv95&4D zd~ux3R6pl6!geRfgq|uJUQ%1FYvuHCf05O=@1AvSYMLPUtwu_zjrun{zh7l~qJCxG z*{`Lw;mx(jB1_j+Qg3vUQUh|6RL`eis{8%yc(Ib3=VTm%wGXyWb`-}h z>~|rb!}A$ZJIuu9XXh=*g(!#XqMkT^;9kZ{1$wS~M1eS#bB*`{ude;|wA z!u<9U+4v}0Hyj);egSfoV9F^ON>SaVPOn4(@e5_y{e3VnF5ol*>6J3^yfiH16V8q} ztbSDOhFd#|#48m?53;r0IJ5I4pYNxWJ(9lT1emX0&7__ydkfWGImf_rG;&A;j96pY z4RPJS++UJh3+Livoc#d+(@7H(9*>#+tS5H0G01-5ExmzSOmCeRWDz~#se{G~gbKK% zD__3W-3t1^k*-OE67T6`$?{!#{#rKc_SQW>K}&p%bTm=$JvLq~fOw{_)Sw3b<(G0o zGyEIq?!usQYR_p-#3Ytrv0-r51Oiq9?wj6KW{PGpK2!tMK2NSfKYq$5vnsH`+LgzR zaHoLO{CVBwV6B)MI}Tp;U%Ym&3nPy8PUy1|aioHBd0{MI-vH#w;182y?jwyDhEpXx z8!;-ozhBHk_8Bx}t~tM_W`TTrYYa0%RB!&GIGFI}CE0JR16J+b5Xf@bWap7Z95}qu zbm^S_Q3d;yYvV$6`uiw&ZSKJKarME#>seNY$SPXF0QQBwJS^b&L63{LX*+za941Bc#rvG5M zxjaDQXimB~5&G>|+Z@0R-67p>SvC!@c{O-)w`vySfjdn37N^li;SZG?FVpRT9{$;n@97HngfNhCP*;%QAdB_!Zwe{RMa zVsF|}0JITv9?;I$tMBCw07aZ}4^!J~tG)dp zirXN{WaaT&;y}%nSmEeFYlhvv!8-p2v?Som4c3$i0$b~(> literal 0 HcmV?d00001 From 874d3e9ad40110d8af187e2951bdda84f84a43dd Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 10 Mar 2026 15:56:36 +0100 Subject: [PATCH 07/16] test: add/update screenshots for sections --- .../flat-list-auto.png | Bin 0 -> 8853 bytes .../sections-auto.png | Bin 0 -> 8853 bytes .../large-flat-list-auto.png | Bin 0 -> 40317 bytes .../large-list-auto.png | Bin 60795 -> 0 bytes .../large-section-list-auto.png | Bin 0 -> 38516 bytes .../RoomListView.stories.tsx/section-auto.png | Bin 0 -> 37490 bytes .../small-flat-list-auto.png | Bin 0 -> 14362 bytes .../small-list-auto.png | Bin 40738 -> 0 bytes .../small-section-list-auto.png | Bin 0 -> 16538 bytes .../sections-auto.png | Bin 0 -> 23021 bytes 10 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx/flat-list-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx/sections-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-flat-list-auto.png delete mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-list-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-section-list-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/section-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/small-flat-list-auto.png delete mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/small-list-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/small-section-list-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx/sections-auto.png diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx/flat-list-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx/flat-list-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..65d2b7e41de17b5bac68a6ee25932a8d22433b65 GIT binary patch literal 8853 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 Fe*y!vVrBpU literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx/sections-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.stories.tsx/sections-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..65d2b7e41de17b5bac68a6ee25932a8d22433b65 GIT binary patch literal 8853 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 Fe*y!vVrBpU literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-flat-list-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-flat-list-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..667be0e5c6c4dab0614004d7eae673c62f06cb99 GIT binary patch literal 40317 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 literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-list-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-list-auto.png deleted file mode 100644 index eb90df57d38ba7be7dea2bba4fb29a7302fbbd07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60795 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 z 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�kSr4y+jXfJdp(G=uw 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 Q0uU4tA&JK+4>jNXFEYBP(EtDd diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-section-list-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/large-section-list-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..9d43af461937de79f063d256f768b3334c9c18ec GIT binary patch literal 38516 zcmcG$cT`i|+bxRvDk=ghO+i5E9qH0lnh<)6ln|9pC{hwS*yv4qZ=r_XLLfk}(0lJi zdI`OE&c^rr&KYOi@BVS_`0hVs4A?t+?X{jYpZUyZE&|k56^QRr-z6X*AXa=Mt4Tm` z;|Br3^`6_;f#38{gw7EV+$T_!eWmS^v^MGNqTP7Wyd7!nwpr)Llu7WpCy{)m?&}+^ zm!*(#wBfm45ry~{C9Rj1npuZE&!PyfJ-q&zyw81eU8L2DCp*0S&fOg^$5Tl{u`W^bV+-EX*rfMWlpQ;!;BELZS!m1+cFi`^eqADQ9YG z+T?pe!A;K6sJJ-45E~8lj~wV9EG>IJ*gF)V9i0#ppUB%)T9upoR!t48B_m^Xhx#sj zdnzap)bKcPS5Qd!xiEhe-IGS)Q&v*4Z1O#cV zCamQR^A*8shD2J%T4XX0ev#kR(G0pP>-5mIF0JIqutmt(++Bc-Q8D}M%df=V?IB&W zMHczcO5HL21WgcUaV}e~>eB4X#cbb7UCIb$(}e{La*lWp9ujiTx{%umUXc~Ug5&oW zAYY14NluK9+?;*KIC&TdY6}D@triLe-K{vfV4*{@6y_H)Unl|VeHal;z|CMSYf=!N zjw{Z|--{)qkT;gOv0Z}ZuYXJ%8=uVi!Kpu|nK^rYe$gG{FoY$nuJ(NmnN)|WNfdB* zHaz&vfRr$#O*E2LZEwLQf1hX@edW>8Cz-*bi2Tk=7qiHMdaOq!V^`r|e}9Q%cJkulBQHjTVT5u)_djp;LB3E?fu%yE#^qK=Vv!QC3{Jqt5bQb0udIf!o|iB zvjLK8%wkqKCCJLNs)&k(YHMu&u-mx>ymWc?t>t_XhB|}lRs4$5A)%v|u>noKe{NMx zD0%d|?d}tA&;}KKEXL1qIV86xw4-25C7iWwun(##lYalP7{d-i(Gum9%FfNn%M4StGGh`(oG;J(keeA7G?`QrTIWr&WW3Nf)bjL7s( z?E{gFISB}DW_=jj>U3~u>;@|`$uL(FVyK-)6r{vNK=8?ZZe!fB+;LY)NeS}AdUI_8 z?Ou#RDIVHFqSe5~dc)~5?(~~Onn5QQe#~U7!I+Zgb{3!VGu9jPMU+E`Y3?2}kh@_V ziUzBlM#FC2yor1dgN-kRPYn&_HRH8%zV7Vq5Z+s!Zh6E>)Q`v520fYXnYyQ;Ky|ER zb;MKyU!R?KvJ2`*zO^+;i;au0g_-h9(o>%dzSD||im`-Q=H*ZS&gZ;N@X2pzlC$TI zqGeGi0xfp9KJI<6R-KT8A3CR|^MY7eN^=>-#H0)zJp!|iS2aYrK_A-pjP(_4;Fe6= zy#j-RczKIQO5XQ>Qw&>JSWwJ+NdNlJ45Ksc;;J>PYW7rYnS+Du3Dxwq%o9~j!6FFJ z=Hc=?)6)!1kB3nbMc0*MH->*xE=btQ&Xkg_Bb2NJ!7fa6Cn< zg(la0`OOIm6_=TC;vit9&pL*2HI6$nWrUD!VE<%Zw6bEm$*DDnGuwl1i4e`8!j zW+v22FEJ_U>}W0weQ1~C;oL28KG39+xWB)j8h<#DtTXfL*RR3+;hWIf7Z!g$@nt9s zi6zDO%6q+kujg7VpPYX|K^|ivw6)ElrYXqdV<_dix|bO+hfmSe(C8h5*WV(9KH)d% z*?KP{8+P<#ywZ~FiO0|0-uEXJs34rd6Eers09G?6i%qDuVeN;;yxk?<4C7&6A&CNRfBF~({kUaft#}Y)skMIU3cv= z6vFNj6B}%;J8QzP!3VqZ2}!B{EG}~Vni$)!4}B!19hDFDIG&yz43myeO->fDo0`zd z`GUKAk6LzJnmm;GT@>iF>P>ZZZ zB2yxH@3R&&3cYf3JDG3JrlFxZTx*n@_x^Hw*EK2QLYdh@$Qv)tI)00@Gd!3~C{=KBQ8`0fOhlp9_*$;DE zTpf7HtejNWi>46&2aLW&M&$>m^f7M+>8p-Zca}5GN$Bo*tZm0bYMg|Hgj{EQVjDrA z*bA3~iQ{;IY<3|5dL#Ry}nWs9|Wv)MeT)EOCA3rIm*2#^putyYa5NOD}vq-20kd z?~ki|-02kC=g==;5rUcak|7V+b#TONj%2OH3!DZ34-fEt(^rh!LAIcfl_y6PdU~lI zRY!huR6K^k!NGk!1NTv?!J;3xdh#gR#S!=J>mk}>rZe-_tKAqBQ>8q!6%K8IyEP{n zS63{89_izinidu)fYe7k__VRjygQ}Fg-=#SX0G?*ywYac5&(-z8=7rROi?oCqOwpY zUw0M)MCOy;$cTtC#JXF!tlVi971Uz5GQ;LL6_0=MH6%BV!+N5^ zbf{wmt)>Z9&~6|mwu0K~B~@o6!|Pa&dlgax8Me_|ct(YLcmS2)c##1yW)KmPMs58= z2O}-5{;@IrZ!Q{CRK+ATVwv5Hb#_y=6dp4lij5?nJXr(a4-6-9!y>6^5$j|17yGr& zuwtwNIct1!BJU(2HHS1QUC&ZY7AGaI!Tw&-V|m|OHzZbHHKVC`1zShv(sVAZ(r=%FPR_z(e!}_3ov)S%l;_m2x@P~=|IayggetxVh zEP<78`l2bKk)NpD#dV`VHa6Bu`9c23DwvrW3pIoI>WWUIinR2!P(IjZ8aIa)nX>9{ zvfDl+f+Yt(ii4_)zg(gqe>sGJi?#TBtX2spGfWauJE{zI0TUyk?-~sEq^dbl+U`6q(^NSP%tK<)$ z5S6<0C|;bIzkus;^zhmFctB)FM@Jr93CUt(ZJnu?OxqZcm7UGun3Ir@uv1*7ffmTX zUIyq1tgWpbtdH0K8J8!Y%MXxyBh!eZS{b-ANIAHcd`Wt~@n~xhpferpCo- z`49aQkJ4N*hSV3XO4XeD>M7$ZX#(={@!Ta7U`6Lpe2B0OaA0QtD>(Lu`(rrrsNVxdDV3qciFyUT07Re=Ks|oTIAv z=FKBftE84>1_d7IiHufJ`N0Y+y_DqUaY$mNA+?*zX4>iMb8VTx|tM~SG6!wyndFQMl6X|As4ckGn zT&Je{`Wn(ja3wJ@u^`;JTbEY%$jIBElZqEMC=CRn^3rWPdJr}g*l|7>n>y$iaZ}Ds zYzMJ6!FX5Bn2MGPzU=B~-qg%`g4u^z1dEC6U2!zuu|6G|Mdj3FH>}d3 zFB=X>Xj^-Gg8cm2o<8j}wBxSBp6px0cvHs|8rCZESSn-1prwYs%}2 zRM(*<^3BYFcI>)~*?pc*IfQ$AUUvT)c#9>S*PVA-Qi?a8Xe8sQ6?U%v57DpQXun)oK;>m>Z!NurZ0Xg25DbH@v+UWNy&`%vDDB|?3#AFw)kyc(3tUt=j5sBrEdh=>-_KOKrO;1 zeFGq`If`J8=K_2W`Sh7IR=gY-cPc}&Mj_5^fm?3tW)*uP0V>KGV6dGyZvq=+sxoiOod^Fkc)5$mD7+*Mo(o2lLKSW=Q!l9qPT-E-1cNs&B^C@`=wqeA-$IH#^Shbb~9J3Gt|^g-za zoya#hoY3=t)KhYjGRV*h7+=0>*@-q9EjWJclB-S(cecMTw_M_HVXr?(UtIa3o3fU{ zz+Tbv^Ns{jP=kT9eMQ~$fuzW5kGwYSUStteLqiXq;{aE9FVpxREkKAt0D$?RR#h`< z>bq(pImp?E;XfJ}MY+q7Wyq?TL^F}p(8|g;NCt(#gz}=w7^~r*>Sbtt5fMHPjt8vJ zq~yfZgz!O4bDl1ciM@S9HjDfLR!pq(g`$QYRnYuW&{Lx*=-a4-aBiIN8}3(HGFp&y z7To7Y)XRDXag);Ef=CdPxzCsRd%#4|al{DAy(ACIwnJ8VTUc5K`h|bSInit7W23$m zxx4{3ZdLb3j4<%|^44`h;N$6yYt+EU_s;~t;u5sHyxKtoCQn}i*i68GKMe?dg2%Ue zfS;f4{bK=q{9oPXk~^wza8*e={D1tWGx)WWj^iMOP{Kh8^m7qUhZB<(I)iGn3>@%l6{R>V*3Dpg zs0~a?D>*vWKRGqT!t-ofURK*u50zgYY0e4W*7SI-xwl?L2N4fM7xGp`xGy%B;QBsp_iC`M!mcr~yHr*V}Kpc~0Ei zKKT6lg=|ls2~ccZT+FV+!efA8e>%wp<(;@r#vDU0zlX=`^gHhA?k!DoP2o;o_EU|b zdABf-(?YHexvulQ{7pHMqJrFs5>vk&ozkQ1X+%)4mjM4sMmJSfW)>j+oR0PS({#GI#&AFuXXFCWad23I+m+Q+1IGMem=ja2=db39YmTI*Y5?V zfA-Q=Ui(7t1#oZ|>tDIP+5X?SujiLd)~khuu8&LgWq?wRAkjj9+QCI~^3w-)_}yJ> zCvs+S)@fDwV~y~X8x~u0NKYp^uc7gd^0zFt(K&u-N)jvRL=J%@vu3MkYiZ@LJkT3$ z`SD|{uWz*1s30jZ_HdQRQO=vtyIy2Ek=|=ACIoHj_3Bl(ZL)H3h{Oa0UV;7_4^nxA z%LJFgyb_Z5@kUN5Xo<^e1K%|7sh)zu>7ciysf}fC4|%v2?BHdPTgj1uo}TMj!)VWz zzkvoH!*)zeOyHmKI?#{Sv|WamsV_V?wp)!GN*XewG=AUWU_Ehj4{UR?w^x)=c<}6~ zYtIm*>0qU*YNQg%%f+SC-9ipKadEBP?TuYOs~taab>6aL{5yq~Lt(eiJ!&t`i*sJVF9OuIr6Cjnnc?!;?48_noB!sdpV6&Hc9^WLEC`%V*nEL1J(V)>*V2Os$tu z=~s2NYa6)S(LqjXXkb8H3!I;utBr_>jRmPN#yB`sxUYO35qn#dTjN5d=K@8VVjHq)(SI}F@Qib)BNOG2(yl$KSL zmjV&^iA|0Z)_P&%c|b_V$;QUT$vKVYRVNPsIC~)%_rr*Y@-oMUPcjOs!d_2(e31nO z%7U_A!pQnH`($fMaxF&N;CgzZcLG{rBDPv!tzGK{j_Y*}Dp#Aeh_Wg;xh8*?NUb|U zo4>?+lT`Y2sP(5RpfXmYWKasjq4fpRJ3zFx<;dLHgJ3^&;y1mJSt!f*w!(G?g1zi! zH;*u``1({)(GhpoDj~0@-qNX1%vzPbz)p3JSyvpts&*$(2HQ5X1V0h`(a`XwqP@Ls z`r;4KjT?2D^V-qVB)~8(wg+O0#-0Q6>B?qgT$HB1?xKa=cuSLM)=dn3G#D(5``rWf;%Os*DYeYV3hrEY>ExP5vXpo}FWMD$%7@vu|W>cy52!|8g78 zqe_AngCx=Z1u_k9@4x6v_w@fBX@QaczX5cJpZ*7jJYZ>`68=|EZ*fcj(KL#QOH59R zEzD0hwXv{9nWtrE|J~4+x49|P$Q;XsjU?;m#v0Q`TH4y$61*5~lAop6G#|sC%+KVg zgJb7GAkZ|5-JIw}Kg9VqK{Z}XV=jMS_h~43j@o*9)UQPJJoL+lbg!qYY<18#l7in?*S&W+A-~ntfHG~nRKsjP2o20SB)j3aJJo`$xu(U)k<-jE-CQn|=s`|*> z#wI!<0*jbDNte0h=L-RWRPaNEL8+<54#{)PYQB&f-M4Q?Fm|a3n{oe?P4Bm}OLzlq z?WpKzA^X{*NLIA~2F&u|)|N|!x3rDTV|IFAfTUq&H#a_ELS+>dTXE-vDRDwF@hLt)CG>!__kOx-Q^)A`ojYF%iC@4^I=Ub=nDa_@ zA));s-g?oGf4+ZCpNZxKPhCEBZa&~%KOgVBTnkFoJ(ECm_?5?Q6OIiRA{rBb{C&siZbt_Sk zeK4A=^BVjn>P#CS8OeDeCMwF28kkV(KY;9Q>Q;lK(>X1!4RzKdRtNY51p4b`Vr|9| zN5?1rU{>WvB92WJ;~3+b!!^gX5qoD5Ojf&>$2OobUQS4CuYP}@frHlW#&egd$SPV6eg&HyfL_6fp@d4*K1DXWmjH5>bMol0@nk zWE-I$>&wVI@H)rxzckR-SMqMyKq8UL%geK~5s;e0Bni0EUS?)y?q#X>SUtobJS9Jy zlYHqbZ-HKo)cj6#ZLP%gD*R*pgUfo!(&HSJbaeex@ZtJVe--OJG#rShk_FV0E$PL@n{#t@_H&Dm`{_l5g-`5{XP4vRQtD0uJ{IKXbLwm^ zKgT==lT?;g@^En#)cAk?{P}3Sc#~1m{XqSIZE0#n+OE!VZzRADcTtOuU8>piyzeNk z`>T#AuVvQz)9!Zf&+Xor6W@zURhincuJye)j9NuZjUfg#Y)ITCUN)0N5nBgq0?{oF z0d1illG$zW1=(Z0OnQ{7tkCxFAM4Jv2gOt=L4l!kB3?TuP!T$bM@O@uOUlnKMbTa~MCPy_j{3EZ;9pZzFlR_16H>MnZW;$!QP5OX(H897^V9C=?gIBBxCc{5Ecwg4j!&fF0e@X7PH)_odc^#fG$`~7+&W_J$H6J;-6d7EG zgh@KiEvPl**Tr}xX&H7)Gj@z0fXp;r&2a|popn?~|Av6F%}O4zW479NA@imt(?prC zFu48-jhBd(zJfb=n|EhhH2w;n1SFVdqt$GPRibXZ)_REbxSZB6M|68sV}f!r^8l#r z>3L495;A0Dvim(Q{9j6BucYTl>`P*T3ONkiS*5lvT zjI&ljWnALU15G_HMzOf57=$ac9B#T+GA(*@r?h+{34O5>&tA`CIs0r##m&lLoJTW~ znI-3z-!~Ha5d{FFEvR*V&F)vsW0UDg6MC8l-Q~8nEooxR$mhMKt+1iK+1j)bEX9|v zB#g#)VUv0yeG!>v>RMW4K1#M&t6)g ziB-`*{E8~_vT&&F7O_hW4tUYTrm(b}N`=Ld8yV^5L`r)D3mF;Dk3{SCvj=(M@*vT`K|M{S6V)?lTJUWav zwA=n2Zz$G}zp^6ioybBe&ho@&D-I?bW%8!Z#O%hq(JaDy8GL7q3lvoByipG#$nhUO z6e)MVhGK?NX{Q-+u+c}<;*a8+OtPj$ITgDw1x&bzYXB%HM-$i}GZG_G-Obfh?ZaKz zcGX?1zWBeI^SD7iIR0$4vs0*mIG9O7u)*7QVUYCPCK*}Ymm$z^sLb8a|2uqU)=vLb z%8_(VW^KXZ>q(^#Tk%ybEOf8$U7_Iyv(EL3(omy90&bn@q0>?XB!gd*Q9w&*aIg`; z1q~!r7CBQmuBbEEJj#kxu4e zOa3Gka_Yw$1YJ7P*`N1kBfJe1M6Zoq37S>0+IM=ApBOUs!7f9$LOf{-?*&Ued7&Cb zYG;}$QR!uGuNS{e-_r(`$jnQnW4X!YRyynmLj(cxe+U##FP z3udH{W1T|PFy3hk6WVRkljJo>mOSkXk6MM;P&YShpLC-S2pj}b!ooLtj!FQ!zQpq_ zGspbo*kylp>X;5f$26;}ZEBij&MC6OJ7Z>cY}Nf!K=?cks>xprn&$OYei)Vjmea#d z=|zqs;=P@m_fkdVhua$)42Oi)fC<-5Q{tl8SeRyTkEMqV8$T`T`i~Z%vff<-!HYRa zu+^ujN6dXaCgSHW2gDQ^r>lNIR>RlG{<=Qjd=N1c>X+$zI z>wA`DSfqy0mjdJ7kL%oKhDwOyRjQoR0z#*XwH8s+>)sS9@J3(uZvUTGs92Zzh|lcx zOL3^4qaejyAMDA`#P^y4k1X*8$$J$$`n@5yCEW60IV30E+G%ptdrB5Z2a<$gDYy9r z1xv~**Z{8XzO}q@?$_TZFfnO}Sd;oFDtP85o0(jQj$he4{5X0vUW7!>CcBeN1_vTa z(34g0;p3p#ORD2Jz8Z;wI@2(O0$Wp>RAopnEyxY^;w57>-|-9(_(`iv32pX}O6aluPY;(e>} z-YL^@bkKB?*z?Pg6asg1UZTXNoDrJ%z+DMycwIOjlq6oTt2l#6%gE~$K%#SMg8l&{ zFhLI6doKKG&H_O_-H3I&0!DXZ`PUzIa5BxlB+KHtmyCE}TQbSd&8pd%*`4uxat0v$ zna_8iD%3a7mpGrF+bHT1DxW2bkX3PR`=)X8rVmKB;IVL3s$Wg}*y@T1V}=|q>ABh4 zmo>sfu?1Y*-1+FV7Mp3_%WCh`6l3{&l%nWbu6A|RVhzPnJa*ihzpQNVe~}U$Ik)^S$0IKb zb-Xt5ST|;Ic0RVya5zirllJkLs}_+FXwVzDm} zt38z)Ifu@Vr?8N%@=aZ@y~rbRB-&dmyLQ;y=?o7g-nP~{WbS1*aw~0q379+nOlg^t zR;1;ljwf3z$%Z_6ce0qEG&Fv(?j$ku<(TsL!}&R+iNRa#sK`XtFR0K;gj2A8Xe-eC z8Ex_Xj+3l;3@C`=VsVdX0@^ByF-yIX=CYUDTIN9M)aZo5)^Z27!Kui-i+v%R<2BZoIyv1@86a9e(PkrtCT6-z`n-{Y1#K)R@;sMJ3Y4L_DQKHaE9*jki@UBDMka z@V-WIqvH8Ud8hliLY@1Th$0J-mnkn=-%{%SnM#uK6c(6|lKZnZOdG7i9BoKKyxCul zuV^(s_o%x|6qK2Ve)(p!NiP12`N}fkD#=czkymd8?O@ z@Mu`Sq^e4GAWVUn=4i3KyQ!h6xrz0gQO))uXLsOs*5L8mk0s@z547Q~b0u517Y>54 z?Mf;vJGQZ^>#=7QV!Xwxgb0-7V-Z`qfa{et`Q?CI=%7OCOhp6B$2!u`YaR9j%I7D; zJaAfc3Vv+5b!4sZJTZg6e?!cr!0tz^46DH^jgkWwq*PueV^zYlPSV|Zv&^J1f#?~S zlan)A`WhD-7x@h??v8!|fh9>kmA#{57jD2k00>J{Mui*LqaR*%z;Ya3Y1j9?JIE2kvI zf&%t=I9vJ58vdAa4&e^EnnOttJ~!pmr1^Ae^&W&8R9DyTPj`phBL+BRir3CImh6AO zniU9a6DI&MqNwJ1&{Fvg^45LD>D@fKZ)ZopcnpBPWr-RsJ7)n-)M%Nbg8+Y-VG^ws zf@OYjp}CQDY*c@^MhnR{afR(V$~&9v~f_(4>yEbykOS%82l10|@dRq^wFza)(x`B@qbjsSr2m2Lx#=b;!%AYBq%RO`QZDP6I*=ag8saHV>a ziv9nlfmeL|)WyjzMMD+;Ju(_lRx;8}jV;z}%~tI2OjkM|psbLk0TF`%7Qk_3Z>9y7 zwXlFTLW}Uz;%T1$y8-}k61aR95_w4#8(m0zNB^VMW#?X$Z&SmP36F&5M~$BJ8KdfVvj;Q3vbX`kG;7DBNoI%ob zJN`%3QfOd~))*WjY-VQVRWwdjJUF>oy6e_LCBtgTzTrRuagyQ+uuRfdLEo*0qp>6P4(IoRa{cSP*#Tb5`p*C9Oq^$-E`}Z z-rYaoeF1;hRvgrS*Fl>4g^@u92W8my%Kg}6OO)LUBwX^bAT#fh#Q+@D8W;rPkeksr z*)z}}qAKoDXXENn1~RqtzWyLXtjuq4;W$%Yc}&bAX}h;5jfbLBAadV)nu~{xt!JR; zZOx3xf*8Okq)$9Fl=Ks@2`A3&y0qf1@=h#FEOw)~C0!F`PUqN#{2_0QQ*@S(9*p#m zB45PJ#7q$w?MopYj-I7i2K+iHNO9yb-K_a~&m=0kw9+;lSrKM{_sJnu-QAQL5_xxu z4uamwBJfw$qL)@lR;#YRAO;;c6oMQT~qVq0LB{^pWqLcd!=8S$Mw4Ag(wN_ z2v`tkixhwJ4QkuQ$tWn0&^|YLN#AQ}^`X}Fl&*KA?sBW;Sr`e5&Jt#fJ{c~ob9Z`R zBXi@c;+(v{yn{o+Ynfh*vvV&A&WTx+S;dv>YRJ(9$%8*AmMcMtNHsROLi<2u2<$K3-`k1aiLaUH{aL{4Ttg zondD`F+3|POR@%`8A>i>Z2J4hOQ`Y#;&9LA;70{(PR@?H!Ve=g<%wx>txo~D|9W|@ zO;BY@N@$suf@Z-l+BU7X+r1W6qc^LU$~AFL0O3 zk3gO>GB>-;8J;YQvNe8lRm+Jl&mXdNANu?`LQ>y{IY3@PJbOdkA8=@)+Q8ls+?s z;s=zJ!Y-2cxw$(Nz`MKN(lG#QvbCMsWc?nQpPik(6D$4Pu55!bk)`0>gwWP(02yXb{gY{$hw4}YAY;&aSN8`t+sZ;4D;eX6>U0RjF-br=}8h%CaeG6k+ zNmT1C$&;3uxtwmu?Um`AC7^XA;k8o$bp?}hui~_tst``Xi%D`AUY*04`#a@nF0XR(^!sc*wjQ!D*EeywHjje zFKCgH1BLo)$ax{|ch;i4Fkk9q_*L%uL>L?hPJPrn=KUd2H6jmiRN&}@_XC5h zl`ChO-LIx%Dz6ge)(jFkd0*U+j{C}ItmoERUU5)>uTU}xD2^Zz!eu@S)XB0Ot znJ_Pz;;k$IIi@CFk7VCUysxG%z6i%O-87Amlbnid@vC{5U7QmenHU=tvAVIkwlI^OMCU2abJkS&3yCbE9f#ho7PD5D z2I8LJl6+NDK-Mhtz(DGFENHqkC38wj3v~1QdwY-966rPj`|#^r?Cg_Q zjqK#p;NW|WpT0HB_nUu>4l35iC_YgIfp+~C>XV3ZOk#~QxHE+1t5=_6vKN6pPx?fP z2iR+W=whUf5*W5 zFt_;CPCfgY`zVc*gLBCiV$aO3s@dx92Q&f^kCtbKqkfV#-Md2iLRAovfa&j^m-Q8y zT;i~f8b)7+$J6Q_vz-{s;0x+9QbnMz;CcWoU#z2n&;I8}R>3o(2TilyrrP zRm!;D%Jfaz2z~$0xRjvC-zO^LKkh#^>hCE5Smo;CFNr0 z5wd=kjSHDdl^(uSoHFmu5Ql@8p(J)ea@#v(8#s0D1gQKNWT@ihns8(N+ zHLxCg-Q|i1kh_7|t#@0;{(aJYbXLA_N4(Ulp`_sh>!Sg$thPY!0T=I*Vk)E{g1@W z7o)P3l~q99t(}g}a2(8BOIuerP@s3XKQgblrPO)>+b!(@`gP91Co1%U$>~46;9Skm zxFm7|yUQPtv8Z#JUJ+okFi1#)VYqQEXR##{3eu>Z~TW& ze1DHDOvE0UxB1fI*fBg4Px@RdiuuO##KaQ&8fd&aPodsqsJ3{?7dDmb;gv@Gg^q%D7~k(mXh zvwrI_7*F~93Iuyl57TIr>Ok_{_epzQRxvtlDczy#qayfdFtE|1R_h(x);mthtL_R4 z3DK?hYhg+K?@cONv0iP>)Hl%tK=q@cX{3vR&MykZs&bBZBMPzJaQRnLz}qjvR}v$j z-it%F>Fp!H4FulAIy}baHt!7W>cgTZw}#dmG73YCRhDuToK2~yPV~eF>Z8)bfdwUy zcmceojm@gs@5@!Gcjxo2v(J>egpz?ms(2l+X=sN2&0&AkO^KQbNb5V(e>xw0%VK&| zd+1d7e){IQ7pmrlhzuUb0SKl}_8%ju;eWQa=^$dOD=SKun`@6s6IVhHm2Eij1I3pgTF=}VUEx@w0K-E(7 z?0|5W$^>B3hn!kk#vsS?re=R<8<@@D*l&nL(v$V97=!A7HS0oR;(J$LG?1=zb8NK1 zBMw{x8Q%1&S!?Rt7%+%Hm6h!P;%)pNP<6HIjnl(}-2=dKFir2mHLDv1SR}rG_H^D5 z1uBioqvpZLrjXof;x-`5Rad_NPDXsNwtkU2%_x5Ggo~Y=C39DE`;FjUfMFEc&; zqUV|?FOnyG=U(^-4@;Ki7tIX@-$&%8_q!);)m~1l*jZ(JJz&Qko z1r?>2?5-RSB_LVmOSk=A6{S8 zKF!>RIGF!!skG=~Car&kSy?99fy;0>4JLr@fsNe9Bmv{V%9x>JqGuVt#1)klE+?(c zo3#P&JYM(te9zZn3Fcs9Gc5biS@QE7unP_8s?|S!T<7ln=NsSe>tkrWDic#nOTEII zaweBv$KB_rdrt&DYymlTfr3K(knSPbQb$rmWTgAzgk0}brF(r!%EsE`NRX0}oHaLZ zac+%uXRC>cNx*F$>S0C(0BN&TpLlZeFD|#H>2L1oYImUVB8`kf+>m3+*Tr%Y!uAy{ z_mYpQ27tHsy3!0#B>C zow>kfYqO)nu52xtx7^hcztGSJy*$UgfClSiJ>AprzqDAFN(aE0w7q}O(bY>99A4g{wSRK z=Q(cDL4dP)cu3_2yN;X3+ehwCi*%+71Y*RLOHw50q+Jr4|HlUS# zpROW2IxJOeZey05jKFj4`Xg0Ul)0F2{` zgM~r;5FnHxU8Yeo23K=1li^0;s(-qHDesdO#eyQPYLW2@?|A$QXlJtOakbUDSvXX# zgzOltnYT7rR}Q!iXUKBAkKsYNM<=fCgVI`s+3C9H3MzS_!T*O4%lY zL-{vO_Hm9xerZOMMlv!P!0)EM3YR$m?2pY7=-OQ3B;~5Hw%wcb?Ww5C(x}&5IvVUa zjKx{04aC5}0O0s8M}jb#CIe4}NBGscQfK4-9RIQMH{G^o98>0}4i+w{DG-3nL<5jv zId0oaX3sg+`cvvheP{eGRao*1#+@Q87Mpu2Z2t;ut^gMj(ioyx?>Fa-yAoh~es}8p z6<}XDEPujCA2A3^J=+@#xtUtW+Eo0u?p2Lgwb;mL(rvNfe1oMc5tbzo5Mj9sH(t@q zteI?1Hw_OqYE)0lFl}NbHOT;uV>5!)BCiCFp70uCKUjB|)?Op{A(NwbP2Z&m=FMtc zjybRkZL2*+jFjT8K}nLWQFd&trB031ri1;%9uug5=C3guU>go-h$>{A5OX+}q8v2xXy7eXgU1 ziU2s_fTRUuwhGAJWvA)cBt#_S6(SM zgX)l~p)&6L^smBFa%$k_*-+5r;JT%ut6XDYi$%At4tR5_`tZApGmtyJ)0zCAM*r+; z3Jd0N)8^w_{t8Bl+oM%2-;xUEYprRCxoKpK)g1A{#1qx(LJR{#ciVh#ov5%2i~O4C z(3YUq+vjZXjz>4{@=)E3PXNkplDQ*bm(Th1tD*7$44YMW0An25(f{ zZYbWI+-jN%DKnEZ&E5y9w%4zN|K9!yut59S`gnRTmM}r}UrjlVgUzWZt~}a5zREWe z(1xc-*v#>3e2dX`5M@U!W-n0Wss5#uJU~g|lS8sdNu}8N^zO*8CRvs{FAoncH&-v` z>UiFO`T}qON$k>NJ99t+c~(2$F=MBoY~wLPbm=C_j9yjnV`*x-xLEhSM>oI5HJ8`N z%*-6N=jj9-{DgY(L9b+q1eNH!dsF_LrW6#KTJy4#M)%iasMwh*9IkUxY`f}{1$wT4__OMz!tc_DbFNaGiD-*;ITSYE+y@!7l zC&tH<(22D*jrU{q>R7DnjI&N1l?l%7khr?Y(&Va)IR8}J# z%H`JeBns{Yo88>gytP~s^(}ek88MFz+vW!ZPgmEhoxEGq!Mb=`d%N%%R$f6N2Nc^? zzSNO;xHkctnVB6t-jyyxm%3VQSQ8SSUedC0!WQxd$ykCb?F368j{;_r(NSy zg>}N#BYQjf#Za6B+F+RHiq5Ok>m0nChR-=TnI+VPqsr<`_JV5ge! z9LULaLx%f@Yg`4&%E}xT$sAdvg>AMY7LWpGC;Pn_@`1|}D95lVPdZ5TYHUPAUqS#M z#u#w0(yvTv3F+o&E4Pz&>$MSa5p&jyju=zXiz3Obe!* z<7(%XR-IY>#32>J&m$6)nf_34dJFUO?`>}n4Ff|EaRH9Y!Ho9zwn|E#OC$FFptN4S zGVdxnafR#Z9w2?7oY29+-Ur_O{Q^;HK();Tyx>czf4w|)*Tw+~zahN#q%U52mqeT#{&HCpXgw|6# zeq9(mR?%kzKq?Jhq7>Mo0vPyxK=W)6wR{VK@laq-5DA+;1%x?SvEp?Fqd z$X6#321&If!F}}b<<&9Rqf?)`Cf)Pb_9MXmALwvj%?Mj^KRvnJ>uiMY zh+a`ZjRI~dTO2=B)<99Gv5^^EWLS#9l%vr)2Y?S3QtJX7g|4mh7EfNap%MC35o(hEtZMg*TnMZ){$uJJ2x=B&E~ z0{-?Fzq$7i+lG?%MXwNWjGv!e%FYs1`o_Y$N`gVp?G z)Np2LS^rAYX=XPq(!VC}hKt%M?{8+?V>Bx=N=Ju(XP-&D4{f872EOA{J%q?ak4h_u zIl~-qdJJUeFF705IEfwT0%+EmZ-zbjDmfl}u=2d+x0=s6-PNExvl;_`R{FAZJG*O3 zD7CdebS#hDErSbH0Kv<>e=otc)Ev0%&qeP}4SNMSbr;Lx?6WICynJD;@ZWh9>1y=< z=Lsem(5+?QR8B_kaG1iRe|M{LS9|Z^Kn34(gaC$mW3a2ULsPT$U#*yu*weGF5?5FQ zC+Qi8^6VOSrvF%iS?}pm`T6<5 zdqRz}mXP{Qsl9_l$}%-PU&Prfrs@(nt~zP>>+8B??7QNs=W?R*)b?ketCp zRuB-7oO8|@RC3Na=bQ_Q%r^_W*IK>S-us+0zHgs%e(Ya81~ydHTkrck^O^U3UvpJ{ zdJTNCyDpPO2IYIvgqJt)NYzgk z@)*@tG#orMZN0Tm6;rQXNz1c%F4vXV@*Ga>{mMj~lH|M=-PM_XrJ<>Y(baZCqrJUQ zofp)6r#5YF* zsE|dC61%x?)O1X(ZN8Cwj_eF-rQf^oA3_JBc@JEC@j5ypx*cz*TU0W8dV5=0>G$`2 zM5sKAEv)4X=|?ppYOOG9KP$b9Z)AEZ#N~vjFbQ-WYa4 zVPWLWHRv{5TU$qc;gXY)*`iytt4*3klG;~1~)m$O}5Fs~V#WYm5^PdKQ`suVkh zye>XHvKMMmhNG#&j?Ye%VsM;u1z&9#^g9SHyQSyHCtf@+FkRyuUY~B)YLzajiVIJL zh6huI?j$9P1lru76tGcK^bx749b61rSV#e<_XyRJw|j~xf@jzV#WWn(kRPP3;S^`6 zXuW(ozBE1C**Ohnn`x)dOR9zg_2-HWX_C(Cs^GBw(^!*$Gz)K^c@uT(#ioHUwi0MH zV;$}pEh@pHUr})!mJC*}dQo>ZwJ>P$az-9ptUfD{d%v;0eOXVv7rg8%hQ!41y#^b- zG&-;P#!^bK55Wx(Ub0bo+dzlf_PusMSldXtl7+-D6y?GQE`fWq%Z1lYO@s}Mjo;ca z@Ztx`XNd_jV5>j<;-*!8n-t{n*eRu}a*3vM^LdsXxBZi$G_TeuS)HCsV;&~GETXC! zin*(gFwLjLXx#mZkh}aZkqTlM7vUS$y}_ zj$QW6twVfI<2`WCt8l@8sDMuPIveHKuIYWH4%4Gu0_4Kf*$MkntC@FKh*`bF6tA&LH>t%0K z#K}l*(4*yNrXU&hSFP~7ITu&j`03#4ho%)*yM?d8r|Sawh`p-(WMqR0{B%Edat^9Ad#@rGY^qaCByr5Iy%P$$Y$b;klH57ayS}`*Zme?(+D>>@6fyrnV%@{s z;tD3?kO+SH4NmSnpUdYe-#1L3a`-Df7b4#DY;6@K&?1m&uXb1b3PImeU%2-11KtKNYxM)CgWtKicel3T z>>CtT<&Ft%UQc8E^jKFyD3|>Ayr8; zmMtayk-4pnl#+V9FtaeofU)?)hm3=X<0s0>ESy8IVnX9dnnYDm@p#^G2Xhq~WB=~H zUHvEp#u=ZErq5vpr=KoWDerysyYvt5E%oxw+_dOGpTdQ4$A_1x>+M=6E($ zfVyJK9YS7?3%0mw3cR}#Ir>So&8lRsBQ)Qq+xb0AMMV&U!=|HUE5~&$@MJW9w^6iO zoi}l$qKc0ohkLLPnzva=w7(jIn?vK3XUZ>-ZA~_KLBVgXKazFg-&L&cSSU|Vpkto< zXfjt}8U;Z;^tKhOr5T0BZHO{+c6le7R|UnI$1}?T-QAf8bX`52LrFOU!Ln`DN-Wk< z*?pdZJ*#R+QND@AWI6kC$fh;HjpJEN+kOUuoyGQc1o>KDUpno&pq24J)z@Csht&v; zdk>`LM=Aw7J4PfA0#fYN)xP-Dkn=iNKo?~i$NljF_*rQLZp$%^#3RM#^us+qrJ(3& zlO6u44B9uGyq{{%%Tpq=xpJooj$suWow>1Chu42?c!f&(D6k> zUY;S&#NJ+HOb;m|N)ROS3-ML|?Z0$#-N!9VU8<_GqP|!|hZ~$vrYtf?SbmW_t}l-l zpF`6c_A_GLM_KPhM!m!CSv!I6W|NFNad|nbrT`zisigz)xEl(5*UO`BHgHyB({e}hFTrB&GE2te7tM5 z@uVQ_ipeDAxD=Rmu#k^%bL5(Jm_nzf-S=8lriO^#@W625o%fA_{CuJSYlAPWM%a06y9XL7rv0q?Eb#$^%B3__R=T#%(tQ;6{6^H*45P& znyOyI@|ewwuS|bh!KMFNfD=f}S!(5~vnmKOq`x*}Vl(uEp$APaV15{)UF_+dZPD|{ zS?pwDDrn)BlCrm`%fsh7@)A&m7#`UGC1@u)P??JSvvW2gmG_?YZuhUIyYeAWnp9@) zewlh#TT|cM-CJAI{}#?kaV~sDgI~F|UASnu1b#GbxwY+;Kd@%DH@tlp+2$2v8HYzi z5jz?sXR9hsYpY@a_2snL*a@M|OY>`Sx4jqRvW#_2XnbvGI5g6Hx4}s3?GA?|3nL}# zii8A?Lz@W0K{a)nk@xP!@?G9ln)2!&}L;0EcrPx<3GWHP1be^kt%Hj?$n^llSpsT&VY&`P1^zG*QgM*7QzI#`h?HCzE)3PoP@D=73^$zqX z2vq)O=3CX=K7*7J>iv4UJ0v$2xleC@4haDm0fKi>JSF(Ab&DG91I8c~#hX4==1j{D zPBQuyTE1CHNgvs(TtBO9UCP!_vpExXOx#T@mSr!(_jSRP}uhScYFKJi=K!5 zKmT;7EZTe=U(T(;qpmC`hwg(2s&;k+A+7=b4sjXom;S2qsH9*_vCH=bdb+H4YCmXJ z{+@YjBa0epIPIZImyM5%NLqdocT8!Am8R;*uqUQLUNG&Gl(0bhBND6!hSl@G@LDnZ z0o}qJU*+1u_ilOdB%e$7qA5pqhCX>+zoo5X+F$s&Hs|v%U3 zS-c<1rXB@&_TCmRwr#U(su@*-193@%;t-Z5xK6gF$mMrl5E3%+Ixl9`aGe&d_?U%! zKDLkdT#SID7U8ZYDn5(SRg01=6~8GDtz=4(G_5 z@L0+#H+uHJKrNu|f6t&@d$lh!KaZ|DW^!@s7G5f2BCS^`x%N{lbUxHSMjgtgClpJj zruxIhD%{l6SeMXWw|5%mjWrLpzM7i}uw^9exUKt%CeU?^mF1!HWZ%x8M2BXbMk+8c zFeaO51gk1O>De)@_NV1_i1Sx{x;arZ5)`TPwN+YhJ$%<2^X^zN@9sA|hlQR#{Dt|- z;(h4G1j!~BtT04*i?!{2u29y|QM%jXEo;jN-*-3NUT! zY0X##f0gN2>BfF)J}4(~bh8qJAH)4Ue4|G5&o(1h2#APGMhXQH$;&_Ag049(InP~v z&8y`sQBl=)Jh$&1SS)hpK2B7;+g%ED6LayV_DT==9=2-~Jm#yjp`#T}bG&f)7L)nK zs}#0VNY!bS-ogY-l@b;<#AFnb7Cx%9OKYG{a1aAvr?C5?z7cwmR~5XMUhbO7iFB>) zdsqB@ebqj3;n~<>*87q({YC#q{WYeaFFd}mE*f;9a&5RyjsIdI4V3g_txO`01+qtR zd1q@ShPpG8CNIfCB2_nJe;sg(@Lx~TB%_q`kdcs465uyK)M&V75@aIx@pQIj0~)(G zjZMI>aA>mN(q#{^wPbCs7y9~SH;%JE-R<512Q*}nIl0&fwj8!(kp!fdk&-^v;YHC` zt6m^=^`51endnW;8fweSmzDF{`_xBac@!H@=)N#~wIneJY?Z8x3<9y^#T_?5k+w=p z_nV9sfxT5G>qGiJ|Ex=;Q@_N-E43rjIDX`gA2flRAFHb*7))F=i!O6k5EI&|TgOt- zxbLsLnY?jFFyf$x_%;Mf{qrXv?YQ8RY}DMr2@W-ku^y6}MXzf040@Nn9!uJA7l(}& zwZ!#cAC=jA+^M%QKdyYt#JeNu4N}nWuA9OTPlNNbt&CJ-X-kq4Cnu-dBfQS4Ht3ds zaOdgm+t$KrI5VTP8*pc7X}Rj~y8f7vgVt70+gGpjnz@PG5BFflPd-dQ?P6$nlED__Dxe=RUO`d&SOSGbV> z?Y0)hx~0C1f12dXnf)32C21SJLs3^-N-X9`06JtV)5Ta4!t^>dX)`5pDN(TcsLXihU%ktTc{q$8jl>j`zjc8C4ZyHO-Pt#3+*4J zNz9^k&!zQuIhXaJ!g$Xel7S$4!uz76zem5uU)<7U1@!PTMa2WvS-t7 z+n#5-%|Gj~yI65hJSO9717}{&$feNG{{Gq$b0YVe^>U%y_5s>JpSRys4rlSX+WS76JG zyO-&V)@r99C#vK&SZNk>J=FLdEwTXV<|J6L1EP;S(+48+k4?xooE&c7roBzaxL3%E zD{!#fAZ7z0Zf-V6AIH=|69&Ok(!WOFRuefDBCI<$cXq<^N_fQvI%X4t<#K#l`-b!D9+7FNK1cQhzc`b zY;0nToqC6jy354ifR4`|w?p^5^N=mr%JfE_x(L9Tky$NI-srO|(r+u?Jxe2hDKuoF zzq^-%ZPv(^t@ZLENmMXur!J6}G|bVUa$C4T3&|2$6&kfY_4-~l|EZIcOuyUymwzOx zj}+ue6DpkM=P6ADotw7fT`MV{9*Mm#{1tL<1^55qkc5J$Z5S2bYux{0!VXO0NYO3Pz;9LfHPJx9b-jG^4=SSM+uPA^{$Rf89Qj9WYJRCj}O zeR;x>%gJ1415KUWw$fefrI6=+d6?CS`>-Qu-l6o%7j36g=fJ~Lw}jh&^&N=b(`kMG z+NLURz9dx5i%RD-8XcAP4DtgIFif16qbDGmPlEh#fK;3d#D9~XG^T$u(ATRz&{A6L zXm8Riei`nSyA^X(s{Ike-yA|aYu=Nq_8^Iw?dj2eTkS3d+Sr@l^XS8eB9JS;y2`{ z$K~DbpuZIC)Afvmv> z#j$ii)1!`OGoKBtIVp46$Vy}fZ;<+k?bvp}9g~uzdSt7;#IxV?Z98jn%E$=s{t+w< z3UK8v*j?a6W54RKUaPk0R-hu{*4unKalt)D=<*bR2{x(9z~(xvC;pVWXbLAF44i^86!&R~WL-y$ynbR>=f<0~Ke z+cHN6U$tRe2**MNQm?a~$0Uw*eAKoDA!(8_-3<$)S8R5OzW#3#l-!A~b^iOi8f#+$ zh(m%thTxqV!#*@L6h%Q{xxn|_v|aa#@1MN@Q>~30=Of$<_3GzSZ?msly?TCa#tlO+ zKm}b2mnBRx8COh;5sZVoX_fvkz+atcP*?0efxeY$aY8pl9E%*sk>snJUmAa?MZ~UzqweL>jPm(Gh$ivGE z#2ury;oV}h1_yilEbSwo#~rGwpk0L*nx4296rgO!Pc{PcqsuHMtJxZZ7XWKC5&@`#joRF{>!lTjBcg!n>Ej31hZ8vak6hCPP&&^yNu# z$Heyj4)htq*-iuf1ok^dHjWoEZNaO6uwB2uww0eq{b*hCg%{X875bhNy3@!;Tq zQ$acFxU{0exF#EEWo1=nwZ!MxUSTiWQAtF>q7^21My*a3o;=@f^C~9qEYP7>i$JdaUP-)jgyIR1Zw-K=DBdM0S+}s1>l@3*auo14nG|(@E!c&j8)YQYp zg3qHQ-vlNBD8J024kOCK)TnDLEG=D+U(Us!9Kk2@y~(3-yf(Jb)e@5JJ$gKTMCrnH zHgk>q7+~cz!?x|+|L`w3@bU8j>)Vf<-)>p)NoQz&x{Fq1P*A1e)BwhjaVyZq=Bl*!P6Zs*m4BEJn(9TIsUk;U~B)wVni4e zB)MLMC9I%e+4bG*!~8JIN=k+!7B2m`gMRdCTFR3~ z>eCnWO%8LF7gl{Mqu09!+FG|o)wUNJY|O4*C5rsltm$*TX9TC+4Qk%yX4Fm1%@X3` zyC_u3Qd3I{4i1jlNPl*0X6t|9THtyhbobu^1LIb6PMH+yLV+C~QkTWOBdg4Z`eyf8 zJ*4H*$4B|DC7(WB& zl4@sX=VEWFZgH08;|};1pM)~}bf}^6B9p?cEX=*E>`kzZjoj2KvtX&yURnw_*~=A_ zIkFPSOOIswVGVK!DT^Rr#0d4c*Pv8amV>!k+67 zx|Pj)?PeyX8#5!Z>++_k%Y3(i1r$v=u_KZF4PJHfWK_zYul51U;ibZ`1dz}K$HN>F}?2qB-v?mgATt1zrF$p_}rz~Wuf6* z{yH_oUuMrr#_(*#ai-nqF`F)n_qgO)i71y;Q|KN0mk+A}2cRv)uMsad*q!h+H($u^H zq!)RV4|N$YBFW%I6y*FXZEEU=Ev5&j)WX6)$E%yvGURiKHoz_FBugD2u8yTH$REtO%AG2E~A(1Z+92|k?<3-^gE3%|^ zrN6uTCbvaO(A?Rcug?uXWO#oNpS{ZcsvwYj@K6U1--~sPsWA<6KGx|-K|1>$X zdTEwq@}90cuG-E@|Lo_2GCC%>8)D|*p>qS>9b74QQsD@)w(?wIxsuIlW_8VYp8vp3 z#xyFW(Yu=J%d#O-tfAKH*@@vqlqPSHnW4@^)Yz4)s7P{hKK0TtNOCuu+Q{^6+yWc^ z%JeFIQb=%+*CGjtbNOFoqpi7z34{Gn>pHKKlJw;z(w<_Fx6nz)Q(6Fu>*BKEK)Es4 z?ov{I)5Zd7P+dlC?Pr8`7?1ULYX0&F0sP}{1`{BDN@jEdX%&C~khg|xw*LlFRIBW| zzK-$dXzfp7!M7QPfa}}K{~YspGK&Q<-<0qXl_`%3CJ0Dr&irL!MbIe5Bl^w+bji~D zO^FWr+UwQ+W4Owi(wS6Yn7i68C1+}$JjXW9Wf2DEyUc_plxDKJ)I$C_Nap?emJZJc z6_Xy(Os%cLq4o!9yK(PFhtq?yvV0W_-GM9*?w2Pl*@=lt8+p4C{)Zb239(NU6;D%T zm}IgckvV<4iq7e%#v6!F)6@7M3K~uH4}5))op;z8w7tCp#8hzKcoq5k$AHvO4h5HTa1w2OArWNp@OEc_PE>WUoew_i+^tKo1Ev)R&G|Y` zFRcZLZmt^3{1S=(@t<%ik9JzjPPwaNmWkNoZn8}0L6l}_QWEGR*2jynqVBGTU&k~f zL7D!Hz5U8IH@7Iw`a6VHFzc_H?=qob>fx{NA#`W38YTja$*}u#J>T#FwxS)NyX4JD zN~*N5w6Zo-?id2eQH{TqGUz0358GUHbJKa9=w|PrKVLzY!&bP3YiMu8r+8{edbtBrmbJQ zj!q@eVv^G1dn%C)Xo1t=*4{hJ{4>y10?-gpoy(2;c%Atx5w1vjCG16IQx>xmv}Jr+ zv|unlV4VtO2FLqFf2=d=Wkxj-OZW-;^pG7Ua5xSBqwNz9)`(o`g%F2p+eHOIVRQ&O z=rc>ckl-wwD1Pu?FjkbDg;EZl$JrU_n%tev*j`#I`NfhQf2$y&02Rb7xIZ0VETUAh zo|l)9lxU#00GSG}2N|p4QWA11DeCHKz2r>Z@V$Cvjz%DDkZ?nB-1%#D0U_rsynq|! zC&P8RT>~?g=VvR<^RpGRu{(6!aM?ATmnfI_m+~EPZ|?4FNy&B;o04*)ocx!9I_+`u~?(`lc!3A6YU!kx3fg6Vx)Rw5I zJQ+@$`Rk{GGbr>C$(P2)rBu$X=M=A)e~Xc9X#pM{x~=IX_U^iQyXxM5srLv{QUsU38lM0;-&ASV$scE2Fv-0THL9N5 z*$9i;K!GD4jQLMgRqvjcPPh87{w1}1ygVy#USeEG{kO#MnqSEehd(JH7AkAyHb(nS zOUuY`G9M_5%acFhG}6pm9wC&-F#yhaOr>JWtC;a)0)Vg4iE36N5!g{#s9Z zIyn9?GSjg%6bRU&S~#-OpTkTJN_B0?^Pji)N`}-x;;J_u+0a{n$|hpYPD%N6dY$!b z;obY%7nqkSc?V`4EWB82gn{kqiB(7y$bvwE6cj9Sv^0EG%NR{jLBa*R#OXdaY6{Bv zzWz0zf%S;%;gRP2%uOxdll*nZyg!ie7{|yWal4?iXV$QeRYyZZLZaGLJR_Vy6ls5O zu|YP9ge}Jm0PDt1aY;#{#u{%S`Rb}p>CDf6zN2zgWwO54;N;>!?QTJg?@888A_{W^ zi-=Bhy7ccMA9tG?JX&F5S0oX@~=Jn4@SZoMPLtMDf zfneE)bb0w#wc#NVHw;jOQ`JICW(KSN!wrb1zBxPE#KB?Df4yh&EAC=^W@2CGWOsM> zfK~*ZcV{GTf#X?^8Hto_w;H;7KZ-K+q(AWj|I+d_J+HM@ z0h*j|4@lc_W7)QTS&_qMr%42tp${#IbIwmX6$1m=ST86y2lZ7S`6KxETAdDtB`N)O zuYL-fx6yZ)!4mc+M_6ofM^|wh?SCEIuLa3GDJLf-_M1&nKNY`^dvI`4d3vA)c7BQ* zV^99%S|8-4X&4b=1j#{5s+(Kej~^d8XXl5e=3;JH4q$0!#>I2(tS>ure@Yz4VF5ge#?y0En?6)hACj@ICi?~uWldSI*J{5$KG?7PIvXV?p%yKEIpfrz3$u4cIGpBXwI`LjHoFj`0Q|yp; z7yWqi@$3d6l53UUPSJj418O^}RREe{+yP;^^miots*lr2ToEi&%8Gr?b%12d8Y>y< z?@%9d&2b2{f~Xd7=1)zWph^bf$m*zN4$#NBSIl;i;U&Odh$zO}t(dg3tnIhw8&539XFtlD<5_%PVQ z`1t8gRK(uOJoy_j*|6}?d18Y02;PUKcU1`zCJr|YpsIk(E$2H;&6}W?G3uD>EAI{B z3Dpw#`-xm82J6*wc}2y~wkpXiuO6-=odro3bMqba^$DjJU+!Qu<)W8o zYy-&dD1G?X$tsZbiN==^)8}2*+eRH?^A%J2_1S3n$IS;u%CCu_d~#h&NET)?ZJvab zw#n+ zdX(b7XtUnOq!hjiK5F@8krY;*lhKOvjgB(y|JyF>eCeyD0T)P3>_?ufx70d^uSHB<+ z-v}6)T4_gv8r}^D!#@lgxoUm+`4rx_kgVEzn&st1dW2Bcdp*5{r(eRoY^(5M=C4ot3gp$%y;U9jaZ;*<5~b*HdeZcVKO`D{*H0otRbxIw9RBevyE1+8NuApT}8VsKLVA;-*@qWWt{? z8CN_Xv1|5LkTYw74#r=h1}=&W~U4K#O>lfbT8MnV`E7)ZBV zAK2ihsFKYP0p8xb4KR)3~)kwRWLzY2G%BpG~bXwlu-_TXAv_G^>cfe3C~T0Sev1?nF)M z1wKBKa5!G!pF+siL%uj-6G7=b)ZS5^8Exw!_?;W`_C+D13iAuVL!#7QJX3lX;*#y7 z1x`D?3%%*w*xZjkN5i?a@3YrX_p!2~6!4SQM!2kdis*TK3e@D)7%mS^zk~)zQE;%K z=ijvCB9U(35v*74>~C*tOD|0NayslIn?7c~U21C=;Aei^KO8 zS1+bE{e4@1Qmf~0j!P-nS9M4n7`N^?qx|`A{Q&G~kc~EZaq+B30Q(vxD?L5I+HQEU z*?5sy#?t)s4XgDyi?8*W<=@S~Cm!lKLm_Cbd=NDALnbFBP3?U0IY=oe4*z=Kfaxf0 zl`g;=Oa|)JKbK(^@8dBz0r)H)gNQ7@qo}CN!ehBVf~P=6f=}YCF0X)GThi+3$yZM< z9zV-~DbGfEOMV}Zo)57?&yt>r>H6KGGiv^{{-xoi?w}m*@q^mo=I)v?PCB~c*rk6A zW}z|~1n|%qdKgCuDMM0iH8%_lIhy2zgMz(R);0vH6SkW7R#8yF!1&_Z594FZNF$6vfCZakQS6^ z)Bm&oUOjE<2>}%tav5jGlq#&4jdK|%^Q^=@QXUoy__8xJNe(Vv1dOk+oQ6Vv>IN?_ zZB|ao;}=%s(Cgy_t@o!#UrYw?K2OtSkYf!pOma z2;i!<1l=$`?5p#mpbO3{EP18|WMtT8k|QOnt&mVL;)O%$0&di^xcGri`H(=JAIHjA ziP!B63>hOlr6wWA0n@-?w92sriCNAD3eoE%hwpyUCDTaDIj=b=ZUQ`Emzi zeFqqt<;K^7PT<4=(GWpA{4Jf1H(=r8fE>vAev5e>!x>)3FuH;zrtPiy&dHcTbr0(7 z!lD8b*M`V4?Xk)#k3g|Xv{WwF`3#TO*dBn$3lv&Axk0T~jKC*5faCG>*7o`?9Gv_L zSJZZlo=SX28(ixvR|HGN`T6!$ipACW9~}7g)vbg1%rF}W0#6<77)c*gW2x80D<>De zkrQ%^N8bFC2A`(=X5Gbds=IGGAiy*dF={;viy`^i8niJn0jLr)U@=kro#if_S>;S_ zd(LlvFdoD!@TK||HM?Y)c4!!>dRX|F^%pxF$34pNB4jm6);#(QBQYCN{ZS+|hsCEp zq3`X(9lsJ7_6;ngP?1@4aF9_F*`X8%WXMrxDGyX&{PLx%6IBb7aK>|Y|5Z7d2pj>9 zxD;cRXRp*8+{?pTe8;fiV5aTo2^|(Lc22qW;s0kCc1>yND}#B?9i@}MS+c`eh8fg{ z)_A&hPeU^3&K9aLZaw#`tGf(%a<85dO1sgP9%%)I{Qf-7jm7%5$6G;PyT)y{{L+CQ zQM^7%3}n=)bq0YR!OAV&WZ^X)wq+YKn1`nRwU?ZATm_Df@NR{&$6gVbB|ChvLsqYi zh6IKztQux#Wx32B*A12ko8RB+hQ}HWb5Xap`#i(D8f2n)2(7f7+==>L3a~Re4vc?= zwz$$5TYa;9n#|_(QfmIUV4`^lu>sk-e2-j0N@mD$(sTbeFuVJ(-(_O5GPlXF1>TPC z6t^k)-}qph_3HHOErG1CGnVNLmytr*iihIzkXrOVRfZ-4xJshdG1>74J@8EvMO|4O zYo$WvYaWrUG>(7q|JPVaLRySH8x5yP`-i*3YHACt?>~@o!BFmL7(-gUL-A(ok~pL{ zWkP>Xi-~#FiX>^8#k-ja%~svGrmz*(spIu zwQDWjoSe8DGu9L{v2pa&w!%(3c7Tc^{Jxr`!p=Y&Lb&7ft1ft6Nd+B%&)E+B(G9)` z7#ULqQ@BtOS9rPY9z!b$QR(?rkktD&ZJ8{v!r5}A_crnWe>x&;DUfYY80*G`lZA02l# zEWpQv-xS5v5xk;z3TDNQ_Ex)dorUn>zqCf_kXwn%U}WflfWQz>Y1|pOVB_2w&IJhi zyWY)(M2hJ)oU3J3RqGfKeD~3ZhI$N69ZNV=^@Vh9BP6-rQLa&6{t7hNuFR?hn=w5Y z2reSxwoiI1ZCFQHN2fWGRiv)gdpO4{SFX67Tqe4*vvEIajMvM114vsUCQsAGx7d)& zzc5PffOm4#SF*9KB^%vixU#@Jok73mlTXNLY<@}s*_x-sb5oGDfLVIm-9f*bqk!4c zTX3a|#42m~CV+`VXo-T3yqlX({ZPL(6c!h@H@BzS=6E)`2xw8gf~?H-=$c3|;@$nu zO|m!#=It^Oe4Bh&vPM-DrM^BgBklkXv5Z#rQvy9bX<&{F^X-yyp*gQCd}zwYj*LyZfWkir`@7%9egh(dFvsKxje89VB;b_J%%_tBE@LPS%_p zC(jswteojfM}RKKz>p@Bm{L+Qj~xOVGEZr#ymN1#>)AAL&OOhZ;v$%;G)H+JpgdpP zq%co6A_vesak8L5X_&0sfv~g_e~N9+A*Dh3ZwBgH$&#;SqxobA@&}CfrJZmb^!HE> zf^cGgeH83XXqX7o$#6Sd#vXOVEGYmy;XY~>35V4H30POrOGDPfv$-x+T5fJ4@=7Hi zY%Fr3*>#(N1d0J4DJ2WZp-raW0s}4X1F!!6t*zgJROZ&l5yXGjNxZv_rHq}7ogOU~ z!U(bLj2qf&k$xAk5#jg`7lf&q_#TyN$F1kd2YN~Dl;Yghc0FwGHWMWDgE4byLv`jV z(<##^VHhXC&X#YSkqN2fpt>dKvAVm|EUYgxwO8aFlGQ;R8Z#flF9n~mW1?nEB%`PC zVfg)$`RbOsmRMluIBtc~)fLCA^yQMlA^)d1hl^^dKcf3i7FGjb+W*X{<_&Z&$I^wE zA#%rw-Da{v46{DoA=?u;q8sa)!5L32Z_lPZc5IeM{-?2;tvw^_fjaEHl}e|+GPK}{ zsHB3z=SK)zRCZwueT?_^&YmW=@YRvFI=L4sQDX?_0!!wn#RsE^su2kNKusj1{X&mIWxDT4Z(*Ti{+v3T+%DeB7r{#B&6RJ+z z>5`J_VS5GNGp0{NLH{R4qSx4~R29mY3G=n?r9t%|+tI=i5c+cr!lCB+6%+XgSK3rg zOUu-MQFl{%L_aZ3<+_maq?w2$pZ7 zt-^eu7dp?i;a2T0n#}2O8!;b+cx4LMmqr)u&wq;6Hhj5NE!`AX&l+qrH=i;7KJmp> z85wc>xmS4QoSflDgju0~Ejpzkph60XcCXT*Ci|f>Qnh~f`e27&EhO7?ngL%VizFs0hgw)uVeBO16i1i zUNJkxM!8<$=O0TlF2zJr-ueD_%z=e#|N069ejronE2=F>VNESS$IinlrlQbO|8=l! z)Tl%S0mIzSE4N+0XPGO4UxQDIqz3tJ=QdGpU%sJNb-=?uG7p? zsVMkZjy#IUD@cB5DoHS&Z%Ex`nAGNB|7WO{Ny39S{?uDQra^_!?KMkxNI+%E&dpry zAB<7cFW_R7n8My#jM}0Ii4zX95r(BxWo2a|Lh^H{hV7Gk52}H_hL7gwo|Q751yqwX z2@Eed?eSLHiE^IGgnna@vlwhXd4i0L>FR!BHzP*1oen0Zmp-WGiQ&ZQ*Y;SRKtsjZt@LCzNO4Nb%%;mJyp4uHZy}S{;butnX!-YHC;=TY}SzK8{ z+#ftAico_06|s_j6AlBXzdMLxBMhib#^8W`_N(cL^U3zIm!;T|)st)VcUjqwCQA{? z5E+ZoR5Z+pAK8peIIGx|F;W}$C0DOhcl1hTR6ad+-Kdx-L>l1W?C?9Hy`nmEkgx{~ zWV!j+7#lko8h-KfLq{@tKBv-Jn4fjYe>SCHX|S@qOd;s9t!7tZxL=GMN%|OlW9I}{ z^4Q5)q!At)leM{_YFBM*>)qDY*5kLw0PDFYe`h~1`R(=V*IV1#=w!oUCXMOVu{#Q<OmX*Z|tPoa@eFO$|c$ z2ohUeJZ4w6j2VX^V1uX;B2`_TsC|7@*#V-QHA~%Q0D`e zPI$_`^Ap~g!&K>WA#9%)OpkIba^mCTZ`d!%d#12tYadCPnyv>Vw!mOV^lnHryrqw% z{4U>$eS}{VQCsg?;gXNWCnoM5=h}4AR^f&sV86 zH!)$xJiWM-N-n~72*ylhKQG@XVC1Z2T$$@hZ!(|GewQ1%52#0%7wu%zTU#+()*;?a zQh}sN>FU-s-(fs50)gXm8F;Crq1KbnCKK-VeD=$%K3S5#?Jw6wbtKSTo@|H&SkK0| z^ye(bbV;yb*%B_PayX!uRTVXEl9Ma2Gg3_lmzRe_x?`-`b%M3}i!6q;U}p$YAPWOy zdS9TD;wJ@-*%vxVPRj;sw@&Nz3b8u z;CHS>$Oy4gQ^!|SXv9A8jI-0%Ps+~^1WDkvM*#4qzy?DX9j+Y$=AI`$*O9`djwovn`8aj`7dyqR$cy+81%DEj)AI=uNReql&hH_!H#jYXB_x)?t7$got+Clg zeEF&fGTH`~xQ*`89&z+}-t}$$9IO^&|^rg>gk2Wng>{SOJyYk4naNXnL;^b5k zFzLyf8N3%i?z(YC8cLPc&Yd-}39PQpCwdb&>$3lnKL8lrJ{Ngn@T9@oW^sbSx4ybW zT7GW-6y9Q!5qA^>cs4&N&^)lUd9^aV2rDsQn8eW@;0d;$_1D7mQC@LFLu4xc%}m1l z((EMfx9mVGS37W@o*eFB4nnWXswVu#<#3&c>*^0 zuQjQvOApnBW)?14MlE&ARvzlR*y>fwU`L444g=E{a7#tJ23v zsn%)=t~sCEfxaRW_ld0e|9O|M`L6G2K!(}nOK^J=7N%-E3|_pztYmD3vnCG-mY1E! z)OWDMnUGB>ob3Fgcn>Y-7!WI@5!iE(54h4Dl^jk60Y97#j?CxeOdNVx* z%;)B_si2R&C@IX(uU(}R8=3s{78s(@*R*M#=p@ zHRvAx)W6WBu>LpW%x$K80C>1qDK7j_@jsY#@Q1+#lO6d#{mTFIY7c(>ZyO8sKi?a0 za~}Nv{Mq}TC*Xgc0L<}@bPO;`H`2|3NDD|yH^b1~AxL-E5YjPp zH+$jtckglR{&yej9{cx!b2!dibA7Hj<8{8zfDiIg*bhk`VqjokOTQCW#K5@s69eP! zz~6VlI|GCvix?PBFr>xbDmx`?&fIrWR-0|#i+?{oqb>dJpC{9S1de{XgvPQKW>9BT zzIha%N?vA}x|gUmF3#J#f4%$rMa#_0vS4SK1}Tl>Q_Yui{p^q=cB4MtlRmo>XODx` zo_f+9_ll9BX=TOOxHx4RWKd(JT(C0DyDfRS?<1yDt3A19HzP^Nk=c>{T3=YIpLIsW3Y)?#Grez@uX9l8t>RtR8?mD<=6(sIl0)1$}0v&2cxIrPrLpBlQL4(c`NS` z7UUgl*UrRL_=<_us$}dH#8->&okR`48qNC;bRdf_+$8oX@i-v#}NQsi{eANODq##s$#$O0_xF z@KrQ;B*Z3?B`2)RZ~h~szh0pb@j{`47+2Od;@jr*qfg_4TI4OfvW_|7LpBO74a-G2 zIi?CQ;vLybweMhIEaS%{g98J*{Ik`Ku*k4bTw5u|#MHa7&q%()LM@lC$E#YD_r}M& zk1DcOFf&8=)X*$UDK=OG;(U4(NFYtEhL#tx@FGh+kbSSJ%-BNv9))Pf)v*7FCq+%EOSHY1waLi-D+oSz z1GQ;9t#T7c{8i9CZKE&0Wf>@{P!N4>L;BFCV<2pBZ<&yAh$1VkBqvYnSR;V1>@P4X zs*F*joi2-KLOti0CLh&4(jlUxBt~EfeWs+W6%PAw$gSGT$;q*q#~ew!O9VF8rJC;@ zoJwING*B*l`$bxUR+^%=mU4=$OgAkCh9_!q3}t)p@L_j1lNPzT)%J9?Stt@Iojh9~ z2~jK57%w*?h9%=D)}9~NW)5e`7Z<&@vh>VN-|}G^mkY*@e{@1kaPGvzy{1)hd9kpd zJ6Kd+PT@3%VP-bEc+{!XB;g|==7(eQ>06Y~dO6u1bvt(@x7f&_ghy1IaOZ5j3m@;y z>_XYgXfl$u%nYMR%~)AS-xUwe3DRZ4s4303jg88^jX(^H-%0l9hjuomS-I)j-hK71 zCyBha71!%E_Ko7=S`kwyN7-m2LxT!|w$V(+hz8v=0gQUnCxdxU%G`|w>n}Vkr4#JxoR|+bHbvN4f*1U zLWL>Wb(iv!9SS;wS!Oh<$`uZ)9AMR6Rc4E*sj5arN12&c9P>S8r~JWgwY|vjd8`Vm5yuQ8`h_kBrhon{KvnKc*E=S|q~`pn;t=WS_*BV7?(KcQf3tge zX(xGXJn#_>ONQ;XE)<4`hi5@<=0=f~mlYOs*Y}84Rzd~#Q-ThX8M|t9!!pX~AX(WN zBXzO4GjeepZzKDYU60o<{DS#Dzcy|@weIZf6fV?>Pe`EdgDDTU{)ikINrvmhM@MtH z9^ccx%f~b~gC8nfVLe=Uetr&l<+iz!^I2NDb7K@O%A)m5$b7Bk!6GTSysTJyc1A`? zj!gQX%1xkbS9#o-QxrV|DX|!9B9F7_c^N}61X)&Qw^aiZ6=nHG&g<5*7M3RE_B-+N zN=&qmpO3F6ksXb;if(Cb6~5f9E6~0x)7_<7pk=>3?F@q@w^O>e{QQ~Hgg2TIH?+Us zxQ~eLMHX11XKWc6bIW!-xq+j&cD7XTVqsw(9gebQSXgX_T%V(@@aewcK6(VZT;^8P zzGFWM$(4FcwXw3o*gQRT)cB2pT_!R&+5LKMVe~{;Ju)Vy@$-B-Jp>beF~c@^&=zmy z=L1XRvA#T}sD1eGp?Lo~yOFTg;ohbOJ2p19j>lO!rWC<*WJyj9FoOXRtVHyMH07eI zs$<`s#*UYs-st?>q@<*;`^E9ucq!{&$wKLFj>4B!rX$&SK0Xqm z%x)Vigp}@^oj)cf-lR+AU+&TG8N2;$O-D;Bx4Fj5Qr#*Y$S(ca5DisVONbsV2=(KkJDtC1&|*YHU0$tiL;E!EbJ1!Ee7$%zCsvs@H7=6%-I?sdc(6 zzMn=fDCoX5bwnKycx>A*G+Z6gXnf(g9UU2&r?u4@;B8Bm zlu;0p?N3I^Q8!(}V=Kjvri1L)p9m31Eac*iw*^xO8vk}jk69UimWd`JN^^qq9wuaE zWtEqg|Gk&S!lFYVXu9;GcGPz^^ec-gZ^c_ zhkGu0E_Zn-r=9we^=8foM@B{#%}sA?Hagp^DW*i=3!nR%lX-L@m(R}5PD4$tsHi9o zeX$<5L8>4k=MQKtCB z3!#`q7;!%UPN2{xh?$&vmh((6&(ce~(gH=|!72Kp^r+GN{rmS1vr*xwk|e=eR~Hwd zi$VlKF40_1FCB?2)@v`|G*b;os;hHb{_*oCOM6K2li*UL{!y!W9-F1Lc&oYwhoc+{ z_$Ina!`a!#Fg^FPzq*Fv*k*Z;`0K6VTD6ZK)sAXv#{#^gqoe!aOV6$8D7Uv42FuMv z-gWp4)%d$zwn#4*7{7J4M0|mek&uk;coF4}jwlD!6#ke+IPT!c5jwWEPn@z0r(J7n zy59o7~YEW*Ag}Fnc{Hpp(!)$&G!Qf|SU)qz3ii?SkOsuCAgElwKZ;mz}fjdhWdr=AzHeGlTBzt7H zv^7yJM-Ujz!pE{P@QBL&H3I`}N(9VSZ=^bv8v~hzdg zJ6Hb&vv(cNtgNgwG-9J_RRn|irI5v#W*WW3EsMjWDP}xAp6X;l_vx`QRiA3L0*P9F z6ncZ>Qo_(&H}EuC*T9l-=8o=D#mCr(uigh|@{7FPlB-s^d7e@b60OQqKp7DpjrWw4 z%Wy&joaz*NONC6OF{wKL zA&nASe$Gb9DfjbLVFJZ(%BKVcav)e37{*QcH?gRmk(aEnBWUon<(W@w@Q!GjzOMd< z4_dFvld&7~-mohzOS(JX_gT<0->20RyGkqJrxsCDR?f+lE-BD-f`aJ3tS+uT{&Dc1U12y&f%&=S(%y3XK?iW9}&ZB!NHFY?RO%t$Yj#~&KLFN z8W>N#d<^3GWL0hC&z_cdEyiKunf#qcYffacrO@q2!ucap<-9{~>37mMX zH9xaA4>;k&y~5&z!c5$AO>K%b2W!S=fzM{TnoLc@y^=z{ph4X3i9(huh!Ldb=H%+( zD`oI|X1|o0_Ah1rLB z{+rWo>xHzY{Q*dl>sia8L>VclteO-$8kI`;(Egs_OdBx@6KoiaZAfy9cHYjO<*PR9 zOVfVXN@rA9lq>IoZ~aT5_-Exdfk`11p$J(m#VMGoI5E}WS@$?NQHgQYa*le`XZGmL zh=_PN4U6=-tg^DQuXZT109hR|TpE7rh)JUW9UB`ljtp&W4EEP?7qr;pLV5(1HeNJ*VIz$#NEpSCW7lx8nG`$_xg`p}?kxU{U&@c1w- ztsvS|S!<@8&aOoa2C1B(j){xoX`PD5<5#g@?(J(xVpJBJ(Iywi;}c+0O;DX_&t>i_ zr6}xBRn<|*6X*|D+#Ay-x7aCj?`M9JoMR(fmW@_Z8y}fPYH0^|xZh2w{g(xRO}*AF ziHP;}ZSL+xmgQ-^c)jAP%Kmkvd45l?+&7u- z*3Ot^LIMN*)r#@hpo6CxS_v7*fUx?45P33rMdh(pY6%Hy{}`gENJIVAfI@7LTaOGV zt7QjR{o{-2GDc+R*hh$7dfKUx`Va3t49`Ztz)U&3C#~s6@h`W@H8tZFKIx~h&NPjf zveKq9Q9cD>)b{J?d~ERg-3#OPr9;FM>?(%-KO*u~Kl<9XNyS(+_)$;t|I3l!+MYu0+s*TOO-B&s9yzL5ezBTf53N!K z7|d$p>)`G43{YOzU?e6cGF^v|aVnoFL!q)YS2gzQ8JQ}sDYSEi$NQhj++b9|WMLTJ z8@*?@J9#jhw4FuQ#_iZf`+|@-=G4iRgSYjkNaLQYk(emHk|N>8hS#0zV+Sr`R=?cb zT*r-xw`UtoH1vE<)hN`|3p#{W=r?3`-e-G<{r%5`thBUtMM?rz1i9CWf z6aNgxeveE;CDBYj4Kz>D*v zk?~=CrpU-horgj1q~+MTxwqzO{XpuB!6BioI0`{?v7TSnZYE5hCuNfrQ^AY%Q3Y4| zF#XlplsSj((vsK2yeGf<8wh!;vT6)}t!#CvwJyYaplI1#l)w48 zDM$iQVc>hWjraaG`U(nr*T34M63Hqzd0el(?$# zJ44gdzV1)gx$O~&cd)P)Ivrf~v$2(uZ(4*>3cIg&sr*^rzzxDRsTFzH`LDSC2A%7D zTgWrgwe}X;SJ&HE*mA*GSs_-If$t`$ix^R2n8#aVnZxext~i@>vKsdq?9NQ>%-uxj z=aR>+7)dQz5`Op!2*Yzl00&m=ELLEv(NPL2xnQ58m7@kp)fR+taDpIS*s`25}A?t+>0w-Ei^!#yP;biHhQO zB*6P(CEt&ok!7&7N<6lD8Xi8Bw@F@{Ram)7w&OlE*^h`whKyst|16% zE_mEpIR`%8=0%3HvW=7Hzy}!3{RGqcS`VN=@Rn_BE(miQ*$n9 zH$8>jC?V0_m%yfTyC|dz?zm;)h+6akg!zf|dDLpMF|Qyu13fn+(pAExucu31T2{?r zN?l`WQr!ww4vS2SDqr%HZ@BmpLPQ*+tg5;-P4*(N1>i{4XrfM}NwxEt?$4%Q^qNB7 zMa2{}G#E&!o9F{g)??GO6*X%v+wH5X&pH`Q%(yL8)RYduh4Rv=rUUaBQ0Lcb>zf%p zi*2V0S7tNs@N^VDAL?w9hd|V-kzz=zLQCPoxyz2}^)3XBAC6{)O>eiAM@lBrqVWEK@8^u_wy$P>!RwN}c_a1aEN@8=q zdGmBDrz>ZC?yTjf2rDPE*m5PXh@NnPa)Vs1S3mew&Mz`DvH&jSn?h9-S!*Cuin7bf zMuwWTOiRHbtor&w;f!c>`@CghHK|1kw6yLk$@#shrtoBTQpi#$!< zp#c$?K*sSu%{4(0V&3w^Mp%EgesGTJ*7|zZ{{4S$X~Ba1?+o-}QgnFqb1-nn+y9lR zpAr^{QB%nxSjr?^SvNJ-AR~otkYodv28R48ELwYiE%M8Buv(u*qsw!i=QSWPYM6Tm zHOf#!bb8GAx}GzPjMAR5v6lkkV|}dUpHyHu*WeB^*ZkByHG;mAZB(P>m2V*t+|bzg z<*jeApL!lJ+aV9L(;xTkHe$@pC2Nd>sh)Q)voFk>>t4T4PPMH$92_1A*JP&UwBL^; zSvOhNYYXY?=x|$s^;^vqANUc<-h9b%P*mLay7x9JD(cn??D|z;t{rq*N2tQ1G_;($ z!>p?{ST{8rSI?I@hpEimeLb#@Ds60RDy`-ghMS-Q+VzGrOoa^%Mmr5*G`_@ygcN*k z99&%T1a-Fwn1w}DQc|(Q%(()M)K?!^Z%@bOOf3Q+uw}mXki@?mUCJ{u^aoPB68X=9 zk^u797%$c{F)^{U+%7Xwl271a2%Juv8y-Hme(qgfZjj*yCOFMMMUZkLp%YvF$wXR0 z0*%-VeMr`@KipfIR5H?d)Zo9rzh8fGEPOd2VBkVz*dND0nf6@tpbl%5o|ZoJnb6@9 za+u#?d+HpO_3hg?h|rbp&9yhCuWt-1%;O^Q%NB~u@xfZ%S~|o-{cJcRU@;;>DVpWN z<6;aZC@|d!Ezy#aLX?!~URD)9f4*we?_Q-u50}EiDsEm3Wp=tMS9<~Gn1ToVqrU1? zog9;XrcvgjPHWa}%|_FWFVK*le%2@O#02svh(xctxar{T$$^quHdeAw>GC+N#&IV) zA_9M)e03}zb;WlcsD_YFy!>6qySMki{Ty4sLO}@oLG=e^ExUyl z25=*bDv1TtH1o1_YDqN3#PF=Q;@Cu>nwm23mhGXTp^1r!l9K(zT8CsFXT`$|1S0pQ z7|xesOCOeGhF~IC740k3s1-UKT5fJ`4zWl7mZ!NsIo>T4Hh*Y#dSocmZYliUW8wo; z3YgHUE9J)n-TjmyT{1CKza#WqSM1i!Mi(S;+}+&)KMW>=CvrPh6c-PkFh#etwH~2` z)xYX#YilDdrTnUWs%?sb%k8D5r57b0KYrXY*W|s89xp5`k>Wiuyg8X7lM11{SvUyg zcXF*i8{@a$d+^kfUO|HB<{nQB0a-YK8Pe+6M>NM!?Qr_cj@hTK<&l<7v&Inf4Y)nE zqF+|qPQpn7qPqMR$;TsYw0RXgh}NY{$rR+=xQ$WFegFa^banOUA+g2RF~L|ke+gbp zH%k0N$?h_e^7dqXZEX_;|EI`oyysibxDFfyDV3ds)6-fK63+dzR}DfGhlhu=E*CSq zySdnH8JU?Er%t$}PB0nMsZJ#X?X-OSFHtukxW#akZK4GQJn1<5)bDR>`&PZie9|g6 z1yWC604aIlKDcdK4W=n;V z7Ta}ltBk6!USC9EQR#fp(Ye0b-^t6*H@7esy3ij4EPp#m2qJLA8s?5>ts0ylPKKxD z=WmTOeD0YD08H%!mt^|m&*|z?Z|{B{p6bS{xf7S;HJ15`v$N(-uyW344GPw*?)%F> zH1OSPg+^UF+OU$Ut}n3`Mz6bP`&rEvlJSTvuXqtCmL#weIHy4Y`MsL%|j8c9v5?%r4E9p zml(vX(kdX}`1ENWuuF=%dMjQYA))7jg7tuh`G^jlj%H*m_2j*RH->C5&TQS!$BT%V zzi2f}Te{pHkXD?b)rd|O)YUVtD_Z@BO18Fne<%c2Cp4127$}W9BVcxwIm`~%nCcSC zi@%=uCNG$&Dl6Un_XBLQe|=TX*H*JwlVJWiDk1xn-2SfbdbV7zx>;Dx9WJ#fu;q{} zFM8E)5}oSGE@IkB3yiX4EK;(v=pOdxOZO|z^gpb%e`L-k_~`i90hq{$B&%Fj2<7Wx z&JS6u)nqXc*hwO?z(ZX#e22I&**}P5VCc+dGjB&M#Ng_zWI!3G-YM zd0ejsA#`u9ic6)ptVCe5rF*Hc#>VSQzkAyJ{)l$nLdfoxrZ5v1cj=Mecg|-Z$GM;L z*V^=uZ>@50nSBclAHP@`aqy3^;XyeLwjfiqKX6HSxJb(bbaTEi=Z}f$(6-%BWp&k@ zx(|}ZreA^rs=>p0PxHCinOB|`80Z;qe$*$8iMKzFEdR}N`FYF7+w0+=NGn2yUgP|GKyk*Ro@#BHiH@I! zk6uhkTl+CE3^eBwFGz<|OO>JSulULF2R}x0o_w#3nO>dxG#pi$_GT6#3peU7fHiVX z7DC_4w>6QK6BB6_8D#oZm!HD=+za4SBa|P}FX=`2Wq|dqj9|P|Q|oP}ulj2auc5>- zJ<4ma_7`2y{(SJ}A=VfxLv9|ym6#x3pr7)^@UM}dg>$B_b0dPizq+=Gd0ov4)?FbU z(XTkH*RG}#&+-&4qkgAM-Aq1CTr=9*Jv`<-%giJ*e6^{6fOtawkv={9mDy_$7Clsc zFd!z#Ux1BmIS{M)oqMCbpVZF9<6Pzu+8;i!W4XgvZhVuf=kDq-JUkqA&Cmy{Q&iQN zt(6*&_M7n!;CB_`U}9?TAFl1dc&S%X@ z-a;h2+5#IeLW6ZWqu#X<+rcpHV)*Q{nHR+Pwi@F_ATR_+v)KHbqe$(hwnvKX+egw_ z|FQt9a^W2Zi_P8Q-vG5phd2^3_w{u~Z7XMGwMDNOGKca~xfrzO9C4{ed+(rKx0{zi zs>CuwslcsUDAoE7o*F78@0v6Ioxb8q;M0*Bw7Gw^Y+=@mj?bmBM=RSS_XcU4!^G9& zCi*xU?1UwK>qLOkJ$}bXPAR3-581g?{tsiOeu4mP>##j)Jkav(Kv+b5jpOJ|`d#L( z%$Q%)6&y%YMQer%vB8&+mN?Z}jVK zn{xp8cx%G_H6z_v)0o3zbmA(DmW@r35>bVoF22W14L=)S+hmgt6q?)gg}O4}PJHE- z5ZO~xOG8sr-Grz_+ojX>eEt)O_BO}e<0n+U>RNeE><%+{>fPVA*VRvRaB`Bpg5HD_ zNJ#`0{uOduA=?1c)=?-nXrKL>K>%@7+lw6w)u?v)by>~McX6Sq`NJMPwLTP;%OW3g ze(tgm)D$9!1xb2PT=trqi|xI%+#Ho1$HIB=)!TMZwbM#4J^95!S!xCw81>IabL;Xs z)o`C4ihEu&F%8J1*YVqzI!?MAH51dHu=3UL56n)YnzNP}jwQ1e1VUT1%s%xXXb_NN zG+n2%x^hBz^!)NRH3(wMLITO|Q9d9aXrn%isP}z_?wI`%mJnWX@_SH03=5meX09d} zDghZ7#9t?geYDa$GB(8LC}elJ_6ekvp~7sanbB$wRYjYe?Df6`zJ{tQ{q-)+bg9S3 zc8(fQZb3#q)unDEz7&?j@r~(vDA00X6A@Hzp$LVsNhYioCh({csw!$hPKA{mIdGoV-vmRlsfnr3*_r^8tgZEaH(YDH)HNnR&$sZ*KvvTw>zT8_X~N%gi;}p6 z#XN6#Gdtfj8L?E=@Hp&DA@>j`jwHjWwjB{xV|6Fqr~DOSB4$~2ocf|e-O0g+`&O6X zYXq!$g{$6HnN(VOC=I+>NBL@bzdEVz<{8?U!0i2H~4aB*aEiZ?tom ztb)>P7Vo#tG0l%-Vy|7TiQ)Pq4k&*-#gF+1)1S@O)MYEPkX7g5&5jwXv8gEl2ujLX z@mgc3(oa#9H8q-lX$(Fo6{oFgfQ^JpIH*aRSGBfM^yUHA;r$KZCJ36vdrNV@u?Hw1ECYhP|_dG(Q>CPMolNtU_e z5d=bnJGf|Ou&QSOh1WU(Th{0qct`Wu{PNA%_dP4hQ@QX?(f*H%J@gWP#VplQ64sk; z6;jkqOME6cE0@e!pF{XHG|Z+hB0R1QO0!ST&p2$MJLkq%QgqQ9X>bK=X&F-&X9*wU zi*qLuG7=Z(DlYY1kheeaa@ungR{s$jz;+O*f|htt?Oo|tP!OVga+I1^rzN&{!vEE5 z)L^cyo6A~qqcJ(cS5!e;NqdeJGpNM+lR~jq!|eBq^T75Ysxki}sJe1wd<+$yv)H#c zY;1P6$olE8=Tt#2Tc}4l#~ow~Uo*aDEEVOB!`$bk-!!DL zP(8wN;A;0aW3?iu#6wOe4LWHcN5yBiChNP0s8orG#;$*|(6C>e2R~Ez>ELKTHa4bM zu)e;nt7kFlWZA7p3U>i^^}FoR!?GczdS4!r`1*>S@gE62P@JTZH@m|M?5~cnX?dgb zwbD}+T$3o=>o5=3tL>KK4pP;CKZz8+^NNK5@7^oso>ChdA|U~(!_zYtc)9*ExP9(* zf|k{%MNRiq^E6M6{b0r>rh!9Np_X^R{f^RB@R+TzZOr~uTg?+_K2r!eIT60nOfAUH zDcHBmt$#dMhm~bM+2FY4n}6^8_z8ZzmTI^jFb3Uf1@7y?ClnN$GJ&#GaHnXeQfhM7 zs_Hs`K7t=(Gcqwz!Sx*$1DHciF4uwa5@God(O@bJoc{5*e*CZg!g?phm*=JuDk|P; zTfy%o?2_i(J!@m5MhpQ&nw+d=>BBkV$A9=R=xK!Frg?t+G{Ycinz@#;^5&B9-1HZ2 z-Gz)AC(WCYwkbu}&IwaiD?MF&e5^kL=zv)3&im+h>I>>NCA|$$KH22-FEX8~cq=~} ztP!fCBMC4 z|22(AgN}vqGd;@u_lEw2_SsIZ(j{wX5sT7(ijK^I)tyZ+^H94h;cjUCiL z%5IC=yZxhmcg~YC5eQTq^Eh~;3WfLo6nKLn|HUw=iTCV2IZwv6tSwzmmo*DeU^A16 z={d4@V?gO|anGrgaWaOsl2R$}cJSyEGhp&a+kn zde2V7V0mibcPssggh3`ZHywlUYOWGi1C9_+TkQeUN$|Eg`VU-jq_;;}L?`p_A0Ce~ zXRNxU$x|dXX#0(cRL4*eIXS|9UVeJVt+srK zARpuwIVxw$+}9LeO=d~>J|!8M98;l-^$s{k@A|DO1+k06zw2C>HvpUkrDfVEP&1Nj zZ@WbRB4pW$y)*dE)%*PnW8+=hJ@{7d>>FQw>yd%k@EK1|(k!g^^wmd0++L?=|J;g* zA>BEdux37tP#7*JsN}%{{*KBDcW{mL_sJ%c6*!hW{8Io`Yt@mn@CnXnU%J&v&>Y%S zH6-Z(*J17)4mnC$B?Ups1}F3VBbo zyv4rC0ty1XGrb1mvngfYdXi@Dy8MOt?snD`DvSg1EXigi@V(9}kc5S6Xzk7xF-(z` z7dxd{jkna1%ewz6riklES@$`U(k+nAR|VxLnuj1LoAW<2?UcdxX>RVZI}1e@Xyt1! zDXO>R*vE^zj13K4TDJBZiLwOBE0kTY1<|&)wgNGx8TVzD7Cj^1aeZi`e1DI!n$nHo zSx!2=d{Ey~WLYoDVa`9~;IpGfvFR0ex2gsRuXgQV)h>Dt@&&+aV~i+d-gW1CQ`339 zd$>e_m+CQwF;>TtG=}2 z{#Hs`n_N4AysMi@2fj|iu7tmr^YUGgT9kw_F@3wjFU$Z*6O+m1qQ4b*XI*zYz52v|IW?u8e{In1*&rx^8uS=s@1fFuY<^R8xar&Gq|J`iN@V1^T-&GuEV~rNIifyTZ~8^UR+; zTMJ@HdtS2BQcM$>xNX_jB`ITi4qQ>>R)~;J+Rs;}sI+_pB7JjYaIiqQ#@9E^H`fPD z>NhS(F!yu1=q_kV6^}T~(pN8gh5Z{B-D~|Dt>%OW73T&3JR(RP_r>J?5w52BYNjjY zPQ4$_224wFzbl@qt%cUfxyo{)gq@wqb*$_`+Uq)li=^;y!$PdI%uJ0NQ-#5u_MyQs zmX|Ltum0M9G%_-x+)x4v>=@geIh$S;L)_*A>3M^e5BP7^qN$EJ%ab?U8<7RGBI7s+ z{4{TTOY_jGA4-Y>#d_myvb^zevia$VTqfN^)<#SGt%QVW9Gz`y!5B4Vt)Op~pQ7RI zIDR2X$`#(%#(&xE&k);{RaIq_l$e5Al)Q&fS_Shh=*>@&Ssv~B$y1;GdxcV=Mdezq zt6#%E0%Dw)TPyI)8mpR15v z$4`%-#*6ET0Cphn8B>jBeorFkwp-Z^_qgz8C3tv*GusIB(OVjL+pSvQeAbIw#=*(l z(@WHsO!H?B>Hi(W9P}J>3V$V!nEKV(4nylNzU+*Nfqf5)U0ztqPED;^{{5|IbAR8) zl|Me7|Ix!B8Ch9oW=-hbc40*sP04r06F)xPyA_^}DHx!e)sv5_SxNv#GhNqs&Bb>3 z+15nPC3?d{YvLb4+4Aw}0eV4@B8sr6+&%orO(krGh3utV7ZSO(b=!@TJQ+(ryQaH3ea=7? z@}tId2+G?sRk;;=(DzPZoc+RaMc#irCxK`nV@Zn4_qm-{OV@VFSi3r5E< zn2i|;*!hnLLI)zhTBxy-2iHeOCdaG(K;)+0vJQh!>|M1HPCwQ+Zq4#f?E(tm!}}^i z7;o~PfH$g`%8Wb#0KvH4`+rnc24nr}W&g(_wsAj(`x{yh)MyZ3JhaQJS$|3zlg~(N zV>Lqdw>kO{L9qo5FXli}E7{&ME_}2z@oA*!ZGQ6gVq7rDCY9*FMNjp24nOw`O+0TT zPQLZOpLb0BFtim^%GbLlS>-n$$wC^c8}mxoD$97NX$;28W&5|)`RkSXjV^Ewip!#w z-aUG*Jn=6Jkde19s@$5Igq)4EOuXweM?z!dH8nLAYi(@p{|sJeYUbJZlJQ5`3L4;c zX58Go0v+4ENGCTQ-3<_ZzOzx+h`Vrdou0Pc-3jti|=&tJlCN=!0 z5ujczG@E2X5-V7HU-?g^x$^b0qPn=Eq6`p*6>e+CqX};F;TpRQr{BAK!04)}sE&do zM!Eg}^=~fbZn`Z;WVD%?^)>dlsN!(92>?xuYle|bF8{v1XLY)R%));mX85g;EmS+y?DQ z-WNEO#jm-C2M5pAf_6Y5Id1b6YvDvS_gW=|Yw)+nt)9R+DH(}I1{G>nN&`)=>_IJ| zaPoudmwc`BLRU5#*4D+*St}(`W+zm9bl|4{rV>ATXeTYvnujf`XTwGt+wcIVgzdFU z>YTr7$Xt~H!s#UnB;uQt6B-=nhmSW=x$(xJlJ5%(+8n0&AU=BII?rH0c-GEI78EE; znm6p!}ipwWHBEavw|YhZ6FSR zyqG_w*PYs9ia6l2fc2I@#3DOE!SVK1oMI`w5dqQ>ff`Wt9}$QzW&-8Se{*sz5hF5eZxZFm!_xt7*Bj#G-xM=0qV z7g=CYOmV>p1WW;JaSb2ef{C?sCo^Jg%@{}>8V@%YsmaG30|SC@ZD5A#@X(NQmUC+M z+8E+C%&QGzbWH&QqdB1}71Q|B={&11xH4NUBC!6}&QDia7Neu18k4+0MPbD&0Z|+8 zZGCgPd4G9080sLY)i|h+cp>H4xD##R8W<$o)zyVdF2r)Xb;%M@5A8l2j{1KiK=!I8 z2u{T%4sh>yZEx;eEPbh#!*O-$E8D8Yy+$ur=Dq5v#XN0qn{#pPoQ_qBzN$JN7>oeL z?L>=%A8sTJOuORx#h3e#U-s+A0SolQ=B ztsq!4(;zQ*TnXUbNG^EHOBohcXWUXoxEdlX}!Pbp*j5#`5iI4Ur`h` zC1x!h5aO^^@OW^x!mQE1@eyUhWLyAAtj5`WpY4La%1!g&xHwX4x^ov7#Ti20=$oqT zMMqe~XN1iEMA(&6STpH3CL2$eu9fx_((q#9Ie)gwau{MAUM~-=EA4S>s^`?-JuHMe zwztuKqhc4}qhncH146^3nJ!SdSXmg1>l@>7ydIhgh8n#mfof^hu&!nA*HGO)X*-C5 zg50L{;Z835A^vmRR802{o5<#qLp@SX!X4wGjQOu&ru6J|q5L+~r;_gzvV7Za>Q5ts zqcRU2Kj;{+zM)mgci`?=!mRWJTl8~AJ_=(-YeSpwQ<9T^8z|Q(9=qAuoy_{_I2F(N zlOoso5iP46iLELrNTl`6PmduA5&gAo#s3^dap3VNu!BML({@G8U0CfTGwD&HwsnGlb4<20=9Q0#^$#B$+Omv5z6E1 za(+chWMd0)aw%zohH^hUmfPKlsX&XTzt8JWStq*EEgwfdtrXbn6-SaD_`Hp%)6T1njmUB^^-g zY3)QQ9I`UK6EBcy0L4?1khA%f#RsnIis9Z?hNWf$J-uJ^-aDv<3lV3D*3&^T=8Xlz z_vXz&()1YnND7-m-`IHI<6F?S^bC;MuWQ6ocJ>ZEU46XxPe~n)YJ$s`%cS){TqP^p zE#9e0UMcl)b=NhoKw4T*&^Hlw0`LHrka0ItvXJB6=Gg~a?wC~Xa|VLIHo=7_szfU> z&D4hPDapu^jg9nxO2h>ym4M7gR9D6bo(z;yPfJBv{gQ#~W;U!60kyPjIDHRJgQsf% zBcbv9pZqT8>y8Wc7u=(@mz|M+xU2%6v>$G@)l6G{nv^&ckDRzC9+{tMzwNdLta=_Z zGbLRAxR)F6y^Opd@OdjEd#$asz-^HT>J}ktyQgZ_6$XoIkMGMR^6(Xv-l)mK^Rlze zi&FeI=L$|uK#Ypt9x_2?mzPuH0-T%f!WS%~l~v*dA=kHMmD^JY1cDzv`)z;!As!US zaL8Dpa5jKdsJ{fYm3OQGxst{(-L!uQxQbOx{PlSFjz^l2PWt+W40ECrqa9dTa!;JE zVqlfr&I3fMv$ntA*_clKDn$U<>vf%nZ3I{{Kwx&LCi*)DK9otg5RqIt?ean#$F0-- zEK%iL zRcs>c!^?%lQ>HJV!_UDy!Qa8;1b1V+6dJQahqEz`8W5SA9Bk_THQFp^2yVd2FsjQw&5=#|~B4e>ny{FR2;Td0BbEwl=r zlFf$;V62){ZKnZQvZB3x`6=l?rk%Q~GBPgSYUz3l)YMk~Qj&%hB?#EgcAKPc+RLQy z=-H*WQ1!Ek&f#qqdFuz#Tw|)MeXys9kt(Uj=s84fXr*68h3b`J8qU@#dTU|n_YRtQ zwy#z8Q{p8b58p(pxDkTu?p`m}4!OGQHdNRaf71ba5od9IBL9I_Jwj- z5!tKLt^Y8Y+!1i!HRFf5dH7CuJsNZ6M1aMQ_xX80n!A{!^vz`YjC^XN@iZH2CRJ z?~AjY9356|f@T@SccvNZY!Z6?^X9PnkyL0hk+T{QB#gL2t5b4I(`(}5UZMk!k?gA= zFDHAow!Xr+(Y`2!OU7-whTd@t{~k&1aCE*9I{S1{tzb4qJ4TCQ(>w$#83-7qoWwJ1 z@Ff-vGLOejQ9I+aG6g&e~1FDC#$SFTwE(`v%sJx z4QF963yhliM-)$*U3dg{Rv$S`NK@Psrr`XgIQJo3Z?cQCE5}HRs_>4x3yXI3irZQg z@Vm?9TR`LAf+73pATJ@o2e%(j(4%1%#;n0>HYHAF6$)h$GT-$i%pI%0nkS~l3*@u@ zFZ!zXzo)NH_cULz?RYUjD|WPNKcNAFXlbE~iPF!3kLx!1t-d!CNZES}eQng1VHJJz zVxi&X^OKF)^3J5O-Osjov^S7OO;t_JF;G?s4_5@S*>B2!lTsNAnuX1k-2*e$q=$hG znhGkTzg1jml<*Q)9jSg>8q$_)0QLk5I679BI!Bo@-|XK+goNX; z*9CiD%4;b$3ce})hrdD~XB>J>tN2_~C&aN16HK;QF5YtN3c$R8#S6izkuT*oROhb4#!4Sfo=~(eK{z zL*q*hmgm;%xMr7b^(7@Xpg5yMrBC(>)ey&T{3wBR=2@%sO1>g!bW|;z(={-7-XQ!{ zyZ(CVu8PM4(1QJ0%`EvL2M8Azo`(1Iya$Flqp@qw<^z(emOd&vI=~7qf11~wKK(9` zGB25ej~*V{q15j;LU9;*=91(XfSq%^|9>rC2H*Z)=b8T{mM*jPWO>EPAMq?P;ZHi8 z{wE!_G$i?megRevaHZ|V^6D*I8*jpDcXIStZWsiDnLi2nb_Pp%@4l^6(riPG z&!HAX8CfZ%l~Di5#LmI@me@@vD&r1NKWVHp`o-kR)fGn=5y9)!ng+CSe}0NsQBZ`c z4)1zvT`b%!w$%q>0ZmlXye(>CIFbQP6_9@=1b0i|X@V-v$X6`x{A^WwKJcHrjv#@7 z+wY6K)j*D5rg^$^(n!=?fgV*ES(IH4_<)F@NTK)O?;Z!*~4KMk770|Z<{gdPRkO6YEtgLL-eRYf1*6=pA7jgZNdAELj zzq&0kjMWX$B}EnOTNYre-mwsI8%OpD>`7jEMm=v&o^3c^VfYVR#Rd^VdA8JvrEH8F z4XKIAx>8o3+dk4Ll#&j56oJ>>D)^`6bGEj~VtEd3A{b;r3<|OsER!(33WdWxXX9vU~l>9>O=Obc% zAwVfRE3E$=DA#XyjYBL7<3F7BO5u|*jAwGD=_vm>ek7z77M1~Nl?ss5vQ%AUh*8A1 zBuPPQK%s)?Ycz$|bMOL5Ezo;M@y4_+s8s3W$CzXfP1`G%B|oaVTKG+qAEmS1Zi<)g z(kjf2wyQsaF673t(`HZ2uHj(&qFXJ`&e5^Ex0jubjQ}p;+3@+zVFaY{Zz1=rx;ic8 z+Q!TMcpASGG#dQ}w<`htMRl*17fbm+kddU;UtK@fQh#1|VNfI`)zMIwO=ik0Y4`NC zPHJ5C_I1rxSh%XFEc?R7*4EYzHz)P3zxX_&f*+cSe|54SOgjPcEJ|0q25;}H8=T1a zi^ZH#(1dw?IUFjkN-1Qs+1uT4)`k|Mr~~cKhnGRDuo|~a$HJuB6Ffkmax5}uvuI;3 zpH&}*EUC9^u4}H0_HWPgoDG&*i6WAuGi+-`d|eaF-5tbJOIe(2nh*Ku-E8EExv6J*N*pgYeF>w8*xH#7OXTh zV*hK49+pKld~#8E`{}mPCfPITe7dK*T~u&3Hnzi~qrq`7 z1#YL6b$T@HX#Ws2%L=hzVRt?)yRmt#pm%Lq|q?_e2xSW_udDy|3P|!9l=*-9i zn$tl0ov3IZ>-B;Xg~isVU%uBhXO-F6Wcc*oE;i6REIN<1D>k8n6Z@#KBQyB+Y(1*s z3hUv+Ysc`UB+5I9{O&iuLghn3G$tnz{RvV3naO1H;7n6_=XEM2#rS(yb34DjAjmeH z-Z;MG0OsynkX-yhfasWf#7Typ3~OCg+$D+2eN2}11_qk$!mS$P1dzwXf$37gPP+4Y zJN1nn2)&=U!k0YuT`%zU7EP4s<749-w#K^0Sw%*EP-*XezM=*tRN(@x!FuTL2#7G# z(7~y--mTda5&Bn#J(d8($U~Cp0>MzprGjf1-vpa?rg+fhEO)%diRfvdjaw?rP!B3rY{Grv?aS|d-WC!qQaAA{>32$hvSN~@wYVf zLoATQ5!i8Zs>#O|=BMgjZ=*NQL~ro^823tGqrus%Q-!!Hr?R;EU_cQtBf%pzOAt|E zU`z#V0MWtv==#8A4D;b*O<@C2Z}JYU(@)9#1MD4Bx$YaM<|ZD@-!JTWxR!67t5^o` z@oKu!HHW=d7nv{^!?RJFUtfb*DJTUWuP}i*?)g1F}i*~`ZsGDF1AN#y&d^1C! z`4HO(-*)e|R_h5Tub}z=p(hCp{jXC`6})GsVt*7iVb-o&K)<}2LAZi8HJy6)tTq-J zytln+Xvl!nU$o)}X^4av3|6Srjst4Srlws&s}{A#{1YgLtUP*EKbo2&Q%kXo|>5eV_Ze@6Q7^d{IM=-}{(TvztR;gJD;D`ZVBA z*&_u7^%CO1!0;D_+6>8Epl2!<#^!EK#I0?4JvO5E+>g6NDtM)>zIUieKDSl<>vL1X zg@p;4f$=MT>+WLH)7R9o4vCkHQN-M88VZQDI(JibURqpCbc`lR!sLm9@?L$`a7cQn z5syHxL`$pl!B`KLjMhhSc6NL?j{_72!X3Ybi`?C_=FkrPzI>>k-M5_fhu+}|9^{uq z-?u{KP1Rz#`Ko>nArUaAqN7qMtn{0#04cFyXU|hnd*Z6F4(j+jy+T@NR~G{v69WAy zL*z2*rL~L!4U`X6R&c65^;Il{u5FVGok@9El1dBD*(PV&owg3r8Co+@3rWf5eDwo} z&4&>$gW7CmZA}`^22U)bg1^rvxzXeD+3hVWN7P)=+~#VF>sx3xy0e&-@038AAtL;B z#t~|ACNM2MonU)LpHMKGLFB-}(St)^NFD$DJE)K1&YZMxkPs(2-r6NCoL3eT9*3h7 zcgfgOW>1CXJAzhQ{)q&huI^dw7o?e=K(;eqq~jWnjJJ(NF5$d#u841to2s^~he4Ok z!tu!b#8lhR1mtEWoc!mN=ayD6D4J8vax8Z>n;+R9j46mc1^?)Uf^^>9I*GI!{04Vd zK|SF@B}1{Ur6qIJ`KI!|4#fjT#^#S59s4cO6Qjrhno8TJPxG=F4O{a%t#cb2pdU*I zlFrGAQbB$Q>!=~zJ8cLx6xw;NeUO4l++=2Q*)K5M9+F+{Qjf&Xm0IK(y(*u3{OA#Z zw1_^mJoD-drk`E7kORgW5eg0g3Wn(XTghFdrc8V`Wcc<)xw%W78G)K#<%>mBA4CE7 z=R}DUl7ntCBir_v_sbKdmpA{xt1ix>B3|6);C#bnDjA8EM&|26hMzyVgv~{8I8XFS zAlcbCAV#^;mE~fwHaG4Pl%_^co*fWpk1cJhJ3E9;g)BIng-(HR)WB%LgS*2_K1^Xp zWd{iBR@2jXH5V~T$19;kM%6s6ilL(T7B8r^e9dDZ|5ZUpu=r%zGk!@v-7lAPc$M+GO|k zbQDdWkESwt{w#7x!rM{wuf4(xwZU&cQyt)KWb3D*SGH?DJrUmb0dg-`k|Oe{d4ZM`s9awlZ*2K11Uy@_^iA) zLdZ1MJOb})C8p&Z3{2O^O+cpvzHMwJO8iVwZg8XAoRJ~Q!pfGD1!>>vDyi7w9vCeLP42K*Y`LO!paSFaWO4I7LwK!mkou@4y1JjI zup_LYtE;bLD0Lcs+@Ol8z5Q2R{aL2{iQCE>g#kj;gq{apY&vakh zs+|7k)?1NtJxyK0JVvnbh$szZ9XykNoa&OcT*Jr*tMk;J_*-B5=-K3wQ=Dxzwdlidt#2;X-C!&NA@*-H*EL>3QvqPdI);0rTAF zf}oK2cs&>0#nJZdM1%E!Z|x&C^{5nB74nz*LO%FU%&#OrNgO>)7sVl(g7v7P@n~S1 z=&b8Li}^Xl$_!6ikcSvYzHp;QZI+su8LVt_6%{kWzOIh7hdH{iW@m41T&Oz5A!gEB z_Nx$?*|bFTjL8cvrc1W4e=rWBJeaSOharn6W@D%Dvy4YIhW$fKR_;Z2MEt>Fi_vmR zwLZn=&##Q}c4rjdma`Ba7;zB=y_(&r&Uum3^qRmuQEAYgnLcyLsY)yk?X|7PxGAfu z@E_M1+bYiPE5n96`yiv~pF3=SZvLyoHhA~%4%-74ABgO(_E|o8thP4Rba?otQ=j?$ zPLKM5FhPWn*+T$syw3;Jns-o|&_=hRdMa8VUb=T7a z=wo%C&k%NvU|ICz8VRF8JB7~~#!s>_=Yo5k=tk+`P^BX$#$%9pxBAp@WBXBI*>}pP zHw+h@IBWuMN0f#&SBmO+ax2NI&>ed`OO8n+Aqt{-vwh^UzrEBGSLhD^axRnCowE%zb&`yQj?eXhYrCLnCiT(NA;P zI8_9Z=4ZH%nvcrJu$|jYia_==(3LevUXUc&M!G46yU5E?+!U#%q)nO!r(*Q-;v^+& z;-fws0;lOcYT;is4u^3G^z@>e7(B|N-wvIqwh22b&L8C!G}5Ei57evj7FLKy?E0x% z9vz`9JD$)a8zmE!EX*u0=z-Vmo_{EsdwsMvC@`QKo!n8^Hk;1M{<{|NYkA~dr?9q; zj*`8fZ;S06A17ocDmlHwoO|0i=@cT3^plg)K5wlFkEUnq%^Mn~e_=&t7W>A21b05x z!S)w6osXKLtDqbWHw-g<6H^u#;G(Y>kC-hiNCgG}QC@kG7{)shulv^?DaJDA3eN=~NZp=@rikh&lC z=Qf+h8rwx$FTH%+_3C8ziG|EVRF$+fYJD&!ydS4#L;TCQepi$==TvBK$Pt`NN6JX)kE*xOHJK6|( zt!mCR1}tIA_wVSm=F**AQ)pNO?vi$3t-K)6i-#Zf|BaXUXH<%DW}G(YwkEWyzyFG$ zU=--A>N5bt-PyDI(ddJS9$X^+Z*a*l_5ODnG6&Vw3RDV$SeLJb3ym^jjSri-2!AI&>rGgS?vB#N=|j-66P+Zro7L zDBtpeG`ZaXY`C6g<}TUvI44;o`U{kELoaArTjI)u>qSlvd-)LFXAyU({=Dchv?n5x!I zKEFj_nZSIc)vT|{jNB`P zuJe}8#8m<$%EdLl21~A%i$}0LvaPBrv9Nn(aWDmv{n37(Lmjpq{1a(Ldkbd29hYux zZwb%FH9|*llFu5_bqf&gKveH&py6z9k30~(0zyH;9zAF6-q*K6W4B|-97@jtA`d8 zuw6MfkZE6hQu!lHO3%Cfk-u<8%f5rZ{Nejz2BAMf>Ac4HDw3HWn;^H)$CcZbatOy z;9@ntpXZ>cgGC)-uC1x$u+e;^8xT+!SAFFMZE?D~gH7$ge3*kE>~9Ccf3f>6c) zYVgCnWyRp!FN%%U?s1J{;R*iuc=Ts%XB+K|pA(Zyk~hRvKH9y6uDWz8>$T1z&^ zs48ekN&3rg^i-rB_gwnUe{}n<516?S_8Z?I!kJuzta_4|WdB)JXxOpt)6xaFZkWXV zR*O*-1QI2ZlR;OvnJwCsE{%(cq8$&IRo{mxB`~jp>Np;bAW=Dd4Wxs;A#Zxl zcVWeaa#eFi!Aa64nwH%A1JZJ{ptNE7HU+_8&Po2erHnyFvSd2byL|a@sxc0ZWjMT; z^$L6eUFS#9xq`P?lnwLzyS9RkHxXd`csoeJNu4umyXtkY*T^`23mR%?bmLY@2F5q5 zjm$_6(+X+*lwW9zyKFhJt$)1!>j`HVe&w~f$hj1_9kL;5+>TrC5ELq;pZr4|D0o+( z|9#|$da{FmjgX9ofPvha9_eO|vQr|uPV3krxEF7? z?^HgH(<4^bNPs?O8WxBCH(tWAq65D@ukh{R{REyudvIR%W$UbFebR@ns<8Cj^xC3K zJGO6VU+HRF^CAF-Ora=bF29>QiT4qtzgv3h=gO(V!%sGlW!b)`S&x7>-BAenD`opV zIR3D)=73WVu~jwyrjmS`7gRYnUu@69-Wcs2GTwN#%V{!78oZEHh5Yl9^V}J~aFpmf z_vFo)%**Q?koJ8;SXRch(U4G!V*hN-D!4GIgIvHLE&ei;cFWcM7mNXLND9315=l60 z;^rduw%CeXY!dC^V}o(I8%RE;Lla^r1{1tZ3#wfklV(|O>mAfJ>$$Gni_@Kx2`x5@ z17iII-E+8tM^s$EM(d#hha8loDe7zt6K)Y)Q&Uqnt{<+BxRDDWx2mrS2&jWFb|oX| zF!NzlRAzpzQo)PC;18bAu!GXJM}a`fX9pC|;)Ra|21_GIgU$TmhpuM<1BE=S{)ln) zRiOlr=~(G%hPs}^lF5fUJ57i$ZV;9sMbbn|tHQZ{uN`4{u%JaRr0%@l1%1>oAqN&{ zmmRLox{S+>aJRjLntWDTe$;CC0fh;PGvhMXCF8yM%KH6{oR8OchUb5U-RmUFjnRAN z+?yWLGcbp=CnfyCt*Hg^4>#8~KLdkH6xXay59Bc0#3TjXXtJsn*&ufR`O;Z9Z>3Q|6a z0%Sahfx%Aa3Kur)t>wKgolRk;pf*ET=ZadpRS!F>+`rbDy>ZEJLGUiT6A>|EoF5mdFG+XwXVB#SAMrShv~R55jJ(IvU+2uF?T?s>?1lJ;9N5II}a7p*Jk;CtYPkL z*vUxT-LKE$eejQnNo)JXqimpa9i>hHDc&$ik1O>r+TXwE`R_=p`SwZbzek<>KbZ0bzbf8P2r-$ zUm#~fBaY{T$sdq$Td85h(hHs*U-*jNufkg&9R+2umU>sL$gQF3{(F1LcJ+OIPwuD0 z5zgSgT)*l)Y3^s^N;TupF+t)SM@BD$Y_ceZ<&U4xwQ zbiE$Du|OC>GU~V~Fg2)aD+s&j1!({A-n@xp`Yb9vy=;A>pDdw?47xVYo#ajHSN(EB zNc!>AJXPBpe2V&_6c4^b1ol3Y24XS**^Sct1!pkZxwS-D zZl)y^;*f<}jXqQfo~)K&Ap`Stg!9A|KX)LnkbUMI8SYm8C@mq8gJ^aA1w~mcAE|q% zr@fgbd6*Tz1RvBs&|l5jD0tP&YFJRIPjJm6;p_l!^)+3t)@&B`7JB+5Ks^H)+UAB7DQ%b6;bTKdI0#YPfp51+OwV^F-&KRmdvsLW6M2P^{d^mBz5@~-($LSL-^LPZ0wP?* zb1~nVJ&u#Q7m~{S+kGW2ZqjO(Jg>7@JrjE|AF}Ga19>1)ZmXekon@beQ$nKGoL0=pbS@blMT^aL|g5Y`6RIiGNhD z8%$xv`x8mENL9+bV848+rgEY7o+s<3@5N!)hBe6NQoch`Q8pET*J`P6Lmu_LF{6<- zCRU7Cu5kgHJ+kz0CL}{p|EPAvXsBZ?Aj0G7#%nk9a3RxtJi*kB`MHH|^-oL*v5($P z?x&FT;BD)nnbDurWvv>kC9StA!<~D3+JxaS@aGmT2-(Qt)o%mo<({@gojJcYd>aWj zwdl-=%t)A>T)xF6FgrCP#@GBff1c2TK4lH*vNymx%4!}R_s1rp6lQY zZfqU6MNUD(KHua-4%VXX21m@GM?vea4 za?+S>ZM8H0s5k@X=E3+c_KItl^Jc$a&@gAqIcW?PKT$=VLcvkjC_#uy+uZ1^^uqP) z>}cH%Olx>W!=%(B^iE4cW8bCIe~2r`glzT`1$)f#mmj<;Uim@<|Mf1`^5w`g92|L& zgQ||nELnQ2ZDoNlRnZFfaSim2$_gsXE63?gh5z|YNciCAIft_<11`f(x8Vz8WXWMz zu-!mN_~9!|Tvfu zeVv;;jkRy@Xz%f!ft0Vn3_K}j{H(OJd*5D1HZ+Kzl*%ShdohYAzT(hg&{S>R14r_~k)c z1x3ZdzP^j3>}?GV8#BsaO96U4bwcd*>(>FO4^;jglbWik@biLU;o(g2O`io%OcPUb zK?8bwg%r|en#1=U(y5cXp#9h~lF1GX9zzaMQ8zql>2x4(2?|yW4jLT|L;!=Zxj9T= zHp+UD>$#p@>G}+kEEwI_EGOI9@zCogy0g^?IB#V~HuH;UdkL$RQDi3C`N7UoKlS-; z=JJh!8Aer1tLd&FNHJiO%eI~5s<@Y}S3ULol17%n=2AlO08fG5A@*wNCNiUZ9hp%o z13G_Re-g<2WsA*h>*$)A;rr%1sNywnK zyBniOL0%={Nl>b9q_f!!PBLV&@Dh*h5=2@c@YpS19kqYO|Jm$ZA?=>h(b zxb*m*%FH)!-mD^b*8y2~bja&N#P#ryqCHw-63{BvedkJ2-wRyG_gi2UQ2x?m~0%IF{^_Xtu_3@vR;f*@Ne!B?~y(POH zDWbp+wWqV&L(z*QWcU^&@_GhQNnO|1GwiYB+RW5?ASWvu9c{XMV9oEeJ4dML6c?4W z-rYOuP0H6kI=VWa5Dt?&uC%LR^oJ?fi#_KKJKy2S4uWHXp|tzbWq3_6@^)R@+Ux$! zc*zLs-8H|U<0GdC!P11s;ReqlSLc_xw7dEM%udvFQ^2qa?*f_Q>XC>b2^L~^yf#UW zD)>5)bO>*MQ&+B0fkqkPbZ~Gmyqiite&KIhVfuXjdPBb(r!#Y2aKLMsD$7+PTGLYR z+gw~+0s`L~8*|DMGBfY+^GC~3m(S$0!oAZhbLt-%X#o;9GD& zIB|d3(HcnSB!gNxRzgQjzD){X7X~Y9v_3xAol6I(nDFeMBkpFOrI?$9u3DNTii*xF zJYEqP=POJ7&lho}`sNsMx0Di**ixa)RX64$K(P}LC^W8+$Nnw|Ha&{fCdvoR_0&x^`B(PaeW3(t$%V)xdi z=7u=>RBNDj`&J0|eeDj8&%JoJ*VsaOV`(J?K$mcqI*6&PIt3eFJxQ@Uua(PShE=xt ziH)hacGRB4zz8cQk&qxM&yH*LUuBHso;>-=HD>@e5Qq)F5)@Dm4cYx-zR+ZECe6ii z_dd}}5(7}Ifz(E|#t3^CZxpof5aDlatetu*?apP2GJ_ z>Uy8W>Iu@4t&fQjOZp0uln)k0ws z3;1G*1$WCp`Se$m_aYPMie{>-siGq0x2SA;g6wL$=jwVEI*W-Zo~NOI`yOE~tf*fL z?P|7Y1N%Rxjq+E9sC@=0GA-?dyS!+1wymr&s3?LCHrA9BBmN=vDlwalO-!;hENy#N z<~utF8Z}DJbZg%IjAdS4F7LkG-kyUesb7@Hyvjx3Bfw+fbUwRMuTu{Mmmw0IY3UvaBc5}9whB@Q% zjRKfSvYx$7{V6Prp8Tr;gz=gF*m5>QgoGVAmF>yE5vYI!oag-a2NwgX}Rbo`e0bk$};Ya=O7K)!%oda{>o5PKq zXJ-02YkvI@af~LX|8G0W9Bdp{0)|TtfBGAt3AA8Y;numn-Ln^xy9=)(BsDcr?QW!( z&%E%{=CdpGJPkdMr1=}#ex5;#H})Fr@i5ZMHv=%F z6+)5Wf`AL4)DH}*NE5TE@f)WyoP>Uq6cm_FLO+h%d(@LxKVJR#5qc2F?RV7GyB?aZv^k(rG7vcOFd9QTZBL;>hV7p<8=}3 zUp=fI2A({B>iTX*_+?yQq|$e7olxsdYl#|PZ%jM zq^5DOTKh0h2$|}1=+}=U)i=`f5Ka+yg@-DkwEHnr@IYpow@p%7*_x zNra`tWtjps&u|k1=Ab^d()-{0dNI%I%U-}ZT#^*qJ**mO*1FZr!NGX3`14hCpIOSt zrGb6eN^sBYaCP+j)~YG$ItvY<2;#xg`G&&4PRmjtL>1tg3S7SS2;E=;?SkWHB~VeV3WigMprl?@t<;o){Jb3E{U!@ z)oQ%w>B-+#AhRy|He;#3ufe&snJ4Trh6n|PG_WR;(=YK_kW+C+0nVtR#pW4W0|ZXY z_pEVYus?q=YC1Hs5OJE7+tHRl3e(xqy0NZle`)a=!?yiB}3k+3v#qyhcj=8qf1=1Qt_6_ZQMxeNW;=o9}2tfL;?cbgF>^y9O zS`dS_%gpr5tt~Cy-qQGfDpmvp*U0$H9i}qxfw}9P7%hnM=iKWd4Szb!X?uICY7F+# zLp~dBGKcEEw#=A}puD(u7Sn6*>vpSdn=qOH@rh`0;Gl$<->Gu2ak(nV5*ClEpX3@E z8vyy&o+d%fau;(k7r=xs_~~+IWNlB|)TCeM13A1IQ#Ax7<9ug3TX$ENX`z(J(}2$% z8=o&}kn*93AuWBy1gI`=S-!)LE3CEK6?}R673@AoZoZzbb3>rPh99|!I0zyZmh?3l zGeEHafxDQsF8A1CnArGncJrtxMv-Y`8HNSME69p3@R2bRm@8Y6@{k^O7HQ_?=7HVV zEyeTxgYlV(=US#G4+|1}m?S|V-G4ucGtxDH4f@wS6{ncEo1eLDc6-7O(3>mN;AMKP zeh9O_64THNQ zo68PcgFoMA5k|G(@H5b^@Xy_XRZ1pQAzr_tcaV)|8&%q(7hi*USljrY{$%w+SJ#D9 zREJF_aOZfbdtC@=PsO5F9qR@W5oo3^a#_5;YW-9aPv{u$no*KH`HV&>0i}2y`DJiV zU`8p(=n$}|NUEn5?W2rdy;nrrYRBnroA~8`H16-|9}qy#=jkbto0lhCue=4PS{go} zRH`N#V&Vy0n5y&TP-Ja&m-dm@J73gwD@L}s*l4w=cnyuGHv$3#tA<78W1x^CS!ib= zr^s^$c!3J{hq_VvUgJJUb4w0WZl;So^vpDZ0Y%^oHLQvLz|eiPk%4e>(%$g?%-vqs z)KKOiko+maHyeF-m}(yU7kCx3KOH*5i5T`3n~AR9bUvYP9w2OXSKun0(w{c|ZN z%Yr%Jp9oI#-eNwO3D?Q$6%x!pcy~-OQii;*qIH~|BMRxZQ9$r+wzDC>6y3$Zf)9Es zM!%>m5U5fClyeq>=U`vaGSyR&SKAm%O=^&=kN)*&04W3vSk#VH3fa=a#8>-4(kq^p z7MoPwB((AGofu@l+U-~9kKz*$6c_VuFDVpP+pl1Kg6U|R5F!?dQi+|th1xc8n)^qu zHm_l$f{D@{+vHRp=H-#K<@sNe1m5y*2Nt|*W^}s-uRp;xdS=ev(41RQqEbH#p{AT< z-rAVkbaiy$hmqec-yJBHAVmJkD>6LLb{9PZ``HcX;6?w+IIa=!=kZnY{go`$og98+%b$7~u8p_l^*;cy{05|nVQI!Pe2lfDK03$UQjs*&gi%9W$KiBKPU>Piseamm2SQ1z5>XR(e9&(w`V1`gq80U4bWnoq{&6tqAPD`32gt)jgwg7=iR_ zXQIYy1z9<{1B0pD1P9!`Ke*2r{^&kCkwh`@r?jc(+Q)ly!4Y1e2=<-*_RmHj4?^_| zbtC85ns5S6iqga3CKc;z`tak&F2RneA_i8ux-=KNlagOZ-tjCHuAr~_{>KImEt5qy zrqIcq-vFbU6-O?_;uyCt!sYv+>qfzuMf~1M%}G@0a_D7%F3OFX#ip@!q;x(nH~lVf zguk%xQ5<;D+32>cTGB7N+S(_6b!3FiFKt}eorEO)dE*LcwASfT|5y0+FFH2e& ziY@8*=6p!ukMm7ET(}1VoN^EEWL+LED2ZcHp3nzh5U_j97i0va$QODuiyhM*6diBi>UB%&)*PK5QzcYV6M=dQi6{l(C7BYI?XILHXKlM4og$PcnPiUv=c8S z5K1v^Pn1+uQU`M-3+*QH^7FD-?{pR9XTO9fk5Sp)vA(uBw&NgFQ<_B<7=`=WsN^;y zF}P45k3^G{_~Cic2V&Gj`gTe@lfm?^T*8BR$(u28N&P9JL7ysSp^f8z1Ve=|_?O?1DF z^?&>Jc~Zgco?w2&^JlNhH|~OMpT>_KWc#M?CgBj~HqERWEss_ivc!j79!f_M~g>JC@BlThe)8c|kmJc1CQ z+Xodeg)T({Ig5vdRoa#7rB8}{^y7Ur=}*SFFe4Sfp+8bHUGDmheMRVCDnu|a-;B6# zqkp}0VjjdHskLQZ+sO?m=UfMPX)_S($Kxau=9~WNxPn5!=_)#s?PT-1h$FnNB;4r5&CnnKPG6vtAIgeo#rjbjWwU8S(VcNq-~>Ke0u;)HBW37 z3=GQ5pEZ`GI~NZYa~8_0+!FGFpZ{%GIN+2?bmvQEVJ=5PX-gv+I}IM)G8!IV)O_?( z?-RvQ5Hi-k*6APM7;R{b_MClqa#BG7o{WfVpp(D5+^wz_Zo$vgL)_5Fbcr(|EJmAL zLYVjNmq~>$aH(??hW}lSKi4))a&x8j`e4-N{M$Lj9bxZ6u#IoWq-NJp79Qp{>+p5H7h&8+Z8FO8Cu;_#;7czqcpQaAg3 za)jK`Pd9D9{4HCy9Y_I%;kbd>?DRMt<{kBcsGP&!=02F^#qU@T{i|6I1;kV%l`GC} z7#;gaZfG2>4%b*kjKyZ6>swK=YC(AXeQ*;AUB1SY_u4PNWnkX7;3d)hxJU|WN9)yO zwCEX_wl!m+RFyxB?L&;q$d6tv*suUo8ote#6t}v*{Q_zHFW2>TXNh?bD#C-H)?OMRo%sGg&5h9sb_$iQ$54wb z^YBuQlY21{P@Z*XOtg;e@`W$F=2p-2(HViqN-{G2 z&+hrTm#eRLet3NZ!=rCaJbP-L_sHX~EHUcr-9vjeII9RF(vp)+ON@`|pX<+h{K9mT zT#^8v0HQGCprH8SRp5-gSPR|+r(O}Zjo=k0ss2v85<5*TMGCUdocAQ;HleQb3^VQqfXqnm;{ruvt_qJe-Y%3zZU-&FHKo``R#0w#If>9EW_AsL)Mr}ZI zF+E<*-Vb85;q1X}4TcchLnjH0KDI&!TrzdZX0w{+!s)YKGrNP_{G(=Xe-E|I65@lE z+@qZQGaNo@Yuw)k+Mpv50>#!ZOeZ1{r6MNX{q6VstwnT;{y-*6jPjVj77#!#?h$SA z7cg1J!S7%);b7(Gl38`t65|vrWHjf$0c5``tyuTjJl70+L8pDmwxv5!-iBy_p&zx%< z#^%T2r0L|To*Qc^twJw!bnVwIzH&Q2-T+W%a~B0w9WTLr6LLJy24`?Y@R)9lLEBj?iU*_WH`A_9U86Ge#{o+YO39>WZ91#R)4B7_s!D;v>33LfQO z3%UL2U3f)Jurxd+^|k_Z4&4KqB8Y2ykEeQXCdDHoNP&Fo<`c2M7t|a*u{b+9yw$Xy zs7bhQ6oVYLPWm&~?Ct%3UIwCM!1vSvgET&d{T1e^oOSf8o509O3ly_2r3~)6t^0Cn21X zw|M;q#3_%~>${O24b+Aci}yacbfdXd-*FEv2&w<%wBl7C{kc@{yV-YAcpE&iYp-TI>TE zl*#lP7)b%kX7n5Sf#{x;p<&0(H{qt~(FlITR;GE3YuRxN^^aT~^YI)b3u1Z!XTaLL zzoKQvZml1}IB!LT=};2v8VZISGA{%j1-CYFN85T+N=J6abrPhyOxz5b)kGat%^e!{ z9e~2_o!6bW*v_RrStS9G(dHx9*5PjZPP5_~uj}O6>#x7pI+ySZ``R&MCS+u26go5y zbYy1+Yv)@y7@h4!+ZMj0HEw$~0;7g<4431L{J4JO(A)X~>|;Dh<3Xrbv&JCG=&{rc zBR06McIOjs1nzIp`2bJ*$~A@d%Y`rRMucMszGMy}_<{j(J^wO;*Iqj~8R!WCsb|&6 z)@I1vcY*QoH1Bri2mmfAbNAZxtO*~=^JadCXG~qs(Y_TD-I=jySn!lw!&78N;Epa3 z3XQmoN!kkBKKD&!%ci{3C|j7AihSI9A5_MIr9M6Yto1a7!GhA;sIc5;nVI-?7dnAJ zKUU|p<#(9a!j5nTXt@!(BA3(IIau>g$Cez}~?lhsC7cY4yd z$#gtY`^P1M_NU#RH|}FeZ+iNa_{Y~NVV@s*`rCwc`6LtJ&|zW(V!2xGUb`X~Zf}+t znmwnB-aK5v8fs3B}y^Zq#(giMf9%CrC+5hDrwkIvG9UjHSLbH=!3?Zw!X%p0dxeSxI!nP zWvL%o)!IuBgRok9^g6hoBFNm!Pv{kO-7VWfSd7aRrh**;@yJ!u*I`G{=KBF%!{{i7 zmPgI#SI53le;S@)?wg#N+SJ+#dB}CyIXEAMi#U8MeH1(U`Sa%(QD4IsNfrVY&>&%^ zxH}mh^SD(@OAC+cF%2UlX5PfqvkTZOjN9|}O`ll+p#>+ySC8c*&2bBP1Uzf}C`2*8 zHu#seuWnPbvzmn#x|MIwHPlqO<6(L;!R&N&baEZ6x5q}>Qly2Z(PIJLUa7<&!ri@u zLoGV^q3zDOuZlc;eHdXaEnY!R?gR*LK$2bwxA#9g_8NZv?}(W{^U41sL$?3#xBXiI zus^o{{&%OG|KAPxzZ(G0!2h;i*z}h=KzW}o78AZF53AbQ|J69;|Gf?W`4t)s_%k$m kGCjNuo{qDa+lX}v*&CIxq3~b>zH&-TL`pdQ{1zG)d=}veylO7i3z!q(5 zt3>fP8+hPty&th+Yx4C`loDm-xzT1qT2@w8db(otOBtoku(kFxT3UXzy4gxg>FXen zuev#PvvofESgqZyb^eDgrz7$T3i3w^3O>vZb)C@~f63H4y696fTxxwgg;{E1JnCHL zYG57ur#NMH_m$Sz*j7(ZPc{KsDjm|w;2HnM}nbhF{PfeQq z)BA2PHzL@yDd1{kWR?E=f)8;xQaIY`V)LVHnPplDE(04CQL1xBOLP3!$(cU9G-XdL zPE(&~x#(j>6t-Ho+rD`X0#WY+Z3~)Mb{9{9h{laZao3!q9E06FHah3i4&D z<{q6YELS7nml=PZJ$)_ zm5h>CH}s}XL4b%Dsf9Hv!a8V-jyB_^r}ni3YQspOvswSh!d*@_k=Um^m#wcC=NQKC z58f7OnKj>N49MwTGu#0hN&91`$w_8S=H^BaGBSkqCTgnrX=QW(Y3<=?>H5~_rc*go zNw0CPsjm-KJe!Mi55gSoxczpuZ=CMm61SlXlY=;I<6nY6 zOg%%J#DRgTqCsy0V(^_!m$FIBy@Gw8X~*%CGj`s?YeJgwra~;q~{K4=)l)o1@9Ht2Wh)GSXfyl|rgI8tv!HoMHqOkb~yCa||9PMM(Gx_Pkw1J7U z(@i(1_yeRv2{e*3WbhUu4)#j!RYq1Vt2f2B$t)B6`~AmCdE<1w8~?Q6*b+6m>SVc! z`$CG|Bm}Ok_5fJRiJ||IE5jcjojtm+HFjkc)`2 zX?8&$^d-}_`C>z%BXV8$iS}7-D-b9&k%h}`iexpWqznMF8XY~GAc<=5XxX!uNrBBm zR3o=viACI{(R@^uJw0%qUXU#;Q@2q>z+;l&u1S*Z!8kUOAkRH<02LfSY3)R;S#<_ulF5SeFOX@YSm}c(uT> zquw}FuXCT-rdx?)Svh&BGfqZHEX<&+jO4X^eU-0sQIfr57at-KCg_m#h++6#g=|cK zqvP;I!)7jKs`a4SRhi!_XkldZ6&IJWEJHs@_&84C+}%e@MG~?JTfa|MNsM>G8U#d5 z#mNKlv~;i+zY3C~S_EQjL1J z&>YK~+HNs0_fMrf?2nO?bti_eJA3C;I#J9uF^!tqO%lA&?{5XU|41 z#k8v-CJA#yn6=##z2W18(&d)5~+zm%wCF%mD9KpwJMUcHJ^2L zkSnUM4_{DAPEhtb-4xV-79YGsJ^y9mo29Dh z%1C}oJwIzzblgmUWlYvbva`B$C^I6irFCi!)TS zOcc`-F&CG+2a(8S(ONuY@`q{MwX@?l$$3O#R*a7HUR)aW)5dIYpHT78bnnrm2Vx@6Cd;6l^HRI%hbb=FgjGMC6umH& z7d8#^H|>Nd@5 z;{5&h_4M?zj1Ve+fV*2;s@spDsQ~!pg3)awfzuRD?XK|}AJMm#WPh_bW}}Cqc|_;y z61>Y);gP1Uzn_K=j-e1 z6%#M-1XXDIYrJhy-P#N)<}JATy0}<%P;`QC-f<)HW}cd4Dj_^_au4ol!R0*7%H)mO zlx1kSUIabO) z9AxWLg-0KZo3F}U92AtBiixeCpUOxbAV@ES#Ky7-(U)db%p2p|X|g7d@Ff0+j~~nL zR_Yl<&N|aQZmZ;GU4UQxeZnzdqW)I?Y?sp=Z6hDzx_&4CrzRnKG`z(BZqvQi=TvG< zk47wJ^Zg;`Qa#evzZ5(=`jgW=!*?#k7xd?_8_=2X1u zK0il1)V`tT@eUMea|Pw$v9)j>Yd00XTt+}_FWSX{w?0WpP|)`IwAZh_?lc^*{Mz}B z?Mg~_-Z!`lSiYYgi;J);E(&Cyz`*q@3c0FD?>ALYPc0>4QCpHSjCkf11HCHhtbP~M zd0+7Nm#;)3v1k6zc&C!W({e~gg!yl<|G+1epsxwE{qKkooB{}|8w(;JbEb=))(Rri{qrQ zp1s|6TVVUKupe<%GMOQIs}0LK9z6td$dAhQ+~1RmBR1!ppn*QK>8a{AVAhLj@4j5* zvKHo=gn@j+F-WfLx@{Y7th2RB0TWr z%Bk*Z(y;aC4rTI(IE-v#HyQpK(i-4g2p@Awm;(-lCy-?u=bfs(gRj#(< zx+n6{%Z<*i(SIO0LgAY0^=iNv(La?&@EX`vSc6g=bI))9@k|&CvhS{urhfGvr{oS8 zF_`((s$J#$=^dcLOxBIXv-9~K+NmiidXK(8cA+6}M;u8gI~g<^FO^FFvrwoji+Abk zXp1QoFCCK{RAO|~@9$K8FueWanZpNvv-ko|(=L#I3rEsTFZ7sPGOVQxeJ!u^a`zZ& zdU?n9r4s_~;Ze0|CLU=?R2-VSiY}p*OCj#p+70#foViPJ{UzAP$JzJ#Zy`g??!~rV z{5reE$vEAp&^-pAiUfbiThm%Nd$BYE(A;k;!e^IiwXlXooY6gOq`m#^jPenmjI@h? zOGHc5jvGI0u!a=-v?gQ613Dw`qbIX>C!|Pf)?f|p*s<)Ks%0wQ_H@Wnee3~HMG0`@ zmcx&dIb{WXxj1HY^R1ATZ(d4D!4C)TMT=9aWK4tY7nE!0G5*8vJpuzevLp+;-zaE9 z9U*wAEuB6qOuX)~&pjcoJR{XpC=Fto7&hL%l)oq9M83r{^`=xi?_PL+O@CZ#Z%B)TyG3 zoU}Q<66jO;ok8k8iv^k4+3NXujix8Mw{lJH+ooQX$uff1&=Zl!D(*vuSM!X|?$|3G z3Vy>Av3bu-YyE2JS{4tut3x5oFGZS;Wme?79vm}F{{Wb7a;mAM)Fd;cT91G-33hSu zB{3Tvbn0Y4704^pwl?eLp&muZ;$ZD=)6LX~%5-fQyPtZrtYxj?5>zIvqqlf4-#Xq{ zN*?23v9%_jC|F3Hh%{!^1z}f;FY{z3s@ppq{JgrIU&d3EC;mGNh&plIx=S5xQbK%p zFRXn2`qZj)gh!p5h8pR*YCI+JX|3^SNb_bu?oLqDjvw0Wp_;&!IQFJjue)y3dxM!9 zp`nhUj*fJ9G(GP5N$F&%1X{eMkIy#Q8O2`8`m3}1>%!;<3&4fjf9x9#E_+tG_O+wD zX)s0e)Tv`X+F~Yx3q$nuIn2=y@`K;ZO=|XAEC9t6-!itv8Q$OCa0vgkj{Lr+V&h`M z^OoevJa`wKMVyE4TlJki)9+CZgF-9UZD)(lq#Olp|8ph7IWp3PX3Kg`%Xqp|D!H}G zG2Q7kp24@N4s&zNG0FSO!ZI!sNjJ%?ZIZqEA-zY@DBz`&+i$YbqNUp1)=s5k&Xy`k znl<4UzsAXIxX^k!$DYJUr?S`n*uDG2mjtQj&oj#JDo4Ywg~q+udO@vuy{2?6fW(}$ zQDlLgN)wKB8f)1Y?*d7V)*ge${VAQCh5M^g@U^>pUotV$xFg`4=k$k@OL3MvL7xKJ z=wl$z@qZrg0X^QgQxOFEW8Xs%=s(Bb?)bks$eei$y)2yM)0wkQRJLD2()Hws`yPa;lQf0XwF@Yv9Ef*46Yy1(cFQTYvSc(^etn) z5x9_2_n0=Tp2K*UgjGTwuXUwa#)IEvWGD^0g|NBeM}t}#IpLS9y=WQ|tO z-??)qJ7~iQYlOHEFtJTwL~yD0cG1&`gwD=RS&085!0REVl2o>PAD99A=}Gc$0Oua<1~2Ly9#->i3Tr2i^uZ@F7T6-VMR~_ED0;liNEsunOk)I77tZeof$kJ= zcA)3K((W%e47~opqfs_yc4;6aW^<9o##4TmJf=S4cjv`O4Ig=W9+{!-F0Xy}cgHxN z!0W!(?_RUB!}2>c;4TE&t{$wR3~amxeu!KSqeSy-jye!Zr5Dg#dclU$hk_4@M@?6z z@{(=eZ1*>YEJwm4)9E+2yIQgxx-@j0FM2LE^PNY{v9(J>r6DpBpnNLqsd{f=Ip9Ta zymTZYq=%88Y&{ zRNoFUF;lHy>}r4zw_yC+oL-3-8mT* z%dwDqQ8f>vY3e;n!#zbEoI@M)If5DVA$bu_VlqW|r^z*C%30>5q~*Q>vZBZ$t1=~YyFeC>p@ zvvZ4tz4TZt%FuG>Oyedh0D5MtB|K}*@sJGzWK1*PgU}e8fqk1XG4f$Ou3Z(e1bMvD4>b#`k>}Non!^sGeMp( z5j+h%ek9*IS(A(odB~U~p&SGU3`aMzk-duN@7)3Pkx-~WnFKWMq0r2&dK@KuX|NbW3pWxJJ`)>TYjF0#5G5Y8GM*pP8WjoPJanJi9? zI~_i95(H|x+i5Om7QJq)VaY<$t&HotmBPP+s+fi8Bs! z7Q-rrVuT%?Kbl$O?IJWMVymVr<#%2}MpBOM;)vRwQy`GxA+&7p>3$7}ihGEN3^x^t zzuGq%!822xHM$FQP@E?f7E6kEcMkM-; z0V8P32gg`mxrG>hpBvK-R%Ex|w?({ig#e+i=evS3>jT4%sJ_<%+s3y(wkv%w)XK)Z zxW6HAlc5@NeU|_2MuB;xcld-pzo!^w<2ExL2|IBjHhF1m{!6aNN&bj5aasY<%b#JA zWKU~rDhEky)aH5?hTpd)%Yymh%2oeL8de`tv>tY?n53W%`eb|9{0Y>7es1k?XpZRx z|DY**49b7dr{_chb}s6IQ!eqrl$5>3UnE6I*~fD|5X>h4Fy_Kwqc@>oE+(MZ4Kjl; z5-lap!!FKeea>l=tgtY)uH<^_>A5t!SfYwC~h7T$JPh7Z8Q`c&yCCm3f z>MdwJb}~y;xUjjwBM*^KH?`bsC?VhIjOQT}x;j%76BM0xfvA_aerb##`P%BbS9p1D zk2M5Vzcjrs-)&NFLCEa^o8q7&Go#g_T|aM z=e&HCu5$HRJ9lK6Zj5sTAGyvSSwY3cHk3HtF`st+6Z1iOg?fLY+1O*Mc$X~Z{@iO@ zBloZy1ar%7?0L_Q=I8H!%;bfg)4GdIeHHO%Q!f?}ieH%n^%1kGM!xT0C82=BEJtrg1LMJx}T`=jZlU2$fSW3y9%JaPOKG!N5rtLfe40R{q6mNbMEz+CUY>E@6^&KiH^7u5$ZMPrvN3i zLPaiD4FaicAW-d1?DC%y3dS6{jKZHZWmcG9fHwFmDIHe8W0pw=VG!oa8Om3rj_fMM zd$kT;w~1|evwjGYebKnvlglW;tg6sc+^1u1O*e)tQVTs|W)gxHU>HgNJ6>{bsPi@+ z*5VHC#-YBFDB~+=&6pE8D00+fZPA%CR*4O=2B2R{E*Qxe6C_W3Os50X6j+9B( z!0wmoiAu5FmPx!vTlM>MOhbOx+kRV9Q{zxVBMO(W*6G@eup2Qgj zas*>bxue-wSH#Slb)Z{^oYy&h`n1{B%Uw-j^!zcnW4TN9-yYlA<|y_;V{21J)D)mQ zBUsJL0g>~wO;<^Qv_hkntmJaO=jvP;fkdMUEE*#k(J|nufI~%o z?KwZK?iMt8l)bqTy-n{jq9H5(o_ZH}2n-g@AP&pR)6tTa_G1wbGt5n-(LWm2s9kt+ z?W6u5QoSZ0Y`xk5nV~#vwl$)E;*rip0rl5eUP5|z4n_AD{%AoC6_4nf!jqIQ6lU** zMNKaH4VNk#M@HQh3tH@?CrVaF3(&~scKf+*_nWM)Xz|~d&Eu_jO=@kyqxsY8?b1g% z10|aZbBM|Bsf+q8I=j-?#|#j|GsRtfa#Dldz2f;bnjLuk%?=cYw@Jt7Xlc1t-Wx)x zT~#%Ha8nXZYC*^zIdWtu;E+kQ1ij}e>_jmcB{{>8jJ+DflPZ7EFjC2^VdRHPIgOYo zHeP#F@RBbfq_nKqWk z#tu}luWI83EiJ=fJ(+~JS2n%u%(=J!(*-1z8aARDOG2-APUO9jzt>YdyVA?HAB?>a zqc}xo3da8We!avsWqmz8c`fJ0;L+!=sjtZ-)YF1J$~BDFMT5oY(bs1SH{1mL@G;)dOiBZy>k#SNZb#1t#$Dp*-|>g=f{GJyzcv(fBB6^=JQcf3mJ4 zj8Oh|49;gSj#i^Gd>JI2jO=ccFx;aRcgDqeKuIt%MLvVs697T`-Z9eH0ovXO)euS6ek9hz2xcS-*{n-COe{`p&>{NgM_bD z7PQRNBHLw$RvV0AMzPGcYApDQz&GCU zJJt-Hpxd9nR_c&9_|YgX#P{o4)QW0jRBPu7-Go+#O}pc7R&r8JR82Vl&oHGhfrGOsv9jc1>9fV+c`bA%3jn&CENWN6- zQP(5QRs7VzEtwJvEjlUH1yRL>( z-{@U_3r<|;(ZUCq!PaEu>$@LpIcfAesBLejLy4V<_^YlKc;PV#gWP0c)yYbY!Arj< z%?wEOM$UB1d-djq3HvSTI90c_o4%Jq7$Pp$@&$aN-UA?0b z?Q8mR{Ttw2CB}Qb#>elVxjseOK<@0@4%=zI0}^b>tf_jh7!b4|)NPEIfCdqFm+6_PNz!w{KiTL~=afBtDs zv|n<81G6A_j#PdK%!IAfLeBwfYxz>=hSI;?TN+2Tf|fBy$`c`anz_$8q37r#$%YoSDe}y&1RelUF;|9QT zNAZ9tCif*|H9ZU#9li84MaI(sXJch`lv+6+#(@a`qfI&lyp!H||6^ITc~^##c(~NA zuF~epl~yJFf;daOS6R97!ZJXGx@uZlJ3xV(RNsEU!L#kco?El)(;iR!TA_jO?5!;S2QO+daJ1g@t#!qvaEd`!X-BCk~4 zzZ}aj;AEyKe0MqR=E z_)xejL0W1G6OCEUDaa1?zpG*%+AI`a@hK|W#b^7_i?7_>9K)`%m-<7-x}A6Lz9Qmp z`2(wWcI6N_%M5WT+Qr4i>uTE^Et{e%8T6^X-gVuy4nYI3y|bsPs_J83Hc1z=-ft-_ z>j#Zsu?7YP)MQQT?+faH&-TBK-49st>SA|H{~*RxQbegMXDqbGB$v1$@AZi{o$&ry zsVFyYv;zTG7qwpeqxpT?umT?M7QUWF!=VGitJM>YUS~*F(oKht_(#1WOe(K`&$lc1 z_`V!Uno}^EtOE+EVxvJJUNZfvAgHRkg~>~!F^VV5?`+^Dj|2e6Hn(9KxK9WSrK66v z*#?IGnQ0CM0rXM`Jw#%WY(7}vO~}q>Hc2>-fURZ{&B&d~Ss|aZ(uTn7w(glc$aU>yntuNz+M}+tw>v={qsMxT-a`b0B!jf^ zPWQ4(Hd8{_t6E}~!^gESE{Y3VG-1V_30`?=a^Oddiisv~LW``i?l~a^Hfiu+jmGCL z(=m8(1`LTF(bU&h18T$Nmo1^8W>-n}i(88w`sEWhZ}k^MUL1u<~0M^!i5{J?G{O40P@C|gsK`N=77*R7ssFKeAj#k#Rfe1l7``6E%MEA z0w7)~%^Lt;3AoFL=Du{LKRJsKL(*GWb=56IMl=A zmh)(w0xW`rSXC)1G7Yvy0$^nFP6O}JmYtant;%C=YTDmEOZjM~A2CrMi;Ol{coP|N zA$QMu69FouZCOnfT@68!NB#bOV}W;v33cx7P;LvrRz zU}z|Pt|!a?enzz&WU*JEqG-6%0$|jnd1LvgK{(j=>vz-&W;@;$t6_la2lfhHvA*8bIaU{tdHd+8A3l9$b{1~rXXW93@j`NVpbh3=n|49#6mp#G0*E?eh+y)A+U|pEw7ft7j^eM`1 zBmafvVt#wxgk_ehPO zlv0U;vKSvM#JNWMp`FAn=TL}Lj zBZKIWR5S>*x8&y;fqxP5Uv~IEWyYt}U&zJLn^*?WrF->@0qj;@E}kOh{{lLmVt;Y_ z?Cn0#pJn?Wl7p!FpbE9@=Fd)D^UJ&*BL>iZ`~w)j4D=;0#r*88y&AB#?%Gh$vH7m~ zT_~k9DU@&m%p+rGfrB7`v^hU8UJEx4ZGI0tZH(ZP_VWbB^($Ad07{JdqT~_iUxxoz z-TW)}{*}7_&&m9!5;?%mNDiqknE)sJ_WY#nT_E+R@3_9JuYlMK1hTqf`&aqpzyJ9k DbP7fu literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/small-list-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/RoomListView/RoomListView.stories.tsx/small-list-auto.png deleted file mode 100644 index d23566e44aeaad66a07eb68ed31e4170b3777dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40738 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 W^W5~)PT&aW&MmXwt8V`B?7so5nQs&T literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx/sections-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx/sections-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..36b07b87ba5a803bc70916d9005d07ded2d5c2a9 GIT binary patch literal 23021 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 Date: Fri, 6 Mar 2026 11:56:30 +0100 Subject: [PATCH 08/16] feat: force flat list on view model This is an intermediary step before implementing sections in the vm. We force the flat list but we use the underneath the view supporting sections. --- .../room-list/RoomListViewViewModel.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts b/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts index ed1c305796b..54cb4c3d46c 100644 --- a/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts +++ b/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts @@ -61,6 +61,8 @@ export class RoomListViewViewModel const roomsResult = RoomListStoreV3.instance.getSortedRoomsInActiveSpace(undefined); const canCreateRoom = hasCreateRoomRights(props.client, activeSpace); const filterIds = [...filterKeyToIdMap.values()]; + const roomIds = roomsResult.rooms.map((room) => room.roomId); + const sections = [{ id: "all", roomIds }]; super(props, { // Initial view state - start with empty, will populate in async init @@ -73,7 +75,9 @@ export class RoomListViewViewModel spaceId: roomsResult.spaceId, filterKeys: undefined, }, - roomIds: roomsResult.rooms.map((room) => room.roomId), + // Until we implement sections, this view model only supports the flat list mode + isFlatList: true, + sections, canCreateRoom, }); @@ -195,6 +199,15 @@ export class RoomListViewViewModel return viewModel; } + /** + * Not implemented - this view model does not support sections. + * Flat list mode is forced so this method is never be called. + * @throw Error if called + */ + public getSectionViewModel(): never { + throw new Error("Sections are not supported in this room list"); + } + /** * Update which rooms are currently visible. * Called by the view when scroll position changes. @@ -408,6 +421,7 @@ export class RoomListViewViewModel // Build the complete state atomically to ensure consistency // roomIds and roomListState must always be in sync const roomIds = this.roomIds; + const sections = [{ id: "all", roomIds }]; // Update filter keys - only update if they have actually changed to prevent unnecessary re-renders of the room list const previousFilterKeys = this.snapshot.current.roomListState.filterKeys; @@ -428,7 +442,7 @@ export class RoomListViewViewModel isRoomListEmpty, activeFilterId, roomListState, - roomIds, + sections, }); } From e4856f6f9af84f9d0212cb94a6167f1ed1883799 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Tue, 10 Mar 2026 17:12:38 +0100 Subject: [PATCH 09/16] test: update RoomListViewModel test --- .../room-list/RoomListViewViewModel-test.tsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/web/test/viewmodels/room-list/RoomListViewViewModel-test.tsx b/apps/web/test/viewmodels/room-list/RoomListViewViewModel-test.tsx index abdd6d10f7f..ceeb940669d 100644 --- a/apps/web/test/viewmodels/room-list/RoomListViewViewModel-test.tsx +++ b/apps/web/test/viewmodels/room-list/RoomListViewViewModel-test.tsx @@ -66,7 +66,7 @@ describe("RoomListViewViewModel", () => { viewModel = new RoomListViewViewModel({ client: matrixClient }); const snapshot = viewModel.getSnapshot(); - expect(snapshot.roomIds).toEqual(["!room1:server", "!room2:server", "!room3:server"]); + expect(snapshot.sections[0].roomIds).toEqual(["!room1:server", "!room2:server", "!room3:server"]); expect(snapshot.isRoomListEmpty).toBe(false); expect(snapshot.isLoadingRooms).toBe(false); expect(snapshot.roomListState.spaceId).toBe("home"); @@ -82,7 +82,7 @@ describe("RoomListViewViewModel", () => { viewModel = new RoomListViewViewModel({ client: matrixClient }); - expect(viewModel.getSnapshot().roomIds).toEqual([]); + expect(viewModel.getSnapshot().sections[0].roomIds).toEqual([]); expect(viewModel.getSnapshot().isRoomListEmpty).toBe(true); }); @@ -106,7 +106,7 @@ describe("RoomListViewViewModel", () => { RoomListStoreV3.instance.emit(RoomListStoreV3Event.ListsUpdate); - expect(viewModel.getSnapshot().roomIds).toEqual([ + expect(viewModel.getSnapshot().sections[0].roomIds).toEqual([ "!room1:server", "!room2:server", "!room3:server", @@ -156,7 +156,7 @@ describe("RoomListViewViewModel", () => { RoomListStoreV3.instance.emit(RoomListStoreV3Event.ListsUpdate); expect(viewModel.getSnapshot().roomListState.spaceId).toBe("!space:server"); - expect(viewModel.getSnapshot().roomIds).toEqual(["!room1:server", "!room2:server"]); + expect(viewModel.getSnapshot().sections[0].roomIds).toEqual(["!room1:server", "!room2:server"]); }); it("should clear view models when space changes", () => { @@ -240,7 +240,7 @@ describe("RoomListViewViewModel", () => { // Active room should still be at index 1 (sticky behavior) expect(viewModel.getSnapshot().roomListState.activeRoomIndex).toBe(1); - expect(viewModel.getSnapshot().roomIds[1]).toBe("!room2:server"); + expect(viewModel.getSnapshot().sections[0].roomIds[1]).toBe("!room2:server"); }); it("should not apply sticky behavior when user changes rooms", async () => { @@ -283,7 +283,7 @@ describe("RoomListViewViewModel", () => { viewModel.onToggleFilter("unread"); expect(viewModel.getSnapshot().activeFilterId).toBe("unread"); - expect(viewModel.getSnapshot().roomIds).toEqual(["!room1:server"]); + expect(viewModel.getSnapshot().sections[0].roomIds).toEqual(["!room1:server"]); }); it("should toggle filter off", () => { @@ -307,7 +307,11 @@ describe("RoomListViewViewModel", () => { viewModel.onToggleFilter("unread"); expect(viewModel.getSnapshot().activeFilterId).toBeUndefined(); - expect(viewModel.getSnapshot().roomIds).toEqual(["!room1:server", "!room2:server", "!room3:server"]); + expect(viewModel.getSnapshot().sections[0].roomIds).toEqual([ + "!room1:server", + "!room2:server", + "!room3:server", + ]); }); }); From 25a342dbe43a318f202b44935ace8e393b8db89b Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Fri, 13 Mar 2026 12:09:34 +0100 Subject: [PATCH 10/16] test: fix breaking test --- packages/shared-components/vitest.config.ts | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/shared-components/vitest.config.ts b/packages/shared-components/vitest.config.ts index b28a1718e34..7b0f22f9e09 100644 --- a/packages/shared-components/vitest.config.ts +++ b/packages/shared-components/vitest.config.ts @@ -153,11 +153,7 @@ export default defineConfig({ ], }, optimizeDeps: { - include: [ - "vite-plugin-node-polyfills/shims/buffer", - "vite-plugin-node-polyfills/shims/process", - "react-virtuoso", - ], + include: ["vite-plugin-node-polyfills/shims/buffer", "vite-plugin-node-polyfills/shims/process"], }, resolve: { alias: { From ea6c1b69284e02e50ee3f7bf79692d767586ca9b Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 16 Mar 2026 15:19:28 +0100 Subject: [PATCH 11/16] chore: rename `getSectionViewModel` to `getSectionHeaderViewModel` --- .../viewmodels/room-list/RoomListViewViewModel.ts | 2 +- .../room-list/RoomListView/RoomListView.stories.tsx | 12 ++++++------ .../src/room-list/RoomListView/RoomListView.tsx | 2 +- .../VirtualizedRoomListView.stories.tsx | 8 ++++---- .../VirtualizedRoomListView.tsx | 2 +- .../shared-components/src/room-list/story-mocks.tsx | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts b/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts index 54cb4c3d46c..2eaea3d246b 100644 --- a/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts +++ b/apps/web/src/viewmodels/room-list/RoomListViewViewModel.ts @@ -204,7 +204,7 @@ export class RoomListViewViewModel * Flat list mode is forced so this method is never be called. * @throw Error if called */ - public getSectionViewModel(): never { + public getSectionHeaderViewModel(): never { throw new Error("Sections are not supported in this room list"); } diff --git a/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx b/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx index c1734413f2d..4f500621167 100644 --- a/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx +++ b/packages/shared-components/src/room-list/RoomListView/RoomListView.stories.tsx @@ -19,7 +19,7 @@ import { createGetRoomItemViewModel, mockRoomIds, mockSections, - createGetSectionViewModel, + createGetSectionHeaderViewModel, mockSmallListSections, mockLargeListSections, mockLargeListRoomIds, @@ -35,7 +35,7 @@ const RoomListViewWrapperImpl = ({ createChatRoom, createRoom, getRoomItemViewModel, - getSectionViewModel, + getSectionHeaderViewModel, updateVisibleRooms, renderAvatar: renderAvatarProp, ...rest @@ -45,7 +45,7 @@ const RoomListViewWrapperImpl = ({ createChatRoom, createRoom, getRoomItemViewModel, - getSectionViewModel, + getSectionHeaderViewModel, updateVisibleRooms, }); return ; @@ -93,7 +93,7 @@ const meta = { createChatRoom: fn(), createRoom: fn(), getRoomItemViewModel: createGetRoomItemViewModel(mockRoomIds), - getSectionViewModel: createGetSectionViewModel(mockSections.map((section) => section.id)), + getSectionHeaderViewModel: createGetSectionHeaderViewModel(mockSections.map((section) => section.id)), updateVisibleRooms: fn(), renderAvatar, isFlatList: true, @@ -225,7 +225,7 @@ export const LargeFlatList: Story = { args: { sections: mockLargeListSections, getRoomItemViewModel: createGetRoomItemViewModel(mockLargeListRoomIds), - getSectionViewModel: createGetSectionViewModel(mockLargeListSections.map((section) => section.id)), + getSectionHeaderViewModel: createGetSectionHeaderViewModel(mockLargeListSections.map((section) => section.id)), }, }; @@ -241,6 +241,6 @@ export const LargeSectionList: Story = { isFlatList: false, sections: mockLargeListSections, getRoomItemViewModel: createGetRoomItemViewModel(mockLargeListRoomIds), - getSectionViewModel: createGetSectionViewModel(mockLargeListSections.map((section) => section.id)), + getSectionHeaderViewModel: createGetSectionHeaderViewModel(mockLargeListSections.map((section) => section.id)), }, }; diff --git a/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx b/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx index d459f4f3086..3fd4450d0b2 100644 --- a/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx +++ b/packages/shared-components/src/room-list/RoomListView/RoomListView.tsx @@ -63,7 +63,7 @@ export interface RoomListViewActions { /** Called when the visible range changes (virtualization API) */ updateVisibleRooms: (startIndex: number, endIndex: number) => void; /** Get view model for a specific section header (virtualization API) */ - getSectionViewModel: (sectionId: string) => RoomListSectionHeaderViewModel; + getSectionHeaderViewModel: (sectionId: string) => RoomListSectionHeaderViewModel; } /** diff --git a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx index 30e1049fdec..ce8d3f19154 100644 --- a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx +++ b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.stories.tsx @@ -19,7 +19,7 @@ import { renderAvatar, createGetRoomItemViewModel, mock10RoomsIds, - createGetSectionViewModel, + createGetSectionHeaderViewModel, mock10RoomsSections, } from "../story-mocks"; @@ -31,7 +31,7 @@ const RoomListWrapperImpl = ({ createChatRoom, createRoom, getRoomItemViewModel, - getSectionViewModel, + getSectionHeaderViewModel, updateVisibleRooms, renderAvatar: renderAvatarProp, ...rest @@ -41,7 +41,7 @@ const RoomListWrapperImpl = ({ createChatRoom, createRoom, getRoomItemViewModel, - getSectionViewModel, + getSectionHeaderViewModel, updateVisibleRooms, }); @@ -77,7 +77,7 @@ const meta = { createChatRoom: fn(), createRoom: fn(), getRoomItemViewModel: createGetRoomItemViewModel(mock10RoomsIds), - getSectionViewModel: createGetSectionViewModel(mock10RoomsSections.map((section) => section.id)), + getSectionHeaderViewModel: createGetSectionHeaderViewModel(mock10RoomsSections.map((section) => section.id)), updateVisibleRooms: fn(), renderAvatar, isFlatList: true, diff --git a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx index d49d7ade758..af06ea61336 100644 --- a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx +++ b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx @@ -226,7 +226,7 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual onFocus: (header: string, e: React.FocusEvent) => void, ): JSX.Element => { const { vm, sectionCount, sections } = context.context; - const sectionHeaderVM = vm.getSectionViewModel(headerId); + const sectionHeaderVM = vm.getSectionHeaderViewModel(headerId); const indexInList = sections .slice(0, groupIndex) // +1 for each section header diff --git a/packages/shared-components/src/room-list/story-mocks.tsx b/packages/shared-components/src/room-list/story-mocks.tsx index 376227b073e..156858edcd1 100644 --- a/packages/shared-components/src/room-list/story-mocks.tsx +++ b/packages/shared-components/src/room-list/story-mocks.tsx @@ -132,7 +132,7 @@ export const createGetRoomItemViewModel = (roomIds: string[]): ((roomId: string) return (roomId: string) => viewModels.get(roomId)!; }; -export const createGetSectionViewModel = ( +export const createGetSectionHeaderViewModel = ( sectionIds: string[], ): ((sectionId: string) => RoomListSectionHeaderViewModel) => { const viewModels = new Map(); From 0c81d045fd4ae3bfdcbc4796f2604b72383ddff3 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 16 Mar 2026 15:21:22 +0100 Subject: [PATCH 12/16] chore: add missing `RoomListItemAccessibilityWrapper` export --- packages/shared-components/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/shared-components/src/index.ts b/packages/shared-components/src/index.ts index 9730012e746..72409f9ebcd 100644 --- a/packages/shared-components/src/index.ts +++ b/packages/shared-components/src/index.ts @@ -38,6 +38,7 @@ export * from "./room-list/RoomListSearchView"; export * from "./room-list/RoomListSectionHeaderView"; export * from "./room-list/RoomListView"; export * from "./room-list/RoomListItemView"; +export * from "./room-list/RoomListItemAccessibilityWrapper"; export * from "./room-list/RoomListPrimaryFilters"; export * from "./room-list/VirtualizedRoomListView"; export * from "./timeline/DateSeparatorView/"; From b9632ec0f93d3fde7f0d86dfa74e7aa769cc63cc Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 16 Mar 2026 15:22:47 +0100 Subject: [PATCH 13/16] chore: merge `react` imports --- .../RoomListSectionHeaderView/RoomListSectionHeaderView.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx index 8e6247283a7..5008aa3870e 100644 --- a/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx +++ b/packages/shared-components/src/room-list/RoomListSectionHeaderView/RoomListSectionHeaderView.tsx @@ -5,8 +5,7 @@ * Please see LICENSE files in the repository root for full details. */ -import React, { memo, type JSX, type FocusEvent } from "react"; -import { type MouseEventHandler } from "react"; +import React, { memo, type JSX, type FocusEvent, type MouseEventHandler } from "react"; import ChevronRightIcon from "@vector-im/compound-design-tokens/assets/web/icons/chevron-right"; import classNames from "classnames"; From bc93425e21d0d4f78cca0932c98891af36376074 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 16 Mar 2026 15:29:11 +0100 Subject: [PATCH 14/16] chore: simplify and add comment to `getItemKey` and `getHeaderKey` --- .../VirtualizedRoomListView.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx index af06ea61336..af2af4a8c30 100644 --- a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx +++ b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx @@ -256,13 +256,13 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual * Get the key for a room item * Since we're using virtualization, items are always room ID strings */ - const getItemKey = useCallback((item: string): string => { - return item; - }, []); + const getItemKey = useCallback((item: string): string => item, []); - const getHeaderKey = useCallback((header: string): string => { - return header; - }, []); + /** + * Get the key for a group header + * We are passing the section ID as the header key, which is a string, so we can return it directly + */ + const getHeaderKey = useCallback((header: string): string => header, []); const context = useMemo( () => ({ From bae1f9222091baa22b77a8dc53c4f30a56fc58ba Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 16 Mar 2026 15:32:14 +0100 Subject: [PATCH 15/16] chore add comments to `getItemComponent` variants --- .../VirtualizedRoomListView/VirtualizedRoomListView.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx index af2af4a8c30..63f7761d95d 100644 --- a/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx +++ b/packages/shared-components/src/room-list/VirtualizedRoomListView/VirtualizedRoomListView.tsx @@ -180,7 +180,8 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual ); /** - * Get the item component for a specific index + * Get the item component for a specific index in a grouped list + * Since we have sections, we can calculate the room's index within its section and pass it to getItemComponent * Gets the room's view model and passes it to RoomListItemView */ const getItemComponentForGroupedList = useCallback( @@ -199,7 +200,8 @@ export function VirtualizedRoomListView({ vm, renderAvatar, onKeyDown }: Virtual ); /** - * Get the item component for a specific index + * Get the item component for a specific index in a flat list + * Since we don't have sections, we can pass 0 for the room's index within its section to getItemComponent * Gets the room's view model and passes it to RoomListItemView */ const getItemComponentForFlatList = useCallback( From 10cb4636bae2e69f4bc00d41149af4470798f9a5 Mon Sep 17 00:00:00 2001 From: Florian Duros Date: Mon, 16 Mar 2026 15:42:25 +0100 Subject: [PATCH 16/16] chore: fix typo in example doc --- .../RoomListItemAccessibilityWrapper.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx index b31ec90a6a3..d5ffddc863d 100644 --- a/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx +++ b/packages/shared-components/src/room-list/RoomListItemAccessibilityWrapper/RoomListItemAccessibilityWrapper.tsx @@ -27,7 +27,7 @@ export interface RoomListItemAccessibilityWrapperPros extends RoomListItemViewPr * * @example * `` - *