From 1fdef790bfbfb8a4fa10d8ef17819a4cce2b2b25 Mon Sep 17 00:00:00 2001 From: Germain Souquet Date: Wed, 1 Dec 2021 08:33:13 +0000 Subject: [PATCH] Revert "Tweaks to informational architecture 1.1 (#7052)" This reverts commit 8fe582b094c73a6645fc2023da4cdce0c567185a. --- res/css/_common.scss | 9 - res/css/_components.scss | 3 +- res/css/structures/_LeftPanel.scss | 35 +- res/css/structures/_RoomSearch.scss | 31 +- res/css/structures/_SpacePanel.scss | 73 +-- res/css/structures/_ToastContainer.scss | 5 - res/css/structures/_UserMenu.scss | 229 +++++--- .../avatars/_MemberStatusMessageAvatar.scss | 29 + .../context_menus/_IconizedContextMenu.scss | 5 - .../_StatusMessageContextMenu.scss | 65 +++ res/css/views/dialogs/_FeedbackDialog.scss | 32 +- res/css/views/rooms/_MessageComposer.scss | 4 +- res/css/views/rooms/_RoomBreadcrumbs.scss | 1 - res/css/views/rooms/_RoomList.scss | 26 +- res/css/views/rooms/_RoomListHeader.scss | 111 ---- res/img/element-icons/flask.svg | 3 - .../roomlist/dnd-avatar-mask.svg | 3 - res/img/element-icons/roomlist/dnd-cross.svg | 3 - res/img/element-icons/roomlist/dnd.svg | 3 - res/img/element-icons/roomlist/feedback.svg | 7 + res/img/element-icons/roomlist/hash-plus.svg | 5 - .../element-icons/roomlist/hash-search.svg | 4 - res/img/element-icons/roomlist/hash.svg | 3 - .../element-icons/roomlist/member-plus.svg | 3 - .../element-icons/roomlist/search-clear.svg | 3 + res/img/ia-design-changes.png | Bin 99424 -> 0 bytes src/components/structures/LeftPanel.tsx | 31 +- src/components/structures/MatrixChat.tsx | 73 +-- src/components/structures/RoomSearch.tsx | 26 +- src/components/structures/SpaceRoomView.tsx | 7 +- src/components/structures/UserMenu.tsx | 519 +++++++++++------- .../avatars/MemberStatusMessageAvatar.tsx | 159 ++++++ .../context_menus/IconizedContextMenu.tsx | 20 +- .../views/context_menus/SpaceContextMenu.tsx | 84 ++- .../StatusMessageContextMenu.tsx | 155 ++++++ .../views/dialogs/FeedbackDialog.tsx | 139 ++--- .../views/rooms/MessageComposer.tsx | 12 + src/components/views/rooms/RoomList.tsx | 381 ++++++------- src/components/views/rooms/RoomListHeader.tsx | 367 ------------- .../views/rooms/RoomListNumResults.tsx | 55 ++ src/components/views/rooms/RoomSublist.tsx | 74 ++- src/components/views/spaces/SpacePanel.tsx | 21 +- src/i18n/strings/en_EN.json | 75 ++- src/rageshake/submit-rageshake.ts | 2 +- src/settings/Settings.tsx | 1 - src/stores/spaces/index.ts | 15 - src/utils/space.tsx | 5 - test/end-to-end-tests/src/scenarios/toast.js | 2 - .../src/usecases/create-space.js | 2 +- 49 files changed, 1485 insertions(+), 1435 deletions(-) create mode 100644 res/css/views/avatars/_MemberStatusMessageAvatar.scss create mode 100644 res/css/views/context_menus/_StatusMessageContextMenu.scss delete mode 100644 res/css/views/rooms/_RoomListHeader.scss delete mode 100644 res/img/element-icons/flask.svg delete mode 100644 res/img/element-icons/roomlist/dnd-avatar-mask.svg delete mode 100644 res/img/element-icons/roomlist/dnd-cross.svg delete mode 100644 res/img/element-icons/roomlist/dnd.svg create mode 100644 res/img/element-icons/roomlist/feedback.svg delete mode 100644 res/img/element-icons/roomlist/hash-plus.svg delete mode 100644 res/img/element-icons/roomlist/hash-search.svg delete mode 100644 res/img/element-icons/roomlist/hash.svg delete mode 100644 res/img/element-icons/roomlist/member-plus.svg create mode 100644 res/img/element-icons/roomlist/search-clear.svg delete mode 100644 res/img/ia-design-changes.png create mode 100644 src/components/views/avatars/MemberStatusMessageAvatar.tsx create mode 100644 src/components/views/context_menus/StatusMessageContextMenu.tsx delete mode 100644 src/components/views/rooms/RoomListHeader.tsx create mode 100644 src/components/views/rooms/RoomListNumResults.tsx diff --git a/res/css/_common.scss b/res/css/_common.scss index ae8a475aef2b..bb5c74d5b90a 100644 --- a/res/css/_common.scss +++ b/res/css/_common.scss @@ -482,15 +482,6 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus { overflow-y: hidden; } -.mx_DialogDesignChanges_wrapper .mx_Dialog_fixedWidth { - max-width: 636px; // match splash image width - - .mx_AccessibleButton_kind_link { - font-size: inherit; - padding: 0; - } -} - // TODO: Review mx_GeneralButton usage to see if it can use a different class // These classes were brought in from the old UserSettings and are included here to avoid // breaking the app. diff --git a/res/css/_components.scss b/res/css/_components.scss index 30b0f9d79983..6029a26080a0 100644 --- a/res/css/_components.scss +++ b/res/css/_components.scss @@ -60,11 +60,13 @@ @import "./views/auth/_Welcome.scss"; @import "./views/avatars/_BaseAvatar.scss"; @import "./views/avatars/_DecoratedRoomAvatar.scss"; +@import "./views/avatars/_MemberStatusMessageAvatar.scss"; @import "./views/avatars/_WidgetAvatar.scss"; @import "./views/beta/_BetaCard.scss"; @import "./views/context_menus/_CallContextMenu.scss"; @import "./views/context_menus/_IconizedContextMenu.scss"; @import "./views/context_menus/_MessageContextMenu.scss"; +@import "./views/context_menus/_StatusMessageContextMenu.scss"; @import "./views/context_menus/_TagTileContextMenu.scss"; @import "./views/dialogs/_AddExistingToSpaceDialog.scss"; @import "./views/dialogs/_AddressPickerDialog.scss"; @@ -235,7 +237,6 @@ @import "./views/rooms/_RoomBreadcrumbs.scss"; @import "./views/rooms/_RoomHeader.scss"; @import "./views/rooms/_RoomList.scss"; -@import "./views/rooms/_RoomListHeader.scss"; @import "./views/rooms/_RoomPreviewBar.scss"; @import "./views/rooms/_RoomSublist.scss"; @import "./views/rooms/_RoomTile.scss"; diff --git a/res/css/structures/_LeftPanel.scss b/res/css/structures/_LeftPanel.scss index 5214c0260dd9..0bfa0c993afb 100644 --- a/res/css/structures/_LeftPanel.scss +++ b/res/css/structures/_LeftPanel.scss @@ -101,9 +101,8 @@ $roomListCollapsedWidth: 68px; } .mx_LeftPanel_filterContainer { - margin: 0 12px; - padding: 12px 0 8px; - border-bottom: 1px solid $quinary-content; + margin-left: 12px; + margin-right: 12px; flex-shrink: 0; // to convince safari's layout engine the flexbox is fine @@ -111,28 +110,7 @@ $roomListCollapsedWidth: 68px; display: flex; align-items: center; - & + .mx_RoomListHeader { - margin-top: 12px; - } - - .mx_RoomSearch_shortcutPrompt { - border-radius: 6px; - background-color: $panel-actions; - padding: 2px 4px; - user-select: none; - pointer-events: none; - font-size: $font-12px; - line-height: $font-15px; - font-weight: $font-semi-bold; - color: $light-fg-color; - margin-right: 6px; - } - .mx_RoomSearch_focused, .mx_RoomSearch_hasQuery { - .mx_RoomSearch_shortcutPrompt { - display: none; - } - & + .mx_LeftPanel_exploreButton { // Cheaty way to return the occupied space to the filter input flex-basis: 0; @@ -192,12 +170,8 @@ $roomListCollapsedWidth: 68px; background: $secondary-content; } - &:hover { - background-color: $tertiary-content; - - &::before { - background-color: $background; - } + &.mx_LeftPanel_exploreButton_space::before { + mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); } } } @@ -260,6 +234,7 @@ $roomListCollapsedWidth: 68px; .mx_LeftPanel_exploreButton { margin-left: 0; margin-top: 8px; + background-color: transparent; } } } diff --git a/res/css/structures/_RoomSearch.scss b/res/css/structures/_RoomSearch.scss index a35b7e35390e..89e9a9d0aea1 100644 --- a/res/css/structures/_RoomSearch.scss +++ b/res/css/structures/_RoomSearch.scss @@ -67,22 +67,12 @@ limitations under the License. .mx_RoomSearch_clearButton { width: 16px; height: 16px; + mask-image: url('$(res)/img/element-icons/roomlist/search-clear.svg'); + mask-position: center; + mask-size: contain; + mask-repeat: no-repeat; + background-color: $secondary-content; margin-right: 8px; - background-color: $quinary-content; - border-radius: 50%; - position: relative; - - &::before { - content: ""; - position: absolute; - width: inherit; - height: inherit; - mask-image: url('$(res)/img/feather-customised/x.svg'); - mask-position: center; - mask-size: 12px; - mask-repeat: no-repeat; - background-color: $secondary-content; - } } } @@ -92,20 +82,13 @@ limitations under the License. } &.mx_RoomSearch_minimized { + border-radius: 32px; height: auto; width: auto; - padding: 5px; + padding: 8px; .mx_RoomSearch_icon { margin-left: 0; } - - &:hover { - background-color: $tertiary-content; - - .mx_RoomSearch_icon { - background-color: $background; - } - } } } diff --git a/res/css/structures/_SpacePanel.scss b/res/css/structures/_SpacePanel.scss index 60aa373a3989..706cfb44f09b 100644 --- a/res/css/structures/_SpacePanel.scss +++ b/res/css/structures/_SpacePanel.scss @@ -20,7 +20,7 @@ $gutterSize: 16px; $activeBorderTransparentGap: 1px; $activeBackgroundColor: $panel-actions; -$activeBorderColor: $primary-content; +$activeBorderColor: $secondary-content; .mx_SpacePanel { background-color: $groupFilterPanel-bg-color; @@ -37,7 +37,7 @@ $activeBorderColor: $primary-content; .mx_SpacePanel_spaceTreeWrapper { flex: 1; - padding: 12px 8px 16px 0; + padding: 8px 8px 16px 0; } .mx_SpacePanel_toggleCollapse { @@ -92,6 +92,13 @@ $activeBorderColor: $primary-content; } } + .mx_SpaceTreeLevel { + display: flex; + flex-direction: column; + max-width: 250px; + flex-grow: 1; + } + .mx_SpaceItem { display: inline-flex; flex-flow: wrap; @@ -202,10 +209,10 @@ $activeBorderColor: $primary-content; &.mx_SpaceButton_people, &.mx_SpaceButton_orphans { .mx_SpaceButton_icon { - background-color: $panel-actions; + background-color: #ffffff; &::before { - background-color: $secondary-content; + background-color: #3f3d3d; } } } @@ -227,6 +234,8 @@ $activeBorderColor: $primary-content; } &.mx_SpaceButton_new .mx_SpaceButton_icon { + background-color: $panel-actions; + &::before { background-color: $primary-content; mask-image: url('$(res)/img/element-icons/plus.svg'); @@ -252,7 +261,7 @@ $activeBorderColor: $primary-content; position: relative; &::before { - top: 3px; + top: 2px; left: 2px; content: ''; width: 16px; @@ -267,35 +276,6 @@ $activeBorderColor: $primary-content; } } - .mx_SpaceTreeLevel { - display: flex; - flex-direction: column; - max-width: 250px; - flex-grow: 1; - - .mx_BaseAvatar:not(.mx_UserMenu_userAvatar_BaseAvatar) .mx_BaseAvatar_initial { - color: $secondary-content; - width: 32px; - height: 32px; - border-radius: 8px; - background-color: $panel-actions; - font-size: $font-15px !important; // override inline style - font-weight: $font-semi-bold; - line-height: $font-18px; - - & + .mx_BaseAvatar_image { - visibility: hidden; - } - } - - .mx_SpaceTreeLevel { - .mx_BaseAvatar_initial { - width: 24px; - height: 24px; - } - } - } - .mx_SpaceButton_avatarWrapper { position: relative; } @@ -358,8 +338,13 @@ $activeBorderColor: $primary-content; line-height: $font-18px; } - .mx_SpacePanel_iconInvite::before { - mask-image: url('$(res)/img/element-icons/room/invite.svg'); + .mx_IconizedContextMenu_optionList .mx_AccessibleButton.mx_SpacePanel_contextMenu_inviteButton { + color: $accent; + + .mx_SpacePanel_iconInvite::before { + background-color: $accent; + mask-image: url('$(res)/img/element-icons/room/invite.svg'); + } } .mx_SpacePanel_iconSettings::before { @@ -375,11 +360,15 @@ $activeBorderColor: $primary-content; } .mx_SpacePanel_iconPlus::before { - mask-image: url('$(res)/img/element-icons/plus.svg'); + mask-image: url('$(res)/img/element-icons/roomlist/plus-circle.svg'); + } + + .mx_SpacePanel_iconHash::before { + mask-image: url('$(res)/img/element-icons/roomlist/hash-circle.svg'); } .mx_SpacePanel_iconExplore::before { - mask-image: url('$(res)/img/element-icons/roomlist/search.svg'); + mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); } .mx_SpacePanel_noIcon { @@ -389,14 +378,6 @@ $activeBorderColor: $primary-content; padding-left: 5px !important; // override default iconized label style to align with header } } - - .mx_SpacePanel_contextMenu_separatorLabel { - color: $tertiary-content; - font-size: $font-10px; - line-height: $font-12px; - font-weight: $font-semi-bold; - //margin-left: 8px; - } } .mx_SpacePanel_sharePublicSpace { diff --git a/res/css/structures/_ToastContainer.scss b/res/css/structures/_ToastContainer.scss index e4fe3c1e6642..d2b3babc3abe 100644 --- a/res/css/structures/_ToastContainer.scss +++ b/res/css/structures/_ToastContainer.scss @@ -85,11 +85,6 @@ limitations under the License. background-color: $primary-content; } - &.mx_Toast_icon_labs::after { - mask-image: url('$(res)/img/element-icons/flask.svg'); - background-color: $secondary-content; - } - .mx_Toast_title, .mx_Toast_body { grid-column: 2; } diff --git a/res/css/structures/_UserMenu.scss b/res/css/structures/_UserMenu.scss index b522593e1039..c10e7f60df26 100644 --- a/res/css/structures/_UserMenu.scss +++ b/res/css/structures/_UserMenu.scss @@ -15,51 +15,141 @@ limitations under the License. */ .mx_UserMenu { - padding: 0 2px 8px; - border-bottom: 1px solid $quinary-content; - margin-left: 18px; - margin-bottom: 4px; - box-sizing: border-box; - display: flex; - align-items: center; - width: max-content; - - .mx_UserMenu_userAvatar { - position: relative; - } + // to make the menu button sort of aligned with the explore button below + padding-right: 6px; - .mx_UserMenu_name { - font-weight: $font-semi-bold; - font-size: $font-15px; - line-height: $font-24px; - margin-left: 10px; - } + &.mx_UserMenu_prototype { + // The margin & padding combination between here and the ::after is to + // align the border line with the tag panel. + margin-bottom: 6px; + + padding-right: 0; // make the right edge line up with the explore button + + .mx_UserMenu_headerButtons { + // considering we've eliminated right padding on the menu itself, we need to + // push the chevron in slightly (roughly lining up with the center of the + // plus buttons) + margin-right: 2px; + } - &.mx_UserMenu_cutout .mx_BaseAvatar { - mask-image: url('$(res)/img/element-icons/roomlist/dnd-avatar-mask.svg'); - mask-position: center; - mask-size: contain; - mask-repeat: no-repeat; + // we cheat opacity on the theme colour with an after selector here + &::after { + content: ''; + border-bottom: 1px solid $primary-content; + opacity: 0.2; + display: block; + padding-top: 8px; + } } - .mx_UserMenu_dndBadge { - position: absolute; - bottom: -2px; - right: -7px; + .mx_UserMenu_headerButtons { width: 16px; height: 16px; - border-radius: 50%; + position: relative; + display: block; &::before { content: ''; width: 16px; height: 16px; position: absolute; + top: 0; + left: 0; mask-position: center; mask-size: contain; mask-repeat: no-repeat; - background-color: $alert; - mask-image: url('$(res)/img/element-icons/roomlist/dnd.svg'); + background: $tertiary-content; + mask-image: url('$(res)/img/feather-customised/chevron-down.svg'); + } + } + + .mx_UserMenu_row { + // Create a row-based flexbox to ensure items stay aligned correctly. + display: flex; + align-items: center; + + .mx_UserMenu_userAvatarContainer { + position: relative; // to make default avatars work + margin-right: 8px; + height: 32px; // to remove the unknown 4px gap the browser puts below it + padding: 3px 0; // to align with and without using doubleName + + .mx_UserMenu_userAvatar { + border-radius: 32px; // should match avatar size + object-fit: cover; + } + } + + .mx_UserMenu_doubleName { + flex: 1; + min-width: 0; // make flexbox aware that it can crush this to a tiny width + + .mx_UserMenu_userName, + .mx_UserMenu_subUserName { + display: block; + } + + .mx_UserMenu_subUserName { + color: $muted-fg-color; + font-size: $font-13px; + line-height: $font-18px; + flex: 1; + + // Ellipsize any text overflow + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + } + + .mx_UserMenu_userName { + font-weight: 600; + font-size: $font-15px; + line-height: $font-20px; + flex: 1; + + // Ellipsize any text overflow + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + + .mx_UserMenu_headerButtons { + // No special styles: the rest of the layout happens to make it work. + } + + .mx_UserMenu_dnd { + width: 24px; + height: 24px; + margin-right: 8px; + position: relative; + + &::before { + content: ''; + position: absolute; + width: 24px; + height: 24px; + mask-position: center; + mask-size: contain; + mask-repeat: no-repeat; + background: $muted-fg-color; + } + + &.mx_UserMenu_dnd_noisy::before { + mask-image: url('$(res)/img/element-icons/notifications.svg'); + } + + &.mx_UserMenu_dnd_muted::before { + mask-image: url('$(res)/img/element-icons/roomlist/notifications-off.svg'); + } + } + } + + &.mx_UserMenu_minimized { + padding-right: 0px; + + .mx_UserMenu_userAvatarContainer { + margin-right: 0px; } } } @@ -67,6 +157,44 @@ limitations under the License. .mx_UserMenu_contextMenu { width: 258px; + // These override the styles already present on the user menu rather than try to + // define a new menu. They are specifically for the stacked menu when a community + // is being represented as a prototype. + &.mx_UserMenu_contextMenu_prototype { + padding-bottom: 16px; + + .mx_UserMenu_contextMenu_header { + padding-bottom: 0; + padding-top: 16px; + + &:nth-child(n + 2) { + padding-top: 8px; + } + } + + hr { + width: 85%; + opacity: 0.2; + border: none; + border-bottom: 1px solid $primary-content; + } + + &.mx_IconizedContextMenu { + > .mx_IconizedContextMenu_optionList { + margin-top: 4px; + + &::before { + border: none; + } + + > .mx_AccessibleButton { + padding-top: 2px; + padding-bottom: 2px; + } + } + } + } + &.mx_IconizedContextMenu .mx_IconizedContextMenu_optionList_red { .mx_AccessibleButton { padding-top: 16px; @@ -171,15 +299,6 @@ limitations under the License. .mx_UserMenu_iconHome::before { mask-image: url('$(res)/img/element-icons/roomlist/home.svg'); } - - .mx_UserMenu_iconDnd::before { - mask-image: url('$(res)/img/element-icons/roomlist/dnd.svg'); - } - - .mx_UserMenu_iconDndOff::before { - mask-image: url('$(res)/img/element-icons/roomlist/dnd-cross.svg'); - } - .mx_UserMenu_iconHosting::before { mask-image: url('$(res)/img/element-icons/brands/element.svg'); } @@ -196,37 +315,23 @@ limitations under the License. mask-image: url('$(res)/img/element-icons/settings.svg'); } + .mx_UserMenu_iconArchive::before { + mask-image: url('$(res)/img/element-icons/roomlist/archived.svg'); + } + .mx_UserMenu_iconMessage::before { - mask-image: url('$(res)/img/element-icons/feedback.svg'); + mask-image: url('$(res)/img/element-icons/roomlist/feedback.svg'); } .mx_UserMenu_iconSignOut::before { mask-image: url('$(res)/img/element-icons/leave.svg'); } -} - -.mx_UserMenu_CustomStatusSection { - margin: 0 12px 8px; - - .mx_UserMenu_CustomStatusSection_input { - position: relative; - display: flex; - - > input { - border: 1px solid $accent; - border-radius: 8px; - width: 100%; - } - } - > p { - font-size: $font-12px; - line-height: $font-15px; - color: $secondary-content; - margin: 4px 0; + .mx_UserMenu_iconMembers::before { + mask-image: url('$(res)/img/element-icons/room/members.svg'); } - .mx_AccessibleButton_kind_primary_outline { - display: block; + .mx_UserMenu_iconInvite::before { + mask-image: url('$(res)/img/element-icons/room/invite.svg'); } } diff --git a/res/css/views/avatars/_MemberStatusMessageAvatar.scss b/res/css/views/avatars/_MemberStatusMessageAvatar.scss new file mode 100644 index 000000000000..7f2f53668f74 --- /dev/null +++ b/res/css/views/avatars/_MemberStatusMessageAvatar.scss @@ -0,0 +1,29 @@ +/* +Copyright 2018 New Vector Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +.mx_MessageComposer_avatar .mx_BaseAvatar { + padding: 2px; + border: 1px solid transparent; + border-radius: 100%; +} + +.mx_MessageComposer_avatar .mx_BaseAvatar_initial { + left: 2px; +} + +.mx_MemberStatusMessageAvatar_hasStatus .mx_BaseAvatar { + border-color: $accent; +} diff --git a/res/css/views/context_menus/_IconizedContextMenu.scss b/res/css/views/context_menus/_IconizedContextMenu.scss index 56e98fa50ec1..ef7a547650b9 100644 --- a/res/css/views/context_menus/_IconizedContextMenu.scss +++ b/res/css/views/context_menus/_IconizedContextMenu.scss @@ -59,11 +59,6 @@ limitations under the License. border-radius: 0 0 8px 8px; // radius matches .mx_ContextualMenu } - // round all corners of the only button for the hover effect to be bounded - &:first-child:last-child .mx_AccessibleButton:first-child:last-child { - border-radius: 8px; // radius matches .mx_ContextualMenu - } - .mx_AccessibleButton { // pad the inside of the button so that the hover background is padded too padding-top: 12px; diff --git a/res/css/views/context_menus/_StatusMessageContextMenu.scss b/res/css/views/context_menus/_StatusMessageContextMenu.scss new file mode 100644 index 000000000000..d313936c0911 --- /dev/null +++ b/res/css/views/context_menus/_StatusMessageContextMenu.scss @@ -0,0 +1,65 @@ +/* +Copyright 2018 New Vector Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +.mx_StatusMessageContextMenu { + padding: 10px; +} + +.mx_StatusMessageContextMenu_form { + display: flex; + flex-direction: column; +} + +input.mx_StatusMessageContextMenu_message { + border-radius: 4px; + border: 1px solid $input-border-color; + padding: 6.5px 11px; + background-color: $background; + font-weight: normal; + margin: 0 0 10px; +} + +.mx_StatusMessageContextMenu_message::placeholder { + color: $tertiary-content; +} + +.mx_StatusMessageContextMenu_actionContainer { + display: flex; +} + +.mx_StatusMessageContextMenu_submit, +.mx_StatusMessageContextMenu_clear { + @mixin mx_DialogButton; + align-self: start; + font-size: $font-12px; + padding: 6px 1em; + border: 1px solid transparent; + margin-right: 10px; +} + +.mx_StatusMessageContextMenu_submit[disabled] { + opacity: 0.49; +} + +.mx_StatusMessageContextMenu_clear { + color: $alert; + background-color: transparent; + border: 1px solid $alert; +} + +.mx_StatusMessageContextMenu_actionContainer .mx_Spinner { + justify-content: flex-start; +} diff --git a/res/css/views/dialogs/_FeedbackDialog.scss b/res/css/views/dialogs/_FeedbackDialog.scss index 9e4cf5e8aaea..8674f2bab64c 100644 --- a/res/css/views/dialogs/_FeedbackDialog.scss +++ b/res/css/views/dialogs/_FeedbackDialog.scss @@ -30,32 +30,10 @@ limitations under the License. .mx_FeedbackDialog_section { position: relative; - padding: 12px 52px 12px 68px; - border-radius: 8px; - border: 1px solid $quinary-content; - - & + .mx_FeedbackDialog_section { - margin-top: 16px; - } - - > h3 { - margin-top: 0; - margin-bottom: 8px; - font-weight: $font-semi-bold; - font-size: $font-18px; - line-height: $font-22px; - } + padding-left: 52px; > p { - color: $secondary-content; - font-size: $font-15px; - line-height: $font-24px; - margin: 8px 0 0; - } - - .mx_FeedbackDialog_section_microcopy { - font-size: $font-12px; - line-height: $font-15px; + color: $tertiary-content; } .mx_AccessibleButton_kind_link { @@ -73,13 +51,13 @@ limitations under the License. position: absolute; width: 40px; height: 40px; - left: 16px; - top: 12px; + left: 0; + top: 0; } &::before { background-color: $icon-button-color; - border-radius: 8px; + border-radius: 20px; } &::after { diff --git a/res/css/views/rooms/_MessageComposer.scss b/res/css/views/rooms/_MessageComposer.scss index 2a49840f17ea..f7ac714d660e 100644 --- a/res/css/views/rooms/_MessageComposer.scss +++ b/res/css/views/rooms/_MessageComposer.scss @@ -20,7 +20,7 @@ limitations under the License. margin: auto; border-top: 1px solid $primary-hairline-color; position: relative; - padding-left: 42px; + padding-left: 82px; padding-right: 6px; } @@ -74,7 +74,7 @@ limitations under the License. .mx_MessageComposer_e2eIcon.mx_E2EIcon { position: absolute; - left: 20px; + left: 60px; margin-right: 0; // Counteract the E2EIcon class margin-left: 3px; // Counteract the E2EIcon class width: 12px; diff --git a/res/css/views/rooms/_RoomBreadcrumbs.scss b/res/css/views/rooms/_RoomBreadcrumbs.scss index c4b8efb5abe8..152b0a45cdb6 100644 --- a/res/css/views/rooms/_RoomBreadcrumbs.scss +++ b/res/css/views/rooms/_RoomBreadcrumbs.scss @@ -21,7 +21,6 @@ limitations under the License. display: flex; flex-direction: row; align-items: flex-start; - margin-bottom: 12px; .mx_RoomBreadcrumbs_crumb { margin-right: 8px; diff --git a/res/css/views/rooms/_RoomList.scss b/res/css/views/rooms/_RoomList.scss index e92951902bc3..c9f60887daab 100644 --- a/res/css/views/rooms/_RoomList.scss +++ b/res/css/views/rooms/_RoomList.scss @@ -21,24 +21,18 @@ limitations under the License. .mx_RoomList_iconPlus::before { mask-image: url('$(res)/img/element-icons/roomlist/plus-circle.svg'); } -.mx_RoomList_iconCreateNewRoom::before { - mask-image: url('$(res)/img/element-icons/roomlist/hash-plus.svg'); -} -.mx_RoomList_iconAddExistingRoom::before { - mask-image: url('$(res)/img/element-icons/roomlist/hash.svg'); +.mx_RoomList_iconHash::before { + mask-image: url('$(res)/img/element-icons/roomlist/hash-circle.svg'); } .mx_RoomList_iconExplore::before { - mask-image: url('$(res)/img/element-icons/roomlist/hash-search.svg'); + mask-image: url('$(res)/img/element-icons/roomlist/explore.svg'); +} +.mx_RoomList_iconBrowse::before { + mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); } .mx_RoomList_iconDialpad::before { mask-image: url('$(res)/img/element-icons/roomlist/dialpad.svg'); } -.mx_RoomList_iconStartChat { - mask-image: url('$(res)/img/element-icons/roomlist/member-plus.svg'); -} -.mx_RoomList_iconInvite { - mask-image: url('$(res)/img/element-icons/room/share.svg'); -} .mx_RoomList_explorePrompt { margin: 4px 12px 4px; @@ -83,5 +77,13 @@ limitations under the License. &.mx_RoomList_explorePrompt_explore::before { mask-image: url('$(res)/img/element-icons/roomlist/explore.svg'); } + + &.mx_RoomList_explorePrompt_spaceInvite::before { + mask-image: url('$(res)/img/element-icons/room/invite.svg'); + } + + &.mx_RoomList_explorePrompt_spaceExplore::before { + mask-image: url('$(res)/img/element-icons/roomlist/browse.svg'); + } } } diff --git a/res/css/views/rooms/_RoomListHeader.scss b/res/css/views/rooms/_RoomListHeader.scss deleted file mode 100644 index bdc0ffd75e13..000000000000 --- a/res/css/views/rooms/_RoomListHeader.scss +++ /dev/null @@ -1,111 +0,0 @@ -/* -Copyright 2021 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -.mx_RoomListHeader { - display: flex; - align-items: center; - - .mx_RoomListHeader_contextLessTitle, - .mx_RoomListHeader_contextMenuButton { - font-size: $font-15px; - line-height: $font-24px; - font-weight: $font-semi-bold; - padding: 1px 24px 1px 4px; - position: relative; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - margin-left: 8px; - margin-right: auto; - user-select: none; - } - - .mx_RoomListHeader_contextMenuButton { - border-radius: 6px; - - &:hover { - background-color: $quinary-content; - } - - &::before { - content: ''; - width: 20px; - height: 20px; - top: 3px; - right: 0; - position: absolute; - mask-position: center; - mask-size: contain; - mask-repeat: no-repeat; - background-color: $tertiary-content; - mask-image: url('$(res)/img/feather-customised/chevron-down.svg'); - } - - &[aria-expanded=true] { - background-color: $quinary-content; - - &::before { - transform: rotate(180deg); - } - } - } - - .mx_RoomListHeader_plusButton { - width: 32px; - height: 32px; - border-radius: 8px; - position: relative; - padding: 8px; - margin-left: 8px; - margin-right: 12px; - background-color: $panel-actions; - box-sizing: border-box; - flex-shrink: 0; - - &::before { - content: ''; - width: 16px; - height: 16px; - position: absolute; - mask-position: center; - mask-size: contain; - mask-repeat: no-repeat; - background-color: $secondary-content; - mask-image: url('$(res)/img/element-icons/roomlist/plus.svg'); - } - - &:hover { - background-color: $tertiary-content; - - &::before { - background-color: $background; - } - } - } -} - -.mx_RoomListHeader_iconInvite::before { - mask-image: url('$(res)/img/element-icons/room/invite.svg'); -} -.mx_RoomListHeader_iconStartChat::before { - mask-image: url('$(res)/img/element-icons/roomlist/member-plus.svg'); -} -.mx_RoomListHeader_iconCreateRoom::before { - mask-image: url('$(res)/img/element-icons/roomlist/hash-plus.svg'); -} -.mx_RoomListHeader_iconExplore::before { - mask-image: url('$(res)/img/element-icons/roomlist/hash-search.svg'); -} diff --git a/res/img/element-icons/flask.svg b/res/img/element-icons/flask.svg deleted file mode 100644 index 1b6d1204ea63..000000000000 --- a/res/img/element-icons/flask.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/img/element-icons/roomlist/dnd-avatar-mask.svg b/res/img/element-icons/roomlist/dnd-avatar-mask.svg deleted file mode 100644 index 438d65e5023b..000000000000 --- a/res/img/element-icons/roomlist/dnd-avatar-mask.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/img/element-icons/roomlist/dnd-cross.svg b/res/img/element-icons/roomlist/dnd-cross.svg deleted file mode 100644 index 2091d5980212..000000000000 --- a/res/img/element-icons/roomlist/dnd-cross.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/img/element-icons/roomlist/dnd.svg b/res/img/element-icons/roomlist/dnd.svg deleted file mode 100644 index 8c4a86e51962..000000000000 --- a/res/img/element-icons/roomlist/dnd.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/img/element-icons/roomlist/feedback.svg b/res/img/element-icons/roomlist/feedback.svg new file mode 100644 index 000000000000..c15edd709a1a --- /dev/null +++ b/res/img/element-icons/roomlist/feedback.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/res/img/element-icons/roomlist/hash-plus.svg b/res/img/element-icons/roomlist/hash-plus.svg deleted file mode 100644 index 807c42cd8099..000000000000 --- a/res/img/element-icons/roomlist/hash-plus.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/res/img/element-icons/roomlist/hash-search.svg b/res/img/element-icons/roomlist/hash-search.svg deleted file mode 100644 index 1ea595023295..000000000000 --- a/res/img/element-icons/roomlist/hash-search.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/res/img/element-icons/roomlist/hash.svg b/res/img/element-icons/roomlist/hash.svg deleted file mode 100644 index 6388116ab0e9..000000000000 --- a/res/img/element-icons/roomlist/hash.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/img/element-icons/roomlist/member-plus.svg b/res/img/element-icons/roomlist/member-plus.svg deleted file mode 100644 index 71269b54ca19..000000000000 --- a/res/img/element-icons/roomlist/member-plus.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/res/img/element-icons/roomlist/search-clear.svg b/res/img/element-icons/roomlist/search-clear.svg new file mode 100644 index 000000000000..29fc0976006a --- /dev/null +++ b/res/img/element-icons/roomlist/search-clear.svg @@ -0,0 +1,3 @@ + + + diff --git a/res/img/ia-design-changes.png b/res/img/ia-design-changes.png deleted file mode 100644 index d13caff41217815a408c32aa14af466a9f1d7e54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99424 zcmY&<2RK|^*Y-pth)(ntL`1LAONbJ^hp5pz(d!_37tx7cLv%(T-6Y!RgTVyRyV2`E zp6C7k@BPkoDW~jx_FjG6Yn>={Re9WJl+OSF0ItG&8BG8H{Q>|$Gsb+1y23KiriJ>0 z_4)lrHvoW?>EY**g67LZ)Wt_`n)1?ss!{4K)Csz^l!_DpP@8~#WBLT}DCAT@MoQcJ z(e5qQcMExsjhNhp`m^nApiWaOlShR?&{uSQz~iSJp!>-F7rQ>QFJ4*!uHy)Epj7bQ zZH(1>h@6AKFdw;Ty7gDUZ?mTjFTN7wkQnirt&~}$u$ZE8( zT)PF*r(~QDcs5lfbqa0B#7b*cezN|+6<|0PGV$K85Pz(K^V>mgfR?i{9 zJ5aiPU#VELDdvE=S3C9zNqTy^9v9^`_R*DAa3040JPiQ6)gtg+fDNr3GmD6boOutm zc-BCSYxQo@z3;LA&%D^uo7WDkDOW{9g;3VRT9~mIZKtlkq1yjW1qiyd@+#K!=@`l4 za&jW4p#f6#iT~Ga{b*e2`fG)Jb?=N8^Jok@vGf1BX=AI3{G0XsLTDpL9YDt%>Gxmv z8hG0#w@!w1RKdRqjEvPoUhF^m-@9Ym4xc!j&CH|&5^4QU#}*dR|Mwn14^x{hWiW%f zyh7|kLiN9H1cgZ}ACgVmrI?*A_=WtRA@6ZYCb#%jTMYL{{?B!rlX?(@zO@=9EdT%L zl4eYO|1yA?)0^eLmINTBp0+zJ-tBJ6`TtL%{=rT>t@W2M`M=|fD4GB3nXcd`XmtN| zj!ll~|6ix7-z^=)!8BBaZL+Z=Pw{nm6pGGU{W=Bf`V+0p8DdGiSH_Ic35yto82m}>_p zX*z~vU9JGZuD+sHxmN+x@y^s$balQ)9ggs`Jb`Ji+hzwyQD+uh$LQ9-?7%L|rya!8 z96-=K8s?b0BNo2s6ffVoZzXx;ebXS}m}|5#aW>bE2Xe{CHCh#fA7%H}occp!DmY9e zC+9{tH-3k=NS5KlkN#Xjkkuw$V)x#6M>m3JH*Etbas1J?g5SG~-J0|8=G9AljGX%)*TW!x zkE5GhFbx0@l*EcI0eD+fbDKBW)P`fAGaz3mnd&b|;J+t$^_VR-|KM6`ht-)@e)c$y z=nNxaDPWdP7Az2QmIWE9RxDoOAfAfw)!hrdeMDx}K1q|{0}Zoe=*of&xw2j{Mhy%=Bw*(W;{-x3fnye25CGwyJ<(^JhJ0 zk0CR1V+peL;%-?xl<5amppl)TvA~74`2JnkOjD)g13ipT^nf7gO0sMITsn7bNS4Lb zK*<4s2HwLzj{yx&*72V#26^4Sz>L|82-?ArChyhU6NFGqb96ROaOH`)SDR+xMt=ka6^G+7Sz8~Qmd3Tg88^gzOW}?<$7eU`UAT*mb21OQ0 zlwf#F2Z-Ir(O~D?55Tb}b=f5D*Kf^o>;V89mp|PY02{88IfF$TEx3xg%6*kY)&XbX z#DdeAHE8cDf0>sPc-s~~X>}1H?u0m+y?RsIND;b&5mOmEG%EnD{0Nx=gC&O(*g9}^ zAg8Muh-w(F2s3Es$2pZYOh@gsGC|mZuDpHj!`M+eWWN;w1g2XKLqXT1sD%aA$5;L% zE~f$~Q183nSBtx_BBPu@7!ns{h@L!1%agDjd4g5mJOA(|=olW7@z)K{C#s6O)xia4 zKCx3e3(%RN`C;6M#{ww8KUCNlS&xfo`P^|me|#&1ceT6>U%#R!IC;mod2<2E+G`%I z*n`A4b_#nUg$&PwD#3TF5V={pGArTSx69Z0B<`aRssuq<8WYJ^4{RIZH3dBabV)x# znXJ6Eaa^G^7up&1>7ficL-NAW(-5{Y=SjWBwNDdp_qg$y5^PKUodXcBDR-dzERJh^ zdnLHKeGcTfU|L`SG6UH94!O}VV{OFqdKG_2WR1R<85E@UvF>uY=191|1kkxc3 zrD`D1d0zD0m2LZ$rD1rsV{BDG@ZfyF`>oTS z*hRT?WZ^;m?O_AOVbva(E*<2yP1#oYQ`i_$I|tq|cZ-8Lz&;2@a!c;_&fs2~GYoso z^!7~wiPv++I@<=U+wdLF6L$D=0>$p7EJu!3E}LMzNVO%GKbKxOn_h4tO z9(}FJK;pjHpnrKToQ$_d1G=Mxa zeW0Tf2*Veq0@Jx%fw&zrB~^jfBaWOscjQe*qPJohYrx!6HwTcXgNNgJq3?#eG#sA- zUT-04ta}f#{`E#qH&@^gMW?35unmL}*@G$}o2ec_J3CZhNR%tC1W3C-0wCj^rdndX zX|fV+W~O)Mz-`-C17$eB<+iuvnw?(4V=uUy17up`VbdT-F{zD_0p)n6NVzK8u`_O9 zI$Vd71CC#}1#-0Sg>fEewS@J|)W&st-owGrnMQ2Us;%87ajh$t%nj@ZE zI3o-mDrl!q$aj7@SO%WGnCz^e!+i$B$Jdc? z2sBNgkA1XVQA#(Ye0@%MrWbNG9r%^sb-yRo?Y0baGN)oBkJq$XSDnHwcaK&(cZ5zW z?ri6(TZk<5GVyr>P#`Bz=YwfQ$VRR-U4kRsgIt*oOmBKVC|Pf^)?S5qX7vVQ7Zn<1 zVxk;(*UcwNNz=Fuxu&eWEa0ZOZC_c=DETlin2r!!2L?Mptl-vgr_r9a`LU)J9Gf&# zQJO+gc+);;w5%%hHzBFhcBa8$Z=zVz82Jc1E85$p8K<}rn zKyIsO(EHs68h7e-F& zfos6E9`b{@_{u~Puz&*sc$zL3kQ{osOnD}+&bZ1~z3d(+b{Rna=D2Y9ycaa?_hvYO z6gdl&jI}y0bZCVJ7XG=E?4ZsGeCB}vpn`dORj%H5YSoa26=d~1DsG&4ScMzrgC!X0 zwOrU7NRH<%bAVF_j9nH}MVek?+Q(kvDAa#%fzG6<#PUNb2hrok1@Jm>b%lY~?s0x^ z*108{{b4XMLC`99oFiQ567t$hD8VGfqClYR;c-dBKk6g8QO-dE9uN(2Xd z&w$XLQSct@%=zA(x@4L|kb&h76N=^po(rHP?R@nzcRuyw=t9IsZi#~lCbV;h+zNS# zfuht?T9g6`_r5{?aGpd^IT}DSzvA1hln;03&VBOm~JH>c{P=*1j?6SfZRue9(i1^3-@5zh`v6%g1l@w0SAqc*$Y%r*p-I9hANBJbz%l z-1^L(GQK>=c4}vD3ph7m2C6(?rmPOAqM~T3;DUo*6iRGD;`Z8%!Q*sKs*ciOqh8`6 zqb-iP6+eAU;QN#58yIaLjp>>$>r#%g4RiyoC`^2&bL|nzxq-Tp52my2s`p`yyYPi@ zlcQJ8#p~nugn)9OgNVG#)n3cL+m!CE<@M*X>L zqC@${x_wyZL%`(RCV6^03B03f(FFirV1{m@0j!>6X;{A#v@#5jYY{K2l*4&h?@+8+ z?4SR(STk&Jjh95pvRs>|qLpBCXY18N_9&B-S@ufC_=t|wxBvbfRPpVoMXx-fS?Qj%6)UQY11srNti;( zuJS*Jxrb6DjC`V`fsUtpcfUg^5de_a@#(rsk6lZ{U-jimvf``Pv z%i&r23x`W0NBVYw>)8)5E2_tUF88j7AjftUIgg#mqGNfocNG8^=*X##z02-(Nx;RM z+?+-K7q1A4?7mEKyZqLG)f;UiHO|C&APz5T6kc|m!5%b0#fPR3X?MDSDe;pXzAR83 zm}Gzw_h|Y$;}^;1W)wXuRxirDqYfEj5H9j^#a6&HU6#+maqD^n%icsLn#)}m7(RxY zfRg|PNKN)w1~pqT8!5z`LaPXj;a!_!9ib)5UqH!hK<`E!B?jc{dAs2_{v={}#TtAmXkLaTG|j zwO<>qQ6Pp(z=)L61YJccN{avB9RAN^ETbV|U2@$qM$M$-m{g5Ka{MP8V<=q1^ubc( znNB$ra#44usX=j$Jbd;t(AT!9s44qn{~eDho3C!*-V4$T$JgZ)mve?#w`B(B41rKO zT+j>>V!Hj*Z(W+f{JF`G*KWc<^NE@+{@=$9@`@$I8mx zqgDso#y-AF;%P=ZaQp*tz}v!q=6RMSRqz3Q^1SW%pryxiWKL0>OyNym4IB z4Ae`5$kNmy7t(ekVZ0}|RQ8X694sQ`5r2U*Sl7^pEske z{zsN;R*uv8hMKJejGjhwp*Lx&eg2u|Hllreht}iv&!W57HCWVeCv`3uRF#7#W-nY1 zTIO-KQHJ6HFbkT*%uL}IKODZ@t_LfoJGXIE=f<=BZPE@ur~T*M=`^gQd&*7k90e*J zUFY9Ca+>cHpdXhXLl*+Pn173kbH2-cJtAlrOjFscZ>$8dLB(_RY^WIj=iLs=Sr#+Q zKOD7VWkvjje@qXygS7>~NA$5|fKQJf{KzxVm|>V>DvyKE7sn5%{617_nhVzZ`rm!0 zvq&x1S>=djl^TC_G;Cyl2`l@wQ4f0r7-v!d06u*RXK2PDfh(5`5xA~Vx~!dICj}N6 zqI9!ID~p3mOQ+qgewRBQMTB9FH=@jPN8aDfjzYcFx~|K^Tr!@Nh}-)Kk`4W_cS26^ z?HQU3Qo)3V>zYde0GtPwkYsU}9=N5Prywi8+4HG8JpF1+8pQpcr&+r!%CFfAwLt#F zc|^7y$9A5f0X2K#drgK6B2V1lANm<`j5;UOldR}42YKhA6gZR#&?+PL0MkBsn7Hp1 zXe+%w(aH!V2?=?QQY~u3j(fwiV?2}+4Kd}6*FOr~W1r%St0jmvroHz1t{Ek?Hi$); z@mjOQnuo)rE>h$wO{2gM7x$+`(uZn7Vl~EcgPh{jIu);BqDE`5kE^w*Y*0uIg8s zUE+HHV4UIA-B?%lqo7FQ4|(Fc{x-2l{ zoZQ@et)i^_>%ak8H1W|J*+?*_%&Yx8N~NLR=eT7ME_N|x(K@F~@Zc?iACSkOqV11* zz5LQAd%i|mLC6vQ`FWRRR=0~;1v`va1CY&)^ShvZvg+q+wmXBg(K<>iZYdMBtQ>=} zlT8N*S^Lye4KMl3i689ZXS;;um`8St$DCJd&Z=WaiDIV~Nh>6!cU3Pdseeth7I!2+ z7cf&(!|1<;jZ;+nQ&ld0<~-%nm);9f`eUw9t@mrli}d8``kEz0kr1_=G1i(fua!Qm z%TZ5N%^OGE9=voDL$qAB##m_h*&NiW%{NPGZ@wMHi^S4s0wVxJ{7@w#B?Jl*|4C@U zhA69IbGEhOOA zZ_*y_PO1(&RI$U5{c+(iEB9(>gty8?`tUK}H45c>+sE_n$&>&M?Cgb_I56v(@R(at zbI)@_#|(B0eDHPPapxvR)2&)&I(eysfI>_gZ$mR5i`DU}HW3;L7v?xLAEfl{BuU;l zkAo_8EQgUenJsziP+j5s4MU~jf&z4(u4EKvyd(wa?ppLVo82zT(|9&8v{m%m$xXh7 z?{XOdI<_q3=I^ls!#mC0>j_ zb)5k=Y%l0NAG8L;gfZQde|50h8eRqOZY8rO$Cq#u1-zKh=8;8z8_E;*Cd)deHcqzW)Qzz!OW(HYDs;+V(j&~GU@aV#{+u@$wfTfiVwVh3S7gc%g;}O{Gj>s zVDF0M}`@7LU>e<698{;55j z#E(m}`TSEROjG$;$n{g~lbwx(!GO>ouLFf%_OltsjdvF^|B#1_22Nk4GMiN}9($W=SL-nQ79F0{MvyI$s zxaC873me=u1ownpzsU_8HWLLwCT*+apa#i(Dr9NT+&hT!)Zu9_!0slb#$ zo$X&mHZV6o+sotr>PcBD&&TBMLVO3DrQ?94|fxUWv z+0vqul`S!cB}+Q&>s?gxNBgW`nI0(IxKBK74=)ivXcG;UU;H6iIXN(mr5+&l{4=Ps zVlTfpxx*#XePCd6k0yTnN3EzPjUcIK*N8NspM{i**hQqnE;c?Pg@w3!ER`vr_W;!qsDN}>|6JfF8a)0YU<^sS)-!9$pdooWo$`BeCO0fw>zZc zg`GZ$#zG?Wp*?sa5{3m1CGT?T8!liH8D;Oey7FroQleQXsVIv^muQLHhO{fSx6&lr zLc-N(O9k(`@1?Mxx%jWSDg^BA??2>cpXhr6dyBesIkgzD@=HiQ&s9{pR-Fh8CP8&Z zt+C;6X;CI07ZujXki&NKo!U2_Mnij{R_Pb92`{9^W+2kf&n1vs_~ZFNzamJE`swRY z)4Cf@RcB31Kg&@Sy-M|u)cVDl&ovFcr=ECenu^K8ZkNK`kCcoRx8i9Pqsf>w8_Y&T z3LKdGuhPbkiRH`0e1pHGFjN|VfD_z|K`I{$5oqJqB~VY-Pww#_W}6ETBJZs~kf4XGYofnJcfqnP z`SOQo*+E#=&=`e_sjM<9gT=GCE%m<`+-*osjiW+=U|!{ny$%Xmr)zu^*JxVhX_vH02$moRxW#g;_e7DNxHMri-uw zS*O;XR?Hj!8s|ho4-X{}LZ)8^@wH5MI%^Kn#)So0BV#=8f{ae}7rk3H;te*(Blat3 z9(S%_(N{(BK!gsAb;A2n*>tu%(umNgI*%`(i8F^bS2=tOI4?-U99JQ~)WOTG%w^P& zki#m_4AUjgSLBpWkyhAeww;Rd3?-jk99M|BZnYiSmOY^}_TxPDI5c~{z@=d=z!WM* z#9;nC+VW^HPJ{Quw^i-@UNJCY*FTcB`5a+OuUK`()xd6MF)TAdL!(p z8k5m|2$>t^Q=|D^h>deX5FPp-_LW9k03Y`u|Y-$`2MDdvGw;i z3`cX;Yl{_`P#CnDOy1rt@Mqz4dt9RF!XlH}pYGbiKoa`-;ulw-bb_QmU8BghL>MaX z0({CZ)Kt-CJ?ya~Nq%en%(X-}N9jasDZQl9AtvW2D%`3shQn7bj?5UPo5T;+HhA{< zuL|=IXLTO~NvTuARnt`)`eAKaNzZifeTVbd#cVUqh$U2*^oaK(UL}bft{9rHs zW~&$}fJ_l{X?=^w#2Mvww;AF!S>k3aE#C2Xs$3Zs@*Krgn>VUHeo}e1B*CsaZ2kg` zD!=#`H4Q!MiFW;$LVe*S>X?8?JQNg++Uwn61fhceay_WsTPoOC-PIJlC6Nv!=bXJt=UebIcDw*j=jhs?4jan?ar;2{#-F5D_K79<25?in^(yaZ%F0k zk8gvR%c|s_DVa@lrCF;_%qzY}B=Pfbl0NxKxG!j#D_&{CT<_h)=Xo zvdUw_1~2cSMg9sopXl4<_OPmdNg_VlqWj~PZ)nx3T6DCsH+RVLtbq*{&zzA=-$w0A zm7x0rg=;B9da@r*yEbVT$s4uj45>Z!jXX#px_&& zLy*($I4*AEwaKtjt^^B_qG@$%p&Dm!_fjB@tp+pa6LHTKCD-eM0DXt|(Yy+z=vva$ zf2Uo;^n|`utEUm1>1`S`IlbZd2nr?T*iS3SHx$C5;tuyc81Bq`C}2E<>7Pm-o?5M?2Al=m ztDm^K$rA7;K38dCW06Xm$a@KLd~B7eD#}_BX&28*DX>tC3_>{>5TgX@P&j^Dwp>$Ug<71!?-nh4nOy;=a< z$6gu|*~$~GBtu2#OUpp6iQmf_lq{tzx@8mPB=$DHyEGNCk2vTDHKZyB4PFuzn0$Yh z{2sek!##cXmwM|9nI1h^kl)E)A&*GMnAD#oe9#VUt9{Xi4Hk_~nU0|kT57svx9ftP zC3g;T(J?!t9q%K3%^P+yAZ7ZjL-hOJ?W84Hzb$@{1kpcuz#yyTp%gNU^URhDWrKN~ zHQc(0kcnM%pL0~x2=PNm^E~a52Cm*hPnudE6J9vU^N_*UP{GNe&tRVbm=-^ez^h&( zVRjHv%#gp&go|2ylYl4Qv`&N`ayv#LKVEk@E{az-r!C6K?=K7e%IQSDIfP}YHh3Uu zvEksCsmSLGO!3Rz0R0Ys7LNU`qEo8TJO@@K<^-Aob7r-%?m~#|!Fb`yOH$iBHdU%r zkBJFzECCH$gXJCocwb9aRJ!#3XVR;>n5eWf@+vEqtXPezc?I!|N6{Xfr8)gEHhG;1 zS68}Yhhsb~bTeVfxLl>U!tfuG-iH8*S|) z2nl$Wu>k5Qoau#GdOa|121)VUw8x#Q(tL<`)^6dp*Py7GEP=@m@{8g`$i$dow8~HO z>(41ZhQ95d9Df(RstfncL#%Sr;}iLc(SmDV5sTUV?pksWCN^#Ip~-Li#@o*e=&_xI z>0idb4Evh?KFZV0eRI>4Wnbkv_7r?tVJHprQB7OOGh$}j^L)lB#K&UG$3WLN2ofU- z*63RQwX*|_>P_Yup0`|TWVZfh_}OBuy6Z=x68thhlv9u8`Xd297j zM2KbVLou72wlwvdiXy%pz4UM=5U=0)=<9TkD%@?OF=_K zP%34CfQIZkJ~nkrhDA;sBf@6&o3V)7M=}qOGj*_-VvGoHGGW1=11CLMsCq`Zyh&bS ztt#a#|J!0$jmQuZ#WXF~Crf(l@(unZYi!hZ-^;lg=m*#bOo+IQ0e`!|8@AJ#e6|uU zVZo>k0`{KvWv{PddwF1aa()?Ys5Dw`0Ut;KFXJDb;{nG1iSv5X%+>Y;QMs5+h->i0 zJm!1}aYG>3`}1{&v`mafF=gStO#A+CT{xuBA|nBESQasHkxZ(xa_w(F* zTg$AciS(NSDT+hMo1AQ!E!iq;cQUNCI8BNZ6E!HQXiKEqrIoJRY!tlY!mnQq2`gHQ z+J3A{5|M>t;Dg_rxA2RDcL+LmcS)vTDaFmNn_MjEj9OiAX~g|Q>xx;6V=R3~j%nu` zjvWe=$w*{xll;!r?|wbn{^g0?t$rdX@IK00I_JQfSN3;wGGOa+BPY}AOF}pP1GKt_ zgPwWGs60>Mmc^mizy8IR7~jYfr1IBou16q2QaKcjfCJURNI>7?y{f&BVq)2RI?j@K_h9eaMSmXoj;Mx^`U}mUS0r0{*OD8LQ1NIOY^9l5&LbBlPs$OOk2BS# zfMa%-X9`S#X`fO=-0oIqMFH7X?rDS<8V@R@;0{LP8fYv`t|UdoAj8N!lL-?l*8d; zRQQZ4k&h^ALYn&oayPQoz9Z-Uln0~>JOb?Dqd-iC_hYdp={4x};s#D%YotvXE%jN> z=W7Y+ODz3fr$%b&TBpWieu1hkQm9%tt>+P9c*o&y zRxdmJnhe;C1Oy9An3W1H(kwOKusnh6NB8A}5ax)HrNk8-P9-i$PA$a&Sy3$CYMgy4K*2-RfFab`Y8-@EVFH?&L zev(X4lpQ3IT}pDjH0Za@xPKRB9M{eIo{t4Rw-Amv-OdV-zdcP~z@DampochRM#{W)|V?HfiCoDbr%B_`*jtFuH&_n zle>2fbxjci&zLBwi0e$Gp1;<%`FnvSA|W6blg3qCY9gdOM0%cNlM>A=A1aiVv`3Tu zdgAv2vcbQfcibi{x*v=6?<<>jy@KvqY8^ie8~(|62C1C+c55%z;%N#C-+iP|G$dTz z;Gs>xrsp!w$9*hAlTw(x8>MBnXh*+)B$T8Xn_N&tepCQnA~*sCK^~%;h1B72-K7Ucb$GL}bL0yA@xS zlx(E=Z|z{s>6iT#B>J_@Su z?3m+KnI0uc!KW~hZxo8ygxnc_CGjaJ3Czqm7W6RvP8Wi2-lS~jSrNa|rba1+jr@yw zepEYZ5A$qTlxywj8!bPv*gvQmZ{UMF&@dF1@y~DIWTcO!FB(*VjoHXPwrtlc(nk4O zneWHa04f!CtPTf5Oh29sMlM=1G!s@8ERAq81&UN9t=O(Qf)!TRd=!9k8IIIpja}Q? z{6lc+x2lHKk|>-k0E2x7}Y4*f8_087R-x*uc;9k zr$#rgRy|*r`YNPZ@EM3$3y>Vposfd@QZ2&&B3@yf73Sk2XE*Z(lKqHbC)-Fv8!q%riJMB z-QPNEs^CDi6_XDiREn_R0c`M4cu^#|01tHGprWEv@Y^KR(z_X_pvH0|shPJm^rF9F zdOeI#B4-FIk(~{sQ`AJY0Z$q)YL|F|ZP~c;247^WgSoH6HAAtOSG?)`1um_Sw0&A- zUX)?fRhwU#UisMUCV2|dM}J{bVaQLkjB!zlS$^P$Hs{z|UAai#CzQ`EbKvz^s+i+0 zYu}39yXPuw&J&aP$FfS|Wrx;QXsHDZ^Yv-PY01w0{vHxuA-oXsYe(%uv<3OKE*e#D zhthD=LCo~;+%APK30Mp85?b^V1N`|-y8KZ4M>)f&p`7W?Yq9fSQUvC+>qc3Qi-7`( z9b08oY4V|JOjt;mATCS(h%=VkhD!cxw}pMFPG7cOirXT|4|P_J7H+AqaYEM9)Ymj> z&yFg8&F#HPU@oE2k_}*{uhIGOLIxCFCdn%%rzX~s^%S43ShwARk48v9rh37Z)bV5I zmx(!ARvPjG*^Q3mr5ZJh zbZfvwhhm#QuYiwMNdSPiZG{_%$)+#sE15X>d`AnvWI#ilUX7OZYayZU0B`*sqf|bU z@UKQGC=6Exb4O$2nR(5~=c_9mR+#eHen3tR;+EZ`XhoY`RH~z2YWsltE3L1NZH%r0 z?i=H^1+SD$=IQVUwJ|k1;5U%t{CjA7P400DFO!mw zZ|{MzvYO-tdUmYk>%~cxTKDhe(uQInXF8gtz^_$?_1^^A|FXB*L+Ujn{qDwi1}*s9 zU+WfB#*krWtDey4qM7{UoJ#2<7;1Q(RM2SsGe6z|L%hkFEG5)?pgJ>h07KnmtU&Vz ztYSE(%Q~yrDdiu=r(?Sl%HQLxlcqIg4>{o`4ZQjV78pWTX^yDPMHT(g{>h47)wCRk zUc@HKg@Ue>LP6srG7Ih z&UL~HzeATY&K)my&R4wI+IzHl7S56$)WWYJT4qnwA_ISFe;6$NP^D9iDup8&dVpQ# z7cuy^OyV`SUs&Mx$Gw7MZw|cuKHZv#9R`)%FaJJ(nVcK@B2Hn1LQis6n{JoiNCOaT zoyd-hu@L;wa%xnMNcKr>LZI34HK-E4SyBz`|9IC=c0K`Lx{LpP zAO`Z=2PgUZ`C+k(ExGOa*+NE3Uv(m`Iu6F>-`HaYUCK0toOp3Jg%U#jgYCawl)}d0 z>9IGMHD17;!U{UT+v|Vi@Dn9|Nf+si-)LiQue|nb(a<~SnGvESp`Tf(Tm(772Hnn| z4R364m~-8JzC!M|PJ%5vh@XJ{#ZjhR&Q?A0Gh+)wc84iVc8ezo6CZ^cS8D;m-C#da ziXu}+pfe($c%qPt1-)bRE@0ch3lF#Bf=UrWtW7Gt_~(y?eyb}*Nw%$#b&fx^K&N~ShKDUtWuEx3^}j`o^(L2Q`|v=Vfbu;*|Twx{7Rs!KMDdQP&l^!a;k zbt#`pltU_~&uRZjYSRr54Z<(fEX1$){p(@j`O_QZa|7LyBxdKK8_k5Ul{xkZZ+3F`E@#Kn`zDomSk8wKg-bpJz zH!~_GWiTY{F*A(KMed~tJ2Vqjgl&Epk|wwKQq7=yZTZO6j9vbRa;D}M|A=7apON2a z3HG8f00PbRw2G?sZxUxmYN`QXG~|rvU4FwF zYYI}99y1n&Dl->t;Kx|IzA@styXiyUyBTr1x-3+ixVz;V`*ZY;UxHVr48s!nY?iDVAFrNoSftIMnwH)1y_J`yVdK)s-TkMuAKqGMP;;b!a{!jn=Vhjb zqn~bN^%VxG*7Ur&RHa9?8b>YfCwkS^pR!}Ef!?MRyw>_PK6|Lpdax|Nx!L`0YI0G2 zWWXwKw6qHXtS`;6M@R;)RiLk@HQK{|r3F7}qY?GgAF8vd*TRNcT!^&F7|M~MUoN$; z91lIT!6to3AB$zsQM04S0`3qa4bLjn#2V(hs-oPql&8onk52IcHj)o;I=ah^w$hLJKvlcVzU=5 zd-ARRgSxW`zK5p;OJeNgY#+JfLVFY{pLCsXwq;||G?Lb0oBUGPd-9V2SFy!ZzsZ5n zajqsl;HVX!bx@zluHegMm=&XmgOIkqduz@GmjycLCZwV6M-gE!7wfIB&rFEY1FKq( zpV5QvVs3t-i)LYDDgAOYlFxd92^9i#IhaSkIULBO^9R+~>b8Z7AX{4;EIK4j0wmKq z9AnBK0c0Nk0|V!lm7MJ$Ms7I|M0L|Ex$Yy?c9D&Oh@bQBkJg6FPvVSv-FZQ|A2^I< zc1ZEnTXB-NOm0;>jsRd>&o>fCV zv~Vx)udiMW*viU}^j{TlP;EsL9OcaUeI=?zuiVYfW4iSjTtiALD~}(IYlw*Wf0OGw z&#%SO?=*YT;l9Y55mBv3g8Fb%xAfw1>d<6-K(Jm{oaq$Y)lx%&CQJ4k;vq7 zmx`1>0`Dv-c`f*y|Md*;3iAp_eKuSFwQq&KX?5t_1Cs5fvi@{6?2&fo0-j%GEqVW* zAu`?zWsA(4mztcxVP|_4SjnieN(wMz&Ed1rzTd%8N0Rv(f!=;DvLj5&IYhD=m8>1k zbKhS7xn5m~;mUb_L7w%=8oNoSxu?Ct&*0_GMsJYy85%*jSC2 zARIJZmBjH^ZxLTK*VlLOO!S~tDL!J(cfX|$m&#E0^hedse53v218g7Yz9^G>eb?aX zDrol{eY((VkQOV{m)J zNX`<$+dI06K})tM*g!VHn*6i&Ove<>sC0sEt;5`BpgMP8yxE)x>jo` z9%{(f*TdGfi>-|(9R~}pneV%Sz!P)2+>;mWyLC!i-;_90_cqbck@yAKJJp@>cW1nW*{SG8&)kde<+ftSnpDipZ^lAD`m%&=N4|0+M}?$tF3M_9^%;B8LZN&a5a9*Z8} zuR!zd{SBF*veU*H?On0x%SijLy3y3%LUB z*xYa1?!Tw98!@4S$m2*VvWfT2{Sd*W_)z-`1KQ&AD3KvAVMic#z(C-Yu zHuC?yv-zglhY^?kqp?YH;V{dSEfTKIuj|-+=vH9vUcR|i6<>%EGM;4(d^KIIQP{q> zcknqprtVYUb;t+!nph(D8n_-9s&-%RSiM8I?VXMaNHEUljtWn0nL7)QXsL31&+lEC`^(y)O$<&3yzFmp zJCLYcoD{pjac*bMU667nfb0(~Lx6Q}`~DwKXW`J)8@7K8lG{Q^+h|e4Y*L zk&dc-g8QZRQGBnT)~hRM&>jO++Ox;l_+ksGL44_Jgf|)4Fdx%#A%ZLl9^WYmfz%#U~+kzZzqMZY19ime5~+3TRIl zfq@?7>(Nb^y0<9`{oo>jSX%_Muo2|G`u3A0`FprLXL?TJ`nvp>I<{(s?9Mf3J*_jC z%*IMZLb)`RyP&5sh&3)QZn8h|lR!jD*GEYun#FXg^MHaL1R1L>b_v!vazinFASv(A zzLX=mUzeY)Tk=J2==hAM&Q}i0d=~VklrK2N8qxJ*4oqpg{zpIXU_mWhA}D2oizoO= zdy^xj^!3=N-S**i?dVTbXXbD=VbgNu{U8VLEBbL^k1+6US@%oU-75p@`ahl6v9z2K ziAq@H4nXCorVX0}R^EjW!x7gM`_b7O|9XKFzQ89_h zbBM^AZ8MLOCBP?CMJi8^s4_hZ-Hz(`#jqICn{_9`*bGg0 zLcMxuw6NW5Zb6yX!mwP#gsq1L6a8Xwr0K)j$Kusikh$N-S+k)}@dxvJ1vsho-xp#x z`Mu4}L3cxOkmMT;UOB+1gh1W-fk$e{F=}>HurZ*AJav#y2g)VhogQg)sNP|)p8zwY zoE{=_KGb4JZKgInthDZy z6ldo%ptgInE;mLB{bv;XU2GBF4~Q`6M`);CQ>5pWxQ<1NLt52g$d@BCK1v~ykVg*B zXP*kMlRlWaZTk%eLHUKe7n2>WwSVEEBTQ&}zN{jjV@OEY)hCL-Rhwk|aNkG~Asf#* zhZ56aD^(8($V^ss#Ki_q9dd)u4LF_byM)=n^|apI;zzi5GG{WUF!8G_H8n5mU+?lX zOh7z1s;?7>;A(4P>p~JbMDWQZtzR73MD^>!9!eHzw%nFE1Ue!tiY@ntp(YYl5z&Ut zaZrf&wT^sSeL)+f$c3QTmB~#@g1r0CIwX-tN4VZ{=B*w`-4fl*IHr zxXk<3B)3LdLxnh)r#s!W%(W;af!x=A8|!1IN9i`jhwX*mG%3|!EMsjJ=&ea%qAMO= zK8;#Px{0`%fd?XlkvXFw7lMV?WcJ3(Bjy{kFEm@q6=6tLB>}{dhg;)xp0DgXL>vfyopSBR6NkKPp9W z;|s5YB}0tPMze!=vp38lta}0u;~}K5SuWmmZ<&$Ae zXPV*Yc4AXMuwswi^Wb#)5k?&Y);K03b5q;unOo4BB||}uW7I-R+qtV-+WC+h)b>3& z&-Fw5ml0#jT&{mTsZyPpLWiPg&QoZ4iA)fxKi~Nt)AJ1||Ef><@z` zmc}^ly~=D(RcXIgby^>t*}zP7kZuo^bn^Yc<`=>{}_C2F&#CSjV==2`D}Qi|VI zOhk;`df$?SFE$aKaqhV9lE}QBEKU+4NaUwDD-qalWFAQB;p!L18043bFe#`bBBu1i z`dIyBu01SL0(4v|Cy)P-n>lM^GbGfvl^u^9Ro%KWG6$ zWD^IC>k&76^|R!(nMOv?-fZE*583XoCQcDObn8(-WP8zbAayhJwgqu0xq}|^oY#et zrJ4sFCn2wGaK7^N9R<2IUyG%#oX?u83-;h)3M;8EDrm*sl(aaNYUlAR2M_|TR+6e~ z5t*H2vM4H78*Yfo-CUB92y7%)uhPTPva&v|GS=nyY`D+tPIgM1P1JY>de=*YWCn%p zir={&HH#wO`*iSpFHzF;9dbNWv*nMi1lgCc(=VqwgmF)#FGU3`2~TqoeK6=2$;H`9 z$-yFxJZOpd;(k0`jr~z0E!j)oe6b*^>G}WIlN9++_h5Jg;9dyFvkX7qF2&8q*rX0t zIN@6&wXR&$+)o_udCJ2!>+68!J1?1kH_MRtB zj^OLH0C68_l102REY|H^n?3_4Bn?3fD-1S8coK=38T1F_a|U$^iLimzUu~FF6j<2b zOQj~BH{UVyuIXq-Uvmtcd;EGQ!u3?Xf)~vu_*%qkLUB;gGZ(S+24-hQkZ^j8ubISQ zSVo<&uWy9jz>44H@{fz)er^j?Nm>m?rkFw{QRal`8Dl?cE4&NaO&+Tew!I4x8GUJi z>8BQE+Gw=*tUPqk*3LufBCqDW>+x`G_N}Xfg@oSA>1v>l=JUmM^$xZH$@m1D#ZBSr zw}h>md-q9f+V`DJ*{Pb?m(r~CEfmYzM=^gBrxZSuZ=sq{Tc%~=z01WVQkfVSM2%=;d1OpU0{Pq2q|ldNdtCoyqg0E9H5Wj!D1O7k0__R_FHe zH)>dN6(SAZ`J9+FF+@FVI7%-D$%`2yYRC`^r0`PtBHK}Mp46D$2tLESgyS~6YU$uX zk)RFA-ks_v>%QaEbOIXR{z zcZ;PnT2MbVo=*PQ+6<@S$=dV7>V!73vu?gumSq!7RF+aHzbd{G;c;;vRrltMk*L@A zD3lyWNEIk%;;RhdY7!UL9WCgA-x5x?Z%QuXljCfYETln~02v%2yjAJHJJWDF78^Yn z@bRa;C)=9>Dn-j?&fW^P-}xprQ9H;zrvz#8G+(XhJx)*gtVOwZy(^AE&TYp*D15PU z)7>lMZ*ngU31GAgu0WowO^p&i#5Q<5+;bf4qU$&453UX)*`52pyncr=DD>>KNz`ipI;6W7TbAo5 zTe}D*I)f2B*YKj^pjCYQ@MNP7NR!dYh{5>cpI1u0NwFcvyWzk=5_(W^ z%W6GeOWjZ|MgwCftF9sHIN9G+-Y;g4XysHrcDG~J>LSfINh>#NlgDzgXS!f@j&$Ub#}?KHtW=r3CgD=B)b?Z2ioH?Mn`dquAFke{T#mrZg*_w!K>d zsjcX7wVmuXCE7PF4lawKvXH|eHy2tvqE47*bQEvS@5Nn>N5MtkSKHR||N6u7QwMHA zljPS!7x|ypFFY*@OKvp|-F&=WNF#Eak7Aomj+a98lq7&z@=II_Myix`Vw@z8nTKzQ z|88NqfSbH;FtG!mq2c?!?K1y6F~`cI!IH~M*ZNxP=4hLA8c~$oX4YxOO%Y1`P5G~+ zW!2)l1g567b`w$}n-hg$g-S_q(rS4++7a9n;c1v)W8y}P`@BS_??qb2jmlw!b)+rx zg5NgaE=BLQK881HZ^Sqz9dG6-ejzWQfJ?~?qMuW6{;brro4n-jlCMJlc{?LF`Sc41 zbMct&xinilKQBbraj(Ioua1OYyeuHbsyF*%>Xo!04e_Fehv-OkZ}U;pa@hTDhgeT1 zTI|4RUt3d;WDNA##xw^V@sBn%Iud~n&!-DvTvKONc0-PRQjVwm{%A35m1M!!Ooy`| z%NdR+VVJ??`)ZCSNBF@BopV9!;yCU2Tq(_MC%&H)Ss#huQ`MG@e(<7JwwC{lNURgH z8!$YT-N%o7*Qc5WA%nLf2Lb}f?PEBdQszKQ) zm6C}wuJiJA>0gO1Nv2*~NC7P5L|G~4i{9wO^O9a>P_BRTp{g7rr%GJ2s1AMIDsbE% zDYr#4TNY5;WSbG5O!6Eqx3bPROQ&4X)X}#3tOZ?*<1!rWmRn;2CecVXl_wUSJa%b^ ztd&x%%=q}4#=+46P>AM(5QI!@C^Iz>nC{j^;l-8D`B+ z{ZTI}a4kWA!?wLcj%GR_D9o$t^G@z_h8$&nr8j^A(~e+VVN#3Cs2*?Df|HQHkC(Fo zmNc)$G#}N@Vwod+;*#CuB%gScZ4u3YM;r#9!HTWfn%#)GD+H|P(R1{Fqe=|b?}3hM z8O>Ah)AB2O!LKD~qqgbzCoTT(apSRFQh0^l0wiLz!jw)QX**id){`XsrXQe-F&-S|7ek+IT zz8gF?{Dzi)Ili38o0U1dKaOENYjJ}|x1^4H0@xy&n?ThJ7G)-R-(JS&Z~ZYWem%(* zA$1{C)|dG~YC}Gqa-~Sk`bU@VbBW0*wWo{0KA5-!L1HCjG>_XF&yAne(ieW&NP3QE%$ z7r#&4e?iNot0M7sam{kxrugOQ zX7YgQ3wmB{x&37sp|>520nrkP9BNoB`*Tj&Ev*vyj!R8^eSc3ecl-Uvz?K0V=2dQj z()UvyPRoC~gnZXtY9`_8=BTs%m}1&3vuyY}0&7YbF>23L#v#9+Uah_krzba=nwEPW zpOq7KbLi%~l=6CNc3EAVKReW7I2B&>_f>YZD)A4FS|g(hY*6X7u0VH_{#e+CP~v37 z>*JthKjeAE(SV=t$8hPtfqr8!6LNnj)r%MDCyQ){s_{KY&@3#9W8kP6HDGwJlnK7f zo*6NOUJGZuo(iW*ymPk6a>8-1On-UD}}xXiM4l>qU>?5^xw^xS?h@s%%(P1MsJCs?5y2Y8g`s9=k5; z2q3!1P-hV-Le9^%-Dupv&bsxGEwYG`^&31dbXM=;Np-NaWtacVcZ%=2$kcy1BLx2165r`Nb3JUu z=o`mZb`LC(z20-r0y0isxfQT0y#BmYtSuLl1r4hBa&oVG)Q6m+@HHw*3(r2xFS5$* zYaDw70q<3|`kzQb!11B`>$>lBtEzfBGs^GMtxgN{aGmG0nKR-BxtVptESHmPZFyV& z3EzcTgd^a9gW$^4$9xRyj_$X#=jYR%nyC9N{V%|qEP11?ng`GIoo4#x3ZBFM>Suw- z;~41HK<&_Z6juLQ2Joj?K>OJm2>_)F>c-6Tlds#QJ{Lp zX!5V}%4@=V3U5%x6gJ-$RH70Tnnmn5Uc3h{y6PKXRl7A4^{J6x{D{Rq{`x9mCCs~Y z!ZhAz0pIu6dt^UzR_3dT@m#OnzJh$BzI*FwXN?#)d+UY%Opq7F!`g|DmSalF>s{hX z0LO}-pZ`Q`E97U#l@_vqH|(Cl=`!|4=}y4UaqZpfT};sP>-SyrepB^! z`1+*A)?zdA-Y`>M3P**St@_@=kQ_l(m+RUowe3sYu{%L{TJy%7YQH?1?Ufk;@OVv>w)Z*wt^uI3u@?=zKtT1?{Bq0s5H`tZTB7)cs=Dl-_wN?dOyt5FOdTzP;k_K_*M`-Q0Z1|#cnwUaQw-Nwo3)jJ6ThV%@?tle+aK6v@;t(h6YEYL z1GE8_zr2oH5UG+*upg{-UMRG6-v-;yej;zUgp5?2JJsjG3!eG>`{}V?flXb5j6!)7 zm!qcO^|ayW=DnMI41T?L=~7B_RhRrHOaeV2oA_53^R^yr6yiow<27M_5s{<9xcUwi%>g+4FgBz9%#d&EaQC`Dog0>+R|S59cm zO=!$agT?^HSaD?+z32gz&lx* zTsFU>xx^|Ly`iU^f*I>5jVtTCX1=3#k*eKmOXwVz9X3Q?o>rac2w%xCkFeE zr;=r=lc?(2&!OT}&6mGErmM2K#JZsAfIC#>J6aPB$yrk+X_uOUc!q-GGNdm>UZFcV z2ej@xAs-dLgB}qZ$8d-cicpkpbkZ;>HlL2b*&_K&2}CKHpqE+Ta^RsuI7iE0yQcaM zLP6go@?-VKhmYtVx;hqkFa=W?yVqzcuLgSGOQs@02+56-CMa#d!ZTbqh!3~!TB`*w zG%(1BBQ`?jemv`Kyt4Zz`1Nu8VMa~(k*oFTSG+y`LFQ$IOz_WueUP++zy*NAHMBQK zlc)e!HrNJtaQawNDg)j%4|7l>Nu^_Gpu>t00IU{RouuwX6fF^V(18-+!JZzHF8hfWX=O|3FX#!g2@vow|Rq?>`=?Q_ifq* zr0Yr-`0Fsy{kLSOw|@n_|dsU9b1z`mdBzci%_x+fr*tLXpIj*37qZE zy2nGL7f*tllTzUZWkzy2C{F^B`m1jH?5b(Txh^%JtQUanbHNj1LW6Y)8i%W@+Cw`Fu1!jkY4)BK`| zc#tj14pAY3p8%_)7ve=B?Th|c{M*CbJ8j8X0=$--)P-qc1z)cg(%(*G+x`@i()m8# zl*tm`1&m}<0a^s5ifPe*-eTKu1aN_z16Sk35F_hmL7M{QlBcfCcRP;R33u%Wu`%p{Lut+u(->n(b`x1A|29RgP<^D9z7PL&x{_TF!FW2>+&k$fOU9 zX5!1g7uHDjU2*N3*jh9tVR#+&o1GWu3=TsW|8!sf0&*TA)v`g9CGo4gT_#&A1$ z2HQk~t1-hkFrtY7S`vD8wZl};usubr$1aRRM0;L>o1ADYB_oP_S-;Gj|9!7-`J-jR z%VZ%v|G7UT$1GQ4zk)K6Ys;HC@~I}-fcLbi*Tv@A3+{=YJzUp!utcpkqo-wdEyb-K z#0N5s})GCaeGJK38d?Gu35FbElS`ua#&YOMUB=j zJtn^feQANGjhs_$0;6lCd$NU6C}p-2@AAd{Jo0xWo1xWrOfC?Yh_TDdu*>%?2Mx&a zEgzA|1ayZBxj#NVyT3G7k%1!IIa8hGEr)+r)<*zL`$QZH(dOeiuA{yTOEXe9ze+^x zu)zteQiM>}a0)j}qzjEt^&9&og^?ruPs579%HWvl01HO9s90(@h41!K77!Wm;jm!w z_|AddH9f+YE@L+9YS@_~+rOB7{Ohem4HyJo+1Ok_JHu)8e;uV*HMScaNTv2%)?9(E z=CIYyD)SVX%OoXF7&eaL5LYx zO}IJSTlb@=ag4*49d_ zPC6#fy$La*&5Vtt@>^i?($%iIla6D|1>nK-1vNGHKJv8(5OyvDWGiVjWAyE4mL@(nk*uz#-~7L~np>>}Z{Pu0FVU0EPpYWR8A zWiVyKq!62cL1vehaPp@Q_=yvqesMSrTzT+jeM6e|jUm!>Q8_}Q)`O2R<_QDQ zVGjAtz~e7r6(C>((mJ9o2c}_}CjajHV;abFlxAD63mS8;MkA8RG2Qq%6s4`;RzYF2 z0tq?#g&4adFDgh>PcEqBq(L@pT$ zX_0)O9p|%_YXl#vaN5zdgx1ou;58veG}}M4MBNS52cybr^((!-A5)0K2E_=w%#4LSoE7GeU2ch5zCJx&ygl&fj}$vZjV}tA zHBvN~W|6c=&dwdGqc5LhUL9!{j`|~v8s?%EC1Kkmd0xuI*6SAQy=`yC;fwa{|7S(& zwD)~F%z1qjNt*_|*RbsoeNqfi81u@>qS+i)Ilm<5GN{plkX?0dtorbG;_({CMs!0UE>buW%%4ss26Z@Q}2+LgE5)6Z+AiC7L$GpSJ$7NRWJz z>T4~frIg$kJ9(V2OkU*I^S#ac!tBrt2OPxKB;}fz_Xc0cK1-N_1j1{QrK@oWHU^< z{?3IyTvsmV$eb2(782T z3tMs!Pt`yR@bMw=Q|JAsXP9r*@ZgC>ea;9II zcMlC!bDT(eTj(-d4$b3v;1un`SL5ov~;LM7*y2*x)b0 zbGfO%f3kzW`09T9+%cNpSNQ2)>;fG;i50h&>iWIEavC$)2s?QK-zQxbfk;;1P+>JZ;-hJjdhT`*o&j>4oZQ{1eLl8$p3t;|L zuzJ{R{ww{g(V1I=cU<%b9jg;iud@ZH+Q^Kjf;heu1j06{4@w^DY7Bb_MS1^WY8D`C z9BD>mtB2hq!q{YFj$$F><18x9cRItS+FP*1)LiJ8iZqgekewa^-?LjPMBkaL(_F3f5*Ucp=DyjV*Uc7GVq0lq)edPq8H zrVT-)fH~Ng)^$~1?)0$VlySuBUg^!Ml;=rOKFc3Gien~imRbx!J~^vBh}V^@UEeW3 z5hJ9PlD9gfk`h;hv>bDtMEc;%?h(z9;tc_;-KZx;ykONqz-egtXwImEq_Yg0>>~`k ze`Y^oSEibR-Ykomg~LJ2JY*v_(81V8qXF6#c&&cPF`@e_1)6MDl{ z5Jl-_%SE4f@(#VI{e=;lou%B}8<6+P81Z~PI=U?tnDiDaL2*1`cr2Y}W&&s`GLd%= z$Z-41ZnOgDnLo@owDf*d&m{?gDG|y*6Q6Z^RhTq?{XhpLG(I!0w<&JAteJY%>W?I6 zUaq=rQ^@qmbipur0$z+#9ck`$fc%x;_~Qes<$)V{%$9lF9J)|8@MHWt6G&DOi)Afc zNO#H6>gl=l;P~ttnqlUIfsy79)35gV*$peplZs!c>j-D(c?-++km#tkHMDPR`p%jM zOmq=SgG|gVST7sGI{1e_bEXFCt~0cSCW&>sy`?e}5~%QB(Iv1c=l?O7IqtC%gw zLYe&Khfkt<%<1{>BoweMJXsRS^K5jZb_@o9z&PjZNFN2N^+sx`Mn~SoyTpT&tbQE1 zcqM6yJR_&o1MVcy!?)m_&Q!O2E{m}KOso(LzQ%_m0C2SZK^mD8CvW7Q6g#rawu}6k z7MRIHhK@{?N7j7IsE;PE(y{^He2S0+yOmk0gg_3D5jgerk@&4_bEbdXpJ50w{P$rQ zW=laXvoxt(r=pJzPKNL29*}CFUyTbm=a2&nn`Hj|#QVz;@)PVW0&r^fpn(Wlit4duwg_*#H@lNt zc*5B7ukf{*`$`_t%KJ`s`7lGS?wt6q`WX9*YpI(I)#kLH1`62-wa9@rea_?}T^`-~ zq)OnVevFip#NK}GPAZ{$VId?mNO$F?lM;$f+8q4!8G&gyLP99UVc_k#YL+?=q{Ve* z*twzn#?49=zL(h?C=N^mn+txkJ1X`K2DHb30iJP32 zuC!GvS|7%AP{8w;eD9CsG@N9K@p2)EBOBAO>%cil{;!mI&b&^vY@9=N%M!z2!sJr={sgZAdv07KliuUyT*_^w9)ujQ;&T3{hi3} z!9l*E8L0YIA|oKnBXAu(NNEh!swlZB)(XqG->Q5Fs)2}hpq$Y!QwN73{2x?@NAY(@ z@i}$8R?z8=Z3b88$hT3<8$$Xlvdg8g17Te;tS(M;(wpi^#=RvS8UoMq?RviCm%;d_ zbEwgy-9=!-@K1>OeT#a2Y7VZUc|`zfk0-q*PK%oN*YDfqusgYyon@#@KK-w& z(@Z$%FNFLA_n;i_4QN||_=hC3DZQN*=}3^vFgR}X;LZmAfl89$#?DeuDt@7Ny5rKs z1=^-OvVIV-!0toFiN0y`M99Nd)E;|e8E?pe1Bd%Duz8Oip0C2;lR(ugd~U1X`*Zf@ zqC8+=-P`|q^_=Q=Tf^F!@sQiAUzM9$u&d$h7`z6bg;OG#P8B~ax~1p zgA8GDw`(}r3%K`sK@PDzm8{IK-fsLWWl*;crV$VzI?Vcj3c;RaJP`8(=;O;Z zd2YHG?lfp^jj?oG>|P1Pr^2N?w~Jg8;i{~OAJ2nYTQ`nxw;F>tfa}+7(oU<-p_k#TIbz7^H*gJ<{ncMNv%|O&O0rzfcd?nlUox?1>aW>p-Lu$(#6A0P@ zZt!PZ{_!1QS$>|iM!$03G}16kqhwj?R8J(@=nfMz{ucicvyw&S`DV2z92{ZQq)VIF zQu%HU<-*e}yJUzLAFnVZF2jKPb+?U=n;US_{gxxC9T8tyP}Ni+&VU;qS9voyBI!8L z-Z@GvBMG`cyhACREYky)x!X=^Cs+ZUWa%a~N1K z%KQGeZ%({OaS!;|%$i=dNg~pI0h(ppugB&@Wbonp5DxjeqC0HDeD_FefM zDiN?JGT-6`K0DDXT}>$^KmHU(emAmbp(WFfWItP$xqBb9wNtob`EX9-{V?N(7>C^M zw7$2pswO(M(R(WGBQ-2_;oxcG`6fn;+hKdj_c;N5E*R=}W4Fz~LOJ)H8FrMU?{3Mu zWb9;(WL|{t+{m%882_>zjo`V5U8pFv zpO$CaEL`9-TqUY%DbgcS_vqi6#rxEl7twLyO6)&!Y$!H3vmcTGNm<^{zdp&V(*9L> zHF)49O(DE|s$xi!hp3{BJsB?AcJJSX;3TTHoVIj_o;`Te7U|&5i@P z;sw`6v2JIC-7UMP&VC%6lX{jc$`p*3F&ov}#auMpm7;XSyX;#_M*PSqS~llBpn}iX z)X9zIy}icG90G+nnZvDtqtn{?^(pAnB8NB%_MoqUwVH2i+1`5tBY05}cZy)k=l#>L;n?b0h=K2Yw0Kn8xt5 zY?Ify!PT7t?UL@#X@tFy=N&iCt|u?e)U(XZ&%c`;vKS!sDyrm$WQdOR6KPN zB$k2q%_mt(6j>^}Yjn8c1uNaQ=_7fB`w49AFYEywdi2myTFP|K>@w)h%$mZ7Fs@GuMQK#CeN|x+ zqq}?2)8k07`l~PX&46}eIl`UA!XtIC9UY6wWsObMmdGmk5-dNZe%ea(cp5QSxngE{ zC*YbI**@E`8kd;c#J$yHA6Dr7(6dMXX;^Fo)kHX_9y@;8axmYn6+>&-cKCy%biF2R zg{076nsU=Bo}aG5gH+9EqYv2j%}B@>o161%T035d?RdX~i}h%QNOEJkcqk9jf~m>h zBYP}D85%M0(;c1?H)Eo<;2JS&z@Mjx)vH%s?@!H0?=`l zKzQY3tBm^7FNREytao>xwU2>fJFm2X*K>*SNOp=9XB1NxVsRa<{WNnG{*nr1V)Hik z)ATiv?5t}x52XP9!JicujWocZz>(@7kS%&oUl3AS1!DvpkGN_*?4RJA0q=M2=Jp-n zbBuUTh+Y%r;iA=_yW@Zm!pXnB*rYFL|876>v#q>;dv3_AgF7CFTkUb4Av`rcF6RiT zO&Q?o zrT)$dlKn{o$O3CCpCc_Br?uqP-k-nA!xJ3RBy)Pm?b0PX#RjEQZxHWcHMbm0N!;I~ z8;PDb1TnJ_X499^)1S1zeB&lT{r$si|I@mKyRV;b$I)Li#-97)xV(Q^Tq7B7H=fcX zD-CMYL5jHhNFey5s}R*X1(Gu#The-SYehp*U~ihwb0Xm+??Os92kvNQ`qpKv#h1Q) zy}Q?w-*Fz@9Rwjy?nG!1#2*~;v`R#5nem&j1yQtimGf=qzH;Ll>b9grn((<9NI3u_ z=kCABdKEQYflAhJ6W`$Vyx?W}vnYbKg@TE>^=)sSAy#bzKYojNHHzz7HP`5h^4=-#wP9%dDfPs~#%8~cfo7QR<)_2` z=5Qq@fY9R4uZ_)5IRUt^?`vQeaHsfs8}QMCne4U#C{oP{B&q+0(e0U0m2^feh&LR-Xm+pBGT*>g$E`Nrwv{@77t$EG}I0Yd)PoFF9n~E&CkO$ zu%FbZ+*J43fj>qXmGALyZYI`m#YYMKx-Q9{E!X0PMY{1N*R32%c)TR zLAyXE-rL`$U>=hxNsiEv-M^J}b-#O;Jh_YbGuOXKZ;K`Ae#spGzb)*j+`^{zHJij% z*);R#bfkqCQoPxm+s#gK?iiRX?5s4;?Hsm|KvbtMble@Ijc{*KZNh8EMQupe=5yC0 zK|c6KRo^p=9648;4ENa#f7h{yIuGVWgITRCcBF-heVi7>ZJu;=!qp02w4FD#EXF?gvxw*4W?w4L}I+BO7Lq7=Ps#K23>%sNrf^5qZc;h0q zNtrFhbQkn1ecix}I1 z4y@^3J8bUvfAEvPDZdPRMQsB)UrxPlYWf<_2k)d(`Tgx=!PcWSL)P$gZSaj3?`xmq z>Y`L~d3ujg|LB0~tkY%=FRhehT=ye++Ts?hwCuC3#2}kRz3+?D8Gdm?Hx`Me`w3`wbl1N8@a}UV-mR5qNreUk1U0DGFM^aekResV?87 zD{;DaaN4NBYzNTD`H^Y;!~H>ge<&zcPzbC%^0Qwt)cq;Cy)y~i7<2&bJW z9^JYAFI4F2p3SF7Mb?RO6Jm=MQ~gWdjRx@{*xx%sfHDTR;?}x{#S}lLbiL*(+`*lY zYwWthXKcekn+)%N-8u4UUxFM-9_M@>yuQYTSB$2G%h7zB2bMwcbQ*NzmACOPWE-3zvcdpqf4gZ!%F;oqC@0(0XOK>~Pz&dWZrgI4a()Lh35 z9qbc6DPdBOiPimxWG1+=8~blM{PUqzTIqyQT}k`#^A9c6@D(5*RxPz z8~b+r5`8o&>6}BWoPY9b_8b@k24m2_!!U_^DE;^53&Uo+?9C5an^O1$ zUVXna2o#(xilhnU>3+qkTV?dyx*lD>4(o1@Nq?T3{Bnw{{(g)uiqjWHnEN*?JA6-W zY?y|swENcZgH`(@>AM^L{2>lHNnhrPPL{Fs>&NuIRoh=3(~VNFoL-~Ydd!R$>wG;> z))xIVHuAc(<41{Df)SL>F8sC=0$xe zz+&t0reU(Re%k-s<-VAvBWPY2K?~g11fCU8Xy5_EgNY*+9892^3^ab3%~U!1WlQ@xjyaoXz0<&b>V&T? z>Zi|`C)#t*#+KstX2*m*+SPEP%ZF@67_PEiwhKJ&TFpRmubuxqMob&F8$@Y^qFnr~ zW6&}EQ3gn1KL~hk`;fpi@u~rb|8pf~EQGTWj2)|jUg!;~u|GJ*0Gce_yEgwc`uS)+ z-LMt+>5|A$KRYe@+z}-nFBLix*PE9j@v!eU-^WZP66og`g$$Vd`R!DxX4^QJjUGY< zO}>1|&}9(oIWP;-34_p+qg#qIxLjZ7 z*-HdEK!Ti+dbFiCpRKM%QB#)@W0ZD z>zM?!?!$=BN~p*y(8q1h?J*`)_8SMbhre%8!T4KAt_~%H8r&4_k!GY2Stl;i0!_Vb ze8FcJvUWxC{|22A#0#!Wbq?lq5IK^DZ(3tM^_U-#z9osw=1M^u)kW->t!VK$p?9{9 ze$DpYNxSICW%H3ye(`FDFj6{JR;+jXl0CkQEaDlXhp3|PFC9Je-gbMvZ17Lg+$ZO&dK;$7$hybrh@c2*wpniJR6(?lgNyxr17~$#?vL zV~K7z@iTG1`%rlUI!nWl^?E0S8MuKMRo}{~Js3wk1IhMgZTCh^0(r*{1DAg6Rwd4Q-zGLcR6S@@3JV)#^coMGnGrog_rQ|D?CUsME!h0gIIC# zkFLO{AirRc;B1e0_IwXDN^w5H$;5XQ{$zM)@tJIrI1?p1P&R6Jt8Uu6_MAK&_$dC- z#?lj93_-<482zbEAq&`hzC|RM!)Xo9_7`@6=_cyN*B%CG|9bQ6L*EBlv;_Bs&jvjB z28)!$YDQFv)l|Ip8!WZFjPuFIQO)naUkH)93OXPrZMAZjO-~ch2Mt#7X~)L#8EHS^ z7E1b^sxd7;tZ#z<%w~AuCt?Ns?SNGI2-g(Q_epCReRSf7zEA(IfDak_`T2K?cSxGs zoctr#ySeKcv=X{`&fh$b>3^oZ$d?_^kZwIm;{$!qT1|{G)*?IgL+(YM}IiJJe1=9Zn;D3~-XK;o<`{<|C7(8-4>>IF7Dh*NFw-zQUt|HyE70GVx%q*=OCX_4+)x*HY{Bt=S8VrdXmkY?$nLmFw8?(Rn59sGQM?;o%;&&*C!@uDm_!|KINq6PRPu*c4VUV#qo$E-eh!UE%3V zvoOo+=E*v&>)nWX%SK98tl7E3nS7<4gYq<*CF;)>i8bHW^P)>Y?cL;oXC(^JE0oa0 z24EYrLL@bKNP>EF9nZ38iopb$G%xMcB7s7e_5j_;g#F$zr)1{XE_1c!qcl>8bJQJe_d)gY(Exo9A6E}P+^J?7 zu)CYCS$Jld(1ZstLV5sIDmhmQoO<2NfxJOd7J^kjoAW#uAHS2WHPy$R3Pt3#96@m( z>aE?#`mnW74W=>?K!7bgEgQsgkgv33EQofw^856ru`OIos zS^D^+Ht=pWWoiNq?8=M0yPke3LhP(LCUTejKIU%A(Vv7Q-R!z&WdM;i_)r%GsOU~H z7OeAYKjKx2XGvSdweIRJENlzQ`AWyK#ROoJUR@gT6O$JK*UXJj{rkux-i{2}xbFD~ zyen59&CVcwV9I5PmpJsqB}i8ud@+QURBgYFJ6*M)QbQZ>*Frm~z*Lc^O%&xQH7Dlz^R9BFJb#Bd8CWlI>(7 z4txy8=9O@`nNFjj&Fl|;v%tF`6*B{d; z=3pL(C&`qLc|QKr7zwQNop<|Fw@2$Vx;@2pLsc**lysBkk+=MaDj^AT^->^g{Ub1O zL%usr9V2cL@HR?iY3mK;vFF(IIO+JN@sM;XT_Hi>Lc@b8%Y?v)@RlQVgxjBDR0p7* z`3q-}WeZc#PP7w%2=IW@4#ea?Rg4%2A37`#ga`VBA79U84VCr3`JvLH_Cri^?1v7+_pZUnjcm-Pm3YZy*~%QJ)!*VDJZtW$e=Ck9R%j-{f+3zZ*J>mdeBp~49T+KL=((8Lipda6VMwi8*9{t zIKefXYABxlG@7DN)die13C~Hmzs~ZX%%*hlKfK41TCpCfld@=U>`AMdy~OOYL#@)qu~%TR$viqC~huyJbRPbuM|hUolj?`bDdRgMEg5fcdY?w@qZ{wflY>! zq!wPH?hwn^^l?;53SW}6CDt~hJ;?|8nY%t#+k+6<RDMMSXSO7Vw0l$Z=kN<{{rPylbv{%df&gyE&k zaEjv+E@!T7*~hrp(I@-$!Ea_Q0Wsm^AlHjqcYuQqe0n%4u7g}~tc{Xm}$J{r>GHVvk=)2v86Pq9LuPAs) z#PSa`N9AN>W-BjC&FdgFStdF;z0i|lSn=Mt5)b(H&W8AcL?H3tkv{mvVkGcSz4MNA z%Jh9EIi2>3aXG~a1xd1MH1Yy$M7#-GP<@n5rK%$#XUX^EY`4o}vxaN;@yDPlEbq|Cm<}JC8-KOe z=DGh6jm&b0S=>?j@!+0(@LT^Gs@uw<^fsHMhU+n;mi0h63Md!jpVpMbf$*FtS5HD& zwGE%xnZA1RhW4;yfkRgnwI=)8pxmq$ZsxO3bvH9!;l|{pz;$y`?$!mK=)T2TAs$xY z8G7nwG1DiVv}w*d6zC235>x)m8!p|$FLlRLOgEXA(8bC@CYOQhr$4)P-KY<4mOq9@=QLwuMiFf?u_vgtT)Pc0ng0=lq7-DG4V0lwvO6}HB%lyyC0c&f-xNF9^%!&1 zTQ!VoQF`En3bakhnK_Sy^Nkh=c+78QwTDfnp-zi{AC-Xid}Nn=>uTk})nj)F$7x6db zEFT^(?3=*9{x>fBAcY^b#EWl?WA#0-z|Eq_fs&)d9l;Cno76L3M8U_4Ji-P@${AQI zPthS{3&Iml8d}AbSPmu6pdu0tMr7Vj=e2$40K4!X0}~TQn0vrib7OSprIOQWy*nk> z#%*4^j{7_c%<1w5SW>oe$nB_D+iD_wdPF+$g*5Rx#5jw3ubl-Q_?#a-Y{94j%#oA5 z9|scj8uum5J9}Ge?f$o0S=#sOzUF0eKo>sZKh`C%nSZ^vi<$Z}k)p{Bnd445FLkh( zg(Slk-0lGvvWFn28485W1duKjaIG)p6wC;HHNMkUmb;KmbH4O{UsY#SIo()4EkbOx zV9zn)2;jL5pHx%vb7tAlgZ_=Af>h`~9@+9iNTj=ZJ-bm?NK+#CKI#DvvWMGPx=uFP zQRVOksXZZJJ|D%sQSpADhYDtlAAt34^B;Sdkc5SRB(tc7n8k78DfaHQGiJs)HZK`fbQr`x4+CyO%g2qE&T~Wr+au{1s4aVOukGthm()0a~3- z-osB(2uRY*COn+@Zg5^;Fbeut<&~%Pt!@4;^ce|}ReUa}nNq=pOe}~6NPzGG*h2*d z8t8m#@8Hb0^F8p|NB72GzfygaQ;@9MV;qkXkf;g#Pf<*kO4UvM%h5Q1w(+X8RRO4y zaht^$gn6>WKstu>EaHWz2v~aPU|M-ksloW>AEBrI;t~DvT9Y;D*~Oo=(uU8RBEjqr zg@c)M`E-`Os3o>-2`^m4JkQSYMm0opp#&!+${#qgAEFDxl+M&~v;(k~kIzZ#d(oqL z%yF5L0B3O6kVq1zqsG*$Lao#O${}J~<9*V$`MC?{C)(bJtK4%?WXAFB@uacL30?rT z+N%A01cwBQCu=dH6|MTRN9xD?|^Kf*oEi=ceGkx4kyTwtF;L zf?}E?2L3hJ9)ExfIDD0{_2hOGarp@gz*>`JJ@3!EZM#Ps@`u0od^jpLDOdS0OrWf` z5hmnfTE9iQ_3iiMUzhvq_sf(JJNlM3rg*=}%%&uh0;*5XZNVh#Jywr2G*}tky-_2$Qo<$+{Oj`y3xDzQ^S<{ zyIdZ)IOEfztZHc?CdrI?)6$y9Tbhd>Q^>j)x}ZB# zSnK;WfJjPcDqP@u#`dwi2;DTFw*e3R(dj;YXX$*|k~RE}dF(9rq-Lau3-Ru*TUBsW z&iM1I1ZfB-xsvP!FuoqV1 zpV4UJFkePS0K&n-6c}i=cBp45HGXab&Ghc2a;f+JrMk;^0Z=^uoBv_BoINXa08JeS zZU&~dWekx2L8F9eqPjgvnfkaH-saJT!bXO0EYhCUDmJNm8zEOgmJupnjbpd38H(Rt zcmBYvD~$buRy2wENEs`Hdz%IQi^aLDJhaQJCqQ3aS(zld=3gmv%tD=G)vrE?j9hDZk%hybfU z3?U*R7?kBkU{zZ?gH0@AMhW&0;C9Z7Ci+gsyZ)gL1}?@bwv5F6w3B@;*ctE|DwA3o9Pi)3fTGW zZ`&-wiU6Ok)UwI3HSgS^{tAEDO_?HDU|BPR`C2tk0)`A6dHE2|A3SQK2x7?}jp9uU z?9AX2FI>>M4eLCS!}(ilhfhsiEf#QPBor@AD*riZIW#=ZWx;>aE~giplzjebf*ply zdof|HVLxz@KVB&U?f0aSdx%%HIVr*!vB!DkHyYukMi_bTr@1DCJ5F-xe81H6#&s$1 zFV{%&4*S{*UwRVe!`t1E?$x8?@}~Ql>cZ;MJeSd%K)I;M*$9#-=h{Jb3AdmA_bCIoO^NVCbqJ9y)5tHF;omx-8*MsDu%9d&%Z21FHN8z+7fwd5Brv+iwEI>hW zLlrX@Z9k;WM$C{Wzn840`=nvu=Nkfn8#( zw=d&NUXwB$jb5O@z@&4gdNE)TfUciQD!Xl+CI4~E?GTrUhyI1CjtimhYzX%U_Uy5_ z#qXR5{EpB&4Uac`Npn(0@HTLFxTF>CQTQPade_XcZ_d2`yVDNv{pikXq`C5a2nbC8 zJJrp{xI^dS>vY$^vVY2k9GR7V|EXKE&V@iSB3)|7oH)K^)>7fy_aW>_ud?vv7ot-( z9yeXt$tU3#5!HQwGaBB%($&13${76{m(RQkYH}Gpx_NhVf>Pn9w`^a(r{-%tH~1cw zN{CU}UKFO$vivCKHAl+Pjr>Ly)uz{KF3T*Qa``egyVvx#L3J$Juc5Hhc@c(A!slO|QbbFcm`}?Jjq)rgHw3K4P?#S!DGR$UXVNmU z>0{C?qj~E_?hiy7LwJ}DUahx{TF;&YFuMouy8Yg4`^WLlX@j@7O=gC3oYz~G@-tWQ zK;v9W7s#L`aHr|bMvQTCr#;kG>+w+VY#dj=QS^5Xy6vU*KeE-Fp^%-8kyDYk7j@8* zAm6Oo$Wn=4ff8z79AYfzCS&p82Pa&?d+V=w3?*6r^m*LQ%-DBZq$AKw#%>LXWo-5n zvDVS=VBPE`KZh=FCdC{x{Y#Wc<|N9)wP1eN(0LyTo+0a`hOX!U^mn%Z@@c})JB*HV z+!lt6ZN?fDy3^tK_iUojQz3yQV19B~rjuXqOgqJp;%;e3ayN^=vGfi=o;OQC>XlfG zVh6u%yfx1zM7KUnn({i8zr@{rbe=Wufp;4ZbN*`i9ZU0xlC)(J!Al_eln zheX%k%2|oXeo!CUn-;wCV`1++J}OfxxYnAI8=rnR#26Vh)4@jCBQ$o}#T9J%#ueIJ z+r_Cj1>4_7K%48@lAiwMDDtp~sQM86Wz}n0%$H+-dLIWdr2lTBJ!9bfOH`Bg$4Dd( z#rK8#EYb_%_Ivo|M%nFa_Hk)HsI+GCo-jcMdt{k_Nt!alv!Xd^`)3&l#3ZT!m>x7 zGp0WM^vgy|G`o@Vg|)riTic&b&k_qr~f&b8xokB`AEk-t|2h;>ShUejI!dB;G_ zJkN8Q^1}j|dp%prL`EgYx4Exgnx-21)_>=;c>YL^?9wxFcq60Jf;?c%jVjjHRTV?x zypHsO#Jq!buF`RRCG9#d0cpwOQF0jmw}j||9>)d>g&GIWdzB(qp=q2i#8M9`snsQI z#Jkg1G|VHaD-I#Vt7NrrLaDSD_?Sp1d09Rn(^hCNow zFRgMTHzM@K$I(h>dao9O;I|{sk<-MxKyqovX_mvkY2;2L8X?bK-ByW}l@&*Db>4V8 zcJOlTxm|9|_fb3tuUOLsvi0=u8dfKMX6AWx z(QW()!NIo)=%fA1SuKh~FPD7qCtIEn(k6|3k>P$N}k=k9E`mzc|KY5wU9@U(WQ$UWi(g5@Y<@?x1@1Uk3ajV%LVQ){fW*MzeY`OV=pm1hN&4o~$T+Mk!BT_-6i6Qdd{=`frec~G_#Z2P zq@B|{M*RiUhlNJpXYOV(zqY$A9$PT*g4S5PZWA5n9mnx=H_h-+le_w@NPkWP5;2q8 zl=b7(KV(0++daC7Ls&i)~qWxgNtsk}e1$P!ZLihAYqS%k#1U1A(dhx>t zkcVQ*DKCI?87h@d7qE+TMrK}j*@z-LBtTN052TQ=6g;_uj5G6{dRDHir7+TasG6)0p@bIDaP+egx+~4_Gt)(DtsB^NtTeRl=f4{F-zr_J ze8=)dS_eE+3tqZH7KClI1(cqJ2#p%l0{D{+%-F%fLu3Wh(r4xF5uJfqBHlyi^s?w~ zE*z1dprK!xsa&g-<(2pQX|HHj#E0HM6g6NR^k&Bb$L^8G<4C)TWYT8uuzq@gSfgLF zQ#Xo^G1sO*V1I;1%IX+{&i|n_Hd`#@t*Zt-CYCjlSJ?vW27tDScn^C;}6)*Y*lX!CQwM$GKbytsA{- z<0*Yld%{KH%?Do*aMb_YIXhfYA78NX_-4&LnSv9~lVY1LX>{%|?8UohVCwtpuEgbH z`f$Au3<1=9T1vG66Va>gg>?a&pvhPwT?C=7qzLE8V25>7m5d&Q0blyJJVRnO1jVJd zjydV~FfekLz_s>;tmA|$y;r>ehx8FjMtbk7kNd0sFzV|Ktxle8uMEr7UwCZYSrOi0rMykvMS)pNL_ zJK0G=vvYCKs2-I0*V){r&x&pX46jKh|E?gkl9aWEuYIK|&4bP75v zlU3TY$4e+YaJ`d|^Z752vo(t9e~ugJuMT&&FLgA|?5y%M25keWl?IvETPpXF4*-Xp zrff5QKOB0x+m_FhJ8riO z6T&Wj?6lWCd)BW~nMWdtp~e!I;$qW*;O*1|ha(iDn*GKFoypylhaJCC|8=RM%!ZdaE@Yd6Yt>LM>GuCSyN} z*4dWaRsk7}8^mdGZ(rGX_V9R7ssFFh_GnpA{bv^D>Mk*8AEet?qLJlT1okR|%0mU_ zS3xIE=U_eDs_Ir0rbr2QzwrqCn$G21BCmBy=Aa6;4iwxh#)zR11Ln!FEO52V&o*s1 zp^&2%mQvy1LB_;MgWE0T)>&a=kDhD&3`1{(d6H0&iM39+4&N?b@~F<_+QGqHo}i$1 z${T=j0dy~6HDW*+vT|v3W{TMQ?CMWXI;qE< z;{8+(ww|m0VFyW`jAv0~Sy0QvIsy!c-1VOd*PGey;G7fw4b@A zq)N^4H20^T=^9qyP31?Gcwa2UI?!@T5Pl?bQAW^;LJ}}n?vu`0%cf_g*JSa7pwmRX zNSD(K-kB*U2wgOO16n%&tdWC5%0XEUB3otdyaALS;(i;s#a6Xi^xTv-Da1)X`O-fj zt6qB7G#MQ*vu7?qR(AP&WkfdTY6_a0!6`9Nph%h}I+*hSXQgi>>spS78!b!g)V2kTwb zBC#AaBCOA~tlExvxq!Xna{Cw|tB7GIk&@DblUOPxg_*g<@8!v_jyrPjYkr^es_t!Z zxNV7Ed8h#%&3^FJl#Ol4V)x;JF!k*LrCuzxPPbnmfsqVuxBfKoVzHi8vZMD zrJ+Y;q%=4i{3~GJGd*z^1IDwueb0DHu$`4yy2IgU*6q)~{U)&<^fTX&*a|#ip?}vD z9frE(xsZTVBYWYg@SMZUi_Pv<$C)zcKd@3wp+eeHDe)wmH6RC;#|~@s?GfGCpseDI z#Hapr5N!qdK$i94=Q}gL8Y{lhi;yE#-0VCtL2lxmT2nyJL;Im!MjtAJt}+G( zjJ{?IYdX0&9d^3M70GkBcYR^{%-7{I`DA*DNTc1;Kcm$piFNEAh0OwQa4$M6-meu@8-?+o9=MsV1X3=HU4EO{bRv zb8vfMY8%8K-W17GEUhSk0Y)X?%IPvlFXbd^-O$dULJDRCH=G|}W3@6+0gV*8$$Rc8 z2!XcYYsYemY|cD>$IJvBUPnLNIb*>1<3mZ}z_N*tuA)|Hx6G|MA64DRdY;p8{oyj+ zg-h_;AV@q1M+yi!dz)mycA=tcfPV76PVccT4aA-b8I(LwgshQxG_)3LvrHN3WF##E zkiY`}LEX8UE5jQ{-ESWg-Orqd@AZ9Y&e#69MAXg^D(0REt+qT!I2h>iiLZL$ z-}ZMp%)_&lidCfSyHD>tS$5jtSb)RcKRmqcgA?S6oAVxih)ViyYM3XMu(A;+IV8V^ zFN=xDZR@w72q|@nInb8H#cdrIGTu!S`N(u{4km9X~l$CXPiAez98Qq zl>g0xw|(#uk){c_zToDI09!KJqW}3j`?{=rZgft*&M0S(Y<>|}MuBYu+ z1xmqhWQz{f{oAzcl}sl`rKd>~fV;rHEB`UTdTBZ46UgJe-6*fL_fLla4Ni&5%$@5Q zmN}<+=yiYw41g3L7j2>t@Pr!Ov`0Cyn4^lDN`fsrv=#0FS*=(0%u|Mm;Ru;>r9G6a z9nTl?sVYC2#V}59z84m01#u-G9|y3P{!{qt@6OQt{AJ;U}#ubGHGtFW+rc@6Kc zn;0@LD$T@cF&cKZ!0RZid%OV;3{jkzB?i|sv-Ng@e>mfedVLY7Y3M~>Yb^ZVKu9}t z%XDwbS{vLcNN2&g&3r1q)f_idN6NqHo7OQJgyy*Rl9$ZW{lBhUTG|LDuUl-1ssE29QXtB=B1~ ztiN*(G~k>el0R)TaA_cK+Dl!|eohV+0R#2if4s9*^Nkmllz@o@ypa~%E*mU(6n;5# zjXHulj{{r*l%nhiFTE32iqgt5UWRSAug6aIOc~YvZBto%{6D50CM+k1^{+OveVO+y zrBgS@0TGG$cMwFRiyQd;Fn$ZEJ-&Ia;aJ0fvid@Si3H5Brf=XHf-Hef0Mre6@WZSz zQ;Uk;`w`Z~X}S6>Y|l|@+9-6$9VPJd?71@4{Lpn`tM+S#w~ja#De&?k$hmygreB4& znuSW#V*;mtJRDanNbKqkce|_8Uh0~s(Y!9ikX!9x{RGyY0XWMh9!Jx)@QM1o>q z4oijAO`N!^FzNp@2w1@e9MPSpN?ta$09M}D+{pJKIG(N#Z_w7KU;b&!tcCvs8X^A= z>H;;5G}zXRXj#(#xC59ahtu4_m&UoqQ-7J@L-2G4_+7s%8hOn~S0kC*e^)rHDXByC zYYo>Io`lq-E!7o#CnJg5p^8yg`aeDss#c1F+^PrjBlx(-fWpiSPtDefM>UmI&%1M$ z9wf=bI>-p>hSO5OKklYa;ryjJrRn-zav zqm7@)!eRM%5XbTz*n)2QBRx6Khdemuy%K@O7*4eXQ2k!BiNL(+a=dx=_K6(EEWn@u%~1T!fSFQe z;0m%fx2wF{$u-fVLfRC<0)fo%pN4wq^Y5v@gWsd_R~G9J3B+vK^EpnHaH){V;g}xV zJv_(UVspTe?=x@pB%VBlQ>S$s515n8oO}Xn=D@!9xIi}%gn=6HoBc;c*{pnT-gHII zXGF(#Dpk5crJQoGE;Nu}Oh6q9Df@ zAl*wQof4y0?7F{lb(nYi0Z0=x?7Vnjdcv*Mn*#rCqSkFwxxG-7**IDd>)fz^joMiH z@_&s8Ik#Ueowc}$WlkwTM;)!MEZ4Z`LjcB;XW2Ig%~>>oyPDT~l|!6D=0mH+m4lyT z77iNMeKyy~8jUc6Pq?nP+R9a>9vC$7_=S%%xH8s13?1hLHcHic&q;!9w;3V_N$n}eHli7cIF0z@HCex<%3Ac%SX4T zg%=~1@!|@5xHv(83NG!)!F?<3Fw|@ia&hLV{J!3(x6g@Pr9TXW{I5PwJqAqLbW}*C)8LNWqpx5Hv|6gYih1{aR;6ybtx%t zh%$Hm7PDt~n@@_IgjfOXQ*TFtu=ba?L@U>bY}K{s>-jzx0-5)-fU~Jx$ zl9hb@=nf!|amc0s46>fZh z?9Fvjg3q`bm)3#DB6+YQ1Iq;ejYP?5pqC!BnF@ml4N$T(#V^)4uQ(JCl8BE>d{RDT zkdE&vFf20*5x!iMB{FxZpomGxzUt>whus`BEQlSp+}6bf?$6e(UsE}MFY4)*w*kT^ z2xLIWd06MF=363&zd#O^)4}kXfG5;s_P6hh9@~YM>Igmzg#c+dF(R|W;CNjgXW>gz znm+oguY}{6PY{jEG+6%0(93pjF%kQX{kg{wIzpjWtEb^WpLQQD_t!7886;9Q;MhW% zi;P`I%tF?!QjGl7YQxo6X0NBPIF8p$EJRvHV99Db~G$|R<@uM))UgAEynTMEFl{YZ( z7NX0re|B+U=vK=1sTu~CV`EP#x3rr6t*w;s>{$g(6w@1T78Fw(8^xp15pz?qyQ{3b zk=fw;+j)11!;mK__jl3iX^9aFNzSCk50alCTV@%{!;ouP`ub{xhOtlcSWtayyNpHp z(&i<95DLfuy&up9;8=Y+V&(6w@%qV&fvK?xfxI@qYCJS_>htPS!g*In5Yk0m*f% zviGIBt9d(T7p8X=8O4_QW%J=7(T2dP-syxQ4GAtN8|yrs-NjaCjl0+`9}!4+Ns#B#;_16acUl*#_#X%-|r-O8A9>gEE^b>h{6&E z40Z9r=mU9iI377_?seko#(%!9Yx4df-LUfws_P#GftDY*?}>{$JY$Pp5x`LKXxLXj z3Iow&O0JSw1!>CzyWud(`&;5HZh#X5Zfd%PbjO*9KI*J>TT$Ui5TvE%@;f?XVOZD? zdE_y^(QGyp+vOzL=+x18$sex?yoPM;kzKZ7z5MLL={nxqOiYI~)!mcxm7A(zQ;-z& zA*mpOt}I@iAMw-2i|VWO5MY0K8K7*f?v>Y(k#Io+RC#IQ-KXbg$>JBb46#$$mfo3A z{<@z0S4sUF&4*|LdlN4WKY3hh@qMz*Sq1I~0x^cTq&FCJG-wDpeVzL?zIQ_U87X5y z2g*Ks;MZA&b?_kuN9&H{^IZXH)(El7DmRe8fmCw51k^D}f&97TC4%Nny;&>D$)HbD z-|58xZ(!5yw`jKIquHbcR$61KW2@br1NFh7qw{BWVwWwq5T=9+6dCo0TWhFS>)e5WC4gTBbsBF^$!}dP+&Z znXoa>Hzf9JKQCGU9UZ;6MUlRKMP&Ku#WSYkk-DjBhngle+IqPxSIf>1Pa#g~@zYwD zs8ondd*H^|U*2hq`a&}n(~Q$6VQMkXSYB{4_m8qKI~C`ppWI-+6MA^|j!QX&n1US5 zdp@RfH?EfAVZbn0k4vZ6S8h&ir7tnkAeg}_v1X>$ZLa_iy{3tiq(nKFRaHc0!*(#e zPJ3%JZSKD1F+}}$z3xM*rz3+c0O&N6^WW&j$Q-@gsQwk0o5}L5o()}?BaS1c*sf?Ys7h5^`h3W1;DO6_48diTz&@9yk zNGR>*M}xf&Xp}fV^8m?FR?(J@*!6dc=Q8FTz@thPC9I93ZAWr#cQ_?cPl&}rT>9LF z4I*od*4vDGf+7LF{_MZcs%pL`;nDJW!``gfZ^r$jzX*|UJbAGVtbL`0ImW`>E{bFl9L&xgrxW}WIp*KsEw+b?!U)ltri`K>G`60(& zRMhcSY)Pzg6a2bF> z3yq>s>JTTo;y>c?W>fJoGaJUm#h>!{CcV5h@yl>P>Cwu=AVN{zv{Uw-t%Un7~IQd75eb3ekr7QCh>^Jim48K)rGsX)X+6ndNH%n zq_}dRnkhC7ci|?y#3s1>Y3snAG8f$SJBatMKmSGN#B0Bva}gTThybz_c}w|`S&>cL-4(2rgo z$D<|VpZqO_TIl|bt>=k*x0q4_y2?PaEq2ZTQT~P0oLzVyV_Z|2Fk*JX@++< z5(eS|Fy8q-9jCGU2B!o$cNKkUeydm5U%-|A3qR;J>@c-q5DU#EEfojghaH zKZVJ7mNuD33m=!g?{7m>WU|vuZuk9--2D@?V6#4$YPUV`KDx}u<_`o?|`I73*!ev6{Oi3Cz9t`LA^(c5n`78 zR(_`;LKMoArXM^Q(W0Rwyf+g`ae`;>!d|iNkLU#?-<{q3Vtp3bNT4okC#{dklz7m( zASP1KW@Oj3tZo9I0^$wdN@cRtZI5V`iqh=pu|0$7Ji)?ny$;L6`^p^v+GQ;l-Ntc8 zgs+RftnEmje(Q6vQpy>@<1OBMe8ls$MAENu&3u11u)obRzKp)EDm{{Moz`(1jf_RW zEnYU$b6@CwM=+io*h~TV_lAm^WV56wXPp~ptWJi`3-&uX$JF}NJ7VHlo{VqtcdbCn zs6c8g7vXX^r=gygKXIFr`RW%(mL{4dnrqiEEK{l+rQ${~6e+qBn-LSN+tEd}- zQv@t@mIPki(Ds5*RH|gt3^l4IYcq>UGPNjczRa<&E}`4pzQ83vyF-cqodv zz2`(j&8V%LhpF{bj2Tn@Jp7c*+t2?Emt?6st?_$Wj@vqFDoyvca>W#nyT4A-=1Flk z7&Z4|0>tIa!eDzc)i*NBG~>VHU&(ANhb)NY!r%AixS>^+pn%|N5@bWZK(^;|j3{8s`(tB-WlU4Gdy zyEIZqN68U~CPdC>N-fitMBocb^df)K)JfNEY6$X~sXNAEoDuOuhItS zoKz4AzWV)~!t%xZRprfY2McOOd*15{kl)KUhTot4jD+Zy)L`O*zDp9=Q>xDou8L8Q zNDMWI5eg8|6l5q0b%;OyFZ1PHr43MRT&di7EfZ>_^TbAJ7$^L=*Spu~u|dO$O>@-(PP`~| z>P*-zUhYSwvia|Hj8FAozEPDok-^@)$*_;)G8`B zgU)F0$DQ-8)iA>v)x^00(8b=@Z*>Ptn}3DWsT`;b6ZwUU0JH@#0FE0dWtiO0puUj-<^mOeY5bKZ?@Xhs>!(fT z#Xe)A%S3;ZY7sF}7!2!J;l$74X}hRH)-%htOHR>5+4vO4Hnph)s1i8?S94-mBd(;| zw1o$9Pm(<{_tU#IISy<-=7W(+b*P;!Q1jL5x0qj% z6j-0vM2LA}x-uDu5X-BC<4#lMm8Bf7Y5aWQWY3l z9qj@deOA4hidmCcxYkhvX7pTi_~A=u7Y8qJpdHHMJ9&hcGNB%P+%FgHY9Mom;-e;W zt7J{xsLeZj1_+7t~>` z&%1X|f9(;-fb0QAiI~9oamE0lpyUnwj%&(gJ&^*H(A41UZmGvB&7ZK@=WF-$_RdF5 z+PJ^`M7>h{W$A+S>|G=TN~8LLn9dWnPzo&&^UiqBl0Y}Y8b8&ZGwr)}8Nh$^*v~a_ zk}P~E4&B)TgD9(~s6P&?2l8nRWim06T5r_NC!j0U!McK_EBoa3cOU7rhe{ibpIm)F zf4GWds$=1A6*Zxf>fk3JTQBHRayG&?r#$C7$sP6f7|n6mNw4)Uak2kL(^&^J^?rYR z2ntAtbc29`bO?-rfP#`1NKU$2VswX+A}s?Xl~TGvKx&N9-8GQj==@#$e1HG(54(4F z&wZYA-sg4RN3T<-rkLuO1hoGTBJVbh3&E3Y-oe;3rLvbnNbEt2;0==}M5qigX9bv4 zzR>J1F3jhJXPG*bgR7YiwfDuJv<0`oD%S{wcj|W~zq?V6Slx=+P+wYnR&i0^Blgj> z{od{7x{8PJP#*rr<=?sct?xOS2Ju^n;A+~Ig5A0wtLLz}}Xol)vT&S;dMbxex? zd!&L0C=0f*_?6t2LAl$AG=4Oa8PnD`{Cj6Aew-yqLK;{pzvW4R)-=bhq{dD>=(rb8 z)!ZL)2${lUb)#uaxmmWitaAtZ;C z$3T)$J?(ES*8)AYD+M>nxS=Yn?Ow%uspAdx?OBSU#LHHjo#G}`TZmSkpYC{2cRlBd z*PIgt1^fyx!`>T7jsr|+lSc_3w7XR`W^3$dO*U7OAA=(PnSO*&4=F6ePTGhRtYnjK zquAOFYF#(=Wcz<6o|-J>iQB&3Jnv68H1eBmu28pB{zIQ`F?C-PGGJgOnlpEBDI?1B zm5q1huruB7U6rpfbGu+eeSM!|?B$%_R~;i7RErkj)3xOmbvkG&{ZTekPy&gJ;kbe5 z`VQg6$){!Nv#0&xFP7=f*0;AGg|D71h#tC>-KbQY!4{H;NFlL!q@;!${LIWt@=c^2 zz91urob|u-%c?-#ihVGOMi)+eND?j6)^t@_Z`R=1{Ep2Ler4Ez*epv|4Kh-OWhB+5 zydoa<{S&aJfbHb~OyVR3gn^d~{bOCxq~EaRBD!wh|8hVhU+Zl?-LxZDs<8bF-7g%0 z!m2AdVl5}DW!vQ$>x(4TPliJ|6D--76UZ1WnR{MF0<}Q`a7bcS0 z+Q-GJB?(>d5CzbwU40SUZ?4f{&Tjbcz~xYJf}N8}rPto|*=>OhFA<*sQyPY`i* zYPH3z7hhOtme4#dw8b$oMdDQ)uiNtRM-vJ{P1`XCAtG8P&zsOIIs{_rW6a{~B4r7-6g!T0Sy`&fx7Qx4}Z)wUHR z!@q`8V&2@zyKkI=N>WAd0l{mU56iF3w1K-II&T$}(7-#NmygnP;1+^dut*tyS<<2l z1{ftt{@>V6s9>feB}uY?CV`-4W+F6ym^i)okZz*dHymcIuD6imWRRx9SyfWOS*3C7 z77XL8*`odAW2@zC-u)YDj{nTqAQ#E@=sAUm|5 z8(91V@r*fqRvE;|_bG&zKIz5kNhj@>Hcnx7itVc%SJt<~pLy7-uB-Fp1jju_dF1RE zqNyMm_?(1a4xF_b1kQ?F6V6xZ9qAoqH%?sW%4EXD5=0`CE|`WS(w^4na=!=WrNj;h z@ni{~*e%3G6f8AfCdru^&{6Xcq0GgV?}IXgbWwUzNm^f07Dn)0mh zQfxAe=Aqg)TUoP5%d(hg*@}9>6OIucL4C8^4l`+}!Cx6pGx0|TL!$K+HRE1(EOAU!8Me~O?15#T zq_oq^*;tkFc3-9sr1Sn)GHg3I1GiKH@0h4B??u`*N6@P0E}v)A7DQIQ%0-kri!nAP zN#KI?k`l^-%D^Jg*)>%{K4iI-#uwfcNa`zSUnd`u-~Lz_j$kxU_KgK0&U%$1Qp%x2&*Ow7+X zLI<~E{e@5`3#cUaU?Esi`?7~YQS*E)M7qda8aZ8-RCo`XmSP9+;kR$%j!vzZU&lVO z5oy_RUBeoDnn&-(rjE2FoyRM@J`zzS!74mRMDeGZ3Q2J(_% zBv~({O5y!y5~yXJ8v2vTe$|tY9%)(x>~sN-t$|a~D$XQLA|~Seq(ct=jEYE+BTF+2 zn}`-QF%{C&mc{zm7^chWxCEp;eZ$yZHfohf%ZzM@YCMp)-D`E!PT`@#N#=fe3Y-92 zo`IBie>d-Y%kh_GE~FOY0qP(`h6Ffoe|8RsNVoa2d`N3TwAe;}iB~W#pF*W#D*z<2ZV1lk5rVJ<3a4%{%YR} zGP1=6Vz2tb3>)ZuXTuf0v3AIUK;hG1E=-jRzGcPlZL>#QIv-t{v#mT~X_nAJCU_Y1 zT1zjLjDr=le^ZE2**~PVS@sXPZTfliN_!=5bo2Eltj(2~Iv;Vn84aBA z=ADbn<6o7~+Q%z+CHRCM2if$#Y&RUtMpL8msD84t8@qjqrkaHNScz@%CAYJ)5q_bOeaMoNnZ@Fqp4YzF#jcrrch zY^IA-MKKmNCJVWdJn7m>bDBbSzu$$1fB`No0DRKeEPpv5U8cCfm8Q;*jZ#u}e{{Go zhx0$}Xo}T?J}6z;&UK^GTs>m>*=Llg(3|G!xgT07_K$+*RM4z^@-u)~PR*jkD-JK_8XSE>;Ru$51K<(42WIEHl2wQ#Hp_oboWb^+bK=8K+)C60l(X;sp4oc{|J*R+L zT1kSpK$Vr8h}`-aK9r}DiAS@-I$R{IF@B@!u+e_xn`OCl4=~s1#?C09%)RrHs!!sh*>)ZP65(k&>s3H+eL^ zKbZokvi~cVDpblH>5=7C&u%AlT8xD-Oi81PLS;|xJPs?Q;(28kHhAL@lQ`H|A-_!E z=5jvdlJ4o`^z#RkJ-7vY1j z1qe2d@m$n_OC>+=@~xz#D6aKXL??G`+T;$F+fP^jsDHxXA-S zGH0i0ohd1HeI2jW9+B>tB$G^u1C=>aS6xYI1)PX~HX9mA!V97gec^6HqMC>z*u^QH za%$MIMhuthTL0S`$JzR-iLjMn?SNmo!jDs$k8HxPjNZWD^OLm`ApO zkE`N<>U%d>+uD|4-sAnTeO%h~NJ{Rucj;K^_RHZ@rIE(k^GGNzT?KF@y~IWdMmkt- z#^&aG(#ZkcB}2GNMWe*#=spREF8#lKz$63k)6%;_A_jU_5zUQy5%%2#m{A=vfabAV z>l?gXXbFc+Rn}Cc9yxDY9E0#6J*}+))|z-)XJG8XuuYmGsZ>W4UimQ?v3IkAJEgNV z-fH=m+ZiKcNb?e4l_EBg+J$e;07Dgln}tj8C`$f_<*c)jDALU#qa868^`)4lEA9y= zNn!lbLNJ+jO_`@zD1CB-H**hu6WV&+0H{k&VTa)c3HU5N^6HYd{czZBUHyuu#Lc5r zTX2LffB*AIgH$o0>g#GAJ?7Szqn|WapU!Uw)ZP@^%uYgT!KY>u#nii%KXFSS@Xngq z@r3WA;;)$eFZTZ)WnLZdRQvH@w&!Hu%Tq|xW&ps9GUh>LRVw~Y3sl|Xul~Hv5w(YA zT`Jx`f69o!#>KQOh}mSXE;A~PpujCiRYryjuijn{UFQgJiD&RK8`VU0^I8JC6j4P;_xQWqrXs_H;zBCx@m@!$rDsw}Bw&2R z_B)*dL_vW`VPxo)v<^e?c{50{zeMS@Xva*`Ov!!jOBL5S6#t_&(w#yV>)-pjmyk+2qgN%|GL# zqvrJqWa|9CypJ8I_^8ul9*bF_Zo~Fo(urnpMjtorURvbF%Ps*I1k&GVl&K)!-KUHu zo!h97Cj0h+X2kZmPXHbdVDjD%660t7Tw|ow%x8Ypxv@MyWYue%H8LD=iuGt7?k_Cb zUu`*;sqmea7)~V6qvDCGG4c_P=~C`eGw!A8^x#2%8!pzb>A#rvaNBLFb490lG;bPO z2ElImlL3YYJEdc1pH8l|MBG=zKDU%X0<|8P!LYmv5hQ&n#?~ zJLr}b&s&z^{tsbzSu{>1Y2gFQ8_%HmTeSN9o=6OXd28b}F6+C z+5h;n`6w=C>AY?JBHH8HgX(1wKgP`?ttWvyrTQpnV{@~HO0)9wfbw`i%y&tt>gwvC zR6wqB>6_J_Ip6WPzJI!&UH2gxpvMGL;_(EuOJ~)-4rKVmiW(YbSWH*juVMYK&CAd%``M}jztB!x`?IDwgrhB{%4LTROmuW& zxM~pqq$_k}rFu0sut#-p90S?5&)FnL7j?z=(X!tzJ2g+i<>BJy~Iy{_KguT+*ZI;zFP=Aj^$i^D>f(N9@gdPES$9 zk+Wf5OxueH-a@%q!+WfBP<#*Vt{OF9Q28UsFU|bnj`}#m9X@=}z!32hAhZ-I?+_Q^ zz`rNRg0)0(Y5b#iWVbT< zbBwzhp-+#8eh+SZBc0Xs%`Ry4iTzhXmh&-yEQTqae6{_HBNv;HKwCOUe&W8hB|crV zYqudx3#{KaSuMc{+)*_Nw&J%Q>`4XYmyqP}iQf{~bM}!aCsSV-Zp2k&o)Ym@ar)ra z{o&>)x^n|qhLm*;ZVxX6E1=ApjJ|1VPmm&hDJuFRwMk3*cTqq)y@# zw>i{z?*WY8%EQ;o#Z@~fj+7CL;U?%6)7{1eDc#T;CY*dD5-XAD&B!m-p0KJ2 zuWYz#^s|t4X_bYugL^tDz#&|p@56O+YO!Mf3<&jwk1zyYUzcO$<_xe^{#FrL8$0-z z1pqa3%9<}72QnvAQ^~aZO{IHZ!QcBYFftLg_hiPF2@S77|Tj zz$5_s|Brgr4U^~1bhL}pN^xLm=Rxp(zC(V@YnR)Kb`o6=x+_NC!vooWK1`5{&+5B7 zH)>lm`g$Qp_}IwTO|;DgIDlNbNmGS=Z4A3sTyM?S#_YIcfR(6#Y!H9m$zE^Xt>{lP zOMg`t;N$y-*q99;&^EM<0fcF#$ECb?G%BhX?4vDw#=^9!`@;Hb6Qe_;vl?u5lt>!? zg8;+*9jV-LE6#~#U;LZY3Ustfs$M=)Sl_zN*3~`CVPqz~k3rx_hCrmvHQ^xBXFsJEcy{;MW5jJ!;cl1r*w@gX66oI>!ElG$T`3QShoul zPZv-N9F`!8&yrjcn($&_c?IKoSk38C?6Zi{JL(Gi!MoR4Yx}323}UbMfD;jUaVj$} zWs?xT=WW`X8%dIChHJVDEZ{h`uR?QbKZZjXn}tsZB76?R6+RHrCqT{Ym(Q8nQ~85; z(Z>O0_T{C|JU-q6J-c@!k*ckTt5~@UvfSNdv=kJ(12u~8ugM(WR-Na+l^M*P|L)fk z1-A9_I2{hJGBw)c-0irD*1R?{T>d_A%V3ribRljI3=FK-EZ+wJoH6|ye97s9dz9$# zQJTqL9K7bi`zZeUm;p~1`?-{(RCynGqpBPS^ztTUo!Fyi_GuB!R87B69Tw8e@2qKB zOyI*{JAO0*=G?YYY?}iDR%N8BU`T`i^8oI^G71(SMyMaj^38Wu83gv*BY1Q2cl_q( z5^N)4VR87GoLnmu?7MPMD@U5<&9c$d`@De0^EvxsmI@S*#9q{;=|B|e?a*RT+)XHq zp%a2No!i_aR3^fB+1^3bXv=@>jIPHA3j=A~P=B+>&%1>VN3$cNh0K;ZXorA& z3K%A^x4`HtHm&_BXwc3&S?8m7^95-pa=Y2LTD%b`Bm9GTL&WG5*l(r%Uer%ESNYXH zj-dOS=unwVL&s=!=jJFI=v^UM#N#BYk;<*fP^7v%f!NEg;PCdi&I%u~fLi}0KyhKA zVlRA}0@BEN#}$LJk_1LvHxT&FJPs$aL^!~^EKj`PXtX@IrAM#+joqHw2(HF+{2T>= zHrVKP0&ms7gp9+JELR^TS~>|oV8L9@$p85B?r``k$g4x zSN$D3&aMcn^7=}r(k29A)A*M}57iDtebHJEoEEG>Q{1U?H=|e6lUhf{Q29YCgZ9tP z6H#25mPpme+T=f*Ye)&@emUM#COhE6I|3^{O-)U`nwB@E?-kY!i`A1Z_jRu;<3}c; zC`p0T_#Xkyxl6~&o|8w@-uXK^wb&V?=w^|JTk>g4RhDKqlvbxqTn>5!wZM+q*J0xb zR5GE0{(X(t7apxSKzzy(`023^K+$K`WS|@lC%K0FkmZI7@esIo!Bs8byZXT*ZYZ|}xT_c&_;k0szill*rkaPWh1rB&_Re@N zM~kmYt)-au6_nPtMVZ4rFPyQ5W&X1Q{u`=L5qu`k_ckpuf(QD*@Fbu1zBF+}l(|F8 zrF(_gDfxWu(Uh=182A+xUqo;h%E3A+;ug~GU+se%iP53S=DT4b%23(=Uj%H?_z!-r z9>THP1$z{<5*yfo;jvSRxum#-bxc4lz3r{}Yu%$Pn9FK~1=q=HFhU&)ZGmAKV?_^5 zHpfaVF3%3dS9M#ms}GO_vpOGU4j3!!^{bNeWCTkvjFqxdoqA=WpsZh3M~qg)?1J@; zEFVOoB&cnQMmKud^kvNW8XCc5JM{k{a`9}}wdjpQL__94rxN1sTLOBSSKZ6EvdZkp zX-#|56TrvMUd*`0@x0g3v7D7Xji~6C=1aC5FP^Np3Fn2z;xkY#4T8SB41e;liT5b4 zeeAK3fqD%9?oM_S%0Bbjf6mEP=DCEOAPSub^HPG<>7C1eU1@SmBS}*;)ogQ7)T%q* zmg(xR))!p=n$YTTAl!9xu14Qp>RXS~d4s_8EziR?<5qip%ZaV^v4v?`m%wApK?1ZI z=gPf;!*^pQ#ofMX==X(^uk(?w@gs;fW+(dqgghO3T@6`cd173D4B5Ncd$YtBMb|0U z*O{1os(+3N?^NXF%`R2M=M5C(C7i-o9{m7f-5ZvJ?UjOTpo1JV`P}zbmSCTR*p&(| zHTxTu2%>r4kv{PG1(7&1Nrq{LxS=e4d}i^N7@S#MYkvldns%P&T}kF%EgTiy1NuND zQL@KhVUSZTdTJV#Alx5I$ubyNz^|@V;B+cvGDbY^<+bZ<71cua z^_q0Jm|wTNW9Dj^HGO-!M#r9q;_r~EAd)&;<^8tz zg^ERiy49o~?&NPezy0}SUwG)mwvS=VOAY9`@ zS}*(Aremg+-^z=v$UBBbn!bNun=e`~bwox2UPXrvIgUYKWb?@%!L&TpWG@6zUi+BK z#1kY%R%aR`HI?+7UmdTM58@UojeYdXeOnJ`zj|n{1<|>asJxveJvJ(o!=DJ-mTWeT zRkt0UjTAcC;JdH~hKl-`3$$zv{g8+!S6;2fDw@Z6WZubGF5_8Zq@|ygS~HK6R}L~R zv08%50G>&gfwkkFmB01~&XN|(AgErga5LV|Pm|I;WPZ2TIcI{%d2W`VNadVDOnjc{Go6l--X*tNp!Zt#y&8wtP66E+p z@9mG~HlhVvY#4gh9v$w}JOHYssFHU1^IOLl)y{i7n+ny)NH3%5p^ z*;D?FKgw?NUYjLjqR~U2TR%jR7pU~r2Xy?x_E&6raG7^kPyD)m!Q#|h{nhtqa_y7< zd5uj(Q7p5J`-;u5qu=G`4{`%cWtNYG(rG#3M~Cdvx@oMqWd%Qh=ivi;@S1)F z76H>up+;p7*1m6_EvDxs_3kIXX}4(iPwjAR4_+|N9aW!hIL4v{pMhDVAundJbtN$A zk8l^u>m#8YK3C=E#hif~K2IB62Ds?COyX;6wssm`&v|h1OYc?^(LDM=S;iDPlYk{;)Fn%(x_$$3%~%Uu`O*M!n^Q5@bgT4Zc>;qQ_@)l80q< zC__3Is5GgkpQFMK$X5o$*#se!Qdl)E%w}%Mzpqz&xkBaK+D(aBShkvTfqm0ga67@s z>^6e8Z=$5ef8Q*AdDEQGP6Y4wczZVqvm}iQTnP68L9e~YBVw9?tr0|ygIXLoM-%+= z;9bto!MMk7c=Oo16}Mp$V_)_2(U&PvKVMOnex2a%Dsl~)eW}d4eQ(7;mM7z@f2S@3 zTA)bXfeDORVkDjR*y0sz(6u8xV>WR2czKblYfsjl5)#ZUteYExqYC#u(#0P7pWrv# z7_P6~0ya!V#@Dg!vio78VU;M- zgVgZQDVQuDt;A!kJ9y=)6&4`&(lbot-Q5-7S$tTb?q8iTOAWBJM6_f zU+?zEmwm9D#wve_(Xlpr>j439%Y&iQFZ9Il3R(4d1-c}wKd_{~BdQr4GgtOzH?^}t z?%X_Zga6f=^tGk!8~AxD4f6+qf-Nk~n8;bssB`ErQ`-FViWjWohpz57W>b@AwS1ReVG1T2?;eCCcOdw2 zwAxpD_+D5nwz(KiTQNZ-W7t4h`?V?r5n?&YEa{wO_8d)nV!Mr6vwE_+?$W^Qm;ba{ zg_U;}?Co4!oz~Mmba~DSGw;|T#{HJLW|4m6r>*a@je^o+Q@v3_NPh>=Gu3|^_f3V~iV8U?_%ObEO{9se5b+i1Pgb@;Kc zRp;Q45ZRjOtw-B| zaDWAyB=_LCrafKEaps-q!5XVU4jGD`0?6S5eF-GLTE$-f9PS`BNXVs?u}FC3Fn`!? zl3zw#lc$E}_mXNt0Y9*503~O@^MUlD=#i_BY%&nDqi)QC0Li~!+T-7gHv>-XnQD%O=J6KWFoDM7BZ6VIfkUaY^`#VFP4HDn#$(QoWw`TM z_jxQBXXEtxE$L!(XH?M-KI>0JyGXlF_vSDt_w&v9kl`WWx}IkmkO#~rjrRJ&#YgL{ z9jw{}7f8nu-wUP$f|UCKe&|ld5}mp6$;aO8yl=*%Ta@8plH8{_plD0}%URp|HXCZh zhKxLYBrpYcm|tqAdS`a%(OJjS=GmvC|KBvZBuc{ti=t_UCo1n8A8Martl|D_q`84i zlqu<#W<>BdHN#<>nKFX2IK5LM%T?fRW1s!1c%J7*`RvD42*#I~G$bKcR; z7Vxy3BEMf&SkgA#RWxqrdN!94kp$@nWBV{t`Sm_at3W@YDT*wkMGu~$D%emAzM322 zYT11UXh$?+4U&$QRn^eVEqCh~&#~rvON6%)s3h#1GDUl-fAr?WKtWiq;Rln z${{~#iss8R?Rh`gyt2MiXf9ZyYxx(MnYph$92NH%-3HF|-qCg4P=>s^KM;>*Q5RcO zs!I40DW<}kORir(#&v7RuHK-VV==DUw_wHi8G9K%%NH7OEaYgST#_NuWrPM&cRTS3 zi_M#U;Vve7i~>uT7)7XE0=SguGgjzR^r-Uj?sFd6+bw9g@0i!9b(d0*rB%L>bXVpX z>vg-p>npy`SXWvqJVU8WfoQ0TeU|f)O<-HN;dJthi|XG-91sJp9ehxcYHNL(_KJaW zdPd>_WpBR&QZ;sWyq9!x7!=^y$_02XeH@!Eq^I|}hL5pFGa#Mz?NOrrgjV*o<8UGw zYm4^7yir?qM`+7;9!I}r=QTHMng<5=F7^WlRiq);00kG_bIrP&;8$ahjh*5XH;irn zBPOm}iB-~K)?Ff)Khpb)ds50tke{%MnKyv>7t23or935g*p>L?6oQFYbydHsaJ)DV z6o!D_`4R4U=lBJcIoJrzSw7infiUiDUG`xt*LLF(qhDFOWXtNKY9Ei7o=@=*4AX1f zm3T=$p$8Fn@(Of)Hm2J(^#OTN8k?{Mghy4&pL~beW@IJcu~AlivNw-sZDP zAb0W%0L%j77hETg=^uG>d_B3t>AneTJU*#$l#3u!=W@`78ypsY=K<3CiLX9Ozw#&9 zV};XjlD#{f7b6wqt*`F|>bg9yJ@2drAl-9We z5KL}r#ZPJI*PCfoU{&#+47f=ZS7P{tKj{>-vsoKu=bXj1I~&%4bwel|1FBO z${M&;Cj%F03ACm^Ea5XgUFgu*-AS;2`-ckepUr~Zdba@^3%a12vMKTS?7U^}3NpE-RL|=H``#aX+PDI>w28`F^Ph^w z)25TIW}?J^ipUzXW#cH5PpcoGdAF_)0Yi?Fg?E4DUjcvc3|Ln?C%x}VuGn&h(pLrD zcwp1D(E(vh2&zFtRJy!3?i3rN{Mo$EEP5IrRG_;Xy|W{*3!&WjDu2B6*R9TCDi6%V zCOpRK!GigA!k}PwCG0QCMij)x0w^q?M$=C# z_a@3aWTcuiRrxme>6Izz1X>4+1!Y8!;SM}4P8I8)9v^q)S!1Jc{QKp(#TrD^?#u$Nf-8o9Avvh7@Y)9~^n?Or%Ip<3Jw0uF9(60b z-xl6E`Ahc}8>-0dXSjl$qT=%2B}`@%kdp9k62hoPc06#2V*{D}5@|_)u}I|+X4j1o zD$2%^t0HXO=E-M9OiFF}!@e3&d?`;2iMLZ8`X#GAp7;$c~{=K-4ys;O2e!0g9LdQpAPjsg&sSjh&SWE0SLrI5`;ovDfC^OF zCmQJc(#uY{6gZqkR7fZ;ViEW0lbL)*F`(gBd2I?IIZ7YbNbbw7RT@2oCof|!5O;Y7@EYULEFsNG z3!9Vglgdv1U043(c2)%TZVld$7p>nuOdk)efcx1194o{+} zGI4T%lMAF3=ttYb7t1Et)V{{*(5ad7zQ%t|G*j3W-6y^|UM7Bhg0w|Kp&#O5AO3t) zTAwyNT6bmj^Z^YtW|}r?+VEAJ?iRs#;+;v)`NF-bD(`^?rhtGNw8F4_AE*~G z3To=3I9JS@-kTW2*9L-cC@YQys|e|=(}g?bW%!LOl{L$n_pLM@qU1M@#ZGm2?K2_1 zj-sZW#1(Fv+7&jVKi)LMuxqJBWzADw2N{YAP!58t-RoU#*Huf1y`M49l9MTxgw2N* zM7G>nmF^Y%6EUcW?M+ZH4Q3wJvbsQf7d#ae$iU|8{a9!V@ zM6Ic~Y>t{!%y|qB2lVU7PKnp>;Gi+c%HgAN-N8HJDMHCRTh)rBvLg__mdkAy@notq zzl&vm$#8D#@e-)z)kgYw+9yFhgEVK4EE^7>tvY_EUjtV!VbQD2dhnrM+JFSo6*c}q z01N1#H##1d=83%3`}crxZyu7dlnp_)iV$&<2a64*WIWEE1`R~zHkF*Z2-|Hf1d~>8 z>@*$Ey_XU*VvY3CN#{U-1F4LBJC-yS^gO%CXMy;S*jLM|I2aO zM4qL>kR4KOx4VE5(Cn-sU2}G5ynB)6%y7r!npl6!QTA;Ys2}nuX~QR83Ka0T70M0b zxW7x3iV9d*?KbKHcZLvS6Q>nA?;3G0n~6n_JV@Y4m7wd%>M6W9`uI~oh7$TaidAl| z(eHX(-`R1sH?a~*_R?lgz z5U*d^cy~nT4D)9+$FHMNUmkKs*+aXem1IFn|0cjCjBWA6s?K1_sVrygzneY)<#052eG=V>;6xP}!BWrh2kxOPn2J(Tt>ZVSES_=KzNy zLzRhT``{*^QJnhh?CfSrZA7;zos*`tgPIwA3WP#)np^gy5}aKhaT5uZw5C;UBGcd` zRe4Z-H95!rz7FSY?mIiSoph?zcie{DYJ-{5&(FRz>Sr|3|Ky8MwD(=@CUtrg?Z_Ac z0ev$kxS5O-Gsc)Aew9H3Nxx^bDXQYL9Y5dbL-)}68+~&QPSb*Vro<>|IcclaXTJ@> ziM@$$l7bI)1s^YmRa; z0WycQbm!#!#j{B7uUb~Tg@Ss@RbePZ|9B4t<{}~f?o>H{*EZSY&P}>g830mJ;APS# zDoC96ZTd(G^$g&DZJVH7bJ73MmS54hf+y|5$jzJKn@rLoi;sh^Sk``Wz6RV%u?i?B z-XuZvS@h40-vr-j_n#)p)0zYjBSQhMc>wi6QYbSSYhNvrSxlCD+ZFDp$Wu8FplzY& zX}aYrW4T)mNZDh4QOmE+`MQ-S3Zj<%1|PZugb8I84;besCylwezs*_AwWrO7S^l_M zA?!&!BAD+=R;(5l)L9!JQ(RRT!3B}uFeM>i4tQ?T0Xr^d5$U7Gnk11%Z5vFl{Y2-RY5*3PkEWnFrjiT|?8z z%j0=V$Z;JX60T5znS-G-Bn*xh!&$3QIG4{}pX~Pe9!WIGRHrr-XsTD&a2AsXP_$0U zb3qhVfHyNvr$$b-cG%9;kNFg`vtQs=*l=c6m%V??c82p`8yNwTQ_zg58{FX(6*17P zwae+n9f-$53|b!`;*9=-PI_*TL-vT(_h8ThC{W}V6m)%bZKn^9#k`CVRIl70d968l z7{r`x_f2Z2c6m#!0gFaS0)W2ga%Xgf3FmeJ0BD9O_bS!|I6q>HUduyQB$`k0H$2wt zP)!=oEQ0{Dd&j@Ys*0l8Cr4mYPb*^_$bMYedGFBBiI)%#8!)9^OUZq#GO_)`bT7+? zN}q*5{Io7s|Ct$}EFe)SA&5v8tbu!Z%s7YNJ2c2pW_J4m8&01y>xZ1%iMsuL!zbYG z<~Hfb^Vhm%85D4lrD*$MFVa&f3CZ{{n5x{_wN5#}fcmz=8KJC?}%fL&Ai*mvkTPbv@Gvn_07?cRyXK*Qf3Ma5`V z=aa>7{g=B3!_Pd+P1cR015B0=~$e$qIfQ{p6#)i+<9$0bC_H?p?AZ z)4QT}9Wuag;a|AUdA(;@LZ#U2$*xzI_Js1T@_^TaiVh`m)@*Ow0J=f&i?0)CY1>JBx?y|Di>EW4U&J93LA{0|;n} z@Sl`m$lhz0Ko#di0^0X^L-(3fX%sJMOD zrFB!H&^u7URF=Ti16L|ypgUlvCc%54j!@zxyzK)aL%60XGEH29>$nJdX=8K#?dhk! zr9YpLN88iekhJV%CD|)yH*5=`12ZTtbGE@FIqB~A#aCkKcSrE8=P}qa*utrj6mpFu z)DXQfaugW}F{W4&`j0*D9w7dt#T%HU++6DnfKMl1I^(Eq%NuV!nOR?+pl&%oJ0k}D zTJDey`s7pT(~5&XaY-h75SMm*wpmug!Kz;9jCfR&dvp`)x+l#XZjPr5`kx}qpA1GH zqZ@CtZ{hs39PmsE@lN`x%o>u`$-b>0?ht(PM@E+gdIY z+THY}%<`)%zmScf^~L4Aec=-;*wNOc#aOYfdz7pIW-!HPrAgUZuyIcT3)~Lc{dAf2 z+S8`7`6dbRKP&JrN6jK7=j~X4-33EVx>NVT4Rf?0$r#`>FfVkb|BTCjR-~y*emRaK z-D2KGaWSNKxD7U2kDd9#;wAFoT~ZGMs3G65sPdzTl=GuQn()rs`}W5$=MaT^W_A6H zx0@#RmuOQz`S(}bPg{T@;)6tJsE+42ReW-sPplY^`#GIsLmF$Ew(Zv{hc!fLp+3K) zmLfRqYIo4Ue)~q2h*m%>*~sg=FO790q*oasM#@S{4g8Q=GOI1dp%P#@^&sN#)gVUp zr;@2U-`onrG2K>4dK~s_2mjk!BZ}cl$=tSTWY#lQtLH-@UQAWnfU}IQfJLzR+)V0P z$8F_FvPWGZsJ%yD@Q4{MT14cfK>NR+LRj)Q8&623*V!7b=e&2T=Bbms0pcbtRn#)A z<*cZsykcnx-EvuTZP9ee;&)=qSc;HBe|5F%7Ko&Pp7!c&If{}EAHo2munWMh?vjM> zGdy}K5M3zT-S0qezO?yutZ~0wx&`LL z(O5OO^JQ^gx+vnS=f%q-MT9W>ZbNU=YhK?d*ml+U`;nl+#U&PK!LB4A`npfQ)|54G zI&o;+f7WpIo6K*ZFI^G^bkk3fg)U3)Ht9PyjeZQk3q5KENN;idYP(;z7AzsyRE+C$ zx7z({v3N32mLduXTAI08=xQm2>6N3#TlVYHmasc(kwG{BD0@!Z zyca6S0FtNf)|vs!eum6^GSFtO`obuZUx}&NT^DC#G3$P=!=aFSH2Le~<8olU@=Fho z8XPw58CUu2ic+es61k%Z)3v;0qw)mviw#YGk%COW`nrW6qGB|hs48#%WMjA>osfz< zqB(LV#ZxMEoW~lP>}O4n^_k=TXFzIx?&0(d#jVKhMuJtPJ3#j z$PUgwOZ98k8@ZN(wqFJhDz!97&3h2M%B@CTCJKA?+5!mD#r+vuQgvEqW zhY<4)ob7F*cJoX;v#3s|5<*QhZ~qJjG#b~%avANiyhD;_gcz!h=f(>>qxc9O^cz1pbQb-DJ%C{D zI!zs--7D6%0WAwK76im&z~V1NfsIRIgsSjR>_s{8VB86>g5V}ppqD>DS~=*h9x{*-t_wNxF)+snFW@66HdG#EpnURk;?HAvqpY- z@Vaj`843)w1zt^{kr}ZJX{H5w%x<4GD9u&gGmgEA85G^bqo2~#2WV+By_HBN0j2y^ zv&ptJfRKKjzdwm&j|F_mH*tZjJYs-2T5C7+!!C-^s1<>nTAMDbB5E_5vFa?jp5vdO z<@R!WNFBEIiQ4z8@@FdPy&*h36548wJs|;}?mR|5+h_<$2;Sg-|wN_%IrfMdoDz@!0{Zng(dbm9mi zKTVAc@OOR%>Kc+H67&IG{B1srR0{;8$2?B2fWiTYZ(cS+A~70P-{G^f!%gJK_t*9e z0Qt_-<%A+9q4==kEU1pboIunbLpxjLk7X4a= z!k76|b|vM!IFrU4*j)+$!@iji+*HFuxToq?`4z*^gJZV)6A0T%D|_WwE;chwcVTeN z`Y)ZS-dAM0WQ1v{19PY^`C1uw1GEFLxf_J{RX%XC_uFSmx#nNGw=t6qyR}qt?MN;5 zUp{i$P+3@}ve`5D+{Mu{=B*ld<{z*2vcvT#?y9)fGGTAhI154zUY>X!3z?VJEK1Dz zjTqR%#MSa}I#yN#29r1QjaxZFTjB_KLS-{~;AI7(fF}*xY7f~`t04FE^`vZ9jca@L zN|)rD`eekl&ZpqSWI-Lr`}iegK4-BOt+2Z^rp2Cl?oGVBNjC2{zgIKH(%R=yye;8> zqoMM>_W(PV<#2^-meV>29QJ%rAAr|z5%9^cSDm1Vqe%ioMI_zcCrd^dD>zR4R= zeldqwWeEGR8@%Lx>YeBy)1u?!*5m!LW>oV3cslPuHoyPv>!y^VrFM-PwW^fbt*vHN zshPHR?JWcyW>Hj8Gqm=sy&`E*o7kIJ5j!M^i1FO|`Tib%`0viR@0@eq=Y6j0b!BE~ zi^g{3*4Qu_(^<&Ul3%~nMTpDhQ}FbJcH%3^{8D zwYl2vtlg#d#33Ff)of>TT=qWoMvS%m*RLJ|=y`oJqTj0xDg;9!-aJqNtiaUYj=aXG zS(Ho!FJMF=2;(6VH24cA@@hT+BYh%z;7RC*`$d)H<&_uOB5xnF@g}}uZyN^pNalnb2QNy zwU9Y33M?z>KIQxwdF@C>(5ApZPjx^eipAlAh_LC6NKYh|DQL!_!XZK!Pm&c5d0F?; zQp?x*KBD>4r`t5mwLaG?w)i98JEMK-BOd|K=uMwflBGGjP+bqj2SBU;vx>V*y#G3* z?klgQgWaXVYS)MiW1~g-0x-Mgph-(N=L3#ee9>e(czX7G)Q{`mv71qr|b?io=T8O>ekATvo)sH<1QC)b$uRjhhOj8n~q7X+WmdT?rCzy z)MEKdJl0K1xfO@2O^+MYo=XUQ!}VBk(*8P1&$%Lna`)tHw@~E!-US&IZCjJMkIC_1 zS6?QI1}3~W4eSdm3W5$fi}MC59GpSRJ(2N#Y+dnR+l2kRg&dxJC1yfK-y&KO8EdnujNEhe-3htDZz z+CtcLN20ynam`Y}0@(AZZ%sElCaPuz&i-P)KzWnr{PwuN{8?i1;a;F2ZIIvTCWvf{DAg@WmSJoR z_c=2j+V$T#mLlOn(sggjNf98BPy5NwOk8o#{``9JbiPyP82y6r*-WF3@VbN6=o|U0u(rnz%F1h!yIW2T z>-EoKgb}=g?G5)&!I^^BTT5V0_+*RIAH|%6o@7reOVg@;xsw^nyz=1WwXKb+Dkf|l zmeq6T0x9M5uNI`IJ8_}o^!2c)93TOioz1P~J2_?~C^oE{RDpXWJ==~iB{cFzB|}>K zZy+q&VZZ!K!4CV4InGsmfd2fAjd6D}y8hwmMqTWb^)-%qXi5Vix-w$nOR4Fvg)Q>* z*^hWr94Kn9!Vo25UR_WfMR^O7CV+6Otz#tA#cEw{_|u(phexA&(j7l!6m;91xRhlGI%o^%*T(dM-3_y>Xp*td$)On(jvN z3A2v!-=bn%#>t(j(Q2UOEn_hV)4d`E>MdgVH#@nvKTeOEFr^;7#LTnmdb@Z2r)cRy z0v^QweMJ66Vcn3A$u*~}_M3Er5& zm=U!NFjFcyX*PdVxaB@gMCvA1$$Z|G>sk#9*4Zu-#>IWfD|&2=}4FKgf7(9+{V7Sj&OFxR`1{L zSP=9N_CP8c8@u;*eZ0N>dCP|jWFz-*iZ4_|#C#Y3a>kg}wFvoC^~qO^Qt+f?9<#tH1M7lY82n!Wr%Ta@}n$3Sr|QTC<0G@nQ;ErZpx{hYW6P9<`d^MF~aGiZM@_hC#gOQlWm z>FG6GPr^7FIdK8GOr~sD`gvuEmP0~);`%yYLQBZk5Ds_C@;BYF$ZXh0r(Sa zHg^wgY-)V1xJutCYgQ88)Kr~;(9ds04k2HlugEo9$}s{0h_~=y5>gwm5!}Y;K3;JX z_k^x#%3IjZh8dUqt^@ZN;e(Up?GY$k-W7E6dgWbof411W*>=Am#xMiWk*={)HrFzh zP0ph*#5d0i`S*Wn2AtI=AAKeRZsLaf+OVauDMr1Ky);PV?aRxb)@AvH=kBb;8|_W8 zJan1hml{+Xq%3bX|3Xiisdw?=no}|(5}#3q-L8lYAj^v_hhQo(g*Yna(I_p2jZs3( zE!mht_6;3H(SXxqW7s=$i^`MsP7s-8aLwZ+1qP;d6XCM1fY?}NQ+`l!yx*x{@Y!r2 zh&JalXKUCfvbA@3Jfco#Y%Ab&n4mQ}H^LlzS{y5I2F!u3I3n952JyArBPfPz+kNnw z#8n-+;j*-9y{fjRbvsd=q*onVZYKFyfCKgq{S+beCWhq-HIN9aw@ev`hd^d))bkSG zzAo*!u=pPJLf5_^0&;tS%XygrX5&Db@evWKuUyNmZ7Qy+@5>2o!fm|E*573mm_^zk zXpA!ps+{Vpyv2FiilRwSoc0~my)VKL_Cqb_-Rj2VLC%c^Uy|Oo7=YYgDQKmUv`fdS z4Np#*=vHB8OjbgyXr#{er#sHc!!I;8gT_dudl$_MU{08T(-Tpd(2uuj>*xQ5+~(uI zlQQ;wJ=q^*feY==>31~!HF!CsnmjAxQcz4$ISu0#?V=@>+60a!NQ2;Yj~SMdQV6?+ zhA?5qb4xo1j@vbe5GCAS`0Lub`TxVrPhP|*bZ`xR`n$Uhf-2 zAC0nCFetPZ2SO|biKs`t1D?^FhB9aFlVdyu{fv7P#{9GY(80z1+#{)}oFHR#Aj{D- z=P)S_eOTt}j8r7MEBUWDRk)9xiLy)_DC>?g5krMg%-Wh8jQ`eGg)J>wcI%6xAAY{sNnK?Ag+k5@ zj%nY*u5Ug7Jnd2jR12b{M8;RGmioje*hC1=l=Ea`pLT{!7YyH9_ZidV5#kD7s>nki zP;z^#2`k1u99oy*ip4qf9h!Rw2lvn}qFET5N zMFo>s+TgR8g*TJi3ePCLLW}T83S&4rN1#V>(0j+KNabmRUagfiG&m^M5H9#JbMK3{ z!)rn`HD|zhoxEV_0o4X#^7N!K#^gZqKgG~ZiW+80IOM1&?|I#BWevMNsOj(^F8lJL zn)o}xjdnwnr1Iiv5sdukAQx0ksRp0Xfx?p~54#-`?@yR{eh@aE)11UxEj!vAor+@0 z`MKuCHBRM#@nca_j+0|*RbIOf-p53G4cTP|4{j@-W!U9(d*+8C^by21t3LW*zjj!) zZD~gICtg$mYpj+{FL&(8AGz=3;XLFr)C#YIJ&y!jtKV|Cx~5pu>x?}8Xa)L;jCA9n z3fhs!YT$H4##L*mk`9LB+*vGxMukqg~EYR-`^C^X|3@({^$nx zz0X@LbRAnNo(dn-%pA1gZ%KgA%=02dQkR#yWst*=1D#M-siu;DllCm)nY#VJ|kJ9l0v!gWewtG91MaS%e zPSz=E+rx3SHLz_?Gdb%Q_-f!p-u}GF<`(wDEJ@Tv!Cm*@DiDg(_kJfa&8Fm?T1>H- zc9Du_1_a|w+ohS*+OWTwFN~H9Gz<<&xPL#CpxOm1yw_b3>1zw6Ip4%_e6Borw_Y}3ztMPDu%4-lwWqN z2W@<&fA$>*6xpr!#Yc>A%rBUpKv8CDIf90z#vybK&?qwJm*YxFFK^xd{5Er1O$p@A zJ9CjmuRLzb2<&qm?QAHTE6|@goj0d0S3ZN;{!<+{XgidkmxHh00U7hSmdimyl}!CS zT5@H>;(@a8kw|Tz#t1g}G-eTEs4o$jTw9XZDxYQTKc4ADoQe8O`5_T+X5pIaBAsb+ue1l1SNldUGZ?%Hv8WwP z{EN?>rVBcyT!+emXKNmYogEvGC!8G19^&Vd1PLo~9+}tG{O=VaK5f1dR2JK@N+5pb zN`(dCupef&RTR41pl98ZgfyeV;n4(!Qp!J-PXc#Oc*C~M)c3L4N50$}{zuyZrB1>$ zAi_U=_PHO73wI~7|JSmp;LyMxlK|%>zSs|3F+3&+>=nv3N`zib;C5(t^DBnBx(d0_ zq5$)`@Ji~_=z;LI@-OaNDWbkEP4xGzO-uvLVR8F7nk_7_+hkZ=j(WQq8ZX-9KLbGY z2MGX=tb2M^`k|U4HSXXiUH+a+8^932%h#xEN4R`>7BMWIWo%7RO*7J_9|=@X=)VCj?*2{ zFYEG!2jB~eXX(J`2;2|J3^u8i3!Wn0fSP62dZgpn^)OmcyG->=t1n|lF)$<|cClnM zw8*n>~Vt)$lXZEbj%k#6*KdYf9EWG@3AJUFC_y)kR)K}4psSOT6b!b zgm?vd-dkMKBx%&5SPZ?#-EJlLC3Zz>B!kdfqB66wxoX{Ew3{T5A<$$g4RUV3Lo|p} zkmA{4TDmM+2es6g#hacqWjDY7_O1?9buifk(VcNBYuo&~IzBxOZRE{8>pd+`d+{tS zh?ch^j)6ovdO`TD?_luh=QH+T-bYuzYqkx%Rk*(UsIa2XZ>rYNBGJ)QnxGK>J69*_ zLLLnHORUA*B=Pw8&hU8b_?xx~&%^_xmJ1dq$EQB~;UUz|mbUk+eGM9Q!NI#n(Ra8- z1B2?rInDwxXv0j#AU(WKW2N@HnMcnQUnwvqdYYX`#RZ(+zz}^20*pq2n7SA?N=1}& zB5C@25sE8F0q}pn0N>lLi$RHV?;md<5+;#|-i>t(35`d_-rGM;+XE+|?FpeG%em0t z8T*2dhoaZ7>$+T2U%LdBLi=E(!>EF6=UgR;Gk z%>Swirc|-ANXOI)F3@TbXlH1@bJDkJDk11k5d-5RpeQh zG*lRNAw-^^J_OWXhM@4f8fTB;E4i z@9{yWf;KOcH-b+Ek(%p7DV*%daX$2g)nRk5tZq@}*~eQW)&9lMv+BDdP?Y4)6P*Gy zaeNBXUzg4~9@t|OA^uZO12&wbe31=RKFgT;08>>SxHVAgfB+m7W9JgNc+MLa`pDzL zKIz@sV|oZyY1JpfJ*udfZ;C4H)*ab2$$-3>{yL}TtC>cZuFiK=CAa(Xeck^>v0mzzl)6n#g^B$$lLp>Rtn!85Qb6%(Nfu}?< zykrmQ<2Yxmz=`=0Qm-N~F+e+P^~(qzq&=N?{N)H5Or+X55fMF06PeD4GYXi< zQ+16~eyKL)4~@T2ID<9Ys$>Qyhoc-v5uRC0@drW(-$Va>YzZi97-)NiO>tubQLbs) z0Np(Bd~YN+bhp#W+Wu;EoADRqJOz`|)B#NGW(4Kw(CS!CKwOlT3rpyv5n?{2DB0hI z2k&7oTZ%nvY*>jEEd#cmftK-qNAGPp>-4&9;7q);tq=PinYIH}vocMPa^n1Rh;(@wLVxZ#u1Ro*akpDbp7CLK3t51J z52iLfzMJ04d{@#@bmFhfXXpJG=k{^*Ny{`ZvQ7>$MI@l(i8iwjE$jn~nx|w?nfp?A zd8Q7B-gP`fc}0VjZYyu0w~}mjodb@JNtQ=M|8@5L>K88KmMb-Q*&!sN{6;ng)UzQ7 zsvR~)I9>XKtfQ)0IphV!qjQ1PwvlE119oWxoEePTbx82DmKV)(4+-L{v3nB0t8`Ed z8#6)vfVtYpn;<>_0#6*-z!Aczf_4f@M-Q-jFnTk!=z@=FNNypNJ zB#P#}SS=j;-qCmp;5ra1|CQn$=uJ&HjA*vg7WcH>X1n!uxhLX)E~{Cte(C40iIam2 zM@#crtMeS1l~PwzeeYfvRchY>fI;7qVPv;4tDjix_kKzaPIUav9-XN?JvCFS)RsZ)T<(IF8&!ZrTNA9JxscJg&59l+X#N>=bvz;i)^O){&m zRpYr-jgpPNj#{FmeZ6b2*>7sJX=Qq`GJd|1vc)v@sv zAqh?%FWu!HQDkw9Z~L$Vuyw|grg>x41Fq)I-)q!B3)fZml{orWFaf>9pJiT1iH@sY75{OK{brtRElv$}nP$0{y`A1OH zurd)hmr#BZF!(i0V>KXW>c$gG32yW0y_JGez9^!B0#^3&-r+8 z&9i;IfA)9Ou`l@eSfR>h!$|N;h6j!UZRNg?8!pL^A{Lr+yr_}ix8Tni`iA_VWp(|6 zdy8R4u@1nMfu1g&s{GoN3U)sz6nI)Sl(#8XCGoU{Kw94c5AB}d?mdhpWQ^tMvv09` zY~bKS+YNG@HJq?<)13He;PjhU(zbbTdktS68iOOfqAy)tQu0Hij8P|sSPUo$JfyMwJFc!>v288!()tuig~D+?W4mUkh@ zRM!&=yNq|S=xp_1yC7T?skf4JTAuRAQ)cVYh7`=HnLvKsp?O{u^^)3oKT`XcHFvrs zAn-OJ1e6t~a&(ad0(OUTL!7_MO7>YSABmQ1SM<=FqSSi>P=P+{uc}E;PQ!>Q6wVgg z_-6j@V-sg`up@DY4aDDUbmkUZ_2|N|Fy6nKl#H5&OTZ7tH;5P{tDbQWzC5w3?$IKV zFzX1T2EnH?&%B6WXYv$15l0eayf@h{2O2yu6Vg^WfMr4SPr24&Q`|`C9Wt2q7BLZ7 z??XlQAIDQA#8PD0r|(yysBShRbdhrJ^{8aud}q^*_ws-FG!BRAPmb@EK6_ z>}l0pP-TX|VVz)*og~j&G^J?iqkATOUVK~TelzDP?k^G+xhZyNuz<)029+^BM169v zbJZ$1@nrA%nw4;piIASGkxxh=q#Why!lkeKFs;r>DxCGupBtHd(6Swbtxopa@-=P> z%7)G0pEc2hc|?3n{a%o5QK#>Z>M3%HGBQf?`&pwrwm@&Ggmf>svF~?UyzOo^vcZW= z^s%hQ3aKp;lhO7aA{&$$u3JQ!8Zn+|`;K+laRmr6`T*9mUxGo5ZCpvE*#eJl+iVf$ z2(ldnM}qchoxon&_m}6xSzvE}e?gcTAaFA=r!LTSZ-_t1`H-;xF!@@k^9E?n`Uy-s zL$2%n;0L*b^8^|Zy$qSj&A+@q?QgH%X=-W&QV8GIuWsKz`n|kHUhsFUkGq;EV_g~2 zDCZ1_Xyug81<=tz!jLVj9u1pg%$9&3RSw~ON~aG~FYE%re1Ka7Kzq_3D%sDK!B04` zi!l4lYB1~vCr}sMR(3uoIo8y#HR)dxUcP%vscqOHMCsGJHSZaE*C*$fl9AzlgvQXP zo~+m6v8JJtI#0eG_!_bJ0Xne%Y(kah$HY5N|A~=mAn7F!P$jkY&Xi1I|6Lp{0S+sq z*rHKwwnxF;`2uU}jcoaE0MMQDC{h*chHWiZdFVB0Z#j4m&Gu@Fu~uKJK;*wmxnp=M zyZUXR8u^odhTx?(n~rsTcFB$x@5=nW@V^w1F~Lr|4+(3_jjU&_jQ4*JYn1<1U2@n0WVCA0oi zp`;bLtQ3$tk176l-^kv_XEC_w`+yad-6L`j`Lv{Ayo?NMoE=Br}6~E=vMS$+-CA#|1t`fc^cSWhDN#QCtUk z7roDe^j$oJ69%tdjsNe;{kszFnPw|onG6|U?cRQoV-GYnsgwgX+&uYTddjoxo0*!% z%pwZ!C}an4^$>+iHuVW^|Gn$4d~5G8N6wnm-z!zc%93DvM0LFKfyDpv<(N3J(%Tt~ zxC1%|R;LkB)0Qre-`SzGn#)^m{_qxsiMxvyFn= z;BoKIlS$6c%EE5#RBu7dj3&qi$Hwwj_9Fvo$bC3J(EfYl_x^E@4l+cklCcDDkMOYk z!FK%ckJpf`!EQjhc;VbG#Vzr~jbB*mwYA;?09h@=DNRdrE?t)Y`tS0rx#j)(;@m2k zTcupX-GT5E4-Hn3C7{X@?+1udoVTvZ(ydi>@5cPZh^yiJZ~pgD^=azm*I7WO{xi}_ znf}Zs2hJM5dt@_#1WNC7JzRWtDBaH z@^KE3$gh-k9J9*5tI0+#IS}5pj&%a3OHwpLr~BT~jy?_M;j>i#;ol7^u4*_n-ZVrS$|l6^D$&IH<9{&!h|cTuo!60Q^fE=-e&|Kg zSk0VHDPXGkcX1ZGJrKUY?$zny9U}ABMg}Fxbg<#*m}EiyzYP*o|4n;GNBs8ELW7G1 z{mSwyu<2Bs*kY?xzlN~Qf1mh)IfTA**O`;_DsQ|SIlQ~Io~OCRV|vZcC>)sOy_xLD z$e#c1xSWj@;^uUOmM8zZ+de~yUfP(t!{xzB4@&v(RiZDao~+fu3OM*HpKSDwn*0h`>6;x- z_ghr*JX*_7Q>${Ce28yA2G40{Jp6lnh&q#}{gC(F|JS?G`&FBn0lmkq)RgQP;X0uT z43FTf_c+KEfs_RtsTycu&``k=>czI^7iSxfXg(41?=ymYQ_hZKC1M<;iH@)Mno)DY zmg~z%Ul&ERr%)4V``deU45^W&Ov;QtKKAkEFXg_W>11XyvVvg>$AS2 zEmo5P=YoJP!@nenxN&7&ttEfHT#P0EEvX*m2iCurFI=T0i?P{XA6+RbE_>L+;a~6$ z1@L$)T6)f9rK-hhPY@RfGXdqdeQWP=(SqGawdSW_;Hm}%TJ*uJFQ}YM9fK(zhm49K zp;*RsqcU@co*%VA64IbHj%U;T@&wq-MW|d59YuzpTHF&gsO`=>?p@p$+3g2iHw;{s z#&Y^}VP=hcx}NAnhY#46D3Qu7MIl=GHRYY9yV;W&*w9Ef4O0J|EAdPK+2zZb~`-@&5uVCSLdku2t{_T(@9L9i*jWZ1Bx0w*Y+702uFsN+G2v zeB!faLcX?S6r*tMoGp--T-!oN0pV$fYP`jb2vgdnY~ku6}1Jzp}nw9g(nn&+l9jf9{=49}js` zJhJjPig6m>;J5o@M1cS7R8Z)9vqvt|3S6mZ+eV#lwHV*A^h3++LB>QwYzh*kN;!+wco2snGPJJ!;aE= z^|#%L&=aR;Zk%r-LsDHqz8MV*VJyA-U3Q$5e@pn5pZm_%A)J~294ph*%thUDdDhXB zjmitaHb~XPT;^ZvvmZ_jDIC_5?b{THkvsK&LNJH`3=!bwhjrgtJXqYJz|xf+Y5xT_ zcz!58lO3f3$(b>Ox$YgSV?7QYtQ?BT%hD4iR=0t8%B!4u3gH0b z$ma{PN7S{mtd^bb>i<$GxOigi^JCUH2bJjRle5Y*!5(g9t1V_~d#D*`?P(d(fB@QL%_2=#cs-m@v|0**x=rwJ|I2+mOu1p zXd(<3^yA>Utk{wW+3Uwt9WJAt%&G0dJzLq-u3jH6-IO{nqa#eC-!Fu1cEdQ4Po3qp zSVwRd9wePddaZ43iBJ1(OUNc*|9p5Vu7CZdtE;0pTLxQRl~wxM_WHx~ju=2_eDL!M z1rN{s;gv!Op4HOhR*sRtz22c$ffAQoZ5Bhiv7cBmSeR#j6^iHc^H)NVmM?hq`sFG9 z0wzwo)=-M;OqtN?U>zj$MxT1i&|3beBNU1>e*XE@r$A0=}1V z6`S|WN z%1;i`cMG3!XulxZER{UVt54%*Nar=OxRA}>5)DS35Ik+=pGN_&rY7MFt^oP^Ulw>L zOHi84lby;+s_*)NQ~pV0-|wAX7>JI0PrwP5rx;t#8ZzJ^Ygg$8V=w;(BDAKRGuYUS zR?`}gUQII^Mu{!Y30_L%9nFN(AqZL!^t>aF`$Erk<;Y+6K{6llIX2Gx0z%Sn%HG`0$wy#Zz}d$+2|`ZSMpECr5bf)TtX6!|lH{^q zURbI+8@M)JLw#KGQM{^wlrtzj!cXG)wVK4JCNE2eVE2pBX@VC`zPhdr<BV9dco;-LLGib@tzXrr#VvKKXqZ>6Q12gV-1N2#oH|kC;)#Up1p>}#fP6i# zfo*^(rBeMxqdXK*d5MX2FD#>AyI=ya-GBlaWf5V3#VJ!)T*KPZp_9rO(&M?mP_-fh-l;M=ZSaKI2)nFUOVkleHOrar{AQl z#MV(0)h6&vo!x4L8dJeH+(#hKTNWTbUl7A6LBXf;q3z||yI)jfQgf8AyZeMqtEzH3 zuMNreOlv;&To@H_FK+|*1xEejCC860eV1}&Z~enJ6WZ z(t@yi4_PL$jSPjkI6C%JyMmd(&JG|`V5{*FsC2oqlm7VC=v$U1Kh&CGVP!3GAX|Vn z$B@gC^-+VjVsd_UaMHj>9ml61%t==f#P&aCR%s^iPNGYJW?cO1&v!2Ae!47leK2R| zb*ifOJqmkyc_Y>y{Erqp!y7T>YL=13a^j0eci*hGg;H*Xa7rX`gqD>F^<9O<#T0i8 zHvqE?fBnwo;E1gp&6t!~Z*=$DG)=GN1XH)#Z?=WG?%URIQ@b8#iLwlduFo`5QFsmV zJfQFjnMO?gk}&P?wVx$OMNjvDoo3`}Aq9X&x3jS$&)loUQZbaQ5@Hs1sIa9+zg^#DI_<7HAuR7HGTCptug z!)#I-v$*!^wLqEJVyJa-2Vy>GG01fN1=lUNd;l8|y6C8?L;B^9H!)Gvf`Je550Uw^5$utoZf zS?NXZV}=I(0>8PSU+5LCsnIh}yH)T-zqERGSebAPW?tHHtDq3;(hpV`vZcJ>>GjHm2=Y zzpn=U&=aR90y1EgGZ$;2$lqS7Kq5`o~+7YiF?DQ$f;o&Z+F^7_;@T zFUgG3?3vYZhTBI_^t5TKQ~vS=4a99Nm(h;bKPx5=+9+dG^l&$GaBHj?K2r_>-^vE- zHJ|W9CNOInn2tU*L45rDhHNmXc_me)Q_jk;)e0%Bb5p4U^Jz-GMUaea`JU@F&raJ> zrzIGg;oGEN4K4@REdJY|k!e{DYEv@pgx>3PuEZGV&itu!d_#5f;EA|Wf+e7NxGg>f z{C_EXbzVc6U7zQB{LSjamMFu8Fgd~;evXjTyu&Y7$FS0u;fTNr1IeKFPVm^k<0W3v zJ=uy?zza#3sk9+XX!4{#(Clyn_E0H~aGw~qY1ha4L`psWFcFlep8HiJX6^@ijl}R# z1y8J-dv+goT4+i2C97W3k=_?KS z;FY^vmB6&OVLD~1Y?~{#m}D~zLGK=s+4D*|K_1Z(ebNSPU%wu3n%L=%2wxu(_uU^g zX1tQ1BEqJCnmj2pvEN3 zbodAWP*hnadX-YkZtADSc6-q03=rA+A|Go+z;FOF3fi=OKcIYQ-b1tbRF+NLv$wBt> z3K-j5D;>OQ-<+*K3;2qo4@(;NN-T+!NK>(J7*u0sp=$Q4RC>m*?6Am3*2MF=ru2^I zH42a3;`KIqz*%#4`c9TYU3h?pO$y}&#Mhb|T_4S{d10aBW%OX}14fb~g5NmW0Q{O0C9)}YQ0ygnL!xJc)J??)k%ZLqjU>uKpOYMiaf!I>?Tuc z1ZIFLwAP>inqHxmgb@@sJahX{aWVA+0MC)gs8Tk|2WKDK()6V_~T|HXg^=<*2%ZWW`ulPI`KLNV05tp2) z6k_B)rnp(`z1Bv5p3bNndtsXCC@<`0Pb$TK(eNyR9!@@Uc$$x89 zI*yABmjKyzcl1A8mXA2^MZV*dsE(P|vzK(`&tS+aMlT(P{4ouixIk8|@ZI{-`v^Bn zpU`x9F#JORo58?Rd$=}ta@9JHN&SJ*ld1;~9^0qhPPPBnk8R~EKU~>-EhT1=>1K)= zkjj>^W`gTtVKzY5?O$A*ie*JiexXg0r~{;v$(Wjud_&^0Upo!5DY=S9#pz)4KMMq zke8Fd%xQnX-@E4y|`v5t<=&LHwq&F-JUTZfXc zw;RFh4T>phO8f9%jU9Uj>*6xQK2v%C!EzYZ-xhFU5hbxLTpPZ}* z;e>Kd&WLyt5MJ?qs?*B#D6DWWtSWx#VDw>nOi2_FbEY}b{l6GCZddX$<&DTaCMJ_N zm%#y?j%%ftUsv1P(!e$8d4U>}jBG@=^HRT*Q%pH4aba57CM-@VTacbT060vFTDU+K zt%-}aG850p|b}Ege&;2 zI0pr_MWDx!JPhPs7^8PHF3s6;d9klf#f@hPMuCb=%YX)*grI3oWVH@{sy5q8LDnpf zVhdk$}OvzQ$PwJvwGBbnIg9DqRznX zysHrp*9#k9cH>Yu+EMN`(=(mF9jh_lNP>gXfLTMw85N9@Ua_!4^ld)!t}F~~!jfW~ zdrAUrzf;Z;%6cW~^3%N_L+wj_ZWGnuVq%x*wpLB>JFdp(De4^V5mL}GhHl?p+Hk{~ z&=!}50`(1%6LnFdV3o8(>;Bon2`=baz=?0v#z+`Kqn{fHSMlGx^AVTMSU$S@5(6Rr z{9D1a=D&9j&B;?D_vnJe3ezdky6*h6{a| zQe#JHkys;_Om+h@wW#KN9Y>iDt}6<|I^sKb(?)#|D&N!OJ;NreZPIRIfp~gZ*|pXy z!Njur@v#S}qo2@M6`g4AO#g!`0P%aeR8bdqqUsX+_}w)MyBGP|m5b~g(1DtYrs84N z#0bk}qMFhKZ~|U49S}h3OL0}~8c_ndLY);OEz7j&ke1q0r_jh%b+ltkHa%ydu-6O; z;Znw?7;B5pt&OukWDGv2^*B73a0p@Pz`nsb7~#>_Y=(&Y78g_tukPP!ZVp;o9~=^ zH)?BZM;-@OvZkPnsX<{GRR87b(1QJsao-lSu=J$rqjwI)Nbo`In)?%Y0wxcQj_q_TY$uRLJsfPDb06E(P575@3OEg}&m%t#Z?7ZuKk{Vl02{ zTU4&f186;-j;CBG1m9NP!6uD8CKf%=kf`z_Z=u2pp4^ zwz=7kCX%WvbNn!r6k}6M2Mra6SG8J0pR8WG>++!MDjDqpeQz~|gp!TDRe=2hrNYm) zz~zGy7?}k3ISRL9k;PeK!jS>n%$Eu24uTSE6AV7mK3yCI@&4d=dXYJ1cIB>~I9+vT zls0{|JqsB6oS6=$q~RVLWqTQ%`dqr&;<{h;)~p@$-DwA!aST8xR3EL%37NYYRyZSq zcxsSfnRi6{6Vb1=_C&Rh*R;G7H2BJIM}{!IdQ&|tSIrez$_hXK9#$#9ra!mz(M)X; z&W72AZ)Z_N#&ROK2+xw~9S@U{J@j<>a!m(5=GL|;+Y%E?Tt6)v zJs97hDe>6g)@5MO>Xt5z+jzgjbhQqL!4BSC@ewC;|8U+pdCIaRBBAksPl8utP9|_E zn#$LJhAcI*Ie*K>XCKR6qi=DYK5u8n_BBA(*pi|!%D!nzH=toY6-REK$0IUW@7gx< zn}=EVj(Ocv4$?r3jruWK+Act~YB$nN)zb0XY1uM<`Zl7@hQohggTBH`t&bl3Sjpmusss#&WJ$Zf8Up=kK$g*;~ za36cbJ!s@N`VtSkmdFne~`RvXusI{I9snNUrQ*N-SG4}_Ry!v1$KNSlDBV0=iI z!}&aF$0+KX%Jojzpru07K#5DEU3uXNkNuKw$p5S9sso~Wy66%jf`oJF zU6RsDcS=jc(k;2tv2=GYwKU&Df8YH7W@q2d&fI(Mx#ytVW60W22|b7z+t+xh3uVkY zr~v0IDbC_Wx&Q=l4)hWs8Jreyof4KMO^^nhJJeigNmzW(;1(&ep(E!`<_;K#U$-Ud zHwJzZV%81wFa!n+?PnIB#L#D3O4|n0=LAZ05DMb@ z)t`2B_o#Eg!PJ_sDQnYbNpP@2AYbx6N_#;E4yA{#(7%3^1-7(uk#VzmCl6SM0!xH% zRI;xJb7rT?=06{JoEpHLF*pP~G;WdMsZOm6*uc;3CY)Y)A&$rZaF6Y@@6wC(TmR+@ zOrc8*lb*8{8ICnE19KM*hEG2#E{-1D6Sal;U+i4c647%1n0}vKiNzQzJi?9BY38EE zlWK!{(wtj)CiRoXR=9ZXo%6i+QuzTgslsipGY=g({LLST@BQt4@mpQDqF%u>voC3a zu==nMFYg)~PV+W$xyL15c7yL{HMhdqb`aA}(SDBTsdKLcD)86M@_N;z?>-D?E+z8& z0z0hOPG1&xM$A8TD*Ld@)Y6jMg@t@U;Wa>)KzdXiN1Z8AgVa+8wLh=#N^XGgv}S4* z$Z2Y(_LEo<`I-Ez&h7Fz`9ee&lmL+0yUvbgwH1liE9>A9<|-4p8>6dBN6iAfD09iS z0yAU|Blj-J&0A76)b`s=b@$U`9?SP8n}1rYxA(?}TlIQh)BYH8pXM_&nFAsx!p$kl z`vQzoZ^0L7ui3tw*=btN9VdPbparWDQzZXrR6S0i_yT zgv@P=xmfD!Q!~b>zKrJ+XgH+RYXsvu>8#5%(MrT%e_CmWKFq;ew)Oz&g@RKGb-ZOC z`!@XT?c3wf_W;s2U3l-?bbhg(l%H6R^{!V6nyuF3{gGI1#yU9NarGB1hL{@yh&{_$ zN}6;wvEV!V42oQCsDG=S=8{XP&^*n5WRGv(t2beCMNURHv@93*7Rd$C{jjf zvJ_Q{`vO5GS+WugDcK2hO>V__G17>5q0+Q6&aTSnlC-Rkal)pEk58sM`-?=k?QNe> z`S;Y&36h@T+-riCBW;&444e@Y`qkOau_O;)_aSu^DO&vqlaUQ~EmF(w$-4Cr5e7=f zMj3BG5gZD*??PJfsqx#W)PZUa6#Cwk-@JSmRPhHf@!$Nc>p=sEpx@$;KE$^DfD~(=;gI!d-Z(f2gU3VKV{u% zSP7Rdi?uxm?hW1E>#&-;yne2;w^w}hM{SaFw?J~9E9;tgh?MKTc*S4i?Y`ikqnToh zK6BVCG-mP?B+-Ta$d`IYLL1c_{5~T?O1I^0>9FW3#C_MVo$#?x3XC^nc3+2iBqHYs zI!#?qjm>pUgVrqEtHI*yNH0l(AETfj%QtH}CFs7d|0E{n%En~}(H>j3%IiKp3<8ln zi#CAGR1WnxLo{?6*vi!kLp_?U)HBP;{yQ_My$)>6v$cqK6HEdqIqav$-Q-Pg z?ODe`y3~QV78rW8F!${SXTGuwi9OM+xhrm#=7is()?*l<)iZ$F(Z6yq>W=x=Y1Vl2 zfrTs~+OrFHi~*-v2Pvh0Bt5;K$1`cd>}+^tOc2MMth1A~?{*OR<$=)1TPjk_0a)u_ zOds$_rNfB*MIk!)?FV9-N;Efbg-N@aP&`%Fqc14%0)D*YjEIz>8Rai+7~CTTOC}JL zAktg%O@soZChNZ)@vV!Zy0aP=kVSEpTTv1&;V<&&Gn2djUq38pnxFF>%ephYxZ{RT z<^j{*c=LG;d%5@l0DiEp0pEi}Yz5IhGVGVVs8>s9tB3fN_`$!$>;3E}`6OwRNDkFV z`E^TXV{1CeLVw-2HVJ6jYd^wOwCnbx&$e6T~%N$3I`cbe|P&EiEl&sb!t}!F7n* zGyjkNmK#(P&ZRjq)5PknV(QdqDVIP6-*|yteF9WU|7vLlbH4mZm_A28Zjp`HdRvoj zf_zFWk&PYv{i~w%CELGM)aJNP^xJ7A+tjaAq_C9AN)+U+Ty4CS0}8GGxLD=A@&Tlz zDLj;NxEhK>vuP&syz|y>8r6 zzW1gx(;J}%4J5SWy^Y|J)BN}BG_Kd${3P{aP^WqIzD=o3W?j}i0S*$t(D>_*Nkf|f zbIurwWTOrObga17I|?F^3f-TcJmbBbrhB9C_v1x#M}nh9#hf-SM%=t+Tfe`2O`{=p zem#rwANqnqIPB$nTMLt%=UGbJn4ym(T$=XDUX&++MArd<2Qd6RR`!sg`>V~1P8v?q zh1EjCyb}su>*Qw@$q4`abtB}~A%+s`JH*dJz30*2Fgd;Rc=CVlBj=4;xEPFOtG3iT zCxecx@f!gja}@Kqa|A$eMFxm7fE-}LFABhp(Jz5bx^T^T0E_UZMm|{n|3o;v)cJ#a$(m2~@&buJnF9J_AGdJ9FG!ajNnK3Np`_(UTzxQ}97UtqW`Qa2?qHN@7Z1+MAEkd1|YAIyM?jOtcNBevJ23giE7C8>?8ia4& z#*jt%ko~;4jV`L!Ks`2W4WtoMz5m^L#-xI%akNK4#xa_bf~1 zvDJBV0BGP3o`g`mJ;f6Eljd{1VM&aFBCg zRiWEjj{vwtA>`akz@iGVguk#cS*e7Jt(Y5qs2k?q;fK@fTdEPl~!F^!E@`>P2!|@9@}0p z9=W~%(*Gr%<)33>79+u~#n3nde$%fT6I0Jld#Jyh|NAyUoFs!ZLp)R{ON1I1LC{89 zU7`xDsT1n4CxD{niI=DriILSneR(_s`<$lu87}DLH^$9J$fnRt++XWQatMcwlI!Yi+eUq;3O{I^cJhZnpYoVULL4Rv`+&pQWh64 zq1B2m%(*q#&TFqEVa0qI%qZEd&WHsy|A{ETEu@M8t41J(z8OScS|jI}vL}zN&#NQ%ZjP|JKhHQZF7` zxi!0s8xK0~^XmvkA|_CT^&^q8tYMQx;KkDry5o94v(%Dc+6?jgo=yFtmF#b-r|~NT zYa>U!fHpAS=|~q=YSU381W+MwQFafRi&_!&pNe@U{b#WM12}V5)cToyFS+!fYT1^X%7vRtP4?X#9=W)f^C4q}7Zft&a#V@yZdIrIH01+`+&9!y` zQZUH}0M8-4AHLk4MNC9ib2B?P3n)N_?CcYnHa0c>`TcBd@MkEl3{%A;;kGi`cb=6^ ztA6AUTj<9}vRBv#+UA9`mZJ>7K`!@$u2j3IwTFnW#4;VSxmBfaS%R- z#g*Mzs+5C!4`=17$wbaZ9IE+ed{*8Qrq21^8lDR(B!{y#_K~@4XK$X3e`edFskDU! z5hmx=0fIV5xA5lP!%QAqo0zTVb2`u=bhaEpkun^VkD@>CW-Gn9UZ9&N2MS_XtZl{Y z(MLzl+AUsfr5d{~2~l(4Ab~_t2f>s3s!NT3_DX2*u2Ypw3o&h^A7jc#k11?o4Y$(U z{2AwspQOTAf~~Tchorl*PB+zJuHuV9pa^`acF(JL=pUwX8^&<=RwpC?EJa*SD4jb1 z4@F@zoej>LHfmFZe?N8_gtnR_mf!B1DpF`=-tC+IQC8J9?&i84qAB|!`T-HzdNU*~ z(NUvHIO#mvO_&VWSadN9+Gp=Rb6tz%(Xf4U=q-6Qbe3PUo9Eto@jT$3*RT? zs1v7rP8^!wym(0SE2s^)=s%S@cyOc6Dw7#_HQd8geru&H%->5(;uH5Q1dqUTC5W*2 z>b1}_OFT*0Rmura1R}h4;&-@IZImXTNn`cF4>5%S1oZ9nai4m!6 zvN%>&#QH$&kqD&E-xAH~K@xt2oG*sB)NQ%Cl=JcPZ_PJVt!wZ2h;RtN4_mfsEqAU9 zj;@3*oGG$07JUlpO=)5W$J&>%oqfE%ML9V`;HD(^LPlRgg&o1KH`Qi6)Puno zqy^vjZ=1X_u}er&Q;eFZUNMh@6X-MNS#K5|eVrgwp<4pVwfNK4?_+3g^|D|Eq25b6s$gs94( zmE9x>?l$dDA}{1^El=Jk%{4^40u_fY-XrYtu?u|}MnU(^HC&qjyS-qs;;YsV+n?kn z7tD_Ibv>&0j;+K9mm!DhNDH{^V^fcRHofN~=o7wN7N-i-Haf3b+bh;940bx<=eDVL z|3ul^3fy&LWZImXUeoG$gKB+MK{UEhdvc+(V-Zp)+l`NLY30&;OV*g)m6aE3ceR#- zONrLxrlqfSOrx74^W-)0?{2m-f8_Kok?bWcwqa~RnS$?uBHc23GM30bEeMn(Yo+7- z?m%HKxQ;(xIFmoPKXrJRbeJ=k9|({isS+S$9QcIGJJ%=HSLZSZS~}hmN>hh)p!ndH z3tlo;Zau74n%+iZqN5XI>1~6xDFUl zZC{~MT+2i3RhkE~q(ELduhSAY$XbP2AL6DY-XI91L`-+XQCPbFNhnux6t5zWAM zV8!5|MSAM9`Vypf4+1hxY<);W!RlKJD}h7{-8nTn!)~LR?dj)?ZpU9O0$a{8eWzZv z?3<)6evRdPEBv`+R&`*Ntoqr*;fw@%yog5gZL>w;u!fikWW`K%v?(e`pbfTpLdhA4 z5vgRZX0|S`iCJL0qOwWP9K@DdjPLmF`BBDFJ>YOwT8}K)gYRunt#~JRD`Ra9uJ({^ zD_;tze=1u47{+~raWD(sb{d?Me{9JV&X?6XyH1+Q(mCa51{LBx#iINXZ$FH;-`(p^ z9qu*x+%qi__1z(KSdis6c^y1C^KyJbskzN&VOH^KUMo#GkHVl!yo-}?`RJ(QDaCg- z%noDQ)uNVT*K$?= zd_FSN3~5xS_>FP_8Gi~&YI}^Z*Xsq3Z_82-8%|=Au6HPW@)tfFH8OH`>LE;`gluGd zv>y&=c@j-7VlUa{4CzMaA;-x{(7nv3)X8WlD>K9=JQAcTA&cfJw>D)U%*4R7G^wAp zs%@u8yIn=31hnFr@9LHAl3Ff#pI@H}x*v)W>A*1W0gZk?3tF74@ zqXo-Ae=;MxwdUF|e8C3xk@y8H7l@#CD?PM;+L^&!07XjvEqvbSW1|smLF37$s%sUD zg#G#PzNEH7dA5cY$rVJIgmZg+z&bl}G#5ce#F$00l0zue;;m%v;b96kIFfPbJ*bmj zF`c_O5ObU3-e^5Txq(IR3>|q7^EAh1BBgR$1L9|G5B+laHCubkpM)+)0#?u83=$OE zU2W$^f7a+-UVaI%sqGIf%MX$!qMtMk=AADAJb%ThhmNO|eK5D%!Bif_S1U(9y6oy~ zGd0M%nUXri(zoLK3^ot)xT;+>2)u7CM~P0qAoMtZhx>WO2|&D^`Zl^1jvN+Vv&@HEXU%jxbxhshG|Rjp;P@vf~L_u z_r?AyBE}rp_pra$eN&BScY7O^lR)Gtc+oX;yDo*oef^8a)kgZs#tQy&(gB$_vsSUP zNkG}x8=?ElwX?q5=&|ZHcbBni(o~Y2LzbmP_roDPun6+i(%zQH4KZ+Eh{rN+zqN#x z#Xp$j4-Ci&u6WZcijY1uB@3r6agh7|LIf2*Nwl`WS(ORmIrDtCsTgimxV6i_Tnijk zp+CpX1rb1~&wMf*z;Ny_LxGU-^0a{lIvS~hraA|{VbKk98>_5Ojz3G9ijjr$tzpy} zjX&dyiHCMJ@ip`i_ML)wDZ+b=R;;?i@bUXK3w-DZm?7!`iRCtQt>H8NU6zwM)bF4> z-e7|lQM(L80Cd3}^Q;alfIgMPnZQ;|T z*{Ca)He!ay5_cj7s@F7Ja=oO(mZqfT z^FACi6reX-3|W0BAgay;(%&i)UCNwY1c+I|815v&*xjK zq~zrEk5i>lZ2Szff95o*u=`w*9m6|!o(?oyHe+QJxQmD_{J1_br-1gjxh^0oSWWZM z7E0MvT5388L_WVj%2H6O{>Gj0`ENID{s(zBfdygZ=v^WU9gDgAI!M$MR39CQyY>kv z@DbMv#7;$6!5LL57t|)2a15J{c&3RdqTTLD{CYYPc~XoqJ=?Eq|g}?k4guIlv z+_*f(eb7P)=x-nGtql!&=PGgz0~OLXFk*VHh>?P}B~Egc9QBx3%!;$KbJJJ(NDGYC zsEVT>G8Foq<1`wBK%kfV$d%68q$~Nk)>f&6ndY+j+#3-XprnV#8&0Br{!&QG=Kh+? z$Gt%aEts~;V-YLyLzXpstfuv)z$3+w4wtVnG6o&xcmF36zEOIe+=($2@h1a{>;C6T z)p5Z5XVVh=bCTdNOAc*#y&^!GIoP$_dvx76{z^>>3dGaqtajg;>2$kFVO-wPM|c;B z=B+c%e|FvhT%)4Q8Z8e&JqDB2;Mf3hr%Ne9XZYERLfX}2Z>Oj4*D#d&o{vnozh=?+ zA|5)6$i=4nDe?+x^oX#(mvJdz*;f(r*aFvZFS>bpz0Aa_EjuV1`Sk`P zjVxzN*G>7GXYXh2Ij6bEiB^XvgLG}aYjP)-wI!{BJJ%U-_;`QzN|i`&^7{Jnn}eCU zOpO$h?GtI}NCb68@=SKFl9{YR%{_CY-W^6aBpG)C-ftRb)0(u4N(%gu^s3%lyHp%x zFj>ngSz%vC;{L{zlt2fGJ~oa}b<*WjW@me>HAFm7toLVWlalWk!b8zdQKcmH`=pR6 zqrfd7HYp|RwR!KkRC^;tg4d~bGXp_FH@wxn)|C@syP2e0b?SJsHLzFBatK>n;VNl| zGIaMi2=^ujx3TFw@G&J0*S8ZUZ|8gQzZ#^RZ7|EO1A}RY+9_yK>Odl%MCBeOdD>?tm`5d~{K+ zFS?08vsZTUE@MKGm1C3`X}TFV%ej{{YW+2m`rt>|PwaDGtu`c-{9>6tZ>8>#K3X)M zVQSo+dj`D@7r6%lANKco+glz2nx3`kkXF{-3zgnU#lxhjXOEldZ#cVB2Qh=-uUgpR zt~#yAx7czRSRwv|NMrkb>Y(tN{3NbTt{f9_hDXD&|8Bkn1uahKf`4)nIwo}lI`B43 zb2wPaarV6deHj!pS_Hr`bRQiDAL}#Ed@Ubv4#l{7tR+C8zWw(*D5=pDe$fZ!M+v)L ztVO|(bu;6z)BEN3Nl{mo3Ef&rlcLp47Gn~fssQJwg88Ss@wbU-A%cW$W&LhxG5tju zL2GN~JAf(p&-bawEY_A7Z{xQUb23_e+!w+1%BW=bq}vXUz+7KNs0DX4e{3JY?~>14R%h{h3{^@2|j3Tc5##e`!{ zX7Muu3a0n)P+^Y~)!}rHVg1JF+ttLAw9^6W)`NUSxLTIyUOIfIbm8dZmyrOWdtTqg zjl?qUA$`Wh4!g|q`POtT~rf^x>YG<4ZELmx6S?A*oG|ome}DfJ8V;mdSktXtR86u6Flgp zY#;iAapTIDhk-J{pI1svP~)4~K%u*NeD<}v(L+;?)N2r^^U*~?O!B({;bKGo8`xpd z!MO|AC!c%Q?OH<%u3zJ4p$F>>Ql>wyWl@)i_wR0CL)B+Z9~!xj#(GA@^qDXL&8m>X z^j6>?R9P!9;O6+QE7N(jK&<}e;7I3%;ZO5}c-_;{(I1-H4K5YL{ar{=r8a9BYvcMDl8KW*3NXZ1ljoOOcWRUX2Fedt3Z z3pIbaLgzfY)3lwSo0|R6<2dj@L1LkM%P?pU1Bq>xmwuc97khD0^keafC;wBUPdAqn z`w)JM0SS#1g|IV)x6V<@U>7#%jql^n`wg{fZOgQx-i7#1%*$H8V*}Cfi4uCHS{wnJ zhE&TPk`e~9l}!v)W4wRMbnE%xIVUeK^OIHypzr{=i0!5-{4(g+Yg%f6o#wn$^={aH zayenU6QsJBg+46e8e=+7`6PeS z^s9avq?@V+rmrmVGo;voi zt@}9$^|vTUw7wz;GOGY^0`wX(+{PEj;5u#nAG$D${5 z4s5MsA{xku)XLGq1L)oz1fQ#Z#F8M`o31`Qy$IhqY`TwW^&U6+F|-Dp^nEnwc8qNC zzkABV8qRzKhh>*;8wHEAoA?Wu4%vgUTWa)HlPWIN=5cj(T19cyVYd+;Ioe-Ofa|mG zP*%zH_^A@lG4dpa$b09zhmW!!e57ihKBN#lKLoG|R1R<)2RGICr4Q2JuS+KNO#4tU zCe(Q{Bl!R6Gb;O?sqJhwr#Ad>$3KmwzhbXt7K-;tZ&yUSTm)o-ez9tau0~|Qt#4l* zv*`H_=CD<{ZCp~}dG(6$vjxP<VPrB#K2U zU#fGy;Z@Eud@-)sWG#DprOw;jzr6CgHwnQ$y1S{beGkvjR>&u9vpR0rm_aCp5Q=kh zzn#&`aD6W{G4b{tmn?)KMN8^O3SIUC*B9Cunb1qrN#_Tq?k0+CDVro9WMGcN)v&Az zJjRbSw2t}KGsMWfl zh&#n3m1u%-I>Rse)4~_%Js4Odnr-ZT#+JWsc}r5Tshc?K20IdYtWtRLf0mnPiXnB& z{N}6+n`gySh|BC7>641uwTJ{(uCXkHZIiLjacCE4&=*hBGb`P%gbCyn4wf+o z3OvjVCPlC>LJ&au9W^TlC+*|b%8J6miQ0R!fvz(hbXcO(5K!PF<313zt=ScPLuV+_ zQgDG~pfoLbbt~p$EszdULV_f+=EIc2Bzt>yWE7Z?X)`>_I#%N;rix>Sj6_7(l*?<~ zkJ$U`eam=FA0#Rt+!#4_t|?jYo!psOGhjt3qfnY3Njiu8=bpr5BtIH%%k0;89N)Tp zM~hsYNgMu%)v86u;v-4_T7@VZ=6WAAs|x)>tD<2_Rp7)N=6RB`O{gv}URwk;zl_bq zExkrS0JVGd(5|xkfXf)RYCNKO`uUtxTWtBU8uiPDOBX|cjrq4c*9YT35j3RTw#kDp z8iSs|*2jA%=i1E>CZ%o$@Xz{JXcPmpW^!7~rjiJ4SSt<(Ao)uD&Ocsn%sX!ULO*G7 zd>{z#ukEdbu^CGwtdbzn~m<3QIW_UL5N3iHXG!2xn70!o;a z91hj0?9Xn?2(+11rs2CPhEb7MH!w@;bR1~UYaXxfK-?+3R#yb1GGNu{0*3C9o#P z>Nore$}_;f5fL`RZ&M>O9OhLXIk|=j#g24Ghqc^X#8L{DKl7P#gRAJe9md^AV+1L= zeU4pLOZ_H&BwzxaJNgldCBiQOh$Bi{Qix#@T-W!Zpy%uls%Gf%QX%uf24v;G>Rt)H zN=@0WvK-3U*qT&ydKY>7Jm@wM@A5>U4;N9#Bh8`c%Rm&CqKj417!4AqOI38wwVeFY z56*6qS>Q(K^v`6ms>;J=k*^Q4TdU2`vnN|losh)H z=Zt<{9`H6kCt2`A{0ly9)t0A?t`hFo)@^p47CL`HA5>PmT^-Sqs~GF%FQd3AA!n0X z0ou49IEyI5P3Dhw9y0a^dxpcco8TiEfZdyF-A0-VvOr3;<~ZWx$A!jY)sEl#j~94JZ%^mJhul#;igFv%JhIK_&e*K%V zkJT-@#6bmN5wTGj4MC%i!3Udx+p2vVznR!h_w8FJy>^5s9aobe>*hw^3Voekv0R-} zj^(f|030Z6x?3w_5nF*+)B;LbsEmJlYncO(Gi-|d1-rOk492fRoes}=o_X#HrS=to zVVd+2xNj(r1BHW2_M;-A`sJkwZmPuG`t83WF^0L1s>NC0J}WLS$M;uMAQ&s;H1_-> zIe({CG3zuZTjhovZkqlS6GGUP;lUhX|02q$s3Q2OXJzF`_Z@Gb>u_rhp|15?*6#LN z-D^PU*y{AenN_93+V#N47SOM0YW6vgV{DR6tQn}SQl&!o2$43(;Gr*vRp)LpHZmK5 zIk~=_A7;#}UPUNE)x36&8*T7bX+7Cmfml!s+xncP@y9TJAzUpuMe#1~a>(dNmOU(M+ONtKnYn8sOzyaH6 z)|hA2SP@L;5wkr<8AaOInlm*7ZO)CqKY-esbK4P@{CJa_`T<1Ac*XR2;nC#9lguDI)P8Mc<3$=76&Prmjzaf5K%$`emZZC^$4y2vHXqVBSMdfjya<{f7UCbZRS>Wa# z%m(w!?B~M}K-sJEoSDOI(jbti5k~anuyby=QC#7X_Da+BmtjYPy{EZAdjv54(18cd zy$$E*ytqR>zT}A}lr9Hf>tt$Xs%9>klp}#UgD&rULo&I`u|Y5K;`Z`w(Ml&rTMlLP z5%YyNI(uF`|Jw})vZI3`^DEYuwSKh5xjV@d(*XOEg5iy3g&&&hsjVkmKz{P=SpKTi zt6xWA`i(GgPJrVAO-9mBR|l{mGHy6+=)r2FSg7FlG4K<0dxt6fcWIm+0IGFo*<>={ zZ904GGSdJ)b)Ydm1158qrJ{&t3k%b|j9tw>Mn(W_3ej~*w3%`s3a)kHM_H1L8!IIN zC70krNnC)p{5V^?jNysjsg-;zJYz6lrR7@d3N9m-&Yx+CwCFTUppFETYrZX=_o~mu z-uJ9_9NQv;Q1Kf(R^C$Ix?r}ztf&wdz0WnUqlGo6|D)AafBhJt7#+b-1741W%*JI7 z$A!rC)?Srm%ms=8+o9k)WW#5GUSYYUv{VTB2bSMe^wQ_-4AkjIXsk%~`(8db_vnAR zeludV?`9;yGx_g=I5jDRW2LrFF2;eEFBa~Ghj*XOCFJ9{%XTF}4U1m211{lHf>>Bq z$dpH@-y{(D0i*JDkYw`KK0b2lumL zHB#Aps>U_a23~#lyX+O`ii9ogB)srm8}Avb3j+VXr|r$ZRqh~csv!(sq9V|x62m9> zc-B1;j1&pDVt~3QFxqAGsuLlVuFf}_gjY`bLwMeXDN818z;Vd(RK4j`%uy)+HgA4p zNKlsMmY?I~!&ihJW#BT7zYB0N+nWO^ zQ8Oz{dS}yp#<$VB81)1x+NzY?kj6wnr_UEkmjqJ8>}9>R*HY}<&l)z-fC}y3!4YIB zK9_JJ8ErJ$WhYBj%W5m6X^%1PIcMreNC`Sc10q;6XWc0wxZtl!8?xS18M+6_*8wHJ z_v{(byxqh=Z+b&{8J&_l5u1gtxts;(Jm(ttZAR=CU#?*N`+zjo{4|$E=hOqMa4Ysm z9-JgCVr0Yk z { private focusedElement = null; private isDoingStickyHeaders = false; + static contextType = MatrixClientContext; + public context!: React.ContextType; + constructor(props: IProps) { super(props); @@ -322,6 +327,14 @@ export default class LeftPanel extends React.Component { } }; + private renderHeader(): React.ReactNode { + return ( +
+ +
+ ); + } + private renderBreadcrumbs(): React.ReactNode { if (this.state.showBreadcrumbs && !this.props.isMinimized) { return ( @@ -349,6 +362,7 @@ export default class LeftPanel extends React.Component { />; } + const space = this.state.activeSpace[0] === "!" ? this.context.getRoom(this.state.activeSpace) : null; return (
{ { dialPadButton } - { this.state.activeSpace === MetaSpace.Home && } + title={space ? _t("Explore %(spaceName)s", { spaceName: space.name }) : _t("Explore rooms")} + />
); } @@ -399,9 +415,10 @@ export default class LeftPanel extends React.Component { return (