From 3ca7eff38b355259fb89d090893aaaf5d09b698a Mon Sep 17 00:00:00 2001 From: "mula.liu" Date: Thu, 2 Apr 2026 20:27:06 +0800 Subject: [PATCH] v0.1.4-p4 --- backend/.env.example | 7 +- backend/api/image_router.py | 5 - backend/api/system_router.py | 1 - backend/schemas/platform.py | 15 - .../platform_runtime_settings_service.py | 18 +- frontend/public/nanobot-logo.png | Bin 151546 -> 0 bytes frontend/public/vite.svg | 1 - frontend/src/assets/react.svg | 1 - frontend/src/components/DrawerShell.css | 53 ++- .../src/components/lucent/LucentTooltip.tsx | 28 +- .../skill-market/SkillMarketShared.css | 38 ++- frontend/src/i18n/dashboard.en.ts | 6 + frontend/src/i18n/dashboard.zh-cn.ts | 6 + .../modules/dashboard/BotDashboardModule.css | 46 +-- .../modules/dashboard/BotDashboardModule.tsx | 12 +- .../dashboard/components/BotDashboardView.tsx | 2 +- .../DashboardChannelTopicModals.tsx | 4 +- .../components/DashboardChatPanel.css | 119 +++++++ .../components/DashboardChatPanel.tsx | 83 ++++- .../components/DashboardConfigModals.tsx | 318 +++++++++--------- .../components/DashboardManagementModals.css | 105 +++--- .../components/DashboardModalCardShell.tsx | 48 +++ .../components/DashboardPreviewModalShell.tsx | 53 +++ .../components/DashboardSkillsMcpModals.tsx | 53 ++- .../components/DashboardSupportModals.css | 11 + .../components/DashboardSupportModals.tsx | 119 +++---- .../dashboard/components/RuntimePanel.css | 5 +- .../dashboard/components/RuntimePanel.tsx | 67 ++-- .../components/SkillMarketInstallModal.tsx | 60 ++-- .../dashboard/components/WorkspaceOverlay.css | 6 + .../components/WorkspacePreviewModal.tsx | 77 ++--- .../dashboard/hooks/useBotDashboardModule.ts | 16 +- .../hooks/useDashboardChatComposer.ts | 175 +++++++++- .../hooks/useDashboardConversation.ts | 2 + .../dashboard/topic/TopicFeedPanel.tsx | 30 +- frontend/src/modules/dashboard/types.ts | 7 + .../platform/PlatformBotManagementPage.tsx | 1 - frontend/src/modules/platform/api/settings.ts | 17 + .../components/PlatformBotListSection.tsx | 58 ++-- .../components/PlatformDashboardModals.tsx | 106 ++---- .../components/PlatformManagementSection.tsx | 47 --- .../components/PlatformSettingsModal.tsx | 134 +++----- .../components/SkillMarketManagerModal.tsx | 192 ++++------- .../components/TemplateManagerModal.tsx | 55 +-- .../platform/hooks/usePlatformDashboard.ts | 15 +- frontend/src/modules/platform/types.ts | 5 - 46 files changed, 1236 insertions(+), 991 deletions(-) delete mode 100644 frontend/public/nanobot-logo.png delete mode 100644 frontend/public/vite.svg delete mode 100644 frontend/src/assets/react.svg create mode 100644 frontend/src/modules/dashboard/components/DashboardModalCardShell.tsx create mode 100644 frontend/src/modules/dashboard/components/DashboardPreviewModalShell.tsx delete mode 100644 frontend/src/modules/platform/components/PlatformManagementSection.tsx diff --git a/backend/.env.example b/backend/.env.example index 0ee3773..df0bda9 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -27,16 +27,11 @@ PANEL_ACCESS_PASSWORD= # The following platform-level items are now managed in sys_setting / 平台参数: # - page_size # - chat_pull_page_size +# - command_auto_unlock_seconds # - upload_max_mb # - allowed_attachment_extensions # - workspace_download_extensions # - speech_enabled -# - speech_max_audio_seconds -# - speech_default_language -# - speech_force_simplified -# - speech_audio_preprocess -# - speech_audio_filter -# - speech_initial_prompt # Local speech-to-text (Whisper via whisper.cpp model file) STT_MODEL=ggml-small-q8_0.bin diff --git a/backend/api/image_router.py b/backend/api/image_router.py index 7083a0a..333c5d4 100644 --- a/backend/api/image_router.py +++ b/backend/api/image_router.py @@ -45,11 +45,6 @@ def _reconcile_registered_images(session: Session) -> None: session.commit() -def reconcile_image_registry(session: Session) -> None: - """Backward-compatible alias for older callers after router refactor.""" - _reconcile_registered_images(session) - - @router.get("/api/images") def list_images(session: Session = Depends(get_session)): cached = cache.get_json(_cache_key_images()) diff --git a/backend/api/system_router.py b/backend/api/system_router.py index c2a8a0b..8791b27 100644 --- a/backend/api/system_router.py +++ b/backend/api/system_router.py @@ -52,7 +52,6 @@ def get_system_defaults(): "bot": { "system_timezone": _get_default_system_timezone(), }, - "loading_page": platform_settings.loading_page.model_dump(), "chat": { "pull_page_size": platform_settings.chat_pull_page_size, "page_size": platform_settings.page_size, diff --git a/backend/schemas/platform.py b/backend/schemas/platform.py index ed79fe2..3f43d8c 100644 --- a/backend/schemas/platform.py +++ b/backend/schemas/platform.py @@ -3,12 +3,6 @@ from typing import Any, Dict, List, Optional from pydantic import BaseModel, Field -class LoadingPageSettings(BaseModel): - title: str = "Dashboard Nanobot" - subtitle: str = "平台正在准备管理面板" - description: str = "请稍候,正在加载 Bot 平台数据。" - - class PlatformSettingsPayload(BaseModel): page_size: int = Field(default=10, ge=1, le=100) chat_pull_page_size: int = Field(default=60, ge=10, le=500) @@ -17,15 +11,6 @@ class PlatformSettingsPayload(BaseModel): allowed_attachment_extensions: List[str] = Field(default_factory=list) workspace_download_extensions: List[str] = Field(default_factory=list) speech_enabled: bool = True - speech_max_audio_seconds: int = Field(default=20, ge=5, le=600) - speech_default_language: str = Field(default="zh", min_length=1, max_length=16) - speech_force_simplified: bool = True - speech_audio_preprocess: bool = True - speech_audio_filter: str = Field(default="highpass=f=120,lowpass=f=7600,afftdn=nf=-20") - speech_initial_prompt: str = Field( - default="以下内容可能包含简体中文和英文术语。请优先输出简体中文,英文单词、缩写、品牌名和数字保持原文,不要翻译。" - ) - loading_page: LoadingPageSettings = Field(default_factory=LoadingPageSettings) class PlatformUsageItem(BaseModel): diff --git a/backend/services/platform_runtime_settings_service.py b/backend/services/platform_runtime_settings_service.py index 4def569..322a863 100644 --- a/backend/services/platform_runtime_settings_service.py +++ b/backend/services/platform_runtime_settings_service.py @@ -14,7 +14,7 @@ from core.settings import ( STT_MODEL, ) from models.platform import PlatformSetting -from schemas.platform import LoadingPageSettings, PlatformSettingsPayload +from schemas.platform import PlatformSettingsPayload from services.platform_settings_core import ( SETTING_KEYS, SYSTEM_SETTING_DEFINITIONS, @@ -36,13 +36,6 @@ def default_platform_settings() -> PlatformSettingsPayload: allowed_attachment_extensions=list(bootstrap["allowed_attachment_extensions"]), workspace_download_extensions=list(bootstrap["workspace_download_extensions"]), speech_enabled=bool(bootstrap["speech_enabled"]), - speech_max_audio_seconds=DEFAULT_STT_MAX_AUDIO_SECONDS, - speech_default_language=DEFAULT_STT_DEFAULT_LANGUAGE, - speech_force_simplified=DEFAULT_STT_FORCE_SIMPLIFIED, - speech_audio_preprocess=DEFAULT_STT_AUDIO_PREPROCESS, - speech_audio_filter=DEFAULT_STT_AUDIO_FILTER, - speech_initial_prompt=DEFAULT_STT_INITIAL_PROMPT, - loading_page=LoadingPageSettings(), ) @@ -67,14 +60,6 @@ def get_platform_settings(session: Session) -> PlatformSettingsPayload: data.get("workspace_download_extensions", merged["workspace_download_extensions"]) ) merged["speech_enabled"] = bool(data.get("speech_enabled", merged["speech_enabled"])) - loading_page = data.get("loading_page") - if isinstance(loading_page, dict): - current = dict(merged["loading_page"]) - for key in ("title", "subtitle", "description"): - value = str(loading_page.get(key) or "").strip() - if value: - current[key] = value - merged["loading_page"] = current return PlatformSettingsPayload.model_validate(merged) @@ -87,7 +72,6 @@ def save_platform_settings(session: Session, payload: PlatformSettingsPayload) - allowed_attachment_extensions=_normalize_extension_list(payload.allowed_attachment_extensions), workspace_download_extensions=_normalize_extension_list(payload.workspace_download_extensions), speech_enabled=bool(payload.speech_enabled), - loading_page=LoadingPageSettings.model_validate(payload.loading_page.model_dump()), ) payload_by_key = normalized.model_dump() for key in SETTING_KEYS: diff --git a/frontend/public/nanobot-logo.png b/frontend/public/nanobot-logo.png deleted file mode 100644 index 9493813e6ac231f219bb81cffc6fd7e09ed05607..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151546 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 +
{selectBotText}
)} diff --git a/frontend/src/modules/dashboard/components/DashboardChannelTopicModals.tsx b/frontend/src/modules/dashboard/components/DashboardChannelTopicModals.tsx index 3f4669b..a145c63 100644 --- a/frontend/src/modules/dashboard/components/DashboardChannelTopicModals.tsx +++ b/frontend/src/modules/dashboard/components/DashboardChannelTopicModals.tsx @@ -571,7 +571,7 @@ export function ChannelConfigModal({
{labels.channelAddHint} -
+
{labels.topicAddHint} -
+
+ +
+
+ ))} +
+ ) : null} {(quotedReply || pendingAttachments.length > 0) ? (
{quotedReply ? ( @@ -331,7 +390,7 @@ export function DashboardChatPanel({ multiple accept={allowedAttachmentExtensions.length > 0 ? allowedAttachmentExtensions.join(',') : undefined} onChange={onPickAttachments} - style={{ display: 'none' }} + className="ops-hidden-file-input" />
@@ -412,7 +471,7 @@ export function DashboardChatPanel({ onClick={() => void onJumpConversationToDate()} > {chatDateJumping ? : null} - + {isZh ? '跳转' : 'Jump'} @@ -488,13 +547,21 @@ export function DashboardChatPanel({
)} > -
-
{isZh ? '基础信息' : 'Basic Info'}
- - +
+
+
+
{isZh ? '基础信息' : 'Basic Info'}
+ + - - onEditFormChange({ name: e.target.value })} placeholder={labels.botNamePlaceholder} /> + + onEditFormChange({ name: e.target.value })} placeholder={labels.botNamePlaceholder} /> - - onEditFormChange({ access_password: e.target.value })} - placeholder={labels.accessPasswordPlaceholder} - toggleLabels={passwordToggleLabels} - /> + + onEditFormChange({ access_password: e.target.value })} + placeholder={labels.accessPasswordPlaceholder} + toggleLabels={passwordToggleLabels} + /> - - onEditFormChange({ image_tag: e.target.value })}> - {baseImageOptions.map((img) => ( - - ))} - + + onEditFormChange({ image_tag: e.target.value })}> + {baseImageOptions.map((img) => ( + + ))} + - - onEditFormChange({ system_timezone: e.target.value })} - > - {systemTimezoneOptions.map((option) => ( - - ))} - -
- {isZh ? '提示:系统时区保存后,在 Bot 重启后生效。' : 'Tip: timezone changes take effect after the bot restarts.'} + + onEditFormChange({ system_timezone: e.target.value })} + > + {systemTimezoneOptions.map((option) => ( + + ))} + +
+ {isZh ? '提示:系统时区保存后,在 Bot 重启后生效。' : 'Tip: timezone changes take effect after the bot restarts.'} +
+ +
+ {isZh ? '硬件资源' : 'Hardware Resources'} +
+ + onParamDraftChange({ cpu_cores: e.target.value })} + /> + + onParamDraftChange({ memory_mb: e.target.value })} + /> + + onParamDraftChange({ storage_gb: e.target.value })} + /> +
{isZh ? '提示:填写 0 表示不限制(保存后需手动重启 Bot 生效)。' : 'Tip: value 0 means unlimited (takes effect after manual bot restart).'}
+
- -
- {isZh ? '硬件资源' : 'Hardware Resources'} -
- - onParamDraftChange({ cpu_cores: e.target.value })} - /> - - onParamDraftChange({ memory_mb: e.target.value })} - /> - - onParamDraftChange({ storage_gb: e.target.value })} - /> -
{isZh ? '提示:填写 0 表示不限制(保存后需手动重启 Bot 生效)。' : 'Tip: value 0 means unlimited (takes effect after manual bot restart).'}
); @@ -327,6 +328,7 @@ export function ParamConfigModal({ title={labels.modelParams} subtitle={isZh ? '维护 Provider、模型、密钥和采样参数。' : 'Maintain the provider, model, key, and sampling parameters.'} size="standard" + bodyClassName="ops-form-drawer-body" closeLabel={labels.close} footer={(
@@ -335,76 +337,80 @@ export function ParamConfigModal({ ? labels.testing : (providerTestResult || (isZh ? '保存后模型参数会同步到当前 Bot。' : 'Saving syncs the latest model parameters to the current bot.'))}
-
+
)} > -
- - onProviderChange(e.target.value)}> - - {providerOptions.map((option) => ( - - ))} - +
+
+
+ + onProviderChange(e.target.value)}> + + {providerOptions.map((option) => ( + + ))} + - - onEditFormChange({ llm_model: e.target.value })} placeholder={labels.modelNamePlaceholder} /> + + onEditFormChange({ llm_model: e.target.value })} placeholder={labels.modelNamePlaceholder} /> - - onEditFormChange({ api_key: e.target.value })} - placeholder={labels.newApiKeyPlaceholder} - toggleLabels={passwordToggleLabels} - /> + + onEditFormChange({ api_key: e.target.value })} + placeholder={labels.newApiKeyPlaceholder} + toggleLabels={passwordToggleLabels} + /> - - onEditFormChange({ api_base: e.target.value })} placeholder="API Base URL" /> + + onEditFormChange({ api_base: e.target.value })} placeholder="API Base URL" /> - - {providerTestResult ?
{providerTestResult}
: null} - -
- - onEditFormChange({ temperature: clampTemperature(Number(e.target.value)) })} /> -
-
- - onEditFormChange({ top_p: Number(e.target.value) })} /> -
- - onParamDraftChange({ max_tokens: e.target.value })} - /> -
- {[4096, 8192, 16384, 32768].map((value) => ( - - ))} + {providerTestResult ?
{providerTestResult}
: null} + +
+ + onEditFormChange({ temperature: clampTemperature(Number(e.target.value)) })} /> +
+
+ + onEditFormChange({ top_p: Number(e.target.value) })} /> +
+ + onParamDraftChange({ max_tokens: e.target.value })} + /> +
+ {[4096, 8192, 16384, 32768].map((value) => ( + + ))} +
+
diff --git a/frontend/src/modules/dashboard/components/DashboardManagementModals.css b/frontend/src/modules/dashboard/components/DashboardManagementModals.css index 19f3d2c..0221a6d 100644 --- a/frontend/src/modules/dashboard/components/DashboardManagementModals.css +++ b/frontend/src/modules/dashboard/components/DashboardManagementModals.css @@ -1,13 +1,46 @@ -.ops-skills-list-scroll { - max-height: min(56vh, 520px); +.ops-form-drawer-body { + display: flex; + flex-direction: column; + min-height: 0; + overflow: hidden; +} + +.ops-form-modal { + flex: 1 1 auto; + min-height: 0; + display: flex; + flex-direction: column; + gap: 14px; +} + +.ops-form-scroll { + flex: 1 1 auto; + min-height: 0; overflow: auto; padding-right: 4px; } -.ops-modal-scrollable { - max-height: min(92vh, 860px); +.ops-skills-drawer-body { + display: flex; + flex-direction: column; + min-height: 0; + overflow: hidden; +} + +.ops-skills-modal { + flex: 1 1 auto; + min-height: 0; + display: flex; + flex-direction: column; + gap: 14px; +} + +.ops-skills-list-scroll { + flex: 1 1 auto; + min-height: 0; + max-height: none; overflow: auto; - overscroll-behavior: contain; + padding-right: 4px; } .ops-config-modal { @@ -156,49 +189,17 @@ flex-wrap: wrap; } -.ops-config-weixin-login-hint, -.ops-config-weixin-login-note { +.ops-config-weixin-login-hint { color: var(--muted); font-size: 12px; line-height: 1.5; } -.ops-config-weixin-login-status { - color: var(--text); - font-size: 13px; - line-height: 1.5; -} - .ops-config-weixin-login-body { display: grid; gap: 10px; } -.ops-config-weixin-qr-frame { - width: min(100%, 240px); - aspect-ratio: 1; - border-radius: 14px; - padding: 12px; - background: rgba(255, 255, 255, 0.96); - border: 1px solid color-mix(in oklab, var(--line) 72%, white 28%); -} - -.ops-config-weixin-qr { - width: 100%; - height: 100%; - object-fit: contain; - display: block; - border-radius: 10px; - background: #fff; -} - -.ops-config-weixin-login-url-label { - color: var(--muted); - font-size: 11px; - letter-spacing: 0.04em; - text-transform: uppercase; -} - .ops-config-weixin-login-url { padding: 10px 12px; border-radius: 10px; @@ -236,15 +237,6 @@ gap: 12px; } -.ops-skill-add-bar { - display: flex; - align-items: center; - justify-content: space-between; - gap: 16px; - padding-top: 10px; - border-top: 1px solid color-mix(in oklab, var(--line) 82%, transparent); -} - .ops-skill-add-hint { flex: 1 1 auto; min-width: 0; @@ -262,6 +254,20 @@ flex: 0 0 auto; } +.ops-inline-actions { + display: inline-flex; + align-items: center; + gap: 8px; +} + +.ops-inline-actions-wrap { + flex-wrap: wrap; +} + +.ops-inline-actions-end { + justify-content: flex-end; +} + .ops-topic-create-menu { position: absolute; right: 0; @@ -313,11 +319,6 @@ max-width: 100%; } - .ops-skill-add-bar { - flex-direction: column; - align-items: stretch; - } - .ops-skill-create-trigger { width: 100%; justify-content: center; diff --git a/frontend/src/modules/dashboard/components/DashboardModalCardShell.tsx b/frontend/src/modules/dashboard/components/DashboardModalCardShell.tsx new file mode 100644 index 0000000..4f45639 --- /dev/null +++ b/frontend/src/modules/dashboard/components/DashboardModalCardShell.tsx @@ -0,0 +1,48 @@ +import type { ReactNode } from 'react'; +import { X } from 'lucide-react'; + +import { LucentIconButton } from '../../../components/lucent/LucentIconButton'; + +interface DashboardModalCardShellProps { + cardClassName?: string; + children: ReactNode; + closeLabel: string; + headerActions?: ReactNode; + onClose: () => void; + subtitle?: ReactNode; + title: ReactNode; +} + +function joinClassNames(...values: Array) { + return values.filter(Boolean).join(' '); +} + +export function DashboardModalCardShell({ + cardClassName, + children, + closeLabel, + headerActions, + onClose, + subtitle, + title, +}: DashboardModalCardShellProps) { + return ( +
+
event.stopPropagation()}> +
+
+

{title}

+ {subtitle ? {subtitle} : null} +
+
+ {headerActions} + + + +
+
+ {children} +
+
+ ); +} diff --git a/frontend/src/modules/dashboard/components/DashboardPreviewModalShell.tsx b/frontend/src/modules/dashboard/components/DashboardPreviewModalShell.tsx new file mode 100644 index 0000000..b0c567e --- /dev/null +++ b/frontend/src/modules/dashboard/components/DashboardPreviewModalShell.tsx @@ -0,0 +1,53 @@ +import type { ReactNode } from 'react'; +import { X } from 'lucide-react'; + +import { LucentIconButton } from '../../../components/lucent/LucentIconButton'; + +interface DashboardPreviewModalShellProps { + cardClassName?: string; + children: ReactNode; + closeLabel: string; + headerActions?: ReactNode; + onClose: () => void; + subtitle?: ReactNode; + title: ReactNode; +} + +function joinClassNames(...values: Array) { + return values.filter(Boolean).join(' '); +} + +export function DashboardPreviewModalShell({ + cardClassName, + children, + closeLabel, + headerActions, + onClose, + subtitle, + title, +}: DashboardPreviewModalShellProps) { + return ( +
+
event.stopPropagation()}> +
+
+

{title}

+ {subtitle ? {subtitle} : null} +
+
+ {headerActions} + + + +
+
+ {children} +
+
+ ); +} diff --git a/frontend/src/modules/dashboard/components/DashboardSkillsMcpModals.tsx b/frontend/src/modules/dashboard/components/DashboardSkillsMcpModals.tsx index b5d07e6..7ec4765 100644 --- a/frontend/src/modules/dashboard/components/DashboardSkillsMcpModals.tsx +++ b/frontend/src/modules/dashboard/components/DashboardSkillsMcpModals.tsx @@ -59,6 +59,7 @@ export function SkillsModal({ title={labels.skillsPanel} subtitle={isZh ? '查看当前 Bot 已安装的技能。' : 'View the skills already installed for this bot.'} size="standard" + bodyClassName="ops-skills-drawer-body" closeLabel={labels.close} headerActions={( void onRefreshSkills()} tooltip={isZh ? '刷新已安装技能' : 'Refresh installed skills'} aria-label={isZh ? '刷新已安装技能' : 'Refresh installed skills'}> @@ -101,36 +102,34 @@ export function SkillsModal({
)} > -
-
-
-
{isZh ? '已安装技能' : 'Installed Skills'}
-
- {isZh ? `${botSkills.length} 个已安装` : `${botSkills.length} installed`} -
+
+
+
{isZh ? '已安装技能' : 'Installed Skills'}
+
+ {isZh ? `${botSkills.length} 个已安装` : `${botSkills.length} installed`}
+
-
- {botSkills.length === 0 ? ( -
{labels.skillsEmpty}
- ) : ( - botSkills.map((skill) => ( -
-
-
- {skill.name || skill.id} -
{skill.path}
-
{String(skill.type || '').toUpperCase()}
-
{skill.description || '-'}
-
- void onRemoveSkill(skill)} tooltip={labels.removeSkill} aria-label={labels.removeSkill}> - - +
+ {botSkills.length === 0 ? ( +
{labels.skillsEmpty}
+ ) : ( + botSkills.map((skill) => ( +
+
+
+ {skill.name || skill.id} +
{skill.path}
+
{String(skill.type || '').toUpperCase()}
+
{skill.description || '-'}
+ void onRemoveSkill(skill)} tooltip={labels.removeSkill} aria-label={labels.removeSkill}> + +
- )) - )} -
+
+ )) + )}
@@ -341,7 +340,7 @@ export function McpConfigModal({
{labels.mcpHint} -
+
{labels.envParamsHint} -
+
+ ); } @@ -444,24 +442,27 @@ export function TemplateManagerModal({ }: TemplateManagerModalProps) { if (!open) return null; + const activeTemplateCount = templateTab === 'agent' ? templateAgentCount : templateTopicCount; + const activeTemplateLabel = templateTab === 'agent' ? labels.templateTabAgent : labels.templateTabTopic; + const activeTemplateText = templateTab === 'agent' ? templateAgentText : templateTopicText; + const activeTemplatePlaceholder = templateTab === 'agent' ? '{"agents_md":"..."}' : '{"presets":[...]}'; + const handleTemplateTextChange = templateTab === 'agent' ? onTemplateAgentTextChange : onTemplateTopicTextChange; + return (
- {templateTab === 'agent' - ? `${labels.templateTabAgent} (${templateAgentCount})` - : `${labels.templateTabTopic} (${templateTopicCount})`} + {`${activeTemplateLabel} (${activeTemplateCount})`}
-
+
)} > -
- +
-
- {templateTab === 'agent' ? ( +
+

Mdo5qk; z=n);I8j4UF9XfE{7Y^>d_nUM3<~Q%XFYZTIj`^`}#Vs5I}Eq6%Fwn8#r0pV2xW82x5 zR)OlYJ?|eNRh*tV}P8HRSlmeFP>nzcANS~dydSe<&o!e zYrjfNS8EMBhu%AnZuh=G@O|^U+xE?Go0Le_CDcKpTv&2}jPHcuYA>{(<=?>-t!jkX z!KwjD#;V)=?Y4dU?d5no4mv3lI@buQ4I9l9H(=fg0q~S^Ry)dAqBJ=Zxovy-_WJtU ztM{IW$tGrx^ROQOuLm0rT;!7N|2r=|jS8&V8|1^aV0s4R#|Jc6@5;*JJ(_u{39a8u zhSPCSj0oHA@2|Jp{r32Xf;@ZFOAD%+>)x*hY2RQCS;C2!nVp0ER*?rfWFThhNXEFi z`r5EeN*|sAVv+@&oHj5u(Tz!ZGu22ys7f{fFl=`qCg#e}b4)4Zlu}Am>ZcPC6SJ}s zmH#xpP*r0=0q9UFXO9~ibw^dIRw1;|Vzx(7=$z%P=q-9e~l9#A16jCq=UqNI{G7C^$rP;GFjk z(R;snw-ruK~Y*P$r3Vng}*aj8Dlh5xf?#V|LEHe!IQg_ib|m?6_&C&6#gZ3|0G` zAV&o~if`F*sta{wOb@wN!hu_5Q9$Rxfdg=UL&}bJpYOz(DN{~NIp>sXfJ`RJOhiD< zr%KQd9IB;~6z(>C5|^6d&Q^Ej}K%lsud5C4+sw{JUaMKK1gs zpI?#>S)pgn92z&LYO5u6PIv_fozhJWQ^pqQi9}&=D?-HGIz<3fA`jcKB@UefxA|?~ zw|(38eY@@3?)|>Gg2cTmrHC1Tn1CTGi7Y4VHl+(%uNuN)-D|bfEzh4W)Qty+u;uoH@j>JWF*UGX zVSfpNK<~WYTX=5<&O}*Ur!l3NQ?bktF*9dkV(2wKhymRdn5he8(!)RrC2kd~D=X>8 zzcWxc&-b_U@$r)4#)PJB^e_(>Btj9404=fT>z9Zn2F{7jgO3kLCuG8sF7MjJR?edP z*MN2TmqoU*uySFur8GDf3pbR+8;8z2w>j^9`LEv!Dwog2L*yO$q70T-Q1QBGi%L65 zPpex++iKob21CK6t*E(VM&GC7A% zhq7sTA=rEpFoQ3u$K8}Wi8y8Qn|t}~{`+5EU%%b9+lC&PvQ6kkH`%#xSrB#j;{s?K zDtsyHt-baFH(vE&eksnlbwE>S`z_~p*5AgnAD+GYGm!&}2qN?LDY;^l3B)xS?RMW@ zzujKG-8fT0EwyTuErF$u3Q`RUTr^avS#XBa7pEdKpu_FHef!hv>+9Wn*Bni(PME}c z0GE;R!nYk-V|iVhm1QsHkhz?YgcA)E)a3#s`*yAl=URodSYo9Vqi19Xgd4e(H>N#j zqRa)XQzl9|=S-QIh;rs!qbo?pP@>dujFJ#zyNrZ%nR%+8xjRT189V@;kMr&Od3;pQ zwgBN_#XmVk$zkhoGR;r?vl&hfvN&*1q z*gM#~E3VCL^Sj?}+rIm4-!?I@*pmaH%s1cPJMaHCBRey_($ZViQ<+&A z8R71xss#222@s^x%p+S?CDX&*OqI$51U{Vf^JzNY9nSaj%eSyzC`Lkb+`hNe4aO7= z$7G4zV9VVCa;7dK8mH<0&E4I@X*>+h>r#Ns5{m2JhSBg)?rx47y*#gx7#vGMkd^^9e;BM@G4{;UNn1f624LqPjD9|j$MZZK25?A38I|Zv zvPPEomnlc-Aft&f(Y~oYcUL7WlV?LVx)Ttboa~+t7&E1nQWP_yHh_Qu5qw|(z(F`Q zN2VC#N=w{mqm1F#WRw9&xl0206bcw(D$zic%O?t6G`&gVNOk@kBW^G2^OyDVyh*51 zS@)s`x0Bfrj}>>J`S|KpAG?s!{^_#N@(giHAuh5GvLQ8e(<~U6q%tKS!TruVj}8;W zcHX-oxDZmHit`Qv`oTG$0$4mcmnw*IX`7`EN;xJIfa|RxsJa2+h80?Jzcz__8{afD z)1yHw_^LRK;Z{OV$;kJHRE?Xo9aLyFZl1S*TgS=$G z6;5T(5@G;gB4VIn^5?tx{_ZeNDQJ+innu~@CT!M13M0j8gMx(+I_stZvt5nUmF%U= z{6(QuWf>)2&}z22id^+WQ*DtwIC3r!lIN6tn&RAJvcE^7NRc=ai{+h(05Z2%l}_z7 zJ8^8M0uazU4{_aIp4Q6?Z7ZZBC>!0)#-!J#j{SxB-A>V3Edv0e7~|z-ySxBJCqz^L zkI7$4M92s=c9#cMIVNzzutgZFUy58yG6(IA-s8e7dKj#`0{mO%xBW+k+4P;PTP;mUbt?G zOyr!*gwDI^Fy6npdw6?yx;yy6N5S|_0~I^(VAR&ZfK3qo-ZlP8#KnL9`W=xd01f)C zuU3ZLyy4Y}@4OzbXfOFsF5SC^;voYpa_FWhym>sYD?LA7lIeh$5It9c5m&XL?&l)9 z1b!iVkB8&<@OZkrpNGLo&x?Yd7*6sin)$%HLTmq)n32DhR!8Wg_()swq7oAc|nRURVPSVjXE5yVN9w8 zVu~zuiGyd8xA!SJC7Z&%B>T9OyP1%9c72qini&WnWeteX6-vySO$80KAF3sEE{i3v zsMFlJ-L&0)Y$c(rs0~L~Jd&L2VRWavId1g)vMevl^YbMxl*$7*d-`_C0b(`hHNCJG zF%vOyblx4#)0_8?Z$Cbq&WA7tc1$rLnqGK&fka)lB|P28n!WX9-|F{r!0({v+eZ+Y z%MQt$JKG@q{{64C*q8IyuUeyPAH6oy0)#VO0wzF68tnbU@p4%Z;M;GPZP|zk9O|jL zJ#60gQ!NO(!}CStM?as&hsWc?!{K-wgHP0&?JWiC<`#CPl&?*Ru!}xg0ARZfv6+`j zFG{Be6j+DG=zMJF7!lvpW$HaZF|^ z8wb7X2(v>Z+T!xEE*FX`(}o;(36=f6n+)9L|T~@$LE3kMAGf-3_Csl<1esdKHz{4xk=n z>eqw2}Zt`9LUxZ(G&7$X9TYehi$lb7n@d{14CuT zB8d##z_{vW#Cnx7D=_G! zyO*F#cx=fQi3k%*`e zdd9_C+v9tU14_VB&WTlfRhq0EJD{s*tu49q7HeKkR?k^&zFiVSuxzmE5(ow~4qAth ze`G5IIA-P%D6)?s#N<)sxJBA%+qRgHd*p0(Ck7(gL{etmhA6HJUDnGpEi11Jj}cr+ zK&bWJ@0m{wJt}SSL>Z-tV~rG-NKqtIA3_-$Cf(sslcd1NkaENy0 zkr}pp6pDtMK%qJPQN_F3{l}85D}~L>2%20ueJZp3W?cFl8z!dxv}mH-s;89Y2pS31 zER2A;RVo#r7;cfIIWsVNHy&-c%-v6gT2cLm^YlJH-?wxlv?} zM3)%X%Ox()yk0m)7l0kwe2-dJ>wd0bQQbK7vb$QTW*n}}95-4Jx9Jf4e4K-urXkn5 z5>t4JPjNn=$K==q=Ojv&OSYzkm3Db+8Ylv{;vbf>b}{C8Y0F?(P6{&Ww(6Z&zkWBH z(D{O)6zqkT#FTa8?veeAQuly>9g=f?9KE}r5bp=?4yVJ@x0mN{FWa(h>$asb(2^I- zC2lzjD{$yMj>9lc<2X+D4~K_`eOi7G83iqXV@a~ND020u>WFpuZE!}&ZN zPvbaw=hT;IDY{ITsn^X`+3n@^%?=84OShCb=GD*#|Q1|}mKF;JLrbcfO5G=*slKKKwkdY@0_7Lzzg(G@N@+>~iU z{X(blMs01esc6^GC6@3^GWLW4#TDkCe`k91yH>kj!DVou4o!{E;M z^E3_j52vqRpMU%E_1m}Sr>`%U%eti8=JWPEH7~mLx3xKT?yl&h;1;g-=(RrX7W}&| zl@>c!R{O?lQ`O9AIZQU`W6F$tfcZFt;qGvlpP!fKr_1y6%ggh!tlK68!=<IdMJh zQ|Fxzewv5FVLTkC<6$}+#$j+_KtQ`)yFEvt9kw6uY$hgmug1yJ8EzFGv9cJ2ZhxA! ze5!GnTs6?0Q!A7V)$3LgOj8hgnzkg41cp`=p`^#DU_Ckn?~xrdGY?~8dj!Nlkzla`HuBXD#cro%KH{5ZH_@WT+C zciy4q$`)mai}8qo0ZE~utdMFjaDC6@NklBOs{7Ig3fXO8ihs6-fg3|sT5oPNoLV!% z`T>1b;@kLJwl69}sEQ0Ez0EP8bHn7uF&qxVbPR_>`1W*odb(U*wslQ`Q%n*%CF#!2 z4=#*;9K+!_p3cY9`FJ>t!x+#p14W9!rod69rgnyLLL|*2@~VMU;Fp@jc9t>Wz9#Xl$B>!(o`GVVXi1yeI^*B=PiksZ4O`T;4!vsl9We z`EH_GolZAdUqvn!RP&+2{#(n~ez!+5g{Rxa$=xYVy{ZZAKW1}p37awY+H}lyj0|Il z(>zWC(iXQ>a&CXuCMlgyap=3}s=spQP|7(05Kv^=9KFS;l@k=pZWEbe&i=OOuF+P@iOH|Vbn5xIW#iO}-9EtW#*|knF1ut; zW1mOP2kC0gY0f1`Ge$01bOxMo41+t}pW>DRrzoa!{xQW&af$^+=l$S(K$n8}2j>Ux z9Wq8i<(8Y5{z{NfULBp4>dvmh-CQ;wLwQQfQW;ho z3B6+#l{nvhwz~vBr^l&P9n8_;BGYfsl&U_g09BVl147C^LqG@P=t7tdhcQNu1Qdxk zqDZ10=T%Qfgk$3AE}evk-X&BOh;L`Y4G?XQ=)TR2m3I!CB^oRov zhv59=5tGF|-tJ-Nsx45rqg*VyN(uQ6ftWVf7NFI6bdw))Fb_*fHmZCeT>n#$Y0i{s zlKbQ-HuTD-5B3(Sm82q_OIVg_O^VHT);E(^St9t#`x^09@_W?IRyLb*K|6yDmV*{f zp!I5sdx_Dx6rvKDlC#W>7>3EALw3nzMH^>sPLu?K^XSm|;J_n#1O!56rc|9mI;>g( zwv4sJ{jj9pa~ZI~&8LN@ z-*{Ah+wnUrVA5b%$R%h97*oEe#}HB=umc7rB4UVIUjrEOX}SQAs=zpxJI0(yMouI| zH1BHR34(?Kr0teHwpUGeUGmEEz$pvgR}qj50%K*xWW0AJ`MW(P$jmpI!!(*)z$>ee z(?3b6x|eaA?$uW7YTpVeQ5cd2)H#P9!{9tR09s;vVO|+F%tt-9W#z-k8lnIIAOJ~3 zK~%0@#sYQwkZ1$b7?>#|1B$$@v@XOEn22J5AC^TIGDwY}XulaIidnz!M{0BFTe+cnMG+?UeR7|PUKeY>G|AndGc+(mhEORDReY-H z5TYJkmLp(*Q^Z)tNgmL#2L$%jI2{2>6id#=Qd(z~r=?3foh;{{b`RsMM3m|o=B8$s zba-YZ!VSx7k{kCxxCim-HE2g-uvt0PFw5X%r_+`@F`1dduE>q+(f}$qamCd26pDl+ zbP3demmORhi)9rB)Y0rFNgvPg&K#MM&^crVDj3PLiJ`%gWye5_lwt;0+%i?fn4&Aj zQm;d_OthPCH(L^7Un0S;IQ=B5SpO6?N46rDimQfX>Wm{UoS?K;^oznsICJ8T57H1e z71~2XZJI$TeNnGcmT(5fTUl7MX^uny+htpxx8;Rs1&H!(QNuLYx|t|5nR$YKPd)U^ zV3}#-^+MZ)ctwa3qI3-{Da8r-YWbXMPt*Y}4T3Q#0ml8=eBBh+FTd@9GxQLI*!K+z zsThZ4TA46d0d0@pnWy$`;_g-`a$N2Z!Nj7xu_mx-9viBR(GH}8yCia`?!Nx>`f;4Q zZP~KTYb|IdcJDSj{z`+{y?F;sdtQy(Af4rh@k?HR=zDxC-B($=2Cfn$ECH>Tf5y{S$p_(X1)nH3Z80(CpC9}>(L*t9qa=r`*F~((G zp4Q6~#|1b7Iskutd&#)D&WvRK?!+R@oCI?W{}#7}whQnINZ=^h+pJ8gO1BhZwt?mv z>AVXRwBB3| zQpf$bWt3Gp^wuU6yv9|{BfC#3q@{7RUBKCV z*26nh??9u|8;|^rrn|8*oeO)^)poj&PX#Fp$dc~W=#1+lk1Hoe1K_xhkGR&?{_p+k z#!l}1g;&1SwqAeX>-{MVt{k+fTmQ-ns*kT@Zo9+V5naFi)wZjZ?|xDIZ)Uf*#|i60 z`>@jdB)1<_uWBF+Ub*weK(1bbd~Q#d2FU3BwOOFjv zuWgZkc6O^cD*IjMj9!Xyd5Oz~;sz`wx;o-%Hx;6pE0Oe~T&`Uy){Tkc8n+kPE=cUa z0g#%rKy3nYWL%l&Hfn@>MoZ9!WCSt?rWXcHsQ_22nsI7!r7|@$apleWTm4kCbFXZQ zc1^42R59tWfqD%pmMxpm7H_kXzXd-~lu*$%Bt1|WTXpJEJ=eJF%@y`j#~TBe_tjcK ze+CgWdDb%cjts5GcWZYWb+>y7gUD-O<^<|rn~=iJi)5I5Lx9`<*DYcFg>ce68@&N~ zvHsD#(LhV(ce{|SwxM2AHzxk~ar3LJyhA5es5E=U@?XXDmB!w*Ud12uUd}DXZPup> zx@?=;+ZIqc5UK-LMO9r)rnJp*<8|5A3&j;Ef|J5$T4AS|o;}KyZha?0&!;E@5b1g4`;e^S7Q0*2ooU%R3-ziENQtxJIELmcelEa5|Ga@H_Y$hT32RxzYRwSOJ-4Q^ zUGp{WH%ecTDRmVC0SVG|gf2OkjotRUl=DIL+41#l(VL3>*DXk@AH9OCSU88Sp=)l! za%s5>gHLUu(wcf3ruWoB-jP42WQrnvW)?>7Pfn6!So zX7(wIbxfGqt}(3z(j)pNU@AA8GW}}_Yx%HZbPW{(Ykc8C)P}&zAc~frUy>s!(^oMRz+xP(dTXSpT`Z(oj9hz#GLSZWr2?94L^_ua;7i#Pu4;j?#AO zdRy1L-In^ZYsWZq><`?L*=u>TQn}sw?drPlxa5DwEQsq^0D)o&$SC8Jp9InJliycbxDpo3S zuW@1DX+pAdsu;wwU^3(4R%wzmBht}XOdD+rtruPw947GT;58EX>NGM)N~hFfTY}Ml zPqjq^fXKX2T()(I+X4^;jqB0TQUy*0EVBhI`yvdyk1J`AR^ovqg$_*w57)+no3XEU z>{dEwdR73J*#qZ8*vjmyS)C1`nNZ0qK(rd`t*PbezOtoS%wObnmpwE*y_v>NClL0H z4WS|S*ANuzC@wXGuFN+dRcD@QUsR>hB#vizXktN4 z|2m+f_PlaI4z+{c#$c33?7B4Ezp5o*7>aIi>!$K_9#fV$Q zG3>foVO!nRp=HZ-_jsl<9oup54L{XCP>Sn0{0vzT(8h7$^}_3ghYdX?CTP7OxqyI73YVoWl+YUT zu3agnH5EdqxYD*Tt!T|4EGGQEkyEC0Pe*!Y2FS)#P}qwyQ-)g3O~jn&P)%6v4M9uu zdBTyo5_hsF1x2EdmJ+EfHHx?_?rv3dj#43Bz*sW@0sx;2G?=d*2!uWfS z_J2M=rJUj23}8Q`>alBpwe2#i5xdg>Uq>3Hohx6~L%!B!GzIE*cj48C_sukPeEas^ z7YI8*B42U!J3`-Xd3(Zl-}PCWdEd?FZ&E`eclsu_8$@Y&izFl2r`Q;U%zfqVoy9ai znkP9ISLyEKR;nW~a>Tg8`oilA$8GNgOs&=MG5@qT|E>crQq8E9X<=G`HiT65-2qdI zwMUJr0}UrIf~3)jK)0C$W@52|mMUy}xWP3}lF^ll&nVwjjH=8}62!X{fYS9EW14hb z=9bK^Cve;7KvRdUPkC3EiH@=YFS=1|VpCyp`~I+us{INZBDRmqyR6LHS68ZGOC!%q zcdw1F0H;obYWar^1giyivwq)s<$6Iydj4LY{eE)lOXw(Tu~;eb?X70t*NTe%FNVT> zJb8byyZy<(CA7ao^ZOn)^xiV3mY+$BM#;O*(XT}Y+XpMBS()nVepySY)~(#ev2=&T z&=l`2+d;>~g`h#wPR-%$h8QcTY@-P>vllRd4$uK36T}tP7g#Sqn;5wA;jQVUvO0|j zx&-x|iAA{y<_NSxTrh6P@vanhHbBXc8*)*enAL!8 z>>4eh=B1P9$sTM%1V(lh#A^iy3a`ioXOOYA^Om_a3|~AiT=Q(H-~ zjis}xR8dF7wk!AgK)T`TSLMDHOUhsixN8b5V7nZwc!Xo5gT+%l_@i zbaFIb=zA)9cP=9cDp_F2Re43#>qok~;d_%h;HS=PLS=hayP`l>O3bw;s z_{+rGqA%GHAYr#?qM)q?w4YQ9kHc!bzXdzrZI((xpD(SF}PH!8e(D4YErV& zy8_SU22^oXZR{(V@_KI-GOHhfog6#TEBc5`ztUzsuo4Mq8F|B_xbs`x(QXg8#e3Cb z*u2wTD1ENSziW-ru!S7FT(gv342fcS>m<9%iF(5D7KSO6^=538n-=6>R>zAK?UjOm;)940R9Yyg< zDv?!14J$t>7YVNv*`zyGzAmE#X$u|EY-mZ=G`|Cz^Z5X@I<-ht)Xo=xE-W4pz@ZD? z58j91yepxM8WF4AF;J=-KHT;i8zyP*w>j(0mZ)HNyZ^3iAk&ZC6V>$Vgm#RyQt=p} zC>_@z*tJiq{dbi|8i^;*ar^xKEryYoyR* z_vLsPVDl7RYaK9l34l@?w2*3%UReNDRVvKhYUrK;n1pL}T)xGOZiQn*o~apO=&ChY zV-HI4SOP$gVI0Q8IGqlY8-;5qZ>UJ>>ScJTRHNB@;0+A4ytg9{Ucrg|&_VqMcUz*; z-@fm9wVrf)HQdVft`~u_fBJUU>a7ShG+-5s-Iz~n9c~(}p=AEi_}6a0_gABu`j?F? zG>cRuLsJ&6?W66KrKA15JvQI6wk~(xWjtU#<+goOW4b#Z8m|Tznb&o@ysR%zm*r(m z$6Jfl$_AncSCI^uf=e1SV24;Ir-|MTdrnh^spCvHh$zd>LjY!EW$0Iw5eB6`;DXVC z0m-=~#+8F#-E{uP;oH*?w;*UQL#M`jR!~d3OuvVrGt;)lr*F$|U!K4G^76}1VY!Py z9;iN{B>P6I3Brbp$k_A|R^zK+9By|ROFWdnqPO3LFT50ju4tnx>Mn6 zK@U<`We3sAPgzCMC+sMy{lojwWK?g^YONAr^|*-N#y;ZAHxLYioxN!Ov-(v1=mg4h$V z3XDV~z@lqHu@i`+7UaY(FlGM}K|4TZAm%Mn zj6@9cVWv~|q$)F4Gen`6UF2D-FYl+ey199TrN5|S&~8GdEGVa~g5+vOSm)RqQ6$32 zO2`VETm!MyWoW75+I=o)-&8+miMQ+wVbQzWZPygHN&lN*%4&}_%YjBs)5tPuui5U| z;noCPS_Qe~$2-~AhlOm%U5~WbaeZy^JT*dXHv~&RrPgc- zFv``>D-E>rB^ujEO}x%I<`~zwUe zYD~Kj%>sxgLT44r?}|LyC?xftNk8olBL>HS5s-*q*5$X~mTxa{ONOSBY6(WxcD9lE zFkHQoC% zs}`KL9Nsk0Zm-s`+at<4gjsHBPMR?d)K_EUv2VLV60Lin^L_OK1_mb~Dpz2mJj#1D zK{x+CYNqPrZu+nE>Q+T`d06SB*IqfoQ(`IljqLus_S!PxSMGSNzy14N;o9GMVMqIe zrtiG_L@w7nhApzGo6x`NDoW`CP{F~9o3}L{Ya6)A+SSr5{k(|W6K!;9U`TZ#{iku_35|E%QI~o z69JMGdNG^%we<|x2H$lyOa6?RD8_A}ZFS6p_raqF=b0?9GfdPX;xf|Aj8r$txV#6x z8sve#92Kn=Cd6dJ+9hsTX{ydyWp?6JbRskJQc34P4$4Ca-cN_=bbp%X$$MAk1ByB# zESN1p7=6ujqg@*F?+zgB0~fiPR~wE}UY)k`?K2(a-zHGs&Q=$n^(d-oVV@gL8WPq# zR&B3Z*VtXxzU;Ab&GMC40nXVF_0TIWdW{8_I5CjFRc9(6b*>8MqMWi^i#4-ROT=Hn zM%}UXcqH!cms6dwo#?VP<*zIwYg(}PsIgKQlDw{XgY1)Hy+J9V(JeYI1Gbb(M9$%1 z9x*a494|4`xrx4N%DW`K?9y>w`{_!}Dxfw2JqShP!6F%SL+>5!9;d_I;c%LVDX6K&K2{B&?p4#LYuw{i!P~yX8UO^5*>x({OWtv$QtT`HI_dFXOsNHO- z(SoxUA6ZwT@&mARj_pjN?s(P&g_bo7DCm5A?dprjTkdLZ{acNo+<^-HLhuEPKN4B$ znN;y!_766_GX31+8qUX|W`yphd889Tq|3{)ty?j|YY$8xMXczG<%TuBGg)o8J#4hL z;2RF0oL6FqOjx{-Et(bNs_2T&blFZ=FdVZbk$Q? zY7b|nu;*m0469f@WxG(VLbW(%uh#>(%69r=MvcPV<*sOUqhEu01oLJaprMX2d<>uY-+>f<*fFyq`Q`y%^^x1qFJQfZctLL zWLQ!QBt8Wz0}tpyQz_%k0eC=S*w(nMktxbX^vyng)jIyW!WNN;DQ+A$Qw5q81m{Gu z-8;XRM2)W|57HLF|;pkey_s08{Id*MaotZ0)}Ba&d2-H@$N7jMjRX? zGLzMvI)mu_p`Pk8!g_`zz~E+q=kDwBX|;?cjLR&%DQ9e07FH+b47<2<0)#mVV z3(qvH6OrW>L zRLZgijTUbw%J4YMAyt-T;N@kBYvf4619gnnK?ho-6=8?i?a)z}YR=W^%a@)8WsZ+- zP3^^;p^4=P;3Oud!dZn-5doce0BPg6MTnFlb+Y}2>%?HYMmNG1trk{q9&-_Mq!Kt- zEkhw^gR$$>n=UG=rn{goTZ@LdfJ-d@V1uKYL(Sw2*2>724R>`XSR#HZb)VF-qCN8gs<|w7BL#f0r|i=4#jZn5?-4-EgPT$*Cl(l`b$yj(gFX#dd)qw<|?L|ep!Kqc2 zfm1Ob(KXeug{DTPLj;$NleIiA5JwHP#=KRZg;Eqb0%k*Nl!H7SC47{^m>DJXqe%dl zH!FKbkrKP5#8e1EPA1PPjMKM53LVIHIkb|}5ny(LX%;Xh10R@bK{oZD1s~fGya>7&Mlf3VzsoMF_hdTQZRI}GZl^6DF`(>cf3`&v(vW_591cS^(j&fn z!)=K~x}^A>h?^X^8t zIgi}GtuevXq*INiv1uu0v;eQo-NBuKTV}@OBFdQxB}mq!36$vH@>&ypFU*aB>p8*P zXK+BkMCmv(@6aK71eXhAdhoI{tq>4g|7 z$biMeuREyXoCeAl)dj5u0nrmMGe?3*q+3I0h`=Fb{+$Ehn)PK!4G%?A(hA~;9{pb#E zcHTL}ufIKQmk2}-U0E>)!YWZv4cf>YyUrjEr*?G#vC;7xCr9d8z4wZR2Mofo7(~AB z&Zh&W>WEZeVx(kpAw@#murbvnckNz9=)xk<_TQXgVTHCXu<0#VN%wWjm3Gz>dp%%e zey=Cdvbc^MEbC?J4F4cfnhhyEm8S{=I*ByA} z!g@+UXyV$;?3Gmuy9;6IGYm!h7q(<-T`Go9q>ZH>QmKhzw~rD403ZNKL_t)HT9la! zHJNY0;x{aGjGS_`D8{&K%VlMX4%ufRol6z5mN9A$lv3B87B?!1#Kur6k%{R82LJ?d z+m_3+Eh|K>Q^!o9XXOM%9oXSuvniE{+XSFgXbBwpA%rlbvOiK1OgOcXm)_7G&+xg0XGndE=RM=_NYd&_9KMY{?7t5g z7#)T&prEc7hw-v8F$vj~;;1?TW^TM9bq*)%KfA;b!_7@UcGGZ$yD2s)AE3$s+cW}X zD@#jmo!Jtisfed{^%?qJfipwETAR5x>gEG(zv_Qsx+`Pek79SAuzKez#Mpv$1BJ2F z1Yn|szBx?ccy~J79j4P9rU4T-2hzOLZZ|tTz3SSH$*&vwPh35iQT>jFk`hlhxR53J zB!9w4392K2LqLb+<9B(X4oW%=YL@JRo@-%WL0w!ik7D1*w zUn-?VGH2=AaII<#Rh$GXEbkbXULm|1re66{)=pFcwEeUbdxP6Z6At|l4yV~U^v*r; z)3!z?W5i}PPf7lW<*aQSr!i*h#97MSh3-^AEU!*aEgx9ZFtSUevY(W7OQ~DKth~)uKp02^ zAT=PEJ%(YJPlx0EaX!s{4B(M~w92KTFkOUZbu~bw;|RL(!Oe-d;$TrxZ^*HHnIT^$ z5>c;_Gb`8Dh;ssjOnvzj*+%yTbH!?bA`NC z4HkP#Vd%;9&Zt_3J$VbnrEWj(M{+1VVeCoPp8u`%|7^aSY)zZk#XQ>hMuU4 zgv2ucqqI%+7A9gM=15{#;YdU=9|_ONX~AVQDiFe*`djibG?PnC2Oy51XW;KJB z6b>5i!o}O%qPEw}BuTP3kdX=F7S|=N z8O^E6P*E6wgpaY_fDV(N80~!)!X!o&0k+65&++u`e7=A4?&HUYw{Pe39k{$NT#`UL z*HNa|4ATj~7y)ewC*}GXq%#v!jI?c$BGJY%@<7;dD8;noP*8nKXO0@O@A32&(A3;H?dw*2)-p_{*&2Sz)QdYn zRWS92iR5R=flu`?I47nBN{kdey5M~9Az%nTc;|g)=q}h5vNNn8U8IKWXC0&jHXtWg zC?cW@G!K&>2a53W^_lr^Prv-KE|(M&;w1_thxO^S$dJXLgBE8pa+w3sZIc+IoZP{f z?Ky1sb{>@qie#vh0z;-;c1h{BpdwXPqDYK5o`#2aZ{Pp$`TfWD$NM`!&yiA86oCfV zi4R7HC?jRe_4%Fd0&8YW>|MNb%*+sDj9bhWe=%E{g%z%>I}-xY5P6Ho@W>BHJLGunAYh|gcK7EdUSq3KcWwMEU8udcWk-6 zLWkk>We_4b3?WPt4kLk!M3KM)BXFU=teEZ|M~ebXsXNgWprUh-rETZ5Sffn4?K!r& zj7}MgEj^oJ6PY+NF>;v3)BX8)e;Vh}2bX9`JWgf;yVJ;)va$ZgF6%xTNB&~_NPSPU zXSy+rpmJ&l<1-NjCWfN_?-_Qr&GsBm5APDt*{cqrvE8{tVgu9gB*(1IUPL{} zQH2geva-y_(IbYzfBWs}@_ZqR8Ks-}yCOD)q^jX6K&ppxD_3SGC@g?2mJjP|?p=z7 zS+!?CMs$N4#?g-x`VpL$7n%}NcDA)s=8Nx+Lq`V0FpR_D?B^5vurWtwLUv|XXz<&W zMry`nrnJoI4GGkh>idigM4S6j(I}^5t(cfG_%Ma}d^p^l=F`C?ZZ24$s!(&iOFbJm zH@_Hu-`ykEoI<@1_i?mFp#w-&gjMpR0yB0#vuqcfAHp#CVRC+OA%Gvy`y62{y;OTI zYb+wP|iLiFotArm3eQFp-GmGgRXdPvJ z(;Dv{v)!#}z}~nYvNbcvZ<=4sY-ZJErYtOvz=Iq7F#0h1Ft{-KFuE`xdUOt)2WL_- z6vUMGa^~xu=`R?}q$HSlF$*IY1jjKt7pCdq-8*D(e*9bf*WbSV<^{WYOu3P!OtICJ zsxa037S_NeBYdbhaI5Y$)7x1#@w(`%HGd~P5Q$a*KaY3s-hBAu=Qp1}oF4D}IOd#y z$|EMU-;`!c5yr$>M(mVotjMH<0M`2}sSq9jJWMVOfhO9vI4s-cvaJin6)2_-U?JQ6 zfU`bwbEow#TZ&JCs&aGe1)S&UP~KLP8`KM}WyDM{S@t_1gU4YWj(9}xpT0gXFDtE) znVlRMZ&V7^>99Ki5?@&lw9-p^pWozTMY+tslrz>C?aPBGdo-)c3xYKV1AXqR`D-)g%bRzb8^dkX-K zd`z5ymVo$I~*TQ^YP#Y4-O@OKoTXTm0PpY;k;Htce=H2u2N4*_ErBrixSMP zKsz(31hXcoFa&gi8xCQbhjDVl=)!<5B!maz$1L$YB{JHUQL;bHEEi^FsZQZNNTiE| zkuh^lmjGZKkEh2^o)|7KFYEKScv;qU^O(#H=u((orRk`XqFS4rfzuoWZ@d|Ht*Xsf z*o6uHGLfAYL8ebADS3!~2*<~V_dkAm|HFsln+HEn01%0?B|bsp;@HQWO;nPb&~kn~ zpf&Gt?N?b_JASruHzinsM~?vkIFR!LI?v9*inOgv8-Y2!OYy5pt%{Z3jzw4cwjf8# z6z!{6UgPO)f&4!6WJ`6rgv`j12?4?5c$ffPlIaU9v_u9)OUZ}$OV7y zb!~ee%I)1t?a_LqeNwlCn*#%EL@Ocs`SAGp{O~XgV{;6Ram(A2Zp=iA(64H_6hf{! zh@3rwIL-e2;O`#8@!k!`$QYTtPBnuu?c`0%RoiGtuwJbGWR$IYg~}=^DAmDA!CZNJ zN*!VbaKVp<@pyke+|Sct@}qKd8#>1eLpbakgo~t-Yr*7q!6*vpC^mu#8;eI zb2=LvgA0=%4#RkI)8vNH`G8J?TM81=U}&Gg%sS0l`84C2=nPEk8GEUZKmkB#2D z0Q1B9cgz%q;cx%rf4=g!4(67S%X@1sAUBl=N*%Igiq?;W*_;J7 zkJmXrgc)7%+d6EQmu-EaZ6%6M>XvDahmFOqx9Y8V=v=H8Y8%{}e)e>1ZsrM#3R2`6 zS4-PAz}cea+%SieJNgh_oV(y9u8||#*ftGS>l6wVCSTF4&4pkFW5m^ZbTuMv*=LXQ z3$CocA%->5%5I!a=TCon`0#0*=WN_7aqGsbUcw_fe8Jk#>-3p6=o$%~8)kRB8_tj8 z{o8PS+%8XHBM8DhHA_O%l+!LEx(+pcEz z!e>!V-jfP-$N)sd4gnlvaA6G7aXQ@j@c>~2=X312q_`-|Gi5^{N5U9G?==aP5eJt| z(BypE$xG+Crw=IYasrPypO5c{Pr5|Ypjf7IK5Dv1Srr-rvw;AZf;bJ;AOJ8CIw-q|nPX1+kIDB83=RiBzz~LUSiQSE ze}5ls;g+lOF$vz30L-2vV4fB*sgG#~Hp-h5c!e0=`f|Fgzr zaszvp!gBP;Bs=DO0$EPfm6tU2MJgp|myMer5x82SRaur>CQPenF`1UwkieyvonOV3zlFZ zMNDz$NhJAUynA^3=l}YbLm2<#fBoOj|M*8h@5WIQlI*f5Fa@*fg|u>bpVD->uQ~Oh zLXk3lltGpzQ9^2Cq;-op`-ivp@BZ-V{g0pS-advgP)sr41d!;+dTsS3#>$wZ7*n6H zW-;ygq|$r4Cgzb+WL5ZVGUOywgXrAgM;O4d^XtXYvP9Y(W*vv9EK~(f%1pCrewGmT zDqBS(_LeK*i4upx#k`~vtD_p$?m_9H0=kq>;zu{1Cv?sQkKbOF%f^u$fO8IP+$ce* ziKQLZqG8e(EKH`wXGOJY%L*sK0Lnj_m6Izp_nO!imQpP z#E@N`8&NKm1p*T9M09?d&ky$>eq4V2`}043iqC(Gs~6Eh=(VHghc;r@8IKTgNVg;YS1a&D0(8d#Lxlq}s}S_zs> z8K1s+sAlM8ICc+T4c6}fUc++~0OxA)&O;d8I1lq-n2vs$(FI1Y4qsz{s5&Qnr|Ea2 zo>rk~&FYyQVRvNW{5DgSQ{r0AV+ZG*A5O=&KYU{1<>iTq5bQr7RxBU{9Ng*g;oT4KKYadh|L$=*9l#^e%8LD15w{q< zl_7AwDawnReWq2;_H45zaI-8DPKoBl`A{+M2N)5YL&PLw9`b1qB+IG2K{0Wa%ifFhtI>q8+W)vKgb!^ zSlY65S!93PgK)h^Skq7H4Wb{%^W*vB56@qI`uX4fNBk8wV9$Vn-q0x*_A4!*{=0kQ zRUwy4T?5$hSO9NuR$Y*jn24B|(4!y1;e0&YpXSp%97YUCsJVB_%`4LBVY%JaQ!^!I z(E8GaQ8ao-1w&eHZg+6AT}<`0B5OH^?>gs$pN`>h3e)U|34LI6Y%CV0fN+WF+#Pq^ zSCT5;UPoIPhGjoCby(y#BcBt(<_PG07|(~t4{ze-kHO(j|NhsfUw(lB*o9GVhG zLaCtIa>WJd#KO@mi4kSl{Zi_cni0oH1c1RGPt&_kA3pryhx>PL#>0#bg^1GjlAuJk z;PXn9mPO_55b(-VRg`bp=Big1WK!ysp#v9&!8t?^usYlpptvDPrl=vMQc0=`VPvdk zZqLT5T)tjBz?D7JcbQ&0C#lx}vebTql)LT+KjDPV1?OHIUS1a3h?rasg{@Q#{n@2< zG^?ch;k!6P?pq12(am9x&0v6y;9CLd&9aWXYwi;@k!DC_^+g%u4M z{E2M0dNnVVye$}xa{5RZ2k+c~F4gJ3JTD2|X_{4uCA!J=iWusno2t|Gh`^X}QfOBp zRTlau;*EJjINrT^`@^5#eg4BdpAmu_(2{zY6>ouG^{bSpOJ9Tb>a`02eb!9F7!K$2 zn-8D<^q0RcUw{4g{~4cu1LSOX!J-cVS~hI>6D#O1!{3<}sxj~t$=#sWv}I!Qays;b zpU;Qm!|8B04~JAhkzzW6fLWu=_d%U|YQ-H7`(BFX9UoN|Z;ge`dQ}kIsK8eFM9CgX z75@F`r{gf6hQrZ~GdfSk5{0O_-;FhyP5b5VE2FDfdVg1AvApWvl|BV(Y!jNL?3Epc z>EZr?;AM?lq+kF3)8)&r>;w4VvB0@XFzPN9mTXFCLO!vvMS_eiAIx;1l$!YT7AXR- z!|8l{`1Ik!A3wkO_xx>H-ZW*Lr2%9)>^v z^Y-%fm!E%HzWwHa2IsxAI0VbsjK8~HpTZvP#)1laKtVeVAkM+PEq{v4fZ&6lj??ks zbb368DX>F=1kEYMu;wjaotand&ITK_1h_}i%~cq8a}#&}=%RD!)~-?=2p{8gCeP@H z!!VtP!`TfJq9-}@fH58CV)$7hIobHh@!lIw>s+_*?@4QAFLiGfd)YVVYLCba1jOW= zgJGHRg4rK;N$I(PY=Yt!MBRX&niD_9D4-V2f zK2FkzDX>&5Yn&_7*bgsnDTZF^;`1t56(2Mrh+-r@VQluzV=|exd<9&Glhr^dI=fD2@m&^0|?U(0u z#lerxnQRPZ2S^2tYk+Adylr=}iU9@*byi}M6AlF0Q}%Wf0i(xp9_G`0ygSZ!vmbog zdy+jQdY9p#HKW44$Dy`{v}@h+;k}O5;(_u-aYXGks&-il-Q}{_h=Az);HJYcpTl&( zFo1K#a#!g%3f8$Ks#X0m)OQVkcP+=f%j^pSNTfkD4F6ws<0UQwN+j4CbJJB^KVva;>BtjUE)4Lx&fBfSQ?>@aB zrzsI0X${1rNO}n`W3jbp%rO-0huKv7V3h@WUp7tU1Z6pgsvk<&Fit7ws6{2)DM;)R z5YhQz77y$@{f1{KbR`;Ey4y~?oMJ;Jx+ia@_HPs=p;!hTmFsmx48gmGh zF*xSXIu!LGPjfm`648&td<16j=$6Y8*C_UMDfXbd;O5nf-pC3esK-H0m_oavIu2I| zePh0C@%iO)_wire|Cj&k-Jk#E`1lrw1NtFrlxhTR`BNU<-hG=$IN0u9+Ye>FG6_0# z0j8t#@8=JHc>KeEq2=Y?4`2iOsg{mUlE^gQfVM4)*l zMS-S+l$;M?n8SPu^U)16gU=Q%Zg-3gRWx1T!c_C1ZaVMF(5-e_v?;8E8Oye;Vi&jo zKO;S|6U4jWcsL^?ZGpGHB7FJZe~-&0rn1+vR@uIS(6QG+ZL$!hL{f`dT?dT}PwAkk zRMB{x9^OBG`26Ahrw^z5GdkSjCMC>C@oP$#h5~7GL6%k#t2cVNRWj7_F>)*_MmZJG ziY#tmh-B|6)b5mqQr8jypbKGOJQ4yeFR%hJWf_lR=+p#`ikD%IDrvO-ex=mrzA!vOUvor)nRh4=@t13@Zkh4~GwbeDlx$$NlF&4W~zN!p#e}X?eP$1U;jr z;u>h`q3?EZn`UFGASCs71cbxm`#1meUny?e<=fNq&kF+*4GsY%v|7aQ-sa${9lL!*Ki{d>`MOqGFI)(A*h8ZzPS!`)B%Rgz}My6EV%G@m zd$k))gwQS@t93aSrj|RBeBOCc2*IJlVV>^Zz9Hf@G5~!2>F4G71)cN5poI{nZJowC zy35FW5t%!sthS{yKqT6jiP;bS;luk+fB5wFo!Qy%G3^$ zmtm^KM>wgamD*8jUefR_Hq6*eszX1884u38l)@0#jmz;8Swk!Ci7KqDdv&5)l%;3M zOy%=b^PZR^!wSsfIKTVh<6r*UyFdSBe*1$zK4O@2K@NjHKqFlCBi(lgfNvf_w|~B2 zULFA4be?a85yLQ@ zjt}Xf7-?D8ufMJ9$^gN6bDR(tOC1|~@^3bq`ma?hh44#9pJ@7}$6_rr(xKYTbp z-VH+_AflK#8_wNi<>qAnlS!l(KLTq}s69!%&XJRO%|u+md;N+662j_-1!E%9Gs%jWMGJ^!_+{GSg${CT*4i{lafAmsVx)+{hiN$89ZwIZ@id`xj0s9O-A%x2g{1hjp&w#5dc>`}PA!EVys zM4MYh{8UPNvf5_N1icT#Fdv4)(Eyh~XupM#ohO#FB(?mT6&VG_sghNx^-XOPHPT>1 z&JF0VeiO01tK%%2TS9BGItLod=0RJ|jhQhnTP3&@x73V;eT(84U zASxor?-2WodQ9t}fT}~v!ek+89L2@*mce9p3fTIkeqj&)hF&BbRchO_OzA&~6lE!o0)_G>zzPj)C`I;o)aUBlu9W8~FFqr!7x z+GV1!h@&hHFvV^T?r@p|Iz)`WeWQ(pz)>m;6gPAZl(I}-$;lZhow`R{wskrdz=57x zz5%WbPusFaK0kbZ`{SQK{PVv&{PAC=cc0vJ1oQx?b(xB=v#vd}-RyhIb1zs20h^5rt|dn(<9Ro!4LD7fB)C@*T3=hObnBEqwUpR7$<5ZQ%0n)x{iWoW3nPe zaOj6|JWl@~b?@CJNpj-}0x&aIAyQ|_ZZMqXgI@y&G9`2?M_yGnn?Z#<0bz`rLaw#n08k7JC0D)p^v!G^)&%`YzZQe2L z_|PO21+GeDoPRC93wb%B0G22rGxKI}S$~KDNg3)!-A}roTr7OXguyW1Q!KDiBm^Of z7U!K$LoPQ+Jq2=V!oG`iv3{w58>s+{Bn-lNtq@9F5HUhRqHdaY*Vn)}>uy0j-hG+p zBg{*um5dJ*kf|^d5YmV*J`x9;=##T%otH%oW`BNm_3HNK<<0(Vt2^V|8hip;S7Pid z%MlR6B8ge*aw|=53t<;>PCk6D{CH0U^Flc_qSCUA*m(C05oz5GJhElG@WOUkEE7V? zi6OX)%Tm(9Kp7Wb*%VcbSuRvC=z}N(U2W8D$F*HA$}Iesu)vX4p&S+jDMZrbvg#5% zemNWuM_#}J5V94AEFq_15ILN)aj6Fiz4e4U*!P7%AQo_8n1K&=J}fhAuD2Jju73FQ z^`HLti|_wDT)t4_4zY`8p$Jsu=i}kSk9JuA7!_(^872s$utG2LmL%dNZiW+N8_dHPn3U=_!?YX6-PnyiX|gQC zmc$80=8!VE3ZYuEnMCMW-YZ5l`}3Tuq->nJFK=GHd2xQRS4Klp z!&sJUQI2>qR&!p1`K`%<1g1B-TRGZUbF=R86FrQ5A?Eia5NY*~yq0wG1U95FBZg;mCJzXcOU2uPj*Ex-)$$o$A~ zKy`NW_T~@&?fOsu$NBev9DwwWv@Q8QT) z5`aNPdQ?iA3xHKKB6tfwNVAZ9*mv3m~k5%mgL1 znZbe5g%$2D&#zwIUcI>4pYOY|2Xe`!trd!IjIpy)Gfy6UwobX_&!yHbe86m+1rbfk zogDngA_6NE+HSYn^IH6 z`;HXkuqi4~a(j`2nwMwBVzD<9;rKxzM57GSV40a8?+^1~wzFmS@qc1lDR5M|%P<~z zVmMNPU@wBfs@R3j=jC9RMRncT_1VSkb0Ks04n)~#&zFzcX{rW z#Y2DID}km9IR=0L2^9j-aCv)e)VSMy-0wg9>py*Zr|#dsTL3Lkho})Lq!MIF(*;v< z^I$nU5sV5*>k`EgXrspMxY=*IO|OTJ6j^uR6LaE7^JwJOlB>HGAcW}blOvJ^R;keu z2q`$pWsOlyUjpXffFG^PA*+n;M>9^U8$gSwTjiRMZwIUzS9nhQ%g#R|z=e1)rXq zcYl8M$N#qd?thzZ-gf(IHS7R8@G5H&xuq(9ePr7#t5UfnQk`wDe9XNh7*eMYFar>S zMgleNH+|Q2rqfz?Jxv!M|MD;P?)~H8)4Uuyqz+jLxgx|Pku_js%@Pns`UVPJ=7!CF zns$TgJJ93|TC9WbDYa6d1kF&KvLP5YO-gWc_EJM07GmvFFFAEd( zoAK=G;`-(7<@Lp|8A&S(Y^{%@2+^t~@>#)rQ=MUz#&njEF$-9ok3pIkEK5u)Fy601 z1y;K~0`Rm+qm(M{L-^g7kBo?@l~D@OBJdG$ethI*j-n1mdmUg9+o^#~vh5so%8a>) zT4g;5#X_Ry;wA)alCLE!$0$I>FfTC)0A`kt3=BxB)4kY;^W(fMZ2cHzsx-`U?u9`N zT3i=j!vZV}Gus2hk&$(;Hs|B+a`)o(?H~Sp`~467&0E@CquBszX7BY3Of571H2Y1O z&T`nq16tfjh04)vE7KvkSP4h~;PUusrcrIKrdLL9&iB`EKVH9j_b>m?$AAC7A09p( zffj{>G76n7aVR?-mZJ@`=-o}ij$r2q3ZRXicH`!3GfabWsVcxO%+^{)uloxjS~3JF zIxf15X=6e9USI&M2~%nFEb9WSzUJp25N^&YyxN0jCMI zPnwW(y$zg)rl1#*vWwM(kh3c9mcRv3hYDXq(Z=M+l}R)~4PJ;x$dOb6qqU@Hy0~Cc z7HOI1kMrZFHi(#5bk#+Ii z@}>up?eSePCQ{WCjV>fa=)Y4Zn=X^{QzoECLvpN#o(40dx#SqUOo7$!&b zpucpi4+(VFJDupfuw^C}v@w(wV18jlRm`<}A>C$ zj|aeMcYglnhpQj{@$&nB*x$VBHhUWPXht9npn#DXfhjHccx0I0;B4JG+K9!@iG#Re zRi{DI!eCwSb8sF{(Xd&>Kf*$hBKBb7>doVZL?Lqn zS4i7&b)1AreJSPSa6OHp|HBq6qh$b6sCw0nX4slxBHj6HYo6}cJcetNnoM1QQ3Vs; zVxO8UcZA{iG9+eJ@WdA9sIaCiuKI$FuOQ|qeMIliO{B~)xdi2Q0aBm-@)v%1n3;ju zTc^jfH}t`Wq&A#Cen8>Xo!Y`Vce-vSuXvH*N`4j5^T%&_GRkFTw#-P6 z^W*Fst}LXa-uZZEhwluy04#QynP(sv_QUpScYd>f@#gaN50`I$*uQ*Zb{9w;Dg$UZ zMaM6( zV!;G&ifF3UxTKCW&~BQvOhkTStaF8UYD0!uLfHW`C1D4n>U?1&WlTSI!$$WbX%qG4 zkZ^0PRR|#V%=#WnA&d>5v<= z)|<04a&p-H=eu9#!^5MUxi>};P&}k!e^7-$fHwH-^J4A8<1(BL7dKZoZ*DKHFZ=CQ zX|mu=(Sx8U=yb-Fg++O}DG-Y;Mo~%vtKtk$fUi)@3Q)*6L3G*RhF(h)+nAZ?50xwq z(QA-VDHn%~@Nj3XU3g(wZy*Nwk|>UV6O)N1+IZRyy|j5t z{)2JQG5!}}uS2tnfsqikQCd&KVEUo&`+nHy&4qe*JAeLoy#HjEgIU-hXasWNaqv8j zj*%|p7HTqDjV|QYrq`VTLJska!r2c6Rk9o-%oS$&{5fBOC~kQ&Ck+WX8fCUA z9R_0*jyTP0T3q_}ZZQ3*`+}6v~dAs;FMM z<-M|+5Z50j0L+`Cl`qhiEWcNo8_u1O-EO*gz)phEvQpHaP>YG1vZcf%HQ*+ z!^hD6&~#VS;>KMm-Sy0D=i|)Q+M~4=$!n6MEq_*F*>VQ4ECby~%&}$E50-1N>a0|G zwce2)Tdk4GkVsH)MWqa)(xkBShFL@hcwCOl0>JFd34L@%pNbt|0X#Avc{y6UU>3}*|3DIRT)>)I6MMko1X*QXRU%jI055XDFa073$742&ZHA1w1S z$7oTq;?wIOQUq})hFfpoM>pBM+tq<#mizPrSLhhb-ZdALqr}`Y34y z4`2~z#slMlVJ3y+`R?ZXvp0X-z5Z@@`)Yf6+i%Zt*r4tKH2^UvjM%(xU0XJN!XP$( z-w%Z55J6z&$oka4K*V=guTKOdw#;CGiP@l5W;f{Rd^)?@pI_*4!`gg$w>f_NdA@u9 zxID0BL(WsmXFc#yx5(R@Z_YNuW+0;g(MB=DHz^qBdqF#SDpg3^OmqlzDW|DO*y=iH+(&xe>CAFx2 zKO2x_lhZQoi6)?#@ZejRi|k_f;{A|8E-TL0WPx2MBR!70Yc(&+@$qq4?A@>L5BFb) z$c5r}6}u6&%!_p=F?!r@uV3HZyt>|9?7OjN1iLIge?lN>EMZ)vmQ~I{*@1#nVd!t9 zGl|=0Q;>_5@rST%#LB~>#?YwTvn{5>Py$w)M}gU{pWlhS4wEVH$CIij~bfRrC1 zwk+8IiB^a)$>?tD1VEP8C{3K-g8=-ZgOCV7*kVNp#kd_}?b&goGrK3FI`Ue324)vR zJ$O4gkT5eJtvvwF%Anr$+q3@q?e&{KU4Hkc-K)35#kCr?fErLIlf-EEBqqAnsFc^U zk!R*uR4;}0)uIhae|*&U4cr0J~%MgT=beYd;3LO`v%cktgoJ$!mx76#U& zoL<;v0-3EnEEbL0UhJ-3-Cnxa3zH%#I^<5PFSjh*FDlDpQDXPnjM; zTD}e7zzyLt2?Uk*m^i*oP05*&u<^{4b6MCeKteL6w*YW_pyl!2&I<+dnVGSOlr@#v zT(W!N7_%w_cgZ>r#R|)}QW$`ihOoRiPoPqdC{*i^~=4HIRD}Q+`s*Y>Ed=cyXm%jHB6|DvtS9~VS0e}1#Y2RYZ0*9ZqBp<=HuaDkH`B@pPc^F2Utd&tvv!PN=>`n z<;xc@-rSyDop;j&$aYyQFcPDMYH(q7((8VU@yhZiiUFurio87G4a-)p770*uBA6Xc z7GShUn0*pM`%fwJtOvcQl9<0*}Yzas;qQGpME8+G*_1E_c^2FW>y( z`cMD3d-FXF=hSUb#lS4y3jkvtxz;JSx8i#?y?*l2fzripC9YWNZ>s80Y`B0tBgK@N zO@w1V0uUh>1j2rg=L+?P_BYeZA3px&e|-42f4ckW-;NKTak(G*p`SLJ{WNWcel*k( zBUqo|HtT=pu#*J>!K|$i8INolMah}z7dPsbIHsT;X>-Rm6;|b$rc;v7tlYZOfrxYVT)njlnpR3t zP_5}~qA)3MeBef3p9KacBGsAg<@pQ#UK#b*fBJt9AAUU^nNTsJMYw-Ff~IjlUA?-x ze*5z5=2{P(C*c7p$*BS{oz<1w9~Mnb%A^z2J5vuwv4c|vvp`gZlT?7V+2B_V^S6Ug zmYqP#3FovtGh!EB6#7geLZds|Ei@N;u zP39fwh)XO4lUf ziDgvqATBpS)T6YP&r{d)ACFr*j)=51w~^?FJgsOMEF-(zD*a@JN%aHi&LUb7JF%%w zDz2v4fc$9%b+<@$^H!Y6NbeG(C?u29<>ynCxye9S|K5r^5-Ok9Oh|$@3?>nEn`y5I zfDaG%AB}nV@L|4xTSC_+XW1ZuckCg5T63aD(EX)ors)l1u z9Me;49582)8D0!}o8qP5%2}3_i9?c97b6QPVMYVN=FLjye#!QmoEIr;yEtELdvsRX z`Jj}c6S-ck=!Z6YupGF=N>c^3{^W^m@Wh3=XoCg3VXtl?RHRTTOB$5!c0CPxcX9su zA76g=5Bpc&^_RDLvnMkE8Abws@)-|)FgurO?K%djh&!=;p12~`s|os7Qn|!EY;n8A zcHFE4pLGHxgQ`O_sBYRRO?^L{UEaU@mxrJK_4wsI4$S>vjad{UELKEZO~)o!?hWCQ z`GkbAay_MFX#Q9Y+ZutC=#GQ($hx4E$|y7FepLNPN&_m{AUsiWRrT5|uKd(2a;2VA z!&4%@CyF|CVf9I_``k*@J%)%{>v7y&UB0xo>-wMm<)7c*|Lx&$SS*;SKYww3^XARv z?bR?%K**LYI^V69vn!NHJZl2r>OfQwTB=DhYTl?Oy_A*rjPW~tw6pS4#hMZg#%O!% z!<3R%rg!-V>|*VFL|zbmcDgt~6~}1MFdtq7IKx_v7XnlZ_$Tud%J^m_kUo7y>Jc4R zLIg-e0JK01WDyTQN78yXo!y-4vsc5-_q*Hg&#rEV{gs+_XnJO5^P6GM%s2U)NQ|B(AVPE+ipbKOI)*g-@h?o@xS^e}98yT`Nbm$U81 zpZ|u-XKUbqO!kOi5s1Q=CA?dNCrfE*Fq>w~PP`jZPToI&V!b4Bk&8ta`&ar_)U+Tx zD$>}nH#v7kioNLv)sJL47aF48r|aA#tGC{%u?-I77OKeVI{Bk0FH7Ve<3%>e@e>y^ zOTn_5oG=eXniv4vs{a`utWj>G{?-r}bq)9AaHHMlS?jLU)x;*kd4?8nW;bp2|3`-k!75BNcc% zAk9qPJ|=?9wXK6?<(a!|c63yBv=xRc>r;%@qtmb1l6p3zN*p#iWC}Er4*q5JiHZ5C zCqy7rgo>2bdKmToy1)J9@zam@q;g@EP-(5S+Fo7W9)4iz)c&VsnP0wo zad~q+ZYHJ4vgO4E^JD={@~A8!H)La=-1N!&DG*v*;#q^G9TJPZAY!Y8;f`~YZ^oQR z*5jM2^$X9i6n{K(2hKzXj*9wVD;Z657}y($A}Vc$kzLe<1KVY0W>tk?Yixpiv4BvS zu3f?`heLa@%8`+m*%%LuLy{Z(i{HWkyHm`C@v!j0@{EXPH0Q6U%Qxf2?Rb9O@2|Vv z6^<@eVpyI&{+AP1O8RrEb7FAvo6rj7vjYn@vqlYt#S=C4D4R1z8dN z7^-(A4vf*)m_pnz;D z6(@)wEiLonV#nqSR+#Oq4AI(XdRV}0o%awU0cmAA-A`tk$n-!eMEtSB^*uTrF&8#t z`SxMV4}xTq3O#k!TFi?I2(sXQ(FDVnP@UZ82VIaR`qVo zg;9`{i?mEP<~&&`(JP7T^D!4&ryTn5G!?BZAu5OcDjmO3upJgp1>^w$Oh~5doq5rL zd1kiDjMjzzltiKQ^AOcD)D*02srwjUr=-{3q&Wedupx4alp<2ZcfC2PI9<-9PjfFKG;JpKJs*=io%T+NC6q6~mF=NP>$XG+8W~+zcc; zAP#>u)R5{V!fJ4a{M{#cQ&m%Jr2;|#jbMp1knYbIl5T|UGr27mYt(QxZ9NyyiHp;(gMM**^xI4CZYBj9U zfdK*|kukMoOG2TT6W%mTsI?l$>HOl7)O>j8rxBI65-F=rm}Hb8KHvA>72|cqoKY9 zP=HG5Zs=X=u=&wiUcdsOj2!6ZFV94ZDX(mv*F!F|>g=}!NxrYi?3ghp{3pai;auYV zK3zTwWWa@aw)SZ442Jt@+Fth;uZOEQ+nevZ^A~D5Lp=c*_O@vfxkh&(Tv^#GM3LJ+ zHeFq^h%SL8CDIU{(eaUdxSlsYBJNI7Jw9pexb~|6_=w1adIIYDZnL%9-C^2({$+gl z_->x>tUWL+3Ryd}o~THM1Pk^hersBU=7L4btGawXI`YX93u<1^nF}4sU;%*?>P~fI zH%z)8K)JK>Xb0fYQZ&ioGO1!g&AC)dKA*cv9GxqAMSqJoPRMkk+b969EU)t1l2Oq! z>(fMROKO>vyu4vg>Qip)b^KQhFiqq%%3Q}!YT7-z!Ny&f<(~&2>`Q{Lnp82??)^tb^8%Wnk4sxE`DDr`pKpg zSi7jdC5&WSB_;`r=s+PEKu}sM)3F&;w}Ea;!|w6(&&&P$f zacG;<0}^Uw*jUTVM+SR5_`_v?PHts|m?W1-d5adwRyGK8!7in}3(6(~S1V9lQB3q9 zIEeulhNFce!x8nO$9{i1UA&wwUW}J7hVxsqyTpD6(1~1eqL!yj3qbz(d}>~`yn&Nr zhjKYfm%q0@%SfM*W>-aLoOh+rsyVAS5J35vRSL&W>uDNydfI>a^*x zFX{;@q%IcW^2!Cr5ocRo7P~A<2(c{qJ9{mY$kCR3AT!-T){!jkZ8QZ5FBL+Kpu1t& zPm~>3E?T$t?R!<1h;?z*}`Jk+9UgD zda1l9IEJl&{-izS-N4Wt4#S=+uF?cYip}K&aYn~8;V-(#h4@Y`a{~ifh6UirbObo6 z-kQDITy0MmCSJ=D^Va8sE z{#&p1p8G01SH3NV2N6L7XhsXrA$8geq=2>#3G_X%ZttyYL z0(XvOO4DJ4khjj=Bmi0f7si=kw!A0}{ifeu>$BJ0#jD-*>*@SPZ!W0Y0QIgqX(%1k zpaq+6w)2VKzr`gN2UiIF^h>RimW&Kz{`}WmmHY%uJ|7~pbIeu*Jq_nWKlR)Fvfm$n z*?js*e>%>`!`%@;6KVv5F}V}QMeO1;IHRl>H$kXer59dKECrYk+R5T*E}5f6F9@H= zk+U@&ahwGLAZ@yC81*nx*8wT^b_tD9&w*4$%?lEo7H)72X$^H{^BR_31C|E**^0ba zQm)450+EV+5HYeSngaz|!KOBB*esn~RcQeE9E7QmWI9NcCUoH>H1c|kQJjP?GmG=zkcCpj?`$whjNOc_4>%^g!ytn_#Ak*9g^}ULBOfYos}X+O-||_ zkn~E$u$rQ^o;ZODAz=K1alQ)VBi~whoM+PAZhN)A{ln(fpUmxddbl7ppc(*7tc7im z_90Zp7GuqYiA`f(PD{7ViOjZQ!P{D~U;Lfl8JtUs)4#JMe~CRG4*&^40RW;xB!!xZ z2#M5Shcn#0IDGtN{_@N6@L`$n7dRROjYycz$q=c4c7eJgIQK4hPtwXF(pWN#i!Mfz zT835!ivNb#kV?)9+M!8gGJ(^7F5(<0n8>nAm8wH8Ll%f^nc*@#>YA3VS@ld-Q zhTNqQ%DK(umZY(vq+LizT&#?Bz?XAo4@VmvN<0Yz@{YH&V`T^w8wDrGP6NZ>69N*U z?)q-A!1f5t^Bim(F^C_2Au+h{ISj=Bi4sLiac#Me(r^(n_G6+^1ZrupDLnHPY^=8^!n*HtL`*-(0|K>n>`&{qk z#Arp6!4ufmrfd_}p(tr@z4!edh>(8I%jt49cJy zG;EcbNOhz;HEbU~{WO36(cb+$FZT;u1)z~sOrXR<@l}$$l0vR&pMzedxDyUCSKjg= zB9TZL)s1@CsBQq&x%7sdmn9fYo~3aep^1*1;QvJzn>Q+og-zm6!q1X&J$1#v4;3|s zjDluhjMs($Qwn4m`?EEV>@~+}w2+06?xC%0N?0mwW7q7#CU};qlB=Yf#gQO{`Okzy zIqDdP1d1VN2~Zlp#%9KmNW;&JIoAryu;5BkBOfS@b%)ACq&w3CTV`vQ!y_+?wM-#y zQ_h${#OsJ>rdTf{VSCedVavMQcml0EPqQ$CotYP9u-^@vtM1~}aQS+7^L9LYp{8>* z6QE}H5vI5puf`GibHU2W)s$t!r?R@*$PQbdk@@!>ivB&WQhfD)kx_XqXh?a3000YW zG#ez-cia8=>HOi>>HcRt-o3ZSyT#7Vw?TQtk<5^x*f1yv0VfNJs%4xWN$nHnW{`wr zIX}z7j7Z9;ZZQ3%y9rh2tfpiI2@ACaM{dBbBo#!U#`#-oR|C9@*BkXbbv;)ahnoJ5R4`{ULuP@N1`#ci1zZ4Tz?pGDQsc#V_F}sJZoK)QIC&MJ2n0e0D+wgB{Bqp60 zUv92m^_MTz?gG>V&?l=z^gg?pBX+jz($RK#$>wn4RloNVn&+n;1pf8}{Wq|l;!3VR zC3&pbrDyIyzy=9vFufYo=5qM>^TYeU-v9E~`;YIAhld&25F3Rmf)L4j!)D=fZDk#^ zAbGcc%-h8Q#0W^i4BhWVX0(WCG?w}kgt06Sp3-IxYDB>|*4-U5 zgxT5o0t^ZzPgb6v-DY z9y(nfq$tEU2!hBE=eC)R{ z8JPcyjQ)s8@;Ih~bYKej;`bUuOhYC^%msM|5tY^hTCfY)`Sa$*_uc+ljXUZ#fSu3q zBawAsPm-@@pR=O1EwEhpCr(R6rjO@bji)4?m5cv(Teg;4abxd4Eb~3vgMvjn7$zcwLBa4N^bv?$0;YUF#pI^aDcJ`TWe)xq z{bYv8MQb54jLJoX5Y##r7$gU&2$CJfg4qPel>*C_Hv~^SbwCiC(O51u&0SfKtIM>& ztk1cmw!NU~+z`)Q*d_^&L%4H!)*<9+$f<>Z$d#QY+R%xW9wg#xi$z>8$H*WuWkXE3 z8Rjba#l}b4>N#~B4-fOiawl`jfS1k(j4^A#hdu7gFO;>NW zH*fm$7i!p}9smsk0V9M^-f}>j+0p-(xCB9$yLc67KZU@>>nno7^DumC!YUy*8Wp?$ z69O}8)SVhtN1FPf+iV`D;qI5e9zXwleE2-ugGJN?8WEWhEP#!MH7H?e6NF|eyXc3< zae*fFJ7NeOqLl7TKbc`erbDF}i7^<;L)crzfvNz7t?`p8|L|Z?(Il#}LW)=I0uvVy z>ziX)4VfvcCQ*Pj_3c;Fb2&zZg+yial4uVHnih)?L&3}ui-*3+?sE79Hak~I;(TPE z1;dNNO}v3AetWg*<5&o6kbVd=7`#{{j*if_83dX`w}ZKT@bM{FeAAUY;R&~%nB%g{ zL6)n76FUlmsgpX9wCTv1zwq&at;<@MsZoPPqp;a86#5WdfhDUgKSQvOL1wgoGvkqQ z0h*bH?fK^V&2;nDTzzNGUzu@F-8NElDchkqJ4mCPw!Fx?kj(S*(XaW@6Ts$KR~VlH z?kDp)S?6!ip|8V}c5A++X=9@`Vjeh#FJS;R(14xRy6ctc&`giR{_yGN<>AwObg{iy z!9ppH1r9hpC=aAc zBzu#CWgXWA<)9S>X(`}xp=^Ht}!k5>C2Yt~J@Z=1=LgE$6uU&Bu=2&Tu5=tAU~`zI5#{CDuwnNmpA8oK55XlbU`g)e2EiEZQg^&qs}{=#%kz=~l8A%ldM^uN zT_URZuG||8Ff$$ikJLf8>vxyq)pz6doALan-(HyM42Lc136Oxb&zq8EI$K|V*%=39 z!s5z$JY^X08z^*UX4^hSiVv>Yp^M+2)y!wS{`FT}JrXYaxer0>%IBl1kO6=IJ5&bs zFbw;y+jRYgx((>@;bRAfkM{Tp76xWQuLZ<-QWh{>O5mR8Np%{7C~W_|(JN?0X3)dr z;5n*}L2+FBD22M%e9R_J{1qD~r_dRgtN}w)$qI=S zEg5d-y^HB~#CfHkSPcH50Rcf zv9@0rc(IQhjsAtHXr%3&I>df>LQM5STI3K}l>wPyW;h}(W~AZ5>~5yZm%EpL*j&Fg z+Y2-sKm({eDvxJp()jr_sm)YwAWt^hOSb_<{7w*?35)PGL$Lqs&dGj^zVX47rV?(F#C?C|TqJ$~Thm-(>F z8o5(M$Osk#y~QNuvXD!wCiqr(yEyC8;2>$;n|?C=R(B&R&8SisMcKuZqmgYlF8&dmiP%P-Cg+WfuQx_mO3Ma`ca6$}J zGm3-3&`gBVEUOVjJgSzX-GwhGy8Txt+Dwpz{}QLPaxgLz=4eV7h-My3E^rSFz+d>- ziopnZD+Kk8hs4=>X0g(v^414A%Uc&)z=?u!+L)FR*&`%n%s`VOIxsB9N4B%KBmkMj zBaV5BmX!N_rllN1xy^tJ+j+4wgEeZ{Uu|#yI9|W)E?=3mTQi)KnK-J;EfNvB7!#=% z1*bl7WqV0Fusv}VLnn7eoc>GoR%LVrT^XtwruWAW3qi5g;QYF9&`kyJ%bxECC?c1dDyS6<5r#pyzMQ z$f%U=bU&G4WBLKKv8d(#k_#c<-XMuCm+&<6Q9U_NPh2PT;brH(&D8$RHB$6=O?jCJ z7>XMn+4?=3oZ8)3M%#~2sH9!8oH#8mcd3+M0^SVhT2RQGqGKKY^ErLTP!wluTX0rP z0&69;hJ#T6;E=j86SOwj3`d2$$Uy*#o}Y1@y9bFhk_#Yh4+!%Cd6^UR zXSv*j_XVdeRLLK~GA@WSsD<>RI~?}I_HuXgcK71#aQTvU*EpOJ_6(g%#}`gUF!12Q zlJoCD!@kv3x(=PbzUEN08i5?R=V{)qPLi~$vmAh^cW7i8&&RdW=51p3wn7%W4^3(@bO`WLVX*dnG3^U+i;Ug0Cn{IPC-F!D)zaB4N^!qC{ zoL)X7bU>F3NebyseB7gA^cd)FYa~ujfr|OP`*d3kp&b>AYw`d96)v86YW_4$BXb z5M$QF--6(!s3YtoId3a_lT;2nTbOw!IFe#2#G_>i@~aCo8Ys2kA#!{}es~&W3EP=+ zOcG%f!3V|YrKb~<=6t|e(ytVs0!4*+TZIr2{h$k4o?3*3NXbb%hn9g50JSz~Ewkk# zpj{q$wkTGEpCB%#5XHp!loT_wCC%NS$8)p09WGvOU;JUZdg+3gqZ)u*f+1%k?{hdq z@Ewd|&B^oLJw>ecnjm_cE zf@-;@TRH#cQ_Ivj*CK$+L<$J=gSE>Na%^*w#AK`&-+pHs2A1LIvQhw{p8Eauc=@Kk zdfQ#T?$2MEaZhFf)k6rE=;O_VDC{8gY0;xE8o6hJ$w?Y3qhmbldIo9yhICVZJ2G4q z^IKWm`g`0Q?I4YM?k)x3+(sbo3TL&}VYk&9HH`5Fbg;_xgDJ!geN}HCUHv z1HdIIZKzu~001BWNklgW!ZNLH&dKEwdtZ>HXw4#R`Em_I zNR2}=9E<3E!nzO$SDYb)!ojxTD=KUbQAEu}j+}s_*{7HaAvtD!5B50;eh4}v`xlSX z(FKeMCCl_r}UC=`cnuUdB`D%@tPgK(cT&b3SOg=}_Ev^=z$OX%solG3IJ1V%g0 zc44~!FV5iC9bI!cnMSW5K}N6)3**c*qgu$Yne^^@bNgn0``vK;md;*4e}-rP46p`J zh{}2P33Lt+;?yG|V)W%^i1wZw7FeVi^?0RS`ZaVd!#TN0Y3VQYy8t@_=p^NR^Gllh z{MPQ*CAy6v=~r6)QGFU+>>#75KJ+fL1x6%P9V!GOM1|B*x9LCMK7Rc1;lsPb=bv!? zvamG>n!uShCdWMs&YZ?FFN~;+HiI4})sNWqNQ!}&Q_V@IQO#EjFo4CDD97Q%OxHtP z(7Bcdp|!!+Ay(_Hr%!8yMl~;uLtvCvT^R$DFQs6LsmHSKk?vq3Y~k(b^eCdOV>|)~ z9MH-;?Ne}MC?ivcYGvMxc(#Dqz!nfXj~6D0W3*07#26te`F!&eYhq56Linc2gGYJZ z8PA4f3_47sA2yH3wpu}Pk;Ev5BJzOBW%H?dt$T_{cO5b#;r#e$j|b-2GC)jngb7(J z0M_!6;b37wh5gR#u7=CE)76{l;3%N{X8JWX5o<0G@dtLT$+;G z`iPqKp(!UXz}AZXEfh4WRx_|8$_hZ?x!eO&f{VYuwaT|EF%?`!hJ&d%q zBpC@=0|IK&n^Bofzd1MK4$ZhwXYYPqj-QYZz%#KWmoN#PDLPxrjBJ@0l{UQ@H+tNt zen4d`V@yyL8rC%Vm6SdbT`41<8o^2xU5rz)9-o|tf@Yt7ya+hkekLRLg0uuFso4r? zr&}&cj@v1od8Wi50`%6Urssi#O{za+bo^ySo0;pwd}6dP_`WV87p){XC1EvDmQ{CAUgdti-zh&dvkuM!5nLWlkw zn%{uqxcbZ2UPVX?NvD%bOw=s+!08@5eQ*`GPckIuSO;rdZ({!G@!hDP)flgf3Y%2mFXJi6nSY zJ9*|nJ`O?|lMQPG!Py8nS|LI(N*rZcz-OXX>Hy${kLMqgYJA zngZWP8;D%yKNZ{0A+{GM9#9Ao5QIq)Rap4pilYTN4qmO{ol3$wN7ESq06wy{vt_pA zH;q4+S{8e>d}NE`cHG~Lmv8#(xBcbIVSj5j7uZdx20+7%KFn6&fxv$*H3jN!s#4Ek%27| zf+4M(x%xB@C&2;?oi#>dqdA591){@I)h5&%nb!OP;VN%_I$^fe5HHykeThIIFcVH;>u*Fl~xNe<%1Pvjqk3vGyD+SxZc+ijh2r#bvNQTiL=a3B{fH3 z9Fg<7yrG$$ZQFr6k>unFg7t63y)i4JyR6U?(Z_NUMeOG=rQhLjU;gZn)y{tM` z(bMVLPDD>Tas8(e^lxnjBXo3_OkC1_;ykDMN{b>;bmE>u?2rh_knWZ0Ne?)l9X|bZ z`26#H_hCMKB6}oW6tO}irFB2*aihBtwE^;aa~6uuO7cD_ra}V{g+7$7cklo9_({!=UvPP3UQnU#do@gIm{50s#10} zM?-rKnQv=*17Ll|eBt*?fGsAM6k4Tmj4tukIIbOZpzxcy=`BHDrsGC4L8}o4Z z$shz5Pt7Ak38w`y3K!;M8B>m12J*UEqSLSi|58+pij+aslOD*7*llP!Gat?mAAg?j-rM<( zHK<|K{f5kdq}b*QIasniX+xf`hto{B#SBXOUm1=?)R8%Oa`_p=CKDB5O<1!>;(jV1 zYAE@uPIKa0#n;-N-qUmuSw%)QlTQi!O`d9T_H%80&zJ$a+HkP}O$8$oyrJqDM;mf+ z8kWjn%OQuAXD-n|BOeZ7LBk?Fne1Ik)C6gavVD_NcM1GCAD3iTTSXa^rjhL{F|BNk zA|%Z}YE&AGVoPAv!jDRi!*teNyzH*N8!ui@=QnC|MrH!)T#PLSgoMp08?n%2Orw=I zrTAXc*BCymfQr8BoSn9Y-`c6P7_lxtjKOmV?1|WlYu5@v_vAi{EnkA-_@vy+Rqg(E zhVLLFH*09WE@b6Ffseu+VNL9%ZT5!4EVz0+EX6?6Lx4L3AZ9`&(5OZ|bVIk@9j5K$ zFx`C^kM|!C7aV%*dW$L^#$lB2m=X?rl5t6zzA9Ly-B{62j%HTLK07BCVYQ=xT$z$e zIOs_n6&WF~&T{GPpMdO%?zVbYLh%OZE=DN?P0R}9Vwd>&$E1t!_tD2ksnl7LelkWX z+X>0r4h#lev#^$Lm``FVIO!W%;!S9*CJv}RKhem=t&&}FvK&EK zB8r!*VXHB`&-R3YW&!|^4KXnmA~ptSL^BVY^WDXZ@#d|$e5>}is5d~yxeGBX*>MB{ zpGhy%bA}=0Y$-E@IBotOVv78i=mNH5k!2G7Erf-aB2 z+X3!Qeim|1bVJBsOPe`7aaCO}>39?vMIJ#K;D8JBTbnHaRRfatX0Zdx=bKq4aD z?KG-^#`F2^BhU8;^O29dEC34v6EcMzBWq}4$Ff&Xknw7~azFlL=M;4$!h|6j3s(yx z4oJW5i;G*bZuN|8Yb0U?t?-tIQO<}!L~^`j;uw7BYj{u+vgkg_DYs`r zerdEYQG?V(l))>xxo!(im8`G*Ki-ij*@`EtX*o?%2n87?7$Tzwj#k(uL&lnCiVYL) zqZoJDb4+wl6dD|rM93ZV?9+M+BtIvNi)9PA05KVwhN0gK{ifetj@!#_cSV~^?00}2 zfC5x5G?QTa$XPzd%7{g{mHB@pgpu$&TlwXYeWVYO&gaI^lG>zOa!B%_lsBGXw(@Nd zdJ~5uQ$Y2YCiURXm&3@7iU&a9j=ap*&Sm>C1QB#*}sIx)1galRLH$}x;`T)|>hSA3xy z!jn)aX@UKMZ8+lu3(Qo0qoio95>aZRJ?v}p^awNmtW-(fcTsY&It64xh)J|LrLAC5 zW-u7!I9iaJMHavU&ZrmFtA4Ae^Wp4T@2~W9uKFFB5!K-HI6HM{vP4Y_K+FINt&;#z zks7RA^)G8Sr`R5SDCcFh;5Pj_vB#d!o45ABNh_DrG#y(X3Zhc9{x`*UUunoQn8S(o zx0{jkc#mm)CRwNKL+Z(l+)c~lgx$!x4ar{rd zuo25;)sRW(uh>6QkQa4xNkw8xw6ZI}Uc_8s<>mjLf zIR3-f^>UKpy$rP@yPN@(YZNgAajChI(}MZT=?kC*#nh1=yWLg4zv=eZYI~ukbJEUT zNV}L^!CuS9O^kXsEEW-G)M@3cHqr$ty#xY*@{#$HRUp5csqwTAQAfA=Qx?j}M>b$1ls_ZkZnzunHCx zV)G*xR4}<Kb-s0W!{ssOZr3(^c^(SRP+bkOIdT{nIe z3&%icrG?7V*GYU`{`kD{T(Rknb_)eS&*5#$mkmIq2+M5#(mq0$E7ECT00}!qsxxMy zZcFzc9`AlV-ZL*pV3(oBx_q=Qx|=+xO{mH@9P^WMA21}`5l)Lwj!t3wn>sEvVh9Pz z`CFbsa72zZDonnXC56xU1y(N>PnRE0K37UMkVyo|zQcEy!aE|mfcGY{;V;r2zPKF%5reqLY`eKt@OYoBxe!r zMkby0OMVOIht1NZcZ}fCIp1&B+Z@bMI^&8M5r~$xu zU!io!K}9b_!1oBStLO*mmG+t}cabDT+?c@Z5GVJ-7bm5w3%V}ktFAhKa(#vIIjuvl zUTHZj{ZGcuutXXDc4^BNW~IHI+WZEA!6mF<0ISr7(_ugG;~gCC*gh`y zz`P(31CoqN0Hr=7Bezfpfr+5xdR&ZdhB>lCX?M|xYAp#3ZA_^fmwUevSGR@2j!vc!c zpvSG6&ee3Tx0l`Sx|`0Z+o0-!44`K37DEA&%V>`PlA5P(b9K59n^zqzonB!j>^XJS zkF47l=FFsJZT3|aHJ^zkK9iv5RHSwPnU^3Y>+k*!sVA}R@=(j`EX0$7(^k}5E{d|@ zV!3clx<=WEivn4 ziydI~M+jIMjr9)%1#{W-)`)N!tRLPz*ugRhX@W?PDvF=sB?ar=;vm3p=qUl`sdsKb&`~*VOWr1LA&qYHkM0MDE+Uv z{GP6LWibIk=KCSvix4G~MPr1ybbLf1KnMV708pezX{9@>dQv^P#apU(x1gaD8c0=KhwX=Lu_>g8Imp%Xb=ms@3MgAO`B^pK3sH z{kB!duudV@nu7HMjZr&EJ3OhC_qlu!lX-c&oJv$q=JHtw<&)KT#~*6R`y{SvMu3cW zEWiR}85h*n^kgO)cV=@woL%+1OFf-qw?#ED6R=_+aGAkcwkt&|B^b=kzGc&zd;9Nk zwV1Sw+8Z9i>b2)KPcXFSfc4)QZ80q8914H6F?`jk-|;Gz#LwT(g7ZOu0fF0L5Q#B2 zDG-)m;Q?2MQz4QFP^Z}EomHATG=maJlxOWo6j?%v(w?~6 ztw0Qk-D4X<3yL)povgw>U~y9pvwyr&j>*D`36i7SobqhX6prdq{zf4jmnSVE`~0a3 zt8aC)FiU#!4G_AN;h#l||K6;#wzU&O(a=uRp$&r4x5hf*G!clSaf26)z2Xl^qaL&w zxtqugKpmrA=rbI?uzg(k$P5J5pWYz{M}8E$IO3F4aY0)`r0QT)UZTHjorVm)m}W~B z4B2T{yv>25WfWWJV8X*`@yfQzm(rf{YnhX_Np@1wi>FizsXd9Lt;6M_zf!SZUWGGz z#^BpTA6c5fLGfI0zDSUQvt;)oB84No%!putL-sVzl~W-mbjG-ZLAa1TLdoX;6ZFAy{Arus|~^Rs)!go-X?B)v&+p_cv-fgJ_b-0IZ@KGBfrn4H5(t zgWPnWH5*a3V30dw4f2a0`T6T^We>SK>^TCL5B|Lu{`NaAUy+Wns* z2nigL5N2fih5Q-zZA9cCS8jYilwgCB(B*dY=SUQ|u?pQ+Ktvt&V3Zz~{^N4@>*3+! za=2TpB|wb?=r*$zTM~=RMz)9)RfxvHjyfOmlAfkhtRw>F;FL3jFCONyJVBeY+i~1# zlwT-TxO^j@rq)$~$_Ct##_9Q*_GG|^_kgrQF-tKYS9a(k#v7S&QOV!(%jv#l#KdTR zXp_ZJQZ1yxNMW=Ru&m%+h#F!OLY4eS2E`0nnj%}O4p{5PbK`5PkD(0o)_kuo=U2rC1JZxeyORtB?Z*X&F1L zTt(-E@X@?#W>P&Z31J%mJg;SS&Ch!GbhO2)1CR1qCAAcmsD&d}DG zv1FnUD#g7vs#Dr5+JG63_n(%-7hVnvSU`(l5s{*ydWjDBi4kosTyB4pN29p%@Tnnr z&T|#74DD=`Q?1a7d9;Z4srpwRDC_1Bc`-XQEqFD9|1xVK{MYZOh6^S8PFm$pRL#qJh8$)HI1Cuj1l z1Kje}-+cYvqSoHb1;(T^U;)tb0HOj%RD{Z@D|`k6f7Bi{?1+ejph+nr)uA3pkH?3P z%i|Y2Ke9a#%r5;n0#gwA@;OLsrJ#M{NKKx^7u{_ts zy8W@fT0~DK8s*RgUV>5j0DsIA&sK_Y^tI>MHOPB~7jJX8bKAy1Wb32&yi)*-Xn|(N znQ38#-K00?-R`p6U3L2lJ)TiNp&kG`W(DjL#Zii$mXgLb+Lv=BA4~`3z=-CG719Lo z(745opZ@>yzIDxU6<1UOY$vH}-`1RS-v0sjtX|z+Rf*C0VFZ!@$4R9xGn;Q_b;`yd zKzmfdWiDjn(I24!o`lp>*T<8j)z;Xl5ZB`q{P=crYr5el`E3(jXzf|wQ( zf#48vKsN?IVVK-79f#fN^;>-V9#1b6-y)rIB6f3iZ=$>QG#?q)w=+G~(3R3iAZ+2X zVl^xFcej?I>Ff44tY~_>m@2KU-)|;gF)HECL{8CkIgqo*vUw|Ax-sLoh=9v*FSX|XKZv^byn zLq>bEQtT;A&9j74d``6bYzbjX`X=OI!X;aP3l0OgfMImILwNc7^!@AU$JhDwJH=Oo z7%*ZIK$feI1cju=9%M#htu$4zYZ1>IRIpw`?N^Ni*7(|_O(eR>(;>n@D#gJ7dA3ju zNDK7lha{FqwkLjwhReC56i5ZcWyzc3O_O}LK3_1jsyB#BtN?m{1om!jt`%P$Is*a$8dP|yL${fKu^oDXUPYtw~t0F zQV)&cNk~^(j$u=1(L6U%J}H7|Sok#+h*uiXxzV@weQoKro@b;GbZdsPu@{^_2pVGt zUD0-O0kl6uTUjZUVMV~8w@ALiqOri5s3N6!(<0VpA%(c4Nt6**Ok%{wj){0N`Q)v14S!id}a)84^k=^J6P8be;x<7vZI=_97$M17|jdVgHgc;E} zAcCk6q?s5|j)?4xh;T%mER&ReE1WF2itS`+*0ss5)X~wrvwu>JEX7JAyXz{9B^JM4 z`W&;fASee4EEzMUB$qD2NOw^rE-LS^$@nPE7cu~Vi*Rbuu`Y5Sg4|+xj5~hC|EpRv#OeF%G=6EDGV{p^` zc>ig7{5(8<9v?r3>A{T$^b_F7X>SF!KU^aJNtBy>O#A_5Y|Bxm*qOK4*uu#&#z z=0$z#n}$;Ow7!0`g*=ryXH_%7pEoX&X+e^v24bu<+Bp4Sat*v9#Vve=m{f34`)b-n zA&Z3xrB(rxdURR&ZRYn&0*e}_+=i5u($eHt4W<_bm%fLNE9qtVr#zN~w{mM?vTOS( zb^rh%07*naRKWYT*eyE17rI`4ENyrIK<5#IgAn|PjRyORAK7m-K@bYTx1+j4~Hr(5xC^ z#+>)Y)lD^k)2lDb#gU?tI`znTlbXY7!k=p(_}OJaH63-y^rKwinat`Pca4_*Eop>< z;GG*Vj6Q@ojK>hb4X4+CXnv#kN^y1sh~$zM95X@Y{t~*cGD{`3)QbIo0kNEx%H*It zyR-9ZqO>*b;uYt0rK~KL{xebH6GN`mxba#V1r>QkLYxt2!Wlxu0K@2~`{D4o`|y8; zr!V2|gBu?(?7@YFn)7TmrqT|-s30pSBlMKc95-fD*P+$jA0X@q1?5E-ME`cI^{NUxq|KyrDHv&}#23YuA(!;qz}63dF@RsmiK?Pj*9jI8fN zenBDgtJO{qdF%wY0!c0Wn16_blMSw`W+$C1Hsr$6V-qbGdRmLrLfOp>S~z2>%z-vN zP3f30<-Dz4XBib41`UAbGliNbwU1H+^UMzB(M>qr4~OUJ;p5_F9uALgyjuiw0HkuY zkbp(XFeSa+@~7J%hLoY$Sw-AP)AuK@$^MyqD_~9OnySQz<(8*|utH)q_xf zaHUBqacuU5k-J3_W-CQCH^k*szA{>G`$%;cS!`QTH1ZdSN+y%Ks;JfIt1)I2PnXOA zak+{J-GnZLFu8H>$340c$Q|KZoC)X^ak(e}%Qi_TOd>}JrBobfNe>%B`QV7t_*D~Q z7scQrk-h<&mtINJTU>#yz+1$rEIsQF&gjn;DVc_`2$nt0nZL6(O zz(Hv!EBE%Pvyrq5ndXs7SCF2GiR0n%c`sK&KG{T$Pa+oZRKEt*-|AXs?Dp( zD5%&6C~pN~Pp7UGrARt?eixZ5qh`LZZ7)*DCjhw{8&u|~;jRz}Q546*4@zXzpu7g1UZdyYj$1PlO!b0MGy z2+j}w^`H6e@A&q0KK+Pv#B`xcx%JqABbZa?Li}z_Mlu_>a*ozisyQY(l<1u1cE zL*K@HwPMjXX?14j)C-SUUS#_&vcF5^OJj8^2V$d(F`BMB*j8WOWMc~K@bolhpQ7|Q zdyPx+)s+)b(XOzHmj)<1=pZqtNx_%6SoDwpX22uSk$`Z3aX;PvH9meBA3u%vAH(5; zAMe3Ud?6eP(c74Zti?&I5-24|C$>1(9_vqP8-E{gf9Dju4Ylx>GFuxHILUa%j^YvVw zAoe2;vNLePPLhrqOg~z9tu-M*)1>j;CJ)UMw<5~6B>>Y>nL>-6O7Sxyb}dO;euXHA zg>F|>1BnVg33uQXc zMZgoe8T<)d90oVt4g074$N#tc_^;va0}l5t?30f<6fo=+w{?6&ah)Yqp;C#opFQz# z`8Fky$f2+z7;*vXhBnRA*P5>hfW@a1rP z`8vORolmbw$4KOn0MG*wMNO8o`#fZA15L7yjFeqlAL=H>OzBw?NzOX~tqpAF?p6CO zKT8lt2Har*uO?fXtjTta+nyTccD!nryz#j;Jrv9;o|WlI)L;&}+-sra@^a!?@~cqk zxdkz@OCqumZPX%t8xlc8h>=bNCxGY%H$ChQPs9C(;r_$;@Oij<_R|5}1UQhASY@B6 z;I8F7fp?j%^Lpmhwi}T@Z*5~Kav8HPn_P-hOfi|XKFQsP!wb`e9LWYM_Vc z|Hwj7vky627$|e{Rehpci~wF&Xf1%54wCs%K#3nj%*(XYDis;B3NjzwTCGq5EdL?E zCHN`=&fsSkW;fyVG~9nWJboS@Kl}S z5_VrR&2ObKX6+O1s7hIVULW{#N|&Gu22~sztb}@lvc4>B(5~z0W&qb0@1z%XU$kj# zLg(hqxR`DoAfOB059kJP1NsnO$N449Z{Ona2hnjs)^rtP5w;mb&RAgK>wql)s^lw0 zrpw8}vO&u(u9|z-v^S}?@Kw<^A7MBpQJE0PDI*0cQLIm)q&Lqwq9d!2eX34r)UgVp zz>;DFE+|nENP}ncv?otacA{mxLM57}YD*yM3=j!tau7zC?uNtjaQAul@M*gLINW`3 z(*yV^Uo8a6PSO&a&tH3Ll`)dWs2h?M;c{P&grs)44ZQ!XA}+WPJ677n@;jMeaN`w9 zt7Z>lWn1$PYIfELqN|E}T`yA2e$BQe^N6aPq9uYHvW#4UkMj3eb;Efhikv8wP$ELs z77+klz`;2m0_?`)FuZ;9Z-Ddh2hrPdz~_J*z!Iqq`Tlm{npdz{Bf6S_RmsKHAh0%! zLRwc^Na06K8M3kAS`;I{-~*a+r$LEWDefIeDG#?>QstoZa#89DCcIKCu(7{|aIS4D zDg$|r;;%n1c`u3mkFexS$taVv#|nCH#EAqdBVMw#kkz30jD}L~+9mQ6PZ3V!W8rG6hJN&TzV zY}q&JEF1FG(_2ch3Y8C}@8i{cXDt?IyI9+!zLX{O2F5m-)Wv#+JXq*9a2ZFxs%-zh z&jc*_lOG9VwBF*a>TSG|qG2Mv+@=Qv49+`GVHj{kzr%6yRsR-GFEqar%>>btxIhx9 zI4ZUP>raU^`L|}E{ZVeauM4z^bmc#;z*N8F*;I9X0|;lN96-Z#H5O4@ToB$uN8}4A z^({yoH52<&L3$`eDo=!#^yNu)iLupTY?NJpFw2>Zlv7k)N|hS`NT;#I$s7nUBAz0i z$j{^`Om4ahhv)I(({%q~diW3yPdFaXO@LDhLC8?a}jED$l^fTcpx+4zcL)bm4zvtes%X0QDki%aBsVpZ|Dj$a%l-qB+B(~TChJ_S)>dCD@`rx9(@4k0Ucmi?zfAt|IqRK>GZM)>5g;sX=h}q$<`OdH(*>{70rV+Ar!E$vr~f$ zXX-XZq$EHh0_m$}w3Hw+%{2R{7+n#!B@bu$y)ghu!sUNaArsoVYMu$|UxKP@!G_Pa ziVmP#%a(_Q>_?)RU`8V6Y1|LfgWo?6_n&qTpQrne{_Yva1A-?&0Eg(P4&?{Es;M_M zCAED;7$iGOi=3!Zzu%TDgox9lsvUIhLt>mc+rcj^X8ad_)HxI_Qk-S2qN__NFmr-h z&=y{+S5Woth*gVcTkQ+Vz&oXDhLF$fi=Np^Zg-;;D3MGUTcsxi0)X=X6QT<=45u(2 zeK>u`7-^12f|&q(3XqPX?Iek=&9tE`!cL-N8nuD4%M#ZD7|4vi4U)7mXfmqCQ5h|S z^#d&$Y|udrYtfXQFHhQ1v=+=x+9ZIeD z!Zvc2Y1JZ=Uz#xL-9mT0moB4Y=j0tOXE!XsSwHmkUap|O7MXdYVMDrjN9jpF*OyK6 zot?c`Yh%i&C#635y82#T9Jl;;@qq#75uJw+oDb+cx^VJCJpPEM7m7!s*#kIvezojA zM){S)KC-b#WsHJ?x2ovUVQ5k}=?iTrGfSpi=2@-ixEk4kbOn;~9))66F5{nny+7gE9@i>tIw0IUpkQP|%z}Z$7O0is zHVoW|)$(gLSkB=~&R3J;3ys4=MqNM7kCE1VDQaZ$Z#EJ$`rL2lE za_h$AZ#9>)9kSz-jDBh`1eGP08!XFUbsEXt*ax2o9Htdq91~9jN5YdEA?$~{54)!? z`=`(0{)68?xUhpn%02gACK3glVs#9s5dgJpvV8byFur6MO7mdbS{Jm*RO7^%7hEb@ z*Idcrm3wXMdN5fGu&OVgG<@^ci2a47BcWHhz^`l`E>J02yy`k5Oi#3VSLsrOYg&@q zS~f4qh(JxwzNbvLgn%BvgY$^qxqyCh!wz=`2m!sPx9@R&h4|(O5N0NHoUN+--3u&I zko5)8Yzwl2rm1IMVe3@~0v+in4j8N4E4>jY-;hjl^WG|a)TPVTmW+Ps!Uu7mF~!)} z9;E(k!9)zLj{jfBDxM=rMJ3Z{lP`pr%*q(a&ERG?P?(0pliNQ}4`23=pLh4qxPQQ~ z1Moy8T_T%5^C_rck3t)$fUXF;fv5s=J5gwrHZnriwCd~6{@0XHgh-*?@*^#eOE$~w zNO`=WV6uEy1@K-*(^36np5C-v(54+hD+^UEu(4lt-dIbFzsnZG6e~j% z9RMK=7|=O4j$;U69*5J9zfV8D&aW`XSBT^=Is}L4aQQ!^lmRkn1!t0DVNYCn#njYV zCeqfaa7Gy$Y7&q_H>(A+GgD5-CTG8tTr{Tq3dSHJ}5aNJ|_)o(Lj1AEw>?^X}vS z4Nw0HcOU%tfMEx21R4mv=5{<+8B$kcx|n<78$)bnjAl^>GNy66MS6{yY%n!*kkMdk zkYqJM#&ew+LPMz6TB{jDYwmuoSiJdy3wC`mV?Hb2ZG+>#mzTD=Qd?p%o^F{0m9Jzb zbZO0AjK%)9$^}#CERl;fKW{PhMF^CN_EGmK0r$bd)~l}{GZv-=3!V5uWNlnrhraA zMN6bKgkyybpVv?r_}Wx9JW4p5MMxd;>Vm5cAPuzOSc{x}uH=Jr?DLRHgWR zsIghgYwII<(=!4!Wlu3r><+>gM6H*+#l@yCv76OQioclF=tVNLqbIDJhYc<+&M@+T zz>J-RI}?>$Y+T}eg(=GN^aON@?nI8l&QJHl-G}M%)AaahxO?*ZM;!L(mjqjWnRa3| zAoH4<+Z2CgAwiTXh>OL>=<``dXrem_eS|6^!kHzSIWfy=L}GL`wb>?LHcUnR(%ab$ zRhrRQu(YTImvL>I^n_%hM)8=QW`_CXjJ{$^Sd61a@ZqW2bX$bLV zCSX+ymfoDzs;HmDj8BW#`nS>H)df&(=v#B6FGsG#hnguO^AG;nZdh2qKwMKLUN2c$ zX297E=nvuW6z)Il9zRcypT@gqobE6zw+ne9&&$4qBV^~uR^Av!gC@6ChY4h7MQAY< zx`V=yUTX3cB+8=5f3J2gN<%FZF9nZM1ihdkYMW$BRg}%05z1{@w?4F5-^lQKy01|5 z8lNJk@=U1{WH%C9CPV0V4^?7P6RW>7X_4sr3*? zy7defN-U@~ij3rW7NuLHZ6&8OE`78U1QRcvosXP6Am8XI($d=)el&m!8D8Z(VQj_H zBH_GvvjCDG-SoJ>|2RDT6&^ngch7!$z;M7Y5)MF)Nx91iRAk&`<)qWTNb*(uMQhc| zB7N2HpKakc%(q6voMQ%KLFUX zp_^^OSlQS)ITz9fzxC4gHRYWSFWEGSoeH|tG~rBXct>tJoss>?)TvC=96!*;#zoJ~ zTO{R};%!gJ233#21vmI%qUmrNcjyL!aD4qn#}}fLqv(+c!9jG8qv$!~SQLk#xnDgY z6}@i@nB6f$EoLd|lClCael6IBM2m-gCOhUs<9N#lj{=obtBN2Y06M-<4T{;t#NSur zFk3LU#^k@;PmxEc=}`L10mPK?q4Eq$;yWUydxek)A`l^-03(FxMj9r!yPxhp-aUQ} zAO7+WAKZ8cI01x+fyg1TrjqoPOw-DhLx@6WTS5T}BsC9$l`UP~vvFP`Qf6CNQWJ=_ z`kRK^s>yYo8~*nh1FkDw9LxW7c_!2ndU~kux`vF3eIXo8#mne+ zLv)HX6CMd8A`Fv1JnbGn z@1DL)56{Ey!R;Pg*aM6J0mv8D#+DXPIxC8J5uIsRB_*mvBJp^&DB4eoQZzsB(gb^t zTpNzw*2UF7uPHa=7(x@2j~cZ^B?SG?W-pf>5IUUi+H%>nY)PD3mA1liS=s*eN}UGX zZ&p+Crhq_6%eo~g-sC(kgiF|n8_*eB79VPuIn|n^&-34%HU-OyEb%f3pL+3{0n9&Rh1&4 z2B^eP=<94HU0c3#i#MYm(+$*de>lB?z85K;6<8)G)E;7TjWHc)7lv12X_JL?S^r2tgb^Tu zix@EMro+?t@Dv`tg!@n7?s?chxUlEQPrgySOsRAjmrGfcCz<7uN;<;JHn#anJKti) zPibZ`Y=f5g;Y^FpIL;Z;^Q#H$jcNM&SPgmBeZN;i|4%AZcC5ka-wfE+QVCKudr~I_ zDA%5d?E?<|=v)YN+J|X(9CpW--N}EW;}3|Z7*7yqpvYuBe-Ehi1F5eU8kb0y<^qXS zB{9?7PJ{6Oe#_94f|>Ng=VtJ%iG4QYr_S>{dhq^)hQ>4#1Wxj`1RbNa;!nLPzMp1@w~- zyRf_8Jv{FoKZN^_czDL)uy`f%eJ6Yb%GV4w!hdq8a9LJL!hz5}l#ZMWiB-Zw@M2b2`endZE zIJog4?7qjhAM^2LK7NmHFY$DwcybGQCQdAq1gC1T$}<)z3&6-UBHMtWNUeyRfg^v6 zlE4*dn>4FhPJKBdUs!k%SrKpq5b+f87~Ls4T7=t01t?r5e=qKuVk1eiCN9c^%=s?N z<9T>_{?$<%7Qt#e8QPi;3#Y=m}0MP5Mp#r*L9|7H3fH0l_Xo(VsIMe(_@s*A* zZ?E6petbQ?e4CFi@$`xmk%*;rN|D|ei;0>AXTDXg$lMHF^2Q;EfLYEJLbW^x6v<*a zH*RHQO9Fe$Nk`HPgHQwx2;w}Sj&Cn7r`H#XGsMWJzDZROjD*s0Zl>EJ?o`|gm#=)` zgCoi6c=nOElgKW+e4?%(Ds!BbXr z({A1&Sq4#?s$5d}j-&**fgXtq!h8CK9^KkpiBEoyk!3q7T>_aj;F`-1DP11Pp&vv< zvCtBpVFUo0iB3o-qSJi(F~9v-s5zZp>2$<61I<8@;!G5QB4k1yMI=f-j8w+GY{2DQ zV-meeosvEv-?AfZtD(AVQSJApYeF-AGTO^@hzi)NtrO3HMB_Ch?6gK? zRdPy)dAY@fmc~f)JfDs+o+!@97q%6vWA2aGxgV-q5}D|-Nr_4ZuJrFRGlI!11|hbC za|0!2GTj1RPIs3ROUG_Th|W3ZG3+pmiJ*rO!h|>=2E^scDo^08cT=+Qm?7{0ICi8? z6?P3xmmbD;%52qk3!C5Dntwh`|CNTAB7_JbYlAJsz<7fhZHVB4<}{RxKYSH$UsmX~ z@?tDEP!`X0apFZxx0qBeo*PSUzQx9iNB}d$8RC)R3~^r05*dR_4FCWR)Ja4^RAI5$ zEHZv>u8y0;#;+`s0a^KtLy~j+rox2=Hc}y2KxSt0S$9?lh|MK2#)TnK&gP|(vnhW%%J~hcQ%Kx&>;6g9fb1-vvnt%SZ&6fot_`7$ z7ajm?8%XnnU1@cx<&MR}BqmiBoS@*#g;P4KuyiRZE0~=-9U_8rtZ6OG7+GtPpGg=xqCjPV zylNAjrvpDzl9pL!Zr}R5OUu3ZmjG(LTsHLi(+_nO3|RJRFEzvOFC>24deyS9wXJT= z87WU`_CqTK3$rtcCI@Kq4Qg;?`|B074$)!U6}^!UQNQY$m1B-Vh)XT7`G{6cz+@_ zH|3Xl!PIVx*NB?kp!{+niWf zIaFT#u#uMYcZNc#rt9W#vAx*AQAx5@hGTs9n#J^9$K3-IlXZP13T0tlv?eFFi!~DN z;`c@@>Ytm$9PccqOQM|pp7W4MunW|!+Kz4W+6W;s)yRBdd8Hb&O+ruM0|=$JBxYT} zrrOxuBEskBuYpB1j@+E`U+jNeJ=?mOtNbEDO4-=N=CTo{b5!rW5Or`sJY}95S|6^O z7ATuSTk=3YaXKeaUOhy4MAL9ry@g1C0P?)*JhT$SQg5nV`)Lp zlUZ}(n0v|d6=SRg_hv6u>)mg$*oqoDY5pQ%7xH!!ZxVMf5=geZp=o3taGeyc^NkAn z%|E42%lZ;z2Gt(1J(X>v^Utzr7%}H&?%nScMrBS^Dg3p(1&Xhm5xV8nOSnihccGPF zQ<0FYdCjj-m5aMfZeBKt_V$)90;W=0mB=Sr=;{=Wj;Q(s^*5GGttbQy-K8u9vFH1; zK&XeJ&O=2lXU2khVzZ zW}eF2vbQ5oLM=|q4{Jmm}nuV@H*;OR#PtmSP#zk z>hfnO&&6$t-&j4rn#fRtp!dJ6?J7NfDylVSf#}@*0T+Q$bIzoMb=z)|w00?*xhrzt zzDW31)_8Tt>deNVHCt!rw|50g?dfu&|NZPd$KVjYSKgdh>7+N6@2RER3Vkfh$g zt5o528N2e%=Ew?kYA;}C8cJkPCRR)VQVOm0N;utEMbL@$+U&NebQKGu$c4TrEV1yA zYAov{Oy}tZIFG=#!JEjWl@mxVHRoy2D6j}}HK#g5FIR5FYgWE;X3kRWi^#gRTDcw_ z>y`6kNC`T(4)sz18Z9KhTG`UFB{ZVcH?lPDXz4>))l~ga?HPS-A!_XS3)`07s2gh6 zy_H8R<1!b#RsC(lfi|i%IyLKARWU53*_lR_ENIt++a7YXJ6c7G^03xt^MksDnryF@ zywI%~t7zp0ENye<^KkUH09Jp|%6s0cLT9Y8vJLGfID3n9Q6pDx_U**_sva75dasnm z>Na~_MS^-RE`q#to`bX8`vR9&cUhBMlLRQlzUY-i)(qCuR!U8C(6^VcC9Jubq2pd~_ zH+$p4q7|tg*(`vp(ew)(lP*THGXm1B#Ilv{x6_=<8@DExru5L~(hbwar6rqIFS6E| z^Z+Ebg0yo$-y$nt!+_j~((`=1=^>nRFAXPORK=Yy9d+mema!twvVOin7(|K2s zi;;~W1OF11Ra&3|>ZZ`HcZbw7>7T`( zMS4i<`b^Q2`pH}?A>Ac&&!pS}*4>sjFzx*Ia`g~uaj9i0XgFb?3nMb$Yn{6!1M4DI z{TH>~)PSa+R6)3EMI%rbs&x?iB2gGX=JC>Ttfp$G-G;pZOF(O{a%D=%OVC=&jYV&m z>vsLS4ekid0EpjQ5G%#*k1QBtG#Ab(>78$KlkdG>0q_<6%3cPW$| zX;Iw?_j8xL40c7>kustVkF-*-y0DbY)bPn%*VL2m_ssp|Q&L2ks}L(ewdTbM1663h zh_{i8sAN474MH)!qAS-{6n%lyXSLmCvSZAO3@8SYC5pxd=}~ibRTb-4xsXYd0Bbg- ziq&=ac@3!m3C$<#LT)pU?v|nn$VU0Ne8eA|=Yr>#sq^JonEEYO8j#S^&J^?M`Y|@v zpR}OvNc~mZ$C>n8mvjEhs$WA6C7z0(cA%L|ypQCTY^f`NT=MF&-Zz`zu==xlVjSUf z#&7+^nsb*z=H!;^D+SV60Tr7mX;_r^78Pi9hrRzPphPQ8JZ{hqTj>lgoBdT5g3eHn zteJISmatp02au0s`L)z!Hg3P`l$!Hp!wCp9C-zd?&QhBwvNQ)Zf(n+!Gk$?%Ps>Ks z@by_UGM#IGgR`*&;~jQ2X$wGWO|Lzc>%K4Ssh*@8iT~2%uu!^|P(*omq53Ebj5@xI z%GC4$jpBDfxrIWR*ie@Cg+MP?y0i1r#XcI;%0RDO0Jqsiw##nsEWPH04Ywn#sc)*M zwJFQ4RGMGu0hEcSR*35E8-itiLX5qVm(|1V5;RcQFHHOj8WNOV#d9=TYZvJ+-+X_q zOa8X<4$>rxl+Z1U(nzd!;AKUBWshM=a@|e?9gnC@)O;y5>RwnhdYKlR!QtC_>e43h z=BAQEMc%B|BFxOSLL+tgy5SX3gi41X+~;^Ml}IHm8_*Mu+e0hubd{;?eg+FXD-NkQ zrsih=X%?)0fRWi(+G`5wGUvfX$k!m#{I@yU*v3WMm4VTs&A#-9H{3&bduqO(=;*3~ z72a!(*Dx6y{&yJ^>)!bCE$PjNk&>=GjX@0SNl&U!euJPyY zouZ3z@iiN!Z|O<1CKqg&lSa8((vYZK-LOmz^HF^QVBS|}%o!J3$!QuoWDhm7mrFSX zsg5z;$s6t68AX@t>dsZqtFegYn{#&jt);DCm6w-x(950F1-C;|x0Y=uPFFR({^d0@ z-;`f2ZR;Y^-}p%6RV{+^mX0N(UjLvgt3lDAF10YKPspOJ$jja-cE4jq`b6_p-)&Hp zxYn#fSshf7Sq;qW%KulpguO$AOm_h4*2q3MkGA;=Y?4UPu!gLF(rkB2cC=LU%2GZo z;>ng~H&**;^;E`FlO2S$17p|Q8t;&3y!lGT zn)cL-G-QU1No4ukNN3H|NjXy_Pa2>cOTN? zsx5DuAUUX37fo%)T4vTZ@J;0It(&|0B@Wkh_hkVyQA_Pdr<)M_1V_!OW#cfGb2wCk>QLs?yQFzR{9{NA!XAcD)4 zu>Y(x&ojNY9@ez&e3kb}=$4bzuW~mxpQY@k+&uLEb1?CDmW#}iS4ikLE0;<}S1fWY z4sDm`XxMDQTOG)IQB!;`ZE5*&Gim!eyes_}UHGSL;>{&%b^i%F`w9vDY-`I;EY0;+ zw!Yw^3&(bkLyj}a*}2yN?rBnM({T-kSwrsT&VFKPvDg+Q*XBm)CJfj-*o!A-dz`oI z;IhI_d}m^00HomA?x<^TE9MFNiXRy4Uy+S2os(WGOH(p{NsO$wgP`+vdno}?2r^b{ zWp6fa6WDM**=-L+s`Oi?vHe*k`!~q^b!QC1XSuJwBD953B>d2I%UJVeL(p?}R>3y( zs|ASj^WGsk=Wfxg8O(XA*SAS`9&bmQ>o`JN_G`#U@7s~}6^EvMHrPt@LWZQi)}n8O z75A2^?#NVZ_+V@r2?BRg9$c+scH(=f2!y@HQ5rcYN0}y^G}(I*8hej>l22Ra5vb=7 z%kIpLmdjd2q=*2qYF#+=OCeC!XssjDbkT2(o(&W;h$ML8M)lEBn3ZFIo_^HjKex9Z zEW}kWUZ(G>1igtRP4uCPIV@)>b!m6ly6K{Gc+FPQZA^59WUqd` zZ>?4;vn0OMd9uBb_>ihs>1{p$C{B&VMzN)LQk1a6GfN}t5eoWZoO3FG$vDn8N7pnQ zx13%Zz8}g7zK6lo?TXad5pgG7T+LCG_0oWhc3mI>M9kMqqe#Nebkj!g^8aeD9A0OB zL6wS8IVTA)s^K?96QfG>C@q{rZ2RH1z2EnP>VI>aB9m{LP24Am-HfiC7tLdp{|`+F VaniiJKt2Ef002ovPDHLkV1k*kol5`! diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/frontend/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/assets/react.svg b/frontend/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/frontend/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/frontend/src/components/DrawerShell.css b/frontend/src/components/DrawerShell.css index 496ac94..e6aefc4 100644 --- a/frontend/src/components/DrawerShell.css +++ b/frontend/src/components/DrawerShell.css @@ -18,6 +18,8 @@ .drawer-shell { height: 100dvh; max-width: 100vw; + padding: 10px 0 10px 14px; + box-sizing: border-box; } .drawer-shell.drawer-shell-standard { @@ -29,16 +31,26 @@ } .drawer-shell-surface { + position: relative; + isolation: isolate; display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 0; + overflow: hidden; background: - linear-gradient(180deg, color-mix(in oklab, var(--panel) 96%, var(--brand-soft) 4%), var(--panel)), + radial-gradient(circle at top left, color-mix(in oklab, var(--brand-soft) 34%, transparent), transparent 30%), + radial-gradient(circle at left center, color-mix(in oklab, var(--brand-soft) 16%, transparent), transparent 36%), + linear-gradient(180deg, color-mix(in oklab, var(--panel) 95%, var(--brand-soft) 5%), color-mix(in oklab, var(--panel-soft) 98%, transparent)), var(--panel); - border-left: 1px solid color-mix(in oklab, var(--line) 78%, transparent); - box-shadow: -18px 0 42px rgba(13, 24, 45, 0.22); + border: 1px solid color-mix(in oklab, var(--line) 74%, transparent); + border-right: 0; + border-top-left-radius: 24px; + border-bottom-left-radius: 24px; + box-shadow: + -24px 0 54px rgba(13, 24, 45, 0.2), + -1px 0 0 color-mix(in oklab, var(--brand) 8%, transparent); opacity: 0.98; transform: translateX(56px); transition: @@ -48,6 +60,23 @@ will-change: transform, opacity; } +.drawer-shell-surface::before { + content: ''; + position: absolute; + inset: 16px auto 16px 0; + width: 2px; + border-radius: 999px; + background: linear-gradient( + 180deg, + color-mix(in oklab, var(--brand) 42%, transparent), + color-mix(in oklab, var(--brand-soft) 24%, transparent) + ); + box-shadow: 0 0 0 1px color-mix(in oklab, var(--brand) 8%, transparent); + opacity: 0.84; + pointer-events: none; + z-index: 1; +} + .drawer-shell-surface.is-open { opacity: 1; transform: translateX(0); @@ -56,7 +85,9 @@ .drawer-shell-header, .drawer-shell-footer { flex: 0 0 auto; - background: inherit; + position: relative; + z-index: 2; + background: transparent; } .drawer-shell-header { @@ -104,6 +135,8 @@ overflow: auto; padding: 20px 24px 24px; overscroll-behavior: contain; + position: relative; + z-index: 2; } .drawer-shell-footer { @@ -137,6 +170,7 @@ .drawer-shell.drawer-shell-standard, .drawer-shell.drawer-shell-extend { width: 100vw; + padding: 0; } .drawer-shell-header, @@ -152,6 +186,17 @@ .drawer-shell-header { padding-top: calc(18px + env(safe-area-inset-top, 0px)); } + + .drawer-shell-surface { + border-radius: 0; + border-inline: 0; + border-block: 0; + box-shadow: none; + } + + .drawer-shell-surface::before { + display: none; + } } @media (prefers-reduced-motion: reduce) { diff --git a/frontend/src/components/lucent/LucentTooltip.tsx b/frontend/src/components/lucent/LucentTooltip.tsx index 275f038..eea9d93 100644 --- a/frontend/src/components/lucent/LucentTooltip.tsx +++ b/frontend/src/components/lucent/LucentTooltip.tsx @@ -41,8 +41,9 @@ export function LucentTooltip({ content, children, side = 'top' }: LucentTooltip const child = useMemo(() => { const first = Children.only(children) as ReactNode; - return isValidElement(first) ? (first as ReactElement<{ 'aria-describedby'?: string }>) : null; + return isValidElement(first) ? (first as ReactElement<{ 'aria-describedby'?: string; disabled?: boolean }>) : null; }, [children]); + const childDisabled = Boolean(child?.props.disabled); const updatePosition = useCallback(() => { const wrap = wrapRef.current; @@ -104,14 +105,32 @@ export function LucentTooltip({ content, children, side = 'top' }: LucentTooltip useEffect(() => { if (!visible) return; const handleWindowChange = () => updatePosition(); + const handleDismiss = () => setVisible(false); + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === 'Escape') { + setVisible(false); + } + }; window.addEventListener('scroll', handleWindowChange, true); window.addEventListener('resize', handleWindowChange); + window.addEventListener('blur', handleDismiss); + document.addEventListener('pointerdown', handleDismiss, true); + document.addEventListener('keydown', handleKeyDown, true); return () => { window.removeEventListener('scroll', handleWindowChange, true); window.removeEventListener('resize', handleWindowChange); + window.removeEventListener('blur', handleDismiss); + document.removeEventListener('pointerdown', handleDismiss, true); + document.removeEventListener('keydown', handleKeyDown, true); }; }, [updatePosition, visible]); + useEffect(() => { + if (childDisabled) { + setVisible(false); + } + }, [childDisabled]); + if (!text) return <>{children}; const enhancedChild = child @@ -127,7 +146,14 @@ export function LucentTooltip({ content, children, side = 'top' }: LucentTooltip className="lucent-tooltip-wrap" onMouseEnter={() => setVisible(true)} onMouseLeave={() => setVisible(false)} + onPointerDownCapture={() => setVisible(false)} + onClickCapture={() => setVisible(false)} onFocusCapture={() => setVisible(true)} + onKeyDownCapture={(event) => { + if (event.key === 'Enter' || event.key === ' ' || event.key === 'Escape') { + setVisible(false); + } + }} onBlurCapture={(event) => { if (!event.currentTarget.contains(event.relatedTarget as Node | null)) { setVisible(false); diff --git a/frontend/src/components/skill-market/SkillMarketShared.css b/frontend/src/components/skill-market/SkillMarketShared.css index ba895f1..cb4c8d9 100644 --- a/frontend/src/components/skill-market/SkillMarketShared.css +++ b/frontend/src/components/skill-market/SkillMarketShared.css @@ -275,10 +275,46 @@ max-width: 720px; } -.skill-market-drawer-body { +.skill-market-form-drawer-body { + display: flex; + flex-direction: column; + min-height: 0; + overflow: hidden; padding-bottom: 28px; } +.skill-market-form-modal { + flex: 1 1 auto; + min-height: 0; + display: flex; + flex-direction: column; + gap: 14px; +} + +.skill-market-form-scroll { + flex: 1 1 auto; + min-height: 0; + overflow: auto; + padding-right: 4px; +} + +.skill-market-inline-actions { + display: inline-flex; + align-items: center; + gap: 8px; +} + +.skill-market-inline-actions-wrap { + flex-wrap: wrap; +} + +.skill-market-button-with-icon { + display: inline-flex; + align-items: center; + justify-content: center; + gap: 6px; +} + .skill-market-editor-textarea { min-height: 180px; } diff --git a/frontend/src/i18n/dashboard.en.ts b/frontend/src/i18n/dashboard.en.ts index 971e944..5b33197 100644 --- a/frontend/src/i18n/dashboard.en.ts +++ b/frontend/src/i18n/dashboard.en.ts @@ -54,6 +54,12 @@ export const dashboardEn = { quotedReplyLabel: 'Quoted reply', clearQuote: 'Clear quote', quoteOnlyMessage: '[quoted reply]', + stagedSubmissionEmpty: 'Attachments or quoted reply only', + stagedSubmissionRestore: 'Edit', + stagedSubmissionRemove: 'Remove', + stagedSubmissionQueued: 'Added to the staged queue. It will auto-send after earlier tasks finish.', + stagedSubmissionRestored: 'Staged prompt restored to the composer.', + stagedSubmissionAttachmentCount: (count: number) => `${count} attachment${count === 1 ? '' : 's'}`, goodReply: 'Good reply', badReply: 'Bad reply', feedbackUpSaved: 'Marked as good reply.', diff --git a/frontend/src/i18n/dashboard.zh-cn.ts b/frontend/src/i18n/dashboard.zh-cn.ts index 3534401..fa9ea4e 100644 --- a/frontend/src/i18n/dashboard.zh-cn.ts +++ b/frontend/src/i18n/dashboard.zh-cn.ts @@ -54,6 +54,12 @@ export const dashboardZhCn = { quotedReplyLabel: '已引用回复', clearQuote: '取消引用', quoteOnlyMessage: '[引用回复]', + stagedSubmissionEmpty: '仅包含附件或引用内容', + stagedSubmissionRestore: '编辑', + stagedSubmissionRemove: '移除', + stagedSubmissionQueued: '已加入暂存队列,前序任务结束后会自动提交。', + stagedSubmissionRestored: '暂存内容已恢复到输入框。', + stagedSubmissionAttachmentCount: (count: number) => `附件 ${count}`, goodReply: '好回复', badReply: '坏回复', feedbackUpSaved: '已标记为好回复。', diff --git a/frontend/src/modules/dashboard/BotDashboardModule.css b/frontend/src/modules/dashboard/BotDashboardModule.css index 60ce426..c585495 100644 --- a/frontend/src/modules/dashboard/BotDashboardModule.css +++ b/frontend/src/modules/dashboard/BotDashboardModule.css @@ -121,11 +121,6 @@ background: color-mix(in oklab, var(--panel) 92%, white 8%); } -.ops-chat-topic-frame { - min-height: 0; - overflow: hidden; -} - .ops-main-mode-tab { position: relative; display: flex; @@ -221,41 +216,8 @@ grid-template-rows: auto auto minmax(0, 1fr) auto; } -.ops-status-group { - display: flex; - gap: 8px; - flex-wrap: wrap; -} - -.ops-status-pill { - border: 1px solid var(--line); - border-radius: 999px; - padding: 5px 10px; - font-size: 12px; - font-weight: 800; - color: var(--text); - background: var(--panel); -} - -.ops-status-pill.running { - border-color: #2ca476; - background: rgba(44, 164, 118, 0.16); -} - -.ops-status-pill.stopped, -.ops-status-pill.exited { - border-color: #d28686; - background: rgba(209, 75, 75, 0.16); -} - -.ops-status-pill.error { - border-color: #d14b4b; - background: rgba(209, 75, 75, 0.2); -} - -.ops-status-pill.idle { - border-color: #4b79d4; - background: rgba(47, 105, 226, 0.16); +.ops-panel-empty-copy { + color: var(--muted); } .ops-switch-dot { @@ -319,7 +281,3 @@ 0 16px 32px rgba(63, 116, 223, 0.26), inset 0 0 0 1px rgba(63, 116, 223, 0.78); } - -.app-shell[data-theme='light'] .ops-status-pill { - background: #ffffff; -} diff --git a/frontend/src/modules/dashboard/BotDashboardModule.tsx b/frontend/src/modules/dashboard/BotDashboardModule.tsx index fa8d3b7..9ed9049 100644 --- a/frontend/src/modules/dashboard/BotDashboardModule.tsx +++ b/frontend/src/modules/dashboard/BotDashboardModule.tsx @@ -132,6 +132,10 @@ export function BotDashboardModule({ interrupt: dashboard.t.interrupt, noConversation: dashboard.t.noConversation, previewTitle: dashboard.t.previewTitle, + stagedSubmissionAttachmentCount: dashboard.t.stagedSubmissionAttachmentCount, + stagedSubmissionEmpty: dashboard.t.stagedSubmissionEmpty, + stagedSubmissionRestore: dashboard.t.stagedSubmissionRestore, + stagedSubmissionRemove: dashboard.t.stagedSubmissionRemove, quoteReply: dashboard.t.quoteReply, quotedReplyLabel: dashboard.t.quotedReplyLabel, send: dashboard.t.send, @@ -169,6 +173,9 @@ export function BotDashboardModule({ selectedBotControlState: dashboard.selectedBotControlState, quotedReply: dashboard.quotedReply, onClearQuotedReply: () => dashboard.setQuotedReply(null), + stagedSubmissions: dashboard.selectedBotStagedSubmissions, + onRestoreStagedSubmission: dashboard.restoreStagedSubmission, + onRemoveStagedSubmission: dashboard.removeStagedSubmission, pendingAttachments: dashboard.pendingAttachments, onRemovePendingAttachment: (path: string) => dashboard.setPendingAttachments((prev) => prev.filter((value) => value !== path)), @@ -208,8 +215,8 @@ export function BotDashboardModule({ voiceCountdown: dashboard.voiceCountdown, onVoiceInput: dashboard.onVoiceInput, onTriggerPickAttachments: dashboard.triggerPickAttachments, - showInterruptSubmitAction: dashboard.showInterruptSubmitAction, - onSubmitAction: () => (dashboard.showInterruptSubmitAction ? dashboard.interruptExecution() : dashboard.send()), + submitActionMode: dashboard.submitActionMode, + onSubmitAction: dashboard.handlePrimarySubmitAction, }; const runtimePanelProps = { @@ -230,7 +237,6 @@ export function BotDashboardModule({ workspaceFileLoading: dashboard.workspaceFileLoading, workspaceDownloadExtensionSet: dashboard.workspaceDownloadExtensionSet, workspaceAutoRefresh: dashboard.workspaceAutoRefresh, - hasPreviewFiles: dashboard.workspaceFiles.length > 0, isCompactHidden: dashboard.compactMode && (dashboard.isCompactListPage || dashboard.compactPanelTab !== 'runtime'), showCompactSurface: dashboard.showCompactBotPageClose, emptyStateText: dashboard.forcedBotMissing ? `${dashboard.t.noTelemetry}: ${String(dashboard.forcedBotId).trim()}` : dashboard.t.noTelemetry, diff --git a/frontend/src/modules/dashboard/components/BotDashboardView.tsx b/frontend/src/modules/dashboard/components/BotDashboardView.tsx index ef77171..7da170d 100644 --- a/frontend/src/modules/dashboard/components/BotDashboardView.tsx +++ b/frontend/src/modules/dashboard/components/BotDashboardView.tsx @@ -98,7 +98,7 @@ export function BotDashboardView({ ) : ( -