From 314701bb1c52e756d5c7ed184edd6fba0154663b Mon Sep 17 00:00:00 2001 From: Dezoff-max <199903504+Dezoff-max@users.noreply.github.com> Date: Sat, 11 Jul 2026 15:30:05 +0500 Subject: [PATCH] Translate GitHub presentation to English --- README.md | 116 +++++++++--------- docs/screenshots/applications-multiselect.png | Bin 2929546 -> 2914023 bytes docs/screenshots/overview.png | Bin 2726164 -> 2660784 bytes docs/screenshots/scan-areas.png | Bin 1543135 -> 1438664 bytes 4 files changed, 58 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index f34f847..1201447 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,8 @@
- Безопасная локальная очистка macOS с предварительным просмотром,
- Safe Mode и удалением приложений через Корзину.
+ Safe, local-first cleanup for macOS with review-first scanning,
+ Safe Mode, and Trash-only removal.
-
+
|
|
+|
|
|
-## Возможности
+## Features
-- **Безопасное сканирование.** Кэши пользователя и браузеров, логи, временные файлы, Xcode Derived Data, кэши Node/SwiftPM, Загрузки, установщики и Корзина.
-- **Понятный просмотр результатов.** Категории, размер, риск, причина рекомендации, точный путь и недоступные для чтения области.
-- **Safe Mode.** Включён по умолчанию и блокирует выбор элементов, требующих ручной проверки.
-- **Очистка через Корзину.** Разрешённые пути повторно проверяются перед выполнением; постоянное удаление не используется.
-- **Восстановление.** Элементы, перемещённые в текущем сеансе, можно вернуть, если исходный путь свободен.
-- **Удаление приложений.** Поиск сторонних программ в `/Applications` и `~/Applications`, выбор нескольких приложений и необязательных точных остатков по bundle ID.
-- **Меню-бар и автоматическое сканирование.** Статус диска, последний результат, расписание безопасного сканирования и локальные уведомления, пока CleanMac запущен.
-- **Контроль разрешений.** Живой статус Full Disk Access и Finder Automation без автоматического запроса доступа.
-- **Русский и английский интерфейс.** Переключение языка и светлой/тёмной темы внутри приложения.
+- **Safe scanning.** User and browser caches, logs, temporary files, Xcode Derived Data, Node/SwiftPM caches, Downloads, installers, and Trash.
+- **Explainable review.** Categories, sizes, risk levels, recommendation reasons, exact paths, and locations that could not be read.
+- **Safe Mode.** Enabled by default and prevents selection of items that require manual review.
+- **Trash-only cleanup.** Accepted paths are validated again before execution; permanent deletion is not used.
+- **Session restore.** Items moved during the current session can be restored when their original path is available.
+- **Application removal.** Finds third-party apps in `/Applications` and `~/Applications`, supports multi-selection, and offers optional exact bundle-ID leftovers.
+- **Menu bar and scheduled scans.** Disk status, the latest scan summary, safe scan scheduling, and local notifications while CleanMac is running.
+- **Permission visibility.** Live Full Disk Access and Finder Automation status without automatic permission prompts.
+- **English and Russian UI.** Switch language and light/dark appearance directly inside the app.
-## Модель безопасности
+## Safety Model
-1. Сканирование выполняется только для чтения.
-2. Каждый кандидат относится к известной категории и допустимому корневому пути.
-3. Очистка требует явного выбора и отдельного подтверждения.
-4. Перед выполнением пути проверяются повторно.
-5. Файлы перемещаются в Корзину, а не удаляются навсегда.
-6. При удалении приложения сначала перемещается сам `.app`; связанные остатки не затрагиваются, если этот шаг завершился ошибкой.
-7. CleanMac не повышает привилегии и не устанавливает системный helper.
+1. Scanning is read-only.
+2. Every candidate belongs to a known category and an allowlisted root path.
+3. Cleanup requires explicit selection and a separate confirmation.
+4. Paths are validated again immediately before execution.
+5. Accepted files are moved to Trash instead of being permanently deleted.
+6. During application removal, the `.app` bundle is moved first. Its leftovers remain untouched if that step fails.
+7. CleanMac does not escalate privileges or install a system helper.
-## Установка
+## Installation
-Готовые архивы находятся на странице [Releases](https://github.com/Dezoff-max/CleanMac/releases/latest). Вместе с ZIP публикуется файл `.sha256` для проверки загрузки:
+Download the latest archive from [GitHub Releases](https://github.com/Dezoff-max/CleanMac/releases/latest). Each ZIP is published with a `.sha256` file:
```bash
shasum -a 256 CleanMac-*.zip
```
-Сравните полученный хеш с первым значением в приложенном файле `.sha256`, затем распакуйте архив и переместите `CleanMac.app` в `/Applications`.
+Compare the resulting hash with the first value in the attached `.sha256` file. Then extract the archive and move `CleanMac.app` to `/Applications`.
-Актуальные ограничения готовой сборки:
+Current prebuilt release limitations:
-- macOS 14 или новее;
-- архитектура Apple Silicon (`arm64`);
-- релиз пока подписан только ad-hoc и не нотарифицирован Apple.
+- macOS 14 or later;
+- Apple Silicon (`arm64`);
+- ad-hoc signed and not notarized by Apple.
-## Разрешения macOS
+## macOS Permissions
-CleanMac запрашивает доступ только по действию пользователя:
+CleanMac requests access only after a user action:
-- **Файлы и папки** — для выбранных пользовательских областей;
-- **Полный доступ к диску** — опционально, для более глубокого чтения защищённых метаданных;
-- **Автоматизация Finder** — опционально, только чтобы показать выбранный элемент в Finder.
+- **Files and Folders** — for selected user locations;
+- **Full Disk Access** — optional, for deeper checks of protected metadata;
+- **Finder Automation** — optional, only for revealing a selected item in Finder.
-Сканирование и очистка не требуют Finder Automation. Разрешения можно проверить на экране «Доступы» и изменить в системных настройках macOS.
+Scanning and cleanup do not require Finder Automation. Permission status is available on the Permissions screen and can be changed in macOS System Settings.
-## Сборка из исходников
+## Build from Source
-Требуются macOS 14+ и Xcode 26+.
+Requires macOS 14+ and Xcode 26+.
```bash
git clone https://github.com/Dezoff-max/CleanMac.git
@@ -90,39 +90,39 @@ cd CleanMac
./script/build_and_run.sh --verify
```
-Тесты ядра:
+Run the core test suite:
```bash
swift test --package-path CleanMacCore
```
-Локальный Release ZIP и SHA-256:
+Create a local Release ZIP and SHA-256 file:
```bash
./script/package_release.sh
```
-Подписание Developer ID и нотарификация описаны в [docs/signing-notarization.md](docs/signing-notarization.md).
+Developer ID signing and notarization are documented in [docs/signing-notarization.md](docs/signing-notarization.md).
-## Структура проекта
+## Project Structure
```text
-CleanMac/ SwiftUI-приложение для macOS
-CleanMacCore/ Тестируемое ядро сканирования и очистки
-script/ Сборка, запуск и упаковка релиза
-docs/ Документация и скриншоты
-.github/workflows/ CI и публикация GitHub Releases
+CleanMac/ SwiftUI macOS application
+CleanMacCore/ Testable scanning and cleanup core
+script/ Build, launch, and release packaging
+docs/ Documentation and screenshots
+.github/workflows/ CI and GitHub Release automation
```
-## Участие в разработке
+## Contributing
-1. Создайте отдельную ветку от `main`.
-2. Сохраняйте модель безопасности: scan → review → confirm → Trash.
-3. Добавляйте тесты для изменений путей, сканирования и удаления.
-4. Перед Pull Request выполните `swift test --package-path CleanMacCore` и `./script/build_and_run.sh --verify`.
+1. Create a focused branch from `main`.
+2. Preserve the safety flow: scan → review → confirm → Trash.
+3. Add tests for changes to scanning, path validation, or removal behavior.
+4. Before opening a pull request, run `swift test --package-path CleanMacCore` and `./script/build_and_run.sh --verify`.
-Сообщения об ошибках и предложения можно создавать через [GitHub Issues](https://github.com/Dezoff-max/CleanMac/issues).
+Bug reports and feature ideas are welcome in [GitHub Issues](https://github.com/Dezoff-max/CleanMac/issues).
-## Лицензия
+## License
-Проект распространяется по лицензии [MIT](LICENSE).
+CleanMac is available under the [MIT License](LICENSE).
diff --git a/docs/screenshots/applications-multiselect.png b/docs/screenshots/applications-multiselect.png
index 6819799209c873f54efd1d9e5d4652cc8c140003..d816f93a668d2279e025a3be41d0723b725cfa57 100644
GIT binary patch
delta 2886740
zcmb4r1z42py0#)pi6AN}NC*zZX)px5P2N$dBK_3Z7=k|gHJD57X4#ID-l8uB#FD`_lN5wAJX3)4$kf4Q7(ka(0uYL zL4E_)A{+WgJnXhp3cUjW0F5v|8)=b~0=NZ~$4U-8$a~UmiA}k%2%!KyP9)#1~T@+NXzMx-D446*07)RWMk%^ z6SlWyxsC7di4z;$eKTjFc2hffZJhhZ?}j3CiHW+!J%|J@wfy_sbravKj l=|$Rt%h^Jzh|K zsA|xVeQqr99@hz5AaSg?8a6vI%rs_5JlCxpxA;U5-$U~cy#jx02y%R;drU|%6_2L5 zZooh1R=?`&)gd) hZ3wtmvF9G}$z-s0KpT+Ak}r9C^*2rOKSU$V>QB z5a^1n(XL@_*K~6M5N@YL^Ife}kH%NrqnGesv|(1~rZWS2*CHzDN|TF0i&F4_%HnVo zO{=j{vwMRx0UbO>Yj+Sb!UJE3D>WqoSPM#L#&ho_ZWzCN^H11XuUAV!4cgeryC_Er zW!Phze~2#puiok(m%#s+Nkof3W=!O7Ge*~mRh&Pgecq98%d1+&3E9{_lSuZzATj=g zPyuyP-F9%>Ick%v8}bD<5=noq3?;A`L)19zAx&bWM}nBtbVF}_1f5m>pEZc*mvcHn za2}k64Jn8CRVYq*c}8Wx!CK!4q^fpzd~B^0^Dev6Z>r>X@f1Y?j5iaPRl|~Nec#Zi zXdkV`dkF`rX!b#iA3_lg3_4yJsyz(vb)A=0w;~Ox3h>LZ#0FR(pp$F(UpKI!HrMZ+ zABh4pl?0>6h@|^{`LBHTLynf3EOZlLUycfEWChczGW=|nbAST_rw4(YE3V|f@mrPD zzT{^+3LFsMH$b)W2z4+iaX<*VeQqX~G9Le+F#*|b`GDZ&Zqu4lC;nw{bizhFaNYYf z&pRx82+|JWLgSlkEd YE z8LQt`QarE<-M&J&zmt48($}JY 7$CO_Sq^1fL+62RqeQEYiE*5UpgUk*{5IG~C)n{FFpfuDNovwjB<;#19Z zZlA$})59u*{fYBRY)6JYh}$S#KF;OlGhSj&{gM~F^TI>!?}g|{UI`)m!!QyX3B2F$Wb z{`KKE=YFZ42Rr72YhBgKH@u{Cjk?RpNwCd%=vOA+2eDy19%wssJ}8^r!H-zQ2+PMm zZ2et}LN)bIEsB-7^x8o}wvrDEVj;I8q4*V7eOPudC{X2wsSObQpWva?d8RpVO;)L{ zXf3#}z`|v4Co0J(NLy^so^Co0kK1~r2m%X}N&l!j!;VA~p*IQ &f%tq+A9+^jVc{Vzb|ehn{t%rB8I=oa*CYyf`_^xyfeO^Sr+P!vrr7 z=sX29!KMvb2wes}@; *x}4;m9do`o16{4|xRtms}dBiV;B2 zIV};D3G-3r3)^M~?5@`rsSR&)g;m9)qX*WHUOlqE<33?oL}tfY$)jFq{9UMou;l9X zE;|7{J M#hOwUToi< z-I(D1E#~}R{QKwN)Ha4@dnx258ueGQ-()<8g}t~5L6?y|(lBVl`P(!%C9`hdql(OV zXe^gyy#2n6&&8PbMM{h9Z3IfY(wX=lc?>fK3|0}7iO6diNuBmox}4BuvRWnTU4f$I zCL$neb24nwf>$0_H7=*QTmm9hMD>4275&w+{#%{*OX$}^*a5bNzc$Ig7&`g17a=-y ze3Pb0`l9JsS>*4t@~Z81-4idECjh2q4$3d;Q#xBmax7jqJa znAmp0$7c(3+xN7Zh}BOmVW{mHcDM{u#do388UjY9q2qDy1}0-^h)X%Bjn^9Yjm$Su z#IACx&I5jnbfbJqfbp zPUW;w7c60-ilTnECZ6t~$<-T$>Y)GI+x|EB*B|=hf80exhOU9o-opNfor=2_n{=H` z5Y$J-&W?$>xp{x6@6mp|kepnEql-)2P+RTFF`clmZhfirvd77XGEU`c^{(UbW|||< zd0&41kBywqs(ug~Qi>DehHlIhYGm%Q_f&R?RamL~cDY9WU9VJxe)rqLQV>v*#AIFy zt4q5fY-g@%6&9j2(ccGtX^n FRaOIYf|mPho){ z^ruE*ItXR}b+-N^e^?0t5R;~j7opzmeyR@Nu9F{Mq7 >AWvGpu*(q1>;M-`j%wBY?G4LLLso+tN3m*M*ZQ5snG;%j| znrg(sG`hF+K)87c5kt90GapbixP|9=j|neUWnpd}`;NV>9&p&zm YG8Z+hGwdB_6! z80P|?9Un^?+O0+CCATJY1z$^+cINDW`^8nZX`FLNEW+fkY;}lEuwr?pFMovX$d&C? z%uScK$(*-`VqtiyckzN!Zm`!c&`0wBU`+oBf9<0|{%lR*4F83>=7HEbqQiL%Rg41U z5lZqNoa?}%MM2}YGu@N1#^!>0i?Hpfcz!=<((5kXRUZ_R%?aoFWo!ruK8sUOFw?_r z-Ao_?vvCG}o0U_cng;GNpwu2D4m n3 SEt{vQG^S- zhEtf%JeTgiCJ(fTZ?ixW8)uB`mN+M7B&G7763PGI my%-ZB}DCZb40{I%_-~K~n|9dI)zdolE!HERV zRD|*WSyNE3`U8{(DR{?LS5?6YNMFjO=jMtvG&FofKPwKt8yM?@)WRVw;_YBxe$LEP z4@DKFvLFT0`8UBI;h&z-k8RMBB)}220q{#@csE0EJ#=RF-O(%RkkvN~o-Gg^ {bOC@;5x05)JbZlPu5TOxRMwX~$ow_91keu?^YfGtZg|FV=1ga0 zv}yUL-Lg`d_EaM6Z^&%VW>xkTwGR|2$21d)zMnw!@+^_edSIfhb`jU3)(a26s`^Na zxW`2gJvlznvRB?A1`@+Z80YAMed8z~oSeNTWDweF_l?^T5ITKJ|NZ+UMKnXLS0C;l z|N8&Ar2QEH*gug-_Qe`U{)G#@8SpZWkAPSYmT@R(W<~{~ozg?2n1b?EytJ}%l6N8R z()QVjWW6Bfx5yEo$3$UFUGFC2-wf$LrAl`oF}>2&kN(_gI>`F$qj?t4=B=lhuiQ;; zOLDm~h!$|}PC32Hm#)9_G#pu`<;dXS&n-BcXz38wWU%zvA=WD-IQsJMW@wTXIKX&> zl(E87uD;~4O0e6i u%aAJmi@>cn8Tcd3H%p$= zuRH?dAwAOWKM=QVrz9wsl&bgMjHx%KmLB2&+V30w=-34TDT~exp2ijHUHn>Yn}vGk z8ks!CXqMu0LgA9vto1M+l)ikb6uUd2$Oax;JL}0xCi`CCoDx_1qeitj&)AX(Bf+Zw zXm0<0GmrmI1FXFMRyhnPVo$%5a>LS0LZ10dvs4*8)#LV4el(2r3&Rq`ef-jzwz Q3$AfL;XFJYhjfTQ$y{C5{Z}TL!WvrdDWvXOEL$4W+ zjmeUzH2zWX2_j5O21U+82hpGY%ZJ`7*ROAbBZ}>ll9Hxl>%U8Ki9)5VEA^AdL(asJ zgrr^q3oTJIby@qcl}#Ug`Dth|tf2Wu#oEl=Nk~|BZ}`fmZOQcDLjotOu#)RV9t@Fm z=WIvhdR_5q4EUd_=rlAs=4sRQn8JAWvnedQ3I1F#{%8H+KP)Ul&1kl-Ox<>V%!vKe ze&*Fz54MvRAa~N{6CISGfY!fJdw%~uM^j9)vzb_wp~i(5`|#j3F*{o-;FTx{ B&fU8QZtoj`kf&l*7_Dv#$%awx~2F_ca85xkEij6lDzctO}hU J%`-o`n4UkeC(|(Zu?v1}@+u89exxj0Pmk6cDJ=+oYU) z>AeBXSJI~n&9EPG0e5^(3RVz(75v%~U*BfN(AXb|7}dNglyZe1(!Vv~t?W6J!Mlox z`0@K!J?Q7PkEF6}hUdR=in&yAe(0%ou@WXkHj=)3Uz5FRyQgt;%MhD@iXr8yf(yM~ zm}S2XJuTtmB_-t`V-*aUf8!Ft=Kp2l|400P0WX4{=buL(8bPu6Oe8PbPXCcBqt$5E zk F@NH;8mI47!1{p%#6sMsq(1#m3;A2> z@GsN&^Ckq7Do=B!_NRfk?bAYZc6mlj`BxD-jSnR(mY;{Vh6WK_CYsL4$jTC47WDb@ zfvxsDfVNO41+3W-4G|Uu3K{I~U~9UjhhZNvUZHfeHKy)jQVES=it$h&6$9476TmAT z8Qy@R+M-dLXymkFUiK;(Lshd~aCA%dq7BQ*E&a@Ckv&X@>K77hT14HT5IC?>RSOB| zS87Pom0+J2vYl>12D+-L iT@w`ga3L`p9LyCi+}-KtG@~H z
l3T-POYehL&zcd_M0j79}{IS;Y$5@%l>3=^}HJ zFZ1|J-HR}M%2X&1*-@(eL+N5e4;CHKI0N4wty7Hz?e+3Ev}}6T)s!%8Z7$p$ro1z6 z_-4yS-OZiDNxf-6MIwLTB6nHxdC$u{1}0Zu0OK&ARBQ@B5c&UMZd8$?(Xl4s<`2Kh zLo53g<8r?zIB01a`Wb5QHohG_M;C9*Nio8P#CmMy@cFJ8Wu}hQV;&JU`d~O^7B+|& zzs@(Iq0iav*|=g;I1^RfWmyY=m`wjA{_INi $n4R8D9?QA3-xG&jZ-)p)*K;>EQm;FOZ{IS{paO90A6t%4%d`Gn*!BZ zGn_x#%uP?PI;t)|+67I_ZS2^RY#6=!^cf9F8R{og+wzhpltDk=kN!B)V+>s2T8Hkm zTIc;8LF!eR%^qMwID5&EW>b7;Q|%FY-kNn>>+SuJx~zF?lX Fl zmxQoLP@o&JD*k>KxC_Gu*NGp*e5;K;9DkssJN?nUTDzeW$W*;L&&SKX3X%&&2YPRa zdcP0bFxTt5iO9VgdE;r+naZ*HbbooHl*knKV)h`5>F}ua2C22%n(oTOK}**8CFY}S z&E5R$E>^4X@8804C6n~$$Tx7;dueg{HyFfm=`fgYz-T>DnbY;zK7q1dLkw!h{ zn8sU;?=+n%>22(!m)IV?=uXE+>sLFx5C{u}R#qPZ__-gwX4lTZN^66VpM5)jy*!BR zQ^Ju3)r=?jGZ)%MWi1OIEc5f^^UZA&?XblQ&_gWKp| #SR3P+?XEFAeK+rDvTrG2}axYqw@g1tyz%`Mat=y9p-D$?? z7;1+{-Sar{mm?sc#np0CFelE)6Bt~ed;N_0Bz|PFGwpx6YmsFwJPm6NebZE{KD&3C z;V6LqNIC+0p`@q0*8CQq!ev9Oy!_@Ie3GUr)P!Kq-!g17*ND7w>Oh{V+#JQvbU6Hm zfAiT4-$C9rD$rv5YQ)9ArE7NAwmIkl?ICWC_37$x6wizCu?pBpQ}tOKonK9NMSh~Z zjaYcpXF4or1X5H#t*C8_T`sGvfviWD1Dn5s9drA6$CghM_%W{!-wZ7~oASA=dCc+N z3FcawT(W-j5%7oUju7O7yw4cV6CVRH!OC1{xmT%g;;4=>Nd6qi)$ 4M1t-TMiM_G+3Yf=K8-lJfti!{T#O&xkpB@YQ@6L2jE8e1`RUx|{;dbi zuI_F%s;OfO+RuCHQLg&52Xl}8)}H%joR+|d)q%6|`-D!h@>cd(%|?t9WIJ#CadJ;u zdCb0@ l|kar C2JLKk< zpk28v^82irwJawiPvUOp&!Z57anXW0zPcJ2)D4&$4ZE^DmI5sn9oM&{IF4R02nO6= zlB Z5G9IY^G@#O(in(1|FPJ-`9nFKvnv)y& F@6EHmUDBHqrVmRmIL1AGM>I86pnCiD_v&KZ zydG(NIdC;|D!ra{NpT`po*VIO P)yqc=c)n9Q1k=CgLS=ofZ0%sb8Jxx@f8${2A5l|TCW()r`yjofu_ zpgPX`h|#*JGNg;{##;B&Mb79gqaeYH()ob4$BlAR9Jn_~pzhY2qCqZ!Z$FrB5PNPG zTT)rdh@_*O0CS!0FDKzVH>Hw}I*zVYBgCjME-^7rozAkx2h8*(c=jMV-_!zgm&=%t zV>eppUt9O{sv|LgOp*qB=B#QsCXUy4o`A|P< Ex^Fl73Q=ZMfA_g8^_S0xxPHCk z6EBMFFOcr+tx!|?Dc@^%iT~K4a3^gP`khj$d6b9O08qL7*8FhnLr*|Hzc^9MPb%WO zW7JhsKUFfjGLR}P7&+mf=qaSnH`zVgKYi@k#6~NYzTCyurX&c7mKp1(SYry zr1{o-u*RSp4me69n4#F|GNxN(2}%wwvO?`sxt8rX7%7!;)&3q~TRwX8c)--EXRxYx z!WEmG1thc@+C54ZASloquQd@cz<02DnJ43H!ML7M<LYx3vMIdN9gQT7=E+~zj6(Vhkw4_%llT4oT%@10eq{eJhBrpM8=f%pKc5+Pa3e$QuH89 zBG)w9pIvFOKlZ@6RmQ 3)@k*q5f&N z6M&n1(@Rre1GCQRDM|AT-q&rfn+t?pVZfp@V&l>m)<<2zqN%~7+5<*^Y+FaJ8_2W% z4NPfa8x|*oRn46lJMYclEgG ;$UeI3L4W8KcS*uWo`tScjBUG+2K1 (KhA0%-0ulrG$PwoMW~mKsp0Bw^)=JMt>pfW z$9a1UinPA6@>p2vC!K!y`6xLWZd(HmB7IQRoXr>4g6bwFnqMe9XN{%TE{!jA0Zi )=!iCWRAoHZ$X}(E`-^P|-a=(auAh4w?=_k2d2-p~r)usF z`3kMFXR>pjiV2?x_FSQZ%k=``I`J{n?5H vH{!Qe;u)o8rK{{1H*U;fH>UYZ+4Q6$LAk3*dR&_q*lt zy@(EbOu|QdRn|Ay%mRXAonN`GEr v3LV=pA7kr9gwckScfkv7 z;bDC|*~@oNKX`aRRZUi?amz@jLvA$SkSzGE5th$6bz?!sN7QC@kDu#u!xfizS;nOK z17`HQf b45~4yhmY3RYUg!2dhjD4Qk}I?93{7pyWyaYH zYfj(7j?KzlEqTGcQ|rkHqq@Q?ZggDv wcW1(Y zG$PmCW{dMgcR~ql#)%i!#G}0Tw9j-fvSoz3%1aUB(Bls~zSju#?$*BZIS5Q*eyIWV zlM;R^-t$W|n_AFUmR&7ubN*_WNCgWo1;pwl0*^xKqlvCC1?vte;;m|k)_eNqT;RvT z9%i+>07UY4Luh3#)#W9x_LsH@{pp*^`IaIOdjvWf4~BmOeED{=^aBxYHTg~nm#QH# zrn|@%!WnJpQ}(?q36;HkK}BEA5JvjxU04xvT8v)dpuLF@eKJ)fKne_}>)%(+{qdk; z*(S@=gCCc l0l)UL>rPa1^>h5IG-)H%aToYGS)%AkX@cg1P;(l%(q>JO|sg)$tLd&&D=Q}C* zWnYX*wT-AvN&gxu0ZEcMr3uFd+3A9+!XT$reh(fP_`zdtz?D`^p7=4$uMoCZI4NJ= zdx91_GTPiD$q#Z0nVb9+J)`hr=Il!k``5MmrI~GOYuK+GA768{70I1Vq!8(#pTa)G z)i;h b}c!|C%*s;f_1B)$Fw{j`dCiTPzU=DvkX9`lgWW1;AGw-+| z1atTR>Z5qM@9ZrS!sD-Q7>81#-sC9R(G(Q48o`%)-YoSPeNH8a-?dlMDNuA|*ykrA zo<6_*qzyhhE^wsWn(f9zBj)w`Aj_)t>0;SBEaGcol!U=i4V^DqseeYcU;Jo%o}}nh zXvoJZn$j1=V=MwJ!KLN|^JRU^k8G-P4ez^Afe)Eq?U4e4p~@Z$@9@x#8NJ(i`QEpp z{q9tqTA(Hh)=x4VA>WN3#!~zOuVnAAF!}DcXpR5Ew8&TUQwZy{u!(_8dv-J+l`q(I zJ<9LwuDtX~6OL-tx^nt(`!*?SmMrO~QkjI~%C~JT?F~V%38W_zGYs(>cm$EV<+hkg zCcuIqh_Y*vj3f1&>yl6iw0A!ko`RQfJykJ7$M=>d`8a_9!S<4Aj_-Y!UkeAzyB`N* z39dD8zjtJ7$epDPa;H`q>0(C!bzM<(;oeY0%OV90yI6{`9-+2fINhLu*Gul+*~sj_ zg*)l1Wkby!81Kt85tDMdmW{R55wfv@AUaDAg)*(Elr3x=73K3eGz0W_a?Pdwm`&(` zJh7OIMXLHV8!c5K^F=eG&Pe3z6kJd@FA=#*o2$+QN6RQ1Df9W_b~}2DFfodH;`@8~ zOM!Ufr*phk0V7$JcNaVXRI)fs4*KUT+L3h5l3LL%E)L zchNzbK(~jaw?bXzN5WV87pq_1^nl&n3dw}q-YAW3b*0z8akP9&lD?6Kx6objk!ulk zq{LkIdW4)xr7_~k=S|nB?(iL#=P6x|uS!*$<|XA53-v(o@HtM-G}_C%_nGsVl@B6a z#0noAifV=q<1T-e18d)FLf)>;u?7K6WvcX=VoMjTH0 zEm-QQf&gaz09?*KdE%g-TkT_VJ(%bZAj*%ovWA}bNlsGIIvD|)*O@VIvqylqmTP0T zyI-_BF^?=RWq&d3@6e$54AQl}pT!P0JbrL)lb~`ywA^r5>QOKd%^so?m7`P-XO>AG z@08tT#Q0PmAf+zNw?kj<-<2KtI(= r=L -$sjDl-_r;ljTfIcyQohtu*w^D<|N%j_6a!?p~Y3HXVg@2Q7k z#ujUcr%d{4*Jm2ACWIER#{%frP8|E)!X$cNI8Xx2$1_fNM1lmggnz9^kDdij@(Bc1 zSZ#1Vv>DBvp`(-DS$!^_nANbCkw-iRIu&O-pw=`z1aN8ACki+fh`*PZ?{?I)FQ(G? z*0iV3DmI`LwUlQPRN}5B00CJg&|{b+hBt|eP)1{WD (JM z|NYC_`;1q7oja88aI!Z{h+$Ap2b5K@NVQuD9b%Np-YrF>7;Zal8fxf1sNxhxc}&CU z)0md9q{#(;SkW20Ko^E7^G7fmrFYUewz^%R3XuO?iiagX8cnfxnYzh*#DBE+xx`lO zal1q5Gu9FCE7@>jLZBsK0t;bRtgy;Flk~_~wXQ$S?$$3vacA`{-xA9#2eZ wF<*JpM`)Sso^(xtdVBDcukp6sF76B8Q18|u;dqW zzkZ*gQtwUp3XkH+D3i H myL zz^jctT{(<_)-MWyTMQ>MX!9U9FSyTIlY&6c&iXha$R?wCEEi#_#l39E;8-VC;|9h61WFM^|CPXWfG3KF*JgU-oiZy?VfX{~R93E}*BuNOOI4EaujlQM2Dtg+~l zEY9mbmn>LULW$D(DQfK?T+D<-#lVJ_3zTMetYtH4)L#9Ra&3a5V~ 7)uv_ zJqBK<7CcmkFP638 6c382@;g7&eC{l{ElZMg@g9pN@Is_=-rCWa>#qgK|UO&XvHsR_qKLD-jQ? zO-h^f+7N({z2X268ksjdJIxE88jwvZsb{kxR>uw>tJiIFgxl07xFA!D*LaOTzxHu& zbyI=-aG$RET_1kg+m{DBE(orfzEyFks ba~A?>LR>HQfDD!Hy)yi>d)TGs@QWJ?O=U9-R>LZlR*99+3HTh;h%h9d5)u zO)YlBXZTXh`$_9p=?yc$dtwpM!At!k_*o|O@k;6Y*VUki9O;1w(-5f6^H*inrPngx zG& pA+jPi zM}c%kqT+Lj7rMp X2WDkV_KJ7XqnMin;ltn=uF z%g|8^c73)16WLN2*cDvgznG% f94L~!v=ZH0Gg zXt@(fg{ic)4CM6F%+Of1v)Wp!*61U6J!a`cClUNRgSgBcWo+lBlGoYgM$V-5aBbU} zA5lfW;gH$e_O3ATunIpSGqe;4xvyctV){imR&0DJ;TbL``PlB9XsXq`FK0a=9D7ft z+7o0xA6*O(yo+)zO$}CNurksGb34Jcf8v7U`hN8}xUvg1BM$%LG(o)sy+Zd7FHWa3 zLWgB3LlrM@BUY%ErW*SP%k?~Fl(}f3(erl}8r9gbh6B8Ui#L7el-x64-^`DVP=~7^ zV1Jk~oiagK%0jRTOEf-e vD3{3~sw0Gf&k50ynqw_R+Nu38P|N^A<2&9gr%q z_;q$h7}G*u3TtvWnTmIc`E^i!VD)2G8(<^i4{~UoU+=KKttc$EL@`1 AQh9Q5C z`J&?KJk3>K?%b#Y_mVj2>7dm!2^&n%jq2!6e3)>my~x%m%vbT;y=d8e)5O!e%f61e z<1qr<-GzFU^u>t?s#Fr!33j-g0L^7rt*6Par8`d}$6V&o3|79>g$YD>-uJM;gTD5| z3VKSJ+4796xh@jTzi5P%EupVx2ffc?q-Xu!Qp890HtDl3x=xwv4kDBf31ieSWv3yC zigb;+y`tw`_#DVb81bDKs6-!kChw-C;)DZ+jq|v|+F0tlEHE&ob3QJlVwHp#eu2yR ziJ`o2_Jr7RErrw(huUW#rX%S_t@yjb1uGThCHuY~immw*%Hl(SpF8?5tWMqh4MDDu z`H;`Y+*mR1OOcrz%%V8sP3-W1Ewya;3#UiFwQlBYiAOqToanT8qDd7gfoS}ouqYcq z*+Fm5D9s>NZ=>$6;-sFzNtz|S^69m{UZWbqYKC55YrSY+%_)93I_tRXo7=Nwetajq zk0=5(Z%SE^9KLv-eTLP1xLR}4{x*DA%NH`r9luB*#E!DdR+?KUTDdSO=;l!ZbFJ%n z+JKPko0N*3eK-)wRZk0)Jk>qMAZNk>b}*270nSX~`ODM2Raf^$^D|`34y%@Ho6z55 z4s$YFKlC!|SH}iRe^JF6Ffs~;%>Wj$JY;qcTMU=!XTVzuv|`fM`CR1eOBsaQU}U^9 zJ0!P{kyN*wy_kYZ?^p4x=5}sHO@{eI(J!2I&Sc5UiG2s7!|EM=R!3R<0!tA9HPJ8M zL_OtP7r{Rqw5oka=1NvLe9TZNcx6qw4awnfgAa4s40m;H+yc|}-zPGhBVkE~W4pa4 z9D0vELC{`&%d~d!v%ETi;Q%ZMLROR~M1bL0g%$$1pQt-q=Xwn9)l82 4cpBXW{!2hnNhZx1@-8Dq=E~qCc>_A8g+?_S&1W3|X ztw(Sa^_f*{AXDAliAs5$eyS!kSmUA5?u#b(FuPBpf5)`hbgt{X^=VMYj-uLzx|i5= z|3_QW(9b^HfU_DWC6i?`Kw?RR%~l8;H$rbDqw4+MzNm{WbB6AP ~tjJn$I+B)-l6QQgJvZmHUFs#rv~RYmNOEef--^-O?LtsfFt(WNFr1r@L9B zy}ktYUm-Hy3+{Uixy1>_ngL;Q=v;|YYRMssc5sSkdwh680RMo}+F?gw`8QiG%PhlD zEZKg=_+xIN&{0}xRUR%Oe*%Yj{TAuo8>;Ps?>U&co1doj#Cde(cr>(y3x56nM#t*d za?vgc+${aNP{v-7iy>dfiSn?i$&zmP%AH?6!;B7&R#iN*kY;IJFhVe@d`ksoZ<5Xh z@|5h%K*w;{1vHDIOkr(J?vV6+*-U` ^}Q>+h_2e_ <4s_B}*e?gQ*921klDO40=7#8zb%;pXTq z7ZdYW1=t7e4{~GUKZWNDJAKs3sZAI3Mp#5yGA^v?0bb3)k-F=MSLDzZIWQUh9IP@V zN_;U-TAgb~@M9dhcgpVzaXwz@FBtK8Ko3%#j~;zD_*_7eT()jf)lmuT-*^@Yda88R z+FW nQ3DoxUzA1T?_Y)YQ*-AMY)jr5VyP$3Giqn>zE+o4KG zoycPk0?t`)vw?@Px2V^Jxhlv$Ka>L^>%90+JP110RIe;A`f=2GpR)LSV|S^cQq)6# z*s-p7zL|g(O^=V#3J}xPEJDnrUhbq- ~)NINQRtGU{N5nQPxhbd06h1N?3UzkE@fBfR@{L%ES(l=>~IEG(#_ zZs{Xadyfw%_-npJ^tz*JHpp9ZHWo(J70TSd<~xf7!vuQev>=^i_X-CsT2#q?DF}Pi z`f^2@0y;ks(UuZibH++o?RWb5)Gz1on-SUoj&;<_NpVcIoG~|Tnsr A zY=HZA?jjEcjEoQaZZrD*ZnlyzG3#gMooc2a8{doBW^_Vt$@_9_@Y>QI6RhlG5OK>T zg2&+I1Dspl@a+;g@t&ejE;JAe!62MpX6*vDLr)erkCjuPyKuvjp M_dTO^5Lz%wHpnd3T^{d>*3q|J<8J|iJANg3F4I!?lL z*dEgKLY7nt|JbJJ3pjlu3Ta7FO@4WUDkAe=d468w&hwhxL0Ie!v5K};k%{inc=~f~ zVhOW8D2kDmB5*Cr2lk))yiXH PF?zB+0&j=CVcv@7PDH}v_1>SDs z!16}N4f+Vxa1AYeo?X8HgsB0pInN(k8K=c4TRK5L1q2v@eduGox1+4}FOd`WN0Y@| zYZa>A?nkhL5~1cnnuXp(NKf#)UyhmfSI*T2NcI5#LZQCfaSk+0ZOh?@L`vtjNtj8V zJ5lE1FL=Fg{6eB;zgqFyKP3$Pe*k+xguga_Gn{6@pnN+2QU8gVuua~^o759K>|6#y zR>)I`o?xKy0A7YF4ztqvO#||a=YqW_lkLO`#$bwt05suHTmIU1)p+#%-%uK=V_D0N zg8lk4fakCbef6<&%c cz8+uggFZAsB%`fzS zOsBu;N4F5@et5>$a~P>5(^kAQh#g_4ZFF2m#DjnAwP!du;SlYO000ZS!!x5YEwao< z&-^j<=~SFU-A*>yZ<{D0Ibzu>rt+_Jc(0ma-?@<)4#gvg5-2cv?dZ-LveQB3&nmp| zPYb$Ot*$Xk(4#FBSGGOIQ-d`a%(_>9LwJTb4Ftzw=HDjQNH3;S@W$9ocY!3{UFWB= zNf>?b&}nT-PBDkI{+9YUmw_f~P!*g;NPk`ba{U)B2C0wianQV+4o-5-uwLx}2O-x! zgufLY`2LS^{AEq0t~lbqWEB;SEU8>$qTVWoi&i{RC<9n-0BAU0%+rpc5&v_4eS$(1 z AeT$Z*k*kPy_NKcwdn=C0R-56>Mw_ovX95eGH;^|Cln5P=BEY;@=tyf zLq6cigM!#_$P)HFO9~PVKa|CR!~zY#K5Q--0UJ1-sdlw*+YR&gJ!(0wn#)!d?T|`S zK@o5Ud&(T2?w?#6eF)@G$ff^(aup`}K!|m#e|k|2pV}*gO3^7;!uqnFOiAOy(1JL} z1!WT;Z=2Ao^w(=fk(8D*@xepW)QCRgi#h2TfQ}KfU%s+6k8TVKEDjE1<_Zb%bqDr! zggCb4F}c`hbj2s^-Qksf$$Kr5lU%!+e3_POz-N`W+u}={#+O{B&NGsKb26_#1oRK0 zEK99B;!!BW@mYmB(H~z!XctGloHijsp7A`R3uvCOQS_0zUMzBD~W-<^GK$ z)bV`8I`9KF%JC;JfeOqJW{fKV;i+ytb=@%0rfUHPU@x)!@`LH()^CDt9e wsz zK>LRiwZ$SUh$(3;?FXOH&V%NIUTl3bZ5*Q5;^jp7n@|qpQ@m!o9*OTlm2nai+A`M} zWBhfU$xdC>#zQ5bHC}45%vdBi4yiC{*yw}*dd$~428r+g!N3|iT~AQJ++lbxB%e5o z*kjAJgCNMv-e^#NVA*oaU^Kyjy=AmZ+>#f@d^X{6u?aN}&_qewG>Wq(^mXV2o5i4j zJj1{0bH^>?aS$fJA?J`jD%Xx-;5nS3#riafoc(FD%|%9^vFJerTOV7Ya8S5Jl)|yy zM!4~8laSCX#LTki8+sK$SnB3(8oo0OZkt1x^^BfW@)-etCYn?6q7|MNYhT7bHUy0( zuq}pEL($=23(W=u`&tV jLA8ACId`56sOa=vgZUu7ihL69hfqd{75=rv3|qenme zv^aK^rL0> AGd8;YnTYzJtihL)|@$R=i$D};N$ecytn53)lbe#fke)!ePR!Ze>pWbRU zRvd^7Q%a=6!DGwgnlhtSC((8wDn2&_ICVE`q2usW76{lrszL!kxvynY+zi0r#9P wS(U!XgNk92&QvxE5adD>h<(SzGFi_hSP6U~W;Z1w;@_Lwx5} zAbaT}zfM^g({*~Xr;L$Q+Xit29qySrm4NlWqO9VJEqmGHKouVr*yCVY962bN63Upc z)^R-iP^acNWnz+&7G)7knuByq$wDNX8P%~S9=H!IxkgPhw6gT%_P7j!jaTPbEb%iq zyfvVIz-I6=uXSp;$jqqFi%v9gbT~HG1Y+ETvaADy{)@f<;Ea9fQ^x(eG ?VpDu*59ruj#_u*dSGDVa>3{;9xIfj^`Iug=4Ht}?J!xNi~kAL;vB z S#lTAZtNxv!!_h@(glA7<%PX}fB&EV%lFQ@Dd&Mq5m2Uwr+Oi;=z=Lj zMXEcwj2!m7IVTF+`3tCysBHKU&U nDvTf7~ zk9%NiF@f+@ZMd6B$}wF}SoD-BJ@haAgXE&4os3JzyqGIxXyLCEEPQda|El8+#vEau z07X!O!_zS}=#Il0@1x1R#-!3Wj3X+4x9+n3Z{)97bO=M&hk}{^jxzjC79#CU*1hUa zIkR;AH4607ryAs^L0@AEDZc>OhkjNv!S){Z^|JhMlZXu081U6+h~EE)_v9qF+^_YY zafx{a;^Yo4T{o35i7JHHbflJt`=C&~+x6E}efi)yeEZE6`5~ACH^)PNmeD7FW%|&S zpR1CKA8=!!+E&oS@Ed;l09GGJ*Ke2!_bNd7Q{I)8inWkBX%km;TB8+fMU3v070 <&sEabWz;ckKjP5=YamK^Xf@u8Ay4{2Fz&o023M*?aTg&` BxKAh`7I`DP= z;(p Z7``5LHemH {c{08je$dU@h}*%b2K36rJc~Y&x1$vp)Q* zIII nXWtzp#|A-8+~a^4jAj=%bLyKRvYKhf=2w z=NRiZlpa1O(YF5OS4o1b^XGgVqiI)V92#D?^E<58_o3I8*Qt$ZzF;aBvfn)^^0u zsFa(3sjMfyL5l>VvHpPg8^-p}wg36&dj5ybFSmh-xU!>Ltto``(Ed4L%LRM}PkHIX zLs1%4<~<^g5L(&MK;Tv!( QpWzm(0GIto+&_R#4i&_qYnMx@62a$x_s^Rh*I& zTpBp=y&V>G2JTOK4!|c1`f!0v#)iw!oxpPYLzsO+)>qBZ&<9 fuKx`!es?%_03o3rVxh`I z4=^s%8Wrda0$Pd6o>SW0xuIg0`$|B+`~KTKw;jam>u=P5y7-7DhaGd^)^bca4v+4; zrQ`>sj452UtfLfVs182s1#3D?&6@8BfV)9)!PfpU=k;6*58>nhnXe6Wl(zPhbil0q z>7O>{j-Obvzs-Nj<6phe8xQ40 kS;JTg>3A#j+QJti#hi?GB$Hj)6pczK}gi}IneT-ngL{$U0tlS zFme_r4V;uEJi2fvfv7vq9+ajtS}_UIL}93~Q4Mf^uk&y5Wu)sbFgn-EdW92zP^2L3 z&)`g>P5_k48iP|u3~SHY?dQMPs9gCG%r;4)FL)ay+|lp(o2vPnCj Z-9QLqcif_ohret>vaW4}HB?n&l%ds>D_dI8SqZFci z$lfe}CGMbylqxxKj6&7{8;UWx{!xU(^VEiz4v8u{7j)tskuB#@PJq`=mO{vIH231l zDE{d%{}pcbWv)?X4cYWdtBOhcxW2|s1Tx9hC?2o&IsfMVUUBXCSF_ta4zTNQD~&0u ze?H$GmyQHLtBxZ~xySU!u-37pYUmkj`-g&mI&vFh9eLZPs-`&) 5CEl$DrD=m=kM~T1M!`nAg`u+a|~Xw z;$cr_?E q8Ph3MaXv@XUdIh1ABGZ12EB&waMlU(hjZ=FMJSo8=Dm6*Z!wN zt?wQ{drTyW!1G$ij+cIu1JCK835W%U#fDDnM>SiC8B -rQ2T?8bpxg~KiJ8G_++D9XP^g;dN2SxA39p=33w<;T=qR5h&a}NPya(@ z95ME|=9W!6N~kB6=_M|G7BT}a93M)A#$m e25!M-eY>b)@QGOyricMTk=ntx^C3XST_GNU(sy-lZOI-EROh9F97V& zCoi&4%x^|zU$=iI%})ynU}IlI`Ym{z(vAxJr3wO!IjJ6^m{FZJ?I?>+T{9C4dU49g zEWy3vX}`mNu<5CCwB$q+^@>* 69J{;!7ckQa~f{zU(tk+tIT%RUrFWU zFapN}5`T9=RU+wBukuk0qU*yw7t?>&eQ`{N&i_6Ca3DxIIrG`8Ih4bO|hp7-;{I z?RD+gs1^?g<>1KI;kWa#{MHOh4!ikvnAjcu;WK+d{%Q3hf9m~z!i}j_Ej(x8BRCpa zcynCQ88yqrar~|PO)_zmcs~7jr;_5W*6T(P%;&mtO#fu{m=NY9LF+uFKOo5g!R5Du z5_HqF#(W-Sqb+=<<~_E!+BmmdL+N$C2skr!*bOA4mII`v4x{%>b!TUW1W^p*!sQ!r8C~mzf4vT z9+`-LSCh6A$4&mSAN)NZ^_OksK?jv~g {4YDxvAeZC1L0!A%M*>OZ$xoQ7EK*;Ijmt6q` zg@AboNe+_HFKlB+ky>$AS20A1eh ScslOF_;5w8jDB5XGvK(+EWeEQUw95fdnG3MHIQai)AB(t!I zV}`)c*dS{jOIAG5X%A6JqeY^)TSskw`6nv29SrMZYkjR0|6*Nsd=OBXLD0_x!r&kV z9xDa|sc^$w=QcSgkwXPC!!EEncy!zpTQ>7xZQ{;+WzH`A5@A9t!J@$-@i8tI1dWJm zD?2ENn*KTC%X-YqJB+kIz=YQ-@|u~35SAbM=-7+iNKV+=>hMR8RY#z-H^M1@{$)FH zlx|qg!*j$%tXhZQ05c_A&ovO(6p=HA;!(~u)o(-xS?4C4eFv{PluJ^uF}C_U#$ +-HtJUMNvGQ=K+vpjE6q( zSL{5PaCa>s4blRvx%@b;&Ji+yjoTlcz|IAcq4edSI;s2H6N*T(c0b%oOFA$~T=eaq zau8CVLv-xftOr6M2^^pFjz_@OYu3+YDVo_zN1xeK8be+=lh#8M^6MjwQWN=wWC2au z$HYw@?mYDPm-Xj7Im$$Q1l4ZG{IcK3pde_m7>7_)I$Ut}-e#g0K9mQ4g*Mz`gLKwk zOfx>!#QBneO)Pv^6E9}Mo5xx{k9m}m+LFfHpW(1{n?px$w2Peg9d1XpNf=!kt z)~eXG-~&0u<{mm<*yCM)Q)ql4=aC O_6s2W lVUJ-0mW
#Xo1^LddujA}2ewO;w3xy9F%&oP5nWT02r9TNs+Jn Gze!*lgO%2iM=T735%)!wnc 8GEo z@kJ6rh2`^ugi&nd?@VTH9D}2}HazF8h`#{Xf1m~a9yGZ0cX;TSzal|>U)Fyr-s0P8 zNZ{G7#`f=jGhowly{qZ|SL3|?w6rcc)s%TXJ-V*P=0S#j!H3A4(RQSWK%+3qjAfYT zfsr{9#75tXZF)3<`qjGrOEg9k>vc;01LPrtORIB5=RL%lLgx(4*=X2FvOr>?p4SH| zReu$NWAh2bLx6>~Tt)_N@@*npLX=Ra 3kG3$aT`MWcWzL!sz`&-VFmbtq=s`i)MmaMxMk8el&hL%X?w4>iR?En3H`S?fKR z$MR6!)STljf8@)Twa!Kie>)kk_xh$MFnY12z5{9t)?mbSl4wpOFma(F>@-LInBOrd zMk>*NG_JiU0c9v$?99Pg`638IyBspg)vU2+=MYH{8&@$=mutktaShXWFU|dwXzm4l zFa}Iu%*WsO<^J1in0gS~`C)RTZ?39=vEk}SG$8+KuF>R NFxu>RXibg-Jym?RQ& z%w3U47B2BaLo+OzeghXP1rhh=wFwCES||E&tya$wWu#DzYMg+jCw)u`uSJ`36N%ox z-K%0kCs^rYBARiS@;M$5<*9vxU=k~9t^5_A>oR{}5Rblk{&f&wJIT*E9Zng?Y{?&g zeTFI;W_gySA>n#qPX#5GdjCd5;u9}>fknO!m4 ;4YyoNQ>lpZlfqb1?{AE3{ z6fu`lF>=OQQz$cHMCAse Yuagn<~!7O|4Va|nBKN%O2wrtUI z+ J5!&)6}>x+hPfgVlDaxaOE1 }W<3qys2Qs453w*YJ`>Trq} zhuXti4Z~eN*$r2YDW=s2N>jDyGk>e65ga7vF5(NDf^XW?Pk~mj>@>%L`DtE%M|Pa& zH;9_d*Au?5Odmc{v(}%ADW7E~l6GoYbmH+(^^MYjXzvm$cFF+s4qNz`h||vHLliiW zTZtIZ!zBkmm~u)S=34dy7LKj2No2(@t`z}BK8MOlp=iXWq&(b?IS0@4Z-T->W>#p< zjZ@u@__~5a?%~LPa4nC~FF#9v_mNTAPnwMR1z_G32t9RckyfcBhc31w4@DvSNg^rm zkVy=~gPUT}NnZFSlV%Fv9s8OKyYQtyEVJhm?WUGZM+Vg#FQoP<9PvIZ9vt-jL%~6E zn30xk-WO(>t>uxnFouI%J7a6Pk)*%0>C+T~Y*=B6@fF4y!9Q^A{P2c 6sOCUc=d3A^WbSRUBG>0%*$)J*wDwT2BrGcqEsegEy%seT@<3 zKDTrK`S}|5-M|7z%)@1_M#|%o?HI`7kQ?^X3oBH zyvb~$dYmk|iaFO>c^NE>ZhtWbE}^i`IjnV0eJVZ5ykme&J) d9?AnCONKA$fIBc+l&o2q4P5pBT-(?)ZtQnBkO< z1M&~T>q9^Nl#N49c Gy=?WsT%kzR;~J=d zegN}Nv)a%PWE_*UjY^4mKPm0H3gK!K8Zrn3JLLpV#nrZxlH;R!{f%}lFg|hp&^wHS ziKCh`jEDx>LttEsLa^idC;zISwA_zS3xW~rx$1afHdg#LDi7Y%nY7swbk5ZAn*@o4 zQ~Z;E42GD0$P2GRr@W}+p;D5K2zeM})BhaH2M*ye!RurDCj>^fc1nncbzU!@JpZ{C zH$G(dN^ygiD0py=dDfpYj_Fh1tbyYdi#g?%I1J9Xl5Y~toHj4>7cITkIS#O9MZWo` z4nZnT`Y+z1P&Z}tE37meV}`$us|d)6Kc&?uK4lAkaGwi6O-|}(qwZ|tfG~Ea-t(np zjE)DIGTvk|2 A`|Ax-2G!@~^oj_L%h`mT*cT ES-iL=m`ziS=|z <>pTEgX zyA^?FkvQ6=_5OF{$={fnL9$p}`)KO3i(|ikkUp)9wMXb))qheJ#f@lbsLTxHy~C%G zFgT12mz-%j$EJ#LdV=t81#d1VCMDJ6zh*BruQ;3k59J?zkjg#}8S+J5d0k;K|8YL( z#UNZ0dCj3%d&O@p>1B|-IF$V9!<1!k#!SCkvww;*x>g_+0fNH<#;0uIbe#*7j282M zh-6PZUu 89Pt)XUIcf|miUKrw@80Utu#yB79$?teI zgorYAIIvbmI16pVQ76N#BaZ&fSsZ15?U|XPVQ8}KgV&6k)m~-X2iF=lFpS5%z;96H zR!W7U{2e9zdTs96MJm; 3$pe4i_(s C-30>MW-%quuQj|L((5TIva3 z{9NZH&w3{`=UjRi=3IzBRzN;TT0BJe2LX^NQXLj%KnXuuaY9P}&5LoB Y=RD2%;9NZK7{tJlpM;~Gv zH>hXnWal_|jvs-@H!b%>xF2*Kkf!VcflfRk9p`+g!`TnBG)%*p16-&iEw!$ZrJ( o5Kx*7F6`00*DAC?LN!g&{;<@~57* ZW>CVMsV5fd*A+>3%i-+cy 7PTT4b502j<*=+iT590sobd z?>q6e {HYd*W9A~f^&*6BsWFOM21Z3T zK@tsE!H`=Zneo8qjugfDlW1>c(n3)ky!0IrdCQ%IIVTKQ{zy3Muf(^w$+-5z@F4j< zCtG=CSHYNpy0qaRi7~f-b~(mD@BSlYrP`Z>nj=x>>L@5V+X$>w@B1Gd4D_VEQaXSH zID1h+& N&@>MADbFv9X%?9Z *!}oqTbwq9AwRoft6FeP z(!{{&o`gx79sr$q%QEqjhp;Y>xUH2J9Q1syJ%F|7&)jH9x5o18wYX!iFW*J%+!Z3Y z!>L{j4mBz9B|b)fWG>d)b3%PC6kY-zIM1H(ypJq;g1XHgddbUzL5=$_rStq_{Z;31 zmKnPnk>YC2DsYR2x$NoQ*^y1b$iKvtX#GnSA^SV$l$($vq=}j`{t`yjC93r`*CLEh zo5G5?t&wTTh?kEz5T1L$YpS&(95_LO3+JMeMDdl3KQNYmoiSWGrH(6vFyc__Nq-@R zu(6aAvt?jGspk4;>^m+131S9G@udwXst*C1(~E@#zSeZOqG1I%n9cknLn$+7k~u@F z>fl)Z`8_IP6 z- zFwsZW5={$2!?9`vSgX)=n?FxJk1)m$_x90y@dD7u$85~i)4tTz>#|Qn~eD%PA zJ8ry^VcmGmr}?1f4LbG;0CU~cX^Vg6@?(jA8eS-WA7D7Y(8xnb?&!-GS?I{!U{HMW zPiL _P8j|1C*V=ReN})^FOHFZCg% zv^Z>eU@rM|Uv7wdH-A|Zh`+@#!;gLRj52Y5(r Qgg98H;O72F3&+{_4ZfiYLFFL|Ah5%c|z)@x!fu z;;Vp`ncZt%DPipWu7DajfI>uJIgi&CDVg{2lwAE>nQRX$ySo5hh=EI1@qe1WwzTbG z_X7Sxyqul&=Un@_`h~2RqmLpU*k4=k&!I}@6vevNpZl+{S&Or$I UK2Q({ tOoN6>s{HMFmB9_&G?vl8-rU%;ED? zxWN%Eaom5@YwT{zvmF9sKSc!WoBj)Ce#T*Zx#(`nX_CBZxDu{^7!{8K0phNw;cRiR z!frFcN*=11_WTXI $7fA4>T)CA cmCvem(!~a?O+j5lk6>6U{Y&dq|VN!10q_LLAO{ z$wNn)LQzBXY&ZjJN)%fArD4fR-g_Q%bK*GgfrpW1q`#F*X+4KLw|2W_s3_paU*}Gg zqi{4P)Hw< tNxx5DOvE!Gm}`FSAJ|J0JXGMgPn6*o;O|~ zttn~oT>J}v#Tu=+ 34da0qh80BC wT_yORi{#tZ}g9^ze z&S1v{$Tg$@06+jqL_t)I)G@`2^;*Zo5>@xKE5Cx ; zf|DPA9;#``wZdGEjvmv~#Qurnd8V%Yo%7}dPOa9ex*~Ue+W#P+&gVjm43jf{S-Qj; z>G2Onlz-(H_D)xa=V$s<;HkjxUIATX4zH9w?N3sHXEFYOg?Rg3wY{*HpAtfpyxHd0 zc-JFE-Fz3HA29r&!JDve&OQrs^jr8Kl)ln`&s| dAK>z! zFliVqV<}h5n!*HyF~2y?2a*jUW~JNW9?-6S+Nfo1;JVBQ7E A)}*Kt<_3ule(u)|0AlC}fBhg&r`6;i Q z28@J;Zk-iG=Q8E%{aZHx>zo0>@>OSlTFc-mO1Kjr`sLj|389ewqwBaF=KYc2051qA zs1rHI0E=A03))ooI)lkUKF)M-N7-F7Vbv&xtQoeOAM_q(HFD>5Ec5)n)CGns!<{&ptP_#?I|hln;ycUI z$rgKfK4VxbO%3gpN8zxq*{>K4(;Qs-gOkFM6$NIt$b7|Y DEd5=EOS{;d z%cglNf6 ?(qx%6sysHmV+DrZ{|fCbKmBlnAns1q%W~9YSh&yDC`1#RsXsW z7BKe`TlGC-_}2<9QrpqL8rBZqJj}jf9rfGPxT@r+fFMTWfinIr0_c^$0b<+^iDMI* zrW2KJ259icTkfJ+RkEayO~W8D!FLLO){8B+_{9CMw_r$^*l8WZW>WrtKL3n$${26Z zz5cQmeDKqN)2)%G{0nN*Rp+WPbHF`{XPBFbIGdxKrIryX($Q1Kwh**YjU`?D`ibxQ zrYpyMk&7>Jx}{%bup|)_to)ll+}Eh$-)v+GmKruk8F{2qm7c82JFHYhb8!zxXTDgL z9PXA!=m1L0v+A}Ya%Z7`HSu~yy3|656bJ7A&1Q1kkNLH^U)V#8s6W%;e^IDs6|m82 zwaKxh`zV<7OUwPO->!r(_4O;_b%twiEcE@z_~>fAD6Bwl^@3mHF^lC|JH!`z(GA{s zyb(nu+X|y)8oXsx$PL0pfFRY`hzHP-@2)m%RChL!p{KjEQB5v?>iCl7Pe0=%<$BdW zy=YC0f;h-zOl7Ir0~eGO149m7|1nT3(6w6p 8FuTmG#hE*RMmSfI!y;-Ol8@OE-h zB|Lp|041++!f+Y@2Fjm;av(VMt@EJe)ZMk>C>r_Dm&`GYV%iSBQ_OLH@1SBo^>_2j zE^VL5p# aY0-R!?$B`USy=jKgY60 z%+HiQHi&qL=J_ux9d@0rCt2*FkEmlQ-G#UTbh;*||4m8Q3@&EvBZBI)2 !Zsk+L)yz!06gp za>Wn~`nD;&^*)}um{BWTY_xf)J=rbF_vvyT5Y8WLX5S{^Y61ByoHeAhoBVb(5D)** z&3gxRWMeamtQ@ad#scwB{CS3L`DL&(w_4O||M}~G(AH|e?H|AX-lyZCQqP3dchqv_ z*jEA9Z_pE|Y+wN@{dPs=m>7d_bv1+PzQ(j+-Bu3E+V+k%+$;9rUfFg?Frig1Wf_{$ z{%fJ2IrvK*U#lMq?E_cX&%z5eDln570QjSQ@{jw_OE=&hUjWc;iBWD*56 @@Bf?bp7B$GrviVX3T&tLpD3>XwxK)=@&!wuJKQWHWpn->eK_uM+Y5WVz2c_H z2MB(nW<5sR-+HJp=bAGj{)Rfrt;-GFH~5MdU2gdEVJr_U#VRh|>S<-!u#0pmflJJP z%Yq|V<1ck=@q+