From d2551437c4813b7a8519e29000b8d13eb6970a36 Mon Sep 17 00:00:00 2001 From: Jesse_Chen Date: Sun, 27 Sep 2026 00:51:44 +0800 Subject: [PATCH] fix(home): land on the blank starter home after login and on bare / (BUG-1052) Product decision 2026-09-27 (D1-D4), overriding the BUG-1038 login-return stash and the "latest session" default landing: - A full load of / without ?c= (login, typed address, bookmark, refresh of bare /) lands on the current person's blank starter home; an existing empty draft of that person is reused, otherwise one is created locally. - ?c= and ?new=1 are unchanged; a refresh inside a conversation keeps its ?c=. - The login-return stash is removed: redirectToLogin and sidebar links no longer write it, bootstrap no longer reads it and clears a leftover value once. replace-selected, the lookup origin/other-subject branch and the warm resumeRectification dependency go with it. - A background answer being recovered no longer takes over the blank home (same rule BUG-1015 set for ?new=1). Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_017eEAG8HD3mm8gsKXgk8uU8 --- CHANGELOG.md | 9 + docs/BUG_HISTORY.md | 29 ++++ .../PROGRESS-home-landing-blank-20260927.md | 92 ++++++++++ docs/tasks/README.md | 1 + docs/testing/home-landing-blank-20260927.md | 62 +++++++ .../1-bare-latest-rectification.png | Bin 0 -> 59504 bytes .../2-bare-latest-consultation.png | Bin 0 -> 56398 bytes .../3-bare-leftover-stash.png | Bin 0 -> 58494 bytes .../4-c-link-consultation.png | Bin 0 -> 54871 bytes .../5-c-link-rectification.png | Bin 0 -> 67815 bytes .../6-refresh-in-rectification.png | Bin 0 -> 67815 bytes frontend/DESIGN.md | 4 +- frontend/src/app/(app)/page.tsx | 1 - frontend/src/components/app-sidebar.tsx | 8 +- frontend/src/hooks/use-session-management.ts | 5 - frontend/src/lib/chat-session-url.ts | 136 +++------------ frontend/src/lib/home-bootstrap-run.ts | 48 ++---- frontend/src/lib/home-bootstrap.ts | 51 ++++-- frontend/src/lib/home-cloud-sync.ts | 21 +-- frontend/src/lib/home-warm-start.ts | 21 +-- .../chat-navigation-a11y-contract.test.ts | 6 +- frontend/tests/chat-session-url.test.ts | 86 ++++++---- frontend/tests/consultation-recovery.test.ts | 2 +- frontend/tests/home-bootstrap-reveal.test.ts | 45 ++++- frontend/tests/home-bootstrap-run.test.ts | 4 +- .../tests/home-warm-return-lifecycle.test.tsx | 39 ++++- frontend/tests/home-warm-snapshot.test.ts | 49 ++++-- .../new-chat-from-people-lifecycle.test.tsx | 157 ++++++++++++++++-- frontend/tests/new-chat-recovery.test.ts | 25 ++- .../tests/session-list-lifecycle.test.tsx | 2 +- .../tests/session-lookup-unlisted.test.ts | 35 ++-- frontend/tests/sidebar-contract.test.ts | 6 +- 32 files changed, 629 insertions(+), 315 deletions(-) create mode 100644 docs/tasks/PROGRESS-home-landing-blank-20260927.md create mode 100644 docs/testing/home-landing-blank-20260927.md create mode 100644 docs/testing/home-landing-blank-20260927/1-bare-latest-rectification.png create mode 100644 docs/testing/home-landing-blank-20260927/2-bare-latest-consultation.png create mode 100644 docs/testing/home-landing-blank-20260927/3-bare-leftover-stash.png create mode 100644 docs/testing/home-landing-blank-20260927/4-c-link-consultation.png create mode 100644 docs/testing/home-landing-blank-20260927/5-c-link-rectification.png create mode 100644 docs/testing/home-landing-blank-20260927/6-refresh-in-rectification.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e2aad6c..778321c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # 印度占星 Skill 更新日志 +## 2026-09-27 — 登录后、直接打开网址都进空白首页,不再落回上一次对话(待验收) + +- 以前登录后(尤其是停在某条对话里时登录过期)、或在地址栏直接打开网站,会回到上一次的对话,甚至是上一次的生时校正;用户以为在首页提问,其实问进了旧对话(BUG-1052)。 +- 现在:登录后、地址栏 / 书签 / 刷新不带对话链接的首页,一律是空白首页(开场问候 + 输入框);已有一个没发过消息的新对话就直接用它,不会多出空对话。 +- 带对话链接(`?c=`)打开仍进那条对话:分享链接、侧栏点历史对话、在对话里刷新都不变;「新建对话」不变。 +- 删除「登录过期后回到原对话」的记忆;旧浏览器里残留的记录打开首页时自动清掉。 +- 首页打开时若有一条旧回答还在后台生成,照常在后台恢复,但不再把首页切走(与「新建对话」同一规则)。 +- Skill 版本不 bump。不改数据库。 + ## 2026-09-26 — 普通对话:回答写到一半被掐断时不再算完成、不再扣点(待验收) - 以前排盘计算和写回答共用 110 秒,计算慢时回答会停在半句上,却显示完成并扣点(BUG-1051,复发自 BUG-305)。现在写回答有自己的 70 秒,从开始写时才计时;最长总等待约 3 分钟。 diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index eeafd4c9..9ad7b503 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -14127,3 +14127,32 @@ - 相关记录:BUG-305(原记录)、BUG-944(「每个 stream 自己的预算」未落到 compose)、BUG-612(同一 tripwire / 110 秒形状)、BUG-280(回答重试没有独立时间预算,本单一并挂到答案时钟上)。 - 复发自:BUG-305(半截回答被当成功并扣点;原防线只拦「抛出的超时」与 `length`,没拦 Mastra 不抛错的 abort)。 - 修复版本:`1530a0dd`,随 `e8195783` 部署 staging(run 2954)。 + +## BUG-1052 | 登录后 / 打开裸 `/` 落在上一次对话里(真机:以为在首页提问,其实在旧生时校正会话里) + +- 状态:investigating(执行方已修复并本地验证,待 Claude 独立验收与 staging 部署;真机清单 `docs/testing/home-landing-blank-20260927.md` 由产品走) +- 首次发现 / 最近更新:2026-09-27 / 2026-09-27 +- 影响面:首页整页加载落点(`frontend/src/lib/chat-session-url.ts` `resolveBootstrapSessionSelection` / `bootstrapSelectionFromLookup`、`frontend/src/lib/home-bootstrap.ts` `resolveStarterHomeLandingSessionId` / `starterHomeLandingNeedsConsultation`、`frontend/src/lib/home-bootstrap-run.ts` `resolveLanding` 与暖返回 `commitWarmLanding` / 恢复段、`frontend/src/lib/home-warm-start.ts` `resolveWarmLanding`、`frontend/src/lib/home-cloud-sync.ts` `redirectToLogin` / `resolveLookupBootstrap`)、侧栏次级页与「去登录」链接(`app-sidebar.tsx` `leaveChat`)、首页内新建对话(`use-session-management.ts` `startNewChat` / `openChatBoundToProfile`)。 +- 用户现象:staging `e8195783` 真机:用户登录后在他以为的首页输入「我和父母关系如何」,实际是在上一次的生时校正会话里,Agent 回答说不能用父母这件事去核对高考那一条。 +- 触发条件(两条路径,代码逐条核实): + 1. 登录返回存根:同一标签页里停在 `/?c=<校正会话>` 时发生任何 401(`redirectToLogin()`),或点侧栏次级页 / 「去登录」链接(`leaveChat()`),都会把当前 `?c=` 写进 `sessionStorage["jyotisha.session-url-return"]`。邮箱验证码登录成功后 `email-otp-login.tsx` 跳 `successPath = "/"`,启动时 `resolveBootstrapSessionSelection` 在没有 `?c=` 时读存根 → `replace-selected` → 写回 `?c=` 并自动打开这条校正会话。真机「落在旧校正里」只能来自这条路径。 + 2. 默认落点:没有 `?c=` 也没有存根时取会话列表第一条(最近一条),`resolveStarterHomeLandingSessionId` 只在它是生时校正时换成「空咨询或任意一条咨询」,只有一条咨询都没有时才新建空白首页。所以裸 `/`(登录、地址栏、书签、刷新裸 `/`)通常打开最近那条旧咨询,而不是空白首页。 + 暖返回(BUG-1040 `resolveWarmLanding`)逐条镜像同一套规则(含存根与人物范围),同样会落回旧会话。 +- 根因:BUG-1038 为「从次级页回来能回到原会话」保留并强化了登录返回存根(找到即写回 `?c=` 并打开),BUG-599 只规定裸 `/` 不自动打开生时校正、却默认落最近一条普通咨询。两条规则叠加,使「登录后」和「裸 `/`」都被当成「回到上次」,而产品期望的是空白首页。诊断与任务单一致,无更正;补充一点:列表行消息未加载(`messagesHydrated: false`)时 `messages` 也是空数组,旧的「空咨询」判定只看 `messages.length === 0`,理论上会把这类已保存会话当成空草稿,本轮一并收紧。 +- 决策记录(产品负责人 2026-09-27,推翻 BUG-1038 的登录返回存根与 BUG-599 / BUG-1038 以来「裸 `/` 默认落最近会话」的落点): + - D1 登录后、以及任何不带 `?c=` 打开 `/`(地址栏、书签、历史、刷新裸 `/`)一律落**空白首页**(空咨询 + 开场问候),不落旧对话;已有同一人物的空草稿就复用,不重复新建(与 `?new=1` / `startNewChat` 同一个去重函数,首问前不落库沿用 BUG-989)。 + - D2 `/?c=` 仍打开该对话(分享链接、侧栏链接、站内跳转不变);`?new=1` 不变。 + - D3 删除登录返回存根:401 / 重新登录不再回到旧对话;删掉不再使用的写入与读取,只在启动时清一次旧浏览器残留的值;人物档案的范围规则(空白首页绑定当前人物)保持。 + - D4 在对话里刷新:地址栏已有 `?c=`(`writeSessionUrl` 写入),刷新留在该对话——核实仍成立。 + - 执行方解读(请验收时确认):裸 `/` 启动时若有一条旧咨询的回答仍在后台生成,按 D1「不落旧对话」处理成与 BUG-1015 `?new=1` 相同:恢复照常在后台进行,但不抢空白首页的落点;只有地址栏点名了会话(`?c=` keep / lookup)时恢复才会切过去。 +- 修复: + - `resolveBootstrapSessionSelection` 去掉 `storedReturnId` 入参与 `clearStoredReturn` 字段:`?new=1` → new-chat;`?c=` → keep / lookup / replace-clear;其余 → none。`replace-selected` 只服务存根,随之删除;`bootstrapSelectionFromLookup` 去掉来源参数与 `other-subject`。 + - 落点:`resolveStarterHomeLandingSessionId` 对 none / replace-clear 只选当前人物的空草稿(新 `isStarterHomeDraft`:consultation、未归档、消息已加载且为空),否则 `starterHomeLandingNeedsConsultation` 返回 true → 本地新建空咨询;冷启动用 `replaceUnsavedEmptyConsultations` 前插(不留重复草稿)。暖返回同一套函数。 + - 恢复:新 `landingYieldsToRecovery(urlAction)`,冷、暖两处把「new-chat 不被恢复抢落点」推广到所有非 keep / lookup 落点。 + - 存根:删除 `persistLoginSessionReturn` / `readLoginSessionReturn`;`redirectToLogin`、`leaveChat` 不再写;`startNewChat` / `openChatBoundToProfile` 不再清;冷启动 `resolveLanding` 无条件 `clearLoginSessionReturn()` 清旧值;暖返回为存根准备的 `resumeRectification` 依赖一并删除(`page.tsx` 少一行,`Home()` useState / useRef 数不变)。 +- 验证:`frontend/tests/new-chat-from-people-lifecycle.test.tsx` 新增 5 条真实 React 生命周期用例(真实 `Home` + `AppSidebar` + `SessionListProvider`,文档加载重置模块状态、保留 storage):裸 `/` 最近是有消息的普通咨询 → 空白首页;最近是生时校正 → 空白首页且不开 Case;`/?c=` 打开并刷新保留;校正会话内刷新保留;校正会话内 401 → 重新登录 `/` → 空白首页。改写 1 条为「旧存根被忽略并清除」。`home-warm-return-lifecycle.test.tsx` 新增冷启动裸 `/` 空白首页、改写暖返回裸 `/` 空白首页(首帧无加载环)。纯函数:`home-bootstrap-reveal`(未加载消息的行不算草稿、恢复让步规则)、`home-warm-snapshot`(暖落点复用本人空草稿、不复用他人草稿)、`new-chat-recovery`(裸 `/` 不被恢复抢、`?c=` 仍被恢复接管)。新增 / 改写的生命周期用例在 `origin/staging` 代码上 12 条失败,修复后全绿。全量、Python、构建、gzip 与本地 Chrome 截图见 `docs/tasks/PROGRESS-home-landing-blank-20260927.md`。 +- 防复发:生命周期测试锁「登录 / 裸 `/` → 空白首页」「`?c=` 与刷新保留」;源码合同反向锁 `persistLoginSessionReturn` / `readLoginSessionReturn` / `storedReturnId` / `replace-selected` / `stored-return` 不再出现、`leaveChat` 只关抽屉、`redirectToLogin` 不写存储。BUG-1038 的测试把「回到原会话」当成要守的行为(存根写入、找到即写回 `?c=`),BUG-599 的测试锁「裸 `/` 打开所选普通咨询」,所以没有任何测试会拦「登录后落在旧会话」;这两处断言已按三栏说明改为新行为。 +- 未改:站内浏览器「返回」退到一个不带 `?c=` 的历史条目(popstate,`applySessionPopStateRef`)仍按原规则选列表里第一条非校正会话;这不是整页打开 `/`,不在 D1 列举范围内,如需同样落空白首页另开单。 +- 相关记录:BUG-1038(登录返回存根与 `bootstrapSelectionFromLookup` 来源参数,本条推翻其存根部分)、BUG-599(裸 `/` 不自动开校正、默认落咨询,本条收紧为空白首页)、BUG-1015(`?new=1` 新建意图与恢复不抢落点,规则被推广)、BUG-1040(暖返回,同规则、首帧无加载环不变)、BUG-989 / BUG-929 / BUG-1001(首问前不落库、空草稿不进列表)、BUG-705(`?c=` lookup 不变)、BUG-936(首屏兜底不变)。 +- 复发自:无(产品规则变更 + BUG-1038 / BUG-599 规则叠加的组合路径)。 +- 修复版本:`codex/home-landing-blank-20260927`(本地提交,未推送)。 diff --git a/docs/tasks/PROGRESS-home-landing-blank-20260927.md b/docs/tasks/PROGRESS-home-landing-blank-20260927.md new file mode 100644 index 00000000..f9b57008 --- /dev/null +++ b/docs/tasks/PROGRESS-home-landing-blank-20260927.md @@ -0,0 +1,92 @@ +# PROGRESS · 登录后 / 裸 `/` 落空白首页,删除登录返回存根(BUG-1052)· 2026-09-27 + +- 执行方式:直接执行(产品负责人授权子代理执行;Claude 事后独立验收) +- 基线:`origin/staging` `5f2e007f` 开工;提交前变基到 `76924e33`(只多一份任务书文档,代码与测试结果不变) +- 分支:`codex/home-landing-blank-20260927`(本地提交,未推送) +- BUG 编号:1052(开工时最大号 1051) +- 决策:产品 2026-09-27 D1–D4,推翻 BUG-1038 登录返回存根与「裸 `/` 默认落最近会话」,写在 `docs/BUG_HISTORY.md` BUG-1052 决策记录 + +## 结论 + +| 项 | 结果 | +| --- | --- | +| 根因 | 与任务单诊断一致:① 登录返回存根(401 / 侧栏次级页与「去登录」链接写入,登录后 `replace-selected` 写回 `?c=` 并打开)——真机「落在旧校正里」只能来自这条;② 默认落点取最近一条,只从生时校正换到「空咨询或任意咨询」,所以裸 `/` 通常开最近一条旧咨询。暖返回逐条镜像。补充:旧空咨询判定只看 `messages.length`,未加载消息的列表行也会被当草稿,已收紧 | +| D1 裸 `/` → 空白首页 | 完成。none / replace-clear 只复用当前人物的空草稿(`isStarterHomeDraft`),否则本地新建;冷启动用 `replaceUnsavedEmptyConsultations` 前插不留重复;暖返回同一套函数 | +| D2 `?c=` / `?new=1` | 不变,有生命周期用例锁住 | +| D3 删除存根 | 完成。删 `persistLoginSessionReturn` / `readLoginSessionReturn`、`storedReturnId`、`clearStoredReturn`、`replace-selected`、lookup 来源参数与 `other-subject`、暖返回 `resumeRectification` 依赖;`redirectToLogin` / `leaveChat` 不写、`startNewChat` / `openChatBoundToProfile` 不清;冷启动无条件 `clearLoginSessionReturn()` 清旧值。人物范围:空白首页绑定当前人物、只复用本人草稿 | +| D4 对话内刷新 | 核实成立(URL 带 `?c=` → keep),生命周期用例 + Chrome 截图 | +| 执行方解读(待验收确认) | 裸 `/` 时若有旧回答在后台生成:恢复继续,但不抢空白首页(`landingYieldsToRecovery`:只有 keep / lookup 让步),与 BUG-1015 `?new=1` 同规则 | +| 未改 | 站内浏览器「返回」退到不带 `?c=` 的历史条目(popstate)仍选列表第一条非校正会话;不是整页打开 `/`,不在 D1 列举内 | + +## 改动文件 + +| 文件 | 改动 | +| --- | --- | +| `frontend/src/lib/chat-session-url.ts` | 选择函数去存根;lookup 结果只剩 found / missing / unavailable;删写 / 读存根,保留清理 | +| `frontend/src/lib/home-bootstrap.ts` | `isStarterHomeDraft`、新落点规则、`landingYieldsToRecovery`;`LandingSession` 加可选 `messagesHydrated` / `archivedAt` | +| `frontend/src/lib/home-bootstrap-run.ts` | 冷落点按当前人物范围、去重前插、无条件清旧存根、恢复让步规则;暖提交删存根分支与 `resumeRectification` | +| `frontend/src/lib/home-warm-start.ts` | 去 `storedReturnId` 与存根分支 | +| `frontend/src/lib/home-cloud-sync.ts` | `redirectToLogin` 不写存根;`resolveLookupBootstrap` 去存根来源 | +| `frontend/src/components/app-sidebar.tsx` | `leaveChat` 只关抽屉 | +| `frontend/src/hooks/use-session-management.ts` | 新建对话不再清存根 | +| `frontend/src/app/(app)/page.tsx` | 删暖刷新的 `resumeRectification` 一行(1370 → 1369 行;`Home()` useState 33 / useRef 37 不变) | + +## 改动的既有断言(原值 / 新值 / 原因均已写在测试行内注释) + +| 文件 | 用例(原标题 → 新标题) | 摘要 | +| --- | --- | --- | +| `chat-session-url.test.ts` | new chat intent overrides … plus login return → … invalid c | 去 `storedReturnId` / `clearStoredReturn` | +| 同上 | new chat bootstrap consumes the URL … | `clearStoredReturn` 条件清 → 无条件清;直接前插 → `replaceUnsavedEmptyConsultations` | +| 同上 | bootstrap reads a listed ?c= session and ignores login storage → bootstrap reads a listed ?c= session | 去存根字段 | +| 同上 | bootstrap restores a stored login return only when the URL has no c → bare / after login never returns to a stored conversation (BUG-1052) | `replace-selected` → `none`,源码反向锁 | +| 同上 | bootstrap clears an illegal or unknown session query | 去存根字段(2 处) | +| 同上 | default bootstrap selection does not write a session URL | 去存根字段;`replace-selected` 正向 → 反向 | +| 同上 | 401 login redirect stashes the current session id … → 401 login redirect stashes nothing … | 正向 `persistLoginSessionReturn` → 反向 | +| 同上 | login return storage only accepts a UUID session id → a leftover login-return stash from an older build is only ever cleared | 写 / 读 → 只清、隐私模式不抛 | +| `chat-navigation-a11y-contract.test.ts` | auth redirects stay hard document loads … | `persistLoginSessionReturn();\n replace` → `clearHomeWarmSnapshot();\n replace` + 反向 | +| `sidebar-contract.test.ts` | reaches chart, ephemeris and reports with links … | `leaveChat` 先存根 → 只关抽屉 + 反向 | +| `home-bootstrap-reveal.test.ts` | default landing replaces a latest rectification session … | `replace-selected` → `lookup`;none 选普通咨询 → 选空草稿 | +| 同上 | bare home still opens the selected ordinary chat without creating another → bare home with a latest ordinary chat lands on a new blank starter home (BUG-1052) | NeedsConsultation false → true | +| `session-lookup-unlisted.test.ts` | lookup results … | 去 `clearStoredReturn` | +| 同上 | a looked-up stashed return writes its URL back … → only a ?c= is ever looked up … (BUG-1052) | 来源参数删除,源码反向锁 | +| `home-warm-snapshot.test.ts` | warm landing follows the cold rules: ?c= keeps, stash writes back, … → … bare / is the blank starter home, ?new=1 is a new chat | bare CONS → 新建空对话;新增复用本人草稿 / 不复用他人草稿 | +| `new-chat-recovery.test.ts` | ordinary home landing still activates and announces … → bare / keeps the blank starter home while … recovers (BUG-1052) | active 旧会话 → 空白首页、notice 清空、storedCleared true;另加 `?c=` 仍被接管 | +| `new-chat-from-people-lifecycle.test.tsx` | 侧栏新建对话 ×5、他人存根不落锁死页 | 离开时存根 RECT → null(落点断言不变) | +| 同上 | a stashed session of the same person found beyond the first page opens … → a leftover stash … is ignored and cleared … (BUG-1052) | 打开校正并写回 `?c=` → 空白首页、不 lookup、清旧值 | +| 同上 | an in-page new chat drops the stashed return … → an in-page new chat leaves no return trail … | 不预置存根,断言新建不写 | +| `home-warm-return-lifecycle.test.tsx` | a stashed return to a rectification session reopens it … → a warm return to bare / after a rectification session lands on the blank starter home … | 写回 `?c=` 打开校正 → 空白首页、首帧无加载环 | +| fixtures(非断言) | `home-bootstrap-run` / `session-list-lifecycle` / `consultation-recovery` / `new-chat-recovery` / `home-warm-snapshot` | 去掉 selection 里的 `clearStoredReturn` 字段 | + +新增:生命周期 5 条(裸 `/` 最近普通咨询 / 最近生时校正、`?c=` + 刷新、校正内刷新、校正内 401 → 重登)、暖返回冷启动裸 `/` 1 条、纯函数 2 条(未加载消息的行不算草稿、恢复让步规则)、`?c=` 恢复接管 1 条。改写与新增的生命周期用例放到 `origin/staging` 代码上跑:12 条失败(`?c=` 与刷新两条本就应通过,作 D2 / D4 护栏);修复后全绿。 + +## 验证 + +| 项 | 结果 | +| --- | --- | +| `tsc --noEmit` | 0 错 | +| `npm run lint` | 0 error(128 warning,改动文件无新增与本单标识符相关的 warning) | +| 全量 `npm test`(Node 22.14) | 4078 / 24 fail / 28 skip;基线 4069 / 24 / 28。失败名单与基线逐条一致(全部 Docker/DB);消失的 12 个用例名全部是改名,三栏说明在行内,新增 21 个名 | +| Python 门禁集合 | 948 passed / 1 skipped(与基线一致) | +| `npm run build -- --webpack` | `/`、`/chart`、`/ephemeris`、`/people` 均 ○ Static;已删构建产生的 `frontend/frontend/` | +| 首屏 gzip(`rootMainFiles` 4 个文件 zlib 默认级别求和) | 131,253 B;基线 130,933 B,+0.24%,在 ±2% 内 | +| 定向 13 个文件 | 167 / 0 fail | + +## 本地 Chrome(headless,CDP 拦截 `/api/*` 返回虚构数据) + +`next start`(本单构建)+ Chrome `--headless=new`,截图在 `docs/testing/home-landing-blank-20260927/`: + +| 截图 | 场景 | 结果 | +| --- | --- | --- | +| `1-bare-latest-rectification.png` | 列表 = [生时校正(最近), 普通咨询],打开 `/` | 空白首页「新对话」、地址 `/`、无转录、未开校正 | +| `2-bare-latest-consultation.png` | 列表 = [普通咨询(最近,有消息), 生时校正],打开 `/` | 空白首页 | +| `3-bare-leftover-stash.png` | sessionStorage 预置旧存根 = 校正会话,打开 `/` | 空白首页,存根被清 | +| `4-c-link-consultation.png` | 打开 `/?c=<咨询>` | 进该对话、有问答 | +| `5-c-link-rectification.png` | 打开 `/?c=<校正>` | 进校正界面 | +| `6-refresh-in-rectification.png` | 在 5 上刷新 | 仍在校正界面、地址不变 | + +`POST /api/rectification/cases/open` 共 2 次,只出现在 5 / 6。右下角「合盘历史暂时无法读取」提示是本 harness 未 mock `/api/synastry-reports`(404)所致,与本单无关。 + +## 环境缺口 + +- 无受控登录账号:真实邮箱验证码登录、真实 401 过期后重登、iPhone Safari 走查留给 `docs/testing/home-landing-blank-20260927.md`。 +- 无 Docker:24 条 DB/部署测试失败,与基线名单逐条一致。 diff --git a/docs/tasks/README.md b/docs/tasks/README.md index 420aa0e2..e1e5c5c6 100644 --- a/docs/tasks/README.md +++ b/docs/tasks/README.md @@ -126,6 +126,7 @@ | 任务书 | 进度 | 主题 | 状态 | 落点 | | --- | --- | --- | --- | --- | +| — (产品 09-27 拍板 D1–D4,直接执行) | [PROGRESS](PROGRESS-home-landing-blank-20260927.md) | **登录后 / 裸 `/` 落空白首页**:真机登录后在「首页」提问其实问进了上一次生时校正。删登录返回存根(401 / 次级页链接写、登录后写回 `?c=` 打开),裸 `/` 不再落最近会话,一律当前人物的空白首页(复用空草稿);`?c=` / `?new=1` / 对话内刷新不变;推翻 BUG-1038 存根与 BUG-599 默认落点 | 待验收 | `codex/home-landing-blank-20260927`(BUG-1052,本地未推) | | — (产品 09-26 口头拍板 D1–D3,直接执行) | `PROGRESS-consult-answer-truncation-20260926.md` | **普通咨询回答写到一半被掐断仍扣点(BUG-1051,复发自 BUG-305)**:工具循环与写回答共用 110 秒 signal;Mastra 1.50 超时不抛错(`abort` 块 + `finish(tripwire)` 后正常关流),结算只认抛错与 `length`。D1 写回答自有 70 秒时钟(首用起算,续写 / 回答重试共用,最坏 180 秒,`maxDuration` 240);D2 写回答的最后一个流不是 `stop` 且有正文 → `answer_truncated`、不扣点、记 abort 步、不冲半句,`length` 续写不变;D3 观测加 `composeFinishReason` / `composeAborted` / `answerVisibleChars` | 已验收(真机欠) | `codex/consult-answer-truncation-20260926`(本地,未推送);新回归 15 条用真实 Mastra `Agent`(修复前 11 条红);全量失败名单 0 新增;Python 948/1;`/` ○、gzip 0%;真机清单 `docs/testing/consult-answer-truncation-20260926.md` | | `TASK-consult-evidence-card-research-20260927.md` | `PROGRESS-consult-evidence-card-research-20260927.md` | **普通对话数据卡调研**:引擎输出逐项分五类计量(现约 4 万 token、父母问题相关约 3.5%);四处领域→技法来源对账并起草各领域数据卡(家庭拆父母/子女);卡体量与逐字一致性;按卡算的提速空间;反馈迭代埋点方案。只调研不改线上 | 待领取 | 分支 `codex/consult-evidence-card-research-20260927`;与 BUG-1053 实现单并行,不碰 consult route / stream-agent-response | | `TASK-scroll-anchor-hook-fixes-20260926.md` | `PROGRESS-scroll-anchor-hook-fixes-20260926.md` | **滚动锚两处老问题**:直接打开已有会话时监听未挂上(BUG-1043)、校正长回答钉顶后因 96px 阈值被拉到底(BUG-1044)。排在 BUG-1042 合入后。挂载改由容器元素本身驱动(每次提交比对元素 / active / resetKey);钉顶只由用户滚动手势解除 | 已验收(Claude 09-26 直接执行:子代理复现两处根因并修复;Claude 独立复验 tsc/lint 0、全量 3970 条失败名单与基线逐条一致、四路由 ○、gzip 不变;iOS 惯性滚动留真机清单) | `da2613ff`(随 `f1d16405` 部署,health 一致) | diff --git a/docs/testing/home-landing-blank-20260927.md b/docs/testing/home-landing-blank-20260927.md new file mode 100644 index 00000000..6c49fc69 --- /dev/null +++ b/docs/testing/home-landing-blank-20260927.md @@ -0,0 +1,62 @@ +# 真机清单 · 登录后与打开网址都进空白首页(BUG-1052)· 2026-09-27 + +部署含 `codex/home-landing-blank-20260927` 的 staging 后照做。先确认 `https://staging.jyotisha.chat/api/health` 的 `deployment.gitCommit` 是这次部署的提交。 + +## 这次改了什么(给自己看的一句话) + +以前登录后、或直接打开网址,会回到上一次的对话(甚至是上一次的生时校正),看起来像首页其实不是。现在:不带对话链接打开网站,永远是空白首页;带对话链接(地址里有 `?c=`)才进那条对话。 + +准备:用一个已经有至少一条普通对话、一条生时校正记录的账号(本机用 iPhone Safari 或电脑 Chrome 都可以)。 + +## 1. 退出再登录,落在空白首页 + +1. 先点开侧栏里那条**生时校正**,确认进到校正界面(地址栏里有 `?c=`)。 +2. 左下角账户菜单 →「退出登录」。 +3. 用邮箱验证码重新登录。 + +预期: + +- 登录后看到的是**空白首页**:标题「新对话」,中间是「最近还好吗,…?」问候、输入框占位「想聊什么都可以」、下面两个入口按钮。 +- 地址栏是 `https://staging.jyotisha.chat/`,**没有** `?c=`。 +- 侧栏里那条生时校正仍在,只是没有被选中。 +- 在输入框问一句普通问题(例如「我和父母关系如何」),回答是普通对话,**不会**提到高考、生时校正或「不能用这件事核对」。 + +## 2. 登录过期后重新登录,也不回旧对话(能做就做) + +1. 打开那条生时校正(地址栏有 `?c=`),停在这里。 +2. 在另一个标签页退出登录(或等登录过期),回到第一个标签页随便点一下,让它跳到登录页。 +3. 重新登录。 + +预期:落在空白首页,地址栏没有 `?c=`,不是刚才那条生时校正。 + +## 3. 地址栏直接打开网址 / 书签,都是空白首页 + +1. 在任意一条旧对话里,把地址栏改成 `https://staging.jyotisha.chat/`(去掉后面的 `?c=…`)回车。 +2. 从书签或浏览器历史里打开 `https://staging.jyotisha.chat/`。 +3. 在空白首页上直接按刷新。 + +预期:三次都是空白首页「新对话」,不是最近那条对话;刷新后也没有多出空对话(侧栏里不会冒出一排「新对话」)。 + +## 4. 对话链接照常打开 + +1. 在侧栏点一条旧的普通对话,地址栏出现 `?c=…`。复制这个地址。 +2. 新开一个标签页,粘贴打开。 + +预期:直接进这条对话,能看到原来的问答,标题是这条对话的标题。 + +## 5. 在对话里刷新,留在这条对话 + +1. 在一条普通对话里按刷新:仍在这条对话,问答都在。 +2. 在那条生时校正里按刷新:仍在生时校正界面,标题、时间轴都在。 + +## 6. 从其他页面回首页(不应退步) + +1. 点侧栏「星盘」,再点「新建对话」:马上是空白首页,没有加载转圈。 +2. 点侧栏「星盘档案」,再点左下角账户头像那一块(回首页):马上是空白首页,没有加载转圈,也不是刚才那条对话。 +3. 在「星盘」页点侧栏里的某条历史对话:直接进那条对话。 + +## 发现问题时请记 + +- 截图(整屏,带地址栏)。 +- 做到第几步、点了什么。 +- 地址栏里有没有 `?c=`。 diff --git a/docs/testing/home-landing-blank-20260927/1-bare-latest-rectification.png b/docs/testing/home-landing-blank-20260927/1-bare-latest-rectification.png new file mode 100644 index 0000000000000000000000000000000000000000..2a96a022c634b4aa329c06ee22c62ed257525da6 GIT binary patch literal 59504 zcmeFZby$>d^gf6nC?$$C0s=!wcbC%LUDDFsEdm14-O@R9NP~3u;Lsr5odfKv`1$T$ zd+q+W*Y59+eg1L0fOp<`<~;W~=RWuShA7C1qoWX@z`?5q~(weUZyWvXQ=8b0rH(`yiE9hD3x zC#M1m{n^BZC#U?yP%>*Q=|Z5_wb@8vE~r}pP5}iIb2U9p_Z{#aaB$RwNmzeh!1-Yc z!67}q%=`Y~$>S?nstBE&taN|>NdNG9hzQw^V7FoA)D+jw&JGe%5LUqZJG!SIAAj{K zQHFt2KtN1fTwYjNSzSJJO@2pE6!V8r6z$9BtzO8??6qSPkbEB$c&2~XCMV}l9~`cz zsL2{YONiqM&M5CJlg!67f0*SI$QWB)XObUna_pkj_w6sF&B8bna#-^v`Wo5HMk)Pl_ zUN_gl!9hh;wMg(uSYAwQtSt8H|87m<_?k~um3>G4dvSh3>R>@Aa<$OE%f(56ZblE? zR7BRe0zZ(d$`t`*6`SDkVm0mXtJeXn44$widf*i*Sq6 ze12?TAcltM;-ZdREW&!J4E+w1o11&a*3B2?8Ve6=Z*#LeJDbIMCpUw?@!n1lL@(%l z!KZCQ+@@K*37wmhO=pSj`1t%O{7Gj|ceki`uUKzav-j=&bjgf`1r5LFnVq9!-k)3f zKJ@lHaxKo7Ue;Pz7=f~S2wUfs-;;X@WMs+n9nNTasS_J`xhli^XjEJV_v6*dq7Y_P zhbynvlGI=;MHf&aV|p@&wQ28*{hgU|R+pjYjO8>-sUrSZo?tK-#XZDanaX*0G1z8r zvE^{BsJe~=0y6bQyEZno^4i_NmX;2~gvEQDZlG6cOf))MYK{h>@6Od(?(VHAExT1} z#Kpy>#l_*_lE~jnD=U|%mZ%}NKK!|BDKc*E>#>yp{WhOG+}c{_n~QDjRxkHry7zEM zSLE)VOO&JaHhRwX_GIXu&t{N+_sXSlsTpWU^ljqM&n;fGPS)Ep7Oz!6_r}UQ!V>97 zSUtXEWf^?<@Uw9Iw|oW{=Brol)xi2~S_WPk8g4l~^jJIr0bc#fhb>=PS{6DGJbNNi zCG-r3lA_n%Uyf$BiGXmhi8G`-XUg@<^jc=C%@{H7N7J~iEiElSe(Y0Irae3;%gG^p zxg2?h3f%nw9WAZreq$~6K;q$iQCMK0sFsJ;a&WtFFvi)TV8w@Plt3#96mAR>0k7Kw zYZaBakP!Pj4|I!}GTC?n9R#!^ak6#s6Pbdg4`T>h9TdK3A(Hin^HkyDk(tqkR-~6Q z_0`oB{+btDZXfHDlQng8U}3ldXTR46XN;5DmYz+F3}cUJs}?T%+|7!jqoWt2+1c6c zjkR``rSsO*)}*DUPftzp@zE@_xb}8+oo$2@Hm4ab1-t<6eA(7v`vj4ec2L0kh7v@% zw^*IpZOm@ai)OJF3qm&1eH{PLA;jQLx$jWuI$cX~yY3pdu?fY&x6*)@i76-sK>UF9A_d zbW?RX@60FvL0APtQc_ZMLN+pVBvHg?&qPJO5E2kHCOGoD?0wSFDGls)Ey#7h+KNt1 zol6>@V8xe&)2npoUTAWqiJJ|XeBKVHU?ra^a5!iCa)DUThsC|s=WYXr7`8c--0}N( zkLaGAdHP~MRlC-T`1NaHHEu4hsEkMw;WXVe(~&eO;xoJ~g{?iMm5t%Sb)DRq`MSfg z=_NrwwxAdIA{UZ+s{_-!C%1e)FwlaXy?ul8Da$!3@L6Ot)XTN<$~y3QUHAezKK&{* zkdhks8F*Tv28Ogfz+HEM?qW9UZ5Q+N@@y8HLu%T*?nTyhnfN@;l0J-V{lWLECKD5r zV#~r}c% z^D`__E>PQ=v8{jW;PUQaYlX2@wFJG-jBzTm?>qkatJBQB$+93yb28GKtD-sneFd8kD( z!mBnaPPzH{5NNeolk={a$6}kOxMW*18f9D4c9>@(qrO;cb4_)%?R4>UdQ-hRSZmO< zWH_1C^B#uS*8+UR?`a}r<1M$B5;>ZarW+dx$jHb}g4b6fqhAO}NaQo<>D#pLO-dvM z#VJ5tgB~$4%3X%`Vn{P%V}3MC#=1?Iwn8Y_dHpvOip&+*QyN&fcN%Z3hU0Mk|#+` zO|~>Q_kRBTd+$&Nzu69(`6sHj4$reK$qB|k`Tl#C1clLc=(_9SV%A}oCh$!HXC}H4 z-dsL|uR*85Ave@>e|9<)o7UXi+}D;WcW8He`}!mg<61@n1!Hk>v7_UCuKwGhJgH|i ze?s#9{(hg=DV82mHu=?NZ?++@^ZG!w$(lePAf|dT(%W;6j7v<&E?9 zJ17*YIag<$C*4JvpYQE)nFV|hxVX;s!Nl4cHZvJ2lA~OMTD4&<0RaJ2T>2wmmFleD zHC;05w_rYZFdIoyz4GyJIs^_%omKoui=nOAQiTDz?V+|-ik8Z@5F#F2DA=$&RA1m( znNH=NvV>nK%I|71}!M zIp|_XJYU2ceizu4WTS40i||gOZljYwEFzzgrLwk`owNRj{cn#{h;?6fE!f#b&Be{_ z2ka^|o^NWJ+j_1xoz1)|C}<;z*+`O{h6ZID_s@qDcW@XenPHr(KRi0PYl1qOUN@hS zrvL7VupG}ek&)Sp&Iw*>_58iH#pODpLr$La(^Yh*(?~2*x6-Q{tEk9}IMWLQ;x@wBi8KOToPYXtq_DPOb24|QE33or#@z@-Szh zcd(o;J8uEQBLuh{%(L3eZ>6vopKn1AVb{{>ysjG6T0E2S3e-b_8C@fhq?xmIyL@&Z z1&f`c^e5NC#MoxXwYAsTmKHkshwAhwzFZO}l;d_14y|h$r6f7sYq&kQLmP;3K zKl`PqtGghd`Jr#KpTj!T-gkJFrW=k9C+r%gqeMVPV%?2-LbAOdi7!JL+W}G~=SUr1 zso0K;hdVMO4RJkL3z;ra&&h4O&tp$dSYOu|K!F8mQkmqe!|o$v6&FG=WdfT%!(`T23!o zr?cG$!E<#UDrZ~sMb+V8`a8mJuqVq7tYqZmrC@97Kj(_#qk%zIdAaNQ0JhS`^q2w( zmt9n7XtB^+E;l>h;gs62+7gfR9TQUr+r`GB;$p3=4}mX;cv4c5l=AXb;F+%bSy`(k z&Vcj{nPz=U;-V=-NqeXwX^w{zCc!kaX4=(D6{V`Bm6GQaM&;L*6dmnku^tsQ%D^BO zh(?ZJ93cJj+Sg{3Sa+$_dnV7aoPfP}@|4f_8gsV7z}wZe9`>7@jO_M|NQ7lSVn1~& z6{-IKPDZV}tLym*O*@VI61mNcR-gN5UObrj}INyPq-9}i8N4&9_ttl!gA-oo; zx4dMiDt52lP+2)q8HX)^Y&SdUVX~ahAKsX7%Try>iYJMAX)T;@DSYwk;k1 z?qy+R-R>?{EpgfTrKzr-c%z%0^E2$$y$OWC6xlo2*Ecpzu`;88<4s}sN_aNGhXFV2 z>HEt%R%(Bf?u|y%_^l^o(M;?V6#V@0Uho@sTv+W(*(wN36#PY8HzVnuXHEl;9mQ5^ zMgJt{m@T9xIxrCN&vAk~BJW0NS6Or}50MPP-`>{J(%RT)yJg*!f4YoG+i1F3Sy7=j zbG6Cvy@4D5zTUN>=G#6E+XQ=E*b5JkX)(8lv;6bcT=V52<0^*<@?^}`pwPy~29pn7 zbndroY;4qU)bK!oIFU;9r`v^F4whJ%oa(AkDW9d+q+1MabU74Xi@iOZ;{(d>DcIF&L|KB+&ul03^FSI7q#G?YwK`^IMKmN~ zUETCQu>ve=MT(bx*Iok1?V#3)ZFTCGYj&*U2%q&cxPIU6I9pgXHwvYZ_O;l#y~!jk z(iyC^I6Wa*3|eeh`@Lbft~5Seoe$P*Kx$U;k4_J72vl`)dU}oX{+>tZ@5SN#^e;=E zXn-(HjEyxkv`RJ>q(JNf$9q3j-wQBSXB%ca{veQ1E2d7Q!mLW7Bc*utmEuzGsaxGS z6Vvp1iITH+qwh7I@1;~+cL~O4nNYB`#erstPcOtc_~zy&>GhvZ09aCEp)!bvijA6wZZ)q5s;ytXbWm%}o|sxxUM_yeEfC}dfQNOC*f|~Z z+{?dj4olXc!zr?_TCBNGC8Hzi9U7{xSr&t!^i?wb%btAp!-?j(LPee+ zjzj(C*ZKCepLWem^Bt$y!x!EF_;j))TC@cq_DsQH)Q_t!G4x%K z&}?(X9zhRSjdw3`+y2qAV03)E$;T^R8-b^P?puMZs=7+zMpaQUZ=hL6K%Ol6(=OIw znY3UgQ^=6a$@OAVL=kR6DQc^`erC6+L>G-r0!lzpc794p4;#}M&dJj{h?vI>L4Ll+ z=g4FHSr{9;f9h9ehuQBoMz~xm#i?aQulwSRE8abPTdPS+i+Wa10c|keR7pO&NG}gI z10%u2z(7i(lZhT;`#QHkaAK=>W`w=YqA4R6*mG1@`as81VsczAN}RuAq5 zspJDojvS_`t%EFrL?q0s=3EQ4#-U{F^x8`jgIywri`Ea39pf(fJQ#OBi3Ko1LS%{{ zRrN_<%#domx>JsRxnV0Kc%#e8`h&J~$3hwg0j5S;!S|~us@ZL;r-0kb1Ib6?!j}dC zq4V1r+m3wuu*BpHXKv{B<{wN^SD!Iv!V6JkK1F&VKQQ!3p}aY~sUb8^?G~b%Mu#>G zMu%#pEn`F@OX^^&s^x{&^-%KU*HNBZ{!qK9dH`X0g-aPq;9&(QR(>W7kfd;QjG35h z%cnwRag2c%){wy#$drHNlG+bDJ|?AT<>rDEO|+#P$hhSkYE+o-U?2@p`p(u)Y!C0@ zZ5mq{vAFJ>5IJkCnVDs&Wp1~3ujlfmvC4fE?`q}Oky*DoLl?#%MR=bqZ2=grN_ z({FQ;Gl-!f$yDzYk8pLW5%j&_T6m3%>$pE%McPi!3 zDB_Fd4swi9tz7$qAw?>xUUb5GB0eXl{%m)kEXjXn*D$YKFxuvREAaMhRHy0OFAa=0 zzY6pgW>I<*GBWI!m&b!KND6ZEJyeQ+RlIMBAetM{hrJZ;_kF;46&*dRHH%G~ z07SXu?;i9=dd@EGx>|)BdvA4X! z!a)heDM6wB$s?PbubSUvrMHAcL}yeMB}=?CvdXqFD9gzz%Cg?GSYK2c>?+ch59jpp zZ+zn;Ra2fE*b)@l*YVYU>@tk4U7GquEa_Tdey=!kV1|n1+g@m+YS?coIsHZ_>$5_G zlM)8~2DywTmu(ToAg>!XkD=VIE@O6fcJ&#DtgI|t2E7KCJIIczGy!|5yn}i8jw(=l z2s}l?$HU{|<&Ki&LQHp+n>h4)PYzIm>}+gK74_(-k#2Vz^zNlv4L?l6OsfolqR;yV zofQAq;vywG{r*Z0)!O@*qcKv1ttV@NL6LZw$;m*Kv$MCCl$yHheS1KE$a{Blk-=l~ z=5Hc{Qhj;LcV;S*YQ^X;-9K^DO0*_s{HB4N)egG zz}&vAuTk|l*s>E1&2e8!OX)I-Vk?6(B2?W+QB?Voq3@e>t#DFB$qE}=L!{G5ccA|L5a@uZ3=n)m5n$c9gt!{KQ~`rkv=|?=(UjRrVeJV<%#aKLZ)QgbOtTvI z4Npah4tL^0Q(d$7Chw=CKB;&btJ#VjPe#|PKI9l5@$fes4qYF&Jt=UOe%O1CG>eKy zX2f8$V-O1*%+$|Jz589%%u919Xy>$Bmmd6rWPh%JD!7v}T|6R#Y`fmI`~c`*#>U3J zpP)?L-CzhhoVhKvE)2`a{uh2?nE43_(o#|mFBp00>63G@cLehQezIrdWkdvnp#8?F z;BA&qf(RYuvyQ>#V#}i3Jk*AF&<2^1jH3KJ%WIzf8^Rr>W7`*BtA0;UC!yhR>mWz-J#g9I|RL}=3>=qo(1>2p8d2pdchagHK(nDKfKn(WMr(WO~XB%4nJVLMQ-!C z;|V}Ir)oGm8jl@J7-C!<6crPT-E>%gvn_gZE}6WTt(28xk$;Q#>skI9 zdop7?54&OCJKY?`rjekE(`)crDSQ*UZD&zX5#CRffYJ2mko(E96zH&`gTH3J zemJ%mmn|VS?M9!Z5RRxl4~;-1QE8m9S_XRMAGHwnJN5D{%{J$g8ENP znUX*;MMXs>`6t{71Q3SeS^`MnqP>*Z+T2moE`_09nFiS_)-PBA6sBL3i_sD!(lE(! z%ytPLkc;SVZ7M`x7(d=?AbkQIdY@kn6?=IqR0vh5yE612Pmvfpsd5CB&xL z^RQz+Z5x;;7#OVh_}l}{6)1250TUCmuR1I&_GeH}k62Jpkfdb)+9rkQVRo}x=HkMk zpqmWJh;%}kPLoXzz$lC7g@PoSnwkbMjH;n1gcJN^(Fzd9Q^@}9B?$#3#qBlX^QRB< zF}oOz;&Cit;UU?7Kj?R>t82K@?4Ot+BAUtbR!=gGqIN$TDHUyV`H0O2)6#bFG35Qk z3c<&u6s9v^Qo)azr=t(;H!Undrq+8Q|8u!|$^l=dHIyrnY+W|SH_+=Oqb&XtFFu<^l{66-$JSYR_srE5pdT7^M_^hnP6LQ+P9?aj*Uk~P1EB9Wg zyj!;8dUj#$3tQ8)v+KLP^f~mt3kVR*5OB1)7%BotM}`}p1O{#IjXlH(>cayLV>@5U zSaTaw94y%JRmdb340&h>{I^>KW;#G}s8-3n+#cSbT(4qH3!i>d;sP0C_pb3(ky2_7 z4W;Q;F<`<2!B9j#AhRasWz!fGF{`q>L35dgu)}`QyvY)YAy+eD%_B|3@^gnLX5|+cZMoG9%{R#k%Z>z6A^)B31`%f&!WzKuL-0cYY8EsZs6{*Vz1pR9UAi!ZzLeg z4^5E<+mJFcc%i#R_a_=3iD-JgH!Y)%WgJ;Ut#WU`WR@n&b*OST?>C>XL9=o2kP{<_ zOzjx$>l>EZG;?rdVX2;M;GW+bnkpTt85*idqidyc56ONL(vnW^P6<_QW#zIRXRwX` zR$vC)ez5DI*HW{0VqDxrv!)SIx^Mm{!0^+!``oA;Yb^l?9KESkYoR21aV<^l?av&J z^<}Q!QZ?&yst8#~MCiL!xz$s-{xUsqvDXa+P=7zhBi#2SA5yq#C^xre=8_#a)A3z5BP68$;q}dv==XduPF}< zp8lce9oRuMS5MJfW3p>w-ejbGt!h12Gd45B>v~UC1R3D*_Pzt=3Bm;Y_r5z-Sy=)U zEkug2%Ls80COQeT&B(myB?(`gvw-h03pMo@n23uDhswByrq&-i+FQ^EMm0wQF`CAZA z%|?=|-Dc0A&*m3uYS{wG##1>D@z8qW`hU}IEF^xdsH>t;AEDs7GAb7c=ud)H=hI9j zYtliI#ybHno7sI}PYQc5b}W_lWmFZbCc7tuO;=a9_!BV2(_*vr7`&Cc%s}9yRR@T) zFnNh@;o)H2k{(v$kAD%#&+sPCJV7#~*07TSR79Y~6WH9`V_Y2dt0X`Brzy)+QXEQb z$9ECXi?A=B-()b+Dn}(J$94?MNXp5DgpJDlKB=z$0<-d`7JobR>Zq!kwZS~(*xdYG zvsFfrtSUYIa5hPQK6(k&HDzPTLE zD>XP!{G|lo;6g*9V^pT3l~Cgn67J7_UIba+>drAUb8_lxYb&RN2h_6g;y~)u1K1n+ zX6vTM5=aROGB}cbZ`f63Wg~FJm6yi4+Q)>H^%HY)-rEu+ypL*WkFE!jR zH8DN|8CRKHE-b7_;^yXy@fS4=QJ{W>0{RermftReBOI8QK>J<9DugMK3d@*T#46#7 zsG?!zTkWpVwPP05S{XXpTA&Wim+D<1r!qA9&EsnEIPU|Pe-$5gI3ToNvxeomg+yfd zM^FlDhsnY-g>_?vIf#D1^glK2AR8rPmi#Fr)nz83qKO&p7wNVQoS#Q7fCB4Cq`?9$ zbTn55G(q^p?8JdZg^OTaJA#>ogS076YPJ-L+Sy6|r~W1&h`{Ghd+bW#Oilm>qY)Jw zTNfdAfXI}h4O&#xtzuTfLXo>Oh=cN_R0k&@S1($DEFUj-h&EwuLy0fp%V_j-hwg?3 zGD>Cfz-~%+&3Fp3z~2t&V)!W4RDY||zsAz_Q-@UlEl#K;VvL+oYIjDv3;$G62gTDpQ#f z6eKZ6`yO0OAU-Fd-NaUQ`|m>E3Q{!lXS}XVhc@ZbdU%g3QvRJ4OEv>x;t+WZue&Rzl~YS1|d{@9rbLs zI900FyD!SnWz0xIiZJV(Be8H}LS1XFdt7tNQT=$-Kp0zHFM= z*hr6|$6Q-XozlNor9sa)Y9XkS%(Iv;{5qqZ07g*Fq8|0)`_s@(T2!DQ_!W8)k zQhtK6$odFrB$921F6EMUR~?Q+G69oz#UZ+Uw5zRpPNYJ(G`~4kWMD_L7x9JGZ*>y8`9IH>*mX7B5 zk_2Z_cu$ZO1`DX65*Cu{}!6CRf;P2k0n%AmGwz-zS~%P<#S0ONS{o{ zp-~rm5b1pl+PL-x^e%sa>4=I33`f_uD#qWUZP2cPkcd*G|9Qzq+hAEK188uqr%s<) zdFL1|iAm6zZVc~~zP-5?PL%UzG5Q%!>*n3)M#p~k`utGyyDY70we>{MfOH+1z~Mdw znlv&WJk^nIv@^dWxRV~!)#afR=Q1e7Se0##3TZtN#wG$fSbeLtC|)-Q55m(VDgQ&64J@%SulQ{$DEdjhH}b zzmT0PDzryipxNebEVi&v?8bGu4Gk(nT#&nd)4p0!{d%>A4wcJtw%PQK>a=%F%=9GV_sA>_lgq2U{ODPSDvPxvZ=re9S&9}d#XI6)F80tP6`USpe|pJv~(GZmdE>Y z0P%ou8c;)abfbd^9tLSdrM_8HH##Asr)?TaI)b^P)fI+lKYc_3n4}a79ASgH+Vn&N zYt|@+xC7d^Z!~T=EJC8flS3sgN81R@j3lZ=oQY>glM_}1HL$vbVMwiG_FS$S?0PnN zCl*;_0N;Z^Z2?CaE5fLN?eYj1E6c{bC3W&?VsSc{qU!RWN4PuRFkVu^(GxCaA~&I z0#c|rJ>DS~4$jZY(p+3{K20FHy&$190(7#Od?&y}S>;_4hqui_V=YgOt?(0A0U#zO zO4oTju+)T7Kj7aGy=FDt10e_pIGROpbNzZ(>U}d*pj|JAaC3ezR+<149Zfj*VUu(&^-JQYT6!V$&9~=#U zfnrXCESbmpg=AZA#NMB-LeNhoK=^}z^<1kq2oS{b;+SM2++5l$wbp*v3=C5T=yZl9 za-1-4y;h&o9eXFIp>0-Nq!(MlnT9PN$3wfiK>xK8dXh-Xw;05TNJyEyjy3IP(%*>r zy>2fS81-ADB?`;+g~4?6K0iitySgb)rna`~u( zc++@&CC`iXmP+6z3xt4Kr_=mZ(NrXz4pWnIuM1YY?H9{O+Ib)jvjncUyW9JYfWu(^ zljbPIx`|P*QLD{|s8Zqs0kD8(J6qj(Z_MWA8#mDJiirgU9$o}vFW;Q+T(x@ooI=u1 zHyQUAYbo9?cLujF+vxI+yXtCHd3hZ$fC3oF3~KaTyz zuAZ)6(Aj@{_V+WXQn8)okMbEnD?B_ryp>U`+QOjMn39@G8!b_`bd--kLr=$+#@EEf zi(S0kc@kvNkhE34od{Y;WN|Ym97=(YzAosW_j?z-uJLt z>3V@C7pnx(b$AL&$`Oy^Sl z2qz~mpULIk*wm!GvaR08X_SLQpAz+~MMDA*_WfPU!9b4d?dqx2C_a`b#(x)F zKl1{j*>v8RA+gDG6Q}r#POF#qBK$UX+k&SL?Q?Zt2y5f!28m%$pi4=7@cH?8sqcJJ zCs?2Sg~l4KXTE%SI-$p8tF}3^5Ad77_?eu%lTp7-uhHpluK{&qBcE2Cu1q7#Yo$p_ zO3G%UbRR?i_@>q|0S5<5DESK@ar<-0fw&m7_Ad(5%^v%v*zy>JgqBsmay3(PbFn<) zLqa4UTKNH0>d;EXJ2;9zN`GJ}8V(N+r-n26{69ZlV{gA^ zPL`piMLqfc=P!VDul)aKKVTdD{!hktdmGGgF>rJl@fvS0@F@DKD4aW?V`H<>@$xoN-|{(KT}@kZ zV)1OF99?pdT8c-e!&af*|L|$~0XT7CB8L7#S3BpaBoUy_zK_MvLp7cx^llylllXr% zHyk(cCO|H=Z@?E04yRvT&PJm(L`>>1CK9wao!&XGA_gQ7RTlu10i)-CHX%Pu+J3mb z)zwlkxZ2?Egd`%3&7A`u)@gvcIZD80e6}j;2;>7VFFj<@pFFje>m*{K{dAN$uH`ms z?{N+nJnc5-^N8j+#w=$_7jm<*he`gPxgrn+`{3Tn(-2?kmLO)h2`*nwloS7Lpz#MuhA6~1P`k*8s_+TGb1xCsalE>gC zNi3MoX8+B~TFas_A_C`siWne%87Ba$&d2IuuD-QX{9BHvp`no|S*6uZ>CSY?3nCUj z8*vd4cQ=*XIY2o;tv&+n>e8qy0ZcjM~%E071gLoP0LKymQ9N8WrqTN8WK zmjMpg&G6RNRv7kw_?iX;PNJi|l(e+x@hY}-UIl&zBK#BljUBCD)=?5E))S@H_deH> z6<>E}MkusEJ$yiZwhWkCFbG&e2Z!Sh0oNO#u#}f~9p1^CE>X>UJXCN#O_&0RHzNzr zQc_a1Ilv1|W+i)-PW@h0109P#L%-euYXAJucN`oCv(AT|;&LDmNG^#j;H=sEQsAMY z;WV+?<4&yZhskakhJVL(aEseFA>H;o|jrOSWxd+5b=hM)7utTx@LfIZE9( z=ew{b)^B{H$^6a>L13d^*@b#n?QWEH)TKzFw?`MPxL9vamOFC#3aKZQD-8p0&Mn%! zZ`DAU^qP&uvbza?ikzjc-c9ERAAXat%L9Hq4kw{|ek!U0ultjDHel98z-EzG;c`{+ z-bf6iV9vOG+=vPoe@Q=vSbJvqTKSWEVw|vA_uo4qv1Vw50vA*L!gU-RfoN)~stc~m zQAHt=fuZa8GCdi(sl!7<5{Me0n5er_{ibZ7k^(Xc5wDkYf&KBZRb6pdHERnV9v+OH ztyBywR@Kttb4~qF0+`Se8HxLF0JVKiP7b*?pXBG~He*w7rlxlB(|9=Q( zSOlEa$B*qFnM_A@OUp)Hg>_*v*ShTI)2Gg0w@zPI_x4wpXFi-@8vyU{Moz7cMo23R{*jDSw`a(Zh=BVww3V|V@EN3;^;PZIR z;s6NVP|ES}@l~5#oEwR-u^pF}qnljI2=ED%+zW&lwd*$Kp*jB&AuL%6;KAnV4k<~i zNjb z8od8eOF2op&pUItk#)N%i5x(3VBCI^hf2s%Do=2}JCpxxzUB7g)mQtqj+Kg*VwEgj z^-`_5Dic7bPfr#53kFmImxtbx`0fL1_EsF88)y9;B!a^k?182HKC3du zxlTRio}RosKL1hFIZpEaYFlxFtk=OJWQul2y@0|dR$(?@7dJ*1FlqehvQBnVYEx-d zX&9y3R2JFW<>VrA$LqW~8_l|o-nZPM*-TeynwsY42i3rP9l+MRrPY8?!ow$!&E)Xk zvsk#H2WxXKRa!0`tssP>p_l8mFq=={K?UT~1?s)JXW=8k`b&Bz>Te%!NC>JfChrd< ztn;oA)-Pm$95^rt$!sSMxz<8$(~b-9G2v{qstIST+9uNv7GN?5hx(`Cq zy?hw{-k&d=}VPJED{)kUjyA4$f?t=5ugB zmgbOk$pk$1;{00$;$00{-6@}F82nm(@7;91)n+$d6;F%vAJdyi1LWseFH1`!@}=1H z^cE-R&T=H_a4Ng|^@(-*Z0+YiT!+ujj69EaJdC{^1<=It@zdg-XaUT_g-hMa$}1Wg zx_=eIy^_fp)+hWBji1H}(b0-VJ+grPNua`(3K-5WR{Mferk7eScjqgK_+?zsD`bEj z%gE64@aX9jm-o2bVc5l$?tAedxnbPC!%hfPTbFx_ES49a>#Vgf@aOf##Z&b>*9V+W z`g~OY1?GPgd8E?MC%>T3Z3uX-T(9k&@lYaT7VxbW_^fpV^uDH)of#j;=lUKQ5^{WH zPoBzQE>f<=u7GP9C)yXT$(j+SoLx}VKHz_rd zD$+sFSzHKzgcLYx>HjO+{J(AxC_Vlk8kau$@L}9QUyX;B9~hV%iXzaXARxd{Y^^#fXI)QgSuwR=@IwGNxK%&=Ikw%O92jtK*lTARGa!?TK~c zUw}=#2vhVPoRgic-+aXFzB9DPeM-n~bAPk~RHWb0I@Jq+!oU|P(E_84VB6;_;C2!7M)|3B8R9 zPvi8h49Zt4h}bvb&*_zUdwg|sP6!x;IM~>7rL>Gy(A?|lt8+plVLG7X)RYt@ieRsh zk0$1MB_+alEpB|o*E5m83JDL1l>QnK5fT;|85$b;?OV(PNkCCiKajEq;vJb;S#yA1 zAM~d>@)MK<%uV0ILsMvM7tdaxykM}y?xzQ=o$ubg6Aq5xa=iIcTN@7p|>pZ7q!?WjMIDSAWL#?U}jakqqk#3t?PWfWUPL^$$D;zc|>1me_vy zuzIwT1Atj6V2)x6nz99SOIvk8LHV_{dFkMAFgP6yrZ;EB`v!kGU#J*>zB}`cnDu^t z?$W47?pLj&HnLtRAt9mk&P49Y-k!uAR@L>K>!I-zxBW(Rz%n@?2!xPmi|6_G&>p~N zd(#=6eXu^LE*SKs#&XGhBrRE&$2Iqs*V)3>+`z`hz{b?V(7*t2d6g996@l~O)6!J3 zJ|JE{pf~$I-2Xa`-Jh#fzA6X_4b`i#JHETcSm%|*q>M~&x_I-etpxCmV!^c^{v}_I zsJNYX(kjOT$X?vTt}RI|b#>A>taW(Z`krHY2BDLP7T4yM(F(SA=BzIA^A@dILaVO7 zZ7ZvT^`s3)T5n*v3IJ>%f3aF;u#Zu9fI=i?iZC#&;dQ_Ga z6`A{Y_b5|EDlWZ`aV&ulv9Pevs1~ysz%+_K@$vJw`5-eGx0mU9_D7l<8_V3SNK9X@ zcC%KSjW*dGpVXMM>ht+lej4{eM-M+(XapAEiB?U|SuBu8@HqM!ZDhOD>Uh!>4RnV6 z7ZvV<5zjD)0gE@IX0s4P66J(kJRGonQUJzd3l3Yz7nMOtP^-(`2H@`p0vPBm8$35D z-APg4mh1mMq~a>}4Zp`X8t(I*Y27-j@u6hLrDpef*F%41BQYfk8r7Gz{(ltml>k4pe}`^8dC<;KQ2u%#KMpXGt zvFWnCV_daPB1U^OV*z(4^R#6cmqF`hYupGMJKkEGlSXG>2kSMZ%njbjcGqzyyM>Cn zMtss+^!9v8$|>9TtJy!ljOKok%Rmr#3Rv(b`PJ0aZf-p8@1LA>vNUL}antZ^{wuEm+Q!k@1HUa@JH;fkG|;79Tjp zKw~VOQ2O?c)l5eD*W8BeE~QKwi|^ta?KxlFYCt4JDT62OJ1*4f1w0GGZwcv7Yb*qn z&0zDVL3AfAsE7^cv|dbz!hKsHpZehrUZCT*x9xt_I&CBo?|TA5&eC{6llm>p*qC?b z$@PA5sZmKH8M4Dt4qDqE_`J@(#_gV7jwZ9}LjV(oQb5o-kf)=3@!Uza>ObVSA1bGC z+Pa+ey?1q02cn?S?CARwz{S}F1Za)9vIIq1zp=~Kn9W>Wx_Y@TmB0Jtfw%wr_kg^8 zP|zqjApz3bf~aFCE9qDp4iqp-N=jBbfY0No>F>Z07?mCoEI&Zfc`q;ad4=lH(aumw zWc24#Gcr~*MYRIF?{<>?JL=sFOox&H>9jj4Y8X5x2>LB!#A7=q5UgFF8yfj#H!coq zhj){^x3@Re?6mEmOi)iR<0LF00S6GkdcfA80l|@f;N64Ac~1e_nIjf%K^DCQJ;ep; zSX7*$oKRsp9Kh0*n^jN%w1_ZKqAD!X?2(;n9!(ldw;md zUzCYS!U$H3mCFCw-vY4HAjbCufJ5^goa-SZp3gYU5>mEQX~b!sCg9v`F->zqzP@?D zVxzs;7H5KZ|VMd z(hV?W`g>r^o?qh$-7x^Jnc^$G<|9R}Q#F14hvD5#lun5h0)7uKQ&Y;+Vajt=sg!z0 z&x;+xSFf;1aN8W#Stw&Qm+t|=aAEVH+B$EWPrTl1pqx$jhG95Plu`zw!2$VO6eO*f5GHq6o4?Kxyf20ci#4ly0O%Y3U9T zSctTAN(xAqw1`M|H!9ssVlv4+(Dl6gJ@)VYef(PM(8Yp#-q*OsIL8?@TwG9F#>!fO z_`ldRgFldNq{@XbJVAPhpN9e)I0%~zb>2{%mv<9I5p1>D6<3Ub{siRw6_o_HekT$q zs(oyCp@6*(4mK9mMJJp{+7YM!^XoFy;lB_)cUtaE-Pzwi{mJ1znfuEid39;Y`E;BT zR;imOmFv6=*bm$)FMKJ}M13gLheirwfrLMBh8LWr!&3~zZ){?rjbGW!rmr_A)v<`; zubBw6s~72Mj{-qjX;DE{Z+g!*gpF5HKq6ZE$(2WJ+vv}k3yhVR^{LnlQRd#ZDsLJc zmS-0_hN`S4q-S+eMo_0B3~4YNqGFi|H$VRd)1IOk_ke%^__)lvmO>GHZ}Oj&lcU&7 zdN+s`D8iV+Ha0+49dvYj9AzskZCtET2&Bv%l0QC93@I9gIzTWnMCCvRRMh2Z&V_tLBbQRx;BoCcCd9 z)S*y=mcQM+2DyD!R(2`>78W|cX}i6r_|DnMiJG$Tbu{6eAcxAV+REpjMHf8aQ<;U+&g-J^R6mB&(AO zC#NKlWJ0wmCDYi#P3`9DY6>0uRdkVLAtzoRH1DJN+cOb9^f=hqglzHa+ZRS~>zdLJ zvr`*d%f~+o$TCE**Lh7XNrn=`8nfx%W%u@YLZZ)Gez<7p0UO)w$tVwMNVzYyj>GGi zMdeL24l~uQTMmfyDaTUHCyw&iw8GnC@l2H97L@qV&0R-__*Jn^WxZvbBF1gYxgu*d z(}#>?X@Wk_ROLdl*eCLHmC_>3@k$n%TX45Tsru9#y!D38U%?hsg5q;#p~4yAJvKcW z+ZS_WOZn8DD4%n*9go)_go!} zSskKVUn9(`Z!+KZMx1_Yllqu;o~u{oseZ1Se$#|H6YkfAZBZyxGj&KAlOOwezz*3- z`_rfR`UD3D1ALZ+V8hPwPOWg2i?egtoRoV*#Ha?dZd9_y(dNI>SGYMiBJjE4H{*%HA=7 zOSna%S7;S&$Zuw169Gebm}&FpD#~ z10O5E<8Xtz;5zn7opJWVuzZK%BtA>~-N6{Rj&Bn`OlK%Q*k9cf8$Cv$2*z#A&E*Ij z$ET{~wr|RJZnp&D+ePJeu;Gwe>^QFM!j?pm#x*&!D*(^tGuuf=YZOAm?l8O zoSuGdS>{u{ssZDwQ?8-R(ZJBqRGHh=j#r}7_HbAMMuhHgtY10TLppX38K?NB!KBT` znzgXmA2aHu*Gbj>XMJ;esbg=UvhrfHeQ~iBNwaX-(a~(zY&L!&_p+Db;^O)HWc>D^ zd1GhQ<<&g;_#>3;Y-J!i;MP+A(91LdCps3EdSGWDG!@|S2V9%KiiwNdnu+dtaj{d` z$TvkqcBGUdq_J=5dlemhg{VvVf#w%wBIq{%)Z!x(S2wrLxivaQPSo!U?pfUItekd5 z54Pz7+e!^hm6B}PZ-_;?eVqN1gH6@%Qy7tHuaQNYW5shTQ`NXLFl*Yc4G#q0&5fF` zwn8x(8aDA*YRn>Hug?>*CaGRj9@Wd`+#Gtd)XAhRBO|lVGes?RTT?4LC&&5MkrDV< z4Tgnu>DkO*XU|nEof{k(v0ckbwlR#wa>pW zH%~}NxWuNEu_QxD;rIstTu@~@CQ0~Kx?>+^M({1TiZJfOooTv=Xsoju%2D{lC8@9P z1@C6o!v^~io#VBk&KP0uO|ivq_3j5bQhg!;;icu}4K7GRVbzMzN+&;)|N67Rms2?- zIST7OiyL!8=Dks#ijB(gyiT%|En%emlILXE?7|JcMhkLpub$w7{J8$*z+g`jpK?=3 zY3c5l*O`oHz87j8n!eG|snb!m?RJY6uVb8(+R5>qW3FE98_nL<8sh+jTEauq_Vm@E#>Lu_ z5<7~txM6k@F4J_eiF%h}a)~)10j5MDT^;QuLxOwvq;d_JitQ8(t4|%?iv7%2U;k8Z z`BGo6(ZlU9n!b;aO-Gg(x<|$x?|_jEn#lT8^>A z9o)F~hSP+8XtR3T)5PR=k$#;F`{Bk!2P4`8TNkwyi;(M}~r>#w^GxBsNMh=?kFhh;fEJ^-_+2fVuA1&Eb^ z&^!-pFx@H8ES53p9xv0)`@M$(E>HT@t5>hCV&dpF**FzwuzrftC`=qf=J=}oLr5r@ zYHfY%6B_fd2be3tn99AD`{~msZ1RWm8#Q~;^a@9_@#Ev;uYc1=6$>S&kkTvOM>ZJ2 z$$mLmu?tgy^XBAKrJT9@;OB2Z>O!uIN>{~S@JhoX0syOSW)#{fCC3-Q`K>3VFK&ZK z<~@bz8tk*0Da7Gk7jS-gf>>Oia@iu}M7#TcGs^JSN{vg$mlxOhipirlfZ!J3clG!_ ziQKZLR>?~VV`CLRkHei$k8ICXP)*0x_1l2^@1?aS-Mds)uVyP3chF-W(`Q5)9$Qa3 z0SblYT};pwx737Na*Bo*?y@yL*dUb#6-vL}m6nz^8y*L<1`Dg5EfhEy^1j%syH5_o zbE~qQ8_88tilWKPFox}^#Mv8Qs41oKOA*6j7ltKT!K-`6I7y%|G%lZ*sl?POtR^$!R=hu!=J`BgRx5-4j4<>N}6l>9weK=4! ziUzgGA$#w&_gpr|vp7cD3Uys_`;z6Vg@r5?5`-EJ8U*-krg?cIXGL;7;d|8ya`O)0NlPMwTY9}42r zv`R~07*;E>M?I82HY?Qv!W`R<4d3h6uf2|MXR#xl9Gq~@k6r_S#b-O4$YG>6lCR!~ z98^?PMA=ps_zp)%y(g8^yx}Hfu*@brTCA&HY%p_5UFlS@Qb!dzNvHlW%ecn8&wDVQ z!`liR9mvSY+>xskBqV%ZKQ@AJxA3#0@_e&Y5$WDnP(=Q3-blBMj8uNTk|`DbAe_f? zYFCE z9^%~!_=bs_hQFTkM)Whyoes#iW z2Xu_y$X<4CW>p6K2woIhjZ?wWKE?cp55sNYX(GKRYP&$x>m(?osdEyxgOBt0?H9C^mF?`YI_d|7_+S4Tjvv<&(Cwt2V<#bzY3e)MU+r4svD}_* zP(p@0&0y2_h%Ed0r8E;88{71E2l;he@+X7rGVQPiq&=98k00N?3!JtS@9~{yTQ)Wd zNjxC0O^g8prfhy9>M3PiU0vP+4*s0)-vJBHdiyNdHrP)O^2Dru1$}a!40k zATk+rhNigpA64j%^}?KAa)LyT6)kp>@q79*5hECl7xQ_t$`mF6tRxljyg@6xJ`MmT zx$tp!D$j5FLEGRj4oDGxUeJ+ZEzaB`I$Y@BM(C9q=NW1%WNhOOu`5uXMcJ~!TnRVo zMEVmi@vCQ+W42Lz&i(1<{+Ku%Ou;1gIPcG$`+YaQ3BwNsBMJ@P&%Ve^x(e&DLg>IE zpFM*Q^!UaNDlzIo$l2MV0- znBu-+Ge(HUm%5t$m05`@Yvum7k{u3&8Ef7zcXy2p1RdxMf#TTiPj2!&UCEg?Qd;A) zUUAXKQqNU%1qGb4FE(d{cU7ZXZ!Mo{`WRnFFiEe;+FU zUI9B48`QpEJdllG#-f-aBx&IiO{YNX^H64mHqvSM)6bqno)mr)MP<94kK$4wG93eJ ztgRUV%_6;o4eQo-BUuY_#36(|xqZ%6B^;v8`~C3OKt+#tA0IznbC9K0#LGPzP5u`W zJ~sdYOG^dp{`i@$kFqB5T5|cE|Kc|9iXx~uMoE0UcvWlgPFPu-TfgV9^) z(~z6j9ug1`sta60Z-!n}I#Y2oF~C#kk=N4aCZER*?oNR5=5ehy`v(CXp|iJ_T*&q7 zH2>h<8X#RFp5IsCDk2qf&2lTxaatdF?Z7P6cxPZ_BpcDFDG_qAD(F- zMWxI(n2UlpCYd#>VH2){xe~QcOemt!4EkgSYnpf6NrF=#r2o3k-=Ko!JqHL4F@aZD}RH_U4Cxz@Xq9uPt4J`5@}nJ?U?hL9+Q}Wh4~P zp;oE1zN>TItZ`k%y6Ly@gg^>Ru27!m3o=7uA~M^Vf-kz;FLC_$kxESqBv(`zVhsy2 zGfj+*#bT0ocG@LF3Fyn#=9=a$Grt?}?*67HWYLqoZ8BNGsFr|FM#k;={k}?DtdB=Z zGO4XzljquS0*poajrK7@?;6Ds%^hrWBNpW3#N_H?n7I7Xw*K?d3e-iU{gCusNACs74hW3Dvv1$Hf3SX#nx>Qf2y)h3T+ zKJQ-@+Y+PBn>y_JLfa^ZG|t~SYKNb`c+bd+i~DbHg1v!BcRb@vofA2q^R=0Bvvoz4 zE2#q6z9Ev*$yVVs*g&mtM(;KK!+#ysx;Zs^Pb=~ghSfPdbjEL=Xtd^5 zPlR%8@WBW}1lK?qnU zOWGsqG32a17s~junA!sS+IH?ZRnRBW;60#BrK6LbQ3jt48uC4bW3SEEl;=jR+4xJc zHrN{cvgba*x$pdY(oJPpA2{n|U^dNf^zwOnVWtxb!Q)Q&5(7iScdiMU)MQ8G-&|5w zCM_ca*HRgH$>2Y}laBsBUbhy;BWiz=d-p^gd%uEnC-djB(o%9B`;`fYICPO~QD_^h z+OOK@&tajyynBS;*Y+zdeHKEf(C%-*l7+7K6rT1kyGP*&8yhuzPmv3NgzAvw$$Tz3 zX=zQVsWxZFmF9g0!ym#;);M z%TEZl6jPIgPLeCzHJ&JeJo;!!Wa=E&w-HO;ERy~2y^bcA{4C_%t-;FeWp+dSLtK~U z#s6Uel4YwKo^V@*_NrR^9wyZ-TQsFUoPCb|;G?F(`2X0<$qK)xH zFq*(u=Nr6RU$Ju>i$v8&wtLGyWn?f}`j8x+OT2ji=QVuqROxv-$AbD6Bt8Sb1lB&3sV*MYj z0z@r!*TH)bY>mqG>on$)4n#OO;#-YlnU_^QG^6=k`A_xz=9Apie3 z=~FhU8d>O%i3A)5xs~$diC#5bmWOui`(I$8YgI}+5`x5X3 zwgzhotT-7SeK9K-Eo+6kSz$Xyd7(i=A0+j5ePxAV-`vzRJ~1(rg3r&u^YCLauKVEU&7(&uT5y3tm~kM!5FXaRpIr ztvdqLUzzEZDBt952R|2Dd9;4Hz0XUl*q}OpsD?Ivo zW0*C%Zf|$SbO9A3QRvmXZ%U3QRmjFOkEPxO+m|n;-E-tqmzI_!iN%9(G{!dvX}db& z(7~C{YOJWCvC;1|zx|UmVzh&>!PcX$rf%qpmcezt-^ZbrWoVv=VHuSJ_50Lwstq~^ zKU<`LXuRX|2g6lHhsLDJdJgO!IPB)1M=1`es7muYPJg*sc1@Qh_I{L`D-k%0Y5FdD=v3RNR@>;Sq>FeheW*sV)~d#; z$vlhu;JjKDBxMGS5A7#0U5m5zPA2=GII-BD{D9ds!=T}KZEaB2R#CAkCzekAA1Ns* zu;jB}pm9QOOz0Z1>V_)J3gpK_UprB+z4!0GI{?RZ{3`w3)_x^gk%|2@DL(#7O%2>7 z4>135roBhtRhK@_*Uo&=6xLp( zv`X41I};z~^u;sb1w#hFbf$-rySj}H+s#she~8MJoYj?;sO7C0_Xy133Gm?tOGYsb zjin9#a?{ngoZXAN;Q*l(%?P4A8;er6a+N51d)dmo%Ra`&@}_vVd}{==U>zN;K}#9J z#oePa)%3RT=+OiKMWfQp_V2gmZ%o(hwS^HW5v1kkcl!Bb60(=Yu~$W3t#e%!+cxk5 zj_eWNCCdlx$PF}PLE)r`1FyL}lVx7($sgap3%Ma4@iV%$M|=d}mY0uvs@(kED&@q; z;Gl|;u1J~`Lid@$Vk}ajuQSFh1pNtHQX!q_Jjm$Ul*q{h93vhk@>(m7Nz2H-4-ElZ z@${@1-Bj2d3nO~Twxe?uqpqLbedZQzYnGK;kXPFB?OQm7D6ez3mJ1S*CHin5yyWZF z$1I2IYbvnoT;^uCW;{CI{iw7YN#*sza*KhNOs!bMe+wH2ht}{eHkm*&6XoQj0N@Z! zUTt-jaa(1*n#G2zFW1!yb%2`Y>+|;zrp2YCq`-IfBv!iweT91y4az}vUOxXrui zFrdV&R?XBpBX^GIvvKcp{40ci`?uwaX4&2R8?kKqEKLk`WttKayDhpi0!~y^)QcX2 zDyrc9U98*>9mgL7=qryIrKSIMakK}X`UfR3F)>HS54q+sVm~1Np)Z+7L0sJ7Ab+H6 zhmpGOdVH19nWV~^kkj!s|K^R^LMg5BvCOuxo)qqI1CQ-lvhAsA4HiQMs<~C}+-vAY zX|ot z=Y8WwJikL#;-skhN<>6>!Pw`{rk2&A7hk@7h-Otx5C|Ub-ov$=sda)Zi(3LzYhV4m z)`$}wM|8;ZMA>y4KOEl)0KTiT{U0{pSJ>mZw*vZtrMI|cU|_Ul3WFN5ok>`K2Fe(8 z=v)v3Vd=Y?dV5olRi{4vMURfQHvifhX)X8m54mMGq1lq3;-*uxO+K2V8q&UaH#4PN zRx!S+-O0+%2_+GHV#Ji!n^GIW_1V+wU~5J&YgE|&`=>hOR(HHe$d>2n!fvIdCh3L# zwtls<__-!TG{hD4ifZnp3ORAn3tIN4Q>s0YCLbLhq-wLZ-G1C>rtpVf$aftRGm;%2 zcDz5rlY9~EXpjB=h$QAUJ5OWk>|P1^1){;1D; z^$G>qK8|?7rrWbKjEo&{5??qB|Ndp%9xjO}_q-1B*W>jucEI>Baf$N_3V`py!2GAS zFt~w?#sj%Y#O==F<)R0mU~gE8;M#DWW}XUd**Lho&v-a1B?$3cj1-~<%9Y^LR;6ce z1>l=KzKP@Lx0K48^NV%5$jA2y4mS5+xl|)ICo46_WlYsfjg8-Y6Sg-G%KDt22A|gNEwSDRzai>#zJavpf{yR6c1HGo zcpFgZO~6NAPk#nq1I+uZXX^*Pf6uZ_Yjji!A!HSA5!3vvr#Q$ZOiN%rkbyBbb+OEz zrhlHsda%E5Ir>QkWJx~>p8GxC*_cqJNV}J{B=1EbvrQp-J$hwUWjKEa&*t&t$F8p9 z@dGBNn7d-uBcKB?s?Bsmij4(i_RD7q5+)1JGc z(us?^=E{|G*2L=cckEPL8SiqWl0 zj2GX{Hn{UYlBWMMTWgkNm8HxeucSnOGXY->Mw`NqABhOb4;dGJ0~J$$W?G|2Yw!4= zE4zzOy+EU-GMOYe9m|C^c6o2Gt#eS;TLo-6us3rr8VjPW2w!Hn&GwPsKQh{jRlp&B zxHg$x@a?=~mQFF=acw`Za$O^wM6kIsdHrJxW(sM_Y`q&O)L}uxz}bzCqpWi&-et&z zN(99?jo%^X+jK9D*4A`orqcH8;o)rz8)>YM)%CW3pctsCt~dL804E$vvj9v4AZ&;% z>tjJdwJ}N-It&%1Q~_(Q1L`te=3SJhfJM{|7%!N7oGYMlA=B4ak!kcmIy=hCUwB`Y zj`G=G`FTJx21#41oHPZx@wzWxT0}VSyfqu8q#t8r zV^1+pPfue#Ju54{>m>j%Z-77fDWv$tt2Mt!unlXTjzhWINCxWy1!nU=D!_8J=gMkcfkWzM_xzm zci^T2{6>*5>7k8Yxg^ei0)q61F`j5!quFwBiZkH-5c?SM->`P1FZ&2BDItN;R6jAh zwMo(H#Udq6q_pSS{wqX;;Z&xF%kbO3-1>A=&OcQAf9~VEE^jq_YpbvtpkiiT--)Eo znklrb2Hy#CA;(V^>cv=#%n_-txLe z2Fs;f0(Kc0^T1*D|N84_Ru&e#-WytjT2-*VF$<4~h{#bOo*EyY_StzLEG%wh2l}n2 zRD=Ef|9eSfiK3aFIby^M0YnSL{PG+HHiO3Gc|3pqTtx+MwfiUJ>r4R( z=f=eawxtmysqh;7^$v`ZE-QCf5x#uVeak*LXNggX|7ncSK77Kf!%@-DAoOp(^oG6% z|A*Oh4c7j@9UcdZ;5&za#wDkY9nd$P3KV?e(`~mzC-JhEj{_X!Ihq_NN zj{AfpCvWWUSIFC3hliaCiB^|K&A03+;1qJYQi9u1?b@D=rO)$0-SBOC`qUNJxmY0` zG(KupRvR7MNj*U2fu9`@jP8B3(<1(%xOdOw`Eyfi6RGCE1}kXk_z{K{VTwigA4Hzm z6culikdf)f*>7FGb6?Ybo9qO2%iGZ6vV;5*OO^uUE54#6;cCR?f+Qi?6fg1 z>p;#EYW25=5PA5U!62Y#`f#Y6cF-Rra; z!DlqQtEXS`k|yfgbPMI3=Gmq6Bo8pRQ_h9oiItW|p6BBOnXs(|Uc({9qx8Iw{O$`c z2}5dL5B-RU_$NT&E!7npBqTgy5Zp)`z8j$b8`SS{+3y^4>?iE z*B}znVKs^tD4f7MP$XAaqvi-Hd1t!r-}KcQrV z9~kr?uAHfL5p+6!$i?yZKlqRjzF}EEJdXDhWXTCq^ph9CbNE}e)r`gS=l!{w?AQID zxPNA0ovO6<+Uak;b&s8nmiGVrWT0}iQ!~wqk77tZh3G*C)L;zMo@&dfSjDD?e0)eF z@jz2^vjz|3e?c2)3>dV|Bs6HszEclkn5HQ&e}r?{qX^Y}SrEQUF@^+#(b?#rnvFCY(}oqEE~fqG8VeP8Q(E35~z z^50pQ^)Ut1zpY00#Im0A8!>WotDX}yEjOQe%vLu*S|Er=z!}`{@qOas7|{GnLTFoq zS%`*tUrHp7vZ^WxpLa%00{_ifwE`pDtd%t)hn+uDc) zM?&`j$!K6uKx8CL^uPg(+6<*Je^Qh#OTeE0Ncu*T=i*@c6LBn=CVHh5*Ygd=84ysg zxUp&WR!W4#T3A&zHhLEucuDs`<0CZtE4g8mwI&Zy>LCr`?{y=Uxex` zvnTI$c2)oWp}@h*J6rL}-|D><3oJf8qkkxWPDkgrvWH`B8C0?s4@ zHkc3GbAy?mRlCe?D5nto*6EBYZDx)^RZ637h!@xq4-@lnzJ8FY)77h2xpE@zE$+Gk zzbXZA!@?9VzpEfe^x7D|V{U%0jJb>fAFG3I@(&%UjftXHvjbIK{pLz)~Q z8Fc_xrEea4=t{Ibg#?FC8atJcSf`w#N`v+vvq9l8~!s~N?HO^+TuqNAscEaOFy`~7(l_uxhR zYN+_&pJXBL_fNmaiLm3{{l#ZH$>I53deBfBZkO{4%ZME*1Q%i+Cd&HqDSjSs9HMj}m@Fj{bk&|28 z^t_o0ZephGx~sQtF<-X3^Tn46P9JWS17Z7xi2Ov0o;4nW22XyA;c?*K1qKDF259(( zuyG4UcbFcojU?Uv3cmb(9X|&O#Kgsc=fdN8Bt7w*nfX-|z)5ejv(4tbubQqRCx+;i z$VDwiKckQ@5^{#v^S&RVd|I_6)zvGFGJn9I0S<9JD3fg+=%iWfxH$-$k538irg#UJ z>?rFB>i%CpS^3Tmh+0#G+$>~gD?hUkUcxQlLA4emR>ib~|1wys+qev0Qb$`yDNQ7# zG2tI06BByf*5y4S>>QSWPHYmcH0FT zcb-0dJ5+NvQV_Sm?2lMv{&PS1T$&pnbw%#Wb>`;0ctI`sJ_Dgh4}EV(|Hl@6{U(J~ zNDTgv8oQ*`PTGsNDz6FA7G-z+<-U&<8{Vc6d1<@N0iRtIw~P|-1wd=?dUdc>F{QTO z1T=h4nL4n>2$q-U=Oa>56ukcd$C+CCofb?~S9r*quAVPm%ZGdBN`NXUqI0;-=vLe0 z<&}alKgUf%c%@FsE}sv(lx!j>g;Mw(dUN|Iky~>_oStg%>&l>9#!K$7u`Rayrl;cq zuPt8G=ZY7OwGG?FdR#G0VwA6}m~G|{g+@QOob8A z&j*G_cp9tSRE&-7?GaJ5A@%vL3aMN@)7{A%n>&&IrZFMqd$Ft}@G}+#=w1Qz@xNMQ z&+cV#|32}35|S==0Jo&@Sb|z8CyrqC1)D3k{iB}%st7u5{8~RbA1zFxIhS}UP2XuT zlaC{nG6Z6Y>;890?uy%bBWKA}3=7pymW$svxcwGzZ zG^NOuSyd&a#2tsSa_}M}#J?{sJ7h`^@ZwCRflIwd%O^2{XYHi5boQz zg9=H!?OUS5S+7-9By+q8-JV5xXJZ~N-eM1GGcJ{O9vK~ly%~2uU;psnXZ^Y`WMR@+ zkv?tnNstE+h^Hz&g7!Zp^2YR_>z7Ni=C?!KBP{YZ=I0-?1J1ZMm>ohB5q_WZU0DCs zW8Co)@0s&654ftn^=zJ$)(Or&j3U8 z)5ni8_L(GSJyrBA-%U*7d;fo!t=z@c9su?)N32|#*be5LwlMs+O=?O5#IaJ#ShrWNmq6kF{G&dV_ z)%28<1Kr*4|I~hyKeazhvFTbzG8_!lEQh{+1Nw=VrzZ%nDG${1l>zN1R4yQ@%Ka~=C@I>}*LyC%}275MIXVhg!o=c_w_NM61t<80X#L7P- z-Z|T4JL#>8aRj~uuw67O#j10)I(_>}XttVBUb9Hc3Yc>Qpvux=}4b zI8hDX^La=f@;prBvpoJ4fIB13wFm4x{jQpJ^qsL{BQVfO+vt6`u_442Be7h-?nOKFSGBb7ffE@48@$#nesp)f@uu@$7eROF z6{DjzX1#)F@NSa%0J!oa4tm&ahp!tdr}q>h`5Hy;XA| zxb0id4J>I<j+=dCI`2EHTfM!sdxX`J zD&%GKJl)*dgjTrtXvqAkS3_=JR^>0C%Yig5`$gy)po17&K0mtM$Wtp<+9n*{-D?CM z6qm!{x1E1)pcF;YatjMvO}#zhATgxF!8vxHEs^F8n?afTQAsl}fRmP7z|87(>FW@} z?vM9qhpW>!v?p3RJMG8&{mNg+1Ai=@=S9WfH}@K=A}~-gx3>Wx-wt{{@V%9e&tG1@| zW{|hVd9SGZsi+Lu%@y_2v;?-c}K!ml>i-E9gnX~Re_Y!nbK&JWf# z?%!XDcCS3mZ}vY&ePq&bv>p3+QlM$8m?rSK1QT)aeJ{U1*4Q#beU)_%Yqz3FDg9Of6fh7;I7G7=gR-sHHd18G+)A<0D8t0S#| zf?@Q2qg9<>|L+%(o#%sNmtK5@4(FKoxvan{z6X5zu=gwD1hSpwRF0XWBX&b9Ha4_XffV-%ZxLRV=2@GbNrg-)TmmeKDVL4BHTBlc!8hM08$7By15-qOT16i` zhiaE)oE#HFo8+GlNn)Um%WPXfIDq@3kp1_5=)xjfK^r+;zbI_o`4nn}WuLc{)Cr_G z6S!g*>hMAvBFgy4Wn-L|iD~IuE3+ekrmoz{G)fLk8{7{!68}l7u%6n2xXNe&JD@Ip zW6?vrJO4iijSJs*)zbGC#ZZGTJuDRJQt)D2ShsQ%1QU5*Nx%DARKy0pSm4i+wce97 z%A#FsF}xyUS}L)Z1MqcLR;6mr>C;Z7)cWTIuUE+3Z!^`VeX!{8w*k4Nl1Wu{b!BBK zWvH1PxNMdggAs3R?2^;^FuAbBr+kZM7aCyV%~m;`m6=%<8Pv)Az+Ra%2g|msG}D=s zDZU=VFYn*_Ks+_j#ry9Xc2GR_mhjR4Q~P|Iu&HSo1DO=Sn~{vq+v2CmXrcaWg-j+S zxH3%t6CWENKkPHVLo(Le%Q~Iz~2Q znE5N3>@9+Ml>l}rXeZ{2-{SIT=MQgR#a4C)a(bOh1#8j)8_@Bdvq z$QENOyunb`18%j5$Kjg})1E|rZBvOE7h+>$Lnc^d!jXkj_NlON zrr5S`;lnUUC;n`^e1H9Jl`xYCdgnTU(hRnjP-9by?^(=+kYNgKQXBoMw zmT{frF?q&_T{pMIwV2a01!6v%;ZJw|KHwc{W4{N&D=EH7vS;XcsR8^G0*gZN;0FGI zwuu_e9OBuhzZ`JVJT){d)-KOs1CA4)p z{(Hnf%-*G-qW!S`0C@2&H&26UMt-$NV+3R>e632D_Xm?pD?b9#n)wrZcPK)pVf^IJ)j*W;U zNlQnIhK?>(*rP~c9oCr6u<;V~_$f9w+t9HK7jL6ZWquWJ)qYi$o!9O!3A~wA2?y@- zY`NHWjY5O+AG6JWF<)QNkf%|*jOkAY*+Vy&xc4)QlIUBXD?`+PJ6hQL_w&mL65f}O zCqe$ZWwQt_XV#NhoDID6^yc9Bi1-~H9Sy|&RcA>_N#GH&vS#1S8_Cl>>D{bDPy<2_ zWcFH@ZCL_UXXmiAw7G?j=>3CzoKS4)45~C?FR)b_yC)*DIMWrK!A3L$D@<^P%F4-J zTU!Zy`xdOnJJ5IhF>yPLHJ)g;G3p>X?wI|gjiox@+;EL4E#(sf6+WXuH~HtRPd`;y`(UuYB;Yv zi+qMK8RQ-;a6hxuc}_*iX^_@GlzWeij1-h7kBNhC-b_tZUs1%taf0y0FJB&USsi}X zF0+;q@!31<`M&#GDMdK5L>I4}LfCt-($f5Ibvb9Kc_qWY`%I1TL7f>%LjJ0e!3x*M z;j1MzH31L!kR8#vPHV%8($cPbOQ8)ZWDQJ$f=N9__sr-iM7^`?I8B!8A-Ary8y z%rZH-jc8#~`>g!I(ig+?O3+!~I?!eI92{h*H5nE@bsboK+C!lSSVITb4=Ix9#W>yv z$CZAKsh8Wr%Lj$#^P#&xTrIBy8;5h}DH_{dSz)vS@V8r?IT=nU=d+!8_>kkXegSV@ z=U@S35P)i9sW&ONBzOb=rH+~-h(~hatYqZo(yx2&Eu{!Z&9t@#Fo{53*6%&D5FrEj zhseW%QU|x1GH(%fP4N`!rk@^$qJ$yp^VlOa5uk$mq(4>lcP)JS%=PBLw+;FH;Tz>O z_20F^O8GG^Dxt*$x&k(x!)Ujys&JaHOYh`lqKyv-32kk$p z3#TexJDeq}>_)e->Q75&2 z&8|co%3lQFDtFAb60=mxU;bKiES$xG-zBSAj+pXme1LN;PAc5NF$S zCtL~geAQ|4Nfs6sAacCdYbY(Nh}c8={M^eh4tSR}2i~jI+p~>GFQs3*H4e)?-93(u zj?!qiZ{C!Vm!`TZ?dQ_})o;J0bF!BASpi|pJ$Sp^$3Ma9;Lito&R~4S@T&s*vFr6{ zvlaEZ5(}^E{_6XM?Q;J*pzu$}WE;@sqb$aHQvjZijZMwT%$zE=73I|p-M@5ol9%1p z{YNC6K4cMKd<8im3^&k%kXo z8&z3a_3_=SpWjeGqq%w=o5gN3h8dI~H5E3S?uc6&qx=q|j)--qUvE41sZfhM%E&0Jm8VOSQ!D1+KA=D{& z(ql8+!aFHXshBzg7ifZhr>)aI z)?Y=2O@t&Qs_lxkF6%}>T$&9E!rcbiqjATt?Alsdw+MJ9W(g(ji-rPc`D-h;%D5SAzMtC6yo5{>x zURQx9%x)kQhcRysU|vCihdRm`^N~sb9qlgzVGlB4XEk^F+BXsVa!t6m4{yVf^xi&c zd~z0;g|ITUN(MXA*|)-V$Vefd-9cJWQN!Co`rv_fxG4bR(=$=T@j(HQAKVX!8TLW4 zsjM$vp063%XmCpMTF;1|!)=D% z@s%bq@U3S?)?Rm$i04sydHLS_6Y+;UJm4oL{Vn$?)kMWB6L~9nxO5YFtk0p90O>;) zFFg-jskw)nLtygB2dq4LVeq4Z?Xr1qGMz_P_X4m?BA#2>*qk?utr^{kbD3C!I-AOzoY5mdbyty7kz+-7?+`tC!$zC(Rq1r8r(kWwvftz> z)j;Y@9pH|Is<{TwX0L&o6~S`H=j1LJA3t8#D5O_P6bo|$eRgEz9Ux`Wx4}2B1B(X& zvmj5A?Tra;7aNZ*mnezB1m=c$xSHmhG(YGurFlCHMXe}$TNq3Bd#IBMNBI%Gr@&<9 zr0_X8_qb31v-osus*&LhmQ~h&wx%2O3pA{wG-ak*G7(2Nf6tyYa&z)h@;l5-;?&j- z7FYw)b%u$QF^ie4deS19H8)g_72GKmPS(-cNn_-+^j;el#WJOQylem{H$qcKz^s9F z`!wOvTR1qL}1MGH2cjU?dpzLW(_%~2BB$uJ=9pPQH_Uw6Av^t?P2a zoQygCBcA8Jf48jTN)&ym$yn{dB_{UOP*Ke4U0V9*ndm_%@yDt5UZyuOA3R-KRj`Bl zP^ZpL(D{w76zfOOXYc6g@wq~8gMDCcxkq3m`{)Qjmqt5r%(kItl;qEQF$As&RB8h| zQIrX>7>Y2}*B|7wsP*{tsR5Mup<+8=0+5xFMIV<^F*b${f48=$Uc8;%!TVoJNX&>R z-&WpTQZ|}{&`^-MS-eKL9d2OIFprIK1z&7=ZxOQR1ra?H6A@9gi@Tvx=Eg7qcYCti z<3E3X)aZXZltc)yj2*tz26k(ZK|S`uj?KrZ zu<}@UTt14&Jj*pP$+vH~qh5)cvM@44h{ABTi0*8J?es9D~0Xo zSu7P56;Pu40;+kIZ(hF+O)gNEex{Fs0`H=pF1SEu?oa7Q5zZ)Eyw@T~<`mZbJUH_krn4+yIxG!Y4OC1oau2O*y}W!~6M^ zBPqD#tp7T|3O*$_rBBy=hVDrl9S02uHFfaw*;$>gcs>gg6UE1ydD9&+Y-45a7SIn8 z-Eleovk=Xa0V3Vy#YJ;nGaJxaqg=a5NtFQ@tXHbyCP!NqyT|d|wuQDigWSBAZ3A?j zot+R~l=jqlX4cW1vP`B?3=S$od78RUA22d9&dZ~XOL?APfN=NVpmrclv=5F)q};`I zMq&DCZ!XlJ_X&P>qrUX@id}>Fv^ZS1dopyCUQ@6Uy)!Tv0NvyUIaiv6wWO$2O6NqO zEsN+JgkE)C^0rX^I3YPPfOU}CC;y!yY}(%xN@8l=q^~`Vi29&R+gtYns3KR5fHrK( zRwN%9v?iz0YaR1TL_8*kJH`0T+c1Lg#Ndy0f8u}U zTjE2_<;U$?a@+BCX#v5FOV&74jK42vgZpPzc5ZC@8@dz9@qAzxheT=3KAdL05)MvB zIXKEg*Z|+vO~IW$Fj~FBVI0lw*M%|`}{$)B*V zbaPk#wMq6h`Ovbe*fHXSWBgTgfQfKz_%r37bcL(Sk9;3XN|Nbc**Ls9shD^|zC`>e z9qcae%5cI7{__(EoJOtXO2_O>6B&w6jXmAA`LFE6`J?~BM&ZXEHOk5NmKjrMrEo%!)8S&VHwe6aK6m^Irv3eVrjkWe&mD zcb{Ex^bPP#1aRM&nN?Y5J5jt9_}u$n*mTnCH&ZPyr@Zk=BXDtPuhv^`ztm(SqpoLk z5m{-;Y5xt@!|~TO79#l>C&4c!W3Ez29mRx&*6<2NxlvA9FEg{Sf7saRbM{SP+CM5d z;g0|Ph+dCp6dGm3Cwc=v@)1$~fb(7`z!Va@GOkAP;>r9R#&NI!f7TUKlrJ>0RFab2 z^Xi&=_Q@yEGsXctNrWddoFJ7pZ&i-{aSq6o6l}Nw?j@& z+0f8r$x=@C8FL7dvH^!9sH*yWXa)bD>mq?9$Om#!oj_sE1=T&o`)zr;KBETNRA!FJg9i^>?_9k6SCH}16V>0} zpM%I2)S0&xJu;-?BkPKki}ZK=Bq+mbZz_>vgMh@hQAh9HyI_y()ZDr0<>6vc-H{eG zesiy#1rXqiYCbqyYuwGuG_+PkbgRR~ znTzgVT<(Vy^Lw5Me-b!JW9<7+Z><>(7<1g5G@@H?1?lg9m>#j_wa-PWN3e({J6K*WZy%E?whSF^ zPSrpkF>hA>+R9-W%?x{GwevBXnM$40J|{D+jEG2cYtIU_{ht*S{Q7)1`4+&-hRa`Y z5soF**LTKq;n$Y^{{0O|98Qjo^4Uty6oU!xZ6(L$psz43$pm&NRJ~u30mgomn(Giyos@9y56D#k}phRj@~K*DQhj5KDOV?*8BtBK&7pMfIu2+M$NqP zXCv0tqIAgt1{gClb&w;ou-Fi*pQotZN2Bl#36*1J?*)2<6Y$0}x)N<{j$b9emK7+v z^tdQ^R#3L-z{Sa7|EHTDPUTQpopSd`Y^TCdR26^1AFjVx@@qp#?;S@nnHpcz!}BWKVtq=}VmLT}~GKIpDWu@|tsmu)z2#dzI%F zGb_rmf4Gb305u>eh^fTHfZc?QRf+kc5j}A_=*O!MZ{4V120+_9$xXQ>Be*#z z;r-e$zc!`u$M6tRUZ?(SA)7DN$HfRS%zv#k5E-ZgdpOR2_N8zdm}C?Mq8&M>-)&Pq6NX_i8am-?(jJpXOG`YjP~{PdY}79g^)& z_{u+jj)X5kzBl|VH*&u5d}>$W8shBw)%C!mPT8C>vHgv~Gx_3TTTz}s83l0F>x6Xi z&=Qq$MjV!c)_L)rfw9p_W&wwsXuay2;PO+#Nn_}5Tph#_TlP;%$|cM{zohOS?3LH0 zv)E&}N7EI0t5sh)T8%d`ADO#LhpSRO;6*)B_7E|Rf4(959X|7Fzlp-pS27VPUWcu( z&s%o4?;D^IM90PTLQ8O`y}0{a+WCM)rP75JHp-;u4LVjT#)X1U*q%OpMSeF1}Rs* ztM&0IFnz|%tfH>&)F~ljEhZ=T{xKK(^XCw9c07}607)k&lMj;LI$ZojQur-iZ6|H~ z)HrDw$U+Vx1_oj@H$la&M=W8nF`;QW8Jgn+v0DoGetCHpQgs7BS4io<_EfYK;8!6G zp?hQBgl-)t==cQs7)_-6y}AlrNN)v$g!|9QN%QefSwSQ`5w>>;*o58gOGyQJp4wl% zn>#TG?3o(Yz}%%r;vMfs=5%49)BN7cdyk~Tve5dfx)ZVd6d&hXk73_fn{3(KXxxy z@(tslDhA@MjN2h=y_Z&j5N3&Kk9sDY-dV7EekeOJz&VHMK&=ctu;!*F2BmU;^QFY=CUc+VA3p4LPK6pL|Eg*Ky~lv@{ZL;{LrY?Y>B2SQtDC+gdvZ z`%`P$$++l>w&V_0ElM77v9R!}wD-%%3;4+>{E3O-bGe!t3R$-R50C&z-B+cV zZ&4PlS*WC<2g;;^z^^Rbi%=^AK063(qo#gkhIpC`WoLaKTVitIrj-Xm>=RaoiI=29 zGw`ON*jPFtF@K~czeFa6;GOSCs|@3RM$56je0GP@@4c_r$HQA?4tE~3%P_E}9P; zJx|$6a>vF?T$!5eH5dV|J5**iHrg>@3)t9s-GR6fmaN%w*VE1qo+5#yT;!`2_M1Nd zWDda?WUJAvCg!=Ltl-NKk4UdB;_&fy6&Lu2PA`c=cWCDrT#|e?^&Tp*TotegXHSCa#VWc#KpBQ*E~O}mYfJy zZMTL|-9X2AU0ra6(Y4^ZgQ!1!!YQVwtxbWP$Qc`w>?Bf55zS#HKDnsTs+8ZTPQTrJ z+i~&y&t%CF#)dk&qXHc($`LrgTu<*BPyFeNJK*?ohoIJcq76_R>+B_h{w$0cm%cz-cLGfNGf;pVe%*zI=oJrQ!v&Q!dxbh!1PbeIh67);S!uwq}KP zk$cQ#-~D}ML}hxj=v~zr+E(1pxkn1*Ms|3+Qu*t3sYys`AEY$?l%fl*y(}c#`9;LfPhck2$``13vRLs>J6xigh95Pb7&<$Gl<`X~qi41ll&8A!rYp9zJ zHmB@cLl=I1c4aew!~zxrXhZ4_V)n(dThJoKjcMzdw^0OKaJ}@l4X2XZzxJepcL)my zr$22aW92~(y%V!S{F)hAZ_hx%pRcDP2QJ)h`qua-z6aLow-Vw{)kiwd_s3O4->HMr zVXQ1KCb|*dSJno@QVn%Iq?L0B;n%=rw9}7pzdYV`$IgLM%Z1KfIZxf@JrpqB%m%lzk762^$>A~aTWFZ3ns4BFIh58pzt;5$fg)&xOQs~E2u&B zBDDY9&3S)~mINDtASDWE>$Q?n!Llb7D>t^IpUm8EUC}k)P+`LVs118DV@^uRt(@P0oA(p-8L%6dAhuoR#HukYp9fZ?V2NyE4GVl>=@71?ZcY= z2^Qw($w&E4O{W0{+2G^f8de)p#_jlLZ|0Xfqk7>>=6mPr7>JuuwkQvtmcx7nQ6vt% z(#tr45Y>(GfI7Eta-#T-@^P7Xq(9ptZKb9RZXg`;8}LthRo3quxV=+c?vRrYM7AsZ zVVT{j^y*@|geVuU%)G(e`mfrb^Q-SNTv3sxbo25q&2yJ=;NTF)Puj$Ij&H3e$s4~3xyuiU` zKQhbljJ)?&^B$gN`};M;N<9NvbUGWts&0eH)*I7t9P1a{*7ZLgFU%}62Yt>*-vob? z>)CLX)YOIZ;aXwoV9io@7}X@$@u*dbTMG5))@>Hvw=7K0&5`ky7;KVa5IWIo*3J&( zJhl!{Z{A(19rY|wq}QCCk=7LR3$KKU=a29|9R4BT4l19{;oAOf#~fDcd!H_q14usVFSQCEs`g~O5&{HEa#JpktCZ=?G6j}754mR^a{%fb} z$F5OOSh&2^AVuXFrnRzZjClG2_35N;3MxIt*}7bgE^Cg;`bU*2Vg#?2aFg(C$J5+0 z*%Bt1ogay(a{MTxVccW*R#>)LG>=0k_zIhQN?d%Kdu%+3FoRA~o>C)wI#kOp*q4^- z>t9BNZo~+$rvXT4Tv$dUL zj&-@Q8cF4m z94R?BbiWy@Op0RYwi3k!R)twi#Oe&bO%xByDl438QcWtz^GWe27F6rZER9B+sQY@8 zfWdLOcm@fBuBQhKZ{|o(4-~WIemtL<6sHicy*m#lm7~2rwy2Am=f?fs5^w5c#I6>Z ztH1R3B=1sliHWg7M@L8Yr6NXfMFsM5k`S@w_Usv}pRX@OcuDqYq(>^q-}L9$|8-P8 zJd9TJS$TLdd`wq2#bR@0=V+}*m?iQdk`DFwh?|(j?q`bEE-VjXtF=(zgj+6``%DTo zeLDk?r&8n`AfUvtL_YwI!FLBoRuAI2CZ($3c)mLq#Ao;rbgGY$>T+`7K1PL!A-zKb zdR+T_%vM_qCFpbqMA?1Ff^3ZNG_B}S^SLa(d@mTQcMa~+`^xmzH#EVp~vOCy5 z=$Vwp`4I2-;_`T@;OuxuEL!647QG#K4N?E4{^!ppFJ8PAtK#0kjrfR zFEqr^<-^;C8*Y87jsvy#i6kByxk86Jkse=rfb&Shs9DfDWx#<^@Mf)2Wrw3>Nw4k{U<@mFPaoH+w`F2oKX&XB;f-Wp^;qMMV&J62BSHT;-&=)9zF`Y=`FOPkr9c z33C~&u$&=aNw-@Wm(DmpX1DMa zzs%-kareBsRV(FM`|F%&y}WL&{@n}6E~BK7zj5&K4|ltEY31|wr1$@TuXmzW z_tfL!+PrG3j|-Q<#&`qDa3k`Q8j42sJ5ksGs}miDF3L-ZJcMqP%QT|-T(g|}9AHaZ zKf4FNWif(L{$wu5B>wc2RH}3kZn! zLPmUg@8j?N4?22j*FvWI4pk-RoXiN!8l`9r6t|uE0$MToI*l`e1#Akj@~Q}s!4*jh zU>=Wndwc7(N19k%0s{=oV_^ZfK+uObZ!Of58J(!MWl7+TGSYKU z>c1DBJ=7v=9XhP2esKT3ZepKXchZN^E)&cTcq{DND0hMGKHDI=j;G02*ARQmdq}5I z{Z+rjuqVZhX_lRCR&DQRBRb?Q^gQcvD zUs_tal^Evr+OL+DmbNxdPEOhv)Q>W1u91oN(LQ}z-`~*C+s4_L*Z1D`ZE#(Ut9d17 zu3%ks%-8h4ACj2|!Nq~=9q7yHdLjV;IlyHxYE&zIGn78g+S;;27e}WF02x+HjEM)t z$}{9n`im8omfpRKhKCMnpjxZB6U-ugp9LKuzlu87SR$)G?2L?^f9i-AOq^lm{rkyG z8ygzPMedFTPuF*M-&0lPx}AlGjZK74XkuoN*oIZ{-nP;wFHpXDG`$jr%>zCWFrsWX z2hG|`*Kge=X;}}hQs_|O|G~c_>*iJq6Z(8{%)-{L=gx;tm@s}G_3UNTZ-uhwuhZ3r zRXgt3t&YmS8|4FPNtL~3b0G2aSOP-7GM)PoVicNFbjEeJzZ6Pr7$Okw*k_q6?!o~# z_)+WY!ji{dkz%h6ztb}RY+}pcK9;5J8CVIf&AW*ZXx&55GpB_VY%AW^=z3q`+8p@P z3%$KvLj#kW`=QhG%>0^~gL}*Vmey_VbBh=qe*n$~CUE-fD)v0hOY1cyuBxLt8Q{9Z zf)_sfg}WyDIvuP>ypz0nwgWqLGh^dQ z?YZ>WGIL*Ym$QaeC~C=ND~T584E&)}%!kJ(l38SXwh@xI0!ert5)sjB9Qu^muk<1t zRn165n)!lAaHk|392%gigO2Z8=lYTRwgRY&lo(Y@*Jk*FxE;3Y$HpLB=Ui{Ro!tKU zZCF!9&uWT_i*cTjNrs+X(-5RQ`yil$g*9`5!X(7xQ;W?L8Tk4jJ!dXW@d7@tpkm#Q zJB<^~#MO}}WCd5tYOq3}%Fg-l0_y>ep+QuUK~Mr7-gc^=(AVFjU7`lg^6%0vlrC0J z_GM_j3(bNycz{r4y*FGyG{^xZ7h^MGKEn!_7I3kSX12}7;Twd8>{4g%SeTZpT9v{} zt@<|koCfPgG+Z9;hszuf5r~nne;xobu&K$8R{ou#lBJ;F*OGu-FUOdS$)mSfDRSD{ zkFAVLkjN4*FXRi&#EsX&imL|oc{e@$+xJcpR5YBNPK~}1z@-IvaMU<GfB`gpM~xk72kV+o9OM%>dRlD6^&1;^=^jS;U& zuljFdAuj@`Gnk_r7epHESoJgzBSg@QLo7VWdq)7*w!&*SkZ zA|;@!fOy2^0~#rRe{UHfVWF(+C7i;jTQkhire-gCT6Pap99UD(il*uNi@y$5Z)j}1 zapR_7_7i_{vTdUm8Lo^rHsaeeO7KIzK0a7f)pF9=Ti?6Cf4?V=PPbiU@$MbD9_r*9 zc%xtjZ_FRHwY+$Ek;l9E;Rx!_M%;v}L~J{M+VQW>)p(oNC@DV&<^0Xe@UWM_aZ61} ztxn{&v}~DM{wjrgB_xWqS)Ts;LKz@nqSqN5KRCEEZ8mH6qieIm!7upEUzM$gy|7C$ z1{xY9jiwx+zx+~Sdl%itFX@r{HGQqW<24z*yqrlb|IWO*8XG}A`;|&FTnv}k?7MR^ zmInwKx6EN=gaifO^>#=iT&Vq@kp052rTEVq3;*0xlwQP(gdYT?{u41=Q4nE6o08!% zBBvok^)@0@TU(pJth^!#!`(pp>PumrwYbcYiH?(2wwxWda3kNyIJ;eUi)4|v=M=ge)7$ZE%3(W`%(q{~99cNx3|9eQm7V=+Pm z+T+RR%x+_r=~uG4mkMO(s3Q$CzeFIn(`Bi1VtQJOhGk@AB!X5Run&&|2-!n>>E;N& znq2*r!N}KjFWIc7>wnaq-&8BNd{)$#|48Fib+7}+c8bi+cUu^Lli1eY5AAvn6adoBX5GYi7)~p13>S^jF=r>IJf(u4zki!M}(-cZJ38!g#91N+T-lZS@~6zcqJP~gfHDFd$!F`sZ2H=>fHTN^#El7zla zh{9CSB_@4#$kK57b(sOqiz=cbS8G*4(pP-2MJko94<#) zAX@76H5TlTYxbLbTIf<_OlH> zU~Is?TmUx(mr*bIo5VOC=TZoQ2d!h@r1Y6NT&uq6cf>$jDx#2-wjPGqfxTDyUIM#2 zs3sIkRMTB9bC0s)3kB1Zzguo+hWtXxp+gar=S2Jxap~bv4`$(`e#VbhmnfbK3+@*c z)9bryhf{|wIXuqqO?uM`s_Cu2B{Wcsm1~;?JS1ItesaW(J0&n1kgryAFc)Ma*j?!| zVl#f^V?DR@>$AkspIAtr1#8I=1f7&uwXc(4#DYufwFU_wRq<1WU$?qq#+JJ5c97FJ z#!Ps6dIIpP;C*Z14fMr|^6=n9*R5&oKq3Xss&Gd6oo3RdN%t+ww!^9QbKT39kW^Nw z)+`y`Mer_tapjdUn2KfR275u;9q+(EEFM0)HGCL$m2%70in>d@0H!mI>t8N+a(s{lGD?*Ib zVQc#Aco(X*Y!ENEBby>vZ8F4I&<(db5U`5h)X7}A_V-%Tf<|z8M%z1`A|!76P+d(8 z+v2#L$uH))(fr0DCGyqVw_El6iSjubC6>t_d7KWEYm6O}U)``R#hN;cW^tdWa9xLZ zI6^jalIP!{7H}+B^^dxno7<>r>DgYGwpo(L1|M9WRvU11bDD$_vqL0ga{KCuu^lfN%1VyoX7XjC!_QQ05Z)YOva|kJRn! z;)}A?MYHNajce^%utd5AshB#iMAEM)-WF+hMp& zkA0g`@Mte)dT%YgM(y|$P9rN=;<7!PW?q(3JpgwNPf|6Jh@Q zf7krGX=IrBm$m}5huE>XP=apSqoFZ(+#lVy(v-}UJ)HB=42YU-_Y5KCvQ;hKS`v$( zrI=I-zb?cE*k)o5mS=W`wZ96(VoGG=bG0Dpt^E3Ua&e0MG5qiEoq%fSU23?(fagb*9 zr`01X-CLL>NxPLHSRvrUlVL`~qkoh=s58^fM71_tp=v%}xo$h)3Q?Z-o7`#G7dzvf zchfcfaOr4~J%bE{!u~|(V;k!-KXKD!(>ud^CC^%5^y1hp5&*f{d8zkd&+bOKv_KHl z%K-~oVjCOia~RKh>OPtSD&^42Yu-Qesa>b4mMAJE4Wc+~-0?Jb7p>NMQmghJ)5@f^ z6hP+tL?s1RO9`cquTXmDj z08n8b%PjPyHs88)CgC=SOsmqjS1jAv`ABp_D7rvaWP&!uyD!D}>p1({GV^%W98Ju7 z=POIcPuN^|tbVRq%+>M#1c6F(5OHBi32wW5_8`s;QLB0gLY2!?Gg^rkRtBB+0TZ_f8&jPhkADD)+Gh-KtwF?mBjq7qT3B@Un@QcTCj5qa={MET zANfiJDYGVF=?ujdwq#JA-9B22p0lob->>A8fyu@#%wuSC^ouZ)~w0A(#%rE zJf`R6}7@%!{LbVY2x|(c^w1PB*34)Tnc=Qo%{Z=B`EUh1f~AmzNiqefjAj zb4Q*Y48XEt|NPo18p8%_YcqrfIp=qGzuhhZcw0#LaW9t7?W;YY#dxLtR}8vZiBC|S zD9Jjkm@+$8`(KTS1sB&CJknif+NBPLd}B!QjAh_Gt5?Ef5b#CB70c~P)ndEKhLt1e zx&ww**okllv}m%Z4d1=1*6-lN%6ZN(+W0GkjF*&S$A)G=P>gS9so={`PZ6DpgJujg zT>9bq)C6k541N0$Er=799sfOa=#`o(Fl$FgM<{^2Pb>zt{I}EiQSsec<9-rOVp!5xZ46&obDe;s? zOh~VPhOId&9e2}N3?v3Bnv`T|HwR1nhF{WqCw>#dH8UY}H=l)RlM?EF@|%FB_B{a> zU&(OdE#xQJo1T1rm!c&QDj#_MaBxszMtdd{_2~H6^>D(zcT6Bj=z(Ol9srsJSs^H4 zyZ*zqS@(F@t-?8&HLgR|43wznTILB2jgj`7lW(kb@85SVo;ExavQB77o%+RXuW@>2;J?NW4kf&*)!wqN-&^eV-`3;c+8vF zGNZO?*^G{U5+fII$i{yt85Kw(e4fcvSDfhws`?_4!#oJ5=5d_$&P4b@{(Inh*jWP4 zL$(O~&zPhqM+NqYwdaQ$BS@BNj@F)`lYfH(rBmZETwGi{p$L3%+z8&LNP2Zf)U8IpD3ub^#}xU-18wf-xQWs5 z)&LDvqG4#b{m=Hj5ZglwXF(cO#!LO+qcXqyq_Z9dl8HTzZB2v1;Q|yls1?2q*Semj z2?`|Lx2VwXcxV-wZZedo+vFb&tFiv8Z>HW?Vsei|&(|U#r+WV|tg1b*s;Vk&2*g@_ zbsyr~yz*;LgyopIUfbCh{2GOgZ9V$kt;DdxWn{PA>OLAiaTQuP(^biZpSYvbC<{aQ4ex=)kGnR zUPH^s2sEMKqoQrrbv{+2m?UBN#&bKe$R@eeOa=CG+k>?-#w=W>T%M#u=;$4;9sfG@ z=}HsTq)JFoxwrIBzp*VK5f^F%pSf&|C*CC<&oJ1@&}&x&p}Xau@XgJMDk@m_-!E&e zW4!@@4(SX~V5 z0U$5lA-xa^ZN{M@hO#>&6O+n|%f@zz#F>?NIL=5zL4HB+98?`!`}?+bc9Dg2fA2hn z;rb2MDz{$2p!)vNqh)85rCgv%vdxYetv$6%QESA#i9zzVVMJM$4v%&CO6i3Tt7Ojz z-P5PTlNTMiI_Bf$(z&Ct+bP=G$sE?zG))OF9F6Cia;xmjK~L`l(9(dQ(0F<$;OpMP ztl3vNKdB3B+y65d5lUsPetMwZnZT1_5Iff_>5T?-*Rg$57Tv`)VQ_flYf90>UTin* zaq;B*4}m6+_E}VHnduk+9pSsTw`_@U@N5uB%8|>$!NDoE9*6;_&1-^4x~LjE;uqTi zQ4swWF@JA){%*O>aVYF(jOwLo^yB4@vd*1INBw;U*r}t;V7^%T&tWReM(aLF*e8K^sai^CqKT+i&K~VKk~Xd z{Rs(*f&tH-KOY|+er@wf@!}#Sj+)7@-g0l)XM1kSe{mo4pW>m)Fyq+4T(=XWi>82B zIIb1r$>=P_1no~1kih9!Lt zR+wPa)AQsyMVY=3;n%`2Teom=?Uv1w-PdQXzAkg)nDuSfcdV^(wYFtJxt9pmK_qg) ze##X*jf86;TQM?_Nh^?^O+`e>%49&(y~sygkIieZPAcvOPoRJl=mqDTmEbDZPRAVx<^P)fIACGCPgGo*>JN`j`z~y-&Ps|0ta*+|sy(MaG+W zv~M5FmKU~kEzIY6q4EBxAN~dQB~g#K*=T9v(ZF>Pky{;RND>~WouLsMfSD38zyIWb z+tZtF_62TbI980+?w2SbIk3Z|6K47qo02d_ zs-r~iZwwSklVPsw0%1jM*IgoR=w8oI&$C0%TbM!w>#tdV1AT)58r2(_Kp7uvvr@0ys;)fa_#OQI10H!xxrGnb*We zuHf!ajtKxHJ2ChBhQ2=8zFwq>RJ@s>G<<;?y;ai-3-a0FeoFUB04V0BR{B0&8qU<#V=Vlm}HK^WXWlw;X?yPH?{H*>s|{{DVJ9Bx3QY@D7QL#fH`vNS_|Y;Z^83DL&n zxif^H3t2F?iL?1DtY`fPet`EIFDBKS=fiG|{t}ocy}Pv)lxC3&yc23!6?Siku@Jly`S@tHZx`(`_)Nk!o}S{-JB3bNx}2qtJs|$JK)c@hFft8=Dxgm<;*{5SDpUD-|t@ zkjm$43|G7bNdR=4sYqgG0Sr}N<778fi>jJPZn@Shn*ouwPp!)hW~l4*l$v z`6S$N6ZZc<-H$J(xC}bGK%m8_^z>pdA9|;_1&Z%<;o1g^X@9nSk#GQXi@yzCpN2Wg zZZY_7w0Ki0?nQ;+_6`xpH-oMiMzQ8t_FU5EhRY?Z?0Aev70N}FvyUy9g7ooc4#q5~ z;F9FD6qpNT4Gx=w{7!WzMvdoPtu(ca#P{xfw;emUf$kP5Q>fdV2lv*F(_{D9OE1YA zN^-FQ{rsUWvbdPn4v%sy8tl|Qama&*ofH;licUuV~U?Q9o)1=(yZn{YUJcN zQD?Ih*uq93UJ1F1%l{U|YrgNDIu_`Cjm=Ci|1zHqwv zQNf9$h`P(t+}Qb$;krE463d>@>EO2^?v2qO;oI9=?~@HTLxy`dOjaw)Zu|1{|A-Nm zP9otsX)n|pr&A2P40^0%7Goaze7=aEgk-<*I6Q!G(73G3cm%#o+1V+L3Tuk(H3QFE zoeAfBJ+0u}4-2j#IIeS{MQOPXx(*68H7JJTNM*>;<@@G8ndEkKN#u)C-h@s5c#6b7 z-fSh>SXTE&c?=yo5yE!D zEQ|yd`pQIWID&|f0Lya2@cYt8`Lf}PlYopR@ zbjZlggEr-PDmI5x{Cp~qfNO#aCN`|q*qEZv?kKzuH~?bX>REBRX28>YLaCuk?Db75 zC^kd6`SzXr9=c>d6V}ym?*}KJ^7{RAZaVbP)*%yqi3g@!lf~Tamov;eY&zaBUUVN# zB&O+TehGeZt93T>#mD^H@D5hE`A_|aC8^8=-q1UOL}Em5|5nWFlb9cR41mgIDNyVt z?$)8S?SpH{@TR;jO_Y=%rhrntK()}SuVacEv`K-H1n;(+vJd`LjEql z6m@D8%0lfV358F(H4~aY%fikQBqJn-2)?t8r){qPn85JnhdVc>mE;9mN_J%^|EaL! zC*qDE9Lnoca^64l@)P*%nrv{Il#~P|eVl|FhX?4zb9PJK8@L!`h;l#&S)X z9e44a9Vei)@X^P|DxwY7creor4%CFPMA$e++o6reJBzCjNs*QH*uonKCNiS^HWI&o z%gK45kV_$DqN7zG7^5EFk@p}YnH=0T-S~q+E1|5B()D00RIl-)?61<<9EY!?^Wpf` zky)V|o*AvhSyPjBms&lu3$CYo;CzxkwacxpaV6n)!6qgy((2iP2_p734RD}54o8;j zqqb^J*AXw%#Wuon4B1&&3|`_PKxQI4l>u7p@IMFfWAH^#tE3rj zPJYh6c6xjat%wL{Ui|!0K&}W)2Ow3zeowSJABLDVW70foYHC_2?$XoOrz~40pQOjA z4~pvWzJ0g945EonzbYF`7a#08mh1T#QV*Wns75hAKFs4A{{FJJy}xtPv0IRaB11Cq z+~w#iK<4D~g-l*;ak$ z>g4;9tOD^(AxG%u-7WW!v1j>!v%ikGyp4%@ML?VmR!r0E5bP$nQ%~>^HGa0kcWr`B z1<~qxcSzLi_LgsNTU@xcNmwKvk(1uPZ?iWn zT3~tdo5Rslw^>RqQ%;r}d|PKN(sPw|E5$aaO>k6#9BxL{6F-MwH{87US-nv1aXng| zfrKaWE0GVN-y4@yRIAjw5*@`6Nejo2Gd!l&besIzv*8b+^GZe1^~fTfnZ{^=4~mzq zQ{@xw?ty*-)3H%IZsUS&-?z55064VR5~AB;a9$VlLOD+COm_;79dY9mVwc;^ZjP}x z_g5V?PI9bLZ_1ppCgyS#TQHzlu=uioOc0*SmkK>NX0uB_n4e)S5IcY2#@v{?MP&lr z$Xl+Wg8Xt=H%M=L%=(m}ZhxK*=E^sEwXS$dEYSA#4#v^*R_#=Sf8HmIzDfCbCXd22 zt2jHmHj(pnWaO4Z0$q2pXWddo?=Q+RoWnac?&4iPkm07o<+;j5O|Zop4;EW#X<5q2 z_4`JcI3NDGSn9btYb7Y=wc#U7i1^%$mpZ2!e$u&Lf@m_9U9;}wd$K3395oex$cCe% z*>G`|VaOAR>WP9sVDTQQs;w};iT7xri*2H7UNy=^J_M=l%(pV3yv@dU>k=x2n@Lbb zbcKUWx9r6m5t7cgH-?{oiBB;2mEgcLQKnpEyrlBOc}T^PgOT!NBqY8-T6%@Id~4q4 za4?r^wD>|!W4*WHJiTL#PM%&f?e*h=(E`_1`JAEEwcau*`}?wedgAUYJvHK~pGkC* z#UjLPdGmx${ZLtxNS~7k&3kP))I-t$qz! zrJJFoaEmXm_?XudyG2iba zUPVS{nwi1YE>}&pDz_q-dw;%u<@fy3Ue$uWK2{Qv^cv8^3<|}s^EJ{mp#h8WhCC9# zL2>)BQm%quSFLf0quNIxsIZCkhkgrBxW(&2Bivs0%OFnD4;qgZ z1H1AhH=i(lJrh~-x+4Q4_0S{Uk1+acQ`UZf_-&YYORuI@i<-q~urAGWo-m%2^+?uz zj8!$-?l!lwqG7BR7S4t`zUtCkOc1GaSIoK1SZOYAp8BuB1KWugj|oo!49+Y?B61sz zCFv63?Cjjj1oA}RqiH%`G(Wy>>%9o(aOW`ZDiwy$$J`jyt*e@e4OY)v(_#k6zxn)- zNpI~Iao0ts8!MD&N&UxEwKV3P=@WvV0kLJq{YROaQzSZ$o20ky5_59ej(+?8{VCYU zVjckG{T}Lf)P>eC5!i^8skf;OR*001re6RDmw`*xXEJ1wUz083~X z6~CZw2U_t98<(2Un@Q_2WC@%V1k%jc3ISU5S`*K8yK002NSQlEh(-K;Cg zG5GC|%dZ!b3&Wb-B>-uW%4wP9-&g6aq0UK1Un%YBH-iiifKALT^SAHkvtgk+G)T%A zGkZs;c72T#X21sk0Kf;yD5?7)C6|Gvw-c|FYz&r?O2S53&%T91F_1n<{^Dp?dL`Z5 zE2TdAN~uV{8T`#P%>1{ew)RdP`uc2K92cdM(#yokS_Elhs~i#l002H{sn5VtQh8WP z6oaL=ld#TaDSiWFVIVo$zp2UpLg{Rvn|r0yrQFO;zf#60!O|8R8UAeNYSq(6QrcNM zyX0@x!`RYV0zMQ>f&~D8eksmSrL#f$o=T90`v3z-kx`=i04MislGg^O^(j4#X=TU& z94{^|`09E8(+6V1LsPkjiIt5*oo2S>s&VEG9~c5K001dU%`DAn%DTzrTXHXu8T1UY z(9@zP`bwFZekDT3$0GTAkU$J)^ePsk-0001F3;IjJ@cDB*AbkkH0002UF7#wz%?481Yrkpz9wY$iWsqc>dB27PU;qFBWFvZpL+flKOLy&; zN-vOB>CUC8-!Ze#KoNie005Bfq$UPyZz)StrlrygWU93Oie=5OBmo!z007xk>SM6> z_DQ1N3uFd^q}HrF8$|#H002O?mgEdr={^X6Y~r2#RuX^#008iQNcU)G0NKPlKNUp) z1^@uS`^SLOJ_E=+*=_Iz0T=)P0PnrzK4cS&fvoYqTxCE21^@uS2a8L80ciU_00030 m|8N|W+5i9m21!IgR09B(L2U+RA%Z>t0000bK) literal 0 HcmV?d00001 diff --git a/docs/testing/home-landing-blank-20260927/2-bare-latest-consultation.png b/docs/testing/home-landing-blank-20260927/2-bare-latest-consultation.png new file mode 100644 index 0000000000000000000000000000000000000000..845de38ceb643b21b4537ba81fda60a5bb87bf42 GIT binary patch literal 56398 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 literal 0 HcmV?d00001 diff --git a/docs/testing/home-landing-blank-20260927/3-bare-leftover-stash.png b/docs/testing/home-landing-blank-20260927/3-bare-leftover-stash.png new file mode 100644 index 0000000000000000000000000000000000000000..a503fa66f5ce6c1a56e2f4c95d03e0aa738943c8 GIT binary patch literal 58494 zcmd3Oby!s4x9%tcQlgYJ($Wpm2uL>!-6@T9gCZc^IfQhBbfN z+<(t=&io^fGqd-%_pEQNcfIRs zfu4gTMc=BprtB@kYZLSmBOb{P3k1xRQN^gS~?rS=1Mpe7QP32S<2AL&L|9q+R+7f+&x0|9tkI zGNwN)B4TuObbMrDVsf1NItC^m^@Q;`6#2=g;dBuhS%#{r>Vou7Ak;r!c<7Ok-?V3= zr?<{$^`p!gTFtk#+|8z-4yH6DBGM_mvO{D3^FdD$i`In!R5%gx!eUlt_6^hQm`h1) zlE;7FmXPdRySl=K^Q(Y(n^V96?@3aqu#ke_et+9nMN>1lCY<=3dSr4^URE|E80p`N zv+eEeRlwi^!ABuE(J?Wy*qHx0jy@%?vUQjdT$crT6T4cFStYpgH^iQ1oTl!S(&7CsdvQ#@RP%goF) z;osi&CrX6S)%iTM2coxQ{W^$H)GEHduOQg*Y?{~QFfTVd+F7E9+QEU%+S=Nm1%?0% zBjET}QIRbb*xbDTZ8ghlt|nKHjGB6Lry7zjECBEI^x_g-K~XV@&rSH!Ce`N+x@5n6 znm~WN)(_k60q%Y+^#C!DV-2V?*j! z6bL1~-683v>D5f03kX1vF-@YYBLl(RMqyw??@U?J&&NU+pQIRf-I8w(>z&{Joej;-?yS3VJrPV!)@0DCp+7oB1Xitp(c9aL`0U`}WF4isprmBHQSI<#y-eWQ9V!YElJ!#NU=_$7yNrYcE{px%u~8ryIeBkswWS(uC^~w?`U zZ6P2ayt)H6y)SEjU!QKXX|?$E2@$Vj#kX$~(()+oB#tX9EiGO*9KaoqWM~LOLJ~s-lBp6H+R)0hs&CvpzU+ZX;<#97DOW8zPBwyJGvZHRpXo8&*da! zX6h}eLwYSnzP=57mKsjXPlgkM!hHlgx6B((iT=`6Z8=G0aJ5xV{_${GIR^n-A9N*I zqFIaeG~3{Osrg30dLHXeNGZYD@tdIY9yC0)as4JwCiQKaSGpi43rnVlw+Kw9#>(8v z3U#r?`_AIWv((`p?VJjaYR8q{QUUBT;O;}JU-H2$;=q+lhV#<#m@23jQMbtZFbaX*JGxS^O0CU^fl z-XprNW}ciXA<(LMkAsOR;>`W#O=MaGiAai0O0Imm4DlImhQij~+J`$>mp$W{rH$8| z)3c{fDZ<+Q5F)vIrL`M8!QMkz;t}I$FJC4QOfxC9>UW1GLEYAav3KxOMzemf;)Wui z5oBj)52Op$O2rj=-CV?w$c!<$d7r{$H8pp-!w4j99JZ)w4?nF&k&9#7i*fz_tr+O& zlyyW>*$Y)moL5#Jx%=ZcB(|^Hx4Nj9s+yWoO?R!&+eSdSSf=e6FG=`bf#ZdT7;mwE zUv9PKH0sUCK91-R<2s2zowbdP++4b#k8ZR3-M!Zs0r~!-OXPRc%e~pbSq*pmi~7@q zXGA>iM{UF}U*_cvrwu2v#5v~X=I-q7Zl*u1!JDHw1H0^OqdUy9*Ux5r8pNc*mrlz~ zaUkXsHa0QA;{|g}VAPQqZmhMX*-l7khYs7o)|PUl6C#e|fP-&p{Z!9=0RH)I7jEt0(mB)a{plB2eBb=(S zE=p^LrSiG)(9qQDF7jw-%%b6QK3pA>pX+(tUPUD(xs@bWe-eChecg;1@-8BskClsU zdTh*{1Xm&=iQ8ccN;5VhcmL#Ys)Sdv^;h2a#UPIh&FPO{s&|02U;@#@LBj7Yv4fn= z|6#4ue!VY>_8^WfflehqKPTs|SyCcty1#$73q|jQmz0KYp~;Qy%@y4C%cl+nV;_;3 zL0DQsLca2ij1_~L)dXW^@)!DW(oh9U~ihVdZ?UH2SGGF1Xx2LG<)jqFFscu|a zGyp8BP5Mn6M6C=h=8DXie&GorZtW&lMQLe=Ih7NXH1^`DV#V?4X_xy?ZfR+0x^c9v z9ybSF{RxlX9-Nu8A*bhQP22Dh+m4%V&(U2tU!dW$H@Te##OLCGd4RI&YgnX^(Xl!5 zb-h2{6B$WG(SYCG^=72K`Al+@%74kub?tMx73Yn#x~rxp&n)4aZx4f7wRg9-K3Bok zbB=+KtZDPDNA3<8xCyymY)| zWWwH_{=sQGJ1Lyj^D>FdiXtKo6ZxarFNlc3&QO4>>m%ppUSBVIDIl=F)Z)SGFonAO zvL)MLV2foCQu`$+h~M#Q1yWl^L_}mZoNR4uta7E2Ex>01-7=9*kd00r*gWn%)YR1c zwUOer8ywGX{X=MJ$0{YRJntvW+29^8``lyL7#ZpGDBfI)9Iqiz=Bm{|)McYC+9yW=)#3P7H)XSp_3TT>V^A)rF z5HH7z-T(^+fq*R^!$&}X7qbS`mi6IO-XA~Lzp2wJy-Q^C7;32AeaWEB>N=v&&wocE z$6v`vCa%`E_95#LyHxgEou+EhSHix%8eSqbUAc7Nd6tSKPC5WaZd_l=fm%A zE;FPMuZ@yDNAq(phT)q{O*g^_xT3683pByX(lG+P+$^Ll{QL|Y99)XS+K)-Y_g-?{urh2HeYO`cfs-HpBA7;bF=g(vzYRb>aJ{rTfHoV^%yFB@V;N zS;A+K`)Ul(Jw3&-T*{jk&FaF~vj{=+(7loNAETo!4hd;7)bg*7BDc1-+C{{Gh(aZv zNWWe7Ir{p@*_qS7=}Ez0i^t}}s>sov#y9{gKHM)bE$-$&KiN)rKUo;p0fO=NxY#Z) zHMwQERpLNutuBgJX3Isy3AD6e^2{eMK?#r-*x2UQ)*`>)*y~3qC@5ZD&C&^sQLJSF z0qzg?a4IS)@Q>T??>sCg^1;OgJ5wc)q~2!lpAChDg@J+Mjn4bBvN8oq%CwIXZ=p#^ z8Wb=K3ya+yyhuG~4H+uBLlsGLT$~UI<{_wQ=MU;g9Zk*T9LEr9-`2#aC`a@4$Vdes zX$uELJ*sG@{BkQ;>rp#oyVSHlQ7?YJGr8rICg}6ba^!1TW24snaa5FIvpf2$BD=Dlb%zt= z6=ZDht(|O*e)kJ}Mny#xd1Pf^Ao)Yzfvxg@-yLX-Kp-h!iaO#&59`I6^^pue*<|() zPEO>lqx&=UetQ;ERd`?-00okv@6_sNQ*3QK}AJ%IzN-BS2F+!vQbi> zSEhlngWI2nh;DCh)6n!57SaRI8fGZ$+bSk3+!Rwu2j*GB!~kw6-F)`2@bwZ6cFQmc zB=J`N`Xk0$GCHqD2gB(DFG9{nc@lG~TMQgdhm9u6kWFqL9$G^C^PMootRLH3Tdr!Q zRo3%V*B(2jCMM<<7GwL{<7PKkRR!Rp0INd>z2)zL5&d%Ce>D!idM{x#Gh=-X3MfQDv>!nOo2QZ>s^d7hR^gAY0wH+VxVLLFG_46`N=82?;nz^#9@P68 zU78kw-U>^wb7{Pz_I<9NE$NnkmF~Zx~4ceE(5Y zy8L!UHR|~iqUbT}m1l;!NGj&Vs--IwC2X9lMZ0;@s9%baOIc4Z0_Na}dVO}X4hcZp z)ikUo{eAW;HlWd0`f1#|m{Ku-5%gJ5k=;ZV!V?735YAwx4m2~hY1e12lk9~AhI_c5 zyK{=9(Bb4D!+T0)b{J3DsJ3_a-Wv5xbCxs>GMur|JErTXHFU<3*QW>#jNj&~}t^Y-f(j6PWZu zg2HS^nhCXh7!VrkRCEd6+>H)AKG(AY?G|3pkM;8$tP)7CQVFod=`FmPW}9;zhJrN$uOdRbPfC`Z2%{X zd3$dzb^W9!Q*o`gh~*UF5FyKEpB30IRI#g(knNx18e?S{ZS0tBIY_I~0S~Ue1d~6BG%@sOX-48UXOo;C7l~(Zi0)J`-Yxd%_106{I z;Vyh=;o!c9p0V%9w+%{+Pjh7lZ*RgeNBmGzn>J>~4H{)}fT7Fw4dm<9Hib3T2j|4g z7xl^E1Z+$NSTV>Q-Q<6!C=I49GKAMM!X#4GigBORp>vz}!9Z>irDmZ(4Q|h0S?$(W z>Rm|5K09OD?)@~7lKu5LjJ}nV)6Yuh13YxXFC{6DgWMu6Lu_1@3T*F!jc|41=vhHTb#kbSy>gtSs3^%!6)6&x~baXTs!UHL} zA=cqT?q-2%)+7GC`@6t2T@J~g0|npZ;p(&xf?~|{THRja z;&vKTT3Z$0TpogJ&z;ip>D)9Ba zj8asb)11SmjRm6oLzWoY>)&_HH##?`gaIccCI$mFOeUW-sEJF5-|Ix6VD07_M303$ zYsGo}p0z_@1`nULN@bE=1$DqtSWo=K{*peARyq`Ma}Aqs50GF(g^JS zmo@K~R5`%Q(D;dpPIQUmniFS9TqS4eIYUGh zoV+j-=KNlRosiyfZKza?1)}2S~p${+nBxRZ%E(P3dt>>%0W_Qh;efXIdb;j$^4ZYZ(i}a3? zID__{ZnJF+C2}9OwGgfM)$c8oZx3pox$ZA%zhYJTAN6w#JD}^tasHw>az$Nacy{anXXx03O*x=w` ze2B;!o`&1bq~V7FkvsYzb(y6nOnybBInnWq&|Kq9R!aBWP!d;hDoLM$2nwk^-fclXmMSh73-UvmtlUB zm6h!dBO>)EA@#e_X?DKrPdFMGQ9wuE{xsH~Fhs&)^))UoXOG||8(XDV*ba%{2bk9i z;uHPf_vkePYWK2>@^HG|laSIZi>=*_r=Noq%?TaQEM4~9iIOjqDh4`)BG2sE{9Z~6 zS4h0ZLU{)zUEA#RX-YX+_q5qD!ggM&9~$FG>#h6}{S-G=U0HeX`}abl;f8&xny5P5 zcV-TFt&w}DPoK6;6bS&LZ*ZZfT^-e__$cSTbX@ZwI!2`1z_+DzI z3wE#p_zVRJ7usySOnVb1@TAY8VUc#dJ(QdBJl%iV%G!GCOnQTK_UigH!Q1=Zn2mwo z?=SWsySYYY_G_nzl982VV2c|rpZMmiSTg(7z4{`CHFHUHL4)qaseKnlP$FqIE9`=ZQySgvgiLaG%+Vk_$sOU ziI&@1lS{AK{Vuif(ri-(tfmH#sz;aTc8*olG_k~yk&!}aI@&2%&)7LRSpgPSN{UL5 ziN^iqdbRucp8MfFxssi3mFx8m$1Z^3`RP<&y`5WJ1bgE`236lg9=r(pT#>fRWwY3L z$;?7CyDX^i>S{Ay+h>G7GgiY&hW*df!{j?qjj^%gB`Es(pr$BSgnrtH1Tn#~-A8O| zOM04A8y{$}b0r2Mnehyf{4)9?p{C}FGMpkhvO>r9t{4dEIr07aC*aO{EE?PBTRLdS z6`uj89tBQ;V!chcdubeBeFvG2x!1~yB5}lYrJ0&FLkZAOjm#ICR61-j=`=bQ8HuN} znK4BVJ=^!nS87|eyV#$FZ5@xVtVFsT-Y#FmKSA{2bK4mh*p31EIrTF)93~C7oipyS z*M|q3@AdVlV$5w!FG#O`jv7(ZTwx|AX(|2=NCnPYPmpPW#Njw(P`1y+>gPbxS&IyS>g)&%V!KzM(KCp4ke>Pi=zrjgG4%CIut9FD(W)N{Bkt2Yh7Ri*F8P?ID?QLM15j;cXR^=S+wh@eb2c_ zkmvQzx%0lJUbAy*Y}xi{ra92nk$e&%BO}AMiHnVok55UlGB#G|JYkXrgR2$4!=O=@ zrmkGJi;!0R-m&!}0*+F7X?sm4`TdTJ=R3zjTKb$5o{~26?0Pr%*Vp>#S zVrCKmFEBCroCQ3gZQ+dM=6xW&aw^k8;YZ!KhQjLbF3Ix)m0sjvf7}-h4AQumL1}5Z zpSdP>G2;%bW3CIR-eO`lsyu=*keH~X)SphFf!pKc(d91Q?ud5>(w^EHt z1h8>N`u8oAQ1k3pd*d}Zfq@WFvTJ-IT&#XPF^0D?ZKHwC5~JYk3)JRq$WOBfx`U`#^BeU$o|2~zv%|!#gwWlP>+GF zxi@P03Xjd9+t{CnEu;&d!+xvdT|bpvvPQYE8-}|B{9`3&sz%eH#LS{1Y3#82dW}<4 zS(}BX#cB`1GAV4J+X2W1fM2$pEWXFW`!h!cBEUS!M9HvZTJ)OywT;;F-v zroBBG8%;w`O-*DbNS=Z6J89|4twZDQ4RJra!|egIhD{`*R9jm+J+x22>td1MLm^oY z3}?u~N_CLcLkkW3V0m&xJIiHUy+`+tKAM}G6V25E9IWlK0Kc)3M6zC`h2*a4U`$Mm zmtGU>iiQ1wFO>%dz?6atHOdFyOWP&b@%62Z4)5V|W0uwj)i$z?VF-)$PNx_efvBix zv+MO-XXpFP3)whYaQ46W$EA^c*Gy3@1jM!ckhS$l?r@y-PX~wb>S~V3*+MJq;J1?Y z{+ZeaKy2IKL>TKMbs0x}9#B-CoPfUnzQ$o|%z4HT4=%T3RHMUNYQl4q5yap5cMbHeMxoMUNPiX%Qh41O(INe&}Pr<`h7euXH^L8Zc&+ z9iWe1qvUZ%;7LZcX5d6>qsLLE@54rtd@`g3AHo;XNrA*h^CF$p_Vm@%KQ2JgL{ju| zyh0o1dLheeff%JI3EL+rz5TrktM6lNS^9crKFdhQRpGI10-SLRI!yol`!^O)g}>=D zwzmvHe;bRIwgG`EZf;P*yIDs$q+m$ZL`q^ZfdT8OMm;@(WHVWYs0@olk{W&QV2&$2 zQabqyXt0CBJDJ>Y!ux{#spDZCjo{O4Bao98F$RmJ&6{TBUd7> z_tiUnPUYg<4AQX+IfbIk?orOMDaNo}?>~J%=sl%pH3L#P4-XGOlxxc&f_GJO7iK~~ ze;Ei>d6Z850!bwaEAYGG_{#hD+eO=2Z0rM~Ry8d(s^;3irwu@GyedmJ^rLL;fz@w#s0e@Wg91#d{7kB&q=6@p?@#v#@_oQ( zZ2bFn&i^Y>_#J?;kN=4tUc>)IvmgazU`Fx#^%d*CL?N&KDJqnNK>vTu!++BOJA9t| zIw)a0nbr8q?zP!w3&*|Il~NLJvoyd_YZ=cr#Acx59gF<(jwJl>4tDk|CTDG|Al<1s z_dnlIjDDovxyhd_7>^Nx4Wq>Jd!irh4R>KJhw2G7--3p2eOZa|2<`W}yaV{L}?T}L5hr7x7*PK8%V8eA70lG`}qGI2}YD~|{-AqNwhuac$@5f|`$_?R4SGc$-{p3%-tgT&n% zWcZd*Ygy>WoMd8*?4KxYOV6T!V`d^x%_&v1gDuvQ9^Yy4+~taYZV{}S%oOuNGpan4 zjl(0jv+6aTHQnkmg3dZ@W!I_6H;K!tjZVbxlQB&@o_;WJo{H(hWU%B|!^KTfE0bRb z`|=}(kz=p8@TzTYq((DfK$lWS)b7Ew&j>G@@hc>|3KzC|)F3$1DdpPVdqh+Exn6I! z4@<0z1-L~(evdo=RY7|0=dwpb5!uVNylOe#o`)P34Idq@tC&cZt#k`F6^5EOM}))2 zSZfPg9d8=>cXKu=q$$u%Bl5YOG`gpsg3)BJ&*(6(R~pQ7@E6Kf?-4o2`74m^RIMDH z4f(Xx^ybInMNMW&TjR>F>oAsXurYEzO#2WDpvqf^P? zU8iePbxMvrE3#9OlX}d=aXqzlaFS{~o}(-{AHc9J+mQHI5#{qpOiBqAESyQa2=hF5 z^fTez8q||)EpI`GL$?NRRaq}ktqqx66Hk}ImF#kQHMrWV-l|oYkAJ1q8h%B(!eQ<} zE?}uKGlIQ>d?!v&uaeQ_X5Tm_g1g`Mj)U$vmp@ACH zmSV&&TuP6|qkB#7DCf8DXI@4ar7eEvX#2fFkWc0qa@!|*o3j{R;yW>dI@fIPXWo@2 zNgt)%crTwY?qdwy-qJSCU-_s;Z=Q+ z8gm7jpq=?YYE$OVUqLPyc$??G_2epA?%YUJdDl25Tg9|k&18z*oivO8nU{c$0$-Pa zQt)AKQ~Fy4t(hsK)F-T9`qD%eU3 znlLK?8th;Eb4$^I=DEy)8pq;Tl)t%ESXl55Tkonw8b24uk(ZJ^vdh4Xy35wBRp88)$y$xh1QK`jN-kkOmrX+pXsa$|3S)2fFdG-XtV@WH1Wh^F(H!v~ zDaDMDx41qd{K3Nf7k93pt3^Lb%*tcx>y7^+imGa0#w#r<%o-Y_7I8;h6Ruk?cc)JH z>{tEA>MfTmX?#LBlWAa)l2Uq$j!Sn$2NXTt_E36YE0tj{+vh_D=+ep9jB0LD%I5|O;+G=1bBsR3W`o%p8DVOTaW@LFc55` zn9`iG5xvuuX#KNyk3?kt;!z=_|1o^=zaIhpUn|5eoRFZ11_Y3R`q7Ku3k8LZ3e$k# z&)vLd%faw<Z)MTZ>{lEE2L z6Z5tAY-WSh{>z#imMUesU8C)CVI{d485&EAPCs+4JuZkTi~yx9iC|Ojs$ISkv&qgL zkCR2ssk!W<+dK@6HKJ5)n%_%!O(0eG_?CmpbYcq$AppTlj_8BkH|3cdXn}14BN6O; zd$v^M5|E5?zE`L{nl&BPIV0W5%E)LD_OX`=Zcg3b0ZW_kKmMpcu@&Ta1CZS_Gj()o zrQ?vrMi(l0vwy9NmL!6HkSMELAAPiU1mRo>&{X(<3J?N6d(Krj+!{wL2n8EYx+;X5-c@uWI`!3y(-?qJ?vy%5mSdeje=v7e z`XY-eJ2#t9(D~~TlG(71N=fkLC2iXo%?LUPKOUPi>pA)9=HT8)3j_QS0iY57b+3I{ zb2@3;eyMm{K1UF+DNR+n^$(rCWSlNi)1r@#1m-H;RRx$^I)DZ@mB(6DNvR?#%3yW; z{@Y{iG8^mG+TqgWI+*CbJZ3bB!C_gotST~G}Up|jNB*-Ap#!?AWG=wS%%zou z$aJ?-QGl0i(awDqkH3WHI!4tz-yG7Dlb7dWVIkdr$)qRfaZ%A`fP%yLGv8sZ)>357 zG&i@=#adO_=mzmgjm{6v*&Fj8nePKZx z&}N^{$?|+1>-bLAQyEgJOo|!c39I@rUIWbbnGWYFh5!v&@7&FWP1)YMBt9I%Sw&3+ zAP;gBlw71!qbCcaOBniFpFwU?^q`m-jcSWHfOnqESByKrS zGeE?iUzAc{1i?LC@&Femrlx+^XGJHPk>vmAc<_%4_=8P+?df{KU(@-0Sgfwpb%=;O z5a*G8b_0ARy`B2|tpqt8_x+g~MVvU4*u=!Mjj-jU%FXS;#2IxA%aRiM?LmOQ1XN7& zoQY3XX4$9{=r)yF4MHH(Om_82UNE$J=k?-rpSB$i$aCLS!H?jtzt7nh8?8;%H`5c@ zt{;187xLu`kNuwL$477Y`MqvC3l0u!{PXm-t-8eqAzW1G?v;^%Lh<*j4L!~n6dn|2 zRIU!;DxIyqY5OiNe}aB>Lg_h?7^KbU0`NjANcFDAJ1K5sbl#25530{gff4ND(ODsl zCA}sy^~2rgKUXc}77L{rdHnG!7&3%}gp|#1I}{pDPX2vZuSL7g?))st zVPhk=KY^imMX}|mAUZmlfXn*yyIPa`dT5S6JiG$cD%Sg7YXf!`&=ZkjAp<*Hcea1L zyF1y6(`F9Pd-^Y#7#fb%x?D2q@YuhxLjF(Dilw0>^u_+twU(Gz2aPpGad0p)B1aZV z`dib0x82a}yk)4y`}#ipS7(kD^Oti_c>KSr;r_qM&Hn;Q;Hz+4cql5P+tlbNV>aTS z=vk?yDFHRP_DY>J*>`0MyZ`xLkT=2a2Ff1bSUmvC#YEK^kg$7l{rsA(5{kw30sNe(XcYu>`@Y=jj)k+8hL_Vnz$^0&(fnOs6 z0$|8@y)-lz&NW493^`oGsjcij?PDEzbIq0xleGVE>+7Ou)VATY)`^LcI@i@FF}*3Z z`biQLfGr~2s;pT2HP%$oatc5{=XRlQ?oHR`Maa|n%SF4U^SMzik7v5YVE4DCYBM~4 z`uOoIDr#BWl5c8LS(%x_0RZ{^(qsq@F+#V+UN$49 z6y$UGyut;#6*Qc_l=b)K{QCAc2@0I2pPBTU?^h*QLs4^szkb2ick?9H6A}3ri;>FF zkKRx~F%uvxu0301&lvl@k*WIP$xMwJ<*62H)9oJr+JNXJoUWZmZ~p>`*X6+FGBOU$ z&GGC`G2X5AAYqzCw+j+-`W%El@)Kj!X6^^-!SrR00!6V-k?FlbcH)2`tNX>4FtPFJ z!QxHckoHWC2~o4l{y!1d>ssKb01pZV`|Db9llw`hIXPCHa`mv`i6K1LbpR8z zyu3U}Vq)Y)NJ825?ZV*`eNxC^ytUZ7A2YLaJ)FR#7JAtITNea~cME{4ZyMBcj^0dS zqguDc`VbH)pAKy6_^7DWbseoKx2+=<4Ugre{kUenf~Ic(sG!?LfA*|EyFS{AjgA)u zuqph00Zka6`^3m0M=%*bztKd#q)wwFA)7nyVx{@1v(lq9K69)4b{d)j0A@LAy?V~) zd1l;krC8ByUa-x>qxtWK)dD?htAv``=2ld*?a~z*5of?bP*50lP-jI>Wg)nT)m1^T zfd~(8e_P|D4WJq*(dIV8#59^!>80rv6Z;3?Ue{K5AhXl#aM~^<@@)+Y)3)h#bfggG zs9jT0QkTttGye_)SLl#My{6qMN-9A5PeBh&d#vL~nl7*oh0e^*Qc+Sy;PDo?o#w_h z-`9h#y85SKFxZLO)4!G{d)i)*_D~lM1H(QrDW;F>P<6$5`ouV~$kL$pEtz@EhjGs9 zoAsCNWTm>?G0)RyhVsIKgZnDhi{`5>=bN>t-PJZry#&0FCr3wP) zA{hLK^Z|kHQGj|T=!Hzg{QgM-gl3s0N&*)(AT8~nFfODBTq69Z@PclgDLs+T_IWQk zI5@bh)tf!0O=pdcGwY2L{F?9bM`LuGJl|m}TUjl{6>*^x^TbC+zOm_GA3NRHZ@m5f z3;mx=TF!3d4)QJ`!f%pX++IspgwQ7IG@>_o?WSJ_d#CbT=Kk4rD-qxh?3Hido(==< zm&u~L!y&s9KFbX#$1Z0CF`L`)0RuK)-%EiAp;vWorw4&6kvEqlV(-Lb(vY$Fb|y>C zHwFo!B&yyY2Tzq~{=zu-&-Iqoylxy5te2WSe0o;Aug&D-xs2htE=tX?NWA3xLCKoR`PUwLSSDB|B?-GPXds;e&)y zrdyd|Rinm4yy1h*3AtOl_L|*@&M9(qbTo#T4e82AOWQ7-rGxgi!OBwtJ{O72%|w6q zlFygr7rtnysJN)z1G6ZTliY?;>SVd9WlP`8ezgR$k$`Z|pbbK+71C06K!g9wN(8l5c zr%O+G?i4C-v%i%js#}I1?pWTRmYozIoOArO&A94X)mP2G#M&oX{lt*`5N=L#Al@i;~Td}c1l z!wES)jCX_Sap-udA&f-*KaX9r*<~xrJ*%i_U1J43-@B-*yWWKJBfF|S5PP0neY9WK z{yWaO!i-e~Emb&e4(Z%r@c{h>cRBGQ3@ zwde&gzcVeZRKr>o5M@NIfA;%InPNkp5S?RRdeW^3P*vVs{cQG#ka!KK@-cf$=@OWn z?Y>dFIZf__VbjGY=wAD4pBm!)m69 zm>7asfS7V#D7kWpMkAn+H=TFh!{e!HjmlUBv`thpxRj97&R#a@gc8Q1=JV}Ek$Yt0 zzqRfJjZ?5Cpcu!iis3bn47ALyS00v4ORYTeHZfeCkZ%)o59-|!k`k!H1(97baYc9->h zjb@X=aqzk{vR```0La_(jnok8Sb8&6MSX2UBQu^CUfa?b;Lp)$n~M)eY7nw z7zf;6)#c^)OB9YlS4UBp2r!t+QqUkY>50C-0UYAl!C1-RExdF*lh%Lu>dHe3&y9j)?-l-|~<+OcIfmX}Q7J%*XxEX3Sx~Vy1 zp5(P^9-p35|`oN0XJ*ST733zW#QqR z&6i_<6g28V2l!e3X~zVmkP!9F%<>4hY??jK8zNcK1p})sCPQISKu!*WFoVU#^L$!$ zsi?Y*exTZp)sZ$^E-h?lRbO`i}MwXDLX_75?xzW)RmSliZpoi@vxGW zt)!%cfq?<|ohbu=o_fB8zxp2+0P>9{%h>9P%2JV(mY3ISGM=3-V^NunOia8wS>Mh2 zAxE!XXMDP0J+Yi4zxxYO=19ZlyzhSV+*~Va__Z^~%i3#A)7VvUcq%@ldVFpvA@Mq)KMu`^8CMp< z!MM4m6w8f?0T^+LrLlkX#r5;J>GkcL z6TYdjvFD*WpcpkXqc)?ae)*Cbj19il$#!&GmwMzhx-po{ZaEdIL^WTt?+M$RJu#7n z%EugxR+g0=hCKdJl%HQ$U(d}m16ZmX>*D~~bl?IC$mI6}4SZSG?B4LYSnW?Wy9f!b zd=64RJ97m5NOEycbaYbj#`9{dMy=Me&D%)?pW*Xa?Zirc4@6hQy&&z07&PtY^vPVH z71`Jx&)fW!)(4F%&K#Z2(ay-pvksPh6mq22If~RYH8i5$cu>ZKU_)0(dsm~ zI(LW8x*YPqpRK4b)+4)~y3!?MSn#{41vWvxXV;D-<`25ih1Q2xNNs@J;_NE@Yi_Ps z3zmemG|IF49@8Q>H#Zv8SLpAeJ(uPKh*;| z4WOBGc5+&*`%uXv-mF$;8|QhV*I%Ml8$rUWQlbf-MFlt`a*|(;(`%;BK#&#v39^Ks zpyMTeUXQaqOpFMjs^(ZbbK07}L2#WPU6Z^^@hqLK2Bf;ORzklniD7_f@EV?;@bQv@+!c;NkJ^kZnUNG&o=EDRrTgGF}|;KOEn zds(=+Tt+iZvVCAxG{}{YK(QRZ39-J?PvUMTS4&HPFM~m=Hb(5m*_sYqD0+ttSooW-{`&M)6&$eGG9Cy{h0^2^7p2y*|xVwT68Gohk<@5 zSTqx`*F%z$h9F#lKvrLa*(c|cRl_i))c~bw9Nr&6} z*7)Jx3&LS7!vh#EDt#W_VnDaf%K;;6t@~gD?0grEfG1yl*VgO));~I}(po(35wNMK z&}TOa0kOXIyd*xgJRxOz;cX97x}S;lNtso92c_f9T303U`eK2hl#~=14HqDQbzZOW z^W%3L+0PPx*7@TH;NJy!b`#>?G!^A|-XRE4T4 ziAD72@cJ@62K+KMU)YXVEUF)DOOQ&+kqck)uUnk_3U z`zvezLVHpPZXN-FkF-UXTx99Ai|SRbco9EtmcA8D+w{zF*(_uS)6mgbZhcckLJG>3 zy&t5#O%M^Zm?~tlY(+-~sJ%W~6<+{fe+31ilW3INbC_RMS;wSB9j~;DL~AxW?Vdol z*`gaI5SChP&ANgg8e*pb2=~yUQ){!B#%uc`s9mS=oZ{z?2!cwN<@;3LO9i*L?vs5v z&dc1Xb$YD=It`A<&z|)Tu8;F;&dmYO=$P=?yz?-RCoj-7kfqV|)TN@3n8-VXlaYMc zS9;RS)+UW}{fvyBUVDm|*Jf=)cK5Wbga{k^?qr>AcB9&o>tvZVxR19sCG>Xs_Pz{g z{DG$YL3vyj~9k0a+y?XWV=)EOfse4YrN2hO~uY1D3RAUM}<9YI{ zrgqyGz=JYGLsN+t+IzRF5U z$lA(M0iLfaI8zA<#$1laz#8*oV`~@tjX-vttuk*GcDn0}vpj(SGqk8G?F?b~!lymx zOZCzbM@L_1!L+t>b!o=>v!y#6JAi zhh+bUwzH0^di&NsCW-WX=|L;5yUQCJ z8&h6&-4MlB%l(;r|7}9TWMl_A^tyI_6TtFV{z0%UsENVaqlosC4@Sn%} z$k6V$aFeiUNmCTd`KTs!#R)1Vc`!L4vT2qe$JMe*Hxxf)Q#?%41fL|6bcj<;L(iT=Zzkj8ab%tSUz`#(Le# z>RTT#O0y`Z2o3Flx=`44_BFPphyx;PQKi?f6KR)QD-dh?;8B>$Q+82SdTuj!lXK_N zg% zzW3EjjfMmtk9KCr$y%~rt_vc2c$fI+6%sbNcn(E%^>Rk`FBW^cTiEd-_2k5AJ{R3$ zdx>M^q|1ghDZuH0FoZGTsS5a7DW&TZT^B7AJ}JkHq12@aC#scooiRM7;h0aiAk|)E zF_eHnAkN|9)9DWk4}W6jbu8nSVC5amSA9!sEA1+6tElcxAN&6Olm0Ghi6I0MvRW2q zW>C0Z-5Cpw60+UAWM;oK?nh83zBc->g@+(@xz?oP00=A(qGgkxezk}~_pW#zxw31s z1*I(CcG#N!7=sxpS%7eodiap*)~qI#8?oA@s3PU!swZdaD9`_Sz_JjuLE%1f_qW%$K1j);+lY+ByWZ%9~{`te) zgzBe*6Xx!I_G^7f0Ef?A@;AY2Sh^R^XVkjY{ z5IjLQJpwmc8u-c6-9h z?Px(~2DyY&mE*o=L+b#og_(s#SIoosgBqfl>!%4V%AyBF7lNsnoOa_dsRz=d*Be9f z^iUM4Mp>YXP$jD%G%D>STwS01YQ*0z5PUMHlOV@4->EI)KS{ejU*NpAHWVwcF z2$xA$g1))A7FvCJ8)LnmP~7o3_pBU8*;G~377}1Z5dwHF#6=ncFK7A#qS%m*1-gQb zfusmx*k(Bu;)P`9RLgiQH4a%8WD*4&4q%I$6^rF?QKG7sl14dgc%#!YZr;x|^mRPk zT_?ocsC@oyCWw3p7I16oEK6NW3zH6%c7i6o?}N1G*)>MNM#5>DrboIy;#TO=Mi3B{ zAAT=dLpohH-eY440>HUArm&Bp06Q3dQaOa5VJ@6bSQr+e5xPdL|cnDPqmE;BZd0PYHByLj<{bW?U&nb z&v!)L)8_IxSiR1mz(B_U2$?&=Fa2A!U0r|AT<}qdJ>iz3?d-`BVR@=?K`SA5m6h|) zJ^6~z#(|+!b91O+{rB%#)v8e~{OoF%)%7=H%Qs>kT1X$=ASRCRK6el=Wal{Z?&TCY zba(hoR-HlRSeUA zaFW_tFgREt#;=|=e0kb3Hp$j6Ufg$F{V?XVj_Y+5ZWR_&`5gfy1=bU_%0F;q(JNzp zO&JlQ3l-Z@H=7zExjnBf5^niyP@H`5sphu=J41jK_L1 zOQ)()ICiKjb}s&ngo(VgY`PaU8Ac4{FvbR&U|nM1k5pJHP)vW^U0~N&X#p!j8mHCq zCSqkYt;FAdIh?6)W4uCg54}ENv6~B65Ob9Wp_^(yzjxy0h@70?!hB3LXbGDGPKuG; zR_bLMNrDvrmj3?m+h0xATwRk{DMA#E-axlPE&mz9G1Apc6k;DZHI?Ddvgl)KpqP#3^WdJ? zMQ8Jx%?wvMSm;$bwhjOI7&e(fb-2Vi70p>o{LXE6QTilV;q%U@LoB3<*oBEP_Z<-2?Lbu0gx#Zlz| z)CftQc%ZQsneU8RjXClSk13)=)YUUgI>>yk-bG!x_v}88kkGfD9&hIGw6q3Dvfn7? z!nlCAAz9AvuwH95Ht$a?aH=^`+`y^ROP)Pfm>0h@;YKJKd`r|u$Q{ka!!tA~Pv+M$ zRSI`8N5@yp2bRLQIKZVaY9F@A8fdF3vy_c6pBgj~@Jawk!w%MklmCm&ShdTq0SoTN zhK8OD1r)Tnq9d4Y;4v;;mQMt=IsG#=VDFTa0RAO9HTx5~un__*&fj z?Ned|{V#-OEXacUeILzJS&s;=x)$?@;-6^^37oUeY-l!E%c;I0kx{xlV z7HQvl__CliRn_V26=adLGt zoCtzd&Z6#hEePA392{`DImV--eC@WkEad*3T4iZQkP)1`G*28bf2(jvW-kVME{&R%vsK80oEtj%zPOr)YqfJB7d z%Vfzgu{UqttdG}t?JPTt+zW-c^^*_^Ks@np@vKhP;FeiV02Jc!aW4a57fMJ2V{;T_)Kw#ng`y)O?j3be@jhhY^;^9q z?3w$g;rO&M+#M%hGi7vipv`eZ(E0eggrHyzq=4mP9z~*k-@hNo)GhTo(S>%XM4b8Y zIO(~ILC?NEzlm{c{vQSq0g98K-%{2_OX;ot+Ye}7ZO^MtfiV=kd;ckGoF#wiwD)SZ3!Oi4_$el4`Go}rgGv;%!^Cr>EU#1D+ zH0?r)q9fWC;^S^-RbR-=oXWJG;Oj~dx{GRQc7kpUw`ISqeriQUbY$e<-uyoSr&odj95+6nT*Ih8=@r6U^v3Spt+I@DUmeQVJuRbZk8s&^D`nZ==!nmfFjT$C zS38HZ-xbm7@funyBCt*cE1lB)m&P$|(3*k!smf$lv%9CY_ZjDJ-;HlO$b(oWHP+s5 zzn9;!O~SfOcqxw4DKyPTBIo7_D+vZ2T@X}S3ftd+1&@?;RD6cq_GyRM5`RL-eo@0w zo&Xc3p{G}X`1OQB<$Lo z8)KM{ccn$?UEaNWSL=?M*;y&yz+&s`Y4D=`jf4-ze;({C_X?&qyUe%y!IhyoKO1Uk zV0^4}#5#ck!K^=1AK8d+ETQ8<%SlMal?3_){8oIBfCoJrOo6MP6zva=l0Sxct00u6 zP%63uG1y16y=|^i;(GT_s+=TRTU(dAi!5F&nu6vH_tm3L<*EQ5tT~tG_$^^CFCU4v zVN1uU+8Q9TkzTvDIn%JR`Qd{zb+Ee+b=v*Qi2Zc>#wU%9vh?-!DcFMX^;?9EQ)TNzZLDB7gxus z;)Tqj1HY6NE5XU*X@q^31({*@V{DpE6?Yl;Aoq!G`&)v#V!Xm?I1-kZmIx^NL(Vc5 zpSGnK0M48wdjO!kxVDfJKDK{o?}wtE1eAU+f$%tbsidYR@B2XWNkw6yZP*#(*!=vt ztpy_&8p)u03p2gtHtZfA9@#hc4{Glw5?_wT_fmn4$S!2omQ{r?WxiU#Dn>oP)u#sWcBuO@;NQ7{pxdVU$ogH zAO7OPpM|54z*ScF8(g7uUCXz3bB1hcYFMCn1Bwk`9!*Ra?tf|*!*vX+fxcUNT+Q?G z;ZPEGUCkQvr5*C}47tRV`-C2NXk?ISn zHi}@LyiK4zNJ&cSfN9;i!@tL-S5{~okWS0c6(pDEk^@DhnuG8n=MXqbVXBmILEF-9`o@jm=c8=8sT78p`}>?=n)+UP};kdIB5_i2&g5n&7z+-VxgW`Rz!Q zz-FXaH6u9QIF|CwTkS8FbYt$@^Q8)7j+hW?US4VrQAtV3WMObP_xD?_etL(B{pE18 z%1YO*a|h^k8IU%Kp5^6PX|+l`b75j)VrFI~w}`bt`uft*(+86YzL_-Qh~{@%jl{Qx z*3bms&JB~hnmt`p3T2w*@;cT}8nXvjNZR$jxJ7+=ax}Yygzq<)oL_fZgrDE{%n|PD zc&P`bIHI`RX{onCAvuv={!{Aa^@&OcyRJ!{64MT7a?lDQ>E&PA+0g`j6T8SPTjkuN zw3Sx(?d{=M*-p<8&&MfZ;yV&Td?UaO=b0FvSi)gte;fO9XOvhIN62&LQPu%-VCY7c zTIpzaay|F~_J#krr5Vpq3b_v#JCvlPhykV(!6zppM>W^|z_77}$g+s_*`vf8$gGnl zDJ8NUk7)otvEt%N7BgMD)EGp`B76*#Y=uN2#ZT|@aoYC2m=9FS$MdC%cx?6i#q!v6 z#{>M`zcTfUOu3*S3$%~h@Uow=?HvSJ&`1UR;ZJ_lGEP0An|VT!0>EJihq_{`8rTc0s;dwRaycpDR^DqRqOX6 z=6t-aU%w8mIav9#e^ysrL8aFT8$$14_Rx!-&jSrIB%|dk_brD%7&e96)2j`i)mQRm z-DC{aXn*eR#2e;9haG$HBffNW4BbJV12p9lnw;Vo zz+!#9-@_(liWx(iqTLrpj%-YutI1X7?Fkl+&G2CqTr?$;!4vPbCZ)hKo-&ULvUgEK=b0 ze544|0oMg_@Z7cwEsA(f6`bbls##%{%6FTMO9p0fv4v-`i@)p7;qD@zAn7|6$(Rs+ zMK6oy=Wm98dDYg}+xuA(nt$8-e!o&5pNOkW&S;Y^Et#9ILcamTgFuRhqZ2g(ON3Vr zi`}|9T^-1|E$HvnuTPd#Sq!Zge|`yMX^^DM_K=(5+!{IJiDo>>Aiw} zeu&wTIuX}<)+Q$Jb5&%BI9vd~_i?h?ZecJ*l5n9tq1?9TEQ4gm<8!!HQ$-%f)fZ+( zaB-WK`b@&k=2pH(53|Krxw;-Bdk=TWp#--1B{NLIaar{|RG;Bf;W{HZpFi)nX~&P2 z(xiNzb?a49hC(mrX*cXfZ%*yTXGEB!{!KTBD~O7IA1dh4)s479iVP1I@Mye&kKYl& zqSpF7BXE`M`6z&q5m{h8GrW4S#3IUidRmWwl9$76@V4s)?C#M0EV5jZCc?-k@KIg6 z~yvt9i z_3c-fYj8d>zxmStxGFaxlvdjPY5H~EVpc)`dN|JMBv%$Hi~W3;qpkH*IMyDc=Y8x%R$H|{{+ zp_v5F(a{mSiDDQMoFtJy&Hv3Dqb!Al#HlJlw>=Q11+kj3<`M3_vYz%l&@v!Eeqr zR%e-+VPNcsJ&~Ug=&S(4D>WZ9uvoQXfNYZ5N^=`amdbQrPnIG?Fcof#psEFhT>s#Y35jGM=-u2xYuDZ}&SN!@>-#P2`Cw5&dp^Yx9Kzrm~5~ z=#xtw)0qmlgw5IpJGSS$NCjSGB9Y2q7UNY{SGrbKQYyo;cWsxu!DOXF2?9yKbww!jIk&-nGmAP~S3FNsi9y3)-k6q#l#Lv1)kTf> zZ5`c%gDvf|FvEk(W-yMqwmGx8RaY09?j8#ZPUaGuIj zQBeZ+^mO`yPiZ`&aJ<$~yC6YuZS4-8z{eY+HgM$i4N592uN)s$>FQ46spmkr_*GM| zRcdlhPPygMD-fNPU@(R;^$tz3Hp_2}JD+*jr8_ro(tA0gAqQx0?|`7gbjEAz85$hy zE=h)A!NZoXTNM@;CmTYgIq`j5R80Bp7qFPDX-G7Y%zj*bqUQu7N;n86(NsCW9V z_g(TB6euRDylk33>ceds&!%N+%IjD9PU>Uk@*20D-L z%2IDDAc>EO5%uq#werI5{~lb6CDSpH8+dmybk!@ z3$}P%u(#HsPG_`W^FD#*ar$~q^#7fL^AwWUm@6bSDb(A0+FBZp%fsH*xVX6dP_t!c zhn0!k1nVXr-Q7)-w^}_eM%z}##5|A-$*}E<)C^iF)Ym7(n#vx4_iz`P?w%=Vkj9xA4Jy{ z>8iSQ_3~x2-mjrSK^--RdwqSJH!hkQ8A;JnTTEesw`@o7%aQK zo|2OCe>~)`iBt{BAA_)FaQ_xKB+>ITX)@&fHrFU9CL!qsMW?g)qsxs}+T}L`vI;jh z)8)uyXv1LJtJ!ut#B7szi--{P^!33U5Qd=0dold{yvjIUkH#-vKK=QVWSNR!3| z;fF}~{OPET)4#I(V;DO9W7_|s$NF?u*PmDT8@vlRo8`?dEs!&Bn>DemAf4sq;fXr6 zU^B|}_xFE+qkWqKuCKQp@bNrp;Ar2M5r6V7Ej_*Plk8TMe^8L1i%H4I=`SIo`F&w~ ziGAfd(F_y_SFZ-j2yCbO77gE#H{aXE#mZW9-Vpo|dHKP+A=S>7%^4uzw3H z#EI1I>C*-x*_&QpkT`yJHU63t@OU-VlXd$KH4gi-wIb5V*4A@tku9VtB?%3+eH~?B zzh|Pbn+i&w)5GK3>GSuKFxBSyaFXKof&%5G3up19Nx{B={f0f#byLg!li^@9i?c%rJSnOin0UDrmz_H{+Tzro<% zC*edeD82~{X=s`=c|mguH>;cSaYrfC&SfO^ zhil**-`aXPu&nAXY;*`5xe4Y6A zPqZED@ud__czZl)d>T5Y_so|8)p^4RT-Zi}Fa#spJiAlAGgXfH)Tb;P=_wM zA-ODv3jz6kqfQSdQcd=>z)$~jVQ`>P?k~^Piv$~{oGlG^5+ZA`wwiWDBfY@LvYhIN zY{u!0)SEXy@jeH#4Y(K|aB=+`fRt87u)Rsk%Bpbgq4w!K=lcM$F8;3;KmhIMP#wG@ z7${Lx^Z>2~@RMbQC}{t?adAZqdb~CRsVX4I&uXkPNE9Vb&Fipi-$7QIt)8=s*&_yK7LW>wNHZSe&fBFN_FBhcQd9p0bR^w?090_W zKanz#4>GZ&#Ewn(Yky}`hE*)L{XtqqMFk-#7b8E*3e39rcTZ$uEE>Ce=Jna}i&-ku z1gDSOruuhw-n49cl5eN08(xewumg!O{b*>g8mWXK2L?rptr0Ttjrs(-tRJqnASH`C z*!6@+eiNslo*-z$zBfVQ3OqY%WeCqWN{T=K3ZC?qP~E9ZC^72#?p)%2rTa+O@K+7Y z8LQEKF00Y@sVNv{p|f=aeq)oTfyj*Doa{`st?XybGBCrbMq=AbUZb_WJ>08dqrz)r z9V92{N9Sc_sW#vD7P)nE*T-7&iNyMFZK=d|?`DgZ60qA zY@4&5sElTgVN%Y}*3?q$HQ0%YV)t0WsrEQjV=rhO$Qk;G4;sZ_Z!frIpndEPCD|sA zjJ&+=SK9Ud()t#cNeZ2a~PK;?+{O``Ta+o;8$;~}ks2^_`sKF}aHEsFp ziJXdx|8HM&6Z)tdugJM9HIhXoDt-Ud>x#DqYqSZsq@<;_zPvboj~@%qxx{z#c)lIo zTKC7QENGMv-Rq^?KWGOisX>&r$cP3goVv(wkO+tjNOm3^*xTIvrVTht{-t zkjSt*adDZ{G+D34cCBDdkvAvIxZG z%b4L3Q}%3HXIC}X?fD(Q>rGDrZ%NE~ycJ2n4+=azw!y!7y4fF5r%(fRU!1zf57`92 zu@qiLzmvRo`UJ`;L_jJVxI3hLZ@*+xPfO7O%Y?xoDX$m#xK4Otj&i-$!;pZUADZt%OMmmFeK)Y_Crdb$7?s)>Oge z;Bc3`?)m*i9SBDRUm~RJ_DV|bL47t!lh(Dr5F75oW2I$dWyNXx^SNtO!G_&IhTHM# z(&lu^jmb}W@j5GNR*N7%?4Bz6)KIA;^4NHTFd4Bo;qBu?{O3LY`?DTU@Y#!~%9TDT zU1ry-zV*NW4RSFJHFc&aOPxeibbN~u2R!iz+@JY6Rr9l(i#q!H`e4)sGuT(l!iWei zM8YE%Fyj_GC3+U4578~4F;Z|_jjp=o$o4HosTjB&p$u44U=b$ir@-IIMsoz!D@N^D zz!0G*TxFN?r=R`(=>5wlGiaB2!TBnNN`sboj^y!3%sm>UHyl+o*S}M>j(&-@nhj zbL*Dv>Y~1>X_S!1L1+i3Y3Do1cM36&{4gh}N9ZNwb%x+j4tBqp4(%_g{HE=n=!L0T zdSRukO;mwFzHBSN@F)&m&CQqi%2Do^H}1wyYpZep$JcWkfl75ZH#gz79KOW7VGk87 z2|k5D|G>^zSSR>?m(0w9eR8K+L-Xw;Vq%#2AAA*e$82Gs2eZ3NAm&TJz>7q~L?_1v z|I;CI8{Ns*1=9^0{8PhnZFOFH5)cr8X=@f2%oE9OZzfSuDC}285KpzsZ3Nv8Ql%rz zX>pK4HQ;E9A>+Sy4?o~JoI!O{r0({ab1<4&9b6yy%kGL|?Q^X>~@_sLLCCfyzfrD>wXeeVL`~!eZ z4~Wkkdmip?IM_LDjAaPdFh7il8aUh|FZ8VE8+v7JM6yK1K3b?xvt5` zq-lvL5*b!PVSYh+e*W*8dL$U&kVukyT0eD0+-6dl=7BO@_SSb7sl(RU8Oxmqq>}8L z))!8*mR>@qrEpu#ribdlIkR)mS|hf%wmdQ4 zdH5N8yB3U%O}Bx)EzFrCab zU7((uTd3_CZ;RR(EUijN;F<<4l9JbPR_y6DCOITxcXgu1uxaDj1C?&cCqm+#HD9y(+FEi073kOs)B2c|NyBJP(-zI}1DaV1q!9ln%cJp-i_vWhR z>~@e3!G9qmgxfz>;y@UX`7JE{H7XVw!tCMF0DPK_})H7)qOH6iSc$lKYP zlMzjR%02IvA%bkZ=aKUBdm0pE^z=_%26VRCjgDBFT6=BKLyIZB5*2Y(_Dj}AM&eGO zS>RJ}SZ*ZfK<)+Fny1xR9p&k`=;K%R2Xs>N&x#BN_TDcoFB1=MtgL9~$6d)PQ1W?Y zYdf3ya@Ot3moKY#R<}c7GSL=`JV`T%jAc(q^vw-MbJP>zWbBLOceDihSLO`F*@r7t zV~~hIm{Ixd`*#3?fhq=G>~_>(l(+Y{S*E_fN8;^21-S>{<$7j_x92;b7imP~^t;PR z6cn(}v8=52S2!&$bWQR9`0+zrNbxUfrA}{y=fY159_yjJ?Y9z|SnN59@hW*Tuvv5v z&niiDrwr94B@x;mPS-Qo8+I(G$&v90*c}vNn_HAkxXpSqCAR5R9st6=KnJz6)VH7& zLk7X?Tl^+pMb{3%VE{}6`&afV&Jr#lyw}xDZ(z@=vFeGVd;uHR6^jz*PTCZqxV7)O zHz@|61Tra9zI*EfLF){hA6<;|7Se&>e(va#)qg_I}MDBuInNKbF|Z4bP< z{zjq=v_@k=a0bCV6x#H`JY|_dm(A`6N;px8ybm6u zvIF}k3*Yj}0ls$szyQAkIyp55MbBkEoMhV7iI#%fvk#9gcwyiA26KU#8H)*M@X-15 z`Cg;iH!jtUIj!cY7j$l=Z7+3D>Yif_y>H&1xxBYaT9XAM%a=BUpP%M1a0wRWxT6Z5 zDGaHAF-(fiac$YS_aVM{x}^IqLspuSQEK_#1!O1s7{h$}bm89u#Q31x3*YiqVS@djnB z?=ObV58~f_u9);CY8dqo!B+)+BQ;m`-mm*00Wr%`pIn52E}aQNyQ`QhnmB9+D}V1l zSmRGBOf+*-O$rGx3kdB?1KnB}veZn&${J{yKUKJMd?bnSg|zn}ZZ*tgre$hbpR^O9 z4(&dpp`c*Xh(>UlbdcboCKk45v*6SbO7(nfYnvGvspf+>wF7)}5!wJdAbyh8#$+(ghqeoHQ=Ra>Q>~UCrc!$^g zGjQkNp@d;m5jE9DQzXuAZeiDCgjBcQA{)VL9bbjE9?l$Ctq72EP@l&CsPF{9N(;Iq ze}1%|?8?h$hJgzKBfBDR-W0ywVo>C`J}geLyW30di{2Qr+a8P;pwQDF{>9LRe-)i; zm7BUi?1lHRd&q4|MT@1@@n|r*BnouT$gnW2pV+?iE+Akbgyj6e6O-@=niwBsvIdl1O#c{x4Buvlw5nk zxIj7q0(oK=_Yxmiy#n9Z*Wbz&&+=E-S}3XXg9Cl?P#61aNFmMT z@XS`k`_W7bnWJAsdIn2VM#e&^<;Ut_+h5?WHpV>6N~R$Be#@%cJ~OOGb@mF z)y+-)Gg27IRKtG*HR`7NQ|5WVp4_%a}g|RX8LC8rcy{5lMz!0215?;<* zy*U9O+~7U)kx8!`O8fhBh1c2O)k!?oJ10wqepnZ7-@~-~@!Ju21dI%IYdpu&9RdpU z3>RxubZ29^9k4&CQcOEP<>sYHL@>g0L$K?Zqh@o9_f_Fj#?eYEb>fXywaA;agX@!} zn%t|aBQj^az2S_zOZ+Q0mvw|p1>!9IfTW~Awsqa%b)DJNf2&<;F3k)Ex`$+OlDr zg~{inlAU{JqkT{>rlZcE!&bigYweV7iq}?$?%ZGTQ)g2~K8tw=&$gzr)Yu7q@7XcB z%IYv-jo)!)X{pRgxz6hh?X8Uwrx&oAz^UDA5=5p7=HhD8jpY6P^F$c|`=9?lO-Z!U zHD|9TeR+C@O?Cg(=~_9K-lxk@i8%0heMTC|*9 zbPBJeaiD<`K8bQf{5XZz$yIoY(oPYc{>|p~cf8SW!c)h;7%8&pQQ!FB)2qiG&76Ie zST&MNTdwQrK%JCC&AW{jyfnB99Y4n>?}x*TgX?~GPY->pwY4>v9gOd%;umM-yQiFc(lIN-Ct!l(G?n`o{2cCEI57^os8PKLcRVGFmPf484 z_F3I3$6tn0A8KoL`_ko}#pxJTK>?hu5KAw-kB;WtiiKm*b9?t;VwaPx{qkr<38WZ9 zX(WZt3YeQ76j-_YwqrkmX|M3P#j>kkB<(=$}RNL{GBYHjYHmRc8~hipMn(YC(f&BwxJiW z&)d%qlMdu}+|t!2W7F~xkE0cr&uCDGu8x*ArNQH^ZugZVupgs?@)AGNAs-*mKyfcXwQzuV*l(sn@m}^I*$C2I#i5P>gZqp?rxwJKl#tl6!+@ck!3yk? zV5YE{!aOt^|1cSgM8Z@yHq38GnZj&Odw!_ZL1usx zEZv`ppT7xu&NDwQAGjX8fAT)GM^PbBV68W88zww&t_1>VG0I86>1MOQy;#k|%^gX(v~u{pPGqX*o1(Ssb9CN=?JGB&p0tFgR>?^iX# zx?pgrpy%rF^$Z0jS(&pKXdwdJ;&1=6j*^b&9utF54D$set+LRp7>Yq3w(Ib1#>Q%2 zdSyo`?5R}cm}*=c<<6%xdkef(siwmnL1& zDYhS0Z@ka~NC}|8SH~-mz(dR3hIj&mu}MfsviBd|<__tKvf6Uyz0EB-TF}@zH`jWA zseXp<5RCPP41*@Cnm3CIQsj8Er@qW;^zY`kDLGB&PHbYTl=cMnAG*d@fgMcy1re?| zogE#<_oF$}y|kAhXu%2Befz`hg+hRy@R$#acvgRB?#?pH@+F`EgJ)^%nDAatm=rBI zsLXq+d3Tg$JKB|$l>y5d?`CND3ot`c^*{P&Ei3~~=@gjRyCLcU;o=tdH#@5%eQ;50 zB|6Obs8Cc?WHlx&wh>$IN&B(t-<~qO!-j~~maY?5zhSBKKZ{=@A~+y=Nh2BJap_nj zZ1V`>`yP0|vu7pdbRMiw{@hqs%l~KykdWQgk+DognvK?oxkGTn8*)TjTMI{X!^|=e z+B)L}qr&56DX(pg@3~wE!AqSgG4O#_cJ;QKNLQes6Qdau6_BEjphJZOR+#sM2Wsf0p zd3u7HV@JdS$m~UT5*5vq!HmK-qdm8EKjTT&a(_{Mkzo_?#YE;U$G;Yp1faj`09tEa zE;dov>oMaEEe#FyYR_BGlVXWN;M^E-3V0s;_%ZyWTgp|KLHGoRBexoN(DB?pGVu08 zYMzY^D(+Y-L&KHzd2kJpZ=D!t&$Po1w%C*Wgh!OV6uc;A3 zc^+LEcLQTGY|*)zHIdjeEGuzBhRm2>4%n}LXnKs{sS*31f2P6NnWb2hj-A%m*NbG; zku87tu(Y|{`<`}b@t4BWMql_vVcy502>(Z)QuTCr*l$W!(tgaZQg`jv_7hhLKi49& zsZ7-0k;}BNa1^YXq%-lXMXXlx?zMOCJ%M!ssq|b^I36Lc20qI?W=>sAtJx8jJ{VmIT`m0 zj&{fH&H?50&I5z5?u5P_(ZV(qJ6C4ei6RvrIg#OrBqWDY9Z5=p$u>dAtZ=U0m?S=4S~3GIc#m*XT~QzSQsp*7-YOw_D9=)>!@-`E z#yEZ_ZcdgG>4%hetWj=*xhTz8>U3{kSOkTaAI zhqa}p(KD3i+k=zZLcj}qjBL@-Duz(kp}R-Qi$hsIr~_#5H`{r$gPjGdij4x8Zb>R{f_-HZpAr zO=$BlcNL*9=G+bLvVviVwunl9KJZ zGjF+o4{P~M;d_QSH6+YEWG!Wf@+V@r&34gCeI*N>tpp4YXZ@}-fZDVGmX1{g%0ZC?5E68QJUx*Ek&&6{9FNofbFH(${J|-26GH61(_44*H>MH^<*XztkR~ zy9w3C<`j!GTZ96t!VF>0ApG#buX=vfJAz@}q=A&UEDtEX_KxozvI&V@pt+UEK5`!7DCmjhcP zY9M$A9Zdv%YHHik_K=N+B-wQaS+G^8I*+O5s0hBA?M5<$RCUa+@cyd>I4;d^Y;?`N zf|^-uqY~Dyw0Y|fKjg7+S>ctq^Jl+dKzpulm>ZK|A!cz^>&&6`+P@|~xsAnK$zx5E zp?YCv7W&x(I;gLGlrqP;nmG#s)@_xsVk#hn7wwQz1|EWEbq?d!XJCtivMA}wGdfz;r~HUE$h zb;VHnE(DUHnNn1gX5v2A{Zw)gP{Pq?pR--A1G(8_d+>^sl$1Mq|4bGwaA$bv9+uX* zfFb{?I&f3qNs59scILwvk;0aK!lD=PI{w3*m+jv z=&)b-4tLZu)2G!tc!B^4)~R!abeUaoMdFutiDAPByv{bjt^0g9Xc~2Jm=7bEo4~zw~sk0D_lA>W_ z+if2yDJyfNaB;d|Gn%@TP*VkrHHol=fGBndxA5v?ogrcZ(I4dudGyMVFfZ@izMtW! zmX?^Wr*_u{L?!aH%4U9JqS*9aIXZ&8b=POaZlUWHX9Y2f3Ru@FUhUw${bu{}B~^ja zPl274hhH65=D}u4#$!!HMpk)JH%T898^(=U>22-pZOeJJGH3+>s5RQT+|9QiwH`2G zVTnL358tSkJwx=z+7@0qK|emHzWE^9prKqvmXn3M+UHl?788#ad+KRx!?M_P1@ua# zRXvVAUwqEYey&6%)$11+cs{^pz$o*HHtLuWC+bop^Vv-=Lg;pc57|wb!f3SH1Q`I0 z$0$svDuH` zzQ-k?xQ6F5IXRi9C7n|XH)HVm2txNOubM6i^xUSPc#*_`XFml}?+O@ise~b6ZUyZP ze=wLUg9pF50u>)UP^;q$1GRyn*Ph5Dd}8IlJecLQ)qfdSjU#M*0`{>@$m1Goef`I; zI8@zx54(aAZP&*~j&OIga&p{UTrgj(^u`g_JkEeC&mi-7zxE>Cn_9Q~*z*54+TQ%% z(niD?wADwo0xj)go_#3VUr*8S^RaSLr)u~vx~R}~nR&AZIE0tg%BUb z{tE*7KkWTwU(|27#tV-kC`c%!ND0y@jeww}fOO|54MTT>q9ENMUDBOHhk(-E-CZ+u z?+gEH-S;clkM^1;`q9Z>TydVq@jbvHWUWd=_t67%9R){17w`uX*Ib_i;|9iy`r>Yz z1c`bkt)rx(#S@#LdL&W}{hFgk$=cG!)oggjdv9h%oD`M0jqBcNlWx>WIP&#S7gAi% z?T9hDAc^;}{=I`#u)bbydYVl13j!I75JZ202s-sYq}ScMCuIfWshCylXoKzI|Hu;G zO_pNGjK~z`D89>58Rke&HUD4jZ)yeUtV*TyS(dMXFgr7f%`3Qakxu+qa(+&n?lMCI-@g1QyUZLQP=X zK$__*{^wsqasKQ7PqAkW@kA`OuSiDX^TjelX&yKGOG=*Z&2NvxS%KBD+zDs%bABl> zC@`oL7?_%-0q1FSSmAV4ds`cRb$3h4=LPS3_>im44-nZ8KeF$R%MB$F(Wa3RA%0Xm z(EjTApN$o2VI<*p3hgq?MQ3DWkO{a?q&9Nmo^H(PK%q@x=)n3Tm&7NMUf^3>3wK%t z^snJ-1OhQ`HS;4Vh-$G$ca{&>e=r_~kgy4lHQH~o6R85=BL?J#kgwL&#s+9ZK@|Wh z$`te8p}TG2Y6c>Qu^fd4x>xOb2v9btsN@8L^k}_CxkM;AaKnb*3GFrxJ_o#a*qRue znz}gik3>gD7y20p*5dP`Iy$Y*%^Ug$ZvXV4#ZRs%20A)^wkq5S9Ia8Ew^r!S`2pyP zp$W)VfZ_&peGtpE>P)Ht$&H@FH^m1!!Jx$$5!^$t;u^&Y1%S7U-wWCODPj^{4o*%u znC>ab$%1Ap9~>MU%Fcl%kXA0m(PaLH-zoqXBZ>bNR)vGipan3 zAr}*o7?qT?y0!NHy(vQ}gyhND&0Iqr&`_XVpa}@FGIDee96*~Q#)_f+9Rnt_zQ@02 zt7N7D=5lrA04(l$fp1#C{ez+nn9%UosNQH0CQI%DCw9nOP;ej@NQl~uoij9sJ;S>! z=AZ!D93Ud4oU z0kB!4h9XJ0Di=b@r>iUu=~p75-d?~_Un=AgBR|UREw4?o$gl@nl&5Ox0YW2mEG$(v?BUuj`T!J`^ zk6g(OEDU9^(cQ^K75PvhUeCDwl;D=Hyqb9Y(GjcKh+7-*70x0bcs=Ur>jTGvZD@aA zAt3P6@!qJkgqrcj0EOkAWi*2e{SMYOvb|;RAuYxFih#Dv-J)lj*lQ$K&Gd{sFqulmbQ7i zr{X=Ia8NSv>(>Lp6uG;T62-QnhK~%yICuE&?s2=f%LrD1U2~)1o?Z#KH>urqu~xIS zz!+4Vo}K{;4v8d5fH+5vN6c?<@Y2=$-OC@rf#v0;*H7?Az<&R?F-W1Af_pW=;ZE%s z1h%L(U%u>j*VKmH*s`onm{$UZ8esf#QL-}#3N|)`%H6aAv}NZaSU7tZ9+4d0*W2+UBxu2Qn1ChZ?hKyw16#W(Y}?Fq`)6F-_Quw; z)p&Wj_d!v=B5J~oK&cbRk_Er}uB{=z3x{X<8qIrp=+Hn1&Gc&I$Kroog!GWil6oXI80q}W(swA*q z9{~bYqJTp@Nr$Qu4EVI3{Z? zlTqyhR!orB%?!_(eu@0cs1zWg&3x~3F~a)z93Q!{xO}oZO4j!@qee@|5sfB|B=^M zU*cofo?mI-gEHYtQ|WzGeDRScvgH%I#z!udsuu}`>FH9@H0~o!yBTN@I>NhO;N1k3 zl~r|gj1i?&P}0wbnSg9~Oqy4$Ij`wfU*h^x>G{hu^=3|*YOFjQ9~e+n8&8#rkMJ6a zsIR_t6Ep)oiGNOq1D@{QRlAx^rmTRNDwf>83SB@rufT+K3&rp&lwI{;n$(DUGZ_aU z)Mn<`D!2yfm{}qdD4t+cRN9YDbP;1f~Sd-h+f}Ne6DTf3?!L@M z;FhraWe)Wc^gQPt#8W3%%^M)yjr%p|rtzhJ5jk&^up#vcS>u7!hG{w|;3BVx<*hLd z{Tph&3m8Qt@rxHxjO$kmi^E1T#GY0`@^k`jd%x3B%kO&KcPD0OSaFghBqjzMRVY2* zI4rJHMn-aIbeMH7K;|qbP)tqjHd_cBQC!fc_(=tr*W8`lk{1?J^-1n>rS8H0rlYly z!s{SkBCEq9S;(yiK(uX>xCt$(oevmlDx)Ux9Fvsgj&kirQy+0+7z;L%s}>^n0SvK z)Sl&dVbI?aUK@|N*ZprT;O?q^-;{g59>n_8Ds<2ffQB5v^UgHi^FZ$NIqs~C8iF?tTGLjr#+l( zQlj_MLdFe|*zMi18w0AE(o!3c;gB|c{;Wl_$@06e@6p@_kZXXRHb~x7HXTOM# zKbJECnSn{%9@s7&u8Ab1hP2AV--H!xZSxAsgXNx;s*8ea^D5Z6-kin<7<0s1`t|Zl z%ZZqDWw|AEGQvKuWEio5a~4q_8h_pjZkSYq>kx>!r6mpHIiN5DKFoXeJaYpOEmNf1 z)O&LZrR8_rB^NaJ{+$RyF$M?OLdj=`#)i_}?xW0GO;iMf-zl&9W^yuqs+#OrEf;2H zU~EX3+~s+lL1&cj6M+@fKhg-S z=nCKa)JAba#&Z=jkwB@nYW$qd{Sz3R@v}TmX2#3Y{g|$Cb4@qVE~>E~f>|-@$CJPj zWiO;)#Z^#6F)LZtcQ2!y5{6^a_D^LWveoIF;a-u(O@mCMdQp5hB)muTM~6#dhq?2@ zboj_~chFJD`&Kf_I}?P7v?)_Bxc~5jkXiV_x}aI?xlalE6p}wWL7D+}$ zf^VPCyVP8%7V1uC$uRP$jXP}fL_k3aD^Zr~1?0)3g|E`vsY z5K%d7EN^kR3QHv(DY$hcd^fz|s%_n?woKAop_uN0-qWo!iVNw3@5}dol%ZE@CqiaJ z^=@xkN%<=x_x(fVIN73j~bgCMG7BWSq@?ecZR+tBk6< zGd0=G`uq;&O=hFElWPFYh=Sr16of_KOHEDlhL_KLvi{3ly)^=vCL-ZvJ`cub8r zv*dty4{dT4Cm=e<99357T+dBY06Hhn5%WGd_mP>OALfGt&os2Nvvz~E88_6Y4Mlya zJr8c(x7~LVj7PhwF?NTVHTl0_@6r_}?HRPzX`a;{}YkH+pRw zRTi4vw?6?1*%|q(M6N6`u)7lWESIwTGG`RyZa9^i+2=*Q@Q^?7#nRevyuo;_;tp7z zQquhg2vh2LA_4+K)6d~vB{enYa`TR0o3|iG(Xm=SxuuMt_QG_pHqX=NNI@n&JhRkI zw=_wQ;KAYH=6k~_&-aouj94q5?%tV){DAj8k?He_!O>w*FYf^rcVM78#36oTJFy~( zhtKD|MIH#oIPeB^PCEN!fOT#0kpNVe1f>Y2i(_K@#ouv&@h;ha{y5fhrn=H% zTYSqnxAaX-je7tCZ}jzygiP0F|5!hdEh1;a_`&(N?^h&EK3Z=tLpYh%7f0$F<`*r% zf5YmXiIv1E4_x{HJ$h9Ih|qWZ00g%W3rYIm{8PDIS#CPe^|kFx9vUQs$XeR#12#I4 zcD%K>PPtm}_V)hVDk0>7^u9p-?ll55QhQDh7La>IWskagd(1~`ea!9l8(Yn*jtcU4 ztgg{8Nm#r_(%a`7QGj9i!R*9;sg59hOS@687htMZ_rJ6)Ba#JN1Yv8+-(zVi4ZjoJ9*gQy@ZxyW-D&8nmG=eU&faz;P79c=SenYVaMgipg*u|vq-ylWJ7KH9JW3(T#pEs0RF zVvvhaSjeSfhVgGypRuaN!lix-{UPKurw23vj)H<^eP2*qhl9IxlRd4x++7ugg_knB z)xZrVKbem^TMj$DaXTeL^TITp&N9rDBES&30%R`Om?h`y*K`L)(sy$)OGKCF()R3` z_c(6pMCCR7(A1&8JVM0Bz)f-#zT84A7Pk&UYd|0WW%~rEx0%m30?6(nC^%}@nj69` z8`PMfLuH0`TiN)T_dmXB`V?lYs7@0qn^Xtv292tPF96O61lFAU+eLTM(i3`|Ry`F$ zCIMA z)=v}Hk4W6z$DXOw;c!~RsKXtYnVCSUqSfbcO}f55u4Z~udkLCt9TXtvb zdd_tV=4$ZH5ILpOUeiqXt(BFJB*=p&>Rpl?8(|1ZCMJOb+f1p5@aKDGkk_?eA2%=6 z?*tWRe{fme)3t9eL#<`@d3gLR^hoRG=is#`5R}uC0U|dmX?T~djhyCFC!KD!vAvDa zvg`0-ap+vF6w9N>h){CPIzl$<6>!plH{Wo4uOU5=*Px@>+dF|W746}Cf}ls2G2R~+ zmuO-^J>_y{nLnYIZPRu2Q6d_u-aHm_VDXTx_rAWu8J(VaA8cD1v};DXLo+h;ZF$}s znK4Mq_U%k++dC)^ScHGk=~Ce=36?&WiWgNmYIyfI!jNO;B|E#>VtV`Iwf^W~D_Jq% zec|UfJ{y@VzX99Nr$YR4{X;2UY^FyW;b3r0ziv211I%fu#Ezew2rp!e#En3$)jav* zXFbtDZPsci-h%|%5VRoKLRDzBb*@1t?o!W>8QWdgtz&%xMrVL=6RkXZqFR|}wI|33 zX?{#yIS@N+W~@9w`d3jdJI^*>xl;9Z(b(%|vt`mNKs7h~IiB5mM>2bHRl!>mFkb@h@;)Dj&7BWB15@)X+o zyOos0&MuN-FmfrdW!-LUw3OnsfF!Y}AX&G;&@ztC|0sEI|3|S(ZKGDMj*}fDv9#OY zpO^3BP(eo9U!jwIM~7Zl-rAnx_Q>CtC7;P3prIWD@b%x5!m6r^Q<7RYo{hy;Kf~@A zjS7?8^1#UaK$x|4$<@dSX%pOJ5$=qL_!~MO3)^ue6L>U88q@#=5TT~=Ux^)g`S+ST z9yL3E*`2)n3+hWBWqJikg@CnaZz!`nUo~5oZ7$o%2?|Y_n3#AY#PUIQ?7@89t?D#4 zE~I`$REC{eOnJywHO`(+K?!Fi4+MF$tXCb@n^u!?zBc@f8vy-jL&=@@RS)%Hi! z4{*WivAmj`2%Gr4X4Tg^*woaq%>h!+n55Q9?TFAE;k#XG~FDz0k4yk8?t}#F%Ohh8K zwgIMVK8bdNqq3RZaX;h49-!eLySQf18220h`Q|rYPg6C>++qB|>C7f%4@JO!BegHd z?FZi9+TbPD)#Qdtp{q|FAgqJdoexZA(uq<}Hczu%9s?5!jZ}+Fe0_W|&nDN*DCCp< zgHQF%@l9hDCJJ!Mq9SDBFAsNjK6?{my@=YEs-z?&fC+-&WvVwLfTBZm9Vx|3I3*(t z;xZZp%($vIN_J-AzaP)_zZ6Y^mUlF&cP@=?8@iA*5U+G#lM5m{C(t9C66sdMIvVyH z`750EM`{XI2o+`t2o{(k=c=Ia&=<%4y31g2!Xn{)*M%+d(B>9ti36b(w02Wl(m; z?U;AT?$@$%;62=r3xDOe4!ejh+XBNa-~HFRp8#>InA{NMx zf!)aC+H>Y2)XSpq`&ITOA3wj6q!L*D5ES;X^QP58rAkFC6&<*{mHXFK3^T2@Wnp$vnP99*_1f5Ink#O-OVk0 zbD((WOaxM$K+@ocH)w^5hL=37u*M(J9Km6*=s_!TM%$X}&9iR7{MvQ4$Nx1+Ce#Fll zTiZVSi;a<@5X@NHj**%4!5n(8Ti(@$w$EG_o(o&Muk@?~#1GFd#BQN${v(stD^yB$ z`m&RBP!x0L1kmRDQCxeEmz&#h<*)wU3_5=H^Epyp`?Vg^-8nPH)zFb5)%-+r5NyT+ zS?N2(Y&NUB=ZXI8%JoYX$EqFYLcjBBjiJ{K(MjH=&r z8-M9*1bidVIX44o8i2V%#I+R(5U87imy_RY6lHU8RkDn-(uFvtUsmS#_Sg=NE}07- zcG?wR)vlf4;BhfT>vys%v^a@AZFJ8+iJsq!Gt9hR=^UPQJCdC*ax<+c(K}xP24(=# z0*p`k*5x0Es76LaI29m2qN7bRGAT(%?YivuY=enEF7=;~q!P2ysnSJ0`2W@dIwNU) z1)K-Gnm@U4G`#s^9~ze7pQ=D?OB~vDW2No+PJXd9ra9d*sAV~STh4C{JaJdwz{y9&N&azCR#v$O zM?rCusG+I(w_SXl67tw6Mm1B{l!i<(IZ4oihKkDmIB%6ma9gAHsKQjq)qX#3{AT)u z^u1Hc2!)6UIk(BrmTlKTf~*O}7UH*W|ZR+N@LeQYTf5JYrcy0@_r&FDqHv_`Y~ zZ9{}n8iwNZ=At-XADoCRqqWAQi*x%OJThx)riHwGCquR3u1SGG`C{FqgnMegb~fjm zQgo#O+C4IhSy)&Yj2tJ9bwSdre%QB@nRe@GA`d&^I6I@|b1WCwWd!O}*+zZZw{!vmJeLd_X5#8 z!6a-mLqo_=l!w5&JXQ&d6;(0AwH(O_Kl?*TN$I#dIb39+^|V7S>E?8y1tkfzUe;gn zSWRi)MqdD_bJvauZdlF0Kp1jP`x|EJ!VjSWh49ZOCn2h1+_<*X6oP`>++CCHy$36D z_6~D~$3=ybr)6+hc`z_$0~z4GO2srS%c}qGn)Q z`h@tI({WdHjHf3h_k-0C`nIlbux~z3rF3oaN9ewCj*L4Ztf~G2R&tj z>d11&SJHM2l$0|wpqufBySr%E(ZRsrXSvPmrf&elxAmSVhaG5Is2vionV}U^Bi$lAb}Sr0E&>;4O;XO62IwGn1nZy2Qd3Hxd69~}&A%fr{HR0jl zBCu*VVu+S%Y*ZWZ9L6?G`uDZW+n~DqU~#+gp;Oehg!ZSQwEf2@28y}47Rlr*`h<-w z?G7Dq7E4#$AcRCiZ6im+2sxwLsR|dn&7sWIRc~)CPfzBn_@=D7hP@{n^#=!Zo|{PO z-7S#f1sly{&Z~=M(Y-S0c`osHq)E}!(-Z72!xjAm-X=ZBS1;9TdEXK}%+Ly2&vp(D z1Xcq?WHR?5sRzIv{&d|!Ns(lES&woglr%}Zx@X86APsXmtPv`r8iQ7EUW8wMRHJ?C zXlo0c<&j^W4evD8dQrSexX1pSg6{onXZ#Dn8@$d zH=Z34B~)Ku|GTvnl>D9$5K!x$TFQga&*(NS3k4py5H`t^`H$M#SHL(R6)V-?@l^m_ z)!n^by-2fit5N7=zSe<}j?M%mORKo&8#r>JL%fA0uNr`Khmh@+Sj6w&GjA2LqW{Wu;R|Sr1}_n3Yi_oq?O1Pb>py<|@m|2-mmmNIN&oT7xD=Az@DE zp5zOdxuaXu(lI9+gR|}JVwRHf)b7{ELBQ#Z6N(Fb3)VJ{oz@ah6BwP{Vo%)HVw!*v zGzSW|EM01+PJO)y*e@6;!Q!uO>hnO%6P`+hzkw-zdR%2qZjFDge|pwS+}W@QCTeP0 z|DW+WivAC1YJYc4iLbEfAEW3nXNK6xN+v0CrqsQF*zTS``1B4P2q!Sm!zDRQBSyBU zf;E3}K2=m4`VjCL`7Kw&47>a_yyUgC{)`!w4l{wW8p^vp{Iff8$h#KYmR5n_@8892 zU(9~U3NtrK4>r6FM}GNTr%7z{I5q#?ODFKo5IV67&h*4CgL|>$1k*4>7!~cioi`TK>$9n%3EmWnYYNO4=#l=(kDjrF7&)Eeqivi75L(|`{ zGCDdqGxK|t)xWuvjtT4tDPR4@Q%2B4_@8m^tnBESnlcNLNJDgW0hDOzTP%YD!Lz$) zJPQlMSDvRpyZFn!xem0MAQ-3!3SKIziLS0%Pl28i=zC?K{W)1FMPeQlygN1OfdDlv ztq^7dH0X0bB$;}SP*{Zg2mDc|^S>YIY}qC;-O*tUgAoI)O64Z@l_C=pXN- zL(PZb+}A4UnbDOGAaNk3MM|0apIqobPx^5)17cJ4zV}D4iO3J;c~*hgXSyR58AxpH zdZ{o-O9NUuyP>IJ($5^qyU}Xld-kA7Pw%-X#!ICoX5q*-Ds}K|ka_Swdfe1UlP|1+ zmYnk5z~Y|n$Ge5mfpDiPWUX8f{57asU1Tv3mDPj2D~F=%|45>2|pO z9E4_s1_VSPBSC|sJ%B*)YT+6bp`>b}PceJAn!&T_%(2Om&b_F3a&;ZKY1 z-5r|1^?9#;%c*+mmoGu$(g@Bl0YlX3$q5Kr&6tkOBp z<#3IFQB}LzI&JUd=H^B^hN-lqfIIc8<6(4rV3A&+Pm3%hJd{m znB=#{8bT*NcBR3_E$ufZWPWWk!AZEyR{-&nDr2g|W*8JnINVgf1%u8UU=%>%YytvT z&0j>8w439(wtp4uOv9Vh_MLtu;$;(5SzgK%3q51ezSGP#FtcjcSGb=`HT=nxj`d=* z35dES6Lfc8>mh3R!vz};CBJRzaeR79H<-EJmjnodxxU&Z4DyMDAwKTAUYB(~wA^+e8eE#@lJD>DAFj57&kp zS4J0&6?GJU=_;e+E;KCNK^P`>BWEN#CyNJqj6ihOw$oe?s0Z=CU^Uc zn0S40QK3fhJ40imZ5=dl445UuWBsr$7nZ|YGkY5SDz|S>oBS2mD(ZkmS_Yt&7r%-D z>e$H%3#*VDFir6D6F2Ap@$^A2PdV@(y*=+{b-ZeXwf#_-%3e{XC$}3fdQ0xfDQq?0 z9eY(+Q1DAYK0i{lKa}Xu2K0@+E=*hen{Ek%aYV?)#UxI5dEU*f#iqmt7K7VcWd2hA z(rdpjsTqTyzFn>a2&FBi8#StevQK_yWo6y0_XX}d&dJ&J^roz30cRA9v$Ke$2qX!4?3ccsy;Xzc2`s3=g0F!&&mz=%5`6g(lA{HrM1&AnPR4ZcAtjM{F zqI(Kdqbf`lR`Yj?anKrtUEFyGz-=o$C)5goJdslJy^oh!xbgS{=TZC^}JIH&}q>wGI3 z7?7W3o^Ci^+nJOT_Y9a|`U<(|tS)wOu1d4bC)v}50Zhbrp`^jp@fpsp8GNt7*W>6j$VMHungkB%-6o53gPrV_ zmX;|k5sMp)k`P(Zsr6zo?iGb+5 zIm~LLln+h%xBS^Z-T5;&9(BJG=@fp8ketkZ5jh>nK`i?1`};-39QL25Jln0+nwprn zs<(}EbO3#X_L zvDb^;t(DG5u}YAD7G!MYd9cvJzb`-vwFWm&qsOJ7=aqVwaSbu5%)g=CE-X->ek*o# zaz@%5SpKI>p)!58-GEXRa&6!qnN=)%W}g_PN%nDLs&KqM#WP1GU-cqbOj6!}gFL0{ zm3YXx%jytQF()C>JJGVo>$ftuBjK;SPRL)Y7u#$O5lpRuwj6+qD`X7T^B=qo9}s-O zy|mvXM|OUg16%>OP8X=C4`GiJejj`$2jyjnIP~;L^~s>MMpK6+>xDUpl070Ow28qTZ==)ZhciPxAKQlETBN^Qo6?0Fq34e z#Pj&zX@=))m84YNS9@gCredEz`DFU{!`azDAS-e03$@EMW^88GI%_zTodgF`T7*HwCz$hpRMe2D@PwiGcG#S2Uxd zCaSu@jpOc=|7rjMBlz>UCyrxj+xuRw2fsl_SZeCa-4Giao0F51^QYc+9<#+P|Ly=} zl7cVm+@tEa>tK|!DG(RrI=GYx>ae677t1X^^U=g&8pXD&QX=!jV++x)015gu7YT-C zAG9V~p>3TOwK_M$lr7{}5>&CcQZ2P>hV&o9=>b0{c?K#>BMG`wFrQrC_`RXzcIW2}!S#z&R3X$I8t(IOq#Y5+BGUe1^5XICv0L`N6_eNzRq zUiT`aXSkiYtHPiHU@~t`1ARX>8Q)M|W=aQ#-Z2>Z2*D-4r&F0H=i369dSy%7+lA9x zb6etM_nDUv2z|d5*G=I3Y!|6}4_Y^%-=dnUtg5Pdd*e1%SD&U>eh;YuL8y@JCN|#J z24Zjp>#e}Fs6cp5c*PixTQ`h07e?pGh=r5 zTYfC}xO9ZUV6zQ+dU|dB7eJD(c+)LLMRT{-NKIX3!GW<_k5UWX7&%vfU>wOfpav7) z7u*L&8z2XrFUC3AMNTI{(qt|kUft_hL{h0%nFv^U1E$d2&isvHRm8gfTpke($=O8yf}FC)6{7m!4`t){ zbew)6z+ke4RWM3=f42S{hLjGhHCYzN0=^uVqY1<-ztcdBlAI4t+f#2^_a}?RU@o60 zN^tI@_*~#Tuhzd*ZCLCj3TY%EJ0j&Wp3Xuipd3Ab^wFGrc<{6_>9CKY@B>8m)mC#~@OE z@h)_m`@#aE2D2yIjtX5d-Ayi3H@i!1e!L5%8GnzG%bZG{t;$Q@10w|7Ze5ms_Q}SP z7RWCbPR!h#EMMOk%mCEs%%mszPySmOx4#@xFxe1k_|vmjw!FQ~NOZK8V1a4%G8?)$ zEO$%G5T`RN&g}8lVkp2_uxfv z7Qn3{b<>{u{!7N9gi8GgmEHS*IYFk>N(j-oIa|65-~Ikwr#J`}#ZP$eAg zHn-Hylp0fdx2?kE;DI=QP!qt2NyL{El$~9r%4Akzx8}}Dh)p_E3|A8sjVeDJ)@s+T zwa?XU$X*r$UZ93;fqZwb-AW@pmvdya&qFNy&GF{5EyS{* z2HbNQWZlfUA7ZJg#U2s=BEPSbEnC>p(UIA$YQH}x*2VGcnei;2^#w7j2bYDouShBf z|3XCjW7%YZ2J1n+QtM5m;q04ys4B`s?46nO&UYxY7$w$68-u39$=FD%;jG}o!d;=; zt5>o(9=F%00L)@Om@YQU`IwL?EJ*a!;}vU0D*E02r~~?^_KWeUr49gku_#7bF4tBz z{a8NT8I^-8d;?QOS#$;+3B6!)%3wGYKJ0mp`)X5hn1~lJV?qn#`3PJTgw=&vi7pJvp84*C;o#C^zZ_ebIhN zp4jNIq~dDk8nZ<-d0jDG?Pxjhl`4!aLu|z5YBTH zb#U;cR71JFx2I=?5HW8%zV}uvpj!6Qtjv9RCboHq6KQKi@Cl&=uI!&aK0cL|$6z2W z1q*w?p$9a^Q^8S{RsqWuDg^WTa_S}4y3@!wVDhk z2%HDrvlVv!-&z3JOn_-yyVl^dfr0Y4y+ z>S|x^EK7vW1PIDVP$tRV*e*RJ$38utMXnKBXlrX@)?dVfJqWM0d@&mpl`{M{(_1&J zlKPkP&D`Y>f$Qx!5URuk)~3bRJCo&L(;3A|Mo8Zv;^!!9I_LqGO%fp_EYCoa(5=aD zV`zcSVYvYL&yT;t4ZGEn1&?FT)_>@NWZ=VZa)0Y;YRs${9oGA1n?h2mUA9jy$uXZ5 zQ)=?r@07WpN3bVnI_*v|+a80EU>BrP~5Yar7Ca>IO z)CU>({sY&ImCuWn#+h2rSQa2v*QUHJP;J2Tckbdbb+%o*f4#$kHf~p1L)kgAli4ySh-1e z_SS>DQBtXC`7gG#>9{Tb8~&#AHR6<@YvpfdyWWRDy-P()o3EV5bSs8HM+cRM7q^?n zP}z%_cc|4s(poz?VU5a5L9sYfb7%$MXSZD`Nli`VFunp2^k5ye4ua(0xNKE?xIsrC zfRPp0_z1*4*m$lCW=IT4f0mAC;;D-iXL|7P;dYf*tT;o|fAuPCTOO9Fo*wh-TBwnS zkQ-vja5MDf{mw876p4`MS)>W^nSf5dCDYD?hc2TFvXHkYN^_muEyjx?XO@<=M05xC z=m?Ga5_K~JrU090;2K>P4cpPx-YgZ>h@(4ct5<{$u*z-n^<}=A*JXSEduwWvj z|EB^}7y{`gN){Q5M~b0S<;tD7)F9Q6hHPrd%#oq_`r>4);l75NUb?1}<_;iv$z5-4 z1IJ>KZlz*l$avS3<~Q+OG;okMhp3O|FK3;Ej&>#+3_3@&nu@gG@7r|4gDuR>8IeX>>CG~u0-rA2aWssAT)WzNGrLBp z!t}7#xnsIJV^Xa8`sz^fPC{#Vh~{*f{x{@yv_WG2{LskF`PW!xYilcy`3$Gi9*&|a zx78e|qSQ(axD|V}(>uoU4)Q>}a$~_j1`T~PoT%U&xjE(*Nku-qG;4$BL9nGK;6=sF>#G&%P z>%e(G3;e;j{MQ5Nny;F`ZH4}*8b~X-!hy-=08}vME2aO&bHR*m<*`Gs!F?Uie*U=O z6TZ#Oy9IvsKb9ODgH_*|()|@^iF}s&vH!4CfLds9{UM@|CdGpOLwbzo`OrDZF0S>ml&Ku6 zP0@S7+jJ+wtdfskqa%KW)Y&ngbk($#$jfL4(Xgnx8yj&uE`3&Ln{8CY(kkwX$jyBK zmJO+p2D(i(sfKa3O&)R=w^$*&wF2dm`i5@le!0d63oGBw4)7kPUxjApjMnZhX+st5 zzd7d!`{=WzuvJz#=G+8GqX;R%i2v2wKNVsvE~{>|h;6@5I_Xam2(y6lH6qp@~rNg8Dzgd%`gIXHMoT0VFP zdFS~gMK6Q0_1q3!fEAEEK$ImGK(_e%_x34Iy8y8So$hviu97C)^KJH}uisl+pb6pP z8eP+!g2};YLkM^^J5Yt=4V0&;o};8g}=6A@VN)4w9ZMLhpIu zMjp1?^Q-Q}#4Kpxgtzpm>U9qGB}{-o@J)f`{_^9SBTstk$`4q>O5qXhaPs#l#b z2)0lakA{Uwqq$pgm#&AzMwK$rWubw*R64`eneN>WVr4yN5R`u0EvoVrl>47pJ&hq$ zjR-e-(xC*ARc)7m^3t#RY&_0xYbmd>S*9tpSCdQT1EmIX;t4@^cH~mKGyp1V)f=?8 zNe)}iJPJ$w0AepYwXLxs&31;LEpw%M=IcW5JE!F;qZ_S>*LheaW8;%MbBJYxBi{$m zNRrGH2@`Za|Kr71>Ux|9>TpSKjXmErgIYQaIK0PlbuvEtxB^NUh|`Nq{c!lKhjmT2 z0I4=wCXG!ToL8Wy0h94g-nY4R9tE*IP4DQ0uAIlsvu zWl$z~OvcO?P`vcna-WKoS0y)c+h@IFggynJiC}YA?I;(gH4c}u>#|k=|1e+cp;jmx z&u>)1;yi2#b_oe%FgxyldS_eqhy4(eIQ+>R_hchE zO6yd$U#6Pe#5qCH>ex0%dHLdNu4L(;-e`^4Ec>i4+OGQHS&EOZQ^m;v)8OSR6k-wq zdxMp~%N6+q_1ysT=yV)^TssY_feOJ}qiw=cQc}vwQ605Hy;>`v&Rm#x=lTN0nS7PQ zTs3&egG>+twgrm%-7)l+ef)olQT%*;qfU#M?m@gOaP*0afW%E)OdOuk<^yQ1LNUQ_9c`r`$Bc$PDv++C%_{VFrHPByh+Mn54RM56sK07-Tyhiiq z(S}osRRl9@)`L_aV|1x#FQT7dM)6iPx~HBo_yd!K?4;yJLS1lh;RDF6e_$ZiW4Dd1 zEta8TN6HNWv;_gIFMUWOvA)JiyjNuTugKcb<{1=kxwg~E)~Zh8&(u5HMt%=chdzuY z<+WD7N@z+HcuU92)d^BqNqL<`nMmF`3ePPpq_uLHap8wH-3q?ZTbW3HTWc{{0g8^g zr-!D)w;KywZpKB6k|D^euJStgY!8^T*B2hqFe1i*-*` zSQ0#a3i58N4K};LTzIqGOu@*=cx$)53LG5Rq!)JGG0^tk%OxeCsM8&rQh(t`j+v{F z5&uA}_UV%n5I|RE*mblws|5zOa}js*QDW3WYBPT1s7D{m-s0y_efY|@dTKKH zTaIZYS1G?UKlnpa0QC@{Z3+b*C6Gsc0%ItOy)>UK8i?w&wYHa)joF)j>}oBFfh=*;vm9#s>%A>o(ZD`qbW~vOQMxq(!}e+iYava`Mn|cMhxxRdK_f z-f_NAJKsH3AIe2Zh@Z;8%Y+&6H*?U|E}(lrO$(y}!?KbRhqSb`-D7DE4m%|dJ8(|U zyB@Xr^EkQi%8_4Kbg2d)g(y~W`1cunc{YY>8bGRqqe`Ld#Z|dYdmuq1O36k@akj_i z(h^hVEZ_P2j#g0pg_})kM@DfPY`k`P=8^`y3%K~E%YU#|yJ9xSLysPV)^A#H8}jQJ zgWv-g=L^K7T1M$d$;iY+Ce{zPy`)K#<45^?-87q;?9ro#&E2fsCg zw8pO1cPpsnw;K&%3SCW#x+o>tvHo!`0e=Rnqkbl+9kCoW@Y)4M5g_)f=$9>=iD!=( z&(4%_ab^jvtXL6T6z{p*+kVm%b7Nv+#0V^zd@1fAIV~qE=s{*MKKevtc)+mZ=@U&8yr=q@-C3@7XDE|4Z z33YdCSR93GZbu+m>7TOPCDlI|L;K1hK!KL_H5<<2TSrJe z_6=vboqfUFYvjBT^|DRg>^E=%AqR@=@(*Iz86IUf$*N09mmvMtE3zw?`Iri zcJt0qJ-7z~pc7F$-{#zA>8E^EOY0x3!_4&dX$;< zrPhvz8=TFY7HIC^t?Hvbve%L;8WE|xawDYT{(Pd(pfXQC+~J_ZN2!TiWDT**R2%AV zP&~;fjtV|X_&cw?+~Wn?Ti6*ie0LCkPVdh^5AQKI7YpOAER6*3cc9n}z8ia2t77eQ zrnd>-j=8&$#4jJC#0_4{^j9@VKii2U30pKMhc?G6s>%#zSN4z-76N=XUbSrROXATRkbM~tvyzuHYbN`)9Sc_v(Mz}l3}cQ8t@@c@?A z3W^8=pXvS4fR{qmS8lVv=TQzqU_UmnY`ftf0t<+yAr1KM7N=L`_Iv3|R$q z#b^$r_H}l~01un#_r0JK7(3YH4{&Q53anw^h`xU0c;&vG;0Kt*R0$W@{4>#E#XPF>3@d zV$~M0gBbU#{r&De_n!Ojy^eFfNb;HQ`Fg+JB44X3Qc^HdfIuKhrB^StK%mROkL0}9 z$bg52rHUH}^e;&1<#QdM^o{AOK058V&TVAiu>Y%quwN=GjckoKvcLVu%1y@oMw9ww zd+9aNOSw6$jj!Tx{^0L&604r1CYn+2KDGbIIPQ!SIs*^-d!a(8tw+gbXUn~s`48Kb zLCVi8EMEBJao+|e3>kXP_Yd#{&4RAATs%SH-xB^j56$$V*+qES#W=^ze?j}KS7q~F zKN_)zLm-fvn%IXBC1Mol=EXY?Sqz}i>(|RSH#7VB_?R z(&XEpwfgp2?*^Z>J&1G_O@~NpQir(#=1N*UR&sVR?bawcR8&=jA+&P7Uj}~i!Vh@T;P)W7}nL_-J zo<3n^ZCKIf)-9%GU}&}-1j~Jr;yR^)VI;t~56sf_O29O=&4Pl0@!IhwCQ|_c4U0Qk z`Y!Asa;n_6wp@DNNi1qKjq0Cdv}Kr$ddd?!0`9)m$!V^IZjC8qWMt&$f{^uDdNYsU z(e}Hmxxszy?RDTRoLGGPrsYnx(`0+^1Gy_o?A8;NMfW8=OK6$jviPp%X=>-IHckhG z{%~1Pu+Y-d3J7?iH59|G3&X&S^Z^O?iFnA#IRKR;4dtm+m!_qWzP%4E)<^Iqa$GW> zeP8*uRbjg+XxiQgUl|a_%^$;jw9~_OLp3_8{#UtnO$^i7J>eDCqBr+tDhpb=c;1;Z z(9PD&1j!wbE%g~aJ!>R_eOFL~px&9lg?;_3;Gh&+VaM@?XHxXkja#eBIqKYr#D#%I z%Jnf$cFz6P;pM~f1xar_EuA9+0|S_!aD|d_#j~!i9)+u50fD{=_w@H4okR~f=pb+f z-ZS66eXHE794=5FfRc8#H7JWT8x^QIqh9m_hjEKV{NDZhcmiRpLLQc{mZr@933OBH zYkYisJ4x15+%e5O&3NNrb6V{8>fHYNsV-V7cH5e-s(5#Qxtlmrj zH#v=z1ub;MM7`MxXR)qynlubpR%Eu*FVd2qH1|^9EPFekk+S8yXmn~JCntx;1N%oR z>=)M2z0V7r8Y89J%P>T6P{}#y zI-v9qDl8T&zJ8s3Pkt3ITNb>ZiixH2Y4BVhWrSPL{k+VgdR!La@O=zUde=80ve=Ud z9<4MOIdZ?j!0STXD%7;_d`I>q#D95tSuFU>Y)p!w5ajKX>+l{edoG2D0Hvp=pDgNY zPgFW_O;|Zs#3(9uMi4(yuIa)J<+-&m+=p{G-Ecm;o<@?~Yw13OVbWk; zPf$(FXXXt3_k@Wm|IRP><#XhF=snjliD=6V39pGpefN{>bxX?qeo;3EN-8)z0rJT{ z>~-;rW~*77|J^(@2&HaZ>?b*8XKh2L{RP3y2%J*Y9-RN_Zg?y+0k;+0;l?` znzu7|RSpkOEC`cEJ~|j6E|)G{sdh5lK7maa#!PL7{(B0!K4FxhJSCS~V%a85>4o*wJiaF2&2+ zH!z@IPiUhO3_kVLoKYk>9q(#z5wI$h{ANu)N8O8@S&Wa#T!yXtWR4COM4cw=g&9d) z87L2IwbOcMR)9U~(s81GN4li99&NZ%GjL}=64TS&W@m%88PeDkV*#xXo^5#^!zjuq z;+Ak&cRtq|u92C}Q{mbkMaP1lB(g-)XUm+-N5ny)ca_jei#@t;8hpwjkWow`=;pT( z+h5;siz+rZZsID)($8<(em9vM4byjb_YU@-f)nnUqP!Xpp%&q{oNj#P#J%Fy7geo~ z(U3VcZrGSUJ7rFcQZhC!iA8`h+`53uAjEnz#A<8?aMdVd<8+f^y`miwA-eti>MOug zQ}JuI{7VRG3UaF}@!MbPN#cc>z>@UVN2*lxx9eefxFDN!1cJcBAM5JwKDO#cbx-Pb zmAyz&8xU1Z<=l$(Xmpvgc>jZp2vRx!@WcG%ES$xEe`9k=Z>x!#`emAM9iAq3XNKIk z;pfk88KFHwB3#cs=Tpr3DBOW%b-F;~#fcf}=|hgTf&!a}Y}Yr~ifW!LUG6HlW~s67 zg)Y3en*1%UpUh)lt#OM{%60ybl1c1f1-CGt7tN`DkAOiEGx#w@@0I~Uv^x86#LUdR zJfL_t=2NK&N{K!H5_ws>1@$6zqbXPr`dDu}R{m!9?|GX`Zh2ZogSM51F{&I8kW>nV z<4@x@>6RipyXF2&q_?}fJHoWF+M6K5g@`Cd`OL+`d7p}lV@geWMl*%&+?16kRtDK9 z0!j~&i&J&Gb9CU02l92}laq?v0`^rCIC|No$1a_SJ6uMk>9&te8=eYD!e02a56F;m zU2{09)<+JukJeM2qTADxQj=0rW(j5r7a9V(eEG7kuWzYgmHoI-YkEe;r<=ZpMLLmL zq=8InnCn8mca=^wJ#R&Y;27MjK&uEavV%w)gdqEockb=$E%W-BiHW?~i0J6F@PeAI zdWt&Z@4cjwh9`~!(dOxi(73N(AKj{}uTS{JmKhSBf~Q7lYBI30{)|rH;27sj7T#uQ zGJa6wy=!(7@Vjf!Cev5u+)`5_Q{15%e%hXFHrdI>$~uZL;yT+)+3E9+4mJ}cEw8?R z|Grud@RMS9ZpOuVik{UOSk40L$L%pMO7YwYlO|f_V1jz^ zdHjT+vW|C}s1tm6l~L68iA5U{ZdjFYR)s|__d!wSYhq@jh12TA3JqVny^zwdiuulGHC=7s_-Si6u9UXC*!BVqEB--?yJiL z%^&^@yHQb5;W&M~zfRo5bhft2)tgylBXIbcnrI1j#9`YNvP$`(xV8)7BhYE)V}NYpWse3yk6$Wwo*XSNRaSa% zA%^^Ao;>-s)mUMQGrd1ibDe@Bo>_Qxb)JgG8_+WlanR(l`RY=momjlHWo`kgzW&M; z9HH4ACkNuI&UWZmd;a{pdVl}Hb2;aZ$e0-(3JKH$GCw9 zy%;sMx9$eR8La-My_25uFJ}-beK+IQw`&g`{J6*zq;p>Z_7aqr^(Y`|n_qkBM_oD0 zhpa53sZJvBm2KUL_pV_dJw!>l!E1kKRZTJJ%(S5OS1t^7!mZorWts8NTfBy-L8YIg z`@r|m2b%B}XIlE;fz`WrIaY#DAV<6ej178L&ix5gGPW)cqTj|O1*s{#bG9Dchu9GL z4Ffh>evH&!;>=-hwS6P%onUGWAI?=iRV>bu2sj#`BNZ!rd^u9Wh^=*ewy0OHlLM|R zYx(vyCBWls;{Rd+xGYY^GZky(DsxnRl$a?C&omDN zosb5*aqVV2+7haS9{$u^>5s3!2W>YOC`kS6hb~U&Nt4zRdMveNtfN}Pw@((@AoxLw z8!EMj&A-8z!^MY>Yl_|TpS$dxRhHu)n=&NmQ0r@DmFJLQd{V5Z1H*)6WqT|KojRdg zo)5HfPT3CEhw1EO`UmZ;VS?K_*ge+9&(xQ|GvzQvMCaz@SZgp4wN6eJC{a04XYKBu1Prsb6y&X8QcwKIWoZ@JJVU}-tW_wPrJK~Wt9*|$;8m`B!3E*L zaEBUh;_=o)cY8h^`}v6{b1m3OC4ZgE*U)ByrCJR%A9ys!5p)YNQq%3Hl~bwTy{lqNYuM{%I=TuZZhSZgOvxXFqa_rLMq@1nm8r;b&>mEi zoHPC)db>$m;ab$Pbg?BNpO+{2Xunv?=Cz8mpzbHk!#Z2Py%IB|)@ysiFUbg4bMx|2 z3}=5v43~aK;N&*Xd&5UR_8wiI#DNkr%U?w!ir+f!LZca%)!4r@}>X(7f`E*20%lH=gf=6J-; zuEag96%URea5cd_k~afs9>=LqOEm`*M8^}_bjrFqC!mdCI!qGIDqsTD%vA4I^EZE3zWor<^so@}!T2}T8fGw(Rag{CJDjEZaz6U2xlU}*G z`J<(}NKY7jqn~F_@a`_gVT_*7IAFf5$YBhDs;kG87&K~kdO1y2CtaN0x7xb;I)lea zzjI%*m<1Q<+@9%c9aag@SlyiV2Z=&e0Rwe1YH2K^-QTIWRIDY*(?~wWf3H5jMkT%Fauha>(ubK-RBbMB>T`U$AkU~r^J&Ctt{UAXba)e;=VQS@3lJRI+s18SMo+^KFns9#jwsE?h{-I1{;a3og7i~ zH@Ph+R2afbweofrdyN#~QNGk$g{;I29(5lB~qUz_q=*U@$>>j;@Vs!pOv% zZ-_8kkcINuu857*2-~qj7&m%t{d&87{Cj~Y>A7K^m6Vh!v4ysId4=%gIGgo)w*1uRz z(WTV1v~cA-y&}x{QPVGLB--}L9kq_$&mNkj#+p5z(=?D{xnUdO#n66=gJyWB{c(ZK zn$~S366tC6^E6$0TCP}ew2+BwKs-mKTho@7^@D`(k)p7_f|j@edyyx^u=#Y)(EL@% zD7J^Yr}CAaJ_`|-b4-{l<2*iOm;X{8=K$Sk^FU%*=^!$VsAy1wJ%)u}N>=sYJj{(+ zTg(Z^-DE^`&d6=Ba6DGwZ+YvIAKMcq;d$eimVu5Iq=m=+40!2V6H%$cMlLd8ZSg@$bGGN%z!V(l5f5khEo(wSIoj>Jz`NZeOSRps7^%ZJ&s> znI1}iv>-!dIg?BO!LuUI!~{d=l*z~WVv&)zZ!`B(^(N|q2u(9Y<46@4G}ED+c9P(h zr#vU(F#6PW{x>f0YO1iaEt4^+vt!EGWPlk+kIzob7mH;r-YrOY*pl9yH&tI}ovU%g zZmbq$-LCW4JTa3=7e2csyLr5SXWO*SP2NcVRbV2c%*4>&#DGUNv~*hss+btFQYLHzAvE@|1lCiNhKNCry@NXv+#p z`d7^_rt9OlG3QbiFt^3-d1>~2Ld;lq5+yRvto%z?hd+_|DFDf=K_E8J; z_SOyIyQ&m1SbG6@2cD zL$)WRIAf|`LfQ8Wj2$a4!ijGlwM0;f4tKA$yO*Bz7fr;zsLr)r1STj!hV5*m7)@`I zpPP`zD+n{TF7LMFhGM?rxzQqmoK>1bi)$r!j52o>2 zS6LPs4kDE^CZPF}^}~MsQ(+Prn~|KyfW@a5Q2U7E%V0664#2PkJ8ldYbjIiLw3`!5 zrE_n8!`KIB9!-DAKn-NZNcim?4!+|A&_?3qJo^GJpep!W#=EKiDoarPA<-&Zv(XS^ z^GSw1xrdybtUq14#$^zEoB7f|?;rdvz|7&u%U(c<>A3XXhoKxf@mcj2r!xJ_R@DQ3 z57@b$7wIUu<*9Pe%#GQK8Z2H3)3VYnT;#Sf`SR$djbSfi-l%2OlA#WxuW1+EW%CTp z0-@iGl;W$_Ii}xrx~c@j*1k012r5Zt08*jdd2mEtrk+f^`BtA{`9#S7V1yc-#6?@}Sdr zt<}#qD%s=1-D0f3kO(yf$9;~UvQ7LQ0PX zjzJP6DKRYx3gH?8C&}}!()wDnnDzk(5>QWTmMNt7IaEk^}IbqtlhE|4rz$`{qp z2Q6_6dy$zOq~@3N!!fRBv7+~0M*n|85@~eyoOP^<62!=lgrG^B*X;o0(FpJ{JyKKK5T7i%|bAZ>b?Xk1l{rFuF39_d*nyJ zFLWoeUFhgx%Xf=@z?t*Dw$Xb;%m3xh*;y|7UB?%gF0%ew8?L$+df?_8Y9=1}v5wL!ughw4q9_+kwg zpOG^Ww>qsh(<-f^xSkO=C9Y)jLu5p&HAFz)rn_Iz+G^3-(mL-UXF(gMWuDcVdxhHZ zy&Ul|+isCHK-mO`oge1r<*m4R^uOIVF)`UZNmD&q8%|be23*GC`d~S$=NODZ{4^X4 z0IJ9>)i^f*k>+MRB~4oh6^p`+cul3iU9-EC|1$GO;Z4rvhv5)S=P^2HVkBCyu>8UuhZcC z*JH*yE1iaq*D&hY<8K{jiZ1n2VP;aIAu0=F| zot}{jO?P1v7m!g*zN?cH=(8Z>ZOYZi!vQHWiVadyLNkrRw+;^CLvBM-QeF!*ME!LT zhx*CSZftHk$KAiOWL>ai%~|JPSBEOhs8Y^*k(magxjXJyo~o(`8MGH%mZp7E`jv~$ zK2%fCp@bu}-?BFeDnbE!5&xL}-4}zbykV;%(O7fQ$ZG-a43D>+t0NvhPVV)C>gJWD z#!x^sZA1&L;!XLu;J#F3{X>h^kE;4Hl8r0t%lt`+QIkds9L9})_>om185tQsD*smH z@1dJ1TYOa>9e*y-`d=&{kr{X9>DQDPuyU0_zYe0nUK3S}=&%&#x=8_j)o2aDu%cf= z$1FtdJk0o6JZ2bkCHjYXQqOcEMNC%@cbEa~7oHlwADyy?rOY+{;m%X944daPkXU1s zSBw(P%>I634(IkC9okj!z&B(gPT-<^uJ)DXNM>$!V?>sq(R1G^?a`yisn$hJ#>Q`*|umy7+Y$9mRGWpe4hP5)Bhozl)-E z*Hk^7VE*i8U~r=HpJW2`nk;J9;$4iw!uoo09y}QaFZ?RX1um&k_C4=<2vbe+)<76@ zY4`MT*QwIJ7jcW8z+yM__%%(;;GVml?mUsCpg&dqGOi_*lYE4yx3{;KSO3U?UYHjb z80+Cz`M7el+6bg!}waAkfKJ zEuQ{jq}hM}G8I7KfACij=;RnxlOaBy z{|8#mf5_-w!G19ZXp=2Zr^JIxDU$ORv_fc?>UgY}z^J7zTtdGKHM4Htz&+G|#CCk^ zmJ{~*pDoWeJ?aNJj;?#D-r+TPe7OT2uX@QmE=c1<3g3Ya_59SFN*%br0Twzf9veMA zWN2Jk4IAd!4|uUSe=K{$uy;^WtjJ`#d&J2NMdRH-vItF{A$9KKZ^yFKR@kYv>T`_O zfBNhJk?F+pm$e878Y){)?SE|b@2OthV5H^vbIHvAw%-lW?q^Q!q3h!a%GuxHb?LGf z%}P1#i-Cl*nfbIzW`AmTqz_Gcp;`B&+aFz3>OXNHksN8Z|n3-If&-s^dGzW z?n7EN#*cJG)Si911T+@3#IE^|jKryXYoAI*pF-=BerESMSJkH`4-{iXF#HO1aO{@) z={K|yizMmT=%yc`TV(HU5p;}i%zxG7kGgJs<680$xk0l^?Aja98pwzW*j6JbV}|)M zB&G0d0~CocX@Q0aq%paiVc=ftAk=Kx1malb?7tkwfzarWs4I5!LT3fxOP!4L^VJu6 zQ+PU;Rgp2{JS|w)L2*+EBis6Eev?L;&k>%&Pmx2dxX zR?r{NYBTXUVtCPVy#nb`Cw@F-jKn?^za0itkR%*3GAjE^4H+1!40+~cxUnGPr>D%v zOXP^H;y5B}C^5jw)M2U*sCl(E1+Y#1* zljdg>F0XbESWoGn@`$l(CZ{&I{th__&1M?(cEO5fIGGp;+y!p!S@|oa&pqlIfNPIY zSYKVul9)+5_S! zB)HP^T#a@0H2e2G~f6P(aD6WTj-1`1m1ZV5#+VN(RLocMJbU2Qa&-sO?JC{+ z|MWL+0NTf2a+bH*RpUOtF!hr=VlT~ODaG4Iw@x`D*wD5|v2A@VU*x#ba?ojij;eaQ z_Ehp6(Q%I19Jqwp(mQ+gJT@AaFNZ%BN4@ImY*u}yu6_^(QRLQv7Y(_HdqnaSfgF4L zKjW&3I%eZ=)FN8^nbIeCOG3n2^&Za`1p>Bsd#7=|^P0iqoivmL!@o!yqnCvD2Icyv z_9K$b0ngVKcZbe5$xQO~LM!m~%3=_>0YXyBslwmIAgf!X?bSx98dRS@kuYL(Vdq|x zsVXciA~{=mT&Ee^yxc+m6|32)e6JV)Jpilp^$fG(B*T97(><6q_l(- zx3kYr2iy6-sWx_u)qsEb9Mfh#j_P&wuf98^WgNP>(#*qo{;W=!SI}kOZ4S_65oS{* zPAassdtabez~^@J5x=8xL~W9@X$o9L=?}G#mP`DBdd{HB;;t-!m7}}60Zk$_)kbZ8n?;hN|U{m)2p@uyOl9t3iSz!(q>%O_{5nGz4mRrE>R z<6+27;;*D!YQAJxD72T?5SYu3PJsm4O%M6y%!rFGPXe9*a2;Bw+cqX-AGG<>`5N35 z_7+q4XJS^wUtL_AOY%)W6Lo99*RLZ!O3s>bJQ3xXzznOvM_)a<%T5K`SYLhDjds0p3+c4*c>3)2icqxm z;h6KRfedT*z_&wkNqNvg;lHjugl{Tp%FTX72fvalaWa4I2bGYP!47d@u#DGD&X5Q3 zi3856D${gn>K+XHSew?f3W;&NJzOcaUS5;qN-UZ3E_(r^JHOIp8Q)btXF|$I*@e49 zXMaK#4xGkn{S%AEEN5&8AB73CG@5D&Us?^lHJ{Qo{F*=6xm;iQyPj>wd1W7gX(@11 zBR$YARsViS@@};dewZbWv+aF3_SFrL{~NLbPYVTNuK`tHP*nB+dbA9=J^jnJs(!=K zo1fc-J?|-b8MsPM)A11#IQIb#|;B5Cn5D~W!z zc-Tx)gfZ4_uDZIA&g>1cb}l87Q3Jevd7f&ssq(G7`U^+r?wCTW-HjWg!FCND!#t-G zi+(vc&BAlPmALt(;F$RY8f3Gkgt-3d`RBkU<2>iRg6a>D%7hi+AZ1W-I`zvDeuZ{??~q?e|bNX)@Az5#o&eGv5?=H|;e_vhR9| zbHkCB5(Fb7uhX?+Hv#(J)6(5es_;bEH=U%Bz+@^G2-*X`mZvPTuKeh3`w1aCqUuNA zgffv~l>wOUQCP1v;2=vQX84fkhu_<}{zggn04@{o>i-#%DI=(4j!sBf)^yU#dsyTG zF3r-RnRKR@?cZakxy&DMfYDj~0@M}E==uA4d+Vn^ith$PPq6yc2OrFWBt3qooc>}W zsE*eMCV$lW#Ith|*Cfzmu~;_KAl~yXjKd&zq8s5X^yq3qfDCrHwG~HqcYkEH`31su zim!sttV)zu+NA!SY=3&AQ)g)>Gd_?L((@@S=y)-~YT>g$ zAdwTQ$}#xx2$EpJ6pCa!Lnx8^KSk*m1nCvyA5GRHRp7SH*`YQ zM~n7{q6a1?YzE}(P^hbyuS~hcjZ_L#D>~>Qtk=(;EGz@e!64biXqp1`=A%uLL(-X6 z8^crICa(K%dx;Lm&U{(u4YY%`O}M>fSorDfqGvdPn!b{BdvQd2~TIDGkvS&?BFO zF!bLzj6}$$J)SVC#v325$0q^>s{2uqG51e4B2FMPcO>f#6S=FaUp2FtGDy_01my2ObIDh(d2T3In$I(eAPF!jP`40k#xARu=|nwp-G zb?*7!EaP>()ah@Uc`FA7S1K1cBSu4cFeNUo5=vSz&nctuammbpvu5B zy&ipd;7;V(Wxc~C6ie29i9@e-MIDOfMd=pqMEk*X=)vY(PUlSK)(>xO8LI2I&fIsa z>H8QR0G8Mw9c*m0#FV$;g>Rk~G%n6}smnA{<(rE1pL{B0i2ZyYeZAz<$?lEEwpzl$b}!L?OXO&c7K zM(<0?`VgEZ2RAl0JekC#Cs2xphQ|(w&+%I!e<|XRcn|JB-J9Nn9w}1jglG>B$p`w3 ze|^rIDniHRX^%O1*A8ajGwlvmUX0iZLl!V})tG6Jf}S-urByoy<_1o-wJ{L_x3)=y zrRfI&8*OM7>#w!pl>dtboSd8{@b75IxU6)kAexS_iZrQWPLJy?iZo=?$8B1)Rgw@J zlRV(83J4THHkoE%C3hiP_C&w68W2UDn|pqMe3i${iK^E zBk4!xTqY}IS8>>ssZjYF1BxIx|wNc^azGWQ)m$B4Ra`zuebR#thNHoC@yY z8Zo1@w^y{j{8dI;rG~h@iQ4T0fPq`)p>g)6xm>Mh>A*SEFYZRr+4jh)I|szB|ASe* zSJ3aVnPe;gVatj(>>NKG^jQi^&P}VDnf>-{_S-WSum(`t?4V>+Jq_w;^Tur*?8I+@ zSpQ0!{K;v+?wHR^)=5!w*352eCOtl3WCS>+@eV+|S0-$pozdVKn5h_#8v+Ev> z&+d=^F$k=*%6UM;Lx@)B-%ELETiFj}HDt<^f7R#qcTcaO^=mDUP468M5iL=d4dN2_# zE^(O$KYE6F9zA--S1@rg&{JU`$|=a1 z@om9>xpgo$#V@h`{vRHlh&m0`YUUi%@g&fkf0C3$=^*qL(~4#W(na)pHH&m4fjHg1 zO6$50e&0J)3_OHX)W3eH0ZgZJ6Ty0Mq>t`L)sfw!VIs|U={E#6BtJHN{ryE9nW8ry z2T+L#KQv?pk;ITjf2vC7>FgB@?yl@=@2b0ujOpbLh_+UDG7ss&ddq%ET%wd@0H3x9?9?BedlZq<#C(TQdr`&5NH8W~J zA$=~98;4E}&GO4ujODw0<$|N&FqV13Mjvf8a~2wYYa=2u^3-X&;z8)u3BK|m@ceHk zvG|7$6fFVCJss@llc3?%5 z-W&AzB;M37_k|{=r~ABC!Whhy)Rc~_2Gg?{0&GrlKkctimy$W6F8PtZ0M+1T?o-Hh zLd^O!40UNr5$N#&)|$ZGuJ_NE*w|*ET&eMZh2b?4MW(>B=QcJ@I@S^6 zxAxbtr~6_!b!Fv){nPNinX_`TsS0`IJH>+%qx0pVJf8gXr~ALr+6C%ac%m(MQac%! z_O#9r6VZ80OuRT0&=>ePnTwesnbmC%`5VGG|0-CU$p?u>5*&9*C1T)HlbKm(m-qeYxO8Ga{0iJ$-_07%Awgg!h zpjC;yCS7#<6m7`qgvgwJDfvwmdRJCW8z$1Jk-jm}2sUob@1D31jB_Gp%8KkD3i2C6>6w|^^U?1}#C0M2 z-|p3MMZ-bA)+qs2i;0ih%RFU`Tg-fn>V|zk+H>giAE3<~tr)k{_Rvczoa zFKQGZ7svLx8+)0Jq%8lS%5aqb5rvhRubqyiCEQ3InGZ)079u`7IWi zYRgqOBQa4v^|py$U(Jnb-nJgMX5MwodQ7$@xnK%67SGmAQwPc+UA?`2Zd=IU5(7UV zNF8WSQ3iDcfB4hG7NV8+v?g+AcRvnoiE+?r^xHrFAm5A=1OYtUW~rrpdrUEXM$oR_ z?k>={mf?e~m)H5*LwBeMq@eE>=IJQfE5S{Nb{*+>NiVugm(`&}2E`b3Z*Tfpt4>i$ zi7|lX5O+2Y@v^gs4=$}8aHp7wIJJ$7Vgm1p)Z2@Fhb%nmSNRsB@GjXomIG*)Iq)Ym zVG1;2VPmCSzm?6*vZ9mu;BU$gi0nONUF#=bjfX+`0`HaDMZhhEuRA5(;3UWJhV zjl%Mj1+LDLJ*HQ2bPRA)c6)99Eh`Ig>FMo1UgC8z?Xq-B7(~Fb<1bbWI@Cb_ zzo&5jKLPW~*Fnq@b#>x(by$wjK}!LnUOlL4{0%{FROB#B zYGNW38n?8xboUM|t3t0rqpEcx&&z3jXTjg5;$^Slo)m>sLz9T86yE%f&i2}R-`cvm zo|o@0QrcS~{vrQJZM~cm;}ZB``y}D|H81yp8g`$-yK7 zAZu!&-!uiRj`F4fHxUv}Mh7ffG-og+J)saI;p^iUIaK<*phvCem5O@3$Hr71+tr7y zQBjojx$NmTOZBF|HnQv6hzHxhPc9h3Ok$?_d(o4_kI^(V^ML`UK)aL&La)@g$!<7H ze&FtI_jtu(_sq^$BvK`ef^M|LK*a60%Fz8DG`cQewc^Eh7f<)o-;h|Kp=+Yv)2Qev zz~=5)6S2Q^(a0X%-=V;HSL|@JY~Y&C9F)INSTMN83oijQ4ndsd;G-$33e+Je zk4;0E9)2e1G|vnFik~0xQ%FA2e>Y#PQ{$e-t5=WAz6b2)^V*M;a82W?os0ql104T( zGhXM8^1;T+kT%>!>}fqEfbghD9&}}Ewt|Cm`rj%u8;0cHDTnYI41|+F1A7lu1+S!j z$9Ntqj<5tf;Z$}QmQ~&)8l0Ele^g)Gm@XB7(dRQ!`W&NaP-A1$lYaWb58&55fRGZe zf6eu;V;LvpPu|C@dW2nF$G~O^HQ%isR6Cw#-H0^{^!z+%`$&p6*gEsc+;p-jBU=>u z^3uspPxf$uMve2dLI4_RGY}{-End)%%->`=0fphZzHP`s-BWY=UxJ-MlV3l+mB>4mUP5kPZU(ZY}%!`!i?? z)8Ar|NPzY9$qv=IkL@g;H$_PB@HlKvVMD`jdb*yGiqwG)jmx7-N=n!oFahXYq>eMH zH_+|xdS%w^I-POVoQi57yO|sCfuSEjH)r2lmZt~_4UvRzmp+V)zkyg{ zqRF!(U<0=VoS^1{q|N% zd$~-KLFpLRsXGh|`eE}j(oA;5O_S!c`jw>cOvV$BxgS7p>&bH+#8@;jBqZcp%YR&i z&VN>GR0(>pD!Fh)R#w&xw(MI0r^ow0g<@G`MctP)st*Q`HcIpR$wEi`@9DWeg~u}Q zR{&ma>l+Zz`}~(zkO#E581NO8pj!a+&Ii#Gf~v-9M(>qAaTLn*J1+%x6`+$OvhlHkU%Z)2Mo9lWsEA0KmJq z4}hC@i~;)frk&Lr>-Te6?SvVDBp(|0;PMrd2A8)JHQJnN$GgQTfT|Ad+kwn!Eu7Z_H9Xrq=j?m| zUVi3!SiIbY5|pR(85kJ6fBwTY8PR`azqVhy{(dg#_;H5brhR-5x5A}0%8rEJs&L2z z)&MqkSCzxvB_ejHPn?ZSOwT4xob*c2z*xY|t^%L{w`-L0*J z8EtAG(gA#)J@JmeubxlIc}RX=s=u!@w&mOt@6 zdLYU!T^-7Ut&|!dfzBq6jd6pY!2lLE`y*#;UD&>=&^i-aMI6dJ#hLa$e=EbfE#YrJ zJnRmk5h@W>dH}JpUaGBweULM0B$o;#Kb=11?mY_JjVt7VjXB>tYzyItVQe})*$QPE zGn@2$#KtK$Z1F|b@AvkIaAPb2f{gYc+K-hEml*8+T)6D@UR_BE`qZ_-!v+_8PEOsG z*U$}bZ*s@jWCdk69R1?ZoNkOucoanMa@h6#?DXo%g1zQ)Kd)I+i8n&VswauZV&de; zJtM=oSf|L)JYYSEH<{neZRjabSD*djxi-?C^uGN(D|&)|mDv2pm{GGU!;wg=t*V4S zcUOCRUuPdy4w8}AquLz@TU6&W)L;R}bj)r#^U}=DZ*I=h(J~v?<#kI}9_S83Rid*I z>AmWW^t0=@;^!C#$r@A9J9P2AtOiK6dIy{S!|;z&Mj$>5WFeP!K6cXC+4%?|Y+7b+ zYH2xbkJ*XGSLCU5>lXfNz&R8&($0=3bf_{^?Be<)nf&UdTb8ZGsH&alk_wn{7 zImE)!(~SkRg;}|E&)gS2?JnoM%;r0O&;dC6nP4%vR-Ur7{~n*k1dvo!J7Q0!-1!el zq-B<7FZ^119g;`CbPDCo0)+5Wje78iro0zQmuEkJR^8s*+|+Bk2AX1uZfDhhVA}P*{-g-;BN5gkG_Mwz6btvup3hW7hH)MR7%R)?reL4$@x`T3+iWH{n_BFX1QsW?Q-gq54C;MFtkGMVEg6wv1&t?@t3a;LVl@j$9w| zu#S92rBl2b)Yx(0Ht7Mf3@c8$ai=t_zqj{ae*KyTS(U(mfVLVZT!YoimsW#x*edmm z3wKPmZfRu|NWzP;%2G99mWGaW;d*e@XCY1^X}^B`0=Sos<7Ir0OE${hwl2EWU6|Dt z?jq31kMOK0B0%BS`LkPUMmmbH(N+;f@GG_MoyW`crjjL^o&PNIU|va7Jr;6pwiGtp zwI~_l&R=uC-OuN}&4oxPu#-AT1UeEqAZ@aO(OO))du~Pd4P+j+ah1fMBZSTx;u9YA zf8G3XZu-Rdjm7`L+*?OQxxW44h`~152BILa6=?ybk=h0zEl9V3baxMa6)6E}X($iUA_>ao~o_U`8x$o=x)b(_{d5wDQfP~k4 z^iOK-rbye1v4?E~cpA6zr`{LH*|j&ex25Fd2$S#p^aPV_XT3O1EiRf&c z^HRRyc&B6-@xV2p=C9kAsb#kscAL-ci%?J^Bi8(oNHb|^drR4%9u)P}`%C#6g_a;+ zj#I`C9Nw#BJM!3Uy51-re1v^lYU@3!jksCE&BU*U?DNG$bEem_i27bKuZrShVvw(}s21+L{WQcP|uZhc1%ctoW?=XtC{F zJd?N)2gMCT4{zNl|31^%=C!o;p>mf1t8^J~M+{i;*0isf z`MeHcm87Sl*f_{!$kwh1k>H7pxnD;#YdIwW=_+dlS*p4PERNcdp%0 zPm_!g4Y&zlRD*6Od9jnqHzlOw5o@vkr%#{08#GP9X$DP<|CBX^IwZQSogG=zges8K z2UIm~7;0-9N9~d+l@iUP@wz6k(7oH6D4;0_{w)1967|?0B&80Ajoc(6yU&BEwJu!p zuPZx&pyD4F5@x2W*s^&j0vTlEvNU)Vh&Mi6L;QqTiv$W*r{*h{FI+~Av$6i#iWZWB zD$Ukgfj&x#LmtDeVQ?-@ft88tLV=yEa`sU2clEd%%oX)z*VtLBrc(CW?pfYx-`lw)M?`u7r5qa_;(5^P87)1l zQ)s9@wHv_TsP=#Zsg(LWT5!Fj@Af)unA~I#WTf7Mhr{L&CSj{h~S`T6Ed`gH8!IXcM9N4cSFO5??&R|zh(rY z9eu!)p_yadH3dNc-NFh2xqcORoL#N9^U>||)wNGky67pbW(?*TZ&1ipbuJrW<_z8# zYsSq$Vb$U0w{ON3+v>utD`C~UxD(oB9O9RY7JdCl!jN3TETWY;jW0ATIwT??G$O>b zK($xhNTk3=%qrU!28=E>Wd0?12lUm!kl&1Sfje6Xlv(BZcg+8$Lz8^*@dP%t{ z;&9YF56O5Ixn+5sXP#nLt%UzJ|IlqolvMPR#i)?rG4dmr>VLpr?buTp&oOm-fV`|5ZtHWP9GKO4Iqk^j#Zyqb*oL@vJ5>X#aZH#cQJ$H3&2w)Fd zoj`Yd3+WgV`znilqUfbVB~ZFC6CSQ8BBG-KCRfXeoaKlpoqQS@DH)KtMi2?wKflVC zYFoRY-$ZRmLCTAYEejLN=vyou znAS_GU1FcMMA#OLW`(x&Uhoz(>HGGEA}zJESe;ni&9x6=bEf-`mB`{R<4zUZK6h4E zA0DqDxzU`=M$1JJs0U=FsL(ly)FDTzQZnj}s`HWG9os_d-ct&>*}r0r2opIfH|khB zO}%U;uwzVM=t!)ZTw6P8mSUGAqBgx(c^Gy6r=yLG6LLj+E|X_5OUgD&?!#S{0dpP= zI*G3elIm%iDIsNiOj=s`Yj2)j(vIMmc}q>5kZozH_pf8zo8&Jk3I7QH4oa)aGE00S zfe)oIAWP%9k#I(^_aAoBng&!atsnDSTct~+zdG37tbZLLiBim{yBoGY6x;RJg00o-(eR11VF5 z>U1SfzlO7fn?``OIxH;j_<|Z=;r56EtfeZ?ZcJRe8Wj%S7BAvr94Y+Me@b=!4{_eV zH?b?*9RN?DN3xL~ph6-Xo$Bb}xpn4y5G0c3sOA3%dPC+7-ux2;{4A0+=)hK$fNi|mOX*)ZM+I&+lSi)k~WMpJk zdrP+K{H_b+TZz~&bW#hso;i1RZMekj=cl`cWCk1($iAEVzHne$=BM-9}(jaZs=IXUSU zFQnwEoHwT+$kB)(IAY9ETv{CD=B5eU&B%N}JQlM~zFtK*a;qo}xwislV>=e*ticMS zA|aw>`^SM|TKlv!wg(AgWfrUZ`|lGfTyG}mOH~y%0csE@f~eWwoaW@@_#h}`u+a02 z#x1MrY0@XS|9411i{u~BI?;hvZi@k+#SPJo1y*&jtD+45Su^{yFusvg1lQRQbwi#s zeG34Yd2_-1c}4*tR02-EKgbFx6oJa6D!}PNw2IwaYx~cixTCUlAfD*X zE%%`bn~gMR)e`r???z0-K<7@^>QFYau0(FPS z@yg2v%VP1tTie@&r4}PtI}QiUkU&&=<8u|{G|>lACJMR9-f$BS_H63tScmc;-)uxV zt`ES;KC^yk7UCmjSElZdRe(ZB2jF=3gDrH$p(&KQmb|MoO=0j9Ha9m<92+r7kp?)94u|jPK2O1sw2=i-vFBK#&aC(Sv|`g-H{Mv(7Fq_`?=- zw@8Lf7>bILlGo~}y!GS9Q>Uqs@+n`B;f7D3lc}yEqoSH#T%=nn$}q`*Mb-HjFE`7> zz+eOcPty|~1N~!_`aVTP=+&>9v14u+14BbL&HQgBVf3sqyu1{FBZU@HQgVA+I}bLV zBxjddt!po~yKmI^z(+2fO)_kY@i?d_FDz^_a5Wp%ND&L#+T1*vtR)pmz=iC49}`ui zwD1z(G{l4MWXq?N8eekPn}jVD*UDLIkXvq}Hct3y*c#UbsKH!Y>xLAMTB3Qa-#VnnakD`^3 z%J?ND`U=(KnZ?-xgQo7H32Fw|E(B8nMIKXzhJrHkQXk57E%giU%?!btarxXQhpIoYB3%SqTX@!EpVtfB@of(Wp@7yEc^o zeYu_}?Dvy*>5k8DqHwRey7&ISlBPjw=GiuU*>0XyQo4Mzo5jjE zq*grWW&);tUxMTcb*@voEEWW0dEV)(V{U)n30-TISu&whX@>3Q#EMu0t zy7W>F+bCEyxP;vIzYm!w?9?!5mDy8ZS|@SoDhA7VFId!^T-X4>+osN1Lqqy=m9G4{_SngNu6~E!Uq4kz<^6QCZ6L8ya4yiuCm6RI z#s8-EhyQ0-c!o!U=^v{QfiZn=Y=`7TJg@)x=U>d#hIvX^+q3gwiFa^WXtW$U0g=|T z|Ncy%7@2%VD9Y_{XGkgv&1Kr%P&r(KAGwI|7fTtcaza*Me~Bl8`gWvDDl%JIO3G^B z*E*5raR*!BzL*R#BF85)bl-LOKdPam;D|OK6<8PGH(@ml=)31}bP%2~;V!?UCWX*p z91o@v+3cEOxrg^Jh)X7U%fct0J9e6bwaYHScGdJrd) z=elc}j2u`VDeSnIv)oTOXoy`Omc7c!Amd(C&7fUHJ(h3sOhe%DW6b=}HV?jJc%V_d z)aCq+4~=Kx%-+GtN|~%tR0w`@h$&mVXTW3Db(fYFbkH8%*l8_I%`IWMyX5>ltgO#U z-3rNabGIA^mqs&ck^15zq^uw!8VnJdBBP)HR3V63z*4G8L7RxjxWKe)p*N@E^F|lR zb@d`kCV0X;1u}#ACd(W1Vt!G|$PAUDYzylxhD4{O-kQkYjzZG6p_xQQCSwY0QDt*Y zQYbi#uCb3K4NN%i(a4c|Po$qCJx+LY8_jiKaC2*r>!IjHt4xlby@)XD%Ppy3VXl^y zZSP(Mo<_a=!llaH1|)UD+V9WzS{_^y>IKYGbYsZj0#pBcsGR}2P90pSaiIk+<8FuW z-byFzt)s;uGjns9eWn)^N3zstX{-{jvIj*Uwi#XUzQ@4ZsQkEHF1^REJO5|HK}x|( zNRU0)Hq@+iPg6;3wAw@+Ic-^0wPtAYKRtQN1^)o22m(8{vnYbs)ZI9kPjLBl@VZ+_ zLQbwo9d);+W+1zfi;E%=@oScM+mIR$5kiK{h21ctk*osG8CQoZ&_A;iJ#kN9ZxhwVuWVaESz#$x)!pXi1^AJ_ zSP?beoVMdK;?VEyGXbZiPZ1HbQ*kP%v~%rev0?PsLs#tKe&x}ylwJmVW!!LD3+)7f z&u)L?Zl$m=QiZVD%)&lAfZHviqmennMNX_XJqez#I(_W_B6@ik(Jl1_TDbkK7OT&# zbD$kDGFnCI>zH;ICn+PLSBZXP=V)!+i7Vms*RE-5T0|8!Xa@&9qG(Idrq)ZfG(b&w zM%(@RF$gqAKZkS;f$EM$riY#}Rq`X);yT-USUeQ9bPF}9>vXoD=;G11+|>b!HIP!_jJL>>6U-?^?B+Brvn^X$Xhkc>iU_*8e@8>+(Fm&^ z%he8@4P;SNl>PP(!%a3~>$fJ)5~+LFbJFRhaU0W3*H82=)z31aXJy^882bJlN6XL8 zPvgG7IAkXuY;RnIApA0viH#GYBy(89g~`pWDn}5gCy7Dobo;hix^IU+7&gy)u_;CenkzE3ZrC3SfqMduDT&^n!oMn_);z(($zDKY&)JcxR|2U%tjgQwOl z%g^VMlk0$_Vv7+c;Z0`*wz!`8CQcwa;5_s(5$WlTay{vl+-nt3wFz?WFgZE#j&vy@ z`~6jZS?xlW&hJlfI_>jmYe=G59`{M@FB2zO9C3L(~7_vqa}$3&WvR{vK05s_Y2lT^r3bia1p>f;^! zQi+|sXzNv*oskTk{euI^>SwHv9wq5HKhh*QUgBR=;TSBuTF?(DtOm8MjU!W}RLa}# z;1l(2I5V9ssr9a@(#Z!TlDvM*2*Eyl`nR}==s1P^_%Hr9oWDuW6F`&rXJ}X$B#rl( z7VNOAK8S3IVvA|LiS-2`&%!PcK5tJw$<7Ar)z7v*t>8*iyxSv*q?hk~e2$@~D_(F( zboc1!-mE7GsSOPU3wC$4v`CezKpXOkiR|X`1Z{M5bOsaCFS1%E?ZNSKmllDJ>U((0 zv0SEyj6Zd`hDjnMXCZM`z0jO)ENpe8u+OTqdT8hXG=}FlHuBBg=2D^~Z>Q-XTH=V32Xg?4(EaavgvJRdF!6|}a}lW(d|p5yal3oXaGOC2cT;QzvP z>?vgQyjQ$*`NNkle|djVe6h#OLr>4gxbG+~L!Y9QE9ul~8u5`ntRglt()1$oNli^M zUtCNK^O#WHP`>5rFa&N!!Rf%o)!Ns`djEdDSYQmOKA`13E_EcYGglM6jI*`1g>DQ; zBFLp~Dn z0D{>|B)4hAVV$2oM8#gF_s`1Qmw)*+n}wJGb^#$qd3VGZiw{te;e9C&tH5PfxRu74`Ps zh}WLTbXX>y77xBt>9{Ic@9&hupbQX)mDA6j+Gz-IhlfM-()Ab(aMmnwtsfh!kclmX z3TJB*&r$#y%l)hp61>Ex->q5K0DlT%jC=GyXD_5pX=kG&n`YG1qP-h0L-C;( zveqys6T8%poL^j2+yCT~o<3xHtZ_RLoZlb~>r%9Ll`geOkqD#jrrO@#F0&Rkt^Kfj z`}S=RWZ%D^DiQXTcR<45FX(7Gm>UkykdP3k$}dloUNQw71bd*A!y;pBTY$QW{Q7AO zi|>H%Tz~90*n6g+5Q;1t(OS)iVoJTxG(J9zwz(Xh3v`NMTb9g~Z2m<+c(xjFK=hG> z6Rn`2I~HS+E*F2{!j(vW31ihEGZl0=i%!x;Qg43mmq`IuCum|vNmht2!#D53@{`xp z52>YeL31?tW5(}#BXlI$3K{D>_~Cr>p-fRa8`@A)Y8Ep_Gxzb^*97 z#Y_XIP1UrjUX%tq1Ml8oPKpXzi>%K?KJzA%knr6k*e;=t_}kT1+;F+t#YLU%tu2n|kFXdX-MWl<5}^?B z`Ib(Jt<>Tgw@LTTl=sDfY^@6W#pI`7|ExFd21JnXI@J_=O zS3iSs6X7?YA%r!TX-#_k`~Nqg2#jgh0BvwuA96av(Xq1!yE-ht_xAR$`S`IF5@Wr* zj)U@Hv&Clbvs5=VG2uxBxovv~nI_x?UQdY&xsj^o+Na%0}s;P;K;a)Z$gO=W6 z@}trG-IbDWkc*=&RJJ;Su%1qgU3*A$@qZTaD}A9h%TdLwia0M+UkRx|Xq21(oP6u) zS*eGs@C&mVeNj5w45h8R6OIJV3QWi@B@e{L?XRzu&O)r6?*~=>MX}sf6@#$I$o>L1 zk>6d}B;yfLR!d(5E2ZH&1lFb~BkgSM3oVU}e?n-@ntK7i9eK9)w)op88fS|)3`#WF zgiAr0%{xv(nBIE@$yG-wP!PD{+nmf-L7xo4Kx4_Gc_K%H3-jx=V!3&Cj_X6bYpALV zKjZ|*Cm`Cb^fsyrXF8nX;Wn!yiR`=LaVYWc3(+jpT$p1W5ij4!LX~+mTE44!S*fXg zAIxnUMXN9i!*d>q*FWogVhJEbsM9WU=XGREd{0B=xR>m7&2%u7^JYUX50yY678hVO zH9c(+B}c<=E65_yV!+{#0neP)W07RVIsAvz)YP@X9I5i>ZiKhb983pBi*3T3{nj9G z44fm&Yin%7dXg3_63<&gLl`> zMD}2&37{8Ui}uO>l(*HSN=wd1I-@Do;OW|xS5(v~K+(I^r~^A0VyDK9jjcTyTOaib z-?CpN^2=gm>h~4CfGY&d%=6%2=62p3n@&!5Pfy;f#w+@bA8$^RvuRq6eyjO(_cXXt z$9^gNw+@9oq%rpJAX_!Zup_}ExxtKOel993%x-E%BB1`UTl>?1dffDm8s=F6?Y1%$ z23zO=!x1qEdCpWqW+^a11)3`z&9P>g-58YUYBXw=EWEP3{Lg#INVj!o5+o)8DsO8V zNd%e4(%!VFfMyl0jd{iww&hGS2*=>OQ9@SZ$#J8a@^qN3E%S+N3+Q6h zi%hRlQF$!&4xz#2I^`VzS)fiXoAV+!01C@>(8IXWA77<@VaHjYOR+pp9k%D=uuM(x*Q@F>*@od zApA|4=KGkEI&WI2!zxSy4b1 z;AIDsc&ELUp}nbZIj}ZyTLHly?&VfRivMd)(%@=(;vGRvuDJY|cRoSANR>wO!Z@;KbNajIB!`zv4pLls5@VkyWKRV!Z~t}v<#(7%BA zw14HGY{COO%gWMyvb+?&!39zY?Ah8mcpRi%-CZ8&G3CZ=0^x|(&Rc6-%o9$)dCtpH zJ(u;|tB`=k>E7QrbA|&cC45L}G;-}rP?VJ940;yEFTSHjzQ4xfc2%!>P2Aqg{I*tT z+GA2%N){chCU?aX6U;3oD!;eQ{&kpm1Ja?~%PYo4wV)8wA30mb-iF?6rB}pjL?B{^Qd5x$Qar@O4Bg#-d@u6hvVt_)B3=c0a8d;vx4DOUK&e#h8aOO5Pl!4of|zK(T)o^_}{gUau4s>fB}sA`;(-w$;o z+mMUo>>X7lm9eq0&V)l`Fl8^=NZHm!&s56lJ6p2=KSv@THFcn zdQf72kPDC6r%W6agn%hPD&g<$*I(liiSFyoP&#!K55ZS9y+x!OWfoPkJqMALIn%Vk zzLsT$7L>fE_fM9<%TRw2qP^vjqJ<0JA8zUUtj+2FF1eYF!5q6 z8L!`mA@hUXqKP^dLKj%-(&>-Qdqj-dx#6j*8GLcVc847@u>lD^8TySt=D<(%bF31_ zLJ*)cCXOHW8l-&1hg&YIfxN=lnd|4BRqy{7!zGGX6J=V!adgUVu8nFN@ONyDI8BA1 zYd$Cqe?^BlEIok3u)qChD}>Jd&X;6-UGIM0{^?U3Z_ighm@9MGrQb+O!*4D!vpz2} znR9e@ECj>dxInjPyxqYpXq96<=9pPOIX+|7%DWJ?6OT920u@sKvL;< z2^^{dE|G9MpjaO;S3mQ)wAh1;QeMt?ZHoc=vf8U!PK1y@O&brB#w=h61n2WNeDw5l zhr0{FlO4}IgMPkT?_%|QM`B`?b&_nlMvm=lA9A4XMNzg^hYlYC>;-Tz#|wKrhVK5- z+>-sPDttD4t)8K!Wj3Uo&ddxe@2`Z(!FHF{5~ZN<>i)?$^;gOfI>!VEGkqApfWSy8 zjr)%LvN8&;5{$1fWnzy-1?{UlT4AOVAX@4^E9rw-%~D>5Nbz850o%q*`yGHW zgQ#48z8&b=lZuci{EB48-=EF!|A7UZfjn;qs0Jm|wtj}Bz@(5Z8g*?IvuYQ- z^`_pRKPfbb=pe3UV~Eoz3Z;sf`NE*Y+$YCr7{eNQxVtnQ49Vka<>sr$m7<`7X|+E7 zA6!b+Mw>W3EDT7j?mn}Do%I1i?_!Uqr)P(Vh7R|6Wl0n!P0u zku8lLfX*^muihV;5D1qTsvmk&w@rKF!ok3+${>G#W^4Z@^BYQf|9m0CNgedAUJs0j z8yg$>!EwSK>S@YK@bHF{iC3U5j%t~ReOP18GhrD5bAygaSz_u7C-E-GlNUzP2iD?K zM@P&|un3!AwlWf0g5{|x1zmS|o8c^{hJiuB!NF$)?N7|>e`hGf#p?R`Vrx<*&YqiZ zjfMZK&WATNFn};n$CW{of$T9MSNnh7TnW0}JGwA{D5#;n!C`$ERbAX?s#U(fM;{o= zV>-AoRUZH#RM^S#Wt5=1<<-;O4O!7WMNTwO}6!cstI%z zUhE{;hA8}7=!NR!2JDDcfLUL*8Wej+o5+D|*?69|krB7a>0sy}9$mY3XS6~iYRJxz zU87PEUZ>x$`q9B;BcTer2CN2)1lx=-x0$lZae_N!dMW!+ev%=XiV_*cW$g%Di zHi$Df=Gi)lw)Dx3kN>2|G$ix=_f^xK+!YAJ{J(ohuDv1xf$sDKw%VL0z;W!bZPyha zp9uI|f0BL&j#flAvB3O**=_G<$TYg*DCp!6s$OME!%lT3rOdNyDlpy=Kqde@DPmZzR$oc@v1Ob16?sPY09UaXs9*t>K2nXcab)Cn9<)wPNY2IyywQ`vw{c ztR@N}kGWe*67=(1%j=HoO&H{e1L`jOFHj9qz%+mY!#c zBCacS3^a1N9zL@y%2m9-o?+i7pFU^`OE+wdaa!mM$$e8>xA^XyupuQmi?72|``oHFc=Bzsjc52pEQIqX{MrD=<(JcbAiv)@~{_7^t|FW0aT%aTwv70b+py z()ReG7dNW6(eBe?3dY78fXC-LC`tCMR=)epZ@Yt>8rVImD@s8(x(m%hY-W0;hpX?i z^XL66M)EzU{KPFd!H##){ViYs@QuDWEGxG}q02`)&ca9Z@@WOOQUu3`eA6;VgW#$G z#ZA>gf>!K>Uis}j^*0~|;&U_zMjfx2^_&{a)3jSOTRZSE3vV6n{MCiu??GE|_ib!k zNWO*zMs=0^DP(DDq2x)znP|s=F~xwS$bM~Q5de)FT7hEthS+Hz5o|u5R`_6rh1_Uf z{Biz7nNy<0bAvgUG@+Pr=QU|{6r0uoFqBpmj~u5`n>Zv4DL)1Tke)veiN@n1o<2IB zT6#ROV9XC%by^wT{hVls8%=j|f=E&F#7>miJaNDbff$r9?0AnZaFef|+HV*6{Wv-3 zD$hqU64piw+R{4dle2lis zQbw{8xw*Pl?#>MsjVI^=ugiH1+HB9Qc2`+rR?e!Z48(9FM@n~>#O5w12v{v!0+_Wr zyi4Q0ksy|mt4?@aUt6m`j|qg?V7klx?Ay?Y1PD$Pm^I>9CSFK#P<-qV=FN3!xk9Ub z#||9oBOX5Aw&$0{#D)>tFVWf-SM}=GGxxm%8tSE@XjXZ@$&9eAe@wieS$4M4Yd?N- z!x{p+e?LoUKN4LUnsvH>c@mPd_-SeHr^mAwrj#n(UAm|^_WevIWCj*5tdUpP4QN|g zb##9JRKDyF#2033v_Jr@jB6|n1ZvxK^xJDm$tBhS#B`gJnK(~Qg{O|fM#F&JeDe4m z-d{@vW(Op@uJN(4NX?^x_0Y1iSm%zW_7KZ+*gXc1$GD-SKBQ8J<$C&Uh%B69sN5?= znME93Xby2O^?83rM8N!~hE;h?NXTY)3);xgaJVV~zuWV1sHDVIWuS^Z=jMcXGnVP^ z!W!L${(@I8tUH&{RUm44Cwl&HY)|;pQ4_1kN&W{BiM0sZTQF0tjm>WYUq2`g1Ke=G z^~P-Ok>3`Mxx$h4uOgf~O}J^Zeq2|wOCGb*JDlU&r)VRH20!-H(l;iMG%DW@}Jj3)maOD+llqwNQCkwQdA+#PbCq z$CdZ1)RRCc2kbQ~-FqH0R?51*wc>hNeUKsGU#o?z2;awr9;BI|)R?tM*=?r8@F!pJ z!0k5;=(wpVegN;WzSNPe%Xm*x9r_yphCg(q-F>`y(R+pXAgagq_wV2TSzAjheD`&| zKev#ZW5L+WgRt2#Eto}MRdO+E?B9^Ln9*%6YVxS zLoBrf>g(!;gCu!rCn(WXf-6HI)8npvZGB42%CKrw74{|1a+sQFf|-eQ%neYyV}!oB?k#l{+ngS`^KSg1-puFuM9Tg&DUvQB zkS~_*QfgCTbBD|iH`CQ%N`qDJw;I-}X8?PEBuwf?oZIfwO)9D~I2JX?2HN^8n!3qg z_AtpMXRb$g7e}np_m=ve^}Yom*~OI~5fkwUw&R0B&_Gh2sBrAG=1$xR@}Q2L4o{8U zo05&*^1wQxM6VW0M)-mpL9$*vb=m5xJI~@fIqh4U{tJ%osd!l54`%yhXAgK4#!Kwb zVyJ?^LClxjzyJl5^UyFqzf063Ao~l=RX-cM@7KKFW03Lmtdpv#dD|AtO||*sVZ>6u z-2Dp|FXA1Cqi8($hnBdP>*8wUF5fv?>Cw|P7^A6-?R>@Zo~Xilj!OCa_h zJD5K%V!#i19Q_xO3i%a*6nN7vJ20oFU{;5ZheVyF{=?jETCDrkvk!zE!wiq-XLNxV z9{|r{tDf&t4+M=J(YtFVmW*kP)T=dfA8M`OHgjp zQF{>r*Abr&YJ)ieLo0P!-dY;$!q{jKS&nBleO74%Z#v?hVu`6oy(&c9<$9? zuWjhio&-~+NoHKBu09?3AH46;9o;W8AT)wfl8%1-d+_u4s=u@`*)XZm*W{#9_fhfZ zsUcqLKfD|ZH3Ul(%ebo@940M`Jw|iv`$`{4DfU%iBrFWhsfs>?dKo0s%l!o>O>lM2 zRj*B=ya-3pI&P4uSytNA#3Ak+ADOh%)VhMzAWf1>c)U8jYBBOho9;tuAxE$cnhs>9 zDbEXyFSbVKH8EvyXR2)P?0i}iSUYtbyLg=c^ituUg82u%D*P3ch#NZNr_H%27%B;# zzc$5bRyEQcsTSEl)r{y{Qu1ybDFBK>=9q&83VU!(oT$CI88;ogJD;3fUM>hPJ&imQ z`2PC(07o1DDRQt!C$;6oYl++52zlmOQ3>$mQLu2PGLrm(s`cE88uknv3N}B^Xq1`s zeARmF)Q&j(+7@ed5V7N0+pNUW5g)LH*)ku_$`G;wN4O~#L)FwI5%Gg%cctsu@{D~; z54&bLpBrXHTga^st;5bHd^BQJ)rJWF38`x!e0vEe5QG}_$Z^sxi#aa$bMx>(a7h)Z zo8jl+;Ewn>x5L(G{l?(S6nvfa^$rJHWH4fLy(mm}@?Rh!s`5G2rb z22yh87Re>>&Cbt9A?7MQu)uFJD}VcJ)!wwQ+;uRYYLq&FRzX**yeJQuq;qy1DkWo4 z94vJ}8jrq^{`fJ=jMCoG5ylfh=SJQGQGxBZi7`)yYwq#Q}Tr zX5`*E8b0UFk(N9KXS$P>{_-%~nMgT9@pPi|)Ifa|TBEAHaU|U&>}xW!nLzmG&ws*{ z&GxeOn|$@2=ksOkrCY74@R)@Z4`}m;v?hx_LVij4{7;0pqCH-|Hm;)(hpObJ3bd z{jms(T^u%)4s_6k7$65g!aGnXvy9umxI!Es6ZzO`t(;A(Oc|x#CTv`w?zA%6m7y=b zm;muFFJxr;799#lDaoT=e*IWwydSk0>=%I2N-wnM>>Mw)q5bQxzXKapr;Re5z1QB>))voirwmuP+=q%q;1;^{ZA)N`mz#8~X~AQl>4&=Cz(ik=Mh%u( zS+!Ac*E_@PA;7cTcLwFJ21h+mqxka{_*_51wBn{Ij{XUb*zsM2M7&P(v^*|}wh z$8HY@+Z{3{CMKYBzQ(>tpgCaao+|{wOOYjQSQGSO*ssLzR)-5&ai~MgVuf)RyADD~ zG;0V1xRO_0c-PL6_}H&>+Q7~MGi4YV7yKG&iaZcldeysk?_$Ut*T!ep=hvrW_XN}R z8|8dWAk^tM=MXkGjtExEyWB_M-=52z;Iz@`f43ymw%zQm2VZ(rkI|&rn#ZmoL#L? zSxJe+@dqWkQ3SXuc5fZwurf#t@vRBwq}9Bkp@rsS9QzsR1{_1JYMk}HVyMl%J@hN2 zthMzgustYBS7MK_gM)(_)L{1b(V3ojtYv|Kw$#rs3E6b0*hc^D6Xfo?Bi_{^B?WCY zQd!}EEPsL9_d2Dmtu6Whgk+`8o7b+siI0ziK(P@R0yN_M^y!b%-DR{^8T}7Cply-L zDCNnztL){vR^a+omxgggNhdF~wIZQLs2XYytI^`F_||;Y2cRdgv2$>-?W_(87R&{J z5Q209Y*M-)G0k0qes{Hpfs1P=N(TYa@Hn3WgOm5LI)u#b?EbEb4vXMm(lZ~NR*9x% z8OfkI4`HhX4I)xn+Gl4Jop|>ykg*iPxgy-7%hmf$yTWF=p^);O)B4zTDymm7suw`Q zG)Nlb(|Zp?VHdQ^ooxoz#wy%)OWUGC0gP8q`+Z}sWDOE;_=Tl|J`ixJ>D5_O55)ZE zLVCiMoH3wa=-_pgSCuzc*TzbDO?w~ms_?q@zCbCLSzsMQ{580&v~^`d!d8E&^?HJQ z$zrT{pAUgRgm_x`z(GV#xhGPD)rRRR>9<8@Y548;J44f?R>q7zT!9>s--o94EdY8! zP?@cS>_`w8sBkNS4JtUE?+83n-sv6>O}e3mNGqp&hdTG}N$Lbblb@S=H-NqBMxa9M-~uhK|%V2Y@4nV zq!s=F0oTbOtn|xzB|$sAr=+wP&RrPHOkDP?vA*H(01M%WfQHJE-qw4#pn_Hdgs2+| zrK_=l4OQ3CAP-CQxya|SWN-Z98{h0qM$f&p->9#T;=f{bj|-5oT95q=Bcw7?Jzdt| zZ3;P?R_4n!8n&mfd6qbDCO^H4R?X4t%k0ZkL3?iXGCiXH^VXjr(Ta^Vi*=k`iU5&^ zMm9)hOJMYrGD-u=G{@S8UCgWBOZh9vEWv{0bJ^{yd~LZ*0t}9>W%H+x7mC(f}3L3pNyq$ ze~wk-`n79IVD#GG0n7*nU%}&7D#@M2;cyhZ=7L7!<>i-)eqVw3aa~X5v#_ur zvaZqXjFmPdH;PI>CjvsFqRo!WWVI~2YeTQn6x2}tYI&ahlsn1tkS1U#6Ju;;X%GSZ zSwt43tlb0+86O`Z7i7ufg&t<6l9|%<0a>rojXDw_PVFNgKD$NrRRPzzO&#XjwT_)_ zlh`|g&I=tf2xxHh4Q3`Dx#2%t27!g~a4{HQ0zt+}_vQY7jof4<0x;lfdb(Ns){&o| zAHO56_>cU%Nl9>L1wD^PCc2e5Ezd1Y<(js|Fr2&e=l0&(m=k7HEvzdX5#sCX3&52G zLB03j8`TKZAANb%vc3Oeq&?m{>>9v@}ELHociRS z|Bpt-Fs6kX6sXS9zcY9!c@souArjSyR^}#y3*PsmBuooZ6*S)9G>!`zKL2YMtCa(! z(^Wpp*aqfx_sA$P&Pql+AFM{Sn-+YolQVeGuyW~@dZsig#Dx2%Xw%XCKj6#$HhFmu zu^tuOs^Ivwc}!z=j_p*Mzcjr{Mm@olOTECSh>1ljF`CWEp@_Mu8vcLvv+R9BH+#?W z%(-{NB0q0(dMQYKeVHlfenXwy!}ecFDP+;A$6epX2J@WEcY|{kn&^Q~o|}`O%<`uu zRK2wsj#f{yG6l>1If=m1Y^EI9%=>o(RfO}GpApOjR$k%ptem$`2o2HEbIz)x)Gs*$oZO@3QrJ0@BOX?q}p^o=XFCY1wv%1k; zi~|rTQ}6!jku|{=;SsNCAa+73O}V18VsoCR za6qPgM!V;Wdkbk$~Lg&B{At(_eS>FpRqJLtaHUVZ%td+-uB0|NuV z2-6J!UZ#$0@9t)(7c|2g2ugY9GJg87MOgHR!zS@-8^JTSEPE#%Dt!No)i!42P24dT zo@ui_WD8x58_HYJl0RkHpQUsZQg)4ss;5*2OZ*O^M}AIdRarXJ`;#S7fqtHKWaXXQ zr8{v5S)lqn)f5#iZU;%whqctn+1-baPehso-@3#`C4ld-b*FAh&E(8VI3$AiECQJb z5s)Ua+Xv)2mv7_38JBJfYt_y1+sy?!|0??E(AR3$rJUWWfG0$VY%U7U&UTBnfR{B>2*VTPw37zXi#Bn2mj(#w!8Al#lcbjzVY< z`?4p5310&Cs+YdL{shHd5K7DWde(Yn?40fPfdoulPr6$J|4gOIc_wOZ#;{UZ&CERWRK`%|hgV`PodG#k@y+n690Kf(zBqr4A?FH+1A7n(u z3OdXOD#yUJRX`zg)B}xyk9>;Q4OLEXMGo&Sq=;WBE-f7v3!)M@f;;w`dmWYZBbkJ< z2QTOrRH5;OI4(N+;D>JrcmTSywJ5uQ`?Z)By9_;aIKsOtMaR6W+~w^XFq0|q<^~Dj zFJxq72n!bt{(ZuK5-kd!nS|{K(t9+DiE((R9&opsk9i56RbhAhO$3jfia;;vTHl> zVc(`5)1!uy9vt1mFKc1-cSbbNU=+V$`46wZSw$YJI$ou#2K?c?uEtKMkKP(J^ zmdvwfjx}8_ad9Z`*ncaUC~Vfh5=@VnTAtn>MNt=?6lBi6O$woUX;apV+XMA(ZRdO7 zwU4yJhxWB-Fkktfi*AzaGYzK!0;CdjW)v2#5w^vQ@^9uk)!%*eMEZm+KQi-rT^#r&2za>s$Hlaqf`J9{}8Pqa^TObiS(Vi*@GxJ`FfM>KA{ z7k$<|a(dL`XOCRk{q+7!rDw+reRAXY3tU`X3r+iej4Nd*!u-s3ktDI*rISZITK8}4 zN7*Y-tace4%ql2sJsGyU%v(OoWH)!@zVq|fk7-CuR!DL`dwhTpd5sj)oZ_S9)SvZ# z173LGcPOEc zM2hTz2c3;fq$H;-vz^UtQDO7>@WEkyoc2Lh+^t^9OLp_EP**2Qrd@)B7??qvoM0*6)Qfg_j(joM-|1}LGLX+wbbHi!y4yxmcC>pE41 zQ3u7Zu>~G~d4CA5TQ;e+^9p3Trj=fY8

x!(FrFkob6yr5V5W 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 literal 0 HcmV?d00001 diff --git a/docs/testing/home-landing-blank-20260927/5-c-link-rectification.png b/docs/testing/home-landing-blank-20260927/5-c-link-rectification.png new file mode 100644 index 0000000000000000000000000000000000000000..39f16cd8cd29061135f6599c152cc99dbcae8da4 GIT binary patch literal 67815 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 a3{hg%dUxTZwmbL@L`_-qNuiSE+y4XOHe1gC literal 0 HcmV?d00001 diff --git a/docs/testing/home-landing-blank-20260927/6-refresh-in-rectification.png b/docs/testing/home-landing-blank-20260927/6-refresh-in-rectification.png new file mode 100644 index 0000000000000000000000000000000000000000..39f16cd8cd29061135f6599c152cc99dbcae8da4 GIT binary patch literal 67815 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 a3{hg%dUxTZwmbL@L`_-qNuiSE+y4XOHe1gC literal 0 HcmV?d00001 diff --git a/frontend/DESIGN.md b/frontend/DESIGN.md index bdafaf60..34f1997f 100644 --- a/frontend/DESIGN.md +++ b/frontend/DESIGN.md @@ -737,7 +737,9 @@ Agent 的 live 标记只有 `InlineSpinner` 一种。曾经并存的 canvas 小 校正面的所有等待复用行内等待:进入前的 hydration 在揭幕之前完成,进入后唯一的等待形态是时间线 live 行(含「正在准备下一个问题…」这一条独立 live 行)。打字回答的 live 行从发出那一帧起就是阶段句「收到,正在对照你的档案…」,按服务端 `turn.progress` 换成「正在记下这件事…」「正在重新对照盘面…」「正在准备下一个问题…」,属于流式生成中(BUG-1047)。区间交付卡只挂在最新那条采用旁白下面,不得留在更早的采集/区分题下。有未答的采集或选择题时卡仍在,「更像这个」置灰并写「先答完上面这道,再选时间」,不得整卡消失。卡上至多三列并排,相同性格句只写一次,点「更像这个」即采用该列分钟,按钮显示「正在采用…」或「已采用」。采用过程中整张卡留在原处,不得因 `busy` 卸掉。采用后前事核对结束走 `verified_idle`:一行收尾文案跟在卡片下面、与助手列对齐,没有 live 行、没有重载、没有采用状态条。卡片与右栏细则见 §11、§12。 -**每次打开网页只揭幕一次,客户端返回首页走暖快照(2026-09-26,BUG-1040)。** 整页加载(首次打开、刷新、登录后跳转)照旧放下面这一次加载屏。同一次打开里从星盘 / 星历 / 我的报告 / 星盘档案经侧栏「新建对话」、历史会话行、账户页脚或浏览器返回回到 `/`,不再出现加载环:第一次冷启动成功后,模型目录、校正入口摘要、会话分页游标和今日星语记进模块级暖快照(`lib/home-warm-snapshot.ts`,按账户隔离、只在内存、不落任何存储;账户、资料与会话列表本来就在布局层的会话列表 provider 里跨页存活)。首页重挂时若快照齐全,首帧即可用,落点按冷启动同一套规则同步算出(`?new=1` 新建本地空对话、`?c=` 打开该会话、登录返回存根与其人物范围同 BUG-1038),随后后台刷新模型目录、账户、后台回答恢复、入口摘要与今日星语,结果到了静默替换;消息没缓存的历史会话沿用首页内切换会话的留白方式。快照缺任何一项、落点需要去服务端查、或客户端导航没留下目标地址(Next 先渲染新页面、后写地址栏,`AppLink` 在点击时记下目标),一律回到冷启动,不半揭幕。账户变化、退出、任一 401 清空快照;今日星语跨日或换人按新键重取,卡片先用静态句。 +**每次打开网页只揭幕一次,客户端返回首页走暖快照(2026-09-26,BUG-1040)。** 整页加载(首次打开、刷新、登录后跳转)照旧放下面这一次加载屏。同一次打开里从星盘 / 星历 / 我的报告 / 星盘档案经侧栏「新建对话」、历史会话行、账户页脚或浏览器返回回到 `/`,不再出现加载环:第一次冷启动成功后,模型目录、校正入口摘要、会话分页游标和今日星语记进模块级暖快照(`lib/home-warm-snapshot.ts`,按账户隔离、只在内存、不落任何存储;账户、资料与会话列表本来就在布局层的会话列表 provider 里跨页存活)。首页重挂时若快照齐全,首帧即可用,落点按冷启动同一套规则同步算出(`?new=1` 新建本地空对话、`?c=` 打开该会话、其余一律当前人物的空白首页,同 BUG-1052),随后后台刷新模型目录、账户、后台回答恢复、入口摘要与今日星语,结果到了静默替换;消息没缓存的历史会话沿用首页内切换会话的留白方式。快照缺任何一项、落点需要去服务端查、或客户端导航没留下目标地址(Next 先渲染新页面、后写地址栏,`AppLink` 在点击时记下目标),一律回到冷启动,不半揭幕。账户变化、退出、任一 401 清空快照;今日星语跨日或换人按新键重取,卡片先用静态句。 + +**打开 `/` 落在哪里(2026-09-27,BUG-1052)。** 地址栏带 `?c=` 就进那条对话(分享链接、侧栏历史、在对话里刷新都靠它);带 `?new=1` 是新建对话;其余——登录后、手输网址、书签、刷新裸 `/`——一律是当前人物的空白首页(开场问候 + 输入框),已有一个没发过消息的新对话就复用它。不再记「上次在哪条对话」:离开首页、登录过期都不存任何返回记录,后台还在恢复的旧回答也不把空白首页切走。 首页只揭幕一次。揭幕前的加载屏先并行取账户 / 会话、模型目录和咨询状态,再等待 lookup、会话详情等依赖数据全部到齐;不设 8 秒硬超时,超过 `HOME_BOOTSTRAP_SLOW_MS = 20_000` 才进入现有全屏错误屏。错误屏的「重试」只取消旧请求、重载 provider 并局部重跑 bootstrap,不调用 `location.reload()`。揭幕后不得再出现任何阻塞等待或组件级 spinner:今日星语未到时问候下方副行显示静态文案「今天的星语还没写出来。」(不带 `aria-busy`),校正卡用无摘要文案,内容到达后静默替换。登录后的空首页只剩问候语、今日星语卡、生时校正卡和输入框,没有主题卡。切换到消息尚未缓存的会话时消息区留白并只给 `sr-only` 文案,不转圈;揭幕后按侧栏顺序后台预取最近 5 条会话(`SESSION_PREFETCH_COUNT`)让常见切换零等待。轨道环消失后不得再换一套动效继续等。 diff --git a/frontend/src/app/(app)/page.tsx b/frontend/src/app/(app)/page.tsx index 311789ed..150cfead 100644 --- a/frontend/src/app/(app)/page.tsx +++ b/frontend/src/app/(app)/page.tsx @@ -780,7 +780,6 @@ export default function Home() { consultationStatusMissingCount, currentSessions: () => sessionsRef.current, restoreConsultationRecovery, - resumeRectification: (session) => resumeRectificationSession.current(session), refreshAccount, setComposerNotice, commit: { setActiveSessionId, setModelCatalog, setSessions, setSessionsCursor }, diff --git a/frontend/src/components/app-sidebar.tsx b/frontend/src/components/app-sidebar.tsx index a772f0d3..c96b7276 100644 --- a/frontend/src/components/app-sidebar.tsx +++ b/frontend/src/components/app-sidebar.tsx @@ -19,7 +19,7 @@ import { usePathname } from "next/navigation"; import { useEffect, useRef } from "react"; import type { Ref } from "react"; import { AppLink } from "@/components/app-link"; -import { newChatHref, persistLoginSessionReturn, sessionHref } from "@/lib/chat-session-url"; +import { newChatHref, sessionHref } from "@/lib/chat-session-url"; import { prefetchSecondaryPage } from "@/lib/secondary-page-data"; import { prefetchBillingPanel } from "@/lib/billing-panel-loader"; import { prefetchPaymentPackages } from "@/lib/payment-packages-cache"; @@ -182,10 +182,10 @@ export function AppSidebar({ /* Real links. Leaving `/` used to be a full document load: the whole React tree, the session list and the account went with it, so coming back re-ran the entire bootstrap from zero. `/login` keeps the hard exit — - it crosses an auth boundary — and `persistLoginSessionReturn()` still - stashes the `?c=` first, so the way back to this session survives. */ + it crosses an auth boundary. Nothing is stashed on the way out: a bare + `/` lands on the blank starter home, and the way back to a conversation + is its `?c=` link (BUG-1052). */ function leaveChat() { - persistLoginSessionReturn(); closeDrawer(); } diff --git a/frontend/src/hooks/use-session-management.ts b/frontend/src/hooks/use-session-management.ts index db1223c8..9b0c3f11 100644 --- a/frontend/src/hooks/use-session-management.ts +++ b/frontend/src/hooks/use-session-management.ts @@ -8,7 +8,6 @@ import { writeChatSession } from "@/lib/chat-session-write-contract"; import { SESSION_LOOKUP_FAILED_NOTICE, SESSION_MISSING_NOTICE, - clearLoginSessionReturn, parseSessionUrlQuery, writeSessionUrl, } from "@/lib/chat-session-url"; @@ -352,9 +351,6 @@ export function useSessionManagement(params: SessionManagementParams) { pendingCreateById.current.set(nextSession.id, { continuedFromSessionId: options?.continuedFromSessionId, }); - // A new chat is not a place to come back to (BUG-1038): drop the stashed - // `?c=` a secondary-page link left, or the next bare `/` reopens it. - clearLoginSessionReturn(); setSessions((current) => replaceUnsavedEmptyConsultations(current, nextSession)); setActiveSessionId(nextSession.id); setDraft(""); @@ -624,7 +620,6 @@ export function useSessionManagement(params: SessionManagementParams) { if (isUnsavedEmptyConsultation(existing)) pendingCreateById.current.delete(existing.id); } pendingCreateById.current.set(nextSession.id, {}); - clearLoginSessionReturn(); setSessions((current) => replaceUnsavedEmptyConsultations(current, nextSession)); setActiveSessionId(nextSession.id); setDraft(""); diff --git a/frontend/src/lib/chat-session-url.ts b/frontend/src/lib/chat-session-url.ts index 392380c7..6ea18e4b 100644 --- a/frontend/src/lib/chat-session-url.ts +++ b/frontend/src/lib/chat-session-url.ts @@ -1,5 +1,10 @@ export const SESSION_URL_QUERY_KEY = "c"; export const NEW_CHAT_QUERY_KEY = "new"; +/** + * Legacy key only. Until BUG-1052 a 401 or a secondary-page link stashed the + * current `?c=` here and a bare `/` reopened it. Nothing writes it any more; + * bootstrap removes a leftover value so an old tab cannot keep a stale id. + */ export const SESSION_URL_RETURN_STORAGE_KEY = "jyotisha.session-url-return"; export const SESSION_MISSING_NOTICE = "该对话不存在或已被删除"; export const SESSION_LOOKUP_FAILED_NOTICE = "这条对话暂时读不到,请稍后重试。"; @@ -12,16 +17,15 @@ export type SessionUrlQuery = { export type BootstrapSessionSelection = { readonly sessionId: string; - readonly urlAction: "keep" | "replace-selected" | "replace-clear" | "none" | "lookup" | "new-chat"; + readonly urlAction: "keep" | "replace-clear" | "none" | "lookup" | "new-chat"; readonly missing: boolean; - readonly clearStoredReturn: boolean; }; /** * The one new-chat intent. The read-only sidebar and /people「和 TA 对话」 both * link here; the person rides on the current-subject store, not the URL. - * Bootstrap turns it into a local empty consultation and ignores (then clears) - * the stashed `?c=` return, so no older session is reopened (BUG-1015/1038). + * Bootstrap turns it into a local empty consultation, so no older session is + * reopened (BUG-1015/1038). */ export function newChatHref(): string { return "/?new=1"; @@ -63,25 +67,7 @@ export function writeSessionUrl(sessionId: string | null, mode: "push" | "replac else history.replaceState(null, "", next); } -export function persistLoginSessionReturn() { - try { - const sessionId = parseSessionUrlQuery(globalThis.window.location.search).sessionId; - if (sessionId) globalThis.sessionStorage.setItem(SESSION_URL_RETURN_STORAGE_KEY, sessionId); - } catch { - // sessionStorage can throw in private mode; login still proceeds. - } -} - -export function readLoginSessionReturn(): string | null { - try { - const raw = globalThis.sessionStorage.getItem(SESSION_URL_RETURN_STORAGE_KEY); - if (!raw || !SESSION_URL_ID_PATTERN.test(raw)) return null; - return raw; - } catch { - return null; - } -} - +/** Removes a stash an older build left behind (BUG-1052). Never read back. */ export function clearLoginSessionReturn() { try { globalThis.sessionStorage.removeItem(SESSION_URL_RETURN_STORAGE_KEY); @@ -90,111 +76,41 @@ export function clearLoginSessionReturn() { } } +/** + * Where a full load of `/` lands (BUG-1052): `?new=1` → a new chat; `?c=` → + * that conversation (shared links, sidebar links, refresh inside a + * conversation); anything else — login, a typed address, a bookmark, a + * refresh of bare `/` — → the blank starter home. There is no stored + * "return to the last conversation" any more. + */ export function resolveBootstrapSessionSelection(input: { readonly listedIds: readonly string[]; readonly defaultSessionId: string; readonly search: string; - readonly storedReturnId: string | null; }): BootstrapSessionSelection { if (parseNewChatIntent(input.search)) { - return { - sessionId: input.defaultSessionId, - urlAction: "new-chat", - missing: false, - clearStoredReturn: true, - }; + return { sessionId: input.defaultSessionId, urlAction: "new-chat", missing: false }; } const query = parseSessionUrlQuery(input.search); if (query.present) { if (query.sessionId && input.listedIds.includes(query.sessionId)) { - return { - sessionId: query.sessionId, - urlAction: "keep", - missing: false, - clearStoredReturn: true, - }; + return { sessionId: query.sessionId, urlAction: "keep", missing: false }; } if (query.sessionId) { - return { - sessionId: query.sessionId, - urlAction: "lookup", - missing: false, - clearStoredReturn: false, - }; + return { sessionId: query.sessionId, urlAction: "lookup", missing: false }; } - return { - sessionId: input.defaultSessionId, - urlAction: "replace-clear", - missing: true, - clearStoredReturn: true, - }; + return { sessionId: input.defaultSessionId, urlAction: "replace-clear", missing: true }; } - if (input.storedReturnId) { - if (input.listedIds.includes(input.storedReturnId)) { - return { - sessionId: input.storedReturnId, - urlAction: "replace-selected", - missing: false, - clearStoredReturn: true, - }; - } - return { - sessionId: input.storedReturnId, - urlAction: "lookup", - missing: false, - clearStoredReturn: false, - }; - } - return { - sessionId: input.defaultSessionId, - urlAction: "none", - missing: false, - clearStoredReturn: false, - }; + return { sessionId: input.defaultSessionId, urlAction: "none", missing: false }; } -/** - * `origin` says where the looked-up id came from. A `?c=` is already in the - * address bar, so a found session keeps it. A stashed return (the `?c=` a - * secondary-page link left behind) is not: landing on it must write it back, - * or the page shows that session without the URL that opens it — for a - * rectification session that is a locked composer that never opens (BUG-1038). - * A stashed session of another person is not a place to return to at all. - */ +/** Outcome of looking up a `?c=` id that is not in the loaded page (BUG-705). */ export function bootstrapSelectionFromLookup( - status: "found" | "missing" | "unavailable" | "other-subject", + status: "found" | "missing" | "unavailable", requestedId: string, defaultSessionId: string, - origin: "url" | "stored-return" = "url", ): BootstrapSessionSelection { - if (status === "found") { - return { - sessionId: requestedId, - urlAction: origin === "stored-return" ? "replace-selected" : "keep", - missing: false, - clearStoredReturn: true, - }; - } - if (status === "other-subject") { - return { - sessionId: defaultSessionId, - urlAction: "none", - missing: false, - clearStoredReturn: true, - }; - } - if (status === "missing") { - return { - sessionId: defaultSessionId, - urlAction: "replace-clear", - missing: true, - clearStoredReturn: true, - }; - } - return { - sessionId: defaultSessionId, - urlAction: "none", - missing: false, - clearStoredReturn: false, - }; + if (status === "found") return { sessionId: requestedId, urlAction: "keep", missing: false }; + if (status === "missing") return { sessionId: defaultSessionId, urlAction: "replace-clear", missing: true }; + return { sessionId: defaultSessionId, urlAction: "none", missing: false }; } diff --git a/frontend/src/lib/home-bootstrap-run.ts b/frontend/src/lib/home-bootstrap-run.ts index e6c8c7c1..3a27922f 100644 --- a/frontend/src/lib/home-bootstrap-run.ts +++ b/frontend/src/lib/home-bootstrap-run.ts @@ -22,6 +22,7 @@ import { import { createStartGreeting } from "@/lib/starter-greeting"; import { HOME_BOOTSTRAP_SLOW_MS, + landingYieldsToRecovery, resolveStarterHomeLandingSessionId, starterHomeLandingNeedsConsultation, type BootstrapPhase, @@ -61,7 +62,7 @@ import { import type { PublicLanguageModelCatalog } from "@/lib/public-models"; import { dropRectificationStoredPending } from "@/lib/rectification-session-composer-guard"; import type { SessionListBoot } from "@/lib/session-list-context"; -import { isUnsavedEmptyConsultation } from "@/lib/session-list-filter"; +import { isUnsavedEmptyConsultation, replaceUnsavedEmptyConsultations } from "@/lib/session-list-filter"; import { clearStaleClientReload } from "@/lib/stale-client-recovery"; import { applyWarmLanding, @@ -386,22 +387,24 @@ export async function resolveLanding( catalog: ready.nextModelCatalog, defaultSessionId: ready.nextSessions[0].id, signal, - inSubjectScope: (session) => sessionMatchesSubject(session, readCurrentSubjectId()), }); let nextSessions = lookedUp.sessions; const bootstrapSelection: BootstrapSessionSelection = lookedUp.selection; + // Bare `/` lands on the blank starter home of the current person (BUG-1052): + // an empty draft of that person is reused, otherwise one is created locally. + const inSubjectScope = nextSessions.filter((session) => sessionMatchesSubject(session, readCurrentSubjectId())); let landingSessionId = resolveStarterHomeLandingSessionId( - nextSessions, + inSubjectScope, bootstrapSelection.sessionId, bootstrapSelection.urlAction, ); - if (starterHomeLandingNeedsConsultation(nextSessions, landingSessionId, bootstrapSelection.urlAction)) { + if (starterHomeLandingNeedsConsultation(inSubjectScope, landingSessionId, bootstrapSelection.urlAction)) { const homeSession = createSession( ready.nextModelCatalog?.defaultModelId ?? "", "consultation", chartSnapshotForSession(readCurrentSubjectId(), [...(peekSubjectCatalog() ?? [])], ready.nextProfile), ); - nextSessions = [homeSession, ...nextSessions]; + nextSessions = replaceUnsavedEmptyConsultations(nextSessions, homeSession); landingSessionId = homeSession.id; } const activeListed = nextSessions.find((session) => session.id === landingSessionId) @@ -429,20 +432,17 @@ export async function resolveLanding( deps.commit.setSessions(nextSessions); if (bootstrapSelection.urlAction === "new-chat") writeSessionUrl(null, "replace"); deps.commit.setActiveSessionId(landingSessionId); - if (bootstrapSelection.clearStoredReturn) clearLoginSessionReturn(); + // An older build stashed the last `?c=` here; drop it so it never matters. + clearLoginSessionReturn(); if (bootstrapSelection.urlAction === "replace-clear") writeSessionUrl(null, "replace"); - if (bootstrapSelection.urlAction === "replace-selected") { - const selected = nextSessions.find((session) => session.id === bootstrapSelection.sessionId); - if (!selected || !isUnsavedEmptyConsultation(selected)) { - writeSessionUrl(bootstrapSelection.sessionId, "replace"); - } - } const reservedConsultation = ready.reservedConsultation; const storedPending = ready.storedPending; if (reservedConsultation?.status === "reserved") { const recoverySession = nextSessions.find((session) => session.id === reservedConsultation.sessionId); if (recoverySession) restoreConsultationRecovery(recoverySession, reservedConsultation.requestId, storedPending); - if (bootstrapSelection.urlAction === "new-chat") { + // The blank home and an explicit new chat are not taken over; the older + // answer keeps recovering in the background (BUG-1015/1052). + if (!landingYieldsToRecovery(bootstrapSelection.urlAction)) { deps.commit.setActiveSessionId(landingSessionId); deps.setComposerNotice(""); } @@ -521,8 +521,6 @@ export type HomeWarmRefreshDeps = { /** The list as Home holds it now (sessionsRef). */ currentSessions: () => ChatSession[]; restoreConsultationRecovery: HomeBootstrapIo["restoreConsultationRecovery"]; - /** Home's rectification auto-open, for a stashed return whose `?c=` is written only now. */ - resumeRectification: (session: ChatSession) => void; refreshAccount: () => Promise; setComposerNotice: (notice: string) => void; commit: { @@ -556,29 +554,15 @@ function applyWarmCatalog( /** Synchronous part of a warm return: the same landing side effects as `resolveLanding`. */ function commitWarmLanding( deps: HomeWarmRefreshDeps, - io: Pick, + io: Pick, signal: AbortSignal, ) { const { landing, modelCatalog, sessionsCursor } = deps.start; const selection = landing.selection; - const landed = applyWarmLanding(deps.currentSessions(), landing); deps.commit.setSessions((current) => applyWarmLanding(current, landing)); deps.commit.setSessionsCursor(sessionsCursor); if (selection.urlAction === "new-chat") io.writeSessionUrl(null, "replace"); - if (selection.clearStoredReturn) io.clearLoginSessionReturn(); if (selection.urlAction === "replace-clear") io.writeSessionUrl(null, "replace"); - if (selection.urlAction === "replace-selected") { - const selected = landed.find((session) => session.id === selection.sessionId); - if (!selected || !isUnsavedEmptyConsultation(selected)) { - io.writeSessionUrl(selection.sessionId, "replace"); - // Home's auto-open effect already ran on this mount, before the URL - // named the session; without this a stashed rectification session - // would sit locked, as in BUG-1038. - if (selected?.sessionType === "birth_time_rectification" && selected.id === landing.activeSessionId) { - deps.resumeRectification(selected); - } - } - } const fellBack = applyWarmCatalog(deps, io, modelCatalog, signal); if (!fellBack && selection.missing) deps.setComposerNotice(SESSION_MISSING_NOTICE); } @@ -623,9 +607,9 @@ export async function runHomeWarmRefresh(deps: HomeWarmRefreshDeps, signal: Abor if (signal.aborted || reservedConsultation?.status !== "reserved") return; const recoverySession = deps.currentSessions().find((session) => session.id === reservedConsultation.sessionId); if (recoverySession) deps.restoreConsultationRecovery(recoverySession, reservedConsultation.requestId, storedPending); - if (start.landing.selection.urlAction === "new-chat") { + if (!landingYieldsToRecovery(start.landing.selection.urlAction)) { // Same rule as the cold path: recovery continues in the background and - // does not take over an explicit new-chat landing. + // does not take over the blank home or an explicit new chat. deps.commit.setActiveSessionId(start.landing.activeSessionId); deps.setComposerNotice(""); } diff --git a/frontend/src/lib/home-bootstrap.ts b/frontend/src/lib/home-bootstrap.ts index e672d938..747ff362 100644 --- a/frontend/src/lib/home-bootstrap.ts +++ b/frontend/src/lib/home-bootstrap.ts @@ -16,14 +16,17 @@ export type LandingSession = Readonly<{ id: string; sessionType: string; messages: readonly unknown[]; + /** False for a list row whose messages were not loaded; absent means loaded. */ + messagesHydrated?: boolean; + archivedAt?: string | null; }>; -export type LandingUrlAction = "keep" | "replace-selected" | "replace-clear" | "none" | "lookup" | "new-chat"; +export type LandingUrlAction = "keep" | "replace-clear" | "none" | "lookup" | "new-chat"; /** * A rectification Case is opened only when the address bar names that session - * (`?c=`), including refresh and a login return that restored the URL. Bare `/` - * after login must not open the latest history item in the background. + * (`?c=`), including refresh. Bare `/` after login must not open the latest + * history item in the background. */ export function shouldAutoOpenRectificationSession(input: { readonly sessionType: string | undefined; @@ -34,26 +37,29 @@ export function shouldAutoOpenRectificationSession(input: { return parseSessionUrlQuery(input.search).sessionId === input.sessionId; } +/** An unsaved empty consultation: the blank starter home, not a conversation. */ +export function isStarterHomeDraft(session: LandingSession): boolean { + return session.sessionType === "consultation" + && !session.archivedAt + && session.messagesHydrated !== false + && session.messages.length === 0; +} + /** - * Default `/` landing prefers an empty consultation so the starter home can - * center. Deep links and login-return URLs keep the requested session. + * Bare `/` (and a dead `?c=`) lands on the blank starter home, never on an old + * conversation (BUG-1052; replaces the BUG-599 rule that only swapped away + * from a rectification session and otherwise opened the latest chat). An + * empty draft already in memory is reused; otherwise + * `starterHomeLandingNeedsConsultation` asks for a new local one. `?c=`, + * its lookup and `?new=1` keep the requested session. */ export function resolveStarterHomeLandingSessionId( sessions: readonly LandingSession[], selectedId: string, urlAction: LandingUrlAction, ): string { - if (urlAction === "keep" || urlAction === "replace-selected" || urlAction === "lookup" || urlAction === "new-chat") { - return selectedId; - } - const selected = sessions.find((session) => session.id === selectedId); - if (selected?.sessionType !== "birth_time_rectification") return selectedId; - const emptyConsultation = sessions.find( - (session) => session.sessionType === "consultation" && session.messages.length === 0, - ); - if (emptyConsultation) return emptyConsultation.id; - const anyConsultation = sessions.find((session) => session.sessionType === "consultation"); - return anyConsultation?.id ?? selectedId; + if (urlAction === "keep" || urlAction === "lookup" || urlAction === "new-chat") return selectedId; + return sessions.find(isStarterHomeDraft)?.id ?? selectedId; } export function starterHomeLandingNeedsConsultation( @@ -62,9 +68,18 @@ export function starterHomeLandingNeedsConsultation( urlAction: LandingUrlAction, ): boolean { if (urlAction === "new-chat") return true; - if (urlAction === "keep" || urlAction === "replace-selected" || urlAction === "lookup") return false; + if (urlAction === "keep" || urlAction === "lookup") return false; const landing = sessions.find((session) => session.id === landingId); - return !landing || landing.sessionType === "birth_time_rectification"; + return !landing || !isStarterHomeDraft(landing); +} + +/** + * Whether a background answer being recovered may take the screen. Only when + * the address bar named a conversation; the blank home and an explicit new + * chat stay put while the older answer keeps recovering (BUG-1015/1052). + */ +export function landingYieldsToRecovery(urlAction: LandingUrlAction): boolean { + return urlAction === "keep" || urlAction === "lookup"; } export const HOME_BOOTSTRAP_SLOW_MS = 20_000; diff --git a/frontend/src/lib/home-cloud-sync.ts b/frontend/src/lib/home-cloud-sync.ts index 1baf4fd7..2329f37b 100644 --- a/frontend/src/lib/home-cloud-sync.ts +++ b/frontend/src/lib/home-cloud-sync.ts @@ -2,9 +2,6 @@ import { writeChatSession } from "@/lib/chat-session-write-contract"; import { clearHomeWarmSnapshot } from "@/lib/home-warm-snapshot"; import { bootstrapSelectionFromLookup, - parseSessionUrlQuery, - persistLoginSessionReturn, - readLoginSessionReturn, resolveBootstrapSessionSelection, SESSION_LOOKUP_FAILED_NOTICE, type BootstrapSessionSelection, @@ -413,9 +410,10 @@ export class LoginRedirectError extends Error { } export function redirectToLogin(): never { - // Any 401 ends this account's warm return to `/` (BUG-1040). + // Any 401 ends this account's warm return to `/` (BUG-1040). Signing in + // again lands on the blank starter home, not on the conversation that was + // open when the session expired (BUG-1052), so nothing is stashed here. clearHomeWarmSnapshot(); - persistLoginSessionReturn(); window.location.replace("/login"); throw new LoginRedirectError(); } @@ -518,8 +516,6 @@ export async function resolveLookupBootstrap(input: { defaultSessionId: string; catalog: PublicLanguageModelCatalog | null; signal?: AbortSignal; - /** Current person's scope. A stashed return outside it is dropped, not reopened. */ - inSubjectScope?: (session: ChatSession) => boolean; }): Promise<{ selection: BootstrapSessionSelection; sessions: ChatSession[]; @@ -530,24 +526,15 @@ export async function resolveLookupBootstrap(input: { listedIds: input.sessions.map((session) => session.id), defaultSessionId: input.defaultSessionId, search: window.location.search, - storedReturnId: readLoginSessionReturn(), }); if (selection.urlAction !== "lookup") { return { selection, sessions: input.sessions, notice: null }; } - const origin = parseSessionUrlQuery(window.location.search).present ? "url" : "stored-return"; const looked = await lookupSessionById(selection.sessionId, input.catalog, input.signal); throwIfAborted(input.signal); if (looked.status === "found") { - if (origin === "stored-return" && input.inSubjectScope && !input.inSubjectScope(looked.session)) { - return { - selection: bootstrapSelectionFromLookup("other-subject", looked.session.id, input.defaultSessionId, origin), - sessions: input.sessions, - notice: null, - }; - } return { - selection: bootstrapSelectionFromLookup("found", looked.session.id, input.defaultSessionId, origin), + selection: bootstrapSelectionFromLookup("found", looked.session.id, input.defaultSessionId), sessions: mergeHydratedSession(input.sessions, looked.session), notice: null, }; diff --git a/frontend/src/lib/home-warm-start.ts b/frontend/src/lib/home-warm-start.ts index 17e3d715..b6f1ebb3 100644 --- a/frontend/src/lib/home-warm-start.ts +++ b/frontend/src/lib/home-warm-start.ts @@ -6,8 +6,8 @@ * document already completed one cold bootstrap for that account (a complete * `home-warm-snapshot`), Home starts ready: no loading ring, no awaited * request, landing resolved synchronously with the same rules as the cold - * path (`?new=1`, `?c=`, the login-return stash and its person scope from - * BUG-1038). Anything missing, or a landing that needs a network lookup, + * path (`?new=1`, `?c=`, otherwise the blank starter home of the current + * person, BUG-1052). Anything missing, or a landing that needs a network lookup, * returns null and Home takes the unchanged cold path (BUG-1021: never a * half-reveal). */ @@ -15,8 +15,6 @@ import { resolveBirthTimeConsultationRoute } from "@/lib/birth-time-consultation-consent"; import { sessionMatchesSubject } from "@/lib/chat-profile-picker-model"; import { - bootstrapSelectionFromLookup, - readLoginSessionReturn, resolveBootstrapSessionSelection, type BootstrapSessionSelection, } from "@/lib/chat-session-url"; @@ -80,7 +78,6 @@ export type HomeWarmStartInput = Readonly<{ sessions: readonly ChatSession[]; /** The query of the `/` being opened; null when it cannot be known yet. */ search: string | null; - storedReturnId: string | null; storedPendingRaw: string | null; subjectId: string; subjectCatalog: readonly ChartLibraryRecord[] | null; @@ -128,7 +125,6 @@ function warmDaily(accountId: string, subjectId: string, profile: Profile | null export function resolveWarmLanding(input: { sessions: readonly ChatSession[]; search: string; - storedReturnId: string | null; inSubjectScope: (session: ChatSession) => boolean; createHomeSession: () => ChatSession; }): WarmLanding | null { @@ -140,21 +136,12 @@ export function resolveWarmLanding(input: { } const known = pendingSession ? [pendingSession, ...input.sessions] : [...input.sessions]; const defaultSessionId = scoped[0].id; - let selection = resolveBootstrapSessionSelection({ + const selection = resolveBootstrapSessionSelection({ listedIds: known.map((session) => session.id), defaultSessionId, search: input.search, - storedReturnId: input.storedReturnId, }); if (selection.urlAction === "lookup") return null; - if (selection.urlAction === "replace-selected") { - // Only a stashed return lands here. A stash of another person is not a - // place to return to (BUG-1038). - const stashed = known.find((session) => session.id === selection.sessionId); - if (stashed && !input.inSubjectScope(stashed)) { - selection = bootstrapSelectionFromLookup("other-subject", stashed.id, defaultSessionId, "stored-return"); - } - } let activeSessionId = resolveStarterHomeLandingSessionId(scoped, selection.sessionId, selection.urlAction); if (starterHomeLandingNeedsConsultation(scoped, activeSessionId, selection.urlAction)) { pendingSession ??= input.createHomeSession(); @@ -178,7 +165,6 @@ export function resolveHomeWarmStart(input: HomeWarmStartInput): HomeWarmStart | const landing = resolveWarmLanding({ sessions: input.sessions, search, - storedReturnId: input.storedReturnId, inSubjectScope: (session) => sessionMatchesSubject(session, input.subjectId), createHomeSession: () => createSession( catalog.defaultModelId, @@ -232,7 +218,6 @@ export function homeWarmStartInput(list: Pick { assert.equal(parseNewChatIntent("?renew=1"), false); }); -test("new chat intent overrides listed, unlisted and invalid c plus login return", () => { +test("new chat intent overrides listed, unlisted and invalid c", () => { for (const requestedId of [sessionB, sessionC, "not-a-uuid"]) { + // 原值: 入参带 storedReturnId: sessionB,期望对象含 clearStoredReturn: true。 + // 新值: 没有 storedReturnId 入参,期望对象没有 clearStoredReturn 字段;new-chat 优先级不变。 + // 原因: BUG-1052 D3 删除登录返回存根,选择函数不再读它,也不再决定是否清它(启动一律清旧值)。 assert.deepEqual(resolveBootstrapSessionSelection({ listedIds: [sessionA, sessionB], defaultSessionId: sessionA, search: `?new=1&c=${requestedId}`, - storedReturnId: sessionB, }), { sessionId: sessionA, urlAction: "new-chat", missing: false, - clearStoredReturn: true, }); } }); @@ -79,10 +79,16 @@ test("new chat bootstrap consumes the URL before activation and reuses local-onl const clearIntent = 'if (bootstrapSelection.urlAction === "new-chat") writeSessionUrl(null, "replace");'; assert.ok(bootstrap.includes(clearIntent)); assert.ok(bootstrap.indexOf(clearIntent) < bootstrap.indexOf("setActiveSessionId(landingSessionId)")); - assert.match(bootstrap, /if \(bootstrapSelection\.clearStoredReturn\) clearLoginSessionReturn\(\)/); + // 原值: /if \(bootstrapSelection\.clearStoredReturn\) clearLoginSessionReturn\(\)/(按选择结果决定清存根)。 + // 新值: 无条件 `clearLoginSessionReturn();`,只为清掉旧版本留下的值。 + // 原因: BUG-1052 D3 存根不再写入也不再读取,启动时清一次旧值即可。 + assert.match(bootstrap, /\n clearLoginSessionReturn\(\);\n/); const landing = sourceBetween(bootstrap, "if (starterHomeLandingNeedsConsultation(", "const activeListed"); assert.equal((landing.match(/createSession\(/g) ?? []).length, 1); - assert.match(landing, /nextSessions = \[homeSession, \.\.\.nextSessions\]/); + // 原值: /nextSessions = \[homeSession, \.\.\.nextSessions\]/(直接前插)。 + // 新值: replaceUnsavedEmptyConsultations(nextSessions, homeSession)(前插并去掉其他未落库空对话)。 + // 原因: BUG-1052 D1 复用/不重复空草稿,与 startNewChat 同一个去重函数;仍只本地创建一条。 + assert.match(landing, /nextSessions = replaceUnsavedEmptyConsultations\(nextSessions, homeSession\)/); assert.match(landing, /landingSessionId = homeSession\.id/); assert.doesNotMatch(landing, /persistSession|writeChatSession|fetch\(|writeSessionUrl/); }); @@ -99,38 +105,43 @@ test("there is one new-chat intent: /people「和 TA 对话」 links through new } }); -test("bootstrap reads a listed ?c= session and ignores login storage", () => { +test("bootstrap reads a listed ?c= session", () => { + // 原值: 入参 storedReturnId: sessionC,期望含 clearStoredReturn: true;标题 "…and ignores login storage"。 + // 新值: 无 storedReturnId 入参与 clearStoredReturn 字段;?c= 仍 keep。 + // 原因: BUG-1052 D2 `?c=` 行为不变;D3 存根已删除,没有可忽略的存储。 assert.deepEqual( resolveBootstrapSessionSelection({ listedIds: [sessionA, sessionB], defaultSessionId: sessionA, search: `?${SESSION_URL_QUERY_KEY}=${sessionB}`, - storedReturnId: sessionC, }), { sessionId: sessionB, urlAction: "keep", missing: false, - clearStoredReturn: true, }, ); }); -test("bootstrap restores a stored login return only when the URL has no c", () => { +test("bare / after login never returns to a stored conversation (BUG-1052)", () => { + // 原值(BUG-1038 起): 标题 "bootstrap restores a stored login return only when the URL has no c", + // storedReturnId: sessionB + search "" → { sessionId: sessionB, urlAction: "replace-selected", clearStoredReturn: true }。 + // 新值: 选择函数没有存根入参;裸 `/` 一律 { sessionId: 默认, urlAction: "none" },落点再换成空白首页。 + // 原因: 产品 2026-09-27 决策 D3——401 / 重新登录不再回到旧对话(真机:登录后落在旧生时校正里提问)。 assert.deepEqual( resolveBootstrapSessionSelection({ listedIds: [sessionA, sessionB], defaultSessionId: sessionA, search: "", - storedReturnId: sessionB, }), { - sessionId: sessionB, - urlAction: "replace-selected", + sessionId: sessionA, + urlAction: "none", missing: false, - clearStoredReturn: true, }, ); + const lib = readFileSync(new URL("../src/lib/chat-session-url.ts", import.meta.url), "utf8"); + assert.doesNotMatch(lib, /persistLoginSessionReturn|readLoginSessionReturn|storedReturnId|replace-selected/); }); test("bootstrap clears an illegal or unknown session query", () => { @@ -144,13 +155,14 @@ test("bootstrap clears an illegal or unknown session query", () => { listedIds: [sessionA], defaultSessionId: sessionA, search: `?${SESSION_URL_QUERY_KEY}=not-a-uuid`, - storedReturnId: sessionB, }), + // 原值: 入参带 storedReturnId: sessionB,期望含 clearStoredReturn: true。 + // 新值: 去掉这两项;非法 ?c= 仍 replace-clear + missing。 + // 原因: BUG-1052 D3 删除存根字段。 { sessionId: sessionA, urlAction: "replace-clear", missing: true, - clearStoredReturn: true, }, ); // 原值: 未出现在已加载页的合法 UUID 直接 missing + replace-clear @@ -161,13 +173,12 @@ test("bootstrap clears an illegal or unknown session query", () => { listedIds: [sessionA], defaultSessionId: sessionA, search: `?${SESSION_URL_QUERY_KEY}=${sessionB}`, - storedReturnId: null, }), + // 原值: 入参 storedReturnId: null,期望含 clearStoredReturn: false。新值: 去掉这两项。原因: BUG-1052 D3。 { sessionId: sessionB, urlAction: "lookup", missing: false, - clearStoredReturn: false, }, ); assert.equal(SESSION_LOOKUP_FAILED_NOTICE.includes("暂时读不到"), true); @@ -179,13 +190,12 @@ test("default bootstrap selection does not write a session URL", () => { listedIds: [sessionA, sessionB], defaultSessionId: sessionA, search: "", - storedReturnId: null, }), + // 原值: 入参 storedReturnId: null,期望含 clearStoredReturn: false。新值: 去掉这两项。原因: BUG-1052 D3。 { sessionId: sessionA, urlAction: "none", missing: false, - clearStoredReturn: false, }, ); @@ -196,7 +206,10 @@ test("default bootstrap selection does not write a session URL", () => { assert.match(bootstrap, /defaultSessionId: ready\.nextSessions\[0\]\.id/); assert.match(bootstrap, /setActiveSessionId\(landingSessionId\)/); assert.match(bootstrap, /urlAction === "replace-clear"/); - assert.match(bootstrap, /urlAction === "replace-selected"/); + // 原值: assert.match(bootstrap, /urlAction === "replace-selected"/)(存根落点写回 ?c=)。 + // 新值: 反向断言不再出现。 + // 原因: BUG-1052 D3 存根删除后 replace-selected 只剩存根一个来源,已随之删除。 + assert.doesNotMatch(bootstrap, /replace-selected/); assert.doesNotMatch(bootstrap, /writeSessionUrl\([^)]*, "push"\)/); assert.match(bootstrap, /setComposerNotice\(SESSION_MISSING_NOTICE\)/); assert.match(bootstrap, /resolveLookupBootstrap/); @@ -275,12 +288,12 @@ test("creating and leaving a session keep the address bar in sync", () => { assert.doesNotMatch(recovery, /writeSessionUrl/); }); -test("401 login redirect stashes the current session id without changing the login page", () => { +test("401 login redirect stashes nothing and the login page still returns to bare /", () => { const redirect = sourceBetween(page, "function redirectToLogin(): never {", "function waitForUndoWindow"); - // Former value: the body was only `window.location.replace("/login")`. - // 401 now stashes a UUID ?c= so returning to `/` can restore the session - // without adding a `next` query to the login page. - assert.match(redirect, /persistLoginSessionReturn\(\);/); + // 原值: 标题 "401 login redirect stashes the current session id …",assert.match(redirect, /persistLoginSessionReturn\(\);/)。 + // 新值: 反向断言 redirect 里不再有任何存根写入;登录页仍只回 `/`。 + // 原因: BUG-1052 D3——重新登录落在空白首页,不再回到 401 时所在的对话。 + assert.doesNotMatch(redirect, /persistLoginSessionReturn|sessionStorage/); assert.match(redirect, /window\.location\.replace\("\/login"\);/); assert.doesNotMatch(login, /sessionStorage|SESSION_URL_RETURN|searchParams\.get\("next"\)/); assert.match(login, /successPath\?: "\/" \| "\/admin"/); @@ -319,8 +332,12 @@ test("home stays a client-read query on a static route", () => { assert.equal(SESSION_MISSING_NOTICE, "该对话不存在或已被删除"); }); -test("login return storage only accepts a UUID session id", () => { - const memory = new Map(); +test("a leftover login-return stash from an older build is only ever cleared", () => { + // 原值: 标题 "login return storage only accepts a UUID session id":persistLoginSessionReturn() 写入后 + // readLoginSessionReturn() === sessionA,非法值读回 null。 + // 新值: 写 / 读两个函数已删除;旧浏览器里残留的值由 clearLoginSessionReturn() 清掉,且清除在隐私模式抛错时不影响启动。 + // 原因: BUG-1052 D3——删除存根写入与读取,只保留一次性清理旧值。 + const memory = new Map([[SESSION_URL_RETURN_STORAGE_KEY, sessionA]]); const previousWindow = globalThis.window; Object.defineProperty(globalThis, "window", { configurable: true, @@ -337,10 +354,13 @@ test("login return storage only accepts a UUID session id", () => { }, }); try { - persistLoginSessionReturn(); - assert.equal(readLoginSessionReturn(), sessionA); - memory.set(SESSION_URL_RETURN_STORAGE_KEY, "not-a-uuid"); - assert.equal(readLoginSessionReturn(), null); + clearLoginSessionReturn(); + assert.equal(memory.has(SESSION_URL_RETURN_STORAGE_KEY), false); + Object.defineProperty(globalThis, "sessionStorage", { + configurable: true, + value: { removeItem() { throw new Error("private mode"); } }, + }); + assert.doesNotThrow(() => clearLoginSessionReturn()); } finally { if (previousWindow === undefined) { Reflect.deleteProperty(globalThis, "window"); diff --git a/frontend/tests/consultation-recovery.test.ts b/frontend/tests/consultation-recovery.test.ts index 79aef329..e3facbae 100644 --- a/frontend/tests/consultation-recovery.test.ts +++ b/frontend/tests/consultation-recovery.test.ts @@ -217,7 +217,7 @@ test("tab-local pending ids drive strict bootstrap recovery before the global fa status: "reserved", }), resolveLookupBootstrap: async (input) => ({ - selection: { sessionId: input.defaultSessionId, urlAction: "none", missing: false, clearStoredReturn: false }, + selection: { sessionId: input.defaultSessionId, urlAction: "none", missing: false }, sessions: input.sessions, notice: null, }), diff --git a/frontend/tests/home-bootstrap-reveal.test.ts b/frontend/tests/home-bootstrap-reveal.test.ts index f5c2a0e5..26644d17 100644 --- a/frontend/tests/home-bootstrap-reveal.test.ts +++ b/frontend/tests/home-bootstrap-reveal.test.ts @@ -9,6 +9,7 @@ import { bootstrapLoadingCopy, bootstrapPrepareSettled, bootstrapRevealDelayMs, + landingYieldsToRecovery, resolveStarterHomeLandingSessionId, sessionIdsToPrefetch, shouldAutoOpenRectificationSession, @@ -64,8 +65,14 @@ test("default landing replaces a latest rectification session with an empty cons assert.equal(resolveStarterHomeLandingSessionId(sessions, rectificationId, "none"), emptyConsultationId); assert.equal(resolveStarterHomeLandingSessionId(sessions, rectificationId, "replace-clear"), emptyConsultationId); assert.equal(resolveStarterHomeLandingSessionId(sessions, rectificationId, "keep"), rectificationId); - assert.equal(resolveStarterHomeLandingSessionId(sessions, rectificationId, "replace-selected"), rectificationId); - assert.equal(resolveStarterHomeLandingSessionId(sessions, consultationId, "none"), consultationId); + // 原值: resolveStarterHomeLandingSessionId(sessions, rectificationId, "replace-selected") === rectificationId。 + // 新值: 该 urlAction 已删除,改为断言 lookup(`?c=` 查到后)同样保留所选会话。 + // 原因: BUG-1052 D3 删除登录返回存根,replace-selected 只服务存根。 + assert.equal(resolveStarterHomeLandingSessionId(sessions, rectificationId, "lookup"), rectificationId); + // 原值: resolveStarterHomeLandingSessionId(sessions, consultationId, "none") === consultationId(裸 `/` 打开最近普通对话)。 + // 新值: === emptyConsultationId(裸 `/` 落空白首页,复用已有空草稿)。 + // 原因: BUG-1052 D1 产品决策——裸 `/` 永远是空白首页,不落旧对话。 + assert.equal(resolveStarterHomeLandingSessionId(sessions, consultationId, "none"), emptyConsultationId); assert.equal( starterHomeLandingNeedsConsultation( [{ id: rectificationId, sessionType: "birth_time_rectification", messages: [] }], @@ -103,10 +110,40 @@ test("new chat landing requests a fresh consultation even with an existing ordin assert.equal(starterHomeLandingNeedsConsultation([], consultationId, "new-chat"), true); }); -test("bare home still opens the selected ordinary chat without creating another", () => { +test("bare home with a latest ordinary chat lands on a new blank starter home (BUG-1052)", () => { + // 原值: 标题 "bare home still opens the selected ordinary chat without creating another"; + // none → consultationId,NeedsConsultation === false。 + // 新值: none → 仍返回 consultationId(没有空草稿可复用),但 NeedsConsultation === true,启动会本地新建空对话落地。 + // 原因: BUG-1052 D1——登录后 / 地址栏 / 书签 / 刷新裸 `/` 都落空白首页,不再打开最近一条旧对话。 const sessions = [{ id: consultationId, sessionType: "consultation", messages: [{ role: "user" }] }]; assert.equal(resolveStarterHomeLandingSessionId(sessions, consultationId, "none"), consultationId); - assert.equal(starterHomeLandingNeedsConsultation(sessions, consultationId, "none"), false); + assert.equal(starterHomeLandingNeedsConsultation(sessions, consultationId, "none"), true); +}); + +test("a list row whose messages were not loaded is not mistaken for the blank home", () => { + // The session list can omit messages (messagesHydrated false). Such a row is + // a saved conversation, not an empty draft, so bare `/` must not land on it. + const sessions = [ + { id: consultationId, sessionType: "consultation", messages: [], messagesHydrated: false }, + { id: rectificationId, sessionType: "birth_time_rectification", messages: [] }, + ]; + assert.equal(resolveStarterHomeLandingSessionId(sessions, consultationId, "none"), consultationId); + assert.equal(starterHomeLandingNeedsConsultation(sessions, consultationId, "none"), true); + assert.equal(resolveStarterHomeLandingSessionId(sessions, rectificationId, "none"), rectificationId); + assert.equal(starterHomeLandingNeedsConsultation(sessions, rectificationId, "none"), true); + // An archived empty row is not a draft either. + const archived = [{ id: emptyConsultationId, sessionType: "consultation", messages: [], archivedAt: "2026-09-01T00:00:00Z" }]; + assert.equal(starterHomeLandingNeedsConsultation(archived, emptyConsultationId, "none"), true); + // A dead `?c=` (replace-clear) lands on the blank home too. + assert.equal(starterHomeLandingNeedsConsultation(sessions, consultationId, "replace-clear"), true); +}); + +test("a background answer takes the screen only when the address bar named a conversation", () => { + assert.equal(landingYieldsToRecovery("keep"), true); + assert.equal(landingYieldsToRecovery("lookup"), true); + assert.equal(landingYieldsToRecovery("none"), false); + assert.equal(landingYieldsToRecovery("replace-clear"), false); + assert.equal(landingYieldsToRecovery("new-chat"), false); }); test("prepare phase settles only when every applicable item has an answer", () => { diff --git a/frontend/tests/home-bootstrap-run.test.ts b/frontend/tests/home-bootstrap-run.test.ts index e0aee8a7..037fdc5e 100644 --- a/frontend/tests/home-bootstrap-run.test.ts +++ b/frontend/tests/home-bootstrap-run.test.ts @@ -138,7 +138,6 @@ function createHarness(options: { sessionId: input.defaultSessionId, urlAction: "none", missing: false, - clearStoredReturn: false, }, sessions: input.sessions, notice: null, @@ -173,7 +172,6 @@ test("a successful bootstrap fills the home once, after every read has settled", sessionId: input.defaultSessionId, urlAction: "none", missing: false, - clearStoredReturn: false, }, sessions: input.sessions, notice: null, @@ -350,7 +348,7 @@ test("a catalog outage is a recoverable bootstrap error, never a login redirect" test("standard new=1 bootstrap creates a conversation bound to the selected person", async () => { const { deps, state } = createHarness({ sessions: [], io: { resolveLookupBootstrap: async input => ({ - selection: { sessionId: input.defaultSessionId, urlAction: "new-chat", missing: false, clearStoredReturn: false }, + selection: { sessionId: input.defaultSessionId, urlAction: "new-chat", missing: false }, sessions: input.sessions, notice: null, }), writeSessionUrl: () => {}, clearLoginSessionReturn: () => {}, diff --git a/frontend/tests/home-warm-return-lifecycle.test.tsx b/frontend/tests/home-warm-return-lifecycle.test.tsx index 459063b7..bdff969d 100644 --- a/frontend/tests/home-warm-return-lifecycle.test.tsx +++ b/frontend/tests/home-warm-return-lifecycle.test.tsx @@ -549,7 +549,11 @@ test("background refresh: a changed rectification entry summary replaces the car } }); -test("a stashed return to a rectification session reopens it on a warm return, with its URL", async () => { +test("a warm return to bare / after a rectification session lands on the blank starter home, not back in it", async () => { + // 原值(BUG-1038/1040): 标题 "a stashed return to a rectification session reopens it on a warm return, with its URL"; + // 离开时存根 === RECT → 账户页脚回裸 `/` → 地址栏写回 `/?c=RECT`、校正面重新打开、存根清空。 + // 新值: 离开时不存根(null)→ 账户页脚回裸 `/` → 首帧无加载环、就是空白首页「新对话」,地址栏仍是 `/`,不打开校正面。 + // 原因: BUG-1052 D1(裸 `/` 永远空白首页)+ D3(删除存根);暖路径与冷路径同规则,BUG-1040「无加载环」照旧锁住。 const tab = createTab(); const api = installApi(); let doc: Doc | undefined; @@ -557,13 +561,36 @@ test("a stashed return to a rectification session reopens it on a warm return, w doc = await coldHome(tab, api, `/?c=${RECT}`); await doc.settle(() => doc!.view().rectificationSurface, "the rectification surface"); await doc.followLink("星盘"); - assert.equal(tab.session.getItem("jyotisha.session-url-return"), RECT); - // The read-only footer links to bare `/`: the stash decides the landing. + assert.equal(tab.session.getItem("jyotisha.session-url-return"), null); + // The read-only footer links to bare `/`. await doc.followLink("林遥,打开账户"); assert.equal(doc.firstCommits[1].loading, false); - assert.equal(doc.view().url, `/?c=${RECT}`, "the stashed ?c= is written back"); - await doc.settle(() => doc!.view().rectificationSurface, "the stashed rectification session to open (not a locked page, BUG-1038)"); - assert.equal(tab.session.getItem("jyotisha.session-url-return"), null); + assert.equal(doc.firstCommits[1].title, "新对话", "the blank starter home is the first frame"); + for (let i = 0; i < 5; i += 1) await doc.h.idle(); + const view = doc.view(); + assert.equal(view.url, "/"); + assert.equal(view.title, "新对话"); + assert.equal(view.starter, true); + assert.equal(view.rectificationSurface, false); + assert.deepEqual(doc.errors, []); + } finally { + await doc?.close(); + api.restore(); + } +}); + +test("a cold load of bare / with an old conversation and a rectification in the list shows the blank starter home", async () => { + const tab = createTab(); + const api = installApi(); + let doc: Doc | undefined; + try { + doc = await coldHome(tab, api); + const view = doc.view(); + assert.equal(view.title, "新对话"); + assert.equal(view.starter, true); + assert.equal(view.transcript, false); + assert.equal(view.url, "/"); + assert.equal(view.rectificationSurface, false); assert.deepEqual(doc.errors, []); } finally { await doc?.close(); diff --git a/frontend/tests/home-warm-snapshot.test.ts b/frontend/tests/home-warm-snapshot.test.ts index a668977e..6f29b9b1 100644 --- a/frontend/tests/home-warm-snapshot.test.ts +++ b/frontend/tests/home-warm-snapshot.test.ts @@ -61,7 +61,7 @@ function input(patch: Partial = {}): HomeWarmStartInput { const boot = { sessions: [], rawRows: [], cursor: null, account: account(), signedOut: false }; return { account: account(), settled: true, signedOut: false, boot, sessions: [session(CONS)], search: "?new=1", - storedReturnId: null, storedPendingRaw: null, subjectId: "self", subjectCatalog: [], previewRequested: false, + storedPendingRaw: null, subjectId: "self", subjectCatalog: [], previewRequested: false, now: new Date("2026-09-26T04:00:00Z"), ...patch, }; } @@ -199,45 +199,58 @@ test("warm start is refused whenever a piece is missing", () => { }); }); -test("warm landing follows the cold rules: ?c= keeps, stash writes back, other person's stash is dropped", () => { +test("warm landing follows the cold rules: ?c= keeps, bare / is the blank starter home, ?new=1 is a new chat", () => { + // 原值(BUG-1038/1040): 标题 "warm landing follows the cold rules: ?c= keeps, stash writes back, other person's stash is dropped"; + // stash(RECT) → activeSessionId RECT + replace-selected + clearStoredReturn;foreign stash → none + clearStoredReturn; + // bare → CONS("bare / on a rectification head lands on a consultation, as cold"); + // newChat 带 stash → clearStoredReturn true;不在内存的 stash → null(回冷启动查)。 + // 新值: resolveWarmLanding 没有 storedReturnId 入参;bare → 本地新建空对话(pendingSession),不是 CONS / RECT; + // 已有同一人物的空草稿时复用它、不新建;另一人物的空草稿不复用;?c= keep 与 ?new=1 不变。 + // 原因: BUG-1052 D1(裸 `/` 永远空白首页、复用空草稿)+ D3(删除登录返回存根);暖路径与冷路径同一套规则。 const scope = (subject: string) => (item: ChatSession) => (subject === "self" ? item.chartProfileId === "self" : item.chartProfileId === subject); const create = () => session("new-local", { messages: [], title: "新对话" }); const rect = session(RECT, { sessionType: "birth_time_rectification", messages: [] }); const other = session(PERSON, { chartProfileId: PERSON, chartProfileRole: "other" }); const list = [rect, session(CONS), other]; - const keep = resolveWarmLanding({ sessions: list, search: `?c=${CONS}`, storedReturnId: null, inSubjectScope: scope("self"), createHomeSession: create }); + const keep = resolveWarmLanding({ sessions: list, search: `?c=${CONS}`, inSubjectScope: scope("self"), createHomeSession: create }); assert.equal(keep?.activeSessionId, CONS); assert.equal(keep?.selection.urlAction, "keep"); assert.equal(keep?.pendingSession, null); - const stash = resolveWarmLanding({ sessions: list, search: "", storedReturnId: RECT, inSubjectScope: scope("self"), createHomeSession: create }); - assert.equal(stash?.activeSessionId, RECT); - assert.equal(stash?.selection.urlAction, "replace-selected"); - assert.equal(stash?.selection.clearStoredReturn, true); + const keepRect = resolveWarmLanding({ sessions: list, search: `?c=${RECT}`, inSubjectScope: scope("self"), createHomeSession: create }); + assert.equal(keepRect?.activeSessionId, RECT, "a ?c= rectification link still opens it (D2)"); - const foreign = resolveWarmLanding({ sessions: list, search: "", storedReturnId: PERSON, inSubjectScope: scope("self"), createHomeSession: create }); - assert.notEqual(foreign?.activeSessionId, PERSON, "another person's stash is not a place to return to (BUG-1038)"); - assert.equal(foreign?.selection.urlAction, "none"); - assert.equal(foreign?.selection.clearStoredReturn, true); + const bare = resolveWarmLanding({ sessions: list, search: "", inSubjectScope: scope("self"), createHomeSession: create }); + assert.equal(bare?.activeSessionId, "new-local", "bare / lands on the blank starter home, not the latest chat"); + assert.equal(bare?.pendingSession?.id, "new-local"); + assert.equal(bare?.selection.urlAction, "none"); - const bare = resolveWarmLanding({ sessions: list, search: "", storedReturnId: null, inSubjectScope: scope("self"), createHomeSession: create }); - assert.equal(bare?.activeSessionId, CONS, "bare / on a rectification head lands on a consultation, as cold"); + const consHead = resolveWarmLanding({ sessions: [session(CONS), rect], search: "", inSubjectScope: scope("self"), createHomeSession: create }); + assert.equal(consHead?.activeSessionId, "new-local", "a latest ordinary chat with messages is not the landing either"); - const newChat = resolveWarmLanding({ sessions: list, search: "?new=1", storedReturnId: RECT, inSubjectScope: scope("self"), createHomeSession: create }); + const draft = session("self-draft", { messages: [], title: "新对话" }); + const foreignDraft = session("other-draft", { messages: [], title: "新对话", chartProfileId: PERSON, chartProfileRole: "other" }); + const reuse = resolveWarmLanding({ sessions: [foreignDraft, rect, draft, session(CONS)], search: "", inSubjectScope: scope("self"), createHomeSession: create }); + assert.equal(reuse?.activeSessionId, "self-draft", "an empty draft of the current person is reused"); + assert.equal(reuse?.pendingSession, null, "no duplicate draft is created"); + + const newChat = resolveWarmLanding({ sessions: list, search: "?new=1", inSubjectScope: scope("self"), createHomeSession: create }); assert.equal(newChat?.activeSessionId, "new-local"); - assert.equal(newChat?.selection.clearStoredReturn, true, "the stash is ignored and cleared by a new chat"); + assert.equal(newChat?.selection.urlAction, "new-chat"); - const emptyPerson = resolveWarmLanding({ sessions: list, search: "?new=1", storedReturnId: null, inSubjectScope: scope("nobody"), createHomeSession: create }); + const emptyPerson = resolveWarmLanding({ sessions: list, search: "?new=1", inSubjectScope: scope("nobody"), createHomeSession: create }); assert.equal(emptyPerson?.activeSessionId, "new-local", "a person with no sessions gets exactly one local chat"); + const emptyPersonBare = resolveWarmLanding({ sessions: list, search: "", inSubjectScope: scope("nobody"), createHomeSession: create }); + assert.equal(emptyPersonBare?.activeSessionId, "new-local"); - assert.equal(resolveWarmLanding({ sessions: list, search: "", storedReturnId: "99999999-9999-4999-8999-999999999999", inSubjectScope: scope("self"), createHomeSession: create }), null, "a stash not in memory needs the cold lookup"); + assert.equal(resolveWarmLanding({ sessions: list, search: "?c=99999999-9999-4999-8999-999999999999", inSubjectScope: scope("self"), createHomeSession: create }), null, "a ?c= not in memory needs the cold lookup"); }); test("applying the landing replaces older unsaved empty chats; model reconcile mirrors readSessions", () => { const oldEmpty = session("old-empty", { messages: [] }); const pending = session("new-local", { messages: [] }); - const landing = { activeSessionId: pending.id, pendingSession: pending, selection: { sessionId: pending.id, urlAction: "new-chat" as const, missing: false, clearStoredReturn: true } }; + const landing = { activeSessionId: pending.id, pendingSession: pending, selection: { sessionId: pending.id, urlAction: "new-chat" as const, missing: false } }; const next = applyWarmLanding([oldEmpty, session(CONS)], landing); assert.deepEqual(next.map((item) => item.id), ["new-local", CONS]); const same = [pending, session(CONS)]; diff --git a/frontend/tests/new-chat-from-people-lifecycle.test.tsx b/frontend/tests/new-chat-from-people-lifecycle.test.tsx index dc851c96..1c848df2 100644 --- a/frontend/tests/new-chat-from-people-lifecycle.test.tsx +++ b/frontend/tests/new-chat-from-people-lifecycle.test.tsx @@ -8,8 +8,9 @@ Object.assign(globalThis, { React }); // BUG-1038. Real React lifecycle, not source assertions: the real Home page, // the real sidebar and the real /people page, composed like app/(app)/layout. -// The state that survives between pages is the sessionStorage login-return -// stash a secondary-page link writes (`jyotisha.session-url-return`). +// Until BUG-1052 the state that survived between pages was the sessionStorage +// login-return stash a secondary-page link wrote (`jyotisha.session-url-return`); +// that stash is gone and a bare `/` lands on the blank starter home. // Synthetic ids and profiles only (no real person data). const USER = "11111111-1111-4111-8111-111111111111"; @@ -343,9 +344,10 @@ for (const page of [ if (page.mobile) await doc.openDrawer(); await doc.followLink(page.label); assert.equal(tab.location.pathname, page.path); - // The secondary link stashes the session it left; this is the state that - // must not survive into the new chat. - assert.equal(tab.session.getItem("jyotisha.session-url-return"), RECT); + // 原值: assert.equal(tab.session.getItem("jyotisha.session-url-return"), RECT)(次级页链接存下离开的会话)。 + // 新值: === null,离开首页什么都不存。 + // 原因: BUG-1052 D3 删除登录返回存根;本用例要守的「新建对话不回旧校正」由下方断言继续锁住。 + assert.equal(tab.session.getItem("jyotisha.session-url-return"), null); if (page.path === "/people") { await doc.settle(() => doc!.h.elements().some((node) => node.text.includes("和 TA 对话")), "the people page"); } @@ -419,7 +421,8 @@ test("a stashed rectification session of the person you left is not reopened as let doc: Awaited> | undefined; try { doc = await openRectificationThenGoTo(tab, api, "星盘档案"); - assert.equal(tab.session.getItem("jyotisha.session-url-return"), RECT); + // 原值: === RECT(离开时存根)。新值: === null。原因: BUG-1052 D3 不再存根;落点断言不变。 + assert.equal(tab.session.getItem("jyotisha.session-url-return"), null); await doc.settle(() => doc!.h.elements().some((node) => node.tagName === "BUTTON" && node.text.includes("阿澈")), "the people list"); await doc.h.event(doc.button("阿澈")); await doc.h.event(doc.button("看星盘")); @@ -441,7 +444,7 @@ test("a stashed rectification session of the person you left is not reopened as assert.equal(view.title, "新对话"); assert.ok(view.chartName.includes("阿澈"), `lands in the current person's chat: ${view.chartName}`); assert.equal(api.opens(), opensBefore, "the other person's rectification session is not opened"); - assert.equal(tab.session.getItem("jyotisha.session-url-return"), null, "the out-of-scope stash is dropped"); + assert.equal(tab.session.getItem("jyotisha.session-url-return"), null, "nothing is stashed"); assert.deepEqual(doc.errors, []); } finally { await doc?.close(); @@ -449,21 +452,26 @@ test("a stashed rectification session of the person you left is not reopened as } }); -test("a stashed session of the same person found beyond the first page opens with its URL, not as a locked page", async () => { - // The stash id is not in the listed page, so bootstrap looks it up. Found - // used to mean "keep" — but the address bar had no ?c=, so the - // rectification auto-open never fired and the composer stayed locked. +test("a leftover stash from an older build is ignored and cleared: bare / lands on the blank starter home (BUG-1052)", async () => { + // 原值(BUG-1038): 标题 "a stashed session of the same person found beyond the first page opens with its URL, not as a locked page"; + // 存根 RECT 不在首屏列表 → lookup 找到 → 打开校正面、地址栏写回 `/?c=RECT`、opens === 1、存根清空。 + // 新值: 同样的残留存根 + 裸 `/` → 空白首页「新对话」,不查这条会话、不打开校正,地址栏仍是 `/`,残留值被清掉。 + // 原因: BUG-1052 D3 删除登录返回存根(旧浏览器里的残留值只清不读);D1 裸 `/` 永远空白首页。 const tab = createTab(); tab.session.setItem("jyotisha.session-url-return", RECT); const { api, restore } = installApi({ listRectification: false }); let doc: Awaited> | undefined; try { doc = await openDocument(tab, "/"); - await doc.settle(() => doc!.view().rectificationSurface, "the stashed rectification session to open"); + await doc.settle(() => doc!.view().title !== null, "home to reveal"); + for (let i = 0; i < 10; i += 1) await doc.h.idle(); const view = doc.view(); - assert.equal(view.title, "生时校正 · 04:45–05:15"); - assert.equal(view.url, `/?c=${RECT}`); - assert.equal(api.opens(), 1); + assert.equal(view.title, "新对话"); + assert.equal(view.url, "/"); + assert.equal(view.rectificationSurface, false); + assert.equal(view.inputDisabled, false); + assert.equal(api.opens(), 0); + assert.equal(api.requests.includes(`GET /api/sessions/${RECT}`), false, "the stashed id is not looked up"); assert.equal(tab.session.getItem("jyotisha.session-url-return"), null); assert.deepEqual(doc.errors, []); } finally { @@ -472,13 +480,15 @@ test("a stashed session of the same person found beyond the first page opens wit } }); -test("an in-page new chat drops the stashed return, so a later bare / does not reopen the old session", async () => { +test("an in-page new chat leaves no return trail, so a later bare / cannot reopen the old session", async () => { + // 原值: 标题 "an in-page new chat drops the stashed return, …";预置存根 RECT,startNewChat 后断言存根被清成 null。 + // 新值: 不预置存根,断言 startNewChat 前后这把钥匙都不存在(新建对话不写任何返回记录)。 + // 原因: BUG-1052 D3 删除存根后 startNewChat 不再负责清它(启动时统一清旧值,见上一条用例)。 const { useRef, useState } = React; const { useSessionManagement } = await import("../src/hooks/use-session-management.ts"); const { previewModelCatalog, emptyProfile } = await import("../src/lib/home-types.ts"); type Params = Parameters[0]; const tab = createTab(); - tab.session.setItem("jyotisha.session-url-return", RECT); const h = createClientLifecycleHarness(); const previous = { sessionStorage: Object.getOwnPropertyDescriptor(globalThis, "sessionStorage"), @@ -520,3 +530,116 @@ test("an in-page new chat drops the stashed return, so a later bare / does not r } } }); + +// BUG-1052 (product decision 2026-09-27). Real-device incident: after signing +// in, a user typed a question into what looked like the home page but was the +// previous birth-time rectification conversation. A full load of `/` without +// `?c=` now always lands on the blank starter home; `?c=` still opens its +// conversation, and a refresh inside a conversation keeps it. + +const hasText = (doc: Awaited>, text: string) => doc.h.elements().some((node) => node.text.includes(text)); + +for (const variant of [ + { label: "an ordinary conversation with messages", listRectification: false }, + { label: "a birth-time rectification", listRectification: true }, +]) { + test(`bare / whose most recent session is ${variant.label} lands on the blank starter home`, async () => { + const tab = createTab(); + const { api, restore } = installApi({ listRectification: variant.listRectification }); + let doc: Awaited> | undefined; + try { + doc = await openDocument(tab, "/"); + await doc.settle(() => doc!.view().title !== null, "home to reveal"); + for (let i = 0; i < 10; i += 1) await doc.h.idle(); + const view = doc.view(); + assert.equal(view.title, "新对话"); + assert.equal(view.url, "/", "no old session id is written into the URL"); + assert.equal(view.rectificationSurface, false); + assert.equal(view.inputDisabled, false); + assert.notEqual(view.placeholder, "正在打开生时校正…"); + assert.equal(hasText(doc, "虚构回答"), false, "the old conversation's transcript is not shown"); + assert.equal(api.opens(), 0, "no rectification case is opened"); + assert.deepEqual(doc.errors, []); + } finally { + await doc?.close(); + restore(); + } + }); +} + +test("/?c= still opens that conversation, and a refresh keeps it", async () => { + const tab = createTab(); + const { api, restore } = installApi(); + let doc: Awaited> | undefined; + try { + doc = await openDocument(tab, `/?c=${CONS}`); + await doc.settle(() => doc!.view().title === "事业方向" && hasText(doc!, "虚构回答"), "the linked conversation"); + assert.equal(doc.view().url, `/?c=${CONS}`); + await doc.close(); + doc = undefined; + // Refresh: same tab, same address, a new document. + doc = await openDocument(tab, `/?c=${CONS}`); + await doc.settle(() => doc!.view().title === "事业方向" && hasText(doc!, "虚构回答"), "the same conversation after refresh"); + assert.equal(doc.view().url, `/?c=${CONS}`); + assert.equal(api.opens(), 0); + assert.deepEqual(doc.errors, []); + } finally { + await doc?.close(); + restore(); + } +}); + +test("a refresh inside a rectification conversation stays in it (its ?c= is in the address bar)", async () => { + const tab = createTab(); + const { api, restore } = installApi(); + let doc: Awaited> | undefined; + try { + doc = await openDocument(tab, `/?c=${RECT}`); + await doc.settle(() => doc!.view().rectificationSurface, "the rectification session to open"); + const address = doc.view().url; + assert.equal(address, `/?c=${RECT}`); + await doc.close(); + doc = undefined; + doc = await openDocument(tab, address); + await doc.settle(() => doc!.view().rectificationSurface, "the rectification session after refresh"); + assert.equal(doc.view().title, "生时校正 · 04:45–05:15"); + assert.equal(doc.view().url, `/?c=${RECT}`); + assert.equal(api.opens(), 2); + assert.deepEqual(doc.errors, []); + } finally { + await doc?.close(); + restore(); + } +}); + +test("a 401 inside a rectification conversation, then signing in again, lands on the blank starter home", async () => { + const tab = createTab(); + const { api, restore } = installApi(); + let doc: Awaited> | undefined; + try { + doc = await openDocument(tab, `/?c=${RECT}`); + await doc.settle(() => doc!.view().rectificationSurface, "the rectification session to open"); + // The session expires: any 401 goes through redirectToLogin. + const { redirectToLogin, LoginRedirectError } = await import("../src/lib/home-cloud-sync.ts"); + assert.throws(() => redirectToLogin(), LoginRedirectError); + assert.equal(tab.location.assigned.at(-1), "/login"); + assert.equal(tab.session.getItem("jyotisha.session-url-return"), null, "nothing is stashed for the way back"); + await doc.close(); + doc = undefined; + const opensBefore = api.opens(); + // email-otp-login's successPath is "/": a document load of bare `/`. + doc = await openDocument(tab, "/"); + await doc.settle(() => doc!.view().title !== null, "home to reveal after sign-in"); + for (let i = 0; i < 10; i += 1) await doc.h.idle(); + const view = doc.view(); + assert.equal(view.title, "新对话"); + assert.equal(view.url, "/"); + assert.equal(view.rectificationSurface, false); + assert.equal(view.inputDisabled, false); + assert.equal(api.opens(), opensBefore, "the rectification conversation is not reopened"); + assert.deepEqual(doc.errors, []); + } finally { + await doc?.close(); + restore(); + } +}); diff --git a/frontend/tests/new-chat-recovery.test.ts b/frontend/tests/new-chat-recovery.test.ts index 8405fe1c..16ef1b0c 100644 --- a/frontend/tests/new-chat-recovery.test.ts +++ b/frontend/tests/new-chat-recovery.test.ts @@ -61,7 +61,7 @@ function account(): Account { }; } -async function bootstrapWithRecovery(urlAction: "new-chat" | "none") { +async function bootstrapWithRecovery(urlAction: "new-chat" | "none" | "keep") { // 原值:把 page.tsx 激活段和 hook 里的 restore 一起塞进 vm。 // 新值:直接调用 runHomeBootstrap,restore 仍是 hook 里的真实函数。 // 原因:启动流程已搬出 page.tsx;调用整段函数还覆盖 new-chat 会新建空咨询。 @@ -155,7 +155,6 @@ async function bootstrapWithRecovery(urlAction: "new-chat" | "none") { sessionId: localSession.id, urlAction, missing: false, - clearStoredReturn: urlAction === "new-chat", }, sessions: input.sessions, notice: null, @@ -185,11 +184,27 @@ test("new chat keeps its local landing while a reserved older consultation recov assert.equal(pending.current?.phase, "recovering"); }); -test("ordinary home landing still activates and announces the reserved consultation", async () => { - const { state, pending, writes, oldSession } = await bootstrapWithRecovery("none"); +test("bare / keeps the blank starter home while a reserved older consultation recovers (BUG-1052)", async () => { + // 原值: 标题 "ordinary home landing still activates and announces the reserved consultation"; + // none → state.active === oldSession.id,notice「回答仍在后台生成,正在自动恢复。」,storedCleared === false。 + // 新值: none → 停在空白首页(本地空对话 localSession),notice 清空,恢复照常在后台进行;storedCleared === true。 + // 原因: BUG-1052 D1——裸 `/` 永远落空白首页、不落旧对话,与 BUG-1015 的 ?new=1 同一条「不抢落点」规则; + // D3——启动一律清掉旧版本留下的存根值。「地址栏点名会话时恢复可以接管」改由下一条 keep 用例锁住。 + const { state, pending, writes, localSession, oldSession } = await bootstrapWithRecovery("none"); + assert.equal(state.active, localSession.id); + assert.equal(isUnsavedEmptyConsultation(state.sessions.find((item) => item.id === state.active)!), true); + assert.equal(state.notice, ""); + assert.equal(state.storedCleared, true); + assert.deepEqual(writes, []); + assert.equal(state.pendingSession, oldSession.id); + assert.equal(state.phase, "recovering"); + assert.equal(pending.current?.sessionId, oldSession.id); +}); + +test("a ?c= landing still activates and announces the reserved consultation", async () => { + const { state, pending, writes, oldSession } = await bootstrapWithRecovery("keep"); assert.equal(state.active, oldSession.id); assert.equal(state.notice, "回答仍在后台生成,正在自动恢复。"); - assert.equal(state.storedCleared, false); assert.deepEqual(writes, []); assert.equal(pending.current?.sessionId, oldSession.id); }); diff --git a/frontend/tests/session-list-lifecycle.test.tsx b/frontend/tests/session-list-lifecycle.test.tsx index 1b24911b..9ed6d8cf 100644 --- a/frontend/tests/session-list-lifecycle.test.tsx +++ b/frontend/tests/session-list-lifecycle.test.tsx @@ -273,7 +273,7 @@ test("Home connects to the real provider current generation during person-switch fetchModelCatalog: async () => previewModelCatalog, fetchActiveConsultationStatus: async () => null, redirectToLogin: () => { redirects += 1; throw new Error("unexpected redirect"); }, resolveLookupBootstrap: async input => ({ - selection: { sessionId: input.defaultSessionId, urlAction: "none", missing: false, clearStoredReturn: false }, + selection: { sessionId: input.defaultSessionId, urlAction: "none", missing: false }, sessions: input.sessions, notice: null, }), writeSessionUrl: noop, clearLoginSessionReturn: noop, clearStaleClientReload: noop, diff --git a/frontend/tests/session-lookup-unlisted.test.ts b/frontend/tests/session-lookup-unlisted.test.ts index 85b3b83a..17a41a88 100644 --- a/frontend/tests/session-lookup-unlisted.test.ts +++ b/frontend/tests/session-lookup-unlisted.test.ts @@ -19,7 +19,6 @@ test("an unlisted ?c= UUID must look up the server instead of announcing deletio listedIds: [sessionA], defaultSessionId: sessionA, search: `?${SESSION_URL_QUERY_KEY}=${sessionB}`, - storedReturnId: null, }); assert.equal(selection.urlAction, "lookup"); assert.equal(selection.missing, false); @@ -43,42 +42,40 @@ test("an unlisted ?c= UUID must look up the server instead of announcing deletio }); test("lookup results: found keeps URL, 404 deletes, 5xx keeps URL", () => { + // 原值: 三个期望对象各带 clearStoredReturn(true / true / false)。 + // 新值: 去掉 clearStoredReturn,其余字段不变。 + // 原因: BUG-1052 D3 删除登录返回存根,选择结果不再携带清存根标记。 assert.deepEqual(bootstrapSelectionFromLookup("found", sessionB, sessionA), { sessionId: sessionB, urlAction: "keep", missing: false, - clearStoredReturn: true, }); assert.deepEqual(bootstrapSelectionFromLookup("missing", sessionB, sessionA), { sessionId: sessionA, urlAction: "replace-clear", missing: true, - clearStoredReturn: true, }); assert.deepEqual(bootstrapSelectionFromLookup("unavailable", sessionB, sessionA), { sessionId: sessionA, urlAction: "none", missing: false, - clearStoredReturn: false, }); assert.notEqual(SESSION_LOOKUP_FAILED_NOTICE, SESSION_MISSING_NOTICE); }); -test("a looked-up stashed return writes its URL back; another person's stash is dropped (BUG-1038)", () => { - assert.deepEqual(bootstrapSelectionFromLookup("found", sessionB, sessionA, "stored-return"), { - sessionId: sessionB, - urlAction: "replace-selected", - missing: false, - clearStoredReturn: true, - }); - assert.deepEqual(bootstrapSelectionFromLookup("other-subject", sessionB, sessionA, "stored-return"), { - sessionId: sessionA, - urlAction: "none", - missing: false, - clearStoredReturn: true, - }); - // The ?c= origin is unchanged: the address bar already carries the id. - assert.equal(bootstrapSelectionFromLookup("found", sessionB, sessionA, "url").urlAction, "keep"); +test("only a ?c= is ever looked up; there is no stashed-return origin any more (BUG-1052)", () => { + // 原值(BUG-1038): 标题 "a looked-up stashed return writes its URL back; another person's stash is dropped"; + // bootstrapSelectionFromLookup(…, "stored-return") found → replace-selected,"other-subject" → none + 清存根; + // "url" 来源 found → keep。 + // 新值: 函数只剩 (status, requestedId, defaultSessionId) 三参;found 恒为 keep;源码里不再有来源参数与 other-subject。 + // 原因: BUG-1052 D3 删除登录返回存根,lookup 只剩地址栏 `?c=` 一个来源(其 keep 语义不变,D2)。 + assert.equal(bootstrapSelectionFromLookup.length, 3); + assert.equal(bootstrapSelectionFromLookup("found", sessionB, sessionA).urlAction, "keep"); + const lib = readFileSync(new URL("../src/lib/chat-session-url.ts", import.meta.url), "utf8"); + const cloud = readFileSync(new URL("../src/lib/home-cloud-sync.ts", import.meta.url), "utf8"); + for (const source of [lib, cloud]) { + assert.doesNotMatch(source, /stored-return|other-subject|readLoginSessionReturn/); + } }); test("cloud lookup and session management call the server before clearing ?c=", () => { diff --git a/frontend/tests/sidebar-contract.test.ts b/frontend/tests/sidebar-contract.test.ts index b302439d..0e45cadf 100644 --- a/frontend/tests/sidebar-contract.test.ts +++ b/frontend/tests/sidebar-contract.test.ts @@ -206,7 +206,11 @@ test("reaches chart, ephemeris and reports with links, not a document load", () // ——所以产品拍板换成客户端跳转,React 树与内存缓存因此能活过这一跳。 // `?c=` 的保存(`persistLoginSessionReturn`)一步没少,仍在跳转之前。 // `/login` 仍是硬跳转,由 chat-navigation-a11y-contract 守着。 - assert.match(appSidebar, /function leaveChat\(\) \{\s*persistLoginSessionReturn\(\);/); + // 原值: assert.match(appSidebar, /function leaveChat\(\) \{\s*persistLoginSessionReturn\(\);/)。 + // 新值: leaveChat 只关抽屉,侧栏源码里不再出现 persistLoginSessionReturn。 + // 原因: BUG-1052 D3——离开首页不再存 `?c=`,回裸 `/` 落空白首页;回到某条对话走它的 `?c=` 链接。 + assert.match(appSidebar, /function leaveChat\(\) \{\s*closeDrawer\(\);\s*\}/); + assert.doesNotMatch(appSidebar, /persistLoginSessionReturn/); assert.match(appSidebar, /\{ href: "\/chart", label: "星盘"/); assert.match(appSidebar, /\{ href: "\/ephemeris", label: "星历"/); assert.match(appSidebar, /\{ href: "\/reports", label: "我的报告"/);