From 311cef1827fde291b36411eef716704f3622c818 Mon Sep 17 00:00:00 2001 From: Sogomn Date: Sun, 21 Feb 2016 05:21:11 +0100 Subject: [PATCH] Small changes Added ping sound Fixes and cleanups --- Ratty/res/ping.wav | Bin 0 -> 39496 bytes Ratty/src/de/sogomn/rat/Ratty.java | 4 ++-- .../de/sogomn/rat/server/gui/DisplayPanel.java | 2 ++ .../src/de/sogomn/rat/server/gui/FileTree.java | 1 + .../src/de/sogomn/rat/server/gui/RattyGui.java | 3 ++- .../rat/server/gui/RattyGuiController.java | 4 ++++ 6 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 Ratty/res/ping.wav diff --git a/Ratty/res/ping.wav b/Ratty/res/ping.wav new file mode 100644 index 0000000000000000000000000000000000000000..eee4ecd45b209c45662c33c0fa011b4dee0979ab GIT binary patch literal 39496 zcmW(-1$5mw)740_A0&k>Gj5quW@ct)PMMh*w%l%+nYl@snVE6R49Npq^w0O7oU_fo z7t69VGxyG&ksH;lR;|KvLYh}>R<&E7!I=^hLV!?GAtU}Wh7e8?lP(Di%ZUC^-%e!*Ed3CR(aecx}Ta)o`t8z ze+vzDkJC|fC^@K~>diC*|L9quPUs!MRAPhfu9MStW~ipH%zj|6^iJ?q)EoE$;V}y4 znf0Qw+H11tPLT)g!FEl55}L}&VmIQpiG)6(`QaJV77?B*Y%a~pjc0;Y)c3`EO@1a7 zo#mmzB&YjRuaW7Akzrq7yR)~4|EfL=yHqLppPV4(g{}v3nXlm)zS`Dm9_<}XtMMZ& z#2&j|H9M|&+*SEkXfP{El0!~*%?j8TJO%xQg*LSV2LkQI-=Tr-b*F)vA{Kfpd15`y zBdf_+7%odmpGe{!|MTk4S@9~E$GhE{MOS*7lKwmePiU#ZUd+7%sZoJ+G~dG?Crex@33f)vW#D zlJ4u!zj4>0u$vtUnErGPz3JQJTWm#p+q&u0Yf&jY-;8ilipt?5bg|A9@yB**J7Cmls!zzH+gSsdyU+7S1^nx^Y` zcG-+-yP)0BTbsS)zk<`l>D?rO%(RS{WCok!tRs)~Z;T*xiRXEU$=|Y=GganvqMaw< zwX6zs@NV~)Fw5<8Y9&lJ^-N4?b@+U^d~gigWah9dmXCb3`tg4}n@s~&JUAfS-#r;9 z0Mq4OecF7bL#^e$0g+ot5l_1CPxqlJ?i`XQ!Z(~Q;Yap)md2kZ!4EUhv&dAYUx~*o z4E76jbz23PN0DE=m}dy><@srE@l_%FY16>&-~>4=u!$Cz4a^L4mFKam`0GSwFlDU^ zPPC|GTDW)Q3da>|ohx<~KG4JbiA*-@1o;B4S*<&Ut>7$qAQa_s;R+jLpQ9mj} zy`>YBk&!H~8}Dq;9_P7pEpSUFc20Y@+Uu;-{vo=wwUrd7OJysODX{!cA2lTyWi5vt zP{8U>t9b_V+n&+llYS9=9LTPdgqNCQa=5N)Dp-f@239lQZ1IXr6Z_ouy0DwatsAPQ zdx|xl?e%QRxU+8s(BxM5m{ z@0iJQocUp>x0vse74ScD(~;UT+8w2HIe$5C0+$Sz{k#u7QS6d8w<*pG!3LNn`npk} zUvZ5{8h0vB$8x|ZE5sgnD)9lH!fuS59qt@RO@=ui^$YpI+$F8N)BR0(6aNRdy_u_+ zSfk#DvpPQmRbioO?=9+^NY8jPk|BHqY=K*Dd#6}9QTzZXC+6}etP`xTidY}LDS2K` zOQ(=n?mUivLN+>WbO+fN{Peu9PUKmZ)L&erHKTM!;Z>EwL!Gw)hyG)3dk6aep#yxM z$SmtUyocM)!0@r~#kd}Hvz*4C@VD@vUC!>{Kfv1J*l%6qb_nhuUNKguQx$1DR?;^i zaunU^tt9{Gm-?+3Ec1u!xkrNonINk?gZ-K5d2fB_ZAp?AsyZV0UwB7cE1E^sX3O|% z_-Z$@&-s_p@^*#rwQxBxKJdh3aLcHYGC;fVOupd>Rsr|AqP{++YlwVeN6>Ny1kbRi zP|$PJKL;jyufrhg5m`uvhyB4>4v)V|Q|ldc9nV0Ec=CF>MN|gM$`_6d|1FaSi<(64 zTbWiC<_D~c-k}K=kPY?<`9QVS^WB2(vcL#;WUvk&L#x_}{7qrC=LVeNob)oQLm%Vo zxb5Qi&}e-GzOg~{hn>U|^d~2E84DK-fm$0ZtXDdpWO^Co4eaFJ2a!w6Kr5x%tLo~a zZf_?+psL6eise1nG%L=R3tD?d(lkvC?c4`g`JtJvtGM z4X+6{Qm=v?RSGAwS|sOKQ_)}NM@};?zoWLRYC7ahaPG#Jl|{q5`5)GuSMXJWz4ku3 zn!nSjbj|SI_%!Ng@GrW;OdzvZERJ2pp6L&$Sd!9h8p^3Jhd#+x4(JJLp%wJ(w8}+f zGw)c8PKQ_ja$YzO169;<=O6x(&tNaTUEsQ{=u-Y!B~od_AL5RxZlPO{jWi}7*$+O< zm)E}GZ=-&gb#CTR7yTpDU49Nf*E{q9ySHzvbu*%caaazMQ}0)Worcbv`0Bc=JKQQ{ zzhV1)k#wRbmQ}Kz%Fm*E_)^?y-8ei6=8{*WJpW)-^S7{e`COUbWRXq7t@Nj`SEYA> z{50+CLcV7FweN)K#g?12`jFc1RC0N6nHePeSZnPLY^5(PJMCG+a#_P=deOv*h`(o! zJNe)`*#%=PWeP zLig0OP)`}_08LFZdh$dh;BEZX$s^iypV~+`rvEFjjsnA^iS5`GmviZ?&2A|+u$xu;I0hi5*Ol&o7ZkaQ;QU35A1mR zO@x8T_F7pD$9@$`AhU*2%gpXxx|DUdn?)?5_q`2CO1jbfBR@Nj0t3-^mO->>!Ww!e z(E(m&74^;{GhvQ%Ef_1(1m^0i?n~W>%wt15TkZJ~KS@PvtK2WRY82`wE(Dbr;Qqx% z^7mHjh*wb3yNVnHW}b)~PO`vZH)rq}G$M^@HqU7~+iO|K6HPHv%K05gDhC9vsts;0 z-JjfIk3Guz?f;v6W6R_R*Oga;ZQYc?crn>cz-I9j)=__2i1b*H5Gw0~ZuRi1xN;&> za2SllnI5(iuoK?G);&*8jAG-Rih-K4U7(?w>5kVA$#qVBw=G}9b2EUYQ$1Zrb`Ltv znZQVyR}|#b{=}<9%!DkSSjYnJ6?2b;QpZ)5nL_iSCya!0o-F)?Z-kZ0yI|Fl-U5wwdEFZc1wslfgN%{aJ8r@nvrV! zsJ%6!6W{C$>t{shr%r8ACD1&)B~ae{Z65La-Wl|hFAKY3FQYjzj)enf!foT)>ox9q zlZGyV65b1T^N23&Id?=BcdAGls3P+OyCZtsA$K_StcsY+=6Va70;G^>=xlR)$5#u_ z3>3#atS=woZ9p6O-moQhaaz%IcRt0Jael{5)bXy*yo024f%o43Vl%zVW{6GB12H17 zRpbwP#X(UU`df)S8zL^#v!1?~sSPq6owH7{_~qd)K@Qa*BVXe!LM!+LC!WnPO&4~~ z#b+I6NxY z$mBMCpgPaUTKd+Zjm_kjVTSk>`t62-S=2_St?Z!_Q}Cwt4T)U9$6Fc9C)Lq7&M^1i zz}Ikl=Mt2%>ewOQ9`?a=g>SVYX_Ol7%!)7PYz@seC(R&O%a^cEzS7<~{s+v0o;dIB zVtyz}rFFZ>|8yzL725miM=ExK?>9+x8{>Cfr+r|#)7{-q)7r}F=KG8P@uac(Ta%!P zOy@L8%xEvCeEfS)jk_nGSJE23iUukFngI$<|?S zZ=TIN-AZfaB!}Fa;e>%KVz66@>?X~jiIvaF84=^H>+1*YbXn0T9D`4mM&@xds<-63 z)gYplx0=5@Jw>;Y`8t{26J8z85_l}`t2p+zhg!CGHBaNMY8By~%noN(_*L)L=w*%Pg5EP$4M)FT;>ne4Ic{>S8>M2&)M(!Xb-p2dTlEXEihrY zfB1c1noKBNQx`R^-IlQzMlAJ|wS8u?cqcMDBjm&IYj>8D#*D`m?HbYF{$eMk-(U?% zt{u@X*frcZxCphbM0}`Sm#6oDmB!nF|AAMsX{dC#aB#2eEThdkQwl;>70>#J&h~F! zR)aV%20I@`?{E!wth3e3u*yVXqPbI6O zH$N{AA+ayGDx4lwo!hdmd23F=0sEKdLd0%sHG8gZx;c=oO%)_Oz@_d~vdYTo>FLj6 zC9@R#f^+7c-0lYB>xW}PG5R*#WrM6g?4{k#y6ow|&YPq{1P+DQhU%&P@}%x*D$>dx z?v09g!i&>6>ag2FrgxKzTA`Wl3AZdvw6%TO_l2L~$!S)4&(xGf-2L&l!jHn0O;h@V zb+zJHSr6Dry(w8x?{t#~+dF&1ow2xUOjyf~qe}wNi!mOp!St85N=X=uHpFI7kP#!mNFuA+MnWkdp zY@L*xWo3OWz1{rvSWmKDT^2KCCAYJCGFU=fmrLm*&u_blw+Qdf3({Vco4am7XMKD- z=c+r4+@jHJ8!ykFd&b%$J-y(TJnobZj&U=)b5w1)Mpq%R{EaU^`b{idW45W}vY&kK z%L`0Z3s^sg=?vqn($|{Gcr#=)Ekdx2(O*-oP63dziz& zP??=%;Xm>1-DQ%)6grP4<~#T}?_JBWl9+$o#Ew7o$bI0Bla<61Jrq5@oBxb`){Z0n zw2|XveX$_?m(wd)N**?$~g6b)xvO0SjTS={cY&%~7htH&+mD2&ugN|;1a^A`4Sdx7^Y1atz~+`;E^M~m&w zc=XEU*IHQu{ zk67vK)|t#Gp4L0ojaAsSyfQf5|u><(N=zQ=9oI9sx{s_+skdLpZ6DP9uQ{nU1THjziGt!{*yE8J9WQhSWg{HBX&7rVGGt+mwpZVKYO zzlq_Zffy|{Vth3?Y7O#MvqxFg=@2Mynv;)0J3e?JNxA~6+x7qjJUtup5!~n&-2NqkV+wE$b+H+qW>D#57D%#ebjs0`oiYd~TD$N)9K0ASLAA3j7>U>Izr}Cwk=QdX<#R~d{&9ZlSKJ&@! z1*D^6^f+_GEfp>-?m0ckV>rSZu`<>`9>WUWXxVk{3-pQk_=JpdWgBSruCNZ zMl`--_L>c%Ci03MVx5|#z7oIr%0F5O?4YMR%?oc;8TClqmD9y4=Zz{Z*D{~=#cF3e zY&UHT!)Yh=PGxiZgxbgz;xl;<=h-ki&`NEUz`p zzPAF_cUI7j(^>Q&5q2(!J+hu|tUf_5a^K49Ibo&pw1B$kIXU$c@kkC8L!IWPfnLMY z+pDc+)>)PaqZna5eA#CADAr%_30 z4s4{jFJ8HX*rC(Bib6}*~1%J*+@y#UbWMe#ayviBy+~# zy&mxI);ZKdN3ed(Pb$-z;;Q=xk+z~fq(8w3Siv>jZYA{8qNR90HB{CSNkvDQQoYuW zOvMZgK~7SDKjSILB-2_w(B(xRkr-<#Qz1JzM{YACojt6=CNGK`q9bud(UpRhdnYyFsIz9kGd1wzVe}S z3pPO3CDk+?ESm|JRZpvmC3#-^78C=cKbxMShAQoj z2@ljG@91FIFd*IW8JV$@#WS9@IY?UffN(>EKwm>@IXZf2#JYa`Km~E&9lO>Whofnsl^=+cE4N>jItNvFb?b zy5HT0qLWjCbT?I4I<}a9rJ7ygr_CB#OjHwz1#w4WZ$MqF?PljU;gA)!r~I#fKvh&q zypv2E7n4-1Taq;Zzoo4XI7Shu4N>ZZDeo3_lgJs)V)E3~VW;Rd{*&HhZ+QjVWn!N zu86KG&gCLTpA$b>Jl)H;TXor0%w=!Dcv;Zob~ihq0&X(+Lzc3`^eOMjdb6Qcdwqb! zyA9mG<#|DMCfx>(=~^?Nu3Z#hqrV%3^#dJH#7U_1HgjJ^2Ks z*xFRH8dsGB7tN*2ZVHi~<#^lSmGN<5Ux%zC9;#4(u9EQSGaiWR1QD;2*@+gJmX z(j7%*cQ)n>Mf6IQkESs%tcKP##_Ug~3R$IGl}}uhOT^!9H!@IV;(0meQ~4D-j4m{1 zpsQ%3hN1e9N>7q)p*gf;UmzAaT3>} zOt`-X+`{sJxbK`KpVV7cj9+Fp??TJa%*Zv~y2IolcT;$f{w>EsL72j}!d2uKm7yzd zj5aV@baA`OgR-o?EDimJ%39ExLC^5{X0`FF8!UwfE2(x}Z1AR@tvw!)1@HNy@9O`~{uKSK7ZI3+sj*O!MS4{l&fSM(MO-E}aRlao*cmRaS~V zVsq6J66@A=aXMmyi8dc#7)f9)Lj@)zh(iJ${r8pX-SiUM95F7knm$|AYPoJ<7gN5k?mts*m_9H zw_~lc6mrvjDji}SIw7qQ1yABdz< z=O%Gtfod&Iq6V~79-({bAhwa+VFy?vNW^=~&UzJ&Ez~f%#1t_9(aWT$Rl({*k6DxS z0~4thVD)IA%&rcJ`7lnS$MGoE#VP`);S6%}nZl=LVQhYnmcEo8rui{a+{3wVA=_DM zxkWt|cbrIl1@ZrX8mJ)2tO?c+C})k<-HiwJ^JKDAD zQb){{@5CUdIytUd(5ti<^2Z&lD9=c`v2!9`W{@8Dwt6dX=jy3stO=}Y!%e^oPTIyURmr$Y(>K+?OcU_)trv0!wahMI~M-5}& zL~mq6OG{0V?pWdN*b&A7mn#N#;W)dX5$)6;Th~PD}8@a0cq? zsw9h8FNnJ71W5+dfu2B*%FE6%!^@f_)WX;qEBCk|)j_2ud$mT7s>sXOXUJ)mQ+L*T zpO%Z=CeV~=S{tGuoO8D$UgMP?IkRCQD$59y*jB^$|_*>%ZjT100< zHjPT5$R*O4DSJWQ zY%Q{=cEZA3$`9wz4i>Q1teTyjvkfBlqThA2HJ|}@zhFhq3} zeN{r)NHef2?pOu>wfzNus zo`+cWNw#*2!cSF({bbwdXnv2*X9Y<^T3MD*H{?a9i+L}%lj-C+jiyn&f|UmKk1OiD zuC1Djd8&q-qT^&6nx53adPgGK%A({hIiO>81=&C*P&M5lutJ}vE?bR#i@WJgb_+9; zO!9)vg8dR*O>?z@Y#@$e1jn90Dk9%G$(CDV$OCp> zeN$W2DS_9@XZk<+mL`N-ENl&cp1dsflaAH5v@6CV=lR!-h1I4O{m5eJFSe9^VcZOa zR`RWC%nNmy%p=ViV>_9$@{>U*W;RAGCqqdM?7Yd&0@fMxoIX@t zP&G&?6R8Zci1|+{8bQC&Z&n=X%_@_{WQ(e=W5ot{3ZhmCXh)X9SnM^u%pSoFX6d%1 znM^CLs*|olE;pUjB$d(Y_R))0Et8GjR#eSXIphoZN^~+wmCe@EdNkI0O_E_9XbP#X zEPYSZb-(EzA{Xo;%VE&}7%p3j3ddK(s}1t9TS!YcxyhrykUC^6=93F)jFs06fFk;b z+@rF{NVP{$9H|&9z>3pxR!Vq8Ymp_WU>#6xWeK;j`6^060nEB4u`e_|?}BUdKutFv zWvtspPZY_q^ELtY-YjDkd0~3c%4`4z>F@HeYADlV+@C`3sibT%(@@_k0n0F&ZYE4M zQ`_Xa)!2UN;Zq2Qm?EL0|R?Bk&{gFPo|6 z=|*akJ6mU#pL8!h2p*9sEXaGHzjITZT-G&IEfpn4A~((j7xgZhjc|~Kcg<9C z8987VRlxmbGOFKXB`O;gn4vBBdeVq3R~dAyI__@OJ*2^&-TfxN?nV9upntR3nD-4cVd#r} zX!$e|j+%nCZZE3goGzt3tb8O3TZh_hYed=&vY=R?*NV|FjVyvFz5@NCD^#LK^*`pE ztSlPn827z7tVfe0(49_XQ|JS%6<&pNYK|PC7m45MqHKXSxR@TK4e2_oBBAUOa;R#$ zyxJm*iO)KRY=C_{-BEWQ1*cg#Xh>V@I_4y5_pNlmU2ndj$}taW(#b3v-OeBBRB&IF zmL>FTu|+MBZB08phW@0dA+ME)45n*Mr1=l)@5|&T*K2BHJ*G0`hU9z(jAk~Zp*i(C z#GK>qdfh}!F*!_qvI>UMee5;t=G*jYl0?_Wip6U&UG0*$&3!!{`y%H+AuAUtK_8kD z=Cpb)KjPdvAww?)M<5sO$yMLWSay?2G&XJ%TNVs@4|7jBI3t;W~%vi%c;IS*Ru=w^#^6cwTye)kVK7skiBq zDwh~$*2^O%5lIHw5#0~)eQ<&cU4$ev59KhuK&I0L)dvzZ4{3LN=D)F@vK-AvCYa|c zr8=sHii*V2W8oMb4h?x7dWSK*57ABaHR7yPIhXIbvvxpvC5dIbR=hCt171YVV+ULbXN876vH8CMPJbyd^)MaGMMMOs97Vg zseE!W_P6$i^&~y*&3)jqFQh!IG{pD$Uw!^$6M^tb56#3F~y{Qg*X`jpGgU`1o^{daa`XPOUZk)hCHQ@U@5Cl=dodC4@s%J$&}_l ztfyG|jH!zKg>_kN`k5CcwP=hPsS}&)@_=eBJDKa*{E7!$cC)|fN|wb`Ck=HcnaZS<$8;`K;rfzMbP4-`nPmh?NN<>7`i6cc zkE!8u3ZCb<0F7xkSjF>T9U%n-$xGcu4^z`cJ2P8$Aj8Nsa*-CJo7ru=_aA)?pE{dN zYVu+BNHun>6VwRUX6Vm>42D}Khu*Ar%7dzjyl2YkeW<-Rg0^U%Pib;^MP}=?dMj1{ zmK!A-ljr0Bc|vE=-)uXyWUk&|ZemjBxFJ2M5`3^s>5H zhhyhQrQU;?(q{I?bi^v@9rY9KB#Vwx9uv_0!G+_Hmq(L-X*8}#VRJ_HR2Ah34e9{) z*32h=v+R%w<99-u+jKS0RD1bCw?$>}JDwD&30LvHcVIfZY_dQ?vrGNKwM?tKsEVeX z*$ge|GRVTGpuf)|CrlpmNDWhMWN|Y=-64r!ABkdfAq9)YzR=9rHBH#k$*DbHN;i_w*N;&0-Mihm!WDg073ay{0^C`sj{i zDqJKHEC}&5OuAs_b4xu8W08e*2WqghhTMn0F|Yd@$DUwrn+{m*iN^aHwFC8TA2|R? z*(=fz{i+>wCKZgWlPQYV-@$V<&B-!knQ=4`eMk3WSJPUIZEJK_tn-XjdCg7q$~d(8 z8SF2(M30yQc%Ey7nxJ!Gzy2$AlFTM2p*q@c3ziC>xiM*Ll**wR>64O@NMwx{ATjoX z#32h9PD0p`Ayup%gKM%@r8E!CbAr7Mv<+K?S@S4d|E8v#;#lb~ib%hbjKJAawv?Qu zE*?d^j9g?t`bHD9qZcL#p5fboW8cN|QR8SD%%^(keQK8;Eg$R0Dy{iy(xdIzv;q1g zAb(}(8x7T4^;M460qp#`Mv7w{@CaE#BQSo>Gu!kw>;+ne@%tfaXZdj6Wl>{)0zK(h ztc4HNbJT4;SKiQ(x+0!bYzNsWqYYVoavZLsy;nv2eXo3&+2+<+AtU6)u_c*7%fJIN z*sRj`)iL=_XH&w=GY!dWSPQr4dyF{mOkU(fozxHP;EL5*b!R-?xDd)9o|R=$*s1lv zT+vBPC$$m#K@{c#UZ@X(Xc~{b@af?^@tFbo9A?@t5XrBb7kECB&;{^Xi zI;rZZxh9>-3D4jc0oEM-{u>#NmG?s0qaVnU23ZE?H8YTzMAEag9|WM0>28iA5B#AE zs7ZPbb~!B~N$3t*5pL4Lh({9d+y`^4^C}7zkSIgpB>W~fX&Z>3he&a>18l)pw`4Z+ zO&u^TFpJNCU2>=BUvL|K>-=UHj{C1}rW)%Qoq?Pu-w{J!kqtBxp1V0>M&P{4sOzeZ zx@SfrQ+W)J$r&8`J#-);Q&wM54&p*FlSZ#W{6C0ed+0_y>oylPkym*3GnZPfd#HiP z1lE!;dd>^_nGB$nNmp{g^wob5lQQTfDh=6g{t%Qq;0PTJcc3PDhB5AnDvfz*1Jhd{ zHyg+oQUFz|z1Wu+4Gv=AZ(UPO)63La{Y!s94dxTvr?*KZ+6D3GU(;NFR{2#8eOOf` zAIwt{Ni)DnIs$e z7jQjGLT@@4YkKQUL-RqkRC9E0RnWXg8@o%!AOn!li=qvX#HOOYk1W%No}1P*HtkWf zT>$gw4Lol#hnzyr{t5Rn57xp{=~bj7`9*Tj6_}x|fzq(lR4@f}EA<`if27G}k`sm~ zHVR|lP@0F##OT{oCol_CCGB8;%YAbgLa-O@#0zgQ+gBz6In!HIKFXS>ZTCxaZq1S4b4P6&0G!9_Yl1R1L+&nhcv?dJ*F3`j5;N*SJ3Q2jeIEL zij8|Uifl%%X4FU3TeUa4^4-h;EI(42mNI@uNWETtMbWN9+g zbVWSidXw5_5}A#pFeHU8G=L)zcuV%6W<5dAL#)cLOW>*Nhh#NWrm-{~Jcd)|H?CMI zT@lv|ds}r=j1OxdFU^m!_Y=tqahP8vN97`3El?XVmh>apLE%}-SCEqaL&lN*x`Xb4 zImmsCpJ_2JNwNh})3Nj!SpYlDMq~_rodWH9fS#wvV9(in$Vv-9UHXN@q1UA|A+=2v z&g(H&zO%Sogf-o(?58IF#{=uSXf2x#1md; zbZb2l(QFv1HJlEl+p$J^2<_$%;*^W{eIK)-TjU9u1yzuHWJdfyLHeOua~<=_N%%KE zuzom_^n@wU4DIAI?v*lwbqT#3eSVW3uBT${ayEFe`>QP-i~F(?pYt%*PG2Isc&@$X z8}jt#PyzQM40p)CBoBVOK}}U#bQ1jxYfghmFW89th?BjQ<*3 zF$w+XMm%FW6Z_fLVvXP+;&&|ew9u53;4nFg3T&>9&> z8_cnS82_h{w|XmD_YsxL%+WrQo!lcQ5UIw~S+EfLniYt4m2kbEshj$(u8DhP(c*aD z+;jx_O!neV{-eJtk4~ufn#HCm`f)qN!O`#nE|V5yzaEdca9q_gJ2j9z$VP5KDcX-V zgO1S4Og0yAy$|E{&$ZNx$w#aTNH{RgL9U&1}j2USd zJE3A#0gO|xO;J)A89&h9FrBQ&F0weZj+>|~Us89mZ}AqQ*$uSK5c2EvBmvskFnt=C zb77rPXC<%97reSCu4yCu?*Y@={8aaF>?0V9*65eWBJ0ChcmxljAsK}y?LX-O`Wj-& zJM~M~G(Rvxo(GLMJsPs&n;*Ctj!(P_pQ|mN(o0W%qHnZC+in5H(Z-r1_kE|@>-RYC zi#mb~!Fccr_1&XTj&vX&^>IB3&zBU(b;)7cVAhxpvxK*B1#vPf`GQ_o7twBp+J=7B zoMa~P=o?+}`wEZ-Dq)YMrGKd&s3hgUzf4b7{l5ac3wDByx!6mrYjj6mn@8Ka2--{) z)a54Qy^oNRxSluAvWn=XY8>WuOK|L5r2QYf2jQ!fg55>JA!Yq2*5W)$+~zt>kjU~DE&YCtfV{Yj3h0dGZ_ozaZQe6 z9&*Wa!o7NeInYPcwvu9u8$}9Y1z{6f(g@N7JC%>>;<(~Fa8J6LG3GuggmDU8AD?^? zzCYwCT6Z>mTXn#Ho8aH0HVlQ3A>1a0EW&pxaKyqSs6UOz7&s95YjwDS2z&sllM;9m zWIfLNliIHH=vHQe3E@+{!)JO#B47;S)g#R9IIi~;Jr41z9;!dlxSKQKCV4~#89(CH zC445X*O|PC{|k`;oX6<77z*G!PZsILx&^MuUF7bw%?48uEuUdu>_w6gV{?pogLyz2 z^qtGdCr@JSX9$j41ugt4`H!?V8O;x59s^Lv*>2inY`%wU_7i5q8lWU48HxQ}eUP&p z(S4EozQPQD9Qx#Yn2CEj)9k?vqA6O!MfDQ#DuygT6dQ!P^BUNNYE*Lb0aO~Zd2bfLRP@Q~u!OuP+pzcUD$XetT4{BB zW`Q}tSX|Ana0)J9Z7eTZQFiUskCB}KuKpKPRIY#z&rVK+hiJe1FzWBXD5+3EOF&AJ z+i2Stam5!S{vXHlatD#ml)@M{#`H6(;1iC03TOTtcH_KLnxDEb{sa(Pl904Gjsx{=Fx-AasO!^tM+VVid;LF0dYL z{}6WY_acuG>9XQe{YGA*%_;Mq6u@~KWT&NIq&aMM=tX)1&igCsJk8KP@8XJ#gjnQ= zZ^;J4sHu3attIaB4ZJoDo;MhcyU`PKiE-!~?=kV>MQEQdFuq2^96UXIj;ui~X9(iPR9#1ZM{OYrzM>tRfma$GKSd z7>1s+68$DMzL6&{7+mkWh=*&T3iAJ5cv5eOu8MwfNf*Ge%ODQ_g8%F3KH#jVk~M($ zB@8g+AqSO=k|YQU2rDA2h=RIc#)zmWprVU`RSYQVt`T!UF=GUE&AK9sA}9txKt*!S zc?h@Pzk1$#@|zLn^r=(ftFP*u?%Pwg)K6kH7}qSJ_w#bHqpog#vO4+7PNhZe(cDnE zab9|2Iwap#tY5%!+ttFuJmIx1cdEYn5H$%}!~2KskyC4U`c*mJiS>?c9gNRJ;^yacXjd^y$?&rLSRk% zr`x@+sIOHYjD4_^zYXbXJ<*ePmbc`eOmpd#dXd+}VvagI+Uee~^j|9N-Eqe}|GB^S zQLjGmr=ge(NuElM)J0wcgN@0y$9Cp%jLg~v1sCO}rgPFq_;Y!FLVjY}AiXNN)*Y;6 z@H@*V)L)|4ts*>zPmas~2nQ$R4#fqNbGh7@TzmMf3`K+UZR{1+2GJ{FV0Vw@7vQ~(gAAoUHCJP6}l(q zB~{Wnb^^WfSMcY{Nf+!pKv%NOU9x7m@#%Qy0}tye?#e%}Z=0sy_#S@_(E)d4!v(nO zdpgg9(%OmcL9DL97fbcu4ZSsLr8r-!_rA^<(%tyru-xC&(RH~6_JDs$N2BU>$@FBZvx`RjRmkR}oi9#N8D=|2KLieX<_W$QPzV^RGKE-HIcg_HLEU zIAxcf@<_YkX=ImAC+08rcCM4@-4%8}OPblo%z?2X?yjAYpY9~~b~UPX?rIi)kvmb` za%qe7Yv(XK#Oo#8y*4S-Y+ecxvFbD*4iB`KHt$eyT7IzNAJ zzJfEbZ}KC($*X3rHh*28`o*^7$w3OJ1K0Opee$v?Y6Q+A&F;@Xvz& z1N!Ul^+frkK*u#wy;`5VVL!VAQ#{~aON(@F{_f;(opsJW!aELd*3k4UJk=||Sq+|( zb{5N1MEK!cA+M}RoA?}m4VsPS&!PEU>Dy`5TmyCV+T1v`@O|$YJ1E~LIyoWtN^Ylp^em^_Ik`ATtPhhxrILltF}vnk z>IAQ%;1l+C8|{tmx8E3JU;L!cl5ckwwAwyua56t>YL9f6-Ej5vJ)b;0C;cZ5Xrcd{ zq2GJXvx%!9WV*F0rsMKu?GJMF&hvQpqq(J1$%G^_`OcIG6a? ziNlEeOWvpOZrVG2m_L8jx6e(^&9z9bOLjs1YcSY3eMbF1J$*HKD`|*r9#Kcfr@y9q zRLOaI#ICaMn4~VQX_;G;^uR-37=HyiF3bN%y_)Cj@Y&>IyKg6s&M&Iq%RTv3#%{=; zq!U<@UY&l*qPqIE8(DXg{q3gwPwoI6tyaFCKUNR5ORw~%ud>Pg?of}ykw@a!-uW-n zfzBR|m$jAkG<|bFIII0GKLbCG$RAGch3Qqe>JQ!J$Xx&A%jA4}<+b@A=zV{;J->3fed7#0Q`>a1GtMW{HlpuNnDfx}4W>#Fk`)dp3RaM4K?*Mz!pj{2e0R0spSn-|pa(*2$~-*DoOJ z2PnKC|CY0Ysd~_@@cXE9iI&M5$*E~Co#Lg=!T-#+_eQ?gJy&(WeehRRfRDW8uR*#k z--b=Erc3h!oF9~TN}p%bG0Ahu-Fl{O>Fj({XLn1}Vd+8`I;cDOKz1E%?F+3}8aAKO zm&ld$SGG3PIe#v*zw_3?KKS_p_r!m-kGtKuXJ_170~eiQulzp#Js-l)7K_HoG-uAs zu-kch@+)(F?WV4U=~nPH8xM`3*ESs4D)%4U-8DDQ8QWa_xZy8KL33seE-Av>-vWt?p=JJU*U{%0(_Rv)yZ|zKfI*^ z%ypmR0=#;^-Oe7o^0w3N-gaL*le5|UtW(f0d;;W~{NJ6N40f-4zk9>`t^Qv*-$=iD zURo;cpMFYq5BsZqX>n4C&Cli@!jW&8dqLD1Ot;5X)70&w`Qw+Qn^-;U%w(F5>$CjL zy7RNWmvNnpUP1QT$=`B&ynCmQ+T9zs{+yngUgk}azsSi=cEqRY1MkEK$EtVN=rDdU z{;Zz9tZMc&j3vnf$wP9wl@9nO*gn%e((gUHw-`T8Oisx;HBNft)eCfk>v-mtq@hl* zgPQZWzU332N|~BolvdFVEtEGGrJie*?<4j5^>RK3B^&PHsY&)vyYtt1OXNIyFGi8n^}PY<|PvO2%d9`PUg#8vL=t#*Re1D@{I%MFjd0fv)gtlan>UtEy8PE?9@ zP-CpuBE38Rj9%@`q&ll+;fv$+&9!oGxG&d+PJ>jXC2)R0QXfmS%zesVsmgc-ZtCqB zvSCWE`}aN z_OIUBc@ke7E$?Ooj_t#zSo`UuORhsQEg1&^&C@UPqtl<+dg2%inO zO>V5D<7LS?(9uuNeZU>(N@QO^_VoNU&Vi0d*4mSiGqOb20Y6d z$vBulL)Y|%s(2>szwP|;L0!PH{5efM^W+!|y`SIhGZfc&d+KC%-6z&%-511 z>Erg~59)~?;IWU`)DyP7-4PFU6NSmRxs>~qZIVec;|^8p2t4$nyBefc_R3v`$PZ0 zlTFBe*0Txy@zhv(SK#FQ!sK-Ru56FfP`}mDr_$YtPmA-f*-O+^7oNjo&&iGU$upTh zZ@{}3>v@)vGR(b+m*m9lPEwn({xzS0Ia@7yTF)IAx(@%oiebm8l`HgHH+vr89@W$? zI_>0*v+pO{RM2+%mIu9^XlFV`*51IU>sfbAGRle@ld;aeYCzgk>AmS7=U$W5jE2q! zMtJu2Sv-gDa^JZBdWF4Y>;>Y!MSJ^&M`7>Qq_)0foO6v8;#dQcK6cJN#$D#&#{SgB zZu55BF>o-X8j+Iq2A;dHW-ZYN2fC%b8qgU!;pi+z=$-81%7 zgY0vM!S*uua?YmLSa|>c+VF*(JuUgGu{ya?FjmcdpSQ>!&R-A9t4eD04Y2diB(I~} z@9yiF`n6u>?^0(k_O{+#={OjBUN6=m`5^hwGZc5LNaNYPn0JOGLv_Cmb5|sr?5eNf z?~lygn}5zdwEF7o%}_FduP@ZIZ-ud&G32er=j-E|+SA|X9>IgSq`6u*O^-ib#k$2# z{x`gFmRL=IuXA;5dwu5oG5g&icxIxtD>-q!Qnp`{`D975z}>}Rc=awm`;KQ1cmHsL zc@uQc(3kw%J*#{8r*BMTc=B4txXGOtkN7#hdBL7o=3Pp z-JhS!uP4j*``poDhltKOy&I7-=Yr zrt4on7U_n$OUW+qCT4Gwb#fX{PY!j5zY~9a?xPY*<~zk$+Dv%^`CaAJ+Nve zHdlw={(6g7VdMyzTV$v9DWANd3*BerP2E)|{lO3?DNEqsOmkb1{S2HG>(1YF^;G_> zCNB>6wB=ZN)rmifbvw(Gvi5mXaMw6}&6E6H*=MY;N?w+Ye7dIxK~;WNW`viC8%{h`AcU~hLn9GoMbd)!}niR95~BR;Q|mP=M-PY8_C z6?Mf{fBKBonDj3YV8;Os&FOVHhP=_fuCBFTbT9oTI!}~)ztR2-d%HV5OL2zIX`A<3 zzbL+A)c(oj*K|HG681;xUOL0)Qgz`P{p&x}n?m%-+sy&>mANyeigBPo=v!3&vCsff3%ADiSyYB;ye|P?t_HE zR-P!1m+O5Fs4~;&{RCfrO26j%>T!5tg6_GO?A=0}SM^j6>E^aNvpbWnH?n!0I^LOe zpVRn}w6RKlxhK%J>Y2u?VoB~iXVZHz*V~Z)F#LUvDVsRUxz$~$o9W#F8a9a4gU%El zP$xIJm(Y){qqA7eQ^QB8vyaJ$);iHqnB!o2E~dImuQov5ulAYt$@-{!<(Bt;riVE% zye66JshIgXm{V}cOmS>4Tg#-&S48vGLds@N}FYR!J|SDi<{aDRN5+!zbLfACrxqi2ZqU|g{t+T)(!weG7t zonDe|R96S8lq2}`NY;N#_P_Y!X1&eZDpMQJZw`mCvyu;W@4bzGZEjl`b(Bv~EQhhX zu~{P`Q^AB8K$@F0uaMvieg$8;3_ebWMT%>L8uo-EefC+OiAdz6=MG z_|yK6XviSM6|S zKUhaU)c8fZlLGbWd3=8he1A%V(z59+9p;TN){XW*d%oyl9o2*Sim%iE_`L@w%emj+ zf3C>1ap(Ol-2FE=JjZ@ui|6nr(|Zp6Ci=|=bv^raz410ACquP^zeh3H>n>_q%o+I{$cTXnRY951i-cqjO=WS$S(eObOmO&QOo+hG4go-JpG zF~r&<`1D9;mS4z-iG1>iI7c2FXXcIg&mD?*s@W66kIU)f1AVxrtXlK5s`C*%jDh`a zbQ;Vn?da`E8M$(v`g*k;+M(k78HT$@-aMdp_=?whk{#Up7kz3uR=>vEBlT-f;IV`q zz0`#Z?Ra~-YOx%?Nxitm_*7UdfU$w_eLnn^;_+8mdxO4X41a$lGuzN=ko#WE^tK!L z_n&IcU_Ji>u(BzwVF&e37S&^#zl7DtS^FmV z{Z3uz$=0*Qsy*2|$bL|)F2Wa+c&6BHq^GPK#O^j&@)NrJoj-1*_ox1pv(G-)*x=*^ z^{U9OXf)~3gL>8)W=<5N3-kcp<&8V(YRV0mzpI%KI6XXu+}C*Hb=IHn3Bc+6*;}jz zv0#4M$a+`FnTy!9S5CffDZZ&1K`gF32GMK-PGIxXf-M91e2sn6)>;kbmK`hUb z*G+Kudl>&ldfmgHGv!G`$h=a$^Cl*JOO<3Q=Dm&8_t9^UZtisR&U5n7U01)=TK8D< zA8_(z`nta6c?zy z&oh1k>o;K42jS;#J?b2>Y9>lU^h8&a-%5^shT$GG_eEFyX`k0!tj6Q*0XQd~P5KZz zAAtWCA+;_BiCyL8IPR}xZ{)*A$i7crE|jy)jSiJlSIfQT(D)fvpD3r_a>XjOu%Gx( zaNc;bnwZlm#%~?D7e?Nr`C*WCv0eOdviq`cO~wbq%s&Ue{(>VfwC=0&_EF5-!S44F zWBqaPgH9#)>Ors5Gks~*(PFt0=5OZDA?ob2^zOhPuao~GoPZEpTknleIUL)ft%FRW(%qBcC1O`sU@Jspkc^JFXx=--u2IqsP zsT(K5b^}#mN=(Md+3ijQu7!cPQ#As2mrb6e)q~>o5oXw_D;i+lC2-J4 zb@>s)JVUR0MeIv9#OU9Q^@XuQDEm~kxP@NPA#WFrHga{4j;t>nZ*+g)VJknH@xfGR zjtY1aZoc2lqxHsL!u8eqp7A=OpX_r6;{B)19jkAtrVht`ccgCrDafzHW4DOrBi6qZ z2kztLyKvY)crH#51Z8-OllAOmGk0{uGYO z>(qPE>k2*@i0w9JyTM0r!g$%c3_eeQyvb_L%g}j}6V-*H@PzSqoNE+_|INlf5sC49 z*1|JbUqIJG=6;FykLKrx@zC?|eU)Brr)W&XVULR13jRDr#yn%yz(F_t*f;R=fNS32 zy&Qbpj%VKT|FOpF+l9v2#6FGH0y?C#?bpRSZJ)v zT#7HIiuAupFDr}BgwJ8{IY30J>L5OnQBR83B5PE4A3kDrxeobgEIB{@URQKG-6o{J z)4R233>U`%uv8KDzmtp4@YieB-m4Sr&(8zd-4phAs}rxJFF@ICxZ-w`ROzSX^V9ITNX;(Ejq&pRLT8ctY5kIw@8X%M zdY)SPg1_^}*sT7~gRA>^%-Hc!Bvgcg#hw@G%J<;d*^+tI;7E{e=l!FMHoZ!E7*4%zBm~+ufV-+oNg~Nb`Ou-s)m0+lgPw#%{>>g>+6j_ zBKr>hevsBH^pSBgcZF5YP~Z2{>t&kVB?I2qAC$t#=Zp48aXw0qxyV?c;7+~o3^-_( z`Q!+5_tEk>@tr`g;L*8R#p=kW^F-WTD7ElOn%$el@->m$$KR(WP03Hw#!kOy^Vhv} z8^`9^@Y@9TF0%G%&aW!!Edu+uio}z;#Ep>A0|qaWamP7hS_!uk#o{(~>mAHeinfCw z^Gr6^lUFn7bqBB9DX(V1cXP7O@YUabG^Z9$QNQnihUYxxuv35A8%8g|1${iVyNbVG zz;X}p$X8CgYKh||a4UXQYHDUR$yvy06i48H|>>JSY zI-h=pXZJ$UQ7XcTVp#+)3&nOC1ixzjcl_Ce&E5E`BMg<}nK}IMgmpiHp)K}>O*0$} zqu(j|t(-Hx4|wG<*q#m*MdqG~39h17$X-SE>t?7`7)I^uoa9*t`&K-hs|n`Q;B;*_=1RpY6o6 zyv&@*+Lw)glVST{#s~e$ZfAuxdb^J>!F%TZ3Pq*Vv%VO#yWEL$;d$guGy4^OStY+) z@J452N65|nI=9cWD)@q#??XWuz8IL-Si^ zp3NP2a#V)l3NY~}*`LsBHUt*R#2(_`N1VOm$G-~2ayoQPF?X(Bphnjn?ST@Xhy^mS_BWzdUr5&2HK54)w3(S36EM{TyV8{V-XSngd;`UPXo}nB1 zKri;E9`gw6p3iH;aCb+tH}JL)N1~@bT|B;dfS7#O5dQ$ROiK%j+s+FC+B_5!uS` zNBH+?e%?>-(2Z|`FXkKl!|GM+nA)=WY#10ob}eXJYt|y?Fw0$2)w75FjhqgHo%ker zkEObbx$4qRtGA{1iJ9J4;{N0KJLRbv&^6O4JL%n(HCM3hB01aI+|{g|E)qY=1aG31 zll}Osr4Icv)U}_OXdm2qvzWTzY9fTHh&h=A@0ZYB>Q+dAA5}zteIxceA{P zt9#Sz+)VbF{COBYS;g9Kd3`CKiCw^H8NVLEpLu+{NE{ZjyP_`VDDmkd(!F80p1fK{ z9gB9U&rB zd|&0KGub@P3gv0i82cT?XOZv4I*sq?{S%wxe7O)Kccj@d?5gUDjjGIC`1?uDZxGX_ z&KJAzNfSsZ6pN+uC3tL+`K5IPjm5r=NH=BsdO!JwpTE=5FQ!3RT+`C**6d21w*E%1 zug&`kORl1KEesR5t`cC+@q4PyZ1Rg)9{pVtmR07N-!aICW`2!p;w&J3`)!=( zG%~&`ZNS%SMB?8pjwi?#tKqd|M^D-x!{+$Z&o4avu92^JZ>#YpymEpX-I~94vG{8? zzbkj*iNN^eSr@u@^SAnVY9)ky$gYpD_%b*-)Oh!d;S-$q3)$ZoTjhITtf}1TjOFTD zVZB=T6Q3-m^JX^Jqt`Le*_Kb@vvX^Cd4YM0tsi`Fr1*J%3cvI+Ud!4GdF5-__p_WW z;E6!l0Fh`9?Zp^ot|)y$uRrt_^VRJ`X`}7#3bypWE%9~%T z{Us@pcV$WLO1G0$j5e;`OWPmV^k21ZC9Y}A)4em<1**PxLM_~mOJ?xb7pz}E?}{+c!4+M|F3jrxB6V^peC9}M zLGOOr;F~7jttE?LQ8fTg^xK}rY9UX~rPo$^HN%X($vz?T zNpQ^ya@Rvc6&0$3D0eVkkBmfY{uJpYWQV^Flj&{g6ns#db%et-(=SMXUjBBUZ7ai2G{0Met8^SMzBhy$&He zy7p#tt3>bBYzZdY3V&79l;)Yo0>4M{XG-o8YtInzWf?yGraLxwfx#wlurUIM~9OdPkA@zlY?|xK>B~lUWx-N8Ev0&SOqAH-#I=n z!)NT@H{!8|nbnP~AHUIjg_*%&yIoZd4%&#(5o{_F?Okk+j%gVNKgfbZc)2yJo6xHg z9k-AjoW2pp3bT6E*xb&>JHS|}|M%xEGODXrt+PKz)4QQq?Sl{RW${%;N7*FXFSLWw z4lr1U-pfVnd!Cu6mhFUtMyxu9zkP05+&AKyn12wGYKm@0qwQdDEJ*)U)nH}($cY=~!0iUddq+iWlqXyUFjmW#>v1e1VOVMT# zfBhzl_Gf)d@IkvQ9t}ljJ?Vd_)=TZND`k2e1!IBnvi`k`#rt`@0EU{=tGhm{gS?D> zs=(@7*%LWegI*mnZyxJ=Pd=*-gBvm3JbAHPUs6EdBOs_7i+%2cRXeS_9ha2L#^W@y zEvcPYP-JvV)^Tlx-)azfxE0%&9UVp?Cfj1o_52yKYmwcC^fuOQD4NAI-jc}&RN@0LRLg43VI;V!h~A#ow(bgg z|0-vrpNf3%X4PZ#CMB_2Z|+X|74dy@@eivH$#Ns-jCBo+{7gf?&&`bHJl;Bs#UZ2> zle-8vFA&SEFm@=bI%g|XfU;dsu%6z#$gatQanjR@*BX*g76We(i;}tP>0L3K8*!}a zioGOnV(&I1TQWUH4$#Q>wqQM{dpcH$WX0eExlBew&vNswJe-@G5OteGy z0($MX16hM%gG)+@TwuQ`Y{uvR%Cd1AhKrthum2aB(VX6mv+?Gx-YXiB8}sS4UaYH_ z6@1XvDph6aCN}+)#iOFD8?dFN@wjhRhO8}OwbuB4KB?~C!I6!P*JHtcdTr#-UA{{3 zPJO6sMen9osGQjx_*}pzi>!Mc$#3m%b>wqA z5i^hFzha#=?5fR|EzNDlrW`I=$y#qfvVM-;yD-68HZ6sd@JU7dP?zM0 zc6mB(5rfrYv4Q-EWi>u&Ot0$Z22ZUQ|8;n56Q2}Xtv=cHty_iF`>;ryIjr+lOv7p{ zttV0qc&&UEi}h^!UOX4ejSYNKpX`<_YNU5Q$QP^4oz12dWao@EF}pR{^?7%%v4t6a z<99L_(J0OcqPs4n_cm5V&s@S)d+Bu;pR}WWBmOL=Au?GE2&E~A(uQ-7yEwZ&T*|7txMRq*>5hpftWx*O;RA9wM zqTLjNg7r4|=>mRR05QAxq!M3;-VJ##x{amg&d)Gb8V+h(xt>^6;=6rhM@~iE*aa_v zgL=Ff^`;`5H=DT@e{O=q)b}bhu4``S7tfJx%j(&DbC=_yyjaFt9-7j-j`2Na{E_)H zn6|1F8?rfKQE2U0Zw-I$%5bokKLcGpgXsG~sNBJi(UBF)U9a=DVgq9>M5Pig37;&W z`vU%qCqXLn$6<5}f0xCPkyk&9;xhZ$9efg_u`{jD-+RekX8tc3J}W>~L!LS$D$^d%lz3ii&c4* z;eem6Gq&9|c{bEA5;&;ks{-j;d23rXcb!^#&^{>grlqy(%DerUzqi9k>~*VKG4wjb zT<^H#{n#=5uBJpCj=8msA1<0rX&t8x8;r*jqZ`G!EV)h1ZJlZ0S8kEHn%&FT6xc5^ z+A`C-n!iU@2G8vklX%9b4t)-V{qR}jbl@`1mx8e>`*#BvX_WC;9ao3PS7oe_6ZM+r zHp=FSHnDbTsE8OG z1|zjyQOG}`&t^8ozOOvlwP_yytYy43tAYi$8TZLeToavo6Fv!>ipbt-Y(*B2gzVsh zdUT3d_|-}LxmFZ@rTYrlKVUqN5II}bzoK6K4w=8PZVjK6F)vOS8fLNBO?K3?$g9Yr zD%Pt-vnphlcWv-*oCR(dlR_R0oP_K+gWFG{H$s!}C;r_0|M;v=^FphKpLX&`)c?@3 zrdbiE$lSp1F8T!iig~7h?8xQXWQRZVWN))(^dTKNgT_KhS zGn~{UJMdCUGUJZIz<+b3No#ySNdnp!1PtXv8V{YVN#CN;#*i*(@ z;mtbiuH|oKjD}C*oMykPDzh_C5y(sf!BXjG~qD+>RJLp|(jS9RJ zeSQgt)-qb0`6~S4lZWtGfxY!z(U4CHVS8JaH^EmaErMSI!PRM=BR#sv&Dq);=pCr6 zW2CYF*D%+M2O)4Xy-M?Z#J+B3QzL(?ASZWbItSy#-l52>kX=MV^!u?>iQG6SVx?#r zKB>m;s=mj)pYZo4Uy-wA-;5CQ%H=aOQ8V`Vcl150GyLwb zc66n6SsPz*^1c%~*3fDl+xPHUwahD($&Y8yBI{z^&6&S*#%hvV*Z-^X*M76tSarFX z+t^)(#2VI)oQ$fx!~CUu5__FJ>?&uxp7CmI3Wf~sUXiU|iWe%7S)JY`_}iEHW1IQW z2bX7QoYh7Dl9CkIi4I|FCOe+`k7(AkZe?7u?|*e(VLYCoDwX{_#^WqzFNxdnL7cA@ zyP|+b!QWNsR>D)Ecku5f_$|g4H8P*YbD(*sEB5nktd2SwIUYO^bHlC!Mt2+A&bGu# zF&g-(Ce~p?j7FV{ni>6S;5K-!s;eSr_gXo6*L|7I<*Znj&*BufGW_lJ^EKvgHg`Ad zM@1{Ch^4dH+euxURa7qlmpid?Z5CH!SFw4Ue61m4D}RM%@l;Gr{*IclLoC;4cBdr7 z&!R&pu{qd$E7@x@w3HUBKxj337l=w^RY@$@&~Q71MW-GeMpcL?#|trcbr$D@9>GPG zjaT5Yz(L3j4h`K?|1MACN^CB}rm%UtSVT@oHP6YVKuJWqj6Zua*~?v1;*$z~9`;uC zC-N-z%E7(6tRDWYnAsdBMg`Um&BCVj{uX%`cd;s&UlNPR#n@v-j}d#dI1>oF%K5&} zzjui97GIG;f&IvxI0K63gNu22`~QvyCSqSvhGJl7C`Ao0% znZLs3Qv47+5q?SN9UhDGoZyU*9V)(@x0@H( z-{Z=NPX%%dt)FBF+>z-VGJ>bd8Hw@m`T?>c-@>PHRm8pwtpod|cxE4MV$Cg94;^#X z4ZX|LEo4VE3x9{+UKA{r(Vc|e!3R;VVrD#@w$t3wBt~cCO_^5Nm*F>JvDGTO*<5I> zT4uM8lb9c~H&{2;PK<@#!E zMLImW*4$kgegk`z{0ST+Gz)(Q1|s)^52BZkctr0NXQ-ifbg`vq63^F1or{>n9x41C zI4k!5@PFh)#3T41VikN5{){+BK7>uNLR=YDBN#X`JMbAl_Ztw*E%a4Dc8tY|=I+d< zDw)my#~0E4ZqIDmPj>jJa;9^{Iy$WI_YNAwQ@N!wi=qptM6bYD#47X(9fAWQqoenU z+7x&Xoq`pjzmGn>BsVIuIJ%zT$eqx#Rh&y13(e!?rL6H_ByPzSNs?L z4*W$p2or3;j_R{%n7|h`}kLIN$j!1y2!i0 zKA_sz(Vs7wM*j*B<@bd0#Zp0!oBgTTQ!YAR!zwG5yzNY;?JnDVRPU+ z^a{(OzC@gZ8!KixUq179$PVqo=5pDrIPI*MSr~o{77ZB%ncl%-m9wi#TPt)5e+Jef zC&S;tW5HPots`rr*E;BXuuz~Vyc#x#-hsc!{je*39{z|7$=^gkDjO_6hb37(2o^Nr;>a zZwC%av controller.userInput(CLOSED)); } }; + final BufferedImage[] icons = RattyGui.GUI_ICONS.stream().toArray(BufferedImage[]::new); screen.setResizeBehavior(ResizeBehavior.KEEP_ASPECT_RATIO); screen.setTitle(title); @@ -56,6 +57,7 @@ public final class DisplayPanel extends AbstractListenerContainer { g.drawImage(image, 0, 0, null); }); + screen.setIcons(icons); return screen; } diff --git a/Ratty/src/de/sogomn/rat/server/gui/FileTree.java b/Ratty/src/de/sogomn/rat/server/gui/FileTree.java index 29f88a8..cdd1374 100644 --- a/Ratty/src/de/sogomn/rat/server/gui/FileTree.java +++ b/Ratty/src/de/sogomn/rat/server/gui/FileTree.java @@ -96,6 +96,7 @@ public final class FileTree extends AbstractListenerContainer { frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); frame.setPreferredSize(DEFAULT_SIZE); frame.setContentPane(scrollPane); + frame.setIconImages(RattyGui.GUI_ICONS); frame.pack(); frame.setLocationRelativeTo(null); } diff --git a/Ratty/src/de/sogomn/rat/server/gui/RattyGui.java b/Ratty/src/de/sogomn/rat/server/gui/RattyGui.java index dc15ca0..806d001 100644 --- a/Ratty/src/de/sogomn/rat/server/gui/RattyGui.java +++ b/Ratty/src/de/sogomn/rat/server/gui/RattyGui.java @@ -55,9 +55,10 @@ final class RattyGui extends AbstractListenerContainer { private static final BufferedImage GUI_ICON_MEDIUM = ImageUtils.scaleImage(GUI_ICON_SMALL, 64, 64); private static final BufferedImage GUI_ICON_LARGE = ImageUtils.scaleImage(GUI_ICON_SMALL, 128, 128); private static final BufferedImage GUI_ICON_HUGE = ImageUtils.scaleImage(GUI_ICON_SMALL, 256, 256); - private static final List GUI_ICONS = Arrays.asList(GUI_ICON_SMALL, GUI_ICON_MEDIUM, GUI_ICON_LARGE, GUI_ICON_HUGE); private static final BufferedImage[] MENU_ICONS = new SpriteSheet(ImageUtils.scaleImage(ImageUtils.loadImage("/gui_menu_icons.png"), 2), 16 * 2, 16 * 2).getSprites(); + public static final List GUI_ICONS = Arrays.asList(GUI_ICON_SMALL, GUI_ICON_MEDIUM, GUI_ICON_LARGE, GUI_ICON_HUGE); + public static final String POPUP = LANGUAGE.getString("action.popup"); public static final String SCREENSHOT = LANGUAGE.getString("action.screenshot"); public static final String DESKTOP = LANGUAGE.getString("action.desktop"); diff --git a/Ratty/src/de/sogomn/rat/server/gui/RattyGuiController.java b/Ratty/src/de/sogomn/rat/server/gui/RattyGuiController.java index 4ee50ea..e9400ab 100644 --- a/Ratty/src/de/sogomn/rat/server/gui/RattyGuiController.java +++ b/Ratty/src/de/sogomn/rat/server/gui/RattyGuiController.java @@ -54,6 +54,8 @@ public final class RattyGuiController extends AbstractRattyController implements private static final String BUILDER_ADDRESS_QUESTION = LANGUAGE.getString("builder.address_question"); private static final String BUILDER_PORT_QUESTION = LANGUAGE.getString("builder.port_question"); + private static final Sound PING = Sound.loadSound("/ping.wav"); + public RattyGuiController() { gui = new RattyGui(); clients = new HashMap(); @@ -441,6 +443,8 @@ public final class RattyGuiController extends AbstractRattyController implements super.connected(server, connection); clients.put(connection, client); + + PING.play(); } @Override