From 86684cd1c10621a82148a3a9ae51e94a62721162 Mon Sep 17 00:00:00 2001 From: zubiden <19638254+zubiden@users.noreply.github.com> Date: Fri, 17 Apr 2026 13:37:59 +0200 Subject: [PATCH] Chat: Support unread poll votes (#6847) --- src/api/gramjs/apiBuilders/chats.ts | 3 +- src/api/gramjs/methods/messages.ts | 61 ++ src/assets/font-icons/poll-badge.svg | 1 + src/assets/localization/fallback.strings | 1 + .../left/main/ChatBadge.module.scss | 4 + src/components/left/main/ChatBadge.tsx | 52 +- .../middle/FloatingActionButtons.module.scss | 41 +- .../middle/FloatingActionButtons.tsx | 143 +++- .../middle/hooks/useMessageObservers.ts | 11 +- .../middle/message/ActionMessage.tsx | 20 +- src/components/middle/message/Message.tsx | 21 +- src/config.ts | 1 + src/global/actions/api/chats.ts | 10 +- src/global/actions/api/messages.ts | 100 ++- src/global/actions/api/reactions.ts | 27 +- src/global/reducers/chats.ts | 60 +- src/global/reducers/index.ts | 2 + src/global/reducers/messages.ts | 2 + src/global/reducers/polls.ts | 35 + src/global/reducers/reactions.ts | 58 +- src/global/reducers/unreadCounters.ts | 170 +++++ src/global/types/actions.ts | 17 + src/lib/gramjs/tl/apiTl.ts | 2 + src/lib/gramjs/tl/static/api.json | 2 + src/styles/icons.css | 658 +++++++++--------- src/styles/icons.scss | 650 +++++++++-------- src/styles/icons.woff | Bin 42468 -> 42116 bytes src/styles/icons.woff2 | Bin 35224 -> 34880 bytes src/types/icons/font.ts | 1 + src/types/index.ts | 2 + src/types/language.d.ts | 1 + 31 files changed, 1329 insertions(+), 827 deletions(-) create mode 100644 src/assets/font-icons/poll-badge.svg create mode 100644 src/global/reducers/polls.ts create mode 100644 src/global/reducers/unreadCounters.ts diff --git a/src/api/gramjs/apiBuilders/chats.ts b/src/api/gramjs/apiBuilders/chats.ts index 2b5c9d794..ca1b62e91 100644 --- a/src/api/gramjs/apiBuilders/chats.ts +++ b/src/api/gramjs/apiBuilders/chats.ts @@ -710,7 +710,7 @@ export function buildThreadReadState( const forumTopic = input instanceof GramJs.ForumTopic ? input : undefined; const { unreadReactionsCount } = dialog || monoForumDialog || forumTopic || {}; - const { unreadMentionsCount } = dialog || forumTopic || {}; + const { unreadMentionsCount, unreadPollVotesCount } = dialog || forumTopic || {}; const { unreadMark } = dialog || monoForumDialog || {}; return omitUndefined({ @@ -718,6 +718,7 @@ export function buildThreadReadState( lastReadInboxMessageId: readInboxMaxId, lastReadOutboxMessageId: readOutboxMaxId, unreadReactionsCount, + unreadPollVotesCount, unreadMentionsCount, hasUnreadMark: unreadMark, }); diff --git a/src/api/gramjs/methods/messages.ts b/src/api/gramjs/methods/messages.ts index 1b4af3af5..aae1a2c6d 100644 --- a/src/api/gramjs/methods/messages.ts +++ b/src/api/gramjs/methods/messages.ts @@ -45,6 +45,7 @@ import { MAX_INT_32, MENTION_UNREAD_SLICE, MESSAGE_ID_REQUIRED_ERROR, + POLL_UNREAD_SLICE, REACTION_UNREAD_SLICE, SUPPORTED_PHOTO_CONTENT_TYPES, SUPPORTED_VIDEO_CONTENT_TYPES, @@ -2298,6 +2299,27 @@ export async function readAllReactions({ } } +export async function readAllPollVotes({ + chat, + threadId, +}: { + chat: ApiChat; + threadId?: ThreadId; +}) { + const result = await invokeRequest(new GramJs.messages.ReadPollVotes({ + peer: buildInputPeer(chat.id, chat.accessHash), + topMsgId: threadId ? Number(threadId) : undefined, + })); + + if (!result) return; + + processAffectedHistory(chat, result); + + if (result.offset) { + await readAllPollVotes({ chat, threadId }); + } +} + export async function fetchUnreadMentions({ chat, threadId, offsetId, addOffset, maxId, minId, }: { @@ -2376,6 +2398,45 @@ export async function fetchUnreadReactions({ }; } +export async function fetchUnreadPollVotes({ + chat, threadId, offsetId, addOffset, maxId, minId, +}: { + chat: ApiChat; + threadId?: ThreadId; + offsetId?: number; + addOffset?: number; + maxId?: number; + minId?: number; +}) { + const result = await invokeRequest(new GramJs.messages.GetUnreadPollVotes({ + peer: buildInputPeer(chat.id, chat.accessHash), + topMsgId: threadId ? Number(threadId) : undefined, + limit: POLL_UNREAD_SLICE, + offsetId: offsetId ?? DEFAULT_PRIMITIVES.INT, + addOffset: addOffset ?? DEFAULT_PRIMITIVES.INT, + maxId: maxId ?? DEFAULT_PRIMITIVES.INT, + minId: minId ?? DEFAULT_PRIMITIVES.INT, + })); + + if ( + !result + || result instanceof GramJs.messages.MessagesNotModified + || !result.messages + ) { + return undefined; + } + + const totalCount = 'count' in result ? result.count : result.messages.length; + const messages = result.messages.map(buildApiMessage).filter(Boolean); + const topics = result.topics.map(buildApiTopicWithState).filter(Boolean); + + return { + totalCount, + messages, + topics, + }; +} + export async function transcribeAudio({ chat, messageId, }: { diff --git a/src/assets/font-icons/poll-badge.svg b/src/assets/font-icons/poll-badge.svg new file mode 100644 index 000000000..68cd4a856 --- /dev/null +++ b/src/assets/font-icons/poll-badge.svg @@ -0,0 +1 @@ + diff --git a/src/assets/localization/fallback.strings b/src/assets/localization/fallback.strings index 11efd9b9d..909a6b1aa 100644 --- a/src/assets/localization/fallback.strings +++ b/src/assets/localization/fallback.strings @@ -109,6 +109,7 @@ "AnonymousPoll" = "Anonymous Poll"; "AccDescrReactionMentionDown" = "Go to next unread reactions"; "AccDescrMentionDown" = "Go to next mention"; +"AccDescrPollVoteDown" = "Go to next unread poll vote"; "AccDescrPageDown" = "Go to bottom"; "ChannelPrivate" = "Private Channel"; "ChannelPrivateInfo" = "Private channels can only be joined via invite link."; diff --git a/src/components/left/main/ChatBadge.module.scss b/src/components/left/main/ChatBadge.module.scss index daedf7648..6d970f888 100644 --- a/src/components/left/main/ChatBadge.module.scss +++ b/src/components/left/main/ChatBadge.module.scss @@ -90,6 +90,10 @@ background-color: #ed504f; } +.poll { + background-color: var(--color-primary); +} + .round { display: grid; place-content: center; diff --git a/src/components/left/main/ChatBadge.tsx b/src/components/left/main/ChatBadge.tsx index 507b8525a..d1add24d1 100644 --- a/src/components/left/main/ChatBadge.tsx +++ b/src/components/left/main/ChatBadge.tsx @@ -69,6 +69,7 @@ const ChatBadge = ({ const { unreadMentionsCount: stateUnreadMentionsCount = 0, + unreadPollVotesCount: stateUnreadPollVotesCount = 0, unreadReactionsCount: stateUnreadReactionsCount = 0, unreadCount: stateUnreadCount = 0, hasUnreadMark, @@ -95,12 +96,29 @@ const ChatBadge = ({ const topicsWithUnreadMentionsIds = useMemo(() => ( isForum && listedTopicIds ? listedTopicIds.filter((tId) => topicsReadStates[tId]?.unreadMentionsCount) : undefined ), [listedTopicIds, isForum, topicsReadStates]); + const topicsWithUnreadPollVotesIds = useMemo(() => ( + isForum && listedTopicIds ? listedTopicIds.filter((tId) => topicsReadStates[tId]?.unreadPollVotesCount) : undefined + ), [listedTopicIds, isForum, topicsReadStates]); const topicsWithUnreadReactionsIds = useMemo(() => ( isForum && listedTopicIds ? listedTopicIds.filter((tId) => topicsReadStates[tId]?.unreadReactionsCount) : undefined ), [listedTopicIds, isForum, topicsReadStates]); + const topicsWithStatefulUnreadIds = useMemo(() => { + if (!isForum) { + return undefined; + } + + const allTopicIds = [ + ...(topicsWithUnreadIds || []), + ...(topicsWithUnreadPollVotesIds || []), + ...(topicsWithUnreadReactionsIds || []), + ]; + + return allTopicIds.length ? [...new Set(allTopicIds)] : []; + }, [isForum, topicsWithUnreadIds, topicsWithUnreadPollVotesIds, topicsWithUnreadReactionsIds]); const unreadCount = isForum ? topicsWithUnreadIds?.length : stateUnreadCount; const unreadMentionsCount = isForum ? topicsWithUnreadMentionsIds?.length : stateUnreadMentionsCount; + const unreadPollVotesCount = isForum ? topicsWithUnreadPollVotesIds?.length : stateUnreadPollVotesCount; const unreadReactionsCount = isForum ? topicsWithUnreadReactionsIds?.length : stateUnreadReactionsCount; const shouldBeUnMuted = useMemo(() => { @@ -108,17 +126,21 @@ const ChatBadge = ({ return !isMuted || topic?.notifySettings.mutedUntil === 0; } - if (isMuted) { - return topicsWithUnreadIds?.some((tId) => topicsById?.[tId]?.notifySettings.mutedUntil === 0); + if (!topicsWithStatefulUnreadIds?.length) { + return !isMuted; } - const isEveryUnreadMuted = topicsWithUnreadIds?.every((tId) => { + if (isMuted) { + return topicsWithStatefulUnreadIds.some((tId) => topicsById?.[tId]?.notifySettings.mutedUntil === 0); + } + + const isEveryUnreadMuted = topicsWithStatefulUnreadIds.every((tId) => { const mutedUntil = topicsById?.[tId]?.notifySettings.mutedUntil; return mutedUntil && mutedUntil > getServerTime(); }); return !isEveryUnreadMuted; - }, [isForum, isMuted, topicsWithUnreadIds, topicsById, topic?.notifySettings.mutedUntil]); + }, [isForum, isMuted, topicsById, topic?.notifySettings.mutedUntil, topicsWithStatefulUnreadIds]); const isUnread = Boolean((unreadCount || hasUnreadMark) && !isSavedDialog); @@ -127,7 +149,7 @@ const ChatBadge = ({ [forceHidden], ); const isShown = !resolvedForceHidden && Boolean( - unreadCount || unreadMentionsCount || hasUnreadMark || isPinned || unreadReactionsCount + unreadCount || unreadMentionsCount || unreadPollVotesCount || hasUnreadMark || isPinned || unreadReactionsCount || isTopicUnopened || hasMiniApp, ); @@ -152,6 +174,12 @@ const ChatBadge = ({ ); + const unreadPollVotesElement = unreadPollVotesCount && ( +
+ +
+ ); + const unreadMentionsElement = unreadMentionsCount && (
@@ -187,10 +215,16 @@ const ChatBadge = ({ ); const visiblePinnedElement = !unreadCountElement && !unreadMentionsElement && !unreadReactionsElement + && !unreadPollVotesElement && pinnedElement; const elements = [ - unopenedTopicElement, unreadReactionsElement, unreadMentionsElement, unreadCountElement, visiblePinnedElement, + unopenedTopicElement, + unreadPollVotesElement, + unreadReactionsElement, + unreadMentionsElement, + unreadCountElement, + visiblePinnedElement, ].filter(Boolean); if (isSavedDialog) return pinnedElement; @@ -204,7 +238,11 @@ const ChatBadge = ({ if (shouldShowOnlyMostImportant) { const importanceOrderedElements = [ - unreadMentionsElement, unreadCountElement, unreadReactionsElement, pinnedElement, + unreadPollVotesElement, + unreadReactionsElement, + unreadMentionsElement, + unreadCountElement, + pinnedElement, ].filter(Boolean); return importanceOrderedElements[0]; } diff --git a/src/components/middle/FloatingActionButtons.module.scss b/src/components/middle/FloatingActionButtons.module.scss index f96407df4..64aa20774 100644 --- a/src/components/middle/FloatingActionButtons.module.scss +++ b/src/components/middle/FloatingActionButtons.module.scss @@ -1,6 +1,7 @@ .root { --base-bottom-pos: 5.3125rem; --translate-y: 4.5rem; + --unread-count-button-offset: 3.5rem; pointer-events: none; @@ -14,23 +15,6 @@ transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease; - .hidden { - pointer-events: none; - opacity: 0; - } - - .reactions { - transition: 0.2s ease opacity, 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) transform; - } - - .transform-down { - transform: translateY(3.5rem); - } - - .unread { - pointer-events: none; - } - :global(body.no-page-transitions) & { --translate-y: 0 !important; @@ -52,7 +36,7 @@ } &.hide-scroll-down { - --translate-y: 3.5rem; + --translate-y: var(--unread-count-button-offset); .unread { pointer-events: none; @@ -75,3 +59,24 @@ } } } + +.hidden { + pointer-events: none; + opacity: 0; +} + +.unreadCountButton { + transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1); +} + +.transformDown { + transform: translateY(var(--unread-count-button-offset)); +} + +.transformDownDouble { + transform: translateY(calc(var(--unread-count-button-offset) * 2)); +} + +.unread { + pointer-events: none; +} diff --git a/src/components/middle/FloatingActionButtons.tsx b/src/components/middle/FloatingActionButtons.tsx index 8cb8ed6f2..26c0c3a2b 100644 --- a/src/components/middle/FloatingActionButtons.tsx +++ b/src/components/middle/FloatingActionButtons.tsx @@ -2,6 +2,7 @@ import { memo, useEffect, useRef } from '../../lib/teact/teact'; import { getActions, withGlobal } from '../../global'; import type { MessageListType, ThreadId, ThreadReadState } from '../../types'; +import type { IconName } from '../../types/icons'; import { selectChat, selectCurrentMessageList, selectCurrentMiddleSearch } from '../../global/selectors'; import { selectThreadReadState } from '../../global/selectors/threads'; @@ -27,6 +28,16 @@ type StateProps = { shouldShowCount?: boolean; }; +type UnreadCountButton = { + icon: IconName; + ariaLabelLang: string; + unreadCount?: number; + isHidden: boolean; + hiddenUnreadCountButtonsBelow: number; + onClick: VoidFunction; + onReadAll: VoidFunction; +}; + const FloatingActionButtons = ({ withScrollDown, canPost, @@ -38,19 +49,40 @@ const FloatingActionButtons = ({ shouldShowCount, }: OwnProps & StateProps) => { const { - focusNextReply, focusNextReaction, focusNextMention, loadUnreadReactions, - readAllMentions, readAllReactions, loadUnreadMentions, scrollMessageListToBottom, + focusNextPollVote, + focusNextReply, + focusNextReaction, + focusNextMention, + loadUnreadPollVotes, + loadUnreadReactions, + readAllMentions, + readAllPollVotes, + readAllReactions, + loadUnreadMentions, + scrollMessageListToBottom, } = getActions(); const elementRef = useRef(); const { - unreadReactionsCount, unreadMentionsCount, unreadCount, unreadReactions, unreadMentions, + unreadPollVotesCount, + unreadReactionsCount, + unreadMentionsCount, + unreadCount, + unreadPollVotes, + unreadReactions, + unreadMentions, } = (shouldShowCount && threadReadState) || {}; + const hasUnreadPollVotes = Boolean(unreadPollVotesCount); const hasUnreadReactions = Boolean(unreadReactionsCount); const hasUnreadMentions = Boolean(unreadMentionsCount); + const handleReadAllPollVotes = useLastCallback(() => { + if (!chatId) return; + readAllPollVotes({ chatId, threadId }); + }); + const handleReadAllReactions = useLastCallback(() => { if (!chatId) return; readAllReactions({ chatId, threadId }); @@ -61,6 +93,12 @@ const FloatingActionButtons = ({ readAllMentions({ chatId, threadId }); }); + useEffect(() => { + if (hasUnreadPollVotes && chatId && !unreadPollVotes?.length) { + loadUnreadPollVotes({ chatId, threadId }); + } + }, [chatId, threadId, hasUnreadPollVotes, unreadPollVotes?.length]); + useEffect(() => { if (hasUnreadReactions && chatId && !unreadReactions?.length) { loadUnreadReactions({ chatId, threadId }); @@ -90,42 +128,87 @@ const FloatingActionButtons = ({ focusNextReaction({ chatId, threadId }); }); + const handleFocusNextPollVote = useLastCallback(() => { + if (!chatId) return; + focusNextPollVote({ chatId, threadId }); + }); + const handleFocusNextMention = useLastCallback(() => { if (!chatId) return; focusNextMention({ chatId, threadId }); }); + const unreadCountButtonsConfig = [ + { + icon: 'poll', + ariaLabelLang: 'AccDescrPollVoteDown', + unreadCount: unreadPollVotesCount, + isHidden: !hasUnreadPollVotes, + onClick: handleFocusNextPollVote, + onReadAll: handleReadAllPollVotes, + }, + { + icon: 'heart-outline', + ariaLabelLang: 'AccDescrReactionMentionDown', + unreadCount: unreadReactionsCount, + isHidden: !hasUnreadReactions, + onClick: handleFocusNextReaction, + onReadAll: handleReadAllReactions, + }, + { + icon: 'mention', + ariaLabelLang: 'AccDescrMentionDown', + unreadCount: unreadMentionsCount, + isHidden: !hasUnreadMentions, + onClick: handleFocusNextMention, + onReadAll: handleReadAllMentions, + }, + ] satisfies Omit[]; + + let hiddenUnreadCountButtonsBelow = 0; + const unreadCountButtons = unreadCountButtonsConfig.reduceRight((result, button) => { + result.unshift({ + ...button, + hiddenUnreadCountButtonsBelow, + }); + + if (button.isHidden) { + hiddenUnreadCountButtonsBelow++; + } + + return result; + }, []); + + const hasUnreadCountButtons = unreadCountButtons.some((button) => !button.isHidden); + + const buildUnreadCountButtonClassName = (button: UnreadCountButton) => buildClassName( + styles.unreadCountButton, + button.isHidden && styles.hidden, + button.hiddenUnreadCountButtonsBelow === 1 && styles.transformDown, + button.hiddenUnreadCountButtonsBelow === 2 && styles.transformDownDouble, + ); + const fabClassName = buildClassName( styles.root, - (withScrollDown || hasUnreadReactions || hasUnreadMentions) && styles.revealed, - (hasUnreadReactions || hasUnreadMentions) && !withScrollDown && styles.hideScrollDown, + (withScrollDown || hasUnreadCountButtons) && styles.revealed, + hasUnreadCountButtons && !withScrollDown && styles.hideScrollDown, !canPost && styles.noComposer, !withExtraShift && styles.noExtraShift, ); return (
- - - + {unreadCountButtons.map((button) => ( + + ))} ( (global): Complete => { const currentMessageList = selectCurrentMessageList(global); if (!currentMessageList) { - return {} as Complete; + return { + chatId: undefined, + messageListType: undefined, + shouldShowCount: undefined, + threadId: undefined, + threadReadState: undefined, + }; } const { chatId, threadId, type: messageListType } = currentMessageList; diff --git a/src/components/middle/hooks/useMessageObservers.ts b/src/components/middle/hooks/useMessageObservers.ts index d210a0de0..0f01c98ca 100644 --- a/src/components/middle/hooks/useMessageObservers.ts +++ b/src/components/middle/hooks/useMessageObservers.ts @@ -33,7 +33,7 @@ export default function useMessageObservers({ onIntersectPinnedMessage: OnIntersectPinnedMessage | undefined; }) { const { - markMessageListRead, markMentionsRead, animateUnreadReaction, + markMessageListRead, markMentionsRead, markPollVotesRead, animateUnreadReaction, scheduleForViewsIncrement, } = getActions(); @@ -61,6 +61,7 @@ export default function useMessageObservers({ let maxId = 0; const mentionIds: number[] = []; + const pollVoteIds: number[] = []; const reactionIds: number[] = []; const scheduledToUpdateViews: number[] = []; @@ -91,6 +92,10 @@ export default function useMessageObservers({ mentionIds.push(messageId); } + if (dataset.hasUnreadPollVote) { + pollVoteIds.push(messageId); + } + if (dataset.hasUnreadReaction) { reactionIds.push(messageId); } @@ -113,6 +118,10 @@ export default function useMessageObservers({ markMentionsRead({ chatId, messageIds: mentionIds }); } + if (pollVoteIds.length) { + markPollVotesRead({ chatId, messageIds: pollVoteIds }); + } + if (scheduledToUpdateViews.length) { scheduleForViewsIncrement({ chatId, ids: scheduledToUpdateViews }); } diff --git a/src/components/middle/message/ActionMessage.tsx b/src/components/middle/message/ActionMessage.tsx index 37721d0e7..93388177a 100644 --- a/src/components/middle/message/ActionMessage.tsx +++ b/src/components/middle/message/ActionMessage.tsx @@ -102,6 +102,7 @@ type StateProps = { isCurrentUserPremium?: boolean; isInSelectMode?: boolean; hasUnreadReaction?: boolean; + hasUnreadPollVote?: boolean; isResizingContainer?: boolean; scrollTargetPosition?: ScrollTargetPosition; isAccountFrozen?: boolean; @@ -140,6 +141,7 @@ const ActionMessage = ({ isCurrentUserPremium, isInSelectMode, hasUnreadReaction, + hasUnreadPollVote, isResizingContainer, scrollTargetPosition, isAccountFrozen, @@ -161,6 +163,7 @@ const ActionMessage = ({ toggleChannelRecommendations, animateUnreadReaction, markMentionsRead, + markPollVotesRead, focusMessage, openGiftOfferAcceptModal, declineStarGiftOffer, @@ -335,10 +338,22 @@ const ActionMessage = ({ animateUnreadReaction({ chatId, messageIds: [id] }); } + if (hasUnreadPollVote) { + markPollVotesRead({ chatId, messageIds: [id] }); + } + if (message.hasUnreadMention) { markMentionsRead({ chatId, messageIds: [id] }); } - }, [hasUnreadReaction, chatId, id, animateUnreadReaction, message.hasUnreadMention]); + }, [ + hasUnreadReaction, + hasUnreadPollVote, + chatId, + id, + animateUnreadReaction, + markPollVotesRead, + message.hasUnreadMention, + ]); useEffect(() => { if (action.type !== 'giftPremium') return; @@ -619,6 +634,7 @@ const ActionMessage = ({ data-message-id={message.id} data-is-pinned={message.isPinned || undefined} data-has-unread-mention={message.hasUnreadMention || undefined} + data-has-unread-poll-vote={hasUnreadPollVote || undefined} data-has-unread-reaction={hasUnreadReaction || undefined} onMouseDown={handleMouseDown} onContextMenu={handleContextMenu} @@ -737,6 +753,7 @@ export default memo(withGlobal( const readState = selectThreadReadState(global, message.chatId, threadId); const hasUnreadReaction = readState?.unreadReactions?.includes(message.id); + const hasUnreadPollVote = readState?.unreadPollVotes?.includes(message.id); const isAccountFrozen = selectIsCurrentUserFrozen(global); return { @@ -751,6 +768,7 @@ export default memo(withGlobal( isInSelectMode: selectIsInSelectMode(global), actionMessageBg: selectActionMessageBg(global), hasUnreadReaction, + hasUnreadPollVote, isResizingContainer, scrollTargetPosition, isAccountFrozen, diff --git a/src/components/middle/message/Message.tsx b/src/components/middle/message/Message.tsx index 3ccdfb595..fa3ae2f49 100644 --- a/src/components/middle/message/Message.tsx +++ b/src/components/middle/message/Message.tsx @@ -301,6 +301,7 @@ type StateProps = { defaultReaction?: ApiReaction; activeEmojiInteractions?: ActiveEmojiInteraction[]; hasUnreadReaction?: boolean; + hasUnreadPollVote?: boolean; isTranscribing?: boolean; transcribedText?: string; isPremium: boolean; @@ -431,6 +432,7 @@ const Message = ({ autoLoadFileMaxSizeMb, repliesThreadInfo, hasUnreadReaction, + hasUnreadPollVote, memoFirstUnreadIdRef, senderChatMember, messageTopic, @@ -478,6 +480,7 @@ const Message = ({ animateUnreadReaction, focusMessage, markMentionsRead, + markPollVotesRead, openThread, summarizeMessage, } = getActions(); @@ -963,6 +966,10 @@ const Message = ({ animateUnreadReaction({ chatId, messageIds: [messageId] }); } + if (hasUnreadPollVote) { + markPollVotesRead({ chatId, messageIds: [messageId] }); + } + let unreadMentionIds: number[] = []; if (message.hasUnreadMention) { unreadMentionIds = [messageId]; @@ -975,7 +982,16 @@ const Message = ({ if (unreadMentionIds.length) { markMentionsRead({ chatId, messageIds: unreadMentionIds }); } - }, [hasUnreadReaction, album, chatId, messageId, animateUnreadReaction, message.hasUnreadMention]); + }, [ + hasUnreadReaction, + hasUnreadPollVote, + album, + chatId, + messageId, + animateUnreadReaction, + markPollVotesRead, + message.hasUnreadMention, + ]); const albumLayout = useMemo(() => { return isAlbum @@ -1848,6 +1864,7 @@ const Message = ({ data-last-message-id={album ? album.messages[album.messages.length - 1].id : undefined} data-album-main-id={album ? album.mainMessage.id : undefined} data-has-unread-mention={message.hasUnreadMention || undefined} + data-has-unread-poll-vote={hasUnreadPollVote || undefined} data-has-unread-reaction={hasUnreadReaction || undefined} data-is-pinned={isPinned || undefined} data-should-update-views={message.viewsCount !== undefined} @@ -2123,6 +2140,7 @@ export default memo(withGlobal( const readState = selectThreadReadState(global, chatId, threadId); const hasUnreadReaction = readState?.unreadReactions?.includes(message.id); + const hasUnreadPollVote = readState?.unreadPollVotes?.includes(message.id); const hasTopicChip = threadId === MAIN_THREAD_ID && chat?.isForum && !chat.isBotForum && isFirstInGroup; const messageTopic = selectTopicFromMessage(global, message); @@ -2220,6 +2238,7 @@ export default memo(withGlobal( hasActiveReactions, activeEmojiInteractions, hasUnreadReaction, + hasUnreadPollVote, isTranscribing: transcriptionId !== undefined && global.transcriptions[transcriptionId]?.isPending, transcribedText: transcriptionId !== undefined ? global.transcriptions[transcriptionId]?.text : undefined, isPremium, diff --git a/src/config.ts b/src/config.ts index b529bb30c..744b4a157 100644 --- a/src/config.ts +++ b/src/config.ts @@ -116,6 +116,7 @@ export const GLOBAL_SUGGESTED_CHANNELS_ID = 'global'; // https://github.com/DrKLO/Telegram/blob/51e9947527/TMessagesProj/src/main/java/org/telegram/messenger/MediaDataController.java#L7781 export const REACTION_UNREAD_SLICE = 100; export const MENTION_UNREAD_SLICE = 100; +export const POLL_UNREAD_SLICE = 100; export const TOPICS_SLICE = 20; export const TOPICS_SLICE_SECOND_LOAD = 500; diff --git a/src/global/actions/api/chats.ts b/src/global/actions/api/chats.ts index 2994e7d8d..4a08fac11 100644 --- a/src/global/actions/api/chats.ts +++ b/src/global/actions/api/chats.ts @@ -1461,6 +1461,7 @@ addActionHandler('markChatMessagesRead', async (global, actions, payload): Promi await callApi('markMessageListRead', { chat, threadId: MAIN_THREAD_ID }); actions.readAllMentions({ chatId: id }); actions.readAllReactions({ chatId: id }); + actions.readAllPollVotes({ chatId: id }); if (chatReadState?.hasUnreadMark) { actions.markChatRead({ id }); } @@ -1487,7 +1488,13 @@ addActionHandler('markChatMessagesRead', async (global, actions, payload): Promi global = updateTopicWithState(global, id, topicWithState); const { readState } = topicWithState; - if (readState && !readState.unreadCount && !readState.unreadMentionsCount && !readState.unreadReactionsCount) { + if ( + readState + && !readState.unreadCount + && !readState.unreadMentionsCount + && !readState.unreadReactionsCount + && !readState.unreadPollVotesCount + ) { return; } @@ -1530,6 +1537,7 @@ addActionHandler('markTopicRead', (global, actions, payload): ActionReturnType = }); actions.readAllMentions({ chatId, threadId: topicId }); actions.readAllReactions({ chatId, threadId: topicId }); + actions.readAllPollVotes({ chatId, threadId: topicId }); global = getGlobal(); global = replaceThreadReadStateParam(global, chatId, topicId, 'lastReadInboxMessageId', lastTopicMessageId); diff --git a/src/global/actions/api/messages.ts b/src/global/actions/api/messages.ts index 45d05e839..87c3d9c44 100644 --- a/src/global/actions/api/messages.ts +++ b/src/global/actions/api/messages.ts @@ -81,12 +81,12 @@ import { } from '../../index'; import { addChatMessagesById, - addUnreadMentions, clearMessageSummary, deleteSponsoredMessage, removeOutlyingList, removeRequestedMessageTranslation, removeUnreadMentions, + removeUnreadPollVotes, replaceSettings, replaceUserStatuses, safeReplacePinnedIds, @@ -106,6 +106,7 @@ import { updateScheduledMessages, updateSponsoredMessage, updateTopicWithState, + updateUnreadCounters, updateUploadByMessageKey, updateUserFullInfo, } from '../../reducers'; @@ -172,7 +173,6 @@ import { selectThreadReadState, } from '../../selectors/threads'; import { deleteMessages, updateWithLocalMedia } from '../apiUpdaters/messages'; - const AUTOLOGIN_TOKEN_KEY = 'autologin_token'; const uploadProgressCallbacks = new Map(); @@ -2287,19 +2287,45 @@ addActionHandler('loadUnreadMentions', async (global, actions, payload): Promise const { messages, topics, totalCount } = result; - const byId = buildCollectionByKey(messages, 'id'); - const ids = Object.keys(byId).map(Number); - global = getGlobal(); - global = addChatMessagesById(global, chat.id, byId); - topics.forEach((topicState) => { - global = updateTopicWithState(global, chat.id, topicState); - }); - global = addUnreadMentions({ + global = updateUnreadCounters({ global, chatId, - ids, + threadId, + messages, + topics, totalCount, + unreadCountKey: 'unreadMentionsCount', + }); + + setGlobal(global); +}); + +addActionHandler('loadUnreadPollVotes', async (global, actions, payload): Promise => { + const { chatId, threadId = MAIN_THREAD_ID, offsetId } = payload; + + const chat = selectChat(global, chatId); + if (!chat) return; + + const result = await callApi('fetchUnreadPollVotes', { + chat, + threadId: threadId !== MAIN_THREAD_ID ? threadId : undefined, + offsetId, + }); + + if (!result) return; + + const { messages, topics, totalCount } = result; + + global = getGlobal(); + global = updateUnreadCounters({ + global, + chatId, + threadId, + messages, + topics, + totalCount, + unreadCountKey: 'unreadPollVotesCount', }); setGlobal(global); @@ -2391,6 +2417,21 @@ addActionHandler('markMentionsRead', (global, actions, payload): ActionReturnTyp actions.markMessagesRead({ chatId, messageIds }); }); +addActionHandler('markPollVotesRead', (global, actions, payload): ActionReturnType => { + const { chatId, messageIds } = payload; + const chat = selectChat(global, chatId); + if (!chat) return; + + global = removeUnreadPollVotes({ + global, + chatId, + ids: messageIds, + }); + setGlobal(global); + + actions.markMessagesRead({ chatId, messageIds }); +}); + addActionHandler('focusNextMention', async (global, actions, payload): Promise => { const { chatId, threadId = MAIN_THREAD_ID, tabId = getCurrentTabId() } = payload; @@ -2407,6 +2448,28 @@ addActionHandler('focusNextMention', async (global, actions, payload): Promise => { + const { chatId, threadId = MAIN_THREAD_ID, tabId = getCurrentTabId() } = payload; + + let readState = selectThreadReadState(global, chatId, threadId); + + if (!readState?.unreadPollVotes?.length) { + await getPromiseActions().loadUnreadPollVotes({ chatId, threadId }); + + global = getGlobal(); + readState = selectThreadReadState(global, chatId, threadId); + if (!readState?.unreadPollVotes?.length) return; + } + + actions.focusMessage({ + chatId, + threadId, + messageId: readState.unreadPollVotes[0], + tabId, + scrollTargetPosition: 'end', + }); +}); + addActionHandler('readAllMentions', (global, actions, payload): ActionReturnType => { const { chatId, threadId = MAIN_THREAD_ID } = payload; @@ -2422,6 +2485,21 @@ addActionHandler('readAllMentions', (global, actions, payload): ActionReturnType return global; }); +addActionHandler('readAllPollVotes', (global, actions, payload): ActionReturnType => { + const { chatId, threadId = MAIN_THREAD_ID } = payload; + + const chat = selectChat(global, chatId); + if (!chat) return undefined; + + callApi('readAllPollVotes', { chat, threadId: threadId !== MAIN_THREAD_ID ? threadId : undefined }); + + global = updateThreadReadState(global, chatId, threadId, { + unreadPollVotesCount: 0, + unreadPollVotes: undefined, + }); + return global; +}); + addActionHandler('openUrl', (global, actions, payload): ActionReturnType => { const { url, shouldSkipModal, ignoreDeepLinks, linkContext, tabId = getCurrentTabId(), diff --git a/src/global/actions/api/reactions.ts b/src/global/actions/api/reactions.ts index a8e4caf2e..a4f58f31b 100644 --- a/src/global/actions/api/reactions.ts +++ b/src/global/actions/api/reactions.ts @@ -1,6 +1,11 @@ -import type { ApiError, ApiReaction, ApiReactionEmoji } from '../../../api/types'; import type { ActionReturnType } from '../../types'; -import { ApiMediaFormat, MAIN_THREAD_ID } from '../../../api/types'; +import { + type ApiError, + ApiMediaFormat, + type ApiReaction, + type ApiReactionEmoji, + MAIN_THREAD_ID, +} from '../../../api/types'; import { GENERAL_REFETCH_INTERVAL } from '../../../config'; import { getCurrentTabId } from '../../../util/establishMultitabRole'; @@ -21,13 +26,11 @@ import { } from '../../helpers'; import { addActionHandler, getGlobal, getPromiseActions, setGlobal } from '../../index'; import { - addChatMessagesById, updateChatMessage, - updateTopicWithState, + updateUnreadCounters, } from '../../reducers'; import { addMessageReaction, - addUnreadReactions, removeUnreadReactions, subtractXForEmojiInteraction, } from '../../reducers/reactions'; @@ -490,19 +493,15 @@ addActionHandler('loadUnreadReactions', async (global, actions, payload): Promis const { messages, topics, totalCount } = result; - const byId = buildCollectionByKey(messages, 'id'); - const ids = Object.keys(byId).map(Number); - global = getGlobal(); - global = addChatMessagesById(global, chat.id, byId); - topics.forEach((topicState) => { - global = updateTopicWithState(global, chat.id, topicState); - }); - global = addUnreadReactions({ + global = updateUnreadCounters({ global, chatId, - ids, + threadId, + messages, + topics, totalCount, + unreadCountKey: 'unreadReactionsCount', }); setGlobal(global); diff --git a/src/global/reducers/chats.ts b/src/global/reducers/chats.ts index 3f9dc9d5d..2dabbd9b2 100644 --- a/src/global/reducers/chats.ts +++ b/src/global/reducers/chats.ts @@ -8,12 +8,11 @@ import { import { ARCHIVED_FOLDER_ID } from '../../config'; import { areDeepEqual } from '../../util/areDeepEqual'; import { - areSortedArraysEqual, buildCollectionByKey, omit, omitUndefined, pick, unique, + areSortedArraysEqual, buildCollectionByKey, omit, omitUndefined, pick, } from '../../util/iteratees'; -import { groupMessageIdsByThreadId } from '../helpers'; import { selectChatFullInfo } from '../selectors'; -import { selectThreadReadState } from '../selectors/threads'; -import { replaceThreadReadStateParam, updateThreadInfoLastMessageId } from './threads'; +import { updateThreadInfoLastMessageId } from './threads'; +import { addUnreadCount, removeUnreadCount } from './unreadCounters'; const DEFAULT_CHAT_LISTS: ChatListType[] = ['active', 'archived']; @@ -132,28 +131,13 @@ export function addUnreadMentions({ ids: number[]; totalCount?: number; }): T { - const messageIdsByThreadId = groupMessageIdsByThreadId(global, chatId, ids, false); - - for (const threadId in messageIdsByThreadId) { - const messageIds = messageIdsByThreadId[threadId]; - if (totalCount !== undefined) { // Assume that when `totalCount` is passed, server returned full id list - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadMentions', messageIds); - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadMentionsCount', totalCount); - continue; - } - - const readState = selectThreadReadState(global, chatId, threadId); - const prevChatUnreadMentions = readState?.unreadMentions || []; - const updatedUnreadMentions = unique([...prevChatUnreadMentions, ...messageIds]).sort((a, b) => b - a); - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadMentions', updatedUnreadMentions); - - const updatedUnreadMentionsCount = (readState?.unreadMentionsCount || 0) - + Math.max(0, updatedUnreadMentions.length - prevChatUnreadMentions.length); - - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadMentionsCount', updatedUnreadMentionsCount); - } - - return global; + return addUnreadCount({ + global, + chatId, + messageIds: ids, + totalCount, + unreadCountKey: 'unreadMentionsCount', + }); } export function removeUnreadMentions({ @@ -163,24 +147,12 @@ export function removeUnreadMentions({ chatId: string; ids: number[]; }): T { - const messageIdsByThreadId = groupMessageIdsByThreadId(global, chatId, ids, false); - - for (const threadId in messageIdsByThreadId) { - const messageIds = messageIdsByThreadId[threadId]; - const readState = selectThreadReadState(global, chatId, threadId); - const prevChatUnreadMentions = (readState?.unreadMentions || []); - const updatedUnreadMentions = prevChatUnreadMentions?.filter((id) => !messageIds.includes(id)); - - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadMentions', updatedUnreadMentions); - - const removedCount = prevChatUnreadMentions.length - updatedUnreadMentions.length; - if (removedCount && readState?.unreadMentionsCount) { - const updatedUnreadMentionsCount = Math.max(readState.unreadMentionsCount - removedCount, 0); - - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadMentionsCount', updatedUnreadMentionsCount); - } - } - return global; + return removeUnreadCount({ + global, + chatId, + messageIds: ids, + unreadCountKey: 'unreadMentionsCount', + }); } export function updateChat( diff --git a/src/global/reducers/index.ts b/src/global/reducers/index.ts index 261898931..56e67c07e 100644 --- a/src/global/reducers/index.ts +++ b/src/global/reducers/index.ts @@ -2,6 +2,7 @@ export * from './chats'; export * from './messages'; export * from './symbols'; export * from './users'; +export * from './unreadCounters'; export * from './globalSearch'; export * from './middleSearch'; export * from './management'; @@ -13,5 +14,6 @@ export * from './statistics'; export * from './stories'; export * from './translations'; export * from './peers'; +export * from './polls'; export * from './topics'; export * from './gifts'; diff --git a/src/global/reducers/messages.ts b/src/global/reducers/messages.ts index 87028a5e0..5c8e362d0 100644 --- a/src/global/reducers/messages.ts +++ b/src/global/reducers/messages.ts @@ -52,6 +52,7 @@ import { import { selectThreadIdFromMessage, selectThreadInfo, selectThreadLocalStateParam } from '../selectors/threads'; import { removeUnreadMentions } from './chats'; import { removeIdFromSearchResults } from './middleSearch'; +import { removeUnreadPollVotes } from './polls'; import { removeUnreadReactions } from './reactions'; import { updateTabState } from './tabs'; import { @@ -437,6 +438,7 @@ export function deleteChatMessages( global = removeUnreadReactions({ global, chatId, ids: messageIds }); global = removeUnreadMentions({ global, chatId, ids: messageIds }); + global = removeUnreadPollVotes({ global, chatId, ids: messageIds }); const newById = omit(byId, messageIds); global = replaceChatMessages(global, chatId, newById); diff --git a/src/global/reducers/polls.ts b/src/global/reducers/polls.ts new file mode 100644 index 000000000..cdf69d827 --- /dev/null +++ b/src/global/reducers/polls.ts @@ -0,0 +1,35 @@ +import type { GlobalState } from '../types'; + +import { addUnreadCount, removeUnreadCount } from './unreadCounters'; + +export function addUnreadPollVotes({ + global, chatId, ids, totalCount, +}: { + global: T; + chatId: string; + ids: number[]; + totalCount?: number; +}): T { + return addUnreadCount({ + global, + chatId, + messageIds: ids, + totalCount, + unreadCountKey: 'unreadPollVotesCount', + }); +} + +export function removeUnreadPollVotes({ + global, chatId, ids, +}: { + global: T; + chatId: string; + ids: number[]; +}): T { + return removeUnreadCount({ + global, + chatId, + messageIds: ids, + unreadCountKey: 'unreadPollVotesCount', + }); +} diff --git a/src/global/reducers/reactions.ts b/src/global/reducers/reactions.ts index 1c25651c9..788896452 100644 --- a/src/global/reducers/reactions.ts +++ b/src/global/reducers/reactions.ts @@ -2,17 +2,15 @@ import type { GlobalState } from '../types'; import { type ApiMessage, type ApiReactionWithPaid } from '../../api/types'; import { MIN_SCREEN_WIDTH_FOR_STATIC_LEFT_COLUMN, MIN_SCREEN_WIDTH_FOR_STATIC_RIGHT_COLUMN } from '../../config'; -import { unique } from '../../util/iteratees'; import windowSize from '../../util/windowSize'; import { MIN_LEFT_COLUMN_WIDTH, SIDE_COLUMN_MAX_WIDTH, } from '../../components/middle/helpers/calculateMiddleFooterTransforms'; -import { groupMessageIdsByThreadId, updateReactionCount } from '../helpers'; +import { updateReactionCount } from '../helpers'; import { selectIsChatWithSelf, selectSendAs, selectTabState } from '../selectors'; -import { selectThreadReadState } from '../selectors/threads'; import { updateChatMessage } from './messages'; -import { replaceThreadReadStateParam } from './threads'; +import { addUnreadCount, removeUnreadCount } from './unreadCounters'; import { getIsMobile } from '../../hooks/useAppLayout'; @@ -85,29 +83,13 @@ export function addUnreadReactions({ ids: number[]; totalCount?: number; }): T { - const messageIdsByThreadId = groupMessageIdsByThreadId(global, chatId, ids, false); - - for (const threadId in messageIdsByThreadId) { - const messageIds = messageIdsByThreadId[threadId]; - if (totalCount !== undefined) { // Assume that when `totalCount` is passed, server returned full id list - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadReactions', messageIds); - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadReactionsCount', totalCount); - continue; - } - - const readState = selectThreadReadState(global, chatId, threadId); - const prevChatUnreadReactions = readState?.unreadReactions || []; - const updatedUnreadReactions = unique([...prevChatUnreadReactions, ...messageIds]).sort((a, b) => b - a); - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadReactions', updatedUnreadReactions); - - const delta = updatedUnreadReactions.length - prevChatUnreadReactions.length; - if (delta > 0) { - const unreadReactionsCount = (readState?.unreadReactionsCount || 0) + delta; - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadReactionsCount', unreadReactionsCount); - } - } - - return global; + return addUnreadCount({ + global, + chatId, + messageIds: ids, + totalCount, + unreadCountKey: 'unreadReactionsCount', + }); } export function removeUnreadReactions({ @@ -117,20 +99,10 @@ export function removeUnreadReactions({ chatId: string; ids: number[]; }): T { - const messageIdsByThreadId = groupMessageIdsByThreadId(global, chatId, ids, false); - - for (const threadId in messageIdsByThreadId) { - const messageIds = messageIdsByThreadId[threadId]; - const readState = selectThreadReadState(global, chatId, threadId); - const prevChatUnreadReactions = readState?.unreadReactions || []; - const updatedUnreadReactions = prevChatUnreadReactions.filter((id) => !messageIds.includes(id)); - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadReactions', updatedUnreadReactions); - - const delta = prevChatUnreadReactions.length - updatedUnreadReactions.length; - if (delta > 0 && readState?.unreadReactionsCount) { - const unreadReactionsCount = Math.max(readState.unreadReactionsCount - delta, 0); - global = replaceThreadReadStateParam(global, chatId, threadId, 'unreadReactionsCount', unreadReactionsCount); - } - } - return global; + return removeUnreadCount({ + global, + chatId, + messageIds: ids, + unreadCountKey: 'unreadReactionsCount', + }); } diff --git a/src/global/reducers/unreadCounters.ts b/src/global/reducers/unreadCounters.ts new file mode 100644 index 000000000..6946a0a2c --- /dev/null +++ b/src/global/reducers/unreadCounters.ts @@ -0,0 +1,170 @@ +import type { ApiMessage, ApiTopicWithState } from '../../api/types'; +import type { ThreadId, ThreadReadState } from '../../types'; +import type { GlobalState } from '../types'; + +import { buildCollectionByKey, unique } from '../../util/iteratees'; +import { groupMessageIdsByThreadId } from '../helpers'; +import { selectThreadReadState } from '../selectors/threads'; +import { addChatMessagesById } from './messages'; +import { replaceThreadReadStateParam } from './threads'; +import { updateTopicWithState } from './topics'; + +type UnreadCountIdsKey = 'unreadMentions' | 'unreadReactions' | 'unreadPollVotes'; +export type UnreadCountKey = 'unreadMentionsCount' | 'unreadReactionsCount' | 'unreadPollVotesCount'; + +type AddUnreadCountArgs = { + global: T; + chatId: string; + messageIds: number[]; + totalCount?: number; + unreadCountKey: TKey; +}; + +type RemoveUnreadCountArgs = { + global: T; + chatId: string; + messageIds: number[]; + unreadCountKey: TKey; +}; + +type UpdateUnreadCountersArgs = { + global: T; + chatId: string; + threadId: ThreadId; + messages: ApiMessage[]; + topics: ApiTopicWithState[]; + totalCount: number; + unreadCountKey: TKey; +}; + +const unreadIdsKeyByCountKey = { + unreadMentionsCount: 'unreadMentions', + unreadReactionsCount: 'unreadReactions', + unreadPollVotesCount: 'unreadPollVotes', +} satisfies Record; + +function getUnreadIdsKey(unreadCountKey: TKey) { + return unreadIdsKeyByCountKey[unreadCountKey]; +} + +function replaceThreadUnreadIds( + global: T, + chatId: string, + threadId: ThreadId, + unreadCountKey: TKey, + messageIds: number[] | undefined, +) { + return replaceThreadReadStateParam(global, chatId, threadId, getUnreadIdsKey(unreadCountKey), messageIds); +} + +function replaceThreadUnreadCount( + global: T, + chatId: string, + threadId: ThreadId, + unreadCountKey: TKey, + count: number | undefined, +) { + return replaceThreadReadStateParam(global, chatId, threadId, unreadCountKey, count); +} + +function selectThreadUnreadIds( + readState: ThreadReadState | undefined, + unreadCountKey: TKey, +) { + return readState?.[getUnreadIdsKey(unreadCountKey)]; +} + +export function addUnreadCount({ + global, + chatId, + messageIds, + totalCount, + unreadCountKey, +}: AddUnreadCountArgs): T { + const messageIdsByThreadId = groupMessageIdsByThreadId(global, chatId, messageIds, false); + + for (const threadId in messageIdsByThreadId) { + const threadMessageIds = messageIdsByThreadId[threadId]; + if (totalCount !== undefined) { + global = replaceThreadUnreadIds(global, chatId, threadId, unreadCountKey, threadMessageIds); + global = replaceThreadUnreadCount(global, chatId, threadId, unreadCountKey, totalCount); + continue; + } + + const readState = selectThreadReadState(global, chatId, threadId); + const previousIds = selectThreadUnreadIds(readState, unreadCountKey) || []; + const updatedIds = unique([...previousIds, ...threadMessageIds]).sort((a, b) => b - a); + + global = replaceThreadUnreadIds(global, chatId, threadId, unreadCountKey, updatedIds); + + const delta = updatedIds.length - previousIds.length; + if (delta > 0) { + global = replaceThreadUnreadCount( + global, + chatId, + threadId, + unreadCountKey, + (readState?.[unreadCountKey] || 0) + delta, + ); + } + } + + return global; +} + +export function removeUnreadCount({ + global, + chatId, + messageIds, + unreadCountKey, +}: RemoveUnreadCountArgs): T { + const messageIdsByThreadId = groupMessageIdsByThreadId(global, chatId, messageIds, false); + + for (const threadId in messageIdsByThreadId) { + const threadMessageIds = messageIdsByThreadId[threadId]; + const threadMessageIdSet = new Set(threadMessageIds); + const readState = selectThreadReadState(global, chatId, threadId); + const previousIds = selectThreadUnreadIds(readState, unreadCountKey) || []; + const updatedIds = previousIds.filter((id) => !threadMessageIdSet.has(id)); + + global = replaceThreadUnreadIds(global, chatId, threadId, unreadCountKey, updatedIds); + + const previousCount = readState?.[unreadCountKey]; + const delta = previousIds.length - updatedIds.length; + + if (delta > 0 && previousCount) { + global = replaceThreadUnreadCount( + global, + chatId, + threadId, + unreadCountKey, + Math.max(previousCount - delta, 0), + ); + } + } + + return global; +} + +export function updateUnreadCounters({ + global, + chatId, + threadId, + messages, + topics, + totalCount, + unreadCountKey, +}: UpdateUnreadCountersArgs): T { + const messagesById = buildCollectionByKey(messages, 'id'); + + global = addChatMessagesById(global, chatId, messagesById); + topics.forEach((topicState) => { + global = updateTopicWithState(global, chatId, topicState); + }); + + const messageIds = Object.keys(messagesById).map(Number).sort((a, b) => b - a); + global = replaceThreadUnreadIds(global, chatId, threadId, unreadCountKey, messageIds); + global = replaceThreadUnreadCount(global, chatId, threadId, unreadCountKey, totalCount); + + return global; +} diff --git a/src/global/types/actions.ts b/src/global/types/actions.ts index 2362bcbff..e8096708f 100644 --- a/src/global/types/actions.ts +++ b/src/global/types/actions.ts @@ -1434,6 +1434,11 @@ export interface ActionPayloads { threadId?: ThreadId; offsetId?: number; }; + loadUnreadPollVotes: { + chatId: string; + threadId?: ThreadId; + offsetId?: number; + }; scheduleForViewsIncrement: { chatId: string; ids: number[]; @@ -1468,6 +1473,10 @@ export interface ActionPayloads { chatId: string; threadId?: ThreadId; } & WithTabId; + focusNextPollVote: { + chatId: string; + threadId?: ThreadId; + } & WithTabId; readAllReactions: { chatId: string; threadId?: ThreadId; @@ -1476,10 +1485,18 @@ export interface ActionPayloads { chatId: string; threadId?: ThreadId; }; + readAllPollVotes: { + chatId: string; + threadId?: ThreadId; + }; markMentionsRead: { chatId: string; messageIds: number[]; }; + markPollVotesRead: { + chatId: string; + messageIds: number[]; + }; copyMessageLink: { chatId: string; messageId: number; diff --git a/src/lib/gramjs/tl/apiTl.ts b/src/lib/gramjs/tl/apiTl.ts index a030b51c5..05c820fff 100644 --- a/src/lib/gramjs/tl/apiTl.ts +++ b/src/lib/gramjs/tl/apiTl.ts @@ -1812,6 +1812,8 @@ messages.editChatParticipantRank#a00f32b0 peer:InputPeer participant:InputPeer r messages.declineUrlAuth#35436bbc url:string = Bool; messages.checkUrlAuthMatchCode#c9a47b0b url:string match_code:string = Bool; messages.composeMessageWithAI#fd426afe flags:# proofread:flags.0?true emojify:flags.3?true text:TextWithEntities translate_to_lang:flags.1?string change_tone:flags.2?string = messages.ComposedMessageWithAI; +messages.getUnreadPollVotes#43286cf2 flags:# peer:InputPeer top_msg_id:flags.0?int offset_id:int add_offset:int limit:int max_id:int min_id:int = messages.Messages; +messages.readPollVotes#1720b4d8 flags:# peer:InputPeer top_msg_id:flags.0?int = messages.AffectedHistory; updates.getState#edd4882a = updates.State; updates.getDifference#19c2f763 flags:# pts:int pts_limit:flags.1?int pts_total_limit:flags.0?int date:int qts:int qts_limit:flags.2?int = updates.Difference; updates.getChannelDifference#3173d78 flags:# force:flags.0?true channel:InputChannel filter:ChannelMessagesFilter pts:int limit:int = updates.ChannelDifference; diff --git a/src/lib/gramjs/tl/static/api.json b/src/lib/gramjs/tl/static/api.json index 6fa07a5d0..9676cdd50 100644 --- a/src/lib/gramjs/tl/static/api.json +++ b/src/lib/gramjs/tl/static/api.json @@ -224,6 +224,8 @@ "messages.clearRecentReactions", "messages.readMentions", "messages.getUnreadMentions", + "messages.readPollVotes", + "messages.getUnreadPollVotes", "messages.getSavedDialogs", "messages.getSavedHistory", "messages.deleteSavedHistory", diff --git a/src/styles/icons.css b/src/styles/icons.css index 91f611364..fac05b72b 100644 --- a/src/styles/icons.css +++ b/src/styles/icons.css @@ -3,8 +3,8 @@ font-weight: normal; font-style: normal; font-display: block; - src: url("./icons.woff2?c214ea51ec224c3d83b4001c0c6e5d71") format("woff2"), -url("./icons.woff?c214ea51ec224c3d83b4001c0c6e5d71") format("woff"); + src: url("./icons.woff2?57b8d316ef753822e8b48b5185869a06") format("woff2"), +url("./icons.woff?57b8d316ef753822e8b48b5185869a06") format("woff"); } .icon-char::before { @@ -45,981 +45,975 @@ url("./icons.woff?c214ea51ec224c3d83b4001c0c6e5d71") format("woff"); .icon-admin::before { content: "\f108"; } -.icon-ai-edit::before { +.icon-allow-share::before { content: "\f109"; } -.icon-ai-fix::before { +.icon-allow-speak::before { content: "\f10a"; } -.icon-ai::before { +.icon-animals::before { content: "\f10b"; } -.icon-allow-share::before { +.icon-animations::before { content: "\f10c"; } -.icon-allow-speak::before { +.icon-archive-filled::before { content: "\f10d"; } -.icon-animals::before { +.icon-archive-from-main::before { content: "\f10e"; } -.icon-animations::before { +.icon-archive-to-main::before { content: "\f10f"; } -.icon-archive-filled::before { +.icon-archive::before { content: "\f110"; } -.icon-archive-from-main::before { +.icon-arrow-down-circle::before { content: "\f111"; } -.icon-archive-to-main::before { +.icon-arrow-down::before { content: "\f112"; } -.icon-archive::before { +.icon-arrow-left::before { content: "\f113"; } -.icon-arrow-down-circle::before { +.icon-arrow-right::before { content: "\f114"; } -.icon-arrow-down::before { +.icon-ask-support::before { content: "\f115"; } -.icon-arrow-left::before { +.icon-attach::before { content: "\f116"; } -.icon-arrow-right::before { +.icon-auction-drop::before { content: "\f117"; } -.icon-ask-support::before { +.icon-auction-filled::before { content: "\f118"; } -.icon-attach::before { +.icon-auction-next-round::before { content: "\f119"; } -.icon-auction-drop::before { +.icon-auction::before { content: "\f11a"; } -.icon-auction-filled::before { +.icon-author-hidden::before { content: "\f11b"; } -.icon-auction-next-round::before { +.icon-avatar-archived-chats::before { content: "\f11c"; } -.icon-auction::before { +.icon-avatar-deleted-account::before { content: "\f11d"; } -.icon-author-hidden::before { +.icon-avatar-saved-messages::before { content: "\f11e"; } -.icon-avatar-archived-chats::before { +.icon-bold::before { content: "\f11f"; } -.icon-avatar-deleted-account::before { +.icon-boost-craft-chance::before { content: "\f120"; } -.icon-avatar-saved-messages::before { +.icon-boost-outline::before { content: "\f121"; } -.icon-bold::before { +.icon-boost::before { content: "\f122"; } -.icon-boost-craft-chance::before { +.icon-boostcircle::before { content: "\f123"; } -.icon-boost-outline::before { +.icon-boosts::before { content: "\f124"; } -.icon-boost::before { +.icon-bot-command::before { content: "\f125"; } -.icon-boostcircle::before { +.icon-bot-commands-filled::before { content: "\f126"; } -.icon-boosts::before { +.icon-bots::before { content: "\f127"; } -.icon-bot-command::before { +.icon-brush::before { content: "\f128"; } -.icon-bot-commands-filled::before { +.icon-bug::before { content: "\f129"; } -.icon-bots::before { +.icon-calendar-filter::before { content: "\f12a"; } -.icon-brush::before { +.icon-calendar::before { content: "\f12b"; } -.icon-bug::before { +.icon-camera-add::before { content: "\f12c"; } -.icon-calendar-filter::before { +.icon-camera::before { content: "\f12d"; } -.icon-calendar::before { +.icon-car::before { content: "\f12e"; } -.icon-camera-add::before { +.icon-card::before { content: "\f12f"; } -.icon-camera::before { +.icon-cash-circle::before { content: "\f130"; } -.icon-car::before { +.icon-channel-filled::before { content: "\f131"; } -.icon-card::before { +.icon-channel::before { content: "\f132"; } -.icon-cash-circle::before { +.icon-channelviews::before { content: "\f133"; } -.icon-channel-filled::before { +.icon-chat-badge::before { content: "\f134"; } -.icon-channel::before { +.icon-chats-badge::before { content: "\f135"; } -.icon-channelviews::before { +.icon-check-bold::before { content: "\f136"; } -.icon-chat-badge::before { +.icon-check::before { content: "\f137"; } -.icon-chats-badge::before { +.icon-clock-edit::before { content: "\f138"; } -.icon-check-bold::before { +.icon-clock::before { content: "\f139"; } -.icon-check::before { +.icon-close-circle::before { content: "\f13a"; } -.icon-clock-edit::before { +.icon-close-topic::before { content: "\f13b"; } -.icon-clock::before { +.icon-close::before { content: "\f13c"; } -.icon-close-circle::before { +.icon-closed-gift::before { content: "\f13d"; } -.icon-close-topic::before { +.icon-cloud-download::before { content: "\f13e"; } -.icon-close::before { +.icon-collapse-modal::before { content: "\f13f"; } -.icon-closed-gift::before { +.icon-collapse::before { content: "\f140"; } -.icon-cloud-download::before { +.icon-colorize::before { content: "\f141"; } -.icon-collapse-modal::before { +.icon-combine-craft::before { content: "\f142"; } -.icon-collapse::before { +.icon-comments-sticker::before { content: "\f143"; } -.icon-colorize::before { +.icon-comments::before { content: "\f144"; } -.icon-combine-craft::before { +.icon-copy-media::before { content: "\f145"; } -.icon-comments-sticker::before { +.icon-copy::before { content: "\f146"; } -.icon-comments::before { +.icon-craft::before { content: "\f147"; } -.icon-copy-media::before { +.icon-crop::before { content: "\f148"; } -.icon-copy::before { +.icon-crown-take-off-outline::before { content: "\f149"; } -.icon-craft::before { +.icon-crown-take-off::before { content: "\f14a"; } -.icon-crop::before { +.icon-crown-wear-outline::before { content: "\f14b"; } -.icon-crown-take-off-outline::before { +.icon-crown-wear::before { content: "\f14c"; } -.icon-crown-take-off::before { +.icon-darkmode::before { content: "\f14d"; } -.icon-crown-wear-outline::before { +.icon-data::before { content: "\f14e"; } -.icon-crown-wear::before { +.icon-delete-filled::before { content: "\f14f"; } -.icon-darkmode::before { +.icon-delete-left::before { content: "\f150"; } -.icon-data::before { +.icon-delete-user::before { content: "\f151"; } -.icon-delete-filled::before { +.icon-delete::before { content: "\f152"; } -.icon-delete-left::before { +.icon-diamond::before { content: "\f153"; } -.icon-delete-user::before { +.icon-document::before { content: "\f154"; } -.icon-delete::before { +.icon-double-badge::before { content: "\f155"; } -.icon-diamond::before { +.icon-down::before { content: "\f156"; } -.icon-document::before { +.icon-download::before { content: "\f157"; } -.icon-double-badge::before { +.icon-dropdown-arrows::before { content: "\f158"; } -.icon-down::before { +.icon-eats::before { content: "\f159"; } -.icon-download::before { +.icon-edit::before { content: "\f15a"; } -.icon-dropdown-arrows::before { +.icon-email::before { content: "\f15b"; } -.icon-eats::before { +.icon-enter::before { content: "\f15c"; } -.icon-edit::before { +.icon-expand-modal::before { content: "\f15d"; } -.icon-email::before { +.icon-expand::before { content: "\f15e"; } -.icon-enter::before { +.icon-eye-crossed-outline::before { content: "\f15f"; } -.icon-expand-modal::before { +.icon-eye-crossed::before { content: "\f160"; } -.icon-expand::before { +.icon-eye-outline::before { content: "\f161"; } -.icon-eye-crossed-outline::before { +.icon-eye::before { content: "\f162"; } -.icon-eye-crossed::before { +.icon-favorite-filled::before { content: "\f163"; } -.icon-eye-outline::before { +.icon-favorite::before { content: "\f164"; } -.icon-eye::before { +.icon-file-badge::before { content: "\f165"; } -.icon-favorite-filled::before { +.icon-flag::before { content: "\f166"; } -.icon-favorite::before { +.icon-flip::before { content: "\f167"; } -.icon-file-badge::before { +.icon-folder-badge::before { content: "\f168"; } -.icon-flag::before { +.icon-folder-tabs-bot::before { content: "\f169"; } -.icon-flip::before { +.icon-folder-tabs-channel::before { content: "\f16a"; } -.icon-folder-badge::before { +.icon-folder-tabs-chat::before { content: "\f16b"; } -.icon-folder-tabs-bot::before { +.icon-folder-tabs-chats::before { content: "\f16c"; } -.icon-folder-tabs-channel::before { +.icon-folder-tabs-folder::before { content: "\f16d"; } -.icon-folder-tabs-chat::before { +.icon-folder-tabs-group::before { content: "\f16e"; } -.icon-folder-tabs-chats::before { +.icon-folder-tabs-star::before { content: "\f16f"; } -.icon-folder-tabs-folder::before { +.icon-folder-tabs-user::before { content: "\f170"; } -.icon-folder-tabs-group::before { +.icon-folder::before { content: "\f171"; } -.icon-folder-tabs-star::before { +.icon-fontsize::before { content: "\f172"; } -.icon-folder-tabs-user::before { +.icon-forums::before { content: "\f173"; } -.icon-folder::before { +.icon-forward::before { content: "\f174"; } -.icon-fontsize::before { +.icon-fragment::before { content: "\f175"; } -.icon-forums::before { +.icon-frozen-time::before { content: "\f176"; } -.icon-forward::before { +.icon-fullscreen::before { content: "\f177"; } -.icon-fragment::before { +.icon-gifs::before { content: "\f178"; } -.icon-frozen-time::before { +.icon-gift-transfer-inline::before { content: "\f179"; } -.icon-fullscreen::before { +.icon-gift::before { content: "\f17a"; } -.icon-gifs::before { +.icon-group-filled::before { content: "\f17b"; } -.icon-gift-transfer-inline::before { +.icon-group::before { content: "\f17c"; } -.icon-gift::before { +.icon-grouped-disable::before { content: "\f17d"; } -.icon-group-filled::before { +.icon-grouped::before { content: "\f17e"; } -.icon-group::before { +.icon-hand-stop-filled::before { content: "\f17f"; } -.icon-grouped-disable::before { +.icon-hand-stop::before { content: "\f180"; } -.icon-grouped::before { +.icon-hashtag::before { content: "\f181"; } -.icon-hand-stop-filled::before { +.icon-hd-photo::before { content: "\f182"; } -.icon-hand-stop::before { +.icon-heart-outline::before { content: "\f183"; } -.icon-hashtag::before { +.icon-heart::before { content: "\f184"; } -.icon-hd-photo::before { +.icon-help::before { content: "\f185"; } -.icon-heart-outline::before { +.icon-info-filled::before { content: "\f186"; } -.icon-heart::before { +.icon-info::before { content: "\f187"; } -.icon-help::before { +.icon-install::before { content: "\f188"; } -.icon-info-filled::before { +.icon-italic::before { content: "\f189"; } -.icon-info::before { +.icon-key::before { content: "\f18a"; } -.icon-install::before { +.icon-keyboard::before { content: "\f18b"; } -.icon-italic::before { +.icon-lamp::before { content: "\f18c"; } -.icon-key::before { +.icon-language::before { content: "\f18d"; } -.icon-keyboard::before { +.icon-large-pause::before { content: "\f18e"; } -.icon-lamp::before { +.icon-large-play::before { content: "\f18f"; } -.icon-language::before { +.icon-link-badge::before { content: "\f190"; } -.icon-large-pause::before { +.icon-link-broken::before { content: "\f191"; } -.icon-large-play::before { +.icon-link::before { content: "\f192"; } -.icon-link-badge::before { +.icon-location::before { content: "\f193"; } -.icon-link-broken::before { +.icon-lock-badge::before { content: "\f194"; } -.icon-link::before { +.icon-lock::before { content: "\f195"; } -.icon-location::before { +.icon-logout::before { content: "\f196"; } -.icon-lock-badge::before { +.icon-loop::before { content: "\f197"; } -.icon-lock::before { +.icon-mention::before { content: "\f198"; } -.icon-logout::before { +.icon-menu::before { content: "\f199"; } -.icon-loop::before { +.icon-message-failed::before { content: "\f19a"; } -.icon-mention::before { +.icon-message-pending::before { content: "\f19b"; } -.icon-menu::before { +.icon-message-read::before { content: "\f19c"; } -.icon-message-failed::before { +.icon-message-succeeded::before { content: "\f19d"; } -.icon-message-pending::before { +.icon-message::before { content: "\f19e"; } -.icon-message-read::before { +.icon-microphone-alt::before { content: "\f19f"; } -.icon-message-succeeded::before { +.icon-microphone::before { content: "\f1a0"; } -.icon-message::before { +.icon-monospace::before { content: "\f1a1"; } -.icon-microphone-alt::before { +.icon-more-circle::before { content: "\f1a2"; } -.icon-microphone::before { +.icon-more::before { content: "\f1a3"; } -.icon-monospace::before { +.icon-move-caption-down::before { content: "\f1a4"; } -.icon-more-circle::before { +.icon-move-caption-up::before { content: "\f1a5"; } -.icon-more::before { +.icon-mute::before { content: "\f1a6"; } -.icon-move-caption-down::before { +.icon-muted::before { content: "\f1a7"; } -.icon-move-caption-up::before { +.icon-my-notes::before { content: "\f1a8"; } -.icon-mute::before { +.icon-new-chat-filled::before { content: "\f1a9"; } -.icon-muted::before { +.icon-new-send::before { content: "\f1aa"; } -.icon-my-notes::before { +.icon-next-link::before { content: "\f1ab"; } -.icon-new-chat-filled::before { +.icon-next::before { content: "\f1ac"; } -.icon-new-send::before { +.icon-no-download::before { content: "\f1ad"; } -.icon-next-link::before { +.icon-no-share::before { content: "\f1ae"; } -.icon-next::before { +.icon-nochannel::before { content: "\f1af"; } -.icon-no-download::before { +.icon-noise-suppression::before { content: "\f1b0"; } -.icon-no-share::before { +.icon-non-contacts::before { content: "\f1b1"; } -.icon-nochannel::before { +.icon-note::before { content: "\f1b2"; } -.icon-noise-suppression::before { +.icon-one-filled::before { content: "\f1b3"; } -.icon-non-contacts::before { +.icon-open-in-new-tab::before { content: "\f1b4"; } -.icon-note::before { +.icon-password-off::before { content: "\f1b5"; } -.icon-one-filled::before { +.icon-pause::before { content: "\f1b6"; } -.icon-open-in-new-tab::before { +.icon-permissions::before { content: "\f1b7"; } -.icon-password-off::before { +.icon-phone-discard-outline::before { content: "\f1b8"; } -.icon-pause::before { +.icon-phone-discard::before { content: "\f1b9"; } -.icon-permissions::before { +.icon-phone::before { content: "\f1ba"; } -.icon-phone-discard-outline::before { +.icon-photo::before { content: "\f1bb"; } -.icon-phone-discard::before { +.icon-pin-badge::before { content: "\f1bc"; } -.icon-phone::before { +.icon-pin-list::before { content: "\f1bd"; } -.icon-photo::before { +.icon-pin::before { content: "\f1be"; } -.icon-pin-badge::before { +.icon-pinned-chat::before { content: "\f1bf"; } -.icon-pin-list::before { +.icon-pinned-message::before { content: "\f1c0"; } -.icon-pin::before { +.icon-pip::before { content: "\f1c1"; } -.icon-pinned-chat::before { +.icon-play-story::before { content: "\f1c2"; } -.icon-pinned-message::before { +.icon-play::before { content: "\f1c3"; } -.icon-pip::before { +.icon-poll-badge::before { content: "\f1c4"; } -.icon-play-story::before { +.icon-poll::before { content: "\f1c5"; } -.icon-play::before { +.icon-previous-link::before { content: "\f1c6"; } -.icon-poll::before { +.icon-previous::before { content: "\f1c7"; } -.icon-previous-link::before { +.icon-privacy-policy::before { content: "\f1c8"; } -.icon-previous::before { +.icon-proof-of-ownership::before { content: "\f1c9"; } -.icon-privacy-policy::before { +.icon-quote-text::before { content: "\f1ca"; } -.icon-proof-of-ownership::before { +.icon-quote::before { content: "\f1cb"; } -.icon-quote-text::before { +.icon-radial-badge::before { content: "\f1cc"; } -.icon-quote::before { +.icon-rating-icons-level1::before { content: "\f1cd"; } -.icon-radial-badge::before { +.icon-rating-icons-level10::before { content: "\f1ce"; } -.icon-rating-icons-level1::before { +.icon-rating-icons-level2::before { content: "\f1cf"; } -.icon-rating-icons-level10::before { +.icon-rating-icons-level20::before { content: "\f1d0"; } -.icon-rating-icons-level2::before { +.icon-rating-icons-level3::before { content: "\f1d1"; } -.icon-rating-icons-level20::before { +.icon-rating-icons-level30::before { content: "\f1d2"; } -.icon-rating-icons-level3::before { +.icon-rating-icons-level4::before { content: "\f1d3"; } -.icon-rating-icons-level30::before { +.icon-rating-icons-level40::before { content: "\f1d4"; } -.icon-rating-icons-level4::before { +.icon-rating-icons-level5::before { content: "\f1d5"; } -.icon-rating-icons-level40::before { +.icon-rating-icons-level50::before { content: "\f1d6"; } -.icon-rating-icons-level5::before { +.icon-rating-icons-level6::before { content: "\f1d7"; } -.icon-rating-icons-level50::before { +.icon-rating-icons-level60::before { content: "\f1d8"; } -.icon-rating-icons-level6::before { +.icon-rating-icons-level7::before { content: "\f1d9"; } -.icon-rating-icons-level60::before { +.icon-rating-icons-level70::before { content: "\f1da"; } -.icon-rating-icons-level7::before { +.icon-rating-icons-level8::before { content: "\f1db"; } -.icon-rating-icons-level70::before { +.icon-rating-icons-level80::before { content: "\f1dc"; } -.icon-rating-icons-level8::before { +.icon-rating-icons-level9::before { content: "\f1dd"; } -.icon-rating-icons-level80::before { +.icon-rating-icons-level90::before { content: "\f1de"; } -.icon-rating-icons-level9::before { +.icon-rating-icons-negative::before { content: "\f1df"; } -.icon-rating-icons-level90::before { +.icon-readchats::before { content: "\f1e0"; } -.icon-rating-icons-negative::before { +.icon-recent::before { content: "\f1e1"; } -.icon-readchats::before { +.icon-redo::before { content: "\f1e2"; } -.icon-recent::before { +.icon-refund::before { content: "\f1e3"; } -.icon-redo::before { +.icon-reload::before { content: "\f1e4"; } -.icon-refund::before { +.icon-remove-quote::before { content: "\f1e5"; } -.icon-reload::before { +.icon-remove::before { content: "\f1e6"; } -.icon-remove-quote::before { +.icon-reopen-topic::before { content: "\f1e7"; } -.icon-remove::before { +.icon-reorder-tabs::before { content: "\f1e8"; } -.icon-reopen-topic::before { +.icon-replace::before { content: "\f1e9"; } -.icon-reorder-tabs::before { +.icon-replies::before { content: "\f1ea"; } -.icon-replace::before { +.icon-reply-filled::before { content: "\f1eb"; } -.icon-replies::before { +.icon-reply::before { content: "\f1ec"; } -.icon-reply-filled::before { +.icon-revenue-split::before { content: "\f1ed"; } -.icon-reply::before { +.icon-revote::before { content: "\f1ee"; } -.icon-revenue-split::before { +.icon-rotate::before { content: "\f1ef"; } -.icon-revote::before { +.icon-save-story::before { content: "\f1f0"; } -.icon-rotate::before { +.icon-saved-messages::before { content: "\f1f1"; } -.icon-save-story::before { +.icon-schedule::before { content: "\f1f2"; } -.icon-saved-messages::before { +.icon-scheduled::before { content: "\f1f3"; } -.icon-schedule::before { +.icon-sd-photo::before { content: "\f1f4"; } -.icon-scheduled::before { +.icon-search::before { content: "\f1f5"; } -.icon-sd-photo::before { +.icon-select-filled::before { content: "\f1f6"; } -.icon-search::before { +.icon-select::before { content: "\f1f7"; } -.icon-select-filled::before { +.icon-sell-outline::before { content: "\f1f8"; } -.icon-select::before { +.icon-sell::before { content: "\f1f9"; } -.icon-sell-outline::before { +.icon-send-outline::before { content: "\f1fa"; } -.icon-sell::before { +.icon-send::before { content: "\f1fb"; } -.icon-send-outline::before { +.icon-settings-filled::before { content: "\f1fc"; } -.icon-send::before { +.icon-settings::before { content: "\f1fd"; } -.icon-settings-filled::before { +.icon-share-filled::before { content: "\f1fe"; } -.icon-settings::before { +.icon-share-screen-outlined::before { content: "\f1ff"; } -.icon-share-filled::before { +.icon-share-screen-stop::before { content: "\f200"; } -.icon-share-screen-outlined::before { +.icon-share-screen::before { content: "\f201"; } -.icon-share-screen-stop::before { +.icon-show-message::before { content: "\f202"; } -.icon-share-screen::before { +.icon-sidebar::before { content: "\f203"; } -.icon-show-message::before { +.icon-skip-next::before { content: "\f204"; } -.icon-sidebar::before { +.icon-skip-previous::before { content: "\f205"; } -.icon-skip-next::before { +.icon-smallscreen::before { content: "\f206"; } -.icon-skip-previous::before { +.icon-smile::before { content: "\f207"; } -.icon-smallscreen::before { +.icon-sort-by-date::before { content: "\f208"; } -.icon-smile::before { +.icon-sort-by-number::before { content: "\f209"; } -.icon-sort-by-date::before { +.icon-sort-by-price::before { content: "\f20a"; } -.icon-sort-by-number::before { +.icon-sort::before { content: "\f20b"; } -.icon-sort-by-price::before { +.icon-speaker-muted-story::before { content: "\f20c"; } -.icon-sort::before { +.icon-speaker-outline::before { content: "\f20d"; } -.icon-speaker-muted-story::before { +.icon-speaker-story::before { content: "\f20e"; } -.icon-speaker-outline::before { +.icon-speaker::before { content: "\f20f"; } -.icon-speaker-story::before { +.icon-spoiler-disable::before { content: "\f210"; } -.icon-speaker::before { +.icon-spoiler::before { content: "\f211"; } -.icon-spoiler-disable::before { +.icon-sport::before { content: "\f212"; } -.icon-spoiler::before { +.icon-star::before { content: "\f213"; } -.icon-sport::before { +.icon-stars-lock::before { content: "\f214"; } -.icon-star::before { +.icon-stars-refund::before { content: "\f215"; } -.icon-stars-lock::before { +.icon-stats::before { content: "\f216"; } -.icon-stars-refund::before { +.icon-stealth-future::before { content: "\f217"; } -.icon-stats::before { +.icon-stealth-past::before { content: "\f218"; } -.icon-stealth-future::before { +.icon-stickers::before { content: "\f219"; } -.icon-stealth-past::before { +.icon-stop-raising-hand::before { content: "\f21a"; } -.icon-stickers::before { +.icon-stop::before { content: "\f21b"; } -.icon-stop-raising-hand::before { +.icon-story-caption::before { content: "\f21c"; } -.icon-stop::before { +.icon-story-expired::before { content: "\f21d"; } -.icon-story-caption::before { +.icon-story-priority::before { content: "\f21e"; } -.icon-story-expired::before { +.icon-story-reply::before { content: "\f21f"; } -.icon-story-priority::before { +.icon-strikethrough::before { content: "\f220"; } -.icon-story-reply::before { +.icon-tag-add::before { content: "\f221"; } -.icon-strikethrough::before { +.icon-tag-crossed::before { content: "\f222"; } -.icon-tag-add::before { +.icon-tag-filter::before { content: "\f223"; } -.icon-tag-crossed::before { +.icon-tag-name::before { content: "\f224"; } -.icon-tag-filter::before { +.icon-tag::before { content: "\f225"; } -.icon-tag-name::before { +.icon-timer::before { content: "\f226"; } -.icon-tag::before { +.icon-toncoin::before { content: "\f227"; } -.icon-timer::before { +.icon-tools::before { content: "\f228"; } -.icon-toncoin::before { +.icon-topic-new::before { content: "\f229"; } -.icon-tools::before { +.icon-trade::before { content: "\f22a"; } -.icon-topic-new::before { +.icon-transcribe::before { content: "\f22b"; } -.icon-trade::before { +.icon-truck::before { content: "\f22c"; } -.icon-transcribe::before { +.icon-unarchive::before { content: "\f22d"; } -.icon-truck::before { +.icon-underlined::before { content: "\f22e"; } -.icon-unarchive::before { +.icon-understood::before { content: "\f22f"; } -.icon-underlined::before { +.icon-undo::before { content: "\f230"; } -.icon-understood::before { +.icon-unique-profile::before { content: "\f231"; } -.icon-undo::before { +.icon-unlist-outline::before { content: "\f232"; } -.icon-unique-profile::before { +.icon-unlist::before { content: "\f233"; } -.icon-unlist-outline::before { +.icon-unlock-badge::before { content: "\f234"; } -.icon-unlist::before { +.icon-unlock::before { content: "\f235"; } -.icon-unlock-badge::before { +.icon-unmute::before { content: "\f236"; } -.icon-unlock::before { +.icon-unpin::before { content: "\f237"; } -.icon-unmute::before { +.icon-unread::before { content: "\f238"; } -.icon-unpin::before { +.icon-up::before { content: "\f239"; } -.icon-unread::before { +.icon-user-filled::before { content: "\f23a"; } -.icon-up::before { +.icon-user-online::before { content: "\f23b"; } -.icon-user-filled::before { +.icon-user-stars::before { content: "\f23c"; } -.icon-user-online::before { +.icon-user-tag::before { content: "\f23d"; } -.icon-user-stars::before { +.icon-user::before { content: "\f23e"; } -.icon-user-tag::before { +.icon-video-outlined::before { content: "\f23f"; } -.icon-user::before { +.icon-video-stop::before { content: "\f240"; } -.icon-video-outlined::before { +.icon-video::before { content: "\f241"; } -.icon-video-stop::before { +.icon-view-once::before { content: "\f242"; } -.icon-video::before { +.icon-voice-chat::before { content: "\f243"; } -.icon-view-once::before { +.icon-volume-1::before { content: "\f244"; } -.icon-voice-chat::before { +.icon-volume-2::before { content: "\f245"; } -.icon-volume-1::before { +.icon-volume-3::before { content: "\f246"; } -.icon-volume-2::before { +.icon-warning::before { content: "\f247"; } -.icon-volume-3::before { +.icon-web::before { content: "\f248"; } -.icon-warning::before { +.icon-webapp::before { content: "\f249"; } -.icon-web::before { +.icon-word-wrap::before { content: "\f24a"; } -.icon-webapp::before { +.icon-zoom-in::before { content: "\f24b"; } -.icon-word-wrap::before { +.icon-zoom-out::before { content: "\f24c"; } -.icon-zoom-in::before { - content: "\f24d"; -} -.icon-zoom-out::before { - content: "\f24e"; -} diff --git a/src/styles/icons.scss b/src/styles/icons.scss index 8a9000934..e18b571dd 100644 --- a/src/styles/icons.scss +++ b/src/styles/icons.scss @@ -24,330 +24,328 @@ $icons-map: ( "add-user": "\f106", "add": "\f107", "admin": "\f108", - "ai-edit": "\f109", - "ai-fix": "\f10a", - "ai": "\f10b", - "allow-share": "\f10c", - "allow-speak": "\f10d", - "animals": "\f10e", - "animations": "\f10f", - "archive-filled": "\f110", - "archive-from-main": "\f111", - "archive-to-main": "\f112", - "archive": "\f113", - "arrow-down-circle": "\f114", - "arrow-down": "\f115", - "arrow-left": "\f116", - "arrow-right": "\f117", - "ask-support": "\f118", - "attach": "\f119", - "auction-drop": "\f11a", - "auction-filled": "\f11b", - "auction-next-round": "\f11c", - "auction": "\f11d", - "author-hidden": "\f11e", - "avatar-archived-chats": "\f11f", - "avatar-deleted-account": "\f120", - "avatar-saved-messages": "\f121", - "bold": "\f122", - "boost-craft-chance": "\f123", - "boost-outline": "\f124", - "boost": "\f125", - "boostcircle": "\f126", - "boosts": "\f127", - "bot-command": "\f128", - "bot-commands-filled": "\f129", - "bots": "\f12a", - "brush": "\f12b", - "bug": "\f12c", - "calendar-filter": "\f12d", - "calendar": "\f12e", - "camera-add": "\f12f", - "camera": "\f130", - "car": "\f131", - "card": "\f132", - "cash-circle": "\f133", - "channel-filled": "\f134", - "channel": "\f135", - "channelviews": "\f136", - "chat-badge": "\f137", - "chats-badge": "\f138", - "check-bold": "\f139", - "check": "\f13a", - "clock-edit": "\f13b", - "clock": "\f13c", - "close-circle": "\f13d", - "close-topic": "\f13e", - "close": "\f13f", - "closed-gift": "\f140", - "cloud-download": "\f141", - "collapse-modal": "\f142", - "collapse": "\f143", - "colorize": "\f144", - "combine-craft": "\f145", - "comments-sticker": "\f146", - "comments": "\f147", - "copy-media": "\f148", - "copy": "\f149", - "craft": "\f14a", - "crop": "\f14b", - "crown-take-off-outline": "\f14c", - "crown-take-off": "\f14d", - "crown-wear-outline": "\f14e", - "crown-wear": "\f14f", - "darkmode": "\f150", - "data": "\f151", - "delete-filled": "\f152", - "delete-left": "\f153", - "delete-user": "\f154", - "delete": "\f155", - "diamond": "\f156", - "document": "\f157", - "double-badge": "\f158", - "down": "\f159", - "download": "\f15a", - "dropdown-arrows": "\f15b", - "eats": "\f15c", - "edit": "\f15d", - "email": "\f15e", - "enter": "\f15f", - "expand-modal": "\f160", - "expand": "\f161", - "eye-crossed-outline": "\f162", - "eye-crossed": "\f163", - "eye-outline": "\f164", - "eye": "\f165", - "favorite-filled": "\f166", - "favorite": "\f167", - "file-badge": "\f168", - "flag": "\f169", - "flip": "\f16a", - "folder-badge": "\f16b", - "folder-tabs-bot": "\f16c", - "folder-tabs-channel": "\f16d", - "folder-tabs-chat": "\f16e", - "folder-tabs-chats": "\f16f", - "folder-tabs-folder": "\f170", - "folder-tabs-group": "\f171", - "folder-tabs-star": "\f172", - "folder-tabs-user": "\f173", - "folder": "\f174", - "fontsize": "\f175", - "forums": "\f176", - "forward": "\f177", - "fragment": "\f178", - "frozen-time": "\f179", - "fullscreen": "\f17a", - "gifs": "\f17b", - "gift-transfer-inline": "\f17c", - "gift": "\f17d", - "group-filled": "\f17e", - "group": "\f17f", - "grouped-disable": "\f180", - "grouped": "\f181", - "hand-stop-filled": "\f182", - "hand-stop": "\f183", - "hashtag": "\f184", - "hd-photo": "\f185", - "heart-outline": "\f186", - "heart": "\f187", - "help": "\f188", - "info-filled": "\f189", - "info": "\f18a", - "install": "\f18b", - "italic": "\f18c", - "key": "\f18d", - "keyboard": "\f18e", - "lamp": "\f18f", - "language": "\f190", - "large-pause": "\f191", - "large-play": "\f192", - "link-badge": "\f193", - "link-broken": "\f194", - "link": "\f195", - "location": "\f196", - "lock-badge": "\f197", - "lock": "\f198", - "logout": "\f199", - "loop": "\f19a", - "mention": "\f19b", - "menu": "\f19c", - "message-failed": "\f19d", - "message-pending": "\f19e", - "message-read": "\f19f", - "message-succeeded": "\f1a0", - "message": "\f1a1", - "microphone-alt": "\f1a2", - "microphone": "\f1a3", - "monospace": "\f1a4", - "more-circle": "\f1a5", - "more": "\f1a6", - "move-caption-down": "\f1a7", - "move-caption-up": "\f1a8", - "mute": "\f1a9", - "muted": "\f1aa", - "my-notes": "\f1ab", - "new-chat-filled": "\f1ac", - "new-send": "\f1ad", - "next-link": "\f1ae", - "next": "\f1af", - "no-download": "\f1b0", - "no-share": "\f1b1", - "nochannel": "\f1b2", - "noise-suppression": "\f1b3", - "non-contacts": "\f1b4", - "note": "\f1b5", - "one-filled": "\f1b6", - "open-in-new-tab": "\f1b7", - "password-off": "\f1b8", - "pause": "\f1b9", - "permissions": "\f1ba", - "phone-discard-outline": "\f1bb", - "phone-discard": "\f1bc", - "phone": "\f1bd", - "photo": "\f1be", - "pin-badge": "\f1bf", - "pin-list": "\f1c0", - "pin": "\f1c1", - "pinned-chat": "\f1c2", - "pinned-message": "\f1c3", - "pip": "\f1c4", - "play-story": "\f1c5", - "play": "\f1c6", - "poll": "\f1c7", - "previous-link": "\f1c8", - "previous": "\f1c9", - "privacy-policy": "\f1ca", - "proof-of-ownership": "\f1cb", - "quote-text": "\f1cc", - "quote": "\f1cd", - "radial-badge": "\f1ce", - "rating-icons-level1": "\f1cf", - "rating-icons-level10": "\f1d0", - "rating-icons-level2": "\f1d1", - "rating-icons-level20": "\f1d2", - "rating-icons-level3": "\f1d3", - "rating-icons-level30": "\f1d4", - "rating-icons-level4": "\f1d5", - "rating-icons-level40": "\f1d6", - "rating-icons-level5": "\f1d7", - "rating-icons-level50": "\f1d8", - "rating-icons-level6": "\f1d9", - "rating-icons-level60": "\f1da", - "rating-icons-level7": "\f1db", - "rating-icons-level70": "\f1dc", - "rating-icons-level8": "\f1dd", - "rating-icons-level80": "\f1de", - "rating-icons-level9": "\f1df", - "rating-icons-level90": "\f1e0", - "rating-icons-negative": "\f1e1", - "readchats": "\f1e2", - "recent": "\f1e3", - "redo": "\f1e4", - "refund": "\f1e5", - "reload": "\f1e6", - "remove-quote": "\f1e7", - "remove": "\f1e8", - "reopen-topic": "\f1e9", - "reorder-tabs": "\f1ea", - "replace": "\f1eb", - "replies": "\f1ec", - "reply-filled": "\f1ed", - "reply": "\f1ee", - "revenue-split": "\f1ef", - "revote": "\f1f0", - "rotate": "\f1f1", - "save-story": "\f1f2", - "saved-messages": "\f1f3", - "schedule": "\f1f4", - "scheduled": "\f1f5", - "sd-photo": "\f1f6", - "search": "\f1f7", - "select-filled": "\f1f8", - "select": "\f1f9", - "sell-outline": "\f1fa", - "sell": "\f1fb", - "send-outline": "\f1fc", - "send": "\f1fd", - "settings-filled": "\f1fe", - "settings": "\f1ff", - "share-filled": "\f200", - "share-screen-outlined": "\f201", - "share-screen-stop": "\f202", - "share-screen": "\f203", - "show-message": "\f204", - "sidebar": "\f205", - "skip-next": "\f206", - "skip-previous": "\f207", - "smallscreen": "\f208", - "smile": "\f209", - "sort-by-date": "\f20a", - "sort-by-number": "\f20b", - "sort-by-price": "\f20c", - "sort": "\f20d", - "speaker-muted-story": "\f20e", - "speaker-outline": "\f20f", - "speaker-story": "\f210", - "speaker": "\f211", - "spoiler-disable": "\f212", - "spoiler": "\f213", - "sport": "\f214", - "star": "\f215", - "stars-lock": "\f216", - "stars-refund": "\f217", - "stats": "\f218", - "stealth-future": "\f219", - "stealth-past": "\f21a", - "stickers": "\f21b", - "stop-raising-hand": "\f21c", - "stop": "\f21d", - "story-caption": "\f21e", - "story-expired": "\f21f", - "story-priority": "\f220", - "story-reply": "\f221", - "strikethrough": "\f222", - "tag-add": "\f223", - "tag-crossed": "\f224", - "tag-filter": "\f225", - "tag-name": "\f226", - "tag": "\f227", - "timer": "\f228", - "toncoin": "\f229", - "tools": "\f22a", - "topic-new": "\f22b", - "trade": "\f22c", - "transcribe": "\f22d", - "truck": "\f22e", - "unarchive": "\f22f", - "underlined": "\f230", - "understood": "\f231", - "undo": "\f232", - "unique-profile": "\f233", - "unlist-outline": "\f234", - "unlist": "\f235", - "unlock-badge": "\f236", - "unlock": "\f237", - "unmute": "\f238", - "unpin": "\f239", - "unread": "\f23a", - "up": "\f23b", - "user-filled": "\f23c", - "user-online": "\f23d", - "user-stars": "\f23e", - "user-tag": "\f23f", - "user": "\f240", - "video-outlined": "\f241", - "video-stop": "\f242", - "video": "\f243", - "view-once": "\f244", - "voice-chat": "\f245", - "volume-1": "\f246", - "volume-2": "\f247", - "volume-3": "\f248", - "warning": "\f249", - "web": "\f24a", - "webapp": "\f24b", - "word-wrap": "\f24c", - "zoom-in": "\f24d", - "zoom-out": "\f24e", + "allow-share": "\f109", + "allow-speak": "\f10a", + "animals": "\f10b", + "animations": "\f10c", + "archive-filled": "\f10d", + "archive-from-main": "\f10e", + "archive-to-main": "\f10f", + "archive": "\f110", + "arrow-down-circle": "\f111", + "arrow-down": "\f112", + "arrow-left": "\f113", + "arrow-right": "\f114", + "ask-support": "\f115", + "attach": "\f116", + "auction-drop": "\f117", + "auction-filled": "\f118", + "auction-next-round": "\f119", + "auction": "\f11a", + "author-hidden": "\f11b", + "avatar-archived-chats": "\f11c", + "avatar-deleted-account": "\f11d", + "avatar-saved-messages": "\f11e", + "bold": "\f11f", + "boost-craft-chance": "\f120", + "boost-outline": "\f121", + "boost": "\f122", + "boostcircle": "\f123", + "boosts": "\f124", + "bot-command": "\f125", + "bot-commands-filled": "\f126", + "bots": "\f127", + "brush": "\f128", + "bug": "\f129", + "calendar-filter": "\f12a", + "calendar": "\f12b", + "camera-add": "\f12c", + "camera": "\f12d", + "car": "\f12e", + "card": "\f12f", + "cash-circle": "\f130", + "channel-filled": "\f131", + "channel": "\f132", + "channelviews": "\f133", + "chat-badge": "\f134", + "chats-badge": "\f135", + "check-bold": "\f136", + "check": "\f137", + "clock-edit": "\f138", + "clock": "\f139", + "close-circle": "\f13a", + "close-topic": "\f13b", + "close": "\f13c", + "closed-gift": "\f13d", + "cloud-download": "\f13e", + "collapse-modal": "\f13f", + "collapse": "\f140", + "colorize": "\f141", + "combine-craft": "\f142", + "comments-sticker": "\f143", + "comments": "\f144", + "copy-media": "\f145", + "copy": "\f146", + "craft": "\f147", + "crop": "\f148", + "crown-take-off-outline": "\f149", + "crown-take-off": "\f14a", + "crown-wear-outline": "\f14b", + "crown-wear": "\f14c", + "darkmode": "\f14d", + "data": "\f14e", + "delete-filled": "\f14f", + "delete-left": "\f150", + "delete-user": "\f151", + "delete": "\f152", + "diamond": "\f153", + "document": "\f154", + "double-badge": "\f155", + "down": "\f156", + "download": "\f157", + "dropdown-arrows": "\f158", + "eats": "\f159", + "edit": "\f15a", + "email": "\f15b", + "enter": "\f15c", + "expand-modal": "\f15d", + "expand": "\f15e", + "eye-crossed-outline": "\f15f", + "eye-crossed": "\f160", + "eye-outline": "\f161", + "eye": "\f162", + "favorite-filled": "\f163", + "favorite": "\f164", + "file-badge": "\f165", + "flag": "\f166", + "flip": "\f167", + "folder-badge": "\f168", + "folder-tabs-bot": "\f169", + "folder-tabs-channel": "\f16a", + "folder-tabs-chat": "\f16b", + "folder-tabs-chats": "\f16c", + "folder-tabs-folder": "\f16d", + "folder-tabs-group": "\f16e", + "folder-tabs-star": "\f16f", + "folder-tabs-user": "\f170", + "folder": "\f171", + "fontsize": "\f172", + "forums": "\f173", + "forward": "\f174", + "fragment": "\f175", + "frozen-time": "\f176", + "fullscreen": "\f177", + "gifs": "\f178", + "gift-transfer-inline": "\f179", + "gift": "\f17a", + "group-filled": "\f17b", + "group": "\f17c", + "grouped-disable": "\f17d", + "grouped": "\f17e", + "hand-stop-filled": "\f17f", + "hand-stop": "\f180", + "hashtag": "\f181", + "hd-photo": "\f182", + "heart-outline": "\f183", + "heart": "\f184", + "help": "\f185", + "info-filled": "\f186", + "info": "\f187", + "install": "\f188", + "italic": "\f189", + "key": "\f18a", + "keyboard": "\f18b", + "lamp": "\f18c", + "language": "\f18d", + "large-pause": "\f18e", + "large-play": "\f18f", + "link-badge": "\f190", + "link-broken": "\f191", + "link": "\f192", + "location": "\f193", + "lock-badge": "\f194", + "lock": "\f195", + "logout": "\f196", + "loop": "\f197", + "mention": "\f198", + "menu": "\f199", + "message-failed": "\f19a", + "message-pending": "\f19b", + "message-read": "\f19c", + "message-succeeded": "\f19d", + "message": "\f19e", + "microphone-alt": "\f19f", + "microphone": "\f1a0", + "monospace": "\f1a1", + "more-circle": "\f1a2", + "more": "\f1a3", + "move-caption-down": "\f1a4", + "move-caption-up": "\f1a5", + "mute": "\f1a6", + "muted": "\f1a7", + "my-notes": "\f1a8", + "new-chat-filled": "\f1a9", + "new-send": "\f1aa", + "next-link": "\f1ab", + "next": "\f1ac", + "no-download": "\f1ad", + "no-share": "\f1ae", + "nochannel": "\f1af", + "noise-suppression": "\f1b0", + "non-contacts": "\f1b1", + "note": "\f1b2", + "one-filled": "\f1b3", + "open-in-new-tab": "\f1b4", + "password-off": "\f1b5", + "pause": "\f1b6", + "permissions": "\f1b7", + "phone-discard-outline": "\f1b8", + "phone-discard": "\f1b9", + "phone": "\f1ba", + "photo": "\f1bb", + "pin-badge": "\f1bc", + "pin-list": "\f1bd", + "pin": "\f1be", + "pinned-chat": "\f1bf", + "pinned-message": "\f1c0", + "pip": "\f1c1", + "play-story": "\f1c2", + "play": "\f1c3", + "poll-badge": "\f1c4", + "poll": "\f1c5", + "previous-link": "\f1c6", + "previous": "\f1c7", + "privacy-policy": "\f1c8", + "proof-of-ownership": "\f1c9", + "quote-text": "\f1ca", + "quote": "\f1cb", + "radial-badge": "\f1cc", + "rating-icons-level1": "\f1cd", + "rating-icons-level10": "\f1ce", + "rating-icons-level2": "\f1cf", + "rating-icons-level20": "\f1d0", + "rating-icons-level3": "\f1d1", + "rating-icons-level30": "\f1d2", + "rating-icons-level4": "\f1d3", + "rating-icons-level40": "\f1d4", + "rating-icons-level5": "\f1d5", + "rating-icons-level50": "\f1d6", + "rating-icons-level6": "\f1d7", + "rating-icons-level60": "\f1d8", + "rating-icons-level7": "\f1d9", + "rating-icons-level70": "\f1da", + "rating-icons-level8": "\f1db", + "rating-icons-level80": "\f1dc", + "rating-icons-level9": "\f1dd", + "rating-icons-level90": "\f1de", + "rating-icons-negative": "\f1df", + "readchats": "\f1e0", + "recent": "\f1e1", + "redo": "\f1e2", + "refund": "\f1e3", + "reload": "\f1e4", + "remove-quote": "\f1e5", + "remove": "\f1e6", + "reopen-topic": "\f1e7", + "reorder-tabs": "\f1e8", + "replace": "\f1e9", + "replies": "\f1ea", + "reply-filled": "\f1eb", + "reply": "\f1ec", + "revenue-split": "\f1ed", + "revote": "\f1ee", + "rotate": "\f1ef", + "save-story": "\f1f0", + "saved-messages": "\f1f1", + "schedule": "\f1f2", + "scheduled": "\f1f3", + "sd-photo": "\f1f4", + "search": "\f1f5", + "select-filled": "\f1f6", + "select": "\f1f7", + "sell-outline": "\f1f8", + "sell": "\f1f9", + "send-outline": "\f1fa", + "send": "\f1fb", + "settings-filled": "\f1fc", + "settings": "\f1fd", + "share-filled": "\f1fe", + "share-screen-outlined": "\f1ff", + "share-screen-stop": "\f200", + "share-screen": "\f201", + "show-message": "\f202", + "sidebar": "\f203", + "skip-next": "\f204", + "skip-previous": "\f205", + "smallscreen": "\f206", + "smile": "\f207", + "sort-by-date": "\f208", + "sort-by-number": "\f209", + "sort-by-price": "\f20a", + "sort": "\f20b", + "speaker-muted-story": "\f20c", + "speaker-outline": "\f20d", + "speaker-story": "\f20e", + "speaker": "\f20f", + "spoiler-disable": "\f210", + "spoiler": "\f211", + "sport": "\f212", + "star": "\f213", + "stars-lock": "\f214", + "stars-refund": "\f215", + "stats": "\f216", + "stealth-future": "\f217", + "stealth-past": "\f218", + "stickers": "\f219", + "stop-raising-hand": "\f21a", + "stop": "\f21b", + "story-caption": "\f21c", + "story-expired": "\f21d", + "story-priority": "\f21e", + "story-reply": "\f21f", + "strikethrough": "\f220", + "tag-add": "\f221", + "tag-crossed": "\f222", + "tag-filter": "\f223", + "tag-name": "\f224", + "tag": "\f225", + "timer": "\f226", + "toncoin": "\f227", + "tools": "\f228", + "topic-new": "\f229", + "trade": "\f22a", + "transcribe": "\f22b", + "truck": "\f22c", + "unarchive": "\f22d", + "underlined": "\f22e", + "understood": "\f22f", + "undo": "\f230", + "unique-profile": "\f231", + "unlist-outline": "\f232", + "unlist": "\f233", + "unlock-badge": "\f234", + "unlock": "\f235", + "unmute": "\f236", + "unpin": "\f237", + "unread": "\f238", + "up": "\f239", + "user-filled": "\f23a", + "user-online": "\f23b", + "user-stars": "\f23c", + "user-tag": "\f23d", + "user": "\f23e", + "video-outlined": "\f23f", + "video-stop": "\f240", + "video": "\f241", + "view-once": "\f242", + "voice-chat": "\f243", + "volume-1": "\f244", + "volume-2": "\f245", + "volume-3": "\f246", + "warning": "\f247", + "web": "\f248", + "webapp": "\f249", + "word-wrap": "\f24a", + "zoom-in": "\f24b", + "zoom-out": "\f24c", ); diff --git a/src/styles/icons.woff b/src/styles/icons.woff index 8976affee1238aa61ee315f3abee9132d6b645e0..36d5640dc5104cf35ee2f9d319e896ff0f53918d 100644 GIT binary patch delta 41625 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 delta 42024 zcmV)TK(W7s$pYld0u*;oMn(Vu00000rQ`q$00001H{g*JKYz|+ZDDW#00D>q00sd7 z028L#r*7=?Wnp9h0GL1k001xm001^x1E5!EXk}pl z0GMz90018V001Nd#{p4jZFG150GN;f002h-00lgU3;*tw2f2$o!ipQ1}U$LCJ z)T4g!c@3$c5sj&&2~BB6b6U`nRY(34*DrVoATNB`pc z4`dL78NyJ8F`N;MWE7(r!&t^Ko(W835|f$2RHiYV8O&rBvzfzO<}sfIEToEcSeHet z$NFr*hHS*fY{I5&1;*xV!IqP80u+Dl?7^Pw#op}0zU;^T9KeAb#K9cGp&Z8H9Kn$s z#nBwYu^h+ooWO~k#L1k(shq~?oWYr##o3(0xtz!OT)>4~#A24Plx1AZC0xp7T+S6- z$yHpH=XjnMc#)TQnOAs~*La;(tmX~gb)F_SC7>(69jn@QC)Fe&T6iwAMP1g*~)GW=`9L?1{&DR1gR8{fI zS`#6u6B8w=!^>1a8y7Z5FuA1Gh!swhY`>f!jK8+XQagz-20(WxYP6^zpfjcd5rw8tgz?~Vm zvjTT^;LZu$xq&+`aOVf^g1}uExK)9>PT;N^xQhaJy}(^Ra5o6t4Fh+hz}+}-HwoNL z19!8)-8^u&2;40LcdNkNI&ilM+-(DQyTIK(aCZpY9Rqi#z}(3z&$;1&j{Qz1NW@JJv(sE3EXo7 z_q@P8KX5My+zWpL_oBdE9JosYcWK}*3*3tX_maT9G;l8q+{**^iom@xaIXs7s{{9% zz+E1=*9Pu&fqQ-6-VnGq2JTIPdvoC461cYp?rnj4d*I#?xOWEbU4eUd;NBCs_Xh5L zfx9Ab?+@Gu0{6kdT^YC!1@6Ov`$*tE8n}-I?&E>`MBslu8Msdc?$d$$OyE8nxX%Ud z^MU(9;Jz5RF9q()f%{6}z8bi%1@7yCyDD&32kskz`)1(26}WE)?mL0|Zs5KbxbFw< z2Z8%x;C>Xi9|!Iyf%|FTeipc&2ksYv`(@yM6}W2x_v^s@CUCzE-0uSS`@mfrxIYB$ zkAYhV-0FY8{V8yN4%}Y?_t(JvEpUGi+&=>M&%pgFaQ_b6e**X4z^w^tYEQ40fA&`^ za>bfDfUdXKcYMg55OODm+({vKa>$($a;JveX(4xd$ej^#XNKHaA$NAjofC5BhTM4}cYerS z5ORMPhTN)9)qeowui^jz0C=3Vy$Q4=X>}eL{~mipM#hqRzRY|t^X*%1Rb5^0)zVen zbTv)y8%@(dK{p6cH_$Ait3kBTm=;I_8kND4(1yUWMu22V<1^C8bB>UOux0y5Vg?@{ z%SN_FbI<{KWJV)eW0-sYh|HI-sv9AErYe8mpMOOB5&5t8e)sJ>&h6u_a~$N1{n|Y@9tom3`VEPXna7X6S%5NH%XlC zPv9(G?e{V$rzHGO(hUEfB9kfn$LoE#tWL2sYf>4I-k`rj#?#5IG?0GGC?PENWiWp( z3#G&%CS{#{rO%X2sjZm*9-Sr1HmNSVN<1Yj0k=~4QeKEhjA6b-XceDHS(Op}uS|IC z$?%R)dNC(e`)0q(uXdaTwDG> z{tng*lP|m$JLk1{_;JjA9M9nq9Q5zQ%zcpia^B2m;WS<{Z`ao$)5Gh!khw9tXc$!2 zf0Jw)uCWR;qwABnMfMNKXq#lcB$imKqB-Ny1nWA)W?fyou)2ETE=-yyOxJ%rAx%@x zGGw#31j#3kUC|l*N%pO8>EBh*XEz(KF^rWy&X(C!g8$GdSw5lmp(lrWPT{PY3`T09 zVh7}S#j;st6_gkqk^?PL)wI#>OGcqkU*SGSc;l3_k&bT{BU8I1D+Fu9;B z2G~~YgyEBib&CY{RVT3PhffosNL45)YEn=>&%ZrxHrJZX__>Y~gie1zd?yT?&aFgY zxfi%+*n-k)EvPEj^(~V!%>CFH8FxaBM+aoTMfC7Yk)j|SQIjDyB-NGGROXGr zM9l|pgIqV`o;8C~V3w=pcGl_abUOFdmb;bEVXk=x&fz=CHQSF{gN-)S&yIzv;cTxd zTUDjb{97}ytibf5=mG`azSH@HllBTDf7kEAyevp%l2gHgRQ@ddWTGbf8FW;CFzo{sy=HO1 zosdi?hoo2`bIQ9z`YK<}x{7LHXnvGQ`;^CF@^Q2E>XxZ<-YI*S-IR5(zuL-me+~kv z7%T`Xp|4cbk-~9=>_l+jN+jM)$>6|obAn?B!Hr&}R`HtaO#)<J;~t0@0w<8Qfhu3el-GM6;*b#5e@)XE7*n7q_rqun`d#R*M9CDE4fM}Q$({nLIvowC z*;EatlYQvCSiwpe!|5JShy;jlHp>k23xnbD0^c;S^c42yH`!$?JNF z0wNp2@cfUl@5d68Ps(}raS=LBC_>i_zocAvg4KrQM&;A)(#HrqpiLj^f2C$mNeK_x z3u1vci8yHL6px>FN*r(JrGi$3(B_JHIN^uP5_%cQVnKb=2w?V4 zpw<_SyJ4KJ>0fnC|4(;!SWm$)wg^;v2oU6e><}11T#E$~=?@kUo>bU%I$75JElQ44 zdKFA%F4%}NWs-0lP^B1sX%w9SQVyNY@~>YBV6*~EEa+`$2_z0de;h#H&P>L5ug4i= zcGlNp!4J65Nl$Q&Sx9DdaRcyH$2bA4L`2ZtCZ`ENE}v`zlA0o%nvP*b;_{7Qmi7kw z!xm|h=^)WqK=VLY%Wcwybv(kE3e!~=eLuHUupM()jRX)(FAGb`cEz1i-YHF-Q08s7 zS<>^Dt9tvu?KMOiGqJefEyBH-8f^sJa1)AWn!PehydvU!jpCT z*kBl=ZREx+Q)()O{d20IS#OGaf8}y-wHwFqX*O4z&AWw3 zxM^A@C(_}r?>T&lOGa5(BBhWko0pR`W;;Tq!K;E4NP4MJdKLVcPsUySAV}WbTy2o% zTH{I6VJb?>k^@&@cB|dA*)j)a@AcPKe1<1WJEPqay9hKdNdn{&VKan}REE@ju|;ae z1>-s6*NopXe}32a0#J3Rxk|I?q(y*iC$Z8jPW61`*ad^@k9DUEv&j^Y3>0YNjKCa@ zw?;3(kqH#)LjM3shqMjAT|tle0I1Wfcqm}D$qaT*rb=$(T7mM@2{HmTY%`@7j)qD} zjNAmLVsWTf)}TK*Bs1*Ln`NfGy+8L80FYd8ivpJ9e#>WKV&hAd=V|Iy?uKuwV zC{+C_GY*6FAQ8rv7@6kZNP6?t5?%3K8l! z(pIG2f9=+lWx6gQrUmrRukJP}j|DIs%8@|8vZ#@=C6S^tDy_0GYdtO$Pr@U{axudxv1Y zxFcAO)-dw`C9YrJu9tg0rT25?u-}aH!mtt&6)gvM2%m|UISyUN%>9)5y{NHWBfd-M z1I$tU2&0yvo(XW;5#sh8m`Au~p%zGjQHC53;6M|u1EL8R)EmIwbdn8WdiQ(q04q_k zfAdx+mWkO+t|raf$qKjl00<0kH8}Kf^(wG`(|L<4J*B=BI1STsthyI`0GNJq9!j%5 z7Gtd@-1Bl0Summ{-Hnc}V+?i7ppIkXHsf~V4&xr<0pnrg5#!acGV_I&74R8Y2ClSI zAn^EP)&$K|dH^7_*b8{7r*LfzV41clf3C@G7zJ2x({Zw=M#Ix&cWF^R{{QQfe+)}! zsZVw&7H^RNiJ00OC(~WEm+bCk)A%IF{Cm46$={(*)MB5&)cbDwL}k*aV%y}~T=$8Y z_X)Lhhw%A4PK`cr=?gE`149rf-Mn4T`Ch|xe{Kz&C-PhfSTlnahlslC1*dS!L2> znf%YX7!;2>RsW$@QLs6@SMswd7FlIjT(a~mpFuwO_c!prVHk+Rw_%!$fAv&?o*m$k zjG^cEr$2Q+mo~pi%bn+;vj_*YVe`rTdR?6VFi4N-1~6&<0A~x&&Y<0ZHoCKi zO-4I2+3csdY4iIzd~B1S`!JH?5C17rG&sREEj$m5_f8E9_b8SnK#i{1#IlP5WmJW0MivrvZOujq7HX(e6%Lt+n z7pa0ZApg!@B!6|~un)L{0-vK+wB&NBsIbhH!xi|n0dBU3ZQm!<6~aseLpWJZT0>8m zjwyhL9tz90gcCXkvomC=d#cB)8zpKhWrrr}?x_o>y1;Iye>)9MZO%9aaT2I; zFvuD^jn@hbkO4dc9&&wdCS%(qMLDK?fGQ3oBoeic(Byr6fQm}p_c&dAkd`O2OF)Y0 zWcnj^y;ZkMBz)NEI6m>VnXM?>mXbUCVcYfx{vDoaRy!SUSC8FJX?LgVf&gaNj$=o= z(IbxI_x&9lzHL=je=u^duv<1f=`Od^ty;?6!%Mr7>-M&`N=NccO16xu(KGgp8$p_X z3OFJRT^EUFb`9m6s%$XT%}cYvWV)xbd%)VK#R1HN0W>K?#fVgU8Yu1oLOy;37Y}GQ zCsJC^n2@A<>ZViO`xH!!b&!43eV>kQB2Z&Mw4+oCof9(Mf3R%G0+u@8s%^En<5`MJ zE-m=usswofLILJ2z|*a*)0S8VgoDX1bx(ESBhCunTnpkjSTlWbmTe6I>QE+6oTLmh zjGmkli8(U-scfyP=~ie1=GRlF~ye=nZ63Me=5p;vARXEX!tU-b_f7 zN_x@!C|;5tCK;!nVBEK!wY^_IL&yzq>mh}QNK2`kLHe>l7`$0US55OG+}b4MW-~2G zxH0k|Dc|5T&Y5rdKDJL4GJ-U^#x2IZz;WMVywCUuf70q60(6N}T_f;GF6m_;x`EsP z1Ym%Y{1|yre}`%UH|X|MS87o~gTEGVspF#8f)-cxj=CY&8Xi9$Tyy+8l-Sbp?2w}Z zO`6m+eM`bqVX9b`ONrkIfvT|z>MkMSq*T>d13)-{Y)TY>bh6SKwpzd!AZb= zOg=Egf8jr#Wcv*M?NiPlBp`)Rr)=4d86)L{h3eX#oc&W?r@eHT%?`2|QUTEu^~No_kIE84G8lX}Q3Qqzu~4NI(B*`Y+3} zk->xn9!5`t+(ucSk}CZ<7G@!-R^L&ne-p^PGL=cCv3qj2Q30H;IP{x?nxCJ9#VaNWjBtNyBeZ1ks|oUWPtW@QZDrBpk|BVZK*^*$K;aEf5~_jQD#OxEK1c zW2e_c1Y zARBwu?UqL!>0G>>E5$K61C{qY0)lY~sv42u4U!3d7iaR{*d-xuwLQ;%i4Y|lq&9I5 zr_DJbdz3&w0_!fp$|B+v3gRTkmd0NY+ZY0WyPz=(Dyo6HO!r`fQ2(rfi&kaj5C+cz zUxRUj7HrcjS0sQ~Fw0zxmZ~6Pe+rmjAm1}j2%s~N2ouQc`}G1`Dz*wU$f5)yDod^y* zlapWQcTED1$y?pl?(Ty6ZZ@imwq4VWQ@mhZJLY%Wv- zgeZ1Nvfg+Iq+b5Ed$OfRqEIN^yS9)<+KTPRaRQFdrV^4&@K9*HAhh zGng^#-~bSWV0a9~Ek8;a5CfK0yC-fs(XFNo&^NC(`e$!H+iz6ae;Isa5-dp=BmVOI zpo7ns98mFt902-*?ER$Gf*GV}uLmQ}_Ti8TS071!6|fVH_M4rP9r!f&BWePuPHyP* z&-LNcxgnv24#)TgSpivOPfI%6BxlbcJrwYMoAd_IpKun(6u)(M;z0MOpEIeKR?It0 z9{a&Ueh65WI3Q_se}Gusv3T&$hJI{G=P9=q6*;FK9S9{ZfXE}?Hp|Rpu&h9;z0=v_ankN%FXmvJ$SCGXKju-a{Mu!KYiXr z_)gW;{@H&2>}{BgfJilg4WDPQw2S;XSSD6+9g)jF!keOTxI_l{`-SL~UjjmvxBFi;pm7d+oJqM2OEDm(%}&RD%$ET!KaM)z0G2CA z5KzQX@DM4sKeBpH-gK7~y>M?-D?8#N97gy-VG?(qoyi9%^X(M4;!ficpr9>^Ten)< z;8WbZO*AUQf5kGyo!o)m7|0Ub%$>poKc}lb)YBpegxnAzUYZS&CQMO61xfc1*~On_ z9n#La?Q97(C0kvx-_GdKx#G^)Myxu-o$p3zIvsT-zzB&K8@*yFW_+gl(;stVK^Qa_#{Zklq69n2Rz)chXCU^q> z=Jp&oW~V>`c^D+RH)AdJ1~ovLB+EfEV3h%2w?RH~dIMhO=X0otBRB*MG#O@aeSoA7 zMrb-lf3#ib6Yy|^(0{&NKg$5cR&ggGrk^Mq6%48oKLnf!GRijNz>GU(TZtR!6H5Bl zLm;Dytv*~={4Fq#8!_G21?}&X_Idi6dK@4M@XH|FEa4Mvf0d^*{aH#ZBZ9Hq$*mO-(qV7(p)FJ3 zSCb5Pa#T9h%&XXLo#B{6a-^%#g8eXR&15 ze{DQ!JPzaA1{pG&=K9N2rP(2JC!ip(LUV>&Y`E+YErrjvR|a~~4go+M?cxB2&G)$$ zWiVi#YLab}Hyi{4;UClB`Dl0Y!f66X!%3mAbFqVvUW2{GA8*gOu zrBIlm=<_%Sdb8P|&wWj^KF=ldV^a3t6JQF+Pu(Hg|3Jz201fr8NRvSRuLTdwfBs{- z9Hzbi!W=^S=ou&g$U(_45LyMgurJX8$}-VwRvXG>a~m00VbcZ5I@A@@>+q;zy)SY_ z+#n@!@GCy10j|KyO7uT3#V^A(?=z4)^jCx` z*2yM`jULF9nwm_93tgryUa;TBe}mppB_{)v4bTz{^?Ch5?+%1tVOfm`hgm)|XNEs8 z3A4GD7q?VrcfRmI*__S&_u+Jx`{>W z^cL@QAwNJHDxg%z7x!_U9TIJpsj{vb_Q?`d?@HRrc&b`@$GfFc@jMQ>=YAe2IRSzx z)&FDx6(YX#89Vs(TrsO0=fiUq?dhoPB^)sMD|ptd07+uR;fdFde>N@I6#LjoFpZMn zA>Th&uAwMYE1&cIJC&XY1ouI4|MQI|AUNCZf z^g9X4t6?LAkBO=eV#&I+9(LD!E@52F>}N955l|(6%?;~Ijc}QWl8Gu3GgBrZ<`Ml? zqylTFr}qJ{&jB9qkU3*Pwu*#KX@iC7c&hhBdi`9NhE`2LKl^_MSko#+>U11Xn3a`= z=v9ZeSnotafBptaZ&B6=$-&4{w=k11l11LBr&q{P>{jPYEVfjg0Nbw)a~ zr`5xnn-5|YM;T$t!`b&l3aO{G>1%!}d%!W389TtFO^~Z^_+V-}@~DJ#%yc+EMLCw_ zAiSAkHqT(>fCAnJwJMAhwHc3|aT(6I(cDB4O;LIV7*Rc{Og5oN?E| z4GS~_f5F;`xEKHYyq@Q-uln(OE-{*4rg$!IM)=D7E_xE4)p+Igk4TPAE!=jr*ZFnh z-x@GLQ?0BAf-wiVe<6JF@|N&zu@1S%#21BlsLgF34#n$)KO0kJd>LpR+<&y^h>toY zd@c?F$v%f0n(zGx+I1Xq{v2*)zITSnD})=Nf3avr{sU#zr;ZGwED4Vf_me^B4+0XAp7UY^G((IZPo9OC(+FeJAx7R>X4 z`=V#e<_gx+gLA4X;IE$B&2oqn~{8sOC4|{#T0TPxmq*Sb~SZ)beuB zr1o=1mA;d+%Xs}*aoaA81tl>f?gXYxGm$>|?xf0IoZ zC&X$G8*eb)W;~;Lk2cpkqC!bQhz33Frf{0*WRz2^K1w?o3Obsd?jDjcuqe2B7Xa+I zhb(JvjP!2Q8}yQa-rS9wG~FAH2l+fuxq@!;(7Pnb6!w%S@>-Ne@lX&zvoSl5=w!tvAgdp!&0O4(FirdW#UXtrwm!L zS&J;20}-=3Qke49j&Nn}G$TCWyo%dWbU-eZ%yOcd=Y8r;6rcRig*gAAH&zL4OT7&; zo=`3b?GZXUbVB`fvkaLz*4P5PmRp6Q;$&|@MAS|&xb-#A63@1_vCt|Ye;LmW8uJA_ z9m1d1xlGaQ=16;hM`*Q@4Jy>corh!@cMp1QDRe-DA%NtQt|WpxQ8g=ND9pAi0=uPd(+L-mmGi}9<{m&^0{n83mt6y`$5M-$c{34kw6a(&fE zTZoSNUtNEy$@y4YjSdlA!KDdv{^AAB9bv+N1V+~wfK-oq8l;X;e+?wwxi!BQrv`&|GOv^X)H_<@tm3*FArSd#}G-;FdB-X|2UwfPBvftr$|I zm4G6K>DBJZZujI(C%ak7QKw0Xa9m4DkCI@wJvu#Vw@0n|e@4j4rZj;C6IjK#2ee=# z+cIwaZ?c{mewU_E?eEF}sy?4PG4#(8p!Esxn}_t=S@3o%>9pjVSfxhg<84W)d_74xDGqVOoaDDr;HE0?_u&blvMVyv32 zbGc4BKg?xSf0iwvie_1qEy`Igft+|5 zWos*v-$d?_;=Svp07S%{B};#=KQ3gUJNz4B{y1_ALf89Wd?uN724LhV{f$$2m3n+xN zN;e-ryqFLk+y@*2nIm7wFLcP;@Huadjyi-e;lRCbJpL#=bWl2}BcG-GxrL{`n^Tt0 z4dYvc7?E)TdgcM+K`qbe-QQS?mU_6Sg*L2*(-{E9aB*@>CnF6>COhz_H)sLIcl&CJ z&N4tqfBLxXfXH|H1fws3RTY%%vIj#`dKX$|g|20~P$zm147=k1REL%KgfOY#Pg35C zIhs7MC}b!TKQ*9?akP?`klAF^fp&pB?|L3(E}}PwQ&EFOvrX9$&G%CxED-K#PY@G% z0Ii87!XbyAK}YL)8QPyq{+gU#;}JL*AGrl)f4Fa?mGR?zXAxG%B`vUj2K6B;rfohE zCS(N<`s#gQsu>G0#U&gxvSdOz1yiDrhy5gcQrRXH-X}?@OI#8rnuHcOIU}Lb*Pg0( z18>yq7)PczI3T$`2nI>b1wFKJfyFt^h9LbxVVI>8t&`JOFUwVWJ0x3hxh4h!09A7M zfBHI58+170!5DZF{~QC@p3=vx&5rsZD+C#;T!yJ-3M+6-=272z5Y7b`egYf%6R<-6 z3Eb_3e4WVv5E;-X7LCvu=C_gcrJOxtZ*AIBlb07MWz*hZIL+G~L!-5sLaq`Ee_*D?{Y)ZB9;#uM>)m5!fuI~PSP|>MHg?Lk zU&>16=BBbrm6D~>#Jd&5dEYL-{_?xGIDcDEVWiEK#lHDp(A{V~s60Z$v{cH>;hjKK z-7s`bkFTzJmtZxTNk|{5Y=YD>t2d67V@!>MTu(Ub;pz1Q)|=?6FAU0I;VOwuf6Rve zao(wQD<2s*aDlL|ZgA}6y!$_Bd(_3j+k4LHY;JbWnCK2^{v3?K8dCxEEeFuPCWQsV z;@pEaLifPkPffPAj`VWdq-I!%aHg|*^rm_DPUgJ}`MkE!x#&1GWR>u3LB{Ft{|6Vk zb0dr@p{X{vtSBo%XZ~-{&m=q%f0Se2`IS;;4ezo-w^VYK&+kIhvQiq-SHGHsS!q7U zV`J601X9p@khjW$w#d2u^T-ZvGS_(avw6XIR;(yAniq+E3T!wRCi{aF#vt2k<(eP8 zS%}83*8;X!FGgH3Pbbix>@PgvqTuW06+{f9>^Z6#6@- zcWbSRXbNBT);p(GRu2P41jsl+d2NSjnni)(`#`RIlj?t_KCs~QKAJFE9G?!jK7TwR zQDvbKV&$?f9XcN{BRdSEHETteJD`;TWA zg@i*XK3#mzPX9Y8Tvq_}a*FTN^{)7?t$bhEu7AbLv#;j1zRr1#G2dtGfK%V6yv~aI z*lhk1;OS+Q8_EE-jzyBd01(|pcV)OR-Jkm@_j^|aw}wb@e-o1-f2@`_2oqJy0Z^l8 z^9aQVQs!2^{cQ0Qrg#%v0zQm7IG*$4Hwm+#0b4{FF;MLDs2kFrNpV}Vlw4iEfU9;i zEeF^f>`1vIO7^FNGz|$7GzvQ$kXKdsr6Pae)a`tSG7RM>wxAIqO*m$b|XJFf7xc}?@glgXo39z)&Vn! z9-ZryR!GH2^iIZ_v1#l;tB|73rr{(vgGH}7HB>#V^lp>+H*n6uP)&#GcGDLtQoT{d zF(h(D_~y&bE|qti^nx#F>7YbMOPn@$|IuEHUF;p~y^Lf^4Pmx@2!I(RsWnupx-sCQ z-xqvPd+f1yf4=iE<7lruHnxDfgA5A_3s$3B=ym3OXW_3xc+isO)E3d(qty!!NfQ+`jm@%ia2?a?=XJJ#~AA2n@tLk zn|3-Nn;acI4LnQn11=q_Yg#G<7GcT~V5-z{I_7s0(B%7=B`NRsIkL#jO>P!P+~S+7 z@GxLae|E$|?kF35hT&Mcr8IELJml8g$LjZtP+LeIb41IozU-J+*4uB#^a0Lu_fuNP zk1CHAVzs$6z$lSD+zOR^Fmj3_!(6HeHQhD4*=m_&ozIC%*NdZn{UWN7-^Vz zp9ksTU2ABOZ1FRYo=EWUjEzv3b3W8e>KsA1)qF1$O&sfX0MJo(7&Z6?wb4_ zOh);M#)tzTZ@0PW@ONP{%1;zLv`bJ|c%SxwLaS<=K2i-QNHK7N^>i>Zm!GC` zZM}_Ckox^%m*$WhP#ylG*v^Hld>yle@0mU_@^oHhO za?q27iTu8r4g#7Cr~f5Z>QfBJqRBsLf5vtk$E7RfD@4U+Y<^NBhQ45*QfJ{p1Q+IX zPumeRb8FS(W=j}lWrxhomC&>GkbHH)8tAuPW+nEWGfN07md%@0jEJ2AJrErTp&lr@&m$?FD;-;w7d@`EC7)*%^xRm-ZVD|n~&-9BV6e_LS% zti67wN`RS)rYO1>*U(-20M^U_u9o#e3Gwa%L(qRfwifiz*D95>Yt_yxe`|?HI7TQr zfh&9GC`*3y1y6rT^0WAT0#@G-EabmbD4$P2!DkopM>5e|7d?G3U3B(hy6AU7XN-^Q zohR3;qW>}H<1&nd0Qp#J2SDIHe|RBPv?%r%Yk(+UV!X|`Vtfq7a<>Qf#vr%A_zlwo zGSJZ$W`QpBMk?;80w$q)OLYKXe>B*`OPXuwGf-RyVpDrKFH)3?a0U$Yy4BCoMh}ze zE;3L3D7Xu5(Sg_|(|vTO>FF?S{qbmr_G`EiNl%`8MH2`z@IpXYS((G)e+v3>zbB}#8LF&+YjTBu)Ii_5gkToje!I*RZKF9mal^~4zg7__wQ(CQpikUv;~k(XpoqE z2dzpXRl*=}AS#BGQw!z+vZCo;t{qaB^8FpX~ z_Xd+SU=6>=p^d!PXjQ98IRyAz=j70@Hk_L2)x>_Sl15?KbB3%If3bG(S3m|o%P@Xj z%d^eEtCyC%3b!BjD;_md;#jGDL7(>%XEUmjIxnz)*Z8_&10wDlr}X|2EJdvdn7e3b zQ;7at!qnT78gh*aiBf6hVfwMO+peaacEvB38|6~C+3!S*mAWer^*bfT!ft=7*Q^AP z%UTy2bq}s(jYpTZe>yF=D}`I&b7M7IQRYfktEGLV;JaE5tI)f(Ac~?&o|*UY|Ec?U z_uJaVEX1W+FlM`&cV0P+lIl?RE_{;eQM9L|ut~G+KhvES*1Z4@j2Ct|r&G7;5=H_^8Fz!zdwL@{*rrLFn^v}lVUgXJJe{U6nDn;V60D~-bUzZ9h zJ=VDofRrGgI(aX~iDPVQ3+9|F?>)&Rg{iOZ04mL-yaR*@H0v1itjcf_Cpy764VKqf%6eTW^0Qn4xnknu!?%N z028Oil5vA^lkrkOk+0Nt?K5Wulq0mDp|SFG?r|_E5HysUsoQ5eO}Y$Pw~sNW7w#-m z1Q^toL)Zle6hti2BK!T9yh;CI-k8Kj=|SrLU(Y9C zfAqhU^XYuu{QJMrqD;FphWQD~;OBIBRP~`Cf;CC=2~I`lI#V=kR_&-IRcov$VXvuIv9XA@}JI%SSahr^%i?gRNh}E{OpGEf)rFQbKH^jZw zUJTX2D1oV)Vt7EP;rB0XF4Y9FvuBz;k%R;96PcC^o!$1Hkn zQz_L8g$bBB?^VFprU-jVEthJwh}O(BiBK7Yl&kZE+A~B zFS}kkNaH1k`Vz!_n5rf!(6W9Owr;Mh+8}AiS#JbgBN;+5jKRmHPo1TiJP#w7YWp)C zL3lWsj&T{H&^k~>VBt86uhFcGC)x%JV-P`!5suvd$}p7gZ5Ud_SwcHEf1+m-fZF(6 ztQ@JQ7pz6f{}D9u-*FisH?WbD;#L^2o!cnS5{2f?noqdWR!PQb&V=YpCu@8K)>*^Y z%)MWVrKJjGCDyu^$M2AO({_}TmObeF!L0B*N+}?#^t5MvujL5}2%^%f#lEdRwF~vM z+)^ey(~skN9RCCs?4;*me}2Wl>Um&7rFu4y0jRSVyXRxXXYqW_eI0Eeb2W(G_|=}- z{oWwwxDt_10P{Z0Eomf(8z1B*??aQRO&IG47`_eYjflD~pn1hNVa!AaMifAeD{f{i z<=j^5++q#k+5k8BsuV)5a%7;cXaGQ72bRa@I+MRK{$J>?>b$RDe-#vcHHWDmFW2k+ zI;q`K^4{%6(kWHXRZ5QhX*da=mw2U8MY*O6pN0KNjAxxdYft2!B6^pqUBtJ*J@C0J zeZF^&CRP}Op_di*Whg8@|$dlM0~t)OdqNedH*LWxo27tT)KP z{emJf*AWjv)*T*Kq2?3~rSSb+-JR3x+^&!EAl-m|{&$&oJhYaMm%`Oto z60i-e%7*1gw^Um3iZg2;PCh$~Q^Z$8gCeTvzXJOvbl z(zh{Uv!^Kk6O){v^aL@RfN6gfnBNt~2~hD7u!}2_ieE)9?_BR}f7T!WVTAErfs@gud{3=Q^j zjl0N=XZB&@|EhKa93q_@s9)IEF2%XB?X!AWtl-+ZqC_8;h1_3Mu)#B~;P(pNtTl1^ ze~EHMFP{Z}>=Tq+yD7gx zIgp;w4>|*|mD(u0QUdb^ctTzQ<(F&AwZb>CNnFS+!CJ8OO_22lmw04t0Ne~TrI zbZT2L`gdAcoAw@kI0aFgn>2YvJFW=x%EsGnVHf*KZhZvr-|ieH0J%8_8IPiuNX)Hw zotD#}r3N+WygeLQf{%hVzb=3DW5HC;_(he}VTMehO>Z&YX8bhn&}|_0!5A(WR2^BT z!k`JrX%S8)#b)tXtITxN8XywAEXiP^v1SkE&wNuo!MQfyn$weL{)!9$(7D@Eta{ot ze5^GBeV`{f0GrX0p_55IAb%c2K-Qht+rGny6*(rmo7n-7e$$SupBEm6NEbfg;w+A~ zc}8+iM|%SL0>tGXdV)PpSQQ~Jwd$18mJL*a@+QD}swg1&CI)!V7)acbRoTA?%qWt8 z<16q$j);xT%65Qf3slzA(gA)}Os9x-baDs3v_g%84m&3}u6Cs?6`i;E!W z*}@k#B>(-T5KsUOO%62$K?jBuvQKHqKbbSAG{#t*BpS3V7pT+ge zvd509YUk;=s+J%y6bGLQ8<6^1ZPtdIDr`;8)2Mn&(q|?@mI>(16hVLEnEVo6rQ^u)K0lV#Qr? zf0j2~*JAjV{OkTN<#o0qGs@edyWutdB)@*&@9DNatDFA2=iB-T_a`%d!;G{vI_=7t zC&OeGy(rF&_;l0~%x;t3o-Wqa?u12Nm+74~o%(jes&6^VOt>zuGvb5}LAl&CUEwGT z9 zt#TRN>CVa{y{7S1;~Ox3=ZnZr1^=Ffg9pSs+`}+P!|6OiGZGv%`z~TxBhZ-wFMpi` z*(XIlQnP>bYmutx<%lPH7REp)W`<`QW}?fO1jC@?HOZ?zvj?+t8JNL_iCO|_$(3~> zsU=p5b8Gr&d5z24Hs-WqlO#q6xMTzH2+#_W8+WVTHp#K4I_~e^Q~P-dSTVf?T$;?Z zmGjsm!&!I;Vw9_-8vRiOY55QSwdMPkPHqTmA?bf+-3rhk&o z0r$YIpNQ%t^R1u7yCCTW^&rTW-lO>ANGiKpw0;~x&-OM~k0-wC$MbnxA`B#`U6{8z zG=oMX`3ty^{3CV9&rMN!pP7d0Enec0IE*Xhauin}Ls+eOikbYzW^Jc3999zQ+Fqx` zY+iqgLeF*y`CPf703i832eQ^IcURU{VCt-_^|Rj6Qm<8YOI#|Svw(5QOKx?huhey{ zYAu}9SV_O50_r!biTbPNjof6Xnl+}Y6i4N9QKhGg-&pCEn{xK!ssTT~;Ae{dusy_^ zFYKX9fv_a=mkt2#PGuoe%3e3Ojl!+fw{Kjlrv&kN(hkI zO$$;ur8tMF%Cbdw*=lZGmLmqW`_TwqWW=@JXT6fjQ9k$^~<;~m+@Z)%_8 zmFrrh=W1?gI#}4~TzF;H8u}gpLZ9zuF1|4fqf4JzEb)O6dK`)y2MAaKU{p*IZO)`=&&-UnqXXUh%3nE&k1_zv%ajb(?-WZ{q9) z-}6)mr7!GCT+<#Mg|kNPsqtc-#LtO&G014|4`Z&A{}bbDS|@*;0P1ZnB%9j^HNJ?_ zYcz^b9zCPSAsUtQh&Er9ws|GD6(fIFq~2J{+l_Hi9a!J@z_S+uaOckUnVJzV?Ot%2 zXlKxAdO*iI68hd`iZVrC3l<8X!B|I;%D30F^!a}%*K?(x1S=pSiU*nYQM4-Pnr2$@ zdasTZyd9i++Fpex`HTTE+JtWN^1)76?Jmriy>9WVN4E z*0K-PPtBf}oZ#AAa z-d|`I7B>;EjnlGVus7d?>|K``UY8mCT?&5{2bE6eB1K;G3Wi=oo4Py377!|OjsegycA z4UALzlAOXMshUT%9%v0$HhbGfKF@Ndhk@6&iJHH5rqFrlSn6;KE`M^EhSebDr`kgx zLRG1%mDOyj_SH07t+aq|5Z2M^gAPLp&EjMUR@OoRc+L7x$Ud^{DGX?r-deKz-Y}&Ab@H+xKT8%h0`M}LI#AK{ku{41zUUjfhfpM@}vZ0c&pGRS{p+VT;X%V1IMnH$b_ zw`tC7bu4Dhg!@_*lpO^knY~)^T|wPJ8OdMsn|@=}574~dck0c0;y8BGsXyFG0?Q6s zet*SBlUH4^HSm2jXY}p*KX=gcn)z^cwdn`&EOcmbl6tG|G;QbhBM%UX<of;fLOi{BqKY|BfS^Gm*M`U$#;^YZZm9|AxuNT9>)J%AQyVi#W? z%6}11S`5vkevD?vAhz3$m6agjxBDx7KgrLn!R189?!$lUQea$}n+1jh98hLitUoRf<;{K^FH_MfKw>XspC>FOJJgoG+Cz3*0Xb0m$Mok^UD18AZlpD!74|@*v z)buP%rdLsC>#KbG*enAgiK`gWvuxtFnhLBa+fSELQYB@(lzD9nqYbXj3e4`o6M@zC zvXcEk4cS_a9N9^47@77cM}OhMw&R+&P9T-(p)7xN%^M^BB<`*E;&QbWe=u%UUzxVw z(0+U1d=TCIA^DwZyd1-)%If7u(eUoka{bPBTB)S%fA55$^C*@xj(m4x=%btRcjy#m zQTh8_R5IUyonT0@BV+3}O=g6oH&eH3I&V4Or*=J;g zgrGrCrwL1fl$(hLY0UD-Y*Uu$GxN>bbNgJ%5qerRb-=N7h1Vt;?Xe`)_p{$(usFW-=RFBO;{Alx=asQ`j{ zKv9*aidc@ht^z%QU~OWA6Fr%Gi*M-6g`0nsC;|##2|p-6d)t=f05C+nx5QWWN-Fd1 zNCi-E*(${)D`_Q#Y$GTTA1VDD};r(eurlsL$3g2aD* z0eWV?`7QlE!EPQk=K5fk$6oXJ@y2eWv3mlOMlQUF+z#!V#aT!`C=qta*GX}R_GE`b z8pnRCs=aPsJZ9A1v6xXnixz)08)VsF8G80Leq_B*%y};|4PU zh0tQ&RE+6CyiIP51;D*1}zj^Ezb_e)(qp?lMY%?D>Bm_(A5N zT>x~fDV|lpS?g#$!13+gCftkDildzY1%isvbYGtWehZ;MmBAg~i#9B9HzT#5j4+(Y ze0~!xv(>b9^~~}OUk+R7K=W8GD6%B8S7{Y*PE>{L3Ucje@<_gAbpjQGVPHnzBg}MV zb0x)B39r{-PS)3}>dRTDlO2Cz@<`+zLam|6hhB8264^?cu4IT)>)S1szq^>Vw(Cbe zM@2n1kJobWomH#*T1)n5gDf6*8XK?@^b72Z}S(wsWqg_zluZs ztC)K)ip3u?#Y1=i$rpdP!~5u=TY{>TkkNi67hDhW+Fi<{i?4CMg4jL0fcIYrk*^-r z^_#k;ySlEqQ{LQ*=XCCfJXJ4dp0n7XKfJCoA3mz7H?RJC=S}*?3slR>nN4AobC65o zv$_Ju)bHXxfjb~&AhUowTX`IvR4V;$!=e)>QbnOoL-zh zD`95w)+&gYo(%*`qVv|5(JQMLx0bF*N~(j^msNk!RNVFmV+kex-FC1a5Ko|GfF;yU zdt8kJ5H1yZb$uD7o^GagpD9J-xZ}A$UG-!TSI4%Uj+&K2e0}JVZ_C#Ky>xZli&R@j z=$B;`Zl!4+!_PyXZE$3{kWkn?D7j7NQM5img=z6!+UJS8$VxP8@%3+-JPTc*1xZV_%N@)5$Do)TD5& zU9^&$A@9BE+&3Aw;rEZd$mN(5!WiHEy)fyL7n^}8@H=h`OP21Aq$M4+#%6a$FnIzr z4dvXGz*N{S`q~LgmF|f!(k(jX=@T-#r=;=|+k(FwTFPFIvimG&;lUv$zlS&G4|DS0 zG-ZE?wx>WQRP;)sPedEDr@iR!-472_Qm*R=aH4~Gwctw!FxZGRs!C*Gbv7zYo|5T2 zo48`-;#_rTTloc!}5Tv1m7!Xe3oo!WS?U=?evpN zz-{siAPKxrmOLWf`lQ772$v-Nc^S%QrBhOHD#W)!aeAb4`90%n(3iQq?UNz`rB;8f zeU7u+&}I1ix!i~Nr(jLorlsBU=YTQdJ0ch2I@FAP;}(2ReevdY9R;z7A+(q6<*#qo z;sCy>9>w-Sp(h(mGO0cOrW1Vouil-RqOu~Hg&-R4!4Q+6=7rr8-E=LiqaDrqkF3Mj z(~X^a)-eThg&8YTjT@JG%axw8eQJN94YxYcUtW^bI@!Q`HW4(d&3d?&!jnR;hOuAq zLDKre`c7lH(J?t%#mA@c^#v>A>~p}iRw})YvZ(Cz22+Km-qwx0fj4e(exx&Z0EJco z_uihr6BK6#O0Heq2kAVH(rJ>Z!G5MNIDbEXCwd`Q<^Nmy6+_cROI&(lb^m|Ul9YD} z$AL+7lA|*7H?b*~`E9KmW$K$UUdj>^XuI}cht&i_Mx^cVWGhe>;FS;#t;d@9GW7f% z>2!>Nh(3+U8@Q@pY@E2)tx1c3puUj++`$*nNmZ)HRe?fR;?s(Rxf;S`KGIQPjM~I# z852#Rhp3;$XcmRjxaKf`+|Yk&2)Xz)L-`QEiJWsyj0%_s7k{L8)@vuE!7W!jkI93N z+2R71SE4X;10H*)9xC~p^+6-4y?M#@tp7B$Sr-1Hlnvop{CP|seC%TqL=oPLT2{u> zT8TWwoSus7^|+>bTNy_7o6mW&1*3JZ-d)BetoO-_H;todD(VuoPUe4r=Giox;OG#@ELPua^b;3Rt(=Pu9RT22l1j?WKynMf zWrz&F?Apo&%+IAA*>D~P+yM&MvO;Gi2~lIKya*|KInwD={ zszz545|rF!k*xS}7*&7c(ONn>7l&+SSJnmEiSpT+aY?_oQF}GEwc=Lhf!DIGn!S<% z^&GG+_ft8G)1T|$kKRCmg7WPB_6Ou>8)MNWviIa+-NaYt{E!z}^)sUwsM&L9-W$IJ z$fF0{RBp&PqB+tAM(lt@l?13XX+9n|n`_NxOjK^!69mq49ov8N^xJ*h!0A*gOt|nc z#vI8ju7}<9Ty>=_h<>qq4DytZ@8d%F6t{A#Am}(K7bJdRN4QSbjU~YB=Z%*@ue{8- z6KBT?(x^Plhkhl2#JNCGKd*WCK+Q-l&@|NQQ|%>}dtK&l*PZGYU=D!ZW%%AiNI{6J zm(bs~^mOQ04vBvW%#>g#Xcnm3BtOH+Hei~?N57B1`;mvpgZ!a?8OD@2w#UkVX+rD&Ywca2Bs=f=!27-L`&IW*@9M7VuIird z>7MTD>YCALUb5aJ$&zeY4{XWEvMi5mEP?#Mv23txV>^E)1QQe>CM=kE59`A!IGYd_ zaDarwggqzOUDyCw&aU=kbCQ!~&$4DA7-H}L|9$sXSI>+r%Zb!;>%Q-IzxzG@&)@F{ z+(d!EwHh^i!ta7sNIdleaN7p)LjJ&tuH=3y*dSMwZ z=30YA-M@c^T|h2yv`h@c62;Z`DI2~kgN@{4HJ!^IbCernggjSJ2X&Y-$Y6+MGVtb(&vKYJ0H z0xrH1de7sT&wF8ugFJT{!GPia8>V>T?M#?*e&c@|Aak6wGMMEsLrG&;Ab*MO1(;=h zxL+bG(o{n*>@QSHou#4Ou+>~wF=m{ntK?-pm5x3T7KD#+{l}k{;$mx!L8 ziuivPd^gW(m$ObDz=e)?{+e+;%7qgW*N*0c6&P1ABH}d0?KGx+#4N)exFzgoqT(eV#m1kJ;#pg?a43KHn?fKhrY{y892?fZgO(Z@-T8kmw4-Mee1eMyufX{1+@M3b*fb1`BlT}y z`^$bJ05KG_-IFIhnSxRnsD>OA#XvSD-+nbLVLo-?``w^(g9pfjr)O?_C+vct+oCjH zBFb#VScdr>2s{8?)bLzQ-WcW}|GR%{#ZavK$uLYw8J~Xi3@3T?BZ9Be!H7dc6XJ6q z_S3ir(-x7OG}2%g`x~Q@t->e^^;O0t;b$H_9hKxI!g~>D%cYRyCv364N>{j8<&rGp zphZ>z8qC>6R`XGm!9jZWl|?YO?A4bN!dG`tEJn2P6rWu0Ee#Mfu@gis!>V{3-%OlDuZpXhBnLWG8Aq|*7fmm z;L@;dQ;?rP@k#w>>U=)Xuo;6%1UhGAQ;H#Upm%b3kSt9|Q1#uvP7n$4F=(e}NuBd+ z#9;i~quNY6sXjXzktTmy2ZnxkmYyfO2HJQwIhY+l4UTdXLteoKfzk{evwZr&PzeXY zC7PVjz70aKC*9MwtIoI*6d!8$DdA0&4;`UyIHdtycuQv)gM?g?_m-HtNkFI;E##vW zHzTx)NL?=THOfjQy%NsV{-X16TIoquGCC?GcT+*h&p_|t4NiYS&r=-`(4_!PJZDrw zQ924WB0S126zRj_B1S^8D_N}jYE+}aSt_x6=uU#XnAA#`gIRu3vu$4Y&k2=D)Uu;@HopI%H^DpIgB(t#tv1Q#-hD{O5jzX z%|o+?t0H+)kgb2v-aM2rp0yt5y{_`vDq-}HkcIApnB7A}#DC@T8a{gBFurDQ3SXQ! z$9<0Y&gV}EG2Y|_58_DdxL;(n*xC?y90~^KTsR>DJ`rRMs!_-tw|k813V9W;;kvro zjjQtGJC4LUenfv2xayK}_2O&2{0Te*7W(KDxH#Ctqqs4^#~<;SAx_o~=&Scw@3B5& z{Z*XxcMM9E!6cKQ5o&$BPwK66hzEhHt;~@SShwZ#lf+tF0gjU)TNy3Dh~OK%R+6+p zA$7zV&P(J|7#CC<~#Wlu99{}(Bib21{( z+)jc7a9hQZxQu_cIS2e?_czx6SLDq_27vGUJ3f+KVO z0NiW^`Ua!rTi~{~l5~yIHLmb(`Jj`ohH=}$=oP0OhpTD3pZ(W_guUi!tD7WbvJSUQ zl5T6Y*$Wr3f3b)oep+X6WBqDvM#qwwU|6i^nE`n!W%13H4nwz+# z1;Y9~lCtaD8(o=*-o){`u<1FI9(?2OhV5s=;i<*nC!w#gc?)_fTLFpq=dOQA*WB=( zy`@Xv&TK*0=_d4hHehUt!vT@9_pNi*ohI6&C>M$Sf0*Wj>FL+*RK@~usQp{l_1FE1 z8=>EbBkdG?Dwjmw1vdnNM`I~E@Z*u_e^&6{eP}Sa57)ke%H{81+=bE$(g+(d48~F* z3xzD2)Qhj(Gxp)X%RVBuJZK^(j(i21#IbU1y*Ks?=<{{N*x?)-*#e;R)Nnmzw4?I%e;Z5*Cz`nKQln?cCdTi4r(vS*cRH?le)Gdy7Z4eN6l=eQ5j z&_3wBAbK8*CPNUCh9DS0jbo5bNVh3%QWQU1?ECr@ zrU7Ep0fj%a+UGynf;kD#Y*7lUaFI=$?99Ex2D3Zai1W6jDG%)T!sp5lJtmt%-ejMi zlLUnPxOdk8)7m;9uJoOU*Xqqhj3k6T5=wFj?GX`Z5zX}hdR2RXaAOiKMBR^6f zeTReG%K#L>FVZQ%9O7~7k zd7>UW|J?dh&2@*SUlmf+ATf6RpC?ViJ+U%wj#q@oNi+G=GQKp51{ui*!RS(4R`T*U z;Qth}C@LF^PMbAOO3jI*@?-n{hrH*xf42s~t*+P0-xX#saoi^0Pd2{Z%irduVpYmj zk$P{-dvO-NO}Y$5$W`Xbx9NNwvUq00=rUKckN;w}(rBz?H<_QWAFblg;(E<{ZTzeY z=?fL<;y;m2KRjyB&k;bBZ=+1zw;_e8lhIl-bf_goO=!<~&2O(~D&uy5#oTa{_4!m48V z?ybImtLraH_6e`SSA=q0KdsmV~K#Oo@8Z_7WNmSy^3 z2?8HcUAa_Fg7t{D3~KU)v}6ui)CKbEenZ4DQ_h`k%e@POj3b`Y}sGG|KD6d?#~NO;nXXHtjW~9(@o`?5J#(vHbo+9Q_F$|+b4qoP#QAF z;ja0DFdWW|LWNKGdj)8YQ4Fdvk0VeQ3vb1PhYadn1A@B z17spZNXAIeK^0wAzgvw*fAszfP9!Fh(Gaw`Gj?L1Q63E_7aJlX)Rt2fI~VMLcNy=( zSa`vS)jmv7q>{5@9q(Gdr!?I}snLMgLA*&b-SjkusB_E!9u z&>}{pN8grV17UT0QBG+d^}d?JPG=A{C@td_$Wt*$P!tC3xL|Ofe}NMan#Z9wAj@!R zTtR+f40zEqWQD$Lkc+3knEE{*{?eQ3m9HP$(ks@|d(QRuoND0^Cm@XiuAM8x%5rIt zo$A+}&9UX9d%yU55xj1gqH19iCxn;I!VF)!hGn%OqTESOIAf6p|gxC0`)ba``z>=2}r z?dX$s98l7Ks>?x7I;m4s_%FlFo~w|^S9HjIIpa%tc9>7O^(xtvy*j{0o7Y|`VN$56 zhO|9Ef}~f-jReK))?H1Cx2v4n#Zpe)*I=#~Ax97@Vk1)k%|Zcnx1)^`=%m+L`#%vO zm)-j@G=G#`f7WR_Xo|SMD|smPIbzDeN;e;F4s&gE>uvUXNN~E(F}93W-+0s7MI@lc zSgP7fv|x&WIxw_vI|!Zx>Q$d2(4J=W*6_2Kg0EACOjbdKB&0MmUtcGiP7E|)MgCbE zUZ7|F(&pW5=^%EE#x^N#Szq08`ZtXFvsJ1b#V6<2e>QI!c{g+#W#T(7V&qXoK36%Y zYZ7GdAkNCj^I%pW2u>`BYD#k?PRYP+4|E{rzJS)Lx~1pNZau%=+wXJ4a#}k(+`jXT zmwqD7lz;~2Q!06a_B;-Epe*fXATg$HM44ilhNOi94CKp3)ic7Of16D}zs$2fg%*SW71*TuFve@c#5gabtkl~5X`{)*IG80Xn>(8;NtPhLRNj2C zt4%2T-4mlcB--bsPnV(-WZh8-rzR^WcD5sI(Y$eBSx4M>xz?*rfv))QYtgGTAqD1o zo8LOtP_vv=kp~!oV1A$ze`{*iRturL#QR!5e*{1OV}e0^FJn00aH_N3_a8&;>(>1Y zL~j1ADP7Mt5he^5%>?86Ud9N&A)=T1{!}=2-Jh(_Ywl1P{oi6_~k57h6BlI#`hQ`FJTYw={mbVmMl6Zw5$3qOlD=@C<&A937eHe>Z;G)_G zC$Hiu1)l72DfnlRDMQ5mXZ=|G3S)iFJXV(6WxU5`=FWK8jndo)9&qDp*t;$GX(UBB zt#R)(gOJeF(fpmwE=Y* z&u6MsLoH$I*`u<28}6Y3$y~HTXE;dBLCt-pgCGA649fH(r_gsUILPe`r5OMfAh2>eV7trCvdfi+fHLnsPsUm5Zs1=*Ui>CwnqPQ zN82seff*zmz5rtFS;0V-KZ^`5(6UmtHBQkBNCLzVLld^$Plc_7(+W~sqk~CipsBl356cjoFB|$6J_Vaut0g;{AhfBJX_4OL_cENUZf8Ou};R*t_ zj6Tbi%^v6cab_!ixd$&SIl1vh{{LWc*dyHI-+>NJzDakGK}4{d?^y7RwF$RQS~nqc zD0;#WKLcTcN@F*jO<`-_C^_2mh>=L8wm0JU$tMOSW-|XM6GA>@DCPJ)K0+oUDG4Dv zgG5SKz@*R{91v)#wvSW?etGtstTpQjtRiL34a^bi;6X!^lt5ptIF%Zmmi2 zoFGoXpA)Xf1Mzn51mX!1OK~HvofXbsAX%tlfd?&-Qg6Vx2m&~i!rgAWrW{;ys(cvz zpsD>UwsG$E^Ak=IfB*mRlGWei{hj&FAQI2oJH*O zHpmp0(C?TCYA($5}3iQ=Iud@4p6e_$QXT<1^W^_MvxVB$i# z$nEXJTz(6*5UXJdqFrOO@}E^K$5>=DR?pR;b~6vqO^Ln*S>;|;xme{eS9v*|&nACM zqv{2#^LDU%X#njQwEeWX*@V9!gZ%eL`Z4Cm=33Lk zP7~6a&}=fp=oSO@F|P!M-^KnBhVr)CWEg^0*~^|M(ByAZsk%MFRNXJxK2*xNbD+TZ z_LuTrD{{YdPRes%a--#Z+C809Tx%!i$dV*$Ku8zLFG?^YS*bH+rTJE3%xrRS_zt77 zw7Qkhe>>1&dPb&Q8+0nQW>=_ft$jO~{|LIUs&toldSjJT7vQXN-19^IH>)QBRdl(=iVD)S!W z_d}Vl#^RbGX7y{q;yQxc(&Bez41l?x=@%XAxK9)X%qP^rb*QRfFO;u_&{cY2o`>F9 zh2h@H6EH(GRNzUk=oK375_+T;fkf%aC`$djoeR`|Umd~AV0HNp2nEVP0u?G8-}Vxn zfApsuWS_U;w$R_>&`TW0!LWYweQnJ}H$1L!p~BUt(_&s~2zJcvrWfMgu$LsTh|f1S znxx!l_R5QB+PIj8&DEC@b1)%s@14z!QyV2oFQP5vV%b9|*yTQ|qc?D$4-tE#b%*ednRl+dfx{8se}*F*LH3qyONh9PZ$;6XqT`pBA6PS^8sGbT zT$_@PLq&BlZ||l8-x6jvu90Udi_%ht=DTqoys5;u9cbA2g+Dz8jdBg-JrirH=Q1?J z%(PXvR`hhJ(0n#h3n>22Q22uUK@{#Ne;QP$2c3xVr$JSF*Msl+S>^eW7jzNsfB!)g zE-0d-iYrt`&O4)BR)(<_6xN{afwNc|{8vn}| z3Gtk}6$rlUDdzbeEJ4~;cRL<=f8usRT-dN-Np62zCEJ6fQTr=kj6$EQ#^I@>vsN20 zTYZwTPr}U8Ag=uXB>cHVJs@DH_igcjvgvayWY5thK9&sH+Vj>Y;NA96gxxdoJ_?O+ zdpj607*drZFeaMw_I4-|HkrdFuyDR-ke>0NHnAg4I^G7xsq++%YP)R-f0O&PUmYzB zq2gXhb5%1E{5eHwjUY~_kj!_aaEVqbg&ndGQ{pLyJyO~zn8I0@qoz3`T&}1>C_Uc> z!5A)rQ>DHLW9RWAAssXzAP6bJtLWR}0zp6W7kw$D?KnOt`5fapKoJrS32YF^LI*vuwV=^T%FcIlU z%$nv8=^0)p^C@s7uhwd`6V1#aN7dQ^s=ViP4C71-nuqBAsMgT>duq?bt$@6ME{qKI zWUVBZn#x?C2ICf*{SQ!bL%~&N3K^TWwqX2F1TTq+{M>ai!4+r+e=)o)Wk~`H&Gsf0 z7a52($mELy&TBaxQ-_EOT&dcjNI*RiMW`A|x`861TODeJ+#HHp)sb+Kt_`Cm#l};> z_W@lS#6|s7h6%bT{0iQIogh?6I0YH)t~#5G<+HiaXH!+5-2&}ipmyJa!8GzC-e^*V z5k5?HIyzCx90~(Cf7EjE2(>$(TFN1>a9(TuTr*{(U04oex4<+MFGNfXl)b>^|wF3?L?P7xHSoa!;> z#Sl6_d{rUiM(f5aq@tm=3-=}B#4h4Gy^ISN_dTMicNL7=pkrjQPbG!~a2Sciu1&ww z&tQ-NE#39me_3+H>1;GXWC@W=qwh02@)&5LnES$!*a1cd71*ua$YBn#L!T5W)FABN zT8{f!A+EJ;-G{BC;CVmMoe@D2GYu-ubjeb?3PSaaKfp?38 zc9F&|$aOG;H-i}78oqt~zB$aR_v?su4FQZ`a#s^pFJn1Z=$V>dYHeS6`9(Mhj~c#< zztDUaL(pJuuX&=Exh$43gX=_wt0^%?*KlG?e`QY`5nJ3LYGModyfD9enDuohU!uYg zuSjk2iewnp)z~N}twW8?{R*sKRy=m>hO_ocAnaSh>I|1KKW@~4>{0X!R?!YW^cl-O08LJ5sd!M1mpY;?8P2Kwit z!WMp#`0qs*%X=}=8FoA>K?R2G7tq=Be|8*pipz+*c)7rCvhhL5oo=IvPN1eAJ9v^~ zma+d1KZaX(vUfDPivyP>LSD$loYJ=b1HAtonB#u^_pdqNuLk1Qzt_NcYw+&5!hP4g z>kR}MKkPkxo5LoN$lrF_F~8fm^OU!NKPMe?;%VpJL*kvj_MIODl|=FpIvC%{fA#9b z{GbR2FSlWiPu{tEGy;5s6O|txXqcjT^(l=RPP6jJ3~~Q33|&r) z^aq1y6@gY66!t5_AKdzyYIu}^k_!?O11XBj)OUtq>IjhM6}|*az#?({ewYN}LxaPW z@r?nFm>@U1)0NK2cKhVKM7fc5e=i*luC1DzV8R8V%m%d$Mo(!+4m9;3A~?k`2Wmy) zli^rk+YK*@sl&vrD~BuFBM{EvfatAvPR@4PAtj&MQv zEU%AW#_|7U9B;_WnvtsB)@xs>fNrEO;qO9?D{Gz=Sl_TZ)>-ti&vgcVe>KAy5odpj zq&WjJL;1W%wXt-Un)!ZKN%Zr>$}(OFK?u>fR{>$*T=yx$S3osE-WQ?gFT!$YdTiY{ zGdJ|c6NM6?=Dd`lP{j%L9NNu`0xbrxbUCj#{&ylqh(Zf96>D+BpvgA>E-0IB^g`qc zhpLlsmq@6d0(p+^NKJ!Ye-_%7UNSVZ7A4vkipBguPLjkz#KK!NPv&sEpzYT24#=oh z4ky>yt2tz36{T+C*pc4>Ioow$&|+@Xv4j6gVx+I*VBnw2gD~(pOzez{)?m;QT)2F7 zJYJ=z-NiS$rR%XdsG&4C zb;GHEx-gDM=Wah2k>86!Mr3@eh;N9CZ3?|LVZZrh5PbG+af4L*oUmWCELGKmqwC>T z>q+Y!pc%gNwbjP8&8N`%_Oa%J`J>~d_JhzDYOcP;%6Wvb!E0?xQ_jET+WKY2M@Th} zH*T}4d7bzL;s_`He`pL#g84`K&VBQk9eGF}Utqw8R<7$0qsFqzG_h1u>UfQrx}D_M zhO`Z1slm*(`{w^#nM_s~3>=h+_F&LPHvx5QPOD0Sh750Q?^7qncEYw-F*$X0i%Zvy z9nf+0Yf%vVslRt-&qtTU_jnD-bv^WvJ5E>4cl{;65qy;{ zv=3v%5ts0@)(5Q@tj}0KrzOB$9YuhItMdhB?k=f12TH<|rS<@$))6Vr5|HCnE9#n+ z`E^bX$?-j<9381)(?clIp%Dl$(&bZAM@mqoseV(3YH0_01hZv`vxJ~o&NNZVjN9tt zFmekFLX-F(f5zE^*tVy)pgk(vQR)!ZJ!L;)awhhrV~4gghq2rZ99QTpC;Lrk=|Rvh zj`s-p94-}5kl#WM#x12uNF(&6y8@>k(B45;huLcI{kd;{EOb*x!p;8x(@h2cd3?Gp zK8S?EwwNJhfRa-zimSeeKaTy3;U8p9V8h>8*Fz42e<|#NlKv@U2qA_h1V)r6*>7>r zLgYvNjWf*`+^g8YE`gkKzx5r~6V|(}_gNpYK4twbwCaTUs#0@pfHsoP@GFmn+|*!lQjmlPh~(tU`I2Mf ze~!M8gO!{}%G;F0L07RP1j&xcUKkOIxz41~U)kfBXe0SPm!t)qf1le-jnZMd>EgipOp3D%dv;`aZ2_;6e(o_d}=Ae=kgI=G*5fGNs+@=5|4`72RYrkZWy8+DyGp z_u{FfF+r#M8F|l;!n=%|i1!ExxA28jiavM(pXVHYwR4IHP4c=W?2AZKL`O&d73)t) zVNI-4)}u?AUTEs+l524DDsbxyq{bRi^TV28SjUl!CN+bm25;06_sBS8A~o;Ie})^w zEYNUussXJlJC(t*p)KelxUiD^nHZ88Fi3P#s7VM{610uiu~XuRdW zoeeYi+qOfv%f{kP`qsD^+K+S^Yio_pKL+VOK!CU=gIdFYPml*o_~F`b%ZSfZ0JmJU z+dkQ~cC0sA&%<1YxD7QxZgHOOf6$Ot@i{vPYDZDko|qkTEd=YRFb!}AYD<-PfcQt+ zS}4^7)gDY3gX-EPn7sx{jtS&9MtGb%LA#kx=KIA+Jp=OYfZ2-Ds5={q*529KNVJ-u z#5kRAc6K$_9E)Ah#xu7FVAjH@R+#@q;bJA&|T~f zw5_!e&EYg0p@oT1kP1#t7*fnrcn?B0SK$_0(3Bij(AKH5heO_k5+uw~lx3Ij*_#({ z>vel1)Vsce1-=lumr*Ek6NXe;IB4xu@b%Kt_A@VIn<+HYRZ!R{TSdqqvVvkg1zClN zCKEB*$M+OzRVhg2^fAgSIj+VeMsvwS8*=EnwSfZxPLvj-4()+9rBa-N0m4`D@I)hzDX&FBDe_ABW7sKLQ8Egy` z9EYJ13(pe+uQA=%alqwJha4J(SnGmAZS1*FBLQSvL{;vR(en;ROF1DMP~g^P(Vv|= z=(kJwx*qSXjxXMIaoj&xJptc|_h7a|=M@MXX(v~1XB~$8!|(E8NVGZhE9ooWO(f&C zK##;W6ZV9{SQVy4e@xcksxE>`kS@wtu~^wXJQxlR2HpJ#ahq9oZZy6)9$&nC!z+fa^e8@Vwa3HvKgaxwz92GVNuHyi|eHh*3LWc@#@gCIHc_vo;{Jh9WD}+dvWXS9Q4S8ye;o`uC5#px@2|jnTw3oP ztQKCw)D9KLYDaAyuN{yuU%7T1daQPS<(pT6wd|iStQkg?%m=LlAX-~6&4RYs2u=&-!1@6_WP*(SBWl`pAKGOSYe=4 z=AlA=of6NjjPj;;SNxh26AUz87?fcCdNJ*%X@3nDY0_*Co6YYNYLpE&u=`H(PN>AQ z?byc{SXWWyf%s*=Td1z>NoNB)|0HnIV5r`&VF`U0e>dSYC;fuXYlg)jxnih6zy2pm zzG;}l;m*OjMC=pL=AXo;JT4fH4$x~ZcN`?ffu0o%9~AgFPz2yOob;sYB-T}VJ(F*i z*Q2HtMh?U%*G*VtZXtlL57dji?&5z}2}rRFlg zX$uD~e?)wo;xJW0kt&$d9a73X)6U!j)M>RASYlB0d7LfPRR@>1E=L;1mgfNsMKC77 z;EaxJP;+85*fATFoRf;vcVTq=!E6V$H;mBnVCYh3;lRJd1Mhf}9-RYHM1aPHkOwiL zJ}CAgLK7cc<5DS!%cUK#f;dRb0kb;siGZF4e-*&I0HnpUM@McwTD2-XNbBE_L50J8 z%DSwrXjP8YP6cjQuTPE$WuSuQbuj7pKq27aA;xmS2 zf4^K@sdxrU8}Yed8k`cv7SHR26a;?|ChR?g3G(9Y!?EZew3v(}@d2wNRNPt)$QZVB z#T$5-{}AscjAHJvCgg!${~xW9b!goT^Wc-#bJj<#AGUtV`g!Y1#;cNl@M z?!suXB0xU3kw)5wM=x)zdzweY_^~>qZGR1|J?o@u4#Dy(ab-&1g9M@4?xV*%-6Uma^2#7mLk7MADTp%!xLt z_w7@oBp>g#92+}^P-j4!3*q%_5SD#L&v0~yDo5%R4387$hTM@jl{4p^!z_}N@_(Ql zf$qhopz4Y#!+D*hD;wLJ-H5tAet=@U)9mc6VIncy3Hsl$+uSBZlIW+0p-_(;FTlHl zBEcjAm!u#J6S|9f`7VrFtjY^RpXN;!8}?Zf)H<)(b~MqCHcHE)c8O_x9&}$CS^`-MB&Mr&oQNdBV}Hy0G2XO3@M$%}`BR_x^waf{# z%pLG?Cc19ymp*(7CvZR;31qwbKug&$LG=^PlYRt~zG~fwXvc4KFpNN+a(_5>1_S{- zC8ZzQPBUn<)3n|AYtnTC$2r84A48NpvW-bNr5}5pRovO?wp5^@;swt)K7!_~z=ICdP{jtDL&4B8=oEok7)Pdf6k>bAR1fR8!yRdh&Xt;2YVOpDgMa={dJ z=oW%*NOe^}3N@7l-GS;%)_>7eX0TFMm>!1D5+u1lGR`sPM0WFyw(uOm*KCG}f|N6R z&Ev}DzmJQxAKON~jnJX*c-f^g*&t0jauQ>-0xh0W>58OzOQ}*iiLx-vqCZE)9zzi% zm%A?LQ@)Ql@27kY1LyDKV(rIn;OJ-NI}uFfzlPSO1dFoK#Bc_?9Dg?x;X)@Y=(}CG zV;COcYHwS2T5kXe^95{U=JV^QV^aGk%xF?GFC9hl%=eEP*WTe|@2Gi!Mo>2|ZF4sH z{Du@xC-WQg&Qu#YQ1vuP;b^S-JoW>X`L5p#7z>)d>*cR2a?BKME(|A_@F3{ zRb9twEQI3=yWvK87=Px`^EM3SvH>DU>NEnJ(628>k=YQr!CeFcO{m8>M5 zm#)N6bI>A1R)kt;EgZkHB~qri*ms4J0mw$&og#lbea6G*M4xe^1fD~7Y#6IJkKEG) zo|Z&zi<5@!pN4Pk61wBV1Nl+ATqib+>i5GOf90CKecc*f?ti{8?N49nBbgzg94^v) z%UXy+u*i2%UO@GwAkiRtm5X&*yv3HD%f;lVE+>M!o>bY*H|M?+m@g4HetvV29}y?y zb1vyNbWNA8t}q8~d6LMr3&h5c)Nlg3I4tY{))rMbt*cN}Rfv|kWF^JgPcS|X?^ znSMwr*xQ8*1AqCQcY-G8inlXyYpb>3efmplM_Uc+0Lkl{s~2OV?&=Yl)D83h@;J9) zRC!Y!Q$^}9tJa%9^0PVL!Dv*|>eab60T*JZS3 z$nt8PM1Z{8(fsySBQI(>_L%VkQyJ8;pcK@>`kG9VXn&pTzZ$k(%sO)Ypf|m7+H3E0 zUDs`%Xf{ur!bKA!D7foGWr2j=h*;qwVSpR1H~Q0FZ+gRCpG8v2&FXwuBvR~f&$n&g z<2&Lg<^r0Z#)?G@7YrECh;EwAex$H}o<#|920izWejzTU{T>zs>^-(D<15XxRLDEO z=WO#%DSt>K>xaJvWs<)Z_OpMw^OW%7r*^)u#5t*S%)?5>zKC#m%W+27j#Zs|i(C%WeT)G`f6MH*i4>n!qOEgW@yK1m9@j{v zpC`BtJFCM-M;3L2+|>>19O&hUX1`Z`%<(S8bbpNb#85Aqc#AwMLGRNB7bV9A@E<$s ztfsoISX*;515XX`!|Y)Eze(9yM~*?zh8wHd?cIY(MuL^3eWGPE&qvcq9%1?vNX~>e z+v}IUn~NTXsPu#qeKcVA#ZM8w)y+p)p7^1k4Ri9DY;C9II-cL!YGojfgI4FG%U0OJ z&3{>Xsy{qC{5iqhFAGAJ#V^=L}Xd{XNnd3Fp z>8y$b)H8$qfHpRy*Xa6->5I(Lw{d|Tx_XAZ3!MK|IBHBW8>$qx0ARq12L7l z4#rmWaVQvI;Dr<6xaJA|y#yYncffov^*~AV3{zjiKjvnj1fF)B)9{nI?d0I#VYdP6 zXB_7Y{50HFdN8Zn*{bz#p^ua>Pv}?^Gn`MW@f<2OFGmwi3RlxW8mU&tk^E1BO@Cp0 zcc_2Kr>MYAxv-0qPwX>74=|pid%u=N-_V8Hd6}vYfk4GYzmGOE@gYS)4Zg51ggn4- zke;DR=rN3gsp9LbuUWa(0^LNjd(KBQjea@RQJ&RuHbDwVBN}CLJ|3#kY?_z#j<2o1 z3e&l`{z4Z9+!eB7CVw`ki-+$(riVS*z zbB(sWF-Uu_s}YnIC=iv{aV@F#A__-?@$JtshFZ@W&}<)l#>-Uh5FL$a=Q8s?QDeeJ zcdhH1=^+foI*0_%cy_4NiwdM0z*dX~rQ=6YJ>4iGP>q40BRo0QW+AQI|oRmYi`Bu7)xX6%0LzBOQ?L+FmqC z>>OqdOqhp8%c(0}2gd6NP6O>8sZN~LK^8XJc!k5H;L!~dWMM@a3F8oye1YN5%6kFS zN9cLj%RB7^^JtYV9pwf{z{MlPgt29}5xX){R0*FJgCMcPcH(AHuYZlgk>}a5h`bnD z*vF`feWXtkDC}T_f$&Th)!(ef@X=TqRZ?YbV?AFbMps$JPaVhbL0a`!!tlwih486z z;5RE=$BWh-)&thFFbaPb@f{mwR;3o@N+P)9Xfi~M#+lA5g=59BV`FpdV1GdayoeYn zm)t*-QePPneWiB2;eTkO?>g5A8Rg-AsZ*(klacOiGNL+_Q7SYkW1LRDBPqHl5#~{X z5(0mcus;-LRp3r@n7==4q`kBesMca%Wt^Rl1_iRGr@(0Of2QlD9Gr5P~kV^hm;rc&b%QzW{t+q9= zE?^w>`lJet*FlI2G*-mRolJ9>;nW0KsD@FE{h;;viVE}qZ8#>TW1qxpUCL?XJj^`W z8{#DPk6`gV4}bL@+**5ZO$UUnQJrf}#Dm<$zQ)&~;qGICrx)J^mqQ=X8Fif@4r0HC z(Jfzmu>0Ug*B@MGu43zOe<^he9@kOv>lg_3j0}BW(-v3rQ?7lC7-4PZr{jg5l=wo| zys#$bIy6o0@K`y~aB%on{^6)YW#nQqUuR@q&b4ocJuXN&`Quj??C^shh4VfBkbavH zzRj;Q+x>CrMNrnNfBwHPlU_6!Tj(w}v}%S-lMjp>e+!~CXk;*KaJy(iFO?}M3g{kZ zUM@k~KEBTewZU(ZJ}eR+1`ZXtpl$dt(Gx_5s4v265>(2r+9?9rOa_H@)TUM}8ziu) zMoI>$S*J~C2V5P3P|^1-xUtR?O^u}$#L)!lmXsm6u1pyFQ_aG-q(B|OSHqBnEB;;W zwRS1jf18a#1M@(jGsO!mr|*0SH74$--<{!@YZNHhyg3!J!E9ePZf;25HVG%{U)x?I zZMSLJOIOmIP}uLQbdW0N2+rxP51&W^hJ3XRbcM43h61xq8Wg{`*1gPSaO1iiMo=fn z%dvkg1LYQ}m?mL1LN^e8@u@cLfLsD{iabU-e+hHM?^NuPWTW3m`YFtf;TPbGleC{) zk7^RNS!9$P?5Z;9C9__$*_*-2zgy;(%t^yqw{ErG@d~U4$7nLo(|Ng%^TsPN8JM64 zh5S&{vep|WTN=3&yPdoqy8&Y-7Hpas#veV4hPvyJ8bHPIRz-+#2Eq7Rx7O#;lw619 ze}Is!1=nV#Jn>Dr4OEw9$G8#N)yXWS%Rbsh6+4MK=#pW?sG`$(r8nT`oE_OfO?zI* zMn@?~_~c>JP*1|^pyBJ+KuXUjcYi9o9 z>#=fSh=hOe{r7w;1>r2-EiXH>af0Ky80LBJaR)EJiLulL5+_=;+N>ig<6$|S-W)-bN zH#HEB=!Vzsu{kofRlD}5dXKREt?6Nb{}m_-T0KjwS;nInbm zP}qYY-SB8%a*?EhWBN9;y+~5DG;kR^HdXXTDMoa{T!6r+g0eV4e;NEk+iVj=G)lgY z(w>KDj9wpSfKo9|S}hE$?Pod`izSVv8LR!*8JUI}`>;%b$rmt9T78ok+{hl3n^`Gn&?H0kA`({6mC(Q(7P_pj~9aUwfN(_2<|SK;sP`!;B9K97Ar zzA>YxYhL7rOY;k{4xqNbQ(Fn9l{aW!^TY4f?5Im2f1FDu<$auW2V|x+eyWzL zu)kj;RhfBd_Q1`HQNO9uFicf*F=^bAD$hQ$J=>m2e~=G{yj9H_uY*Yh15Z(Vtv2#~{LgS%`?2(|O4TzS!Ddk^CfwM*9J2gL3cVv8D~; zm*BcDnR&2l{fUmkvF1l&?2;d#ev9KDcn+TzY3uOwe~%}rmRCdl@N!Xb{AN(A%`xm! z!9V4j`UUtsGO(M+PYdcRl};(=;vAPN`*q2A<=g+pH$YTVLxo>>?)%0^@C>oDmTs^Z2e<0vEL`u)!yk%qKmQCN2lEALB%;$|z z$XIwWf2Xe#4&j_cK4SbS2lTD5fyz?saZhu_!zgTfb{3Lk^~_CYR#8ZD2;I2l{#!OE zaX?_A;@Cy6hticLhD$XX(s{?RhkXL>#M#4m+lP^4Kvr#Wvx?=q!@ARYN_*~)7~Pay z+87-pd(+912Q!>OuV$MZ8)0&{%8NDax~C^!f5bhhD(W{(%EA@%Blgh@Y1=zq0528g z{eJ!>To9N-*ArqE<|>f8%c9 zt`dX^P(LQ{1G+~(IxNQ%n9p$+?irU7O&ar3&Ou0qLvpSUmQr6ZH|I^|6NT~X(=1NtDu`nwiESuIj+*ukA#ohP;KBLn z--&FHsc8>QQLu9}ia^M2)N^Ich5V|h6xTzfxIU|~bv!4#rFoW*um357c@n|rG%^=&R1JUaCc25 zFo)vkI^qla>T++tdb!J`pyyX9rmdefHIZuHv~YVBbEozH1O209ivR$4oMT{QU|;~^ z?mfyall_(-1VgzDJd+@o8Gro&Z9@eb0C=2ZU|?Wi)IrAo|D*D;VUQYP)Zx-gLp}WD zxQUjSl5iqdFOA)%G|*uROthN@+6}ahn_-4ciBOYIhcK0-Ui<+7xvx_;00000006E5 z4gpF5)B-F5o&v@La0BWDLAdE9Aq5A9Yh__9#9^h9~d8WAI=~U zAhaPaA$B3!B2Xf>BYy}Zq9jHnWF(>_&?QzSgeATu{3ci?peKSS*eEn8fGEN#Bq^FH z?ka*R@GER9xGU%^Oe~}<@+~|qXf3=hST4RV94}li{xDuK0x@thRx+eBI5Vs?4m4sk z?ln#|zBUjxJ~pT}A~@JNLOHxS>N)~CZaV5aQhz&~JL)_xJdixFJs3Sw zJ%~NbJ_bH0K8QZtKO8?wKd3+8KsG>(K=46OLH8HM4Uw?MYKia zMmR>AM#x7ZM}9~GNM1;|NgPSENjx?2=ms$1e*6kJ$bo?P5rAYDpc0$&1OGGCBj5MYR5 z9$`{pWMOt;*kU?jx??V5&SV5+hGhz6s%92v2xvBFu77C=X_9JKYO-r!YvgP=Y|?EI zZKQ5AZ#-|{a5`|@acpuZa>#QWb98g4bOv;Ubvkv3b<%b;c5ZhLcSd*`c#3%5c|>{6 zdLDYVdop`adw_fNeJ*{Jedd00e$;;|f4G1|fQo?Xfog%If@*@8g6@M#gOYfhV_;-p zVDx9W%M>8M00K-v%msuD4FAD=1^_3(0#vg@nlb@@nPq11?l3Gf(=mf$D~T_T<&o@m zG6#Fi%*@Qp%*@Qp%zXDG+nsj5^lPmDe|eRko*s3M%@sfMb2EQ%BN*o4poTgcaM6T^ z7TV~biyk&$0gG6|Mr^`n9D+k}7!Jn~I1)$UXdHuMaU71v2{;ia;bfeGQ*jzj#~C;i zKF-2_+1P@u*oN)cft}ce-PnV@I0xtAJe-dUa3LHC<0eB#P9)t(uA$TYrhKJ)3cqAT$N8>SgEFOo) z;|X{oo`fgkDR?TLhNt5hcqX2OXX80|E}nU0K_%6PO@8bvfA%27(<0tqjeukgp z7x*Q9gFf-4CiB@@>}~eMmyOLeSu4dP;YuR<|dUgZ5k=-=c<3ScJ3ttPZBbn$H4?{oTX-348?41;U ze(P3zo`x%c~JdWjxuSZ;o3a5gP8$5|7Jl39F&3kp1t6*fT zDz;x(rAkix36GLqCCQ}ajgph5qJ2ZTlK4TSf>?M5B_)i-AZry+MZ*zcJ@$2;rc#l$ zS;m7=o9BTs#1EBByA>&nS*&Ox_Gi9-l6ev~N>PXB*+?pX6osKkHt}Viapjk$kyl4N z)0<0aC}NS3kOu*6kyXl?8_fw_1|JIT^kp0__NCOBA1FS^%pOS~I)zB)SsW#zW?9QV zi$m8f)+D08kdp~d!lgA>mq(%PGhOSeT#x4a`LGx8SR^60x0(s%R@@8tL@4fm)8*C+ zI3IB3&?jsKT#rguca3q0h|Ap@C2g1MawJx?XPi(3QOo+Hz$6yI*f+p#ijmFqppeV>Som@0nT_2Nn|!MmxIrdOWD>fe402;@JCu1pF0<7! zo^UI7^h`|K1hF}w9YMF?SVs#=rMO0aE>v6WPbpFgm(>fhB&NnkQX5Bqm-e^T$Sf}9 z^Mrc?zDy2YJ%n3vk9cL|-c%LFfW=m^%8BZH-A8bM z)`1ctaVRMDMiZHSrg)-%2efyT7%!P`vbMFN^ij={o_&&+!$@-L&OP{`^ zvpF%Jq;AZUVNM096>~Kde#*%!UWsEq_2>=bGN}uwiF3|^Q>>M3RSvjwELPLik2B+o?6JVJLe^%I#1-AlxZjkhY! z4cBCC)3ylX1;?O&Rw7r6l1tcj!e%1NcwR_kq=oH7s%XaTgx(oY&{2=pj(L}7j#Ip) zC&?icN4|L*g=#zHTCYeIno3i%SJX;{nnXok-&DAQ0?L%_Dl9tdq&3TGHhh{XZEbJM zH7JgBHcy~MpQP+%-4d4`r>|4bgoBAkHFXShQYy9`I?r-{By(+D;a04hs%V)9Q=fFA zV7izpDXDVO?@A(+9?@?5ayql0k?(32wiTyJ7Z-LdDT=FP=ttxs+FC4&c^@5PhMzC$-hN!CMHk6>) z34~oEq1$GiRt3_M4#g0a3d$DJ$Y{r9yRpnT<%pS~iWuy!AE#VRvqhN4qFI5^)n&P? zYhebpj;4khRGC~aSeur(N*TwHwn^_bk|gYDks0rQRI`;^@wQF#Qo5-iMPI1?K3rHQ zHPyVmRziek)$$Mx9fhLLRa1|n)XtzCi>j<@X_}?W##7T1s-SI6gRS46`ZQLEZbg!O z(if^zQOd=D4nl0n4&`(ew#XHJ>{YU=Y*gHS+b9`nNqV1J?OG+TX){_ornP$JK>=k3 zx&jt|aZ)3a>8{QM)#{Ny$g^CL;U%TYmbv9LrWb7cQ#{fp7ES+ijHF{tsVa5JXl{up z8oLFfGn(;Z+A3%fNIFx|SY#t=u)|S<8mO6aTV^e%8qeTzAT}_e0eGH3&2)Ly$Yc`8 zD5+&q#=2>P*;M2jb^1_vw%-RT>I)L&!MK@!C*{8b9-Ue!d;J9@qh#n1l-)du_EBt8 zK{SIBQB!>@-`5M;re(FE)(b+5ZBKbZm6?diOqQpuHUFsLCZcUi_Xd-_`|u&n~y8#E;)bX)T)qF<*EPt&Fu c?Nlp@r;P)W{;7)+*RJ%=xw-!XFSO~-0QT7;Pyhe` diff --git a/src/styles/icons.woff2 b/src/styles/icons.woff2 index 8c800fe00224441e6bfe81f508b2003cd965722a..527520e9d003c22692d83159d4ed0330d10f9279 100644 GIT binary patch literal 34880 zcmb4pQ*b2=&}{5Ya$@5|XJgy8ZF6JW+1S>`wr$(Coou-A{chcdTmR$VFH_YuRr4}c zQ`6n<3gXOQ;9&nDTo4TLzXHw{4F>l6>i=>7m;aw2P=zrBD@8yEiG&JH!UJcAAcu@( zMGPeXgCcu#5^)H^CAP0Zfp%LdA47V0Y5CGE37_*5Y<{FgE3YVcU^5Q{vxs;rX8kF6M0ob z44r81_9<$2KBkzDpUVj1DQIW;ERv-+>Vfxp7;_p-aUgTyS4}cR#ipz#kMe2804_`o zS$Lu7t##d2)qJ1VYANm2JqFaYhkuK!uO%}Xz?|of+()4fYp*v3z=p%~C`QL>^~8Qf z`ryw6Fh^pLUhj2XqsiRdgL0+lk%c#vu(6!AH$#skVG!2AHvoTcJ(m`DpQV;$Y0D{z z0(Ne}0^YtM4_%m)xh+owNHo9#V(a;ljjeIPAvdoHBLc5Sb`o&5PRdXZC?Yt>F>NrZ zA1#U|s!2-*N2==~_hC$I?1m#D!oM30YX2^%SM;K@;-D$K*m#81hMU6IORD z)XFQG3@x2H7ZvRvaMw4b<_4wv7u@op9z)@uZ`Ww5d-9s~AM#sli1&(~;~edG-*pFy z^G!HF-H=7(9w46Z^i4Th$!1$`}>FFPLZ_`1){8+na)n2|?eXI*w)Ak^GZ7 zrmM$;btRXAa9sOT-fhgSkL>mYS9prfx+vlm`CFK9@9eABO-=NN={>Xr`v+H z{LAYyVnfzK9t;8WMQoX1oTjEPUyf34#b_0FNRkulF$Vi8>ObCxy(9v#>l8sn#re6k z-rusczX)`F{=uV?lhXpJDd|anQqYmnP}Sy@6;%~fl+@&x7grZfep#$&;D{<^7isAy zt8F*w2}GlV2{Q&6a|$W54mx#_NH-K%cNl569D4boiaREndn&2BF1md(%0D#Ny*ui^ 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 literal 35224 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