From de375ea71ce12b20cadf606711202d23b43973e9 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Thu, 1 May 2025 14:09:08 +0100 Subject: [PATCH 1/5] Fixes #39: Adds a shell extension to list installed IDLE on .py files --- _msbuild.py | 22 ++ src/pymanager/appxmanifest.xml | 15 ++ src/pymanager/msi.wxs | 10 + src/pyshellext/default.manifest | 24 ++ src/pyshellext/idle.ico | Bin 0 -> 57746 bytes src/pyshellext/py.ico | Bin 0 -> 75809 bytes src/pyshellext/pyshellext.def | 3 + src/pyshellext/pyshellext.rc | 4 + src/pyshellext/python.ico | Bin 0 -> 77671 bytes src/pyshellext/pythonw.ico | Bin 0 -> 76102 bytes src/pyshellext/shellext.cpp | 417 ++++++++++++++++++++++++++++++++ 11 files changed, 495 insertions(+) create mode 100644 src/pyshellext/default.manifest create mode 100644 src/pyshellext/idle.ico create mode 100644 src/pyshellext/py.ico create mode 100644 src/pyshellext/pyshellext.def create mode 100644 src/pyshellext/pyshellext.rc create mode 100644 src/pyshellext/python.ico create mode 100644 src/pyshellext/pythonw.ico create mode 100644 src/pyshellext/shellext.cpp diff --git a/_msbuild.py b/_msbuild.py index 270e099..fe6c23d 100644 --- a/_msbuild.py +++ b/_msbuild.py @@ -202,6 +202,28 @@ def mainw_exe(name): mainw_exe("pythonw"), main_exe("python3"), mainw_exe("pythonw3"), + + CProject("pyshellext", + VersionInfo( + FileDescription="Python shell extension", + OriginalFilename="pyshellext.dll", + ), + Property('DynamicLibcppLinkage', 'true'), + ItemDefinition('ClCompile', + LanguageStandard='stdcpp20', + RuntimeLibrary='MultiThreaded', + ), + ItemDefinition('Link', + AdditionalDependencies=Prepend("RuntimeObject.lib;"), + SubSystem='WINDOWS', + ModuleDefinitionFile='$(SourceRootDir)src\\pyshellext\\pyshellext.def', + ), + Manifest('default.manifest'), + CSourceFile('shellext.cpp'), + ResourceFile('pyshellext.rc'), + SourceFile('pyshellext.def'), + source='src/pyshellext', + ) ) diff --git a/src/pymanager/appxmanifest.xml b/src/pymanager/appxmanifest.xml index f97b236..bd93672 100644 --- a/src/pymanager/appxmanifest.xml +++ b/src/pymanager/appxmanifest.xml @@ -2,6 +2,7 @@ + + + + + + + + + + + + + + diff --git a/src/pymanager/msi.wxs b/src/pymanager/msi.wxs index ffa4824..a3d25bf 100644 --- a/src/pymanager/msi.wxs +++ b/src/pymanager/msi.wxs @@ -44,6 +44,11 @@ + + + + @@ -56,6 +61,11 @@ + + diff --git a/src/pyshellext/default.manifest b/src/pyshellext/default.manifest new file mode 100644 index 0000000..5c7d957 --- /dev/null +++ b/src/pyshellext/default.manifest @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + true + + + diff --git a/src/pyshellext/idle.ico b/src/pyshellext/idle.ico new file mode 100644 index 0000000000000000000000000000000000000000..2aa9a8300d9e29670ecbe585f5ab21579dece9c2 GIT binary patch literal 57746 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

