From 6f2b927914e0e1ecba9746c4966df0103848d37e Mon Sep 17 00:00:00 2001 From: "954801926@qq.com" Date: Tue, 28 Jul 2026 18:57:54 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=96=B0=E5=A2=9E=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E6=88=AA=E5=9B=BE=EF=BC=8C=E5=B0=86=20docs/superpowers=20?= =?UTF-8?q?=E7=A7=BB=E5=87=BA=E7=89=88=E6=9C=AC=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 docs/screenshots/ 5 张界面截图(仪表盘、会话、供应商列表、编辑供应商基本信息/模型映射) - README.md / README_EN.md 新增截图章节与目录项,并在项目结构说明中补充 docs/screenshots/ - .gitignore 排除 docs/superpowers/,从索引中移除已跟踪的设计规范与实施计划文件(本地保留) --- .gitignore | 3 + README.md | 37 +- README_EN.md | 37 +- docs/screenshots/dashboard.png | Bin 0 -> 106893 bytes docs/screenshots/provider-basic-info.png | Bin 0 -> 70488 bytes docs/screenshots/provider-model-mapping.png | Bin 0 -> 174697 bytes docs/screenshots/providers.png | Bin 0 -> 40975 bytes docs/screenshots/sessions.png | Bin 0 -> 139806 bytes .../plans/2026-07-06-kimiswitch.md | 2388 ----------------- .../plans/2026-07-07-i18n-ui-agent-switch.md | 270 -- .../plans/2026-07-08-kimicode-reload-hint.md | 192 -- ...26-07-09-kimicode-global-settings-panel.md | 937 ------- .../specs/2026-07-06-kimiswitch-design.md | 420 --- .../2026-07-08-kimicode-reload-hint-design.md | 47 - ...9-kimicode-global-settings-panel-design.md | 253 -- 15 files changed, 75 insertions(+), 4509 deletions(-) create mode 100644 docs/screenshots/dashboard.png create mode 100644 docs/screenshots/provider-basic-info.png create mode 100644 docs/screenshots/provider-model-mapping.png create mode 100644 docs/screenshots/providers.png create mode 100644 docs/screenshots/sessions.png delete mode 100644 docs/superpowers/plans/2026-07-06-kimiswitch.md delete mode 100644 docs/superpowers/plans/2026-07-07-i18n-ui-agent-switch.md delete mode 100644 docs/superpowers/plans/2026-07-08-kimicode-reload-hint.md delete mode 100644 docs/superpowers/plans/2026-07-09-kimicode-global-settings-panel.md delete mode 100644 docs/superpowers/specs/2026-07-06-kimiswitch-design.md delete mode 100644 docs/superpowers/specs/2026-07-08-kimicode-reload-hint-design.md delete mode 100644 docs/superpowers/specs/2026-07-09-kimicode-global-settings-panel-design.md diff --git a/.gitignore b/.gitignore index b01c278..0942c13 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,6 @@ src-tauri/wix314-binaries/ Thumbs.db Snipaste_*.png .worktrees/ + +# 内部设计规范与实施计划,仅供本地查阅,不入版本库 +docs/superpowers/ diff --git a/README.md b/README.md index 6413b26..21eb266 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ - [这是什么](#这是什么) - [核心特性](#核心特性) +- [界面预览](#界面预览) - [架构总览](#架构总览) - [支持的供应商类型](#支持的供应商类型) - [数据存储位置](#数据存储位置) @@ -64,6 +65,38 @@ Kimi Switch 提供统一的图形界面: | **会话管理** | 按工作区浏览、预览、归档、批量删除会话,逐行流式读取防崩溃(20MB 上限 + 500 字符折叠) | | **未保存提示** | 关闭窗口前检测未保存修改,标题栏加 `*` 前缀 | +## 界面预览 + +**供应商列表**(浅色主题) + +![供应商列表](docs/screenshots/providers.png) + +清晰展示当前激活的供应商、默认模型、延迟和可用模型数量,支持快速切换、复制、跳转官网、编辑和删除操作。 + +**编辑供应商 - 基本信息** + +![编辑供应商-基本信息](docs/screenshots/provider-basic-info.png) + +包含供应商名称、备注、官网链接、托管供应商开关、API 格式、API Key 与请求地址等基础字段。 + +**编辑供应商 - 模型映射** + +![编辑供应商-模型映射](docs/screenshots/provider-model-mapping.png) + +一张表管理全部模型映射:显示名称、实际请求模型、上下文长度、1M 上下文声明、能力标签(思考/图像/视频/工具调用/其他),支持「一键设置」「获取模型列表」批量填充。 + +**用量仪表盘** + +![用量仪表盘](docs/screenshots/dashboard.png) + +8 项核心 KPI(请求数、非缓存输入、输出、缓存读/写/命中、总 Token、预估费用)+ 全年热力图 + 每日用量趋势(按模型分色堆叠柱状图)+ 模型用量明细(请求、Token、缓存命中、费用)。 + +**会话管理** + +![会话管理](docs/screenshots/sessions.png) + +按工作区隔离浏览 Kimi Code 会话,支持活跃/已归档/全部筛选,流式逐行预览会话内容(20MB 字节上限,500 字符折叠),可归档或批量删除。 + ## 架构总览 ``` @@ -209,7 +242,9 @@ npm run dev │ ├── scripts/generate-icons.py # 从 SVG 生成各尺寸图标 ├── public/kimi.svg # 应用图标源(蓝紫渐变 π) -└── docs/superpowers/ # 设计规范与实施计划 +├── docs/ +│ ├── screenshots/ # README 引用的界面截图 +│ └── superpowers/ # 设计规范与实施计划 ``` ### Tauri Commands(前端 ↔ 后端) diff --git a/README_EN.md b/README_EN.md index 659e39b..1ca7d12 100644 --- a/README_EN.md +++ b/README_EN.md @@ -17,6 +17,7 @@ - [What Is This](#what-is-this) - [Key Features](#key-features) +- [Screenshots](#screenshots) - [Architecture Overview](#architecture-overview) - [Supported Provider Types](#supported-provider-types) - [Data Storage Locations](#data-storage-locations) @@ -63,6 +64,38 @@ Kimi Switch provides a unified GUI: | **Validation (reserved)** | i18n error strings are defined (duplicate names, missing credentials, missing Vertex fields, etc.), but the backend `validators.rs` is a stub and not yet wired | | **Unsaved-changes prompt** | Detects unsaved edits before closing the window and prefixes the title bar with `*` | +## Screenshots + +**Provider list** (light theme) + +![Provider list](docs/screenshots/providers.png) + +Shows the active provider, default model, latency and model count at a glance, with quick-switch, copy, open-website, edit and delete actions. + +**Edit provider — basic info** + +![Edit provider — basic info](docs/screenshots/provider-basic-info.png) + +Provider name, notes, official URL, managed-provider toggle, API format, API key and base URL — the essentials in one panel. + +**Edit provider — model mapping** + +![Edit provider — model mapping](docs/screenshots/provider-model-mapping.png) + +A single table for all model mappings: display name, real model ID, context length, 1M-context flag, capability tags (thinking / image / video / tools / other). One-click setup and "fetch model list" actions are available. + +**Usage dashboard** + +![Usage dashboard](docs/screenshots/dashboard.png) + +Eight core KPIs (requests, non-cached input, output, cache read / write / hit, total tokens, estimated cost), a full-year heatmap, a per-model stacked daily usage bar chart, and a per-model usage breakdown (requests, tokens, cache hit, cost). + +**Session management** + +![Session management](docs/screenshots/sessions.png) + +Browse Kimi Code sessions per workspace, filter by active / archived / all, stream-preview contents (20MB byte cap, 500-char collapse), archive or bulk-delete. + ## Architecture Overview ``` @@ -208,7 +241,9 @@ Good for pure UI debugging. │ ├── scripts/generate-icons.py # Generate all icon sizes from SVG ├── public/kimi.svg # App icon source (blue-purple gradient π) -└── docs/superpowers/ # Design specs & implementation plans +├── docs/ +│ ├── screenshots/ # UI screenshots referenced by the README +│ └── superpowers/ # Design specs & implementation plans ``` ### Tauri commands (frontend ↔ backend) diff --git a/docs/screenshots/dashboard.png b/docs/screenshots/dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..958030a87c90e3a09a3b5740998bc3be7d6df69c GIT binary patch literal 106893 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

    ATH4JYTnZ6*W80NiF|m088eZLq7aih5SONG zahQvQ+WV-?FGA(+ZH@Z}BM${Q#Ck`YV2h{3rB-DP%6sZ_4@$zu#DnJWKf)^}!n7aw znWIk4)t9>dmWu`&v8c`Gx^);{MC~?zRMWk2VZK`b2Rc!6I19w62~SI?7ggQ zFw{(+!!5Cab4~^ybF3@tI};N~-{edJ;MNDv0A2_+mBvdQ=USMGwLN6m6&OXitRh7+ zikVs^x%!8jY@dq`^cyGJ7f;vQ9M>V#DrY1;B53>DhF$bn)D4plj;gDp9Y~nfc6R}r zQXQ+vR;w2p&J5}<8{fMj2rEgn*Lwn9eo-*#_FScNiK^pWk7=zrx!_B}zzEVkcUt3} zB^u*Rs{d9tD}!GF?FDY|(bKg|zI_-ah|(*a+Km%*+Tg-u`_+Zs7l#mkql#I$M#X>2 z^eH4@>k*4PgFT%ZRp_?}LFLG@Qe7am!uL8hL@Q~#S!s)j|tcur1eZE>4o(eQSM}lmcK)(U2snUl|UH3 z&x>rNu?~k8+chYz^o8uJE;O?ivG*?}DysIu@h6^x9NoG2{0DUS6#p}5{lKkIaQuRQ z=ly%IHw*EH86*RqQ6HA1%|KuKgI>j)9~}=tAWJ-^ewtTltOz_KnJax&F-mYbf zl9djg!S#&ygG5d5%dX4i9`hu`6o(8)*sQUpmDPE7Mu#N!UqMO^iGP|cxe09GC?4fJ z>W&H>y72J)?LTU8F#8LC^cOP=eWtX*3aZz@&_rm@sq>>wu*p3EcFPWf z#v>i#Nkv*(WCNGrb6MH3J%7NJm_mL#IzhrqCoLMz z79auVL8G;#R#v~>>U+AVL>YMXmPD{;RN%_~o(W-HVy!XI!QWWeNCaO#;DOSraPyL! z{u-vQW!kIefTqQs_SG>)oDL*7(G*!&C}hMGm^oik^0aD8y@#po6A-@szCJ~ z4ckIoxXe`b@cRkyiX3DbHuo^G=2PDibZ5>}Lzdf>O+r0E8QJDwnlU~nG$PJpxoh8l z8WJ>Gtz#xbP;ChbX*oDOLCUvMQE{M-*FK8%3ohz8JSi`>jbBHgX1OXuL!NCFXDr-M z-c7r^+WO4V=LPDiO5(vW%+&?8OLkY9htLS{T#DP)iQQ{^v{W}lgdQB-YX$sxFQ&G& z%*r`tRx*|~ja|frMPB7PIISFf>|2^uk32}J=Cr4yT5vZFaO*(qvDZP-XMTpp?IYCK z$1mGS;FI`4k5{@1{dfjSlI;m4>SkY^XElAZ#KzE7XADC}Xb;04M1aU19SP&`ApREP zZwIMV&&_x1A4(kep}G<6dzj$i$+-P`LVCpcE`yq172!*Wv5X)>ymdvOO#o$E3lOOO zgp_bjZ-Dj6_9s(nLLW`H6l1j0cX8Jq?z+~6gQ#PZX~EvbCZ@QvD3@RZnTH~lyQ(8V z%v6|Gf*Oa6(L>N;Y&d?ROv>;f=XKdEApzEsvFzJKz`;eUC z_4eV&4JzolyHN_iN89h7$z0N}(4J@qt!>ka)+eBBs1N>%(So#AYGadTm%5{*|7LDa zPvO>9G*sMx545STte|7CRP;#Ibrg}t&T)5eVFC<|k#563$vvMx2nS^g4)=Ho^xAMS z*m>m^q0^2c+C~rjquj5Hc%(K;t`6ZB&9_uvuBWUGJKL z(?1zY99H-HW?A4FL!p>zANrozpKD`8PY&R-oc^)!e2(=QFiGm-c0vzUVQaHIpkf0$ zVYVUPlt0WQ4$5|HlV1UStQ@q)X;)qd8DQ?k<#;FD5X>ETo90YJz<9LE`6E0@J z3lebgJ1QFOJ2YP_K*vc}oKg72tiBg!l|sXoje(f#3svR1P{uo#tFP6BNWK#e|1<-0 z8g3b6G`8J-RDzWP6^9Iv{7g4P;RAj(?&Z$vjxSEVet6Yp9a*b$PDBr=r&>7Z$#NQR3k>K zQqRst28cpk)#-x zwA0H>?c7b_;g5An~^AB}wl z<OoU@b%AEbN(SjQ`0(sRYtY|}!Sc49 zk=@WpjyJ_6p*L68n*yPZ2ZCwe?~BU3Jq>L^DcQDi*}w@^q7Rt}i!IIzL+vmVtj$yJ z)pO?<=J5}ilCG^w;qc`L6gE?LJm<6&UFOT8Z`ayemwF7qT@Mq{o*j`BC=bFZb9Aso z3hGu*oR)`t{CW?&l|AeSCESKqWZZx5%v8xe@coWITZp4WKz()>e3!U~V(Up*nFJZ) z33<3FF6)@jZlcxw)hhhF+iG#T!n+{#<>SS!;5kS=!EJT=@)mI+>A6gcYx<;gK*84~ ztzRIQjWzsQjXQ3pfd=BsH8D22j7v$ubVH|3#)tL{>$FYvpNejLKlvzlNdnl;%snamdGB$9#{zkowG)%V-HSs)N{E`^fup0&8z<_-Z*_iMhevp@H>6i$m6rci z%8RC3Pm{B6Md}~}MQ`|gzxk7;nRs}8hozga99_W|CR|voO?ST1ErV%69EFa14%D8V z;Xj8P?H;#youQXjI_8LY%GO~mL2Sxu{f3xwQ~(H6wLWD!BU*0$s6Z=UDpRbCkUtt- zr*F=^nevfBf~5To6L;1RIsMLDNpH99;A$>$QYN-PCsQ3js;?+Zw(&q_JR#0|l4@Pr z-vZF(Rha>`+IQh0CE4@pka=R@MYG^oUzJlYm?@NrgJ>Ly@|gr+zg3$CRGrku>3}rf zKk+_j38x-fp|2g_{%JItsQ{gS)<75(RVtR!tUD03MC_UF!!xB%hNiVDZ4{YzsWcra z6_su3h4wFWGt-Hig6f%R<04R9m5Ex@k4vLbJa`rr@8xdS2-Ux~3DvE37 zi`Kel@J3yPoT$z=4&xN1UB@NlYY!VItm+#Z_64TA-5TFvrp8L{y_!KdHJ{8J?N3() zGFCxOoc5+=Pb5e8`|SGHteWllMbE!|XL6{$wfD1q!>zbof*0Y}Mo)#EIk#CY{-~#S zHU{k!*;uG2ad5nlHKs#_$;$5foqtZs_Z*-th{(ixy$c@TGnq5_?&AZX<|Nv(;azuh zV|9qlMvA9g!Vapz$Fxz)0#z)^J_uWjVL>;$BBSP0I7Dk9ESW9F`FR5lTmj>dIP5{2 zTD>^almF(7CR9G1UeEPL3>1&0Pc|3iULPbxSkxdr@*(}rH^UoOCfceo`Di<(frY^Q0Po@L*^o2pppQj?2tJt4ZcBE_5P0h%V+ zpPsn=#i!idKlV=AxPJLU?+RS|cHy`9kW~(7Z<+$`Qv-GXD$M_5$L{|XZsVs`O8D$7H_|EKsl*e<#)QG=b{iEZ znZ8b6y4=gW{}3laON-i%vZPUbjrWP|b;o=OotJ^I*vx!VV^6tXV3=Q)9d7z&L8j0f zRzQ>(puyNhsC5WVn*aIz%Du>kEt_}l+1OfJuj?>uWxHpT41==CZ{KK?KF}Ot%s2rU zj)eC3AaL+-twU8VFX{QFJ3D#wgyCo+@lDWL^~*JJ_qfx6Qn|#q&)ts<89mdcXl^L$ zN=oM~R9CdxiN@FD$tW;-RDG?{rA{pM@*|d}2wDv?Au3geKb?cJT#pT8XCOQyK%DsV?ZP$u{Oj;*2*E)am1tp?NYPaiOy^gy*{ zE*_UUJ1LiHdXEy%@h3aCf%J+Q?5!JyHL<@oba=qW@9kVGlaz%bIKauGZNYUs-g20| z(U-uCeA&M=?p`h(9&(>nU?{#}M`aC~stcUPrrm@|`4WoM)h7;frq5vg_(3t&(lJ*Q zVFKdbs1MK(@!2;k=IvTe^1CJUpmL988T{-{lV#!|<2LFAOAZ9@13Y5vvQx7*su4(B z`|z4#!^m-Wv;-k6YS>u(*z7ILs%d~Pdq`$vmL)Ew`rS~vaMMb?*;d8p5enFCDC7Jd z2v7yw`6cs1l<@jD2wBG@S90&hVp-ULAD4GJF9*1_!H}h{AtgBb2B2A}@r$6S%b>^< zVrw`beLM%bd1*eCR&cA$AV_e|#4U`!kM^xl&|R8Q(L?u_$i9B0$x zW92Im-6Z}>=i!lX^y)@7^#kHaV9pS|pAlNM1R!tjj$SXmEf^0LedyiyNkg~4&}gsG z$?VIlMT#`3ZG%mH{e6F-HMsNaetk&D(3`NZr$KiKepecqRQ=CB{|sgbF5ZODqyHTE zaAM@&I#8aRy_IJ#NSrg z5B2iWROa%Uez65tBgadu;mEcA-OaCQd2Ar3c-vu7`cH)QPt`UZ3ki0gqka#Z!7OmTmH?;Cv4Wl;2n2T zc+Z~t(MH)6b84s6ySj95z@PtmY|M9*?RNNW$~YK8a69HvJ2L+0D9jusBktCFvT}0S z)9SIF{iNH$341JWOA4fPv&jHpmp*$fJ{frJ!(ST26^-^KbskO9w@23R`cxM{)WRw+ z%n_R0AWctuynHb4*~W_W*~oOg`JN)gWhmIr^R#6XhqqKUII(zPf#=a7+5*U}L1nj# z%k|uE?~!4xf#|_%@<7uyg{m;(+LhateAG3(2w|b8tM3IehD$ZDMxQ(1jV$5z( zL&Q%QCI*dXJMOkG*BnPPwPIWhMg?od(G31Cy+J0 z{bfvdlOdl20`&y2DlSh>ND#>{dp~~e@Us>2BldzeUZwk(uEMBV$B<-m5RlawTjy36 zpGr-W`*fmSDLFYNLFAR}vUY%)qXw$IP8{4{uZr9d1Ti!l30V3&YS`K5DyS;EB$?)a zx4Gv!ScCv2%sTvHr=x~Gg#1H1cV@k?kc*#Rv1g&T*cLg85VtKw*9sOFwU!~%>Zb|y zGUAP;Y?=ED80lO&^?WZg$R%x;sEK%rUjeACHT*HLDG6Rab|?IMb>o6lIJX_j&2J&e zT8U-r?+>pltSu#Mj#gZ&`e3IB&b()eJ}8-AW6+=s$S&jP&CjNEB~Z)`zx|Eu{b#dx zQiS~)>zwDKQ1X6Lj7F=ak5V?RJzx0)DM8l5l5;{q@eZhX1p9*3y3nMN?9UHlEVD<6 zzKh?QHgVO*qMbqRlkO)+tT9xsnO@H--GkB#ujO!i2Wa-Uvy!ZF%QB+O59Xg!TGpK- zr_N@>m1H_uj(!YQvrYKd;f@L?Lxq!!m*Uv{DqEG3n95SSXWvQJdB=fec{8Q_`<{SC z;`Usa=KS|-)D@>pY_I{@(J7gk(h~W8-A%%#x*@yzKQ2cTPp_}Qh`8s^Q(or!H|BS) z(-{=;Kt(6`%l#SLAF(LaG-a5D+)OG$m~~hSTv1QIzp5K~QUP|@;k+s8$W6N^Q4qX0 zx!&?6dUzm=xjC!;ZZY4I%Icv%lB1di(?VBi!J!Z4cTQ37NQ+{MJ|fKj@N zo_=-JA_*9TgrV)X&9b}MEXoxc28N4&F}4@J>ts+TO5SVXlPJ)ar8cS)hJ^AI^$S)H zoQX{_p8J)dXv<6)(3&eM`c-Cr8%^nDA~68hS&k!EZza5E{YGqB#u92OwTfG{&Ij7G z^zvW!e)j1At=8KMUcSCoqSU<|nxE8Z-z+*yPn#(^(U6qiKyMXOi@d;5^+TC9^n0RK z_KJXQJY(W$`-{)1Qphc|)S^^7fNBM^p6Na2d}!d}TGemJHoSYkwQ!|5G(^F#fLEEm zH+V`6aE;XDDN~1!L+!+DdJ`I_7{$|#0AQf%O_ffcy;+JtYf}fF&;K3ZQ!R^KSgV;l z)LWC|6ZG9WzA-x&y|c=|r&>$zz?>2@?HCKQR4RyLnZ(Rww;za*oEKG0hH#fkM}3AZ z)Uu9_7&K7oHI@xFD(7LPW8=ky9_ymS&sl2HpAdhp~K z7qv$>jiAHTJ-Wo=o$-$V(=Etg0*QendteGfde+zniB1T-HrXr;1L@uW0k=2+A&Vz5O1Y;GoT^ z)9Vb;Or;uDciks$vz!^OmJMW>_&02(0@0Em@OdU&V;mk(Fp|`eU7qUMFC44s6pZhF z$P7chrvT`ltDktJUh?Utu{S9l%w;1zMma%?&rH`0e_BC&S8Vj!{K}qfu1J z!b$%){J791F?ISC>HcWY=1o|Lv7L=WDUat9)D@h=k?el>64?M zSJiuEc$Lag;7!P7w0h-IQ@@VukMTWMbkalCtgPvbYliB`T)t2m8+sdY=C2QCu;n^{UfUI)&&^ao};98_et|ZRp<~8V+dwPXk|9fnh;?rc6sXqEh z=WKOVZPrrJjrgl&B9S!;B|8Y0J@>Noa(6#>gNQBH3g69Ef+v3mTgQO5bjzI>k&;*C zVTGeNCt$y|7&6fnfIpK9nI)Z78`rL6_wp)u8Y-1aL-{3Bv0UV%N2MXhW?CNa-ku0M zRaVapvfLz2Y!N??-c$X&`LOthnu(=StNlU1o0D}&h!5eF1gA$bR|oiIhSk$OhEO#( z$a=P5>I{_Y2w(FX**>A@9cyuZp&;aS?V6*E(K$BsCANw@n=y(>oGPW(ruX=Au&r$E zx3&>BYQ!)v+0(F3>S_Ff{G6+e`UyD;(?7OpS)Vugo|V6{X?s}T%0nVFj^7xzPAc_2 zo?c*1(36#AdrX+W9%D*SywzBdSI;EPxM+8m%ICLi>ByT2(?)rY6~msc$KG-rwJWg+ zQm)*{1Fuwb0a{QT zmg{hr{N4@CVC$JnH4i5W%S9MavPa%&=gJ1Y!s_d13>^nZOJsDlaJE{xga$`8<?iX(9ETgvtH_PFbkcYq{`| zWg=LFJ}htfy!ktY)Qpfp+NhyN8Wtu|*nlum_4unu;RSA{2uEz47!!Gy*A;%NZ7))( zgRX4Xm3LT1HuY-Yd8CJ*`&6yA_xc8U1g}*>mUM&cyVf0PJx0vevMkr35(qJJ#z7o> zCO_=9#W-<_k((9#SaC*cTZ z%W&`m$W}Qlye+pE%y64Ye1a21Ssw6KOfql2b_NLQYz(S*RPkEqE~(wLav}t%TOtVZ z85RQw3x>N^NP{pgW~G^Cj_N5?XARaf2eO?BgdeUlr;7oEg$b*Rm(6;F&uYFfUv4F$ z;eJw&U~jzJ+rseVro&NbOckkK*x@8gQlnMiyRE;pNK(%4P8d^e=y72^L(&O^tZIlwpYXZf z4OLM|5%yic9DwJDyE*2y<&IQ}>7`L(o?V&eIV&!Wo6)mJXD11pf=c93Q@D*qJxY+#ZB$Fbaw7_L9ER+&X(KtyTqqh1G;Mg* z`R^SI)2Cs%NG(B{COgwL0$`ktVpc{H(~>yzd2-i+n_K~mU2iOJ=$2%p(I1%`_k0oW z^4XizP@QkFjTR2?-fqfae!9^f*aA5Z<@-m8eU;b8wnl3*uaAeTPGt_EgIL9FDsO#D z8tcVn?ovcyq-1QX5Y)!V+l}L+sT-MeS`vI>uQo2BE7${4GiQ*Ab=$NVleV%#ABNRoiS!GBRW?H*FO~Lv|av4;?*;nuJSj`<}yaI z%A1i-tZjx-j-AdK8I_g1u?Z?!`Sh}*a!x`f_u&M>wq0X%PLxtscG2A27!a2%Lo+2d zp77Nww2fN9Ns+#wmWm1GB=PD&Z(HkEuRU{*e1dxGsg3=J5APp2)dUnhH}nXfA$h^_%A*{`@W|h$4@e87q*e|-1b}QSktNr7f9kkK2~o8d*7& z)3oGikFJh|gec_Tcj_*Na;2FsV;~BeO@_#d;YO4j&lY=V6l9LD*DHgr>A~B`>s23n z77%^S`ubF-D(j6w0@B8Lnm8v({30pD^SnE=={kRLkqb$8tIQWP>a+VZN-0>R`svFK ze2#UM$g$tCr0vKSWQ)k@r{ACw0$H=-15yHfdf%uk(UJ7ve!XEi65J$Wr>nGC;xyom zgy{nj1K2z>YUBOf`(X+WUWDT*5NJ0vBSGis)%r0ij$ygr(clHYjh9uz7FH=;yEg``hz&`q0EW6mh?QcFd2$y*2^V8XUM~<{;;xkhfkfq(N|tbmsU?)R*2wWS8+aO_(pqrQdB#Y zM_R@wbyJtAlCE4drAp3_G0l+0{jgwP$lVPca+Cbr2r+`h)_1K@Pv5_fl9kQvGD~Ug zT@T=7Wu1Z24P8dbp|}FE1N%(@)jm}8w*Gektl<#Rg=3paFNlgg3rI2d{Zs@i?f%@E(s z4lA4yk`y2{VP~W0Imd5PC?wM>qbrK)R?Rs42G=3%>YDS1k627wRHsJ?-`=Ox_%OGA znpw`aq6BwB5f5qO>bYvr7y~tuI* zyyM_OzzZ6bYF z3hRCxPWmYt81Q~A2onx*#N&RNGdl>~Fe*e_C-chp|zi#;*k6c>4uC~REd0G5E^ zSxnb=)1J?*$3t)~=iNzN!SD354s+EJl$l_RUhhS1yX#E{uqFr*feci)bi*~PRK(+_%Y4)G8x^3R{e^_$Jw-FVcH^u_)upB^1~-E_<`QAv`PFs>5W; z)bMSR;(?9K5IDQheV4>ke4eipS8J2U#8LLGKO#cZL{RcswG)Y@;-JEkY!AsC(6N6jzo~W1>{S3*x zJw0M$ye}zHcM|#JWM!?mlLLMbjQyg|_iqrNMMMDk zz|UT5|5@+vZ_QmWaCu#P)l0T-yQ09$V7gRF>k9=ti|Kt|j%qm2?+F{5Z3PJe=48;C zv0JKrl0WYf@2K_NBD<@#D`HBM@(?tN-f)r2<%URU;Rmz8&~CVHa=prJf1hb24-LpX z`!|TjYgx8es*wkN?hItFDh{e^5ZQ}+x&{HF2YhR<{JhscNc14?k>`hpC=8UI){!tH z>`LnTEP86&Q~tuP$Spf@i0^#Ae86YVTdwg*x_8m0rY8a3)2e6E>pogpNX=0@L3nRs z*VlL!0=jQ)PXby}MCR<*Hhba#wiiI(a;tkJs}fRh)1qo`Lbg9jfw>`)3+nJT2toZ^|~;f;Gnmog4>RHu5W zM*WLi)?zB~(FH7LJUf*Jm!#hA7DIWVQU~M6uBKEzb;!#833Cdqu;6hX3-Nu>(ocEQ zJmOL9{v5<@05j5aj&xGN`$c1}rzH+&{sA5&ouMw1&K^U)Np;?|{_WRmzht`b3BJ+y z4ZC!7*D2w`5*Oun`oB*DAOC!P=a<{?;_%0hWEb3li*kqd%D-yH4`2WIk1p`a)k_z; zuZ!}>li&Z9P69b9|D%-pJuEcqS0s`Tl`qP4gM9!N7MXbrV&fLF=*F+>Z^hhcz0kq@ zsqhns1@w3Mpa0s;|9dZT3$mr8Zs@@7xr#N2ftU2XE8!Fl3$f>^p6;u=^*;U_tTP*U z@y-5v{R!F{^*n9Ru+HJhHSVqqb_d`5www|S+uQ)8B8 z7VPk|BEadx%Wd?2SinYCOC}2nRlqk_TaIPhQc7Z_nEHSb9IIuyd*l;n0%?%uSo1BI z1&q^v`oT3P*O6QioYOOZUlqh%`silrh)I*{lop>F6z&h${ zz0r8k>RD$pHtp^o4ftB0W>fv`7`~U@&9xOLfF1;r%Z&4+0Q#UIAIQ+0&WepiW!`|U zPSYT2{s+R=9Mxvxz~5R_x(m*2c7Ll$IA|Zryb9O`;Lm&AUPP@wg6QeYOFsx?{9nwy zbyQr>moG|;2mt~F2mt~?g9mp=f_rdn2oT)0afsm(Jh;0BZLEO=ch^P|+`93`;hu)% zJ9F3ly}2{9=B@X7<&QMo=bWnQs$Ki@*`M0m7JH#@N$Q}TYty|Rb?)!w=AS3g&7Lj> zXF?Hqbh9y$GI>?7kKo(zXB5%5aBkxUNrBhTo2z?_PEwm*i`ODPSvHA37ILb6@xeP zfa!Fd7oaEeM7q&_xyWd2iAfp*tGT4lalh~-LZ`U6WNVG=eAXQLdQ!G=r18aR9`+NU zwYUGYHeKW5ErXevfH?0*2@2Utht+0(iUq*s4D)656}<+3iUn?a{(ZHXxn< z5?;#CSCr-WHJHBAQ0%osMk6Y_r+x9O4|9d^avFJ%_9z4c&6mYfS5ew(=fl(f{`k$C z8Lz1+C_?a)mxM5~@}}$Oo~Hl6s(D3N+&T4rq;-F)u-BZ94!l3ZZ!s**tE8oWsA=56 zY1IFCtp<8^vAOf%tgI-&(rp~z9(5RM^+yhwmv83oPm=;qG5#po$TBDd))jRWS5`~k z_d*A_A2TM;l+bYI&4m=|`b^wOlIRulU1KYW(|26#3(C6O>= zbBQ+;JGRnn)&%sU!RN-cRer*EW7q^I?h&ip`Mfajr&lb=^3sE?yK1;k?(brbmgLWxQrLPYL_e(|<-dM~36nR~5`_+}_SsDWEL67&vr zZLb%&q)63~=;T3AFF1`^gp6s3Ah`Q!C&%QSHcbSr80u^5y#xsnLNYazma4dm9}5eh zcqsT?m2V8G`H9&3$+c*lXBjgu?YFuY7_-`iJ>tI_9H(UcEM#r(qm10?sIrmGo|wqz zt=(9y#^DAs9y!px~so8Xw!|JclR|3~3ndL_9w3g{45EpHw9`R-tZ;_+|k@u{*H3}LCh$k1~^ zjAmQ|zLJ3TpUWE2{*o&zjin_AjVJ#3`1&cA*)@xk)q4B9t4O0#1FHwF$LxQ{{2oA~ zWkECodlAL$VswbLsm*BW)@bPkEamWmbQ{+#Q_g`e8_IaZ3c~UvWLA=qGsfkhHDv%; zp7cbUG`<}-m*tcU83kEE=a_3hU~|*(cF8aVBStiyT5=Y#8;Xfqo`Ty6uJCt@s-abs z<|jU_kk;Wa?F7wlx`%66TeP=}(T3lIzIPt4KLnwcJ(on$Y8?B^vn)b>uVXJzfd7;E zP2m98g;%*vYQ5lP&DvPD`X+^EevTLg0j;w~75Dy9f5k79tpiLjD~IM9I~3Eo)h#t$ z-#9;QoFH^}C~&ryqRk(T&{|SzbvS(y$4$$2LS74WKd-?vkQ6_M7;lK3^WvQ1S4o=z z7hytgt8sZ2HCNlHy=u$3;)k;OeFnvV0;69F=sJD68%{)>P7?Ig?pb}RX3Sg(;Bo4b zE|M=LyP@Y>-r$+9ZB@Frj_dhhHb+fj!kg31;{Ljj z8R5)M%Z9BjSUDRw+8PR@0Bql+=G*DZ@w-8!gsZjDuv?;xNchEHTql}^T<$y>5mm5+ z3&~r@sHjg+%flxJXXowvn|Rl!d56h|7k-M?#%tZ3V6;5mv{h`qFmNdI1pbLdHRvAXH7!3}Xc={<$ zDWtJrH{Wk$IrA=95Zh?J`3vg|hG8wCyjL|+b)3UuGY38cs#ILbo=Z~U>^)oh zoVzV`DnyN{@qUk${u=VQhbMVo&Y!oP&lJSYBtNJ4eb{W+cIh}Nh*M)nw?3ng<5_3{ zW57v~aQwn4suQ^C#%eIXgg`p&(W;Msc3T7*W=MRE1N4jQR!eNax|n!zrp!SEIIalf zMHb#HBZl{WG4Qo}bk}&OdHSf#Te%gG{)mVgY}uTZ-^KM5K8r(ypojMbNc1aIQ&3Ro zulLnNx*_kY3vND~@dtdb)YQ8uaOd;87#XvYB=gg1Ci6RsrJ}a5>vB*xwiAnUpHj?R zqGKza;-LKk@-s1nR?-o?0*)-1ez^1vxc=3htIKh+_xg?;5P5gn={Wls^vt^h3BwT` zl5xmje@T@^PcvfS<^kgfQwI@AKMVjfRQ$+TCphKWf;tBKGs1kG8f%c* zDst|7XFNE^X4VN&V&0F}(@>`zu2=ZIfl=NIFikv{JxLBsm+vqCude1xEx{jTe&ONDH<@#ofpNHc{eO&1X?)$Tn$h+EHd&tb z4Cs23My6iH3zZz2>j^6Q=BN*~XFq?9fjTpWdi{?h`u`fn{`O=Y<;SBn;c2V8?J^zM zHLqJKxcOM!wJL}Z5O!4Y-j@CV6m!z$};oaCbtbB6JCBCyrK=7zKzW)U3OR@tu+?%f@jrj>%F=XWA{D@ zzXYa-qR%z!L-`SMUtHoKyhK?&FKlhRexsbvTYVH(8tq3-ODkm-S(l06lrakb6DUXI6COOC30$bZrJUz@23kbT=Tvl0KUTUi%d52I7<2Y_q0V-f52hdEHu=PC5_yQAx> zVLhpks7d<~6CsaXUTmO!ZBMjpQRDpt@vLs671D=v&f9P&QBcOh$rCnMjiv-pSXZu_ z`)`8q!<#l$@KmeOee*+=&!{UNUmFX`4_XN<^L?o)>UXVw?7VR2u4l6iERvOc@~#~C z)w&ZKhf2~8fSPJehG|#+q0evYt$-3(P9}7jSwmO7mT`@a)CIIw%!Kf3OClzafd}|F z;1@H1VpP06DA!OIE~MWC`VFi?69E1mf2vYdgVE!xQO8+QXqLqgZF zb?H_cq2dvzn{3}gfX<~p$x)K?EF`U%x(#ILuei#ge(y%5mKB6saEv+4!y=WVMMGK& z$iw_Zuxh2fb9Nd0M(|-P-kIGKBBE-Er})>vLVm)&HvApWF4Beq0hzYjK)iV{Rp}Xb zbi$$bts?VEO=lHkE#*|t&w~@wa4+jvfYn!C(k$*|eu)AfW?!I(YN!w0h-AR-Ur%cG zZqmDHo2XZa8cIBtsx6lw)ty2?gW)pV-Sy*6kZlFhiYSL;=jPb&n{)HRuoBrsJ;Kt)eo^@;5T z71D)DOaqF~UWNGgeWP1i9{eW6Qaw_kC#Z_#(&G?)A%mfAx@Vx}b=*)O`rh4Zmt}V= zdJ{VAUb2#{olueD6dy`IobY#Hd)HJ-R<#Ey$g_W_JLB^c%qd%~* zVJ~!dJ-elX5xxKwg|b+NXpK4_e-sg2)RHMc-7+DLIXYvzIr&n!&ZMi=ZEJdzN4@eevN zb0l&r)k2Re4K+@-?z2)0nw$^aSQw#KxAFjH+Urak8`H*_VLXr%tpIQ1(B6-EfA$j_ z4TqmG4YMUuBqwV2PScoq1Nr_5Dc7Sw$Wyu2mqK`YO;Hj5(9P_F6P*%>#o^5T$Y zbAd2JC)RrCZ!L~6iIn&Wm#LrAU<$y~otMrs49M$H{heH-h+C!%P$Z`__nlskjlOai zGh@dX-v9|>emQWR%#WYBOG06HL*6m1c=Vh3*QW(_Q*Mo*Hm$hhcRc?aKqND?xg>NB zY2C!i02bhyQwrj1p&Sh;*uVOwECz4HBxr9IY}K#O2P3Kc8OcdlJaF;GQ{>dEe0Soa zJam@*fv@LT`R5~+^$Pds_D(|PW8V>dvP;I_Sz}ujo(3Cf5`Xr5pYYbN5d*e%sk>EkA`w+kj3dDsM z;*3TZEMlLw$$A!ZvG?<{ratFp7*qw%ruEp-`bKMN9dfN9mQLy^l#_qV{HSTOVdi%? zk}A!yhD_)Tl3S_Cq)3sI>VXK7^o@ttE@=Hku|0LGR&)>ca7T&cXbykALN!(LOKY}A z#n-R-gy0Inz^*gO{9VfWFhbg{gXQ8`hlkR?1FK^*7rud79+}LMKtQ5}@K}{n?}dvN zs?CMbQu{UMfDRNF0_F7>GWml+@_=|C&WK}bDkQF6=^gC#jL0oD}#q@AR z!&2Ef6s{98=z}V@%~EVYIlG1AKER`?>ww9hAUmX2{w~@Y+L`moAp_#N-*k;0r&#UX zQ-T5VO;Fi&^;F4YUxs4QAYYp%C3YFC`>r;PD72)K7rNd5@((z zkJ8zD4i()Yz27ILi7op6XU#%5S*5SbG|-w)Kt;2`VbvBw!7HQ}jFz`Xx}zuI^=tdd7smJ3^gc7r2y{Eo8Uju zO5OJ>bB!*IcHW2UMi3K!$)oe_Z#%*uX9ZDfoj|w4VKcIgDWr7E3Jypg6DO9URyX*Y zOHG~U%vtB?Co@#tb)VEfF@PQ?!t(=oUx7XaUa!$01x5eNY@_4P1f$_pm!oL$vm3cI_ra7V}WkYgtbx+b$q)2Otn< z*1OROX(WJKi1x>^{^>YNq}N^^%|h?IzKI2lL_7g*0?wP5mON*343 z`reu?%HQSshSr4a75iY!|Vdn2d< zJn0XcexsJJea?&A-sY_6bk=CWdWLkI8uxOVbhr#5)1D1=bxL$!fN>B5$HkuzwB@NN zlUdv?;`*`Xh;DUN$>7baA~hIXF02y629+{Wyxm%3kTwlq1bH~76$*D~Lq#FlFga7v9{_oM?|MabW z8<~u%@|6s?jDUFRDf8ys7+XP+Ww-LPSi2P|*pH%5llHLJ+LJM9)n5Tn!c}1PHN&mT zt(f@*m>3N$_!XYWbqZk@ikJ`?rm)iEx&q8CbUTh)+5kSuyEu9p{wi*Bxc)1XQ9-u4 z_q!J^iMP;2B)5P#+!OKZY3M`F-jGN?nqo=(5zlPYe&*RasswRU5NbvGlx~z{Gig0z zH&I*+uKrG!_6#HWt%LgMq_%o!rPp2^v5AOaOj;QLu2hxIaR9&zpxd}U0L*+ZWDq=# zIXTkTjE{cgkKMwEwj81+;4={R`$e4W(pJv7wYX5 zuZYfr#>y9B*b>}fC+t8@1&tNnyg6h<3afgSxxo=>@J2B47tDE}%G~YXt~Aw@%uv3V$pJd_!q!tMw72TD^g}o3 zZ(C25sf{p%Xg$zbO1}dj+HG?*N|dt|fC_wH>R0luEEYRaAV}0gt7G|BGF`pA$D)%x z7!DG!p|IG4U|Uo?7}?VBTGyXyiIFeop%7iW@eFw#aP@`cc~mQJnCV8nRmjDsb>}?c zLT;C#6`xpg3PrP0lY=hf8=(#ZRnk}+m~PP5mmebNYyd!?+wZYjBR1?HkLWpUG;c1Q zsK`X~!;6ck(y0l=&WA+`fZGlksmpW%a&DkC<%*!J<;!JJxqFv$<-59p$@uFZewn$^ zxs6>WM{~P+Xyo3-mF?dWs4=gFq)#fG<7CksLdy>*4x+obwvr17E4jRXH9rM2E947r z1{fS#PaG9@jD3-Un>f45SCss6IgjFHSqbW>5|e_@8b3XKAe|4Jx$Da7Bz<0rd0G#n zW!k?z2apD?ZS3DL!cUr|>CX{0ZaDp{kffs6wW-$%Dlcy7eDs%;I7quN4;hbUmf4+_ z#p!PQXoV=4U25Q)1ft7cUDMR!jRi4ab+Te?7s;)Ln2`2$u_Dk4(X9TKrgPGoOE6F@ z9gXrX6Axe~+7d5$1+C;oJ#r;JR0A)wM6j_*mQIl-{XKvcb8Qr~ia|_)+-Es4^AsyY=oc zn}L^uHt{EGU*=s*$J16nIv$&xWp+9*Ic)r@+d6Wt`%!qIFH-n$#BQ8ytc2ho3Tp)d zRao>MJ?KNeIM}1OVLd~BKm_Pbo@8BdDs72oQ5j`6-IDTIfDyA&GSD z8BqiGBi6RTilwTz++*oOb0=W3uWAHnD)qmnvJz2770t=GeD=&~Sd-Lp8kn(}sxEg-=%^|`PzDU7_qZ>|@kx|eivd`A$i9EKs3Zro zHsh>8dCqa)u@VqpJgasGc-tpCS7z{u15Iecug#?FWz!1@IN%4<uUz}D$dDgHKSG1c}B(7dRa&ks=OX# zOfNFVe&B@CcNB(_o>WqQcq(^$>5bdQ7Va~nEnoHb01t<7rXU?9^Y3skI2dwp0&Z_V z?sll9>%9ork7aTR2)LP{(?|_G9D!VKHsP~3NI6mh*5o$lzcITjzZ#WMNsshb^mJ=T zfL{1t6t7DKrj7z0jKL_N6NLeE(#UPAU=1v>!9n-tmQU3`>$` zUuH}+`;#mSUkJUW1P;brQAk_8qN2d@9$l6XVFKA^Ky(Kkhq zC-nvt>8hY3sX}SZx$Pw9Ez(BM2kNHY`nH#fSK*pM&sgxLxA1-d*L8p)4ezBVLAcrP z-7pr%urjohnNi=j*!oXUX1xn`RFiS?N&NxiEo z+N$(1nQb*8!Fv#?(~iz1x@WALLwi#3(@T*W08?{9AyyXnAm4_c2792~?g5FQ3PE@` z(b|>n;EIOYoyg_ZwlolYhdh1@&{bLd3J0~F0GVc~+H39b1%&#dTwE_ousO{b-K(Ut z1_b5?aY4r)p5i32DtGl}z?VpoJN>u>I_6U)$@K0CEKez-vc6z6_g`jP7lA}6^0|c7 zjaCD`MMGl>fG}(WR8;h#9TMLTR@A%Y@BbV@=v#cg1)EchSWU@ernhrm4bB(dLV0%& z9c~P-NEH8kQDGILYqNbOaq{r?Jl3u=>?DZC31C0y>5?;kDy_+Dz@u}BRXQ;^M0keY zx+T^vHh;C~iUAIP&0?bO%U~*%pZZ+3Q4CU81<>)$iB0wFx3p#ZZh7Cy2sXZ8R2?=u zEErVOor(GulLdzcaIp)P4sKE2=>533>T6D|<{YKY-AdIz9w=U9Ugz=SIfZ>umMSNR zA-z{Nwo6gtmoTgDsOyDJ?5+qPOo$+i^%$!MVDQ{^7}afSw9>hRR{B7aGJ zoo^f!466OqD||Zn+fiwCUz@JkX(07FnS^VetAtTwFX_!J7oh5MTrqB}Lm|f(m!Ea- z1>Z3v@HmK-a0Q5Rh5x7&1WOx?UzY)~Ui2vfq2kJle1jBt<%+r@5X7QPje0z3Rn<>Odb)A>L6~>d<$=~{U`uGf(8jur=kGwX za$@TjW=@?oSnBf?VbL$$^rO1)#Qh#!?NGqaBK{QQt6Lb;P+4oBksf4L_{5VsT_JO> z?y)~GL=MtpG?7EXQzcf8z4x_G+`xqQveas=AtG!aId^fof#_~5tDv%>s+KUzV5?*a zo5K?2jqYDU2EcFTM4h?rImSyb&rOqQVt#fi z)}$BGY6&O@f_jZ*WGsUVmh!9xp}JiGFM9l*vPG(IO2T8eHT~kYa4ZHqzI6cJ5In z&qyQ%-c`64@K9gWj>LK0$n7(g25X_O`wAfUp)$7|ctBwjKi%@hBY=}3g8^_VIeGME zfF{#Aj6TG}f!Dv^IWF~EsFhJMw@EHkklPO_5_<@oPXg)3@>J5EKp@oy1`8j(Zlpc3 zZTJ!XmvyfhJfTtjoUaF%Kv zVZ*AF)^+}-s;UeEyp_+HSxWcLYM8@|4P*J-&9gA=Tmwi=-kjUrzh)&KCZQz$!VLq0 zOw-=SA@avLEO}u!e0~hH#lly7t^UxYl*_hfQ|JQ}Z2z{w|4|9P8aVG}h!qjMeS2_Dwb$(<6h#Tma`C)5w3QA;{%ySwJyO z!C+))axq22Q78aS(R^^oIiZvn8y)=_b%bq>EWutc@W_~h*L0r@Lv44PD@$s#H4TNW zwh;LteB9@V%zU$D7Fy9S3R8!4sMy&nf5jVDnB(!e=Wp_=pZ==&>o;zT{P+1G&NSfk zI9k($_#fhDgZX3wmZaV+N)z9mE+(2>2lZb2%-ww=YXn4Fef0l`Xg z3ZFP7zTEsEI*09@?Vj;E(_wya4-d${F8Qt20g;*P`BN2}UxeEL==zIQRMXMkRTn^) zTvsA&wYljwF|Yo)r+57xjvV(HISqeR0bLo^(y2yu9h? z6xw+HYH{{R`w-gQHdD)AEJJls!=G(56B`QX5Y~AP+aP9Ks4z6+UrMQg2mj!UKZk@> z{Vxy!vlj&K7 zCBYgY(}VxtYx9FSP%8Vo5CF_s!?30RuzsoQr=jjPWX=HF^~bavi>w=4+RA@w+uZ$q_v7X?5{|T5aF7(&l4*BP?Xyyc6 zy*btTOk@5KBUy>{T(Er;MAtGo7FfbfMUNK6#&6a_w#p?4gbJGZ67mVsuKyK6n&$(!e3& zeb+q1@*;`D1AW0^=+!vI?pa@?XBCQly!nT%Ly=-6yaodRWpVD;$2%K?4_w(0ebVdK zwQKGqKgp#yv;tZ2IA?$YdiAsQo_!J<4FPI6{ENvIv%<3}>#nWY0Dl)+I|bdbb59v2 zb!MJ@Yrc7?qpRIr$h*F-2dE-oCi?(4k;1lO1SYYZt`W$)_%ciK`9m|C&A2#~ouT&&BCwFg^@%2JnwkLrWs@1UZH>`kQPI6ImgIpW=er*c#CDkC zjIfO7B#Lg~Nxb!IeOC5x|ynmcMA(rqM`*`4nt$FnuH^@7<3cM zIwbbsB4)q*mu_6zH|&<;teh4aP(0<)UoL8|;-_5O1A?H8jhwR+`&Q$Hqx}sB`p9O@ zy$*@U1`+%({kVh5uxCjF)iXpOaVr%iV*N7K&{*4tVw_xE3wZAFGz#}Q3P8()UZ`{lG0s@0#`V6$8xJh(&B8==1`(^HIs z$4*t-E7Ho$av@r&SOb;f`q-Nb}fGt6u(w>CP| z3hX>0d?K(s8JWx4p=H~XuuqyXRr|>h2vwl1s$Fx-Xg<&SA@A9s4TpAPsu`8@@IZEU zjpN-mu}BF^41uTj1iI7&kX06A=JZ}J(o+LnVnME5rf3E|7_J8Dlzy$RZd9F3b&aG=u_c5@QgER6??NKN9B7NW`ORTlPJ z;tAnnhV5D*td6#fK$FmBq{_7J>J6bgyW1O5K10=WK-)Liu`vQ4K1#)_oYnRs(x#@S zzVoS_#Vm66u;9mf(FcCwetrdV;ES&yTKwKm@Kan0>->J`w2@)mefVVJxBa#567AJ^ z4gBO3A*GE&#!Y4HY5~ie8*kYDv7%jPrh|qi7|YJ$y%_$HDca+MMHMag7k~ft?xWp~ zHxv(435r-SoSQY=v9u8skZx(w5t41F+N^DIrG3n-oDD=+y|4bvvS3bKW9l6ukdG$| zx!H=5_`VpubaOI@kVhnI7T3Gyyz?HIMR9~0Z`QtAkT*|Mlqq~~v!^>{VB`?7T|IZs zbL`A87`fw`mTlriL{CMr-ni09Y|S-(?>H=Mc9h1t+$H~9Sm%6VL&14eeh1?er(*7V z&~*?E&8K)+|3p@F$4&(3-3P$Bkp~iWj*|Tj0-oD=*gzEd)e1hnZ3kMIhq)q)39tbeo+}C0B(q1t=^)p6x!4I4&+8}{;2F%bdcf_ zJcYP4vU-nScd-4_tFD&QvyJLA@Y|xH4P^1jrZggp7z__Q<@e{%d~{nR6@zXXw3rbm zaOD<%%(B7E!f(eLYMTgwXgzIQP5yx7sbb~U4BO()PbQXT2+fi2D3vIgkB4_=m3`a| zefp4xw(d>)Mmhl|g}D^z+9Sfra(3knL$y!$+?}&4FI@IqXQhkg$Ut1yGG$6L?TiuD zJQ}cwuROuP2wL&FRe$hb4azp&c*`Fy$RF7yb4CiUQZIi9N#@tEYH9g$!GdwjpXNZ8 z0xqaJ4H9XKzhF;!t5YWE98w9UiMVux9PYpRW3hm~?QujEAGRSwzlYRxx}DuCX~rbU zE6)z8#2NffWg&5jMp-9YFXR^I9mHLGd27YiMEm?Sw1p8|vQmt^6RIrn|xdkLvnDPpGpni!}JoK9B zWREb~xyY4uM4Dr{uZV<5XWXQ?)@J;oWc8{XsNA9O11af&WAQX8`8ZYiy(ysBPUYRf zlN!US={nN1y%9RF%7v`xV@4Lnd^zo3JB#kqQuyNCk1u1&z78jC?JSxouf^cifOAM^ zCdcD#URoX6SUlz9WMZkD;U8%TTs7);=is1ju`_aWt@y3xYoCs>3pv;X$L`i*InKY zAEe^rxh$WE;(hY;T*tpx{E0^yQ?0h+rM9v*7$59?%zmwjKy|>a{H>uQtJ!xCKjA2W zu1Tv~>qPXPx;7uiwSOI)09p9n$fbD0391saCe<$QJg_A0LXOj#7{d&R(|kJOAWcN{ z@M`G&aH}3UQngT+J)5!%%zD>`u0VzeAJnncAzk2EmuSD`{J9HyN7qKtYASdW3l}k4 zT)9}&FJBvR*mA+?TXhQI{GxQXSg_ytOC3-uen&Z{O^l!heO3pYO&cYg@kb#8h#|*K zd5F?0sEBc7))O<7MC9uDHL&q;#jC|>xW^IaQ%ahrs};AOF50`h?8dGmrym1G^qFRR zV+q?Hg0&_9>%md+{LMWKyAWBLbe%BTah-^bonU%yE%OP997T9&_X}<3-oCU4HeX3J zjrYkcA5aIA7<NGSWY;#4x|HVl0JTsjsSdbzkAz#v%F{rTFzMyr(vto>2- z^A-1kZogY-127c?)_dk^{*_-RDAP#$Z7`pS7VM%)*L_r$Q}U|;Vj zbIUy`MJ{W_Odc1Qt^V(Ou^_bNgMh7nr5Hl>6pNG^614SbYR6_rT)u?KB#+N|9bY*DIZ=5K4#}ZlPgIA1wf$ zXRUKmIGLm?)bz8^&|R-Ny!gq!aRJFrKAmTo0lyl&MuEWAckBtrILs_EO?eHeN;(1F z%y7H_EGU(Rt_B~hylH_vec5M=v)tkbkfP?yGF@nb_|U%E*xg=vqI+RQCXq!(#H`hB zyo2(EcLQT{L?5g+GtCjo0uJY&6L~+~Y>bDk-8W=O&&l_iI|@;#vyNOe!5fXmk2*|h zN7M6?H2XmdIAWbgsJ)BTy7Z`?7H`kr|3wS2h{KN(Q+@k^7n8z=vk5;=j}M{e@o8ye za)Qh4KJP2B8Zt3Ak&A6@ZSq&AG0+@qk051r?)L@)w6>TU{VNUr@db)6N8hQWkGW}G zs8Ft#2)&EsA_U{B%UT9F{DYxGL;U<)% z3T=NXm$-WaS&MZDU0vk7B!R_GyU2w~i%K8pp`X>( zB($SkJX_Xh3T5$weCJR8;Mfug@N2bc%eAMx-%_jdAw#JWR-dJ+Ht+me!cL`rwWG@(COM5;!1mi_E&l57U!VX zHQF}v5x2mu;S?E@_**m+^T{ibVoHiYvPanj$KvWie(0_nwNBNjhO2Y`NenQM@UUiQ z8uts-lK2f94&1|LppVCD@;t|^|EtkmY6>?~XACRi{SCx3demiqG%7y2sqjP(HR==T z3zKgwkr&4-c_F4pn0juA5uxL~uSO{{ZCxgVmXCldQYHTG-q5Dg)A>2tbi5rItUaUi z4xkEM%7OPZVdbtb=?+Nf73%)0XzKu)|NBZ+{x?kwut&+GT(*B+e0ToI836ok_3__u z2kHy|@r7Tq>aNd6g5bWwjk7Z%KJxqE+L}5Pkpj?M*XLiZ{*Q*{_~6etUA-Tm`}1>O zy?d4Ow`*5#lWs;{*I9l=cwa@;=@8X>v|{nT;9$gw>EF>7tKH!yLw&GH@Ndc;;BC^) zKZ;@0XaBXQ{=a^qV|nGCUlAO^>WD4_zS1S3O0FEz@I8a9Jgm|oEI)HR+6?+p28pNd zFQ4hJx>H812f$du%Kbd6i#W=O?y*4Ut($23W>@}xnvzX`p3ZttH<@eZyY6GJcwNp! z*W<~~O(Tb`9n-ESo6F3|ucGi8* z9XWqTe)sf&3~cKn-?$sJ=&UIva9li@JRP-Kx!#>_Gt!~=jLPKb6ua&SKer{G@q+qCW3sbe$9v*M(A8whH*Fc)w??kvv5Cs3%o^eZ64QLKYH z3I6@{oB+={!1Vi4Z9ANI1v{00zx?48!cj;@bZ>5=++$~B&r>F_7rS zk{Slf-~)+TI}O3l7F5x0P%nzIB}ONOe!(`eH{*Y`03?w(Fnhu!jav;LchOOwv-F*( zf3Ns(?U)=8oCN5U3t||ja2O867~8++?RJruYhigULrA6-W&(7)A#Y6m?QD~7U6QVz z&zW}p8=iGrcQ)cfv2)=$P8j?_G=5>pdu^s(p&c#PPZm|Kalm*-l4NPq2aq5v=?{>t z`>va`?J^PQ$~ysJpmWNti6TEj8m#~!-swTLjDEqr>3}zeoTpnt*t29*1R5*U9D)E8 zad$Am`is*y9KQ*9!?jm-HVZZT%hX%zE}f0vDNS*ckf6OP(eLl87$dU@WqhgBn2xsl zmV)Avp!{Y1?}5RA)Xd+5Hn6to_ks;6(PG?D@Deh|VN+t98o(90i!8%DKc!Dl7Ox4$ zM8~Pj40ZHB{cd8CJw{ft5z)LR*Ww_90y4_9ixU~@rKk_K!d$7o0-!BSlWNBHdlmI_ zyC>mHom2MvwzqHw3FUgn(wr&WooS+DD@tx7;Ec^hD_ClfQkDnjdQX3p&bYbgpZ(wt zYb0E^MIn*iq2+g`>Y&EbH9O0Kyu2dn8PEaaU+x6j1>k8PZ`gXSk;3^q6#KA-04g-R z8ZTSwvGql6S>O_I0zk!i#B@G?C2=#oYeq4;`#o7w%vF99&0Jg|XQyv1f$|Wh=2bMhWR)G^OH`K)-x_yEfL^r*=UW*L zqmO#(NR13UVN1pw*lzhe(3#3)BCciCGrCFqQ}6Q$W@E$5{5#Wq2XV!{@cXF{0*roxjEh+75JtNQ6PxkqDlwZiCtL-zf^}@}Zs5c?oGlN4#XW!XL2el6NSINbkwu$2is4!_0^}Ca4BW-BR=ZI^y|Ji=#VI^BhtQ_WLKSmFE)$tNSUVewn zXLX_i6`sk0?zIdmYLCdvKrK`1CDJLe)UB?^$vq5g3h%aUt;*e_g6PlRcPD+-QCGyJ zY8SHvSDL*5=`C|98RlcCaOF@v*qUm~4)->>8+IF5cyV$KH%nLz^)Dp3u+v;g0|2go z-2z-M&MPAr`Z-sV;?x&4&S{lX>i$uA zvvK0uy3{{M^Y~)aFc~?8qfZA@G87@<_6AFre-Vt((WC6Y0H&JR07Stx_s({{#w4BJ z>9Y$4Rw=jR;a@ih`o^LahA+i#P$zr~O-By!!2=>31h0@STrzc0C#)S_@6Yu5k>!JM zrxz(i{hVwyHEXvA1H|oW-@v{l6sEPU=8iO$L=3ep%G-bCRe!GY&Embi1N?b%@RUSO z`1TU@rin9_YSbMwjR>Oiy9saZ2Q(LNn!5Y52p49gH8az*>GBI(nJ?J6?|XbA<4)eF z{{edTk5QKQ>(_15_HAT|J4^rix@5MidG**vKtTUjDgFClw1M_x$dfNwK(9ZPl*NU{ zx`kNRklR+9BvAKPB@)SVWsq95hp$kiH|YxV2A^nZ%V)D5z5~4YosmreHMjNn#YeRC z92_Kk(pa%?3or=hd%8pT)Bzgd(;K<@JcsH@yr^qbZ!A`B;Vhr;vYX^uqq25F5mP|O4Malq*t+W_Z)R>Vj)^9Xa(AXTy%L6Qu zp0r4qywCMvakK#^-G?!P*8N15HO$7xYul5ApN#Yxp*Ee1Ho#)tzB>frzszA>v-5t3 z?!GYLyyB?q=sDk8rKoCP9Y%H=vuvi0N?k)0 z=N}yRfN5Ssx4E+8z0R`B9d z^wfM!=Js%V$uEk)Bf{T5Ik+*(?AF2_u(2-aeTh##Hp+bopmrKk-ERa`6nwx+n3+b4 z_opgw+NQR82chNW;&PsHLHRnV!=9%SDUK-G^88#Kz!_>%Qc^#FdUP7BHyf|~J)PGU zE7%$HcwwNHc+fAl3tOIdO-)#_|Awf6n=ik$r!;BL7lKD-ny-NrP%QAKCJvehWgnHNt8a|aaGg8(cF44Cl2@~nBh1z_ zP)ZOhbG@#l8c)G;N z^x@)ku7b=Dqd!V{;99`{)MKt9IjG3(ZW{;;TsDw=2K=8H2TysfNR2RJiEYi!=j5-w1cJazSHDT%^6h4gqEWLZeNUu_=FmO z)#1O%(%kY)OnTj7p!Bon5cXSBG}6+PPxKpUdzwb2O|c*_NG;?paZj3=5vvKvA_;5A6te1}wV%WL$- z;$=ZgO^lT+sZd-28sR^E|8jJnora@rR5_kWf)fRp)*OhBG)Pn1zywC;5U*|G4Qsd+XViMPa^qeb^fCP6xDhkaOa_+cuQr zUrg?KxWzE=86`u!wlbu=?RZ(HGd{^lu3~TrB|9eL(^q*rcK0-?t@E^^#3eph|6uO` z)ZSwtHuTT|{pYCmvC8MYITx3oO@^wZ;ync>@~MH4DJbV<$artWit7fULTcD76Agu1 z)%t{goG~mU$Ll3(uX@Hk{wGrP(9)CM*#y<~0oK2?#@26bwquy~Eg*Wh5AVA)lXaUW z`}Sj&r|SIXmrjqe*A0k5lK>zJx7|+#6!HWnP8?+B+fusK#jAHT0g-s|fn>=MRlUOO zzr3f`))Og#=rr2u{e6Z?%1(1q4=LgacxOmRi2C}%jZ}4hA>nBN6!%5w1k*;Lc}_yS z_ocwtH~0qUyq)%pETf~M9zT56m?^hi08A6NC^;1XwpGys4Bffs8U6c5_<0- zy@Vn}2)z?Z=%Kg#$M^l-n{TcE<~tWzDQ6`s=gc$n%$~hxk~?o)`E4bJ-z$$9M*)Z% zfDx=#Guo;~RQfJ!ap`XTSgR;6sql@NxA*w;9vB2)G=(E==gT@R1L{)p@=k5dgQrJJ zF*K8w5B9B!f{ni zW1W#3vO*%*mC78{J}4XKmwJ(f5aQjs){~f=2})T38jxsbDCWnu4-_+)dbYliVBmeA zF$OFBZ^Qj>;mntK9kneP3V7=|T+OTZc^DiQtM0)2qy4EiwKb%)q+ncbtt9c7F+JET zwAuFvsF{5#xN7hMPBi{0zK(9iTMYn%4>#1pWr~Zx6h1v7cy71*T-JVZ+RTrs^dZzd z*-El8N5=GmP4oV_5pNlzXU zxuBxG)AbA%Kk{n$Jp@aL2vb&bV`r3>qm)&<(+|-@MTqk8Mcn;to@wnBPgXwN$-X94 zg%x-#Nn@=G#h5^boY}NY9iDn9vnx^VQgu{OlIw-lo)GU+wUVWz3b@?zG!kQ|(gs=U z#=DkhAd!}8)U+n}wpbbn#t9s60_Gg<|2_UT*Z*7xxTVV-5^Hq>TT~)umx(Vh!ZOwZ zTPqn2^v}yx)imOujCe8u5ffq#v-XW0nhw~;>yQu>{IpM2F`fpYs4fhS7jn$tYnb!J z2t!LB&sVLU8AMFw(<5BQqax<3W1uh(0cNQVgW%O<~RG<9ZdvU=zkb8zgf$v*S0s@eOua;DAS z!jb?Q7@FP8q^kJPhHbcVXIxeGES6W~jcxyP&5+K$H~PB|@(gK064)Hln0f@p2aJ0S z;gq}q%~J2MYa&W9C%sZRw(0z#3TT12Zcy3Me2oB;qZ^EoFVwcXMUHgkICC?{)5dE`=2jE4t&}4MpCNR#}N`&D444wuM_Kl=^i8 zGVcmDBGzcy?C48nB#GBu8F%POY$? zOei#mU+G1IO9O8X`gcSyz!3S#8TxMp?=~fA^D&}FU*3rZ+P(&GHGtG;JRm_A677Zp zoQc>)>QMb)MYMBA!K7(=E|S~Io<$_~UiET%hq{`;2bvgHC$I|TjV*<|p?B(vc166@(20x-{LS?dzK%mwI6NEF5<}7mcHC=?{o?LJQhN8O@&Y zR+tk_ZDri?>b_L6nYi&=`rfJqW%l;NUMbw2z_t(=#Y6QS5o)Pa>d<0;O2bU6rv~bv z0n?s(Boda*fW{==eYx?f73U9EHQEL3Qqjl2aCLmBknFs&f*=e#;yBqW9U@TK0aNRD ze7s?>5=q?tMqi&4bSR=mO-kw?uBU;a$-pMXU37-|$r9a5N~b@I?He|PhFU^fQKh`J zN@7!H0&Ip3S{o#LD-4}v;a@0Z(;LE|1?F`1NhNikTtF~AK25;iM4O6F(VE?_7;}6X zZwigH)EpRI$vrcW*}fPot}ntt>7J{WuDRw|4zOQH-i982`@JS(nf*MoqFiMLeeXoG zy>cr?qG8lN?%1Gh{~O!B#S@){%4uopnomiW3O)r1)yy%M?yP&tjrO^y!X{PoneEYx z7dao9)=!($H@CLbfE(~D?%f(*lM?rAzGweToBU&-{p%P|OtGn1EQYd@CM zIBsx}izF4#-jm37eny@;-c_0+Gyt=(vReFECct9-mO?bL8{Se({}TU5nDd$rB`! zr1F;2`&8R5SGFteX0>b$QCQBtG4CzNP5;h!IJHrHkTQN3s;oQ1aCiw#tU& zXvIU}S@8FUzx*K+#b!sfb*=bq^}RIy?E_ zwe}9cUg|XMIauwpUJL^^)?KoF{MP)ipUQ&^Q2?$@>+4juG9Wk-QBWw|Fn$Ir{aLIH z?=4qTi0^o?V!uD-EA`OyM#n;yBkatqR5+0S-5z~3S7L#o=EhtL`c)H+RXwN*W(dP3 zEry2yR;R5oo(Au_>98}P?A9A?&)UDWn*Jw?HBS6%6HiH^pt`0g;eut9aE1H{1l}BtdwwbGCq}m_iHEn z#sYPO*`NGfAw4zFxx+0hh5k&Va+bGC@r#knPS9#?(78@Y%&%(Ufk=ikw?}(n^0ux7 z6s6=?A`tbO2+pZ>Mb{)m?+b?PLj>sPFm>diwKeINF}4i9y)wV>Wvl^-tf%@B@Y&Jn z>-1Lj?51^hpjLH@u$Pan#N1KAjZ(ZYKUsIO0rsuHblM~U6w`cTUx!b{BB))xb^ewT z=KMt)bZ#We#ftnbA|zy!*QtU`XY$0|L{fQ!8yGNz66=gN>n z-+`QeEago4Ioxnhdn1@-qd(Wltng|3O^SwdsrOrqUUJ7OZXbD?P;7f*p$gU^{cP4% z*T{D@pewr##~)h~L*BtUCJ@JCkFsO6SrIguy8hZ%`;ikT!S7AJLB(eFB29VSaS?mP8k^ zfuicA@TUyBs$si`@7r%?fiw4U%?i*d!VJ3jEPyDL2fL7VisK1-a+X!Bg8BP&S~{fI z;j|AKl0Ly%X8fv>MUo~~R$C-vP6~F*XC19nui^Yx@i;Za#%5zJ-bhvL;O6kyq zrgl`sTFer$XFt=it_KA)!~FV>I(t7rx{PEDFZuG1XsrBBK3)FQcJGt@`Z^azXFQ|h zr#kkSsem0^R0%iRFA5%%^17uNqt-h+S#mWuTo*ETOYj=}5$J z&_*gD+Ra`GjSe}LT7RQ?R9?k(ZW)pjS~)#uY#3dHe9*7aK4GH2!*^IbrzO8}o%K+O zqRsTu>4kL*i_06ML7FkQ_OP^Q6EJ4qUN@1sAlqUiL}80ig{mb4EBUPyuy@)@s!y(!MUR?e?na$a~ z5ldk=W|+h6QyvIt0jH@5s`tn(@;nA?CAo3-ID_Q}Ya+p4Q2 zhjodOOMA=0WE5*VP6>%0S$#qaArHwFq=Fvw&1wKil42OdG{ajDglu+U|i_mC@Qxe3~}+WR~o^LOhgowltI;;A*?2ehGQ2q-;_z zmE$YzGmp;ie;z2#WSt2&vnWU2FQ>L_z2NVfA?WN2-Vq5fY@_?13i5Z{wN*RV|K>=X zlhFTfj)dgyQ3cSvdhdSTgXA4vVd1zq%5r&a>y1aKy_v@P1YVE*UtfrfF=LuBLXcOh%=psmMD!AE0vvAN^Qg&ow9BZYV#C23Uk*WpxrIaL1lOpG&Dw zuT&LtwIREp+*)xVi(%?`@ut&t9tcEz!mi$Rd+Rl`*G3!p1!!-kWWN7pAel7boc~y@ zr%cMb0pBl5uxj}lNXzH>h{x)UdmXxu)na9!TIo$yRu=oL_gVWIdV3kXoL}6Ol9*WI zvdM!RZFD-@jNt&gA5BZ&zTKG_g~k3}>Txa6+Z)j`;QYZ%IHqt3!S?m&R;~vVGkbP# z%RZ_?MzQy7rU{x4Y*?VTj7%Gl4~p{g-l{UI%8!f?i`el&$~#eAAdxEX?Z!qFvsc)5 zR5jQrZ?!XAVQp>kI2c-DIRAy{Dj3l{6-j?Qki6mz^UtXjr@nPPMWt&AtnPNDKgJ1+ zaM_rmAo0icr{>@!$iKUu8=2>d3k`0X4cTY)=^>nyBjGoHr9CczIcoBOl!j5w=Re!# zYaI7XG(`qb!zT$aW*S;Y=3H?x@2N5IEqGcS53^3m_h0J(kKfD`&Ij8TbZbtcPa7qaUYrbspKO=Jlr+1F27*JdxiIrSmTB zSwVH%Q`68@Lm?VGU15ynhL=RIHp}5z0*&v!-Zl8H@h>X6PqI!Vd%Tjm zVcJ@2QC+1l6Ft&pmYU|JimHR~;y5p?)}%AW(K@63mJm@~I=PXV^_45fo!WjmkKerI zeOk;-W95b^^f>vGr+$BJz`ipc(8FnE%M-Ni0CnhR_TG4mT$*BS3K_V_KEsT!m9APQ^zzEci*4aCRy zY*7U&NNNX(=!tP+B9l2?E$dINzJBf1wI&DSXo#X!#ks{OwZl8231p4RwgQo zOTvay4paZeEZ>zlevQu~h11!US0p(> zk7(#3nMJog&kok>2N7vES&#p*K*Myt?s$wz`*@FJ_-f|I@fy>i%3&R?H%L?N-9Na*sL zex(K%Rg7W%j|*V#W%aMA=!yT|=um$-R`q{5R$gDnoW2sLf@C>ZA@OeS5);Lie8~^X ze>seoy&l(;J?UWsT`ee-c4@mSx-$glFx0Gon40hhTA{3_}jYn>1`oUfr;gJ!IFK?7bW_$=2!Bkx9bz4pn2HtBNV1$y09p{f)5C<0+ z(6J$$hUVeK0o^F$`3Lmb(tUd z6dANOGyVH&n=y}I+ZAPMiE~;ffC*JKb(iV;cFBo`;>gN@hv@0Hn?SwiMT%CqurF;r z_+E6j0@8_`QKG?egk;5yEAmChVbjZiJ0~0EgU1Q-OZH;kdoizp%y!8rAH7yFZVf~& z4Gm&_uLBwl4M9PI78J@jn^FkT((=JTYeRmNT+zA(=U@#MMVOs9dwDe;zwr0>SBeK= zp<>$SUdKDLw#{Cw58-BJW~Qbb{Mp#bI;oo@&KJJqmzI?}K!F;;-v3Ro{wIgi-1F~0 zIojV_GhI#o0@}T2km6&vJ>#09LQJu|Qj9E;d8babb0V@aS)EL0x`M@i&|=O-%9Pkn zD>Y>4yp@8}9A+zX6lerxTQn&@%(vpUBGaU?n|cHup7HW1xIJn>z&3}7+G^KYn(lVq ztt%?lJ?iE6Iap6?^gvo7UACwDRiL|_3mPZ+`tXCe0^pF`%0=e6)apGHp)Kw;;6Rlj z1M*ROS z$(y{BUYoU@m#C_{z?_@k=#k@}K=DF?j(^AGAWQ0_F(hpa{#-3~CEdrU<*UDfg5B15 zeSKk}G9s&Fh~%X~rKSIf<;BTh`pSzXAhxXIaAP^QsBXW?#<2Zhd3n>^Buo{EBMz_Q zC#AIzS=rg@uwx$7Cr3xY?US9!*~_}R)8`s-&Doq$fU|IYY{uh>)6MJeXVJKekDRP= zQ1|k>;3+N`5fWic&$5`n4>m_7CADhWOE5NHYz8DwSPDGj{1GX0+HG06Htd> zbhdRSzdz$an60o-?|7z9>yne5U6R2hr47+orptN$$N7P*_j!tVIUVSDzQ$p|mzbP` zT^s&M!eOC(e}9);=J+?Gt4S#-d)3_BG`IHCi7AFp5~(J=?HKq5naE{ZC z<=In1Qw%!Cb1(5z00-A;*g2KGx3|}QDf%_zT10$&JYY;?a;f|2=c`=xv*V3tsjkmD zf0oOqd9^nk%}h2}sCU*lMC|YT`T1$-dugZ(BR)=4SQOm}G~TG$4|BSF-U_mh2fE=o zP*~;ZRkF&ayYkP&B_x#`SNfBs%_AH)v{%MTO9jQKmitqaMP2zkjsnT0cG{5|WI5{b z%Y!m!p50OM8fZlfn6)%dsQ%jtBt(jl!ptf*=s3kMDH|-0kWUu1aWNB1S&J~0z3f>x z*KFP!MpX_jJ43n<*t9<^QH5V$2RcIFbYU-VGC|0gQl6W5)*7~u zqtRXEKFEBlzRv=bmuV8t+}R!nQ?>Z58aCAO1O6gC4QM&w))G)OB>rLW^SRPrq(9{8!QaL2u&kQKf7pY>a(N9*ek znr8lij52?~^!R;3rxPlKK7HA3zT0fvGR!B!bXlVgn6)Z35dU?4s-)4J6Waew^ zUuayZ+ z_HVoH#J?oF|12?ZuEC%S*bGKWSEcxOTeAZu#oQHkztMi4s4Idol<&8h{VHf>W#xip2dA^O?zdj& zs6<;X>ua*CI+d0RP-r6v#Xgj@V$iMVD)FpSl96vTEm;xcqzph=j?S#Sb^X;K6eXC_ zN>Q0IdfeDAl>|ly72y8uEKN;9K>>axNTu%uO54esO^-(;>A-gkzh`5E<9O8Ht3&w` zI2mH?d$Rat2znd8TbVzsnkmJ0i*e*_F%usBSc;{FMkd{i8no=T6WnEwWD*Q0#BbNS zj$kmvWDJIacgskVl9F^zb7Xf5vz3z%yH%Os*l~03<2kw4?yp+st|y>OEnErs%>RhV zjeWKJ%j;%`kxmgoL0e6Yrm4968mo${M8J^fyq87li^P75i~A3uylH>7n1F8i``%`? z`2t#LiR@K&$t4bpH)j%AIXEhtn!INkYBS#DemA_k{jLRD;IY?petPOYa}{Ej;86x9 zT^UGi8wIN}ALYniG$Rna8Shrfea2eUyIp6e&juvx`@eo1mHF~PxZp8KzWIod22kR{ zP%E5t$zDcBMLp6~E$7AxTQvY_6>xY)aU@q~QI z2`XN?_l#hfN9#`s}pC7Jx)P ztQ_wy4x^PsY*@inlQuc3sR;J9P1y~-=;jau;j}rcIu#SAzA+%0W}9bGMZ?r=30s>! z6O~Hw%YbXUK`xW~I3A8)@t5ldOysvP6kXxm>{+>UfZ?|%2wD%Gf7SVy=kxuD{?lSD zM<>6q%}YhjAF11SC+_F)))Ry_@0V?SmzO8+x6QEe^`4%7dE?6GrZ47YKxuA6uZ61m z$B)?(Isk7tS!8zA&>|j70OHEb(j>6M>;=56u<$F)8~_z$fz_!MYA;W5$w^7aGj7wl z+9W_$cCiGQftrT%=O7?0@PGaY*s<-e35wW)V5I$5squ%@2zF8%)*rp`!pb~P#>)Wj zUK&oM`vUz3W5BOhyLbDLgH%61->N{<3fNyNwZVUNzc=*$17s30oYNUd?qWAaS#M7u zDFMFp#Gw#^4@Ghlj&}!$h_97_%Ec!8%z(}K7^RW7lovW1(bxBO^kH3HU3RT_7OpNk z&$(^3Oom<#7Bs&{;t8{VD@1lo8Bz2hOjW)5qobaZMq&qP0!2E z4xzN8v|U!k<8V0Hg50O;(ZZXm^)9^nW%B3>*~{HX)dHOZAhrvSyu!zSHBV=hc6VCN zcq!jrXH(+t=`tg7=J_Nq&$>>IRp;OWBEb{@kIX z2{(*If%af`r+GoH{rV{t#U&LPJj8bsIM#L4|H^+Yn=}kGOMX6c@d6}IU@n8n_h9*d z1OUGO(lwk;y5}hspvC+EH-ParR+mx#1wiR9$d;>;+I#uEt^S%jZSqODXTu-e1<~d% zfaB4zjho|g+*h>@oQ#PHv6_}lqzk<$KKY8NTTCAVlzm(67l42m6UoTe^Ygr=&lA%? zY<*7b-6eaqi0?npG%M6cI8iL`;4pHb5e&4@Yu70A{!Q%?7Aa!ofFYRiXetuGi zkrnk0^)__p*$kTfZR$$|EQnVtUQZ_`n%=0Wn0;dm9dYZWB@65bAZk$d1ECP(+$}+- z{j`G(<$~$5QAY)H%Oi69WNDpyc_&V#{z4B&dgD|}8shv5H>iY_)v5gt9+_1(f@=N< z+2GA)TYQNP+*%%@|H!F%x&xHd3&)_3WX)J zcbN(Iq8%G>aatJVldY`7-Dc5YX&2*VH!tj|z`e=N|rJZB6r zlqrR800Cv2J2Kb(_Fpl82kEsXK!(o=)c$gvxQ0>WZbZk*^w(DvTdYXBRr z!}kNzOeued43U%ua8qe1O-8pqD)hmCa^=) z!Xo-$S$t%{g%+jSW3Pkqe$xNOE0s7Ht9f}zE2TqP%ChqodN+K>9-Yh_mxkV`^<0ty zV2SCsdd_J@dwiV$FGDLKR4cyv7g^xs7|r}3m-b3TcRyP)yhvf_gRS~YVDq0sy8w3A~MzoV~EMEe;0bk6c^9vZ6LTIH$|DFH zdkQ8T5|{T5ClMElA=2;k+0;FET!ZO z`NufV5v3e9^Ci}4tlnq4zsF&vJCUUM+y>#B=6jp7Q1y4eTskDfLepEV=EqAPD)(q; z03-x7q}aR)NNWIDgabhr;EpL{J}h2p`JEYrHxVeF8@xE&cza6!Wl^I=_(|dJPDlKk zS~GK(SVOtux$ZYs5^ib<65^P}o+G!ZflzHa_eZ)aoQx-@4-V&p^G36)8)vTBLAu4q zM>t;k@@#y?=o|-c+N*wauRoW^kdYN-kzTg+#e29eiOYZeM+nc~Tbgce13+q@b1!c; z`16r(yVZ4(8XBL<=E~gz1r#=jzdC!iMCL(^ZwacWL`A_#Nvl${YD0qIZ&9R>cu3Nd zEm=;*%@PsF9Z!FOk}nppYfS3k{%h|_j}*`3EW9@sJH@*q`sqan1mJs&u<2553)B%? z{C?-*>{D5-J4qdm9R@r2PAhNY2qA1;cUggjrS<)qPSy8I4@zCf>Dxoh4!BpkGCwx&((UwjM)xxkHlaXRe7Sr)dD#LpzgS85*3uYr|4yd2){Ku-573PXnbkT zctABNELrYgZWLv0T<`JAzSd7RvEzJjBEI}js>>g(kDk8CjSxTtQ=Z}{{n$x_sl-z=;gW9o1Eo8e4P;By4Hx&zG-A)Eaq5E%eh!X=isM9OV6v{0=mzP5(Y zqDDH7b-}2Od4u($Es;=(nNWLEG;=qzLsM~u0Q6)3N zt#OrfO44&k{vXztVuaf0#5Cy31MurA`fXwqDQPc%11am|yL0KSv~4_RFM~~Hz|Bt) zWusenDM^v6Kerk@tch7=sTeZf%e{`0Ir<2+pjc8<*(2_jk>K4g9Z!}0RMGbOXh$Qp5hfZo zRt9Dd(dNGVOUzufPWZU~tBMOBJ2+7rBq0~EGzvpPaX%-q0|$xayffnGdb=u9=jF#a ziIG=LprUg28fZ|+ux(1TUfL#vg6TsLqg4B1ctOEqd1|u2lM}kLL?9Ug7?ymxVdghI z9Tn6}ATVBeK6`@IO6^~d6aU8GBo}D6kpS?46A=S465&Y$bn6^OLU9`On~Wc7$|_kJ9+#NG{pr+@^wGcQ_=QMmN1-$?%`Nu0u=6Hfp(&S z*d+z5rf-l}as_rFmY*RKsaUQJY847AE6QJBnozwk7a}GP?C2tAOuKjZBIKKUs3=Q1 z^RrKrt97iXg40CV+>bu8JM}8oQH2Vw0RX=eKyYsxoq<7;O@ui73_*aL@*ky-7wZ4V zUby~O+VgzY)Wo)~D6q|7+RZow^tx3qt)*ih6k(}v)QLtS*ITLKuo>>kZDpwSd z-srQ$oG&24vXRx>Bl8)f|TM9_sDK@6pcUb0wU4)kC1W%nT9`#js}O{Einpg zoA2JGq!=R1&P;Ds*<3fGpZNx5;fvB&`b}!#xTa9_LjhW?qWkDm&-7+XR3^of`X4D0 z;pZ~1%bveK7kuQ!&=>T!wh&6EQJMNpvpO<4)Zh4ct810*YNX@LOI=Eh14qmBGQO`& zR=nc6Ra+D#$f{9k|0Ci%I56V!dI!uw!={l7EYJ|)p>3r;lJ{nUOgYlSg_*#1-05?A zLKpC_$o$Hcp^W1X!XD(awC!(e!YE9^}J2@Z41T z#A_18tz^gAS8s*=Kh#Yz97{5)&upJ& z@5rb;jc}>R7qKZh&?|!$EQZN+vLSpY}LBUWbF8IO!oWc+*DZ+WldaaX;b z{G3RlBk0^~SS>On)wK#$cp2cFV7~o^K~mjAyl}<0^u)KTrAc`Uz(HaIL(c4v^^^JMqde@AfWPN+ev+UqE%opJ`z%axvTxzz z;c>RJW4P_sxx$e?W8H##esN(7b&sSAs{C0hHO~Fr>tIZom2bOWNJ?PejPy{#JA`IF zJJzLsx~|l2s*LW&WL;Z>V5yEsk#M-S)W`vAghrU)72coWYR(&AMslfmoX%HEDl*>P zitPKPU%(rB4Ug&5zfNn^uXL!K8g<^B)rZ=?JcQv_-`PObKekNipg43(cO*;?dD}_r zyf=-i`|s>?-3`r1*nQy-4RurT^bPfXvTIqyQ%~0jfq4?zFATJf2x5O`y_=Z>nic$5 z{%uBe<=1W2Jl7s^@-}SJjc-?4N2*YoGIF>8~+X&-<#ceb(O-i4zgcU~4Qij6ujSQb`RwdFS6 zQ{cyLAK>3x&UG{p=FgN-{1Y$JYkSxE|7S>I0vSwv^<*)(t!KN+YZ5VHgE@c70w>;0k1d}cZs zSNEj%6V=2ZQ&(BY6Snw{BwP}B>oZR6&HXMToX+`Qty|5T1TS&VKI|3u=GkqR`oV); x;LR&dHPg1$v)k209jZXK^EuyXJfW@YoQQ91;Cw>7fA;SwU(lTP1bLn(vXF+~`^MfYr(DReR z`LvTBGTfapUg=Au#r)g8BBHVxeqECN1F&unP0SBW@!yHyj*3Al-{Gj>qxqoRQ_Djz zG)l<|SdQA-_dj7{`+Yyz>l>V$oPePd%0tGZx8IHOZkJ5yU@8SaDC^!J-#*IQheXrT zey%>~b92c3O!sCi#)Z53?p#3KtZ=p>WGVB;sGE|j@nRGO8N$$a{nqg%ewB}M_s2Xx z_vv$Y*ND<_w@v9_p&-kPXb%2kL+gHYZC`}yKg$>UvVq;BiZ=X=3^`0f96U8a>hS*)f8 z&wVui#cPyKvcAsCaeKI<_{Wr$Hk$4_vy6xBGgsG@BaC|b)xXIL@;^)A+i1o!+ZN=* z^btm$*a37x0_p3aYSIkom@zA0@nf_9v6(l=*UVN>Ls-)5#lUO-F1N0V*R1ITU8JKF z!z!)4@FPb)MwW0gPb3@<xKprGmJ2*H zlkD=}Za(fVfQ5H?$}jie(#4!47}@6g%w=79fK!+MqXt{IcuvirwVW_Mle(Anos*Nk z$GF+;mb0>`D0Lytd_jjS;#L5lJ|_Wh|HA}n5&FEX|C{|k{Oz^Vs#%1pjj&93`<0%A z?=3gtyE6pG8*(QdM~n69#lGi34&nWOszb=szl|U9;?#_#R=$2mPXZSXriZKs%L6Z<#$EI>%NRhxN5S1 zWv4z)SzQ?rd+FOZ%m!T%7grb+i{Q4Vy7FX`U3~rIT(iG}?!*gqb&*%#ika z)=H3OO2~14y6BZFSJX2F+XIG;B3vBjs=J#CDtpMu$ok(K-LIo8A)$}dT*;M-3{(ek zNxIF7RqOVLx8TnuyuY-#4(UD!5iJia8{IK)l`(Ft8IvCv7{I77*8BRBX2EiCPLe&T z|54hLXa>onGlVfu>sp9_0O{YDj*GKHh`X0)!64}`a!U*DMrN4+AFK^5b<>k%WNW0G z`#A;aM|L(Rc5MR!lw?tvjb6UmbA{m+OwLNQeXL!QD;I@4obZEamiA?Ef=o8rx z5d%5#r1iG-uye!*ocea}oF#hWjmKZ4ZWa$US#`%LM9__1sa)Y0uaobpFh!P^h`zuC(Os9qc8RB2wQ?I_oWmG7b*Ch zpLTrCNNXKk{M*@NBLz~`HpdVSn0Wob(|P3J)uu8Bec|N9a@(59xVEK^3oW>&hL#<+ zv{;(=OLVsQ{rl#m5N+Z!tP5IV`to*nm6n#auU}su zhW8#hO*8JAkdXx<nn~uH=qc1!$#1&1wii84beD)1UrcbQz4D0G=8`JE!2d}!Cypo}U!RE#V;HC8ZB2Gmyz;E~x* z`gtTmO9K`rGrHNb@%HqwS(DH1Vmq(&O_JJ-)5QpL_%okzYz%NE&HXl zqeGQzOvGMbd`9%6r=j6)B7`YVN%$M>0_9f}wubWjVa!;zz+9O6zL|5WOR?YU&gA<( zG&4yjXNQdX6oDniLE9&4qq)~zZftv1-Mrl-QO#iPXlQ5vwM{-5ee&)bt*=$dLGW1Xr!4m* zM#7>|9+=^*q%2Wq!*k^DjU831>Z^#;K-&c|J^8XI{#HpwS;92E?6iZhj{?LpU z{GUgyjf`YQReQq>&x97{ZyM>AL?5}@*lvlLZ}MageP!6S_6b`g4<`S)J+C5VH&a@YA3zSWMtKT?_ZF)PUo3WyG{dbuae++^_-mc z$1{Da+a$N~)1S4Dg3H+NFS4}Dy{SWtGXvYL)A*?$k4`kXesZ8szb)LPCnL*F)TX0n zF!H1P*VmBR8{@lhp2qxtm+MS(7NW(M=2 zpS-!b7U_xZRDMx0vGT(;HM~P3VX{i+X;g zB_<55&!L_wyv(O=Hq}?ImjqmO5zxJ(yk$KpG>QeH{Et$a6?_3 zTvfANbe-DRkK0zE?CejkJYM8Uc*K5OzbDs?8#ng%_tiP#;RO|y+9jih^qX}b8T(hN zYKKp2*N=yI=>*cb(E85DHEyggsgLg%3KchAM#cORgKOiEt?-pA9}LP&>=K65IO2UD zMJeWutlK+T29D(MNUEbA>R?oEAS*`>lCplSh~(J>6N{tF%3Wpz4*i-{M)S+^#Mp$5 z#i{DnTM%tduD>Kj3Puz>y*#hc{|KgT6p_2`%k3kYGbXo0>;80OYe)BY|F3C~kwPKKz40Db98;-=n9qaL~bx-{q=S%j8G3Ct>1o$N^E!fX*^zm2@Rsh&kZiBy>7!eaT z>lxFC$K;epyOgrC$?&7TD2@KNNF`c6!#zwe5(lf)T9(on%>QjsX|S97P{+uFFp7)YY~CX zw768yBk`vBPcphf>jLfLV8#-b9b2K?D$miACsjYt^#!lTvU%1Gj#De+D26<#f|h2; zH3Hbb;BLS2-r9^Juk4$~UX>Q?5$6(xe^F$LnxB2Eu^OEz3ATo*{xeV3xU?&+1hS=c z`Z(%+onf9AKXO>10Q6Sq+f&8+Yy$G2qW`pg(n#x(v8T78XOQT@_KcbfF4Yi{^mo6@ z2Kc4KK%tLD?G@Hj7-k((t>S+iMBf$v+WBd@O!)`xs8r!06;p8S-cCM6MRJ0Sx9r_z z^E}VP9}~r+`fvsD)j^o1xPIv!E?R&aZe+Gs<5VGXg9ivyP?qKN^>$g!WxJ!bE6%4v zum;{X32><;~^X_oMUxx?e(<$S9 z#aP7Wub=64+}|F;SkZ-}x#P*TQU{hxSNm0v4F`RLOu1DGpqVqxTi&M^Ri-Nu-HjCK zb2_G24Q`~FOpAg2t(-A#_JY$g=i>uyPDg2vIp0#S68}eOznxXfx0bm5n2Y-rnT=sB zKgA$zWrN)>G^>iXK5O}j_tqa&bIW;|jlMKS)HDb9Tu^a}5H4>EvPP&5GdRGkmb86t z-K7EKisSn`&OhzObF$60+~>}#w!b_(54+F z`G{neVe^CTS8FtUtH+3`0MOJ2bq0@hq5Y1_>fY_YuwD1i^CrtsMGw(;JD(0v3s`ti zhU?LstdLdqyHz})o}X?8fx+|5{@yDXOeB+-T!|-oeb3o;IiD&`+A;aVBhTv%D-SXj$+RfTN@I>DRwXhi^c6#ofYiBB ze%fwZ7a8J8Wh2Db42M@FOv|9qeDov5W)3o{xK-yMD(0YiWOHCc0d(tw zM95l{wo&QGO85!Xw&~sJqxLxkgjTXk*NTJ2Fa5lcoT{57iuH{AQ)t3oq+MjS)jO!? zn_A)2Nf@_Y?n`D{y9eZs>UrrQvb=GkE2~wk%MA$m_L94Z=n$9fyV!PJ(i_*{v97(s zYG5#K-WuvWbCUS5m5!c1IWf^rIBjhWoR=4jm|>$u4mPy6~y5v~nqey6;)m;5u(4u>ofB_JMw0x~!_ai8)h+VWs-A z23e9shuF>Rh%4r7q(wd#-ag?0vGYvdK~Lf`*Es;Yy9Pxa zI9o)x%qLg5C3^HX1<*liFmta#?WR_2y8lFCK`U@YX^`by+|s=*elP)+V@a=7G^)SE z>4|vJB( z;fEvIIv-9Ct@lxoRDbPf5EIEyqH`zy=x0CRCe z-O@tqR;f_vs}iJ<=Met$a(D~Q`J$m0zl@GB2!mAWEYmS+ZqNG2-Dgo!+d!NxG_Em6 zfd{>kH8Tc;$g5{V)wdHH_tPgL;9}>~&<4A|t{xqu+e?WU_u4Q&fBb}jWJ=2_D!u%G z$qfc;1TMS_NscLRoN70KU}h>HANb5#WH7lSM_v|73rof=MvY(C*C)iApCiUNT`n-k zO-A#Xr$-N7|6N22T%;2;_i&*{KAM50x{b&321D;;N}itq>{jot1r-J4L6%G(|AH|N zG~EIX+Pc{J5W`E{OkVNlkP+zGH#uljPY{ggY6(2!&?HpF#0-+Nm8OU|)Id{oFb4+* z7iYmvU&)aBJ3Dv91;3AuI&IIHViHKG?#2ZC`;$quR8v*be*^tdF66niv~)1udcHee z?28%FF64D{N;H;Ff;JmF{gu)>mnawPQ+RQiW;rCvfLhRr{LuLUxeEL9QJqNQtTx;_ z`hI}cw@Dt5Z9%4S6+<+Sex)C>=Y(T=9H)5P3ngWi` z!|w^Nyef{oaWD@N)oOzWQymMrG4)t_Iwcd1y%0XPa`xv|LmEmTy%J3# z+_NtWg(eQSF(s--{u~CJ?Ww0hR8i}3C#_;y^gSS#gyG?LJ??B#d23x`NKE=C+GcF~1$t8=l6vr)P<~hn+tpVs<}YmfHn03gv0pPe zabPg(-MXFbV9oQrNeZCg+Nj$_De=|W!rQAJ&C1DqrfDLZsfj!WB$x&q421y~S5{JE zV+BYUE^ZfgMt8*m>g&a2FRITD)~x{7uU%79m25O`^@IFy45|+%wvf`86pVMMsi~*J z-(l7?-8rG>n|grQtme^7k;NQpz@}CR8aQSTKpIKge_Dg6c(XGqfNn&>dTCn?`%&ju z(2YF)BI*83FZTF4}jWF7e6 z?EOi*b5NT`(d`dLo4PHmhNf6Rs0z}kNHtp0((G)@+gnpvDoOhh&|-TW6%*x)b=ERj z9t6JCYk;$<{E+rKezw}yI%nRTa6O$T7+QbbzlMVZX9xf2l&5VH)`Q9Zqf}~}pQ!5( zshXj~t1Zy45xeU^AfMb4Cq=dNp8A0`0C0hCH8v>l-r+r95Ws3)VzgZ7e!n52!ua;= z>&KYCr$(ngj|tL`*(3CMffglAew-8v4Y}HYA(-k@j^@Vh6&lo*xFI5)2&H@*mu?Y# z23ITZ9Zep$9iSIyz#BF^2Yud@*ZFJj$nj$jH6X7=E8g=LPG=~a-pLXzOz|~6qjP2* zffdfWE2>5KyG>4m2(}i>BbseZQXbT>j=k?NMiUd5FjpVO0V z1z!*H@#mReiZ?4C>@7iVZR=TED>^th@bHu{F*dA|ENCHC>u5=ulr`+-NEcJ1wnaUD zSxJ49q&aeZsV&^5Wd}W*UDeCw!|Fr<}Zq8$ILt<4_|4C}u5|5Yl zL%QZHTkJxK<2%3WtOJx@S@Im-Pf*%L?Hjo3OQ-2zu2Jn*SS1r9kNaHW#`a0|uKU;G z8ssN43NJV>vof+SEG?&=j)>70vsUWYZi)ohx*DwJ)(y(eChKreL%7%8YQ1GZ*@eYy z*j*?smt%wv_ZEmwIy1A9Cks$UOPfq(008Oo=E&-K-qmu$u-bCj*8`KZLGm4;;;^a8 zm7RwGtw#xpmPKgVL%;W+NQ#%6QNUdKWYWwcR1hs+Y}zr!s_CW;^Gq1SW*9-uXe?0z zV*xL;E_hyK+p~J_UqXe9>}T|s-SUWr0K!zHrVOpWc(uiDu_E|~VFXF)Hd(%yr5IUJ zMpc`^toT&Bb)nwe+@R~%83diCbWrDeIvxk**RSu=aB5^db*rq848{Atxj3V$BNEI> zCycXWqPu*E82Cri@~EmRD1fyZ_VAP{=&>?=d*L1{)+)n2eW9B9#gy6G&I;`?a&`CgUdhmHZXq1 zfGhToekeIX2aebT>UB0w*)+n5&}-wZ#<`U<&pX1ZM_-W6KDmSA>k6Q)zdCOnbq6E1(6Seeqq49PctpO=n?|kAPs}%`q!WGp8qe}$yvv5ZJmKNRPHDzWjp$_h zn}MxkGRJ=cq!Sy2%fDtB0rp33&$f1?vZ?wUt%k!Gf8ppJF!;P_$$d&zcFK&fS3xT) z!!=K+Uo?Mn!NGfX<)vzt$GVAEizm5(^|$WNz5Sx2eSM`QedbrAZGC$l135L=v!2F2 z4e;@)b(YS}3lW%Mzp zh@%Ym6W)A#KD%kSyEZdFtCf^Ih&7@wko2Hn3XFkZ@Xuj@c-%-JK_^XIW(+o2<%`YA z&DE}V2!P^!lXKBN{yi>CL0(y+pO0r}HJv4sz@GQ=TAmeA&%8+kNy7iDUe?6;>a%29H66ar@p& z_FEeQUc0?QN*?-|)B89F-#m=Q2}<*f>f8!n%uglK*?@tpGVVX-PLz1^WM>@QYjBtk z&lFkhP1MLzV-{q09L&lzC`0SL%J%BNE9^f}>Z4Din+>a)${=Sl11D|o6t_waGCi2% z(>Q+V?Zu-?&}g>!*kH79Gs<&SP-pMjY8L=qD*)Qk!c+T#!m>NId8|InG008H(J zLnK$pQzTAzi{CD>arR7;8R#b4X;wOsbLT=N5P_7r_^xaTjGH8)Nn?^M5ZyNimXtFX1&fPt z)py8<#bk#chs}8?cn7S8E^&$b0g(D7qo+O|p5suTiI3Xcn>Xzo{#~Zhp1t;9#PjM^Va`!`Wpy)J0a(_2vcffH4a3Jg2Yg z#pW>FxZEtTvQjWF_b4$jaW?Qc`_kpB9c}0NBkQFI1Qv@#h}!B81P?ny6PgHFz896L z3)|qevjL>3aNP-tW!hta#}ty?S72io^>XJ`BKBb811EtHQw)zyj4<%{< zD=P7S?~%-{xmsd{mE9=Xp}Y}W`TeBsF#te}6?#4e9&tW-PdRE zy38_J6{K3}Yra=s80DaO^@B7z_`J`nQ6^f-F8T{nT2gYeclhACLXt;e*%DJ*WUrB-G`gNvN1MF53PgPabSf;p6HYy=WkKG-} zCoZJf_A15L_D zm%M8@^>DJakoK8Oo(AbkR~+oB^iHyZSqJB8&>XXBI+KF4v$N5ZA;c78*-5zjbSDdq z9=UP_A3{DKeBx?CBwW7Yd^Pb;Er6qw2#K^M5q*wd{~3Md>*F)~l3Yxz_WSqe04<7$ zmZA93o=*ALEW6T%p^RINS49gmkuMD6)pN_fIc&KMiwnm}@T((`G^Rn)_;T%~&tt1} zV*&Ces62(Ot*y!`-T*JoUnXYs%-Y#Euj%xtO7@QTO@vCBu4WP`Iio**|HJczm6gDi zp2X79KIQm)I#Q#j_uN`L9#Y~->=89WEUolDt5@Fof*ht*# z9Rz9{8EI?wn4prV{>wM?^NZtk-S>(V8G0JD6#pceXDS|FON*){Tpn`{QT^33*_$M< zeYq;G)qnB^K3|!+n*94?vhgRRkS>CQ>g($R^Bbb)0)CkI`5hvfffI%N(#;KU&Oe<- z_5Jfmt7J4vGT#UxdRJvb!jDD{;%nH^xx0n-?N(4wI6CqY6%~!DESv1<>FMa`n42prEG!%l{g&DQ%LT*U9}y4aRRFK>CeHCLhvDWR{81XM^lh%(%INb2`+#%v{u(ok1-ZF!kQ zo(&A%^8O31U8G;)4pC11wF+ltZ(ZlfPmfEgt91)TM5Ys*NxYN-opXUU7t@2ARu!USQ?r-{g+j%zReaDY0ERq{JG!B z$S>!!ng*sfIwH;t{Ru;PW3$C8O~>F?XN0PXdVW3(9P$WJI#pvgGOhtB{8Cs}YG`h= z`eTdcw|HDT_lLSN_=X4c?;xz#otJc8eGH2_@J?zA7)ms$_4PKMz9p|5`t9Xv&qC5m zjyMBa#}vxzYsTNN&igerHr;6q*oiy@0{Me?r(1)@ zMSH_dW%kO!dXo#yJBd`B9?9pe4p%je8II7oS1z#omdV@Eru^>2NCOPHE-qu|2jrM%nlrI_+_5uxC9Bf)z?OlwBSx-tdBVBh12tDKSDQrW z{gtmOfa_VOiz$4xRM0*VXo$+_Mb2@uR}VcvJa{KD(U{$0V3=T*d$dmt7%I6)<_**f zrx7dB<&IKOp|~pF{*^mXh07?acxv+Mzzr-PFfO(Z{&s(#jTu*fXdzXGfaJY{6Q|!O zncWg&MfkP3F0A1uBGPww~&Oak%nCozjET z!aX6O$_UWGWC0CLjER)r&RT3&AZL$cp)Pm#1d3Atl_i&X9u``RJ`}cnvW@z1FbuWo zbToSiTx2_a=@Wcr&nq01^PvBmcR1l+K|gV{^0B^+qr1z>`Y3MOD}Y3`Wz3^aEccTR zd^{GG-j0S*Z;KD!I;4v|Php#LTq|C@KG?#jrLl|uhE(n$sDfZcX`Oc-np1fNu8%DEJ~gL1T2w?a*wyAjwDr|yF6@45a@dtaXX7CdqUof4Jp~UOb~+_z*^0k$1GF$a zYBqo|9gFB`tw7xQY|W_Pw7Hqm=yx`tuI{zq*-#R=z2jAHx402>UsByq>4Ywm+ifjZ zR&d+GEd{|&JMDcq*3k}+uwA8K8`8A9?T}~`8#LarW;Irb5X<^5s;V zxx~E2f2rtA2YRV|DPy>XZR-BFV09H18o!?#v4*WEBS#14sx2$jT(q8qCrkCkVm9Mt zT3n33$INc~H%^e>kBC%;=5>1loPnG8cS0rwn4}=jD4`J7_2i*u{6cVneq*^%!3} zPge66uR?2ul}Xv*b?F5FwU~>4Iz8((;{DgFIyT`WkF(TxuB9nh%@5Z{SX=}}N^uVx zgP0|FjZf_l=}sXPV8jUyWO`W`ux*pYu)!0@g4}J}nvD5SM}hxt!ffcY?Y%u)rpMTz zXDHo_!7GjR;kUjX)WpHOgawq#B@bse9W1R5w)|<4=Qk9*i}!MYb1<4k4q%+Sm0P5J zVqS4&ai})D_%wu6uE8BkDlXd#1{<2)GU|(=2>6MM=F~3@7erBJo>~-c8Pq%r(eF}HdivwmJ%PZHu@}6etQw!W}ChTRv(q9mU*eH7iJYM+f8CG`JCEj2B zMaMvJ=?rJCq$#BE4OE<_akY7`BdeW=_o;?0cP=Bs1;4QOYLi1J#PBy2b~_PgTec*o2(X3rS-P)t%Y(bhETdxh*{s_Gr&dqH?iWqQc{m=FcgH>Jriwr;`r+k~!!E*p0P=C4R z1z=ntSSaQ;Lp^qC{j~hzX;ZQy_5OJInZQHKYFKT^{F~TH=X7Wv4$A|yco79QotqeK zjDUd?Bh5&&D4z;bUKwj23=rCfl$6c>K5e88evwl(vv+_F#vTEI)Q}@irYPtO|G~4r zR4r<3=)>7N=~z%x-&Q}2Pf2zXc8AGpXlffh%1S@yjGffD#4p7*I`s?e3);xft^d_I zAnwZ%a%WQk)W9EIWRz#f*8zpL1-WhI9&N1M=byC<7B+9K9qnPH=MY(-C=AJs3R6Lg z)&O#ECq{)qq3Z9Wo|jI)=dv%U55Rk5^ndmBiq#CP?H(Vp$&FBP4E)}xjE?m%wHuhq zjAi1@(#j+6kC!!D5rZf;(p*E9*M5G*?9tU+rdkxFZKq>@KMN_GaqCUC6#Z z=imHk%v(u&tv2%_M{4CRcq*_zOMSwWf5(UUPX>8Y4lv21X8hO^1D0-@Vu)E zI?FuRw`m-{wjDg-Jr%T5ntCkB5rlGYT?k;1a+q}8ZW#C-zlD+Up}o7D`YsSZ^A;#H zVE4=z425>>$x&_x-BQmEpqJThcZl@4}UwM7R zbI+rLR=t~wVr;7#3rBjp9%oI%be4{ZaHsgBbW);QrZl4T~4}g;~vqPqP=_#Mi=foLHzq?A%Ln z&~#`eP)NVHI`J@p#ZS7W+Q3PAynJd>^1;0Mnl6O*6E5e0q&T!L-9ffwwpA(Aphes6 zd#h6TT2%}#vip;3ZTN@o5-RqATO07bn_1GX>)+5Ha-5Imf~dmVq=LXy_J3)LAqFc92=#2dQ0GsiDz)RgU~9yu)7D}RW-V+YKRUxL8Hxlt>;$b zF0z?hQf@)8x#*4uKwvJ)=d?hbA=nAFN=n(#NbV%JAlI zQ00mKtKp;zo2;HBY2@JxNm#0{cLB21pR~&cIV3hjH9Z;Iz5)O!hvNzNds(kdK;<9` z?aQl6l(JxlkOW@2rDU{h$JZyaweKKG7VPR~uoPY}O6>r&AOyxG*!Qm4B- z4VuaMj}9ebdv5fq%1rUh$}51vwU4%yg;DTk^3daA?ezz**KZ2M%P<=eHioXKKHx5S zCi%C98Qm*u{Z_E4s0q6)W;Rn`vrP{{2k0Jn#b3fq16vzaUBVKxk9%#Z=niU=Yvy8l ztIegc3hZYSS-j&W+2eH|zO@`#bj=Zon0`~w=OFz)zn{l8vWCJ%$;QO)?Suc+!jiQ1 z%t3&77PcBuZ@+&QF+KJ1Zd_dQ2i8a6oGF<)@3VJKBkumeI6lFj%~hG)_B_T#Z4Foy zY5UEW7qEAbVot8GyhoUgz^q1O1fPbm_G(-md#d*@mPWl2%;tP^FxnHbI9_^T@B6uZmHx4>*K>M#mFG#`#7P)IDeGkOG%~H9;xr(nX8%V{W;srL7CL16 zGh$m-XSY-?@vgg2B}I&cZP`5kQYSAajbnv2Nnz%%=kHYem+H>&5x&tB3>#Mwk;+*! zJTF(q9ny}|Ad{9CGiYaNI;u@LfJ?gK4C?@SEnZ86Ms8uTKj}{U=)+(|?%9tdCHIGM zpwahVPFekar+S2|%tMlzmObo)gSMZwx~-pluO-!#urxjb+E`+)gm-0ADS+a}rPG}Z z=Dzv&kn?p9b||HS*Lz^xYiB#HY)Sk9HQGhJ2Et(4DYy3~Qxzz8K($lM73n~SYPag< zQ|NcPe@w?OEhSpWN6oyNcKd03NmLny^(%Qb*WiMdwwwQ8#gvq!obNN>pY1<2(DhLv zNu$6`)ut3C{z}H|Fg##xhp}I;5S%LbgV%D~zBL`Z#XLN#4x_GjoazPJyq7uat}NO| znLLc?FN_rl7CBxhXLQ&=LW3=dAH$eSW47iRt&gLnSEm#Yv`^I;9ssZ4@kf-D-)<^K zKn*;CkYq9{;2(WDY5le$mjI#T(3vqJsLE!PiP$_E_4oahFfNLs_Su8 z=*nEfzZwbFK?Y~el47G$KkR2#*i#D>GC-gP2~~_?>|O(KoeFy=mQtrgctE0}cJn$Q z_6udmgRS^E713~C0k5HT1B(Ee1~FF*)h=7Ip)gD_`0mfsR3YbT)#LSTsg3P>i^e-R z2h}Pury&%zm-93eBsnPY5fFGryjbr0ZcuRd$gC>2zPnk{x~p+m+F}4qS9+QpY^4O2LqeeKa*-Dp$M)}D zbn~z0-!G~$VV5L4{0_0GhcZOW>D0is^eT8;ok~~P3*Fediny6^MA#I1-pszzxZ26b zN2G{UJM^LfbdNlYfLfiOj5dbFl%C<lgI+H*n*rfmjRxZq1ie#La&S=l3?@ibg5(jrX(fPceI#)IRaDAyVn8)HdZt9=v1GP zDhpV4Fc7YFDzD_xoaqay1YYsEX#Cek7lo5u1d)u`Mk70Zyh4yIlCQuZ%^tg916iOEuXDT^Q=-ir6c{@Ra!%I=$qLY zEZNl5x(B*ykC_;7oLSA=INhLNba`pu{!cUt0RXsN%cAl8M?<=mTaR10!o&G8Cx05N zKy?f(1kXWh4GlwuK<|q@Y|Mj!cXy+PoNs=w6jN;Ey~}%+$KxQ}$jE^Qr^Y6BC5Ijsms>zUBGq99rxR@=c+}Nq}-hXyX^D?SAZ2K0I)9XX2GBMBItZB z#2J$ZY#50>(=hQD3?uAQv1Pfev;0nJra`%U&n9~t3ANP}QmNofDA#qMePbZ^FymZ$Fj?rg7b%<6;qodz|U zw$tQp4V&*zQi`LPvqX!Mx)9e753%UOfZ>j;2Lo5_M>OcqFrR}bR|r)XCL@$=)UouZ z9|pJnDdAJ=Djnh_wxP>4FU-+Fr#}PlA8~umZKnc(5BaxIoQ`Z==HlY`b!bBos4~xh*U-2n#h%Q$&Wp+3{moe~oRC}V$73mQQh2G)h2>0RHD8cwG0;2q7mum&vo7jVtim^F+wl+--kM*JRp~6XUU7V%l9!I&#=; zfMJ!nXMd=6P$5#>gM<6A`f$%c`Gq{FZQN+MN5e(RFvz1d7Djlg&1@HBo3TdPLYG%A zu_@+3aoFZqmrYed;fyf{GHJH?J}--~D!SK_tuP?=WQ7TWYBGx{Pew6YKWz}oZ&6`v z`6f>+sH{dS8g0ee9*4-51)W?r zKPQg1@B;1N?T6%@!E36Ffik?T!t-_S3%lNLB9$X1oqVtH$Evri;pY=gu?M3aR~8mV|4Xuvp})(S&uTd>-73 z%+0jveklPDjBE+6f{EDs;{$AB_C@kWfHVho10Xte{=H!^?1I?REpJGCta!$&#zI&O zs}U1D<``Pi98|Bbb!snpGX%+EVz~!&+RilcL_ONdV9qQdR_N%nSm9uQZAhwrov4R& z92H`r4AinwQS1 zpIv*04kC&CY@oSd?->(47}>mJ3h_={TcjRqDMaNLAQcgGo|%^=rAZZ&5kdR+_bXuv zDSv7KN-AYFXk&t({H$O|-P9j-oLp^fIraho00@Y2>=vIi1}DhYjkkW)vmND@C^n#& zSHq^9j)3f!=`t511BKQkEP5`2a$inAI#A?6-aUAjpJ00Cq(r&>5Jk|A zs%>*lR`W&z#D>pQtKMs;qF*vIiznJFGvi?0hL6F~MAAp~d@9EKwJ=fPw;a9mUtdeB z3fHC)6j@wEw<`||X~OkbU!I*c6bn^pK3t2?NSr;XtD(B(&MW0Ha~R(O={>F%*yx?% zILMUzcD`p1-5P^u7G#_}l;e-{Ep{iHkA84!#Fl*LX8ATp;T8)v!T!Ue>8DR6Y+&Nm z#P9~w^0UkAzQm!MN10dWu(22Z2Sx8x=|Q0AV4}v{jtz&W3gIY^h|D~3-+@!GZTEeW z2`pnkcXa3rS{}n{HUnX`M)x(|Qpx=2*8ojxfKH>+e<*`)(0E_?uxo<+qO-)&XW;~5 zm3R5BR^sYhXSul5>$p^_zasypxp$lLe#d)PXm%Vm`<>hNk6z^|=BPx>>e@RXXOYO7 z7{u9nO<1S>BrmJc%VM{PIJ&=uuU!Ln-Di%x9>&goU*OwytM6(UDPJ=+YHG?Gee6Ql zQQKkk4zmsje^UpUmRINX%}F|n1I8J}NY)!6uWFXDtEwQuy=0SG&%rk{m)Q9Di)jE{ z*b|#KC#kA?>Z=3ZhV~^I6S4tFhXG+_FfavhnG};lZyUpv5s`R4_7H!Gtx3V%LYRPpY!k*Y=}u& z>~9yGL#E=4`E2cDz0Y8K5?ImX@)xq&+!lU(o{P`Ua_9$Nn4yj=ogq!tX*E{Ii617rWW6$PP%(~jg-F%K_=IWDU zCnZr@M~Bk}HV%VprnmLadZPfHODP<6H8iNjd_lBID z|H9L=?a|9}5Y9tmucnq9%fTmS>&o&HEEfT)>;B+sT45_AzwkW#!PmQ#eg=UI1gI+&%0rj3wWA5|FdZgDnAk?YI) z-xJ+@3ulOOktLQ3c6SAzJ9IP@D~44gCZd{yhHYEBTR9yb`l0K(X(AaBkEn+^sKS4Q zbBkJ5cH7Rn86J!4nS4>)V}sp48^0sm_bLsBUQdzneNA`)`1m9IQ1@60lQ^^v9Ms1l zVj`-H@@`QS9Hd@18f_m`Q)9C}*{eUu6AWdYGP;1TvU8-gnN<=-4`~S(%}%ZV7kO_T z6=nA}jQTvbpa_Ua>ljE&Hz*9Cq_nhxba%%i3PVdv4oG+BFrajIcMmlT9RoA--Glo3 zz2EnqbmaNqmhb?vLKeeE)%%ne~x3AO^(BmWV1UKD=k8KAck?&M?B zkqr-J>?7G7SM$ZYc$4b}+kVSB=#=E!@uWs_-WF=H;j8jfa%`hj8U3zJ-pQMS^+(|5 zMu!R4t*!inSChg_4Pzy=8qi}{FgOc-I*3eQyT{MLVBYR}TL2_h@m&K9iu6As*TGHM zEp`RgFPAH8sl#_nk9=jUvYFo1mzZfwZ3YjY@;lkKyY@sG43VGnN#v0EpXL$RjMC0J zPCp}w6%p2zxAI23_7)#nH}W>WG0~9u@Se^?iwdc3w~87?St$i+qff6l&JBnBs%TWQ z9Trh2MHtRk4uNe_HCz_CJ64@loGn9iFYGYSYSqT&2?xKuheZoko}fzk*>p5xK*KtuCIC9Y-fk*Rg}pL>4~eXG6}+6 znJSDB=#k&|frizdbHpE`^h!$2Pxu6v>V{$0*9TjhnOX*z*E!3M$%D#=w@=?|NhLs{ zreZUzEOY&P>zK-*uIe9DV>e}Hy#_dVEEm(OpA*YS(cLyiW?^Z2bgWnRwbO_ETEBhe z>wZK+^%Stgn*LneUFG&>$-i+FsY{V0Po30=gS^&Ro)~1gP6dAAw!9pGRSZMQDxU{u zoUUK<9|F8F$CTC@bvyTo!*3v0Dic{fy)kRAYSOaUJkK+8g|$Ylg$JL21Pnx@-XPGnJOhYA-}H>~zQ25J~QMV8UZ4TyA0#+#XC%3!Jvp2orq- z0+Fuvo;b94>8!r@oN7A&C$k3|_k+J4etG2TY z5LhHZ3b3l6kNlRQ-EaoyJ#1`4oz!pNNk78Tz2Cx}8#ALW5rGvj?O@jFu&#om^|yF~ zB0eIq&bp9xhR$Tp;_VPAX{Ra{)tGjF<$5S@f4zO1sMnlnXuL98LGD?PGpASe>^^Qa zQ9zWczQwtAdH5>J3!!Z-uu~<{<6x>MgB=74CzV`9P{<_D9otTAnA&CrMmcmvdIzMh zFBLHrWmB=gl(+IQtU5_|fkE1&)R9r|`PmE+VBwMP_l7_0)Hdf4HaUZd^BLn zOTXq|wi}Qk3C^wDF3{nz9qdmcmmRgImYUPh*&@|ALo`vGhAC{g_3OI3SdS5hRTQ4T z9xJ+fCoti;9tD?s9a5`4b0dsEZ7Y;U_;_}DnV+BG=@+9i^;Saa{OHIeFIB^QMYg?~ z(>hj)j0B#U;*Y&7&a!+x@xSGH?Wx)ZM?V4QdEu}S8qwx46@!o-ss?5SXH5G$4L+|O zA!1XjuO~2^h|OZFIL@nnAUbw;r_tpw2Tgie3M&;3S-Te4UcTEE2nP2i+Udm#?3O4< z>*>7JP#RjlmNPaNBRKALE}NB6P`fE*CL>zFHo*Ym*hS`)(LlF(j6TYAklKfOImjF( zK5ddlP&4Ex%Ik`2*Ed<;NEM z7DjF=Z)6f14O5orN?hajj76e(de)HxnRK#!_>agT< ze2eLvsTLq5^%|%_fH#s8?Ri2cS*Ii7t1q5lNaYybkc_$ z&a>Go_c&zQY7eqMcTX8PVd$^T_++!eUMZbF41XpwW~1pLCv~ho5z*G#($*34ctwwn z(`_(m=}ytM$q==ur&)ybMyIH-x4_xYkSR{ucoAX2Rwk0pjQQWJ+QiYjKQS>j!pgz} z6?-Og?T$PR2!t_^YVGV$ZZiirD`UEplk0+EN{_Xq!R6AZGOI(+qbAe;=8dS z;jD8VBljUygJ8+A?$nn^r-UIoc#S|Q!#Wko`)*0`*yzcs zQ1z3Xt)UIh@ZEKawCg5t?u1b*Q_}}aOZ5`{AzdUQ%C(6U; z*f>8NM6E*96GWb)88>8dKODM^tAIdM?hOZ>>@N~dl;TdIPKgcsBs#1PP03V3XVX?V zlWgsO#rW>kb8@2Ohei)KkD=(x9o8Pz&FePkgm#+I##rA5JgAbj4x*H}(ody|& z48%E;*Ok{yK3#I#scDd2Ecb^MnjE=-30wauk*tC|Aw;tEY9>6dkTghtB*qdN2_>Vm z(0aY)#HC@WOA!^#>umxqFVV|y8~teS*u6DCln|A9Pim&Vu|i8B2r^EI+$g6ijpPD> zW;s>eXW6DT=|TE}#poLJoBdV!H?n>5N`ck!xuO~kR$3EJu?&s1o5+H+hFF@cts}kP zRQ`sRa4CuXN%?Yq@6YTZhMW!!#3uxsW;%N@D#uhV=knt|Tl@NCaikx5w=vt@Gzp4ajm>TsmSnt>uqq zh+2zubhFp#yfO2I>U=aLG~S*Lh(}?%VCh?WCP53TO{>d2Gwsh>n7!kN z9B+Hs?FfhPB}1}M{siPvhaY4-%p&X;MHI~Db){qyLq-w zZJa;b#YgrVU*6r^oGlfxUyztw)U_E_*IR-$r`oJmaBG0UtT7xi?-}+pSWyu`IAWVq z=K3H^xZ6O`;P%YSZ$q-Sut3-E0OCu3|J#CfI$g!S`1Ibw2pT{rtGG0*L z{QA4nCG{}cKN)iVCkOvOw=DnFmcMV$PK<1{w?9vk&r*|m9({{gqH6X}+Nu7+5rp}n z%k&-pCM)Y*7oi#FtnFLzBW8}WviWLxjsi({{D+oGPCW`h1v3tUzv1yx{Z@ujs#@M- z5Z5*F@}YGLE31vnYK;$EM+E3}H@FB-CA7z=Y6|(e>-PtD%>vuoU&BR8bJl}QhDqOr}igoFgR zuJzrlUuU_2Jf7`{{Tgjn-$$D1BS@#~wnm0`5kStSk`fFs@;(H?V)^gheNuK#J=F5J zfnjOVbQ7IiwU@BBu<(xUl56{80KTCm0xhagO&yY$M6&#h=QLpg)&MvTRxySA8GrY8 zJN-0UPB68++l${%qanw?-Xa5yU$R=-9xd{@B`U z1E!Fp>kdETSs(?RAR$_XVxvE=9O%N@($u7`m{$U=N@p}8(yae1#lhbqdU;AYH%2Xh z1|{xs{js$B=zdpyLhbuoKD_j!0`e~l_uaeyGS zitBbH6YjWR&ik0-S|9IOj{2VVg<*=v)fYd+qomG?rS0>>k(fWQ_Y{9{wTJE;IkqZR5L~xu z95k3PhilOj*>cF=e{cT<0(qhkmvC>!@Y7~F2sF95+PghD^S#DyM#>Nbir9&SWq#B4 z*NuXbp*BhAWZY(RJzbH4(O*bcaU0VmW&V0+MZ8_Tc|0qHxH?gmeyQL4!$;&{@Tb*D zINfmIYp?A-FbQkr_lfD!4^6e9a2Ty;?WX1u&-$@w(yU{;9kMpeiv=XU?QUjO`r5E% z4<0fmbDqJJ!?ayWm1H+odF=7WKifU_i(>z@2C_ws%UO7(M^vPy%2T3@ zXY(h$aofnK8!1V%MJQKG;=40FrelGrP#$%_1vicBLK#)+6d!$|Pf~!Fx>$^n0bv|U zHCU~%hH1w&i}i&3f9+wJn?ot5i%jvbEt-jvLQJGjjklLW^*3h^72c!5D>>8ld`3sr z-3&bnqN5DCy&iit{`8dEEUa?FWaOm6A19s3XWV8}T0g#*_;b|hvvt1*1yj7>G`f3H zOD?&yBF~((H4qYoHIPDAPnE_9$DJ+=xlbxg+GiJ@ny;$DWW#z7iKyL<4`W3Kbommz zPwmMIIq5q)g*O;JL=Xk<_RDsl}&NdTfn*uMKdJUh*-C@L_DjMxEcdDBs!A z3?~@OI6CLi$7v~*dA=bvS>Su{D6=FbfR%W zQp7iY!5)W7yS`9^9*~mypp##hfy806lbuV^^u8y5ye2PE z_jq2}FX$ydm;HtrxAx*0d$KCb=7DoB8lA3MY@#!a9}7*umA4o4SPMnQCdPRk0ck9t zqL$f!+(D7vEqv8M4UGbx_z;^8Bbb&IAmNe%qFb6l*_L|k#M@!a8z+v4M|ql76Rgqw^DBlE@mmz zpyH~GJogXV^mfkIzDTSOm~AG*<6ZlZ3C>oT-BLkQh1{{!5yJ=F890}jlYZd_QHP(x zI?;kWvD}W75E@R;PDg~3Jqp*WUj!vj# z@iH-S)@lElyV}ftg7Ip5F3x%FYhAhPUYIOOv^3vzmh*5d2=co7+msazYqX%qb3p)n zj_%%y<;XsTnUf9!@;7l3&4#mwLG)_Qlm-CcF4tbH}?drN05-|z9>?FGgg6F(NyT`Y2b(ELRqtBR-v zoCgNUX+%zn5PUnV&<-y{)$PClg_sV57Qy*rv3uZD+=(Ys=B$7=U`aU*l279Dvgvzj zox?7N?cp>KxZNCIPBT>_nv|4pOV)6$3=) z8K#HbPit2^t@__u));r zQ`V4=W*V{il+%J9HsV}juuvWR@$BarXVw!1Xu|Z0*?zJ!!N-F06xq-y$J6eIf8e9l z$Y|o_hON%JTz%et6hhUlq;~W)>z?&QN`x;+seWn3F}h+CW;80!krftVB{I%4HHoug zS{*Uu?8A+}&r0x`K>luOo-*YH<=Iuk@1H+EGAiSLuKWkdYZE#?<`&$Rhg~y#YxL)# zcG>?cJo|r68u$+_gK0MK?9s;uh{X?)%o_k_1IdPz!1q!M*ElNB9*c)=+N@PwD+g}y z)Iz+*S?zYAUaS?UFsiDkL;;eP<0EycRFyy_3c$OXIwr-R)Eg6Xe-SVC94P&&8|@&F z^fTqSNY9Bc(Wp%pib?7_QrR+i zs$Tfu;*6{t6p)PJBAs;XRpsLzB6`_Owfb1u>2;vp-kAGZDp9&wLzINqzKEGtRei1% z06v`WypY6GVh7e8uu&66WfRDwx3Q#GM4)|U!kdR~z0>ofa=kx?4FV8eIzu5-({YKrDg z76in|$T(a9RJx?@b0Oxz{iHJn%_=~HgZc!HEHf=Q6U~Ac3A}Q%_A4!HzqtvQChqzr z_oXo$Yh)k7o-dJx2tSB}TfbI~n=AeXu`Ns|l{MY{l&&9F47__;^lJ#Z;u%UokSXLH z$44_=I3KJ(Ufy=QdLdOFP)cV&UIW>2vI*98vDa1hasfTUXV$k$9p5-8(45}nNR%1) z-Ou#@tgU!-;M0$c-Oo@eP%$G5yph2nmU_d8Zh3T64ca#|xp8!wC<3L2aN>dWA@pMA zV}RaKpd^u_Qfn2jm-;qag_1Y~GP~*M0%vK)&%avoqTBiS6eS5sF!*>L>A)D>ixk;B zoOIvH1S-7D?oY$#&-R3B7N9z!YQ(|da^TnL8GfS*2VZpJnJ7(0(O9ltFq)?lo?44n zdipspu(CgvA$sF$1zH-Y{p*f^e8X*K5J)p8-58%E0?qMjl?;LXn=SKohXFtIwP(N9 zyevw(LOO%Mk!%si^Dqdn&i4CXoVZQtQ(~-0WnD-tX2i>NH&}l)q50ET00SJsJ||AMBf_un(7=(eVDY=rdycf+J@NotHsxNsQnA##Vkc zMgB5)I5bjR%&T9*p*vggF|w#e9=@;x$jYKFt9#!oz1Iy zWNPUte$opvzsdNEkwK*@L?oR_1?F)YN%MuGo}x*>qe7WCKS8=UOZ8+|8*gUXX2Rov5Q4&Ev(I8-wpY{ zQi>bioKHC&}lj98Da*1M+ALnF`Y0 z2fAA$LvIn_c`uq4umm{>NIYSbrrXf04Z;m1%4dyj-gaaGUjA6QAbl^bfmG$7!Q3I! z$B!S2>&Wa#NJ?%vXoio*#KgQE!xI?ozkb2*8DLj3s|bMT7NHC@>_2`?*DWF^&Kqg9 z!&8(4){VF1z~4*S6#h-AZ=WBcpTl*FlybB*EkvMf!xC4)IVzG8>zIN#%gX!yO~f04 zKwTdu@n3wr&C1%;@{oei4VcZ4DZs|3kan;cAU!frQVX|B0nr4Y+W3;XE7c7uP|FLs zxJ&>}d;ul5r~XX~PO!A^-vRa{YIVm^;xAi)Bo>xmpnu8sYxQS4HxHAA-77OPB+>@V zxQH2}HFNF}OJr}>$`*(~UEs8_T}V6rfN#JO_viiMHO~8Pa3}Ym8QKl}a{8Em(UF{PX$V#e$+=>>qifdTaJ)uVRiSNc@1rYMd|0pT<@7IJ}m6 zX%RR!V&PG>uzFQ_m<0qv2cKUJ2yx`F-_BOu4AlURGT!q}N*kwB*d$d($H^#6PFk}+ zXR>a*6uz;)O)bi9EH+)Eqopy>>KjArW(IVclJ#q~70RN?3YbX)ch z#y88sp|X5%=QJG}XM3zp&Y`*Pgi4lt;^7Z*0{;TNeXlq zptL)$@Pl&; z{^@u1Qhpf3A+6x|g%noljmm}^jLOve=^lbM2?vob*GUiq zMb)!rN-$VoR-h+6u{|`p9kj@PhkChS{9LW6z;#LTspe6k`+B>n_~K6cjWF-OF)Yf9 z@>~3IiP)CRPczqK_RbAEq>_Qv9rWIasOj}CoHRu4UPNuUL4Kq94C9B+;5WO#!I1to z`Y_soBYKfc~vPNX`~sp})CcB-PUTDb$Pn_H`aq$u~(D z(Y-q5YPguN1314)TUXP5)SJsx)6a0sC~e%|ua8&IJ-2=% zPd9p50k70l;kAE}a)kK(MLhT%#H!$qGiGn4 z$`fJE7vzPP9k_@)mB0GDjTfWV5`KZ%S%Pxp5GKlRJ8L4=>q`&;q9$wWrK-B$0IwS- zi`}0WXK-^qR4aoFTWVlS6~H8H95rp*)y~=Z|^nV7gd7l{*lw0DQPA zVRpkZcW7s+UmQVZhLw);;GvI_IhUjpZSkbAIA^K9+IFP_rGsWXb-g_dU`epHwm71M z!Dq>5TAvP=>j&L{Y&KT1M|DLrcZ~=0lCl&$+}6@xHS;+fJk*KiyrDn@bgwHN_tk!` z`$>p~FgII{LBFL)o$J1$)>Lw5n*6ugC+23Z16o&GjEIT(Rh7tgeJ856-Cbe)U`ITc z{z+`~%D!{VI)GIJcAO_R6@1=i{3Kb_<%~3JZnk7drOwSY+_Srs1SEM%~lyt6AB( zPM#jq13c-0G6@miP0{0C+sxLOZEo)wa_9Z-f%s7N%|iHfDI%Vn<}KuDDIO5>H?vYS z;$8r`Pr6&Y3tz`ISWMasm^j)Umwp6d2@A3_u`Uz$a%T7Z#c-u7tDbqd%A9Q`BcW>B zo>#=gE0CHwt(3__yAL@4`~6mbGSwuF)hzBBU7!BO&JP?#Xo;^XI^QppCy-t=X6~s% zYQanD44Ma~hfirSLsC>>WFoLi21Kg%>G2*2anRygtFHvem_Fv8co;T&HR62p&v;N2 zJWn5I)EB?EudtGp-%cFJ^}Xsnr-Befc_=isZBlXU(e1+U(A8cV(l<4s78Vjzwk8j+E`Kw*ku)3iCJq!5 z4P&B|c;YmTtZD&nxGKr<-WHZIm^(wXK9&P*q$-ooxcX+SWypJrzfQt0EpfCw69H|# zqC9Ppyb2w9jwJjFZWqhYMD2eo&;2M1*k3Opd`yhTWHiizlgyDxzNoLLhdf<_0u zG02%x)}li6P5Uf!BFh<#8D_iphh^6%{n}q z0hx$c^ID#|Rkb}fW-*QjAB3t6OeHWI*XnY*^ol#T*RE{lDU2kX%?Nyl4krh1dK)PV1tPu+yDDK$AKAuBB)5OAT_N9=iq zjGuKu_4camK=h`r8?1a^kN9HA3n;k}Q=|nFMb?7CCQ6mY$4=(?g-B9Xv(q{gaekH~ zV7P@8^kHL1GO}^;;rxvJy=%gr7J4SCkaiQX8D*r=T@|A;)&k$+Qb zTV0f2{C&uE)zf@*YbdO<2TBGrUfIxZ`&L6VOYFUdaxDVEn$kY80=hS98t|E2->&a)7T^#YeXbHpv=nuZMG*@(4^p<#|3xO221TLEUU zuy|c+Yik-OpMwINzMo=oGp@iFlXJVAX$#`?HHwrP!ED zEPK(>un=`Kh+O_|*UvFEOY45XoIEhpmYeTPpY{5Usip6d->Y5ezG`-3Q7w%TN0F?W zb6??Fetx2JzAVpnyPXhT>9pJ8q*Ee|`klIUYxmP;rr(D-MAgI5OK4V7!o+xJfocWv z!Lzw!O&I3!lC1J+X2tExW|4#bTA|+Wi9M&fS5!w!9!I8s=EmDjJ)wQ;HUXkvL?&>yzasRJ-?|y$5bZ&&D*Sv^C~v1 z@Z&ODjr>MvR0|Qj07~U>b2~0%_C9*40{LR6;J_j zReGRCzg#1`$$fkPWOp1zRn|E$^ya(HO^I=l&JBC5A_)+P)7nelg64*`G>@gZEsY^#yfQAEa&f$apma~fQb?mk&HEufkqn|o13+j<^^1bO*Ge)r7B@S0U zyHyFTZazP}E?UT|x3Nl-r`S6{_~Nzel#_uf;#&VKX~LMcP3&NgwH~$%5EthuiA9BZ zdk#Cgu0Ij6RQgnD`GQrtoa34O;(J_S8urIRWWF;VGf|{|ugZAVH=PYTL%r+P^%}N} zfkbA~=-$MwMKai8+ml2FZ(J}-;ReBJD`NW|p)_Aw< zG@|RXulU65yqIfE5^Lc%*3sv3F@=9s0`Zf+@8Sg;cJmI|8MQdQ@%zLl`=I0+>MH6h ze*MQe<76u;xL?IF5(0@b;!&SMQtY`jSnc$(GEVCrg%wQLF9ZPfs;{|PlDqp~Sa+Xx z{;~`Kk1wswT*&+QpZ`5UHjdc@)c_SN7+MFMG+)GW-aZ%80lX}i(D9={QG<4^I03R% z82xkmJrX<#wi=;fD|vO#=~da!_x&d2v|&^04yPXVZ({+H<5T}8MGlJ1QopB%2y_ZrIi&?$sy1Lk_>oap zAOD#1(+LTc10ZNn5ndy^S+L{!_;&1t!Ty|k?6IG*9Y@jnRj@cs8N~)g}9o?zB7XxgZ9AE&X?|9190xr!4)01$p>?` zZQfX~@2Lj)W=+;=bYoKqlp_K4V4sVu_v+XfuT0-rI%dg)z&PLJ_D}n_=>(0*;B91C7*sTRkiHQ%}VNkT+-dtZ1 zI^A+IVJ}ur!KQi!(UTbpDUZQd%}_^g0yB7c7tU>hodC{Zg^$-OS8T_)V^J%*amUl{ zVc#mJBXD|qP~0@X`lv$9ah19)4hHo`E!?E>7BAj*$8Ltzv4TYP;P$ySmS-FE<=gI7 zqose>AijijNz&EiP5{l{wIV4SMAPARkhgIzXG?;~Csy69#(Gn1puGx1h0JsBqitb< z&b?_IjysY*?k4A>%M>?1`cS{TA@%dF{HH4>HMi;A~)jJZUnD#KPD~tf07oIz&!3)c;0BiFC;AA-MkQt+XJtH-2!LE+ z)RfqIM4;q9oRAQ^J7p+kE^^(>H;JAH<9Mb)9KIdU;PK+%N5shW_`JA=m8v|MRwt3X zC&H69s4DC%J#BD(@viqV&+Bo5s=CwJO35JV-4nVt?KVBUSD}7@*mo5n+LuTh-Qcw~ z9&dB{Wo4ZWa=u-=d5%pjDG1Fm@cs*`e@Bf1Yxs3)S4;6%OD-~o_NTfEsRVx z#qQbCP?yqPQyaIfO@sg7eZLX8u~3|<<|hX0Hacv5-Z>?~4Vm+f_CjM$oZEr4QbJ_O z_RGmnHADJ(eeH+A0*AtWN4L$l_d4r*ji9GAn z%n|Ef4!{(Gvod_1M>?if563bIa8RU0P!XG=@e@qWOut{a>>0V-d(EwtSbNS*?zA=b59otb?w%I{jzM+;(KV)UN<9PYk?)8rH`Mn` zUS8`3V8b%MabIrwlhpN5p+=gq&M$KI&~Gp1&s(d^hjui{d+4R*2G~8R`q+9zJqz<& z0`c>Khu-JvqZ-nKHehn8+@UxjdpFDZga#{%PE>p_f~Gw;NyxinHLJ-f)P3zRK8AcV z^cZSerAv9Z=)xe($*%-%j<48u!BKn=j5i%(FY+&0*W6&eS3aat2wvdA-#{uZ?b{N0nu%t*6Dy|be!cV9~cYo*IsyKNX7 z<)iB&nw33_pwxgN+HaW{o?~A*a*5{J^&;HXZnwhy%no`PCxqZW4|9ikj#@z%d3Tn) z36S1*Y^OcqQxgBF99>4c+lswvM-6F~3~)&v+HrH8Rm3y5e?RgEYbZeYF1-Q2QV|d9 zZ%^)-OOu&vPL`AiXI+_aKNb)Sp-g%XitXE;bFBn5+ejHRU|9_?s^lhX1Ba4=8UT-; zmvksksVP#luFzhYIX>;qLExzjk0{O4(;n@Du!QF_ZJ|1k z_Gc&RT+j$MO#L$-`4~roHcVk=OV1f`9fj~HFs zYfF}B_sZksJ&k{Mwsfr=6TycJ_7`X3Iu4t51(*i6wFXigB{8b-sALUgJa_l%bX~Ra z<2U)yhYob0;RP{T+p6(76iGm=KF_)wH?Clo%(dfW-AKjU}UOFzBhWlpfntiIe zOGkl2P7L%0Ul9GG8K~gT*@NAp*127oY_yoEsmYp~h@NB>ryu1ARqVO7C$R!kkew>M13~dk{cc^bs$$K-A_Hq z)cW!5-x*SKk90tXE2qY6L9gR5{z=A7&qPo9ZG0iwpDHM`dPYx#UWQA`eaDM2s{)$+ z)1PAfz#3&S!&XkZ*n?1txSIxuj=g&E@A(=sW;_H%ueErL_7{zg=z_R6ANN%-ky}G6 z-1WmwK}@<2s7-~7%b%U<)SRU4QVnf5<_Ag7CdDz^MGxI5;yQ4_ywRPgV7J==gYnKZQTKgU)r#Yey|K1Eh;e{2 zCQU#+0XD5zj((X?p|re+Wm6l2rFh`z8#?%O&kE+mP0NZjwFFH~q8vipHo}%DLj`g0 zeP8EMjg3A+ZVERDWX%^GCGSU@8NZu{6^*Dv(k+`pp-fsa9#m(GX-N$l*ol88p=#bc zQzIb##M4Dm;j-9shNe+;172{Ml$0WfS9q7-(P{*H#I{EKtVL?Wa;t}_a-#{&Lt_m; zCH|n#?>4f3ym9BU#cZ834_j#741qq2RnKib1&TBD`O^gGY#kSB1A*-cyFu!?JQNqF zpr`RBvef}kio|>2dLCc(7%=xSivcQdOnX*ahH1YC$Uvu;ZB?X-&ulD1@b*=$&_Hd& zCe)$wHQ5B)Dr((Ikue5P=X{hDU9dpO`C%(OtjOPTf2zpR$|fw?UJosS3(^wFgK|hc zID90Wb)LJLp?dTFh;UeDX#VN_=cC?ZOm|6*p2Ho~C=*}5i|}l$HF447xB33F=du6X z#7IscrXww6&X46fuF`O>LS70$7as-3@)XyVsx~F4Rc2C2`<{J^DaMWYZcZ$NR**uw zohje!Shlr?sZ6l&YS8ex7;+R6_RKPgngJYuuvg#{v88yoR;Xvz}u!En^{U8$0)YXD=eI%RN5*;B#fM z$?=ymb&exWiiud=B)*Kz0J+0j#m&F_46UbTU4$Pwht^D`fbf={>WN__+-I`_WNGZB zvbWtMgBZIFFBZaFRq(&%In8F)M$U|JO{DJ9X0U72A8G4x>EHy|%jfpdIi~$;Rqx|q za-q3ZIA_UW>?rCfX7KBMeFKG+z9OOC^AgO#=weLh`_q|$^X%mVa!oj1c{qt3uUV=^ zpeDlEKz0s?d$*-172YOV{zeCG;9pGwE9CJCBLP^V);P85LzIJS$cW+G~o8J@)b(AgOJc141KpN zPoD)`b3u3LemWf8$iyZh;1aE8Yl)((YywhmgY$&$FOqG7WxX5&Iny#MM%O=@aDdq{5)&l(Ow zi)r7vK_TrZI!Y$>)&dO~fJICXVc!A#V0=hnBEI5LSNybg*y<{?x0~7U-V7&)bKhNJ z^U>PNqZA(ss`E1)_l8X4U_;<1qBu%==OQ8cASx00$a;zftw?U$T>$k&``nDpCN~*m z+$?1G^K-G0fZgB+?u&x^$f-(qj zVUZVCE|Bz}ESqfKaZZJT-_j$UWWolH^dpE>(yU3fv{YM1blb2Dt0c;}sZxLmB@bhB>Hq2tU z%BFvpUD0feyr|ntXLH?FZuw_;v_<8JiNj9Pzjh3F>6eu2>+c6k8c0ZdQBWIn(tTI& zu5Zi9@B#pX)n9;i>ZWH>gm}ucyD)dB+x4{Tt8wz0``!{!eg3-Mqt5ZGY<=5#5M*~H z(QMcAb?&nOy-)|Q2Dejk_e~yRXYctj&X0%J^^)%ruj7Tb;xxMa`c^f+)(zfj6Is!f zIC^yQ$(q7uA$q4G=pLd)7}`*>ax#+nx;rjO18UKl>LK1c197}d5@e@|$-67F}0(aUccjbmQc-`72pRVNWE883 zWD5eC`GEvdEx~3AH{pS??|{1HX;kh3mXEP}np-w1SFcfBw9E zp;$1fcN6~gSFf>DUie-~xPl-fW{2nhOu9b;22&m4GAk;K`p)ZfQES>mx4yaZs_3nF ziS+XF^4eMfzG~(7?;p110(Dc6*&`c2e*Bo9mme7!$;il}U7(aR=`MlqWdtzqR86her~r45p_fH@mM?59mOTizlKK_rS7liv zNqR^$0GLaK0lx;)d%|`G{CiP!{~goq@+)u;|9GD4U+!fe_5T2u|L;|9@%CNaxtWtg zDm$yT&SQp-f;lAjy^=;|8=d42f7T7L=JQhAII%jE0!j5HbG$?#@mmUC=0`Kj^?Q3h z1XB#q=VM=HXPTove-0!iQ}<)0KZe#l&rEM4zm1yKFDcDGIOZV(gk&4_@@<%o4q<9& z{|WSISFLl^{lM(&$D0O%Si>~)dm(B|r|wtQ2+uMn>*Awm={Le=E7Y5K(D$({r7dwYfoKLJ?f0Nv-bavmHuuWE)n$tY<^!+L zq~b3gEmg((1G#vPcUqQZHGxM3lZyS%`tX)Ue4z>N+-JkxjF)J3GaHNdB>UNeH5v=i zto||XAmrd-7U;AD)9Oy{6OBIXk{><4C-TU3zC{jI*k0;dpC?nvx6*c5FwjU;aA!Q8 zpai~W?z;r(P{<_Ygh0~k_|CgCdDZio>)i()V-!598S})RtYUGmb7$l0JEqn808(&K zXab~FKvu-j($gSD03*uO>f@dgE7Q6!vxdNJeFI<0tt_md>TyQ!RMvo;1{DsG>3gFr zb;Hx1y=>RK&vrBWi(hEHQk;qUPS+qfn_<0|SPxR#UCIpc?~%F#S!-=|?wTo?e6i{k zsoG4+MQ-JK+`|F@)Ohq@^llDc@xpr?14gX0)R*Mh5kG8GAsruci7zR+XDLcKfBy}P zEn0d-^p!o!W~wU6lF{PDM`joShsS`o<}JUKPbe%~H>$>vNk$6RSOer*Ex$w&tpV81#+Nod;SV3*s`+{gmm zaz7Dmg_RAmjd;c6AIKbjGAbdb?O>su(hK#hT3RgGYQM>FlX8DGL#DoTO51inIY_vk zOBnX*jl`5?|4ykdlzHY+vTh&I^G#f7YH>#aK-lnQo<|uLtD#yIdwL5;5Koh_dR`ak zXK?kDXFnrTx!@{7=A+3+=nDqsN?Nw!;IK{F!bqkX8h>2&y3e{3>=~RlKO`uF zshzYU#ZuXCE}YaO;1IF)k^$Fh{s?i_@Q)j5|*hBm6f%_h1u6L=Ef~Uz`$YM zID~g90>wu!SMHlCBeCr44d!F2)HH*^)dp%FuJ1HJS zdSi68BX&P{Rj}K-H06;kW#_OXcvqREQzVP-+v=F#9-%+B6y-8nj>I_@jVR@Rju2p#$OJ>NCtCoQ*ITSbG;XZuUl(L3l%UkdX3jES}1<_0(o80 z#9$_oV_uqiXW%L&IwWW^c8J%~YP^L`CNfzzWTNcx+46)=Uaz_{`{%%CD#mPlQ^otG zO=cplHc)wT0S>jIN(jRT?Bz~$$Q&8}a~@{v zIb%5l0+#jSF#PrkY|%FAb_BkDu$?9fTfndpt&=D>ReJs}>fSplswUbO#LpZMK?Ieg zC^;!P2LVM8P;zQea?U|Aib?~LbIv)(2AZIfLz9~vCDSx5v7w=1P9x}dXYO0`?p^P_ zSyRhDq)(lyI#s)>_WtcuwVJHV-%9)VaTmEo@1VB(Lpu{On~B=N3yQB_8fIL$5xu{M z^)9~?c^KwX>9MR2QtAjTVpM6ON1ODR-&q7|0xDS$(k35oo9!+>bndr2y$8 zvI_3hQ8YZ!iJvTI%Z;D_2RX_aqZ7+T+)v-As^i>l5nhewpLtbXr?-9PLyNcf&^4n> z18Mljc7EoP@)1G;tkE23cskH;__nnW&3s44KgQmc;b|JeV<(2nCv|@PwhTY%i0Q;` z{^aMPy}5T@eyPS4W68;)r`!bJX`{W}697YjwB^k;=Z*sc0H78)7Xdy(yNKXgKW~Dv zBeZeBwgQdwY{HdqYyjut<>l3#AWm@;3OBVtEeyWSgV&{D_EZsHdwY9yZk_aTym0l6&<9f} z$5h{B(9QEo#5D9$;vG1{30xVTx90u$k<+jLs4m3&Bc}&3r&)zYR$1-|TX#}}!h1kH z18zF*dWY+f#`xy7Yx#wRmMGSlkvleP&D()tRBN zFY^t-h5+0ykacIL!?M&NoyyL?6ii}&6->2%tGx7GTgQ9$-(#^v&8mua&;O;K ze=q89FCE;_|MMXv?F~S)8Rz#u{2>r8GS!u9f4RL0Ud@W%URt=u zd!=FI=Z)D^C-_->&fyFdam6y&0rfIY2E`^2J89|U%68T;KanR`S-t`NhD|lNVa?bP z3No!|V8*edxN;b;Q2_kJgRo>IjL23>Rp2pAnziNKJT7n2DFykYF+O;Z{I7Ks7Zvqt zeB)5It^#!!Ly{ki!;U&{r@H(Dk81@D zi>Adqx`L$#;u8U02&=2B0Jr|(!-shMvql{TObeQRx<1v~_*II4Ys(&{@x$((v$ zkG4Wa0PLDTHbYj9K~dM=|&o97aZl`iHNCT$ov%k zcsw!)tz}%e?!{pD!*+PBdze6$^3k-ppcb|6U3Le*hfWKHwTr5$$gp_!nx9E40<79| zC7jrGc?u7Y(T?-GX0ObpNqLOkXl=xzortx2luc!gjjgXYjLXQF7rIPee$2M!zUePp zT^Wn=EA$u6cRh|a7Vqnp66K^NOjm;=!`y8I`tPeosr-kbp18VRP&4+rs>#e0d0zlfapOKo9SKN zhFP*-E#En=r1Y3>qI*Z4hUq#~%xUQ9R}n90n(ED8B4ACWWg@zJ z>w%wcSv+%%l5V%aoBPRxCH~;b@*Pu93s;TXxp*bBZUWF=_xmLO* zky}n~&LnS6*&FNYz_M2tdmrA6$UU?nB~ z;Uao6J6dj|P>e08NE|6=X2RCV4zKFj7|-R3Q&X=B4|sCXz3nNj-~$q=MMh(`vQfvS zw(@zq7}KAqK$Z>A5v0Z zNk~hZQGQ=1&MK(wWAB2N`S*Vb==V5IkUcpR@bK)-AzHm|Pp~j=qNn@qE2XXz z?Y0SxV19JFky-t2K*WOpm59wYuhrNPXd+KR=h~UFcKGx zdHiHe?vE8>Snp*8A0QG9vHA2YuzP#oDSjENED+*n6qEMonoznmQ(Xzr8M^(0EYws$ zU4W@jFi?xXy6BaJ#Q5lgp}fkYVx))$@4H`kJ5Hm+%lM~v-?wRiQ0%V%!z?^ms^A@zC4H6kRR2PvFev?3D0tg$Cr&X;SFg%xI zC(zyxtPrC!e+@;!prMyO;9QVg4Sl2PSeab9YlagyG43Jak3M>{O#?CJ8Xu#d4RwH= zeTI&AqD@}g&Q_OEQ*&RvLueC8oWN4<2c`!x4jnrb$fjdNF$b3)>u%B$mPAAht_u&1 zPRN;*zvN3-MYUP4OmJlOSEJG;n>a1Mzfwo959L`P9TV6X$?gn+=4-m2oF1+-o|dD@ z>Q~o<-~PCw=U@W)CHzk4hD*S6{fQsMW-HY{{UdAt0fLn_$6M9k8Q9i2Qu16if9ahk z{zx}GzK9#yRt_R2ETNpP8WNlr!Bk+@;YJMy-*?-7og=$uThB%x&zIg{I7|s`x)JEO zP$;Bql}KX-&t;xW;84uGzv~{KXyKo5)OMcGS*LI!K2OHY_K?eJ0Ctx#l1Znthj?C9 zd*76tT>TB}tose;@teZ}g~e4`67hGU^6AQW?l_OptEyg-*kKM%rP}J^a*d=I^1Eg< zH_pXxV!c~--c&eYs>a?y4oIBpOx>uE=xW`68Fyw%9TO~_1sKpl(BkymM^^<@tPfXdkKBX=p#`LQ{e;2 zUEfxoHqQ6AyC>e*o*CPrZUk}~o}gxZml^#&eR6yX{$#A2dV%a26s!~(?&5eDso~e8 z;7~fhguVQ-8=ch^`B*W(EhT!S9-ejdrg!FftcPM!Jf)rRTw{Q1vPh~7W51sGj{Sz1&^YQ)B!0&2+nTT5pP^+i~H1p#-rGvFS}`$b9Y~w?L}Q%~7GFYpP(?(>nk8X(EB6uMFreU51bF zfxc>pO5V;_?ZcklwRIF?ssg^`X7)DqA zL~?xewX%u=n=>n0M-PC<6lA@0Z8taLjow<&wLWFVW$^^Z{`mRvn_qC#*M;B*(kPX3s%BvGYnf+G$T@( zC>dWRmkFti&dfCB{8_A8P4hbKsZ}0GA)zd8N=q9;GZDVM*Ogbml&q@N(79B!YZj1A zuPAv`FEbo{;(!gvug5v#uIG@+i0IEER900j>B04BtvA=l*5pkU6*j|DCeH(5MyQ0J z@EKUf7cTP1qAW3fx;=8MVPqoG(@rm&7V;y-=6u@g6I3k(Q&4=29!=SMglRurR|~nb z_!iGsFJQmmoAPFFCvMJfOKt5ss8`aGO3*UL3MeQZuy`KyLn4_cRbFqsYkp_eKC5iS zqK+AIw41wrxha~F6_nA_oN)E!(^w{*#@mT*)=K)>l?xdJRj$E8JpMx*Zvo07vgWi?k#MU5WZVrkZ_E_>cuf0#ZUgHpCwYw%#VYB@)JSAg%O5iOJX&13k zB-{t{6g1e}M?<0|g?LNjGTyq+@A0KU;SITVJ$D({q@sCV0MRA&3nn6*B0eXIY$Nv( z%bIRB!q#j7W zIYgW!NcWK16X6qp@u2t9kVrR^XoyaxS_oH{5OMQ*nJc%px2$sqyY5GDBl0Ni=c5`# z^Ol%IljG4$NSUK=3}4BxFVbuo=Y5SU6W1)OlhrABP%#X3%^s$9-nYuO=Qn5*gt ziE>LQ#(Ljc*>DKO($K$RqRV(H+vRRIXMmorZ_6Fl9Eq)SH0xpuyIndxeVfp%#@@Cw zgJqsWR{> z1GB(L-WsTNUyyCo-VF}rD>OXQm?e9^`TWIkb8g=`sEI&>6W@-CB-?M0rG^Lsp5;f{o z0r6ce#!r-5xu035X1-(b=J#~t4L2Ke#=?x;6gqT1F8=x@5E@E*FQCP&yIhS~6XF3< z+D4JppN(pU#ZNH|qhw1Kh?K6(o{tmm^aG3_{aFjMFD_Oc4It@^eIIB^?u z-iJ#5p7)K&4~<;w{B?=&<~K!_?gZ6VP-{9TLY;NWh4kd(T5b>lm<1TR!reKs~?q~a z;^w!@x)mBA)+mBMA&T98EZ72m2Hq+Dse7AvB0B5F+;?mE$(2unqnz~FuwYv~VHu%9 zrlsyYs>f)f$O^qknH3Dkc`8B%quyLy%~$Uma`%k?rRHKsbG$RQwxquk zhi<*$7upb)5k)JNzV@oczepckTk3*&EgQ!4%thACzE3E%`jNzTUzh?_-HVT3U9JYk zl+!!JU%2NzzB+q)0wp(YG$il$ZImPc_QJgXim)NJHB_Uq=eoK{Fp=^&#g?i z-3HT!x=3at&faI8&4POGCuSMi`kdv&!>(|aJh>vU-&g5&0} zY`YM%nhYL z5raO0WU(CqMrKE7x;}if3m1Lw>e11(aNnh#DjG7ac7FI= z(O$=WU}JezOCGqlsl{T0laoW;JGnV6ngsP%(>7w05j8j;L|mEZIAkzRb2PS0~^PWpl{4>tT+xgGB|M++C7Fxw3u7+dt)y?Dh?Uu_Tn!lEf*mod3 z@|=8f`RW+4uxgs>@mk-dTGi4lr_bfe7O79o5%mlzc4 zkC7LH_!FmpbxDcmbsV`Kj}MS~_ATa}GG|`gZ#nP77CD3&8~`SICpr@r2wBrCE9%oJ zQg!?3-uJMxUd^uJOw}?o^jCfJ%kTdaCj5V&e&@f`@RADx_&UF7xC7b#R^Ld*`p(VJ@0S}Tz}DwMVC+-^tyFY8w87jU?l zrbH6}L!=g??su81bPYBM-&xv1#fREw(I>d>s!(X{&Q|(UpX2uy&fd^>PfnGR%3gQd z{o<)KeTQO5QqiV;z4IjSAkdqarvLOsSR*QcNhoYufLrdSA)Ja$Xm8^{vx^!BS%)tv zq|=&NGP)h6CgEQX5e>NTNhFTDaK4p%{M$K<*YyLQ!jAmcahbxgwud@6UnHr9ror?n z*=rX}%5yK1v?#gO<0BY!+-lRZStw64PvBWzJtE<3-9bcn9>TPoEtM1`hK7C^8WLNo z$5C)_Fh5JL){*qv#oCR|;tlLwA0?+oYtqL>FvCXOCb|Id+4io! z81@4HYw(XTQ9k>T)TJ-JU@3JKjBA`mM-1HiCyE&+Vx(lNvhay!%KfZzfc zBmoPnF~39a(HGarRja2QDznX{A&Gw^^Ik^axR1Nka`#&0pe0k`iW#ARR%vNb-mBLW z^Lwl3Q45_n2npLqi`nTcr*18L>)&3hDdm`-f7%I`Ax_}eOM)8(lkaOc-RhIM))PLl zEPguPZw2y`Q`fWaJmt-_JKFHxd44S@k$<1=%^J|@Q{Z;Nb)mAH*+qjbf-Gr;=d!-MRVy{p z%1UZ+Usql|dJY#f1;2U3H68=qz2}NfUTy=gr|^de7zSdUj@qdz7v>ohHYP)4f&v=Y zHur?R>uWzLo;w|E@LH}`v5lY767 zC0Exdl7bdi>NG18`4yG=k`2lXhDqaUghDrU#M6ITyU1K7IO8}hS4Z;uM(_qgZTW?>qI++Cvyf=Msru58Cvx` zxh?jcm+{Fxa#>MJ>07VPU%fRT`iyR+b5*-Rq()#x>vj6~^=}8tM&I?C6(bosN3`B8io=Q!IWFO<%MTfGi(nHgG|xPFowq#}|>Eg@vj zpN!&6k7h0z+!cdPCay68e|Q}+0`Gz#U!JAtpID=lDbW-6JD8Q87`0&Xl&;3!Y5p;O z3{(wfp0!qcqp;wlhii2DWrR-V9m$uDIQQ17lnpYRr@VEu!k@(5c-xBq-N~OQ7TdD3 zQfYuz?rAVX4`6px-PM8CaYYKm^SW27bbWGFwg)ulpYM?mgdk%o+K>dE{i0w|dksKs zKVN9Es@iPGhpG|+zgmN;Kb$~s6Va5;^C3Eix}!2|*p`J3zpqtV>TGq}asB-|hkLDC zVIUl8VJ*}f3KG>-G0*p)7un2!I8IJv#7UCmPnHbs^o?)!*8W3CXeGOk?PS#7&z#)a zlGN9B*r~-7l*qQ~bvP-J@=HogL`Ys&eVLAKo=nt`pDlN@X#gpe@*ffPg>(;eh}cIs zLZ#PMOLqJ_ox-0Fp_qY?T6oit1OX>jjqQdGzme$8gdC5+WU z`A6ZnLt@zbs4mTU|8Wj;thy3snQ`7YpT*JU$ouc&VFbi5X2w|c6-N?Q1~x)>_|mt89%ixvH{ z)YNfN?(-z7axa(mBHJnr)P)(QHK88rlJf(L22|AvbL-3e1+`nN5nNM;?UU2zst#wL zt;9lI?v2L)lM$Mgvw|>6R3937&(Fg{$HSAAk}?}(6zL)eYcIs{NL6y%sAP5EE0j=$ zg;OAq5Q@memYQU~CVk&tOZ3oSi$)g#3lM_**p3CNd!?J2nz~?Cvf^Uvh21gR96ihy zrWpRwJ16rVbVSZc8ik^VVUp>`;!=-Rb>7;gy(qOMu_xQ&MmwZjtS+Q{?507GkV?xgbXY|nOpG~v>IS}}eR$-3O->HO$@aw?CSw`B`1q}X0SqJ)rHs<1 zrM5&v){Upiw;T82Te*2la4V!6)eJ;i_g#p2KICEr@yWPTtM@ymGeaXHfT(|t%8dKkf@s5?$;8bA zJro95VbO*qYhI%L&p6MxWhVe{yMJF!J0b&Phd2`xMX#NN4F#U#;XO_lK^x0u!h`M< z$T^eP@;b!!evg#2J?vvv%TxBRu5Ime!eUR3J8SQLP9Tkw%t=jA&j?1b zvUhhschr67!hz7nY8u{Xx;j}@8QwCeGoD5 z|8Eg5Q;Pxu2hrk+iqC=ffL}y^DzF*{ZksK7f=<={UPm8y zah>AIfB!D~FI{~9$17`;USFm`*VB=ZRMw&qe(oSWMN&Z#BZ(zCCwOdttE9vi*#7=p zVGuOop5{YD*fL+JD{A0+R@+oSLxJgGy(Mm=;)>;C22xJ>y0YShbOF@jvr*OCB2%TP z9o1ok#%JpCE2lggRo)O3ZNy)+HVt>~sF=lKDG?EBw-l-bjcJowszJ}QTB z4LJCwP0mlDo9bd*c|zGwfx>TG;kp8`SrhS2oBr2wLc-9K+&0mi+}jQcm1bV=>)i`} z{QR62NeAJdjP z-<(396>!+n1$Kvju#isedER{(gdP!=k zt|w}8+`0Rre4&({ET~-8=ha;rS0=OicV|jJQLCKWoCI-COlN$73{W)wxOx8(mn990 zuzYHn?P37UTdSvA7us5N#iuqBEFcw(n2a@%0A@|d2$Mdcb&sZXsy;rU|8#_2ybJ^U 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 Vw8J(-3V+!klA^L;n6Td0{|6$Xy^;U` literal 0 HcmV?d00001 diff --git a/docs/screenshots/provider-model-mapping.png b/docs/screenshots/provider-model-mapping.png new file mode 100644 index 0000000000000000000000000000000000000000..4013bea528ff7c1ee9dde0c638696b3c8ac870ae GIT binary patch literal 174697 zcmce;2T+q+_cw|S&k=a{DZS7>Nx zuBkl%>(bC%_MxGV!4jfUoL8a41Eec#Vp zvjJua*3{D-hF<9l7p~eS#7C%({CxJ{+EA-fZ2jVGq`08D(C|$4R7p))eT|K(k49}M zX!fZf!ca&8qN&NqbMBfN81U#E!>jWxT`ae-qz;<%=NJEYL-tn;+^<`0D%-3tJGQYY zkuu7hE;2tpI6ot5*r#yLtYu_|k;Zv3XhNJ|(Ny@;(RXh)F6>NNNnXw4|pu zJO`LNu;UFJanTO6rt!J7iOo10%zxUvq)PYI-`C}zE3I18hb2c8)@~-YcT90#i8oFT z|G~X7ee?95&{OT`0J&p|Gd1M$@BXjgcRzpr3gm40tHaOU zI33+TpmtZ_i9J4L=>W_kL?gt7(YKRqJaWyqe`t>jqQ&BhUdp{!;;X%%1mY&+__Os8QJ2)?6WiPK{}jIXQ0&XW zHOTq7uz%>jYM7jMX`U^Ph`pm)Ev^GvClhq5X#Qf*(C9*}$p$%?`z% zlx2^M8F2ZBl!iDcb?hX7U(y+0f!%w7lBvCY|D#N2 zoh33m&6HZof{xFGggc>lQz?7JWldAkBnFyS@BcPa2`YhqI(MewroCnVFlVD@5{XiY z!fqBh33;R#r?kF|8)&}AB5CXw)9e)mN0rw1Mly>)>s&1n-`%v7S)%mvwQ!Up+r9pT zkr7S>{}G9*GnuFES?%c^pJ}GV3vBN{8eUk4l9BmG$v>osk#N&SFpE8QhZ}ZUYMK%R znZH=<`wP!__@{lzeUS2Wa}3eY#)lx+HN&`QjhkU(qREM6)-{!JtxN4EvANpX2KKm; zA_dO!=!Bz*iWjiv!^L53kW(v+P0YI_KKn)UmoEmHL1SlPWf8OGjEVuVa)pGry5?)8 z*SJiN!B@}I%o{#87b~*7DR%ZsSCS}eRR3slOO5?-yPY_8b@dc;dV)cGRvU#+Hm<&Z zgWb(PHHi9z(2V=|+-%<_BA_cVES_4M?ZS!TOC5&NEApm~+{ z_{)dQzpZG`IKn$@j+bGOFr(3q6PBoU;^sJJ(caj^1dZJ18dt;*u#1ZXz}CNf|4NK` zmLY0k-sX567N3y#mGyNnOiEHk>gjrVq55pRikZ=LCFG`k}EL_=*Gb5hW{?urtH z_vxqSb7z{2fUE;~C2Lg5F2u&tF$;^22hnfM%1Q97bQS6;zr-|M zj6Sh9T107^x9-jkX;Y$vm2B926wqN?#H8t~=UbbdvaQqHw=;WgrmK5XG*gyb(+#mU zH}sx`n^+?v)cqS!`Pa@wdc4>i`1|fIE7P~lUFT>XMykHKNaG`4#C^_(SJ&nr zb9{B0dY-j2g62F8{(RuT1s_&x4{e%nh;NT=sxSKN9&c+kNs3>g%3Udch~Q#xay>I2 z2+-Os_A6@jA2a%=)tT!&xbW+e=DEy2RR7antvpHjZEQ42cdY->w||;(bOOt-tN)qK zdXl7zzv+De+)Y%EYS+rujWCuVnWZLlJ-;g?AaGAe$O)g4P{nQC1Pg}L1yt8*^Zt6m z8LnIC>Fz$VdF|ah$WC-zP_{1!n!jJ=}tY|(UivOj^w$KqD(MTX%$7%> zbnWd6)6?@ZXw`Fdvj+?G5vZpjNJjH$$XN}UzZ>V{VY*P}Hd)h2?2djPsS=q9W&G>h+#YGc~5}{=-GY^RVX!X&e zF{PyZUc>$qXDfA~9~`cK{$i2F^;&V7NP#tV$_i*TslUww4|B|sYl!_Jo zS9|dOO!6mZ%h`XL>-6T-D2V&zNB9<|nbaB%j_g1w!%~8HWmV+!|GdE>F>1f0?~#6m z2!gsnA5``WzkZPpOt$AjQzyDFm7!FgmZ7&i_nyI!T98cPpz{R8QGSC_A1lX{b4!bV zKvMHF)S>T$xsNaDoE|T|t4k-iUS8hA9d3JpRg$x8UZ*9%4yKUf?&e+K)to*y4f0*< zY=R~>R0nk^%5*k3+!>hPi6_^O1~??9kExmN#avL<`Nj9MOgBQ{@vPhnwx6yW$EHoE zcI^nw>D2ed#l^al>fpzZX){0}_{BCl5{3&16iDozoSb}f&ZQ4xGy3M6;l{ACD)_v@ z4UV2{CzyrHy8xT?py(~B9EQQC!B2N^(q5^T zCwCx-;j;gPowW2W~JykeefO0QoBMMPYQ;R0b77i+vWNrr}oXJG}Kgg~PP za|jH!nUlk4T0)vsd$-1+2EVG>E7Yuf*?anHE<0D9eH|L5G>R}UD-9h6TK z?XyZ2+i5ZuB29ch2kc@YZGp?qjcdskOcGzQ|T+?Ff z`4mzmQ>w1i@aj8ynIvQ?R{xH{5bPAu_;+cLD(UVAC|4}YEo!+WHI1W7WpEQ5ap2ha zWlhx6|5&Wphns~i=*Kdp$slbhM{{lDTyoQW7x@uSqhDLPSJS%59~W@N6cEYT0pP~Q zDM{HVr6h11$LCDHa=?N6xfFeMvmH*?wihlLOy%LFeJM%34G-$->S$>XChNT-2QUSz1 zcUm5fcpKx6Z8gtt&iz0>pDt_!2J1Q8$c82ti*fyAD;uuz9?ST8LDnMr*ry(jr>y+N z6(W=ByHNXS1W@V(o^FaF2Ra@V*`A>ERyhbeB~=G4D1*ZjfB9MOw5%nI_96Z4VCz2YfWAYl$HhChv={MN$v(J!0On zp->GwoQcJosLNsj3gyQ+|8G_+01xWF0bXeT1;G@gQk3h2q;y@#uy`l zE95rR$HSVy#icS`+gtlV9CHN0_3)#fJ8UNq zaU7n3%K!+>@*afm&go=RdM{TC>oz@^oD?Zfk6fm5CYnyu*xLi4uSx#qii`ogs#90} za~eW(Hi^Kj9_cc|*qG||;m9Rm6JrHVs`DuDMNs{%;)O^cJ+G7-hT>W3OUx<&eaZ6Y^br%ld|dkg!0JblJo8@G4T*K?`8rR8P&#s zpbJY&9xLiQB#bGvBD=0`ZK48H@3{jClvV);22CHV0saPdM7QPVrr(SeHm~R5Nx#dF zf|^Hcq)J+I?pJ$fgqZk8KL&G;mP;7SgyNLDYdA+DjX~s3YeX{QaxuxTbte*FSZuo* z+}QI;LPz2Gs}h;Jz*H^HxSK{$dZqdTRbq{Lzhw9)PgZ3g4<{)4fyRy5>4+(vL39bf zu1&VEm=OA5uY}-~o#^mzw}yKi>||*!}(e zlVb+)=dY&DLf#MTEclI$8ry*ZEZlD>hac-8os;JF4!UJba~%_=duR3*{J!4(>dK- z>*(8#mfyeZXb~7Hrj9c|Ggsjxo1QPlyID_$T$#WvaG&s#A6vI_a#lq}1*0A6X~HwCmic^+Fu+zI0MB zg+)&Mv3H$X6>B=6o_0B(ff+E!vo#g>TrqgyP$oV8EQ4aW!oB)Z|AQ}mrf4_57qv0$ z%FsEJ?1~Gf5+yZCc4~;mcSB!MdSV!WHvx3MrGrp`9rFM~(h=md? z7u6g1PKUXNlc*n=(7Rdsv8s*Bh;7>cyP)uJV^0%>+t%$f{DxLwmFL2}W0HjqzMP^s zuKl%U+#wwd-b%QlQ-IW35sV!j%`hp@FHWpqo)E(t36u(&x`Y<4uK)usozj z_yjo&3SQrP?)$Cn&=UYi{}3K5hfq7mM%QtHbV2X6kM$U$Dz=v^HgeTi zUk9A3#n4WSPUnnmFpW8!CB}hP#f|=a*OcqCbOD2za!G%q>pNE%oAHV!h_usf?{jf! zR{iAMr)52($>Y}j%rY!H%Jq-IIeT~X0+w-e*Hd_aDnZ%p8^7aJM&C<8N2B$-PKm{6 z^oL`I*@Et5-941gG}H{_*s+zbnA%7ZGAWlHA;z5co`|FEZ9k=?NCX`0orQSnA|l#= zuFlR+3Js0^?V9)3iR8vcNbw2Oz|f}pEDv2->2O%5dAi?xB__I(i(o%jZ6e#&Xc=V(YWr;;6(G{x;KXRmW5yS==oS{dut6j!92eS1_zf2h-vmuB@_3`;IgQ`!<5n` zL2qjwCLxXLgKY!JM=2K>Y%j|VJkpy=u_zp|^1`&b1@)CBIPjMo>%Q!xHX1kg-Ap*iA>+xO>64?H#bB?9i zJ}hd(`9!t#oJWHHQRit5KYsJ3IIyvO!o*e=48~0>1?(DU=arhM)|6@A58JxZ{OE;J zy0+7#`*Ixo?hWB@n2z5kLc|aSsC^FT&Uh%ID6Lco^ zDP$~B7HgGTV4eTC(60M3*KhkOE#DELlM6Z;`*0d4eBkcemSqstlv>4d#Q%6Wg=N)MH{fg1K&gu^-MjB92>RWzn_c5yW}|@@rf&BjZ?Ot!v3QwKrqd};y z7lOh55bCjS+wdv*X$GkKYm)r>5Na!M)4R0$O}tvN%cQ=TSXD*<9yO%9)Ti1DbYBE7 zhBJn@ynpAlJ|rZt@d{=3{%AcUHuhK`gSr~BWlV_y%}rdObusV02VAsl*tbM#H!gSq z0Ln4=n)qW#{wd;l8T?7{oU>s)cPJcwLo;Zw(H$lJy~WwyCmdq&Z2XERBERK$SQ(sy zOuUuqu(;t3oub>hc118faN2G|#xdXPdZCwQz0&H>L6V$phR8mP;?bkoPKk&roX%C+LR_OXgl%1)W-hqevk4znC`@A_+6ee@mI$uvMuD&lP zZBF;>Pc)?O60qIsczQy)tdD(8$IF>?*<~flKX~ypXs-4&B&m!{-bNS?2I9?LWGLtAUcPvdUHVy5 zj+79tM8>StbNA)qmq%Y4d>ci@@O-*)58#g0IM>ovvO5~DK;=<%quQCJFqWe>-5Yam#NsfJXsqCXuVuzfo zV$E%%<9Q{EBlUU@n)3|s-UK=OkFEG9lyQX;KN&`bz=Ftc=?R+#w`#5XUW;cNZMOoJ zY{}fpxWn})Hib{@bzqd-!XG;o--vw`yChO}D%?~+k@R-TH@Fq8>^Koyat)W|x$f(d+5P4gt1VGNX;UPh zmuGxp6$>!lq5e!OU5h5nxXSaWie!yBAR$~a{diUYgPe}~$~?IjbiLm^VEFfbfb4gW zLYY|l8cO!`NZhNi5HUL#?B4^XS%qZoZB)I;w0J;S7pn*WN>WIXp|yjjYGs2H0ynxp ze5lq+uixMDb1^iudAZzFSy_3EXZu-Zak{pK@sv$RB9Ulxjdfmcx1aX(wYWHIu2du8 zG#2QoI_B7K`rU=d)7d72j>aL0%RPbh$zxA0G8Q@J89y@v{nqo2fSie)NiRB zv)>gtjSkkR^i$hKbwIODVgLjWT)?`fst z(HGnK3ml%4xkD=p;n=FQO;zT|y*hrZF6YgaJKUb1Es#~1Mo~FA*ldc}C9;OSi87GS zDqd_4{NWwyok|7Wt-Y56G|7h;;YfJGx-j1s6)34?#G7?fN5-E_Hl&t}Lf(y(tmtT% z+t{xZB_-_Qsw&Q$)nFEGB;+iaEV1loE85mJKHe4>qaOEfcHA|)kypfbGlixLK1+@n zn8Re~qfTe~Zw?U523H0z4V>D4Qwo8uSqGAjL|odkuqv@>X=zE`V`h;uw-;ilCuh*1 zg88$LAlLc%JE~U42e|pHx#oY*0@%WeW&HP_czfGipl#^xZfV(kFI$H~-DF~lfIHZY zT!TKw17%>hE157CZi-1yLJ&VpIjcsw>NlQ zgN~Kk2$`fO=Z&w7yA_z(>o_|RwM#L8-%-@LRr>LgmOxuE)~H0}r|c{sm+$lPhKA#^ zX8g_Ap`kc`Al6?zWFdi+B|%j^+#?cY%fHA5jn%$M>KPK+ow;%9elp={J#0H zs#4xsa)sStBt<+_ZvOi3+w-ivf`Y~E9E086>aF^lw|n%kL&L=`1mriBp!N09K81hN z-gYl(mBJwi=a~ni4#@A%bT@C)>0)>5&T{zo!h_lqPBwAL5^Ti0Eej2+%m?e&(*gwS z>>W;>ejk5;G&bCyDBO#SjELC6;T#D$Zu2~0O{&RxSi`t?4aq6XetM>mrs9{yh>&TiZMFDd<3?m4}` zdeYGJ{NHK+d#e8xQ91j6pZxYe(K+AK!vltw`S+#HM%`z6i_Q2KaG3X2Zu>pwH2;V2 zs{c<&*#81<(X6oF7{iT93ai6l6%Ke*f*|AY%21{LNn+p&6U4QDy$OvtBUjW_7a?=@ zoKX&l=hvL4TG*cG$T;Z8M=br7%{lK>J)^4~ks9ind3l)@p?47_kXnb)X)TYs@`AB1 zCYH9VKiL_7Pmin5-eBivt)X_q8$#BD&P#g6;bBqxUP-NigNbIfenzI#SC!P>e}8tI zx?rQr8|NaPl-jD7+kLNaMF9WP;fBa`R)q__B7_foPUTjbyj zm;5c&hkF0poTARrz7Hc2ORbw-o*jPn)7~#b$NOM@mcKR^k};3@@;62x^utv)-C%FR z7fVaaJ1vj>&3xdcw`2OC^>*GrqtfeOoiB!Y>8oFM|E7Z5m$q37AQ>zM-O^@+De#NrS9?{3`2DMWC zUEYx_n1lC?jba_c?g(Z#yUZJCnX<_=u9@e zrg<_iaPee&3v@Z4NV&CZx;ZLTx-LL&x>z5GQZ*U~@>dQ_cf(2ON?ryvl>m69gv~MmD;`uB&zd6qKc*_$pcr`1%Pp}b-Azi_PB0g^ASyg3%*%ji<`R< znC!B*EHQ=(R&}nPMo-)KNzH77HCSnZY&g6Kc9@T$Wh>&6MZchE6thZm{2JbuKQA^m zVNQNz#dkqQCBm-Srwzpy6CBWiho+p9gr|z1jeDNaqgCqUii>dqPrF5{5j9o!*F8NO z;dQi8Ue(36Q1XwZX%T4SLJ!KGBzOGOT_^m>+)DKy_D*w2Z+cP8bZ2=$;;>>3pkmz= zjITu!%dZ0f*_M%W#&eh{kDmKwo#qvUB*`ByQ$f~>EjgXJN4dIc?bO-uBjVMKWe_(ww>1AzsNbnXUA_vp zod2Ex0C4(I^#^&%2=;Y{j>TRJt+($|G6OvK^-ha`o@?!^@^YHkz}lq-W$-eEs+^fp zn=}3PlJ-S?F7?J$d8t-Y@NRZUVE)(5aK5H(8()sXhN6zQxf;CsvoD}bxTV!qBim;# zgxRhpY?BQ{nf}*o!r@OgYp3Q2#*{Ju+9G(S|BIA?OxCl)Js(H)QzImnKK_lozHJ;V z@{@8atT*c$6oJrpfQ3T!H$+3{5)M{kdz3B&AWQAC455?_&wY8oy6DN0_kr4_OIfb# zjv}^u!kfw~3loqlL!wbxHAJsob9B&Z9&f|8?Cfxjk#X9LxSLn=$8=uwkDy4cL}|~V zjy|+8yMv%w+d(=SSy8bLoId~p1eEyUDFJG3ivi_Q)9q3co~{h30B z%Nday_ZBEl9#vp4Hz@eT6r&#$^S&Q?9ioGhS=ukW;kJDML&RlmC3qYGfk!Npi)VJk zR`021mu|~;(!EBL2+!GqIvtKPG!wm;6V<`&`1BLgWk-OHJs3>+K~I%@%5B{fq&L?z zRl6auUcVl36WIYCw|a7u62o!v2B`5 zU~7Q=64ApK8wbg5TK3ZngpXgExpSlcl<_5YmRMr$RZ7&F_*ZI+bO@x&GE4-!J&byN zh18*S%O_Ch=by388l>Y^@U)ggnz-eR8z9z5TVL|Hhsr-&>Mfv1ee^g-ItntTR>SA0 zAi$AN3VJdmS<;`FVV)7tSXg>Q9=d)<$@+O?Jp2h1;%J9Q+n#`1S6y1F*@Ax>*ndJ< z4>xt5Uj!L@dfdHx{-;&2*1Qr4397I%$T{-rj4ylJiT8qK_tE7r zl9cte+F)BB?gI#4{;FlpH0J|~I^l{B1ftMN!ITXr024;`w+D*-a6(W(b9)dQ_bMAR z3_C0~-Desl+>Ub!HTR6kp!H6wI7S03%(ntK=XV#SzSqceG5QYL9MT3{@T1Fe_o`O7|O z?{7xT@MX!FdlYakc<_4l1uWraBdNqmJ5X0lzv)eT=+3N&u$hmn)ogwz>=H>uHDqtRy3(H3Z43$WRgY@t?r>xvi3 zRfprA{kz-gklG}OrrB_R?G$}+su26^8;g$?RQny`EUUA5=(YUJkpQZ+!^6#z;f8@^ z;?CwzRdCKdNyR3;=~t-WN;v#;o}e}Y(Jd{-zC;$ zgJw_#u*Di8@}TUxp!Sg?rcs4IUPo9xw~`s4gFM({0(aark~GXfzvhJJDsyNyx$wYO@8#L|5our zE2Hc0Hh(~DX=GOMm~~R*AQ1S#g2!wG%As&LdW?(VoZiMb+c{JFq#N)s= z?WzOsZdU@g^3JH-9z#67i5xX)3X~noJ2h*7+csgAH`m0vlzD0tEzP+_h0TpptGsPn z+tbptvh#cO6irv8JXFvIiN$XA1On!fzB3M86%}H-gZ6Yq4m5KU(5Ispt{+WCdKhuh zL8N&)g;qL5nq0P0pqO2*W@1D`!jw~Yb%xga1g9R*lX$+fK;XO2_6NSuGMwv_*lw-? zqhjh$Jsx0&QpWbZvZ6+W-BBll!7=oTdnc%VC*7r&K)x-8VP6#F2V7_uz78;$d7JUb zAr$pjmGX5``mG_cXDgVHRFYhSUZoOxc7{Sr+f`$i!u}kZ@%eDGd&B%nbg6mGLPCLp z(kTTzprHez)DfyrzL|(!mgA+CySKy!vPi?$?-T0#f1h<1N5;SJ+2J#E@$mP{fWrfc z#|;+Y@XlS3!UXDYt>nUJv6=LluX=TPnu#JRjL+(9R!JB?zjpX|ZF3JN;v5s~HPs~` zA?}ZKGQaLKR7>PW)hm*ccU#%>MU&m{PD+aB9==7&1x^rR+pn(JA!xPM9uUDG<*AHuv~YHWDk zpUQ<-c)2#ND7e_hGZ-a1NDCqL_uM8>?hmS6mxUIxk!u@46k3T<_-o7Iz4X;bvR4ATpQF(9Bq-+1< zhf2g+RSf<^|Hu2a5jfxL?gh)!P}JxFU~x#pYk_pb%x=ga=~CdtPy$L<4S zS3;(!zKLFKS?R%U-JW|ky1Vd?)$7xjKU{mp3U-k;^@5)hY2HYXhaH0?SBz#iMMt!Q zskr2L4!*vI+T`p9T43-#v-WAF8kk#?Pk1y!)WOAj(ZlUvVKl_jyW?( zlRIQHuda};E{PPM`H6Y2sIdh^zAe9Utmvk7(@SVK8#IBF1c@Jq&N}a@_9PK_0;^H_ z9_{r5$vJn4va#Jo-I1W#JLXDYaD?swK})*Ra?n%82HVI=&eZAr30bhtKgt8nKaWa1cEWwLiXr2!-G zy`1`qKLEz1mk0DnFt15CKl)gPzEw#&ZAJ~0$=(JE+9>QF)18_~qw-BL`~(vB@58AN zH69Sc0DG-wg-6-S2pssTT9<|reUgZ_6Wd6!)At&C6uQZid7ZQ{Nq>`=fY7&^C1>7| zOw-`Ylvl7>yA41!hK&F4I|8m|p43eb#h;VVN~G+qFFVMoix3*0d2nn!Az?LA%3>3X zi&qOEPHgz)5~1Os3XnjT8Dy&BIPUo6QuJHycaL4fH};A9O-(9KQ^p6_?_!a?V$IdA z@a--IbflIGRku~jk-Est>n)nY-m{CBJKhWF(hD)k)Tu%}%5?eZ%`Td=G^&u#_JH}C z?@IQn0H<)lbtPw&8p}7KSn`Qz@RU{Q3tgyzNh?Ct^;w}GyALSj!9c}rrP(iugI#+5 zv;`D@tv#rRa6n0B+7x0s>#KqUFqh98?c>yWZ}p&~s}nj$?|ge8$ZHuTa5y+Wo)-zVSmSjX{acyMi`)`(f@ z4r=!0x(V8pWXe2KG$p%tsOQO33Ir;4?tnvlD| zqvq4PlChfv77x{6a#vIGn-TulhUk=#*#!>q%KWqkE0KVKQq%p}*0lQ2-&=}14hp!} zwM<91sK=YIp@4vg_Ptqp2d8)Oh+Gv?4r%d~{P=!8vr+FzTP*R4Y%z03E7WQcpU#bS*cf{AfvgZ;?11$3JW17Xi zb&d$oWi=NmK&-rZCHzUdHYU)O+j*9B7BU=!lRW4+x3BYSP9p2acFKktw`Vw8`HQ}l4vXej5CODAu=tY{my-%mKAJ<{@ZS!ukDsPaY_+xs4Ny(?31 zp9o{rs}$SCov6G&3b!pgmQBF06WL%Gnf+ypaX4K1Vqdttbbf|qqCjHK%+?H9+eBI+ zuoE3jk4@80xXnqW2fiOk*g6OfZtIXzLG>~8&D~m&45{9VDJtnTi%g7OK60t#rqe5cb7=) z?qXaw2h*b`d={tTW%kp3mOC5M&@X=50OJE57f^to(a?s(DCZ&{NOge2$9k;pGX#ib zeqWMFaOS&W0L5m&=nYMJX1sJfr3Ul!d5EkHcHIZc*!1@5vc<)m&8)Svl!)^F5P2)- zav4kO-#E!kr{ulOSo?Tb_)O|E7Yu#+0H4#ABE|8QB+j$KMTm%OBwiK_8|DxPtFbKy&+#74*P4%PS|K!@1VSSf-Dn`PR48y#`M+ zh(l9XP0-lL4rq$Py-rY0a)U$X$H7rkRV;Q50xGZf9>f?-BGtH}w18RwLGC zy*}H!9>Y((16xbsu+3o4bn0N3n9__sa8jq3sZ7YC9UU@gVdxto(OibcbQ&??IhuVf ze%=Z>vn!7y1&pspy%LVm{g2Nz;^m9V-AV8u91dE^rw}pBk)hT6>UQ?v3_v?DQ|d4l=2_a+pm!iEH*RQV*9~8vuK`E!=sC;aEV9 zYAGJEHaE?<<|gsb`v?~MK3gt(Q}D|I zoA`1_Q5vE=mWh#hC3r1Av8VUaU4LI2TUPK*v|pn9E;uTW{`Oe{B1@#;MZstY3+irm zdmxi@#5GbpWjMst8^;5pbUqA`N_-OByPI!gfKW-Vz!Qo&53Qgd<1ISt{){`Tc7%Yr zceZcuT&dX>B_W`nNoX_a`b`Jo>in6TKQw6@vO(i@7100g)kG9ek`Ff}iy-Mo(eZ|c z$2IVrM5ggf*3+*d_A_1L0o{R1(aI|94bZgeHFGJJ=14gBUdBzGl}12=2BQU{>WBD4blfU0T1cv>V9yq-+0~l zAwkcXJ}!xoo1KKE-jRf|oGt$a`xoYuYvJRLP{Tnf&d029WWTgiD&P>wa6$zN>8L>Jf zlyXw9NekmRSlbZ1In%h2n&IW~^xqmH*Ra3;AL@x7dferQJ$HPIzuoFtAL3Kc0h`ZD`xw-el7dksACs z$!@l2bY*BN1bRhIF3ePs>z5y)@lh}j=f*}F^7jkqRR6rxC{>*E^t#usS85KkM2??Z zN<~Bf;nAD9aZX^dKQNsVy^#s9Z9=ANqg|KZB2{|#07f2-Njt4E70NYa{iovapa1`l0DJ#`A;Zr<`ui8gJ{L}BLIX>R@jt^$x)l&ypA?I3aK$7{D0pSq z{5-fl@Kkt?Xz*P^b&HpiRl0KEU8hs-H5jH^{~#I?6@}1D1a%LICe}=8S+Cy=RRcSI zX6JA$k}9RDmab{Axt@I|z<-*Q=H!09>lNR_ufpDo%Y`+u^KMJ{Liy)QScez+oU&5= zac4pKukQsYB_{r8%?yd?X~@fuQgON?=|%4tU_l5#mr)X6!PfF=hIRp`7nH1`3B3iA zl_#M~Na%3k;xzD%4|={HV4s*4-V2_^=}xe^Yf2Is?T=kjPp6oc#)~9DxHMA_Yo=xCL~-Y zKV!|A6XNr?!{qSFWRM_o>L8V8vnF&@SRt_9Hz7m80IL8=4>2y&i1(kuoIg8>!?DG8 z1sV0&rCK-gk%g7|kzX^e(-K!CF1xqaV8IF4@t@!6I_Hk>%@q_F_g1X&%OCb=8!Qfu zS3K$E35|luxrAFBPa<9Zg@85ZnR0sDl0|g~ij)ZxgUZ4g3Lal~UzrPXl^Oc6*y_>| zC&_GFyy=+}JWxo}$LLvYhcIyybH`1bAU{i~t$ zaOuC!WziShy|oN5((k-2;aMeL;{EIn17fp2$mrw{)>bp)Al5h1-KkfvvLRbqQ1`~~ zxtW&0o7;aae))sD#gCSja`K>srT32tCyN2qklq=Rmj%i4y}vwk4<8hs$+;+SF;Di? zxiIo#x!0xnCh>ljhkmhHUq#eOk~e;M$YsBKKQ*9ylo_aC? zyee`M_~DzFQ7`YCh6g7Zt}f{DIoh@LroU9O4YfZlUZOdHrq9QxACQa>|DYSO{c_r$Gv$^heDb43C zg+_LVN)0xW$-(Z1kRX}<{w4AXKfhd4$;HnW6U*l?e97%Hw`!&Gh7QIhZK=mkV&v)X zWEN^Xp1t=L7-_Q9_ZEKG@@029B#MAyPx!z-zvhXImEL*>gCjkOPa3=(JcMrkc-Q6uPXwcvxxVyXSK!OH$8QfuTcew0( zPWIX7@xFZbTMsk8>FMgKT2;Mj)xVa6JA#rw8|$2SDH>$($HlR)wTRV|-M*ybCcNp2 zeq2KuF_~W;Igs>xgzM!UlM70=>UAX=U<1oB+q_QOH?nHPxtd#2UY{Y~b?)!#oAZAA zD_wFP^!wddLY&os*T-PpIoy()q6P`kf77|uL=9Dq)bTI1uUa-#b|=mGE0!@;3FX#< zUteA<6G>Dh<9@B3>|fCr4@;aymcenza5xjzrWxqZ6Ih-6WP2szPs)?r8#p1?TPEnmDfNKiooq}s57EE8a9)5a!R(%5_g}T zK^W*;ucFpHsl%PK@Zm}kA>6%K0zLM?>cFGZn(OG9e}Oc(`k`z6i~Jwfh_(|)@ta^u z9F)Nbn!_waE|2BM&&hmnjfTJ#j>WTG)>IPkn*@}8*vyz=bfC_B8cEtPs1c`mD98WI zLLTfk!BSmnyK(in7!uqbUVJ2r|JhuprbNE}TPrAfvv9Qy#*1qq{f<-*RoTqU=gdTj z5qkgYBie)%(eA<&oX2~UL&!MvI)KVd>T#UHT8V)tlZ$LBAs6S4xq(kdWFFNw@5dmr zi*Fw;K-;MriAD=Pe&Q>z5vZp4COTTTV`XSTS6$x6>vTg8@Kj_1>#8CuMbjpR8~Y@N zX<$OY5_%vG=C%6}9)_i=>t2}m#4JZ}=9&)WBRP$dTf84hGCEndfC=VwchuD$(L>-5qH^YZWtG^mOkBHj(6UEOHBH2y0ts&Q!-6pVi>-(qUN?$8$ih@ zs<;LyrL3e8Z64x`ZgF_r>1s*E}{!x#U!Z&OpD7a{X9z{tYtHDl3V<88KRtDhRqiqfL=sgf5?y!#brgBos^}rPz1vg&t zaKVRdYXL?C5;#upp=kG3XBo-j@z#y?1_@1P_6F@mfF->R{rSSi`Yz2r$NO%iHv;^= zw}xJ;fvyyk{g1|HD#!ro_A+>HJ*c>r?wbP#kV%TrS&w>LIn%l1m6{;`0$_6o>Wy_g zz1Jp2q}D;lT(x-v+_fBaFr4>eD(!PVDAsK?&!R_hk1nWxo@=?TT+Z$AtuK*G66!@n z1#ayP7TUhNR9hT_ECD0A@n{_xIr#F!`3~a)-w>QL2qXRGM(S09>6Z&CE>-I}T27(=K z=*sdUqq;74$<(rr_mssnyxB;^^IQ8tr!8VJk7Q+6-~zUu-Iq$T6u?(^xz;L3FZ<2i z>GvM*DVJ?Goj!1;%i`qQs7xcd@TmJv^K~g?10y;omV`&R636lcwz{XvU5+)5A6idf zVyMko=G!lgoN$n8_7Vbi^BP54Ra9(9ZywsPX99~wrrS!mf!Y;&ovCXQ<8UWzgVXrD zteO+orB=Jx+mG;4P`~O7kB0xq(bvy%)b%9_p*84kFfuXak}N$IW^^8O`D^h$B@l29 z)HB1r&*xjWt!M#Wz+WINKd!5*bimuq*H2)3bGCE*6ynlNoEWpT5-UP798X?;opQ0= z6F>9|Lk_KOCSy2Q+87l>KCb?%(KAc7V$57uH5s(!_>b&!i(PD{+-WN85tAc!{>M1zgq;0BU+1q2WpQ*eP#UT*6 zI?YTSxotw{v%&bbqMn2Ut0X`E#}U4Rlg;V30!vO!X<1nq%r;G)*Tf`}F-oDpIdVE* zo|}S)w*?=uE6B3Y#-E+-j2`!}hy2=I){}H2FOYC%;!LVcC+OP!3Uhjy+u=F}{LrdG z#f0SM@Qa0-p>>(5YqG#a3gq3tF^Nqo%?PEZB1BopX25u1~N{bt|b^`zw) z1A!8`w%vSDcP{fu%9o?=pI(DRHxtiz;=kzD1o|CUdOJ%pdy?X|9u(9o)dcLev< zHXXOw`p)4;Yi}AG%M^Pa*}VQS6WID0C;yKq-iMn%W&ELaNxcm5n^Shno~7XW#c)0` z?8}2$iSovTv?iy{p%OFTLz^1^%BDM*!Dg@SsfmVEEf{Q59CqO`%X4lsmy!gaC|ZJ7%%Efibo1vb7c$X!{lD<#UEXw zh4t+)dTV;~!Y>G9MyPZZ{1q7#WsIx$I68iz^O5vfevZgXnmJ38%;BZ*s9 za688vJ7$n4*R0^)Sa-rcfwRZ&Rx)@M-K{=l7mNo}cJ;ak8{AOjDW;4fo~4BPD?5v_ z24$Vu3-7z>*}vt&6U|_1s<%XUX_>~XWOpHL3G|B#KeAR)qpnuI|7X&=(K=dfo23gW zQ~DH3jg)MLghVYpt3rzgt(8}uW#uDFtEkVwa%sv+eL}MSuJ3%{BuqBx?^h*c2P<;X_&+}j_Y#@k{@J8qD9kXKeEc)8q}k<0 z{nCFwNK~gcHtEkB7ZTDONyYMaISdy9rN5URQc@^){@{PgO}a?`qyGPw3MsxUU>#eH z`bb=^g9G#e@U&V9ugKB=)T$t7MEB1oq$LS6Z8+$`{rMjQ#oHHurc4MSiIf!0 zH&N0z-+-E4FS@8nuQXXTU0q!@wY$cO0B=#ZfVif83jc4pz-$!%$m7_ zX^Axl8+byIn5x1Z>s%^OCrWUwgW?AG5d0iR<6o3bXlP-vxv`NuWqGuCxBB>S7j@@I zNW#Lxf`_L?K~a#Mos9%P1dF6swdO)oFjk3vxsUM3Q8F`wnN~7*Ju44k4>(9Z+)HHg zy6I`RUDzRk`H=3j*jP1FB^W5274jQ~n%+j4@?EG%lVIR2L7*^3qdpc;==Q1X)`x3T z(EX5lJq!}lrQ-8V)y+F5R0{8XXaw}tddr14OE@Vn%*bv&2Tt)t1c#Z4oso*SP9AqQ zw+nU7LQnrvPx1U=!XLI4_DXzsQ>Ln=qH?nr`5bMn-KV{{Sg~YE@!~$tBj(F4{ z5bczsj+q59F42DcR%PPUi1fh`AX5>K`n=&=`4lD|B`rChbaq@oXItvuV-m+L$85f) zK7xcw1Y$K(*@MBr!NK4Pez#iE;yV9FhKTZse|WRla@DyG4oz3m(IJnMLN5lL!FzQ#T%rBM&^-1O$}`oZSzLRh}5Ca={0{w;ID}VW!U{34ox) zVZ=gek56ccA2cQvuc;~77KHM5>!M=jD!`#ld3RSw0+|oBaT7b~ZK--GhaSF*^9fw$ zhCVpH-|TGh@!DSjrTBdBUU^M;XBma*VP=!UW|P*Z=?JL0K`$f*7)k|_F;-(w4OZ^W z^<@U}>PFq{VOv)1az6^0`-cXD^Ve!^=GS4QwJ&GBUG}N-yG#);3nlF)0n;VSq|xa7 zE(as6Hh<j)}$|D&Mj+5Q~?7<0a*F?F53m7t&mIQH}T^%xSi77e)5(HAcm**4T%~qM;l8E zO|9hx4_y5X@ra6kT%2Kody%?JfdoX{8a8cjbcgn6ZVAaeH8vEQ5Q0r7GCuZy$2(hs zY;8UU$oBshas+Ix49ks;yQnt{%jj(Q#kwQBR+X+yCV>~B60fe{c{3!Wo{w$YK6{Xj zzP3jeXu9am7jb;t$grq&+kVCVH!tIqdUGbPOI zk0vWUZ@-P*jNv^cZc%=Hl!X*Y5u}%ED`i$OgJb*n?$mz@>!s>h(|VRu()S{&^f;pd zt`jWG`6-b_KylhKlG!eu}u94rFQU zB}=@V4gwHeakG_cMkJUy5}``ZKiRn4;5kLUj&QC-ufeaXT7s1^EAF+KA*i#WW%l}*b@kYS(a9{y{I z(NKz7IK`iuJMZBD8^xu^Af+n$P#jE>%Wy1pilBSlMn0RGfjw{mMxoQAZ`b!jr)@HK zi)Fv=lI!?4yob9X;j;NDZIi1ellP`I-a?4dN(oY5u!U@K1`K$t&J+hL$C|!1J zy`YgF!$L!6E$7z?Z$CVF5A&|N9B2tRl1B+$xeU%;_|&YkC5stF99@dZLXd#dn=z)6 zbYWA;$X@%AH9HRQ`JESCJI{Oql@=y-g_?;dr|vw*Mc$6AtfB*#$HODadIP$zXMc}e zJmTE0lTkgrnv8-M6QAc$kkV?&Nb;vUdPx0EU6t2)66mo}f4eJ(rsY8QKip#5prN># zi_L4Ij*F=ZtEc9JdG{f`d2fTnDR$tUcoh8V*4VMhJPh&d1cRq{mtf1yS%Vqu3tj9B z)9ARWXFyfbN!i8KWj&Xn6vC+yqa^=2E2jXNbs1~VVDmf|zriW&9KD}+-_DxXrKsjz zr4}C@Kf0v_N-F_KL;q{1gHeEm1^rQA!m?u`9B`#%SXaVlvqVUauDLKX1LG@ioWW1(dsVGwz?}0|D1fSZ2 zZge!BwynvQuo+!|-Z~uTR-x-W>Wzm_^_LUZZp5i#d$g9@n3@zUy2lT16K8odjxvRI zlajDMyaR#`LBQWj!jo6eqr)k2mdwF@UFY|^3&udhF+!KFv>h*pH@!a@%2BD79?RAt z`b`$r_dQrxab8tkH~H;U=&K- zdnfp{`hymj?$SDp1BML@s*;gDjvs(;lCWuHOHjBZ;HysDATA5e!UqnwV_`tG{&WP@ zynBchMetp{0yWa^I@{+QEmsFJO)P^$0hmE)5)e1dw9HF=>o)kWTnr)6ifsjgjN1rS zy{XW$gd?nNphHVRptY`p^+1XSB%aN^(uONtYX?dz=!cbskzHH2)7tWsZ_aJ{s_A)e zG7uY9SE3b8N6&1m&R#GWLor04kn!E8-Cfi|-rV?LN1WEbpH zJIdL3INi7^5j@V-ea9o`QI)~JgXFhkO5YmK6Sq_~@u(h1Ma{;evrJ7sVQsBGqE4m`X@G6~DQHUrFzfcrv|iG^qi8Ud z4P8J2cIUB5hw<@zFnv9Jf9SZ&ng*X)Iy!ptVYO|%%q&D#nzr@KB2`mT4`&L)ihz+% z{h=~0;+Cjz)--FHAMto}ven+}wb&gh#|#kfaDn8)ntjqMq}p_6s7YBl(0nvsBqGBI zUO_ojxAhqBJT>NIfr(tTURG_m$_^5%SOlPheJ`ik?e*jhO0A$fTx#jpgCTicJzFET z1>GxE3}Ea?uRivQ$-i#pA>rVI;tPYD#{tuCHw1dLJ;=NR&<5A(+#ChNQe7tT4YGY} zAFnkIJ_uhi3m>1a*=uD3<7GLRjQqqLjI0LE8d(o>Iiq}|Fy1Wu#6_pvEE~SS^8_GHThBzZ6Mcfu^BpqF6LwT>^3O0ko1{hyEW3n z`i8~(&!1D_S@PAR@HFGyemwi+{>v7C;fhIa2#y<qTL_MCTPhb@e*P5Gd!=oaEFr zy}87f0)$zC4l#ezNc%=u9v1XN%Sa;2DA?=l$vfn*t7X?jWevXT14~-_KE(xrWCQCI zd%d$Zq0?NI#){RlS?-R737HiOBSa~dz!X7B_P4);SA+H=l}y82;1DWXo-TXamJ#(M zPs589Qa~Fx54?+M%tVk{C^|sQZ>kpzcly?ddtlcmxrQm2d!bx`z)~x{bZPEdheIO# z5xLXkZ>7$h{b?CO+m7YaKFwtN050C1W{8{L)suSYWvmmC&m5FAS4g=9(HID!0GuEc z#V@Z+2u~FsioaHYo_J+_PC65&lN{?0cp|ABU#idVZF>p#d?GzSY9ny$NxMF8dz z!rxtpDxVs)^^k$WpmjV2za9lu)#RMe&j672}6p_%teC+bJeE!3PDI&YE;~d38#Usepb^J)b@+nfHTw~Q@5JWWtI{Aoy7Ma7@TeDX~;fRCx6# zF>D)M(>Z){s{>g>d+@IaXgA`oF5j;}0=oLDB4xC)9lD9a)wB+n`<-)K(ee+)nK8M`I|Zc9u$u+ z)yJeV+J7(X{{dR7>MzM6t7AU@MUY?7VutSO+FlV&O}0h8f~xw9MV>qd1MW^}7{TIrcmH<8d|JRBW~f?hVKa1^ii#$s^_XWnTH z>eAk{QOKK_Cgcjd0N9qHDS`RIQn6BSibEk4y{v+71F2_IbOPpXOwt zIvI&}Os`R;mgwP*f4>I4IHl3v>vk6o(e=kWm29_ZES?|k(3h?EFWEIG!ub|k#};?H zkEjl|*k(~NgKU~UoW8$1wseyDH1~7(@b~Z2Jp1_sIQYn^Iy5^k0S;} zqo7-wSfgAHd7&|wFW`l7J%pEWUuQfOvHgg7n0UFmw!{8oAc)T6cg+y{H)oeo6GuuS zaCIZ%_E;Ac6b1-7HLe}$j&oqCThXiVwTsLcwK0eP6SxgX$BXg~Y}Y9RHe&8KJ7Jl5 z%1m7G6DoOH@AWpBN;t|iXY981IC@@KvRu(>Ro2)zh3mn}=!(dGn&N43#(8@{hL?%7 zV%%aEOTo3s)9o}U#Zb*(lA@gp6{Mt=yF63toML`*yz#&52rX>WbAY` z=k8>R9Q=MpQpH}j6NPlyQM+N{a45@y+NOLbJ5_uh3123ls;{6g4K&Iy9^%m4m#k$@ z+U8f7Zz;Lh=|Bs!&d56dBT{yJQsy1y%y`<(9%Q{7U2g^)FNS|qC$w{OLCptmVp12_ zf1aoZ))18TGrQ4hdJcL&YVnW>`){x{adAfpvCQnh?Xl)*Y*Sg@{uOXsWFrE-C`M^d zZ!GyF#%6Z_>+A49_aX1L?U21?sq&I`oNi79X|m1fx8s2FogBhuMKMZ|S+OpkQcAQL zue9eq%RqImW-re8RR+76njX~0XYCr@bXvzt8uud44)I|aPVXYwRdH|zU^eiR-+?vZI9|RQvDIw) z($bxrBd!~(wp|=ms&nBg{Si^@-u>pDs=_AaMssWU1|u*`4vew!VuwUd=9QfrSd+6L zPu6xOaQ*xDk!V6fJCdr_3~bO-$16N{p`jSJlILJPFZE)dnucu`YhvUEj@mrx*|Ube z88^c^P=?ryrZ-@e56*E)8q%ANzFDor~3h1WG)%75U_GF3VRR5bF1) zUzqj8%S^m{XIrLdI?1u2oJ_T#iBR*a1%Th1o*Ow_w0F+9L^~-XGo?6LrTqR2pR!2C z+F^8%V(0?(;x;^)+^htz^916yRICB+Gbs)eGpR z*lHo9Xj)9Y^pBknRL!pbVwYZ|aZpw>?ehX=94whgob8{x7;s`HBuG%a4f$>)^bX?!FLd`@{54yO$iLK{w4R-WCK|C=u6?* zb>EnP^~0@X$`GsrLkrTw_l7T!PvcDArCKYzuHA+2RAf!o6NVDHeK37`<+ZiHb#O@$ ztaFsG_9!=J9jy2^(HNWYhj<-7y(LwnPm1j9k@<#qdq zx97;CZB#YlqoNtDWk_1v`Xc#ak<6@lgONFAgRf&njyfODcH4fXq^2SdQFoBvY za3@n)a%4^-tiof94n)5`KsUu85@XmVBIIoQulUn31 z>te5ej{+@k5e|6Q+r3qmh_Q9MTBQYS7?2Dv6Wli=W7KFj8H3$iYj+L$J5>j-7$R(( zW*(8J1F{Z2b=cj8>Zj1kXzZ0;+Uia@D6~xVxEXF!AaL-{{#ZCn;tYdP8m0t6^pbP> zZ5Q@a`hemvK z4Pj4!Fg+nyy~B~Yn#J*(6G(C|sO~)VizjX9`;6vW2z- z6hO-2IU2W+AJ}!7Xvv-OF3a0#7w;Y_1tWu8n2ao{npkIOem1A%=Iy!_36if=Gw^if zN)1MkLROSq&~}#K34e05Cv0QP?Jkh}Gf&##7gLzw?9bD3V;dlA#3Ev6EiDciUg%e3 zPU`LfgI+&J>}}`gUy|qJN;q^ZYzmQYPee$lZpO_%sBIX~e0AXljxXYuehiTb#)V2n-84l zQ(Imgj5djoJkRQFhH)Hy!5zF35g5P1k2Y#Z2q~wP3ga980xX7)MYTo2mj%DnGY?dX zCC35Rav`}nt}xuILzMKt@n&LSXhaP@?6k;hV_=R;fZQWQE`0qTivc zSN)rF0-jz9+Dk%h2V3#-nGivn>Sj?Un#r5f$Dtb`8q6R}Z}fSKVAAIYOXBObkmGce z(J7>%T1m7~6x+}*BoaGS+Yt2=Zo>9AR;3-u;w|B?*JP@a4*s-6V8eP`Xa_I`%UPsc_+PaTiq zioP+~Eq1r~0fMwJsimUDZ*~2^_F5M#QoG^B>gzjg=iCoZ^)sUu6Z-_B&4y)!fj4fa z5M8l6+*bKcp-4zcg__0MR{GJeLl&DGRt98XG>$6G z3jxuq>f@6mq;26%TIMF%m@d0X?6cfQ8=TcI?XdA;SORypw(YkWRpdH5mTOg|%=FYp z?8Dd;Ip->-FJRaA2YXo5ROdzNfXRot%X(aiWKzW$P%J#@(2yO56}m4{_$gjgl+q=Ad`mmbW#ka z7d}=(r8l)#`>IP3UM+=hiN<;DaQXMEN8uKlrR`V85 zn$*CL$FG1yqL^W=>!58D83vziEj>G)FJ)Y66CZjk31Ce`UxjO9zZQE*G}(^s~)+Ro_j z({({@ofexSZM8U6=GJ5O_*n*og0|Mmsn)x{fIG|~j_~(CFMW#)A&C=gQ}J8%l&?N@ zEL>#C0lw_+;uJ2WGlp_#=~G9Z=ijs{ao7aL*$&`TJmB;X`D}_5uVkETDx7y(-P z+1Rt~7t<}$SI3uUm8`MBU}mN0$0*MB%CY1Dx7^2mc|h>CTYDSuIgxQm0YwLv zz3`bzL`x7Lxakk+;dl?_%V3{+!SVJ28DwG- z@^Q7KV#-Yu;TTnI*d$0A?sYCz>y*(l<+ExcCRs;Mw%zBOU$Iw$h;V=S{WngzoK zjIXSd#MA;)&P4COr_i~;8aOFw?&0o==*r|A{rU7hb0Vee*@o)*tb0UvtU}UetjRX1 z0Hn0F(WzAfk3Qg~?L1R0X|3&b2OW0`b*LVWJ>Tp(7(p0BfW<~Z?aA-#y&`I#s?D2< zyKwX!CXQ)QA-pq}GToCdt5>w*hm>&Sl9?iI+D1IMF3>RCmAr-#%p2s%)pKb6IKVnS z&0{>hQ16vwgI7Yr_U*)l-jD=P!pRp>(>6SOdkbZ)_|-Y@s<%gLJjByxfQC7^Yi!qX zEojpN>2V{>dZnT~iFI1}{%mGYI#d@g&jD4ZnQ>OHj$)3@dH1hZULnGyTk4ms9arSD z^tY&XF#1bTNPHFXEO^xM>gFd;$dn(2ti=na^D-Fl1z64@NL9&a-)1oTb-sJQJ^d|t zbK$S0X`G0rFo3c{-BR1QdN7NeXVrt$bEpdE2bTxEHii#&;hp5tKP+W`S>1+Q%;M{c z>N)@Fb&>qh4XbS3jgI^CED}R9s$HNJ!gHS zcFF?(-n8t}27o7BoZ_5HGHllv5XmKSo3w*`I64m^vO&?gSp?HzeaK?b)x?P$!QVy! zBjg<#V>dO&o^y|gnQ0rKQ-7`3$cmfu%q}lw*g2Z0-I5Q(4=(AI4%Q$Sa7^CsZDKo1xhiLF!8GC=k zVi{s46?OMexH_t@7P)5MGi;7{vD))$I+q2Sxht|sXRD%E3n}k|3^~+Pr4O%<@mHh5nkRnXE-x zZ(29PTN%ZG$v}gg+&LsR`(1lwNETXk88<}1s??K%{n+IgnaG5*OtQiiRR>qGy6FJd zYa9c43#D)n{Qh3jSZ7Uu#y>)*CSss}_eTy#gIutaQ52c;VDt?AV!g4Q8GX$ zGymjQWEAuk(18dxkf1PeE7raAN~L zv$+{Mqcdi0YHDg^L=z|Z99Wkd&xlf{9qZ|<`bqQqnyrjnT|F)5a^`g-5sO=q@JENm zB<4M4MQXha!f4OdDbwqb>j)43ktT$yvX)FGn z#^DY}YlY7!^($-odY3eQO=qrhV`cd|j}cvk(bmlU8V$z$LDYmZ>QC;!zn8(_IzvF* zA;IB{3?JdhlX5b7d5!C#V6|fr!J5 zM-XfcHhYFcX-iwZPvs$eEB%jGxFz0N)65Mdc&z;zC9>@kLVD{&IgxUNY;?4Y^OLE~ z>#=k48pQ}3WWpxyRTj^RqS-lPuGf6C_rk*bOfShn;Yoy4M`@F8K0yy6I1+Br{=rhw z!9UBFO@1msN zCG&je*1@UbP_S$P&2zTKk`k{DViAkx%X=%nFDjFMwg-u0(eG0@Jt2TZ*r}Y~%ontw zRR(FM=q9V3ujr{h4Hkh_TX5}kUh7HGT?Y>2s14)bHU#)c?+!7ZcjN?$dp+T>zDqe? zM-+!6Hj+9n?(T6yZSbSmfFM4nl|#tN;722$?=h{on+pO>8A~S@CQ8VWxs%2W^BYcW zx-aN&sYj-^7rto$`iJPp^L?4wI$Gt}#CBC{8QL!a7dCgSD<3Ze0QQ{?{Q*VUom&fh zzlA}9%n(fv5-BM7lfO0godxzxf|Fo%)%_gFvl*Y`N#YspA~MelFP zVPxLcI%tInAhRFw5$`Fwpmj^MxW2pAN!BtmGO)0mfiC9+kSMY*W~n0Y0i8tT`% z@k4F!WSH4xA&x^T7a6M^dV7&jZIFq~H0L+YjCmc29?J~2}gh68;iW_JiC|2i$mjejJmS50_FTZ3F@uGgq zfO$vt#5mxpma;U&9LQXoQ8nQ~4@`OzwH(On!T~dW{`QO41T1c-I_RX5OBl<{s%{Q3 zs#rq`ioK7#V)W+s_()IQr+NX^&lb^2;J z^>FQTosDMj{cD3ZRw4YH0uW8W*#?I;TReOIIiTa7y#SWgifVdONkU#4rG2d68fA4| zyorg0&L@N>K{p<*#gBb$>UG_QQQD){46;M%!*%)uCtABtk%6 z`{C%C4yX#Al-k0>quTgLo`5Tr^27Bgnog(DG~#)`gg39yi4>y!&=U-g=1SGnc-EQ7 zL#M5c~ptkEwqDUjqtRC!^e-konm81lIe8IBi&c9z)o25X$bRM6! z%iGE3b{wXTO)9f==AcAkxp|R86dSI|Dd4EOZ+1691EaP{`xM&9AUj}2tGAY(S0@^F z6p`1M(0H1z)VGFp|Do`ngo0;FQUyzqXroo<7TD_Qi-cn)Jkg;Kca z3D2jSt${S+ixL7v8Hvd%ipaoUAO^>!38HThw-SSkQ$i-XxJ`bs{C-X z>hKxFfTfWmZ`j#P36^Q^b7WTS<@EVBMptrj$=qI+jKaMGhb#AJM;9d*9Q zGhBy;SH>IbBvSjd;80##p|<>LvBQ0$RV?`j5&okr?TvY+1-J`-l8SKp zTiTvPcXv6h$FEr6usdfTO(P4}j)nKtECP8*!VNKzi8#~)-vrVW)x+|;H^WE7iO*i+ zj&U4`3a2c=()HGoJSW8p6+aC|A~Ka|%aB~*IYax&t#Us0dRi?OaX4)=Hh~*+*;ZBe~|9PjsOho&LQ@APYHb9*?29>uptzy@+LA14_<|xu0ueVOuwIxJbB? zF;`*~J72vyX4ITGZ=K7FU?B@yO<%SIG2}Cdo^B3vB|Dfl;u4c0c?*^kX(uEDy;co@PTQ50A$J zljQqfo}-Tao6x%cbCmV$Rxy0L>$VEixkCHQ~vGI>dOun+53R~Pa5 z!@K7K}ib4m9otJ+{NoF1BX*G9^Am{zIgLpoOe`whO!gtJfc%t0IUqfJn?)cC@XEOf0iu!)t-om>z>9uQvK+Wo2oSf$SC#hVq-O~RkMZ#h?oXX_{Jm-DvjUoyY&CVj} z%n^^uzhcW5=(n~Tc?IwK@bJ*H^!C51LPbPEvavyU&e-ekzrb4Vntb#~@$S|06@P#H zz{HpTX%vaEY7&dt@Cvb+6%G2Uz==l4ZaDMVjiN*R{)UpJL;Ic=HOamTx)mcN(PicK2X*3x2`sAK)2Ry zb_XY1uLQD24^P&6C#tFc`;OS3`YR`2CLHlPECx*KtEzBtag)pIF#dUyyF*Y=&@%_~ zO;je-nT+V)8-M(p+av+eYQIvsR?fC%2a5CQ`mIgakTMxr{?YS*);C+~8ZvUCZjkK3 zcZUC6w7)cr`M+4|ejp$FUmfkM$)WtO$3>g<)>Kuc#lNpA{cD8M^N?Vtb^93E-#*kZ z+eZbZ=P3Oe-SAPbk=Ik3;%0Ow>zMDNH!f*- z;Dt1;y4ox^y63zOkK!6;?Dhx%|2%8DELZ5&OW2{a>xRrM+a|8*V^-SEAU^S%sQC0X zXTbB>7VoVQMy2C1l(#F{Y5P4T^QB;(dp~80v^r}+9Pd_lD>17t>vPZ+Js&!9dUN!$ z&yWtVh4YEo(KT86V#zzg9;%74`c`pX?g3c{Hcyaet}(DQW^czAl6LahE88)J)4t z6R88SEb@%N(rRZ_S9`m(tPBKV8)+webaviqf+s%+cbSMn%Ra^lnn^v|-Bmmb@U7!n z=l!T7qjUJ(NhK%$h1YsRPd~N`xsP|FA=m+;O;~UX&Xz#~h7EpOX^@jM!fxax#^i0pRS8iET3FjvfF@;&|XH*f(VdsFpx>|v=Z3w(6&0ySg#L= zh}RhWZa(ln=$Gm}+dC(7!U;kONwAfAX?TOuDe|j4&7smXkt;hk&A@z+%d_eYe@T7m zu_-p#Z~fc}JE&s25wbvbAp}~tzmQ8}Y=b9ZNRi)PrDK05%W4H33rspe6?j!(xi6$Y zd&+Uj0?sh*=q0+tSZV6beH10xqHYR8p2{~*H&d<_wyr{<(HG6aQ_|)ZNBm^dZHBy; zG24q}y&s9oMH|jYnD9&SQnPlSZio|tQ)e?MTR!r@nq$3S#aNHRa>L|bWs>MO1~=mX zx_(a@7I}`&s$x#suz#ug@SyJZY!r!e3}Z#1p)MWkv^f_RXG8|}40H2nYP%zuH>$641dxCa8 zqA&+sVvXC02xc3R835?{t(5({Cd3C8{Zl}&JIdxR5b|r&51BOrOINYMCozHOSqt52 z?aaCS2n5*P6T40Z)Q7J9ikDCuo3gzb?583%v5F1oy}*O7?t78sKpJImjfhr$>r91| zdFH41n+jo->ig|pFLOW8N6Py}KmKs8#o1Vf&iyIbK}+Cp^99KU(%TzxF{GEYa>cuM zO=G>3IvP^$VN8KlOxqI^bqaO|D3&y3)6k?fzp>@6Eq`4*i=O4^Q`Lo@#M==&Pf&Is z5fav(6c&OD?WWZoeE~yMbQ( zPdk0CY}9ra^CA95_a`f=?kOESiieY`3fd)m7I41(PQfkf^#vX!!-T(GBo<3{xIwH1 z2nIq7o_cSXb!wsY9|wM-??LIRr)ycABSY~^>U@9DF3ej@RyWh91v$O=5v-L;byTD> z?J9H3ty*d~c-u(K)Lz1QrmWk!a{PaId&j`K!*6TwBx%&xPTJVEn>0<@*tTukjT_sx z?Z&ok>m(;9&ZPhM-gn-)^LggukB_m}UeDTyRAJ+5hSR$}%>DLy{Z+HE#w1Zf((Jc` z$bBIw2-tH!UYFkE`=DBWHa&_Yp{_&NU99@N*Y&J;n7IQDDm(WTuxwSNuwPT`Q_I;o&1SuN z=^?tcDhT^HX?{9-P=*|G;X_8NKXOsc4cPsi*&VLWG7YMc8f%8kItmxGmR>Q^C47UI zM~^CtyM?o}rlz&2anS6VmDP;bT|B~QlvsBL|4^pl1|di#{abv7%cX|YPYB9Zzu#+n zWCPTSBJVM?uA(Khn+u-G(|G}bARb*}u8vL)dqXKtk1Tw^7kl))>Mrlu#O@yrW$X2- z=@1esmr__!Sx4O#wdGBxRxGd&Oh_2LfbIk%p$KDBOOc-Q->mIJ7aIhy0POC%2gGTs zl@dwi*+LIs+XLx)O8+wRjh6Jlz#b2W#;ue7@drm>0JOxEm?l248Up+k6oklhLQ>~v z-tJC%CV$>!hDqEyOOo6M*?cAUI~A4HyWzkz2D>f-YQAvbA~2Gix!<~nFg~u|S{6jS zu*@>Qr2fp@P5fFyZJuS7c+4=tze29iY)Jj(>4F=@um|63OL@&mw2uWp1WS@aB%;s_ z5wNIi5zdby@+B#J4X=l9Cc*i*$wgDRZz2De+pR@-A}%1uvL)Y&Xxd&Ht5F+329Id( z=wi_G8=HC`^6SHg=ZBe=*D6j`!n=1x-u!PafzWSb%j#?*l4?Xah3_7?j&3B589Y+s zPv0ea46PoS?bg3cmk<#cHyH?E+S{XTo)cDel9TQIczrmr2_?knN(QrE+!6$cXV2jE0bK6=me z*TVPG_f&1xyK?AF2jUPPD8mUaC1iWPehZYD!hnnVYO)7SQFKt@hST79!eVzNmssB zV`y8~RqdBksm1+UWj_H{`5xok{W25GOXtGHCoD!LMzrU-9O^tuc);akzXDC>xi4^wTRvJg^wv@9JbDoW| zPPji0YB0~}404YFGd=U1G-N(0%lLS@rVtBvPfAlB&`zlc$YOuY@oLkJOXY5ryw8uo zZQL!p?f}KszZ5LF_?;JzLPHVQd=-V5f%{er)2=D z*@48&?|xiXa;1>33D#NX0qnRSs!!vYTq_Ma6=ycKU;TOD<1*ozuGuq*5`oxw#IoJa z5Q%wPSW_sx`HNN#XziBUSfOwr&MbR_Y{bdnE!#igi3%Zr>>0*p*w%QI z_iHMhRdZdXF*w8ixpJhtvCnSJV0}2d<(Mf@0BJ2A@6m$ZovCz)=uP4WtT1dG{|hpY z7`PA5A?_~jun^ucQB=)EXT+%oR(kRW`EdmDu(ZGR0(uO$w}Vw|TgSOu@Xflo=;mxp z6&8Y-@B=WK#qzHu7Ojs;_AyzWG*+LcRVso+EA_c(GR%PK;6EzX}nj0W0bovsl{?5p?H6DF<^%M1=D>b!|7bvmBe&>pGjN)XBh_G@K=!+Yh~-V=e{I?AfpU z3v#=d^nnjfgKfVD z@0)J24DP1L4T$((W;u}eTUAx=(0wfgVNXB z#i&A~$a`vJ03ky`PgU*ik0>7pbIjQZxuNc!1f{D*8%P~mCSjIPR%UVEc|4-o)IwSz z8up1^356xfj8Dt}Y0qFJTk3$n>Ibg)0JzVw6XuiEv*JvdwbX3fVB@tYgrX~ zUazAi=bqMlP-d%X3o4Q1+?+1zHOq48+4fp1F!m2^`}4Zu4T(p(Qw4)Gh-6}3K5G8-E*TecNhuMEP)7M&|~ z;p_LA6ZQD@wW@4;0K|r-`Ag;mr)M*U$Uv9hl|8IDnTBEjhK7p$Hg(K(;?yEYZ7 z5Yj;a=%x;S(&WtsQiYpmNW-NvMp~I0ID9GhwA*tOm z3%a$@?qVaTyQkFf937u1%<0c^_Ag-_FMavKQdaS4Tf^oE6LBkV`fB3hux*SV+`n%} z)d)O4E}x-edNGxq771Qg{+*ju%9KK7G-&q2*QIFI^?gzFLuW39p&be*boO9E+K-#XfQs>K1Z|;WnFjvLMB$i7N6Ik?X*#@ zRHr}@*pPsa=w`2fj@q?8`&pXXsxAob4~aosKp!zRn3YW!3Mt~lhSXc>?z%{w8jGhw zXLT{IhUfjtB)9P_iwDj{vIZ5NBPp8_j##6G3|4<$$e=r8=fW1VU1`Y?xN@5ejQz$m zMP+mL`Tl;3EmTtf`cqcd&R2(SXai3{0OE;02`X5{k0*X$my;DDJeU)}?s2m^pD19; z!}ZNq(~*lD5Mpt)U_a8OFLfi0ua6;81Yg|duz$PS9~G;xSf()aTdYa0S=RZhSGz`E z{7;IeNPe-hHoX_(!{@41v@*VQb#6f=ePB&E{}THGF84i8cpU#R6Eg>^OWr`ML|WKeS7(=y+Zs^=`nyRj!x zoJ1#r=eC?7{EE~U&RY3-+P1BHM1^z-(NCt17r?aT#fC#@tog)e#5w}1a_2bhoL`+D zn{*k5pZW8bfl7_ERMo4d7r=s=Q%MP_&!`OtB=4IJHF{;0`r~Y!KIHj`k^IiG4GWb{ zdr@+OEVxh+X(kI2>bF_g%CgVr5(Z84dR+=k|E3G(txk6@b$3a0Q*6YK{X06qFLO=; zso}$(q}woXwL&_bkQGwq?QkS7cPWB7P2`e#+#!x=9vsAPXda3OWCEEt+M}Yi>-JSp9nsFxVgzu%|GQ*it$0 zt;=g-InP?A>yn;#bdXqS0-BLLb|M69i`HFa8b!b2uCe)`P}?S4MdrwpvEFcNdoAPhA-@C8tu)v(@v+XDNGFk?EF?Cj z2Y&7vP;4uKE}(>6eFoKoY$Bojat}|_ViVcr1|q3E&-c;L_7+t=T^=aOnj-BhCO%Qp zgPZBvSY{V}PY4W(bkx}_rY+sn*1A|JTpqBKX8RkYd(Z#qfZ>j-Rk4?%pLmY&(JyQb zpR5fJuyIaSax9YE&k~bqgDVEP*25GJN_+5`%#;@v@LoD!Ds7VF%}qpxovwB3sTMcx zxF1O%Bf<8p^jr0oD-r}_)bNH(_jc%jZCIEm-h1Wru1XLRe&1>hT+H8!keh0jBKn@; zgVT?|ZQ+;Bnp>Jw0Kcrm4F0UC)knyr+JH$V)&)=Z6p2EMq}H6rHL}sK+b)8UH+8t) zlfC2NvCih@^)V`J^k>6$0CwY6P}Ulm07Y~KjKHYlP(snzI=njvXmjfI^vzmq_wV6u zZSGF)D8f;}n&R%}BXmynlmM6g`7&g2hYo%k{^MaDFmi2G-jRHgo}Ko)?Ft^}8;nz2 zP-fh2HJhZ#H+hr#9Xe1yBtXHPo5T=u2mnCYBRY)?{i5>a6PXsSIc*e+Lh{OoIpk1E zPr=BclN{@<3;P>WlM4m`zsg5PkC?Ct>|9!Y$t7XHuQ8e3vPuCz-?a7_I#Oi`W$uK% z_yY^la9&dsKPaaqP;s9E-zMO`d~fq?P3(z;O=Vf0)6%Vm`s7vG|I&QK2R&pH`PsqH zy-h<$^H8D)8t`r$@!hOd-ojnZxz3bj_yho#)DHu%#MA7C&XvOhwqg@eP$YsScJYG- zc#EPmb2_B@?zGYhgEn{)Z{y~5D{Q#ED{_*qvR}#4L6}_Y z{{Zjdv!U=Q=S40jk)GsVpR6Z3`MEsBv8R9Y4>W0?%1~{6DGnfr4~;S2B<7DQQ(?MA zM%x(n^uFY*V6j_0)d+I4v?UrVb3xd>jUwZkHr zHwIJ_i<_J-0hU2Sh|w~gW5zE*9gM42Sey8Q}B&J9_GOi`gp~0*On^aNH6DqF@K*ig9RMhlq_@j(Hy=BzsRG zW^EjUF3WPG6In&kAJ9X2O&5`@0`m#Rgd^UapKW4E2%POzdV|)2!8qO*>q05Z{sY?k!yPiVVlUcNilj_iZlLgj zfx)AqsK~j4*N!u}+B-294~6UUkoD!yCvmpML{%9qm8jB4tBwUX+Y^wy`fX$nHtsRo zV%6blSGP{svfCWJA;lls9=9{ms(l+#rSZQ2B|MCNKFO<6GDD1{^|w=#1<>q(`3_p% z>`Rtk32O2EE+VhhKX;6gfs8-eV0)20zB0<5$y@31%@02b?Ns|1Nu-$T78XvTa8sNP z&XwA2t1fOMh&fFiC()^*V6n#|Z8z^c>qMT^M17jCn>8J`8617rfKT6`j^d+-dpdC5e^F!Rvvt!)sE%G)KST8ax3jwq7jLd>7^Y0d&xCetxAX;%K53vjX} z?eweQG(=$srGvMvahvKx& zyNj54$oNUJd@b)lXS1Y?quE)rYXak<5Cy_t_b+y;JJ61?zEO8q)AHrwQA_hAIG$&r zQ~38|q=ur*6JCL}T)_*gu=C#CW86zURWSaF#>Xku-cqt(#BNso>1Taz8~BS^iaw5A zQu#wUG8Y@zflGMMEms>a;F4}l!Dv};dXemCjU(BV0sU;t~K zmE9k8s_X^Bsr@WlQx&0a5%f{}y1`t+FbN@_MieAUvT5#s# zQOGllh?uCtHN*gh7cRU(=}Xjp^_f}h5u4;f;6?n0I`~caWy2VJIs&$=fP%Ta; z2He+bG`bLH%`dv>So?!OVh)^)acaf<^XkSpG5B(v;sS<44O&LigAEdl67*wdq~?87n$LP40VQm7oqi2us&NcQyVawryye^#i^(Wy8sxh(y`;Uvxjn z5!5k>i9bq{V@=JItZ1jp7E~ANdhnAVpG>it>2RLIHGDL@oS<=VZO?t&5wN^0K+>-P z0b{*Tm{Bp8eWqd)i4eX595YT!8%xEpG)Bj^hNk^j&x?92ugvt<5EpP9I}`&E`?C5&9yY(M+Db@ZUgw~t84Z|vqTBv zB{|1FJu_T`K6Z>imj1@|312vp$G;Rb?Mb*!+7r%=Wrt6pC>9GbeqVcl=px!DAQ97M zN(R9A&JJFQWEme8TFm9Thq}F2C(XOYE-oWURZ1^20M^g>kH!*FHogt$XG08TU+re1XQ)HcSn5!z~giGQ7AMS&-m~k%IGa?RkUCS<9rf)rvUJa_X<1#T2EZGlex1b9?cHD%j~Do zQI?GHFIe6{E!pbQ4$3`O4wBSS1fc@i$!lo{0)sm*7Pz91Hf;_gw~9oyBu85B(7U+3 zw1Kk{@9ALMsIC_s)p*Aym`H=Q`$7Xmdu5~xfQAjBEEm@{j7M30jBd$%^nL{dD*Xyj zrU93Eo*mC|OQVa=)ay&wdJd430*DCa)Phl%OUO1n2v_(Ow8cIXP zw@NdWu$kVue1Cl=f(MqO{PQPCBr9T0T@3 zAwZUg^%D0hN;@SqP{;W>i~cfmACQ}?JGZdt#CO(F=Z^s^{(~X%w>IuXeZb-5&5oit zQv@}?m*8o&?yEkDX{^_)1DCe?A&;V!272d!+uaF+HS9KFVjW8ghh5qv>}W-tCQ79E zKzehRF*yP$PVn={3nsCTg12?$lf2q!7B>oA=jo-yp~D!Mhe7bnU6Ad&{&h2@5h%bSx; z)Z@!m&bKCqVy#aAtu^U`@5yPW77nbIet+h*=>%B%mAN>e8vmJeMlO1gQ2j_0rp|xtw4OU5x4*4y#RA!m>JWB1T*EX9u1YpA+p8aVGcEC$G+au}$&VZlQhw)3jd~5N?t{HDk4f;C2p^ljCj7rf7VAiS)N~nTj!1M@;obY zcI$UDh8;M<)R>%{GJO=o)jI!!T63FTMP0w(Q|NkIzeVvN_|0E+f#rE1C zT&}s6|H+k-qs~YI$ua&9w$cAzxzcrk{h%Q@_a5Cse~|J(T6&XXmk3|ku5Pxs$ueb% zm(EPL2Xq2s)*>%u|Esl9@&C1p5#{wi9$9FYptY^-)!tByu8S*Ns=4FgxIXUS%uH^3 z`;i#z58cq1HL3sor8{X^$~U;LY~Q}1-hs?vVPJeJSeQhL?jLUU{QdpA1S^HVxXo09 zc)iw59DLFLS8~G`|7k&!fRDUIf5@0H!MTrcM}LI0e$LZ906n%$jK7ipuWs{)DlZ)G zgCfFq`0{&>7T*2W2O%#jR%E1lY{5BWS0sB~J?j5% z>|we+=l}h@UKRYG=h3t#|GS%3M=tFke`3Pl*zxO_)Y&kE^L8-h8U3#=$TZR6zWeaN zjf0a+)pUM*JUlsRZf%_%>w_jTd~R$l(A?Y%HU{qw`R#G@@$HOVLVsnuP!$qAK7f$m4K(mNSlKdR>#8Ft?pWI-Z&9M5Md zKY;k3S_00tw6x4GEC@)CwY9Ys|8)PaQ8CW{-?=jiA%CKz^6Uuqr@^qZBF?sc&{X+g zy`LoouWa?50H3T*=H?3@?Uf4Lz2AyH>Qjed>^re$W(CBZ(}Hdf|DNGpW9Qa~%B9^~ z#NT@ndr``o@x{f32LTh@@qNUigUWSQjDkniaFp>&O=5-r8ghT|fcvPpe*Qco#I~Ik z)XV2rJ5H&EnikNA(zmqPMT`@YB@(xgO-@N~(j!3+6&G64zVBm~Fkgelf1_5{G{#+e za7SqJo}wk~mU>Yyc@+OaqTm7D8btnaNL*sC=Ysp{A+h0b)&?PYL3m%n<-wzb# z3d-fJR+59pvNNdh8n+)fbwJ6;giJm&M4X*T_H9LOEl0r0?l3SR$3RPhI~GQz%jm~S z%I|UPu%~#QUCL$puwn;`sd+EvQbaQTwquz*iC=2>5pyd#}DJ9$|kb z%hDblWm9({w+R~|e>ao@?(*6p8e9u?6pE~2n@lNT`N}k4D@&u;F(K+%j-)x{KPetAmUd^ivA7FJ6GLMBvPybc3f_9{c7<(&rLv&ZtmPSX z&Vz0QGii5h2${(>_DVM__eDUfp~5X+-c-zCP3y=Xe82_}?q9DpVh6Vo#+zRay^FRSB>Q8etb-I6d6! zamKk+H@CWwHp6dww88!mDVLgG<2%gabCR~s+Kz4TBzoU9-HK!&H9R2hX6d-x9|pqW1i7CX@0-R$h|TDktXV_h3gJCf8c6u%Aqiq? z=8O7vlG3f_E3V3E(Q=-QcyaL^J$2c?eBaT|QoU zC}tgg+Uj&zrBZvKootB_RPciYrZI5^N78ef_}zxz^?nyDU0Kw}U%vdOM~lxpf9&Oe z`z08-r>L7s5}Lv)4md7liatZGzJ=Mo@ujF4>Rwc1w;JP5OeRTi6SmvJHF$GdS;fTc zexF$P{%JXdqwS-*p!+_{xeKr3!{`_@sBa(84y-%i3iR~aw>!s@PDUYi`^y_HOIY)p z$g+)yG`@f$e{**>NTNFRl=&}|-D5ly1z>$|YonHNXY#9~q2e}H4V;>nYt$i&yVSvt@`%!tV#WHm}iTHoLxTn&Xa= z|6AN06vgGu)uo-!q97{p^Vx-C*z@_tYkoktElD((*!}*7@^J`*foB(-j@eD(GrJc0 zJ7H^Q`HDgFTvpu*MQZFdD0_X!nl9t&P5x~&nK@*W)u&kq1jeZN{UatMIC+J3+sg zuiUxJ(7)k4{#-$M*vUj?DK%`yZ&{AjjifICP4}KHhVwpF8J5-};ccblE8vLZXKAJJ z-Sg@3GXQS6#yAU=c~FN)bcy^C0itJSAR4FL`1VVVw;YJu;bc0sj06?n(L~IOeE*cS z!-9;|C2zf_jr-2|F2z>>rVDLd@$HBa;K%-TG1QjoHPlxNQCQa#BqWoF)B&k^ zdd?D~=wn}rPKCD8Bmv`URNmV1BS7E0?}T<7kzkGMpVVC8X*8y6gr$Bsz_Uj_#Ef%I~N!!`NJkn z*UF~udi96LpAy!mOj*@_mF+Pl?L|K${E#fAu8_b7w$_Qx>`qXAfl7l{3eL#5B+q8m zLPJw5hM3O5uv-f%evKp-YSw9Hbm+@u?n9f66H9M@ls^OhP%vRr$6!5Ey){29zPr~r zy@YEm+9IEIUJnuECA`<>f~T`(AXDfRDo|o{@CO&YKu3MxEJxy}+w9lfC!*OTpQ<`fTk6#7Z~H%U?-#egm?O&m5Mdh=n*F5INlq z1>Su{(%-mblvDohR_VOpe}IoYc3jP;rhKkcghEcO_WLbI`013c5Fz>FmBuJUuHt?kGTW3U)e~L3fp*bc@RAtD-h1XeQ5iG=VOM=X{f+Y_x^OV*TzrRw_7%m z!q(PXMnWE04V*bkd{#ot=u@jM)RXN^O^cpwmsy}7WRkT`bMD^y1{cu|Py9cEGahiM z`kh33zD8+`(A*eBkp!s^2USY9?g@tNjtU9(V_So@OgC%HS6z8RxKmGFUQa47p%Fd^ zUN85f!q2Pc8z+O%^<1=jss%e^cVPrm!!B{EKj+2$D~bUzx%^76gykn)zIzHpC;-T< z^-JJup{2D*_QM1nu{KZIV+T|{)!j5}-0#J_c-7}TRZoEqhZ>Aq11{^D$HVEu9{@X@ zRw*ryorF%`979-)Zl3*C)AG^BqKaZ*y8#MQ`ZFF6 z767BgWQsRC>wMhSqT!`%JGN`70y0hjOmMB~?_$8LtLY<~T=@Vk#Sj4G=8GnVE(H2+c3qPEZt$49(kIy^2J zqtw0HSq{%dva7R?z(ji|L@nQ~6I>786#1}M;XXADntLS&6Wn*Sy6LMf`U<2Sy&ro1 z+hhi;}5MKrGCm-Zan|lCR$;nX=Wa3U$+XW8V4LJBwM@MN@g#4E$ zg6IZKX;}WF$>YZQcX|`ZlNVmVS@#PLo(a*u)v1jO6Qx+$A@sV2mq)v;Ytau~%wKK=xIU?fJIwY-BCjX( zFiV=Gz8Ta}b*a;el~VWEEWs6;eIM$+Wb$6i_9i;lYrK}*fuiN`u?OF~=xZh6H8mw2 zaHDv?=6D!9IgEH(tKM%YRx2VXWJA2;4h=_0QcigU4&!s<38`b+~M+oo^%5rLdt`Rbv#8Yf`eTedHQztVk9jURjSuvy5R`|flpzDJ=q?u;yh5)eD^htN&@bp z$=faDu7Jf!&OG-U`z%0DTTU;xD|si5U;c0i_{S`M?zrT#>Jn<5iR17wf_8CxC>e{Q z^~>R-*G`@D4$;TK&x z)bg~WB|D(w*w~}#O%lF3&r|i|N}HaK^5RH25=`iJcE#;+OG)pwt(E>mh%)i3G7@W1 zvtv#t^K(14`Q4QKy|N1fHKQCw$v?Er$aQk#cqp9sh8t(s8B>F>ZyOAPop07f4!u-q2v0f*NP z@LgVIMtJp}S-HX`G0*SN)`HS?p9Q)nzMp*`k=&dueoV)2AQI@qJ86P?8ah^V1xqbA z+>CZdx3SNWvRj=IQaNXTFI>x*p79 zz&YQ&cS6vk+t72m;PY1TD$QT1VMS&f!PAni1vonJLlAV7yQv<(_+HHy+JG$;O|`jJ zW=V7XxVT91P(noBI@fDh9?xMVu=qsQ-S916m88>a=fI>?Mj!io>P(z=$tsuDo=955vZAsR;bbgE z^ZhTlVZrMWcth`y{etkYQ?zCs#)>r@JSGOtfgCbp=in1mlb zbHCu+GZ)TBtCR;xem%Rnw((qXQ(;}+d=yp&o-hB8Eh~2ZvNQF?^5qT7`fI9~J&DzN z3= z+Gn19;N7rHeB245dZa89lQcnk9w4EO5F*sHaJT5*z|~jv3~~4~a+lJVjsZ-n04lwb zWqt#OC?2ofeh7;%*@LeP%jcs_CVdkqFQQMl-Dlag)~$b05&pb_en9s5d6u;5Y(mtz zY%ogoS8og9d2lfP3IIO@Lm^dRt#i()5$lqvA1D!jvIWpV3UjF^zD zBik zqhA$#h~7{O$#tG{*kV5h*Z!)TSk_2~gG2I%*|AaXc9wj`eg>ZB(p0iosUrfWH@kf_ zBN)?%$unpPUeo+bLC97bA{V;1?;(v1i?2{*4U1Co_ z!5o(`{7eD#G?N+ZzGZ+|^ub0Vs zY3q65pJQ@#4K_pj%Gx*2c38RXZn|;xXibRfU0u?!PSz42t1Pd!x96PhE-7PFO)45~ zRS;{myuEIqNr}h1T|{?UigUH77RGqnst%F7G1&e+fd86=ONGLe8c{D*-Mv7&*6~fl z{smzVzPpLe6o{!)q}Wk3_Xlu27>&|t^J-c2Sjuh=KHX#l9Gji0p<>d+|9V6Q{`S9w zU9wd|xn5W8z*>m+JZXaPU`PRc{53NwLP~8;Zjm|8b$FQ>5K4j(JGJWGR3&5Ef#Mn3 z+H0wQ=C=*bJpY=~E#~AKa4&l5{mVI8E2O-P;53B5qUW31VIaW*N2rd-m9O6lsxizj z+B0<0C=SMbmd^=<%8>Cv%5ttN2|?xKbUGP_thT$5C6=~B2MYo_MTyk6;W)*Wk)eSdN3;H=XJkU9eWQCH+Ufb=^Z_AiNmcyazOuS^ z13>{D2W7n0J|V)N^*zHn=7$l%ZZGa6d%NAMeO|Jm}mdK_=d^}_C%MBY;{bqf5cW$RJ3+` z^O%#n&#Gy8r)9MjZ^$bR*)6!(rq0V8Y~916X!Ue$%7}K6DqHgDwE(%e8z&ywFs@M{ zl~tcYOT=XLO{ujsa=b~@orGF;hX!)uu*0XUSgPpfybz2VBhHkksFK(9+w40woUmeb z`{Re89V0vQG?RK4m?Swp``zQ}*Irwyi z^ygr2xnR1>+v=6f{Ue<#AE@3}65{&k6!iBxfe7I!cjtK*8%%MdIeVy@n8dCQ0eHd> zpY*-J!hr=)oQOZgbCOfb#ro{$efA4<%IbozQK1KB9Hntih4dbRkd~l1qmn1rk^TWA z->=RU?7F|`Kbp_M~<(rE#6Fpy=$eHwAi`k_7^)y2uekjB| z6O5(3a6T_A9zSJXVR3p?IN|!fUPgXQ5Urqb+(WnJho#!zinRyX*e!sPk2v+x*c3SC5IsLDT7BkP%5fMs zaIavN!}$x%s#IcL{lH1t+#u`6=Ak#ciA|wpNx0A)<=&@V0%d%F-RCg-R&cs6ulbs6 z>39%-RMy&7M#ly5`{l13S@oGZuZ2b3(5P_^b|YWGwifU07xyR*BKdSKdmLGsMnA0V z_uuKq8EHPka~n{)xzlJ?t}(S98yB`Rn<4D_Q*E&(my^gTN5lXrIhHr9Mf)qW*MQ26 z!S?q=!hvwzJ~yz?LOaoLs#)06VN;Vtc0Rm**8PV_v!w~+y)|$X7SN)52THF8BKv(D z$%)*xq=+?V2|wSv2A@}rSbkd1c8nVQQ~Tn;3uz?4p_&dTJvhH^@P_YG&L0o!lun*Z z{J`U{MmV=5?Y#7(NS1eYF-{oU=Tt_SV#1o6oGb_@VpnFgv&$)P=In$Tr z%WnFqXEXaDyxY!C6Eq{Z$P=bPl^3XAWtd@=qzxc^b?jnl6A0ds%vza(3LYYEeqH~Utf9_9m)!;Y_(D{0NU zAZV)ktEeu*jquoz3awi9{?_Uy$4TLZR;H>ZwegGW29Z;C(DY32=Hduf56LAI1J2i< ztFJ1!eW|Nc#!t5I7kZrMFI($fqbkbeGV3oUl2rV#HpCP6zv5swdB6wn3XEDrBzP*W zU21%5&6t3@3Zu<@*sUxp_4|4_-I%PaDPN5RW2RedU{ozAcd+dFQpeuU`8q^*khcNL zl%%`C=_~{(qRLEE^%-&BG{a^A89V#Iv9^@{YU$v%$wn=y$&n>yhxStHA$;~A+`X~& zLE#RZR^gQ#lUwf7<+2KFn|9CsV9LQvVJ-j{XQO| zR}mX{yX3pY2tj)D1Hdn^{7<*VE%x5V`;XbY?4|wI@eQ$qjo;z0yo{OM*d2n)a|SeB z!^EA3$2C)@LN6{@eyvR&6sQgCqYP&TI@PA*=>(#yZ?}5>Vi_w`tU>SBDFgTJ+$*x~ z)!A?2_tEG*Zjia%&9$3a7mZyVI@gDBX;AM;utT6L?+5BJrG!@UvpMu0wwvzvc%9TY zP{}-49IBFG@WI~JTR`q(=1{{(Sa!R85i>k=P!JA4n6A!_0!hNBf<|x0l72lLNiStS zcRaq$Mvuy)8LbU-@hfkcHZ9^GUOuh-TIkljaInYx`%t<5;5|tp7_exKhI6prg#Y9T zaFaM^e~ql>v!H~3TOKWN% zz-ATvV^iT;>q%a#T1(ndT&2^*-K*{1iY7dF5D3fI{TrD}W!|Y+TJA5d+1auF5TzNo zfeR9sD8R#u8}+(SRos;8WgmO$Xk z`}u~anxbhN*Bb#GIUy7}91I+^lCV;bL@yMvsC>Cd;gv9frfCsbTW0j_YV3;Q*3H7( z`Pw9LhKs9gvteUq=|aOS17@Z2pAxu5Q5K|<;a*4wOlCq6?oV*n&t&kQ5MgOx60VMb zZRB)Q8fWe*b&#z~otLn};vE+v4eZ;)U!y6n+z8L#4~y)^fT9`D1?j#OF-_C;l+}*5 zbxK@VJQq>ONy$kb_X|#oh2#W z)_q(eaNO11!aAz(_Xet-da~|7h3`Gpmw)>@*q%<_qFPr7Q zY{lmdq}+EqIJ%keQ9gUFx7EM9<5sKJ7_DS^y>i1nv^v~J&*MoFr|Y;l+gVJ+%^W<# zerq6*m&V|DdcP2JY75=}>^of|J9051I{$L-2WQUnUn7a*By7OV? zlZc?}!KpJ^V%%6FQ%K8(jTOV_AI>{ev{ZFRfsPHU3e)e_B^^JMRR@ZJ-eiV|Nr%o_ zT_#z)&$s-fc`vuBIOl2@l&|z-!eNg$^EBOwPwK535%w~!GDM0c8k#`IVap5Jq(F}* zsGl;vKfW6gpmTOUDA3v;#X09pH%i5=?h*XxZ)&uW=Zs~1v)GS~zTqJ97guvCsSnPN zN=&=TB~dfcjJ70l3pex>Z@?*_$bAloJqk zXJPXtTYMgiQSap%4AGs_+Us?8eZcz08n$p_Ap==-Ydp z3E{UhZ&H9gR2jAX$|k*oQ@`5Dd~oh}T%_C2de*-CLY%i2hCbEuc!`Hjs_ck?7V8>h z7R40*TZ&ydU6O)?itdG9!$wOb_|v`g>(bQZW?O5i=cQCS5W&=gG~ktHi`(@AH|j)A z)~S4z4;DJ=A`3zK+H|A+>rb=dpo23ULqf^BxL`#Tm+n}T+KGv7bcT}S zR@CVNDj9r$6H~%lt)@=}hcNF<({EV7@pMcjhhWl*vbC&?yCy`K)eY_`I2Yf?OlTMH z{}kQE1W+90YyKsG^J#7(;fD7AV(qP?;t0BgZ%B{;0YY$326uN0VQ>o`+}+(JKw$9T z4#C~sA-D%;u)*Ekc_(>fch7si_uI2)>yJ6p-E*s}tE+0N?!CXdjP~?onK;m(SW+Z3 zONWD1*3p*3pN^1zdsnz04Qx?Mfg8`Zu-s1*$Wr@O^e3`5+h=al!_Tc~20q~tP_9^t zqaDpWH}0Lz>e05cI*q6)S$i$6BCK2EN(tn|+`QY{=YT9!NFEiyYodio@NML=3Q6-D z8T#!X2Ax1!78jR2A8wygNW~RAXMMXyf-=wXWfHK%cr7b@ucB|gbQ&NRBL}z^rX6_O z566R8-xqeueD<-|HKZ!8`9k1^F&$hX!RSva>c`B$P$^uvo3EpJKP0 zMAcWFV%unqG&}Fhd^8pPDH4p2tzD8<=Yp{qH=uZWPIq9!_pS~*H*Ji}z@gRKgohRN za9}}*RqVIJ+AzI!sO0cfjoRLwZfWY>#ZD+;Mr$jOuv)FI{vAe>=$qv*+kCM`6g}H=_+gGLMM>0@{$$wuD}wI7-@8!{*kumaa=n zmE^>HuG!(2n_`W7ACjoZ_cSQwMyi?)N9+YzN9=u1Bhv6gYqO1sk9&zBrZ3G0Pl2I4 z6^wPzz2~ShlTev@t=tB6HPPDIpd_#h1v$~+51#wrW-~RTTie?Pm4wL(M485&qxIhl zkEauDm*z2>?BnXcUC{-*9aD&_thho~1S)ryWj|&}L)>mU>tQT|e+wPC-*jd`cB?;F z#0ouKlt10SJlkJoRp)!GDj4#2(2OuXJi;$4cI=_$2-v{#zW0^6{%&%Ik&M_F3THQSHo83V4xb;lT+L0%dDK`h zWS;^|XCck;RCE_#@witTV5Y3EuII>FOSKab)p5755>0UznA|5$A@AkOc&?QTTF?Zi zzU|*DCDYC2}c1f#`5dfF@S2o$lUaiU`Xqi|? zgk3qg5>>Em8x4F0(Ae6M_&DE3oZo_OZ{GkEmE+8}(a=JdOBo@gOvBb)Er;3Fa#5qp>11VoAoLy|GvQCrWBX>)SbN3Q+srye6?QaN9rk!m&$R<& z71vl6M%MRhyZ6#=PnXZufYapCiL}3hGtV14V%2#*0w#_>0J5vkF)Z4ZXQsBlb>n-v zYC@u!K-(Q2NeJW2PPk9ZFTkze>tVP{Oo*AAeihyXsWEL>mHE?=a zM5hM#{N$P8V0K+M=+5*?wl&8>ad&x)*P294+tJagCQ?8SeQ@MSRKZTVuOPDyf!-i# zJ|q7WV}tgQ@zpd0+}SIef1%HxT!8(zF#7Q zp4j`dKgS++83#p!r4)2;NFM8F|96(+(vwl;&co6^`(GQ^RGvq3$9rw6G`W{&%uOxo zJD#N)zIu_JDbYlK=u^8$bhn%tC9Lkm7nb9Q!Bj-X+Kb$$RfzL*R`cQ(x0UL?563K; z;t>s<*h{%Tw@qeiUf%PlL0ZE!WL(A>Vo9dp5^3R&`y-DuhLWZ=b72qc1edAK7I2+$-Q?^Nzn<&7ZnoUkRyVVDKRO z6Iqhu4DZYhlpXmhawGdUt}OjhD)0bR+XPzs@a$%Mos|L-*>XJ`_nq{Jhc%VxW~zJM zoy-88*0ct%cXi*i-)a=^;ukf@!%yw8aS!oRLjHl((tG$az;YRKo=|VN+N0qrLgw6JK zZHLMhS>IScm>id6xB5smYhCXu1%QAo92^|oy2EQ1cZ`gT(C8Q)4{)LDX{>_7sbm_q z3=gz-E^M-%I#>^_VffA*o8%!CKThW+miC8t#&)3dc6*!seRvnJ@u2AF*1M+yZXY_X^2*!i*eUnr{OcO8`CfDZ!$g|c znA~PdlBLSg)NPH1!~#x_zn?)jGP8|R0~tJCc>5gKdhl~9yY3I0nV zo&}{8jMg)GmS=i^v*>+4X@rx4Ul*j7s`=mmJ=W~bq9mLR4D7K(M|+EUxwAjxsysMs zgv*Mca(4;>-z|!ArW?tf)2%=4)a7Y1yskgi9ga(X=4Gi6lkIuqX83|2?+6e*PCUtM zFF7*YjntldIp{1zqwHj}4s2+v`!HQ_dmqIhJkfz(e=q6sk)x$KfWFZ&5eaw9rBuN8 zRQc}h8tq*6G|HBDW^g`i^x}7~>|-(WAvOFN0d@xV$&SZqhA{`9-gH$&=RuK^Bx<>Y zuY~dSXyGB-I=BV#&X}@}YwXhlqpf7VcaPn+?<+XXe1{irMca5!o)bgv6G_B{0wqn_ z``3XtF|MiG$C;LD3W|Nz#V?le;{KggpA(uJe^TgFQjT@UKs8ZhWz63X<*eS6a;Fz1 zZ`npBgVSve#?_c~tqi-AHxDIVXugAF2HS%BT+fBjf|XP_&{BbMU^jmQSCnN`syl+{ z50rxb0>8q2F~zy)HaeSdU^C$5=WK=js1Oyl&p7fB9<1EDJfA!o)WqHdR(W)kJ??v* zHS`@MWDG*O&sd$scvCES#`{##iY`(FF-f1_8Wf_M(h$zE*)zkEjI*8A`|by=+DKsw zAox%MT!XfVEQGi&ch-pVd7Pc_GuT|yJ`BChp#p_O?Y6+nu$V*1j`7-pK4NT)kusKNqRkD5IeBDk ztUTlx8tYczDDxw?BNYQM8TKE)%OJ3}w&vuVrN=oa8WT(VN=Zpck2BoY*IZU+o&E4i z&r1Hp^v&3kB%1SoNLbW07fI?H8yg!M%3j97hfqeWK=X%&{?#bU*v){!Tbz2t_h)le z6p6!!>E!m1m67rAR1iSUXE&Vrl1f`ZXfX*3Bcl$@rK!n1+Y=T>p3W<%GuAH@AG+J( zX>DTrD?Hr3qAX5lIj-s4*MExXC;3Xj1O~>?%|lujHXOxp_Dd@AKeB;d?9BE5ha~$y zBulb5IsTI*+#g9Y;XOK-oUT2DzYnb^Q<(J6$NzI|7);If_x#_FaN>X0A@rEp1;qNd z2!F42&VL+w`yW63e+!1&FX04t<}xgdUy*;8-dA;X^{+{o$uds5 zFyR#qH8mw=WwK?eg!-mRt4?hDXK;UW#3T7r6@8t0%!fx{28J@Jyy}Jq*X)+pdREY8 zB11W~lCeCU>o)mqqR6fp|HAFnU#ajn*wE?>?;08^&dXEDQxqs+Ve(tMy1p(}E>1{L zrK2mMYODCK0)Jm_WhL{;?rzeq4vb7?WF#62$^}(hVv%Dr{?32RxO)>{t^^J*Z)HU% z2TLl0wji}Ck_rY!hF3`s!Ji71jR@wgo`I#!d0Irs>(~*>(E=$~TU$f%lcxk7<2j%! zycqnyD%Y=|PdVw^s$}4XlquaxPI|^vE+m^I$&TZYl>K3cf|(b zqrudU$au7PQZ{1-UAf%IWGhZE(<}cS8vKx;6PKakVezTz)>bcen(@EyOwViJAB~DR z2Df#t!qxM;a(Dh_<^MG_I}3?a;9gzAA5NAXV-U-R}K9~xATh*CwfH& zh#!Ow#+06> z@@LoV(AvOPklS~6%nYP!v`fw4vp&xd9)tu$FosGlMcNOv`7i}y803HX0tBs`E9?rr z5w2?ae);u4aFQazWEmC-OJMs4s!gRNr66??rOvHOwAvYULq6XJ;~2QA!>SuJy|-xg!r|-pV~kl| zNeNMIQ1wv*5rr_}%}e-mmvRl2I?h(nT@`!Y$tYAgJ#5Rco2r(}PO-b?>V$qxDP2c* z*#L3kb~LSIz=%H2Uja9t$_HHJB03V9)NS6*aPPntd%F1 zlH{y=LB{s=65(M|7)i9pTF;n5r<`*C3wzPMNXf|WInLBfp0t@l%~c$XhRA4--Igv< zBN^@QOz;T>K5ElahRoa1?^#Sm+c2D7!g|th94^tWr^ka-RkpTN4?YLBo*wC=qf>6b z8)nceM=9x0F|>E7S~4Sh;yGDSuz&NlZSp3%Xx*YFmbLb^y$%UahggipZ;M^)rJEH! zFqm!h?eVAO$$8e|3n%Vp!fWg7o(B0HOVSIjHd2v(%*dU+x+=}{*%#-wRyu`?tFe>B zvo-Yh&vdfBbaE3XRvSh>X&SkVC0`VKY_Da7I!-Pe00ztw0^IS8PW=yKdrzK3@GbC* z*A-^GX?FZkxJ}+&0TuEudQGcWc)l%NM{({UgNd}D0sY?SWC+Hu&(> z2)+Ombm9@Em^{5$YRPAFjBVMKr5Vlq{)dMl7qY1mIdWp!@k7s99@Ai@!%P-S($&k9 zgtThg%H@8x`Z^Seu;&e>O57dzSJ)dDDhrZk;hz!%389$mAJriCOOEayx|izjFiE>A zB%~#F!??rzC3u5=7ekdXLR23X=klPvF}sXCf3-U3&kS!8BK`aA58RJVl*Re`mjOu4 zIM6N^a1cczS3zKbS&exz=!Rhrz;c0Oj+6~n^LStPc23W-@-a?tPY|#W+d7=&9Zk>Hww*Z0d(JWe)0NKMCpW}Uy`YaH5O+;8@%rcP&;Y!8xI~m~q zWcYZjZ3(4ME}4VVhRZvK_sky|R=EFrbItJ&@Y)F`fv;`&Fr=-YzLAIE}rVYZsk%XxuM5Q(id^jOfql5pimyR%;~Ein~Byo!a7_-*9b zq8-SlTDP}uBp52bx`&V3Od`_HY&Tv8XE|Lr+lVPI*4k}uM-URJ8T7Koj!I*J@koi2 z)Xby(8I)$nahed&f}`?5vB3QHiyN>C=cCyS1$X7u=DAUrZ`N#RzR z2MUNobjzvoFG9AY;nEvc+O!fTMJCyKG0xV(dviCBUy@mAs4RhTcalgNv|p6tsz}=w zin|>RVzXBzx2;={8^kIdBPn-#HI1pn(n)WP2IO)_LvOa;N7%3Oqood2Kd?5IOi_w& z^TE8e)>W=-t(~4V-^IxwTEw{%Aag;=uQ$}x5zK!&b6e`A1`knGOxTaUcb_3s?|aDh zr+EnI8a(%W#jjb7ZiaIVHFTbqxqE`HJL;Fl>y@(ydxYvm&tqipD6x+5}Asn_-} zn}^58mP0)xT^esqt@8I)W@;VS0Dz9V3P&HA;o_R>_hP}$+T1CuoA9@1ds#l@(SL?< z4V;Q~NQYfzM&mH2SamyJnyM&pv(YPB>A1;gQQha-A)nbJG6Ep(b^AHqd6%%mg{HME z1&fRrzD^39Yeuef3yoejvsK=10ob=_PLH0QoJrg;$E>xA1nls=%mFX(>WqO#-Sx*7 z2BVQ78Ow@JXDy4N{+5bdf(I*uVXh%bJ|ztm7m5;!?R4hGSa%)N_hmmH7mC=p9%8Er z%SmOcmr0%!JEL=#`nlzV!v1O$fk2a*=gw#&j5-w)h_dJ(#Ra>FfXFI$rL%}|O0FNT z#$xhpLMyYd_KK@$uZ6QEW>Gw*;3UR4Q_VxNE{Ms3l$!~&?1SX`md0`oF>+fzqqGh# z!?bR^sEUWePC|B#?vKozQ10pF3H>7$*X=a-C4wOHt|OPHM@R~3?0aJ%&_Agxt(06A zIr0PL^UgL&ysjkwsFSb$ut#%>n+|T&R@qAXH&*!q)k2O$R}kjC;+O6%ApvsIg!uS8 z6a0V;%qDN^O8M?P2S@o|fQwNM@a@k&)o$eQc|fe!gp3UjaNUCm+4K=oi7=bU*_^sZg$iavN--DPqQ6;L0~L>NfBlwei#MmhVj*Kq`N|hNDDQMZ*g(;CU-kDb(7N><~*}s5FT;bvN4~yR&SPn zRTL4Q3AcS|Nq^RScsO`{Sztl1Qks?E4Gd;=g^yj^N<;DPg+<_BiY401EegvTaIz&&f;me=P07=PT&7JMinfW=uoqpAEbOyK|vjDPX%Y$s} z!F=O2mj=4Z8m78_1*|WG%g&32_;;Ev@P~P_<$|1fxDUVj9~`A~R2d*ZHdM}h*Ec^i zAusDKLA>uLjy7&A9SMVN2F`Tx*Q9_rk@Se=c6odl(Zs>D9OKsoH}9j{UJqOO^jKJ; zw>wL_Z>7ylI2K-eOvYDJ&2&E}nU^r%^8{UGJAXTue$kf6mzgO;+3Emcouf$=TYsJ# zi`9Lq_7o2MEndcKEy)MiegW`0sN=hu7*7ga+3sXkMn@(TJ(bRMeBBwR=FN;#0FPe# z+NY=T*CpRS|E@y|*IJv^QQqrPo-H9+`Jq*^#^4ig^81`HYgMY2)sH`-4 ziRfK(MJ!!^R%hs^BmWf!l5jqGAXL!~7lv$?9B8V4!@%%qD#);_u9sUWin;&|cs!d# z4?C-y7XAQ%dJXolJu98k4@^dD&(cK`=<~viP%c4-_rIzrx|!~0frY~ndS@%SP{L2^K7r80!4xM)}ySmM&Q1L@EN0PAkjjMwokGTNX>6{%Qy_fM=EUVoM`O zIvHe#24=@_b;i)~fifSrZGjd59blSSOXcy;K)@_KEjbdRF%XOT4M8iP+S=?W%eToM zA_9||TvWem7eAi$V>|L$ovMj*qiC-_cBmd)6&XC%%v+rn^LTW_GfIk&G48N`DsUU?lLmJ79nx)n*_2@$<^`+ zF6pUk(GF6b%p9nV;63-kC$a1BIovU1KBD{A6O+k4CdQ>W+Cta5$}hy!c6c#~{=3PXOHyR<1B@)!}n zJ*&@Khf23=jCkI6@ExN3K9HG~e%PIFhppqdzP{>Vqg{>rV3uQ|^|}R>IZc3xp^`>m zCR6ngpC(>(U)KY?Ib$97ET<(5$@;jmx{>2vl~L z&3F+CD49mf9roQ6?O}+gqA-6B$LckoLVB3;48c20#yG%Pn9dYR(a0I5+9%3)n;1XV zmk%}|2)3}H#j>GitDC#u(n6`Tdms%25{C|Xz@MoGYDqSv^{P&_s)?rEOJ`CJX@r0* zPN-MjTojG+@>lZvpNa8`QCgW?6-AA?B6ghb52JvJ8tI>T8{(Z5Oj>>v8kbKmXVc2X zQj1=E{v4RFxvLMh#{YOp?uj@F*Y((nmzT)vR%2bn(~!$YnFIo9oM<=ANTHVgcq7#= zV3+ALZf{9fe48~~uw}~5e}=LD6=hbSqS>W3$?G#JSK(lrTu-_HZ?eRY?T@WL1W4PB#WneEhfPh)ez~U^I$8vZUWJk_f%-UQAK|gQb9Hx7~(~X9^G4 zH}sjxf{rw4xV8Qy8Qif{udJ;j{WjsnU-sb1dKq6~RK0;NP5?fWM1I3oqnu{U`oU|2 zP`Ejaaul3tT<4-b3O?Otq`**bIwg!*3|Yu4Ahpn>zxvA3#(j3_d?fN>o)tBFJIgk_ zTqK#V$#wdj>-$uQ(+q#9mG&|*`}q7NJRQBYHji?gNAtky_7brbDf{)U)jURnA5Dde zM$O$Q$7@0?oT5bQMS#$0luW?E>(0U?%_KxHnwC)(uA-Gik#l;zO>=sx`XaKfv-eEE z<`9VzRpRn9vF?i5VeSgDfz|5#y*dl`l=>2{sE0Nrz?{>EB=!8@#vaWRg`c?(o`*ncL;Y0P|Wn_(yfr*zS&wy**Vn@%@Rq z{AX1Hb-$FIPTb&E1|@@b-Bj0bv@!eyU^5utB^R9bsO7E^38OHN@P`$^H|JtU@_#2M zO*WJKtBp1QUb)(r^!Bm1d^5iKKV^^`8>u=(&CmEVMvaZ4Ct5%x`Zp5xM^_sT&h;nZ z;;jAECJ}{S9bx~}rn(8$6(eAM^vd!*b=F<)Nk91@;AXo<`UEO$%03E4M+w%J%(HM+ zKi?)z*oC^_k8Y)qVl^$i6;N@E4F&b0xZ6LmGVwt@VX91-aK|W@Tiv6g2e^Vr?$63f zY-c7Nvu5jrpstNn`0qIC*P3gZ_cwLDyx6F(=V}-;W9r_A;Z}OZ+fi<%@h7d-okc*P zc0C@?j~zPJP*+FPZmlw?;cwxvJ8y_IkE47X#Sl1-y|t~J`W{0;+V~ng^%zeV0&?id ztP=+Yq3o95)=aYk3@#e?EdVH8{I2CSpkV{W%b+1T)zacxrMo|R5ZpSl9h+}ktL6#x zBHNy`+oUpvz0V%seZ>?rvTP#wl+@Pp-?Td`wUL>>?n;oMRPf!m_nbM}Po7|tmR?vO zMzK|HVlWl*cqyL{=gq&coF+JtU_>h&KFp)rT}nz#i5o_NkmL(|Ax1UsEsOu2^4l!9 zz-P6tZhsq9w)ZU)Y{4${OL@#(=vhixf2a_1VzQL;xbjZA0AmgIv1`4(<1uxaYB35# z$Zh!~vFkOm%De8#{jNOiOq~zeAjo0r*w5@#+?KcoX^ySPc$IV5vZq$JqjUPFnWA=& zq&RUU3#;M@0qWLk*|rbc@@(8dryGqir>Nf_f>i<8=5nKIKEH`9GQTq+6=16KHeT!s z+i$F5Y9%KodC{Cqp1oGDuX((i?a65SrOVK!F)agRw;ofJTRRq_P_HM8$6qx~-rl<( z7FKy@{q<50G`lR&G{oq@)=;0fH&l)V0Nn4)JOC3sbJ`wKc{CkB%TGknYhe=OXzpth zq4-s@Dc~1}NX7XR3AP7auqux>d#zY+Ky&lEikvmrJA6-H`+Y%1k!87`dPJNaVwME8 zz&7z#ODZsLdZR@NY+`JIFdekMYjX8}pL;7X0bz!Y61l9(`s=dgMAcVIG_gmAn##Pf zAny82e2Q4HD+ZMzT~DVYPlqijK(;FFLK*mFct!X5>WW-)t#ffgHo28& zxEp88-ioG-O94Cm4v-^u0>1u8mm8^segv*hm}>PljV>vsjMoCJ>mcd5m@THVE!uiJ zfBDQ=Guz(&tD1gs@B3~Y$JJ)}{aRrlDaNMj&PY|qpqDC=$g81oDa{DJ$ts1#Cc74& z<~Ze=U0jsbWh|kLCn)bd+dY+%6;gJijJ@o*RY6{T8ud8J>XNSP0I=4#GTLlKDRWeF zFKQRMleM-iU_T=(s;58Ml3e&V8bi#Z zd>e}6+0P7fqMT%Q<_cNTP23-L1zZS-DCX=cjTI32KJZTVm$syKm3Da9eFD@CLmjo5 zpgPGK4nt9=aFgqf=i1#&%U!MQ{KHmCWbF5YQ)4D~wx_Ohnqg~t(o)(^^OiH;1n8g| zK}80#ls0Ck`@3nGyobp;rqQB@^Ht|I?i#fLqQ0jMj}6CE6TU;W@@qy-Ph7w#e4vZ5 z%6BP3nDT*=N{t6E$zMXOgFfB$4b5YgVXQl8FWkWcPv09}auY)2(Ivc36lZ45*87J- zk+VbTTtigHeX{n0Yl>1vw%$PO&=gucSZA5w-HNAiR$iWd4vU+F!>}!1r8WnRYZ43& zuS38bnZvvuyv-o$rElP+t~Yl1al9g$f7}X z@bM5lp1vXH+BqxH)JrM`YF9F9^Ui3etS&kEf^1m^?A#|iB4 zJk7s_kzC3*M(%8EVsuERY)beJsJ$pIhV&V9hZRtB|TZGR7x88Qom~G-uIQ=x=+|{_H*RrZe{X8Rh~S+95`(8<4WXe+AZ0@$sIcx+%)MLHT>pvw z)Rkc-d#R6rgN^uX7n%V&wJsr6%W^bGrmcvOB0`lT^?=2@2^O7z z;%}*}%A>L-^eThuRk<4PFiSc@!*bmB&~cd(Ffm4Ta5v(-71*YJ>S$czH9eG~IRG?G zgLvHG?he|2fWav>R<9FFuk(Ye=_a#cAo&$f8@jJNYI>U%`nR|QrCKF{T`Zc1P-BO8 z_KTO_ghCR784xNP!e_My+%c2sdFIE?lGlig?fXc$vJvwLnVcC@R_qmK+pNSO)4orytnizLj-AU(CsT#40=YZHM#mo^ z{rMsS6J-`BL|E+go{a2Wna(Fc^Sr^ODz4JhX5MhNdX9fs4K1w80TU32G~1Gh`h9bvaeC)_7Sl+)Svx3&EY*dJQF{w#MH}2-RS5W z=Z4%6;zlh`sKTP_n5=A~fAvQ&RM)mg8hK#F`V&p`AcfQ_+?!SBi1{WAe zOFX!jOm4OkJj5sn%R{Ps4ZnnXb&bgc@Et8~x5h#z4owdrP^7gw4i@?ECuy2LmVN*J zDij#5#N6%#0=5@wN7boAy|RX4iASSYxR5#oGK> z5O7wHl9!>d;JT5Kh%+CzvLFvUAvd1#XGn28tt0y^Z|sxcHqZw%14e~(xHdGj++3eM za0o?aUzfi4C!-2&u_e*d;W*FgyzG;m-L=|u>?F@IO^^Aoj6{Qmsue2|rb~)cJkE7> z)0&bfCmvf$)_K*VK5lJQc}g&-$P&}$IiKdg$>?Ij7icQ#e?P9(Zr_j}FnW_@vQI$J zJ`|NRBL8xD5*%~!AT>+ioom?hg@yos$$eN=yaSKZ*8Ub*w?=&N>n$=DqscO_bN-JS z!0)W?@X&IVF^v|GwUiN!+g-eK4KZi|Sy65WgN0{Bu!blZ!Nur^6raqj>C`xZ^C4&J z9$a$y$TU0pc<0!QDzBrHjS4Q&&;)^&0D;H74RyNKTHXImB&6T>CbF=u_|WH0z+AO_ zX+=r}%7C;U`nVH!N9Q!AJ8!9ipUx4zYY<~1Y{Pd&(JczetFJY1Fo_xPzDQ0Ck2bX* zx){c0|Di&%j#cU|pZH0LDHL(E221NV7tG~E7R|#Sk`s~Ry36dD?xvV9$Df_&9+0pd zb+j!cfj~Jy7DAm+@M%oPHQL>EjFK-n{)Zj8$o4Mjeztb>TE`khRb8rsgn2EaAxy;b zqFelCvOqFsir-Y&@A%{YKN7-<`rko9nAxv>Gz5Gt`??AEAl0ND?On1<8q@l6`&=+? zt6DIGHLEk`h~;2E*!?i2y-t6rrq7Sdx-#E zcuE^FbMKS$Q&-zi-QIU`L{6WtZssQEO?4{J-MMkZz)O4@rF_rU6rRDMsr7tbpR!8qtLm!qBvwU`O_ktF`URSBds`9yPg=0J)u>;FHK34y{*>ycJ2n zSE9{sUW`Bf041E3h&l@SZOxW?^f^l@+#kh%3K@xxO?0#04jiDm52zUdXZ8>&B3tU< zB~$WZ(kQbws8tCq21Jg<Xy?O?0nKGe`mT8Ah~b3d8>fXQ89L5-z}J+t0oD%hEWF;ZA~hu z2)1`IVT_+-)`o*2Y9j4q0d-*=;K2uvd9TT4HdswPN z_v1F{5TK1wpAp|Yrh+TF`>4)9$3sJ@W|%Mjc4mBbiEarL7LjG;{9lAcFgYjtjrMji z-jz@IG$TuDA%He%MYLHaa2E#!;K5wW6DQgqZwVf{p|#VIZpfVg@Td;CVN`#J zkZQU{7stiOD_#0%5($5Aqt)|?45GE1d1zqJSN(IB>uQKPvEcd1NoO$1!darH`EF^U zwC6Bw;g|#vwytqi?EFz0%e8~=A}8OI(+k&=&RIV`w5)ki`oT{>IXq;qI7*>xR_Cuh2cWk2MEQ?d*S;M)lW5!6+>X7%!rfM=Cgv8o$op zV?#$?cb}f|{)Dx@u|EB!oqC`sdvK|!IN)I8RGceyskB-(+t5|^rowJO#*+R6z;kiO z%9Ef1r(M14@j|1(LVZjW(CjWGw6G)ec>XNVQR2KS$Uh@fFuqEC5eK{mZt^>(RBH(v zaZPH}3nHPE<(Vhnvps9mwp+;5tCnxw{NcVS_;B9&c_gN`JI2Chw{PaUTB+ze z!jNB5Q$^_cJs0$vh2WM0b$4N>mE_0yU%x}v&mMsoXp=X$DJ>Pre zZ|Zu7Fg-`7rk9g?;t@40#0oE;(^1JS;mPjTt)cr`zMytI#k+RT)R^xe(;)y!@s6eE z`pVa~NClnp<3OKXTTjxSulKwVgwB2Y;aV;eFTONvr@v^P&zL;t-{`uXUKeODLU25a zO2)h&B}YSro~3@Gf}8|e-5T`|SB* zfww9FR`aI9cu3ASJxMKx(g3ct$~T~ZCmL`wd?OE;xn^B5r)C*Y)9s~xU!~Zpj5}iyEM5rV7Iup8Q7DI`rCar6(}F2#IBdl=^pU~o^Y6ae^D40o zLx|XF_?BlgD|FiD`}~Urz|qf2$Qa2np6C%Lo4!P71;rLboFUW~Y<((?&W=CQ86P~e zq0mt`nDuNU4w)tUukS8^HWo@_hy_x!`5|PFY*bn_v5eO(8z_r2Eze48yr&E9wn;3URlc-9U`PgdoUc4# zxM~V;F#S4~b?qqPOERXPq9mTU#^cyO=q8#>Rd0Y0-tx!VDM@KG{w@2~4t+TwUy{&( z5&#ald8Y++TVQetd1fougg1;V>TbyK>&|HxtKn)>9|N6#@&HMJln14O z|2)w9R1q>rP5Y%=LPkag(dJjM zNIn#Z2;&x%SF zcjhhpiu<)`?&UAC@BcmmCB~n635VOdfC)z^ApCpIk0s0CKhO=B|25L&zalCuefF9} zXr@FB|LIn-5I3>pEr&a98`OW)@So3&w6h^XvEILU!avUbuaPGI6;UyiaYBTF$wx*A z_yY~;>&qFjPI$vIxBq#m_4S-}8rFg7vfrjg3;QwumP60&?<;&A&{f%B+E80d8$YzN zvJ!HP=2w-Rl*F7Y8}(s;1A)zi~t2ppqNR#)KzI;D@@Sb z;$n$n5j0{(S!rp;WqbaA5%~Lxx_@ab=vR*P7$O+L6yGIztu z82^i;`h&;(O&J7A`u{*yI+d?4eS%g;(l`HSxJc)G#`S*&!2Vm1h+eTrvyh10ww%U4 z!4}M*?zOnY#Hf5@clSFp#f-o0zw`E=MbaZ@a;wlixkfGulI_(0zemj(jf@ChhJTEj zC@?VciK1vWRa5jJiHR@vk&P*tMR_*j)+kWE*9TC^PgN%KQNzf5uk=n}b~$-+qD&j& zn?Yg3zdb_*4!m+iGGk9!wU|C_YeKO{_ZgIq^ zE>?;zL9m%ZKI`Oi4O>>w;asNpjSRgOk{kZTdvtA8Y>|sw7gcRr~Vn*a?~jU zLCD$}e73SLZQ0g$L^E9!9_^-~92N%yj?i+BFsH(V-qa(&?9#nB9Yt;|0 z>Bsb$>8J3+iP=-OT@qGUzNnYP2rr&96eupyb-LTAyF|eNU4>VWTH5-V~`&%#=mF})0I=N;6JO3G_f~QdX~?72oxio;o``jF2lWp9Um4) zLVfH`-?(s%1gT0|(B?J2`$)!0aj2tV0{=tnRRT|}nC2CG0>_Yvb*}vRUOG;TU*Ve* zBosO41Y>Lq#C0r^|HIo`Mb*_bjk*)}K!Q8LgS)#E+}(n^ySoKlP)5o5AY&7Nya^u5=wZyI<)Y=c@Rwsqcn1)Dq)5 z6Tv@aE8pC33--PN5jlzfAWjXSz~&O(e?t%P!?=+|LJ`-zphQ#4y{Mx6BulDorg6@|M3p(L`jSEcx z5W%Jp#8b0?4`{!!&hClmRtxsGbFK`id9fF3Zq5d!B3G@VA>?nAOx$0xXMN%Bt~buL zo`k-Hy=EDGDa2x-YJgQ@{+YnOL+Ul`2z7vu`Ga*ivR4knF7KCF8C&M)F4+UKz}0f? zH*-Ocqu*zSxoU}dX;p|mb=&=Jsk$7?SYk#IejBNA>3P`T6!B9)Yyc&*itneE%V(js zV%RV#gjpp74md*SsTu^>yp=(h8V?a=sSDA|O?^why)uncEFnkZ=Qv=+;H(MJ`l9(k zqTVDxnn~l+U&%=RW5)r5)a;Y^Dp*4kT7O5>^JaAkvjP)s%MB1c29$GBXWT9V=RMyZ)c46LTx+m{UT4HhwQ#E6^q;iN@(hk7Q@DbErFXaUw5VhIr{k@9A_hhA{!y@T_o{2WITez-R~0qH|G2AvgS3PtA{Df zSsJ*uJ6$Ci=*bBpAa+ozrmj-eH<3( z?zX-?&GJux1CHD_PTNOGU~Dp5zAlAb=WrfyK)DaPWXr|lB@Pg)YwqN6UO8R-UdEHM z!om2k=_!8Qy(rCQxIILFg(OT}h3jf%ybNH8q*WH=2ZT^h-GKp!%Bt&;D@_yk7I!k% z>g(a6X5c~7B#28GtQ~i<4!hwu*YPvwyd}=yACLqHjn68&tTP&t)}CIC{6%pB+2)ny z<&c~YKOxs~Orrfz27n)->I&e522W6MfI#&R>Fle;wMB}qv_JfI*O@9O-&z#sp+rhh zcPv|w%ih%IbTs_r`OA(Gs0Q@&+`#y7Z6kVDm5orJ0<=R!Yt; zN@}hlv=tC&QHESP%Gx=%-L3}I?SH19+G*Dh3>$Hx;3695SaEZ>9KQkgZ*~3YQ82!g z`==URgxlM9c7(?!1`Z*6IziQ8?gro-$p#&l%mic}Z$W3bwf2ocp+vH_UIG2XwmP(C zte{-lD=*}y`vLLoXl(R!RtJ4EnG~2^mxav&7)KKqn+HrAkHSM z!wuE%05z#DxDsVA(?;T? zQG$@Od)x-oH^W}x`KNi7J})eD6k8b@LW#I8tbZ{kIV2t$>(7crykb z4heg$rg>k^&Om)lHD3MH_q9t$)nY8b54Sr(HNI#BY=2`yM76g5K5t&APl)!a_#S{9jyJDW47OrjwA8~iI(KJc@3ZH4O|SN-Yc)Hk^)THYncsOe8}!lhF2;C3&LhTY zkL7nmWXbF=1uC9T`>ujYL3`mJTOXcLzaoRSr{N;<&XgXz0;<^Kgx~{{5z{niA3lXi zL6nl~8=G=_RQF!^<-5vX$JRQHFr?P17aCx_iV@OGe6rP;01w}L%DfR;g;U!z3tPDv zKvI?^oUptNEH3O7HEpUY+_G$QGYvYP+ye)`hn1D5)Fhv}oR6Ak#*l^Xy}WnK#G_U2 zBM>=!Bc^5d(UVwu6a%du@`3eLID@+@qp~bi!^LiDm*K+S0NBizYPVeWaBvI(;6#2GSWAoubxE)aQhKg$6TOUhgL9 zIFoo8@iRu&(su1$<@a=~SrL=Bg`?^GSM>{HhLOZ!dGlu4Z!;Vnh+Kr1S~5p}-uyx~ z!*nDfU)1qj^Qk{0cmYY`F^hjC+@~}pm>6c4$^|2*Gq1J+!Gp(|tV7tkQA379qert= z&+7rTp_B?vl5P&ja_lCv_v%7G*9%K$2fboHpn~S~=9q0*xK228>pYsIkS&TMn3Lq4}_z^>mMnr0K@I z>8}0a&v>i@jkCHD=B-oaxfHy_g;l=gcXS>+v0eX&#D!hv360*=RJNFXanMso=y3pX z`%4ywJ7@|Tkl$!?&|wn6QsWd{Eh2@wdgM!Lo#N2YDj~nW#sP9GBtCJZL=XmD0e}Q) zykIR1lVch}u-TteIHON9V{;H~&{poBN$rz$F8>x<8N|Z2nha@ot^O0m# zDDnrr5w!N1DUAeoN0n-sq2Q1+r#!aC0&VHl$o=#0-~|kULa+cZsk*0{E%;e_;`b2Y z28V@)7VF=9xN_Vu%GK1cG)dUcR{7;C{D{AhW2C3X z2LVk)*M(JLsj_Hz@5~4rQz#|UD87>M@hloY3F4suZ1vbo(4f?kGBdEoFfgl{wzf-( zz;DQKwllM@B^||7NP|=~B0y3^P&r=T7R)F`Cfly4u2XHp@#bYkLtAv`a@;yG4J2$o zZDx}Tw?WD)#Nz`I72rop0m-C@EQ$SMBskmEgJE!#C#?_K<3Wit4J4?*H0{9O*&8%G zUHmrSP!v=!ZLop-N7hk_iw}RbN?zW7Fjh4a8YhzGC0$f)wu2~0(b0L#-bXIVo^FWQ zStx`nn&U=B^rFw9s)as-2iiSBFJz!dPgGa*1RE-I*UpCEN)bCDdL1h`at@Kf%N=Q zj__$E!*3?P-rKZvT-K&v4ffIR#+vA%{q8L5R^RdUid<-P-bey-I#iRB$iS!Psi!-* z(l-$Va_RoqYM3uLpPBiDvgN=M-0=4kL?cq2m`^KI$+yIg&!1H8I3cjo|7qs&6BPAK z0mnKPrpux5R9vWeK?18ho>fcxMg|D%BMopH=w^`}8lER)b;eD`!X;5oyq>JvT^!qX z;6RFqDh%EyeVrCfvljZc#Awi>x1dgRf=Yu7w-eXf8^t5NcfH=bDC^l>i<~j-Wgfd@ ziPV`S(|?&B?=-5FQl2<11HU8ea=Uzgqal56l~5zpe`<-)p7RLnOu0@=Us{E44OuP! z8;Ofb3hZDkPmd6-WlOjCPS%BnXMr`hRF8LzBkB`YW2pxDp(od{!5d)vjTDXwh; z0}M9V52}v6=V!s|-{_<~!__>oKLPrpvjnP-TMkZg*e|ca#47!qIt9tEW-V<0CT2tdMyZG`i~Ui;K8tF^^z^R^0I1xeAco(u$Z;^^j#{9iv@+8ef&gF}0Im%&!y8&o)`;0HcS zevkzi{2$ouD@MG9=yA}WFHz2AU{6_ejcKrHzLWZ+7JVa$ z#Yye%bpKCgP&03&!@yS}M({rNi)5jJkp`i=Cf7|p4`H`GA?p;6WN|KLNKhEPPgohd zqM>&=qWI$}ZkGWANJ;35N&s+ROV6D!6cGm6-wZ!^_z|Lx1ZRK(IW_}8lAxLt7){HV z&Y>(gS2(Qw%xMa(WPHH7=6R}HTm7oPOMSF7&VBN3Ec#hiqd8PzQ1j9=y2%38@uHF` z$fj_mf##k9VFuA_MEp^o<M+$M78;G>*o%R zCOT#wArZ*Ta$`TXxmPl!9TN^^IjzO^K$*r6w zqwr8XD_aV7x^uOJtLx9-$#(s}Siv9#yftIrFd7ihPq z{zovJQTh+JD(se{`1g{7o9rk3CWymd5nV&+4$<5Xil<4=r+G`e?}Rbg-|nT%0K03= z0pe!)=&Vmb&t~oYm0Y^gY2y|8CNWT#MGbMra`!!F+nY6QCB=dcpI`gi>ETd5u;AL6 zqv_O`hY2d;OI!KYzhxQ+!;plXcPOu%HCYC-Nrph&MB2JkXyjb@^c}t zNT;xj2>otC+B1zz0*WE~rgLj8Ei6>3wZRC`B50R~(bGR2s+821`F%{QGj711^M`jT zX7`JWxSV3tc%5k?gL9ZT@J=upwGzZ1^DIHYMF0&7G&8P*rA7AgjxAZb$x z(85i_A6w}a1KA9|Nfkq&qd7BEL9pMtPglRO!<{mP;LJV6N(Si>e1e9*gM-vjLhrS6 zsR2{n4SgoQ)!Nk=oP-rR2ydOMcs3rSGmtGVE$_Cy*$>$KYdgIQmDO9JuylPO5^0AC&t<_&$`LutK3cq-0$(h23Ze-qT0Fx8XeBPP`KykOarbI7UyIVy$0ZmHCpV z^eB+{m?oi>%w8RmjZ**hLbe9m{$dZQ;CxuUzla^v7;!lFCWY7X@q2oy4-pSO#-`S$ zcUoEOm$L>AtML0T`0^WSy~LPDv8&$^%bo)REdXHALC=gjNEFy^$`rQctmJ*~ry>JU z^#2h;5-tx9H*6kPJVLUintJkHB32^0!7(ehRDlz!ueb>kryay}*+_tZb3V%A(14}t zJFZNmk7B|;)7Y5BF3KoGEPCdb%g8%Nka1Dp6v?~ofWfnW=k*w@C$jl)#ndG90o8_(9V;iY^ER;?2PUM#Itz>i69xK-)Vj^0+M3lmIYZCl z>ub)pnkZ1x?}N-HO2>iLDQZBQ{cY#o!d`4Mb^iXdifJgh&-&6L^t8((xj^E%*od6z z6>Hj<*SQ2vkDmwMBE6{DW_hb(=WLptSVrFPW`}1{g^e_18eUyr{OaK5 zm(H3D6DhC>J>!unOa$2NcCyXdlWz+97k=P?c4nmqOc;T*SvskQn2TZRa2uxkgTNme zmC$sO``u2Zj<2NghSsN6VjkU{+8$$|IB`F^V1$XT*C(`0OalA+JFi(6JgbhG)}{}h zTF3&$g5iuqON2qXBiA1xml(`3XuvO`ZE+Yy4_adA-Tma?sL|OD2iHnvxR5B1+RwU% zg>a)6qu921-#_8Pz;0<~9`%#8KSIIEoS4ddqgV)sG&<|q!BLXyD~EFzv(SNgZ9eS+ zzpT-$$(^;E9q#@|sR)_IPeeipKm8Ma!LCqb!Yw2Z%}Qg0k1zM7HXC^}vUo2pfy_dd zX%|>{rek~;Cgk8|CMzJ*k&gxjfMxw1qb)k8y_%p*TbiFJs$fsXDn&7&4uR#%7CubjN~sjQ*6RCUk}d+kI}=B&BS_@jc> z!)agsU5c=FnP(zWaQ+!6b|f?W#zg->L>(zx+bfPlmC5d+$Iwq)+KFS7F7wv56GB!1 zXxy)YKHWqke`+%-b2iHkfT=5csn)XAm38Te^OVk0yjxNQJg=eSvsRZr1i9-$0P3MZ zv=$wS$T!9UaJ!6JL60Px27t2VSKk~wr^_V`g2V57OC+tq1HoJx9O@cn8a5&R#${yc z)nSpQG3C%UU*&H{CnU;>nX!ewu=DlWVVc5R@8!_xT0sHcFHnQUqEoTuYG^|rE3#ns zwg)fgUI`j&*(fw%s=}}QJb#Vlk6guLSif!fLh{gzO&1|I>Aus{;{gG`U6%nMw)5B9 zErUT#mvpK%);H+YrirevGrqVLW=2w(?IvglcrqE zZ4GKC7Qxh0LPRdU?D4)@f6$jD-x_)LeJ^kt|7^AR(AK1?i@(9(Y>FbJbVxI9E4?{x z>ZO!>5gy}EImO9L-gelpC*GQ-zzr^+^~Fg}cSn;F64XpEfaf7VW>W-Um{GR2!SKnh zys$s+)-8mGo2P$eA014dr6$yEnlHQUEB)wGLpVPb&KrL;8H=!(3;61+`s-0D2xq$b_1 zf~PbpN&M6dpV3v5L*8MCay`oyAK3oK_M`BxRDL8641Dt4!6Q=J%mNPel9LhhgrT^E zhl`pN;1jDJ{yVFuf478}zi}9^uX~(w1B5cxCvJ@SiK`|g8L)hE*%8omlwLcN)~&!N zRrw6tvIJo#K&qsPUChI`_PrH>Fyjo0>Q_h4{)xrWa#S8!LMH$8i%X8|V?PXByG|J{+b zpO5~d6ur|^7v3HK(2_l>Wwg!bqGi22HD6S2DCv)h?I>c@`nK?KIq&=JR@ZRV0)_a*lZ0tluHp^K!Pt`M zKqp?4m-DWNZGE^kO^5rMYC@TV+``-<%qmj4V1J{_)I|A@V!-IEyxR7%5u!yeB|!~B zpwQjToeL$ZNje#z7+Ma!R5B^13K-UUAl; z{WkeWp`wXpX?(-FjdkmWN6NN6&|Rviu?WLn>A*;#KT@|Jt)=QY|%dg-6^*kVPuVl?cg z`d4IEJZ*oqAB+T}cfJWed0xPs-LVPOZIVCy-g)(vMzq&^o+Ly*htFLOe)D+;UHPhk zVw5pIm-}vbPG5Atw|Z1p3v=C7eANAlSpS9FRj_%%G;YIb3Rh?trPsh%@yZ0*jDDE1 zWPq%Mv@+CkXlPwqNayqR47Hrjbg|~*UJ=5Y-;M-6o+22)qT8zK&B?wmGU!@@APYxL zhq;vg1Vw*ZR#x`0xup^j?^@08;8W5Sd5(-hh$AHudQ_$HZIh)g+na6pesVYM`hpIO zo&}7nxKi30dk!cxSkq>uQtndyN@0Ydu%Bh ziD`mT7^J5NkboJl-t>`01Kl+u2paSr2E~H?O}!x#c;lsMfyA%Dpvjbf`||kH+NGGhU z_>maJYj`H{aJmxXhqt}hF(q+O@$cW(IZToK%On`5V19d7@Fmc}(|IWT~9$JR9#V-_ZtN*xcy4mHwE z?qZ9m%Rvco@`PG-kQ1LVjnRCt;9AQl>@jY-T_|W2-X?X$Qtk zyfBFYgoyi{w#PeP)03%`Z^2(v&(L=i#8V^Mm^SLks<|dkSuNBK9ez%2?V^D_qklQF zH144a2xnDqgM=~nwVb9EgaTYXUtU^fjvKUe3(xARxwO}{MK?JZ&w4=Tm7jezP%z#P zh6tC8`FCg^UU}GF2Q_u4@wYwO#`I-9fNiHs#i+Er^tQd|E$Ja#x z`YdlY6PFF`N=6q$f#b_B$Azp$GnY=UVgVWTSrsSdG|yqvLPGY%N~y|2bJ!)ClvSTQ z&?hf)k;9y(h`N)HSvRNvqMAjr0h;sf7a4z-OI-wFN!}kgwci-6+I^A%fWwaS1HMq? z1v)-c#3?;I3|;7%VD;1lJ{V;yLGlgNzG{d%9KeE%xwex%hb@kKs9;NXO7oO~2GC_% ze+~DHdOp1;9vCk0c-CgnX$V?Wn}g9u0A!_3pEc0|P%6u@RcdE4QDu3nmS0-~$(Ecp z8S%+4@tX{U)L?1yrE>eL1PO;vh3{vk7YR@eb){5L{DzL3{_YD=Bj%${<1{WY(*dFd zGsUlDX{ov|V5h_(`O}ey_IrIV-jR>Lp|EJO&W3-BPMe8YBzz}H7zyf&%*s+S9-i>^ z)w;+3Ax*FmeRJ`e&yL70Z)KI#>A+wdVgq+?$e{(YnF-8je&%sjfrn(4M~->M-a}2O zGYH29exwJ#k5{Smu}sv2V)!tI>&j5nm$NeRLi2M*kXFrxG#rezmc6hTz{GteP^F~! z8A)Sibq1Z?OmlyZ$z^I^2rlR)EmgpJ!TCIGd z%11{`X8D)66_o_$*TcNEe5--h$6K*FNsuu8tn(eAvPgTFox}M82;>s2)LtCp`1Yzs zJmjn_bn3sy6YY?hGGiT84Ue`Ub~OJ!n9Z->r)n1m%*r9Fp~@`jvZ>0H!2P5iGLFY( zjkOQ5E8`~Je0bA?@00bc3!Bj3=q>0%vARUA!*iQM1oGP7cb(pl-5ViQ$KO#2Pk1yZg)1vK z?^907J1c(jTX$TCR);9Q^%$0unexBa8NQzT3@kv4gq$T2z7y}irSp#XTc_#0*ao|N zMGa_v<=c#b%(dZue>9D0qZH65JBz`6dYhwxjj5yIQGo^^m$rMR1^C-~vpT6XA|Hfy zTBrzZE(u>ek`^EsU{?No58Q7k(i#EdMz$f3xbB*&IFyG#0pH}rI<@(b`{U(I&Yiu{ z8*!tv`KCIw#F^=%M;`AlL%E$057y+j^{Mb@nVLWJzYrdcX9a6=>9vNm4v(kZ>1dms z;cOx5Kfeo=zdcX05RnHDfn%M0{PR*T&jo&$$LLeps?uPmx`tGg)pnRI?nP5cDvX;{ z3^_P7BgG7_83J~aWxj#W#2k~_tlM@kytiO;s^?Cfv&^2n^+q>$G5h-_lwqpEPAlth z^+x=$E^y3hHC|m}4ZmUo#R0({egP)BSXxdM6zei(zgSGAmX5Bk2+{YO zi=jK;Y|9t>yEbF}xBCn8v`O@6%-^eneb|S6k2hT?dT)?KKcY;(OjTk2G9tcl)Afsa zb!3NBQ!>M4yut#s;f#E-IJh70^Y~}*phLe`r#&ZjU@4gVJ+BeZA?~t6VA^&UI2d5R z)$2VKkGO+8wEXbR9N~tzpYnRHF&8=#MMwgo`z42%C(R7Z1B~yEz6WJ5sRZ3Pd#!E! z(@sigkmG9LBiIy#5W+?+{xNxlXb6fB?B}4rA2(j9)#aav|G5Tz42Ol1lh6GSh$0yH z`4e(`NBbT;Z{^<0Hxz`hHZzQV|8F^7b^;zO;!oj@8Fz=97?+N)U_)pfq^?x!8q(^ z7H)#{)Kng?u!Vx@05&bwd5lq~{&XkU&kg#e3r8Txxb+N5=)gUA>+^v|PXsoo0B-jE ztQssYdcBgc^^P=qg=FZzZA+*4rem6l;;jbZ9)_@ZRM6N zrT6(pd0ZE%F_>|qh8+Ljnwt^yQZfs{PJE&Pm9FSL{BKX!!~HGx-|hqTeLClNCX)XP zH~N%#FhKZZgt+j32jp)hSl)RjDC?!k|G)QdPIxLi3@TFn|3^(h80r5Q`M=ZVe{&<- zM91WRwnhjc98Tslc{2c z#R0^+RGAx%am~MzF>ghH2*t{}^!0VLtE(#%nQ+qC6*PxH=?+AQXBLyGQmC_?^_@OT zH?Q#I{HLP|uTgp+rKJJsap|Gmo773298k-_Y8x6(&ecFE4=`Exf~V&R_`H57mOecv zB_}6OJ#~VnO2))>_|uSWXlf|z zwPF4h>es(Q{bKY@ut)pfnZaUOj0&E0Wi)Ru6)c+chq} zbE2Ga->ET0O0V5U`g_4x#iCe*82-xw{5$KXy^JhOJ~eISNU*{H)XV(J4>E&eNqn1_J4tN7NdWFbaLLwhLC@O^qcc5b#SO> z;*FcB8~lvNM@AlfEx{wWxIOLOgV>TnZqXQLDik4R*X=?Mp}P?f18d^p_s^S5<1m|b z-%j_{ZT$EzR&e%&*^KWM&_#Tc`ADgSCO@#@BG7H%#Kp27Z9|wP;%y9_z{uG75U6hn z_;p>$EuC>xZFqqmD&~n8c*rJccta_8?z!rz3DHAeQq)ZE0uu7<_z_`!G}BqB?#s5j zoJOig2*Zi>zF$IF-%o#ZsKn}#5jMvq#Qu`6c)zEZm>a67ZE{>*K9j2s-A2v$rI6%O zCi$Frqd5Cv>8hb3o$8CMg?Bf=_`^=koMLaQ-=XGE^fp@!*J5yJa)eRE$oZ@sFi9@dO*t zm_An+LT{KQT0{8ri6fq5HLUMWfuBtD2T7oaJO;b^TVJhBMEN<~Alq?Ggv&`;lN5Er zVnN4@F7&kZ;1YCTW0{f#l^!@_IL7sCvlNdvvXMFh%0c%*P$gVrb?}W4_V6(pGoQz+ zm2jT1j`?v(akcW(X4vKL?{DNRvt0wBRxkbI=C@;cYQ=|9np6(*OrM}lUC_S^<_D6-2 zCcoGfn(BMZkyN4Oj;|5#LCYeo53~-vZwgwlNUba&9 z-`m#JQE>ugEFP(vF@VfPxPUX`%vLyH8y{7!1Tgzn-87c}kc|caTIoqEZ4WIlz^EP$ zK}ZGOh_%~yV0zp`qENFO{fQyJ6ox)bJxhbxO1R)|46RKshL8FM4U|e6WLP6{z|YVh zcv!Fv1QXcMeuz1-SXhs_iNn)A2>fL$bp{Ru{}DYdvz-waIi%j&T|UZY=;QqPlz=b2 zxu#p@nbq}?@p$7PzTS6o!D)()h>AG&j~OrC$MboObm!LKIu@}W3f5PlsEFU$FM{*d zsr%f-j~acbq*u=|Xc9RtZ|8~7xK|Ng@v8My@R~Zp{VDgDs?KKOZC5Kj>S&Iu4isFg!`4s8zfN zQTnI-kB%!0V4e7A<6e1~VLPPIH3AM@O8Y)8L&Ut|az$SHslzb8AqQzMeF=5l=+prK zsQRO(H)e}wc}%G3<(_a|G?!~V`?XS}wZW^AifS({Jyz#q_UpGyp^MZ!wrEU2Ofin^#luqv!10 z6rkovEiMQlhp-w9I7|{Nx!;7heySdIOp8JdJnwX6dAFP}Vutp4A>LwW_|;}Vq#A1TETm1*9C?*JjYOAa7m*IB|!;SL9^ry%LR-KU3= zOkFY^%%Qa{4Gk`QA_(Akl@vO<(o#dvoB#kXwrS%Vsb%c2E= zU`2={l3kbfU9U)(a%$8^RpHv|g<2H!n~+3LB1KjP)Ippj8HqvA-6>Grdri7yyefR@ zi5of|EMr_`XGwk}8c8ws+1X)wm0dHZ)RI1VE62gUVd+FL!@bE4Em6=bZvcbAvUq%Y6_NTn)F zGBS4nS}&hFa_kB#Q<$&A{`z_Zm#6JJU8;*Ie`P`2|I=Iw%C_K#@dRJeesF)^6KP~F zxoAZ)-SJJ44aU5(_q|4Q=4JfW z8QtjBEZ&oei4^f_>`nx=6-|#k=a(oLkFyMt6Y3c6;wa@YcqXZo&i0w^8}3kR-}Rqt zR&LKHz10MuObZya>Y|h{Omb_Y&Kf3fWv}+(e~{kI7P8;mwWrbY9t}n4-rj;{g~0#; z;*ZMs5d@sED$v)V0=4zTEC|7YkiTXH%HY&jR-!j88F+FJ@aK7qXmpqmO=vL8vBbJ( zV5I7QYN^%>WAnC$NSYJB)_l$VVs1B+R!Mz$pH8=l4GLS^3R=(e zkB-PHjN3Qb9dPzRX&5-)`E46WMUNlB!!lDP#-g?`XPvv^@Js3Ew=2p+7~PxdP@~}M z4xM}c<$L<}1Z-8SDGlQ*3<3ji4K2mLFBX_F!fM5k!&*}5!1_-);y0g@OhK6S{hVgC z$uN*Xeucw!oV{7&Zr@eD`{`r_GQY(4-wLO>HZCxz2Ox8{L0SaH$;RPEqjHPi_``1GJ%eXo@F394B#b0&TzkwSsBnzw*z1u)4<(C}^9a}Q;h^5P0 zptrfVo*cRM3wmXzXd0~Q*^vg`YJ&291{?3$E~fFay|#evw<eE& zs08@xcf!ctxw`9;paYr}04UQ^tC9+V{Y^z7(Vkc+z_(SxbdOD8c|5=CqYD8fqDzAB zD_#c56a01VV4}PeFrjnIL#gcG^_M30aQ6^c@}s2>BCYzw>JJmz9in@mG9JN6aOkwR zRHIltZCaS1auhnfMWTjfP1SnQ%;=1OB-C%T$Hb5MNkHxT)*$ssPan-h9u^GfSs7g) zWu^=&b$@v%z!j&pJO;}EtGUqxotFwM(Q`{V*XN7pBQ0r)cebxM|L737UieD%cv0~9 z<}xX4;EGVq+WwRQAs{?5GgTFZC~%&Y&DUtC-hc|GpZm6c*`W#$T_h-OKQsPe9o{qi z1;4mysk+)MO<-)&wF`wbgtTX-_qHPk20R$uMir#D;Q=)U=byW0e&0!^7y6Xv>tTCR zYA6-F(K!a_-E?16QqN6dPrjAEdnbA`nBO z8>lXf#iL|tZb|tA6b{&_RnpcK9{rdeDm`#fy~t0L#5FcKGXfL&#ECK96R-;j2t<&j z`Iou}rPXqcZO9NS9@vboWVNnTDW^bsA`rD(T?J7mopv5&7wk_>{-OfqR4+VzEI*H3iQ5|{{SlHXsMNg8%|`L1Q#cJh9fcWGKD=>(cD?7o zSWT^K|53P5kzWyqdF#C6v1FW@h=9U&K1xIY&J zM+k!VqtsOX>h`0E)Fua1Ab+z7IPJ@EYGab1;yREIHbM2O97lV!e{mJ{4fZpeQw-ej zj$L!_UxrY9UC$+TY{W07PPEqk`Lp3{{3s}aiv9R}uNkoX{xw#`k!}%W%$kUbgCXfh z7K1fnj*aL^=SF2leP7x*s#^;=L*}lo(QEQ%1RC@b7T(Su zs2U9quLwbebz@xxjrD7@ku}%OU*Y#}OYAl-Qdw#(c*I}zB6gd8NA%=i`cYFNDBdcx zBgCXs-yAYWJKvGGbp=49pX$KtS0J}~WuHi@^k1<h1kCYA+IbLZq1o8cGk=E!6P+S z)1LV3k<91WHFp$((h_{^5Q<_y_(21eOCRdvEx+yKnYPLeI!aPr@+YWU|P1g*izi<-_W<3 zT`Ef$z2+IZOTbnqNtIfp*0jyWMZk4pE@Zf*^TO zT8(>xTJ=dEY9(DVFyy5J8Wi8IvA%1L`4@U8H)j}S0+-EK58JtA=v$;C=XRIj5ASld zGp`?oLc;FoXxP&OGc2(NTikzXO+a(2((wvg%o*GMl{17EQ)&Ka8&G3S@ zo9s8BUDI%39a-0B8$@XTQ8>jB-&U_i1>-?PPhMpOWqDRa3o?{W9d#R3(sbOS(#|$- z770<(k6_R{qThx#MJTves+W-#l^wff1d0Q;Y&k{MT$xU77o|Kb z;2(s^-i}R|FQ1rXLI1JK8&02Px*`%&jz*CWs+fMQ>DDWqu3YUe0CBM=6dd;ZwD<={ z*#;dghsw@pI|diOCU9%?=zo;=KvY25o#1B2p+6Y@wh$_9mG-x6*jb^!h+Ahcs*oWd z0rr#PLpbZcQBG}v4Bnyh=}265_h#Ev1_ZIRsn`Lw1mbm_Mb{54m6M)w&M{Hk?~Rs| z3pC^|HFcbe_zmoPzS;|TxV`Hi^l9j?+^#eOMMv&1iUMZ@u0aw_Q~5I22t(clGVj(4 zsxEmR_K!Nlq-d#sWcj?enqYmZR_t!MdQEZDyjf+5cSwCAV&1I!HVFfGtew5zn7<}+ zmnuU{T5dj{;%r>sZy_x4$SYeg-zaxFpabC_udWuIt#IWV8s)wF-MezN*v}b1J(^4l z6Jm&JF2F?!f63~Gy_Q875{arjs4C2Bue0T+-zV)j)kvgP1rPs-(&gWbMkQN}Uf0}t z{Wgo+$Bb#wK3~r>oAx=id?B%CnUtQZ;hpA4zw2itCXLOHir92;K)}~?C5=Z_1hjmM z4lY5wq)O1Ok3VpALjgY!+ce?zdv(sfx_+9L6bXy8>9&%L2bp9*aN=Cn!iRk~is5BkB8aBExAo&WVk=a?_HfP(k2X zh`(A<;Y%C2dH6&TD+s$+9@nq-osGceO0KAF9iOi76xDRxYgtZrogNt-Ft5>AEvb4} z(kz|Q>NSK{0sO7p_h&b&=>Xtw00!7;c^~^9)omI|XDxC}cVjD|6IiiHSZ5z}X1`ob z%jAh~=6Ndmo`%xdyqu>@1KWFz5u!GEc-&;5eV5_+pB$EwRm(rrAo(`pR)bzQKf&hj zeYRk#r(e+K@@e_GIu|1fR(9^e-*{jl3<66#-!(N~L%XMlk@cyVh34{paAm0s?4BaR z9AIvpsMquDy!y?kg{}o}eW$fKuTP~jj}IQS#vPx+pazqM3(6BTT$-OR(`^Okp+wWF ziKAvAn=O|$RRJSmG9EKy1|jbU(zXBz`tKaWx~BqbsZYD<3-46XLd(y&8n4yHC5Uu5 zYXzs18||M@3gW=37D0KbEd*IYz1P<7L8?w=UB|?=15^)Z6chK%4C+-Ak-7J zZxqqG6ow(bmFD9cUF}0&sG7#OmD)kI<>^KvE_p!(_5vn5 zr5u>oBi{s&U)+z6!}p>swV-!TAkM<4q@(?5`KN6wrg(i# zLTkK9_fM{?1a#p4q3kWg+HAW0ZCXkxg+hU1#fnp$;@+0v?jDM}yQZZDf){rv?ogZr zD^?`9OCVTqcjuq`-p{j-cYl26;6s=&bIpWnGIOo{d}ktB9h zt2&)5(CfUZZp=$3AbVIbVZEokNpDuvd{xxOzQ^V5@n!sFiAqUmgQi_gYiJ`Amloyq z@}Nqf*jK?~2Pb8U;v1{9*X5!D?T{?E`bHDCqniv#Q)!?ui}|sTxPUU{ZN#h{Iw$?F z^GI2tX1YwW`Y4`&tz-o~$}%AKiL=_B|Hf&Eqn&`)%TI&`)Umv9(;8YdwmZ`$BbioK zf-Gj;)YpWycR{Xm&l`3I`l*Ez@c^mWVRaThr?y*I+-1)WpQYntIxTVCL`U)&`nsw8 z{fZ+GnyXD3DfTG`q>@!1Eu9>|G=mjgih4{GT2!{b?zFumhNy;4TAHgaQd4N6qy0|0 z{cJ$P_7trVN#P5#*}taNe*cM3BI|z^C;8aeL>FusvUbG`3CZNcdS3Fxg&Szu)%DC& zM{Pa@V7p1=a%_(}z7q!j7Uuxg-XN^?&*IZWll6ewbfKzLU(1&j!;I^)%Q}G1MC`UE zq(bM&aSx60&^FBLN&k3RY~{LL_XJeh3AC?*E}QGrzYFq+bZ0x?Hg#MX?o|}sO$l3_Zqsl<>Qxnwd;J zc=h=7Db}+WvRo-2nSZ&Sph>@^Qk_)&S*p5iV4Y`SDQrqzv?jX0B|0I#P;^o6WR=yC zdT`*`Y~WC2##iBvEoDcAwrczj&+ln@mFK!2H@CgYvh zUl--(>bYn0us1#>LJRJHg^_}>i=(8KZ3Hd@To%b;;1h*}*qkT+rDQkfx(0~7^$&i|zqKk#b8NHHS}+xd zdfi-dtH}>tUMTz155EA9BQFT>>l6DvP_tj$Y_Z!zeb@6s zwn)rKJlCnV-VOgcsqY9AF$DLG_bwDXc$bwDg?B#Dt^L zXO-UVEYap95fIj{w0;^ioen1hR`Q;ORr`1mvuaw;eU)dbvwn;`x71unOC=Oa!r!ns zoFs7e8egy4CrkX`Vh`eyURtSoZm}I^+CKX%ufWHMcA9g1IJh~%%-a|>YohLi(F&j$4XjXWsE!Vgf;%0{bc$n zn60*#GXuQ#$I-!tR`PDDTa0q%>TRNxxBsj?IfE*guJnm|9!b7A~odV4o|+M4sI$Hx1}Xak>`vu`w( ztB%oF*71*7hWrdd4G|d6S z0}?IcUg_w13-b^DC!qWDonJ0q#bF8%I(3cx(4Y~GOL_MOrG;hZnK4B^{J zl&nWWhRM@S?3Rvcg5Jm-?q6Bah zj8&yv)#G3{$B);_D!~Z};R(Z299`umz1xHyVP%{6*}S}FkUzl*o3uK8Rz=_jD>iF@Kxlho8asTHb5kbRn-o!nzb1kElmxfrynitW?NDuXz9TGPi1FnKVH`9t z|8QX^-QrCPceup#U$j3>`>f1NRrS=4Q(_C`B&%F%eoJmgqr~@Jt-Wh41K1Zkj06eB zqIJR6u#S4*eWEa$WlbxY&zl-00U$kf<*6-uzqq_R@AYSh&fc*=7UHQzP$O9O z=H%M7s_9G&5R$ebaDhK&VB=HgzVHbPe{5RPv?^)Ua2w3}o!h}94I9Lf^1ED;M>~Gz zXi-GKuh|bfW~t)d1gG8#J$cyfswAbue6G5<_F#wPP;P|S<5r@-#kY-PdE1$UwzO}k z#ZbGdfdBefMM4BcZZ5n%EDYHkppqGY(KY_mFH0BZW#9YBuI8U7@xk}yhnW1VHmUEQ z|EmQUfOyt6e5X6huz3F>!fysQ2p9jSN#BQ4!+WBw>9QiuiTDwRluOuVIC-kPULoF`-8?F7AUv;|sv!8r_;t|H zmZ~z0Z@Wm356}~?-_i2dX+&FfEk@@=^Fifj(#nj{i4hRFes(q{(VAylR@qe6LN~&$ zDl}(P%6ha+vF?BP`$`zl6H0*GMfmIZE8@K?~POQL!3Hf zIasR!09fBi|Gl01LuusM4lJiJIrD0_G9f{7?q%{HE`j@y$UjPtW|a4M-F^PePDam4Z(6!Ba7Jqe0F)r}!X!|8U`OG=S4kgU8Awi)$qmIh#1yLFL&5oJjw!R17s~_;?>dH=OqZt-aeI9YJL1f6f^k9g9lW={JXYk3dTUb!zR;Y!)iO#sk9aCto*DrYHdy%HYyXOP5#F1jgv8_ zYGR~2EdPnXo!nBUlSUZ4KfK??lQ#E&>I7GpvE}*_PR<%gM3u52a2#DIC${W4try`v zKfk+{?y;w)FRM+ZqVQS2R^lPw;n+1K7<~>B$~N^ly*w8i0?v>mB+wpiC_I>+-zkl2 zX~qa5fv*fy;!oRHNB6E?9G0BmgkR?7)B*1l%Xl;Vv z!DdZ*)zkjrS7gnH)BAWS3kmD`95wQ!qa9a`)017OAJ|@gw{DmJN2Mm>ZetP;x-o~n zn6X#aSjtB+lo`$6vCleFi%lK|W|lQ}o0I5k%;7zaz4>67*!V%~Rqi=AciHvZp6%1k zmn{8Sb>fVcM!znm69>=irS>J$XKR`Or5n;lr<=alFY9!`;4Q1`hprIlAOJ8~FeT+k zCcYB;DN3h+4~|SXR(@eGdVN@ePKZnP8H6`9B1C5yBVau6-cO9NqyF8wIGyvvZhtK@ zwDL3?tNqf<(PV6YA!N|aKp-39rt6T1Lz{Q(6}o&qEU}3r8(N3#z2mScsJPqeXbZ+s z5wOx)0w~_T;EMmf=xzU`_ndsYO*Vjy1R*De3)9vNEC&Ttfthvyx@)#&0~hA2rNrJ*}xW(RUUkbaPO7ccfYp zIF~JWS8R?Y;FK@l5i^%B@CT(~5;aQ2rK|QsBc)1)QJ%`V!a5?VTscWUtD#N6@**)# z1F%oIUkTqPjQou{7>Rj5I=FKW-HE6zFiy|aiy68tlb|-U0%f0e{=u-9DQehYtaG-Rb6Pk^<_aysU5zqP`4cxu*ol|-q+ zIoWe|rPe>j*7GVrHlk5BzhCrSnT4x;^OOT#PlSEbQm%)o#8jBd$V}?*A_BS34h|LS zLh5Mp%x|C&h+IJlI>~dU2baLbf)8epoIMDu4+BVLXl80FqQFUc5>j32lu*+dzlN^M z2YFP4IWf?(lJ8893^K~k4iDWkM4@ta2oalH{{Pomq;>6MQvc8J)2M9-!!7|IUUUh z#P?yCIFU-Ot-kAlvaWR`-=SK`(Ui^nNvNO%CXnZHA>w|%Xys(PoTrfmQ;M3Ds?3yN z<}?B?(7QAP-0AsXaRHf8A?Eo}{m4VpUD2Kq+EB5zhnV0Lz;3)lmSh`0Hre&=nmRe0 zr{am18l4syN1Q#0t-PIy2~0Wug0$=ZlvqOj;MEo=%k!E45#@c6%C8W;?C{G&!R=o( z?u8xRoGkK&gBxJti8273n4iCX|N6M}Rm6|4^kvWW9*vf`C?W8E(e+ljhH;8vyRG(S zyrLnZ@i4-KML954U$czClr7K(!N_Sx>(Q|Z67tbN{QaHTT=~%Zz)h+6)y5$qM$F*N zhJo*S==AcH#E;qge8KEgorzEUEx~0yu&0JQ!&HJf8LU92rc58;oR@f=Aw{z!8~u)B zf|Y-)(S&4erzv_OlcO`;k3@+EAv@T?Eq%9(Tft2+uLv_umX}tV)|e76ENVfutmY)_ zek%U5UA`6m>oKYEGRDtjY;i;b6X;9fM>04_FhW#9W#J^i4sRT-t|OBza>fO%{J?OZ1zw{$76b5ZVvOj?P z;zWJ_@^dbvxIo}LJ2LYqSf1|Lh5oGWC8s_W2Y)tmt%-1(++Y&lAnj~&mMGcavS8#N zXK@GTUt479@|4z2bfx6(#J^P$cqCSSLp7qs281D9 zWprf<)cegzc6Owpw}`u;jI3dl%Ct`K8U@4W%PO$fpIH6!R5Z=zs5;x#=;(L;02N(K zSl@S(=CAW3I3RJuKXrxC9BXbH%0IX9Er`L5Oc<91;1PHbjvy}D1fmZSWPpckX{f8( z_;ox^j5dLuJ4k3J?ST@Kx;vj_e-upNLRb18bI-dKq=y1OpRP|^R3-(SMcbEohs)6#oxMJ0*9}RU37f{H8}$?xM&nn@dz6@0+abDMH{N{d}HQ8%}Q}` zTnCM?Gl6f?veQ{oN%-IQxLE(;dw+SU0XZZ3^MlLiRedTqTs0o|-!}(e{4)&3AXGcX z?<>#$t@|SXA0YU@zoD6#_&<03U&=qK?#tc(;kzG8q5%2-TmItx_e1`tid5qNG~8ng z5taEre;vd9?RM1_LfC|2&;GY?fe6Vgv`aMqPo=j%BfV3~agpjjl=uIZuP)>6wfGkQ zGwgpVzgCk9A5!Cc)N%cvA-dS!x4rp4<0?9d5tsV^jzrq>lldoNVsjIrd|PQ1E2jSt z$p5_(R}HZ1(XZds+QahyOvjv9@}t(@65v7-1%|` zdWE)KkU;vAuA%(@!0o?Ue|+h7IQrw?o)o`zd=V6K(KlE?5$aK3`QG0cf9gz4OghXz zWM&8|Ded%9l4fFc4JG`i@yDvKfwxFNdEwV(EY?A}i}*_QSu|3hCihE_+6rx0G|KDaOcS(UiJ_>ig?l z>Jy&VqK+vmXqI*F{r*`&gslKTD>3op!lK>Wf|-rUn4Qg71nLg`xBN-qCPYE;;V3Bn zpt;5+MNq6Am2Vi^*;FdKZ%MLmUyyGFwEyYtIcSZXnvRrhC*){ZAj3*Ue{DtJKET!?rAGx zQc_Z0TS7MPrzoR=SiE&D{CGHh^r zd+_?~DcYaO8u*-;OVTU+5^|Q2*D9AO`iJ}Fb_}$%$uWQit930h0L;O`YPYQyD#9ZS zJzp>w?gy`fyntDz(Hc}2n>};`|9(hcX!AnHq(G^X}#j-Ok#!H zEUYEu|6EWR6Gz5icjMxs-w}mukz;$!0X&@6l;fzZFO}D)*gRe?;s}LMVuCJOhloICy1Jc2L!WL6C48!~DrkUz9d~-%*%ADtEb_uD} z5Xn_nc4Ufwi^yw+y=a2BS;eP#)S^0KpOgquy9LD1kBJX7XmFGl$3Tl4dt!*tetLY7 z|E2esx9YL)pIUK?arBxrnM1%&bFX|WL~UD0)Z=eFxQT`K05{|y`|EJj{zo$0u^$f# zPZY8JVpyk3AF6kdbZd(p(~?3}?DYbotRpW1FDkHX=l`jI^aTkVrvJKsk}{a(E|rmd zVB#ZY>-h=^DoSXIC#~3aN>QXN1D;pg)~J_hr_QQv^;^BXSrAN9w6T?VXfQ`*f(2c#{21SEYsZpSNoxQZ`xh#%G9NEWgE zN<+wVh|>Vk zYjgOfq%inGUeidp%3R%}mt1$d8n=u_O|@&A*#Juh%*E~*vX{7BfE2CMhdEe9J165c z=ai|G_|5s+NqXa!duH&A$64IOa^E4wk#wsB!Dw+zI~jA!6T^6m!`Ef8&oHqE{BDhFOB7C zO}S)6coRA7H;pZ`cR{_}&W1N9ZG1|Y8qvhZW?pRf*RXiR0!IKh&8W+kFS}I9HbR>q z_B72Q{izV%zKqe?RL(9s=+lSK{OxaDce~J~*v(nzFVsgX@Wdgrm$_c>%9_Y~Gbe^W zgXTn}w|nKgC6FoJ^%fm3zJ2vz6L#S22A9Wl*ebtTr>EnAj2>Qa;q&b03-acv7`6o9 z#t4zN;k%qdWl);en;z*8ZtYO`mn+x3+s~_HjRtY?L%mvjzaT4%IkY(flUp@+7;I8iK{Ahp7?xDIyK2zNq(= zI+4wX?i&?@qd2LAYiM_~W*Y632aVu|a1~9-lgWfO>vQW~2;=S-d2Q!aa+)>!r)W5^ zg`Pk*wF-d=eeRHYz|rMuj_V>5D5awYx!j{8sY%w+@tvc%CH27; z%tGfqC7vs`9j-HRNwwILEPJxjqdU`bpKJc!K`h~Pz6TGc-Rf`Nl=$R%ZA~=}qV~^N z7su+OLBe(O?qBVdlU6+<>TG7l+_^Fag+m1u1U>CZgwk?#n0vKOQSg}B=^QFSrlDWi z6xMMjz(Hd1;FZy|+v)|~v#)<=J~Q@yDm%cY)4u^Hf56s=fKoy-v=ir#cE><+zo1*K z&uM8_WhyT$XHP-*y{~DtF|k4epq^@=Gho-GZ)Gq28EQ9P;~Sh-x;74s z^NRt4?H7NP4`?o8s&jtna%wdMqjd0oGZE~@cS@qS**4u)T9#RDat%+NHVbRg_)j9D zPzflWv1Y5BX=?G|+qTY_s#3o zy|?bE>4~;5Zu8pGhH+Xm;Ilt^(68NL%0z&RH=4)is_t0I_Yl~_g-PNR{!R~immth< z0`2#^cs!UP+M-$W4Y7x^yzd6~UQ@Q#H7_e-f$NMqt;5>)P!2iTTuUF|M6~h!-<4Sjr8^9(jlH$3Ux%(cVM4dM-STRiQH^da zAADuAqErvYBWVft*BYe9EnnM-*#U#1 zm`U>;rPy9^@*7MAP={mMf#I;aK0f|+Z%f}j4eKS?Lu_b3ceY%{i=SF~}HT=!YbQgw#`JM5~kJjzAn$fo}gFo4R!XLP7C z;Mn9VIAkJo#}k29KqT7fawGNB%s7mg0AFwDkxnN`;p`X7A(WB7|9oe~e%~+_wp>px zUt`WNIW|3PzHrhdbs63UF)E#E;EQdr821z2xvGKs9rJ8s+{dH7SL|ey(k3q5Y9z(J zXf-Bs$|t>oCrC}9=MGmis(_>)INq+Rd&yufxUIBcM0nTZz~VYDzFoK1OXL@@fWZK) z1qj3jO7T&x)3M!nRs&fu8Lt>q)Zma0E3tZYtQ&Y1t>k`eZdsu1ouxEElbMXK?r$6%1ANfQV1L z!SU1?V>H%5sU2&}D@Yvl=RnQ&=_flr$Wd~<8}FX-OfBbiv4DL2#6(|@6{l={=X1B@ zA*ZTKs;1RNo?G$2gh;Ui#(r1n3mK+!rOAx~OAZ8KJMv~9^!_{)L4lq2G$k{Ou_w8A z-hUDRU?Y~)D08%@H5mGO-1S9dfoH&?2KTue@O5v{US{UaA>Wpxj)2z|)yd}2J|k<+ z&ncyQtF!1boA6hxKQt?v#dX{s{&3@c0)gjTZ=SRCM(;M~*0PnD4R1%myf0xKcW}Cs z6JmV)^FD0s&6gwxXQd;|e7$j!@eeUG#v-46I3j4NhrNjy_HZjCbap7`bksVAR9~50 z*(2u+aZ99qtRxek=d4F9TSCtA*np@l>O6pm{ASzapP-s}m|u@*$kS4`&*$JPwCIsoGcPFH#<3&mpUU`oNu|jg}$cFu{bkmb>P4C{M`cSE4%Bgl~kDCGuoR{ zze_Y3rR?WeYOp&_uajD~GY-r-oM@~1CF*F@O`K-sZjn|z&&MTp^(gWAQwlad5ml>! z&ZyvBIQ&n&+EdyZ7Zah=ZaXnBm;$0%;8!ovnheg!(9>4P&7I5o>{(W0`^o(-s6zm% z?2dhFR_L&L#YDP?BoER=JXpQg`@knK%$glRbc)w!yVqq(T*3ibYUP#RE7LM)u%wK8 znH>>hWYm$alXx-mt?^VvU!`|o+$QkMjr=KD<4B=}j)&XR?4{+(0sF!>#O&U$S-yk) z#xl`V_Vcvc8FL-mYgXW|PEHHtI`!$(k))U8B9qF>Z!OHa3xBm#z4h5|eB)twILhoq zOFNW#SgGa39ipjRT;gPgAtiN9lHonrKmS~cNt~IM_9BixY(Y!PDkTLB?lFDEeDQ@< zcWc;k{&tATfOx{I4R5MZBur8-oc!d&30AazKkK!h?F0R#JKI`Wvr@qUOtx{#+OMR( zTF$|JYUlJ2kA+L{9j`sBF6q`VZ7FB_v=ZGT#$RHTpXN0_WX@n=#P}`Cs950H(yJUT zE&ez&k-2LQmDx!f>*U(Z2E#?&3cML%z$5?Pyj|ZU4q*3}YZ-@d{pG!BqCn1Dc}VY5 zJ6dR_-&HHC*#6|5n_0v(pZ|pYbG6%wS{W6VFfe{%-S;*MO<>owuc~23hZC|!kElx~ z6+`7_d_NEUueHL)11e`(u6?}()$|ndU9Ly-64oBVNx?%;Y57EH1ZOF+w7l++!%cd* z@DU%W>b$)7XAE>Lf#-LqFb}!zdX#OCdBO9Cl=LNaiF}n#e8EQwp~jn4tZ}2fmBCjA z15G-C73E7hY+=(nCH22e=TsBSInKrQ*+vnttJMvZY&1|?}W!=A)kl&E3 zV-*4XYE-bOen2dPl0%^J$FNO%70XoKn+RRKkp>z@7=LtmUkD#c=0Mb2L#wb`ul;w2 zO(3CP&qQR-sv%qUa=D3VxQ52y^89qWIjGdqVQt0DN>MPPGcOg+T>G&_tiM^&ScF#a z_!T$bt0+$bd?Ad`I9_DtThzIi-o{Hcm<^e!i8_EY1p{8b=}J8Icq8W-QQWS0B>9j2 zsQ9_ID`^|_Emo^s+KKWj{MdJ2Wl6~lI0Kjpq)AGbXxgk^oIfwIc#nzmWG?^5tt3qK z$Ve!kgIiy~bav=FeKVb0(n<7ZYO+iEJRLW&+>LBMCS;1^y{=2FxVZSu3KFGx;7v55 z@F%^-HasK86&el!VgECjFhZ$tvlEmv)jZ5e)-xg!bDCOsIOHXHh_hR+Ece4xI9gZm z9m+=YKRE&>y8n3|y(WI7yF$|CV~?pvRM+O{?5#$A8MB;^uLNr_>z`gk1QncFLPa?O z@#I3I)_r>hh^pzH<;5^o2@C%={W}d_A>Vo3+4}C~Qn?*ZtPZ^4#_Rj{7~E3P-kXCoFp)Qbboo&Q>J z=r0d8$bOew%38YmNTpxk$tC$fC&A*A$il9qoL{E%>wmsZI#NmMO;Q8y=eknsZ~SR@ z>;od%_qJ70IqLR3>gO{p3eJ~EJ8H+mz3$W$Cvz%GbqGO9TLo?nr$YMrXF)#<9`}1o z!ue@)q102H!MD>$DhmJX@@-#XWnv1;p|Hzg&rs3F&RT`AlHu4uy;129=2|mrxa|{< zMqBw>bM`o?oE%dF*Wr(codu8f--_^wA<{;d+7ZZ|N_l;|GCGpb>z&faYhQ3LK%j>Tb7pM|Xh(G1E!$GzjlIv$_* z8d_^m@$JO(?>bE$2F*7}htm5;kFl)_G_KcfNzJ42yQ?Krz^c>87$gFfLgyd|(R#|n z5&q*wq2&hl697<%0}=v35?x0L)QK&X1>eB3T6t;YuXp-4c?3HY_>?4!poXQ@1V1FG z3y1rmV@mVh~IQv=K7y%Ttk%xikEO9 z*tfkbS?4x0^ZTs7i{XEM^*e#T-Cpa#0 zJ=Nvc&5}_SGx=A-Wg%eOKsGyKpJWSGFu2qyi4UW>iLC1MC#Mn_*T~WV;0A*biva(9 z)hibBN>Qu67nS`3W&U*Zsvr5@Ebr%wdj0vC#5yvBmv|M%42nEtC3QUgBBA2(U~+$w zR<3a^PC#NNQam^=Q+HZRlq1Jc8)n_zwLlVF#Msk?HO!}1a>F1QUAuw^Dz%tl36g~P z=f0)wsrGsUm26#@U7|WDS@E9EXfA~BlPJ38^K=b1Fu-Tp?t)Ch+gnF0+2X2r8i3bW zi{_@cF9+6IWI<*R1_A?X(=Qtc$kJ(!tWQdx#K-Lq2+6jyNl(XJPW|z%L6U_Wxqy&Q z4yAzXGYGyG*l74OG)prTC~dUg{i4=Q%$f7|9&vN_dph0x_NR5bSLx$e>7NNLYko`I z_>{XN*A+U(eY7TxT9 z-|Yx%PtA7wJSNTdunP8A^+^ETeQdbgNDh=Zl$qN;?K#&cyma>`oz`a;Vdm&hmeG>v zv%^pcC!|+_bM#eJ)6?com$pnW1>4OK;3E|zY+}Nr-i#@2Go=y%x>ru?_yGL5QdBK- z1XK}n$LXaUbJeA_%5QFa7?0p}9Po68hH@Gw8**rOS>@G7V%B2;yQj4i;gNiHoq8|3 z4RU|%75b8lV+J{-D&{^+u3hYOruiJ74#24Dn&D9GeX0(hs|Ta_OLxOHyTP}h1S3+z zm2ek@^X1!+`_}9IQuw!YjewySK3hqXvzm6^uDb&|=ea*5Mvw$! zL#)?sqFq6m3t+G%gx~lE=v5q$EJl|lX}-JHQIxGf9*TRElskFm6wxLIm6$OJ{Pj~Q z<161c{cGgH5CBk1T)w*GyEbCeurF)zoD};!%4yv3MfU<7Sf5D1PN!1t?tb+_r@74h zk-`wZ^oRxYNM&IQbd#}!=0^3!b!_c$c`7ND**L1l6wvCNiuZc8EbWz_PwaubTt7K1>6N*tHeFImZLjeo`tB5mhpT%E#< zx%!FdD)<9E&Y|Sr;D!|GJBR0-Rgfx1r-0X<>%nx69L_60q2`8DNNMqwfZE4bbg09H z(fuph4_RVjn)Q2mUgn?T7766;Wu>@K&E-h1{~q+UF({q?jehY*aka<8T8pgthfqe% z&2-X3Hg>>8KI`h4guDL9Ki1|?-;9iogiW#KV%kzU1j+?mAgNxO>~`lCn3@97xcXGE zb1EAJw0ItKxD)@)${{ry0DxYJX0cuo;88smcB`*x0SF2uE-Q^8=pi#AvutwJ%lty- zHEkH$2V$eit;AeRz96#UTcmR|?<21{jtm5rx27>R^IdtmD=>mS0j_E=I4Y3m#Aypf z;;>4}Biq~GMCwe%!O9ev3wq*#r*gkahUgoM*EdOcM9y{%cov-eT|P=*oSFd*%?x5U zZ#4Z;d9Hk{+a%Zsr7>IT49PNQc7x?JH}_MQpaPGPg{kwSgtvn0MUxgs|(cQv&Oae?yX|<-e;eV9AQK2`O3W}&k&9**%K21iOG%xQkbGz z_xIb1MjNgP#`MX>Mt0HX3Qq=sV_v~9IBC&&$&V#&k>nEj=Tbi%B$K^0?|!Q3EIG99 zL%`uGwd768_TvGpI*-mY5ucur6BwRytWSD0mWA~#4z)otx9NV>m~t!AG9fQ+vJISIZO8sLaRqgo=xgdZZ`puVYK7fZ%b|&zr9Iy`|?E9FdkPbe`_qG~;gDN?%oz12dIG5DvveuK>`0-Q-H$A}c~hl2_s`-^$X&F!{3h0(_RX)aQkK^v?w~|60u#rr&$8GR}Az0ouM);E-$oDdI3or_nP}wrwAt>*t14GTAOhl`=FLrt*)paq=P0wsFB?MC#%v0>| z;Jk`ULR)io>{-%oq`jc&aVhQ43f=#JujWHs5xrQQr*<)NR%Z}DI^hCk8mUAM8+Sru zlL`+uUZ8Kf+J+B=Yx!Sxlz9+mUMbc)JDi0Sv*;;LP2?N|M>#asB43FC0NVChMKR4{ zeva_MQdZ3XJ>T3}PW}#S8(=c{JfhC$k%g9)McmJ4d-#0iM8#DmJ#>R)M{}|74zPXY zUb7p+6kW{cP|TmevEdfF)v zlC4%T9&9)LohcUWTI;f0XqsKH3C==Chf#>Q>Y^5$SpM542FVGydCz!4X3~Hy04oe# zz{RbaO46h6ai3 zJ7Z9*ur*0EE4pX`M)EC5B%BnDRL;oL(#BQs&11Hn?c)#Y7z45*Oeul;JndR1`3OJo zOAQNPzk+Cu1t4t$C9}t*Uxf2!wI*{?qTp22kOWPp%WGxOGWi)v_& z3~AtVpty=oSm!MovS09iJ(;YX zK0XGMG*+mw2I<=ZgQy^SQ#>QBaFjYtDqBLFv6mxGCg$Ky;Xc0iWeT`Hl|KJo~VR2zgClS+(6d&ve);= zfNthWu=PGHf&}LfSQn#Y3XxvyTV~g%qr8>Z3N zWEYenQoePOSbEJ36G{R!h)&Z9D4r}=cki8CO%F4>Q)`5?%oJXJa~NL?cPmz=U+yTf5iTh3uQL@exmrV z7;N7|+^hd4Z5ES<;MS6QaRwTUe;6nB8kcwwJwHQu-ZK=qc3_v;hk^U11WYD)u+p=z zCX*#m>Aa3-jNZQwts&z0X5x7BitJnZL$9#Gb@F#c_^FGVqg~tMQS+Hi98!Q&cisz6 zyvr_$u9|{hVQHy-bDup2SO)a235T5(wS17tx8$#WH z=c<@H3r=v5;&sttQu0W#SxqH?Mhaf3VS6w1H?*`Se+F{gFA_IBnwa<9kz<7|7VLvj zG`#CZ8=*p#phbX4oER&hp=G&0kY6bvBc?Hx1$YGy_rV3gVFAI-nF zF%pua@fd4TpO9N@E(hv=frNP3f~`}AF!vkuIABf$F?_Y&@X$tm&kEDVwqmLH8rKB> zpHN?Aqo5*nq;s9&GRm(-&Tgqu_Om6rDxM?|+s8squb1wAYFRU5mi7^mrK85-&_Wv2z^<%J{^Wr8O_FmmyMlg~ z)nu}Na;AprjF6330HA@REr$l0AJ#Bm(>ed4#&m92zlJwq-&6rT&u+1_CR;ek!S|E5 z*uJs)Ww!(T0A-x07XkXW8L+e_-Bf4DCM*}-ra6@T|A-VA`}O-omnrQ0Jxoxw-IZx1 z4xC|moS_S_H9boD+Z#HTsG@<|&*pb059C(ZXQFM;vxvORL3$tePvo|@^Zb3$Q7*cJ z5$>9QY{qx2=mX5GJO~Lr&5Q5ay(=vCAZ|yhn$q}f7xZV zjt=!J`<3Z;jls9A3E^$7V$Hu}!Qh}XzU2Gw{^asJ)Fqr|+CHorQ}6Vt32W1;)H1|D zmA~Q)rFP9sr!j1ujQSNvv?s;u!q_7e@@*X_`9PJ)RUiF=!QjB8Lkat0m?8jRq;IsI zv_eQlHtDUU-(}Qxjr{TFZ~SAHFxSdYnzPH%y9^%F3-8l{jG7rU0z+)|L!PGsty!W5 zfm_0lsYiYi8^pwmZ4P~+jUK0|BB4{-{qH`!1$n*5I=pim{>q7G5IA@kr#(LqL$znn zcjWG-ja2Hci$UYTT8Qc;b~bE}%_{xk_ai*HNzDqI+vha-xwavz?dWTK$tL0Vo@%=V zAj@s0!+MjNI?6OEKN>{IL#Qn+Es5H1g^EE&Q@M)p{j>OasW*eCD~rM|xuMLL`rhNU z9bWk;v+3$hlZb~vAf1@uKt!Mm&}jIU58(cwI2V1j3CIq3uX7nWJ^#MLb=c5RK@B^W z5Pv93piHWS(Uro16%&zQVed2D^Nr`hsJJO^1tM;9pn~a?ZpQEq8`sLTav$p%Rr}dt zAj-`CBV9mU4pGvtcw@mhM4DBp*n5=x46TqKB~03gUr+i@VvGcSWPVv#BtwS1aZ9{m z_SQY=Kf1gw;K)v%dWm@rwuc9uMPF+Br4C5>ZN%7&+4+O`X7D%c*=S{lAtm$oFBV?o z_j%Qty;f`1PvsQxfP|20=kHUU@C-_L_Cg`rfc*E#0kJ^1v>ER(@%*#Dj>qgGS-|3m z?c=<-Jd|_i<|naJtZcl`M{U^ptY_H*RXE9L1WI^4mOGcbC5Ee-H7!vN2{A8*s`bN?Yp7hG*>*aihhzB;c|rNn`W2eC(t*Up zi9uN3KnV1lr#6hB!Ocx#V3k3h`Cg`@N=Mh|fj%a_iRPzXl835x7xn_he!gI=4@`DG zG_e;dc$huz%0d-rlj|!FctbDeIrNZk{mq=t;8@DnglEWCJ?<($oydc4y-1ET_DbNm zB`t%;3j3`uxCzEEf?*TEkumVzhK}|UOrm3u8JFe6rKQp<)+TMW*0?gG;=2%YRHQ^lWnKLJ?#+ozV$G%3Ch5(UZia7N*?anV{5wgY)L(-lkkf^Inr!|IQTjV zc%Q>3_<%>_De->TYGca%=PRcb+v6IvWN0m>GV^Bm43?u+md-^c9y>|z!E5X=C^?eM z*nH+}wEXw%M`Rc|{DlcJ#$kBA=2jfb1#Va(&N75658gCNwA6AZ9CBUbpDZo+HwB%q z-&d(~3T(9__wUz$y6%^!li!l5dY3SGYP;Q}N@eC2l&~+^-OJg^zRXQMR?PEAt*e*x z8LEv#4eG?_CX(i~>v(pxp9@hfywUVI$#qO>$I#Z6@T`3#qO9&*3Mm;z_#71B(ALn$ zWK}Eu;u)bqwXz(;`q9M z-vNRJ5-hkwaCe6U2m}xA7TjG15AG7&EkJO0cNpB=-3E8Nlb<~Q=iItg_rADws?NNa z>h77{d-dwQySIG4YwrORm*(4H>xn=>tAl5>i%6(^cF|<2+3>^TtFwRfJ?IDq*IwG! zy$h4&GIJ$R!|eeWM)a!O`TeyK$x~Cwmj~%sRNinbHGS1_G8P&H(mvvB?*wlY%aDi? zlokxOS25@ zAJ_`|7x4bGA5Q$g0Q6q}kyJo_`+rGj0DarLV^3vk^Y?lGeCxeXvVuw!3Mv2l;MtwD z(kk=+7K^IzAq7d183&nWX6;oauP^pQID+@P~+3 z|Bs+U50r%XFYjJe_!rvm@E>gmv(d0WE&>tPuq}XXVOk(aZ##u&8zL-#+~8ju=UTm+ zwOWiW(;UjQ@zT!OW#Bf6MOc7do26xmriKP(Gv?H1aq*y50rx6RC_Qt<=RY!ly1zvm zJ`&_u<)x*i&o7Us;@XPTA3}RA@+OsHYmfjPX(Ms}<~cJh_$N<>zXc&a65TuY@sc}g zvr4q_1`@!(H6c?XjDM*Pd_wqls_k+gFMr{(Kn2Y_I?Z64NVRinSHm$wR8Mh`M_A=_ zUNRA;nek{l4FDj`FqFQ6VX}Z4)0BOIeC`-kc)dE>q(Vk!fB)6cT}&tbbItOsa~;^d zq?s)@SF^o!CoTNzi_6{)%`PNZ#6KmUlGP0%JeVB|e*129=qycf0)w4374}hF zQ`sOG^p%neM2~7CXWw`uYyOgz_cTEGlZ0x;V27u>7$W`*31+iJMC@6L^(DO4Ec~0r z@8jAP2S+z(N%2rpL7IL&1=4PxR4(^NxY*6U!aTUV42U8&=lVbNV^)1A^!>BFzdSC& zZtqTX@D1R@Gw(*d$APVWw(IGaASu|=K-cs6wt?SZzZk$Q>pqETrxQp8nW)sRJu!U^ z`-#G2T_94dBY1HJ@(bMf(~O*n82ju#@2-V*WTf`EP%ox~Yn;C!qG!o98|!`6df^?$ zA(P&xa)}&;l4@nyUB{=M%#{*Ik1V^qVPAPFrv>)#E}qVt=xa0w4ASXVSwAz}Bs9EhPQ048i|MR}l^qKf)C6j?} zo-%%7fX!?3+4QXCl+A3k?yr9Bp}TUAqgGc)WbtIxJ3F1)%C<`U$+>ztzPe|dcK{q@ zoKxw%u!Rfw@-2~aZaBtE&QrC;

      Rh3II`)5XM~Hj^=T3ZCJeQRkKTg~l~bXj{!D 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 G+y4PDg^Z~H literal 0 HcmV?d00001 diff --git a/docs/screenshots/providers.png b/docs/screenshots/providers.png new file mode 100644 index 0000000000000000000000000000000000000000..8db158e3da615ffb1919aada6586a8bc15f5baea GIT binary patch literal 40975 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 KhTs3Z_5T6>=d;HE literal 0 HcmV?d00001 diff --git a/docs/screenshots/sessions.png b/docs/screenshots/sessions.png new file mode 100644 index 0000000000000000000000000000000000000000..93aa93c445df230b0d6d7603b76b28676155f2e0 GIT binary patch literal 139806 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 literal 0 HcmV?d00001 diff --git a/docs/superpowers/plans/2026-07-06-kimiswitch.md b/docs/superpowers/plans/2026-07-06-kimiswitch.md deleted file mode 100644 index 47f40bc..0000000 --- a/docs/superpowers/plans/2026-07-06-kimiswitch.md +++ /dev/null @@ -1,2388 +0,0 @@ -# KimiSwitch Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Build a Windows x64 desktop config manager for Kimi Code CLI using Tauri v2, supporting multi-provider editing, profile switching, and MSI packaging. - -**Architecture:** Rust backend handles all file I/O, TOML parsing/editing via `toml_edit`, validation, and profile management. TypeScript/React frontend renders a three-pane UI and invokes Rust commands via Tauri. Tauri v2 bundler produces the Windows MSI. - -**Tech Stack:** Tauri v2, Rust, TypeScript, React, Tailwind CSS, `toml_edit`, `indexmap`, `serde`. - ---- - -## File Structure - -``` -D:/AIGC/KimiSwitch -├── src-tauri/ -│ ├── Cargo.toml -│ ├── tauri.conf.json -│ ├── capabilities/ -│ │ └── default.json -│ └── src/ -│ ├── main.rs -│ ├── lib.rs -│ ├── models.rs -│ ├── config_io.rs -│ ├── validators.rs -│ ├── profile_manager.rs -│ └── commands.rs -├── src/ -│ ├── App.tsx -│ ├── main.tsx -│ ├── index.css -│ ├── components/ -│ │ ├── TopBar.tsx -│ │ ├── ProviderList.tsx -│ │ ├── ProviderForm.tsx -│ │ ├── ModelList.tsx -│ │ ├── ModelForm.tsx -│ │ └── BottomToolbar.tsx -│ ├── hooks/ -│ │ └── useConfig.ts -│ └── types/ -│ └── index.ts -├── tests/ -│ ├── config_io.rs -│ ├── profile_manager.rs -│ └── validators.rs -├── package.json -├── tsconfig.json -├── vite.config.ts -├── index.html -├── README.md -└── .gitignore -``` - ---- - -## Task 1: Initialize Tauri v2 Project - -**Files:** -- Create: `package.json` -- Create: `vite.config.ts` -- Create: `tsconfig.json` -- Create: `index.html` -- Create: `src/main.tsx` -- Create: `src/index.css` -- Create: `src-tauri/Cargo.toml` -- Create: `src-tauri/tauri.conf.json` -- Create: `src-tauri/src/main.rs` - -- [ ] **Step 1: Create root package.json** - -```json -{ - "name": "kimiswitch", - "private": true, - "version": "0.1.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "preview": "vite preview", - "tauri": "tauri", - "tauri-dev": "tauri dev", - "tauri-build": "tauri build" - }, - "dependencies": { - "@tauri-apps/api": "^2.0.0", - "@tauri-apps/plugin-shell": "^2.0.0", - "react": "^18.3.1", - "react-dom": "^18.3.1" - }, - "devDependencies": { - "@tauri-apps/cli": "^2.0.0", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.0", - "@vitejs/plugin-react": "^4.3.1", - "autoprefixer": "^10.4.20", - "postcss": "^8.4.41", - "tailwindcss": "^3.4.10", - "typescript": "^5.5.4", - "vite": "^5.4.2" - } -} -``` - -- [ ] **Step 2: Create vite.config.ts** - -```typescript -import { defineConfig } from "vite"; -import react from "@vitejs/plugin-react"; - -export default defineConfig(async () => ({ - plugins: [react()], - clearScreen: false, - server: { - port: 1420, - strictPort: true, - watch: { ignored: ["**/src-tauri/**"] }, - }, - envPrefix: ["VITE_", "TAURI_"], -})); -``` - -- [ ] **Step 3: Create tsconfig.json and tsconfig.node.json** - -`tsconfig.json`: -```json -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "baseUrl": ".", - "paths": { "@/*": ["src/*"] } - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] -} -``` - -`tsconfig.node.json`: -```json -{ - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true, - "strict": true - }, - "include": ["vite.config.ts"] -} -``` - -- [ ] **Step 4: Create index.html** - -```html - - - - - - - KimiSwitch - - -

      - - - -``` - -- [ ] **Step 5: Create src/main.tsx** - -```tsx -import React from "react"; -import ReactDOM from "react-dom/client"; -import App from "./App"; -import "./index.css"; - -ReactDOM.createRoot(document.getElementById("root")!).render( - - - -); -``` - -- [ ] **Step 6: Create src/index.css** - -```css -@tailwind base; -@tailwind components; -@tailwind utilities; - -html, body, #root { - height: 100%; - margin: 0; - overflow: hidden; -} -``` - -- [ ] **Step 7: Create src-tauri/Cargo.toml** - -```toml -[package] -name = "kimiswitch" -version = "0.1.0" -description = "Kimi Code CLI config manager" -authors = ["you"] -edition = "2021" - -[build-dependencies] -tauri-build = { version = "2.0.0", features = [] } - -[dependencies] -tauri = { version = "2.0.0", features = [] } -tauri-plugin-shell = "2.0.0" -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0" -toml_edit = "0.22" -indexmap = { version = "2.2", features = ["serde"] } -dirs = "5.0" -thiserror = "1.0" -chrono = "0.4" -anyhow = "1.0" - -[features] -default = ["custom-protocol"] -custom-protocol = ["tauri/custom-protocol"] -``` - -- [ ] **Step 8: Create src-tauri/tauri.conf.json** - -```json -{ - "productName": "KimiSwitch", - "version": "0.1.0", - "identifier": "com.kimiswitch.app", - "build": { - "beforeDevCommand": "npm run dev", - "beforeBuildCommand": "npm run build", - "devUrl": "http://localhost:1420", - "frontendDist": "../dist" - }, - "app": { - "windows": [ - { - "title": "KimiSwitch", - "width": 1200, - "height": 800, - "minWidth": 1000, - "minHeight": 700, - "resizable": true, - "fullscreen": false - } - ], - "security": { - "csp": null - } - }, - "bundle": { - "active": true, - "targets": ["msi"], - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.ico" - ] - } -} -``` - -- [ ] **Step 9: Create src-tauri/src/main.rs** - -```rust -#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] - -fn main() { - kimiswitch_lib::run(); -} -``` - -- [ ] **Step 10: Install dependencies and verify dev build** - -Run: -```bash -npm install -cd src-tauri && cargo fetch -``` - -Expected: `node_modules/` and `src-tauri/target/` populated without errors. - ---- - -## Task 2: Define Rust Models - -**Files:** -- Create: `src-tauri/src/models.rs` -- Create: `src-tauri/src/lib.rs` - -- [ ] **Step 1: Write models.rs** - -```rust -use indexmap::IndexMap; -use serde::{Deserialize, Serialize}; -pub use toml_edit::Table; - -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum ProviderType { - Kimi, - Anthropic, - Openai, - #[serde(rename = "openai_responses")] - OpenaiResponses, - #[serde(rename = "google-genai")] - GoogleGenai, - Vertexai, -} - -impl ProviderType { - pub fn as_str(&self) -> &'static str { - match self { - ProviderType::Kimi => "kimi", - ProviderType::Anthropic => "anthropic", - ProviderType::Openai => "openai", - ProviderType::OpenaiResponses => "openai_responses", - ProviderType::GoogleGenai => "google-genai", - ProviderType::Vertexai => "vertexai", - } - } -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Provider { - pub name: String, - pub provider_type: ProviderType, - pub base_url: Option, - pub api_key: Option, - pub env: IndexMap, - #[serde(skip)] - pub raw_other: Table, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Model { - pub alias: String, - pub provider: String, - pub model: String, - pub max_context_size: u64, - pub display_name: Option, - #[serde(skip)] - pub raw_other: Table, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Config { - pub default_model: Option, - pub providers: IndexMap, - pub models: IndexMap, - #[serde(skip)] - pub raw_other: Table, -} - -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct ProfileSummary { - pub name: String, - pub filename: String, - pub is_active: bool, -} - -#[derive(Debug, Clone)] -pub struct Profile { - pub name: String, - pub filename: String, - pub config: Config, - pub is_active: bool, -} -``` - -- [ ] **Step 2: Write lib.rs module exports** - -```rust -pub mod commands; -pub mod config_io; -pub mod models; -pub mod profile_manager; -pub mod validators; - -use tauri::Manager; - -pub fn run() { - tauri::Builder::default() - .plugin(tauri_plugin_shell::init()) - .invoke_handler(tauri::generate_handler![ - commands::load_config, - commands::save_config, - commands::list_profiles, - commands::load_profile, - commands::save_profile, - commands::switch_profile, - commands::rename_profile, - commands::delete_profile, - commands::open_config_dir, - commands::get_app_version, - ]) - .run(tauri::generate_context!()) - .expect("error while running tauri application"); -} -``` - -- [ ] **Step 3: Verify compilation** - -Run: -```bash -cd src-tauri && cargo check -``` - -Expected: `Finished dev [unoptimized + debuginfo] target(s)`. - ---- - -## Task 3: Implement Config I/O - -**Files:** -- Create: `src-tauri/src/config_io.rs` -- Test: `tests/config_io.rs` - -- [ ] **Step 1: Implement config_io.rs read path** - -```rust -use crate::models::{Config, Model, Provider, ProviderType}; -use indexmap::IndexMap; -use std::path::{Path, PathBuf}; -use toml_edit::{DocumentMut, Item, Table, Value}; - -pub fn config_dir() -> PathBuf { - if let Ok(home) = std::env::var("KIMI_CODE_HOME") { - PathBuf::from(home) - } else { - dirs::home_dir() - .expect("failed to get home dir") - .join(".kimi-code") - } -} - -pub fn config_path() -> PathBuf { - config_dir().join("config.toml") -} - -fn item_to_string(item: &Item) -> Option { - item.as_str().map(|s| s.to_string()) -} - -fn item_to_u64(item: &Item) -> Option { - item.as_integer().map(|i| i as u64) -} - -fn parse_provider_table(name: &str, table: &Table) -> Provider { - let provider_type_str = table - .get("type") - .and_then(|i| i.as_str()) - .unwrap_or("kimi"); - let provider_type = match provider_type_str { - "kimi" => ProviderType::Kimi, - "anthropic" => ProviderType::Anthropic, - "openai" => ProviderType::Openai, - "openai_responses" => ProviderType::OpenaiResponses, - "google-genai" => ProviderType::GoogleGenai, - "vertexai" => ProviderType::Vertexai, - _ => ProviderType::Kimi, - }; - - let mut raw_other = Table::new(); - let mut env = IndexMap::new(); - let mut base_url = None; - let mut api_key = None; - - for (key, value) in table.iter() { - match key { - "type" => {} - "base_url" => base_url = item_to_string(value), - "api_key" => api_key = item_to_string(value), - "env" => { - if let Some(env_table) = value.as_table() { - for (k, v) in env_table.iter() { - if let Some(s) = item_to_string(v) { - env.insert(k.to_string(), s); - } - } - } - } - _ => { - raw_other.insert(key, value.clone()); - } - } - } - - Provider { - name: name.to_string(), - provider_type, - base_url, - api_key, - env, - raw_other, - } -} - -fn parse_model_table(alias: &str, table: &Table) -> Model { - let mut raw_other = Table::new(); - let mut provider = String::new(); - let mut model = String::new(); - let mut max_context_size = 0; - let mut display_name = None; - - for (key, value) in table.iter() { - match key { - "provider" => provider = item_to_string(value).unwrap_or_default(), - "model" => model = item_to_string(value).unwrap_or_default(), - "max_context_size" => max_context_size = item_to_u64(value).unwrap_or(0), - "display_name" => display_name = item_to_string(value), - _ => { - raw_other.insert(key, value.clone()); - } - } - } - - Model { - alias: alias.to_string(), - provider, - model, - max_context_size, - display_name, - raw_other, - } -} - -pub fn load_config>(path: P) -> anyhow::Result { - let content = std::fs::read_to_string(path)?; - let doc = content.parse::()?; - - let mut providers = IndexMap::new(); - let mut models = IndexMap::new(); - let mut default_model = None; - let mut raw_other = Table::new(); - - for (key, value) in doc.iter() { - match key { - "default_model" => default_model = item_to_string(value), - "providers" => { - if let Some(table) = value.as_table() { - for (name, item) in table.iter() { - if let Some(provider_table) = item.as_table() { - let provider = parse_provider_table(name, provider_table); - providers.insert(name.to_string(), provider); - } - } - } - } - "models" => { - if let Some(table) = value.as_table() { - for (alias, item) in table.iter() { - if let Some(model_table) = item.as_table() { - let model = parse_model_table(alias, model_table); - models.insert(alias.to_string(), model); - } - } - } - } - _ => { - raw_other.insert(key, value.clone()); - } - } - } - - Ok(Config { - default_model, - providers, - models, - raw_other, - }) -} -``` - -- [ ] **Step 2: Implement config_io.rs write path** - -```rust -pub fn save_config>(path: P, config: &Config) -> anyhow::Result<()> { - let path = path.as_ref(); - if path.exists() { - let timestamp = chrono::Local::now().format("%Y%m%d_%H%M%S_%3f"); - let backup_path = path.with_extension(format!("toml.bak.{}", timestamp)); - std::fs::copy(path, backup_path)?; - } - - let mut doc = if path.exists() { - std::fs::read_to_string(path)?.parse::()? - } else { - DocumentMut::new() - }; - - if let Some(dm) = &config.default_model { - doc["default_model"] = Item::Value(Value::String(toml_edit::Formatted::new(dm.clone()))); - } else { - doc.remove("default_model"); - } - - { - let providers_table = doc["providers"].or_insert(Table::new()); - let providers_table = providers_table.as_table_mut().unwrap(); - providers_table.clear(); - for (name, provider) in &config.providers { - let mut table = Table::new(); - table.insert( - "type", - Item::Value(Value::String(toml_edit::Formatted::new( - provider.provider_type.as_str().to_string(), - ))), - ); - if let Some(url) = &provider.base_url { - table.insert( - "base_url", - Item::Value(Value::String(toml_edit::Formatted::new(url.clone()))), - ); - } - if let Some(key) = &provider.api_key { - table.insert( - "api_key", - Item::Value(Value::String(toml_edit::Formatted::new(key.clone()))), - ); - } - if !provider.env.is_empty() { - let mut env_table = Table::new(); - for (k, v) in &provider.env { - env_table.insert( - k, - Item::Value(Value::String(toml_edit::Formatted::new(v.clone()))), - ); - } - table.insert("env", Item::Table(env_table)); - } - for (k, v) in provider.raw_other.iter() { - table.insert(k, v.clone()); - } - providers_table.insert(name, Item::Table(table)); - } - } - - { - let models_table = doc["models"].or_insert(Table::new()); - let models_table = models_table.as_table_mut().unwrap(); - models_table.clear(); - for (alias, model) in &config.models { - let mut table = Table::new(); - table.insert( - "provider", - Item::Value(Value::String(toml_edit::Formatted::new( - model.provider.clone(), - ))), - ); - table.insert( - "model", - Item::Value(Value::String(toml_edit::Formatted::new(model.model.clone()))), - ); - table.insert( - "max_context_size", - Item::Value(Value::Integer(toml_edit::Formatted::new( - model.max_context_size as i64, - ))), - ); - if let Some(dn) = &model.display_name { - table.insert( - "display_name", - Item::Value(Value::String(toml_edit::Formatted::new(dn.clone()))), - ); - } - for (k, v) in model.raw_other.iter() { - table.insert(k, v.clone()); - } - models_table.insert(alias, Item::Table(table)); - } - } - - for (k, v) in config.raw_other.iter() { - doc.insert(k, v.clone()); - } - - let tmp_path = path.with_extension("tmp"); - std::fs::write(&tmp_path, doc.to_string())?; - std::fs::rename(&tmp_path, path)?; - - Ok(()) -} -``` - -- [ ] **Step 3: Run cargo check** - -Run: -```bash -cd src-tauri && cargo check -``` - -Expected: compilation succeeds. - ---- - -## Task 4: Implement Validators - -**Files:** -- Create: `src-tauri/src/validators.rs` -- Test: `tests/validators.rs` - -- [ ] **Step 1: Write validators.rs** - -```rust -use crate::models::{Config, Provider, ProviderType}; - -#[derive(Debug, thiserror::Error)] -pub enum ValidationError { - #[error("Provider name is empty")] - EmptyProviderName, - #[error("Duplicate provider name: {0}")] - DuplicateProviderName(String), - #[error("Invalid provider type for '{0}'")] - InvalidProviderType(String), - #[error("Provider '{0}' missing credentials (api_key or env key)")] - MissingCredentials(String), - #[error("Vertex provider '{0}' missing GOOGLE_CLOUD_PROJECT or GOOGLE_CLOUD_LOCATION")] - MissingVertexProject(String), - #[error("Model alias is empty")] - EmptyModelAlias, - #[error("Duplicate model alias: {0}")] - DuplicateModelAlias(String), - #[error("Model '{0}' references unknown provider '{1}'")] - UnknownModelProvider(String, String), - #[error("Model '{0}' has empty model ID")] - EmptyModelId(String), - #[error("Model '{0}' has invalid max_context_size")] - InvalidMaxContextSize(String), -} - -fn expected_api_key_key(provider_type: &ProviderType) -> &'static str { - match provider_type { - ProviderType::Kimi => "KIMI_API_KEY", - ProviderType::Anthropic => "ANTHROPIC_API_KEY", - ProviderType::Openai | ProviderType::OpenaiResponses => "OPENAI_API_KEY", - ProviderType::GoogleGenai => "GOOGLE_API_KEY", - ProviderType::Vertexai => "VERTEXAI_API_KEY", - } -} - -pub fn validate_config(config: &Config) -> Result<(), Vec> { - let mut errors = Vec::new(); - - let mut provider_names = std::collections::HashSet::new(); - for provider in config.providers.values() { - if provider.name.trim().is_empty() { - errors.push(ValidationError::EmptyProviderName); - continue; - } - if !provider_names.insert(provider.name.clone()) { - errors.push(ValidationError::DuplicateProviderName(provider.name.clone())); - } - } - - for provider in config.providers.values() { - let has_direct_key = provider.api_key.as_ref().map_or(false, |s| !s.is_empty()); - let has_env_key = provider - .env - .get(expected_api_key_key(&provider.provider_type)) - .map_or(false, |s| !s.is_empty()); - - if !matches!(provider.provider_type, ProviderType::Vertexai) { - if !has_direct_key && !has_env_key { - errors.push(ValidationError::MissingCredentials(provider.name.clone())); - } - } - - if matches!(provider.provider_type, ProviderType::Vertexai) { - let has_project = provider - .env - .get("GOOGLE_CLOUD_PROJECT") - .map_or(false, |s| !s.is_empty()); - let has_location = provider - .env - .get("GOOGLE_CLOUD_LOCATION") - .map_or(false, |s| !s.is_empty()); - if !has_project || !has_location { - errors.push(ValidationError::MissingVertexProject(provider.name.clone())); - } - } - } - - let mut model_aliases = std::collections::HashSet::new(); - for model in config.models.values() { - if model.alias.trim().is_empty() { - errors.push(ValidationError::EmptyModelAlias); - continue; - } - if !model_aliases.insert(model.alias.clone()) { - errors.push(ValidationError::DuplicateModelAlias(model.alias.clone())); - } - } - - for model in config.models.values() { - if !config.providers.contains_key(&model.provider) { - errors.push(ValidationError::UnknownModelProvider( - model.alias.clone(), - model.provider.clone(), - )); - } - if model.model.trim().is_empty() { - errors.push(ValidationError::EmptyModelId(model.alias.clone())); - } - if model.max_context_size == 0 { - errors.push(ValidationError::InvalidMaxContextSize(model.alias.clone())); - } - } - - if errors.is_empty() { - Ok(()) - } else { - Err(errors) - } -} -``` - -- [ ] **Step 2: Run cargo test for validators** - -Run: -```bash -cd src-tauri && cargo test validators -``` - -Expected: tests pass (write at least 3 tests: valid config, missing credentials, duplicate alias). - ---- - -## Task 5: Implement Profile Manager - -**Files:** -- Create: `src-tauri/src/profile_manager.rs` -- Test: `tests/profile_manager.rs` - -- [ ] **Step 1: Implement safe filename function** - -```rust -use crate::config_io::{config_dir, config_path}; -use crate::models::{Config, Profile, ProfileSummary}; - -pub fn safe_filename(name: &str) -> String { - let mut result = String::new(); - let mut prev_dash = true; - for ch in name.chars() { - if ch.is_ascii_alphanumeric() { - result.push(ch.to_ascii_lowercase()); - prev_dash = false; - } else if !prev_dash { - result.push('-'); - prev_dash = true; - } - } - if result.ends_with('-') { - result.pop(); - } - if result.is_empty() { - // Chinese or special-character names fall back to a short hash. - use std::collections::hash_map::DefaultHasher; - use std::hash::{Hash, Hasher}; - let mut hasher = DefaultHasher::new(); - name.hash(&mut hasher); - result = format!("profile-{}", hasher.finish() % 100000); - } - result -} -``` - -- [ ] **Step 2: Implement profile directory and file helpers** - -```rust -pub fn profiles_dir() -> std::path::PathBuf { - config_dir().join("profiles") -} - -pub fn profile_path(filename: &str) -> std::path::PathBuf { - profiles_dir().join(filename) -} -``` - -- [ ] **Step 3: Implement profile listing and activation detection** - -```rust -use crate::config_io::load_config; - -pub fn list_profiles() -> anyhow::Result> { - std::fs::create_dir_all(profiles_dir())?; - let current_config = load_config(config_path())?; - - let mut profiles = vec![Profile { - name: "default".to_string(), - filename: "default".to_string(), - config: current_config.clone(), - is_active: true, - }]; - - for entry in std::fs::read_dir(profiles_dir())? { - let entry = entry?; - let path = entry.path(); - if path.extension().and_then(|s| s.to_str()) != Some("toml") { - continue; - } - let filename = path.file_stem().unwrap().to_string_lossy().to_string(); - let config = load_config(&path)?; - let is_active = configs_equal(¤t_config, &config); - profiles.push(Profile { - name: filename.clone(), - filename: format!("{}.toml", filename), - config, - is_active, - }); - } - - Ok(profiles) -} - -fn configs_equal(a: &Config, b: &Config) -> bool { - a.default_model == b.default_model - && a.providers.len() == b.providers.len() - && a.models.len() == b.models.len() - && a.providers.iter().all(|(k, v)| { - b.providers.get(k).map_or(false, |other| { - v.provider_type == other.provider_type - && v.base_url == other.base_url - && v.api_key == other.api_key - && v.env == other.env - }) - }) - && a.models.iter().all(|(k, v)| { - b.models.get(k).map_or(false, |other| { - v.provider == other.provider - && v.model == other.model - && v.max_context_size == other.max_context_size - && v.display_name == other.display_name - }) - }) -} -``` - -- [ ] **Step 4: Implement profile CRUD and switch** - -```rust -use crate::config_io::save_config; - -pub fn save_profile(filename: &str, config: &Config) -> anyhow::Result<()> { - std::fs::create_dir_all(profiles_dir())?; - let path = profile_path(filename); - save_config(&path, config) -} - -pub fn switch_profile(filename: &str) -> anyhow::Result { - let path = profile_path(filename); - let config = load_config(&path)?; - save_config(config_path(), &config)?; - Ok(config) -} - -pub fn rename_profile(old_filename: &str, new_name: &str) -> anyhow::Result { - let new_filename = format!("{}.toml", safe_filename(new_name)); - let old_path = profile_path(old_filename); - let new_path = profile_path(&new_filename); - if new_path.exists() { - anyhow::bail!("profile already exists"); - } - std::fs::rename(old_path, new_path)?; - Ok(new_filename) -} - -pub fn delete_profile(filename: &str) -> anyhow::Result<()> { - let path = profile_path(filename); - std::fs::remove_file(path)?; - Ok(()) -} -``` - -- [ ] **Step 5: Run cargo test for profile_manager** - -Run: -```bash -cd src-tauri && cargo test profile_manager -``` - -Expected: tests pass. - ---- - -## Task 6: Implement Tauri Commands - -**Files:** -- Create: `src-tauri/src/commands.rs` - -- [ ] **Step 1: Write commands.rs** - -```rust -use crate::config_io::{config_dir, config_path, load_config, save_config}; -use crate::models::{Config, ProfileSummary, Table}; -use crate::profile_manager; -use crate::validators::validate_config; - -/// Merge frontend-managed fields into the existing on-disk config, -/// preserving raw_other (capabilities, overrides, custom_headers, [thinking], etc.). -fn merge_with_existing(path: &std::path::PathBuf, incoming: Config) -> Result { - let existing = load_config(path).unwrap_or_else(|_| Config { - default_model: None, - providers: Default::default(), - models: Default::default(), - raw_other: Table::new(), - }); - Ok(Config { - default_model: incoming.default_model, - providers: incoming.providers, - models: incoming.models, - raw_other: existing.raw_other, - }) -} - -#[tauri::command] -pub fn load_config_command() -> Result { - load_config(config_path()).map_err(|e| e.to_string()) -} - -#[tauri::command] -pub fn save_config_command(config: Config) -> Result<(), String> { - if let Err(errors) = validate_config(&config) { - return Err(errors.iter().map(|e| e.to_string()).collect::>().join("\n")); - } - let merged = merge_with_existing(&config_path(), config)?; - save_config(config_path(), &merged).map_err(|e| e.to_string()) -} - -#[tauri::command] -pub fn list_profiles() -> Result, String> { - let profiles = profile_manager::list_profiles().map_err(|e| e.to_string())?; - Ok(profiles - .into_iter() - .map(|p| ProfileSummary { - name: p.name, - filename: p.filename, - is_active: p.is_active, - }) - .collect()) -} - -#[tauri::command] -pub fn load_profile(filename: String) -> Result { - profile_manager::load_profile(&filename).map_err(|e| e.to_string()) -} - -#[tauri::command] -pub fn save_profile(filename: String, config: Config) -> Result<(), String> { - let path = profile_manager::profile_path(&filename); - let merged = merge_with_existing(&path, config)?; - profile_manager::save_profile(&filename, &merged).map_err(|e| e.to_string()) -} - -#[tauri::command] -pub fn switch_profile(filename: String) -> Result { - profile_manager::switch_profile(&filename).map_err(|e| e.to_string()) -} - -#[tauri::command] -pub fn rename_profile(old_filename: String, new_name: String) -> Result { - profile_manager::rename_profile(&old_filename, &new_name).map_err(|e| e.to_string()) -} - -#[tauri::command] -pub fn delete_profile(filename: String) -> Result<(), String> { - profile_manager::delete_profile(&filename).map_err(|e| e.to_string()) -} - -#[tauri::command] -pub fn open_config_dir() -> Result<(), String> { - let path = config_dir(); - std::process::Command::new("explorer") - .arg(path) - .spawn() - .map_err(|e| e.to_string())?; - Ok(()) -} - -#[tauri::command] -pub fn get_app_version() -> String { - env!("CARGO_PKG_VERSION").to_string() -} -``` - -- [ ] **Step 2: Add missing profile_manager::load_profile** - -Add to `profile_manager.rs`: -```rust -pub fn load_profile(filename: &str) -> anyhow::Result { - load_config(profile_path(filename)) -} -``` - -- [ ] **Step 3: Run cargo check** - -Run: -```bash -cd src-tauri && cargo check -``` - -Expected: compilation succeeds. - ---- - -## Task 7: Configure Tauri v2 Permissions - -**Files:** -- Create: `src-tauri/capabilities/default.json` -- Modify: `src-tauri/tauri.conf.json` - -- [ ] **Step 1: Create capabilities/default.json** - -```json -{ - "$schema": "../gen/schemas/desktop-schema.json", - "identifier": "default", - "description": "Default capabilities for KimiSwitch", - "windows": ["main"], - "permissions": [ - "core:default", - "shell:allow-open", - { - "identifier": "fs:allow-read-file", - "allow": [ - { "path": "$HOME/.kimi-code/config.toml" }, - { "path": "$HOME/.kimi-code/profiles/*" } - ] - }, - { - "identifier": "fs:allow-write-file", - "allow": [ - { "path": "$HOME/.kimi-code/config.toml" }, - { "path": "$HOME/.kimi-code/profiles/*" } - ] - }, - { - "identifier": "fs:allow-read-dir", - "allow": [ - { "path": "$HOME/.kimi-code" }, - { "path": "$HOME/.kimi-code/profiles" } - ] - }, - { - "identifier": "fs:allow-create-dir", - "allow": [ - { "path": "$HOME/.kimi-code" }, - { "path": "$HOME/.kimi-code/profiles" } - ] - } - ] -} -``` - -- [ ] **Step 2: Update tauri.conf.json bundle config** - -Ensure `"targets": ["msi"]` is set and add windows-specific config: - -```json -"bundle": { - "active": true, - "targets": ["msi"], - "windows": { - "webviewInstallMode": { - "type": "downloadBootstrapper" - }, - "nsis": null - }, - "icon": [ - "icons/32x32.png", - "icons/128x128.png", - "icons/128x128@2x.png", - "icons/icon.ico" - ] -} -``` - -- [ ] **Step 3: Add placeholder icons** - -Create simple PNG/ICO icons or copy from Tauri default. For now, create empty files as placeholders. - -Run: -```bash -mkdir -p src-tauri/icons -touch src-tauri/icons/32x32.png src-tauri/icons/128x128.png src-tauri/icons/128x128@2x.png src-tauri/icons/icon.ico -``` - -Note: Replace with real icons before final build. - ---- - -## Task 8: Frontend Types and useConfig Hook - -**Files:** -- Create: `src/types/index.ts` -- Create: `src/hooks/useConfig.ts` - -- [ ] **Step 1: Create src/types/index.ts** - -```typescript -export type ProviderType = - | "kimi" - | "anthropic" - | "openai" - | "openai_responses" - | "google-genai" - | "vertexai"; - -export interface Provider { - name: string; - provider_type: ProviderType; - base_url: string | null; - api_key: string | null; - env: Record; -} - -export interface Model { - alias: string; - provider: string; - model: string; - max_context_size: number; - display_name: string | null; -} - -export interface Config { - default_model: string | null; - providers: Record; - models: Record; -} - -export interface ProfileSummary { - name: string; - filename: string; - is_active: boolean; -} -``` - -- [ ] **Step 2: Create src/hooks/useConfig.ts** - -```typescript -import { useState, useEffect, useCallback } from "react"; -import { invoke } from "@tauri-apps/api/core"; -import type { Config, ProfileSummary, Provider, Model } from "../types"; - -export function useConfig() { - const [config, setConfig] = useState(null); - const [profiles, setProfiles] = useState([]); - const [dirty, setDirty] = useState(false); - const [error, setError] = useState(null); - const [loading, setLoading] = useState(false); - - const refresh = useCallback(async () => { - setLoading(true); - try { - const [cfg, profs] = await Promise.all([ - invoke("load_config_command"), - invoke("list_profiles"), - ]); - setConfig(cfg); - setProfiles(profs); - setError(null); - setDirty(false); - } catch (e) { - setError(String(e)); - } finally { - setLoading(false); - } - }, []); - - useEffect(() => { - refresh(); - }, [refresh]); - - const updateConfig = useCallback((updater: (cfg: Config) => Config) => { - setConfig((prev) => (prev ? updater(prev) : prev)); - setDirty(true); - }, []); - - const save = useCallback(async () => { - if (!config) return; - try { - await invoke("save_config_command", { config }); - setDirty(false); - await refresh(); - } catch (e) { - setError(String(e)); - } - }, [config, refresh]); - - const switchProfile = useCallback( - async (filename: string) => { - try { - const cfg = await invoke("switch_profile", { filename }); - setConfig(cfg); - setDirty(false); - await refresh(); - } catch (e) { - setError(String(e)); - } - }, - [refresh] - ); - - return { - config, - profiles, - dirty, - error, - loading, - refresh, - save, - switchProfile, - updateConfig, - }; -} -``` - ---- - -## Task 9: Build TopBar Component - -**Files:** -- Create: `src/components/TopBar.tsx` - -- [ ] **Step 1: Write TopBar.tsx** - -```tsx -import { useState, useEffect } from "react"; -import type { Config, ProfileSummary, ProviderType } from "../types"; - -interface TopBarProps { - config: Config; - profiles: ProfileSummary[]; - selectedProvider: string; - selectedModel: string; - onProviderChange: (name: string) => void; - onModelChange: (alias: string) => void; - onSetDefault: () => void; - onProfileAction: (action: "new" | "duplicate" | "rename" | "delete" | "switch", filename: string) => void; -} - -export function TopBar({ - config, - profiles, - selectedProvider, - selectedModel, - onProviderChange, - onModelChange, - onSetDefault, - onProfileAction, -}: TopBarProps) { - const [profileFilename, setProfileFilename] = useState(""); - const providerOptions = Object.values(config.providers); - const modelOptions = Object.values(config.models).filter( - (m) => m.provider === selectedProvider - ); - - useEffect(() => { - const active = profiles.find((p) => p.is_active); - setProfileFilename(active?.filename || profiles[0]?.filename || ""); - }, [profiles]); - - return ( -
      - - - - - - - -
      - - - - - - -
      - ); -} -``` - ---- - -## Task 10: Build ProviderList and ProviderForm - -**Files:** -- Create: `src/components/ProviderList.tsx` -- Create: `src/components/ProviderForm.tsx` - -- [ ] **Step 1: Write ProviderList.tsx** - -```tsx -import type { Provider } from "../types"; - -interface ProviderListProps { - providers: Provider[]; - selected: string; - onSelect: (name: string) => void; - onAdd: () => void; - onDelete: (name: string) => void; -} - -export function ProviderList({ providers, selected, onSelect, onAdd, onDelete }: ProviderListProps) { - return ( -
      -
      供应商
      -
      - {providers.map((p) => ( -
      onSelect(p.name)} - > - {p.name} - -
      - ))} -
      - -
      - ); -} -``` - -- [ ] **Step 2: Write ProviderForm.tsx** - -```tsx -import type { Provider, ProviderType } from "../types"; - -const PROVIDER_TYPES: ProviderType[] = [ - "kimi", - "anthropic", - "openai", - "openai_responses", - "google-genai", - "vertexai", -]; - -interface ProviderFormProps { - provider: Provider; - onChange: (provider: Provider) => void; -} - -function credentialEnvKeys(type: ProviderType): { apiKey: string; baseUrl: string } { - switch (type) { - case "kimi": - return { apiKey: "KIMI_API_KEY", baseUrl: "KIMI_BASE_URL" }; - case "anthropic": - return { apiKey: "ANTHROPIC_API_KEY", baseUrl: "ANTHROPIC_BASE_URL" }; - case "openai": - case "openai_responses": - return { apiKey: "OPENAI_API_KEY", baseUrl: "OPENAI_BASE_URL" }; - case "google-genai": - return { apiKey: "GOOGLE_API_KEY", baseUrl: "GOOGLE_GEMINI_BASE_URL" }; - case "vertexai": - return { apiKey: "VERTEXAI_API_KEY", baseUrl: "GOOGLE_VERTEX_BASE_URL" }; - } -} - -export function ProviderForm({ provider, onChange }: ProviderFormProps) { - const useDirect = !!(provider.api_key || provider.base_url); - const keys = credentialEnvKeys(provider.provider_type); - - const setUseDirect = (direct: boolean) => { - if (direct === useDirect) return; - if (direct) { - // Move credentials from env to direct fields - const env = { ...provider.env }; - const apiKey = env[keys.apiKey] || ""; - const baseUrl = env[keys.baseUrl] || ""; - delete env[keys.apiKey]; - delete env[keys.baseUrl]; - onChange({ - ...provider, - api_key: apiKey || null, - base_url: baseUrl || null, - env, - }); - } else { - // Move credentials from direct fields to env - const env = { ...provider.env }; - if (provider.api_key) env[keys.apiKey] = provider.api_key; - if (provider.base_url) env[keys.baseUrl] = provider.base_url; - onChange({ - ...provider, - api_key: null, - base_url: null, - env, - }); - } - }; - - const update = (patch: Partial) => { - onChange({ ...provider, ...patch }); - }; - - return ( -
      -
      - - -
      - -
      - - -
      - -
      - - update({ base_url: e.target.value || null })} - /> -
      - -
      - - update({ api_key: e.target.value || null })} - /> -
      - -
      - - update({ env })} - disabled={useDirect} - /> -
      -
      - ); -} - -function EnvTable({ - env, - onChange, - disabled, -}: { - env: Record; - onChange: (env: Record) => void; - disabled: boolean; -}) { - const entries = Object.entries(env); - - return ( -
      - {entries.map(([k, v], idx) => ( -
      - { - const newEnv = { ...env }; - delete newEnv[k]; - newEnv[e.target.value] = v; - onChange(newEnv); - }} - /> - onChange({ ...env, [k]: e.target.value })} - /> - -
      - ))} - -
      - ); -} -``` - ---- - -## Task 11: Build ModelList and ModelForm - -**Files:** -- Create: `src/components/ModelList.tsx` -- Create: `src/components/ModelForm.tsx` - -- [ ] **Step 1: Write ModelList.tsx** - -```tsx -import type { Model } from "../types"; - -interface ModelListProps { - models: Model[]; - selected: string; - onSelect: (alias: string) => void; - onAdd: () => void; - onDelete: (alias: string) => void; -} - -export function ModelList({ models, selected, onSelect, onAdd, onDelete }: ModelListProps) { - return ( -
      -
      模型别名
      -
      - {models.map((m) => ( -
      onSelect(m.alias)} - > - {m.alias} - -
      - ))} -
      - -
      - ); -} -``` - -- [ ] **Step 2: Write ModelForm.tsx** - -```tsx -import type { Model } from "../types"; - -interface ModelFormProps { - model: Model; - providers: string[]; - onChange: (model: Model) => void; - onSetDefault: () => void; -} - -export function ModelForm({ model, providers, onChange, onSetDefault }: ModelFormProps) { - return ( -
      -
      - - -
      - -
      - - -
      - -
      - - onChange({ ...model, model: e.target.value })} - /> -
      - -
      - - - onChange({ ...model, max_context_size: Number(e.target.value) }) - } - /> -
      - -
      - - - onChange({ ...model, display_name: e.target.value || null }) - } - /> -
      - - -
      - ); -} -``` - ---- - -## Task 12: Build BottomToolbar and App.tsx - -**Files:** -- Create: `src/components/BottomToolbar.tsx` -- Create: `src/App.tsx` - -- [ ] **Step 1: Write BottomToolbar.tsx** - -```tsx -interface BottomToolbarProps { - dirty: boolean; - onSave: () => void; - onReload: () => void; - onSaveAsProfile: () => void; - onOpenDir: () => void; -} - -export function BottomToolbar({ - dirty, - onSave, - onReload, - onSaveAsProfile, - onOpenDir, -}: BottomToolbarProps) { - return ( -
      - - - - - {dirty && 有未保存修改} -
      - ); -} -``` - -- [ ] **Step 2: Write App.tsx** - -```tsx -import { useState, useMemo } from "react"; -import { invoke } from "@tauri-apps/api/core"; -import { useConfig } from "./hooks/useConfig"; -import { TopBar } from "./components/TopBar"; -import { ProviderList } from "./components/ProviderList"; -import { ProviderForm } from "./components/ProviderForm"; -import { ModelList } from "./components/ModelList"; -import { ModelForm } from "./components/ModelForm"; -import { BottomToolbar } from "./components/BottomToolbar"; -import type { Config, Provider, Model } from "./types"; - -export default function App() { - const { - config, - profiles, - dirty, - error, - loading, - refresh, - save, - switchProfile, - updateConfig, - } = useConfig(); - - const [selectedProvider, setSelectedProvider] = useState(""); - const [selectedModel, setSelectedModel] = useState(""); - - const providers = useMemo( - () => (config ? Object.values(config.providers) : []), - [config] - ); - const models = useMemo( - () => (config ? Object.values(config.models) : []), - [config] - ); - const filteredModels = useMemo( - () => models.filter((m) => m.provider === selectedProvider), - [models, selectedProvider] - ); - - if (loading || !config) { - return
      加载中...
      ; - } - - const handleProviderSelect = (name: string) => { - setSelectedProvider(name); - const firstModel = models.find((m) => m.provider === name); - setSelectedModel(firstModel?.alias || ""); - }; - - const handleSetDefault = () => { - if (!selectedModel) return; - updateConfig((cfg) => ({ ...cfg, default_model: selectedModel })); - }; - - const handleAddProvider = () => { - const name = `provider-${providers.length + 1}`; - updateConfig((cfg) => ({ - ...cfg, - providers: { ...cfg.providers, [name]: { - name, - provider_type: "kimi", - base_url: null, - api_key: null, - env: {}, - }}, - })); - setSelectedProvider(name); - }; - - const handleUpdateProvider = (provider: Provider) => { - updateConfig((cfg) => ({ - ...cfg, - providers: { ...cfg.providers, [provider.name]: provider }, - })); - }; - - const handleDeleteProvider = (name: string) => { - updateConfig((cfg) => { - const providers = { ...cfg.providers }; - delete providers[name]; - return { ...cfg, providers }; - }); - if (selectedProvider === name) { - setSelectedProvider(""); - setSelectedModel(""); - } - }; - - const handleAddModel = () => { - const alias = `model-${models.length + 1}`; - updateConfig((cfg) => ({ - ...cfg, - models: { - ...cfg.models, - [alias]: { - alias, - provider: selectedProvider || Object.keys(cfg.providers)[0] || "", - model: "", - max_context_size: 262144, - display_name: null, - }, - }, - })); - setSelectedModel(alias); - }; - - const handleUpdateModel = (model: Model) => { - updateConfig((cfg) => ({ - ...cfg, - models: { ...cfg.models, [model.alias]: model }, - })); - }; - - const handleDeleteModel = (alias: string) => { - updateConfig((cfg) => { - const models = { ...cfg.models }; - delete models[alias]; - return { ...cfg, models }; - }); - if (selectedModel === alias) setSelectedModel(""); - }; - - const handleProfileAction = async ( - action: "new" | "duplicate" | "rename" | "delete" | "switch", - filename: string - ) => { - if (action === "switch") { - await switchProfile(filename); - return; - } - - if (action === "new") { - const name = prompt("输入 Profile 名称")?.trim(); - if (!name) return; - const safe = name.toLowerCase().replace(/[^a-z0-9]+/g, "-"); - await invoke("save_profile", { - filename: `${safe}.toml`, - config, - }); - await refresh(); - return; - } - - if (filename === "default") { - alert("default Profile 不可进行复制/重命名/删除"); - return; - } - - if (action === "duplicate") { - const cfg = await invoke("load_profile", { filename }); - const base = filename.replace(/\.toml$/, ""); - const newFilename = `${base}-copy.toml`; - await invoke("save_profile", { filename: newFilename, config: cfg }); - await refresh(); - } else if (action === "rename") { - const name = prompt("输入新 Profile 名称")?.trim(); - if (!name) return; - await invoke("rename_profile", { oldFilename: filename, newName: name }); - await refresh(); - } else if (action === "delete") { - if (!confirm(`确定删除 Profile ${filename}?`)) return; - await invoke("delete_profile", { filename }); - await refresh(); - } - }; - - const currentProvider = config.providers[selectedProvider]; - const currentModel = config.models[selectedModel]; - - return ( -
      - - - {error && ( -
      {error}
      - )} - -
      -
      - -
      - -
      - {currentProvider ? ( - - ) : ( -
      请选择或添加供应商
      - )} -
      - -
      - -
      - -
      - {currentModel ? ( - - ) : ( -
      请选择或添加模型
      - )} -
      -
      - - { - const name = prompt("输入新 Profile 名称")?.trim(); - if (!name) return; - const safe = name.toLowerCase().replace(/[^a-z0-9]+/g, "-"); - await invoke("save_profile", { - filename: `${safe}.toml`, - config, - }); - await refresh(); - }} - onOpenDir={() => invoke("open_config_dir")} - /> -
      - ); -} -``` - ---- - -## Task 13: Tailwind Configuration - -**Files:** -- Create: `tailwind.config.js` -- Create: `postcss.config.js` - -- [ ] **Step 1: Create tailwind.config.js** - -```javascript -/** @type {import('tailwindcss').Config} */ -export default { - content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], - theme: { - extend: {}, - }, - plugins: [], -}; -``` - -- [ ] **Step 2: Create postcss.config.js** - -```javascript -export default { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -}; -``` - ---- - -## Task 14: Rust Unit Tests - -**Files:** -- Create: `src-tauri/tests/config_io.rs` -- Create: `src-tauri/tests/validators.rs` -- Create: `src-tauri/tests/profile_manager.rs` - -- [ ] **Step 1: Write validators test** - -```rust -use kimiswitch_lib::models::{Config, Model, Provider, ProviderType, Table}; -use kimiswitch_lib::validators::validate_config; -use indexmap::IndexMap; - -fn valid_config() -> Config { - let mut providers = IndexMap::new(); - providers.insert( - "kimi".to_string(), - Provider { - name: "kimi".to_string(), - provider_type: ProviderType::Kimi, - base_url: None, - api_key: None, - env: [("KIMI_API_KEY".to_string(), "sk-xxx".to_string())] - .into_iter() - .collect(), - raw_other: Table::new(), - }, - ); - - let mut models = IndexMap::new(); - models.insert( - "kimi-coding".to_string(), - Model { - alias: "kimi-coding".to_string(), - provider: "kimi".to_string(), - model: "kimi-for-coding".to_string(), - max_context_size: 262144, - display_name: None, - raw_other: Table::new(), - }, - ); - - Config { - default_model: Some("kimi-coding".to_string()), - providers, - models, - raw_other: Table::new(), - } -} - -#[test] -fn test_valid_config() { - assert!(validate_config(&valid_config()).is_ok()); -} - -#[test] -fn test_missing_credentials() { - let mut cfg = valid_config(); - cfg.providers.get_mut("kimi").unwrap().env.clear(); - let errors = validate_config(&cfg).unwrap_err(); - assert!(errors.iter().any(|e| e.to_string().contains("missing credentials"))); -} - -#[test] -fn test_unknown_model_provider() { - let mut cfg = valid_config(); - cfg.models.get_mut("kimi-coding").unwrap().provider = "missing".to_string(); - let errors = validate_config(&cfg).unwrap_err(); - assert!(errors.iter().any(|e| e.to_string().contains("Unknown model provider"))); -} -``` - -- [ ] **Step 2: Run Rust tests** - -Run: -```bash -cd src-tauri && cargo test -``` - -Expected: all tests pass. - ---- - -## Task 15: Build MSI Installer - -**Files:** -- Modify: `src-tauri/tauri.conf.json` -- Create: real icon files in `src-tauri/icons/` - -- [ ] **Step 1: Verify tauri.conf.json bundle settings** - -Ensure: -```json -"bundle": { - "active": true, - "targets": ["msi"] -} -``` - -- [ ] **Step 2: Add real icon files** - -Generate icons using Tauri CLI: -```bash -npm run tauri icon path/to/icon.png -``` - -If no icon yet, use a temporary 1024x1024 PNG. - -- [ ] **Step 3: Build release MSI** - -Run: -```bash -npm run tauri build -``` - -Expected output: -``` -src-tauri/target/release/bundle/msi/KimiSwitch_0.1.0_x64_en-US.msi -``` - -- [ ] **Step 4: Install and smoke test on Windows** - -Double-click the MSI, verify: -- Install completes without errors. -- Start menu shortcut appears. -- App launches. -- Can create provider, model, save, switch profiles. - ---- - -## Task 16: Manual End-to-End Testing - -- [ ] **Step 1: Fresh config scenario** - -Delete `~/.kimi-code/config.toml`, launch KimiSwitch, verify it creates an empty config and default profile. - -- [ ] **Step 2: Existing config scenario** - -Create a hand-written `config.toml` with one provider and one model. Launch KimiSwitch, verify it loads correctly. - -- [ ] **Step 3: Provider/model switch** - -Add two providers with one model each. Use TopBar to switch between them and click「设为默认」. Verify `default_model` in `config.toml` updates. - -- [ ] **Step 4: Profile switch** - -Create two profiles with different providers. Switch between them. Verify `config.toml` content changes. - -- [ ] **Step 5: Validation error** - -Create a model referencing a non-existent provider. Click save. Verify error dialog appears and file is not overwritten. - ---- - -## Self-Review - -### Spec Coverage - -| Spec Section | Implementing Task | -| --- | --- | -| Tauri v2 + Rust + TS/React + Tailwind | Task 1 | -| ProviderType enum with serde rename | Task 2 | -| IndexMap for ordering | Task 2 | -| Profile filename safe化 | Task 5 | -| `toml_edit` round-trip | Task 3 | -| Tauri permissions | Task 7 | -| Tauri commands | Task 6 | -| Credential env/direct mutual exclusivity | Task 10 (ProviderForm) | -| `is_active` semantic compare | Task 5 | -| Three-pane UI with TopBar | Tasks 9–12 | -| Validation rules | Task 4 | -| MSI packaging | Task 15 | -| Windows-specific paths | Task 3 | -| raw_other preservation | Task 6 (`merge_with_existing`) | - -### Placeholder Scan - -No TBD/TODO/fill-in-details found. All code blocks contain concrete implementations. - -### Type Consistency - -- `Provider`, `Model`, `Config` types match between Rust (`models.rs`) and TypeScript (`src/types/index.ts`). -- Command names in `lib.rs` match `commands.rs` and `useConfig.ts`. -- `Table` re-exported from `models.rs` so integration tests can construct models. - -### Implementation Notes - -- **raw_other preservation**: `save_config_command` and `save_profile_command` load the existing on-disk file, merge managed fields from the frontend, and keep the original `raw_other`. This protects `[thinking]`, `[loop_control]`, `custom_headers`, `capabilities`, `overrides`, and comments/formatting. -- **Provider/model rename**: For simplicity in the first implementation, provider `name` and model `alias` are read-only in the edit forms. Users can delete and recreate, or rename via Profile-level operations. A future enhancement can add explicit rename with reference updates. -- **Chinese Profile names**: The safe-filename function keeps ASCII alphanumeric characters; pure Chinese names fall back to a hash-based filename. -- **Provider default Base URL auto-fill**: Not implemented in this plan; add as a follow-up enhancement. diff --git a/docs/superpowers/plans/2026-07-07-i18n-ui-agent-switch.md b/docs/superpowers/plans/2026-07-07-i18n-ui-agent-switch.md deleted file mode 100644 index 489bbb9..0000000 --- a/docs/superpowers/plans/2026-07-07-i18n-ui-agent-switch.md +++ /dev/null @@ -1,270 +0,0 @@ -# i18n / Agent Switch / UI Cleanup Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use `superpowers:subagent-driven-development` (recommended) or `superpowers:executing-plans` to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Complete Chinese/English i18n, replace the target dropdown with a CC Switch-style icon selector, clean up the header/footer layout, fix backend validation so managed providers and half-empty models don’t block saving, and ensure the app only fetches model lists on explicit user action. - -**Architecture:** Keep the existing Rust backend commands and `ConfigTarget` abstraction. Front-end state stays in `App.tsx`; UI pieces live in `src/components/`. Validation/sanitization moves into a small Rust helper that normalizes config before validation, so legacy or in-progress configs can be saved without surprising the user. - -**Tech Stack:** Tauri v2 (Rust), React + Tailwind CSS, TypeScript, `toml_edit`, `serde_yaml`. - ---- - -### Task 1: Fix backend validation / sanitization - -**Files:** -- Modify: `src-tauri/src/validators.rs` -- Modify: `src-tauri/src/commands.rs` -- Test: `src-tauri/tests/validators.rs` - -- [ ] **Step 1.1: Treat `managed:*` providers as managed** - -In `validators.rs`, add a helper and use it in the credential check: - -```rust -fn is_managed_provider(provider: &Provider) -> bool { - provider.managed || provider.name.starts_with("managed:") -} -``` - -Replace the credential guard condition: - -```rust -if !is_managed_provider(provider) && !matches!(provider.provider_type, ProviderType::Vertexai) { - // existing ambiguous / missing checks -} -``` - -- [ ] **Step 1.2: Sanitize config before validation** - -In `commands.rs`, add a `sanitize_config(config: &mut Config)` function before `validate_config` is called in `save_config_command`: - -```rust -fn sanitize_config(config: &mut Config) { - // Managed:* providers should carry the managed flag. - for provider in config.providers.values_mut() { - if provider.name.starts_with("managed:") { - provider.managed = true; - } - } - - let first_provider = config.providers.keys().next().cloned(); - for model in config.models.values_mut() { - if model.provider.trim().is_empty() { - if let Some(name) = &first_provider { - model.provider = name.clone(); - } - } - if model.model.trim().is_empty() { - model.model = model.alias.clone(); - } - if model.max_context_size == 0 { - model.max_context_size = 262_144; - } - } -} -``` - -Call it at the top of `save_config_command`: - -```rust -pub fn save_config_command( - app: tauri::AppHandle, - target: ConfigTarget, - mut config: Config, -) -> Result<(), String> { - sanitize_config(&mut config); - if let Err(errors) = validate_config(&config) { ... } - ... -} -``` - -- [ ] **Step 1.3: Add/update tests** - -Add tests in `src-tauri/tests/validators.rs` for: -1. `managed:kimi-code` with empty credentials passes. -2. `glm-5` with empty provider/model/max_context_size is sanitized and then passes. - -Run: `cd src-tauri && cargo test` -Expected: all tests pass. - ---- - -### Task 2: Remove implicit model auto-fetch - -**Files:** -- Modify: `src/components/ProviderEdit.tsx` - -- [ ] **Step 2.1: Delete the auto-fetch `useEffect`** - -Remove: - -```tsx -const [autoFetched, setAutoFetched] = useState(false); - -useEffect(() => { - if (models.length === 0 && !autoFetched && !discovering) { - setAutoFetched(true); - handleDiscover(); - } -}, [models.length, autoFetched, discovering, handleDiscover]); -``` - -Keep the explicit `获取模型列表` button and the discovered-models panel. Models are now fetched only when the user clicks the button. - ---- - -### Task 3: Redesign header and footer - -**Files:** -- Modify: `src/App.tsx` -- Modify: `src/i18n/zh.ts` -- Modify: `src/i18n/en.ts` -- Modify: `src/index.css` (if needed for footer) - -- [ ] **Step 3.1: Replace target dropdown with icon selector** - -In `App.tsx`, replace the `` in the top-right of the header, next to the agent selector. - -- [ ] **Step 3.4: Add missing translation keys** - -Add `unsavedChanges: "未保存修改"` / `"Unsaved changes"` to both translation files. - ---- - -### Task 4: Improve adaptive / maximize-friendly layout - -**Files:** -- Modify: `src/components/ProviderList.tsx` -- Modify: `src/components/ProviderEdit.tsx` - -- [ ] **Step 4.1: ProviderList cards adapt to width** - -Ensure the list container is `flex-1 overflow-auto` and cards use `w-full`. The right-side action buttons should wrap on narrow widths by adding `flex-wrap` to their container. - -- [ ] **Step 4.2: ProviderEdit table scrolls horizontally** - -Wrap the model mapping table in a `div` with `overflow-auto`: - -```tsx -
      - ...
      -
      -``` - -Change the two-column basic-info grid to collapse on small widths by using `grid-cols-1 md:grid-cols-2`. - ---- - -### Task 5: Complete zh/en i18n - -**Files:** -- Modify: `src/i18n/zh.ts` -- Modify: `src/i18n/en.ts` - -- [ ] **Step 5.1: Audit for hardcoded strings** - -Search `src/components/` and `src/App.tsx` for any literal Chinese or English UI text not using `t()`. Add keys and replace them. Ensure keys added to both `zh.ts` and `en.ts`. - ---- - -### Task 6: Rename / update logo and icons - -**Files:** -- Modify: `index.html` -- Create/overwrite: `public/kimi.svg` -- Create/overwrite: `src-tauri/icons/32x32.png`, `src-tauri/icons/128x128.png`, `src-tauri/icons/128x128@2x.png`, `src-tauri/icons/icon.ico` - -- [ ] **Step 6.1: Generate Kimi Switch icons** - -Use a Python script (Pillow) to generate PNG/ICO files with a π symbol. Update `index.html` favicon to `/kimi.svg`. - -- [ ] **Step 6.2: Verify app title** - -`tauri.conf.json` already has `"title": "Kimi Switch"`. Ensure `index.html` `` is also `Kimi Switch`. - ---- - -### Task 7: Build and run - -**Files:** N/A - -- [ ] **Step 7.1: Run frontend build** - -`npm run build` -Expected: no TypeScript or build errors. - -- [ ] **Step 7.2: Run Rust tests** - -`cd src-tauri && cargo test` -Expected: all tests pass. - -- [ ] **Step 7.3: Start dev app** - -`npm run tauri-dev` -Expected: app window opens, agent switch works, save/reload/open buttons work, model fetch is manual. - ---- - -### Self-Review - -- **Spec coverage:** managed-provider error → Task 1.1; glm-5 empty fields → Task 1.2; manual model fetch → Task 2; CC Switch icon selector → Task 3.1; footer action placement → Task 3.2; adaptive layout → Task 4; i18n → Task 5; logo/title → Task 6. -- **Placeholder scan:** no TBD/TODO/fill-in details; each step has file paths and code. -- **Type consistency:** `ConfigTarget` values remain `"kimi"` / `"omp"`; translation keys match existing `TranslationKey` type. diff --git a/docs/superpowers/plans/2026-07-08-kimicode-reload-hint.md b/docs/superpowers/plans/2026-07-08-kimicode-reload-hint.md deleted file mode 100644 index 41f5080..0000000 --- a/docs/superpowers/plans/2026-07-08-kimicode-reload-hint.md +++ /dev/null @@ -1,192 +0,0 @@ -# Kimi Code /reload Hint Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Add an info icon tooltip next to the "switch provider" button, visible only in the Kimi Code tab, reminding users to run `/reload` after switching providers. - -**Architecture:** Extend `ProviderList` to receive the current `agent` and conditionally render a hint icon beside the switch button. Keep changes minimal and UI-only; no state or backend changes. - -**Tech Stack:** React 18, TypeScript, Tailwind CSS, custom i18n module (`src/i18n`). - ---- - -### Task 1: Add i18n translation keys - -**Files:** -- Modify: `src/i18n/zh.ts` -- Modify: `src/i18n/en.ts` - -- [ ] **Step 1: Add Chinese translation** - -Insert `switchReloadHint` into the "Provider list" section of `src/i18n/zh.ts`, e.g. after `switchTo`: - -```ts - switchReloadHint: "切换供应商后,请在 Kimi Code 中执行 /reload 以生效。", -``` - -- [ ] **Step 2: Add English translation** - -Insert the matching key into `src/i18n/en.ts`: - -```ts - switchReloadHint: "After switching providers, run /reload in Kimi Code to apply the change.", -``` - -- [ ] **Step 3: Commit** - -```bash -git add src/i18n/zh.ts src/i18n/en.ts -git commit -m "i18n: add switchReloadHint for Kimi Code reload reminder" -``` - ---- - -### Task 2: Update ProviderList to accept agent and render hint - -**Files:** -- Modify: `src/components/ProviderList.tsx` - -- [ ] **Step 1: Import Agent type and update props** - -Add `Agent` to the import from `../types` and add `agent` to `ProviderListProps`: - -```tsx -import { useTranslation } from "../i18n"; -import type { Agent, Model, Provider } from "../types"; - -interface ProviderListProps { - providers: Provider[]; - defaultModel: string | null; - models: Record<string, Model>; - onEdit: (name: string) => void; - onDelete: (name: string) => void; - onAdd: () => void; - onSwitchProvider: (name: string) => void; - agent: Agent; -} -``` - -- [ ] **Step 2: Destructure agent in component signature** - -```tsx -export function ProviderList({ - providers, - defaultModel, - models, - onEdit, - onDelete, - onAdd, - onSwitchProvider, - agent, -}: ProviderListProps) { -``` - -- [ ] **Step 3: Render hint icon next to the switch button** - -In the supplier card actions area, place an info icon immediately after the "切换使用" / "Switch to" button, rendered only when `agent === "kimi_code"`: - -```tsx - <button - type="button" - onClick={(e) => { - e.stopPropagation(); - onSwitchProvider(provider.name); - }} - className={`px-3 py-1.5 text-sm rounded focus:ring-2 focus:outline-none ${ - isActive - ? "bg-green-600 hover:bg-green-700 text-white focus:ring-green-500" - : "bg-blue-600 hover:bg-blue-700 text-white focus:ring-blue-500" - }`} - > - {isActive ? t("inUse") : t("switchTo")} - </button> - {agent === "kimi_code" && ( - <span - className="text-sm text-gray-500 hover:text-gray-300 cursor-help select-none" - title={t("switchReloadHint")} - aria-label={t("switchReloadHint")} - > - ⓘ - </span> - )} -``` - -- [ ] **Step 4: Commit** - -```bash -git add src/components/ProviderList.tsx -git commit -m "feat: show /reload hint next to switch provider button in Kimi Code tab" -``` - ---- - -### Task 3: Pass agent from App to ProviderList - -**Files:** -- Modify: `src/App.tsx` - -- [ ] **Step 1: Add agent prop to ProviderList usage** - -Locate the `<ProviderList ... />` call in `src/App.tsx` and add `agent={agent}`: - -```tsx - <ProviderList - providers={providers} - defaultModel={config.default_model} - models={config.models} - onEdit={(name) => { - setEditingProvider(name); - setView("edit"); - }} - onDelete={handleDeleteProvider} - onAdd={handleAddProvider} - onSwitchProvider={handleSwitchProvider} - agent={agent} - /> -``` - -- [ ] **Step 2: Commit** - -```bash -git add src/App.tsx -git commit -m "chore: pass current agent to ProviderList" -``` - ---- - -### Task 4: Verify with type check and manual test - -- [ ] **Step 1: Run TypeScript compilation** - -```bash -npm run build -``` - -Expected: `tsc` completes without errors and Vite builds successfully. - -- [ ] **Step 2: Run the app** - -```bash -npm run tauri-dev -``` - -- [ ] **Step 3: Manual verification** - -1. Select the **Kimi Code** tab. -2. Hover over the `ⓘ` icon next to any provider's "切换使用" / "Switch to" button. -3. Confirm the tooltip reads: - - 中文:`切换供应商后,请在 Kimi Code 中执行 /reload 以生效。` - - English: `After switching providers, run /reload in Kimi Code to apply the change.` -4. Switch to the **Pi** tab and confirm the `ⓘ` icon is **not** present. - -- [ ] **Step 4: Commit verification notes (optional)** - -If any fixes were needed, commit them; otherwise no additional commit is required. - ---- - -## Self-Review - -- **Spec coverage:** Every design requirement (icon next to switch button, Kimi Code only, i18n, no new dependencies) maps to a task above. -- **Placeholder scan:** No TBD/TODO/fill-in-details present. -- **Type consistency:** `Agent` type is imported from `../types` and used consistently in props and conditional rendering. diff --git a/docs/superpowers/plans/2026-07-09-kimicode-global-settings-panel.md b/docs/superpowers/plans/2026-07-09-kimicode-global-settings-panel.md deleted file mode 100644 index 8ceb95b..0000000 --- a/docs/superpowers/plans/2026-07-09-kimicode-global-settings-panel.md +++ /dev/null @@ -1,937 +0,0 @@ -# Kimi Code 全局配置面板与模型默认上下文 Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Add a Kimi Code global settings panel inside ProviderEdit and auto-set `max_context_size` for new models based on a model-ID lookup table. - -**Architecture:** Extend the shared `Config` type with typed agent settings, add two pure helper modules (`agent-settings.ts` for `raw_other` IO and `model-defaults.ts` for context lookup), and render the panel in a new React component wired through `ProviderEdit`. - -**Tech Stack:** React 18, TypeScript, Tailwind CSS, custom i18n, Tauri v2 backend (no Rust changes). - ---- - -### Task 1: Add agent settings types - -**Files:** -- Modify: `src/types/index.ts` - -- [ ] **Step 1: Append new types** - -Insert at the end of `src/types/index.ts`: - -```ts -export interface ThinkingConfig { - enabled?: boolean; - effort?: "low" | "medium" | "high" | "max"; - keep?: "all" | false | 0 | "no" | "off" | "none" | null; -} - -export interface LoopControlConfig { - max_retries_per_step?: number; - reserved_context_size?: number; -} - -export interface BackgroundConfig { - max_running_tasks?: number; - keep_alive_on_exit?: boolean; -} - -export interface PermissionRule { - decision?: "allow" | "deny" | "ask"; - scope?: string; - pattern?: string; - reason?: string; -} - -export interface Hook { - event?: string; - matcher?: string; - command?: string; - timeout?: number; -} - -export interface AgentSettings { - thinking?: ThinkingConfig; - loop_control?: LoopControlConfig; - background?: BackgroundConfig; - permission?: { rules?: PermissionRule[] }; - hooks?: Hook[]; -} -``` - -- [ ] **Step 2: Commit** - -```bash -git add src/types/index.ts -git commit -m "types: add AgentSettings and related Kimi Code config types" -``` - ---- - -### Task 2: Create model default context size lookup - -**Files:** -- Create: `src/lib/model-defaults.ts` - -- [ ] **Step 1: Create the lookup module** - -Create `src/lib/model-defaults.ts`: - -```ts -export const DEFAULT_MAX_CONTEXT_SIZE = 256000; - -interface ModelContextRule { - pattern: RegExp; - max_context_size: number; -} - -const MODEL_CONTEXT_RULES: ModelContextRule[] = [ - // Kimi - { pattern: /^kimi-for-coding$/i, max_context_size: 262144 }, - { pattern: /^kimi-k2\.5/i, max_context_size: 256000 }, - { pattern: /^kimi-k2/i, max_context_size: 256000 }, - { pattern: /^kimi-/i, max_context_size: 256000 }, - // GLM - { pattern: /^glm-5\.2/i, max_context_size: 1000000 }, - { pattern: /^glm-5\.1/i, max_context_size: 256000 }, - { pattern: /^glm-5/i, max_context_size: 256000 }, - { pattern: /^glm-4/i, max_context_size: 128000 }, - { pattern: /^glm-/i, max_context_size: 128000 }, - // MiniMax - { pattern: /^MiniMax-M3/i, max_context_size: 1000000 }, - { pattern: /^MiniMax-Text-01/i, max_context_size: 400000 }, - { pattern: /^MiniMax-/i, max_context_size: 256000 }, - // Qwen - { pattern: /^qwen2\.5/i, max_context_size: 128000 }, - { pattern: /^qwen-max/i, max_context_size: 128000 }, - { pattern: /^qwen-plus/i, max_context_size: 128000 }, - { pattern: /^qwen-turbo/i, max_context_size: 128000 }, - { pattern: /^qwen-coder/i, max_context_size: 128000 }, - { pattern: /^qwen-/i, max_context_size: 128000 }, - // DeepSeek - { pattern: /^deepseek-r1/i, max_context_size: 64000 }, - { pattern: /^deepseek-v3/i, max_context_size: 64000 }, - { pattern: /^deepseek-coder/i, max_context_size: 64000 }, - { pattern: /^deepseek-/i, max_context_size: 64000 }, - // Hunyuan - { pattern: /^hunyuan-pro/i, max_context_size: 32000 }, - { pattern: /^hunyuan-standard/i, max_context_size: 32000 }, - { pattern: /^hunyuan-lite/i, max_context_size: 32000 }, - { pattern: /^hunyuan-/i, max_context_size: 32000 }, - // Doubao - { pattern: /^doubao-pro/i, max_context_size: 128000 }, - { pattern: /^doubao-lite/i, max_context_size: 128000 }, - { pattern: /^doubao-vision/i, max_context_size: 128000 }, - { pattern: /^doubao-/i, max_context_size: 128000 }, - // ERNIE - { pattern: /^ernie-4\.0/i, max_context_size: 128000 }, - { pattern: /^ernie-3\.5/i, max_context_size: 128000 }, - { pattern: /^ernie-speed/i, max_context_size: 128000 }, - { pattern: /^ernie-lite/i, max_context_size: 128000 }, - { pattern: /^ernie-/i, max_context_size: 128000 }, - // Spark - { pattern: /^spark-v4/i, max_context_size: 32000 }, - { pattern: /^spark-v3\.5/i, max_context_size: 32000 }, - { pattern: /^spark-pro/i, max_context_size: 32000 }, - { pattern: /^spark-max/i, max_context_size: 32000 }, - { pattern: /^spark-/i, max_context_size: 32000 }, - // SenseChat - { pattern: /^sensechat-/i, max_context_size: 128000 }, - // Baichuan - { pattern: /^baichuan-4/i, max_context_size: 128000 }, - { pattern: /^baichuan-3/i, max_context_size: 128000 }, - { pattern: /^baichuan-/i, max_context_size: 128000 }, - // Yi - { pattern: /^yi-/i, max_context_size: 128000 }, - // Claude - { pattern: /^claude-opus/i, max_context_size: 200000 }, - { pattern: /^claude-sonnet/i, max_context_size: 200000 }, - { pattern: /^claude-haiku/i, max_context_size: 200000 }, - { pattern: /^claude-/i, max_context_size: 200000 }, - // OpenAI - { pattern: /^gpt-4\.1/i, max_context_size: 1047576 }, - { pattern: /^gpt-4o/i, max_context_size: 128000 }, - { pattern: /^gpt-4-turbo/i, max_context_size: 128000 }, - { pattern: /^gpt-4-/i, max_context_size: 128000 }, - // Gemini - { pattern: /^gemini-2\.0-flash/i, max_context_size: 1048576 }, - { pattern: /^gemini-1\.5-pro/i, max_context_size: 2097152 }, - { pattern: /^gemini-1\.5-flash/i, max_context_size: 1048576 }, - { pattern: /^gemini-/i, max_context_size: 1048576 }, -]; - -export function getDefaultMaxContextSize(modelId: string): number { - for (const rule of MODEL_CONTEXT_RULES) { - if (rule.pattern.test(modelId)) { - return rule.max_context_size; - } - } - return DEFAULT_MAX_CONTEXT_SIZE; -} -``` - -- [ ] **Step 2: Commit** - -```bash -git add src/lib/model-defaults.ts -git commit -m "feat: add model default max_context_size lookup table" -``` - ---- - -### Task 3: Create agent settings IO helpers - -**Files:** -- Create: `src/lib/agent-settings.ts` - -- [ ] **Step 1: Create helper module** - -Create `src/lib/agent-settings.ts`: - -```ts -import type { AgentSettings } from "../types"; - -const DEFAULT_SETTINGS: AgentSettings = { - thinking: { - enabled: true, - effort: "medium", - keep: "all", - }, - loop_control: { - max_retries_per_step: 3, - reserved_context_size: 50000, - }, - background: { - keep_alive_on_exit: false, - }, - permission: { rules: [] }, - hooks: [], -}; - -function asRecord(value: unknown): Record<string, unknown> { - if (value && typeof value === "object" && !Array.isArray(value)) { - return value as Record<string, unknown>; - } - return {}; -} - -function getSection<T>(rawOther: unknown, key: string): T | undefined { - const root = asRecord(rawOther); - const section = root[key]; - if (section === undefined || section === null) return undefined; - return section as T; -} - -export function getAgentSettings(rawOther: unknown): AgentSettings { - return { - thinking: { - ...DEFAULT_SETTINGS.thinking, - ...getSection<AgentSettings["thinking"]>(rawOther, "thinking"), - }, - loop_control: { - ...DEFAULT_SETTINGS.loop_control, - ...getSection<AgentSettings["loop_control"]>(rawOther, "loop_control"), - }, - background: { - ...DEFAULT_SETTINGS.background, - ...getSection<AgentSettings["background"]>(rawOther, "background"), - }, - permission: { - rules: getSection<AgentSettings["permission"]>(rawOther, "permission")?.rules ?? [], - }, - hooks: getSection<AgentSettings["hooks"]>(rawOther, "hooks") ?? [], - }; -} - -export function setAgentSettings( - rawOther: unknown, - patch: Partial<AgentSettings> -): unknown { - const root = { ...asRecord(rawOther) }; - const current = getAgentSettings(rawOther); - const next: AgentSettings = { - thinking: { ...current.thinking, ...patch.thinking }, - loop_control: { ...current.loop_control, ...patch.loop_control }, - background: { ...current.background, ...patch.background }, - permission: { rules: patch.permission?.rules ?? current.permission?.rules ?? [] }, - hooks: patch.hooks ?? current.hooks ?? [], - }; - - if (next.thinking) root.thinking = next.thinking; - if (next.loop_control) root.loop_control = next.loop_control; - if (next.background) root.background = next.background; - if (next.permission?.rules && next.permission.rules.length > 0) { - root.permission = next.permission; - } else { - delete root.permission; - } - if (next.hooks && next.hooks.length > 0) { - root.hooks = next.hooks; - } else { - delete root.hooks; - } - - return root; -} -``` - -- [ ] **Step 2: Commit** - -```bash -git add src/lib/agent-settings.ts -git commit -m "feat: add agent settings read/write helpers" -``` - ---- - -### Task 4: Add i18n keys - -**Files:** -- Modify: `src/i18n/zh.ts` -- Modify: `src/i18n/en.ts` - -- [ ] **Step 1: Add Chinese keys** - -Insert into `src/i18n/zh.ts` in the "Agent / target" section: - -```ts - agentSettings: "全局配置", - enableThinking: "启用思考", - thinkingLevel: "思考等级", - thinkingKeep: "保留思考内容", - thinkingLow: "低", - thinkingMedium: "中", - thinkingHigh: "高", - thinkingMax: "最大", - thinkingContextHint: "启用思考会占用更多上下文,请确保模型上下文长度和预留空间足够。", - loopControlSettings: "循环控制", - maxRetriesPerStep: "单步重试次数", - reservedContextSize: "上下文预留大小", - backgroundSettings: "后台任务", - maxRunningTasks: "最大并发数", - keepAliveOnExit: "退出时保持运行", - permissionRules: "权限规则", - permissionDecision: "处置", - permissionPattern: "模式", - permissionAllow: "允许", - permissionDeny: "拒绝", - permissionAsk: "询问", - addRule: "+ 添加规则", - addCommonRules: "添加常用规则", - hooks: "生命周期钩子", - hookEvent: "事件", - hookMatcher: "匹配器", - hookCommand: "命令", - hookTimeout: "超时", - addHook: "+ 添加钩子", -``` - -- [ ] **Step 2: Add English keys** - -Insert matching keys into `src/i18n/en.ts`: - -```ts - agentSettings: "Global Settings", - enableThinking: "Enable thinking", - thinkingLevel: "Thinking level", - thinkingKeep: "Keep thinking content", - thinkingLow: "Low", - thinkingMedium: "Medium", - thinkingHigh: "High", - thinkingMax: "Max", - thinkingContextHint: "Thinking uses more context. Ensure the model context length and reserved size are sufficient.", - loopControlSettings: "Loop Control", - maxRetriesPerStep: "Max retries per step", - reservedContextSize: "Reserved context size", - backgroundSettings: "Background Tasks", - maxRunningTasks: "Max running tasks", - keepAliveOnExit: "Keep alive on exit", - permissionRules: "Permission Rules", - permissionDecision: "Decision", - permissionPattern: "Pattern", - permissionAllow: "Allow", - permissionDeny: "Deny", - permissionAsk: "Ask", - addRule: "+ Add rule", - addCommonRules: "Add common rules", - hooks: "Lifecycle Hooks", - hookEvent: "Event", - hookMatcher: "Matcher", - hookCommand: "Command", - hookTimeout: "Timeout", - addHook: "+ Add hook", -``` - -- [ ] **Step 3: Commit** - -```bash -git add src/i18n/zh.ts src/i18n/en.ts -git commit -m "i18n: add agent settings panel translations" -``` - ---- - -### Task 5: Build the AgentSettingsPanel component - -**Files:** -- Create: `src/components/AgentSettingsPanel.tsx` - -- [ ] **Step 1: Create the panel component** - -Create `src/components/AgentSettingsPanel.tsx`: - -```tsx -import { useTranslation } from "../i18n"; -import { getAgentSettings, setAgentSettings } from "../lib/agent-settings"; -import type { AgentSettings, PermissionRule, Hook } from "../types"; -import type { ReactNode } from "react"; -import type { TranslationKey } from "../i18n/zh"; - -interface AgentSettingsPanelProps { - rawOther: unknown; - onChange: (nextRawOther: unknown) => void; -} - -const THINKING_LEVELS = ["low", "medium", "high", "max"] as const; -const THINKING_LABELS: Record<(typeof THINKING_LEVELS)[number], TranslationKey> = { - low: "thinkingLow", - medium: "thinkingMedium", - high: "thinkingHigh", - max: "thinkingMax", -}; -const PERMISSION_DECISIONS = ["allow", "deny", "ask"] as const; -const PERMISSION_LABELS: Record<(typeof PERMISSION_DECISIONS)[number], TranslationKey> = { - allow: "permissionAllow", - deny: "permissionDeny", - ask: "permissionAsk", -}; -const COMMON_EVENTS = ["PreToolUse", "PostToolUse"] as const; - -export function AgentSettingsPanel({ rawOther, onChange }: AgentSettingsPanelProps) { - const { t } = useTranslation(); - const settings = getAgentSettings(rawOther); - - const update = (patch: Partial<AgentSettings>) => { - onChange(setAgentSettings(rawOther, patch)); - }; - - const updateThinking = (patch: Partial<AgentSettings["thinking"]>) => { - update({ thinking: { ...settings.thinking, ...patch } }); - }; - - const updateLoopControl = (patch: Partial<AgentSettings["loop_control"]>) => { - update({ loop_control: { ...settings.loop_control, ...patch } }); - }; - - const updateBackground = (patch: Partial<AgentSettings["background"]>) => { - update({ background: { ...settings.background, ...patch } }); - }; - - const setRules = (rules: PermissionRule[]) => { - update({ permission: { rules } }); - }; - - const setHooks = (hooks: Hook[]) => { - update({ hooks }); - }; - - const thinkingEnabled = settings.thinking?.enabled ?? true; - - return ( - <div className="mt-6 space-y-4"> - <h3 className="text-gray-400 text-sm font-medium">{t("agentSettings")}</h3> - - {/* Thinking */} - <Card title={t("enableThinking")}> - <Checkbox - label={t("enableThinking")} - checked={thinkingEnabled} - onChange={(checked) => updateThinking({ enabled: checked })} - /> - <div className="flex items-center gap-3 flex-wrap"> - <span className="text-sm text-gray-400">{t("thinkingLevel")}</span> - <Segmented - options={THINKING_LEVELS.map((lvl) => ({ key: lvl, label: t(THINKING_LABELS[lvl]) }))} - value={settings.thinking?.effort ?? "medium"} - onChange={(effort) => updateThinking({ effort })} - disabled={!thinkingEnabled} - /> - </div> - <Checkbox - label={t("thinkingKeep")} - checked={settings.thinking?.keep === "all"} - disabled={!thinkingEnabled} - onChange={(checked) => updateThinking({ keep: checked ? "all" : false })} - /> - <p className="text-xs text-gray-500">{t("thinkingContextHint")}</p> - </Card> - - {/* Loop Control */} - <Card title={t("loopControlSettings")}> - <NumberField - label={t("maxRetriesPerStep")} - value={settings.loop_control?.max_retries_per_step ?? 3} - onChange={(v) => updateLoopControl({ max_retries_per_step: v })} - /> - <NumberField - label={t("reservedContextSize")} - value={settings.loop_control?.reserved_context_size ?? 50000} - onChange={(v) => updateLoopControl({ reserved_context_size: v })} - /> - </Card> - - {/* Background */} - <Card title={t("backgroundSettings")}> - <NumberField - label={t("maxRunningTasks")} - value={settings.background?.max_running_tasks} - onChange={(v) => updateBackground({ max_running_tasks: v })} - /> - <Checkbox - label={t("keepAliveOnExit")} - checked={settings.background?.keep_alive_on_exit ?? false} - onChange={(checked) => updateBackground({ keep_alive_on_exit: checked })} - /> - </Card> - - {/* Permission Rules */} - <Card title={t("permissionRules")}> - <div className="space-y-2"> - {(settings.permission?.rules ?? []).map((rule, idx) => ( - <div key={idx} className="flex items-center gap-2"> - <select - className="bg-[#1f1f23] border border-[#2a2a2e] rounded px-2 py-1 text-sm" - value={rule.decision ?? "allow"} - onChange={(e) => { - const rules = [...(settings.permission?.rules ?? [])]; - rules[idx] = { ...rule, decision: e.target.value as PermissionRule["decision"] }; - setRules(rules); - }} - > - {PERMISSION_DECISIONS.map((d) => ( - <option key={d} value={d}>{t(PERMISSION_LABELS[d])}</option> - ))} - </select> - <input - type="text" - className="flex-1 min-w-0 bg-[#1f1f23] border border-[#2a2a2e] rounded px-2 py-1 text-sm" - value={rule.pattern ?? ""} - placeholder={t("permissionPattern")} - onChange={(e) => { - const rules = [...(settings.permission?.rules ?? [])]; - rules[idx] = { ...rule, pattern: e.target.value }; - setRules(rules); - }} - /> - <button - type="button" - onClick={() => { - const rules = [...(settings.permission?.rules ?? [])]; - rules.splice(idx, 1); - setRules(rules); - }} - className="px-2 py-1 text-sm text-red-400 hover:bg-red-900/20 rounded" - > - × - </button> - </div> - ))} - </div> - <div className="flex items-center gap-2"> - <button - type="button" - onClick={() => { - setRules([...(settings.permission?.rules ?? []), { decision: "allow", pattern: "" }]); - }} - className="px-3 py-1.5 text-sm border border-[#2a2a2e] rounded hover:bg-[#252529]" - > - {t("addRule")} - </button> - <button - type="button" - onClick={() => { - setRules([ - ...(settings.permission?.rules ?? []), - { decision: "allow", pattern: "Read" }, - { decision: "deny", pattern: "Bash(rm -rf*)" }, - ]); - }} - className="px-3 py-1.5 text-sm border border-[#2a2a2e] rounded hover:bg-[#252529]" - > - {t("addCommonRules")} - </button> - </div> - </Card> - - {/* Hooks */} - <Card title={t("hooks")}> - <div className="space-y-2"> - {(settings.hooks ?? []).map((hook, idx) => ( - <div key={idx} className="flex items-center gap-2 flex-wrap"> - <input - list="hook-events" - type="text" - className="w-32 bg-[#1f1f23] border border-[#2a2a2e] rounded px-2 py-1 text-sm" - value={hook.event ?? ""} - placeholder={t("hookEvent")} - onChange={(e) => { - const hooks = [...(settings.hooks ?? [])]; - hooks[idx] = { ...hook, event: e.target.value }; - setHooks(hooks); - }} - /> - <datalist id="hook-events"> - {COMMON_EVENTS.map((e) => <option key={e} value={e} />)} - </datalist> - <input - type="text" - className="w-24 bg-[#1f1f23] border border-[#2a2a2e] rounded px-2 py-1 text-sm" - value={hook.matcher ?? ""} - placeholder={t("hookMatcher")} - onChange={(e) => { - const hooks = [...(settings.hooks ?? [])]; - hooks[idx] = { ...hook, matcher: e.target.value }; - setHooks(hooks); - }} - /> - <input - type="text" - className="flex-1 min-w-0 bg-[#1f1f23] border border-[#2a2a2e] rounded px-2 py-1 text-sm" - value={hook.command ?? ""} - placeholder={t("hookCommand")} - onChange={(e) => { - const hooks = [...(settings.hooks ?? [])]; - hooks[idx] = { ...hook, command: e.target.value }; - setHooks(hooks); - }} - /> - <input - type="number" - className="w-20 bg-[#1f1f23] border border-[#2a2a2e] rounded px-2 py-1 text-sm" - value={hook.timeout ?? ""} - placeholder={t("hookTimeout")} - onChange={(e) => { - const hooks = [...(settings.hooks ?? [])]; - hooks[idx] = { ...hook, timeout: e.target.value === "" ? undefined : Number(e.target.value) }; - setHooks(hooks); - }} - /> - <button - type="button" - onClick={() => { - const hooks = [...(settings.hooks ?? [])]; - hooks.splice(idx, 1); - setHooks(hooks); - }} - className="px-2 py-1 text-sm text-red-400 hover:bg-red-900/20 rounded" - > - × - </button> - </div> - ))} - </div> - <button - type="button" - onClick={() => { - setHooks([...(settings.hooks ?? []), { event: "", matcher: "", command: "" }]); - }} - className="px-3 py-1.5 text-sm border border-[#2a2a2e] rounded hover:bg-[#252529]" - > - {t("addHook")} - </button> - </Card> - </div> - ); -} - -function Card({ title, children }: { title: string; children: ReactNode }) { - return ( - <div className="bg-[#16161a] border border-[#2a2a2e] rounded-xl p-4 space-y-3"> - <h4 className="text-gray-400 text-sm font-medium">{title}</h4> - {children} - </div> - ); -} - -function Checkbox({ - label, - checked, - disabled, - onChange, -}: { - label: string; - checked: boolean; - disabled?: boolean; - onChange: (checked: boolean) => void; -}) { - return ( - <label className={`flex items-center gap-2 text-sm ${disabled ? "text-gray-600" : "text-[#e5e5e7]"}`}> - <input - type="checkbox" - checked={checked} - disabled={disabled} - onChange={(e) => onChange(e.target.checked)} - className="rounded border-[#2a2a2e] bg-[#1f1f23] text-blue-600 focus:ring-blue-500" - /> - {label} - </label> - ); -} - -function NumberField({ - label, - value, - onChange, -}: { - label: string; - value?: number; - onChange: (value: number | undefined) => void; -}) { - return ( - <label className="flex items-center gap-3 text-sm text-[#e5e5e7]"> - <span className="text-gray-400">{label}</span> - <input - type="number" - value={value ?? ""} - onChange={(e) => { - const raw = e.target.value; - onChange(raw === "" ? undefined : Number(raw)); - }} - className="w-32 bg-[#1f1f23] border border-[#2a2a2e] rounded px-2 py-1 text-sm focus:ring-2 focus:ring-blue-500 focus:outline-none" - /> - </label> - ); -} - -function Segmented({ - options, - value, - onChange, - disabled, -}: { - options: { key: string; label: string }[]; - value: string; - onChange: (value: string) => void; - disabled?: boolean; -}) { - return ( - <div className={`flex items-center rounded overflow-hidden border border-[#2a2a2e] ${disabled ? "opacity-50" : ""}`}> - {options.map((opt) => ( - <button - key={opt.key} - type="button" - disabled={disabled} - onClick={() => onChange(opt.key)} - className={`px-3 py-1 text-sm ${ - value === opt.key - ? "bg-blue-600 text-white" - : "bg-[#1f1f23] text-gray-400 hover:bg-[#252529]" - }`} - > - {opt.label} - </button> - ))} - </div> - ); -} -``` - -- [ ] **Step 2: Commit** - -```bash -git add src/components/AgentSettingsPanel.tsx -git commit -m "feat: add AgentSettingsPanel component" -``` - ---- - -### Task 6: Wire AgentSettingsPanel into ProviderEdit - -**Files:** -- Modify: `src/components/ProviderEdit.tsx` - -- [ ] **Step 1: Update ProviderEditProps** - -Add `rawOther` and `onRawOtherChange` to the props interface: - -```tsx -interface ProviderEditProps { - agent: Agent; - provider: Provider; - models: Model[]; - defaultModel: string | null; - rawOther: unknown; - onRawOtherChange: (nextRawOther: unknown) => void; - onBack: () => void; - // ... existing callbacks -} -``` - -- [ ] **Step 2: Destructure new props** - -```tsx -export function ProviderEdit({ - agent, - provider, - models, - defaultModel, - rawOther, - onRawOtherChange, - onBack, - // ... existing -}: ProviderEditProps) { -``` - -- [ ] **Step 3: Render the panel in the model mapping tab** - -Locate the model mapping tab content (around the model table and "+ 添加模型映射" button) and insert `<AgentSettingsPanel />` at the bottom, conditionally for Kimi Code: - -```tsx - {agent === "kimi_code" && ( - <AgentSettingsPanel rawOther={rawOther} onChange={onRawOtherChange} /> - )} -``` - -- [ ] **Step 4: Commit** - -```bash -git add src/components/ProviderEdit.tsx -git commit -m "feat: render AgentSettingsPanel in ProviderEdit for Kimi Code" -``` - ---- - -### Task 7: Wire ProviderEdit to App.tsx - -**Files:** -- Modify: `src/App.tsx` - -- [ ] **Step 1: Pass rawOther and updater to ProviderEdit** - -Find the `<ProviderEdit ... />` call and add: - -```tsx - <ProviderEdit - agent={agent} - provider={currentProvider} - models={...} - defaultModel={config.default_model} - rawOther={config.raw_other} - onRawOtherChange={(nextRawOther) => - updateConfig((cfg) => ({ ...cfg, raw_other: nextRawOther })) - } - // ... existing props - /> -``` - -- [ ] **Step 2: Commit** - -```bash -git add src/App.tsx -git commit -m "chore: pass rawOther to ProviderEdit" -``` - ---- - -### Task 8: Apply smart max_context_size defaults when adding models - -**Files:** -- Modify: `src/App.tsx` - -- [ ] **Step 1: Import helper in App.tsx** - -In `src/App.tsx`, import: - -```tsx -import { getDefaultMaxContextSize } from "./lib/model-defaults"; -``` - -- [ ] **Step 2: Use lookup in onModelAdd** - -Find the `onModelAdd` prop passed to `<ProviderEdit />` and update the default `max_context_size`: - -```tsx - onModelAdd={() => { - const providerModels = Object.values(config.models).filter( - (m) => m.provider === currentProvider.name - ); - const alias = `${currentProvider.name}-${providerModels.length + 1}`; - updateConfig((cfg) => ({ - ...cfg, - models: { - ...cfg.models, - [alias]: { - alias, - provider: currentProvider.name, - model: "", - max_context_size: getDefaultMaxContextSize(alias), - display_name: null, - role: null, - supports_1m: false, - capabilities: [], - }, - }, - })); - }} -``` - -- [ ] **Step 3: Use lookup in handleApplyProviderJson** - -Update the model creation loop in `handleApplyProviderJson`: - -```tsx - updatedModels[alias] = { - ...m, - alias, - provider: provider.name, - max_context_size: m.max_context_size ?? getDefaultMaxContextSize(m.model), - }; -``` - -- [ ] **Step 4: Commit** - -```bash -git add src/App.tsx -git commit -m "feat: apply smart default max_context_size when adding models" -``` - ---- - -### Task 9: Verify with build and manual checks - -- [ ] **Step 1: Type check** - -```bash -npm run build -``` - -Expected: `tsc` and Vite build succeed. - -- [ ] **Step 2: Run the app** - -```bash -npm run tauri-dev -``` - -- [ ] **Step 3: Manual verification** - -1. Kimi Code tab → edit a provider → "模型映射" tab → scroll to bottom. -2. Confirm "全局配置" panel shows 5 cards. -3. Toggle "启用思考" and verify effort/keep enable/disable. -4. Change thinking effort, save, open `~/.kimi-code/config.toml`, verify `[thinking]` block. -5. Add a permission rule and a hook, save, verify `[[permission.rules]]` and `[[hooks]]` in TOML. -6. Add a new model with alias `glm-5.2-xxx`, verify `max_context_size` defaults to `1000000`. -7. Add a new model with unknown alias, verify `max_context_size` defaults to `256000`. -8. Switch to Pi tab, confirm global settings panel is not visible. - -- [ ] **Step 4: Commit any fixes** - -If any fixes were needed during verification, commit them. - ---- - -## Self-Review - -- **Spec coverage:** Every requirement (5 cards, model defaults, i18n, Kimi-only visibility, manual override) maps to a task. -- **Placeholder scan:** No TBD/TODO/fill-in-details; all code is shown. -- **Type consistency:** `AgentSettings`, helper signatures, and component props match across tasks. diff --git a/docs/superpowers/specs/2026-07-06-kimiswitch-design.md b/docs/superpowers/specs/2026-07-06-kimiswitch-design.md deleted file mode 100644 index 00022d4..0000000 --- a/docs/superpowers/specs/2026-07-06-kimiswitch-design.md +++ /dev/null @@ -1,420 +0,0 @@ -# KimiSwitch 设计文档 - -## 1. 项目概述 - -KimiSwitch 是一个 Windows 桌面配置管理工具,用于简化 Kimi Code CLI 的多供应商配置维护。它通过图形界面让用户增删改查 `[providers]` 与 `[models]`,支持多套配置**配置文件(Profile)**的保存与一键切换,最终生成符合 Kimi Code CLI 规范的 `~/.kimi-code/config.toml`。 - -## 2. 问题与目标 - -### 2.1 现状痛点 - -- Kimi Code CLI 的配置文件是 TOML 格式,需要手动编辑。 -- 维护多个供应商(Kimi、OpenAI、Anthropic、Gemini、Vertex 等)时,`base_url` 与 `api_key` 容易写错或重复。 -- 对 TOML 语法不熟的用户(例如 `[models."gpt-4.1"]` 需要引号)上手成本高。 -- 工作、个人、测试等场景需要多套 API 配置时,只能手动备份/替换 `config.toml`,切换麻烦且容易出错。 - -### 2.2 项目目标 - -- **优先做好 Windows 版本**:安装包、路径处理、UI 风格、权限行为均以 Windows 为首要目标平台。 -- 提供图形化界面,零 TOML 语法负担地维护供应商与模型别名。 -- **支持一键切换当前使用的供应商及其对应模型**:选择供应商后自动筛选关联模型,确认后立即将 `default_model` 写入 `config.toml`。 -- **支持多配置文件(Profile)管理**:保存多份独立配置,一键切换激活某一份到 `~/.kimi-code/config.toml`。 -- 支持 Kimi Code CLI 官方支持的全部供应商类型。 -- 自动处理凭证存储方式(直接字段 vs `[providers.<name>.env]` 子表)。 -- 以 Windows MSI 安装包形式分发给 Windows 用户。 - -## 3. 功能范围 - -### 3.1 In Scope - -- 供应商(providers)管理:增删改查。 -- 模型别名(models)管理:增删改查。 -- **供应商与模型快速切换**:选择供应商后只显示使用该供应商的模型,一键设为 `default_model`。 -- **Profile(配置快照)管理**:新建、重命名、复制、删除、切换 Profile;Profile 保存在 `~/.kimi-code/profiles/` 下,切换时写入 `~/.kimi-code/config.toml`。 -- 读取现有 `~/.kimi-code/config.toml`。 -- 保存时自动备份原配置并写入新配置。 -- 基础校验:必填项、重复别名、缺失的供应商引用、缺失凭证。 -- 生成 Windows MSI 安装包。 - -### 3.2 Out of Scope - -- 不实现加密存储:API Key 按 Kimi Code CLI 官方方式保存在 `config.toml` 中。 -- 不修改 `tui.toml`、`mcp.json`、OAuth 凭证等其他文件。 -- 不实现远程同步或云存储。 -- 不实现网络连通性测试或 API 调用验证。 -- 第一版不支持 macOS / Linux 安装包,仅输出 Windows x64 MSI;其他平台待 Windows x64 版本完成后再规划。 - -## 4. 技术方案 - -### 4.1 推荐方案 - -**Tauri(Rust + TypeScript)** - -- **Tauri v2**:Rust 编写的跨平台桌面框架,内置 Windows MSI 打包,产物体积小、启动快。本设计基于 Tauri v2 的权限与命令体系。 -- **Rust**:负责文件 I/O、配置解析、Profile 管理、校验逻辑;类型安全、性能高。 -- **TypeScript + React + Tailwind CSS**:负责前端界面;Tailwind 提供基础样式,无需引入重型 UI 组件库。 -- **toml_edit**:Rust 生态中支持 round-trip 的 TOML 编辑库,保留注释与格式。 -- **IndexMap**:替代 `HashMap` 保留 Provider / Model 的插入顺序。 -- **Tauri Bundler**:一键生成 `.msi` 安装包,无需额外 WiX 手动编写。 - -### 4.2 备选方案 - -| 方案 | 优点 | 缺点 | -| --- | --- | --- | -| Tauri + Rust + Vanilla TS | 依赖更少,构建更快 | 大型表单状态管理需手写 | -| Tauri + Rust + Vue/Svelte | 体积与 Vanilla 相近 | 团队需熟悉对应框架 | -| egui / Iced(纯 Rust) | 无前端构建链 | UI 灵活度与组件生态不如 Web | - -选择 **Tauri + Rust + React** 的原因是:Tauri 内置 MSI 打包且产物体积小;Rust 适合处理文件与配置逻辑;React 表单/表格生态成熟,能快速实现三栏配置界面。 - -## 5. 目录结构 - -``` -D:/AIGC/KimiSwitch -├── src-tauri/ -│ ├── Cargo.toml -│ ├── tauri.conf.json # Tauri 应用配置与打包选项 -│ └── src/ -│ ├── main.rs # 入口 -│ ├── lib.rs # 模块导出 -│ ├── models.rs # Provider / Model / Config / Profile 结构体 -│ ├── config_io.rs # 读写 config.toml 与 Profile 文件 -│ ├── profile_manager.rs # Profile 生命周期管理 -│ ├── validators.rs # 配置校验 -│ └── commands.rs # Tauri 暴露给前端的命令 -├── src/ # 前端源码 -│ ├── App.tsx -│ ├── components/ -│ │ ├── TopBar.tsx # Profile / 供应商 / 模型 / 设为默认 -│ │ ├── ProviderList.tsx -│ │ ├── ProviderForm.tsx -│ │ ├── ModelList.tsx -│ │ ├── ModelForm.tsx -│ │ └── BottomToolbar.tsx -│ ├── hooks/ -│ │ └── useConfig.ts # 配置状态与 Tauri 命令封装 -│ └── types/ -│ └── index.ts # 前端类型定义 -├── tests/ -│ ├── config_io.rs -│ ├── profile_manager.rs -│ └── validators.rs -├── package.json -├── tsconfig.json -├── vite.config.ts -├── Cargo.lock -├── README.md -└── .gitignore -``` - -## 6. 数据模型 - -### 6.1 ProviderType 枚举 - -```rust -#[derive(Debug, Clone, Serialize, Deserialize)] -#[serde(rename_all = "snake_case")] -pub enum ProviderType { - Kimi, - Anthropic, - Openai, - #[serde(rename = "openai_responses")] - OpenaiResponses, - #[serde(rename = "google-genai")] - GoogleGenai, - Vertexai, -} -``` - -> 注意:`openai_responses` 与 `google-genai` 包含连字符,无法直接用 `rename_all = "snake_case"`,需单独 `#[serde(rename)]`。 - -### 6.2 Provider - -```rust -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Provider { - pub name: String, // 供应商唯一标识 - pub provider_type: ProviderType, // 枚举 - pub base_url: Option<String>, // 直接字段 - pub api_key: Option<String>, // 直接字段 - pub env: IndexMap<String, String>, // [providers.<name>.env] 子表,保留顺序 - pub raw_other: Table, // 保留本工具不直接编辑的其他字段(如 custom_headers) -} -``` - -### 6.3 Model - -```rust -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Model { - pub alias: String, // 模型别名 - pub provider: String, // 引用的供应商 name - pub model: String, // 实际模型 ID - pub max_context_size: u64, - pub display_name: Option<String>, - pub raw_other: Table, // 保留 capabilities 等本工具不直接编辑的字段 -} -``` - -### 6.4 Config - -```rust -#[derive(Debug, Clone, Serialize, Deserialize)] -pub struct Config { - pub default_model: Option<String>, - pub providers: IndexMap<String, Provider>, // 保留顺序 - pub models: IndexMap<String, Model>, // 保留顺序 - pub raw_other: Table, // 保留 config.toml 中与本工具无关的其他字段 -} -``` - -### 6.5 Profile - -```rust -#[derive(Debug, Clone)] -pub struct Profile { - pub name: String, // Profile 显示名称,可包含中文/空格 - pub filename: String, // 安全化的存储文件名,如 "my-profile.toml" - pub config: Config, // 该 Profile 对应的完整配置内容 - pub is_active: bool, // 是否当前已激活 -} -``` - -Profile 文件统一存放在 `~/.kimi-code/profiles/` 目录下。`default` Profile 特殊处理:它直接对应 `~/.kimi-code/config.toml`,不额外在 `profiles/` 下生成文件。 - -**文件名安全化**:Profile 显示名可包含中文、空格、大小写;存储时自动转译为合法 Windows 文件名。转译规则:保留 ASCII 字母数字,其他字符替换为 `-`,连续 `-` 合并,小写化;若结果为空(如纯中文名),则回退为基于名称哈希的短文件名(如 `profile-48291.toml`)。 - -## 7. 配置读写行为 - -### 7.1 读取流程 - -1. 定位 `~/.kimi-code/config.toml`(可通过 `KIMI_CODE_HOME` 环境变量覆盖;使用 Rust `std::path::PathBuf` 处理 Windows 路径)。 -2. 使用 `toml_edit` 解析 TOML(保留注释、空行与字段顺序)。 -3. 提取 `[providers.*]` 与 `[models.*]` 到 Rust 结构体。 -4. 保留文件中其他字段(如 `[thinking]`、`[loop_control]` 等),保存时原样写回。 - -### 7.2 写入流程 - -1. 若目标文件已存在,先复制一份带时间戳的备份:`config.toml.bak.YYYYMMDD_HHMMSS_<毫秒>`(如 1 秒内多次保存,追加自增序号)。 -2. 使用 `toml_edit` 加载并修改 `[providers]`、`[models]` 与 `default_model`,保留原文件中的注释、空行与字段顺序。 -3. 合并保留的其他字段。 -4. 写回文件。 -5. 写操作使用临时文件 + 原子重命名(`write to tmp → fsync → rename`),降低写损风险。 - -> 第一版即使用 `toml_edit` 而非 `toml`/`serde_toml`,避免用户的既有注释和格式在保存后被清空。 - -### 7.3 Tauri 权限配置 - -Tauri 默认禁止前端访问文件系统,需在 `tauri.conf.json`(或 `capabilities/` 目录)中显式声明: - -- `fs:allow-read-file`:`~/.kimi-code/config.toml`、Profile 文件。 -- `fs:allow-write-file`:`~/.kimi-code/config.toml`、Profile 文件。 -- `fs:allow-read-dir`:`~/.kimi-code/`、`~/.kimi-code/profiles/`。 -- `fs:allow-create-dir`:首次运行时创建 `~/.kimi-code/profiles/`。 -- `core:default`:基础窗口与事件权限。 - -所有路径使用 Tauri 的 `BaseDirectory::Home` 解析,避免硬编码绝对路径。 - -### 7.4 Tauri 命令清单 - -Rust 后端通过 `commands.rs` 暴露以下命令给前端调用: - -| 命令 | 输入 | 输出 | 说明 | -| --- | --- | --- | --- | -| `load_config` | 无 | `Config` | 读取 `~/.kimi-code/config.toml`,若不存在则初始化空配置。 | -| `save_config` | `Config` | `Result<(), String>` | 校验并写入 `config.toml`,失败返回错误信息。 | -| `list_profiles` | 无 | `Vec<ProfileSummary>` | 列出 `profiles/` 下所有 Profile 及其激活状态。 | -| `load_profile` | `filename: String` | `Config` | 读取指定 Profile 文件内容。 | -| `save_profile` | `filename: String, config: Config` | `Result<(), String>` | 保存或覆盖指定 Profile 文件。 | -| `switch_profile` | `filename: String` | `Result<Config, String>` | 将指定 Profile 内容写入 `config.toml`(带备份)并返回新配置。 | -| `rename_profile` | `old_filename, new_name` | `Result<String, String>` | 重命名 Profile,返回新的安全文件名。 | -| `delete_profile` | `filename: String` | `Result<(), String>` | 删除指定 Profile 文件。 | -| `open_config_dir` | 无 | `Result<(), String>` | 调用系统文件管理器打开配置目录。 | -| `get_app_version` | 无 | `String` | 返回当前应用版本号。 | - -### 7.5 凭证存储策略 - -根据 [Kimi Code CLI 配置覆盖文档](https://www.kimi.com/code/docs/kimi-code-cli/configuration/overrides.html),凭证解析优先级为: - -1. `[providers.<name>].api_key` / `.base_url` -2. `[providers.<name>.env]` 中对应键 -3. 两者都缺失 → CLI 启动报错 - -KimiSwitch 默认将凭证写入 `[providers.<name>.env]` 子表,使用官方约定键名,同时提供「使用直接字段」开关,允许用户将 `api_key` / `base_url` 写到 `[providers.<name>]` 顶层。UI 中两种方式互斥: - -- **env 子表模式**:`api_key` / `base_url` 输入框的值映射到 `env` 中的约定键名;保存时顶层 `api_key` / `base_url` 字段被移除。 -- **直接字段模式**:`api_key` / `base_url` 写入顶层字段;保存时 `env` 中的对应约定键名被移除,其他自定义 `env` 键保留。 - -避免直接字段与 `env` 同时存在导致优先级迷惑。 - -各供应商的默认 Base URL 与 `env` 键名如下(参考 [Kimi Code CLI 平台与模型](https://www.kimi.com/code/docs/kimi-code-cli/configuration/providers.html)): - -| 供应商类型 | 默认 Base URL | API Key 键名 | Base URL 键名 | 特殊说明 | -| --- | --- | --- | --- | --- | -| `kimi` | `https://api.moonshot.ai/v1` | `KIMI_API_KEY` | `KIMI_BASE_URL` | 支持视频上传 | -| `anthropic` | Anthropic SDK 默认 | `ANTHROPIC_API_KEY` | `ANTHROPIC_BASE_URL` | Claude 模型自动识别 thinking / 视觉 / 工具调用 | -| `openai` | `https://api.openai.com/v1` | `OPENAI_API_KEY` | `OPENAI_BASE_URL` | 兼容 DeepSeek、Qwen 等第三方网关 | -| `openai_responses` | `https://api.openai.com/v1` | `OPENAI_API_KEY` | `OPENAI_BASE_URL` | 使用 OpenAI Responses API | -| `google-genai` | `https://generativelanguage.googleapis.com` | `GOOGLE_API_KEY` | `GOOGLE_GEMINI_BASE_URL` | 只填主机根地址,不要带 `/v1beta` | -| `vertexai` | 区域化 `*-aiplatform.googleapis.com` | 通常不需要(走 ADC) | `GOOGLE_VERTEX_BASE_URL` | 必须提供 `GOOGLE_CLOUD_PROJECT` 与 `GOOGLE_CLOUD_LOCATION`;只填主机根地址 | - -创建供应商时,UI 根据所选 `type` 自动填入默认 Base URL 与推荐 `env` 键名,用户可手动覆盖。 - -### 7.6 Profile 生命周期 - -Profile 是 `~/.kimi-code/config.toml` 的命名快照,存放在 `~/.kimi-code/profiles/` 目录下。 - -#### 7.6.1 初始化 - -- 工具首次启动时,若 `~/.kimi-code/config.toml` 已存在,自动生成一个名为 `default` 的 Profile,其内容即为当前 `config.toml`。 -- 若 `config.toml` 不存在,创建一个空 `default` Profile。 -- `default` Profile 始终直接对应 `~/.kimi-code/config.toml`,不在 `profiles/` 下额外生成文件。 - -**文件名安全化**:Profile 显示名可包含中文、空格、大小写;存储时自动转译为合法 Windows 文件名。转译规则:保留 ASCII 字母数字,其他字符替换为 `-`,连续 `-` 合并,小写化;若结果为空(如纯中文名),则回退为基于名称哈希的短文件名(如 `profile-48291.toml`)。 - -#### 7.6.2 操作 - -| 操作 | 行为 | -| --- | --- | -| 新建 Profile | 用户输入显示名,自动生成安全文件名;可选择「从当前配置复制」或「空白」;保存到 `profiles/<safe-name>.toml`。 | -| 重命名 Profile | 仅重命名非 `default` 的 Profile,修改显示名并重新生成安全文件名;原文件删除,新文件写入。 | -| 复制 Profile | 以 `<原显示名> Copy` 创建副本,自动生成新的安全文件名。 | -| 删除 Profile | 删除 `profiles/<safe-name>.toml`;`default` 不可删除。 | -| 切换 Profile | 将选中的 Profile 内容写入 `~/.kimi-code/config.toml`(先备份当前 `config.toml`),然后重新加载界面。 | -| 保存当前到 Profile | 把当前编辑内容导出为新的 Profile 文件,不影响当前激活状态。 | - -#### 7.6.3 激活状态判定 - -- 工具启动时将 `config.toml` 解析为 `Config`,再与各 Profile 的 `Config` 做深度比较(而非字符串比较),语义一致即标记为 `is_active`。 -- 若没有任何 Profile 与当前 `config.toml` 语义一致,则 `default` Profile 标记为 `is_active`,并在界面上提示「当前 config.toml 与所有 Profile 不完全匹配」。 - -#### 7.6.4 未保存变更处理 - -- 切换 Profile 或退出前若存在未保存的编辑,弹出对话框:「保存当前修改 / 丢弃 / 取消」。 -- 标题栏或状态栏显示「已修改」指示器。 - -## 8. 界面设计 - -前端使用 React + TypeScript + Tailwind CSS 实现,主窗口采用三栏布局,顶部增加「快速切换」工具条。前端通过 Tauri `invoke` 调用 Rust 命令完成所有文件操作。 - -- **窗口约束**:最小宽度 1000px,最小高度 700px;标题栏显示 `[未保存] Profile 名 - KimiSwitch`。 -- **快捷键**:`Ctrl + S` 保存当前配置,`Ctrl + R` 重新读取,`Ctrl + O` 打开配置目录。第一版不单独做主题切换,跟随系统亮/暗模式。 - -### 8.1 顶部工具条 - -从左到右依次为: - -- **Profile 下拉框**:列出所有 Profile(含 `default`),当前激活项高亮显示。 -- **Profile 操作按钮**:「新建」「复制」「重命名」「删除」「切换」。 -- **当前供应商** 下拉框:列出当前 Profile 中已配置供应商。 -- **当前模型** 下拉框:根据所选供应商,只列出引用该供应商的模型别名;若该供应商下没有模型,则提示「未绑定模型,请先在右侧添加」。 -- **设为默认** 按钮:将当前选中的模型写入 `default_model` 字段,并立即保存到当前 Profile 与 `config.toml`。 -- 启动时自动高亮当前 `default_model` 对应的供应商和模型。 - -### 8.2 左栏:供应商列表 - -- 显示所有 provider name 与 type。 -- 支持「添加」与「删除」按钮。 -- 切换左栏选中项时,顶部「当前供应商」下拉框同步联动,右栏模型列表按该供应商过滤。 - -### 8.3 中栏:供应商详情表单 - -- `type` 下拉选择框;切换时自动填充默认 `base_url` 与推荐 `env` 键名。 -- `base_url` 输入框。 -- `api_key` 输入框(默认掩码,可切换明文)。 -- 凭证存储方式单选:直接字段 / env 子表;两种方式互斥,保存时只写入被选中的那一种。 -- `env` 键值对表格(可增删改行)。 - -### 8.4 右栏:模型别名列表与详情 - -- 显示当前选中供应商下的 model alias(也可切换显示全部)。 -- 表单包含 `alias`、`provider` 下拉选择、`model`、`max_context_size`、`display_name`。 -- 提供「设为默认模型」按钮,等同于顶部快速切换区的「设为默认」。 - -### 8.5 状态与错误处理 - -- **未保存指示**:标题栏在配置有未保存变更时显示 `*` 前缀;状态栏显示「已修改」或「已保存」。 -- **切换/退出前检查**:存在未保存变更时,弹出「保存 / 丢弃 / 取消」三选一对话框。 -- **文件不存在**:首次启动或配置目录不存在时,自动创建 `~/.kimi-code/` 目录与空 `config.toml`,不报错。 -- **文件只读/权限不足**:保存失败时给出明确提示,并建议检查目录权限或以管理员身份运行。 -- **校验失败**:保存前校验不通过时,弹窗列出所有错误项,禁止写入。 -- **备份失败**:若备份步骤失败(如磁盘满),禁止覆盖原文件。 -- **多实例冲突**:启动时检测 `~/.kimi-code/.kimiswitch.lock`;若已存在且进程仍在运行,提示用户「KimiSwitch 已在运行,请勿多开」;若进程已消失则清理旧锁。保存时不强制全局锁,但建议单次会话内顺序执行写操作。 - -### 8.6 底部工具栏 - -- **读取配置**:从 `~/.kimi-code/config.toml` 重新加载。 -- **保存配置**:校验并写入当前 Profile 与 `config.toml`,失败时弹出错误提示。 -- **保存为新 Profile**:把当前编辑内容导出为新的 Profile 文件。 -- **打开配置目录**:调用系统文件管理器定位到数据目录。 - -## 9. 校验规则 - -保存前必须校验通过,否则禁止写入: - -1. 每个 Provider 的 `name` 非空、不重复,且为合法 TOML 表键(必要时生成带引号的键)。 -2. 每个 Provider 的 `type` 必须是支持的类型之一。 -3. 每个 Provider 必须至少提供一种凭证来源,但 `vertexai` 例外(走 Google Cloud ADC,无需静态 API Key): - - `api_key` 直接字段非空,或 - - `env` 中包含对应供应商的 API Key 键名。 -4. 凭证存储方式在直接字段与 `env` 子表之间互斥,保存时只写入选中的那一种。 -5. `vertexai` 类型的 Provider 必须在 `env` 中提供 `GOOGLE_CLOUD_PROJECT` 与 `GOOGLE_CLOUD_LOCATION`,不强制要求 API Key。 -6. 每个 Model 的 `alias` 非空、不重复,且为合法 TOML 表键(含 `.` 等字符时自动加引号)。 -7. 每个 Model 的 `provider` 必须引用一个已存在的 Provider。 -8. 每个 Model 的 `model` 非空,`max_context_size` 为正整数。 - -## 10. MSI 打包 - -### 10.1 打包流程 - -1. 安装依赖:`npm install` 与 `cargo fetch` -2. 开发/构建前端:`npm run build` -3. 构建并打包:`npm run tauri build` - - Tauri 自动调用 `cargo build --release` 与 Windows bundler - - 输出:`src-tauri/target/release/bundle/msi/KimiSwitch_<version>_x64_en-US.msi` - -### 10.2 MSI 行为 - -- 默认安装目录:`C:\Program Files\KimiSwitch`( per-machine 安装,需管理员权限)。 -- 创建开始菜单快捷方式:`KimiSwitch`。 -- 安装程序不自动写入 `config.toml`,仅部署工具本身。 -- 支持标准卸载。 -- 可在 `tauri.conf.json` 中配置签名、版本、厂商信息、安装目录等。 -- 第一版仅构建 x64 架构 MSI,不构建 arm64 或 32 位版本。 -- 第一版**不启用 Tauri Updater**,后续版本通过重新安装 MSI 升级,降低第一版复杂度。 - -### 10.3 Windows 专项处理 - -- **路径解析**:使用 Rust `dirs::home_dir()` 获取用户主目录,拼接 `.kimi-code`,避免依赖 `$HOME` 环境变量(Windows 下可能不存在)。 -- **配置文件位置**:默认 `C:\Users\<用户名>\.kimi-code\config.toml`;若用户设置 `KIMI_CODE_HOME`,按该变量解析。 -- **权限**:工具运行时只读写用户目录下的文件,无需以管理员身份运行;仅 MSI 安装本身需要管理员权限。 -- **编码与换行**:TOML 文件统一使用 UTF-8;Windows 下换行保持为 `\r\n` 或 `\n` 均可,`toml_edit` 会保留原文件换行风格。 -- **代码签名(可选)**:如后续分发,建议为 MSI 配置代码签名证书,减少 Windows Defender SmartScreen 提示。 - -## 11. 测试策略 - -- **单元测试**(Rust): - - `config_io.rs`:解析与生成 TOML 的 round-trip 测试。 - - `profile_manager.rs`:Profile 新建、复制、切换、激活状态判定测试。 - - `validators.rs`:校验规则的边界测试。 -- **手动测试**: - - 启动 GUI,增删改供应商与模型。 - - 创建多个 Profile 并相互切换,验证 `config.toml` 内容正确变化。 - - 保存后使用 Kimi Code CLI 读取并验证可用性。 - - 在 Windows 上执行 MSI 安装与卸载。 - -## 12. 假设与约束 - -- **第一版目标平台仅为 Windows x64**,macOS / Linux 跨平台支持不在第一版范围内,待 Windows x64 版本完成后再规划。 -- API Key 按 Kimi Code CLI 官方方式明文存储在 `config.toml` 中,不引入额外加密。 -- 开发者已安装 Rust 工具链、Node.js 与 Tauri CLI(仅开发与打包时需要,最终用户不需要)。 -- 不覆盖 Kimi Code CLI 的自动更新机制或 OAuth 登录流程。 -- 最终用户运行 KimiSwitch 只需标准 Windows 用户权限,安装 MSI 时才需要管理员权限。 - -## 13. 参考文档 - -- [Kimi Code CLI 配置文件](https://www.kimi.com/code/docs/kimi-code-cli/configuration/config-files.html) -- [Kimi Code CLI 平台与模型](https://www.kimi.com/code/docs/kimi-code-cli/configuration/providers.html) -- [Kimi Code CLI 数据路径](https://www.kimi.com/code/docs/kimi-code-cli/configuration/data-locations.html) -- [Kimi Code CLI 环境变量](https://www.kimi.com/code/docs/kimi-code-cli/configuration/env-vars.html) -- [Kimi Code CLI 配置覆盖](https://www.kimi.com/code/docs/kimi-code-cli/configuration/overrides.html) diff --git a/docs/superpowers/specs/2026-07-08-kimicode-reload-hint-design.md b/docs/superpowers/specs/2026-07-08-kimicode-reload-hint-design.md deleted file mode 100644 index 53e1178..0000000 --- a/docs/superpowers/specs/2026-07-08-kimicode-reload-hint-design.md +++ /dev/null @@ -1,47 +0,0 @@ -# Kimi Code 选项卡 /reload 提示设计 - -## 背景 - -用户在 Kimi Code 选项卡下切换供应商后,Kimi Code CLI 需要执行 `/reload` 才能加载新的提供方配置。当前界面没有给出该提示,用户容易遗漏这一步。 - -## 目标 - -在 Kimi Code 选项卡下,给每个供应商的"切换使用"按钮旁边增加一个信息提示,告知用户切换供应商后需要执行 `/reload`。 - -## 设计 - -### 位置与交互 - -- 在 `ProviderList` 组件中,每个供应商卡片右侧的"切换使用"按钮旁边添加一个信息图标 `ⓘ`。 -- 使用原生 `title` 属性展示 tooltip,鼠标悬停时显示提示文案。 -- 仅在当前选中 `agent === "kimi_code"` 时显示该图标;Pi 选项卡下不显示。 - -### 文案 - -- 中文:`切换供应商后,请在 Kimi Code 中执行 /reload 以生效。` -- 英文:`After switching providers, run /reload in Kimi Code to apply the change.` - -### 样式 - -- 图标大小约 14px,颜色为 `text-gray-500`,hover 时变为 `text-gray-300`。 -- 图标与"切换使用"按钮间距约 8px(`gap-2`)。 -- 不引入额外依赖或自定义 tooltip 组件。 - -### 组件与数据流 - -- `src/components/ProviderList.tsx`: - - `ProviderListProps` 新增 `agent: Agent` 字段。 - - 根据 `agent` 决定是否渲染提示图标。 - - 图标 `title` 使用 `t("switchReloadHint")`。 -- `src/App.tsx`: - - 渲染 `<ProviderList />` 时传入 `agent={agent}`。 -- `src/i18n/zh.ts` 与 `src/i18n/en.ts`: - - 新增键 `switchReloadHint`。 - -## 验收标准 - -- [ ] 切换到 Kimi Code 选项卡时,每个供应商的"切换使用"按钮旁出现 `ⓘ` 图标。 -- [ ] 鼠标悬停在图标上时,显示正确语言版本的 `/reload` 提示。 -- [ ] 切换到 Pi 选项卡时,该图标不显示。 -- [ ] 不引入新的运行时依赖。 -- [ ] TypeScript 编译与项目构建保持通过。 diff --git a/docs/superpowers/specs/2026-07-09-kimicode-global-settings-panel-design.md b/docs/superpowers/specs/2026-07-09-kimicode-global-settings-panel-design.md deleted file mode 100644 index eed26fc..0000000 --- a/docs/superpowers/specs/2026-07-09-kimicode-global-settings-panel-design.md +++ /dev/null @@ -1,253 +0,0 @@ -# Kimi Code 全局配置面板设计 - -## 背景 - -Kimi Code CLI 的 `~/.kimi-code/config.toml` 包含大量全局设置:`[thinking]`、`[loop_control]`、`[background]`、`[[permission.rules]]`、`[[hooks]]` 等。当前 Kimi Switch 只暴露了 `providers` 和 `models` 的可视化编辑,其他全局配置只能通过"配置 JSON"标签页手动修改,不够便捷。 - -## 目标 - -1. 在 Kimi Code 选项卡的供应商编辑页面(`ProviderEdit`)中,"模型映射"标签页下方新增一个"全局配置"面板,用图形化控件快速编辑上述 Kimi Code 全局设置。 -2. 根据模型 ID 自动为新添加/发现的模型设置默认 `max_context_size`,全局默认值为 256000,具体模型按可扩展的键值对表格匹配。 - -模型级的 `max_context_size` 已在模型映射表格中实现,用户仍可手动覆盖自动默认值。 - -## 设计 - -### 位置 - -- 组件:`src/components/ProviderEdit.tsx` -- 仅在 `agent === "kimi_code"` 时显示。 -- 位于"模型映射"标签页的内容区域内,在模型映射表格和"+ 添加模型映射"按钮的下方。 -- 垂直排列,超出区域高度时由页面滚动条处理。 - -### 分组与控件 - -面板按功能分为 5 张卡片: - -#### 卡片 1:思考模式 `[thinking]` - -| 控件 | 字段 | 说明 | -| --- | --- | --- | -| 复选框 | `enabled` | 是否默认开启思考 | -| 分段按钮 | `effort` | 思考强度:`low` / `medium` / `high` / `max` | -| 复选框 | `keep` | 是否保留历史思考内容(`"all"` 或关值) | - -- 思考等级和保留思考内容仅在"启用思考"勾选时可用,禁用时置灰。 -- "保留思考内容"未勾选时,写入 `[thinking].keep = false`(不能省略,否则 CLI 会回退到默认值 `"all"`)。 -- 卡片底部小字提示:"启用思考会占用更多上下文,请确保模型上下文长度和预留空间足够。" - -#### 卡片 2:循环控制 `[loop_control]` - -| 控件 | 字段 | 说明 | -| --- | --- | --- | -| 数字输入框 | `max_retries_per_step` | 单步失败后最大重试次数,默认 3 | -| 数字输入框 | `reserved_context_size` | 预留给模型输出的 token 数,单位 token | - -#### 卡片 3:后台任务 `[background]` - -| 控件 | 字段 | 说明 | -| --- | --- | --- | -| 数字输入框 | `max_running_tasks` | 同时运行的最大后台任务数 | -| 复选框 | `keep_alive_on_exit` | 会话关闭时是否保留后台任务 | - -#### 卡片 4:权限规则 `[[permission.rules]]` - -- 可添加/删除的规则列表,默认空列表。 -- 每行包含: - - **处置** 下拉框:`allow` / `deny` / `ask` - - **模式** 输入框:如 `Read`、`Bash(rm -rf*)` - - **删除** 按钮 -- 提供"添加常用规则"快捷入口,可一键插入: - - `allow` + `Read` - - `deny` + `Bash(rm -rf*)` - -#### 卡片 5:生命周期钩子 `[[hooks]]` - -- 可添加/删除的钩子列表,默认空列表。 -- 每行包含: - - **事件** 下拉框:常见事件如 `PreToolUse` / `PostToolUse`,也可手动输入其他事件 - - **匹配器** 输入框:如 `Bash` - - **命令** 输入框:如 `node ~/.kimi-code/hooks/check-bash.mjs` - - **超时** 数字输入框(秒) - - **删除** 按钮 - -### 样式 - -- 卡片容器:`bg-[#16161a] border border-[#2a2a2e] rounded-xl p-4` -- 卡片间距:`gap-4` -- 卡片标题:`text-gray-400 text-sm font-medium mb-3` -- 表单项:`flex items-center gap-4 flex-wrap` -- 数字输入框宽度:`w-32` -- 禁用状态:文字 `text-gray-600`,按钮不可交互 - -### 字段默认值 - -当 `raw_other` 中不存在对应表时,控件按以下默认值展示: - -| 配置块 | 字段 | UI 默认值 | -| --- | --- | --- | -| `[thinking]` | `enabled` | `true` | -| `[thinking]` | `effort` | `"medium"` | -| `[thinking]` | `keep` | `"all"`(勾选) | -| `[loop_control]` | `max_retries_per_step` | `3` | -| `[loop_control]` | `reserved_context_size` | `50000` | -| `[background]` | `max_running_tasks` | 空(不写入) | -| `[background]` | `keep_alive_on_exit` | `false` | -| `[[permission.rules]]` | — | 空列表 | -| `[[hooks]]` | — | 空列表 | - -数字输入框允许清空,表示不写入配置文件,由 Kimi Code CLI 使用其内置默认值。 - -### 数据流 - -- `App.tsx` 向 `ProviderEdit` 传入: - - `agent` - - `rawOther`(即 `config.raw_other`) - - `updateRawOther: (updater: (rawOther: unknown) => unknown) => void` -- `ProviderEdit` 中新增内部子组件 `AgentSettingsPanel`,封装所有全局配置 UI。 -- 新增 TypeScript 类型(`src/types/index.ts`): - - `ThinkingConfig` - - `LoopControlConfig` - - `BackgroundConfig` - - `PermissionRule` - - `Hook` - - `AgentSettings` -- 新增 helper(`src/components/AgentSettingsPanel.tsx` 或 `src/lib/agent-settings.ts`): - - `getAgentSettings(rawOther: unknown): AgentSettings` - - `setAgentSettings(rawOther: unknown, patch: Partial<AgentSettings>): unknown` - - 统一从 `raw_other` 中读取/写入 `[thinking]`、`[loop_control]`、`[background]`、`[[permission.rules]]`、`[[hooks]]`。 -- 后端无需改动:这些顶层表原本就通过 `Config.raw_other` 在导入/导出时保留。 - -### 模型默认上下文长度 - -在新增模型(手动添加、一键设置、从 API 发现模型)时,根据模型 ID 自动推荐 `max_context_size`。 - -- 默认回退值:`256000` -- 匹配方式:按模型 ID 字符串进行不区分大小写的正则前缀/全名匹配(代码中使用 `/pattern/i`),命中第一条规则即返回。 -- 规则表(按匹配优先级排列): - -| 匹配规则(不区分大小写) | `max_context_size` | 说明 | -| --- | --- | --- | -| **国内模型(优先)** | | | -| `^kimi-for-coding$` | `262144` | Kimi Code 官方托管模型 | -| `^kimi-k2\.5` | `256000` | Kimi K2.5 系列 | -| `^kimi-k2` | `256000` | Kimi K2 系列 | -| `^kimi-` | `256000` | 其他 Kimi 模型 | -| `^glm-5\.2` | `1000000` | GLM-5.2 | -| `^glm-5\.1` | `256000` | GLM-5.1 | -| `^glm-5` | `256000` | GLM-5 系列 | -| `^glm-4` | `128000` | GLM-4 / GLM-4-Plus / GLM-4-Flash | -| `^glm-` | `128000` | 其他 GLM 模型 | -| `^MiniMax-M3` | `1000000` | MiniMax-M3 | -| `^MiniMax-Text-01` | `400000` | MiniMax-Text-01 | -| `^MiniMax-` | `256000` | 其他 MiniMax 模型 | -| `^qwen2\.5` | `128000` | 通义千问 Qwen2.5 系列 | -| `^qwen-max` | `128000` | 通义千问 Max | -| `^qwen-plus` | `128000` | 通义千问 Plus | -| `^qwen-turbo` | `128000` | 通义千问 Turbo | -| `^qwen-coder` | `128000` | 通义千问 Coder | -| `^qwen-` | `128000` | 其他通义千问模型 | -| `^deepseek-r1` | `64000` | DeepSeek-R1 | -| `^deepseek-v3` | `64000` | DeepSeek-V3 | -| `^deepseek-coder` | `64000` | DeepSeek-Coder | -| `^deepseek-` | `64000` | 其他 DeepSeek 模型 | -| `^hunyuan-pro` | `32000` | 腾讯 Hunyuan Pro | -| `^hunyuan-standard` | `32000` | 腾讯 Hunyuan Standard | -| `^hunyuan-lite` | `32000` | 腾讯 Hunyuan Lite | -| `^hunyuan-` | `32000` | 其他 Hunyuan 模型 | -| `^doubao-pro` | `128000` | 字节 Doubao Pro | -| `^doubao-lite` | `128000` | 字节 Doubao Lite | -| `^doubao-vision` | `128000` | 字节 Doubao Vision | -| `^doubao-` | `128000` | 其他 Doubao 模型 | -| `^ernie-4\.0` | `128000` | 百度文心 4.0 | -| `^ernie-3\.5` | `128000` | 百度文心 3.5 | -| `^ernie-speed` | `128000` | 百度文心 Speed | -| `^ernie-lite` | `128000` | 百度文心 Lite | -| `^ernie-` | `128000` | 其他文心模型 | -| `^spark-v4` | `32000` | 讯飞星火 V4 | -| `^spark-v3\.5` | `32000` | 讯飞星火 V3.5 | -| `^spark-pro` | `32000` | 讯飞星火 Pro | -| `^spark-max` | `32000` | 讯飞星火 Max | -| `^spark-` | `32000` | 其他星火模型 | -| `^sensechat-` | `128000` | 商汤 SenseChat | -| `^baichuan-4` | `128000` | 百川 Baichuan 4 | -| `^baichuan-3` | `128000` | 百川 Baichuan 3 | -| `^baichuan-` | `128000` | 其他百川模型 | -| `^yi-` | `128000` | 零一万物 Yi 系列 | -| **国际模型** | | | -| `^claude-opus` | `200000` | Claude Opus 系列(多数版本为 200K;Claude 4 部分版本可达 1M,这里取保守值) | -| `^claude-sonnet` | `200000` | Claude Sonnet 系列 | -| `^claude-haiku` | `200000` | Claude Haiku 系列 | -| `^claude-` | `200000` | 其他 Claude 模型 | -| `^gpt-4\.1` | `1047576` | GPT-4.1 系列(1M tokens) | -| `^gpt-4o` | `128000` | GPT-4o 系列 | -| `^gpt-4-turbo` | `128000` | GPT-4 Turbo | -| `^gpt-4-` | `128000` | 其他 GPT-4 模型 | -| `^gemini-2\.0-flash` | `1048576` | Gemini 2.0 Flash(1M tokens) | -| `^gemini-1\.5-pro` | `2097152` | Gemini 1.5 Pro(2M tokens) | -| `^gemini-1\.5-flash` | `1048576` | Gemini 1.5 Flash(1M tokens) | -| `^gemini-` | `1048576` | 其他 Gemini 模型 | -| (默认) | `256000` | 未命中任何规则 | - -> 注:模型上下文长度取公开资料典型值,部分国内/国际模型存在多个版本导致数值差异,实际以供应商文档为准。规则表以代码常量形式存在,按 specificity 从高到低排列,命中第一条即返回,未命中时回退到 256000。用户仍可在模型映射表格中手动覆盖。 - -- 实现位置:`src/lib/model-defaults.ts`(或类似纯函数文件)。 -- 核心函数: - ```ts - export function getDefaultMaxContextSize(modelId: string): number; - ``` -- 调用点: - - `ProviderEdit` 中手动添加模型时。 - - `ProviderEdit` 中通过"获取模型列表"发现模型并添加时。 - - `handleAddProvider` / `handleApplyProviderJson` 等生成默认模型的地方,可一并使用此函数作为更智能的默认值。 - -### i18n 键 - -新增键: - -- `agentSettings`: "全局配置" -- `enableThinking`: "启用思考" -- `thinkingLevel`: "思考等级" -- `thinkingKeep`: "保留思考内容" -- `thinkingLow`: "低" -- `thinkingMedium`: "中" -- `thinkingHigh`: "高" -- `thinkingMax`: "最大" -- `thinkingContextHint`: "启用思考会占用更多上下文,请确保模型上下文长度和预留空间足够。" -- `loopControlSettings`: "循环控制" -- `maxRetriesPerStep`: "单步重试次数" -- `reservedContextSize`: "上下文预留大小" -- `backgroundSettings`: "后台任务" -- `maxRunningTasks`: "最大并发数" -- `keepAliveOnExit`: "退出时保持运行" -- `permissionRules`: "权限规则" -- `permissionDecision`: "处置" -- `permissionPattern`: "模式" -- `permissionAllow`: "允许" -- `permissionDeny`: "拒绝" -- `permissionAsk`: "询问" -- `addRule`: "+ 添加规则" -- `addCommonRules`: "添加常用规则" -- `hooks`: "生命周期钩子" -- `hookEvent`: "事件" -- `hookMatcher`: "匹配器" -- `hookCommand`: "命令" -- `hookTimeout`: "超时" -- `addHook`: "+ 添加钩子" - -## 验收标准 - -- [ ] 在 Kimi Code 选项卡下进入供应商编辑页面,"模型映射"标签页下方出现"全局配置"区域。 -- [ ] Pi 选项卡下不显示该全局配置区域。 -- [ ] "启用思考"复选框控制 `[thinking].enabled`。 -- [ ] 启用思考后,"思考等级"和"保留思考内容"可用;未启用时禁用。 -- [ ] "思考等级"分段按钮写入 `[thinking].effort`。 -- [ ] "保留思考内容"写入 `[thinking].keep = "all"`,未勾选时写入关值。 -- [ ] `[loop_control]` 和 `[background]` 的数字/复选框正确读写。 -- [ ] 权限规则列表可增删改,导出为 `[[permission.rules]]`。 -- [ ] 钩子列表可增删改,导出为 `[[hooks]]`。 -- [ ] 保存配置后,Kimi Code 的 `config.toml` 中对应顶层表内容正确。 -- [ ] 不修改模型映射表格中已有的 `max_context_size` 手动编辑逻辑。 -- [ ] 添加新模型时,`max_context_size` 默认按规则表自动填充,匹配不区分大小写,未命中规则时为 256000。 -- [ ] 用户仍可在模型映射表格中手动覆盖自动填充的 `max_context_size`。 -- [ ] `npm run build` 通过。