From c5055013c0efd6a9fc7b3b97e76fa4722631db18 Mon Sep 17 00:00:00 2001 From: runge Date: Sat, 24 Mar 2007 23:30:43 +0000 Subject: [PATCH] reverse connections for ss_vncviewer. java one-time-keys. --- classes/ssl/SignedVncViewer.jar | Bin 76438 -> 77664 bytes classes/ssl/VncViewer.jar | Bin 73709 -> 74938 bytes classes/ssl/ss_vncviewer | 329 ++++++++++++++++-- ...ghtvnc-1.3dev7_javasrc-vncviewer-ssl.patch | 97 +++++- 4 files changed, 385 insertions(+), 41 deletions(-) diff --git a/classes/ssl/SignedVncViewer.jar b/classes/ssl/SignedVncViewer.jar index 5c77ae9aa1035f00e91ef3ace5ec176975027890..38cb51b883e294b5cfd713b484bfe002fe6663c2 100644 GIT binary patch delta 29668 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 delta 28556 zcmZUaQ*_+&qvZhv>~^imrnih=E+;Hyywj;uty<@EG7 zVqG(T5nSGyMQK)azE4-iCjSOU8^IGY2p#J#e*OITy78L*M}J`D1PnqeR2t2pYV6e_ z!RHIm+mE|}^*s3P<{+Xz5d-!3D+_*VZh4N#D23O$yl76;=|%ny$ub?k;5f$SMbsDM zpqUm7Ya5lmwj{+|9g(J%B5p?dKYXWwh&ZNT4n1I?D*QtwDDeAHO0Co;Ji86&bhE~4 zC>Ry{_~xpcHQFSNFeepD1MpknRV~?xW~XYP^u$t{jCg6xQIz}d)W)=TgB!HN7d83{ z=6!Ug@Ea2Pa%Tf;*Pudm&66hj=*(i17%u9`kBW0IVHZu?qND>J*1QB>{qXcoR>R;@ zmyfbn<#E+{W=<{`x`s+Z@#kF1fOAa>Oopx?{t%79HXkS4Z&oAYW;LAh_@a&^R=T}_ z44Vvgai2LT0dSiNfqxQ4N)mGy{`GXTJ3=E9smekgd1meKr*xbALiR0!)tgAn1e!Oy zV~2I9^IXRY&k(0p`pU#;0ze@%HVW)50sBQF8RY!4gGe9@mB=Ye+?ch|M4@57Z?D$M z8btvd;_Wk$UioCf31kgFBFyDpoC6I^p5EqB`yG^raI^MA(ebzyG!-KHx2WP$&#DOZ+`xgeE^4 zp#X0eubj=x-}p&1e-M0F!2CG!P_D!NOsw#Z{@Q_Fc_;0f7QP4b`$Y3SqH_a)%Ah{0 z;Y69!pnbvPK^a)9EpD}$KZ|GbG!&&1nQX(5mh2eYp5$Nv|I9w~O^nm8(_EeW&6w=z zi!%a{h?}Rwlh%=bMbO?Z=Bj-^wgGl>tnksQoxi#kqfV#5oj#Mr-$_+DFon~(u~g#V zca@YIuz?X4i<664kIna+eYO!OZ8=b+8tPP^Pz4E=1yeY9yH2>*otmCj%spy)ET4u@ zAX*;%5<=Xmfis_2STn=uWj|5HYt^*tHG+=<46wdSWyxn%WP8Z3E%_u*s=W`R5fpyU zoZAt!%}Wuuueu&VIhProoJq6yDa)%g--xW_MmkbGnEwp?fL4-){bGZQdnNA<2?nMB z3kLRoi!*r`k{lRxZu*ZpD<^n6GDhT-BZC4msq=W-{$(*EV2|h*0pk+ zW%XC(H3a8BR!28gY34lDd0Kzjj7udBVso|Kh1_vX6BvbrWH%q2ld#Gfzrt2|w{j=3 z^6X#wi~xc7yl0N)9P$s)U8iO-@EDlPSD`drzUk<%Nmb09S_fXKjIoC$Mq}A-KUf*- zp^Tx8WqyA-G}}a|R*=ZlQQ=3jqGf!1Zq2F-R!bLec%3z!g+*_$x2q-DHkB`l?EbP% z*WQ(uJ#?~tX_HirLdabu`MbDsQmT904a1x3FBuRx9kSgWnc30P+OH=e{5Vf$sKU$B z9E!2AD#Iy?0Y3O`tHbu4m!+J2*HDj%=66=C_BDn&F5zFPSJPv*KYr_N8PbFcZAB>W z<1T2YT3vWwqTp1wM0}2LRLg}uW_FPe%Ok{S5a5--o%-i)sU*#P>a~w_e6ta!<>6Xg zen$cFE1=YajDOOFeEF0?S6^N)#@Lqp;cj4;Yf^$D?{LDjstkMjH4q{SCcyv(mOD(7 zDP2R5`h$~&PEhdX%?M4Sm>41Zld(l$rfFE4$i2Ashs>EJfI~ZFUp2k_%1C)j{JiK7 zkR?ug3UU7ApWXFLQWxRmU?QD=KWjep`3}^L9AbG)YpgRI8WG`Oh?B_nBB3~ivxSQZ ztKU-8z>N{~Shf>6D-p~vWFUFf^(QftXXMJ61o)sA3zFs0W@D^PFM zhT0z@*TKD;k&l`u<$p6NA?DZQh%H{frgojCd{^eDmd0lAwY~}Wi;7$ z#c+^3#PRYnT1~mAG3tOYKZ#c-usEu%U=6<9eV`C5yOPZr)W9sMSZ?eiz3c64eZ;?Cp{vLZ+++_M#oTCaJ2lL zDuQO#2Q7kN^R5m~OG3L+0|^77HclI}@nAEvwUHr&IKGV%Yixc%lTsUL!x&EAdJF_Y zVde=GE$4C;1AUBkMb-x%!U5ZRtFlAZnVd_nl|A!x?DW%jf1`u+r_|VN$7bC3b$VbE zJr?~*9-?1<*8?&3fYnqhkI-#wQ=z?zx0_Cf4!{r%uE)uO&(l={g-hE;lO$OZ-Q9i1 zjTsLh#jVHI2RhiwA!oTDmLuTZw4t+%q`8Z#aB)xU*kINSn)=r6`2C1L>krR=?h@VJ z5&4SYlZ>pE@5~%Z*{OpCJQ}2=?toudxG{!!coujYu_r2A_54RyX@d#yGED=HBCocX z&T=nZE;bZRTQTH!?h5KbJ)3*D$>VyA*{aWeDvy;!Yes5>Iq@~Y7pr>(__(ke35C0T z&0XYU>=RY|#yUD<4DZ}jzX)V%WLGbvLAvwgDVdhabB=Y)r}avrXx6?FSA!BF z3@mrWw(Ae)!^$6|4m?t}lK^y;j0I{59EB!%dT$SXg1Bb16Aw(IBr=gqky7BQxD{H; z4T#-;QV ztkj(X(6a89_46_n(E9jjwc)IYr&%T9P&oP+HRHQENMflyaJ@$P1ON_&g_yZb%V!XH zqW|O`OD12&rl~V|l?wfE_N<_hp}M%ibKlh23HLa;hf?eaEZXa`xJDY_G5vDL;cY`w zyzwdt3k(suFd0pG8czox66QqT5o|_wM=qVZ)7 zm>?64UBL0}?Mk0}Fb9?s@Ws;4J5z?Dl_RGnn>CkoS~{k%f*Q&gSDFnfN*#JEYgJw4 zkSsG*zmW+ztlR8TPW0VZMwOhMP6rz=WRX><$KXuf9ZBt<06Z`rmz!3c{84qM4?*Pz zcw-ynifP@ULy3be3`*&gqrwu_Z%GU+{zuQx2Q2yLrk75vm(VgV&kXKN>REXdK`s5%{1 zj<(0Q$zk?1)QCu5Jxjba6xbF;_OV46GWXYI=2iJGE!v>}-6+b-qzZeHc*&1Pu@)R3sgcH_yeF(DKq2Z9^Q8`EOiRvKoek}8onYIZP? z7A4xlkZx)~)W7C%r>(hvx!zolalBCw<#PI@J`~5+EnqY}LuuTUH)aV2BY)6$J-eJ7 z&zhw42jD+Pd#3e=a6L^v1=Q^wzp494x-s~R8fN=S{{${Rc!PVC{{Rf&)s@I_YvA)Akmf!KY4 zN7xrLGLc}?;c9L_KO~DKM@lz~OeLxWISxE?vBsQtOpV2f@090o^s(PD>Zc^uB#1|M z1&LKsKL7bOvG_BPGbJcO^@&q{r`Qk)NF-q=nnJn*2>-E6o_lSMG#D^2CdB{K;Qq(g zmcE_9{MXk8=o=ya8@Vx2K>gR@a@j}#d0Pxg%#YE$wcIUw3jGYF@<15sB|#@SD>(K@ zt3ie(yNKvC4d+DoxMt++F3u;|c~J*~4krl_DH4i0VQT_#+A*1n-W8cI@B}B7Rq*eD zeT}(QG7Rgfzo&h6re3$RudMogyze*zSP0r~(Dy0P(TmZgBUvI-hLI6OJ>`vo@@>PF z-$?k~%=Y9VTa*v0TG1Vx4l;5ly?(4TEZ-8BFAXBw??2jx1u$OaO>tsWcGHjlAfCl3 zFkvcSs~m}#2^?`)3!C{T1!BMJ1RIsOXgo$w>&!iomCmb$$tl4{g@!3|*~Plu;%pk| zjjAcZ;rZaUNqj~#KCq>*HhJj^X7CI*`r$?^O3fxp`G^KNIiFRQ>ckuq zi|EK4G>y!;XNGab!yOQub<7_&_>1o~yEMtrC1K=MEW!O6Jc5RuM_`?YSmQU5OK(YXfQF9m{=Y}L!oW1>l9ucEusCcdCa_)|)uj31gz^*%uW zI{8fMx>ML^3!caUC^g9#yeZ60v|*~Zb80=h@nX!I`CnPzRHsEc`>FvZ-*@oSW5TI@Q7vDHwvLb+xh$B?R}JJuMI*FA+=u9Y?Bj(_!TH275hf zC%EI}OYd*4mX!LxZc130iWJAAnd=IRAa%!`Zn#{T|PGuF%hkvoWo%puCKSvaznAMPJJgj(Li;x&`W?| z5C|9o`^1g<48jCHv3#CPN}e$Y4*U0*KM5tDiJwwFBgud$=nq77@SLxRhEb?9@Nq6f z171e^K?xnC^uFY_zOueM(f)5FFpiQPYAow{Zs$z@5#r=!*B`NeS*8s1|0_hW|Kq~^ z7mM0jIT||{Ih!^!aN$D#SC=w;5~%-;QsfXJ{~MJk-v93?N0l4pzp7m|CI_AY40Y5` z``2}OkTZJ=NsE-wQUU}GiHvc1H5N>a8iK#v#lld5r8|)Z6o2FUV+3P@IEvddyn94qFjx)VGy3EPGp0sx z+=0U4S&ZzkFNR9xL>sZl4O-GYzqZrxmmJZ?I#$ckWTsM0h$CO*1sKNEQDq3`)CQKECtE%g!V z#-B)6mfp-7$&&7kKZ$2r>L67q%adUYytV+=;unv*JqSix zEv>jJ8(XE{Yn(@`%j?TkKep{ww%YQ@?~tTv7WY!@Vq?R@X@JHDKImCwM&zQ*8 z4qMPeW*GWQz!YsnX_JbFX~(2%DIrlg;t;4V+e4-e$>k^f*-Wm0yNb8RW1PeGVgsZ; zo9MMgka?*`dKgusI_UK&Ad9CPb^~5ibYc0LR6wPm#YH&@PvEyN-sC7fFT+KMf{_YI z{;n!sIt4UG4Y0@NtH9Q*?~FHGs=@q-!1$E@Bm-J`k^r?!RXizx9-jhr445V5Y?hX; z$r;%SD3{VfQOTuThLx9(oJRfi`$`E)@WY@D-?fJ#OKi ziCXuJkedwFsw+)Br!Zu%W8rWBvhHXlcp+|>F3#En2z?wlSYb91>ZMuh+41>?cGb9a zc6x7XL3hQn&`!bE-0CgBB<~GoL;Kttee{@Um?B!N*epDoNZoG%pJm>0@5SF$X(7{B zMI!}Gh((av+NRstW9IEphn|c+a~9l^{`cLDRBA;{!1!p zb|bTLLWie8FRsIQD#I_?C41GI_7m@dBVYL2#OdZ(DAtq`nU{dsY3XueRR6fSgDems zyRmRpo5h*ab0qcR*t!Utk`=D=lD7~C`DsT377Wx`K3v+INa}{R9Eg3d z2qGbfRuGP)O|CFjB1DRmUJ}!N+I*w3j&#FyNuF04D6Xncd_k`npsf(&mxn3(0%1%Q zaw3#_GR!w03xhU>-iSaa22m}Bq9cZWCdOoSE;587q%95Z1okOcTqlT`Gn6Cdil+kr z(HTRV(o@-^Zy$3IJWG$Lf=m6oA2jqiVvvM*ucFaq4W8(a;tq555#LA?DVqKe*JO+? ze9*ApR7U)sV}%gY#Gu{x|7xwJJM27kNFtX+7o{~`J_l(NrPVr1PHfspMs%x)(wt02 zwp|(VE57^M*w5Nz@38;|* zVTpQ*nmQ^V9@t4h4+U_fAvYA=cqyWb&o<%9?y}pvL079tBkM1H5l`! zjLewdhSEN~G2)fM79LcX)=_~iIZq*R+J;@3G_GozP+rt)+vNW|qQI)V==(PWC}Pe& zZ=)=4>;o<^Ia{K?6-C76rlVP6vm;Gwj;r9*u6p_qaLyfn-8Z{^g@5+LBE7+j1+mbM zIE9R4M?_&*Vo^0J=L}Ig;o0pY#xAmXwqdG9{cehKJmev=qA^xQi%0j4@wq0)EB3co z_mt=z67;vz7_}I``_3M9cX$CoL-aNMq%GdQy5SZ0kMTq$*{Oj4%K*dR|6k*2rn2fn z{I8cBxe5MnFQN8oqWGV8Nd-jdf(+oWK&*vPd>7Xh}0$Ys6@I7vI2QQKZT0*;JSXHb{z?go#e zw`!DeYWA&yvY6WW1pI&aE^j6BEx-9G%_)(qBwwl}-}q(onxn1SylXxnvZb15lx$nG z(WlJds5X_?+@P4Gn0Kn*>tQDy1Lv)fvV?RIXIc`mBUg{!K8@^7_HXop8ksC5zUR%J zmPaJW&g<%%l_vNeopdfC)8P=P6~vBl7Yd~=!wlMj*sspa=B$CWj`spAhZx6Yp}iv4 zh3w8!8U>s1VH(G)Yte`9ynXY?J60|?O&`B7hu>`I8_Q^CB^<|XLYQg!08ORiNA+#H z;$alj3;)1XziZsm_%8;G&WO(gaAO=bpQ8@9cnY%nAc#w(F?6U#C2BzYh=3StXq4V>sGF{kx^7?NM!ccd_zmJeTVxR8@6iT07#RBhRR#Oc zA>m&-k_=fu0c<&7s$+g`Z58qowg0?*ABdBXXSJ+24MT6sGlr3(! z|H!0aYnH+=DN@EbkR;=)5W@(Bc%c|x$CKKfA08gY&iB2U28Jq*XU^TbH;~rNFFPN7 z-~Au+T&_Oe9(!TIV4PHhvG;3F#K=NQV))^MRySnQfRvb)7%D8&2Bwg5OzMcqRi?uP zoV>3fHr6mRQ>>UD`7w~J$P+l~)GuqOc?hJ~LkNfrmpOZgCAgeN2%)}%3$sq`ma%te zVar27r!!6~bK@5QMtGOhq7=)!*g&fAg!ZCd3A3DlvVh>oMG>buS*-I@(#)|wh?NjN z_vrEt=+e47Wf`M!$xi7uxfy@cz9>p_?l5RW@*pjB*^tj&&nKFhAI@NLoyKw{dm&hv zJ(7Xp+A7j_r$!LveCRLo%TF?&DTDu)iZm1137Q0MU`IM~6st5$w9Ulh1OX-X^}%Ga zILZXb#rXVUeQ@`9tG}jIm*HgpR`QY!CZfgxVNQr9h#Nom1FOxtOQI|#f7$Bl;+U>B zZFAxbMH}^m@PU>`zP|HLM#J&y$PLz zyWstT3Qah?rt{Qsz298!^?q#MeK+oP1u{h}qT5zq_6EN-ajS%spYU^J-Mw`?@JV zx6Natt%Mz7paSTA%J*ae7wl(LxFnSn8UyI##Hbwz%I>M7Uy}xOPwt8;;_m;Nz{Zj_ zWtTL-uI7eCa9I)z%&3QuykiXcK`Ba>VA*=E?tYpR4%Jyxbc=T(QM_WvexWY}j;LC^ zzKf7aia!c<8O%?(t&8U*hL!A|*qv9L6lMMq<4M+*I8$$d3NP^prtiXI_xsmIU zjMDf9NoS>B(=hI`*6q6ZhA}xJ8SZoT4e9&FV(E?XZw`pk?_+Nc*Ry{T?(CxYM)zM6 zZbb0bAnY^?(AQQPfOU&Yl7xvC?U$V0dn14T4;64S)D+MD5kVgo4CVhQj{gS>|GWWU zV>Gcfa&d`O-}w(4J}xg8a^qA7T1#6y%yi(-QBLY~|FL1D=_`%Bt{FBYC#76@`^5mW zuDLm!-=pC5U%s%&B zZM$4<@qQX~gZ}^|%64I_~Vh~|Ko(f?x9U;9%#OTv^ zMP9-~4Iwo#XoxbaR7U+F%9%wdAveZ2oy-QtmQL76<$}`J)%pc1%~Ey zwAwbsFY$OfFWBfogk}-LcyIglY$492-x)~|qZLzUr<}Vhrn5{F$7aubfpHF*G|@tY zO~S>IoLPBph0G1pO|0nILq)6OmK4z6CcBPFn%oWhKTq5Dj&U%fJ%u)P2^jO(o&G!) zc$?1A?rWr&VYcUh_^UvfIYY@mHfSN_*%CJnT)0qlL{VeQnCTveBNhs(w6A~%7Li0b zL2s?f>}M<07wd2E6)L0xYKC3pV9232O+lcHA4*mu#>+A=#qE4!nK?xq=I>Ak&1 zHc@GAfp(G_%%F~l)4CI}sx~S0%GKl9FB8`??BkDrET9{mP2*U!Qrf%vLGc0e-BMO| zvj}}_OYXNQrQqi<(8Ixblc7G&@cebc;oL~@_T=>nK?1sNe%k%yoAjdY!p@V_{~)5l zP5C9SjERg9^Y5(CTj)u25iGcEu`=;r@IObxv|41(;1HT53w0_RBK+4Z-o4ZlH%uqkYA}+K8R&#;R7c=nY9OEL3v5XKmB8otJY%<;m0*K7;-T2@wZqZC3`%%l-Fm z!a{^qQm}eafyO8*vI+S0Dk8eojv)CUYHh6Mwd`M}eA=0YLwivHGp6jx_tNAX3nh|| z#RVH}dB7!2k!&4#mC}DGQNLbpRbMC0BQTt%Gh@p%*?x-s2YLMlZcRWOBH!eT;SU@` zV@wYx0z;#)QOe6b`o7VPr>|GLyn4fr9Wlg?(1J!-f(Lm1g?b+{)ct#GctG&Z_#Mhy zu;7}++ep_n*IB7HgAe#QI#wVKa#T!m?PB$J62AXwpz%7U-roI#gvbBYlKT%MlJzUd zfl@CxUrhB|M|C&FGPYAaNbs=9J=7%9WFeusNLW-QGHD_7xd1w3X)0V?^L+v#KIM6= zs|}>>t}OL=tW-G0sB_Y;x<|j7ZiBPNx~{ro?~m#(A4=HZt{txax9u~{dV}67Z@1ob z$^OqR1+a<&I=z!&kbcG9klsgCa+yIE0Aux4x>+lWyhNK!zL;Hpfj-qdlU-8AC53%@ zfj-?l6d`PXUg0eiG0tgU1{)C+ibq7}rvy@8XqQ_2BL<4JW5kIj6&9F@tk!3q!3)Xl z7=^~D6&3?kAn@LJ;tuEFcm$$g!&B@HmxS5q?~b{#b{c>fPZj5`#ZDC$u1%2uMW?;W z4pMAI(4xL4jQ!HJ9MbH>h~fU)g6+aJ0n)77z87Og>{-e8ok;AC0vM*HYqC?O9KXRRNWoK9*k~ zbH9GKr+PEap>6f z_gxHi*xOim69swXJk=qzO|aOHJnH%WzOs2z)I}ifxHfz$3?r8QbRzn|7j)VOpiWgu z?=!>lWj{m146UD1!#)A5vi{|3e5C$g*Swjp1|Z@Nssxx)Qt)~c;}Xjf>qAGCID|Y( zDz2vpU#o>f>%#?VMe^K86#-o;EK9Wtz2x4!rVt&sa)JcI9F}yBO&j`7EGDxsspJB`N+iVNqH& zM~yMxAKOD3#ovJugdDrUG%@z&(A_Qk<-)Hp0#Taheawt;Ds!}E ztV>_5;Q-2*KlfRt^u3hF143%BfxGikj}FK**-FxhRw}W?F2;^#K%KrQJ>yJB8Nby;Ll+W=d>jCP#Zl z!?y9vTS=c}AOBFAt%(HEt^R8gA7GR#?zX6j-$N9&}DKvE$(o_;3m zxHc@vNaMntur+lFBRm=hfjkN$?{4(NWQ5W4wI-3iNXh0M?BsLB2T}y32bQj<+%Rs0 z<-kv|PImvAxki;Nz0B$4HDCHUE5WQt=7%x$+5=RA2@L_QgwF9cPB@?Eo`FeoB3TMv zNP}GS`457>Q}K|l@Tk?6hughzcJ={3G0I87HbfaVbZaOHV#Z>*5fp0z$F;g(-BaVt zve%)! zVsLFl=S}%G%|v4~>bYB!fB#Vvy~|-YEEhdxrec_@{EA}A%XKGO(3BKUy;}lu(*b^d z6?Qw>Khd)C20|lMjCf2#FCNQaoHJ`PxG+&XpM6;whtE&c6p?b;VDfGuNI}gUxad3# zMI*k{;nNNar(cYyES%_9`zU|inG zi+0nQU=*G_kqVi2BHtrK{oWf{!388ChSSk%d6+aQN|O5v&!1A8a;-WDt1j+K)YG(c zVcs~a)n9YE;jn#hYK1so3VovJk)2vP0#sY9|7@w_ zMz!Fb(Jf2pEG$#gCbvSSkxik-eQ1WQ`ahD4=Bz|UL}YY#h?94M3RULozu=T5cOj43Peu}e%Bg@rwH z*rHZDG7eq$4wGpVkP7SD*3+K}k95fy6m36Lc<58l?;(BD!UosX@WE!{jX{gX7qn=M z3*WWa9SOQ3pk1qB2c|S0+8Rtx_Aw2u&=-JjqGnAwvQnj8gF_!&V z%YG<7T_QE5Ixh@@Cdl0<9Q-BG@2G|u>HXb#Bt~k;)vK~1M8U3vf%b-V_?y0bu)^5< zAL6y;Dt>L4 z4Noo((oj6NQ)VHyHs@iKD1SfD>H!GW;u8&K~r4a%PyV_ z*v&o0s;|t^VByH`owXa;3g9Aihn8A69E+8z=7vnhl8sj>R~S>Bl6J~PPg%06#W@v7 zsxXEb3yL7o%_D6i9kYSg+e{a?>GV8St6${V2b&kC(!x%g>Cgl&sU)fi-l)@o-Pvy< z*;+Z}3QMOHJekkikkQF2G_F<2oF}e$PSCpS9dh%ht~#}gxac8-WyEJKXq^S_tD2=` zbc@>7&2^lRLe9=y-5%4FbdkKkz#1DU@Jr44! zb~YS@Iu>+-6|qDw%7)p7*~L@es^wFN{RsUQ_JgXS{$1YQp?2TY`+imL3p}2J1A?6D z1FcP1qc?USL9;!qd*YSQe@?Dt+jY9O)WlA(IGeI8wHX-LR+;w5EHl@oU(BGywa!VY zH=r@KaWr^A^~|4PehvFE7ivz~YQ;+Ekh-*aQ0)(++2xy|?VQ!{V=KN_~Wc|I^gDX z`aTTqn>YVeF3gL$s^zoS{<>IFp`kgs7(`v`*vtsmr5C(Nq9ma44}f*pTikp8jcj6tUmWij7yS zF;l zSW$4_>|pvwmV?o;v!hKUbR&W_g;Ny!0YAQ`Pu}5xAkA&(j^D?Y7Uo=OVhs9>Mc6E^ zkw-xJUx^~}iP6JLNT-u?Q+`*ckQryowfb8|0|6%M7gz+-ay<>GjeykZSF5z=3?-ch zHiJMtbFMbu#oX~cm2%@ z5Y163Omy3oe6x}rz$uYKigpD3>_d|F56XQ1-^@Mv(n!8{k16K4%$fL!elszJw;EmS z=qRm{F&d3hIN=IQU_USedYEsqf07rk9h(HMVH+o|VHa~?_%yKvI(A19pDH~$L0)4j}_{AAEXJH1N7xjrR-^>c!h zX>hhCAu3P?GR)0jW9-b`AFMWEwh=9J0!G;^MPS&Kg1H29s{Tfy67N~^T!79&%uCZUp0XY1C~@xIdS`*U~Kt~*CN`{`XoRc1BNN9?@^o$ z2MD9jV)vZ)_hDRzr{x1<8kpP-k6!~r7??F@#<%Hk7^SGQ;NEu?n8{TdzYrPChw4;< ziGdR>fRJGJMU)G@VMd|^xl)JYzHy+K5BXMvK{Ml9KUX6ohkI*5AU4JkW* z6WilF358u%@-QLl8311UV?wVzI4gi3EH3Pbea3e)CdrHg%G@dP-W1t)Vw~E73O@v> zZbmFvmyKx{jqhwn;q^v-rw`NW#V_7q<^>>U(fHtiY&STS}<&@<{!X&x0 z*GJD?IRcgDI9JJ3E(ciPb+l6Qaf{o$^h!{=5E3MT<5da0zz9w zwk-Tgn3UEKhyg*cK?o=igccyF9LOVXY-Drj*)cCi9L68#+8zBP$bPfu4e3g8&Og=@ zAm0%?v+&z?y@|T7LLogs0-PG1p%g;+p^Cn{Id<=VeQLO+sEKpRa<(5(VN!I3oNyLT zhc!J0&VSz;WB`l1ii4Z_N*GG~RY^f!M8Eh2p~Ia$GJJ&Lt)CAZABQlPywo_L{}S2b z`7SV`%hYs*uT^eEXS$>CcE5i4NLc%}#VqE#^>3@qZdrn|A&^hgs$d@mI>HdsCo@FN z4}T&S^Al)ZLQ8U0=q_?gBB|^u{wZ2p9wAXq-zchU5Ciym82&IV6cL$3b*Vh@X=MG7 z_{!GTskzqFqSe%boG{!#VRgnduE9BN&*JGm8vDfAm+dr){X?*=);q2iiTNwGFb!jv zR|iy@2}aFWsUs;7T>74Jk2myYge2&q1HEm(v4Jr7+D8vM-k6Rr)b5(kePD-qc*dQ; zH^k@(u^6~!a3|Zp$p~gyVj0w?8qYLixNFSQuSa+s!)U-$9P0FB<=ug?1ubTD$9f9n zMQZM@d2-kfWnU9)1|9EnhFuOIIAI&a#P5E4;x>qy-8FkcH~Ao}H_hz2(chE{(M*J_ zH$O%G5zoRFcF@0zYN$lmhuNY#wm6Rj^1DpHDFH$jF$u;<`(e#*g|0Z?lL*sTG&XS5 ztzrrVJXXU}wVCN&Gs;*u$@FNKvlbqB2**U;55T!) zn*2kc6NS{h7qUZRrmAMvrby$L@>UjJA=V2p8~F#*V9Xk}%D6L^(Z6YI?ti(ECl}V@ z6oBha#TL%}L20Cq*Im<)u9zXuWYsAwjI#5vO&Z=``0^$eo2v4J=K)C5my6ze_pn{WzN}M{deg5 zU;4q$qsJkyE#`GUe;%yNNPW+Q`BRiE3P0cyA;iSC?yi#wGpB`!v8lz!3Akt?N!JQr zvp|14I{)4DBS3&ZIPOa2?1@#Tr$#aIZ=bVjw4VLFkZ`XRc>1GuXz4FHx!M`CvmR$Q zHC;Nuth%N9dvE++bHl! zGKmyy+BttHPrb7w`Mk31U$%B0rc1AFe;HQ2)xNZbm&Zzi-W2z$*x}PO;GYcbZu523 zjx&bM?1kN-T|spqhnHcyeJP#oBo1?P9PxAcxNlM*rMtsd4|!!UmH=WWe0GlxInoG@ zZ`0>m_6?77&YCBaGax^%aOK49nhp>!OGB3mm+L`_J9t%SdEL}*eath`=2jSdge*2RomqT65iPqe&(+U!) z(8Y>dUxEBY=XP$IJ*{m{pan>!oD*e_Br>5@RH5OQG^^1R>{Y46+sYIYw zi&z?rNj$AwHm_&)by^jI-7r%$oaV1uHGNsAOv0ZOjVeurGMFP{osvzt=+xJfFGo%~ zMLnXi6Ov0MzQVGp^_A+-tgNl;969h+oxV-htuhMXD%H}@1+Kx9j9oyRIc*(8U0#65 zZplGGz);T<3E!%L-k1yRBl$@IVMD8z4AUlq*Lz;DH%WP5Tg>**1{$W5boNXm`Lql@ zyx5p1(MW(gj3_lY$dbW?VCYwl^xE1_uc#}FxIL|SqzO4JNMtkf8TXEKn+7;=28^Dz z#!8p7CN+agSO3a4eSp z@8_Vj3QDX;!z(PO1gf~HVVF|^t4syaJ zRq3TOd&=Qd3pyasH=b+Ljw^UqXLjScM6$!CZou>1<%gp7w@f#HUYV_Zj7X~yGSB`Y zy`uM8PAHkpPb2FXuf#9U1C8-}mms6&D!Te*gH;yOs>F59oZmbV-;M{1TfgZtxc}Pa zk=-?X^WOfXn2)nh!J{<*^@3G^C-_U%<>ZPu}Jwc7(nYk zJN=nz=Q2Y_Y#%22bVmO1=VNc4=x*5-OSe?uaqP5fVkQN$>g^Cv zIRricEa2JdtGK^8#`_x;=JUulmiCfiB0NkBO_Pa^-_&qAL0Umg{-)uY^JlxF>*LDu zGEwYgQaAVcZ&4P+qp3HlQn{O8!)Z;EKRTEBnmek3Qm}f?gQuH$1K^KhN~aXa2UNk) z3W2^nkWp6Th^1^sc)8GQC+Q7>xk#{!lo^W01Aqt*O4f-lcN$}WdlxF1D;mWq`l?v^ zkeBOsJz-5DE;o>T3$A@(^{z%2%w?gC5$wO2^HUhl5c`m^6H3n{`>^!Wub#o)yLMej z0wo)Js_PJji-Z+(xfSycEb(po%w71B^ZeXtZAQ4I4N=}VVC!+P3s;VCTk(>MkT@l| ztAI>*L$ZIoQx~CP;oY_EdhGE$$P=1BNOLj&hQ}Mzp@{05(;K~gQS}LoKNcvlxH0lZ z7A(NNk@b#rd72cvhd)}VRuchAm2-k^xM5co@R!6K7T~?3gYG$7=XhOtddD(fAzv{3 z#1!Ypdj4R%iU(rKZq#72$7X3C?Ln z)Y&NnM=B$gu5?+>)k)Qxr5!0LN#(Yh@Tr2-;uD4`#z!t@68TYdwD*q&ivaWmeRwKd3XQQ&wtHoBjD4rMOinr<|`g@yjBG7WnIB z7WR_Yl>ZXQx>!ilOaMLc5ocVtF7y#<=_#rwDzAHrsx~b53$qHBZKV6nBU5?@MU_n&;Ijmq7!;bY zolE`RP_F_?J><)%nhJ+GQqrnf0$3e5xMzP~7`NH))oSz_R;M>y35cqwb{4V!9q2on zNWtV`v~TK6FeT$Y>di1|9E@0u)?4|!ZqjSyMxdjVwdaQVZLU=nz-L}bq*e+JpCZ1i z5f^}N1{b4@XY>^yE}{?ZoM6o;Cx8p5kqivGyHPqrMl!ibq8S^5MtM+|;r-r&5P*%6 z{HQak|D&yS)o7U?zP{Q2;M~9H*E{ilMsJEjBgK#Lz`%&v|G(+1ld+)xPX8v`Pe1>6 zyw_%i9QfBzv%vZUUZ>5ek_!ihAP~SQg-GGPL+Mz8lt~EWk-+6i!gP$9c%@-D*__Nd zN&i+opvLROFSo7he*0Rz+_tt_*0#Liz4Gtr-hR~fb1+Y)M_szSYTtQ{d+dGe`}Em) z-RAq45{(D5L}kFM8y}=bvV8RoaOQ}1%&J?yu`y(x@baqyu4yEnubPsw5LPi(T!2#+7$VZZyWJV_N;DHJQ8 zco%_+CyT@nx{^&k&~$$#+OC8p86^cEjR}uSwQr<|WmYBSsQF9mJCR1{XmAwS)w9TP zE!&WhNKSE7W>rRM)LNBPm2n*HZ)+TM8ucj?9z!eybh2Dj1PtTEfb&Nm=%iZ7DdA=o z3!dKCi$DwBUVP{jffbYpsAU#P$T~@}mM>FZdU}X6I`x{5p!-_Gci1g@XDC^6pdr+#0*AUeP>XRyfV zXll!J@ll-bCeI*h)EPEUAn#A9}(j|H>?Fu8wvNDGVGRr^u+hNe3ilwE)Z&u7<`Ca&+Ey0ZH zQS`>U9xH@;Lm{4yxxLGr=h*tfetS}@+g2mT*1^HfgH5uw0JQbL+WHEhHk7E{1S{_D z9^5Go#ofJlaf(~5(A6fIC(i~scA_s{E{_jZ!W&dzuCoIRUlve|RK zW6I6e8UtRDD2Q3uyyma$BXZRb<$=#=Wd1&5oJEjY;zAHGr~LXA>TbVCu1*z_tM1lD zvH*XyxJej8gukaNk)kv|D8)pu;8c!$-h{Cd@XZ2q59R&W7(JbNuZriT7cRwtiYBRn zvSv>dLq@h!SF>+Fy}j_C5w(^`OSxQYbeMAD?6$z;YKY*xXj?&JPqXHvx!?c{674$O zp9(D&5X&3AC=(pM^ZM+q19N`+{uP*aqNC?iVjWv|yE~pOI{ZpuI8bE`PpF}A(CmZv zAqZ$A)%3Q|h^)QGQ(Sq!si3(7>JNwtF$|d)^#b*vE5?qEnI6VW@>V!%J(HIuX40d* z@*=^3-DgY@B3V6!kZY1`JzN_`1fyk{@rDQ%YAM{-n43@N8;KlLr*-HFfYIyO#+7!| zB{j;BPshR!m1@B&7ou4s+VoLK6T?mIF}{4^zewMP3|Yn3XP|bjxrE9@h<^Em5MXyS zvg>U(aCY%o9bD|7t!lL12>%xGt?7z?Y7PPz(KkpvJ(ZI##N~vIXsWHT!p_nql>JBZ zKo0_{5>yaOLtM+&JVlvz&rJvV?X=_gGO_FqUEYApgE)23c+0Q@TLif+=S_-|Z=|~N z{M>0xovw2u0gT07vB@o(&ev0Zi+!wV$5M2-F8taj;rRNHa>^n_gABOd;uF`)=JGml z#AzBq^-P5+LAtr7=G^4ht|&j{AiHF`4h)n~s26W+pGEd)&N zoXo`br54gw9%bP7N=|-+4*G#Feh(rj*g0Y+O;j298vkS2lSlsV$vN=t>u<2`5%48Q!^I9$4g6E z3FDY&l}Rl+G^K8;R5tSJT3650+l{x){Oe&nQ%H-%!r%GVNAq+|zS1E;kvMdxyVks) zO*&joatSSTor5gT*|^u$uSh@_%$J~4ich%T^=a8pe#qh!&tv&YHJ?c8y;bsau7SUD z0Hs9-G>#>sNYZs(n~ZmW8`g*c9`*GZzO;VlU_3bh%5BPRlq@d-Dchps?Qe;V-w;Wf zi`h>1S=314;e|68*zWpNLNadDh8G}Hy<)85nqsz8k>Y|qt}Ndoy$ravNm>>u7!XQl z$cV%mnxk{pl!v@opY#qk6kf(!7U|umdgcbRBt4|6|>{wx4&-5gY zvb^ZdJ{@B$v1miAJLvstqjYvUC+XEDQ&NvYk8?^O^Tw(EOxwni;n_y1C3gDbEq1Q$ZZOBUPfPtMk`wK+6u4adw|wK$4;TsnY4+oG0T8 z&==T{J$}FMf0aEbP6r8fis53HzM*0!VM>DL)xIxI0uq{oNq-Je5XTQ#{WS29HmlJO zfzcp$HzU4mkx{ilzSJ9vhczfmV$YYZVQaQR8yg^1J?RQ`(%?{6s3hs#`gXq)50!k9 zTED^@xuz-Dt+*xuYPPLy^r>z9Q2Xh`%z=idj5c&`byflOW3#RhA9CM<%M2Ue!r+)o zlP+h#`m$3wn96(NBUSIj&+SC|Yf~MO2ox-=(kNOM{DI)_OSAd;Nlvy$5m?meh>ICo zVb*G+%`~x*St^~Rb;HnZPgSRn1-Dt9^M$@=MZlL&O zPW=px1U~kaSA2Id#?ItAN`!4Q7BisCq~p`k=KrFF$h#=ZW!P0P+TlpdN~xB(u!0?J(~;c;)94GLn&^x48r(ZG+pI_TBT4W@E4#cOnWk&i2F@DZly2Lmvg+c} zQ3h7im#{Vhc>+L4t3Op++^S~R)Y*NkanwS5B;w%E7}cU`3GsRlCl+2&mY56s1~w>S z3TidCT8Ac_D24FjY&!!jLobo%&rULAoc0tP`V33TQ!lDT$-O&bc2G5C#M}>yVeaqw zQ7YhjgiF=^_(ynL%v17#S%gt0gH$<=HJx`c_v{Qi%3l&i20q*&l_x6ai9W*-?KsrP zKBMaGp3*lzVpKkIvJ^Fc+%a;>d?c!bymTF35M)r#lB&RvYEhG_Z~cyn?^;N77A(>D z5jq^jMl2OUz5?R}JNC%XT&($o9@1iVq2mpP#1q?}Mu1oyP8sAo^4l4|_*i?hbFRTA z@oH}n70^PJ%YM<5a{Pp`(bD&k57@>8)hH{^XdP|rb$9Q<;73#`!#Jd!za?0>udF3$ zz@5|ti$i~nn;89rgVc)NP3XGJLrI>dDNBw;Snd2%E=xuJ7JUnyHdhiD zFB*Pkma#+@qD&3qD7! zqlZJK8*$XpMU~eL0PgCyN$7@`C28_jYHYtRfLmZ}Xwub<7D(ieqPzCUnhtwNxqd7-c}IYy8D{W%!>E_9GQ|Ru%sI5UIAi*D~8)Jl6ty zTcIk7BnO9+RLXqfZC4?`wro@Jv0~o-{^9GxIuk<9)61RD-ukBrq1)G-7Wawf&D2v; zuf(uI{De0Bz7<6J*hYDm*wEAK+y!u4*2n^?wY!{4R@cex8B0QI`)sT_$GY7GG>3-@ z9Ga&`EW~I0FjVL<3<7ta$FcZp)5ycRnA2mlH`cpklt6HE)5yy@v2IV>kZ|Nd@G<|& z>z>~FYw{j}_1C05KI^X#1EaIENW;<}5SWWvpW~}DM#HqjIPbZU&b_oTkNUZ9V zyG#mw+1spYua9p`eT=>W)k7IOWoHL z^21}QZYyvb-XlO|Sd}^xD8$o}$04d~%8BTv(N8OI&vo}m4{L;`*reHhDn8;e=s-=_ zb1YUPF)5`|bW3D&PT>koFO~bwAx>-QH9J+9wp-xMyQ?~oa;U?4tTKmRwlqEKF-y$q zR@OY3mj+3SMUG9d@B`!03eL&7w3R5aX=YY;bZJ~qvtsw-4lQhn5#}e$%#b%l=SCDz z&I=N}?$5=nv$Ya-8}0A-_nVrGbFzi}y7%h&y0BGhkqT}$7UDRn!{?_*H+ z0VPV1XJqv!m3vM_x8y5Jd6$?HKQm`F;R$X&mM70bej^z}@*pI|eippcjJT=3!uy(% zZz+eE>IMwFkkms^VT=A=C7Z6xnRx_0ESXNK^ebdgJxXi zWzTe#G`b3p4A>>F#NPQcqT2=&f4k(zg*^M~3tl%OeXTVX(#J3E>$cmfpFEla$=oQc znbQv~3l9$)8t{c~I@NDF<=?jGk+W6Wkv6R5otRvN5d(YzvyF zF||X<@nFK##f}PG%x1E|Mb=mTD7f0jzc|dr73oB5To+W~)~#4`LmhWtVXsVUs;Y}= z!cdx?Ndo@x4NQj{{gygt=tjc8vB7x9v6A8)1L8N(!s3(}FSbH|mse+t4PcrY?l#4M z5XGT9vLPhTSxj^UF#WrfikdoEl(5@MnvLR3cmqvu4PBzDe&ghwf_w!VHbP@X4D9w; z&wE9$xUX-w++}E!7jtyl2ukIZvHND?LKLS|l!L*{`t9?m;kNgnBMGS1F(m0DuL>R` zqi>TU;${4a$e#dqj>#>_24jRw)xmu#-hx2-dhXtNOqU~Et69{>O4)H#(8mv7bXEg! zXg=h)xjP%O!F;j%Fsz3q-=%fA{K1KR>AjBp2SwW;e7Gx=W}TX3T!D`7F}%6gLq|Qy z$?)Z1ix^Wjz}uCsfZ#>u^e}cA{FAIT&>=$M7I(r=VvAAB{XX z>a?p2`s=p}L&*2MB&+Qdc@rnYq}oVa;Trl(DfT;sagE5LtUzdeKLG2^MB?ttq;Dd@ zT{@+CV{^KkcsKFqib51WNOLT*%XoBQFk?K8>n=JxSun4nctkn*1O-s3bi~t5t)Fec zPW_H-P>KkiHCO_CJcJS9%n_*U<<`n?mx&TS(6~FxDvQGg<#4-Ot@-`flHkCf_<&@| zR+`~d1Jf)i>Qt3aqHKjW0%TJ>+74r+z1~%(sjYpRHmWPw6x-L3@Z(L#bq%VwA=B(v zt0;3O1Ex96C>>)qf~e8x0U9pY`|Jd0@KCWw3a;3bmkkdhJZ9{s!d)~ioi`;$O%(KtFca+f1x zTnoPHU^{m%OS+Z8$pY0#@ld@UA*;`IY!2e(B;#~b$oGM0EJ!OvN58R6CbtyZz)M?s zp2>X!Y#9}7oDSzT`gZ53DcZM))5--)U1wKYUmNi&o1_pdMh-uIUYEq3*xvr(#LdgN zUz}A&f;#~@)0`Gqe(!@=)zj?UD_~WeiJLX3xL9Io)#zwf1(QIqQ0;-h(?xvKsm5f# zQ;^&e%L+*Pdh6c@Iv>K#8s>fVKcA;engzkK)$EgvHkwvuy8hzfHxJZ_V1paqs`vT> zNP-OJC2NPk!rFBmcmNya=Q6V%H8kf%HME?~2Fl-ld_2{C*KLz(-m|@wZPHA_$`YNy zJOcMlEHaUhb7y&>(wp~(cs34|TGOgjWrZ@f;%R+~hc&Auwuj{Ev3fp&;4I@3(C4Zp zebW-72nj#ff>PfP2+DGoiCoG^$_sLrR3^6dh4_*%Rk6(7Qtqa}5e?F5-5;h;L(=qFoMg3i z+oZT2qP&2rnpmg z=5cf31?w0XQ40$E;AQ3dMugPQon!5SPyTWpZ>YQ>y_1{R^6emgAEV@CX2pEvrGY>+ zm{YXrN7Wr(ze;`7z^s_CCCMhA<6@?u%NN<0`y4K^q1x`syFf{^h|L{Zu(Nu4bP#Gq z?41jy^%AGe${6N6h^cmauy%gLqNyNn3_jj(sT$N#@QnNs{3G&iAo*TrMC++fEvs1B zjGh+s`ZUGhCF$Rf01rm7@poC=e4JOoHG*A zjO^>FBck>kk$~mHnvcM=2@<#J8D8?e+S8nx(Q68CHnNQ!_JM*J`m;qz)f`XqeXG^B zp7k>Y)N>IXxaPa!YeZ!z`<_4M<`|(_2{`-)TrldS}dNankA>oaB>ao`_#S+G|MwZDv^;70^#! zh!Ob1K^~;RZ%ea$6gQ4c9r7WxO%e&hEr8aY(Lmv#OEjcV-kUlyxmuGW#e# zDhf9__eIe!w8({_G0l3Fo+c6XVB}dDdxEVAGfU{7GH$^1II-`iX4~XW+(xG7UKnkW zKN971!JmsqQJnXP$;~#gLAV2EwZ#;TwzW-?_7`tW#som>tvVUlju}CYjxvp-_$KGp zf!{-QGSI8p{gwrhiw;>6O+CvB$Mnnzs3e)R3MWf0lwqbNB3EcW?!PmQ;*jdqM5F$B zwN`9eqTVu^utn)Tq7z~iCEDcH+hiVv5ylMyfvfd=+Eb=<^r!np`*|ZBCc6!w)YUBM zo^ccT!@0Y-`XhDiIcRs*ui`(O#RE)pn~>wNN9NMgIjnvZlF;bwa1_|n>nCHL}y1i1RC<{qc$h-`VI#ZJV+i0^i!}W!LTkqdPx_RMm z?)BXPo1Sm?2N2DkWxz93gXP(6-@a)rfERa_7BFMFLhhSmHOE)N5n_mXWerLjVa0!u zLzt_;8XF&_O$AVV_hN-3Z@eEs^u)JVyjP)Gdcmty*m3ZOS*TM7fBDGZaDpVZ5O1;hS_`Agpv6W`!QVC{DoZ6Wk zctrV5;z*TYn7eOeoDCOa-pxzyF5T*RX3)pk>aCxKTpeS_MdB!FNQ)BUjrJr%Q&#Td zpiGO+k8gH&XSDT0>fV!cPS1=#L`k>FvC_l;+JUPr`;~OsRe#ZI*S!~Q-wCF#h$dvd zc>lChkhGM|y$6tc|9wI0pBx!CQWY-yf}7vych;`i3h<}tS1D*6P;Mpy{6J4v;nj30kQ zt$v==g@#Y&TEy^mo43(sme~jAToM;zxt$Awa-}|;6d)UX)ONjO@svyWNXK~u%J`mk zyd>(h5YNTg0%xEGLc4D^^^9&zxV+}H2i7JV=iioPJsdK9Q%?(ykZl}xGodVzS#0?5 z)>jyJI4?q6d%@H_+M-NZ^yKwP`0$3k(ZS`Xvdcr0JnQC-Y@@@cp8~E%bgTjUXq3qy ziF%PPD+YS8Ytbj@)^KRgwR|Wk9s&V#lB}3-DaiFI!00?NLNpFb@EO`#Uu3mT&h2SV zTj5%wkv7JDVIU&93J$rsM*d(>R%*f92tg}Qf~q(WuY$g zjAvSdZvZw9+zH6R7>^*6i?2HLp8KwRO=DKE&%dOih4JS4&4-~2f1gk4)_AGFYIQ_c zvJ|38Md)+BVuUv&;8jKOGa-$RP`4RJAIQ*cm_1?msp>njHO1#QRtg}Py3qdN9nm!| zmaa7}Ll`d6v~Z5soXq&%_aaM#3NY1$V)GjAL2CwFe3I(599B6dR#dzO*v?jY&#r{g z*}T{Z{u;{%bj$DRtT^YU59$-gv&o<0=4Vptzl`@REV;5jfx}qxTn^;;WBCt!TE4Jk zuk2H{5OLm4;d&*q*dbfNvM=ODp#`6zd8~oTyV4#a*iVR$-I8tqc=P@LLa>u*a&t+qy;AKunL% z6#-u-72Q63Kw2F;e0?yeYjooUwj)UCpQ}CaB8w^kVA&5mI z89|;Td$7)weu@Td=0Fb}1XAUT%#2)hwoXKY2&F#ocsGloQC2GIb;{TBqF-ef9GC9y z>kC^xjfGYyj-k8OJM5Zw{uRghWN0JGQ!Nj4TY6c!#g5I&EAJb=SFh0p>3x7QB|J= zH**~($J6y-pD*jmxi!Vim0(|RcUB^Gn2U7)R(ieZYY6$)jnvqyd|IG*R#$i6=dsDs zl1!Stav<6gNt$cF41MaI_%)~fivKBaJ!fElqCU2x5Og5m6@eo(5PT&FnT!;SGu+C# zLTmyj#bz4?JuG+-Ji)ELB!eY7p>G||%&%yTWF5}0uikD*b^f%wV%d;BJ!iZEg5QC` zKVlDJADN%RJB!dXfxh{2`=;EVh1K&8kTUM&HATUi($m^D^u85J1)bth8>R41;&!>< z(z1h%L)?3%H5S!(&*c6{T9kcqJcVRCyuGOg8d@NVBUuJqXh9^nMaerH?*=HdiqJOe zZvM^8hcBVb7tR=Wl9GaHaJ5-d=Q_3`U;8g% zN_WCt={m|h)X?0=eh@chTRG7KXiGcL$b5aufJ=aEYzk;(X>qPq)H;4pIdD}hbQM&{g~emMz+u_B=DKZY zIuE~Owe(2gL`}4^Ap&VJQ z#M{%@RT{5?xH%~qNxUO#=ox4PL3b_x@v23gKXlZfZne*^y=g%9q+eFbOqqj&2ua$0 zB4x_g8TqRej$mfYX0H`XMtw|dezaiFxCCiSbZpMUoz9`u_#OYn7>@^-G{aT6JxKr3 zcPEw1iNrTX@RF#q=+uLPlXVYckV%@NOc0k~SI}O}uq9CW-P`6A<-MdqTJbi-W@Gfb zWgGo9iVkdoZJa^eDrpN3#@e3NFBm5hZ-2vcbQi_J3P+BfDi2-=_eZdLnxeUM#IZWh z6epd@s!ka(e4Q1;EwPmcPu(c_vbN+2xc4+OW{jAxB)G!Zo_>w$ItlJ#AXeW{6ge%l z3#<=y=elzzq#5izk)L`pNW1waoSbi^JzlA2{Uu$JsW_1-mxB!AQJ_S_K!X=o2nPXw zQXlGySG`zKEU{lcUY}WEsFUq`o2jw0u7T$IQaI-%yK{G#Avt}ce z)P4L)=0-tta47r~oa6J%N4bic@ezd5*UlDyDxJ6@xho@6C)TNZkAuE5{cLr}vPljDrD=nOJ#!FG|iwbAA@d?z^gb zUaus;BlSsGQE^IE&d?)M#SWeoPN&4!qjP_RfWMn;p%NbncvQ}jZ+^%W)&1@ALbw94 z(QlL`NoD>ub$YMmp)YOYBsa($c(UkOW2?F|2VtX`+_3LDZ>M-IB)a5J;W>M@r^dm#3`k43A=;OWc?%D}PMBf__b z#E|o!T!Ee0VD?9v=7ms zRsd)G9*2~ZOanM|Vc{28ikEbzXEgVRnBh1O`U|!1#1!9&XyF0LA*nP^O~P=-umxT; zgqTy3bw^XMhU6&{r}j870>p4jxKcA7=RZyQRu%3qJcxdg=-i9)t0SY>aJV%x8ID-UoH}iph71t##he#zBW!ajZ78!G^f>VIND1KCx6*6v{#{?P^>d@#Joh8{jT8KI?f+^K!7va^+iCQ8(MjT ziQhqcO~X-s*Ung5-sW=}X3N3t=1`&^g9$kUw@Tgebt{tqONbFlG(;IVtwPdd>*l8F z#l~_|_(S+LxHEGsW;|_B4a)bX&232CO1GW!yDyCLR?|MQ8;3F3IFbMG=E=^&67)1k zd_&W@P=VE=sZ3enkJOfxi>4oTibj8L3c`W&0n1H=0ym_2H@w{fBHrvztjPdG3$XCO zxu>QSYT7ku0c*DqY~N|w!u^f7y)ggNnT&&tmYI-IY#{L9O|>N; zT@2Upjmjd?k1?n#{2;$^)6X~Jz%VN3fbFoZUzkZxKr&qik}fUWj{rRLOx#dFNL3WAXeOSh6-~7>DA6ZngETPhI|KYG-cGj`9|@}# zf8X5FN&K3AXv_y#?Itwcrbdwx1 z2umA`;gx*!C~HY>EK%~)vD+;I&$&J3w0sfKzXD6}Qe&Hjor`V0tFH#QFxRB(T~a@k&Z&Q}%UuB_`xa51MZ?CPpGRKdp&d@sC+I0PJC?NN zSB`7Qtz^Dor7x)MFT13=hHLV~B5n%~i+q%MBK>vksF!=S#E4D<%H?VC> zoiI;0NZS`x$X7J9jP=0k8fQ!uoac3o!mPRx*j7@i=O1s+;CGcrtpeyL#AC#dB@m>i~I3q2MF?Nj_wsUd2lSK zZ*Ftxc>7HA^UDTT#!PpexQjeYJrD276W$K5{30b?FauaW+J9B40$!lDrh`7{C-E>j zI7f^WyrZ9U)Ucwt57s()QuF+l(Ja_bH(`({!bBGOwch8V`Vox%CRusC_kwHOU(s+K z_UB*@H-mgx?I()w>aMTPx}Fm0L-~G~;zDAmGzrrvLxBWcR>=&|A3+)S#&^(e?Wi6UyGLf(+~hK z|EKror5dt92PFPC1mcAbNC-TJ5Yhul{~Zvd2NFWf;v^j75JH&ffyiWkXqx^eh{ykH zCIH|Nl1UE){VO_14;1*f_l5x|{BKW|0Vss9p8X?C`tdw- zlj65MxFl?Z5U#FupD~OBrIq2*iRkGXe?zv5uw~Q~41U0I(*0<-7b# z5&(ce&KX}F{71pxoT>lasu>77)9Y6K0a0Ku;O~cs25`hVA(ZxA>sq z?BMF~|M$w@ES@-jNdf@F5Ef=2^*=`cMd}CmFK8d)^uM6LNxl9H!iCiTFX->g1+4$5 zQ-Itu11bOA1QM3lO>pgn@UZ}?{v9#?Gjcx&@nHc{kpEfp-|;;Eb@uHLq@4vw_OINJ kKXOD1kVh6E$v<*`fA;?S78-?u@Ua3Z;OMDdNlgL&1GY0NdjJ3c diff --git a/classes/ssl/VncViewer.jar b/classes/ssl/VncViewer.jar index 23e4259c30182a17553f41c2f1ce1448835a7c4b..fb3da299ae72f1f77d5c2544a32b6993dfecdd92 100644 GIT binary patch delta 27804 zcmZ6yb95$Av&I`66FZsM_8Z%_ZQFS#$;7rN$;7s8+qP{dcfRwTweCH)d#{r9fl z^HkOD%WjCaQ3xbO8E^=65SV{=LX!taJQ6p=|GZ@aA>#ji*Us+4{m(*u3p^_9|3ryX z=rlkbM|=qkzRt7Rm?4uS`r40w1@~IjX-Hb76jL5g(8``iRGv+K8EzHxU(I zclupl@;4t_ID8*qfCRk+1cA47g1_Gq&!Yq7SpN(Wa8TfDawQLi60D@Ly;$K9N$uw& z>2BC(#ICl?KM*zF!s7jjrp6=3GsBx3YKX?ctLN~=bK#gOP;#n)SDS~hqQYZ`1}l!* zZJ(fOKuHgm&%ZKkUhNy|hz>cuZmO-B+eUjXdM&WxH_K4SJlaC?h01Ze;r89?#kv8C zv9?XqZ4kxIdH#%sp7#vPvl9|W*bL@&*uuNR^|maiYJ@{#DgYat(SPcU$Y>SZlSGIY z9rjhE8FSPRK}a|4+=FBl5hHjDK&i1%E3lziK**l0us$#=iLJmkEgpRn61aJkLuiLy zDzBD!l4ZK-ppglw3M3k-^>&jE+1~=H2FJy;pRwq+kg`lQAY#ulR2TSRWF_r3z?Iic zIKK8+qdV(Ed7n7aIWI(++{-I1_9yTj;U%UU*D9(OvMR@xD{)(@>TN^?M&@%J8AEts zNyHWJY}ID8<^~>ruk=8#kSuHx7sq%1Tf;CxSuSHg8##UD|C-Z)(-hf~)Z)WGRh&3AHeSxIsq zkD)8vq43rYYrA*f%6ED2*>P!*yW?coYF0|g$RLu-W#O^NhqKv~Y!7Cy5?i~Ka z!^^izy2+`J?sJs^w?t<(L?}mf3&eUk%Ts%J)l(Ul*Z z4c@eH;e`t_2k^yR9ym*;MSifS!tOXv2l`#VW5l@9mqjg#A~PtObbq-u z_ps2{RMOX|KY5pob|Kggb&j^!k*=z*G?v2@^X^`*u7~fcfRmb$E?$ViX;t*IG$EKUr zy=ScW&=4L)*`vKDtmZ0N8&myZcZxnu*!9V5;lR;r_D-Jqn^QICuzRy@!t)LO_F{v5 z033k%Mx%JiVIDRZ?)+eUA^xV--v#zFzHHy}d?9xL2fs%Fuicsgz@W{Z?@9R^&eiM> z0lEW++V@IypRv6QuW{q!3il^c+Q}69%+CeqmFY^k3$<~xYOT!GOm)il>c!+WTeo8G z3WTa2sv-3-MN*Oi1Y-ZF^Jk9RE(-hHt51prml4x-1lB!G{u`1v%fldw3zrjVuEdH8 z@l^$3qM@3m-rA=8<+T9*b5vckN28Io@bgL;r=GSbG6&L8bono2MHy(AU1lGibSMxI zMg$O$|EqNMWq2o0|CP2Bl3K9;Ml$4N5WxTFAISgbLi!hrm^r&j*_%5snAjS*xJ0W= zJD^FRe+@mY6F4-*G018cQzL=~0tc86C2%je1Q8%a!oo3WS|#lWEVAvbZEuhl2)*}b z@GQtwOV!A$N*B0jO7LlCeX5gb9RZ`bnAI*uM+Ec61FD|Lrm+vkwv4Z8*EnC7yJx^umw{G6( zY!|U*jMd)K`nLiX?p}%tYxV#9VhtNlySMST(ce*gkaMk7XmzdXI)c5>yR+GHeqSnE zZqe7SWHGMxsbqAGFeqPuq{y$vj6^JRXnl0gztDSN58rQ-vG4q7TyE3vK9f5?=b&)Z zH}v!<6a3jcQRFBhi0(;$JGP459|~5(923NWv_p!9WvdGu_0=xv%n>h5?#JS;@t7QO0|}JN<=^vhg(3Vf>*fS+_{#~v!Elj=|g#+?r%5wUZiM54@Gul;uYXn-??_-!Hzn4 z4E<#0>9GbZw06-5>O8hE&bb8lxj^72`FlZ#PR6Uso4vsM;P4iHZB3r+&ADd*nwGB!UmBe z5k=z?4vo*v=Mq;kr5Y+urN0HTpnpc$D#x<`u%$xZ`9y`=zI<#+j4n(4Df0&8J+1|Qp};z9!G|#; z@_hnty%=^y-#jhnVI97zr=ZTkrTdDk5ay+*GK3<`nPrOO3)wKKgD^7s<;M10G9=Qc z41=cr${#zXV%`uOI>s{W_-GIKwf%-p8g_8S0nT9Xnsjxa;C>Zhe26e;M7diK_<;T= zH3yOda(KW&K%^o6Z)$>haMa(^u|WPeBdJ-$fBZLc5k>(2Zxkf<@V}9d6c_UUtR*&U zk^*5p(A3bsiu^7Mj5KlAjHzV=7vjLEe@2+83HAr^LV|wyZX4@_Rs*G=;aim>uZB! zGv;H&1M^IXxqhb$Zs53rQgZ2j39r7074qXfFaAVKNvoSp8P_|ON_bVa@P8|4X zTDU)Qke{+o12f2Zs`IER&FN!&S!I{T7YRpVmm)_(zGM!W+?CZe8BIUkR%Mo;=`}Z_ zqCQQZO3R0-mm)Ra_>Q59akVtY-@F=EN@lRmlKA)hZZO2EMFwL*)Lvqa#ibLhwoh6b z(qun`8g13JxMBG$n|e>xc2v3@m<=SggDgbBRP!k~4^_iR*P>&>ya^%+#$+k;XbmxI zl4@VCn`bFCv@ZCiVPA-C9P3FU*I_UqA9$(0bd@j(WdhUKJiK06H94ne(>TUmQD%g( zhnr$p8e*0^LiIiA%k{e-ZU{?}{n2d{VZ8_&i-XQqk?E-D++0T?@wM!C(kRd|)9&#x z)Q7re2qC}%S_0-hEQ|G>9&xmYpDiRuAlgYPpGrbyfGy7HY~*Bh5^IP6fwo3y}htUs&wy0V%Ckyi(j; zV7=N}Gss)7?u7a}S+rwVxs)=IG+VA)L}okgW+LT0J&NrVbb{vSnIpwO!e0rgk^d2j zPh#zrT}6>|qHx+~QLdBnx;#mcMpJh{NysKRc}lbB`6z;!dM9d2%*D!eDCPG+%BZ_Z z`vEhH%L|jV%slglkr_~CI5F)9HO0>1%xPoOrt&nNm@*M}cJf7G zMVAawp!P1sDA-e|i=Ur!*!yUBuqmfNq%`49;Ma|Q04?0h%K~;4v+ef)$M2E|yCkfj zyplqGOJsJwv%Jl!5?^AjaZ?5S#EnD}4yOU9+AUhY#@pl4@8sHtAEY^o2;}O03l$htP6Ve^_y`{wr+pbakkiUH3`ZHo; zo!>=AjN2Oce(s_f*AFgAc!290a#muH9=wsSzemK?#!Ip%FnVuLf(cA)20G@vq}s2a zHbK~YL;pu_dUOkifBdt8A#nd!Z~n>6vwj=Gf2F0-M&N&?<;A{^?7z}dl}H72m}f%g zvzKW%$H6;v5s6}=ISE-vf+oa(0UL&#`luz_>a$&oBzkh6M-PnCWxG_kV2I$2wI3ZlKMAUyPiBxDP? z@Q7fP7bV>TH&xIsEt`fhZyEB=M2ZvIJhBN%ggsFdYe8 z?Jth-ZK;IIu=A1y`wXIRVH;}Qg9s{CUwkj_Pt2;|l^(aVF$AM$4sh%~y)owgEFIcX za#~7bqFCgxD5FiH&X`8m+D0$4YSfNl_UQtnlIM=RLLB$IzS7MUdsjh^we0Q+AUh<= zC$8Mw!r#?f1}nrJiJ&7OiLkf9-%Tj%2aw(+teQ%l9Hn=d>q9oN9ORC|mZ;?I7k2GW zt7yNp{?5OiA=YwEwQeI(|#=dZFDBko(2 z{ftbjal8MO2GB5t`3kz*pdcWq|2)b6EfqjO5^ECiQ;`Wlp@GqA+b;ic8TP0dmu-*; z^z@a~>&ia`a>Iqns_u}pEq2lo;Q7_I$sZSLSsP?_9~(n26Se_MX{w| zp-my2YLeBJfv9t+`pNOVc})6=#H0+nHE|+;ee_%%B(YQCl9>ZVP-7&yXpB@Tt~vWX zX`^(phjFwwxchM=S#8I$;9dg@4UX(*agRw6DuW^Cv-hj=5?4|B**26yBrAFu{9}ld z>Wf-ojM9An`kFj9WNja#d27{p zUE=*D`)BWxG+s?lD0Ibhmtvks2|v|&r^H(fn3wyD1VeeV7TFZLCpRjcqS=Lf(uoUW z>S^stK|yb?ZG47SbyF z=4C-MgA;JtShJ}3aDMovvu?$wc;8=JDB1)1D2|AC!D=1oO6oJ}jhekn7`AAFqcrK4 zTNUE_hhx65#WWCr#97%n=;#H(M8XXNF#Bim76ORW4G`4;B=ZEJoJQn%eZ5FmAaBo< z_LME-xWU}_49VIp#%Y&07$?(j2c{_Us6CymVS3rQmfzQo7#=s&S9|aqq~&HCLw>k? zJv4-K%^|}tgx!14AL9E0H>6(!3NLsHE9xH;Z8u4eyQ?7=kTnLX5XM{-Eb?vg)kil( z|AB%M#ERs>KOpEq{}&2y|8J{2u_}=e$ojtx0kusBbT#zv&1^dl_l>!>h6c=LS($*( zUsr9();d%vjgoHbH0{_m%tnAtJLr&A7FL;)_U`~>iVmZ&4(Y(k00=@kSxHZ3e#@wg z5@vt0w*pxIES~!HPeY;giBGQQtnF)$YwqW(V&HZcydgv}#se{mIAa1au)q{w_2;f) zn))0I3(FssxIs&pXZ>rsmytXsQD~0BV05l(s?H)#2x6u48K!x z);8Juai*ADkKluS^9l@h>}%PEDRKIO5y$oZ1BP{!ewGdD5X+8H##;&zCJpT)u)dlX z-`73V=E$`KDNM7Yh^b|uUcMt)e2{#4YlrC|kj+YubMl3(;WmUB@reY0gMfv{0p*mt$%_V7Z*qHAv>qRnFBB`Ic$ zUpj;aO0saN?fJ)V;s*)5Cjf~eNth8up#KHMEq%$kWizKj$vru6G4%@O7aDN~YOmA; zOG(3CeEED)>6@`C=w3;Noedr-!e^`-4(#qCjK0VpBaM5^*i;SmmPsZ}y5xn(jK*8+ zC|LGD?ukfq;=tuwC=pJSh&HYQ&J#-(4U8<~lhvb=N`;b!Rsacmv-sXi9l%qS{trNp zO8)pBq77)|Z!QdU3uc>S4=%jd^}vDpeJZ`SXTRnoTg}_ipEgftr-q+^js-c3=AcJKfLOui5GNzCQ3r!J z?y)mU=sNgPSZ5B9qxm3^rPv~Yw)4x@QT+?8GwM5VaGV27^BA_ssiA2n-xhw27C4h2 z6#4e+E$LxzTSe+5!||30$s`I_{|5-dCVuH{)(5e{;J;s5VckFdm=S*d;$y@8%P-iO zumL7h#4o%<@sAMJ>!r|LeYsd-UIh*?KBXA(p9_(XAn!HQdoI?YwGNp=e}Tp=;HS21 zEx}Dba$i6L4yKE0@jB#@CGk(iJ4~?VnJ-uXZ&X}Q$;uVfcD3dq)VW(0d<QLadBwZ6hgYRX|w0EFJtpdnafU`Tif*5J$Nr|_u@h}AdQmKrl zXgqV#lvgj^V0bj**On?>=ABeN`&^R5b5QQOiUP1X@kH586vLW2Gr@O}U(Umge(j#w zebL$6N9!xZKd(!Svx{{7S#nPzYL_x<-$Hg5E33C!v!FJ7+Yz>VU+*K}`G&G;m)L%X zaigHXwid*m74}*4$Fmk5;miv>#l8*ZkjT=gdkw?VuzQ`*l3r>j2vS&tApWq}(CE_n zBL2@W$p28n*>QRJ{vRbg{+AN}A4o9$Aq7@?!+NSNKE7}tca3()>I<_FkNn&j!409i z*!u+!ktB&42f>!x7uP{XnwZYT3i?;QT)E=C%W$)~#Soqb4P8t}XX9+Et#PsG%B|e3 znW5Wd%ZF79d*-Vf_|oOG&G*kYOmjcmJ|ijk0>9-!N)%rSD|&uIo0}+S$RoEnRs!*s zrMmSq7?A&jQA)Yg;Q^0&rFqFyQ?qC$rwh5|GUf}pMKTcQK7=!(=d!3L84I~(GU^Mt zB{EzJxfL?*`Ix{M9ruG-T1KL=d<+G6#fD`Hx>bkA3%YeP7&!HJhiLhj2!Z4y8tu2Z z$PgF3jrJW=;D=8;Z@L|z4hy#wD8MuG_*=}^Hnm}Uo&_q4Zg{!6eA^>|- z66EohX2K5wev--S!q*_Sc30nppxE90z9Tey-#KuJU23q`{1^qVo*;$s2_P$gpZ3!Q zz|Z&z5BQQA7Vt47>`IGd+#M(Mg)~^aWdwYwnSN%nRiD1J#Q;6_1$ck-78kx2<89vv zB5W_*(w}ZG-4YONCr>}Sex$}+>*UP&{+tY*^DWpP27Kx83(VdM%mHa8Edc%u`2KnO zsQ~}Op=!Pwlqct&7fEb5WQptjH+mAqH5BdwW^Tc zcg1C-O9HgZ-t;iQNwO*xvv4N+?7;eJ7sG`L*yt6?Csx#6@MslN1LPL1GUVsoGV5KwkO)rleoiKsH_1bX!`}(Dofsl_iH4rImgI+W6K2S$0VWgu{Rs)gL*a+Oh?Oem zQ2_J{rQ*ffyAATdVle>y(y3&+{$G{O2Sno%h4HyU0R8+a6(_-EKy|57#%F;R!z5gG z%Sr(%}+uSz?#gi5WvQnoSD zJ3-xZBp^FiMYs63yi_*8O}l&^0BzDqRV7o5mVGN_56}Xhu(h39*aO7)6&`oE-ddrD z=d4(=O6N~w+@cFvHyV27x&>#}jKj$Sn~z>*))dXi(CsQK6o&d|m$Z17Q6lg0)kzO3 z5HrswxPn!J4Y0<@ ze`h4rdSU?sfeM60e#^Q zSIN7YhaHM6ssxuOvUP&yCE2jbQ79p%KQP@W-ls5E4>J1mBrDtsD^tIibck9pWz!D5 zGSgt<l2SE>K^2B+<)da<(&E=T5Y4%YR&l%gxGgWw3b)9)}lCnt4m-fu=3y|QX(H! z*3(s9nN*{t5PKd~JFxI1>}n=G-&Ms7FNN!-)LiD7qREs=Q`WE}TU)bcE@{HmOw9z| zzjYL8vRQMGU+yz9WXBDHsNP#Yg(uhsGC=|>+41GBjM@Mu4^|c#YHud~EJhAjOYudl z44L+I%+>XrY!aHoFo%Uc4~4L+d%=_o3#JsPCKPfRznO{}DEg&DDweX6_3&CB^=3^o z(-Amt-`+GWI!1Zv=!(xSo7;pj@m8XWgz!#fgZ!l|a9laE`x#bbnllK(qBnXlT&sXW z$Fr~YZ9Td0rzAlPMKUif-b$?IJtHGY7CWF&Qv=|LS@Z_bQZ6-Yp*wj{Q@yQF>bs`k z$GfWFsUxDDY=|ujJ!W&V39HmBJcz}3uGD%VOwQL57KT5x>_nhw%-|` zBPe-z0{w#+ifOqPw23sFAy(^C>tBIS^IK`7Fg-a4#{?5{Uz`X^yuz^Jlc&EN4tE@E=;RC&Q#^Yt%LGG1M!{9ffIlNQZ&o=2Tb6l!5+D z%d)P<;t1Y>e-7&Mx)&LLu<+_66C2GCol>iR?B3%ccx!u(YT+X{Hif2@wrP5)g*|hg z;CQFd+t%6|=r3CMObgFnQ01V(R+|+ZpHK(=IX)3&oXJ^PLp7h?y z_62G1y5wWt7|4QD_3%Rxu1WLtsRtvRQ-4_I%sp&vkg)^zJ)#u+E*pf3s? zg#CjJG8c~fLKe14(rm*S8)Ms`Ic&Aav$G?OTA_}Ztj6b65lwT*j0DEPCkj)(63^5@ znTc)O`)YW~^^aY$bCQ#hvx_|o4d#8=`(iqd8pM9O0-V_QcM5;*x$beN*mBN&*~#s4 zi*FXzDWS;E*lr*t<-k$fitv}vx9dC}R3~-O*?QvBD&jV3UA~7(FIbFVc+(6nYa-67 z&|hW&iQ*O+VT%H??e`>zQ_+RhI~%>rpSn%gCO`;vmH-=tDP> zm`1}tYPRs77Km@DnhWoB8)br@>X02~jP8ZE)d3 zX@r}2#wuE(f0dbu?vc|#tm97|+K7w0b=)Ht*G5Y1!;4`yE|Qn$3SV)eRhi~wJzy<$ zS|^SfBkr!Oca~@nuT8$bm%tA%9DdhQn0Z@{U~ZW=k;*(rw)h6SO0Mj?GOS1L66Szk z-Km)f@8duy7_Ki$m?I)SH6|dKP%qmJJvUx-ex*U6&jxSayewJv&D3nMf#dXjq=uS& zRa(;Zu1NE~^GpuXI2f7L9h!NAR#xz61f{Pe5zYhi=ek@D_5%?$CO-!0mV&b8#(^dZ zhUvP?0LOu+mSGToV%8V8pOFC}52}AFZN{YY$UD$`?ETwIR1lu_q=*smEuzbu(4+qj z`vLKDS#BHmAsgcG`cyB-Kknq*nE{UB*jwAuf>Q_M$*qn^(moNY=_eLPkoPW&+xgX;V4*pi?`)jS>;MHc2MIq@?l(aw4rnIb^P7N{IoGIH;B31lZNS z+4SF4?~;Do+WMRlBeUGOZ5ir$^~CNg89gM{-^4$qId_R7rY(G%$HL+xPzq>2)rYVz*!+`I#++q61;`6ib*~lZ-X%x3&Fj=Id+=G3Y*QzSBYZ&iom?SSS8 zW?`j=&+U;9?F4k%e!S4w9ARNNc5-W+o?Vj16aWp%tjPYjxwEqh4fX6wJ|p$v6Py}-3FBV035ez>&8 z>`$;v+rqkur}g{Eyl*{1ccmQu1^@wEw$7)Iq?wPMrc`GHQ)4JZnC%pQqIp+{G^$P}m9#IlslJZ6_csv;B zi{!}8PB^61OUH99Lzil(PQ0cXtnlC!#1JzJQ?ca7sMIL6#^Ak}TwHkVLBXzG=Iqzm zf~?s-y7sFs>iPFsXoXeBZr~RrXSM5=H4BH*#`&2GNhLGI;!vK;8==`YJhM_@N4T>X z$IJt(cip4njCJ@0UF!1wL%IcN&eOK-^pem03Lmcvky=}7<3yp?^wE#y$|E49*{eygsF=-n`ZgfLF^Rpl-bt@m2w)pI@Ff&td*-S%6|LQV(g)%lQUM zvFf#>Yfe|B^VCer^VOSVuijMPt=4P#k<=?^X)}a;KAu`f3>;up&VqNc+MF<@g*?Is zt3Iw8+|?JY34t@L*{0bt-7-+GiS0G506^Cp{Tz0#G`>FyfGa~doU6~xY)g`FJs#i5 zaux@zPYQgf?#D&r6jQ7_+AO1g&e?Z?a{N zU`*I?dK*hCbq}n(0>!3}vKR-EyLRJlz9R{qb@Jy`D8&S~Ks4zj@Xe2~ReLWXea2-y zb*Qp%CrC96AgYWbc}sz?QdpV;IO;Z|PTd23t-k%TjMz#!?X7Ne$TAURk z+8R`lC&)M=-52-+POS2rkoih~C_=+W)?2}HB~>g5hvUP$8BkK$VdZo79*UoS?t|Z+{c~e5Xsd1n`~L7My(heye^cvOXGy`$D8#a zxh3KUFvFt7{a1PIz#=$zZ&n>jR~C9pbI_l_jS%~ppelPsJoK2F)2*BSlsfvJSvYG$ z6i?6l!;Vvgk>e-HkzjH~kVoEj^r0S>G#H6qRmE{j@P=75ljXx570MkeUI* zAmJd|Cnz};^4Q1hmoGDv(bk^z(;DC{xD2*NsneY4W3G9! zfVQR!|lE`Ev7uVkT5AR^r%wjsAdO7&B7CSY!9=JzVfuwB{e|IheWsWpxN8rF zBgF>jbWhMpXs8oV4oudFff*OhIJdEyV?+AD6*tbZ zN8j;F!By=`Auzh>WqhA)*nTzJM2Qo=`!xCUEgy?@@ z2zg-qWL%dAK)@OIEFjtWVKAwOfre${IVn z?65A54U<H|=BDt=PexJldYG;5v_sd8LWFX?Cgeu^Zq5{^Q5gvwJ@}*mO zh}ieMv%(_t`ixP;%w-HX${Dvjt3rR>=gPFrH>_^f0QEw~=hH>Z526tAv;5LLdnsm` zikvtQ6nA3J_ON0Ypu*Z_Q66P=77U8S_-N_RR#QrjVRDY8UG&84yvRho<4#!m zllJ~-{2`gQP8%T#EK4dEAJa?+T3_BsImbZ8{hS-O57zMq)UF^#v|ZYRJ`Jt5#T8SF zmn@VWRD&6D2xZ4`Ki*XPJ>SbtSp?<39{>C@`X*umw+x4t|0vQpwgwmWa3M1kbcY6@ z#*Aa43X@J{6*x@MWrcPi^W#b1EZ83Ysay}~!Ww=^aCN{UbA}zczfraTPrhOlf8Wj5 zA0M{r`VoI?kH&^Fb3?c`OxVZ7{TJRGl4JhhAKSRVOuDl7XTbhs6YJL8GMBB)v_fws zs6%rn3bK7UZ8x&LM9C;s6lZI{HnaC0!$@|EO8e|y4$$ek!L(rBD3q&R(u}Q;1$~*~}6Xvg3Iq#dcYwZ5IO1zZ!CT3Ep7?v{XFj2qu0L z(kHh#g?wG#opGZXHpJ%|xebgzRZW>0aaT^f+kb=v=jQ5%R81|#j-R08+?&_T(%V#* zwgo6r9T2&7S@osd5p6l}^Wg%|u>yI0I78{m!6#Vpcxk`?jeIpsyopAM`EE*JzE{+kR^C1JayQDr{#YJ-jfS=vN!sOBgK+&zG3{i*dt8=HPo_Mh6CW+~Q-0-BB9eNeQly$eU@?}mSpke#<&|9)1` zG6YV6`7py@kV6mQu=!;$t`}1qPL*<8S1+V6pDdz(1mk?!^t^K(D>mJ*8*=MHb2?l4 zBJ+nVw&TGGAdFoH9MJ^=BA|?mA+kcO;FJ~(La_BYm z1>%W2m1O_E?nCg6?LT{WgzyKExivwm&gsGZKz7|LcBJu#ve->^B=Dake!{Ct{eoB6 zZ@vNZhpygxzJW@`xQ-8;mI|uoYQb;`X8rAYM1%Zky2C}&2Y0vUiW?QG2&*9|;`r|o z&4wOJO4Ky#SYrkupeOwei@4gv_k(QW^#jy8=2W6+!ipjpRF39V+FP)fp&YX z8sebL-KBu>!mPG;tSjUvk|>p5nj|x?NyIuT1Dy~Xh>$*cDdY+>nNMoTPaqXKOQYSR zU6z;QwCDvTGL=VO(eB-rfO|p#$hi6|EAAjl<{K=18)Nu`e`@^v4e8N)si($FLHIgIAesaM@!LiL!e7^LUhTBY< zk25T~e+7cDm}xzubPTSg53CIwxZz5PKBL#s0;!Wd$j)2rB#?xZz;iV~=qcy?eGcs= zB2QpP*p=Q)N_BwBlN}nWwYY})vkmX=gpjJhCohdl6=l8n0~tTF?j2&vOdn*~wQFFx z6bBbd&su!S{e@@QD*tsUh2s-A5*+T}_>>|B?;u!c zuiYr#9>xG{7nwu5__eO@ZsrcBW(GbVOi^aLQ_TmTJeL@e|9q=cf3%jTuCqAvS2EXBtTs?l+ZyZcEjZ0A}zth3BuynDGX-TXvm8 zy$#v#TcxL{oZv!VY;v8doY{IN?QCwTZa)Nc(U`d3K3_?e~J zJ!J}pr+A^9gkbROoDbchRzi2do;eqNCm*c?to}^|f6K%?n_F2AoRMj2wj%kl>68Y}JSlTjB(Duu7wt=bGBo=v$jTO(a64W87kW$FJ~Z|X6$ z{~5%9W~`ZxAKA(ROv;_Gg65;1fcN&EMHI3y^fwQlR*8a48I((y7Fs&i+~p4r);grF zJ2(wt_Jj2y=o|bj`=Y}~nCb(i#HVY8JAwljd2yLXj&HA7s{AQ6q5Aj+f2ou_TwPY z-p8(+4~IW})D)xgFE0H6SWG%xRL3GH2uJu|1sO%=ff9Iy+4*`spOg%fhw`B&cRi;Y zS38a$AeIk5pHv@99MzQYGp+rJvS6mRew(!k*LQ}&in{ePCoV@2xw_wWhg3u!0p z^vwDVTqpQekFLB}#o6JK`EKUeuYR|l;uc1~5YkilEJ1@k^fx%< zf@&v@&s3XV*EiU2gdz{%9JB*SVrjX^H|XAQz|sw%XVu)Tb8@5xEwX;`-3q&{$+_N$*PuP4Dxf;)n9TzQD(7Zc)|Fw1EBmVMnCJksBD)6 z&@NYuUXyJUwox3m9xmT+KwFT$G;NgT5eaUnU$nl|HM7Pl!MtQxEVEM@ws|gRUyG#q z+gZKV7^^D$F6!3C*0^-2ey(e>=&g}{=Bx%ROXS)ninYla@aNYEXShl=+(g3PChWkqVG_%K|X0rK<@xH zCbWztS)YW|npqpejWb$1w#2EDa+&ct#!W(z%F{pSe)rQlOYP%V(xr4b!c0uos1nD1 zpZU%#Kq}@kKvcJ3OD~W!3G2Z@-#inaIj5CZ{qj1K=F+tTBgn_Dci3f`qb_j<(?v3J zAV}_S2ZOJ6YOL<3{Vm7W6 zX9hir>I^ew=|L9VnSsJupMbF@EF(DwT@W`Dhk6&N9W5gw{1-!r*h)GV@~uE{yc~IM zP8cRQghNrE?|4dDd!2>+-Op#*FUx1D^_%;7gEi-KbvOrdh7N!T>>#ixzrlMUwdbFh zBs%wuI+bwcoqB*JAToO+<5X~B%@&>QLCsoZ?td@={4sxXBB+A;_7%)gs85zr_N4DGwW*zSs}|^Yl4sl@M*NdfZPX{f5hWFT`5{Ps?7 zT&(>DLuWvR-h;5m@cfi+p zPqb(7uz=)VHzI!jcTJK;>vKOm+xJKho>L03m(uVz%V#YxCMW4c0pswu9jT^v1Z-V%medn^hEy}uz+PT>qGXU6FaDd!}Gkr-|N zMrgk!&yC6F$6ae_s9B_H0n|${mifCif@S9geD=);b`C9tlyJHZo~gg^Z~Ma}533C z8^MWD7zSMxFbBLPU&c( zUvj(Nbo3M4MMe9M`l)ZMus8m>wX0+NfI_{hV^=J3=n?*MbD;DbRySnNJ zQOdq60hu`sBMWJH2dZe-!s5@Rg zIy8#`46w{-6T(m^aOSBu3RvV}XKGtgIL2`z7KHK#QgFn8C<5)KLWYz?+WyM)C5B6& z8J)zXl+8@7Gi1t|^t?|6h0U+PUO4=S?zlelw8zI;dX=@YzEq9`m+S=i@c2Rd{LjvT z=G+OI-*f{MAon72d{;FRO-bRqdZ7$m<+?^X#JIPwG^H&tSrq~ot<4E7y;3#_Q4~^m zCpYilz`z1cbT7^yD@(J!Mk|jMxq@84Xc|8Pa=+ji;uWfuiY8_r88q}a%wi562PK5# zPbrSSpOPNWy-)f!bTo#W(86#~){q_tJS55gNQ-A6UMT~m#f{tIk-#W&??&{B9&p@?J*Z$rDMhy zs`J>GH^Tnfmgcdz5)F6dC-d`=ja@LvAMI0TlrNb05_Rq=?=kWwSR}wCq?|%L=FxnV zn0KyiN2=$EPxH;ih(g!@?E4Dstw(r&*-x{BBY`IO+Wc%-nH&9Al2RWv7-9RI1 z{Cm?VK8_R*Dy87!KFzT(5mfNxm>2WGqf}W3YF2L*NoD&m2k35fd@BSi9NbBD0x`uI=;IMI*Ai*WLySux)d*e>9zzz`HAxHuQcb5>{-6gpD%Q^Rc<2mPk z^=o&J>XKEfNB8bAYnJg>nye;chCbujVu*V9XP1(u?2DPKubP^MXP(4JPu=)!T6m1k zXiby7r@)3G)@e`M4*fyt@%d$wY2c>v`fjs5pImPXSB7ayDZ50QHJy^q`J-IITGCwl zok44+VW;QyyG(ENgtRh#6Zc5M~8!tSjf#8!^ej|;B^+E^V3z2y5ZIe ztXd9zX@yQ|ey8X4VQWP*?F?l59r}1wMEji?ssV4Ey~u@lXzTF2v{4?&>h4&hl>WoV z9J$;dKpR*p`V&hOp5rOBo-uavE=*RB2KhAfo|&cz^L8;u;+6C_E`r=6ihfu-N0|pE zdEh)Q`o%%h@JQJ`(++DkiI0NTG0^!DxqPqR$<>!y2o}vgwuxHRVz-%L|jSL&sYog-6R)u5&KgtID?{(~5)uz1dLWt^|I9kv2?u zY$27_w1+2KB~q3(v+nHYbkJ{=s-KYug}`Xp0&hrlUR=pa3B#aT_`GQfc2nJszt^`8 zX$kHDjJY_E;l|WhoUB&o1yf{OYMH%g7PWFB?+$gQDqZ)2MID8Y=)22w%!(FSu2Uxx zcSg_<$;rexcXItukx(?wt^!vXmraKwa;GW-Tir>>cb$kh0~Q{!taR4h7=WnpHPAO= z>dG+F>(b>HC_-eEVZf@`b|@#Mh4Eo<=;FeNDB1lvsv)agIKLopU-A%H(#jx7S7CSA zc@({A&zE=aDk(3vsU`)w`U8I2$(Sr!Kk~it#O>}W3~C(O25@v=IN z&oN#SWr12(RhUH_Rr`LjS0|W7S3ntE8%a!iwRoAT#?>?R{VjMO9y|34fIv^yKvy{x z8=oF!dTUt%n}ed^96%uMALJUW@xu}7t{`8ra$AsO&#sL+_q2SEy|wAA4kN*rF6y!( z2}V0_q#1G5k*#(eafbSk2MK+?_$#dS#d{OmhHjWTTJrixUTf?KkV?QCYXFS{Gju|6V@}0-%xLP=acH2{>+xLYwI*Ed0QXojL4uA} z+STPfo(C5h)s{8dp1t3NDbVY#s3uWtikk(!h~h}M>5-0P$dX@S1Y9r1@(|sk;ZCdw z#ZnGin9oei4$JQ_Iuc2@88Yi}g=SOu%AB$qt~LLOv3QIsaRNPa{3((4?)lnmPNU;l z6D-e08OyV(RF@x>`6b|*aaH;oH{Ll7Ns*#CLu{i&W#J$BA5mS6ITjNV+tZ~8kuuA~ z45mCM@$ZsIvlCX>OMwyuf3)Ho{=Oqxm4Y_m^9OqSDZzNnV|H&DKg2iWG={35PGS9N z^ho__tmHAycd^Id`I0sUG&>>efqK$tljDKzxj+h*{F|2?@m(@&vU1H3shrh zEmZkgJkEV|nA+*VQK!Qen;K30D&%U>)UFZ~Oj440iTxU&-28@;lsnj0$Vq7I>|kSul!xqp7(D)rM7oh~K3Kl`1d8M8VXL$#Ma z-_nK6H`tm;xeK6FMVWCnC%B@r4$;dBF_6-Ov5RXmya#xT$Bb?6heeYKdKre@300Vm z5|dH2-*cN4*o)V;B7NM!{gbBmUCFTrv5B~SIa<%=#M6iAB)PIt>ZCvPg70gpgSYI- z0Q&_*HkkPCYb%LSGWUAL59GDP6$YYWS+W)w7tUX;Uv+`0A^-{tTKCZXcaXfo4T^f9 z<1s<0d|QzfS^7h2wyLEs44;c*AitsljCRHJjpD`xW_!F{gDceC4F0kvB_%st*OlEz zhDjXsbq9iUU%Tdz0qp0p#m0(~l-mNn%C&@H`sGn*%F5H+K&IaW2UNFH2j;qfx#MT^ z2zQI-O)8H-@bBa>#9E1C9@TSyT7R^}T`qf;1- zQG)J5ESwLD!Vh$&3smb=TIZ~~3EJ95iQRQ+cr#Z7r=%Y5NTRN+$-a*}G9k~{Cn-Ms zR8p+e0{k=sXDS5iHUyin1Q^@2XUY5upw~nWnltkK*T4I<3vzaMkKSk$Sn&RTf1F-N zE8qW37nD+SM-IUI>-U|%jtc7Bx(C|QYAuiTO9&2e;YU*7CGOB9T9_dcF4SEf$nZV- z)1D~0LW-UiYo%j0Lve+fX35AS!%Sh42?vdfMZS}^mI>-S{rI?wGvs>l`gqy2(op** zQ=XPPCBV}!F>#KW`QIb(mu;}02X19*S9$~tuRzJkKsE8?GRv=O*c(FhQ;vH`7SwHc zi>JgP^pSN8f~VP@1mB^(Z-Jvd9hZ~Ff%%{e8*(7n%3mS|Afavy#ME-iqS`@W(}MY_=X!Mc^Q<0|A;_3(yUZ?Kivad zPx80V_2l^2K)x!#IZ0o(M+)6e<~@Zo-nFd1h((+t7n~yh8G%|HH5xjzvuVdTTpQN( zodS@!Uz4i=xy!7`j@vVIL*2gHj3?3q0Gk33+K|KefbI90EpT|Bx3-8l89y1Ri&brVu4u#c-sg^W` z6xny|(l~1KWH|@a;WH24nV7#FDQLX$+PqKUB;ow6e%aD^<_)o|Ir#u9gZJD;r3Yb!#k3OD`AEcH)@9m}J50*BqQng5}WWl&Mv9 z){18Mgz19zd1K;4E1OR;!wmM6=Pnt^cg7ZnO{4beCkN9RLw&b;Wx7bFGD4 zVm^s?N;u;-#e4=2?D8JPS61nV_6NU{cJ3_xQE=qWk02X_#s+ppmHdq>_}cvX1-}vz2mHu zP&|e^?vec(Svr)?7^1|GM zwpDwDTJbsjX3u_0rQ_m4@Tn15=KZR=SLR{1pk6Gg@vEQ3>!W$WF;sBdwYU0kf#(OG zo{2+i4?n+NMYeO<;!WqeE=TnKP#HfF{>Cv&wmH~f?6?v{Jt32R<@n zCZT;LvSXYFRWOIMhZMj@5IdZVpk}hN{O4V5U!FF{Vj{{L%-W-CCM2n+DFUMG!+er` zZNZQ;-IuuF>tK%=h(Z~Z15Q72j@CTpS8*;f#6)d08<>Kut}r61*=&@7 zd}T?M70f+$ruqNYiu6Qf5Fv1z$-F#3d=#hV#?> z8uXFs2fgBaG>oU-yHE4ix=!sc_IW&F6?~sjyr3MU)0)!^6bNzWyG=_evxBe~GfnKG zeLRslY$NrSlHGcSGPJ31y^O=7wXG|&^xvU~m=mU7ESe(D+Zy^YGSlcG+sV}R&BmGt zuO-If*x7vF8uM&rraFUA~nc++@h?Ua)(EIbL$nklq5Q!2EA^=vz0XYpR{SVhHc+VSMUw3 zNG-SUSJSll&3lZvjFpq)yr`0AlA^2^KaHUEf!xLUQ89s>A9|D788-+5Uw4JcpPzI# zta*6h8B>)E(FkUGGxCBr`H0%u%~otbuF}byiRy#O=}!l8u0_eAU5Ov&L%tkwblv=P zrpv>K_lDm`aZDHx{gCjW?QifQ-%OYe?)7YJ?cI;5T|V(;_@C;;4pn2m!IetQ-??Fy zDKSx9XBc7u;qLDw_L{3gzr#baUAX9&BdrEwyWWG&Mw2SPH#E$q5TUuPZS1uAjI;b6L4a)ipWlnXt6x z!IZQ99yg@&Wd+gh%TH0tQLs~+-1k~hDO`LcQ|U73bSwDU4R%0(8?lT3 zunO~T)dZJm)ef;9R*a|4ugHs=aE^7;Tee_?Q^Z*A*nO5QHR87h$&$W`J32Xmvg{wz zz|>)xeq~{Sq^3gB`~yd9NvV}<$&d7K`RCP5>egvh;9WcJ1%;fzdrTiRS&iSZ)K4lI zc!fSH-Vfm%dx&Oc9DQ^Y-U0RmTt5iSVx5~T^xrep5#fDZA_o&rtzLV&1~9hII>k0< z-WRX}`gC`1pzH2WUW-9Ght$`!v6S7vfRRI-Sf}mGFOn8q0u;?$AU)FK+MPSW&&0Mb zba9<)8{bMV*inBcx`?@>MGp&7iGKei&8{u~u%etYLVa?^5IYxbX{1_BQEuD4F<*Bt zhih)F>(Bp3;W=IDx^#~5y4lz4)?o9d86PGQfqUsC@#f~rlWbkZN%xTHymqOP5K!st zU?9Bvvs=J)&1Ga=<|QrzV9b0jYAQ8Iwh(QrFg!24WxQ^GfZ&*X{Oxt4#BxYXf&s^V z2|x2w(kx%%^#`omv!dZv1G`rtP*05HNoC*RR{7Y2*a0)?NlY9&H8(?pQlgk;doE#W zOo}u>8ZBXv+r|}OWQsnBpQ-gg4XAX3gC(N)4yX(mZ_R4-Q_@5nHaqFM46%dy-H4#6yuJXd#6BLgSqycNsqD((T_w1S3R@ zQ5)-gzo?=ExA)pYbWJ+xPd^gTxQmRNBps1L_&gMU%!S7HO>p=3P_4!9Qow;*PCKV@ z`V-};E^X#U+9xhb=?9CR)w{F@q}fjJSy9@9?ucf9S((#}kjYJp*`r=aBaN^?qL=|x zg^^XR8s<5l0Rx6sdeUSAZ;$!Rpc#A`_hVI1Ku zBq{2ZMu&9NPTwBF%RNW3L;$cB%60|PR+u4Y1x0~ugKYSVA3k%yjoEESW6CX4b-4uK zo1xKRtQLx-u?p8Y-Ept88$qq_{8)vy;*>AwWNQ_5%QexF%#+8ChBsuQI8HYCu3}11 z6!F{avra$RHPRoC>=bRie&bw_Sg(#oz$jY;(#wYpJMUe~3o+Ng24>(q(nPo4nRnk1 zm6=Y>hbPdSy9e?Dm&wMu?he#G%XY&i=^dAp#wzO>fh|dB_C*pYq(dM}`Jg7%xR>w{*3$l=Yr81yRNRP6Bag#>bXlqX1+1a zj7w|rqlUbp{D*ht@-}gIhL>S+-FNSTpgH#85B(;z_*hIQ*i@@?o2XD+H1bA48ywH! zF00?C@QCaPQp6cGi_yw2l%OW5V!4MvMnBQYCq>5kar{EIv1kEVw`6>!CRT#%R$9)& zYDHq(tYORGX_5uGK{hDU_pbQd!+Mh8!ry#&UDh@;`-T}@A_>({dZ+c=|9~4)rxD{i zU{jUzQNQ$ad|yR(Ylw_t=2RFEvMncDI2tfXyWD(eWES%L1o) z94mh=Tz!V@a`7>sIrm`rV1UlqxPd>=%N)Rq-w;V96rYEP`pbebfKOm+>6sjX6&-Hd z8j@Sd=Oi<(6BoXKPL`+}_5!I+aQUmfSUGWA#A4w%eX=OPl4-&Ai|+KavqgY#=i5Xt z^fU8P=o$afwb}q&V_)ki0^0~nb!FuYwRh80eHdj;Uhs(;`0~OuWUJpN$+VCPx0kh1eO zdk(L`>`O0jjibASj~?;IkW;Kja=w#KyJWWTF*y?3zN{ARrP0w+(J~D>0)}$~fkH2E zu<{CSA6*~*L@(a&j(WnUiQ1_mYjnDjI^Z6zK8n}@$BlKkC}J#y53g{`Q*|}J|3=I1 z_8iIJn8hnOr!QKwEY(A?o~Kb#=v{Mxv$|y8(FPyj$?`{;3MECxtc4Q3g~PU?KM|Ye z_}f(K;FN+wjX)zGkw~{SEfMsowNn`B0!Bb-Qo6@XTQYhUKwgVPYg>ebdN|s&npTpP zOXOu;jTe??EJf8sW-mo{)P3>isJeA!TaJyn8W4N*LK^HtqAf2Vi+{9|86m;Yx`~Ff zA-4ne&en|;7q>=qm=e4__O}j_K4Vbh^qH&5P4EnmsTbFO0W9^(}8Z}H#9DCPg>P{=;M-mJj z{;6(J`QqQG4_eijg)M`&_C93z)LxLahKm6YCT<#^>^YV73DS(P5NWpKYr*gB)<>89 zCv>0@(m3WZ0z77IwSFn>=UwU+UwWVO)8o)n=N*lD>>vH94f*wL{Q(S7aBIBpVg znM>wiZx%Puqy^9hiAVI>v-Ar|gD;b&VJHJgVOO~AzGqD`s>?TPR3T%@NOV`>)E)r0 zOc>>KF8hbBzp5teuVZ6~TU}ZNLZmgBOddL4Uo3wP+%e!mRf+h8dWVE>?X>PGJOMG| z6x7^(Q)mp;P8;GaXhA+VaI7<;VNpCNRL@@NtC0Mc;B=?~k87U?KrRdxjn2!dj7xoq zBkkhOSk)gvOD#w`yC30o+e7~L(gz4W!MmVXnY+kq7K%G^@Az`$(Gdndd~r4`euQ(J z7LX-hd3#OqSnGZ7(Gim{`8?qtcapHPdChRbKjhR-icJ&r49C{kJrfyCH@JTx;n zvqJ^K>kWdjabQj;os2&c7yum9H7Rgh_uq)s=fxy~%9xtpU*JH0H+7KywXSN2CwIo%Mb!)uosyd5L~g`Z9clTL}fJlfdf!PKVo4{fgs za0qq^aEQQgsAR~nF@i0B^ehT5faGCnibZGDZ-Q2iIjAMnYT2ywHUR4a9)pkD?@CN% z$E9UOS&0*eefgreCW-ixY!CL_VY1{!_`+u=%Ibm@p|{=n62=N+_ZgeNjukWWMOKx# z9a!?^oaFv;XEBgQH@R_X#&5~`wbz)DOe~@H)q>Ip`IaqiOd)pp4sIOEcr^xEJ{0@r zATOW`pbva3wti4tLcivwM6)JVT61($;$;(I7=v9$`dWrdo03zQwY z1Jqd!NjVml-XBNJJx5Kg^!x`LT~z!+YncbX15ZAFi4pV9`2bv`z8QDC`<&L%HQF7* zhI^CShw7eI;ZMEQWtrS8aOf4CTPp1ZYVIhz2@>G^ts1wQ%()q>VzIX3lKq2+^48JT ztgPF5p0!GPTj-NB{&@bMwh+d4&HGOq(5iJehB0@uMRW}MCzC%l9SZ4o5geU()8%;G zmd*T+$9Bhtz`#iea<1IOx!%>#8IIRj8P3mGs4*8Tv|pl9xSxjXw#)TZIMM2w$3rU*@5O z}x>aQ3YU)jC=iI+RN@Fp_-dE5HtCYSu#+j{g44BEk~TX_4>feC`! zN(YoLcmbnA6SNFDf*RCU=^$A^%WPln>%)5u5u*y|140j&XEkD}*9e$)HH-&CheFcn z)T@GKjIvFp^_cBb_(o@H)o-q5538Tpzb-3K9s*Qh0wNNoK_#6KEjGe^J-U#XBK+G5 z$g_y2`qCs(^CNxRJt|Tz1o0bP9G@c3?mLrm1EFfTtbXdBu8Ocjx2vhSXPEhi5^a54 zIT+h7HmT`iZ}H$ENX@SuzgKhT3fgmjzVhMv2HS~tjz4TAgma+{>fN&DNEoJ)gywFc6FV}s5+J(5BzLi~^iJP;Os580rRgViHT}3vu6ST<@=as)>(y+!MDI~L zalkm@;l5Gou7>FtZe3X6@Pf!#fHcywJO^+~TKW&F`mXk~+(p$gqK|5h5Ue_g-Jg5< zzb5^d`1v)Uzxh#p(~BXH7S_K5;<}Z0#XX?YE3_6v-OCJbGy2jeWom^ntM-)1jZM1f zWG8r{a;4688dsMb<=!#n8M@t(d|$guLGf1ZfQYT(w+r6m^`;?h6ErPBy1-DWJtII= z&txWfJIv}0r*Zb;{(;C{kW}2mc@mXBQ&H0P2Ts$$8-m)`TkxwVd0T}3mBMzO)1`^? zWS{e}??VW9ykSrT5QiHc6qLGfCHW;qQEf1Uoan&3S&&#u61rf<%7=Du@vg}X!N-uD zjU$sq+|q~s$FN-z?`p3~J9PS%z#sr374N^J`q5{VNFEqvf2L+0@+y1-wj0Ac?{fsz zBMH(oJlOSN=?+q)R?;ud7M)6XxgQBQpCIkIEj-{Mmb_M9k81gvD-%m$_vTKkPv=~>RkA_z;mphCv)zIpPDau=98T@xn>m{n3V8NI3FR%pFE3 z!~<;6eS)*D`84bK?UlU54?iMtc9Sw)+Ra-RJn{8l&9ay@wed>Z@(yTm*N+Lg9H{4c z_zdxceG*kt76mA&-J#dTemjhBF$Q!6~48OV=!8z|mc1|8ojv zh*j;%-muSXX3yUA6jBI(@*U6eD5I9J+k>G^aijk2~vp(khbnCgyu ze1?1j#mrK1@nniEsIBxSPivrTh($2lx)a0ro@H%`B2!*rMT-HP+e`gaH5s6IrUoyJmb$>9_A9UH&{($& zE$>Ttv7&|;ZJCdIv99o5S-5+WuDC%tmlTNcHD$Qc#|a)~HIEqq#{U%N$}NPpI`blT zyW?s<>;#ynP1Nj!T~(OyWA42Tj1k<=4+%Q$!4AMa3y8aXE@D=85ek?Lg?Xpm>`eY3 zh(qCl)ADXU08p5)GBA&MLA60cxO+)se~$U+Fo;qtgnrk)4?MWp%)F}Q?+)Me=(4;)(3PYyzHK%lELdM5s3DpUS$WY+5;o+kuH5eotNbuaJueQpWas!_8&Ku3C&)mZdgEop+W|}?erj1&)8Wj7M*?xt~NdUChzQs^W zyZnVR(P_V+JyweZVYo?yLlZEDgo5b=`-pF~%GGjILLZ=_Cr}BhnBAIe#}#?H+ca*^ z3OPCYl6j6(O(*8PX>o{hHYYySV|QQo7tSXvFE-{3Sf*#lLU&C!sOP?f`|qrAXa>M1 zJd*f61m9@A<}Do3W<<8st^&$+ql3_)+?H%VeNIM(2JPv?E5AMZ=*QglEBdr~P7-98 z1P4`}5nfbFs+-%d zbUb}nMe5%Mm%386C%8)Jwq42mS0xCy6})Jb9NB`f=euyOL1d>b9~&{Z%3C*l)KvK; zkaAQ}rFOLPjRL82=u-E_b>2_LUMx#MN1%7+l~jFU^B0aOsr>RI<<q~Wn=_%k1;N0LmLD3&z&HIxCX%qWbm5DF ziWyp#J(0W>LF72BB&UJZXh};v?3LY?vTrX>Ts9Z(RBb<|a+}3%M}sx$%jhql`0Cy- z)`bcOU!f*8HE6XN9&di_JF7~t**QE9E?~?OE41I?9ldc!9i|M-%yEPmlZjJHvZG8D zPe>vwe9$eMv@TeX#AmLFKx3cnhNaNTJjEL9$Q+p8EDKU^&_rdil6ylqOvJQ5ab}S3!+;3!_}M&+W%Ny zF}Lk}dyJN1|GqbPjn?>7n~ffBUu@D3n+uRHixZjJStbZPNB1>i7C5{T9y7$9Jgr%4 znYqusN*;CZYrPUWAWM3UP_118e?i2Z=5%iY$sizj{)UJ{LSaMvAE6rxAilsrym|bm#Dc3qkd%Kb5oX)h?7eZ#nZ0q%Vf|AFLKu7w zf~3&@%iTY@_5T`Q@qc1X|G&d5l;!@N;X<{+_p7%EHW2?eiZ#X*NG9C(|9gS@RB|Zl zI|ztRBoGkj|L5uL7Y?|F5R!!KuZT$O&a+0|a$9|~{01QThZu>b1d9?d{;yS<->B!` z-tyFc%k$0fKg3BQB}sw|OhO8Y^7o2RmtrbCy=7@b^hVzM4?PG7D{vqYB>CS;|73su zcL55(?L_}AfDKy!uK!zwEZ-vhcL6TI&qV(%08zon67*YOns0Lp{_U;?EJXZYcaWuU zLcUZG5PDJ&5dSW~B^V%vB>p?5e=-i^{44M>a0@Xc)!$10WFY;w(g^tF|5N%W0pY)u zF2Eur|F!hb&WC^R96E3q2_(gTc6B)kBnYau4ct!xN%@~M$8Tp~czYlqz`{h3q<>fQ zpID%OuO?S7Se6u$^gmZRkiOY6o&ZOaLK2hxHBRiGch+YPV*p z=A8LARo%zgS9f=geZJ`XjI1OJ^%?Wimw%U9Z3IUG^7qgG^OOzxtorZ0VeSC_e?(I| z0y^CPsHAC3THwirU>NIN$J#~`{HP<#iGvtJqGeF`4c&f&MAru2R%5VUL;@rv(ZyhO zxOHk)su|VpEF@(tCDlHKrQnp;paG$-oU$(!8n2cgNuk&G2MT}~M(IDp#T{FYG_Gom ztK0E;+dg|YnCUX?dxr@?<})$DV6-2R&@;}=wt7Zy2Np&8V#HUI`pr1$5pjI$LMJfV z2SLG6^0%r8nwjsk2!c(!IylYoZA$ed42aq|t<1&)P0ZFthLGa;HcG59c>#?|t)%s% zIKAu9kO&1CC!c9KmopjYqqWO3-|-L**xp){9Wu}4TzahRnWti=9>4n=9i%;`#AG=( z;l8cY1DohE=#TP{ee$~=h%pDOrdqj#ZljwDZI!%TbUJhZhG=jdP9}V=t{ON@+BS+L z(UR!)_B(F$SO6(*9kxEu&Q=CB!v(n<4)3N7ooOV^U08{Wdt%21vu4oPyLQX(M+9EK zfBJo!;P!^dR|KDEWVL*2=1{^;9W3BcFC}#gEMehB8{*+v;BCa5sBqQsA6=ym#KX%p z_B)Ea*kU@%J$Jg;P&95uli#{4s0Vd#?%^hl=`m)hKKZFUR1mEhsS#$!RR>?J?&ag- z!fwPD?DjTwk~_*4cO<@|ZUt5*^5%3s`-DXBowKgLj5Uy}SncW(+74*I#Q#YM^w0zW zAk*Dl&ez;O=Dd$k_7*3<@oz-tcCygka;wLM+K-%-t(BEnF?;8YhX|7f7YdZr4bPJf z3N!*Sb>IlwpZqw%9hiAPlPtF5(>z)b7Y6?#kg1VfJ&y$G&XFf)SSrst)-s>gDT$(4 z`-Wc)NQf}7+!ooc-=7aDzmq!fNZC#R(3LV4sKsy;n&fFc-SqL|no&+XFb$H(L^6d+ zfve(HXvq^>!{hbG_!ts31V336)d%<69dEs~mlNPE!hw}BR<3$OvJ3$NsPkniHh>w6KC!7 z`}r;!UuM4vGSTP-9N*rq^tlIfU>N~l4E>xlWhh!1a!Qg}Q*no-V=^nazLasL$)LQ% zq1&=X)m0A3GDGznnSjH(%`WA5?_EV?@!9EAuhJfN;z)|yiVa=ONJlayswpFq6e`+qWfa9sNv=iFr z*K%1H`mnsE$gQ2o?&m0*5A9bex@_?V z%Z;`OB_EI5NSF@*oGXDbiPt{nI;9i((SETS64mH#9N9G{q+&#WaD7=rYIN&L{q$sF z1rkT~4hGVKL>ma{rW#DWG>bcB&AsG$b3MxON63C_6jM8oQUCN=YwAB)KmD|0&8dwJ(J0apEzccJKIA-FNt7F!dS;u8vV`Wb=x-*jGK5dDr}U zy|T*i>Tu5ZPRZN9V~p`?cTWa{$=~)haXksHzP#$+(|l091oe&f9)1|_TmxM6zdo!i z_pT1a?(#iAU(Covf=P#}xc&T)EEXLp-7GScsN&@~@XW;;vfnT@7RJ9*p2N|{e8;Gp zlvtA>9@!NnR!RO4r~4ole*&^61x2VnaLR5K>mvY(MC=4pD0cusNf!1C&z&|$D$J)( zOo*R8{U4kAkF7P;;Ge+!*Vi)08X*6x6uwb>{;$Ki(~to2wiuF_?<2WuIa~A;`sqq# zfiTpIf=+T)aO@FQ0}P9H;Zdm?&I$0bO~_fDoR6?`q7DS@P7)$gBowv6)&vl=qcRsg zD>7f;2~H|1;oky#8*(aT7}isMP5JChzHDb*S@rpN-*N`95VYQ)?^B|q7okf>utX#e zAtQ)-${Pb^+lDK@knp>h?a4#7DDPLbqS`qfWaLhI{8(vNz9lSQ8bq|+y|)etV7$ni z;zXOw$n^k8x)xZ%c7=ovCwXzH)1oxahEfAnC5ljIc zN2+tvA>_7tdp&9=xZ|Wt?{BV_l=@3I#jH$)iepjCwFQMxx?@g%xNIghO7BxxQ@R_` zGoFK3liMR*Rp88;nYoSJe8L^|0jP}d68@!&5GsvMpBu>N@D@+bArOb_%bzB>!5CMk z-V>cDpsGpeIY2N73=Dqyz>WL}!ZiQD@_95Ve!?I)?Av4hAe4L}eoX#|AOj+y-x1Xz zvcDo4Mxsu`$GQymdl~Hq#kZ5v`;y!G%KGj^`M;9DI7+swv8?C1oiqI>5hpG?e~UqV z`XmGW|0LoCJuCEo(~q200`OGNCTD{dIq(EvsH1+^zpTrH zo!Og7nx%vm;~{BCbY$tAo6)5gEWgtS)!P{?l#JPLZp|)ZB+DM%^*V@Swvfobtj7J@*@ zi8%l}s2og+6&5@T-8^M?$j^K6=?H-XB3{*jMk371;jH(eFx1+Fl z79l(Ai=k3E(S|Q@gBNwrukAGaC5N@Kj@7a?nWh9EJJYX$z8DtF1w2I+PJhrAYiXW|!@odkrUz5}CF9wfP0UZMv}? zTcF9(r}fk)di@o5oYFmkf*;Ch+9Q178E=VV)$C`tV5}dpLP#>Xg{El#C z>B-3X{8AmnPu+zSOS-s{cG3hRS=_bpJK;=A9jq#4c`}57*BZcD^z3oF2gyjQr4?Ig zW2^LQjq_-Ad40L^$F|+dR%%MVGF*` z0HHqzOwxvzG^%)*woka05E7Lk4uWg5JY-stTzt9W}n#5!y*)I;gBiC$X- znU{E^fv6hP!7q;inLJ&v8}Oo{^UK$y0xJ26CmCPwIa87@K;j8sVSc2)7x zD4;p2fju@~1-2%AXS|^j4dw>~#>ccr8Su)Z1h`GA{80h?@EE9Lz$__ev$%Lo&d8Qe zxtIoyOe#T?yu(nTt+jl_?JIAu+|#5`e=Xhf(3@utw85)&DF;Y|ufSF7vGaFK)VgPc z++?s;ovG^C1tELw^N0OVwMQ$#^RYv8vDPL)=tKX(3bTn&56xQlj?Xu=tA@q1(>q%W zx+|9XHVVF`7H2ZL_5#BA_CfL^EVVdBWeuPd7(Hu_l$syadcnOO_KN`^L;2WPxzmjrpsZ zOwR1?BdKS{mIc`4%rKqj-1%6j4?7yb$or9~lMAvrsmXS}il=#HI~oM1K@fnv%%KwkyJy zqJ0zj+8!4(ZIUAlR_uzzF;&y}vcewQM*pW_1yJwD`i(oICSr5pKEfwB7ci@Pl=vE zL4P}q5sR_g@9dGchZm4EL|@ZRTI1}i>R*8W_)BD>oeIRiLJtK0fBQ?LVJG5$t)$mR z@PAtgghM06|9nf#Bm!6%O>B)^Tw+x8Z7_r}`ICl9*GgMQW;Cj8kTNxXj=&OElO+cz zN&Phn#`KLJyW`BDm>!?BZTOH8R`$JyeJmQ{#c!c_+@*K1aKGPlndxW}^!I;3&W|w< z`KDL32U*K>AQ6IOtKrlXSwm}&K>w8BJ{8-q!zAxxRZ4mIvIdayqm`FfjKux48Llr| zxBQUHpVR5T=teJhZ8Cw!T%V14y$G;1L@xE6$4T7LjNJC(5pZOrI{SRt=5FvX@<)v_ zR?WUeP!>}=kAVL--{l{PJj-u>O0!DjDoK}WNjH93yyj@DHgB5uh-@k5>BZaDZ1l;~ zII4|h)i)?6$>ubX=sngbpgAx zlt%t0JV@hsbuH@9ows)mdB@7-rty6VbLiEEzM+(MMgnjgvk76Q<lQ^}EI`iTh%}=#2Q(4>!tD{W0S32TwtE9}IbkG%BlS1KQZtMh+L}+4p>6Iw!(r z!afo#SfmETj|hmd21n@q2D|7AsB8B%Zp7<*j9(%D6C(qVe~&gGK7B&}SBLzc!@&O+ z2dw`)4%D|CFx4?Xwzdj*3EKi>Wo6G&t!V0rXZ5iw+!55ZpUUl{8lxcaF-jLU+<#=y zur*0xm=r2w97vM!m5X5nLOxRrt>a1U&J7I>VdweYOaX)C$J6KTT^mU2=9e80zHj~y zxh_}luMa)2pJ1F+gt7N)PQ=JUfZ}L=_@LDdnbhRy=4dJ`(|V?mGED05iB+b_G%XhRf_d#9~~|BZN@jf%zGyHp`e>G|=*3 z(CM_(%Iw%hfDzs$wJ62%E;f)NJg&W8`u$!97QViM|T4`?rFZY#;$O7UYCzg1GT>Kd{QIt2ok9a>-U#7sqt9ahnro zFv_Sqgb%ztB2P#=GwGOB&}FIp+iObC5^=iHDB45>aTM%{TgTjt5n>tG<4x!s+zIa& zRA9p4HI=K5>;39-r?<38(6GN?y(9ehFoN%BL!7LtGYGliW?mjBH7w&}TVLYvobXS(!6Cv01nNE5H6?iP9}n1uoXe7+e_B0+h6a*;b5&bMVC0xiA3>&A^U~C;E1Z(>$?b< zr1*nSr@`E~+q!sm0;qWR#O}QOq%h;R7*CS6#F={Y=dfarVERrxcE5|f9iHNwIaHOGSt_KZeb( zL9(?Fl|rxp+gSe0dYDz+IvJs$u}zJ6tL9PLsmBRn^8x>SPuypLepG=WW`RL!fe{+t zAnDAsYZ}H~*4kYcUl5ZclHopQ@1VYK43^#~|7O1^{XX{QP#yaR;m$6KZ&cqk;YK)b zHNsAl0DVn`!KW^9NfMA~;ePSioj3Bw|F8ik9Y;;^>>n8PVgLVd_)n)GF_Q||`41A_ zFE8hFVpaQFN?O{@bl}fXPHJ`kAz`@jD~-Lb88#FrrCeFtML)ByxjCHQgW&Z*2p3|4 zrgS|=e1BAeP~jXkgB*eMQJoR2}yIgMZei(E?{P;9# z>PosDsX#F(C9}#v9?oCW3?wGTr(Rb_Bf@|^6+qGLAw7k}=u@|aUc!U*A=S}nh%&2G zMtvd58HFezH^w*}%m&7mPS{9gf>ZT0hSY}$-`?0gqDrI%24{7&S~tZn@pw8e*yzE8 zX5mA4ulsduAm1oDKWmkK1>Su`nau1va(u7<1Si{yY|Vo6b@0YowSU+jBtt zMWEE2q4*yXv=DM_i5vPaTqxQjsj+3ubdSRj3j|f#Rv-ckNg|z~w^n8Lvy|$J^f&kl z6jIa-JIOyGhu$;-LE!WsN>;<qutmOPr!$ zCvI;y%}*FoWq#vM>G*$^&`@WNpqZ1S^TeuSX~rlhkK*^viG^`dA5aFxa>TBCYm`jY zkgK>vQN+$v^t>$X&zXeoYY8ak^Olv3G*!|STa}&~O&9L~6wGOj2j$+w`S}54DO&m> z&#<`t`Epuc+gwV2ac9d|yIfF|S|~bgnVq1O-qJ*M(TuY6{JBOpQE6(1c9I%Mrw)(R zx)rgiGAZ%O(c{@K71uKC<&S&FryH3`?Bo(XF-z$p=wuV>PX1Et&FZXBZCdMFvcpvM1e1lXJ`$OFk6kZ?xuK(iFM2v}4lGHD_7*#J6ZX)0V?^L+v#KIJ*As|}>>&P??=tQ0uL$aB)p z+6TYtE`zg%+RoZz@As-sA4=HZ&K<74*X=XSI)k1{Z?~Q_$-a**g-_-Abb2R4VEyvF zLB03Nq*8-S0LJR8bdy#ld9gN`d=b0+Jbj9J2D_w;OEUY^JbjvZC<17IPT@5aG1h5c z1{)C^ibq7}rvz4?ZSs-gf?)0BOc;--|Il=B)VpP6T#)J`B_1HQ6cC@-;dVQ_9Q)d$%5#Zc@>zHu;z4 zysJ&SHn{5W)*7iU;a$h7cH!E4?-~ZlVey)h>U|x0;zq=ZG4)rYoJ$FNUm^%@lm4yc z-@zHsm4kG)<{$jyz}~HX*e4I(;MgR~=Vk9!ecrM5Ov@h7pxUn4Nk>ze=*diH@(e*P%KAYOD#L*U%yLE6Z9^ue|r6104jJpCx%6IIx}2$FxS zXOBB{zO_IiUb<$&6DZv~Xq+wXT{sj0Q?UcSD&R8Hhq4Q#Tqj{J0lFy{Jb|krY(2-A z^ZUZ7%#O=%NQRuFWJ`2-y_I{09KQ14KC4F$BtvW+hxT26--S?zy^Z--QLsn$V=Y4K zIE(%8gP!lNE1O3}T?FFxYs1F^5V7=!6VW@qpwm9^`BatkE(4S&`w$N4jN|7?-BaDYNyG{{Hst~)z{dWGG z0G<~IUfG;y45cNza*>~1v~;z6CQz+h!O!TD75z_!vuT7RJS% zX`Ki5V3%*L``169ni5jtExh?0)OFduyZ*zB8^@~7R&Gcn;ods;EPBKf*#^yd85Hd% zfk;|suU%}G@%;y)WK{$0+BEe9?l&SkZ9C@P(c+d~R$~gVip9XJCM!LqI;&%Xw;aBR|dF| z8q)}rK`jZ>ra{oGK{n|m;mEUI_A(uR{0p~OB&u~lU} z=Qh|#Gn)CMFf>$2W@1$dL6;{wb*a?$*G;-3W%desj97GPh+Ctm%tT{$&3tF%R1XD0 z7NyNafs`@RLJO`BpztE?cB3(GQUkM$OfjMED{lnYXi(&lVj>5tJNQx}I{wxDl2CKgBxO{i|miR5JB4rjpit z>1VA3Gb5PqN7ZW%PzlC01hnEi##%Yye4e`dC(MatDR`j_a?I!63I0yTLAk=CR#_fy z_r%)S2mHh+BmJ}?%CMnZO-T?v8pDmCSRFW~)d}mK5^JX2zuV@UZKDi}Ex*cXJ zSuRlQ2Rpq%TIJwB-|xi>Dmg|goowk|?sApR(UhxY+q;OywGo{&<=Zq9jn=5+Zb|y} zTTS#fo87QX^pu&3VYcEciYYJGt!RE@VjT5uG1yH9`1w`X?PUK%%gP%FjZiV-F%7+V zD1~v(s7dF-MDcv`Wn~;XKT%Ue%5H_p{R2q~ZsNd2=V2%u_N5M+a+p8;Vnk)(M8Dcg z`O}v}?2SWs+pz50Vz^SXR_nvc-NtsyEHlrW%V0rE^rBdlo6b0+@WhE!$ea`T9wF-Y zo``ZTAQ3T)j#kUVq)}0l++TR^l-iVQ)j?QwVPB$-ri}~p##ycIn$r!31>8lsdZcgW z`I1bkMWD4ZMCWQe7^a+4Cb49E)Y1R zp9v3l${7@H-#cKdnXGqM?HkFOy-`RM4`)4YQ$%g#j9hr#8w=#J0w=Z{2!y z;vLJoJXDi=)-}|X6E;@yGh+>u+l&^x4P)kWT^>iQ&#MBR7w79yNCW3pMgC&O(}*t- zZO0k-f5-6Ayl@4KE50mPH;3pv;RIg{C{g6r+geF=(wFNmUXf5f`)&)^vz{~I0~EW5 zd8FwcgRTRwxSyd_N23mH)nZEx;I>%~9*fZwSNF1tCIWVIjq^h`~lCWgsRLT@aRVSsLa?q0(t!i*i1rp1RVMc?(Npy2bTS-T4;Pp1s z#BDk}kJaiHc=kWdiBoA|r%tzP0+&=0RRpipX~6ExH<2u@>@tPLQwpApr){XHq!k+1 z$|TMcS3Do2ngv|+5W-U8vu3o8eD_t&5;D34ZR@65PADPgrnwsuZIxBn zHkKFBYP$H&!tQ5mo*Zclr^usm6Y@8evL>q}h2!wMHz)ra?9WSk5 z+cIlq9j~B~ajmg4ir+TdBWKSJp~aCxqf){1|O#RHl zsc+@-Ddc{*elz<) zYu4vXrkP(rKW0PC zDO;>q2^~@vHxH`(VKh5^)3u#5>wj#;^{CurnMg~6VUHr4VdOeA-wu)AhAPk#p`N&e zCr=d@P7j)`QOnc|gVkNpx=<`Yh?zgU%04Kz28G**c-PE3j_bLAQj2P`9m@-@s)b?K z2(9Ikc|FQr+pfOhXoa+PN(lf5Wcx{U*$kv%$3a_J@(f{ zk_z=rNktf%%xm@uJ^}RGRiV}wag){&<prqci>7%)xHT_d}5qZ45XnWGt%RWMD8(t1Z$Igl}k;wGx8b5f40)jNRo!fsMTUwZNrHV1=GZtdAxJDcSWq&0K$;U?yFQJ@H&Q1AU zokFIaE!XP)Fd7IjSwF)fn3m~jeBKC1sd}+WeM(o-xo0y7)H65hS@jM=Lt&{AB~pUP zEcc^`UcigAxKD-tE5SEC(vOb97>GmB{r7<(R<6XyPwDhlP}2~1rf}UTkz;GHEQ5Jo zxuoA0;pbvC@Rc`aGS>s=Pig9CESm04&7ny*$dvuPKr20t0^YAG0|rTpxpK2Vq@-DE zd>LOt>0Zn$7j%(=*vR+d)r84qnmT)I8BZtfDqw1r50Sk4iEhcqI3(yTyKJSG;bP0s zkfU#(+-sQrU7&;J*5cb+to@9jgfc@A?1euCe0bip5uPIh#Z7RhLh1}U5{g~d-lFax@o z|6u4ZHG8ACejt&nM2eEgn?Q-zF}$0)vg0?gJHD#MrOQohU{lg9;T_~Tr=y>A%VZ|1x{O)1v-$9g=}8)8Q$e(SC`QP)){lm}RV zQ==o4LI^)p(RVl7?(MHnHMbNsadv6;_B|?0vaXO5&cf-CrbqwzuRjLqz{0NLz^1+u zh7x~eVvrZn62BmHn6pQ^k1)LT(}Cl|Am*Z%8VB@WB6~dFc}8@Z>dvsWimj*&cNE^P zmoM+}Yu~n*#eBE^h1$%PB{&Nb`82f>_P)OzgqSvwE^2=G6S0V&K=Tq>lB-;Ifm;$u zWmoZc;o9;riE`RTVQsw_z|X_*n`yp~$Rx5;<&jS#^M}M&w%!iSwZ>+x#%ARBp?V6d zGo~>O&MA8qPxq0SN6y|XrxENQf~_^)u{B7{U$KR07(rg`pHodRsz*y4Nr~Xn_LRH5 zp*O=N!58i5t@{o2gu&N7deCvkbbO(9*L?2%JIq7V?gYLeMvsU^z%_$A+5Sy>Fv}v# zfHu`wh8e?cL#}=u!ow&=J)YuVhbJrV4vZ~$A-yZcQy@1&b9c>?!+tR9nqV{Nc%Kt= z*^l6aZ4e!|`|Xk2AaZ8c>=E7Mov_X{qw_|8Q!Yd^0jkdY6!}LS3mfR5Zx_{2iLe*5 zS$A|{4higc8IMy8ge+hZjFR@jn*R~H;(SXaOl8s7z)`n~E)eio1*K>+)4imZvTl;~ zmg4{U#@tD6&dy;px5Zh#5W-R~CO5`faNr>v9dXwW=ayme4}ne;Qg>d+4hW0kc$esW7>2q}YS|mHd4MrT%f;$iBcEPdaR~wgI{B9PlxrBlk9(tP@?>oX-!A zZ3Jn7DODEetZRYx*dZ@*w?7OXxNU|x8v39X_E4ZoyWwWeT?0@fX)e2HSl?*~jJ0<{{%l3+~YDdo~RJ+rSAF zOWD$EYd^gruPkEswBnG)<*=ZT&CI9W+tY07;UE|=x?3A6e3~(fpCxbpY^|QS01toi zvxlVz-1A-paEo_6AZlRWh%N+H1M3kkQ4YPG+rUr|X;fU$yii_5X|A1AGjBiO-Sv^g ziMHOyPXlMXu3zqU`A43hP-=tp;&-v^rvVAXnO$bEE5K5Cwvjn)H z+)?_CRaQLpF2hu>rAQ1j#tLre0Y!glVfFl3Rm)4xrt;#Sn@${1?|Oq)yK{&q)QU#Z z3EsBw@5Y6i2noiDHwypyxA@nXvNUh$&od%wxP_zg!PA z#_yeijGC+H>X-FanM|t^*V(gvb3}YQ9xQHsrppliYnMlM*YHh$$HCp(Z?xc>TH>h& z2!@^sL%Ttu2b=j<2DaBOz|1Fb6H&BoLeKsq z7WFC}q%mN4m1&3(dWzYdCLjGE&oadF9R9vQ`8*In>pwH~kz(gEO-F1G5`8=)fB*fy zH%D~4Y>TB^BJePJ+BrU*4AuVBHYSfp7`AHop&0pk2&fza?*JC?Wc5|t-yGxZl?wA| zcpFQ5(J%oXrkSSEM8|J(D2*UBzdCQzaLxInP0{sXWqFw>W+JhR`}~(E3*yn_D^-cy zO|apVrpa%e%RJ2;RY56OJ?DYb&D?&72Qj5n3giQ-;3$PaUmmDPD{{mVHY2u=lQACz3$%#-8drq~QW#`D{-4oC8Z- z>ppWQzT_M~cWSEP_f|l+IBtW zcn<6d%^#$>kaxr5jp90hsfE;8$pl9#!xgS{na)*-RhuR4 z$;pXjwwmxMg4E*UhRMc9E@tJKb%>h$<6qo@SXKD7aBCQqN6M$hwOZ8IB=u`Nmkv^# zto1U=Yt`@7nbavOG^x#g|BY1KDv(poQyX8hNTvn;dYOTqa~t!X16daeXqpJ1$KPX( zYuAO|L+#5h5!&xv9Q!`wyZ3WVsjiOnrbOL(_})DBW{}^Z3^x^EKgCV7aQVGs&U1Q- z>WRwho}#J^$t_`4;<62Qy?SIw@1Ur%NdtVApT-A-#%*U)zSq~OfKv|n(kmy!V2+fu zsuuxP2M+F;Ul+!$_IouNJ%&|j^;ZI-DykiY?0@@vkH(WRc^K^*JK{~rxQ}|$O&SKm z7ozl5KCT<}8n_YYC}r)rKmRhKsSSnR>m{>3J@34hjxs! zrk4@Gh0#a`f^Kh=&XAEzE)r=*N1;*f)n$0UcOwK~qa;1(jOhPpZCN#1=7+Cq@;^BD zFI;*f{?7odFf>B^81K_3V)p-gwB9t(6ZGHR-y})!(|?zH#fHd%e*-lOtPkL2%A6{x zpnnh&0fJJ96z=34uHkgggmI$EcB48ite2$()n)Z{$>i@uT{&f zYpbQL%NyP+|L(5s2W>wG^CWuI#mlREKpPiR&zV}JdxKEa-40yFeW6s_1 zS9`yR?6<4-{p5h1x_yIEVkIZyg_jPmfULRC@Ob9C#gQzf#A-Jr3t?)}Y<}q(0?Ga4 zc)#}MJ_}SEK@c5`#g#u=LJ}`1MZ{G-eqKH5kTL^Hm;B zQ{yYxpP=n6+^?eTE!{t(?Jd~PqQB6EU58PQ9JefiE&CdoI=C!s_?{eYY@3+Cd zDhyw7@Sy;^H^dl^Nuak!HrXeHhj(w#uRbeJQUz8D#fnGX1)%)VBH^8`c#{u2)mMSG zD`81SNdZV>!sAly8!2L$RZ2N(E{T07(g+<1jwHK!5;?A68#EHhE{e>kOfQLCtCXrV zj-~x&je}03K54>Zh=qVomV=6bVVn?f{@??hSR*+p+{9wR(-U(MXu;cq51lNqf)f6D znS~OnR#L3_%jB2tZsPO~y{04RUZJIuIrp9MLw2B+Em2|G8A|cT9Hs8Q8$H_<+XfQ`73~fbm2!8rm## z?^GIQ3u{?edHW*iZBujBWg*9LXP3N`@9P&t2N>oI7U}Jctr;#pigR7$*<`uteW0wC z#Y5m{Z=-yx39RmCPPM!U?TL@ig}**o*||5R_D^bTG_3!5+e%$AazC~#eI53iz~8>o zC3-691d(J~nL`Gdik!Zeti)_>qU3 zQQ?9cxTN?Gq3-spB&y_~LRGhJ!j&)Qt9y8{_&C3`#nKg)e@f8ft~gaA-n64_1h$%^ z|3cEqjn&m!_O5wf`(T$Jt!bASt?KYXGN5C=ay4x|_VLDfhu2sms$_R<(4sGhx7!D% zRp5c57+by{UZx!>OQC^igqls-$8w$KX%_do(MDL`Z<_P>PtADjM>akS2~Xb4iS+J2 z9UXdgYVjz9V?kE6ydj6dK(YLM2En0B)YI5P!83s`=GcoK$)Pv`n@{me(G2M6bc1xE zYNjrJ(7#L>6>YFKdZn(5Eo8-b7exU<1K0GCf_a0bX@3dxb-!BE!5OYgO}9icQb>I5 zioN$h-AQI8ziL8F`ZW1>v2CLVc};~3gEt^!iVTDp2mAscg92_JtFk(_|wcqW}(o_X}3d z%3z}gxm+^i&vm!e*jc!QvFvt?4#FWTKn8zqiSOKBCav-ryzfPQn0K6BCy+j*E*f=t z5v3@b?i_bujwG>VyH8i}i&9lwUb<>%(spjc{cQfL+~@&CEBA`W`~+j(u@V)gAE)t6 zAh8)#O;#qapA7>pzjVFrsBQuxuQGA#7ivs!v&_`hmu7P>Ho}m0&Kpj~%{K$D)5~RG-ROBR6=C+pc9c^B*9{Lute+~CM&OACh zUbOWeNUDBnc^!-awdjFpX$Wigu3!yOq@${XY>i(zH|`hro3EdGG%e^Ik-uw>>N*w0 zW;vQz$*f!Oy!uXOWUm4jYik-w)9BZ=DVs1m zY%gpRuP&ofv_-`}*%z6<#}_vfv7H|_ZxF}Ej-b`IJ@Tzh%f43`UrCz-i!h0*i`bG! ziSiA)GPXu}>$4vacCM1r!c{I17MS$eN1(((zwsb5b_Ij4G-T* z$(1}sBF7F84krR7Vkg^|Z`5{4qR3SD4p^6^e55s)N`cvJBcPt6&|5gsuXvNthkYN3I_9yt3k4187Up zO9f81rF1-AM(?f&don@O82Y8AG}rbGI(p0(BaRl(7n>O^!R6fQm7-jBnV=8tPx(rX zMUcQqfQ53ur$%dzfs25qyw&NJ!*@MyXNW6p|DP;<-aH^wyuKMibS=;O#`J6%4kxwi zTmw|eG;_ctL{;*!qzHsIJ2mD!2B1iH`VVc$8IlYLth5DRBS@I(3%6(fTz?NZbD42( zTyE&$w{S5+fHmmdVA{^{B8ay5Gmw8ZMOR_o4c~MM&b3y!zFHFZ?v|=(Mxw#GA}x95 zFJ8f-DY=R7?U340DNYs;m8p}Ia-dbIR1LJuV>}B~rfZ z4{}mtRh6qH1n;*#A0|SkUS>3Ja7S&a^9{&viBWafHn#aTwi!2iT$(z3MA=Kqd3yyCLJ{C(x;luNrdTj2J(Q#C;DGh;&zo;f~9rul24B^Zf>fl(Pv$%r!= zI<&S}T%6)$dmf2Fkp;h+tr2b|3Zcsb-iC(OTa@-`bN|*BWAs9uSu_yqSkH!c4iDQE z(UURRn|?A)wl(D{qRK}|EGe5t0R9He$3=Mj7gC28Y~TXnQ@A}1xz01%z~zdo-2&8A z(Cc%?9=m-xg#dD`Pu1(VtN2rTZJR1;3ya5D*iDHMZG;MhP+_fs)NKhXT3u6T z5Ah~3^IxNp28YI|7t~5g)_SEBQ6Lw2{PVME0}ojC72>#NNL< z$x(3I({LHGtf@|Ys28O6?nyX+HB?b^8&<F=I0G(TZhJ#n!XH{0(RyJkNT zSAk!<{#+1d(ae&m!jfszkZEk)#eD6WPj(Y3)!Yalj$tQ}j-ptGb%h&yVr(wadd3KA zvAEFn1%bbkIGsiT*_=-q6*>yrnG*eMeL1*R;Zpc?)`^Sgpey7O^`%`tW3IRK+4BS1 zn4ufx6qsydO?>Vjych$Bt7MsmbPBhGAp0uXQieP!O>npj*LcaX8=Pb|3?9PQ-BN*1JSw?k$Kaj=v%}@ zjNl*yYTbQXv&@G7|AkCWQ%HIJ+UE)3+qd;Bo)gWR>8E5q$q^8Oq&9=TWh939Mg{ly@YC!3c~C;m z$UK^@r@VVk*U9Y}Yf@|bY`g~Nn&Slwr}6ZR z|>k!eNV@TXyj4osqo6@fx-4$>K>u(x0F48+ize)_wg5pQ|$_qm07@-?@>_y?LQ0Vh|fCV}ite<8&LVd*|gDv5~;^;;xe3MXE_B3-Gy} z`_${skd1Vkq78Vo2Ht}~f9+Oq_sR@^-7oTf0ur{-jV+VCOezdq%G7O41V7fItm8?q z<1H8?*&>6edR2<<6-z*@`Ugs#7)~9@)t&N}DdDeso7L_0UmMe(Vy{5>AgcA@c~RKy z9I_Yi(Cf_^NbzNS=ai!y;d_*@{7~1Ky6!G+nV*&kW4um!8HPS%b?Jk*ZFF5BLr+!N zg5^6!FHI1eM+sInqn3yUYFFUvrW#E96^xcynb^MNt@$032I~7c3}$tS)!pY=_FD=| zJHAhhO5Yf{<`6Vux##HPK}0P24@x}J548{h1T3{}MINIEMCdG=GB-lSuXGd%NE%x5 zqIww&(~3NE-90kHn&D}784jOIj=2px(319CO4LbB%czw+lG)wTxWhBcsWSKlMdMlZflJ9F^~zeoJ+3ss!cARd zf`^~=*&8BYENes&f~?ffil3g9Fx3Zns4e}Gc8H~6$jApyKLkQr4ECzn_1w=ik_0VI znUp+IWDHrTTKhHUhtmZyl?w^W1(X`J5~?nHrmJNzRC#4V?ggbzZeNf*)|my`rR?Vm zoUSkUJctdnS6RuP5P};I&9$G^V4;vZ?gl{@EZaNj-x9C%_S2>b3 ztQMS@UW66QO&$LD5s_`Ng{%17I|bj$LV!;9$NPN4Cv(Vv99F%Jr<>cva&^f>#>I|? zz%hF%Att;4RLPYV<27QZTBbi;=c6W+8UxToP~FaGB6YC3*sX9i`M@riPYDi)>l^$Kq_yM#{6%Z-h??icjHQPY6TFbiY=?(ppkgny(k8Gl z%*`F`N@DUoq|&2XsrH5@;i1w=h0a_}56hIXEHj%FWcC9@j~Dx%CS>SF($J;BWXGk7 z@&hB%58(X5lm#D-Vt|k*a+10T^ThEO{y4Cw~Y)t z<-5oR+TL3FWHp1v$$LeGN_HH?#>zOj?XjMZN9!G;DX8G|%_M{= zO{uDcf>;dNf1yP>JOGa+p2qA#KLT%QqO~n)J_!-BSe?4^ElbVW90kVoSXNP*f+!YkM;5lnafm$)Ni$qr) zH0~1V|FJb&7W&W;4H#Tb?I|Ha3hTSFB25pmGWCC6A@alhF+d%?<*DFB-7!y-C-iva(M7jibuiGNRRm12=Ob0)sKl2%86n+9`U$?F z&zy3#+D=}!GsyIHG5f>Yb|WEl$dLEA*qTD`Urqs>3BPWiSBw= zg|@Elea5JsP*Z$gL(;~(j_X=9UnAz(Z#FTO%!bT!S~0pN?1V9+u>-W+a1XgjFrc9l z?dXOa1Q0-xVu5ilWwKrvq02=;*IiVQF-(Wp(H?)D**FjP2PKJPSQvHf7rc>ulF&uc zny}Ilo*skyU#(Z4wf83h5@HGT9u)4!CU{o-HKC54+}8BVgOf#S(GubMJ;F9$zOy?^ zRFIC-PoX>nqq8C}6CdBT8$jqe_4~lo7mpoaOL4++Aql|C&ilppJ`1CE`9Vvs_toa>lL&q$;QhW zR9YytwrO;6tcFb@oUidhwkW4*$gYf zC7ao2I~{cG>`a4&!yjH~6QPDT{?#8129SjqElXDq0g$>iT?8n0sxRdhJ?iLg3+m{3 zn+;TV0sOo*eb;T1>b|qRRBbZMA}W%dp}c|*uB@`r;Bz+x;j){Lhxm5RRoc^P)a4La z2Z@Y6rNi2lQinqdjd*=OAyAG{hKST@Lh1*FHyk^T&9~$l!mHfE!13{MW&lbmk`iDFnUFw~f zw9nd_Tohwce|ng)L5CjKZ8Fc}>dqy+V$|)g2G*}v`QJ7%P1(6XnvV9|bRVzS(s`Fp zX;=dU-DMthmh(*BJ{k$mw}@t)DNs1hOx1!OT9#rqlNmIaJ5*7QSvKz+YfCO0<{_sF z#{fd}OZiR<@jK2M1T|oGX!Pz28S{LhWx`x!(HbUZ%)FuiXi25M5i$Ks=UBVYbD(_3 zJ8EBW@8l+qLOW2v&p0)eMX69_aUd8S_7r{kNo|KOpvnL(I43S*QL4%BPYH9#<*QuW zLmoHzP+fP`eXx{8)aDKy$W0?NHUzCQ{@xwSc9F|&c?|0pkhyMqupT%e z&GyC@Q-Pv1uvo7x0$=}->)P8X!3`OCM(!=>h^jkBB4jmN^%I;nMdndE!%uxsf1Xn} zep|kqi(==9bD$`W@nTh4J;$5+&}y@-Z~H|m|1w66f&6GC#E}< z<0k>qkbKo|Z3=UHi%lFL-hf4231y>0U6Yj4 z#e35+L7+yfZWfM9R)~v>Y~v__>A7w2&v4x=j2e!BB_WjJL$+jd?{dhPz9k{G6tgyD zvh+d)c3Luenbv;)gLw?6bgvdV&F`z#67y1xmeHgwD&G;^Fyk1pCXe1G%NWcE9v~1@ zqwm+AHl=GY-7nV97wtURZ3wNQZcYD!mn;y;)5YB%t>?r^x3hNj^^3(f^4Q>jt{DnfnjfpJuj{YxmtY2O2>fV0b$Kvu(U|c8{Y)4xyVN zUl2Qktyo8uaBhqVmj&NtAVb@wc3lUE1#hm|!}x=Xff0DfAsb5pUkKHyt&gKt!5OWe zj3Qda+(ul&jZh&+dE)K{G%Thn(d1SiSY9M_t0iTE9IU2Einb~4J+O%3q+BJ&N*WXP zOO{rHImO_8tVM>=+I-Nh@7<7ILFBs!15c<;@AvxyNER=$pc(4HirlszKeXpT3%knm zSaDrp56$sf zN!%)=#)9|-wNbPAWZS6Yg<7f6QVZ0>cLaFN;!VII@<6iwQq=gkE!n$pj_ zT^`3|3wg2xbV>c5GH9N*vre&;M+!@N#Y~Bf=@};aE*^ZrF_X%C@M~+JUkIXg)DNoE zoJVE87We|);)giOv-0VLv!$->EY7@Q{3i)yDzGfwH?nR<3vnNQN$oD)>U(D~Bsl1= zorYcg!AXe5Ro0XdBf=l;Nrj=R+Q&tm7XLNA+1;Jh)(`&vk%DV_X8bWmrcIuW0pVx| zzOMWz<+Q8*qSvu|FV?9O#84Sa#B%ZRd8a64F_&i#O8(=|d2RbgqZ8QFX_865WlV

