From 7ad2796a09139194d4e29890a3ef3f3bf0dd28c5 Mon Sep 17 00:00:00 2001 From: Michael Barker Date: Mon, 8 Jul 2024 12:54:13 +1200 Subject: [PATCH 1/6] [Java] Add test to track version changes to the recording log. --- .../cluster/RecordingLogVersioningTest.java | 117 ++++++++++++++++++ .../src/test/resources/v1_45_x/recording.log | Bin 0 -> 378112 bytes 2 files changed, 117 insertions(+) create mode 100644 aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java create mode 100644 aeron-cluster/src/test/resources/v1_45_x/recording.log diff --git a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java new file mode 100644 index 0000000000..d7f0cf6efc --- /dev/null +++ b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java @@ -0,0 +1,117 @@ +/* + * Copyright 2014-2024 Real Logic Limited. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.aeron.cluster; + +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.Random; + +import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_TERM; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class RecordingLogVersioningTest +{ + @Test + void generateRecordingLogForVersionTest() + { + final File parentDir = new File("src/test/resources/v1_45_x"); + final RecordingLog recordingLog = new RecordingLog(parentDir, true); + final Random r = new Random(892374458763L); + final byte[] bs = new byte[256]; + + final long termRecordingId = r.nextInt(Integer.MAX_VALUE); + + for (int i = 0; i < 2000; i++) + { + final int entryType = recordingType(r); + final long recordingId = ENTRY_TYPE_TERM == entryType ? termRecordingId : r.nextLong(); + recordingLog.append( + entryType, + recordingId, + r.nextLong(), + r.nextLong(), + r.nextLong(), + r.nextLong(), + r.nextInt(), + endpoint(r, entryType, bs)); + } + + final List entries = recordingLog.entries(); + final String s = textifyEntries(entries); + + final RecordingLog rNew = new RecordingLog(parentDir, false); + final String sNew = textifyEntries(rNew.entries()); + + assertEquals(s, sNew); + + System.out.println(s); + } + + private static String textifyEntries(final List entries) + { + final StringBuilder builder = new StringBuilder(); + for (final RecordingLog.Entry entry : entries) + { + builder + .append("entryIndex=").append(entry.entryIndex).append(',') + .append("type=").append(entry.type).append(',') + .append("recordingId=").append(entry.recordingId).append(',') + .append("leadershipTermId=").append(entry.leadershipTermId).append(',') + .append("termBaseLogPosition=").append(entry.termBaseLogPosition).append(',') + .append("logPosition=").append(entry.logPosition).append(',') + .append("timestamp=").append(entry.timestamp).append(',') + .append("serviceId=").append(entry.serviceId).append(',') + .append("archiveEndpoint=").append(entry.archiveEndpoint).append('\n'); + } + + return builder.toString(); + } + + private int recordingType(final Random r) + { + final int type = r.nextInt(3); + + switch (type) + { + case 0: return ENTRY_TYPE_TERM; + case 1: return RecordingLog.ENTRY_TYPE_SNAPSHOT; + case 2: return RecordingLog.ENTRY_TYPE_STANDBY_SNAPSHOT; + } + + throw new IllegalStateException(); + } + + private String endpoint(final Random r, final int type, final byte[] bs) + { + if (RecordingLog.ENTRY_TYPE_STANDBY_SNAPSHOT == type) + { + final int length = 50 + r.nextInt(50); + for (int i = 0; i < length; i++) + { + bs[i] = (byte)(r.nextInt(90-48) + 48); + } + return new String(bs, 0, length, StandardCharsets.US_ASCII); + } + else + { + return null; + } + } +} diff --git a/aeron-cluster/src/test/resources/v1_45_x/recording.log b/aeron-cluster/src/test/resources/v1_45_x/recording.log new file mode 100644 index 0000000000000000000000000000000000000000..6a668d9f3f1e178f6c50fac2c454b94360e69558 GIT binary patch literal 378112 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%0Ahwjn(sQ{YL?D0|CV;FfG?0fn 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

kH$ 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 (6sp>VcA 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

@ZHdouX|^Vq@}X>C-cnXqF{Vd^$# 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 JV&EC@?%C#toX3L=@Ae*+jFS+R~#tq zhV2Z$Y8PLEzoVQRI8HTh>7BISM{ZGMZ?bBaj2z#(tm{bf7n4e(-;TQR*BwHm(L^DV zgr+DMBni-}P%&`~KIlpnA-EzQi-RT!u?z)?BU9rEVx?Tcp_Ax%B2EB45D64ET_(eE zz(x&+WimBVz&-IF{(jguTvmuP!$)S%ys0U@!hYOok(HoDTEO-ddHodFPNZX3#g=Fi zYBrDPh#h!;7J>LFFd`WzK(go@(7uTVfeGjcj*E| z=VD1RF&T#d&^@Ax0{R76Fq}q9RI#)GX~GbTQGg4MLWh8h7$#Un|JnZeG`lzda{AGk z3mXF$s(e-k9+<6s)Hd_h0(sW;CrejX)O{_?^T~O*c!Y=Mk-u*I^y43#Kdx8(%g)>| zdC+z1)HP2J$gx|wW1p^UD>!4{_F^x~_HC!xKBOry|HB?VI{#VG*3)%INppwq97AMU zMGfDv8Shzq=h3?N7G}riJNcM&JoE0N%H85@b>mL~4+M&4%OMIDl}Dga$asaAC_ziW z@v4%~5MW>e8jHy#5xFF?5(_%!MH-S)rlt{vcp{gjW}q=5@?Y!c_){EEX+F8`)!q4S zizocZdTg+Wd8B}md9S5O#;Clv1XKA<`2xuZ> z5E(EYNyfox0p}7zP1GuY)QgrZ<13&HAgO_3srX_jPJrfe$sz(w!iTePOsoRS#c9bH zx|S`JN&kcKyWDkpg6GMed9(bi*cT&H?q!m+h7*l!UksmUQc}6qnVgQVJ$PS`St7TJ z8NeUv$L}e5a6koJfA^Z#=j!ms9NVQcd`BIQd$xwI-d7zNodXLnD!y;PxiiMs%6zS^ z{<`&_kLJqBLNM0|3@%>5LqIV!CBVx#QAb@mdYtC;=Jv|cwW4j>)u$K#9iML*NwrU+jZ}czCE&G`^HO* zB7@HL_g;?5Ju$rPGCifSwaIwJuY!H(ua}rtllteHpLE%?E2pwdSAQLT4baRf(Kvw? zK>$3`ObQf%rBT#q2#xHAYex&$bTNoXWFPAy<@fgmkjfh4NvfOdgS1{4|)n3{@}WB&2{dpa*+ z^4{!y4h>?mG#ypm;q_9x)NcJp_gm#A1!vA*j_G!C>c@}>bq|K=*M3(E`V#> z^a7DM~Cv(g`q_Qq4mV zr~;-ETpn;aSSnL0ks>*A&HrKTz2kCx-~VwUTlS6=$q4rz*S+`N_jTR(Eh8%$gp!nK z+F4lrs_d0nC_5u7L>iPR^gFJ8-#(xBH@)7E_v`ik{&Dix(Q%x|dEV!Bp2v7T zc~ln9rv7LCFR7j+xtP3dNa4vHm%}&FUqz}$tad)JQZKk*uP(LQv$3vQtjAcNR=qgY zvIhJJJb#Z$B}Ouap*DkGY30BU%fkTDLWvNKKyk(5 zlMPH2RSA8LHmH!|iV?O&fzjwPxfDJ-C<-}lvz*EhGO@pR|LJgcY^n&$dilieK!>QO zD>PT$6{k6a|{+_f_nQIO$M+ zWP1PDk4^(G7Nrz~ocP%N#9-GWpIXS?&QZml$!y49;P-ze4WSu1Vi64`G6^gdPinO? z#0)M?qmi0`N)39{$U-v*z#qg)9TZ#&Er_1TSMV7q*@iWpKP4|TKcHpFxCOR@vs(SW z;az|A?YgfY2JiHx^x~RZGOGKohH#OsN)%=QM!#%_M55Bt8!nsVEGC68hv>Itrga zC##q&DA6@T4~^mP`oD)M^?BJbWx>VEgl(^ZmE?+s7rlO-d|^=3Ys9>mgdzHEwy`2k*mu=3AXyvD-eeCE9yA z$ccE@9?i+WT_^JQjoY|opxdWH)5W0$Ww&l*I0ol#%>A^dL&wigcDMM}+G+LMsOg(Z zcgEoU!|ONUn34cwfl^KtDQQ|8$3i1%$$$W(k&F3Up3!I)*%WdWB9jxKiHIh%@Ws&d zrBpzD(VzZHt|SNbY~lI2Z%P-+jTw1l_xXXoS?%qkgpOW6)i>5<&1Qw|SQbQDa&MBZ zA^*};f9c8V9qviPTBRK<$V{sJJ+_nb$SbF}lO<`bLb8U%1hjCs26(j@=k|PxSXqP5 zzo~rV_pj#O{c>Bju8{_L;hvAse4 zpPSmvUNB-ZX_KYgKXJ?K{WptJR=Nhhbe-OQ$koWzCEr2)ANp<2&Yj$`E!mVe`Bz+m zGMX1K;9<@*)5(!_5*xbn|d<>BK*9NHk>qr13THf8HHFYfVU|yD`~^89l6( zy!3)PH`%*;(o(;6a~kkJn%W<$Z+$Gk?e*9Z;aQv6)B5%9d81=|>bpSG<`K&tKe_y^ zza2T_?V;Nfcdec+Y^YyvD&M$%r{=eEaN$4j_4Q5voc_2?pG5@w-duXl$oO?HBm3O1 za*mLGYsg>ym3-vAWcixPy62xCXUS$yE1Woat3{jj-XYZa%eY-(p1Wob>2Yl`zJ5*R z{mwj_f|0MR$h=U{C4MShI{M3y-^fnOce{=z*OSUQ(Z_BL(d6V+B%WHrYG()XRv0#| zibT*7m0U!R82CnxTq&_g1Vj~|N+l5mHUKNaBm^c~hy$T(5fe|QBPe+^kw7U$1SS#R z43A^Bif$rVL~0w9g)4b-gw7C<1pj3HDjbi#H9agko|5zp;BN66vWP_spUWYAzvuyHM{ZcPJ;h=1_`Utdz|{Ykf1~{6gK0Yo z<<|LrbCTU<1M0s_J2ZiJrroOfMcQ5`&%6-~OmFAs`0wP`ig~L$U;n-+w>*sOe%Jq# zqid8V$Lroe^0!m0!&7o7`gLXe=H!PIcj47`Aqbb=yWjQQxV+5u57)Ih61~86T=cth zd%MoR(ska_wLe~@SZh5V+2QMlKLR;w3g05oDCk;&0RS8&2Az>&Lg)%HaLEIlxLKz$ z3!$9UfXFRIjHe=zWHb>;tLO7LJUtNtn`EgF@QOrqsR=Vfg6qFpzefLkI}uk9j%|5# zZOW6<$6*%FHGWgR^nBv!N*g-ga(rG^UOP?!6Q6%m`^Ud`onmeIi#(&%vedyhl}ASR z>YYt5qrGwa9OLt}Bl}pn+qj7Dsofcrdr3L?{BisVshX=b=~a031X0Un$*CHFLcro{ zA#Q30x)r%XZ9_3C#?l+1%-IZm-ZYW{xE4qjnMF?)3rrLZCI+tMhWST4|Fkn^1+#h( z{po{1yKjs|+ZU31Kj5&`QK$K=)o$&V**05a+fR=R+Bj|+t{=}I*_3hys)NfMkw!O5 z5Qrk{4MM9x4{22zMUF`kuEwmjk=P7OYP2eWGo7i!G!}yma4w8|CdH)G3kf2qS>RYmwmzaR8mr%9#~&ebf31IUJzXXb?s7}wQCn6)gIvyA85Md|3X$l|fC z%L><)9w*~*`|sB&G0)Iz-DrbXGc-O`~g}tQhKYEL=H*CZh}KDwRov z0)G?L2H-d}D#n-d2vio7-^erq5(+$@W*SWoIPwUKMb<-c5Ogp6&EJ3H{xPM!Z@Vxc zh06EpK7D#Me^9}Um~Znh?%Tp!{d&0G{Twr4l&k?irK$b8HMt%kJL9*#{`%zp8>+-Q zx5btjq~j%~GdJ5V7)kaXPcF5;#+%3UF7-LRxAFe;uk&xzFW+drC{G-E$N5frxj!#?{v_eYLz>7wYEL|?mX zf83R22ghdY`q-03p)wqT{j$$Ar{6`Iw&;-0ffa`Xs>6!&-nBpcyHA(risG`tvF#|-U{ z936orP_uX}y%I|Mc{;gD%@NATHWC9WIVC!=O>P0IK9N!-fFfHRm0_lulz^!6ch@hh zW1T`sr_{t%u$=6}R;R8hS+i~Norn+Lo+eJy4V|}CiGqp&1_pwr8t6{63avUd0T@O8=Kfn0Vn5q?{*#J1P7C~cMI3v3GfZ8x#aOdjxa~w~fy0@qvpZ_=*JPy#sFflU5W?HybvqYpqNNj=u&T@`QW>V{n zh?y&v@NEi>&8U-+Wtf(rq*ysd6Tp;1Hv(#q$si`ifj$5x$xNY;5Sl_MqC-rX{`cqK zxc?pdAIXZQ%t-s?x;@3Ow&YaO>t({%cW2dJXt6i^?AORHtixYNf$4wP|NJqtlKxUT z)#2i9AN4hbIic^?+57M0E!jWlYs3$yVCvJWgB3k&7l&V8cP9?_U(@+F>hETDoau3+ zN1~x{Wxut@=J#HE3@QFK?7)?A-;I^CPM<$RciP&!IsJ|DM?>$N|Fy7_&}jTMLqnLD z(r5km${Vc)X3cWFQ|Y#^$B5qt%APhSf2G!b$}n2{onLM7OD2r%T6oOVr)%$TIrxahu%tdGM^~3vbOcJu3p@V{Wi44^$4Mq`WkTU_0gsRYqtR$m} z$bpUx$>MSQknyMNbGq|r|-3`atvK})k4=2{+{%fkgasJi6g13u3_G}$(N-qj; zx2RLEJI*q8Q!!~VKL4ij)u;3QJJLgTITiXHJzO~VBy+&U>RZRp zZyywzUqiR+T0Wok=`EvYHF47687=Vn&?b7W;ps9KC+(b0jeKnI^x4qIx{QZSoU zt%p8#samMek+>E)%2F{=88EW{)%=4?)lc6{bu4@z5*@8Pl40tKbi6xCDhP6n%|q1)nXQr;)J!dnr-i2~LVy^f zR>$HHF%<>`$$TonMc61(IzfRD0F{nMC9$k3G7k~L=bFhS8C6`s_y6yHKLtnb>~VPS z6XE~-{4v?;UABRg#YdNoyd1PBGOA$5`mHUGuKzX~OmETD{&B~S<{oZ0-Y>iOynIsd z4^zc$H2)!ouu{_cJw0;K^casLF>l*dtu5`2)$POAzp4DN7rr0)Pdw~I?|mI8H`ad3 zv~1d@9o7w*53E>J8md>{nF9-q05>;dwl)yA}X;SU;!n-!K>p7baDZQi^-uQ zTuT$N(}{ z;A1=A_bs0`<7U)l-iI%IE;o{F zS~;K`GEHVKTZk$#5kW@O>Zp1KO+w&GNerP{sw0y*dWw)k5E?mTu~|W6LaV2aPp+dp zEnm>FdVE#j=TBv?tKU|2Ygg2+{6+tk74+7d2d!;WgZ-4fd-GAIaczm~H^I;`;BzGw zBPff?1MDWHRER_6Dx_oZk{9(EH{%LCe%yB~&O_-qI?(q1PgRXNg>RR-GKs~Tg`)Xg;zEQc)x2HOf z^&B>%^~Sqz<)zKZt7$`PF27xW$lN#0a%JT*Y50rm%3-IwSyGAS0G~5cTOO)h+vZf; z=M%(&t|yw4Z`?oOG0|Eh>BZxvjyrM}M`pIVyiF*H+|w`hV%~`aFVYa<=x?FB!2Cb# zZ{c?D;(!HTHu;pf&-RFA``_)mhI4-2NBq-#GvHWiK*J zbA|@hd!CzBHqfmm=NYD+_>7jh zsMsZ>IG~r^?}yTzqdO~y&P&7G@%8&F{pjGm{G3%!t1SU-Z)QE}s!0*nG9F`|{cg}7 zhQ4iWcf6KSI;1)MHSHWPmhP|wMtGlimC}3N0W(GR!?U2|_>HfTzF8r;ZBy)R7O&o9 z;j7j`$8rDT^{+O)6}2)n@NSg=PoWLv0@DVBFDz^x#L(b_YlaVkfD3pQVx3H_WYM{N zfd0@@MQXZ*M`mdlDh9{OWtj*B8=Fj0nayOTN=gv1%qW}SjyBG^%##eX@HI(^OVZu5J#7Q3nv;)upJ6vP z5!Vg5=*DFEwU6%H`m@WqtSC)BzJ60+FsVR5Wq{M4 zNoJBbN(%s==+#sShKLD70Z&WSS_C#&PZ5L5=L=!g#0ErffTW0x4{c{!HI;1!9%`GB zL^e^>at1+YqN~Uz9hHsJghYg601(~(eEmx2N0h2t?4PyB#Dr4in+|KaoJK*bp zl^>oTSyvZ0J3sTdI^oQM0j<7{!hgR_?QdK^1?2um!jaR1@=e}l@(qC<%tgTUm`0HcZnNgN$wRceV8x|pn?arhiMfYF%= zCPZY$sHjG)l1XJ$;5^|<F(L@u7g(`qIG1v$g(E2d|#ZRI%1C1Xbk(&5svdOF_LMfq%O(n|}MpURU z7&HVpKY;*6fdp&c=SYe^TYih*U)odVb^plxW4+tHbr9;1{<8E5`9}z)DUxUBEa@wv z?C|~5RR6*5m6VphhR?encJ5S-`Y_++?C0aBsH9yv&*#2N{)~(MrTmds+K%QuB{yUp z4*JbuiVGeY>-pBK^L!`=A$l2;bKVKFw9EYn@)7 zzs2g_xpu{ZHcQU^yw#(j{tAy@D}YeYqNRyZwMob3X;7^dkx@lVgNA2>xH`#V;So6; zg2BQS@I_KHS#8rP;E6>ADpIKu3ShW23m30MCYlXYGf7LA=^=z{66yZY`FkeTUN=ch zPfxKo`VPE1>>d`ARfJr!`1yx#?sRzWVXr}q7gmQ?MK`Va@%`}iYifV@xBg!rR$X{? z`#9~$8Xzw8jGJlJQzkb0P1OFbb){e z9P}cZSxOb^0i{XL)#?;dwvaCa&Q-uY1D-|`0qET^Ei^)zq!uMn4ZB22`{zjO{y|zF7Vm*UyJx;&3<;1J?ja z8v{pAljDhBKyPGI*i?hgX0b5!C>JW-q%5^eOQ#xHJhIIyW{|jSB4QO^KS-Gx3v(Z}WSZH)=j(oV1TY{1WHD&P3~Iim|t z9k^_LQlE_7Z^oE&Zw+@I=TjZ!y!a9GPuYy4RANm{R69(l8g2p`^FvRUD z)+H`9aKm$YqH2cUq0>j4#$J;OcdS0RE%o2Y+fUIIBs?$fIx!)>99ej4-mn)>OZL~j z|4jKFIwoXpz2P4FHh%Q}p+CC)%S{h`&Yd3`ML#gP%dMBcimEoe*fROdcpk5Alc2i) zW*_l^Z-ts=+NL9ZJkdL(zZn(i+z-}1)qOY z`OWdQm)%0hBNDd`Kco77Enz6(?9JATgJ)z|LZny(dZnR%2ggqW z5LOOqVQNu^QOjqtDHfxSNak2Dvr=NSpb!B>_y)E_&d@MTDA_E>G&+TqtVJXy6Q5$H z6DTG%3!sGL02-xZATpK~L(RbQ13!s>aDQ9$Q`WJ11A}nr_f6J=u+frvqIaDI6$QF1 zm-sIINlWc+>lH<=9jjjtYI|;~9oRk@_W@IBl@cLn&Qa;b29{OIr<=r3fX&9Zs6ZeW z@)T_Ns&SOf&wqY@N8X9#H@6p_tNt*0p@;p^qO-j-PY&$jb|j+1ykqQslOltjuZXveT*7iV zxo||I{VI+?q|<0=Qj`ieODPZ4uxLb#L6Y%_A|iu`$p{9GS!uPhj2Nn-@)%51t7lp? zbd%MlRsx{~Ph(NAIW!i@$Pi1E7!}$Nm55j$ps>l^(4ul8S>yZH2guE^?{;^Gq>r!4&V z;x4Cl?zfUhZC5L^v{zbZUkB%giVxNS=#^j{oFYJ$@K{`{oAvoif7$Jhh1AFyr^;Bubtw(W_KU2aMH8U z@78sT$A3D1*ncq8=WZ6-{@vq!>-SG@YtElH*JV)Fq1c{ZD|>Jizm`5|nJ$v8>EYYw zK^u`1K7Te0sR%*!I<>(B6PNyPuAzY#Ho9QB}48$n3~=5g4cl1$|<+6E^)^Wuh?GQ*E~3t-Rl=)WlfJ>46hdL1L8)|FHsg84qMiVy>fqn^!qVh zcKsS$Ki&jOv{G0`xr9&Upc!2yY#~$e04+rWK;Y1X8t&KRDQ1$XESx`i%DFlSKbT2CwWW|7 zbW9q`<|}1zp2;R1kAD4Zz&Y0z z!yRXhp1k);LVc@ex3_Ap{fOEp!Mmz0pBS1%BT9@QlE9V`&eBZ={eeAPR9+`pqdE3|1`C~!+l5pZ$EFg zd|sFN@YjvoYs+(7zb@Kwe)8{{Zi&yH(^!+3$0G`2kKb-*Qu*TZ$Lj}y5ZXjE^SA() zq9+oR3N5DMGE}HSK@>}X6-R7^%5ua&l2`y8-=Jr}uS1V1;KXWf{*C9yL6!THS^8C$1!`Y*?%y1Iv6`21-wj7q(hZ`4ubY8qmJDgww3$)!{a*{lP|ADvdm6;lm1 z7N5l-Q)w)#Q7-|WWRkY|`72Or=jqY8)eA4wjye2!Nz2fsnxqNFlTp8fQE0&#-GUD1 z)k{s;Xpu}c{|>%>P4x%#Z5NTgBA`XCZcR1ydbHEOD#M zc$}%k=g)ybg&>6$dVWPLI$%jzFgbJ)L4=m9R0;V)y$m{2)-2SHe8`nR}V|;XVRoSmAiz8>dT-o#esbE89?6G4@+RdJrI>PA=FJ(2$6U6_J z=RY|5e%dup`%ahai5o_a`7w$V9(u56{!>fXSQmDf{6nt}Z;~TsPwnq@^%)hPzYc~F zfxbRIkI2&zv=U5aQm7?nctR4G76V`w5OO*{|&6Y5V8|tNY8nl^5u-gV5rNYp)irmhJOI zT&nS(?jQCKsj4ooI+kL7zFLnx$#%-0z-li&jcxk&(R%$_ZNHIc&vmHZrmK9lwZrn6 z7To_$=ilgm)s2+HmR&RUMSCu?#vV{!Yq?@a_DV`vk~GY6lfT&-X&)w>H2mT7 za*qD1px4XownsP8ru|&2x@T6-D^2}IZ%%&O-A;#2*E_o|Hk%z6Z|uDO4t76mZ}0o- zo}I=ttBsE2QR7#x5MJ7%|E%|z+qnN#T(y`39T+^hiA>XT#E49xk}5R>fD@+ykRO*! zu>nP-Q7eXBYqqw(In~K^(Z?2 zy`ayDss5hPtX1q9+zj4NvIf|WdVp^ixq`C1Rb+TG^k3V2OLl_SM~Sr ze?4T%J82A>DCk=8y2a-`Gp;Y4IPEfz+HaOv93rx{_TTW)scymgpil1IvHke|X==Z} zpL>sAT}q7wD?W6;Q$Id@Zo+Uuz~@C{R_}P}(>AKt++Eks)Vwa=xV_yGkK4`3H?IGn z5v{`JhTl0Ii^w(~i*%SmNM_P95hXAdi1{oou<~*_GL4?kWeO++f{{xGieq&X|8Guw_-bEH&CKs( z(MJI$Q~PdhLO*P(#s#LKIV$7-#${?jcHJX)x&?B~T7+Qmn$YvsJ#6*e1nqC-+gg zHg3)FKFinEPG1w{KG7$5CarDnrToi2=522OPQJTGRlRE(o>wJ=1pBm*C=GM_=Q`xfB z1v4AsFHP6)tGT@UE|l|jfAYz=e*2YW>>ugh9VU%z_sJnp$NM<2m&bkGh>zR94SMX! zYN#J;DnE1a*~lA-`>I2n{mav8F2`BAWhZI8hN>c@5y|2si}GV9Ck|V-`*-Etl+zS^ z|KRu^bRbF*@(8F>4P1|UqFl+)=}|ypBLYXQj71T1sXD~W(Hm6~tyW7?6VwU>G5*E= znYp~xxB}~z$(=ViKK7iy%&p)}^aB~GrC{O8YX??7xoh7ic2w_&ulBU>J78i*TtEJP zg;Wd&c)p};0^HTPMof;9Oem10vnT`;SA;-UF;~boLgyVS)>63?l0gW~PAr>RC=v@W zszjpY^F&Gsl-hH36s=Gxl^Rhk9{_@Z4+v$5L?Rlr%l@bN-^TrSXp~cTgCIDw+Y?T7 zoB9z7A7XNwl#kOp)(x9|y6>P)oz~T?`V6N3VSl4Msi?E7_H^m)43S^R>W|SgW<*^Z zeQo&d4MTFbIz7-AjhXjLGyUJm&tez;?DN1gSXfeh#oK@C*~KT-bwP+Tvw~buoG|BH zm-|tp!kUxc{N&*F)VU?U2it92q`MVh5P06T4J>aT`?_$GxYL^ZW%XS%?Dn}M&zN)4 z8tPA)`v2t4_UGPSVti?PZ(6bTY-Kj_U2w4Q&D}ZeZ{4fdJiI+ObU@qi4nf05m#<&% zho8Sqn?2cm6N&T@jlM+QIAH%9MuhL+noK4@{zK5 zzpKkP4wNS(*@d3GFC-0Jv~{MU=asIlPI*m!F!<5zPOXW}$>(m_bKW&i_I$}n`hAW} zHDQXI)@#m!$3FfY0|rvX??-J8yOvPqb)Gpb-r7*V@mKaI&Kl!>MWS!J z^?@pl+A4EQeic_#+xMJL62AX&{1?3j5IE%$8Vg9;6&4jFe;EWDioXlBD!G+!6B-l< zO(5U`gQXe(2#6%PPNKKUY-+QHKryoP2AxzW;Q#;oU;b^_5570`?9!Xnb?tmj-s-B* znW9S`hED4`ZZRqCu2RmKZoSxbfjqAA)GU1cn(A-#|4&c<%#$uCFTs=d=F!R_LM=wxNX%;Knh*1d~ zjZ$S&tH=nS2LT$PNXk~|iI{>SA#yRO-M8>D5db-`IUJJIAp3jgheN-FAAN1_5(8;Z z?}_dpM~{9T5R81fclT?3F2XsB6fswhUH<4t-YL&kuB&nXH?_af|977Z=y&zwiaDhZ z)|}km;ls1BLm&3a9$2;9mYC*PpWUxA@Ml^y?!Tt;L*t_5?ZRkJT34Cg4E0W@c;;R9 z?HAB$MJ{h-ONX(~eeF}{ZH(za)6cY7yW#%xgrPPN5r#qxi0*0&N(ZJ8s8nTZcs7P! zsL?>`MIi#h8=}q(Me`({f*_(nu{u)$)$|fnFJJ=`BN=euprcobnbZ~zk4=|K6$G(d ztEO9_A3}!wo%7eBe+B*e_W+%B-qaSe-<{MmwE(V=EsE{9qpf|hJTp<9r_hAKoIk*YTRZTpXOJdxsXz#wH24KT_lhR@&=>dZVh$sNa z=^xvFjh%6Acf!Iiv^!VN#BZGU!n4y>Ucc(Zah2meC$FA8_`GBMjwyRL?!*RYiW>U= z@JA#OntjA{xy`1A-o0)WQ`I-6r-87QRY z>~Gxv+ehcc4EnltqC-;uoV8z9y1l2B1-`ubav2)&YOwF13DvUD84dZbrus=MPIRra z`C@D3j_oJLzADi7^t&rKql@chPI$a=Z&>7n<7u-8G8Rs*ouA*(e}O*&)e@#nNhGUu zGzAL~uUUM$(Ws0>?l98(f%=i*1HWaA9#W47ESdpPe_)o){K&VQ5B9wC)}t! zL~m)y3+LE+hq%|i8~<@z8S}y<@$?)t=5=}l{zy~#yTOyU9W?>rYgz&|9a4Z^67GznHuREPhf}{^-EcpyxLq z6P(wq$eroCdAn!V2;6?Whyc)mI0hTs0hl%8MH$7_H8Y!wQ9 z^%v6H?=5MFUpCeMEMsP&DWt=##M*7u>+UWsn7w(y!mEy-*`2?)=lRV!=gR2tYxItt zv9$S_ypPSW{Xt&U2Ae&V*0cIj9Z2~6WCIxDAlGtiA7#IMl&!?KjS{*9a z*wj$?BGYR5LX(UqS1EX8%!K=&u#!{ZxoP6bz0c9(SE`sZs_64GLU{8orTez`Cod0n z`h4Gg$lOJr*-ZBqQ*ix47!(m1D5ki2o7@VWoHmRD0(1hy3W-WO zRbnBr%zUZYCL%IP1QthXp&JZbHu}H%_oU~gy6pVm66mtW+o?jZ^CE5SxBYC|xWbhs z%FmaEjr;k=*N-N7xS?w6xemB~9Dj+y!Ds;6VL@dArj%_KVSt=O=MnT2DOILXS@mpO zkB~(Wa;4BOz@ZS;Rx+1p5UR{7y3(MB)CB>;epahYgVX*%u>8L`zl*zlkKRXk)CkSDnPc>LI`;t{1dVE`b$$mJ}V zM2ZTv2DyRDGKxqBGW0u}3^p#6DY0s_GWfU}r7SD3ls0R>`}4!5hmS|N2Gu%rI@lv* zhrE4@%A_?LuHK!sXW^k8Pi_8F&0$Lm>c9P(?Xd*ke@*pw8*`-fQy)`e;Yah?H$8P3 zY1X5Xs&IYiiNasAK9b^EUFaQM+rHP2^VRY1Kj8LjU`P;ym<%CR8(XBZqBNi^V5@=o zlps>^gn*_7d3GR>6d4R~LTJeduy@eZ7;52YPy!Pw0D(b<$pEHQqlrQQp7sCI|0xAW z)7rq-^LIp9T-W0K&33UB(kHD(T)x`6+rfI*^^Y6sC-L78jZe^< zg_uwYKw2CTW}{O8F-~TJGmWp%@hA#ly5!k3A}X+Z2xXYTN=7LdkBgCj%>i=mB0PB| z2XagTZvUaV{d3~pth9Ts)>mBJv!J_Sb+4TDezbu8GaUVlU8w3zQ~%+oZ=B`2-5Jq< zpVL%-?YfYk2jV<0`ck1r&;wn z6uK+vB)}C`V?v?~h^c`%kgcIfbrhOV4K#K#q5SXOAH5w1Jd~Ya_S?U6L+4~|=fy)x z2tD*j?sr<^tg{wQsZ`zzkjsKl{p|oVU{jJWK zN6H7~FW21h6O8WKqK)>F18b7&#aY#Z@%@YU52)l&Bg>?al@h5%2snrYjao>=*=G=g ziche~70{&$+%FoFmn#UidmMzoo1a?L+pKVwC(?uR&Q zu04r9=H{d%=K%lo7rncTcpUrM>+0muMX5LEb%=7k_V!5R&CG`Pp9SpaSS@;^+`y8{ zr9>{B1m~?;$wpC)g{iTSP4KGGaR7%=sa7&L1|7ws5bA6s0!7NOK&>8P)Y7dAg~?#Vah#js+4h&|g{nYpX`s`rd;C6#%iX%)OC}aX zsYh+Qci@@#FV_Nm|24ILXPb>{*WcaX!8DAiYvrxswCH@o%BuC~ZkW zjaurd|G$LG*Oll%X1!THXLe`U6Y_)fNJTBY9`)B(n_0pP< z#CJ(u-CBp__bHBVkzc3IaxLlp*lkbG*H4}t*xkR{QZDJk9I%is+KsP&Q~TRJtzI-( zG05v?M7OmIBiodGH4idHFPqS|aNzvs%PYLK+#c^c2H0J0yX|n=+UDdN_fOvH+5L)q ztEvtxt?HuBt|>Z}n7;bhsb4XtUrgw~r`OPj1GZ(kg8D!7H_GS8mvlJYwr5V^hjFLt z+U*mt-B&4Gj&er!yIe%d`8+y(fThQ>=Hwrpyk+s(bH;zWXz&zuS^fRs!phLYXAVZk z7*$StD&Br*SM~0~_RWR`^A~Fy>UZ(^OITXD&MKD6%z!pdrAw)>6(KOpQSb#e*h>_Z zMP?n7kBszC+$+er0e0`9=^y9+A1!%!n=y^Km7f#X9)rL z6@@l`4FLiGR;q}`BGZf{XlExd^=gI@(?|(wsTyHH3eT)UFuj(iv+6BIKAUPrd58h3 z?=S{5fYO9wnNnn-i~qU(g%h3TJRF%Gw`!ju{m`ZOHIFX#3+X%i{@@3JqQmJGOGag` z%!-P<(l@nucGfF=|1`DV7JO@vVovmu-H{1D0`ilGM<==;%pK=AB&qIX{4UyHRn=3! zPAf*c??R{DYN(&Ui@3RTrb;ihm}T%)(@1SfmY6A}l2j(C8G@kD9HL_z*g(ikRx?pK z+rrmEN|TNN)ji7yIZccN>}Ldv4MI0&wot5e`W)f9VndmZR2sbIb!1GzkfYZEin1d| zM6Df5T9~wR^w_JWbMb-AFm(dBN()o0NH|;N1+JlHZqGOLdZNG#jG(9Y!tbIp)~Nd zG9YI_#R8$61pSp36lhUx=0E4(`1`v&eap{*t6^*jaOj{v^vCc`eKehzt3OtUBCA+WA0JD7Tc2Vwe(skinB6985TpGap?Ezx zBY5BZK}q=ho7!Ji;ybG)8b9GFDgH%~bVGliDFrR9W9(W_Pwdqd`=A|L7aHJKQ}ENh zd)(dteEwV*46#h25YjkCD@h1cssgFmAOXBZGEiqLppBR;(9xl}4`svg%b|Ti_) zQ2X?$A%ZqA*7ydw`YA+ux69i{n$5QE2hk~*>#&qBKPR2v4Cen~f1~`Ayz)Xt^_^`u z+ep_J_uG|q<>|Qr+Y^pz$0j|?$}20%4msuht2ucMC6?cM)Tp?q=;P{aim#-DW5}19 z^I!7E6=Sp92H=;VC`v^%KJ&5gE{DDdnmeCJmLNhN2&dm5AptOlmb% zMj%P$Dy3Ry13Ut?noQ9GCAgfcE`-ZyY>z~@Jw~;rzPO0BP$vAe^dSTE4ST83F5QQ4oA(<-<%Ry zS}XZDe7$uA#yaw8=Fx!z+r|ZtU(@B>u#K^*v(3pz@b>f``;aaedE;r&hnmulX@ZAQ z(TErx&C1Hjyj6!H7yB;QnZb!P%*mbDoV+Z*bH?DjE=Lv*&Cykfy1iV9#(Y^5eb-Up zu-EAMAbkh+%(VQb_ICIIK7SJKKRkW_blo<#lq}R~AtSFdS|EjQ(353CgwCd@=^CCA z0gf*&kqxlaHXzurL0FQ<73zc<9;%X|Tm{phH$(9`-Dpt)@h%V0H2(Sd|22d5sh``T z4_$w6DbBf+AK5nVVRj_F|J97~XGgD_anQ1rQr@%XM`l-D{^o}IaS_-rffS3utY@1soloGlcP+Bx52@9jiObA2B!Y~SxO;92-o&=?1Kn+gA{>T2t z{Yw&Ce`wxBpC8X- z-cVu-)@-+y&Ma?{7*gA_=Gz|qX}g}+e8$~CUTH?kht!J`vRdK(7s4P|F-*^)$~aaM z8M?Qi7Di~cF)V7WjlotBg-kj?3dy<9*P|fwc}kv{%VIN36bYLLUDF~VVipSi*M91U zPshhoq6DP$&uy+a2M+PDb$vVy>2!dpKc?8dvnN?QZbaL}c5z3DJ8xXU_fJ#(jq_)! z=1GSib=ff5+j-QF-HuD>8XzD4#d=VAXkvtXl&$lg)o%FH^DpJMY})fAb*Oy17q=pz z4m4U_ zsOPYmeXpKaf74Kt(!1O4v&nskp8^@Ndl%11#`WXhA1jrtv55J=AI<q^#x^q(R(J` z%F-OH{;*LP>o#!9(Qf}v{%pID1XH`5^&zz3mu7Z8ni7W2c}rIG*@oQi#S;Zg8BJzP zT-uy`^}Ai!TiS-q%5m(Gbs3#@@Pg)6%+SaQ<&`H#)%1Sf!zXuz%wyvI3$z^r*EQ6S z;rC}D0G}W>0Axfdd@4yPhF88-rJ-ONxk_lESm+qjCe#a|e*)+~P#W7}Q>$ra5lN~O zFeC&k+blOCOrFia=gDatgaN+_u1IHsIdRnmg152c<8&~{qe8%o4b9wpVd$6R8PCj$?1AHV+&<=-n`vt=AfPE zV9KFcan6GSv%`O#%ILf0M+1I-)A={*zx+BhV|8EB2+JXiH$xOQgF7GOs27^M3l* z`8V4CC@EoZU9**!G1?N?6l{r+2K%*|Vp`DD6*ILt{f+*!+tj_qLywNjHErK1zKfXEruXRZHjlE#D|hS|`(f9#j!I7T z)#l_EOP9o0OTK?u;$D>#mm1nuxW&4Ncd88G-6|*{B|m5@_nvXl+2+Gq9TwTpzk{Fu z46PUdhSY3>TCFA+Xk<0R3N%{K9#7>igTZD@Wf-y76UPYv@B-G~iw8_>DvNj=!HWa>Fpp zsn)6S`}42*_q`^mXTQnLoj#Nt=f7agif=(={*{2Y%gRsl{pRSA$?Rbt#_}q&c8SxF zMEv~4_pjM3FcZWkqm@h|P^Ba$lVjvVxxdgRhUJ;52x9W!e zxhdcTGE>IVBLXSIWCL&sK%*xCBLzjku|YWBDiT6>6~M)yHi?xD)Y3L8PiAEim@E>M zE71YGlZ_z|n&4qZv5pB*R5d{dY&?L#KocsAbS8}~GP2lzzy7Wmy|=aRbT6(vIqPcu z_1|_EJ=0!AFZS>{_#|(Ax5>})+SDv9#MiH>{Y2m6D=Pa;A|D89HJrubWKQ_vR_-Jl zlH4I=-EYd`NBN1&^SkclX~LE;m|VRv^qPvtu; z`WW8PuGF79IZJtQMgaeMo*7WnXGG7K4oWf^B*?mQEKArUz~bLw_LmY)1!{oUyl4TW|schYis@RtyX>d_`h(Zr zk(uCd=hC_DZp^Q4xKotk)v=i0XU+Sh z&1)B*-guIb73Fko1loV*_M<;99me{?&`NI2gx377-}AM9ypNr9$W?3Gv@x6ehhOKr z{5;LOpWYr;+}2q?LkGVB_U`~}+X(=M5deiz5LILvs1#w4z;!Xh$j51^6u^j!@G*3n z43X+tSRF;jhLw6y;cNc=xJ5ZVb<3_NKS;EnxyH#`>6vhz@@M!Iz9 zuh>BB$*X%_8m3kbIV<^%#*c1d)%tD3AfCsW+O7NWd~ z%qUdAIF{aomlGsvn8VZ(X%q->SPG1E_;3AhT7D~pea1SemA~8L)bPf*%(km9*5@vJ z&mZDCa&P_hWv-`mJC3q*5~q%&G^762;Gr{BRI(TnnMfj%UT;u<3m_r57A7GimC_&s z1QRB}@rBb;7#yMwV0FlzZHHTm%UHFY(`9wa;yKT};z)_LNuO zXN@2S*|hpTJUVhn;<52RLZv5ymsz|?dvRmcvA6V~7wG&kZ~rppuGpsEGc2s<&?v7% z=IKs!d^j_B%^2yM_Kc(FJG}A*uq&-)i(i9fNnvOG07}AwVX^3Rv5q9d^OaJVtizgk zVCmB!YLNlZWw132n!(7EN)U{K1`?}y69*ul1$dp7kC8C7Tnv#y7m4r~puUHb;Dq2J z;eYABxWr7?5f_RdkIf%=duiW%QopIi5z)9xK@!E`c6wyUIJEud z@!!0WGhrs_AakfC!X5+xK39Rm)o0OD%`8*MpO3^u5Aff{JD z7{z!lT}M_E2{<-ItrijgxAu2^e^WLunpU_qg!D6EO%e#v5X!H+|~U^zqY?d9(5#d5LBTN9P*X zJwV?-^biEHhZ=~&WfEC*1{u=R*h+?4fHxY+G&(}212R2@lteKC5j+i^sG?wu202@$ zMEFb-(8E(;#7vfqj%Aww!=TE7@6Kb;%3kXK;>GoVZ(-kIW3L2*^9W5`_Mj_=gr0z53Ws{AQKo=>w6zWdHSp zOVd8iUld09cGw^aXjtUY^VUn6i&dJkFn%)H{u$sA5&@wFj;b(;G+aKLXuz=zuu&(2 zSb8w4Kx$J>CIQYL9YRCY0LDed2x$}rQOjgNY(Nh$RI9Nvt&T|NvFQvQSW47dyhtu& z!7z|e2R9YMf7kvn#IE?J^(E5AIeUs$-!omAmi{g2bX-$VO_(cpp?*THW7)$nm@?|@ zy5fFK>w!)vI0gvNrMSzA)r0=qAN_0ihsGJrt31cs@6<&0c)rGd^q$HB^6SHwA2#0DFlFiT zUeohyO*?oWJmXRSD1M1S;^1Uz1rT835v2?aC{8B=)ea>aq;i!Qu~a}6$%t};gwIl# zm^cQT33#SOtiSQ!Kp8l-$?w6*qdl@$gcg%q_N=}ZdM7*H{#)D)Lw;}D%n*G=`?G#+ z*S!~%cGmBp^{bFlOu@@Q`HW1VkjYhAs*tZ!NMuBV0f3UU41p2UpbInx8lvDMK)sYK zRjFYNfWddy{;uyw$sxr_)^h!vx$it~96IFoJL~6_a!;FG>A~(vB3sLqyY~=qCxPqE z`q@AG@3Q}XPjcwO`Ti$%%{Y>;svsn~*b??oX1qOZZF+o-O>Xv7@+~{h59aYtj(2HU z#h;lMTQk4UdkRv&8M39ncr_<_r!MZ@@2ARRm-@$7mbv=uZ@6sHsUMG?U-1GW0h}L9 zTpAv$lbTpm34(%NZFGt%?0uLJp zbWecXE)TpAc^A&M9Js8096jATX4RaH zPK0djcjNM=>ACwaIW2iGYq+7G13LcZ{>jcK!|O9`7b%t($>-%H4`0w z^Y*I)F3eZQO|vDwS-t(~*=Zj~Y%DyM>p+-0`9P{iL;UTLX_NzT>??2f*Iu!i-}U|* z6cipzGcvGDhEa#r8?+=TIA_8nrc5VeiopR>E7KVugNmkR5tur%f|ppJ@!lct74X#3Ic&!7FbMHC)eya?KM z?I*78RQ~77-b9a#Tj~_XrsE{PP3x_%dqzxlC#l}9+{bKOgtp(@zRUl(?~LXL#rJ<1 zZNCk|ibz$Z!IkBW(!iXn2Mo+9Au{~Q#o6<_^WSnhvgiA?6C7_S=~~w{kT`VafX0ZS z$U)b6ZV|cp842-ob8`)M`FSM`jh*Lbw0@Vbr2_dSI+i5?M+m-<%Ydmo5(_8Rkckim zqH!1sK1%~Qhj<7X0|5DS3An8MyZ-B)jS#-rhEJtZ`RAj@AE+AFnzc4&m;VLF+m>lb z`M5RjYoniK)kdC<$q&7Xjvsn{!jS<)j4Y6m^?Xncrbh4vz_voy5mh7u0&oUwpbaTx ziKK|(5mJ!g!FEd5LodFhW<|kYz zt4cYzws+aS>#MH&Gp;TZR$R>u8$HeD{G_{``itiN7k?i=0XtB*_@>eS5+_z)xQnr* z(EdFfGVp28;aA&M#7-U~KDYjIZfc}H;~P5v%q8o%Z8?6fy0=QQk6-*l1W?b7?5 z2_Ac4<2*M@(lNo+Bn?*76oDvpw77Ufm(+tbZ}Lk3Ch=GIr+fsrmcE)6VYR3w=%6dM5Al z+BYM=_D` z?#y$EL6>!0?3O1YuY*Qr!*zb4q-|rgs_HDiw8qKQMYD_tdnF$^&{;oa z9)H*O^ZT)zyJii=x~xg+JMw7lxXEGCubzDq4()`Xi#HDiHugW1`T$M+cIrR;=^9Rkp0-ZoQ7Rc7= zAOV%F*3bo1v6x~K03uJkQUDo*G%`3h%E%l#pCvT{i4q#X+~XjHQ9`7uwHzK#$p9E< zB7q1v{xlt*b6ofl!t1IVsrPR}yHu4lc)@qxjZm7;_Ny zkFFnpSrcIa#Y?7+rK8AcDiMuK!O(dS4H0mNTp=DWCt~?Jx=hGcYq>@fjDtb;>Tmpa zjUTPOUvB9Wg`UvQI(lWk!H|C0|HyeSyVv-O?L|+edl*)8>^twz%>4(fKSn5bIorqY z&i)u@ICH?=`ALOkqhX5dV!3^ruGu4c!!Y|9`d%JcTJJ+>|C`%W<~OZ`h(_mmLujQV zHO#{sS5P0FC^~IQV62#8ne%#C&jJI{^ekAw0Vquf+&sxhLK%!>=$H@%kI*4C%Lw>A!J@|CB4}P*#?vAK9*qq| z!}L6bg05l;u#A8G{zN(l%@~mwt1fli;&jRP_WU8HNp4@2FCO14iY_C$M}BP0UVr}O zlF63y%dFp`?Kh9VtN+*EYwiO_th}}4+yjCAl4k1-)s1gR)~_yX!@4bfbLws?^Ge`G zVE(uEkC*pv6WU8{#(ov_h_ir*h2ugWzbNi`%P;lGn5Zz$nG9=tc6aurc5T^%UF$Vt zKILSqys?w{mxH6qE&3h17yKwB>U84v!}q-%e?~5O_9JBKD761k{UeG9^eBOWBTCpD zBZrHTgHyXorlCR@ptJ@w<*-aCmoC(c^faU1zy-wEB$JpZgK#tg9ifr2keW)vVg(Ex zkwhaOTWM%0dbpiq9C+VumUob7Rfql2Edxt=y1Nk^M%{ zclDoWsN%r1SI9JV!hOeUw~OC1?yp+B4IMvo`!4_IxWvMm&FkMw zM!tCF8Mt%D*IV3;rixyPtFCM{G$m%TCM}k9*3bT(eZQ4iXMQC0dVP%KV#qMI?_J3l zy4kt)%cU6`heWKv#7(TdCH>G{{7;G0Sc^|UI`(6Y?0Mu-*M>pq4_@zS0a)KWDEst(qg3o9vfj$s4S&`k74rgG6IkXBNCZP zL`9Nw6fB^BK$0=Z1dawE+(E^?kfvrznPNVUCN{z*2oYfffSM2o$m(Q70*wpqgZ@?i z;;!#`UVG+o_qjiBm?pn-JCQi1S^DrCv@C4qlJe97PRl_$CgJey0(PWTPK)ZW?z&0}JF-0lspSFS%Ytk=EH`X}@D zFRF5^x+beW+CRVHvrlUDw(ObyU%%G%zg>RXvCQ%ylH|8K`x)tt z^6hK$OhZdd#?p<~Ux^Ql6FUt1e({UA`EAvBE9|p(5ARHS=r^tN{>I#YSNjXT{H#kM zS+39Iuy@`wxz6%FJFfZ2$3Ob^{OD7zNThE*Kj%P9cm4P9^13Ba^FI?PiZ6l#__CL4(7>QUL&169E%7sG0^jJ`+LB>t_CR#SdThe=h!IoLpx(>=YRG+;L$w z9zS4;DGGxQOUNC9VcFOQ)gA49aoX$zj$=1Cf&6G>nzv*o;j(PQwiz! zwlw?h?6X|^r-mvc)}6Qh;+)sK*faIS{B?)bPTxJ7XLC!!)`-dDw5k;UhK%;#oKF5% zHi$tlj&U?1!C*2Z!9lI&f10Oqux{9Ctc##dCdiWq!b90Vdjz4;1Sx=vN&C4@( z?C7kYG57Cy^n!KGkaVa1{SG!RI2yDWbIxYYkzZR<2b9FKmQJ4(e(!w0`>A^(zfL%E zt^u7tT=0m9Qk?(EY$`;qeI->s3O*EOnH1RoNBA25Al-&#<=P89)GeFa1Tj3f#MhYsKq z5RJ+dXwFJOIg3>L_{v zfhJcYED2UfCo#eKQ=$a~Y*@(1XVFOv*n|-fNk**Mew8X@%ZySb4_q_AY;fHGbaco% z0+U7uq?dFmtW+3`DkX;vrX)rUh@psTfSU)1W(kdeRkJW0u0X|=DDN(-G5sDy59fsA1_sAZdzCFXT6cnvUv2lZ{qo(#}>}F4s_iU?40@jnlQfqLlAl= z{`b%EciC?(vE8^Pu8C*0|JYf__+8s(OM2z^f_@w_Ep(lUuMypPm$z|bclOOrhMD>P z$_fkXN6n}9G$`jkU0O1EknvDxL4QsVWr5RxdB>cYb*nDmfgU*e{+st-m;dZhd%xD? zTfRQBBqm{xEkfC}=g7VA--`hc>7%A(m4EMD_hVOf=l|oi8=Sryj;{NdkkX$TP}*Rt zz@{$Syhib>x%JTUEwO~*t=Bvz+Vy!VJJ^`{PyXNgqCQiKYqr;WBQ|y7?zTTJJN!IMAJsnTV6Wxx&PT@C-mYN3 zR}HzcX0yp&9v|mC7@hxU{y+s}ge6+BLZ!nJC|Zz4gRw9;i>P1(2k49R7_CumVCWby zxDaQEzyVQ(&~y-BFeZbWar60;)e0-@&Qti`y<0gb%=&TLFp>?oh;Lw&%o_CjswLG*-W6;WvM4$j^Qg z;?_i|(gbd)o1#SHhrmOlXe9~&7v<}O2;hkm%cUfktHE)A6s=SNGsF~F&X9oZI!}lv zNc09kex-$!G%ei(_{pi7|9k$Mq`cOStM?2^FZ)a+t=@YhxM$`x?1OhN2p)v38^`P# zMSXccG3s8m=Nq5m&iiu|KPe*dj6_g6$P*j646KH(5lFCnEf(<48x3@<0x*dH^db@b z1(pOjPiYcBkgOFj)GDxM$Vf7|h$=Q2h+GB4m21=;9b{;?KWtwTe|`AC)z@tQ80-4+ z%=@GP4kN06PVpS{X*8VDoLiZZ_QUONC;z_}>R*W^8U$FGgsW4LlqMmKh!N4~N)lTK zI6oj608PRIo>*aGt5^h*LaMzQymt7{A3;N$C9b1P@>+CZmiWY6DekP*QPfuusDg2s%VVVhag8 zInJc!0XP{)r{Z&DdMsaQU>ayl7-*8Pm_{+1AcV+Dxric{7)*d@NQ~!`r7{ByB&gN@ ze*C(=f0lv~lMA5u_h%ZAumf}3puA~qDFx|$VYbSq~dHh}WlG5bz zi9dYn<+(J{$&UAWd)PJj zHHZB7{+m<~MRNMw?sG1r`Ba8APLvXlz2-J2eL6OER8woI4dmOYn&=po(V&u3=mM;sD+E^r8lDMO0fl&lm>^doWFDQ0 z;i<@G@ptwAZSkv@Z?-Weew*3w)^AvBWU+sx<7oT3r}T=qBQmcD&oN^7W$oF9k<&vzi5;sKq422BqHli+yfw&q)*0YPRdnJS$t7 zc4$ZTi))b{x#B z5H>NmSPtL@(o?7+23yJ2kpy}+%wmz`Of|T72FkB=48#CXFEPxZ0}e!h$pqDL8XDI~ z(2z(N)_;C~+(4E1Qd(@lbU5rwZMs+9uLq~|e}0wPZxG35sxFOa{~q)7EzRxz-NHyl z1{yzFe9S4x8nqVnc)O-;j|CI?5E{tJNMM@o2u7yc79-<YK+Zm~E5Xb!IfkXAXg91A1 zm(ltmzKj5J4q72#=oe@~eIQe860#woPN0)XjU=oRh*g454Gt?XQW2xTKqX0N9NORb zj~I3B_Gc@`kjG!*8V?rNpWf+5XU}Y$Ib%To;Tn#O*!x7=>w@Lq;^O@#26o~P%>9?O zY`mJfYFO{sFAm=0GSwRvY(S#>lM*8Pmf!4mrL;8o?vSM&%a4A8ygK4L^*hY%yXIdq zA^h1DX`e+WigNb+UaSA3QqDXBHP_z!A4E_;! zc8BlL9e0a*m08c;l<#poD7dU4;HAs%&ixnq65s&;0|8LLn5clwmVp3%D~i?xWSjuT zPzP$oFeJSik&B5C8?OW^aVnumL6<36d_J2Aaz=U_0DFq~91K%}&fl*19b2c5ko??h zvY3?d{qqW+kOr;o@0|ouKDK_=Agkx=Y(9k^Z9wBU_dj$<-;(8H%d9-dBFlLLsfAT3 zxs-XS&WXC6;j+cQ!(U{1lMm)@sd;^rF|ZSViuS)oB-Ft&vI*Q0Xq8NvNvkulfd~i< zEY4gSLna5)7H}(S1OgM51u896DxfeZ`kVL%Z)Ond>O2zj+Yg_45;NPmHe%MYheOti zgUY|p<6X`Zbqq}23JYa{WvxD){1fK>4I8!}{~a9vJq#Xn(tXP5kb9&0yJxJQ;YPl- z##8-nt7X|vqPLUp>3Nh$5*qiT+eR$F>!Lejto^{)#r0cI|?0m)(-TOAndiwbX8xz!>=O=UjUWqP!EssC( z3a#|nX&?=1A=d2#6P-^~iXf((r4o_U7z&#pBGNQ+ z4FJoK*&GZVC+8|8TsB}G#LE!*zuP}{_5Z{d#mE1cu*#V|{l-hYj}ue8*RYh?tKw={ z!Kwic7X{ZAkG*sg?LYJQ+henyLVF)SjTtksQPj97@a7J;M|FvpqYii>FK6G%wU{=* zc@}o^f{Vc(tz5MID1IAk2#6Yqh6|ImM3qqq2ph2!q5`~7IH86t;8DTNq!dR%1tDM^ zsAdvMfJ8SLly2$`R1-}m;2G#74&(o8e^>mEKUG&hy+d8!Fni^->ezLW`2+o7>x>vI z@#?7!Gs05vcV-;ykH&BAzsr6#w1FoX^|`(<-2H{y%M%J@B%$hf3pD860nZI9gwYNi zQ`cm7XP;fGc`C`%B$rt_MnONfeLCQq@h()pH~3w{wE7zP{`%Vvz3Edo6_+Zvd6%K> zNB2)KT?{C@QSwy#E5|r7Xs{lCs=Ks1bO9u+PbM@c*Md!4)$km z-6*Z^&b|izRJdg8@Ilk=FL04IhuoP}kXW-%-6Pw>4}Vb}l>JE+o;7p%qmF~S23Ooc z`wzYU2ZSsbh+^bwnIwQ;J+iok@qAiW1OjT(v(Pelwmx&gvaa8fxqdn(8f7N}i8 zJRVCVmi*uSryQ`NUg;fpnk{@8^2Tn<=Md_z-IAMjA50-XpPgw%Mfn2r&vh=3vp91vt|jhv6e=)et?k)xCeNk9Zp4(tdA@G!!$Q(w;;T;n8T0s)$~mXM99d9GzjJl) zv#b3XOD)yhe(z!LcNg{8`t5+U>+vXTNoMpwFBTGme!tD_yT(6ybw5h#X}sw6s7uSm z6?Q$>9$jawpEB6@&Rn~JH|OfTKDj%0et*sFwb$-`$}DsF(wONrZs3Q}E#5Le|KM-b zb=0VNQ(rD^yjymtG1Rm;ZwR~JoA7_~pJkOYxX+@-gwTroTO-roFLVy9dOZG46Xs1# zpBaaV54gTyQ_F>iy*&4*`rsZ7A^KZA&5n#4rpmcXTlQn; z@_x^ahZjnDdphgSSfCAm_TPJs{2RO?WBEt~kLLDAPB=xaK9-oi#If-4!o+70 z51a?I2e0)x%^6x+o-p!wdsI04S9YrFUWe09AEW(mZXdbeb;!ErHA^DgAGE9~Q!lG) zy0pmY6_e95>toTT1APOt`!qyC4d;Hi?z{(eXFp(?P3^fmiI>Np#^w=X@(#@{bA3AC z{#&=R&GR3ed!C$F-#}K~g6~wFuZio#Pxyiu1VXY&tde5H7?VOSQ!@!h13_Ul5~%<+ z4+QgIjYJ@Y5UoTA!AddCzz_jk3YJ0@3I$RGi26v0d?Ao+mhluAm6${j>jCE~A~!*N z8mK)I(ZHSQf56|2@1K+YJN4NLJ442-)%`C#VtUxS1ccW&#ow5?#%7CU$eZh@2czR> z9)H*P$L(HP(y@-TSUdG}Vop9~{p*CvfL<22s(&AhNdGb5Of@%ge_eO>0~#G~3mgBq zREAka^2iSV;x8WcE3^I>$MNlmPiMyEZh~`s3tE;8xfmo2u0r2`^!#WP5Dh{eiz=dl zGJP%$(ijyAj)uY0FokRqY!XTcL^T=Wk+~cr3C8L;O00&d;qoNi^+OM(cU=3Tcwa&4C z;u0{mcyQ3zX77Gw1HLTS_AzSH9AQ=5o3~fc_M6+k6^W`YBvWqYq2>C~S`>whIc`U3;deH;ms!lKK0cyMVBQk-DZ z%0PG|v0hBpaM(nOQqPcZu?SIzSC|AejfrU>fPYI=3?Na)1xZJh0;l5{WR(AD{#f=s zL(5=)4X3i+t`X+4)m%K)&UfJzsR*Kfxe=l9DJU zQ;kLvK~Golv}6?thw%6Wk%Y>CC`>L@50q$)S}jSXCIHbafDcjXRU#Z$Zj_mrbdy}g zQ*#tx!!CwE{Jjf~CNH<#KHZ*l`d!npQSHxGGJ{LLKbj8xI+6W8(&uMOaT&vV;)5-d z;QCB-{-E_6h|I*7h=FXZMn?cjD?s=bE8@ttCNbc`Wg9UJhz=RGAW_VM*nrs6h$BHd zCLL7y19&q`5`uy)ot!LT2qZGS42j0SwvXQleV@B!Th*@mcaw*HKHo3j>2y-G{Z6Nk z--lXb7TVn5#xp7>v`@N+&L4CCr6nCK+jM5ujiUFCrzT7@_6@x{<<}lw#ONijaOVqY zi%3uQx36jrX??CO=;SXmx8IO+-=eyh^?ROr$l26`ANnpEymr+rZPeY>0@Bv>rpBBF zZ4Sr?nboBOMYGp+wO7DbYONp>L0DYgS8B@94o}(u~Y%XgSm*2!eUD?6d4Yz;(8W` zqogP#DlIJ4kc1o!7va&Q0xp-LCYm%bUB;7voQ#;uMEC%P$G7Rp>=>C8wa>w;fBvIa z9k(i#cNAIAv)exLdeyx4Jzf^S$1ps&&pjk-X$5J9+DF(9*NKQiu_(<1kf`v>ouTrMDAZwLGIxRK(QTlIRJ zRFOYwwN-3Sm!|n=5(3UmYU;c{H@BaWGvYwIzf-!+iEUfvEqZe9mDTuz6B``Tr?oHN zxFvQDed@ zL28Bq%Sd>mi3^kTM!@B1vofI=v~;^Z>u}^Pv-u+zP}6I_I)UZZY=Wu_`_jFxp43P z5r^oCTbGvlO1{iqhIO^w~wd`A@669 z)!aSe@SOuQ(4*^L+P@D6?~kHT7|$wh|Cn=Z#@LQ|Mi1<*{e`Q-PuI==J*v3k)T3>x zbkDZ4jPUzt|DoqM1C;<6J*f!9r2`2BHk}9fw-rXV)F{CKMK*A|r{N)3K&iu^(PUak zU_`)*4>Wg~T)k9414ud`z|PU@wK_l=uah!il|=O4*MEY1z*F}S)AltXWj^BDf<{56k1aq8rNU;E1Pe6#xvpIw?lb!MDr zy!UmP4y7jtiD|1%-z^tDE#rM_?dkijx;y(HU#?cieid~zo$-ti&WmSh?_G_2t)RHD>$eS3m-nQH!5`K? zaM@Z>^<=(b-XQg$N>}SarZ%+y(e+oTq6wukF-A&~NR1STO=s!IcpV?;Fd!0~h|D!n zd3YYcZz{xE$OP-LLcI`S$wl(+`d{s4BkAP@!;T|IELgMb2@H+x#oTai#4syXs(-IV z``$;(o_egGBc5}Q^QsQ@KMVB_2zv!28Bl1a8OR*Hfh<%bIt5Kh0N0}eK+3}B09rMz zz`!Icaa4=|P-`*-h+56y3pflS9f4Vh2vTw>8i0IaX~jmlRxid-BnE<30u($&da^|N z{~v#y<8yuRH`P}QZjV|W@lNlaYm!8dzMagQ2o9vbrlhRiQl_s9NnX9DDLpUhIvPK^ zev1(z8_zcp=?uUSuckr@1*{jSfS8{KsNg~jAS!_c_01ePmH_@r4wM%N7y_LDibyno z))fNCIjU5q(}J>m5dU`lxf3sDo3iG;8a6W8)^2M7xnV@s9CA%j$3hu?&$lOSM>{O& zwD+v-^Ow&-=a0GnuJ?b#kN3H0*x#cc7LRx|_x8Gmn**dy;Y$RGbLJ$R*=2XEh*#<# z2+aT1egd>(Z05C>KN~aRruh#XdSPOp!Y9Zs?Iw#Ii!F91HGQSrIefS~`)e=1I@sUx ztZRAv(A_r8t~q8*)W`WdndvsC1L}I*fYUbV9yo2sE5y$BI0M>$==np(#tDpUBM+x0 zaHU2BC;)?-dj(yt#7mS^NJcVo=u)kb3z>veJ)J{`iEO|J%>Ww^JcX#F8+ACm*r3F6 zxEvl9t0x#~0F}aqe;EHK`+{+2JUD}FmQTXhd49cgM8At489+M`J*UqJ==H_B z%BjVnGxZ}L*ZfR*ipG!DFVRT=uS2B5LM?}_P#}14-_F7DB~rlZg;j6_LJmQvRA2}U zp$uYx`#lj*))M1+G7S(7|4aOl(b4`6Z)=KS?}6j5J)T(P8~g2+)PJCL+RPTPx+u}6F^`IJ!e>!+11PY5mRbc1@8XkrT2An~`1?2CbiV#+__!Je;wNdCySQQaV zp)mkZkO)Loao{cu!xl+#I;o5#;bSzQ_}qZyN%Ry0TMhKO6m&JB)dMBnfBF7(&EIh! z-anZB;@03(Jvk*`$+tG_wEm@e2a3v; zJb1igx}stOZByj^anj5?JTJSDtdjjXq*nu;pYn3MiT0lsJR+?T&!YpdH;^Ht!U#bM zDM2X~ks_w(`3RLsBLi>?NG3BW6cSs8lMCg5Z3fnG0AUX#Rm-?0P`IGtD_IPa&cFt> zb!rA+xcRUBXXZ<)_STPZ7RE34ZPFI!#2F4d?;fXH>|Napary8g zw)6aM9{>FS$GpP8FwLa|%Fg+IbNwdVJN4L7e*1`IeaMx3`ZLAeTgK#Pr&?ZzZu_zx zZ9kenQ{fCUf>??-5vgFVAQ&n_16VFVM57`LSVSG40SFFw1OPfU;W1(c$T0Jm1|T^I zX#Lmp{rtt z%Z^~S#whb<{IS4i{(E%(nfITMpbRdW{&R%g+Zm=_(0alixm(8|ZpaHNzFg^@xct`< zn^U_TI|`;0X8zHse_?JvBQa|G=~ixWbl8g%a^bXjSH6zvvG5|)L@{M-?kPDVIrQc@ zyNx&KQA=dMPW>Z2h=HcTsQ6NlGQkQ&fTtS3T|sUdqr+<azuwAs<_H6o3FkgSt7xtG0c};)vawT?PWO#f`8gSjopZ#b5*-Z_c z@4cR^Y>0omX)w!ioJ;0})2nj*rZ=3(QU{mkxvPWi=Xpze*7u+Dpy25r z==?GFzu?jnY^IQ5dvnm?5cZmkB}=Pnz6P0&?7l>p>z2E8#^Sp07hb7+c;uTCft~p? zGWZRkv7}^ji9*0%Pr@m2BB@@(<_HlskHx|2d197~Eag)<2Ch;>q45!#QNu?tG!?$v z_`CXlf8WacWiD4{W9pNWtQ+&Mt6Fb|PuF<78Fer=e|%fGx+Y5U0l4nefBdum%!-do zn;J*P47aWvepB-{qO_^pbDQ&#_z6_iwJjeDgYPN^6XwkrHt^DvfZu5Q&EtO|7+-@Q zym(1aRzbzRljC1JPu|_$GU7+=$?aT^i#IH5h3AU%79AdA{kDSKyF2^3n=Q|744j|n znQEC4=gi6a;&0i1S^C{r=wpxXGobDLjq1&B*tLyeufsKU-P!wka6BKs-~0l@h|GT3 z(=T+{f|6rOzw~13>WUT1H)akZ?3}w|*ye@l`%*n;c4yz!e--+YzQfkOdOc1t``J6# zCx36BOOKrLru_Qm_2TX6vj=)lPd5(huK&ivi4`N(9A}giG)~xad)%jw8}iRQwwd*9 z>Pojczb0Ydce(@&pc$tSm%(px^@zRh1eOu?dtn)fJ z)&^^>jtg+AVC*l6d!JIem4mk5+<#a5XIRbaJ)@}o@RIk(2ggvZGQ}U(U(EIOiRBi| zzIe>eh7|t&#YMFJ=Jw1_=^uajxMe-Na@jH=F74KU-$cyu35TlXTP?m^j%eP1@0GDF zb@Wr^rWf(PX#0)e5fOPx7M23(!Qy2EOb}8U5PKI0FjNKL9p;)8fYnJQ!J7mSD41tU zKmjiYU@RF7E)GbAza;^b6FE|+*<%QN7xB#wb&!4E%j!c-y;{b`bhs;_tFw z!ZMsn7+vXuoNr=Hk}dzt8671kefU{hvhG9M_~Y#xM_Omz{3m-)Uz;6=r?^cRWJk(q zkkaPYMOb;icJ&+X*L6OYfc9R&>GdTMp$)*7TFP zVKsz*@}EHIo#}ZwYQdL9@%fb%HE&P*tDnX#e_Hq?L~-MZvf_PD=Qi}{^_TW{#sBWd zI=6$$9aj(io*&{=9_|=AHplnP(bU9YdUCDB(0y-OMs584Pxd!c-FIi6d(!ZF#4F+m z%5!~Nv)4H)AL8eGm+rW;%&q?Z#U|&gF{L++noZ8|^yrsi-Hl&vPT2!uL~?m6NnY>q zhSR&z6RUg*ac?YpKe_deMEr>3Z+ZR^Ph1=Rprw;P!+idBjo;JRmx=kou{mCcgAY6& ztzfxG?{P(qmnmV&hz~~@k)bxL6VTMf-;VztwpVhGhZoZY()&JkVMb-@#ipvK)BLU# zu5DTNDrgq6hTV*A9skxoecvFjruHA-+b2fI{qZg$hL1SlgMan?qdSMQ4vgHhX4e3% zU3d09e1<`f9Ufx&IEL|B;aay~1%Aw__^xgHJ z#DXSxact?d9Tl-|L&X6#{U-h~wmfEr#qrG+bqDuRyh3LG==Ca!-fzv!-u=3>@9MvZ z*|Irb4nW573&RGlC?@Bu`Mr4-^1X87FTV}4h^3Ea@po-q(p~&r_DfdQQ>xQ9KDfPk z;)yhuUHyLCA25CrMV&FgU~761GXMC1Lbdfj+0X2IqF-96vv$?*IYVq0`S#x8xG7}N zFr0h9CQh=rc+#muBL^Js&fad*_H?I*l`-Mv@?YxSX;F`!Cs>J6)JNvUMn7n26Fkh3 zmbqEsuAh=!DC^{3LhoM?KDe|MQ4WgbCUDiB4F0tH`kVa z@4Lk{`Zei(+2PHynnK!_ClO;h^;69K`+wjRe`|AoG7i8ri7VRA=|43D)v}r6<7Us@ z#37taIu!IXVq$dK6u*eUqv=%*t)`g|jvMY1eb61*83M?my-FwFP;;)UzY+4U?%ywC+f(#C;kuySn#-<0cPk zjb(28N6XqikBx~##=)KVF?0KH!{J_&94eRB^(cSwbkIY7YWkVW{$X$4RX(llWw~Yi zju|w4+jIwZQZM9oCw?0Jh(Ib4$Qs}Qep1gB^GskHM}}2636`rjz-%(e*{hfUI1Tt1 z#Q;N~Py<>HtkgtPfN~)Ypl#B!gbeQg8NWm7M4KkJ2kY;>^J`sy;in)xZ{VqtjTb*B zSnocNG|i_~HcNSMPqw#uYYY4vmlj*jSYY`oBjHD3aLvGv~_%mV9%=0|Y^OzzPNrqB}RHl-mq6}$LX+UVA zNK_<3h7d(cs0@)grTDG8@9W#|e)R6+xA#5{_kXUgVXb>T>t5@;&hrV4zYsp1GS#N? zM%SdIh=Y#Bg9dv>ge5`q2kQTkV{j@RXk8L&wG^I81W=${Dh05Aitr2-hK@n%B|;@# zOynRnDx{tO)SiJDwFrh|3VDEcSc=d9=(`4vQHj8JK8ebZYv2SbAE-|uapHeJ{{HvJ z+~G>nH)j6q&*3q@s+B(4p%pfi2Gb4f(c21EExGz(Pr3s<7li&t{3r{_%4cq8@4X%w zw(F;hiEq<~;`o@evvy+rLPVoZtQ=qbcJ}<*ZEVK(3;X)M-wgAQIa6hHq@if#mNbdg z8u#BLj-F)ic6y4e5Atg`d()#~!6efiAC0@7HZ3Skb%pBZ0v-ljB<15Y-~>j25o;-O ziWH2dT&zUV$Xo(l587D33PLAhL@2l%MIw;_V-k#^P>93=Bmtoy(M43Tj73utC2)iU z2xbEgcoK)N;&F6L8Bh6dj=#7hVRn;i)~oeL&8c(n2~%GW^X3S?`yq7H=p8Sszp9*y z;*XX~2W|VcInoM>AG&`6q`@+-037;iQGo3hfnw;{NSKyFA&_Vo5l^ksXow&vEE9Bh zbCFsp5(oG;g>A3z;Sr7Mnix0M~!`Z$DHK(ecFikm>EG^G>y#cg!tvo)Kpm`YUGDf~Gp( zEmMaOBYuB=_32};g~u!?eu%$8O@agdY`BWd(qkkPG#O|wige)oT7aSB1#%pUr3VW2 zdhk6c2Mi-HDu&DFAo+4V2E~Hug({d19Q)7^LJ?WZX6YfV@BgO${rNZU+^Z*I);=gy z+Y?J?yYAZg{aM5WO{M~LY@(;H(ib|34?N7j57-z@3)EZx0 z^6+p^y~xM`mt17lHSDd&iZr$D_6VqcQ2(t`DJBsGGzvLOhi=i z@C>m^2SCnjCKi+!M-#FUa<*C~WB_^-sYJ!${B!*tHwfC6yx|q~Zsq`@(1m3qtd!iQ z-To;ixA(nH{b26%E_-mUCi6noumf}Y`acZ)_t&qKRZqoziH=>4?rlkr7*UTQ&T;mc z_V12E|<=~qv4i8_4_;fnwGa`G-l*_Rc?He&d4u*zsNyTK5I>$zj$mk!mTKC z#2%Bne`Q}=k)6}KyhOXyl^7J6_H`fbT)U(u{leB?KWtAD##+$FM@;VHPcig=nh{q# zBcZAyF*+X~8GNwxWL$P~_d4&H!zSoPA26PLCg(@9)|$2a&B-;Mef`hS@0U!hkRg#A z5*e)_i4*|KFUKp1YOuU()j&{*hSG8o7&1*qXJODHIgBdPaWP1MArk_|&;c>)KfSi&m*>o;Ybim7K3<{AAjsy4_DvT`>p+KXOR0i$|2y*a422kq= zJqL?K(r73hRSPg6KF7G=(M}YW&Y7-mIkx^-Yct?WMD6lLB0teXJVO%9jg_8p*WSp8L zqXH5L83qN;(t#S>-^SlR|29shW2WchiYw zo$1?u8~X3JKN~C=5@8pV()i-1-=Ds5A6{KoBi)f|^bmyJ$G`a3 z_~*R-9Nc8~y>VN}&RgUi9txQz>ivNmd8Lm&L>j{m47r1vw!gM#PDI1>3TfZ{FSLjV z6=(|3tygJbIsr=yL`q;Ju~e=k(7_EI1+EeSF>{q%jbA4H9L;F8N|2`KF zr%>qj>dZ0pm5hYKVV(-B!coLLy-oIvXPvtI2U~`ob=)85CzgjL|KIuVU*l)b+Jdq; z8*ni!E^~3Bk?}&KhFm3beWvN9PN%z*%9EG%+_oAy*x}s6ueR6v&L0i^f7^Cx!j01( zPGnTPcUZ&Pbf@#6acWeo`n=|2c&{^_F-e)bE;Yt-5$sW-$+Usu?;pQbRR_<(wh3*b zsJd-iK4H@lT_LxrRp~sK+xWQ}oHR|BG<@iX+_Z@+xD6J`>X8|CC%V1Kyr|J{by~ds^ak2G{9zw^8_qnN7hBa*y43a-d4J%=P0ss<)_2FWW0qj(EAI0|6pNAKwA&vNC1^4fyzemSX>g7hX(8*GL#zd*hnx~ zxQ?Zi;RN7)2E^tR6(CDi0&FpXL>0+6A{`vd1{bzMni|ayp7eB{$mLz}CYrT;ie`WL z0_%+>$FDr-_}(=vd_?3imJg87oiv6&v2F*Wum2Ik9|^#9F;B$9iG@Hm2acjh^iqH% zl}pq#28yC$fDb#Q5~(IC$y5Z8wPA??r->9uSAa&?KmD)6%)9gTN^QEI`W{SCotwU=HEs}0hVo~Cha(`9R5Z}RBiB*M0;NI?G@x`$ zDxkC!NUkW8G=2`d z%)S;y?tXb)Hz@8|MMYTmzH{;4g9^*HhbEj2klyJT?DXkn;%DYB%gM(~Apa2mHqfsX zh}1Gbvx_EB$r#YftY(YVKr4-o;VIZytr*7 zwEXV7Fnew8j^Jf83mJh;uRK4-EW(TrOS8`S?bOFVWf;E^YtpgrOY%p}mS@yG+N1bM zZ?AiF({)>k#o>dNX;*wqx;=fkYuT-z9Z0|W`ro1TgO1c%2{wMOs{}3MQoXl4r6oWLO`;KCG*wH0rT%)e;P#Q@q+qGravBCy+oWw%-c|S zYsJ~bWYrK)*Eo;zWf{%$x~zfgzV+v?{$G<@9&c}oDmb0jT)B3~v@VzSsfmq&TbeH| z8XR=VVNtG~=TqNB=e(nuB<_9v?{464AaLL&L5LQ@i2{aJ0W_b)d+da0SV>2p~J}f!0*WL(~k9%A0H~7W# z1qH%w>gUqJ<3Z!_hW$v7 zWvD|=N!Q7ce`x)YlJ#KOQSd~dJ%<4PDq!4^vA8NV(9p$+0B<#rzyW6rdJp%S0pGp@U-8yu%)5O=)Cte%WH2l+>Yf{(5b5>IpC3Htvy>ksc zy*D#PpPROu+NWOt;V;xeFl(eTKp%ntB5n*lS|VU;0cAdk48y?z3j$6EI-eOr1Rp8T zBG^FLS)dpFUHmTdi*oX|jB@y{wXAj={$90V-L>-F=Z9iF#5=Niz05`Tq@U2OK6@-* z#;wVQ>Zb({5!|)oq#7a6M&RObO16-!0x|=94Nc4w$%Qx}(2c{gWMCVL%j)E3}PNHQ8uh_fo^&N@T zsmZR%dG9PIm!(WMjj|i=q%d=NUXgVW+v(>9?SBm8k0;zZ=pJx(XcC>a`PzaFR-dmr zRTFD(=m?=F$2^!8VKt$Wi3oMxV)W&6UY~x4q5ZnxhHv{GsU*C*A=@MPlqhkHH$d}`MAH-Wa-v#`m2!DP5e1`F(7-RUT7|{| zx&b5=oX?VUbd?H@V{PHr_l9j_>LiaK}D&tduE3HQb)?j$d3nFx&^)PJO;vlT2JVDQlDFdRJ? z9|a6A)2X-$Et*G{0Br@FkgikEWK^=4uH_0*ARLqc2!PXpni5Z_B1u&UJzk3wfsGeO zOcDQA0(z{mo+NWVmSQQBUkNAz( zJs1-3tK4j-je66iWzXtea<-3k9Mjsg>y*hYu5wxRBa8Q=e&ifQmZkfLLE~?jf4_gl z&8A3i54Vk}ZMW{@JSWb*vzwASg29>Nop^Z&dPwBxd)KO42J+u;Pab6Z{o>wRsi~h# zxlh;RnlXQ@Hmx!aPTTMay9${$@>O??6%-f=Sx?hoHH;~!khs}pB?ijRt8T>=-&-&Qdz1o5NKY!MI z*!o;|c-X3S)8dDgJ~>=9`FZ=^H8!Qf^BFUSX_izZ1qlMqf6nW+o!R&O3*jed8YxAI zC-O0J7+lDtXi!Lult-2$fR2+AkK^j-aE3yq5-?N(qzdqV3johMU~(UL{<@@WcryO# z^N{mnqb)^d$=f%MPz@Sc)mg!Dq2Ez`d2(SQyB_BKMAW(_JEsDQ-_ZZ7k1N++xti0m zIzHsuIrPW-A;eRy@1M?v&467UM_OBWa$;T(ZMNr3yHMMmT9c}d<<0w)v}M-Kq-Q*uDfP^?yTJ7y{(p35{cb&8 zz|48*UHP4L`Pa%f1zp_pUf9)g0})y!Mz0l0 zFtEP$qd)%Ibz{7jM4V24d}Qk6GIc_CG&ycM#eUj}?pFz4)|k%;U(=iM1B&0!|F2c4 z+1IJqiKYegSl|5%4t^N+i+lE4*T_x1KT>~OpZ?_d_*Yl%N&Ny!HjM7;pE9&BcTf&q zHu_{`9pS_Gu&s{p^sLF#qce7-wddd6n!LPz#&06u|I$L+BAjgl92$Q^d$*{XBOa_J zk6_|X{MwcPMh{kHizWx_O`~LiUr<}7+n)JQt z&_g4+^V?k??cCoGgFUXvdvEJ#D`vZkmv(6T_%{sg!!{`nts2I^UFo@i( z*FG8TJI6ZLs0Taxk#Cj`V;$0)Z`L(73}qaZy-Q)975yan!Ib$Q`|z)Z`QN&pAze>fdaCjv?hE)rBy zso=0xM9?PAq9Mgd8Ij8&Fl1;6pRE=u#dMM$fSs5kI#W$R5&+&_P6NH0c)Xl~{onfa z=O0IIQ0TpGeK4Lr>)q~`)zf^Vy)JyHS(p}GZnCz@ z=~nN9J|8I|ypcq&o=$FEl339*)olIb{icoe?X_j=*G-(gwYPmB`~LXHFO+}N?_C%i zlYg&j%=o08dx!q2ETiUeaF$MplnB`MD)B)HG=7Hu`|ZzO!8Jrk_8uNh9k2J1*&T3i z?V1}~Md=;>^d56|n$b>Ibz8u{vKM)VI?{3~ENk!jpF1j?CC|nzd|l&PXCLca8yTdJ z+?qLh0d#cmhyTWP%GfC_wX;&z?mHIHLdlP`AMxg-GQlh(uzC66pycKmvR9R>oC2l0 zn77wM<4*vOP%mboWNdIArR3std^U;*7$J#bx`fLDo!t~Z0OBzvbh(<%lkxO0xroPC zA*d=Q872Dr@t=SU(VVz$Ons->!jqpQddB|veuRJCx?@{t@HX4VH(f?r=Lt~!hW_X6 zTGL^a5{asM6~66^_xJ1o+}$nKWSaPT$g+FwLl148P%Ph~x%Yj%Epg>12tjdS7l^?&@Gf7n>kt+v|gB|&~K(+-a@ zuH;h(j}9qZV)@m4V$q_{@4dUmS3MfYzoX@qLtVZ3w>~A;!um!xj^q26o%3B9EMBhLDVaCBN{-mK5 zUJm6?^_b?8np&G(3yLkF@rUlOs3Zl2q9*BeDm;xPB{I+=aF3_ODzRh%28D;|$Uuq; zkm57Zd;$12*Wm&GtDFr3tUV|-fyw8f#Z-=5N)hwu2%(nyU#_2DFFZaCN zzA`&Qx7+{NmKkR23p%@epZuI_wK)R4>Fn9Lr5SzrBSZUV><_ySSkCjdcd*Lr+^Ebq z$BKM1SAAR&WPkiY0r&Xe*FiTvxqO+=`W?Nf3Yve0_Wkp(YFGZK+T`aO_f)s+x1Z|i zxp~uG&8e9%_bbxc-_Mh&7-q85}oqdfdZr<)gqcyhlra@BIwW6X?uTqgi2OT2k zCIM)!=OU}lJ)(bQ-x^cv7)hpWnNfD&R{Zhd+fAZPaM`tR_whatt-FmYekR}De}5qR z@SMWBjj&MmQ4Kt^UM%68v+B#=W@cSzpmMuQ-6B2}t%sZBtrB{FeWyhASQ;Us%k1!*YFBji@kfm+m>4Sh+GhN-5s#(Gw5FZ|J{& z{0aw^#TC?*$ED>gudGZWVtXaCOdTJ6O$leCHwG`G&u2NRJE8g++IL0X!qs`s#eG@y zo@is*5*KZiUS+;DSz|K!U9YY+;yo_8!Su!bM?<5%I#xpY3&6wX!?|dnzz$atK_ds2 zty0T?s31&3K~a=ILX?W5pmZ{X036Y3^+Kdf$D?X>DiIJGV(GX-HCv9M$ay*zmO_*Y zwf*tys}?*>@LY+mzH+c_;?U>xLB^K|7({96!3`n$pA%w5arcoqQ2d7e`|ZbtBvnoP zM!meZII4SJ)Un#ai58=egyxpzKU?PFcKK8DdQW%VK=xB{PlYbaZ;hylUUy-;-II;% zGZSp9*0=R^O|$wjSFy!NksP3JF3> zQ__|H<^Juqa$T_6qCzGxRZ5TdejQPi_{yx?PxpD*^Fu7|sf^Tn#;aaK`5VSR(R{@9 z!s4wf+GK0=%I(Hmvo5$O9+aJ~zuY&StfCsIVs-$8L zQp_Wwg#>`xp@|51E@(7D(-2b7;Yj5%WMn{2&5=nUn2Ssz#S7Ug6;jFv^mS4pQ zj14o&m^*6msAOOBqQ?(jTP)C?-ZhZ@ypC@gufxkvuPoI*9~Cnk(^&YX?bYMg!vw4B z#+t?U3^#Acv>Cqd=b$o|M{@?szu*735a!)5?8UK>UhghVwhZ|$lGI|lV%&OK(%A1qCWxqQdSalnUGUl$_Ui)Ct)K#JLqlouXut~IQ1NrZdKdTT` z{rU(!y`^~1yPel$gKgFXn|Rdb`m9TNQ7+z^w4gCH{P;lj7c5=`p5JujPSY24 z=%`b~84t`Sletk}J74jM!`6-e+UP?5CY+zYmpf4WV}9#B+e$^%&CLYci01Q+?hv{?~{j)XqWqnvpy7)54x#%8D+W zR_gO;{2kMem{vvi)pCnPdd7HczJ3Prc>BY4=eHBzR2EsI59Oxa*g60B8}^{m zJF`1R!A^BR<8SES`S{bK!P`5YfBJ-N=?n^<;bpZmd>1VK>F6)vAEYT6Xst=lvQLjy z*$ZbQ5}^2@{f`cKv8sX(?;{w?+ z_G9WE$F262K{+Xb@Wby{E7I>}qJp9MV;Fyb{U(Kkr>4&98adMSh^W-q$5v4?)+p{* zZWHzW+Vfpsv+jnaM)cwD4DH|Tc5{4JPMl+Zo|Dx6WR+W3$(iq@Rh9|GyEpl!)(`#7 zFqh<-rnDXn`Q{NfkpJ}7;8TwLdaG5N=dU|B9IH}Z8?tre3Ez{C6_Xkq50v>Lu8wt= z9_}0#JvVqfRDU#h1PnTtN&?^%1Rg^L)G$B^jDk?nFl+{wqNZtdN|+Atw-O0r0XQWD z47U=giYoe>`uFF5Bk3-Bf5u_0<%Zaz%5FayG8a)Id^*Z*(b+un1Z;4bDzs)LaQ%n> zK})BOaol)tWbLuD8Sm0NEqUyFXQB?QiVv#XiJ^8akI6|3`LV;6@;kF(dmsOjVfdj{ThMig8>u57s7xxX>6m-n@;1>%`a z8392v{ARTsJQZzG7dI(#{@2jydl@$!YRZ>Jesu9DnN$7A^irSxtD*h+hR2ih0xuig zJL)T7leasac{W1&uE#Pzs`A-aqnlgN#_hU%HjEKAyW|5!-&K=$-RJTG3|3v;lX6XYE4OxjqM zJ_C<(XL+QgwA8P%JV3H)8Z>L!tD_E8kNWV}5dKcY1oD+^4vM8x5lJ#BL5(2+5@426 zt(E~rIXoR4yn%~zy+o^EN%(v@Tn=bf0avmJgGX_Al7D`G`{z#up*0~p<)N%@0fn_) zpL}5lqQLW`X$@xZh<%@LES1ueu0pftfAEKY^}pgvt?Wv9s`BW^z?B|m(1_J;43;l1bTEO8$Ag1D0A zvGlDo?`+H~e}k}1@$ODdZ8ZDZcYbMT-yi?_fa1XVVe>2tPV8MK*m(aydi;Ho&!}O9 z$wl|HZxxBCS1VqZ4ivu&?2Y?g_CCtlc{z{#Q%{&5kPUhruq-WaNCb5Q%3j9IifyeL{$v8npBA_f|IDbA@H1u8<1RK-f5Z44@>lIw-aMbSdWHLs zxxdpf#KUs?;#-qb?)X`?j6IrkkRK*SWe%PEVJzJ{QUfy zFQ@Mgo=g+j@Xcm6cdcBJ=`?({Ke{#L%M?5ErQtHIzFD--GwC=!|0N_H@rVEZ`t{Cu zbMENZOv$H*BQ{yt6(BOFt2Tz6eGA_-+PAvrOPlw%hpDv#*$@2`etyA%&5|3*CvP@P zFf-faSMOt!+c~y;2=nb-!H_cInjg9$oYt!jz3)<>`Wfbb;gPZB>a4GCN6D8D38s}i z8@rNOvd+c$@x9CU+NTp-#ludowQFfT8a7w`>=RVKMc~1z6mp_YL(|I{bcIsQ6lp0y z43Z?5(3vEbh)xshIUEfca8nU6M6#45l7mJOpazDO@yG}wQvlvDF@~!afKxO8LZB*` zQn?BZS4&wqvE<*z&-B;N<6CB8(P>e`TdQ+P@22!_tQfZ0Xv5j8rB8S63%vP#*2M=s zd;9k9hVl2?=RXJ-zAXIPr_t+DlRv(&L`iT}2bQ2x;R z_1E}++|9XoVG$efAzVkrVp0G5)OBM*wEFnX|kSj5Kq5=r^@iim>@|LJ2Dm5KO<#4b#CJ&7S zl%`SwgQHLZ%?mmLP5|OX94r^;{Ym6Ne42>c=l&`;UH`xX{dhQ$lzs4W3IQPNG<*B_{UK3^%ntbtnL9%W>-=38-EvCVF zspu|8^RiMvd62RHl~7KD@>hcg0eDlzG&PAq#|g;_5>>|qT~<^SP-aphr9h}f3J35} zu(Ky?=nNHsr_h2EFa(}JdtX+b09clmF>J@sghEwrgzo3~9Z>#;@n0D+XinO1T=}EI+3lW|yv<+A z76rHlR_vH!a{A)QpQEa;S~p+yupL^V*X$b#D<24Mo86Pd3Rlf@m-TN;__qTpL(p+&RBPD(yrUq*D5bQyfo!l-~Itw#MNvi;G$Jy^;Er- zq{r)!936l!ljuT~o`n<2={llR0Hh=-T7nWK({qV@F^-RcG1)*hm;$I97-)tNYHTzTCtdd$D{Qco*s1O>HzEm zO+t|H7!HCZB+Dgofds)OzzNKMj=#VDx;MHJvfu5-Jv+>qE%e>F^cm-75T-m|TG!z% zzC=~k@co_-hw5+Wf7FdwleI>dProc>9-PX{v@<$o&sl5fcnm%J_P(U$_{GSXLGJM6HMo zggyYpF;F`NO*le4ohBFlWBmH_e^?itHT}l*oSTg%sEm%*>S0}7%eOFwOC`_GI$ z)CJ=ZefP(P{;hi~gY1)B7cz{U2~lpAp0-L=Qp|@j8i=y z$le^$6;$*r8M|7TpZM0x`|7o^&3F7afT2!Bv$XLn|Ty4NV~F zq}M12G$Ds3z@q6a9uhCo5kaRopCm-<5NIuzssvICfXVoO;_sh7)qW90R!5xXPpo{q z)a-R!x)Eya+J`OQXd@>3Ij7`@SbsGSxd2@M;a}!pvSRV{$!()br)3#4)_(Zaa>RHF zeHqwI@rt|G?dwR8IQ>kDpNV72z~&l|?y?|-`anoHT&oNfI@>FYRUW%WH9s(7D0 z0-SSKB6sbNICs&@UKlu#f6UvdSFBWJla3$sei5D!6-I7-6Zha7YW5`OM&(({{AEMp z)?=s6AG@^lxKk!nKLwNnAjV{AfS{}tg_rP@S{MOMQxE{)fULsO5K0zSy_g63r({$*pxCA15JWm)eaEoiFa}QxBe980EmQrUkN@4rChJ3J1rIdWR{4$F zYtiL;MmskLw)eQ%3GeRg1({s^GMcJkcKBlt9>yA)|Az7R*YDOH`{exn{ICUG4boxT z(r=EWZ*+rPS%4(O$zkRz$Ly`%@GoCNDPjq*AU7gepn(Nki5HaH-K3k8b&Ti9JP8>6KoaXco#w@|}8;wx> z5Ppou5~JxFz&8j~r1b;>7AujlL{ce}&IeRkpi>`k3V>T-G>k`p3v^t)5Fr*R(P$i# zq}SpZOcff-lhS!QN?-gh)mkB@YP5>N2MeJ z*o~NhrXmDdHJ=Q&W*D#@N&(ZXSb@cZ;sGr}J!o43k{%?`$N|v!Y%W^#|IJ@;thIFV z=eLKxY3yE{Uw+Jn_-1`be%;c@^*T(n_U2W^y%*9*Ti!W$uivKa`=Ie-fCrFu5ioE( z39ye6DSRGLqNh_-S`~s1$gf!fCXKupLQ|4!i1 z2zYED6@^zTm3j%#s*$l!LMa9&hH(*CrcTXcfKGHiTLL&aR1|@pi6_D6STTkvLclO^ zl$?jqu(VnlPz8jOU`jj%FF*)zcnMoUmC^qF`lVc(bjsL0`TCs;ktZh&8%GLiw4G)u zJKMFp$^O$F+Q~svA~q*Xs201jwr!%+T$)y!PUW_WK|sT(6fkgyIJ^(6lf z9i=VX)l1F@FQdO7JhS(X^X9p0=}`XA{)sHr5(QvOf>I#Z2rU|PjH$sr3Khc_C{Q$v zOitBcfI_i^NWqCk0vc67rITq=pfd)j$ki(TKj%NScfZS>vrmlX)L88N`D%%L2Aiuo zve@m~$Tic}cn`Rtb=6l$7 znLL|!Y`e?U%N}(OS<9!fubOba*Y@)({5B!lM_dzmnJwHofq3=Bu@MiT`a{2; zSQs3z@1S*J4F{po6M_B_jLw9qG*r-rq2z<^ER;ru*2}njf|x~Sg9cHl7;|#(q>@f4QdO@q~AI z1;F(m{{3|azMdEz9z}Zj_A}}lQO^y=Vq=dW&07nWSej2*k%F%ptUtPN*Y?QJ>3#S$ z!}w>sG(J3S?U1uqHY^=ede`6d{@OdQcTK;3E5+_t*Ms+?s+CV9v#(`T(E}SDaZvsw z@PH0eAZdp~iV+BfiVXCIs4&n`h!#*l&%8vd0#vCu2}(^N5!5UqoQ(p4fD9gigOMNw z7@lGNOV60}_$NI_&cday#!D8XyN4BYPks^9@H+bTFNvvU$C4A*_wTh5)D2dr_wgrC zfqxhsBjGCnD1t@e;?-J?424D$v`V^)FXPZPEF2I31u#~%0svqD`vi@qR%%ro5{5yf zBUNlF;h*aNVEtOgj*C;TE_fb)sujyKa z&2nh|8~SgGyP0=&x>1R!5@wZDg`QMfX0q7*DN@(gymHOhoYjNvVN+*>Bzl-Bw6T5q zXNLCu}q5a`5@;SetD)$3k zt6USTs^_7HEH%9+y-r`gGSxVAp!oaq9~(ETdCTLbN61$l`JOoaNz(o9^Nn?-9?4hb z*$+6=hWnU@hWso0;R{A2ui9=dwQpT7NFE%&(sc!+_Gy-*Ju5YT!IjTTSKQn35juMR zqkh+R4#|HHpF2hRHm`9dP9N`Aw`ua5>NStzPG>|uy}5JGx9e8+o8p*!^A0%`aWhXm>PcHM=bgfI%tUN`M(1+V za}(|N_uPKE^tiw6hbeD|6j?R++V_2b8|L5dAI<1-@Cl!L*v{m7CuM5@o~rk?Fv%_` z@!7WiiMM@#Xx6E;zW#x~vw!Z4tq8kx>iwHb*u9QNE@!v7NV0~~3)VKg+hJTMtekQ{ zc4_WF@xQv~J#L5dF`LTD%jFpRxtHHgd_cDL+*&cri7@!=#%ZbA4;7au{yIGy?vxcf zQ2j?X*B`#n`Qag_mBN}*z7CUY`9*MG!g;#dZ`n60-{#b&h?F&(8{u~aw}y?KjkRcceM zoo+UKY}P&5!gt3$Q+=CxV?TY0mFlr=Ph^)v{Z39$RLi-Npz0sT`|v-8{`>21)%YlN znvJG0a{E&8A^f-*g*jhr9M8L3Xn(C(^*Ah=cwq5I*+BJ!QC=0YUm1mM39v!bIpgdV zFWaU~$Xs0f#^}Cd1Z;bx-P)|nBiVa4{}{4^1+D)O{{avXLFwouI9H=r0^R`zL8k&F zOe`gis$@_BoeGMLmuQ4EB!!EI=`~;k6iv{VZ=wD}zn4CV(7gJ7^tS~Hik}A_8V7V3%Qz~S zj1PX9fu1=7+<`J_Iubz)DD~6~8A~WYGFdvgT8$E6bx0fwtAt6>dL&B+ z3UF{J{{H&61s7euzW2AM?<0EPd*idIuXQ&A5<~AeSS(2^3`c((v2<@xHgNri{{YEP zJ6`jZ_JErG@t?0Ki*GHIpNlC_9NcF5v2FbCQ@(YvJIP0~T8N`>u07Vj|ImtgNGt;m zBP-QJ8k)xkowxuwD&>e2RJjf*W8v9q9SYEyfeR`Ok)*}xfzl5_M+ek@0w$J>)oBPy z72xmfi@!OktHF)6;Btn0>l|MBk7Jh(?O}{L;M#3BQE)VIT<5d4$sJ>t(I-3~CV;Q?I&wj2mz!hx^|INc=Tlo}0JOPAnKGM%2yB;x>48Br+1BiKSLpjSh|0ExPQ z%cscbIvx`oUjM^CHMgMZOr@2M|Ml@SZ@2uU-G0l?C2TEzxNP?2mp)EP+rzs0p;!Ey z;@-r}?K{7QCb3?F70TIqF;aj6+A#ziT&Dx6u_!b^^`;^qS#S=Cg9kJ;aH^iq=dzSA zj7lj&(uFk8&Wfgy7+9H72ezO%jSj(;(nSE5@SpD=y{;5myTu}$9m#D1BUkJ1DAN!T zfNQJ{Y%ScyaPE8;=I)F1Dy=^>W9*NkQ2pG%BM0m_DsWwoCE^4E(9uejVX=HWC4zmbT-bh+FUd-Yn0VO3-O_S27WTk{jN5KKL7YTfQp-5bY zh>C_`*h)DJ&ry)E3LS$X(5b=8)fazO_OOhL=fhn83{3J~o)^4x-#t9`CZXe!_UN;@C z?y6u3W)cvV39<4%{V{0&is#_rKoARw1mq|Piin{T7{m)qmTkc&Gnbsb zhtjVsDjCsr?%K+^bD{VR{a@amNy5+@w(Do~;eQP6``4f5wCwfeA$~kz%_8giaXGjSlb=1++dNv^w9>XEy_>&I zFSN1(?*H)rbnf`iN0CJ@>t{TAczH$piLve(q;6r!-8_F(N<`y2ReLAH*w))7XBN`u z0yO^6{S}8yg(F}(E=$J3@VQtHkle%av0^qBM&a^kXswRT#vqYII9`JQLOxg_Ppl?^ zhD+#Z6ekvwBpRS%(m($9mXO;*RGo9i#!t07dsT1Z6|8ay_k;B?Tj4HmZFc7S6*q1y zjxRox{bX97{x%Z$2c+w4tWKm<=y)hOPN-aUl+kz+oEVKqXq0%Y z0MOJB34iPVn`gnx*PS6_Uj&{c=Hg#F)CBzqo*t+vdBazypeAusg1z0saE~1-OJmyl z_|pviOMVV7$@9E`arz<-HuEgBneCTOdp<9-EH!tqi^z|x~@tt}lPF+WcY7>2D|JULU0z$o?WCeqqe;tf^vF+;Cp#*& z|7??Jws@$BH#}*s$%M>Knw_+vw74-MJn|8F@-O?El^z@JTO`padel*jq`8_wM?B;FREt{B` zYa?3Q_RiQjMdDf)zU$z4|gy8arD8Qou0s;_7fF)W+ z<6>w+z%)nxw|@V2&i;D+w9oZ>(QX?jrf%J_P*pqOx>{)LGo*a=?W-4(Vw_imt($vS zu+JpWx{rSc;y+OW$y_Yp;sb54G@#_eLNl3IiB8KS0Co|Ulunj`_8bg}!NDrkI&h_d zg^MNFzl(o;z_a&V2M=p%#)y-bDtxj+PdrV=jk-Q(NXC>E7IzEbClgEX&L&q0!uEB2 z_qR~}NC*T*p(laEGAx$Y|mA&=+ zbts_H(!s8HZIa?=Do@&qjcEP;R zwbmo@_~yY3bBBTk)%0~PPd0Q9-uk1C7&KyKj~06WApQ)5R4T%X$rue?gCOWhG=zWz z$a_>uln|(G@FjeX9?0X+=^TOv@RWi+Mz$V}23#>(G(vzEbJ!TN9?6m^MBqwMMiVfV z|5g6;v`ww_Tz8dr$_=gR)uz!{PooL8^)ri4TfIguW53KXUEvXsG@q7yd*+nB?|;Mi z``_Q&AzdFm8ek7{W>Mw{YAat<9)krpx!q9-r=}Or=Q}os&x#)gQvW0WG0%5LY}re2 zx`&vw8r!A17(7*fV`Lduf$j!4D zxwp`PN1pgj>bBWkRYAD6^XX0ujc?^2G=)56dF*;W!~22Z+;DY8^Orrce|Fsg|zOF|-=+AuLg<>71P(+Ax@{dV^Ow+Zf6X=j`#9e}0o554uV@BY%z z|2Zp7vBR)Oy$oEt;*6CxY-e4E4a{NX&CzX98@u8@(cs?k!A(TY{h+P-7f}2V|E564 zL(}y@Z3N4p0fuD(pD!c8Py`kSK_#L!5;7J=hT$1_vWmnZ0<55nDb&MdI;4&xg7Jhn z5fRKgKujf+OG!934aNmbu1=^y_IQ91KgsKQ%*(xy7xRMjnXJI-|9v(uUSmX4d{ z*quL$QMTbe2>p-veXn)jjqhBy7&ZKzo$102*x->CwI^G5Z`SQ}nyK5re50KQ(*MY| zhWQ&#r#yzn-!T7v|NIE&?I&v6b7x_{fA)M_O;Wwh^F1-)>ej{b%}$&-+d6t5HjW&~ z|ED)Cm^0gE7w>FPcIP%s$`Ya)T24f0-mTbDxZv3cuOFY-yQ_k!uMSG?Ki&YKQq)h$n*l8ConneEBH;xhVBh@!4Lx$=DDMRL~SsKs~0Lmif@h?|DwKe*R-|6=Gr zVDvfF$IcJyd=as;$FP%mi$bhQ0~eLda~iix;C#*Uww3tP8RA;vmM$Tj3f0fhzU_VE zPs$IheNehf+k(sVd2Z^hl831sS0h#H7oOgiq##ywHxestkN6*r?|XkB{s0+`OjVF6 zLWWo>AmC6Uup|MO!MJ;emF+DJ~O*Z}Etij&U_%8;J6s2b& zuxK_-FTntYLqPw=Bhr~1GzB!C(4{I29$e;dr98M+!39*(3=tgwb45%v=o02|g>)dZ zL}rQ@Dv5@mC38>;jaUN&PT3kVAlSz-h`fLA_v^@$z}ngL#4&F3rC;4TU-<6PG<-g> z`1`1&;-a&z>dm3ah0ErIn|bc3g$+9h#SisAF=a?Hp2tP72rvyoL?w!-dbOIv<^W71 zL7~E-r5JEIje<*o;xAmGq9JH19#&5RH{*F{%%_q~R_*IM^_-LKb;N^;3{&Hd=q zv2klpdu|W;LOz*skBl2#(cIFOE`q5@?BlR&|jqY4sDDdEx>S{Q6RBobI7 zKm;@@O(y}>q(aEVW7CW<+e{|w4N{CMpfV+DK;uo~(ZIVUv|uL2zw5u&`Lp$Dzd1*S zP%E~C{krchKJ_a7{qdZy#Gl^1f^RNZIB9+5r0~(pKz*|7l4OJQJ9%Tu#fZr%mH8?y_us|pgI{i z;+lkrfGf~51XKc@rho)YP&}nZfha6h%>-LAv0g1_Ncj?tSisf`Er5_lDELqRxAxzf zS2Ndnl*cBo*x6~7pi{8sx1#i1^4_<$-#jiUB z(-La-8lH6VPC9mp{kTsK=jrhGZn3Y3=&w(m+Ov;zSmoDCIOW$t$D-ynWx;)>TVJb~ zT}zvHN96sW%j07=K0eNN_*JsETM@(Q9o~K%|0-6JbQZ|SMhF0v3+U(tG&QWzD8*Dc zYEqh6EDM>*G;8z*icoFQ$pNNSLuEk_TaGDIQo72ZRI`9$Inlx(Y4sc(kH|ymbiMvx z&cFNL4u{kq4XllBUOVf}d9*-Nb0_Itm?3cSaz$dY<=JbwHV zh{7WXjTCSr3tJQhx=Dg^g(x_2h!DQeL@|p=41v*Nfz4#Pg({T5L^6bENHQwjg0R4b zUn+(SLYhHO)(Dj#e)l-~HQzy3m)3M&Z9MgR*4(R`Uf*Bo8-EL)@cYf>r?&-5(+MX! zUY$4h_O}fyaQ{5;5Y!eaOG*V`CLRDebBKH@EVKyZutKF&v3V#BlT(1O7y{{ZD3eNJ zap`oP5;g1DGE@%~Q8e7Y`fnZo#%pUIMpH6;HO)ZoJay8K@rG*K#x8vYx267Y<~(EG zS2w0RaQ%n>!+GZP38}ElrQN4~t?|jU*_2pPa_#Enuea+tN$XEGPWid;>+8FjO>g~~ z-$U{Bj|ZN=#$WKHV(vJXd28!WU+w(#Qhamw9qTu{t=$#Rn3THF_MU^2EYAwLNX9zd z&u;48p8b>N732E&1e2yusPqYTyhVt6wlBF?VDH|Mkpl-(_FrW$JG-ZLE}ggGCUNVm`T>NZKsRl?RKuX@y2(ykK?hW2Yir?nR&gEiBh8Qnr<-O|9BFF zs6Yuk8dGexu(fJ2445IwK!;eb1+`Kzh06ls;$#_1FIMO*LV&g>m`NOn4JmXiBKVLH zL_{H`k|+ftqE?5hKpt8N$lFPbe>;C$$FF+t19G%)y>P{+%8gyhm)_AAU%PqdBkkif zhuvF?T-;C0f4X}p2>p-vfL$v zGq+6`_hk8icksEJkx%gX-!}f%`Ez{X+moA*r=7O}d{O$%*LG?uuX+`_FZ=Mrd=<0r zd*9>{IQ{iNjZIA<$v-e}UjCELF=_bx!|T5QBe#gF z;4y&$II6UuGNu?|@==S7NE4AH2*@|HK%In&OOjYnJwdNfg0wS-L!t^53Lf8rQKcZq zFT^-}F{qDZJ6?JnX7B#yspt7>jv`MOzOLWB;ZOP%Wm$zU(jsGXiUYQprkU*@M0(Q- zTkwBv{rik~TSkkXV8dL_F;rj?k<=}t3l5P1T!qauHjs0XsLa0k#lKu$UuJ@bwmuK?Qp?u|xx|^0)xx zVy0RsG@1n^0eV}iUZxgPLD`HHk!U~?j7p-vTkRAJAA22d-g%qNiGt*L{G!kQ@3I!Y~wQWh;>i0FD|qhx+nMS z`nTN(+mEfEUanyj{@@ew{=-2KW)7E4z>}(cP`DtZu~CW^7C|H?CRehIAQ=WEeh>vm zr&O82o`Y$@Gy=N8qGhQxI=Nn?yYMXD{&3$Onh?^GmEp|Es&7Lmo za5tG1<}`A92P8&muW^>8_v63R?l#2X?@wF%evPh09_~-mCoyk=>(bMEZO$&acV}~% zXXD2ZYggY%VJ}0%##Ns_X47~j?_PWMt>bs?Y5l@?QL8_1x^pIXM&0s|Ay=Ivsj+~5 za7{_GX9rBb{{8;D?Zw|}Z;0dE4^hs(@TO|o5D9$RaA@c_G$HpS7Aol$*g2UBWzpl~}fV}#dNw>^iy=i%co z0FQzU>E(dxfx5aR>-N0opNIHkl)9bak@(m;U$TcYPHWK6&xgle=5 z0f|o5aAmar9e*B_wW47RxjKB_1Cr~S=uIgL6Z#bt$aQIFYAH)iBrDo7G1-34ydISw z#Vz_D`1+~gFohD8mZUPNgbJ?FVvz6vWfKRXNQt0~M5dDoF@YFdg~@3u0gcQ7!cKaz z7=RsNBB*ABh!ncYXhDb;HYTM4*rS#Ju0)al_WiwZee`3&_(tSIpXly81~SN`+wLc> z7A`D(v~$;*bwkG1TqgEd4nl9)Km0X*<(EO#QB4lSd(}e|J1w?76j;~&qG7|1TmbRp5;GIvIcY)$TP>05>1+l`!1CqLbI&a~j8Bhy}0tS->*_wcm2P^?%r zPf*=Uoc+>zAH!u;4%>tAg zOneV5(hJoxjnoKW+$K5D{*o%pay>Yo0BSUFg~-sFnPe_Sh)UQHld31vReGTrFh7VX zN+8Zb{3q+bW6-VU%-|{{rFXN(psj9`T(`KGi~MT}twv`Ze&)Q3ad1xduIyul^Y|%` zTlgp2#(&!V+_yR83Dj3lMKk7xpYp?y4Od@nPdYK7x1g)@_RzBM1xIeY+VlAR*zudT z;O)mr3^9?K1H`o?bfr{_fQvwIcZC3%B(hpaRvM+K!otCbVje{amUSc&9xf8w|ip?{;sY6VPT!8Zj0-XJLkla?j%z920mvbviZoYg*`5gTKDO}9zn{c z-xqY-yY_uM&v7QcezvuTfAw7y^Y}XX)3NPPAsW(cyT|#d7t=!?u8RoUxuE%N;qes4 zn2-ovMWlI>b$j-A_tvW?j^PvG@c081w}k!=KQvs=M*ZjSCYN5@9fa;V^74|~tcAtj z8#=))^*?z2SqENBvQDL;=@}L_1D5Nk3JSzg${-9#!0}7~yhcITMuG)_xiH{wC5!k1 zlnP2ZX|WYEf9caw zC01YFa(-{?zjgf|{ks48;sMQi-RtdDTkN-Z51RXZ_e<4)J%U*tXlB2)2b+^CTJWE3 z?K^hzd`ehXbRlkQoL{K(UHf6TecTSM?p3Lra=n`U#kFGx_g+)T-_|?+X!_i;|HtoN zC0e>rrbWrH4uv&x2yFOaxkzCU!KlJ))`4BU&LUQmrBuiSGb|(n460EKf7gCCyI`hU zFt_Pf$=b;3s7{w|#(YJxtH#DN4bPm8$}%M)rzR4#`s<|_1BB9$(dlCb~G zUt4eYm~6k?hQpt7y-9nz^QwsIywLZ@)lrXR<(8@aW}NC}qJ-`}JuNlYv=#S{-`_zL z1cCu;JNVSHH98?Ez?M-cR0afqbrd>=0Jdv3muXapF;s0L6Qx=$k%?eBjRIl_0e%Yv9@q98b{L8g|Yx?V(JnOZZ9RvG?o$dYM zv|XqLZ$As~1D4!q5ka6(R|*4wsh)^xS)i7OWdQnX0t1JRkuW})EuzwOCW{&oo51p* zVQZvPI_uB&^90+!&`P$V&K0lp#T@78&ATfS$T64g+$f(%bjq6Q>K~uWU3}83=lQ35 zTlCM``cKrWSbIvIN1Q6$*N|#6VC2$;g_9j!hY$7lUKN=ZKjP^w9dz3<*wF9Z>81ia zew@Ua!&m7MEfMHG2~1KjfmtdsC@F^!zD_PS>&bErjB<>a0t4E}OtPF!7BR#c)Qp&n zfa3?D=|Igr;8OaZ@w>MZGk}$#gD?dv`@i>7xS|vksNnKaW~{ zq@wn9hx=j${{3m|e<0eW_7ME0_|3p0q06t#++qFc)84Y1Hag?O$J_P?#rP$sKFjpU z@!lL+rf#{v!t0l`0-z}gsL+V$e@H8 zGgu@78po_M^8rPLkw=j;Oa!0@Lo@IU;H8l&5dlmis)cM5>7TD(y9a6+qrWfj^<>HY z^!MAS3nx5F?uC`k<-a*rTY~Wxjto7udqVHJ&9}pv)c$z?e5X@kbb$X?S zM^u7p9*S7R(o?|snn{KgIHVF#Z7LNcjY%w1F<3;tgv?~iHADtgVjxKwT)q%2*cOBS zi=73t&fl;*#p$cOKQ?_`9;YJ9IiqaV+sfoDQ2gf(vdle;vX5RffMe}+&knEW7C}${w*f>8$y{t z4-1Vz8;L9<6ZJ%$P@-egEuiSeEFfZBzDUai3nrH!HOd%Vgr=YXj#055MM>?%-}?R@ z9O!*|;YnVC$EQyY%R4XFTTML8JUuQqeA>rI=dJHHKE6n*ECjBt+WHTfcG2L`vYcxWpTC+VkHU zf9+&WM;pn6!H*|4J#si4tSNlW?rRf1_Wk&6{G)Sw)R0O;);#^c?7Mb4>bUFizD}+_ ze%Kh+`d7Up{3aRXTQ084F3#D;BQI0@4i5dl?2pZ?3$b_YKQ1HZGwH+Wm&VR$lIe$S z{mYIV@yLybPCwCAMG0Iiv-HB}F9SSkqXpERtEDOmK?G!EC4jw1uOabZ6cZQ)5Nrnd2OuIwrCY6|X<`0!J5_U|Tf~YR zi7qd0C8xLG&+z+uqgZDmFfkEZEfxq2LWY=RAkqY6NM{m5DxLt5pc)=fWHhk}G!2!; z)B&<&HlX$gg_0btk!gf!d?Qc$KkrZL_>Y(6-pm^n*#G3N{FjKQBP+AByK(WoUv~0H z{Ta%VBGdMp!#4oeE%*O_^?we{IYpO_pJjV%GW%;u#z(#x?59@N{?5+#a~|YA{fw!f zT|!}pt^KPOof6~yhwuNy6tz~PP^x%RCIynP$z&5rr!-+qrPxRTDmrGMYEGfDsXCpJ z#8m^VKKRZGg)mqo%m5PdH}U7a)5hK1dBa{--8i7}nTz&X*M(Ddt~#2&-^VJq*O%Qx z`FR@>@c7&MZ*Bkf@%3AFj~l; zKYnMF9RGOru7x#KcQ$DF_tWF9P{+G>^v-*_V5KZekhFV#&s5u~jgafiCj9;VJO9Bh zU3D|ZNnfvUs@!)%>Th$J-;tEGY<}pMX)cOg@9hRuyxvsQp8wYPW7p5^zw|VE^7X78 z`$w($F?z#~+nd>Ewx4PISP?kHif7$aS#rNU`%&SOX74H6m^`~_U2Nym!|1OTyM$X? zk5hIQ)O89T{7G}}tLNg9Np5{-OIHWr`o%?zT%q^7F? z9hzJzA`noPNegShwHuGXB8tU4>feo@L)e64YU^LNL;coBp4Mjd@|t}!poICe);XCu zt0Ez}km0(eVcwI?zXJH4E%^Vo{#)B$IPAv4yFQv@w|cIrHaIVW_rIEdCi<@NG8U2} zxi(gJn0MfNi~eg{`>=YLOuNOUb*bU3qdbUs*-bxh$BYJBc+2Iorc*vs_I~X)4$zt| z9qlyU{}SGQ9(d>?HB6*ZK|+BFgzj|UUu+DLX&{LZh%_sKoCbj_0%$n1oUfol5;dkF zAUY0e;YkPtE*HmX{N??d-1YGLlj*`PZZ~(IiT(Md;Q0@KI^QDhmA!BvZ*;NDx@6PJ zcMH>>mdn4!PQ?A=`%h3FO+2$hUg;`)0V0I({iW&uwk=BSs zDmIy}q=^9PlSG8nfBJ9jznf(jW{ipJT{3Yc3+%PWao4F5^&Q@IuQ)PnlAQU%#orBP=yx1JX;Y{A;cj;Po3X8|?nzE51d{d(~56tGf{a#1OU z3t@68Ix6_Q5j8MG;R(qkrGii5tJp>@WW+22HBiH4@wi$QT}^}3Wzuk1h*nhIB zhhBbGF}Z5g5K&*+HBQ==Rf`_s-=DVrOD8um*G@XPN>gU{vHRx8Z9WgLp?5sgTvahZyo>G&2{Ifk$t;;ci(#~F}u_8BIPJor*}5Ut?1iZ z%U_AVbonB?4BY?Wf5_^-pUy69998_L^y!OD1yh4PYG-}0^}c4`!e8NgymMji|l5RR6^LJ$*=V*&!NkdY*`DB*v+|9#}?ir&)fe07+NB@TDpXq>}X ze|_$|DeREAITC){BcJGxk>6r6stVQ?1>M5?zis@(63`b{4_xoTHPMGfZ_M&I#$8>u z`r=E+^(3#J0UqOTOxkdVt^6=z#*?UWeS7w0^ZXBZA(Ic?@qPPF5>;i0}ly8)pWj`4a$39wvh$!1!}240ujtKC5x?s zj2xlHBw{llCc~uWAS4Bk2g{XQKub)tXoX6;<*)s>gYmQ3-sfOhsdeCJqB?Ly!<&`j zSGiptWKYbBP@kPXBfufyoZp9WG)n#Q7W^nK09%AMxRZJzQ6s3{@ z!#W>uLD6IqCIAKy{>$+bH^iOa z5wtpeW{;Dl1Ze-)-tO4fp*4d?T+oF580pvl-m(JyJ@MKvk3!Z=YU%&B@wdLe5hrX; zc0^x8n5aYU$EliNJ(`o?HP)a0;%_ta7iwuk(e`MrO zH|2A2z5nb8;g1)rW7i6Qmrs3Y9CI!58N?(wB?b?ly!TH@~dLfpR(cvL39rAU&q z0DGwpRIy@!&QfmyXfjY!g>powP@w|#azqJ9Ly_>gQYD>kRHGH_AmZI z@!EFh`FLW}v3x`uWnPff*4^ffF|^J!`-2c1)kV zb922f|6a_y2%7#!`<*^rEc$wO$g}Z{oz5{bSDh}iKfj{iA}ejBxOClY#Rhp|mUC%G zLD~{_Ct2K*@_#gWo11Lf9ZCg73BwRBO^nWEBU~un|DM2FO1^MjVLMN?=qa zmJ?x-uKoVYeU=@T4SRX;PYeqb%X=AFZ&0YW_+@(a`ub4XysX%>(+QC!nb;&Urzt-uZ%pmv`jewTP>@bHC0~K&{F^0vVNOUvy{sO zy2=c`Q74g0lpGBQ(;5*fNhoB4YAH~9Ns&nTCII~908TG0m#2~PfkYw|tZ51niA537 z#Yz-aOBj;Y_(Q|5WMs1YH!oS6-&px=cmvey^iFI6gFE=A@W?Dy#zklU+Ru3WZT9$G%8^eF17^%$ zzb&@*sp(UvKFwF7t+TI%6=X|j?Zq#p<)>6o#vS?n@M5GxR+aw+celq@4_ti59-HQ2 z+V<;ChfGqxknm@7`!qGQ=$GQ(KORM|<8tX1F{}kj#(V}V;gEh^hf)tPli5ELq^bmH`_9jh0>oXatpVL@$x?0TAuKeE;97pA{+N8*?qoUe7x7 z>+HIXN5?&l9b9&zdY_>*s42)^KX_tofW7^!GQWW>`rkNyACdy;bduJ>=K(Yg*?=M> zDwzf7j>K{$ohcAe$U=^eVbq)Tbc>QA0+O5zCI!W@SQdf^0yM=WwvsF2B3z6N^Z~R& z3q-c)K!L7CC{R-<;(z!38vNU5&^O`Th7SGXjws@ib`@~H-+nt*`IJQ;(nQUJD51;C6`A%Vf92Z~ub zz8u^p@!Rwt65KfabpE*k+^mcR>j+zu3T{={`CL4-l)f*y?)v3o^OB~W(er6Z1Cz=x z)Zp>A^>4AQ;P*zZocryxac|FCy>Dz^Gj;2w53Ae}pY)@Dv6@IG!vaVIiFq1569o+FT(ek5fwU@$3=FPFFH@pMj4feHc_fp8q2ud}d&s)8Euh_uCfKZ?hkaCNDY_yFo5JS>kwdtKVR%vzw0x zaQ%mWxK2vH>6F;xY5m+m>^%Ero$IezZFjaY8lvg~EFy4 z;hQyFo|phq7cv0*ghZfx&B(xH76N2es`(rqn+s6A5`$KYY2<)dgREhSWC9t4urNMi z1e9Lw#NVaC$NGo5D!>1iCv&`F?{vE8XAPzQVy#!Zbh$EY-UQ>vy&D~Y>p%RnI4*gN ztAk(7UG>rOT6F-<(OpTM9I|~!H`jj6&P|1fdd_&2@uJe{Y=e4D%l!ov{0)jwVNjAp z5-AEOJ!mWqMXMAmP%}z|*es?|N&&o%60K5d0bI6R@Did@i$*5+oA}|>@kP;vU9RkZ zR8&@V;Awz<#?%U7pfqXFqXj=H{Y{gGHxO_1n_gdTeP`!8y#M&%VHhkNF<-#~q5=Y- z+s>8}Bt{b^Hwbt{8lKn#wER;=h;T@e9BsR}(lIvzjjx zGKpjgTZVuv4#HDobS4jM?W81%l))f_B&9-bL`g=}ppYr~TDqDDYk6|9fTX5U{&)Vy zZ@*&4IOuhokk{!heZO)~PTvo7f9*5hSGr-p_8;zbY2r8QQRYccp8t|VE&M@k{o6I_ zhd`2ZtE>FyS6^BB?e+HL%B*Fz*GFU-`}}Z>S|YV`oclB1h>fQHO+f|9B$5-zuE7)^W$3!@+w~b zx*IYSg#JhTMLFW{10tpepF8n%-kiKe=Qx>RDXTi~8!~f>RZ1U+z}t~5bN%nFyRL5C z9(W4>ezk2sIc-w%hlNuu%>{PbN3PxWO_mU09GYlKaUP8#ADqr-Es4LoU~F^w!EO5* zTl6>D+Lt$ZB)gq{7N51~&3OdKMtSzW(*;{UVgqG z-v5)pBO%jCC`<>UDLNvT#m6*iqma%}n|UOIjxChwRAwc|EFvK!j)^MQ1Bn%pm_t<2 zgqWH=M~Mm+_pW*Qz36e7v8w4s?)?O;Z&hbJetiFd>Xkf_3=qkK;x!==pWaF( zLVH z5viMZjigyYXG2eXd?LCM8r6N{8o};U11i3kG&Rq-{_4faPqTsfANE^sPwu(bW_*v; zbE7gOgF1z*eo;O>>fD>2D!Ty&+n?*JyPxiUFC%JlXmruYfd9+?_`CtXj9bpJZ%a;f z7+a~fpAdEB`->)uv1m`H10jz0?yUHDt)+hZ@8VDE!+Txny_Wp_{EF2{r#2}@OU%C; z!jO@yE`w~F1~@;TFgP!c~pOtl1Sr`gkgAP9v4N@K67(P!qE`Lu`P({vzMfO3?J>Q*vbsK} z_D*naFSxm~WYXfYiB=Eh#*NtP6gTXCmvMOe@%Q(y@qbJjnppnxaPBGNyuyJqcV2j| z%yY;X*UjbI#gv_h^N$K2;iuZS-D|d&8s@g>H?_5I^?z)_(Zg(Er=Ttg!`5dHDhp3> zKp#5vEnT?`M-CoY^7xQ;K#pWrwnjuD6LL%Vw8w!{cnctUUTe1 z_v$rgr;g@nvinlTbU9iapUAmov1K%FosSvTrY z15vG2s6=d$f~f~=JOE+`jvW#K1N?`k14{_SAhDQ~LR2B93MgC!MrJcC7)h^`m}UPU zf6({jQ(orDB`!l}G;A`jPr1A1w|>y!Nl8PNk@m#Lc3Yn`<@%IIUMsk7_C${BfX_c1 z|3fmWBxaLR&sMQ8HP@h~&;UOL00Rq2Y8HTufa5B`K#@oYB1EW@u(&)O(BA>q{v4A~ z4djjZ04ri)vWXTNjRA{DLQr@3U&OzwJnlno*_|P`&QAAvlo_~LvIRlU7XNO(>Ak!o zIkvn!_$V57re})B%8)n*JbwKC0n&i_CK;mAK_apN+$?}on1D`}3)z4TKq&-;>T&{0 z!r}2HFrv@^^)ri{AyDznGP**?7U*dxi>}0&a!eRTrUQhF>c zQ|=|-d~Hhg8|$ML)*U2^<2#!bOCo$cm#&;w)}sH~w*6@ZPK{Oz19^GFrheYNVD|Ck znq@!yTz{X~ye<6b@0lHXj?%BV{I2`NYd_}Qe~R}XjvrS6iZVTsEjJP{9#};AbWoTf zA}fSqg-IrrnCUt;k4a<71VRl}0*K}497JehfZyN{1WYxZ3sizM0-zD2=J8DoHpDj> zX@Fl=WB^2W|9t+o_TT#(8wV|_TU6Y6fRi9xaqKqzPEYM(YY8!JC?r}&1oyyWPE!`lMKu$h5FKBO?CXIpiPS~LCO-K>`T*S7XnKg`K* zymfVZB7H`soH;=_buIeK?)ehefJ--jR4$&JF@bq^^k?)Jm-uze z#n->K{y%o~m{v-35_@gmcQSz2p-1nkk+DuIM-O}LALRFFo$`&%lAU8oz0_{WkaK){ z_WNR(*uy^B?KEBZ(!Q^M{Rneeu^_Hj(4y7Rsk}|Tj(T>i%Yv(O1q=OoCtLU%+WOzx znK6A1bB}Ud80t7^Olm?wKt*oOBB?ge>(~>`%~%s z`@f9_I&NRw77}tjfSb;%PM~}v!1nQ-#Y%=*p54H`_X3j zkM5Tm7B|-SiKh~%Tsb}-u<*^O0n`0HxKbi<=+__p_pp|_&0`u_r9Ax3GwAuN>A5v; zJ&s-Aub=BznYg@m_>bi^#i<3?8|SLljGBhOKPvDTFoK*1zI!^8OivLLqy`NIK68R-#aWriy!~zC=Z;55NC2s-;S)kqD&KC48O|99lJi zwNe6bx)hBX1Md^lB-VifJAwof!bF9{0{HZ0EE1d7UjNmUy*enAYMShAkEgzL?UtPL zp17=%Y+c?(mFvFg+oGwvSe>u0n}NJT!=|?6e}url0PtG?(R+~KBMK2Cpq|LDO$1h#7W_(E|E>1jdaui%1_WExo@;n}FyQ66 zN87I3baJ+NS+n$6qH4*R&rUOEwA}x{4u=oQvuYRZSlB-bVqGAO}j>GxG@W}eerQ4g%7 ztZ~j;Z}YM&KNg=qc>N5Q%>=cYW;snFq-Z4?6HzWE=}aU&NF(tGfQ?*Z)`;i`BE-Zp zKs$kI&1#rz2DB|qs$44pysH49DL@eL%?6iG29QUg^Q9Dti7urvrF;>O{Ezlu^SA7Y zef&A9>~etd!lh0D9^^{z_yg+IJ^kx=5BFc(lzA+*pprXp?}NQjp)L9Mw(-l(xOV8+ zU37dz=#0GWpSvMvPReR~d@qXVnX$S*5*J_O(*5o1$}uNmJxh@9c>lGv-~MUZlm7Yh z()m=Ep3ln09ewV~J-EdsF1JCK=q{N?(I8%=9MPmG$YI-$V(567=D#bSwB$28LQ zpd^RM1H`Qgi5zg;7{G;=lmp~*Byv=yfGs2mK?hm1dKOj9<6$BdDr1oW#1(M;3oN4l z>A%+b>pS(d<)>hfpj4bQG5+4^-zljnn!~gZYVFhF3 z3WL`5;=jt5*U9KM9is-^IL6G5E_d0srb^P^b7H3--?L?`Vw;xlPuut_6FSUzH0sTS zMsfD8prL>`k z>0tKA4Jw%d(Dkb6;40Frf%z+G{G>9+IaE&}2IAxple6B+ANBb`_XQR%Sc#hT4 zS2p)-oL7Bk*}#6Y@5f%8WPE5|ylp^OFEhlLw~serq@%tCKiby+J}CCU;QTHQg##Z< zb+jt}WgNV3vdnqr=(XdI`Fovr_z)0Yem&V|Qnx4hdt3OU+S)IfXn8fLAkJpTvzcBl zyB=1q-xi%H^XmC5b*oq96igzzUea|WH7RhsyVsc({$>3B4A9U3oCQn9Q40(Z2LQxj z6P-gs1u$yV@Rof>Xvs~7(3#glC^k_ID_#h zA#GUDu);Q(r5kn@jVC+cRRhYJ9TS(c<+wU<&b%|fEv)L))Qu)Q|2Xh|N8Lk0_N2hBd^ zAVcaebVn<;TkJtXx~|O-^(t~J#C;5 z?B%?oYEln|&7Q1TfxPzOcgdQPx-|RH+;G?UZs@4vqc?Ux!>7LLrWyW_QZ^}eBsYY) zb(;Fc^j(*xtET>6{&y7oTx2El3>$N=)4-FzSBcnX$1VS5nk$oTu#@9#dI%TJ8IG{&#J_}@>Bzr4+N;zg@xZDZhq`5*fx5mLU!Gc!cT}RPUCtVo7FmbCKa;@&?xZLv8wC|cQl&^B zr?M<^q13`h449H8*YnjzE|)-+m_XsP1Vuo8Nhx5NI4UCGVlZ()qKQXTSkxl1PRP_~ zLA{ocOx4L`fKZqL6X$pIRr|wS9DR z2flmZw%BF&PpK{!CE@LF8-MHk;VdHg9yqjtx-RpXX-cOTSraxL-;kYLUOL%3yua7= zrk5dC25iFnzpecmzs+%WAA;<6_v||8n+NCU*zTJ`r$zko>PGZ@U;jGwUAFr)tNo9U zjPG&R{!n}VXCLwosEQ1--dC}}YNi2Oe5dR}Kt{=i=TpL8W=5a?bm|s;xgC}NAOLCX z-Ln5_>pyX82ieTK zzi;9l-agUfmt`E!mh)d*|4+PFfp6nJKX})#Z_TvVPn7*e674nLFEn3|wcaWBvL98Z zJ9%pr602Dqv7u%E+t!|w(R25xy@jLKr+k<=cF2l~gA@EOdM9^(ac%VgpHbmww*g5^D9m`?ek<>YJ?SdEWZb%FvJ! zbI(3;zj!nED=+rI5`4pshVbL1-}f;G6R(cXw{N+B|GV}d7K}}qW9KlXE+b>y$DI++ zj8($O^w{(JoEpmR-dkb(7&dgrt@ixuD>T6!#1H2S4&J)3;b8|8bE29SYP+T0=r1Cd z+>_{OV{m3QJ)Cp$#y7wHf?jWR;Sr|- z@?-r5uWbyOw(7wB#P;m(Nv03!ZR_Gm^*;Fidqqsp{Y|bBj_QKpqVD%nI_|Hz5K4H_ z#WqO)`r`3B{o1o{+A^{H8K?X7M6zO)-N*8n&j+xa7v%X(*8Gk$PR+Pqaiiy~Tb-q& z-^GO(TJ~>kwXh;7bNyvWwfzV!&Pv)9sJ)V|U$o2U7;C z7PaTU2N%1!=aViX|AK4NV9_sm4)FxfHqq0A61uO?lDB)5U3@mxXD>G-40zkKW&exg z?{pj)P&)vn$Z8ggES4zQxPlyCK%l{NCR2@xg;J@O1u;N57ZF8;Y8onKu~C6mqcw18 zTs1{zRI6AViAe^e&dj2*SJZR%&!NN--$|f56CZ5vu%yQ3TlP)%l{d4|Z^9YmGu;lY zTTruVF(cFlkH4*ddXatHuTeRVBL=5Bn>BF>VL3Ic-|n1ubd{^=QskR+8KupdZ7wVC zboW=3wA8N~@i`zBaCLws4xC(6Obg5ts#QXU!OT>{7~n`yt5jkPz|qVGAy*1`MATpVP1aVcEk|iV=fEWj+0d>RwZv87QKGHa~>!$;+eft|57O$do ztf<{GcFv>vlp84{b_(h-LN6@q_FzM8$DPU+{5b{0Z;-0k2*|n`j65;fqLPb^Vy(`g zF#zfZg-Q&Qw0sJKpaN=H76!OYCd%YMz~%4a*Bkb&1^M}R+BYX6B^%N{&6z8AA6GPk zYNCnj9nUr&E##Dj>EaSUT0b280{?#F_g@%HAtBqUMS=BLl0j0 zg}&ZBhar=d*j0gi(FQ`rrF(ffamhVa&#LfVHl2sJ9|4b4O)_JMObYml4b7 zf*299WeUBF1ko9ol%OKfWI|9-!v|9g66&RhKt!b>5;_gRcnUzXZ;-R}c>7!9x1TpS zf9UQxRh@Tt5oDmN!GksSwidD-A|UT1sPkZ@*)z$JfP<;}EUy!7Xf_!o3GIQtvM zIgUuF-nhAD<2SL7WT;y5omzk>zb8IC^rj+kSMlz-)7Awf9^Z_&AHRPTFnN$#MgZKf zs9dQvYS=8GC1j@2PzHg?SDQg=bs9QB0y9k(R3ayn6f!YTiv=`22AK{POT<9NfexW; z10bCMh3Nvi8q`w%+xB|~rmlEn|EA}#$_w#(hVAvDXU zF5aXq^84MAziJ!*f97w(XXeJ0w#I(UjmOl6kA=N^yz|)=DTw+ z{nyrhe^F`kMbZ&tjz6}8*u28&yi-&0i#^}WpXX!oT|)=;vAlRbCLts0me-sSE%`q@ z{{b{dQ3aR4vPeKVJ6$Fv&`ClTB1Q}*u2ja50-O*RU@Leux>5sb-qip!1T=N|5~UpA zL)!M=Lmm}TokgHapVKWwU?G@3P-uV1) z>%X=Ar(H6`j0vt=)~<6uup&G=cf}8zuOo)o>?>CY$CYh>=3VS7vf%A+Yd><(1;Ngl z!|QBT2767JH72Y}oOMD|{@lo?2?HLk$@gMst)n;N^9Nr)c?1Zo5e5ZY zBZg>Z61a|#!2|}vVG{vzK%~|Kl^;}(i2!{wkIIm$#8Oa#ZX~iW6zGvcLN$@fQ^8^t ztR#c^(;9zIs^QgO*R8B~jU7^cl}xGIoQ1Bqa>RX$!y_5ZK&PZMsc z$+P0^@B60j`>#LF(yLF9HeBerXh(A8(aSC!V~3otKK3SLR2Ob zA8KuX+9uz8E@MJt=+2;T9>0H1sJy>M%($1Z@n}}uK*<@&%>2Q=iyQk4&wTVu_!E!6 zt$%8r`S`X`Jq!&SZMQT9uPalZ3Hel6Sln;J1O!chyS%w$zTNvlO@sdDBmF{r{K(*e zaX~OhjnEOI45$z5jcS&ZLqnKi4qXiR)TAsb2VyC;T!x&eF&QaBI+gji@xPe{_u(z+ ze5AMV&gw&D27IFMDZlQB|AW3UBGk5|(7%G$Mfx?-VhS4FRz$9d0 z9C32k*R$mpj^s>qv#rZiv!2zDoV@bg+2ccQI6hqai01goabS7l2fvV>y)N(RM1GKh4 zTGRlrTPmWIqtfC2|MULH_UHCI{wSqzgZQQ@%Io_z(XoPXs{0US(8xH$mAa2Wu?J7x z|KWda#%KG!{dgg+Ysb7yQXB}nxi+`_lx>WiewCxu?b%yzd^DaOUqAo#G2XI5ZR`5` z*Z67W$?!0%(pja0KPUN4x^&*zcTa~_P;(-*! zAMGF2?Tvt7v>tgedd?J|Mc(C{#-l$;mTy6MUhh};w(*r;*4>+RW6m+rupw8CxPLr< z!XTmw1y!$73FTZdMZ^=p7#EV!A+gEGN1FEv7kU%|9u#y2&W&96H8!kcf6_|BnAx+IL1pk#+4VMpRJ5 zgc$>30J^I>r|Rn5)j4;WKt&}fN;V^kii%+XMKEFnF#wJcLB)uQ0T9H%5EK(0DCdX~#s+r7`OsuT8k_Vc*f&p&&vyIVlUL0U4WqKLd_SFVyGq%4NL|cXy2nfS<+)McI(4>7+kEN#Y|pglQ?{M=1x;90N#vj4uOwRm zen!Yw@nMQoM};V`g#-zN3X}{wVZjPPG0OES$Y5a_q--ro3OL#TVY`tkMmS_93KWAd zj?{?oWMqSsLNj9=L;>*6|2qGM$@yKEUy|IG3-1ZuFB|5#c2#bFADbT6r%#y`Iyaj8 z_7^vC@&W&kPWxvWpA+#D=NC2&$j5*!I|qQC%{)3)jVfqrJz%ZlB>P)CB4B*5V)mT=TG zh7`epn5PBTimhTcB(P{WMvP`v0-8T2S89>88-MHj_vUtmjayCzt>4@U$}3B5;)f14 z?vyOmo-SRMd9i%F^BUpllexh4U;O(mr9#VDBF^MA+p4M8%zh!oij!{!oUfV;E$()I zdDOR|@uE{lzDKT$NsnonKPH2J1DB9gfEpd;O27i95&~UqjB3(J3^c2puTufqJPF{5 z12`-Mq0luNGho3|8G+n85QSr#NgA$FkI~E`n87eH$Y9APQ!G|0PbMRCjHG}5{XXkD z*dF)4%-qG?ap@Ho3pg&=H!6KL_sh80PFL>-BkdI`RC7^`EO^(ln?R zh=d?&6+?~7__$EYqk@@KEJn#vNKIGL5i*AgbBqA!z!4#23MjY(#!4*?Zmxu=UM2;M z0RJ=o%A$uq2Omyy>~-~g9e^`M0p=kSao8XyV9Fs(+9&;hZD4yY)wEKIJDDJ63h9GzKV zmcb&(@Td4AraqHxKDOS~4bMHZ=v-1hdtdG7dmgre5nH#^*miRpn>M|qwo_o(?+;y9 zxDft{BBmO_rGW2}#smW9W|C6EQ*j{_P#1_<7PCfyDlKeSXyK7DD$RmHIK02{qtiV&H(l9`?25eb@~$ScGzL}#S^oGHh0*ctP5=XGV0d0XyE!U{iSKuArtmpZTzH?yk#aQ|$_51rcrmlPc}ct-4v6^JVeV#Xc?hYx#Z!3ZV|u zsYFVe5Hw-YWFm`DiApFkJ{>R$XoPy9T1Ur3CIyA2;~MlZNg_f3HQL|CU**56Y|9}4 z8y)L%$6Py4HNJR3O~2t&NRGW8965PUZ9Y6Fu%&+6)_=sndzp?-=XhtGk%c{kOW!At zJ|N=c-`btmC*y9=O`qtd>)wsQgLuUMU$xW^3H%odV5|bEMZkh^k_ktp8ZkyU(WE9b zO-K_O2>lDGnFMjIIB3DK$T(C! zlPWSPQ8~t@03kc0+)AcGC`kn9rFr0(D3n_vr3h3IAdCt~aDnuI7SbwMA{N*I0=+ei z!4i_W6qO#x-TbThr=fgAx7l|SI&^;~FRvTrq&Ige0{uBp3k|RQQ)~wM22DS_<^=R1 zc>kiH-^z&mw~Zg2E>%@@f7{jGpj=;laMH-B7o_)XM=@ad5zgvc)v;{O=bEL=k zHctq;;}m+n1O|M{7N*JqXr9$lD<+cRKtT#aV5*QU`1Seyk2OozZ=d<$X+s~%gG0xAyqlsO z*_(L&ZR2m9|Kfhk&Fo$}EO13mN_x&|VMFk$vq^r|DM2xH@8ZiR(l>?RHUeP&7yJ5{ zDL?vMte@41ORf7UnOA>dh`D=2PL#uzc-5z4hZ zt3(P!@7Qd)nj)40wOP)uq%TSEcbH!`M{gv!7*w@HqxsWLtX z=2%dcg~~Pwa8N)qbNEE-&_8>Athkxsh9S?rqxu*oe^9<(5)!8z*tNd=&FX10&rFKG zC<|M0sri6+ZR7X;V8l|c=iYqPO$#MXK%20NMYrvHYl`QJ?0kA0_IeQ9 z_eS$k{i2%siozEBS6ln$m2>mW#o?P`q0Z+!lsMY$PfKS%UvR%JE%nmUf{4?J)frs3 zSC3s5V`U*<+Vd}YIO|RSdzI5poUk3XvF_-n58G_AW^JqabQj9o`=F?E{OasIkBb79 zyuLM@*Mazci2Eyqrl51pm{?}z7_B;>p<@>5wG0UvHLy&8f?Y3R8v!djOF|Xv)C>e> znM~mSpjs}No-F`|r$s2>kN=zhqIXT3?#Tx)dJ`>lU6~O&K^&Ytc7OdVo4HTeALrOl zlryRaUL5^UaAwQ%-YxpW#Qcd`Edb1q>mX3^!vsc-0;dRcdLt93uuXKHL~Z0#I4mVt zh-DO&2yhUw6=ptRHlLf@{?~h8(<-5rB?Dq6b|tko9lfrD0ilv6nF~ zsXMQj_htFS)0q!P{GGj|{_33VDZiMv%jews^76X<@lTg$j@)1RxjMjk3?tYpxQmVH z(%;!f-`w|cw(r8@^TPG6TkD3ei9Pd~LOoZM5w%w|_o*m)r+D{}8GmQLZ@|fWaWwxM z-8LNg6s2_T1Th1eeirs$|2d=og?r0w&LF>T>}bz^l10{_q=%+ZT;2Z~1=zQ~pb5Rxasc-*42J$CaUih{aNYb84*X zo|B8v^yhP5938y8^w5>l?fK8?zj%J~HP@{C&No*^1}^bkQFAWmhf7)3xwPC}hZf8z zxF|Q4?(=@v^U@1s0`dJ3{U34(DE7(_r2-I?Vk-g`wGl9DrUwzv)aUgyCfHhyg$95TgeAt=t-aak;zb*Rlpm42`sF`8~=t*Yt zs4|jB1rEGamIh$~qF|}?yUT^qn6&G%*lVt*|05d8E0h!kv}f@@%2FV zK`B*9ICJT$G8jOrRu+2(%cG@?)}P3dk%0B~O$GtECKu3Z@weU1_eojsMo~ z2TD4==)oGu@z`L;=7;C)dKJkg(6?>*;JC(Nr49ai@4^`S<1c{gzxZ#p@1S$;brwIB ze$zX0bwcsDxj=$BvL&pNoQ_>HG2hAttx=z1XN9A|M z70(I(>iAZfaah^3Amz?L@Amw++TRO=k{=G1H$|pQIX)}?C_VMS_if#6`kg!w$Lzmn z{JiWJS3QZVkN-ISJ!z8)LSH9%ZnT*`$Z!5eBxT$#v+DEfP>=35GTFL?hLg@0TJ&$) z#xG0yK5^OysO#;#)4hZG3{W^dvBobObUdc;#fP#%KPCqaPOCf}x`%mXQTFfGTE8Cy z#liyoE1=>D+G%wrl~_tKX;@Z;jLFwiO){$)uvSArE?odt7`fTX5GlAY8&b(AR+U*y zlUsOFIq1@4fD2)+Mb6YhDi%ZfZ@-^0{G}Tx2?s`>35lV85ld)ULfeEmY-0WJ8cw)UU+sm`^TcBx`C=iKGkRTrLCTzfh|TY5d&ZgE_gx@3Wm z@r%UyrK#q5^b94Df1-Z`W5HY?7S1tqSg1fJM*#pG<}vgz(_ofkprj|0=!6s*nFq1V zS_>u<=`n#=hFTB?0%T5<0+elnLS+_8@t{wv7_A9PU#LA;QDCE6)t>z|wWadF9!rRDRc-(0#RtZAxV@LZ9*vn( z<^G%Rw}JfPmr+f^E$BdNchetD?b)|}e?913GMz#~Y9v+N$0he3V}icTrADV3I_LGu zP2FBxvcWetj=1{yOZ=_&>twIu2QPWskhH0;*YMLpCEWYBqLcP~IK`%H8ou&K7)?>J zkhr?~kM=jlhY$TySh{Xz`IDJ>GrJdP_BsA`GQVjaJUe3T^EEZ`WY((Le`i1J!LSK6 zU3*IWF8B$wPzXx4-; zC>r8ky}_pQ;oJKW_hqh;8%xi>@Y&(u_V^S3>fhxrXX7xxtTM0V!8^`eBL_U9I)^_# zR(0cMEVeo`&D?F?pe@dCoZ9oBzvW>~eb;0|$#Qw|vJrbQ{;loT6L;J^^hV0SPD!#WvhFSj>O9|E@aW&6pIK`=&l~SE}_!=kF=5)dwRg z-NW`D%JO?Z`@~ZJSAKTi6C`Hy!)>35{I`uCoszO9qVBfC{Foo*@o7!H=OmB4>#-Sg zTRk2bgv~Ni%@$lQ z(VNu@hDpH`iUev6lLq+W0K69R{pyE)RP-_N$BWW*30Se z@7}m!K~F`e*7cVyQK2NQR7EjyrB)p-(NQci9ZwHxb}}IGs^SR|C4{MzdbXTPr;}-V zhyyMI&1O`?AOX!JE5pnHD)$1R81SeF=mrH$r^}@O_Wfzi-|k@pv84^W(Pch!qZQdb zLfxDtD{X&`qq!_~C@aVc*dKrRBeC@TPyhCx;$JK7J7dAi{*%YvDp`J_IeW;vcfP}8 zM%6p5_L{jqZs%4*`lh^^fxHJGV{4vm;c>mk__eeWHU&C>^x2l$M z-aT&bo(ze;3FfHOpmk2GW3lLLwUA4PIFOW0F^FKj(1d7>Fv`Snrj#w<^T{}DVo_xnCS%JO z77S*KnXr=10vrnRe_DSL9`9N-tf0FVfL$Zc z&UQ`lc278R>>iPSVi6SKMmM*LxGyO zkfqk}gci1m+J5|#eqQ-7%5qEd$YW>so%EYAAv1k%JU;Ht7j|&W*9F+#ncyWb33FmC$NtYV@El zP|C1!wN|!NF4ED|RE9wNhNhrmPIIy;NtVE zYxQM2oJF{U=kW(0U({C*d%pUFCz1cQ`CHlC$lT^LR6^Z2>tbWo;EVIUbz;-gi96A5 zJ;UzwT=OCGj@zfWXGM9eolH`D_O0=6tzEdO``JEzDyIcD7fBJl9rFW!-+1(H|5sZs zee2xq`DUrt#1{UUw*HF+)9O#z(j0Nu!gAZMH}Jumiwb;&>T9Mf+1lp075A#Ds)E1& zSZEvmdQ1!dGy&pJ04XM`Nh0MK)iN^|h`DhnsEMoQ1E`onAyaU*U|m;OjNn#U!dC&- z69&%1)hZfW#AV7fMurLC=`0XgVl?u(d@+kE;*c2%jgrIDsrdhR{%Re6;A@!q0`?bU z{lqc7$DU=R_c&(fJ9@I4wk*@GY|J#8!eea$@%-AxZ`!PzV;VeCwDRH?=TuQ_=at8) zA94yW+3hPI5_+=~u9i)ibm>dhB+K5C!5@kDpSVAe2$evt0*JK;aT!qEk;^q!J)+ZU zFat%zp&N8KqER8JoC{cZ`FdC+M9hFOAJDT&bqu}8LL)2n6mTnq^Jy%$2;-aN0EVI9 zNiiw_gKOykI`vQRx0|v$M;*=#jQ2PuZ#EyHM96)vHF|BBxw-U3hPbYC8ob}>(Y`uO zE&g_R#abeM;{FndP*^2al7a(qw3tOF1#_o~0vhy1X3+4h)rpLd#$wWm3`VvLVbHW3 zi4dU57;wAs>jLh6oiJ)Emo|{UJnV7f9k{8~J}jfi+Y%!P+1ii0=vv2vsqlp@uDUUf*Rr6`OT*y30)P@Dee`FpO7^%~u!X^q}tN_13$gUgPT z(45S(;tAhBRvzPmQix`+qeE)6jOPDfe_W8l^>#EZ>Xi~+rAp>Z%UEU{Vo=n;;>}Qj* zE~G9v<_F1X;EB9R4n+Pf;AeuZOdVGZ^jt6*jiLjKH3b4)#6}gk5Fnvyl)|T}I2;Yl zq=1AHwj5!iB0#?@mKb;(Hn^grGEGde*#MaP5TP8^>I4YWD4>8!xiqb_genc2W`{nbDi!TOw*w%mV5rkYWd^LiIpEy4N5W5)?(1mo1 zQpN%F7eEaTblWSmVlEF*(ep?$8Kz?J)l@{L#5rt$Vpiaoz$(K{BrU=O1c?>{DrMm) zq6hKoBdg|_UrjpOW9ji3KObj{9BO-Q{C2V|>gDJIf2Q-$ZvC6ebL;K1@xDa< z+xq`~y?^*(e_k(5k&P#*IB4aT=2a;(vTpTWHiY#)bI^eMyz1cVnd67dNQcwr67duG zeG1^tLjl*dNeAn3h$V!De8AQZs>@7+2{eb0wG^dZ1|$(-5zGe|T_Bn*w%2lY_|9kz>TTkfvvk)EYPsnEbzEQfY$*Q(;x*9l3*$=Oru@~xOug56JLiL07{n4 zf!Jy@#D^ugPOk=(@-&SEKDk#PbU3fWw}OOMl41S7b#zfKEw?YRKQ&-OV8P4!#4d^K zWy$Z71NN0PJl%J?BvOtkeaAeH@Oz`S51;o}q>Bhm|fq{yuh4>U=xx z_Xc57N_7i=U0ZvvNwW)MO01I-l8x(&{I7HhOYx{X<35T8kblZ}iGL)*DADNg*dllF z3O^$MOz_hfr5cnB@D3&h)d~=NMl&d&V`>WEpV0!60;}Ah#i?XiPtqGj03At|o2hK0 z)NGNplmGH;Cmrb_UNhV8>#Cu3zcz+7ti5<`$_l@t8`E8vrI@e(7T7qwJe53U<)%$B zg#YQ_ClZ@A9MHHAK~lhBjjJ$(%?GOKDp-u8OpzWuSA#|-2b~EN6oBxoauTjpYZ!D$ zPhqMstz6C5<08-kW!5sta;;WCCOFYRn;Dq|?&R3|fA;+A<2*V}-ygXy`v`m9^MlJ`XsiW0(od5n7W)2N{i0 za4g|cUn!0XX@o$A8@w1w`Mq%2!eUG}pr0h8Rl8xUkbqreU@_U!qTDfo)tEV{uQec-p(-8u|W& z0WJN{ZS6xhme1e3#OL5l{)ha{**`YKCzs#rJZi*I8SC{?etC7GfaRYRe);qF?-fZc z{Hbm2Th|Y@Z{M50WPx5)%M_1Lq{}Zw{lf#2Z~+Or@MTzUMOJ2jQ|(5O`j-96pYuQR ziev5cmx_ju!z7!>7rAVG^eH{Aan2ZVJbc-o`NT&e{$3JkI`d^)BkOc9@%^^--`A66 zH>7cIqKAIRGge~$kAfSeAwHels;#TzD|W1ZSLLVZbMN%8e7CfZkM6Z+|2m>y?=th0 z&|e4py*&Lh46=;K>WXwO!|k&}Oex#P_XMxT! za0chlO-4|RunI*K08~~0NesZUYb7&5TOUIXn2f|CvrrCGr6d4q2HOw_!BlE9pQfPd z)O-ej4=VXAvx+X{^7#lr<^JRMr#1iX5m6<#CF7;pJpa{A;X|Q9Y;hLKt>0r_aoKrn zN@?G(r@`H3JMm|2eDULQOtQ06g5A!-`B|ZR!;GigNuM}zp}w~+40`NsIoxw$X;adk zYr>{{V*D-pZ!J?t5^5A;u7E`rAUYJtHHtV!IZBqpRx62aRZ8SSgbM`Pv_dN&s%A(T zR65Bb!6=woLpIVSs0aZRid+Mi%tz(Oe>Hx~jd60iZL=UBV@TqtJ$Q2_(^m%Ve)@cY zk52@5htBhqa|3+VVX~aloYT^O+cy5z{DpU~DLt|}_N`(~%8c7RmYzK1w1zW$>)5UN z(xKCO->W$7Lh5vj$X{Fg?NvJ`AYZS8k$Y9m7NbI(JA!lWg`Csew)FP0a-~o;7$?h1bRqLCGpKFp$?`ffCi;f!I0DF|KIB;EC&q^ zynp}xWw~D1`>cAh_ra^-(~czV>vOKsZOa<|f%R_a{3X@DoR*u<9A4>(jN8lj6y36a zM?m~43(TVGX=EOq&p;$3oM#qNlq9u`AtOU_4bYDSjUaNK%0%LDF&0BCf^=-5j;@Aq zCBRt1od0M2e|{mo+bUUytZlh2Q>3l~lzs`+#$D?Uo@IIJrWQO~{ZQ^U*s1rOV0ug> z>PF;`s2`x9;*5|PINc0jZ77R|ssS8K#bH^bFa<$qs0GF83V<3Eu?13azMvq`fA*hz zq-3~hNI$Dj_*ln|A3kXVI`}4BS$S}5(z@q0=+x$@*WJp0-VMX7`Jq^~F9C+pgHVA3dLU=3#BTq>eQG)f9t3l4T%vJ8ONtUzx^Y!)(9788tca0->AQz?-)`LmSu z-}cMpUDNvp$7kvOKO@Ty<}7;Ru1YA@8a3Ded3Sp3K&ns-`2nR34N;F z(85Ulw8rhXmUj&aE2s(E^5R)U{KdkRs{^PQ_wvV$r%dU6G8WbC)A9G{C=(*iG z$DefZP0M{hAo1ssbz2RgNXk_re&YTB6b%5(2{*GiOwh$;W`X~JeY*x`=v4x%Nyp`Y ztq;pe16{@>v6&1bWP=zLY9PR)Wnxh1d^Q5KY!JOz&10H?HXH>As#0L|U&c?pG?9J7 z@kR3WyjynSo^P$$ql(YpUv4UQc)z1*Q0%O(tD~T4bcBbbT`2e-D?E7D^$>T7$#p_-@gEPb7DPNNCj1llF)N#-5Hh$-ra~nV zKtM$tFo`gwFsdP80<%J4r5ddQgHWfH(gh3|PP1sN202ixx2TwGPzIGzDLU|m|8M?2 z-JUm=Kl9+0RrmJ3OjDN%s&W^8X4a(_ybrl`xOjrc`%Rx`zDQ)fK6J*W{5tXew)NjS z|Hsc=7@5~=zp;O`gJJX?X}Hsji=KN%O{#PnJ}NRS=SwFa_BLYc@fZ67JB9745$^c! zJ}2P3V`cN$S7r&X`Nz<_JFVvQeLLBS;uUTCSQWgu#}>o?%{ zN4|e|6r#K9l#-#*SWL-&Ma%l%cKq1|)t1V!$}x+kjvqBhIH!3?(F!DIw~cS|-0cO= z)^(IP-WlN@AMKS-TNo_+yZmi(GLOg=rfFPUADA1Up*eNrs>)vuNfoxiMTr-OM;2!y z@bdQJ?^k&zKI94gGj(v{9+c^_*x`-l#EG~wVW$e3W#t|7e-_2ta`wKeWX|h%qosb) zHva!R{%P7jhUNsAJPru&UMw$5Pkgw9{}cA?aqj{$u#>(l>Zq4fN_+lEMb4=!#>MU~ zExPdR-QMDnAqR45metQRT~at3`ffeI33qC4j<(r7*`?Fx7XD;n|Hl@R)G#QaG07CG z1_$cyT7Yy{Gc|w>fyK~B_!O4Gi~zxHCX)|nLJe90Um{k>7!1(SMq()xQYH@Q^+Xz# znXFWE1tg}5%A=8tN~Y{z%wMhJpSW`DjrWCqxm|ev1?g|)Hgf0<|f$YEUQ_$6_C@$4a^gwxC1 Rk?EY*#}wy?=ihex{|7N%`+NWZ literal 0 HcmV?d00001 From 4b94275a143bd83fb39297f99a6c01d826eb20ea Mon Sep 17 00:00:00 2001 From: Michael Barker Date: Wed, 7 Aug 2024 10:42:45 +1200 Subject: [PATCH 2/6] [Java] Partial implementation of adding version header to RecordingLog. --- .../java/io/aeron/cluster/RecordingLog.java | 83 +- .../cluster/UnversionedRecordingLog.java | 1930 +++++++++++++++++ .../cluster/RecordingLogVersioningTest.java | 186 +- .../cluster/UnversionedRecordingLogTest.java | 1142 ++++++++++ .../src/test/resources/v1_45_x/recording.log | Bin 378112 -> 197696 bytes 5 files changed, 3306 insertions(+), 35 deletions(-) create mode 100644 aeron-cluster/src/main/java/io/aeron/cluster/UnversionedRecordingLog.java create mode 100644 aeron-cluster/src/test/java/io/aeron/cluster/UnversionedRecordingLogTest.java diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java index a7e84595a5..a6bf23e8b6 100644 --- a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java +++ b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java @@ -22,6 +22,7 @@ import org.agrona.CloseHelper; import org.agrona.DirectBuffer; import org.agrona.LangUtil; +import org.agrona.MutableDirectBuffer; import org.agrona.Strings; import org.agrona.collections.IntArrayList; import org.agrona.collections.Long2LongHashMap; @@ -30,9 +31,11 @@ import org.agrona.concurrent.UnsafeBuffer; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; +import java.nio.file.Files; import java.nio.file.StandardOpenOption; import java.util.ArrayList; import java.util.Comparator; @@ -60,11 +63,24 @@ * that a snapshot is taken midterm and therefore the latest state is the snapshot plus the log of messages which * got appended to the log after the snapshot was taken. *

- * Record layout as follows: + * Recording log header as follows: *

  *   0                   1                   2                   3
  *   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ *  |                  0xFFA3F010 (Magic Number)                    |
+ *  |                                                               |
+ *  +---------------------------------------------------------------+
+ *  |                          Version                              |
+ *  +---------------------------------------------------------------+
+ *  |                          Reserved                             |
+ *  +---------------------------------------------------------------+
+ * 
+ * Recording log entry as follows: + *
+ *   0                   1                   2                   3
+ *   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ *  +---------------------------------------------------------------+
  *  |                        Recording ID                           |
  *  |                                                               |
  *  +---------------------------------------------------------------+
@@ -100,6 +116,9 @@
  */
 public final class RecordingLog implements AutoCloseable
 {
+    public static final long MAGIC_NUMBER = 0xFFA3F010_00000000L;
+    private static final int HEADER_SIZE = 64;
+
     /**
      * Representation of the entry in the {@link RecordingLog}.
      */
@@ -756,6 +775,11 @@ public RecordingLog(final File parentDir, final boolean createNew)
 
         try
         {
+            if (!isNewFile)
+            {
+                checkForVersionAndMigrate(logFile);
+            }
+
             fileChannel = FileChannel.open(logFile.toPath(), openOptions);
 
             if (isNewFile)
@@ -764,6 +788,11 @@ public RecordingLog(final File parentDir, final boolean createNew)
             }
             else
             {
+                if (isMagicNumberInvalid(fileChannel))
+                {
+                    throw new IllegalStateException("Failed to migrate correctly");
+                }
+
                 reload();
             }
         }
