From 35bb9dfec499b247d3f1ff40e052d0b0a53d0aad Mon Sep 17 00:00:00 2001 From: Khalid CHENOUNA Date: Sat, 23 Nov 2024 16:03:08 +0100 Subject: [PATCH] Ajouts de deux mode de leaderboard --- .../images/MainMenu/Leaderboard/1.png | Bin 0 -> 25358 bytes .../images/MainMenu/Leaderboard/2.png | Bin 0 -> 27815 bytes .../images/MainMenu/Leaderboard/3.png | Bin 0 -> 27615 bytes .../dorfromantik/gui/Leaderboard.java | 12 ++ .../gui/LeaderboardBarChartPanel.java | 40 +++++ .../dorfromantik/gui/LeaderboardByTier.java | 64 +++++++ .../gui/LeaderboardWorldWide.java | 160 ++++++++++++++++++ .../monkhanny/dorfromantik/gui/MainMenu.java | 39 ++++- .../LeaderboardToggleActionListener.java | 35 ++++ .../dorfromantik/utils/Database.java | 26 +++ .../dorfromantik/utils/PlayerScore.java | 22 +++ 11 files changed, 395 insertions(+), 3 deletions(-) create mode 100644 TestV2/ressources/images/MainMenu/Leaderboard/1.png create mode 100644 TestV2/ressources/images/MainMenu/Leaderboard/2.png create mode 100644 TestV2/ressources/images/MainMenu/Leaderboard/3.png create mode 100644 TestV2/src/fr/monkhanny/dorfromantik/gui/Leaderboard.java create mode 100644 TestV2/src/fr/monkhanny/dorfromantik/gui/LeaderboardBarChartPanel.java create mode 100644 TestV2/src/fr/monkhanny/dorfromantik/gui/LeaderboardByTier.java create mode 100644 TestV2/src/fr/monkhanny/dorfromantik/gui/LeaderboardWorldWide.java create mode 100644 TestV2/src/fr/monkhanny/dorfromantik/listeners/LeaderboardToggleActionListener.java create mode 100644 TestV2/src/fr/monkhanny/dorfromantik/utils/PlayerScore.java diff --git a/TestV2/ressources/images/MainMenu/Leaderboard/1.png b/TestV2/ressources/images/MainMenu/Leaderboard/1.png new file mode 100644 index 0000000000000000000000000000000000000000..d305d6d1b990e05b8aada3aeccb3ed5d01d2890c GIT binary patch literal 25358 zcmeAS@N?(olHy`uVBq!ia0y~yVEh8Y9Bd2>45zQ%?_ywJ;4JWnEM{QfI|9OtQ?>b| z85mfmWQIhPMELqxCFkerC8p#jrRr7W7BGN-jeSKyVsdtBi9%9pdS;%j`upAc)fF;R zY}La}eGPmIoKrJ0J*tXQgRA^PlB=?lEmPF(?YL|ztSWK~a#KqZ6)JLb@`|l0Y}LW$ zTICg6frRzd?YL};Qqrt~T-=~aic->S)iX*;3as??%gf94%8m8%i_-NCEiEne4UF`S zjC6}q(sYX}^GXscbn}Xp)$O>r6u@Sn;M77e2g1wA z1lv@QSX7)EQdy8{s~(hEoL^d$oT?5{1vkXGC^fMpHO0=zz{o_`&`{UN*hU{}K1>Q^ z2f|j@iW1KhJ7a@X1CykrBweG#)Kpy)6H_By%Ond6U5m8jBqO6l%TyyHGq^zzEvUx0 zC3&XUnHrfInVDJ|ni!f}npzmZHGm~i)raJlCTD=WVrK+bh7bd*wb2KKZcZlHhY$`l zRNy)wK?adSiWcIdDkT{nO$DVzIp8FalB}PalbV~FR|1M8Lue$WBwLkamgJ;DTmy2M zV@?T}1COGL+#IW%#JqG{^$OjT)U?FXoDy}r5A&zAE9fd1LL7j&``bcI&l#%6^ z0;CiTN^{_h1xjrNDQWtKdd5(X6r`kCIhK}Wvdeo;t%evX}UVqRIIf<{nkUP@|FYLTWwN`A7fi=%s3 zLAXbSsdv6YX>n?iZK$J5SXG*rTSQU0jXt^&Se*^=Nsx=19hZ$hyr8h-LKHQrc`3H) zMe6o;Q+ZYzGBCs`c)B=-RLpsEw|Yu!c;fw!@9na(Y_pA13Me zKTN_IFPmCg9A>L^uQO>77Fw`S*Ymnp=B7iZyc%XLahSAkQ$~2uq)E$KrkMzE9b?~p z_W8$TN5BNlI8V|mHL`1`!QzmM;%lE^k$U;X~x^Evm^*G5V$xp-&(8Oz`1)$@zL z8+LSbcs!K6&*H;TmK|xJM(On%K9-J#KxN@CS{m5ZpbNINx1{R4K z4;M3TX?Q7V=f|Ypko^3Y!P$~U^8eigXU^q{RY}n6ls@2k;OK#f=a1i}*3&#h0d|FOvv$%1LyWbyASndCpuT)Cj`KqM>w z8>6#Ve)Xyd>51<05Z|F9$Ck(T?nOup&h`=k88^pdr) zr@UJA4!!)|`QPS)UBcw&7MHBgGuN~H*_gSEy|!KOrJCrjkXhc3UN`bHyk}#xJwEZ@ zOs0Q4KYB8k@&DjczQn6lvU1KjX8(Jve~dmvoi9AH|2@Ng{y#hARFqwpIZZ$HLTB}U z@e2E&!KYl#neo-|{g^ZD@zRcv7eQ5eozt2B&-v5$HSv6*O3m>Gf9ClHXTPZ4Pjq?a z)vCAj>dn5d&Ii^rowhwb@lhq`50(#^mwozw@+lihi|(4z=lw|W!SsfD&Nbg;+`HZ@ ze6T){?rUuO(7NY@PsocPskuu3D<53HXj=4gU*Uu8jsKSk3h4UM&-zc`hv{V>^_q4;M$ug&Q@oRy z|0F*sZ!Den*rW6{T@6%u;RIe5_jo@ zKg)KWf4$7|rK#vHmgSpMUq3(bK1p1&`9Ig4mAWZQr-!@{5}AJFI%B-U^;1i0=CR#N zo%OQ3mVIJT&_ZtkEAKb*iua>7KeX)gSij}O{iPp0bq{)PUwPrE_4Fg+4D;FR&XkKy zwEG$T;JJ_S-RIUFQ`)&=_Y`^VVg51yK-&FCmtSuzAG}>Q)9#UV$CT!8`^55Ng#HIV zhzofZwHi%enOM);{6V{*}(TD;1-%R`5PGu9|sK z8Y6MW0K{~wc#TP*+AZzuPU z^jj@%&zxHIY#&al(EJeJQ2yiGqp7FUAKq+PTzltf`OMQlT?69NR`fn$T_4!BpW$Be ztd~pPD+rm*)w)!w*BQ=S&m8mIx?BHS%i_6Ko3_}O&znAVrK7Id6?dMClf3xD`5Ef( zn_Onz*X*%FtG3PK`%aZO?i$gGt?zYe(-+!4%#bg=p}BTKS+q&UivDND<-uolH_EZy zTl6+5RZXkprPTBz;*9ak+kTw8sF4Yh6yiQtV{o{VLj46*F`8i+RfPSK2?c?r2#o)xPgbkN2bS z$??YVudTiPEi?8$$&lZ;^wx)^IX<$lw3VbzYX`phePaDe`#07dEerp&?*XaTZrH#0 zO!UsOv?ptww*^V>7n!@#IXTp&cFC8cbsaT7Yq!5wcoe^rzx1W#^dsWToT_@CbxM8Y zH(BH|1V^MXu!Xr^c@)H7THP?)*SPjrxxmNOSKN1gaeLmG$yu=Rz0TeVvc+5Ytln%{ zH*vbFNk+yRqbqIR)=zAm<6c$QunX3ERhM|@mz?_ZzCpVt{iWIUwwHgWy_wOqXHC|| z#01}vYkMD;PuAZr|4G*6Pr$;{b9So4ao%yhdFqbi>kW%bZ?yf*2ztpkIX*srjmFcj zUw=35Ummo6*(cd^mxT2?+Z*!(HocA6oZR=4dDp|WT|Ufg*W6NT_<#RBAnj}HTgyK2 zpVr-pI(MH>vS9jW{Xux&=92Es7pxL8<*!cJ^Xk=U-rlQ$H@8jxtMuXWvYA=$4{>Q; zSJc`2Nz*Ij+07-7pKP9aDuy9r{}g%tn;(N@`RzUH?s>IlwCO#6I_byX1J7%ozhFyW zxb^;}c^X#_=*EV~8=733mbI;JdFHbE7uGFb+PPxWo=p0|_n@Ac_kN_<>3JnSy|1Ho zo;hcdP*58(jeY-?hV8S`eudt5T=Lzk@QByfC>Kyw~ZzYV{~X_KNHqBYrlv zF!w9rQ<6I7DAf1=TD-5>BY*0njH&Nl*KmhL(j$4QFBxui=MS2A)cET;p+5l++fVOq zyj}Xdx^n9CYy2;#^#^}2Iv;fWqD)$1d=W^3jv+V5YwgzLZZ@{)eecp*1~UgvhE?~IH0ZPsa7H{E;x zln1+h1wL@Q>?8kO)@7G>tKJTkIIbG;8?UTSJM9qj**hcg>x|%+lQS6D%&!<6t#y9> z_&_PBS;41tH~7a^<(FOOgDx0tSC>(rA3oE&{$}Q<$M0Mc!&|mZn*TjWY1YEAuBR(hq}D(m&XGjmz}BkPtD_r!juNSoYA~pFJq0)9fRuKnal2fkac>tzQBE!PLKB^#su*VN6V+}%#we*=X}hP18jO7 zEBeK3MzefO6*q|RHaRjk?mvUZw|?v+o!pB~u%5oAt)z1gWl zJ5=_y)iBR=vhh=zUE;HMh3tbRE<8MW9V>Ko&rF!jXg(wDSL}Vqly@f1`j(*fmwnI# zqw>oJd)-s@R3CqOd`mR_^)#su?sGpnb2+uf)xBp~_fa-UFNRJ1dy2){E#91#w=MS> z-}ij>#_H2YXRbvCukDTM^*Y%b-!qHQ3H&8n(r zg7%$c9|;_26Dkp*YodLI8$H+5&o`7Z|#t?}xe(627E z!|6|j#^=kG=YB3`sY~Czx!}`Ip6j3Hx*XxZ+@Lx;d&Y<5VUi!RF8j!TmUT%J`;O4tM^$9(^GV(W;*<)oWMV^&TXhI__F(DvzT>gN6__Y8yJHZ zPVex3B+nlA-un2?9gSDFtovc{cJ2P7Up8`Y5uS76ri{<~Qh|TxcWy5^CdoO0Yi~^5 zR4;{dXs4*Ue<1i3T?{kCzzAiT*LX&-mm{$P3krKUY@nelKHOczV6{-^wi? zqxwBv4qdf-)%77|o9wKm?Vhc1Omo>aSgftfoy8wYX`lOZETJbdc!v7Ut}j==)J3=a zy=T9SeS6FDch(IhN3A(4%JQb~FLIO1-O={uz+|~gCwkbD7nw#ItkyreW*?7nRpP(j zk=*5vRA<<Vbtv5dV#qPeM z%5ur7kF{6I8$M_9pZlZnE#q-%RM~rF<4yBkOq$)Pw~JBAd)K$x#ol?x*2pZbJ)fSS z_4d~HwN}==Yn`VZd$nNtJ$tSfY&#uV{%)Q>XS(;J(~a*1U;OVcliIYpPMR&f!tKnL z!l?Sc`oE-CC7ro6bw=-Xq1;_^n`?so<4^ncT>f`VePQXMvWUsI`u~1Wi#cz$u4^{#WV6W7#1ux)a*23*}ZaUtD&* zG7w)bp#OVGyPgYOl- z-#fQMMJ}@~&SyK*-`y5g{O6orFHpT@_x)|`;@<0%-d->La&rdvI)z(*tQPrRKl|_K zJlEOlj=%diDeYyfN$mwA6PY)+Z|JGXPv7^@(tYX53*9em_c5PQv3^z%`ES~mon2-z z&fgYHyL?3MSw3BKB1qwzmKc!LqU!R-7m zvI|S1+;dL!%l*@wek8l5eTC843*FDtPv$#ux|?*!-t*d)BK`IBx(3z7pZ|$%eO=#o z>)ZST@9y^A-YvcRyy8R(vwcG5HIeyoj~@iz_!zrm z@9qNO$F`Nd0WQ+()NXzBJ9DAve&8;x>L1)UmcRcdyExb_s2* z^f+Pp^WOHmN5h}7%H<#CUGwUFw!hrD^mmVUf9lORwJHC{1B0#E^=&T>h5z=uBn-}s zOP-gP+&-{N<4UB}0n=qO?cP|sh-RML8}Vyb`ljqP2YPc3AG=*}dfOBK?hi+FVmo&} zdG<#)Dw4bW!SA1+{`~N}lVbRNvw?Sb(C)8?XDrpOb$=;oyvBRg-V1g)EBje~TYM^K z)+*s|`YY%kx9+pt`Q;7XRll5;Id1#ryW`^O!sgdizk=>Qx>UQvwtqtHd+iCnzx#~U z(=sf-n%9-one&THm~G?oTYLXQYd1~SJ=J$6A9%V<@|*PY(;nqJ#gFrT*>#3-_b;DtWwB02GSit_81oDX?%^y9m_ zJsp<+RMI}(tlJY3zEk;p@^{h4js9D6^I!j*e7-4Ax*_Utc~{V>KI@zv+(EUH>z_Pr zidjE#`fHu-?^&;Xd+Yl8^r!6SAE(}UsJ%e!#)qlmEmsy;}QvWu0%!<_S|1S9!9xc%Rt5e+Yt#Fa@{YK^c z3)yz0PA}uClg>N&YoD9t(WTXek9U8X{gAKbzIWTvRgdJJFSBcy{b}x^Ik$xSj%67< zyeq$*FPHUpxz?AYivITu&wgCK(r3?Gy}u>9=h36LDbC@CUZnoql%+rAN#3{MGcQ_Q zUT^>1_pninsrs0s*~1mCDpLGIZrS|Z($-H6#A7_S z{L?zKD|bffYVogoy?@sgpO7z%@{B5dyR>Xa>p!vkjH}#Qck&kaXL(|-r>m48@9#wHBP;&6uI@ZPM}-zW3lqW5a-`Bm|t5T zwQM!7n>vHbHbJk`z47|ba~~JqS~>gcrWL;*HW&Y^`~36PA|vh!rnx8P-1J-7{`}ZE z3$@w>PW-puI@~u4IB)i!>E^L|li%0RK3u!>^UTuQALkbT+U1nZ^3ASJbMDSL)8%+3 z^(S9q*ZQ*IYwpfdylW2jS%%x+<~n%k z%`UOf-5oxQ%Qk2G*VnCgKE3v@&vRct_v7nL$(!}J&;K{CIKr#k{?EHR`yvnST={sP zvd2x!4ab}3EWQ8C+97ns1?H!dDnx%e^Zh!s&SLe2>G8&oub)kiJm2?zPU$z>>5(;> zGWIX58$%A{n6IwdbX4`@BeN9~ECUy|zfSx0<$r&4kz(G1GsUa#Uh+P-^Nrp7r{99l zh2QvgwB2iK;hCR1PC8%Ru|**+^>}kkS%1Uz-+Y0rT3-t8-dHbgbzNw;Z8qn>FYkTN z)$aWJ<-X`Hv%~uDo#g>UQA+Yb%~kTT=FA>gjhk znbw`(`7!qSyqRfhv+mrj6Wje<@V?*@Cb6P<-x|60@`t=&Eb`pLvSXqCdebd}*CRfj zx*u=#t?T~$_eH-oza0(FGfF;Q9+tNAugLF1%u|1xd;iz{V)J(6^<660s?Do?TIH6l zZdCnSvGDWVi|@|OTDm*z-^K;kEskHR3VoMXKl7W&x0m_9{1jEU&nVv7-qs+y&w0vR zE?b|!(RuN8cYEs7rq9>>ee}uuLD(~jkIS>m@hN8bLv z*A#c%u3Y|N#6I1_q{*V`~Jw@FNZ4sXI;IwtSl~A^QQUxMRmX3 z6B1^=HwkjO$?3jV@X8!rCHebu-({Dq33>4_^2(-=>NkEdHLlw?ojJAUhEML%v>l(; z-gy3AefNL=U*B%IKJRuua0&PBb9)maxy|=+|9-RgZ|z;70{8eOf4BBOf6t<^_JP+@p`01kysxdQ_%qw& z<{cINb;NH`=Uf5agm(SoN5d1{w>j1>iT=q@px*aH)o$PBC#hH1FCWiTpRanW!1Q8h z{&Al5u^+YmV5E5H&YI$CS>iKyr+k2Z+pm#hcC}D<}d%8H2;R@Th{{T z*?!Y^OYh2XynjjdpJUvE$GZ#M`9eWBJ- zyU)6BioZYXlV5aik8qRL7lrpb*0EeKnh_PCt)lfsE@&b95!FK87biV({Pr|heq_4% zZ@q)bG(GcIEGl+Wxbz`^q9Mem7Tdu;0PXu(^n5^DChsz&P{oJ{SYQJy3v3OSE&qsXrv-KCBf35#jrAuUj?aKs{6_Qo5H#lrw zTe@q$T()CF&)2V4--PVbv2T9yLixt3w?SG#N{#dOC+}mPGL_3#C;4xkWAT@TlK*wA zekqiBUACRLsOYjIiu^&z^cQ7ZeD=$pMo(la7K^C}UwyoWT|-;6D&p9$e_dr=8ILZ8 z|0yf^;+W%|s~1#awkPt}jQ0$n3gC2@yna^SzM}lEFP64D{W%%u@=Wu<=ZZ7s4Vyq- zJ9E6-P1yS2yss9QbA*cD6wXO|q0}n=pwi}i7#J&rQd%mw|9#E!P_6$m;`4oXE^`Zar%+O-11-{ ztuF-?e^;7%l{e09`^NI@$7F^bWd+`)N=E*T^N!D2`n{p7i@W{)^YmL{Uzgi4rYx`5 zJ}^7eC1oCyZU6O!cOUKYYn9`B&ws=$xcdAb{`Py#dO>W<&plmG*6`K--qeZH?i?1p zA~fZ6+J7lQ%{GSf>7rHqD=r)sj98dmr57Z|IPbh;Z+YrMCw}*U@>;g4yS^@B3I{$% z8h?=sSlF(-!s+-gJ_V&%;d?)2u2qDC+{#kgu=_#S3zw9IOg8hIrQV-%YL)BT!1v(; z8-rlviVx?WZ#cGl5=ieFW}7{#R;Xetm~9TIS_ukT@{3kkG-;KX?((Q)sjzA{y*IUm zE7oPnn?ur_HsJmh%IVE(X| zL1~kN)qL%T|Ct#W{{Me-w|YWKcc!9fdvoaH*r*Jra4$_!bKe)T3pnq}mBl`&O4XPu_w8%??qj>B zY^!fPyqh-IN1NVT+NxGk9b+JS zz-Zk|hABb0$?^5uviEp%`o8!!!&vq}(4(8*C&p=RH5B`nzWUhiEf-qy`h%A-M|gcX z6`*CR^X7b5Z+T|o{r}J2YZUF7(dPG-HbMlWcT9BCysG5=d!ygZ@&>h%YM+FgduRHc zD`D|kxjHq`e%|D+{8+}xY_l%tDvH*NNtnwX4@$c4uwY8o#MZw**1Tl6$vN_S1rw8Ff-$rb#Ug;nsO`+}($LLfEVeZ;OtUFnC*5 zzP7umy)^2{jqru?hO!P(nNanr^QNl%XfBe9dLyB5>MK*md~n8}xyk&;8^nE%Z=AAp{)eeSzB_KzzrI~J_10;7ro8Pp8y-}y{84(@5oGl52vgam z*)P0QuOIy{Om41GbKf0G_|ypg(p$xV1y?L3f=A4Tlm=%%@qZMi}Rv*Ukl{ki|8 za(3M;2r28$&s@xT*X~+vQ)$;S7p8j2Z1?8)^)2?} z4%6n#?-)N!S$S-;gYd4@C6D}>LoXNVs9FkKFA?!tnbs-&_4d_OA2(EQUzz!RRmdMn zVczsswG!*d?S(GO?@smV^S=DH)_m=+&jk;rh3>zfc&#@ZoQJLY-r)N(V;rC}3fJQUq8#K(R9eyB10xQL)YZ+idHn+al>PTMDh{E1w2_g&aU ztys<9JMTIfghYP--qaZ0cwN}ph2c+0VN9^>lbL)Dre8QVd~<&@W2ddt+nNk3o~2j3 ze#*^xC_VAv>wF}n}d zE{V-wA_da@UTCd#k$mFXUW?oLUCZuN zZ$EOmz@Xpw>*kD8ck87hE%r|=|LL~-aM0?@EqUAXnTs6`mMD0?+_F39Blme5=f7u+ z4SuCADc3gIqwn=0`un!6vNP?wf3S;PKNmeOE7t?m;norpMPqd}hTW=Os?GVdam!SFIIfnkge|c(yXcR`kK$XJnsm{ zAN$C^_4BtaQ%iQ)y6w_DR~K(8dmw8M<6X(+Q*@_&bKhAY^Zm)M!)?YNmFIl+FEg6i zy!3H6s3e&a@+ZAv@v_GeCpEeJ94GGzT4u?5P;=djZd3W0b$M^E&;4J>zL@F3i$_0} zCN1K$mHcrjvi0{%pPk)4cun zCa;?kxakIe_{KD+_{ZtFDNlDyO`COL^26u@nwK5dsH_Wn>9y5$A^-c{@<(_79iO0W z_Sa~AyukK@{MmL!wG~(8Ern(0=h^etY`)yP;;G3(^@fl?l@IcLk8hO9571X!x^7za z-Q0_NpE6q)uKRo3cYogAf7@?a?bMm$tS6Igc}%P}RO_G9a_PX+FEi%IguN3h{dAEz zdP_SFSFB6Ue7M9W>Me&?fsgt&eKQwqq=gN*T}5D$0QC z(l<*}Kb5W9S$X#QmP_}iseb8HpT(c^c#Z7xOMdPTQ+}$6$r&*}_{zB`beC+JuC>+e zZ529~GOA+P%JgQp#edrzbLIZ5u=xjP)^IUAzr$}PlFr??@cVq}#hkW|V#_zaGnPHR zilr!OX|&>=1b-%8{W-?6O;@koVo>K@_2o|5@~5BW?<}tG{r<*%;?B!!_iiZt?sfFK zrlfNTi{HFzM(yj%w|H%D@fH1ersXBa8a3~?l{`MQ+1_0Ckm|#mSNY8X6`FTnyK{D5(RXW|b4@p^ zgHJXGeYCD?-ks&+em`Z`?GlFGioZ=SoGW{|mY)-tSAVcXf`P?d&Q!K(>#UvkYhM0+ z`6#m9Xz|v^L17tA{>$1omK4h{{nV|BoGE5=|KnoY>!N+~ieIevrOl4mbZW{kFYn29 zb=_C5{xn=v=qb5GIiJb%DF4PEmp9y2w}}1LXA>zPSIhG%ZF|%e{(tg|-`@6ND>pB# zICC_!e7VLB=@{$&lks|e-lr6NUz{xEH%PYXaQmdXntlEiZhfBs`wykbZ`qI6c~tzG zu<={&^*0~a3Ha`QzCG&hd_9KwX0k1pTINLreLUXy+xPgzj?1b$_J;90trQR0pP8mx zTQ}?13+9j8XDeKCaw;$1&$T?GH2&9|kea>r7nx>VnEY0sA$$4GqSxiLTrH^!l~(eX|#o zNGB$Kz5JNx*Q}5~>Avg>m8@>5#q8Ms-t58cWsfs7T5c{bZK}N7m@>PB|KYx0u_vZY zJZEBH?fJIz{L5WGgYx9kU!R`%u=e8ouvMQ-PyC5IV&Cvs-euWp0g1bRDprU5Iqt)@ zK<{$PJf?^L_8o7yKC5r>#9uxq?tE^1X&~}o&lmZJ`#$A95WW3v-a-9+?tfRVcgWqA z`+jD~rR}_u_u7s3@Za3E{WEVH_lYZsGXEJK$vZqdU$*b;X}RfL|M?&11g!NHuHtI> z{retc&A}3x?3wnW0kgN1?X-{nWNT5KcXa2suO9xH$?rE7G(NcTnB{z}`t9$tc3Y;L zK3&+B@6wj;5dRXVv$W&K>tZ-kenKb@YGIa_PXc5GUL5TX2+Q*nNG~S~|lv zNPW%hJ{Mip=bzT~;KS1)i7&HEOzkTfA~Rk`zH4uk{^F=pcClri(8GWG%7txr9E~cqPkFb*Z|`j{ zwlb%@lOZ($?LRXQ{mh&(+emzd>z(L2?&nL_8_OPRv(T>-{(j~Dw%2d#+_nDIzO6F8 zDp&QYtg1%thk{u6%e?sy&T?%1Z1pv7alxY&sR@)IJ;omJJ$6HR*SZ>ZnpSm+)*#^Jm$99;_T8q zP2U%qlUlZxG$iPye2YlPu#{0gE& zGt}z9oz8||Q>MMtnw#?a-s$a|w^qK5P4m|ad)U6{aO$IlS9d-&S-3o4$Nu+g4}|+1 z-#E{p!*3$@=F0DrPYJw~bJ})a#P@vuPPsc`tG_3_3li1)$C&c4CY>qv_U$E)>aV&S zUS&D!La^4I``>vV^e%fG;cp;qR2_5ua%kC!4|aP_z2E*t>izTji=AITgxTnb{`Xa5 z4tRaJee;s*zZqZm7Z!Fo?OQT^;i4zoUauKaO+2A|Vff8nZKwGtHSofng5^TXyriIywGWh+Jx5@0EQy??U@dXIb^7?Y!%h7@_YwRjxIWeS7uKz166{}fJ=N5i2GmWz^Qj-!t$hQ3U z`w3n4`Kt=I7FtE6b%gwJZ#WN9y;ITmmDbE6)%H6NZq0T~c{TIu^1In~M#W2v8`r+w z9Q1L2@}k7juO&;)%;RTB_hrA>b!Wna+iRw;^6I;j)_y0T*xGvT=Wscr$3A~H+*LGv ztaI_l0wFK=lRXo=>cuM7zqE*&dRym-+3RcNsr$p$Ukw%BHS^`S?|OawS_@4UrcVg@ zqd#fG%JPUcRVFL7yIoK2*_v4Tbjxm?InHT)+pM>Ittl&v3E*7DX}kL$gFzL`Rkw_w z@NKs|jP_?_PSq3MIG_0|_o9yus&mx7^i1lq=lvrlFr#m2XkgHF@9>+CvnE+K6o30< zXY%~c_uGO&o0%TW?S9_FNgCBh&0o5XXVMG1&t*2c24{Gc z9x`27c1s|lxXJS0k-wtU)Su<|-B^Y!DeDJstn%v`#sZec}l@ync?rH@qfMAm2e z8?|S=wK?ZeRkkJz(_^;AR6RbFd9(c2y_lrs>r~lW=e`q7 zPu0H4nYTUQ#!Ds3%M)_~IF`RZyRjgQ!As>0i|5rDY9*!W2fke9d(5v|{w^v;Bj)m- zL^-cqm%IQCm71C9e-x*`Tt1!m@2<9aLbEOyuZhyT%XX*gaSDb z^yV1DJk6_C9~bOc{ZaVxq(x?WYc_6K7FxxX;dFjQ*3J^+g5Rg!vx`4?vb?y3v;Nwo zV1cgPrLnQGvfHh9_04hGw0?1c-K*=_IdymAbf?#uADa-up5b(U-Tyl;*o%+1UY_s& zs&D>jy>+XfZ+{`OCu^chzn$-|s-LdQ-=8-uues~@Vg92I*U~<)oN;?l(M*d8@?{!(T+Gj`e0n50X5P(bOVUE-R33YH=6}Xd zr~9G0)BmNaKMI^XeUf+h)&(nH{aLhuZ}~s1TwHA@X1>rUH!TPNOX`S7RyY~bu2tLoR6_w@ADu8cKYS&`8?PgnZh(Wu!1 zaX(!8ewFNEv)>;5;@0Cy+AsZnoSE=Ka8GRYq-wEh<*%6*mES|viyQj4D9eeiFNr<7 zYGKySE!-AWTi*xYko`32``O1Lw*{u89+EnG?3(l+PJok8rdrnZJCOVCmN_?>zSNUs#yJ_rU(0&>7CdosreIwHDGLYrTtomp=G= zWWpK7W%ElceonV++G!EBx%sy6+c|pgiawZm?n>9ld89M%-8So8%8K46=TusJTzO-% z<%`;vof8($o1lBOXr;IX=a*wQ^Ujwt-mcGAT-GmG#>u?GzwOGo*CjRT7OV$vt6XF* z+w|jMrr3^ni{cZ>Mb}Q$H(c-S>9fsRlz4THPFeSwAI?dB&lqf%GwldZP5?TDs;=$l+C%Q45y` zY>j!P6lE>nu{riU=S|}+6_3scd{}4jD}7q)#mbLgPfoa1!lAkE?D|}p4^=GN;}@|n zOR1e=#ePTqqP_UsnU}O;V>O+lXBa*G-f20LnMZG}%(2G(LO;Y6-*j3Fb$e{N_U;?U z&jiDr=UZ5e6&vLuiaRH>FSqu3kXP=u`omQj)_ny}d#(qR-wkp4FYqB-O)Bj5>0jyh zLsm`m)@NF3aXTh#uKsVv53d#9bQ{k~;mD5hdiRw(QLF!Qu1nE_vXe_y<}KZ=JgZEg z!ePNdp4|tv{!W{CapU|M84+uJcL$ydIlc6|P_Yra#G5RG=`qazrXQH?w8Qk;gf;4N z7unYTdr@4vgW)T8H)oxi&s9dVN3QHm3(a8N>3$5iALndNEZui0yD|Rq-TP;`#1&@naz1lzvgCL^+0gg>6UR?Y!3^s9 z7OuVzbSncEwcKmDyszCpU1jBaX-Qe@j75o8XN0}b4APzcPT^S!pTUI{R`D+jA8c_6 z{xI80DoD$N@6MbD>weskJ>z=$^Ft;U?m$)fzqUP3b7~76_h@)}^UYZr|2p`U**lvL zshKYok2~Kj4d(ote8ArP;)X1r>iDjZ(@Pg0SZ8s&MD~WUMgNu})l$a&f`>eoFFLht z16!i5${Obg_E!RI-6!oB4!xLHdFZIU&|ksykJ;+KqGTA$4IATq9_d+Sl^jZ3^z{?> z+WjG`OG+n(z0eHQo&HbMP`$XJaa~pRNts2CuRk-bXRlMeB6~JhEpAFpc+GVWoh(_# z4;=^YZ+=$wGm0ndr94yJWtYQQrMFH8FN)F&ZG8PGr`Y-GPp|5R?d@!R2LexR(0t&% z)_0?M(grViNl97joJEPHs%v|L7DVaoojYT)WzGhx_?H|XG&`5cOg+_g*yVby^dw6O zTibVsmq~?%U*fW5UG?-55<^4T6`-R5EYj0)B{8)Hk z$pP<%rk4#NuYMdjEOfW4>|BY#SNC9W z*nQX5nY*IzDQE3UnGfCvUOT@qlkM@^Bl%!AlRbl&5Bp`S=Fnf?CSKgQa)r^Wi%azsHx511+V^-8^A0 zH9nM zwM`kiv8%t#$Y`C%aJ48?{KL&1x9^7VObVa7ei_>zrw5#!%Y529mpz>t^@{1D@P9dh z3bT2euRoqt?yUBB{iW^$Phyv+e>;A+02GG|SBqZeJ+Lj@KD+Bxjj83L-`C^Co%X*> zm{K_Tz~Ym!%K6h4YSs3<*jK`x|HfN>?FHR%-Rawy<2!cW{kJ9L`RbiJj{VzlV8(&8 z1=kCFwCa|3maVP#eW1|^(YRMyV*l$eXBHQl&vD%qdZNy)FUX{#B&Funf#3tdOx2Co zUs!&e8KAoB=ts%RjYn2LX#MhpSvd4pJ&=SDSc46C{pcq_G-&xVK=i0e;%HA5%DHHBc&HKg8p4i>a0uY zy%Q=QVi*1Hi}#vxBj3gRqUuGPi zSYlR`^NWk|_AjHTx#mGCvnJK2a$KLu=eG8>!9}A}j*FJ8n`RiX^#8pRFK*mblRC$> z_QKn*bxD5DCVYIgXJX`{mABMYf7ura7X))uU+6z##?i@FR~hvnb4^V^moKRJV>DS< zK7r3&Y}GXHy$3v#?p5E7=8(AdYEPx@0qq9qLm5?ZM_)fb;MlqB>T+N9$vSMSzgWAu z9k)wf^ibyl*ImE&hY$3I%-(91f7aw;XHviCmSg+av#J$#h<&nl`n%(fpW?;fbMu(z zMcZ_l9{t`^9(9oWs5a ziJWqW+xl=$=*Pz{oPSzemVdMLUve3Ev*n5xul%rF)SfzzS?$TE>(4uvU7os?C+y{ZLnEti`+ZI3gw493 z3#uY{3;gfAeJ2yK;6Y~TJ3dG#=ae(%{woqt(fNR z-WXfB?dDwm8w;;ix^G?Vb)N&&Y+LfZbmcRNHJ9!i8CiWZ73N(YI4S&j(Bde)z1=fF z&CchA2BqH}bOp|x&-xyAR7HHRNnMrMpS11_QUOu^EOzEzX+-3sp4j|be85j zfA&Rf;i}3uyPA73y3^~fx*X12!g+T?*3K_wJT{+_SGceKyko|iOMfljK3ZiNyR%`@ zO#Yw$kGd?*T(bA>9_z<>7ZQ%2U9!)q;rWc8?`_wG?#eotW-R|Df88|ie1nSxw=$f} zS48RUZGDk>d!y7VzDIdRpM64Ka+fB0tuDE$(k%bYK5x;*Ef?qIg}u32x#g#;aMhh( z-BC+drx#)A#lZ*1Hx@Otabgxmz?4Xz2?w;Nh4QqCx{a9m(@OK4WvGbhpWv?5#M#9V`} z_G`(DMP?t;#eHYKpMLzi^MZWOve$n#La*!B&wT&4?ho&F zon1@6cyGI&S~^cI__5J{-BrBhw!JA+4iOXwaAwiH1{rg%>C3F1oL` zG2@!y!rQ5Pt>kq#TKO-oP1fDvR9TufGt}yJyXPjui zy5tncLZ*k`neJO_Y%CBnT&S+|%V6IfknYU~OAkfA7ZS@_b7^IHQ|PX*ieZsQTjuTA zzhQ5}&MODy!k*9ESigqVU1R;Z(4V3Xdxf<`;tp!Q9kYU*E~h z^vqe`#ieqKO}NU5>HcSiKNH`UM$SzSKFK@#tjCP?Q!h-L`N~W3h?ec%85brOFMZ4E zeuwW{-$twRtNuPV`v3OUnoBGFomvlPM=s6p=d@*PeE*jHL)7ipejBaMZxP(yTxmfzzHeYw6* zF8z|)j0?$PKklhCXy>fAHa(a!k9|_VZ^iAozZ653_A~zwzTKV1DqQvFpTvPBXIT%w znzQ}(XQ!;><6{} z@@^A9%k=NtvDc;yYvL@Y#q4C1pCYsJ;;OUTnp>szi>)Yk3jHOz=F=PtDC*LVvqq;JXD+#MV!L_o%B|U3`1}e4zvenUGr{x%zX=)?8@+E_R#yoqWFG z%=|@n8K=F{oAtJ4ujOvHC#$|ln$2Ro5G}s<-NgOs;_d}G%X-|OpE5YD8uBVH@z)dX z(3f%z;kV*Ude_8zJ@tH0tJuapHUb_6H}=HL=Li@&Yo^zx?0Wm_@d4T{gSipZR1Abz#?@l!K3H|rT1+c##b?3b*oTBI7d zbid#M_8k3LAa@o|eaqS%H`hFh?^(7gD1emH-9A>7PYx>n>Kl3D;e?5?%85!745Br^ zU3ZCjTd?F>Iwymh_2izqwW(cz)^aUAKkrRTh18DS7^KwkY!uS1m*1`@I|oRL!oJ$n1=~>A8BlOvo#}RlMv| z-E5>gUg@%LZEN0Gv~Sg^mz`#E^S9T_?u#i8%(oP3ws1Mi&AWP~sqB?mstl?YeCOWH znJ*zK*=981CFe%1zhSq#m$7PpIe4SKY~JEmd#>{3o7-(QX?kp&I%fuNIkW!pJ<=6+ z?dLBYKb_mddH0uI)YLf7lbxM@>ODtwrWYh_>q$0Fwb^OWbaZOTk?o=jwf-hNsMg=U zHzR7v_sbK48sEqAJ&2o~ZN*oRv8peqO@IHYi^d<`eU6Ccn;-11nLhuM*WsflD`(Em z7WXq%F|+Bk*lM6uv}r;7;-wpk=4+H2OxyJQ{oXnE{SO@Wl1{C@XyWmIxoPd1^48nt z*G|P4t=}$lCe+(vr$LkaT*;%4KP%5zJ8g|xvBEytQ<+MYZ&qrAR&9QpqBN8Fb^Y~i zRzDS8S9tB$_^|hXUiC$j3IFxyDK@^3<$7RkcKwW3>AfuL6()z$A5Lv+4)e-mopy(h z&);f}jScaN@QovHQrLW%Pu?^~;kPph7J_8{p(=^^d|A6GO@-?96U)?K;0uGjrv z*A-;0JGV4%@%P17%QkFz)a9$|ed=9C@e~*Sk2k$IpZl4uU7sBsS0!1pTfL0^ZOQG+ zWs~>x9uKTOerv|ck{tW@V7IN>@^j5u*QHB8M_aTq-QUe};Ct@+*~_w4+~b*CuKG%D z+SIaXkDr?9-I%_gMI~~n{5-$^v5Or!zbcDg%#FD6)^WbbLao0mE)(h82{PNiP?x*reGY$qxffAimX}@r!mC7juaxS?Jy8*b58t}IOFQBJE^Bej%ZT^v_g=Py{<5^pE}L?k zuetfvw!Lq+?UU6lJ(ssmTK+-BoqZe4(%y!@oX)cE`)jY+yL0rkRMX@0KXTW+S7K;< zTRM5wx!JkuZ%&APbzt5>WVl=6Y#^v*oHww`CvPIFpg~t<6JP z+x`6g({JZl8*TFP7t{VSH`2abF1_^LOPAdj7pv%f++(WyY*n6~@UI;K)wj#kYwpdN zKJ5tiR-wt2@>#s>TirN~H4c`B9Y5SReS4n2cEr;C0hymeXLoxgINf)9P|eO5k*{oF z`$RnDyIIvzxp!{M0~Sv`fAij?vvFywRo}?xKYbK5a(szrFY9)JrzFMRDCCu7J zNM-3=&gy6BwQKUftFRnhe6wsrK=HXcv)#uZA9J_9v3Ygt&91L@U#7F|`_8oVtl;eK zTgO`VwI2A+$565KZE5w&bGKy|9J~F3IdawRjIFX$f{M1)M`XT8GYc;@o_}HKvQ?r- zZ#^z#SW+bs!}_4(#Hnc?g7<8--@f<3yx6z8=e^dO$es!FuBfqlbG@c0k)`;m(Bz*C z&x(q&w?@l)XK$P9bAMgl*14PKUOBc~12tjxocp#bd-dmcxnDkb zNaim-o~fvQeC@MUFK-?(jn+)OA7Lh+n({NLA*f1k5{>IJ`>t#MNGo`28IJbE_AJ6Y<+?Ip|}T*ALD?`1r&qeNiJ znyAYszqAI=TJ?FIoA#WX>8fkaalbVG6t(p8swXq7o6y(%#v?iC&C!~*Q*QCq zPfCCE`|4Y7ht`z6bGP&UFE+Ti(8;Y45Stl7J6U)wul?UL`;x7{n+FlVCd<6@gt zVJZ7%dGDSQty`qr_`X+p&s{&(O%s}u%D2^JG{W}JUan;;eLv;o=6lbkURoUF|G)U9&bK%7Ju^k;w3Y2-Smzocdyjj8 zmbBNyNclrkr{vT+t0;Wf8_u-D(~57>*7`lH`Q=r&589c<`{f?pJ-0cyS2sP`JEOEA zIo)mPVT-j}Ec4&Wv+VmW!!Vt(!mi;t(+y?8h{o6zTPzi2k8HSc+SWZh-DF2=l;&1W z+q2u(mlvh&Y+#;miz zoUvkRiNN7g&$hexFx{`VZ1DFu?zn<+25W(XQO9Ss**9h%VpLXt?jE#1yT)4F&ve@y zrHtDjXKwoPc&b)Ix<;ZwmcRJIKSgXFK8SEc)8Sb-u@LhVg z-2At9lLu zMxCX_FT5DmPv=VtXkBxG`F=HL!+G!H6P4Kx)N%;_5L|kepRIP`f$x2eJ9b&r_{lC6 z`IBa|(_+%koo}-}!(OKCoYIzPW50AuWkAxy1K-cN&Umm}^v`CMM<*Jz8k)VNm1R#T zbVV)PY$bnga>V=t|4olwuTyV`PO90vPdCJS#;gf#`nIA6^voRHG0Q8`4VIjr`9bkQE2vXluZhMP_55aFug=ZvY0FI zlUoJ%-}{qebUy4|&M;^86RF#hh1M1(cPB*2F%(o~s+4cuCChGM66${P)Bm+cMaBK~ zx~}W#huo_1wdz>QvTr;4>XUzs80__>C$7*sl>V~#QsWozKf!tr=3Zh$||2$~kMzil(1wEI4#CW@}5a&iwEGj`zQ@U!HS@QQ=nQ z|L+&=@BS1!e>iK>f7hKa)=0B|SbpNcy6;Y*FB;#+_HDSTw6N2X4CzPGbL_Q8b`*>y|v=T)6P*m-l)+@ssR?e?1O@6B$w=D_#3 zhO1ovf?7KD*H2^k)4nG3rK|Ug?@T*ltolTL2!;v&xIXDtrFGAN@AsG=_^TvO$mqEA zj^TKk+eOdwCwJcP_1|KUo7sOT*jqVb!rt43L7BykDGZ*Sx2~4WzH7t&GdsMx_tLYq zmmI$=HsG}Vu-98~TbRzG_6@TR>|eK~(#c|;tn2YS7wNP&(%F&skC+B)E?p+*9h4LL z@-5$oj+*=5w5OQKPvAS$cHn!R*z5d@>3d_}${f{f;^x9+HP|C0|ZUwD7@mYEZI z)#V!B|5a&__c~VaE=Bma&e!t!Yo`^snK4EN7af*;?-{4_w_;mQ+nWhmB~J#FI_!f%xC`~^wJ_}$;MsWe>*Ovg_+HH!m{tXD#L!wt^YDs zHa7>C^=*)yE$Ql=mi#xI;m@kKu6yt5zVTn-wcaFV&Kz<3BgJuH@B3~F{J7^Daev)6 zr<)zyN|s)FW_!u;i_&*a+g(~cn?H88)E|7M`$gGnHtWNRHJml?#Ra!b6fHiuPwm+0 zlWDhp&g#DGt;G3aGs8Wu#`_ah&i`J%fc@WEui5rfcoec1)f(^bxvH{0McL}K!W+5i zzueVbJzi{Qu2@+jQ~N7@joOFbY%|YIQNQFItyaGEqcG?9a&ej0KXsO#4P0rh=-IO- zcdM+-Y(e`~-{wy-~{F&ie|oIcg;zvP75>62Wh)-4Mwc{IlAP{#agwd(2b-m5x4SB9G#vQ; zE$Oe??)lyoC$DSe+RgbO<$N;NiNEH(LW8{bamEE~59V+9_2;+rp^qs+531KQd@x-3 z)jN;9UAW@j?k$fVan5}8N84+5eDrVjpuJM3mh$QKWIkT_;P=h1woA{R_hJhOX?*Xi zVDtZ8ZrSHMGp1WC-QxN6+#ehDFS8l;1SP!GIu!lFU0_?_UVnwQm`QTCJ_%RPn$fdy z5=(>o^HUL-U4NwP+%t>+AG7DFdHKJQ*(m=!8>oH_Wy_P;wWJ=>7Nux0Oo@AJB^ zMt?caYH;(p_nd%ROTJdb<_Z5|XWXN=aC-caS?LeFX4m^<$lg-mb&lrqGc}M3t}j2B zRdhRWUgP^(_J<#MSD(9o`^XUi;dem>Mc=M^&7Q5oyx+}hV@Zh&(|crYbdcgpuEXBH*Kof<)qcYI!yO}XRgT)f1Ug3 zdQkMz=Y|XUt(RuAy%w&R7kwgSM2}2q1n|>uV;bMBR=Rg|Lsj7A0poeF7@?4YsqxK+OT1_ zP~Y=Rwzkse=fW9?0)WXH&7>vo8ic=Lf&1C zt1lLPNS^uXPvTPF_`MsKT77vdm;3m@y?d*_sEfI8*rK#c^4*3@&vv9RxH#<7`l2nM z_St=-U1R#fui9VV%R=0?phYiYZv55v{2ICYB!1irWDr*uI6rOLYrR*x%a>nfS-Z1Z`Z`^{IBSO ze8{aovJLIYJxkTSwe$S{zHL1}x86DP^MVuxm+Yr%3xhvufEK&NcGQ{LFdew&Vu=&$b~i-}>d(>oYE& zVrG8qOO#T2-u5b=iy4+HOkDQwTQ@akPKL41iz)0$%+X=9&h=fs^lX*tmei<8$G+{; z$hG5q;1aX``s$yzo`vrEu=(?4ui3X%m=$jE2wOcpc$TC6S;vicWmU_S%XZ&YsEL2{ zW!sGS_3Fj5??k;%|L?@)VxBCN+sZlD$Uk#4$AiN`ul3jM$jA+BJb(Sjs?Xmwa#t1Z zTX5-FGRJK5$gLl3V^-`8dao%EXHm3BYN?R0)zhP;le+Um4fDccqYT&|D0A-J_BH+G z+;hLuUpoC3+?Cg(r_dSH&N;WpF|%0efNs$1{B4h`RzKe_7PEXyq}QX?sb=!62~*=< zC!TjYv~GILoD6H97gN;VPmS7fvuwkjM443q$}?3NBDt%{}6)u^j7p)Zr(Z%*ac z%I))DcibYZR&q*q>DgETsau!cIb?}{Q(>lH$C>6ZN0Qv;T5Z})zhFW)q6DDd-4KrMc7NrRoWj~TvYkh?j=J<)zKEe zO0_b*yG9$M4+T#BSGV%3uo?G*);D!JNSOCxs>0r zTiz~k(u@n5+ZX9SUb1_cr|`^%ZDA!LemNF?O`rbVTsSAuY5AVh#qZx*Pc`HBW*4l~ zKXlBjvM||1zCpuy#s$smi}auF>D#@>&8lJDixYR;mp<+Y3_N!uxX)l=uwX=faMnTb zsb=m=n{PO*d7F2}Zuu5VJz18({WC6TeqW^jeE;M=<+PP6&+T5MWy^nl?&qRJC)UF) zey$UjN3Zy?XrI^O5p_qy`nncGW?wgZYf zQzCs{gs4=mxU_%amYwld9kMA~z3M$OKdZh}=wLhA;@7%x%T9JD=jfyTgS!r*c^!D;!T%H1Ul&J_-s#p_E1Y`xwlH|ov_yOr`$spW-^T8Wm((zEv!b~{Jk zQ;~I8zewxvxb!UVrNXZ%Q+F$drc^7-3o@vcXf2y9 z=y&PVBy(@}3+q?tzI}VC@XG_WrM}nf_+9)DxA?UR^XBe!wCb~y3B6SlXVt-&y3p%+ zpy?@AwGypWI;AG3or3O!T$%UnzsK>7z5d#{n|3X4%8*qn(OQy`;VstIX|ra_$wRrX z-^QrQ9x(fKCyVZdkNXx7_Ra z#$I8s*|(Q8cbtq~%6x-m{@mbo1`C5PF5Ssgx4eX*u(R#tl9xB`Hhaxp@5SyYqOMk= zwdKXM*VmUmzHvlz>DjZF9FOSu&i?)B!u9ze*DNZr^FIHoVY05PbLu`dS@wp>UbFX4 zh%;r^>AVu~nBwj8!e!zLqkjt$IIe5w zPGh;g-7T}2|4sPIOq;U~BGPIli@w?^Y{?Tn@Vn*Ow4$v?x9(fBrSin1Dwk`93x(GT zo;^D4#+0(=OKE-yv4&o=^_eZQGA*}NF1?fNq+Vs!>9upk_U7C-760d5dKN8qO;PA* zi{BPUlPyP|ow&rWncH*pYmjs1XG@j%rOQ_yX9!H1aiPw1-?ehz z^{Y<$vs=(%|KGRrLAUNqbun;>Jka8IMS1C2Plow&k5nt(?Qy@jueGjxmH1wDJ5d>7 ztHAnurVq~FUBBh0+nR|_?zc03u~PoG<g5T>YGLSJeOI%dK?CEcREL_~iaqhG}I#th+hp?-Ul561EDQKgI0(qWueX z3%_aTPg&u$Kd*g%+2l)U7u{@JGLNFwOGY?;zeA!NNuAPFGjatc~gKtap{w6LxJ2y<}Dl-P%yg;Ch*;s>*PzhukinddrY7IPiA>NVSXNwT7s^f_nsF2@Je^I1Mr zGxS_~7W1;AV?{;8LgAx}qnGkq?P=}E03`#%j<#)g7#}EK+9(ic__uyh+=AcoY_g4@ P8!J3r{an^LB{Ts5KFQKx literal 0 HcmV?d00001 diff --git a/TestV2/ressources/images/MainMenu/Leaderboard/2.png b/TestV2/ressources/images/MainMenu/Leaderboard/2.png new file mode 100644 index 0000000000000000000000000000000000000000..7cdd23cfc84eb2cb537a76654cd96283a9673894 GIT binary patch literal 27815 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%0DS?sy` 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 W-f(|u`X2@c1_n=8KbLh*2~7Y{i`>-! literal 0 HcmV?d00001 diff --git a/TestV2/ressources/images/MainMenu/Leaderboard/3.png b/TestV2/ressources/images/MainMenu/Leaderboard/3.png new file mode 100644 index 0000000000000000000000000000000000000000..09678f086e3e6c1cf6390735b9eb12b17c594e33 GIT binary patch literal 27615 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%0DMs6R|k6V`URqI1^Trv;0_?hfm zEB7mLc4-|D=o);`(Ryfst;CmmV1 topPlayers = null; + try { + db = new Database(); + topPlayers = db.getTopPlayers(); + } catch (SQLException e) { + e.printStackTrace(); + } finally { + if (db != null) { + db.close(); + } + } + + if (topPlayers != null && topPlayers.size() >= 3) { + // Ajout des trois premiers joueurs avec médailles + gbc.gridx = 0; + gbc.weightx = 0.4; + topThreePanel.add(createTopPlayerPanel(topPlayers.get(1).getUsername(), topPlayers.get(1).getScore(), + "./ressources/images/MainMenu/Leaderboard/2.png", false), gbc); + + gbc.gridx = 1; + gbc.weightx = 0.5; + topThreePanel.add(createTopPlayerPanel(topPlayers.get(0).getUsername(), topPlayers.get(0).getScore(), + "./ressources/images/MainMenu/Leaderboard/1.png", true), gbc); + + gbc.gridx = 2; + gbc.weightx = 0.4; + topThreePanel.add(createTopPlayerPanel(topPlayers.get(2).getUsername(), topPlayers.get(2).getScore(), + "./ressources/images/MainMenu/Leaderboard/3.png", false), gbc); + } + + // Panel pour les autres joueurs + JPanel playersPanel = new JPanel(); + playersPanel.setLayout(new BoxLayout(playersPanel, BoxLayout.Y_AXIS)); + playersPanel.setBackground(new Color(255, 255, 255)); // Blanc cassé + + // Ajout des joueurs restants (de 4 à 10) + if (topPlayers != null) { + for (int i = 3; i < topPlayers.size(); i++) { + PlayerScore player = topPlayers.get(i); + playersPanel.add(createPlayerPanel(player.getUsername(), player.getScore(), i + 1)); + } + } + + // Ajoute tout au panneau principal + mainPanel.add(titleLabel); + mainPanel.add(Box.createRigidArea(new Dimension(0, 20))); + mainPanel.add(topThreePanel); + mainPanel.add(Box.createRigidArea(new Dimension(0, 20))); + mainPanel.add(playersPanel); + + add(mainPanel, BorderLayout.CENTER); + + revalidate(); + repaint(); + } + + private JPanel createPlayerPanel(String playerName, int score, int rank) { + JPanel panel = new JPanel(); + panel.setLayout(new BorderLayout()); + panel.setBackground(new Color(250, 250, 250)); // Blanc cassé + panel.setBorder(BorderFactory.createMatteBorder(1, 0, 1, 0, new Color(200, 200, 200))); // Bordure gris clair + + JLabel rankLabel = new JLabel(rank + ". "); + rankLabel.setFont(new Font("Roboto", Font.BOLD, 18)); + rankLabel.setForeground(new Color(34, 139, 34)); // Vert forêt pour le rang + rankLabel.setPreferredSize(new Dimension(40, 40)); + + JLabel nameLabel = new JLabel(playerName); + nameLabel.setFont(new Font("Roboto", Font.PLAIN, 18)); + nameLabel.setForeground(new Color(58, 58, 58)); // Gris clair + + JLabel scoreLabel = new JLabel(Integer.toString(score)); + scoreLabel.setFont(new Font("Roboto", Font.BOLD, 18)); + scoreLabel.setForeground(new Color(255, 165, 0)); // Orange moderne + + panel.add(rankLabel, BorderLayout.WEST); + panel.add(nameLabel, BorderLayout.CENTER); + panel.add(scoreLabel, BorderLayout.EAST); + + return panel; + } + + private ImageIcon resizeIcon(String path, int width, int height) { + ImageIcon icon = new ImageIcon(path); + Image img = icon.getImage().getScaledInstance(width, height, Image.SCALE_SMOOTH); + return new ImageIcon(img); + } + + private JPanel createTopPlayerPanel(String playerName, int score, String medalPath, boolean isFirst) { + JPanel panel = new JPanel(); + panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); + panel.setBackground(isFirst ? new Color(255, 223, 0) : new Color(144, 238, 144)); // Doré pour le premier + panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20)); + + // Ajout de l'icône de médaille redimensionnée + JLabel medalLabel = new JLabel(resizeIcon(medalPath, isFirst ? 80 : 60, isFirst ? 80 : 60)); + medalLabel.setAlignmentX(CENTER_ALIGNMENT); + + JLabel nameLabel = new JLabel(playerName); + nameLabel.setFont(new Font("Roboto", isFirst ? Font.BOLD : Font.PLAIN, 20)); + nameLabel.setForeground(new Color(34, 139, 34)); // Vert forêt pour le nom + nameLabel.setAlignmentX(CENTER_ALIGNMENT); + + JLabel scoreLabel = new JLabel(Integer.toString(score)); + scoreLabel.setFont(new Font("Roboto", Font.BOLD, isFirst ? 32 : 28)); + scoreLabel.setForeground(new Color(58, 58, 58)); + scoreLabel.setAlignmentX(CENTER_ALIGNMENT); + + panel.add(medalLabel); + panel.add(Box.createRigidArea(new Dimension(0, 5))); + panel.add(nameLabel); + panel.add(Box.createRigidArea(new Dimension(0, 5))); + panel.add(scoreLabel); + + return panel; + } +} diff --git a/TestV2/src/fr/monkhanny/dorfromantik/gui/MainMenu.java b/TestV2/src/fr/monkhanny/dorfromantik/gui/MainMenu.java index ec2624b..a041e4e 100644 --- a/TestV2/src/fr/monkhanny/dorfromantik/gui/MainMenu.java +++ b/TestV2/src/fr/monkhanny/dorfromantik/gui/MainMenu.java @@ -8,13 +8,17 @@ import fr.monkhanny.dorfromantik.Options; import javax.swing.*; import java.awt.*; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + public class MainMenu extends JFrame { private Title titleLabel; private ButtonPanel buttonPanel; + private JPanel leaderboardContainer; // Conteneur pour le leaderboard + private Leaderboard currentLeaderboard; // Référence au leaderboard actuel + private JButton toggleLeaderboardButton; // Bouton pour basculer entre les leaderboards public MainMenu() { // Charger les polices pour le titre et les boutons @@ -39,10 +43,39 @@ public class MainMenu extends JFrame { this.titleLabel = new Title("Dorfromantik", Options.BASE_TITLE_FONT_SIZE); background.add(titleLabel, BorderLayout.NORTH); - // Panneau des boutons avec style personnalisé + // Panneau des boutons avec style personnalisé (à gauche) this.buttonPanel = new ButtonPanel(Options.BASE_BUTTON_FONT_SIZE); background.add(buttonPanel, BorderLayout.WEST); + // Panel contenant le leaderboard avec espace à droite (pour pas qu'il soit collé au bord) + JPanel leaderboardWrapper = new JPanel(); + leaderboardWrapper.setLayout(new BorderLayout()); + leaderboardWrapper.setOpaque(false); // Fond transparent pour laisser voir le background + leaderboardWrapper.setBorder(BorderFactory.createEmptyBorder(20, 10, 20, 20)); // Ajout de marges internes + + // Conteneur du leaderboard + leaderboardContainer = new JPanel(); + leaderboardContainer.setLayout(new BorderLayout()); + leaderboardContainer.setOpaque(false); // Fond transparent pour laisser voir le background + leaderboardWrapper.add(leaderboardContainer, BorderLayout.CENTER); + background.add(leaderboardWrapper, BorderLayout.EAST); + + // Initialisation du premier leaderboard (LeaderboardWorldwide) + currentLeaderboard = new LeaderboardWorldWide(); + leaderboardContainer.add(currentLeaderboard, BorderLayout.CENTER); + + // Bouton pour basculer entre les leaderboards + toggleLeaderboardButton = new JButton("Changement de classement"); + toggleLeaderboardButton.setFont(new Font("Arial", Font.BOLD, 16)); + toggleLeaderboardButton.setBackground(new Color(64, 0, 128)); + toggleLeaderboardButton.setForeground(Color.WHITE); + toggleLeaderboardButton.setFocusPainted(false); + toggleLeaderboardButton.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); + leaderboardContainer.add(toggleLeaderboardButton, BorderLayout.SOUTH); + + // Ajouter l'action du bouton + toggleLeaderboardButton.addActionListener(new LeaderboardToggleActionListener(leaderboardContainer, currentLeaderboard)); + setVisible(true); } diff --git a/TestV2/src/fr/monkhanny/dorfromantik/listeners/LeaderboardToggleActionListener.java b/TestV2/src/fr/monkhanny/dorfromantik/listeners/LeaderboardToggleActionListener.java new file mode 100644 index 0000000..fef5fd6 --- /dev/null +++ b/TestV2/src/fr/monkhanny/dorfromantik/listeners/LeaderboardToggleActionListener.java @@ -0,0 +1,35 @@ +package fr.monkhanny.dorfromantik.gui; + +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.BorderLayout; + +public class LeaderboardToggleActionListener implements ActionListener { + + private boolean showingWorldwide = true; + private JPanel leaderboardContainer; + private Leaderboard currentLeaderboard; + + // Constructeur qui reçoit le conteneur du leaderboard + public LeaderboardToggleActionListener(JPanel leaderboardContainer, Leaderboard currentLeaderboard) { + this.leaderboardContainer = leaderboardContainer; + this.currentLeaderboard = currentLeaderboard; + } + + @Override + public void actionPerformed(ActionEvent e) { + // Basculer entre les deux leaderboards + leaderboardContainer.remove(currentLeaderboard); + if (showingWorldwide) { + currentLeaderboard = new LeaderboardByTier(); // Leaderboard par tranche + } else { + currentLeaderboard = new LeaderboardWorldWide(); // Leaderboard avec les meilleurs joueurs du monde + } + showingWorldwide = !showingWorldwide; + + leaderboardContainer.add(currentLeaderboard, BorderLayout.CENTER); + leaderboardContainer.revalidate(); + leaderboardContainer.repaint(); + } +} diff --git a/TestV2/src/fr/monkhanny/dorfromantik/utils/Database.java b/TestV2/src/fr/monkhanny/dorfromantik/utils/Database.java index ad6e91c..f5479f3 100644 --- a/TestV2/src/fr/monkhanny/dorfromantik/utils/Database.java +++ b/TestV2/src/fr/monkhanny/dorfromantik/utils/Database.java @@ -1,11 +1,14 @@ package fr.monkhanny.dorfromantik.utils; + import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet; import java.sql.PreparedStatement; +import java.util.ArrayList; +import java.util.List; public class Database { // Chargement des variables d'environnement @@ -102,6 +105,29 @@ public class Database { } +/** + * Récupère les meilleurs scores des joueurs (limite de 10 scores) + * @return une liste de résultats sous forme de tableau d'objets contenant le nom du joueur et son score + */ + public List getTopPlayers() throws SQLException { + List topPlayers = new ArrayList<>(); + + String query = "SELECT username, score FROM Scores ORDER BY score DESC LIMIT 10"; + try (Statement stmt = this.database.createStatement(); + ResultSet rs = stmt.executeQuery(query)) { + + while (rs.next()) { + String username = rs.getString("username"); + if (username == null || username.trim().isEmpty()) { + username = "Joueur Anonyme"; // Remplacer par "Joueur Anonyme" si le pseudo est vide ou nul + } + int score = rs.getInt("score"); + topPlayers.add(new PlayerScore(username, score)); + } + } + + return topPlayers; + } public void close() { try { diff --git a/TestV2/src/fr/monkhanny/dorfromantik/utils/PlayerScore.java b/TestV2/src/fr/monkhanny/dorfromantik/utils/PlayerScore.java new file mode 100644 index 0000000..2f156c6 --- /dev/null +++ b/TestV2/src/fr/monkhanny/dorfromantik/utils/PlayerScore.java @@ -0,0 +1,22 @@ +package fr.monkhanny.dorfromantik.utils; + +/** + * Représente un score d'un joueur avec son nom et son score. + */ +public class PlayerScore { + private String username; + private int score; + + public PlayerScore(String username, int score) { + this.username = username; + this.score = score; + } + + public String getUsername() { + return username; + } + + public int getScore() { + return score; + } +}