b-(Lpwc){xeZz5kGDqL*HCWQ)%987J?h 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 literal 0 HcmV?d00001 diff --git a/src/pyshellext/py.ico b/src/pyshellext/py.ico new file mode 100644 index 0000000000000000000000000000000000000000..1d8a79bfb310c71c30d2d59a975c8bae82775ee5 GIT binary patch literal 75809 zcmeFZc_5Ts8wY&GzAr_jWoS=|B1*OpNu@$sFjUeaOR_UV_PvsjP!ypI*|N=8l1hc_ z`@Sz@A7=f|sGg^u_j#Z9eZS?O@B2=j&b?f}YdhCD_kFJWOaLGN4`37o-~i1E0KA9C zYHHulcdP**?f?KXGT+Z%@&QnJ5&&`WALkqZ+%f?`RP_7#2Q~nNuL2+-@csN6D*&BV zkRdDxAP(+G190T_PyXUyhdKZS&wlb32QRk*(A)o$KRkzg0yz;s_=|%8P5}0bA%5@| z2iI62elr3Do;s<`%O%DI#qjDJ)jY$HwxR*l2N>Ue2~`4|wnxv~1Hf0osE8_?msg-1 zprd)%!1>8!oLlCWMvrcMef?aaQ#W_;BUVK98_#n&9B03+@)BXu%F8r)A)Bns`Gf zA%4B1=cGp)IjD?R@i0{;?zbN%rWQ6TD_gpfrn(3O;vxLpp<#oK&OHbj9@!Y@YAWEV zkV0Ak(W`gOnM-9>^Q;4YF=j15<}*tLo2U6UQF*{4Tb7A1i{|v>1r^6-{uAjEWH~oj zjiTMQDM;`-uc$J6KiuFEdF|O%>k%@SS=Ui~eR+YbW2WG_15nE4kIlHn{qjuQU>&$B zHF`&JJ*O0~0?}E1o4uCH*gV(XJg_PnsuwMc&}ORGyXXMqr*LHJC0Y=Df7PR+slw_d z+6Jc%FSn@z_PCQ(EhjaZjJKZ(6UOp%6YFl|J|gdpmS`<>*kz5UI=c6AqcX)1;-M@m z(_Z|Ug0?5*oNTvizmdyYO` z&oI5pBFe;%A3g1T^49iF4hG4VBFD*cZB^3gl)MNl7ASGo8hIv1Mk^-Ibd}L=lxK2< z?dq}&lcMQfeoRa1?c9YvKfOFlC15ZGNb~cpC2qvqs^y7UZba+PU%&Qsxe;>ngtdC!ud^{ets7>~ zQhHoYp~IFLJvEH}nmYMR!+*Mj;9+wFS_Yy6Q$hq=@ECf~7$3Ai^kF#5*&v1@G9KHq z4ng_m91N&+;pn!MJTj4hbYm!GzQr21JQTPWG7!}&doGH|V9v~ZP*t{8R-xNn7WBk+ zQ<8HhX;d=esneJJ%^`+yKpXH}ermO4y5(|ssNog{52+6Kxi4=Q+iu3SsgNhKFIzAi z7Q&q0al1N5j=}l;{m5&KYsWc1iFuuduCI9bJVa2`0bcqn0I7Dro&B^cioAD-w;3U` z`HP8DXKqJ$W@0bLe=|Pb@|7|XxHI35OSn(jCtPeGOUw70ra-;UpS|$93A$6W!sI^; zIVGNJUPM;2v-{u(`cK31)dAOy;nqdv^fR9m;Q*+$&X2nO$>vL{VNs{)z_92oXcM>J zv5_Q|ZWJ1)Bg+AM#%1pqlXUQsN1@%_9XyYgudhMMgX7oFJ{~b_NZWXW+HJp8n-zM= zQcG*;qg2lc{;=TVH(A#)$%Bx{_~FZGy^jno?&vxY8FWkjxIoq3v_{FRLyExjY!X|K z5O{h%_DCl&Gfj)9VbfZ_v+22gg=~=5X70%a)FJs`qp+`u^^?8+*f`CW_%g4UjaL;- z)~jr|l+k(k+xVc0KId?4x}HSXrb&+?bI%JUUi<4$yt0|kbWHOKy_sygSh%KXzjELbQrm&?WNNVG0m%aVXuC_Xu_P5RWZaY3g}U#q_Rov)YSuW4FIvKw8FSZEWw( z5sON2VsnhgXpM4cYcluqtpnT3Ae8q>3GHfMZGXm^_4g3Bcepzrjsm@3`5(5e-H zR69vg?AxKIBDUL)h4*>t9(NnRTcIhql=O1>tn-487~_$i1!xH)^NiJz}en%)cA4vQFeYYVYK zYm5)Y4vYB2@r`}Cx>z_y4oKoauVOM)cGBxz@D+T@63A{a+q^2YOy_}UxQdfNINny2 zzKlzm2`01!@te4D-Y|4~HnANus=s7IA9R|T$ga829=6Gt>+_W*TzK`KqR*+5)!J9> zh|R>ldZLn_TY~%U)v91=L2GER^1dtDj)kp{FfTiyPKmVTvlFr~RekVII-_xncS$F} zTJ-6K^vzR#zL}`)l!>*)lEt_(#r=o;YcTfGXqr97i%uK~Zo>FqXsn1!SeE*Fh@f<{ z{j?7+h_IWf6uC&I+8-9dP-=sh=9R;H?~8=3=?X6gP==r<%0@ga>GK@(2hwuGTyyLf zW4h|>*mQ)9tfXWi)yiFrMkKr#nTtL8Kvbt&eCs=zxW{o7n5DL)r9o+>Ya3|khRW`< z5eb?RntS@0)&Vv(F_KMN&c~J^gG2A|%WbMX>EX1u(;I~)7v@ikKJ7YM*{R#7{s6l< zFn!fm3u16_;hS#hmyPREs|Xr376zw11&W6a?fdi+ls&#yCAe)MkSFo)vaxGIH&|5o z@xG-lwuj!*5|jt4!@5PLnqFTFojjSVK`Ek>nU&^9$9qepj`K4^hh}j1G_T|EzC(!* zLOEOYE?1mv)8ZkH`cW>Rw_38?-cgL-NfCL5KS_bnbhS-lYKg+^ywvL5=7uQ!8h2>s zs}rui$ z#`EOV{N~*J1?u%BY5f_=qYn=u2<#={&x4`;9c0w=o9wL_r64SQDUENv=khkEa)79?v-GQARZrRP6bM zv3Cyy-L5-aJ0~!&M5&fWi}>q}*)ydZVc+Xf-sxTIM(%eOtu5a&!EJVo@`cre(pn*X zs9QI3lzlc(Rd80};_f?bw;E!<8{DTdQq5uJjvv%$u(2FaI(=J*8Vy z9%kQcUf6qCK47{9$NZMAZPSz6pE^7*DJ*w!_m&b<>lVH3XhC63Q{`Q=2+z0Amrm58 zF>4lewbUqIYmf)Lu}pY4OX=nP9g)l}Oe3O*m&d|C?Hr5cPT0PJ{ajQtC^GdBjhW zmm4o^@ETfcOrl5*JWp_+a%n6lQ2o2nZ286>5|W0<&I3C|y-bQ6duOVU3Mw@_N)LK+ zR>@D{iH#94ORS-;S=KZo^i}^el!xIaMZyWVKSF2Tt=Pqq)A0Q$X)rR$+bVz0JYnlzYx>6xFQ&*@$|4rS-h0%t?=c4y zNu=eL<%*xC7qmS<=k=;Qp1*1E;P`;#Onra4&684GbG?pU+OslU=@J97aS|NOTGcaa z-PVv{=Vm6qIN5bw)xJrr_PW>BW{XW8p@npY3Vw0@V+DfF8#=A~|!+pGy%MLAmWX~L-g4O&t zL^KV=^D(4BjW)tTVuyV$A(RU~Rehjpr_8SDy}U$(cL-eus{UY$*7_rG@+vS_)gKfG;?WyOFlt1=~B)$Lp1wf7Y@8{gTu5AO7dJ9&0~wNr&uYl<#u ztKAh|x`W4^cH4xv)?%ag1j`AU#ga1FcXc* zHY9d@|Bcq!9@KLC@N`Rc75foYk21rX4nC6y<X2LvyGN*ort4~h6E^u%)5xa^ z&F_6VYDF@&erdbjoLOdDju>Z~SALK7YB{D4P4o2}b?FAR*Yjr-R24mKRA**VblP+CoMqxdq zQ{@HNY@S{?vD!Uh+vF^x*;wg4B}?A?S0fm$84eRA_g&(c3JH(aKM9y_yR zacBQ>EUjm)?~;)^lK_nGbG5sxcQ?%?^@*fYfVUVXl9*EOX<nEVp{K=kjz1r=c z`tl_ncr?smeOScd%)j@ZBcfsT-FG)|cMMU2r1}vxV7O*nuYpa_D+RAkJ}}d5U*xVb^$&9lG9G)okMw^XJv> z$17DNua)uhQe$!cCm%jtz4e-0Q2T?>)r|MWw5=t+)4m@nPX{1B5J;N~S?!;-))zh^ z6>gzk(J+^sGdx`3;mRv|hx0Mce}@>s7%nH@b4)S?+%w@Lvu@%%%FBGJgX+IY3CBTB z6`W2(OAgTlWr9)hJ)0k3-V8g9(t|@Vp&`rMHPYueT>u;fvU1nAKXBhvoDxl1+IKra zb&M^hC&~JriN1Mkk8JaaYL9eWg3F!pfq0cP4-SL7;r;L4O0~SKZ~$wxEKr_~MWJWY zePi}yrX}N=ZsgjgZFpq*OuGs`WXk*&#!u-o-6>(a!O7`Q#*PZwiR2!;o6)RR8(*2` z7j9kS9WI(}9%9Igls){=guh&-sOe?1ppQiIxZ&r;BCftCresnQ*^V-h+A-pzRHhve zn_;mdq*Uf}RXw3K+w$%5Hy?JSyKUVk-c}I8dC9s!08_KhYWPS>obP(}=g=!O#h8xwc?kq&S5j=m?yVS&UZ&Krp zXN@<^(@q;db~^)~yrRda5wl&Wjf?scni_dL?+W^!ya?>E8?XXVendz+3c2v^OZiwE4#T`B*95@^U<|4ghS4&y4&11_*I=mw;%FO%}Dm3 zG#n!GwS8l0OWncrbdTe+O^UAWnVU`-+lWv39Y81IGf-QpxP$(Rn4oLV+KRBJb!uNX zyvd~ubVpsKMr=8`o#5?VbQbX5uH##eC$N~7=5_ji{ zW<906F1m0{w5$KZ`A=dDef-jwkS@JDaHJ2_&O-|^9S(6zqc?CuE{_u2k^R{u;T#=& ztDbt!=20{?6}KnC-Jo`|=vs_T?VP76`fa$1G?l811Pz;CI)fMcnju$_S((xl|!)n2nD+#wz3n|9bAORHJ_(|V}YnH z?o-+WjrP>5Gm01MoZ|bCN^UPQGyQ`O1ie9mg4%?W-7gYFw9H!2m;%AOkA~J~iUqnd z&7TC?Xobm3=WM@lW+Frdjo)Di5!k-fD0iOl;-@IL8llB%UH57Ob@E9yrbf-Rs+`~J3OtPg$OX~&@k;sBu&A--SqzVUW}aY^y^$8)QecK6I1dG!;| z#TJS(+~pa(gc*j5A%6_@?xIKJwZXw+hg~F&fiDM7$fYFPUmgYm944!3Y%bKw>RejN z^}8*yvA&^8%R;7j`=*Whxv1KhUB(d_^f&SJTljhQ)`D~0GVS6ywX8B!y5gPXL`NFO z^JN74W;1Wz(tZ7#XwW$#{7P<`WZc)w^_dB-nEHYB5kz8y40qHa`)uFo0{W4HnwE0f z%XLrt28+@Q7bq;30>T%mh9=0FwJs^hHo8a+PM}gHH*IR;EZ(VlI$pEkWC?D}bxBBu z==46kJrPb})dA^C)qa#&wvB4&4Vb;L{2%3t+&^OwyXst-*Bk4vkF|(L@o}B?(7or^Az)W$-ADusa9F(b3YSYR(zw(Xh`!l zc1PtCR$WT5pU)OBrHUY(O?)0R-(9y`;=R=>42 z*{Xz>LT6nOsWjNV<0zR*wHzVNrROT%-N6)~{4AYxia;>*(Ch^0*XG7872D8=FNP!W z%8NHf79Qk0G0N&BCMHcXUAsqKcq4d9ofi6lg~L=Q3HaYQ%%u%MQX}z zAClCrnI<;1+8ob8J<^9|ELvAT!>^~MHx=CF&!DpdCwl>%z_sOP|w5oSI*nFRU9U z(nFPO#A#b}Fjo_#lsA>KnFUUhO`8U&dbt|z!~WRK97RnM2cM2CUmr=BcP+3e*m?V# z-X5^3!sAkhDiJ65)uz3YT_${ic_`Ao^0Y#ev;Y+?;o7^r?#s?QiC0GA+^>~|hdoN@ zR%>iyy|>z<38!*+k;1w6hADTn%V$!tkUY@U6gqM)`)X*`7pm%k0LOc@XC!LoxgH|x zK=Zm|HrO#@{g*=^|2a~IgM6f1Z+Ln5P?>g4-Ir#OyG}8&0&e>U8&HCrQbQdy$DFoP zESj}jNypcsVS)y+%bDir%J+P@vnn)P+=-dt+~Ih)j2Wtbg6ad8!T_HtAmGy}#gi<7 zm+Z%i5!k;SQ;7?JZ>XHRW5wEev(c*H)_Y6~r%H05vggI}a1~Wvsv)<#)SB0RSBwoz zz`?rhcuQ|TQfbdfE}LIz0$W?nqcNCnKDWueJKvA4hj(Sd8GS6qBxRt8dZLKEP0~sG znC=@jJMO-KW{oRoJuanAi6I&tpF*s$z8lUNvE)|rTpS%!X*h+A@}myLaGHuT2{+88!}sYg2fWatCJ9WW z^Oy~ruJBz_yJOkE58v7N+V>y2* zf6bzJLd)tcAH_RFoJ~oc_j496xnbw#>{&83TQ+$jHyl8yNuyims`u0S{7=pcz7-NI z5UP&;cBYuD{7HJ6(;x5?0S*b|qi$GNskKM?hlYuRFk zc{Fzlkuq$_EW`Af)uh;YB&Tt%-d^&y;sEr2hNvcbOF)lHr7X zJY3IBO*_K*79!6#*c&aqtluxJU>!Lt*I5DDwq{d2ton?6DT;;Iwv8LWI?wxND9m-~ zxFwT)w1&C*X_Ugib`mAATUz~keUOR;nVM1Ik=E)VPmn&l!01n|vof|0gUFp5MGFyHxU2@Mx^x~q8AhNz=$XsYz* zlh<$2FYyvvuM!cJwMalQ4LSL6z;W8-Q!WKFCV9j#MZh#h5xrKz9lPK8#AdLeuA@g( z`IfumeU2;4nJg_Nx*qPfx=Ux}Ty-!0`VDE%a-M_t7xH;nS@;O)*|)FDW1v^1l`O6KK4IhF+=MCD4D)pn&mc^6Ek>o-ZFsrm zjfF0)uS4HY@1AA?m!$RM3FeM+^cWQ(et?aoCPtMRzDShOHZRkS4c{kRC3z(dvj@G% z-j~?I{=vpCb(|RMNA^4aS)cgILP_;rP{P-VixX#1!g!ijdXR`EKKc4?Uy5W6;d-K` zehX4KO37O_($vNZ^z}a;mdMY~Gg}iWB1FZEEgQa6!Yh3-@=a^e-inS=!H-{x-#5#W zFmGCUnmu-ypvg(O@Yo9lS;t_|)kQ&uaVfaV$o6K)oPc#ZAt-^7Q#imM_F}kfueh@o zy;a2uJc=<2&$VY&o-J5U8dp-?J$s)UJz$Y}_Z(r_Wlb85WM@15iAIe)_FtJRH zF9~seww#)e@(DL4KB81knLqVNplKxcmKYyeHQP=i%MGOT*;t8cf==rDixaKcDOGG{ z_p`PF{`iNd`tgZc6~W@duTG0MkkR~=Mz+?jBEZ8rJZ{ctJtL8enK^q1{lR$N+thPm?QKf-}bp>kgk$w9dM(uMpHUib<9zArv4_A ztH<5~(u3VgC3+?KOYc8-GuiX&id-(5_8sx<8GMHX@6I$IT_nx#2*$UuFi}lcF~xId zet=`YnJfqvC~1{ShJC~cf#hCvp?S&<()kZA)Y9qkcV`uN?77? zN@E&93cb8=Nz7}5jS4feXq2nNwvu&>t;{}k>ClE!?BQK#3C9a{+ucadd0)EjZ6H@m z;022KdZ|>y(I=j5t)yg9k&JGc)q$mo`%cq>^=_$%mp=At7<2xDZo+nnP1yL|gC|55 zWG0&qeYQ;qUUKs|ZJ@+|T0!%Ol12-gWMxKJh?JupuC_11ddYd5)v`A&Sib*pzI7$c zsV;;L)An?RaRYbV57OKywDbtrpZaJM-=;-KCp9$Bq{`UZ*AuX z8`%=^X7!SkdBclY!?OyPtNrSP$i*D-Y$qu;;z|vAOXo@C!Ze)qi;)@DH^WAullqs{ z!i5A89GezM_gb4pyDc8EW(D(4GR=?aPgfM&9X1jMm7Ovt=AWJOuwFOLZZ<*GXSN&6 z`?9peYf}~}5^p%GuzocR(Rw0N88_&o%^Lenu?yqV67>dWe5cbF-20^Y>IF<;Qhb(q zc_5(_6^Y(B^h}Mhp8BxZKD4Nj{XA;@tmQ=~gzsb#aC_g~K+t~Rw@mM&+Eg`)*z8%3 z4MTKRs4dCK%-s@K^!vu`7+|laoTHrt#uj{+QYG$HcyLY9E!Sc$u_VUOvZITf7;{yw zK5wzz#Fel8!S>)hi&>jcl4Rt!w&Vpq*$(#SS|dYFrXe-7&lmSL+U_XTxms`j^4-3O zFR>d#jMCe_jo-f5Y59c1%UOPRw2mozq6j(Bh`Q&|y@W6V^Old>a}@$nD(tf!uF&TW z?4VRu_X%$)hng~OJqdnXdPT?Hy-Lc?MAZ*R)nwn~tMCBRH<2x&3Gn0O&Fm}kajVuT zMFj0^Uz`8pAd2bEuGtF;-7HVI+*oD>ki5%-IJ^K}%5kkBCV?w%k!aZGfXO|pZ8lBuJlK!rA|DxyA2yshly4Gh(!Rg{V<&TIAlXY( z0f~EkKw&LYM47FexO&gFx*{vw&dvU$v`;Dr=Z#!E`m<}EdpKhZ>-zOK_q<_$wnt)T zS6;VQ41Zn$7*8G_$!R}06U+hB)*wC%Me}##jEPBP-) zcPIBc(`uQ=IK^*lJNCL#+B|I}qGpt=Xy8Frk0E>(zo}O#y$RT{JeR=5^brF?b^1@b znzp{g$lJ1HjoCOnA)iL++6e(SEARW`Bu z`c5l7(}0R2EfysDeD~Ms0!6`FsVXY>+TH8(v=TnGJH4=5wB9Ox$1qV(E5LLOMxLid z#8m^IYfLj5a}w(2iQm>2l@)kig?(tl*66%;$JV>twz2to%6O#&a&-p@)bTQ6)t&RRSy@~D9 zw9fXR)t3tWy&~vU)3H)_mayiBS9y3kgsPal(et6`xY_P0R_Pg<^t$v`I;qHX$$>=Q zcxj_r2Wu^oKcgkzZAH!|PwtuvNyU2#S=1Ey)tsrWy2`u{gHXkeM|`O9Mn_(EmA-B^ zxnOmtZ{3z&%h|C#9}?`|qFU(sF9KD9s%ztKe!z~;!H0)Z9^u*S5tR- zyw}AcYPwr4Cq;0&c(sRzu?9LS&UxTU!k&o~_2g&DFOGkZcB9_Vx4uVf5aKlEgcDln z^18XZNq%bLdfaPXmeY&}6C@@?Y8NQhF2l=}Y$^0_z4-zUIqABZ{M`3P>{G`gblrB| zMyV1F{jMZT)HzT+n(v`FRExCA(KjZN9naaoHzJm|Jt3*aAEZ}#mYSuYB8F42hHtI= zvRtS_dsMW=6!_wqFBLZC+`L<(87M`+1Q&|&aofl{Zlk(iJQ3N!g(Bi^en==uE@$Vm zSG_2*&W70I%`Y~l6|=QJjay+*lD<##dD;8!YwZuAedz z^H!IP7|!2Hx`Iv69OWr(+D~#@)dE6*eyG@Y6 z9MN5a^ZTuUmd~UmZ~1;nN3Ii#t$xeL-QdDwvPcPg!T4)BIc;dlqTH?OwyBx`Q3_bUfXRHh>2!Zc4&8ceRF5t{Omxa zC{JR+9{714&~dcAp%*Sbkw!D7>jBgkaQwA^`i+jU*cY^JEn zHeyS>5==3!GS_8^FG%*ibuma^A>x1}M`t=Ipm16BSg-<(fP1d3O-E8(PEMX>w>zR2{m>&{Z}k|N8; z?=8>fs$Qm@2EkLrFf zQopdU6DDq49DA1yIaTXF72i&jF7gOWEmD68*UZ>sM+lO%wCm=EzRk@+37LypbHrmX z3!=`qQI61zv#5~ED3poA?NrC$n?3|4_|f-Ncz7!I^Yi#1wFPVStcFOu%8wZ72E-V*FOB7-c6cN=+20_e3dtvBBP_q#Y+wCYv%e`Hdl1K?{p%^vajGY+4or8M9&j-T~}6% zrjdyB<$;@$#>%R~m|Q&GY$_$(aXYg5`1=LC85+gB&U0&Wr}f1m1i_`6EASRD zy~BKs>C}6Nc55>MR?*d-ZF@@Z1*(*)6sK@44|1qI?ZDVnt+S0;$KSHr;~39n@_B`)aWy2kNgyn3VY!0lW;c>| zF6G8ooPZK7(GMHfpIObkMH3su;_20lC3Y(;5FI|M2+r1@>RvOeUuWs7y!X^h z=eqND5F1%VIol@l9M~nwDu=D!(U($G1FIG{l$KzKt7s&D?D?ds zje@ZOOg_`0wH%(V=;2m37D=?r6bzjC`&Q-bXRvye8~ynP^E_Vmm~5X0YTq^|gm&7q zYVa>e2-6BL`lrojm$8{0Z_TAzO|+rq+a~2{w8+&$y;8*C2 zZ`;guvYzdX9CYgN_16+fj0Z_DRtXP)(r@P@huX!4mpMx26+ z2yL*rD)WA6Vy|&sbIQaG)Y(H-HpKk1IG5YU9oJEdvEvBqT4oP zZbdklnl^qNT8L{J@pkB|y%gjm(Q_KSKdwnb4+^`mrVYeD>5ZzuD4zFsUF>oHSYGL2L6mEs(x2kk{#Gl6+IC_cYK7x8=`R z?fk&ePHc~G$pN;iGrd)D?upp8_3IIHZ*iO#&1)JQ&HA-HQ{z0F6WBVHd7jWV+74it zOtP-_d=kcaZiXzD$jyPM#U-IEMQrg#ynyOGewd6ccf5Ecfv(oiQoO8xkbaZ?8!CmD1%R~IaCB=fpiLdSY)c?jM~q1Z#70ZS~1=D3oW^*qdjad+%_ZoW;jX%eXuU<Iz!jlM9o zs6nj3mn1Oz*z+bjt3!5wKJ(44^HZ{yIpB5~Pt-i+_6OuK{hKE8{Q+0c5a3RoeJ_Gt zpVshiIb4`$dj4?~QSZ(^osMB-$PUO{*`eZn?CeP;_{D%ws-eyFu5N2J_S0%mc@Oy^ ze3(BgbDP-kydF;yqU-%Eaf1XS9@2t31Fn70Blad~2Td&dN<7u_gii-frL>#3uVdAY z_r}#Un22~ch!I$iwL)^S_MqmMEe`8!PhF|e%kO6j>I9wZ(NUVnT9M*QNe{z3bQhU= zs~@p#Jf(`KcxZFLZ9DO8+e&4n6s%X_zs}VYNA?TfMs`0Mi6~K7plv58V4~oLjyL(| zOO)EHq=k0jR!wIVZM%HH@|@#Di`OASv3|E%<3j0-G@sw%K>5bC5{_}hDdd^cnU3C}k)l&8~HD`~Vb(XP(u|B1TwJmE~*^6ljvkB5Yh;^zHj(9;o-cq0X(L2)( z`g)`5oa;-|h`grbJYE8Kavu?=`*ski4kKJ{25!`~t385rlv0QYtowQnR2_z%N&wOx zdBt<`Ap;1EXj^9G(1W;qT9JYyQ?Z+$RB63UBrsEJr5z>HiNsV*h*LH zDS2J43NwdWnMqo)Du`m*IVJ+b)QtKvUUUy^$HmZiDv~j9 z&!fZJnlRB0Rx<#IolXe_hi|RU95wR#ly>-l^&H7l@lMqJ?NlK@;`6OVLtAOfJ&18k zo60ke{$48Fm~lM8f1@jhKR;4l;f68GlR2!{dy+v*U&=Sp^+_>hH%p7JB}>L)Kh18Z zx=B?ZQ|{`qtf*nOq_=HCH-CdWeLpUJi^5&8Y3Sgy!mWE5@$G`dtSL-?h>ZB!1asUL z_AvAh!d0%pBz#Fg$kSz0^g@G)?4F;P`IRy|YDz-{+!iOYCb|wEm?tk^T6+T+f8>nc zMtY>X^g!>G4ND&7;;;(+Kp+zCq}#E>f<=++sX-U!FnyEX=!%h`(ClE2q~e1;S1jDz9onPaxT*bQKK1VI25@x)*{R@KTVC= zFx#iaICItTOI>QgesF3&i%7R&X)AVAmyh_O>y^68Z*f-g>|F-!ah){{0vr#{Kb>O|DCW|{GIwgIO&{a1b~rxq3#Ao{uth_%`Wp1>MwEf3I#0M=6rV7*U(H=gPs=dK2< znjp{T2zcwK1+sm0K%VbWkO}V>`X2>_0Y^b`kPg6w=z^l4696A_9ApQb1v$Y+03UW5 z$xwdr%zb3`)aJfOij#KzXDIcpq&F z-aozsKE+#t(%4&|?1?ofjlT`v#oL1S&+Nd5M0@b*`5o{%*%2ISpaW%C4>!?)CagNm zbfDD&+g3U_(MAWSU^Qr`gVP;!VAx3q=ey{@1Xgo+ZUN6tdf;&{9bDTs&wheGb}7pMs8xB+&jY z8FW^qf}W}r(Em9D4Aka>f%+0K)PMscO?Yq@>J>Oh2cb~D-xwVPjnhF0)FF5RUW4@k z)am{t9Yn$!5AVei=pb&24xYi92ai)`=l~0A-YgvyOw&QhJROvmmxHRRD)8~+NATs# z7tq+)2)equz)({;7;Py7V{PxiU~4rPYWobvJ3fMu_RnCXvj!0Q>cC`wBbXX&2h;ua zU}mrh%nY}J+0jl=3T0G68I_B4@M(b#zCtC&1F|I9Qq|fIbE-i4MldbU=W0l0pZwv$J4vaS<#p&H&Q#BA}3nU1mjRVR0?SkypwVc543+=49?EjI`rqh&g8$F4fT*$;-g-w5 zAJ)`!4=aPGzcK$$ClKwYb5uh^{qRarcQ5$23=n@)%;{wYI!BLcKn@VE2J6whf5+f& z;E0EGPaT~f3^Wd_zsNHB0h4fW?zePd|J(@85U;f%qGI-sw{e z4#!~8(6~UShaEng`oH0SWpL43^MAz~oIVXXKog(_3?u$q{Ew)~J9}1Ne?^5ACJbMu z{hL7g&Hf*7I>etny~2PII=`2{#LlmHI=$FxD=#mHRGukh@PorjPcm$P!F2TEzXZ}R zcsjjAiXXyxcjcLyGB|u!L01QMBn&2XMl|Y_{iPqi<1HEGHQkz@pPz?^V-Ew*VDQ}u zjGp`+3Xp^QUjpe*{CzrZy@(Lxz$;b2z%w`)tZ-n&()WIV(fAhy{?wmNefZ+uG6%!Z?pb1cZ@b?iF{JZ+U;vs`5 zSq6jeJ``XKB{& z{M>!w(LeBvD1cKkZ)Wj7*sAgT>8>kr z_?-a*zcrU`_TS^-NO*Q*`yWF|NaT76{W4?i_c!I2`2WQTj9_^d?ciW#ZGFcj0iKj2 z{wI8K34_BQrM$TKf5iWy%lE_o3eOk;uZv5H{ssM?86^3V9c zQ5atO{oV3!IuBm@`~LgsvtK#$`me`-AGLp8{a3_qSNPf(?E6Q zpcL@0w4Q*SPM>CwGXIY)Kz_$T1}k{T;P)2s9#KlS4OF86=6 z@Bb)h26tAXY?DRh3c%d5Wdnfx{q-k3ETfr7d95KulCp)YDO|Dq&k6dwv z*HMu1ORhK@=8AvK7iamL00l5lT)@Z^2kL;5;O{x&mtLnqQRo?fzo!pM?w^M_VM|c- z=o%<{cmY&Bxe7i#vj!iYJAf}Qoq=LK4d!`iFwaW^hZ|`y&rAD}=Y?$x4d!`iFwaW^ zhA`)QrUSN}G;qF+k?W-a<8B%-hwW9E^SuR+O?u#YFAZ4q(SYRu4d!}j;MO1w+=18a zhH1d1mkvDOJv7X--X4M1VRaj&0e4va{ry2eK)_1AHzp z!J9X4Ku%5$z~OMWq5=fYfY@-z*+g!T0d4HUu_2Ww4D z4QOp`{hs@6c@M_h--E%H4`8DE3mELG2UERuV5+|XjP$pGiGemSHPiv7huXo+NGGU( z`Q49jlg($CK%*=p=g#|!j7fnQ~Q)EqYzWkrbCFRPG|qbrmA zF9IMvBwhKN1DhN-4HXr|6~tj(8JW1hqyL3ECkGAlYRW%!V$lE9Nr>}*uxI!@2dxbO zD$0Jz@$t#Y@hg{pgZ!yamZb*V0yCV8G`j!65xg{aNP)Puafc>@tU}kxGR7V3se)H$|{z`fz zA%SG5#BdT9EGq&Y=;=U!{K7!B!9oN$c#h5S$cj6TkKmG$EJO4;#Uqlk>0zf2Q9;|+!!qvV(|1V9@YHnX!u z{K|S|3^Vj+#Pg4mVw`c)=0 z;f6$5j`fO4{9Jr|S%1tUKM($*PwG91ZMzvxg1sQXbv^Yb*&pp+>a$eoLV{dPN=Q;H6zh-X!oKF}qM$O91$;e{3JvAfs@96(v z4-Ya|5Sgj3;Gfi-SFiq-K9w;){49Yhs7#3bKiK;YcrL&1@#k%aLWCwQEoB##)zY9v zRI);;BwGt_X^@cyEuuwbm$EXFy+_E(%1TxeA-=(5L#;=llJ={@?p@-DlkQ zz2}_g-gD2r_ndoBb))7F^CrF)q<0@e)?to4YW`t>&?gHCfs(%t3Ith(({J%bZ~zWN zM0>bv^zy0NkE8d)pnwq4uAl&@X%}f!`cwGfFus5$l;0C6Dhibc;g?dP93my^V;m}vfM;Zi5551*DM23!y~r3W1`O6ip(EV$4c*HQ zrM4)ggukX}p2`nV4&v}Ul@4x*064=7N!93Fv=A0&=(_;bGNXH227Fj^Nefu`%@9$5US3;+!=o2OTkwKs6 z0#@VhJ6+SR&~7WPpxO7DS}iQ}eDKd)L&6byDaZr5*S+r@z&blS zDf7C|T^*G9+{b=2pX;IM>+}ua|6l0p5Y7C5>DUwi)-l>kU<1Gi#tPQja!ckfTBh+$ zj;}-0-d#(UEL=E$skAh829hNaj!B4$LWVXB{ z7Dx-nsGuDDz4Zo8*6q?Oq#%bVf?}Z@0Ry~OP|#Io8_&93UVa5Cf|6lAfd%FF)&j6! zxfN+WK@o#sE*mOf@cm34PPSQE^77J@A^^-KOTNBWP_Tw=TQ;`!2M!%Nc<7*(w4@|t zI5vpl(C;Z3#*Z5Zg8f7tdB`C8_4k&R)^jQQzHH+t8JIKyOoE7m@Nb+xowB=+GSD#? z03N%ke{X3ucRK9*0t~FE1_NpNRRoPG^+OGMs;XPIY*CtnYB*wOI0PLG1c*MAU`2tE zjg^7HWcce)-Vc31t7)oAK!)+G<3@jPJzaGp4>!D@Wc=;#hsrlnolU`#Pk;5d?}-Lt zZEdn&Z@;Pa@u9(ql4}V5p*+W}j>FZ6_e13?5ao<~Kl~hiIT%K-AC-*qt^r|SIDDlK zDj&W7<~5=pRe-y1U;pL(I_koqmJz=n`5JbLz6m3KJq+eAT;O;WumQ4cKZqApkru8= z5V7w>^d9A-{@qyDsC-+9ct0${_fr<&2PGFIr+`Nn%9=VMr^wMzAwngm0Ew{^Cr)73 zLHFA0u-NcA`h9cIvqt*WN5AS<2V2WwkF3{Xfwt?g5L@|SSp=<>hr{u-NVhut>;}pj zdGvWjEd2adEcSvj_RK{c3w74Up1SE_k(c*k5tsF`_-p&HRPTdWmaoOvHSyxXweZcb z4!*4nBCLa}Kpb2HC*+R7b?<{iYu=`?=8a?z)A|9-4CD<kGJ-vt(Kfi(HN8iHAUie@oFa5BD%owaPD*~&{ z3c;fD(=lg|Y0kkq^m))%b_ShfS6GL>QTGvZhqZPOcy=9R5l?uJ)~bEseb~EpkVOWt za9B@{?!>Xo%uKATFbm7g&BaPfODQr*)9WPAMNY?BY6`HHx5ZdneJPe)SBGVF4Pbel zeOMl(#UPVZS65^8Ag?qxzNM@?x3#rVWRvdBR;&f&5~NRz)|=a5?YSNFh|wBz&;Qnz zsT%wLE=QxlU*!}_0|R5rzhphAEHHc4Y*Av+!?5LpiwXt{76{B%R@*xKgFU7wSnd;C zxIjQaVBEfrSl2`v%a2KsU;Dnmu>G2E@WmWgqL7`%X=%$_YaSUHqq$;ZUBPFze# zXbCE7_TZqm$5hjF5(m?C)oq(MZxR!P>i1FV*ll{yf`@~HX~K*dQ>RL9S+Zck;PXAE z2Tl38IM|pN8R_U~<)D_qa&{YP9$XJUpuC`!6c^e&RIi1psfE@WPz{zIPfxdU=gzNi z?uMYn#mfXmt^5WrKv-KwhXYIXw@=!mYak);&Xa}A0n z-r(D>&jBwK3{6d8b$Qv>ff?|kJhw1iW@>tH>2NuK7YYX;KlNj5k0qsA__vHIH+)A5 zn0t2b*#jm*zZUR*KG-W~!+J0xlHeK}BcgXizR^-Xcn{7`Fk3YLrbIN3u|wpCNQ`5| z{2Csihl3H4lP6DNHx3Qj4xxQuKg;EqpOy4C^XXt4unmH7>xtcJiY-v+nawa}t;Zsq zRlu%CAB(;oTU}?U`DKL6>M#G!~9nZ;sKZwqj|6{%yso3 z9!7huU|(|ru5H1_1?{m02D)RyX1jp{d{5BZow^7X>uqQCb^#_}m0ElQDX{mXI zWy5}D5sVWxH8qs^Yhz<0WpA;ZbW>~OVehGuip{$ z4BcWBd=@PDIt&bE8~l%-!>}q?U#)^UOcgx(Cc;lB&(VA8$OiX(XpIwGH2!1vi^tri zC3&^Ql~fc+-<2}YG;qtczRR*fm_Ku7q7LmdZx{JbOBh%KtU{(gE1LT0xLWm!Pc5hy6ek6)qT@3d3L&=`FqOXZ%LniKRo=ZTJ(f9NvSkFufgjQ-vi6F$t)KS zs*(9uvXk0lz;f{BBaMq4G?TGyN7i8dKH=frw1q*bN6D<@2MRZ^m5KseW%RH$F{=dF zF-WCX3v3lY_sYU{hx|1z9zV@W=4BHn^&C5Lq^+sgX4-b!xJI=MI z`YPSL(%cr+95lPT($;oG!}Bcuawc;3kvGqe9pZOCgzYU1l6wuCW^SZcBAYw}ug99y zCa>;(b3%w!(T6_%ZcI#!9?jX@1=zMu!JQ%6$;mEL`*?Nj8A@0LvH2+@9VYBKz2-eldo3?=GV|Ksp*tHZCm9_>%X9HRDq{!nKIQ@{(nH{=+} zS{KJftY(mVH9h01khg*WJ1Z2R0hpq+qNadO^{htl@l!yFLmom}GHuVwj8-u5>$}C! z#;c0jO+=Xr3JRXIe=0jt$s)$tNON6|LloP)Cl?+%D8>Ugi4k@~X~Ma2{k{N+PQ=qk z8UTrj!j>&Lcg9a$`d+?uLBeuhnxl`mDFM-WukJBPnzZQ%crEl27PFgdu$7aamOpth zoRY4-PQd3Zoyidz z0P>}Ag+*~7I-68WEHf4xuZ35`SJ{M;?wkK<^oJ-6Ni92c+KJwL+wCl zRo#bjvz#5#%scM;`7!1hgq0RDotbJBp;MQdn(Dtry6e?vh7z9H%T^e7LEGALS|fa; zyfk*_c4U+9&Fr|E^NTc>X2#M;aq=#cCW&Hqs!Kw2UcOr=0oSMGYHwhZG5NP0Iy7u`S~?WdimaeTZ4ccgB<%(aK8Cz$DyKtV`;*DNe^@pMVQ7} zy*bu!W1TQ5YJ%KqSd)6{zja4)vjir9d~qJao`1~WBoru;swr&OZTRMSq|n<(^bC{9 zXV-CK)fsd%GH%8jr|w{(TTaifQUwujr_Rop3W39eU)jh4aCIRE#NsRz}gs7rqVC1ujMHY)>g) zT6+l=CEAG+SfygAU1zOChJ)#5C2D)h(Yhi<_{m&|)7Z~m-{>$kN(b+|dsB>Q5To?F&F`2T3@lXvjx zdITmq@=tM@HN~YUph`){c_w#8+HGwH`qjKSfcdTYVIMZz!+mb=Lf* zj}a0yqF4gcHZGSnx6fUM0yo}IuGlHB`$b}$7T0O5hupS;UN5Q)rZg#XKQ!moZ7P@g z+`e-PM{@483pCRl*6{AG5fNXuHn+6=w6DR@C#CeW*Wcg1-ml>HVZVH+Ge|g@{Xz`+?A9PK7aX(E=t5!>+(+9uvc5$MMZ$+t@`fJq{WLn6XLeZ z7>lo+WpK##cFg^8UM*SI@;&6#PO$if%@wx(K$m$f|LkPt-FaM{ak8NP;;`=SdV$Ne zca{MW);q45<&aVvtNz6Oel zV&`u5oY9&%n|!k;iT6_vSwHfc7|XQgsmXbw6oi&O*Rn}g$wK29&3rH7q9Q&glHuroBFM~dlOHfwE%nrl_~3Rj;al68$9 zHyyoKzj~z6ulnMuhZEP{2uE+Hjz|d^vblg$%L!MVzFT*DinX4fx>@;@oiEZ*L}1Rx z4?Q3KWL=I}H>+D5q5=QQ+vZGh*;|+HzHauH6I&)!^Vxh_F7uf$r`AuX)yjd7x#R8? zR{x$zr=FRUY}2$Ol-i5*Ti0_g)bVdCxh+y2UT4u?61VcKg67ewQ3d_r3u?>B8qRCd zC!Q_Wb%AcgbzRn0=ElvN?#J>cyW%H%51;&WqO9Yb^gNxsr~Cp-<`= zsV8t1pn}mDpsrtU2Q%UeYEtY}V2^_->BA4O-_*vN`LUUGaOT)98#LV{GZa=!-$UUTZnQ_J&O z&O((Q(y?JyGetspx~C;g$J@p|55@1*_OV|VKQOU1qSiGkTJk(A8N)KYR;WeB9+`7S zNVb3Bo0a)O9Dadoh3+|KczBdt&#{PNQ#C17H&>A9JD%oz>bX_5k+vVBLP*C7_0Yo& zIuCX}JveDeY|mc(Tf6O9$#SzU#=m-~tWmsQDrMP>GCS*e=jPOK<)rCsyKyjT%bsWJ zOSGeMI4Ym*d8Z*cKJl@%i=E?+>6`YoC$-7CTzw-mVbav4hPk)a6~bUh2Q1Ea5ALKk zp||2)ecAHh}H;k#9g#YJ0Ya|kacMV&Nab%hWVEufz6%{{=u=O7S@6C z1>`AHs$(!t0YzhtWggizFZOq*B{fMpW-nGVjmmjb!Lv4iD=t62{J2nj{Q8Mn0|R2O zpLZ-@Gy6m5mqS634B%>6exduNpkNrq#GSjlX}D&*u1;>VoRJd0K7YaHs~otL#^Iyg z=}kLjbSEwsNJKp=xJA}}o~D$;%l&8TY6Nwoa+cSyb;vsP>|m(xI(|lWy5yO2x869a z2klw-CA+k&EU%!z{&3l|4aLQP>Uh`I<+xwv$|XGe2dw1PoJlcii<23JJoP7!^Oku? zpRrFdA&V#Hg?*guRJN5*=4q)2*j#Rs30<;uc8DkU&ZJ;b;bk38Wsg5;O174LSop@a zgC;CIQD19nQILi@4}+X8RB*6#p?g|QA?JD3C zPdp56l5vH^)pVbTNvK*skxjPK*IbLF-IRad;P7D!4Xs6PByq_{GveQH zu3o?Y@%*QKd&8f9tc+H><+SMPE#0sfHVtvctAg*cliZZLH#~FCSd=!esntof+9E1g zCHvq)%MPA*U!F8r&Tck+$gj)F!Y$|)naYQ1@JG)_|OE-}&38qjsL)s(F0>_~)<& zt7xrh;?}+9lrpgD^xU1LCfS1Lz0I_fuW)OH?zeinA?b*v{g$l-)^%FJA>el=S3_$X z%OEA>M7^F)d;gg9tGbAm?tJ2*^?El_WHz~N(;WSva(5)a)*I^ zM~Ge#T-ldx9oBy|u6MK4GS@Dbw=YYg8>@j{-SU>D)jOX##i^JZ>t$N-sqgOZa$PuX zGFHvZvzFZdSV?%rgj+9iuZ5q}o6$V=#T!oh?H%f;)TbKW7FgJ^dcGfr?Si!n2UhLb z-=F^>^}+E2K0WaqKl8(5^1e@|$sV%__PZu~^3&oga}FLpV}GsHKF~8g zUeUKtuS*Z%b@B;uSwzsP&1X5Ks8~CK<7A9KWR=M(gFmABosH*uS z^^>m?+w`M?w}$W46r+8jAF}&QSr;?=-d7^Po^QV}3_Ga}d}w9+$|51Jvr~&Q6CO{# z>}GI&@0{x|{QEY8uifryw&)8R5}RzJgsx3J`F?Q}yP8R8{!u$t@>Xq`-M2P195qeh zSot|w#~AC_NtdRw?$ylmb2U(%Te$8OPE$-e0u72M?qt>D0e;$C;Ww2mAvRx*7h7nq z%h0FYmv*K7M$1;;zODIssRh!y6RYYkS^)clA3Or8lm%*2bq!rBhOdf z>z;MC(_paTc)Y9QU6YK-F7_vjZFmc;J$f1Rw7Xa}7=3Qfc*DZ(xCZ^XtaG~Xc}aPL zR(ABeH&1(}nQ!4TI$$w%akyi=&E_Q@A-BXfMKx~MaZmi5D;6y*e&eHb1&_1c2IqJ$ zG0#Jt4);i`BuSPkNpd*$d_omHwnZ#?-E+DEc?O@`s+BBII)}@;#e3OqY~r!1%}=Vh zo%kuEwyYAwE>S#9J1RJYW@!iG@t9RUiI`$0o=Gyk7-HmX7CR}v8|%L!Qs1V-N@LEv zRbkC6j>K9MnA`EsxWJ>{zb+xqOX%M2-TQVqEfFwLkK8^Xu6U7(108uP*1wEw?b)g1 z+4=aE^k#;wjPT1j6UWV&=y;>$qKduGk@gOom{mI%u_#hMC)vxh^JYK8Oxg!Jyt*J* zt)DZobXku$cXfG{F8UZt9JMs|(e#Kk^hbM|<>c_+6(LWV%k6ag;lniL>oN1rwbxh6 zJhwQ>uF$v6_^~b5>@@M@?Yr)M5bAMr-Pg>Jxkn)*iCfiS8*}S4VYA6@VqUFNr)=7t zC}fl!%Vyf)w04t7W{}#}%=r$ihqJyMJtIL9oUo>pY`~K%&gmdTvv=JVo><3F4%BVTKBzAnm`(M&|%fp%6rjxxw>Eb-G*-6{TLEH8YN;D_*eKy(g)H{X@woiRVo+E#t?3$1@bZ>3o1f%eFSxBv6VqmC=+|%# zeG-+che^;N32@blN48ZTg$E8d8$FN04I7J7Zpu!`I2oT=8kLcF;832|Q|1@(dL2o7 znQ2+3YxWw6`jN#d8FmNLmsT>yckPs7i!`xo=G9G4;VwwsK3;p_fP$9H=^Pt;EtD3p zTDa(ze;3n)<6+Mo?$=#$&|0eP%QY{&Zqm|8XYJBz$_9!j?>uUJB~hr~7_(O=KdEGN z+d&^OC0@-!{q_vG@gUi|*KFA@*;?^I;90Ar$0p%v!pcsSxIv^hN$h@4B(K;>TCvs` z16IM65l;suysV8+Wx;NcH-tZ+vA$?FAgOD3Q=Q=*No8_{l`Rx#JwVQ1|Wo&cfOwRyxnqu{>m-J%+uUzTt+7DN}iV%$e5HAkgwn0@if`g zLCl9+my>cf zo0P8c+Op_G*q$)%3$**v^GuhSEPto*ut{b^j0FQX^E8jRhim&+O}QG7<4YD}Yh2pi zZFH6OGD&5eSC99JW-gnkFLE7bfie>^N)vX|!+D`$Rvee?4jdPHR#nfyEol_EGT?yg zExU*ra;D3KKPVKQjUtuLRhMVjO3xhL8kHw|DIq5A_>-Q|%bQQ|Wig;Y{7CC~23nBBx{9&)Hp6BYPAYO})if zWlQRDytZDN%v_L{XSd<9KxB~Y(c`>Zo*$pnEf1U-q^>+u5l=-=`OV$(6SczG4$_(> zvb~N!W&g5R&U@|!UdEy@`Iaw?Rz+O0{s;bC3oJoCs?WHbXKl-~zu%>*U(9_+f*(;LhM9It(osx133+tj{ zk4T=WY?Z8^wb`X-(}JKHwz}SRvN@-a+C{5sfOSC0Sqsxthnq{kV6J9jnhNb4$yG#j;&~wG&M|t~9W(nOSJ6ok2Gf*sav(XB(3O zrSwjPWe5nx^!tVa=uzSBK@Trvd*vpJhLV` zYJYf}7S!B#R{6C>So=B7H5y!TPLhWMcXwP(Aw7xr?V}MEJ{NCcf1Wh;8jrx7ImKpr z3K^Uxp+S~nm#?3f-ptKwt+b<#8&l(!aU-cXxVlcLE64e|Z)FROV|=F4U(I@L7n&R{ zs#z_tIhdh7ReREYde+QEEsIU|&*D3y{F+_nW#k)kpPUc7ob9)JUc72i80#A%2g@T& z?_#iyh_`YaM{Bq81=NJkcz>p@iXl_4Mx1Z4&^`Be{2YG!X`i&7xIaFV?Md{!<(y)E z)m%0@>QUllSN+7}pqIu8LCT`~8MlliS_9F#2lKhb-3O6m%3@WUpp zlIWGal&M{rc01qB3vc1F?adjl2q0?$JSXjJ+fUO2XM)EyXAN( z^q#hV^>C9c?LPOT(>#1_~W)d6zk#*>RFaP7zXwoItI zs+h#rZ|EV$Zyf_v{9@iL3)FLUbFsB!7ZzkZg(o%blQ zjeB04PC>d>`F?`^gE9os6evSi-2S4|6;ulRfM? z)P4Mn=>f--cC}?ePX#`33HKb@G<_9c0RAPZNmg#bX2+gIy^@00CC}Ku-qMz|T`PxSpV;C}F?&AE#AJ-qCZ243 z+!^3_T}Hb~M9eNdzn`h%si&KVp!D|aGj)2{%)4S}n#63fF>xkmT%N%(kt-7371Q)+ z_iZ;hn5eZebcy=`?b0_+5&KC_c)tFV_PPr}W1k1v2F0o>M6{{(5kn{GY z3}gO>(`d0&EJ0yEmeRLL=;9TtoBF5NF9$H5-%+aiv}d}o*?DF5d$VJ&&0SA>dGfuT ziaOdP%dilkbWebgH$J#j`(|A5h*Nr&2weTw(+D2knPRAw?zjkW4+Jg;C) z*wceaS~C^*(9KCS&tu%9{7K8KD|-l^3>6e5_y> z<(`*pBEl5?uzil(Wb96hQS>rF^~FYhZ>=?r=-sXJPmW$xU6E{ zE2USR<*klKwQ^SOu^2E^^cJ+H*RU3gqHXMJE0_KhOZTXGT*MWUXTs7}X)ce;=^C?X znI>1*%PA^k&`uV%f4a!%a7B{lsV`L%FBEPckm&TQ5em|f7Z^$FuZZPoX zc<`!aTo2~m?rW6Z%I5P-XZ{xrjie^Cc)^G!ndWD{n?1=n*6lQVLKVMUx*RpfdK#}a zJ#VSUiN{-{?gYM)^IkY%vYbV==b|mN0*Si3Q#M69J#i+9MfNE9_VGJ<_nCj8?`;1( zRcOto@~Ygl32$v*G3p#Owm5D%ryGgL7iiL~Obhlc4=pT}^M2`YTEBi^!bUPHzq#mj zXH$0JDLULHG{zjZ#>FYkz)2Ywvpb3QXSwiHf8oipsw^>-748*vD|e6MvwkIg#9%!g zGw*pNsIbd32&fN&zi68tnwFA1fffdN zlg$$z_H1g;H`(5A;8eZPrhDqiz1z+nDUY1Mlg`llcy)Z$?D$m6I+?Qs#vD_GmP0qc^_$B(NkuN=+|n zi&TwPZ(Gr#t2K|@pLn{@sF?6k`t&=CZju$LhyCdW|AVvEZCR!Eszgs#F`Z1SRIyba zHNr(z%gZ>qJJjj5b}ymN{KAuJuJuCY{IN|L8T%}1TAQ=2RFA%u^1&6-t(o~8ct%tYD_pxDE10J=Ur(@U&nz3+0_!v4w?#e1?|gaX*(68I_C zhjs76<67x@`BYoCL>Nr449v}#^x&TJ(#>ubOI z-}q!s_Q?r4B?S($0lo==I4RZ3RnWUaKX8w!)qwA{jn$SRtF1$5>uDsiXZy3AUdd#v z{_IPL;UiRdeZC7Aoj@Z#~gjc1$mbQQzandSn< zZ=5$gE1Df=SZJ8Wbfre&q30H>_`?{+HU+s~G_Eq%0biJy!`j)BR_9xyI&yQq=qF5A z?~^Z?n`n1O=DeuUVw1THz0743!#P`orSM9c+~yaH&SqoT-qQCY3@3kF)Gu^{mZ#XA z*(Bxhy8ioI=3$9mY6JS4=QqFS3%8%Xk8#ELj}OBOZKPQ5#nAh(*e!(L7G*Y{((qKh z&9DMS)JvNT++$|VS`iTNM0QRB?VP=IiPl$rC3@w&#V0Td#7>=(P4k)oIPl&^R_*PF zXjuG|POJ2Ls=JOm*K?Thj!{&wv795@9HsSq9qxH89*l|HoBCN@492U=gcs#5VV|8h zB~fCz5=S@fCCSI)6*iGq7Til(ZdW7`C7XQLIh0FI8e3c!%Oj`PQu@^3fQjv@j41tr z(7x1N{@ROc*!D%`EF5@jm4P|7_diQ~%$@(BaM}9Kf)iVfDqqIle1Gmyp^$LLZr-qF z*~NkY;weuV>)nw9kLtvx!PbHICbRib*YYl9&9Z55kUf7aFvh9s;ChcCn zYg)&Xh#8kw$_dk2?{S#zd*EF|l-7+e!W^=gVwC(R1@_5UyHf%qv}4nEuNKtxn)!w8 zEiCVExk-PU`5kLtm&S`b>;_e|*12yl7AnlYD>2DSPX8ExiHBg8o_dsZj+oA*+~-@n z&wZY(8*o&OXR;izQb6gHJTuo$?TMWwrIcMC9?AG`{JiX8+hw-ta+?lWh zQ~t7vYXZ6E)0BG{%JQep-oV*BTeNOFE7&?}u2(QWOo%kR~#_bA6fi`bS(lkBuibvKo!emgdI6x_m zm6g>eE>7!u!wvT*A?Ed5em#d5-|XhFRbVKbSw~8;49i>tJZn`}U8-N?dT&ojUyze-56^XD8R1xNO>p7f&}wt6(ewNAor9cIp<^X|{ge71&8N#Jsx=8R0<_WNvF&LBN8 zuPStiyE1E%tQ$Llp#?u&>}m99{m7?&nLPb#Ehf@Ls`dp$?- z>Pw9E`}732iYO_|&aS=u{@iTWYxQ0sgwEgz$~5%YdhG& zHP6RAx1^u-xY%)a9PF+5`}N%u;&Z>l{vho|>%(wNX~r(=)1teT^Tw%oFkU*Gmaq71 zuKyE-jwb@z^~K}`%Wk}#K?>RC4$U(C-u4A84>7kD(<5r%=|{AQwIy$?e&O{&UbdQC zv)RsHQ|4W~+EuN2TW1DF9M+g7bd0~!W>@{a4BF;T(~r$Lu-97AK#Farv3FWaEPZSy zZ<&9(+!IVfPW1YkSr@lvGjr{fw4NCI<>8_B{IZk|*)q%8rs<3qH<}#vZWZIQHHldh z?`l8Ym?=lxrEh+1l=TIRr6p_!CaZr@{Pc2LGI`u0y9HCpj%u{Ie6x?;!rGNI1VqVG z$Yz@2B;}&aw&WY1D|k2fcBHSE*IpXSDQSEXo7a0zMBHQHj1brwV_R{vr@`DR^`L6+ z0(GA=F1_q`uN8@p*EVs<)h~OT5_Tj*a~)@jO#9voLh48IEA}fzDjZMRPqTOvxroKI z@4bsP)~fA%K;tZ{&$`roPk5(J?bM^eawlG>zBISMByD2a>=@b?eg@NN&ys^x3pMw> z(;{_9y?9^R^Olv|JXtqINwk1hZu~Z3yBl_^*?pXPR!d*C6k|*{Q-B$1JGY20hDp1w z-jiLmeoaMiFo{Rf* z&L!1~u9a_E_EhpKaW}lru``IiXT$y>VOO?A%q&-PpDjDjbV@H(r}5 z-ip*Ots4+E)T1oYAJ&^>dS3Ka&6Pt7ZECJvJ0H`)K4n@wOR98! zvn;Q!wLINi+6Q9H(lnUEnpsJF$vZpdNk*&@*E~JrnVh~!`R+pn%TG9SJ}1q&c*3-8 zG8Tgk7D^pRp(iD6Nf=w9X721Z7fS_`Iz6`U_Rm#dVxZ`Rh!OX3_KUVDG; zvtZU9%r~%0SXc1C6iKF3EP25TrP)zT!kKn5IW&cZIa{V_w7ux*YteP~lE~VF)P*Dp zc^f-tnO|0|jL6okeI*Oqek=67@J0FWjC^upy=xgou~l}Cxi7gN2)b_evB})Pv;X9{ zI8d9qot%SR7tfM26sR!092DjFkn2N|0PRWERMw3(&N-@DptiG>{hpkKiTS$O2VQ)c z@KM5>(fkcfmfRc~!c*Pqlz74m@U5SQ`MiHD_GKU!E%YmB0IWjvG^ zMb5tP_D#@7crI0ypVV&CxX4$lUuCR_dPFW#pg> zt3IoE8LSZQ^EP9vHGuU6CM&^&g$jweOk7ixJ9K&XPQx5a}THuAMXwKark=bsFPqI!~4J%71>9%c<#!HqSx?49@6tEY)7J zb$(5RwTC-LLDdYu!gJTkmJ~HOg5H38*1i|KQ#)d-)8*~S<6S>YKXY;EOI1E&p1Xod z+t-!6TlDORP%XFLfk(|&RT~4;z31iEM?LCgGtUF{tB3-Xqqz?pb7PoP_CxbAP(0(e zQQ5}V*uKwnqS^DL0Fg#6pBLL=ugnQ$&udQFgDzCDnH*+b#SsKe}I3d0Uc5PdR=i<%qx`Ro|A07fcR0 znbgXfed+@;#)%fd8l>cnpc`7c>iJI__AXV&Z$Wa)64>1wnsZ8S9v^~V|S9-;lB zZl`0f(ENnSxRoc2hg&2$Hi%6X6eF3Q_kYNcw0Oq_Cosc)Dp%uxpmC#90vqA{(`Zvm>z>Uop!Rc+{tHl4l~<6OlA8> zG8J>{n!oDwTJiyJdSBZa3|35Uw1fg>bD6qVOuSX)Y0DX})hs3eUXaIqlxE;>HVq2i z@WeZXQ6iUTPRFkJ%wTMBhN3AO)~M%ve^t;9ZD{n|k_{%9I%&^77445oRXyQ$q2WG; zU5li1)s_fOP>hkbip{AJn43)#K^FP6IaPv%3pD3Q4gJ%wI7Xl6nM(6XtSjj~dr599 zF??09ovL?|-2y(kC?ndvOP*$v!6G z{>O2*$e*&~-3*p9Uh5}mr@P3R-?@5e7Zxs@JcIe+zT2?Z9g!fVg;nuj+$WZJE@xm} zIgYh|i4|#ENdrEUy_s%#5$$v}nn3?*UB#8-s$j~%$EX?33>v5Nt39n~dd86#on+iF zoq<6MJFA)5#VWe`!N#lJ5+qI!+CUzfKx<^EEqXewFZk3R4xmMElm?dAUw|r3wpIZ2= znayHy8+MJypz6J_aMV1j%bPzixh#muI23BIS&_^75`Afu zG$Qx+E%TzCQ%}lbv3t;08+B5Yxr&ce{*qU@eAO;l_(bqww_xo%FmL+YJ$3I?E@{#9 zi0i%&Jg9b>|IvholS|Pqbf-99<;pZEEv=Te6@m{K<*v{-oSZ?9kzaq7^qi*Zet*u=pg_Su{Co(Vy zqx(kUN3Sq!)nM}9{vT{Erb5(#2*;Y^1rWO+65$hEyn=WOq8`NQ|LyqvD13m66h!d7 zf)7Ca(SY)z^T*|Xw4VRAd;mK--PH{uC4jFYJpKcYUu?v2IFl6LQi9{)zY3Qw#PN;A z&@jqz+_@gd!9NrJ5%N+6)Fv4I+wl84cmQTkgu^Gm1$GcG+j1QIis9gc4Bt|Q<8W3G zz7c2u_L2Bnh^v7Pa)7JMC^SGc*$R1UKNBP%PL}#7n2!G2--$aa3w()DfCe9B_)ci+ z;C~GVTTpx}L?xiZCZGdq3*fJf(iXsn8>KCPA2%HQhvDD@3>o!2a3{2TO~66D5@-NX73iP>xDahYafk+}Kfsw%_$r7l4d|DHp`zz& zpFnM(w-*jo`a|JQ;9t`VJPq2uW;KrQ0Xpoi#BsGD8lbj7^as=y)(^D>@VPe}UUYoL zANf#pw-;7{QXz6J5UfRh%`0PLPAG(i0UY@%`Hp|-G@sz0E%0Ox?=aHca3XN(Q= zMk@S~Y4>jrzYG8F?rt1K6l&r78@$DFeV_r@d*j+b1JoZ-Ti8|kwLeg|g|T=e75;os zG&{rzzmo{Ria(qig7^3L12}&T;KL9<1Y;QZl*GZmB#znw>JO+b5d8tQ1)}`M9}8~+P=x;x;Ae&)(;Ngk z>>p|is6U{#fck@aB?!S^h+q7pGzWe?=~pT6v-lIZgC9y9e0t*G_Y?=;s`x!~N&JrK zG8}xJ;&pvE4(Ivd;6oG#pQ4nufcnF}q5kka-nbRMKav%wc_We)&^U=?1vrZk-vsRf ze3IhLP|r|Ef%KP7WcnHWQJY5r;SRoB@khs`@drm&;&65Z4t{2F@HdM`x)0)S2Kb|B z0yHoJ8W^JfFrqE|3~wAwZd8Uo0=__rVDKw#U@ZK>k1IYhwzq?T4&hbgH9YX7Ebf0? z257JnXs}|K22madDBqvJAEl@*p#Ff`0_qRHi#H-U@dA`N6iWXj{@^c`Qcd6IE*$&; z<3ZMPKm!?|fiw<2g>mp3f%`%`i1s-67yJoYp#Ff`!jJIApOG7>_{j2~rNLO=f21sk zWH1!KM=l;pUWJF)$O8>zaqy))NCW5xhz8*A7zh8gl(tXcO`W3tFdAwp)dV4$%PdLkbOGOaTAi_-7a+JfU3@xQ>;6 zk2ivk?jM#Ldxm6*--Z83-cR5U{?2hYyAOYAk7%$OM>K#lk|^zfng-yz9PjzmiNjgB zIQZno!B_WpBlz{k!M`^SKF9x7Zlvao#2fmffXH=?yR6n@wD9}EBF8+-9+#|=X?SV!Rn6dDYV38RmT zz81?tMn*JPMxlW>6%F7VvTtaBXyIcakAuH>+`IMf|FgQ;@?ZEqp1nz~}fuR_F_#rVSP-rm5xQJ*# znI{a*m3+RTf#|3-_}JEjI|1+fp4@l`c*Rg~_+9vqh|4Y6taYS@>-jKfWh7rhQ!_7&1&B+ z+_%8f@0sJNcg*mVJEnNDj|raW4e^#Sp5SGKzwk7|<8L0uW3L+y&YAyaT&ye2z+<3g zd%!qI#9P1*l0dHPAH*G`MqKjD2!0>T_tOL13-Jim(j_wXN$|NY1_1nY;Uir+Ra)|Y0Y zB2oBP*Z+S6*U|DIKoS0Eo(vNpBNWkxNG9|uVV3vlt=ip zGwa8kFOD@XHo#iKQ21BB|Bv80S{?#_BqJjlG?%9l@Z*IM?%$m+jy5hfR^$-B|3~{A zWATVz;s2xIO*})u_Izj_9v7QRlL+|nSI;i~^n9_a{T&Wx*8lXpZY+F9J|7GJk^KHg z?+3?&0X+GdCLRm&(M$I|_}koYy!_=|Jknvqpp5*@Txsn2Vw{&5g?4FaY5zL@qw%&M zc?PGUQebX+{Q{47Rr;a168Ne5%Q|Y9lN#Rr;XTOP1Gv4t{r?&K6A}_|Bpaa6QCEZ) z1fK#rY=QaW-_MoMI%+U^9iIKzm9kER$^fT!6#bl$?e=%wkJbK({`@N`nkNx*GQ#0Y ze=pwAP=YrW#o=#K9^hs1K6p{oRlG3L1AiTR3olFb#ordh;4QUPLY*IlMxYJMhhq}+G{~HL}d~1jfDGm-4o^i3H+&PL0lue zMvKJzktqS+@4|OvIYjv*@&8eNKUThxc>L-;0pCctf7d-x{z&|Pgx7yB52DMj;!OQJ z0>0mc@5pk9^8YRTQ9VBs3HV0B{k!go@<-xN{SAKSHBsNsroRi{k>wC@{15-%qyPDL zZRJPljbtciXXosp{9i_Xx8HR?7Cd9|^&fpc79GZ_Z)E;UmoDWHc_G#OUHFbHhp1y@ z`~Mzq|B-iN@&B>vqsAZ3W+%Qol79}2g!y;gj|I<<;P|~fzl#6Ai94d>Sol+akKcLy zz54!b-2a>K|4-ol--5rFmlrj!gVSODz3{#E_&eJ@QP#-%?%cUUjr-Am5A(sAM#4kD z`KMCq`u@|nBMK1kfG_W#lFNTahNsR;)OY>*^+Mtr(trKC6YY!&hT*k_fBD&e40r19 z|1aZA(At{#4*yI4M}hxQ;C~eOrxZYI%HR`~vb0=<@ljGT#`raDM>Wvm_^2sq=sA%> zL6m$@z+g%{l#<3s!N2Pu27fpmSw8{S5S#@3W2Ix^|EHb<{V8-|8%p83Q0`@iQrn>v zJ`;KlU{g{6hmxYthn~aF|1QjjY{C$=A(AkD_>W=axs>ET_77m54iRl;hCr-^IJn6J zX6|r}6bs!UZh}bn9|LlfiUFSS5N|-Fs2WxE4BDE2pIzJw>^mNUUS=xTIe?E`B7kKd zzIBwM{`E%y2P?!Jq#yPObf>goTb4L~0NK(}pFMzV>P!G~DqGXA-vRJHk*T7iqwyYq z{W#c*q4N`v%`{;*j?NE2Hsk0F1!Mz;&P>=0&(L)!;5xM5M*gQbAo!0QIa1{A?jHZM z5%#z~M}TgkdgWK!Z)C@W&HzBRzUW&ZyG8_i9rT7iz!lm1qx&IU_TK`(i;GL@ugvA3 z?ciRZUr5;O?gBgry9@L!2>Z;9fCpiJW(I8teSZ6e~cD$vd%&`38Jj7I@=)JG%XudlDii;IhgBlvEo zl$h#gO|d;gcBq7nK}N`hVZCvrFN|zYkv%%aCLcy%^ez6bZzDcSZFfCni;s+e$Bzo| zh=(KL2Osn}^_n?aBX4gg16xvLON;EL2JHutJ#}X2x9}qz2)%E@rv69zHaceo@mbWj z&EcC31)UL~j(R&1eri67+C2)dV>~IgpvVrA8i(}2^SD2>aYAREI;GgZQrSWOXx~O- zL+hZOTkxm=k9hb!_z7M9)Vt;s`z>VCJBY)eJ#XYC9XuCMq=uXN8hwkg`u48MLEGJt z<2L#hu|N|DKV+vg68?`LKMvbuB7TWNjGOA9P9d^A8nVG7>@chIA&emPsJA2Gr*8k1m6eooke=|MJ>{VN6tW{E?5YE8*5U|<9QY28fNsbRWVCn> zaJ&ezC^}<+IAdX~zI_SgRuo1Bc*Mhz@FRYMa6s|>d#DfsvV}u7P~m65?gjK3342fi z2XsC__ytWoEzl81JPGmDv>+EeCD0j9_IJXQ9-XJeyqLRqUE6yK9_YM`vHJFPuoFdL z1gN9lj)b4O{}T4>376FQGUnM0a6y45>7hV)SS)?C1hy!6qHfUo{ z%~z5A7&>F&D-J_;q$6xd-!;_?o;fkfxZO55SGzJQz#|@xgrBvuMmezk`q z>_Ug^qp58H(OD75J|5}058^=Behu0{Qrp44uYEntvxqZP(Agp9hWakFpA92G9rbo3 z{M79qT@!7n^!b%&L3=>3BF3vQ%80?6noxfII?B^YP%+kQ^Sw=EirCq zf1`@+$gr9o+qShlpx-LlOM>?-a7VYc#NQqsob$CZ(`CtS& z3CT(*w$+!xIUBmevK}=K$bJsN{|RJhBElsab)P}}DLbi=@Q-Z&)Uw>jYp4r<73NH_ zl^@Ah2jwIxzB*(VP4LzCZ%go3uU`ESj~RvR!;eP7Pd$DSvj2YX9>HG}?n==+Z!S+qw|MD`+Z6kgud?1C4kP(0 zfDKK|)1f<64Rk?>QGU)1xk(XLUSZmY?q@KvP$pMKkDNKP8blfLDvIZxdwy7OT3 z;5rP*FJ6p<|7ZGdUS1xB=I=^g;u$^%N9C*3vfksiutkpTLh;8=_txBG!peik>4}QGO(o{3-ay8o#K=GU{uTpTOZq(?1FS&$NFuo}qsI zqi_@X{v`ZAGkzgl5x*kfBGP;J?&05yK0ZEwto;x${F8L3Z4)qlFa3}6pV9C{@FV(< z_HKmEv&k?c{KX4Y7xnu2&x~KF?bp@S{RPhN!4Eo&gf82C$oEUDcb6;YXo4ev`saiCzCck`ncSWI-wa@8JC1 z?}z9^p%>7JLO)0uhn}+yrF=uFEJ`WiuPNG$=Z7c^W}+-4~>{gZy0_e1qfupkvbWxfiXjivA1? zKgyfYc@(a&ev5Qhkj@9vTS5DfXkS|c^jM542mNh;9QNR6>;Dni?E@f>^aaql_el2y zo%xT>H%ERSVt^*dzXj5nY5YuCr}*Kq4B`KG^`kv%bbcb*i$eST$Oi%1n?=4jkPZ(z zYkw!egY*=J&JX2-@9;zC%#2k(TC1Se2SN3t{cf~pkNhE^^Y3k7Uk2%iUVbZ?vado%Iy2;pJ^BJfoowk8SVyOALZDW=#POqHU^I4(cu- z-72Kl`6Klc^hfo_xooDK4U6_X(EcAfCmpR(qqE-7`KM_A810v#eHwJ`t&h1Zo|B)9 zTf#RP*)~CUb4hDj`AASFf+lG|=V6=xvz<~Bp2^i2GHroG1`(2)}Z;H;?^fF$K zhj;W*&KM=yrX{ow2!%g_KSBSRni~8K?B}AhG11vq==?KuPBdC4CSXA8^aKoO4;}4$ zA{bJdTPbaXXq)#2_sOsRNc{x;QU6D05@y~$NI8EB!GQMl(LN?RpP0H|qWv0l1}!>= z814C`H@6J8(W5Y4z#?Klk9RRatmLK{Q^MABk6`2jOpEy}2SK z0541S#}mBGD0_FvX9j`+oq=2Xz7bFVgj3GTZtll{L*Xi8)s3E0e}97hqov(&4&m26 zv4)}}gZc#81EuH#z#c9-gSE4T^1**t0->&-p#NxT&;RT0`hM!Dg79s8Xnbn)$p<4Q z`UjY3(nm~ej7g)lX&S4xiD@+0hBiT-v>{xLhDzE(AId|e(Na*W0TBuWkkZnUilvky zr9x?X8yfljL!fdC+>YOOU~szZy?5#LNs`GqyX?%Iojto}zBzO5nI3V!7d+5$MtYl1 zxcMi2FPR&{xp2;3&Wz(FM9y-ed$#|x`mO!F_1NNl{8s4}8MyMZ^q&1{<(;ta<&Qb9 z%H+go+;`pT)wnfXK|uk3Z=pYkUcJWZk7sv1 zZ|(2ZzZ^sB$N8sKc97EQxA&5)ZuLK^ZniH~{mZ)VLe4Wm?$>)wD*Exfx%Qa4pZCfQ zdQAN(P)fRkw($)j+Yh< zJOy1ZfHY3=-s7oT7NQ>m?Fa7bL|*wK*B%Yc3sFZKXcy@9L|T&dz3!eH-NnF`#M{Jn zTrb469mM-n(RrZm9{b15%&wXVn~o+Q3!jDc|uVtej6$`}WqJz^WH^3ApVY8RIDlZh4R zpVk-dl&bN+T^^c&3xY<7YHuT*f?QhE8?C=QpPon=>p7V;-9@!;l4)2u8 z{I{h%Z-+FNekR3Z3lBZ}4n)U-$p7u@4CiBVPY&W=VlKu2=wlP}5$h0hHrJOt^z4Tg zBoa@)wGVSFx%UHc6?4{!Z@K3Uu>`U0$*heo545=?XXV)(TFTcx8c#m^kNPXo=$wrF z(Sp3M6LO>Bm~>U;%hk$*(q5h?<++<2ZX{khe=1ihf!n#q6mZ%_^v@>~$+vw}>!UX> z;duk2=D*>vAu$pAEpg$6vQL>mmgkjekNx_Owbj_IHu=5sbD2iICi@iQA;jRszn75% zUtL{&z{>O1Rlc^@TTYD+OGjCjoGaYw^2)T|)*ap_91e@6%*@Q$|60E4 zM+|Uc&z?Q>XP@)h#2&B3K5RSXMsM|7ZyG2alpDhLEyVdE24|iH zsUP<8BdnH>A>7?EBN4{k%SI)NwYuey{}#lq`t!4Y-Bc{bxeWR|85qmCXEXl7tC(@Z z_7VCu{GRZ;?bh#sFATrn6Zi$>2Yn2B!pgDyJ&nhg)&~wwy0L{m1!L&+CpfRO4P*VS zIjQyI=Xa;6V7vPUSNHw9wt_Ke`dFM7;haeMge>^+^WEW|PcD!Bi_Ox|cuH!{{vcJq zoR$jY+3kbhK|k#~_22X46CW=1No_(P7DGCgufX0bQQeZ)#}U7_XE zy7H@TTiP7PWc*(Jl%qL#z~SxSe@%7TGMRq-hF5z=M#dJ)W9#HkM2UE!A5o_i literal 0 HcmV?d00001 diff --git a/src/pyshellext/pyshellext.def b/src/pyshellext/pyshellext.def new file mode 100644 index 0000000..751bc6c --- /dev/null +++ b/src/pyshellext/pyshellext.def @@ -0,0 +1,3 @@ +EXPORTS + DllGetClassObject PRIVATE + DllCanUnloadNow PRIVATE diff --git a/src/pyshellext/pyshellext.rc b/src/pyshellext/pyshellext.rc new file mode 100644 index 0000000..d5edbb2 --- /dev/null +++ b/src/pyshellext/pyshellext.rc @@ -0,0 +1,4 @@ +1 ICON DISCARDABLE "python.ico" +2 ICON DISCARDABLE "pythonw.ico" +3 ICON DISCARDABLE "py.ico" +4 ICON DISCARDABLE "idle.ico" diff --git a/src/pyshellext/python.ico b/src/pyshellext/python.ico new file mode 100644 index 0000000000000000000000000000000000000000..b8a38ef15994ff855ce1cecd379cab146ea82dda GIT binary patch literal 77671 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 literal 0 HcmV?d00001 diff --git a/src/pyshellext/pythonw.ico b/src/pyshellext/pythonw.ico new file mode 100644 index 0000000000000000000000000000000000000000..6195d433475e06186e5d5dc92e005c1926f20fe6 GIT binary patch literal 76102 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¨dmU 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 BzS{r* literal 0 HcmV?d00001 diff --git a/src/pyshellext/shellext.cpp b/src/pyshellext/shellext.cpp new file mode 100644 index 0000000..cc7903b --- /dev/null +++ b/src/pyshellext/shellext.cpp @@ -0,0 +1,417 @@ +// Support back to Windows 10 +#define _WIN32_WINNT _WIN32_WINNT_WIN10 +#include + +// Use WRL to define a classic COM class +#define __WRL_CLASSIC_COM__ +#include + +using namespace Microsoft::WRL; + +#include +#include +#include +#include + +#include +#include + +static HINSTANCE hModule; + +#define CLSID_IDLE_COMMAND "{C7E29CB0-9691-4DE8-B72B-6719DDC0B4A1}" +#define CLSID_LAUNCH_COMMAND "{F7209EE3-FC96-40F4-8C3F-4B7D3994370D}" +#define CLSID_COMMAND_ENUMERATOR "{F82C8CD5-A69C-45CC-ADC6-87FC5F4A7429}" + + +struct IdleData { + std::wstring title; + std::wstring exe; + std::wstring idle; +}; + + +static LRESULT RegReadStr(HKEY key, LPCWSTR valueName, std::wstring& result) +{ + DWORD reg_type; + while (true) { + DWORD cch = result.size() * sizeof(result[0]); + LRESULT err = RegQueryValueEx(key, valueName, NULL, ®_type, + (LPBYTE)result.data(), &cch); + cch /= sizeof(result[0]); + if (err == ERROR_SUCCESS && reg_type == REG_SZ) { + result.resize(cch); + while (!result.empty() && result.back() == L'\0') { + result.pop_back(); + } + return err; + } + if (err && err != ERROR_MORE_DATA) { + return err; + } + if (reg_type != REG_SZ) { + return ERROR_INVALID_DATA; + } + if (cch <= result.size()) { + return err; + } + result.resize(cch); + } +} + + +static HRESULT ReadIdleInstalls(std::vector &idles, HKEY hive, REGSAM flags) +{ + HKEY hkPythonCore = NULL, hkTag = NULL, hkInstall = NULL; + LSTATUS err = RegOpenKeyExW( + hive, + L"Software\\Python\\PythonCore", + 0, + KEY_READ | flags, + &hkPythonCore + ); + + for (DWORD i = 0; !err && i < 64; ++i) { + wchar_t name[128]; + DWORD cchName = sizeof(name) / sizeof(name[0]); + err = RegEnumKeyExW(hkPythonCore, i, name, &cchName, NULL, NULL, NULL, NULL); + if (!err) { + err = RegOpenKeyExW(hkPythonCore, name, 0, KEY_READ, &hkTag); + } + if (!err) { + err = RegOpenKeyExW(hkTag, L"InstallPath", 0, KEY_READ, &hkInstall); + } + if (err) { + break; + } + + IdleData data = { + .title = std::wstring(L"IDLE ") + name + }; + + err = RegReadStr(hkInstall, L"WindowedExecutablePath", data.exe); + if (err == ERROR_FILE_NOT_FOUND || err == ERROR_INVALID_DATA) { + err = RegReadStr(hkInstall, L"ExecutablePath", data.exe); + if (err == ERROR_FILE_NOT_FOUND || err == ERROR_INVALID_DATA) { + err = RegReadStr(hkInstall, NULL, data.exe); + if (!err) { + if (data.exe.back() != L'\\') { + data.exe += L"\\python.exe"; + } else { + data.exe += L"python.exe"; + } + } + } + } + if (err) { + break; + } + + err = RegReadStr(hkInstall, L"IdlePath", data.idle); + if (err == ERROR_FILE_NOT_FOUND || err == ERROR_INVALID_DATA) { + err = RegReadStr(hkInstall, NULL, data.idle); + if (!err) { + if (data.idle.back() != L'\\') { + data.idle += L"\\Lib\\idlelib\\idle.pyw"; + } else { + data.idle += L"Lib\\idlelib\\idle.pyw"; + } + } + } + if (err) { + break; + } + + RegCloseKey(hkInstall); + hkInstall = NULL; + RegCloseKey(hkTag); + hkTag = NULL; + + if (GetFileAttributesW(data.exe.c_str()) != INVALID_FILE_ATTRIBUTES + && GetFileAttributesW(data.idle.c_str()) != INVALID_FILE_ATTRIBUTES) { + idles.push_back(data); + } + } + if (hkInstall) { + RegCloseKey(hkInstall); + } + if (hkTag) { + RegCloseKey(hkTag); + } + if (hkPythonCore) { + RegCloseKey(hkPythonCore); + } + if (err && err != ERROR_NO_MORE_ITEMS && err != ERROR_FILE_NOT_FOUND) { + return HRESULT_FROM_WIN32(err); + } + return S_OK; +} + +class DECLSPEC_UUID(CLSID_LAUNCH_COMMAND) LaunchCommand + : public RuntimeClass, IExplorerCommand> +{ + std::wstring title; + std::wstring exe; + std::wstring idle; +public: + LaunchCommand(const IdleData &data) : title(data.title), exe(data.exe), idle(data.idle) + { } + + // IExplorerCommand + IFACEMETHODIMP GetTitle(IShellItemArray *psiItemArray, LPWSTR *ppszName) + { + *ppszName = (LPWSTR)CoTaskMemAlloc((title.size() + 1) * sizeof(WCHAR)); + wcscpy_s(*ppszName, title.size() + 1, title.data()); + return S_OK; + } + + IFACEMETHODIMP GetIcon(IShellItemArray *psiItemArray, LPWSTR *ppszIcon) + { + *ppszIcon = NULL; + return E_NOTIMPL; + } + + IFACEMETHODIMP GetToolTip(IShellItemArray *psiItemArray, LPWSTR *ppszInfotip) + { + *ppszInfotip = NULL; + return E_NOTIMPL; + } + + IFACEMETHODIMP GetCanonicalName(GUID* pguidCommandName) + { + *pguidCommandName = __uuidof(LaunchCommand); + return S_OK; + } + + IFACEMETHODIMP GetState(IShellItemArray *psiItemArray, BOOL fOkToBeSlow, EXPCMDSTATE *pCmdState) + { + *pCmdState = ECS_ENABLED; + return S_OK; + } + + IFACEMETHODIMP Invoke(IShellItemArray *psiItemArray, IBindCtx *pbc) + { + std::wstring parameters; + if (idle.find(L' ') != idle.npos) { + parameters = L"\"" + idle + L"\""; + } else { + parameters = idle; + } + + HRESULT hr; + DWORD count; + psiItemArray->GetCount(&count); + for (DWORD i = 0; i < count; ++i) { + PWSTR path; + IShellItem *psi; + hr = psiItemArray->GetItemAt(0, &psi); + if (FAILED(hr)) + continue; + hr = psi->GetDisplayName(SIGDN_FILESYSPATH, &path); + psi->Release(); + if (FAILED(hr)) + continue; + + if (wcschr(path, L' ')) { + parameters += L" \""; + parameters += path; + parameters += L"\""; + } else { + parameters += L" "; + parameters += path; + } + CoTaskMemFree(path); + } + + SHELLEXECUTEINFOW sei = { + sizeof(SHELLEXECUTEINFOW), + SEE_MASK_NO_CONSOLE | SEE_MASK_NOASYNC, + NULL, + NULL, + exe.c_str(), + parameters.c_str(), + NULL + }; + OutputDebugStringW(L"IdleCommand::Invoke"); + OutputDebugStringW(exe.c_str()); + OutputDebugStringW(parameters.c_str()); + ShellExecuteExW(&sei); + return S_OK; + } + + IFACEMETHODIMP GetFlags(EXPCMDFLAGS *pFlags) + { + *pFlags = ECF_DEFAULT; + return S_OK; + } + + IFACEMETHODIMP EnumSubCommands(IEnumExplorerCommand **ppEnum) + { + *ppEnum = NULL; + return E_NOTIMPL; + } +}; + + +class DECLSPEC_UUID(CLSID_COMMAND_ENUMERATOR) CommandEnumerator + : public RuntimeClass, IEnumExplorerCommand> +{ + std::vector idles; + size_t index; +public: + CommandEnumerator(std::vector idles, size_t index) + : idles(idles), index(index) { } + + IFACEMETHODIMP Clone(IEnumExplorerCommand **ppenum) + { + return Make(idles, index) + ->QueryInterface(IID_IEnumExplorerCommand, (void **)ppenum); + } + + IFACEMETHODIMP Next(ULONG celt, IExplorerCommand **pUICommand, ULONG *pceltFetched) + { + ULONG c = 0; + while (celt-- && index < idles.size()) { + *pUICommand = Make(idles[index]).Detach(); + index += 1; + c += 1; + } + if (pceltFetched) { + *pceltFetched = c; + } + return c ? S_OK : S_FALSE; + } + + IFACEMETHODIMP Reset() + { + index = 0; + return S_OK; + } + + IFACEMETHODIMP Skip(ULONG celt) + { + index += celt; + return S_OK; + } +}; + + +class DECLSPEC_UUID(CLSID_IDLE_COMMAND) IdleCommand + : public RuntimeClass, IExplorerCommand> +{ + std::vector idles; + std::wstring iconPath; + std::wstring title; +public: + IdleCommand() : title(L"Edit in &IDLE") + { + HRESULT hr; + + DWORD cch = 260; + while (iconPath.size() < cch) { + iconPath.resize(cch); + cch = GetModuleFileNameW(hModule, iconPath.data(), iconPath.size()); + } + iconPath.resize(cch); + if (cch) { + iconPath += L",-4"; + } + + hr = ReadIdleInstalls(idles, HKEY_LOCAL_MACHINE, KEY_WOW64_32KEY); + if (SUCCEEDED(hr)) { + hr = ReadIdleInstalls(idles, HKEY_LOCAL_MACHINE, KEY_WOW64_64KEY); + } + if (SUCCEEDED(hr)) { + hr = ReadIdleInstalls(idles, HKEY_CURRENT_USER, 0); + } + + if (FAILED(hr)) { + wchar_t buffer[512]; + swprintf_s(buffer, L"IdleCommand error 0x%08X", (DWORD)hr); + OutputDebugStringW(buffer); + idles.clear(); + } + } + + // IExplorerCommand + IFACEMETHODIMP GetTitle(IShellItemArray *psiItemArray, LPWSTR *ppszName) + { + *ppszName = (LPWSTR)CoTaskMemAlloc((title.size() + 1) * sizeof(WCHAR)); + wcscpy_s(*ppszName, title.size() + 1, title.c_str()); + return S_OK; + } + + IFACEMETHODIMP GetIcon(IShellItemArray *psiItemArray, LPWSTR *ppszIcon) + { + if (!iconPath.empty()) { + *ppszIcon = (LPWSTR)CoTaskMemAlloc((iconPath.size() + 1) * sizeof(WCHAR)); + wcscpy_s(*ppszIcon, iconPath.size() + 1, iconPath.c_str()); + return S_OK; + } else { + *ppszIcon = NULL; + return E_NOTIMPL; + } + } + + IFACEMETHODIMP GetToolTip(IShellItemArray *psiItemArray, LPWSTR *ppszInfotip) + { + *ppszInfotip = NULL; + return E_NOTIMPL; + } + + IFACEMETHODIMP GetCanonicalName(GUID* pguidCommandName) + { + *pguidCommandName = __uuidof(IdleCommand); + return S_OK; + } + + IFACEMETHODIMP GetState(IShellItemArray *psiItemArray, BOOL fOkToBeSlow, EXPCMDSTATE *pCmdState) + { + *pCmdState = idles.size() ? ECS_ENABLED : ECS_HIDDEN; + return S_OK; + } + + IFACEMETHODIMP Invoke(IShellItemArray *psiItemArray, IBindCtx *pbc) + { + return E_NOTIMPL; + } + + IFACEMETHODIMP GetFlags(EXPCMDFLAGS *pFlags) + { + *pFlags = ECF_HASSUBCOMMANDS; + return S_OK; + } + + IFACEMETHODIMP EnumSubCommands(IEnumExplorerCommand **ppEnum) + { + *ppEnum = Make( + std::vector{std::rbegin(idles), std::rend(idles)}, + 0 + ).Detach(); + return S_OK; + } +}; + + +CoCreatableClass(IdleCommand); + + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, _COM_Outptr_ void** ppv) +{ + return Module::GetModule().GetClassObject(rclsid, riid, ppv); +} + + +STDAPI DllCanUnloadNow() +{ + return Module::GetModule().Terminate() ? S_OK : S_FALSE; +} + + +STDAPI_(BOOL) DllMain(_In_opt_ HINSTANCE hinst, DWORD reason, _In_opt_ void*) +{ + if (reason == DLL_PROCESS_ATTACH) { + hModule = hinst; + DisableThreadLibraryCalls(hinst); + } + return TRUE; +} From 8b63081f83cb5aa82002f3238f4f7644d0e05a7c Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Thu, 1 May 2025 14:38:45 +0100 Subject: [PATCH 2/5] Use Python display name for submenus --- src/pyshellext/shellext.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/pyshellext/shellext.cpp b/src/pyshellext/shellext.cpp index cc7903b..35c0368 100644 --- a/src/pyshellext/shellext.cpp +++ b/src/pyshellext/shellext.cpp @@ -84,9 +84,12 @@ static HRESULT ReadIdleInstalls(std::vector &idles, HKEY hive, REGSAM break; } - IdleData data = { - .title = std::wstring(L"IDLE ") + name - }; + IdleData data; + + err = RegReadStr(hkTag, L"DisplayName", data.title); + if (err) { + data.title = std::wstring(L"Python ") + name; + } err = RegReadStr(hkInstall, L"WindowedExecutablePath", data.exe); if (err == ERROR_FILE_NOT_FOUND || err == ERROR_INVALID_DATA) { From 9bcbcd278febf185296c40f4efdce5235e600898 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Thu, 1 May 2025 14:50:57 +0100 Subject: [PATCH 3/5] Set threading model consistently --- src/pymanager/appxmanifest.xml | 2 +- src/pymanager/msi.wxs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pymanager/appxmanifest.xml b/src/pymanager/appxmanifest.xml index bd93672..08b1a65 100644 --- a/src/pymanager/appxmanifest.xml +++ b/src/pymanager/appxmanifest.xml @@ -197,7 +197,7 @@ - + diff --git a/src/pymanager/msi.wxs b/src/pymanager/msi.wxs index a3d25bf..e843fe2 100644 --- a/src/pymanager/msi.wxs +++ b/src/pymanager/msi.wxs @@ -46,7 +46,7 @@ + Context="InprocServer32" ThreadingModel="both" /> From 05ab23920e045bb024e8d96053e24986ed7635b7 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Thu, 1 May 2025 15:23:55 +0100 Subject: [PATCH 4/5] Case sensitive enums... --- src/pymanager/appxmanifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pymanager/appxmanifest.xml b/src/pymanager/appxmanifest.xml index 08b1a65..bb872fb 100644 --- a/src/pymanager/appxmanifest.xml +++ b/src/pymanager/appxmanifest.xml @@ -197,7 +197,7 @@ - + From ce1b0db6f53ba45ea601a236164a272ed0f83729 Mon Sep 17 00:00:00 2001 From: Steve Dower Date: Thu, 1 May 2025 18:31:16 +0100 Subject: [PATCH 5/5] Remove unnecessary old OS tags --- _msbuild.py | 1 + src/pymanager/default.manifest | 4 ---- src/pyshellext/default.manifest | 4 ---- 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/_msbuild.py b/_msbuild.py index fe6c23d..c651e72 100644 --- a/_msbuild.py +++ b/_msbuild.py @@ -322,6 +322,7 @@ def init_METADATA(): fileversion = _make_xyzw_version(METADATA["Version"], ",") for vi in PACKAGE.findall("**/VersionInfo"): vi.from_metadata(METADATA) + vi.options["LegalCopyright"] = "Copyright (c) Python Software Foundation. All Rights Reserved." vi.options["FILEVERSION"] = fileversion diff --git a/src/pymanager/default.manifest b/src/pymanager/default.manifest index 5c7d957..c1a14ad 100644 --- a/src/pymanager/default.manifest +++ b/src/pymanager/default.manifest @@ -9,10 +9,6 @@ - - - - diff --git a/src/pyshellext/default.manifest b/src/pyshellext/default.manifest index 5c7d957..c1a14ad 100644 --- a/src/pyshellext/default.manifest +++ b/src/pyshellext/default.manifest @@ -9,10 +9,6 @@ - - - -