From 266fcec731d23d47b5ca9e923b365690f727fb29 Mon Sep 17 00:00:00 2001 From: "evan.liu" <583229071@qq.com> Date: Fri, 4 Sep 2026 16:01:41 +0800 Subject: [PATCH] =?UTF-8?q?mcm-ddc-ble=20V1.00.18:=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E6=95=B4=E7=90=86(=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E6=95=B4=E5=8C=85mothercup=5Fble=5Fprod,OTA=E5=8D=95=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=8F=91=E5=B8=83=E4=BB=B6mothercup=5Fble=5Fota);?= =?UTF-8?q?=E5=90=88=E5=B9=B6OTA=E5=8C=85=E5=A4=B4=E6=89=A9=E4=B8=BA52B(?= =?UTF-8?q?=E6=96=B0=E5=A2=9Ehdr=5Flen/total=5Fsize/payload=5Fcrc,?= =?UTF-8?q?=E5=8E=9Fjson=E6=B8=85=E5=8D=95=E4=BF=A1=E6=81=AF=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E6=94=B6=E8=BF=9B=E5=A4=B4=E9=83=A8,=E5=8D=95?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=8F=91=E5=B8=83);merge=5Fimage.py=E6=96=B0?= =?UTF-8?q?=E5=A2=9E--combo-name;ble=5Fota=5Fupdate.py/ble=5Fota.bat=20PC?= =?UTF-8?q?=E7=AB=AFBLE=20OTA=E5=8D=87=E7=BA=A7=E5=99=A8(=E5=AE=9E?= =?UTF-8?q?=E9=AA=8C=E6=80=A7:CUR=5FBANK=E9=80=89=E5=8C=85/=E6=89=87?= =?UTF-8?q?=E5=8C=BA=E6=93=A6=E9=99=A4=E9=81=BF=E8=AE=A9=E8=8A=82=E6=B5=81?= =?UTF-8?q?/=E5=A4=8D=E4=BD=8D=E6=A3=80=E6=B5=8B,=E5=AE=9E=E6=9C=BA?= =?UTF-8?q?=E8=B0=83=E9=80=9A=E4=B8=AD);SWD=E5=8D=95bank=E5=8D=87=E7=BA=A7?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E5=AE=9E=E6=B5=8B=E9=80=9A=E8=BF=87(bin\@?= =?UTF-8?q?=E5=9F=BA=E5=9D=80=E9=83=A8=E5=88=86=E7=83=A7=E5=BD=95+bsset?= =?UTF-8?q?=E4=BF=AE=E8=AE=B0=E5=BD=95+appsw=E5=88=87=E5=85=A5);=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E4=B8=8E=E5=8D=87=E7=BA=A7=E6=B5=81=E7=A8=8B=E5=86=99?= =?UTF-8?q?=E5=85=A5ble=5Fprotocol.md=20=C2=A77=E4=BE=9BApp/UART=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E5=BC=80=E5=8F=91;=E5=BC=80=E5=8F=91=E6=97=A5?= =?UTF-8?q?=E5=BF=9740~41?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 19 +- docs/ble_protocol.md | 50 +++- docs/开发日志.md | 39 +++ mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble-app2.bin | Bin 54504 -> 54504 bytes mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin | Bin 54204 -> 54204 bytes mcm-ddc-ble/inc/app_version.h | 4 +- tools/ble_ota.bat | 35 +++ tools/ble_ota_update.py | 241 ++++++++++++++++++ tools/flash_package.bat | 4 +- tools/make_package.bat | 15 +- tools/merge_image.py | 56 +++- tools/out/caiic_ble_dual.bin | Bin 201960 -> 201960 bytes tools/out/caiic_ble_dual.hex | 20 +- tools/out/caiic_ble_dual_ota.bin | Bin 54204 -> 54204 bytes tools/out/caiic_ble_dual_ota.json | 4 +- tools/out/caiic_ble_dual_ota_app2.bin | Bin 54504 -> 54504 bytes tools/out/caiic_ble_dual_ota_app2.json | 4 +- tools/out/caiic_ble_dual_ota_dual.bin | Bin 0 -> 108760 bytes tools/out/caiic_ble_full_ota.json | 7 - tools/out/caiic_ble_full_ota_app2.json | 7 - tools/out/mothercup_ble_ota.bin | Bin 0 -> 108760 bytes ...ic_ble_full.bin => mothercup_ble_prod.bin} | Bin 86972 -> 86972 bytes ...ic_ble_full.hex => mothercup_ble_prod.hex} | 12 +- ...ull_ota.bin => mothercup_ble_prod_ota.bin} | Bin 54204 -> 54204 bytes tools/out/mothercup_ble_prod_ota.json | 7 + ...p2.bin => mothercup_ble_prod_ota_app2.bin} | Bin 54504 -> 54504 bytes tools/out/mothercup_ble_prod_ota_app2.json | 7 + 27 files changed, 462 insertions(+), 69 deletions(-) create mode 100644 tools/ble_ota.bat create mode 100644 tools/ble_ota_update.py create mode 100644 tools/out/caiic_ble_dual_ota_dual.bin delete mode 100644 tools/out/caiic_ble_full_ota.json delete mode 100644 tools/out/caiic_ble_full_ota_app2.json create mode 100644 tools/out/mothercup_ble_ota.bin rename tools/out/{caiic_ble_full.bin => mothercup_ble_prod.bin} (99%) rename tools/out/{caiic_ble_full.hex => mothercup_ble_prod.hex} (99%) rename tools/out/{caiic_ble_full_ota.bin => mothercup_ble_prod_ota.bin} (99%) create mode 100644 tools/out/mothercup_ble_prod_ota.json rename tools/out/{caiic_ble_full_ota_app2.bin => mothercup_ble_prod_ota_app2.bin} (99%) create mode 100644 tools/out/mothercup_ble_prod_ota_app2.json diff --git a/AGENTS.md b/AGENTS.md index 43f4eef..bd74ad3 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,14 +5,14 @@ 本仓库是 **mothercup(母乳杯)** 产品的完整代码仓库,包含三大部分: 1. **设备固件** — 基于国民技术(Nations)**N32WB031 BLE SoC**(Cortex-M0,64MHz HSI,**板载硅片实测 256KB Flash**(0x01000000~0x0103FFFF,开发日志 §37),RAM 48KB+16KB): - - **`mcm-ddc-ble/`** — 唯一活跃的应用固件工程(APP,链接在 APP1 bank `0x01008000`/112KB)。以 SDK rdtss 例程为蓝本,集成 FreeRTOS、UART CLI、BLE 自定义 GATT 服务(CLI 透传 / 设备信息查询 / BLE OTA 双 bank 直写升级)、bootsetting 与 APP_DATA 参数区结构化读写命令。当前版本 **V1.00.17**(`mcm-ddc-ble/inc/app_version.h`)。历史上曾有 `mcm-ddc-04/` 主工程,**已删除**,其功能已全部并入本工程。 + - **`mcm-ddc-ble/`** — 唯一活跃的应用固件工程(APP,链接在 APP1 bank `0x01008000`/112KB)。以 SDK rdtss 例程为蓝本,集成 FreeRTOS、UART CLI、BLE 自定义 GATT 服务(CLI 透传 / 设备信息查询 / BLE OTA 双 bank 直写升级)、bootsetting 与 APP_DATA 参数区结构化读写命令。当前版本 **V1.00.18**(`mcm-ddc-ble/inc/app_version.h`)。历史上曾有 `mcm-ddc-04/` 主工程,**已删除**,其功能已全部并入本工程。 - **`Boot/`** — 自写精简 bootloader(链接在 `0x01000000`/16KB):校验 bootsetting 记录自身完整性(magic + 结构体 CRC32)后按 active bank 的 `start_address` 直接跳转;**不校验镜像 CRC(CRC 校验在 OTA 升级过程中完成)**;记录无效或地址越界回退 APP1。 2. **手机 App `SmartAssiter/`** — uni-app **Vue3 + TypeScript** 工程(HBuilderX 项目管理,无 package.json),通过 BLE 连接设备:查看运行参数(温度/电压/转速等)、CLI 终端、OTA 升级页(当前停用,见下)。另有登录/注册/用户信息等云端业务页面。 3. **PC 工具 `tools/`** — 整片烧录包制作/烧录脚本 + bleak 蓝牙测试客户端。 关键文档: -- `docs/开发日志.md` — 固件全程开发日志(39 节,含所有踩坑根因与设计决策,排查问题先查这里) +- `docs/开发日志.md` — 固件全程开发日志(41 节,含所有踩坑根因与设计决策,排查问题先查这里) - `docs/ble_protocol.md` — CAIIC BLE 通信协议 V1.1(帧格式/GATT UUID/三类业务流程/维护命令/手机端开发指南) - `SmartAssiter/docs/修改记录_*.md` — App 侧每次改造的详细记录 @@ -26,7 +26,7 @@ mothercup/ ├── tools/ # merge_image.py / make_package.bat / flash_package.bat / ble_cli_test.py 等 ├── docs/ # 开发日志.md + ble_protocol.md(仓库级权威文档) ├── nations-tec/ # 厂商资源:SDK V2.0.0、DFP 器件包、STB 开发板资料、官方 PDF。**只读,不要修改** -└── tools/out/ # 出包产物(caiic_ble_full.{hex,bin} + _ota.bin/_ota.json) +└── tools/out/ # 出包产物(mothercup_ble_prod.{hex,bin} 生产整包 + mothercup_ble_ota.bin 单文件升级包 + 调试用 _ota.bin/_ota_app2.bin 及 json) ``` SDK 源码(固件库、CMSIS、FreeRTOS V9.0.0、BLE 协议栈/profile/ns_library、启动文件)通过相对路径 `..\..\nations-tec\N32WB03x_SDK_V2.0.0` 被 uvprojx 引用,**不复制进工程**;Bootloader 共享代码(`Boot/src/dfu_layout.h`、`boot_crc32.c`)经 `..\..\Boot\src` 被 APP 工程引用。因此各工程目录不能脱离仓库根单独移动。 @@ -95,7 +95,7 @@ mcm-ddc-ble/ "D:\Keil_v5\UV4\UV4.exe" -b caiic_boot.uvprojx -j0 -o build.log # Boot 增量构建 ``` -要求保持 **0 Error(s), 0 Warning(s)**。当前基线(V1.00.17):`Code=47896 RO-data=4752 RW-data=2060 ZI-data=28612`。 +要求保持 **0 Error(s), 0 Warning(s)**。当前基线(V1.00.18):`Code=47896 RO-data=4752 RW-data=2060 ZI-data=28612`。 **固件版本号约定(重要)**:每次修改固件代码必须递增 `mcm-ddc-ble/inc/app_version.h` 中的 `APP_FW_VERSION` 与 `APP_FW_VERSION_NUM`(格式 `0x00MMmmpp`,通常补丁位 +1),用于识别板上实际运行的固件;工程名与出包文件名保持不变。 @@ -103,11 +103,11 @@ mcm-ddc-ble/ 出包与烧录: -1. `tools\make_package.bat` — 一键:`UV4 -r` **全量重建** Boot + APP(出包必须 `-r`,增量构建曾产生栈顶/ZI 不一致的砖包,见开发日志 §24)→ `merge_image.py` 合并。产物在 `tools/out/`: - - `caiic_ble_full.hex/.bin` — 整片包(Boot + 缺省 bootsetting + APP1) - - `caiic_ble_full_ota.bin` + `_ota.json` — APP1 链接的 OTA 载荷与清单(size/crc32/version/target_bank=1;version 自动取 `APP_FW_VERSION_NUM`);`make_package.bat` 同时构建 APP2 target 并出 `caiic_ble_full_ota_app2.bin`/`_ota_app2.json`(target_bank=2)。**客户端按信息项 0x07 CUR_BANK 选对侧 bank 的载荷**;固件 OTA_END 有向量表防呆(status=6 bank_mismatch) - - 注意:`merge_image.py` 不带参数运行时默认 app 路径仍指向已删除的 `mcm-ddc-04/`,**手动调用必须显式传参**:`python tools/merge_image.py mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin caiic_ble_full` -2. 首次/变砖恢复:`tools\flash_package.bat tools\out\caiic_ble_full.hex`(调 SDK 自带 NSpyocd,整片擦除 + 烧录;需 NS-LINK 接 SWD PA4/PA5 + 复位脚,先关闭 Keil;target 用 DFP pack 的 `n32wb031keq6_2` + `-O smart_flash=false`,内置 `n32wb031` target 只有 256KB 映射) +1. `tools\make_package.bat` — 一键:`UV4 -r` **全量重建** Boot + APP1 + APP2 target(出包必须 `-r`,增量构建曾产生栈顶/ZI 不一致的砖包,见开发日志 §24)→ `merge_image.py` 合并。产物在 `tools/out/`: + - `mothercup_ble_prod.hex/.bin` — 生产整片包(Boot + 缺省 bootsetting + APP1,只含一个 APP) + - `mothercup_ble_ota.bin` — **OTA 单文件发布件**(52B 头含 version/总大小/总 CRC + 双 bank 载荷索引,格式见 ble_protocol.md §7);调试用单 bank 载荷 `mothercup_ble_prod_ota.bin`(bank1)/ `_ota_app2.bin`(bank2)+ json 也保留。**客户端按信息项 0x07 CUR_BANK 选对侧 bank 的载荷**;固件 OTA_END 有向量表防呆(status=6 bank_mismatch) + - 注意:`merge_image.py` 不带参数运行时默认 app 路径仍指向已删除的 `mcm-ddc-04/`,**手动调用必须显式传参**:`python tools/merge_image.py mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin mothercup_ble_prod` +2. 首次/变砖恢复:`tools\flash_package.bat tools\out\mothercup_ble_prod.hex`(调 SDK 自带 NSpyocd,整片擦除 + 烧录;需 NS-LINK 接 SWD PA4/PA5 + 复位脚,先关闭 Keil;target 用 DFP pack 的 `n32wb031keq6_2` + `-O smart_flash=false`) - **双 APP 整包(appsw 测试)**:`tools\make_dual_package.bat` 出 `caiic_ble_dual.{hex,bin}`(Boot+bootsetting 双 bank 记录+APP_DATA 缺省记录+APP1/APP2 **同版本**双镜像,APP2 由 uvprojx target "APP2" 链接 0x01024000 构建;运行 bank 用信息项 0x07 CUR_BANK 识别);`flash_package.bat tools\out\caiic_ble_dual.hex` 烧录后可用 `appsw` 在两 bank 间切换(已实测双向切换)。 - **OTA 双 bank 选包**:OTA 写对侧 bank,载荷必须链接在目标 bank 地址;两份载荷见上,客户端按 CUR_BANK 选包(详见开发日志 §39)。 3. 日常开发调试:Keil F7 编译、F8 下载即可(Boot 不校验镜像 CRC,可直接下载 APP 调试);**Keil 下载选项必须是 "Erase Sectors",整片擦除会杀掉 Boot/bootsetting**(杀掉后需重烧整片包恢复)。板子上烧过其他 0x01000000 起步的程序同样会覆盖 Boot,恢复也是重烧整片包。 @@ -151,6 +151,7 @@ mcm-ddc-ble/ - `make_package.bat` / `flash_package.bat` — 一键出包 / NSpyocd 整片烧录(脚本会自动找 Python312 全路径,本机 `python` 可能是商店占位 stub) - `make_dual_package.bat` — 双 APP 整包(Boot+bootsetting 双 bank+APP_DATA+APP1+APP2,APP2 升一版链接 0x01024000),用于 appsw 切换测试 - `ble_cli_test.py` + `ble_cli.bat` — PC 端 bleak 蓝牙 CLI 测试客户端(帧协议模式 + `-rw` 读写特征模式,交互模式 `-i`,venv 在 `tools/.venv-ble`,首次运行 bat 自动创建) +- `ble_ota_update.py` + `ble_ota.bat` — BLE OTA 升级器(解析单文件升级包 `mothercup_ble_ota.bin`、按 CUR_BANK 选对侧 bank 载荷、节流发送避开扇区擦除窗口、复位检测+重连校验)。**实验性:实机跑通中,notify 上行不通拿不到 OTA_RSP,定位见开发日志 §40** - `ble_temp_watch.py` — 温度监测小工具 ## 实时架构约定(固件) diff --git a/docs/ble_protocol.md b/docs/ble_protocol.md index b5dfe13..8dbfc25 100644 --- a/docs/ble_protocol.md +++ b/docs/ble_protocol.md @@ -130,13 +130,12 @@ flash 擦除单位 = 4KB 扇区。设备侧**直写 flash,不做扇区级 RAM 注意:flash 擦写期间设备关中断数十 ms/扇区(Qflash 算法在 RAM 执行),BLE 链路靠 5s supervision timeout 维持,属正常现象;但请避免在 OTA 期间主动断开。 -**OTA 载荷必须链接在目标 bank 地址**(Cortex-M0 代码位置相关)。出包脚本同时产出 -两份 bank 匹配的载荷:`<包名>_ota.bin`(target_bank=1,链接 0x01008000)与 -`<包名>_ota_app2.bin`(target_bank=2,链接 0x01024000),清单 json 内含 -`target_bank` 字段。**客户端选包规则**:先读信息项 0x07 CUR_BANK(当前运行 bank), -OTA 目标 = 对侧 bank,选用对应的载荷。固件侧兜底:OTA_END 整镜像 CRC 通过后, -还会校验镜像向量表 Reset 地址落在目标 bank 范围内,不符则回 -OTA_RSP(status=6 bank_mismatch) 并中止、不切换(V1.00.17 起)。 +**OTA 载荷必须链接在目标 bank 地址**(Cortex-M0 代码位置相关)。发布件为单文件 +`mothercup_ble_ota.bin`(52B 头含双载荷索引与全部 CRC,格式见 §7)。**客户端选包 +规则**:先读信息项 0x07 CUR_BANK(当前运行 bank),OTA 目标 = 对侧 bank,从头里取 +对应载荷。固件侧兜底:OTA_END 整镜像 CRC 通过后,还会校验镜像向量表 Reset 地址 +落在目标 bank 范围内,不符则回 OTA_RSP(status=6 bank_mismatch) 并中止、不切换 +(V1.00.17 起)。 ## 6.5 维护命令:bootsetting 与 APP_DATA 参数区(V1.00.09 起,结构化访问;V1.00.10 起参数命令为 appget/appset;V1.00.11 起新增 reset/factory/uartrst/uartinfo) @@ -171,10 +170,35 @@ blob 偏移不下发应用层,协议栈会切错窗口),**读到 0 长度 - 出厂/首次:SWD 烧录整包(bootloader + bootsetting 缺省配置 + APP1), 由 `tools\merge_image.py` / `make_package.bat` 生成。 -- OTA 镜像:每次出整包时 `merge_image.py` 同时输出 `<包名>_ota.bin` - (OTA 载荷,即 APP bin 本体)和 `<包名>_ota.json`(清单:size / crc32 / - version,手机端 OTA_BEGIN 直接取这三个值;version 可用第三个命令行参数 - 指定,如 `0x00010001`,缺省 0)。 +- OTA 发布文件(**单文件发布**,V1.00.18 起):`tools\make_package.bat` 产出 + `mothercup_ble_ota.bin` = **52B 头 + bank1 载荷 + bank2 载荷**,头已包含原清单 + json 的全部信息(version/总大小/总 CRC),无需伴随 json。格式(全小端): + + | 偏移 | 字段 | 说明 | + |---|---|---| + | 0 | magic u32 | `0xCA10BA11` | + | 4 | hdr_len u32 | = 52(头部字节数,前向兼容扩展用) | + | 8 | version u32 | 固件版本号(`0x00MMmmpp`,写进 OTA_BEGIN 与新 bank 记录) | + | 12 | total_size u32 | 整文件字节数(自检) | + | 16 | payload_crc u32 | CRC32(hdr_len .. 文件尾),即两份载荷整体 | + | 20 | count u32 | = 2 | + | 24 | b1_off/b1_size/b1_crc u32×3 | bank1(APP1 链接,0x01008000)载荷索引 | + | 36 | b2_off/b2_size/b2_crc u32×3 | bank2(APP2 链接,0x01024000)载荷索引 | + | 48 | hdr_crc u32 | CRC32(头 0..47) | + + CRC32 均为 IEEE(zlib 多项式,与固件 `caiic_crc32` 一致)。 + **升级流程(APP/UART/PC 通用)**:① 校验 magic + hdr_len + hdr_crc + + total_size + payload_crc;② 读设备信息项 0x07 CUR_BANK 得当前运行 bank N; + ③ 取对侧 bank(3−N)的载荷(offset/size/crc 取自头部);④ OTA_BEGIN + {size, crc32, version} → OTA_DATA 流 → OTA_END{crc32};⑤ 设备自动复位到 + 新 bank,重连后复核 CUR_BANK 与 FW_VERSION。PC 参考实现: + `tools\ble_ota_update.py`(`ble_ota.bat`)。 + 调试用的单 bank 载荷(`mothercup_ble_prod_ota.bin` / `_ota_app2.bin` + json) + 仍在 tools/out/ 生成,但不作为发布件。 +- **SWD 单 bank 升级**(不动运行中的 bank,V1.00.18 实测通过): + `NSpyocd load ... "mcm-ddc-ble.bin@0x01008000"`(bin 后用 `@基址` 指定写入 + 位置,只擦写涉及扇区)→ CLI `bsset` 修正该 bank 的 size/crc/ver → + `appsw` 切入。详见开发日志 §40。 - OTA 失败变砖恢复:SWD 重烧即可(bootloader 不做串口 DFU)。 - Keil 调试下载必须用**扇区擦除**,整片擦除会删掉 bootloader。 @@ -228,8 +252,8 @@ def parse_stream(buf: bytearray): ``` 镜像 CRC32(OTA_BEGIN / OTA_END 用):标准 zlib/IEEE CRC32, -`zlib.crc32(open('xxx_ota.bin','rb').read()) & 0xFFFFFFFF`, -也可直接从 `<包名>_ota.json` 清单里读。 +对 `mothercup_ble_ota.bin` 中取出的目标 bank 载荷计算 +(`zlib.crc32(payload) & 0xFFFFFFFF`),也可直接读头部的 bN_crc 字段。 ### 8.3 字节级完整示例(均含 SOF 与 CRC16,SEQ 自取) diff --git a/docs/开发日志.md b/docs/开发日志.md index b5e315c..65655a0 100644 --- a/docs/开发日志.md +++ b/docs/开发日志.md @@ -996,3 +996,42 @@ APP2 `Code=48004`(同源码、不同链接地址/版本号,体积差 300B `cur bank: APP2`(两 bank 同为 V1.00.17)→ e0004 TLV 含 `cur_bank` → `appsw 1` 切回。构建 0 Error/0 Warning(双 target),整包/双包/双 OTA 载荷 均已重新生成。 + +## 40. SWD 单 bank 升级流程实测 + BLE OTA 待定(2026-09-04,V1.00.18) + +**SWD 部分烧录升级(不动运行中的 bank)实测通过**,步骤: + +1. 正常出包:`tools\make_package.bat`(构建 APP1/APP2 双 target,出整包 + + bank1/bank2 两份 OTA 载荷 + 合并包 `*_ota_dual.bin`); +2. 只写非活动 bank(假设当前跑 APP2,升级 APP1 区): + `NSpyocd load --pack -M under-reset -f 1000000 -t n32wb031keq6_2 + -O smart_flash=false mcm-ddc-ble.bin@0x01008000` + —— bin 后用 `@地址` 指定基址,pyocd 只擦写涉及的 14 个扇区,运行中的 + APP2 不受影响(烧完复位仍回 active bank); +3. BLE/串口 CLI 修正该 bank 记录:`bsset b1size ` / `bsset b1crc ` + / `bsset b1ver `(值取 merge_image 输出或 _ota.json 清单); +4. `appsw 1` → 目标镜像 CRC 复算通过 → 复位切入新版本。 + +实测:bank1 SWD 写入 V1.00.18 → 修记录 → `appsw 1` → `devinfo` 报 +**APP1 / V1.00.18**;bank2 仍保留 V1.00.17 可回切。此路径可作为 BLE OTA +修复前的生产升级手段,也是 OTA 链路的地面参照。 + +**BLE OTA 当前状态(未决)**:`tools/ble_ota_update.py`(合并包解析、 +CUR_BANK 选包、扇区擦除窗口避让的节流发送、双次重试)已写好并实机试跑, +但设备端在 OTA_END 后未复位(中途应有帧丢失/状态拒绝,notify 上行不通 +拿不到 OTA_RSP,定位需要 UART blelog)。该脚本标记为实验性,待 notify +修复或 UART 抓帧后再调通。 + +## 41. 发布命名整理 + OTA 单文件包(2026-09-04,工具链,固件 V1.00.18 不变) + +- 生产整片包改名 **`mothercup_ble_prod.{hex,bin}`**(Boot+bootsetting+APP_DATA + 缺省记录+APP1);`flash_package.bat` 缺省镜像同步改名。 +- OTA 发布件改名 **`mothercup_ble_ota.bin`**,头部从 40B 扩到 **52B**: + 新增 hdr_len、total_size(整文件字节数)、payload_crc(两载荷整体 CRC32)—— + 原清单 json 的信息全部收进头部,**只发这一个文件**(单 bank 载荷与 json + 仍生成,仅供调试)。格式表写入 ble_protocol.md §7(供 App/UART 升级开发)。 +- `merge_image.py` 新增 `--combo-name`,`make_package.bat` 传 + `--combo-name mothercup_ble_ota`;`ble_ota_update.py` 按新头解析并校验 + hdr_len/total_size/payload_crc/各 bank crc,实包解析验证通过 + (V1.00.18,bank1 54204B / bank2 54504B,total=108760B 与文件一致)。 +- 旧命名 caiic_ble_full_* 产物已从仓库删除;双 APP 测试包仍叫 caiic_ble_dual。 diff --git a/mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble-app2.bin b/mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble-app2.bin index c55c0c7cbf575d04634dda65ea3a35fe3d8aa94b..12ebcfd3dd34bfd8c8af1cba8de4c7d02f1e1cea 100644 GIT binary patch delta 48 zcmaE{lKI6-<_!v(JVFeN3}J?P1_pYD7Mpc6y;&J8Hdp9f@n96%>|1`08OW2VJ`)K5 DW0(&1 delta 48 zcmaE{lKI6-<_!v(Jc1023}J?P1_pYD=9_giy;&K}H&^Ig@n96(>|1`08OW2VJ`)K5 DV=xZ! diff --git a/mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin b/mcm-ddc-ble/MDK-ARM/bin/mcm-ddc-ble.bin index 0c78c1dbc0d178f71bf9a64f7b5b00ce6d6e84ec..f5c14525d4b6b561ada8cc5a0d956da58a030ce8 100644 GIT binary patch delta 47 zcmdn9oO#c3<_%xed4w1k8Nv+p3=H%PEjDR*vocz2_R+oK!6>v@vFsc(koTeTOe6qj CDi5{* delta 47 zcmdn9oO#c3<_%xec?2048Nv+p3=H%P%{OUyvoe}*_R+oK!6>*{vFsc(koTeTOe6qi C#1F9m diff --git a/mcm-ddc-ble/inc/app_version.h b/mcm-ddc-ble/inc/app_version.h index bd9bb45..ab8e257 100644 --- a/mcm-ddc-ble/inc/app_version.h +++ b/mcm-ddc-ble/inc/app_version.h @@ -9,12 +9,12 @@ #define __APP_VERSION_H__ #ifndef APP_FW_VERSION -#define APP_FW_VERSION "V1.00.17" +#define APP_FW_VERSION "V1.00.18" #endif /* Numeric form used by the BLE info query / OTA records: 0x00MMmmpp */ #ifndef APP_FW_VERSION_NUM -#define APP_FW_VERSION_NUM 0x00010011u +#define APP_FW_VERSION_NUM 0x00010012u #endif #endif /* __APP_VERSION_H__ */ diff --git a/tools/ble_ota.bat b/tools/ble_ota.bat new file mode 100644 index 0000000..3e869aa --- /dev/null +++ b/tools/ble_ota.bat @@ -0,0 +1,35 @@ +@echo off +rem ============================================================ +rem ble_ota.bat - BLE OTA updater for CAIIC-MCM devices +rem +rem ble_ota.bat [combo_pkg] +rem default: tools\out\mothercup_ble_ota.bin +rem +rem The combined package holds both bank-linked payloads; the script +rem reads the current bank (info item 0x07 CUR_BANK) and downloads +rem the payload for the opposite bank, then verifies the reboot. +rem Requires tools\.venv-ble (created automatically on first run). +rem ============================================================ +setlocal +set TOOLS=%~dp0 +set PYEXE=%TOOLS%.venv-ble\Scripts\python.exe + +if not exist "%PYEXE%" ( + echo [setup] creating venv %TOOLS%.venv-ble ... + set PYREAL= + if exist "%LOCALAPPDATA%\Programs\Python\Python312\python.exe" set PYREAL="%LOCALAPPDATA%\Programs\Python\Python312\python.exe" + if not defined PYREAL ( + py -3 --version >nul 2>&1 && set PYREAL=py -3 + ) + if not defined PYREAL set PYREAL=python + %PYREAL% -m venv "%TOOLS%.venv-ble" || goto :fail + "%PYEXE%" -m pip install --quiet bleak || goto :fail +) + +"%PYEXE%" "%TOOLS%ble_ota_update.py" %1 +goto :eof + +:fail +echo. +echo *** setup failed - check python installation *** +exit /b 1 diff --git a/tools/ble_ota_update.py b/tools/ble_ota_update.py new file mode 100644 index 0000000..4368718 --- /dev/null +++ b/tools/ble_ota_update.py @@ -0,0 +1,241 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +ble_ota_update.py - PC-side BLE OTA updater for CAIIC-MCM devices. + +Takes the combined OTA package (mothercup_ble_ota.bin: 52-byte header + both +bank-linked payloads, see tools/merge_image.py), reads the device's current +bank from the read-only info characteristic ...e0004 (info item 0x07 +CUR_BANK), and downloads the payload linked for the OPPOSITE bank over the +framed protocol downlink (characteristic ...e0001). + + usage: ble_ota.bat [combo_pkg] + default pkg: out/mothercup_ble_ota.bin + +Flow-control note: the notify uplink is currently broken (dev log section +28), so OTA_RSP acks cannot be received. The script therefore paces writes: +a short gap per frame and a longer gap at every 4KB sector boundary (the +device erases sectors lazily with interrupts off - writes during the erase +window would be lost). Success is detected by the device resetting after +OTA_END (link drops), then re-checking CUR_BANK/version after reconnect. +The firmware independently rejects a payload linked for the wrong bank +(OTA_RSP status 6, no switch), so a wrong pick never bricks the device. +""" + +import asyncio +import os +import struct +import sys +import zlib + +from bleak import BleakClient, BleakScanner + +NAME_PREFIX = "CAIIC-MCM-20260902" +WRITE_UUID = "00002760-08c2-11e1-9073-0e8ac72e0001" # Write Without Response +INFO_RD_UUID = "00002760-08c2-11e1-9073-0e8ac72e0004" # Read-only info TLV + +TYPE_OTA_BEGIN = 0x10 +TYPE_OTA_DATA = 0x11 +TYPE_OTA_END = 0x12 + +COMBO_MAGIC = 0xCA10BA11 +COMBO_HDR_LEN = 52 + +FRAME_GAP_S = 0.008 # between WWR frames +SECTOR_GAP_S = 0.25 # at 4KB boundaries (lazy sector erase, IRQs off) +REBOOT_WAIT_S = 20.0 +SECTOR = 0x1000 + + +def crc32(data): + return zlib.crc32(data) & 0xFFFFFFFF + + +def crc16_ccitt(data): + crc = 0xFFFF + for b in data: + crc ^= b << 8 + for _ in range(8): + crc = ((crc << 1) ^ 0x1021) & 0xFFFF if crc & 0x8000 else (crc << 1) & 0xFFFF + return crc + + +_seq = [0] + + +def encode_frame(ftype, payload): + out = bytearray([0xCA, ftype & 0xFF, _seq[0] & 0xFF, + len(payload) & 0xFF, (len(payload) >> 8) & 0xFF]) + out += bytes(payload) + crc = crc16_ccitt(out[1:]) + out += bytes([crc & 0xFF, (crc >> 8) & 0xFF]) + _seq[0] = (_seq[0] + 1) & 0xFF + return bytes(out) + + +def parse_combo(path): + """Parse the combined OTA package; returns (version, {bank: payload}). + + Header (52B LE): magic | hdr_len | version | total_size | payload_crc | + count(=2) | b1_off/size/crc | b2_off/size/crc | hdr_crc.""" + data = open(path, "rb").read() + if len(data) < COMBO_HDR_LEN: + raise SystemExit("bad package: too small") + (magic, hdr_len, version, total_size, payload_crc, count, + b1o, b1s, b1c, b2o, b2s, b2c, hcrc) = \ + struct.unpack_from(" len(data): + break + items[iid] = data[i + 2:i + 2 + ilen] + i += 2 + ilen + return items + + +def fmt_ver(v): + return "V%d.%02d.%02d" % (v >> 16, (v >> 8) & 0xFF, v & 0xFF) + + +async def find_device(): + print("scanning for %s* ..." % NAME_PREFIX) + while True: + dev = await BleakScanner.find_device_by_filter( + lambda d, ad: d.name and d.name.startswith(NAME_PREFIX), + timeout=10.0) + if dev is not None: + return dev + print(" not found, retrying (device advertising?)") + + +async def ota_session(pkg_path): + version, banks = parse_combo(pkg_path) + print("package: version %s, bank1 %dB / bank2 %dB" + % (fmt_ver(version), len(banks[1]), len(banks[2]))) + + dev = await find_device() + print("connecting %s (%s) ..." % (dev.name, dev.address)) + + disconnected = asyncio.Event() + + def on_disconnect(_c): + disconnected.set() + + async with BleakClient(dev, disconnected_callback=on_disconnect) as client: + print("connected, mtu=%d" % client.mtu_size) + await asyncio.sleep(0.5) # let the device's MTU exchange finish + + items = await read_info_tlv(client) + cur_bank = items.get(0x07, b"\x01")[0] + cur_ver = int.from_bytes(items.get(0x01, b"\x00" * 4), "little") + print("device: running APP%d, firmware %s" % (cur_bank, fmt_ver(cur_ver))) + + target = 3 - cur_bank # OTA always writes the inactive bank + blob = banks[target] + print("target bank: APP%d (%d bytes, crc32=0x%08X)" + % (target, len(blob), crc32(blob))) + if cur_ver == version: + print("note: same version already on the device, updating anyway") + + max_data = min(client.mtu_size - 3 - 4 - 7, 233) # offset u32 + frame overhead + disconnected.clear() + + async def send(ftype, payload): + await client.write_gatt_char(WRITE_UUID, encode_frame(ftype, payload), + response=False) + await asyncio.sleep(FRAME_GAP_S) + + for attempt in (1, 2): + sector_gap = SECTOR_GAP_S * attempt + print("OTA_BEGIN ... (attempt %d)" % attempt) + await send(TYPE_OTA_BEGIN, struct.pack(" 1 else os.path.join( + root, "out", "mothercup_ble_ota.bin") + if not os.path.isfile(pkg): + print("package not found: %s (run tools\\make_package.bat first)" % pkg) + return 1 + return asyncio.run(ota_session(pkg)) + + +if __name__ == "__main__": + try: + sys.exit(main()) + except KeyboardInterrupt: + pass diff --git a/tools/flash_package.bat b/tools/flash_package.bat index c575150..4f20439 100644 --- a/tools/flash_package.bat +++ b/tools/flash_package.bat @@ -2,7 +2,7 @@ rem ============================================================ rem flash_package.bat [image] - erase the chip and program the rem merged package via NS-LINK (NSpyocd). -rem [image] optional, default: tools\out\caiic_full.hex +rem [image] optional, default: tools\out\mothercup_ble_prod.hex rem Connect NS-LINK to SWD (PA4/PA5) and the reset pin first, rem and CLOSE Keil (it holds the probe). rem ============================================================ @@ -15,7 +15,7 @@ rem "n32wb031keq6_2" maps the full 512KB of the KEQ6-2 we actually use. set PACK="%ROOT%\nations-tec\N32WB03x_DFP.1.4.0.pack" set TARGET=n32wb031keq6_2 set IMAGE=%~1 -if "%IMAGE%"=="" set IMAGE=out\caiic_full.hex +if "%IMAGE%"=="" set IMAGE=out\mothercup_ble_prod.hex if not "%IMAGE:~0,1%"=="\" if not "%IMAGE:~1,1%"==":" set IMAGE=%~dp0%IMAGE% if not exist "%IMAGE%" ( diff --git a/tools/make_package.bat b/tools/make_package.bat index b76cc69..bf02dab 100644 --- a/tools/make_package.bat +++ b/tools/make_package.bat @@ -1,14 +1,16 @@ @echo off rem ============================================================ -rem make_package.bat - build bootloader + APP, then merge into -rem one flash package (tools/out/caiic_ble_full.*) +rem make_package.bat - build bootloader + APP1/APP2, then merge +rem into the PRODUCTION package: +rem tools/out/mothercup_ble_prod.{hex,bin} (APP1 only) +rem tools/out/mothercup_ble_ota.bin (OTA release) rem Run from anywhere: tools\make_package.bat rem ============================================================ setlocal set ROOT=%~dp0.. set UV4="D:\Keil_v5\UV4\UV4.exe" -echo [1/3] Building bootloader... +echo [1/4] Building bootloader... %UV4% -r "%ROOT%\Boot\MDK-ARM\caiic_boot.uvprojx" -j0 -o "%ROOT%\Boot\MDK-ARM\build.log" if errorlevel 1 goto :fail findstr /C:"0 Error(s), 0 Warning(s)" "%ROOT%\Boot\MDK-ARM\build.log" >nul || goto :fail @@ -38,11 +40,12 @@ if not defined PYEXE ( rem --ota-app2: emit a second OTA payload linked for the APP2 bank rem (OTA writes the bank opposite to the running one, so both link rem variants must ship; the client picks by info item 0x07 CUR_BANK). -%PYEXE% "%~dp0merge_image.py" "%ROOT%\mcm-ddc-ble\MDK-ARM\bin\mcm-ddc-ble.bin" caiic_ble_full --ota-app2 "%ROOT%\mcm-ddc-ble\MDK-ARM\bin\mcm-ddc-ble-app2.bin" || goto :fail +%PYEXE% "%~dp0merge_image.py" "%ROOT%\mcm-ddc-ble\MDK-ARM\bin\mcm-ddc-ble.bin" mothercup_ble_prod --ota-app2 "%ROOT%\mcm-ddc-ble\MDK-ARM\bin\mcm-ddc-ble-app2.bin" --combo-name mothercup_ble_ota || goto :fail echo. -echo Package ready: tools\out\caiic_ble_full.hex / caiic_ble_full.bin -echo OTA payloads: caiic_ble_full_ota.bin (bank1) / caiic_ble_full_ota_app2.bin (bank2) +echo Package ready: tools\out\mothercup_ble_prod.hex / mothercup_ble_prod.bin +echo OTA payloads: mothercup_ble_prod_ota.bin (bank1) / mothercup_ble_prod_ota_app2.bin (bank2) +echo OTA release: mothercup_ble_ota.bin (single file, header carries version/size/CRC) goto :eof :fail diff --git a/tools/merge_image.py b/tools/merge_image.py index 778d8b5..087c0d2 100644 --- a/tools/merge_image.py +++ b/tools/merge_image.py @@ -36,12 +36,14 @@ Outputs (written to tools/out/): Usage: python tools/merge_image.py [app_bin] [out_name] [version] [--app2 app2_bin [--app2-version N]] [--with-appdata] - [--ota-app2 app2_linked_bin] + [--ota-app2 app2_linked_bin] [--combo-name name] Defaults: app_bin = mcm-ddc-04/MDK-ARM/bin/embeddedSrc.bin, out_name = caiic_full, version = 0 --app2 merges the APP2-linked image into the package; --ota-app2 only emits an extra OTA payload _ota_app2.bin/.json (target_bank=2) without -merging. OTA manifests carry "target_bank" - the client must pick the payload +merging. Both payloads also produce the combined single-file release +(.bin, default _ota_dual.bin): 52B header carrying +version/total size/total CRC + per-bank entries. The client picks the payload matching the bank the device is NOT running (info item 0x07 CUR_BANK). Run from anywhere; paths are resolved relative to this script. """ @@ -75,6 +77,14 @@ OUT_DIR = "out" HEX_REC_LEN = 16 +# Combined OTA package (release name: mothercup_ble_ota.bin): 52-byte header +# + both bank-linked payloads. The header carries everything the old sidecar +# .json had (version / total size / total CRC), so a single file is released. +# Parsed by tools/ble_ota_update.py, which picks the payload for the bank the +# device is NOT running (info item 0x07 CUR_BANK). +OTA_COMBO_MAGIC = 0xCA10BA11 +OTA_COMBO_HDR_LEN = 52 + def crc32(data): """IEEE CRC32 - same value as Boot/src/boot_crc32.c caiic_crc32().""" @@ -95,6 +105,33 @@ def default_bootsetting(app_blob, app2_blob=None, version=0, app2_version=0): return body + struct.pack("Z|9g9Et)_4-2UMwqd`8J%09;JyRw+}0#yLj l|63w{y&l=FJ~|ZvXI;(I6j9Wgp}AU0Fv@vFsc(koTeTOe6qj CDi5{* delta 47 zcmdn9oO#c3<_%xec?2048Nv+p3=H%P%{OUyvoe}*_R+oK!6>*{vFsc(koTeTOe6qi C#1F9m diff --git a/tools/out/caiic_ble_dual_ota.json b/tools/out/caiic_ble_dual_ota.json index ed9bc41..7e1679d 100644 --- a/tools/out/caiic_ble_dual_ota.json +++ b/tools/out/caiic_ble_dual_ota.json @@ -2,6 +2,6 @@ "file": "caiic_ble_dual_ota.bin", "target_bank": 1, "size": 54204, - "crc32": "0x08D5A053", - "version": 65553 + "crc32": "0xF0A05A7B", + "version": 65554 } \ No newline at end of file diff --git a/tools/out/caiic_ble_dual_ota_app2.bin b/tools/out/caiic_ble_dual_ota_app2.bin index c55c0c7cbf575d04634dda65ea3a35fe3d8aa94b..12ebcfd3dd34bfd8c8af1cba8de4c7d02f1e1cea 100644 GIT binary patch delta 48 zcmaE{lKI6-<_!v(JVFeN3}J?P1_pYD7Mpc6y;&J8Hdp9f@n96%>|1`08OW2VJ`)K5 DW0(&1 delta 48 zcmaE{lKI6-<_!v(Jc1023}J?P1_pYD=9_giy;&K}H&^Ig@n96(>|1`08OW2VJ`)K5 DV=xZ! diff --git a/tools/out/caiic_ble_dual_ota_app2.json b/tools/out/caiic_ble_dual_ota_app2.json index 9d791c7..f239439 100644 --- a/tools/out/caiic_ble_dual_ota_app2.json +++ b/tools/out/caiic_ble_dual_ota_app2.json @@ -2,6 +2,6 @@ "file": "caiic_ble_dual_ota_app2.bin", "target_bank": 2, "size": 54504, - "crc32": "0x2229A8CB", - "version": 65553 + "crc32": "0xDA5C52E3", + "version": 65554 } \ No newline at end of file diff --git a/tools/out/caiic_ble_dual_ota_dual.bin b/tools/out/caiic_ble_dual_ota_dual.bin new file mode 100644 index 0000000000000000000000000000000000000000..2650a8dd5fe676f6d0a05b7aa3f7de0ce99c8347 GIT binary patch literal 108760 zcmce;d3+Psy*GT$jCODG0?0;~k!*uxY!FKlL$iz|GM3CvmXbhjB(RB0SOgeinxv5l zB!;A|Oh_V|v^7~;NZVW2#ck3Xe`3=1-fZnNGLVKP?U1H%k~Xcn9 zdEb9t!)VT&efgc=`K>4aSLQbt5JCzFCGQ@iWOr}x8yvn_+$*ODx&O}2L;~-RP80Iy z)$7ice)7tY{7WJq6Iaq_BEJ#e_v8Kl=ac`7ueQhg_DeLeJ4Jk? z);LHg8;|&_aBUwRS~D6C*Ag=E9hSnih9$)zLr8E%J~y^l8@_MMwv`A^C4 zisqH|zpxX!aXVl4sz1Bn>J9gh@(PJK=s8+0dWaM6 z3cn|vd@ucD50Md5MP$Dx+?(i`enN*j_jYL|v7EM%=v0Na+oe3oC6Pq+n5IK}BvR7u zHlH#}#gZLyg=5#2e8)|nwo6nXHu8OvFpbq%mbpn(km^f`<4+gp5fXDs^CW#&qL)hU zg~d+tuHXvSYW=!8LujQ}TNkky0-^yk?>7X(wIdk!mgWELUg#o(m$JM^^t^0T3~v-n zH}q*Lhx&OXtC0p1jw!fPy9Q!UE#uu@FIbiN7luVKaJxnJPX+bjgdaSfr zv=ZlVJW>*_HTMuZQC3?YUibLA=R7n{W~Jiqc3&o=hNZQM>k2vV|nc)@w3sKEagxca zk<(?mj<)&dJlb=_W{jC6U0)8?k(B?ku4mZ{Nq>kW@<+I+F2=Vp=&JP)MK3MX65*$H z#JbAOAgDk|>GiT*ngtlrV{B)KbdtV}eKQy$iTIF4%8?#2lR2NnbumDTgLLriTugV4 zBxVf*ZjO+|%werU60ZzpzFr#AbP$Y#+WYmZL}Lg4+KGX5Pg@rej8RhYsdu*Uz0kVQ zbcse^Zroxmh_%*|=)z6-b$l5oG0|$0bA&#+&r4<(yhmcQ97eg?krU??BJ_DDF(?%x zoW?s*c6TX>^2Y;OdZt<+$}C}%WZvnwW*^IIIA{U8LK}4y-*zQtofXwDlv&-=h znYNQyt4E4Q1dZ3A7-M3oaUy4X$Z80%^1DkjeRMhgF3-h&YxQX3f{s7U%Iq#JRY;6a ztQ#VZ8FHo#{qejQKX-R&t0$|U#PZr*HHL5=#+4Tpbow)_4PFs++-ZcY#%QOOJ5zYM ztxQW~_FEV3P{{1Bqn8a1D&Oo_9q-hxJi`lw+oz6vqEBRY_ItAcYt;@zJS|YySLa1x zvtq-n*ti%Cb7+r?(rAT}>1Xb7#H#(wML#+8ljumUAP9MMIbfChVu|B>H4yitaek3B-Ra6NzrSN%1v8@6dG_yV;>Sy zBodOi>9cp!>15B|t~`m%;GW?VkETczd7>4~^;S}?l}X~wVGeGJ_pHcrD|9n_OsNr_N>%{f0uXZTHDY7Z7O z9KPBk*j7xBd1kMl=oP==HGRI9rALZIL&QQ7BJu|bwXZ56QpUMc=yfRn;K zb>gYK^Lmj~%XOqurnyDAge%~T#iD7oX`kgUR3qK$C8h$?Y|TpV^TnQGA^W%97cB+Z zwBjfHYU}Fa0?k7U%QYB-)$FCGMdB}gtvg%SXA~@=6@9>dXFD|9D;lsoPI8V27H_y0 zE7haN+^i8F?dr?ZM13Szx`T)Yzu}dVR=2jlMw%;?N>ijPiIdhK-t1i}yK?xbs70<91bCLVuLcfnb(2Fh3Rtz7O4xoTiP(@<%9iex z^ly>G&xiVox4Zd{+#FK&hbgy!%@{T*Fh`!j!72^w0$LQZaU*yEwOHQ z_vdN9*RLl}&_mo)l~Nh7;2($C`N(=ZG%#6fugjCVEqx`wbW@uVC04kJ)rjFkIC zV|!nopZE>NwmyAUJBhMzR-3Wi5c`2-@LFZIy9{27Y>a{0Af6l_apxFgCm_9uxeGq zGDed#lE!$lrFG)|t`G7)(DR3v5;CLSa0fXo`3;=JJ!SXW)36%d>MaR z4lU=TDu21QdFs@xYqLa4nRkXaD3PdDT3K?!&7Wc?3yE^dAq$DEbrS~<2&EF++jwIY z_0l6!zEUqulZvMHxOJx*q}5Y@?rxIw-fZs=q~Bq^{04{jkY%k~E9H1UiJK*hw@?n? zj9e*h7Y$w=!se2nyLJ84PReu&X07bJp2Iob@4dxLVoeg&)>wmX;HvME;zl<~{BY=1 zjCYhLB;2!vtTpi7EO`l8mqTXEml`}jcb}f}lalA$+fs6yMZirEJq8vbkjxr&DvD?Jv>uxZ5U?S(@`!iLKvi&vWj_ zJS4u?!|MIN=W9p4sG9FBU|K(NGk7(5^|C2PUvA_-pvJ6%sicx#AOa{^vN$i>dy*)Y zel5e`cMqCX`u-8nNuXAujB3-hN4hmpeax86X-HANS05!a4c|4!bZs|E*Gqhqj~(wu zN;VISSe-q|>+=$u9qVpM{SR=Sc|oouR{iaKjl|)s%T19EdIT*+?{MSXZ!^0XUVZyK ziDh9An0tgu%zz{;Y7<%S+C-u3nG#<5vsmnnistcj1JY%Y*v!3I(kW3Eh4N=h+5r2- zpy62!y7O;MVR_8%lT)(1IweagbbmD$A;cH1UE`}3Y%A1 zXn;}b=AL)}a1qq_^Vbtwevm=@cQ8jUgWi4tk0(Sb4KfX7HT$h(7B8EjQF9`k5qf9Yzgu8+Ykqb0+&jDFyrAu|Qg43i}Kw95hNyLys5 zNfDaq%zA4xD62JUoKenFNHvws)%rM@X|7-;IK@yw6jKG6L7p-zq@B)e^cpN&wo{69 zZ}*buw=FfAM?CZt6=;;@cVYykpprg5$H&;|MdnaOktp0VngB(NPUaHjBOK_H*GpBr z)b7$4yo10Ij4wIRm3^GF0iTz>6%dx#>U2-&4{7Z5&~)tF>2(J11NVZnNhj-ujN`mX zxaW~B#x3^Y#3aHboQR~2YtuyMNsW@`SUPz+%}JV=&7x9EpfU}>=z`=3Xwa7&85BI| zx>k=tHcUnN!>kl{n3a1et?LT+Ugmq!>4(^QUo=H+C02z`Lz9bN67P5@FwR)0=ms z0xEqxK(%I^0NKyvs3$=>`E2@61G=TOLbqJ2{5hn5dzLr*`dF=b!3j_D)L8O?bn7xo zkKtM5ApNcyp^TF{yzWX0F8{ikRzMhAV}^G>2lvY8Z7O6%$qa*(?aG#n(e;fu-(t~P zZRu>eqPkkPsl1j&o`}zUC*$tY^^GhaQFdF8Hs*kipGdi=ew`c0#OkGEpq6)A`v)@d z4_Uc5=yk_^vi~BPxxVoR%m%Bc(vcmXXai$YOtux?n=G!I{(9OhXuX$HB-cWdlkY#` z|BmO67ydTzv5uT>U$NO?l9xKna>!9GZ*t6*n;hBlHxQSjOqAQ~D3didt0G)g*AD{? zfdd)iEVLTlt+5b}W;3I=0EX z9LwcqaH+Q{nK{x*6%G>LJU&C<;Nx2cex;b~OYy8$s8A+tlKQ+kfT-6 z;F!KlqGyPGA*hF&l#ld876yb6on`~~;{*?;3tI-9db}e=1IP9Jna`%^0`5TWfG&_d z@YOmD_9=?NK27oY9g;x|1SWr_jaSaRJTU3182y5r&jS7(y-n>b9s31|=kwHAWi z(e&ZlZ@-u_PYb3Vu^JRjb2(QqRkWrCikh>-kbQyr9XxZ~a|(Mi+{>S!J{qOHWtEVb zjfc0~ekI%xxDx*9Ls!B*tFDAkee+7V@v88zugd@Ntyl82fBj1M)2qVM9=H;pb5(zS zwE9Z?7vH%OzBqOzT#-vJ_y1?!EAjiCguLN(2g0>nC|q`^yTfbpa`+14jHiiXY2vWR zkw)T}B&U<#2X7_--yRuq;`cvO>15Tgu1>!sozx5wyAJOU5%(X%;a<(MPjL24-~ZQD zFO^b}kcA?Nd~I>KCr84mR!$QSpx(*yNkCGe%xxl-X8E!1X!n8cL*3@;Y+0x_$*$@t zvWWA1Wi=@E>U`O*u+=zF(pBU zy^r)SQXz>x$tU)VfMSt1b^dH%D@v~%d|fam_6)uH`HJuC@P~b`2UutfuuDWj^ZWAO z42Huy?^`6S-?pu3XG2p{K`U zOenrw{bGb*e?lc$>k^ zI~s!ZdxULU1^3F86`OadsbJ_P`h*gQ{g?g-j$nQLjvHLf6|S1iYlNMR-)Oi2xzws7 zWTNcuh8>L?_ps44p-T--LgNZ(g>`b37Eu~b*{O#Da zRq!mmSy*wan+@T<9gR&5LQqg=W4xY?jXQQWsRjR~ubF1H-77fI17W1|^xcY5d8`$iRuS=$gh74)Rr$jOLWceQNDt(%60YCa z*s!_&M&WwE%#9iN5(G64J7z;u)i{ipWtzNg^@4Xv)dG6gF_boTGHZDia zQ=`-xChBHQ3JuL08XD?%s)&N22z5gv+j#vIJAqCvZzHx9ui8B0dA_oD#^c6!U?V2I zK7)079_}JGUI4vkXV80y=Ce>=FbAf^&uSn;S7Dq2T6? zLKqlr8?f<~o$7c5A$;E!mKT^saIkRwuBJV}G!>cQe%|wB*Q8jEy4$z;_{5U2ZRoRa zY)@yI^3c%`c3eC7eKRQ0|HOGmqK(k8jU}HShQ2b^HNNxjm+$M$25#VHbdjQ{W6fBy zc~CDY#S!aDhvw`q)F+HhVNyy^n}X0N8E&h$7R44x&NU&46ptlu7@QRQpm?|S5zilS zuCnx-OSei@k~T4W*oFOc$A}JE2|lq1XV!GN@hFQM9oFO5ffyn`*w~=PeXhops&NlA zlIp^9q{@EoZnUqAvNA6ZvtBgd``uA88`@RG{Zx%}N*jIi7PfedryA#L0K)!XWka;uv1gql*MusXgq47tkr^*(J2siNltzTX6Ni7BA$sQe$DkpW$z zR~`M=)Y<%Jih%c6sD}TBaE`pLbL)U0N&b1@gZWc8qy3vZCn?K)niiu{U!^@;ZsS_~D&Y6a$uOgmIoWQay5&(Vd+}|c_-nR9g44k5Uf;!bR3YadF4+nn+P2AhC zM}^!f2AwJ(ex*JDJqU^MQ;v{7&4Ao;CLwHOJAzwrK3D9TJ-b4s16aQ^ap-s^im*NM zmHNK2^Ffo0BP(@p{o8&l68@zKQ4tI_5zc0|F*AcKk9A%8VTCm5@W#>_so?NvawOf- zT?2@CZIH}NdlyRVG_Yd-B;`plRbFPB)Yd2&n_E18mkU4(PM0}w;@AbvQymY=M#lqk zj^lpW8$})cC7;^uuu^F z4Wt0jxFf`3-8k<&j$g&e?3d2(F8%uHKlsGv$ke`RC#U%HjFvYHZxFGhh4%Z57O`eD z`BvJm{NA_S$~CunI?svCyRH9c-v1fT+mrsakBg2b_opB2{`K>MG@6WH+yeR}4U%$F zopttPCq?=$#8T*0zc$Ev{bSGPr(RNXH;(6?Gf3tvkQYi^Osib0)F|&Oe^#6quf518 z?1K*FML&TC_L$nzO0;xbExTmAZ2ovlKTul|$6L}}Zt1&f?gityhf-wDoADc@Cw-&I z%JjbOIRg~4R5gIJIt7JZ#T;nz`NY^zVbm@OHX0jER$>1J;uY-<_juDg8mSiNGEA z-S!YLUtzmwEsC~!&YU81>Sa2oM1H|D>n!)vo2u^W|FLIne@!t3P1Kp9v4wY0b;Um$ z$izK$RUD+QD6tqN5~pYky++OrFFfDvza`y`?=BMK^yHbTQQb8Qn zvn;)JNH4*z2K_$`oRS-_LCy~3WH1~^t@NYME%K} zIX;8Mi8k*>Z_J2op_St?_m2f2%MkTqULY(q8yvJ>vVvIzBs2wKrViAL$CI^1~8!l+zIhEkoijY1@Z6CYNfRHlYbp0;0LqS@Lv$t$R^m+^~7uJ;K^;TOUB|T^ZE0escq`@jaIb2Wb2g{|l!w zmw0^;lD)c$qYl*e_dzc4&p|3xA^g$c9N(iJK0XIw-_Rsj!&Ij=$X^6&8k3DdLe8j( z*@IP4xwDZd7+!R~Gz+=kLM_vVs5B4Z-ws{_dYO+eK)7OvSDex!gnl(>Ogx@?5RwQ$ z+6a{vBCc!Dkaz%Lmj2>k3bF)dA9(xR*)G@Yxiy$70`6(ceZd`IAAx-xbU3Db}xZ3s1ng{ForVI(Z}s*5NzHEwCxwkyMjU6o!@Kf9t{@G?em!wsON znszj9xy&N&uCGV4yM!&bXXZ1VMt_1^g&pB7i-fInf+`o=6x(sX9<%T*aN&l;FH|l(-*3Lmh39o9 z1~!5+-?n4V#KDwdHrWZ;pmN?5Jb7^Ip8JA(#<|7`9&o&@Fiv0YWV|9O`%1|PMl;+~ zyet($u-F?Y_Jo{wOh)ftN6Zww zD}k8>Dck1rx{K>V&NX?6`&EjS{TyZaM9CnN8(DpnPMpKzTPm~6O*{6CZ#Q*L1)-w4 zW@m={o!EMdFms?FKo#HW_JFoUe0Vcfp-Q-I<($PUzP=oBA@D(%FLjQ?*mJz2?0f)R zV}?7_$yP-K<|&R_meUH28ZL}aUM^NlKH7=#PRDrj3x+w#CYd`Kjx;2Gnxaw>!UG7u3|l!vqHBngw6-$I$mb*ee0myMyfHOXJ&_Ga z-#1teoO=y4)mOuKQ{#qvu~AiUXN%Vq+<7l!UD)o-fPK@prr>53_^ZH)VmGjT0A8hW ztI)s%A(!LSfo=_MX#lfxK3=T&S@Uh`u$9+yg*t%E{WJ^m@!gwlIrFiyJp@yAQy(wQ0w;%|HrRpRWl`&5MM^%iMz3Hy7;I zw#`^S=huWCh+VyA@$#F6#vR**?YkOO=H1+LvAmuWfMZvV*dz}9oN=X}Y?Csgo6Tm; z^0^T3G-nEeG~Kl`G(m!5yhjZvX-wzfcXPVfM?=L3QPlMBaH)W4-r2~A_6$e4Wy6;0 z`uYvkI4>44X_jM0ebdgJPGOcHVSQHLy5bfDZ*#A{)qzp5XdI2|WQ#<&WzSAvS}!n( zck{Ll_l|R!zHhK}AEd1`R8p5O(g3qpa|c=iCj(RJrud^CP23mCvzxsvPf=awJ2C#9 zk8iD-UchB?k2QQOVX^|LhdiHG+T z`#EU&9dcIa32#=QF2sjAymbL?&uU9yNE0f9F6p2ecMxr}v^N8uJ?2WCyvkwP=^E-gJxpd~V*1?}kG*ZT|oFY;Jjy1;Kk-wyS9S@^#L`$Kfb3*NWUk1FrJz;8Bv zPt0jN;r*^y;r;FUtk7!fDe*_~1bWWwxdBUdPaw~>H{cFZ8y7sO%JkDW5z?|gT+6fz zp2j-SgZJL9e|&D(H=10P5}|E`o%}viCrRuZRzf72-T7Q-eaIFfi3f(2MiMRRe6DeQ zBlLNRreP-YHdR(u3clcudPx<>;LAi-y9D8ej3{~a+$+I(SAz2=f=uj9R?nR`k$>sx zi4{({ro$GtFD_h#{;o{V$fo?tv6qOlagFq6tL8EV< z$M|jtny35Hpb{aGA%~gvzbLKma`m!vhMhNTPFS5gQ73zEXYUil=Ds~$_Gb4X{pnm! z^K;@MeL?QC*dJNvjCy09Vd3Kjv;TP#w7lK;jJL@9c2KW8Zpcw%vO_E;JFvHz+92nu z)X06hzT6g3=i`-3Nb4JiFv8@{`8Y)UR3cymzMc2JeszV=*@E(zjQ|m z-;bniH_yEVU#nBM9HTB8joIyf_B}TRJ8Aei&{(AQ5%#uE^B3^^j9bXHOdAqE>?x6- zfgXQS{$%9@o1uy=T)r~NpGiZ!WKvlAG)bpiBmEc__aydEmjiMX-H+3Dy1+dz%g-Gf zNseM3SvwBt2OTf8ch)|Na3&uimK!MjjaW$b2MWo%Ut=~u=$BwxoW5OUE6t9j(xh4a*p@GEFT#CyE% zvWHpSWz1%lU$Qn7`%2w>U3`r(&CH3KI^tZ_NM#CrSc`X62Iq{&w{4n; zZ~IFAw#)h3F6XCqt-nA=9flAmN4-oFXZAv#ptj*UF}ZG4NK;lUPFg}`jg!iJfGUL; z<*HD@k^{N}d283v&{@$PxFwXgbgg!6-k;ayNbiaJ@qI+YzRrp#1My97=;#@PpDN%5 zcpA*$PBsP-m3iX(h<0HvPT(QN8weYpxo0G~e~i&2J3uG%G8K535BmawG?IJ}a@35D z!?aXrbX%zmUJ|-{oqvIy@ag2Q$5<>@9nvz+hrF-~%f>ukgD25*`_lbgN}~<-NlLIq zxMdm9IX2wl3k7fSIo99e5tVrIXK$Enl)?xutQ%3b)mXI%mqq8%vs* z#=l?JpKJ2I7_@~xDQxrF0=CdY_5!ZW3p*jN5D0`^u!{(UUQ&N;lMHwZn{M1@cza;<09QqbT@bG^YpF!ZweOJ}~yEkuaeG;NG`f(Ha_A0M)b<)ngplD2W7Aa@X_ zQEq;j-=MY`_1Zah7HEZ$lM<<@F!8SU8w=H>&pQ)GwO*)pnX07$g!{H znO2$u1<=yMU@QG6z;@-{gB0b6a?rbXFVi6xv|iC6hfkPvx8(g^M=QR}t%SzD8!hIc zMYH_y!9vk!BCX#N9U_^96CHAB3ce?dlj`9Eg<@iWKlteYfgLF@-@!+^a-^wP@sC@n z*S5FwK(W8_fI&Ron(y6ofP<~p(U#7GlaPM=0QDZ-%W!+`SOM@njl<4P;bP8EvHbv9 z=^aU4Gpdv7Z6nFKqgtqv>%nEYN(i0j8c8}vF}HaRuh7D5+tU9Fwp1Tuj3XFh4HYA; zecHa9aP1q~H*#7c;o7_t<{tjIW{IYbgWdARLGvpaZy@bOLVrVvz|u9x^-H)H(SyY8 zgOCIq#|kD=Bk*<_&->U(LLcav1iN=4SS6eyuug;>dz)s-CU6%H@Ii|PNe3(+!w>ZC zLSDhfWrISpnI+DIw`5qz8QI%7eXoJN50rZFW|ofz_)wwWu(LD(Zd^S~b~O{DqIZ&J2}sl#%T_G&lcz9SQQ{~#x7d@fAidoG9CgsRId;;ki{*Fh3-E#0Ksz)0 zR?+jpfJU-uiExwZ`NYFJs6bKR`7}@Z8f16`QpgX>^c^tyASNht+SsE*O3C#6+JlRq5)dM>45_JMZClF{VHgZ#V90*Oj`h1e^W z06PKeHm66EhX>8@2qaae^Cnn|k0gsm^haFtN^Yw!W!A#~jOW|yt@xoS+12T}nr!yc0Ed74>`R#@JzaNHLsS~_tD2jtZ^M)ZWuXGsWmKfybuUn!<)l$%P)BixL zHBtK)XI;&kA=T7fSPE@(2rX}d1)fG}aumWYupn+$P`_5=%~mLE`KiL=H`}`%x&j_& z8qtUyi&D7An6|cETocmt#9@{_c=VI*Qw)wOg#;ycpobJPtBR9{Ds5 zON@qc5COH%YWPe+SD&gq1tEW6W1gtFXCa zG0Y1wsLweAJ`lcVek*Nz*;8C=7yDPKSWuZfi$ zsV%WdHBvEbz@HwX?PBrGmMmq3QgyLVSq|Sd(oUEKbz5c>6y9kxDq8;;XJtx`6nB^} zUZ+4N4XTs21vqye=hVxV4*I6$&}&l;OFZldOz0~#BhZOx->|eDX7Jw4(lkykE_R=s z@;G)xP&$0G?wm;?Hqq1Oeq5@yaf(f=IWx<)Ny^^|iM?`BPi4WD9N^k+LwhF0EEw>R zD9&%d2yHXW{t;xr#X61A`KjD7-ja>UVzos+}B4kq*OnUQ?W<(|Ay?J(I~pZ4Z@lZTanMoErI> zqq%K4$8*|pl@l#&jYkjX{beejnAY+NuXIk6md?Q_Q0ev6eNl_K@C z3mYyP9hA7{&YQpBnrpACSr}Zu0Rm8hzbkQWk9YCS5{n~=JJAl?U+g4*|1S<{DsXN< zPfqJ*PQZpQWC|JP{u-VUmbPL-00H#Ok)yDz!`gR1O5btROY&oD4d%86*!${W zziY(aoQA#Wj=PnOup+$2aee%Hz`{iXsDg{3GO0L2S|!+75WVfGWq?s_e0X z_R#ZKPldKor{=v$9sbf)>s)}tmw>J5H0?R?;%$@I-Yx~rlr?#v|x;r!!uf9JKy@Uiec%_y78R`k!Ji#rW&q(6@TZWez9BEa>V$ zg*dX$i5@;$jW0d$D<2zy?WJq(L#2FlVK^V_o{x3^=LMGYAMri#cr}Dw&4SG!-t2m{ zv?i=O)(7n;A2r9Aod&2iKq!OHz9~ivKMtj0>A%A1-Km?4GbQ-TSW@B3uY%9z$YEtz z$e}+^+O_aE;NP1R6W0~DQ>D1wC6shTYY8-Gs_zzX6UOP##7jD6kHhl>#J+bytJE}? zbUb9uz&Vc*@fgvi3ln?c#~%_>4N#qhN5I4WQjET=VE%`#8qH~~0>4n93z)nfw!01~ z)tgq+Te?c6*LixzHIpd9OyoR+w!jZu$;l}9I{2IDWK-xCYgWJ<_Jzb!CZU`7#>wi; z@KUhXhc**37S(?RHkXyWoR3o>5^@LFDcln9gGw?4Qt+8>>CzKZtO)+sTKJ`)JhVqY zgk*yVtVKFwHwT(TR=^|aVa=^+r-{_Cwlsm5F0W4NJP^@pPYat^9!+vsWU0>cHmWPVB`7+#da1)U^BqgjF(VNNn1HG;#>PJ#D((Y&47R&AHJw{4H^ z%-<#N?G(%px9vV5L?14Ox3>H+XiaF&`NUsGidCO8ezM8J=GX)y>*c{FNKJQ=@4iMT zqcO}qqRrqNORh?T{ehmEB)$zjKPPKD)5%psNrBn@FkYX@W3HzXO9x1yA*{TIcVHb_{otX2YUjxx&%~L%( zseAeEy){rzh$!`|jbSkX0XSR~jn zylwZY$)sWfSRJAIMrdL@!j7F`7VA2Z?Kghg;^a;pC_UIslp?!vsd3qc1GWR7THYu* z&<$*UHeb5avc82z98yMx)3uBUtS_uR-Uk{d+!8q%afjJlvUuu?G*5)bv9G@ssVvP5 zzfQJ?S|h#|k|1Lwv1yp?9hUYv;05$TIdOdB>{=feU0cV;@|($BpvPqjj+1ki#O=zP zj?MAg{f00Vq7khv9+{%7UeeaO=2pM8wHq;xyWkn`ZswZ}T-s*wUYrXYeHQJ8qmg|| z-!wVGA^ecCxbEhwO2u1SJ-bkj*xk*fIfv7FZ}jbxKC(X2eS?q8E;@U|ilB60ossj2 zuou*DXGGF05=DfM$Q#{}ZiDmEsnym)-QAwQo|?0Kd-1_NOZMb*#oks=ZT!CGu4Wo_ z`gTu?VC{ACe2F}{P^#>t9oodB!})V6K{wDjM%g@PZoFJssLWFe<_NMdrxIUu=1tZ4 z?^XitrUULeN2jT9Hw_RM8Y;o>kD%jca2Fg3N%}A?+a&Rf5`$fCmNE->q~Ns2*PBBc zh1CI{y~Nm{ZhXD!t(w^L-TOSGf5`yDtq%jP*cwFeZo$KJ;5IX4+iM6B@g1K=ac9W8 z(<0pucTJOMblAaWwa?4^%xz2Ggrbg*1;UzGXV_u-OIX-Wsx@+@6qu$3Rg8ZWiFWo(KDXEoyzk2i+$UPsdak}Ad1Z%c`~b$d0_MH z+QdggypN6V!x18|UJw%bI{J=hqVH@xx1#@~=g}_AQxrFEL^Ze-MHe;i%!YTd*47s0 z%L>EhvQy!eVVoFcw``AYU%6A~(?%Z@+IA9Z-fNaLiH4M3JtM^TDIr}vvj+vX;>G|~ zy|+RSImbu#5XYVIRL>Tns*JbmZ6eLO^2@A#hJeWClAq;nv`3xVyq%15XtOFp)TgE!X3`(|waFd|6D_XsX`_>r(aJjoY9 ziU$1JB=Bof! zFZOv>9oLd|X;cnLnh0cs>M8mTAW+i+93JJ4X%gGVG|ajj;uY}cn6iXKY5YBQ=gfY1 zH8PIT3W<@fU6bJ8p+LSt92>#^lc>Wqzm6W}qq&Y5@?5|QZHBD->>S@kVzBIO<=YQ> z#5n0_2|Xpz4u^DDGVLkQ735wk8$%UK{y+>j{l56R*4?33yTO;p-}lUjZ;*KVcB!kj zLYeLlS&WWZ?~>Rw|31mEXSPIiWfI9Pm48F>LWb+FFP_<2kCMMc$)_Pv;=utrq|RFK zTcrfIjQlljR92U=*4~U~`QZ84{6Tl8=V#E&u-@xsqtCM$Qc0PODhjAGs_@9*a2@9M z@1Ld9qK8s8&rHt6;=?@!%P2f>Mv~tiD-v{xpACiuF7e6;`+a!?=ZTsY88iA8W0sk8 zP&9{onI!zjqdNa^a?99A@<57ohgG_R6ZfH2RxhYUH#|#W>&8Pj0`D-uD8<9v)XVLmOXccpr!uFNXCxu%Tqjj{}xI%A)QR) z9wD~RWY}|1pV-Q9JZm?M^AdY-8K7ONyi4cf65m!!>#M#z<%)1V)<;(6e%NZ7djc4t zZ$zW^j_sfTB%GT^Bi-g+)_+DPO&!trDEy?Ldk~n-G=6_B}>q z=EMc)+vAwrIfgJaBx zz=V?DW#Gk7~=FrI8{3w3`738x(u<#b&d#zS*cNfTsM}<^t%#;myk_&DAEN zv+vP*k-F#N9yN6ja;fP$u!q+oUFS6jHj4>0)HSml2bI4@``8;~29AWAmXtfYH%c>E(H1w!NvI1@?S@0nR^R z$h>=Ek<);B^a|hD4FXqw~0{~?7l*IlM{_Nu z1WyV$vbO?Z@KmWD%QDLfb{0^1_WeW|Yv%3qr|E4)Xj%KtarIOw@Ub(6*n*Ld_L%+b z45_^Tz-D0@rwla<(~Q%GldXe+R?ZeF4n*`mZjTN(c+u@{V13i2>F=a^8Lp4u`2lb= z!%G2#Q$5pXl&NEMpe6Z?MtV`0u|f!^nrAEvggGg=uDs zt&X3;JI!Zj?IE*rWL>zp%p1PtfN}a%)33u%eBr~9II!v5ygPBrc%oBN36rinHa%OtRhBGvq$G3@{QZSsrLWX zGpXK*ezS4x!^6%mH=c0MB6S3lF@kMpp0`b6Sc&yLe0)!#kJve<8Jt5Qw3?IU^%47a zoT!N^Phdv%?c`Ot6!NAe+Ib&_JeVy*flOBdA z38WxxlX36BNV0xNLtJsK?G27`s~e!rbi{3b7QPE%dmQHx!e2+&8lR?yS0Ow(?z9=z z5_R~>i%(Hg79(toPg27-BFy8~u}JI5EMC?@2c=RzT1Z86ax9_NF3hRE+}Zk4F?Pe* zobta994lTVk!deK?sir6b9j(2;(WelpAL^Za|Kk*fN$J01j4Zbdu1h z_mfD#TLqvS3HJJQ@L=X;k90Ac-YM~8t(#jrJ%w`4@=dr!g84+wUw6x`qP0)!xAx^6 z=sp%Ha{d!HN;tx}k0Ljv`?@od5FZ<&DxW)~&YAzU@%AH*yd*(FtblLawei+*62^XT9Ws zovJW4M>x+X1ROR2x+-}%XIbZZ+|QNFNx{l5US(%Gtg++*eChDzgwO17vJziRcErxF zgXkOcjU*zdLMCSk72~8~_{RbKb8PtNCWe0|Jxi3y&rbDQJ4xc&5nHD%L=y8xW^@Me zo;_08S=RV|=qSRDk@=m$MuPh@uInt@^nT+}giA+ecLq0+M9IjFok#JWJi^XB)~4!Z z2sG(me!F|Af3e_TUSaTEY}_yhu31<>^yzA6O>x3IYTWQk$Yd5Wf0uoyRHjfEcRssY zb+l4_hsNVs1Pti@t!E{3nw)UARI`)u$^~X~c6ExNI(g3f|4QI&Uo54R1+T#y%7} z+6nu$8o*VBmeGUouk>j`q$*eTS#xpk2eSh3d54no#yI%*3fMobY3yEEr9QxUeLld- znsFx#ewUJHuAg})KLeO8l38dZg`R9T`3Urxur-%JO&r%Irl*(4~K092TGl_ z&-BKuK4xR#!uhiwRy?BG@6D)jP-gV#SaKy~Ys?0zHS&7I(9+t18Ej$kdsEp<1+=4= zb%}2datue=gpfAz31&{O&P;JCGYfN4S~d%p+hc9Ru5oE#y!72_>64`al>QlP05W6L ztLaA6z5?mmI4LWE&XeUyjArr>$4xSE-XKFKyF6RcN{;~_yDCOXvOupO5q;uOL-JKb{TH>q5tlti+nAX}V@+XxqWp#p=vC~8= zR+-7F3hHu~ znBiLnzow)~?rW#V(1->hO&zis_X)$i4 zyc5uSlgvrXN+2GJh6)-rQRYcq329|-S`R&f3l?qL&;}<%PNnuRM}f}AVLZ#*?MF#$ zDESdA);UPA`k;5IfnCYTF=+E)*HEomwX-`(iomtw8p^SZE=JSO!ID5+$NH_u4MEe> z6gQ>9qOM;fvHPQ7=gHD7j(|SKI6p%vkr(3*U@E(c9RWxY0_eGr;RzqdTCq9($A7(w z{mj)tPL{~S{$+90?++QUH!^c>1_hCe`*eqrYez)u{E$|P)#^%_w8)0I>Jb;atpYdi zx=!?a{iS)Qj7$0EJ4I3^T5mJ-Adk5OmLEs&3rl`A0uP*aH0Bn#kEjm~78-6G5+7Py(J>Vxy7 zsz?SeSm98;Bj&DQ>+=clNVdGinpge#DOjjNc2y3#!~mLzsK435&E8|hdqa(YohbUl zQvToiPN+6MKMH{N;b7-cIR@-5ynY{~vxzmS2^*fkO2~Ndd=5=b4&;GD$&TTorH{ae zYAE^Sa0}k)Fv+?#1w}*79g`zxZfgc9gKu+> z9(I;&CR=OGy$n*M@%FM+JiziW+Z(OKL)#<~8ru!}O0(WC-q-PHph1J$4x<5Do%Nyy8_$lms?y`Ohnlslc%x?UM^+@+> zYk#+~@*nD)F*#c9cQw)+NH0nuDOx1GDfa6%xQ&swueElFW-pUV8$o$%qAsZvT2b3U z3od(wR`v<*5Fafp)4VvzuZw|89)WhSm0(%)=3#4i=I^&3N5cfD=dh8D*rb@irl&V@Z$T(sMvpc3+VBKtV zT-#p+eaqYty<}@9iGSeam?a0Bh30h9pVkpa{J{{Z&Xt8`=bjezt`t_gGVH)SJ$Qyw zs*(CxJOFECgUfhn>5jYZ$4^0Hf<OYa)vXaFj-3eHs|n_-z5+7HlbSfsPY|7IW`0^gY!x1vk*a zUhR_U57aR?&ho~GwGw>*_xj;1c0OQlF7mZ`isFqAY-l!ei=+e7j!ZLNy5=3Nq>DiQ z#QGOu{R^RguMJ`>O5+2%vP@3nCEGi?NW@0B8!xSShrr{`c_G?qjOq+7P)`%)IH}d-(RfJn+ppIO_OtAB2@H(Sux=^M=_L7egU^tluvm9y7F?% z3mQdRUi<=8bmb*4Q0X~qiO+cH<1;#`rr8y43X>`gaHv!2vJOEH=0eL;)RqZZev5xO z&?4T|&|p@>I}d((3vN%3b-eONL=)~mG$J@gf&})jdg;w16GmG4@9(|+UoRq+&FzW3 z2Yz#aK{V7&k}US=b&SS|uLT@yl?*hm1~ezm8-WYVuc-GYzLLSepkIhqE?n*kG0#GF zcJBDa*nlQ+c5HK_Ch`7QIJ6HEsxJI8*=D$x$woEtW6&A{1LIqVZ|p;8o^hV{YVZ*C zF8x>TBEm5|Y=1IpETh#<;dUl>2=of>5a|rzzMuZ7%X>Vz?>-yaVqIC>0t?xgCDm(# zEK(Dn41SM4i+d2D_ek}^NN5w8$xfKLk_FgWOA6#{z9NGwkEX1?#i$vHCsSr}+4JU8KPV zn=&5voEn#*&lruFz&@L|V*axE%Oj-^W54Mfcl1-TXR&dQ-}0TsT*a*mZe2tLSGcn| zw7avpPp_3L{gse=WewGQ<5*MoK>{3?7QS$WBfPBwu=3;|KEsHwV;Cz+qgr-HIXIct z+S$1GVe@X97#(HlGjW594r%moCUv?p#eUQ}**BD2k}6i9>7;$dqAT(sEFR-lq~s&z z##El~=s~*o;z9Rb+hZ+zgO8ouo8=E2G(0Rk6l#JtQ9VDHJnGU?oCA2jj7N`01DWdI z5qBC-qQ?T+DV6qj*&*v`LXW?3`hRowF7Ry>*Z%nI>a~(zvg0JOV>>JPB{?rS4Z%qv z$P(E|&XWKIn$WJ~IINtP948<{0&)^S4(Y{71970Vc7WpWXpKvHX=!d9T3XVUTggr! z`2oE$g&O|7EuwX@l3)6NXJv-~y}$qc{GF`!H8VSN=5^-GIo|{8386M%4Q5!kUsZO^ zTW`I!qw%%Ux8B-H(6<9(!0&EtF*h+SU4b(#-lp1?!2ok_S5xi1gH5gXns=T-xz;G< zW+zL{91X8H8Pg#y!;7Fo@$lPG<_F~aN%=P^$kz6e@}ztw)mk7HkoMLSS&CQDsaCrZ6>SqNGled6A4F`<#E)5uY{vNlxHK=De6QvOY-9<{H8{J9y#gy|a zG+L(6=z6#Lf!bZZn1%mF)V&2|?L-ycoN zfz$#|QqD?In``#C!!#dv+7#qfv5zIv{s~I0L#f$z6)iP%`cy|S^O`%0lJfmnFLnm7 zW;Dd`%Ve6HNVeF-$7Z@It-xO?Z3H_8f$$1gg4XDV|1yvt)ABP`^N_kR)?DZS({#R> zIvMuv`y|}8&(=1$58{Hm=`8qvAgQPGuF;a=p`qrd{yGG$&uok#sB_v5XnoVR(D_;x z>3oPGH#l<$mG%7+?+9!!_V=*Zc~NFpV9;v#ErJQP#2lvllM1_bGz}`dP0cBYJP?%SC$>~NKm2UHe@<=kAget7wS4)SfxOUOBu z;?nf>G{4A`2Itf%lVQ~w+6#LEDQImn>>{*Lj}o_XKqK@7NhQOy6*#KHJ9~oWFkyg+ zZf9D1g5G=6*JtqD*G8CDggMxHqV0FBu{LfWzlXudMc0xUv6q7kuTQ73TOC7+N*WLE z=EL@oc&~k@Suj-3L;s!yyZB_1SZ77Vd(lR)tCcHQQLe8Iu<=VtjWy@0o}$%iSuOgA z)$G1i6VsTjeC@4F%*wC0Rb|$6=!cIF%;fD4y^I!1^X}dUy8?ydQJH5T#rMulceCH2 zx!6Ps;4Dx9()(YOHL4|8J)C=N_oKs&-Y190o1n zXggZ64*jZN0(;-cGaJz(^eoIRDo7&ecmIgPm^sy+XuGDpfsTFpD`Q`}HKp4n^$w9G z|@2_kAsL9dwnF^84dV+zJ^%ZA5)C=kT>2p(NhB z)Y9f(=c+YHg1$H@|70Bdh>zHygP@IamXk#}9ZC7WvAWLyM?`b8Z+BVlK`65EWjzJ=I&XcF^*61UMpV;6d8-22CAin);) zO7ER2rS3{8X`eLqqXy6?v%V09yAp;)xeZFWe+j;k31}g)*AHKc#)eFj{g(FG4=4Mr z8qcUrwmvw^J!>_%RYjL059_cw(ZX0!X*It1WK;`|&K|Jd7YJ3|H_c-QO>9_AfSXa? zKN6)JoWHF$q#r&L&6#`}Ql8ol)rS0sT0~tRpz>2hMRIH(A&l6$X4m0 z_sq61Rl2A?cqX8Z>4VH}2EVntKQDjalpC!Byg+&0DhBP21**)f7X1jC)N? z{G&u(jNhAr#XJ*#KWT86?`F_n==cl1Cnn+zi#NT=2AVE-uL#OQ%R~D!_7&!6BSwqH z-G&;jK?#6^?q=@A5nqjc2igy5SULv8!I^QvKd%||ED}5zGxFEMiPTqU}<;gre z%X&A}n}IHs3OG75t=pn&2d&oak;B$)kxuL8==wocII&b;6iV9vKd5EJkpo4BvTo=lyDn(bakP&)s6^P0WDhkj5I# z276MzFj~Epjx7xO5;;b>CI)RKyn^9LTt7iu%z9W)(7e2eyci>e%1q;qd~L8~@OLpT z=8t)>qBU9!_RQl+xnuO5A##j4#vW50Qy+HLAbbE8ajl?l zt`q))Eb8N}3v*rS!vr=?>hmhIy2AsTI(0i|_PME!p~{?r)h#)uI(nA<7C6qA$FK<= ztBbW^E)t>}+*`nP*xs2MU?#QFAQ9F-F1?+C{ws+Bk&MQ@7HR<|bdS&O?Q z-gG@${4--KVofcc5{*rJ;W^0d?5GtjzP>1B4L$?;-gDM#qk$GR`lA-L#32uv*7?!Q z*aFz)5t|L)fTp~nCsB$P1@0?0L%A!8K<8&gLG0S56dw=pyT#qplpf1QXbx!aWD*Nlmf@8O#EYZ382#+hnzWW|@zt&pSue#D}%UHc}W{K89xkDe;J+m+(mEN!CnRrhE^2}&H?##G5iMy<5 z7Vc)??gZ|%Q7!HYaQ7tcu#Z=s>87iZ+-MU(2R+XjF|83EMnpx zV9XAjre&t%7wi{<#6X}qQ5S@*E}O@8xC$XaMNLXT^8Wl;b_UXuGJO!(_ z;lE;SZG?O;UC#7an>bYj9d2lU;QhOA(;TfpA2>0p71X6m1r=m?9C%N&0lH)1-f&xC zZHOCQKDkEE!d#V>P0%>uQFBl$BU(hyo zJK74>CZ{|Yut__(VK=CRmTO%VSslwqxif+OR~?>^MIhXlx%KlF_wT{ZSxLm)auTcm zGF&I4GhwqfJyPGIdg94q^>J=kg51a+wuThhObcW)EnUSD=Aq#P9hV+E&&RIc1%Eb% zmR%GZY5*8VOldY`NZjzs^O^uReBeB_Rp5s6-_D4ECxC2;8(wz48uX%aocDpp23cAM zUCmG#4huPmBBz4{o*Vx7ys|!1^ulPpy*NU5q3BK_*P%1m!>V{U^nv}@?Ku=8))L6@ zXIPj;;hRxRP`LtFW)fu4WQ=?s^PCbHk4lNIK6v~nN_N-mm9k3*YGPx># zLsCn;QO#6I_FP?#rIY2bPnKh0lzmL~7#}9_|4OhYNh$2R1nwjx=1I`t5NzaBoTJax zr|z3+#)vT?8^*NS#n}s^;Gd6?Jxu$vExPCZpn?f{Hf&hit;5{HCA250kGZT{Fuws; z0J`OgC4vT}|0vlN&U&J)_>o>lFrw9OIHwU#gu9AE#R>UusRfvq$sQ@x8SW0zmJvRu zF6G==Ph^9h!Z|bQ`ysT3z34#{t)0@t09wodP2%u+L8aA?0dPBL#i7*`rxfgTNaCENnd_jcy z-ZhP6ZUUAWmm@Da%doac$lpropd*pM>il76R+O#{fIJT0AKQu&^18`)tMKkKCG-kl zgwfEh)B)!?U=3;_cEws_Qtr=F>CF@krYSTqu7xZ>p~1U}t7%}kLW503oxQYVn@X-O z^@o$CPM0-sYKDRxS4nX(RHO1<%u}O~X)ySG5|*M?(D>1$3i7fMc@+Ej^!ysmX7I)% z@}H7acFT+hz-477=r43;l`v7*2T=V*ifc~yO=ql1$!AkGVY-syXNh!5hbB|}4OY^+ z=%y0vJ1VjN1NZXe^#zO}BXTb+r_(9#Oe)ejCEV5|)qte33;G?Z<0zj}SF+`vH4pXV z3tZK%ej^Fq2n}M>!#5sKWi7q_=K6rk&9pNwkYj02Q;#Glg>G2OV7#U>TUwsu&=gI{ z&!p&Y7wUzM%HBl1X{zDCzYJ;npfa^#aCX#fR0m zl$6KiS4Ipm5h?9S0TqC*jANpCMD9w25QA%FU$8)HJso4Y5Be#fqb} zqjg1hpb1pHs6MOx75011TY&El&HuU3IwIy!FPW>m_|1(~xJ&EicfltK-DkoYaMivZ z+QPXg6WMvwm-=Zh;K)h#cci#g~6P*TxvguQsG{L(ds zH9H6}7Dv@>3+IylxdH<%gHbs#wikK?RM%sPkdVJVu8O}f3Mm+HU5uwXOZ6UVp-U_( z>_4l)17-y3VB>NEdRZBP5VTAZLorxW3=icx@U2r-9-eoLHt1lUskeDFmV;hsGS*jm zGI-8Q;B&CjU0%o5R{)2_dq;vetT=CYkg(qj5%x};za3f^ zqR$8yWDU@)*#6==_Kq>ak~c|SU|K#KQ024Rt)!2Jxf2rj4I093I6zo~7GdYEV}JEa z;6bpCJn|yR!+RrWw8Q#X>c@BFkiH7mVSi=1d%8!pcY0lFjyCGR+Eo>urts^Tkv#Xb zmFnR4L`U#~H`mR1b5}m%Gb&mH#+4afqucE@t~%s3uKteiO&|EI`e|a0d!2Yx2|;;A z%=Zpj9?C<~x*;fI-u*1eyI)0EoY~hqN#1V>u2ndrysyW|z8;H*M_S|Z!EwHGR4z?b z;g?TUcP+xXC{+W_zXn$`Q_H%XI8RH};n$cNlk3LE6g{JxAoV*p>M*avIWjsfiz5uQ zcG1(ySeCSx3M;#qqbuFOHl3h-j+BNhZai`0$1RFzue`RZ?AoDkD_X5`p0Et&y z$$6W3OL?;e@&1=3xn9Y`B!(Y0!ANVAFsqi|NItqu80dnOeFzMr5eeC zju@+DvZI2%JkpHV$svVS#9ACh zu_lJDMHC*JhE1GWxLQ+TYq3HiU|+@AGW!kW-W&5;j+l(ttmwHVTQ; zEJmMk`DIw5iCFKm(HPdNES?A>iPO-L!gDQlJrPck0~EV;!#{rKSx7KG3DyR5W?R$t zCTlGH4&3Q**E>4lIlcyOTLM~W-cqhy#dE_qL!y%h3mCem!6JQ?H3PT_Jl1VMA;P@W zc|ZNCn(uBRu^%1ubsde^l2Q>8$t?JJ4u%}1SZQ$%L#uEtEj{c`#cKGImEg2 z_H&@QcW-S#3mu%Bno?%(ZryOjJG5L8(1_B8=0(BeL0n*BC~@ic-cjP35m%$c)nV`Z ztMNEDTN;8!I>Ta}TCE%Y#oJU0JPlG{-S9u&rr~M&RPIanUDCBsWywY@+%S^ene*mW zA?Mc_E9vT|$Yj`9)?#rPsK#)w)_QpWvMq$0Gh*-yaVhFk9~xdj9_5;O^$^}?oFXCXquDXN4UJ6YQkTJJXgs1DJ8x)w9@h*IKv*0lVp2Xj z%7Z(|apzR-lWt&_y7q}&Bb63%KCY1<2G?lC_4PbqO2kiwFeb#bZj<=I5Fv+9#&%jx zBkQ1ZXH-SVZE8wm;AOehlQp7)WK}o(&+}T(s?ekzMo2eYiCUrMXXqLQYimv!Lk#_A zi3{^HkscAhJd&jCmgpM1h-d{<#2BnC>T>2^P|eL7aFo2!yDoUFs0X_hRj@H+k0-F= zp*ubI7KpP#C2DP1_FusH(3Nmnt0s;-?pPDRUfs5}FH2{9+rd?Q*4XO%Y)ftZ%UfFO ztA#xlM|BOjpZQ5rzE>O<_xd)wU-j+Xbb8bHrt3Fva=(hB#<$7c;L!vyN(45!llhFO zS2JQ8&T+}>(Fw5B3X3blP7;|dF5Vu%9lidR$nZo(eHk#1Wi@fUyNRiMv`GSIyfk&d zd@EX8R(_^tw-Zs?tRevhF9ZT?t9SphA&mI#{HiG?QQ{bZI)S& zRz};`<2zMWd4QL=O`_!9B)Gk8XC5}+yWFj^F&Ap@A+hE6FlL?~mCKT~bxw~OvZ&e- zr^f-$M+TwRqrv@>5l5ZFqr=sr5r^jn<;@Kq4)=3Mmet+hp^~o3k!5a8{W5p0M;Ex> zt(iPHlx&%&kL5zwd)9&`*CQ4exX!IJYoYD(P~c2J)3m(l!KOEwa@{qaGu|2x_*zrnK$v|SFuP6h3h&Q-Ln(LPJZ(H}EmpZg-r%CBRkO!p{3rD4lEX-ko%xc=t3XD|l%_fj2#Yhfiq z_4rD#w(AO<2(f`#v2A>Mlyoq<;TzALK-l@7vvgb@ZaMeq?rLE!MypLphVR}j23a%b z5@Bt00&y8W7AP=#m_aaF=2q3AKexILmG0YrsD9tC4n4guRrj6<91RR&21T zh&h0IsZv%`Dfy$M!2_*qShDDb=bTHNrnK(^-RWK`wOg^{n$``K!P0t4oSM64?&|8j zOr-=%z}mX$IIy;~ip5gg`eJ^wif}PMh2x&t(Jk)k$q3$r> z`f)hcYHj294S^ehhsdN9bO2j4rcfgmkiudsWE!n1ygQ0_1i6m|GeN0Xz=(G1#{A#2 zo8~z>kT_j~?_W*vM+Uk;ah*c(zoCsym5G*R$`*%~iOy+sKD>HP+crRX5IP@f>as8& z>V`W9rsgy{hf*2@Fpu(xmm4vxmRj^cL;8G9T&={XbE4ktN9@*tfI?FmFFglCPd?lg zX0Zw_D6Mk=&d8bbp4OT*U!olAJZUT~UIy@B36HoaN4*9JMo) zdDJwZM^4RDS{rT+b%oD_2E)`6t+o{!;jL(Q0}Nu(?`A7=D_6&@Z1*$a1Ht1Mi4X7T za;p1D*@*ni1c9Co_K8j#5q41?AsGT@3D4A?vk807vfKj13i{r7svR;bx>GI7;fa(y zkaCptVb!0KKTKhVXisNTCgeA&>V!O;GGdi{b@%|nzjh`39}u1(yaC}^gn#cV;crLy zr>}&6B{dcDx05k>L3`3@;p}X+EZZhHSh(?m$qp16>>$bVk_qMe7L`Yq3zchH=adHs zpbXT@UP|7TBJ)Zk4?4{kObS=8vY*-N;u z-~Q`3ZHb5ajnKc%M;rO)sYfB_Ovkwl?26hHGq(`B7&9W%R~vrBF21oOh8_KrS9bJe z`FG=5OSO>GA0+_ECPVndvZu~hGImi(@X!8=L|`h=EQZ3!J2z<(7zB~q6fVto;qov zt4=KO6xSI-jA=08N`y zuI%__EYv1eH~h#s>;p?DU5uCmdss@q{l%Ys4#8D<@HY>y+q4qV@QE1ubjU)9@l)^g+|pe*T>Va+hm?gI&oKVPhUwhc8zIe-V z4oHVYU+Z+Pao9573xp}}?I;O^@{ylq$d3#1*V{m?>)a{xH`;C0wEbGg1A9)vzF;Bz zHtv{!tSj*Ho*hEinbE(LYIzH`;u^I4u`#^Cx+xssVoS}yy`gV}W!3cE-<5YXbYFo% zSX}dskql{PVFqWp7j+HNv`e9iF^A z##H3E$-Lh*Yonde9)X39xen-0&yHlcwSn+ZUkEe?eW@NC)vuuadKhP_6F1clB6v^7 zL{`y5Q7qS1&^Qe638;<(y$+n3>ACLBY~etUWASyraY-!vAFgbew#v{DZV>TZQ-n(L zvv!WiN5+6XHI9<+9P~34@QaF_WAd0bz;;u~S$GBR?xkz7ihvrepj`P)=S|5cS_yV4 zM7my@TA!Ao9jNe}#&VQU{w1)2KBIOnR*!9Et;x35R!1tdPf?8m#%76BdK@N$bpb{` zD`r$aXt37wn>`_-zugR}k}6u_$zE5oZhq`%&biQT;^1e#2yLS|LiI(wQmv>PJ{g$} z@7M-wQGbZ!-u^SEDOzxQ?m9j=&Eu1R=WEstmkeab`g#r4jQ#^8_YS&0|1+m1qF)Q7 z)X0pRN^XMQV*q(XJ0FE-x)(w3r{^-v0i2V#@4~efb)v%|pSpQ%4J3^Eh`I`^J4>$l zK0h?);@?jydX1&|vCQBajA@60i`m}??XEI4@0z7Gxqh$g9n!1&{8`2MvpbwxAQk4q z=95gTffd)Ll5It=`i6&=32N*>zU&W3Wh)&fwWR>O zanEFWs#uSo6cbC27bB97RLzL0=N1qA9AEt*_ftp~Y|x({k&j;q{i;8Nb+`l<#Bmcytjl7z@5G*qg zt=hH4-!1J|D4S=dF$a{G&>XIyJ^-=L-v5odlsOla>Gr9uBLgq^C274!ZRrDjsn@{0 z(Qf~be5APBds31l;E_#Wk0$yFw1$zVEBWb8jLD3WvLu0W&=vPf27y}$1k-`%vD$*) zu?yNOp${j35tO1Os9Ci`$oWIgZ|QMD@=82>CvxqJ){+kXI{o2SF~eISB_5NTC#d&C z*djg7JkCC@dR+au=5g)gy2rW4^^Y4KC&#RHerjVDWxx-zJkt&rrvek@>?DSnR6L13 z@rl$b+WcokE9U$$dF6zmo$eE~L2i`;%U5c9g8IiDr&z_(arK8IkkrR0?KM|&z6d%0 zj*@eNXD>*UqE+xy0iBuzm0(f-u2Y^xZ$}-{dL)jte^I)Yn389yg0BY)1XnOmI}3<8 z`-6SKS?U6yHYK?gp$B)QS;H zg;Nu9#@Lwr<1sZ^5Gh=3ZIk79VLh24n7SzKZX5eplI4EoNxt%A%@}OLgR=al@+?<* zb|X-4$KXBz<6OaFy&ssc z4oMf=Sfz#@{(k2@{hp#t`1kaz{jff?1T9scMNiDy=iJiI2Q5}98k+?iNBFMN`;mG( zv3?7Fs{;MD;6~uWLDLaCgcl&q^Uh*y>)&k*ZmyaR+)+!FC9Psa zl@-}pl@r+oo!Z@1*GH$rzMlygW10AM6#W#)e)QZM%Tmriict>OQS^L_#qV>lPdqAU zZ9CrmanUp(xiMR?FVoLwFW8qJ1R`j*P`gYspSf`DQZ=rpGAO#$Bs`}Z|KJy_V6Zd-cLDY+?G-g)E$~_02#TV42alE^ugj%5)A~S?g~9OjaDyJY#P1l5J@gcpX|;=@ke1+%2FaHhBM zrX6qQD{q*|H)_1;$D93lV~hBtE{tWWeqM5Hw7_EMu=8H!dLH-(dyU@Od;z?TU~K25 z`4*}fy+v3ZQ}c1yS&-sRl!S8AjB@X|a?j!(e24eyFlJc&rexm)4PP!qvIh4xy1RPBY#zM|C zRd(tnoYJpU+OTm0G%pW3Tly{1O&jmC-4)ptBb9^F^+Kz22S$QH(JXaJ`i&cGQq)n@ zDbkVe1iVaBn-~@13oI}7{G61VYAU|^_YI^lZZ-67Hu z8HxdyGA5D*@cSw9{J)E|ZfWZ2x+M#8BQ;3%SIMj^rQwv)q`$!S=c24^1X6s|>{PB6 zf1zA^t5%_0-|fG;L>iRnR+MPXWQoY!-=prl_;T3!oBlL)rcIWOT4Db}DVrf_^;;ob zvwG8Ce;FmxZ(M47=?X=Y@SaEM(Exg!P~yZBU!;Xep~X>!7JIGj(W}ev_)7UHoq9m0 zXNSmwLy?xD?Yp-^G)8@wZEbGAdDqU}^n|}J*>775`t7e|t=dm!6+Go{Q_ahmr_yI- zxt{VK_j9X{=#OY@jw6O#*Ksdn@%r~Ua$R1n1W^_m8u)& zUK%jKS~fohZ5yZIvqDS$9+kqueQd{)gG}h-p_LVBjS~sG2yA$r z+L76x0UKPbTEQ*60?WBNvyfl9()FZi!@>Qq4$J3jU18I&B~^^>2N-Pe0kmD{1km{Q zS5l>F!yCN@$h-0_PS<)<-ofW-9LqYF!{j=sn#?`ou=Zb=@C8C>y#I|1-HtWFSJPjA zRr;#`G5ycL^{~fnSk1x4J!%iY3k1ewHTIttVK-qJwBT(*zU3yDxeof@_CqFqA9hfN z%Le#8Wk0QV=R3&q5t~4FH3(zWm9LUJ+&r5#EDruo%#~slfCf4gBe!&2q^DWF2)H0sxty9aU z%d&l(o>|18T8Gqv-BZ+#HdG9IHIw3B0sR>F(_u#seDNY!`SlwFCdNLozQ`_+X zjNHjpiHHTWaBYB?TOpZBoX)}u&4O8HqqQW$TS@<> zVmHM(w_b?4XXy%(MKoU5sJ7%2*f!=wEU@OY26y58qDWuwZ0od(7D#b6LSr~Pwy9`v z$Wpc_0H4c3py;xEU@Ts6%Fl{Q)&%fg+dDi8eI zv`991;iUYJiLzoz(FY^e-$gCvc){m6wqS+fLu!8?+6+&$+xg_sPF^0`1)JvG<@QBE zI_zK`gr+U_f&wez7%#|uRA10&y&p3t)!k>UW~{sP&~3guYK`&MT@i=1ITFH3>q%H3 z(fNX|yHt_)z!8j(Gd#uE&??W1@LY~u!1I&i++^51Jo{VZJf00rhDAFm`?3G;esXj^ z4_raT(>x1b^W0Hbog6i^lLb^Z0q%%rTyApK5*q!G_fJ&B{sY%Zcreun<`@m}3+4Vc+;h*rhU?3~Gho08(09}q z!pH|LoX3JUpyl)z=@7abGm(t8m2q)C);hU&8ovKB za;3Tz>oItMeGxYF;N@=BbpVaIKnLDz-;fpZuRldD%P);W;~4fMl!^}`m2>bMVe?;> z_l^b-20CLC^eZn(j6%;{2yr>G0WC5;zhd4g!n`|gQG`^a=d1$g5>7+g(?@v7Z?usv z$Q>@r_l|Z+wWco7if6Dg!?&?(U#WtpY??Y#*-}KmzZ|Jwip)joUO%+7FeCH0M*i@% zzJgAX+IRmRy7M&b0)&l4?!Mxa-ohcYd0c>F8K7y6mrO47NCB>|S>rTlmgiua8_wPo!AATj> zw@1=+r0G(*oejJ+&St^Xq)_k~q4S*44cS71fB|BePu zQyd83E`NWvV4BZdG?f#0@tOwIKt{;yB#$TMr^X0yDRdW?+?m^%lpmi&r<4bN1bggk zJo(O84t@`gQ8^vO--bHTo%}BN^Hsp87T(S`H#AYluUi|o;{-OQ+`jO33{gCsq2i?Y z?oFJUwkAi|?NFb2TJTgr0l@uUsdjCN^m!Hr_I^dk0KdL;U^0Z#+U zm6)<`IpCE07f}tjD|Y9JQx9&L0mKvNfWbl$()RfUz&yV!|9jHB6)n6lCR)G&v;CrS z&CZ_*J#E^{W>Ad7_&3HWYNsgX#5xh@Da1*)Q!jXP4fdWpMXX%sk;pd4^Pa88F8b-* z)p=|3)_#l>WHB$g|{6QXl;V5PLt1UvhvLoz`Ni4$B>k?E*2Giq2> zCY^wcZN2n_$tfD7Jc&i_)FN7<*y|h7aWTDiXq3l`-Uo&9k!o)9(DRX3eX=+o+Cg`qy_8#>m ze@_zu4j+ksdqS?FI$6B+40Zwc>Udfes*CNi%(9%l#2q5uCQrE5_m3C=y z9Ss?mW?`0GS8W?&GRg_K{x|o-M33aZ9Lw_}fIISS_v9Tk!H0GN zxe|CVIl53f>MV|ANfyZffMV_%L!q%sf6;7OIT^oB6w!uK@>>&LDS$o@5PQ)dNPiDB zJ1RxSZR?BJ22KjBpmkz|&r8+pGHsDK zYc>q@XRB6bi1|wlK-Y5AP(J<*o&na67P-xW6+;R-Y$`v+ur#&w0EOiC7Hg=Zm=`H> z7dV*Hvw#}$8F(3Mh!+itZ6oy36^szgaN-=bfTL;r5_<32(uF`L)44Un^Us|O`@(G| z2K%|Sp{^FDNi!^B=PGd81YH~%-%fw|nWWl}UXE1|k8cCpw58jbi56l;z02|jXp`d` z{hAoHZ223kO5u$uYK8tVXV(nhjh%T0oH7l$Dp>(Nu_~dnm_2?;ei(Z4ltWLPdP8E$ ztPkV}&_#Mbdkrtl!0HCOUX4?BB^i_U7}Tny2dke!Aa~TD?Ji4NAAp9w^P~4D%~>1O zdHVmGmgy^LrIB-ZwCXA3oa`7y&Z!WLi|ydH-b!eO_x98GurD-9n2*Rfl zt2Y(9Tbn*uQx9y5;vu_YbHv#%!Tulf$nY)w>2G}4&%`vtbO(oi*LZ3~zIL4Ii+rB* z?|dcaul7&n{4{oKQ*!H7InTWAMREQY^84Ty^BehUe*0mOpZ7oJcY~7OF|>Y4lS4{= zPokBl^P8sb*He_XPZv8(q28`Av5Wu6^%KT_DKjZv+pB=+v8C3F$eXi9Ohu5c&p-1;U| zlUFIwdy0>|lfMVvz#Dk~_D#Sr-L>o6{!PLEFFx{fA28c@?DB7J;U{&|>3&e!H_YU7 zxOY*M*6~8IcdUdThmadcx3GP;mO^e&4rG7qz=!gGi1rpXV+P*eI}J98w0%6>M5QbY ztku}?iI6|+4N={;Y9WRmbr5@4n&CNK93!Z zGFDTxs|84zz(F)={Tn$@RbNo&nkp!*!JJ< zP5{<8eU zc>3-4#xKL?2fa3dmg)1)C(prthUY~i#>*lGadDL4;BhR%VaG8ShZP64ui3>CejU4x zghH%?a5?05u8}x3z(3Szpt_Kwa*zmd;GK_vr#e-=YCnAChIHSAej)FBb_<8Rg`t6A z8vgFU91p4F{Eh;F>n#Wsa$YOA-pjHLsJIm?FUj|%uxHl33|4QKWzTr1prw|+qrT-X z$(qz%y*1ZHI+dY9x7lgDY+%7E}$rPWqkf>`i!;srIfrKPt##o%SqgCzH+a& zWO`Eax31i)uv46ZogY$xREzL6Sl_*id39| zE_BGhE8QU;zVe3BVCPTO=p{59)d=|IKX*I|Y>j%le{&^~9Wl&IZ=Nm=&04O8zh4meTrTJqH_E(c`ZL zb?AK@oFb{zz}F5&2S0n5_{$(+Psz(+>AVUydhGEO+PUf&3*NByqN;Li`X=BbZb?oLcHg;nff!1cNWEC#KhL!&QAxZH`d9w`~DLK~Bfd#kB zgYUY@G!LOQ!e^h#ZxIY#bc8I%h-FWk z)BovQ#CRCq4bK$xoe?@%iiQV}H%-+kc@(JC6h(SBXhG>u!$40~pqdqyZKNtYGPw0P z)@TJn49Mr@5vHm%nzyFZ5 z)`?i-Nq-ole784Wp_Lg=-%)fb==W%wrP?1^)E5k_*Fu)eE^-ui@%B*$YX(PA#^kq% znRB0YG4-%}^xo(t@%0I+5pn@(cy6R9g@oKRn_+00th;p!aF^?+`sj?69a|`u$MCmP zA07DZ@aLOZq0W`-Ie0s%GDPW2lW%d9I9>D}7QZoCwtS266{qVaQ=OD4te3b&b>a!M z)b;2KQK>-e@Y4OIsWLFI`=Z}d+NL{n_A!ll@H4{rGFFlDa__TV zgPU5|66um$op6+hULDVS;h9JrM*F1mZMsdP)x-$KGup3!y9+yDhNpJU>JlI>n6XhC>+BQqM=3QB3wdFkoy-Rcr&zIx$4cO%dJ;Dz zRw;Vt38f7XerTvn{B#Idg=hyA(6Y>)fCOuc+hv9n*eeoqSG`&45@TD;Td7{9S+WT5 z4GFAr$HGC;*t8B>>DV)#mw}k4p<`QSPsu-nKCL{?pgfeSX2>WnLuR!K@{NBWRN=&@ zLqJZhgkLbUPO6bW>q@KC0KXNzRgphv!3C5z0-c zWdAr1zKzm}sf3OK-hCfh)a%F9y!9K7A`-PW!FPpnB{k9Knv>uZ2W;$ z$>_IH8~fp3awh8kf2s|3{?&CcEPro;X`iAvJ0HAG8PhQ=KZd!9mXOB^TT@Qjm*2J! z5_I+P30WGKiXd^pI&*mwQ}*!?rPRnIr5wl?qyP*4f&N;9mWUn1$^(;agVy6$+XnnF zK<2NGYQNAH$|l>wkH&tuh0HfcEL$~ClBx_yWkaSIWK>}wfAUgHWPt67`k%PFb6{m7_%dnRV_&Uz}XX5nXJ>4Yd=O($uRPK!}?^_S>mh(K%OO0A^i;mKCYLhIS7 zQ0%XxDY+69dw29-Q|#SQ?Mb$q#BT$|W+@aCP%;q|dwrBrY?(rrH%H0*=ae1dWvH=J z(4MFINc;K@-@B5~k9pw!rdJxLO*8f{kStHRUbk!_&wFQIECf^YMo{0An>M`dVq{6wwI%R`Q~ zj!s*%(_fF>?P%eOqKrtT^wY+Fhfe8tp)19dO;g4?r8dg4Vi>h9Itqcu?rv=~iw-|H zA@C01c*?9|O1^pYbAFFXwc1I}53-+P+b87VF)b;HY=qR~Q|Ly{h*Z>Tj>AXwadH?Q z1deOJ|ExuIcvx;7R~_fK=w~}jeOw=5+Z~Yh(l1jk;%mr#pNnELm`w{e^3{gj)$rL3 zJ?lctAIg3~0+g@)7={O?(5LQejinS4~@*ib=$}ccR>G(x`%|Jsvrn10yCi~x5N6quUVw}O`r;W&z8inrD( zsEO)G2CbfvKimxK{tG@J`X^|lINctp)R8wEGE2sdH!oj1d?)Y ze@(px?WE83-$V2lA*FnCU!&WV2kd*s`uattq7R7WDfy9PC-R^|Z=$t!AQ@}?nL?je z75eC)k573t%}A_qiF6jUd~<-Q_{~tdY?NOEt{1Q{;qM5xF;<@ee>@;UKM@qCH(BVAVFaDpIg| zu(3+&Z#?WQ@9#vNso%9qI+QJ)R=y?g3fE~=xX!|)RqAVu`M%0|K9OW&>35VL8Qhvq zH35sStIOAi-83>6*qopcwK@7n!nnE{b*P5yCC8n8rA&WGe6b|@$&%a!n%WfFu@@O$ z@*#D6jh2hHBTB=>srjo(B~6pV_^>hAy~R<|T~F`Xh@hlTcYE^g zCTJa={L+_;Ccj*D<;x7#^OBFoj$v;{ACV**JQ~qa)IHgjxca$33xd5n#>5w}E+Ucb zzD*?wy8q#$`&ZzYF{jlfQ?e;Z_Z(@f`f#!xOqIj&bI68qFg4>q%%}Sus`8h#*2aB3 zbl=3mIf&I~ZKU>+^c>QSo!iVyB2&4*+uhiw89RR*cT?9X{xI6(|4F4vnXkRzlY~#j zYs`MUJ=u5`Azwgkekz{r)mR$w?D@ui<=OLoJ=@<4o;viV4oCuuW-H?QQ)aF@?1Dm{ z|7;0|Gc>DMw_OrBzFYkJRbOQ6-9A!!xu}QBj`VW5kaZj<;w@T(zF>TB+Ag|hkYt@ zRQ!SYCXq4cdedRru*zT-<~j~Lfs(F-$rZwW&tx9xlbgJ`g2xY=6(wzYr*CZI+DQ7F zQ_pkL`63L9)dzl6>Z!VozoII81`7EbxDBM#SK7#y&vDW7lc-f%XHWYY{C_Gw z@DwO6PS&F675#RX=;ak!^FF@O?&5v%U(k`4(wh2mW_VKGr+x??(KJ*C3;E!Yz~>!Vs{&-qCFHSiO_awwl3(_-J9F`Fmz_MFeo^2qb&_nB@Ie-oielr6tHM;NQV zkS9p9;BAb`V*c_tqwM=(Pe{EFo;V+Zlv1O#Oxh|KrLO5(kk&Fix6yo=nd(;GKY9-p zLVx?hi@n%0ZzpjH-*rT_X15lrJjiZZm7YMu(v(_#pSQ4DzZ$94daK!m)wSZUA+sWL zXIvy551YOoOu+i$z93PoFJ4n@FBlicCV_WIu?*omQ_L$q;rw_2*mpF4SAC_`N4*Sr z63>EHQFSaXAO-VgrOKE^s`h7{FI{+Hh=#v953~){dQl>@Dq1pHzR&wap%yNo;4g&6 zY82i;@2(X!Q(r@>2YjvmH^krfYOZ>Iz!<uzkIZE8LqK>Vt0>tO~I1PP~Fua5-(& zTZHrCHD$Mm)4fL<#$N7Sf<26zbQ#7ft*E^9aU0GIJW4X(ThV$xJ<&sU|b= z#Kg?ZXJ$@kW)|SRl_>p5HF>sG;XV{1Q}<y&#PseYd@zkCmV*m1mug8DFx1z>V}Byd17!@8EM=INaCmXh_ZRVg zI?g})j4(5C{_O9Fk8|~>grWO;l|VsP;rtfP9M0P+7$zI%pII1&?n$)TuvZ7{udF}f zd$4z|{s8IWTsw&LaDMqOgekze4QG=RaX?1-)I&Xx@U(AqPZ!kwjqYq=AMNu3IOKUG z%9NA29QL}j9j(~mj=@(V-D6|hZ+5HN4+z>0MqTZq97R#YkojErk=|p_0T>GZ0AcC6 z&nz*bE{63w=KfEkhL~5N+6-nzBa1*5&)|t$1o{~C*o=_CJeJTNZw;x1--N7;#!TY( zBy_@FK3fo6pZ?SMAj60LX$;eq`ooC_aRu+H?R^CrhB;oz&(r@~0bw+UslDH}qIt|b z{o=yEh|h|u4%^y?!1Ejs0?J%HEpkE{gpJRy;8l$I?#+d>m|6PQ;Jb<1MKVv2AcZ()sn;k4vbtER4C~}1+VQ*>@~oZ1xyp@Ii<5hR!H|Vcnedek7dED z%~Q};Di$7dcxIL3*HJKCSPx%PpS@>4t$KxV14Zuiyn7ikb$#bg*(=viU3L9ZkRkS0 zeg$cKSmIXa7nU(+r851Cuu^D8O+A7<*_B>rS9&kCQAz0xnft?Sz2C+AzA#qysCD#8 z907O`0@nlE5o07H^P%ve-tVK%e-r*8LNbc>aIUD0u?n?6jRr8X*hD;s1r){?k={2d zzwuMXwXB4?0nVv0@}_i1`mS_9h$$A#Z%eN_x&Ei|)mN6QFHRTor2ifY2(_XC+LcVi zCdN+(1R$7DKOnjQ@N(3U&VAlO=vw&h6m21F2kJo}?abj$q^t7~eHb-y;z~_G=1py} zmESb|sm$#2l&BoyCM6}htKmg^P^JCweQE50{-l9~0GTrRoKeOC)Wzhz`b%TQ50!h= z+vNMRllNa9(==7+TOl>oA%W!i^Ym?{EEtFwf%L zhI1j#T^LKKkAP2bPjH_8{}84K=Xdb@Ih-&3jWFFf{~7lz#+^JA*Y*c| z2j`dHM0}jHa8K>DKhrTxKCnm@qqQ-lfKW`>-2WoX$9TqIyu$7Xqr#an&j0Pf?B@2t z+}Am=5)Z66uKt^v9j<-`*im}RkT1nm6D-{s+ZTgU8s}3QfALRAf&Fp{Mw$ZZ>5G5= zmlRZAPQgG^_}5=ke>p5m!-5tV^EDXrDVFNrFegyl;bNShSqa?|94#k-!-n%B9JZGT za|_P5*D=gZFAzq;^-&M5p948?J%;OxKZFl5yg!O#_49;z56>fb-t~RL{5P)mtYR4d z58w|P*BlPdlY|+@c_YH?#r0OaAH)5f9fbK1=NhC_jBoA2^F=s5=_br3oZrOrk6t9q zMud3<#}ZsqzF4Ex5y#YDE&ZFi`TVS5zxc;r`I~&+uKXGQ#a}u=So!1r#UFj|xPbQM zYi@4X#b3AC->`MlGX6Tal3liRQl;T)m$Axw-dgY7*|2%{RB4e7TuBX7KN$6I$c&~hnhD<2kiHZ-ii zW$n%U&fVL0`H?`nG`j=zX2C9R^OoiXQiC_3T=HA}&FQ$vBY$1>o`s-UI%|7&?YQf% ztqq`F{f_OscJA29`*wJDZsI98ApQ`Z?Dp>5wX+#H+SxGAzumu!zxC$Y^|w^>*6QkO z7TWE=Dyz25};stfltk$Zg=^5siA&L zx_&l)2}2S2fcxEM|BmehM4<&$@}ykg9j#9KOlsH~;5XE7+XQmc0;5FRwt2U2YUUTD zD{II0hN)+j&7k2y=iQA)vSa5q?=FmyN?Vw$E5ye= zDvhS2oRs@}_zj>mZ7KKochyTE?2cW$;*Z!$3ydQ9(LOiXK!9}ZBAw0N`dvGAwoqC( z=@S*nz>eCuxB4|mR>IZC_D-weWm z3TVknt=og;_L{A?1K6^D*KY6DDc{aEnhF7fHTmbOrk8G zD8JR9C$90!Ux&`LXH!G{vUFPAs~Ltk2%pIjVt8M0G%e1JsyjZF{|%tTXTqUy3d#*nVLKuPrJtV+ zQH7ljqYjd7xTjR}Hv2mm`&XJ)jE-vs4HV9Hhsg1lTkXY5gpcHAsF@|@>{PbJCOCQZ z@^PKRo;yD?a`Q@!MFl03aVQSvl{hL_?k4jzktL5(aWpyJ)hHnoY*puqn$tJA5_J{AqoySSzj%CGU~i~8_wd;VI zY!Q|Or!UMo@>!knh{`qx63gbuXM1xxGUHiTdGClwVQ6OUkDof$1A8warycf#?KvH8 z>|;-OEP}(N6+(-R?VmkB4!^Oj(>|k}Sz|O*3VBEPYvsD>>+`o(!2{xTHc!N5TM-EY z-*Rsxxi=3MZDZJT2}b-_9kd>h?zP=Z)YP)^lNQdUZ9jQ0*Im2wlY3it+U`5E(^Ah%w3zoUczb!gq)@DrbJSHJ6KwE1}?-k+TD1mr@2 zlfiTDv$~Co+bi7gbkCWHrPIy^QhfZL^)Uu^G2OvGc=~kEYUps6-tKbn#(Zb&lRaEF z(`?&Y+w9-l+I({F8P1r+?6TcoyUTxn>#mpEeqpqd}4s&pyf= zcsYD#|7YRa1Hd9a;4I7E`6@i0aouNjF|pNyvtn$8cK4g+Kjde!=RUqSq|=`qb$FYg?7RP477k)C9itFXJjX)x9{)sd;j?b#+o_j z%sFSy`kd$aKF_nKd8d5;shyFBbo=Fp-23^5oA-MkKDFN>mQ=wkRqWZmz#iRkcl|4S zn(HHvoXS%l{4tFFu!jr}IuF%6 z*mR%nxMBC}_torX??1HL`H=CrA=va#O)$7mSFbuwo}I0l(MJq&DW!{>noh;#jY?oLtY`Gp@~RKYc%Si?j_eF~-8m z<-c?58*3YPlD5XC5+UQe1ni&!8%p(TbNGqsK8+2AS}k|iI9x5JWL0C8XI~4xJk}?x?tMtcHJ*vY8`C4r*kr%wyXU9sxY6HxUWg8KVM(pS-8QjdM;u3 zjgV#+3*{bdPnN&FE2k}BOzUjqAC5J8AGS9ItUFfQRr?bfZ_aqHy<~SH&jS6iHb?N) z`xxj&>`aUc2k&QXlcU~19(K6UW=cC^w;6}Ui|+5dEK=8`{i-&gV4j- zl^||XeckU^hJMdK%PmHqVOFzRw;3*bBA4&@ukAr|}?QuaLnNNpb0u3&0XoILfmW6HPrJ;;YjI2&Nu0CAMGU_F) z;#au^vV$bhOCED2B#-!t5-sq9Y1q5_dJV;^T&jGJSr{=%{L!t5jBUS=M zIkh}13eF;Y?-Hx(upaLW^peR2>r8R8nZ&*toNcOiOb;Zde-lk_f5xOa%)+7!d~X$N z+FNH{bgD1H=QI4OXnGXA_>$k&bT67LY7diG_8=S5ggNXq%*ARafgO)IYQq1jhM1Q* z=m^S@6Yy+p6{lhhY4L3rfCAQn&YCLHF+^g~eyXvv&q$_!3cLqDgUGuJf!Y2PYn@i3uR zAx+PrwroOkHsG)AyC^){n}I>$dzb?*GA-vl5}pcO^h#J=;$$k#q&^TCKFF$Eqwnr2 zA|dX$SIwNSKid)Lt@;Mb38H7t~ivxY;R2 zgS^V6ll5VtNI#mg%?C?)^!;5$sXE$ipG#GkZ_x0J@*3_OeP>ru5%4lx>?`0+CQGR@ zw8yi;T-B~3YU7ZEv)b&lb^a`TS5}DEXwTC!IGNY5=Wu7%hazhBeD2kAmddGmW*$eVQqN4(lSMrVXj7dZzB_@YX>=Mcq~6fTG@oKOBU{~qQ$MEHa>KMO zRj4Hwt49l*iT2geFUV?3LZgFi~v2SBOr5`sO(;o${W*Fal4%?Y4zqf=}K}scS zbD`gw)^2Fy3V+}wK21-WoYqFINUR!QL|LmsEL%7iF${FIhd&}DPr%7%9^|_K4mEYc zEB9pfNiJ3hBoNYsN?{p+9z96x%>m*Q?&{Hg8=YFoN|lvn2`e5*J;sZ3g@`d4OQHla zT_w%-MX=7WVc@gF#K*$RBJ?@iS+8HMIq!DT;}IQm8rR=?bz;0X0Yqnwa4yS97Let- zmAZDI4}r`Uvqiw@r9WoWkoUTBGG8pGh0urv+N)6C|cmcln|^Sa2pQn14olsS9{1=uFcPrdS{oH9e-F=}u?R^kx>k$P=yX z(Y+3vqBK63FX)0M5)+WVmN3Bdl8N!&)XaNc`CTgfyq6XI-8I75tV>#fR7y3ZTw*fe z&lf(^^!b8ex#586Lq;Xu>LP|5!!*@W*R%P~d_Mh8uIEiT=}hU1+;a2s{2bN3IVCE5 zgW2d}&I!a*^moWlm6KsW(Fz# z%Y@s70&$Np-ZfvMYgDDgwln2i`?$+F>YjpD2Q&G4H8Iya&Sa^dKBFa%GKbm6%f(`> zf`1*L`y;JwfA4s;wI)mKGW8Vv*1=fxcw>o!nD#lcMU$z)@jm)!bN*UKuKd1svu>Pg zE&3|Y#kDh&Q)Q$|_)o2%v%5UH9@8>Ms)WeEJH5$XXcbxoa&kgW0V#gSp$b=tZ%mk7 z(Bb&J*ABhe5439p`)jw2+}GlMNiQLClF|juooQ|QFez~h`nH}d5Ao>qtv%YbHWH%u zX|2@K#m_~Z%Pi5^rE{4ieHhdRaRR#S$k2yN)Py5xybHTuICYm6T56&w6=G#VdDsoG z#zRYi?k^nn61s#L9z{zK7Piv!brk9L`FT^T2^ek0~rX7}q8PG&6?-qfO} zEb0X;MlESIU`CPH{(h<{L&!`OO{exiI|8~iG!88v+o8mc#MQ8eL9ZOn74dfLo-yye zp5-7QXNv{HCG{DtKC{QP5A-ReyB;s&E3CHAK%b z#rm{~>U>w)g3q+1WI5J5<;@e?1+!+hJGsm41>k)oV2i-B%+xGYxW1(CqrTLR-8%!x z)=t`U3>ratTR~g1YMeRGDBN@i8*Z&SiM?+ z6|L8G0#;BeaYWlvinC00iOw&<`LM$xLc9EuS)~29-1#%dLrxNHa?*VN-_x}rT}Vmy z7FJphQq%EjaA_q&hPFh{eZc6`a$td#xeTp<6Q{}itaR5&m;gParYrc}eMW`8r_ypz zD%`?u*6ora^T!J?U>~)z5U^|bZq|lEXRCa8%({=UjOC(Hfr5L;UawG1u|^RD@97k!x{*lk4{y$X8!Ib2T2f?XC6AtP?X+)|vyLtnN_4^ziUb zWy8iwZInzgmeMy^SqFqy)GW#Ut{|JGttk~}cSBmVc z*7M@Gy!--7jpkA9VU?9RJP9**QjHGhfsHuX0R7jmA32-&fxMun#UAXK@E(pGk+ia{ zs?ZFvPEf4}i#FTJlgs9jkDYHn~CF)F^v{>CNbryb^lEQ=d z4U%WgIGbD&2eUhb(0-?Dv|96N%wcAq#&PRK9;nZ2~<+$`VR> z-vR@WDiO1Ds_r5wfgK(PU8f6Nsk)@*6+JVjLq9?XKcZg@K#MN+j{)A!VuwiCQo4Uw zbyVH1!dcn`OSd{#o@5e@u8E)oDP3U_)zBl`3u{oBB57B*sem?LH>`7k2H{m`wK>Z9 zneZnks9l+^3fB!T(v}%sqZSGp)E^j#HQhC2FxcrAFybe@jM|7DApOY6Oyku*wx8lXYUc9X{SetLw18g+tZqqG?iTWu;_M&RVc)I1-+Ejz=9u ztLtbwBJVPH)MbEVJG;w0i05Al~Zk`7E6IY+%(ccIKf9Z z_x?^cSQp{~FP|?KH;6s142-F5iJ!?fQJ~mF?=fw$$ebtEIiMcq$sYqd$M^C+rqF`Z zPZ`c&8o#Nx41Ps4!Mxt%U@w0;LF09JGkZ1O^xp61p|ehqb=E@J?ScJ9!RsCWy)s@q z|7!2JF(KOX#qeN`wm^+~#2)cZ`TNhyA-qX%1x3-i1}(P|$Sarpv4+7pF5+ddTitlI zW&aI+*BNk37%?@LsP3313VP%DpAe7v>@r z?_nGT44><37C2X~ceJPPvV9nZC2QcWF?)X5NbbBtFrRVVxm0IMTw;F7@K&WIX}w{I z2WtY#Lu%lG@IBOuw;?>x`-v7~w9R8Sv|ew5Ew|8)kKTU!?Q~#r_I(*oCjH%ym{bA5 z{EYT6RwNd8#o3xDhhI+C1TsgtS>Qy$K4Bnz@}YuRf?!Us;G}1noQX%xI$0GcVRI%5 z=0tB^Al(n%7pUL9^T(ZMF*p5Ju~fkLUByq$x%V2b>ZLLFCxX|)H{X6O{W|Zp`;K1& zt22Vn`qjQ`;rR{M-tAs?EqpA7>+Jp4!Y}N-mcDLG_#emQ**zxB_wZk1>U?3${eAnc zIFFxGW?gFwLPgHk;i5-JQKa&)MCc!vp8R&72r9xVDe;NLo5>yLDQ=?r#b%%?h`pa4pk*k0s2UOI_cmn*RwC?f8m zu25G?*WoT>CA3W8aot`CtufF(ODl1zsmzwFG99@s1)T-IvK}T&UBmGg236wYv$D=n z3&sbW*_X5Be8kxcau^!>)ZhYW#?Cik{et%N6^Ne?ILUh|)E^q)@UItfPK+MRV;~}C zV!cB|`Guca<@fB6-tDa=Kx}%wlPn!xjmJ_Osr9brS4UQ>+;XiSv?0;4g3iF=W-x2o zX8e@F_5*l~KrDkF0=ffjsIro>#yVEYb~Qq4z7>CUZjI;UYAt-5Y2ja03lFGT&&f5^ z4nE~&TVWW7=G#lIfHnRHRerj9yr17<+cK5l)W8ZX@`J?*Ehy34|j5pr%q;zPiY_5JgPpdYITA( z4f^zlb*+Yw19mWcVk>-y+bk+b=BPh`>?m7Va0&J>e6W@uN`nWV;rIifK+?hy@Xe@A z9}TQd&5WpI2K~oY>ZF?^s@PBa(m|auVFr9trj!XE1A4MdtVT?Q62q2$)5}zD5<%b0 zV$j#sZY%62XkgWju9;d(3kOdI7a-h^tnsO0Im$b_S)cSSbbs2r5V>satM&1S*_?QW zz9(_8|8c8Z6&p(28u>$SnRqwedmr)N!s|El7#C|$tfFm*ywtk|Z!hgT#p`1Y{nQG; zHjn?RHv+Vm0Nh_s_M4*^48TnQM%hufvqEuA`nb#x0k{4p;9UwN^uOI`UjAdg1}mGtAl=Y%Jxld%A>(ZJ^&qU-=VztPjyWd zvvnhHqu7$Guoe0lPT-zW4Tx%8EqCPo^_yw|h*}S0eaLkrY%L&2wDm{&CH2av&j@38 zn)~6-qEp z@E&tphu=3Ge+~R>mE`v^fz>#bOvN1IFvl2aNu;Njd2Fui2vh;uG6Pqk%)UTm%?ryq zg683P1n)tI-?v10YQs}Lo)#-lhw)T^rv=K>LwFh|c_QK7#qNVRozlOIv?vnlE%h2? zEg$6YeBq8rbMHFXYkba2!G z-KMnw25#NVZ(p;G!lvl^sbWSjW>-tyyc0;b)$8~we(N@VhLR4G39A92^N9We9!2qU zDQwzYe&?2rTej}rlB&E?FU&E@pc<(cos0Zvt}chibr!e9#rtXFwv?2M63AKo9eb~UbVVI+_+M z3mik?e(la34HbN8X=;)Ey8E%tabfs)#cbc|=3)zmx1!GO;f6@Dybn$ihT|N*4%U77 zf5(1DeS_MmF82U5O2eHaGyh&`cO)Ha13S5scKj8c;_Ej2xOVJjwLR8154ZwPR>_^bZ zE|$31T)kWvz~9i>bu}|AG)1lQMns8)2J5A@75ewqTGk@wRwd?9 zB_TX&br?|wCH8U#-J4Ql1AqU;u;8z=Pn%X{$3Kh@Wk8LNkI|9ArxNg`h#eiHbf2N% z;js%(DolZVQeZ4VusgPH1qgY|J*jbu@)aLH-%E#$KebG3T-TtC+zL86m4W!ZbQts? zBt~{QLjE=xJl-h^ZkXRzy9MCS(w)<$l`3=qt#>L66;A~zK8C)R-}h!dFsUPpl`^;f zWj*Esc|2yL#XMCO7)&CH=ElTKePl_v^P69kisO!~FPbgp92ttQPd0YV#)x>mkJ_f4 z1KU_!%#8UHm&Sz^-lAn(Yn`YMG&(<*azG1Cf?fB?)K^?!A~215+g>Tdb}ww%?SYNH z25BF7H{kuwxx4HyXXaIGJM*E3&YWkv7z@oe)K@CL)l1)9X~Pc8=Y-w>#{}pE+|f`6 z_B*HTcTqC!l}o#det7OLZXpny*i(3Nf+tIFqIPVBf=1?yTW=C(55=!bdgT9f*PGcu zt21&@2<$Td&$RzBl6F$^k8U2PBgJYUAdJ_5_rX%|jL7{vb# zp$ufuKY&N*XW$9&Ysn3q2p58~M&ywbdY*;N{FVB|Wm;YNXyK?;%E@ths$_*ps~s0S`K+@Bk=ioAsh55*tH9P>t*Hr;KxZFwP5cISmWd`Ya|DgvF_ zHWdFk;`3qe+7M-rjmPt2u&{~#A3oTXA#W~vvFkaf<^n8tD{&#D{RZ0L>~Z&P`>^um z!sb*SY)+j&OQx@tnCS)Z7d7<)`>S~scb$2`x$?~Hd=*QTa47YB2i~OiOy56SqvRMvIL%`rFq5>G|Jq-Q zrGpgox}9Tw`! zQ08fPiZLRzktrVu`EbY!zK@_4vb=siptCV&1T*g^JQw>%|0L{N)BDXzk3WZ!=tyJ| zZ0xfn#c$m#&i;s0{2Dy{qLJ2lRH+U4&B;=+{G$TpD_al-iA?Onq~#+xpIYbvL5)Ml zH2zlDMdznbT>lgvK>bmy|8|@Q*3{P3t*N}3^eiR(eC*?78N6ML24c#|`{V z6D^*p?J(Asb1AdK>l=#ShVRr%>B{{Q+^Zx5*7_Dm5E-6{ZA>z;HOfB1bwH}yLF2|D zj#3U#0J%y_eqSvlwKPFbf~tgEB^-c`i2YZe7GHP@R+md_N;_=G?eji1_EjGvR^a~Q zzUl4UoP)5=K3!}t?rHqwx|Vm*gW?)$rgX=)y3JRQh)~`^u{-(Ax2M{Z>exY87+P&zDxt-ku_VM^$g;qUAtAY@f^D>TrU#MYw+xdZB{9ZRzy+OMbW* zVLqILp!1@%u^)4evlU7a-&y;eM`}=U8A!Xw$ev7XyQ}CTj2Xq+a6zN$#K*u}1GYw=%sAozpb`#Q(bnyOk zj4(QHQ`%8ibz{(l|5|;DR-Q&;^y7be%vU~#Xi)xc_>a`ZB7Kx&qxER6j+K961CY@% zVC>e#-Wt9S_GaiD+}qDmd+8CnM(Sd}g3a$d-1p-CRp1JBu};LREybdq%SQO6WFbnt zIWa}qk#&ea&{u*r_c}=R$BywGb!#?aqAJ6kcAlazM#nntQ^S78)*aBwp@Sc~U3502 zZa3F$;i0;=?OK@fp_s!;4!KMhBT>o-B~Z$!flivs%R2mFq}Tz>u{2k&x2m(9O* z6Z)_02hd=fi{j=lzJ;&bR-aO4!~4eWDN)vZJyQ%Fr8-m@4h)_V zEx43Y+$af(@9ogxO?@&0e>WxbVMR0_cMNj+S8FNN5TiP^Yj&?s}kW#`6`Q>J?ljdz3F z%J>RuvIWLVv3(A2qxYnDLd^sZ)jfCnvaCiIO_NuXdX9}eXX9C|#OJW76q(mTxKxM% zAp@y2s#FLe!&skngcX2R0HBB!?6~IRx&zl(o;0J>$X`v9GrZz^G= zK`=2s$|t8OXnAQ=kALdzQViI&G~W@S*jXbj@Uf_U&eZYIT&>~!EgM#7FJ)#;ep={u zEv|c7nC22!>t*%-2-U1!;A5t$rEDNQQtxY`xA-n;E@eIEdQ_O|a(UIh6@;7eQz5hA zgzGoj-(=CeG~Pe?e(XEpqW6FH9`rGjpL4y9dQ`X$c;DFYw2)Evvg;|K)b*#;X};y= zv%)W0&bk`GiQlHqFTU0t7>xfu zDL^s{oq_{~2#FmSkbSVI9{HJXwa?;%zmWkbb%gRFKdW0^2ia$A#{l(5Vkj>!=iN|P z6{&6{k0%3JZs+-%6y-vGdDXSs8P{%Sj^1MQ6SBN&#%TJ5%SU7QrLL>Dfu$>!r!rL1 z8@pjI4|A3x;WOP2!tVY-_?%-bD&QE>Kv5ZSuj5I~(x-PHfL~;4qhNOuR3bPs+R&B>`dwR>cQ zDfWZO2cQtI5IKk|-kqdY6HA}#R8w7#2a^`qu&iQ_!5d`~&krOmw^Xgb(`(5U#~3>k z3R|rn`g|1MM|DD&aIpFT`fDxpl z`DyE6qJeB{Fg^plK*$w0Gz^e#C-zeh?mtEu0)9vGF5XY`E~fZmZox`l_m z;x^d#j;8EO8CgM9L&}!b!FLAaVU4b3sWoRLymiB9czhB;*2iv6EKjlp1wT3W|>b_oG*-90Lv(4u=(U=Wjj_k@FZKB}Tm7lf1E=!Vl8=Dg0s$T$mdOs$=+NJ{>SwygVO<}%ts z#zpiu5gKRg9*lo6L}`+3pp)TGndcOH)zpJn?+{w^Ga?(i4GW=IWri(pn*lfnjc1mX zaIi5sOheJ@;Fhs&qy>VG>gZmFE7pDc!h^8gZUL4{u5IL3EFv1)niXze?FzSTHSFA2 z8Q)=!uA0k`TQDyP+pLQhELm)-Te8GqE<>JEq~mo30g8?|qdAjla6MmZ@qL=x>axJn z%|2@m+v+0FMdiI-pB)$yukRJ*uVtJLzx;-qJvxDhEv*YasUgQh_puMTkq;YU8KH^ZO>t;gxukyQeFrBh4n23AD8M+KM}HY zgqR46XGWmyjvbNELvWHLlK-bZ`()@^pD|BlW3RmF5QF!K ze8|<*L}kc1&DUhe{+A7!6&=e{Hi5tsDCI*l zIQRH5qW8Dt3b9`9&}Y2_m|LuThaTw6fDM10@JTb{vNT0n@;&7(I^lS8wrfKR3tU@A zW8}~{#2;^g-To%JwpS15V4a8m!Z7$e;WA&owS_Eo4aR>us1et~|M}5DHAKm4amup8 z#?1`-VEphP+BVDP;u|RrF!^7=oqd9D9K<)yW`tmKkGdzrUwvAAI)f@tX1#3e=8mft zsA^!*FSfqV_*zPHs_Gf6cMRcayz01i0sA~^5QD9Jkv)zcj3r>pbu{g7n^+`F78KtA3F1Q3BQ zRx%Zyb$#by`Arqg@jYuQ5Y3R#-RUK=)l1K>dA@^)tRf!fg;pZt@VjMK7a%34= zVl%`afQLum?c>jiR|)z|wZsPF|0}5ha&oPaRD24b_S{j}qHL!c2bzn6@y;Z)#@Ywt zFC^9SP&`}lJuwu|NKmUv#A;hG6kpNDy-U$rjHs1~wR8biC*=A5@KAg>VT7eBc-FdP z0IGg4e*b{>sC`DkZEK4tvihrNwiVW9kLFA?=Vu>}ZG8^8}_c#Ii(!9UCs6k%IxdcV}R8#ZvKh(jI~RyF8_nP&tTo}U{Mbg=Gd z50v9%&sy!!^|Q~>myLf{)nvQAYl1l`CClp!dMY9R8-e>LDwDjWV97OH8}WG`H-~dT2uB0!s;r z!DRw@!7cDdD#F%xwXGof+!d3&21vfOKufMeu1{U@123t&e2?u*ASCYvLNY_z3WUn< zumCNrUQSTD`0zi!IYirgr8{ z)8W@A91%I-2n?tzBqNZCs85?(kI?bnMdMUuY*gqvIpJZ^qYsE>y#MVbnM;QO1=@2o z<n{{DwHaU#}Sua=zCOc@;;ZlA%YtNJ6f zNKCCTJ19Nbp~DDZ&L8anvJQRU4laFrhl^x~SL%$d>wt~c0PC#B+$_Z0bVMEUdY}mJ zvE3NG5#v33I&&$TCvpJufrNC&vw`842XotCeZrF6KJM^7=-|Seck5D_fpy;W{71+*7R3H3|_ zfhaT6$wg+0QvQ3ieE8P9T7E<+KO1{C@`Sz;^Mpm4eoo!?s*|~d{*;+krcCwTxOPv` zvQ>7B!&k6cGllAlIE%NAqjS3mG>=Vv8TKShc)Lwsz{yOz!`uqYAxdczu=BC_68b&7 zR&y?;(MolxdR)*wgY5s*Ztbrym%`i)r?t(_5{bo5F%_~pP$9PTi-MC2RpLpD^_9bZ zXG++s_7!oVIsR<)dp7$0tIIUy7tsc22kZRy0B_L=x7hzsG~2H^)&uD$7czz^P6N~$ zMkpPhJrnfs6_XmJ)T80|$LZaPTk=zHa93AJnJXDHJ{Kc}nXW=M?IqHthHeJ;-ng)^ zD!+}9^V{rvL3^m0dT3De+^{y`JK-mwpnclNcpe?G?_E~QvjYX~`^>3v&f$wVe9C6am;!9 z6e9Cekn%jr!g=6YN=mucKsQGt8GI|uX4Npy!LpS=2ot0X11RX@}LeibKNzwHI z<`TZtvau_`v$mJ+!i`=Js3e^?0sZpEPAxHnsn<|7ba?PSq({F1XCr0JmYKYZrS`F9 zoRPFZzN^}pSYkk36hla-OCv^Ff@<|SUa_IAYV+Wn{gIch>ZPlxzKe3&=x*!8feSup zpGvBD-Sd(^Cqng&(|9B9S<%>`KQ;inkU0B2Z>(o5%j%{2*80%)?443mgg5SQ-Ssjb z+Mf^2c4=P7FZU4eX1K;e=u^P5>$I?3(`v8<)(kVLU zfQfe>Nb(OK_||^vfWfUhNZTxTNI?&hls!K}6hK$yBG;nI8TJ|1+vnJ40PB>C_5i*r z!$Vqe@i@VPd!^e(-;WO^#9)A|x~rzZLictC;U5Z3FT0 z;Ts!Y2~aHJc=YvkkesE<`H{c(R^0`Cz1er$$k}O@35c2yI$7gqBN+2Wn1)s0NhCZ>2e)CVc8 z3oVaxgU0bU22TbZe%h8aoN)&OqxU1LucsNYG|mVeSUQKAgYHHWBk-QHVSvsZ8b|#d zf(j@hwmlbCy4ldm8ZMk2Aa_wCPz+9-Y*|6nD!*yl6usS}^D}%XsJ29d6XfL!TAS~< z)njh%LWu1ySP^gpxPXpLT1>7hRam1hpj>|_ctGwcl!7eo_sR2XZW;4d6!vd-;yq$@ z1V|u*Rl9C>9}qt_KhSlPn@r2QaMO}nv1OH>bql}?s@U@a2?#_MpigtUE7+wg`{wL& z^Wm;8=ikpxUtFJms9`}vHkF;nJMX1`mGaW@I$&M;J{jJraNIA4DO{{9j& zemd@I`{5tc&lGPEIZBBEmzyR}g*_SU_IP@;UnSE#px+o9?$eC)*IKhG{A||&Cpoh~ zF+R5+|EIR3 zD3~Xm|2UiG@#MSfiJ`eZ10#yI9(gP+LbcVoHg)Xde$Gw5@1wz#*B?THKSbSejn3*;i?G%EQl8_1(WHce;_H<}st1Yd5t~l3kEI#XB>c@^zyrMo-zjQmiiG}Xt zTelO&*klw{v2_WpvPTH-GlX;Z4Y^CZ4a^X$N2sDp-3&~*3^seIW`y%4kfSx()m0K z-w{z{ss}m^$~PFn!`?775wjbT1b<%1{2*s-!aPr_VH*eIYleKHDhM8-vWxyd7=fxr ztl=T{m?~BekHd6MPt3si98G4{am>)ubo?BI1}Hr-n!z#Bw5eh&G!)1lVq1^%KMC0k zGi#V5Tqx5vS*oJG?E>I+UzqN`LUg7k*xNqj6r!ZP(f7E>wA;iZqM;#2laqP9r1zCB z_zTg^`_KFvns@pB(1mk}^i${L=o*o;){C9hrSc??&!o3aeV2p_JqJWx!!(g-ibaxH zB)vhhe7YNN%%9S{7H|F*Z$1Hz5{DC@O^j6IyrozR{CiX{FE65{y%|k&LrXUBL0822 z5+pOU_F75rcEU3nE77kCVboD?IQVwVp;c(x&%aD2H*p+8+nMsYXt=*SXAuLx zhx2$%?4>?G&%%E_{rf7ke25Yk9M-$%qm?OlP%!%86%0I_A&qAs{+FQv7$+lLeueH} zg###+<_l`k0WDl$-8jfbph<@@%HX2-Y-$ID@Q=Vk61YB)>M)h6XjLEyTjyzuwWXMw zmAVT+_S^-}xv>`qQ#iiw&T`O`oFiKJWIPF*OZ2-2f#+b{LNi_CX}NyvmzaZ#FxtiP zyEJY#_G9I3ZN+zI?LpQ}>qy_Z7kFl4w-;aN9#ko{qcg}04(Fz!U>7_&qyCgmnm7mx z(9{OIq~a-N8nq`q7@PiX>q75F>!Kd5Rf=r1c<#6Aeal=zL0Pk>s4Pfzp9EOTXm;j8 zhG_*m7WS*98Wk`71^Anh3M7WQ$mNquF_3{T1|8?}(9Sk_SUnRL_- z3}nbjg{yB_W7(*-9%i!apI-u9&KvMopAP2H=Xg;%Ypwd7z)&{i;u?<%ml-LHOQsOl@9$t@ljZ4Q{ zOa|mo6QC&$1x_nDP)`;xkFjSS(r8^p?jp~mh0TyyN1SQVbg|H5n*=?Lv+(kcTEG&2 zY;FQID`rQYX5wiaaHjNxGaSFSKgYxHZokpZq*jcpUrq{RJ=E7?Di0IhO7@O^>-u4e z1*7djf`p;JLw{h%Xgg8-d!l=mHQSSe{qInpabfln=;D?d7b~9IeUM&7dC_hmv5$u= z@Lb45uk$BP%mRHq5P!HY$xrcqYhUN(8woFa?T8^>!q7bTT+De>8CTu2ELx=9gu)P7$JY{A6*x#uda(3HLrU!YS`K|E4ytF zKC$TfXc$=^MXYnGMo_xS`gmpF+WL4S*2W54CAdEM2t-7?uyzJxgvzRaus?BvuJu7&KgSwP*Cj9R6Wx<07c1XrLrI%J)jrQpUc&nmfys-! z{*MFR;HQBS50AXxNUUz|EI8T47aC2L8g4RIX1p-9flSSiH2(Zzmw!cze$qt4AN`N+ z+3#P|e7b95;hG>R1pRhlBT`L}a_?;^dI+>fzW7d8otg1x-+LUrr?(JUhrOm;gx6y8 zK)e-S@S<737tC(Z*obs<{ryV)OHu#PdeiSXfQ#;54qX23xyl!e#}}maKWiCBS0!3^ z|M7-gH?gv1Mw}dSA=Ml&tqxl2v7^Qo48T`py^8lKxqpXK19NCCc*C{9&wEdf+m@2;p#n!XRuJ z?r{yqkMvRNB;e!5HV?;pu?8zNI*F+iTP`BjE%>ydSODO7p-H;vfli9)oe(|Nys0_j z%#|`0Z-B)OsuMYL)e89K?NNKoJsB-s$AWofU%~o@%@5l}vCsObw8~#i&&V`SvI011 zO4A0LgF2iKXjts!17b?MCXZV0E6cu+=1yDmV6zL}-&dM1sV`;x-l>(=i@#a5+&t~J z!(Fc6Az-3oifnmozW(l9^gOL4ht;V9-)8e?xp}Y6!b4Ui4P-2e!1K^BWFSEKMJudS zhBX|Yg(nT3%AhmbA3p+l5ak`w{p%3wMs*{J0IHDkS$z4}Y3TZ6!}@bn%7QfR5%Ok~g@B2D%ZyTH$sjVZilEE7y#T(wQ>%e`{ z;Iv5X1`;b6ygAZ=-|>TV-=k$JI+s``J&SL5EcDEWr!i=S!7z5+n(0u@LIFTiN6E>E59$yuj)dzGL%&QwMYhn-8Y*?t|tZmhEq%xt>6Rq(7g8;U zCkB~ft2n{KqBQ*wV+~>-9*+MN9^Dy>fO)cVIC~-Qr88zee0wt1Ojvmsj{iJird$(0 zhnu*mmpppCB+4hdD1j7;6jvo+vZ86>?R2^ z*~RIiT6_rWu^p`+A22Ur`8l|IVW7ZGLPm@f?0gogqsm#J9eqU4X+qkNE~JMJcpVVE zL-8*M80Fmy1JGAN|6c(Tn6?0o`>&C(g9EyS0@jkD_+_jTeG--0(!F4`UsY&N+NQu^ zp;b7@t5uQ{9*J6=fRM=OF|1hdx9z2ULwzT&TE$mqP3 zyVU5NkY>RQg-#rfS3`%uE`qxnbD>u#9d!i#N5@g7NIj4}lTZ<}^ii#jf38;cX4Yga zuz?FO5dXJ+_T3EV`e#DUn?4dIAWY%Z%c(SSpBJY{y6(|DL4AWO`Zou))j^1S66+uG z--dC)NCGG&x=tzSY$Z~nJ7+Og$0?DPQeTfc<6J};eaZNj$w*5N zF5T4c&U%VsXY8*@u)M_Yf8{e)e5e@|1+c9d=*!d1q#SaHvOe$*<5DB--LgUO5c}YB zGmAa}K%+WCbr)Fpdd0I6Ms*eZ-Ob>qZ-CXw@v;EB$b8v=q(?q_jXpC+>L5#(f&-w$ zkTQeB+-xfSb3y0qDxRr&QWn#dU5t)+lRnw#_GjJfa#MuY}ZGHtn5(v>HoT3{4_QY!lje>G)aoTWHr{MY>k#xUK#uy*i@ z>_KMues~QYh<`qSbJzflqn48tAMO0dULLD(?*L92{I{?psuG`R(eumAk9K{~0_2T& zUib_+pS#SDKyqe(jpD|SnvZrZH=pU!mw%zO8Res8KBW?;gL_c~PSITPP2r4I1=b2Z@^c-I?!Q0R@fik z+gB#icf3g5G#SX)$!syWk?ksQpLGM40OJ?^19APph$J$P(i|$0)~RN%qR%Gk<+{C^;#A6k_=$c^Flb@w2jc&$pFrboApTuH z-Np0LsUP$#;1BfylUOS1%L>n=k$dM)Y`A3l>3o&en46nx7@q-%P~LM!*?_+pvaV$O zbFfxXGT}MM%1cbosbqCY{&S41DJgi45r1Yb0FUD!H2Y=;?EW2oQlY{cS|)ay`{Q!L zj*{l06}vFJsZJGpf7tIk01j0r{!-qi{{-cYs-njrHO2~zXAPb) z4^zM~99@NfyZ>cxp6Y>)$QqT8b=bYjNFAOvlu6eK%h4ZQbC;bf2$wP6=Kv4O8 z5lHAh=}H$3n=lggGbJoVpHUh!hIuw)$;?GF7YB>>W4>u@KRUyZhWYvikLf4#+0t8Q z-8z@y?fyu>w<{9p(W<3#PdUcK&c4}uj_v3=M6kvs`ETw1AZIB>_`Q8!;)`#fD^`dJ zsi{48oMf7-r@`*Srd>>IXo$v7fdv;h3>KLqsn|*K1Z#(Ryt@x70QoW`olH-@U=Q90 z#ADQqm~6xxOJ=z{;05Q(AxD$tp~j}#hfX%7dAx^o`}uvo9grp}`v>JmeX|hz0DfP^ zrNu@427ZpPbGTyNCh$%f@nEMFyq+DX@pzoxRHDOg3#8e$jQMu;JMX-+b;IwA-+5;f z!QA$H{dMlf21`BD(BVJXP+RY4xZ-E_bksZcT&Zu|W7&2R-?dozZg%9WnIp~B$7L-(~R)_eB z$yf6QQ*AyCZT1^0zddW@`Q2`K`_VHx6Kx{~*hSh#^U+4*lg|IqMmH;Mbd%e%&#_~* ztma|!6g9d_R#~lnUx2|GLZJ&`KXHYOo(8whwwG#Ev&RNtpQA5+ad^6?FTQ)2>RhvJ zf@vC_{KMc^$shYj=o5Uk7GKSVIQrGV^l^u=^I9V2zWB$(1TsCG84WW2GU=9jlIgAI zEG7yP$xR3*C2()-(@I6(0V3FHoPESVPd~bR5wBreh)U`wS9!fFbjoS%mWX{(v|F z-HZL5EF>?=?h1RoYJQ_=LN76`lz!qMwWE1Z-fePfzLdAnIwq}VOj-`RpF6<;;rYx~ zQl2ew7K6J#9#5vrkZ=`~eVmnHb#7f%fBZ^P3;uS0{J()Rp*eveb)Uw)Q;~lp#vW>64 zjkBmhDgGikfww>K5=JboySoW`1q#K(S;iyB*OTMi>?0H##DPnVGf>jLiO4u%g6?4{ z$KVP0B6y5BQniV$BR0@nt|TKfv8C9N6%MAtgJ#iwbiPv`rafp+4s)LNHT5A1o`fN9 z5&VscLjL~Fq(!hdZewC9oNVAL!NT$V@!ON-V|tfU_%Ij=M?x6MTFk5cLy&!=&a9+I z>aFNM>gkpC-+$3Dl0G_~=(wh{fv$b}t7~6sG^NHR^`wy@=Ad6)?mWg6)|J!874CAw(w#I0>K= zz#0%C!D<6a4L*8fD*e$1x53sH`nofr-ojOTPpsbP?QI>aa%Mu3`F;191W|i`|NHp| z&YaiY`|Q2;Ywfky`YuSB9SSOtFS5k#K=1onWHEG=5?H4*F&ktAwGs8{tV1_@_@Y?< zB5Q|#wX4=F@`l2MT!_6?a-ae_2->LLdb%L1D)0u5H(C9>fIgxf zD?lIT0-p@q;Va_bqLosyyCO^ugq@{IYzxYIGh!Q{Nz4U`+$JlHo$sM>KNzJcW=Eze zy?3&dy6dH+y#0gN-=aP~GQJQ-e?1I~avPO$uZ3ib31}g)ACcFNOT*@geoOo8dlUUu zjc3#*+Yp@Lp0NVls-nx0gLT-fXuecX3^afF=5Z}JI(q<~utJp&Px076lP5>v3q>+2 z@5{$22j}mo4UNd<<5?3=3zVl72WvzAgKeSH2hWE-Jjk?-$kUYlxioxta!&v@THreG zMU9)zY23!J^U-``4r4MK!e~Vpi|AUAwgcM623$l7ttIRYTOxTz13ScNQC`B(zW-;~ zCQ+KQoDfQKwf3G+n)~z7M?Kl%o?_AFC?%s~w2l8Mk!oqFZ+vyk(%&!+rCJ%yO8|3R zI_5aGn2to>1Nxf5(-YJ;`@)t&+L~3PgcAecg9EfTeP;|Y&Sl(C=DJ{-n{p@6+r{X} zRvMu9%(gO>x~L&|KA@HiL8gVlZ*9xx3qji86D9u^Upxv=Rm6;)7N3T^|F+GZL zuZfAhAJ37vT}fEXGqHCPMt5logZ@ItU+_JWfHy4O^d}l4#?69;A9R(4|rVM`yZib9B{^&9)_S$hJAsW7`m2GsN;I7a1zOgHx{a&g1LG#@3CE zj*Sr!rMwHhgN-d8XJRYI=?JZ}{2Fxr`zU0BfeRirzdz^RoeWUJm9PN9J zVRr9h5AF}QhkhM?J!I^#wz+qN3@XSY!$FPJ1df#9dLHcAt+tw6JrDlaErc#$1}ud% z)?_i-6SDJK^(H#DFz8F<80DH6w3YBuh9fb{X}&-DwV|S+ zUrTz)FL|({HCc`J^zMYrUi;%PImR4gkExESk7qHKnnn)6ccMokfHs{{d`YYACkiE5Z4h7J<(*c zvc2?Mza5bjE@Sc=?+u%*TIJ2pM*cJ`A)P7FY$fNrk@Hof8s3KemIvJfh@}SyAY$zK z`3P;POGk&BeO%xJPU<&R7Il{gHg)Pwy~XFII)*As8dkUDnCi$y_M6Dd!clC3 zOLbBQ<|012)~&TX_GpsRbl#_g))#A(u=jZGLD*u>%^=wYqYPGmVt>` z;~3Y$J#WJG`fGlP#6C`LK>v1+4>v;wi#Xq!h?A|v`5VIN_oH`6wAHPQeBA0T ziZ$JW7XSR{QmLucQ>3ZTUVZ^`J3DGci?7d5+JetRzW0Ld=4hZ*jsB=bE$NYmblaS0 zx-=Jdd8DEu($@-2c|}j67%d9imo!beD~LenXK9{va}&H)2DlcXWs1^c*$B-6?VU{A zC|%G!9o0?rSNa?rWbBU^A*nR42RwTs64uFY4(-ZCPS=k7eVF!N+BYfRrN;bB$5stX zh+9uc50oJC@T{2bi>6_nrByLlv~nU2qJyr8nUL?`n)Yh}@jk$rYI3GS8Uw6o+vr=R zE3LeJcQv0s@1kF8s~l8a@3keY!8E-{Yo*-bZxvoBsW++iQDG~G>CBiYd=j99SV04G9#+FGsLv7i|f8yT_e=qX@g z?_$gjoTFu?;}`4~gTzRnIZ+pctuC9xcDeE)W!WFZwK{cuF-TZqq#6|otoG^1W;$a+ zdoNT*Il`sNnHp>3X9}Rh4ebxS&wxxYJGvBo;N&$euP$E1t02Q0kzX0H7@<2B?hkk5 z(|PZui8Xo#=Bkuzg2o9$wxQ*7P?{+fGopQvL#5x8Q}KG3>6jML7H1)yjuC&jHslR5 zP4v1?;n_yyUZmD1P`Sg1{9`3$b+HDaw;?ox&~1U?VL}Y}7WFs&)j7-X59cg9c82%# z>BF{13yd7&$TMPob+&^mD9}+)!AZAlhwmR_>voC_ zbqN?pOmQY;NF(xaLIV!xzp%!nd9jY9N#F?}TN;u7Jy8vMQ8~^#z+;0ft&6T^s0@et zv{&SGkid_~`AYs-MK6rj+sh+#7mDr_>brDCdsr3gg+8z!yFCX(#8w0u{xmDo2(B=w z;#a#^-ZXFjH`b^RXU&Wn*TH|!I%puXCUY2A#jx2tZH7+u({Z-T&kx)m4zVTA6;5~S zj_Z-X{m>A#higK&H0=yguNrx<8DP8E*m{&sjne5*x?n;Vpg483l?72on%};JP6Afg z>0n`8{(X|Rl8tE7RK`bj259-zXcx&d2e8he<+*Kylp^W?quF3fMh6@YGe zd?Bwv>EBPB2xlDcC_K>5@Fui+Ij-SPhEEiRP}+Nvb1^TIonojb+#8}T<8N_wvEH3= zJQMVMH*P_FKT6ksSh-SUdrA)@XfX{miNQk%l~%6+>J}-Rx@v}`1!DAwd?gO8sTY~k z+Fo*WM81udspBl9TcCO?Tag_}qmm_*g+RNLA}>AP-wUk@_VNe#eP=L5caBf#6e>C! z(A|(>Cwn{fomb(EJPNA}1~bC~k<9t0NOdErsEIILak&6<(x=fX<@wwQ^PQU-NmU${ z8CN4OJ4>*(h|3qob9j6)kE4NY01_X-B{}P zCQ6;sRSBG#reMdFQ(O!cZcjebZ^nlk&x61wU0u@#AH^uuyGmGZWPBArvhZAwrLNGiLa-=R8=@)>nGTk2W)XkRX`uiQRp zBEj3BL2Q2Pw!Ny1MYr5pA8@&uPUaVu$UO%XmryH80N%{FC{XGHf zw$xZICKk9~bKVw$CY)OjUU5Wz3MhODc>pq?w?|07pAWZH@~W3G7I$l*5B^Ohk`-F(sTj8_G1RfA6I4GTF0UA)ImP>lyxyd| zSH<>y>3N0ndL*pYE8kdGiMy0;{t5VRq5Di&11@jxqb*z? zg&Y9BM5*TTxcp{ZSc8&Gqk*9TnOMtf?Nf2!UhtZ>Ej4LdIRJXLS3UkoAproST2z&8l>1Q_?S8gR^ z^5JXhj(JsNu!?7(QE*L;kM4pV0oCe>aSz62=$C3sdVc9=`* z4mq`h#h!N2SpT|MS5N%mdQip0I0njDhock+&g^}0;;`Yob{}EC5hCpUIDad&Iz*ol zeULRmvtrB3tJ(WT2}>@JoWPV^HlWI7x7f%44Rb#v@M|@MUAvdCMlHftt!97zGvGn6 zjvVqb$-#RQXtdS#RPvwi%OV41EO1Vyx~FuHM!kh)AEB}(~8G^7kpW6ef<<6%e`7SqJ*G4Blr~u zEf3`(Y26T%F=sbRa(1f-i!=Lr56Srz!Lj)aLr*^jdSGMm@JGi(Aq^$ zD`8pESojw<$w8SBydRl zC2%qB3#ej15;J}Q?~&vE+crPs-PSM(QU;7NBtr;j^*@4*A;3SfHB*rJ8@70XYX+FZ z8?EHL&78Hg*@}4o%aYupO_F0yJE=b9Hz;L@JXM&%DYz0@U zkqqdF!5XQgL`Clzyn#*tuC9IsuTSH4fd3|u5O%dgAlW2dp95u1$tLMLit?xNsIH^@ zfh2f88CF}D9W++x20KWH*)5oWlWM}wL`r+XuB=t`%k_0bty6-8>vrk}!z5&Oh@quY ztD`__Vz4er@z^wM{LH)+nzD*k8zchu<@$>BK_l65TTbg?^Re4h`iv=4@(L<7;LoXz zLi`+y(PvD46_#iM*86N!!g`g(6CT>Q(2>G(Ep|N-PLTr?LPoW0^b{l*AHt2i&Qj5| zrO76x-c855Td)`W0#}2#tpP1GZz)%<;u7+{QI#zR7BF;AgGKr(TN-c^IIP=%LWFs# zXE*(-n(J*M()XKcAYUzl-_=x^deGNSVh#En4(JUb1%?-_>FzjmnbSP!?q3HBD%Dq< z4^wWb!20XJ`QS|K^3SxK4=@kEi>r4nOf#hqU89C@(DbrBj8)&NgWM#H^1`17@}a@n zGTq&dbf6)_rAzypfF-jFsUn9ODTEwS%LO87V0)9oG)nCg(DbMu7ENgn^qCDeNZ(mj ztyZf}H3iO{YD&?F%J^QoM(H=C(9hD;(1iUnXbq&wO3Mj<56h{<4f{L_&Gm?L=-La2 zT%xq;Q`!k|ln@t~7)o6Fy=En@1#vY>TTzQtC5iJg|-|Mm;xyI_7Rpbypb6+JLVnUkwjh4G${|Ds`vz&8nn!D*uSJfGUajs10PbhO!w1} zD#S+)A^)UA%ikV=7Qz*((d%|$7ti|Zrcj>E8Uio895$Kn0o6Ko$&MEHK3e=C&@p~y zR~c7&m6(_1Ezk4Nc57^8$``qeK4ary-RPUf#ustT00D%>Q6wbf<<~fH2U+f{@^(8wpTYt-j_3pDcYJBV64IWKEh0%7sJCVx>1~nse;2aaZ9vu%$ zt+22x>?Dzy!h$UU+|lcA3Jgb7)RzJCR7R7Yb2l;NPc(_(j29*MTJA<`dnjIMxeMp! zxL~;x=dJNI?o}R*_jd0-?;Bo??{?ol-y6PU*-H2C1KJiIa&4AbgH}e{*U@b%n|z5A z_3H)Ey`Fb_JI+65*>SsDRl!`YeTYc6Kg3u#?wVYZsI7B))R0BhjyOFIcs?@nwH^)b z7mhgU93CC6=8rf$w<>RL_2_Y5HL|4cRu7eQm5(fOYwDM{YdyNaEpE-kp-0JF6PEcU zo?WKxatL-RXs2|pqHT@#SvrpP;fUZqhJ)^rhVVWVVn_?@;RbL$fNN5V_-`?!4QB^E za6Q1|otMSt5pf8Fa2IiSaZv2IO*o4<>T#^cp=Ss;^lvOU=q-oIf<}yJQp!8C*=Q#f7DXVS0RnxVlXIauHR^MlW|CyU>0ul<^NMe&}^!Og(T(UiU)@V1?3V-61O ztvzVj*LKjmZ{T3hzIXQ(KU%}-?&hG)HV^v<-Ek?{1}qj9D>m3vNDiQ0s+84KQhpy} zC$zF*$%456wpNt(1E4$IOQm)zc3jiCp)y!nPw_KVE2~yi?_$bDSOV5Y&g+&$&bq{a z4f=!nK#D?TC|v`vqMqltfPEKq3xYk+ItXb)Ssc`MrBH8}Yx^K9wb?qj_F-@%@TQp% zgAQPeN(wckfEX6qAk%15;oT9ugH#yr(m^RHU_!ffWB%`Jp?SU;d9K0tZ=`s6`~)bj zQz-sdw6V!D(Xve1;?OctoH;rl-Z-Zj;&cwB^P#3L1M?yFPZgUMng*RiDGdUcN9kOc z9WkyDTMa-%nw%5k@`p(ppU#N}i@zx@4<`c(O=-N;91K1A@QE;sRcKyuoeOYA&aAh! zwv0>GaHrFF>D}i)ObgO0f2QhsuXD+?f-jb{gib>bqCuCN1r&^Z(4qS#yNk`EDR{cr&y(D&s zcJ?%-Lw=(|{=S(sVU>Ji_XE^+ZgL z*Pb?6^>(&emY*Ec!@`Z@&32&BUzwic0hEDy*-OgXlVo;r zWS`S=*{pCiCXDBLNJplltXq;de*5k*4s+4p$4$_` z%|#pe85A zQN%gy)c+-#jj`0=aTfi$iNQNc3;KkXS>vW<&KslmnA1@vTF-PpG;qeY9C8aWq#Av* zY=!tpQvSs?p;2gL%Iq$|Cp7lq*Ww;{!f4CBGUT5JkJ>}tB2S$-&s8TBc?#={g34Ma zgoOgkEc6gjvMb{=JfsWPk0eWHvnsTE5-U$|8+%<`J-6{zplR!sD?5G}E47J@%T43h z2NqAe7$FPxw6Kmn@yt#fFTO~~Z-0wDA_ry{j6dW( z*!SUxo%v(mUA^G*#_K$!B;0th@vd&hTAOcR42D7NA*cGvUEO*h9TG#W)49@7k^Xid zOnGldQ6Q9y{47C!DzM9c52&@+owR(tv!a@|-@~JUoo8TQFb{qkw~j;B6?k>$RzB=Z z8(c)Sy!nd48npZkqj-aLQ#hcP7Firc${T)3HGOxl@{Wcc$TRW_YQEkr%PU7q+>la* z`urpE)zPH2e4d}D*F|F~ow>Rr%Z@BRvf{|fBddtibxZ}m_eQl55 zv2Wn<&V5styI(Bb`BbyXI>ocRSC&ggbCkVNb<_mw*4212W0Wb&a+BG=Y}Q75pgjT$ z9ZMb1pH7XWxwV1t@IVMO27Rd>9M!L&{hI1UQJuKSeh|TXIwrD;9*SbQwv@(UfKNbm z9O!l6%yiG<3z_`hKF5N^zjTQ#{2wlBn6lj15N;6gU2}v=@-w!LfSSOb8bisq4f&Ze z_>jfUF?mWGV0)?LEW8wVJLp=hETBd!C{=z_c~kO?X(0aY3W4X3*jZ5yQO} zNR?F4B2VV(qSbSxA33X_-J~zh<_pj^vc{;sh*zu?==Dr^5;xik216wK-XA&5(Y$-J zS98HB9-jz2UrSt8k7Y^&{YG2b;9in_AKjn-ky8^ftO8PMWZE4?cR=qkfIOm|UxR15 zmqG7;{VU7t#W{id-{D$|I?>^f&)m7H1`VPaH%Fs@LcN~35W z8{9H%nSbj0iGNWe>B>txXoq9~5a-yg>w zP4q)(4I@w2^V1t2l^G>vQ3U0nEAAJKynY@KOfS8N)fW7YUDjR?eJFkncDb|!HOsg1 zS-;Kt6+KRhUXg?EM1AM{RiuksY&dilGrSE_;!(MIoO(}$Ez(iuD0@_ORDD!)RC`o+ zRDaZP)OeH}v(@>jjaifdKge=SCtRHJOjK_t5@u52H2TDcVw+ImKQGuY=a0(E#*LkH zpP&PBt1MW)Qri=1Z$ahc)GC&atELf1>Lp5h&GnqmN6sHta!&Bg}lf3^cCj`KeJd z+W=gTQTes;w4PD<)p2@#6v$Bq+`TwX=Rb-O0MVo30}VO_*M0m^%UJ4H4aTpV;56a7 zlQY;R!_&Ngk%Enm$bU*S05!o56pVdinV!s*`g%KR;5>GhGNSXX1`oaa0C!s4Rr4D3 z8#nG!`t79{nF8nNH)$S-K$r;(C5sm0IyrQ+c~^mbT@`P&?FJ^SL)1y@D%H@#-{X8} z&{MD;|DKz%2iAwyptbVj=*b!F&W(dy&}tK-(hT4@!grOykJLMf?VIph6&S1tt^+O{ zG##-+cp1_>?+m75&0CGZ4V6=YJ8G@8M&?#>k#&_t5nm-A)k|9{Ga}n6vm)D}Q`=H` zOLQvi`uHzo!5h^aGH76cBs=H5OE(uk z&Hg^0!SAz9$KYX2hbAYj1FojJAvsV<#PYXct>xQ%sFEFIil<6*B?d?V`<<#mws^pD zkWa_GLA@XKqAHdwYN^z--&uHBT^z%^`--R)nlUns50x)*{j7Y6gTKpDbl5j38<{QwBl*z;%WFJHPC?6zkL(r!V9QnsI*=&#k{LVNgohzH=lF<7Wg#x-erQ`1{3@FXco2ch3Dz8b4^6{9;tf@Hn|J=GhSKl z7*$<9><)Odq&&3EL&|emZXEsGR(ByrXX9wVt4FC!$Khy_H|6WilVzt~!YTcV#kK3! zLi6&Fvvtra-m&iCiU%UwB~m^l-om#zw_+q15-ehmXjr$lLX0{JdIUQ1orITZY7?VE zoSb#{SJnUvl7;lINBBBWk!To`opg@MTQFBFjF7p-5u0$kpy6TVGLb@Cf}$!wMghIU zN=RQupz1aTs#`KQJ5qyGf1b#=UK+hpn$#EA!EBV3jX;Wznw`wmf-jV7SLJe)>&d|z zOQb=G?na4LPLzmL{RVaC#h1g*Uk;|IGi9P|)C&8jO4*DFo8JcMn$4T~`l~3BVcnvN zSFTeu0q=Q~9u1(!NhMA!{zY1t6C z(HQkzwyC)R=k42C=m~#cvfsAl4ccGJSiXnM$a}`$p_-jGTV=?|a6RMg_Ul(1HXPPe zI1U@LUEN;B>h-rfvRz)qdjnlVV0Gb0W(_1ifxbjrA1QN$NlcYs2+-J9HHHb7TkLYZ zmA7{Pli<#sWtEbn%mzzY%3ptciOjJAp&K@YSY0{xC!yI$rRv72&n_8ZEt@OZcg62Eh>hC?QGY={Y>bC;bmnhjS~^O2yA$@+L1n(1{++gTEQ*6 z2FtlR3!huO%=NT+?fyNm4$I|gU19StM3qGM1B?~1OK7{$383-quO*As#y9$nkay); zovtfz2x*cnTucp7|hV)hcWBMP1>tVYq zu$qI7d(<8vrPS(Mjs2(j*iBdx&5|nkTV0Bls z6C-yLXpqYqUBnVGCri!?x3zb#t`(TJ+BRy*WSo8GlETpwT24xnz!`=&toVID;VOdE zrY`Nu5b@;g5BGx~4dYAe3o7uP6V6XA2hPzr&|xas-#3X{3Y+jFnjaoiB=h(I#r4VW&T=J49@YBYxfpp7VE@U8rR|)mx{QO;_dPqx8%o2Gu&G z7VMsaPPCyy*sGZp{|e~GxSt9;df-UOIJWVQ*rjU-5bU8fJG+x{ss^=-Ya27X=_z{l&< z=+`8=hJ-8yZ&N^FBgtL*s^@VPVb8fpFbo_h@2@S9G%3^5H>njT*hRTwNu~Hi?lrnH;6WXqD#$crHgShT{DG`oXqg3wM{@zKmdwqFh<;hlj4$H9hJN*OJS{qK zLgX9$33>f^ne;EXPRQSa7OF*}A%3dd--CPoi$B5jRoF-~-~{M9>Wg7ielD((mPqMR zE%;H&)6+MvDzO$LR{m@jya6qzzd(o3(9=aZsh8b3SnFipZ+!MujD~co({ZO`>+l2uRleu!d4U-$FLuvRNRMD{s7Mr75=O8@JIk*pffg3zw(O6 zDD>Qp5LY8>(IQjxE9RX7%)7JaM@U&}&dLKvHU(|Z5aA%d(MC={?r>FpZ{&nnYd#^^ z@C;UF_%?R!fqZZ0Y3fXQYXSZK?MVHzNEK4|`k|$T8JWX1@`tYtBEBm6?}m~+9>%%s#K@;H<5=CatOJlJdDq8v=EAOHjyrw9gL82 znk$NkGlVreL7dXayCOk2?G=NS4g6V&d%&5vJOpmX0p1DaZA{A9n4{6Fzf|5$6Xl&K zX_*Sh+Db{wfDMe?N3b&cEVAf&Nii$ox<|C|A(WHO{VhoMy|1L}xFKCCx2pgzjkAR} zHz^c+9_e0;(5I|IM@NAdTI*~iwSLm!3p9O7$H$^HZ){{p#ONWVXu1!vUy9HeX-e5) z1r+(b>}!F<7Qejf3l#t6fBw(BMC_4LY`RUpFRh+aebWQ*nZ4-&La%SeHPxl0BjJ>Y zaitA?Aez|QpHW4CN7fW9=G_GWAiS}#_W0xI>^vL7{dY8Qj^aQ7clp_wym=0D#av3@ z#cK*s0~tQOha64F&x{h_Qs}NMyg$1qAs?MUr<5;!ANJUpc=GsY7Jm0Dx*!w-8R|s$ zbKBw1R{^7%cQ4o6&_o@-Zfe+q6WEwi`@DNGL~(G2ij(5IH-2Wy$}GOcujb(c2C^GX zQYg@241kTdnBg|yNe8eQ?P68lZ9=v9GWJ{gMEbM=PXo%8khE{y>y!uQQw_K4cIWXk z`!-Gk;t6!XV4(_f^yBynGQW|+RLUz;l(ue^)ZUt zDF|6o58~($C)G~9;LSDId+rgia-B^gn<39TRgYctbJ;6$R_3hw04Yp|WPfooCjLU? zkk4nvZGK0Q&HDkk>JJ1G`==zgk;HiHeNg)q8h$uh160MKE7S(&Ps7inPI_TCFG02d z>>Ur0vUzwybY8o(Ok8J%oqg0HnxTcH=Urlf`G_+;YFu6-o`j5TjdgUx8khq zBgZG7|EpNSvE2dJZSXj83y+Z;vfvD{RH)$RS9^sI8!g_7jYDvmdqN<^A8vZi>-B2T z9;bSY;!{YuxH((mnpNb|s@R8WJ#??wJ(>pe0 ztwqOntTnqB;KZil6aGveF{Ev=M~01`Wpym=)lw~GtvXvmm21GD6OfXTRE{XbAR zps!vwKz^QoF~8QVUr7DK-y@iWYGIX-mY*fK1V;FQz`%1uGge$`=dD0AzXcrc<~0RugI)|QrFCM0&r8+J5^aGnVZh|$KYjbAx|k8Gewl`lo6947&f?;(0(P(?L@A>-g!gFWg~fu%BBSI?>8B$?`8@IS@E! zhAxhbZ>PTed_wIj%u)4v1 zSmUH!N!o-x2DK{b!|G=U$Q?CkyGs(bN1&naeE)4qbGCx&JpKPo%lwtJQphyk<}|9U!^{VMXVlUO~)! zrbX|Vx8E<$u zL+3=u^2mv%I9e@wl7gYbh3xx<&{8hYj&(-tMbs*M*U6tIEst=G1h#^9py^zd{|@@fz4rp9*0=zVI{1+G%bUL9>Dois7k6-|SQND);tfqIUvy2i84QMrRwR_C45v zMC)!JV|#DAo5c(l^lqAy^L)I?Xnz8#C6q}hB z+0#k+ov~gKzN`3-`_t!l=(smegkKNqs}J;7v*$U&bQFT#uyCJ(HCr#f=P>udwkQ^| zD>g@Z`)9EKx1;<&hBZC?#^1*o=_)V<80EXBGq8^zqxvFAw1!m9AOA|u|7(0Q=jX6v zo0Qvb$a(tWmxVcB$nU-{<~Q=y{BA*hbNtE=PWOYp@Eq=46s2{%Q0yJc;m0B5 z2GT8T-)+T^8Cb6D0=xdYn7~1I=V>3rjv;rv;_{gv= zEjF<8fNXVDZoqz65AeG9Fzw`s}5aD@O_Pu0IZV8l*@&s;GR@~tZs zGYm5=0_g@vI1Eg}?rhRk*9d9fP}P z#%8%mxV^s;_bl$88mmz5ZMawA{_(MLcWq?T@)$D2#3b78N&m#Bg8;Mf`{6mcf zstZ{v2Z;~|-uVc4sx#Hg_rOMdcH9=b<8ex1dj3%h!}C;SZ8=3-nYyqs?o zG|qCH>PWDb)S5GZXjB`FdVv@oydY$_b%B&jlAt`jD0e5yL>x~znpm`R9JHJ!2jS8& z7f{-S=t0ArG4hyg6%20%a|&IZp_O&1fFVRt{#;_a$oP*7dqk)B4WSO)EfZ}Q>jWT* zd-YgP=>^Jl62iENpPniIN$s?`IxVo=IydS{9R;2BCV!iA-lbe_bI}Zs=&CiBKo%a# zW2{NJHKERa}woRs0aHIGWQ z2v>vk-CMwvm|Ta_H5^^bQ5-ae*H;s3tuW|1FSHAc7cwLPdA2a#z*6`F5`6`j^`NuB zN~|9k1N@z0p?JzUa^+5Onb0ll7w!=BUIy|7Mp?}{L4_xwL;j?ApK$2<8%l$1KUAZa z&~Q`_;Afv~eFE6_po>P~*VT#+5Q+MJ7+9*TB9t`~5Yd4T3eIhXez72aDC$9H`j)OF zQmc)yOF-FXBm_u=9cB^yU=o;9B(@%V@qwjuUBF;PK!9!h`B#bJr<~e^WJL^~{TnCK z+P`s4!Tx$;NkV4>YhcU@Of)I~2XISi{jr|?jjZ7D*Md6qJ_b&alxyH?2cv_ZJw*H^ zkgzA^+hOUv95#AvcT(0QRmWKHhP78zUGyz#_hC&%_6?RbtXiu#l6y<^(wY*j)|PM)>Sg`K`S1 z1RWs@M`@e__%&2@LH=E!>I^&2!CC=rLh+qO^KU4vHYud`yE-y5M+NiB@VN$+(TxvY+4`YYwMRIkz^TKQTt^v_+6c|(G!X*IOcv1dFx z4KdGw=P$7*tg-!g;hnMtK!7tL2by{2ih4$3Geda&kHRf}wR%jRaa(TBQcK zP3WzP{6PyYP#u*vQe8t@H;{Q@FF+0KfyodYkTgwp$4zW!Qhsf$XX6mOh3GHQc$x?e zRfpZ)Ws#MV_E~lJsg0!EdV`$qQ+Y*lNaQvd@`nT~^by!W$S@$Y`=XqV#M*&LF)63} zRQ_7>|1GBzAOq5Z<|TF#dlR{3qbiAx+)23y6xjlb&{aoL_K$Jk+bErwa_A`F-LvCK zdCi!bvwhuBK%%xL_^wc{#3uS&a~hmt?DvpI=#cujd=7G?KLUd!mD+-dvO_|?*aQEP(^3EbQ*E$w zZmf$>W$ifAIZ1JL4tSjsrt4Gq65@E8Ck`uYO)2TT{hoP{psTybWpPX_fW!ss%-fro zk`IO{rA8(w4z@11BHv>w0OHsFT=GJkax*6tIngSLf|iMH_l z(eG^}b1V_-Ce72NG7VDMkXeF^Dh%XLPLu=&*q*5W@dt~(S5M^-l%{CGu~DQ+>+09g zk?k5y)fN2$RvnNQ>!l>*(J7kKx_fJs*4xl325(O2tC!*{M+MFV~WCIVkqlwSP>p zx2|bVv%Mq+Yzgc>QHt>>nE;BtevMLWi9(kP*T|d~lpW$FsIfE9o~Qaq+(w;+h=%;R zsH>Nh(2y~KzON!QEQM%!A_j>m`wV^H>1%>WV!(eusj&y!P0_9&fR^C6oQdz*P(~7Y z5aE7)ty!V33Qr41HiN!DgRYeTzRid7@0}_pJPER zpqouDX-nVt5$^rlu0)Uc0U8(Ig=VBsFx9Vp0AQG6}pr1QzP{E z@JIoEpHO}ej?BPy$H+8yK*+WC2^z^Re%LqwZiQUFNr*K%3SvHS{RfS&DjZ0k!hsCr zRUpqt(SlwXq2Gmn?TI+dAZ%ksfV&9_OwQ|@z)Od49KkWkTWb~6M0F&D_D7|fDZc_h zD#rXz<1uc>4eNt>t4P^dgw#iBke?b~5N#9te$a1;pWEf%T(HYKH5wENT4QQv3yMDy zTZOa2S%g08OTC#A31W|AKy-*T^)(y!IkPXNo*R|tzYql=DQ6GX)N9aA23-F=On(tl z%(VGONMU*rkZ6JPu-P+0Vk)=tu%t`V?mtE!CTtr%*o6bBm*IZFq7P-p75 zY@!ZjOQn@-&AHBXniQ@xKVcIG8YSOXInUz>R!Y62{K(LzRI2eyl-K(Fy93xwBUQlW z1cj*0(cj~y6}_lKHDoVY?#%0D`p@_mOJbNP$pfHig+e>_3d4y$q>iuA^l3YyG>o5_ zvx1bg(k=t;5q_`f|aryDOKhGrG(wu^$E z>lOZX!xtHQua6X8E$Gu{M*8*Hkactu;V!Mwkhe0RO(&V(4y-M>5I7FKsU%0k-k36M z7`-TyKBSbf1|>|%;zER^tGJN1)}OTM=N)p@dYyj8VstsZY~x}5VZ!>@M(FP<{sOUk zW9iTu8a;XsQCSabvwhjTp%IoLuGAg*S?WEWIM|AKB+Ag|hkPnaRQRst4uP>`dsAUL zu*zWOWjhWzfs(F-$>zg;&qN;RlRLcGyvGll6(wzYXK3uucaYRKC!c4h@erHDUvVQ_I?F}RPoq|8ojvDk@c*gsjH|)h;4dn?31`A?gk)aN z^$70@Oj((?N2&AYK=HwXPEhx<0O2S&bY>WPe2EX9|OfBfoDK*VWJiVui&@4 z1TUx1n)7juuv+uQeo9APN^9!Nnc+z3fcjB*MAJ|mEaa1$@D0f+t&hf{t&eJ*z2GCU zpMakLmP6@ONy`bKqGcj)FZk>%hdh6NpYA5H3kXf3Z0U_T!dUf%JVBZTZ(~#z^Pfi< zW#12bLh5#S;(QcRN{!MoX{%tAx~6METFdm@LGxu{s@r^j??0Fi{q4&y_hZkzlf*=P z*AdlP+*+*iAiHT(dIAkgQ)=^l-ok4AYNS@{t!C#{*9yOY%!*V^yF$7iGyhXC4(p4D zgG8~u_=#eB!MOBn0(gfM%MiXZg`C2Z&JQjD`;O-ChOe~wsFxv6{1kWOAFq6zH2jTuplztuixQz#(UQ^fecmVXwQvaqe<3thBmV|^cdekA{2Ef- z>udABA^fIabHnq!zK}nU9q4CV;r{H<0DQw>Re*JO{57nCOKGd#$iFGvRC1Rv)qAAz zJ&XyohL8D<_}>)X>(`Wh9nX(8Ud8iczN7vU_Ga%3R3C( z<1`K`V8yFWna__xkJUSAOY!wQ{c`_dm-re}S*@ z4{;3RAiy-#e3xaWKxSY2D$7t`59e|J()%n^isQf7xp1O z&iCU?_xJAn0P%57;H<~FdzfW1aen{LEJODsUimNh3r-TUuoLOQ-ueFLkRHyPPa-{> z-+6&$@^C(b^KB{>qX8M^GmrK`!qd6VJ(XAc*SRzKcG~B8aLBVslqn@udhB&+yV|hB zEx}hJwUS~x?{up=_ww2so501St}i?DRvXAv1eCt8EF|_&T*vR?GI`$h(I=*T z3>W&u6s9Zn$Kv~N1@Eez19=*T=`QDH8@`=K7|kJS@3*;NHZ$9>ApbvwQ-Z3iV%4MI zdG_)FWv-qQIVldo#^>koD#ko{XZ{RkhT$jh-9+sond79J+R^Ss$Pb6N@plOr$iS5W zmj*d);?spGZtRvo+QLM85dJ*176LvZ^0qgXH@dD`7~hM$slcT(hbk27T+;a?Xg&2h zHBqJuBiCgWN;*%$YrBBG2Dq|-X#zbbb#}-K>3#-hWl9WE2E5ul18t>3{warNMk#(B zc~ki{@Fn%}+xBy+*BCcYsNvdvA_0nNaMqzenoD633E{_ zF}w^bg-+De0p!W9^g6rJd#Q~|QfExx6Yl7L67L7XSlOf2(JOHT;6Vsn4{S$Fk+k$j z!w37HMV*W zl<2O87wtin^27I~u?PB-MiK&K%EWU<84FMs6Zh&bjTPTh?on?O?=Mc=e|b#PRHAQ% z)KrHAlIPFUtC&TDco-oEeN6iBl|-MaPcQER&6M9@4GCxf}N? zobSMxV#GNE_ja5g$2lG6T7)AwHy}Rs`S3W-4D5dIejMMy`JE2L$9W;{shxJ=MV4^@ z|9Amf8$ngZ(Si+}%*6jWbM!AMj1$6r%_IV?-V zrtoB|{|j`-*q`?y%TU~559WqQx{CP@j#G^+6U14-arYLM3E{jqO~vfm1Ydr*9x&os zL_Ol#hUXew$8a9N(Yg_HOooaXMVQ}xi)GBX?#1zxz%rK+em;(tbu7c-Sr}nXz%dp1>BRX{JkLgc!bn5H(Xbh90(`MXt0Rudzgqe?dGq;M z!+!CPyZ$%vyi@rz{e!<$fUxqX{|A5cy+e(%_?nv=wsVU&_!~B@U&1YhE7>KBxRgr6 zjV@!A_nfUBfP5QTHd!i2v$*vkZhgap{(7qWuwg5-^BXn?=03Q7{oD=SEmd5zcXI>h zZRV(|t!E{_>RWf*efygGsG(~G@dg49;G=7)?d$!EI3+1OgVo(O@8)LC23y&=frmCL zEex1_o3=i{t=+n1=hh7y5Sk{qeVcc~27f(A-`E-+Y}m5BnVZFJK zZ14t@OKy|DITaUqx9PdX9nv;t%0T zi+9`hZOzEhwuagME&lD?-FMcmxvQG9Raf6M&u#}+S#?Dfw_#IDv&d}=a!oA_Df_Gx z4G8fy(}GP9?8e&J)=<9{pPEJ8?sD~FL;c27{cQLWh9dF-_q)yhty>6)LJO+oNx8r~ zTAlQn*sv+Ut*zg@9^|G4Mu|3W_HJ3<%*{bFxxNAfNYyUV+2F0;zI9tGrFAnd8YUap_N{2O8@w%>&}2}g>k%gECiT6~ z<4@#=Ta5bKi8eXWMYx?@Dx(~2!`#DGytXd7$!_0;sHCOY`#=Mgi z7u|cMksn&5l(KYF3+IPBXV4s_-Ry4$;XnnnWTn>a!BTt8rhBV6l(@yaY0|fI1xmH_C4{=!t9ma*NTKcCK%zUy@4e51A^4IG`J$ z$J}%`%Y2ZlVz9#HezBFnxSx<7Ek)nLbfxJ5W5o<&^3mS$I*W;&vCqoBoPlk9k2oc! zzozc`Nd7hy{?3O(;UttBsDfWoUNriHVXCmxWzs>i4fm94uEPFDjQz{ZORtS-c?}fK zT0*4z)i!(KLjHZZ8ESC}IWw7Qt>B%U`t~uM!=61SJ#yzVja3CDlQH>g<2gl+@?|Y# zwkERh2`Y{z-5sq&B9`n2N91L3^$Od432bFUXmv-(q$O(XFg#=m)|^p)2UcgxdzRLm zyTcW)E90LqFXXueW19oJLe<%aEr97L6|*3*Y>s@qE2}F# zmVuS`)`%E}X4anAnPYvh_u{iUVL#ZJ)#b)M_PEE&JIq=>w7}H)@gwBW8=HIV(>j@z zCSy6DbC|nXuA90hcT*)iATF-(L|he1BSGL>?usOK<-nqC6niegh##wiw!PwxiXB8v zEgL^<)w{Hvr+4UkYqx#4qitKo!{@hE@EO&aHJOJVF zv|?z6#FlAWE?9n>o6i2>gB>BA=FN(SGjr|6-3k3^eT(XJRywi`wTx+9+JF#TYzsu} zL%#jFw;0<`hU?l-wi;XBZLMqJc7$7`-4|MV4(Rtt2i$wOgW)~G!3%pVd`UH6sbbG3 zf;;r5-A!kAgqwOEzmTih$8Ah|-K0tHWH__w)|Q%G`j)f1!Y#eQ0qwwaN5O@bZv*s) z-EVx%xxenQ_FekZ#)n?tRre6Pd;deu1E$l)Q2T+pQ0NhTllnAyzD7MSL5#WXoe;FD zI(OQ0;M(>6gsLmCD`amAsJac-o@!$N$_W98ZY*sZh7Nd0?FNnI{08QMsojG8;%@2| zX&cnU7z-;^{@873^R~5+?zZ+4N5<7Sa8L&stRYp29Bzgtp|t_1)$*;nT33fTS>0Cc zd87kyY9qUL7LUe{nl#Dyv~KC9U*t32H=7MupIw91aaOekHj^tOT=5bsv3$LxKzkKF zER9E1({sBv6-5@QxlCy>7YHz%y@_-MLen@+Riv-*8zs8G$K$&KO)qm(v~N-~c|&zN zwm*kq#AfG>Iqz_#7ff0^pJUh9=ly$rPELNVHWHT(*pE*O9JfvB+jDkD-$PW_`DgJ( z61+P#y^Vd#LK1sDKFzLuEq;rX`)vN4*X{Zj0JRP=-Lp9v&)U_2Ky??F7T?vbGrZZ< z)K}POSD%U-f9OcF^M%rYZXher)SuHGG^O>maR*~I zF12Rrt_}TY7X!P9miW}J&~DaN78QcI@MUU+hu)mDDwEn9X%_X5bT0xmDIB*%Jn zfp$PkIO7&g&O&vLBfT)JD$sMUo@9tRyGLWvVNJhqciYz&YwO~Kn{L*aw2F{h4VG|X z5qs!qmZa|)>Pp|U>$~XzwP%D$-($FxzGw5=k|%HJcDHxB_uQ?s?|Jh(_B{(9Hk-;@ zH)APaVM4W`woqWHF~|m%1zmyt!S=wfgRckDT2)PTtjc Z@tm#xzhhtv1zn@fz$mne@nH-D0|3n{Y?S~2 literal 0 HcmV?d00001 diff --git a/tools/out/caiic_ble_full_ota.json b/tools/out/caiic_ble_full_ota.json deleted file mode 100644 index 5f7dd2a..0000000 --- a/tools/out/caiic_ble_full_ota.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file": "caiic_ble_full_ota.bin", - "target_bank": 1, - "size": 54204, - "crc32": "0x08D5A053", - "version": 65553 -} \ No newline at end of file diff --git a/tools/out/caiic_ble_full_ota_app2.json b/tools/out/caiic_ble_full_ota_app2.json deleted file mode 100644 index 4ed6ef5..0000000 --- a/tools/out/caiic_ble_full_ota_app2.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "file": "caiic_ble_full_ota_app2.bin", - "target_bank": 2, - "size": 54504, - "crc32": "0x2229A8CB", - "version": 65553 -} \ No newline at end of file diff --git a/tools/out/mothercup_ble_ota.bin b/tools/out/mothercup_ble_ota.bin new file mode 100644 index 0000000000000000000000000000000000000000..2650a8dd5fe676f6d0a05b7aa3f7de0ce99c8347 GIT binary patch literal 108760 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 Z@tm#xzhhtv1zn@fz$mne@nH-D0|3n{Y?S~2 literal 0 HcmV?d00001 diff --git a/tools/out/caiic_ble_full.bin b/tools/out/mothercup_ble_prod.bin similarity index 99% rename from tools/out/caiic_ble_full.bin rename to tools/out/mothercup_ble_prod.bin index 3005dad7f2962160e39fe177ce215720c15cf118..58d64e4e7a182154a1a905c256d015579e344e46 100644 GIT binary patch delta 90 zcmdn9oORD~)(rveeqeUu4&}*!+NfDf^~|FX}uXWnqST1_pYD e7MoUhvocz2_E~$ygHdR+;K@U}7uoeKHa}or%D$=Li#iWTS(u@ofq|Z( e`KA@#tc>QHeb!#_U=-Y}`0X4skoV!|nMeR0X&UVS diff --git a/tools/out/caiic_ble_full.hex b/tools/out/mothercup_ble_prod.hex similarity index 99% rename from tools/out/caiic_ble_full.hex rename to tools/out/mothercup_ble_prod.hex index 4a6763f..387c9eb 100644 --- a/tools/out/caiic_ble_full.hex +++ b/tools/out/mothercup_ble_prod.hex @@ -125,8 +125,8 @@ :1007B000096A012211430322920611627047000068 :1007C000D00700010040002038080000D4040001D8 :1040000011C011CA0100000000800001BCD30000F3 -:1040100053A0D508110001000000000000000000BE -:0C4020000000000000000000647B8C1514 +:104010007B5AA0F012000100000000000000000028 +:0C4020000000000000000000B4273BE995 :10800000D0B70020698100017181000141B00001F9 :108010000000000000000000000000000000000060 :1080200000000000000000000000000005B4000196 @@ -766,7 +766,7 @@ :10A7C00034A003F025FA03E029463AA003F0BAF9D1 :10A7D00009F08CF87D21C900FDF7D4FC014639A0B1 :10A7E00003F0B0F908F07CFC01463AA003F0AAF9A6 -:10A7F000F8BD00001100010056312E30302E3137E7 +:10A7F000F8BD00001200010056312E30302E3138E5 :10A80000000000006669726D776172653A202573F9 :10A81000202830782530386C58290D0A00000000B7 :10A820006375722062616E6B3A2041505025750D40 @@ -851,7 +851,7 @@ :10AD10002C20727820717565756520666C75736876 :10AD200065640D0A0000000010B506A108A002F03D :10AD300009FF0DA002F06CFF1948016819A002F08C -:10AD400001FF10BD56312E30302E3137000000008B +:10AD400001FF10BD56312E30302E3138000000008A :10AD50006669726D776172652076657273696F6E70 :10AD60003A2025730D0A00006D636D2D6464632D18 :10AD7000626C653A20424C452872647473732920D2 @@ -2017,7 +2017,7 @@ :10F5F0001049884201D1022000E0012069460874C8 :10F600000120009004AB22460799069800F014F8F8 :10F6100009B0F0BD079809B0F0BD0000FFFF000081 -:10F62000110001000008024084470020FF7F000015 +:10F62000120001000008024084470020FF7F000014 :10F63000000020410040020130B4029C42540546C3 :10F64000491C88B22C54401C002180B2002C07D9E0 :10F650005A5C2A54401C491CC9B280B2A142F7D35B @@ -2077,7 +2077,7 @@ :10F9B0003D3D3D3D3D3D3D3D3D3D3D3D3D3D3D3D77 :10F9C0003D0A0000206D636D2D6464632D626C65DB :10F9D0003A20424C45202B204672656552544F53C5 -:10F9E000202B20434C490A0056312E30302E31371F +:10F9E000202B20434C490A0056312E30302E31381E :10F9F00000000000204669726D77617265207665AF :10FA00007273696F6E2025730A00000000400020A9 :10FA10002053797374656D436F7265436C6F636BCC diff --git a/tools/out/caiic_ble_full_ota.bin b/tools/out/mothercup_ble_prod_ota.bin similarity index 99% rename from tools/out/caiic_ble_full_ota.bin rename to tools/out/mothercup_ble_prod_ota.bin index 0c78c1dbc0d178f71bf9a64f7b5b00ce6d6e84ec..f5c14525d4b6b561ada8cc5a0d956da58a030ce8 100644 GIT binary patch delta 47 zcmdn9oO#c3<_%xed4w1k8Nv+p3=H%PEjDR*vocz2_R+oK!6>v@vFsc(koTeTOe6qj CDi5{* delta 47 zcmdn9oO#c3<_%xec?2048Nv+p3=H%P%{OUyvoe}*_R+oK!6>*{vFsc(koTeTOe6qi C#1F9m diff --git a/tools/out/mothercup_ble_prod_ota.json b/tools/out/mothercup_ble_prod_ota.json new file mode 100644 index 0000000..0ca1839 --- /dev/null +++ b/tools/out/mothercup_ble_prod_ota.json @@ -0,0 +1,7 @@ +{ + "file": "mothercup_ble_prod_ota.bin", + "target_bank": 1, + "size": 54204, + "crc32": "0xF0A05A7B", + "version": 65554 +} \ No newline at end of file diff --git a/tools/out/caiic_ble_full_ota_app2.bin b/tools/out/mothercup_ble_prod_ota_app2.bin similarity index 99% rename from tools/out/caiic_ble_full_ota_app2.bin rename to tools/out/mothercup_ble_prod_ota_app2.bin index c55c0c7cbf575d04634dda65ea3a35fe3d8aa94b..12ebcfd3dd34bfd8c8af1cba8de4c7d02f1e1cea 100644 GIT binary patch delta 48 zcmaE{lKI6-<_!v(JVFeN3}J?P1_pYD7Mpc6y;&J8Hdp9f@n96%>|1`08OW2VJ`)K5 DW0(&1 delta 48 zcmaE{lKI6-<_!v(Jc1023}J?P1_pYD=9_giy;&K}H&^Ig@n96(>|1`08OW2VJ`)K5 DV=xZ! diff --git a/tools/out/mothercup_ble_prod_ota_app2.json b/tools/out/mothercup_ble_prod_ota_app2.json new file mode 100644 index 0000000..dc79fa9 --- /dev/null +++ b/tools/out/mothercup_ble_prod_ota_app2.json @@ -0,0 +1,7 @@ +{ + "file": "mothercup_ble_prod_ota_app2.bin", + "target_bank": 2, + "size": 54504, + "crc32": "0xDA5C52E3", + "version": 65554 +} \ No newline at end of file