From 4f9c550e44377e728393dd6c887584293647c43a Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Tue, 13 Oct 2026 06:17:04 -0400 Subject: [PATCH] [ADD] proposals: keep the N best, erase the rest, after confirmation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hundreds of proposals slow every table, chart and save. A new command keeps the first N of the single ranking, the retained placement's origin besides, and erases the rest in one undoable journal entry. N sits in a field beside the button, 10 by default, and is never written to the file. A window states how many go and recounts on each write that lands while it is open; the announcement gives the count the command returns. Checked: node 5150, browser 1154, long 129; one capture changes, stable on two passes. --- FR --- [ADD] propositions : garder les N meilleures, effacer le reste, confirmé Des centaines de propositions ralentissent chaque tableau, graphique et enregistrement. Une commande garde les N premières du classement unique, l'origine du retenu en plus, et efface le reste en une entrée défaisable. N se saisit à côté du bouton, 10 par défaut, et ne s'écrit jamais au fichier. Une fenêtre dit combien partent et se recompte à chaque écriture pendant qu'elle attend ; l'annonce donne le compte que rend la commande. Vérifié : node 5150, navigateur 1154, longues 129 ; une capture change, stable sur deux passes. Assisted-by: Claude Opus 5.5 --- CHANGELOG.md | 6 + GUIDE-USAGE.md | 1 + doc/captures/11-propositions.png | Bin 86792 -> 88822 bytes doc/captures/manifeste.json | 2 +- scripts/documentation.js | 1 + spec.md | 56 ++++- src/application/commandes.js | 43 +++- src/application/commandes.test.js | 99 +++++++- src/application/evaluation.js | 30 +++ src/application/evaluation.test.js | 56 +++++ src/application/libelles.test.js | 3 +- src/application/libelles/generation.js | 9 + src/application/registre.test.js | 23 ++ src/application/seance.test.js | 31 +++ src/interface/libelles/communs.js | 1 + src/interface/libelles/propositions.js | 37 +++ src/interface/primitives/Confirmation.svelte | 20 +- .../Propositions.navigateur.test.js | 216 ++++++++++++++++++ .../propositions/SectionPropositions.svelte | 184 ++++++++++++++- src/interface/propositions/modele.js | 85 ++++++- src/interface/propositions/modele.test.js | 110 ++++++++- test/navigateur/designations.js | 1 + 22 files changed, 980 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0529231..f7377a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -172,6 +172,12 @@ « Cible de la somme de redondance », qui ne servait qu'à cette colonne, quitte la section des propositions : un fichier qui le porte s'ouvre sans message, et le perd au premier enregistrement. +- La section « Propositions » offre « Garder les 10 meilleures » : les dix + premières du classement restent, et celle d'où vient le placement retenu + aussi, les autres s'effacent. Le nombre se règle dans le champ voisin. Une + fenêtre dit d'abord combien de propositions partent, et « Défaire » les rend. + Une longue liste allégée garde le logiciel rapide ; le nombre choisi ne + s'enregistre pas dans l'événement. **Version de format des fichiers** : 2. Les étiquettes, les objectifs, leurs règles, les cases nouvelles, le mode des objectifs et l'ordre des priorités diff --git a/GUIDE-USAGE.md b/GUIDE-USAGE.md index 266180a..b76dcef 100644 --- a/GUIDE-USAGE.md +++ b/GUIDE-USAGE.md @@ -868,6 +868,7 @@ l’historique ; les noms des exemples sont inventés. | `enregistrerGeneration` | Généré 5 propositions (n° 3 à 7) | | `retenirProposition` | Retenu la proposition n° 3 | | `effacerPropositions` | Effacé 4 propositions, gardé la retenue (n° 2) | +| `garderMeilleures` | Gardé les 10 meilleures propositions, effacé 37 propositions, gardé aussi la retenue (n° 42) | | `creerTable` | Ajouté la table 3 | | `supprimerTable` | Supprimé la table 2 ; retirés : 2 réservations et 1 titre | | `deplacerTable` | Déplacé la table 3 | diff --git a/doc/captures/11-propositions.png b/doc/captures/11-propositions.png index 04780d6c6cfd68bcca3e0ed2b89cbbd16aae478a..ce94fa24461dfc0c01027982adb96f7570c2a7ae 100644 GIT binary patch literal 88822 zcmbrlV|1k57A+iij84+&BpusMI<{@QJ4VO0ZQHi3j;*TLwvDge_ndRT`~TLD8ntVT zs$EZ3_F8)YOCu)?_3kUy{T)p+#9}LQs8j77Bl+qsO;V zQZMlHGkkG~lZagv(i5Cr7$aic5|=WforJU8z^8L;{uLk#_V46Mo9E})=4Jp053gc` zcb`^2a0|%?OGvM4+$>J9oi68W1b`+F&EG7_ssHvQ#HH;Md~ZIyTBcy&4Z{hnql@1? zZiEnc*B6%Ne{zXhFE}=pmdm$=P*9om?P=3AhY|`62v1MWuMdx}r*7O%!oV!EFhhsE zPKZmUr6YkvTH;(zyW*fBNkYY&NXWD>^^b6>LMz|--UKc7zL_BqikrcOl(!3GOmtJb)OoI}-qoiiCh*YpmOiWIWkN>91k9i=e_m5@se=L)dk>RqQ z?%iLY`JviIX|)TJQ_;}uzR;va0H!Z?Pj*C9$n-Y4bzkI(ExzHb<`)1vhDGQEvM@SB zTj31$Zj{T@-5F!k(*Kyee}^DakrS4l28^=J0BPvR`~*skSex#v@Nfm3rQ~Hv1B2Y+ z`Rd49jDh6mX0ma6#I3iD9DL5Ed$G;Nt844cl!S>!9oyi+(ptB78V+j1hjov z{DNsKJ=%RIDW@J2QH@VavexWjQEWI$v5okyx7xpe(+oX`UsY4V>$Ri6aH-#N!B0`n zd15sh5vmUl%jVMz9vB;C5=oNkvm>J&=p84u-aKvQf4mA)$myJ5S|@ zds(**u^@=z;GeEFH%D}ImA6i?N#sw2v)^P01yv~f+KU@NOOiRctovqg${7d5l z^*~cW6aBroX4Q!Ve;t>RR94#GFcjKW%B4jUOBjjM_*qpd2 zfGa=n0|_`PDk}5iz0}yfBLgaPDmY21lPlOom`G`#x{sK@1E0fK+9kn(zGDpH!#q@o z+vu6Yf?NGfuUr5+x$GWESRql-(bN4T(-!KoMS<2Pu~MA4q@-bv7R3r<+b-|t3BV+7 z7?o!eSX$uD;7w`-wenz#sG#BYQyR^-u!_TiWM4$AEZ8~B^aYO*nx}#94`TyG(*^q& zL5Ig?JjR0a-n4*&3*4rDNUqs>=U#d;wvqZ zz|t(PTEl@G&A^|sI4q1OKm;KXHHK_JgY+sv55!*#{6*_o@zwI@CT{uC03^Jg-ZJx= z!y5jti{Od9D3@BIx#i;NsNr!=x&S}-D)*KnHX?4`(c6pByF#sB8#oD>j;lil+eW3gC?H^}pgftLLqavciLN2flzEes| zN=b-_z`e;q`z0%-eVotH2py#k_!XNMxHE1~h~jDvM;PzU<>eP^DygWXJ!-A4E@OQA z78D$Wjyb@dL$~UJ9{M#a5lgwen0&ax@|dc^;+N@-4<^mt=+4g0-JXTdrw^OdpYAVy z`X7DJ&_Rr-nCS8|$|@>6_BTccz->qm8GM$bm#h+|x}BAJh$=QAw&^LPh)P-+N(iVB zu_^8Dq|-nJX7d$u%GD>P`DC=jl@=Rjul^an0n@Lly)z%{xu_e)BaMxYT3GD}INdkz z6?=4abY1SJ*Y_RrUhn?l(o&f}tX3M$prY99>+4w$6^8qY8!IO?9Id;n>E&p!utV1W?x`F-`ua_sYiIs+ z$wK}1BLZvc$LrRyHbCkiUzHm+Zl@jN1In`?AT&h}I+Wx?-?Jem_g%no+0#ERah4@ z+OI0T4F~(k&HK6Adv&`turRj0QSwVrZ)fPC+usN+?N4IupE@qOPB%Kl$;30=M z?TU3dpE0~`yNX}XQ18&Cr{~8~Y`lxlX!7ho+CUMr zpk}8JL(Qs}qOwOYoT%l43mettYFwC~m6DJmvcM+F0MpZ1!8;glg(92#T=iY&{`|Sk$8J&W(Y;qiHVJewtQ8q&Y?|V3xJ`W zMP3w3>4u}Fr>s|A!hS1BXGhTrld^lTCYAo@AComo2bf`$ew7NnwPE^>AlZ7`4SaV}< z9{}^ z(=iKkbGdBBp_LVCPO?SdBbGyFdilwgpBFA`X-;D5+tFx)OE$r=%peU;rlkAJU!v-Y ziO{R6jx6rR`PoG{WMs}ipdGX;z&p22NKnS-_qcu=wA8cPZ7((!Lo$_S0tVBsuXAUl z5aloEw+(p<8%Om8nSbIB$R>fb=P6P z7V~XmkY}C=FmOQGhrrTREJnecO3}Mb+1p#t#)j|yZTZ0AWlJoj9eGAiK}mnlczuT1<=r@!o5oFq;G{$~;keTDJwCdi z;lep|C=PWReGDj1dD`TTo}b=aHhs%(0n915Pxss11&1x?yrY(awcQMx-u`jttE{TA z39noG4eqyoy<306TjLT06eqj9BI4)fQ1rW}bsFtn+o9>wS$*r5Z-E3@HOooy=~FJq znF#9*ZgAQ+5B9d=S;)k7UO8VDKJy?y&*JE&qS^OG3Nh%<%WLmQ@YTC~-jHJ=nP%pL zElxU*3zCvBwo72DUd6?R&o|ojVV(i{ ziNP-!YEb;(tL@0HX5XW*M3{$MRcEc#4`H#<0j5mNl>sBt>+5&!=R5X){q}x={$Rv|P&N zb9l>4Q#K49SFh^vzMTr)4$wVWEMmc|G5bSK6+~`REgtPrx!Ec!FYj_%?4+l+c|fOw z{~d$b^N8@I)vlV#G`y&|sLS=;dFV{kbV~0GSVEyvH5gYe11hW(7D>%=rxH@Pk}|gn zQ(SmK4!=9z=&Q~P4!Z}cs z@uDZA$rb$#=PSNw*H6GRtF;Qs$!DKoTy&I&fZ~mdz>)7pR#9PLXgCP@gz`Bk7wF<* z>9$|j8fJi_n^cWWjQLH$EoEKux!*qws9RSYT>0V0K{pIN9M2j8`{rf2koHoL@ z7p&5Cw?uwGB60Q%Fe^TJ)~R<-Q8^|3`w2@#5Jtj8IuAs&tt>Z^ZnvRrN%LfPXDdXO zx|G^C7M2!QvLWFC%`3P2>sIp=h`#}!e#kBMu5vaTMYt%e z3#xf@-*M0&CuwRm+orz3Pw)oI1XNSC1UqH@u!05eJ0|C1H{8q3R$w-LHDB%wGY+|5 zu77oXPxi`Fw|eTuUj@F?fz7Y6=9&VX1&PqC-6Qdty}Qfm{D%8_9#4d1q2xRpux#BgsSba1C_MSiAR29@nph{{=s`B%pAhUD22R0#BlUWEd96!GA2Gj83 z(Up#)?YF3~o$?^g(Q`2PDCoOC3;t=wJ9fBZ1UBHSB`de!SP{)lo^z80fmQwJuD#QalUauScgp^EF$AGL?F0IHS;m0z6|IP+wJXrLv z-?9@EC!7Qc_`Uq##>cqf%!dNiB?OH}+F^}J3WSH{i;Ie0-yeD&x2Buu$cKj5+12n( zr-b*qyu9Duj)6;6M4M%&)5G$5*Klw(8=V0ri8Mf4L6XMcU@p-$ zNLX_xC%>1^?_VZ3N2lRDs+xji4XvF784M@?oXTl%Q+MP1-?ezQA;~z0 zZ;DT9_`I*fB6-uBTqs#+UI(xU^7}OoA+7tau(X6m(PtG(!K9)(mJdVRGyam1q7ijs60?|I&QDX619`7Hqp^j zV4Y9^j5Dqrjsh(WDK;Pv(GpSZPZV)aZ+hluXI|#J$+}+L=u-OKodB{C0VN(Dl=pqt z;au5&Gy>#Yj{x4g$Ix^bQMg>fnPn7Vk>RV&kEAlL$1eew{O=$np4)+2Ua25-`?hzk zwc$hZS14!+3KI(p1a&5UDz2<*-5??ADsOIXw7S_`4pfLYSEqe3=JWiRqG7!2;%~D% z8(QYAN{72WNw#BAlaQ43_V&hZZ_U+B<@A0F{ScSe@3MQuCPipWJ>&EIw&I?O7vji1 z=|g19arP4jHwCr?f9V_j)WbxPK#P7&-aOG{SEtwUFMBi`wn8k&!7nf&IqiSOM+C66 zpj?9jyJbqV1>T6VEnDz+FnzlJIVn4fzq&MI+=zh{_d|$Tk&?Nxlg095VqUee##Q)# z(zno4o2*G=<6|NOks6bD>7MfgiMdv^1y6c=(*{0W{M2|UI!tT$dAyF7>#Q40TjZWz zpmjSxw$Apsp^!j<^ewQbwk(&U)y){|h8SWlgkduxJl9P9?Riz+%yI^xL~-QzJdyen zQR_I@Dd0yzVPP*0SUPE*B@WJ6N>p$3ytI?2pcP|I73_ z`GN3CHU^C2iS~3%oyNw<$ozO}AiQsKv6#0vpGt_v@ZQ1x@87=@^o@7E)BVFGDOC9R zMMmEWnr0{Zc_&mJ8XXQLY>(JLpO7811kpLqsWn9r%gJp1V zEM`j5A2*SP;NZf1OiHWZ#NSB1eDD>XXSASvmbr=qT!u5MrzIvO2qR-)V*dW%;7Emh zONvX*3&kBwXTCq1ZOW78B@q@D6=hz%;;m>D_kOucWu_i5r%#2*0 zACxyQ@aQ*PVS{c=Z0MB_YxZ%cd$)StgB0-m%Uhd^+sn(D2T6&xeSl2V}?gG>6BsY`Cp6L=K`*{J)ZBuvd5Wk_g~pT7nAvOSZ*vt)(g;a)wgah6Lgjem#Bj9PFdwM+PNY3B+!jqoO12p^Ha;2$Y1KiA zp`A9c%<0oCXqX44OYC%3#gMZ?MM1;z`(h>KlF#LQ$pSbeYGs&eoiLLr_9s)35|FYL zGUd)xR#yHedQXdfFCD`Xkm!x0_N&S*Pr?+iSh$-&Db*MW1*Ga*~xRq8;^++ zo1L9knwwi#n3^zPrpCg|NJ&R0EA>3zqOUbngv-yvWB-{~fRm2XP$GY^+;y6Cx?l6{ zP#2zxiZ1Du0r%(=C_9Fo!2k1rL-NE&}$@#72zGGAU_naf$;&I+6stORz@E-aQ4b zvcq4~mO?j8{t7r33oa0xFgVtEuR)duFP2dXlO#8$;I&+C9|uXRF|YSWKb>7Sp;?C8 zQBwat@Hp4+HM>39@qhLVnpZ!@V%0ZZGp)W-l9%YQ4hE{*@ba~KLEot&Uz}#gCwss4 zNq1id9;i>jD$Dmj92FVaKr0e`8w1Qr_~d*0!wF*CCh zVYr#yTIF+aRo=LSp#+wJPI-3a$J5(Ag{RHBkN5E&@=t_L+L|UQyGAvPH{hy>>HMET ztxWn~WdSqOdzc)C3t$>+d08OdGukg6tPue!=ucaDR?{;Be~+*F+h{+EXt-S#%Dsxw zWU|l(EFm3<>Fyj3Ur^g}9Qfu*%Ly4x&0lOpF@W_fFZIY5|F~^KAtBVqoKC-!@d)MynT*==K3d9k;KDSxg9IGQE5uF?x$5Y}5j_PP@CK;CiN;kCYR|~czBqkq~tlEiAB-7_H?G1jgya=nwpc!ZK8BL zKHjICo|>B4vt$PosrsL%^*A>gmjZy1kdzeQMaRYdt-PR0i(Oq&?ErCr)Umu?NkwgZ zaw-=+{-5+ZPZ1Agy3%9)oPayL#p1MP@U!{p1KD5c{?wzya3Uo|y>h%}u_Rf+8|XXi zhs1E{-e|J{t2GURqFaQXk8^#vrjM)^TYoKuD6hP3Ubf9l@9!5?HP#}yOQ!Ib`)L^8 zo5Wz@;M3pa^gGw{9$WqW`vtw$;Kb}oMGkt(bwz$5Lit{Vf05s0=GX6juAd@eC5Ey1 zJ+&{&{q>G%E-lkxRt5uo!|jQgm!$$kO{{aZbl+}4YxWnS%d-o~5XW=Yk~3^NqQd`cz3xewGFb=;ddxuBJ6_Q%IR_b3>wb}OrWD^5Nbvaq1u3-V7msMKq4a79FD1Xv^9mDjp!G*WvN- z%t*FTIP)!zRX%j%1H}Eyo1LxIj*RsO5)1q>+w0udZu=0ZPRN3-QJ>jrs!AEA`3(OV7^nIFjs2?(lKx_FZhRp|nC zd&?Cl6VC!o+hddByW$TBu*k1B_oniX%@aXF^I*WyyoBJ>{4`ft*zusj_4Y?Avril3 z=H!NNwmZ1lTY{mIBFtX^drq}YW*ddzqFkY4W1`BNUU$KA-jr)XZn#6ge*d;KE7j#} zN?=Q^Vk~qu|5w5XR6Z-ju(8hQw*3izl=rEgZYpz?%Qau> zy-@hjZ#h?B9iQLVX0wJp?Y5W~wf=eVKP~|LM)9pO7cL-@pEX4oFZ{n`S7-5#(=Sv^ z5XT-_dCL4{F2Q(Xop+-i_;))Z=EK#4f{seepHdmfR<@cS5}yvp$Pi~%-q9F9_m_~8 zv^?fBI2y*tl6ESu9>_(r*CN^QyVkki zf(z#K^|mF(=Dfbi$fUvmq~Rz#a_-oLzR@J|D`B7o{oj6HnbH<{`(AUvM?z5eEXpTqkG@c_vE zh#wDWcYRI4JB7w`l^(9n`cpj+NZlazbaLNQo9&Z1CTSG~a0!W{<#*$qMCgB#f|alSSsA?heKtIki?5s%k!qs2oo>}n>u+|5P^ z2YUuA)^DhkD8ex~7{LTOygW89;Ud?at$f@REe@*(4dVn`D2g{9&$#YWBjv~8NUwyd zd5Y%1;=yY;Np)NPjr!L>)Ci3xH=h#c$*xVE>CsV-&t=@P#ZDnL9*P<8#RP4X>;}MR zABZj&N4{XQ5@<>I%%V@T+4Qk7HI^L8@hl^%;Z!d9Uh@p{+th_7+E=aQN!UIooVw5| z_08UVxx=`Kq{R=t>YS{&o2Q9`)>?g?0TLDI)~1t}=SfHiBBt2bSV!yGk1Su~M8vo|)a%M|!}@UrK;c0QSZiwmPD*v9ARI@x}w= zQqrzL;-$&3clY%U&InJ>X#x@pXPLOrFYs>)k-hr*=b5^Y-rhv9zJW4V7T&0+HdSas zuz4qPM=4&R=6w0Ypbn{>qG0T!WpkXuHUkwsfZeF`7d`!2j^^hfCVt)uA#c*PebWtm zFV>lhXg&m9g91}T1oF6qG%-}5n-XjjOCL==09KVGDCn7)**4k>W+v>PLbjrRbOongpg5T^FFc89%V&UA>o(DK!Taz1BESx`5AK59SRmYO)0J7&Y@KBq#@c_-c-C> zQgzVU2U|dEx3g2s18s{TI#|Am$-cz36>w<;bwt#!ZyVGJ7f}`JChiJmDq8zyH=Bo) z;ZjZ}3--@uht@!Vg;V1|?Lr{ZauNQc`pUBqP#zYL9wr>Q#PvhvV0XeHr}+EFtB5`! zx!UmZBCDA;LqLU$go45Q>W)q^pto5rSx1t}A{CWb zRV5XL;6HM*yc0qOj*Qq?M&_2hYW3WeFcVQ41_~NxawcMWSy@RnQB6g?3w=I3MiQ3s zL(|^=q*Vgmn(#|1jC5-}_3nG0e9xHV#8}44S&znfry*mq_JYU^*|!>%DYl z)6I>uO*8E&+IK}pOifNwQ&moIbYhGNw37F5K#mT^0ZNm?gedX#X0rl&gFWoWxonS` z{_TTVUIQ7f6~uqkXrY2aLjAper8HHAB}G-$)UpMdR1F2a<($RTOww~vv`9Y2MI$MC z4CucG-B`zg)M!Je&psFyOZd8RR-^F$wY-~Z~#K%z2*s{iK!;d-kR z$N#O;6H#&Ixt1>~D%S6@CxCfDJSqplp#SU-$f**DAMa6M!^k=OZg>9m;a>rtp!oie z#_u|g{G%*odPBd%(PjNWG^?YT?0*tJB2xDJPBcPtHXIYPLUWN&O>ggyRKteF1r?N> zHL3se=b#$q6``iP@Lx?fQA50&t6xe(QS|o>46Vq{!re<=KBqYYRw$_IRvfdy^ z^LsyeYFThyU*4TC-<)C*K!nZjxSf&=6ogU75NF3qbGKl#S{zOE_Y>!*qt724o%5B8 zT}W+qdiN^Y+`f1PD*Q|!BjIfj9tVH4;m_j?IjMjB&s^%h%AyMhRDOf+r&4otYdl8CjFXz#At5dAvTsng{aam*e9!ks{yxw;R!nFAwQ6 z&6=B|##kGz?m4AXZ{9Coz67BQJ#RfXNxoM$f>)hb?bvnjyc$KI%9LSp;uP94P@6J|8PviIS+3oSjz&hDKdF*aTLX$y1HVY$0 z-P!OP>8SlV*h}*2kdw*cG?|&vv%1x6v~qXX8rsmM*y#G8q@h`@7LG7?7#bTLQ~C>d zt+;H2lMaqNVlh8~MUuUjC+IdmHT$}_oD|`b(PZDy%tQfo_(@Z0`RIHDfAhCTEv^Zb zpjqSi#DajgDeDJ5W9ye11575{YmAXYxNFH8Jy-g)p6%sV%Z2AQn9}r&Y*|QPdx#w4 zg;sjUNI0ibXllcSodY?D1*0F zRz{)%=AdzNJ7`%+`vFro35V*kvQGAISs5|5dLCxRmd7fmzBUleLgP=aiN;^yD;fhwo4A9twsb>+gK81<+;O2o%LdKg70pZQ_4pT zWWz013oO0-sXsoBZ#$$j`t}$bm8~`%XS&vBB#pmydOl>+NnP88HI&eY0HT-%O!`)s z4u?1~t+JGd>7xiZv345%OlkG#`+2zh@c482Tn~+#clxy5b+|CTllc}Bv)OCd)g}iq z>x(UvXuzh44mA`KBv!4}-lQ2|BPmIxQ?lPAwzvMx5#T?il-g=TQoZW$Fq>(ddc7A3 zN`Vh6N!;8`I6pmmSx5Hvy1+8~B%Yt2-`yiU-mWl-2$%5gkQ_Z8E;4iUQPDAnoid_v zxNfJSh9@M4kaN85=XCvt0VPX`dqu}qWs{jz0uH->o$QamOwR(k$OY`JwK`H*?p@DC zAb!JH=&&HJzCF{+^`jd6FEUJyW>p!VE zv7bBpJIPYM4HpkuW49+Akb&jeKGyB^ZVcc$IyP?fyc-#mx;%`5v$0{8GE-5G9UknV z?Q?WzcewXXW!ruFcng9%+?271dHB3PzgJw=FE-H8${Nbp+fxtjfZ9pWo6`hcct5PC zbT;G@)dOwxJQ%$mG$bW2=tvZt9t)n*H zxokJ;Xc-9|Po6~aIvN20fDVsOS6p3Rlt;;q@oo%0m-tnK=j=CL$n$xuN3lTh8l6t) zbbK7PYWWYSD!Q3vOCt-%+ir13m9uQTVaj6vmy`31nC44OBs||fKf`hhYL-LUr;B&X zt1G^&_Qrz_+R~~z*>1~Et?wv{MAZpA?Vt92J5*M15D%ApoHqSis;7s-Tn=)lCu%W3 zoa=CyL#-=ac!wg8zehrJIG_&mIfoe`9fmAMJCRVqn6;gqFPfviR zl6?13qotzKWb~K}q#^-{!5+?e+Ac?6>fa-f_QJ(c^uA}{q$lg^543^$FSeh1v!~f! z+yga=adqH5!p;Ob@^$xa)>74FlRv2L)+otyIGx%e8}GuMZhxFC6&4o{B=01-XPTLW z<@V0JcgWdncDO$_lh7k&aXZ=!vJ>cG2h*XIVo}Ug4~x_d*A*ewoD0Qm2Ffx0D^^#D zg588dP5Rn&v}0sUx7!2>933Ay#Mq2#lg|! z8G_ecE(! zadEL!(|%_%0aHO7iDPe0z9Rar4#9nTY&k48Y-+my_V(fN_~8^T1&@lIYVlc(4rRM- zsF=g=4GNL;^78uXZ086-ls>P|G_B`A&4+iN2eP%VzM)M(@I7DcD^yJxXo}fsar^hr z9o^m0O;tg;<8!l%JDHhAU#sCDxSVZ7qYt_0NEv`^Mmso2atqRiRb78aGrj0vlIBEAhKFtxL+-qn46ndSMZy^lzMT?3nY9iyqXuUS#`1k z?}4wQ;#AHkBX%HhJw&pt$vLdSYiu&sk(;(;xfWuP7BKM@o@r0w#-h#Qvb*!-^};)J zN3OixPBL8j>gSDIh%FYHxV=WdBk_M+xD3@>`kAAjTT|X*I3rg7(eu=wzjuZqc>4MG zlOF-h-OCL+U<{Ecac#|0?-taw2e79PIX*qjs8#XZO=D9 zU&yd8=deq^`_Jp-IEo;69;l}QwJUYQY$iT4qZ0DMkL~ML0-3S1^VOb^lM0i|X_e!0 z_^m9#1NVTDlcQb@uCZ}}s<^(9ncLfac+jEc#Tj?L&2rVeVW@U}NWP1$JYbu z`h4C!_cO+zbE1~k0RerA@%EcMHc#ba(QQjMueY&5>9FNJ5e}U;h&VXHgz|R$9Lx+# zC`Atk7XLCTW>*$H7_zkg4%dONIbIadw!K6=${`(@1`>fj*45~Hr}9}&ylGZk@^Fs7 zNI?G^J4X!BCf~zjJC%YRIuy{k{+m>th<cxW$Cc{iIZ&33 z$PM0eke0t)y=T~Z3;K0t>KGa-nw!IImXVTuPjWU9)KTt#7=5I{gV}|<0X4`eE>E=|YT95WLG6+!ze4O{^=aWz3C{bW+%8r)#JM40~nMpvA z8aS&VYj?m|o?Nf|@id(}S*Vj9lM1(y)iIINWB)y526*AGK_oe9uN};^O)NbeqWSHL z<`(`hipe_>8W{#BHzh+dXBW}bgFE?@W}uTCky&H5%1Dc5y#H*XaS^B?_skvI(HL&_ z7A|RB3Y---=}-0R8X6uXzsZ8sjPajp4>Laae8C38JDcIi$VlLDn41%I0D9fMfy7>x z+7TvnIPXsv9Icn68f%422)QPrU6q0Z?m0Z};N^x)vp!>E$NRi~I+z$3Lf0!3{ol*s zK~PbS-bX1tt*x#sZMJFrG4zJQRk!EnG0R^}3}!l~Gbj}c;~QV=ZR8JgLvsron|hbS z>-eu?mavKIEX?((2?As@LsRjY+Ilu0P128)#o^(hk}?v(HBw{Y3aXUUMvlGIR8%j| zFmsyUfTLv;c|%TGdX^%1NPwo?1`L0D-0KxkJRRU*lLIsavm5K#H(T9NeqCbxvAaU+;BfuyWMS(2}(?8GMYd4Pj=!U8#F7ML@oEcikO(N*DTrs>J^oY zPL9!2IvlOVHxv}&{_8rEflOQ>~+|krlX;umfTA8 zHn&WpOkl?JqiqkL&t0&*jt+$9dbjEQOx*jJ)VNRpiOgi=;-bp)l;PQ5qGo5c*|<7T z!ukcg4z`xgV0U@n-o?Vj>+wGQ8g9-3>b}{`F=}FChx%Tk_@o3+EsW!UGRMuL1OA%F z#;O;_Gx9@A=Vmvuo!M&l^VNs4Hv7r(D@(5GYB5v+f{Oihcv^|Po}c-bhwP)HU&Dy} zPJpA3$7~Qq>LIZ?nzg>lJZ!sC_hW2r07fQA^2HGk4;_2p4UXD&)w$;G+iQA%qR4`GR z6Ev{@L7Gj3Xi0eTur_OPcGt&|rpIM8<+ixp>k0$00z%I(gQn-7&d4*(VCL;0mkE^z zLRVBuSW-%8TUtUz6*eiBRCsXCof`MA6^r;z|M+(o5o<3W9>+I~mN)zk0hi}GlrHPY|6!bz6uh2p&TOj-CMYetke;= zM2A=;?D5ZEP)%xNTZAQLZ!+BMi~J8}^ulY$a@&z~RKtIGi^vY|Tu8hi-{qRGLQqNK zfDj-c2YgxiciwFztUUinwAW7 z4K0GpEo@{ZrUpO#WW!Y104+lLI-P*2RP`0vg!CV)c@`8kxxWUNbI;zCAi`vwy+{3b zKY|90B!AVhg8wBePRBk*Ej?gnS@5fpAylle{y)Dv**_YfH217*cp4p-z;{Cx4fWH= zW=hV;s41%v%}tk96y&2L3KGayTYbQrkVq=4t)--51CbEZOTO2sqnmw-%bad|@=+(t z{hJJYeiNWZ*>8Oxn7-P=LJ?up43P5MmOo&-A~Eq7B*p1YyppZ{kh(b)6&6KBe*Vs- zcb>?zG{Fh5j+&PC;d%0jnu10b*jJyMdlcgHeYYZ0M%N?a&A&hAWBW=~PY$rW!Nbrq z!{K|aDkwKKxKXJMP{%SpI{rxWSzbtaX=a?BmGQ_OYDcf4ru3(leROQ} z9wj=shFU880WhSw?Djzvsjr%dc~&LE%fZ2ylZ0L9bpg>qvQ3{L)E~GK zYGUo#1!R?HDB(zn`cDm>5g>kqYqbxC`U)x3w+8;kUe1{oS3X*n*x;6!VKN$roK?3SQ->)G|wHskdEbzBcjiM;6p0 z<3e%)Z(`9DkFZP7Bc~$ zoDV7;0w587=n)nOIS1AJIr4>s-IE!~xmq0Rm(W$EA|785N^p3xkI)JSx|bWK&aU&2Y^MJLQ#^;Fncsxg$* z6+0@6=(J@irSkQ`}I4oRff=?(ip>FjFgl# zex8}gEBB9WVTtN<802hhEMaaoAr)0wbv~4;UFcUun)h|$vNR^RPpb%D-OJ1DTkitm z5`!vhgAz-#3S)x;>)fJ3p#>c(PEEm4J8;Q5zc4$&(Ym&vAQBy|Nh?6qlXxyY9SKQM zF``GHmFzkZ;Q$sUmhb>&=3|~JD;ck}tf-_Gyob7?D)3LSDLWr@t`a4UgxC6Nq%Gq= z*(Et0rm^4Xy~iZrT$^P>MSpRj+3O2Se5>HJkBSa6MmF6fV&v5hE%N?7{1Cr2lIoKH zhZ8oqlLB15oF3d5s4o*gpU3gl9V;&+w)FnP22ED=iLqHiv&aSwH9eW}`5=xRAjdIG zo0yPHWPxP1`;F|D`7k z1avQ|>&HRpK(UGnYT@@Bfwfp|QidMF;`-(hznB>MPuHHdS4J8-uYBi#gBUnjuEx4@ zmbaUW?R#xmo3%7l7PBKiULjG*S&5nh^^Z2C#1scgA6;b7W%HdtC(Jt(kza!%zX!ji zBvFoy(2P=A(3I1RQll=a$r#D+i2sNZ6w}*G~;P;{l<%hK3=1Hk)shway($Q1& z$*tx`M>hqv*Hy=xG*y2>hVoZJS0YrRRjSL#@l+Z=4_3gw-riGbYcG*ij7yFTW5XIUy}^|a)y?NW(VaL zQrWYhf*C+;bgjo382i%z9ju&Z)Xn^{U(bT7T+=*V2`VBwoZI_}$5XH8O+ZB$kX~FH z?b4rJvR8r*tIAcX0TVKKVo?qRP>hAaJp215-a+O6()k}3KpWR`@V+ddh12Q>Mchp% zl&JrCS!%nsmB2tSbC|_zx zBfWZkEd}LW_jGubl4t+^{(Bl1e9k}QoK!`A6)cLpeO&A;)t@wEj8rI_t|8Rg-hz4c z_5SVYU;U_QX}CGM-`@3z193}<|JI52E1_4vxyHPIdQMs`-&a1Kj@*$76@o6EsH$S9 zCSk(eeX=ej-e0x(!V)p{l7p#WgAy$N(DP3-?Hi;vqgj*99PkRjw05TvsJLKO%;G%K za36Bp#RD&mry3bgU+||eS4UWEUb*}odS4N20+O}0j33{Qz+?$w7 znmkmrgwPg9!axy(3^0Y?PpFsHCBNk;_5ivxn{MmJ8x`n^BunO+o-$YDA5C*}a{=PK za+%!{Dn1m`x&$0vplef$H{@|rU_pbOZx9e+p@C3_roU-P=tM(dZ3wHkzB}zbna4Dw zJOyJse_MXOu)#g$dV2Fow{k+vNMF6U_Y??~@Kn;GtK6KMz7miW zRM?=iGw=zI+ihyCn&{blZp>?>RFaXLfj4OE8^y{Qp>ctDw5NZd;TDf?FV1u;3OTxVyVUaCZyt5F`-X-QC^Y z-Q6JscellYb?5iXKKoYPw|icwqDY|D9AnJUd+SYZAsodT+;$rtHJ0moWFlIO5}$Uk zY3S+rE?>>u`_+Sx&Ia6vWe$5nGnkv{r6zEA5Bg|!a`zw$j%Hl`llQ4{yIZvur7~Zg+spd7`80Pvn}ze&+wzPl+-Dc zLBe4;kLaTMcP)ZULi1udw_z2<1h=Zw9xyG*({0_}zKQMmR|?IhgO#0nl{gi90d5g6 z5__82+o)l%blY4U>DK0m4;*Zqin2&QDHHc^3H|y55l>6K@yn7k)yG-vP)Ql(SdEzY zs*Xoy>T+tXg<7N=wCA^TDsS&Dh*neD1rPjiWXik4I&HLROh`grMMg)2tciGCY8$E& zQ|fB#`}2u(WduuSlZ9W7=-ACtsX!vgZ={;X_Z*oeOPLAns2PTVKcSOfgACpW~=h*y9$h&N|Y z^Tq5*Kp+dX+J7!@7Ilfyj8W5}>|yf-f!g4rY$<6CW^eE+^z%uLd_iD#);Y4b%)fJS z5q&oF9xlQKDKDs&e^+*1L*!B#4F>zQ4|8++3G6L$9(Qk@nk@Ut@^&s8Li1PGkXp(} zy@nf}tsNb2QuGzhw&7j+T(r@GgT(4!og5od1&nocyyxQBc>bK`bm?yLFtQLsI-gDP+@p&hrt2 z=y~XNd_s!MrgFkk9-ga4%2)&UXLlgnT`eoeX6@ljT4H!Yf+*yBb?B}*IwUHoNE)c| zsu7E;^=G=s%yFiO>`e`&`H0i-sd;GbUY`*%%>@*qo^F0!P8pkh{Upy_+(w4fQKnj9W{LHj%h(5KteM$ee=mB zB+1ZpGkZ{RV&}dKcROau<7q3OEJ#k_ha$iKz;$y zd!gd`oGoN0T>|G{KCAUNu&U{9JgrUiw6q6o2q|oSgC{6F40^4LOP$?`D)Sew;(BeK z;rGkFB2?c(mTlMWcjA|4W>w_QbpU?YK}6XPncN=h;6H$DLW%`@(Rw3SD*Ylnsd}1` zdd2H%U~VxT`1_-$J=NQ7XuV&WFpDP5Gix;4v(lR`^Yv)L_QOOyg@W@UdR#E%iFv!L zbh~^MFGJ7M9@E(kuV34z4fd|y&41={i$ad>a=o7V(-rUOVyGG^j*|M0tl4G-tv_49 zb2_yP1J=kGV}u7Oi`NrH|HYLUso%?uh|2tJoZ}}L>ob!3BsLfT2R$YNnkGT6wgNUg z8I8HUJFH}AG%-opLcde<^7`gJu=u^*Jc5q~2}WIBh&Uas{@#7~HdA#9H6jq5)fKd} zx3`dZ+SK|;WVSQY;xtVH7w!4YT-f{)-A$ZybaeFLXf6pHqf1Jk#vWwor9Bi+dCIlg z|0Dhec0fUoKY~>$=JDo%qIe%G4n_98fTmW;8!EhJqouvO2{H+1id3__Er2plzA#cv zU$;{IVkxWW@_xblOe8i#NkOxsM0f%r!m%?uJXl-*-rLZQmW_ZI`6cMRHXJSc^FBx0 zw0?ut{1P9rfLG*afz6@P+QSe=6Wna#u0RP{XRDPmr)Z&Z4SQ+nx0f+wcrKSE2wQB! z@rL<&74+V>i62*zZ^_5X6T}BKzPD9$%Xa+=Q4I7T)Xz@$Alm>UfP@lfl!ar%18AL` z=9c(|pY2Km`bfF)B{hdJP9WcMY?mws-U4Fb!ZZc?9}j4)k-UZSfgyE#zK`f$HZEeV z{|F5DYSwz9Ky#|9@&%dT{QNfF<>ROMu17GhB?xS0+s1CQWO%l>`bf-g{B{Q()J`$% z6t@MT;kn)1eFz{@vi(>xymtH$KRi53F3oogy}!dJ ztdFa#O^V>NlXRW)$s9uw4fsrIb4Mor^yVMxdZGr)^7uT&{p|S@I)6aO=^Y0S1#ybQ zr|*P^%Lw=F!UvVLPHYG?Kbq~o;<>jLIJ|UfxRR*C<$N7%&q0K@wW($<%`tC|zv)Y4)oLCWm=QsKTJ18CQ2hAKtG#kGnQziy zuU^jX8%6*^v*^s4CZ-kxIJzm|>JVqisaDxE9Bmz={8!l`4Ad_r0f?Y2z1+>IdG)0+ z<+T5N|Ano!Hmi$vyJhn5>iD-VjYo#)td5D%QB!%B-G@MazRew-K5LA*aE;5T3|<~b zNl0e82EYfN)@%TcFJI~y|2^MrcOM*@B3#$I<5caoBW%(aYy8B`5(E-hXv}GJLv1vWb`8g-Orq6|^aFLsxyiUM4nw z96#LCvqgAH0%5iKP8?ilTF}|`e0Q{TJhL_F%C0_B;R=~`s*-u8!V86YJ%9Cdp%mDY zBem6L4>ml)57~jeCopUg!xSg=em+2AyMnzx5tQ(ew&E6(WDk=LyPD4^%`c81Myw1o zXPC3<+szpL$*+q&oeB?E_{CRF47l@{87}cVe(VzoO-FAVzTeD2@>kGr!}^TZX#i@` zjF(7D#{*=PK9J{hbVV)Cq4~q=X}u11+new7l>*f@H_zABgD3Qa>&;wFU_o7T3EbU7 z;%`4zV2sK7&(oJ8KJ#C-M_-QA&ZkP;gzfS`H0-yCA2|hV6u0T|)yu3)=)bouovyoa zI|Vav(m7?h@B-JCC1x-e*NV-mPej`kCOXC|n*K+Ok66YASIyta24DkVbm|?vhFvS0 zY;`ItE4jQU7LHN`76Byx_U4vKKD)Rir^aS>qcHryqO4p7;&#cAL9j!`>1?y!(54wL zj^BL2<@JV`>GE+A`#JLy3gKFiqPJ21;WpQ1w_d!5ttUpn_{5Xb$FCV#BkwM&1&Sgv zUlzwhc*i?D-|RMizC4F|o6=lT!Cos?o>xu44{!tPk7G3*!3ugU^IX=@On; zz(a_lJ6C2?S9`fPip6P*d0XE(I#t-*orY#K57C}2sH~!YJ~NH01m{yC?U)o>gHmU0 zM{mGe1S&qBrIduqKE3g|ZNytOZLLGY`PtTimGm4fqH<^2NhPk)B@SSdo`jtG8FXTuq@=NGDf#)-J=(UryO_E0*#u4X&1qcGv(MgV ze>9)gYm_>5UzTa9$6j6$7v>>euZFI!Q-k;t6%~`5hwP4LJplEZ3~tK8vK-0N@7=o1 z;~6L7U=dL#H-jEmc|(KAbqC7jws+T$gQ1LHU@ywtkK`m01B`VCh}@vB6LN-bU%GGB zx~5#t>c@x);IZ8C%LO(=0U!X)E{iOLq$c?>y7^MTm8EP)`oCDf>0Fi*4TPKwft-PX ziISnq@Rj?)HR+Py_m|y6Rp!x_@x(%l;iglv-7hgw5s{w}f0FeN_HlSUA7G2v*k^FK z%Z7qIJ=?VOyCI;H*YaE$!Y(BGue3#wCuGi(tX6M)5Ey3)x40}XBP9WY5Z~M+XSrA# zF3ssDUmwsb-kw%iVw%any!@Vz*6-5ecLO@D?q`$bEizjzj_ocFw&%ului^vScA-q~ zCDvJ9+{8;TP%3Tnwu=yDtT)&k%oV&2E9mRuFBG%fPMqn4JtoDwWC27~+f^5v^SV^e zwvFv)2`6YQoV|f3K6a;L?U+oAtA`(&$B=D6UUxcU7Tl15A*5|*x78&w><0$B?1LQ+ zBuUs6e@L#Zo4d)%Mi{g>4YSV(0d^OISTYC73i!myP>aP|eCDSjQNeo|6L8&~aP6$gi6AHHCn9|I zm!#nsSb9nhtb#~q!zdD*&3T0a5ucYyw}hyuv#fJQYAb@$ zyC&{n-%wSY>p59S!-P$mLFO^BUb=$(BT=WG&~e41WV#Z$0Q&0ZWjf(53eG) z33VIPunMF3Bi7uxU_d9iuJmLSvkQ7;)Ccxn#HtJJRd)fP2Y*YKwWYncAL3OxbYf{eMT7DdW`8Lryt7)WmdkL`p z$m;w}eMIPzU3K9ED|gSXJNHD!Z;%jkpgY>VB+UFvJ>tcsMrmdap)%2Iwb(mf{!C}8 zx?Kp=HnG|(Zl?n0y}UBAaMsUlqqKxtM2wm#^usG?p@M(XhvCCERgr-o}@eImVv6UTxw5DD(h*JgPQ7ElUYG&#IAf)oW5cg1m*0!Y_5ujGC1oYTo@QpInD3?K z!eLy-Xex1F3r`nmrpE35}izTb+=F zfphz3{G?Om>F4(780`?u?dSFHknLW)HRaW+%R+SAF-Q`+#|M56zS#{yu@9>rsS%sS z)Qo|ZZ)notNa2W1M-w3xS3SeCg@gO$%{hO2*Kp|vVC$OdzMMitJu(YwwMDA!0kI$( z3yVY5?l%w6Kdul$#xN|%1l)SvuYa~$`EF-s7bdZqB#}EsLL{5ueQ-Lr>HU7>ws<=| z4Frq4`bB7KlbitdUJsRM z*cLgFfx(rlJ*O*{eYeKU9PC$l<(%|=@t@&jPfsHLBN3m6Qg;<57e7n+AgBn@pIJ^0)2!y4=LJgkcH`SP*YE5!F9CJh!7m zM@lL*xGg3+HqcVDyRP!nHc(prt&7X(;{{bhVJ8)7*by5O#%J6WM^xpGzJB&qTMXkj zY!6zO3Dq>m$4?hTeS)Bxp@`gmHj{kkpA|~Yy7G7Dqf$TYJq65mSFHmA6)%Ik?;9ea z&mPbF_I9UBlsBL*ET|~pG$k-LPu7Sjgnw8~S5goE9VRCyr=hO=GYhA=0@m=b6K*%OnIrQ1*vglZ*yLYJE9*pb=YZ&!aO zB`kfbr}Fg0gFxMWibsDnF~5`nx9bj*^M#y?N;NP_S7t?(*`y5_8ati!`kCTN-Yl*rV#ve8fdU)#P z4Hame-dCe41U$ehD=yaC^F>noQ44n3(IFTzW&5FK7Tuq6jgP7ct8#f3 zh*l2*b~gFR1ah~qaB0maG=r>(b&XadqG8&&9U)h{thziXLRvt}!$jj(mCg9|&BOb7?c ziV!v2z#9>X+Gl^4>k*D)dlXHk;749kLKf}tA@2NxBiHErz$T_Dn!^470Bk2((+W$!Z}olUcKdO6a~H- zY?nxG3i`tD^BNl;Z*FefTj6ePX<1Ncy0?!*ozOffq=}wJzPH!HDn2qYb`?qWTJmr{ zJ9<0cy#AP-_|f~MJXN!GCaULgQ;B3JR^P|BQjZnDFr-FH*U>U6jP3cXB#BA3dPm2m zf@{ZicNdr{PhMf zpff1sf{26!{cif5UnM1|Yy-?71Bl7kCdr^FCp$d6=NieJwB2y>-V`qMiw-DXqV3xK zUar@$w5PM$7FIhmYiV}-5DzrXmV4zUwOVFVNhYNVOk4B?<&#uXuvE>gc?kWb96rfG z-OXoH+egKe6c7dwE{kBhm@O%41O{kg$Y=?L3u=M3Lok&H{@Hv09*}1gM`%Oq`~oYi zrtX07(#TtwaCxPo{-p9vMdQuMTW0iA1%|v+Xy~!u+6ObDoAz6p*bqsOn)SfL`F&Du!TW+_btv7L+RtQa*6qo zf&DFLGsGc3xF#|=F_wnfSK@s1NWEm6hY7iMtB2LUUuY3JWbQEcQx`an1=UM%U53{hrE8OH)$tt|LWU4YQgu zpwL9o<>losvI2)sIaeC#tHY2Qe4yV40>*Q$_S(Q2o=8ylCM3ICbl$c)GGic=Z7rboDDRNojkANzdc+m<+`~IsUgqwc3JJ}Roi#5rbFdGqhKqk>VVG@sl3nUJIQW~ z0ll~6TWtoFt;+xQ+{zr5&IhU+T-~u7(@)bfdk3Q61&jmL0y|SSHj8sp| z%+)}Fi7ugdF@p^ayv}wjDv9LZW{WNNiQgnR)mtX=A3{(;=bvQr)<|9MWbGht!ZZ2B z6|N=Q1@=t2gf=G_0WY`YBRAcfo-SQ3uf5TiUFAu({H~tSfG=HcY}caL!?m~j z=6FL=^N+)qH}%NI*>TC{Cg~A(5qo=|P*CnCBEELTE6y*?hW-8>%n9Z~<9C<$(*xTxhJNV8Xhh^wS@2TxRHjvp zOUTp!Sq)#tsor?HTJqrZl+XO;_|$^e*2cZp-kx&@nSXpdJN66vtzis%w* zA*Qi8bUN-{M0kw1x4Xed|K|4q<%NaS&5UDVxo|ZeWw?WOG>PHhABeV~%s0fw&Az5| z4xQF3Oiz(j+S2=aLpJRd-O}Ws?oU{46MFkSIjsKPES?TmXTS4l zi(;T*@Lzh@1?ZH#K^3KRU4Ac%?c>ziUgagfagWfqn#{2>DSvL{@w%`%2`}Wt>^xs1 zv1$(uQ3(nRrG{%Ps;MauZdQJQ6bA_Ty=ZBr(a_TBba-Pb_X~V`+UhT!NS#sQdLg8y zrtWyzF0b))yQHQVEL@V_lHXprpB|r{ltp&QDL^8m9xa`@>$gV`wbSEoh3CN!=jY=F zU}$E)lZ~#zf}p*64&p685G>YH(dLPp)p9^iB$v5?NdcNu4)J0Yp*Ek_acb=7p)f8R zR^eWQY!{m>XPfZL-~d+y-Nbs61#gSJ#?A>O23o)ubPFp@ePFlkGcvnXWz3VMpqKH@ z^QncV{*gE!AI~@ujeyJ4$cEKwz~E+?G7?{}-NpW*FYzLCT|!hmo8K+<@}q3dvxcaV zbX!{)b2Z)csF6*=%C+OPFPcbE5y)hMqgnWDB7F8%C0PpfP=Y7h% zUsEaES(gp|LL}*KXQ!)`^<7oK3u$YT2TiN_NyRIJ)pa06svZ#H;J3eVIX}IDCNro$ z0Pr*w-~74#aTh*@1uZR-2IR2e$MeKTXv$~MQzpNI!$gqbUJ92=^0WKPgA1{tu|3u# z=XinrW_?n{^m662g{{AnX0t1_p}|F-C7_xp%nC}gj)&Fn^!9zdyIi*AWJM|>NBS`< zr>LA!Pc&V=d|cdJm*)+Pvoa~6Zq`y0Rl06Lp{QvgUrz`PCw}(=!Avuc)pp{4>S^FcrIeoLU_*_ZW}A!CP>M+R70|(h1IQp$x3A@2=7RIwLKhLy3^vSzsd_j!u`W#L<3OSXxF{LlD$z zgg3#LTe?--xjMOB9|?B7ZpZ22bw=K=Ypq$Gfn<>K3aP1k0_?Aut_IUm)Lgw9H>!Nz zvJij`pRBO`>zBCJYRYt)zz%5fWxE@sJW(u^?458>)?Jy%Me=pTKTtxRG~e9NZY@u9 zmy3mp?#dVH`->}mG~q_8>2TM1J6a#p*yQ4VPuAoF{=&=s@jHo{7qo1-H2&?85rh3X zk7c_p3K$_iNEp!1%*__O@GBv*a?Eu1alF&TUkXVB_vRP-zM>w@RNX&JmPbY+Kg%QO zF8$!;ay*k2RZWOYG`%Fc*d0ctDz;iL`ZZkZ!{bW4(U^QK`GwOt0+%~RURA77Y+|AD z77+<4EPStk?#1Dhy-6K9dhJ%5&9YfC?vj7+~fmOESAVN^1eG}+%nVttpHZ0vK5V6$@~nDhBObNN#I{%KnP z0pPnBJN~U?JLbJCf<=^${HDars+4$k0*MQEOeTXd7qnOGt*#-chj2vDgso!+6Gi7viO$ zb+4<9==Nf!|&M~co-i$JrMX2lFp!O$^i02zJayR_$Y{I)lFR0=DU z637cxNF(c~r`~ROwV2p0b$L6YLnQl{oH^#Ye51H=(M=%)d}@4-7)66{(IIlB?yu7D z2cNn7Pny>rAKv*>pZhx5S6K5Hv(XC|7(|auOihkropmi}32SIW&xHVtsMs>CXlPNk zl%|fh{NTx#qiRP zpe^p^EWqa-Aj*bHPEMbht^(xnBjSLr)9iPKqon|`oS+~pqoN@&G4!dbo1UKT76o~F zY>EsW#jojiW9gG!SQn@JRQ*q4uWKzRJJ;^kNB#xKS&wFrd(1s#Zy_RLg5do}n1cSx zKh&CdXC)%=p&!`a+89~MdLt^eCnhpocsMk% zB*&MZxv7x`Ss~cyi$Z>uhUMnQ*@+vvdisiM8JY>pmo*fqYWX&vRV~D5&@s@fC#o&Q z&DW@_sKl!!B@JvMsv#)q*VQxA0N#;f`gDa~7^$KFDS2Gp-#GnuJK~@&)DsfPtjaU`0$B8_yF_92 z3Ay$69wAO*7ax!Jae!M$;Hya4+7{uLAb=DX>CsU{*)SB@u)r+8Cv6=q<__QS zm;9uUi2#2!l-j-#88JFGK9-GTR!s>YG1JAD0NYfzv2MC zADVi!Jl#Qpf8nI$e*256M;SyL6gnB27+5sKb|n?1G5cGUEZkM346te=k-ZO9wOt3K z7;1GD8NAf8BGXoalB^Bg)HGx3|Ki2R*_Q#XdNs|=qazb2$j07kYDx|DtieRBIW@RX zWmQEc#&!uwu_*hhPi479$cbtz0VE$IaLTO9%D<=L6%?5NO7dG&)~ID=k(8fA4i5{d zUi(~zT?CRU#oJLrxWe*uo{YT5P?;mk!`z`u@SKcr!Hk>wbyp&r4<*nqa1woH0VpuqL9PBH^l`DN znBTj^7E}`rwxy;={L?V5w_yW{f?|H(pcGWu*qV)WiOn(hlS1rbfwNk3L;wC5s^!;sW@j1FE#cIpZJ=EAK>ug!Qj5^cYwI#UwRJYs9OGRylN2!d+mmwe4v+V^t_J6 zYG1{?A|$MW!f;r8vDQV+DiA#Kjz)CXVScRE4YD)BGjC_rvi&G^1vJnfE`;J<{jdE0)#S08U_W4 zsX}s{beG#@|4Wu5p)T&YYoSfy;hhnWOEV^Ahi^|sk=2Clu(@AYm|Ip&X;_yTTSL4vCY4nIu=#4%{(#Na4{u$bN&ichFC@qwE=>leN8A?8q0`~ z3ZQtR1>{Y1qq{us%SwUSE}(AO0QX%Ti5@i#T4__1#Qu-e=kxB=@PHT%)(zGgGOw)bY_Kheb#IvLk6Z4?>z$L;*-(k}}x6lDd5itG{ zDJjY+f7fZdlpmmiMEq&lAn;Z(_&_}_qlrh$UaOM5xGp<$3MtpY{6Dg>fn4d1k5K<3 z22(@%-}ik{ z|J}b7VgKl#wEll5$Nk^^1-aa8@5rf&AMkjW)><_WvqXHK-YA3O(vrHIwv}$`Ay>d! zkqYzj`&_gC!@B03(xWUxi!EUJkJ>J`Ogs&}IA!HY_a(~nFJWg zKZc~H;bwLi7#Qy-&v%pUi3R)u-<2fu`@FSP#Y2Z(y0BPPppU}9!JK; z&=W0s=UfgMbVK|>_ZdW6yb`KXSPJIVafiVj}YHd z)*GGOIW;zB_7wnmH%5Ib(>O>NU(gT{+8thc|GahnmgcZuGI>Hz6q62nct78W2c4;mp`-OzJW zR{6_pMxAT5vQ2-%$H8z$DNx-9+KQ0U|L;Tdd$tOWmYt#LKS7V+{Puw{XZwIOu&Kdog~C9)kjtK z?AJI)2=dwF>5d;>s^+-5eV6Ykzmx0_3r_Eg4L|Rft=(514qED~Zqq-TA=BvYV-_oLsTtemf;%W?;ejb9xpSS;(b-vp*nTN|`|(g*}i*tg1T7?@ev)?N=VDhJLxv!Th;U?Z)B3#f7V=tnBRAVBR@na9S1E{Tlc`Z#A~$ z7687vJ5%n?!n`f7&W4O2u&lcgxhk`kZF#>uq$pf`*F^C%oXQ zHd*aJ@ z7-e01P_HpIRa-6ixOazK5I_ZR{r2=J>FvB96DMi$FzgNE6*^$le~Yip+vDZx0SgTt zeDQ3XQs$GM&%z1`r(NKnSU>vHN|`69r@kB>h{{4j-Bdd~N_2mnYbm%}d2Ul@x&V zgwEqs=rl)qw7wfk>M~j`e1rB5@;(DzP(F8HE zv3i{5v`%mRA$MfMFL1CT=NdUNHh{zAFo9m9GXqy{TiQv5EJ^Uy@Z!?88lQ&L2hL0*rW-L;7vcs{x7| zYdgKSo%m#P#!VoRE^g4;)#vVpM3jn}m6Vh=>DgtcqBa=Bts|lgR=wU=-)Nh$_OVzTP(17=PyquO6PEzJIV2AihHeCZRhP|J) zvHrhWX`HlJ>l*z|&j-oc|qsC~@GnemE20rY(x&W{FpsJ5V6Ly??1rXb=c3Dk|eO+{;czT3Oe! zur33Ft7_F7iYByAw`%vbr>lWrw}+-Am0=Wh4dVdG>P9^4g5z3*9ID3lHhn6oBYUl)EI2=P2oTx zfWhvE{v+V|Jw!pSnS%FtzLlF5pE>+XyJFmSapHb0lWN=BR|MA!Km4teTT?p)G0rR~ zF0OB{HgLpHf`{(6pn)W3J;G00hnh5h*i%FUb-?2cNRNSM@las1ZdQWqr(qmT~Z48oo{rTQ(5%=jOnMM*K2of zD@xWL+5j23(0YDiq`t@z68v^6-FnokF9Ire^5!GS4j1f z1okQ@lGv;^yjw?Jw&NkEr(grjY^`PH0h5BTuNRSr%hzNtKw_ED{pG|y4^IYm1ku{M z0ChyG&Jn)f^TREGMd!40@-hQHnXx558}25a227SHF`5RIMA@jxF|6L|n3-qLYmB?$ zTJ>ak&@zH41Lf!rfd=b>$5T&ADYu~^L1RKjTAKZgbFD~>%;Jwh)ZRu*4MLlX&4=-{ zZ&p3{3XHh(t()7+vY;ne#R6n=?;PEKe7iwyYhKM?e~EJXTqpgA#rd?HF`9a|{*V>q z<9d41I)nY=Y@+dKCFprxLS;HNRiiZiKexO?c?2a?Tt>y&Nbc(>B^1Dmb!Y7?Exitz z);Ih@K|%kGb75&M4!pQLEx^MQLeNylN))lZoS!m)!cv8yYC@gn}*C+wg8( z0%zoV@8@8z@tA$zfz?!Fi1`}O%wLP0+OgS_BDCpq>i8TUtd3}aX3}5J6mUEy6wGFK zUZJEcjKkW*meU#O=@1&yg=UEm!2H;O0ky2C)#Dj( zfO-(7!Fng`-<--qCLja@xW5EpKGAIJj!l%4 zPLTh*Nkb6Qk%Q_VlC|C_5$bGw{RDFTf19}cjom#@5V+4!u)}~PW`~dLJAlGG}_q(5*%#L zmC^MVt^*!E7nh-f!*wjCdGbW|yM9g0)%FKsEVT{SOM#^#HI_r}2a`r=UAe}nd_v8B zMp}ko>>yx>tOy4fWd*5Hm=h6ae^*x*-zunay8QT?T`81-Xgeu25#_!lkSeDtWvN}; zYe_$sNCp)kY(lDd?}9`&@3(fB^*elWJG5X{raAp~6F|#QUBtLC1MtyffnsxX6eA$;ywMn9d1Oumkkwrz^_0{=)m)kt(^pNyu|yOWhY+#6UF5>iI=lZ;Uq6oLu|GED3>y45r&Aj43zoB6h^ z#3=k<9dgW%fkhbfPZ$q>@4Xyx+uA25Wic?~-b1_&zzGQXBO!Cm76(h^UWegh}l19R_}qAsrGIh7E*M|jYIE%9-20aA4~GCE4fz%aW2 zURQsA3SZCX<<7D$ONZ-}t^Y3OHRo;mdr+Dc5Nns!1?~ZH3hLb+e$EEcLC-RHE!4l1 z52x-=!;lPMdr*dDjLN!NME`6N3MN_C{EHFy#aM8gzt@5x_Ul*ht*qREk8Fl0miE8v zyPz*X=Ta9I7UlEuhFSl%UFC9%r!vIsw^?hc2JmD?4Uc#qK?gwFfp)U&bP*vX`ax1g zCY!S*{=WAq*YG2HYW0@Dif8w6hzT?n(6}WtRYM-ZdmqXHhgX0wspzJH)Fx{2`RVBy z9|q`5)YMd$Dz!vedTzw(QxjKy_MpSV-urp+oT8ND#FJ4BfC)TG)CZ~FN^yiVP87NY zwXL0+zEyAe1k=*pndx`D^~`PHwtdg#6O&dR6V!*ZYP}Tj0LVLznXLfyk$f zYzxb+uRw?!mEtJQ;@=hq9IL<@y>B@MIZ%>7YkT*Ig04$I15NM zZdrn8;s8sreA(6G+1rzUczJi~K$=_h2pUv%|Gi z>}*7`j$r+`1S7F6y~{!MCty*CEf&5p&-gr@(JT2X4CI?%4t)0L;)-WmB~igUvLxnp zprPSnBc*-VYsIfjV<)ff0zx}NP~NRpl$1Q}w=?P_t6i^<{%dtqKmKh)`~&*6>qZRl z@E)L_-?*d@q^LX6aq*)*v)35Es8^5xG$p>Mi!Ptb>wYT6S6{e+Au6E4<5^j~JKvvr zkmuR4u(Z_a{&9BSj)q3W_xNy)68<}Y61D`N!`Z=ZwPWN+_-!96-UiXzr;7=E%7thOHz?*CshzG0E<_B9}A>k8HF!wLD)Ef+~ zz)f#W>2|S^Fn#bmJCwyokVC+V;9||WJ6W@P26c+Wf6+ zoCSV>{{ktn4Xg{EF1CKpOCnRIN>m^I4aWVYj7^MZoPik&bA%B#`ewSNRbnL6`Mcy( zVh1NV>ycK7cm{p>A>dr`&vwa$Bxh=WQG6O}0Wi4e%i-#t0O28Pc*onD zOFrN8v)}Y=|Ni%(g8QBSSY=s+MMZXdzBrgTXN1+oh1c`(v!MOEm5J^7UofW?f<4TC z`exv#IRA`C|AQDVBL3g~hOHRk&(U!?P;mPKS$F^EZ^BvTiM!u{H#xGmt&`=OSy=$5 z`+t8Fk^v!7Ix77fgoOVOthPE#;~jElO-)4wGOTk0YX*UB@WW+MMZpNSo`&{(Yt;Fl zu8X~=>w5Kry*(x>0XGvsI8I*u3>>6M?Jg{FRQ#DvufwGbB-3=R>SvW833!LRmFmVu z)(1PiKJ2XJD#Wbrx2Lywx9_46b#=moJf}b_(@XF~1ouNj41Q5H06W8A54fGXKu;yZapEri$9?< zz^0`b2I9Vpg!m+cuj255m6ldqm4lk@E+*(8{`e^#sh?du445c1R#y+=$tnqTiJTSz zv8_Nf^3>Q=Du*rW=~K*a>Jn)3;sW|CzAOSpDyq}1t`A&*^{o&S@wCF$-V+cjQ?p3t zKAEu$rs*S7E$2mfbLhEM5>)<*ync);Z@pBQ@1i?p(D7hh<$hi^t>?q(Z~^;?G@Y#~ zJ1OaTlf$5|0fJ{#of6dmSlLvWSqx|xjOF#)UXNDW ziy8U6+L}$}#fanuysuZi_BKMDmX{gRr3lqr*sy?(+*?Ow^}T(A zASi-@Al(AeE!`c`jYxwuNOvPG-JR0i4bsxx-QC@@^&7wEdFOp+X04euGydTsZtgf| zpX*%v`cx)qjjmD1dqec3G|zV}X+K*hBMP6sWfxy8mmD3v8*~I2aneF6^o*QX`rOZ@LYxzl+?+&a{vMAz7iRAoDH6TiBi-{5jPK*t#u&p9)yHpLfUqULgch;6jkXZ+U!Idyp>%g5S7_7!vmsQ2tu} zOxO=zk;aZ2JRDo*K0FooX>d&sNfp$Tl;VBAKwyf;4dMpNL2L}qV(1N}?hkKh+YV@o zI#5#I)`$TK!K_Tcrl<}8e4>0Yfo42>t}b*z3EgTxgBnPYEoJw56-wN; zs#mED1&|iZ^)71!H{`lTsro|A1=;RHQs|-P--fcIg9-+@9UqoCtc%Zb5JF`R=!;a) z6Nnsvor2z>X84FDN<+SvmkaV#y-;W8E2Xa-PPY`^nq`*w*4%2LP=A(diB!{TqmcE$ zJxIjeC$5D#G&D47wYs&AnLTVf9M|*xvXTmsA7aT1R~_)6)1 zyRU|sz_$+`AH$<0sRU|STtli@b!!sjo1vF1kaqv1J4cI19hEyIeOnGUGJY^5-#Z`) zZ);oGMx>jjlHjyC4thkez%##_xrTaU1K4x&&|vX-Hsj-$_PAzaFEA@1ysh8tAx z_UGq85-or5!tAKcMjJW%tUErTC|(TcmIWTywG2Ln9L<(ZI(iQcOxK+Wu_O-5&E1GxLXc(C^Q^Q649JzkPedAkW5R{3^h1LlJH1X}HtL_pL=JGLCMGWG z_K;1XJw!wW!z$a2{gsT>)uqSQAOgh;8fTPhOYLigfrgBlzuW&|moa3gNNa z-LCHdg5iN>X$=9CLR&Kt&I-bF{_E2Vj&Yx$*B3AsM|%3kNhv8STlnXo&&!JxuK4e^ zPz2Bf=iY@B)J%qQva-bhR!nt&_XE#GM`sPKKVD4XwOUw3UCtxqU@ta!t{9Z-bJ5Hpc)IXP2 z)3y4L^LUQOV(8NLx3}#3S~0U{U}j@eTHy<+E8q$+m{rYhfpD_g0Pg7I+B zLqo8wuv`QMy&vIk3#s~xlei)@W$5%aS3x8;9_uP(@T}rWknn7!9r@lAfV#n!{MV$S zhIYQ!6@D}C1ODxcxC8Qo&n$jlzkPKT?pJNx91mCb-Y(t5*YGn5|DukhgEz2zRLbW{ zfc$mFQEM%MSWGPN&jCqupNFM0d4$`3qBTNN=m4|!aUsDI=UF}Yow^M&1rT< zz%h9B`nk`_n*Ps{h1-zp%LmfE`R2RpOY9Ge*zY;3k0^=5}nek!bthx69I zS~Kyyy8I3@u42tO0W_olGUrLm>S;eW~^lM~3H$UX-H=5_XnpG0tq|I7l=znAMlDFN)(Q|t0V zl|O{tZkN-VbKu%KISFXMZ=(sV`SIfD%((X?5~}uo>r<`b7zz+qrJvw*=8!(Y#=;6c zqc8%1-u+GA(pe_DbwIzXA3KPtacq%{b(SowP6(n*-GC?V@H~lDL3?9r&j^+5RkiG`*;E~LcoE**q(N! z>!4$#YFpda`;??wQ2a%dm6y*nd102xc!%5awrxmbDV~9V)YH`Ba+Qhofvv7uz1$dd zq4W$8ot3g9Wv^n2O=hcMaCV)~@vC%)v`@LwMFrwW`~Ap4e;Y2Y%WG(ri* z7jXuroyn{wixbZ=hA20!=jkh&>XN9Nuk~aGU&_2kvUSmFQ#R)kfyYhD%d;o z1f)YO#-Cb%;ygV5BLsjsudMATeP9q$rOwwTyJ5`a|ag>rLzB$ldDp7(hP>m;sc zv_*UvVmKITE+6gL)`qX|80;djk!jz)WCbbTsW{y9w=b!|FJ4xt>wr`Boy9i#^SWUjBF`kF-QsY^*^D z4xNjRnoCAxW^#NUy~_ib>;-v#ZVCt|U__gDJzn2An=+8zHyP;b>60|Sy7x~qUBbUDYfJ+Zb2m=QJ^d@vGojYdSzW1`+ynN64;WGAOK zHcCncT@QNS9=8RU9A*sGKdAw~90OYOP-|sUgSk81DY7cnHKYB9=l0H-3IIN5^{1nE9Dm!I^U4rx*Uu*UjPdv9@m>L z-~z|I4_s9ug&?n_%+k%UKW9%-8Jxoct#ht=BAP`pp}^(-P zM_&=~ui4Y2?fJ)ZGvV}PO6=dH_r3H5YBj@!JX&j9m4knMWWc?RF0wKRSnPy^V9fH+ z(0EGSJ4#A5Wz|0RvRKRM_EAKKJ)*YO5tY8BL4Hd}NKI{~{S_-Uj7+8j0f%j4F>m2g zl2W_Y+K(APFfW3W`q`<4D#@9-N`Swi0Ay8pd3o-39L@cq^=1`%n7y1#A?t;=sY=3f z@}rCVx1&Mg5Q*ni8`7GMSGYRou~=B!d>l+?q`5jxE)KzL`U73Kh!{%i+mB|z^dXaU zz*FhydEaD{yPK-q>5!rWNEa;ubcV=f(5RU&xY``9Ua*akQjqkdRQJ zh;{_O(f$giFFSFnpH1Sy#M*6L>gagSewNPNXtA2mkXv!s@(lae&r|bkpM5U-&G%Mu zIz?A_?2u5ZleDDnMVd8IsjcqVhPk1psGOd^ThiXghcORRGphInnTw>opG#JV;(+9Z+_Y1;QpU^Ei&l!7zd z_%ZXxI*K888nSy}4{YnnK+^bhx!6Vy5AL}=v=YAoe>$I@fRd80Io+f`pI)f#8E{Jc zwEBcE!iQuQC`mhS_rslRxuCXI(3hC}5|6XhWtVjv{w0<(WC`jP2fIt&-Mk3gpx4BQq zL0@lp9N*-75eB_rg8iu7OL1b;|+Piah6RwH9lH00zm(g&aNel=SfQE|FW-&5z4tbwoiyM030)Crc&Dcws@Zt2Q0^BhUGdMDWr6!jHYnIj*Yc85 zFMXvpzd+3;Tu}bGf1p3>4EZUh5HG_TRw`45$(&2e$DvbtlVuf~8yrtX z=n}~ZzRnjYH7;zx8+VyzMl3NrTR7)86}k0$){NCq-{^4GoK_mvXf+1{Qn>{kiQ`}Y zw5MIJTJ<{Q=EtYr!MPDi$@|6fY#6quP@I(bDQ~{3^QjKj=VFFfhfV14lIQJ|W zt^DNV8wYJ(5%l`X#6S==81xQYJWi-+Xl3d@pj=0e zrv@f`?!_!CQF_>vy+z#0%4_s~SbTDbO6#UE6!>u+9Uu31?OT0xMfTwJ5@@$b9DCDpb|o`d_2(OmK7lnS{O_&&? z=?jw;GhS&^Jt%N{A}bSSUs~h%aM)feEAUdRF+$Y;dN|-y0h%O95T4!Ps4c(EwJ;MM zS(Gg<7mthO<5LLhY713(au%c zv$XFEd7zB#CwAygJ(5y5fz4xhA!Pj0e!YZoQ=dde4-WQwt=*Yh4GpeV6WHyDL@6h# z;P=5a@YwY5s~&8a)W8bssm}I};ussEj0pq6d}jwg5rWG?wRUIn9pID#4wcnp6Dlf( zIi>fxw=Ri9TuMrhT^7cGsFe^8mdnM_!U1U7ftz+bn=Ov@`;MFOcyZ9x`B2cX`K}t0 z&#(CGt$g<9)a=pHTcNf2C6C{rCE#+s-pQ%NOZ4h&TFCWF!7?lg;Mt=p19)Mb+PIL` z?CnbwcLUl_Y_6wq*WN$QV!ys8$?Cs3ikFV;4#r^9-b{h&25~u!fi6d_k=Z1|y5!I{FZb=ynf=BnpqBO)a|njLV?XnKk?S4g+uGsX|k9u3W1sKZof?XQnfal z2}bTVv)LR}{XBs<9Z5WA%zk`M9P zR+oidpEZ#;sDu$}BcVV9Hd}=?UDKU?a7UPtkyu}6Y?$lg?TgQ2o1Ru`vFD50uZ04N zB?4_yo%l8=l}=8&y`%z%n5Z0p_p*#ccl6BO{TKCjtq9~c9$#x=ObPi z?la~86wq=oGjVv_#Z5BT(gK4jK7tjID|2G#_08R9q$#d`Qjeg$k6cPQFzKOG=Ig#J z;tV-lEY%y@#Jx*L8SN-)9f4BKTZ(?ph1U*qrP{1-4Um#_u0)|Z=(PNda<`2Py#f}^ zCP!&W5G~NS6C{64O3Oce&FlE^uO=Mfv)nS}_!*l)8)bmE|CfixH!(iJz8WRQk}Du2z;e)m`Li;HBot+8gaJ}`dfB~|Rvw*F@p zuvM)Nvr-TdvAVqygwA1PoIe)8Q_=(LrWy!7eLq{N=Foc7ILB3LP%xPN_ z%SFSk7Px#-5)}TAA7O7U&CSdtp}5p@wW#74qD_iC*mX+r59Z3WpTZ--9(*!pb9k}R zVu#&HHjSM|)>I@M2X6ZltG)5u!&;4St@e`lr2ERH2k{bf;baieV0FRq|3}X9TlRP!upi}>7V6;>s(#3H=D(! zKwfje{gP`AdhG^9U704n-Q}8+&#@Ba@VG6$!F%vbr;{^*Pd7EIj@+h&Aw(bU6waHo z^Ya_*adhJy16qymq0*)!{bpB_RiG?s4@TbpQffse0|;im#6N)TlgbDjyPNLnYDqGW z@H;%Z0K|M~F!-cRVn8)Ef#ydYF1ypx+WsLaHuYC@0OOc-w6(Tc-YP_r8 zM3_Nyon3DIyrJe{sRc#m9ic0`!+`fk5F+Jzy&j#MtgB-x`tCiP=}?V;;EjpqU@GTt zM=7n2jwqB?jeS4wzn+0Be`XB=i9a{OF{$Z(BQdlVNK^o-0gY~vnl7A=axk?}x;-B&Q|M(5d zv)@tC?s1`RLhnvqUKtAf{&rily#V4LWc+_nC;bhRgS-~lf1VRanw(~LpZTEI!lsGM zl0jEzCio{HiQPD^s*`yP2%89d%-#lu5_AUDNV;B>Gs~JQ`U4u|X zF>&!eQSpxoV!9sFi4Yj552NKt_xGa_a-Ucn9WmK3pR1@CeNy~K7=oDZnr6~iT3QRi z4K!^x&xPb70zsU_kLfwc_vKcnuw~?wl;04Z_UAc4)H^Ob>c4--|3pj9gggrwg^Kzk zD;<+J=l}w+%E^3g-9K772^V{Y)O$5jfqDPmALJ_lgLRR|7$>5EnxWI4$ph#bKrByS zp!g_51-0b)ze+fA8|#QKj(_|DR==@ljSoNkfW+r3E5?!W+XMgcZzEzB*HVN?V^{4OTeVM*YDQTz<3c4;VLBHs30JpboGG6N*k}`Yb0$K}sa~d%^#CkSMQJ`KU}0jV>o@ z7$P;j!g!x13>oG3|HRaX{Y>LmS5xEq3hhBA78M=+QT!v)f1VyuA-9hfB8;p==ey0I zcW%JWfzLm`lsS-<{4a|?Js&3Ve|335rp|@_en0Q+z%m*+=>eb_Tip#Bzj(k_%kq!(vOZQfGnZt zJiOOUJZk``v~eb4`pZcRiRCobC=z^ST)0Bd+fD40`NSXf)j z$VAlFs}Rcj`;+8ffQw#!tOBP{(to#~mQ_quT}W9q+5A^RS#vH$W-7L0t6HF7@#;*3 zyyzFN?1Vs&G7f^n3D~cx{whC~o+({XSh8almCPTdhQ!1M(h!t%C(#x482`L_II9Ak zsuIcHm-yT75fP)y{;b^za$_E-u&=*UQ*YeF>|#}e*IG;b^I9Du+omc#rLcd>o+wqu zTEsw*jXze$yeJDhcl=Zdlew#`qHywGj}@!^ua7OaIz!#q@W&G5)1aXw4gEiSEby&} zM%f6!5>)xfop=@b!({O`BR`1!&ruJEwwNi8&_?#C-JiD~FXP)={MPkFUr&+q(?%kz zt0(Yb1$w=W&b_Pkw>d-VN@{8nV7cW>E;_pTTI)CnqR4(jL5&?RWeINGm1*Q|+AN~Y z@6G+|XaF>Tno@u3 z7(F$N)qcbn1A{sD=rI}lN7l)35Mur!0zOY4r!~`m5KG1W{ENA6i3Fng62dJl1M8jM zA^;L1JxQt8Tmm%Z9YySrbc-zpnhH}{L}`uspRHvP5gCJUKbs|N(z($6n%?+yA@QxamB4Q@N&P0)Zi zP=N>(TXn!&T;2HwHr2iTy@#VFz(Wl`gJNWAtcvdG?9+Z!RHgob)9G#1TflLgZ*pV* zKyi7$fh|~M2`uXup}IxI%456JC|F(gZA`=&4ADx~v^Wgc*Y848keT{oOO~{A98PxC zkMPtH4rUsydXj#NQ@LD;HOG#|iV3lsBJ7Wi137~jcu3zo8D;(zR8!^YnbKXx2GIEJoY!d z<}h0|gmK2Uk^n2=jN~iWypV)lD^^7+SIH01)F{b>9nGgp^6Q*tZ0xN7j6u`z834l` zoBW102jf^Bc#qWYLb;t!s@#I<$9Ar_^ij|t)Nw#T{Mz%Ja??KZC3x!tCQKfr0slNh*{9kYyp;V7+Bj(fB?G@QTIhI zEEno!W%)~j^AcXw8~|Y&euBQSoxDe#{hR=HV)ORf>mam)Hi`YEEkVY8WA)dwL;Myu zY-~(MJKJ~`lk$*iH0!ruYzM@)xa@A56|ptJ(Vg|tudv7M^=Z6xX2E++W_O<1+A0AO z=~$;hsJqMUkt!m#q3vmh?b%t7w6Z8bYGq~BBl44%^b3enifcJd=D}p)z%Izl859!k zWSyS*nFlS^J1%Yzostil19~@N@$H3bD z1{n7k0MLXBSp(K>>v0X7U(g>_ew{IW-0vA3l`HIX0*=NzuasAyznJJgw@d+Bjf;8c z=hn5Z8z`oN+qe4aj5gRV_xEN!UYPy#>g?6=tgZwo?`>==1F%+VyM2Hi3H4r#d{Rll z{)-JJe0G(lRqW*Xg?@=3Ks{sThFmQ*Yd^ie_o_;?yMcLuy}fgJFkw4cd15n}U<-q8 zqvscr0_Rhv3scP?z%NY&4IJrS2t_Ep-^oY#l!u%{+s4~a47E(FfRl!H``8{^UjE^i z=f&Qnqr)EO1^od~L5nM!17CF1eC8rmMwJR3&qkcJ)!6(np}Zj`hf_jhZ)3-9+aC9! zKzSJ%tq_14@6?I2{4%Z%EdOvXDJo%g#6?BJ9sc@w&mO`BnAX``+{;c%#j$`@b;nJx z-lBuKKkDNnq{>2-!{A4dna#fuf6v6hK}tb_X8bF%3*O-S@gq^rV&k3YFfYU46&^R2 z^$EpzaKI@$C(hSJ_v`!39Z5hOx-BEjIhb)*(6S)AVWOnOekPz2SONQvgVY|B(9&<= znjo@i`Rr!zN~C76z4g0OItowgt=$e275B=}ZJUzEkn&Ng#rAtu?dun5Ex#A2xsQl2 zHr6%+;QU^5JKxyt=MsRaB*C2HipSFb3OL<{JtzfutGC@sI@Fz7otwe3|Hl$Mb-xer z7nNYb4KhS_M#~O%_0G;-!7Vzw=@+1T+L9eRlFu*WmMv0#&!+=4uQy7EU&p>i@l$6|uxbwwhD z3KEEI0{4f@_7VB5o|0g!$0Ae^#bom>m9;W6#Tu6k@n;+pwta-{&P4$l{PrBkD?Qq= zj^)ca@zUGV;BM?nLZpbd{mjy0vuR-^MseOF@ceW>YY&`qfM;i?KuL%yaiJY9Y~tQ@V>&oQ48dnn?%^3ikyNQ4Pq!X#f53u+X@x`D9#7@G6a`A z&uGd0-WW*wA3i~{ehj;CXZ0td5|9{kuhRba?pOkIz|=J@q6C}16f z_1fLZb!oigrSAeqmD%3n({$dMNz71A3YwE(IwU%~@NBj53m*9Gv1A5ci)TKYu#S$7 z#j%Z}0jdCB?HKqKHqr%2O4RLZ#>wNvM;w8^X-9iJTT9*GQ)e|i$- z%yU%DH3wMIt8XEgCGD}k#$t=#lwd{1xeZxXKCL%_aJ6@R5vuoC@BAby;+(h!WB-%w z`6l2Plvyv0APL;HlLze03%dw!~=hV>S~fRM6qyZkktoo;$%3ae>$}( z`6MA{TTa$l=le5KIanqc59TGjJ_1cqT8vaP{mW{cGYW*!Ha7Y60vvX~2?fm1N#~0$ znbafywLoFYO| z^6BR?7!CpWDi{bFy>7m_C7}-_zmRMM^Ra~mjxb%Fwbd2chfly}LZiX)%?l6(5=#@8 zmzR#fpw?`NhSO5p1-}V}OAEC0rI8XCcUxYBrx{9tK62e#AYuNv#%RqK01Unim^hf} z(jHoB4rk#~5SFIT0O1z3eE%grWllCa&64-C_{6=XjQ2RsGjP_!w6lc)lxLJleOQwv zcLR4Y)~}idnNM!-~Z5o786h2Ie!9HDQ|mI=<95=i|2a zN562!{sLULBQ}^=kRnzbs1Y!O6VAKlS6AO+s$gzT0Z}0xemw#_ml|mv9CnlrH|qQd zSPrEP^t5Rn#kALR89S+cZRzzdC3T03goZzv@J~l)F|esd1k&zw1Rhv=jFE&Ac(?U8 zf!mTyyD88$s(MgF3y}{pL8mnSzTFW)d?DH{-*j0N)@4Bl<-&^MMh6^ORS!ve3(9zQ)<|ljBSqEA{ zQ^>&Y7^JYD*atrGJq`{I67g{z*IT8(bLnj zfK$q=PpY2+PB+am?#Us>A-7AY_+Kh=lW}OU^*J!1;OMIFazw^Dec&q~-cu&aXho7% zmkhT3k)6#x(h~JG%>Y=J#1EY)Jg^KJz7vBKjo#1_%CARW`}?Ix+Fn6^%{xdsNNQ z0MwFh$kR^BtL&^C0e++0f(oA!IhClXI^Siq$j@%4z`$t+8}b(=y+gR3V}^vbERv8Y zCMM=&32~Nt%CFDDcpr?0w6B-lhAXRe7OFvIKt)9bqe&Ka=EvPSq9j_Ubb&NhhR}o3TkSiZE|XAT#$3xJ+wsDCPNi9B`ws+ITh=&4Y35_oy!8r|1uzqS5IW(bZ_cI zA1#fZn53iuwJ9HF$c6H?m=gB2)GPSRKltalpTxiTC$yQ(DoN{IZlC>*qvH*zflQ3U z*yA;R&CSL6fu{hRVB5+}FMa`9@*5VUNT#1%2OHj$XmN>gk5W!p3a#Bcrv8gv{T3 zk(DAXWXI^qTo2vEFZFyX!O6y zq#fRzd>@kL8N8;W+$}76jT*qf#9pRDGdMMrN~rV>;E;t+HNf=t<{M?Y8@{<3JHar2 z-6J#y&rBF3HHT&Tk_rzGH-mtu7uDlzW zqF^9n_!$t|h#GQ!-17?T-;i|$GO{r^OYNQO6nK$Ym3VnIerp;4JH}~}yuVhkPC(V!x}vLMA2#H+2Lm7I zBx%%}F50iIfYK1qgKu^!u8JChrjD45KP@F}h&h*9FNFse#Qq!v5h{uqjXgO+3@pvo z{viPzwwE7pO0ZdsAr4%aCu2$$KU^A=YYh0hDDl)jU9;f~tdQ+!nfEoG3Hr01@$)E^ z)`EOM&1O3eDo!iVJ_9=<--q>+3SgQa!PQ`^53h2*eqEo|JU(d3GuU{Yk%KA)7^# z%k;tGH&Q@H>k7eYdkvx2J@ZOQDwUIjn_!1?jhL0(`q4QJsk0JblY2FXJ7byOn^S&! zO;;se)oREY=o#T*$69Q*F@ebi5D#qj6&rO0qqB?G{1+q@7H9p4%cXaZuK8a~vO473 z0-(|9=Ft4~_8Rmy>i6dZ4FZqlZANnNM5tzqw1b)!HL>)+zUY!z^j{hJ{{>0~vpkA8 zwXS~%^-b9u&h_@qZEYs|tv3W32W5YS-;zkJHF+9|oAxGva_)<1*&qeGAC>jo@;{x) zp&?2~*$8FrBuXTU$*R*v*TR3tR}+z-6I44RrCidQduR8_h=~_!!(T1s<)k^KY4jYPa>Yo>4DMY zK4_CB^KRb<5h-DzZvMV&fQqBhsFQ9>#QDPSzIx7Ks1p(@?VbI!pgIK-NPKThz{F!H zl^tSX91!BXO91OT({Ic*`g14Xpw-*o)w_bq&|tgNI;ejXa=~<@T?4$(%;xH6d?;&_ zisoKq`GCF>6LTj!7&~I9rr>|K4&LlfF|ZL|3_g$o0=AEC+idhJ8qEfx`FV;In^iES z88zQt5@WU5dAPj|JW?31L!WJ-aRSyXo2w&{TWQ7+nmMsNdZoKxWCN|?m8&j6!T1P# zkdZT>$Q9Mp5)#7o^eD=^*Kt5n>q86|^pOFiL>%)IAkEMrUfvULNNq!DW!%@tL?_5;z+3wu=*A_s*^dje`GctbnLu3XKkUQPa$w1#2}Y#PbZOJ4ko_T%3m zhytp^zeuXQ{2E9^g%aU3H7lG|Sh-{PE5*16d%?sPxDjG57RaCd#uCQs!qNM)L<_z9 zVxnJL^ZbT(@?lIUUxl72f1P)Ocpv~o8g=$6b#`}>pq$1RU!|EgGR!nO0Mk_~XA}SDha@MKt8( zCy#sP3`FWej%<3wH@l~dr~l2L6F9+F7B&Bdj#jLGLr3AF{>-XMSOJAeF8nsXfy3|O z@(ksL5*L2~hYH1&l~jO51nhq~NLzAiy>k)1eE9)p?fF9z5LMZ_Pp zhC&o)CPMLF6v@yaWI+87n5F}x9-=SIE?6Wx2TryKfUFL@hyGs!h_CUT?IF>HX1gI> z48w%qqdez>MnObEX(+weXWi?s;5aH|kmAB_Xqc;LK*olGmbaubxnBu5!2l3axVc6|w|98Lil{j>`U&V#``+2a4YU&|41KB?O z{e4=kT76Ln{y#6X4Q&JY_iz4x^QB?#F?P)s)u%_YU3#dnz7HQhpwVhJ7%!l`fH-AJ z+J}HhV^W78l}YvVHdS%Ho82EDt*7@jMOGaAiuiD+8Q z2**tnX}L#M*&eCD)KkysU8%$>4|g{v@8Z#{;lU;t@cLVF9q~Q(-dk12qVoKQid<^z zF?4nH4k;y?X5%vBxiMjp>JKaVgTa9Yf!C#BaSA|JK5t#Bpmh<7j~th@vShX)_bAoz zZ8;x4SC0lu;EFo%PQd{Yv(pe3-cYHS@Va*8}#e5b5g<52f_-Ou3>| z3@r>&5x>>1LNnU&Jv!Rj&F0;+QBmVr16uR!c6MqFgr<*$Jy9f_4Btuf z5>!-GQOjw68RoE*9c4?T*4W)NI;AsVD2~O*Yov>g!Lf1TTHTrUwpS>|ZtV8Z@a^S0 z6VT@k)=FMSvD&SkyEWCLP#N~E2ld)JUo{I1%-T#$Jq-y7TGV;4R~5ixbIBgA8p2VK z`rVKv@2^s>mq0TyU`0l@T;eh2gJO~n0KkoAcCCgJD9|##BGnt}F?DM!}b=>5HngK?XR9Ks0XdJ4EE%t?aHq#Yb zCEFECCF;3fVmT@tBHnUw37c)-YKo$Ju-kvEZ5s@+FG>Dl-uU}$ zCNrKj#*iyZ+rfTTUU(Jo(YA|PU4QJMfABz+fh~J>f!kqyJq>BiKoZyfw7;{z|A{ke zx(b+S9n@>KIFgc;z8=CFMpo z7+fcQ2;uli*G1AX81Wjy>rr_7jvI0s11NM{ApmoAbrt;COqz<{DmUux!};0jhKW$* zpl0K2(bce3^xn;jsr_-?lu>qAT}e zU}DKBjOQ-N={(#U2_fKc%NA&xF!vGSciJ2<37*%6&r=~|pnkYg(f<*EceN^pmV%mP;DMvs4OC_b4pvIT$OIdUFhgJ7=Fp?QXL3meNezl>ie%XdMBq8;e z1rtUzXDfCoy0Mu3_dB#@kyg@WK2T}7JCpqnxZhjNRg&J4M zIVDN=`)lxUog1spg+R;XHmc(3L~b-f`f%eE_n9tu8yjinfFV>49E384?nk9n_TEc1>TpE#9dQ`N&(y@8ZE?F z)_a3ZBWu}{1@hK?v&4{(Sw^puBT?iw`kwcva%GufE)};RJSLqBxe$+jS8H%j{r{|92&&AhTvVIH~qmgM{cE_zCyWuMhPx^9M*LL-B)ko$G9nCwJx*rv< zxntknSj!zjX5PZzH1S)^l*UKiKe%KMX^>H%Tu)i=_WJ-DsLf;DMADA?^z7_w%nOn0 z;5o)-rQlxp-ANletLZAo=MN=H#DaBEj*q7k3Gj3EHl~ziZYh<7vBlo8~X5 zke7fMMAxfDC}9jw+184o(Qpz%29@iYT$}mRAEEqY-@7GKWN9mJ8!;nud5R@-G)gqO zDJoy2kfG)&Wf2My!4InllOwCq@TLnm+};x_%Gw$$X0n!5RBX(Cj7~a5Q7{eYXmRFj zuz6a^)HiEDwI#=4wzjGnJji7>o2rwxI#nJi7mG3{G+%6VzS))3*UvuI-GbA9go>K} zSeMh702N_k{eejGYlsD^O%S095$E&k(C{2@?WjN+&vAJax?UxA<6L-5MRX>9v~;eW zk*tT>j||+T#3NHa;!`fy$CjI^YZ!+Nu?BnhD+%Hgu2RetZMLOWP${WD;}q)s5kXik z&*;~MX63^cds;^+mKDGL$kS(U<~ycY>3)W;$Z+Qt=Dv^msBgMX*Y{qG&J(8XxSAA| znpqK*nT=NZOA7jZ&X0aE8NtX*+4n?5x(nI3%Eb#f+_g1^Kjy*OOL!E3Fs^8JJDVJ7 z)o_wqX$v{Od3=Bwi31Ff{h509A1-Nz{rAKLSQ8}=Q&DC6%IrdkHFrZ}(4*h`Rcjlg zYPNbiD=yB@cc=2ecAV9q^;GIW6%*s0^mM&gC5@PJawNJvqI73pd3Qf7rMqi(cQ_?@ zpYCAvLe+jqvyoplG}u+dK%q}Rc-kZscsf;_Sp>&A+bA5)*I9WzB)^HqCF+*IoUXYu zZ-*J4s;??YWw$;tzLxwfcIcGC>1=ti-%99{9JjA&7Db`FHX6OBkait&I!F;9AxY^2 zz4cyiTW51KE7N94QRjivD7tFsyVB!$E?%NudR6}O>saFx>o@=Nb(NbFQ(pUNgivBK zQkf|aCe|s9Gz6E%1)fuuVpVyTgS^30d@D9b#8T*ur*Y;UIsykfN{04sQ?|4H2Yb1y z9L}f1ll{^DI&tHPTz*?N4$@9zndncFk6A5OyZyTl2H7b2xRyYK!b-$o}U6wA9y4u_#fiOV$Z8 z-sIDE0K=F*4PX`sOlP20WQWw$)ace05Tq!c{HbqjGr2FPT6^Ig+@9&m?GW<+y2Te1 z&T@N_5{kSQO&OECCOG@i_!DYNWtuFqo&Rm{=N0}chR|`&>!MWZl8s``D5ckldaZgwkz{w!`td(=mzNB7miv3q zqC-?+S9dZI^9iP{QhRO}5;QvD_@+?y4K@Phgidh0{2C}#1Ijs6$OXHkHZRF(%YK)M z!#31giiEM*-f}gMrvX)aA>AmlCBY;d+(t1c(V%rUyA`3x4oC`=EvqS#BrC|C7PdOJ zHu+(4b-v^Mw@>t^IgM{eh{K!$pJh=d&lkh1Q* zW!)n>Xr*|F-Ru-C2HuX2jb(|DxZDb^3AKD)IVHJV$gfJIRc}B#yC%Og(bz@*QvOwP z`)Ib&YHRTu3I!_DQ#JwzToZVlIjoVQB?_qLfk{FENh^{0eM-Zt!59e1Qa)||Ho^&JHpJoMx z0`ALZT380}ju>f;i9ih8cPt;YJh?nhbx*ZAJL}z!rRk4q6Np3kaL2yCI}UuSYT3tc zsBe$&y*s{01->NMdy0v;kb`1iU^od^%Sk*2vPH+NJw3~DHlb8<^1L>5S;D^eaL55~ zC9XY>QPu*{5-DCKCPkBS{%^#+by$?`7cM%8fCz|^(kjy3(g*?q(j|>_cQ+~^B{?A7 zUD6FI-QC^YT{HVpzu)hC`|Q21bIxCfzvg1*nt9*ndDnW@eXo11HC8}m=A50<2zYQM9%S3q{};-{Iq|v)_tuQfahpVKtvQ6mh*`D8Xa}L!4}BlrGG|W zUX`1mJ0i&^{j@3X7dW~;+g2}dqc}PuZPUV4XOo6rYV0pNqraJqegCCIe7f42rfT&RdiIFvVDn=CtN!50ZM@v3tcwc40EII)jSO^VKmi zVbM$Kg0kxJF+)XQ$Sus13>C_Ynt}z_qH>Nw4SD#ymL~iM11*oBH$5u4I-W8cmX4wJ z(qTyyotx_+*~i%=9LMwE-0f)m8h6e5RwtQK!5!SdFnFu|hwL|3l)f92Q#qDdpVZP$ zW2O2K@&^0Sx}Fq&eCsm4%AAaJeo6gA>(|jP^pH4O17|gJxNB@WJnL7wSemFza;?w= zyeX@}xL>2evxQaCrr7L@v9iO@AK1mUN^>VE1uT z@zwwAQj7)RynO#IxF)5;?~oST4^rT{AUt@?Kily-&7LUf@m>9eVnHJVijK zqsg!y68%MNE)7WwQWVcI?Yy`N;3V?d%|-0YsAGlE-T1aLEuJGyZ)Iv)T3WSgV2^5v zGkne13Eh$6_A;W~hK+@@7zgWitp^`QR?wrxHm5CM4`cOXy%CZEkrgYM9t#`W+0i+l z`%;++|1ha&TZ7A$+kCGCZaEn=O_*6=DJn|;dEivOGV0b;R!e(Py-Pb9A5X1a8L2*b z#;DR&qph%l7~$`2f}T1EdLIRChDFH5$TRtvs3p^5yEJs~u}Qs9!;${rdvekd`6Jb^ zjnC^GCPJ*iF!Vx+CzfG_jz8gtqn&6;dcd>iwAX=`GTL>-`x`stEMfUFuD-vmY}ZPT z)oEw;Yf_Zi$YDZt0LCt~MN4mJZ%sBZkWus@nxIqM&qBHDau*p8>t_n{mc04;<-q`< zpOeI*M9#E+M6huQPWNj(Rr%D&Za_u+v9+aOIm$;w{1ImC-Q(M5>cyJ%wZ;>VfWg7@ zU4C)I=DWk}Uj{f9n;|9(Qrb7+7N7C*8f!5PSt=iW#ViKrU;hK9q|XyQSer&ASy_G@ z2cogPoR|YJI{9y_heCGWnz>OE5@V?}E#-X~Y)sX0LSswjbyLWUn;!;>C1ruV1d&9g z>5#$ot{;V`jk@z4H5&N%_vgK9%=V17 z6_#}}tq1x^>M?C>s9RxHw;GaWt&IUdfTLv62NnKUbucfeJ2}~oA)LbRUFkN5w}o$8 z3cJ;Jn2~8*XVS*S`8H{KmZsU6wH`!O@6TTB zE-432+;&P6nDUv5y4?M;|l_PyXsE05IctU;LamOY*9vX^I( z1v*q}{shTC&qujbW4-hCtiA4JI`rpS*}MUp_tCbVXt2Y|o(z_DljA4Ohy}ByYcWR)s2y?9xX?W0n0~Ys-7tH23(-gi`N!?+7HqhZ)cM4_{Bs`>U<-ajF z4u>X9Z++)W;JPA2ZU6)dA>lR|uBhe6S3W+a?pMY*Dhv|TRDM4fEUVllR{MxE0D*~_ z5;`9gex|4rpMYQEc87Q4!WO*YfZfE#M^mENNbkEH4}lNwR`RIoN_8N^VRT9)x!XcG zeLBj1()~Ty#U~%((W_~tLvKki90F>b`tq~N!u;^m>TNYrlAFIIt31XE<&omm4u8sN zZr5^MNpl07QQ{#@sR8Om$_(dCmIx8A26waL)?gJv&?6D`^AzM9#hL*cU5k< z7df_5O|R2CzM z7YWnhGPMkCex9Qcd@lz(n#N?YGZEe@b8bLB0dX|Nhmkx;kk@UdR}$ecRpxATM0=D< zrq)ijPGl5K&wO)OfhLO!tdIsVAPkqGC&lnym};OWV2nf+-*?{LZjtku#O*eh3$Go2 zq$nUKeKU?$^n}wqvX#WB_BX9SdK>U8P4z;?LE|h|2L*l!%W$A6;pkcKzU398AMXNktLyTpLe||?Lj5|l6k|uoq$nPPcMB|g#jY&h~a^bCk z$gh^ZU0KIIN)8*)&L>ZN)iMSdQTeu%yy)MJC!`q0{_mfj$_HAHNWdtM!F>!1N~gWq z{T~rgi2h%>znk-`avV0->m{jDz=+Py>l+drDY_!j?^%@twj8$1;aa;)ID zSOyYi3YOJ)kO%VB61>+bg8nBvwx+*W(xdw=HE9xc$O&3*Tb7MviF5>Nb~`TbixGk3 zf0@RHQ@W}%`FG`49)M?21VxT$&1+g^p9!mGjyJp)ni(UR0B|wwsQ=5)I|PV4ze)SJ za2>ZH=^C2}M_>I|8fEmRgD+39Kpnn2aep24jlRGq=l{_8CU^~K|1kTI=m5t5yiD@> zpI&zA1E~*S6}2j@&=7fqwsuuaUf;+4{b8SXR}E;ozoON&+%Z1bO)WlI(Qw?P;ios) z*`5-?c%J;~1@8rEBA;in)DvT|mQAJc+|c2vqQQ?3XrI83D>s<5+g3l$YS_zsIZ)Qk zsv9w4&=oqNc6;$Jz)W_PWtBw6Je z>mM}(KBeA^sjO6fe)BP;z4HWH&VF_E&Eo+TjzqcPTFRy&fW!R1!dj-LZ1;k`UzJnh zSCliXtr(h`_OFIa3scBSzD#@ofw=aEcTE5Wxp$T1pI`P%B013J?J~){jpd*kNHji< z9-d;be_h=2S`HzY5r-om?b(2=P+vq8_G>DzT^Cu;H_>fvv78K)0u&IH-4_}X zWb5Q$GE}jY>c#)rAmH-~)j-iq!^(B&OodE*4v2c}s8IRd9ns5a91h-|BkcjcQtP|H z84&q#mZ)iFDYz!3Fu+973?2Nu|1Q?X&!2BE>q zwXMW#LI)Z%5FtLZ*(8GZUpcP-s_A0e_ESmW(#KNP0^ZB*j7KGn!$V49Yuf#-?>!^$ z5CVaviw{VamM;lW=<`+bmeNZ~xEzr<2SQvMrXR{M}WTBytOaj9)YJ`J9g#@=AQRm4RtvlpI#-oW1b((Io?`}2ztwG z^Xn=#KW|ojz(~YtAK9ET09f}hV!=M@&FQn5ih=(!w0w@#g>&CSy(53LM5k6QJ_m6Z z5xuk2vOAs=;W6{0|x=T*6Hfed2+;VRPnzDrPiODR^mc;bIqMOba)oV3isAvL;*IAZdfT&G+QZn<-jf z!KcwuX2p6@%0-f*`FN&2Rc{qP^&q|7jkKF;ZI<`1rj2D}ykDhV!}^ixlik)P1R{h{ zu@V3o3QN)EcmEEkH1>B;@jm1tmBJ}@+g+O_^VFGpN*nUVY%>lfa}A}vQ!$0_#o6dl z6Z*Z1G+DlpeB*YOC?ZtO-TL8mmnYwtN_!StH2=!sM@b0e-tYa8O>RtepjMa+^fy;7 z(ahHjl~OHMEGG{Trv`mj9m0fT38fzxs^^@y5y6dVRD=>u!ZYLg_zTz-U}B z$PJ8_C`QS*Hu&{Oxw;o?@@dG*hQ)wVk;HOcS1?Th9UZ-f5*QV#85*hG)pRJohH5}G zCXU@VbZ387?gyg9j@N*1G^2@+S9yr4VwGagMB?(FO-Y|I58a-CnRmZ;lBq*BnJ-Q- zd7bqspy{||>VF|ZPkOW%R1;57LLR`iQD^yKv#W94&FX<6itKt2njd*&@7G>_ zdR?2jPRpt0mDLCu9Zy=iy5Zy?Y`?%yd0lIf459Q6<&e zWGTE2-z=zv8rDMK3Dx_o`7?FlMbW1Y#&k-0rlzm=!hmnL199Mx)6|Z)LOat=`@K2Q z56ucUT_qK=vmGvCPr$e&2eJ&?Pdw2HyWhH>|0G)$7$$j{EO9SN{-fK+0A)ZCy37P` zyq_%5B#4iaTU9sizu>+Y_N5D3Wu$)eTC@cKtp_wZGVJ!?*iWDOmWYH2kEd{{srL+# z4X;-(eubZW@Nf@zV*h9(`>-MAebJkC3B@{(@cOM;sXtHc>M|-aE~TT)gI-FnTjg4Z zQB;dY8^h0s=n7p!2oN7PlMY2l`i^W&QYgpSJNrJ+-IS4EK}W}XVjT+3TRxjh7n?C; zL5_Uh@79>cR47NTSOT8uhL)BVFJrR&e^p205Sj15cRwZdB}`U_Fbh{P8qjg7s9+WJ zb@uiy4RyVY@L!$*qlL_b@sXos<+dCT88@ zleF(dQB+CKEh+{%D-@*f}k z%2YBI^BpNg4ZCCVgWJnbGmu)7Vh1!4J`FSb8d|6{-_zYUnbA_L85+cdBwJwGY` zDkKE`C{NQllYzds-oZiyo~PKbFu0)8^mVRgTd)X$uBVU-ox%%7U;6B3J#9b&?)rmC z02Vcim#n9O{~ed#({pWNz}6wehkbRbIK4nmO~aVu(I3v~+S_Y*OMZ5&bMlKh7WpD` zRvwj$!7_I*`~V{U3#^2naSYZ?qSV$8sJI=gq=AvqFcKnfV$@=3 zW$C)w$^U_)Vk$OCMC)~iHDX27yYtm{u_^DHttr%bbQau?jR~Oocps)K$CGC-yk)W6 zp$P5yrWP@drYhD+oFXNT0)cF&k!V3!z^G98;|;ma5x#6kr)xHceLvGn&vNa z**DXIe6EMnQR%2`DLRy)A1x`ucu%#BbT^hs#{fncZXEew;)A53>|tlC_cuN}8l2G3 z5Cug=0_ELuvk_n=m-x}Ii0|VbozvQ0Z9B?OYS!7^b%e1WAwkhdMMOlBIRt}(T#t^= z8seg8jRgIr@x6{vQxb{My0jR)6MOoY{cDSkW1onX}yFs);D=xd>9#@ zI}r3BJ|0N0p!K_NxzOnS<9lf+(Psg7nAuq!!}36GFkg@xpP|_M6Uwu^Aj!X+L|h3D z>?CZ+lJ_jW*+p3{RnW81>%^*ATMM{fH|K-V+KnIIMd?2EKtGhh^85a90@!j0bQO+S z)sbM#^f!Ou2Rh0Np#7#3+2W!c^~)OisI%#%(J$_pC>IA^Y=Ilh;JN=#mq}os~ zSLpOd@u8O0SfaGerTufjRbTh~C~f>>^J_%ECl>JyxkW6QQ47 zs9xRHGqSRO7f>*6mCfstj%1I;$7k;3?93qd!=k5(f6H_$LY@UM+gxlMhM$*$?0u;o z!H*u!@+SjVp5H1@hf~Tonz%^l{^IQ-CURD=o^M-rMWO*VT&$K=em(zw@)_{i9NLxQ z6SW;b%(<+@Kc|#cmKs4I&n|%SMCdBDObLs(aj+;IrO?51Q%s)cQI=P zTwWovsU^E9w|R=-*4Iv8w{#YO#j1dYAN%&;_dUMEKl^O0wN+_g&;hBpHh8N5#LIwhIF<#by4fKMGJwy^F*2(b zn82|<7Nh*)Zf#i>C7EwoP43#}u@cF2RjSeTUsgjWOX13ujgmpDR=Yx1=3{_ypGr)O zVtW|jNyjOP`=j?7YF|mmQy%RNkL?Jn^x$sXlO=|&;MV*#=f4kdF85E4^Ecr?$j~M6 z+wKKRn{szi!b0r~)8E}20FUn?A$WZ0lsf0re4 zzOBl?^IhmVA!7HK-2ph6t4J4OAR!^mu%+YLl8-c2pcMV>^Wu<4e4O|LT9ThB37zJ@ z0Sv@-^C;NaX*|Z?|5_Nf9$_;*v=MaCc`uCDnd}w!E2RSB7xuIt#ZOFiNuTFBpm3qs{C6rAx8%!J0n@C&m+{2g0jJGWXF7 zK0Jj$MlroBk$yu);GC&Ue*S}3ArJ>i#zr)V?0*31|Bw1I5lZJw*jwYj*9Z~PU!?ix zCFK7GhyVHa|JVP@`Hm4eJ01wGuTJ#<2lV^TgjNLknekUpu|@U5ZnsmQEx4BX?>nh^ zf0+@`E%ec5v}TcWqJTgU(kxIy~*=@^g!#iyGuEaW2kA=5KFtiiF}AFVR| zV2t8498@_2sNJqdnENL^F>@#@D}oGhY(s;CKJ9$oS4O`^ub#g)baRHsHJuX)uy9`` zm{bE@lgE*uS?5i3&N=?(H3OKddS z3$EwOm41G4)j8tj?P(4s!jbqwjGRHYo{j$JJKbNoJ@>oo7~D;DPs4Q@rRvJb4aG`k z2ea6A220DU$zSL+xak|3E~ym0J!yBGv`_5kr4qj}#r7|?FEgHvti=ZUm8S@$4ED&$ zBPyQ@JW`L4(5Cz2`Hq{r$Tuns1M-wK%UuY8SCn8(K9*b5M&*9DwJekV7W44p!|Ga6 zFRjSB8$`(TRy1hyT}5RTtwL+5Q)Q50PqbcHFd?}}i|a_o_i|g@9M%Lp&8*zhDTZ=% zgICj`K+eXrX|T@#=W&(vs>Kit%v{NT5Isp(jFi)_Omam>t8LS zdP@5V0Rylz7z#gnE1b@Pn6x|Q1HUAK&IsR@Jabu7kBSnwT;NOkr%@Yygnrl1^K?4n zeCEwe+LaAyMbNZXC}r)Qhv*Iq3rn#^IV*2rNePv@YhV6zS?z{Q+9iFDU*BPKCI*_C zw~3=$zz0PXXM z?go;3h-nNc(pyxQQ#Bv*HoBcSotz`;i=TfmSeim8Hl(?8hIvL~xh@|dwry-IU_<;S zr_{kfcLnU9B@Pn#{-&uWPc~vp^xHO;g0z#r=OA}PtZamahJp!h7N#F$^f~t?y>Ca` z09nbEuPU;y-4$xNMQ|yr@g!~y5x>c!FQL;wLZ$87tHdAe#U_YQEK&HNIqCo z57D$!Xe*FQ)-m)E9z;q_E2J-CWdprvJR`U{n168X>kIGBU;>uMxH(8RYot&rW$4uV zHswT=9589_=ugXCI}nVG1FT43@Wk4TjJp!88HJy=Thm1guy1FlZFFL`tXw&Rwpv|` zAs$jtbb3W~Sy`rAqtBO0(gujRsho){1Sc{kd0(TOZTYoI^Aa#!tzf(-cQRpZ*o}N22E+03Mn4diU1A*~jVy%dfAo&C%gMl>1K(ptCJF3bS4O zc%nV;Aac>+FZ}x7(0(*xcn^(;nA*;9)0AC!8y#bpfOk(K+BZaDPi*U>jGi^rD!AM7 z5>=uu@c@dY47FnrW8}_TR(5<->kLJxy)Srw@Qsp+*LC7s?QmORf*O#=%QR(Tl>X} zgo+<5r~zq{FbXJWU*FW#$&mDmGGJ$0;Sh7!yA~ zKXvM9=*-1JV{pB_V3}1PZ5%u)fXdDF*F0_g+V$Fw>d;fp$iBYvbafpaCi0Voz3&GP zhw*PnQfDVscrFd`2w9I(svOLVovRBc3h_FM4CpXF(i44%8)+*b`QIg{_nQu7MdR5j)2gk?4Ij^# z&Fs0-rjb{snb3=-2~ckMk*T{nw)J<}Wf4r$3%K?vsl4gbeueH-TsSyqMeQwRbVSI@ zO5Q{>v$5f(NJr4$6`IYJ~ z$IEUKrC>@&(~O%($(;tQeq=}!Wu$Gv!~1jIkCQI1g45maJtMv;9Q^7jzDbP!ke)$6 z;_YcSx;y5Do`aD*%_+qdTzb-c>H?3CUvsNm_w~%@&#l10ygSEK6m0d(RPhV!YTiSw zEiH05?4f7R?Bci4Cl_%-397F-fDQwqXefY zKiZ1rxbp)p)9M$O?NiOhZXeB$IS}>-Nd)!hBzF-pPRqR%*V7HQBu;$LMIbiSFVnf) z+FCNw4L^&0j@T1jXLE(zN31!ns>ko(HS9LIgeN$b701Q~U$C7>wW8w_v_{hDL7RjQ6=7FS%Lvzwsj~*IQ=Wv|={T{>P*OufozLaeWwx_P z`24=mm)>2rRG&B+M-uI3$CA_{$0x=)3C^TJMvt)?SzD6xZ~Yw$4)|^KW>;MiU;+mM z9v+VgM2zv~KBneX7Wi3Ax!Uw*avORy9tZ}d)iq1L9;d_&B`FHiEjmCZhyPlm}jF1C4vAi~;!}`!?cN%u`da zY+U=pegwEH|Jj$f*e*`?l|&SW_+Ve?Y?826@t~R#RPs-77?u-T8Wk$?73$hLJG&{N zN=L$9zvTQ55fRxD>LBc$6V^1Ng5rqU$!!T-c`JKYaKZIj&x^E8s)4v&K~fQt(%lrj zN3=Wcpvswt;ZyguL?IQ&8E-x5aG@;;;wNu3az*SYw>0Ivrm4~mn=l=9_Zr-+{SBb5 z-QLX{e~GqE1HAZ4OZd0~4Q zQid}2U8WNBNuuzQQE)&pV4SH`l%k{S8QCaFtbZz_Lqf9acYx|+V|d%J)$r)yY3$Ph z?8fDCi2z2^>F-W%>emrb8+otv%5=#1J#?MV10ZK+s$&x)g0}m|Z3SF;p~|K5LUZcM zt+7y|8Cpy)d9^n|IJOGuhh04Lry=B2{iPi{@(u67Y&L^_dbZl9u4~UT(qBYeS=);D zv2DH3>MVU5{bwhh#m1CWXpKhCBr7!9*1;QHpG32pt}k#33L2&x3T_ia7=FKQim$S=W;_-ZTIJ_RaAmLB?DtbwZ|v{08P*Kephz5v)2Am=*V`P<_M7^ zP5xWOHRuqgmz;g~)|pP_^Ian@WYxX)6bCZ@7m}xLHAvzBcxi_&c>gc{g#4eX%xcdV zeN;KdkSW;; zHmB8;1mfOI6}5p*IG_xae<=R>qEy>oct!7P46>kENX2jjh|+_wEL+hA;Txyo0E2DKoc(WqBE@YHH{ zbvH0j+P*k&G@l^m*GsL0QuL|ud^am0ZT=P)Z!uYx@!^i=`A^>y{E}4YXHE;z6yvY^ zPjt$Ap$+iIs!fvo__4q6W%hGiV~XGNdX9g5B65AUGZ%^g88o_l{`V^CU?O4z8Z~^h z>!o3`UEqsA0hTy6pEG<36pI@!mK6jT%)4N9V`r)GIfK@)cg^ zOs1diA=0YSTI-q7HW?*DA&^x;7a&swf9x`$Zhcd}j&%4uJd-H`?n8jt^W{&lEGzVo}qTR_9V3RqgF!4g@+m@;miUFy91Ic}VirI4hcxS)cDz9wtl_FT@KNTA+q4 zV-YQ@p+baUpZ@9*24AH+BfQtp5EJx@=g+3sf{*w>vnY56K$X*k#iTI)URRgSmih5S zNqXDf-rk!D_^pe|JxKU(3C5qR`+8XqNp5zb;BP77ebRhRB!<`)RC@_MuEp{a@yL%z zOI2ZnOTKCHQeM*;LWXpTxcswg70Xke2uoa6S((|xKQ0ago3b)zYu!`)y{$%;XOBEr zIv%a)d}`8G$>1U<7t!OJknBanNgeq7S+;_Ku*Q??BLbuo{}AWTHJBtmX_htcelS=e ze+T+?#bDC9?_C#V7xB!@%z!7st*`9+vQ;tr*<{xUU~b%SaP>cY=r89K?+`wnDqmox z3J`7%CB|7i==r*#9$4#&Fn~om!~*EL17mY@PoVHdhCI{xzpTP~w#j9S@Xq^=GNy@9 zhc8Eb;wu3`+|ZEh>|D^)^rTXeW}4AiH<=*in>T#K@S8)oO7p|QBJY&_tcJ#9(1h$6 zYraohoC)86Bwl}#dZSqzQT2X<$CVK*F%KOg)RY<HA9 zki4q_Ug9sY=r-j&uB80W{R7R2jL_d@{r&RC4&*oWH~O1;03~0hsh%@2lY;BJcs`j=o?F;_cHt0B@By5B1xgnd62jhT}r+ZPm! z#1V@qZnX8No^m_4uc~ttu!geZR1@?=*~nDzu6^(@RiHu#LDbRqNwbRt>CjMMqy|;u@~wXA79F|pS9+lV3LVmL61$x$|MTbr2#1nfqXEM zNfN@q8k$&LEumAfer3OprPZxcpkOn3xunGt1FuN_w1ere!8u+n>b0j*MD0qKr`N z^wCinR-H~tpYDzi^^ZHU0Wxu-R?iz3RFBZM?l;Y;* zW^Q0;Osc=|mbqSDS3d`^glI6!t-}%hD9%^ag}GQ(6mx7;u{$5of!1%|Kh2a2I{%|Lq2oJkKFj zPY=EydRi$uQ=Cw}N61kKKm6%g;=m;XJdlojmyYk6QcNLIXHa3Pk9@GJnPHf2fWaC!n62t#2pnz2Z!%DJKnJ` z`ccj;s!FS_6QkdFBCzLa?HDyXSeRQ_yqQRGB&=*AIufd=aVh`&mff*pB9^HOOq$5Z z*c>u`kktilUxVH9rNAe!OqQ#uT&30*WIUW^lRn+hZu`p9Zs?hDS=9dFf<}Xs+c_!o z^5)UV(uDQS))uIrv~++Mhq_(6G0Zq&d#fQ1I5`HnO%LEeEcQ>g1#c$<*&M)R^^%U1 z1d|lR)z6%FqLA&4jFS{(Ckyqh#JRbf+bi?ykQ(@4Ujgx5v+IqO!Z7}Mn=jTR_noI_ z?>p(x5cD2o1L!mPA(mT>it1`?<%-IDRhpFpDJ1DAJdzeX#vE;lzw5DRhu}~u2`?&Q z$RHE!BUOwkhMWHAK8DMF8*%Js;=hS~R46%-c*=1F5dZRWU*v6OYEqGE7Zx%y@@rp& zQz+vuh0&q}_7hl4GLWB#sY=xC=Fq2>1f~c!dyz;XA{gHGnjm0f3+j+!Yi`C%w~E_t{6Jy-Xc<`g!^;+0AtZ-X8)e&wT}@-&|_A;jJT0B4F$59}#R? zvGMAfn551+op7C1q=;Tw-OBDCTI288`w$O*WrS2&r4E3$ZbNxZE>rQ&2ZDo72X?6z z5|a`qA3|YFiM(@JZ^t#9&d$mnNh>wG)zl9gw>Ea3o))sM^(VQXZmp~LHVCOe!^01^ zKyg01&5hOl2?4p-%+d(?gJi8o2Q!k5P|!5sPo^hYf$wI|^Pi{#QYrGk4LaT^io3T_ zdAJ?D*qMXvMxBdlJq(t`{YI(Dz+ZetLV`B5Q8aU5;w9Mv63P@ta@0)61r26`Xamv} z0|?QnhI3uu#F+Col}++cgvaA^-pE=r4G@meCUHCGX-8F^pF3>{4xgc)RuyWr-zt_} z>~i&Xr43q>qsTkEw}n63?zWuIMss{IU*p(O9qn96``pdVEt!HZU7yr>e|`Xz6U_S2 zX(kAGE%&Ccndf@@y1l>>q=FvN_5Jq!4>*@E0(Z%fEWk;Zpd#Ia0&R44~4gZk@T_Gag&IQ*ipoOpJj4y(N5sQsF8vhDcHGkddM$N?vJbbD5E#2@T1sbvE zqffpc{CINS2nlX6Lf@T)5=jxm5U(}Zui}w^$i8H@ z)sF@3C{kz?paG;d*5ZNty~uuixPl0It_C@C@dx`_+g5AKqB>g z?bGjI03$qD7U3n8x8n(|DhR`TPrRih^5BZ~;P9p4|MW@`8~b9pxM18Oo|7&FVNmyX z{BGP0ROsIl<;UEFFpdq4JnybUALT2A`iHc)bVa&X6dyw$A;a4Jg{33x@ry$ePF0mg z^_z#Yo{Cae;L3fmGYuw|$C*%ujNzQcS13zJN*Z*7xQ724okk-K&(gVNodkWAkRgBH zHyD{83H0Gx-B~fzH_tdl$0Fp)H8<9uDPI`m*r|5dyJgG3*mQ8izWKVJn8;rh+vWM+ zD3LC(`6t@Ly#H-5iKw0~G9fS=`%ziKq_qiy z(f01xRz5Gn>F>(GPI9CP$>%4-bE*BfM1eJ7JY}uBlEv8QPwb_BJA{n+AV+ihg}74N z_n&jH2Zs>;!ym*RK8UEOC6*ubBc!{Wb15o9Xo zKlOmGyNXH8Hh9Js!}lyK0SItCc%5lYV@(;mcXcy3dnH9QhAE0K)bDpc)*T<;`MMYB zy4i8X?z-ED^YDmPB1I=M^5D&EPWeCw)lNYc6bbQIF1$G`IO8T!wPX&UJo^vERLD3~ z5g`Tsudtc-?ZNk>8dnSF{~i?b2DQ|hsSH?^}8n{y}cna6Ggn|@$qp^d!xltIZo`X zONz@CaUbv*wOQC%^W}?&(2HUATHsD4e?2-7V_I}-?oU$du4g3S6U3` zyJFX}eL46MXCFImJx@wN00o&)F!LC6+cHVgsxP1S{z9jdl^iU!ghq8yUJx%}{u5Z8 z$;I#Jcd95Osc7$7dIlXG11QdBGR(!}sRWirD&kILlemrbEHs;~_T)ifI3z*8@`%j>UkFt0PgB%|>RMVlE*`Rg88Azqt~t#fcXNOy9aC5CXP0fgqXsQ8 zBp5prsHl$;n_ZClWH0#3VtDF0`ij2wwiv`hn)qx=~h*CIK(&7eSY%5ln zJSnbN8_<(x^WIki-7J6%`+c+R%v#Tq1wLdVjXx-efbE02(& zyFx8~ulrIGM<=QyOo6?#c35yg;w8Bw!eMj^R^T%>7F=2}7ln7Vk#Wt(V~<%s{cN9} z9&K%HN=Qt0(G0nrvttsICZHdu1Gl9bSfPayj0G~n2 z^RUyFaG~fzx6Y!;b?s$FWlcN<>qs0tNbD{2`3w8}@N}`EDms&ovu^l8KR-I{3hmBR zqs10ieP_<$o$-DbM_>zo9=a=NaC)9})8r{7adY&kIF`q0?`B0j{&HFMm$lseg(ml~ z^g{rM`!t?l?ZonmIP^y4=619N*8~1;rp)uAur~PVPpAEPLG$_Ldq@u(+|G=;Piw39 z4T?N|3@$kBPKz7H1?FvSJ0@&=W-wIRo9tp6<(|$`)F3BsX%UAjx{wGuI`ve|t*@^; zII_63eglEbVaNve`5x~DKnWc)JyG$a0ITg7U-Tm*AuAOtC4UWuGaFK(4OAKQ%c==l zFCFK8>rl!~YIgAp#f~F_CbY%p{eeA3RFo~YCUJ3bcLBFvck7mHY$Jf1ND^?DuXr_( z_dF??Z>Ou#V~FG-^!c5eV@AQ<+|48TCtUjbzbYy!nwp((n_(MW^p>*5*inV!5TYx) zqm&7No)GWyO-iAIsh^ZdJ;Cx<4n z)NsU>Xfu&%s#ILoJF8_mWn8CyD2HcG$JfQa9A|R&cPdJ_10{lEn@Y9grlZ$Zt%zdG z>O}PejVK|n+-@B%fgqoB+PHaG;KtcHlR&*(bLQWmpRJybJ@j)>HK@th&*kj$p|#)^^j8FvQ*l$4Q{pL#5b(n3<08nzXLom zS{7UeG0B)iU7Wl#yUJr_%;G5dZ18iEO3~43SSJr;`G;=rk*n#^rDw?r*e{vU2j(QZ zJnH7xFbO)_FKi$-v{!plM~U&rqsf%O-btH(c($ z^&?*?ZFpj}M2FxfJp;p}XSX6=?ti#|NB#Ta?{077=8Wr_H`bNE!W4NqXtvO92&t6Q zf`SAJl>6QAmCk6Pn-Skm-ajiwsyAV7-4k;WNz9C{WvFN*jRwdYj)e> ztFyu{djNO6JD+pEMn9zM%Z_YK;`;Z#9tV7OdC~dqooMir;v>n}UhX`PF_E>OsU``p zU0w!b>pWaz!!K^fQe6pvdn{SAA_NO!OcAH`=lx(+TM_-cZ#@<q z31lyk;@zh$1fOC7Lq!MyVaWTA#BSGzn!mRFgseW|xz5*<|1LSYT66Q-bnfiaLE_yR zt6xl{8jV&bk!$985R$=a6mlm1vokpSE3rrmJZwpjBXcCmoWC}nDa7jWd;c%^Bm`5F zOQ)v}aVPeMburl|m1yE552w)L6r<&CH!4Y^paMFu+WYD4pD!g_gPBA>B~m28;)Pxi zT!{$tJu#rnwrl%xs4iOxwI)^g!2FL7ZH@iyLs3-q0}GB?yqgZW;(Xdt{6PuxHSKR> zFg6+9QD^@gUO*+b9VBK2{VAyY_MdgFmINwy8qFxa+45i1%i1q1BlB|3`;!WD$mTSI z0|%lGX(HTUZWp`5VEoP?GJ|Y#j7KRm934Q(oPm^?if^2*y&zP;NT`Z^KMP>=8_Jg+ z*RZ>Q($b;5dONT9<+!`ni1MhYOI~gz7ag8s`O}jPrmfSHiyL^#qb8z=v%<@a+^4ZG z{Ni@2Z5v#Ug5n?Sl79q=D zcvg2I94L!~0z6&2&$?~_`}OWr(FmZd@tHJ6vXvFZ1B5jL&d=v~37Z^mNR#f3dOo&2 zc+RWbnfJVZs5HFyY}KrZxz3jk!!_uuw1(4s<3*~>-nMbSRw5@|p-LaEkzTXXYIosn ze7`1Yo40m(o&(o14785fgcVXlGieA{HMdH9KgYJPVk-{my&0P8{IFJlii3e17^LuE zDK1wtXv^iQ_ftV>tElouFyo4>NFZ^YC-IL?O0eImC-8!h<|WwXf@e2x+XA=N;#~IlPoCAkL7>P^nx?S zZ(Ihl1;>=w(k#D=RSryv>b``=yhnwjgLV3K^fzUZUSNWTW*^wr*N5g3bC_zr+dp?R zHLadfZ{xSLwzsC1p`HbjUSsCN3cj9%)zVk7TJx_5#rVc0S3@wpoBqzkMBZQdE z^rqi4AS`M7YM_UW_iR%q^ZQ6v&(dgw3Rgw8iCW;%#lHA4S^cXjiqU`PMG6K#bW0nf z!kV(W|H~(s-hpC8?Q;4MI!my5$Yte~TQDj2ZT_U|i3UIs+L5U1`ZT-Ssy-CtLCQsN zqgocIe+4Ar+M_`$>axY_Xc zZ0#XOfhz2h<@t-{rOSnYi2^MVH?qH}9?_uDSf+*E6gFstvF&7tuctd9kzwP?#(2_~ zhp&A@w!eEn`fjzioz9ZRQ82Vox_k6aMKIC*ZZKZS#|=tfYB6MSj+x#~%(OZwdVR4a zld}(u5%g~=wN6*rWX7GwGrwBq=C5<=?d%Ns>b1PD67naIBtneO`!^-SiYX21nwA<& zN0)@TLW>IN#nHE@)HV0>o`3!0=XgF+VHo0(j2L~EhfZZF@`4kHrwAN{x#Ww0q)pFq zVdZbmF7N%kELgII{44UxTfT=Jl=f6YMaR0IhZG9Z^-+_q@&VJj?|)xak5(y!x{ipu z#N#9}{pT|+`G?P$v7s_7T8t^KHXJc7x!WE?hJ2=%_6c~P5uA~|!PYOebU{4oU$|YY z2^8H)Ay>$%JZOKmrZ)Q_jhPLWDS2b&Dvp?A?hY7xNiM+B)uuLx`Q|m_`GFaplT(Ak zdU*H|1Tsx0u!QZH&N6kNm4qVOMq0W%=6_-Ro@ejp|K&aQ`+j-%{efecgBkAo>T{jz zTuX;0cZtvaNF0F#Se!pT{WpNMd5VVl#B)QJQz)oop&kNQC@w$%1mqBCfT#+m`ySqS zFys0huhZgV;o1mdkVAAnx)kI z=_~}S%dJq!{5zU#>F%LT=@Em23wgsvhD_Z=2qy>n4gsvKbY@Q~;h*BQo+<;uStuXF z8>(F*^Ip}xZ8|E_X#k8jRw5?<)3WJj>IWcilKLFf?-H^v7lGi%BSY#lT@fPPqNb;A zBqx)KYNJ_8wP2LRLgoHd&Ie&VaROZT1#my?ENDndo+pj@$%sbcR(iZm39!CG|A_gh zS!^*Kh6bFN2SNpTLVJ=;yl&w1mW3QGNXUpMJlN!K+W*0vZtksKI*A$Y^enV!!G=IU zQ_~&Dk^#~|Ol{N=r^%Pl{%)vgTpuK=*_x%g3lI~_ca(8vFv@y`i&OgHzL{H0q?SqSY-`Kb z%yE~iVmiwc+7%sN*v3XZID;5(oMi;9_}(imiR3OZoqqS=>sZGQ08+M}`}p{j7>UE8 zB5AKrH@Lu1X@1?J|8L+0C@csqy(@hF>{-k{;sq5#JYUC9`w2lckTigt&5w38+f^E7 z%NHnsDWi{!aouQ|J~?sb#K?~C3a6{+qf+O_T?Np?mr3zbW9CzMlM($;s1F}{N!{gS`%w$G>F$8J|Yucc*kc8&4*;(Az^ zJSbB~6lmG)eRw-OYIGAw1I7P)a8BQj5+r-XVzGFpXw(yXpBPc3;WoI1%JP7(F)cgh zIc}zi2tO7&dRtf9cb#XP$7bM^+#`b(-AiUz>{e3g_!Rpy_h?=#qhTf$P){{})zCA) zo#u>{WmFODSYE!$Zo&MFWext>BBYRXG%_CyPOMOw3sYrUEaJf|QlXD8HJ$R3Cyo88t8Zaps;8&ZCu8VX;wyXj zwxFN@XqOtAm~gtwO^ad*RkbjayrxJr1N08~(!12-wi5c8V}`@W9TrTxl$5MP;|(|> zx*%B+6z2dcGIsjvyTN{KtNxb=UhcVpr^No47kZV_)cg~fXMFH-cD zdo9(3+C4nnN=SbM91GJKJa-8SYk_IeKb-qH1ij9%*1BwDKU+x9cvO%yFlai8VyVOCJ_&|`Z zJ;}{nYmje`0+Mt7@B}zGT3b||hE{woV4LlK^2{J2%^0=Wm^tHWrB0D0x8r%8+jL4{ zL#a-!xr4g8`m~Ol;;u zBr~|U)>nqDx+0--8WVfI^rKSYWpz+%l4KG;H6XsoWgneJ0RziBLD8{u##8fGU5<5I zK%yB$z{ziy6eM(S~c$GK=$Q%++|Hg=%@K7auH zih?BVxNe+Dp7zlP4~RM5xPD|cRZb_orh)`%C;N+tttTFfBU1rc*ii@D_bML*7`5(@ zIFJ`=^MxD~7z~J>`3l>Sjg)LRr6lgJ45k->Jh2#`eyiX34(r8a4R)yyP&KNs)bv>UelR0^!j${muB_<~ z7SM=)`w`FR`GVBWbPbyv$#A~*acf8^fPZ!Zm()U>XT_7eRMrL`~Jz(^*PEoMZ-`$ppUY) zc7OkgPkX};hOciYiLo~(l?o(pLM(<$XSUyuFZIN{Y`l9Hd(;IFU6-vpCy>ickG$F1 zMpgBKv~71pg;+#Ulv5Hl{- zu>LcL?9?DpAk~LqT6o#t>Tmh?BWe!9MqB1&Gp0qca_^9cUrqDDd{u8;Zd}_%BDPCK z-dD+wE-u($*m#fDIwvL*(7GG^spKDj{!IL;1v#Iy3q)i58IS%+uO}GK1Nsk$=wJKl z07RqLlgYyz8Jkpuoyf_9aqp=ywRP)GLS0=V(CtK8gCnPVtt4Ckh?b|d%2In=kenZx z93YC>hE-SucxO{1k4{fw3=Z#t>D>U5oJ#gDtBNm}R6mB3&JkTIEHPcwpJI`?02$-; zIOQAr$Vhq8Lft!eaeN1ZBq{TsU>OAe>L*1O^5cpOx%%CN7gf@h^>+Y4XHW#PFy@d; z(5qD`q@TV2B}sEuqTq!ljaIq4MgyhNWSAjD9ml)j zBruBOtH1hW&Ah~eu+W|~S2IoCwRYkimrm6DSx(kOSx6Tf%=XP9M;!aHr=bJtL^bZV zS;K1<0qPR4HPX$nH)X-s`5ZkV7dm^9k+3kCq`~nQbq%RuC)cmz#P=bPNH^Bon3!IS zZ4LS^J#Aal?(_U40nn*847sERQ#bTgKenGydj|yuR;v7LOIe4;18KV9{P9}b^-LFx z=mzIwQyEA8I&_H}SEW)o<_UWn$iTvvY0S4{C6(eH?S`|!R_K1$M6L(`P1p=tw;BM^ zDM0G=3KPFI$LbApO*aPEpkz}d+yFz0CuiZhtcL***2Mah^F}XWU-^t)%>Vkc)lPnC zyF$6+6IO51zECifXK2z$L@=IMM2DmFw6$PmWo0e3Q0-uXU2Uew@2J1xgySM$}orL-Uh94j-k0Q<3rY^610ibvGq;IU90-Lm=Oo zZx)4;4m=UU64TsXW6$)Ou8jN`C+QS)shxr5@9U-_k7L955#I6T%XfgtSURw));r~i zzscAlJ>6Ld=-S?sNQ|y?b2J&Pl`wuEMJ=1RgZe@gofkwy*ym;k@1!-H>ir;xW`{B?SzGfsII356g*Gh5Um5M!P(Oa`zc`N$ zJ0$0GcCBRQdfAU+IB;g!bPnPH`S^>ebL8|7HpbAQ%$MRvFCJQ$o7)4*1UFx=zJ>*! zG~og`Q!Kdgpw^mn%B&RUE7qLE+7V=Rqvt7?_{S>nD-EYQif;&V(Fux6M>KLN`H7~z z1SQ#(X*L02;60q?Yw6JvCBXg;wD`E}HWccpECBfw4ozPr{9&P1@sdUO zC%S<65!2c|Zl7X!0``R~KvcFcdVVct@s2IW>={I=UwY6CVZ~}O6uSro$_H@XCO$6>ST|9?@mUIv0Yq1A5jJ3;eS{&2J_dz*;2?&Lo+0!D|21 zd-jv1v2@|K`J9ICi1=f03q?Z5*~T9_x||AYlRFwa8&aJldK;luuWfOm^&jL&70Uys zfd*^rnhxqSf3LdGN(C0iO2?Wv2f{Yk6y!riorI5B7Kc_xLbh)O5k<*qaG5<2xf&zA z3+O7Ue~^wW=x<7D1OecRm6VkkLTSG}(SByic)7Y)hr_Pepgl_*D`|}Cv-k{br$EZn zW@t?MHHK;+8K0+o!o4zKTWq-6Eg{oXz^&xW5soxw>3CeBI}|>O@{)Jl5FPX^=FZ)1>$A?KL!i*&zf%hr@~pAAL~P z+`xcSPn`cP2F?ZP0E;cQ*teZ#J6HSln6NNH((|Utf|!CJ%plGGzzd1I7*C&lT&$2n z8qPWOiw@G#)Wl;kRNMX$jhS$0=GJvlZAZmTQGlA5lQ3woXzURfXSCAcvB7U;%kk0P zO=a5ES`^i(ca;`_>W*qcv)Dmb>6?+RU_4PRzs)VGYkSL&PGt9;Sw+r0CtLeU$GIqD znb@zwkt`6E0wqC<<@~pJn7Wd?BCiK%x=rrVNnsq6HRgNUWx-WVMe2U>cvH9i?**z$ z`bEeG2d8HVXrl61h~8(7tFbp-TALR@3&;RUp~-xJIx3&w2)gGM=$K7!$^NQO=^Joo3L_k*mG8Km>g$4Isx^#d_Bmqq~Yn5X9Xk6Xa-vcQ&V5fs=+1#JnMdqzmOo z`PZwi{m|=ps>zKYhogAdgKZu+e*Zc&^Z=3;J+xzSV~_T6S8BF?W^r~{7uRS z6dS{@*q3DJ%S*royq)#0kjkCkW%4|Ave_=UV;+dz7tC(E0A77;|`Wf$x}S zHlBJS`G^$|6;}I=#7EJ~KoLWMdQFae3D!E-dB;4#k1L@Mx9#Ab57Xk2gVypR_IA5h zUXtY~r9Euc+^_C#67x7eDR6urHR)j@K41A?K_^2$r#=7z$%97B}~4=1EV2% zg|zx$^s`x#P=M66lozJvW5t)mX^`~=#Ob2@I7+z@sx;(`qBgYH4v~N_&N|pV?xaz= zZfazPo3yq31ty(poj_Xt=Id-^R>&HIcEWD&Tl?VMZqj~#^q8&m?yMU7L)g&O<=a9a=HKpZScGwumVk9e zR3uc4YXN|XK;k7G!yJ$%V6ctNDacI*RmZXU=id-t$i3eChD_EVw^lNCO^5P3<^`~X zd84&&WG`=C5eFVO7KS6<0jhwFYpRsTlPr5Ebbtm5umnHr?O$J6aogTe{)e2g97dH% z^$)LlF$p6bly5jJ4;I?%Dp&Vf{TD`vo7@(5B1L{mT>#0n`HF$Nejp9B5_lR9mW$5vI!Dc!~P#l~!)Ve%y3f2Gv; zP^h3$1$-I3?_zUgcGv?{%wV8QB=60wSm-mKNx6S3asj$`u-#<%%bWWoIIq691xhT7 z$MbkZq*4dl0}VZ+N?FWU;-MDjMe5qyDYUl#4Lnkb;<*11njqg-)AWS75&l8!~{~2oX@{0=SP>6bJ9^Wg5anp zT5qpgYIC+*Yx;KNYa94*rJ=IaVI(6%`w1Ae(%fPUZkLE(F>j=6}^9*V%J5?=iZXKGv zYAEj#9;vqjmA9WOqKyOyb?~o88VY68N$Z+#HKjYJ)7Z?48@*`9A!BL<$rNfk_DZ(g zy6rAmaZQm{9zTEAm(fQ5j@C41;IjQCqAQ9j@_^$ly%YJMrYgFxvkG=P^Udv_l}q&9 z$zM=#74>ly6@Az>sy>Ker0Kh)&vg^8JWCDW^N$id_b{*uQ6!Fm{7}~2e#CrJgbykM zw2V^VUDFj2;o((+Jo&= zl-GY|^qPYX=}6u7_bF+Rtm{J`MTcdyJt|TAF1`?yG?tdv^a^vNYN{v@xi7yO`A}68Oe_> zHzOkRqI=T@(gBb`dz-e~OHMT|bmV)8#J0HNY|~7~&E;*)num62fo!eJ{10u03LQ!m z#T*qg*CvYN>ZgL7AE;|`z0P4uU4?cemrx(bPpVHS_t;IE7SiFr`_*rP6&8Om83k=_ zZq6+uI)ZKE*Y;0C>}y?cfkOiX=+5hzn?L5$cHVwO>NUH1Nytb4`j+JxpyMwD7zW7B zR?kO(*0!R=HnAu8vb$8YJTQ%D?HY{OIE%*I$|?d(`To%=GR?yLpfY?+Ic!`=2T6N~ zBzgz_)vH%mVqO<((`-jg>NTDFuDK0bPSwXp>@5uCv1`u7PJGq2SI$cqidL(Wq&(qq zU1NcGNOo1HmV7Gx&UwwTHmIz-)k~HqKG}l_gxnrBH+=J7J&m7qTlw+o10ODq0i&^r z$;_PcN7u1;odyn$T@V();% z!8-Z4Fk9kWs`nz}Y98Pe#nn?m&uK5a0N@)2#mpaE@qyIaxjW>@Nub*yL+DQL%3J&E z3%{FuS%z%cd6$ZpVl_zBRe=%W%uwkpPlTYPmfg>N%W~oi3K$IG{Le*2MVYKd_OUUQIKA$cdZPWot*rX0?b{n9j@;!LzN5qZD^51txs<`73$& zY*=QKUt{E5_*|8v@S-SXFeQH&v1-M}i?cDS`j$;Y@^M{K zG8Ze#SHalx1X1>)$V9+PS=p?MIc}$oepPmaUU|71Z!uu`_ZP@ivu>ZCVs~uLjxwr- z-Z#;HKsStw!`H8>ub(#VMA3vG2gjY}0M!WPwKO6?TW~XM$n76(Hv#+E8V^WI;|9Go&45bSdHgtnz+jOo-G#|7&xDe|K6hAg&|=%G8#Jt3f3vtPF5*!La6 zEKuv~DHko11R1(qL^^%Jv3v$kxee!IB!DX%xBJ?q z7U}Y8W1AQ_lFf5nqso(d8rAbw6jMr0&h=Pzk73#6Xp=tB@EJSfmn4d~&3{N0yxqS@ z6^3Bh9qSHUX$xv3w7bXWcJQq=Zys=la2>pm+o#qCDNkc14Us|;&T`KmyyUy-@bL3j zWkbm#dR1AHLPao`2}y&OW-Zl%*7T`m8=Uw3t0RH*13w+brmz03V&`l6zS_ItQa6?(u>PLqP*XNjo@t)zCnJ2SLLX**Jp{q-fG zfZF93p&&Qhcz*U1;nmXv7B;48XP_^`eHZ`TmC@L$mOPTvC6v|SLIxsS^%5dTF_fsU zy?nqM zA&uBJHZKpXP#H99C7C}V!<~@~KBO>?H8yjns2_h>&qwa=PL_ybf# z?Ni(>G{@JDeH1b%EF8yf@7fc`_SSXvhk1}Yo>tpe802lzmZ><`O|*~o^Yb~{kyDa| za4AWd*Gj$&90PEsS=?~Vgmps9mJ6FUz%q;OA<--CNcfZi(yJVH_Oie}K+{)X()MrQ zJX-%=)bdqbwkeRe_k1rTXkeV(AAx_ZdQJKylPJ+SjJRThHro**@z+`#@J zf+R%IMn}W{f%hLiX}{4dUtlr!Vg_Rm~}zll+@g zZs3}&+0P0l@Sl&zLylOe2)_Tl6)x0EUd7Mr|BIJjL*F7@oss=kjZ`NQ2XSm}@3th8 z)e%LL+BLQVc?3oL5Xq+-8|rl`kq3zy#KgqUlNA6vn=U$^-{nkmZM9;9QZsKTe_|$@ z&73QV)8X~tcVyFXpZxilqw&`-P%R#)!@$^j$Rqu;&Xe-Z5hjkua;~rlD;f><^?JwU zlQgmCmK%i*s|fRf`YIS~s<|ZE7wbM9FY>6Jf|#|S)l>3TJ53vB`XvkiV(WbTK0d^& zxNz28Lk5>!T1U~5$M`)tL$^K1nWN-$0t36Oa;7o6N_URmQQVM)8_1#tTsiPY_ZiN6 zXpNIS40x_}HJID`bjn4q*Ik25p%Ri)rIs~0IT8ZNANiik$s!sS#byE5 zbn2ZQG@<0f-Y>CVefE7nj~z44YuF4gF5<{wGPj$pd^qF0wjjTNR+*kr^7V-<>9rYE z%LBrR#^K>O)SO(KfDuabQ~{Tt^H#hivuY>r<& z-y|noU+IP{>e=d`-)?wo_mRa}s1(6B;G}g;=1L@;uD0&!v>83%^cJz2Dj#ppwJzf> zRqq-1dP-_lTNm`pIzZ!}MfjL`tFW>&ZXLoJ *7hNVd@k{9mNWP#{kj5WIV9+v~ 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�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 S6zI=qw4|t restent.has(id)); + return { + charge: suivante, + libelle: libelle('ENTREE_GARDER_MEILLEURES', { n, effacees: effacees.length, gardee: origineEnPlus }), + avertissements: [], + resume: { effacees: effacees.length }, + }; +} + /** * Un registre réuni de plusieurs : chaque nom une fois, dans l'ordre des * registres reçus, puis de chacun. @@ -627,6 +667,7 @@ export const COMMANDES = reunirCommandes( ['enregistrerGeneration', enregistrerGeneration], ['retenirProposition', retenirProposition], ['effacerPropositions', effacerPropositions], + ['garderMeilleures', garderMeilleures], ]), COMMANDES_MOBILIER, COMMANDES_PLACES, diff --git a/src/application/commandes.test.js b/src/application/commandes.test.js index 9710a67..158791e 100644 --- a/src/application/commandes.test.js +++ b/src/application/commandes.test.js @@ -20,6 +20,7 @@ import { VERSION } from '../version.genere.js'; import { readFileSync } from 'node:fs'; import { chargements } from '../../test/chargements.js'; import { COMMANDES, ErreurCommande, appliquerCommande, chargeNeuve, formeNommeeDe, reunirCommandes } from './commandes.js'; +import { evaluer, nettoyage } from './evaluation.js'; import { COMMANDES_MOBILIER } from './commandes_mobilier.js'; import { COMMANDES_PLACES } from './commandes_places.js'; import { ErreurCommande as ErreurDesErreurs, refus } from './erreurs.js'; @@ -99,7 +100,7 @@ const executer = (nom, charge, args) => COMMANDES.get(nom)(charge, args); const CSV_DEUX = 'nom;prenom;appartenance\nAncolie;Bastien;Club des Merles\nBruyère;Capucine;\n'; describe('commandes : le registre (§ 8.2)', () => { - test("le registre porte les onze commandes d'A1, changerEtiquettes, les dix des places et celles du mobilier, chacune une fonction", () => { + test("le registre porte les onze commandes d'A1, changerEtiquettes, garderMeilleures, les dix des places et celles du mobilier, chacune une fonction", () => { const attendues = [ 'ajouterParticipant', 'changerEtat', @@ -113,6 +114,7 @@ describe('commandes : le registre (§ 8.2)', () => { 'effacerPropositions', 'enregistrerGeneration', 'exclureParticipant', + 'garderMeilleures', 'importerObjectifs', 'importerParticipants', 'modifierParticipant', @@ -125,7 +127,7 @@ describe('commandes : le registre (§ 8.2)', () => { 'retirerTitre', 'supprimerParticipant', ]; - assert.equal(attendues.length, 23); + assert.equal(attendues.length, 24); assert.deepEqual([...COMMANDES.keys()].sort(), [...attendues, ...COMMANDES_MOBILIER.keys()].sort()); for (const commande of COMMANDES.values()) assert.equal(typeof commande, 'function'); }); @@ -771,6 +773,85 @@ describe('commandes : générer, retenir, effacer (§ 5.7, § 8.9)', () => { }); }); +describe('commandes : garder les meilleures propositions (§ 5.7)', () => { + // La charge d'essai, deux générations : cinq propositions, 1 à 5. + function chargeCinq() { + const premiere = executer('enregistrerGeneration', chargeEssai(), generer(chargeEssai(), 3)).charge; + return executer('enregistrerGeneration', premiere, generer(premiere, 2, 11)).charge; + } + + // L'ordre du tableau des propositions : celui de la table d'évaluation. + const ordreDe = (charge) => evaluer(charge).propositions.map(({ id }) => id); + + test("garde les n premières du classement, dans l'ordre du fichier ; le compteur et l'état ne bougent pas ; une entrée qui le dit", () => { + const avant = figer(chargeCinq()); + const ordre = ordreDe(avant); + assert.equal(ordre.length, 5); + const { charge, libelle, avertissements, resume } = executer('garderMeilleures', avant, { n: 2 }); + const gardees = new Set(ordre.slice(0, 2)); + // Le compte des effacées, rendu par la commande même : l'annonce le lit. + assert.deepEqual(resume, { effacees: 3 }); + assert.deepEqual(charge.propositions, avant.propositions.filter(({ id }) => gardees.has(id))); + assert.equal(charge.prochainsIds.proposition, avant.prochainsIds.proposition); + assert.equal(charge.evenement.etat, 'propose'); + assert.equal(charge.retenu, null); + assert.equal(libelle, 'Gardé les 2 meilleures propositions, effacé 3 propositions'); + assert.deepEqual(avertissements, []); + const une = executer('garderMeilleures', avant, { n: 4 }); + assert.deepEqual(une.charge.propositions.map(({ id }) => id).sort(), ordre.slice(0, 4).sort()); + assert.equal(une.libelle, 'Gardé les 4 meilleures propositions, effacé 1 proposition'); + const seule = executer('garderMeilleures', avant, { n: 1 }); + assert.deepEqual(seule.charge.propositions.map(({ id }) => id), [ordre[0]]); + assert.equal(seule.libelle, 'Gardé la meilleure proposition, effacé 4 propositions'); + }); + + test('la proposition du retenu, hors des n premières, reste en plus, et le libellé la nomme ; le plan reste retenu', () => { + const generee = chargeCinq(); + const derniere = ordreDe(generee).at(-1); + const avant = figer(executer('retenirProposition', generee, { id: derniere }).charge); + const ordre = ordreDe(avant); + assert.equal(ordre.at(-1), derniere); + const { charge, libelle, resume } = executer('garderMeilleures', avant, { n: 2 }); + assert.deepEqual(charge.propositions.map(({ id }) => id).sort(), [...ordre.slice(0, 2), derniere].sort()); + assert.deepEqual(resume, { effacees: 2 }); + assert.deepEqual(charge.retenu, avant.retenu); + assert.equal(charge.evenement.etat, 'retenu'); + assert.equal(libelle, `Gardé les 2 meilleures propositions, effacé 2 propositions, gardé aussi la retenue (n° ${derniere})`); + assert.deepEqual(nettoyage(evaluer(avant), 2).effacees.sort(), ordre.slice(2, 4).sort()); + }); + + test("rien à effacer — n au moins le compte, ou la seule au-delà est la retenue : SANS_EFFET", () => { + const avant = figer(chargeCinq()); + refuse(() => executer('garderMeilleures', avant, { n: 5 }), 'SANS_EFFET', { commande: 'garderMeilleures', remede: null }); + refuse(() => executer('garderMeilleures', avant, { n: 50 }), 'SANS_EFFET'); + const derniere = ordreDe(avant).at(-1); + const retenue = figer(executer('retenirProposition', avant, { id: derniere }).charge); + refuse(() => executer('garderMeilleures', retenue, { n: 4 }), 'SANS_EFFET'); + }); + + test("une configuration qui ne se normalise pas ne se classe pas : son refus, remède nul ; un plan bloqué refuse d'abord", () => { + const charge = structuredClone(chargeCinq()); + charge.reservations = [1, 2, 3].map((participant) => ({ participant, table: 1, siege: null, portee: 'tous', tour: null })); + refuse(() => executer('garderMeilleures', figer(charge), { n: 1 }), 'SURRESERVATION'); + assert.throws(() => executer('garderMeilleures', charge, { n: 1 }), (erreur) => erreur.details.remede === null); + const bloquee = figer({ ...charge, evenement: { ...charge.evenement, etat: 'bloque' } }); + refuse(() => executer('garderMeilleures', bloquee, { n: 1 }), 'PLAN_BLOQUE', { remede: { geste: 'debloquer' } }); + }); + + test("n hors des entiers ≥ 1 est une faute du code ; la commande ne rend aucune course", () => { + const avant = figer(chargeCinq()); + for (const n of [0, -2, 1.5, '1', null]) assert.throws(() => executer('garderMeilleures', avant, { n }), TypeError, String(n)); + assert.throws(() => executer('garderMeilleures', avant, {}), TypeError); + assert.equal(Object.hasOwn(executer('garderMeilleures', avant, { n: 1 }), 'courses'), false); + }); + + test("après le nettoyage, aucun identifiant ne revient : la génération suivante continue le compteur", () => { + const gardee = executer('garderMeilleures', chargeCinq(), { n: 1 }).charge; + const suite = executer('enregistrerGeneration', gardee, generer(gardee, 1, 13)).charge; + assert.equal(suite.propositions.at(-1).id, 6); + }); +}); + describe('commandes : la course de la recherche, rendue à côté de la charge (§ 8.9, B31, D53)', () => { // La charge d'essai sur trois tours, sièges attribués, deux tables de // trois places pour quatre personnes : Iris Ombrelle réservée au siège 3 @@ -934,9 +1015,11 @@ describe('commandes : la charge reçue ne change jamais (§ 13.2)', () => { ]; // La charge que reçoit chaque commande : la charge riche, sauf debloquer, - // qui la reçoit bloquée ; convertirEnTous, qui y trouve Théo réservé à la - // table 2 à chaque tour, en portée « tour » ; deplacerDansRetenu, qui y - // trouve l'autre personne du tour 1 retirée dans la réserve. + // qui la reçoit bloquée ; garderMeilleures, qui y trouve deux propositions + // de plus, de quoi effacer au-delà de la première et de la retenue ; + // convertirEnTous, qui y trouve Théo réservé à la table 2 à chaque tour, en + // portée « tour » ; deplacerDansRetenu, qui y trouve l'autre personne du + // tour 1 retirée dans la réserve. function recues(charge) { const { autre } = auTour1(charge); const reservee = structuredClone(charge); @@ -950,6 +1033,7 @@ describe('commandes : la charge reçue ne change jamais (§ 13.2)', () => { ['deplacerDansRetenu', executer('retirerDuTour', charge, { tour: 1, participant: autre }).charge], ['retirerObjectif', executer('poserObjectif', charge, { table: 2, tour: null, etiquettes: 'finance', regle: null }).charge], ['retablirPriorites', executer('changerPriorites', charge, { paliers: PRIORITES_REGLEES }).charge], + ['garderMeilleures', executer('enregistrerGeneration', charge, generer(charge, 2, 5)).charge], ]); } @@ -969,6 +1053,7 @@ describe('commandes : la charge reçue ne change jamais (§ 13.2)', () => { ['enregistrerGeneration', generer(charge, 1, 5)], ['retenirProposition', { id: 2 }], ['effacerPropositions', {}], + ['garderMeilleures', { n: 1 }], ['reserver', { participant: 4, table: 2, siege: null, portee: 'tour', tour: 1 }], ['retirerReservation', { participant: 1, table: 1, portee: 'tous', tour: null }], ['deplacerReservation', { participant: 1, de: { table: 1, portee: 'tous', tour: null }, vers: { table: 2, siege: null } }], @@ -1040,8 +1125,8 @@ describe('commandes : les registres réunis et les erreurs partagées', () => { ); }); - test("COMMANDES réunit les onze commandes d'A1, changerEtiquettes, importerObjectifs et les deux registres de F1", () => { - assert.equal(COMMANDES.size, 13 + COMMANDES_MOBILIER.size + COMMANDES_PLACES.size); + test("COMMANDES réunit les onze commandes d'A1, changerEtiquettes, importerObjectifs, garderMeilleures et les deux registres de F1", () => { + assert.equal(COMMANDES.size, 14 + COMMANDES_MOBILIER.size + COMMANDES_PLACES.size); assert.ok(COMMANDES_MOBILIER instanceof Map); assert.ok(COMMANDES_PLACES instanceof Map); for (const registre of [COMMANDES_MOBILIER, COMMANDES_PLACES]) { diff --git a/src/application/evaluation.js b/src/application/evaluation.js index 5a6a2b6..be61bf6 100644 --- a/src/application/evaluation.js +++ b/src/application/evaluation.js @@ -281,6 +281,36 @@ export function resumeDuMeilleur(charge) { return premiere === null ? null : { id: premiere.id }; } +/** + * Le partage d'un nettoyage des propositions (§ 5.7) : les n premières de + * la table, dans l'ordre où le tableau des propositions les montre — les + * comparables dans l'ordre du classement, puis les autres par identifiant + * —, se gardent, et la proposition d'où vient le retenu avec elles quand + * elle vient après ; les autres s'effacent. La commande garderMeilleures et + * la fenêtre qui la confirme lisent ce partage, chacune sur la table de la + * charge qu'elle tient : aucun ordre ne se refait ailleurs. + * + * @param {TableEvaluation} table + * @param {number} n entier ≥ 1 + * @returns {{gardees: number[], effacees: number[], origineEnPlus: number|null}} + * gardees et effacees : des identifiants, dans l'ordre de la table ; + * origineEnPlus : la proposition du retenu gardée au-delà des n premières, + * null quand elle en est, sans retenu, et quand la liste ne la porte plus + * @throws {TypeError} n qui n'est pas un entier ≥ 1 + */ +export function nettoyage(table, n) { + if (!Number.isSafeInteger(n) || n < 1) throw new TypeError(`nettoyage : entier ≥ 1 attendu, reçu ${JSON.stringify(n)}`); + const ids = table.propositions.map(({ id }) => id); + const origine = table.retenu?.id ?? null; + const origineEnPlus = origine !== null && ids.indexOf(origine) >= n ? origine : null; + const premieres = ids.slice(0, n); + return { + gardees: origineEnPlus === null ? premieres : [...premieres, origineEnPlus], + effacees: ids.slice(n).filter((id) => id !== origineEnPlus), + origineEnPlus, + }; +} + // --- Le détail d'un placement (§ 12, § 12.9, D27, D29, D40, D42) ------------ /** diff --git a/src/application/evaluation.test.js b/src/application/evaluation.test.js index 36394e4..99534fe 100644 --- a/src/application/evaluation.test.js +++ b/src/application/evaluation.test.js @@ -50,6 +50,7 @@ import * as EVALUATION from './evaluation.js'; import { detaillerQualite, evaluer, + nettoyage, premiereDuClassement, rencontresDePersonne, resumeDuMeilleur, @@ -602,6 +603,61 @@ describe('resumeDuMeilleur : la proposition au rang 1 que lit la liste des évé }); }); +describe('nettoyage : les n premières du tableau, et la proposition du retenu (§ 5.7)', () => { + // Les plans écrits à la main, que le classement range 3, 2, 1, 4. + function chargeConflit() { + const charge = structuredClone(chargeDemo('petite-conflit')); + charge.propositions = PLANS_CONFLIT.map(({ tours }, rang) => propositionDe(charge, rang + 1, tours)); + charge.prochainsIds.proposition = 5; + charge.evenement.etat = 'propose'; + return charge; + } + + test("garde les n premières dans l'ordre de la table, efface les suivantes ; sans retenu, rien de plus", () => { + const table = evaluer(figer(chargeConflit())); + assert.deepEqual(table.propositions.map(({ id }) => id), [3, 2, 1, 4]); + assert.deepEqual(nettoyage(table, 2), { gardees: [3, 2], effacees: [1, 4], origineEnPlus: null }); + assert.deepEqual(nettoyage(table, 1), { gardees: [3], effacees: [2, 1, 4], origineEnPlus: null }); + assert.deepEqual(nettoyage(table, 4), { gardees: [3, 2, 1, 4], effacees: [], origineEnPlus: null }); + assert.deepEqual(nettoyage(table, 10), { gardees: [3, 2, 1, 4], effacees: [], origineEnPlus: null }); + }); + + test("la proposition du retenu, après les n premières, est gardée en plus ; parmi elles, rien de plus", () => { + const charge = executer(chargeConflit(), 'retenirProposition', { id: 4 }); + const table = evaluer(figer(charge)); + assert.equal(table.retenu.id, 4); + assert.deepEqual(nettoyage(table, 2), { gardees: [3, 2, 4], effacees: [1], origineEnPlus: 4 }); + assert.deepEqual(nettoyage(table, 3), { gardees: [3, 2, 1, 4], effacees: [], origineEnPlus: 4 }); + const parmi = evaluer(figer(executer(chargeConflit(), 'retenirProposition', { id: 2 }))); + assert.deepEqual(nettoyage(parmi, 2), { gardees: [3, 2], effacees: [1, 4], origineEnPlus: null }); + }); + + test("un retenu dont la proposition n'est plus dans la liste ne garde rien de plus", () => { + const charge = executer(chargeConflit(), 'retenirProposition', { id: 1 }); + charge.propositions = charge.propositions.filter(({ id }) => id !== 1); + const table = evaluer(figer(charge)); + assert.equal(table.retenu.id, 1); + assert.deepEqual(nettoyage(table, 1), { gardees: [3], effacees: [2, 4], origineEnPlus: null }); + }); + + test('les hors classement viennent après les classées, par identifiant, comme au tableau', () => { + let charge = generee(chargeDemo('petite'), { graine: 1, nombre: 2, arret: 200 }); + charge = executer(charge, 'exclureParticipant', { id: 4 }); + charge = generee(charge, { graine: 2, nombre: 2, arret: 200 }); + const table = evaluer(figer(charge)); + const ordre = table.classement.ordre; + assert.deepEqual(nettoyage(table, 2), { gardees: ordre, effacees: [1, 2], origineEnPlus: null }); + assert.deepEqual(nettoyage(table, 3), { gardees: [...ordre, 1], effacees: [2], origineEnPlus: null }); + }); + + test('n hors des entiers ≥ 1 est une faute du code', () => { + const table = evaluer(figer(chargeConflit())); + for (const n of [0, -1, 1.5, '2', null, undefined, Number.NaN, 2 ** 53]) { + assert.throws(() => nettoyage(table, n), TypeError, String(n)); + } + }); +}); + // --- L'ordre des priorités, le mode et les cases (A11, A21) --------------------- exigerVerification(process.env); diff --git a/src/application/libelles.test.js b/src/application/libelles.test.js index 8044fea..73a20e2 100644 --- a/src/application/libelles.test.js +++ b/src/application/libelles.test.js @@ -519,6 +519,7 @@ const EXEMPLES = new Map([ ['ENTREE_ENREGISTRER_GENERATION', { n: 5, premier: 3, dernier: 7 }], ['ENTREE_RETENIR_PROPOSITION', { id: 3 }], ['ENTREE_EFFACER_PROPOSITIONS', { n: 4, gardee: 2 }], + ['ENTREE_GARDER_MEILLEURES', { n: 10, effacees: 37, gardee: 42 }], // Places : refus d'une pose, titres, réservations, retenu ['SIEGE_INEXISTANT', { table: 2, siege: 9, capacite: 8, remede: null }], ['DEUX_PLACES_MEME_TOUR', { participant: 1, tour: 2, autre: { table: 1, siege: null, portee: 'tous', tour: null }, remede: null }], @@ -940,7 +941,7 @@ describe('libellés : les tables par domaine (§ 14.6)', () => { ['seance', ['MODE_LECTURE', 'SUPPORT_ROMPU', 'SANS_EFFET', 'ENTREE_DEFAIRE', 'JALON_CREATION']], ['participants', ['NOM_REQUIS', 'PARTICIPANT_INCONNU', 'RESERVATIONS_SUSPENDUES', 'IMPORT_EN_RETENU', 'ENTREE_AJOUTER_PARTICIPANT']], ['evenements', ['ENTREE_CREATION', 'DATE_INVALIDE', 'AUCUN_RETENU', 'PLAN_NON_BLOQUE', 'ENTREE_DEBLOQUER']], - ['generation', ['PROPOSITION_INCONNUE', 'ENTREE_ENREGISTRER_GENERATION', 'ENTREE_EFFACER_PROPOSITIONS']], + ['generation', ['PROPOSITION_INCONNUE', 'ENTREE_ENREGISTRER_GENERATION', 'ENTREE_EFFACER_PROPOSITIONS', 'ENTREE_GARDER_MEILLEURES']], ['format', ['format.vide', 'format.duree.vingtMinutes']], ]; assert.equal(ATTENDUS.length, 7); diff --git a/src/application/libelles/generation.js b/src/application/libelles/generation.js index 2477b04..9cdf32b 100644 --- a/src/application/libelles/generation.js +++ b/src/application/libelles/generation.js @@ -62,6 +62,15 @@ export const TABLE = new Map([ `Effacé ${compte(n, 'proposition', 'propositions')}` + `${gardee === null || gardee === undefined ? '' : `, gardé la retenue (n° ${gardee})`}`, ], + // n : les premières du classement gardées ; effacees : le nombre + // d'effacées ; gardee : la proposition du retenu, gardée en plus, ou null. + [ + 'ENTREE_GARDER_MEILLEURES', + ({ n, effacees, gardee }) => + `Gardé ${n <= 1 ? 'la meilleure proposition' : `les ${n} meilleures propositions`}, ` + + `effacé ${compte(effacees, 'proposition', 'propositions')}` + + `${gardee === null || gardee === undefined ? '' : `, gardé aussi la retenue (n° ${gardee})`}`, + ], // --- Le contrôleur de génération (§ 5.9, § 5.10, § 15.4) ------------------- ['GENERATION_EN_COURS', () => "Une génération est déjà en cours : l'annuler, ou attendre qu'elle s'achève."], diff --git a/src/application/registre.test.js b/src/application/registre.test.js index 559c22e..0efce28 100644 --- a/src/application/registre.test.js +++ b/src/application/registre.test.js @@ -171,6 +171,19 @@ const RETIRER_UN_LIBRE_DE_LA_TABLE = (idTable) => [ (charge) => ({ tour: 1, participant: libresA(charge, 1, idTable)[0] }), ]; +// Deux propositions de plus sur la charge où le geste s'exécute, sous une +// graine qui n'est pas celle de la charge témoin : de quoi effacer au-delà +// de la première du classement et de la retenue. +const GENERER_DEUX_DE_PLUS = [ + 'enregistrerGeneration', + (charge) => { + const configuration = configurationDepuisCharge(charge); + const { historique } = charge.reglages.generation; + const propositions = rechercher(configuration, { graine: 23, nombre: 2, arret: 200, historique }); + return { propositions, configuration, produitVersion: V }; + }, +]; + /** * Par commande : accepte, refuse, sansEffet, chacun { args, avant?, sur? } * — args, un objet ou une fonction de la charge où l'exemple s'exécute ; @@ -323,6 +336,16 @@ const EXEMPLES = new Map([ sansEffet: { avant: [['effacerPropositions', {}]], args: {} }, }, ], + [ + 'garderMeilleures', + { + accepte: { avant: [GENERER_DEUX_DE_PLUS], args: { n: 1 } }, + refuse: + "garder ne refuse du domaine qu'une configuration qui ne se normalise pas, que la charge témoin ne porte " + + "pas : ses réservations tiennent ; commandes.test.js l'éprouve", + sansEffet: { args: (charge) => ({ n: charge.propositions.length }) }, + }, + ], [ 'creerTable', { diff --git a/src/application/seance.test.js b/src/application/seance.test.js index ad1c7ca..a0def0f 100644 --- a/src/application/seance.test.js +++ b/src/application/seance.test.js @@ -3645,6 +3645,37 @@ describe('séance : la course de la recherche dans son compagnon (§ 5.10, § 8. assert.equal(fs.contenu('documents', COURSES), texte); }); + test("garder les meilleures retire du compagnon les courses des effacées ; une entrée, que défaire rend, compagnon compris ; en lecture, refusé sans rien écrire", async () => { + const fs = creerFichiersSimules(); + await deposerEssai(fs); + const montage = monter({ fs }); + await ouvrirSansEcrire(montage); + const { seance } = montage; + await seance.passerEnEcriture(); + await seance.executer('enregistrerGeneration', generer(seance.charge, 3)); + assert.deepEqual(dansLeCompagnon(fs), [1, 2, 3]); + const entrees = journalDe(fs).entrees.length; + + const rendu = await seance.executer('garderMeilleures', { n: 1 }); + assert.deepEqual(rendu.resume, { effacees: 2 }); + const gardees = seance.charge.propositions.map(({ id }) => id); + assert.equal(gardees.length, 1); + assert.deepEqual(dansLeCompagnon(fs), gardees); + assert.equal(seance.charge.prochainsIds.proposition, 4); + assert.equal(journalDe(fs).entrees.length, entrees + 1); + assert.equal(libellesDe(journalDe(fs)).at(-1), 'Gardé la meilleure proposition, effacé 2 propositions'); + + await seance.defaire(); + assert.deepEqual(seance.charge.propositions.map(({ id }) => id), [1, 2, 3]); + assert.deepEqual(dansLeCompagnon(fs), [1, 2, 3]); + + await seance.passerEnLecture(); + const etat = fs.contenu('documents', `${BASE}${SUFFIXES.etat}`); + await refus(seance.executer('garderMeilleures', { n: 1 }), 'MODE_LECTURE', { remede: { geste: 'modifier' } }); + assert.equal(fs.contenu('documents', `${BASE}${SUFFIXES.etat}`), etat); + assert.deepEqual(dansLeCompagnon(fs), [1, 2, 3]); + }); + // Le compteur des propositions ne recule jamais sous défaire ni revenir ; // il recule quand l'opérateur reprend un état d'avant la génération, ici // son .precedent. La génération suivante, sous la même graine, porte diff --git a/src/interface/libelles/communs.js b/src/interface/libelles/communs.js index fb3a571..614c6dd 100644 --- a/src/interface/libelles/communs.js +++ b/src/interface/libelles/communs.js @@ -72,6 +72,7 @@ export const TABLE = new Map([ ['communs.remede.enregistrerGeneration', 'Enregistrer la génération'], ['communs.remede.retenirProposition', 'Retenir la proposition'], ['communs.remede.effacerPropositions', 'Effacer les propositions'], + ['communs.remede.garderMeilleures', 'Garder les meilleures propositions'], ['communs.remede.creerTable', 'Créer une table'], ['communs.remede.supprimerTable', 'Supprimer la table'], ['communs.remede.deplacerTable', 'Déplacer la table'], diff --git a/src/interface/libelles/propositions.js b/src/interface/libelles/propositions.js index fa0ff48..3784387 100644 --- a/src/interface/libelles/propositions.js +++ b/src/interface/libelles/propositions.js @@ -11,8 +11,15 @@ // chaque valeur qu'un palier applique par sa clé moteur.valeur., // puis l'identifiant croissant, qui départage deux propositions égales sur // tous (§ 5.7, A11). +import { creerFormat } from '../../application/format.js'; import { compte } from '../../application/libelles/aides.js'; +// Un nombre de propositions, mis en forme, et son nom accordé. +const propositions = (n, texte) => `${creerFormat(texte).nombre(n)} ${n <= 1 ? 'proposition' : 'propositions'}`; + +// « la meilleure » pour une, « les N meilleures » au-delà, N mis en forme. +const meilleures = (n, texte) => (n <= 1 ? 'la meilleure' : `les ${creerFormat(texte).nombre(n)} meilleures`); + // Le nom d'un critère du classement, celui de la table du moteur. const critere = (nom, texte) => texte(`moteur.critere.${nom}`); @@ -347,6 +354,36 @@ export const TABLE = new Map([ // de qualité, qui la mesure (§ 12). ['propositions.commande.qualite', 'Qualité'], ['propositions.commande.effacer', 'Effacer les propositions'], + ['propositions.commande.garder', ({ n }, texte) => `Garder ${meilleures(n, texte)}`], + + // --- Garder les meilleures (§ 5.7) --------------------------------------------- + // n : le nombre à garder ; effacees : celles qui s'effacent, comptées par + // nettoyage (evaluation.js) ; proposition : celle du retenu, gardée en plus. + ['propositions.nettoyage.champ', 'Propositions à garder'], + [ + 'propositions.nettoyage.titre', + ({ n, effacees }, texte) => `Effacer ${propositions(effacees, texte)} et garder ${meilleures(n, texte)} ?`, + ], + [ + 'propositions.nettoyage.gardees', + ({ n }, texte) => + n <= 1 + ? 'La première proposition du classement reste.' + : `Les ${creerFormat(texte).nombre(n)} premières propositions du classement restent.`, + ], + [ + 'propositions.nettoyage.origine', + ({ proposition }) => `La proposition n° ${proposition} reste aussi : le placement retenu en vient.`, + ], + [ + 'propositions.nettoyage.defaire', + ({ effacees }, texte) => + effacees <= 1 ? '« Défaire » rend la proposition effacée.' : `« Défaire » rend les ${propositions(effacees, texte)} effacées.`, + ], + [ + 'propositions.nettoyage.annonce', + ({ effacees }, texte) => `${propositions(effacees, texte)} ${effacees <= 1 ? 'effacée' : 'effacées'}.`, + ], // --- Retenir sur un retenu ajusté (§ 2.1) ---------------------------------------- [ diff --git a/src/interface/primitives/Confirmation.svelte b/src/interface/primitives/Confirmation.svelte index 437f293..3e35e79 100644 --- a/src/interface/primitives/Confirmation.svelte +++ b/src/interface/primitives/Confirmation.svelte @@ -2,16 +2,16 @@ License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) --> @@ -213,6 +320,29 @@ {/snippet} +{#snippet commandesListe()} +
+ + + {#if refusGardees !== null} + + {/if} + +

{annonceMontree === null ? '' : t(annonceMontree.cle, annonceMontree.details)}

+
+ {@render effacerListe()} +{/snippet} +

{t('coquille.section.propositions')}

@@ -227,7 +357,7 @@ {/if} {#if vue !== null} - 0 ? effacerListe : null}> + 0 ? commandesListe : null}>
{#each vue.ordre as morceaux, rang (rang)}

@@ -274,6 +404,16 @@ surAnnuler={() => (aConfirmer = null)} /> {/if} + + {#if nettoyageMontre !== null} + t(element.cle, element.details))} + surConfirmer={confirmerNettoyage} + surAnnuler={() => (aNettoyer = null)} + /> + {/if}