BsBx$#D_7(v%t&XYSwLrJByGliNe3xqe0N5nGZKv2vd!*5$SeP>cW}qH)2-4OzOcPq;fA{`g{Dc(_xX_2jyLoK(IZ|g@F0e zW+z1`hW0w2E?K?hlkDlaj)7S}GyW`!xz2y(=4ydAR0pCzG@EJ0K>Uq`pg2&LzpXI6QZG;S5`UExloj0l!k5cldDaAo& z#TCj%dS@k$Kvns~%&j>kGkfPsd(p4lEC@&PfL5Uw{6wJ}mG>jnQ_^p?Rq~O!mYgx3 zmYiO957GGenP5ZT>lOrSK8AP5t)m zwWLKfROjGD6YVgdVMJx{Po`nhpBomZ^}`!`zKX{N))#@s_@-x{&mxC69F5NIzg65H zn-thKZ{!-CKmQi|WK7Q%w2w}e3Y4rD?XqEH5Wg0ChG~t2@m?*2mgXfCv?R@m`;mrH zuL_7Q5GO+Cv<97_ul7aP=;qy?=CwgqlZ|yS_aVVZ7^=7wmYRiwAvx(q@1ullfJt&1 zB?y_1`zA!KVk2LB)&T=)~9vk5+7HaCAw_yf;<#j574QeR+c zWed~I^*ghni$K568n*c9fEo>?PvmLDlS(k>{3VF*NI@$~5@*7i9pN4`E`H#l+XyG3 z$WyfsK>41Le!*?65x#@%YGg@@ zJ@bp7IG#ZftOf1|@&fS!2YxMythvkkR4v3@w^MjN$*g(CQ$-7Zm_?T7l8@;#wwQ_G zJ~n~PKPi9Q>7Nh8gT6!~F<~rpap5I}eo;6Vq>-ArnaqPyuEs_s*H+s)g7k8@O9E+X z!{d@+$mf)_f@6$vxkY;o4N~&cM<~+@&NJaw%wa*d3r=NK`|C>Ii%MN-(iSA#Yx-8; zQhaTUl1vF&51Mess((6oMA?DO|C}p9eVbJBFf&7589RL288tLJ4axx_I4p`Fwk4@( zje1FG20NEQ9?vO+&;AWYr-5Lk;*qQnZ_+(DH>v<7!!}ERmo6fi%0+foz6N_Il3|o` zA85Rr)yOy}9ql^pTSf6v`32{tr{~)ImR}>p2Gu2e*LH_P>prmZPa!$_h{{yUBmI_s zPJW3?v&!ZXt#3)bCHSC#Vy{!BrjaXmU~Agffd;~cP8XNA95dqD(=Z$OEU zJDS9nwskQ4d*f$Qm31Fe+6AfKTDT}ovY@Fj#tHTb5k~Soxv75T3v0ASL}FxBPkc#c z2DHHetIymr+K~M#M)x!Z*ij?caSUjPLRS)9U_5yX_0JM$yPZ4(X{JxcQso}&l4C7z zGoI7swX=DT7|&fC{;YJ(^c&UnDeyDb5%RoUk4}YhpSZTBSh$m%itf)!r4RG54?xOq z6MYR~Ke~|{dsR-0l+M0?KM3&JWNk?$%UwPYYl$YycUpou^-cbk*M24N9K4n{us=~B z-vI$02>L|f3J-){34tf0g%XUm@~)7YKq>LL#vzaMUWCu^E3c^_$xfJC=QGPII%7HK z^Xsek>(ZUS9j{o|WlqnTt^lA9AkaqqLHrZTb7W^Rx)#8{P=4Q>=ZlC&!2xpCgMyYA zNK0l~$Bx0jQn{#80(!j+;aS2lA5>O;uzra5puEbe_Thyh5Luh5Po5V-zQfm>Zm6jZ zq&${m#Dft+hF_4n$MtQ1wx|qmv+Wkx%zjJ^XSs00yr(!!G>|XwhKk({0{OAJ(3B{6 ziL!m)g}+71z&y*&&UYu-Cf+AlkIy<;VI@K$7OGYVPfBDEAkP++!iVxQ{e7Eb+4~Xd z7$d$AnoLScCLm#{}*C)kn8Kirf2jj&8pd@~LlsM0ivXKLWROf{iWLrVP0S$;YMu#@1Hn+QqHo z2UP=CCBj!B5N>QoJ z9bo5Hrz5?#{MHUXHOl=y_I<2CQ7`rNHu)rjUrExOl8P+Rku&rHFa~3Ms@QldMMEHb z)bRUCUqE})fZR#HoV0}sCnqtojMGHgl)oFwH)&jLNbaGcx|2Uyb;;Q0PFG?=9JWH+K`$}Fz%P^3|1*Sa0s_?2l1+9th|`&dRh}PPbA;pA#ipV zC%}nBkDjUwUWoKZv3Z-LyLTk8xy_WMoXM$888d#H6~`-ePykKcDEqUu6bO3uG&5z5 zSS}}hf^|6k7SnYS+Qmqsv92U~3ULgs5BKE0_aven>^)JKdN$0s`5}^8XrnV;rEi;< zDaBlp%$(0j4)!Wire&nXPk_LKL7z2-y1uGiEGv~dE&W-WS!Vn$*Y`eKb7xHx{ZryQ zz-G4tHy_+0Z9a$?DZ(8yW?X{31!`);Ofr}y0v0@Z?#GZlESfj=q|t&=djs^tHSE)w z(e4Oy+Ot1EJ1K1SW)kk1pPGs2tv*+Z7~rMeTazch{FCd?@wzZp>lB(MH8}!}GIQ)b zy!MXS_5>2nr~ujQPe{@#jMu7NPbc#nzmmOC)EXR$JO$(uQTy82zn;n@ zFH7yp$`%KPQWNmwiOLR~OVp>4LyDg0e>o0)SuO9XysP}9`&yvfh#!{lYm1FD(aQBB zcq;2)fO95Z!N7-#>&a4pRjT{Gx}MJ`1?q|BB%-(^Ehlg2iMetI-v+l+a_q^iKT0sr zLk^j)!;|=k@7S zJ%W&CS#i^!f%}|25@eR@wTy*;VTE2TQKBMdqVg!)V8)`56gHVf?~8E$aIWM(aX|ls zU56fR1J$?yu$Ts3Om-6-!J(P1K5(sEvc~EkO>O(x>pSd>IPTjNUrdPg+VM-{; zhebuK^gZDhPgw|kMZa1mk;?CK#8257vY$)j>J7D~HS9Rs%OI0Sc8u-SXeX3wOq_AA zvE_G_{9Att#~u;kjd%SKQRar0-(eAS&|TAVR@}EU)m60loklot@_0Cx8pL6N&p@rx zxBT5Iq<~Tq#8OQ$MlPGM47u-fQ}yCw`Dp@S0-8M8c~&#tc4&qbd()P7WFBSPZiU?! z#sw=GpE*n-nC)CCHhg(=bFhWH4U^x|cFtE~w`i$QRR$ur<>aFqM4X~CJeUJ<;r&4J zQ{jMh8NPL2kD#b``xC3OP+~>c_@Mk#b4qocTJ)gRTQH9Qv>arAJz*~*@N_2YV7+A~ zY}Dl8d*JD1N3m#v760;aFf0OI~+bkaU?eqm0yh zLzV)@2I#QXuW>rS88Z(g9#E;)Y_Pmzwq2O-a=ltZSA@Rl&m)tcm@U$k#midBC+fvh z?TpF{DY-yRET_((fXesNttH1IYQ+W9g4lDbdRfKed+Hu&=-R(82s{8fWytrc9+>kb zEJDVHJ<)STeo-wk5{GUgN`~E}hm0aJhGY1p_Fm;Jsg0$|0lJR6#h^Klr@WR#Q7ztb zERS-cLMM%a**|6Ct9fYJhKKAP#Ti8>>cEoLIjRQI;tnkDWcPUgVAUixr(-@Tsa&eQ z4xi+t0+~U}ZN@zDk$?{$Z^)I`OmiL5B6;Abi?wX>v=7DBN@qMZcb^-J+O`cO@(Tt zDM8KRwIcXy09M*KijJs9vt3{`>PGj;pU;8C#gq(W!A@RLp|P&Y!|z%9dP(dVf_+V^ zQ21-kq2dQQc|t*NQ(p0)7cF>G#PYyT!I~o|y$_rI zWX?CnK3vjIAU8l*P<#BKxXFuaMRRkTPtVt9URYQ@xIAXQ>&jE?W$t}=Uy<~Fc=?Eo zY~BLO_Q~m+YBk^jtu+&9W{|?m?CcgbQuKjg&PCIP_90aJ{?JN<-VvM4io z__un$i<&18&bw5VwcZQv@jxY`HMrk{c|42?<#nGae`1NdWaRk=VsmJfYKo9xoRbx+r?4!d~lLILJQJazjhyW2_KXL%|-zws74mH2u zI85em94734i=c$T9pnJ2zm5J4nnwGNktO(*96>pLmUn)y*3k87g@3QD7-iZ2d6*73M(3|jIn+N!n0>JW*ikiM^paq##g_opbw0a(2Vgg{@v|=bszZrFPFt&6e|_TN6d08fK>qg=^mj%~Dh&V^daM(SPXi$Tr{MxL03y-zQ79;FCvyo?Cr?xNe<+^+ bZ /dev/null; then + ssh_sleep=1800 +fi +ssh_cmd="" if [ "X$SS_VNCVIEWER_SSH_CMD" != "X" ]; then ssh_cmd="$SS_VNCVIEWER_SSH_CMD" fi ssh_args="" +showcert="" +reverse="" if [ "X$1" = "X-viewerflavor" ]; then if echo "$VNCVIEWERCMD" | grep -i chicken.of > /dev/null; then echo "cotvnc" exit 0 fi - str=`"$VNCVIEWERCMD" -h 2>&1 | head -5` + if echo "$VNCVIEWERCMD" | grep -i ultra > /dev/null; then + echo "ultravnc" + exit 0 + fi + str=`$VNCVIEWERCMD -h 2>&1 | head -5` if echo "$str" | grep -i 'TightVNC.viewer' > /dev/null; then echo "tightvnc" elif echo "$str" | grep -i 'RealVNC.Ltd' > /dev/null; then @@ -173,6 +188,12 @@ do ;; "-alpha") gotalpha=1 ;; + "-showcert") showcert=1 + ;; + "-listen") reverse=1 + ;; + "-reverse") reverse=1 + ;; "-grab") VNCVIEWER_GRAB_SERVER=1; export VNCVIEWER_GRAB_SERVER ;; "-h"*) help; exit 0 @@ -185,10 +206,36 @@ do shift done -if [ "X$gotalpha" != "X1" ]; then +if [ "X$gotalpha" = "X1" ]; then + VNCVIEWER_ALPHABLEND=1 + export VNCVIEWER_ALPHABLEND +else NO_ALPHABLEND=1 export NO_ALPHABLEND fi +if [ "X$reverse" != "X" ]; then + ssh_sleep=1800 + if [ "X$use_ssh" = "X1" ]; then + VNCVIEWER_LISTEN_LOCALHOST=1 + export VNCVIEWER_LISTEN_LOCALHOST + fi + if [ "X$proxy" != "X" ]; then + if [ "X$use_ssh" = "X" -a "X$use_sshssl" = "X" ]; then + echo "" + echo "*Warning*: SSL -listen and a Web proxy does not make sense." + sleep 3 + elif echo "$proxy" | grep "," > /dev/null; then + : + else + echo "" + echo "*Warning*: -listen and a single proxy/gateway does not make sense." + sleep 3 + fi + fi +fi +if [ "X$ssh_cmd" = "X" ]; then + ssh_cmd="sleep $ssh_sleep" +fi orig="$1" shift @@ -207,13 +254,17 @@ if echo "$orig" | grep '^vnc://' > /dev/null; then use_ssh="" use_sshssl="" direct_connect=1 +elif echo "$orig" | grep '^vncs://' > /dev/null; then + orig=`echo "$orig" | sed -e 's,vncs://,,'` fi # play around with host:display port: if echo "$orig" | grep ':' > /dev/null; then : else - orig="$orig:0" + if [ "X$reverse" = "X" ]; then + orig="$orig:0" + fi fi host=`echo "$orig" | awk -F: '{print $1}'` @@ -221,8 +272,14 @@ disp=`echo "$orig" | awk -F: '{print $2}'` if [ "X$host" = "X" ]; then host=localhost fi -if [ $disp -lt 200 ]; then - port=`expr $disp + 5900` +if [ $disp -lt 0 ]; then + port=`expr 0 - $disp` +elif [ $disp -lt 200 ]; then + if [ "X$reverse" = "X" ]; then + port=`expr $disp + 5900` + else + port=`expr $disp + 5500` + fi else port=$disp fi @@ -263,12 +320,47 @@ findfree() { echo $use0 } -use=`findfree 5930` +final() { + echo "" + if [ "X$SS_VNCVIEWER_RM" != "X" ]; then + rm -f $SS_VNCVIEWER_RM 2>/dev/null + fi + if [ "X$tcert" != "X" ]; then + rm -f $tcert + fi + if [ "X$pssh" != "X" ]; then + echo "Terminating background ssh process" + echo kill -TERM "$pssh" + kill -TERM "$pssh" 2>/dev/null + sleep 1 + kill -KILL "$pssh" 2>/dev/null + pssh="" + fi + if [ "X$stunnel_pid" != "X" ]; then + echo "Terminating background stunnel process" + echo kill -TERM "$stunnel_pid" + kill -TERM "$stunnel_pid" 2>/dev/null + sleep 1 + kill -KILL "$stunnel_pid" 2>/dev/null + stunnel_pid="" + fi +} -if [ $use -ge 5900 ]; then - N=`expr $use - 5900` +if [ "X$reverse" = "X" ]; then + use=`findfree 5930` + if [ $use -ge 5900 ]; then + N=`expr $use - 5900` + else + N=$use + fi else - N=$use + p2=`expr $port + 30` + use=`findfree $p2` + if [ $use -ge 5500 ]; then + N=`expr $use - 5500` + else + N=$use + fi fi if echo "$0" | grep vncip > /dev/null; then @@ -280,6 +372,7 @@ if [ "X$use_ssh" = "X1" ]; then ssh_host="$host" vnc_host="localhost" ssh=${SSH:-"ssh -x"} + if echo "$proxy" | grep "," > /dev/null; then proxy1=`echo "$proxy" | awk -F, '{print $1}'` proxy2=`echo "$proxy" | awk -F, '{print $2}'` @@ -312,6 +405,7 @@ if [ "X$use_ssh" = "X1" ]; then stty sane proxy="${ssh_user2}localhost:$proxport" fi + if [ "X$proxy" != "X" ]; then ssh_port=`echo "$proxy" | awk -F: '{print $2}'` if [ "X$ssh_port" = "X" ]; then @@ -333,6 +427,12 @@ if [ "X$use_ssh" = "X1" ]; then if [ "X$SS_VNCVIEWER_USE_C" != "X" ]; then C="-C" fi + if [ "X$reverse" = "X" ]; then + ssh_redir="-L ${use}:${vnc_host}:${port}" + else + ssh_redir="-R ${port}:${vnc_host}:${use}" + fi + pmark=`sh -c 'echo $$'` # the -t option actually speeds up typing response via VNC!! if [ "X$SS_VNCVIEWER_SSH_ONLY" != "X" ]; then echo "$ssh -x -p $ssh_port -t $C $ssh_args $ssh_host \"$info\"" @@ -340,20 +440,32 @@ if [ "X$use_ssh" = "X1" ]; then $ssh -x -p $ssh_port -t $C $ssh_args $ssh_host "$ssh_cmd" exit $? elif [ "X$SS_VNCVIEWER_NO_F" != "X" ]; then - echo "$ssh -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\"" + echo "$ssh -x -p $ssh_port -t $C $ssh_redir $ssh_args $ssh_host \"$info\"" echo "" - $ssh -x -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd" + $ssh -x -p $ssh_port -t $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" else - echo "$ssh -x -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host \"$info\"" + echo "$ssh -x -f -p $ssh_port -t $C $ssh_redir $ssh_args $ssh_host \"$info\"" echo "" - $ssh -x -f -p $ssh_port -t $C -L ${use}:${vnc_host}:${port} $ssh_args $ssh_host "$ssh_cmd" + $ssh -x -f -p $ssh_port -t $C $ssh_redir $ssh_args $ssh_host "$ssh_cmd" fi if [ "$?" != "0" ]; then echo "" echo "ssh to $ssh_host failed." exit 1 fi - echo "" + stty sane + + c=0 + pssh="" + while [ $c -lt 30 ] + do + p=`expr $pmark + $c` + if ps -p "$p" 2>&1 | grep "$ssh" > /dev/null; then + pssh=$p + break + fi + c=`expr $c + 1` + done if [ "X$ssh_cmd" = "Xsleep $ssh_sleep" ] ; then sleep 1 else @@ -363,11 +475,23 @@ if [ "X$use_ssh" = "X1" ]; then echo "" #reset stty sane + #echo "pssh=\"$pssh\"" if [ "X$use_sshssl" = "X" ]; then echo "Running viewer:" - echo "$VNCVIEWERCMD" "$@" localhost:$N - echo "" - "$VNCVIEWERCMD" "$@" localhost:$N + + trap "final" 0 2 15 + if [ "X$reverse" = "X" ]; then + echo "$VNCVIEWERCMD" "$@" localhost:$N + echo "" + $VNCVIEWERCMD "$@" localhost:$N + else + echo "" + echo "NOTE: Press Ctrl-C to terminate viewer LISTEN mode." + echo "" + echo "$VNCVIEWERCMD" "$@" -listen $N + echo "" + $VNCVIEWERCMD "$@" -listen $N + fi exit $? else @@ -571,11 +695,39 @@ if [ "X$proxy" != "X" ]; then ptmp="/tmp/ss_vncviewer${RANDOM}.$$.pl" mytmp "$ptmp" pcode "$ptmp" - connect="exec = $ptmp" + if [ "X$showcert" != "X1" -a "X$direct_connect" = "X" ]; then + if uname | grep Darwin >/dev/null; then + nd=`expr $use + 333` + SSVNC_LISTEN=$nd + export SSVNC_LISTEN + $ptmp 2>/dev/null & + sleep 3 + host="localhost" + port="$nd" + connect="connect = localhost:$nd" + else + connect="exec = $ptmp" + fi + else + connect="exec = $ptmp" + fi else connect="connect = $host:$port" fi +if [ "X$showcert" = "X1" ]; then + if [ "X$proxy" != "X" ]; then + SSVNC_LISTEN=$use + export SSVNC_LISTEN + $ptmp 2>/dev/null & + sleep 3 + host="localhost" + port="$use" + fi + openssl s_client -connect $host:$port 2>&1 < /dev/null + exit $? +fi + if [ "X$direct_connect" != "X" ]; then echo "" echo "Running viewer for direct connection:" @@ -596,21 +748,37 @@ if [ "X$direct_connect" != "X" ]; then SSVNC_LISTEN=$use export SSVNC_LISTEN $ptmp & - sleep 2 + if [ "X$reverse" = "X" ]; then + sleep 2 + fi host="localhost" disp="$N" fi - echo "$VNCVIEWERCMD" "$@" $host:$disp - echo "" - "$VNCVIEWERCMD" "$@" $host:$disp + if [ "X$reverse" = "X" ]; then + echo "$VNCVIEWERCMD" "$@" $host:$disp + trap "final" 0 2 15 + echo "" + $VNCVIEWERCMD "$@" $host:$disp + else + echo "" + echo "NOTE: Press Ctrl-C to terminate viewer LISTEN mode." + echo "" + echo "$VNCVIEWERCMD" "$@" -listen $N + trap "final" 0 2 15 + echo "" + $VNCVIEWERCMD "$@" -listen $N + fi exit $? fi ##debug = 7 +## debug = 6 tmp=/tmp/ss_vncviewer${RANDOM}.$$ mytmp "$tmp" -cat > "$tmp" < "$tmp" < $tcert < "$tmp" < /dev/tty & -pid=$! +stunnel_pid=$! echo "" # pause here to let the user supply a possible passphrase for the # mycert key: if [ "X$mycert" != "X" ]; then - sleep 4 + sleep 2 + echo "" + echo "(pausing for possible certificate passphrase dialog)" + echo "" + sleep 2 fi sleep 2 rm -f "$tmp" echo "" echo "Running viewer:" -echo "$VNCVIEWERCMD" "$@" localhost:$N -echo "" -"$VNCVIEWERCMD" "$@" localhost:$N +if [ "X$reverse" = "X" ]; then + echo "$VNCVIEWERCMD" "$@" localhost:$N + trap "final" 0 2 15 + echo "" + $VNCVIEWERCMD "$@" localhost:$N +else + echo "" + echo "NOTE: Press Ctrl-C to terminate viewer LISTEN mode." + echo "" + echo "$VNCVIEWERCMD" "$@" -listen $N + trap "final" 0 2 15 + echo "" + $VNCVIEWERCMD "$@" -listen $N +fi -kill $pid sleep 1 diff --git a/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch b/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch index 8111b88..bd26a47 100644 --- a/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch +++ b/classes/ssl/tightvnc-1.3dev7_javasrc-vncviewer-ssl.patch @@ -73,8 +73,8 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/RfbProto.java vnc_javasrc/RfbProto serverMajor = (b[4] - '0') * 100 + (b[5] - '0') * 10 + (b[6] - '0'); diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSLSocketToMe.java --- vnc_javasrc.orig/SSLSocketToMe.java 1969-12-31 19:00:00.000000000 -0500 -+++ vnc_javasrc/SSLSocketToMe.java 2006-09-23 18:35:25.000000000 -0400 -@@ -0,0 +1,1301 @@ ++++ vnc_javasrc/SSLSocketToMe.java 2007-02-21 23:27:10.000000000 -0500 +@@ -0,0 +1,1366 @@ +/* + * SSLSocketToMe.java: add SSL encryption to Java VNC Viewer. + * @@ -100,9 +100,14 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL +import java.net.*; +import java.io.*; +import javax.net.ssl.*; -+import java.security.cert.*; +import java.util.*; + ++import java.security.*; ++import java.security.cert.*; ++import java.security.spec.*; ++import java.security.cert.Certificate; ++import java.security.cert.CertificateFactory; ++ +import java.awt.*; +import java.awt.event.*; + @@ -149,6 +154,25 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + java.security.cert.Certificate[] trustallCerts = null; + java.security.cert.Certificate[] trusturlCerts = null; + ++ byte[] hex2bytes(String s) { ++ byte[] bytes = new byte[s.length()/2]; ++ for (int i=0; i 127) { ++ val -= 256; ++ } ++ Integer I = new Integer(val); ++ bytes[i] = Byte.decode(I.toString()).byteValue(); ++ ++ } catch (Exception e) { ++ ; ++ } ++ } ++ return bytes; ++ } ++ + SSLSocketToMe(String h, int p, VncViewer v) throws Exception { + host = h; + port = p; @@ -338,10 +362,48 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + * 2) to subsequently connect to the server if user agrees. + */ + ++ KeyManager[] mykey = null; ++ ++ if (viewer.oneTimeKey != null && viewer.oneTimeKey.indexOf(",") > 0) { ++ int idx = viewer.oneTimeKey.indexOf(","); ++ ++ String onetimekey = viewer.oneTimeKey.substring(0, idx); ++ byte[] key = hex2bytes(onetimekey); ++ String onetimecert = viewer.oneTimeKey.substring(idx+1); ++ byte[] cert = hex2bytes(onetimecert); ++ ++ KeyFactory kf = KeyFactory.getInstance("RSA"); ++ PKCS8EncodedKeySpec keysp = new PKCS8EncodedKeySpec ( key ); ++ PrivateKey ff = kf.generatePrivate (keysp); ++ dbg("ff " + ff); ++ String cert_str = new String(cert); ++ ++ CertificateFactory cf = CertificateFactory.getInstance("X.509"); ++ Collection c = cf.generateCertificates(new ByteArrayInputStream(cert)); ++ Certificate[] certs = new Certificate[c.toArray().length]; ++ if (c.size() == 1) { ++ Certificate tmpcert = cf.generateCertificate(new ByteArrayInputStream(cert)); ++ dbg("tmpcert" + tmpcert); ++ certs[0] = tmpcert; ++ } else { ++ certs = (Certificate[]) c.toArray(); ++ } ++ ++ KeyStore ks = KeyStore.getInstance("JKS"); ++ ks.load(null, null); ++ ks.setKeyEntry("onetimekey", ff, "".toCharArray(), certs); ++ String da = KeyManagerFactory.getDefaultAlgorithm(); ++ KeyManagerFactory kmf = KeyManagerFactory.getInstance(da); ++ kmf.init(ks, "".toCharArray()); ++ ++ mykey = kmf.getKeyManagers(); ++ } ++ ++ + /* trust loc certs: */ + try { + trustloc_ctx = SSLContext.getInstance("SSL"); -+ trustloc_ctx.init(null, null, new ++ trustloc_ctx.init(mykey, null, new + java.security.SecureRandom()); + + } catch (Exception e) { @@ -353,7 +415,7 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + /* trust all certs: */ + try { + trustall_ctx = SSLContext.getInstance("SSL"); -+ trustall_ctx.init(null, trustAllCerts, new ++ trustall_ctx.init(mykey, trustAllCerts, new + java.security.SecureRandom()); + + } catch (Exception e) { @@ -365,7 +427,7 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + /* trust url certs: */ + try { + trusturl_ctx = SSLContext.getInstance("SSL"); -+ trusturl_ctx.init(null, trustUrlCert, new ++ trusturl_ctx.init(mykey, trustUrlCert, new + java.security.SecureRandom()); + + } catch (Exception e) { @@ -377,7 +439,7 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + /* trust the one cert from server: */ + try { + trustone_ctx = SSLContext.getInstance("SSL"); -+ trustone_ctx.init(null, trustOneCert, new ++ trustone_ctx.init(mykey, trustOneCert, new + java.security.SecureRandom()); + + } catch (Exception e) { @@ -563,6 +625,9 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL + if (viewer.trustAllVncCerts) { + dbg("viewer.trustAllVncCerts-2"); + user_wants_to_see_cert = false; ++ } else if (viewer.trustUrlVncCert) { ++ dbg("viewer.trustUrlVncCert-1"); ++ user_wants_to_see_cert = false; + } else { + bcd = new BrowserCertsDialog(serv, host + ":" + port); + bcd.queryUser(); @@ -1378,8 +1443,8 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/SSLSocketToMe.java vnc_javasrc/SSL +} diff -x VncCanvas.java -Naur vnc_javasrc.orig/VncViewer.java vnc_javasrc/VncViewer.java --- vnc_javasrc.orig/VncViewer.java 2004-03-04 08:34:25.000000000 -0500 -+++ vnc_javasrc/VncViewer.java 2006-12-01 02:31:26.000000000 -0500 -@@ -88,6 +88,14 @@ ++++ vnc_javasrc/VncViewer.java 2007-02-21 23:24:37.000000000 -0500 +@@ -88,6 +88,16 @@ int deferCursorUpdates; int deferUpdateRequests; @@ -1388,13 +1453,15 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/VncViewer.java vnc_javasrc/VncView + String CONNECT; + String urlPrefix; + String httpsPort; ++ String oneTimeKey; + boolean forceProxy; + boolean trustAllVncCerts; ++ boolean trustUrlVncCert; + // Reference to this applet for inter-applet communication. public static java.applet.Applet refApplet; -@@ -626,6 +634,53 @@ +@@ -626,6 +636,63 @@ // SocketFactory. socketFactory = readParameter("SocketFactory", false); @@ -1435,6 +1502,11 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/VncViewer.java vnc_javasrc/VncView + } + System.out.println("urlPrefix: '" + urlPrefix + "'"); + ++ oneTimeKey = readParameter("oneTimeKey", false); ++ if (oneTimeKey != null) { ++ System.out.println("oneTimeKey: is set"); ++ } ++ + forceProxy = false; + str = readParameter("forceProxy", false); + if (str != null && str.equalsIgnoreCase("Yes")) { @@ -1444,6 +1516,11 @@ diff -x VncCanvas.java -Naur vnc_javasrc.orig/VncViewer.java vnc_javasrc/VncView + str = readParameter("trustAllVncCerts", false); + if (str != null && str.equalsIgnoreCase("Yes")) { + trustAllVncCerts = true; ++ } ++ trustUrlVncCert = false; ++ str = readParameter("trustUrlVncCert", false); ++ if (str != null && str.equalsIgnoreCase("Yes")) { ++ trustUrlVncCert = true; + } }