@@ -773,6 +802,54 @@ public RecordingLog(final File parentDir, final boolean createNew)
         }
     }
 
+    private void checkForVersionAndMigrate(final File logFile) throws IOException
+    {
+        if (requiresMigration(logFile))
+        {
+            final File oldMigratedFile = new File(logFile.getParentFile(), RECORDING_LOG_FILE_NAME + ".migrated");
+            if (!logFile.renameTo(oldMigratedFile))
+            {
+                throw new IOException("Unable to backup old file to new one");
+            }
+
+            final File newFile = new File(logFile.getParentFile(), RECORDING_LOG_FILE_NAME);
+            final MutableDirectBuffer header = new UnsafeBuffer(new byte[HEADER_SIZE]);
+            // TODO: Offset constants
+            header.putLong(0, MAGIC_NUMBER, LITTLE_ENDIAN);
+            header.putInt(8, 0 /* TODO: version */, LITTLE_ENDIAN);
+
+            try (FileOutputStream outputStream = new FileOutputStream(newFile))
+            {
+                outputStream.write(header.byteArray());
+                Files.copy(oldMigratedFile.toPath(), outputStream);
+            }
+        }
+    }
+
+    private boolean requiresMigration(final File logFile) throws IOException
+    {
+        if (logFile.length() < HEADER_SIZE)
+        {
+            return true;
+        }
+
+        try (FileChannel fileChannel = FileChannel.open(logFile.toPath(), READ))
+        {
+            return isMagicNumberInvalid(fileChannel);
+        }
+    }
+
+    private static boolean isMagicNumberInvalid(final FileChannel fileChannel) throws IOException
+    {
+        final DirectBuffer header = new UnsafeBuffer(ByteBuffer.allocateDirect(HEADER_SIZE));
+        if (HEADER_SIZE != fileChannel.read(header.byteBuffer()))
+        {
+            throw new IOException("Unable to read header");
+        }
+        final long magicNumber = header.getLong(0, LITTLE_ENDIAN);
+        return magicNumber != MAGIC_NUMBER;
+    }
+
     /**
      * {@inheritDoc}
      */
