From 8573a0d7b04a12d54a72e27ee292732ddc21e2ee Mon Sep 17 00:00:00 2001 From: Fu-Jie <33599649+Fu-Jie@users.noreply.github.com> Date: Mon, 16 Mar 2026 15:39:14 +0800 Subject: [PATCH] feat: add interactive selection dialog to batch installer (#60) * feat: add interactive selection dialog to batch installer * feat: improve batch installer selection dialog * feat: add search and filtering to batch installer dialog * fix: sync type filter with selected plugins * fix: sync search results with selected plugins * feat: add multi-repository batch install support * fix: clarify single-call multi-repo usage * feat: add repository filters to selection dialog * refactor: simplify selection dialog header * docs: simplify batch installer quick start * docs: feature batch installer on homepage --- README.md | 8 + README_CN.md | 8 + .../tools/batch-install-plugins-tool.md | 63 +- .../tools/batch-install-plugins-tool.zh.md | 63 +- docs/plugins/tools/batch-install-plugins.md | 63 +- .../plugins/tools/batch-install-plugins.zh.md | 63 +- docs/plugins/tools/index.md | 2 +- docs/plugins/tools/index.zh.md | 2 +- .../batch-install-plugins/ANNOUNCEMENT.md | 61 +- .../batch-install-plugins/ANNOUNCEMENT_CN.md | 61 +- plugins/tools/batch-install-plugins/README.md | 63 +- .../tools/batch-install-plugins/README_CN.md | 63 +- .../batch_install_plugins.py | 762 ++++++++++++++++-- .../tools/batch-install-plugins/install.png | Bin 0 -> 287384 bytes plugins/tools/batch-install-plugins/v1.1.0.md | 36 + .../tools/batch-install-plugins/v1.1.0_CN.md | 36 + 16 files changed, 977 insertions(+), 377 deletions(-) create mode 100644 plugins/tools/batch-install-plugins/install.png create mode 100644 plugins/tools/batch-install-plugins/v1.1.0.md create mode 100644 plugins/tools/batch-install-plugins/v1.1.0_CN.md diff --git a/README.md b/README.md index 1b2745a..708b071 100644 --- a/README.md +++ b/README.md @@ -90,6 +90,13 @@ A collection of enhancements, plugins, and prompts for [open-webui](https://gith **Maximize your context window.** Intelligently compresses chat history using LLM logic to save tokens and costs while maintaining a high-quality reasoning chain. +### 6. [Batch Install Plugins from GitHub](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80) [![Market](https://img.shields.io/badge/Get-Market-blue?style=flat-square&logo=openwebui)](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80) + +**Faster plugin onboarding across community repositories.** Pull plugins from multiple GitHub repositories in one request, then narrow the result set inside an interactive dialog with repository tags, type filters, keyword search, and descriptions before installing only the subset you want. + +![Batch Install Plugins Dialog](./plugins/tools/batch-install-plugins/install.png) +> *A single install dialog can merge multiple repositories and let you filter visually before anything is installed.* + ## 📦 Project Contents @@ -111,6 +118,7 @@ Located in the `plugins/` directory, containing Python-based enhancements: - **Smart Mind Map Tool** (`smart-mind-map-tool`): The tool version of Smart Mind Map, enabling AI proactive/autonomous invocation. - **OpenWebUI Skills Manager Tool** (`openwebui-skills-manager-tool`): Native tool for managing OpenWebUI skills. +- **Batch Install Plugins from GitHub** (`batch-install-plugins`): Discovers plugins from multiple GitHub repositories and installs them through an interactive repository/type-filtered selection dialog. ### Filters diff --git a/README_CN.md b/README_CN.md index 2fc7392..7b4de0b 100644 --- a/README_CN.md +++ b/README_CN.md @@ -87,6 +87,13 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词 **挑战 Token 極限。** 采用多专家异步压缩逻辑,在保持高吞吐量推理链的同时,大幅降低 Token 消耗。 +### 6. [Batch Install Plugins from GitHub](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80) [![Market](https://img.shields.io/badge/Get-Market-blue?style=flat-square&logo=openwebui)](https://openwebui.com/posts/batch_install_plugins_install_popular_plugins_in_s_c9fd6e80) + +**更快试用多个社区插件仓库。** 一次请求即可聚合多个 GitHub 仓库里的插件,再通过交互式对话框里的仓库标签、类型筛选、关键词搜索和描述信息,把要安装的范围缩小到真正需要的子集。 + +![Batch Install Plugins Dialog](./plugins/tools/batch-install-plugins/install.png) +> *一个安装对话框就能合并多个仓库,并在真正安装前先完成可视化筛选。* + ## 📦 项目内容 @@ -108,6 +115,7 @@ OpenWebUI 增强功能集合。包含个人开发与收集的插件、提示词 - **智能思维导图工具** (`smart-mind-map-tool`): 思维导图的 Tool 版本,支持 AI 主动/自主调用。 - **OpenWebUI Skills 管理工具** (`openwebui-skills-manager-tool`): 用于管理 OpenWebUI Skills 的原生工具。 +- **Batch Install Plugins from GitHub** (`batch-install-plugins`): 从多个 GitHub 仓库发现插件,并通过支持仓库/类型筛选的交互式选择对话框完成安装。 ### Filters (消息处理) diff --git a/docs/plugins/tools/batch-install-plugins-tool.md b/docs/plugins/tools/batch-install-plugins-tool.md index f702de4..12186f3 100644 --- a/docs/plugins/tools/batch-install-plugins-tool.md +++ b/docs/plugins/tools/batch-install-plugins-tool.md @@ -1,6 +1,6 @@ # Batch Install Plugins from GitHub -**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.0.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) +**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.1.0 | **Project:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) One-click batch install plugins from GitHub repositories to your OpenWebUI instance. @@ -8,9 +8,10 @@ One-click batch install plugins from GitHub repositories to your OpenWebUI insta - **One-Click Install**: Install all plugins with a single command - **Auto-Update**: Automatically updates previously installed plugins -- **Public GitHub Support**: Install plugins from any public GitHub repository +- **Public GitHub Support**: Install plugins from one or many public GitHub repositories - **Multi-Type Support**: Supports Pipe, Action, Filter, and Tool plugins -- **Confirmation**: Shows plugin list before installing, allows selective installation +- **Multi-Repository Picker**: Combine multiple repositories in one request and review them in a single grouped dialog +- **Interactive Selection Dialog**: Filter by repository and type, search by keyword, review plugin descriptions, then install only the checked subset - **i18n**: Supports 11 languages ## Flow @@ -20,7 +21,7 @@ User Input │ ▼ ┌─────────────────────────────────────┐ -│ Discover Plugins from GitHub │ +│ Discover Plugins from GitHub Repos │ │ (fetch file tree + parse .py) │ └─────────────────────────────────────┘ │ @@ -32,8 +33,8 @@ User Input │ ▼ ┌─────────────────────────────────────┐ -│ Show Confirmation Dialog │ -│ (list plugins + exclude hint) │ +│ Show Selection Dialog │ +│ (repo groups + filters + search) │ └─────────────────────────────────────┘ │ ├── [Cancel] → End @@ -57,49 +58,23 @@ User Input ## Interactive Installation Workflow -Each request handles one repository. To mix repositories, send another request after the previous installation completes. +The `repo` parameter accepts one or more `owner/repo` values separated by commas, semicolons, or new lines. + +After plugin discovery and filtering, OpenWebUI opens a browser dialog built with the `execute` event. The dialog merges results from every requested repository, groups them by repository, supports repository tags, type filters, and keyword search, and lets you check exactly which plugins to install before the API calls start. + +If one user request mentions multiple repositories, keep them in the same request so the model can pass them into a single tool call. ## Quick Start: Install Popular Collections -Copy any of these prompts and paste them into your chat: +Paste this prompt into your chat: ``` -# Install all from my collection (default) -Install all plugins - -# Add popular community tools -Install all plugins from iChristGit/OpenWebui-Tools - -# Add utility-focused extensions -Install all plugins from Haervwe/open-webui-tools - -# Add mixed community implementations -Install all plugins from Classic298/open-webui-plugins - -# Add function-based plugins -Install all plugins from suurt8ll/open_webui_functions - -# Add OpenRouter pipe integration -Install all plugins from rbb-dev/Open-WebUI-OpenRouter-pipe +Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools, Haervwe/open-webui-tools, Classic298/open-webui-plugins, suurt8ll/open_webui_functions, rbb-dev/Open-WebUI-OpenRouter-pipe ``` -Each line is a separate request. Already installed plugins are automatically updated. +Once the dialog opens, use the repository tags, type filters, and keyword search to narrow the list before installing. Already installed plugins are automatically updated. -## Usage Examples - -For more advanced usage patterns: - -``` -# Filter by plugin type -"Install only tool plugins from iChristGit/OpenWebui-Tools" -"Install only action plugins from Classic298/open-webui-plugins" - -# Exclude specific plugins -"Install all plugins from Haervwe/open-webui-tools, exclude_keywords=test,deprecated" - -# Install from your own repository -"Install all plugins from your-username/my-plugin-collection" -``` +You can replace that repository list with your own collections whenever needed. ## Default Repository @@ -127,11 +102,11 @@ For other repositories: | `SKIP_KEYWORDS` | `test,verify,example,template,mock` | Comma-separated keywords to skip | | `TIMEOUT` | `20` | Request timeout in seconds | -## Confirmation Timeout +## Selection Dialog Timeout -User confirmation dialogs have a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to: +The plugin selection dialog has a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to: - Read and review the plugin list -- Make installation decisions +- Check or uncheck the plugins they want - Handle network delays ## Support diff --git a/docs/plugins/tools/batch-install-plugins-tool.zh.md b/docs/plugins/tools/batch-install-plugins-tool.zh.md index cdd7dfe..0a2553d 100644 --- a/docs/plugins/tools/batch-install-plugins-tool.zh.md +++ b/docs/plugins/tools/batch-install-plugins-tool.zh.md @@ -1,6 +1,6 @@ # Batch Install Plugins from GitHub -**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.0.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) +**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.1.0 | **项目:** [OpenWebUI Extensions](https://github.com/Fu-Jie/openwebui-extensions) 一键将 GitHub 仓库中的插件批量安装到你的 OpenWebUI 实例。 @@ -8,9 +8,10 @@ - 一键安装:单个命令安装所有插件 - 自动更新:自动更新之前安装过的插件 -- 公开 GitHub 支持:支持从任何公开 GitHub 仓库安装插件 +- 公开 GitHub 支持:支持从一个或多个公开 GitHub 仓库安装插件 - 多类型支持:支持 Pipe、Action、Filter 和 Tool 插件 -- 安装确认:安装前显示插件列表,支持选择性安装 +- 多仓库选择器:一次请求可合并多个仓库,并在同一个分组对话框中查看 +- 交互式选择对话框:先按仓库和类型筛选、按关键词搜索并查看描述信息,再勾选要安装的插件,只安装所选子集 - 国际化:支持 11 种语言 ## 流程 @@ -20,7 +21,7 @@ │ ▼ ┌─────────────────────────────────────┐ -│ 从 GitHub 发现插件 │ +│ 从 GitHub 多仓库发现插件 │ │ (获取文件树 + 解析 .py 文件) │ └─────────────────────────────────────┘ │ @@ -32,8 +33,8 @@ │ ▼ ┌─────────────────────────────────────┐ -│ 显示确认对话框 │ -│ (插件列表 + 排除提示) │ +│ 显示选择对话框 │ +│ (仓库分组 + 筛选 + 搜索) │ └─────────────────────────────────────┘ │ ├── [取消] → 结束 @@ -57,49 +58,23 @@ ## 交互式安装工作流 -每次请求处理一个仓库。如需混合多个来源,请在上一次安装完成后再发起下一次请求。 +`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔。 + +在插件发现和过滤完成后,OpenWebUI 会通过 `execute` 事件打开浏览器选择对话框。对话框会合并所有目标仓库的结果,按仓库分组展示,并支持仓库标签、类型筛选、关键词搜索和描述查看,再开始调用安装 API。 + +如果一次用户请求里提到了多个仓库,尽量保持在同一次请求里,让模型把它们合并到一次工具调用中。 ## 快速开始:安装热门插件集 -复制以下任一提示词,粘贴到你的对话框中: +复制下面这条提示词,粘贴到你的对话框中: ``` -# 安装我的默认集合 -安装所有插件 - -# 添加热门社区工具 -从 iChristGit/OpenWebui-Tools 安装所有插件 - -# 添加实用工具扩展 -从 Haervwe/open-webui-tools 安装所有插件 - -# 添加混合社区实现 -从 Classic298/open-webui-plugins 安装所有插件 - -# 添加基于函数的插件 -从 suurt8ll/open_webui_functions 安装所有插件 - -# 添加 OpenRouter 管道集成 -从 rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件 +从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools、Haervwe/open-webui-tools、Classic298/open-webui-plugins、suurt8ll/open_webui_functions、rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件 ``` -每一行是一个独立的请求。已安装的插件会自动更新。 +弹窗出现后,直接用里面的仓库标签、类型筛选和关键词搜索来缩小范围再安装。已安装的插件会自动更新。 -## 使用示例 - -更多高级用法: - -``` -# 按插件类型过滤 -"从 iChristGit/OpenWebui-Tools 仅安装 tool 插件" -"从 Classic298/open-webui-plugins 仅安装 action 插件" - -# 排除特定插件 -"从 Haervwe/open-webui-tools 安装所有插件, exclude_keywords=test,deprecated" - -# 从你自己的仓库安装 -"从 your-username/my-plugin-collection 安装所有插件" -``` +需要时,你也可以把这串仓库替换成你自己的插件仓库组合。 ## 默认仓库 @@ -127,11 +102,11 @@ | `SKIP_KEYWORDS` | `test,verify,example,template,mock` | 逗号分隔的跳过关键词 | | `TIMEOUT` | `20` | 请求超时时间(秒)| -## 确认超时时间 +## 选择对话框超时时间 -用户确认对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来: +插件选择对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来: - 阅读和查看插件列表 -- 做出安装决定 +- 勾选或取消勾选想安装的插件 - 处理网络延迟 ## 支持 diff --git a/docs/plugins/tools/batch-install-plugins.md b/docs/plugins/tools/batch-install-plugins.md index 51b586b..0263157 100644 --- a/docs/plugins/tools/batch-install-plugins.md +++ b/docs/plugins/tools/batch-install-plugins.md @@ -1,6 +1,6 @@ # Batch Install Plugins from GitHub -| By [Fu-Jie](https://github.com/Fu-Jie) · v1.0.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) | +| By [Fu-Jie](https://github.com/Fu-Jie) · v1.1.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) | | :--- | ---: | | ![followers](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_followers.json&label=%F0%9F%91%A5&style=flat) | ![points](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_points.json&label=%E2%AD%90&style=flat) | ![top](https://img.shields.io/badge/%F0%9F%8F%86-Top%20%3C1%25-10b981?style=flat) | ![contributions](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_contributions.json&label=%F0%9F%93%A6&style=flat) | ![downloads](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_downloads.json&label=%E2%AC%87%EF%B8%8F&style=flat) | ![saves](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_saves.json&label=%F0%9F%92%BE&style=flat) | ![views](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_views.json&label=%F0%9F%91%81%EF%B8%8F&style=flat) | @@ -12,9 +12,10 @@ One-click batch install plugins from GitHub repositories to your OpenWebUI insta - **One-Click Install**: Install all plugins with a single command - **Auto-Update**: Automatically updates previously installed plugins -- **Public GitHub Support**: Install plugins from any public GitHub repository +- **Public GitHub Support**: Install plugins from one or many public GitHub repositories - **Multi-Type Support**: Supports Pipe, Action, Filter, and Tool plugins -- **Confirmation**: Shows plugin list before installing, allows selective installation +- **Multi-Repository Picker**: Combine multiple repositories in one request and review them in a single grouped dialog +- **Interactive Selection Dialog**: Filter by repository and type, search by keyword, review plugin descriptions, then install only the checked subset - **i18n**: Supports 11 languages ## Flow @@ -24,7 +25,7 @@ User Input │ ▼ ┌─────────────────────────────────────┐ -│ Discover Plugins from GitHub │ +│ Discover Plugins from GitHub Repos │ │ (fetch file tree + parse .py) │ └─────────────────────────────────────┘ │ @@ -36,8 +37,8 @@ User Input │ ▼ ┌─────────────────────────────────────┐ -│ Show Confirmation Dialog │ -│ (list plugins + exclude hint) │ +│ Show Selection Dialog │ +│ (repo groups + filters + search) │ └─────────────────────────────────────┘ │ ├── [Cancel] → End @@ -61,49 +62,23 @@ User Input ## Interactive Installation Workflow -Each request handles one repository. To mix repositories, send another request after the previous installation completes. +The `repo` parameter accepts one or more `owner/repo` values separated by commas, semicolons, or new lines. + +After plugin discovery and filtering, OpenWebUI opens a browser dialog built with the `execute` event. The dialog merges results from every requested repository, groups them by repository, supports repository tags, type filters, and keyword search, and lets you check exactly which plugins to install before the API calls start. + +If one user request mentions multiple repositories, keep them in the same request so the model can pass them into a single tool call. ## Quick Start: Install Popular Collections -Copy any of these prompts and paste them into your chat: +Paste this prompt into your chat: ``` -# Install all from my collection (default) -Install all plugins - -# Add popular community tools -Install all plugins from iChristGit/OpenWebui-Tools - -# Add utility-focused extensions -Install all plugins from Haervwe/open-webui-tools - -# Add mixed community implementations -Install all plugins from Classic298/open-webui-plugins - -# Add function-based plugins -Install all plugins from suurt8ll/open_webui_functions - -# Add OpenRouter pipe integration -Install all plugins from rbb-dev/Open-WebUI-OpenRouter-pipe +Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools, Haervwe/open-webui-tools, Classic298/open-webui-plugins, suurt8ll/open_webui_functions, rbb-dev/Open-WebUI-OpenRouter-pipe ``` -Each line is a separate request. Already installed plugins are automatically updated. +Once the dialog opens, use the repository tags, type filters, and keyword search to narrow the list before installing. Already installed plugins are automatically updated. -## Usage Examples - -For more advanced usage patterns: - -``` -# Filter by plugin type -"Install only tool plugins from iChristGit/OpenWebui-Tools" -"Install only action plugins from Classic298/open-webui-plugins" - -# Exclude specific plugins -"Install all plugins from Haervwe/open-webui-tools, exclude_keywords=test,deprecated" - -# Install from your own repository -"Install all plugins from your-username/my-plugin-collection" -``` +You can replace that repository list with your own collections whenever needed. ## Default Repository @@ -131,11 +106,11 @@ For other repositories: | `SKIP_KEYWORDS` | `test,verify,example,template,mock` | Comma-separated keywords to skip | | `TIMEOUT` | `20` | Request timeout in seconds | -## Confirmation Timeout +## Selection Dialog Timeout -User confirmation dialogs have a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to: +The plugin selection dialog has a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to: - Read and review the plugin list -- Make installation decisions +- Check or uncheck the plugins they want - Handle network delays ## Support diff --git a/docs/plugins/tools/batch-install-plugins.zh.md b/docs/plugins/tools/batch-install-plugins.zh.md index 4c54d0e..8a2d92f 100644 --- a/docs/plugins/tools/batch-install-plugins.zh.md +++ b/docs/plugins/tools/batch-install-plugins.zh.md @@ -1,6 +1,6 @@ # Batch Install Plugins from GitHub -| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v1.0.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) | +| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v1.1.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) | | :--- | ---: | | ![followers](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_followers.json&label=%F0%9F%91%A5&style=flat) | ![points](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_points.json&label=%E2%AD%90&style=flat) | ![top](https://img.shields.io/badge/%F0%9F%8F%86-Top%20%3C1%25-10b981?style=flat) | ![contributions](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_contributions.json&label=%F0%9F%93%A6&style=flat) | ![downloads](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_downloads.json&label=%E2%AC%87%EF%B8%8F&style=flat) | ![saves](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_saves.json&label=%F0%9F%92%BE&style=flat) | ![views](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_views.json&label=%F0%9F%91%81%EF%B8%8F&style=flat) | @@ -12,9 +12,10 @@ - 一键安装:单个命令安装所有插件 - 自动更新:自动更新之前安装过的插件 -- 公开 GitHub 支持:支持从任何公开 GitHub 仓库安装插件 +- 公开 GitHub 支持:支持从一个或多个公开 GitHub 仓库安装插件 - 多类型支持:支持 Pipe、Action、Filter 和 Tool 插件 -- 安装确认:安装前显示插件列表,支持选择性安装 +- 多仓库选择器:一次请求可合并多个仓库,并在同一个分组对话框中查看 +- 交互式选择对话框:先按仓库和类型筛选、按关键词搜索并查看描述信息,再勾选要安装的插件,只安装所选子集 - 国际化:支持 11 种语言 ## 流程 @@ -24,7 +25,7 @@ │ ▼ ┌─────────────────────────────────────┐ -│ 从 GitHub 发现插件 │ +│ 从 GitHub 多仓库发现插件 │ │ (获取文件树 + 解析 .py 文件) │ └─────────────────────────────────────┘ │ @@ -36,8 +37,8 @@ │ ▼ ┌─────────────────────────────────────┐ -│ 显示确认对话框 │ -│ (插件列表 + 排除提示) │ +│ 显示选择对话框 │ +│ (仓库分组 + 筛选 + 搜索) │ └─────────────────────────────────────┘ │ ├── [取消] → 结束 @@ -61,49 +62,23 @@ ## 交互式安装工作流 -每次请求处理一个仓库。如需混合多个来源,请在上一次安装完成后再发起下一次请求。 +`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔。 + +在插件发现和过滤完成后,OpenWebUI 会通过 `execute` 事件打开浏览器选择对话框。对话框会合并所有目标仓库的结果,按仓库分组展示,并支持仓库标签、类型筛选、关键词搜索和描述查看,再开始调用安装 API。 + +如果一次用户请求里提到了多个仓库,尽量保持在同一次请求里,让模型把它们合并到一次工具调用中。 ## 快速开始:安装热门插件集 -复制以下任一提示词,粘贴到你的对话框中: +复制下面这条提示词,粘贴到你的对话框中: ``` -# 安装我的默认集合 -安装所有插件 - -# 添加热门社区工具 -从 iChristGit/OpenWebui-Tools 安装所有插件 - -# 添加实用工具扩展 -从 Haervwe/open-webui-tools 安装所有插件 - -# 添加混合社区实现 -从 Classic298/open-webui-plugins 安装所有插件 - -# 添加基于函数的插件 -从 suurt8ll/open_webui_functions 安装所有插件 - -# 添加 OpenRouter 管道集成 -从 rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件 +从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools、Haervwe/open-webui-tools、Classic298/open-webui-plugins、suurt8ll/open_webui_functions、rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件 ``` -每一行是一个独立的请求。已安装的插件会自动更新。 +弹窗出现后,直接用里面的仓库标签、类型筛选和关键词搜索来缩小范围再安装。已安装的插件会自动更新。 -## 使用示例 - -更多高级用法: - -``` -# 按插件类型过滤 -"从 iChristGit/OpenWebui-Tools 仅安装 tool 插件" -"从 Classic298/open-webui-plugins 仅安装 action 插件" - -# 排除特定插件 -"从 Haervwe/open-webui-tools 安装所有插件, exclude_keywords=test,deprecated" - -# 从你自己的仓库安装 -"从 your-username/my-plugin-collection 安装所有插件" -``` +需要时,你也可以把这串仓库替换成你自己的插件仓库组合。 ## 默认仓库 @@ -131,11 +106,11 @@ | `SKIP_KEYWORDS` | `test,verify,example,template,mock` | 逗号分隔的跳过关键词 | | `TIMEOUT` | `20` | 请求超时时间(秒)| -## 确认超时时间 +## 选择对话框超时时间 -用户确认对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来: +插件选择对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来: - 阅读和查看插件列表 -- 做出安装决定 +- 勾选或取消勾选想安装的插件 - 处理网络延迟 ## 支持 diff --git a/docs/plugins/tools/index.md b/docs/plugins/tools/index.md index 18c7d20..4b6af77 100644 --- a/docs/plugins/tools/index.md +++ b/docs/plugins/tools/index.md @@ -4,6 +4,6 @@ OpenWebUI native Tool plugins that can be used across models. ## Available Tool Plugins -- [Batch Install Plugins from GitHub](batch-install-plugins-tool.md) (v1.0.0) - One-click batch install plugins from GitHub repositories with confirmation and multi-language support. +- [Batch Install Plugins from GitHub](batch-install-plugins-tool.md) (v1.1.0) - One-click batch install plugins from GitHub repositories with an interactive selection dialog and multi-language support. - [OpenWebUI Skills Manager Tool](openwebui-skills-manager-tool.md) (v0.3.0) - Simple native skill management (`list/show/install/create/update/delete`). - [Smart Mind Map Tool](smart-mind-map-tool.md) (v1.0.0) - Intelligently analyzes text content and proactively generates interactive mind maps to help users structure and visualize knowledge. diff --git a/docs/plugins/tools/index.zh.md b/docs/plugins/tools/index.zh.md index 3b7ba57..a30613e 100644 --- a/docs/plugins/tools/index.zh.md +++ b/docs/plugins/tools/index.zh.md @@ -4,6 +4,6 @@ ## 可用 Tool 插件 -- [Batch Install Plugins from GitHub](batch-install-plugins-tool.zh.md) (v1.0.0) - 一键从 GitHub 仓库批量安装插件,支持确认和多语言。 +- [Batch Install Plugins from GitHub](batch-install-plugins-tool.zh.md) (v1.1.0) - 一键从 GitHub 仓库批量安装插件,支持交互式选择对话框和多语言。 - [OpenWebUI Skills 管理工具](openwebui-skills-manager-tool.zh.md) (v0.3.0) - 简化技能管理(`list/show/install/create/update/delete`)。 - [智能思维导图工具 (Smart Mind Map Tool)](smart-mind-map-tool.zh.md) (v1.0.0) - 智能分析文本内容并主动生成交互式思维导图,帮助用户结构化与可视化知识。 diff --git a/plugins/tools/batch-install-plugins/ANNOUNCEMENT.md b/plugins/tools/batch-install-plugins/ANNOUNCEMENT.md index c23dcb1..090265b 100644 --- a/plugins/tools/batch-install-plugins/ANNOUNCEMENT.md +++ b/plugins/tools/batch-install-plugins/ANNOUNCEMENT.md @@ -1,29 +1,30 @@ -# 🎉 Introducing Batch Install Plugins v1.0.0 +# 🎉 Batch Install Plugins v1.1.0 ## Headline -**One-Click Batch Installation of OpenWebUI Plugins - Solving the Plugin Setup Headache** +**Interactive Plugin Picker for OpenWebUI Batch Installation** ## Introduction -Installing plugins in OpenWebUI used to be tedious: searching for plugins, downloading them one by one, and hoping everything works in your environment. Today, we're excited to announce **Batch Install Plugins from GitHub** v1.0.0 — a powerful new tool that transforms plugin installation from a chore into a single command. +Installing plugins in OpenWebUI should not feel like an all-or-nothing jump. With **Batch Install Plugins from GitHub** v1.1.0, the workflow now opens an interactive browser dialog so users can review the filtered list and choose exactly which plugins to install before the API requests begin. ## Key Highlights -### 🚀 One-Click Bulk Installation -- Install multiple plugins from any public GitHub repository with a single command -- Automatically discovers plugins and validates them -- Updates previously installed plugins seamlessly +### 🚀 Interactive Plugin Selection +- Uses the OpenWebUI `execute` event to open a custom browser dialog +- Displays the filtered plugin list with checkboxes, type filters, keyword search, plugin descriptions, and repository context +- Installs only the plugins the user keeps selected ### ✅ Smart Safety Features -- Shows a confirmation dialog with the plugin list before installation -- Users can review and approve before proceeding +- Replaces the basic confirmation event with a richer selective install flow +- Users can uncheck plugins they do not want without rewriting the request +- Removes the noisy copy-to-exclude helper when it is not needed - Automatically excludes the tool itself from installation ### 🌍 Multi-Repository Support Install plugins from **any public GitHub repository**, including your own community collections: -- Use one request per repository, then call the tool again to combine multiple sources +- Use one request to combine multiple repositories in a single grouped picker - **Default**: Fu-Jie/openwebui-extensions (my personal collection) -- Works with public repositories in `owner/repo` format -- Mix and match plugins: install from my collection first, then add community collections in subsequent calls +- Works with public repositories in `owner/repo` format, separated by commas, semicolons, or new lines +- Mix and match plugins from multiple sources before installation starts ### 🔧 Container-Friendly - Automatically handles port mapping issues in containerized deployments @@ -37,25 +38,25 @@ Install plugins from **any public GitHub repository**, including your own commun ## How It Works: Interactive Installation Workflow -Each request handles one repository. To combine multiple repositories, send another request after the previous installation completes. +The `repo` parameter now accepts one or more `owner/repo` values separated by commas, semicolons, or new lines. 1. **Start with My Collection** ``` "Install all plugins from Fu-Jie/openwebui-extensions" ``` - Review the confirmation dialog, approve, and the plugins are installed. + Review the selection dialog, keep the plugins you want checked, and then install them. -2. **Add a Community Collection** +2. **Mix in a Community Collection** ``` - "Install all plugins from iChristGit/OpenWebui-Tools" + "Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools" ``` - Add more plugins from a different repository. Already installed plugins are updated seamlessly. + Review both repositories in one grouped dialog, then install only the subset you want. -3. **Install a Specific Type** +3. **Install a Specific Type Across Repositories** ``` - "Install only pipe plugins from Haervwe/open-webui-tools" + "Install only pipe plugins from Haervwe/open-webui-tools, Classic298/open-webui-plugins" ``` - Pick specific plugin types from another repository, or exclude certain keywords. + Pick specific plugin types across repositories, or exclude certain keywords. 4. **Use Your Own Public Repository** ``` @@ -84,23 +85,23 @@ OpenRouter API pipe integration for advanced model access. ## Usage Examples -Each line below is a separate request: +Each line below can be used directly. The third example combines repositories in one request: ``` # Start with my collection "Install all plugins" -# Add community plugins in a new request +# Add community plugins "Install all plugins from iChristGit/OpenWebui-Tools" -# Add only one plugin type from another repository -"Install only tool plugins from Haervwe/open-webui-tools" +# Combine repositories in one picker +"Install all plugins from Fu-Jie/openwebui-extensions, Classic298/open-webui-plugins" -# Continue building your setup -"Install only action plugins from Classic298/open-webui-plugins" +# Add only one plugin type from multiple repositories +"Install only tool plugins from Haervwe/open-webui-tools, Classic298/open-webui-plugins" # Filter out unwanted plugins -"Install all plugins from Haervwe/open-webui-tools, exclude_keywords=test,deprecated" +"Install all plugins from Haervwe/open-webui-tools, Classic298/open-webui-plugins, exclude_keywords=test,deprecated" # Install from your own public repository "Install all plugins from your-username/my-plugin-collection" @@ -110,8 +111,8 @@ Each line below is a separate request: - **Async Architecture**: Non-blocking I/O for better performance - **httpx Integration**: Modern async HTTP client with timeout protection -- **Comprehensive Tests**: 8 regression tests with 100% pass rate -- **Full Event Support**: Proper OpenWebUI event injection with fallback handling +- **Selective Install Flow**: The install loop now runs only for the checked plugin subset +- **Full Event Support**: Proper OpenWebUI `execute` event handling with fallback behavior ## Installation @@ -123,7 +124,7 @@ Each line below is a separate request: ## Links - **GitHub Repository**: https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/tools/batch-install-plugins -- **Release Notes**: https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/v1.0.0.md +- **Release Notes**: https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/v1.1.0.md ## Community Love diff --git a/plugins/tools/batch-install-plugins/ANNOUNCEMENT_CN.md b/plugins/tools/batch-install-plugins/ANNOUNCEMENT_CN.md index 7b06596..5254ace 100644 --- a/plugins/tools/batch-install-plugins/ANNOUNCEMENT_CN.md +++ b/plugins/tools/batch-install-plugins/ANNOUNCEMENT_CN.md @@ -1,29 +1,30 @@ -# 🎉 Batch Install Plugins 首发 v1.0.0 +# 🎉 Batch Install Plugins v1.1.0 ## 标题 -**一键批量安装 OpenWebUI 插件 - 解决装机烦恼** +**为 OpenWebUI 批量安装带来可勾选的交互式插件选择器** ## 前言 -在 OpenWebUI 中安装插件曾经很麻烦:逐个搜索、逐个下载、祈祷一切顺利。今天,我们欣然宣布 **Batch Install Plugins from GitHub** v1.0.0 的问世 — 一款强大的新工具,让插件安装从苦差事变成一条简单命令。 +批量安装不应该是“全装或不装”的二选一。现在,**Batch Install Plugins from GitHub** v1.1.0 新增了基于浏览器的交互式选择对话框,用户可以先查看过滤后的插件列表,再勾选真正要安装的插件,然后才开始调用安装 API。 ## 核心特性 -### 🚀 一键批量安装 -- 从任意公开 GitHub 仓库用一条命令安装多个插件 -- 自动发现插件并进行验证 -- 无缝更新已安装的插件 +### 🚀 交互式插件选择 +- 基于 OpenWebUI 的 `execute` 事件打开自定义浏览器选择对话框 +- 显示带复选框、类型筛选、关键词搜索、插件描述和仓库信息的过滤结果 +- 只安装用户保留勾选的插件 ### ✅ 智能安全保障 -- 安装前显示插件列表确认对话框 -- 用户可在安装前查看和审批 +- 用更丰富的选择流程替代基础 confirmation 事件 +- 用户无需改写请求,也能取消勾选不想安装的插件 +- 不再显示多余的“复制 exclude_keywords”提示 - 自动排除工具自身,避免重复安装 ### 🌍 多仓库支持 支持从**任意公开 GitHub 仓库**安装插件,包括你自己的社区合集: -- 每次请求处理一个仓库,需要时可再次调用工具来组合多个来源 +- 一次请求即可组合多个仓库,并在同一个分组选择器中查看 - **默认**:Fu-Jie/openwebui-extensions(我的个人合集) -- 支持公开仓库,格式为 `owner/repo` -- 混合搭配:先从我的合集安装,再通过后续调用添加社区合集 +- 支持公开仓库,格式为 `owner/repo`,可用逗号、分号或换行分隔 +- 混合搭配:安装前就能在同一个对话框中选择多个来源的插件 ### 🔧 容器友好 - 自动处理容器部署中的端口映射问题 @@ -37,25 +38,25 @@ ## 工作流程:交互式安装 -每次请求处理一个仓库。如需组合多个仓库,请在上一次安装完成后再发起下一次请求。 +`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔。 1. **先从我的合集开始** ``` "安装 Fu-Jie/openwebui-extensions 中的所有插件" ``` - 查看确认对话框,批准后开始安装。 + 查看选择对话框,保留想安装的勾选项后开始安装。 -2. **再添加社区合集** +2. **混合加入社区合集** ``` - "从 iChristGit/OpenWebui-Tools 安装所有插件" + "从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools 安装所有插件" ``` - 从不同仓库添加更多插件。已安装的插件会无缝更新。 + 在一个按仓库分组的选择对话框里查看两个来源,再安装真正需要的子集。 -3. **按类型继续安装** +3. **跨仓库按类型继续安装** ``` - "从 Haervwe/open-webui-tools 仅安装 pipe 插件" + "从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 仅安装 pipe 插件" ``` - 从另一个仓库选择特定类型的插件,或排除某些关键词。 + 一次性在多个仓库里选择特定类型的插件,或排除某些关键词。 4. **使用你自己的公开仓库** ``` @@ -84,23 +85,23 @@ OpenRouter API pipe 集成,提供高级模型访问。 ## 使用示例 -下面每一行都是一次独立请求: +下面每一行都可以直接使用,其中第三行演示了单次请求组合多个仓库: ``` # 先从我的合集开始 "安装所有插件" -# 在下一次请求中加入社区插件 +# 添加社区插件 "从 iChristGit/OpenWebui-Tools 安装所有插件" -# 从其他仓库只安装某一种类型 -"从 Haervwe/open-webui-tools 仅安装 tool 插件" +# 在同一个选择器里组合多个仓库 +"从 Fu-Jie/openwebui-extensions、Classic298/open-webui-plugins 安装所有插件" -# 继续补充你的插件组合 -"从 Classic298/open-webui-plugins 安装仅 action 插件" +# 从多个仓库只安装某一种类型 +"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 仅安装 tool 插件" # 过滤不想安装的插件 -"从 Haervwe/open-webui-tools 安装所有插件,exclude_keywords=test,deprecated" +"从 Haervwe/open-webui-tools、Classic298/open-webui-plugins 安装所有插件,exclude_keywords=test,deprecated" # 从你自己的公开仓库安装 "从 your-username/my-plugin-collection 安装所有插件" @@ -110,8 +111,8 @@ OpenRouter API pipe 集成,提供高级模型访问。 - **异步架构**:非阻塞 I/O,性能更优 - **httpx 集成**:现代化异步 HTTP 客户端,包含超时保护 -- **完整测试**:8 个回归测试,100% 通过率 -- **完整事件支持**:正确处理 OpenWebUI 事件注入,提供回退机制 +- **选择性安装流程**:安装循环只会处理用户最终勾选的插件子集 +- **完整事件支持**:正确处理 OpenWebUI `execute` 事件,并保留回退行为 ## 安装方法 @@ -123,7 +124,7 @@ OpenRouter API pipe 集成,提供高级模型访问。 ## 相关链接 - **GitHub 仓库**:https://github.com/Fu-Jie/openwebui-extensions/tree/main/plugins/tools/batch-install-plugins -- **发布说明**:https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/v1.0.0_CN.md +- **发布说明**:https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/v1.1.0_CN.md ## 社区支持 diff --git a/plugins/tools/batch-install-plugins/README.md b/plugins/tools/batch-install-plugins/README.md index 51b586b..0263157 100644 --- a/plugins/tools/batch-install-plugins/README.md +++ b/plugins/tools/batch-install-plugins/README.md @@ -1,6 +1,6 @@ # Batch Install Plugins from GitHub -| By [Fu-Jie](https://github.com/Fu-Jie) · v1.0.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) | +| By [Fu-Jie](https://github.com/Fu-Jie) · v1.1.0 | [⭐ Star this repo](https://github.com/Fu-Jie/openwebui-extensions) | | :--- | ---: | | ![followers](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_followers.json&label=%F0%9F%91%A5&style=flat) | ![points](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_points.json&label=%E2%AD%90&style=flat) | ![top](https://img.shields.io/badge/%F0%9F%8F%86-Top%20%3C1%25-10b981?style=flat) | ![contributions](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_contributions.json&label=%F0%9F%93%A6&style=flat) | ![downloads](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_downloads.json&label=%E2%AC%87%EF%B8%8F&style=flat) | ![saves](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_saves.json&label=%F0%9F%92%BE&style=flat) | ![views](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_views.json&label=%F0%9F%91%81%EF%B8%8F&style=flat) | @@ -12,9 +12,10 @@ One-click batch install plugins from GitHub repositories to your OpenWebUI insta - **One-Click Install**: Install all plugins with a single command - **Auto-Update**: Automatically updates previously installed plugins -- **Public GitHub Support**: Install plugins from any public GitHub repository +- **Public GitHub Support**: Install plugins from one or many public GitHub repositories - **Multi-Type Support**: Supports Pipe, Action, Filter, and Tool plugins -- **Confirmation**: Shows plugin list before installing, allows selective installation +- **Multi-Repository Picker**: Combine multiple repositories in one request and review them in a single grouped dialog +- **Interactive Selection Dialog**: Filter by repository and type, search by keyword, review plugin descriptions, then install only the checked subset - **i18n**: Supports 11 languages ## Flow @@ -24,7 +25,7 @@ User Input │ ▼ ┌─────────────────────────────────────┐ -│ Discover Plugins from GitHub │ +│ Discover Plugins from GitHub Repos │ │ (fetch file tree + parse .py) │ └─────────────────────────────────────┘ │ @@ -36,8 +37,8 @@ User Input │ ▼ ┌─────────────────────────────────────┐ -│ Show Confirmation Dialog │ -│ (list plugins + exclude hint) │ +│ Show Selection Dialog │ +│ (repo groups + filters + search) │ └─────────────────────────────────────┘ │ ├── [Cancel] → End @@ -61,49 +62,23 @@ User Input ## Interactive Installation Workflow -Each request handles one repository. To mix repositories, send another request after the previous installation completes. +The `repo` parameter accepts one or more `owner/repo` values separated by commas, semicolons, or new lines. + +After plugin discovery and filtering, OpenWebUI opens a browser dialog built with the `execute` event. The dialog merges results from every requested repository, groups them by repository, supports repository tags, type filters, and keyword search, and lets you check exactly which plugins to install before the API calls start. + +If one user request mentions multiple repositories, keep them in the same request so the model can pass them into a single tool call. ## Quick Start: Install Popular Collections -Copy any of these prompts and paste them into your chat: +Paste this prompt into your chat: ``` -# Install all from my collection (default) -Install all plugins - -# Add popular community tools -Install all plugins from iChristGit/OpenWebui-Tools - -# Add utility-focused extensions -Install all plugins from Haervwe/open-webui-tools - -# Add mixed community implementations -Install all plugins from Classic298/open-webui-plugins - -# Add function-based plugins -Install all plugins from suurt8ll/open_webui_functions - -# Add OpenRouter pipe integration -Install all plugins from rbb-dev/Open-WebUI-OpenRouter-pipe +Install all plugins from Fu-Jie/openwebui-extensions, iChristGit/OpenWebui-Tools, Haervwe/open-webui-tools, Classic298/open-webui-plugins, suurt8ll/open_webui_functions, rbb-dev/Open-WebUI-OpenRouter-pipe ``` -Each line is a separate request. Already installed plugins are automatically updated. +Once the dialog opens, use the repository tags, type filters, and keyword search to narrow the list before installing. Already installed plugins are automatically updated. -## Usage Examples - -For more advanced usage patterns: - -``` -# Filter by plugin type -"Install only tool plugins from iChristGit/OpenWebui-Tools" -"Install only action plugins from Classic298/open-webui-plugins" - -# Exclude specific plugins -"Install all plugins from Haervwe/open-webui-tools, exclude_keywords=test,deprecated" - -# Install from your own repository -"Install all plugins from your-username/my-plugin-collection" -``` +You can replace that repository list with your own collections whenever needed. ## Default Repository @@ -131,11 +106,11 @@ For other repositories: | `SKIP_KEYWORDS` | `test,verify,example,template,mock` | Comma-separated keywords to skip | | `TIMEOUT` | `20` | Request timeout in seconds | -## Confirmation Timeout +## Selection Dialog Timeout -User confirmation dialogs have a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to: +The plugin selection dialog has a default timeout of **2 minutes (120 seconds)**, allowing sufficient time for users to: - Read and review the plugin list -- Make installation decisions +- Check or uncheck the plugins they want - Handle network delays ## Support diff --git a/plugins/tools/batch-install-plugins/README_CN.md b/plugins/tools/batch-install-plugins/README_CN.md index 4c54d0e..8a2d92f 100644 --- a/plugins/tools/batch-install-plugins/README_CN.md +++ b/plugins/tools/batch-install-plugins/README_CN.md @@ -1,6 +1,6 @@ # Batch Install Plugins from GitHub -| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v1.0.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) | +| 作者:[Fu-Jie](https://github.com/Fu-Jie) · v1.1.0 | [⭐ 点个 Star 支持项目](https://github.com/Fu-Jie/openwebui-extensions) | | :--- | ---: | | ![followers](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_followers.json&label=%F0%9F%91%A5&style=flat) | ![points](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_points.json&label=%E2%AD%90&style=flat) | ![top](https://img.shields.io/badge/%F0%9F%8F%86-Top%20%3C1%25-10b981?style=flat) | ![contributions](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_contributions.json&label=%F0%9F%93%A6&style=flat) | ![downloads](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_downloads.json&label=%E2%AC%87%EF%B8%8F&style=flat) | ![saves](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_saves.json&label=%F0%9F%92%BE&style=flat) | ![views](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FFu-Jie%2Fdb3d95687075a880af6f1fba76d679c6%2Fraw%2Fbadge_views.json&label=%F0%9F%91%81%EF%B8%8F&style=flat) | @@ -12,9 +12,10 @@ - 一键安装:单个命令安装所有插件 - 自动更新:自动更新之前安装过的插件 -- 公开 GitHub 支持:支持从任何公开 GitHub 仓库安装插件 +- 公开 GitHub 支持:支持从一个或多个公开 GitHub 仓库安装插件 - 多类型支持:支持 Pipe、Action、Filter 和 Tool 插件 -- 安装确认:安装前显示插件列表,支持选择性安装 +- 多仓库选择器:一次请求可合并多个仓库,并在同一个分组对话框中查看 +- 交互式选择对话框:先按仓库和类型筛选、按关键词搜索并查看描述信息,再勾选要安装的插件,只安装所选子集 - 国际化:支持 11 种语言 ## 流程 @@ -24,7 +25,7 @@ │ ▼ ┌─────────────────────────────────────┐ -│ 从 GitHub 发现插件 │ +│ 从 GitHub 多仓库发现插件 │ │ (获取文件树 + 解析 .py 文件) │ └─────────────────────────────────────┘ │ @@ -36,8 +37,8 @@ │ ▼ ┌─────────────────────────────────────┐ -│ 显示确认对话框 │ -│ (插件列表 + 排除提示) │ +│ 显示选择对话框 │ +│ (仓库分组 + 筛选 + 搜索) │ └─────────────────────────────────────┘ │ ├── [取消] → 结束 @@ -61,49 +62,23 @@ ## 交互式安装工作流 -每次请求处理一个仓库。如需混合多个来源,请在上一次安装完成后再发起下一次请求。 +`repo` 参数现在支持多个 `owner/repo`,可用逗号、分号或换行分隔。 + +在插件发现和过滤完成后,OpenWebUI 会通过 `execute` 事件打开浏览器选择对话框。对话框会合并所有目标仓库的结果,按仓库分组展示,并支持仓库标签、类型筛选、关键词搜索和描述查看,再开始调用安装 API。 + +如果一次用户请求里提到了多个仓库,尽量保持在同一次请求里,让模型把它们合并到一次工具调用中。 ## 快速开始:安装热门插件集 -复制以下任一提示词,粘贴到你的对话框中: +复制下面这条提示词,粘贴到你的对话框中: ``` -# 安装我的默认集合 -安装所有插件 - -# 添加热门社区工具 -从 iChristGit/OpenWebui-Tools 安装所有插件 - -# 添加实用工具扩展 -从 Haervwe/open-webui-tools 安装所有插件 - -# 添加混合社区实现 -从 Classic298/open-webui-plugins 安装所有插件 - -# 添加基于函数的插件 -从 suurt8ll/open_webui_functions 安装所有插件 - -# 添加 OpenRouter 管道集成 -从 rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件 +从 Fu-Jie/openwebui-extensions、iChristGit/OpenWebui-Tools、Haervwe/open-webui-tools、Classic298/open-webui-plugins、suurt8ll/open_webui_functions、rbb-dev/Open-WebUI-OpenRouter-pipe 安装所有插件 ``` -每一行是一个独立的请求。已安装的插件会自动更新。 +弹窗出现后,直接用里面的仓库标签、类型筛选和关键词搜索来缩小范围再安装。已安装的插件会自动更新。 -## 使用示例 - -更多高级用法: - -``` -# 按插件类型过滤 -"从 iChristGit/OpenWebui-Tools 仅安装 tool 插件" -"从 Classic298/open-webui-plugins 仅安装 action 插件" - -# 排除特定插件 -"从 Haervwe/open-webui-tools 安装所有插件, exclude_keywords=test,deprecated" - -# 从你自己的仓库安装 -"从 your-username/my-plugin-collection 安装所有插件" -``` +需要时,你也可以把这串仓库替换成你自己的插件仓库组合。 ## 默认仓库 @@ -131,11 +106,11 @@ | `SKIP_KEYWORDS` | `test,verify,example,template,mock` | 逗号分隔的跳过关键词 | | `TIMEOUT` | `20` | 请求超时时间(秒)| -## 确认超时时间 +## 选择对话框超时时间 -用户确认对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来: +插件选择对话框的默认超时时间为 **2 分钟(120 秒)**,为用户提供充足的时间来: - 阅读和查看插件列表 -- 做出安装决定 +- 勾选或取消勾选想安装的插件 - 处理网络延迟 ## 支持 diff --git a/plugins/tools/batch-install-plugins/batch_install_plugins.py b/plugins/tools/batch-install-plugins/batch_install_plugins.py index d3ed217..708566a 100644 --- a/plugins/tools/batch-install-plugins/batch_install_plugins.py +++ b/plugins/tools/batch-install-plugins/batch_install_plugins.py @@ -3,8 +3,9 @@ title: Batch Install Plugins from GitHub author: Fu-Jie author_url: https://github.com/Fu-Jie/openwebui-extensions funding_url: https://github.com/open-webui -version: 1.0.0 -description: One-click batch install plugins from GitHub repositories to your OpenWebUI instance. +version: 1.1.0 +openwebui_id: c9fd6e80-d58f-4312-8fbb-214d86bbe599 +description: One-click batch install plugins from one or more GitHub repositories to your OpenWebUI instance. If a user mentions multiple repositories in one request, combine them into a single tool call. """ import ast @@ -15,7 +16,7 @@ import os import re import textwrap from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple +from typing import Any, Dict, List, Optional, Set, Tuple import httpx from pydantic import BaseModel, Field @@ -298,6 +299,207 @@ TRANSLATIONS = { FALLBACK_MAP = {"zh": "zh-CN", "zh-TW": "zh-TW", "zh-HK": "zh-HK", "en": "en-US", "ko": "ko-KR", "ja": "ja-JP", "fr": "fr-FR", "de": "de-DE", "es": "es-ES", "it": "it-IT", "vi": "vi-VN"} +SELECTION_DIALOG_TEXTS = { + "en-US": { + "select_all": "Select all", + "clear_all": "Clear all", + "quick_select": "Filter by type", + "all_types": "All", + "repo_filter": "Filter by repository", + "all_repos": "All repositories", + "search_label": "Search", + "search_placeholder": "Search title, description, file path...", + "no_results": "No plugins match the current filter.", + "selected_count": "{count} selected", + "install_selected": "Install Selected", + "cancel": "Cancel", + "version_label": "Version", + "file_label": "File", + "description_label": "Description", + "repo_label": "Repository", + }, + "zh-CN": { + "select_all": "全选", + "clear_all": "清空", + "quick_select": "按类型筛选", + "all_types": "全部", + "repo_filter": "按仓库筛选", + "all_repos": "全部仓库", + "search_label": "搜索", + "search_placeholder": "搜索标题、描述、文件路径...", + "no_results": "当前筛选条件下没有匹配的插件。", + "selected_count": "已选 {count} 项", + "install_selected": "安装所选插件", + "cancel": "取消", + "version_label": "版本", + "file_label": "文件", + "description_label": "描述", + "repo_label": "仓库", + }, + "zh-HK": { + "select_all": "全選", + "clear_all": "清空", + "quick_select": "按類型篩選", + "all_types": "全部", + "repo_filter": "按倉庫篩選", + "all_repos": "全部倉庫", + "search_label": "搜尋", + "search_placeholder": "搜尋標題、描述、檔案路徑...", + "no_results": "目前篩選條件下沒有相符的外掛。", + "selected_count": "已選 {count} 項", + "install_selected": "安裝所選外掛", + "cancel": "取消", + "version_label": "版本", + "file_label": "檔案", + "description_label": "描述", + "repo_label": "倉庫", + }, + "zh-TW": { + "select_all": "全選", + "clear_all": "清空", + "quick_select": "按類型篩選", + "all_types": "全部", + "repo_filter": "按倉庫篩選", + "all_repos": "全部倉庫", + "search_label": "搜尋", + "search_placeholder": "搜尋標題、描述、檔案路徑...", + "no_results": "目前篩選條件下沒有符合的外掛。", + "selected_count": "已選 {count} 項", + "install_selected": "安裝所選外掛", + "cancel": "取消", + "version_label": "版本", + "file_label": "檔案", + "description_label": "描述", + "repo_label": "倉庫", + }, + "ko-KR": { + "select_all": "전체 선택", + "clear_all": "선택 해제", + "quick_select": "유형별 필터", + "all_types": "전체", + "repo_filter": "저장소별 필터", + "all_repos": "전체 저장소", + "search_label": "검색", + "search_placeholder": "제목, 설명, 파일 경로 검색...", + "no_results": "현재 필터와 일치하는 플러그인이 없습니다.", + "selected_count": "{count}개 선택됨", + "install_selected": "선택한 플러그인 설치", + "cancel": "취소", + "version_label": "버전", + "file_label": "파일", + "description_label": "설명", + "repo_label": "저장소", + }, + "ja-JP": { + "select_all": "すべて選択", + "clear_all": "クリア", + "quick_select": "タイプで絞り込み", + "all_types": "すべて", + "repo_filter": "リポジトリで絞り込み", + "all_repos": "すべてのリポジトリ", + "search_label": "検索", + "search_placeholder": "タイトル、説明、ファイルパスを検索...", + "no_results": "現在の条件に一致するプラグインはありません。", + "selected_count": "{count}件を選択", + "install_selected": "選択したプラグインをインストール", + "cancel": "キャンセル", + "version_label": "バージョン", + "file_label": "ファイル", + "description_label": "説明", + "repo_label": "リポジトリ", + }, + "fr-FR": { + "select_all": "Tout sélectionner", + "clear_all": "Tout effacer", + "quick_select": "Filtrer par type", + "all_types": "Tous", + "repo_filter": "Filtrer par dépôt", + "all_repos": "Tous les dépôts", + "search_label": "Rechercher", + "search_placeholder": "Rechercher par titre, description, fichier...", + "no_results": "Aucun plugin ne correspond au filtre actuel.", + "selected_count": "{count} sélectionnés", + "install_selected": "Installer la sélection", + "cancel": "Annuler", + "version_label": "Version", + "file_label": "Fichier", + "description_label": "Description", + "repo_label": "Dépôt", + }, + "de-DE": { + "select_all": "Alle auswählen", + "clear_all": "Auswahl löschen", + "quick_select": "Nach Typ filtern", + "all_types": "Alle", + "repo_filter": "Nach Repository filtern", + "all_repos": "Alle Repositories", + "search_label": "Suchen", + "search_placeholder": "Titel, Beschreibung, Dateipfad durchsuchen...", + "no_results": "Keine Plugins entsprechen dem aktuellen Filter.", + "selected_count": "{count} ausgewählt", + "install_selected": "Auswahl installieren", + "cancel": "Abbrechen", + "version_label": "Version", + "file_label": "Datei", + "description_label": "Beschreibung", + "repo_label": "Repository", + }, + "es-ES": { + "select_all": "Seleccionar todo", + "clear_all": "Limpiar", + "quick_select": "Filtrar por tipo", + "all_types": "Todos", + "repo_filter": "Filtrar por repositorio", + "all_repos": "Todos los repositorios", + "search_label": "Buscar", + "search_placeholder": "Buscar por titulo, descripcion o archivo...", + "no_results": "Ningun plugin coincide con el filtro actual.", + "selected_count": "{count} seleccionados", + "install_selected": "Instalar seleccionados", + "cancel": "Cancelar", + "version_label": "Versión", + "file_label": "Archivo", + "description_label": "Descripción", + "repo_label": "Repositorio", + }, + "it-IT": { + "select_all": "Seleziona tutto", + "clear_all": "Cancella", + "quick_select": "Filtra per tipo", + "all_types": "Tutti", + "repo_filter": "Filtra per repository", + "all_repos": "Tutti i repository", + "search_label": "Cerca", + "search_placeholder": "Cerca per titolo, descrizione o file...", + "no_results": "Nessun plugin corrisponde al filtro attuale.", + "selected_count": "{count} selezionati", + "install_selected": "Installa selezionati", + "cancel": "Annulla", + "version_label": "Versione", + "file_label": "File", + "description_label": "Descrizione", + "repo_label": "Repository", + }, + "vi-VN": { + "select_all": "Chọn tất cả", + "clear_all": "Bỏ chọn", + "quick_select": "Lọc theo loại", + "all_types": "Tất cả", + "repo_filter": "Lọc theo kho", + "all_repos": "Tất cả kho", + "search_label": "Tìm kiếm", + "search_placeholder": "Tìm theo tiêu đề, mô tả, đường dẫn tệp...", + "no_results": "Không có plugin nào khớp với bộ lọc hiện tại.", + "selected_count": "Đã chọn {count}", + "install_selected": "Cài đặt mục đã chọn", + "cancel": "Hủy", + "version_label": "Phiên bản", + "file_label": "Tệp", + "description_label": "Mô tả", + "repo_label": "Kho", + }, +} + def _resolve_language(user_language: str) -> str: value = str(user_language or "").strip() @@ -322,6 +524,19 @@ def _t(lang: str, key: str, **kwargs) -> str: return text +def _selection_t(lang: str, key: str, **kwargs) -> str: + lang_key = _resolve_language(lang) + text = SELECTION_DIALOG_TEXTS.get( + lang_key, SELECTION_DIALOG_TEXTS["en-US"] + ).get(key, SELECTION_DIALOG_TEXTS["en-US"][key]) + if kwargs: + try: + text = text.format(**kwargs) + except KeyError: + pass + return text + + async def _emit_status(emitter: Optional[Any], description: str, done: bool = False) -> None: if emitter: await emitter( @@ -462,12 +677,14 @@ class PluginCandidate: metadata: Dict[str, str], content: str, function_id: str, + source_repo: str, ): self.plugin_type = plugin_type self.file_path = file_path self.metadata = metadata self.content = content self.function_id = function_id + self.source_repo = source_repo @property def title(self) -> str: @@ -477,6 +694,10 @@ class PluginCandidate: def version(self) -> str: return self.metadata.get("version", "unknown") + @property + def selection_id(self) -> str: + return f"{self.source_repo}::{self.file_path}::{self.function_id}" + def extract_metadata(content: str) -> Dict[str, str]: docstring = _extract_module_docstring(content) @@ -691,23 +912,64 @@ def _candidate_debug_data(candidate: PluginCandidate) -> Dict[str, str]: return { "title": candidate.title, "type": candidate.plugin_type, + "source_repo": candidate.source_repo, "file_path": candidate.file_path, "function_id": candidate.function_id, "version": candidate.version, } +def _parse_repo_inputs(repo_value: str) -> List[str]: + parts = re.split(r"[\n,;,;、]+", str(repo_value or DEFAULT_REPO)) + repos: List[str] = [] + seen: Set[str] = set() + + for part in parts: + candidate = part.strip().strip("/") + if not candidate: + continue + normalized = candidate.lower() + if normalized in seen: + continue + seen.add(normalized) + repos.append(candidate) + + return repos or [DEFAULT_REPO] + + +def _sort_candidates_by_repo_order( + candidates: List[PluginCandidate], + repos: List[str], +) -> List[PluginCandidate]: + repo_order = {repo.lower(): index for index, repo in enumerate(repos)} + fallback_index = len(repo_order) + return sorted( + candidates, + key=lambda item: ( + repo_order.get(item.source_repo.lower(), fallback_index), + item.source_repo.lower(), + item.plugin_type, + item.file_path, + ), + ) + + def _filter_candidates( candidates: List[PluginCandidate], plugin_types: List[str], - repo: str, + repos: List[str], exclude_keywords: str = "", ) -> List[PluginCandidate]: allowed_types = {item.strip().lower() for item in plugin_types if item.strip()} filtered = [c for c in candidates if c.plugin_type.lower() in allowed_types] - if repo.lower() == DEFAULT_REPO.lower(): - filtered = [c for c in filtered if not _matches_self_plugin(c)] + includes_default_repo = any(item.lower() == DEFAULT_REPO.lower() for item in repos) + if includes_default_repo: + filtered = [ + c + for c in filtered + if not (c.source_repo.lower() == DEFAULT_REPO.lower() and _matches_self_plugin(c)) + ] exclude_list = [item.strip().lower() for item in exclude_keywords.split(",") if item.strip()] if exclude_list: @@ -724,7 +986,8 @@ def _filter_candidates( def _build_confirmation_hint(lang: str, repo: str, exclude_keywords: str) -> str: - is_default_repo = repo.lower() == DEFAULT_REPO.lower() + repo_list = _parse_repo_inputs(repo) + is_default_repo = any(item.lower() == DEFAULT_REPO.lower() for item in repo_list) excluded_parts: List[str] = [] if exclude_keywords: @@ -735,38 +998,400 @@ def _build_confirmation_hint(lang: str, repo: str, exclude_keywords: str) -> str if excluded_parts: return _t(lang, "confirm_excluded_hint", excluded=", ".join(excluded_parts)) - return _t(lang, "confirm_copy_exclude_hint", keywords=SELF_EXCLUDE_HINT) + return "" -async def _request_confirmation( +def _build_selection_dialog_js( + options: List[Dict[str, str]], + ui_text: Dict[str, str], +) -> str: + lines = [ + "return new Promise((resolve) => {", + " try {", + f" const options = {json.dumps(options, ensure_ascii=False)};", + f" const ui = {json.dumps(ui_text, ensure_ascii=False)};", + " const dialogId = 'batch-install-plugin-selector';", + " const body = typeof document !== 'undefined' ? document.body : null;", + " const existing = body ? document.getElementById(dialogId) : null;", + " if (existing) { existing.remove(); }", + " if (!body) {", + " resolve({ confirmed: false, error: 'document.body unavailable', selected_ids: [] });", + " return;", + " }", + " const selected = new Set(options.map((item) => item.id));", + " let activeFilter = '';", + " let activeRepoFilter = '';", + " let searchTerm = '';", + " const escapeHtml = (value) => String(value ?? '').replace(/[&<>\"']/g, (char) => ({", + " '&': '&',", + " '<': '<',", + " '>': '>',", + " '\"': '"',", + " \"'\": ''',", + " }[char]));", + " const overlay = document.createElement('div');", + " overlay.id = dialogId;", + " overlay.style.cssText = [", + " 'position:fixed',", + " 'inset:0',", + " 'padding:24px',", + " 'background:rgba(15,23,42,0.52)',", + " 'backdrop-filter:blur(3px)',", + " 'display:flex',", + " 'align-items:center',", + " 'justify-content:center',", + " 'z-index:9999',", + " 'box-sizing:border-box',", + " ].join(';');", + " overlay.innerHTML = `", + "
", + "
", + "
", + "
${escapeHtml(ui.title)}
", + "
${escapeHtml(ui.list_title)}
", + "
", + "
", + "
", + "
", + "
", + "
", + " ", + " ", + "
", + "
", + "
", + "
", + "
", + "
${escapeHtml(ui.quick_select)}
", + "
", + "
", + "
", + "
${escapeHtml(ui.repo_filter)}
", + "
", + "
", + "
", + "
${escapeHtml(ui.search_label)}
", + " ", + "
", + "
", + "
", + "
", + "
", + " ", + " ", + "
", + "
", + " `;", + " body.appendChild(overlay);", + " const previousOverflow = body.style.overflow;", + " body.style.overflow = 'hidden';", + " const listEl = overlay.querySelector('#batch-install-plugin-selector-list');", + " const countEl = overlay.querySelector('#batch-install-plugin-selector-count');", + " const hintEl = overlay.querySelector('#batch-install-plugin-selector-hint');", + " const typesEl = overlay.querySelector('#batch-install-plugin-selector-types');", + " const repoRowEl = overlay.querySelector('#batch-install-plugin-selector-repo-row');", + " const reposEl = overlay.querySelector('#batch-install-plugin-selector-repos');", + " const searchInput = overlay.querySelector('#batch-install-plugin-selector-search');", + " const submitBtn = overlay.querySelector('#batch-install-plugin-selector-submit');", + " const cancelBtn = overlay.querySelector('#batch-install-plugin-selector-cancel');", + " const selectAllBtn = overlay.querySelector('#batch-install-plugin-selector-select-all');", + " const clearAllBtn = overlay.querySelector('#batch-install-plugin-selector-clear-all');", + " const typeMap = options.reduce((groups, item) => {", + " if (!groups[item.type]) {", + " groups[item.type] = [];", + " }", + " groups[item.type].push(item);", + " return groups;", + " }, {});", + " const repoMap = options.reduce((groups, item) => {", + " if (!groups[item.repo]) {", + " groups[item.repo] = [];", + " }", + " groups[item.repo].push(item);", + " return groups;", + " }, {});", + " const typeEntries = Object.entries(typeMap);", + " const repoEntries = Object.entries(repoMap);", + " const matchesSearch = (item) => {", + " const haystack = [item.title, item.description, item.file_path, item.type, item.repo].join(' ').toLowerCase();", + " return !searchTerm || haystack.includes(searchTerm);", + " };", + " const getVisibleOptions = () => options.filter((item) => {", + " const matchesType = !activeFilter || item.type === activeFilter;", + " const matchesRepo = !activeRepoFilter || item.repo === activeRepoFilter;", + " return matchesType && matchesRepo && matchesSearch(item);", + " });", + " const syncSelectionToVisible = () => {", + " selected.clear();", + " getVisibleOptions().forEach((item) => selected.add(item.id));", + " };", + " const formatMultilineText = (value) => escapeHtml(value).replace(/\\n+/g, '
');", + " hintEl.textContent = ui.hint || '';", + " hintEl.style.display = ui.hint ? 'block' : 'none';", + " const renderTypeButtons = () => {", + " const scopedOptions = options.filter((item) => {", + " const matchesRepo = !activeRepoFilter || item.repo === activeRepoFilter;", + " return matchesRepo && matchesSearch(item);", + " });", + " const filterEntries = [['', scopedOptions], ...typeEntries.map(([type]) => [type, scopedOptions.filter((item) => item.type === type)])];", + " typesEl.innerHTML = filterEntries.map(([type, items]) => {", + " const isActive = activeFilter === type;", + " const background = isActive ? '#0f172a' : '#ffffff';", + " const color = isActive ? '#ffffff' : '#0f172a';", + " const border = isActive ? '#0f172a' : '#cbd5e1';", + " const label = type || ui.all_types;", + " return `", + " ", + " `;", + " }).join('');", + " typesEl.querySelectorAll('button[data-plugin-type]').forEach((button) => {", + " button.addEventListener('click', () => {", + " const pluginType = button.getAttribute('data-plugin-type') || '';", + " activeFilter = activeFilter === pluginType ? '' : pluginType;", + " syncSelectionToVisible();", + " renderList();", + " });", + " });", + " };", + " const renderRepoButtons = () => {", + " if (repoEntries.length <= 1) {", + " repoRowEl.style.display = 'none';", + " reposEl.innerHTML = '';", + " activeRepoFilter = '';", + " return;", + " }", + " repoRowEl.style.display = 'flex';", + " const scopedOptions = options.filter((item) => {", + " const matchesType = !activeFilter || item.type === activeFilter;", + " return matchesType && matchesSearch(item);", + " });", + " const filterEntries = [['', scopedOptions], ...repoEntries.map(([repoName]) => [repoName, scopedOptions.filter((item) => item.repo === repoName)])];", + " reposEl.innerHTML = filterEntries.map(([repoName, items]) => {", + " const isActive = activeRepoFilter === repoName;", + " const background = isActive ? '#1d4ed8' : '#ffffff';", + " const color = isActive ? '#ffffff' : '#1d4ed8';", + " const border = isActive ? '#1d4ed8' : '#bfdbfe';", + " const label = repoName || ui.all_repos;", + " return `", + " ", + " `;", + " }).join('');", + " reposEl.querySelectorAll('button[data-plugin-repo]').forEach((button) => {", + " button.addEventListener('click', () => {", + " const repoName = button.getAttribute('data-plugin-repo') || '';", + " activeRepoFilter = activeRepoFilter === repoName ? '' : repoName;", + " syncSelectionToVisible();", + " renderList();", + " });", + " });", + " };", + " const updateState = () => {", + " countEl.textContent = ui.selected_count.replace('{count}', String(selected.size));", + " submitBtn.disabled = selected.size === 0;", + " submitBtn.style.opacity = selected.size === 0 ? '0.45' : '1';", + " submitBtn.style.cursor = selected.size === 0 ? 'not-allowed' : 'pointer';", + " renderTypeButtons();", + " renderRepoButtons();", + " };", + " const renderOptionCard = (item) => {", + " const checked = selected.has(item.id) ? 'checked' : '';", + " const description = item.description ? `", + "
", + "
${escapeHtml(ui.description_label)}
", + "
${formatMultilineText(item.description)}
", + "
", + " ` : '';", + " return `", + " ", + " `;", + " };", + " const renderList = () => {", + " const visibleOptions = getVisibleOptions();", + " if (!visibleOptions.length) {", + " listEl.innerHTML = `
${escapeHtml(ui.no_results)}
`;", + " updateState();", + " return;", + " }", + " const groups = visibleOptions.reduce((bucket, item) => {", + " if (!bucket[item.repo]) {", + " bucket[item.repo] = [];", + " }", + " bucket[item.repo].push(item);", + " return bucket;", + " }, {});", + " listEl.innerHTML = Object.entries(groups).map(([repoName, items]) => `", + "
", + "
", + "
${escapeHtml(repoName)}
", + "
${items.length}
", + "
", + "
${items.map((item) => renderOptionCard(item)).join('')}
", + "
", + " `).join('');", + " listEl.querySelectorAll('input[data-plugin-id]').forEach((input) => {", + " input.addEventListener('change', () => {", + " const pluginId = input.getAttribute('data-plugin-id') || '';", + " if (input.checked) {", + " selected.add(pluginId);", + " } else {", + " selected.delete(pluginId);", + " }", + " updateState();", + " });", + " });", + " updateState();", + " };", + " const cleanup = () => {", + " body.style.overflow = previousOverflow;", + " window.removeEventListener('keydown', onKeyDown, true);", + " overlay.remove();", + " };", + " const finish = (confirmed) => {", + " const selectedIds = confirmed ? options.filter((item) => selected.has(item.id)).map((item) => item.id) : [];", + " cleanup();", + " resolve({ confirmed, selected_ids: selectedIds });", + " };", + " const onKeyDown = (event) => {", + " if (event.key === 'Escape') {", + " event.preventDefault();", + " finish(false);", + " }", + " };", + " overlay.addEventListener('click', (event) => {", + " if (event.target === overlay) {", + " finish(false);", + " }", + " });", + " selectAllBtn.addEventListener('click', () => {", + " getVisibleOptions().forEach((item) => selected.add(item.id));", + " renderList();", + " });", + " clearAllBtn.addEventListener('click', () => {", + " getVisibleOptions().forEach((item) => selected.delete(item.id));", + " renderList();", + " });", + " searchInput.addEventListener('input', () => {", + " searchTerm = searchInput.value.trim().toLowerCase();", + " syncSelectionToVisible();", + " renderList();", + " });", + " cancelBtn.addEventListener('click', () => finish(false));", + " submitBtn.addEventListener('click', () => {", + " if (selected.size === 0) {", + " updateState();", + " return;", + " }", + " finish(true);", + " });", + " window.addEventListener('keydown', onKeyDown, true);", + " renderList();", + " } catch (error) {", + " console.error('[Batch Install] Plugin selection dialog failed', error);", + " resolve({", + " confirmed: false,", + " error: error instanceof Error ? error.message : String(error),", + " selected_ids: [],", + " });", + " }", + "});", + ] + return "\n".join(lines) + + +async def _request_plugin_selection( event_call: Optional[Any], lang: str, - message: str, -) -> Tuple[bool, Optional[str]]: + candidates: List[PluginCandidate], + hint: str, +) -> Tuple[Optional[List[PluginCandidate]], Optional[str]]: if not event_call: - return True, None + return candidates, None + + options = [ + { + "id": candidate.selection_id, + "title": candidate.title, + "type": candidate.plugin_type, + "repo": candidate.source_repo, + "version": candidate.version, + "file_path": candidate.file_path, + "description": candidate.metadata.get("description", ""), + } + for candidate in candidates + ] + ui_text = { + "title": _t(lang, "confirm_title"), + "list_title": _t(lang, "status_list_title", count=len(candidates)), + "repo_label": _selection_t(lang, "repo_label"), + "hint": hint.strip(), + "select_all": _selection_t(lang, "select_all"), + "clear_all": _selection_t(lang, "clear_all"), + "quick_select": _selection_t(lang, "quick_select"), + "all_types": _selection_t(lang, "all_types"), + "repo_filter": _selection_t(lang, "repo_filter"), + "all_repos": _selection_t(lang, "all_repos"), + "search_label": _selection_t(lang, "search_label"), + "search_placeholder": _selection_t(lang, "search_placeholder"), + "no_results": _selection_t(lang, "no_results"), + "selected_count": _selection_t(lang, "selected_count", count="{count}"), + "install_selected": _selection_t(lang, "install_selected"), + "cancel": _selection_t(lang, "cancel"), + "version_label": _selection_t(lang, "version_label"), + "file_label": _selection_t(lang, "file_label"), + "description_label": _selection_t(lang, "description_label"), + } + js_code = _build_selection_dialog_js(options, ui_text) try: - confirmed = await asyncio.wait_for( - event_call( - { - "type": "confirmation", - "data": { - "title": _t(lang, "confirm_title"), - "message": message, - }, - } - ), + result = await asyncio.wait_for( + event_call({"type": "execute", "data": {"code": js_code}}), timeout=CONFIRMATION_TIMEOUT, ) except asyncio.TimeoutError: - logger.warning("Installation confirmation timed out.") - return False, _t(lang, "err_confirm_unavailable") + logger.warning("Installation selection dialog timed out.") + return None, _t(lang, "err_confirm_unavailable") except Exception as exc: - logger.warning("Installation confirmation failed: %s", exc) - return False, _t(lang, "err_confirm_unavailable") + logger.warning("Installation selection dialog failed: %s", exc) + return None, _t(lang, "err_confirm_unavailable") - return bool(confirmed), None + if not isinstance(result, dict): + logger.warning("Unexpected selection dialog result: %r", result) + return None, _t(lang, "err_confirm_unavailable") + + if result.get("error"): + logger.warning("Selection dialog returned error: %s", result.get("error")) + return None, _t(lang, "err_confirm_unavailable") + + if not result.get("confirmed"): + return [], None + + selected_ids = result.get("selected_ids") + if not isinstance(selected_ids, list): + logger.warning("Selection dialog returned invalid selected_ids: %r", selected_ids) + return None, _t(lang, "err_confirm_unavailable") + + selected_id_set = {str(item).strip() for item in selected_ids if str(item).strip()} + selected_candidates = [ + candidate for candidate in candidates if candidate.selection_id in selected_id_set + ] + return selected_candidates, None def parse_github_url(url: str) -> Optional[Tuple[str, str, str]]: @@ -811,11 +1436,13 @@ async def fetch_github_file( async def discover_plugins( url: str, skip_keywords: str = "test", + source_repo: str = "", ) -> Tuple[List[PluginCandidate], List[Tuple[str, str]]]: parsed = parse_github_url(url) if not parsed: return [], [("url", "invalid github url")] owner, repo, branch = parsed + resolved_repo = source_repo or f"{owner}/{repo}" is_default_repo = (owner.lower() == "fu-jie" and repo.lower() == "openwebui-extensions") @@ -880,6 +1507,7 @@ async def discover_plugins( metadata=metadata, content=content, function_id=build_function_id(item_path, metadata), + source_repo=resolved_repo, ) ) @@ -887,10 +1515,30 @@ async def discover_plugins( return candidates, skipped +async def discover_plugins_from_repos( + repos: List[str], + skip_keywords: str = "test", +) -> Tuple[List[PluginCandidate], List[Tuple[str, str]]]: + tasks = [ + discover_plugins(f"https://github.com/{repo}", skip_keywords, source_repo=repo) + for repo in repos + ] + results = await asyncio.gather(*tasks) + + all_candidates: List[PluginCandidate] = [] + all_skipped: List[Tuple[str, str]] = [] + + for repo, (candidates, skipped) in zip(repos, results): + all_candidates.extend(candidates) + all_skipped.extend([(f"{repo}:{path}", reason) for path, reason in skipped]) + + return _sort_candidates_by_repo_order(all_candidates, repos), all_skipped + + class ListParams(BaseModel): repo: str = Field( default=DEFAULT_REPO, - description="GitHub repository (owner/repo)", + description="One or more GitHub repositories (owner/repo), separated by commas, semicolons, or new lines. If the user mentions multiple repositories in one request, combine them here and call the tool once.", ) plugin_types: List[str] = Field( default=["pipe", "action", "filter", "tool"], @@ -901,7 +1549,7 @@ class ListParams(BaseModel): class InstallParams(BaseModel): repo: str = Field( default=DEFAULT_REPO, - description="GitHub repository (owner/repo)", + description="One or more GitHub repositories (owner/repo), separated by commas, semicolons, or new lines. If the user mentions multiple repositories in one request, combine them here and call the tool once instead of making separate calls.", ) plugin_types: List[str] = Field( default=["pipe", "action", "filter", "tool"], @@ -936,6 +1584,11 @@ class Tools: repo: str = DEFAULT_REPO, plugin_types: List[str] = ["pipe", "action", "filter", "tool"], ) -> str: + """List plugins from one or more repositories in a single call. + + If a user request mentions multiple repositories, combine them into the + `repo` argument instead of calling this tool multiple times. + """ user_ctx = await _get_user_context(__user__, __event_call__, __request__) lang = user_ctx.get("user_language", "en-US") @@ -943,18 +1596,22 @@ class Tools: if valves and hasattr(valves, "SKIP_KEYWORDS") and valves.SKIP_KEYWORDS: skip_keywords = valves.SKIP_KEYWORDS - repo_url = f"https://github.com/{repo}" - candidates, _ = await discover_plugins(repo_url, skip_keywords) + repo_list = _parse_repo_inputs(repo) + candidates, _ = await discover_plugins_from_repos(repo_list, skip_keywords) if not candidates: return _t(lang, "err_no_plugins") - filtered = _filter_candidates(candidates, plugin_types, repo) + filtered = _filter_candidates(candidates, plugin_types, repo_list) if not filtered: return _t(lang, "err_no_match") lines = [f"## {_t(lang, 'status_list_title', count=len(filtered))}\n"] + current_repo = "" for c in filtered: + if c.source_repo != current_repo: + lines.append(f"\n### {c.source_repo}") + current_repo = c.source_repo lines.append( _t(lang, "list_item", type=c.plugin_type, title=c.title) ) @@ -973,6 +1630,12 @@ class Tools: exclude_keywords: str = "", timeout: int = DEFAULT_TIMEOUT, ) -> str: + """Install plugins from one or more repositories in a single call. + + If a user request mentions multiple repositories, combine them into the + `repo` argument and call this tool once instead of making parallel + calls for each repository. + """ user_ctx = await _get_user_context(__user__, __event_call__, __request__) lang = user_ctx.get("user_language", "en-US") event_emitter = __event_emitter__ or emitter @@ -1024,39 +1687,30 @@ class Tools: await _emit_status(event_emitter, _t(lang, "status_fetching"), done=False) - repo_url = f"https://github.com/{repo}" - candidates, _ = await discover_plugins(repo_url, skip_keywords) + repo_list = _parse_repo_inputs(repo) + candidates, _ = await discover_plugins_from_repos(repo_list, skip_keywords) if not candidates: return await _finalize_message( event_emitter, _t(lang, "err_no_plugins"), notification_type="error" ) - filtered = _filter_candidates(candidates, plugin_types, repo, exclude_keywords) + filtered = _filter_candidates(candidates, plugin_types, repo_list, exclude_keywords) if not filtered: return await _finalize_message( event_emitter, _t(lang, "err_no_match"), notification_type="warning" ) - plugin_list = "\n".join([f"- [{c.plugin_type}] {c.title}" for c in filtered]) hint_msg = _build_confirmation_hint(lang, repo, exclude_keywords) - confirm_msg = _t( - lang, - "confirm_message", - count=len(filtered), - plugin_list=plugin_list, - hint=hint_msg, - ) - - confirmed, confirm_error = await _request_confirmation( - __event_call__, lang, confirm_msg + selected_candidates, confirm_error = await _request_plugin_selection( + __event_call__, lang, filtered, hint_msg ) if confirm_error: return await _finalize_message( event_emitter, confirm_error, notification_type="warning" ) - if not confirmed: + if not selected_candidates: return await _finalize_message( event_emitter, _t(lang, "confirm_cancelled"), @@ -1068,9 +1722,10 @@ class Tools: "Starting OpenWebUI install requests", { "repo": repo, + "repos": repo_list, "base_url": base_url, "note": "Backend uses default port 8080 (containerized environment)", - "plugin_count": len(filtered), + "plugin_count": len(selected_candidates), "plugin_types": plugin_types, "exclude_keywords": exclude_keywords, "timeout": timeout, @@ -1092,7 +1747,7 @@ class Tools: async with httpx.AsyncClient( timeout=httpx.Timeout(timeout), follow_redirects=True ) as client: - for candidate in filtered: + for candidate in selected_candidates: await _emit_status( event_emitter, _t( @@ -1341,12 +1996,17 @@ class Tools: ) ) - summary = _t(lang, "status_done", success=success_count, total=len(filtered)) + summary = _t( + lang, + "status_done", + success=success_count, + total=len(selected_candidates), + ) output = "\n".join(results + [summary]) notification_type = "success" if success_count == 0: notification_type = "error" - elif success_count < len(filtered): + elif success_count < len(selected_candidates): notification_type = "warning" await _emit_status(event_emitter, summary, done=True) diff --git a/plugins/tools/batch-install-plugins/install.png b/plugins/tools/batch-install-plugins/install.png new file mode 100644 index 0000000000000000000000000000000000000000..a172c8e2bd8a4fb6b87124d95815895693a596e5 GIT binary patch literal 287384 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%0AaEgOioRSzQe?b(kq)W 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

IzePA6EZ z8$f?cQJ1^E#pQ6LdWNU@i#3Nw?+*$-S?~`ClfVr-;ps_MiaieBRWkAuzXxt6d{a8w_&FMC%V;W;+Zk z(`7X&8gyPeSZ@G<;S{msYE}*=)^T{mh&MhEZ7q=hV$dWY20b)UqTTl_J}Ojp{wgK4 ze2f?W;s14tj4@4a>f;c-&A4W}N@p4;pI=mlxAP(!aT?PxT$5O;*!|$i;f%jvW%3!a&M|qi&bj_{y4^-_ zyaY!68(8?9jEl$a&VxCe{%gY?gp;EMcC-^yWHMNze=8Ul7vvXLn+*kjY>9Atgm!;~ zhWv}M1!tJDBn=nSeA04{&uK$^9v!{kp{0nqpFiyBxXpm{X--~@e#^30S2Rkw*q!6) z=C&P|Ogl3%iO=;dxUP?(tYA%vmYRHb*0xb3;= zKXB21SQr;P^;Yf$B`M8I&s3QiQPCg7N~E1)GTL8vK+Lbd_7KzpBe5$1mj`C&55>ha zX5rRh;nHw!7)ANTlil5X#CO+i;$wpCpnwU(+#tANBqgSTvK<3{v2Et0Fg|2Nb|L4o zgO_}D?-7eKEtc)~AkmQiX|1^o28=-I^;)_Ot9M@P{=}sqOG(|UY@qmg+#W4%nDieW zrG69lumZiLn0DR4Qk)O-XLedSv2IdmeMoJNn=h9>@A-7gkZec8yc}@7d`#NsK*KhC zzoxF|#lY8=4&@Uc(7U(sTqv3Rv+KDTbPfXA%Ho82CI5xkf7cak#n(n&a1FQ4 z)4ya?QB!5|`M|O+x8r6$36WA(U0mGwqoN>3mQPDWNgoZ}u0+gBVdP6ufxz%ev+dk4P5+BDuZ?pU~rKEJYgs;yH zOh}f@F}*H(mX_zw7Kl^2h5u80_k$lkq74z!HzW%bP+w5X4Wg0yD9ziKlct+$w64BqwKzFqA1x>;na9keUX=VMlj+C$)`Krg_=>jU6IE$*ZZh>WW#38iZ_W zC7jVE!J0+&^&iXsnIb>kO<#FuLXMG@THtJHLe!s538p%SRSkL!GdIbla>3p5Wp9Ew z!7@vW;-#hJr6sM}`Wi!KoNJ66x>T;N-x3jY1twdmZH@wLeA;wTm5DOKo@rIx9t{q) zQTIRXI!iJu3+I2ZW=Z7!-mb4^Ph+gEi1M}d+*MNgqm_im#WVlqi?WF5 zlQS}X?pN4`8g#WW<)a?uAW5BM7$l;t+*a47dTM)unIE8%bhP}PPn;gI6Ff83Lf!Mc zH)njV%AGq|ddFLLZQ(C-`JcDXjnGInd>%Il07mQM&Rtnnkggn{hy<2Lm%b!8o8H7l9&Rz3R|%Aii?}o6srb2!u4|NL&&2;k6H!7^^>^06mCb4 z3y*IJAJ-ZWpKmrHyHfUk7wS@WyxO+Lw5fXT4h|07BD|i7&Bl*B(^k>ftP*Bs;+$Db>7pFSi^cz)D&K9Chn#NyX>;(;KbhxQlI~j*{*x#T=%^@`x{hu59+{;z-Za4TYh{# zZdu#}ymMjT5W*qh4{Hg$Q)Uy~0e zkKSd_m&aYvmkiQw(Xgq4EdmS-3+M9MSO9aYqOl}?ZYnxBpt$(W7O}jipXA2dwXm8R zCK!MR&xxG=c8Bj2>~TZF9mS6t*kjyWTmKfoqSQuoo}q0>2f$ii#~g@+n`8WsGKfnJ z&Xvp@6n>#3Mlsf9GS|*^SI#B0-j^pVpq3P6sjY2~yWRT(K;X!W+lIBLB*Y34e5Cs>ADf$R|%84tM+iJ|w$LatUK#IqU&G>onv9CQffav+#pQ zJureWQhqR;_k82R6ivC1T4t)1dLhEuK3yE!v@G1|&3)!S8}6SE$J) zzMjxm9i2u*9Xk7(P+#-yK5ihpoGkM=?T)4xbr~>%vj6v2$48Bg$?o^u2|tZ{XRr_jM3*1|Uf$(BBGbS=o(2Qc+>gYar}y-n zIie6zY1)b45gFa&ey#!tE@A@f8ymHYsf}MUo~Ax;8A!rbA)Ru2brn^F8ha^HKMV|Y z=al62ehx1Ckh*elQEi$Mk&qx(VRwwEE>%62y@13))HpY-bjs!7!e#OAZ2prc_W+uD-V&tN|`Haaa zn=vfGQiG3!5`z*!PEHO?$tg~kAp>8Tk`%=AAOQgZBCw$)wy2w?yQimx8(3n8pzz$i z8W1y_0~I~~N+R@KTWt&l4P)o1ZOMnqm%&XmA6iSqRT(X(I3E+3Zf79*krd@(ZRqYQ z!+c@*f4o6#nSxHZgjZr`mBl6G&wJkSo~!^dap&9tQejyR=k5ofre5nS-1Ex_L?(FyInQP6@HP&G#P}8Ckl~ zFVCBd=J%v8DU6QZoBI3`xRh8-GvIV-UqU_LWQfw8?&YX2?}>yEg2%HQeJ1Y5yALVo zt?JKim&)TQBjxTQ`>`$sr}Mv`9DCUAolEkPD7pzXf%wA*Z!+gA&_!8sB#>RKIwel<9xZJR$S@_`52$Z49POP*6pOBF6_|xLY2&=d1fwOKGrLTf z>bsh^i6Y8}t5*r_%hcBF%Dvo+!2_qcjK~a@F0Y?}_fiGR{POxX-fOa!rOdB_*6*lq z-IC}#jOH}B?S55V%H50RS!g!(b$q3*aojLw?^B_rzDnaAz3DlOXv+})KjpWe^Y2_I z74$HgY~#{{@#k{0T35zkw>`w^T6uZ7p;Ra%>Q31h^4`kX^uE|pAK-ywic5HER7FW7UA@0|~88yl&V@dL76Gu-a# ze_I4S9n;T7o(PUY5iy*`&%Cls;&qPQ%94ZoHr9L@eFFxu7knRa?p#jyKKo5CIbMAK zAN|Khz@uupA%p_p4jtIh83;rW%bxtU#00vk2l+{~w6K^hmtQgq5?KpCiI3-lW>dEM1a|@7}U2GXFJ&3Vo zBJ#t3G3@G4QAtZtQ@5m;ZfxjWQ~H0t@1^zxsj}%PH65L?)Ae){*bnK)iw~=;Nm7-U zchIkmJQos{0f8jz%?2Dunby2QJgPxQJ}#=QgE`k{6JcAXf&vEGL8W;4twWTh_*EYv z2pnn$oTBiQco8DSApUFtVrjmR(ApoNwZF$k-~MCv{=N0fCTMBCCb7oeCd{P&kAD1> zH|i%xZLR+p$^U)!v4KDQ|8X@VwhXc#2L1m$#b2YqhoIK@e~r|2#i+6If4y+%sqX*Z z474m981@E$vvMu*(esA{7~OM^k)RCPhzPv>>Oe&&?K<(9~fSIK#GjJx)A&X3hfF`UM|==1#PJO;60l=J!)yMQ3q&nT~;S$Pp_{&--Lh7twh; zPTG_OJ2d+bvzHe?wd6UWdrCP7{czgdtI>podxaAj-PSlxj*q+ETo3@*)}NV|>sKyb z%OoV^Ja%p{0g5o9g(bAPSox&giWM*;OeQoOdRSc)=|_^BD@&I892G8t446CfOWRN>Vb$w-;7vOaK)rex4O(H;3a8#Hx`NIEAPgd0;PK3ySR)A=gdqrQC zi;HdZgjC%m&kG8s@K(%=UZ>@@bK!ZpN>>e2OvJ$5^rpJ5rHJ)mqAkTkDnLbTMxlt+ z!UC3ml`ti;c24$+aFl`f)xoi-u#`fm^rNgAL&}uC?0w*Nmau}d4MBN+_TAmh!p(`) zSbzItzp9$pprCq*Go?_@1jsV$`7Hw4F@Uko=Cs6#cj(EtjP(jB}3Ue@4a0Q zqAim)of^&Y{h+8mcEZ6l{rOb`6gePsZZ4zk+wO4-V0cteO4Z>sl+g=Kz}um`+`LQj zfxdp-JEq0O-H_od94(*4>g!J zxs!XJRwJ64ng*C+lqbQo`fmW_orIXuY1o;Te!ah1J!ut+0GkEM=1qt%Xxiy^7% z4|hE2JO;+&Mu)Y>&S-5vrZy82%GY23Scj?)ek0%&-6Wfk!r9SElczd7^pv#EP#2xB zg+(ARaem>&@%w+M8 z!T}zxw!R@dN5j|szOyAbd$OOnxJy*`J3FR8=G5VYyc-t|9|8D+oSkjJNIT^2&(0sz zQ&O?t7N)F}d8Pn>0tx*3^?jV=8vrcW8ha0fNK1rCOI*9}dLJ)CXyQ<_pUN3n=I-tv zVv?Ca#Qs^876l zqr`0ZC+2mz@^<_LF(*L#R)S`wzYbXL^n=#AAjP+^t~L>J!xg$3)>YaDQh=uRCKH0dPaBul(oVn zResvp+2KLf=X|+zz3r;0$XG!~Uq8*89vY-6WNi*td)2RWe!}*8M$Mc!JmqtYi;J3` z!x2O}&3`)jL{nlpYs;shsL5wH`}@9z^7-iKNyxPWS!6Ljgz`2qWskH30yoU->Bw20 z=oQhMpxxnoe2n?UGG?gY232{4zEhHtd2#e%)Nl7TZG}6}{@$buG8GLpFTzhmgcu#B zL%t~8r7m{5qTwvRW`h;Hr{_2j2zbPWbP#a*Yj>_Tj@i}nf$?Euih|rVkFAFf#7A5H z+LXw)n`8oh!w6s%Mz&GRPjnmvF?$Wx2LT%PiP>Jr=U3{F@BnC%-7PEBL{z?kUkZH4 zOG+0s%-H_Morg5aj__Z3$|AjFsF>eQ1p;JVj8qOeoy_Ejxl5N@g>E_8zY_AURUbA+ zETs|UJoXwerhy9Xg=K#Au-BMd`IFPumL6W&?~`f3R*7g&9)J5MEvV^{&}&09B~(;_ zEb@Gq(UWBzogDG`_r2Ls6R;pTgr)P*)8L{20q7qX0dx0=RI#rht1e4{x9xdwh_*nk z8W|}pJX|_DI+pl|5iOcuw2ypuYiH;>4yUllmaRWgLqzE7NFp~q4FwYodr^J8oUZIZ zmscY2+AyIiY?R}zATn4m+{|6voP6<~R=IYLkE7zuNKiw_5f`|F@i#NwHn+MKZx>3G zF$G-%868JU_jprpRU=OuHa2pSiNg8Zt=KOuS@Gm~+gT`8J$WWP>}BSr%xM{I@v-Pc z%=5zxjJ*6zs#;RNz?dV6<|my+Ck zBgo$4f0vquM~IP;o>W#kKlV9P*Fw|H+_f|*s2zlSxa35>2#KkM`=-YSW!bKsV)=rJ zA;0cyWqy;3^K;9>5`>02GAz!d(Bag`Gi+rezKh;qpY{HuRNg=)mp`8EG)>F`-a$X* z`um6DqvCNn1y>d)-;9JLr=$=ywH}aCe6M%k#z6NxgP)n0RXC!=!bVMcqE?nt`c~;* zwR$^cKof^akbqB!G1eo>#KBZq&FJX1-(zi?zB;P%`}q1Xbs6%bESq5^5}>1_11?gs zawBK(2)E~mPew=f=-`%&v8l-@1Su*yO8FHfCf1p<^!VAfDk`clfnw?^YB>8=5w&$ux|28^`h!8{~#QDwBamqZ+ z)RVWn`sux7yM8eV zpEzt0(>s26n9<~(1^IzuNpqp;(+5Rn=IETjrAlwkFue}9xe2h226i(bra-l`imD_> zNto2Irelkix_>F6^3z*w4V8-%VS6bpOu+Tw4s5c6bAU{?h#Mvr5iXAu@)HdMg_&h` zZen(Qdjlk!_BYmEjTO@b8`nV2sq;J6O@qb)#4_f;pwUfF&-PGy28YWUGAH#yb3-?4 z8Oy#&q4NsK$&zy*#L>IZ*K`@F+KN1tzZ6E$_QwbYt*YG{Ce;b>~kpMAc5^t!12 zeKVh&%-t||YHX7G6Bav6%=_df9{-n^oZ}>ia~SBdd`79-Pgx`%xG zbCko6U*r`0Z-IUfN}f_)V0?W3?nYP8(J}yZE2W)se4(a;bin4`KxgiGPXD87Uqn@i ztOPY}MQLFvNiM4g${Rq2f`x~Yfrg!$?W3}$E z8$ry`Qp{Y$TK412w8or-J|49i7bk8TCb2*hu8d_v-A{ z*xbgN5;Gkk8UQ^ZR^R>$q|d?>J{9^P7+X!(f=z67zRK$ZjN?;6IlC+gFK!phF{yi0 zJck_(6=IW^D_}>!^Rprtl#MR5hDQ!LSXfv{LC`CY*X@fmIht$L?eMmKjR$Q%DEm}U zfDgX^a2gi`wa%z+)8pL&tz-5S#Ukjtp+6JhV|t!OS?%mH5b6;r^w(bxfi4U^C$~i* ztw-y5*iSjZjk!}!eZCg&)2K@k9KDXsR=d9Bs+`4}tD}oaS_*!*)V4AZo=ekP^M|Qs zpa&Ws&w4;|Ku`(CDc`eE=}OFQy7t`159su}6|3ZfmrX4kKq_Zt+#Vaae%LH{rXC?~ z+&r7@Mx35dt_6q(Y{}zb;is`z=*paouHD^vJVI+F<9+ZS8d5(U&;4oeGj4z4S=-gk zH5oe;e(t2Gh>FC2X!ocUeB(JsrKH)LK?tC?Ty1n2EQv%qF*aEpELu{Jwtd;T;Q5ft zRME<>U~zSWPG4k^1XMZ>ylS;1EmvClmen=2rXoB@R#fP>xp@mI;XdqxW(4RL>o2rL zM~~xm_7wgd6fCQhZ)q5kX0VcuVG(!9jBGfC zvg2yPU+VC`oHMh)r3;EzS1DU=NN5!j5^8q813CxEYZO0h?O=^+-;7+( zT=R^Ai7<7!)6L!8n7AmdmTO{w*Qxm@e_)08-o#Wmx7M?ntdqU>=8_&q*RO=-?_ijT zBFV|;MNLL!|2U}li(K487dol6Rfs06JPTwzaU}o(uMcsT>NblRvC-jPdiGzU-(!)Y z(|=ZU*t-UU>x(mcD8X-&1)wyr6oiV_g}0?1RoWfkg0@gdPwPF$2`A6IcY)IfZj|86 zb$_ed_I7Dw9S!5uq$)xtGZyCY(SeUYL*KsSuf;$iv2(ca& z5*V53Gj$yk4Cg2-i@+Y%z*gt10)B5zoPiDDk6@DM7s)37?pD;b=P{Fl^2fi%anorI zo!%PSE>3j@RJ{PLlo$+pSjh~~2-qxDqKC0ZMdnT%+ATYaq3Gzj!@|OGu5cF3%Oe5f zj2hC)$9~>>fj*4ryQ`$?1Z6LCqXfk5u2|ggX}-8NH@4RK2)a~62>FleMp>_&8AfX-tXD9*jgDt z5I)ol>C~S0>t7qns^7AF_RS^cTdYq@!QYURXqmUpyN~;CXL!&^DhufxO%`?N^R;>H z^dp&wy4kIDg1)fhByxs3{zA+C_GZcB*K%dG*fClvF(_)V^6pGdYUIwSG;M5%2Mps+ z=3Bo@n`q*EH{4(Sx6K^jE5yIV@6 zySq!eOKIuulJ4$2%l~`secyA(`FzLl10Ni)_kPx%YtCOy51y%JclV3Ah6h(}SXB&G zhJ_X)z6-g}F>TJa!~H!fqj41$Ug>1bT-x@{I`V1{(*XvLR)nscJTfzZjMbt@r8l;kl#RW66U7JP-Drx}`u6Sm9e|z!9XWx3 zX%TUVf-Dz!Q8e4Ek2kX4yVaIH^Ii-b0+T`Hk?ZcQ;a(#-;ZT@S_yNWn4Cli`kI|FI zT?4y?bj>EWgZgjH=BDbHm8q?+j!y^g#bJI)=-k!xhfdRTh=}?JqSe58t7sGT5^^uK zqQQBO@|qr$@W=^E$Uzp#;@9y0umWEslsr6OUm%5tAwn#qyhA!|gLys$1tsb=COY85 z2pfDqQfF2Lr+PZ8JN6l~8+wJF9-t7jiBN zsrcXR`60tlM*gDM8)!sF8XlO26d>>LaHoPA7f}NTOKp-y$$d+SPdD8B;&06(5?@;r zQ)=)DHhCzzu`*%P@-j!?O!|oHe|k1nyT5Rszt_>PGPF;SkttSypt`cPb>{A9xA?;a zVg$oCcz8Ms#gP_$!!VcNYqYx`@%UhBt=EY4; z0ya>XjKSP^cEP^Z>&`OVz>EYSxrSFfO)JOhvC&*!TwCi}%z=u>Ys#EZQY zOuPRe>$LDVl~x&-Iq9(&Yzw{CWn4tmsJ|C?zMk+E*7w*UN* zBwEbp_PUvB{`U1OSVVsxUztL4dEf^V7(qqIno?;r+h2!9; z1Me!YCKz1*FB}}~9MlcjA?$6F%yF0rC5&PG#S`j>DovflOUuaE$b~jD0%nq>de_Vz zJRO?Qw0NC@%%4$_vC%O}nVCP`zf8MU-!eITK&^`nIvjDhWw(1{wMOaUQNO zEG-Xz`-XrUerpqp<}&&&C0a#OAxw(SdC(aA}kD4_V=)WO+yHkiD^PGy|wE5b7X>0lBMBn8*(vRGxPL`94HXR-Jg#ie+2qji3R@zas-8_ zRf(c#a(w{_eNdHS_{HdSIMMy_7g{`*DoeGGo`L#CLqqeyAnT#$*D;u;LD5&>Gx)6Z z*-EPpj?T4ehoaZdPaG>g2F&JaRqpgJ)N0IS)Le1{rvraQ^dhZ^y<$>pe2J;RZ}7}J z50p-ouDkD&--DHvKF7x?OGtfuS<85d{4!kXld@8TnISXmH&S_x=fNQ?6L`<*Zh7=z zEw&|OqN=8~mnR7I@@RFD)GC~(RvQ#yRyK;ApmLA3(;!q*NI+ZWa>jFGHkc#o0OgN_ zP_6J-8v~=Tw!ZC&2xgh_e^;oc3V>m|21Uy9oVbS1iVjaCwbs22lp^q*o8{BnXRXby%wk z>L)t(gze3vLSw0uyXSEM#0YtdgqGHH3D%!392|_@jL)Wo$YhT$x1yb+g#n8|l7*DS zrM>R)6a{)W3MFluqvZ_?M;jFd9~T9EVsnuBa#)R?I0`(}(8^4S_Q2-x$n7M%3_3m} zWF*IiD&wkug$~-^L^xylC&G9R-dxhdymswiZy${J>kb6u=>7Db5d1M}SQNNZZvkij zFTS}AuWyX_UDR@Tz&&47R8*KfHu5=gcNf=|wX%vE0B{g7#ylXG0!6zIX1rYgG@BSw z-2Ql2pE1gA&ML~PRF_gjk(LL0hJJwA1nHwm7r8-afu*%Z+)Uq((@qy|A)#-^tg?JA zO3G>#^*Je$*>(lM&kV~$OJ5zs8e?A+^SwM`QLg_^c41`rM<0zna;TU%ECD0{+gIPI z1g>PK_x6*Qgq^H;k@pV7Sdx({!C?t()k?XWwO2G3}D&X|t&`{+Sv#Q8x_02}&bY$H74tEz^5 z=l(oQ_LDLI8D9fOGTt<;daa`qxJ(*?_$v3y3H6_)x;(HaiO9ogc zKrX=B8C4z7ApYnx1@&`kD;yYSqhn)%wr1pl^hXGa{pN6*{ZZszi6|b-%CDan?F0wB zBoqTb3HhdcKlMr{+sTW~?816C7QK1HY~JifOp5Blr6wc-wi|2a8@RJGjcsJfU7BmK z+5HXhrThtb`xpL>3A#+BdhWeG@e;yjF{R=f@mzm}R)+Sc5NDl<6*NK5Oy}{_-27!O z!6=Wq zF5{SK-kWj0(}lbZdm&;nDuM0qfD8Z~&&U%%RbYR0nO%K%VAg{rKquAmEpr{EHa2MsAamHRgzJIPy#!RC%WUm-Bt|KSk;z3S*CAROJZ2C)vxxSX zdBg{Y=r5X|X8@Sm)F#`jiN9@fgxnZ{1{<*wzus9O3uzQTogv2msRPp@KA*$n_`DTB zM3SfJDNL!E>7(PKuA@{0M8ufM*yy5LbV>hd@#L9;!1v@~G8RTaNy#}Ov@6iNe7l}Z ze_qu3DM-V>fDKZbo+8P{hBzyo6sJ)|58GEtrMu_76u(*9*@fe9k%2lux5lFOR|wN} zOyP}jCKc)X9>B=vb0dow<-f%KWCa8mPp`$$>P(JeP;#twXM_9y`grLB)Im^p6cmG$ z>(sAIF<+PyWz*UmJs*<{K6iX0`$PBaZ{XVs=cVcth8v=1?O|yRs1W$ipi3D_*(Dwu z8l5h{nwC>BM4FaUl#!5>8tx;J6p$znZIDY2Cr5*8sOR3YuTn(Q*U@CfB?x6#Wp9i| z@n)%P&G6c!HK@@ccf=)HsaZOPcV@;e_I9ZWCCFw-zT5u?Vdm9RuPGr5gEVUm!aXQFo0Drm##z*)M1X` z;H+n4lBiD+N??G8{RWJlW*NnxS=b=LsBoQ40l{L%IFGiEw-)T75yxdiubZq*nJGVJ zn-~e|+PH|mjTNh7=D@_lYI^FVV`d*6TVMqJ1K=Sh?|)-3L3dh1DTqjJBlgYhaDy4he3Ewz!RzN`Dg;%wBDqIzSr;NMn|Y$Q-yL2d+!U9R)*K=wu~@lx4KM}J9TEH> zW)-re`=SO=^UIWXh*s5F+Va{9{%YUfLs1 zm~$WlfRy}C_@Nk|v@(!=>)7Q#-~Nn{M<#y{Qd%(72J$A9W1(+Vd|SBNrWZ;^KHK{- zFupq$fU|82cP3(j3Vs%nBW5*-=L?7-rWC|!*nx@+z*}%<awtYy*T3=67TrJ(0=y%p2)qz{0Aw%YPS1XQ$9=L){OS zl9PjOp2|wIqjBg-hbB!8TSTcrci3Up(jJq4eMG`9=e zofMz$@NANy*qIZ5a@!r3etF_mKhIzJ6ZwiDP~~pm1Mc7h(2=E6g+$e0pphl3Z)24& zF8MS8dA0Qx!^rb-%(Z#w3*+_$%7=x8`+Ile!_KjH37;s`_b`n&$|`t{kF8}N^(J7A zu0ZPzj^ji%?cHnkPS%&DBc4NlK!d0z_Vf=m!_|_I^A>(k(NQyDd)o!*Js>@mQ$2sm z3rGA{q2sMSP|;H(2Zvz2!4Nn+Z+yB%y{rWYv*nV*z|A2DP)2j({OB6dFly&?G~+k% zt^F&+$iXI%T|9D(&GcFq!v3(Gyf`=pKW-#LfQ64qK#+Xi-Sd<Gz2>yPNrK#eK-xK~(s{N404>?g6)J#Ck1%?>xu z`xK6Xn9sT57*YglQ!~emg}!~$Uu#;yTowQ%@<1|M1@gyo_miSsb!dB}F>L@sVY~L6 z(b7`X(9(KOOG`#V9~YSj3*F|x4}ks?09_#G^$iAQY35Jb_oQsS1IL?-`G76vYPcE6 za$gsbx#Vj}6{+zvQ3BZxwB3=2`kaLJ9URz2;9ttHffWmRV}F$G z%nPzn@Zz2n@-l*XM4zqM7zTd^##<=!{587npW`?ODN_yiY#?tzdKskNpwB*b1Z%Qm zS?+HGzIK{IMPAl^B_U*)WjJ3g(qfWcrzhZI;sCJ>!*u2M_RQnLg0F9iMw*Ft+5uhRR_WNpt-Oy4^_QWMb-iH`;ZI{W5N=GO4Acx0l$>wA7aEjBmFw` z2cF)?+>swdvtn4I6P?~+&R0y>kPQApt;54uMYg#`$)~0-UtytB+e$^s84wK9)iEnC zq)AK7MtWv9Z}z;m*hN8-dv;OF&W>fyxoj!7rjtl4u*-jHAU(2~eG>~KnxMI`kOpi+ z49O`Cg}*`L4ZWwbD18LH;tdc5#mgRv4x5h`Vlx|E$DE{+{#p1e>_|vx`5rkNBo@?j zYH79_Q$W>@JUvLTY?IKh#WP+P?1{gdj`l0tH5%c#xOi&xS}hmG*Vi{rL@nNN9z(Qd z6fQTSz}Jv7FFhVGH4~2g3<6DP1Q+-0*Uw5K04WZY%r>e~e-SKu3rDx-htI5Et_E%q zJS%?V6N>L8-yWWI=&eRuln#z^W+#_fea*SM(lLv84~({9la7WasnI#oC=M{h-1OAM zWD2t4ip}9vKyt*0hph7?xBfaBdyiB^)K46(?#68Gbb8oQT_Xv!VAY9j()tEug{-c2 z8or{af^J=ZiXGY59B5sC-QEW91`fge0$n-~hXrj&vcEbTF5QcxdEb|Bw3*U+jrL+k zOdsl z*Wv39AxXZlh5mDSMBK+by6iUBC~lSvF;KN`Z^J>{IcEWpeB_L*H1D{7Pt843$CnE9 z>k;WB15<0}M}jTeO2ofeawE_9f`xDnSiZ{c6=^6dBGW~Sp^i=yLXcqQ=sK?d_aNzS zagY8PEfn1!A9U^9%slO29;+f^Ud6w{ihhNKendK_&YP1pA*-T+{*Z{h3wir23B2=@ z3r$SihW%9)uMNHv9f6+nrltm#aL^S|le~$&ZSrdQX-C_uiyHw}_+LD>ZUak7diRxQ~B^5nMEP3Xyh=PRrBS%|;M>lltO{=R+JHHx&G5BJd zE7G>!=NiS}v!dd5a zOA)e6>p#=HyEbrE$FIV=+qjo@Wj_~;s@c;c{YeMg-lTC{v#N}>+EZlz^Th(1wmajZ zV#vGB>Wf^zF3S1sZMG5q>@xW~P6J)!Ux^O_X}Nz76Dabg41y_dG2L503}jbW?rKJx~*geEA|VLByhh z&+P&afmk0yy19CT>570jQo_-4VG)sn!3$1S7Ni%UdDC8l%EltJH^kvUdNHJ4J$jPf zvrUPGg_SgBKj^Kfrl#vxsw`@7u{(H|-r&-5hwXknq1-Mk?FQr&LW0_WI$vv_bX(`% z*~9ua#FlW{V{B~l8el8mF@daEE*Q+GX&{?bT3Qs`6o^2j0Js6)R;L(W`*-tKsWf!O z#Ls~Ifr!%)2^!$m8xN*PoPKlxIv}osynrIV`k6sDS(qrY1}lBX98#%kOu&FBQrOZ(W+-N8|@CKGy3%6 z#WB!Xz;{LcZ9@hDG{H8QP7(6oejW>(u0jGRBHspi`%A~ zAf2{XsObz;RNmd^mSxL;o%T;dH)wWm9@ZSG&)B*)#CgI6*^6 z({*)08qA-id-3~AjW3`_KHIbpbS8_^d91m__5RCE;53Hf0fmUvJ3AoR3p@dJH zp-n?T2<+poCwvzgACg~31Pvr@62GGrc}(VWp|yAT`vcf8$;vVcYQDYw?RiY`o|K%7 z3N!=KAy<<9G-)*sV)HvvPp{tV1AWTVf)@gvDaJR_{Ib`kk?}wdK$Z*W#Phvrtj1}z z@^eeA1m-V{EhtM0=R`26?|#3jcV1FbB;}Qt|0~?YvCn63xpqkk-p5$f8=uUBpAh;> z{E@c$9QTXO2LPV{YA!xLI_UckQ2t1Hw#2_BNM;YKmJcmVe7Wo1I8Yl##bc&oquVQM zlMTZ*?CS4W+ar=p`P`2L(3i%!Bw4LxTCFCtnADn>oa-L%^78?FFq7L?izM$qm|e8T z&L8o)zkWlQ%_B$3M9#}bCk3>B1ot=Z$8~LXUQU42&a+F8{PYi3BKd-51@Ft$Z}}@p z|FLNRV-rQ$@e?Jv&}HaD=|@n7~NfR1eB(6amvJ1Gd6VjGxjg&Uu+y56u&Pj z%KrLBHs#LMbY<#7%4*5Ma4k;glhXSA$>N!cxf@V$#!d%t zQBcswuE)`0#?u*mv;dd1^~eSC0$}<8Cu(arX=16Pse>#q(x`0V&mX!39=m7#&-TAP zNdsX~Xpn3gpI2&OeBVJnd1e`3DWEpO*UO-P4?j-}N z6Q9Slps`2+=mwpLe8G5XPCLKYZkSV+8W9thlqRYza)4pj?Fy~zVR73`rGrs9*Jy(n zO9F1x<|A6lV(fpZAqEFqJjQw{Z=d7GgvM`I^qiG-DD!H9k`v9kafGP(7gPqs% z0o@}&rV<<`mA1|}HaFJUDdF_{iDKE~`s?kz!&F=z5YgU$YY&#{L)5@FD=21VNeqpJX8RF=#ZyVGagQjv#%`>X>m#Q^n=z+W%|3fb}^i3!m zh}`dIqg82Rx%C%}=kLF*;yIv;b5oRM1`5T3#Jz##QBeEVf1b%iiLKZM*q)ffmN;v_TJTo0!$A z3|}2-*4eIU14I#U4?qD7x*qVuwp^xz*AS(n3xK@$_hbX>>NfvVtbl3EymV0hj+uRe zA`nOmLq7Nt^O9x(>?$HQ(tY=qf}8%MtPzlgi2<=|L^^44!FNG&1V(J7>#LZ6goqR9F<$G*ss}yY*=T zH=W7Z6lgEm+1azoj<;6T^zlA{D<wz#&s`A%WG{U0a} z07z4u<4gIk3Uga2n*N@)d18&ji%ZX-YWTX)0{C@8UPL|%eHka3wgDFsSa zcUOlI{lgmYzVNajLZCyhv(n_d375Ap437`oI^Ah$LQ9pBkQDaK2j@%{DD+&hy!$H3 zO3r%Sx`(uqi5e{R^4ot3p-GlI@I14>MmyIxTwGM^ z=aMt%v<)xmBt>Q2cSXAmX*Wbi#B5$1?j6E{xgO*KzVZC0U25M3*aSU8O9YPqfaX4~ ziT_k%k1xkE*5aTlrNRDI0IOq_S$)zVK8M2Rwt)(T;BfhEM13zGxj}D|(YfydxHv!O z8|h23&aUpzTCEmy8NAJt10FcQk5|>Qf?@WZh9z1pqvOT#sGLe1MFZ7g`<}4WU{*EU zj~_46KU_~g#aXs`_Nd7k{UT=RV3+d#mgLy4ML>Z<*GK}M&}xJfmzs$^C%nsneSPT$ zFcUFwb7$5FLLfTj#;l`~oj2Aql(Bamh!E@jlvdrzW0)L6W1d039%@8=iz?e^^>`vj z>^%Qclh8Z?Ki|HJr0qk6lLsrW;6s01&f>Iw7E~_oT_JA?LlkCHzVq9l;yEijppk zKU65QzReR06URu`^b3DGg4SHKVFjp+prQB&p4+jiHU_chU-e@Sfe*;-ifLv`m=Q8A zcpr|Y&8wRJDHDSFebiExWyGWu zJ;0za>$p2fY$puN2Vm@>eJn@Nz;0^s1Viro^9Nmv{r6~n6T~dS?~&KQU&%6nm9py) zwaa^BE2gEq^C#5~xK2=z!UxZe1%1HR7C4p2#M*xOJdcWtst3ZEQa5@Zl1O7t{fzt? zyR-Bnx-{cnIjWdN4HZMr$2XWbPJ3znr=l#Sbkbpmi}wSA!Pcofwh5C-8+J%nAa0+S=s2fNq|iQ%d$wYn4toi_a$0PN832!Walr> zs|}?ci0k&~oiIz?>QDg*Fn|_NX?DZ}Wt6+Zh#nkOQ{|jthf)0Jzv07@DEN@IYSGZ0q%^T$U{(&xZQ-t+d&+~YvHV2oKpX-5B8!N_)V=-Oi=30GY5qVqNe)Pu z+>N*9oz%#KpA3P@iUAGnM|#A$$)6-GK5*HUW_x?sPB)q1svZ&56 z;sXPti#ofy$fwDpC74rBQ6+Nb*%SxTk&{=8eirgNul@k!%@Caz>WEzbd#c-QqNKD$ zQqZd9XU}%q&0WO}i)PyQ`BY>;{C7x53}~{+lydejU|=4_=?Q^`7{J?W2M55U2->vB zaZNm_uoShvi&)*WDL8;)x9pDOH#Bgym0tsE5eUg%V!e#q*wAm%u}{sa(|PJ4qa!1u z>YV+Q92n>}+l~X;SO87eRc`nBn8BqKm%2q91~Y@BDfpW`;4UkxJ!?c%`T3}HdH!7y zCL9q%S<;VpHZS{tzI-=nZfxvF$*_)Uvy$VBOEA!aoQOlE^j^`-h%Sc8gLM962O^ZM zJ`o^Nc_bkCj*QRBba@eYhAHU{e|;nz*d7=xq+8apy0$^iz*q6{yN91;m^`rCZ0OGu z5LB=(5s3}OyF=xSOxuhUcfaw#*NjqHK~-DlsuUI7Y}6VV58xV}D#G_FeDF0)^47%%)Q&HDQQ2yXB8K&Y1f z&QKPQ-)y%&J)vUAc4daVx)hYSip2;)ejXm|1U{F2WTzvk=~UWJ7jE|g=mWC4yKr}5 zqz_xYk5Nw(7lZpIYhEY9SC5llV8U+dd@<;`=TbS}qWbO3f)N|-~l8u z`4FxPi-k1}q^Q8!AoUm%8LvY|^R8r8M_E=J-6iPGDuYF?<7Vh4;`_{gN;5YN0AXyr z1869VRogJ)FuPy8uq~2&(P2UNq{TD$SPWn%{KYyhCa#v+uv^6vCB_6oADOb{nhn{e z%o1&OCf?_mD+yjaz*dHGj^Jn!jS)zj$N>`H0zyj@GrWHd4SG3FbrSmCF!*@*@;CjXC$ z_;8b)hUOg|`3Y?0mDJw{zLEYO9W7}!iHL0WvDChC#f^ml{ag3vr_O78dstb;rPRG@ zLrnMz@@gLQe{!pv6{^}K8OTq3;oHjujPTSM1Tp*D=x9%$D5Dah4o};ob-dfkN?0La zUe{{45fCj*&+&5}rs#ZZ;`h7+-}mqeADO+@)A-yfX20C4ot7-%>`U-s;CJrR)X?bP zG?kMeyP@bd3_JjJSi}AuVZ0wu(H1)`OoK(7U^*nxtCu}dwzE5 zy9FeeTDkLulS1H`+W_%n&bj0~Pj9d#&7{O2s5 zV|?J}flXM(09P*PO2PE$#zT_d!vOYip+TTo0ta`s)S@c@^^RF(ov)tXAfv94rw~vWq^r%J2 zHN~>;RouU4i2X7TM9p9g3=3AIFSHVvx$(R`y7G~jw>?=Wv_tpM-w@3n1xAI#owYXL zi{+pvd;`q(2j*W~V=F6P00%_&LEYhsO6Y6 z&S}+;|D*#wxd4V&M;2huTl)((m$h$JJ-!Qo7U`G1OfoA1bo$~4-?jg)u^H86H1f-! zPmeLwlbj)P?i78ua}w{6ow$rQM^F5}(F;a$Mv@@T6Q zpr$K+9{wX-N+J>%IQb?N#MH+gF5Eyo0C;XSp8kduXF$ddmH$((3P{SyeYx9wn>gE0 zXrcyYO#18P^{_r{CoI#7;doP?ls^j7z(LWFu8^_8r#W6u7;c2KXC~s|S4_dMIb|Ki?Vs#W|%-5Kv zEEn{Yqkogi5RQ`j}CVZRJ66Z9HKnH%d^*viphbKN1u}_W)o?lqozX( z{Z2cACqw%=uI);RL%zwFC^tAdB^HxRa1f8A*u!9_lkETV*mD? zYT&rw8vH7QE>BdweaZg5KSGsN@I&u}x!>#k5tVK}1&)Ph-$+;AD7d(|oI4=A#AE)x zaprLC!StVU_#)nm7sM0*DIrij>ihR^>|Mb?)SBS1X<6Ij8W<70CIGIH(0Bi@N6tcH z*b^YTZC~+lnP9y^FaqF(>dNqyElxz^<4#;aN<~)=P9*4RXR~>b(0zd&xS_xH)$2ok zo8;3TD%&>=H~zpg1ZFw`z3i3pZ6E;(mXriA`28g&2jPOO2nQvLeITLlw)5Oe~RF{<=P$7f|aTwarT4`AVO?J_l{V%6T;<0Y%Z{OTC(NL|m$NO83S2;A9&>_*i&tm^yR z^7=X$6`l158tLw~-Jkv1H_^Mj+7%*@T9P;Z+1vThMP4QddW_brmCUc!Szw?ui@-f2!T3A09 zbm@6a21drRimko@U{F&UD;z3+>P?g`#v1$kGE~L?7H)3A7`KqYp@w>k4YR*1c8&c6 z*|}zGh5B@|b`cndIu19_?~WL{WTA|I%;f&VQ!WIjD) zK|rw2x7A{EVf#^^rbGu5%$`#IbF$HyW@y}Gh;s@S*F4G;or}mmt$CM zyjo*+R>>k>`{_v!tUuyNl${{wwz=G`m-ijQpRF_)%rXq!gMl7=_dOK)LT-woFXzWF zl$TbVjYbC9GSaSA}I~l4_*Crq0Jvq4>Ua< zufw|RC}DpESRmTk@;l@a;1H-zx%wppriifXQK#IUrMtvw?nvlh#)1>_#5 zYud!fsHDg5qjot8g_@UFm*AT^S7Tb~bypOP$PxNzA>bqN!DFfKKI%4)j_OsZ=2f_l z_tUW0Q4dEr(Q@1G#lf4u(cW%o>4mdp=tgBzwsuPuzwg?z=Qkg$@S*z_8`+V)cEz*h zuH+sWE!*8MZ+>=?aQl#MTFx~`s%~w`B@X*EHRI9D)RqS|^zmTxSWoo_i z#bF3_8_{Cbl-rV0=se9J_zELj9yGf3pQ7J!ST`7a|4PK;V6w6Ll*-@Q;r6J6=r-S( z6EnV5X4d9>B8}LB%4>63lvsE&RpX__S7Y|j=K?S~jw8NPx5pn1F-drIbi8)m&xpXn zvoFJ5SEc;bXGfmAJOuYw_;x2MRvi-62EPZ8w!$n(RjjO4C)|%NUgSo}e9r4v?&?-X z?wuujiepGZfGp`{9QNv;30PV_o;SQl7FiwbKuq~izw-+>?4ffHf<$^$8V>V zr3W_cZMI>heW)))%|8EZSC!Ia&%#MtWHfzQH$+tLakA2kvj$#hP4X3UnOJ-O_(R{$ zA}9_p5YbU0@F^31$l!T6$j)b=9gs%bKjy0N>e&7Z3;iS{M(rB)5G1$Hn$rauGn3NXjuyflYE(`1G0D}5R11<@esu>pF z_gya|>eRbZGIP^&Fz6WTW5-9VV;%PmO}XCajH95yL5%fYPC+6?HrL*VT61BKAOv$p zrKW~Okjygt&mH)Y2wq_20N!R1Qc#0(iZ907_?k|FmrGkwR( z!ZtL}_fcwi;<~6oZSA&ZF=f$glI)_o$-(mOT5V;pDSXLK1e6<5N{uRaRJF+g>TJN? zph5ju(xl?f6XlO!9h=0*K@d>Gf{9BVD+!()MR&XUPd4b+T;FQAO$Q+#(g-Jw-(~X1 z<_E&ZD`3ag=I-yBeGL_nQA+)^EBc}1Py!&RdE|;#l(dXNGD9yXTF)E zyQ9}^kftd(;sHT6>_4@?7-_&mjgF?m@)MP9b<6c@dz-8Jw5-e=9Pkidx{{AxU7!8;fB5WwEM2#U;UvH{vI+f3AcSL z2?o!0Bv z!UT2Yj+L06BuEXHR^xihO3z5E?SRK@7dvw#Vj^s3qBYk;84og+8}@iYO-G|Pxh1cm z$e`NY*n0(SFSfu2c2rcdJ}t*A&)1oVg-?~76pbVZtcB*GT;$S!%+5<;aH@D|&@2t- z?g7(w%$b~=7*jK@$)mC7@P2FTf;hp2>cG(Dh8qLAwLg-ePv%?XnX)dScoP)+0v=5ICzH(UbyJVph=R##f+`7CPusL$CBAQSCoRv zD{2?2UH^LjRg`^jik;y4*MmU=seC`3uG;TvX#tb zrsg82eYZI|&sbS>fBy_3CZ%^Wo^Fqjx4AN+yQMW=zX&|X0MHjP^if1m$>ftCZrCI^ zjL0HiD@2|_IR~;mmvq~3w3t#4+<*F|Q$y4g`)kC;#V-8B0!(%i3t`kv?_!0A6y%JDiv%UA&F1tqN|1g2 z13lzba9aG-%>wn|-2MjSUDGA8$(@zr4rqJgxw=3CYKZR2v-ZjwdwHR|$~85hpm<^> zAG4Ev+n1M-p=U`1H{1ti1SrAdWBKg9W$HXL7G-RBuii_Nl|8Vp@eS0D!;s!@-w-E8 z5kGvU9iJGxw#FN6xgxA>1DN&kd}jd2=MOQAJ!>>5@ z_Q}SDqT>i%*>o9~h9tUsE=zkuT8)Xvd^pgDy?QqAahFsOg2vrY5B&|UgrtnW?ZJiO zQ#|y=!a^`VULqF)XPPon0%k?pniJz8+tAQ-q19oWc|%R_^#j*dYT>84s_t*w7xREZ z?ZB4r?H$SRNH#nd*U~afSL{wo#0A;gf`{Ki!q@7}KD7NyYxiN(q(KhOiskGrBR8nP zorYe$Aw+>t9cu>?L9YP4!qvVGNxdg=IM{4~VOWm4E*J6qTlhgwLqpAYfUF7+7c8hSSus2C;_b{wXPHBlNnF7it^K+iG@rUryqg9v;Lli`+z6LReTQ)rrC0gji z1=`nIJ<6=FtHDOys>aohHz{qO%^R&ZPZ(OOlw$Kc9vgW?!eCr7_q22N zJ=hzk+e$?*GZ-p{yIQ!=j2aUDHHeI!X{#T4$aiwQSH3*qvmGM6nx;OOL7h+V6wjY9o>YQvf!|ihq>YqZ9r_o12M8M11#HbML60Wp0TZU7UnOb4I7@ zr<0(MmyYaUUhFy|rR*^^=&R~}cWXDqqnK!EbO9eJK}O-_{xKFGw`$qrzm7`L{Vzr~ zro4Q%wB=QYKoGO8td4DcBN&6tO-*zP>p#l_c8G#CpHN}9rW`Tu>D|){kySBmLb@dO z^3tyc`udCpQ_S2y zow6A>+&jZ81DDjc(qgO5@Q}>p0ZQmgnUn_2d&HlY-ejkR%6>*~k zW-y%RaOdx@m`FWwCferF+kXAZSOMGR(;BSTb_WrAE`L_lP-kj?WOJJbgPEV7=nZ`H zsR!=yuC(fL5<$hu5oI`D-hb}bWISoo(A=M5jWlr%&dF3%iwhXfS|4|FtD>S53Gd)< z+nhZ>t|FMfZ~2gBnk)>0V9jHN)vl6y)?(w91c(d1T6}zi(H355r&NZ1!HPMmvpQTM zwu}7E$J@%nAT25h@LIn@);gQ-CbTLnrSwwAoju>bQv}tdRURCY!^q9;$kB=%bv6hX z*P^#3PfJHyJ`cLJdV;ZUfgjcFCDC5c#7|{(NV^q@?p07S>-j=u-tl6XLLu2hW<>Zp zH5F&I#C&LP!OZDKV1ZWgCRisao7ys0ok>|pMIYNY;l!jdID`O!#SE4UCkOY6?>AN6 z1ljiwbwDdW9dlIQad13U=w$eKw^_|g-X827G==xKFhDDJWY7=PWFgb`y@>8JiKHjE zKrsaj(dm|WNrQo_Kr-WvZ8_yZ3H+{|9h)SM!sX_V4?)?1`~0qs(~s!!Wy^}_)<~$- z%!GqY^>EPfxiu_ADeeYTH_Qx*2&{*0L49?ltIi+jp=N3jgQwdb?|Ao!4qdy=nh%FZ zio_z)g_<@@0nC8^19O1Oc7nVVd+-L>;)-=lL;uLjyN;e3K)AboCMwdRQE3{ST6(eS zqNs$6Fy(013Z_++NwJ5-H@G;CkA=!x>FUy{oL_&BU4*B#I-j4z<203ufcDv}i7Om? z?#g8)ncvVkoy*H(Y(|Go`)v}su}!u~PQ}Eegi4ofq9wY&!pFK@5}QW9PJM3UG)+mO z?hQRNy~Q?__{Ww;kVtXQZu!|-Rq4FRne8nKhCz@|T#faYDpfF-ry;i5+;RT=Yy)-> zyPTX_nBTimc6*4-;S^HFE1p+_k|K4_H6@`ZxW2LD`A~b5cs9M$=6w{cK<|Zbjbg8Y z>qRn`q64Ot@4xsoTiu4(ieSBu#vxac0KI&A&!HE8d=K*u5O@9;YhM+WRl9||00993 zC8fJlx?(XjHPzed??r!OBrMp48ySw2m{kQ+w`}T};JgSUi@`<^mR)@4p_ID$qujsJERv*k39n8#~udhd)AY zKh$i2tP)?k_~>v1eK0_u>ydIq+P2^l+i_g7%LQxKg2w z9_UK}l@xB|H1FY~2y8J&DB|EOBwXHmP8wS2b+?Vvdi*1L(3`}4jh7#Ck$=(wFw7I~t!rNwdMu=cHiw0)Ez#tb486JI7#Q<^^Z zr=)!YXyk)FAYJ@)P)onSW%0gEI^0~kMv1l2=u*>Ai!hOBY*AHr-%4ac;wOz)2ofU@ z$59gDJ?$CmsjPIEf+Y(f$#%Dzv-`Sq(NzDze#cb%asfhj>Q3w8OS(=w4HH*QNR>79 z`1aP;vkjQQty*OnCZ3FN5hag^V8gd{TPqO{O&QlgAw88 zZt4KU?j9}o+oG0xXZJ-!D!rjyggQ2oa|7a6Z?A7|mr^F@Ck%FM5c1$FN;F>#hQOHW zo_S8OzS_XNpW<}L*N4e05HElkEU1X@Hx!Z9rre(nQJ_T2CLhM*^L7^0*BhK$81z## zM2$I{{xq--DPStrA{(2B>o4@h{Rk*`@36jO6BC!l0!OqWH_?}JhhGEeZZ`VtykI}N zDJtXWTi=6d2VG?s#MmJ_45!L~Dt z@eC=owzu884k~OGnj_;22V+&0h`#D66{DsTd;TDGd)|<)tb*ygjIU2HhtjGKY@FI! z8bM2!kID#C4Gi*WtE+0Pr|Z4N&AD1`x~C9=k;CQJ^7@K<vF~>|(m6gsN@!OV3+nNf-RbpqGwQsSM+SiK&gr!8MXWqm@(o)dW z)v=|q2IRv&%KSyH8oIOuV=E)R5f3dA24oGKVv~_C^771}qc;$7PpVam$>yv;?A-a_ z@w&AvJzwN|=XKx4tE-*y)@pR~s$(+hp4wo83RS%Mx_aBq;gi#<`D#l`Gi&v*mSTpWDr0H%q9Fw&vTv=sbw9CNRMD1GB8WF&eb-@bJ}t#Ix1;Z*T&;?PHXF7X^|T= z-ECyshQDTdA>-d4$FC}AuvwVuTVAYG@MGP?HILZHmJNf)vhj0Go<%+zD{irWfXH&| zbEiPN%~XkB$aG%?wy+#>`isycmO85ea=`X#4H4J@q0)D=1lN@^-+k)FK?J1Jn`*sA zDnR8f0>V_u6vV9@*Q+QQvXUQ|;v{2T564=v(qP46e!%qLPM)U2UTl3fT#WNlu~{h7 z=(!A9mf+I9;{0XloH|DjrX}Gp8@I=;UX{@BA>pc5Est$-T@X)|X>d7>nm zeuSrCKC|njh7h<6bM5wYb_kmCpGfl9tQ2KH#?9E+ugp9R1n&iDNUI4g*He`r*e42hQer7 z1$5-R6G}9o*v(;ivS&$K4wOj)v$9?TJmyV|$$}()uZt`}?B_)X$MX3VW}m}6UQpGf zcy2N`HgCQ?_IJQ6%SA2!MN2u?fcIEYeRXIcf;2g^4NiXpBx*pmDnKaEneLadVDBX9zJKhx%EFKZ9^`t_=& za6h7xrsvrC#pmCj`A}IBClT{1(utihB9N8PCPO>gYKHMdcDCg6*Hw0y6_{l zCinHD9`8>Z{^mp2NLA0c5-_gx5D0+oL%|R5M7_f2Ljf-V6;)V@UUEb;o>Wi*9YR$OrH_0W_Pf)O^x|@)xHcf#?9zV zI2-%ibKXN~S((rMlY#vXSB(v4xz0?50>-#VLeFNYHkZYGDM_mgl;}(^C~bd-vch?^ z!UmLb1wyWWZzNJm9 zFxp-%W+#ZS0hf!>WKMO-379UIlu zAsfv2kHVupRW+miH&%4dmdN!~2gbiZgROMQbF@x`0%XL})VZ9TJOYp=IB2OsVK~uY zwb!}Ij9HR5qqRmKlK>mbGC}?gG$;A&*M9armqPk}^5rkknGrMap|i@ryV!Y~9^rWR za0wg!us>NeTd4*$b=GD}ljCY));1%_gMV#vtOk0yFTJoqnIZLCVI*L;mmMkPj|9D5 zk4`jO*2@kDtLxhveAw*v8UFsWMNZsUK0&G{r=Wof2H*5gpL^5qJ0Kc*}fkF?RC|RRh29=wg(_++vBJz0>(W6NYuo z4a-H>|570%Gk^d}E^muV8W`&Qkkzh~#1Fa8xnonKX`=f;@f7l`OINqB;0aKkQu%w* z#EF7l^Qi~IfkBXA)Nqo|GIp2{cq2wMQ#L2Z=;gOph!R*Q!V=)4f|-$b zBoT3GW`>5cVR)0V;5>sA&8@A~*MJjf=&Y1xPYVeLD|~EpaU*s00N)XYL-R3LB~!_a zt&cdM+N1hmuw@`n!s4Znslq?n()yD;8d>x}Vtk-{p(N=3p4m22XeuvZVyXfm)04s~ zl+MUw`!8<@Z33b*~V(xkrGe>3D9cZ!Q zFV0VI?{Y3jC*eA9+}wH%E5QJyh>Z3NUr?K{&`jysi&OK38+6Ut<33jgsPmajM^ z)4!R#;>d&?ZSE7<(O@pushcZJ>Y)|khvDTNjydh%sz6i-(^3<{DsR(~>+L_N%q@JZ!7T#VH zkrjiY$3;rc`Y(`D^!IY&NcmCS@Q%e%_#co0>9Py{8RDPkFRUWv&|owjv%qU<_#)&g zijMSuN0w<5B3Zh!Ye&t6$^Tg#+jeYwS1hOUe;*b#y5ngH9_|XyID^qNWD1toCHr^u z1+Q~udkz12JB%hE(7uiSwLI$I=_nQmkfNTrp{IrreAq;+e|yq!OKb+N>)(~QQ{D*4 zf$_8k=LIY021S3z!&{1vWAJ~M3IMNb^0L)ZjK}ul*g^m#P>(4*74n58JE8wBHM&@# z;?_pcw^tW5TqOKq;&{Jjfpy|G+prcq{POS0Dn?d1bisJyE8C1^g10~bs6;x{(FPsA z1B8EeCRVvslsdLg%I_g~xEDFM5>^vvAM7OLRw0dA`TCpo{@h267x^JBm4=D=UBOQ1 zgDK+*q$Y2ef1#ecGGF(<`>jMx97M}Yv;1>1qPVAUr}@u)K*q>K6%%v+Abor7|9xGM zXCw=AQ+xm5%O>kv6vh>K(e!*1BkLF)!oL1DtM&ih=&cKeK4?V1-z%7UOb6mY;98k_ zcU%huqL40e>4C1If7i@g6kKC_b^4I5%G%fZ5?Kte>#9YPex9wZ+S;E;*>&_OSFm2z z{CA6Ynm)Be z|NFoHciz%#hyF`?f}%bD#X&?l2B2X1yUDM|-~E4K<^RXeC1?wqtZ@HXu?9tHxtPyc zXz;m}Sq^`f`=wdCaRmo1TVTi5uHA*3`yEdx;Hl(VFG2Quub3iL`#0?`+%$zC!UtAu zIcPCLl*ZKl#Z_jJrH)0*jggCyEbZ;X9H^v(NH=NU*5BCNZ_n0*3{p%}A&l%p4}jE0 zmmmuKhFJD5k(j8`#--s)$b{34!ZJ?gqXk1o(lU#5P8r}}?HK&pl;~J5rsh`BB#gtx zIi-^XdH&xm7G>wKtR0orF)c`Eh%z?Be0$zt@H2wJ7IRug zmQk6Z-e}QH^wd-WR8S&`R+BM73d=+F3l)pq)R1JO$Uxfi&moco{OvOFlkPp-huO;koY5xv9HYF%RhcHgx zgq};W5Q^Rn8pVKwFHG$3<$@^CIne#_p&3#P{7BDlA&F9`Nv@)6@UP%{34k9-)ch2y z>6i;jX!uU1(0?Z@$RY$$CO})fqxnEcZPPAH8i)PT*6`m)3qU6g4T=N}DE+^J(mzsk zQX$ueIgG4VDMbBJUTm>?=Q4%fU0~ z-^H)<@6glx&xrCIfHd8RR6HUDM>-jf1RV53?gM&%)YI(;+ZiD@cx2@vXpK9 zgk;HG`c-O{Y!cxeTjg!$WF+Dc_VAR@vf`WUwxqAe$uJN=1_?xT$6e7S#QU>tnKl57 zrnjm*Cs{NNTCfdGb%rc8dJGC>L_Z~4a@Ul>`9-ViahE)&=w`pofhb{)gg9Amtat+? zsl9HMZ+_33-fq~R<&pLOnZChK$e9}nwN}_CMzrIyh`f{X)$y19po_OimHz# z3jA5(0{Nf51K~onu>%{+r@FgL4T37~FeA|n(LQRth6Ezy-a7n4<#yT9M#upPSZ5s30F zwYhaySzFP?qX%`)&T<+yilftDgc!eIasQhOptM#;i%|^z%*4zMp6VzNKzvUPBRfs2 zbdX|FVq~t}geS!EWT)zYr}qpCe#Nn(aOzHi%PC@#6Vb%B%(2ZxQ6ZAbpS@kYYfUG3 z4Tx@X;X|m?#x={_fe|(XLqk&w13DI_hld!WELrMY`(TwT5spG!TgfaG|29-B?x+`l z0qmS>J+`8wb8DJLcoqFpAK)7#WMwh+I>v?!_E}=qjRy;mwk|TV>6kEjs=jJddWV)< zV%_t+Tu`*B9V8DY&w0X^J?V4CqI+6d^91pp`aBS6uWEXm;ghedRWnG?rYpD?TSy5J$}4o;X~2+boGvx7yyTI9kQo$_6=8=b{n_( zf#bL2rv`^6A7m>Amtmz|!?O$(n?A>(BjvAee_0w_+Hg_iC@KD7bDmA8up8P;snzI zhMmd^2im76;v2vwQ`Gl^m!g~EY1*7L4Y=H=%LG33l$*s4HeWiz36`u43?8u>Xu@e` zjz%ZedtO<{wplyD-j}5W+Ps%P3zS|AjM#;0V!t?=-IQSX`iH++Ko+|GCQpeDk0=L| zyQNMb4p6=h${$ikd8F6gYytr}U%<31HhLEh^|-XnN6qBRAje-Smkp{+&0^v!$@C;y;`ud{hmBwsl1q%3#KGu3ZHL3z9 z_Uv=D_1!9cTCVSLO5bD~z$G10$*PpfUhjWKqfS$iVxuFWk;}7vs;1enz`+!%P;CVcu4$DLhlE@^?g(Vfigd{>)1%`N^nQ zu>zZ|o*~iuk&R`?=_OEYI$a)+4V7qSN&CXLqi1;ZT}(Q6jn$44I}7dE-Zu|0qfXg* zc+2vaYeMfZiL*QP|$DXB+Xn?NxnSQ?AbSH;Z`ew=V%g8g7%p8?3rxUP#~09OUq{n>wq-Q0YQN>g=o~Ft+;& zF6g8{q1Z0_PC9HV;W5WgagAmQZ;M2ncRQhd8d1a;LboHk| z4>~T>%d@HZ`uYz{i}iZE8uQd$+s~7wn_x^Oia%$R=ECDCs!JaW2VuU(tdy@fzI0){ zK0}e*wMDMO{TudlRc+g zJ?ACU&QLbR6WGRMD2dI{!O8pd%t=rX1yEH@sIgp1NK_qape!w+;9_TIAUvr__aO}I zFdMJ;{&MGph$vAC8=sQ0M)3NA_{3?dNC}(0sEiNi_n~qZr`NuDpI70I0Q{O&#^SUD z68YS&nBeLkCToScyB%H%%jG{c3Fd7NC;Y1Lq5({o^W2h^rJhqZ5dm+A_hNliVA|bW z{sVkd_XU;^POLbo^1%)J?e4&WpCMfMfV1-o@~+-&g+EoQ0J#D_SNa-G1S$qyCF45V zB@6a=NB?YQIYwW})Up1u#LeA7Vs^1LUkVxq9X5A)usmG+u@Pi@{d=VyB`Iy})F^r= z-^XI}FtxX0ak^MyV&Cx`UZjTEnc_MHX-A}96z5pT`hT+6YJ|E9yQ zlId@uCgC;N6KMIels>6g+IfqxzBJd&HaEsCullxaGd?xRl_70iw2tO5ZPsRs&EOlO ze=W$n^lN*t+}+f6W$C619_-JwEU8cC|ER=<=lQ%NOb;Ar?pYdVxoimT`Ojkk<>nuq zwmvCUY)=M;xG?u#6qi4I@(ExqW+2rnE#P12bXqP+4zGm#at0kltcx-OSq zPH7=D9rC!{LE^2vbVq*}7_|ePjDt#QYDqdA4jFM8QfH?RUHdf8U`G@|k`AGJwrf0& zB;6{kQS;cmX&(U(DOfD-79Xb&AZ?)w4Un@VTV11mle!5$`?-7udEuF zVs(%x5^eEE+mQ<#@T}N7rn{ar@X{h{?s* z9~Pb%V`Gh&3_9WIEEG(4sr^aU$4jGuW7K>7HQcD=BSbyH3G5d3ijD_;%$N`vY6fM+ znBh^k*dtxr8IxWDe{T@b_*xyOAZM{y@MqO5MO%6RT!*}`7Q1*cdrs>e`|N6 zGb#;SjyI<I&+l;Y(3{}*lb-*lfiPTO zRIlpTMeMsDZ=lg~2ZwVtaiPKA{0#eI?-NO916gK6>fGS^Q0U{0Oxq!R!QZnnIhh(z z0DQg?qFu2B7~ts6D4KJsc+X-G3V7j<9uag`gNRUdcy2utw86gm`=tySNB2e}YUg3Y zGR9#kB|Za@Ifo+A@)Jh#iEE%(xZT$$XraU%AtTXvx_@|ix6;`e60ReSS4SE3!8zfc z&rZxy*A`!xDwnD2kOC}L?JnfpBGt}#Jc4RpJ*OI|>$z{~kL^bzu2>rjN#V3uT0Bw0 z<1$?TaV^4-lV{TZLBFfTWY))3M7Z0FN9x_0pP|@IlZ*&0`FlaO_wLZ{&+oFPBiRZ-m1{OEM^pbZwX7gpT8_RIF-5<{kFF zT*uXyn?@?;ftM_^Hri)ns0OMVkNfTN7h0YZ($d~peeRF0t*Ed)zcT_GgkUk-e@#uL zOT@y)n5|lV8EcC08y)3hkDrO_<0Vt?&;Wt<#VS85oxwuREcF-$*x21p`Ls*v71m^6 z+7)=zq_sNT6D5{ceIIWxF1?HOG!xIYKl+T`m3{)T60g(4?}iNk;IVczzi+~H{&O=K zfuqzyWvk+BG#M zP(oXeK%s=g{wu(<$=g5A_Jk5~ybYW1E4W;u!12N*8zCR3hVHcqt^3wQQe5Rk_dr-us25y`> z3COHXrz+iwRR;5WxDnj(UI7#2;j^`7!smI2yM|9AI*{%CxehY8vwB8m(#FoFGiRNV zcobm=jCG9rv)@ruZ5)P1xhrz;`sy6TC#n_h%(om?XKzOuYt(3`L8;IF{eE)GVs7Id_>o`D z-iddw3UnB$xtuTj5)E5pb8qvUBxDHY#Z>U!&S-UKi@v410Pvezn2!P@0TN%$IAs0@^TT z(wUS^4GT~{Lwp|*zD?n9(i{2Y)91JzaEWxdSnYEi;O?~8mm)QPrQIm+sy3`u9~D;n z3VU>a@N{wC^C@fOY4lBWbQE6<_a6Z_Cq}D8-Sf@oq>nB)m{@okc`?fz z!SYc(E92Ex`u1+|+(5$H{R*|w(T<(LZx=aWkZ%G42-n$w1Ohwe7)OEzjHZf>-bNF0 zdVw`g3URR{?5t0Y4sJ3|JCkP$LOH|VB^efnGAK8bPdsJVJ7AyuA>z|D5+MZ!V7hzg z^B~*zParWx-n)jr1Y9+174u%c8g_ABkuZY4d7Cgwj?5r*20G3^jQsiv1;{`mT)R(v z#tw7710r+;@LD3^0fwb5?q7Qox7Cd6M>?B7*DF6>*5R|z(NYPE%k{eiMeQkFej$Me zyD4|+_S@6~E34)!&s+?AVr$RjGMkLn+B+M2l)g*KEfoF{@Pt8B<4H&ly&M%jW9!EU z?KW#vv=c|s6&_$YQl5d93KVdXw#Mk-^a^Nx)n~%?bY{y+*zyZ$&v@2Ezd$ihR5Y%4 zL)>~c@StxfpMH@J1@_%*TXz@6G9@8hj&vstNyY>Ze zPu)y4kOi?~CTo2hwndEvHj=u9MgwHgIw{1GU9k_fk0kFHse6u0NmyA^)0~~1Clj8u zECttkC_3D#$VXE6Ab`1Q^Q3g0a^oI;X@v%Ea723Q%$S2Y2)3=0s`>s7h|FR0iJw1L!X~Q zliqu{lv*rSQUTRwi#+svkuRW+mOMVR#`bN1l?q+#de+88QisXlq@(f7W}EH482fMM z+I6_!JAdD{<@n;gi;jyTUHkT};@i-j`6i2fWhsdEykI9p3Ru9l?9lysX`Oky6lhlXa>;mz2N=fivS5^ zG--+r^eWy`Kdz?~)lP$|(zkV6Ri|L21srTTV&wA|;RC@Vap|pTPfVl?%z-E&=z}(~ z;xBzDAc0`{TD&XlV0S$2_Jho9Ed|uAI^MbDNQ$e#5eFVkM5v`L2;ZiVPl-YJz@!uN zimfVIt|xlj@fIln&>)oN7q5b9%82$R##aQ5nrc(RNpfVS1|~K+NFdERV9*jgZO%@R zfuTKwzVqjSh-SXfo_n@$p>CQOz>b~jVRBLghp1__DA-4gK1g*y^11-fQTv*4un0N|J+9IoqVxY%0bN2WSUM)B4hM3K~89QRHlh-$fAKOFhJzpdB$S{ zC9M0Vm;0mSHM{0etNDE`9ld5NxJM7#fPnlsY$N&<$oZp9%QX@njmpCz?K7k-UqH<$ z^B5XNv(?5DLxSRauqIz?P1sjODG z%f2aW-=uoo-D?><^=H=0L2CXic&6izu2`0Y0Fope@8T;P{=VNT%T;8Do?HD}(`eZ7 zIt0&yck$YOvrR>Ob&Pz(acG>MN$2Df0#p({QY$dczj#*%_TK1Ouk0EphQPdIF;}}4 zykCR`xSj+}grun^n2nTZ-5|XqRrVd9AbiVYj*s*4GQ)GM%^ccyTQZP2QWFw|@^XE+ z4tOtD+cdB^8|(p5@ko50WcxeyyVFZ+Yysa?Hg2DT^^q{MuG>(zZxirVSCv zW~qe86MsvT*U|9P$TOP6ntel8{9M)ZuW@voV0NUeE=I1q!Xw?0hyJNt80HoEJO?@D z!PuD+xg6(&fu7S^FddO3Qe3C)u^LX^DiDl((6gqB_EHg+i~8dHcBC)!y{h+I{$&{_ zh>09LOyDD=({`EBGlI9Xq{^3*gU4+bCJEM{#ZqmWj2kzjlOu(Y&6u?{8@i%JI# z!Q*tO-&?-lhy@5(W_6=_B zgcRJOJ)zwPoo#0u6Y#ha7b8HGzYpkuhMd@YrYEwhd-Y z2BQ=NZR4IGg}e+xnN>XnRTymT=#qn8{!#l9~e;GgMCdW7?KJPdCgi++1^q(OV z+&|6c@Z+&^7=^PkrmK7r`l-QUkrTCY&_Dyahk^FaU#@!_W8~z5cQl2H^c&5uiBXgVPS-PX3sIGd zcsQVpa{AEV0oXIFOlY3&DHca$q%8&Aogokza#|#rL_I%4lhdd|WTHS^V+I4dbAjuG zefiW8%@@E{sRz4FikEqS<$cA^eDM+WfI&&{xp>Q<{a-&P*$D$3LF19N2%MKCc<9In zUx3y<7;Eu1H%3XPO|7}p5^t0=?QFOSS4KZ>aHlPm>ys%r`sL-)p`bDWw0l@QELY)4 z`K5e$&c)@6hX*D^l#JNU8&;Ez4El=K^=-G@xeC$sX(v%nW&znD<@5`*DtDJP1}!@L zwq7Z5xfy-`F35Fxduf$JxF8f>q(LXA4UHr_R(xA`2IXV1YNl=Yn}aqs%+{3aBCVgO zmrWn~{JP}8gnL?5-hm1a?y6qZHw`JFuUKHAIgE~JY9D((68!df1!ymFGw(NVY;26T z6eD4eA^^>A5ygm!4R%ZxPrk}b!SBt`pj6+X++80^L(+r3v7?0w#6-2K00X>_fy-=4 zd^J87=g1|;w^S(Sgv=;03&NvGg8`g>rl|G8UID0te%`g%HNbTnExGKxNDajz=5*Yc1Va{)X=<)yZ!_FprNm54#HB_GOdD~$5+5C@n3AVmqm{}9Is3wSRlzAdu&Qi-4(88P)OF456pL_&wx_BAbwAD z`z1ecEaYO}a#gOH4?3`;aW%OMSKn*!4M1os#*dmvFual*W*t*yKP1ArFnM-T#FD!Ct(1AB>@p!w^ZoSbiIj9;WV zU3F~$-Dz^wjmK*ritEZ*%S6dm*Ijk@)}}m^6|lh)hqV{@Tzgu82og1H;qsSv_9|>4}j>2`^bxRyo9qcddN#5`88g z@M4Qx;w_;a^4VREzW7q*wfzI)vC(6S23IUlEp=nJ3UKEjqE!AOBy5J@?#08@;C73{ zc1-+5l8ltxYOx}H&}ONcDCj3xN^a#IJr;W{Mz9n20j!TE9gB;JsSZ)GW{Spo`*Lr} ziQ;ifyUodG^4IQSle47wQ+eqQ0g2$fgB;RDf0<^}`u(r)i&tKU-CB*}NV`w7qoWyN zO*C*YbUHPKHpkXEDrUy%Oxl-it_goqJ{tWy1bvn{ER_?@KacW%4^g?=vgL3vkp$0& zs{V&7tE4h@E|GRqxiYW*aTsl*Di%#wOSTY&D{T5X+V}ZXt=^3@Z_l1@-Yap{-A!&8 z$+8b5O@%m?n_G6y){W-|%A z^|ty?L6}dywtOsx;nidjV>C&5Tsex%J@iOS!ZdBTr^P5qI2z5*_OFl)Z#eidMW18$ zx@8EfZ9cLh8lt`bGxxd+xBJ8HJ1DC;wp+&sk0-;WdTYHF6y>oLi-`|w;W}1DUa#sR ztu0vaPu4t$R;uP%*k&85$rl$xgQ587FId5*Ao!&)6zmO=T-@g6YMX_tkO1Gn_QZtC zF@NcDj>9<{FZTn_=up+SV*?+i<%&jLw*(e;=EJd?a*Gkz){&&zz0;ob^W^HikL-I` zTm>U4t{*U8-VDC?57OohM$^1_-t@*Ocb*llzh$fHIRpl2iCBPN`^@nZ4+bGU+ zW2rn5mn1%iAWiMJwkFe@a}C>~P0~qQ~2d9mVA06aOO;~yNKk(iiU@}D}$1j(w#h>~N?k;%sPWvE5 zB(hp?m`}jH`yJM8r7D3A@dA9IGib-3p^JA!Vr`VR3&b=Jild?`0ATtKt&r(an9Q@c zvh3_jwSQbcRgfZktmex|)s%#Ul;~s=Q&ZWgZgnYkh`D@P8ZZ1nl`G6sdCsp!Tt{~? zSutjb_6`cXmtL*pq!Qq%YJp%4ebuGLgM9r^xm^|l?YlWq{5&bing<005#$8GSSsj6 zCRx|vn>^M~ApzZpl~}VQ>eLFxTfN1qF{1zkuo1(=C#G*)(t``rB$#8=58oMFG|kf@ zPpk<`%C79%ET$&@_V@8VG7^D01vZ<@6{WHuwT4UR6Mw{KTaIo)ZM==-iFOD5YPfu?XH852%RLj$jdq#Q|U6vBvC|tHy5ussh z=1Z@1s~Wx;SVO)?ayi&`R84;5zu4W!<+B#HDLEk5|64x8@!NLe zyny2cg7eM7GLz>T>-m~w^TWBc`{mssIIg6W{gtI>x|_rJxyHs%LKLVtre=D3S8GV$J~p{+k5wuq2U&VJ zTdG!?BI*2ixp?6S>6KQe$^*fimuvEhfH~Wa5DKV$JT6ljzPm=^V(_X&>b7O)p@BvZQf^2!XXjI0eaC^!O$J%^PuAb%%R$}`csom1b=xL_k zKYkdGD2r}Xl8j@iliZ?XZ1>p;=KHGldoy#2i{tr_IzYj7DDILu}27W?l0r1xaOXn z1h^e#+YDgq;0UZfQzwJF4!=nnb_O9u+=yzN#pvq@rSFFB1?< zG1AkUTcaGy%{AI3sC0BREFmc= zw?jRG)AIqGGZ*T#?He(~__CcoxEid~k48+US$n+K1Nuy+R$(A5row|1t2~Jq(kk~% zJ5f@y^^(~hv5YTHe%sjz3ScGEdln39^_C1U&7uQFm9$HXn>7b+u|*{$5|goNQe<)# zmR$o|!<(N^s1nb%&!FkL19Eam5AQAxRiRbR^n}wL0eQTn#c@Cwf7B@r;DT7^R zT=LAyS|{LnnyfXwB{&Dmpg=qw+<^SMhsYRnFtsoE3-Fc2|;}x9YmdZfmsIuNKeP1WD`lmYRq?&zBd8^n^?OPU*`e zz^#3H^e#_u3@CW=dn9ArQB?MDPgo%uei6{#%Jcfpj?onDl%T0}{2(#9WdWbcG1i8Y z<}NHD5gYopUNW64txf}js*nEhevYrvLvJWOqyh@hvNw#SJk z3G@BYNy9aW`ICIORmf;~Sl`X+UhV6vg9TM(?aY##jJ%@I<0*bxGBRj=+nsQK;n`U? zdwVAHqW+(u$A7X9Nm2MWqHkQJLf>c0QL)xoN@shAwMi?&3y02@dTS(gWI?5h7ZzD9 ztTPKP^TR`TCKB)0Z6+I-W?bin__h*%KXm=g7J{Orp!I~8HBsPbXKuyYRGQYY>e=!G zhC23VhQd4>WOc-jVuZe&`F>_?+CBO)oZp8aaR~BM;;bvTKaao6Wcw*{b_~wTVBE|S zsV;43)wUiN>Dr>;TrgL*KoLGxJQGARG^d!_Hy-~amS4^(I|9Q7`%AOr{BtWi8vH0F z8aDb4%Z~4!{(s)5+~GUm68157v;a@le*;G_JBlIemoLHZv4VHV_WW$~`!{jrlcq&GI(aQkzktf&;kWg8hBKHT{X_r=8}H^&HUYf8aJv^juL$Z18n6sr+Vz}0qC zPs|!Pu-R(s;c_rIr4YtG-&Q@$pWBAtMV9MVShLr&7cMUXZbEt zGkkU-Go0O4ua0s$E-Of2=^wqwmveeX7I4cJl9{|aL7Xk&`tFBtVGuO{SlJfK&dDVe zuHV=)+};AKnOWL0B5uqLGnzaG(${D!$eH6+6rZZL4K;;&efxAR)vJ1^=dv37XR2l~ z%lIALw?1Z%r!DYJ)uMzw-iCJvNy4m;eT(*NqG9Eoxb+WgOscH-WIaFKMMFc;wqlU^ zsa4v+BfCajqxol6R8zS2ugkr6ZVQZ&XacTaCkQ8xeFU&Gz4)P~qJ_-vc;(sTg(TR) z+P~EPP?NQKmoWIM9@g)J`+Z<1S)h2%v>d~REES{nEJ z7pGb3gujXD^<5+=SmuqFd+u^Noa*YHB(_E}WGS1YwHrO4+E0FX2{(Q0Dz*0+On;w0 z#zip)IyqeMc#?HwO^x++4UD$7b}{24&W;;!EL4VVQX0~Rv}=t)7;!lpoB?fKx^d>p z)U*bxd6&KRu(qMlCf4Ef$k-;Y<-(E_9zfUO*C7?fH}R@{qrPNfA|fQb<|b=?*R8AR z4(dSst*1@#Wa>7;CJXxa4yB3 zb9^oAv2b|kzO{j&s`j?VM=rIbx@>ePXE%OplaT?s@8*GjF()V|NA^E^mO>67Z6%^)j`*q=N;$5TqCj`BclU%4Y~y8*go9|EWr+a zu(YSKi0O1{s-tIdf}ff^vP&NuYlr^HsxcsmDUlPz-<|DR_xd2IrRC+~kR2&>cX_z@ zC1C@k*|TpV0~k+dci(kvO-X@QIRA&Yw+`y6Yuko5BBCN7ARsN>-Hm`CE!`k3(%qp* zgLId4gLH>-_*7s+J?{PB&IB?*O`UhhAP;S7Lr^$(mG;$TyNZu*S1led(e zfZJ%}Da5gD$@`9DCFLBnb*xW{jie(aFr*& zH0QT;T3=4m{zO4aX{`UNY$rq;OqcP?)u6i^5CXyS5-?3ps&Sy+ZD6=w>wJZ~(4ZwI zo7}a!v%GpSLC?h|rlpk?61-ku%r7QpXIwHhdC0-nO# zoSB(vSqZO0)&zO&o3(X?b35oAA*I=QmK*dLwBnXk#lk?Ta^GD}cVT;LKMLd7x5tAK zAx2YEP_Ns+aqrzuS~@b)A>v$O)qO0Mdrg4Q&1b;GY{SfK1G?HPM55c4kI9cR6Y#o8 zr4PF&u==YE$M@gDEM2s>%7shS8yFaF+J(JVR@xKKicP?NBB181wAx4f>~h_u1WYP{ zg*461JK|Vb73fo@sR;*A?M1854-Zx%5^r>XjWb13S5{9iYFrrQ9-?2muUVZ%M_+?k z`hzwJ4r*>L1!wZqA9ms>k$z9GR_Q{k=)&@qL0{5@=snt23(u4SiBZ(PQ!wBnB6Iv8rU71{k`B z5Ga9^T>lix>bMy$5gXLxjTmJD-SR6~#wF3~L^?^68ywX?sQ#(+1+pAYTB-4s962(t z)bzrlj45;oEazf9!t)m)m1Y!!IK`eVE2zXmn$VSsiX3Q@uc#?xuJ+-BfsU1!n6YYL zr(Z~IytVs#Sws7Z^2m(nEGjJ3F9)b)r3^}PJJ@%8J79;)w(jlj>>%Sdf%x;`G()x@ zPZ(y#bq+2kw~(5KuG?gbn3B90j3&`mhlBSUQwO%6*$c}I6I0;iohnC z&$*w?)Z8&_iBc3fm8fPq+6+fH74!v~8qvyD+x zP;goAltyOgt2#NEnbDSTVJa7U;8_giun@z}7wqwDV&aD}zUaI#BY`dL-=?C^&&`>d~_pkCv>)*&stl!mb;pA`rBhYfE03LB;_{-S)iw3P47x<=-o$*nCJL+$M@hd?2hiV~g zZgKAlD;SJ;j&yL9AfBnDI7xGDQa8$6_5R+}A9@LmO^ol))q@$Rkykqx6Ucwt+DdI z3m!!UynfWLc_wHS!1F{G==e1e=@&G5CFciJ~_Ny79rzWp@Xl*{d*QnMHz zIk}#Sn*PyjLO<<5CIVj8vl8!;&D2mvVpPfm1EyL1uowO8Y2psiaDB3X7Isit8gP}NfJbX* zK30}_!8S(_7Q=76fG653`^nC%00ocj30YVzcudEH@jtdSV(nIYc zjg5QjdeQhE<}Vv9w+PTzOeEwx(YXEmUZiwwJtgxhu^doX$>)$TycJF#O(CAy8f&v55Oe7LbQU{0ww`HO7Z*Ui-i8`#UeC= z^>umjps|rp=!vR8FcYxrkhqE_54T21N2__-1Y7^8hHG@Gr(*?7LUHoEKfu+3-p(n@ zzUN~*kY6&qT56ocy*RYUktKTd$CsFj?FF>amneW#%xu3Vz>1!EhOByS`oQOv%YqHP zL60IK%Z7!#1*d@wYt5(cfF>+3?+7`AHCC&Kz5KnYsk+emBSDQ(Tykf=j2n7AkHg+Qmyr;ek)hq} zg5(Pefh?}Z39iA}9@9*vkn=k|qZ4PGqJ+DF&D8A01L%WCt!WlaxtibyRr-d;q#l7z z)^85CX7k}8imqN1KoI&}R`JwxFVPkH%=8vXv>2ocGgJ})K8diGRQ zKnNXHP)Fwlh}*J5DP1*lg76rR)^{D~=N1|)U5xa9%{GOc|9)>D?1D;JoI^uRf0&is zKMVW)TQVCI3d;=Z`MnjIJ^#L_tBbAwf?`8x#J9 z<=3m2-g%EbS68__a59Az<1eZo*T&tlW9a7>G`XvqYItZcOeV@p>M4~lXoKd3_R>6; zj+`Xe!~EN}CTp$<{JXqe<;T_IM^~1C(Ce9}x${iD4VL|AcTcy3SU%Kw(5ORz-A<}kkmkh-ePSX(|yaq|4=l)bb5}O9~dmN zZGMqEsL2}j7|+TW_X>Ka9_L>*b`mI<`ij8xa%h^Bhiajx(6m$|oY^j6 zy4B2Qu>c4Bz-Uf+zXv@=R_E*G7fx7}0pdbv%xODu1$!PzXlNzqNWK!TV9c78)p>y5 z&%wT)!knCyeOEBb7#*tJ{(4L|-6c@f+~jwKi6WMG(6Bv-ffr#}Ir3AQ+6&gm6+(Hafjmoo?|B)8E!GokK3FJ`C z!7c;tFgkfu0qvQYUi&T)!L}Tx;IYknKk>|}?eXoyZNxOyir=Bal-YM*z8DxKr=TMw z1rGKkxbwEEn33^jFSxd-2p`%y8+2CxJhTmcl9!jr`jlhl+VBQV59CPnS68adnWcI0 z{W|%%Y{Q$+yO&2aEgoM3-;S7%S#CC7UqCCB(&#!nIG`qgk7e9VhC}y4z@Dp(qN#}oF~q)F5Keo`T2Uc2F!GGp_rhaq56pcwGSJyO z*dEkp=-T*zClxCpnVWimY*E}wM7U-!g+i5|7gID1=B#~8A9+=4Y+{_}?bE5Ctc)ga zV2}y@$|y*5h+gq=w}F1u);2|CjX$rj5=hAS%ZXIeDAc;-OoFsECk=&W243F z@z)VR2hvti3uz>uK8^fGDL>?Z3`@7@zbtgKP`!CKGOw;F^@8tl)*Yl-zlOTd0}U(k zYJVgaob^%a8A@ZxD`{DsM~~Vl4^mg*AKunG1tu1-1h(IVhV>`J#wWjkgpD%yv-8p- zV-usp;?jpd!IP8FU_*WZ=u)+(UF`sR`5Aq);GtACb)Lllrk&$!@J>9e9}#l3E#tM- zCaLk@iae{u*Lnc*tonIxl1xx9b!#AdMwRx7g14~GSuGAmKt+G@rYdbvl}j;yFK~luuN%;)fPlFZ4csMc_n4V zi<1}0=cmy~XASeCeTKK%;v9U|aMlmMC)P z#a|HpwIDysUh6t{>Xc$pLh{9}-&*q!g1M37l$hHU~D8CV+;8fzF40U(K zAyhfwa>#4Qy@ce#H4UZl5FoG_gKe<4j1?7>cpc738m&2SJM%ALJYCDo!n8lDD46Qn z$onGh!9qwehp5^$8bz(`+z>-sqeDbl)5%edbFY}xhwY((3SHg1)qyt{QT5iB=GH=7 zDIh5i7C$|CG0@dVD7Q1cci%Z+vEY=r<(H9_HL+i)ZLam+M&ffx8}u$|6He}EnSpf# z))U7eB|ORmB*hVOBj{`E*q5njI4SjZhfM=?_-)D(Ht7IsNKI7&-7R0S*e*Q**~vV# zG-H;15+F`Q%D{3m*}m(5XAMDM{v&qO2F`2or>bBaan9PYJUhg&N7m!l9E$=AQb_5< z2BehBr1xiaxNopOxUO5*v@vLzwW8{^Y_96RXl(oX^{WFuk3{+im}E0M+W|&t9D^+6 zF?wR_U8RPn68`1S2<=Z#AvNqg;quI^tcz=E8S6Yd2YC$85_sL?pr_%gZOp-)(8FwD zaN}-LJ+vehADVMNO5CD;37sIkWH;w`e%Nu-nV{>?hXf2KJa})*9et|oMOhoU4c6Bh zP7%rYloeR*yBPoF0w^rhKH_43&xVEoj8lzCO5dcY}^&bPG#hxiRR=}A@Jb>h%Mdc!ejZu{Lcxk zn~OSnR3zL}Z`kHq#U^&GYMnqkh1e8qCV69;0V?1sO`+`cI8i%S~_4!w^)EQd2Wjp`3Nk@!akH&mwe91n$%Dh^PyDl1>F`xx-+dKjb#h3PHFgQ%x;QyIq@v&5 zeQYeKcLg}=i6G?3Nc;@M2%P}9#+wo)Vg1`{5GXjS5P(kz`F3wA!=(Z5879QPORXRo za(k617 z&29bBfA&?ViUw4YU8;)gt8LjyXt+pd;@fqnXQ#o?7hi{O^}HM5yJ-;IUkCO@AwE(+ zh7MKgGC(}_698>30m=ek9dJRP0sMbewcV!BIK7I>f9^W1ff?&FZwsdEfhr`nOqwkB z(YW7@Ha*)L=w00x@RTb{OK*}#CDN##28$;!*l!({WxtlUDIv~K5Z5^_3@T8K-xofP##lfC;&RsgCpFO z66*#AWcMsVxclCRuZ)9QF8Pl$Wo6ibv%<*oK^Z=FjqxlEZ`oiCL{6y<2Tn9LF{>cs zXtqEMq;M;m^om=_J|GPrB@d~2yvno?$PrXl1#tKix)LxPT=`%DR4G740RyRGZF}2f z1H5^2s9Qo9w&6e9ZMhmjVDD*i;+v(}VICuzMU9#GuO74sm!OW&CU62ySVRY+O}%x9 zM*O$Niw0`Z*7OxH$B|_$62SZTTuxZfFT&OyenaM1TbaYpX>^L1FOD-243W%pnkLe; zvqShDPvlHptyNXwth`WNeX6R{9c8@84yA?Q&vlsIwuuesGdw#hySM2suKz&fyRyRl z;y)1xvR|pwE+6y@dfj>!zMbN+p3sv*^v)(-Ov(U^mdBmBlrfQ5G{mZD$L=Xjs;n)3 z8q?cPO%WL#{>Hsv4$QpA4knXi{Q;EME8$GmEK18(9JnvNiLUxXd)KqFjL^|zaww=z zei{(3?YXXJj5gJB=sAJOk#k6(?^iL-dBU!}ZZwyx&>+>U7S*3Td6d+N4k6=l!$Sfc$d1W>uJAkg zQpWZcO>p?zS)<~5Z=?q4|IRNg z$}e1~oOW{a2B~G}9?|gH7qXVfXz6VBfr*vn&{eE0Wd=sZtkUo&7B7b_tU?Z?LR@Ga zyEVBChcE!SAo1o;|0q8(b7zrq2w6JqyS8iBtF`sglaq}saWV0QMn}K98IHUWABi9V z+_n(!cKDy#uS3lQv=h!f=$4W)kF6a;T#Qv~ju1>k$Yj`5v2t%^H1hNFTZva)Y}va9 zdOi;yI(thhlyQJ7at z#<|{F!7Vd|3xMxR0lC$CQYU*E(72LT5W4)PY-AV3q*S*`GwwB z6nr5AgZLtD5ISPxq@?Ag< zvQN1RY3hsgnxPkIquaoeJYnkU`MAn4^iSyOr@VX9^q(r)KY!D<{O=x<|2K-@BB1Pi zwZVH)z`d!E5Y~y#)Z~L|F#L3*4JHVQ7X6>1>)#)Z?+TVj?6I5@X@8F27L7j#T}eHI zcn%s(SVyZA4A-o0modUK z+GbA)oXmC05$hSn52Uodr&DFp3hV#&Xan64U}5RZ%GW+C;_Or&_{rY|9a80|J|tS2G zT6NLFnRj+}+hhC8Yj;LFkY#0eX698Jpxl%>%75Ao=YNIyaQT6O&%I ztS+*6(xQhdKUy}8`!g{p(m!?Jm-~d;PLF=_++B+vk^}VlVl2#%N8N4nc=s~w#mf^W zljw($xtafYP=Fnaf~AfYAN+!r!UykdD;ZihfcBmqX9Ru%Go@w4u&yg|GH6J7cQbvP zqT>Fn)I?B3W|f6~{mR$wsf#x9GpSA}tBf{_#>0)*~_6|!`QDS|F`ybh3vF$SK@9#1V(1nu$zQyG2Kn=Y+)RPtXVr#87 zapo@s^DC{iwp;3*g7ReOuC5J-)3x^+2_5Euwg)OIN@tyGO7ru_r5q`b0Yzm+5>ykD zUBC5|h7-rZ4gL%gQb+deqN2tc#lKXge|D`a!x9k_CYwJjB>9~=g#g(c-Q-R^I5e&jo(3?}hqS+Ok?2fVay^Tj-HZ}W9x?!ewQG0@-C ztiLYLtL@nK#>4`{RRT%VXmuqwrk3q%)xOGFQPR)dPvQP-jq2>QF9hj%J%Toy$4g5> z!ga6Cy3pDiXZpwAe=c~(BhjB)bank{s9;f8i5PKvLIidTZ@rgU0hl#CR=52%)VpbS zO-osuo|2GHr<^w|ZRSq*kk^VhjTY<>V&5~_Jt`bjj9t99e>NcW0zQ4M!dkP#|si)xnS7wAsPcsp1h=j9j2ghiX0+c-9yzW{Ttk{Zq1O*yeBAqM6V z1BSO2u7Y2`ng|iEz+YBvB#?5_?q=3Kb`dtHYjFH)HpbrC$5S)aqpL(q>e?HYdxzv% zPY$>4`3)LlaS9G(zN1HgRBPZii~0SfKIZ2ZGP4aOv)Zi{O6~aKLZ6gnNkHSf zKlgR-Mqxqz;t-e;%G-C`a)&2_nNT5!M$d{Qy}1eW}ZNzPeC#oNzDA6VW{(NPxX7sEqR zcBBh-C2g^=d+|AjEgP2Mqovgv=HhA-Ws`iux(;Y=gzTwVl?R!={Ks()Xlm4qtPxkg zGE-X;22k|^%G&bsOu})PLdk+kJ#Kmu`j-=VJS-+V+Re0B|GSc@1Q^dWgmbO>)&oJi zAW!LR6oP76q{F%9j-DUws5VxoQeU47WEiZ0OSprKK7k(&0_09;XuBnu4IY3tw|0BK z8&9l9Xa_1D+gJ@gTo=qeS)ullW@jEjw+;>tOPXhTd)IEr^cI9}!7i=)RP?8_eI?+o zW1^I`8g@rE{^#u8{Ovc{))g!9>D6st`V2iPa7<@D(ZbF%U+cG7sLqcrqSht{>#E^^ z@wL%w=*f$ZESG!?-CFvs!sd&H5)ql8ol`(jJf#>dl3B``7*xQsP*bgulT+{%Vq_#+ zJyi+v$&<5_l6nu&^jPejAe?FK*cLQc5|k8B_sG#^zpD0Ii1SSmp}di!qRQ85c=3+!v?3h_ z!U${{MuQ@i72tjd!+MsaR>qfpk1I(AS7}=PX}$xP2qyolfC3r9{wfZ(Y%W2m|La$b z7GH$tYD}b|W_C}OVDbA!?Nbiif!h7-9_swGRe64lDBGwA;#|V=9aX z4@C9>AsdPkC*=A`NnLz**>WFQUQl|{Q^l8hnK;l-UMWFddZqLz3!R>k^NN_f>VJ#*$z>8!P95F^h^) zZVU+mtUqOCMblHZ%Kq=#orm1+wA5Aa2ubxGH|Kk3;@HKS8OGyxdLlYrxt`sbb;h9l z`z0OVz?U3Odm;HksV@56pYI>g;(vZBf4P48Q{}B~ZEos7#xU$8T|)b8`b+J~$C2EW z5sxG`=e?sw7Ao|=2kEbIHmmtMJXn9d+5eXNw*@lOQ&5os$I~B*dF`1Z)u0#4ql=jk99OK`pNTg1CKGM zN=rVe{@5g##b%$eA;Gtp1+=ZP8m&NBLbKH(@M#hXuiRQXdC>k<;uBI42_ zd1wJ7YQS-WOS|^Xzec#x21JzHh@?A7NvI*by91o#FBek+|5q@K^RE{H!SJi<^2s)s zS3$}DvrvAR_VI!LJuJ@&|KD&@|6hLG7uaWru+U2n=ky;)A7G%jjHaKn3xAiVsi}pJ z8|Uw`jI*+WXm^BPAJp2cjt?zi;Sio9fkE&-m09uiiF+}0y^|{!UPd7)4WQ``K*gqC zOD}#|RtuJ-04@E=P~ANdiJ6 zo*H400bl^~EPlG^5AL=M(|ob^F;X%tA_|}1a4XGeblY|YlO{G43{f&)5M^XERKBi! zJkqE=W>|BJOf2YIr1rqnnQqjqsIU{2(R}9F*ihj6YHu`kHy~Js&;8TXZ-*Jve8Fj}C4s|f?g(I6e@SuY7q&rZE8(&cn6~Wf z);uM<5;34n>++5pr|Nc1ljK)Ap;eo{`@-TFi=!(>q0CGY?)+E?f+Gm*kXF|>GqB(2 zs_c;Ol+sR&(cap$S6;Iy6r`e}JrmN{iaW0$afLxpfB`#F-bd zNil)Dvt}-j_f8{QtkfG3{u*=+cR~CoCkT(cXCZ|ZaB=upc#pRy{oot$J6TEuN|+zV z6aA_&U;3%Z%?+!$v*S-Sh`L+}#SeZTAPY8eu#YB{n3J7y`QWpEFAU zVi{z~nb;8lQXd%4)^)bE0$7MGVSX-c%Jd>yv$NjS3+7isa&%^mmA<4Pc%ni^lV?GD z>9=f*Sc2%e=_S*+P)nSZUcB(J44UDJLoX=XNG>w)AW+5zJk zT0`t!!>yu3UZPXr)yj0$68XMH!qX)0|ChzX&Tf9q2mUVoOP{DY(+ zz;IA2@Y!NGHhNJy)s~`YVq%iM8m^(`Qd57SR%tl_SVP{^uvs0?prw7xJ{(Ii>FdxK z?dK58pXK@{JWw}>hUV+n{VGGXYMN$CcR2vzJPr$ID>^dT$?=BY);>5u$`+ix-CS-q zaHhct;VY^#E{}e6{V+!jHS<#h9ahP735g^!G^5WybDh`Vt#=^cy6wEfYU)ou$?P4; z<=PKB2h~F`9t$4gR5iYBWaF%X1E0R&PB>iRA2WEMd@UID9pxq!bQpKBT-mDtTrHpu zlqQ(YN-OwCvVr-A?%qTltmC+Ph!Snwt%1Z8r}O#V!WD89e{~9Z@WGa1WR&t|;wTRE)-e`**42);9^4^(9+r((A5c-mKZ?V7`s?|+g|RQUlG8h1KclAX z;l`cK&AQo^`PDX#`3AdYb7;B{C)y)-=h;Vv#y!ppsU_h=raWOJOz`n?EE^L{N&UgJbf6(4q7DhjzIX53Pz21mYNx|(i?Zy{ z^Mz?sdr6IOk54Kfx*xW$WtbjjH8yK^) z44!(6kY#2#u(Ov|vaIg2wziL#{r>IP(-zkFkea$Ythv7Kr)CeJ(_V54KFW$;zdk9e zkG9Np^;P3A2Iki}NV=jz8Akf^)u&G>BDJ&bg$rZ_jByY`0s{SlaE1nzz zF){9R{S-`7Q&vy_w7u!sbJL>PFhFV}ADm|yQ+#%D*zVGH58G;5KpXUm&ra^BSpj;$GQo8 za{Q{+5gXqJI!KcFr0V4D zANKJ1mQPqdY3VWyFuH|lr$q;f0QS8rmm zu$f-u#n95$f|Nc`u!2`dK(f*#1NS=NFHwZSwC$ucAw5_xB zKj=Rkd0(7HGJ*&P@Dh4^sn2X#JAdMm=qtLO=>I-6S>48ai-Mj#q-eg^^`5FH05~mR z-Nimi%gcpUZR_Y5>-2H!>D#(~ag=lxi4G`DEBThJd5AwI!tM(wB5i9dw1^cY>CZ4- zY1X(k;VdwV+4finWqt$h$m6fy_1{Bq9@XZqidUIE<^SaZOq`$Zb;@X(eEsS&s|JiA zD_npsun7iFHa0qneuq^^Ul4QF-e;F(( zE-kOH_0=?IvN(iwv7PSf8THaa3pp2Ecl)@!U}A;Gtr`>PPyIPaXak{3II z!5`NItwg%5M0)78J?Fn!SQ$sicfSL2eB<#MJL`5SjrFXyZI>TUE(I zI+*f3AbLAUT9OxBw6q2F7VD2&#nOd>wD4Q4cO z3ba8#rCuQhVqh9c;q!k_Z0Jte``tCwmE)LpvJqT2z(S>X6nDCj#1GM^bM#KP-=E_w zBIZ*+t)fDA?fOB!#N~FirpTMnf14dMQfj^6i*Zu)FHIjp2j0g&#~(msli0Pa3<+6q|d za@KLcfl7G0&0clgVxjlJAQL?M8DAPHyK!)X2nWZ71@%NkTzo7v@xAL8Tjn$KeSQ`$ z>aH3zG*rjPFA+k50070V|Cyli=YG7azS%LmW~{afs&DVS%@qw~s#+DvUQJ9lF!S5c z%34hXoGP$2ewZQv3C8;Jc1+?;YGvhsfOaR)c)0FuSChY7XqeAigbVjv#1;fnDlnE- z;1fr%$o_a4_hCA5t|C405Xb`V-~Cll0UqNs&*{<5-Cg5jDJI4deg{`09jh0rVHH_f z_SZ9b!ci7bwcTUx502fL8ZYb}D(I7@rcKMT8ikDjy<>yW{CL+t-htcXEk&$Pwj4+X*Epv00%NQ}>hjuIR*Y=lSAtm|*cD)`I zsQPxwn?g>@effp23B+KtqXJ6B)#br(&wNwrT$MF7y{l(YNxQqLt8cgDH?b$pxy@#) z=k|l?hoPqsl>C!`S^soV!jE1b(I^~nbb%}Df-eaDy+xY;XmV!z(9>{TmaS3$@cGDd zLBH9%st&%TFPHzm=1iV69TX`&EEYt^NXQep9NZQ!niA^UF=HZ=EvwmnrO;Y5lQMBV z{AjJP^Pqd@t_=ofK0YkEFJ#rk6!CL3K6151PVZHyBRSrB zhsqOhH0%Lp$2!j3>_lm|r-X(e6GU@;AJf6w{HVd@@R?s-G3qgS_GeO~_3a<#1s=eE z)~MT&FSB3t9LfhxFg7<9UGBbrtT{YmBB2r2l)45IO&Mm6x&;Skr=24upeqKtt#0`+ z4x93dG1jq284iunkxvZ{=TB>*w_<J)%GAoL#NG9<38X^-hw(XEFrSB4_8x@zG8#%QJw>{O2&etAgM4=hJV}w_u;}fxf7E>~+{6vVz z?}2OuO&)4qC?dBiLAc(nza5GLmb;s0Cr?~?0RP>Bnm_*&Ahj{l-#BV~r>Y*Os_r(S zoVgT;4FRLCayj^Z0YI6-7iPD0-E_+>=_?pTR|HTZcS*!Yl%oi|*SPKvJ-kH6UnzTlcYV<6xf`q^)I$nE@-$L6^N=G};fhCr8DUq29U-E*xwuI9BqY<$-s zU@G0D(GtCQVYgoy0W8wUc7uMEEiE6NNIOZNcBOyfj^p~l+#t>k>vb2^)jvj5D=v-` zWGVA!<=B_T?Wkz#75W1sO_idZWNbC?SFcgjPo^P=q)k=y(!6xX{0ZKL@SpsOCWJQS zKTWK_p{cRCEHCQ6C|-18a+&e?0$GKEEV&MY>t-+oF8;;7=lW%S6(oet0m2|%HE23p{REo0w_%_o^mb?fL`)NNd-vnYW%+gkFZ>GUIWT}5C;;Y9EHP4MLUAu|Kz;EU%bAK|tbYQ5!o-Zr6bw{ZpuXd}S+Lrzd122h zKf=@n?^m!_&zf-Yr1{V$YoW&Wtm9e;@SPeR?_myiR#3zJMXStklsV@4Y)+Oi>=ZNA zFH-^^F2ov&<+)*%7y zlFVRNqkCs=&E5BqL&{DZkQf5ar|6}bb)(J2(tsV1Q}7(;k_n4+!g?l4qb058j3eb%bo6i&tl4g9Y?Lj-~E$X zwhKPL7h~Y>TlY-ggCk}2f)dCfq2FH?&NeUc{6}xE-8#W9AnM!sVgiWB*+%;0nHdqi zB+eYzOo{+>bb*kYn@cM9M2Hvyl`GsI zjYH-OF11Fx+JB$%V!51z5GynHVdJR8a&Jm(qL!+v-MG$UI!<=SPu%B_gp$QR5uw%b zShCUOz&)eKGbl8~K?kM80l&7ZTl~>wD+T-?#dmPLmHQn{|l@o;g{!qo$t^9yj_wp@kX zHU(C)aK*J%QVu}x6G+Ac(oI9dO&Cv$W*4H&(o!lWu0LG@%39J{$1Ss2rKMj7m&-s9 zSJqj1TfNZeww;q3)(GG?9D0w}2b;eXFQc!1y!qm2x7Lb^b_;?@6d^uE{pTS8#L1rQ zkN2Ic3E6(!W?*k*?Tb2Ecoi>RA?+F6F3oiB{)7i^3iLU+tI@dx5}ZRV&Ij=C_xCQq z&Y^`(^EDJCFFKG=iQ~>RJb>o|y37xMDL+p4g**Ynv_^78Y6$>VTwmTa-8kE?df=51 z!7!CtL!MRil7F0S*P6?H#z=W2Paap`e2?1VZA*#_v_WPA?LqPxjL7(WN$SS~L=I}9r~m_Mm`oa3?E8Nz^9@2&nZre{=S-5DKv=6-2ic^CPYUGmjm zg*KiTHTJXlAwq+J*< zT4gm&GbzYV>f>?(HN@e31NaZq1gk#I8oc(KCnyT<;D53+!z|P=2VkJMYCtd@@mX19 zmw2Lq0lj->Gy`~xR*xP2KuW>mxTh{u8a^@6-i4gk5c|jlINkg*y4KiGsOGeyqT(hd zMp&z@qEdL|8+r?4@11`~m_NOmMRszUD%wM1}hz#r>Eol;&)@-kuQjTb&)98xokzsly-n zgTvEId8Juito=#QI=&&;J0qjIpnwG$YHRbOrTk;li*s3l5ato*ujg}h14l}dS*Xee zZ}N(?9vwq)SDrwO$AAN2?T0Y4 zj>FmZK~y5CyTE{*^&9l;ngg^RW<2f&ZK6JU5E2r8fUAj;Fg)Ma>s_iz{IY+`Rx-`b zix1lz#)}iS1{Cj&`2ncNF<9DpCMPcg-rB~8r|~S#rTI@j;F%0>c%^;UP)5)6XI7r8 zy^J+ov6}1prYDLd3`6!4%X+)x{z2NF!ZSSWZVn5r@_;k!gwIBxX~C8&SUNkEmD!2e zX6l!_ST5Fs#bPR@DO$q)S`7hIo+C1h@@aQ;RgO*wGb9}uXx`Yqnd%=3@)5=2z2DhcSjq^tR#fC$=N!&}3{9X; z@hQB0kKm)bsUlkEGSKl>^^r!!_LIabTcCK@bq*=!98G8qy|7OGt{rLnkF|KO>^AQ6NdF zS2U8rkbt`U{!udG;VA#Fh$pVxQ2};S60F*h&e^Cy%HG_19n_p!H3(}= zDK?fx#i!i;QNrf~z{E9WY|H?g+Ojg;$EH23Dei_ zADP~wc2JbvS&%XU;@Iw7tiBnp((B)Ck!PeP_6%F)Hk}Ty<*XNk*pkRZ+TM{<_s@PQ z8r%gsJ)Y(l(3nD0@GIL@R5=@K1P&w)+q(#>PRJ|~)-t^?x3bj@i>rajspY7Leq7m{ z@8|+ig<}($sPE{{{d0Ov9OcKjghxs;K29<^EUA*2$@`ve@$?1t#P{TCbWCsdXC`5C z2UX&+H2KOdG+nMZ$qyxY z+mOdZEAkuzs2~`ZubO{xTNliha{7=NST_H6p}0+=`zh}fz7MP)dv?asbv^HWPc?%! zV&WvKB%&s#B$8L37H-;-%bNAb`1OV${W&$msgacH+C3L9bKQ;v>$Rm6`2dBQ@R1eF z)3+w2HV7?5tDsV3|4<>A_#PercjkI4OKbpAd0550{>p`0DR4BGd+-f}l4}?w@Bz?=n3;s6>0dRMhHrRdk=tufN-uyxz&9dLd>k zl2I0!BP1*hL(+z|r6FU7SXNMwR_k+}2{d*A0ZsU1q5&~QS?GLliFtDn0W>cr-JJr-LKJDhsp$LTw3JQXPYc6PwFuC`Z z|7)ldvXCkk<$~dqqw69#8W6*w&c}&}vC(00eH`rD`1ul=lG45;xyBZuq<+-Uk~Ibb z5I#4sMGSQ_QbHq@6g0&BOlkTXcO%lnV(W8rW-1V%qY3MsP5r9Ft?NztMWRlMZpv-o z4!tyP{SYiCvZQ{;$NxHa*sQiN()(+i_!t!n^R0yyc%T9m9vk5I*IquQt-*6v6;#K@ z9@+Syq6*5JGahKK5n0i7` zM&OI%UXhp4vzjwTrm={qFtVR?C;OjghpRw6_9_O)S+(?5kxQztqPVqvH~Db1^!c~I z3hx&>Ctx-LO<#~7Iz3m8pDl^Hkg|HKfHpT79~Le7&Mr>!)m3lLN7Z<&<9_|y-&G|` zjol9Z<0vD{We$7Xa1df}u!R@#P{-btte5j!J6O-Dt4P1CV(MnUSYe36;hN4>o@6^M z!}H>U^QC~OwPkE7-JCt;1u9`0F^9fQAnjtXVyW) zgh)u+Zn>uyFI>aJqJn+iawXaC3`Iv?#tmvWBEAgn8=yTpM>si0C@o={Z_=YpA|w0Q zD>&X=_;~pP?AFNvHg2M)(6N6maQx3axnn}Un7CsioZywh-MyAFt(-*r|CoF0sH)a? ze{=!Th_s|MqJ)T~fFRvSONn$h(xrribeD7rBHbk-jf8+S(jlNAAblU)`<(MV_x|pm zcZ|zmjO~WC7HiHm-*-OGryhNT{mv}*EZO2}T3pJn#TPWMec9(SN=mEB(j6ZRbw&$@ zJ8#XO_70#I4Jh$ne{tFp#>BwDHPm?@_8PV&|MYNo^hSN$-v?EQh2?q*a1=l>a^TDb z2cSH=g)z?H`Q;%rFir1D-!0Y1#iykpAyD*AqwE^$`5yiHrKC7O`gdEQd-#gi&F{f4 zzIa(G!L|@PyEY^FHGz+g{wW?-8p>1Giq&AF4$KGzyvQm^-uZn&LqiZ=o%7C{Y>6o@ z_McQ%QMa6Z%{=#(?K8vZwH8MHr=VKc%aDR*N9ch->xbZ{3|m{4Y)L|x=a)PTbhLM_ zv)vlue1r^F4eO*2IvqXB>p%K|#&@nGjC1qq{2ks2+FKLZ|9B6f8tHar%^uvy&__nd#q2VQ8lb^>ld+0z(Np#q|n)kTZN%s?MR|jPjpS^q= zv074O1b8nHFNc(m&=Insj`XkVl4ES6sDc6_vLrBecl6;=J}lcM=c zv&u5)*R9P@x;e?cD1h2no;X@u2+)SbcKY3)Qpu> z(8x?5RJm>LGqKaE%P7wYb6Ef8&}4aFgmAlg%gWB^<)K8lj`Eo;HHg*FUEiNtO_W2W zpR>R0P3fUX`GAz_7h$fyjq1GNjNUzNHkN%O+*pd z<&KS*$q(*6_w$=K|C8y1KEjT6Eim%dBLwl@x&aDb!}*}7lGIZ7T=>jUmx4}8x=x#S zYb6bESD|e7`IIQoCCnq$RMB`a%au$_y?2a~4s4UJ({zLu=C5q+@5+xxsZ*tHs{KK)J_X z>fX-z5)}!V>)}ZH3UP!yKlLq%7a^JbetiX2XOCtxDgsNGm|D>1J||PO*G!PVVw!SQ z(8AIy8l&q3b@pCNxZc|}?2!ew|CY(dc)0jTGm>$H-;NtjrQ47P1Tqbw{IKJ%|KRxQKmrIF(pVkomsud@4Z z@XsLMg!B;|&3mj23`|U+CC}BoR%aSTT#fT|IJ&0sgX;KCQJeOCPZf3K&X4=RmUo9G zhE~$zP7gf&l~U)-D}vlr`b>5lm07wnf-t$>&CShWB=o8-livd!iZ>Zi;VcaOOae11 zoDsEhs_hb`^j0l3U2+mK=*FJ}Y}=X($63`jL;4*f3q7|>Kx#;IOD<#)u68}RX_uqF zanUU2{E0DZ zr>`ZE(f@Jnw#6Y2pI3XD3@m~3^dCca6M4-Wj%fwTLIzf!cB*?9y*C(#dz#_MhPmDL z=}%cVH7_;mMV8A2$nt=1|3(NS*TNoYuPL(I$S=4q-Tf^lD|eHeDP9!p`PtdoI1fvk zvI(fvj^7>^-$T$$yE9qiou_Z(Qnm&w5@+p;qe$zMsCU2mNRoege4OE@W^`E%H8nb~ zQr6{$^ZkhC6I$EBbv!%(x^pQ7oCc;o2JkV6{&wvC^~6n0P@98r@C{o(4ie3}9#?2h z;+Weez_33*kNYD{4O)tq(#-xI&)CA>Z`T;V99#ogO7)!}kY&K-hL-NK@zqw8 z@4WY3k^sYG%kwU$X${~Bvg+9!jC&*6J~Y0a7}Y$w9tIExas%BaF0yM_qJZXp~oX4B5{&3H_x;(&lEV1 zRK_314AZb_yc{z7KGS0}Mz6k;-JLnAGFp+n6cdbT_*|M{cUub4{xI(0Tu8A|o6^(*~86yXnl=uK|O%W5e-YVATi>kU3B7C)(L~rrab>RLJ0p z5u~cE;E<6W2o6zN#j8_OSHGQS%CXL6qi~VWyr2WJyJ@QrsSi}hynp`~gAI6`gvl!L zi$rM4tTfXLs_oLU*+Y*V3J7E3AwdlFP5t*JLqZ%IY}i=6`1y(Pw`C365?iYR3|O?U6& zSH=(}j~fU|9`C@wz#rEA+t&Rz``g(65s_CrF5OZk^xyAtRk=e1^(i#`ll;fa3I}%M^V1t7wcN%gxu<-;aWJsHu>AS` zkmhT*NMc%{)(x?`ZDRcNw(Tm6ZS|y-s>`OeFIn$GRl)|B@UZqOKFx8b4xl0AoQ!NG z?&2F5sL4VBi;7sBAybg=A0FJak5jtu}iwxeHPmsuZ((g%%_FAIA%rrJ!r1NuuSJC_OZ3{`kgSCHfsHSU4@tY0}FO=GzgSH$G zZSraL+2zr|RB}1BpIGcqtgd=frNR|H93&I=>_HsS%CP*aCpv6**jkkw#bTr5g&bBx z$5Ic+CwMajq*Z8W+s!jv_Ok0^k)E#v2_@Ri+`zyRc3okwsQTg$obS70W@xu4g`L7# zIrp(Kntj%25pQnsAQ0jKfouceeJpoDydxJ-?|kl~?2ud(@^V3H1yx-9soN*K#2+)S zIttju_6aW#e)+AiL(`<<8gN=o*zzL~%^oS3ZtHC#`kvo1TM!>UdsAC_KVXXF;l3Xn ztVk;Ct#!R}yt>T)P7e{CirDGt2-P1`J!yR-FoI~!a46$wA3?kx; zcYK0=*@2@Q*tNJBP0L4zvs7OS!ZhvZ-%;1@HeX|{!qwoYy0&Rzb6AaOJ=4*wGfj@n zv~6w&K+WO8FKjDp!d%_wMmCa7Ngc8CG>HtU?QO?e@D3d-CoWZmNLcNl2>^$Pv+Av4#X7M^$>WSk=)Z9~h}tgi4SbBGzSzH3}CBcTj<(is3=lBk_I{QG$g zLCKmwi>l+<=3Sfe?C=njFvXyhmW5 z#2~a!?>HQM4U1~SM?zd2K@+{4_GjT&7@^sFH$u`N_6@H4fVv{^ZrW+>tF>L-!7YSb zPVRo!$_ID}TH~LkqYH2!k9Zl8UN8CSC#}GZ&LP`B5g%s2HoZ*j3}FJxlZtwJ=NCC^ zu__Os2KoHPekql!VqCN1%vNBx$Eh_!S_i|epZOu~d^uYE*!}@F-QBCKkGCCWJ<(M! z?vIQEL?(=6RdvHv~Q#;u-XHy~%O;L-|7g2Nctq_iKM+Q^Q zX{j*jQ!@6rz|;}z9X8Jm>W>E6s4^s$N!3dQ_qHue8hkpN6nkt^?LSmE`K)~hsKp|g zT3x*%K&o?vS6J&V;~fX7zq>3Lv+D^(L%-?zX^2C&KE?D?0}UqF_LOx+|;T zRT|FJONOCw6|?fE@E6S3b$6Gaqafe|MffRqpjGXP{P`A*f*mINe%}4hQSFPX#;DEI zlUFIR@oD~mzUP;%V^wNjDNif-LjlWN458XB_7BTD8%$=i$*{-un-7%C-QGC3HUp~r zwTcx=_+^T^QL^<#x9NS%y_&u(?B^4Gh9lpyYK1cT^%iaCIzGI1sD=HmJLwZd7hUI$ zR}a&%HyEWO!ZMi+bYkRiA@_by(mD-J7 zKi=aZIriGw;~L?Kh$Digp@(^|6w>+VR=ii?mYV8%OQ^w>e%=Y|)omNN#eCmvhIc2` zSSFN|@1dE?_&zKDRh1}&!}8h+;2=0hRK#?C89su#%mK3qs+*;JwrWn^@o|;g56^%f z>3Homn_t7pJ6CgLJl-_}_>`$oLtibCs zwHQcPe7gt5o+Y0iZmj$ns9T7`?4Zvfq{}9hRCs1SJ=#=QM`Us_^!`A25hF4^9MxY@ z>@EF?z+|j1P-64VCM%z9Uf)Qs`~7o64qG)R==0~oB=Ou)SM#GFYUAw{eGCJoIO`Zf z=_z*O>8MwcgCO{(XJWHoH_=j42|A6~?%v#QjvW#L5;2mm1k87O*`Ahn&V3fu*5>3A z%x}sbsVSKJ@c6vjKwLbaOHps}xz*UvkRNN#IlmPhZ5-q)zRSr&Lp;t>c1mnG+AOACuzQ!56<;SiP%GzR@`|qiLUPgZA1Zq*ie4Pi`?KbwD9%aKJ{<3bqr+?i*yj+>4Rc$K z=hQw{G~mT!>5^POve9Yw-tDQSjh6NkGTJkDKs$#zUUXiCh=5?K+GM5O=qB)ndvBX` zYrWV5MZc#{CsfEDC(I`}z54MYy3{3$I@;_yT!HC3eK*pZ0yHpS<@r+2KC-#cu8?4V z!A-n-dXux#ksxLiisuqm`JrRqY%g&Mi9?Jb$ANqj z3RmhZA$7EL9)sVRK*ZFZNg}Kg28-UkJ8~xucI5svPy``x(W;tH-WCz{9uqcR6%YG& z@g}R)RpNA74d)6C-s|gY1SQ<*}7HPyvK*?ANZY) zi*2j)1!W8jdB;sy;=FMEkF%#5$yB6e&q)0G+Rk>f%oCEN3-V2XWN-2I7)TQg!sE%h zF?xogoXLoiYC3eZxgQek6S%* zLR8l)zBjmVam~^3{5}XF4)$Y_QM>=dLJ7LJo|0yl>8b3u8QzLWGU3nWI{c=gDdqOMtS8JnRwTwg-I!r-8r=q*=K3** zRH$+?_by3@=W~(T>P{yr36@obyX~;cd*fr{hewCOGPmfEDI=QZV11bnI-=(55i|j< z=HU(IJI0HIuF5KP?%x+$a@L?Z8zxXwk}}$^s1G>Odeni`+7d{SlJxCm`c_0*!`X;% zK(MNYq~&0hgOOw%{(-8RxbgfUcfsH+22Qy6xK}Bg{AV0j`j&fv?}jm}RrKlyESzeQ zm6f9b-++r>;Hc(159{oF&kmrMK2my>ht+~y?rHW(~P}hsY{u8I&+cw zL?gP(;a1di=0b>L4vY+N=!dk+W)j~qwcSu$40|`yAHdakC|4L0{!zabQ1a$$x%UoK zT94^)P~fBKK>zJj!H8U<#UrJ!x&JNMs=EQN!NSPoWTHVLK!T%%P44Ma^9g;Ht7!{N z%s5(~$DXKa3EK6#p8I0KZ0U(CJe=#!!#q9YN8U&8sWhV!p+G}v8#z{Gd8GN7G1uc1 z?G5>6FRgviAKgGMUA|D<@8e~)`fUOkns$1p{8ihr-lq%HPJ6)cG?;XWc};J?tr~PP zK!A#L#1@6LkD!iffL25~OM^Xyj4U?TxB};)&7TDyxizJw?oA;7mC~9cW;iVii*TGB z((b!+{jzFo)CUPVF}9g*{Q(W2&~WZy^F2?qKC;z&vH0VK-F#Vs1En?F1Y5>*iiL5@ zZgwJ4(JJ8ym&8fHU@-Sqng5<-Y7{9^F%(JSq1%1e`&@z#=ujh+eH_#DX zmn|-%OTU_u2_d(o55Fb1N*5X|?P8Pp`z9+Hlh%+_@Om7i9G#3NoSZ79WZ$d|E9GQ+ z*SWOOPk(FLi6-@HgSUP$%3bSt?Xl4+qK#sg!fW7^*yk?$nHn7{Yi?=YV8@O%0LOcl zzr}c?0C);gI;(`6t2UbjqqDS9riT* z-`jVuu(g-e%a?}sA#{9)ug#Y`@Se^Dg~hzm7uPoJ(xLKcbuh*h(` z)u;p~EXbG`0xIf_DXx!>s`EopiI+tsO``H@YV~2+G;c%dii(Thm%fWljNK?HkMDYu z?F9FHh=NcliW^T6&Q=JE<{6vweIV@Kqx4xMBM5ow%(ey=7xs7vQ(Sr(97!6J5j1Ag(Wp=xCqwT zWLFa-hcg8!-e5a-N&zfVOiTx^$S8^V}O0hVH)poL(rAsqaifkMa!x|~yeiRqqgRO|UtdNq| zk!CkLAt8oAhs&CmU=gQc>~kJ=eos&Dho>bmBYTGf)_B|I=E6jGH#(1X;+1<9liQyXVly9YTe-)<c4#vRV z$L(nJw~?Bsqi4I58M_z3b^UQ+>AQVjio+3MaWRF?tVG7hD6aeWaS5|XALAK2uj-I> zfA-c9i%J-4-~4py00-NC5b_Y4CpA4K!NkVkqs|oa+0-2L!wZ8k?07p6G=rJ@ z&nRlkZse*k&(L9_`Loykk#BRgW@$nlc=aRsMehvG6yHZj`nz=5FwH1a%x^p@j%Zg` z;rguyp@V^TYc#=kws_bir_?;}w+cO7c-4*(`l{(i!a-Q=wvhYTuGRACG!Of^jp-&7 zmhyd|g--uqcy7Cx4^(_bUM-y!s&N>?A6~xE$mHp;=2tB#seG4{!7|!l91-`&ay#_Rk)^} z;;gn}lhi%uuzCIyahnBt*l)QYuz(NbU8(Iiz1_9oHD6rEijmv67sU9)8OO8*b-D6+ zVc9M36UwtLzVP>tX|08pJ>MUHb~H}b9u zD9{}yhP>n>jkDdL8Lu={_fGa*s>iv@2((=8#h$XW59IP0q zUdsomQSWM-@3OSEU7F~>{(Bj$3WxqI8$_(me+2vk@wDdo)Hi$-2?+_G7cLw&pFchE zJu7?+vlFN$UVJ>GNaAynxL(Qg?IhU9c{Yj$0PmhX@x3M&QZec2)gaVdCX_*1mvchYAzPC=1{bF;%wKYu; z=H}M&iUTm8;L1c}VEx>{QksWuVVmNKhQ@u{=+XP2#Bva1^Ug^C!h9;O)sD(}K)#MG;tVa^> zjXj*&6q`x2Ff>F?faGlzM_G^gM>S9g?a~>B$;$GUq(xR??qNL&YziBM3Wj}fJ^!7_ zM4zZ=TKg}x7YYN7!QUeJk3pekd+zDfWCR70D}Fh+2=*K+pqefEN)oXPlx&2O2Q^jd zC(}wc`EalsGB9=yD?x2?>nNkAr-u(@NY?_pZs*_a?!$F((g23dcpS(frM|PmTpBZ* z;f@k1*Wc2rs-rev3Pw~2#Ly2>uhdNexkoc0DWt9s9vq)w#A;DcWl)mf-@eoSp=RB{ zxbQaJOop~B)h*VC&)MTfKBW%(0<2{%=7e? zO;)u^;J85ON2SiPGclEs3PjtfiHM6{dYxxSp|5A@Q;^OeuA}Ig4hvgH36l6Z& zXhZ9@qOK?l*Qco!r>jPnJuCLX zY!!2Wi6(44O?7(F|aU0hft{3{ZCu+KmM=yEt7XU4q z7~FXX z!(7mP=O%u--^aAZMF+@=VQY+ph+=$KP#g<(k6|LnwMv$J^+(6m#KNLrg##Mn*m?jG zf~Yn|-d6j~8E$d3LA_rb;Gp$3XQ?pgF)Tm4#ecLuX|-2*1^#w_<&&27Xr1z=CYS~~ zv(DE#Lx6U0L5BtT)yE0zIi(1vf3U~f?7K6*9?M_jck?_tje>QijoCqw2qb}6+%1R! ztfKei$tI*0PZsti1C_8`fWy|j=V`vl`Xv*O=Tc3_#mjk{Uv6hh1E;!TR%36vPC;s| zSLbnKR`A6I6C#Q9g{oQcy3-+Z*6&8f_lkZ74IEx zf6DDSn|GdCsSZtwM)X^M<|l?Ofr5r_VBU>i_Ps|jYw||v&Z~XVK_I&DEq@RRk!=`D zQu0ky_gS5X-FV#nMBAC&>4KZI_TTlKu33C&nijRn>&?mO?qL!4zJqWRa>qnqn<|NJ zT`HEX)gK3TeR-C_XNo~kmwCkYN6qWY7C+X)@zCwNJj&HpiG*f$Uf!$aWou#?s;_Hk zLd4Y74zkkYQw3tM@ehCGBGWG=F^|k!2B?o$R*g(q+#tD#b&Y5(F!xKS9 z)^4i^Mfu~DTVxR}xZX4X5kR!J_)X_uDQiLM`%<_Lj}xKK3Y)NoT|pudhyys`TWh$5 zMR)g^b^a*Kh%>twjCkN!S=)-JP5$nJ9h*m&gMR)R=-FL})!5fu~jymE49 zIud|D{%_ifmquzgC60sF1E@}w8g~VYGij_0EX5hlzfIeX#b_m%O5!|Bx6>|NnHT2h z|J>``8}PkXk0_pK1=@FQ?4I^gPbC*SEeq>HYQjVqo6-DZ1{v1vXk9J^@aYI_0gl=K>Gm-MtQ#wEZ-#ea)258k%2k)Y zQt6o@8miovejd)DW*3)?+<;GkR=1SA=UAVXOMr!8q-YF^&Rd?X7pEiX;47kiiH)v$ zJDl>tV&f-p)Emx?3?Mi@w9-R#w|d#r)<#hMc}_j8y@=rE?w8};fqN<_nbAt^4Hsjn zg*_$b8rFb;C2KA-QafnwrGzx#hc-CQYE%W}6D#wEZI z#4#ulfeup$zm8Y{neW9*7{DXTa`Vf`#F)IS%sg06iV+%~{KaIuN9mjfpFlhLSy4}= zqr`jBAwf2;S6UA1B89Rvr0z>jxtq{0z#>U`3U@1n3sei^5--|4anps|&K76ibrlY% z<9zxg-n^^-)92SJZ0yh&C2_eF7Iq(r1;fV$2|!&(jaJ33*L`k!0}cn)4ycZz7xGKf z#e5zQ7l(U7qHk3>%E?2nil>opn;V>$9`WPMr}!@nKR>PsB$11El`=4}{N2BQ1{CU* z($-eT#?qRGUGXMEZMw=Aq=mN=``mJ7U|5prJFBypHei_6=5pN=x!F~*_l2UCN>-r{ z3p4E2P#G^`#&?;JIM&?8pyKzJqLC35kmgPwz7=%b>|H=o1Ziq`cnSB;X=rF)n&-59 zI-jV9#zQVa)5~G(<>hOvVsk%jJ-mJ$U~ldk^IC0^@}!=_W*q6;6q(+#IX)k)NN7|! z33BWRIq4TWHV=SNTU^A+NVL26>`1rV;3&TJCnEaH{TP8go7;=*4?lY#+*fUg0DJpo>=2Vtfnn;h5NQ> zRpXV4(ztfy@R0$~ z2h)-D;z6Gz+M$W>Spanqe7-=-$X%ud?Escs@KaUB{wdclHwcIT;f2oS+!bNtN-~(P ztF7_tQ3-N9gfeBjF&@nkv;RAORgaGfoiP7O}e#xqz1>MfF3+qZMHnC5B z8?STSf4IH%5}zdOVB)G9(W29#|KwC8-{fnc7D2z(iTj69vBb+!7&=_$z!#VY~PuZ z?MfGhGE_8F_-ej*|ES74y7(oDJ^WfpAF1txcwZ7{;|2m?8qZn_`IPEcC8`~X&?Tf? zbQOZFYluJaxRUA7o=^JQWW9sD6tB94pF7tJwL|SVUbVK`|rcbplt5x>&c8{W?_?v8~IYShTyPW7RmjcTS&v}&>sc6+>vXA z*hjEY9oIi#vYvGUTA7KU?%N?3FV_(F=KI&$?XXsWKlDC-1+*8~9yu#2K-d5lhZ;NW zps(ss_~jr>V2sl8Jw|D=y+EnarLdUnnHmMTVcPsFZ>0NLha(zSjB z9QhG(JQ$K9BNR4m%oxqf4gY~Os_=i1oba|+m!Y`#Y>!MJAqZ4QkTRPVAE=<3aaw_t zC0iIkYecY|ybasOqYY|AW^1L;v6~{826hUpJyQrTYwxikfb*QhwZMjvW4>1=7ZD3B ziB!W6wbcyzvcV5Lv{GN}=Bw&;^!KnyyJv*Zu|oJ9dS%U@9bGXgIX!SY1!?K%Xrd!_ zM=KG2*6uH5^B~$t9+Q!u8wG*Za7a5ZJ}wd?)AbOv9l=X?anRr?SO}P=8w{g`ED<7) zWXD0PFc%T5n8a;@BT4pYT(zQZ}PxgcTzoEec zA#!N0doo2B(%UP20EF*pC;x|X&gybblgddz7{HC>5K?4LrK8|z$I3z*4%gZ z5sC;jYM^Zr(Wj8n!Gr0}>aA3%i%3%3OQ$VVS=Hm8a>{9n+JkIfH@*F{x_T4Yuc-Vn zP{uBN(wsZ*mCo#pOt2skH6v3mT?}-YT$k&hfOzhd!;hT65Q)}T%SOW|tKJsz%0EN( z3sT!if6^ans;vk2PcHP-8eNe5Kq%Y*ZCpWOb#iWi8@v-qQwX-ReC9)oprP(B6x*8U zO7Pj_T^V-Uwe@s|pD-K;=CWhj2jhLvXSK5KJ{_D8P+Ube$|7iMO z2g~M#(H*NuYKQ(229YiT+I4%u>~}fInom9nSU6sNRj- z;UYj}B#G;g%wZ}W#vO$Yr_`9Rene$HuWfss(s2(9kr`%KNpHP;gTYN^&-{beH1bJC zqZ;Z4bN5-52QI={rS=WYblD0YlZK9_>)wxWs3O=lhhYLP5~Ay|sEmvQTDoKv{eOMJ z-MqYc0iQ;#c_4hLUrh$r^xU&wAWIE9 z=+-=KTBmo+7+%K!YY4BkKyEH`t<4f=MGbOqTNBw*kJTwTQ|#jcLUJyr{K!-eQ+w&B z&d$~&AVuC4_V~U{VZXIVOT0ot^ziGL+K%p{n6wmp60)15rNvj@!b8|00*2tOSr2?#K=Ipu7e$1 z6~}-8CxU#{qSJJQ=TC3_xyT%D<2BKOknQP~{LBx`U~`43k@ps6LE-$8Hu|R0w(W4c zhJd-$T4q6MbW~gd_$X?uPiSvP{%Q4R48hA~vmcF!SX}$M@ABdQ=+BVtX5!*jLs|f@ z#4&#EwuEj?8ICWx^iQ+7j-QbZVj-#j*gamyq5q2wIQ_*2a+kUGR)DjI2rn3iX2W(B zg%Y>)9V;Le#*q){P9r0Ly+iVYWK1jc>r;s&yxG}wh^V2nJS?m*0fGWQNGB9^aur+; z2wZRm!zCWk#Ur7<;APGD9ER|Qtz-0{<}ZIlaQ&-7aZ){vwlRPW9Jigjfk1aDSsF6u z;2Ju(fup)z+hpuytpua|H+8Voefr! zFmvRCgX>MzwRQN*-k2%hth38$Q)vJK8^)wT6c!gtW{>fhWO9Rl8t$GH4`xd1a;-O; zxIsRVOzr4aIL%cpfi@K}*#6&A{G$p^3Djr$^Y&{Os&pc$vK3=$*Q~H9G3J!<@_svQ zy6XTnhl?9#3aEtQHdB?`vtv|3q=qdkls2Q?3BoQM+E4A!j7HI0=#yP=fmjR0FF|s` z*X;10o9@|XU?^HKL1U-iiYal)%f++9?*+4cN*}`t+rJeAjR??VG#}9eC9kJ)_^!Pi zEtM!N%fUoEDnrIpEn_9Ymawug{W_((Ef+??DB+Hl4vIIK!Y$B^&HJv?yWt>)zIFG4 z$h@d9S3!yP0BKPd5!Ol98b*^ux{1Yz(a3~^^6ul$k|YhPPo8pt9vNiJ znF6a!vq;a6vRXqB_nx6UQsMzpxk~J1so?j~)(~XVu`)C6doyJUHPQg513mOtdfXs3 zBj~&rvv3~|79>KXfxu#8Ug7!rraAIe*p&D8u>oyyozJ6`vd(E zer^sPJ~5IXQA~W4V$oVUHpP?1LK|~yaaU+E_0aAm;%niy(!h$PywH5l73<5aSV;;S=dfWn&$nhmx6zIMV zZ{VQ#RlSLnQqpJK(a|Cmn9>3`M(NV%>zK~vo79@G?c=iAvUD_jpknNw`;2VC1rGfA zeUFyIG8FJ$1DjaT^u_CdDd2IzK~43lqMVLgdZ%IY^^mlB`{r2x>j>y_kP(vCDg0Om zVdIB>`Ax744sO^jVQ&j4tDujE_z%Pfw>ctXLgSNVWyrDx06d539uy95Ar0UzQ*@4+ z(ErjG4l;0(rAEc^c>a=v^$8n`Scg%M3-dLD{V9nDH%nSQrdhb?#)m|Bc^)xt8L><8 zTzk2DiY#(u+W@B?+&E5~HV@3E_<(zdI}G9{wi~bEV#Z*zXP%h}eHcGgfNUN)#U>o$ zBeR~X=4#K8(+;@TDmcP~CK2qhq}D z@~b5*j$QNlO2~-L^Tp6IgF%63)jrC{YrUWb{Ydc}05Epl1DfUdzZWr|zmMBdP&~yE zt8V>3O+j)^z6Z>x14U}d8#U_JWmHr7+pqVrLb0&Jc*}HtTRHthwXV7%gJvyV-div_5!^#p7Sf9tch#O}a@|bC_%1xFFrN6A z*E;zB(Yqs7pCooVwMwyw=ZQK|yhqL-V?9;Fa%Dh#Fx^Ol+8l5X@DIVz)&J7>F^gER zy@-%@bi_vZ{p=f+?Qxh&ujb&M+Gsh0S$@oVAVX@6w9Vl0WmA5{_UK@{po~|OJ(-b- z>2Oowr`#nTD2BE;e12!v%gq$U?LIVdGJA8AkkI>p=~^IY+SYfig+cK6hrCr}%8Xgm z7&&(7Af!}#4<84C2XDQq63tK8OeuTx)3XzFLPeJXC31eNsi#Cr!ndcJbu`oYJZGnQ z5$BsAz_dM{ArWd)xf8d4+lA_pd(WEsa}QG<1n5>v_3zt#<Q?z7mr5r`|V!02OA0g8UB<`WD=q@t~mm1&9eEiPxwJQg7dincbOh>Fi1qM0_ac zu_-V4MD{!NCT_znUkcPEQE{I$M_n53`5rDR0H)xvlF*m7*PMnV0+D9$a*(|Y)=en) zAva*E@x@qb8wW6wA!YL_*V2fC;M)Gbi_wbni%asdJdAfg`**P~6BD_gEwQoCzwl~3 zJz+y{Ef|xvTAY5Ga4(G(eh51wz&c2Nj|&t?h0MXF#@2$5AYI=odCIrcTZ#^g5eT7D zOkL(e>DIilaX_k}wrkqe@9yt~$XJLcsHoro3o7!+&F?xfuehGh*<^L9tV}B-+PbsY zL96`shBtup;f-6cf4RsCt$AU~Rz~)nx5Oo!pwlD|&eqx-fURRbNIbj6@bmI8$oh-+ zc>`OjF+ggV+@S-AhIl6vCN|~)$NeWNQ35Y^(6rb)8gc5gu#`j2utt7A(X;%eQ{`3Z zp5yYNdZyB3>|E+mz=kfkK%msb8;{%e)SBD(7|gl*UrjbjZ$6tRlHW&*;OLJAiP6*Y z^vAf7ZMwqML~oE0_V&B_HUr*`J?Cm!<9QDhVlU*(t&QX3;#qq8YD|stAdsxEPEA`I zi_9M{s-fYe_}&=SfVarcJZ}q!HpB8zxn5)ATysO4h~+CX#nv-j@Q>!Hv!ra_U6{r^ zSuZ01p7;2;xCK3ANZmyYWz#IJL1?@lOp3aFTg=A7;$MMMF3s&=oWhU+_B(fSM$Jo` zBWS9#|EkVNwF+0z)Ez9~(&v=~cFybNFgKJS&f6(|8fulwIVOrRIsjUl=QpRvRr7a~@YcP%ZC-!Of~H*4HF zzLDM1k_D0}Ma7_w0=`(SQ?SuQMMVKHCLRm%N#!1+kHB>C;B~Fzr_l(`vt$S)Q1^Oo zS^k`YoT8rh*57LExOL_By<}``_sIc4x8IZq1g)@nP2@LLhDbKaTf)@@NeV5-`#AH9 zRL_mBC(dIV7|@!$jo>d-vlNh*3k?YgtzJwh935R0k(Mr;jrQsu^v6vS-ypJk3?WWl z9cQA-*wIKb=G->`wy-alRl^EAV!>8naSJ=tezy#xBDmT5z;0Vxg*tTVQrADN#@h7# zyalpNX7)xSx{2KAZ%?CP(#MNhWbmoC4Zf5l6f1b0aKR52-Q27!S}wuE{4OKJhi!{N zs+Lkw16#M+K$7p%%7AJNZ?It~Olf}crG!GC&4-9w;Rg_YfMOJW`;=wt4ebq7*xlx~ zb~-FOKew4XGB6e7<+X}dWW(~<{^}W=B-)(5vc6`G`sw)cW}I$*vGMf|K<+ErBE`#& zjcM@ycz+bDF3bVmK*9Hv*x|wFN$Hw;9bd=Qu2S9YJ_P-%?AgDEj;+hl$_6#~@t9WI znIP!KF>7^`=0ku+fa2k7Q}?V@tYGxy;o-?xecL}^@p0s^PipjkN_?JkB$2cu-~3Mz z5l50D8oc!XdelQQR{Q@Y1oGc7{?LZ{&vE`MEXt4lf4Nw@K>JkKQD2~ z{>_>vUi5gZ{twk3Vd6RrOl2+B|NS@e$yiBrq}MOiG=}QWGDxzc@Ty;S{?D=eBS@K- zKnV*(Wl#TjX+aCOWKcMsZ|eT1VrhRjJF8qq?diJa+M??Myd65GySke5Ki@h158zbtJAP{V9MUJ8@ZP93|)^1YkTc{FH$$APpBvFo7aipJUZg<*TRoQ$1sod z{5+ju@~YW32_i-r$=f&o`5oe(OahqC7Dia7%ojw(CH)6?ME>V@jbdEn&TO-x8rj=u z>`eaStM;|dEdM@nkc8*;wDC}lGmCae4MpAh3-Zz+sa52Eek&r*^IGTK_xo=P>)|g3 z2A|2FR5%u7GqcU&{qq37gj{A>t@_a~xpo^tRkv&&+7EAWG5Np$x@o-;^zUD&%2jzc zYCM$XDfhr~^d&Yv>QfxsVgHw4Hop2AGM%KftzF0bK&st9TPmw_LpPY2qfO271)pwG zImSPanWB6x$6Eam8AYCLHfkL0CAI~(=o0}agOKaV*#A7D>JDz=)2D{mmS*FY0SUHp zR{rpArOQSGuALAkPTjBhuNT5d?a!Y$IV5>19~rvjR+uU9-wY*a`Sj=Tvx@H@k@0>G}w{^>5sb0 zi?KhD;&>?3&ze-%_e-Yt6cW3A0%OS4m%VMQ@#GGk4Q{PQN9_%cETg`Spe-HjX2qNd z3tijD**mKwPph>bmyKF-H)-Hqd%48-K9Azx_w(e2gffE+KBLUVc(3V-vNZDP_ zpYDx}l>YOc5PnW*#j*eX8^QJ98jLIX=W77x<-aEuA@V?M;osLo4E5vH{ntbOfA(+% zIo<_I`kqbSP*Db!Pu0$`2<_{E!E3?v1a688A?N=rA$xXMAv7`a*|}~EiW)@o2huu- z6nv>%=3Km<7&=*TaltN&YZ5H>($D@L<-*LXw!B*vqU_P)AuFu1LY^ohl`+Jf+qAV( z!&qt0ZG!DJ1YQWdRPJchhCMZMTA*=YuU@E3mqlQLE!N*BVMh~7#1zMqmhQ4u z(De~?MbrFT|LJJD@a5B32myao4I-_RkM8xfj{4tgIJ5MZbVb)_U6n*0^YX9mTQasg zl8@OSnV@|nA;A_E@%6^l^7=K{w*FsQ00g3n8!LL9e}gnTDAq*ccV@t6i`Q*=F$}R( z7T9g|9XlF$11MMTo}&F>0kgu^q)Oj#9FuG8OEl316-@dN#2}lswX$68-wSG?N;Oze zr819g&ggEal&EmxD1>Ass(wlnN37k_qAduf*1I|=^OclxyRduXU-BkzVB;X)q@&ZK ztu4r-Ktd=i9^#GsU0>#%Db0T$v%*Ey6fOok;4*nA`;!u$UHKhN|28E;^0=XG6YeB(Hd?|BMf zSMw}39#o4&{vqJS4yY0f#iRNL$gutI3{zB!3b;mwrWF`iu2?}(W*FEhoIA}@XR8`r z?tM@t9b`Ve(#1(P&3_qgqax@w%I*9Lc9HEFH(nvcaUA zqruGHvw+s@wFgHY{MqUxmaKPEZgoz0z}w`%)?lPn3L`Tn7|M~D(esw2YoRc(QK>)J z#oDN}7~8cLOADtO#wd2CPOS)+Yq`-!RGXb~-@bVeMGh@7M=B*_t=0QS-R6qcqIOZn zLU9$Az%8GDl2uHssa&%0s$Lu`;EY-nI^p7NtM|4QB$!jCPup!peawZK{fcsuzKc|~ ziJ|snvo;9P(<7p>c3a!1%V_PPG_noBZor10gtCMh&vNoXhQmL<&_oGv&x^L0z&_|1 z@jXJ!k?}$@;OI^&IY-Eh5d$<6TUcy+EY~Bl%@?$r0Y8ssq|VLGE{)swk- zhVR1Vwo3l*I%S<00#YN-O%HFz6)?nI~1M|`GlVWo4MV(^<_M}BK2;M^+{q`Gh&$3 zQWgC?cEDPHeR22?e{Q;+cO_3CoAme1QmQF^Iy>a0_78(s4U(8({s`=WtZG$F<>#j! zJ{?#UT%>Oso|TPXa*$!xQ^YJKvq!9j<8W^=b+X=c5~SJK?iNAwl|?)~Gngkk{rb<= zyGRqksU&f}gjsh9b4a#dQ0-1dVlrlC5W&2Ug@zDuwi+xr=#K|Ap0RNye+l8FhkcV_z0L%~#cSl>14xbDE3g*ak@ zY$%Bw`t5A{D!gqm2w&ozSp$9D&ESwh{7q~3y;_`-csgjfaL=TeV{SY6`+CrN)FT3p zmh@lq&fN>Q0@W0I?Fdz5ew>6e8M#GxIB_yRu28~UHZ~-g85c$Nu7anZ}CkwALzV96M)+89LNhK{OHV%b|O2b(=t;vC-(7+6R2p zH?sj@Mf{#1d@nUm#|%?cP$AwNYX74e09Y>I!?U%pS<{3DS3W%_;LvDIe>>i*it`=x z(tYF_iX>!?=zSJDguh`a*~3-kB!J2Ue6%0BzjK!dTN3x`mmQyAwNuYzOn0dAxV} z-ZD*<&u6rBoXK=B%Q8-aA`AKat3jH{MY%IcHu_)#R=-snZ))7=q%9^ky$3J)CXHvI z**P`#Hkt%o8{n=2h=(x0LPJzzhllC#n zkZTOgsl8K{k(ssu_et=c4uD-bP|Jo)=d-FAS>P^M9`_b|xZ$^nC$@X+xE zm7;5*L97LW1Lh=StPal2;c7rbYcTHE^$qtAn=A7p(ASqK}1Bm$(oI zHU5xv32Cap2%*Oz?Ld!xvLd~XJsl#n)ubb|SRSYh7w*+}dvjj-WST%lqcoYyc+<+F zJ!k%x!9&%Zm~?q8DuzDwBpZK?AXDh1gROh~O7s$}q6N!|wVtkrUw*y1Vz!6~g8*t$ zt36!__^_^5kpJ147HD}9^yrR8sTlsRlMX= zHnpq0>4)N%Jr~|4t95C=Li% zjkuagmr2|+eoP=4uth^blUZwqptS|J-$_{c#us0UbLVvM3~z){I!WOULCJaJSzckB z0mP*nLTJ;>_&wYK1T}$^yb#&^)M;!X|LKeAz|kbo+mmng-Oz4t#~QfXbJ8A71nRq5 z{CH`%{Zl8Vh&Z(%*C3jo#1QK`>J<*S3T7ry%}M`#EOrih&>AW|)tiS7zce=$X)I)! zASo$0A0s9W1r}-WL}1|u$ov^kRkkI0hN-&g@gFJj-RG3!IZN!RVoc4COkhE;n2;s8 zYza^C>d@ms`8eKMZQ6jF@MdeBfpzZ<*2NL}5Db#@LF+Rp&hVJC35dNqm{bi(JOy;i(Tp<}wyJM7Iw{ow3X zD*W)sI(zjuz_@Nudu_ZTu$HZjAlG6jO%gA1bb2UC(0pLO+T$#_-QXO~T^Q$K;3<-8 zMn*)?@AW3B{e2_;q?dH=`+A12AH)d&8*pdK>vN6lc218maYvZB?ciaseFtC;Sf{31 z@=}7FwCCA+icy{{cM`<(`Y+UWwtechI^OVY9SSRThNsj;-i$Nc$=rlH?7>y&1kok- zo@Ayh;>BmAid@oilYYE*%kT5cy4)YmY%1a81jbw%x%qGXrtge3?2{OjmqZBEH#S~!gHZ?f>EN*aI$k~9uz-?S#%O>Rd+mHUOLnA#3gq}sfj zxx_IU*pKlerU_adZ^7Gwjz{e~Q^-rCP6~E@3E~@SI(h4wQu;o_pXXb1+Tlq!PuDj( zNvE}Vo*2mI*PGd73VfdaJg)P38}*i`tmsAm{%ZB){)lRbyr_u=KIIc4;`}ijT^m20 zJe1aSrA5N={zQ|WMF8$o9K6xXsw`Hx@};@#fWb_!SQ>d5fdEKO%$yEXCHu)yk%{Jr z&sJG-JOhtc_2Ty%z?jC@KD&v}E4)?~R2tE5cineoYGUNXJ~G&C#I5gijqrE(MJ$k# zfO5n1wqwMKrunLK7AcM|FijEhe3xgnpvbblmw zz@=P31SnYC+l_vETV7*@Xy{i~1mivSi%7RdCq0p_8AO-y$^|3FdRj{Z?dj=y>{I34 z=x!?slct5*>`U>zVy2tn#Z1wCZFLUj)aPU^*Pb1>lUe@jdKb2b#si7>70#0d5RQ<# zaC&CIi?<|KI?T!YvVA)%1yS!`^*JcJ%{h>vZF|9zYIS|J21kX3&uwrYk9uJ>mPSscBAyT1 zOtyYuhJEKqPVSQ0`Xl9@yg%@p2(pNh7H&Rq%j-mMp3TjcMlE`PrhO*|9xQZKMtjW4 zf<;-R-b|&=bIMuLlGH@o)aX;T#A%G0B*Q?n{b2&yq@zJ4OKoJ+shdj znyN>3Nd3^`7U@DlX`%g%B^ZCu%|N9Gd3n0$vwiNR-KlBm9NltDH#ycVOevcVMUO7u zMat*-RO=LPwQkm0dOsSA;NIlTD`e7tc%1a)!(ILGR&PP!&!gr4j4Qm4j=fuO0wXn^ z6Q-+KeM(3pjHf{K24#bRGUn6 zrJ)`tfmYvdd3@=rxUJgQ%0=$ErKV0ZBgd}1&=8GYz+_b(0}%tQH(Nnx>b9OYi)Gf4 z98VST@;`-iB4BB7XJr$wN26wS)6&^)r9-guQ;cgmzqVnHs#tOxr$No_lUxo&nDsqiR+vEr18674a<(0aMP>VBr+8EsC|VtD{% z)ETX2Vd$TUVW7+F$tyDGaV>gWMn#@IW@nK&VCfx|^in`sc=;-SZ8sFi^)Ed=r_6dC zw6>!Ymm{7|j9p(9?uq|JoXiyjcHe7ONX`#8O?xbW_EK1RQKT&{#)CkPLNIjFj8Ym9 zbLrnZ@t}f3KHQeqanjaLJsa12TLClomwK6&mwI7cbj7Rzd;K`vb458(fr}CosUJi$ zjYwasFDT0;h-#-FZLV20b4C}7(UKi)+3ZqS>7E%;TX7d%0-nlwO)XH1>3(W_WH?Vg ziT>TYJa;|L9^E+wI!?o88Laee`5OaELKHI z6ut~UaMo$AaejDOq1^s`a7DO*zPo7~b_e8vtt$R;qMhZJzQ1da&b9gQn@(1h+HHS5 zmH)fxTIl8%DvetoMZ5Y=x#!)u7+XPJ`$qFiC=8GaQ&CNJWi;5osCbn(u7GVwhHckY zwg|4BRy-TRcw;qfUwyW6(r$5NqQf}NVAi*`=jZxTvv8ALwbGN5*=2bk8P}mCT0rGA zY3Rsmwt;Y^_rcp4gPEp;png*l8tcirs<0rjD@N&}#gJYRmO|2mf^LK^!b#GCd;kdQ z#T;ZBafN$EyT4dcDG`(H=wX0tLpD|6^V?~Daq-1Qi864^P^)l?gH)~6QS(DXy5kGg zrZ}sl?KSaGG2LhhFn`4321m$8r|(yh{W;RZRNy~SMZED}*xCPvB6j2dEWCrNU)%5k zQ@&;2xG%=`1sxRkI^OyWCdUv8PN zra4w<;ZJ;ziqVeT*rtE1b%L#nOM^^4TO+D~5s z$w3x+s%&?`b|@_W=kU6^?jX{jq_;QMR}7KIG}M~r!+NXsr$1n01gXc7Y`~KJ+k%=qQ4oB>enI&Uh9YaZU#l zvTI<;Up`a%$bF#}M?>kmY#29tYVzcOfduXrn~M)kZzo5Grf{c@RA5+RC71N`;fVuO z3j5}Z;q64NJQR~Y&G|<000fmL;Q|T?87wlf5{NJrrSRVAdU?DcbypnnskMnrSX2HU zkgD&{xdb<#CbeN6>Keh7e|MqNXK`fp_U+Gh`_^4ws247l2(N_l9qg{(_ydY5d z^o5bWODEo+#P0J)OfpWoRw5L1MAILpvD#m* zR7vEH$9);63+ zpP&&zwnqho1b6-d(dK$*xeY%XN5mQ$4iCQ-!99^49 zdK@asprO?HMz7>yv8R;+Utp}kO7PPOi==4_XvRm8*wsDmNBb%PG2zCa)$nwzRo_dC z_BuT;QfRmwxDGNu+B;F2Bhoqy_iv|;%>I5~vw%a#GOqOJ5e>ny9FOm%VNYNpiv1!{8NPF zT5^>>_K|8Ek;_rBMD;e!5oIp;JdY9fKH+Izk8WoCLh)+U3io)o|C*q}6D%$_6H{J9 ziQ_!xdw%6*p{)th^0vyDg6>`ZRAaOD(;U^ctC~{UoPK;}5GXvOPE^5HxKl+pHnZYz zTO+wCH#g%S1**tdXWNo)2yq|PR>7$XY~dekyHBFlr1#jx8sfJy6qQRf#!7N&*M2+x zk?S5G`t5=5@Ze|oJ6(0r1nr_lO8_kmTFbW>^WDlAaln1A6SQvZ84$Q$i)P`d@-XMd z*5$quP;ToXAsPxgoJn0;X9{mkJ=e1Oo~v+xck?`UCrj@7@yY7LHg(+1MN72;IwwH;+ zmCWu_V?Esh5Y_sjTRlGbQ=~~KbKP>ejf7Gh*J%pUks|-cRZ=Up@ z!)3u;CnZgQ9qK`);o(#S1-V5y1*P2@P!PiP5dTY2SmhF&Xp8B2by2!;NDx*d{5 z9FBV~y5qHLYu~$*(D1xEMNtBv?;d&U-O`TMSUA#tM~#2;MP(v{ebX0Y96|_3ck`E{ z@o1FdDp+=3CZ+hL`)vV7w}=s(5RKO7pqtO$66kzsXYmZU&YFyTbe}92@KXtW*8P}P z@}4>SV*&($H2q#mYgM{1=<>(k%%@cl$4`D)UF0?)^_{$%{$d*N@3aDb|NrOX8SU#%4U7<>i~qa!7g8gx#H8|#?ZE%L zly(@PhDh$`ok;FC{r1alb!J4Dhi&eE_h&u=2*)*wYG!t9V97yFLaE)xLU|*k0H^wl z9oC6DsS}OEM+XA(WHKs zx>3zZU{1RvW5S|eD)oQNck+XOulfICzD@Y@K7z<`g<{@%#xrr0JScTw)3s5mpJVVa zu2LZ*g%G%@H~ibFUmTxy+Ed`>4ed#ZMrm<$SI*IrCJ0tj%pTgSRkxgExD?5)Fv0edOdgRWW8>rn@fOG2REAL{f; z{X4ILnf*91ykYNCDD;)Pzs3+pe-<(fJLHGT{ZF1?_@cAskUvS` z{1WPrFf%gTZ;|?}?pZ~3PMye`*6$I2R|?Rg)X(sS)>~@8VHXJ_cl@3NQx}x~Asron zj9Te5{P&q#W)Ui7xRz$@tQDUjDpdg2*`9N9E0h2zCj0xUek;|?*J{YhUITNI&`z$U zu8Y-96)JfEkgtDV8U0+8&O#-*e-#?luK~q|eZ8nl9_8Vue|zsAO0rL!lc_eujuukD zKbc{Tm)NI2WB!vOObbLT1An7jH0AlTkIftXLVI@zM7bUi{WqVVMNQ=siE;_m^CSRb zlF3xiFzLUSy%jf=UnSfgZzIVv_JK zEI3}2qTc_0^-I#dvP0=M8espms-8JvK~TpN%12QL%s!0~DFoHO z|5-2w27D(<8))+_B`y`c?D*q%|MAYiV%&z3+>?#Ix!~IwT-|$qRvQ}sHJGAz&rjlC z84ZZ#ap(Unmi({F0$M8nHTQojR*?qK9RU2PtcFN5Yi|fEix8nGU-M2z&7uIIfZ~EI-H$JC{#t`+k$dbV@iTP6)LQX~QuDVO#9FE{ zAlR#Yk-V`zp?-@p{q2(yDaf1t%-~*E5sxTfnh?5-{$}3DuaxRWQ*e+ z403#dZYOzcuYnfWBjq7i7W1jpm5qQ_p!&HaZKJ%shjzoiead#*Z|I{n;(uBI`JyFK zhEod}_JLclSAui>n2)P=F*@M!JA((a&?P`&MEAE#2Lym83>@*+J`Yaegi70#_O&lE zs=S-NV^{l(!T8@hSq1DX12~e^V zD8ySrJ4Gi}M0F&FE;1|%e9Md(mY*V8u@|5)vs-sDBxvgkshR>-OO0@ni`QlhclysO z)${#6fO>TfP4K#g@1L@1og2yX->57WiUYJlwC^Tdyr7mQgRvRxd;aqUwJU6E{Vs;0-Ly)l1O*X%*@`shQJ=}o zuI}5gt3+jFoM@Mro^w}?Ut;hHP%En(`g^+@HjCY(O&-^~GCu1SYeD8?o5!Nj4JVsZ zB{|bKCekimV!>g+(KCBBHKuFBDYa_=*unnrkX!nDp!Q{7UW-{)SIE+dj8ORCB!7eG zXg-UIW!$imKyObDKqLY&X-!FFa}uMhTwX)~fR+qS#`BDS` z<@ew+QEDTel$?TJ8+-c`f{Xd8gL z4wsBwWzV*XqJ59*B?2P}hd7WNgImtH!n7dJ5FJ0WorU?Vs`{oorY(%Ev1F410B&7P z_J9a~lcJVa*Z>0IPI}4PCJW@Sk^SsieYisVAFhevd>p-O9&qos3)B=e_RIO7oF8gw z=wH2Z?C&5ffI=0(01uI8DC|6VLA{1x%PAY^t)5~Lmc`vz6F6*5th0n`|UN8`vh!MU|?@~RYIIh32_;KQJnvfOt`^#H zR1)`ipgn0v7l_}uo1`Ls)wG#gk;TzsE+fx>gLy4%kJYB7YSYMS7}ux8zAb=H1ik~i z1RgGS8sx`kJ{xL)^CJ%zMg;3In@Is^=3WKX$(Ow$>PYtwbls!CZuW5=Hi=0~$+gd- z+L$>mX>B`Zmyh)kBcB1GgY2VRCPrt-!pPY{jU+(dX9BtldfA?tCyK0B-Jbgb~dE*+ARULfhqA#69{hp1#=}4n05J zao-z^LTZ%3gi{!DOwc}c3vr1`l_j{yLt-U`1rmk3%=@?1EOlry{vZH@Sa){ea`T922Bk_HQkeL0pv*ylh zb0pjK@#*T%nXFNTqKV5Kb^~veOl`UI%)o5Z9nj`80=^7iTj#)|_%gXD2dZI>+z{Y&!(of;#2duiKRE;OO+1a_& z3iyxk&zDI6xxRi=JtIYKLR3@We(*RGD=S#C=s_C;`t}8mwtB+#*djvXyR3IE3&e zO=Y#4szLIhlT${Y=Jm7t-?O-I;Z|y{sziLHXHNG?ZnUwokgAo>LoH|FUN;K40a7a5 zsq@j~4FKrZW;-2AVTUM~MqCt;V1!TN%vS5Z-l-97{7FrXq-Fgm55`Cuey)%Kli@$E z+vxcO@>r-1LSC`6vmdXJ)>-2Lr~@DR-~^dy?@KJ)$)DG$%Z>WSzQC;4#tPsFL0~3X zIjP!EfX=)csQ3(U=N8X>t=DHc6rT;X5GN-QY>TazxD4eb^V@ZE5RzTT!oACQMSDp| zizz2Z(77z%grz;xW#DI==!E0;?GeplmUAo5M0#e43k;G=s80SpipT=s=Ep)V0ehY( zSUUNtEki#Zzyd3`EL^*Y@@N>Lw?!`pws!adzHQS!4=(B0hI;Ed|4c)goLEc4##=-( zI$!M}cH4pzT)p;V2Zhfayj~c3mr0jQ4vf6g-kU@FgO8TlhV+)hp!uxl%(iV2l>kW# zFsW~wFRxskWxSk@^R|8)A_CNvud35 z*27iOJ;kcvAeY@L`x+lO(;*-a99F7(>T!jVhOT*~9V0(C!qZm)nh#ipkDlgZ)3>@2 zRLsmVza^^CVw9cZeb}Wx9jO|iq*Fr?PfgPZ&+d>*Uzb=xy@Q4Mcv*gb(fxBy5XEfg z!6X$`3cLGdOki-nZ8WC96Xc!Dd6=0mc&M~3XiVg``}_8l(!8E~8;!`O+jZ}@ghfOM z%|ke#LBT2Kc|~s>PtE=ipDOXq20`uR98kMP?eQ9(Au}hmSs4odDXy7U(rgn2eFZ~e zp6U23$C)h|+8(>nJNIu@rRmprG~1TN4A^rby$@yc)_bV`NoV_b@JEe9Q+T_&;8ekP z$uEZYtdIpbGyZZ5;y#viOk@KOW^0_a(MSsjG8B?@QIb32Tkgl#qAYDOq-RNDksY2r z75Cg2s~?L1*7hPA&dpM;cZmh$t9JtzP3W4@H6C`jB! zp3ZyjCcCVxS6DvO-P@R%h-kSqW^y>&Q#tOru35bR%oMg_H=QXx&AAeL?K)CJ)3QaS zc#Mu%+3HkKeX{;0A+pJQ(ae_e=>yOK7NqZS70f}(Vbs6%oZ#QYe?ahNnfLQvF<{+D zb)NH-la010hiG zcemapndl`zi$jl-(*07o9p~i%`8|3ZUHbx<0V0z}8XTnftnRib_G(TCxDH)sDnRH| zzSD_mmJO$PKrpm>cRnv`H&p?wuD+QlfGzi^p1pGlXdR09WBYt_xOIuezt|oOWy$u9C-FYPB0fiLA_d28wY~2w{7Evk6Ad4|_3?5@_K77wg zU_E2xZLE=W9*pr{+Qe-K9;0DtnO^N~?(-O8|9rvTx>-(4g(YIINTbZ)2vsTTIy?M5 ztNC(s)>2y7;b^i70nbzsHJ=r&a$JMQef7cdP_PSKSyNOBwg3>X! zv(h-TZ*!`mEF}n-B&Zv zBJ3;8K~R_Zf~N~70OSW&pI#mN>_Q=dYK+j(hxg0#56o}xTMN#A$uhva|5VHI87Q8?7Aj{8SPl9?T)4&xT zY1$#qSwLsSv{k)SRQ|E)0NR>d_ISv`{p8?VS>={ZcR~47j+OL-xi_zW`m+Mw+2Bg| zVotS;U;H#8^AKjv82N<8)BOiU3(uce9nh$JgLPz_UK`DX+eLI=8fn$iayF&ZeIg(# zFFMtkOLErd1%a&UcLw&C=Y5tjPXeB*Yx-Qwg)q|WM27}6aht6w7)ckgXkOKh+qgbc z*&I4*-1SZ=Y5LUF$_w{uwx4sTIcyIjGegVGyH?UgHt)W6cJJl09XMEP2;Y=*7Evh~ z0d1oj>x65-D4&s@ZLvpIb#mpZEbX6msr==YT08}*M&O@ zHI&X%4D#^Hu2b=vPq+kgf}dXyFo!s_^}ANxVxX_X4s(c4SGbR{aCk7KTse=Wr}te~ zPJb>z@r9;ifHWpO@nrC9#s)GvbrYti;10Ik2ZrVKYXK>ju>9Hr3Ag7u0uDUQDxPVn zcscI!9UV@i6U}D41_QgG-VpuHD)9wRk)9*L&LHz^f(t++7y8=6@?&q#wwJ5w*Nsy| zV-dr*t$FS6b(LYR6fp7gj6|$)*h@P=Q(-57>U*JSVU6fc_f5Z;E4%~ZqBvvP-R#o9 z+p)#0CU}9)SCUh_nNRjU?M(OQZ0a0@HWAG_Jsr{GWZeU-Tkxyny3-z~&3v={hs$=| z_4jQ+n{#9D!O_{}dtDI1c^@H-Jd{)ljU7*$JN?|}DtWE?-H6X|BPsm=|Po;&3cl2 zJJq@A`CLT<02?_e(>CaHRSfN)C-!_7#>vqCD`J@x1uP3-nrc9P`r{-AeCmZCLC0H?xWlIC(1cl}PWfjJDf2_R&yTgX&{UtvBGU7z@@)Hz4StW)Ai6e_Cf&DAQnz#35lwEt zJa_I~2CtX!>rYml{&O&o1y^H{b1e+=UYLm2=gSD+k7Utt@NurRd`6X{d~R~*?dLXJ zwb+=PvKwge{6|UrdVp=)YNtR^%C?L|4DdgI3qOMMsK_Xd4xSM2sR&C^`-Oy z_Atb2sR@K*ZTtbSXrKsDafipE6WH&pxjm1x-`907!w1Y`a&Sh(8jMoVBl+k|cL zWIUrDUoz9bm>Fh&WFIcX0Zi>LRS)lwy#%RB-y$I<(VS8LSdl9MHqSZ{5ta<_T>diq zwWGh#YM;nQSFa9G)ca+fI3)kM8c-tfEkcvp9>L6eiqpa%6DwwsICmx(I^5dJTRG`w zCK_uf#yP$PdARZxNyzA@P8W=8^k1{P0_^=q~$AvgFYY_ zpnzd6zALX@mlgz$bhz%zx&ey-nLia@t2n&t@bqN(h;<^{ETRdczK!u_1y^4O!IYGd zHl{cF&3=J%C*G~<6ps}^sBj~^JH*vxhqvnBGKql6MpV*0W;aMtUkxiVCX-+6h(l<& zY$DO*fQ;Nl+JqDkiws%{f-Kj{9z7k*m-rF1K7)K*`yrg|sfQTf@F4dP5X{gsd*V$2 zvZw8B4`Y}*~Di7}LbV-$0sGt0|8rEx@$4YnRi7))`UXCRs;2x*Rr`wp4 zB46}6jGgCV(tm%NoO_VFr$=jO`{eJem*6vK^IEuJ{WNws* zXo<3Bjd^J+<#RS;gw>#czkcw11z+HBp?FK_d0ySaMCt6Ch?&wcf}3S&vR*bi|2d;cUbK<2(9R$CEXhFwLnb@+@mT~qmAIE zo(rh|VS>7nr3%26K$xTD^|3K9xcK8!f(@s*e(v?=-c1duEyu?YdOU*q*$@g%0+o;D z6n^!91WSkw?bQ3Oy_|jgHCl3mo^cja!aXyA6L(8pkNJ6riO@F7jI{7qp_ zG9bdCe#EGyF=|oeoxFH4oQI7|XU749WL4uj+g2%%YoehcF&`xOk2~_?=*L<<t^e+?5r4cf znSJz2vkvh>lz@clRGszU(|pQ>Y(ES=S(CRa7bm1SRB_aoWzl&(Rrg^|{nQNv@<6q3 zBrs^J{B`lFX9=n{C8cR$p~pvPu7Qz9^Dnb;!{9nnA{-B7sjDd%#Kvd* zmQHJY4MZ)!Ylk!NmwoCU22gZP+FHOHgIXdA%q{8cQu1yqHO(zG`}HDcgo{^|_bq%jB_NoBR(nCrjX997(5rQrRkeE*@P*(}ZRthY*MWs0vY#|1=- z{fP#b<80JoLj&xbI?%c2B@`?Dnl2M%6{@&Wk9~i6X4TvrIIow2?FSTy2QYKerfDs< z44r*_&mK;u8{O7bT5?;kjE4E@#r)!@N1P81f>VI~l@|!;>7hto*d#53iRYNVS26Zh;go%1R)63RKp+aGCdY4>&nAbA0qc&9cNd9<51( zrq}3yIqFbCc5oNl!xoW*5lwv`;&+ zjb)cWs2co=WupI1XqTO6XH*g{mDuXeg_=#wWPVNzxu^Rx;aE8xI^7wJ0cJsr^q@e9 znC64`5`939IA5c>P0VHA9RiaTb(iKv_lVRio!ALmmgcjjTcC4GNuu6gXAMBW$-?oN z6(-vq2nkJCLkk+yK~0JtQxMkS^rzLOyuE!p&O55~1+T8&m08<3^<3kF2M@jnj`QYK zqVu80zSieP*ax+`z{E2B=Xze4uk8GM24&!Tm?b0<7*q>EI`5nCUp8*Q&gx$4EgGl$ zg;E!sBS!lYkO#P84KBg>Pa!b(t%!yh<%h6WiYZ4p$t*p9)8o0;L)KTb#rOEW@G8^s z@mZ`m3iG>r{wzvE(?o+gO*#=cW%rfRH`c{_AE)3x+|w74%1nf)pFu$raRPN7ea(+8C%W0s!X#e7vqM zd-47Ail%o%OH9RQbvjrB`Y06yrIKpk+GR`pDZGynq=9SpkCJ$(7S7{QQqoWe<2J2# z^Rm;q%b`5N0gwO!Xx@8jGN3FrL9FYOi4$4BVo*f>4Rq6!<~9gqQU zJ}c~dG4Y$`@WIjEg|UTbmUA_Q;+CdTMU2_JqVIM@gou(OnfpT;=g>0mYDGXUG*;k_ z9Vwulob`{<98ZKz4mdfo)X+ZL}zu1DM~+U07%(i;$a2KXoI|^Gm75g>UY`H z0gyt$`L-KmO)Db1;&G*sGe)RhBU4JublGhKIc)XOxwp~{- zElumc-yT0;Pm&UgvAE~JyG?eindj1QF-7;cs>SewqB?i) zuKV3UmSd2dAPYWBK(SxaM!pVk1BzWAKOVi&B@gL)z4GWeEC3(1N4f*`jCrMIjxq__ z47>n10JzRQZ#0070&pw-hS|n!w;TOjl+Hp6HkjDC2rhZ3Eh+djdm#6Zz;b35o~-I_ zdScIJTE6Ezm(b4}@RRk`#!SgU*+>=jj?-zCG`%dw!{lm$h2=u7=}g(F=I8rob?!)Y zS(;p>h+>x?0Ir4DOI$x0A6n$)kTGhPq6mASzY}Q4`2@_9pMWg$b?<$OyRo&CZHK=8 z&A_)}-E^u4YekYSGixC?xH-hvf-00~a87gpXttaBi(25ZMbw zWJJ7H9U--Bb%VA^N3ef9V$*4HysR5YH7cX>#-QjpHlNKzmQ-t7gGZT#RK0r-(lt`~ z%gglhX6ilB0CsaEIvu>N>r6lN;}=$IIyynKd})H$nSa@s)cbhOjO5V(0Ho^i9Y8IG zk2bZ)vj;99`*is8{qfglhv~L(16i_U{VC=w_vuqBP$KI+VZgP0`7rN255-f3$wOnR-|nSpZvdTQ=Dw(| zTLgszLp8y%DRD8q>o|35tTk#2H7?tIAi@jTmj)i`@4s7zkwQ1uV!c~ThAt)2PAgU|6vx95P8rm z%n#V|dz$pt9IKRlEV;cche(tv=PTyd?|e@cJ_9vu`Qty=Xo9q>MbeK^!8l_I4V=ZU z?T}esd_%rRKv5Z|DcBR~Sd3N_ECBMIn-Yop&bUu>`xxJrxGtlaysqSa1LquWi+wU0 zihgOwuS?B?BDJM@Ruey%JYr-DlqwgVxa=CI0Al3wm$rE&fI;8&7K=MhCAeoZJx8_H zC$4gu5A|q1R^N7XjI6p~;~Wt1b}$x}-?`RRYG4*&8#$ifL$d;Vbi)uFgj3BW^UPK0 zVS+y_k#!@Rc0G4J&fBHQOB=6meK_JNaF?#A(&+6Roi*D`rJBZAk+LCT=>2opXx~ng zpGsrqnV8xf*Ie)u4jKq38d2Pb`9#Tc} zy+j9*f1tn5Q8%deat7@?&%JRHLG@enQWX=q2V^gd(9+;IlT0xK0B6T%0VaCp$yXIg zmoS`1Hi&?05q?LPo+zGg`Y^ZdQ;32Qwvi6ASin7+z#JH<*n)m^Y_fJX$&@!gAyz)e ztEqQ>$YB*^zFG{6Io(Dh%QSlyvjE)(!iCbcjhFYj^G5bzr+A~97_oFqXv|F2wQ1Td zq%3RP%nls3q^UFetw+>hVuFg*>g_jG3*1u<&4~|riaUGw4Q60@7OXDVlFN*5EQGsO zTveXm10kOGcwPHvQx@T%Wv%K}ovDpW43Ny#3Fuy+y7NOiL!35)mc|{RjM}Mp{dF9L zAsue0nd`nxPp~dbzccW@6=lou#c3hgGr_V1lYL0&x(b)0?&2>YBva zJ|)lS`t|mls~hncymKF2OFS&`?#nIO%u~k4s**y`SFa7*zmoj=3Wa|Cbo)LFDCp&t z`j4Vll0QH%n_Y2IZ^@cJ+VGBhz24ffPYUQ?A9U)fhG69*5C! zkNI8Xq09AGhNAN=_zOyQ5GR=h`(6|=F`{zkmlhPl=Gp$Vnc3vxKL89S4a*7 z9WoCP66n;G(Q2uno$=l%44Ip=?lA4J(}uf6wL*ShL=g>4^EYTwtzW6!Y$ zYwvaz=9|YB95phX<953TBV&znC4b+2Mq(f>E`I-(g81Xg)sxfZxUZ794e1ivMd!zT zd9Eo$(eF}Y!V7HzrxwfVep+$QE)L-)28>SmUY0g^H@Zm)to6CpUpu!fI#nQ9f34ya z;l{_8+#WofUu`#lYf8G98+S{7x+CtSJUz-uN9(`b^v;y!Ud2Zi)ln)XvlRn#>;4WR zrCPhOee_N&p_Cylqc&KgQ1W!&*@4?n^%w%q9AE=S-DhI)rJ_@YMvBMN(_b@Xr%jSR zA8znTde$}cemUej$wA`C|`_4np78~P+>hkgQJQMU7w@eSH z^`GNi+h2+&>i$}yvTjYz z$k2{BnJqc%FnF9g>#sIUJ!{^iuv$*gUZVPqw9S)Q#c7jh+nA4bJX%YLq({(RG>rfg z1nqEeI)89RExCT=DcOTrdmug^61A!~^7b9wrq_=2Bxxqea@*|P*iK=~nFWD>$=~*m zzblCy6mPc?Njz~bD4Z>EE;!XacDp!h{gpNUg{P3b=bkKV;Iq%6ohxkMp<%6}ab^GF z;$kXHuyEMw=T95T`-iF}a*4C@3~JKSPSz!N<5E(*5B24%rwc$g&yP>8;bl;-Ak-7IVV!g9MBg_50%X1oM3Z=Mtr`b&k|v0nxm0wf6}J25)$$upwQj~VlYt)e2n_;wkvTEOmy{ym+^0F;qDAM zd@xiwfo1zt;O?#yvH?E%I!nIpk*iHM+g&9-XRc3hJoEnE7vmrfIxv|?q>+`+bCQo}ZUhEP+#D?qpO9*!)r`RjEc%T)xD2?7GCnwdz=4jlvaT%@kywWNuwtOw#pZIN~5$WFhqNM!~ zJ?NcR!rdUd(+EF5zebHB_%pbd7u5e4x>La;SnSa0h#}KlS094!r2B%R$!ABueS#+^ z`rS3)a9a7aCd+`V-C+z0+k%w@YLp}AuKe2_HhJc=VZIp7u%y0 zYt78fISk4-RrR}t>L(W`;ZMVTaEVX#660g{Mn5%3mL{ z3siZXrkOH+({Cm`jNjGZ(1TwzD+p~O))a{ZoLB7>VdXlpCpH>Q_NcdRl(m@Q+J>m8 zL|wPbU1qv@gPl|l1P(PP9d~~@m@x8OeH?ps2>OuOO{7Wixv9PRWe5u!$w-oSM{tRc4Yy$P*Rip<#~2Ud!CN~kb*9WH!0 zIYw30jx1TwezQJuA}HuugPRSmeK!8Xu>0A3Qfv2!r^e3N%-S7qgn#J%sZCpd;fTY< z4oadWy$-V?*(9*btfUn6ZepUwX1qp2Ew`|`W#yDsmrfkLso1)(GIMeC+9PpSM((5_ zHbxCR$-y2~F|T+DPi8*wuO;%#6lbjrMJJTV6ZjXn#aKixCtG4bVI4A4xs! zONl5ZH_U~G)DYfZ&D;+S69`z@*h$B3A=%j2OnXo4^R2DBXqTeWg}LV1Z>m_D?C#3D zwY*BFK76sqfFCz52|FHbX*ov{8frBe!sN8Kmv+&obi@y0);^$`&TDwF805qtdhr8_ z@y5*)40;O&-y=&EAYapHt@MaeY@vZ`l_HsM!qP%_3udjk9?HteVGCvjE;fi1D2Mf` zEuh98(=NWRwrElfeZ7}+?0wcJ^NNMAVI5pb!f#gkcjxJ_CAtk>$PskO4fYR7J9F=P z^|12kCr!Q4|2ps7!C_J1_Ci?3+^lMw0igS^*J4K6Do}kQ(Ue;_K#z+TC#a4kT7zaU z6bya4qQYf$sDyJDE=4&~s<-_eU(dbw%jqc?V2`Q!z`vbYzBfv;IH9vwvoR^QgN}Av z)2Gfe=S@!cF>m~lfphQj0go(2aKTa3wPK?CH0E0c)yd@S2Gqnp1BKz1bHPM(=|0?f zHi4m30`4bs`CK8Q&oXe;mi(+jK1bbKn8BLkyd_$-8oRM3>=I6og3?DO7a5EyKG@F; zvL~1?Z(6Nm4J$>6|~@{z0QVJXrewL}gct~bt2 zd+^f~HguUf^&NDb(whNI!hZI?8Le{jFq}GIexp?~_5|YLzLw#ey1%e~d@s?U(KlNs z_SOI=x&N1DtC4CQEvSpjgP0iH76>V1J4K;;f0r2=TymH7!Yz40cgSjuo-WwI<({!o z&bb^KF)vAhCx<^5Mn~nkmWHbKQSFL`cdrztq)^GpXtklsv*?eNK}sI1W8QLR zrqLXnncjL$v@(+fU6RO>K;BAVYZ9H}Db$KklIBjnNBv>GN-nYV$rJje#j%IC;**ki zPSE`crBfNmwN+GMrDedpl$zz{sGstfEiSDi5-Y~ZO#hhKYcR2r&v8PHuP8w=H&T$2 z3*2N!lbjL*N{FWB1@pN^8`IJbnp&zk31tJSHY;`bFk{FyCSZ5uA_4&!{x zeC*=;uHsUX81)_raB{+>Py{>$S`&z^?d|9-OUtEDX-NxQu}A_u6Xk2VGnuc#%(Wc3z(0r^yfq zV2q^EBW%flPZd#;6(Co|#q;$u2f{mcfa{b(%x&*b4X$ef) z@doglFTQKO2onj&mp}%0GUvLRglDQq0XlQ1Qy7;Jfk`T+A?e!I2ZuYz3CU? zXb*}^eKX}~Yh|pm8voso0%;~im>ReCsWyB%(d1{kg~JvW=FQvVw<8jZSElk2*|g%Y z0eF$3XE_^uN&FSOGBvyT}*oF@^M8|+khQ~ht_(K5;=1{v}>bJquGQ_ zzAbor0V9bBLoh*pynH)CS$I&I6avh z%kQ|pab`v3Wp{UV^6Q2c<{Sh(Q!9z_YL9&@k{N2wjbv6&DAwnIR5qpM3FqyRvm1d< zZ{@KnY{{e|o!x2Y(O-F9wZTAEr@I2tvFT11ZNRy0OM=0{PumHBE@0=*jz%Yxg3qi2 zq@9WuWU+Le<&zLUq!FIAc*cZ|W`I#2k5-z3b6niNyBT5>)^Sv8s47S%ksA4Er!54~ z-Eq5;k+-*Zk$$E1Qd*GP+IxQyucARhbKq68$5i8Tk0a8&Ccnb81SCxXNr*kd7D#4x z_V)Vi9E9Dbiz?M^$nH-~Jvm(8#pF=i^4U3Ja^R|-8*Lkq!D2NZDVxijm+8CSb?Ude z$|8WsV=~ezoiG_=f;1dblSOM8`2s^eJTy1tlq(9KEc&&SqPC6INY)R0VwjaU_zeD- z_*6ECy&g~M!NHA%YT@+P(TtP#gJ)1v_eDe|rG&Ae`jnQ&&NvZ7JYjD#_xAR-bbp8X z#Wf?kC!Rl|()*J|T3gUx?OI9i$S?~Q_dPe1Bzic_2yxbWa4&%`xi=!A_}CGtcsksK z9YB>fpXM(#Z&~znRM7iiX?M1_l?Ta)?i3pA^=(q`%6l!D^hKy)&0eIJfPIF1L#@<% z*l<9)xLaUM>r$q;a!v~9+$?bsPEJ;lh{(gE7FJs$D=jNZ4t*)!W3ks(?9*7_$y>Xs zZT9v4@K`nWlS|vzpws>n?{{?85uqQw7LvA_PhQCAiD&sN=}A0Uwfh*P#Rkd!)~Aqs zU~3imDY{?eo1OD4A3d809lPj{#bM^zk|#NqW;OQ1>fo*?!bKzBn><20!jP5{W|$wQ zklnV9+^3oTQxA{hLIJay+_Cjq8@7x~&PS~oQF6+Q6G+mKM=vU@o_hK?PLwO@{B`~_ zyG|}~4xHV=A553YHdhDx5qBOr+45GcDe5g%=0NWo?L7={swQe@WTeZ`yeNFv(p}=! ztBO!65gPNc7{~fge<2!*&peRfJjt3xV?%i_J(mdVecZRSope&F_CF3)RhC&X z+$qs5JNwZw2Xu7_9hw8_)nMgH>I5)*FtmsaJJoxk(UX#j_kHxMXsI!d;>0-H41c zRc)}iIqDM?I+>Y_iV@POx;#&P0AZi|`Sqtn@+9{jTK1@TdU_t69_u!Z6zb`T$Nd#Z z5t)OcrpD>lpM0O0E7s#SY_`q~-QO64cL-i8nRPHw-gg;QxK`TCfvzzPh+O?4!_4gA z3h&*Wwdv|6CR$K1R1vE3c3qcPDDKYzYVwlr=>XU+Ub`{3b@8EcVijnB0rznbDw#XH zj6Fx5>njTL+wxZiDkAhbamcGowv+5~lA(M9E+GB7cfv+q`?KqZ6BC(#8}VHoxr4ut z-P_x{vyEk|Lz(;z6tXW-RsXzBmAU)lgwf>pTH&n|A%5P1e^WKAzD1i%+Fxyg0ub}J z_E#(nnsk2;|1Qwjlcb@cvE_3J02|PSmmumf?%%RC1@}V>@+21PH=AOA82AuwjQcFN ze-A8WXwKXpDc_3iZ`N9rF41G;hBUgP%YK6qq+W49fzUe|yQI1u$EY$Ilf_?-T~pVk z#IrQ^+CGpzqlko;?$;mYNYZic)kLy7x`leU3|$O8FZwx5ErY96-iOHY>`3pjb!2;f&555QzJR z$o_6+)aXi%igIA{*6$zZAq1Q0UlJ~wfix|h+D4v9#I`jjlzt2ek#g<1xfW^J*BUM@ zkP=_1SWKbkv5v09IrXk;C2A;2%flj+{wBCvb*#I#Hg~=UdIdO2z6nfE{-NB8gid}Y z*C^GOIHXN38|N|d_0H?P&O@QFCFEeV+dn>fFOk<_j8vB{OSAXW&puTk%jH^V{jKYM zr8MsYVvb4;)dg}p2zxlZ;tDZIf@p~sG5%JNRUE6bkBX|rMj^#iCEHUXMYlYscY!dZ z{V42@6Y<-XxFqOxbbxs7u*6WYhW6WA2dm-IO=G_CUzH*$-$zKd+;Z~(2#H99vSAvt z=wnXcG<92|6H-ME0@=-$`QD_@=t1-e>SSoB;L!tJIyD>xV|d&enZI94D{F*otjFZPm##7p7Vx0_n3loC#3oiH1S+O&3V<5o088b z-YYe$SuAYt98!4W@Q6A)dRVk8UW%vgf9zQ(#Qr*VyrCxp$}mS%@r=wXYbo}MD-bopdn+qB)+MH*aYFSZ;YAV-fL zCAkUK?3b#cj;Gw$_Z%-Z&e@n-zM0!nHJ13@j_Sji>SW%UX`!KsbJTL?5a41xJ!|cb zq?FLU?M_3pX~M&*Y!zt(To7w8M8dK8g9owX=Lku0iV?y@+h*oU|N5pgq|zRFm~>?u zZ$e$dtF$v({}c4C&ZFC?x*rE&k*C`UNkiUUKu4Kl;e}A z*WapNw)y=5jb?Z6n@~Z@y(uXpz5?1N>~wTyyONNLiuKAPTKN-A@tk^xMR-;sbS_O&&^7)R!XGH> z0+MrcueVhE>pZXxbC?6Y+RaJ6*+@b?UPss6eRzwM;*qD1n99F|F|X2mQ#ET%dUNui z<&mo)wEVv7J@C=#j2GsHh7wUFwY?`RSU^KJPEN-j(OkOwUKjwEq*Sfq25|O7kbHjL zf<|v3?_`SM+&6!;v@4~FvO=m~6*iyD5(7O`Ts(82tNOs?X&Uf>RdzPoEu0(&JS8R~ zB#fF-5`I>OInd(YsD_KZvVHISd~-NS>;eN6RG&jBZ%QM4p9dK=yV%VO zqNg+PQZ<+6HWoCpm#vju#|vXyAKpKq;CaWPAKG1uS2@Vi-T34tYry)~2Bq|{Dd0A` z_-PKA-C7fJ=#fhpHcnCRcuJ|op+={P!`gJ}^1K#(gj>Zz1GE^}iK2ml8vvYP@d^Ac zN>8!P)7zg4mmVlI#X!Cx#_>Y@xd9)99Bd6Av>V~<2CBXu=y!LmJjELC9-%}}z54(; z#3z{pN|9_n%QBz&+Ar!mmwLzOS1aQg+_gIS$Fq}#+#Fx7rPV0y%%qcn`_1jn3xpAq+-|2k%VzifTuh_1`2Gn@|u%GsjMGIIN|T&AR4;Dk1;k$%wyH zhcf4DhQ<=dY3f^4UK+8bQMGdsKN+4dthowGo#@OjE;7*Pj;HvIh{kqi4OmenQ4M_= z1MMlH>XTg@tp>oH?CeM7I;1LVA<0nSFy9H2(I~t%-|)}Urpz7Z*>YyG*iI4;`hkAb z#NzW&aBOsR#x$;<+fPNt4OLA}Hkv3X&i{Rz;~2OxGELbp4%YZ?rhhA1w~MqYQX?di zQR;t|)FUct_#u`1Le^yXMZhVvXx?Xc%YQlh`-^5cQj9mbH*v1y#*HKRqx(0byf=q; zILpbG6mg^8F>k<%WIS6~jrZEuBNi8bdi-{{@MTl&drA*$s!0uL`Y}De6*To+qoCS_r#PQD zN}=4UT36`6$48^QQri7Tc9+IX2R&sZ97u8AA}y4Kg(a8pZbid*tz@S26MW|NPLvh* z&2;+8G2avU{V(_vrY0Qjjn(*9r9hOw0DpYOD2z&s9%8S{!?qSY8XKR=<m+S#8-M`XZ z{}<`hH~h9O@}*z;yh7SdnmoOg*gE`G8>RuxOBEF_@VPi4`BJMsFM^NNcCdd8mdgft z038!vSz3R*We#qN*Ppl?hxg)9y^K%Y(A^!auQ4{`VJ#vI1Re;6t4m$?Gz^no5?+-) z0jCvBKfcEKKPv7FNol|3Q}mWwV}MCy$g=3%2~z=7m(cHJoU9=FdB4 zR6HQmXVJX44Ez9yO^VAyQIOSh^`HMg3@S>8n*#s;!=dit>vzrga$SwaqtESl_G_o= zJ|Zs)`w9}YAT|<9G3BsKHDNI$K2d(!EEUv0N%{eDR*C&BI_F-6?oPi zd-@!msxvQC;t*$;1In6BbilIf5FDVhs-i+H*?0lXq1%Gsv~G=5&l#NifD_6heD#&n z4DpGU^{({vqMX&?A<3n+mKo`Z4Gk|#Gszn>UH0V1#@axuvZMDy(52EFH;>+{9}LHD z5e+Jh2LEEG1nHa zTGp_{vdUP8D77svBvAxwmC}-_78jIik$Ma!m<+5{8EQ-xY8({Pk_|p<^fpXe+3p+# z!|6TRj21cUpnB=dMtx80U&_eI%ckuv^zham9Gg%5tZeX z5#z&+1$BvTdMtMc`Ce~OynX9$I6zMP{5jMH^|$&t3BZ~8eKviE3vaGV%gg#7SA*1q z(3IyZ2ryl1redH1?()25dPZvAfqy2tv8HHgM&A^<1!y}kS$hA&4Nf`F;*1IhX>&3|R_UGxeve-k-<4|Sai00M zU^9G+-x&M^@1Z?XocHD~2-wOVziPEZza^`x3%X8P%Q635N*b4zRNUpu-rQp(jUkJ> zUAfeUGxw)Y?_Z#BgAf&eiN8EZOr-!=DNlT0tECm-Ks2h};QeMj`HBGvW3@y=!ZBEz%lu z-tkVHN$f#vOs*f+RHydaPp0Va9|T-4zipR6l#{2fKuM=|cJYD!Frz5va6E-Y|G7eO z8(u-)KmBF`cj#psLgbF?Y``O?7h~eSsI<29w)85G;KSjbb(iD{NSWW`2-A(r_PN)U z45+j@5vMm&{7?ShJJ()^gWCeTI6yx>)I?>Go-^0(!J)iDx69@zAnbyPhc8HllL#PJ z*e*-+$08~YB@0L9>xOBYk8}k3s2eyl%(WYr$nWK! zuA7x(DM?B65Q@k)Br>xo85(={{x-^{8WQvAv)S_`@n1koo|pjHyigZaHKc4Mr*1Lt zv+qXYAjsmCiK=y)E*l6E5*85_e8-=p^{4?$waoJ-Z&zT)#B7XL(ybOf&ifssB(9hiF6gx? zufvzCoC~v45pCpOO+CIx7S^Fu*$f;3$)Ug68M&>d#x7>S^EVqa_oxjV9ml?P0=IQ? z?WR7$qNRK;H^sK6<@GJUz1EPfrNC8%)WR$~`y&ryanH}8AW$q%3Uj-=UVtkY%*W=>iKLC~k&KpuWCEsrkwh zq~sb-@Pbkh5gNYi`^sFl|ac1QRhiY%l_8M zF^`V;_rFYPzgD%CO$Kb?1tq@}znCaH`1wJuV8rj>L3pE&vVrvt_WjgLdSFR!Cd2Iw zK}#nlNquHiF%7imhlNozG%k+JwRg?e(6y52;pW^>Gc&Vb$tu=fHI6fT&8W>(yUn|W zYHQn5)red7MLd_Sta&?~E1OQ`kGE&CN^|@LD(xuMh~oQK4AyV5AHRE0?E-YZP$TfX zz`GkqVaO3{x%1F^?EQ6v2F+f?DIspZd#kH0Q8E(bF)pON_3O%utP88Mni`F%`7FP< zz&f%%=JSlZ>crsOJNW&Lh|q?H)A^{j!{(*(=k^ThnVR2YIPz8a>QstD?xD3WpOW0Z zW-40ddohhhNx?jIkI#OY?hX+XqQzW2FMX9g$1An(-pZM%?uHTPs;MC^F}@X*l~~%)9!`p69{a2wbrUsx z-=8Z;%a|CocR_``dE}dOa~ng$S`X6FXuk3kMo4RFy34QMB(l~PGnqC(d^7EHoNUZ2 zd&|bA$GtLDZR+jaR)3(UD3w}ihuzsB$S0d$S}OD%UUNHG8zznJcGgl=Rb^`hLCb|? z3PR|qDJ$-hQ^)R|*jx>Gf@Qk@&@S9B*FPaR(%*Krpn0jfIlDTv3jC#*+uhw=DO#q| z;+-lurCO}(G?WCT}BYa0HwV_k*?G5CfXtDZ^DR(2uzLX)=Y;fuhRV1(nR*2J@~v!so6gjbj*IZnB@?x zS~ULoN`ZK>lOjT1Y2B^308LLrOEw;59ZV&#eUVQU-rUKR3hMwB$$;Cngi=#)topFI zw>0W_x@YX6oH4Cq=~A%R;mC3#D4|%9ZQ1;oQ7N4$T7WB8QYt-tcLDepUCp&Z4(*%H zPhx>SFp_)PES7K~yhSMIBcA1;U5v$e9ZdP0=#T>$>%S4X6Om9-HN`)BY&~TN4G9z6N|1JLTVM$GbIIy|wv6iG?1!p>1y9f20<5KVX%JC||Q7d*CxG zL@?Fi_!|yA-W2IpURTF@{Wf7Y-=poKm2~{3+UA8r3kwUxZX5q8`MU?^LNx9M$5bya zRlM(RBe7ro`7e6kArwyzR(3{Pf*co-XaR_9>9e_0*djgV~=H2fwiNbs)AKk#OL6oQP!Q@)H-$kmqoQ1_m zOBCWWhdoiWHP<4{Yw5KVJKP1i;);8EEP#<6JwH7>+Mg>=DAl{r6P~|l*h4I@xYavv zHSwB`KauKlvBHiw+}`ig3If@eJhMr(%^o~X0_1*%$J0w|T9vGj-lAjV1)NIEeLBz(*>qN>TmA1^;fNJ?ZH*(;3Hzns?O!nc z@h_zJcC&#=M5XVB?!v?msD@us(8cL3?eq>L(zJ~)w&13g+x*jbnd2}zS(Yo2t*k>W z=Ir-S`Y7^Tfy5iJxz^8k@yxV~kSoV^ZSbY|bFNATrDM&piRwN3%Ye$g&bfN`CWWyI ztCg-iu7P6~omzi65U&~0FT%P1<7Gl5An{|LF`I?GaU8E0Zdb2s>4eCw9royWY9jLs zkA0rq@e$H7E{y>A43fwt9Vg&g;=YZDDSy*nIEw(D)$BskjKwp@ABmVAmjws)Ye3kd z(IP-#oWc+Sn$+Ah0rUO~ueDQk6)5V0;MKh2}Ed%uzWI z(dj~KatjL>J6>9TSF;^VA#kt8A%6VOXh)oW2|a7t-lFd=@o*7vJL!orFC^nINJ_MP z5N+gtmZK3-*sVe<=6sU8<*#4q5Zh@+Mg*dSiq{gE8tOeZj#fKn5@f+_1XO}1+!Q<% zk%Q`SR6@tF)W;GQ-McD)^zq&pd*wS!)Wdtp$KRQl^kew)nnOK(d=RH2(u9PBL|)53 zd?>1yzwH~3)%$6AqQ^%LIg77XWl(vu$7&y}m-zkTr*GFUAa@>6mCsJx#rK;FlmelfZff$cskOf{-GtJRh% zy@kKdwOfr%^IK6Ml4*RHzn+Q>9V^Y+xq?+}5Z3u=~j((1Oq#N2fq+ z9rPKT8hRc&cRw~#O6PL;37SCIRNr<#FO)|H%_`fwkArp|pSLedrUuf*l=i;WtqjiG za=~Af@)cMJ;>h*go;l)+zYJ>?5%I>Z=lH_H;GecW-QH@}yF_}u4{SCjs#Qg$j9B6J zrw$7(r=~`g@^OWzH48t!g-pUW-~AsC7pf1xf2Hdxfz?)5?&lLlx0kqKLJ>|fNwZiB zixt)=VebL+a?JNZf{Ojb6|AY0mA52DXGR7CFE}vYmTRgnbK-$ z7#iZ1Gl4)jVBS*48K@Nso+8UVaTx7HjRMrXJ0EHJ6fkAsi~T$xvDl5u-O<5p9~7Ogo9leP6wjUBv#Q*Qz3OAk zl=dAjU?FJG@`rP~Qp!}B^#m-{heN+H<#Sw0+-EAiqo3@(j=tBM5iM*&9$Vx@<`k$S z);kHNlzasNEpK}%cpTl&NBvF-m}zSqFz7Nb%jBi;W}H*MPy@-DE(>vNr=7^adU^y- zMX~`D3kg~&rDx5N_ctmtu)L(&YxNI{d94-cVJ^BKNW~jT_LOa=EtmT`CcO z79qxVbZ>FTYZvIAD9&b)FXM~~LO^z_x3?^0yAoy>({gTmpVeCm_kdrD1bKVxZqkKh%`(bU85 z3NQK2c(qNzs9iG91Q~tLTHi-C|8p6XgxEhTJH2(FHG7AnltrW-bFnq9Fw$H0g#4Jh zh}Ia|FxOshaEjpfVQ;f2hg925WpzL`N(~jn?*|t)Q-g4aMb=NBKC25{BiE>a&uW6i zi$8v$jD2l}9Mb65A+Q?TiRVUd8yg#)iE}N?Ey6m2u!N1(e#zP0nn2oWvVA#RgGz0T z^Z5Ds()ie9LGANA>}v>!!eEFuNt&4%ZTM@Y+6U>O08{Bb+2mR?U}m;%YMPqe^-M_q zQ6h5t72Wv3hF^Q7lE~yYuh@)?7u_X5^4C~*!wh@~Mg@F9X30|(iB~3rfHU+N)sfJq zZ@1ZU#OWtvsriM^TKOPRQ~?3&g!9*(dp>|hzW19Sha4itoXZvTfdBC zNTLIZ6J{$GkIEBD=s%eANsKq(lyOa3LU8#sLA1Bln?NHFCl*R2<}WJ_RC_cUEs>=X zbhhN;#P%fa#veagD>7HhqkD;{^rJz;F4mXzF2|{5Z!Om%OS+M-|L4#m!%CH7Z)~8U zSnoxbYK8sUqK^aBjhTOqjM9N52iOlCzOQt#p|{GXs!=0MKD za6b1J9&0PK3%_w|fg7u4F>y4|P15~^HIoq9;=u%u;y9cJR!aI6zYW_^@-zyr+YZE# zDvA2IHL9kLe=PuIwGB1C!5lOMIpmLyA{=vYRtPMR6KroIp1-o$t1*z3{hXG@na__X z33pphsvPK=Y+?JtS2H!0XN(}6@-fI9Ftf10r@XLf$`qbNv!y4VS6ZxpE)1J58fzYZ zR8Q)2p(^f4O=LY$|KZ>e=-kKtd@5gLt#y`nD+zcn#VNT4{(VoU?H3Ds02P#M=6Sp@ z&Rq}L#RM1A89plX-5fvWT@ZOD$e=kkyS8S^3^$)(Um7H9E#A;$rEOD4ak)5?Sbzde zv23QaQOvokjxd*{TdUU2*-gK#Ce`OMuSeia_SNh;A^sNMcJ$QsVBP*V@7^uq98Y$F zD5Gd6>wI_myAoLMgtZv?BA*MrH~;Hj^I&QsXAh53N_V$0W+Ph1?$FO!StN4RMhdAJ zvU`I_u9z6reQ$(eX@Kqi-)n)dbCJEr7tn4L;*=mfH0DuQXl*U(m$Rep;Yg_#b|{){ zfYGBZW!zk(xq_!X3Jteyu3)XQI2b4ub!3K5CvKhWuTC{s*0R?q4rKZ;b}!LMDKW9W zi0Fv(lx_TTG9)jVDcAV$LUiaGAdyKR7CCR>GIy)d7MCwE^SWD^yT+H8xldm#u09?c4Y?Lt>9PnX`1A;0h3Z^;e16 zCmSr;e;nQ{vC|pf=>z)kYrb@t_68(d_9j`T)_|-iUCfjRQ~DO7p|rmm+XENFiLM@C zK_^Ckaf956-z5qWVvD`%qV27WJzuyS$3MaosuqB`5O*xjL(yARD!Ms5w+ay#>(}E4 zw~3|f$H&xMGSkx)J@c$Pcez$7t@HD(yOuztl~KR~+yg^Fs=K%PZQ2$$;d}9Om_~As z{Aq=2*KZphd`j`jfdhA<<73o^F3Ctqs9b|47Q>eT_91g1&+uMz_0!*(16GiqEtlRd zAesSx|M;<|={l{3;Phwt92k1D=Hu^tautu|pdg@S=RIKn)<~G8Vfp@8XZwz+l2j_C z(-v_;1Cef}cP?y$&ANLf4?02@!|O0*d`$Il8Uxb%%;iU*bZteLI)yPB5)#jT1H=~1 z?}?Zi;C~J{g^55aw!Y8sVU9aggOZc=4nElcL&oemBfZg<>U&kq#_!n`ZKjv(CcF?h z`PQ^Js4j+DZhD}{5Xi&G0KLUilIW9z7F5YmGr`7$c1@Mdfa}7b5gYL)nJ?iwPDFZAB_Ro1@GEhVB<-N0i{rP|1^a${h`Si2;}TJpXmlpl_wZx8XwQ?gaf%R z+z!gxlq|&Eqc^*)uE&mnP>~;{UDqU&l63Gvp|^vrlgY-jwMPh$*BC@g;V|ZMsNWOY z-{ifbnvxwum8l{=bvljg7sd4n8pEA-T$&qbtLKRrVwsJC_DYIV%^u~L@sbKELs*3x zfWMGY;h2|?FF+YcuqbM=;i6t@AFL5=b3$6$z}N2YEqv^wPa(h(TM>D)yi00ZnkpDj zNF}Bz?!GzBH$SihqY^Rpn~}`i*;>HWtc~(>AN)- z8uny5nK_zIHkWG|bZgGG=NdVh(#-vi!(=*N)A((6#TT+dlk5z-6-u%K7I;kC73weO zagO7|p?xQKxy@vw@y(-gom=FUJD0mbRl&GxH<4p3kqDKwu^HbX&IL#-Xr}>$|A!D% zInwxvkdP3=p~;Itqc?%g^}V5j#Hq=)MU;{njE+VCDh4?AP@ZA2t6&Yk z-`@2CJ`DtC$-M#!PutUxu`z*U-mMPcAW<7cB3s@()9&A*gSgp*NWMo2xE^Vrkxt0D zHk1H+NeBdrjy1~YPsa1$>;*lS^HP6`icS^l@!rcPb6vFCzX*!{;AZE1J}Qa7#$%)H z*gax!$T5lT?L{I%EThO)+xylxzxf=;`5PTJ=HrF{qtOwhTFAVVyG2@=-qoPCxgo4! z_NbafYqqr`rcgM2z?7jQaz?r-Wxmbe%TITKvtc_#tG=h#1Z6LZ@4;1OSG-Z!E%vg~ zn49c@`kS{>{u>MMPu=L4RZ~;8e$R|5+-LKTYd%-w_wVoi)2jQjuSoYRu73Bux262( zRqxGsxzdn(16L?Ap0bJ;i~^{pL-H=+s<5rA?nZb_QLVeY^nZOA+FQG{Wj5|58^8R2hk{+b&w}6cjhp`}?&ox3T3VxhKg53pUl17HipiCg)Kt_Y$PAa&(1dZ) zv9@D!!=WLV;bu#Tl&9C@^#YqQSNI~UowA>T6{;cqS=J?FU&joF-=t+X|kS(n{Ic3V1{T!4TTm|i|q+jf}zOQiT=!Kk^ zyt0xG>>K0xO6u?5MBEmsStt`2!SIoCV`)h>c=>K_A`{D3#U~P)-Jc-f_Gt^1Va!A~ zQiO#8;I69260N^{yy~?Mu z0C15c@)JBRFYmMGfHZ&|Z8Z4J2YrHWA7~Zwe!l~Lre9%<5@9X^Crrw3HD&$7$#Md( zh$CwI_rC~5pZ)!ti%=B}B>BFey{FZudLG;})4S*T%9?33y!#=K)IciYVO*>> zoe?Lch`zefqf7AW1zfd3@{LnQfBtg!0Qm!LR$WpZfwtv)cXGdR+`fI1H(J{|4ibd{ z;3B^GTf+M8HuiKeB8;@eQO--7SXX@CMt$}{q-4*1-AiJY)zS!X3`l25EXksZs@DeS z9clvEjRe|#hKGF&Dp}Scjag{ob6QerOhQt0JTb{MvdBL#qH=y5yZjr}>B4^b0}dyA zj?;HxyaskFjpp!oD0$k`79E#jjbHxMHJ7-$X%pv7=DJpE7R@W4siWI1y`wN?x_<^18dtbSD|nbUGLsl7|>tg025&$C@P0DxYDm&;rAJK#{e&{Zp5>J zgX=CAviB$F)z>!KivFDWjJS9isu}5Of?MqLLf1mMFY^QN@J7{lzrH=OeHB6P?$4I>*Z}AK#aJG5(Q^SU5Q1# zhkZyNG8JzT-F7u^ps#+|y{?+2kS}lLMCIrH@Dp|Qx8H8HUni#w`rI`fe>Dz|B!14;g3#E3*K+DEZH0 zyCUvVlaR1FsTfb`3oXpe5r=D#UR}xiwSMC!ODj>|{l_lKkFZYVP1Acz90|s9S65%a zO{huK>)bp6v!$~3bGA%%K7*x1z}(9IWcKFmQxV<`PnO`P4&+aB8C{!EeMN11*LD(^ zqWd2|#t1O}d4}{L*K+`n%jVTa)N@J`y$-*tA9V8g;{h{_O5m&a`PHC|pXIQ>Wf_d& zk7u2BNfuubsv8p|zS9sADOmpgLmD;l2Vi9pY^Qq%Q44*Zgrg6b{?^6Ku84BlAMFIb zTy{-@tBF{uz<;EoQmf#F^RMo>^{aviAZY&li;>*XdV4LI^gpBGEJtQutjs@v$$wQX zO5o?r>X4*VPrA@52j+KHR-6gn6_k&sepg0@Ik{%tsjRFrO#BWTiEC;sw5~3#Z1jV^L+$7z+=R=iQ>*?LSNgS@tx@Q%x_W;4rRNS0FRnZ` z_Z#?~S{Gw4xnJIcF8(3Fom;;S_kK!X*W2(kz8a-0K*IWuvbk_{ke7tB+QX&959|Xf z66Eaqx<{zzxf6d#nI+{z09%98Ow58UoJL8VWa6z{QWVRB=nbJmyV1Jhr+t59rR+p- z@-c6v?C=m-RR-W6^>DB9!uB{avhiX=YUiG0$LaD^e6pcH-Gdq5)bhhR!feKV*!2H zUfg-P*?DlWIr`5EW;6lJ{{llRk;O(DT{1z9u-kMhYLG3zPQ!SOF;Wti&Y$|_%Se?> z%WT?zc1G_WPPYc2VmJ40F$NFulkv~fD$P&dVCSu!pjFLk_P$mbOFXwIRP#ooMBTxD z;!p&Dz64ai3tyf)p=|$%Q@gr1up&M#u3|ksfE+m86B5`_hR4P6+Smk$;=E`1PhQ=v zLGl{CyRM3y6U!wg?4RLzgPpCK^xy18YyA3aHhk(`>x)f8+<_-QLgP`xIdNh;tW?aVq>=XDBDL7;E{u8=_HC{TK8gP(6bthQ(~ScsmFW6Z{iip9`s+Nue1|AsO^Ewx zk!J6gVUTZpety>2D2#tAhywqQKGXV!n*xdCij9c{8AN>`RQk}a2fnOruJzVf^f-!b z;aRH;f&4T?;ugD2B#X;?*012|D0HA)_Vry&lS`DtocmLqsrEs=iL6pEwhH-~n>{5Qy=qosB$bHg5-yv!wP@Oi!`!A-2LTD{ z_jg3w?76u(A2Crbx%g%dyH6;^pWjpQw}8cUYW3`PUi43%Brz3EX9}OqT^+K8$hj?9 z#igeNWUR?m*`W*q>hSaD1>!37u6E@iBxBxxcS$gkuLZ{`FG4=Jx;YE0IzKUG(eC*% zFL77+uB-4Riwqo8pTzF{oEnqmv|;Y7%5HRbEZ;#p!y*|UNL?e>`WZ1hvOYSt;qJoh zx~#-G{wCMB1k64J~Qaiq2gEzUs@Y_<) z_KBdo+mH}Lqx9q$%qK}oIxnp{H|ZjA)3V>~2{*G%o$>(Xy>*r!CF~;~?j_V-%>H`) z@}H~4gDLNbO!loMtlh(s1o+)bkou_` z*`KdR+?{X`gGT?f9MlkTCt~LIik|iGah`w5OVob(j(NVa-mh1Z*}rq`&&-WGICh`qaf+3CCOMpG&N zl&X%hi4egW68E|_Yq>iIv(5`I+OOj;eKDTt`2^{P--EHROenH{FlUDiSy=i+!)2lk z4AyBkU1#3i7IY~>T-ddWuwKrmZd2kqd2hDBR=an zt@_1JgG#JyxhMNGW$LKI80!ZQH|AZZqN0{!_mjXn}oAw z?Fq9E9!{B1=z?J0KH<}t$nUK?DiXXxaDErfYC$-OLDBYG33ryNN`vs#Rfx^UXI&nl zKU)Qq*Tr75!00abIZ!r7+)|n;DeFa;ZpzB2iKQ0N4_QveF1NDJP_$l&bA^wba{v=> z_Zqd4QAbi^=Js`J=EYGm%F3n1eti%(uefLukeD4vLfRm`bDe~=h5R(0JXpu^@>SJE z&7Y&qWMI53f;QzwVO-V`*Y|4ppMUOvv%$!r^WR^MQ7f6n?m_FMJ4*@KY|PnF;~JAa z5_e@DQLPltcKn-Jr~vhvR9+E(Y`)w7510_|f3;Ez^0+LK6?gJZ zSc%TW^rr>@r`6}Q{1wN4Sp=IImP>ifD`Cl+qCTO$g3iL|lxnVra?sX+&HxLDoy}?0 zyDaSY{5x9NLOG=;^H61kN2ZZ3j_;5Er-g^OKlnL~#XeQs=_o*012H9ofXM5AAlSEW zVdQ2y%ahN#t*K#44$`7(__Aw)8V}{Ig0`dv&{P9aZZPtH#&l@;9`(FB3vZ9gF2Uxgg`x2DwH;ldI za~9@Tl|5J6yqJC^+Lh7^n`kh{@zgy8ImSVcV{|ea_g*jYG0wXY*Xr$^-tA4FKh$ft zX|W#T3i)CX2&rIf^k$HI#M$w7pp5s`7_Tv!!fk_sNr1kaUa2tkcaL0!IT@61P#zZ0As7Y@fv&}a^hvGjtQge$=76Yg;R=nlILYS#GCW6 zQ1krV1B`m&NCv$z(*XPQ1+MsellLZ~HAbYvV^_S4RC_4c$tt4|2FxS&WJ%>&*!HI; z_ad^Hwox0glu`~C9~ ze~)`f1+M;?=YLJ(R2zrK(^*xQrm&27@Xk=ErnwI)SAdiTsrtcBhVPnzG;A!E8gC>2o6F5hH6DDn? z1N($Z2vO)9;s9d|#Xci$G)Z>CZ17XPQ@|2&jyFn8*rFdHjPYQDD%l&sYR|dWd%BlZ zC}Q?+2*U&0l`~1_e1!1b*iu4i0-vn{EXyyuX>soM{BkG~QO^T#;^A?}O*VN_9s}3* z;;?;QDqMTe2>rMS>ho|R7rRgVft(g#b5q>Ba#^vFxA8^f5^?R0%(`s&GLn)GswP&SC6>t@vhNP#*{=}G&hBG2s3g{z;-Zmy&G$< zISV)gn~aA!rcMf!_nIkUX8@GLCK8p3`Z5m9=%kc!k6Vtcsz|Rr4cFA$tKIWvwx3P~ zl@o;M_DBwiE>SA!`vE)5RHE3tMEiHlg=by^7pN;_(<5;+0Aw-5g7LA(RKas=yk2)_ zL@=9gj~9<>vsyzF`mfWHbK~JU;&tocq3o+TDjt23 zP;QQIzbsDzTaxW2J*6aeOWybWwhdn79C4_o{*VR2UxR@TpcNwUSe?qJn{}_cyR!tZY;oBG7d}hRqm%xaq|YCVt0azBEIIJ%@V>BWy+b zwD%7C&+Sja(r4x(l4pIbT#5ZPP^5^L%l!k+0q?3#>7A_t-HJn(;agS%Mphm%2im_N zHEaFu`eDe6ruaa(N;A4OO1`HyizuSb!yO{;f%Ma}@M^;`L&G1ki+)7Jr~8?-JhgIy zg`(M-YUaqxiOl&JkQ|i3UJYJ@+ZX77W&*Pg=v)i?FbgPJ^ris~UAE<;(Y%X~i&L?d zy#gk8-CXa8$hk5{Z!9AHcLBJ^p672*-n6Nt>N^whYX(%ri+X3aK4Oaw#4V!ay})>X+BvOT3MzVf7ty=Ct~4sWJ)W5la|Uf z3VH~Fo_RD_Y@U*w?TT_M+G0BECR?x3;!ar2sht5@k}AKS=OT}E$!@E8St{mvaMoJ4 zkL~)ajf36V?kivZazkNB3~cH(a`fAXQ<0r!=C_3lRq$hGLE-cy$uDd{y zFkcfnw4skw%SRz!xPUAAlrO(Zl6ah8{A0hLVHlV;RVFO#L~TS_94Uq;^yTy`mzTT7 zwr2Hp2IzGxh7RPTz?r-FT{Z4oGS1takjRohi!`|h26SB&gM$)emVTzXXCaz=_{{z`}0b++r9`{=hI#& z<^s9DI>#g9p|-Ja-mQCaX^)eyIQYj3Snv*9gIM#{Znaa>dpZVpx9v`~ z??RiC{^Wf3?TdVULK>Q_Ld#q5C~ngw1NrzYf2kT#sB0jtO8GdLyRT>j!(_BPN-QlY z1HPbg8S!RjWp#>PX>ro^m|08ppoKmxQW5uK$zy<~l|BysE6T_`zu?^ytw%xQWv#0_ z8)14Q3y|QeO;h+Zuv~x9;V=n!2XB_Y)M$N4#@Kb?-}1Sn{!ELWKxQ9EVy~rX zs9O9b)xN@wT`eds5T#b zn|0T7dpxyg}bZHnmcA+Xvd`uS8lW^ebyOi6O z^>BoSnqQJ%W_5LS-et#KUK$>6zv`~}&AFo89|8nNjIHTY>*Yg&C}!C2fEawsq$LgG z9K}*KVh{#xedl^&O9)5LBRAZs{45z!7l~hD0*O$hyMIto4p@^)aG!2tuD~QCPzl&y z%gd;SKEyqENW^TfLFU|=+X%&RG+H#u6E6BzBR)k9a0%x*cv0Gu42Y~c2kq4#j~u+0 z3C$Fg^yoW;(hW4~eypwc3vk={kDCe)dtS5L9u&-?TnE4Hq(5~5B9;r5gKYj zWMHYg6v?Z}3!~_3T>dS+A}9&s@ugu(yI<$;D$fC_#puIa#yx%EMlJ9?1)m$6Yis?j z?G^7rzQL6Va)O7LJ0*zT?gJKjP@{-CmMKzgs~rCOna#g96F`{$F-nB!&hfGEA`ZW3 z8evF0)~ht_Eb~_B_PxAa`omg{eNajJ$Sn_C?%K>_Uv#-jEdEs&fmx;3up82Z+s&`v z99p*yp-U^|)t>=f$fBLZ)c>*AH&^A`WeX47av2Nwxv{f_hyEg2_H*K9kf+I#VRhsi zZ`QbUqx=U3X{$In=Az79Ex?l>Pl&YKX*f}#nS2eb$2Vvfb|aQgXP~-;7BaW)Gf+J- z<@hZ`-lKYG;*s=o*N3dD|Ha`461mad8SW^HxE~4F6Xv3t@qukhF%~4*WzQD!)Vx)< z1A*3u>kHL7aw)8nUY)3L-~N=xruWfYnO(zz-uQ0D{iM61;hXH5T9Zp#;wOpMXt&9; zhU6QzcqjV3oBD=uB{Z(6Km82l30Q-4liWoi|=J|3B{>xDDQqC(~sW;NB(F#(c@?y=A z9Ds#KR`FKf>#X4LoHzgVCYl1!-YzvBtC%r4RLI*=3vjm}wTBYXDDp?%@NMH8Ji%YB z&dVuT$s$Bh<=ZZ-oTaTzl9;9W_S8w-BIGv{W~l>=bCK)Bahridnghh8e4(Tm0n=$& zlKqdH3G$=;nsxnmkS0Ms-HLa4NK9bIjk#k8osbz>%FO#<8hOXzjSzM=$UM;&&kgeA zD!08etlm!4$Ui0WV|DYs@PhOtvug3M>IHP8KdtS@$cn3&TUPcGn^~>BqICua8>`ns zePWbbw#_WZOgh`};HfXi9p6RS;jYIzndRHb>&rtR6OyIGuqo8)==RF45;h!K!_KNZ zy)R;AiJ6@N8o4*g%(`$AHly<%YX&5I&y0zuHvP*PH~s#5p?_jSYDC#zHi>52=cr9< zQdEaQ?F9Zq%zrw~pRT?1LB^7Ob|7me_KHN5b$|whP=^_PxU>DHPLKFl%d--v33oyt zCX4xbg1RAeN_Z99rWnLKrcu&p~oF#B)mC z&g`D{pW;HHJaJ{}J!hgti=geq1*omg#4pnD$C`hcC*HhWSPecuDc~aJAz>W~@eH}A zc1kKKtlu2>#r9lYnmHFS_yeIjho|zvRorFaO4D|wouLwPjZjkKdU>pO?NG&)a<)6! zXZBUM=^J?KKX9U?0BrD_Y&zNOLD35G@{7yHvu35bsC08nMs-;NZIAb!pfA+%UbA^L z2tf!eU|U;^&`9cGo|e}pDK-D26#GNYgdk!m;nOGoJ!E`@pd7Fzw~(T*;sw1S(cJQ+ z{>EFIeR;JDuD(MkTrOQJQI?&ythOK*JH-kRtZHIeh($35G`J4BI?qICP5(_fSho2n z;T*Fl@jQLsgC+6^bhqiSUK7w+Nr^sua2_+2cw1?5^UF#z4_CXl7>7q=oCj#PwX!qC7KhlFiMmm(+_n-X_m^I>a literal 0 HcmV?d00001 diff --git a/plugins/tools/batch-install-plugins/v1.1.0.md b/plugins/tools/batch-install-plugins/v1.1.0.md new file mode 100644 index 0000000..dbe7766 --- /dev/null +++ b/plugins/tools/batch-install-plugins/v1.1.0.md @@ -0,0 +1,36 @@ +[![](https://img.shields.io/badge/OpenWebUI%20Community-Get%20Plugin-blue?style=for-the-badge)](https://openwebui.com/t/fujie/batch_install_plugins) + +## Overview + +Batch Install Plugins from GitHub v1.1.0 upgrades the install confirmation step into an interactive plugin picker powered by the OpenWebUI `execute` event. Users can now review the filtered plugin list in a browser dialog, uncheck anything they do not want, and install only the selected subset. + +**[📖 README](https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/README.md)** + +## Highlights + +- **Interactive Selection Dialog**: Opens a checkbox-based browser dialog with type filters, keyword search, and visible plugin descriptions +- **Multi-Repository Input**: Accepts multiple `owner/repo` values in one request and groups the dialog by repository +- **Selective Installation**: The install loop now runs only for the plugins the user keeps selected +- **Repository Context**: Displays the current repository and only shows useful exclusion information inside the dialog +- **Localized UI**: Dialog controls are localized for all supported languages +- **No Workflow Regression**: Existing discovery, filtering, auto-update, and fallback connection logic remain unchanged + +## Technical Notes + +- Replaced the install confirmation step with `__event_call__({"type": "execute"})` +- Added a repository parser plus multi-repository discovery fan-out before filtering and installation +- Returns a structured payload containing `confirmed` and `selected_ids` +- Preserves the existing 120-second timeout for user interaction +- Keeps installation ordering aligned with the requested repository order and filtered candidate list + +## Validation + +- Python syntax validated with `python -m py_compile plugins/tools/batch-install-plugins/batch_install_plugins.py` +- README and mirrored docs updated to match the new interactive selection flow + +## Upgrade Notes + +- No new Valves are required +- Existing prompts continue to work +- Users now get a plugin picker before installation begins +- One request can now merge multiple repositories into the same selection dialog diff --git a/plugins/tools/batch-install-plugins/v1.1.0_CN.md b/plugins/tools/batch-install-plugins/v1.1.0_CN.md new file mode 100644 index 0000000..13702ce --- /dev/null +++ b/plugins/tools/batch-install-plugins/v1.1.0_CN.md @@ -0,0 +1,36 @@ +[![](https://img.shields.io/badge/OpenWebUI%20Community-Get%20Plugin-blue?style=for-the-badge)](https://openwebui.com/t/fujie/batch_install_plugins) + +## 概述 + +Batch Install Plugins from GitHub v1.1.0 将原本的安装确认步骤升级为基于 OpenWebUI `execute` 事件的交互式插件选择器。现在,用户可以先在浏览器对话框中查看过滤后的插件列表,取消勾选不想安装的项,然后只安装最终选中的插件子集。 + +**[📖 README](https://github.com/Fu-Jie/openwebui-extensions/blob/main/plugins/tools/batch-install-plugins/README_CN.md)** + +## 亮点 + +- **交互式选择对话框**:不再只使用基础 confirmation 事件,而是打开带类型筛选、关键词搜索、描述信息和复选框的浏览器对话框 +- **多仓库输入**:一次请求支持多个 `owner/repo`,并在对话框中按仓库分组展示 +- **选择性安装**:安装循环只会处理用户最终保留勾选的插件 +- **仓库上下文**:对话框中会显示当前仓库,并且只展示真正有用的排除信息 +- **本地化 UI**:对话框控件已为所有支持语言提供本地化文本 +- **工作流不回退**:原有的插件发现、过滤、自动更新和连接回退逻辑保持不变 + +## 技术说明 + +- 使用 `__event_call__({"type": "execute"})` 替换安装确认步骤 +- 新增仓库解析和多仓库发现聚合流程,再进入过滤与安装阶段 +- 返回包含 `confirmed` 与 `selected_ids` 的结构化结果 +- 保留原有的 120 秒用户交互超时时间 +- 安装顺序仍与用户传入的仓库顺序和过滤后的候选列表保持一致 + +## 验证 + +- 已通过 `python -m py_compile plugins/tools/batch-install-plugins/batch_install_plugins.py` 进行 Python 语法校验 +- README 与镜像文档已同步为新的交互式选择流程 + +## 升级说明 + +- 不需要新增 Valves +- 现有提示词仍可继续使用 +- 安装开始前会新增一个插件选择器步骤 +- 现在单次请求就可以把多个仓库合并到同一个选择对话框