From bba47a076bdaf45e636f9b4cd9dfbe62d70c3666 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sat, 11 Mar 2006 23:46:45 +0000 Subject: [PATCH] Fixes from Dmitry Yakimov: fixed bugs 159 and 160: + added threaded timers support ! fixed restoring sdl window focus (AV in windows message handler) ! disabled forgotten cdrom and joystick in config file. * disabled minimizing sdl window while loosing focus. PocketPC does not have a task bar, so it is an inconvenient and unusual behaviour for PPC users. + added WIN_Paint handler for GAPI ! fixed loosing focus while using GAPI videi driver + added TestTimer project * removed unnecessary macros (ENABLE_WINDIB ...) from projects --- VisualCE.zip | Bin 52655 -> 57050 bytes include/SDL_config_win32.h | 16 +++- src/timer/win32/SDL_systimer.c | 61 --------------- src/timer/wince/SDL_systimer.c | 111 ++++++++++++++++++++-------- src/video/gapi/SDL_gapivideo.c | 52 ++++++++++++- src/video/gapi/SDL_gapivideo.h | 1 + src/video/wincommon/SDL_sysevents.c | 32 +++++++- 7 files changed, 173 insertions(+), 100 deletions(-) diff --git a/VisualCE.zip b/VisualCE.zip index 9ab9a7dd5e5b05d30baca7f2707a9ae7ffefc03e..2711f64ba83ee6813fe3419dab207bfe4e8c3573 100644 GIT binary patch delta 49182 zcma&M1ymi~vMvh2f=h4>?hxE9KyY^p?(R+}IKkZ|xVyW%ySuwPtjE94Irr|n?|Wms zHG0kN(LHC)*;O^a>iR}iq(UsWK_JRYK|sQR{qtk=vW!L~B9Q#~MP%;dui^#?b_ae3 z{=YlCcv?nFP|+Xj{NEkWKgNFs`{=+Ls0S`l0tE&ZM+yc;42BUKJxByN*jlJ4!-7Hl zGgA5AM4xGD*)EHt`^e_KArB4<%UgciPmx_5UZfD+qZl+MA`$iD>twAT;Hm#oEdzSV zxPtnQtC?~p%u(%6FfqzSd2l`U)K5%Fq*|`jNY0xzYAF>TLxK@(%9QF6TJI#rm%0Y! zAX=uD%Z&`YU+wSuLZiCm>l-Pt@1L?%bqlQH=gOHr@S978hzkKPs=j%lqfRI3*});i zE<%I)qa8gBBFkp6+wc^?EJavAxB8~xNl2gE?t6rN3%!nFMKRoq0p_a!Ck_v18p}Df zK`qW7q2uKw4GuE8usdJ4juN|E8ECA!>~D7R>qSn7wICCf7VyL1<8VW_Q8lwy@%B7VWt%BMwAk&uX|4T6xk~xjd zc*{hY9?V_uF4ZbeM|r)M4(EaHKN{|Qj|#G!wlPPBCDa^YM3SY)in1e zcZB5e1E~1+%!0i7~j}|whL{qVq8gtU$4VujZ^$yucNphDgv170-9=Ruc zSvrwaM61nHJc8qA)sSHOy25XY3HzxZk-6Y!DRTEh;1ZXB=t5$fzDisB>==98dh0hz zQ73-Z(V;pU5->4co|6a)h@R8?!2Q}_L3~X1=KezmIEQ5s0JJy?{iW~X7qrS?t=*OCGu5@Sn-bb+%{fxa zu*Stu$+~7NKoTi33!_u|O04QvkN5G~X`5WYrD`vp0A$LJI{e<(6sQLw@zn=v35{Ky zvRs;g>d-RsyFpJgw*cnV{*a zQ3Y-*pV)8Xp$5tirCIQ!(g~kj_Mcf(WOhW#?Av+nQtW_=eKW9T+d=;9^v-29WmER# z>41jF(^hi3uh1^ow`=7huU@jA$0;ls}k^Jo;k##+kt8M^Y~cyf{;?TfG_oG3q? z4PtU};H774DvryZ2y+fahm}m|(e5sb*BME&Rb24hY%8}_G~%W5bt0X|VS6G36x5q} z<1_vOVq6a@PsHG+JWeZgMZK#y*o3wJjLrcpj8i}04XZpH=L_7G^Sv^ry(rduOBOBN zdyK_BSBrE|NWKy1=FwWBzp*2vpSd#=J9ZNT;3V%>2dRV^Tp~n>2%WHwF#<&;Ty-58 zu9sn;n}*9*@hBqLYtpU~ezez^hSRhjN2HCeEylb9N~NKPy;MyK61n~p#`ztw%X8Es zxt(?SU{SP8wCH-HC;sXvsLVOIC8LO>v#)Rq)1WXDP7zMKzBQq_Sm6p*=jIl+H9~`RVCa+XKvQ!;RN#rj-y)SQ{RjhbN?2zA*_9E zlV;AUq*7{eLV!(59hpA?DrNd}Q*a_mN@N1c`LyV)pBW!~*(XoaUjuVHJ05j;gJnAr z#0w^pGB$Oi5v%eiYY`f1W3ml5oSj5~TY~fPf!7XZHm0y@@6_mB^cfvWgL30{)*Qm^ zP%!#KeD8ZKyXeP2PFU5?Y3ZSO*KJU~y=MsdQ>?Xt^X7wV3E6{eQszTtvP!X9bFu~5 zs;p!3G%dao)tOmmv-&Kjx#Ft`vcnUv9EhVJ_i*SIQe09@)KPqX|N7@x#L;@f=N7g6p|aeNz?=AI7H*;C zN??#?`5S>HKg}1297qeGkb=Q3(3*$wm}NgJH_t-Of+%M{G+?b;pa#S(@Zy{^3kPj5 z7qo34h`<;3juUUapzM7M)k0WBAJ?)wqr7<0L0S}oJH`-`XMsgHF=1w}W~J7wtHr#1 z9uhB+Blkd#6LR(pg+?&&HRae31?j5i6(dt~;F7$hGuvdo65$5mvSO&z7AV*6GSMq+ zKVx8z%h5hC&2z{@@x(}Lj#KGw%L07vrF71ndjEtqLu?a2)>si09cr)zM@Zkn3iz@x zc1;yxJ;vn`zCfPf_o$(@qQ3 zR7MXoZ&}i&Qc%*=ZWR{cZfyAmSk!#nME2Sf;D zl&DB`mQe@B;ufrA*ffg;lFCt9*vJC|Sgqd^EpUj>8|1#3GjJ+XRYq=zKgnAtoDLq2 z_ei#Br%VGj+W7Y+illsM&ZdZ;B~pH0K(>>hV%gjCOu}(UsnmI$rl?c?;!8D?D&xtc zAwI8=)@+x&@uG;{V{sr!m5~a`P8*{nOmoJASPa?rIlnueo`gF4PsK=(qehl1kFkgV*T zCJ8XQ<|2RfhAFO%H}(?2`C{)HZc#)%M0&nd5X6KLMqo4FT7gWZadlmUXJ?le79;aG zZ(xXdT1aw!eU0~uD#h}N!0}?T)}=t%t}cMz&mfNVtJ%ag2UStUw2ZEGIe%F(e@-#L zpO?^nh~aGzLa3E3=RO?H#^*pztR7`a;C}Lp7^%(`2}?1x2dZen6bTE{e8avmN)wM^ zG->!STB)%TN!0lmgpAJiD((sBU1qfsyXoy1BND#LfVJGp+tDSW{%8={*Aa3hG*cTu zuA-LO34SmnF#KEv`TYTLQOT`M3(_9Y=C;8S96jS8FliyS@;9!~huXrX+f!7)tihpH zh$#;Zv3jRTN69NG@sE=!s0dY4WJsqcRNJle%F&;a#ne4L4m1qGK}s@X+$3&5LQ(O% zEz?5EXG|Ah;`Qy($oc)CHze06k=48peh=HJMY`y#JKT6Gxv%jGJt- z10qcTHwgre!(-UqPN9_uIH(nQHEBy~7d$#Z%5iY)Ir)~Cs*y0pKc%Mb_&&xjJ@0FK zyXUv(!QaDP47mSj_=Xy>r)`sLp!G{>kGLvR+Zq{mdD2jpQ@GCjhih*!(G+{{if}~^ zY%`Ey_9B>I6*T0?fr0EdjQo@~>OVsJ`9PogWj)&czjc=h5Tz%k(??r9o~YY-wEZbP z=t8g~P!+|VJE||qJOA9)PxnW=qaCzNIX?myAjZQfzLeNE6{IW~O5sr)fr>6$e%$HoKJLi`^&z-!4XmrGl9}R_v zTEw319geJlz~rwSVxd;1x9;zdcnT7?@8B<~5T*E6?p+?w0jZy)cSoz2$Qk`Lt14*9 z2{j%^NHbB8IZh> zlc%YkX|?S6gnqX5w0P4Iz7a9K{@x8k=MPspB3ZU%1*~DUr)Rzyx-?vBi52T0acW*I z*k%@oE1t>5FurGy9xL==AVTk(XpU799~$HY^kb;p46)E!XMITxSDw*XF(O0USX>HJ zRgjrhYuKLDDNRW^e$ui}E;jL8aYSe^sA{`ay(Lbw8u`oQQne4+>tS?iWF_Qe!!+Go ze#RWb4+uvL9^PNDm!64u8szwNSMX^$JDXTs#M`6b)fan)*{~2_80XePL{{yLb`FH? zjN^zJTFruBKkww)>skd>t?=pwiLq+}V2+7ZBVGmu{R;Q^0jXiVA_Mjp=Q}1KSS;B_ zyY7H53~6>-JKNnc@GF$+oL$|pn6j02z5&R{0DOV=79<>{Jm>FjSajK}%H3?UoF+8P zZs9OkiqZISx=znVyc#*t{P9sEsZ742kU!mie*+w|1+r|bTAtF(z9Qg@VIu@}ccKSl z=#Xj9*N5}MHpKyX)JA^M!2#jRB4JL2&mOG3U+iIB!LPi2SSJDqmI4OnpM{+JIs_!@A_&5IHh zRmfYAYybuWTd>FhVCeydL-~(y+_|}O5pNe8pj%J1zS3=4A0<4Z&^d0#aEZ1ItktAT z2OTUgeIwDKbsU_EbBC!wm6H8FJF}FxbyvCiDw&zHhkguD`q=SE*TGlWZX*ni_F@VmW(MKn z;(l?Q5$QjW>Z}EBQaG`!14G<`|LD}0P-|89rO}%}X|c_c>&~q#VqrOW($>dXQZ=u} z=fz_FK?2nBSMuIG@^IM7$XtRGpGYVXwb259N*f5+YYPm$P7MN5cg<0FTlrE&fw)1N zTlUrUp)>bSS&t!>?tdA%5n>vbj)FxZ9!Vu_$?Ngl621Vm{Ed&~2O~kR8EkCpbaEW< zFLw{jk;@r7(PWr>Q><4Ko6V#o-QjeZiZf2xw!j@Qw_6d)qiUTGT8KY#Iod?Y`knqK zHjEQwWUyeJ7&BSxO(Gcsm0So|8G|l}AFFm3+^LuO7_8tbQGfX}+Wc8@j_07=VXmoVGF{&St2TB@0T!yh_J`;ZhRI`oj+J#x8`peDe-s;VO%^q%X9}8 zfG*oUgK;9&evA&xZG%SPnMEebBgQjKfs5w2_3YnXdgLQ&r%!9V8+sj~2d;Mkm@nyq zE?BK&JF8qtm|`=z=|4r78vNA1+;&zN7fo*d8{#NC z1nM2&V@a1)z8UQmCgv|Iuvu3St@+2^(7=IBKd~}*gJNYE}9&jNZHhh_(I7BfehJWNbkYs<12MhEQ^utDi zq_pLHhOXrypNy51fxR_SRQ}W?-zfR38x5*NxFD-Dq+F5S>`(-7 zf4wPl7?p#Wb&vXJ%(LWRz&LdlWW@uKYzyjg6^by5b`Oq?#KgOus?YpW4b+A1bCD|?jdyW*EMpG|C zhh%!di)6>czrhRH2fX;S3708>gMmTA{=dMBs<7I>;Dz-+;U!+dvilp#zy?%D&sdv{ z=ww?kQd)Sq^h&mWFk~jLR@e#|!QXjpyQ`VBhcG4xpADpnQQyf?KaWrpikK z42A{a6N298w(D?LY|Oy7XbV)aS+PUr2#(2knq1g0g+6JxLYz5^CMU$$`^oy#pAgb8 zRs#?QnuMIf-y|~KAX~*OA-|YDvO25~e9|eAD<96Qy{wdKaEkX57BCkKkiscDM5CqO zX`1BGr+fQs)0Ow`3yhCyCpMqlHEScEl? zlZT{wjigH*C@}Z3m_gAuy01Y%?P^c~E^rhne9lvWUWMcWKeN@MsYs^tMwnk-*?7U3@; zK3&*z<+NV$xYX@{VEF%y4waL!jIEELM2ANBzxmKup%LuZ+H@L(f5-cpAE6&?>oo}& z80o*q9VcT)r~i`jzpfZu4DJ4hiN*d;U(r1JhlvHHNxl(9%>l?lWqwSi-1@XTq(XaW zyNk&2lX}SC!q2WE&it)hK@Z+Lex!)>N2)Dr3}`OD2_Hd_&wQOq6W z@p9-zf?layvzZOKp2s|={Ba`|Wpr&XdwZcZmbm?k1Y%XfOHnnEy%9g#Ifs8FB7>Vt z6nzk}Z<@YkC%~%HO?Y;20RO!p6^TB&LZqE}nUBvLljbyK&a!fNp!u-#h~jRsX322D zpXI2#<)XRTxIgm@S^!)fs$p~`CiJ3@)is}cqv@)-1jlSe;WlC~jfkBSyOTYu;VOKe z6(2_IXcKXbt%Nf6F_ek|O@N{GY)d(2!0()C*}PO%H6Va6RWT9Wf>Ki7+SICbV$_NK zG%dc~i>t+Gv`&yKJ-)tx`^MCX@Z&R%n`NV6p52RSkTnBz74R(r+8(_(T8L{m{VFKo z_L%cQG>OW`&AHW>S3_Eb$48`54F3=5wG4FqywYe~O*+*6BJ_*h-am6m92We*oJ z`FB^}Q^@-o6Zhv|$cDcrR=-TFN56t!5o7@^WNA^0_uKcqc{9G&H^C6e!4f`UF@e;} zRiC}0ZpRJG`?x5Ll1b&`+zZ*EZh$` zonMgh80p`VL;reiKJ6O0SJdHbssCjU$tN_P+8yj>6*{VV;s|HHV}6x+oB=CvaDDO+ za6P63X>0Z2r%AR%aKL)dABYmrgvMLv6imeX78h=c`p-j%B0}-IOtLvtdsyX%OCzt% z$q7#7wUSK!lc7eCtNMf1(>+ts{s3@dN-<|Ebvq$aEU@cm>kgGe6qIwLB=^JU2WPIJ z(N}?&{Kx`^DHuM8sP5I<%+2H9t01LaA2$>J%Qu$C_s(^g`}c;Wmls|%qQiT^hK*Dk zBKkaC(F)7tKfEaw?KQH2n`_V#k+J9U;v$NfiqQ#1FyPhEh!uNiTt(EotscV)kqn8U(LmO^=-E%HituNehR%>B5l|#fp()RfX^$GIPqb zZ(E&zBm(fiUxtPnR;Ti0!bAc_OW_xHA~f%(jt=;3)>%$7!%hfZ*jJ( zKW0q^Be+sLz#Ue(w(H^4{PSnUya=%*hcybW-a{cLXA*#@ip=AX!c}1kdB1jbDdQs zo2d+g!P~n3Ji?qXMcL;df`N!ATqi%l+HN@X15vcE@E3P>pk-J%{fa896|?;8mpn21 zFog$+0h2S`J%EVlEu;7z$*uWUgvNeFwPzPvrfPxOh{ z6n|W0hA+6IG-~SbY)_X_lSY?UB&!4N-~C)_I6gN}MPm+#-Sz8OGeLiY{Of{G$hEVR zv$6cD*SUTLm~kr5K?*eMlcK(%sEGbZc?>4{dRp*}%xpKpSEe`r2Gx~Llqg3w^(_`4 zlHXIu-uIjGl6eHZfAqKiqq#$ ztDc`HM68RqQ^&$6xgi`$TzHer>iBx9<4{93d*#Wj{=!rm&B;xL)lfIB@T*pt=|i{S zbqO%r^F9&s{8c@3uT|c!%0ZVoigZC$-s6&6DI$UxFw}ciN z+a>VGb9%a3yt`lKp#~h!-=%Ppvzsj1Xs4Y|fg(frGy{^rTX4Q_C1^5h{rQ2$Q0f8_ zsKr(<|xu>tI!bfBE~y}z#t~}88j)D&)P0IBMML9?=+E)6x->=7{*{D{Smjq^T&GX z0QNmfmY#01l_6Zbc>7qSd(|UuvUlg25NMY2J&I{a8^2YRdSp&G3A6P>bCcd21yYay z>D7De$zmA^gxZm@-~ZY1@Gfeq-Y|B6$9%G!oxSkV^P4`Up2awrVbgv}!Ftk5*v6sV z(C#N}@4J7Y(~tQYW5ct+S)|vJFHZ9&Cje0@!F!;{;=`t3cn86(KIe}F5loxEsP>lL zGgxdT0cZLp`P9|876=$p67Pu}NZ1rXq+c0HzQT~`J>MHo zvu+x-vu$$h7z@ZOro>OgY9!-@7pVhWbgrGHUW6mVv^I(&B&K^{RYPQ>FtX!34_g>q znr`4?Gj(f8IiMV{f#@?!^>cTy&l#!qRoReW2QZ zE|o0H;Uelx8cjtTSW2sKe{GJC&0c7ej_j!?UL@Brb)@He2jprZ$hzR;7^ z8p-5-6Alzy8?$Ba*R60Izev+^X%9^cWp;Lw*$_Q`Y+g4q3)CDN`{DCd3{DaY&o02F;r|L!wowwYyXl|X+TqT@k zGdE%7wjP4K%)Z4I7k%OFpIj?QYgEi zOjOkD%2RM``4GBaq_-@zLse!Xyh!c+DHyIYgj|3v_2R@QOg9dC%MIzP*B^w7jKw25 zZ{SAn%5$pjEj63gLc`o_u;SG?p$KwGM^IJTzQ~(Sv+-VO))VYeBiMGUrC8w{-rZp zx9rFBd(%0xEp>2)F}h$(7B$W=0&5#Uloj|jl!tgvA1*$rB>)j zWCOo9Y+TgokeCQnu1(|J*tT0Pxwj&$4*36fB#P9*SDBFeHpsBJo6epAL&JO z*)HPP!UCRa8i+tKWsh`?@qg#keYh{xywRHoCNADiHw&2ej=HG2AWWVYZ~QEMrhB)` zSiBFw3Vm$ZZ94B-I8}f2B;HbvO3sSy-8)IzT$~#na!ufE-!}*!dm7y!!59&G>1MzT z{S0|{<{8FXPzZUU2L4xZg=mJ5 z3>g-BXh#-20%xweS-B=Jn}*ko9=zfMpVY;^_S>qwKYKhRD(M7Sch<>LA{24*A3Npr zc>_zRRX?NjBF0i7Y02k)1*l1r-;xB!l)VO*IT`f@7sVRQOl}{qCMr>=!e!@&^%);Xy=*ZnrN>f|C;06XvYJK z`E!e{^cI{c7HBqnH8=0L3RWCQrDeZv_6xYMR|z!iTa!*P+-W3E8pmQ{ngcn zG3VQZS6ksQ7}A`q*}wnZG&CkYC{r*KHhdh~TzJrzh7IEE$Zlj=yT9ccd!6MZvEH!*tsPjjD`Tt*Z; zib^S#hHvlCy98(Elzc6aU~(-cU%X9^wDL7!D>eOIAmT1hqjVFfh=cSPyp+zz6(4IP`RD+m(9E z0bSG1c0YZq&OdoovGp1}Y_8%~1@Ja8(DpI+qF}-aW~t$17P-5$=qf z0K66)TJz?7D2a?fhN~9!jNl{f87u22_@*f&UfLr0p1 zK6QP*-~|1v5k?rMYP=0)@(Jum13e&qmn%G?9jdS#_PuHe?99_S;E|d!tQxr5eh$jq zFQvqrQHt~pw##gsjS#1Xa9mL$KHJR~^PdTBRHP%`n#$!NAwwH}R5_tSi9U0`Ce_uh zV`i%x>WpX;*VYXbwrSaoVgVJ`t*qjP%BP?dElCOSBgrCZdES{c>w~r*{h?X zl%lnxt8f@Ovpy07ABS<8Ab_9CW+nRVH>8N_*PW8In~>WU|HvX?qq;SjdG3eZLT_Fk zSr4XYj1v@M?8JCRTBfO;pKS~0_}V^$5!_ADV>Gn2eXsKM4jZxgBmki)M)Op7Pn6V` zHE|kNB;->;OtbS~_*7(xS=j!#n$AQvuChl&@}$zTY36d0*1+9<)!jQ5ypAtL80BfS zY*$8j1Rv#PL0H9BIgVm!>fYT#rLSHU?^5+UhS=2ROL@v~W41#S-&!l* z17t)*(o?%BvS;ZqrDmdpdi2{Td|&PxYddP)&4O;J$;rQ0la-ccyw262S!uM%i4|11 zcw}m(^DT9zmyAEbOEE;Xp6RM57MzW{S2TjIZwv3L)~bwl9susl3H}USryAr$exfli z9|{HuI1L6$Yb%cUp;FjH7iy?7;?7B&Jp&Zq$7%XUrg#+sgvjLBA!BmGrpf0&zb(-X zJP4$xr`7PeDxs2}y10MvFY(HgCr)49A6KZloRM)7KphLCDJb;b=j()H#CfnH7*W?S{2<;Xdy7^*h#PY;=1UEytBnzj zo>-!9)D>{-aQ?cz&qgYBzAA1$GAY|!OlRA4d8>jZ_GnZ|@G zvKF#ongPIVWVjm4WRc?}tBSi6e)6|cP*FnjcOBbzQFezOFbpIDY#J>Q`Q@4P8NCd$2lnfaSqLzf?S?Aa#Z+*-!XzzSsL%!7PnCj=7YY$LP`L!p|Ex)YKABxReH14QLMj*J<3Pv=6W{ ztzxaQGBuBsv^?ioO}|%E9d}{y>EPw6^cc#dduZzP!zJVBC+Cndmq|GrrQ`@14!MJ!_zk=?e306lEFwI#o&{1i31K%ySy)C z2TT0QU0_VPLgIe!UFMSos5j!6GzU`hoCG7SaSG>PkqnSY(3 zlP#Z2Q zL9BGv|E|{gvND7?8n zx5~Z*-f3;OBDhpObY>K+(tXx0Hnjj<6OJj6glO_HP;&H~O~_h)#puazIqO4w*^e`8 zdAwP6jrT0}!Vft>iGnB5EOebrf+=6-4`Q+t@d-N9cCM zxU-Z;)n1CU9TN^a>-zKGmYd5TBQss_I3#{q-`pWvL9Bc%?o<86cZ$n;NWB%a|5hKp zy`zzySUrq3!~(?$VIy=oVx0BS)r#=SgS8;uB)i7jFZQgD*On6U{0JMGjXwc7dcDWb zht{olzt*!FKGYw(PU6sJwYm`{LZu~{LnA@#l)mpFFZ7-DQ_nE)FFyVyj%7qL_yohfBaD5!mM{s zOdDB3kkdII%oLo$5WFM&f2^Emld?K3=#xF+i@)gxgNkAUv@?Qj2{!(&rsrwcUge8} zq0oTr>9Wg714n@A`Ns2GTMHR|Tkk``LBT2X#=~2ZbghMgLW%e>9oCEF%kpo=(2?{ zZei#sl5+zb9#W;R%GkZ*J&zj>XGy8B&vZV+eTMsRF71M!3V7b`dMjT4<6Coya)sV< zScD%tGhFe%cjmNGHJQ{uPF4L3ZY}ta0$|UUT9R$gn0|!#E&T{38ilU;m_5)m#=$x` zQ5J0D$A7PIW%@ya;tIh2_svB!c>cuS9tmrOR|e?eEq-i^_)2=45=5xX7vHGYHAitd zl#PV*F8c#~@Gi57?}CDY-{k9|{3%0Gw~i#6)9_;xSnG6@f@A+!6kCq~qONJ6W_I1ntnDju$s1S&K)U+4;Q1nXGQqFv4eW9i3Bpv#Mr zY3A6~@|~dHB?Ba_(MMIRm5j|lwtRswt}svTLie4Ag-{N2AQ?%Qdg238n-D%H25z=` z?NRP(JRC>*Ws8|&;)e~jVx&cSz5o-=@6mFI<<1$Up-DuN)l=JL1=)%)VSg@uz5r(O}WL$dq|;P4bv zcU)s=y@xTp#A7djaN?By$Fr~XRU7WIuoyq1=Nxxqhszg#Z-N=$#}owDgMIZG{i}?o zm3CQjvueJ#gd3-F5*@ST&*22IPVG4rTb~-@YnAD8eqfA^n$v3E)$2U|XswTt`JP=A z%SWLtpHD4OQMm4DD-ovRlTABM0c<2ppQ8;?`S3j$G|v>QYo4i$MrQg%l-J4Hdh7B! zWL}1d{WuV*Oyb#X5Bf2ypYX-8#(98oc_IcjjTTE)wyf!t$Qh?Jg0et;g@`A2Om;GVO$E(L6#t*v%Kp}zEu!`?#`WTLC65$@~HPw0>{a} z=6Q3x7NnL5s&aMU!;^iRYFl_eU0JsTSutsAUtAD)0oP`p6Qe`|0BHYaO6(~zNbC=h zZ6>eVlkC+c%%2V5@l5`GWZ=PB&L_|7TK;bLB9e$Y!>f?+TOT74jn9#cTI?3HI@M1N z@*?C80&2q2_^R!q;t4k|i_mVUQ02RjWf0>-YdYL&})h^C%ft9VZb3sX{&zDrF&)gOeZc(c~*P?Z^c;ArEph z3qLok4OQky7J-TOjh3$nZ#8#W-iWW!Sm)_t6<>We?T9^b_LMd}zu01Xym*3qFyAKJ z-n!gNCj_K3Yu=jSG7TQ7^D^`_y-Y@G3B zO8b_$t^?a{Uq&+A9BtX}O-Kdc?2*s8y|KfgPl(ECzj(g9bl)v>nQ^*vX#0e7@PZya z?6l?Hy>QG@NXP}}pz?WdrbHo3nXZa3GQ_a?519B71A z9Y4LEWD+;jMxHFVIIplgUtE#@5Y{ldc(Q4EgaSnz_d!x}D^HJW1zjbvA40vaAD^yv zf+8a>+T83wm+MnIl*ku+T;5*TZwpsFFB3%kUUqh%TM(JgD+Ao;Y}ww|2>xeNif zr^n6poPkK7$rbcIwAD5shAewQfX~az$?4&B`}o**vrE8_goU*}MtPPpEu2e8@Yb0G zL`Y0+QL&*_Fqm|8<5?-K+`;to(=!QH=(fF8^uSDHBV4b@t-IQ;ojnZ=xzIIOr_wpr zYD@d1h;ZPFauCYZ10Y^_iZ0R0hZ{|J&<7v(wz>J<^$fay@IgxKnQ8zCy*9KTBhNtR zZ>M7kp(nsOvMfa`hcMvs`o0siX9rYikLBo!xaw>$4Z8)E3^6x@1Qt^4pV>K=eunVx z5S`#vjCY^d9m#;2Y~Ji%DuC0s*Zrp}+luv!cSri*l?$^w%GO6a{E&S*{4yzg>LV*n zTY=4T(bmWPofA_ffLG#;(_+!v)4#HTvVf8Q4YzIOcIDcGue1fE$oaG1~i5;=C04ZmLI zQ5tk(RN}eP0evC>v(m9aWDVu+P?C1lK`OfTdZTpvd;y~|@pOAXcXdHo!0~|b?))%B zi5JVq`F68*fr^q14|;aI01iM;CU42e^FXVYtB38y!A4HUM(G96s@@)wos%inu#x$E zyV1dz1L6+#xwNna6?_D(_nnC!v2&c)E-g}9262xE6N&GO@G)44x>)OWY2J4Sq0W4( za%*OdxGzO`;r*d{Db0}rcbG$=02FG{+f>7@^9A#C+P9ms1r!ay((D^8{aB;XwSFNA z66BKUXMXxy6~ukDV7s(%kxRV|20kGSwA3SUtFIO9vXY zf1MlXE{QaRV3UpPf0TvZNkZu7!3i^D#tvmxU-c0U75MsRR8|+@9K%Roo0oteFnK^U zsEMtCzgeVPYw824mb{&LYsrfum>+1}#P5H@v4si7uh^2+EJ}_4kA>PH1SZST)6#(A$irrFndUij#mnCAfiUF}x*J$l`>B6%O4f#>Jv) z19ZO5TYs}-8uQ8 zY7ucIZ~ZDq;_yChhnnc{Gvp!EO?*{?P5cxnPMo!v^|!1y@bSOwom|S$ocY3&319_w z_ACIV0RDO(a?m|Qn#Iq`DzJmgac@FRM7z({VZy1W`&B@~nhR6fOYtu%@~LGAlJ9@Z z1HK38zy=`QFrYkZkNBQU^uw34c&rCN!Y~rH@_IjR9s@QpB?Xc)y9F}dR@*%bL@;8-WKkNkLR@NE;=^hllvE9 z9OTKn*|8ISJMgh=i()4N^ZluLiiA zvPMTuDY@A@Lc&^d{edBj(+dR(6$U2gAp!|W?t*}TkF)7v`}XjvEq3MwhLMO!pc!xj z^_IEOv~b5i6$O$iI(=J~|Eqa2@GuY=ks~!FAO zDytZ=kv654$Q9c$PPD$$=w3E34qiM_JBxxXit*EJM!y@2hvDYVl%y?`uiNP(imOYM zlQS(iNy0@`=tI+(OZd`}vyNYnk>=Zvi#%0OHH&(v;nV>P2GJQ20}Jpp?hnh4Fm~X7y#MQKU)zA(Pu|vt&BMp8p{=g2P`{o;n?B9r zGrvGeyn<&80wg#s`k(L{^P-pDYa)#^Ys15O8dBL@H;wHw0ondKoM2ptf%lk0&Fv$V zKt@fdzyVhaXNzNK4&$7Qa8FIB(i?6_`)WkxqSK*lYhS)_32~D9qNq;kxlAzZQ!}0HbWqI zcXxMpg1fs12=0~uA%yR`b3f1bzI(5=*Rg=%M^{%5i<;_ls`@(Iy_;ZRDY`w_5A~Z< zCK2lKas~BJvapck3HUlc4%S-BH~LSR|IqS`WjJ9~`94Wp3n0<_8M(}VO_Zunm);#^ zPL$EpyHfL4hQ0WNgX3YLOn+@PtEs6uU1Y5}gyG!^Y70AGanG%KM%P}n;k$5Ax46mR z390h8NV^+klx(dExJx!QOq*z`xun<3y-VI=O9~&1iz!rV&0iUq)a0seJ%=wcZgld# zD9|grzF*hI2R^ovx!Vf3>aA5@3s;#9th`B=Ro6E8QlmI^0_%AXc8Bt{82|hwC1HyY zX)v53z7Lgq*>M!FWc^M)`hH2#dy{8x__p(0Ab@EVt|Ty_(f z;t@JTyCS3_!4q-;COlrZMvG=>B^Y09K)VlrF}{_N{nff>lCk*2u;Af-KXm9dK2NyQ z>-iuZ`0gjoq6~CC{a#>UDV{&N-5-c4enpK#Au_YlWaN0YZkoL`^UP&A5owsOY0bg8 zqHM0P6WzGKu=Ul#R9?T*dP;rxzuu#X4VFgLNu_|MvDtgwK$S%QU zTBKrj)XZU9@yt_U)mi4}o6C{>!5@G7782&>Y*xbO=c6ec#TZN6i6o;+(ugAQ`EUzo zLE+Tt$Dmv>`IRie8Wq(=pZV8lCBj*{ZH-;5u_Im$O$Sc|7s2IRUdYv4%q`oOZT}B| zMk-b9sfWV3Zsv|2k%$Fu^Iv;X5VSlYCEUX@Kf+{kMAuu%DtF4^`8Cci1HFek+h(EU z=e~Wd1nsV!@0CdziQ5HrU$%$mIsXOl)gi4 zFM^y#huaVMjYW-d&90V?(=)YH%u;-c5j+>Y-Ydy88EQ1AQJ5&3nBT^uFp;b=Q%c~= zLg!zq6t|SroI}Qg4q}VJW4m3;{J*>BQuH)tQR|5ot6sL|jqrrM=`53p?mMb?rvq}aE!Q`IK7ojo3H^x!_tEYcz(}o)80iX&nqE$IA7U2>h|_F zTYU8-ms{c)b3nd+*>9&PCUpFTzkN0T_)#bu7_$oX^Ig(3&j<-$F!ai8ecE9~&4_(* z&>p&(3s0D{gp(x}tG%#!tUFi`+pM#6dRh3*B}}l*A^Nl6+Uou@P}YkCJL+74>~W`Z z+1{%7l{sWZ;GCoehr;QmRQPVt+tkAh3RYDd>*eMu{`jH1xV-r0TRyXtGDY@_`yD5q za-LM&kF&KGBjvfzQ|rBEJci%yhi>wBr32r}^ZO*;qe3EC7C!#r++0^^4)K^2`SUz9 zan>!0HG;hQ8XK1%0KD8qyjvM{yzlvU5Ge)z>dLp?9A?QzS?KKx=OO;{1iU|KJH;CT z{Csa?@11ANbvdY7~nzh#hL_>OWKtZ|k7%Bo|_E;z&I`DX}2(HT7frr}9O>I9)VKn*u2tC>3y zK#c-nnkvd@M~{>N-aKinMSV<7K8uO|S3yZEzX6PSf3SS+3}pM{J#=P`M*!o`^EC@a zI=Ijy@_mr?PtS`in$Y+P(5ygn!y@&WoMcA(&*iqt_#wMj0L_3i5dn(+lF!_4%U1nR zU9}D(>37cQ3T_4r{mg(;+)cD*v}T<+-6Z*zAUw2c$^k16Ox|i_D;*9Mt(6v8r)z9)Z6RjPHd4M-%0Keiu`PrXTN=mhDsVyDHgvx#UyjyITz z)R0F~!QqME!Bs<;=&;^u<|dbL%Q_@&Qnt$4CNEP@&A2sMLi~@llg@29`7aM9;ZIRK zW!p1>2PRPhdegbsa&o-24-NVZ|Nq+7dlr%`PMX5=5}(fWyBxnk-nv~-oeSTms@=bG2XqYcfM0E z*`_C~IkThWgq?JfFF2+yTum}Me+2lzvHdoG&JCPi$4Gen@#g{jQn<`g*rvW8rzrVC zl&iWrQ7%SGsGy%fg#_|`K%p97U$hn@u>MTZlz{OhlujAdB%#Dyg=22-pb)~Jxvn8W z7Gq*V4v~~pOCFasQbKR7L$iGpy|=qDE2gN zJGvgtUL){0eQXidZ-wnfzM#49JAr@%GxnpYJ^*sI_gROV|AQ*Yey)d0*m zw|cXsb(GcvhzHQw6Q7P4xr{LsR^wzLt4N&TnF)t2DqDgJ`UVT~G(%8oF%DVlOe^)X z$KUkZ{xpujm!u6v7ep3RM1@vsN_+whNlJr2fJ%1+gN9}|C7J5_Z1E{7Yy(jtS`1d5TCx$>_DTGW|+DgzQP-Xw(`c493%2`l1GOeaMljlG)h4!)yJA+QiDPz&10bYVmYaW=oq3rY!+{>= zULs(yh`a40mIUbn=!B-?Up-*78@>sziP*f!*pHEYwILj2Qt9&DV08xP10OopHl#wohbGP)j++DtOvQA#EL$*vP~JVm1o2r&0RkswyEANuxy3NnH4y zoOHM?BUF_ctiTC*rX^MJD&CWH>JNOB+PMnr2}z4;*mE6B<5V?FyN$5cB&nLbu=m|zl$;}PC`4l z$kG#t;e;(_sLW%gOB7KakCpaOPOWq;r}a$>|vP-M@`^ic9gDRmVk zXVq?(Jf$tYB6v2$^~z6u)G@M&v@E9Cy(($%k#1g;=6PE90W><&=%&WkzUymt2UlU$ z_Hle>2c)*o_KRl+vHu_ z&ly06mQf=X2jMG%t$w&(s6`}p7v7OrH~m|TFP-jRa~@N{RsQyniz6^*q52k~9@Qiw zOcfrety$sV*iy(dSmrC30xzU?W(a2DSDm>spx5c}yhh`eHG>zo^r4$xuhdItUb;&# z8GpQ-Ff1EkZ+`Uv0sKU}aB8{J|uy zPYScz&57OyhClfN&(vQLh%3`wLOwm59NExxg3*FGkQCsl+@5g@HRcs83A)p#Yl10( zi*NRkmz)m;#23bBLU&w2*17wnV|Bn>sB<(h>Gy4NJ~Gq>@jE+PFG-&s>ZBL~&rsPY zcw{lv6nDJCcd=HPi(D-QnC{$BN^f#@Xb56EBGyWX1k=46Bb3@2yE6^h;jo>*w7YKm zqlm@@nq5rCY zqs8_zZlkBp#~QTV;Mm{wI6&5gFnsBv^-w)8T9*8%j;rZ9ZF1G{*Pc~PZgh4+&aiE%v~A$`SUSJ% zeD62LJn&3g>aDOaiMp~%?hmqwb|y_svesnU%^KAS(3&{-c%Tc_$t&P^$2-2$UA(*QPtb#;f~=zC^fx5W@!A`{5?FAFOK8vHZ8NsEO@=`& zb_}kK6>X6K=to8L_WKr5DAWT5Gw-V_bPh+C4Srm!%XfthH1#77lWi6?m{4A^*0RQN z!->L)|AT$_2Z`4Td|NG#Mg`emk;aWbtNx=c(M;c=8gM+hIUZ<9lqWmqmpq@JXYwd(izothZMTt`xqof~U4&nyI=x zbZVP^{oMK6wN`{SwI6sbwS8AFWutagm~zcW1#Xy+tY}VKBQf`$`d!wJPv+GdQtDr= z3AYJ+pIUp-dp;7xu3unuo609?Tzb;Mbfr!;%76Q;q_=G&$-DUJp=1l}v;7u>esX}# zIM9xGKU3T5V=a)mX>Nj+bJ&kICp}V9{mBr0q!h7XV z4=~-G>?-DS-_PM9-&^#&MfXE(zX2h2xB zvqbfYP&-80m5wFJQ1b3$RB}GDb)?8-C|*w3n_3J&3fzF|tcZa+o-T7IvM%IpL$55>UT}g!|zqUwBCG9%oMXk$fT?Bur=!L#*Vqn zlU#KQmbAT=opH`*EOOIxKQ+jPvTFFAHlGTjHMNidpUyT`&r7ye(es8q^TdC>^xHuU zS}rb7G$CZ{O5$}SRklf8Y2$@u#m9xF!71Lt}r{4yRtQVmb+v$yG6LUCO04hLE93F zup;WAl3UcBa=Rhf4#Va;^7Nh6Q}St;)fM`wl+`($JCxNv+|w8>1p@@m<`EEdUcg_W zl$Z;J6X0Pe-z7Q6VmO;7P;LSstS;B7iH z0uj+xf5e*Tm#eUOpDYUcVS|bKaRy-Wmz?FQFbCY^u5MK84L>e_3Z?+cHh#)|aM3TQ z&Vr*Z%zU%)MiThE5h#!Vp*HW;9VQMCv@S{ zE#&qNbn|TVs!#Oj^mske6$N36PCC+#e9KjYYNzJ@H~rxiOk(Ra_wA7#9Zt+{mYA7? zKeO>zKz1*l>k8fy;Zlk9FPWf)iC$11QE`(f#vS!VA8K!_hx4+dk62x<;(Eq#hskXm zBw=2`4;AzMtXFxA(N*SArvTQVSGu+G1PoGnl=lP)rnzkk(3uGncYa46p{DLQ>lczi5P!8;4DSw^0_a&u^H4Xfk=ZLKPRGZ5qqu^T78>Th7^$(8u z#T{13fZL0X^{?t7=XMm~$ z!vManpUaS>arO8Um;yw168rE>_fq7X3+|>y{R@J`;ahG+)t@@YTbQAK-IE zt>!cR$0XTm2U`%9=oPA2K^Jlpp=HkhnuF2~VW9Jpz>e~VmNcp4iRMZBXe;BDqq0vC zN-uytUKk405M8TR{c*Yhelu#|VM~SYXqo)j|D+P%CbUm6Hr|9DYfhmOPwxgp2pi*| zwE2orx@Y!o|4?!Yw3pxL3Yc6T>JAFo=XZe)6*bbOHeaLq_4CjrXA@L!Q0J`U!XA>) z^Dr}1w^}wy7`E%q`%b_(OviHP@Gw1Bda|U}Y=xg}F}RVAzhw0j(C((6n-<&5P3ErJ zVK6CP%f)TIFCn4a;gT(05KL%(lt@X&(1e%WDD)}O&|_hRwTr_LiF4l+ke+or^f0J* z4=~$nEegR=p6a*v7`LyS14NdIFfR#{hS>W4@Z zr+0^H!Q!eTf8;9yt`jPdpW70>c#dK{y*_OcD4D}rC{~GpnE#_uD0vN?96B*@*s^(e z%Bw}(!VlHDavMT^juNFeW)ao!k=FjP>!C>N9+~{CPL?3{x+e#_#}Q>RGbJCy*A=?2 zN$-e%4H&y#YUAr;9co}t)7$IysLs75Js)`M;{)fo*w8T{mXZ^tb}&eis3`V!OI^I#j4+CD3sb~(@CvTDq_Yg1g9i3Xztf3m|0yvz!U zHa3*|rf4&iLO04zC_ChGXq=OLmLVeOH71E6Gr--d`@fjLOzjM?YvEJ26HeHg77KxO z5&^9xO!7?_ zX+cHV_o2^5*1!0JA=Cs}CzTBMehSoVe=~*%1}BFePL3dn6-|q!`b$%y zuqy6vVEiYzF@X+(xHr@idmc$O-&fx zX?bZN2EJ~4vt%=gqO^f#;#h;crU4HW8RvQusA)E_h#tkx8Q1R2^^>M#>xL^=p3o_cI}JCF9o~?*J>R>o)VRG1@DQ<$J*O4z_JR!RiZ%*YZSDY=Rd9_9s__4az4L3)WUg82S zv5vnepHKoio-?)RjF^l(gp3!nq9c~Z|G4{Qn`YLOmz4+)1xb3gIe?8Y19=+8l46Z+ za`|D)QlsKTeXcxDSuo!>a3Qql&gWUcpF{{XKVt6U%iL0axMILKS9{u5p=Ff$rl-#2 z5z3tphj@5MNH8#v>icIm85uvb@s2wh2sCw&2LTLw7;eaH6aVFpCQ|8&p#F}ZrMj)ixi7$rEVYGM}x`J1bYaCVldLUl-|4uh_vj1@FAQI|L9io_(IM5@AlrM z4euNA2E8vmz3G33^^JTRxd{(ONCDva_O<+JtbEQBb*pm4+D&~){Unvrw|ovO-|J~O zxX8Tqy5o1(?dR_-xVzK(&&6Bd+n;)09oW|eu(gVIw@pKt?!1~tFz^{DFyv7#Z_c~$ zXD;gG)yWp^~X!UEN692oladOg!gF!EO~6YJevNGX_N8SK8AXr2_(TO+yB* z6%?S>KQv8|flc_*3`6-bZuSJ6xh6B#TH;$O;z@o+3Og4Ay%@7kXOrz
  • cQ`Zi2? z$Dy4K?!)kqHV@mdQcEQGLS{BGA98|%f(kIf!O>a3Zs_|xw)3%Qt`>;c)41_>;FcK| z4A>GpI{+0Yc}^On5-KTJ2tWg3xec~r@@fl=D5#xyuc|joDa=yMa8sLZu1`#4g8PU% z`S1YAL&Vr&3s>A|f1bfBq2Wt;mW2SfmO(l9w2q>WN>E7Z(e7oG`HyjWH16q9!VM-+^BC3dHk}u8iwQ zG5s2QrZjro$)&)ffrWpv^1zkE8{d@5IJiAt^6vh2_0m<(oR+dJ3ClF(tkQA_vE+757QjFzdCMYXfsRVz-f^1}V|xqS8d@k-rjn4i_Q?=25IlJ_tvjD{s(GY`<6| zHVtu8TjeTrRPpn{Z7s^s0+hnpFu}`AXrW8WXmW01boDe$x6L)-uGUN%V=-%dMR{qp zcva_c5YxcUv5~lIyhv7*US@!^7QJ;e1^a@kC}s!7Up5g8CKA{<@d%ILR zNSxO1RY;J<4!_ZFic2h}$jqZlLlu=dij%~SLtZ&c5YUIv0ZDxS@==pwatSmV`E%K? zD%H~c(!t$f!l|n+?dza==j3kj*L6+5l_`kPt4R5?Bvpyy;{YZt}9_>KPlLl#V4d!_Fs(Mq&s7GAQ(W`L1+h8&o5afI{oDMrs3ul{Ew5; zWH8LXVi9YgD_Bd^Ah85tpgkdE@De9gYl?Iv8>3CJN9dz93G_t%GrV7OkA8VLZbUGg z5nPk^i?4cqxK6*9M5$an`?2Ed_K`=p6^q_@Y-M1n3pOc50Z{k)WqFC)-9(*X6OUCO4vTqD|L}``2AuW z>R=5fUCKPq7|GE3NtOiw07OcRcqM0)LG}Z4+!OO zKhYw@YdqCVrav!v=khN6RfQ#X^Y(STTyJ5L_r!L2QR@z4_rJxI)_Cw61QJi<{yB2C z+1sgl++=Kaw$7B4WT2t{sM}cefU!mDb|$lS%Qy?L=6*nEKOISkkk9!fGek_zL~i_- zy`K{Ohxa<{jQD9aD`^VS;=>xY%`Y)I2yhdeIa9Q!-ZG52`~9L=b!cxTY{}U3)sqnF_!QtG#v7&Ua%Reh#+Bk_dv{Id&R!o zh_x{%Xu8<#nm$kl2KyOuC@~q}2Sls({`4rV6Hdxn8g3M4R11&geAI!nUph-5a#K26 zq)z-e0reM&IttkTy8FJ5r-Q->n+7?R_=Jc1-<5gop{bMjOe3oUB$kGm_v0)1bf{$l z>|N|fE`ur37V0E5A!L;Q!>ON4fgnWuy=mamy3}xo!9xko#<^a}F|9Ns5)KSvXn5tl zjGDcIF5wU*U2=&b7aLJ8uphqL=u>mTKii{E5 z1b~N=7tw(j#7ID;dHV#>1P|wm%Lxbnzv0KhsL{69WyILKBg`{QmBPLo)xc}a_wJS` zR3@RN+-i!uNt8sH;BF+VxFwhvT@DsOAWgDY!bZXVM7}}W5pG_rVv|DnMh;JH5r3L7mt8r3{6gut@F%ib-jQqhPTg{s;%V3LiBBrFl#gNXN zylEsd5EGVUQL#`7C}3)StIR=A35sC50LBB z5XX4i%%4ILqzVKFp|h@{O4(C5yF+R{~aL<(e@lTjc<93U_!zvGf`h)`{S;dq$XRPuT~GHi!VE{_t^w@q5qEJE z`T&qQ#HH{v*CqGLSwp~j)fLobwDqm|o0M(;K`dQND`?vyK}Go8Ho-RLyU<3)bELT& z#0LJ%M_L*}vr4flI+zO$eMWqlwh@(V`{*IgjWh+r+WmP&QUr|GFo`1@L=Cse5nn@8 zmS3tfjV?+O3LMvmCU+^3?@4sFCEVIeA<+aESUXa%^FLU)&AfnDNEb56{3bu6J1gAe zhZXylW=5mMKL_%Y^8T`~pILNC_T|$^pOf1D7$tGP%TF!>vKvnI(ECO^S@L)0Si zWnGM1rW)CXiOmGqtC`_VZb~~D$gI^<5yDg3E$mTm>%m-;Go+GHnI*C)o@A=v^7T0J zN8ERb$%)ExA+isyJy>5%b`E8^wSY9@tJP+Gvc$#o;WZ%rWq=r=yD>V+t<{!lxUpIf zB`Mtyn>;pw>veBCYtsPTHc9=pW)j?Z1rq5Mx`+NQ7TO-bePQ_z^{v0t2`IVo2)`hY z!tk`oh)L#O8sv>Y^ngx{fbLxuUsf!nl} zdCyingLw)eiHe@vJaYsZX7}b1_lN!)g$d(S6!|{ z?P8#&TnA{dafj~RS96_KN zNQT;quw>-WaTHAR@XzkY=WR!uUAOGt_GP``6%XcccKq;P7n+Jf{&4{S`5@|gkyvBw z2@P_AGby}piw3~=b^|cX5uVz{ID3eY>psV13U|Z74!m?$J@}(nIN>tWgzo#7_?A1Q zzfihK90Uv&he9gmbL@ml4R9tONStE4Wx{9blsA_9sV$p1^UX-u)vUdovjF&YoW0B~ zkk1}M%Rlet*iEo*05*MJOvQXBaib-(STe(O2B$kk9`2;kuOA{hBU{@h4=CR)#o@0%I9H zsm0aZpIAcoH#P>lr-?EZySFQcv(`5GNG-d<-0KGf#($Dz19h$++ilXeY8Bm1SpG)MbCNI_z+ut2l?-{_!nq?}BlS)f^T zG!BlBF3=6Ftbfa!W&iQj53w4yyeAsa7#)IH0;J==M)~HfT+Cz($MPc!kyif-U)w(> z{cN34|9hj;;907@oT{KAdqR>L*{Y#qZext9J5x8fTr2 z*uV$=G5lt}SvxM_Fs`|Us>Lirsc#uV>jLXw@@pLO<$Q!-0*^?jFps~Ci`p|zGg6(Y z3QSz7wBO}uwC^R;n;V5Wkq90nijMCr`Z^1U7ApK*&EO(X@JGqwfknEw1Zd>KWy&OC?S0M7l=nIM8(F)@`6 zW!bNwq(nsqY3_Q*42}nu9Fq;-50>$}L>d&W4ymLdIE>5Sd@wq|d0ybt{u!bi1!*gy z_-T`f719zx^#Y6t2vQFUgk1;A-o_FPf|)<0)C6Z2p%zAlsQ~Blsbud*%9v0t2mfcx zBr<4>>!K?dK3Q^17bIvJgGUlDnEpdbb1=}5Z#ceakf!&J!LS_0)F(KeWJ?U=>+6Kq zhQ7@f9pN$!2!hq!gFw0qec0Om%2oTNRo^tI43HMsIa?(4(^rVsiec5+{xN|k)(AW< z&j??`u!*)e`WfDN{e3D?vSXqAEpKIZFw*UK)OIFjep}$#Kj69f#fZl|IuWz~L!%?b zQfV7brX%S5+>uSs|pfWb%k0F|di(5|&UPp&ShcVzYqD3AXjUb^|HZj|!-G zu2|yqa3t=0;o|A5&N@TC!mtk`2VY7&S0@T)b z&CST?)NE})?=$`A9$7bN56xV2L23_QmPUM%qUkPm8x>FN6c@z`y}5_&lM}qNXeJ5BgIj@b*E9fjEjPkhb^i z)*<+;$;pDvGYL@>ea9YPH+eruRCbz0`YY*pW%;;(QfImNq*6TvkD!_+ykbb-fzHM< zJ2E8=?sHDW)o11{`-mtgh8dC)gLGqpK!4NPfH(4kbxs#F+D3$W}t$||rlVzaI{KCr4|Tc&7)IDAH` zs}>dUn1cW>AN42TqOz4+PN|^d(^pq>y)`LqP}8BS(fF<u?$7!=3686S}*X8A#aNU+I&X8 znKbBZmiWHr&&l}6_}tSFiQ$+eOQ48AjQ;|U3Wkbz+(*BFBgmF6PEtc z+DX#J`ULRdhri+BN*sgnRN%-`j>FVGDeLW7(P8pyP)`qZ?oK{eREgWt!~44uTd6Jy>k6DUW6d(Rnu<= zT~_^HA=P(`*v`mQG3T-F*{@DOo8TZnjXcJ>=? z-RnT$<=2KDT>t&>KkxVU*DwH!dde+-Pga^n$`4d-Ggm)pmmrDk9zV?g>{KYVbhn$aB1<00lYUBX^B18B*t`o=W>rE-Jffn*XwdZ+tu^#(fgw;d;VrWM7qd-5 z1!`){gZgBXkcf8BJNPq%K*!-n5fZMm`GY3s!o6$?NTevmUPIl~Dq1eHTK;G@!fpYn-M$3-r!-fRwuV0-N%@?J(jHA0^9RzcE zaw%cCHDDL`mqDbrc5w`-kHLLqIxqbs>voav^%wIo;3d~1kjE9*Y^;8^=)t8!4JjNX zaweH1)bgcl7yWfj_LiC^2uch9x8bI1k?{(|gK08aB>QX{VrymWmss)14l)ZB5wDm{|*E=j?0y%F{u^lC(kc3w;Lve7oB1X zKa8I~?Paj?vWnS82M5N-JE98w!2`C%0R{hPp#oIPZouXBN`#A03}k&%FbXN&bjjc= ztaNX6Od}}&dul`LM(_T?;HmDEAVNAH5qK8rnksl6#Q&&De2Yp8g<#TP`L#JSHMVuB z(PL*SyqzeZwbTDs=qyI5NS1-(pM53I=w8yJQ?lqpVU5}PIz7*sjx_!b;tnnL8spZw z(A|f4z(&gG%y@G2YqGdKVhfUU-N-qqIa}s{kR0w{+h{wpRx@ei9*%g-)T0Y7c8=Y2 zftI^53#9&pY|ExeX^15B)Ek1(4lEcmPDz*#<$t>%~>d(%qJ+IWYS3)%-&BoJR} zX+Il)Gl@^pFSGA_Mz=j^Gi7@LeLnZPoiO$OpCjEn3004<* zcG47S|7d%XFULv^a5#3T1e)1$;FLl35DDwjd#7MT$lUCZvSb@bl#PjCi{K)*?Vw}! z{ztXTvY&%ZHg5W$U`i!g0vWliDi$PtyADRu7+0_W&S^^r1NOg6wGLy0VTf>p%Ups~ zJFqxgpb6`LJP4A+hDOzaifJ`NXF(>&6)8?yga$p=e+@)BK*cHbt13=F5{MR4aq0osdp6i7rtTar%|=q{ec~AgZWU=VT!m=*;d!$m z%fY)b!JrG6!8q&RkdAjRO_LbNoxuGwd2S|pd^BH_sdQrrt$IAjjhdwSKYt%};W_Ex z!ZHVy3vuTrH&-EswSg7tfEogbggneGN{;^JO<}51%M^z#CPQ+%h%LbEW+@Ygaq`Tr zskqP=s!Ie|(>%4c`QV58X;KEIA9D(UHy5%zi@oV-efXj~*1(>=!vP=kA%rO@N_4qu z{H5-j-HVl3nApvcy2Fg7IDS?*sfRti%C7b}aV2d$yBX|luTf8P&%R*@C9V8sM6zG4vIHY}CF}C0oYlucd@{I&^<<2)Ad7 z@5nO(@$1W$F1C2K4VvWkf7c&cIpos|D6^Bd3mf7}e<$XMsrtEAT2TpX{Wc`V)*dr2 zEvvA<y`>m!D|q~p>|~jEdG!&;BxvaJ zYn$7B8@5R6Ke4R#MyV2BxTG0TF!20w-Jj_J!iBqDw~e{my2($5I6{@T`@UcWlbV8; zP4rDHGf$MI-#l8NfrZ$bs60uFG)Gs^K+apeFs#x9u-*+RGP%{6pEbSs9)>M5)dijl zox01Hb_qjJUsV0#LW5I8UPeA&U?Qop)}6BnWvs(uxt zm{I$P1rdIlE>^L&z3~{|hEsrDYN4)Dui0W9zrfIV9)ASWnX)sQHOLgTz9|E1>8MTpoa4+g~INz+?`5sGAGfH_hq6 z`xKKMfsh+@_e3ux*V(ss_yM1KN(!8h>;`O{?a;XA6>ls$^wyEwpuOfRE*QWv)?ag3 zFVQKM90Ua1-n4tb{(gi0YAYX)^*aikTNOn&wl1JcT^e3BsIS+xnAISw4?cC_QRy_P z?@4Kb^KTO-y}jaqt1T6*@^H$hrKKnedZL!s$t?q)_zR(&c_ zUN|SN!PvIJ5LcC5^pul!;1C)$rL7L~Lgh-HH?PFBEsxr!X4mfIT#)_PmgCr8o`hkd zeuuZOyVGEsdIzi#w^6&=jD;x|3J!L^R;mNv5RMi0*f5x{jVQqj^U$}8^gji3v_&cs zg)&>;Yzred5OXk;;LF3*2kAQZQjn}~d{t4Mofl|ULN?`00l7u-Thu=vzW|VvQ=hEC zu=lUcdcJX!gn8la^G|Mm0?Q#QTl@F61VDeys>`y0F2l~yGS&=*DmFbm+JqY zVC6W4bBz13NG_oqrpCLIv7XjL7xcze7ct5=c>A_=Gs%q5NkO%l?($O;pQee5P8(oe zY&@A1TUAUEb`ZABPqh^m624tTxs|l+=9-*ns~FV3*b_VhDM_$)QD!!AfCH8)RZ6I0 zvqQ(@V6|tzN!F2OkTl1eJlDUHIh3)%D}0VqVl-NP_W0{3(@lZh6IkWD!st&g<@gKv zv~YC(Q6m)s$=_D?7_5Td)A`c1U-p63uI30l(mnOZ;bbAyxa)>5yYV2MO0oGpzlqEU zqjZa)@ zRzMrG9>OTd7``7Vg~X3yUMsvl!f&xR%u)_v*99L>l}upLgg#m_2}*+u0YTlt``{nL zJ-<8!+KVV&_m&O&{KH7waN);OlrDAa6D3TPjnxD1m0wROe(5Y>4gX(bUjY`!wyX=m z3GVLhuE8NegS)#+aBo}#1h?P>cXuZ^!QF$qhoEoR`<#1s?mh2)Z)!fio*t@}cF*7I zuT|A-7_eE_tdZfu&^%YYprPEV>+oc1tZ4sX&kVI;^`@>eYt!IU6|Z5IIlr*ascIt! zUJ=C2xG-TJ($qtMGXo#b8QZvvm%JY@%NhJAP`%^VwoIaa0t>P2*9Jkty$}R5CE^+S zC0YVzPxpKCe6~Om%dgP`b zBs!};*>@w6L%*%KBCcYA;WaBXo&Kz9$_(P@q~~wcI?~g#_8%mh5{3+3###m6hD3h4 zG;$ZfWReSgmTjvN334#4zwUUe{;c;~X0vCDE+vvV(O@E`LdP?50=X}g5}MS~qEx6H zL}07BRYhn*m6ZF_abafjA*v9T8jgIT%VlIPOMFT+P^E#SsetVVbnEL4ny7KqKB4V) zJG5y!-hKFqQkiE*Lo%bMDbrO~VBaAYji!}-)~*bCPET3e_xz3_4cd8b3EFv%IdlE_ zsGy*sUSTIt)5t4iIyAi#;ly)_X&zWHK5ex-MI4OR&WxxzZ@>;O zNy5j)fiV7MXd~>i;z**5cZ{RbYV`@+>VsbiIk6q@M<5)uLtv|7NsDFWEkbE=AT6V^ z7ATIq^hiPyEn};u)|{e+@hR)C6t7W%-466!Ju%AlOGr+6R)s?t5LwyV2_h?}sPX$5 zR15{aPpM}OJq2IS)@u>Gnrv7%;5n?Zl)Ga>VSD+WE$uc8 zQRowq;cjILp{>zIE~ESX9B;n^S*aS%5*ca#nngO&YL|sN z(kPsDG2DojH)v`+21H9RjyQF~=Du1u7 zQowde8O)bME{PS|bOjG@1#B2(Y&T|-bzKUy$d{$e^s zE>^O`oAf=B0M|+wUSv8o{>4z6?0VaJJYFI5I+?+-qpb2pJvu~n517{sOpi}tyxbSKB-fK0}X`x zqPw~>i-YdkMD`oHR}O(Ec+lE1u7euOgw_hWBa-yA(72YZ-?hZ%1{}1B?W%Np4bo9} zST`^cnn*hc3FOsa>YQAJgO#8A6S{*A-Yy&aG+mU{2eZx~;NyNm(M#qX^0$Ktjh76O z{9eF>GMxt}Fb|2IiT<_fW|L~G7@*&ptcqk=nG40YnP*whGDH5pbgB_}=qU@U$gAja zmgji#U6lhIlqra6-!%+}UUZJ`N!^ZNItE#;gb_ZWaI(5 zva-#OZHo)UblbEYF4rJldeFAZZl+H^Q|{69_@@8+U%%JVcKpNl4N?x6fInmM`d=|- zex{74PrZRIoj|Y54|{{H-u(`vf}#i_?_UlfYvJ><%iU8jaF$$Ze){J}T)wQGU5&Hn z{kLz{=KR$gV*&W%f_1(SVOxFFFCMd^i~8Z_!J;=f`zaO%Yc46J4JguvnM5?`ax6tQ z_40~zjAfP>RR*YbXb1y2qNx#>$6I{aM^+zs(dO~w)D=CPGvrRBykyhIR?B#J98uJL zl3d+bHlW%n0_H6mIYDIQDFjdF6XLF3P>c?*82{!N8&K525a>uER!VU;+-O1nAt}k+ z2OBp-01L_p-UwdZ7@mTd&|cOW1GH?T->-Xi#Fhw2NwMZ|=oLsOwBl2nK-swWeP z!ioGW@tw>#mau9Nx=e?{!&U-(MC(d1*B=Df;PUa$C;eTd-70#q#Sq=KVe|;~$rdOF z_W`5{*2%86WfpbzV5RB;Bf0*x2u{qSIK2TpV@538f0;b08N}N)Ve5A6=PTBX;kF8o zsU6fbxg}ks!U;0T3*gio{k=U$vPiY-Z=@YZ_P(OJSdCPstPs{JUJ_qGG-e`is_k$> zoikme38hX{f3|>R2D<;{(mFvo8fesN`8`cl|1vNGhuvBzVf^Vzm>l)+^)6kAOQ#y$ z{ymuc3hPsXFQVDI5oN+Hd*s5MyV?XgKS4qin zFIL61vX7?j{a2*7rEN;2C4AzP-`+pd$S|1hxu{YP&1D=Vl6zRa$(fUM1}62SXB*e%Zy&#CAB@nG zFTH9`wq$gn;-*~;;cY7k*uc_GTOCK4KLyjjg-~9nNM{qw0gMNXK=_5gFB(0T6W4CX z#!62peghxo-C6oEh%}EciW5V(^M&+#Tge}X24rr5i zcXr4=a4PVcph+=1ZN_X72h5f}|HGAqW3*atue9^gv}x+PWddnq{(0jP?a}$1^Um-e_&h=syM(lmsGd_Reg>b8^cb+|+_n4y zkko4>nVmB#3VSW;Tp(OHb>0VNA5l1EvZiuIw{{WZ$M-MBc1*qy;x`>E8Si+gCkoP3@YFN+tKOf*mJZr^gjf6{rHQY zL!Gt9)p<%G4WSRe{y2{ARuWSrKLC<#NHFK4QyFR!*=}^0=1?Kro)q215!zlj=B@;A z$k?D?{X9Z3HXW zM(Wf$t5U(SQ{`od5hZj@C19vwlVB6q1Aa+RXM>>j(TD?@0h=>*cGGAsMf2y}7#{YO zqgDs?u>#U}N@#lKJyi0f7?-e%;ob)^6=9GlXjF#PPtw&5r>R-u(m9;+!jj>X={zDJ zs3V0yLXUjS^Q&h225XQn>$Z<>hz1g@8QKz33rsCjUVH0>;#Qz7i1#AAMuOpXu84j6 zHdLow@2jdbVwqA+_2&nWXGHhzb9$!@)6ZvyUU7=cQcJD1wQt7wo;5xX@xbPpug5CQ;@%@?!7i^4c@X0UC&Cvl|FVpG^ zBgc-kC?k*gA;6lH9{;ZgFFmcOC*dYX*Y@jxexBHg*SNuSI#T8l;UfC_E$2yV$4Vdq zv`X#xPq&Nuy9sADyfV>?$f<*a_0olua%P5#fabf*B?Q-Un7^F@KcT9z7nW+R$GkdS zD*cWk{@by06&2*p34mNAhsup;Vv7)$I&vKsrsP%1p6Ei7MY|QMN-$(wSXB!Q$mV`7 z$VGC_Qj#*D?{Ly^H3~PDGU&YJD?Gwie!psCAWJNxRUTmKDk2G59Lku#{)hts+GCzr z#m$LQOMh#IYLp~7&2E?LC@W{t5_L|BS_4V*@#>iY79kEP+~&7NL@M@Fjo(N=j27J`RI| z7LZi>GP*A#QUeQ4H;!cfCnvW|_FX6J!YVzYbB$Y?U@(529w12) z438pZ@R^$i1z=Cy0_J#bhRpWHKx7gq6N6g`pL+xAE0BU*_9Me`;9ydW^bGN zE`{;Egc_D*=6q>iHx#QeJ*T}J*yZ}7&W3|YaTwcCZ}mZ^BC4rcUF`~EMBf5UhjJfo zj7J|)-omv z3?Q!mDc0dJMkR=#G%tEyOdeBCu~`;!Px>LFiZ3Z-H(_C|K@i54{6bmc?T_Vc5^#SP z6daopNZ6-00VB8B(P5#@R>`|1PC;3_BHz%jezZr6)GuphuyDI)@O>2j_GQ@~CB=pc z8csm$4OY$o&xGxc>l>(TvRBa^l32L~coy(%5E}|08s4}1ufaL}9Im=`)(r?D1PcR0 zWxVkZBq3F-K!84}#_;RngPrL^M=}DlpM(@$GA8f(@MPC#>#gvT{Vej-tJ`WBegdf- zSl&HnV0}ERwTfgNQSe;}9n*d$?lT4jJgp~3J#DvSP5CJ9bZ{y3ZId||o^UM$z`>b; zgpYOQ<;2CnbuxH@idatkslBC6is_m;Rhm}rYAh0=r<7my%MGoYWTQp>i>U_Bj|x*= zcNu%v#mUR0Bmr0vH>n94XZ`KZTyC1f(gDPcK{`xfafZ2-Z1#a#?)M$%C8ReEy+frM64Qvo@oxYM+JCoAXTgRibogk^dLH=gBSKDkxevv0>@=SdBrSp(-8_*@a*I9n3JRl`a)= z-Ol%`boxWosat)q_K7@sY1DJi;q^XQp7LIl@}(yu+Yj#asA*PCrmDzg2M-7h>8igZ zcevwT;$QYgW`cq1<=t`IWxVXg9>pjr%dRYX?0R*!q9x|O5(8DMI=VZa*S!Yy^zTX? zz#{5{6E%R@l7+UH+6Z@q33@K-8f4=UPIH_fg@|z@OF~axHLw8X5 zakv|%cp_gPtnO;QB#5ndi^7Dx=6J2jKVtKV$}=$aH!z%)fiItOh^5pAojrIPb6WO> zJB1vI-k{&X6~71!GtUJM#0aL8(H!u7WH>Wx#jn)sDyaMpHL)O6N{Ve^vY17mQc}m1 z+iTUve&kKKW|pTHu;4;29b{&CK?4dK@_ob?{H+12P8DOY^g+~5-N?a|;^EoOsnn9; z9^-~we!%SxY7N2Otl{^YY%q)~TlQ?Ix)eM2H=qjGl;Zuy_)Ao3e`DMb9i!jEJ#1(D zOxc^Ccvg+|#7U381Lxi-*nqyOAP>D>L*oPk6-bqjq&omtG5GwO`PHAZP%|e}Od!+~ z>EeY=3A}=H)JgNop z1H8?Q%bsxN&OD7B5wIBa_2`A@bDPM%TzTys+rsKf)4(8v|KKKnFbI{eKhOPYu9XA zsQg2~C-NUnBTqo51LKkz9*eJjk9oH{hl|=G+shtC3ARY-T2GC0;4Vr_<5Ch=d?cJt z_SJhsdCPQfR>ETO0Sr-$jv z=|WKGcl)GRvqVmYF9un1AwaEt;G`95g*8U7eTu4N^||ZM^lJJi-y?0`8!Tn!$C{++ zbZ%g&bulZ3So8P7O>E~5CCWi~Mk_){-Zwz=eRR*5nz0ZKuWY*4@o57S#!}n*LTjDR zNHKT)o2VPaA5_m%aV+B%$$C{`Wr^P&K&UEvG&Ewm;mR6tH9WFw1cJ3>L>KVLWLUyi zKyzw&h5KF~AFswo@uK4u=!JaK=RKO^c2TE~yUfK$HgB+NU~Epl-)MbEz~kF2=Zd5G zt+kxqcdD*cbEKVtoZK6Z83ZD}o|7Hk;g-Er!F~CQrYpC+TxAGMOn#tmLP~z#*B+X0 zZI5!0x4wJW1^x;Hw6J#4W9{|K2*2IAh&Dih6D?-_-5Eo+u={xTyE+$Zd&XHUho53q zb!vMpMwjf<*_siH&vg?+QG6orLL#-8J_iym5UBmNA-5Fv!>r=-KE7QAWX5is8p@Q{{KI8!p}n zs`)jao2~T_udec@M9Bc&3=|P|mXyP21fQIhWu65_zKOf7r+l62{UXqVkFGM=E@p3a zG|ug|@?091ysB4!)3Gd?yQBS}Z2!sa$BoeOVrr`do7(4%F~=%8=gks={2*0JtnRwj ztoHd@fMk=4GiM``#~bEHXUk8Mupe6~tuQKf)jvXg1JpS5Nu z>DEqztB@iM)@#A*3g= z0<8JoQ_jRA>X^Sf_N=j!H-V10uel_NVQukct5$w7ztInc=`=5C?;~OGQdqg>)J2>D z#BE1dO^|)Mqf0fZ`1s9ubB})r#X3ZJ&WlmNXOONC5q;S*{JHCRSI# zP4Q=eR}fx9xpl;`KN@uP^b)Oh0q32P9KaDvpFkD(BhiG|R65YEP)M?2gNCtc^Qgw0 zSE_ehva~l)?V+Z_9pM~9X&K&qI|doq_b4JzgZ^pbQzw}hQqBKepgF30e z0DCo%bEIQ=o}WVeC#Ru`&>Q3LMp;0!GhwV6~57 zA~*MVSB!On3d=SK;?74##mjd6quLlSq;VB>vE=+CM37|j9p(?26c$KExxU%hW|}3& zo(rs1CE(p=Lk;(hN*{zr0s61*!__w5R7~lOinVrvl$6Wnqysd}mh0y=A8_BG(saGqnPm4;%3#noM?i89?8V8;` zK*i3$OI~BiqK6rZP1=N8cNp#XxiCeN1CkU010xTe5Y3OyEBd2~^D=rLelg{op?Jhq z&_S4rq+5nwaQvxKNy@Tbp$lV}tOGgYs(;JwiK#o{iNp5Pq|V*h5|E0a_tDz?imewQFPj7jIhtAEDq{(qjO^p8$;21%LtQDxV6CX5s^iQK}BVd9z&jx#b%YI>{<1z*x&qw7bBR=cjI;09%2t2o zk}DT&z{ksDg)$VK^P&Z-h$t%wn))F5F{OIf;Y7Ti152qQ$Cbj}Vu$al>8*(>`S$V@ zPowCOa=i)(QQ>zznLU%V*1lo0I%pO75{t=)>1Q%FW8Xph>Aw&fzvV|aobPdZeb-?M z1e+(T9h)SsQI=~*&l3{adU0k2gLXzAMamKJjeyg|2dW{xS57af&_uaire0RrOxQY?;(P zBdf6)%>%v=QO%-uZx3qo*=ARM?}=0FJgMyk?+eYu=uqfeD98Pq>nbsw#wZ5MLghU4 zJ8g1KPj3CS0|m6FCV8@*XT!ZObB)&M-`DQPy@7EbkKqdM3m&hX3h&!Y@B8S-%vyk| zhDlJy9>Bhb0rW1QTkn;*&k8Z<-960P7sjT0&IU&DaT=&N2Rg~BGiEssNPjr;>Dq;- zjDy2P_KqDK9R#KGl2u!x_)5F_20~egn^8+-~BkK%^uV0j<3 z0orTF+glz)WSm&Jgqnhd+6`1P10D8FgmEEAmk!P)3vXSw;N>To+ef2&3rJ~(Kdj=% zJa_L|IxD6&hLjSfWvW2Hp*F{l{rDa_94y&*4lZS^)24-(ukh(ch_&XY>6{Ky{rp2uTMm<#v| z5{d|P*4Mz2f(!k_qSiA30SS-5b#;`!4oDP6#QyFo#TQri^O&9Z59{yy=%oA&0iSn< zN{5)M0p8{=pyfO*P12!=LV*f9nxT#o&C*iL*=hu7m-7)U&6_wI3u9hoX_qP+nwle1 zX}lVv=HK}RsYXd7ro)il!m%|zV{L^&sOeumr6qU{R1-+wkav;wZ=PX+eJyxbmgL@5 z8%xPgr`nUDNK|h(R3h_f60E6U2GHt|!3_>MGaQbu*`w{Z3V*r7GhN`3Pm+VnIx2RM zDb8w^Pv~feL(q{n5g6-A2z|hzQosP0>sQ=Z-}YMa5?>;pB8t5YyA}*fxI7sbAUOfI zM3(dt_EZ;M+WX+ev(!6D6zvKYJ@+QhoQ3z@zHVWpvVUZRmWoMkHyUDm5#W~q5#=bV zh(s_9A({%C0O30&k)YZw+k=joZqX$!@eM(8xQm<)M=>_+jTi?)F1P~py+U?q2*1ii zjwn2${Jz0ugJjJdpLGnS7sI0Q5Rps`GIk|6B`w^P#jfFqqNUUvj@N>B{e(PI% zcv!WEq56wsk3!z_t$n?mMgY!nwCi(5ka~q*?e4D_4N`k2sK=5U+wX5UqJ8XZ1*0+o zQRQ5Ihly)od>xb|n7Bg_56(D-z(e;nT7ER)+o6W8Ox>KvR4;Aswi}NpPBXfQI6Eir z-BtA&<%fr1jv=7fu}M#V0g_coBR( zj6stEU5X&C|PC)AZkj^_>0HI!E1N zO#*!-5vtb`PCl9+AV#KiXPnB;G%ggBfoay^oM@X3x}S#gUURb0c%C(vG%+lPg6Rvz z&$W-0)A8%diF(E;NdguX4`~(9!$P?QJ2*9=9R>rl4CuPsn$a{5SMn6jiiP~bxf6I@ zrw4GL9X58AF#29(MyH&$eL2X#5K(9Cmd%UImRkx2iD(Q__=~^RN-X&??<}A+1LC+- zFFFxF6!Q@*8a2C82X42Ylueu;i#LtqlYlAo-N<7y7(^z1`Tba5i5d z!GUAV6d*Kx`Q>w_iLP=isn8Zom=96(TRiB{9&)4GKg1T_~>S$AJ_WfRz4nSqg^FGzJ zp&K&C+`i1$RkHvm%i+RIO^(w`yZ^wdQ7MfmL~a%u=Y2hAh~t5@*w;L(D6!4ODN8w& z>gW&I9^d)%bKI6sa?&cae+V3N1RRO}3s34W9qSZT(xBl=YQVFODm_Gf8}yXF{T@kJ z-yMa)O7NlJrF>RA>^JZeLTB0>p+t>cUq9!>f6B9*IhP+>=ETgnyUD`|h4kP(K3`3( z4L~w=Be497Lc|FLeGHQ?#i}Gn+P=(+(T; z_MuU89C{zwav29x#JAk@&ctp31$aM`AUwMI5xn`bs^&=P9c7?G14Fu5Iu+fC!E3x` zN4j~cXkLvI!Nfes9I4&8A3{7v&Ps#ry~(mc8yyloY10XJNp#!*x-5lN017mGnxY6y z8gp%OQFd-?G|8GYVm16;9*<1qxMZmF`e6dkfnZK#^HCk1u82thp`|7A%Yzb5!|t<6Ag`xhn^w>9d{sP{$r}VGS%tL1hW0wUv&`sP zDvfr*bghx?NWwQw+2JM^9G`eOxLj4~S5gl?#{u^_ z{$C*qN0_}IHIf*6LZPm7k>?E6k0};jaD4OLa0!@uO29TTTATfJo%m%kaAg~^AF!fv z>w*k$=(Dck=O{zqQC*d}qUG@=p>Tn*^&V{8i@6mxG5FgLjHAv0om9V6-znRDdFl-HVesQnKdo5S+2?p-s^{hT9kesXC&R z1`nkL7(!FOqu3%7@s{l1F}f)Rsrl?Bu*zB)ChIrwIx4-@<< z_GQv>*tz%phB5RlyeUi5sM;0>=^IUTQ&Ay{bB`yn5odf5qvhJ|x5r)1@Qg(qD)bt_ z_&A#m^&?}OEa)w#J*KSTYFYnLZQquyWz+qnd$EEZ^=xyz`kp1PpSb=w8kI!MSXguZ z{VpbiI@i!0nP5;nnKhGxgPm>fWh(;_q_RmdK^f{hgJ^kBZjYx?w8*TCpU8e&zx+1i z>7lhR*Fuh4qAB6nJF1Kv5EW7dor(bi`BlC-Sl5qH;iX$yA$M*^s|AmpPPab>pD=c@ znZ_d%&1z#GR7}!It#$RdnhAKJ_c+xoYLb&-dL9qjvPSRmLpB&SUpP@d3D3)Msqm15 z>d7N{^*Of=#@_O=(sivvhflWtzWj(xK1qBPPPrm<{5x;#Wa(?An_m16jo3n9<|lGY z_59q=>C%g#`a5#t7g-gbJA(Fy`zz!QIEFk5Y3{kHClDpW9HKk2PkC2*@!PkG83MLG!7wX zhVg6K1vf;%{8(Y-W*0YFCV5PdIpl8Bk<3PZibM9fgOgbeF>75m!>@v|TMTFf0$yXV&ldnawyCt>kJl?z}&`BXE%)@n_h zEe}e@6uM;F(F{HKX{p*99}7C^jE3iKlfaGjEH$SRlCWzyOwlG?-QARJlQ0;jYL{?L z$%V)vj(B08rqXKe-cG`WA#jTDQCvc+ zlLCK9@?)YBAp?HIv1f5yNSTHmSFuz{%8p|(8~CzfzKuRRF^yp#)%ItqZ|k2JLZ_Y} z;ox84WIkTnWs}|(s(fhDaghp~n>6oC3uP%&zXSvtwRGi9E09n-aV{Xst8|OdGB5Ku zFi%q$b!D@daNe8=-+J`W&iXYqVZtNLpZ3EU?KXXcU%?hljs5w@8&rpAKPSkqK0+G^{Te6^QYyo3b)WO6N|@-WMWI?M>j7>VuDBXtdwK%80H|as~6jim;X*vuOMU1;b7Ym+X4*+7V!}bj2M)q zey@uXkc9mo3yNR0?Uy7m{IZJcUchq%Iq2XhI4re7%fm=%wIortYmj4et9|?|k8!Qd zzV_%nKV)76%fN!ysA5QvW14uGMgQ;-R2l(2v-oFq!jRIM&-R>tZ2khX>ljlbQhy%L z7W0y@-0Jnv8f@SBa(lWT0St%T31E68xIw;vSKOcIG6}TcgeovnC|}+V#6S_W42u(E zjhOmueum_c@>ij0XVLZcTr5+63(TK9tp+k@AvYo;pZq+Lr`ESxu7~$sOnlPyvVS=@ zXmot6)SKJUvD9RvIBgT2VRxIk2tRZ}mGt2fn58a;Z})@6MB)v61oWD9hJYfMW%aCv zx*#3PgAydSGvOWnTdK$kbfMkll^ntCUv9&{i@)kU#i+Yd8;DFP7e8SS0II@TW6j6aJtZ0;%7#L;!IeqI;K3PXh<4Q}-^w$!x zEb)#w?&M8j6y%SP$Q8#R=lymB#UR-}J!zh^M)_l_oUb}Xx^+tllYY-oQ>X8b1E42z zqe+asX@|ft57G5SOHRMQZsm>%D4@&zM4=Fgj8R&*?%&|a?EvPRU<$4s*gET+{RyS| z1Kr2?reACt55;4Z4g8R{jWRgrH?DAjd%FxuPPB%B-X($+MM@m<`yjI_p9_m+a+XI* zoowTMHV|ef*K$DijjU-69jV@*z~jD1O?LO9GclBeG3wO_Ib}&yi${B-B3)OcQY0DK zTD&)pmeM~u$!H28LDk@3Bk0dGVrTC{xjoxsC=@#7AOeq1d1fRf0$D*pV)c*Es4 z*Rkidch=q#t5EC8@<=zaNGN+xK9N&?w>E(>@kj z-mEr4eSUmAlLlXAo=3Yt7cl41#T~j3141-DK)}uOeDC1BMCbr>O>VDbZ~@(3>lFB6 z!Da-u2G$1d4si~>f!Or}JOKP|1t0uw?0L{WWsRlX(6jeC3pm^a4Vy}<6>WggsZ3>izV{cUveVt*aI+77K(`TiQiBI(>^*A-%%8GO9C$%Q)= z=#XN#rVvb#beA!Bx^2E^d@T32Kbi4?_A2B@eK&f~+YCK{nB6HQ%>APmN08gw?r!D0 zdDE$PFXRVe7Cz|2v*+E)yHlett0b)=u7StUi-< zJxm1)!ZMs5m$M*`Q!|H!BP+JzhMn~TggnIZQqIx^2Jx_BBlRnjgJ=~yBI{^azq}*2 z%yFKp2y%DBRAdId{Vu-!njp1G=?;$Glf#?69gNaZd!C14O zEr!jpB70N#jQrEZx?{7lb>4CmPu^2N{-Ut@KKSI}M(Va?)GJojn=~@szpkGecyg8U z`e-6Fml?VcEM^^c;(?=)@SAMKdzJHW3TKo%Nyq^a!_)`D1S z^bLY|6n?DVt_b%ZI(0g93cWiR=Mdnf6Szd;ZF?qGkO6;#4FM1K`eOFB=J@O2Uw`1h z5dU?A0w(b!@_MXh>EvQ)BPPMDssaTDA^jJ@1_t&|BM)AG8bSMqk*9d!K?2r8-B()f z-&zaQ~YllCo0o6FhVasw6& ztXT;RjOd@*{(jK$pulh(>;IwH*A}<3xh_^ff`MJV0|P_(L$Mk;o@p4{=+9REU0({2 zqHnucxiYAN(4h6AKNWL9|MXuyr7SMXq$Z~RSLHeWLx;(O7N$x^afzQqc(DFdlQXom z`@5r|5zyngMi?RM{JpW_QAUX3gGaF94~NM>Cv*uwCs={MM-c0Oj3D|yJ6{Br{vY<8 zO`V*bEp1I5|1JUlkDC46NDPp*dY{1ek)T1jBm)B@|D$(4{?i)p-{$`7h{@I1;oqZ% z^B>HkfXt&t)^uBg>dx;2VsHO2&&>KCEBlA_zxovU)im&5^Xc!7kOVQquk-caFT_7O z;)MSnwn5|bcNg4&DC7S*FIhiWb2v#QsShH7fxSe4gJJ(sM@G<;`Fot>Lp;#AL05z? z`2V({1F|7x$rDFy2?qAD6cr5P4;w-<@liwg920*i{@n-=0scoL{v6Hny7=x9JdRg( z{D0Q^fAQjflz8>3h#7yLhYSs>F^DLS=N)~WS_GZ{I*%Ctd6eL<1yj(xRCp4}{QmD| zf-d~m0dV{GynJ0u{ZEDev5fjh;alJ1t;dLX{~Ebhj{bjY|8MyH_dV#Z8-f4P1W22T a=oO3qtq27|>0n@(AQ=N4{hELM^nU<4futP( delta 44902 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 V-^>O;jTw0# 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 #include +#include "SDL_thread.h" #include "SDL_timer.h" #include "../SDL_timer_c.h" @@ -91,53 +92,103 @@ void SDL_StartTicks(void) static UINT WIN_timer; +#if ( _WIN32_WCE <= 420 ) + +static HANDLE timersThread = 0; +static HANDLE timersQuitEvent = 0; + +DWORD TimersThreadProc(void *data) +{ + while(WaitForSingleObject(timersQuitEvent, 10) == WAIT_TIMEOUT) + { + SDL_ThreadedTimerCheck(); + } + return 0; +} + int SDL_SYS_TimerInit(void) { - return(0); + // create a thread to process a threaded timers + // SetTimer does not suit the needs because + // TimerCallbackProc will be called only when WM_TIMER occured + + timersQuitEvent = CreateEvent(0, TRUE, FALSE, 0); + if( !timersQuitEvent ) + { + SDL_SetError("Cannot create event for timers thread"); + return -1; + } + timersThread = CreateThread(NULL, 0, TimersThreadProc, 0, 0, 0); + if( !timersThread ) + { + SDL_SetError("Cannot create timers thread, check amount of RAM available"); + return -1; + } + SetThreadPriority(timersThread, THREAD_PRIORITY_HIGHEST); + + return(SDL_SetTimerThreaded(1)); } void SDL_SYS_TimerQuit(void) { + SetEvent(timersQuitEvent); + if( WaitForSingleObject(timersThread, 2000) == WAIT_TIMEOUT ) + TerminateThread(timersThread, 0); + CloseHandle(timersThread); + CloseHandle(timersQuitEvent); return; } -/* Forward declaration because this is called by the timer callback */ -int SDL_SYS_StartTimer(void); +#else -static VOID CALLBACK TimerCallbackProc(HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime) +#pragma comment(lib, "mmtimer.lib") + +/* Data to handle a single periodic alarm */ +static UINT timerID = 0; + +static void CALLBACK HandleAlarm(UINT uID, UINT uMsg, DWORD dwUser, + DWORD dw1, DWORD dw2) { - Uint32 ms; - - ms = SDL_alarm_callback(SDL_alarm_interval); - if ( ms != SDL_alarm_interval ) { - KillTimer(NULL, idEvent); - if ( ms ) { - SDL_alarm_interval = ROUND_RESOLUTION(ms); - SDL_SYS_StartTimer(); - } else { - SDL_alarm_interval = 0; - } - } + SDL_ThreadedTimerCheck(); } + +int SDL_SYS_TimerInit(void) +{ + MMRESULT result; + + /* Set timer resolution */ + result = timeBeginPeriod(TIMER_RESOLUTION); + if ( result != TIMERR_NOERROR ) { + SDL_SetError("Warning: Can't set %d ms timer resolution", + TIMER_RESOLUTION); + } + /* Allow 10 ms of drift so we don't chew on CPU */ + timerID = timeSetEvent(TIMER_RESOLUTION,1,HandleAlarm,0,TIME_PERIODIC); + if ( ! timerID ) { + SDL_SetError("timeSetEvent() failed"); + return(-1); + } + return(SDL_SetTimerThreaded(1)); +} + +void SDL_SYS_TimerQuit(void) +{ + if ( timerID ) { + timeKillEvent(timerID); + } + timeEndPeriod(TIMER_RESOLUTION); +} + +#endif + int SDL_SYS_StartTimer(void) { - int retval; - - WIN_timer = SetTimer(NULL, 0, SDL_alarm_interval, TimerCallbackProc); - if ( WIN_timer ) { - retval = 0; - } else { - retval = -1; - } - return retval; + SDL_SetError("Internal logic error: WinCE uses threaded timer"); + return(-1); } void SDL_SYS_StopTimer(void) { - if ( WIN_timer ) { - KillTimer(NULL, WIN_timer); - WIN_timer = 0; - } + return; } - diff --git a/src/video/gapi/SDL_gapivideo.c b/src/video/gapi/SDL_gapivideo.c index d79a7b582..f8dd46097 100644 --- a/src/video/gapi/SDL_gapivideo.c +++ b/src/video/gapi/SDL_gapivideo.c @@ -1088,6 +1088,9 @@ static void GAPI_UpdateRectsColor(_THIS, int numrects, SDL_Rect *rects) static void GAPI_UpdateRects(_THIS, int numrects, SDL_Rect *rects) { + // we do not want to corrupt video memory + if( gapi->suspended ) return; + if( gapi->needUpdate ) gapi->videoMem = gapi->gxFunc.GXBeginDraw(); @@ -1172,10 +1175,55 @@ static void GAPI_PaletteChanged(_THIS, HWND window) OutputDebugString(TEXT("GAPI_PaletteChanged NOT IMPLEMENTED !\r\n")); } -/* Exported for the windows message loop only */ static void GAPI_WinPAINT(_THIS, HDC hdc) { - OutputDebugString(TEXT("GAPI_WinPAINT NOT IMPLEMENTED !\r\n")); + // draw current offscreen buffer on hdc + + int bpp = 16; // we always use either 8 or 16 bpp internally + + unsigned short *bitmapData; + HBITMAP hb; + HDC srcDC; + + // Create a DIB + BYTE buffer[sizeof(BITMAPINFOHEADER) + 3 * sizeof(RGBQUAD)] = {0}; + BITMAPINFO* pBMI = (BITMAPINFO*)buffer; + BITMAPINFOHEADER* pHeader = &pBMI->bmiHeader; + DWORD* pColors = (DWORD*)&pBMI->bmiColors; + + // CreateDIBSection does not support 332 pixel format on wce + if( gapi->gxProperties.cBPP == 8 ) return; + + // DIB Header + pHeader->biSize = sizeof(BITMAPINFOHEADER); + pHeader->biWidth = this->hidden->w; + pHeader->biHeight = -this->hidden->h; + pHeader->biPlanes = 1; + pHeader->biBitCount = bpp; + pHeader->biCompression = BI_RGB; + pHeader->biSizeImage = (this->hidden->w * this->hidden->h * bpp) / 8; + + // Color masks + if( bpp == 16 ) + { + pColors[0] = REDMASK; + pColors[1] = GREENMASK; + pColors[2] = BLUEMASK; + pHeader->biCompression = BI_BITFIELDS; + } + // Create the DIB + hb = CreateDIBSection( 0, pBMI, DIB_RGB_COLORS, (void**)&bitmapData, 0, 0 ); + + // copy data + // FIXME: prevent misalignment, but I've never seen non aligned width of screen + memcpy(bitmapData, this->hidden->buffer, pHeader->biSizeImage); + srcDC = CreateCompatibleDC(hdc); + SelectObject(srcDC, hb); + + BitBlt(hdc, 0, 0, this->hidden->w, this->hidden->h, srcDC, 0, 0, SRCCOPY); + + DeleteObject(hb); + DeleteDC(srcDC); } int GAPI_SetColors(_THIS, int firstcolor, int ncolors, SDL_Color *colors) diff --git a/src/video/gapi/SDL_gapivideo.h b/src/video/gapi/SDL_gapivideo.h index ffef78e07..99a1d0009 100644 --- a/src/video/gapi/SDL_gapivideo.h +++ b/src/video/gapi/SDL_gapivideo.h @@ -152,6 +152,7 @@ struct SDL_PrivateVideoData { int dstPixelStep; // in bytes int startOffset; // in bytes int useVga; + int suspended; // do not pu anything into video memory }; diff --git a/src/video/wincommon/SDL_sysevents.c b/src/video/wincommon/SDL_sysevents.c index 859f211a6..0f7765ff2 100644 --- a/src/video/wincommon/SDL_sysevents.c +++ b/src/video/wincommon/SDL_sysevents.c @@ -106,7 +106,7 @@ static void LoadAygshell(void) { if( !aygshell ) aygshell = SDL_LoadObject("aygshell.dll"); - if( aygshell ) + if( (aygshell != 0) && (SHFullScreen == 0) ) { SHFullScreen = (int (WINAPI *)(struct HWND__ *,unsigned long)) SDL_LoadFunction(aygshell, "SHFullScreen"); } @@ -171,7 +171,19 @@ static void GapiTransform(SDL_ScreenOrientation rotate, char hires, Sint16 *x, S static void SDL_RestoreGameMode(void) { +#ifdef _WIN32_WCE + SDL_VideoDevice *this = current_video; + if(SDL_strcmp(this->name, "gapi") == 0) + { + if( this->hidden->suspended ) + { + this->hidden->suspended = 0; + } + } +#else ShowWindow(SDL_Window, SW_RESTORE); +#endif + #ifndef NO_CHANGEDISPLAYSETTINGS #ifndef _WIN32_WCE ChangeDisplaySettings(&SDL_fullscreen_mode, CDS_FULLSCREEN); @@ -180,7 +192,21 @@ static void SDL_RestoreGameMode(void) } static void SDL_RestoreDesktopMode(void) { + +#ifdef _WIN32_WCE + SDL_VideoDevice *this = current_video; + if(SDL_strcmp(this->name, "gapi") == 0) + { + if( !this->hidden->suspended ) + { + this->hidden->suspended = 1; + } + } +#else + /* WinCE does not have a taskbar, so minimizing is not convenient */ ShowWindow(SDL_Window, SW_MINIMIZE); +#endif + #ifndef NO_CHANGEDISPLAYSETTINGS #ifndef _WIN32_WCE ChangeDisplaySettings(NULL, 0); @@ -318,7 +344,7 @@ LRESULT CALLBACK WinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) if ( WINDIB_FULLSCREEN() ) { LoadAygshell(); - if( aygshell ) + if( SHFullScreen ) SHFullScreen(SDL_Window, SHFS_HIDESTARTICON|SHFS_HIDETASKBAR|SHFS_HIDESIPBUTTON); else ShowWindow(FindWindow(TEXT("HHTaskBar"),NULL),SW_HIDE); @@ -345,7 +371,7 @@ LRESULT CALLBACK WinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) SDL_RestoreDesktopMode(); #if defined(_WIN32_WCE) LoadAygshell(); - if( aygshell ) + if( SHFullScreen ) SHFullScreen(SDL_Window, SHFS_SHOWSTARTICON|SHFS_SHOWTASKBAR|SHFS_SHOWSIPBUTTON); else ShowWindow(FindWindow(TEXT("HHTaskBar"),NULL),SW_SHOW);