@@ -836,8 +913,8 @@ public void reload()
 
         try
         {
-            long filePosition = 0;
-            long consumePosition = 0;
+            long filePosition = HEADER_SIZE;
+            long consumePosition = filePosition;
 
             while (true)
             {
diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/UnversionedRecordingLog.java b/aeron-cluster/src/main/java/io/aeron/cluster/UnversionedRecordingLog.java
new file mode 100644
index 0000000000..ffe916bf63
--- /dev/null
+++ b/aeron-cluster/src/main/java/io/aeron/cluster/UnversionedRecordingLog.java
@@ -0,0 +1,1930 @@
+/*
+ * Copyright 2014-2024 Real Logic Limited.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package io.aeron.cluster;
+
+import io.aeron.Aeron;
+import io.aeron.archive.client.AeronArchive;
+import io.aeron.archive.status.RecordingPos;
+import io.aeron.cluster.client.ClusterException;
+import org.agrona.CloseHelper;
+import org.agrona.DirectBuffer;
+import org.agrona.LangUtil;
+import org.agrona.Strings;
+import org.agrona.collections.IntArrayList;
+import org.agrona.collections.Long2LongHashMap;
+import org.agrona.collections.MutableReference;
+import org.agrona.collections.Object2ObjectHashMap;
+import org.agrona.concurrent.UnsafeBuffer;
+
+import java.io.File;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.FileChannel;
+import java.nio.file.StandardOpenOption;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Map;
+import java.util.NavigableMap;
+import java.util.Objects;
+import java.util.TreeMap;
+
+import static io.aeron.Aeron.NULL_VALUE;
+import static io.aeron.archive.client.AeronArchive.NULL_POSITION;
+import static java.lang.Math.max;
+import static java.nio.ByteOrder.LITTLE_ENDIAN;
+import static java.nio.file.StandardOpenOption.CREATE;
+import static java.nio.file.StandardOpenOption.READ;
+import static java.nio.file.StandardOpenOption.WRITE;
+import static org.agrona.BitUtil.SIZE_OF_INT;
+import static org.agrona.BitUtil.SIZE_OF_LONG;
+import static org.agrona.BitUtil.align;
+
+/**
+ * A log of recordings which make up the history of a Raft log across leadership terms. Entries are in order.
+ * 

+ * The log is made up of entries of leadership terms or snapshots to roll up state as of a log position within a + * leadership term. + *

+ * The latest state is made up of the latest snapshot followed by any leadership log which follows. It is possible + * that a snapshot is taken midterm and therefore the latest state is the snapshot plus the log of messages which + * got appended to the log after the snapshot was taken. + *

+ * Record layout as follows: + *

+ *   0                   1                   2                   3
+ *   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ *  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ *  |                        Recording ID                           |
+ *  |                                                               |
+ *  +---------------------------------------------------------------+
+ *  |                     Leadership Term ID                        |
+ *  |                                                               |
+ *  +---------------------------------------------------------------+
+ *  |              Log Position at beginning of term                |
+ *  |                                                               |
+ *  +---------------------------------------------------------------+
+ *  |        Log Position when entry was created or committed       |
+ *  |                                                               |
+ *  +---------------------------------------------------------------+
+ *  |               Timestamp when entry was created                |
+ *  |                                                               |
+ *  +---------------------------------------------------------------+
+ *  |                  Service ID when a Snapshot                   |
+ *  +---------------------------------------------------------------+
+ *  |R|               Entry Type (Log or Snapshot)                  |
+ *  +---------------------------------------------------------------+
+ *  |                 Archive Endpoint (length)                     |
+ *  +---------------------------------------------------------------+
+ *  |                 Archive Endpoint (length)                     |
+ *  |                    Archive Endpoint                         ...
+ *  ...                     (variable)                              |
+ *  +---------------------------------------------------------------+
+ *  |                                                               |
+ *  |                                                              ...
+ * ...                Repeats to the end of the log                 |
+ *  |                                                               |
+ *  +---------------------------------------------------------------+
+ * 
+ *

The reserved bit on the entry type indicates whether the entry was marked invalid.

+ */ +public final class UnversionedRecordingLog implements AutoCloseable +{ + /** + * Representation of the entry in the {@link UnversionedRecordingLog}. + */ + public static final class Entry + { + /** + * Identity of the recording in the archive. + */ + public final long recordingId; + + /** + * Identity of the leadership term. + */ + public final long leadershipTermId; + + /** + * The log position at the base of the leadership term. + */ + public final long termBaseLogPosition; + + /** + * Position the log has reached for the entry. + */ + public final long logPosition; + + /** + * Timestamp for the cluster clock in the time units configured for the cluster. + */ + public final long timestamp; + + /** + * Identity of the service associated with the entry. + */ + public final int serviceId; + + /** + * Type, or classification, of the entry, e.g. {@link #ENTRY_TYPE_TERM} or {@link #ENTRY_TYPE_SNAPSHOT}. + */ + public final int type; + + /** + * Index of the entry in the recording log. + */ + public final int entryIndex; + + /** + * Flag to indicate if the entry is invalid and thus should be ignored. + */ + public final boolean isValid; + + /** + * Endpoint for an archive where a remote snapshot is located. + */ + public final String archiveEndpoint; + + private long position; + + /** + * A new entry in the recording log. + * + * @param recordingId of the entry in an archive. + * @param leadershipTermId of this entry. + * @param termBaseLogPosition position of the log over leadership terms at the beginning of this term. + * @param logPosition position reached when the entry was created + * @param timestamp of this entry. + * @param serviceId service id for snapshot. + * @param type of the entry as a log of a term or a snapshot. + * @param archiveEndpoint archive where the snapshot is located, if + * entryType == ENTRY_TYPE_STANDBY_SNAPSHOT. + * @param isValid indicates if the entry is valid, {@link UnversionedRecordingLog#invalidateEntry(long, int)} + * marks it invalid. + * @param position of the entry on disk. + * @param entryIndex of the entry on disk. + * @throws ClusterException if entryType == ENTRY_TYPE_STANDBY_SNAPSHOT and endpoint + * is null or empty. + */ + public Entry( + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId, + final int type, + final String archiveEndpoint, + final boolean isValid, + final long position, + final int entryIndex) + { + this.recordingId = recordingId; + this.leadershipTermId = leadershipTermId; + this.termBaseLogPosition = termBaseLogPosition; + this.logPosition = logPosition; + this.timestamp = timestamp; + this.serviceId = serviceId; + this.type = type; + this.archiveEndpoint = archiveEndpoint; + this.position = position; + this.entryIndex = entryIndex; + this.isValid = isValid; + + if (ENTRY_TYPE_STANDBY_SNAPSHOT == type && Strings.isEmpty(archiveEndpoint)) + { + throw new ClusterException("Remote snapshots must has a valid endpoint"); + } + } + + Entry( + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId, + final int type, + final String archiveEndpoint, + final boolean isValid, + final int entryIndex) + { + this( + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + type, + archiveEndpoint, + isValid, + NULL_VALUE, + entryIndex); + } + + /** + * Binary length of the serialised entry including alignment. + * + * @return length of this entry. + */ + public int length() + { + final int unalignedLength = (ENTRY_TYPE_STANDBY_SNAPSHOT == type) ? + ENDPOINT_OFFSET + SIZE_OF_INT + archiveEndpoint.length() : ENDPOINT_OFFSET; + + return align(unalignedLength, RECORD_ALIGNMENT); + } + + private void position(final long position) + { + this.position = position; + } + + Entry invalidate() + { + return new Entry( + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + type, + archiveEndpoint, + false, + position, + entryIndex); + } + + Entry logPosition(final long logPosition) + { + return new Entry( + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + type, + archiveEndpoint, + isValid, + position, + entryIndex); + } + + long serviceId() + { + return serviceId; + } + + /** + * {@inheritDoc} + */ + public boolean equals(final Object o) + { + if (this == o) + { + return true; + } + + if (o == null || getClass() != o.getClass()) + { + return false; + } + + final Entry entry = (Entry)o; + + return recordingId == entry.recordingId && + leadershipTermId == entry.leadershipTermId && + termBaseLogPosition == entry.termBaseLogPosition && + logPosition == entry.logPosition && + timestamp == entry.timestamp && + serviceId == entry.serviceId && + type == entry.type && + entryIndex == entry.entryIndex && + isValid == entry.isValid; + } + + /** + * {@inheritDoc} + */ + public int hashCode() + { + int result = Long.hashCode(recordingId); + result = 31 * result + Long.hashCode(leadershipTermId); + result = 31 * result + Long.hashCode(termBaseLogPosition); + result = 31 * result + Long.hashCode(logPosition); + result = 31 * result + Long.hashCode(timestamp); + result = 31 * result + serviceId; + result = 31 * result + type; + result = 31 * result + entryIndex; + result = 31 * result + (isValid ? 1 : 0); + + return result; + } + + /** + * {@inheritDoc} + */ + public String toString() + { + final String archiveEndpointEntry = ENTRY_TYPE_STANDBY_SNAPSHOT == type ? + ", archiveEndpoint=" + archiveEndpoint : ""; + + return "Entry{" + + "recordingId=" + recordingId + + ", leadershipTermId=" + leadershipTermId + + ", termBaseLogPosition=" + termBaseLogPosition + + ", logPosition=" + logPosition + + ", timestamp=" + timestamp + + ", serviceId=" + serviceId + + ", type=" + typeAsString(type) + + ", isValid=" + isValid + + ", entryIndex=" + entryIndex + + archiveEndpointEntry + + '}'; + } + } + + /** + * Representation of a snapshot entry in the {@link UnversionedRecordingLog}. + */ + public static final class Snapshot + { + /** + * Identity of the recording in the archive for the snapshot. + */ + public final long recordingId; + + /** + * Identity of the leadership term. + */ + public final long leadershipTermId; + + /** + * The log position at the base of the leadership term. + */ + public final long termBaseLogPosition; + + /** + * Position the log has reached for the snapshot. + */ + public final long logPosition; + + /** + * Timestamp for the cluster clock in the time units configured for the cluster at time of the snapshot. + */ + public final long timestamp; + + /** + * Identity of the service associated with the snapshot. + */ + public final int serviceId; + + /** + * A snapshot entry in the {@link UnversionedRecordingLog}. + * + * @param recordingId of the entry in an archive. + * @param leadershipTermId in which the snapshot was taken. + * @param termBaseLogPosition position of the log over leadership terms at the beginning of this term. + * @param logPosition position reached when the entry was snapshot was taken. + * @param timestamp as which the snapshot was taken. + * @param serviceId which the snapshot belongs to. + */ + public Snapshot( + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId) + { + this.recordingId = recordingId; + this.leadershipTermId = leadershipTermId; + this.termBaseLogPosition = termBaseLogPosition; + this.logPosition = logPosition; + this.timestamp = timestamp; + this.serviceId = serviceId; + } + + /** + * {@inheritDoc} + */ + public String toString() + { + return "Snapshot{" + + "recordingId=" + recordingId + + ", leadershipTermId=" + leadershipTermId + + ", termBaseLogPosition=" + termBaseLogPosition + + ", logPosition=" + logPosition + + ", timestamp=" + timestamp + + ", serviceId=" + serviceId + + '}'; + } + } + + /** + * Representation of a log entry in the {@link UnversionedRecordingLog}. + */ + public static final class Log + { + /** + * Identity of the recording in the archive for the log. + */ + public final long recordingId; + + /** + * Identity of the leadership term. + */ + public final long leadershipTermId; + + /** + * The log position at the base of the leadership term. + */ + public final long termBaseLogPosition; + + /** + * Position the log has reached for the term which can be {@link AeronArchive#NULL_POSITION} when not committed. + */ + public final long logPosition; + + /** + * Start position of the recording captured in the archive. + */ + public final long startPosition; + + /** + * Stop position of the recording captured in the archive. + */ + public final long stopPosition; + + /** + * Initial term identity of the stream captured for the recording. + */ + public final int initialTermId; + + /** + * Transport term buffer length of the stream captured for the recording. + */ + public final int termBufferLength; + + /** + * Transport MTU length of the stream captured for the recording. + */ + public final int mtuLength; + + /** + * Transport session identity of the stream captured for the recording. + */ + public final int sessionId; + + /** + * Construct a representation of a log entry in the {@link UnversionedRecordingLog}. + * + * @param recordingId for the recording in an archive. + * @param leadershipTermId identity for the leadership term. + * @param termBaseLogPosition log position at the base of the leadership term. + * @param logPosition position the log has reached for the term. + * @param startPosition of the recording captured in the archive. + * @param stopPosition of the recording captured in the archive. + * @param initialTermId of the stream captured for the recording. + * @param termBufferLength of the stream captured for the recording. + * @param mtuLength of the stream captured for the recording. + * @param sessionId of the stream captured for the recording. + */ + public Log( + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long startPosition, + final long stopPosition, + final int initialTermId, + final int termBufferLength, + final int mtuLength, + final int sessionId) + { + this.recordingId = recordingId; + this.leadershipTermId = leadershipTermId; + this.termBaseLogPosition = termBaseLogPosition; + this.logPosition = logPosition; + this.startPosition = startPosition; + this.stopPosition = stopPosition; + this.initialTermId = initialTermId; + this.termBufferLength = termBufferLength; + this.mtuLength = mtuLength; + this.sessionId = sessionId; + } + + /** + * {@inheritDoc} + */ + public String toString() + { + return "Log{" + + "recordingId=" + recordingId + + ", leadershipTermId=" + leadershipTermId + + ", termBaseLogPosition=" + termBaseLogPosition + + ", logPosition=" + logPosition + + ", startPosition=" + startPosition + + ", stopPosition=" + stopPosition + + ", initialTermId=" + initialTermId + + ", termBufferLength=" + termBufferLength + + ", mtuLength=" + mtuLength + + ", sessionId=" + sessionId + + '}'; + } + } + + /** + * The snapshots and steps to recover the state of a cluster. + */ + public static final class RecoveryPlan + { + /** + * The last, i.e. most recent, leadership term identity for the log. + */ + public final long lastLeadershipTermId; + + /** + * The last, i.e. most recent, leadership term base log position. + */ + public final long lastTermBaseLogPosition; + + /** + * The position reached for local appended log. + */ + public final long appendedLogPosition; + + /** + * The position reached for the local appended log for which the commit position is known. + */ + public final long committedLogPosition; + + /** + * The most recent snapshots for the consensus module and services to accelerate recovery. + */ + public final ArrayList snapshots; + + /** + * The appended local log details. + */ + public final Log log; + + /** + * @param lastLeadershipTermId the last, i.e. most recent, leadership term identity for the log. + * @param lastTermBaseLogPosition last, i.e. most recent, leadership term base log position. + * @param appendedLogPosition reached for local appended log. + * @param committedLogPosition reached for the local appended log for which the commit position is known. + * @param snapshots most recent snapshots for the consensus module and services. + * @param log appended local log details. + */ + public RecoveryPlan( + final long lastLeadershipTermId, + final long lastTermBaseLogPosition, + final long appendedLogPosition, + final long committedLogPosition, + final ArrayList snapshots, + final Log log) + { + this.lastLeadershipTermId = lastLeadershipTermId; + this.lastTermBaseLogPosition = lastTermBaseLogPosition; + this.appendedLogPosition = appendedLogPosition; + this.committedLogPosition = committedLogPosition; + this.snapshots = snapshots; + this.log = log; + } + + /** + * {@inheritDoc} + */ + public String toString() + { + return "RecoveryPlan{" + + "lastLeadershipTermId=" + lastLeadershipTermId + + ", lastTermBaseLogPosition=" + lastTermBaseLogPosition + + ", appendedLogPosition=" + appendedLogPosition + + ", committedLogPosition=" + committedLogPosition + + ", snapshots=" + snapshots + + ", log=" + log + + '}'; + } + } + + /** + * Filename for the history of leadership log terms and snapshot recordings. + */ + public static final String RECORDING_LOG_FILE_NAME = "recording.log"; + + /** + * The log entry is for a recording of messages within a leadership term to the log. + */ + public static final int ENTRY_TYPE_TERM = 0; + + /** + * The log entry is for a recording of a snapshot of state taken as of a position in the log. + */ + public static final int ENTRY_TYPE_SNAPSHOT = 1; + + /** + * The log entry is for a recording of a snapshot of state taken as of a position in the log on another machine. + * Entries of this time should have an endpoint for an archive associated with them. + */ + public static final int ENTRY_TYPE_STANDBY_SNAPSHOT = 2; + + /** + * The flag used to determine if the entry has been marked with invalid. + */ + public static final int ENTRY_TYPE_INVALID_FLAG = 1 << 31; + + /** + * The offset at which the recording id for the entry is stored. + */ + public static final int RECORDING_ID_OFFSET = 0; + + /** + * The offset at which the leadership term id for the entry is stored. + */ + public static final int LEADERSHIP_TERM_ID_OFFSET = RECORDING_ID_OFFSET + SIZE_OF_LONG; + + /** + * The offset at which the log position as of the beginning of the term for the entry is stored. + */ + public static final int TERM_BASE_LOG_POSITION_OFFSET = LEADERSHIP_TERM_ID_OFFSET + SIZE_OF_LONG; + + /** + * The offset at which the log position is stored. + */ + public static final int LOG_POSITION_OFFSET = TERM_BASE_LOG_POSITION_OFFSET + SIZE_OF_LONG; + + /** + * The offset at which the timestamp for the entry is stored. + */ + public static final int TIMESTAMP_OFFSET = LOG_POSITION_OFFSET + SIZE_OF_LONG; + + /** + * The offset at which the service id is recorded. + */ + public static final int SERVICE_ID_OFFSET = TIMESTAMP_OFFSET + SIZE_OF_LONG; + + /** + * The offset at which the type of the entry is stored. + */ + public static final int ENTRY_TYPE_OFFSET = SERVICE_ID_OFFSET + SIZE_OF_INT; + + /** + * The offset at which the endpoint of the remote snapshot is held. + */ + public static final int ENDPOINT_OFFSET = ENTRY_TYPE_OFFSET + SIZE_OF_INT; + + /** + * Maximum possible entry length. Include the entry plus a variable length endpoint string. + */ + public static final int MAX_ENTRY_LENGTH = 4096; + + static final int MAX_ENDPOINT_LENGTH = MAX_ENTRY_LENGTH - ENDPOINT_OFFSET - SIZE_OF_INT; + + private static final int RECORD_ALIGNMENT = 64; + + private static final Comparator ENTRY_COMPARATOR = + (Entry e1, Entry e2) -> + { + int result = Long.compare(e1.leadershipTermId, e2.leadershipTermId); + if (0 != result) + { + return result; + } + + result = Integer.compare(e1.type, e2.type); + if (0 != result) + { + return result; + } + + if (ENTRY_TYPE_TERM == e1.type) + { + return Integer.compare(e1.entryIndex, e2.entryIndex); + } + else + { + result = Long.compare(e1.logPosition, e2.logPosition); + if (0 != result) + { + return result; + } + + return Integer.compare(e2.serviceId, e1.serviceId); + } + }; + + private long termRecordingId = NULL_VALUE; + private int nextEntryIndex; + private final FileChannel fileChannel; + private final ByteBuffer byteBuffer = ByteBuffer.allocateDirect(MAX_ENTRY_LENGTH).order(LITTLE_ENDIAN); + private final UnsafeBuffer buffer = new UnsafeBuffer(byteBuffer); + private final ArrayList entriesCache = new ArrayList<>(); + private final Long2LongHashMap cacheIndexByLeadershipTermIdMap = new Long2LongHashMap(NULL_VALUE); + private final IntArrayList invalidSnapshots = new IntArrayList(); + + /** + * Create a log that appends to an existing log or creates a new one. + * + * @param parentDir in which the log will be created. + * @param createNew create a new recording log if one does not exist. + */ + public UnversionedRecordingLog(final File parentDir, final boolean createNew) + { + final File logFile = new File(parentDir, RECORDING_LOG_FILE_NAME); + final boolean isNewFile = !logFile.exists(); + final EnumSet openOptions = EnumSet.of(READ, WRITE); + + if (createNew) + { + openOptions.add(CREATE); + } + + try + { + fileChannel = FileChannel.open(logFile.toPath(), openOptions); + + if (isNewFile) + { + syncDirectory(parentDir); + } + else + { + reload(); + } + } + catch (final IOException ex) + { + throw new ClusterException(ex); + } + } + + /** + * {@inheritDoc} + */ + public void close() + { + CloseHelper.close(fileChannel); + } + + /** + * Force the file to durable storage. Same as calling {@link FileChannel#force(boolean)} with true. + * + * @param fileSyncLevel as defined by {@link ConsensusModule.Configuration#FILE_SYNC_LEVEL_PROP_NAME}. + */ + public void force(final int fileSyncLevel) + { + if (fileSyncLevel > 0) + { + try + { + fileChannel.force(fileSyncLevel > 1); + } + catch (final IOException ex) + { + LangUtil.rethrowUnchecked(ex); + } + } + } + + /** + * List of currently loaded entries. + * + * @return the list of currently loaded entries. + */ + public List entries() + { + return entriesCache; + } + + /** + * Get the next index to be used when appending an entry to the log. + * + * @return the next index to be used when appending an entry to the log. + */ + public int nextEntryIndex() + { + return nextEntryIndex; + } + + /** + * Reload the recording log from disk. + */ + public void reload() + { + entriesCache.clear(); + cacheIndexByLeadershipTermIdMap.clear(); + invalidSnapshots.clear(); + cacheIndexByLeadershipTermIdMap.compact(); + + nextEntryIndex = 0; + byteBuffer.clear(); + + try + { + long filePosition = 0; + long consumePosition = 0; + + while (true) + { + final int bytesRead = fileChannel.read(byteBuffer, filePosition); + filePosition += bytesRead; + + if (0 < bytesRead) + { + byteBuffer.flip(); + consumePosition += captureEntriesFromBuffer(consumePosition, byteBuffer, buffer, entriesCache); + byteBuffer.compact(); + } + else + { + break; + } + } + } + catch (final IOException ex) + { + LangUtil.rethrowUnchecked(ex); + } + + entriesCache.sort(ENTRY_COMPARATOR); + for (int i = 0, size = entriesCache.size(); i < size; i++) + { + final Entry entry = entriesCache.get(i); + + if (isValidTerm(entry)) + { + cacheIndexByLeadershipTermIdMap.put(entry.leadershipTermId, i); + } + + if (isInvalidSnapshot(entry)) + { + invalidSnapshots.add(i); + } + } + } + + /** + * Find the last recording id used for a leadership term. If not found then {@link RecordingPos#NULL_RECORDING_ID}. + * + * @return the last leadership term recording id or {@link RecordingPos#NULL_RECORDING_ID} if not found. + */ + public long findLastTermRecordingId() + { + final Entry lastTerm = findLastTerm(); + return null != lastTerm ? lastTerm.recordingId : RecordingPos.NULL_RECORDING_ID; + } + + /** + * Find the last leadership term in the recording log. + * + * @return the last leadership term in the recording log. + */ + public Entry findLastTerm() + { + for (int i = entriesCache.size() - 1; i >= 0; i--) + { + final Entry entry = entriesCache.get(i); + if (isValidTerm(entry)) + { + return entry; + } + } + + return null; + } + + /** + * Get the term {@link Entry} for a given leadership term id. + * + * @param leadershipTermId to get {@link Entry} for. + * @return the {@link Entry} if found or throw {@link IllegalArgumentException} if no entry exists for term. + */ + public Entry getTermEntry(final long leadershipTermId) + { + final int index = (int)cacheIndexByLeadershipTermIdMap.get(leadershipTermId); + if (NULL_VALUE != index) + { + return entriesCache.get(index); + } + + throw new ClusterException("unknown leadershipTermId=" + leadershipTermId); + } + + /** + * Find the term {@link Entry} for a given leadership term id. + * + * @param leadershipTermId to get {@link Entry} for. + * @return the {@link Entry} if found or null if not found. + */ + public Entry findTermEntry(final long leadershipTermId) + { + final int index = (int)cacheIndexByLeadershipTermIdMap.get(leadershipTermId); + if (NULL_VALUE != index) + { + return entriesCache.get(index); + } + + return null; + } + + /** + * Get the latest snapshot {@link Entry} in the log. + * + * @param serviceId for the snapshot. + * @return the latest snapshot {@link Entry} in the log or null if no snapshot exists. + */ + public Entry getLatestSnapshot(final int serviceId) + { + for (int i = entriesCache.size() - 1; i >= 0; i--) + { + final Entry entry = entriesCache.get(i); + if (isValidSnapshot(entry) && ConsensusModule.Configuration.SERVICE_ID == entry.serviceId) + { + if (ConsensusModule.Configuration.SERVICE_ID == serviceId) + { + return entry; + } + + final int serviceSnapshotIndex = i - (serviceId + 1); + if (serviceSnapshotIndex >= 0) + { + final Entry snapshot = entriesCache.get(serviceSnapshotIndex); + if (isValidSnapshot(snapshot) && serviceId == snapshot.serviceId) + { + return snapshot; + } + } + } + } + + return null; + } + + /** + * Invalidate the last snapshot taken by the cluster so that on restart it can revert to the previous one. + * + * @return true if the latest snapshot was found and marked as invalid, so it will not be reloaded. + */ + public boolean invalidateLatestSnapshot() + { + int index = -1; + for (int i = entriesCache.size() - 1; i >= 0; i--) + { + final Entry entry = entriesCache.get(i); + if (isValidSnapshot(entry) && ConsensusModule.Configuration.SERVICE_ID == entry.serviceId) + { + if (!cacheIndexByLeadershipTermIdMap.containsKey(entry.leadershipTermId)) + { + throw new ClusterException( + "no matching term for snapshot: leadershipTermId=" + entry.leadershipTermId); + } + + index = i; + break; + } + } + + if (index >= 0) + { + int serviceId = ConsensusModule.Configuration.SERVICE_ID; + for (int i = index; i >= 0; i--) + { + final Entry entry = entriesCache.get(i); + if (isValidSnapshot(entry) && entry.serviceId == serviceId) + { + invalidateEntry(entry.leadershipTermId, entry.entryIndex); + serviceId++; + } + else + { + break; + } + } + + return true; + } + + return false; + } + + /** + * Get the {@link Entry#timestamp} for a term. + * + * @param leadershipTermId to get {@link Entry#timestamp} for. + * @return the timestamp or {@link Aeron#NULL_VALUE} if not found. + */ + public long getTermTimestamp(final long leadershipTermId) + { + final int index = (int)cacheIndexByLeadershipTermIdMap.get(leadershipTermId); + if (NULL_VALUE != index) + { + return entriesCache.get(index).timestamp; + } + + return NULL_VALUE; + } + + /** + * Create a recovery plan for the cluster so that when the steps are replayed the plan will bring the cluster + * back to the latest stable state. + * + * @param archive to lookup recording descriptors. + * @param serviceCount of services that may have snapshots. + * @param replicatedRecordingId leader's recordingId used for replicating + * @return a new {@link RecoveryPlan} for the cluster. + */ + public RecoveryPlan createRecoveryPlan( + final AeronArchive archive, final int serviceCount, final long replicatedRecordingId) + { + final ArrayList snapshots = new ArrayList<>(); + final MutableReference logRef = new MutableReference<>(); + planRecovery(snapshots, logRef, entriesCache, archive, serviceCount, replicatedRecordingId); + + long lastLeadershipTermId = NULL_VALUE; + long lastTermBaseLogPosition = 0; + long committedLogPosition = 0; + long appendedLogPosition = 0; + + final int snapshotStepsSize = snapshots.size(); + if (snapshotStepsSize > 0) + { + final Snapshot snapshot = snapshots.get(0); + + lastLeadershipTermId = snapshot.leadershipTermId; + lastTermBaseLogPosition = snapshot.termBaseLogPosition; + appendedLogPosition = snapshot.logPosition; + committedLogPosition = snapshot.logPosition; + } + + final Log log = logRef.get(); + if (null != log) + { + lastLeadershipTermId = log.leadershipTermId; + lastTermBaseLogPosition = log.termBaseLogPosition; + appendedLogPosition = log.stopPosition; + committedLogPosition = NULL_POSITION != log.logPosition ? log.logPosition : committedLogPosition; + } + + return new RecoveryPlan( + lastLeadershipTermId, + lastTermBaseLogPosition, + appendedLogPosition, + committedLogPosition, + snapshots, + log); + } + + /** + * Create a recovery plan that has only snapshots. Used for dynamicJoin snapshot load. + * + * @param snapshots to construct plan from. + * @return a new {@link RecoveryPlan} for the cluster. + */ + public static RecoveryPlan createRecoveryPlan(final ArrayList snapshots) + { + long lastLeadershipTermId = NULL_VALUE; + long lastTermBaseLogPosition = 0; + long committedLogPosition = 0; + long appendedLogPosition = 0; + + final int snapshotStepsSize = snapshots.size(); + if (snapshotStepsSize > 0) + { + final Snapshot snapshot = snapshots.get(0); + + lastLeadershipTermId = snapshot.leadershipTermId; + lastTermBaseLogPosition = snapshot.termBaseLogPosition; + appendedLogPosition = snapshot.logPosition; + committedLogPosition = snapshot.logPosition; + } + + return new RecoveryPlan( + lastLeadershipTermId, + lastTermBaseLogPosition, + appendedLogPosition, + committedLogPosition, + snapshots, + null); + } + + /** + * Is the given leadershipTermId unknown for the log? + * + * @param leadershipTermId to check. + * @return true if term has not yet been appended otherwise false. + */ + public boolean isUnknown(final long leadershipTermId) + { + return NULL_VALUE == cacheIndexByLeadershipTermIdMap.get(leadershipTermId); + } + + /** + * Append a log entry for a leadership term. Terms must be appended in ascending order. + * + * @param recordingId of the log in the archive. + * @param leadershipTermId for the appended term. + * @param termBaseLogPosition for the beginning of the term. + * @param timestamp at the beginning of the appended term. + */ + public void appendTerm( + final long recordingId, final long leadershipTermId, final long termBaseLogPosition, final long timestamp) + { + validateTermRecordingId(recordingId); + + long logPosition = NULL_POSITION; + + if (!entriesCache.isEmpty()) + { + if (cacheIndexByLeadershipTermIdMap.containsKey(leadershipTermId)) + { + throw new ClusterException("duplicate TERM entry for leadershipTermId=" + leadershipTermId); + } + + final long previousLeadershipTermId = leadershipTermId - 1; + if (cacheIndexByLeadershipTermIdMap.containsKey(previousLeadershipTermId)) + { + commitLogPosition(previousLeadershipTermId, termBaseLogPosition); + } + + final Entry nextTermEntry = findTermEntry(leadershipTermId + 1); + if (null != nextTermEntry) + { + logPosition = nextTermEntry.termBaseLogPosition; + } + } + + final int index = append( + ENTRY_TYPE_TERM, + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + NULL_VALUE, + null); + + cacheIndexByLeadershipTermIdMap.put(leadershipTermId, index); + } + + /** + * Append a log entry for a snapshot. Snapshots must be for the current term. + * + * @param recordingId in the archive for the snapshot. + * @param leadershipTermId for the current term + * @param termBaseLogPosition at the beginning of the leadership term. + * @param logPosition within the current term or accumulated length for the log. + * @param timestamp at which the snapshot was taken. + * @param serviceId for which the snapshot is recorded. + */ + public void appendSnapshot( + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId) + { + validateRecordingId(recordingId); + + if (!restoreInvalidSnapshot( + recordingId, leadershipTermId, termBaseLogPosition, logPosition, timestamp, serviceId)) + { + append( + ENTRY_TYPE_SNAPSHOT, + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + null); + } + } + + /** + * Append a log entry for a snapshot. Snapshots must be for the current term. + * + * @param recordingId in the archive for the snapshot. + * @param leadershipTermId for the current term + * @param termBaseLogPosition at the beginning of the leadership term. + * @param logPosition within the current term or accumulated length for the log. + * @param timestamp at which the snapshot was taken. + * @param serviceId for which the snapshot is recorded. + * @param archiveEndpoint endpoint for the archive where + */ + public void appendStandbySnapshot( + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId, + final String archiveEndpoint) + { + validateRecordingId(recordingId); + + if (Strings.isEmpty(archiveEndpoint)) + { + throw new ClusterException("Remote snapshots must have a valid endpoint"); + } + + if (archiveEndpoint.length() > MAX_ENDPOINT_LENGTH) + { + throw new ClusterException( + "Endpoint is too long: " + archiveEndpoint.length() + " vs " + MAX_ENDPOINT_LENGTH); + } + + if (!restoreInvalidSnapshot( + recordingId, leadershipTermId, termBaseLogPosition, logPosition, timestamp, serviceId)) + { + append( + ENTRY_TYPE_STANDBY_SNAPSHOT, + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + archiveEndpoint); + } + } + + /** + * Commit the log position reached in a leadership term. + * + * @param leadershipTermId for committing the term position reached. + * @param logPosition reached in the leadership term. + */ + public void commitLogPosition(final long leadershipTermId, final long logPosition) + { + final int index = (int)cacheIndexByLeadershipTermIdMap.get(leadershipTermId); + if (NULL_VALUE == index) + { + throw new ClusterException("unknown leadershipTermId=" + leadershipTermId); + } + + final Entry entry = entriesCache.get(index); + if (entry.logPosition != logPosition) + { + buffer.putLong(0, logPosition, LITTLE_ENDIAN); + persistToStorage(entry.position, LOG_POSITION_OFFSET, SIZE_OF_LONG); + entriesCache.set(index, entry.logPosition(logPosition)); + } + } + + /** + * Invalidate an entry in the log, so it is no longer valid. Be careful that the recording log is not left in an + * invalid state for recovery. + * + * @param leadershipTermId to match for validation. + * @param entryIndex reached in the leadership term. + * @see #invalidateLatestSnapshot() + */ + public void invalidateEntry(final long leadershipTermId, final int entryIndex) + { + Entry invalidEntry = null; + + for (int i = entriesCache.size() - 1; i >= 0; i--) + { + final Entry entry = entriesCache.get(i); + if (entry.leadershipTermId == leadershipTermId && entry.entryIndex == entryIndex) + { + invalidEntry = entry.invalidate(); + entriesCache.set(i, invalidEntry); + + if (ENTRY_TYPE_TERM == entry.type) + { + cacheIndexByLeadershipTermIdMap.remove(leadershipTermId); + } + else if (ENTRY_TYPE_SNAPSHOT == entry.type) + { + invalidSnapshots.add(i); + } + + break; + } + } + + if (null == invalidEntry) + { + throw new ClusterException("unknown entry index: " + entryIndex); + } + + final int invalidEntryType = ENTRY_TYPE_INVALID_FLAG | invalidEntry.type; + buffer.putInt(0, invalidEntryType, LITTLE_ENDIAN); + persistToStorage(invalidEntry.position, ENTRY_TYPE_OFFSET, SIZE_OF_INT); + } + + /** + * Remove an entry in the log and reload the caches. + * + * @param leadershipTermId to match for validation. + * @param entryIndex reached in the leadership term. + */ + void removeEntry(final long leadershipTermId, final int entryIndex) + { + Entry entryToRemove = null; + + for (int i = entriesCache.size() - 1; i >= 0; i--) + { + final Entry entry = entriesCache.get(i); + if (entry.leadershipTermId == leadershipTermId && entry.entryIndex == entryIndex) + { + entryToRemove = entry; + break; + } + } + + if (null == entryToRemove) + { + throw new ClusterException("unknown entry index: " + entryIndex); + } + + buffer.putInt(0, NULL_VALUE, LITTLE_ENDIAN); + persistToStorage(entryToRemove.position, ENTRY_TYPE_OFFSET, SIZE_OF_INT); + + reload(); + } + + /** + * Return a collection of the most recent remote snapshots grouped by the archiveEndpoint where the snapshot is + * stored. + * + * @param serviceCount to ensure that we have a complete set of snapshots. + * @return collection of snapshots. + */ + public Map> latestStandbySnapshots(final int serviceCount) + { + final Map> latestStandbySnapshots = new Object2ObjectHashMap<>(); + final Map>> standbySnapshots = new Object2ObjectHashMap<>(); + + for (int i = entriesCache.size() - 1; i >= 0; i--) + { + final Entry entry = entriesCache.get(i); + if (ENTRY_TYPE_STANDBY_SNAPSHOT == entry.type && entry.isValid) + { + standbySnapshots.computeIfAbsent(entry.archiveEndpoint, (s) -> new TreeMap<>()) + .computeIfAbsent(entry.logPosition, (l) -> new ArrayList<>()) + .add(entry); + } + } + + standbySnapshots.forEach( + (k, v) -> + { + while (!v.isEmpty()) + { + final Map.Entry> lastEntry = v.lastEntry(); + final int snapshotCount = serviceCount + 1; + if (lastEntry.getValue().size() == snapshotCount) + { + latestStandbySnapshots.put(k, lastEntry.getValue()); + break; + } + else + { + v.remove(lastEntry.getKey()); + } + } + }); + + return latestStandbySnapshots; + } + + /** + * {@inheritDoc} + */ + public String toString() + { + return "RecordingLog{" + + "entries=" + entriesCache + + ", cacheIndex=" + cacheIndexByLeadershipTermIdMap + + '}'; + } + + static String typeAsString(final int type) + { + switch (type) + { + case ENTRY_TYPE_TERM: + return "TERM"; + case ENTRY_TYPE_SNAPSHOT: + return "SNAPSHOT"; + case ENTRY_TYPE_STANDBY_SNAPSHOT: + return "STANDBY_SNAPSHOT"; + default: + return "UNKNOWN"; + } + } + + static void addSnapshots( + final ArrayList snapshots, + final ArrayList entries, + final int serviceCount, + final int snapshotIndex) + { + final Entry snapshot = entries.get(snapshotIndex); + snapshots.add(new Snapshot( + snapshot.recordingId, + snapshot.leadershipTermId, + snapshot.termBaseLogPosition, + snapshot.logPosition, + snapshot.timestamp, + snapshot.serviceId)); + + for (int i = 1; i <= serviceCount; i++) + { + if ((snapshotIndex - i) < 0) + { + throw new ClusterException("snapshot missing for service at index " + i + " in " + entries); + } + + final Entry entry = entries.get(snapshotIndex - i); + + if (ENTRY_TYPE_SNAPSHOT == entry.type && + entry.leadershipTermId == snapshot.leadershipTermId && + entry.logPosition == snapshot.logPosition) + { + snapshots.add(entry.serviceId + 1, new Snapshot( + entry.recordingId, + entry.leadershipTermId, + entry.termBaseLogPosition, + entry.logPosition, + entry.timestamp, + entry.serviceId)); + } + } + } + + static void writeEntryToBuffer(final Entry entry, final UnsafeBuffer buffer) + { + buffer.putLong(RECORDING_ID_OFFSET, entry.recordingId, LITTLE_ENDIAN); + buffer.putLong(LEADERSHIP_TERM_ID_OFFSET, entry.leadershipTermId, LITTLE_ENDIAN); + buffer.putLong(TERM_BASE_LOG_POSITION_OFFSET, entry.termBaseLogPosition, LITTLE_ENDIAN); + buffer.putLong(LOG_POSITION_OFFSET, entry.logPosition, LITTLE_ENDIAN); + buffer.putLong(TIMESTAMP_OFFSET, entry.timestamp, LITTLE_ENDIAN); + buffer.putInt(SERVICE_ID_OFFSET, entry.serviceId, LITTLE_ENDIAN); + buffer.putInt(ENTRY_TYPE_OFFSET, entry.type, LITTLE_ENDIAN); + if (!Strings.isEmpty(entry.archiveEndpoint)) + { + buffer.putStringAscii(ENDPOINT_OFFSET, entry.archiveEndpoint); + } + } + + static boolean isValidSnapshot(final Entry entry) + { + return entry.isValid && ENTRY_TYPE_SNAPSHOT == entry.type; + } + + static boolean isInvalidSnapshot(final Entry entry) + { + return !entry.isValid && ENTRY_TYPE_SNAPSHOT == entry.type; + } + + void ensureCoherent( + final long recordingId, + final long initialLogLeadershipTermId, + final long initialTermBaseLogPosition, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long nowNs, + final long timestamp, + final int fileSyncLevel) + { + Entry lastTerm = findLastTerm(); + + if (null == lastTerm) + { + for (long termId = max(0, initialLogLeadershipTermId); termId < leadershipTermId; termId++) + { + appendTerm(recordingId, termId, initialTermBaseLogPosition, timestamp); + } + + appendTerm(recordingId, leadershipTermId, termBaseLogPosition, timestamp); + if (NULL_VALUE != logPosition) + { + commitLogPosition(leadershipTermId, logPosition); + } + } + else if (lastTerm.leadershipTermId < leadershipTermId) + { + if (NULL_VALUE == lastTerm.logPosition) + { + if (NULL_VALUE == termBaseLogPosition) + { + throw new ClusterException( + "Prior term was not committed: " + lastTerm + + " and logTermBasePosition was not specified: leadershipTermId = " + leadershipTermId + + ", logTermBasePosition = " + termBaseLogPosition + ", logPosition = " + logPosition + + ", nowNs = " + nowNs); + } + else + { + commitLogPosition(lastTerm.leadershipTermId, termBaseLogPosition); + lastTerm = Objects.requireNonNull(findLastTerm()); + } + } + + for (long termId = lastTerm.leadershipTermId + 1; termId < leadershipTermId; termId++) + { + appendTerm(recordingId, termId, lastTerm.logPosition, timestamp); + } + + appendTerm(recordingId, leadershipTermId, lastTerm.logPosition, timestamp); + if (NULL_VALUE != logPosition) + { + commitLogPosition(leadershipTermId, logPosition); + } + } + else + { + if (NULL_VALUE != logPosition) + { + commitLogPosition(leadershipTermId, logPosition); + } + } + + force(fileSyncLevel); + } + + private static void validateRecordingId(final long recordingId) + { + if (NULL_VALUE == recordingId) + { + throw new ClusterException("invalid recordingId=" + recordingId); + } + } + + private void validateTermRecordingId(final long recordingId) + { + validateRecordingId(recordingId); + + if (recordingId != termRecordingId) + { + if (NULL_VALUE == termRecordingId) + { + termRecordingId = recordingId; + } + else + { + throw new ClusterException( + "invalid TERM recordingId=" + recordingId + ", expected recordingId=" + termRecordingId); + } + } + } + + private boolean restoreInvalidSnapshot( + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId) + { + for (int i = invalidSnapshots.size() - 1; i >= 0; i--) + { + final int entryCacheIndex = invalidSnapshots.getInt(i); + final Entry entry = entriesCache.get(entryCacheIndex); + + if (matchesEntry(entry, leadershipTermId, termBaseLogPosition, logPosition, serviceId)) + { + final Entry validatedEntry = new Entry( + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + ENTRY_TYPE_SNAPSHOT, + null, + true, + entry.position, + entry.entryIndex); + + writeEntryToBuffer(validatedEntry, buffer); + persistToStorage(entry, buffer); + + entriesCache.set(entryCacheIndex, validatedEntry); + invalidSnapshots.fastUnorderedRemove(i); + + return true; + } + } + + return false; + } + + int append( + final int entryType, + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId, + final String endpoint) + { + final Entry entry = new Entry( + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + entryType, + endpoint, + true, + NULL_VALUE, + nextEntryIndex); + + writeEntryToBuffer(entry, buffer); + persistToStorage(entry, buffer); + + nextEntryIndex++; + + final ArrayList entries = this.entriesCache; + final int size = entries.size(); + int index = size; + + for (int i = size - 1; i >= 0; i--) + { + final Entry e = entries.get(i); + if (ENTRY_COMPARATOR.compare(entry, e) < 0) + { + index--; + } + else + { + break; + } + } + + if (index < size) + { + entries.add(null); + for (int i = size - 1; i >= index; i--) + { + entries.set(i + 1, entries.get(i)); + } + entries.set(index, entry); + + final Long2LongHashMap.EntryIterator entryIterator = cacheIndexByLeadershipTermIdMap.entrySet().iterator(); + while (entryIterator.hasNext()) + { + entryIterator.next(); + if (entryIterator.getLongKey() > leadershipTermId) + { + entryIterator.setValue(entryIterator.getLongValue() + 1); + } + } + + for (int i = invalidSnapshots.size() - 1; i >= 0; i--) + { + final int snapshotIndex = invalidSnapshots.getInt(i); + if (snapshotIndex >= index) + { + invalidSnapshots.set(i, snapshotIndex + 1); + } + else + { + break; + } + } + } + else + { + entries.add(entry); + } + + return index; + } + + private void persistToStorage(final long entryPosition, final int offset, final int length) + { + byteBuffer.limit(length).position(0); + final long position = entryPosition + offset; + + try + { + if (length != fileChannel.write(byteBuffer, position)) + { + throw new ClusterException("failed to write field atomically"); + } + } + catch (final Exception ex) + { + LangUtil.rethrowUnchecked(ex); + } + } + + private void persistToStorage(final Entry entry, final DirectBuffer directBuffer) + { + final ByteBuffer byteBuffer = directBuffer.byteBuffer(); + byteBuffer.limit(entry.length()).position(0); + + try + { + if (NULL_VALUE == entry.position) + { + final long nextPosition = align(fileChannel.size(), RECORD_ALIGNMENT); + entry.position(nextPosition); + } + + if (entry.length() != fileChannel.write(byteBuffer, entry.position)) + { + throw new ClusterException("failed to write field atomically"); + } + } + catch (final Exception ex) + { + LangUtil.rethrowUnchecked(ex); + } + } + + private int captureEntriesFromBuffer( + final long filePosition, final ByteBuffer byteBuffer, final UnsafeBuffer buffer, final ArrayList entries) + { + int consumed = 0; // This is assuming that we have filled the byte buffer from the beginning. + + for (int length = byteBuffer.limit(); consumed + ENDPOINT_OFFSET < length; ) + { + final long position = filePosition + consumed; + final int entryType = buffer.getInt(consumed + ENTRY_TYPE_OFFSET, LITTLE_ENDIAN); + final int type = entryType & ~ENTRY_TYPE_INVALID_FLAG; + final boolean isValid = (entryType & ENTRY_TYPE_INVALID_FLAG) == 0; + final int endPointOffset = consumed + ENDPOINT_OFFSET; + if (ENTRY_TYPE_STANDBY_SNAPSHOT == type && + (endPointOffset + SIZE_OF_INT > length || + endPointOffset + SIZE_OF_INT + buffer.getInt(endPointOffset, LITTLE_ENDIAN) > length)) + { + break; + } + + final Entry entry = new Entry( + buffer.getLong(consumed + RECORDING_ID_OFFSET, LITTLE_ENDIAN), + buffer.getLong(consumed + LEADERSHIP_TERM_ID_OFFSET, LITTLE_ENDIAN), + buffer.getLong(consumed + TERM_BASE_LOG_POSITION_OFFSET, LITTLE_ENDIAN), + buffer.getLong(consumed + LOG_POSITION_OFFSET, LITTLE_ENDIAN), + buffer.getLong(consumed + TIMESTAMP_OFFSET, LITTLE_ENDIAN), + buffer.getInt(consumed + SERVICE_ID_OFFSET, LITTLE_ENDIAN), + type, + ENTRY_TYPE_STANDBY_SNAPSHOT == type ? buffer.getStringAscii(endPointOffset) : null, + isValid, + position, + nextEntryIndex); + + if (NULL_VALUE != entryType) + { + if (ENTRY_TYPE_TERM == type) + { + validateTermRecordingId(entry.recordingId); + } + + entries.add(entry); + } + + consumed += entry.length(); + ++nextEntryIndex; + } + + byteBuffer.position(consumed); + return consumed; + } + + private static void syncDirectory(final File dir) + { + try (FileChannel fileChannel = FileChannel.open(dir.toPath())) + { + fileChannel.force(true); + } + catch (final IOException ignore) + { + } + } + + private static void planRecovery( + final ArrayList snapshots, + final MutableReference logRef, + final ArrayList entries, + final AeronArchive archive, + final int serviceCount, + final long replicatedRecordingId) + { + if (entries.isEmpty()) + { + if (Aeron.NULL_VALUE != replicatedRecordingId) + { + final RecordingExtent recordingExtent = new RecordingExtent(); + if (archive.listRecording(replicatedRecordingId, recordingExtent) == 0) + { + throw new ClusterException("unknown recording id: " + replicatedRecordingId); + } + + logRef.set(new Log( + replicatedRecordingId, + NULL_VALUE, + 0, + 0, + recordingExtent.startPosition, + recordingExtent.stopPosition, + recordingExtent.initialTermId, + recordingExtent.termBufferLength, + recordingExtent.mtuLength, + recordingExtent.sessionId)); + } + + return; + } + + int logIndex = -1; + int snapshotIndex = -1; + + for (int i = entries.size() - 1; i >= 0; i--) + { + final Entry entry = entries.get(i); + if (-1 == snapshotIndex && isValidSnapshot(entry) && + entry.serviceId == ConsensusModule.Configuration.SERVICE_ID) + { + snapshotIndex = i; + } + else if (-1 == logIndex && + isValidTerm(entry) && + NULL_VALUE != entry.recordingId) + { + logIndex = i; + } + else if (-1 != snapshotIndex && -1 != logIndex) + { + break; + } + } + + if (-1 != snapshotIndex) + { + addSnapshots(snapshots, entries, serviceCount, snapshotIndex); + } + + if (-1 != logIndex) + { + final Entry entry = entries.get(logIndex); + final RecordingExtent recordingExtent = new RecordingExtent(); + if (archive.listRecording(entry.recordingId, recordingExtent) == 0) + { + throw new ClusterException("unknown recording id: " + entry.recordingId); + } + + final long startPosition = -1 == snapshotIndex ? + recordingExtent.startPosition : snapshots.get(0).logPosition; + + logRef.set(new Log( + entry.recordingId, + entry.leadershipTermId, + entry.termBaseLogPosition, + entry.logPosition, + startPosition, + recordingExtent.stopPosition, + recordingExtent.initialTermId, + recordingExtent.termBufferLength, + recordingExtent.mtuLength, + recordingExtent.sessionId)); + } + } + + private static boolean isValidTerm(final Entry entry) + { + return ENTRY_TYPE_TERM == entry.type && entry.isValid; + } + + private static boolean matchesEntry( + final Entry entry, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final int serviceId) + { + return entry.leadershipTermId == leadershipTermId && + entry.termBaseLogPosition == termBaseLogPosition && + entry.logPosition == logPosition && + entry.serviceId == serviceId; + } +} diff --git a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java index d7f0cf6efc..884ef8e7d6 100644 --- a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java +++ b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java @@ -15,34 +15,118 @@ */ package io.aeron.cluster; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; import java.io.File; +import java.io.IOException; import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.StandardCopyOption; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; import java.util.Random; import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_TERM; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertTrue; public class RecordingLogVersioningTest { - @Test - void generateRecordingLogForVersionTest() + private static final byte[] CHARACTER_TABLE = new byte[27]; + public static final long FIXED_SEED_FOR_CONSISTENT_DATA = 892374458763L; + + static { - final File parentDir = new File("src/test/resources/v1_45_x"); - final RecordingLog recordingLog = new RecordingLog(parentDir, true); - final Random r = new Random(892374458763L); + for (int i = 0; i < 26; i++) + { + CHARACTER_TABLE[i] = (byte)(i + 97); + } + + CHARACTER_TABLE[26] = (byte)'.'; + } + + private static class TestEntry + { + private final int entryType; + private final long recordingId; + private final long leadershipTermId; + private final long termBaseLogPosition; + private final long logPosition; + private final long timestamp; + private final int serviceId; + private final String endpoint; + + public TestEntry( + final int entryType, + final long recordingId, + final long leadershipTermId, + final long termBaseLogPosition, + final long logPosition, + final long timestamp, + final int serviceId, + final String endpoint) + { + + this.entryType = entryType; + this.recordingId = recordingId; + this.leadershipTermId = leadershipTermId; + this.termBaseLogPosition = termBaseLogPosition; + this.logPosition = logPosition; + this.timestamp = timestamp; + this.serviceId = serviceId; + this.endpoint = endpoint; + } + + public boolean equals(final Object o) + { + if (this == o) + { + return true; + } + if (o == null || getClass() != o.getClass()) + { + return false; + } + final TestEntry testEntry = (TestEntry)o; + return entryType == testEntry.entryType && recordingId == testEntry.recordingId && + leadershipTermId == testEntry.leadershipTermId && + termBaseLogPosition == testEntry.termBaseLogPosition && logPosition == testEntry.logPosition && + timestamp == testEntry.timestamp && serviceId == testEntry.serviceId && + Objects.equals(endpoint, testEntry.endpoint); + } + + public int hashCode() + { + return Objects.hash( + entryType, + recordingId, + leadershipTermId, + termBaseLogPosition, + logPosition, + timestamp, + serviceId, + endpoint); + } + } + + private List generateData() + { + final Random r = new Random(FIXED_SEED_FOR_CONSISTENT_DATA); final byte[] bs = new byte[256]; final long termRecordingId = r.nextInt(Integer.MAX_VALUE); + final ArrayList entries = new ArrayList<>(); for (int i = 0; i < 2000; i++) { final int entryType = recordingType(r); - final long recordingId = ENTRY_TYPE_TERM == entryType ? termRecordingId : r.nextLong(); - recordingLog.append( + final long recordingId = ENTRY_TYPE_TERM == entryType ? termRecordingId : + (long)r.nextInt(Integer.MAX_VALUE); + entries.add(new TestEntry( entryType, recordingId, r.nextLong(), @@ -50,38 +134,76 @@ void generateRecordingLogForVersionTest() r.nextLong(), r.nextLong(), r.nextInt(), - endpoint(r, entryType, bs)); + endpoint(r, entryType, bs))); } - final List entries = recordingLog.entries(); - final String s = textifyEntries(entries); - - final RecordingLog rNew = new RecordingLog(parentDir, false); - final String sNew = textifyEntries(rNew.entries()); - - assertEquals(s, sNew); + return entries; + } - System.out.println(s); + @SuppressWarnings("checkstyle:MethodName") + @Test + @Disabled // Used to generate existing data. + void generateRecordingLogForVersionTest_1_45() + { + final File parentDir = new File("src/test/resources/v1_45_x"); + try (UnversionedRecordingLog recordingLog = new UnversionedRecordingLog(parentDir, true)) + { + for (final TestEntry testEntry : generateData()) + { + recordingLog.append( + testEntry.entryType, + testEntry.recordingId, + testEntry.leadershipTermId, + testEntry.termBaseLogPosition, + testEntry.logPosition, + testEntry.timestamp, + testEntry.serviceId, + testEntry.endpoint); + } + final List entries = recordingLog.entries(); + final String s = entries.toString(); + System.out.println(s); + } } - private static String textifyEntries(final List entries) + private static void appendToRecordingLog(final RecordingLog recordingLog, final List testEntries) { - final StringBuilder builder = new StringBuilder(); - for (final RecordingLog.Entry entry : entries) + for (final TestEntry testEntry : testEntries) { - builder - .append("entryIndex=").append(entry.entryIndex).append(',') - .append("type=").append(entry.type).append(',') - .append("recordingId=").append(entry.recordingId).append(',') - .append("leadershipTermId=").append(entry.leadershipTermId).append(',') - .append("termBaseLogPosition=").append(entry.termBaseLogPosition).append(',') - .append("logPosition=").append(entry.logPosition).append(',') - .append("timestamp=").append(entry.timestamp).append(',') - .append("serviceId=").append(entry.serviceId).append(',') - .append("archiveEndpoint=").append(entry.archiveEndpoint).append('\n'); + recordingLog.append( + testEntry.entryType, + testEntry.recordingId, + testEntry.leadershipTermId, + testEntry.termBaseLogPosition, + testEntry.logPosition, + testEntry.timestamp, + testEntry.serviceId, + testEntry.endpoint); } + } + + @Test + void verifyDataRemainsConsistent() + { + assertEquals(generateData(), generateData()); + } + + @Test + void shouldLoadOldVersionAndMigrate(@TempDir final File tempDirA, @TempDir final File tempDirB) throws IOException + { + assertNotEquals(tempDirA, tempDirB); + + final File parentDir = new File("src/test/resources/v1_45_x"); + final File oldFile = new File(parentDir, RecordingLog.RECORDING_LOG_FILE_NAME); + final File tempOldFile = new File(tempDirA, RecordingLog.RECORDING_LOG_FILE_NAME); + + Files.copy(oldFile.toPath(), tempOldFile.toPath()); + + final RecordingLog recordingLogMigrated = new RecordingLog(tempDirA, false); + final RecordingLog recordingLogNew = new RecordingLog(tempDirB, true); + appendToRecordingLog(recordingLogNew, generateData()); - return builder.toString(); + assertEquals(recordingLogMigrated.entries(), recordingLogNew.entries()); } private int recordingType(final Random r) @@ -105,9 +227,9 @@ private String endpoint(final Random r, final int type, final byte[] bs) final int length = 50 + r.nextInt(50); for (int i = 0; i < length; i++) { - bs[i] = (byte)(r.nextInt(90-48) + 48); + bs[i] = CHARACTER_TABLE[r.nextInt(CHARACTER_TABLE.length)]; } - return new String(bs, 0, length, StandardCharsets.US_ASCII); + return new String(bs, 0, length, StandardCharsets.US_ASCII) + ":" + r.nextInt(65536); } else { diff --git a/aeron-cluster/src/test/java/io/aeron/cluster/UnversionedRecordingLogTest.java b/aeron-cluster/src/test/java/io/aeron/cluster/UnversionedRecordingLogTest.java new file mode 100644 index 0000000000..a6201ff070 --- /dev/null +++ b/aeron-cluster/src/test/java/io/aeron/cluster/UnversionedRecordingLogTest.java @@ -0,0 +1,1142 @@ +/* + * Copyright 2014-2024 Real Logic Limited. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.aeron.cluster; + +import io.aeron.Aeron; +import io.aeron.archive.client.AeronArchive; +import io.aeron.archive.client.RecordingDescriptorConsumer; +import io.aeron.cluster.client.ClusterException; +import io.aeron.test.Tests; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; + +import java.io.File; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.function.Predicate; + +import static io.aeron.Aeron.NULL_VALUE; +import static io.aeron.archive.client.AeronArchive.NULL_POSITION; +import static io.aeron.cluster.ConsensusModule.Configuration.SERVICE_ID; +import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_SNAPSHOT; +import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_STANDBY_SNAPSHOT; +import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_TERM; +import static io.aeron.cluster.RecordingLog.Entry; +import static io.aeron.cluster.RecordingLog.MAX_ENDPOINT_LENGTH; +import static io.aeron.cluster.RecordingLog.RECORDING_LOG_FILE_NAME; +import static io.aeron.cluster.RecordingLog.RecoveryPlan; +import static io.aeron.cluster.RecordingLog.Snapshot; +import static java.util.Arrays.asList; +import static java.util.Objects.requireNonNull; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertThrowsExactly; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +class UnversionedRecordingLogTest +{ + private static final long RECORDING_ID = 9234236; + + @TempDir + private File tempDir; + + @Test + void shouldCreateNewIndex() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(0, recordingLog.entries().size()); + } + } + + @Test + void shouldAppendAndThenReloadLatestSnapshot() + { + final Entry entry = new Entry( + 1, 3, 2, 777, 4, NULL_VALUE, ENTRY_TYPE_SNAPSHOT, null, true, 0); + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot( + entry.recordingId, + entry.leadershipTermId, + entry.termBaseLogPosition, + 777, + entry.timestamp, + SERVICE_ID); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(1, recordingLog.entries().size()); + + final Entry snapshot = recordingLog.getLatestSnapshot(SERVICE_ID); + assertNotNull(snapshot); + assertEquals(entry, snapshot); + } + } + + @Test + void shouldIgnoreIncompleteSnapshotInRecoveryPlan() + { + final int serviceCount = 1; + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(1L, 1L, 0, 777L, 0, 0); + recordingLog.appendSnapshot(2L, 1L, 0, 777L, 0, SERVICE_ID); + recordingLog.appendSnapshot(3L, 1L, 0, 888L, 0, 0); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(3, recordingLog.entries().size()); + + final AeronArchive mockArchive = mock(AeronArchive.class); + final RecoveryPlan recoveryPlan = recordingLog.createRecoveryPlan( + mockArchive, serviceCount, Aeron.NULL_VALUE); + assertEquals(2, recoveryPlan.snapshots.size()); + assertEquals(SERVICE_ID, recoveryPlan.snapshots.get(0).serviceId); + assertEquals(2L, recoveryPlan.snapshots.get(0).recordingId); + assertEquals(0, recoveryPlan.snapshots.get(1).serviceId); + assertEquals(1L, recoveryPlan.snapshots.get(1).recordingId); + } + } + + @Test + void shouldIgnoreInvalidMidSnapshotInRecoveryPlan() + { + final int serviceCount = 1; + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(1, 1L, 0, 777L, 0, 0); + recordingLog.appendSnapshot(2, 1L, 0, 777L, 0, SERVICE_ID); + recordingLog.appendSnapshot(3, 1L, 0, 888L, 0, 0); + recordingLog.appendSnapshot(4, 1L, 0, 888L, 0, SERVICE_ID); + recordingLog.appendSnapshot(5, 1L, 0, 999L, 0, 0); + recordingLog.appendSnapshot(6, 1L, 0, 999L, 0, SERVICE_ID); + + recordingLog.invalidateEntry(1L, 2); + recordingLog.invalidateEntry(1L, 3); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + final AeronArchive mockArchive = mock(AeronArchive.class); + final RecoveryPlan recoveryPlan = recordingLog.createRecoveryPlan( + mockArchive, serviceCount, Aeron.NULL_VALUE); + assertEquals(2, recoveryPlan.snapshots.size()); + assertEquals(SERVICE_ID, recoveryPlan.snapshots.get(0).serviceId); + assertEquals(6L, recoveryPlan.snapshots.get(0).recordingId); + assertEquals(0, recoveryPlan.snapshots.get(1).serviceId); + assertEquals(5L, recoveryPlan.snapshots.get(1).recordingId); + } + } + + @Test + void shouldIgnoreInvalidTermInRecoveryPlan() + { + final int serviceCount = 1; + final long removedLeadershipTerm = 11L; + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(0L, 9L, 444, 0); + recordingLog.appendTerm(0L, 10L, 666, 0); + recordingLog.appendSnapshot(1L, 10L, 666, 777L, 0, 0); + recordingLog.appendSnapshot(2L, 10L, 666, 777L, 0, SERVICE_ID); + recordingLog.appendSnapshot(3L, 10L, 666, 888L, 0, 0); + recordingLog.appendSnapshot(4L, 10L, 666, 888L, 0, SERVICE_ID); + recordingLog.appendTerm(0L, removedLeadershipTerm, 999, 0); + + final Entry lastTerm = recordingLog.findLastTerm(); + + assertNotNull(lastTerm); + assertEquals(999L, lastTerm.termBaseLogPosition); + + recordingLog.invalidateEntry(removedLeadershipTerm, 6); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + final AeronArchive mockArchive = mock(AeronArchive.class); + when(mockArchive.listRecording(anyLong(), any())).thenReturn(1); + + final RecoveryPlan recoveryPlan = recordingLog.createRecoveryPlan( + mockArchive, serviceCount, Aeron.NULL_VALUE); + assertEquals(0L, recoveryPlan.log.recordingId); + assertEquals(10L, recoveryPlan.log.leadershipTermId); + assertEquals(666, recoveryPlan.log.termBaseLogPosition); + + final Entry lastTerm = recordingLog.findLastTerm(); + assertNotNull(lastTerm); + assertEquals(0L, lastTerm.recordingId); + assertEquals(0L, recordingLog.findLastTermRecordingId()); + assertTrue(recordingLog.isUnknown(removedLeadershipTerm)); + assertEquals(NULL_VALUE, recordingLog.getTermTimestamp(removedLeadershipTerm)); + + assertThrows(ClusterException.class, () -> recordingLog.getTermEntry(removedLeadershipTerm)); + assertThrows(ClusterException.class, () -> recordingLog.commitLogPosition(removedLeadershipTerm, 99L)); + } + } + + @Test + void shouldAppendAndThenCommitTermPosition() + { + final long newPosition = 9999L; + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + final long recordingId = 1L; + final long leadershipTermId = 1111L; + final long logPosition = 2222L; + final long timestamp = 3333L; + + recordingLog.appendTerm(recordingId, leadershipTermId, logPosition, timestamp); + recordingLog.commitLogPosition(leadershipTermId, newPosition); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(1, recordingLog.entries().size()); + + final Entry actualEntry = recordingLog.entries().get(0); + assertEquals(newPosition, actualEntry.logPosition); + } + } + + @Test + void shouldRemoveEntry() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + final Entry entryOne = new Entry( + 1L, 3, 2, NULL_POSITION, 4, 0, ENTRY_TYPE_TERM, null, true, 0); + recordingLog.appendTerm( + entryOne.recordingId, entryOne.leadershipTermId, entryOne.termBaseLogPosition, entryOne.timestamp); + + final Entry entryTwo = new Entry( + 1L, 4, 3, NULL_POSITION, 5, 0, ENTRY_TYPE_TERM, null, true, 0); + recordingLog.appendTerm( + entryTwo.recordingId, entryTwo.leadershipTermId, entryTwo.termBaseLogPosition, entryTwo.timestamp); + + recordingLog.removeEntry(entryTwo.leadershipTermId, recordingLog.nextEntryIndex() - 1); + assertEquals(1, recordingLog.entries().size()); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(1, recordingLog.entries().size()); + assertEquals(2, recordingLog.nextEntryIndex()); + } + } + + @Test + void shouldCorrectlyOrderSnapshots() + { + final ArrayList snapshots = new ArrayList<>(); + final ArrayList entries = new ArrayList<>(); + + addRecordingLogEntry(entries, ConsensusModule.Configuration.SERVICE_ID, 0, ENTRY_TYPE_TERM); + addRecordingLogEntry(entries, 2, 4, ENTRY_TYPE_SNAPSHOT); + addRecordingLogEntry(entries, 1, 5, ENTRY_TYPE_SNAPSHOT); + addRecordingLogEntry(entries, 0, 6, ENTRY_TYPE_SNAPSHOT); + addRecordingLogEntry(entries, ConsensusModule.Configuration.SERVICE_ID, 7, ENTRY_TYPE_SNAPSHOT); + + RecordingLog.addSnapshots(snapshots, entries, 3, entries.size() - 1); + + assertEquals(4, snapshots.size()); + assertEquals(ConsensusModule.Configuration.SERVICE_ID, snapshots.get(0).serviceId); + assertEquals(0, snapshots.get(1).serviceId); + assertEquals(1, snapshots.get(2).serviceId); + assertEquals(2, snapshots.get(3).serviceId); + } + + @Test + void shouldInvalidateLatestSnapshot() + { + final long termBaseLogPosition = 0L; + final long logIncrement = 640L; + long leadershipTermId = 7L; + long logPosition = 0L; + long timestamp = 1000L; + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(1, leadershipTermId, termBaseLogPosition, timestamp); + + timestamp += 1; + logPosition += logIncrement; + + recordingLog.appendSnapshot( + 2, leadershipTermId, termBaseLogPosition, logPosition, timestamp, 0); + recordingLog.appendSnapshot( + 3, leadershipTermId, termBaseLogPosition, logPosition, timestamp, SERVICE_ID); + + timestamp += 1; + logPosition += logIncrement; + + recordingLog.appendSnapshot( + 4, leadershipTermId, termBaseLogPosition, logPosition, timestamp, 0); + recordingLog.appendSnapshot( + 5, leadershipTermId, termBaseLogPosition, logPosition, timestamp, SERVICE_ID); + + leadershipTermId++; + recordingLog.appendTerm(1, leadershipTermId, logPosition, timestamp); + + assertTrue(recordingLog.invalidateLatestSnapshot()); + assertEquals(6, recordingLog.entries().size()); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(6, recordingLog.entries().size()); + + assertTrue(recordingLog.entries().get(0).isValid); + assertTrue(recordingLog.entries().get(1).isValid); + assertTrue(recordingLog.entries().get(2).isValid); + assertFalse(recordingLog.entries().get(3).isValid); + assertFalse(recordingLog.entries().get(4).isValid); + assertTrue(recordingLog.entries().get(5).isValid); + + final Entry latestServiceSnapshot = recordingLog.getLatestSnapshot(0); + assertSame(recordingLog.entries().get(1), latestServiceSnapshot); + + final Entry latestCmSnapshot = recordingLog.getLatestSnapshot(SERVICE_ID); + assertSame(recordingLog.entries().get(2), latestCmSnapshot); + + assertTrue(recordingLog.invalidateLatestSnapshot()); + assertEquals(6, recordingLog.entries().size()); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(6, recordingLog.entries().size()); + + assertTrue(recordingLog.entries().get(0).isValid); + assertFalse(recordingLog.entries().get(1).isValid); + assertFalse(recordingLog.entries().get(2).isValid); + assertFalse(recordingLog.entries().get(3).isValid); + assertFalse(recordingLog.entries().get(4).isValid); + assertTrue(recordingLog.entries().get(5).isValid); + + assertFalse(recordingLog.invalidateLatestSnapshot()); + assertSame(recordingLog.entries().get(5), recordingLog.getTermEntry(leadershipTermId)); + } + } + + @Test + void shouldRecoverSnapshotsMidLogMarkedInvalid() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(1L, 1L, 10, 555L, 0, 0); + recordingLog.appendSnapshot(2L, 1L, 10, 555L, 0, SERVICE_ID); + recordingLog.appendSnapshot(3L, 1L, 10, 777L, 0, 0); + recordingLog.appendSnapshot(4L, 1L, 10, 777L, 0, SERVICE_ID); + recordingLog.appendSnapshot(5L, 1L, 10, 888L, 0, 0); + recordingLog.appendSnapshot(6L, 1L, 10, 888L, 0, SERVICE_ID); + + recordingLog.invalidateEntry(1L, 2); + recordingLog.invalidateEntry(1L, 3); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(7L, 1L, 10, 777L, 555, 0); + recordingLog.appendSnapshot(8L, 1L, 10, 777L, -999, SERVICE_ID); + + assertEquals(6, recordingLog.entries().size()); + assertTrue(recordingLog.entries().get(2).isValid); + assertEquals(7L, recordingLog.entries().get(2).recordingId); + assertTrue(recordingLog.entries().get(3).isValid); + assertEquals(8L, recordingLog.entries().get(3).recordingId); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(6, recordingLog.entries().size()); + assertTrue(recordingLog.entries().get(2).isValid); + assertEquals(7L, recordingLog.entries().get(2).recordingId); + assertTrue(recordingLog.entries().get(3).isValid); + assertEquals(8L, recordingLog.entries().get(3).recordingId); + } + } + + @Test + void shouldRecoverSnapshotsLastInLogMarkedWithInvalid() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(-10, 1L, 0, 777L, 0, 0); + recordingLog.appendSnapshot(-11, 1L, 0, 777L, 0, SERVICE_ID); + + recordingLog.appendTerm(1, 2L, 10, 0); + recordingLog.appendSnapshot(-12, 2L, 10, 888L, 0, 0); + recordingLog.appendSnapshot(-13, 2L, 10, 888L, 0, SERVICE_ID); + + recordingLog.appendTerm(1, 3L, 20, 0); + recordingLog.appendSnapshot(-14, 3L, 20, 999L, 0, 0); + recordingLog.appendSnapshot(-15, 3L, 20, 999L, 0, SERVICE_ID); + + recordingLog.invalidateLatestSnapshot(); + recordingLog.invalidateLatestSnapshot(); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(1, 2L, 10, 888L, 0, 0); + recordingLog.appendSnapshot(2, 2L, 10, 888L, 0, SERVICE_ID); + + recordingLog.appendSnapshot(3, 3L, 20, 999L, 0, 0); + recordingLog.appendSnapshot(4, 3L, 20, 999L, 0, SERVICE_ID); + + assertEquals(8, recordingLog.entries().size()); + assertTrue(recordingLog.entries().get(2).isValid); + assertEquals(1L, recordingLog.entries().get(3).recordingId); + assertTrue(recordingLog.entries().get(3).isValid); + assertEquals(2L, recordingLog.entries().get(4).recordingId); + assertTrue(recordingLog.entries().get(4).isValid); + assertEquals(3L, recordingLog.entries().get(6).recordingId); + assertTrue(recordingLog.entries().get(5).isValid); + assertEquals(4L, recordingLog.entries().get(7).recordingId); + } + } + + @Test + void shouldNotAllowInvalidateOfSnapshotWithoutParentTerm() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(-10, 1L, 0, 777L, 0, 0); + recordingLog.appendSnapshot(-11, 1L, 0, 777L, 0, SERVICE_ID); + + final ClusterException ex = assertThrows(ClusterException.class, recordingLog::invalidateLatestSnapshot); + assertEquals("ERROR - no matching term for snapshot: leadershipTermId=1", ex.getMessage()); + } + } + + @Test + void shouldFailToRecoverSnapshotsMarkedInvalidIfFieldsDoNotMatchCorrectly() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(10L, 0L, 0, 0); + recordingLog.appendTerm(10L, 1L, 500, 0); + recordingLog.appendSnapshot(0, 1L, 500, 777L, 0, 0); + recordingLog.appendSnapshot(1, 1L, 500, 777L, 0, SERVICE_ID); + recordingLog.appendSnapshot(2, 1L, 500, 888L, 0, 0); + recordingLog.appendSnapshot(3, 1L, 500, 888L, 0, SERVICE_ID); + recordingLog.appendSnapshot(4, 1L, 500, 999L, 0, 0); + recordingLog.appendSnapshot(5, 1L, 500, 999L, 0, SERVICE_ID); + recordingLog.appendTerm(10L, 2L, 1000, 5); + + assertTrue(recordingLog.invalidateLatestSnapshot()); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendSnapshot(6, 2L, 500, 999L, 0, SERVICE_ID); + recordingLog.appendSnapshot(7, 1L, 501, 999L, 0, SERVICE_ID); + recordingLog.appendSnapshot(8, 1L, 500, 998L, 0, SERVICE_ID); + recordingLog.appendSnapshot(9, 1L, 500, 999L, 0, 42); + + final List entries = recordingLog.entries(); + assertEquals( + new Entry(8, 1, 500, 998, 0, SERVICE_ID, ENTRY_TYPE_SNAPSHOT, null, true, 11), + entries.get(6)); + assertEquals( + new Entry(9, 1, 500, 999, 0, 42, ENTRY_TYPE_SNAPSHOT, null, true, 12), + entries.get(7)); + assertEquals( + new Entry(4, 1, 500, 999, 0, 0, ENTRY_TYPE_SNAPSHOT, null, false, 6), + entries.get(8)); + assertEquals( + new Entry(5, 1, 500, 999, 0, SERVICE_ID, ENTRY_TYPE_SNAPSHOT, null, false, 7), + entries.get(9)); + assertEquals( + new Entry(7, 1, 501, 999, 0, SERVICE_ID, ENTRY_TYPE_SNAPSHOT, null, true, 10), + entries.get(10)); + assertEquals( + new Entry(10, 2, 1000, NULL_POSITION, 5, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 8), + entries.get(11)); + assertEquals( + new Entry(6, 2, 500, 999, 0, SERVICE_ID, ENTRY_TYPE_SNAPSHOT, null, true, 9), + entries.get(12)); + final Entry latestSnapshot = recordingLog.getLatestSnapshot(SERVICE_ID); + assertNotNull(latestSnapshot); + assertEquals(6L, latestSnapshot.recordingId); + } + } + + @Test + void shouldAppendTermWithLeadershipTermIdOutOfOrder() + { + final List sortedEntries = asList( + new Entry(0, 0, 0, 700, 0, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 0), + new Entry(0, 1, 700, 2048, 0, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 3), + new Entry(0, 2, 2048, 5000, 0, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 1), + new Entry(0, 3, 5000, NULL_POSITION, 100, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 2)); + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(0, 0, 0, 0); + recordingLog.appendTerm(0, 2, 2048, 0); + recordingLog.appendTerm(0, 3, 5000, 100); + recordingLog.appendTerm(0, 1, 700, 0); + + assertEquals(4, recordingLog.nextEntryIndex()); + final List entries = recordingLog.entries(); + assertEquals(sortedEntries, entries); + + assertSame(entries.get(0), recordingLog.getTermEntry(0)); + assertSame(entries.get(1), recordingLog.getTermEntry(1)); + assertSame(entries.get(2), recordingLog.getTermEntry(2)); + assertSame(entries.get(3), recordingLog.getTermEntry(3)); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(sortedEntries, recordingLog.entries()); + } + } + + @Test + void shouldAppendSnapshotWithLeadershipTermIdOutOfOrder() + { + final List sortedEntries = asList( + new Entry(3, 1, 0, 200, 0, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 0), + new Entry(10, 1, 0, 56, 42, SERVICE_ID, ENTRY_TYPE_SNAPSHOT, null, true, 1), + new Entry(3, 2, 200, 2048, 555, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 2), + new Entry(11, 2, 200, 250, 100, 1, ENTRY_TYPE_SNAPSHOT, null, true, 4), + new Entry(100, 2, 200, 250, 100, 0, ENTRY_TYPE_SNAPSHOT, null, true, 5), + new Entry(3, 3, 2048, NULL_POSITION, 0, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 3)); + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(3, 1, 0, 0); + recordingLog.appendSnapshot(10, 1, 0, 56, 42, SERVICE_ID); + recordingLog.invalidateEntry(1, 1); + + recordingLog.commitLogPosition(1, 200); + recordingLog.appendTerm(3, 2, 200, 555); + + recordingLog.commitLogPosition(2, 2048); + recordingLog.appendTerm(3, 3, 2048, 0); + recordingLog.appendSnapshot(11, 2, 200, 250, 100, 1); + recordingLog.appendSnapshot(10, 1, 0, 56, 42, SERVICE_ID); + recordingLog.appendSnapshot(100, 2, 200, 250, 100, 0); + + final List entries = recordingLog.entries(); + assertEquals(sortedEntries, entries); + assertEquals(6, recordingLog.nextEntryIndex()); + + assertSame(entries.get(0), recordingLog.getTermEntry(1)); + assertNull(recordingLog.findTermEntry(0)); + assertSame(entries.get(2), recordingLog.getTermEntry(2)); + assertSame(entries.get(5), recordingLog.getTermEntry(3)); + final Entry latestSnapshot = recordingLog.getLatestSnapshot(SERVICE_ID); + assertSame(entries.get(1), latestSnapshot); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + assertEquals(sortedEntries, recordingLog.entries()); + } + } + + @Test + void appendTermShouldRejectNullValueAsRecordingId() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + final ClusterException exception = assertThrows(ClusterException.class, + () -> recordingLog.appendTerm(NULL_VALUE, 0, 0, 0)); + assertEquals("ERROR - invalid recordingId=-1", exception.getMessage()); + assertEquals(0, recordingLog.entries().size()); + } + } + + @Test + void appendSnapshotShouldRejectNullValueAsRecordingId() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + final ClusterException exception = assertThrows(ClusterException.class, + () -> recordingLog.appendSnapshot(NULL_VALUE, 0, 0, 0, 0, 0)); + assertEquals("ERROR - invalid recordingId=-1", exception.getMessage()); + assertEquals(0, recordingLog.entries().size()); + } + } + + @Test + void appendTermShouldNotAcceptDifferentRecordingIds() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(42, 0, 0, 0); + + final ClusterException exception = assertThrows(ClusterException.class, + () -> recordingLog.appendTerm(21, 1, 0, 0)); + assertEquals("ERROR - invalid TERM recordingId=21, expected recordingId=42", exception.getMessage()); + assertEquals(1, recordingLog.entries().size()); + } + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + final ClusterException exception = assertThrows(ClusterException.class, + () -> recordingLog.appendTerm(-5, -5, -5, -5)); + assertEquals("ERROR - invalid TERM recordingId=-5, expected recordingId=42", exception.getMessage()); + assertEquals(1, recordingLog.entries().size()); + } + } + + @Test + void appendTermShouldOnlyAllowASingleValidTermForTheSameLeadershipTermId() + { + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(8, 0, 0, 0); + recordingLog.appendTerm(8, 1, 1, 1); + + recordingLog.invalidateEntry(0, 0); + recordingLog.appendTerm(8, 0, 100, 100); + + final ClusterException exception = assertThrows(ClusterException.class, + () -> recordingLog.appendTerm(8, 1, 5, 5)); + assertEquals("ERROR - duplicate TERM entry for leadershipTermId=1", exception.getMessage()); + assertEquals(3, recordingLog.entries().size()); + } + } + + @Test + void entriesInTheRecordingLogShouldBeSorted() + { + final List sortedList = new ArrayList<>(); + sortedList.add(new Entry(0, 0, 0, 90, 0, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 0)); + sortedList.add(new Entry(0, 1, 100, 1_000_000, 10, NULL_VALUE, ENTRY_TYPE_TERM, null, false, 1)); + sortedList.add(new Entry(0, 1, 90, 400, 9, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 8)); + sortedList.add(new Entry(0, 1, 111, 222, 12, 1, ENTRY_TYPE_SNAPSHOT, null, false, 2)); + sortedList.add(new Entry(0, 1, 111, 222, 12, 0, ENTRY_TYPE_SNAPSHOT, null, false, 4)); + sortedList.add(new Entry(0, 1, 111, 222, 12, SERVICE_ID, ENTRY_TYPE_SNAPSHOT, null, false, 3)); + sortedList.add(new Entry(0, 1, 0, 777, 42, 2, ENTRY_TYPE_SNAPSHOT, null, true, 11)); + sortedList.add( + new Entry(0, 2, 1_000_000, 500, 1_000_000, NULL_VALUE, ENTRY_TYPE_TERM, null, false, 6)); + sortedList.add(new Entry(0, 2, 400, 500, 20, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 7)); + sortedList.add(new Entry(0, 2, 400, 1400, 200, 1, ENTRY_TYPE_SNAPSHOT, null, false, 10)); + sortedList.add(new Entry(0, 2, 400, 1400, 200, 0, ENTRY_TYPE_SNAPSHOT, null, true, 12)); + sortedList.add(new Entry(0, 2, 400, 1400, 200, SERVICE_ID, ENTRY_TYPE_SNAPSHOT, null, true, 9)); + sortedList.add(new Entry(0, 3, 500, NULL_VALUE, 30, NULL_VALUE, ENTRY_TYPE_TERM, null, true, 5)); + + try (RecordingLog recordingLog = new RecordingLog(tempDir, true)) + { + recordingLog.appendTerm(0, 0, 0, 0); + recordingLog.appendTerm(0, 1, 100, 10); + recordingLog.appendSnapshot(0, 1, 111, 222, 12, 1); + recordingLog.appendSnapshot(0, 1, 111, 222, 12, SERVICE_ID); + recordingLog.appendSnapshot(0, 1, 111, 222, 12, 0); + recordingLog.appendTerm(0, 3, 500, 30); + recordingLog.appendTerm(0, 2, 1_000_000, 1_000_000); + + recordingLog.invalidateEntry(1, 1); + recordingLog.invalidateEntry(2, 6); + + recordingLog.appendTerm(0, 2, 400, 20); + recordingLog.appendTerm(0, 1, 90, 9); + + assertTrue(recordingLog.invalidateLatestSnapshot()); + + recordingLog.appendSnapshot(0, 2, 400, 1400, 200, SERVICE_ID); + recordingLog.appendSnapshot(0, 2, 400, 1400, 200, 1); + recordingLog.appendSnapshot(0, 1, 0, 777, 42, 2); + recordingLog.appendSnapshot(0, 2, 400, 1400, 200, 0); + + recordingLog.invalidateEntry(2, 10); + + assertEquals(sortedList, recordingLog.entries()); // in memory view + + recordingLog.reload(); + + assertEquals(sortedList, recordingLog.entries()); // reload from disc and re-sort + } + } + + @ParameterizedTest + @CsvSource({ + "0, 0, 4", + "2, 500, 4", + "100, 1000000, 200" + }) + void shouldCreateInitialEmptyTermsWithAnEmptyRecordingLog( + final long initialLogLeadershipTermId, + final long initialTermBaseLogPosition, + final long leadershipTermId, + @TempDir final File tempDir) + { + final long logPosition = initialTermBaseLogPosition + 500; + final long nowNs = 10_000_000_000L; + final long timestampMs = nowNs / 1_000_000; + + final RecordingLog log = new RecordingLog(tempDir, true); + + log.ensureCoherent( + RECORDING_ID, + initialLogLeadershipTermId, + initialTermBaseLogPosition, + leadershipTermId, + initialTermBaseLogPosition, + logPosition, + nowNs, + timestampMs, + 1); + + for (long termId = initialLogLeadershipTermId + 1; termId < leadershipTermId; termId++) + { + final Entry termEntry = log.findTermEntry(termId); + assertNotNull(termEntry); + assertEquals(initialTermBaseLogPosition, termEntry.termBaseLogPosition); + assertEquals(initialTermBaseLogPosition, termEntry.logPosition); + assertEquals(timestampMs, termEntry.timestamp); + } + + final Entry termEntry = log.findTermEntry(leadershipTermId); + assertNotNull(termEntry); + assertEquals(initialTermBaseLogPosition, termEntry.termBaseLogPosition); + assertEquals(logPosition, termEntry.logPosition); + assertEquals(timestampMs, termEntry.timestamp); + } + + @Test + void shouldNotCreateInitialTermWithMinusOneTermId(@TempDir final File tempDir) + { + final long initialLogLeadershipTermId = -1; + final long initialTermBaseLogPosition = 0; + final long leadershipTermId = 4; + final long logPosition = initialTermBaseLogPosition + 500; + final long nowNs = 1_000_000; + + final RecordingLog recordingLog = new RecordingLog(tempDir, true); + + recordingLog.ensureCoherent( + RECORDING_ID, + initialLogLeadershipTermId, + initialTermBaseLogPosition, + leadershipTermId, + initialTermBaseLogPosition, + logPosition, + nowNs, + nowNs, + 1); + + for (final Entry entry : recordingLog.entries()) + { + assertNotEquals(-1, entry.leadershipTermId); + } + } + + @ParameterizedTest + @CsvSource({ + "0, 0, 4", + "2, 500, 4", + "100, 1000000, 200" + }) + void shouldBackFillEmptyLeadershipTermsInANonemptyRecordingLog( + final long initialLogLeadershipTermId, + final long initialTermBaseLogPosition, + final long leadershipTermId, + @TempDir final Path tempDir) + { + final long termBaseLogPosition = initialTermBaseLogPosition + 100; + final long logPosition = initialTermBaseLogPosition + 500; + final long nowNs = 1_000_000; + + final RecordingLog log = new RecordingLog(tempDir.toFile(), true); + + log.appendTerm(RECORDING_ID, initialLogLeadershipTermId, initialTermBaseLogPosition, nowNs); + + log.ensureCoherent( + RECORDING_ID, + initialLogLeadershipTermId, + initialTermBaseLogPosition, + leadershipTermId, + termBaseLogPosition, + logPosition, + nowNs, + nowNs, + 1); + + for (long termId = initialLogLeadershipTermId + 1; termId < leadershipTermId; termId++) + { + final Entry termEntry = log.findTermEntry(termId); + assertNotNull(termEntry); + assertEquals(termBaseLogPosition, termEntry.termBaseLogPosition); + assertEquals(termBaseLogPosition, termEntry.logPosition); + } + + final Entry termEntry = log.findTermEntry(leadershipTermId); + assertNotNull(termEntry); + assertEquals(termBaseLogPosition, termEntry.termBaseLogPosition); + assertEquals(logPosition, termEntry.logPosition); + } + + @ParameterizedTest + @CsvSource({ + "0, 0, 4", + "2, 500, 4", + "100, 1000000, 200" + }) + void shouldCompleteExistingTerm( + final long initialLogLeadershipTermId, + final long initialTermBaseLogPosition, + final long leadershipTermId, + @TempDir final Path tempDir) + { + final long termBaseLogPosition = initialTermBaseLogPosition + 100; + final long logPosition = initialTermBaseLogPosition + 500; + final long nowNs = 1_000_000; + + final RecordingLog log = new RecordingLog(tempDir.toFile(), true); + + log.appendTerm(RECORDING_ID, leadershipTermId, termBaseLogPosition, nowNs); + + log.ensureCoherent( + RECORDING_ID, + initialLogLeadershipTermId, + initialTermBaseLogPosition, + leadershipTermId, + termBaseLogPosition, + logPosition, + nowNs, + nowNs, + 1); + + final Entry termEntry = requireNonNull(log.findTermEntry(leadershipTermId)); + assertEquals(termBaseLogPosition, termEntry.termBaseLogPosition); + assertEquals(logPosition, termEntry.logPosition); + + assertEquals(1, log.entries().size()); + } + + @Test + void shouldBackFillPriorTerm(@TempDir final Path tempDir) + { + final long initialLogLeadershipTermId = 0; + final long initialTermBaseLogPosition = 0; + final long leadershipTermId = 1; + final long termBaseLogPosition = 10_000; + final long logPosition = -1; + final long nowNs = 1_000_000; + + final RecordingLog log = new RecordingLog(tempDir.toFile(), true); + + log.ensureCoherent( + RECORDING_ID, + initialLogLeadershipTermId, + initialTermBaseLogPosition, + leadershipTermId, + termBaseLogPosition, + logPosition, + nowNs, + nowNs, + 1); + + final Entry termEntry0 = requireNonNull(log.findTermEntry(0)); + assertEquals(initialLogLeadershipTermId, termEntry0.termBaseLogPosition); + assertEquals(initialTermBaseLogPosition, termEntry0.termBaseLogPosition); + assertEquals(termBaseLogPosition, termEntry0.logPosition); + + final Entry termEntry1 = requireNonNull(log.findTermEntry(1)); + assertEquals(leadershipTermId, termEntry1.leadershipTermId); + assertEquals(termBaseLogPosition, termEntry1.termBaseLogPosition); + assertEquals(-1, termEntry1.logPosition); + + assertEquals(2, log.entries().size()); + } + + @Test + void shouldThrowIfLastTermIsUnfinishedAndTermBaseLogPositionIsNotSpecified(@TempDir final Path tempDir) + { + final long leadershipTermId = 4; + final long logPosition = 500; + final long nowNs = 1_000_000; + + final RecordingLog log = new RecordingLog(tempDir.toFile(), true); + + log.appendTerm(RECORDING_ID, leadershipTermId - 1, 0, nowNs); + + assertThrows(ClusterException.class, () -> log.ensureCoherent( + RECORDING_ID, 0, 0, leadershipTermId, NULL_POSITION, logPosition, nowNs, nowNs, 1)); + } + + @ParameterizedTest + @CsvSource({ "0,TERM", "1,SNAPSHOT", "-5,UNKNOWN", "36542364,UNKNOWN" }) + void typeAsString(final int type, final String expectedString) + { + assertEquals(expectedString, RecordingLog.typeAsString(type)); + } + + @Test + void entryToString() + { + final Entry entry = new Entry( + 42, 5, 1024, 701, 1_000_000_000_000L, 16, ENTRY_TYPE_SNAPSHOT, null, true, 2); + assertEquals( + "Entry{recordingId=42, leadershipTermId=5, termBaseLogPosition=1024, logPosition=701, " + + "timestamp=1000000000000, serviceId=16, type=SNAPSHOT, isValid=true, entryIndex=2}", + entry.toString()); + } + + @Test + void shouldDetermineIfSnapshotIsInvalid() + { + final Entry validSnapshot = new Entry( + 42, 5, 1024, 701, 1_000_000_000_000L, 16, ENTRY_TYPE_SNAPSHOT, null, true, 2); + final Entry invalidSnapshot = new Entry( + 42, 5, 1024, 701, 1_000_000_000_000L, 16, ENTRY_TYPE_SNAPSHOT, null, false, 2); + final Entry term = new Entry( + 42, 5, 1024, 701, 1_000_000_000_000L, 16, ENTRY_TYPE_TERM, null, true, 2); + + assertFalse(RecordingLog.isInvalidSnapshot(validSnapshot)); + assertTrue(RecordingLog.isInvalidSnapshot(invalidSnapshot)); + assertFalse(RecordingLog.isInvalidSnapshot(term)); + } + + @Test + void shouldInsertStandbySnapshotInRecordingLog(@TempDir final File tempDir) + { + try (RecordingLog log = new RecordingLog(tempDir, true)) + { + log.appendSnapshot(1, 1, 0, 1000, 1_000_000_000L, SERVICE_ID); + log.appendSnapshot(2, 1, 0, 1000, 1_000_000_000L, 0); + + log.appendStandbySnapshot(3, 2, 1000, 2000, 1_000_000_000L, SERVICE_ID, "remotehost.aeron.io:20002"); + log.appendStandbySnapshot(4, 2, 1000, 2000, 1_000_000_000L, 0, "remotehost.aeron.io:20002"); + + log.appendSnapshot(5, 3, 2000, 3000, 1_000_000_000L, SERVICE_ID); + log.appendSnapshot(6, 3, 2000, 3000, 1_000_000_000L, 0); + } + + try (RecordingLog log = new RecordingLog(tempDir, false)) + { + assertLogEntry(log, 1, ENTRY_TYPE_SNAPSHOT, null); + assertLogEntry(log, 2, ENTRY_TYPE_SNAPSHOT, null); + assertLogEntry(log, 3, ENTRY_TYPE_STANDBY_SNAPSHOT, "remotehost.aeron.io:20002"); + assertLogEntry(log, 4, ENTRY_TYPE_STANDBY_SNAPSHOT, "remotehost.aeron.io:20002"); + assertLogEntry(log, 5, ENTRY_TYPE_SNAPSHOT, null); + assertLogEntry(log, 6, ENTRY_TYPE_SNAPSHOT, null); + } + } + + @Test + void shouldNotIncludeStandbySnapshotInRecoveryPlan(@TempDir final File tempDir) + { + try (RecordingLog log = new RecordingLog(tempDir, true)) + { + log.appendSnapshot(1, 1, 0, 1000, 1_000_000_000L, SERVICE_ID); + log.appendSnapshot(2, 1, 0, 1000, 1_000_000_000L, 0); + + log.appendStandbySnapshot(3, 2, 1000, 2000, 1_000_000_000L, SERVICE_ID, "remotehost.aeron.io:20002"); + log.appendStandbySnapshot(4, 2, 1000, 2000, 1_000_000_000L, 0, "remotehost.aeron.io:20002"); + } + + final AeronArchive mockArchive = mock(AeronArchive.class); + mockExtent(mockArchive, 1); + mockExtent(mockArchive, 2); + mockExtent(mockArchive, 3); + mockExtent(mockArchive, 4); + + try (RecordingLog log = new RecordingLog(tempDir, false)) + { + final RecoveryPlan recoveryPlan = log.createRecoveryPlan(mockArchive, 1, NULL_VALUE); + + assertEquals(2, recoveryPlan.snapshots.size()); + assertTrue(recoveryPlan.snapshots.stream().anyMatch((s) -> s.recordingId == 1)); + assertTrue(recoveryPlan.snapshots.stream().anyMatch((s) -> s.recordingId == 2)); + } + } + + @Test + void shouldGetLatestStandbySnapshotsGroupedByEndpoint(@TempDir final File tempDir) + { + try (RecordingLog log = new RecordingLog(tempDir, true)) + { + log.appendSnapshot(1, 1, 0, 1000, 1_000_000_000L, SERVICE_ID); + log.appendSnapshot(2, 1, 0, 1000, 1_000_000_000L, 0); + + log.appendStandbySnapshot(5, 2, 500, 800, 1_000_000_000L, SERVICE_ID, "remotehost0.aeron.io:20002"); + log.appendStandbySnapshot(6, 2, 500, 800, 1_000_000_000L, 0, "remotehost0.aeron.io:20002"); + + log.appendStandbySnapshot(3, 2, 1000, 2000, 1_000_000_000L, SERVICE_ID, "remotehost0.aeron.io:20002"); + log.appendStandbySnapshot(4, 2, 1000, 2000, 1_000_000_000L, 0, "remotehost0.aeron.io:20002"); + + log.appendStandbySnapshot(3, 2, 1000, 2000, 1_000_000_000L, SERVICE_ID, "remotehost1.aeron.io:20002"); + log.appendStandbySnapshot(4, 2, 1000, 2000, 1_000_000_000L, 0, "remotehost1.aeron.io:20002"); + + log.appendStandbySnapshot(10, 2, 3000, 4000, 1_000_000_000L, 0, "remotehost0.aeron.io:20002"); + log.appendStandbySnapshot(11, 2, 3000, 4000, 1_000_000_000L, 0, "remotehost1.aeron.io:20002"); + } + + try (RecordingLog log = new RecordingLog(tempDir, false)) + { + assertLogEntry(log, 1, ENTRY_TYPE_SNAPSHOT, null); + assertLogEntry(log, 2, ENTRY_TYPE_SNAPSHOT, null); + assertLogEntry(log, 3, ENTRY_TYPE_STANDBY_SNAPSHOT, "remotehost0.aeron.io:20002"); + assertLogEntry(log, 4, ENTRY_TYPE_STANDBY_SNAPSHOT, "remotehost0.aeron.io:20002"); + assertLogEntry(log, 3, ENTRY_TYPE_STANDBY_SNAPSHOT, "remotehost1.aeron.io:20002"); + assertLogEntry(log, 4, ENTRY_TYPE_STANDBY_SNAPSHOT, "remotehost1.aeron.io:20002"); + + final int serviceCount = 1; + final Map> standbySnapshots = log.latestStandbySnapshots(serviceCount); + assertNotNull(standbySnapshots); + + assertEquals(2, standbySnapshots.get("remotehost0.aeron.io:20002").size()); + assertEquals(2, standbySnapshots.get("remotehost1.aeron.io:20002").size()); + } + } + + @Test + void shouldInvalidateLatestSnapshotIgnoringStandbySnapshots(@TempDir final File tempDir) + { + try (RecordingLog log = new RecordingLog(tempDir, true)) + { + log.appendTerm(1, 0, 0, 1_000_000_000L); + + log.appendSnapshot(2, 0, 0, 1000, 1_000_000_000L, SERVICE_ID); + log.appendSnapshot(3, 0, 0, 1000, 1_000_000_000L, 0); + + log.appendSnapshot(4, 0, 2, 2000, 1_000_000_000L, SERVICE_ID); + log.appendSnapshot(5, 0, 2, 2000, 1_000_000_000L, 0); + + log.appendStandbySnapshot(15, 0, 500, 800, 1_000_000_000L, SERVICE_ID, "remotehost0.aeron.io:20002"); + log.appendStandbySnapshot(16, 0, 500, 800, 1_000_000_000L, 0, "remotehost0.aeron.io:20002"); + } + + try (RecordingLog log = new RecordingLog(tempDir, false)) + { + assertEquals(4, requireNonNull(log.getLatestSnapshot(SERVICE_ID)).recordingId); + final Map> preInvalidate = log.latestStandbySnapshots(2); + + log.invalidateLatestSnapshot(); + + assertEquals(2, requireNonNull(log.getLatestSnapshot(SERVICE_ID)).recordingId); + assertEquals(preInvalidate, log.latestStandbySnapshots(2)); + } + } + + @Test + void shouldHandleEntriesStraddlingPageBoundary(@TempDir final File tempDir) + { + final String endpoint = Tests.generateStringWithSuffix("a", "x", 3079); + try (RecordingLog log = new RecordingLog(tempDir, true)) + { + log.appendStandbySnapshot(1, 2, 1000, 2000, 1_000_000_000L, SERVICE_ID, endpoint); + log.appendStandbySnapshot(2, 2, 1000, 2000, 1_000_000_000L, 0, endpoint); + log.appendStandbySnapshot(3, 2, 1000, 2000, 1_000_000_000L, 1, endpoint); + log.append(ENTRY_TYPE_TERM, 4, 3, 10000, 11111, 2_000_000_000L, SERVICE_ID, RECORDING_LOG_FILE_NAME); + log.appendSnapshot(5, 4, 20000, 22222, 3_000_000_000L, SERVICE_ID); + log.appendSnapshot(6, 4, 20000, 22222, 3_000_000_000L, 0); + } + + try (RecordingLog log = new RecordingLog(tempDir, false)) + { + assertLogEntry(log, 1, ENTRY_TYPE_STANDBY_SNAPSHOT, endpoint); + assertLogEntry(log, 2, ENTRY_TYPE_STANDBY_SNAPSHOT, endpoint); + assertLogEntry(log, 3, ENTRY_TYPE_STANDBY_SNAPSHOT, endpoint); + assertLogEntry(log, 4, ENTRY_TYPE_TERM, null); + assertLogEntry(log, 5, ENTRY_TYPE_SNAPSHOT, null); + assertLogEntry(log, 6, ENTRY_TYPE_SNAPSHOT, null); + } + } + + @Test + void shouldRejectSnapshotEntryIfEndpointIsTooLong(@TempDir final File tempDir) + { + final String endpoint = Tests.generateStringWithSuffix("a", "x", 5000); + try (RecordingLog log = new RecordingLog(tempDir, true)) + { + final ClusterException exception = assertThrowsExactly(ClusterException.class, + () -> log.appendStandbySnapshot(1, 2, 1000, 2000, 1_000_000_000L, SERVICE_ID, endpoint)); + assertEquals("ERROR - Endpoint is too long: " + endpoint.length() + " vs " + MAX_ENDPOINT_LENGTH, + exception.getMessage()); + } + } + + private void mockExtent(final AeronArchive mockArchive, final long recordingId) + { + when(mockArchive.listRecording(eq(recordingId), any())).thenAnswer( + invocation -> + { + final RecordingDescriptorConsumer consumer = invocation.getArgument( + 1, RecordingDescriptorConsumer.class); + + consumer.onRecordingDescriptor( + recordingId + 1_000_000, + recordingId + 2_000_000, + recordingId, + 0, + 0, + 0, + 50_000, + 0, + 128 * 1024 * 1024, + 256 * 1024, + 1408, + 0, + 0, + "", + "", + ""); + + return 1; + }); + } + + private static void assertLogEntry( + final RecordingLog log, + final long recordingId, + final int type, + final String endpoint) + { + final Predicate entryPredicate = (entry) -> + entry.recordingId == recordingId && + entry.type == type && + Objects.equals(entry.archiveEndpoint, endpoint); + + assertTrue(log.entries().stream().anyMatch(entryPredicate)); + } + + private static void addRecordingLogEntry( + final ArrayList entries, final int serviceId, final int recordingId, final int entryType) + { + entries.add(new Entry( + recordingId, 1, 1440, 2880, 0L, serviceId, entryType, null, true, entries.size())); + } +} diff --git a/aeron-cluster/src/test/resources/v1_45_x/recording.log b/aeron-cluster/src/test/resources/v1_45_x/recording.log index 6a668d9f3f1e178f6c50fac2c454b94360e69558..d9b564f98296744742e3c43f13be340c1e7a6e20 100644 GIT binary patch literal 197696 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≫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
rEqX&QarBScCen=zsg& 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 literal 378112 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%0Ahwjn(sQ{YL?D0|CV;FfG?0fn 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

kH$ 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 (6sp>VcA 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

@ZHdouX|^Vq@}X>C-cnXqF{Vd^$# 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 JV&EC@?%C#toX3L=@Ae*+jFS+R~#tq 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 Rk?EY*#}wy?=ihex{|7N%`+NWZ From b82ecfb7bd72812d8348bbf906005a6df065468f Mon Sep 17 00:00:00 2001 From: Michael Barker Date: Fri, 9 Aug 2024 15:39:40 +1200 Subject: [PATCH 3/6] [Java] Complete adding header and version information to the recording log. --- .../java/io/aeron/cluster/RecordingLog.java | 138 +++++++++++------- .../io/aeron/cluster/RecordingLogTest.java | 1 + .../cluster/RecordingLogVersioningTest.java | 75 +++++----- .../cluster/UnversionedRecordingLog.java | 0 .../io/aeron/cluster/ClusterToolTest.java | 10 +- 5 files changed, 129 insertions(+), 95 deletions(-) rename aeron-cluster/src/{main => test}/java/io/aeron/cluster/UnversionedRecordingLog.java (100%) diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java index a6bf23e8b6..03258c2f8d 100644 --- a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java +++ b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java @@ -23,6 +23,7 @@ import org.agrona.DirectBuffer; import org.agrona.LangUtil; import org.agrona.MutableDirectBuffer; +import org.agrona.SemanticVersion; import org.agrona.Strings; import org.agrona.collections.IntArrayList; import org.agrona.collections.Long2LongHashMap; @@ -50,6 +51,9 @@ import static io.aeron.archive.client.AeronArchive.NULL_POSITION; import static java.lang.Math.max; import static java.nio.ByteOrder.LITTLE_ENDIAN; +import static java.nio.file.StandardCopyOption.ATOMIC_MOVE; +import static java.nio.file.StandardCopyOption.COPY_ATTRIBUTES; +import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; import static java.nio.file.StandardOpenOption.*; import static org.agrona.BitUtil.*; @@ -68,12 +72,13 @@ * 0 1 2 3 * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - * | 0xFFA3F010 (Magic Number) | - * | | + * | 0xFFA3F010 (Magic Number) | + * | 0x00000000 | * +---------------------------------------------------------------+ * | Version | * +---------------------------------------------------------------+ - * | Reserved | + * | Reserved (52 bytes) ... + * ... | * +---------------------------------------------------------------+ *

* Recording log entry as follows: @@ -117,7 +122,13 @@ public final class RecordingLog implements AutoCloseable { public static final long MAGIC_NUMBER = 0xFFA3F010_00000000L; - private static final int HEADER_SIZE = 64; + public static final int HEADER_SIZE = 64; + public static final int MAJOR_VERSION = 0; + public static final int MINOR_VERSION = 1; + public static final int PATCH_VERSION = 0; + public static final int SEMANTIC_VERSION = SemanticVersion.compose(MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION); + private static final int MAGIC_NUMBER_OFFSET = 0; + private static final int VERSION_OFFSET = MAGIC_NUMBER_OFFSET + SIZE_OF_LONG; /** * Representation of the entry in the {@link RecordingLog}. @@ -646,6 +657,9 @@ public String toString() */ public static final String RECORDING_LOG_FILE_NAME = "recording.log"; + static final String RECORDING_LOG_MIGRATED_FILE_NAME = RECORDING_LOG_FILE_NAME + ".migrated"; + static final String RECORDING_LOG_NEW_FILE_NAME = RECORDING_LOG_FILE_NAME + ".new"; + /** * The log entry is for a recording of messages within a leadership term to the log. */ @@ -785,6 +799,7 @@ public RecordingLog(final File parentDir, final boolean createNew) if (isNewFile) { syncDirectory(parentDir); + writeHeader(fileChannel); } else { @@ -802,54 +817,6 @@ public RecordingLog(final File parentDir, final boolean createNew) } } - private void checkForVersionAndMigrate(final File logFile) throws IOException - { - if (requiresMigration(logFile)) - { - final File oldMigratedFile = new File(logFile.getParentFile(), RECORDING_LOG_FILE_NAME + ".migrated"); - if (!logFile.renameTo(oldMigratedFile)) - { - throw new IOException("Unable to backup old file to new one"); - } - - final File newFile = new File(logFile.getParentFile(), RECORDING_LOG_FILE_NAME); - final MutableDirectBuffer header = new UnsafeBuffer(new byte[HEADER_SIZE]); - // TODO: Offset constants - header.putLong(0, MAGIC_NUMBER, LITTLE_ENDIAN); - header.putInt(8, 0 /* TODO: version */, LITTLE_ENDIAN); - - try (FileOutputStream outputStream = new FileOutputStream(newFile)) - { - outputStream.write(header.byteArray()); - Files.copy(oldMigratedFile.toPath(), outputStream); - } - } - } - - private boolean requiresMigration(final File logFile) throws IOException - { - if (logFile.length() < HEADER_SIZE) - { - return true; - } - - try (FileChannel fileChannel = FileChannel.open(logFile.toPath(), READ)) - { - return isMagicNumberInvalid(fileChannel); - } - } - - private static boolean isMagicNumberInvalid(final FileChannel fileChannel) throws IOException - { - final DirectBuffer header = new UnsafeBuffer(ByteBuffer.allocateDirect(HEADER_SIZE)); - if (HEADER_SIZE != fileChannel.read(header.byteBuffer())) - { - throw new IOException("Unable to read header"); - } - final long magicNumber = header.getLong(0, LITTLE_ENDIAN); - return magicNumber != MAGIC_NUMBER; - } - /** * {@inheritDoc} */ @@ -1884,6 +1851,73 @@ private int captureEntriesFromBuffer( return consumed; } + private void applyHeader(final MutableDirectBuffer header) + { + header.putLong(MAGIC_NUMBER_OFFSET, MAGIC_NUMBER, LITTLE_ENDIAN); + header.putInt(VERSION_OFFSET, SEMANTIC_VERSION, LITTLE_ENDIAN); + } + + private void writeHeader(final FileChannel fileChannel) throws IOException + { + final ByteBuffer headerBuffer = ByteBuffer.allocateDirect(HEADER_SIZE); + final MutableDirectBuffer header = new UnsafeBuffer(headerBuffer); + applyHeader(header); + + if (HEADER_SIZE != fileChannel.write(headerBuffer)) + { + throw new IOException("Failed to write full header"); + } + } + + private void checkForVersionAndMigrate(final File logFile) throws IOException + { + if (requiresMigration(logFile)) + { + final File oldMigratedFile = new File(logFile.getParentFile(), RECORDING_LOG_MIGRATED_FILE_NAME); + Files.copy(logFile.toPath(), oldMigratedFile.toPath(), COPY_ATTRIBUTES, REPLACE_EXISTING); + + final File newFile = new File(logFile.getParentFile(), RECORDING_LOG_NEW_FILE_NAME); + Files.deleteIfExists(newFile.toPath()); + + final MutableDirectBuffer header = new UnsafeBuffer(new byte[HEADER_SIZE]); + applyHeader(header); + + try (FileOutputStream outputStream = new FileOutputStream(newFile, false)) + { + outputStream.write(header.byteArray()); + Files.copy(oldMigratedFile.toPath(), outputStream); + } + + Files.move( + newFile.toPath(), new File(logFile.getParentFile(), RECORDING_LOG_FILE_NAME).toPath(), + ATOMIC_MOVE, REPLACE_EXISTING); + } + } + + private boolean requiresMigration(final File logFile) throws IOException + { + if (logFile.length() < HEADER_SIZE) + { + return true; + } + + try (FileChannel fileChannel = FileChannel.open(logFile.toPath(), READ)) + { + return isMagicNumberInvalid(fileChannel); + } + } + + private static boolean isMagicNumberInvalid(final FileChannel fileChannel) throws IOException + { + final DirectBuffer header = new UnsafeBuffer(ByteBuffer.allocateDirect(HEADER_SIZE)); + if (HEADER_SIZE != fileChannel.read(header.byteBuffer())) + { + throw new IOException("Unable to read header"); + } + final long magicNumber = header.getLong(0, LITTLE_ENDIAN); + return magicNumber != MAGIC_NUMBER; + } + private static void syncDirectory(final File dir) { try (FileChannel fileChannel = FileChannel.open(dir.toPath())) diff --git a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogTest.java b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogTest.java index 772795c65c..494a8e4035 100644 --- a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogTest.java +++ b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogTest.java @@ -670,6 +670,7 @@ void entriesInTheRecordingLogShouldBeSorted() recordingLog.reload(); + assertEquals(sortedList.size(), recordingLog.entries().size()); assertEquals(sortedList, recordingLog.entries()); // reload from disc and re-sort } } diff --git a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java index 884ef8e7d6..a208befd7a 100644 --- a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java +++ b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java @@ -15,30 +15,34 @@ */ package io.aeron.cluster; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import java.io.File; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.Random; +import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_SNAPSHOT; +import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_STANDBY_SNAPSHOT; import static io.aeron.cluster.RecordingLog.ENTRY_TYPE_TERM; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; public class RecordingLogVersioningTest { private static final byte[] CHARACTER_TABLE = new byte[27]; public static final long FIXED_SEED_FOR_CONSISTENT_DATA = 892374458763L; + @TempDir File tempDirA; + @TempDir File tempDirB; + static { for (int i = 0; i < 26; i++) @@ -60,7 +64,7 @@ private static class TestEntry private final int serviceId; private final String endpoint; - public TestEntry( + TestEntry( final int entryType, final long recordingId, final long leadershipTermId, @@ -140,13 +144,19 @@ private List generateData() return entries; } - @SuppressWarnings("checkstyle:MethodName") @Test - @Disabled // Used to generate existing data. - void generateRecordingLogForVersionTest_1_45() + void verifyDataRemainsConsistent() + { + assertEquals(generateData(), generateData()); + } + + @ParameterizedTest + @ValueSource(booleans = { true, false }) + void shouldLoadOldVersionAndMigrate(final boolean hasPartiallyProcessedFiles) throws IOException { - final File parentDir = new File("src/test/resources/v1_45_x"); - try (UnversionedRecordingLog recordingLog = new UnversionedRecordingLog(parentDir, true)) + assertNotEquals(tempDirA, tempDirB); + + try (UnversionedRecordingLog recordingLog = new UnversionedRecordingLog(tempDirA, true)) { for (final TestEntry testEntry : generateData()) { @@ -160,17 +170,20 @@ void generateRecordingLogForVersionTest_1_45() testEntry.serviceId, testEntry.endpoint); } - final List entries = recordingLog.entries(); - final String s = entries.toString(); - System.out.println(s); } - } - private static void appendToRecordingLog(final RecordingLog recordingLog, final List testEntries) - { - for (final TestEntry testEntry : testEntries) + if (hasPartiallyProcessedFiles) + { + Files.createFile(new File(tempDirA, RecordingLog.RECORDING_LOG_MIGRATED_FILE_NAME).toPath()); + Files.createFile(new File(tempDirA, RecordingLog.RECORDING_LOG_NEW_FILE_NAME).toPath()); + } + + final RecordingLog recordingLogMigrated = new RecordingLog(tempDirA, false); + final RecordingLog recordingLogNew = new RecordingLog(tempDirB, true); + + for (final TestEntry testEntry : generateData()) { - recordingLog.append( + recordingLogNew.append( testEntry.entryType, testEntry.recordingId, testEntry.leadershipTermId, @@ -180,28 +193,6 @@ private static void appendToRecordingLog(final RecordingLog recordingLog, final testEntry.serviceId, testEntry.endpoint); } - } - - @Test - void verifyDataRemainsConsistent() - { - assertEquals(generateData(), generateData()); - } - - @Test - void shouldLoadOldVersionAndMigrate(@TempDir final File tempDirA, @TempDir final File tempDirB) throws IOException - { - assertNotEquals(tempDirA, tempDirB); - - final File parentDir = new File("src/test/resources/v1_45_x"); - final File oldFile = new File(parentDir, RecordingLog.RECORDING_LOG_FILE_NAME); - final File tempOldFile = new File(tempDirA, RecordingLog.RECORDING_LOG_FILE_NAME); - - Files.copy(oldFile.toPath(), tempOldFile.toPath()); - - final RecordingLog recordingLogMigrated = new RecordingLog(tempDirA, false); - final RecordingLog recordingLogNew = new RecordingLog(tempDirB, true); - appendToRecordingLog(recordingLogNew, generateData()); assertEquals(recordingLogMigrated.entries(), recordingLogNew.entries()); } @@ -213,8 +204,8 @@ private int recordingType(final Random r) switch (type) { case 0: return ENTRY_TYPE_TERM; - case 1: return RecordingLog.ENTRY_TYPE_SNAPSHOT; - case 2: return RecordingLog.ENTRY_TYPE_STANDBY_SNAPSHOT; + case 1: return ENTRY_TYPE_SNAPSHOT; + case 2: return ENTRY_TYPE_STANDBY_SNAPSHOT; } throw new IllegalStateException(); @@ -222,7 +213,7 @@ private int recordingType(final Random r) private String endpoint(final Random r, final int type, final byte[] bs) { - if (RecordingLog.ENTRY_TYPE_STANDBY_SNAPSHOT == type) + if (ENTRY_TYPE_STANDBY_SNAPSHOT == type) { final int length = 50 + r.nextInt(50); for (int i = 0; i < length; i++) diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/UnversionedRecordingLog.java b/aeron-cluster/src/test/java/io/aeron/cluster/UnversionedRecordingLog.java similarity index 100% rename from aeron-cluster/src/main/java/io/aeron/cluster/UnversionedRecordingLog.java rename to aeron-cluster/src/test/java/io/aeron/cluster/UnversionedRecordingLog.java diff --git a/aeron-system-tests/src/test/java/io/aeron/cluster/ClusterToolTest.java b/aeron-system-tests/src/test/java/io/aeron/cluster/ClusterToolTest.java index 7c333b2bc3..16eef9f91c 100644 --- a/aeron-system-tests/src/test/java/io/aeron/cluster/ClusterToolTest.java +++ b/aeron-system-tests/src/test/java/io/aeron/cluster/ClusterToolTest.java @@ -22,6 +22,8 @@ import io.aeron.test.SystemTestWatcher; import io.aeron.test.cluster.TestCluster; import io.aeron.test.cluster.TestNode; +import org.agrona.MutableDirectBuffer; +import org.agrona.concurrent.UnsafeBuffer; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.RegisterExtension; @@ -38,6 +40,7 @@ import java.util.regex.Pattern; import static io.aeron.test.cluster.TestCluster.aCluster; +import static java.nio.ByteOrder.LITTLE_ENDIAN; import static java.nio.charset.StandardCharsets.US_ASCII; import static java.nio.file.StandardOpenOption.CREATE_NEW; import static java.nio.file.StandardOpenOption.WRITE; @@ -220,7 +223,12 @@ void sortRecordingLogIsANoOpIfRecordLogIsEmpty(final @TempDir Path emptyClusterD final boolean result = ClusterTool.sortRecordingLog(clusterDir); assertFalse(result); - assertArrayEquals(new byte[0], Files.readAllBytes(logFile)); + + final MutableDirectBuffer header = new UnsafeBuffer(new byte[RecordingLog.HEADER_SIZE]); + header.putLong(0, RecordingLog.MAGIC_NUMBER, LITTLE_ENDIAN); + header.putInt(8, RecordingLog.SEMANTIC_VERSION, LITTLE_ENDIAN); + + assertArrayEquals(header.byteArray(), Files.readAllBytes(logFile)); } @Test From 7c3504b758001d180e4922a03c86cce44604b744 Mon Sep 17 00:00:00 2001 From: Michael Barker Date: Tue, 3 Sep 2024 11:40:23 +1200 Subject: [PATCH 4/6] [Java] Make constants package private. --- .../src/main/java/io/aeron/cluster/RecordingLog.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java index 03258c2f8d..5827f10641 100644 --- a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java +++ b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java @@ -121,12 +121,12 @@ */ public final class RecordingLog implements AutoCloseable { - public static final long MAGIC_NUMBER = 0xFFA3F010_00000000L; - public static final int HEADER_SIZE = 64; - public static final int MAJOR_VERSION = 0; - public static final int MINOR_VERSION = 1; - public static final int PATCH_VERSION = 0; - public static final int SEMANTIC_VERSION = SemanticVersion.compose(MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION); + static final long MAGIC_NUMBER = 0xFFA3F010_00000000L; + static final int HEADER_SIZE = 64; + static final int MAJOR_VERSION = 0; + static final int MINOR_VERSION = 1; + static final int PATCH_VERSION = 0; + static final int SEMANTIC_VERSION = SemanticVersion.compose(MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION); private static final int MAGIC_NUMBER_OFFSET = 0; private static final int VERSION_OFFSET = MAGIC_NUMBER_OFFSET + SIZE_OF_LONG; From 93ad0d0da69d216ccb5306497b62dba3fc4f74aa Mon Sep 17 00:00:00 2001 From: Michael Barker Date: Mon, 9 Sep 2024 13:26:40 +1200 Subject: [PATCH 5/6] [Java] Clean up error reporting and formatting. --- .../java/io/aeron/cluster/RecordingLog.java | 17 ++++++++++------- .../cluster/RecordingLogVersioningTest.java | 1 - 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java index 5827f10641..cee303b331 100644 --- a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java +++ b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java @@ -19,6 +19,7 @@ import io.aeron.archive.client.AeronArchive; import io.aeron.archive.status.RecordingPos; import io.aeron.cluster.client.ClusterException; +import io.aeron.exceptions.AeronException; import org.agrona.CloseHelper; import org.agrona.DirectBuffer; import org.agrona.LangUtil; @@ -37,6 +38,7 @@ import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.util.ArrayList; import java.util.Comparator; @@ -49,6 +51,7 @@ import static io.aeron.Aeron.NULL_VALUE; import static io.aeron.archive.client.AeronArchive.NULL_POSITION; +import static io.aeron.exceptions.AeronException.Category.FATAL; import static java.lang.Math.max; import static java.nio.ByteOrder.LITTLE_ENDIAN; import static java.nio.file.StandardCopyOption.ATOMIC_MOVE; @@ -805,7 +808,7 @@ public RecordingLog(final File parentDir, final boolean createNew) { if (isMagicNumberInvalid(fileChannel)) { - throw new IllegalStateException("Failed to migrate correctly"); + throw new ClusterException("Failed to migrate the recording log, the header is corrupted", FATAL); } reload(); @@ -813,7 +816,7 @@ public RecordingLog(final File parentDir, final boolean createNew) } catch (final IOException ex) { - throw new ClusterException(ex); + throw new ClusterException("Failed to migrate the recording log, I/O error occurred", ex, FATAL); } } @@ -1865,7 +1868,7 @@ private void writeHeader(final FileChannel fileChannel) throws IOException if (HEADER_SIZE != fileChannel.write(headerBuffer)) { - throw new IOException("Failed to write full header"); + throw new ClusterException("Failed to write full header recording log header", FATAL); } } @@ -1877,7 +1880,8 @@ private void checkForVersionAndMigrate(final File logFile) throws IOException Files.copy(logFile.toPath(), oldMigratedFile.toPath(), COPY_ATTRIBUTES, REPLACE_EXISTING); final File newFile = new File(logFile.getParentFile(), RECORDING_LOG_NEW_FILE_NAME); - Files.deleteIfExists(newFile.toPath()); + final Path newPath = newFile.toPath(); + Files.deleteIfExists(newPath); final MutableDirectBuffer header = new UnsafeBuffer(new byte[HEADER_SIZE]); applyHeader(header); @@ -1888,9 +1892,8 @@ private void checkForVersionAndMigrate(final File logFile) throws IOException Files.copy(oldMigratedFile.toPath(), outputStream); } - Files.move( - newFile.toPath(), new File(logFile.getParentFile(), RECORDING_LOG_FILE_NAME).toPath(), - ATOMIC_MOVE, REPLACE_EXISTING); + final Path destinationPath = new File(logFile.getParentFile(), RECORDING_LOG_FILE_NAME).toPath(); + Files.move(newPath, destinationPath, ATOMIC_MOVE, REPLACE_EXISTING); } } diff --git a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java index a208befd7a..5077ed44bb 100644 --- a/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java +++ b/aeron-cluster/src/test/java/io/aeron/cluster/RecordingLogVersioningTest.java @@ -74,7 +74,6 @@ private static class TestEntry final int serviceId, final String endpoint) { - this.entryType = entryType; this.recordingId = recordingId; this.leadershipTermId = leadershipTermId; From 92f8fdc2929cec2284a81515c375466e58405842 Mon Sep 17 00:00:00 2001 From: Michael Barker Date: Mon, 9 Sep 2024 14:05:01 +1200 Subject: [PATCH 6/6] [Java] Checkstyle. --- aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java | 1 - 1 file changed, 1 deletion(-) diff --git a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java index cee303b331..937ef48ab1 100644 --- a/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java +++ b/aeron-cluster/src/main/java/io/aeron/cluster/RecordingLog.java @@ -19,7 +19,6 @@ import io.aeron.archive.client.AeronArchive; import io.aeron.archive.status.RecordingPos; import io.aeron.cluster.client.ClusterException; -import io.aeron.exceptions.AeronException; import org.agrona.CloseHelper; import org.agrona.DirectBuffer; import org.agrona.LangUtil;