From ff8000ed5ba60673083557400fe1d46b6f85c876 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Wed, 20 Feb 2013 02:39:06 +0900 Subject: [PATCH 01/48] Embed libstdc++ for linux 64-bit binary --- Makefile.common | 4 ++-- .../snappy/native/Linux/amd64/libsnappyjava.so | Bin 44616 -> 0 bytes 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100755 src/main/resources/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so diff --git a/Makefile.common b/Makefile.common index 4752247..06e3194 100755 --- a/Makefile.common +++ b/Makefile.common @@ -68,8 +68,8 @@ Linux-i386_SNAPPY_FLAGS:= Linux-amd64_CXX := $(CROSS_PREFIX)g++ Linux-amd64_STRIP := $(CROSS_PREFIX)strip Linux-amd64_CXXFLAGS := -include lib/inc_linux/jni_md.h -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden -m64 -Linux-amd64_LINKFLAGS := -shared -static-libgcc #-static-libstdc++ -Linux-amd64_LIBNAME := libsnappyjava.so +Linux-amd64_LINKFLAGS := -shared -static-libgcc -static-libstdc++ +Linux-amd64_LIBNAME := libsnappyjava.so Linux-amd64_SNAPPY_FLAGS := # '-include lib/inc_linux/jni_md.h' is used to force the use of our version, diff --git a/src/main/resources/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so deleted file mode 100755 index 62f164c59fd9d130a5f566479b54490597d2929d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44616 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 Date: Thu, 28 Mar 2013 17:47:26 +0900 Subject: [PATCH 02/48] new version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4e962fa..6a1ea63 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.xerial.snappy snappy-java - 1.1.0-M3 + 1.1.0-M4-SNAPSHOT Snappy for Java snappy-java: A fast compression/decompression library bundle From 8ff03ba7821ab298c44cfc8189179d32fded174a Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Fri, 29 Mar 2013 10:37:33 +0900 Subject: [PATCH 03/48] Fix native library version --- src/main/java/org/xerial/snappy/SnappyNative.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/xerial/snappy/SnappyNative.cpp b/src/main/java/org/xerial/snappy/SnappyNative.cpp index 386b039..af7be0e 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.cpp +++ b/src/main/java/org/xerial/snappy/SnappyNative.cpp @@ -33,7 +33,7 @@ void throw_exception(JNIEnv *env, jobject self, int errorCode) JNIEXPORT jstring JNICALL Java_org_xerial_snappy_SnappyNative_nativeLibraryVersion (JNIEnv * env, jobject self) { - return env->NewStringUTF("1.0.4"); + return env->NewStringUTF("1.1.0"); } JNIEXPORT jlong JNICALL Java_org_xerial_snappy_SnappyNative_rawCompress__JJJ From 34ba11cc9aba0646126108474ab2a880b3933ca0 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Wed, 10 Apr 2013 10:33:28 +0900 Subject: [PATCH 04/48] Fix Makefile dependencies when generating SnappyNative.h --- Makefile | 6 ++++-- .../native/Mac/x86_64/libsnappyjava.jnilib | Bin 48156 -> 48156 bytes 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index c4ba514..11173c0 100644 --- a/Makefile +++ b/Makefile @@ -26,9 +26,11 @@ $(SNAPPY_UNPACKED): $(SNAPPY_ARCHIVE) jni-header: $(SRC)/org/xerial/snappy/SnappyNative.h - -$(SRC)/org/xerial/snappy/SnappyNative.h: $(SRC)/org/xerial/snappy/SnappyNative.java +$(TARGET)/classes/org/xerial/snappy/SnappyNative.class : $(SRC)/org/xerial/snappy/SnappyNative.java @mkdir -p $(TARGET)/classes + $(JAVAC) -source 1.6 -target 1.6 -d $(TARGET)/classes -sourcepath $(SRC) $< + +$(SRC)/org/xerial/snappy/SnappyNative.h: $(TARGET)/classes/org/xerial/snappy/SnappyNative.class $(JAVAH) -classpath $(TARGET)/classes -o $@ org.xerial.snappy.SnappyNative bytecode: src/main/resources/org/xerial/snappy/SnappyNativeLoader.bytecode diff --git a/src/main/resources/org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib b/src/main/resources/org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib index 75f3e69c2a2993edfb26364edfa75d946fdd9052..392e03b036c2d524c3d42248fcb1ae9c03fc01bf 100755 GIT binary patch delta 40 ycmV+@0N4MV_yU~x04 From 04ccfaf7b621d85159a63aeb9604ae682b81eef0 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Wed, 10 Apr 2013 10:36:23 +0900 Subject: [PATCH 05/48] Fixes #22. Add OpenBSD native libraries --- .../native/OpenBSD/amd64/libsnappyjava.so | Bin 0 -> 147576 bytes .../native/OpenBSD/i386/libsnappyjava.so | Bin 0 -> 135992 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 src/main/resources/org/xerial/snappy/native/OpenBSD/amd64/libsnappyjava.so create mode 100755 src/main/resources/org/xerial/snappy/native/OpenBSD/i386/libsnappyjava.so diff --git a/src/main/resources/org/xerial/snappy/native/OpenBSD/amd64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/OpenBSD/amd64/libsnappyjava.so new file mode 100755 index 0000000000000000000000000000000000000000..e6e542b6c5a36597efce2272652f99340f434883 GIT binary patch literal 147576 zcmd4433yaR);HcE0V0CksA$|9jhcu$32UM-b|8Va1R{a7Ne6-(kxqnb zrnSd$9GvBy%ToOtQ_X!q}{zRxa7zBQLm|KIy}IGS|;X%o^D zNav&K5Ypdq|1t8Xk*>l0(@0O^{x`@gkbaD$t}yN=F!4C@yFkB+)QfZ*5?ya2&q11x z^bFE5NLL_@Mxu+{JDczSfc$o(|3dl!Qa92^DBp?Hg!_HSKSbVu^bQhTZz2yMkr#Q9 z|B^uDFCgnjx)Jviksd{&;q^YStB`+$v=HfP(3QxCA^j6+E>bblbx1!)>Owjn=}Dvm z;3d1gg)|lEWzeT0zaRM@k#9#jjC0;ckr$Su+0BsAFf`_h4ke`FJ8R-$mUPK;3Iv3?jkiUjRL&1;qFw)Jymm&WIiLN!sYmh#} z{Zq*Q#WQKaRd=P-5;ayQa+r16XuAzui- zKOx_WydH@z2k0}Ap2GcJq!QdOKuSY;7m2R5oIi*BbYYus5I+;sY90KxoptWkS;`;Z7I{q zJdL;(_b!bt#QpUey-d5O+v_Z}m8<~Jh*WJUSP6QDhF!$>D>RI5Gm)B*))MhOmzkjK z_5_%M7O5M~f6Do43!aE<1NdKD(26{ObRN@sb}I-kQUg*g7yOuWUdGt|$~0x`kS^C~ zy1kp}n>c?2`CO#Skbc3K${toXmV7zr|352lrnvUc@stWUlWx|W$2AioyrM%+(Ez7hGQNOWC=bS|(Xg0k82IllvW z4N@t})O9uAUx>T};04HMA|Ju{S)A`u4%WXCVC+ zX%x~XV5^a5AuYx|UGs3?fqX0Se<5FioUVN2&&yl!?{nIH8_HZrOBkEZ`Cozkf$v*! zuV0^Q#5Uaj8s%>=&kwllC&>Q|>;ucQ+N06iR9lM8J0wa*Z&GbTY@XwyWb`K0mTKEb zMzUO~*dg^>CmQgi+J@T7twB%V!)y);aF#38Hr(b+h^I&QzxpGowqtA^FAr{Ls%-@J zv7>cXai3~C7W=qF_(<$u$0pz(WpgIPkF&LZk%-@JYrpvH1achMcP7F|+q@GJ;m6z5 zK3Er)YC9nbexl8pKVD}Q_o=oqHdjLYB%3E8ezMKFk0wE>I9Et?rQ*aP(UodDH4zLs zrzOEpPlBJ31V1wgepV9PIS7CJMA`?W+j7p7{xh37h8=^w7Vu!N1k{}Htm3C&j7#;} z%g0K7*8$0&Dl^-4Ls`x~37o+AHRm(`52PFy<2N(z<;g@@_8YFZXSC!$hxuu3PkOd< zu%65KUoZg@-a#8DT;IsdHew87EXGA%xAgyX=6{a)y&RCiCNIW46sYLpY$>-ZXTOA% z-A=-TWX~W^=qh~Ng^EZYC)+{c=P`f#@lr6Y$>=hb916C$P7?phSWj|7J0+k-@e9oF zq{$4|NLg&VmG$iVvBXt-?_oQ4(S`??vh%yD-ZLaVmgR(pOa1$3(!!XLa z!ty<|IKV~g4Z5yjyqOj)xNZ^u;!H{DGgjhi-t0rUgL(AqJJzR<7Bjf)THy#;%x}VPsorL;H;eHRxS{@P&XM{%8Q+WkBssx1B=8X9PD}?5 zw9*>qcR^3`AA{Q~rD2WD`g>?WhpUR^{D#MoGazv_jtUVU67|b{s$arVz)xAuu_sIY z9V}nj=K{t($4L1g#pPz)IZWcpPo^>+9*}?TE$$yaX>y@0562FG=)6u`g z@8Ct1lkrTpb35Bvjl1#8@3rtRW%;2~;`P5>;YXxkm_=M0*q)yEB>e^B9=4l}?FKe+ zord{{`rX6xk(2QUS$+-&W+mToe&X@_L$r(hs{G@zLIOx})wA7tEOD|uo$X_Z+Y9kj zqJEzRJ)Kfy+`oTdJTcHCrEJ>DZjGB z?NeF4m+b&Haa|3&(Rd8KE+bDi<4)w1tXC}_q<##2AnS!#ab3;wo5xB0-(>uktbdnf zT@g_2WE`fQmB~|Jlg=A(mgj z{GH5S&g;)y#$RXtj>8g2W4w#))s@VKlDuWM-R*^#<{`^E|HXA7=es9N+TAQ#hkxynUDy zpvLK#Q)U0=upcV?JjPv?aqVKfeW;XE!}8xpyJ&oQ_l^|^+(}&P;Ln8jy%&#{DmiRt zrGF*k-c#fCe3c&<)gdBmBn%#eUeuDjwK*P|Ar-gyv%H8q2FnIx%eQ<$+%+# z_Y3=p(q|>h_pqNU{wa_{`n2s{eOV+dX8~~<#%yBLG#6RDz?64pJvN= z9LIPL@9*5qe>v+@&T&uGTfqDtI!wd`w-nbLwtu;0-BJUb+SNQU-fkYH4AFd~v;X5!;gwQ_&oG!EnSMnlAZoX83-VAGD0q zKfq6Der)Icj+*!X%KSYXKh=D91>^~R_DaD+xMD}T^eYGZmGYU*ET@^{hU%|Z8TX_} zJ=OZ;8*W$6)Oh_*Vmov^A@N(eUGK9T2ak6p=SBAaE*@WY=6@0$I@%UHhk@GSIvev0 zwM)Eo1k%cQn;0)6Y%Y$^qZvQQ^@K%Np)z1Fe=aP1-VL8PtKZnPun!jop?{P?eH}jv& ze&uC3m?p&aHTp&MHA5o%JJ;*6@V^F}?9jt;OzFQ`*@x>@e)vm;^FF$hEBS=wxOhA| z8UI|xy#o?Z=S5vCrF%C{CP3_T#QrRSE~Lh zV*VVCpQ_)dV1N*R@H45P>X*69-^crIu!$=Gd@ROMd;SbTJ0)xzeu0!z&g&m#w@l#V z=Ruwa)x5ue>uo(wSLZ3u_cnQ}V;`O!~U%%pd9bB)n z+Xim0i~AAoB(5(Q_Z}lVM6J_O&y@YxXIbBl1x|XpSWhMY3g|=rUvBaLMXYCs#Xdh` zKP=zM^|C))!u2+Dy{aGohIUcC?{GZF@>N{dGJo)}q}9A;Fz#hJO3z!N5BWom#m~or zf$;W-l%x3TK??tQTjFQQ%(jH(cX7R{zkbB=Hu#!k3^V^`C`Nt~dT*>ivKYUE<+#`n zf5-TPjN5o0QN#E{j0cZMK-p)Du+J!)({k>VkA{%l&f$Gx)NY6miTrBG2&t#TvW|UD z)oYU-Q~ud-|jRkm92CS|UArncv0y zmCXMj`(eAq53`j%Y&X@v3vv?6FGZzfHz)fWhNrkDvz*X?q;b3;uFDyBaA2Fw_+*Ut zMEXAoJxP9$$B|lRUdM8p+0MtXoY_#A{IG-l)5*9!iT<~vQsVEj#Jzv9eR?eGy$@KQ zF4jlsd^a|pB&Yl_+3yeYIPDkwqimkA^k)_Kp5l6Q4oC&nJoPYeYVWITPqm)$aeH$t zacR^z>4#okcPaUM5qQNovYc~1&2oY~pQ`cr7VD#4sw@Bhius-FhpN4qsF&L7og^Dd z{zq4;lkG4$9)A>NVx9B8w1b*|zkr@3r+Gg;jrZ^}vpJn|Ty*jIRT<+0%r8Dh1g8A+ zaa2cgdUi@iSqr`aWBUX-{ww=TW%=dohsuBEGTvkH|7*Cto++pZmujz<`OEp->>N>w z_vOs*a7lhO|K^S-KmTmN!{601yRC)g`%;i~|KgiRZkLV6g^Te~!=(LP7fU_mssP_7 zvdV`rERI`->~F^8;GkA{DeDs94UY3fSwdrotF6al~dv& z%QcJnetZS< zhcZ)yghyD8$#{oT;wu>cCF366=c@kgM7x~Kqh}YxA4pFx@B7p|zK8uS$ot#{{LtT7 zejoRviW@EL4;`ONMzxN;m-{Qo{e{QHby&%_oO9B8{P+alKfJ{CiVsJ@^Jgi>Hu7xg zC(XQnpT+pkl|G+Iz{z;Vh1@UGQv{;gOXeki%i(xCh57wFPTP6BsB!%RmgAikFJ~rj zinm>sdEr{-@38pcB=#%Uo3g?kT(1xOq>qiqk(2RhYP<(zy=vTbqP zA}*1?xq=eUWc&fYr|TGhmF0(c9hk>>591Ej ze`?1;5k0$dse=G$zv;1E6+Z^^=HI9C% z__@E1W&ZV$PwN(&<(%YM;AEd>%X#%9=Sf_A$Oaismh*Qwz-ai-4)!1A53dXPIHzTQ z&SL)KF=3JX9GVbumGH#yJnI?!MB)!fGuci}(vLrd9O1V-?_|iwY&Svy(Z9T&RQ@xT z?cc-iC7sNlk}LV09kN1x4Q9JweByZ@7DIbK8?b(lbT0GnxO4_fmf1>SpAojRd0yaV z*?!LROILwJZsw<+7$Ws)eq93WUbb19u$B00&D@}r=VX*zPDEbcwAf$K)&$*d@27U#-HGNJ9yo4 z7vnE7?qa{aobfw39){TdZpNG0K0#jB)ib_F_#x&O%Q!v4^4rgm`l$Fe0s+>+&+6Gk z*p2jWA0My(Fl_Y5&gE=p_3VX^Lw0EAb*!@IXvRA%>)SWaBRL~%t9ies;&}(g3(0r# zd5iL&lSREFY@2xhrTn>=<-1a(o@lo*C}t~{`In*oxDC&>nInu%VTMmKUKEZ(JjUBGRt-<*K13aim3j|XWV!MVGo}0)jBnxj#kF1H z$1vUoJBYaS@mPVV`D<2f9EPL{CkYVH^H#{eAGZGYf??BjK*ivJg}94GsO8jn>hr;Gbn;WN%p z>?hkW-i4p@cvSoGKf<3A`T1|*c*O6TA?@?uGP8Zia{4U$g*MiwuTM7A$?bg&xv;6}2_DRN2aEmeu%dMAz8LW-l+hs%lY9gRiQ7Mr}nyLsbLV7d17N zd8_Ih>gWmI%ChA-wxv}|E4?diW!EmO^(<$J-p2Z>vgI}PzQ&4Ll+3+)PHqm>)l{*d zW_j*-+&9#eRg%;)-%4*4>aDIT8qAnG1rH78np4^^xx(wMTDGvrb9v=b)Jf{q`^J+l zOY4?bQQlC6mR!560>$%|t*BYH5UpuwT#80sOV8I=HK4^sODiRvJHD)>thTCRN!j9x z`h`Vk$F&P9(45&7%PY$2>KBzYRn^y2)Rr|YL&Yo0N<}uO!dJ7rs%)9aifb0sSJbb( z8pf%qTXs|rF0E*qQMc3!RT`=m7FR7>&7M8`s2*xuR%xk=o;|8Z zQQy4i(??%poSMZqktJ&@mMto~V!=&SmAUp`{tQUpt16$OY=Uv5t0vZ^L8yt!(j z3VroezQy%*E22?nR+Z1~0r%Xi!9QU^#lo_xrphX>kAj4XOyHqVTeqy#S5c3!C8Ba= zMQv?aOunsRL0z;Ap|7m6!dJPN1?Our#l!JBlu8{$$)YM>*`nII1r@aoWz`i86eQ;i z(yTC-LLkRYXg9a22^!W;uV_I0jA<7&ht6A!G2U3QsHzlpsj051EUfTV@IwpG$YoK* zDsyOL9NuaCM}~a zq^`|_hgUQ%TI`EetGbv>7&UmA*H<4ER9ID8<*O=+b+Fas&~@1gOi4nWeDVg-I$L#p z6=p4YUskrPY6a$@WeaPoAX<2i#wz+NM$4|EKGd-BVg@5Ds%N3Z$P6)%On15dPNtkGLg}LWo!YRw@*bT{^6NxY8&M~&!2~-m8FjWxWrTJQy zD$~${A&!gI6|ovLHqi@Y;#jxQvk;mPq2H!h1kE_A$HtLS@pW41p^;oJ#x-ABnUlsP(G*sHK` zJ34+69j`}Hiwf2_`+X0qvi#CUUsV%2mn=(Nr<*kCV3>HVP3XcpTIeq<^ENK1t*I<)sIM%l^<2K(bNQUovP28-((%|Y3?6WU7xF67 zlnxr4gL#EZ#w(2Iy?p7Q-2nx4Xx!+n#GHj?e-b6pfUD+|=9ZCZBySm(*NwG4>7b>) zJc_v_gW7_yltVOGv}Pd>C!kR#1?d(|U>oHo?)VlbZi#5JE^vHeJ{8#GtdpQ}5(UeM z?bWk7xN!XeTW_VxVkztchZ(hiB<3C91~K0i`)*(%3nPjeRtxPysC7Qxa4z zY^FCt87B^tbCP9@Sk#VFD^X3b*&sJh(m_1S{%{s*G-bt*hckd;%rdbED!^U+JSQaaXCqVL3ZV?2Ch}oj?^; zb)3H@={;JGBd9D~iA6BtZEfOkOO0q~Tu`0YsF-ogw`xt#^<6` zJ_QGxbS8@0sZ~-7baa&$b6KfcC)cW8&7CY3wKz1!uC&fqR#z=-p&URwmjjb5tZ9HRR269s z17{nL1L1fimpFu}kxii^)QWo8QYr#yBI~JKOm%>?1u=*!>3A747@aUz$>U|ra1Aw0 zQ8!m>iPDDLDWV0{HTAJ3kPe~=$P<-AAEf{W3@9-i##@HNqgd_|=T+=6>67>y_1_ zT^Fr@`bNA15bM3thI|?*jXoSSK~hYN8gWWC^}t{s)9RHE{09Sz>r$hL+n=PTWko0? zb!)V-Pt6hC8|6r#rq&3_tO2>>VwI|msqnA@fB4$g+qQ0G=jdIQ0u~%DC z5$=MCIG2jW4cT{sfmPD$h=-17H?Tj&SGAa`jLzm93S%+WGK~M%^8js4)Fh0p3M=@Z`arC0lPb|N zX+%uZnCdxp)-A%aU7T$5*nu??#Ud5xEwh4ZpLCfCun{?wzN`_eD9F}BXo5P#DCM4y zc8$KSl>>$58Ce6p9WTQ>k(l=?2cu;|bTBE`oPm&&Xc;8bL*=ot@t+SgtUGf>4^g`Y z&zh{4n$Kf>lJ9M7SX{QCqH>8^IS<|uKxr0EdmoC%amvQ8iA3;%<6sLC4Xoe41&K~Z z5De=deF%mYlgs4dkHRC3bFpqKQtLIcMS_(p>QSyVNpzCzp!l`tQ7%2F@UY+j5S>eT zP?Dk9_R)EqJuJaeNaMzuRNq&Kw$;`xi*62BsPM>q+QQ*wkXR+gbq)4IB-1i-RkTCN zBpkA1GiqJV)HTvBrK}#WO{-+Di1|l_D}7a~dhe(v9c~iTBB`huD{QHp9J~pK4g5== z-{F9||Dh3+d7aLS=D`k(Ju7#U)mLdadMe?oVnaX!@cVuBKOUH9CyoGQ8Q<`78@r7qFhw2CGUzo|q7{*4$i^zc$}~2g(y~%pzJpY2xY+b~ zw5JgI5d^D_&9T_z-b62lga?RK#l(gc72cw&l$#>L4BqgvaiU8(DN%cC96SG{Hz@Jn zH1PQVonc!_Sd0bzURivgkF%@TYi#+tLY$FDK@uIuL=URBepppB@TUk-Y)RG1vW4PZ zeH#(7J9buIQPVy0zFN-cB8%MoNP z5*D*Oh$qC^|D?ucSZ&7y5>5slug4C6`b=L_N8fkU)Z$A#jw&d%$d8`54K86b(?=`T zTEvNYu83E%5!|o|^^MDXHB0f5UA#D#CmI;yILwrbkGOKFl#m6_Urrxrl~vR)!WVkW z=-r%Xx3y*n!x^j;7H?vfMn*{_4KPj)<%7|WE>v&Dbx8EoeXzB-nbywW-70j$TMAi) zwLO}4;}_N~t-wbx!bXV=$1mi_@;bA{i}a%Ch8dq@SX@PQF-~Z6<2xue@`SD93#kW0 z-|NoG>c-oP9fe*|<<`blmr0Bj--tn7#SIb8ZEXol)E!S}*KyLG6pFK-0xe?zFik_M z>vXenw+TrWJ3x4JO|6Xt`2AB48<4e{S`gejqgTfVbQ%>LlbmHyzIDYW6BP;iyCkuo(;A#-qys1Exm3a zBMH|`;2-z`C4oI?Gb^20?_6#{oQtq7=%5LzTFY?a4yMthTQ4@25-Fe?agbjqOKM{$ z-jeYHQ!9fKgZln|P()6sb4wFxDfavcM8-U0P;I=-7WVxfk#VMqJ%cB5b(fAWiF2U% zB8x@jnVsrny;~C4R&&L;u8*(5>RYi=5t`x^;94wk#qvl3wc@3yaX?WwzJ%ou@|;)= zWXZUw94!)GzAda;ip@oB6&5xPGi}x0Mqj0^dPP0npz%^ie)pz-)JX3N1t<11*tKBG zTGp_%0=rlBSt9Kx=(B%ph3Gs`>@V;MO7sgTd^9>^W`R!9hnoC()J%E}v8=MTuAyex zqM7{pQe0`-%tH8M>;qJ{$BjP`fG*Yb6C{G-PI7 zePz``Sqv%l{D%!Jj{f{Wgiva2g0ev<04&J9M@Yib1Wyf;EdCS%uMBZK_k9{kj=@ih z2W<=0>(Qz*@8X3xP!xyUWHs>x@glqz)9-Q2X)CLutqC|6;BPWyA^zqhi~s&g{k@i= z4GZpiZ>;zW6^{k?J}UokWxfUXFkWuKd;TK%7hCWy#@AZ#a;`UM!FyQ#Itw0RyxoGg zv;6fIyo2!$3m#&8hXoI^K3x_(hwJUO;7-QF7CgxE(^;Ofe>2k#3*OFhGAwwIal?YE z{||%5f-C(OTkt;q|2B9nxYB2>1$VqMT6E+(3qF?dF#r9eYS*f_B!7Pr+__Ksm*PLN zTk_{5!Ce+S^=-*N--3@~d~p)I$$}rx{6PzT7US&}JmXziZ-)g}a&}noaV)3Xf|s+L zum#U!ep_$6eP%N5u;A-hj?;pdGJl>0uVCD;;9V?dz6Gyi{$>k)2jgok_??Wev*0a^ zw_9+>J8Vx2zJ~cXTJXCW-(kUD>ymQ1EO;C9_gL^It~YGK6@R}453n5DC-MCfWZYrF zf691<1%H6?EDOGl@f-{OOU7Lm{MU>d7QCJD`4;^5jF(&RhZy%-@V_$NWWg(VoUXOt zk28PJf??k@IvO#vEbdzpJ&1U%(!8}cQfv>;O{bCZoy5icd-TE!~9Ja zd@tk87W_lTgBCo@_&N*z5##GEcrW7}7JNVBAq)N)<2x+)myCB?@UI!~vEV6ehdv8_ zi23_1xbpw>{qg>AnE4$R+{W^q7Ce>lEDJu2@jMGYl5v*>w=?ds;90ECd<(AHyV!z1 z$#T3F{CLKjE%=FyueIPOGrrD(pT>B*1wWJV4hue(@r@QdlkpuEeCKN%|1J2r%->_d z&u2Vr!7pIE--2Jnxa~lEzhBC@!-D59o?*c!FrH<>r!byl!7pLlWx=O0Zdh=o&wLB+ zV*YXqK7(JrA&Ex6)$S@7R5zb6S^Zo!u^zt@5{Fy3sz zA7VUc!Ea@}-Ga9=-jM_kS@34&?@EIASnwY+e_s;Z_F23=?_+*P65MIQf6e?kNpP11 ze}efvN$_$D{wL=5TJVjGw_ETR8ShAfhb(v}^LHh|dn|Z2^Y6^A+ZIB*B|4 z_&(+jCc)b+_TXp`de`2=S~YgjQ1}&7F_j<%Yq+f`JNe~JpZITpO{q7+fzPx<$% z@bg}_ok-se$m=aB>3w|@UN2KV_f7R`2Wx%>GCHf!RIBx8mgD722ptuye|o^et(?w(dBsg_rI*T`u|#4@gDx&Lo06M-(R!h>i5&F zxGM?2`n^0Wzxw|gT5d5oo~adA|357&u73B~iudvFWLa_bJKa`X{f?m(SN}f) zE3SUW--@r(;xP4>y43kA@zYOCD}M-T{jTHcck!(J4*q>iD_))_=P8Q+Bu8ECn*0|P zh`d9?f3M*?lHftDT{?f4#=l;xcZa5rj(2PP=V|;s8a_h9`!)Oo4Yz6j|4&VSXA-Rfr(vs>CP5-dQe}~53r{VW$c)x}}rr|bi{d2#DmnXqPN$_+H@7LrkPJ-`9f;%*v zmmWfzHwoUA1nKjvuoUo_m% z@Ske9N5iu;e7=U)YIw7T^G}5ft=4MzA2t4&m9_`rQy$MatsZ>Si=`<_%ID$tKpAm zc$elsIv&*cZ`AnLYWzCBPU8<~{OuZEs^MK4-mc-@8ooutdo=u4ntl2;{E&ucXzPS$ zG&xxso~hwE8veB=r#T7UlLXJw)(^Uze$CHy+|c9{YV~Gm{5tN@_@CGKcWC@NK40Vi zP~$Jx@Pis2N`gDJb-vE;(%P%zO`4obH2Lc_JV&#?NAoKk@6h-cXmVUydv$!H#$T%O zcWd|sTD|F7yKdI-b(%gp?$G$NHGY@Iuj3gS|9p)l z`OA~wi?#mJ`5l`6I=)z|ceSRcSF?W{uJK=~>EEo$*YPHe->36yc&CQ%Cnx0o_atsY$qTwD5uha1P z8t&8Zat&Xp;fpo=b`5XV@SkgVhlZ=){-@%QhCi_)o{0lH);4B4R6=*BXK8q!h8r5* zui^9_BzjGZ*>iRj#QQc4zed9y8a`jcGc^218t&BaYc)Je!*A5^91XA5@H`E_NyA+l zzD&an4X@X5kA^pD_QC zt>No5{I?q3uHg@B_<9Y0RKq(o{BIh*QNy3m@Q{W-rQtg?{8 zG%dd6X!tQ2o~Pk<4R>ic|1Ww)Ery1lr15(+{4@=puiKF`{2UGUYWO$} zZ_@C|8s4no>i^|M4Opw;`5J#v!|DH7sjhVzUZCOa8eXK~>oxpx4e!wKVh!J@;a6yQ zNWtmhhVRn&do=tl4G(MhI~v}n;qPmBzlMLL z;Wl2+(|R(j;prOwiH18g{8J6j(D3~lZumb*4}T2lhJQ=?W}9tb(zW;G+6K~!_UnKf?qCA?=@RsdMAIY{2?=@=(G!U75cJbTPb9is(2o;MTdqh@(2o#J zTdhd5pnpg76r#O?{sqx_M3)QtKBDu9_6YiJqUoqQ;u7>~qG^j3$r1D|L{BB!Dd>8l zrxEQC^i4$5E1if<&xj+~^eseRPqb6e^+ex5v_sH05lvg%h)vK7h%O_#?;Fwo zM3)oYBj~G$t{}Qg(6fnNKy*mZ(}}JmxDXm1vrPBISZUp6D8)J%S!V^i4#&1U-c4B}C^4`q15=Yl(IW`g5X}673N5KBAWq zZ4>lfqU(t6>lgh`w3p}}LGL8`W}>@5&oj&q3+9#@ZD(wP-x>aI2YeS8fuT==C=O(H z8~)yu-s9YDX_<8A#$-FtMNEyKTvu@Y3!4r9wEMtm^L=InM%{_Kr)gp}%pHb*Q;OlA z`l_w*tKz`Iu6`qM?UCMX)zv|&uaqWjqitvt)z}*HooWQmsKtFX$|1gOM!MnOoQ{&l z&uCV^?uE@%BLAD$HuRJUV^PJ2C?1dcue}SgeEU!vK&sn!60mn+LYr@-5tud&rQs&b z3ok^DhcT*yN>)tXn179z@^&_6l4Hj6u{FVTiM3|YG1GqP7WjFc7W#6$my0-fKyKC{m-Ycu-|^IO;{ z!)RNTZkVqd`Ct2nhVMa-87WI(yz4XZPi>|H2Fi%5FEI3vqCLYSxzILKbnc`YIG1D+VGO}L`)BGpwap#c%OaLoR zHv5QWNaz0H{vFM(wZ6=hwP~5XucCP1EZg!aln>Zf%rpDIL7Zt|1BamLwlFhA-P6;l z0EYD57iCY4XD5~+^h~4{a-&>B^IORh*MFhd3Yo>l(-Rm`C_n{z|j_@$xWda&sv|B)K{>_LY zE6*HlGXi6tIES)nC7_<8^ZW4MzDDN;Mpet=pUL8jsW^*@??WJA4wmP_KGGSPruec~M{X3%)(d^K0`q2F z4-SgvY>>qd$>K69-a*A%W${C@c#SM}QSnPu{1A${|H+;^?>L$I-M>9$?J&c?Eycet zrE$MfuwKe|f2>gOyVD_qX1nkLk`WZ4IRA6E`I&un1aNWSs(yF==l0dFfiT*RGunn5 z`JKL#d#{%Dxhq2gP0It^Scuxv3(UTv>>YThVXu+@`HE8u&5)>@9)SF9DFyyeijn_@ z?;|{H-;kDf$uM77F%{*8jNBcqA#+pXRKwi%{8^~>@ie1zzw_@7-1ZK6^&7KqR}W^1 zwCq>RZD^VQ&_Lt9zzS#Q5zz+)DSeQ&`8j&hb`c0r%21(Le`~qO4#^H`V#rmyukDUF<<%nFI_dRvu8-l3r3(0KG0Yq+gJIP zVIDBdx5A%)PD0bhQQNP(VRLKfj$-1>ePL~pt+O9f+SU|*XG&{m)q&O*?#T6jleX&e zKw97vRJe9{??(S2$Ev>>ZNm(6R*KO!6Cu9{k8DXdDmPtcq=avvq4DBrLf=0*MNf_g z^&B1jhSz;5eMuJoSQei^#m`akN)+=9QynbE)Dku@$#l8R!!*xy7n=(+dx}k8W?!*+ z8>SuqC-aTA6_{PFa2WZY*;{HbyfD`7{zq|R-*6Hl{0f-L{#2T$Gkk1ez>EGpGSt3? zip_sze^rpbe?`9kaGL$D&r!SEY)luCfTpZ0nzC|=+ZJZ#730oT+~&(Pira3>^q{Hp zMU*HB+?Ik!Z2$+>vO>@-?;+FQEuNTJyWR;PI&JM0cjz05FQ&hLVhOrxz30_-!> zGTSl=%(qkCDK__p&tx5nF~JBGsByoxx4s8KX1K(>J>4Bh8}2rX9HNbpli^tIzzt^< zn4jQrOr+tdeb!dE%^Rdeic{WK?EvP8yoCT`v|Sc!uV@OI3;o~V)|lH!&kU@M3e2L6 z#?b}aicU`v8*{kzgCrm@a+upJaYWpL81?5J^INS&?6y7@OSF-qH z5hJGUq2jZtxJVYSlf^q^afphiQ1N*vmhphR2abdFirf5-{HlkXDhw~mLZGE3l-qoL zBjr!i-?}Vs_y^q^DZ7n3zokif`5fHXFm9KZit*%b`*SA!F`Ci(sSo4l#M8`fv=kkE zAopPS3ew69$5ub&N*UxzPB>5&O^HVSyDNUnB3C>v1r(bf_CEc*tr?16^aV-S>NZ8x=%Ynek*(M~i24US8HWG1%ygUYV*7>+ z@l7BViV~;UU1&xyv+n9CI3_K#W%tVS3;bJ$7x)jK)A(%eZsyB9NKWkE;xN0fyP@Fv zf*T5M-24w%!`Az*VQ!9Ng6E8f=Trv^t|1Kz<`(6CFfaF0(rz&pqz|m3<+%?dC{UX@ z-@v#v42)opu^rAqx*PtGgT}Oj5T`)k`#o2YKVS$uiUYzwb3dg~oh~BHoD}8c5;M+w?IPG_dg+a>e?)*<0p3L3dd>ia$ZyAAMp1Zp^|3mxzn4^~WV~~)4a*EH#Gu}cbJEtNbQ%6I=E1GYpK{qZY&TN2LTLS;ggxAW ziRsE9_YR@i34I4s!QH~Mv8!zf`Bn?-MLwk3Qr^L%_SLk^6ptH$iKj##-wcl4=cRxE zdM11f1mu3&60)~kDjtC3NE?YUH&b8TO|u95ZPTYDO?4&tBlTwQ+cXQxMC;AL{%91V zmOQEt@fVNBd{DVwoY%4SkHj1<@2DK^f}{=yM>Aq03Vue@N_wH$W3&}#X1G&C$aEUn zJEXsTh%hAm4Z%Z98TJjMivu;v)keS{m8;Rn58RYeoc)pi!&TTK6=(Mv{=<$HBj9{? z`x^2}&{OSeULq&Xf2TTVzv~K;pZ{*dd18F^R=}UIR(?nL6P0J9yx8n3&h9btyX&VH zn;(-eVgd2kKJEZ_%G*ZvJA)innG6$Yp4;4NwC+Z@&1(EjZb-PLFFiL@lK+wYeyp*& zBi+=&{v&q#UDt_DFTi&E@Km=+6J$}kTa2(ZXF(Nrp!g!2JLMB2`xV1KkY>MkKc0*{ zjh4yy5Ex^QA+VAHUHd)s z&aK$&A$jOHv(vsI#lIhI=uBCQ1^K3w)`P1)5xze=FmhZ88BBKXy+071jgB|kre=mm zVHHlEFU&#i5U~rx9D-qPMRllxo@{ft%@eT%a7oMb{t?-|+OxUpA5(^j2RV15JlHq0SL%8P|&mtnqIhy}8_ z6Fk}5h~AV*^}_U2x=3)CwX53`0C_3DInsZf|*sw#mX4U*W(Mt@Ml*YlKep zqSzW>-}Sms? zjDprES(A!Tn9opOn3f=YhPjItC$yl=qO}PYQmFH*@QavN5l_!F+EOW`0{h%Z^@NR$ zbb5yCGC1Y(3~Wm<&ajBAr3J=9%sOI$5zO65)qd1VCOpCL-x9X@PH&su-x^wZiec`D zPlRc5ux|+UJ}<^k?#^B`b5D4oFxCmd-hW%;DR%GJz!Y5VHjmImKab{kv39~j$uNu2 zV{7gkigjzigTc{dZ~X&^+?_?OA%xY;u^2nPl0tKn*!o~^V}4U0mK0`J!LIiU&42F- zW9u}uD5X2P2YLs4D0^!omN+E92?2%KxG@jeHxy@P?%G$7zti4&BPv1oIIbixb#jUM zx&5yFB2+9-aRZBzGLwSw#~yY8RCl+ z24?+CMS!}-g#Y6Vi@zikht>Wx`1^)gScbsS3iAkRhJ|2L4n93h^ z6>Lj6Qe8l8@OQ%e{WDfY@UQC*_!{%x1YU4X1?PTnUWtuezsr6v8I_+&wck@otyE9s zi6{Dxwci_|2@o)rJoYtjgD42NaJ+(;^bL+z9-)Vz#@Z`m$17{exR5)fBxRTE+`I0A zr?}g0#qfbABDhwML-&c^uGvnmfdK2q=}h42fn8xURBfX3iL*dC4h|jyX>bU1-GwI= zw9T_sn>hvfUG|pw2#4-K1I+oZ{jLz1yz_vAU2z8cVTp;I{8zj7MP?&Df+)#9)KF7s zeiQYLJEpdV?DrhO({8L5a(8O`ddx?(uit6EXAg?~hcJz<#0?IOXn&7(_Ktv0(POwb zD*s)Km?uvSp4p3;1XCD=mtu2=wpymjegYxnhPgWn)~03R6v6G^l0vgzXw`nI?PgWm zv2nG@8W4XvZ!6;@D(pLG})FJD;~i3Ia{e z&VkgFBavHRo#}zJR#EosFFj>4x*1b*^-$}(DD*hN<0?pUT;+3*^0Tt6`D7-@!{{#Szr|y=;GpJY` z9sW@k=gGP+mBpD_zFQWrmrvgzi-%INI1O4Ni!YGH7s=v}(ormqEsJIGMY8xf zS-hQ!#lho6ve+ey$I9aMR4h)Sj+4bHK7}ca=`W7gB;62gquK}Q8_sQZ5sK;)i z;w}`+{RPgZ#7ubSCu`{}08!j2_6rUiXd7lrCVfv~ZZZN-WO{LDU-NUg|JoKo7=f8M zK*I?SZHUBn5o_J7Vz8EjwI~rawJ6=f%`M(Q$^cbGCj!YqHRo$xWV%o zbi5?kZzDD=B|Ku2YGBnEc?w*`<{yN7T5;f5OA=HK4iKhh;`k`MYrj}B(ql&WJX*bB zubqSGpxfR;AAk|F(=gwaI!hgM=*$5t{Wht5VOvY4s2__r!$AAdyu9$!bkHmx#?olN zfh~$?Hbj_jQ6p2ZODN9%gD@KA4opa>3}*-8Fya{jV^2F0I#3a|JYb@VaS}r&BaQQL z9Aj^x@2#+c`y;vSrOI+ce?g>u28>kP=A=Eb{{SLEN$Y^UWj)yuRpsG459`+OEAP-@ z7^2wY` zqDS?W57RdKEZo0`EdGpe6$5NT!ygF*erDXcg*;XZ5(XTe`W(np!LY$_i2&T!_W+GVuy(VmQEw< zR+@SP)6#}w#a{RBz(8Wj_X`P)JmqM?y1s3K)etnP(De+Kc?M;D=oqi5H&gw&20&DX`bqd0-Ynt484^N!kF2)&*L zlGtHjd*L?!MT0ksh88A7-f4h$=MwM=61%8y3w9o~p90?=I3JF5ZDAWlak#}|%4ye4 zy8(>ug>-0L%ZJv)Z*C30Mv)J^Q^hj}!oIhO-rC!%X|MJ};e`7W^K06jjQjvoANCmA zsP(IaTk$qyUfb;c))!X(&f_Jq4(RP0`Q zp9GEl$)oCBBjxh65&I<^hJHm`5r^Slm2PXiS)7K-gHfE9xRkGIa+lD&Cd$NQM`GmU{_C}*|}?9>rUU$!jzEtCe9E1M+O?-!MmVFJL*f{ zyb%KqaTs?PG!?S4?}WooyFXRUN|(ecBm0Q+Shx8V<|jTbMx?|m`nDp6k&VqJ9ceBR zfpShdPBbrs?qoWwHcvJJE7T#=L(mn6OvUunpySM0e4P0Pjx$TlE$-|ui}T;N-$hGF zcVOg5_oXE`R4++iKCZVkSe*Sn*1Yn-vdCe-YcrT|-r!CxNmqO;E^?c%8F(!cdyxWy zj<)E858Bhz28Y7|=)8=^M`4c))d_TH8yK?|wlLNe;*HOAY{{_Mj2-|Ln4N92=yda5 zb-LNP{P_axe(@S2R{vkfIEd=G%0Tzh3}N8y2^PWOn?4l#@wLzpCm|*2k)0@{8^}0T zwZXooin>aeYwDR%IS+%icLPbu6jE@$)-qKvvaDOcpu0Ev&uxB9POg?1;uDK2(0{Yg ze|$vvHk?cx5z?UqPM(SbH>2aa4sOCp^c?hUC_Du3W*qLeI&^V4Hiau31^y3Ki37qf zjO_hx|98Hk|%#Yb`Q~$d2U!%87_PdS;1J&ym`i71CuKHOx>A-|2-%^B^ya77}3eSLx%mSDG z{!G3a!{-vQes_z0FQAV9nYH7^>0yDeCT$wO!~5AH)Ggml&JGlwE2^-sq0fLZjXN$6 zj66@7@ZN3IiEvWP%i*<%i8yij4Rva~HCrAB8(wk3$<9d`Z7XTJBApHyOU!@9pEGWi z=Zt%7bk6ukH(pH!rsAyeMfW%is#)@+k!DXEtRu?5Sd13{bkc}p+5z=)pHCZC{~rB; zjaISw0w#p)eh4wLJFypX(_3qKc!!16aCLasEe`Lx+%U0zcz4I?e4e47-O<4$9o^wb zAnladf#ONr2NW6jaPF^|pd%kpqy2OQSq+_`4EZx1L5`LukOk?z&*BY)ea%f^#3}E) zcPxauLep;&orCt?D?I{V7Qy%OzqGH(#e+DRWS5x#8u}uTb|HC0xpA^thFHSQ@mYA=g zcW{77YyJHL!M?)(u2N{)z z-IZ?|Dcg;d{oz2DXs>834q*4>zAzBv_EPUkNz$Xpx5z`$muN1m(YB5_sb}-(n+q4Z z*TCo$?S&}IQ^Eq`(fB7KcVoRC@9)wch4ea6d`g1%|5!lAnIun)$Tu+e;wa1f7Yw0# zIfTylU5-W?m0zHd;bRe+%+2)0DR(NiqaVvg;%zeZ9~`z8kpWFZ`!IG$KQt0MGwHC@ zb?_wG(7lUQJ$mnj|5#t+`}JK)1I!UqdUy&uQitk^<_-F0u zdv9pJRd$7J(MX9smdGCu$LudUBkq$P8h^#~I>C+5O8!`2zKnWgH(;dE=Lgt$z?QTs zlWgAj;WO#gb?B%EtqfHM!XM*R4h>rRz5(O4hvHM1 z;}b%X3eGf1d{tn+gf~!y=GK8=4i2xWspH(0IJ*9dyz%yT#mk&TZU<+}+8lfudt!JS zUf}Kt)A!z}cBkqa%9GbGheV?KuVC*|N@QSqMYPUL=0?Kp*~Qs^gg*4WH}rW)*YPEZ zZB#ny@l5ldVwzku|3OF->qeNWz(XaDk|v*dT`my|sENHNP#hCV(=2$Z(3pDQe;hvIdlo#Z{9q4`#$W)o#<0#; z-`n1{;i94VR0whQjqhu&?{aGEOd16qv1oBu4!A47Do*(rlT`R}ys1pqaf!yi^e5Db z`CqEPRo}oEcYZ=&vC)gcJo^SLV{xj54MG4ImTaTw?|5jG8?>kmv}C>ldf+{KcGG9} zY%lV~uiCTAJMG!?AG2qBerwM*eqzsd-ASB1B*1)cdz$!w2!~~9bowbzIq`K4`c5oZ zh9ff2V(HE;q{ikTR#@fzSTtf;_w;E%o~QLo_@sYgk@?w+SQX~d2bZ+>#mA|51B6ec zj9oqc&f)H3LM=O+u+G8?e3<%}9u55;`2F8pw&HmIUYBo_u|0(4(Ey}DR7?!{Glsf& z|NDhn4`Rm0Vd!Dn2Gc2vSn~|SaUllPC|&|_OX+YD5iVW)WF5P;$C0}eoW}~z$5ZGV z3i3wzZrJRiaPE}B0Qyt?YJGCGBhWJr*6&U~ien;cpUVK9KHM%6dIvDwO8|sl%WB?wi?q|FN@09(8B`ZE+%niwzLCh8O ztwJj{uvor-0k^>s@82MYy57D4jaib?dl)8{@q6WkW= zqb8bL?HkCcZpW)X951G&_->*TN(Y=Pya!7uY(0%s3@!R3CxgD?#@Ziag_yI$&k2T2 zMk-btdIZFR&P`vjilu}I|MH8T_?j9Y5H-0mm@}ZMt+yTR#r_H(?PtO3LeK?o$V2{~ z;r{+1zIk_?;O|fMxp0Ez8x=lrd(^&PAijw2^rb&tgD{MpChg7&p?mhGaJuM93J-p4 z(7;V+9=6`s1b-lHa_@@>!rNpQtMf(v*wXx`@%1j~gz!S|N>a-*=&%g`VDBaRQ*2@P zgrCH+hn5D|8{&lcpzlJ8k2$b-vAGWxq!%nhU@HvMm!X7H9096BEIM0sYDbMxU!xm+ z{?qm^ag*QT@JTc#+h+6`ZA-$%m6dN7w=LPh0rA#QIGsw(?cqN7WcVL2oOnZlz1IF* zyxVQ?hJOwN;S(Wz17);Lpi|<57$hyBMlb&C>f5XFDW~}!o%!N*?YrUKqR3bBJa(G4 z@Usv}9?~}SI`A27V_GO97ojg^h66um9so&&4+vl19A2~)iY&lCv?|$$oc4S>NxNyA zh1bVSP;kvgnsG|-GFW_PiqB8v41-frECBLoqRH`{!tq|26z76+0Rj8rWFv&`YssYW zgijp3WSDYeqix){88hb1nML1t-Cvk_ng7VJ#$)lN+GY3zV;`mvdbjc@8H;x2n8oZZ zbhbse2A#dZHa?uQ(~F}`1ZIV=LeOMJ*8BY?7@bMU9B-{x`qYY;Z z=x;c}CainJ`ig9k+9KPOzt!%)7fR79Mrs(nE`!3WufR}{pV?!udr%(Csac;6`-BMy$Q@>hCNOve9Yg{0ogX@op0bCb)4KrU%PZ?pgrl_&^O? zqeA*(cDhSE9(j*OKlBr(g?_6ag-~Vq$X|r)f^gf9-j-e4c4Z$XBkF_s_ST=$QbN2_ z^TA8WrNlS3b+(Og1^5ZY)QvO{BDbOzYDaq1hv*;{pA$&8Y29sKYbW=Ck~z89G7f}y zlK)rk5+7<4y@_aa&U_+1#5mZ9<-RR)wg_G=(ivbpVKexoy|qv%*CIV5YE~+tAA+IR zxAS4V8=xZHdvHG%xKI+`SK(GVdkekWCYzPx{U~`FjT3x;T_+sT*?T74^(@nj)gtE1Miza(KEtr{rxuI-|hDZe+GLNO+MtGv@Sgb3v%CY z$u3TDuC+bme`M>{U3VHvYm_f+o4- z6t2i>(iv_*UMW6w#+da)-VkVEW)pS(eBlkEYjbx;s!?NgkhH_{Oj?E73gtT~obSSD z@b{(ADP<3YMCOp4zwV+c)}jhAFKiG0n$Cax&j{zU;nUaNSMZ^H95}qmYJ>i#;$6}$F53v3SZwD{F1w~in@tjK-9+IoLL%yEPPON@+U9yd}$DlP>-c3X^=j6CBqW zZPSg-&%-}#+1q2~jXk{|hX3|FwG4knYi`Ht<6I~j_EJ;YX7wvwqWaG2qymS0iGwcF zV()ZMBfd|}Y7I4I2aEy#H#T4HZ8OZ-S=20AF&Tkd@K*yA2heL<(jzaSTC)?M**3lf z<)GxS-dDv9@!{`SiDx}{!YAM#C_wAA@Keu{uJjr$s<4lEo(CRp-XOi+JvK5E2Bhh| zI{1a&81P1JMI*Im=833AR;QZqv|%sorfF>#)rr;LHAdS-PtBpZ5vwfncl-r0il30h z!Nw_E(D<>OQJ0Xd#Eklacxp`j74-0=2}JQc`Y@EI_TbOBVlDa|6bpa)Oq_OTe;aK! zZH76GGTILft?hN-hA)&?K(cIrn6tzAkO391iv&r>wxI>Fnj>cYUQUzC(TFm&ZU-5!CVKhbF{Gkin7*ew4}v+*D;<)7G?46X&d@rN&NE>|Btvgfsd-Z;{FqoKtS*Y1qoJbtg(VCQBfj^W=H}vI4BlW6gP@k zP(*~8fCV8s6Ja_XO{=!H)w;B`T5D@vaL0rtfm#)DsY?~y?{%c$#-_mg{XO^InMsIf zKmYgtdHHZN_dd&c&N~5qFWUFyCti$haP63v)(3lTqVkjEV+nn#|FvPL zZ(ZL@BY^yuB0sE;zaO1y9{?e-8q{iH-4ipB3U-MN7T&4anKD+F+m{I`=Hbb0-)=Z& z#V@BGTt1v{T7m5A8(pqNT&_J0?mpLkBQZ!-e|#zss(}s97rVI+%H*zA`egt8%+Jtu zp=|Dn%5Au~JknR1>0BdTMzKVhnptQ6<}tQC#NUUm#4FLF;N(}*OzBt8Q*qCenc~uJ zaSwW-+&B4Ukw{S8c7* z-IG&HV$^yXhgO>sVXJ^c3>((jPeP*I1`AyHv0eG&<{ZQh*vEpY3(BO>dzzQTI-}Po zI!7!KISW?V-M|oilqy>LVMqP4Cik1o=UHa(_HEysgmD2b@=d|Y3*B9sksd=@V%rKD zx=%Di9j878V!#-mcz<;Oy8{jv)@LP%B6aII8OZ++T zD;NLQA2LmNqBF#WUzz2n^E7dt`7Z9&7d5_V#8XiBg$P#o=pk2rBwar?*;b^J78#e{|vvp#WF@AQ9j zD57;lS*95ZQS2A|S(F2`uo)!b+8q=fgb_a`Q4mOs zE1nx>?Zl9~MsHM~Hg)>{y;d`#t<$oKqGXj_cv`<3rv)Ql@k>cL>Su7d5_<9er` zV|?4fwwj&M<$?BELrnVd9OQY;tWVO8h)_b}|PQiD=5T$i{aqJzCem=5yD7I@yWRPZ8gUNny zX5OYys$ajb6p*%r(a_yphIj!B7M8_Uvg0mYQdhYldcWH%LsgCss6M_q@`)&ot;){{ z&ZS87{M&Oa1ryI{Md4H}&K#mS@Ltxk!Wz7S1-vs@=$KuQq zoDNp}O~l8H2avKFtEoxlXu#cv7v=0(UmRf9jUjq?q`b-j7u4zQSEKh`FxHW+>P2+=`M1+agB zszH>NN$wd8_YnMI`h|E)oodF4{{(}@I2mBh{=8!@Sn<9Jlv9$_W1Rx?1)@P#Y02FX zGX#8^S&j;cEp*IqA9 z=6N6yshn7YpWkG2`!D0K&GcUrV4QYfCZ6Lk6D@&Ed}(^L|30B^5SIkvKDRhrfMZau zYQG2Ox6~9(jd{Oi-mmGR!^r_+aB(nkKzU%-k8p>{d&qQ3JJMPFn)ZPJ! zO@{!`>&kzqUXmQF8b(0mtPg5xWi0gRvs?Ef|#9b^N!0r)7 zX9T69t++PH2|2>gB_v_=s z{K(#-p&R_Qntn@AlRK#3To0?xZhAA2*bps#C_i8>C_;1ARjj9RSl2&9QYOd>7SQ$J zbxpigpZFk@=+66GI8khf32a{3Es&tBrUT$aAohVgki69=NA?bA^>6%E;Q-03ncP@H z-iu+}bSo}p!_LWmlDwH>2fuT@-}&a(bzz=$!PcF{n_KfE2=RI4 zHN+p!5+~-#hs56L7VQ&?ZQp6d<#UX^yCalbxJfmECb`wrT$m4}5U-PFr}#h`S=L5v zFws(2q0MLn2I;i|$%fu!YNTA2_U;uapC9|Gdmz!!n=^jYJC<7Uqo|75S9p=jdBMYZ zS)LUiMbmaG4t|g1L-1x=OQ?J*%&Vt$g!}b$gEr);0W>#lpfXf1*UPDj+L~(Ei z)uHoSg;vwWBsX}a zD^QLr7QT^Mu-ro-@j&sT2YR+l&}?8@g4wo=JCe} zOwW-z8OgDCh#gdUjv&=74wqjRik%GWRuj!$@c6SP87*fsc7fIOAfJ-)=JYROUtxy) zXTkZKm*>N==xB56L%{rX{zYNp^#r4NDd`ruk6d$SS8O2h06%e!b<@h!^!rJ@!4ccMMsGxkmXEz;HGTaR#GY3^ zUiQrey`6VS=8B@G7&wvUMUxNWiDrf~(~?A*^RSoNkP^8?@KHjqhJAelT}Ul{t?fos zYqPH~KrcqnkT00}{ZeG8aEOl~((p3^?rJ*us)L>vn&b-ae{?dfk;tz&G5_ z(&v3sOk3TFrFqOYkIFLJl-E62*~1@AP=0RZD891#-eDDa_*s+@FV*%F9q`HAghX#Z(sFKa0q(Qyc{^mEOvC}1 zTOms5{F%}{2CqJ{Q041$MzGM}`=_PqdSS57U?asD zyVCSlt@Mp8?8bg})(`53P1qIP@U_{>&ZZ}}wzHu<`k#sCvo3ylxN_C(FDITKYR74> z*{@a9m|Gw4x1l(g@9{TP{roE>dG;=t=~tZhtGbKLwKX?nyfv;o=eEBSg2~ftr_QTE zs;|4uP3hRPS_oXc60a~OHe8)!fC2jMiKxV^?SQe*~yT;U1$zk}9@*O(!z zR5FeQ$Roai4)yKX&jwR5eO>eJE=v~Sv%$fHuR`;^mc9?S=YW@~$3=e>+;;nzKkZhZ z&P3vJctCr8{dn3la|kr%qj;q;pIs8&CwX=WNB1R0l{Bqg_@2{r4{BXxY_eLrC6=W> z_CaVP5PP}Y4Q~ujHT6f~M#?grtqA77rW!`7t&wk}In$wcxwVutmvk1(M*A_LO9kNU zPs3tP$7OxS3R=H+%vWxm1(UA4jlat!!`q1Do<2tT#(QWq&hWAJtdjH)vtKs090{9X zH~fH7(d(4@kv+mKwR2e>1!>2n&@b=eobqz%?LcU>e}?{C^mP{7hrV!mJlM+{-*sZe z{gMdgE!f`Yvm*VV&ujhq_`K{@V`u(*^wX|}tEpy~P{^=;HzsVftKIS}xi>frFOmMMk_F=fya6oH*+kEvYE+IdWs)u*P8@AmoKk-ni+4HAhWd1JTcn&D^p zoi2Ue8a5U|dP@$`ke>_+Cl6!YTL{C5LUB^rUrKmD2v>JYFi}_@uB0DZuLT02gG_6z zT8dNOEU^DNSV^K*&KdEDU!Eb}EXYSsW!%034+~jO$I3Z_j0WL2+00rx){9fH@g}np zcw;c>?yjM!w5lWlDs?Jv&uQV`2Jgskhd1qif%hNek)&_+X+8vdHWMa(;E*uuZ#hw#eM)BCYe4H? z-Tg_pR(C~@2qzCc_?QZIMy_B<)p`kn+$6=4JGOS1Lzg1BS0q?W>1~EZC{`?|m29{y zjT{`XmVRmWJbq-K1bXfDrUMEl&d&?96&{e6zOQca)Y7y~d)LZ=#1_}uvai1lIEjLs zIgyU>GrEe$PW!52bHy%u>~66JekOiM7xAv>}SY@p228qAvi#Y>WMw#cA({!b zsHLk`?TRr4)D^36*hA7frm{u4@x?u0GC`PJ1SS#*Uq2uc+KK_l^`JE@XiCC|_qF!y zdpw#gwA3p?`QXoSiDBKmCijJXtbt}2Xn4gQSp*Nw#o}0D7%Di@Y~34#8gn%mYo}0R zW)F^!Y9~!r3g5cfNh)4fP5%>N+xBXLFw06_9H>qh;fB%+H1q&#PqGzMb zm)Z5?(E(|0dzHI%phhlgyusA$(#SAbFfG3^i877%Oyp_(h_=EX;DX832S%Jdd&62% zTe`TOu4!Mk_wbMLBx{@Y4i2wgdpKqw`vV!)RjhUXsJ0lZK7c?B!p!Jyy&2uTVN|X8 z6CC`R8B+Cdjs+Xp-<`%=nfQIaCH}Kpy3B8+TS5=hOuy&~z0P>!NdK|&Y7WQxtJoYG zOt=4$y%&hH+1gcgQ%j@gT1yHb*ke*SF(t3It?p3V?uVN30+saXYAWe{YEdi-Cy!b^ zSbBA3sfiEo;kew4-nUNx_w=n|h^G%ZQPfOUAohz3%k2+um5gXY8qv!#FDJbYv|`h> zoBYvlOrC+?A^oCnPA}~M>pqv>@Z?RbYkCtkp=%M^+jjAfyB=6lP$n=bV<7Xn7#(r6 zLQt+KS+t1Ttz7JND=r!T3;dSfb%y`ELiPy1YkvMp`MTt1Rvz#A)&CWFdJ@6--{k4e zcI4?MNwX_YR~`00%hQK9cb2CP^?jlmewXCC@*!o5U6I7+g4=6waPX_RDI|!TLyjKf zvXSG51oPQiyUhLsJTstZ45e)#zXkZ7lp6m35Abg71aH+!;QhH1Jp3oxvcObDa*jdq z@ZjJ!DgJ{x;CQ0hwA*F}Gce1HR*eYeIKzW>`&6nqr$s@xL79QioL=^6zHWxHbCm1A zEGBLySHAu?d>;F?&odXF_g4UUxk0ksev+!o!N-^14)r%D1E8}yF!u0z)5&+C?{-EH zLq82Z)Rm__sis_wxQ)_sBsg+#R&Oo1F=PAXXvVu;m6`qkI=aMv)GvJo?1q1r=?8pE zdLv)^aSSM{X>Gcr{ppTs%ju4OsO~5uo@!6p|73AgPhl<#>8NHOVmhkROQOYi#yAEx zy<$@=KR>-xevrd%%G8O$udDK20>B>1y9qJNAVPTsdn)fy*y_oE^y3=UCq|dq!iGIh zXU3o|yG4f0Y_x|7!KCG$YpkJO@(i^0OJSO=%(mo}n>eT@gyU$h#SyeT!u^SVFRi&08D*s#AgSf5AO7-}+``uqFsf$kRVBRB$791lksr&7+oZ1lO$)WF%RWFV>cbAn*3QciyO6a=d4M(-ll*B zft77@&SavqY4yU>WJPiwO69USQw$Oj@#W?l)E(g;HLEw6VDVgz!9;0WU1=$-wpEXe zt~@V-S*)k}NS=+bBD@U2@HhBLI0sX%hTj8Lp1XTZNh~dW!%kjL*Yz7yL+M|lcDFo( za@Ril)o5onexFOZtQ-3$QRl1IfFu} z`yKTh%W(ulRl2(;wn@5lII`wNTjx+qpJ|uI)sQB!8JH_JM|z`k`*vS$a;^DJqx-tW z$D}z`p!$zXA@=$lPPrJ%9y;R0dVFopHL3)ce+&}Ym4Mp;x!E5!E1s0$%72E$M)7c* zsy0=9sla}umf*qbTz|nM4x$R{tfkA$o?q?5d)wZR%vvPXUb9tHhYGw?U>FyzOoap9O30LIi+#`K3N5^TrZU5`%-<7gG!mC*A-Sqah{nP&mA`?YO z7sJO){ozGlrdoEJK*ef%FaZ4l=&Mh`yg`VOi;d*pcPU~0OO??W@hf33sAarHbqr#L zi=%Ih4?&Y$uUd<=do@QfX~v<|T9j63i!C$J6iJooZ6`QI$ zVsz^GBZ7lJ)@U|*tgF9%i})>k5)OXoisEd&9}boVAdtA92AIwj$hdthZ|s+z%sZWx z8BeLaJAKY)<-zygfEU_btoQx9|F&;6f=aIe^S;5q`+Ba_y6tBlt)EMdrnXi|AGU@o zTWQFvbjXj|@}FJwAASP#zn7aEc}VV~j85DOM!YIkdkt%S0{@LCZ*&>K;YEMjzalTv zH#xVYY1hKuETHk)_r&GoSxYV$avzz}?`Mc6JFC~Wa@_h=g`YFO<@^rm%*3kv9x}=5 zl0nj}zN*{A<@QyQ-(uKX_(|XGUS3f1rw3E0DYG4s&~l=DJKICTc;iEiJ_gh8 z&Jb<-pB#92gSAH<@|#xA-3w2v{ZkK^mLcxeE4%$y$NZlIA~}elf3-KtK21w z9P*l3A#1jV;SsWeNiL^iE>xyp<<`g{=3M@{N3r>2Nhwphm0O~d*{gyB>MG)QMvn<5 zj*vo!P&Rsb{w3Mx1F+98HdqY3S{akzwKB~<=j!JM`16a$=FTrJF}dtAxRm}2$?kTO zVa%7h#ylX>ao<4G{Nq1m+!N|tW|~{OUANd3E9bIB9p#JqLmQ#zpwsoY85PIr@iR9C zQ*$-ruKDED#pM>gA@i8w(^XI#G)fNh)x_TL z3B_}I(uzuGMGN5f+uBfMT_^l8=9xyTTU_4ln~c8>I@$6po_~qK#8mYo0(rDRcKC-CF%XTH2{Zh1 zS)}HX`;qb2kf7|2DT&~hAjg?$>V_0Z*Duo>6o?eS5P(IWZy6L+O9x+Q~vlK z@&`NQH};Kb@7On*GDCu2V@NHeT)9nh!<#V+gO#sXi*A+~!vqQEepf!rDB^Y5XXGm@Qp`__wDsBcm^?v)spJK$W_dGmCOX2* zvZRj0oibGv%-!0wYXPgVwba@EoHEqZ%s^X{MQ$4`$)K+l0~z##iEnR(?)Vb)2O0ET zl%3&O*>LOkf6`|)=(CoLK05`#-$kEwW^s;6bG0X@o*MVY+kMgJQUPWu+cA9M_@LVv zn5(VVyS>x3wEgtUx%&D&$*a-EKD_HYz*|?cCwRwp4Ua1I>fyh1%s${_R(Tktoke$5tj7~#C@b?Jpl}tg>Sip-AfIn zU-Su6?<&H)f2Q?F#E>)NzruJmjf;s(cRqR;mV;TG@RAPBOv*OcVJ#Y^g}^u`2J?yM zVmmX6ujMGedjv#tdYp^4D3kx-u6DITW9A^6;=KI z-_Qe-RQ0Lq*Yy4;py$>YjIUyvmo;3bsO}WS@;4;lNa2QAQLf)ubvRS(z?@+KAIOwZS*|M95qU-#nDHkg zGTk%9xbtPL2)#*?t1Xip!b{aLj`Y1kS^tMQa+pD6&<8H~#y`}P1$kkX^@S^2=Ij?5 z%)M@_##p0TgZak2;0z!GoV@;iIJp-E`NFRJ%tw>a`C`5soQp60c@|$S$`QUG%TSqP zrtNnc5vwD<&u$Wf^_EU+G0aLKuBVU-O+(*bni43_WvMB3fmdo4p{$B`n_tG97{*M% zL4B~U6JNoyP>MNS)|If_TeCjw!Ls)O7ON3oac|m06yEu%2Cg4UD(;qWV!9gz0!HjU zz1TbG6x^7>HzvE(NvLv%RLMsBJ-{JAd-e9^wkuU~0WA1NRbq(B)hEUt_w~t^j6PvN z%<;GOFOk@Aa_DdhWcUEqq0~rdEHE9bh~zleqvweZmh%~^bnclkSJv4pRl_cUs7Y*f z5m?q)bL3FD)1`8U0LH2h-RqmFv`l;dCMwnI(rwlyC(v`fc~uYJ&x)O3g2xiPHYb=> zzYGC!>Fno@I@ynX*L@xLW8c}~J6ZG#kn{J8rl`}buo(F*x-uJY_5)Aq^j*=b<9=7{ zA2`f@;2MCjez!02K77S>hW}~LJ;l@h8mrIgJ%W4H_DWWd;l(b#YS*r|qI!iPUB$V> zYtvqJh6P;Hfhx`3K^C7<33pIVURzNg<%d{mQIM)$ zzZZo~gb0=u-cs3oh6j z2=Bnp#_FR4YaGBT1Pt#(vU-3({6HXB3i@BX*c{Du$XxS@j*sB&X-igr){8_(ff)o8 z*((%{z_+uNimg$#X2(3UrJ3RnQSmc67q9bV9GcF6y(s>+n#=;n9a{D0|?pMwE>VYW*;oLWRjx_(5LoFjhyMQ*_~g*b^h3Y+q==4He_ojFF>+SUzaYbEZ+j$? zmv*m9@fOg(C!_3!&b8Al{nQD+!!!785=QFkSZmyF-({%H;J2@j-@9M}e#7-cSN}a1 zzj1rOuaA8?pIYgMKJ}#wj=$-A+dxY2$tDf97N~S*g*h}DK*Yx)8 zSjy9Yap`?;c9!1mT?6;%Jx9R5JH4Yp*rm5bRh6Yz49;@?IAM}Q@2MWW!8%we zqW4%{sNbZ1kmplX53%Z4{+{T4706xFdn9u;Ii7?<9H9D0A)HE@sKs|5VJ(|aih zyYvn*O~!A(KNj^_ddCS9(fctk&^uW_&^u9h#j0=2+Y`MX0=a8?t7dd4WdmSbdiRx} zd-Z!l*T6k`69WF->HR4PyY$wWCgaolV8{BMEKEf2UwDDuuk-`GmkF;J`%;F;!ZI$4 z&ib^Ey&1?|(;Mb&svNHF0E|oTArf?t-jQ7c_vrnNfPZ&-e+I%XyHU0%OK(zm;s4xD=^D64@8h8TKhXOZ5O(REX++4U_s1PExsfsry?2RF~Vx<_wA*T6k`SA+I9(i=>U>M$U44O6WjEm~~|IU8?< zdsedRGQE$o*q;ey{}5{KVtVYKuMB;ieW%<)#Ckn@q)>R)Hvu%)<(mNV2kbUK$B@0~ zRF&?Rys+5*gJHx0W)-rxJV_YhvdOnGg{g38-_xAJoMd6h~?cIM|q80YeH5)d=|{KNJ=@pCgm)ipnJ z%In!>d1(M6r_|r4Qzb#`?2st+>+y)L%Qbd{WiL><89B|ZN1w}kkf#bjcR|1KG4eD? z`1pAIVcQ<*NBFy@U#@C1<+I5c`N^WsRjT~xo)9BS6I77#!{Prbp-8;{vZ*)PZ~w$) z$!4m;rAYiVrz|0oGX=`P$?ky4jUW3h@iox2r~GB#5`W9qJ?Ed>Mf`63xKD{X@*^m! zyX437m$>}+5RSS0*bUyq-QjIjt}fv%@ZkL_1230<_iWiSeT%;(zN`!SbK&QGOMK0@ z!T*-{i@pth7xA6j%WnKVPMJE^*DX`NiND`h3{Cn3YBVdqv;^sMN9gaSf8N~ex4(BT zCbQrE4k4KS`5W|k11h8I_9uROfhJ&E7sQMZedRCUd-O7fn7EqP|jLTC4!0(^brViuprb{@-W(NN-F4LvxNXs2?g`tQvTi!l8QcF6lawfZ%oxsSs9=U>F> zQM~{DZNJL<3hBFgx`Lzhf~oXH$VqORTs(4d?CRZI*lq#L)^U8AB^enIuK$?YUE@Jc;+ecJQ-XTfw0Lem~r@QD_c$3fDuQx0z^(1Dns5RO~RAGkSIJGN)+!yU1BfeUf zQ*{8jfBHU3r+h!SyD8~=>6vDP&G>?zy%(f2l*mza` zg)DJlN zs(}qllC_-U#ldtdxKu1ZTF8|bBZ8@;PQJYi)mrq-9cAY7F(@21CNEMIjIA8T0{iG^ z&IBaSK(H2#(W{TfY6mAB`=Um5i`lhRF6DLB$o1*J1e4}4-iVbv6UJ~}xaufT8?5Kz z5ZqDG(&U+C`QyeCB@~@o6`hP0bK+~7v(lX70qa(c*msG$ACT5;FTaR{nR!Olh50Y$ z+J_;=tfyq<*5v`6Oj65$zP30t`Ni;HPG4Iye;kMO6>=(YiFh0-Y8+M`2?b)?dM+5u z(K6M4xxOUtam`C2>R`I5!4z? zoEk*1b;6Zf6Y2XKf0}<<^wnhTSf+?C0O%90c3c;0*{^Q!szmKr`vNy_dRYd4saE_0 zW?h|GGMHI#G03QlB_)m9!&Y3~3r)j{e_~!{NBcC+&7TDnEB*^(oouv!3<3s%4{npISeKVxrt(URm7Lx>PokVpCf(*d0lb zbH0}=>gJMTN0)ee04~e|keMg|VFTb@!92zbs?5SXS}=PGW~_w>)xW7s(yS?35Q^CC~k5H$M`fYa&fXx23ihto!@)m z4KT|rV{2VXCu

!)8%x5Jf=poY^E5KeePt@`lhEd6U6~s7XCpjoW5LdNpo4izc$| z)adc@rE$)^$o|tdXliN!eXD5_@T8%;T#+t)HG0l^&tBsQx2(a|Tn%pD<#`qce$(?d z>kSn5p!ciy8N83k`OeL|0SjGaDy)@v{oc&)c|1its~{#fz25!wox}CLko4c>=_+k5 zJRinc-vCccA8TrtV@9Y3eK%4G8saQexQ;Jz=IG7zDF}Rhsr_H{i}sBzTlxb}3~v2` z6baI%AH%BQP^RX&1@NN_^;T z!P_WhFrMZK(`ZMWp&Nfo831vCNl1;aM) z5*?jV>!wB5EX+U0if<#0w=!>|eIi1~x@MYuFL%MtnWaw)yUngNOWk!Dv{0ltz>o|Gb1XF|+k5fi$SbwW&9xqOkKk9GJ)D1d` z9pl{H2KYljxLeg|EB?_1Uk5d-6M*zC{~pE_g^lrs*gM)VrtdU7#6na@tJR+>#r%i{v)1j}kAWKTOrjX#SOLe`#h%u!LBTx-vCk zjeW^RmwD}Mzgs?r5%ALXyum_a0^@5q^pBdx9Sv5~1c<7a<)mX8wtFT6-M%-RCaL$>oy&|bx z7AcJl8x-A_onpp*s~sC_>4E*I{yQ@;a_@2RrW5>78Br$4c@M2i`qYT0E7n%!&%yU| zMG&U}r{34+X$4#O0i&hoEIT!iMHTH>4nw+uidBO2gV zL@okq<0C4bf_a`$%QZFof7~DhXLv%J5Et_F~h+Y{{sE_`M zasF&8-qR(|K7&$#L@#Nd1(9GHHkWsEwFA;7 z`w?UhaGk)|0(I|e(=j-1HR&ojI5sA6v=x7ncaP=9)#KA|HQh;!8Sps2gXyMzgE&1X z$)vGQNA1Wix=QI%LrcKs3AsguN`XP8)%lO&%)u7+ST}jozSJbOHVT;BuWkA)s)8?mXt{rEK`*1mdbuk&COwM=r9Livvo{HWOfYQP3y=zkEtseaIks|8&o%`iSv z-ne~~6~7F?^7_~r&6m+}^2k_A&Oko}&`-6c=(?)o=B({<>~TCY^E74R`Ik$8ClrF+Lr|IguJGi)RpgjM&)v9_c{+g-zjrQvw zO9Iv<+U(Pfoz2+*txKgNRX;>%Y){wiACZBv;WXH;xOL=b-8)UCE`v`dn2|iE33+JlG#7jwgofdhnv+wvo0T`5>yz1!V3lRqAJpRyAY%_dn zO>-<}TYli-V}ps=0Pdb%WX!Lz2dKYb!p<1QwPQ`LEdPA}u9@;a8(-N^f{X`(I?SE< zfT|ETF<~pX*1YtUENV$A#Qg}xMN3TAG;W{3sQ@5+;eUm2n|#cxRgofV>0uRczKX#dvqXKlN4A@XbIBFIwOaAI;$ ziH%o52+Qs@{(5h;6O1h^&WoJNR;h5oPq3OUEDcruXO5Mw~>6 zDxEWg-618xf_W6EU0C)}^#IPl42*W0A%odQ-@R%}Uj$?Giu0n}&+>{}cP7%r=ge<$ zv;pPfQBHh`k;I0@;PA6cXCDCTifa}hNn_`(m#jk)K9#z2r}nF2yh_mI)wmKaj?0D5 zERnW?yZ!5Wv#C#vH2Ybv`D7K$P>r)GXrXoq1rysMee06l1F@~gHVjj>ZbdumZlF7q zGWl0?dA2T;e}L~W-;bH!hs#?Of6WR3WNU7J>4v&Q)&bXiAtuf{gz7mS^|K$7CJ*ua ziuyPlwfrwKe2>0mKfeEn7JQFRqntbk@jit|v)v)m^(6c>o_`Z}4{7(pi1MHRkZw=U z8>BDfDMc1WlW!dM{I7wfXA!VpC%hN>x}LHQMCmdXPd(Bh#*!Q3kl+6O*r)F*`CVIyv;T0eyw;0xt`poz&n^j0=F-7b;jwP^qf~Z2n_4UEuL7?1 zSsa{O@YPn>ZICxbQj#I{Lm88Pp5r>?In>QF*w5p1%c94@0z&Uj zWuUf0ODA8^FlpAbNi#xEN6KbRi9~132tHjFnHrsOSy?2U7{b^dMKQGmNhrO-NWuQj zS6OiTy5KJJ!9DSl=%iT}mo-cZJq}P)*I`w3uowU(5~Y0%kbRvcSsHK z26dF9ZU)`!UYD;wHMDyaIiiu6I#_~p$ayG>)IKg{zxR=PGIG_-Dbr?Laz*HgvKf;u zr+r)zPH=SKSVI}|O!e;Ltaocg?aHmdMRh)a$1?yPE4yTdM+@>Vw{UGqiSsA2N(kdM zLSphr#P_UX4zuVMu6%da80Tcyc%c2^ax{~iuh6!GsY~-wcvk!m`p8Jl&3rBH%?3@) ztI?g;mH@kbm8o)$g`wDjYi?Dq9)6UAm!!Q)e>U3~GB8D%u!>C-07 z7S6#0j2>IuR#Rdq?(6(lPQ&D7gP2$x1S`eMV6vgu9%;(*WcpDbJ4T>;HO}w0i)$vg zNcbyjOPj6hZXp^WXVTQn17?LhKNrYFoq?R}wIG04*Nt#tob1C0CN3M~^fdV|D>KfI zFEjze1d;fPU4lCin|U39v0;Z_K!om>5=kCF(Uff@8U(%>9ihP8O#EA8Sf&(O-!ORIak(?FJL>@mm{x)%g{nVeu?k zTNcs*2a^ZsZqQ=iRmdPcyV*i zO$LOrO4ANW51T~oAm@+d-&{~;H7!O2rG2>WGk$}M>;DJJitPdbQ;-M? zCS3-}doX*D)ilH}^Du+F*UWw?bTb6U`N}2O;JC$LpQ(i*s)hI5Fe$B`t_G+>Ku!1X z8!OQTjpW%sYhLTJMugc$}#XAkAu#qLPVaG5J zYCdZC7-BV<`J4>)pQAV13VY;qeCn;GTxJ&A4({pBRp#mTFO9w(T60B?Zhr$uuG{rf zf6qzzcdBkL?=RfEy>j#Z-sJVmMr)}2Xj%x+l69ZhV&Qs>PR}eL8A8=a5B>UTlw8Gd4A3pm7VGH1F@>|W3Bi`K*e@& zZQ<)~9lIvR>Bjo=O^g6vWSyAXFpM=7%Pp>Zhdf&iirvol^EkJgw5ryltfrs2A54v~ zP@;c_j50ji3iG?J)_qLAjxEuvnm-FlYUs4fbE>s~X|GJRZkEB-b+w-A<~=SqZ#xrj z@*sL5Rbu~2b7;Qi_!1L3%iE9m%H^%{8QPleHJLQ+qZ=%L=Y2H}JK1Wwo)2dtTyG90 zXR!N4odq8Fxke|=D+?!%FAo?6?rMMelUQzB=63MN3XAMsp)}$lX=SA54WOr zyo%PMMFg39NEfZrykv5odZ%HLV(U9aUZ2u4n5365O1d9MOsZc= zjPFh7qK<_(L|#1$Z>8M*%t*Pekgl%KLvy~O`t=^eL`?>jhM#9To1M6zVpr#Z`5Guk z!AHgg=wa#-#-T|Ulbm13*_Nhnai#lBnq9W?p5rT53kF+1kk^Zj>BwSx5{*@T#{FTi zcixo09ot1sZ4vKgNbm)E{~P40KvI$#x^7yIOkROs$(iofjAz21Z!qYwAk$XHm}sLu zEmz-mXEfvL+e;@kOe(9LJ_&ux*lRX67lw0h8P0nf0~c!P-} z-LZx@km1tOCDiaF=Ev|Zcs)f+2Od4xiAP>eTm&o?-H&k)HOP3#9}8VqqueI+O2e$5 z;)HT;gL2@j7wPX(HBWe%A!T&ZbTg(1J~QKr8Amlto5cy&jLT>08a>7tSG3jiGt~8W zZZ~ycpm^5k9X^!Dl~0g@Pk7^#D|WL+FUn@`<08=w1K%L=v~PcNFdD3tG22$t+Z5Z! z8D#R&MvZyl_O;*5DDe%EVtYJX@VaYRmLIDTdfm1fhclmeYbl3vud`PhFV)A+B`Ca% z20NZW=WG(O2<}1|_Eyuu#5ex5+nH9=0N%o>OAE$SeqvqMi;s%U>4Q1JnRNhMe3Ea1 zKbKswc9A9C+%?U?cHLNqCl#VK9WQA)N0GH?1EOZ~otSQ0I@lTIJmCgh=;toah_aa_a#3@ANdN^2A;(ItIicontt}L-jE8Ol;E{;;; z;#f*~VEwir`s7?IhzH5CNDZx2gkOcz6!9|Em1W#*hH<&}oM+TLXY3eHFI~@|Bb%p@ zuiTE;`8U`vE%WG!tB|7@S1n!Oh0G!ZdE8(M);MOJeL9SEeuC5*PxRCS7=~Ea{sNR^ zJGxuf{TrlWJ9=163ypa+vLso|RRc{|D&BPIKj958VujUozDZFdWm+}Fioc2qtRi@% z2{!u5by6*wPE32@0K8os=Fg&8M|fu1%nQt#I7cXx;dHV6w_~!LcD+&KmEI@vcBMaq zhQ0J?kI0lldO>0)%{)R(ojSqX@$$e9yxhy>+0=dN=1iSgEBU z=)F3i7`=D4^Q>g%C=cJ0mGAXjwRWUJ&X*G=RoM5E_Pmo$YOCpXxOi0H6wvvqfHDl& z+LCUDP<@|tlKX8Wknh1B0_O|GGOwtYa6&r`>b{L@Z@#NaNa+qpGo5q7)FN)hx73PF z+GD;c?Wum+&7@8CJCvgGoPCW@Hk8yQ_hy#`!*k?EzHlqPKX6nD_kfC8z@m@j7*F-b zD$QfW?(Yn0ewkoB?-TwQPn>5gk6Dn|$;$S|$|-?P4Si`6dH`OVVkR-4y7oSx+ zSGsAVnY1gE7SC+cLnad!g(T*cX&5L*UZ}9dWo6FqO(YSCzZw@tF!5A*qex15zhuH5 zcN!5jWA{6MRqZCTvCcuc@_e^Q>Os$%D{ix8rXZCpy(&AYtgWWdh+&bjnv~8LJBxG~ zu{%$Yo<*KL@n8jw^QkmSnb3oV;YzT;xIX`E~71sIqobY4bz)eQ-XFC zS&QcD14FUG=i%(bY8D^wIUj3FLa8(JovWqOrhDZ*%cP<+gF;pKQa;jeE{%F|e^=a( zh|4tW+Z0kvkDO_;NkUwNDoiUKI_*N_2fM~lvw?X&r$o@*<{O<(^QGq1e7BKPe41{) zyE%^c9reCn=i9Sk&2V0qJ{JyX&%0#O^x1IRDD)!dA*D(U-EaY=qU=qnb5!bY1+F=F zKF*xK>a7pgz~Zae$%T>c+k;IxU9SEne{xhAlc028lgonbqhxJSgf4T_Bq2jjC&`^|^-5g8$<8CVzijY3yVe_Z7Rh#0`JrgXS5Xhsh)V zq&GWHttFG0A5$&=9r@#o-Nv`s_gYDuFK4? z2&>f4IzMxo)eRjJcGo<)b=@!Bgoi32Hfmn_7LQ^UB#2riy0$xsGE(`ODK%Q+91iZA zdoZE+T9!|_x$>0jaKU6|+;A~Bb~zDCf2f>lrX2*MxeL1R0tnsbl_53s>T^L?qnQp2 z1Y^TM=0Zo6HVh`+1xklUCC^zZM$;B&otGhGFvU0lg`-15k4?LL(od$%n1mBJ4{t>A zRW$5TCA~Vyd$u8uDseWGmjG64%eEO+l3tsQrfGkO-X;K}%8P!;Q`R}QR{HkPH zp3WJ5^pnhSG7&v(vg^+_xqF&T6*=osy!F}I0qWn)zBxKQ&0aC1Z|ahlb0X}9=ow9B z!*DZ41)v3dFIvM%eCh5|syJ^9wTBO_j!O@;L9csk>miX7Vq422WAL{{E@sgoAniAq zLL0-TA`)HBI))9AVs{oHdNX>QUZ z`%2O`xmI?FWuYbA($~3Fq3U2g@_0b88iYLsuV^o000}H5^UEK7D0+#n`hRKGtz&AA=6oIo9K4gY>Cs3kM89DZ5`hg6*kG>}QBQj|J0{0l0 zMNNj?EOvFff#HZo^6HY{(!9KuUmOhMnU`+T?jcQy#)ci*z_m1*0FCrWjxIsW>~M1O zAPUG#9Gl9~eriX@QUoU#XZN?W0{l=KlnIb??I=FHDzxGcm=8$wEuS*3@iUXcT9%W` z^h}o1{VXO~z)hB!l+blonv(r*7Pocw2WFz%8(s|Z^PADx{%-yZXEVjL8u4?PZ^a(s z3v4pQaE}8xdor{iwU^1K-5!3WSuxib&sLl(##&XHXP*vMGRtx_#l3`I#0(^rRnY>o znqJDvyA_Z5pv6Wly0VspOLjGGW2R;!Uya)iXQ0E2^A3Nc@R~E0_`YwL5Mu#mbYGoSRQl-9_kWlPuCQh5i0m>}MQQ77{?fL^2 z$FT(La+~HIPDD3_6IX8yBsOya>iXa{pRA|g5La?@Ue4KNpisYx%`NRxRC)HUA3)Ra z3)#qG#cw1?yOqB_!`rRQDm!*7AH)UQY*e=5`x0Np!pgn$TW-Y*_yq;_AO$wJmAK1y z%?)*Js-)C$zn3Dt{G_ zXgW`cZ)tB*_oWcJu$o|d(_HVfy}r>4U1{8YgI9zmuO!XN@0+wb4L7!aQ!w@}7a*+& zCT<=paH%>sxQW$|O&1XYL5NB)^|TPRPhKgcmqSs01dFpt_%;rM@kL71^k%ZYF_{uR zR{V2HNmV84^6k1rv^iBZH#MpUZ93H6y0suRzX$u|fpqmf_V5D%shR2eTdepvz=Ts% zu*%c_-vYIxbRvYK_VhAh~2G9F} zx;Wyb0}KN|!ipy;wsBt1P~=MV^AC_Tv)Q=aZWEJIv-k2gmi+qrh8Rs@$DiH3E>^oo8euHi#3$^!vJ9!SL;^5=2Z-IR0Yfwg#Yr<++V6D_J| zKI94h2q5gEKh^GHv>v$EIKPv4S0w(XQT`^4U@iS!A! zw}9C$paCiara72gBn|ID)cADKEgilSk9Pb{F1n*bd~%VRRc?MYx7_c0I)0C$!){^3 zp{qNVKO?yc?0S!@{#<&*pV-d63#&FSYA33O(=Dd`H9&v-ytU-`{OCR$`692w3#@fY zum%sFH9lp%M#{X%`^@CNV1n$nfkxQ_(uX%Z3vZx-_bQuo{|(G;(Y*yTx_>aq-bVv( zfPu%N_s9n>xH$&gZu0w*C%^7}B<><%FF)oZGQS@lK7vVYYs&1Tof9oPItySwIWZ_Xe$J^wuqXyE#ih za-T%NnNnxnd(sqLn2uSGnncbV$(MG~Dcx~?Irr)$hUu+9DX-2K_${(R*A zyyO17>HfUp{=DG+tkzFf{&hM77gn%++%D;FY-FULrD<9sY+C)GOj@@-7qw8eI=Cjm zRbd?)BlO4~37j2DYzdqdO1vs-_&KwoS7+4E#R$3h^fFXn{Tg^yxh2?sO_>@P|EyS= zzrp0SE#@Z?BwU3A3$DFIAuJQTZna)gbY!V|OqlvR_ypFO&7st<)|l7&#Y8+ek$34E$BKa^+^=3^>9YWRLAd7Uzak}02< zP{DOBF|D(HPRG869(nv}WtbO#!c!VdO?hpiHXH{o2wb>2qi@`G_PGaLG~Wfv%kk)b z&2u0*Pv#jxsR!mfXY>9$p0{|4G1US*lX{<4HVK}^JTLNm$rA(i{~yo( z;5wOS4i7w&9jbZw5$$z@ieXZovs(RiGP;;ZI(Nm}&D#`oCY|UCteI8t`Q{0blgY=s ztQ`YrbfVuNr^$uUEbCw#nZ1me45pxqauOYFN{B9|Q%<9*q9*4+6ZnV(gK)c77l2@% zTXGUnf(%o74*`x{eFtLl7@P#NJA%pcc^W0;P;|=^l1cAIpO^MA#N84~+~!7~d55zS zofJx%Z!alFBfM?jW0C?b5p$ECe~0s1qrM)I5R2L=TLsM!VxPmiOL9&U7CHV z(W-o(Nw=HK85&z$SfVlgpr2-*0y{C1_MhiGDDi8rUsb{fcl4Uk8U3%{$Rq=X`)pWC z^;=07hp^&cY<;JYweAP0!6C(i8=iMgaWQH%^-pPH@ew&#Zeu3Sm$ePNhmxjQlFY!j z{(ff5?xli8aLXH}ovdS47L9w`Od~y;>5CU3Wx-@hEzX$3ZR($0_5<<(PpLY0yBS?o z-G$b5noNR6O@eM+CAe4#m=i+R7j_k2M?7O@wHa6`U5#2kPeaD{HaRD&%2U<99mR-Z z<=(CV*Bm(eiAEzsyR`Ek-;c&78_ljgdRF`XzT(fX1u4|NNWGN)@p^}O0ldZz8)-VB zuE5rv^xTVZH$TPSrw zPZ>Gi-xqot7xbJ$l`~uSQx@z0MA)VtxriV87^Yi!H%gV3GL}zL7h?=8i_9TnDv6{5 zdng@8yR|iG{uif6fwmb+#`3CuYQ@t^#?XfnE+cQh@^o3%k0K+h#zw|hjbn8!$;djJ zRBXSlXUw`XpG}sRRfVIkWqRJgVgoz69$F`O3vrqoGoOj8&F|#yKTXZ_2B=({6hx73p4Rk4De{*(BgqyCRpz z)^qw}H!H53*7fT_-kd_FGi^8(61NZ`b`kY2gBpWWkfrbQqIY8Q4RTNPP#?Y=UiO;G zVpr4Qj9@qBPkT}^dx6zlfH@6>SG351()jc&0%)F?t?bz>DUL1>Mq)M?9c?Yay(4lj zRLj#sShH_M)b@c|wzrDfvQWZEm4U*koubjI`+!!=C3>kyx598@yKNTgfTe%@i@{TF zu)}G4Mr*h?P-7)i$VR)*XQt-E1sCgkr87lpLy>^hJ`>)1a!Lm*%YSdbA`5+qc@=`wRF|=Xq z+aI#yKY5dZfDN{$P5^DI={G=NgQLnbF6r1)4|6nR!9#m-RrgBq6>gR?%;ndLcDLI^~zU#I?p10<@t{ngFcxs$X!@Nur3|{77 z4XRktoPbLC){>qfPIgHJc34YZuey-|qyvK3tD(t-*M;*p?ONZg@>tHXOV1fh7V5W( z-$Qvyc(x%6AMm`$qqKUS;{De=b9tunjOH1@^Dz?iR~{eMwY0p>kIK;Fhv&ZgVPm?; z=f@2t?$H0o&n?jS|MDrJ{Qs9vg;&S-c(UWm%{;zC$$UhPQGC2yQW@KEinZuEV*|PY z!O5@C#nAd*9x|r#Icw1b;+i(FI^T+4sARXGE>{epp{tqX=xdg}OR>FR4=`&aBXnqV zekbt}O0?1(C6}?SeXSb?3JPn9Gb$(46fbX~8I8bUb5bbT`{l^qfySr$y+#lXcvZBI zTsT(KJH}|t4;Hwp$tS=$i3Y)`IGJxLu z2{qkh7$3YvtRDvJR~Xh8daVDa&-zOYSk8XA$;gb;P8FtVAE4X?|8PP?x_wY{Y)3ci z`bxf2(Os!Ccc#Yd2u|J{oV+?XnQ5=OFW}nzfAI&=LcaJ+%zt?Zdp7zyD0fNgv@9d0o|HTN zefYmq3RPm=in5HzY=PerjRiy^7ES@Fn>OH|k5A7gN2|Ln#92jhRRfmL3-*MMO*N>; zG1}fw^an2yTVh|ZwVsu_a;_&ZG+A=Tt`-m4PYDYo)ejK%bCFFl; zQ8(Dnf07AYsz78ullBl3yu=Om)9y{62)&tMIfOQDJILb&oORKO1R4%&+;)f+Z$?5I zx7`$(+_@%~E7yt$9kJW{AKg?=L^6A!z5-CN%{=32L(65PUV&0e-GMr=OI$oEJ3&PnEp{Tc;Z ze?imI2%!2>BzEg$!WdQ%4fW)W4mzbsSVEo(*Ve7OP@>4HlyK^hG6RgOByNDRM z`d(#@Ap=s&a^1k&vVkXL0&mX-9-ImMeKxRnCh*p5;1=q{g?V!}@Ldz=>_vv0>iQR< zXg2r1@m1pM&po&8nooww@M26syDfU~q_RArE)$LtWcX+dQEco~yEkffbG&?ulo4m! zK2>g!EH65m)>%GP6A7nj%HRA$S-EFuM0y6=;^pfU7-AeXOfP}tBAJ@8tqjo~F#Sxo z$Y}fbKo_K9hU&~awL~9mtj@a$|80o2D)El~$1hx#cUhzuzy^b0icf`2b>^ufNIv7z zgyyw}nboCj!24;nBCgajfakkAAZxWOBYfQl;`Vm?S}NYdnn4~rVjN4ZTdrdzOd)h^q$mfg}W z?IQASv5SIWTWq6?mMSJu(cUyv*)7GiRqy-z&6&A5Iov?I@4L_QzR%-%ax-Us|Ns1F z=07w4`8adVEEyxE{Jw38s*&g=5JXEBgZILxX-tdn>tWi^<`DvlD7k$Wc!v(5{&HR; zhet(Bw<=4HO#-e(U&AA^F7L67$JH)S$*-=|7may4R%`%B%?k(e2dDKS(X00MOLNPVI}Zv z)R50cr}EjTzr#$ibzAenp4R=B(kh@hUv4=u^lH#6W2W^tf9CTl)B1Dfybrb)>&lp1 zJew`+r|U;q213hiGl7m?q}~(2&Lscy@=GLGi1l}5fHBxc?!dNEI{s~Ga2P`mmaKX2 z>3Uvry@CO4#{qwb7nm=rZP?|Tc|>|JjAp#tq)~tfyCm3h3l)qMS)L0)pqVf!Ftm-y zK*#XE+McIOm+#+fF+PD553YmmQ8-_ijV6|d<1KuDQC6_vOln8oX1*1Cmjg!h zE-9XzZ7iAOtp{ItFA5U>fjMH;VPvLlJs8}hQdMy0NKb4@lecTV+uPNU(xYPPfN<#X zp#1oqZxR)G#g8pwN4}kkb-4V!SC;q(&0K`DP!M_pYWsQHpIyG6Tl0I}2%i)_l3$!u z{}0UZH&hx5pzj{JT&61%N_><)u>yRyQ#MI_=MZ^r{fTOpi?Wm3|A|WAJ~QrJ@djpG z*IgjwN0f&qV|Da$?ku_3lk=HxJZ3g4riFsv#*Rep7dVKX?avqcZdus6|N37+2ByQC zPM}lry*-@Vu~!NWC2u>>x__Fa`hEmyKV8_mX&P-VAJ0n>{Gy7-KbN9fo-M#2LMF4t zV2Nd8n1h{&(?*svv0uL^dvGag5vH|j)y$?AF$nU74 zZNH47MZ-QIog=~Ta=?$qPjA<=L}kYTj(v*5_3>vQb;xjdIa0J-0Y**SjzKZo%ay@j zNH&wuC1VMWgM^`XG0y7N>Tn&HxQ*Id^ib%(PtST_%Y@F{d?X=QgC`8C`lx!-$6iCG?nv-wXP_8#9MZcj8_v*DcAgzkKbek_&p}kOHy^3*XeEByfU(=YYU5q5|Ck;wv9^ctjHp~!d0G3} z)3b}0t#XHa{GuzmtjW6BJkMHeR`fq%u7X^e&B<)zH^6?dKIaEtk!mr~Oj%=P1z(Cp zoTq|+JPp}gHcGBc&||bq|IG@n&eXfW{=D!;JZW5^rN%HedF6fiQH-oTM`F;`AZz#*nSUvY;Gq<1$MuB{^ez5HX&(PgS-8EM z-}emU`4?cwc}yzPbu~ExdFue-r9UuUJ&ufn+tA2ZN09!^*9O-^m1+p&=~@!!$ysXd zre7a*#ewinKeI}4JW}L8%tyPg;@W9l;@wIJv4LwWv}0{39Y@Jl6u z%9rp-w7!S-;R!nS#vuYgF0rI*MH=S(S*c3YH$4>x{clU|p#ZvRb+Utenm5uRvON^w zO^AiccEOh6r355icB@Q2)SH#+?P|hY|Ks9UKPvPO7x_PJ3pzGr75UF(@(mt*(1uF{ zFw|KxQ*l#&U4+eogPdMFg4{TZKvRz+%*JB~Q-Ea$49p(#%D@N@X1q!0E|_|p0SdrZ zj2U59;p@;`5q{p+-TaWRHHP43DfP6J+Hv6F{Sh9$WG-lv#x36!QiP1h~PTJ>R>*Sz!B%jo}K*M!+7TX2kel-W6xp~ zWc3RlMdv5)4F%_-0wq6(*Uhn%#aFCR%@1QIc9_1#LdW9vyV!;urriRXxhR%{O3B%+ zpjqG!ReXK95)X(*@4X&rZszz?p2mlPf9u2X4`6F}oB6CA!;}W>$oMGO{hut&O)mLu zW;DbPgIql2<7G64Bf+QOY5g*GU<7c^0QMlG@A)veQg)K^wgk7ydzUBR)9EuwB+X&8`U^N5c`n_3bFsH38RUw5-imm##b8J zFXD6*#>EKlJfRW8__UBu>71!Uw!fu z=FhsmtyL~Nfphd7g_LwXDD{m8rEftE5%fKD6LvV_Gt^fUcVUM5nhz_L3(>mjUW6s( z+o}uWltLR#g`UM(fPaxf523V26uM5<_^?8KUzN(FBB@YQncoHvG z|I7-nciZaCwx|;9?~Cy`0I#{CyTqCZY9^~3x3CEH$&mIxXyxE*5k;BUb%zNl>8yyd z?%)s($-;_Lg#GoXJjFS0`SLG76HPTVzyE9*(Wf8;&)1 z=S!&A|2A6&9?cfy9PuRG&CJ4PG9Na}?)Xwk{eQ^375#?8=wLSj73r^_0`aHYbfmSa&joD3)I#l`p&-T|GH= zIKH>Kz`w{CEJF}meOz9MisS!t5f%-c9KZcLhI=A-SrAr{t>W*aGd`jcgn58rkD2X_@Eh^vof&c-z#VP zg{c{yz(n(9F_go%@xmr1Rx}We$?e}K3tr!bcobuQuziHO0q?OYO2OI12DXNM5weSU z{4HKcKqEjuQ| zY@VF|Xqh?4V?1!~5KX1qgBRJ*>%GMD#-!4aTG#g_>%rvqt>C<+%l82WhL<4E7?z5zq=A_l&NzrYQi_Ri-j(j*kr>sU1D4>KT_ ze*nW_lK}+(QkWThEdl!5z*^YI7l1v{Fg`gb*W?b5+ET34ttI<2+VF%vMS&>?UPf-s0R$wFBErC@77&_D)aPun! zH{&ZMLkLm?_jhr4c?xHap~95-PvH|8c;g8#bE9G4MSSc_43(fZD1|WoI4_#$!#`%q zYj8&Fgc85+0J2t>iZr0|Kx(f%?3T$acI1Pd3C9!S%-?>71yt6u6|7xRGTQ~Mw;E6% zQNFsKbM5;3(e})yAm8{{r^Km@&P+YOUwasRY9<$KV6FYkL>X`G=%RMQ32uHM#vmjy2GlVb*D#1gq3Z+Gqz&NLRCJ z*k@ZlK*?kj;EObmyc-H#D<+4~mi@23@b0+y-U9z(3^us^u6-R0z9dP^G)Wz60S;!P z*JlbkZct^!qE2IUuXAH7_FD$PQH(PHIY4YAf&29bcOkF`MH*bHdX9|2CS_{T1knHo zxg!HROYyv=9sMIEU5o zxgFmp#-37Hl(NtYktv=($u)RcOcdgjUDvShLY$(`&8p`Bmsz=_DMR%(qKQte_;oWc- z#79%7S!;uyk@IX*@Cs-fTEp-l4FTlS6-tHIijm_6t6B z^0UyOd=n~=S3scdJph|fnQ)+&e1pPF7M>=j;Jh2q?p75|jXwt8LJ~*%_#V#3xwO*~ z!}-9$p5Xn=0&X#v87zZ<5neeyU9MMvuqcFKO_W;t39kp;-v|wkS_r}+o~}8~P@%aH zG!3_Ra~1eetf2*8LGnSrjPyWWgIwFAUaxkNZE#DtU}fY`nOqNA9ERn2;O3a*(SC?h zW0Gp9N$D3=0sUJg>w|tj81GkdK8j-r@U@W7Jb{Pc9HRyM2%DoZ)C*#$SBSaa4*6|M zj0-p|#aM^f31B>H1ILGN!aphs0rw)HG<}>k)XHF(OoZQ!_%0FDa9HcVa*is;w`y=J zrvWux3)4JppUo^t{>DpQe7MKkbu9;b0=*lmFbB77pIx;NWgbfI@}o#Z%AkJs7ZLGOs! zXWBnlEKD1<;ctcghB%BiO?!v0%mnA7Xrw_Y!c6QXw&=hHr>6n~Wt7`zC>XrtZJ_Ls zI+Wc#+&s!cMe00A7>W?+Z{+?`bbT06q?i-DwnH_RNgP^va{Hekyr}(mK2Hh0AD0TF z%%BNJjt1mea)6fnH_1QhzR@l&T7!nY9}CA2YqB0L_y z>pKl>XydCHdBD|A-;w-YL_t?Qc+W@cIFNyYZFvtoUEonQ>xk>W8VkrvNx#SKk)kyE z1~)TOq-fMz3NqsPuGt8m+`+yZR`4eXBz0BF5dL3#yDo-oZ&!Rt&a3O8pn^DWPVf2| z-uRbk3h@B4K-$C!#r~sMH#hm#9Vg$=TgCog4klAf4#eDrDsfv1PS&Ju5Xw}z|1M^| z7?BR{1_85w*1?Tf#gRYltu7cM@eA%tHl*zLi24hB;P3T_}|D34UO-Ci;exsZ99ksCM@9CEs*#+ zd}3)}db}lY(=phU_&60uQw(4K89E3CXGtK-SxjREOT}92L3Kop_4ji~^=Ei6Z)APV zJd5@egV9!S4ztJ)rdPb^iRL&DZ+heuiDuNS7DEvjQMf)2PJI;NP`eI`{-~i29GGoG3z6OnyqjGyfjZ zgs})7r+pNB&1{%>8O7HkMZ66TIg}YMWfft}i?@G@ut>8gF8R44x!A-N9!#r~J6;2G zxYd4)x7w+JY}ymF9Qi&Pb{ufHnvLKXz8~^nm}PA&sCI!F&(tBgT{FHxhl%vbYFdO^ z!z7}XKL|>Y-_w@w%(&LU%THjKl@r!)e%!j)A)Kxgw|+dPC8)vqtgtN~%J~W9-01sz zX0Bb%#shhQ$>{X<;ehhNiy2iQZxewdIHXg4xoo6oVL7ixDGpw4^2zgFxK#rq7;UzB z=TSH4zMU`UI^f}8Fs(~z1S}SDLHkKKAdB)P)ygwhypRpj%$k6w>c}A9~!?{1WnPc98oE0V;b8fn6_8fAQt*xzZX)en$a*b>m zVgaNy&nl~{U0W+Ryh;c$|=G9+Y;uLeTqWQyAQ#ui^0LsG*13+oyx z?q3cc#BT7FRWVtNOw^P&*HDxPZdz^QbfdYZw%RvURFv0O)>fALs;H6s%A2doz&rxV zup^?T8JTk!4^m%MUn#1a%Ga!|s#oz(qDt>WNjH}@Rh3uDgtx3M^EF5>zLqg&x!{}3 z$XR`PU3v}5@;rRazLxu%M{^62CeLp(buh)S`eqoJ=;4rSm?0sWedWH|in5CGW?wEM zT#$Bu3!K@r)|PKD7A#N-A-6>yB!~=RYpd2)tZhuAhNc@~{Y*F3vZ$&mr!oR{Ekou} z^YJM^e0#6Cs?sZqOH)lZ1c#qMLd)fk-tgrR&NzqLVMGa6T$DS?h!!z%(e7x&DPrTC zZl~cAad9rU%ZL&2aWU=~BUU8D#kymSI593R&K+mO3uk=1JKjhTuJ{CZf-z3S#E)~2 zGZIB?e4;ziz|Ph9@$T_Pl8BE_awi$dI6W`foou+pxOlhQZCoUr2^YC9GAPnzSNW6Tu^NpszEVG+h9WxKPD930+}Xbqx(oCVf$D zePs!&v8t#=Fd7u>MeSWtQ(g~~IONil^Qod^JrC z>&vQ|n#`CQn%2zRP=#ai>XbR2xm@-WOVKRXRf)!yrYb`pd9k+2SJP05hE`WsRhfXM zTRCsuedU#9@HbT82uNSfh_9?{O?^vQ#fA;@=9QJUrYTc z&ZRkF&RJPwNwjxj77ba$&lw%w8WYA^I#)DFBR+Xw7Fl$uRhKj029!xq?!A2livrt;ISw15$3TecH#+G?g zOMPWkQ+1uSIfrW{=vfWx#w0U*W>b0nnkv;6;h)ujK}$n*nS{fF)D7w85XaJZEli-# zsjZheFT;?cg{II#W_+_M8`hTB)<+J%6!o#Tp}7oNubNw3URwvlV{I=8Kf4J7x7xKj z#a8JwKAD+y4Qo(yP1A;<3xuX^oTYL;qUO^jbgi9?!RF+j%t%cU> zszljh@2v|9yk#P-9LEuDT-(snERXbTZbYS?ih9BJXQHj|l33Sp9}aE`tFED`*|@)IBZm3RtD;u& z%gikmIBd{Ll%0a?=6DRDZnPtI(nQQMGw*BRsVZNq?1lD8ISr#o+9ye90i%LxZ~0O& zB~O$u7v<$*$`nyiC(WH1QPm*s6;)pnd3j<@m005wwHrj;a*>;xC+eEvh&rEGTP$YeiM3vFBmUQlwRK|c zS}|jWs4vI-Wj%z~SBXh^Vv?v|Pe3#*6PxlxLxb3~Ni=%Jv^>#RCmIoC!HuG^QB0dA z8k_yZy zpfyxBw4kC3m^^e#Wo6RMoRuwF>e)r0AS-Ihn?`&X4~0G98-tQYd}ZjFVVW#5nrj-+ zO{{Bx313fnWg|jlSW`fHdb+d#ve>L$MJ~f&CdXlf8N8{y*4HfI1qu(>Boj3ja2_NF zQ>;>|vYb~CgV^I&mF2Gvrz_oG7Er}owE_0jS5;O~U0&AM)Uc)rb=`WQbO2Rh9040# z1`}Z=;=W~lSxY0Qxa>fEoEB$};wZbl9(K2~Y+-rD{k|rcM4^#oRn6#KMlr*qsf!x0 zMuC|g16z4CeOY;Jb5&8e`wg>%=~8-GLsQu@jCNuC!4Zd_6F-jVZ^hVP;qpSo*~T7@4_;SMNwhYGh_xd+CO)1$&?sBngIb$mTz zgwym^6@G^b*JBH>`Nnb&@E~DaIvsYt(~7R+vD4kZG{b9rlFhI2&)v^8@VN#)*TCl* z_*?^@Yv6MYTu1|YvEt!3&G7}cUCPVux63J4z-Mon;gZJiN1rh1@rr(*a>pxNk814x zixoXl@#}TxYZcDVhx1D5GbJoCy}}-@R^iiZ@>Z*GnTnpR=;M{YLAi@;;kMhtEw_c! zgYR-1-mAjR(()Bu>rKJuI1eelN0f{0CEPnB+Lhn^wwZs9(TRUW;a|1!AL}*wx)e@+ z{x+!aR-AGIim%5a2eA0M@;`2oL;mf`|AYmn{HK(EhjPiw-#;q2&@`;m;};pWl=G`<4ISl}moge?j>VDObmPMEQSa<3FnWzqIkcru?@nJ!v_wE4Q4_-n_^`afCWl)*4JDF2N%{u#dCGmbpvx5^=& zukf2K{0y^5`HPiHUdC~Y@-MaV-=_R4l&jOTQu*&zuFmg0%D-BAzq3?KsGP(e?K#ytdbNf4!n}oq<=gC4Q#i85{k}Hh+im(;o1$`e{>I6fVf2SsOH+;Qb=D# z{D1X@7KZ7?<8?bDeG`5epy!N1C+v8jR3(`&~ofwO$<@ooY> zjB>T(TY;YjZcooH#c!8?Nb%e86TpLz^Bd-?Fv*}JWx_>ydu4&gK2e43fLG}fXTDk9 zJCNQh;p#Fco{Qg3;Llj_EZncaZ{YR5&_8K>VUl}cQp&<4quUvX-V#-ql-B7gOv)%s z%5T&4lJdIoi~F~}&?+6SFv(5)Y5Yoo|JH`@hd=GdeIY(ukm*wV$H)&n1^Kn&Ebn2Y ztJ=b!%6stT@9zs8(Ky;%VNwb-)E3>Tj5+yu?r#u$OMpqaOWI-s&byOVKNhtmy4%&s zykz0G0(|0)zR~clxEiPzBR@J;E(b%4chbSJL-@o`1M6^lj1!F6oSJb9$39x}#*g z$3X7|-3`5J{dkg6Ow}{Z(7x2p>b6*FCjcgcM?}R zHK0>o4EHpCo?rKcC>Ldt!7^dG_v6x+KA#5t_}hIUAA_ng&R`RTmvq|Q?7qGbUxd{3 zd_`wGCqdr_`uipwdbl@Y{t}_`*8aZGp7ZdrJhH&IbD$4z7~;CcEO(}Zm&KlM!*`v| zvFAMqHwAo7$vsk!C@;@~Qy$B^7x*TPTiP4*MSWzTKJh3FDbK6}TcQHdr~};+VtSv% z&-1Q1u8|<>D&_CNZwK%X;Y$2((B7R?T$_vGj^Wq%USH?|O-EhM!aeQzao}wl54YFR z{Y+cTlB81b@Ji(m>C8CU7y3Q!ouN!s=65GGTIw3*d%+j?eqSgGmCyMx_@td(BJFJ0 ziY!j*iPB~Sm6_>nN4SB(zR(qvk008e%;%H9gTPyf{~Yqr&v0zPi{bWz?)j}bev;u7 zehhd%@CV`7^2kqnz7zN);*UX|iU(ec9eMn{NOoig!s)Rs`6(|KKg!c>jX2APm!&=x zQJ@|lNPU9dif~_t>%7*?*P^5pcAnt@nnjKpSAK?fW3?1Be#$xyIrec2)71-{b1Qu@ zy({p08Mr~vGESp?BmX7D)kXex{3zdwThbLC|1e=XWemr39Y8qFRh;;;g7_>U-45f)^r_H{C1q}h3TDY z<9DJSQD4-%mcx8Z1g`ZfaiwFB%={~QI3EmyAMGyX8Mu!W&Zp@1aNWRJKKy95bKJ~u znZhf}U>E57hWbK}!5aQd0=Pw-=Um|inqi<40M2H1M7X{QH4#kAQPLyCZ^}Q^0pd;CG@T z?T&y?1ilZrUH@5%U(Typ2DqqCFYx2w=Qu%M#4CZH2L32PHLlFU?Iz$gAN7R}5tn_X zIVTCv5->*?nU#>q9Cz*s1U z-eP(ZVG+`P-xn%jhlccoQ)7<*7bo>%#$iqXI5z;3DVMILzq|cJg#N%7HrGE8g}kVj zT>MgiW7-k6qr_L>=LT-K$Fv`D5#+Q37ZLcMB>b`2Z(HNtqxi3aYsG0lDBm9MNyX24 zVCDY=e#$3i#V0_&r-9q$Oa~r}fENNE03PngAdh-j1^jpfe%T)Yx5wKJ{+A=*PXj*? z0pAaNUj+HbfbRxwFPBrmcLL`cu{FOqKV9sIAZH@*?GbQ}!+U^p;$@ZN1-=eG&=0*|EsT*YtIGu!D3;FQnxMwu`BcnI`f(76t%^UZLaSh4&YHI8tL&2gnn z_b$-c-X>|f&Oh)B;P(1`0(e@4_HYI`+jF9p1DATC{h)lioK)a!&-U`m1)SC32cFGv z`0<*K-zj*~fLGyO;;@kct|N8B*czQ&4{CGWVh$mgu8F9~HQ=}EiE^@luLjO>)0lG9 zP=s>u;Zo5PK@JY>5SxMf#+HK~#9RuaoL%5Q9zo6_;Jv`h#+K9OvZUt>_{E<_=Zp0( zF$VS!a#mNM9Oj)EQ+GM^L4 ze1nhaJ_$SnxZSRQ0z5kcJ^_X(--a`v(}8<{@6z$x<_LggK30IQ7kt-iKB@oPk_<)n zfj$8Gb))E|Vft3kPoIar2Xve!G-7|C2dtV)Jy1`_K+iu9{S4@>phrrdEPo6TdO)}8 zOXeT=cHkGxKllts|Cssnft~?+@u>WpOD9bKR?t_UhrS2&9?)-R_%uV!;g(3lE%Oh0 zFX-X?sW~jzW%--|eL#mlgVjV?J|p2LU?68iMNU8UkOg`M=mFe2DRhi_unK(J$B@Hx zZUTMhdFW4qz7OhC1z1E4pt9>6b_u)9IO(-y-uYa%ioiRiGh<4464 z?vI)N>7dtu&Uv#gKjMYJdw@foCJvYQD&U)eTjvSPj}Le&@bI|Nl3s?}3i=Mv!~GX9 zhT8>vC-6zQ*YRupl71BQeW2%R`qI($^AzaEL7%MYHoK6BiW3BViKg4aPX|3Ep&u^^ ztN3knFX-8z-yDI?a;O8n2K1w({{XXB4feHip#h2sfC%X-}H zWK9NYuA3eM-|nRT&_9pxo%39o`TPWY*~#bXc>)?}2Jn$_>xdp1E(`P?&`Y#@H9qnJ zf7yn!Tq@b%-Tmfx>NPwik$XAJ{)YK#2fYz=fh;&*lyp2(yo-+$`CJhkX1&-2KF`Jd zqsEm?&mrLX5pZr{%#MJc0iF>7Ps9U~G~nnqMwM?Wa0B>Cjl+Jlxk{M2@PaGT;RWAH z@Y(G{CGb|@R{OwwZvwsn_`Rd#uHblBStT>yPlIna_~496*M0!|fWJWeA5*ATq^mSZ zKZ67;>-|aat-eIno6V9hqJ9&xV45NThNKB0T$Z{anKmE}VY`v_B6Uu%^4%e166J z$6ad4kHVS%j0m{QzYS;n?fA6Gp73|J;6_a9%~XhpPm><2>Qo72O_=&rf!qCmh#5Nw!0TdcLw2h+rp(n zCyB7X`+$E9_s*@*JnE;cof)I|MRENzSO>;;`GI+6~T@pAq1<@3m8SD$jN8h@Tfr-kvQ zu6Yc<3v>_Y7$I2Vg$EbuM=wA>bpd)J5_~@S(=R~xUVvVw=yH5L@!b4%gT6uMKki)m zF3@+LFaH;ypSl2@>!0V7&-Ksq(Y+U-*Ij_#eI7dN)hdy$ zg5C@ISnb7$0li_2O-}{A5%fs)o%OB|^xpG?ucZ7*V~1}Cy%qHDz%Dy+#G6=dE@p9u z1M|(xzHgj3;~u`QKXd~b)I}@{Klk-$N04W>{ad(7C^;Bz1%COd=6oBvO5qv?arVy} zfO8&g#oOWC0em5Gb&>x`{Eh=(ph39A_s~DtTuTM3+YN!)Bc%V2s>;~H^)Ssd?wN6WH=}Ckujw|0+-_%(r}SK3-|%xlOT?hdv>I^kC04($k53{{ilqZgVY4$|oP6Po4&!{PL>F zXR;UtNon#4NvD(PnGU|;%>K|x7NM*!q-TNd&Nau$c0DkCD?o1q{Z58g zYZwey2Yes!A6y9!=Xf!zuw{Ugu}&B1cx)p)clL+AXwk1OPs-f|`u3Imp{H=KUx5)08)=T-CFcsbUcnGQMkzL%^9Hd%P!rGrxBH4DfxxIbP8h^OXp_lAq%MtA0{} z4+Af@;4F_^;2G6eFASH5Tzl|xuPx=R0$#cXcE}QrxDWVF;2Vgmi+DG1ca1rpMf@2g z5obM21I~3veWl`tb}R$<5b8&`-Yk49x@e2DDBvpU#t{#(Ssquy!9_C1VsG^R_gt*l5o z0NYGEKsx6co=5ui{_yZxKLs#fXF%Tx`dI?Hz2WVT?wEjUi}Nw2M%v|xxNCj1Uq081 zU7MUhofqpX;EC-5`E zWkv+M#I_RPq0asA;#=yCwnW$h$s8;dgz=#&Av) z;)bvGhyH^A!eP&}S#FkHZ!A3hju6?Hj$DK@y81&)30Umu3g9bkIO`?n89l%w*$dJ+ z&)D7FANmK%lWUoHR;|_?N#{HxKhPg~o^+Idc#S^aOwUo!2S8s&x=Ii8cM^Eomi|yV z%T2cbkrq0lm&ME<-o#;GQ!f+IR98PX(*7TdGTZ0KyG`MDr$&Wafp9B(`a`#=_)wom zz4K#k^^^Jxhoe5(&$WI{)f?oG^?>Pr8u)hL8{t~hZ`u2A-9ZQ@(++T-#lSaUH<=DK z&eP)>#>agY1KUTBqliy{4vqt#gnO+=;?sej2Hr$mrH?r087seeZarNEyc9TxEt;R@ z=u`aCPT0yh3-qm^4*>QW9slO2s_f-)s8a6K{hq9miZ}W5pK5bIF~quQ|m1u3Zk%46g4o0ug%R zYR80|T^>i}+E*Ro9b$uy1l*d*1bvd@vIpORIU0y}y&v!RUA*hR;>D-&;8PrwG2RhZ z<67%jmmtK$GJC)-a>O}ZNsh}+%=i(~FXOw^kuYmOoWKaT8q|g%1xvk({{MSC)uU#ACmo>%ylw6>hmtsB=9RE&eUqq$J$w zI^+;XRM92my1wrayOl3-0(h=<%@N#s3+b0`EED1%qg)vI?u&Bmj22&wUMLCiIg{3j z&00puH5iI~i#}7QQ(PI29IYjVT`{}NQKK+Oj=#v|cZkvgDJ|(DCSs~Y?)iTZVVy{G ziTzNw+KFZ;6eLpJtXO4AvZ$0X=ZP8)} z%giC79u&KuGtUV~WW>1K-!WaJNM5^tVODFJ0A7u-g}hiMy!PdqE=?k@QanTEg%Xih z-YnDQGc#Uzx+E_&S$S=kZ89jaVz&xNd&Ucvd;7b*7+7b*7+$omc?iA(D zQSKt;=3n5ux2BZ8{{Mx(r>iBl{tv~k<$vy;Ujrd^i6N8k^o;OuP6A>2SYpzfYw+!J zobn^mc`TAhuiRMQym77R;!ue6rmDJfg6ggjUn)Pw2=I5$K`kD%yARs>vT_#T)lJS?Xt*sF0 zU#vhX)-?DU%PTYFjYyZ@i3bZm7q4lVBK^MR=CQK**W%+4z=fag-}U%Gy8~pf(Bn*R z`1#F6@RLP{*W(NA)})&OIG&hJl+ z9&c#6J^pD3YYnf*FWS}P9fps^&mNw8g_x!o{CMf{nReB1%OsK>zB6yQcxMf7sBwXI zGZ?Am(&IcWhkJdj;Y*dh)b6V5Mr%xm(;^FO;q`b@yBA9TVijKNSAT!|fEt(1V+FBX zhUK2Ox8lbv>hPcRn*l!QH`A@_33++x{F^=@DsV$iJzh;wb~m>J%bW>uh&X|&6 z&;K`pv+ij&J)SjYnc+)SGBjPsuj|3L5tb~P-Z`M(Fv% z>Krq?8EWLe=F`Y-6;{Wu!*5XW@1$|ETsnU3a&5$#ej~@6uNW$R!xEOaI-G|0&s2gtYk{(irY$LEjl zJiLA0*ZF;}bDis)``iO8aZR0Iv)K&u6K}*DltRBTj5N^gh*ME%Mv{?W3^dL%`m1;| zJz4d#OV}NK*J*!{BAN#E1W7Gs2f44%eQ`41-rMOMK|$I3qOQNKzNV zL%6K*)qUfP>U)eNUWhU>$42AX;(o~A?^Yv;*BZ#Yn4fLn)q?t4&NY&F^@q&MjQi|^ zrwXj?GsDgNNc#Wi(;KS!H?GaN*5SGYrG;?4i2KjMzv8+P_kYFp7u^3A%)@mbF7p${ z{S_iS2QG#DHm?1+7USY)FPMUBCa#UR`rx__*D1L8S&M6s+^+(waQz0?<+%3X`V8?q zaV^6A7vQI0Ij(==;^#duh-(<`OTot&2)+h%;JOX>X}JD`izfC7!lr|t;mXH#1LQei zFI<1eH3QdFT({tQ6juwbOK|-K*T0dLdV3$&7+h~cJ{w#P{sG*E>j&JsL4FW_<`Q^5te7UTX4a276@sj?-;{|)ja zunc?-*R!}D!sWsBJ;EDt9mF*P*Y&vmiHn~<;wnZOey#*B#I*(2(-QVN$mw$t;_m== zEv-wn3n%Eh%3*IZouyaq1E)r|Yo!B22)!TkleHsJnA z@GWp3$j={f|1qxTaq;u8koVQN{|MX#ZpHNyuHBG7#Pt-e6Cm%z^#QJtxIV(g&n8@d z!c_@*nuOgCPR2D3*Dwilf%!=H4EQQohKnC3^nc&~7ye(+ zq>2B_HVo{NZxH0Ga1FtAZI?K!ILad2jQb3WoQeBc7P-W7&)ZwN$X&%e1bA`H?GkYp zn^_62{wPT#InkQ#i)Q-$Ptg4`F7|Jo85Qknr9v;XR1~1Y!%JK6Us%i0fi4 z#{7Rbq*7evxQZp_K4G@-&q87at|=Cox4#hicHz_D3|!aX`n80aSZ&^PVI}0>;kr@6 z9|kLMy@+eOgqe6xZq5gPYX*WJ;M#%f_Y(Fm;Yi^+p&QJ_^|r{>!mfBw0v-i#lKW?c zZ-GC@b)Cq>Qn{ZB9>sMvu3IH+iEt&DApWHl_y3V_mymEE{s1@t?6icNx2fihFa?|} z_upCKX5#)blyRoi*B7jj_}SoIT!%#-Eos7#ufqL)@GNkYg!cnqm$aFYk zex~EP2w^`e$uQD|_kcyXvJq!~Zjk#SU={)|1t)+fO89xgU1kPw4z6!;U4gilz`?jS z;+iLErPzHAk6&yN^Zu0 zUc~vp72xCG@4@l7p1^f7uFVL$7aWMI5cmA#;Jyib6?_9+2=bE-zM^l{|1Vqa1BlDO zb%%tF6aE=ttK_~8_twuh7GW#yA4mMVlIC)W`z81fgzf8+*OFD~in4yXf`2+$$Hp6R z>LzoDDaWguS{fcc@#?7rd(g*B`2=;-z=@1cynZS&8Y6OV70%~3e&X@e#!o3XD)_`3 zeH8Iu5^v&-6AAS!M8+E@5$f5Dj5iVqqx~{7y>58ua#QZB;+NlK$_^#-xr;aPd?3VU zV?;hh$$YNkO}uex7x^?L7nYdu{gk{YBA>40>WF-XmhUmspQ&W?zj*azXG*N^tf+vy zc;oCY^3S@+1G>oPbdk^PBA?eqPBNZA7ebf>^syIUJif({w6tm;cPiwyh;M{L;GALn zOBjOEeR$r1%=lX{R~{^~^;12+|Kc$w;yz{rRwmmsv0-95u^$R#dv!rk=Mb&qsUQpWu@C6EGyX zSSV18s?UooNtX7Wj(8{f$2rdSEP~u>w;6*(rcX(NbH7l^+raWJv>9AynEr0mR|;oB z%VhocqrVMTM*I5)(x*Vb%+K`iL2<4B!t;lu|A-mk0OyJP2jquYCsCj5?*~Yj)YoRv z2Q&X9RGjfgn?e7;`mVtgX!tx@UJ>M^K1LGt&HP^?f9PBN9MAj@BEIzttfQFP%pV6u zHljaMrTn88<3>J7;6-R}%3gg2!So@tZzIM7#i;VfAb-obHnpc=`4c!Wkn;h`Zpck% z*^K8zZU@be6F2)&z8eb$XDZA0Kp*ZWp>+JCoQwSJy`tl>2lW?1Kb)!T-}h+92K3i# z&l5~<>F;{T)z~x)MtZgf#j3Lxz&OSDy7Nnv*D}~gYI{)SU*>U@Xs#jO9Jp~jE$ zdi1aQJ$s<86*d8TylJ z(cc3JNMxDMv^(=deU6AMDQE}ehfrVWaJ0RTLvF>!Fyh}JS3~9!$M*e`@h3$6UpCq^ z$EGWNuc>j!p$wnpJ15}F68Hi@UH;#KZg2qQU67d*}lby zFYRwrD=*_WpgptD9&>4eZPwMCTxsu$34q?gZda6 z)khiH--7WvQR4r?_E`MoCoCWB`J2T52Xed3rk)>IUILcLRw&oBmovCzCfd}w1>-M; z9Ky!chIvZ)8p!R?Uxt)-3*?3iYz9|G#y!CX29RT z%+>g`;HDvf@qt5OeZ%RW;V)Sq<@Zp32IkKc$n4K&kVEhXa7#+Ia|?m-GUd}DXISj< za>z|b_47UR??ijXz`o4!Uxx8r-YY7PL;56({-;B3Jk@4Ql=>cloQw62&18ACkQ?xj zwNvCeFbVn?0#YB1h%dFQANIcRC*i36pJslPXO7PS=(pkIs6RLp=}SMw^AgIVKJEZR z@SmrOd>-`K3V%j>XL~x)zuea7d@4l#7R)zuK8!^A{+9W;p6yGE+V74NP>_6R?_)78 z?XO`BanJg9BRwCG%=Yd?dN=%EK;pBYm?n%L$DirBPdE3=ry9MCFOfeN{`542v%P(| z<+Iq=*^u1{HX~Q!r=a{&i~mbudOTcRAo0`CpBC5?>tlIEkV`L%_U9U=x2%tD$SK(W zOp){@klXQqn=5iF6y3O9`+v6o{h=stcy#~64z*roQ|A+m_aT3^#oiu*zH{N9*glT` zZy1mHw^_=+4$R$yH9cPIrxW(K4(n-xq<;?SGhokL|Jk1qMnjMf?c?kLut)4)Xzz?4iiz8R`DLzWmm%JX`7vDL-#|l>&>qu1 z`eEXl&m&H>u#xp!)|=7D-wu0$n^EQ8Lb-Qzyw1dURO0}{wC}^zhkV$+7g3(u62BXA z)8MGR+{yN%JX62FfSi$RQ)dqB&jF-wgnhAm${(Tq)$or{qtfRqNZ$m1n=bJmTlABJ zu!U%k`!9Nb%<&qA_BL9c7k05f$X_V=zkr;A@xD;xLzH2^ZjrH68%@8lsWSzZcj7s) zM>tQj{TD*cu=uYV(a;v`C(c8DrcXnB$THt9c3?a{kB-N9#Jh0_Z}xXFk* z{waX+GEm-$h-3SI$Mn!wG6DHx$fbr2Z%4KK4de#c3$m$rClG2TkM*;@CsA-S<~Qw;paD_yNS5>HmoG8nGS+rM_1n zyWtbk8m6Lu)g;Z-}GtpdHGk+U#?}m`lGxS zi@s-fY411`(u(yLW~RpHBBXElHtIjGgj|jN&K$(EeIqRP$@>3-`nJPfO#NQV{OB*^ zm_8l)YWP=lJ#}=czZeNiE%WIOlviqb-q;6u6zrSj(SGj2L~3fZsdv8|-wwpvE%x|( zB+P~VW7w7bKLUBJW&Gw)ALmEs!^wkTerUfrUW=iKQcHjSfb{Kn9v(0Kc@5>cp>NY4 z@1uUOehiWLWRzEWd2~Jf2JxjSQTb0umuuPYe0&1z;}iXUnf-Ajp?}{;pEtfjd^P+L z+^Fi$bMR;G*Y$fKrXPp;mP0>g`v)U`JI0IpqW;H2u7*9sOq6^h+lRwsn1m|NgZL&m zNwfVGh;O&-zf-Z^nBQA);`z87>7B4ws9lx!0OVYo&8QO@RYyK-!|#&NKh$r|&o?Qf z@)Hrq_PH;Izr^^R3Yp{U#6sEt{h0Rj5ZgN_y8k^2eY9L+Q}4mp|JzfLQ9i7%-(~8& zGU*K5v%CvY-Wp4J=$g^`Pkg@s@yve(;@z+pwuf>P>I+%zFA4p{dTsVM2>WneY>TA- z5%G-{fBGc+VF>G&xj*Q8KJ;VpzjM)F9{gS;^=(Ie8J7KM9UFrE0H+z--x`npw&-_G zY+n}ITWhiBWpLE3Z|nCBjGuz~oUoq-$WQ&A)(iSXdrf^F<0 zd~8jOCd|+2lHLdXH^bg&E7b4hNZ*9@*-SqH@({~>x*2kcWxR%CJlfyX-+N(yD-hpc z8NVUWcL?+KB&oj%?Q6w&BAKdhJmMP%+SGe==6@CX4Sg7$4<}!M`tZE!m-dc>ock^N zs{4B*Z+?tEzg03G`yY-k_5A?mL#W1PjD*bc>k!|9`De!WL%jK+4mxo)U_J~5nSKQ9 z$^ACYokR{He>>JIH)NLo7UZNKqVxY_$fbRv`?0SfyT6OZ&!qiX^l=~cIXJpsT7>x4 zz52Trtp9!JtLd|-z5Igtp`X6eo;Aqdi19%(rO%fjJ1zd<>5HKc*t=;DnES@c%gz1! z$;LZK-)iyiHaH&VS2%J-zghpEP+#aH{SJrn*I@X4VHH)4A<&UIlavNJkK95LVWWpMiPSI!@uqGQ)=V6TtD ze%rC%uRuJ@TNej?zM;P-rP_=7n{b}D81WphZ@bLjXVCs8%*Ra0zXkfrfWA!qehK{) zTh`N&D9<>epI2GlHt44v<7v+K8xY?Pe?ouC_}(z2fyi(A?{|8r6{ zE|v6KuuzAfKiVhTe+Cp;+J-QZJCJ_`#w!sr=j#BJUv06UN|cv`{RX?q`X535lrIe9 z&ys)gWw1y1E3>@`n3zqi(fLq^{H1t#i6u$Z{}kjF`17EY_afwWwD&rZYhVxVB{ri# z(l0>!otV!)k>A94HCpWLOXPQ3&XbNnHa||>q@h2hL!$M6i}vq^eW4iD-=8I;KbXHK zLuUWDkMuv3^27jHiB@U>}Pt`tOB-Xh3-mi64#p)$kW)c~c-aS^Rwt+S7#R zKhuAmkN!4P+0^>Y@tKG8PV5(cDeVcP{v_CsIeu`>M(No$rn2STon!+9gJ zvAzt-Sbr}S`4-B(Y(|F2C6Gf0_4zl`KLR-e{$i@cFN5sH^ZzK3o8dolalUdTWY!-* zdv{pYr!VYi-_Gd!hhg+LtD@;wqr8?Aqx+XnAeTZPaMP;2-$M@JJlOPCCt^IEu>VUW z-UWTMAJE^6VEwC5e*@OT@zS0FNZ*9==s(z>8A#s%{hcZC<5`e=lEAI7&m_zF!U~M9 z`Qdmsz+Q5%#(9G1`%|P3S@s7%NBOy*Mc4b?$dmFjoBF;c>wg*T3!!|oeHXKR3DNb* z@MPXJZEV)$@rGyO)a%BLo$9%6!h~$s49|?Q=BrWo@J=Fcg;%kbQs zU+k`w5=*^h1)j>HvI=irF=A%iFfBEObuG%9T~wJm4ENm0qUK*z|}or z>PTejo@!cl`G~yI(t?tFmwU>b`KXi4E2|jBw#;8pSwNN-peHw%;|%{v0i*4)bJriVO1Y@D%2i<-5?2oAdL~oon+d^E?a6=6MzslojO_ zd&)~t@m-#5g=u*eMU@4f5{0Qnv&-_z?z#cWDOyl+Tp8!*EgHXIekqz#UXVYvpk!V} z;c?|F%UfvX^LVbk_S)mhtYo&t}nMR{dqd3TLp0JA%u0V*oL0oIyt>Z~AtoOkZrf-;Y%r}`%!SCKtw^M7Aj z7X|lNP)~u!)ztr?_a#LOJmc=FC=i`sRF13EpH{&CvcMj7(7i0JhHl}<)#e@yvRgr7 zlikAM5V9-M;S1-(SymL#L1b5?rg%#V7L~%93-V3ZS5{C_Shiqc#Oq8fsF>_V>KQj6 z{S~wG@;wEM<`k4x&`Fq{32EqR7nEdIcoDg1SQ<=iLCG9%Sy@5JoB|IF?ha2uS=oXz)zMP)qX1(yCl8To|B`LZJR&x; zwi#$jmqC~@`8d<7#vET;#Hz4QJHGTRI<_4@sZo_QMt{dhYHEJI zx1wMX2A7)U&{aUme8Xbelj(B7PGU&J`sD&SXVqfuc+MWAY!Z# zyW7fwve^sD3!?KOV#Zuy)MSlpkW+_yJVo&0@KjtqJf(WpPq8|~p10Nv&0oNMeZHsE zJG;1Oj;FkAj;q)`rP4iRTDGUBeRlRRJRWqPaNYOqrl-m7HaWYeRVEqRV0iD!`Q07{ z=+x0-Z|NMYS=iC>`PJyeZO>%nf?TU?JuJ)Gq@JqjG62~r9tZofJ%Z6BGT~x}u;+>Y z|H?Fq9j>1+-|lAK<3qkVbBavn5 zaa5j^%3({{d zC~DJZqbkrW>3?W|)-4)(pS zd!<`}fi5V;T9$3@lZ(w!O&y^&wKyZjQ|W>V&w{y17p4KId?`>#eo;AWp}=J^7#Q0y zod3p#q%wt4H87GVrg>%1rEUm<(xjcHiJ1eSb-@IxN}eWT1>=Eofj&*f3RhmVC}QU3 zULw0Zb)@RS+@i8*7uW{X1+b@hw8v}!CJZDs9foz84#Ue>a>O>G4?qQXG7pDf_H=V+ z-F2Gb6+wyz#yE;&lwDC;Jb4aWNGdJaQ&E;zR8fw3rzW2(d-i0NdPb@TmBII-`6Fa# zF^U$2Vw;|Y$xwi&?P7J@4bv9gqN6c0vg^pGtYXHV^1Qj66;y*Z5KI-k0D#q-T8j)_ zqymnOI`UWhz3lRIP84qi4w_I>v>0>7nPqbXy4#qgUY+5;m{?MmIg6zKKQYp}B1E#e zMV7hG?x^97r0AiUmQLuzmVne@(U~K&hPp(#7P~RkIRdpq`KI$64quGPbX=X*17yw< z(-^FiA+q$8U%^*893MJX90BnlRV+mx&xo?jX~vmdRxnr1NqJt5oq**qSIY#XbIixd zpV<#M05#R9KXQsCi|1vrUf@@!BJbO873yrF^zFERO9JmRW95cl1q` zZioy)8qTGnenXF)N+3*T+;D7kysaESq39RUM{Cxe9JvJb7NMc=JtN$ZV6kQm^2-x*YZ|DARSI$f%=|68{@#BeReL zYOdY14^c52ixoLiRm9yu|MaisW@=7kH5XSH^|4*1@&9@q;G>DT2;)&j8u;JZK(uee z=b&d=iCCtw)Qj(2Fb~^yb+RpU2ioY#7nzQ}%c@}ZPn*mY&=C#Fx~);WD3on=p*_^0 zW~q#PWN57WT0K#?&gdHWGTeiAB2nu#4UF4_$Ye52b39y5Pun2XJX9W?8~^=8!@e_B zjS&0Qebtn9nd^CUOwvoe<%OQvd2{YCch23P2+(LLoX`AT96{>H=3rZpn2U4iA$aFr!;boB8CB_U5o`+aw zmzisNJH!mfAv+#MyKZL|c=?p#DZ^{i0zE2f{W0B@bysVS-f=BD(j_#DrJ`o+uyy0~ zzn+-rCyoGg zA5B$7o(a(QQIX|MTCWwM9tR7cpaplCn>R6=E{-W;a9t+7#gw=s>M~`cm0)KYT~E2K zv~1rYntQnD@_4+b5Y{6IX*wQ`)kE&>d^w~nK zEpLsZ=bwCo68jYfIUnE|c9$3wqh3Tr-bhQiU6LKMa5>?}VOFFR%K>sUkVVHNVn*{d zAhsFh^4)|;*c}CTdGgiE`sl)V?>Kdg~*d-%%$d>`by(QRwM+;;)H9pMhOc02m$kJc5fM571 zD#kbQ#LXbKOZkx_xb89fHIX_k?^=rrOjQm{cS1ULMVYsxqG&$ex~n(o`iKK_9;cgn zHxd)C8>Py^RH)<^v^;rb^Y9J5627cc{q9;b3d5nSE-Y5XQW}-gQ)vjsQKHTm`4)yb zS}_9>Ifn19E$L?0!4Qi?+wj^#SJAaUmevi+Uobxp--=N>>REB}h7JvgN!-PXtmQZx{>C_gqib^W|~?Y-ERJbvSK^YZK%xBIF4QQ zEG1eE&zjsC&epR*G5RwDyUYOub6qlr&Z<@!HdT^!(yA=cnP!;@ItSfkx2{EdZk-Y| z#)xl=7^HPtTgKMfMRQ#7>WVXcc3yeGNSW@@n%Iz-ITRaZ9k0kiZ|pFd8dk$==_pjd z!mTZeEjy;#Xk)wU#hh@;pLN$VUf)EgE#E&-Ny;>Pun&ACr3ZcR=~f%Fb#SEzF(x8y z!2n%hR@=q%$^dgVS+y6POFcEfs>E(~VQSJccVaaeJ25SBXhgTM{~sEn7t|TqJ+)FD z0`yR1)H1r&Ci`xs-(wURqpD~gT9AsmEX;BqBT&HFU;D?i z5f2E}0|&m768TCLzC}8I!dR=wZ*I!>r6%ybM9G}u1?5F0^CrmmnPOr+6Eb0s(Ql+q zc2CBS2%s%<%kr?pK#TANQM`JKY|rp*KJ-R1j6-|zlEM-)VL{oPf_xo~Qp)598>Be? z_}?Nm-9iz74cRdY=`ps4T-{1mKMH|&h&Zo1R*Q6s?zvS)Bj0>qTHq-y%*P3% zI`yX3)HjId;YFGC9_OBhr-08YNI4rnlc6K=vnCJj!tYZ8|AQYqA@9Y{u92JZGj8Ng zp}keh9|%7del6_%k&aImUL_na{8D)C$2#4G!hGRV!akqq`1gh5_Gx*#@LK$=7u)r7 z{LB(L!)8<5E1Zv?U1InE{LCP^Qs~3acu{@`KYL3~#Lv)>tA)M$X!#c5HsKfe-E>U1 z(4m=*pPi%pxzLB7b)q~HKchw7h#wdu=Ljd_XLTtb#qU5MZ^F-#kzwJ9_*pv2>G+vL za?<&lGlbV&sO32POd8`)748wX3cnJbe~C^vL^xV_t?+uGN4Qh?PvPgnQ}Hu^tnXZ5 zs&J<8cKl2e;};6w5T1CA4!>2nRJcc2nW5t+j@5iUQ}Z9fT`nzOIze;TB+Y%ow8>h& zAxqOEyz_c3?-%}ix|UDBN%N(fHILk)Idqoh&9`Y@oTvF=zUEB@nnB?<;Z=n?JX=^K zTq1l}_>6Fq@CV^(MLPc=;Wfe>;T^&n;iJO+!rSKS{Pzf-7QQR&U8>{H5soj@a-r~X z;VZ%!XglmOO!gaz8!i~a^uvxfW zxI@??+%4QA+$(Gq?h}TE2ZZgygTfBsQ6YX2hSG;!m>^6PI)(j&{e=UB_(58gKUp|X zI7FBtOcRb0juB=EGli3cQ-yBf4B<@SEMcxNUsxzC7M2Ptgo}iWh1J4ZVZHD^VS{kF zaD{NCuu-^5xJI~E*d$yh+#uX23<;Zs+l4!XEyCTxJ;J@hR^dKjSa?9#E<7mg5FQoc zhg z6yo>jsD70SD};-Li-py~T4BBLK4F7!xp0MWrLa-BO1MV2R@fw5C)^<1C=3akh1-QY zge}6|!ac&h!dBrvVOV%T*e*OM><}Im;+MGT@fRit6NUKwGb+BHu)lDC5Wjdr#U~2~ z3Wo?&glWQ2!ZE@OVWx1BaH`NPoFSYkoF&W^<_imj#lliyg>aE@v9MZLE36mZCu|Td z7p@Sl6gCQ13D*eM3Y&!Mgd2n#g&|?HaJz7autm6AxJS5G*ecv73=0nk+l2>(9m1nR z{1Ck!e_?_!QRo!*6ZRJl5GDzeg#(2{gek%_;V9u4VTLeMI7v8F=oZcp&J@lP<_hzL zg~DQCsjx!0NVr&7EvyyR3-1#)2$u_22v-Ulg{y>XglmOO!gaz8!i~a^uvxfWxI@?? z+%4QA+$(Gq?h}TE2ZZgygTfBsQ6YX&iynVrf-q6&6!sJL7Y-2O7jf(PFB~WwB1{pc z2}cRX2s4D4!b!rZLbq^+aHepUFjtr_tQFoTY!t2$HVHQhn}s`sdxWjRu<)SpsLx3a; zv#>?DTi7bxCu|oU6yjHu>;4O!!hS;hA~kLA!W3beFhiIr#P4@k>1POYh55o#VTG_- zSSxH0E*CZmR|%Vh>x3a;v#>?DTi7bxCu|oU6yg_^=>7|x!hXUeVX`nqm?q2+W(wWH z8Nys)zOY(|-*c|&T`pWHTqA4}ZWJ~PTZDUr`-BIC9YXvm2~~cgu%8frKv0Db6s8Hs z2xkfNg{8tp!dl^d!WF_sVOZEMJSw!GrRz-=4iSzLW(cPWX9#nJg~AHqVqwQ+x?KC^ znhC;0p;OpTI6#;rOco9l4iTmZ#|SfonZl{U8N!*uS;A6bg>bR3T39b^5M~b7?O!Zh zCEOuAAnZ3nryC{A71j&a3U>(Gh0c*WUy9HzEEP5gn}jVw=O~?Th;WiHUsx?%DGUks z3GL}Rf3k3ruvWNA*eu*9v|lOtgqgy8VXbhLuvxfIXdf;4g_**9VXbhLuvxfIXdff_ zg_**9VXbhLuvxfIXunGG3p0iJ!dl@fVY4tSOt@O-A1It8EELuY*9dnA+lBqE(fQMa zGlUhw6~Ya|y~3lyqzs)uLzpkD6|NEP5FQXZ$Lf43LbtF~*dS~Ywg}sW&T%^bDB(=u zBH;?*24Sl(VZ78UoFQB!Y!rrstwQ`FJmn9Qgp-7Y!g}Ev;dWtInBda+2MXQ7QsHvp z2H{@eQDM>qoj*fZD6AK*5pEZTh0cjO-zZ_Ouv)lE*epCCOq`_ir3q&W7YSDgHwgC# zj|!6}OM8Wd!g^toutnG|bY83Tr3l@^QelH|op6uvs4#ho&YvkP7A_ZV6t)WS3)S>G zC!8cK6y7In61E6Cg#EL0{!zkN!dl@fVY6_b&^}G)OBQAdi-q?I*9rFs@e2lZdxevP zg~EE_THy|1f?May5atT2g^j|HaGx;YdYx~G&@HSGt`Ke%whHajrJX{zaFKAOaHDXq z@ThP=w$49BI7?V9TqSH4?i1Q)=zPh-OkuvTR=7&IUFa^+`DO`og~h^BA&%bv|Ihyg z8u$&~ug1NLznM$Eg!il;Xr6%I5li_!VF7+;E#+V1eJgn@-iMOQ@g9`?Mp!h^rsTg1 z`MWu7h!5laZQMHiZs>P3ccD(oQ&=82Q#kJ$%S8JyJ@^h~ug&<7d>wyR z;ytk5W;6@=ha)LxvpnztwhR1H_}oC05BYJH4?Zhg&-}lz8GmLz@HNU)@Ow;I9{4?E z+tc_vSbH>=55nKLfjsLZ^bb4@;c>sj?{UQYX>umsCzJOItEex?8-(YwJ&?a*d%$y1 z9yv{TkMPJ~9sa8!!lA;;gqI6bgsH+|!YhPnnrE^7)A2iJFGl;p6~Ya|TJ{U!=QG`H zHse0ZU@rR!rm~--@b~K2Pq32x0~>{pv44=?6^>y)At$mw;22@CaHVi4`-k{9OtPPp z*-w)FB-u}r{Uq5>lKmvvPjD35`2v1#yD*XC2-(B&1)t=&gNYfME~fhmzt5cMz{-DW zJ}aEg{vv!H^Mik6f5Fe$PjDID_mlnlpgeH5@XnL8{I&3jleK(Xf6b9+Y2I_5@O;gs z!k3b@yyPNH8|{Vl35%&O$jQ_fNqv#j7fF4Q)E7y8k<=GSeUZa8$BfWiDfB>>jDIU# z^SmoHJ4b8wqy7-@rv83!GnP<4U^>1JLB7j&f;o)841XGjdIv+4m)eZO*=@S$>(mZsd<|m6ali6Oxf6DxS!rzH!d%){kHJ=csex~Ib;n%{v&vp3Q!m(j3Kg@Qa zoYad^K3F5%#Q6sKluI@9gwG0X^f#^kB=+HJ`p)b12jIwHYgg+l67_478W=!zr(UzoiV~_n0Su=U<6s|(LxXFg`w(x6VCiRQ(JB7=In}p5OE8@Qvo)&R;d{b~)Gxx{6W+*q2YDOk9eC!Inuj^>AdeiQxmtK8#|7b!3VU;W zAje@o+V02i8y7AVzWRv{zku>zY{q56)xwt;kMJXu7vS$iLLcP6FrH+;Z#CD$&M4>G zp?@$3evW)cmlRN{41dkevs)-hyNo3!p-o5lxyJ!$+IxO$YJn* z|;7`5a;7>Y(^3N95{*cY@4x$GT0a8kaL-@3BNy@`M@D8AH?sEP9jSf z|D<8O$#^i0@!)dCgAI)Tv&{%F9!z04xPsxQ+l+@84h~^Bm<2fwKJr=E75PP{=9x~| zF=Y4In#nUnnfvLh7!W!Wd!l|HbjbSVjt`PEX2{QbEkbi5CGXG{J z$-lKg@^7AyjY9s7SIYd`03`ngEy=&-L-KEUko?<~B>zSZ$={t$+E3Qx-#VbozsW`N zZ(EVY)C;&sxRLFhY%{{bgs_$m4z#K8A(W?K-4`wrCJ#b9!k_#P;$cf0gyRlsIe~r) z*Y?AjYw5orKLmRt$I*|0NhfHg^cML<&Hg88t`IIr)N%+m%zS@4Q}d{>nSKu8HS}-b zN5TsFImjo{zkwCPTj=K?|4De>MOrQuo;F0w&kN5UDzflw*gx|>FFgBlk%ec|&oN$j zHvJrB;o0E|E^g+B;y zKv>-KhOvbE7x3SGF)zWZ=?B2Veww$@A3*+6=op~oo1jOA-@|g6@OLCI&g4xtgo7Um z%i^?re!S)r!l?;bUMo!Oqvc%T4&h>l4nM$lq1^gYG{>B#Ig9N?_*B>hX@fnGSD&Mq z#dboTaiQj3ws#WtT_-~Z-)FzU#6t)#!TyBp13QJkft^x*Q~0CsG1x7``@(L?XM|qZ zFXeAxujE;*2mD^Rmi0kSV!Oe+g$=^r2|xOoj!$7fknTg_i%D9ZG*ffkO`50OrrA=Y zIp_|}&+gPLVgJ52jN#vDz9cL_7{k95u4KB$@wX^Bo@c->a(w`gc7PYyjQ40SyKKfX z_6NKe^Nt*FmgcjVca%@Tyd!@v9K&&d{3qe3n0J&{W4@6&m}lg-LibRSg>K9<6)$vS zo+(-AP7zt?#ynH;LO0hVmM?T)A+pe&CbH0tdB*hr5ca|RqFf{FGfK-vm}e@T@OsQI z%C8B>UajQ{>ib5V&-|cir@qUu-uVk&k%mU@MYQ|V$JQW?@8#7^9Y>E`2x=3JOO8No`7!76L5$D)?!@~28AyPJ)C!sNVh=f<@l_|`b$6Y3&Z$9SW7<#`H=7(+8N}A zb2QWFParR#zW_&Gr1=r`Gtn^W84eC${#R|rSmr-~@fA*FddT0hJP+0<`Xg{T^MN-o z9=w*}w;9G6BQz_8<2la}{ygR&8GohbC!;k#p#I-8jCT69`wjfTUro2LTKKf^Lt!T8 z57GyO9|$jEyAVF`VytDUcy18R6o$dL+wr$`E&-9}1`+qyx4CE?U!mf zRX9UfBRtA-o`#SL7!LVv;Yx!o<&~*Z6D+3K-eDeRmwwPf0V)1C^PO8ln2^MVXq7a zU!@#xGxAv;xKg-Vn8*+<%7ah&a0O&4`_E_GU_0g z3++q?xen>#9>L$c6@Dr_9py6ICG?sy=0V&d!|)1!CwxbE0_tP@aAAS)VPO^bLz}S= zB!}Ys2DHIrCK0&xZxJmfA@UU<<%X`pfI3Sa=g#qD*!u?G58tjfT_-|o+ z2IM6+yz8if_KFUTR`USZ;`I=r3b-Gu!i%PYj+5GEJdj0|!ye$J8n70M&) zF|WycFyF}saUMZFi}i|Jj`>JG50(lKG8}vTG|FIwu!G@4u^*reE)wn$9%Xzo&d(@= zi-miI2AP5L39VG8AHB{QmU6y;JS522hvIakR{S~!WaTghpZ-IOzw z%&dhoDW@oT4CP$PNlMP3Tu9lewD7XK>{@+L0fYr3M zLWaHEctdu03gntC-@e&-p6@_n;Q2L3U$-_a1PxY!8v_I+jZ{oCHz zf_U%OzUIVRZu8u_B@kGPEOoC{e6@l0=nL5b%Y7`RZm0K~;6~pn+y+a3-2Xc2Lv?#0 z)@)gd>H@xvOckm)HTXR5I$Hu0?7pq`x{&waEw|me1?jWHe^kkDRIRfId?}kcI}tx3 z;5+*7&dzO0X00fte?V1*yS_mc>$fL|w?hxUX8SF-w)KSq)ZLbb;JS;E#ZcwrSqaTK z{04iE^3!zrX#w8~L~K*ClkGINZVhB4APD+od{#ohl^D1_!S4)=wKJ(IDTp1uY9G=EauNr*6Krl3s~aBNh@HL} zkMiu1@_YyS`@J0jZ-W2UgUINwIvS{QhKta|nk}cHk5F)WONG3C`n^Zdo1kwJEA8b^OAfC`gUH`} z-`N?s6@Aq$X8E_O@&`-#Xlsqi7U$1NxV7ybj#G^O!b4U1@Bgmb+a>+9Zt0ai&QVR< zhCH+v>SIMjA19$nR(-sIL8{sGn3V5=K2+L>K9p^5y8EZ%qxx6_YpdBZ9SKc+L1B@BY`L`mm&@J_3oRZPUQ158r`g*jc!@YT&cT>HBWU z!i(#34hM5Og091ZHv2P^?XY54TLP_Zky26eEw^s*AFBDT^BSCp_V>4J`l7dQdv!gs zwJetmHCK?bvV8%G5tq}@=}iVy@Jzh{>{FRm-srC_;U_c-kJWEW2qk_;8=fy zEjTR>&1hY+skL_>*FosCa(en(l_iLZ3r>rdsJ;?45>eTRiVse+OVsHSH2_hg9P8m$ zI~)ry-_$w);lXJq==lwoJpc|WkaG~;$J?R2w>SXp@4X$VA=4vZe(CY<2Zt3t6T?`u zWz+V~^Xfv2PVsfvmyEz%2-xF%&HXU8LEoDXLcN*Ei9z3yN7WrBN)y7i!5oHT+R+wf zbznyN-akf4JVdLM!;sQ{2=(6pgL9(I;YVN-HCr;!0Jw)hR-&&XW64}!N4(?yWi;X= zot;qRvfts}*KyL4;RxsrQyUs|AN76L+p&yZ*1vsIIAK%k3Bk+;TYazKgt+=?Hea)o zE01_#dmScwC*$Jh`lFG)&mv9!tXt=>H&#tva+sZKKSs)Jk}^l7JaUYb+a={-l``QW zQ?=b|-ytb&NXhxB^_Alc&xJ;6wm7$$`l{P`&zZ16-&R|_&9}+s`@-gJH#_g^AF1KN zN4pN*Y^mY5hfqVTKSh1mPxuZDphx%?Lsqlpw_7{UOV4pS?&X3O$a1E3`r7R2uP+?P zg>BgAl#0{aeuEgTZ;oW#X!}U-iN4Kt-!`PHJdpl&`6v`nc_&s%$9jAEm2uv=xV0VG zpV;77KbCDrP_}Qg&9}`qI>+h#!q+^&-=Q}qu7nqztasQIX`?pSaktIYejc#Dx3cfI zkNCgY^>N+KiW3H9wfo=og>Al$PH)?$s`mK!DrmzjC$+Q93p)ttG%e7JC z8AFZxvTvyuwTegefi?J3j7ZIv2VTVhuqQeFf)hJ^9ix|Ax~Vm;c4xgUc&E*KE!SmC zFD!3#o8iDgt|tS6_N!HY>O%KSPu*Fcd7^DoM?$dT#5nZ2F0|w;jOCTS@9axFLHol8 z(2RQ9{`J02=aOeJ4uLrTSX*G6-9Nz|7?9za-si zLQ{f1*D+GQEGd^VWlaCaV6elV!d}q-X7t}}4@^o(f7?+z57RsSb%*bdpksZU?T)4UP!p7>{FVQDyRUhSQcnY_ z@r6$DyY{H94YxROGH3n=%NATyod4ax^u&O0c1NAalG9$d)9-3^)Z*)rM!>b#pA!ybwG8S=-|TlCD31?jg#)PpR9b&KOS||os4cF7q@B{8rL3Mhkrr>x}tg|{Xv{;)O=e{ z;hyJODG-zAlt4ye;6$1Uc4Fua`luCBX1D#gZJh2@8B5f2!Rg=HHAk;tRy%q+)$FN% zbHLSJ7xGU?^g6draN63Qg!@YkwLJ!K6P6g~pO(-z1ya!Gj#$F8k*Q$%_jBX*R9KAG z27R7mq`W{^evFhOCFMY*G~G_lU->BG|MW!zPrSFo>uq6=8~iq2D&uz%Y&d$Li@^Ex!pzYPWZRl)oJfQqC0bv|!>0E?{I zQn!ga$RTKOFsD6GmB7`24yu*#=j=tcK-S(sZ`~Gqr#ms=ZLd32afM@jN}xBJhE5rX z?Q}aG>$6(@?U?P@G3;vff88gp_O-h%_PJVn`>I+m^uCaKNR?yu2RVGrL;UT^FmUDt zhxj3^LlvrOSB28ve%+1{jA?&rCwg#}>cN%}dr*w#Z*%dP6^-Am!6#N@t81?j@HOIY zn`<2d{5flVp#;BcAC=<@)6cmM1YP_5t|q^02m9;V5y)C=wMaGhDpJ^G#5p6qwkLN^ zclz7?M^uOVxYqgGYeRRX`L^};b?W{idCnf|Y!6g5L0RFja;e4sZ*Fm{->jZqt6BoC z-Ge%?hjHAWOG9~RCVbE~7oSMc<~5G>X9lmcA@!PgN8M_Kg}#V`6v){fEVcQ59OKUk zRh|;?t_iwd4NSDz-oDWO2qFSGp+T>wzw21KA31C}8v|AA(yKOB{%rr0pxv4NF5Hb{ zDV4@3*Sd7q#)ZSs#X;|OZFNs7@o$1d%Gu-nOX{KOs=bDzmXEf9oOS6r8y(9-j`i(r zKVXhJURbBRDb(~0JZjCy26jOHoK=CGHGbCyG&NAQ;X?ag168YnGkSL-Z)KCe{UU6e z44cbr({GRl+OfT*_47bG=e}!)zp907so(VOWRJw+Pu)+<$G6E|NBYZ7y{jN21$XRP*EHJAb+hlEldyZj& zYn26FY_-5Wft-D?K)n{gL;ISGWzKP8yIL_{<8#*fv(^pT4&#FvIqs)Fq(@LDh_Uj! zngdzu9P7Ew@n>yxtZzBA8CEz5W*YFehQct!P;imW@7*!z%|KRYa8@(c{e^veKRO)C zev2;oI>$Jc?MLeL!%&lB>3lfK^smd$)9ds8Ikxun!(7^yPD4b%6&mbnPH!)p8pvrL zbU5JJ$R!P{i`t8H?&oN-Pd0CJ%*5)hGjF@!wXyDy-@DKIcxtG+Dr{81GdHKZLdrgs ziSETH`;IsqOJ{21MNj#g3(qe{4cv+{ym2iH>DAp^dhx=J=|O zgQ|A;s&?4@RqGrNu$&-P->SVdNk4X3wV{e%aG7?kYkLKeju-CB=B@%0#Q)}|uTJuN zn@~$2XVr!F=lrkhX%QTQ^|N_!P9ipC>6;x(C!$R?A8{^V9uLlG_8oEhvo}b@+ zj%vcj4r;>2E^+_k&|dJy=0LB2cNLrqyivfrV=%%N+1d`F42%Pt=iR^-b`09&-{w2g z+wW>wa&gcNBizp7T`e#t!ygxLZ3pm`&)5BL56)^q!h1epA4j0OzRd|d4@~fn>j+H5 zZXGvA5mt9-Nx1C{szaG$`Vq&y-?3HHRbxMn)nDp;hm&-DX#W$bq5U7R?@;s;=n2{ph}-{GOn=la58l0h_~9?8(rY$! zo>xdrc>F9*&?%PMa4Z+@BEIav%)>^9dLOjg7H zwZCOo0oM7fHM_z%Jx&Nzt?_TRRqf^6#Xu51v)bi5m z;pZaPt}ietkpWM~{;ajwPqB*qXJA|5bG6uta`rGCa|C+r`l2XgO1r{vLv{1fEzH?X z;S+-PUg=n#U27coK1Po|D&Xqpui6vr=XSgh7w<|)rQrM9@xY> za-4XARSphok3Xl?@jx4cv$o^pIbic+pE1@B9}*aw;GfthFgDRY@#OfN4gMUb-y4E= z#iM?D4r;iVoygjqddRm40azB-lwBD>3N)tD?)R<=xK^be8a>foaaP+@=v2Lr$Wqan zeeI(&ueN(n;;F$_W-kA9bk17G(t5N5WmgWxnvS!BR2&psfGTWX?{})_f1DqjpwADG zl|wT+ry1u5TkWXS?`=;%#7W={9sSSm9d);=l^N3r%fW76$M}0L<*6jkn3l7*u6F<1 z4FRvy7tYw)>qm81v^5^d{9fmhFwUm#8E7UiVDc&?9E0Gky}z34ztQG+U>bVw+ZOLf z1kbQGp*Ax^8ZzJv%kh8{Hwc6sI+odSADna)9@(*M4D#ZjQqHpKZ8&DBx7A;dbtlfB zu9&RHL*>W2=_#V!{%UNpATv@2NtuJBxczlrFt zveP)m>d|}u$&g@-{vYdmqY>D^1ah{+FVfqo=kd{>bauvjH)2rWX0RPo4?wK( z!mc$gmctc)RqK*4E47)G{+ycE=PWS&`Zz4)fvW9T$@s*G1x~$F+4(Wu7uI>&dE04R zlum^a`mrHQOx@-RpNC;ceO(<+G0e5^uNXsPS1Y_vuR&R1JR@N|eBX6eoQAl!k1)df zxeoGvxv44~AMXvfWvjIg-Ir6!x&9kq#PR4|TW{_re8+R7xCbpwJ=C^CEtda`EP;RP zwglq40%{3djSNBGtH(%*Z{w(xRVw8-$4FT(DYI3|qsw6#>d3fz?Z20lgH+1nIfv`~ zi0yp*7`5YVy=vz>D&@*!)Q<0+sFcsBl+DLTIbBj>^N8Ay=k)hRm2&+t+IgFlIaH-Q zo+G$;mGXE_ssGW+b{@}(@}E`8<2fpo7(9$oZN4Kbymq+@(BVu)>$jzty+a+Zx zQt~_->wnFGS=efDKl31rp=QgNCLAg9b!4YIfv-|nmWK9gxm0-fDZb%4*C&mEg#qDffA_;9(o2y7 ze_^)=VJFC{bTx2;IPY`RawZ^o5ZjA5f3S&_nn@A^Rp>6;QP=6HeS--fTJ^Lr_MdD#jz=Sn#+hu`U$++N z)cVdIur-z@C;B%9R7HV@nQTzUXlTL}F6$L|Sfx}I2ZpizI8lW{)M;#ZEUQ9saS;_e z(_dnH7yf#*qN5I9gfs#{)yAp=+tg6g4E#ZMzO5H}#Vz*0e}QTY+pb|pgDix@>rfHQ z-j>M6AJITXUwy|-?MgO6#vkDibKt3mT86v!aO=rrUX_faRntsUSF6-j>Q!k!^DSm; zFy|wfciVYCbaq~)-jaHNPCWKMjy9X`FF(ZFKzU=@8hw@daWLnTde=v7pD3Syc4VHe zc@)i|DMwz^-Hk<$EqZ=0p7*36lxa5NqhQX*^{&>oU#o(K9;2W~q@del3o^?@G8{RSf-j+H+8Au7i~;&0)R zVxNaxEsS3%@k9+-fhzsZn8(oJ6>#N| zhby&}v4?k~yucZOYYzs;9mL_(OnjlFE_Bye%tH(xT!VhuE?be$X{CrsOO6yn$I-wt z(6g8)Iy8TvDtrI)oPVi1_djF4>z4QZ>iKI3PuEUYO@8HRINwS3y4Spm;LGqnA+>WG zJTJ^9tF?g>E~^#KfR=X*`b0MkQ9RUTl${MzhuJvOMIqP@wl48w&m-s9r^=byvpBO( z4XMe1yXb2Yc%lcPU$t?_z&TH>3I7?b;TW|4Lw(-~&%@LYOe6zDt7Mw zBIrAwrR@f^Ol#SEUpR*P{R;-7W{U^y3oNqZ%}hpuJ|ek)A^jA-Gc?I=9uv0kh5Lk%Q`-y>e1r)jGIpFTR(s^aNdUFwrqO!9U5q za6XRqvB}>*RE{<9_={x*FJD`5fIT+BvGh&ULu-9I{yO_;hyObJ!Ylpnq45D{*H=xn zgxx(@0^aa(Jlu)iC(SoiKXGo2^ZXXP+EeG&d(^r04s~w*cI8$%whkupR6#fWxj@yP z_^Q3Mz;U9u2j0a@@c&$`JhSm2fTNE4)cd}~z+LvhG<(~6&XlUez;)ah1QYwJk{rwO zF_wXiaQjzRcoyeu`nn`_I*CzUcAfv9II) zE8rW0KE89nu{=%;gV)>qcp#ReUJu8lDnTFh;;kqjoiO-I67X1$69p{ui|m8FI1cnx zZO7Ah%fb`Y;qNOLnFa)nsZ3Ibk$B$PgV&H*8+>1kvEiiC+kBz@m%2DShB=m2Vw$9T zTO9Y|E9V9siEHEji*RB$$h+Ov;-8q1o`Xc=kqDa&s%tEin%+{DjhCu8*2C*EZawH% z_PhhNz!TU<@|hp{sp6~3iLtLLdk3;Mc5@0i>-OK6=>3JSd6u5!-{EjLomw7i^Y`Yl zB;I0AMAd!Jp1|0X{U|hRd(iH{nE8&3L6l?J5VnxE)*O%X2aLQ@@dLl-$X}~Qz7YNt zBmZl*>pFYeeTadcma$wv!%ACw6cKhE~gfK8MZ1@tykq3q>E_sqZ?Zl=TnaZs`XD3!nKeXY;0~Fq=L^*1N% zoxfZO8`R%|fE;&r0w2GW+U@(E{61aK)uGq%q;QkUd^0k0 zRl~6-=a>}I7aPQYtHalvd`s$1lw|pSls6$#;92zb<4wZ;rN~tqr&D zX6JwXq-wv}@K5)sDR_!B{#O6yP2Zijh3B#8Bb3M0P4`o6hxz?lbP`KHyV-rehs_x^ zf+hW4Rof8OmIK$H%;mzBq`rUGpXb~-ufo~At0kx&p3JAMa1Ppoof_l#{6*7)ZC!&C zXgG>f@uY>bDC;(f_M5{m2PELo*I-MT{{OJ|F7Q!R*Z%lSGQa?%CqUGwC{a;~_(;@S zi9|~h27C~ULJ-l2*6P)&sNqb4N_66xQI5x{RH3&I+iGiD+j@UeYZ0Sj9^6b&Ya{rG zKs74r87Hj)(lmsW{J-C|&zYG7w0duEdq1DQd_G~$*=Il2UVE*z*IIk+z3&A57Bxa; z+Pux?f{s_j+0y^z2pr`tl$Rk*oL?x)hL!*)TVEe6HhWUWct;{^}({f;S zEv`kvD2qW_?x=odUpD%SIvq+eyR+f{h4%Aa54s4s$mUU_3J#&j&S-bJYS(R5<#EDK zT-YSfFs(6-4*IZMblePqdrQOb56V`?fVnibovihN>=qqWVf zz-V<^BV8O=mA3t(O~l4Fi0IFxboKY!%!14HlsK7RAKctycq2ODr@{*_~b4 z!D$0A6JkvJkkxNb`U6ljlIE$4AT*b1LpshD1TF9jvkaG{Tp%PvCY6AmK{_BDGlWTS zARf#idJtx5g1Wn^5?_O$atS5V9+={w1$BY*>IUq`UuBOM{1}{^>LNRirk(yZnsI%m zRhh@Z<_8S;g>Q4fb5;a*NueQwDFq3ywicf=VaCu9*D{Xi7#aPsJu;3Rl;?_`hr<^T z_}2dDv*B9`_!O1;Nu?=3JHWF7==+}mXt?fuj}Cb;)LdCfSY3JHfV&$`d63>psnJ)-a-Rqa#274PRvcL{^ zMvmei;6&7d!EbXz(?;yEQS{1Q9*z|J`ZVmaMIatW+lG7{l>bsj8S-CjzPX^NcV5v} zC}Wrv0HFDn(K1R~n0k%?%)SjjCruj*x+~TPW68pHHB9A zL_u?#IS>AUa4P?H4hS1)fV-7xBWa$`SM!zlDK1m|IoDsb2^mKr>qnokl zt6yX8$gb=}%wZOnx%}q1Ap#~=nr(CrSirCk>-#9|Pc{+sHv8Aq`767VPiik9IV<@q z?P>Y_iTXUp`TU?m&t_F;a`kZd{Uw9?2}bA5Mqj@E)jK9)QB^<5=$lJ;_3=hup?-P_ zek`K-iW)bz7=3E}H}nB0uN%}QIX13rNj+vf4Q=mY^A8KmH|Ciwh;lD#jBbU;cA_e7 zf(8!8s$&?dcGqZY5ugY2t<&6MFTk+JF7_eHAa^p2#!fqeewnRm2gr)qxjwHRj8y?2 z$b1P+v!-m&$Ls*iCv(e+*$2f+y>=m4u!}CGpuZYb0d{ z8t8R_fSRwZoso;UK(urP-D{(azAXL1I}XNLvwjeq5DtFzQv?w}(_gW|2_EuT=Lf8L z{(>gTS}bjJ+hS>@Bx}sal@ZJwj+W;epZq;gy3xUz!*6CQ_yxLMC!9i4u?cG7pwk{l zxx>B&j4ED1vqe7|P0S*`pqusEUHAe*?m&mr?moOYUO>hF=YV>xDnH2=%rbGZkt~#6 zSmgn0X})!P9%4(aa@Ydft#Yv^C>IpGRFqOuA_lE-r42sL|FqNN^Tcz+Bj7 zO|VZvu}EWRG17`QHn7`Bw-1$6{cH#w&a_fpoB_pR%rF_T{N%(j2?Or2Uj zx?Nipd;$R}BST}tbx(M-XrVayCc5px77VV@BC>9Ym9wWH?PC>f_BdM9&@4cu=;ebl zL=%A+mqTL9Aly5OTbJIUt*!cF(I$-J5@bR=y+h|n_#sqB=W8ooFOcu>>LS`eSOICb z4b3uDvTRRRu?XK|(E7`u)^Toa%MNxG$Cq9PZ-&!Or5ib{DrZ zpo@t-jIf1xJ!D5wAn2mWjJ{o`MHdp2P~;r>VfGenUB{UxT-O3TSEC$;3Fj0zD>wkn z?+yYEsPG`@L5utv57DjK3I-x!FjK^WIgRLdtG-MHqbn^YHFg%l3!r~-f_5mG4I(~7 zEg4}2(ZLH;)944%AG?Tak5O(+L}>&zL>2;0F6}WGnILM>9Kb@vt<)mQBmA6I*cxo{ zB*)`_L{)63rkjIev65^Ij@f6w4;2K9H6ZP`@MHxM@#4`DG-07mvpE)Qvv0vbLTeb0 z0QU7*B`|l|8Z<#L_Zq9p7BWwi0{4QG$M6u{3jI|x6EbK|fg;gKdpW28SP_!+$n$d; zxx@w;v<{G@?9PMR3yxIT5H7<}v^DV|s2TO4@qC(YJAp0&bs2y%y1n#&(aDgw1^*#B z`ma!FUbFuo?v+mTbyZ_>8$u*@qnQlW&6FJuPrK~wP8pDYPyw+&w@+;d#yb=TsRM4r zji`DxqHCZiyZkQuDSaw~-)zC!PJwmd=~ii>VsXXM&7s4r(p+r2D@3fD(eKfxEuUjv zm`gncx-2DzCstaRrU)iG@~#7KyI-IB`u?<8Xu75$f^V+&!8xI8CBxD z`Y>dCaxvRPw}!OedXr-xA+}LL?qIt+_;^bw_uuEA6A0yg`c^5`gNU$w**u6%rAS2} zs$6#k)G+|*Bm-W|wAjh*k7rZtxFDHTm@q&F(#fIy1G3a~Wr9$@@b|w5-{1Q#@a7J} zpGx$*Bcoo_H0gFh^;h^uRqC)`MsFN_*6&v5zJEskbq^24-?|M$-yx374|KoFKPnC}1W<@rDiM3ABbSz(Pyl0OCgm6ot-B6>>hP zvd(Ay+0V}~pFbyAYm7@-$sO*KOHZ;sHxUj8qjfIraMB@EqL$D+>9UAuGajn34q`8h zHe%lwCSkL^=740?O2m#DyYuz=uiB4!Lpx>EH+MF@J9>1x`BHrgk@ZuS(oZw{pgG>M zQffD5_`INMTCH=zqwb8azG1It`CL)%<$Wmrv`7u0`}|#BIkdPQ{`^JFH(=qkdi8NG z|CudV@ox2oKFLTxr_49>#IRQ0`uwdVzdM9IsLzw0rR!Fn*+f*q#F}c&JKZWDHU}R5 z*GqGamckS`juocR=B2DmcBbVaTnDjvYs~UB@Fp0^d@P75sZi#Z-*{OemF0NZ>C~j- zWz#&{G00_s{nnm_*{wf_h;P3)Hn+WYl68?UwlE(-0x)y(QG9UI5aDZ~&a~vJT=(dx zA@Y0OlSAK&8q>lZ%~t-scbPzyP{ky`rP^}e^irShFWh9*jqo$j zYY?C--H*64;a#jfo9&oWRR3TC`K>BMW_2O*orpzPg!;jq=6vhpn>7xutbmoxs;Im= zzM6~jpkxbVX!-v4 z;Q6w>43fzlkN=i_^v~AEgx(ZqRDm@V7p1v?{i(>CUXec!WPtTieG<$Na6xgoFQl1c zz~tCBPT6TL@?Bcgh?AYFCL+gle13~=*fKvt*fRd1KAvwfkwfS%BjC<&otKZpk}MRqP#BA1gYV*9Eb)xQA@Cz!j%$&0 z`N;YqDkKX}Ml%dV3U(9Nlg$GGE|&df`Ig-t^A%4I=BEV;cDE1nmIERBG{RSv4-hY# zoQG~>c~6!o^~n>_F&|Q)_A`u)@*8jd!HZyrHYV2+MXJ^3dAvm7jpfueBiMx{d`0; zH#PP9jd#5(Dt74y!kP0o{VR}J)+j4C$12B}O?lXlxf}r3<>CjMN^>a98A_+Zkq0l# zho{eMzVk36>323Y{ZynIoM{lmbZ>|2c6sz}yc;iiFE!i6BUj-G=)A|K+^9?RjD(rB0o3;^mxpNx;N{i8#AHb?ve*>{W!*S+Jxrk&2e zA@)+m$6zz&S~UhJ?y zR(GOeIOn_pv;9>YDg}}F4kw}x7;5V&`P+*&8lB!1!8frQ4j{n?CR5-;x^<9nO4^s~T`y)*pSXLdXaiYn>G!y%i|=htsE`u+N~WXCdJ=nBq& zKtri7@mDC~#(Q4BA@*;w5L`a4kv@DBBf zKh7w)S_9PuS=0f`a3akEBgxJ|nX+es#oVcweONnu>%D zwz18QW3Wv|DHewgn}wCX1Hl*{8SjrU_W1N3#7p#s{)}qjIGMyHTHiQ$`BG|zQ_t@a zyOjJbbfvvIHu&c-7J`71@fj-t4v>XwG6F(1=H{bVGMeFwC=P6pa!!7B)*+N|4PR<#p+)QP6CAGtT!j%IcPNIb#eDSNhX++AfGq7%{g zI@WaK%YNg==e$PUb8tjnj}+8tRlMww6XzvGQC1nAGKq>F?+XXaH=6ePdtvB}wURc+=ae)ta2Ib$$OiyVQ6aNV=u{&{3LXRxB` zr4wWGY;>bDHiIfddTj3hhNNsT_e3|E73~`DbHJ%2+Wm~oGwRy0Dex4e2oj@tL{YF^ zh6Y0f$F~g2{nsJyF;(rTRlEOe0E1yhm|Ywhz>PCx7Q)~lyi_4Sirua7&L1ZW8l?^&^lmVY0=X#2@=;p8x~(16O_P; z^nQV6fh1?eO3=}1-WG5fhFx=U$O2A(^wpq3L_*2F7f|Fx39qI6ai(6-sK_70%qFgZ zXl7X<1R)75=MW&ypA4rGRfa^);6C6ZfJYzWueePp-;A3riK8VyV(ef>2_}zWA1fxS zsevh&AOfH$PhvE_I1&%?4q~gya@~^hPMK$BiS3p8ZrA~8ajADlrAxhM&*({iw>;L| z9?S$&D+9&tH8=(@Wye)I_AO;4Y+FxpTkRMWE!tGvrajPHB{pkH7_&X`;iOGy)n44g zCDOFLH4J|CX9zraw;cG^0Zm^WUY~py4}YpZL;Kh4^C+nJ9TCKc3gHQmp9UY#2W_$^ zA%j~Vw|8hi9Bw8*xWcuyo)umhDb>P%C;xE% zfID?S;rJ$J)CDOn!Wg4 z$DwyS1o*V|fFBKr`xWnEZ$PgC!{mxlmSf?hUSMCptoX(1%Wy=|X0x)Z7N0JCyQEd<*^nFD405)`&Ov zU;2AWe&GCA;1?uZ)LRtv~QJW{C@7RCW^&?lpVOw+mh=-mSxM&7$l2WAB;4T|6(*=NwC9Zcc7m&&JY8Zd3A$ z_J-3J{6$<31J~8>p>VAIdhts&XT*G?i(8gvnJuw-M?gG4?~j!qP;*T2TT3U^xA3+8 zy+I92eVd&^$0_{*nOs6Q7y2BbrHEbZnP=HTk`CrSx%A@Zci|hdh6Q-%i3T2UWK=dd z#qsOM7WuJ`y2u|ZAB0~cy7kWOCg#>kS4s$9b!$!8W=rxt7YPdAimq`|HnvoRa$$s% zIMWEP84EP3^Ce*&>EvRc6ShxnQm7nk>^G8LW6xk{tFa;AFpZLTUyOcb{5j=fyvg4H zC~Nw{p6YSQBCPLL`oX+bR`J4~nxj*oV6zT{iUUVx`wqjV!1*7*lZl#;HmqV;D}Qpy zv*rL`YqaAp`3!u88vmjA0-69~RSrNYwnhyA z8*whl1C82$G*4;9JO>kQ1osPd42ivSN!R6%^nBnnGd-AFT|70Ii#Zt0)tnWBU&`Z* zhl%G&8FhUT|d_k0M{5eD)ns#1+LgfOlYzx-6Z(si^}8F{!A6mwGT4f zkuY0`5gs2%qySIg#ZEB57s3kVgUGM+LJt>1=;_*L&Tzy~x^sB?vi$!Te@Y*=#zP}c zsmUoE1HbO~?2B+l_3$i0UsK34bTe{EXFXMWuo7(OK1_)4YIhG|2daCBcmP*ZXBCsk z5y@P^!+dpfKrg@?w+o_^OF_uUOd>4f<)TERyqVpKRi@-m&Hfd01Idpv;RU^;xHu6U z(LuAzX@iwQ&;1|fhe&WcfSFMG0rf^e9M*u~hw|u)%E#HcQW#K7cO(wBmUh);???pA6-HMhz zo%{g(88IfU399kM;O-BeOVjYoq0a{MUlyj~;w^A^A~3u9)L13pf~XwxX<&5@1q<8Q z5Q_XV=A$*k;BW^lO>gjjx+sDIAo#f~4NnCv8LSpK!%jSPx~Q`J*=KwPs)oS?dHM=l?Hv@_{^_^&)anpr1v`NdD5n@gOehm!W6znN(sVyr; z+;P>!Sa4#^siH4f{(jSuld~EiP=zc?1rFM=eBX!(hlB<&GLc+(yNg!W*O?flwbj z#V!u$C)1K(J_rZJaih#^M=-Sd3O&Qbjkb1nUYtPD5v!E{LzieavZJn zaIu_$PwWvBc80>i3oD@Q4!YWE%AVdV_Vn+iORUe?Oy@6X{`(f}KOw)G?|IBz-M|Zu zFb0OPJ&i$gdIh)3SLRF&4VA$TGL5|y!OH?6P#}(n$O7sd+?uDg`p)nSJ7t0KEd%Z_ zQ!GQ-#)?!*yG=H`1MmEz|A23WtYpaw0|N3no{0C90D$2#G$X$(M_}kAACT@+$qY?_w&&+JIP2^v1x zrD4#|KcoJ9!jI_^Mo^A*UQh8$wP%tia9fLTLt8-yPB=e?J?Kz9IBZxCWLF*JmDw%E zcnW?uo6C0SkB~MTTbOd-CGbw4+f#cKXGah;6(a`HplM+|Y@4EA3u+*6a;}RLw=VuV z`1xnT@5+nMOCLh-IA)VKFJ;KTQ0{Qq#du~V3|-}{pjA*ZOcvtY)O{t}5UH4aG$k#Q zA7-M-3 zLtn-$!PBCw3wvU>_Tcc8&9vud`wDhVg~}Z4tR00#dED6Xb*$gU;9?~k5E(c^j1xZA zshcqcYSAA<6+oEz^{C#;iJjL|zni)NPMXF4Y;w0bEnYgnG_I+Y_O#*%r6CHf*^3Ef z8}uw(pQ67O^Bo8ma4gr4xenTu7LBkrIJmKN>$m(k@CorI$lyC0d6-m@lU*ok*nzki zfeWG;BbNAgKni^k+X41^W48q?uRcX)U*>UQLa=lgnSpG{UrH++f4RgDZ_%wQ$^u&C zXnwUo1#b23{A-O#Fp$C}g+&9QW35F4;;9=zwfFOMdxg3b+7jF;lIgU2bGR^4^23e) zgE(?8O2d%BcBCG_*;eBJ9PijxeWKZ)eK4?~gUHmfu&4~``!HpX_`oJRob{djKoKeE zlkKqqo=?HWJ4PM)>j&w`)b9By2X6vyxcQ0`V-T>)dLSBIi9n!~Xl$W&i=sX5ZA^0N z85EbYo>+AcW}x*}4UgV_+H5OmFOJuqU<`Wo8K_l>SclQ9Y%IjNYeCamXHE-vl0S!n z`w?@GAD%mjW2M-cjS$C|?@t_4zBsCjtF{1z6zC)%7ylWK6Tt`VQEo2BvJCZjoIk6U zgNk3RJqF7WTWSyWwo$!DGPa1T1sNQdK;AI7B;U^j=D*dx8V`5yfl*FP5YKW{0**O9 zr^jp?!SR84G@r049n5tHC??&i9|@yFk%ssSgoHnxHk5zc+`VFq7`aRLi%!8O*RN!< zgc~8R;6*_|-qf*hPVaaBhMI3kTv*l(^ez<F4y+PT{H@54?o7tpepK<%Z}A zil_kF&t2Haaf-f_|Aq33iW+`!2NF#56jRA4DZa|^#W>{^J;P@&P7~>hRFqAR?EW~@ zS&S2gPqmM=d#+i!NN_s?P^OMkvDQk0?At!ZQ;cJH^2OQ!rZ!JKQY{AxbICD&G_2HK zQyd4eU({y6!}?^r5YHiF#W50$s`2u3dH*xVNh-sCDSnd$S!lq-3QYH@psF^v*4jhS zUG9pe;i9CMizBm5`1e_N%p7{6d{q7vk&=_Fc|Ec7dx|S@^~gFgS_tN9_k4`^ z;69-p(8))CSC?z=mT7 z@gli}(34{m{W0IESkf9-yrue7gok-UH*r?WPJUlru=P6&FELC2EY8mJNEy<++#H65 zw>L0ThW=ghVM>k#PAk}nieaa6 z@na~(arO-exzEHW9_Rz1l#>!M&<7yTxtN#YVZ}eF-(9~Y6YmE$mu=kqbS4NzqufPl zMwj5%Oh(V3U(SSQkqHn=$nc6gCs^4ICn?!NeZ{TTB`*9bzp;b8w=nKdeSo&4tvz-5$?AMseji)7}sj7daF@Z+CjXCI)SPEA|=nVKS1P71`Es zxN(VVx~8E%|NWL9jwi(Cd|DM!ej0TwSR@pA;=j(b4vayfz{%K-h5Fn4(ZOZM@pwc} zaewIg*rEU|m*O`=|7IS!k3JU*?sA7-c+XX%4m4Y&g5(BQMZI+(bh>rx01g8*O9!HZ zcRq=tnMKSalaIK0&mRaKWRwqhtpk(wuEsjbj3?XZ*|QEzTt^0WT*sNzAoMeYqMZJM z899D^l!%a}*)dG{7y9&|2T4PfmNY_t|yWU7(mV~7`VyO@QX$t^=V z=8QKW$6(bBXltQ|qcbDHn^qo{Vy7?k!CE4F-a$1i?Q}iZ+zm~6MIcM^x*Ba>>&(2s zP#b6;{JHu#)D011KwESWs-J!ZI9FyGYYZ*7TY5x~UK*Qt$n?tz#VkT`2n8eoafXN7 z&g{^iW4Yr(r!Y1K1{GyMhNkVn1)D0RY7xiS-;RYQ(YiAf$7BksY>xgYqsADa?{ z`W{dg!Yo|hPkj}dUhPH2uT~eV|Ew3sIBkjtq3TD zs-bkCc1ITkINSFRPHH~LRCF@u5LZsSy-?%L`GZrwtSu#tqfpp7vk=rV zY!q-N2&nc^RZ_4}nCb*9j|ya%8! zWaWZzf_~@_&_N4o$V8)|=r440V_5fiLsM}`&c5{UDL@n44AM%rxx|ZKjOV`c*R>=+ zResH-x99WAuVJ%LM)PbR^Z{2yrbh^FGI6lE(+j*MM`n0S?tB+sH<^kY$)9X@B{E~1 z-u@@oFa8&qpGD;mz#MIgya&Y@I+jvR)9ZZD60EV9uP*7S-@|zcvxVa&bvu0_JAL6m ztW4(LO?SSdoY_>Dl>+>V+vzM!YHp`R9!(QrL}h_)0M11@mIiHsUOQ+8v_dX{g=Dr* zMF4#3((@rL+m(L+n>p?|51)!(T3XDF2hgEmLeO1+h-*>7Q+?UT7*YP4*5q%v52dBH zk^3k_4~4YJi{)mcGH)A9t5XYJB1L1H8&!I-PY-{o!ax{jtCYk&w>Jqs7Qv_ZPf1Xr_(OD(*Z+9CGjEBAP!OvhRkPoz`SNt z@&&7+3meiC0p$b@rR^6-9=okx=qDZcg$}@WcfJ`5?vNH;;%{}U&7=dD2gqOazrXnOD#To8?p7FT#)iXY=m|awR_y&BgT>#bl&b$JHWkyU#QOgV2idcciDk~6Q;A^6O0b3AD@2~}Nlv2vw1Ur!HU@0=l7!UDp zsdYAJE}sqSaCJk?C(7T4cnt727yB95QlffaK<$f?*>M*6r}Eewihn`Q5Os|(N&lzF zOpA~s@nTk@PksxIIs|SD>nnGD&eQ|x6a%w3HM#nj+co)>`lbnF)PLzErVB3=h-cHB zmBRU%S=7c!QhbQ5b1FxCdKv21^XzbAQ8)giBXMD!z zJYR>g-Gs-@@4REar~Us=I?spe75?y9>u_j^M?c_^r||2VI;|rlbqJ3M{o=eiuRdZU z?HT8MoL$bKI7LE7(unRm87FgMcsYNA*V~WtDxc%V7N)K|-pf=rDCB|tE~}(Lb&#RM zHH>!v#k=S0)L{Y}&QEInTw)8RSR-LuPMhj(c`EU41!JA{5Biga)P#85?dURBL!B<; z{KJFD0mHKCBUC#b>TIugx!^GQi%&T;Dgz@JABTRRLQiz1gEh|wlTpqLbPg1ATCmFH z?pYcDsuDH60Fo^V5TAXt;s3$>|7iaCvOZA9kRxq|(pyS?ead+m|JU(H`H}BL!k{la zmNmmB$>dkjmRnu%h{(#6A{^o|juPeI3cTUw3Y6m`GnC^y{}2oIlJnh&h~#=#O{Mnx zw%Z8!>t6=nUp@=I7Po^qT`{etr=#jyl0B)3dYFd3)$O{gp}**MeP0dz%l>~k{{Jfe z{F44ZLq2`U|E?MHrTqI+{<~hPFXunkAMuZy|DluNd<37`LnZdcl=S-bJfE_Y(+iv9 zQ$|l}waZmRs_8MP9*E6?gK_{%oUgksV^c73xgTnixxzH#$5#otC~3J*KuCBzpe`XPpV(m54k@7Pr}z{w0D?0KJIUNG#9O>A8KzDFdJXdU}y~F49ZirxT0o9mFZC&P3wk!|jUvfHI#NQJ>YXd#<>e`Oh5q$AFK4UHN9u<&g*ARvnVd9nXW4 zSBC)|&K$DMUi$|aZlHUtnP=XN(keJ&#}GPNKvx+(MqE@f(v`(b%;S-Nt2k*eTe ztPk*NmIKvMfjE4}yxE`38qzY>I~07G1i-ewrwgTq29mKfzV>;yzL3mxCPd~c)K*K&1 z_x#k1QS?+*)QG~knoR$T;xl;i+4=cFNt-$Z{dHsfS5pLGr*0uMFY zoU_ftdzR?svGVqk(bxm>wLnp?z=ur~vD~#WeQvw?A}-~UE4miJLn|3;-i7lMD9`%q z+r|d>L?s-vWPS}bFZ7~f@`}p(cu{ZiRg4EN68ZoabRq6`MnGFHSJ0K?B(iJuV~zeA zeT1CBj9ZfCqX)Ro%DJSjJP__*9C{z)fltN5KH;FjDtty~aXy&zFLhs;kBzMLBu_@P z;-Q<2^1{)^dw(;U4=vhga+e3m(!LF6Ap*%G^@icNY-s(BJT_-o>G*xG1iu7g>z*DLCcb{tqY=Ai>w;9=VMdV5hkSpYsr6f*v(3 zdvZ7iABo-KO*Rarhi2f&{NNdmRCwBA-B)F{wQ%{pEMT_VzXx)va1?W5lCi^!51?m^ zpV>6e+>C3I=jKnJJGpMWH3JK6D}|7a(tIztTSignN54 zC~}U8)Ye|$jm^p;8g?(%B5wnlSSe}o?4nKT;ksDvCY%lzo4>MMy5%R3l0Eb`)&-}} z%dcBwl}{v!EZ<7hET^)?N?#~BwB}jFJT}?5k`L#+b%%V>!O*Ge!xJF!dZ!(zPd8d8 z*6*E}>&Xx8NPH8-C1tdG7W2_05BSQq30@9ldq z6P2H6)pg@oE~r%g7GcO%g6>p8#Sg+Jx~AcHQw!V1{8SkyG-Ki-c%Hkex(FV@)BAjStAP_gTS3aJeS?Dy zCpzyahNSgKN^r+1Uw*?9j7jRWf1ax5Ayo|(AE%moSAc(rWTD$!eRts9f=kKVsud#IkdinL1>E_0 z3R$6*Oo50Z&T8Yr{nh%IaQ^~OeE<2Oqag3QangwE@ga#1Ds9D@3u!^ydZHmf}N7B6xXu?NWBTH*KjmIb>no zQp^{I_S1#>{&cH2Ki*O;@}n#B>(qU9?6d~h5zfyh|(dg1{XxQcEU!6@H$QW8Do(ARSMjj@!D|YFmxR5 zRR0vm%SGHQ<`m`EIn9Y3+VL0FAs(Wf$~loQm0dDD!KK)39}e0wTZm3A!cEag>cb>u z?ru1i$Uzio7YGNbKS6Z~9*CT(s~!0o@`u59yVGiJDkrAgOSH%zkx$Wcw|xlZ%>vNX z7)&(gfXS|p#+a?PBn8Ko0&AMnOvut|76Y!SqY@97vgoEVHaYW zTMnGY&heTTAbo~c(rUV}lcC!_6D3KrxD0$2K8nT!{9|}PREd7nhfGoMBS*hCF-Jhj zD%z?@bQ?+Ntp=((3N024ro;x730dT>M^vB-nSe9Ck4k^0DlK$GYqu8ZMK#8>gS6sHlA!()V9Y_YDEJXH_W%yL!lf2lsoXtoHZ>f_Ho9Gv z?iZ*<&cHUa^kGU{Y0+hTzQ||XmNQz5UeA{@ zU%{+GoDHqOPh5<&ls-f4c_OEW8HiH0an+x;cA9x1YMtwas9aI`38m%k@a`J@CbO^P zDlPH|pex$CzDR&9=rEg`KAz-lezo7b#cXft^u<Ojn6N%{0E-y41N15e?kky&W24iYF5K_xzY}v6PVq#^_7j1%S_PVw7MD%T(1j3Cl z`VI<>#6Bi(c_AhRvyHaN`QV*$eRQ~gralw5B|OSui=C4t>8I+;!u_Y|H-!6(LhsAr z;sC8+hXdNHsQCAB54gf(E~B}a_y+pz3_DfP{vv%=xc^lB%y55U=%;S^M7LA^+bAE4 zdq$0OL)&rAZQO-{XQ~=_nfQW5#BRjixLJ@bU1hqI)dC_k*fsg=}?k7@hJz0 zFk4Yn&r|h>_XPC`xSF)j{uxSvwI```Gt?P@b*_w21E1GYAhjlci4AwkT*qbRslMP8 zOdxhUvV9Fhqh_|&r0FUnw+TR^*rV5&#%2eQmG>jS$|Y5BJ`eW?ksf*svVW--`3N0D zo|S??JiMtG=U%1caG;P__6gCO;LWYjN_D*)RrlEew5D2iF(18~q>c0bX@4WfuVAyK zH5?@D#;x(FXfd);(-QFh3!?5B5=O&XsL|k^KKoR(r)m}jpwDhXIb1U~yO5h&9sn-2 z=r+^=!N+}xo6H<7@;cu+lrn2TRqIElMkZEuCwS?=N?4Yv#a%+>TI47A`V5pXPs1zpRY<>jGEK)gRCb|KSK=sn~($|0lX!% z^{Yze>x&`Rryx6LICY6JFXlDTelOV8?A4-mcursw}|EgTwoS1d%onf z+P9S|IC&iIe&>YY!4)|#V;*XQK)99|X$Ihf)J5JBZq(#mG z$v_#^BID$tG!zzXsuP%N$VK;3G8T0vyI6(HP7T-M8skEG|*biY;lIlO4S|N z#vt1gW*a>$+o39(#nx)@4f%S3C-#V!^a!x8g9I9IJob?KJClNni;xLr#-na9LbqM4 z3a^-k^kFKI7Ud-l$nyc&klsp+{|HxOUa9KKQdydrh4K2CUAj?ac?aO2mLD_AxM5k& zQ(2x$xbwoIqZMYmOQ`&|D6}22xPzaNhZE~pA%*tm zf7s7_?s%}~=;Mkua$0Uny9VgO(wBm7=BhcSRo`YzJ4&y!<^^7$N<@`$30QI?*z52} zqxouRWU>M5wpPv7IFY9$82SXdaEE;|`@6&JC%1LjjS0Lp4fSzBzTFP`PEex*Wp&s| zj&@V>Eoko7yl|?=oCjvkNZ4fOw|-HzD+9zt)V{;YLA zK!U{@)ThO6_QUZJYDU2a72N+tvjR??4to=&&hXyqKa-xSOwg;%+fQ_LFQsqO|3>{B zm)4<^m||yHmj}!@v+wX1zf&7XPAh%~H^!Nl2Wn2XX8F8Z&5WJih}M4>iNLkE{NuA| zlzZZ{coPp)33VjuF#YZoTHx@Vyor{MG261s{nN_>wI{&+mR;_H!*j@%Tkq0g+ruGm z%ntKKn}QBLECA4&{Nq0QkK@l*^o_ROKwG((4W`cvEIkCp%pEHNIYznPJH#t0Q>XY> zq-Om+lt{kH{U`NZ-$jQoVPbxYQ&WX@SsBqMz&JqSX6TZ^h~+nSpIU<>lkD>$&4#!R z1}DdQI7@sD8~?^m$7FlY^N^|7wH^1==vRInSBl+mb^bNiV2jO7)vYte&h?a*dQ7EoHrK*_&>@x*BD#)LF{UQlqU3mb%a{_({|fNuh|f*bjeV%y+01 z|2fTj4CEH>XjEIeo$XkdO=tTPbXxU}%GaVM+F`$hCca_K&c$8!tpDO%=f+cb)U4UK zz0jt;f1wXOe-#voE6J>??KrS)ajq8q3lgNVE`GTf*wP|DgA}u7`w5KkJv_JivhwL0 zob8vK&CK~Vo(xzSu|4nrB-Tg@aF-_?cmdOz;O?rMmMlg8_3F@7K%IWwO-pc_Q$8>n zpON!*U^G4>_nMoki5J}8BzW=Jr$}8saGQn$=VG|22w>cO54!pcX}94WrO})NacNbt z%sjun2QLX;-Xw!?KnjZjgnsMIR|AOamRxfafXGLKtpEaT9*`(@i;R~dCJ?{BB1^8k z5paV5ZUP152)yHo_qoLAooxFFLPO%ok%}Jsl!~rdf-VP~F5?0hr^_X*;s#bx5y2rp z#Y|P!L5a?CZMXx zVKw6tqui3h9rygwEt$dT$cIh15o-|^qHx0roXuClK0e+-)+=OgXCRyLOy0s+IQY86 zXVv;(2#p8nTjxU}2!MBgorTT^+7bF@UjQW{aW;p;spb|aK&a*pRY&4OfY>|Ar$wIw za3s@OKi1i;^KqnWk#x6>wPoYhIJK*qA%JRynUv(iAW_Kt5v`<<_5-{~l@CH4+m~3b z0lzB(Yf#MjYxpr8@#wcNC%oTcb+d8!Rm2Rg0BY#@TLc=5g&wskR+zQ9RxM6vdMqA% z9CYe2D;|wiJY|N~SQFyG`#4o8tD&|OCIpLKffkLr`*05*y_u*O+Z!vwCWO)@zIZ8h zT#tDR96MnH#jOcO6PB&T?0CWGM+j#d)9%*4h*Z)jjdDK7v5mTQ(pd)cD+X zYMvC)K^~fks*LG?=WTQcZBmSI z=wdm}BME&ZG^YC%VN`DrKPk%G2NNgRDC{#qDBx6JNZ9A!LsxQw`bK^YM6$p7I!<)~ zXR6Dgpd3%KpOAQ-WPdT1$;`?yV1$VdnS&M&CBfvy%0Gqyr`_`~(u?2HBFB(8$7B6| zOCrXs3xb8~K69FZg9Zn<7aZ1B&O%PSJnNwO2L}U}W zoYjcPJ@ArQm0f7D(qXgvNvIBg7OZczN)XjhBI>Y)k~-rT%E5I4>#U?6G$=V%IaG))q=!# z+&VPDiFiBg3J8!8%RJ)mx^{4Ajuv`)M<$yf#{`irIUTnEtnyxQ#u)>QlEV= z#A4z@IO^5ZxHvaHn|8g&y3l8TpUDb4KZX_p>_A@~8(y9@SfWMlL9dHRI}v;Wic1`1 zDgDrISEUQr4lR7P7P;9ie3>eIwkizWEU}2?YI9@3M?rj?QD);7QIU_(-9jtP(4%JM zV`gxT7I}cwKFf!dQ~O}y#CjyegR3YxlLxNM_*A>Vx*P}Eht4(XRzcWx!ydP)Rv`$h z>3v@;kZp~OUAV?9U4s&oZL|E8ZCEBN3y604D0I@&HPkPmiK1=;O;}%v_F~;rsS|$t zX4Y8oxK*_hcbQPZT!jQQ=B>ej(5qrqk3z6|TZ|i5c{!W)K#tjUKstOva~--qeW`%3W+ zGxSh(FtG=jlzoW^qVOIBYi1i=NMIB0hx&6svPT!DDN2`5J-9;5h_^JFCbYG(M@ zOMjIXS%q&>P~wFW=dwZ(gT}NIw8$B7s={~IXaAIRuh{bB41kZu^AN!(7n@p(5pofZ z1-DZP0Yint!cbj6C6=~q6P^>yCl_&?e+`2lYmkKdBYcIml(-%WkB zC)G)$HNY#L_!U0TPXZKb(Wmh_d}~&v^e4)7bfYO7s52`b*6#j3UgJSpte)gijE6a= z-3UI6`(+<44g$HiOV!^cr!<)r-$gQ(lO%wq25~eml#I~sxgF9%3T{mPS3?1N0RKCI zI2J%Ol&FMNNMQSkTQDIvoUIb?WUe1FVTwvv!h|>3q=>;!K$(d#FfrX~FW~o=F%dmO z&sD?4it5_n$xi$n4D}3sYYm5~)F+wxJ_ZOUa#`r&D5uv z7yR#O*sk*4%+yDiN>^ILPL;ZdsU~Y+FiOM0s)m_NJ(^6dXuyP#;}UHho$|%T^M8XrZ2l5h`^j{4Qg%EQ28GPaGZ^Y3#ZZp! zkTAgu4R@e=5M3c_UW%TjWcQz;lP0caTX4_e5DOgIe%HCsE{r`RwY#50yT+bTTJ#L+ z8zI=Yeyb2Se@BmJ4lxdo;M49REt<oABS)3(dE9x85n;Ri_>Ro1mY7W`zSiH*%!I$lI9E z2%I)lsUj~i;e1roaH&dYV8Rl@JON`+!nYII{5(qkllXcBUtN2&y+$BQP4Rk{WTo%i7U`!&X5RllwP@JlNx(l%n5&D9*`!v8upj#O()kkiCT&p zPvRxCqX^ZQ=Fy^e0t&bhwaEWNd6|UnK;xwCdwzw7!O1^t98X7L+6klVikU!_vMZib z%zqEu;E7rk$;_)%nUk0oe-NN5@1@Lp{(kfR5n!mi5G`ElJB4{CF|X?QmB`?7eWmL2 z4Gz)oMph@+l8jtmSGht?uFc2=l_0u-xlc1|bCh;M_|3&RiKm!6I|p_eKABZ;HEy>i zBz^?ybrjG(HS~#A=hY#MBwj%Wh;hh2Grx6)kK{5U zp+PRVBmWy#@>NV;Zox;6JPKyLg>| zCzMaV?)Etg383!>C_qE1$R{?6+=O(OL*7P$(gYI^fpLhP&<#TJ=dwCsi_i^V3npeK zPDdj1+@SIti&rsws4do>D7MlySKhD`*rR|Pk?>(mW)s5p(}Vj!TI!pRGnXQ(+#NlO8q*>AOF>;cy#h->Pz+2 zYNhA8tMEmaFP40{>ZTiSMwuI~UPeItiE31=iePmJ0Q#0P_sGN|m7bpSvD}ylBGK6o z5?^4x!4*&ljEb(%g~@`p zRW^Tunvzdp+#I_n`B++GN^n)I0`jXrLuj+$#ycbiIcD#=h>+> zXrwp-IQh8Jay#tT-bHVoHn9nZcYBL6eEH(4#Pdj|YKv_U*C|dJ3&l59mIaQeIbUH` zyeb{`(a7rb<7qCa39wjSCQ~id(59F)5cP+F(3JWOcu^=Z8VST5G?8+DRqlWu z)b73p$!X*|c~4P!CBrc)gP4LCw&B3sN!Pz>VT>w8sbvs~H2$0nk0DVZS2G?`8Qf|) z^Mk;262zR&RF&V(C=ne}C5i7DH0ZJa2Gaubxl1W#?=Qnh*CKSWAch?H!If|(Tb1xCKW+ve zwSp_-!AAL3xuNO3taz}EFWyEoxDFRA8qG(>e9% zO^dvQH$WB3eZUIc7t5WCDC@pSP4*F9{AS1IXL-%gYrHZ!S4Fl^Vd~H#Uty>5VG9Du zgWFIA0NAd6Z1vN{AA92;F+7zW^lLy0rS|0 zHo9b{?k~Y6k18RRNO;*8SRixxQn%8GAK{*|qM|CvPAC_?WAwRt9WP(t4&S`PK|4-p z57RibJa>0&YE3tB5!>DxzQemni#`vzBJ{i)4-&Fhy-oN*^p@a?xQ9?<@4$s91l`;U ztuRN5Bt&@Kwb*JW%fxQu{ZK^Q#*_8HPCSdn6O4%5PrT1G9AN+zn8z5ye2|Ofh};b* zg6S865MEzA$FQ%39!2|2$Q=%9rxtleNTs7b8p-!A^3;*?e~q8#z~jEm7Y89Pp^8lydAb5{$5Fvhyu9F=@s#?NKFYEWElGnV)(b!$V>CQiP3 zmX)*7YU?;M(3TIJ4eSOo0h$Y&Fm)7 z-EC~}W4^?GPgNeu6O1v;PS|iypt;Ltw-HZO(xt84X@YrKPp}6Sy=@FmsvT#1I71Jt z1F+biBVQ=iDsinn%0nizg?;1g)Oi)>V2e2D9qp_4Iq7%Y)Bt*zI|r9xbAN&QJ~#bc z&P%#%*!#j^@AFgdzzlD9;G(pC0PhL`#gZBa+c!%8p*h0Z4A_Sp1p~jO>Cby7A-mBx z?#{3DmR&VNTYF!&|3Vzle^7Y0&+^?B%Ew)HyxEhRH_cus@i%yMtV8FRfxA?qZ685l z{uJ#5wIA5M&!WO_Kbg-)E<+A~WqZoFCO=pCc{p{L|h^C39(CGIS5|Z&(%wGD`!&sRL%J0!#lGDE3&cv35ykz<7r1Ak&AtN60%@9D zqrHIStmI?b)AIYU`s{T+f7=XgOMX9%Z;q#Z-X!9=rwhFw#MX1b(wDE7-EoM~Hv_MI zbFsy{uaN$m61#XJr3sHu=4NGVb?wUueVp8Z*#qD0XAg%9PX=4@Kjsu01)TB6+X=v& zdgCzI|4Axpx*ZLJbX)7kU`Tzf^`q6#SoL$D`q9+S0qQ59ekR~2&|06XehyMU2dke$ z)K8xJ8HXQKox`81)_M|;uLX^w|C8?44AEzX|yJi@kSJ2mXG9zdN13EAV>~{&sw{cTx-fzJQe z{AxEmT2d ze@_<+1Mg?CNU)vS&@xf-+pW9FQzkXx4bb!aRE(gM$Q@Xx9HLtN4YMRfKB7Ns_?F7* zTn6D|*2;GCJ5pPyJ+T=hf-23v`erUZ+dqZ7o2dB#ex07!@%o4HiF2n}&vp|(8dhit zG7A#pVK-;uHW_MC+FVwJCV*wzyh|#mVg=}GA8GL!Dzd5#BErs>+Oq5H#8;#pj#xnI zAbLn=bd7=RKxG8A8{T#^&io@&`L`hrq0hD~7*=jKtYJsl?q}6w=LCKg76Yj(A#9biDm~qn@e8zP0D_GD& z=Z6LJ?3WJV>=1$w!t7vT%!6&VzLh|SEBX0y>OZGd(y(!`vQ?-d)Yvda{Yi>25OmBI|Z246HTn~fXs z(RiWdw2-YI_!fH{wH4*O!3l*|cr;C?To)r+=P+{K!c?_!$_f=Af+U2Hmeud+X!d=(p3 z)Kj!3pFsjgFu2X$A#~ChyTB_#7Iv)tHYo)(iZdR%%zC+gy&%P!B#WO8Z>M4))Ml z*zAezq3g)1@X3DH*f2+|;qa|vuGOL|$c$xP!c_kpa#(e*#mYt)@v(^|_yWVIqCFn$ zzz0ukIYOs{8^Y@v_!e4@BHCKPIv|>gE{j6@vb_ggq<*Mo7AyF&osiLNBUg8uWpl-} z*Y7~hmKQNJxCw3pyBk1vaRN%4eHbJRfOPi#z-Aa>A2J>nvHQ_1{6pUa*QhPE^;o#) zcIdblX9RR4u6I6k+t;kX=T8KR8Qhh)Dy z4%wrUH}qWWcifl(&!YHXX4o?!G11q) z9W;NE*g==Qy?0V$r}{f)i~23X?^p3xfxk=f$2|P|%OBO>%Sd}4eN@|{+o&R|CN8=LHqy8za-ix%{+^7 z8<7q#Z+W9iI=C5NK*0hq-*V-3z$g=nHu5T z)Eg{2Dzkz%q49jNd6H5Mo>Q$HhDuQ4r1iRqd(C(kW!oMS8WpLs${1=v#M?PM8eVs^1aC$WLYC2YB?x6RYr}M#QUqYX>whRWM88+*&0l zww{V^N4{9;hb6ea{Uzk0yr9V#Iff?V$^~!joiqo3XW{QO{7uH6D?bj!v*x_}@Y~n1 zcTyMr-p3#FyoKKv@%JqL9>?Dg@%JtKDX6lvZ(T}#Q2L>|X#Cl0{;nPHSP|)vk;qb? z&FITajq;oE=WMsXtDj=(s+e@%=}?quW<=7g)huQz>?BB)DTH)VI~2SsLNyXz}$)ssAEmamF>lQ*hE>rm?VMrO0Z|r!4#+vXEpu?a>H;A|G@zdAXC^Z9n-jlO>oJ z+yb@w5hRer-@-4{YdY)V+WlK;_c|mV5s%%9sN$RNxO{Ue_@*s`ZysY2Z#FiHpuw?d zP*EV?xPGNfSiXJ2xAjy5`Sz|*mix9jHSP$Bj8vjZr}N?6lN@?b1c0LY88t_QcORqI zhIg;hE5f_;wdiCN_^U9>y{IU>d!#-!y!%j|zc2=0AWh6_q{CoG!`CuLzmI3AVE4zz zRR26opNn)3V;sk6Wa+2ZZVi8oXyzC39dVe*KzWv!icHpO&agn?SYi35f6`y~vWY+8wO}Vj%=;N1@cJ5FwI_D6$VNPlmclRKDdszv z1)pN}9h=`{(Z|&D$9#TBJ@+SqXtGF3nMf*XEPeytc9y)&ef^=lUhlsCSY9u4Uw{aOk=Mj6_{s49Du3BCW2mNF1y-)_62oxyWfWkd#F?uX;+fV_nEHvj z`ZrT`TQCaJFSvPzepa}y6WUBzKOM^28NIV1sC})oZ}wO*))t>lThC*OnGP499uzfQ zhkazvLlssq3`gh2@U!A;v}T_ZvRSJsY8NUBqVCmH!9*=JS4D5ebMkvul$Bd6=@$SO z-1%D;($+qu{MGkK7qBZ8t(ZGOH=zeDuYxCAj9)W)1&hb{f6Snpa=lW+<|D!U+BueB z!dSj@0AZtd5&oGw2SlE}HbvxV!yE9oy}ox+?wgR4_&pNux8YAUV$Iyq7hXPM8(e}6 z;*}ZXK-8R?K_b!(>1cCkEWG$yln0yP?&T;U2rnPW$!#l=T4$bpz1N)o^Z+zyWA6kl zdL_QAR>IHFNJAS}p^f^lU4iE?ChF5fzs8wTOx?h7Ra38Y3H|7ct-cm@*p&>!5)9DL zh;g{h=4|z?fJWJB1Jx0z9t zlUw57QiU?WTFJOr4-Wcsyd`sFwMK73nMGOVX4Cg=#Irv+0sAtDM$d zbn7^HsE`JQ+MV+>Tr3=e<`ktQUd5#G|F!ou;89g~-sdJW$s`2kDnU_EuNn{pV}gi; zF9RlgXaXq^)RmeH$pljK)no>O4LWfWV0s;wt)R5hZMLN@ZGE;_1lg5#BT!J6w$ako zw~KY!vUbw&wrS<1sbytzp&8P>P+2!QT) zgm!D-846Frf2*=t6D9KM1+UOhXmeTkPytDnR>NI!=#SA`vF8{~WOpudSr1a$L(^OM zo|NU;aWZJg`Gba>KWNDLgNB?xXvq14hMYfW$oYeYoIhyD`Gba>KWNDLgNB?xXvq14 zhMYer<@{#V#rb}Cu6Hv&On9_oMmvC+sZn=xw<9K;-66S!(69GZ+}JL@03y2hUNCk91j*=@F0D;KWlZg9)-2@ z`1rT2@*V1)!5opdHif#ULO-yE;V*v&d$@{piK1u8Mb@gkNEK2sa~%{m*f<(|J~?ZqiBykTsQJ04-ayqh&1 zxp6S~k<)k3xZbQ-KO_UhRP*JjSdLxmV0*z$oyqQ*WVnn^-Zq1Tb9ZmBhnnZ^`x!;K z-p>3Bo}UqY0R_49ctsy-NNGf_HFtd*tOJj=;7mLAx9rKT^evz)uk4je=d2;pMwpWY}!r;n$I z?|Rg$&f_`u`0AB>xjG(SJVU*ke(C1IY!o+cvkhd3trXy#FWNf#o)sd$$ zW0SMi=uhDG6D14V6Sn^-?w!Y-KfrSLA?E3-iq7-ct3?4JN=0(aCo;5yp+mWh^_!6Q zTKS#>3oF*VzMXmf^S>Y`cTc60-75YMc-Z;N{x{5MqZTgI578xDvoL;R!-*|KPE^azs+Z0Wx~Y+F7zA00`vmd?;d)Unpn}5t-!%Sjx%TFMGr8Q6Deu^5UdAI$J;;j zow?kvwE-2g^Y|4A9m;?#^DGN2`?9e{6i~JshCae-PA<0f7_)>*xq87(WjL$GH^+)9 zT$|Ibd4sPaSmTqmcrV%NJ))uVbKwr5%-fpd4*v~#L!i2l_vrJm_=WJS9k?}LPh+*l zz2`aXd>xl7qusq*Ht6LS^s96wlo2kuM+sd~g!j$14nAH%dC0l&W~IoFleO9t3&f#6g>%0Hs(v4GAb3LKm?xe-56JMB zp9{VQ=`Z@gb3DP00OKmP(hF}zLnk3JY|k_45eFHW^X47`)P*RL3=%_S%dhpV7lOZ6 zx-UOIpK(E`eLK*cp3|3H;@v9P!M^qq90z}g{Esq>5L|#BLnB5--dEp!`H3G|0hGJq zQ6J>~tZyPyJCCn9CHH6DV(!nn|>_hqn$6Ok{rXy2if;qHvqUNeDhy z`SJoER``E|%iJOL#7^n?dDs?<@t$O0()ckT=WWb#fDD%j=WC4ekK%;#e?peeQe#2g zHL666U-m~Txp<}`G1=#f- zDnH|XrC2pH0n?1=zj9=SwhK+OyNf#zg>XC1E_8hzu5gYJGd`Rec<16`)!~~G-t3rmvdDkdHwoj0a^`C# zq{aq(^dwx~w8(cNJ5 zpTX^)*y|vbHeV6W`94E!o`4BgT<)&C;O;I1oDj(FhhbBQX0jkOWNRqx`x$?P7PA1` z9suW8Sn2f^{7X(RdEXCu%rmlEbfbL=bv)_fDFNs%GAKwad2G|T|9I5& zx*o;ImR|Yv+(@s|2vT{Z^!f~G@IC}weq7o-V5UthK;6wu%o7FiYR2&j=BL5)kSU!u zw_fl>5_Yp#aX-UUkDZ{1(1h(h{oFZ&_zp%NLT2fer`?CS3uQ;?k3+Ac4~^EKhQXF4 z;g!W|-Q=Onx&=d-#@+d(h9ypIm<6?{^ehhi-lsZXg*`wlA=oU)9VzFcl-Kk79eDGP z2>ytLVHy0o(EX+lce9-imcFADU9rg-x&r-!JwJRm7ZK@;%+5=&?Vto;UPD zT0IUU+KK2KCnBMu`!I)Pms^6f2^0T-aZl_qU$bMjmCv=SJI_;w8tU#q@It%WWgsim zs8=#~gZaf{Sc&1~2Kq8J^!jVjF&KE22Hag&Loy|${_d{BL`wtVS>19c3kFsi!a%xn z?yfHa#Cc12!p(%y3=@g^GEG~3H~mHp$F`qlGL>c>b3dH4L{&c--g-_q!uMhH?^yy? zID#k9NZ{rsEV06uE}Z7649u%=xV!tY*F`@>hGAV>4sm1ou8T`lhyU7eP`ew((p`0b zT7uD|FDv{^^;}p~?$WnLc?_hRE^+tCa>psTcSHube1~4TqwozjXcHN<%C7K14Z}>F zt2xxd6!S;$+)+qM+tKdeL5GlUI|ed4uo=GSO?THjrX$~zu6fdde@6caOde%_Jvdzo z30@mY)8Xh;$#yxyH0a!2Uj`XBIAzGeTKQQX&M*1AJZG(kWp3qQ+_tN`xBW0=D+8T+ zInGw?)ED6~7>w$oq0*;t+6qlwG!H3mxIjaw<9!JnCps5cuHr$x93!c8`HDqR#^zRZ zM=CSCi``}LR}O!(k@9taDn_DVC5G{-$O%;*(B;c(`Z{0Ee` z-s;yop5~Q+MaBymn{!&sVgTT>c^)wEn2@a_0$I0*B1y4Mt601uypN_aT#U zbCK^~!+xCR#{rUkGE)vUFy*^BLLC^#ou-vNy1%E$zpw2(dgVU7e1Cdn&s$ic>(e{_ z#uZ-bn7-5zy;076WwM>@e4jThpgFmX+t}o)6q*5!8@OHA56j^DZuStm^uy>o9wBY% zc{2u~bUczJW9EKxJ_B6dC*!nF9yAXA3Pt%S{D>E2%xm0TbC7zWlc!1pjE0f0(f85j zD5U{R=UJxT#v4cFfzDrEzI>xuj8WwxWAwFZ=dUi~cB-snp|$F~a#X+0OOVb;JJ=ZY zu$#LZ`lq2MV*t9_D5Q|}Mh~-IBj2KPkPJq8Kl}(zYz(mhGHMHo#tJ@6v;?!+{(WF% z7MV}+^`=D#Wau>`Sg8E{9TTsQ`(N|pxRqoL% z_hNGRkX{a8r}BE(_jy+s-C^v$e#{*(UkEL|gbp+KdyX8|U@K+_ZQG?3(*#OCToT{SVC7B zeVCS|gY#s$-~25+4rf(?A~0oK{6_|!Gn z*RV>7X8e@zU;76!;$S0;R@uO|ox2jDNc|g zhOgrO_RiyF{|FI-e+cjP4STB%<5b@O9>aN+%WeYVYW5|A{zm;EB?&klSXlIUPWTxb zAZJ*T%Z76h6UKG82yxJVF#0fj2Zirkcx|q}DHl2X2mRnI!|6}L&rmlo9+v_X&4G}7 z2@eC#1ZC(XIwZya8@TlM59|*IrHlgdgq(f|BZ6`BQLrD_g|{z5hTpgl5makIB`4<` zkFSn?7iTUyk8e1_-O#9aQZR7~92&!UbNMnhzv27r>OB4_hAXxFrVP##=ObEHq9x~PH9BidcGe-Cah7Xyc8ZoMX1Bxh5AtkdyoYSj{c04)jF3*#4kNZ( zb5IuaWiIz~-A}L;$4PBIQ0eaWa{N}hlT`#)EAe9vBjIH15s+SXZ<_)du*Cc(CnQ@3 zG`8*?5!e=9G`qV~rCkP#9ma<{KETjuOQ&-@w4mbOe6_~JQSL1{2LfYcf~IBKAXv8F z6MRk6ai&1=zm2oJxR5w~kxRe2sBiPna5!U2ZqbKrKMa-bi8%^w-FvEZ2SOpF^DWqE zzk@x^QdkAP%V-K84wzvK<+~ZDpRrf{I<`FJJN3o6cx_k@id87Y&_6>B4uqRFEiQd) zAk>aQXIH2K^ME}eq~=~eD(nxiyO6gxqEE-o&h4(iJs3{$T01$Lv^rmOytucye-gqF zD(~vg#n%jxyX$Fo87(UAGt!^A1OcWV9K!#?4+{sgj=8&@W3uqj=|p|iB;3Oqs(d+g zkOUZag@X^G(FwgOU2TQ^R2ahti>2iZ>YsfF&W&c_RB;q~jLo@}DniAVg1r-q`ux#T z!AqdzkLRTiGV11?w28%_pZDJz@iBL_+k>Uckm;2#-}wwZ#%>n;NBFx}BC5LN%KKz{ z++AOh0|>}_^f{&n`plw_Hc!(RJBo(f+uuh(vIgB4$J>z%deT`WXlZ z-bLNPDA9d*sS^DF3%TKyjt~}&mnv*1cr_eWP!BIn!-oFsz!T~7++E)zJHKk)7r-+v zyeO&<_i~x@&p`QESeyx$Vkq*CJ}&z2xZ)2T#Iev4te+Mji^9dSo_?R(RIwRfHHMXV z8bsFTCI$k62h?zEmHo4{yB6WlF*br=dvT5|4*hbGu5wrZx7jV<=bBg9gE5ibie6Zkb=HU-qnhXhq_97}%LNKF zGK=Ju^sbQ6{|!auJ(f6Fb5fVYXpOGY-Sb?VG6u%Yb8XHJSLEu&DEIz9qQYREW3KNI zrW=_4`q|cejlQAJ#ma0NrdyBMeSd5vU<8L^zpMi6J@JHp>T4}k2c$Qt9L;5n=>Vg&xiaa#P(@4qz#R?Kc| z^0c&UnK`qvsb-_M=236$;w?V!qSjW=meuu5kCqCHqVTRb(Clxm@y4OqtCK8d8BP(i z091WTm9}7kwxY7EO!z#l8@#?d3{P(_%rDF@Fb(-NHKMt$uFdPy7B0{VEdBfi+APt4 z#{r<3ZRh~ciox3KyY9MkHYuta>zn*-RkO7D+8pU(A-J^7tZJxltd~67W{ORo2EUhq zDHJu${w8T{X{Ar~EpUziOGj0r$?L84*3$2``p3M@byM4FT0Op+jaAb`(|Ug$IT<9P zq2A|h^)yr=ARBxe!DM!!sBdcV`>N=Y93EZV&|LHAYM8*b-B;yhu;`iC=xN(XR?G06 zTHi85Yui{~=bI*KJWaLrwH}|BDYD+v=B)y8+)}!Yvzo3I&Za*Iy|<}W)U|pxGX~^G*yiA>cx3~HH>)Y(qQ}J9< zgV*qXie@+6t`$z3#xN9srD*eceDyU|HJ&!#e0a8S>Z5*q?wr}^Y1bAmG!ui=Hh$nB z3TW5pZLDc*nab3ep~cc>hStbz^43nH2c!H}Au&+$aWNfkt!wkvmdWfh98e&I(J0hq zDjJ9V6yb0ws-mR{rz=fO)6zwTD_u?393s=@P#v06xLi)vsbz>PSB9FQWr}Q9rkbg_ z#2A-Lb!l0`k(H%pY1zV=m91uLV?;*Q7sbWl)s;b%*!jXN2dWCkSaAserUa5^28QJ62@mj9P%+6JFwF$zNJwctIT_v)z zuTrnlt`^zZSF2ZR6UCV9iRwh{8sQjoje3oCt#FRHR=rlcPGpR^PQ6Z>Br?ZLQYUHG z3)h(I)$6qzMAn!a)El%LMfR8*)f+WUj2WY;ns$?LIX9~}YqyAuoLkge zv^L(s8h6CMRv}u>aE&TF(zlKI#rt{9Al@c)3n=!bL?&E zZQ68^F?PB-U7H~?$Ieh^XtxX3*xS|HwS18^Heb!x?hx5y?@;eR!5K5QKrKKiaEvQd z3$>ZTIc}ypQ@c}SjJs346AeV>xLN8f?JnUOcb9sXHd|zko2|~)?iShO?pE(c3o&Ng z9CeOXBpmJ{wMd&QobI{mTy37naL-fcY4b&OxJKnC-qt zy+>2DG45iuSS#^bWoJ=C!y3RXGa>$X7`TOvi)CyD!9ojTKuhEjZYu( z-J?dYZ)0;UDpf;+w-%cq|AdvGzrrAL6%_RxQ2qvAyP5~P`)qiduXgU-^`6=)FlnwC zR(+(!YF|+Th08`(RkfkXUscoIK6h?a6>f>F@wf7=5N{RRQZrU5Y5Yw#Dk1EAEiYCS z#az#vmCA=wi#qW;62C+WA?*BTC-S$4E`<*Uw^$mog+yydtRn?}(`l^}+Pg`3R)31t8!7=eu_C>L{F!C0LJ`vq&o3FLLX~W#P9-m0Gs9IfxmI|YbBzrb! zp4Q>EXv-2A*iA`L8-@bD)+9?Ldi{o`B+IIDj6hl%JgCwhe|r*WB1yLOO>N%RF z)s`G)3~V_PvWIi-T=erCg5j5F&*Z=xg?ymUC&#Kus%Tu(kFh2P4VdtmaLh z$XU!^BTR*bt)8Y0-dN8v+^-~mW;SCm++0^Boeigs+a$X)hSZ~YWI9c9H@m(`=3W)1 z9Da7laUT+ON$zIWHaB|en?ByZL@sgD3RKkk=C&%7FYn!Tp85uKs-v|rahD_OSUy@Y zS*dS~r*=}93mcj@pspLeydA^P9n&ICA&hPu4~?Ma@8S z(&0CZ-ctuFyhw&Y1ey`e)1;yL`8?=?wdOhu=SFg~xgG-tzmLS88jdTpSo!5y3j43F zSP@@IQna(wW6)EP#?pV>mu>?o)JS|tPo8x1H7GlcJsip5Og1lEq=*MhMZKjepr^9T z|J`4PW!L?mOude?7O7MTco4hR{8In!eTp~;HIkbRu&2Mo7ML{S@%_beMLY{t3zh87 zqEEJ`c{=Dni5iL4&d=iENWpLO8bzGKyEjw?csIk+kA?oXHq5dg_65z=Cf(rbxcgyr zrXR`nUmw9u!w7cC?nW{%L^ytn)uX9c{Gi$lbtBHWK7_lWJ03#VKCOsr@SX2bMCD&8 z;^$CfA6CR#s8`l0!U?<<*a5r@aQ~^i1a6K)eGC47 z18%=nYp8pGRl>d>ybpoT7vc9u4=UmkaDJ)&0b!tWf{rQ&H#)uFsEB`pdKzjy)Y4Xz zkN+Z720oooUxTvizYp_yD0iD8{tjvmRI;C+hFxt{t+x^VWrG}f#9KgiN{6ozkQ>Cm z7V3fKuImKm{_*czn6qGB4^;yF6}Inkn7J>$4Qeg)WAH7zUT913wXk~V*PC>^fEB{r z3^U)|YKGcsVy~On=S__Bj6J6Q60n&tzW_7CHrnqHXpTT(uZf^~75b%0uOaLjMDkp7@WTf7>+E{Tb+g21ShO=g_|k#Xgew z`_S*XHtt_P%;%vpO#B1rFG7))?uVfN3zWt0BVxArq(h$pW#L)SKV>uLK>s-?i=P|% zU)%Uy3G)OfmIw0ah5jlii{CZSPqLYBg#LOci{H)APqyJxp`UIu=R-dS%AzlX-ikl{ zm<99QP}GxVF7ykaoTm9+=$Du{X{r!*iy!IF16vM7J=OituYh8FXkG<)B7(rkr307Z;E zo`k;JhVOu0hqCzpHS}MAvck6u`sbjm_=+ zhn)l8Z<>6_>s{0CJLZ>kN1^K&)zO*|7JGKMX z7g{j@JI3AmGTy&}9ow1T<4bpp`$#_p?F8dteaUCY^uziRcY}_6tS_`819oiNtS{~U zZ+WMnE9e+b>&y0c2JGzlLU#*bN6d;Z{hI~5D{Wuq*HYLq zEvzrJqH1Z`%EgPys>Di*B?aWu=Y02^zHIXF!D7Bv z%%_U^PO%B`30}Ux%g1*aAU-C|m!v_CB>=;YPyI^S9Ul4R3%`8cR}%99Xukf;r=Ja* zxpQw5Gc>{Xc|AVJEiH|P*T3WgU{i&^0e=mG?^$^TpZr5T_cEDke1dP&K%R-dR+A}% zkT9Zf(;Z^=`px594a0wPXo_Kq4qba8jTtLuX3l z;=&d~Dq!T9p|6L*>uEGa4wgweY)*hIlY}sdOmJoyJuAeN1;Vphcsydt6j9S4red+E zQOrO@#p9xOt+-_irP)$4&hxX9$6r~&EgT^{j6B9Ky2`e z4L(udE*e&g`STZuhBkaegHJRr7q>4Ejb-9C{I3^{4WhA8+TtEkyGw(Xl`@H;axA(NZR+FAyyaq6JPC-X>aF#PsQ+rA@T>U>2YCi+eCX3cK=mn)Tm|=>x$He;P<_7uC>w)+Pi&&ze8MUFd*^j~{An|}~tEx(V z3un#|{wB(qkdZYTJ*{yQq~$R~Orw!g+*AdDpf7<(+s0W+q+~W;4(8JVR`Y0YxNY^+``V=SLeoB0j0{_CVFDksq>RdlPV9c0rQ|>5#wuwa z=g8X*@qy1=7aW#a}z@d%h|}HB>>55XDf{ zP}c7$;40iiOgqi|cEMhQn?YdqANx4`G`geyX6Q*v{Q~IuU4bt?AN!*`lD~;2rSe$C zDxq|^GM+yM+v{>1jvWdy4Qf)GhzyZ#(KuIk+TyX!k|2hu#t-hwq{GbTLv(1kG~DHZ zr0)wN(u*(CH0FLu(7DaAUGi84>lb|@@^~^0{Lo;x5h}+oB6lcBJW7L(ZRi9^^Ayy? zO(NpKH^Cnp%>iI&xFT7}e9W*gtXPT?5rp?k$$XXvovXK}ZzFFF>Jrq{%_8z4z6t)B zyhx+bpLP*>FfBDr324-3MC4eCFpCShfJ?t;7r{9sT2SgrWEl&9j`xH+4x*M= z^#>HoZSBGg&{e;Kz1VF3zGcy&jRc+5&s2b>0v_whewt;!1$YGbSBdKu5454nx22<~ z$g;8vG&|oF;&#$JVWWYWY4|emLEufqH`{RdL7eSt@q0o{C*C|9zW}@i_;}(_vG_tu z_qix*JAsdbek6Pr@SaiJuL0f{!Cai~GZX#SV8`~g_m^n05sn1hOh;RpOj(vIevNbn zuUOd4HfuhtdVsAR0eg^k=j0e>m^-$0JAq+bV`9ixlPAk$1ehm=8DkR-W|q?f|As!_ zj+L>MlFhpyO&?TCKjMsUEWGF^&<@GIj%j`Ys^GVfBid+QoR7xCX0P zzz5F@aW%eie0%zG1_f61gKeGqJKXE;u+tc2*OunP+5x)Npu`74P!>byF+ZRsUJRuI zr(9+vyc+h}D0l#P!6^KDfESPAz881}@N4iL$^QuKTY%r3fFqA#X7~ltre~P{aa;p_ z0C=i8Q4G9yn0u5HlYcevKH#a+CjdM$3f=>Ja2Wr1_g1m4EDCv{7&k zc)=+Ai-8vpa~}_1HSh}HsnRb1yc+m;L}R4<>j54B?oNUC0^d0b9s%A1JXQG+>Bt}8 z6H@TkfDZysmA=Km3;vG~x214j4ZIro%_;Bz@SP*M$2g7Uvj=!DaQ5FLrB5&L!BOxC zaP8tK`46TAz*EIf16~aL{$&5nKBpM?PT*=X4zmVT4ZH_CiraPenz9CG@)czbQ;*C6m7;2gIh zS>ia#n+Btr0sg?NpijWfc^v(i1)2&>PDe^l@>l~r0Q`|;9=3S2gN75_R6O{XzE6Z??%vQ|DM{P z9l$GqbNw?RzUEwj>HZ>UdO^dr%>)`VZ%+dkAEn0611}y0&v79=N5N+R?;Qm%11>J7 z_P+smF>tP%B!nMk#_uWM)xdK{!1G}DBJcq4?a4TXTo~_Q#$oU|13FbGDcj5o496&V zE*42zfKN^K2WEzI7Vw@FIK#OHcpva#Z5{%Nd4(L8k*))D)rumzp-)JUB)WZ|8wB09 zWIDtf(^}LBA=}#1pbMla;_JicjIo{u`$5nYq$|RoOtUgRf6C29c?L~KG7bD&X&YD0 z2VDUsQN#KMxMMo410DcAEt!vrchH|v@V&q(2pGvd)9)y7)v1WTN#>6M_WibSo})jY zn~_XshQl!i{s6x%1)c|7%}9-x051k!oZueqzgaJ9fd@vxyMXrsPZhp>zz2b+N{17` zwakxChx7CYbR)%6L)de2;1BTXgm|Ejvh`yHps8?;PO}Cy2SBrtd@9jvTk~q0+@l>d z8ib`K$$lZtG}!F{-U3|mxPD|FM?ph@>qzlo`8W$)%~l}NOR8T<<->u2Ll5Xi;=^*B z2fS|-yo3XfF=n0Giq^}Dua*D60~TJNh%=mBbf1HIi?O<+(uUjSlcakQbO**N;xo`Y zpkn@@1wfM_C!VA`13GP-B7QuKZhN|9346xt68&{!KTtBAnFo_FASwV}k&Lg5%PfjP z6G*{>VW|dw0QeV@dDz-6hGhrnDj?jOoJ@yt3Hj`&Kfqg(aoHd(r8r8qfqkGG1l`JH zx+U9UGPw(&DTV;CESbj4uUt$vb^^aM8Hbr+odvuP_`GD?biW3;dgaLOHMsEsuK<2u zvU`NF48kDN>;X*=XqJvZW62hef@Tmj!}15=V49r;UOZkAkFs3B94{~NeuMFGU@&d0UiMUD)9++ zK5;n|>0DQ$tXzYAiKK(F`-dEc$k*Uk0J;O9`_3@B?dj!apQ{0T5OgiqVo%~Qx}XCh zPnq8xpb^(8BhHN(roF%mfd4v~2L@4S@8md&X>bB`+N6>5jrcj>6)A9yydiuD06#`O zR4necG5%E0R9vr!-N`hz@p&0&20@c5FB*W08x$!sOz?+;I5UkI-d&(;0o|Hpzsz#{ zGVs0>xCS?8fEV1Th!EZ1fyORYc8s)V+75xH7c@#5Xs)xGgxF zXi$^v^X&rARm?W&mX1uPfgkr&XmiXuJS%|?b=_Fk?Ep;+XeNU`p=_CL^j_dSqu|^l z&^HQx7Pu%%&Hobcf>H2E>1fYV;EdyZ;5&iKc4{4ZEUR9b<7CoQgC=6plnkd~9qIy2 z!Q9m0+y@+2rlw4%6To+lf}aE4I|}YV;t!63=K3ps8Mn_8w)~akY)ctmEjSeuVeVRBH7A9;r-02!f$ayTrNB-A%T0krfVqI(h;OW%LCZK?g31B*AigmS zbx4D8BGQZTW4{!`uzvc0xqeFb^Fg!sHYL(wr!o762Z05qE0McLz zL>)hHuM+v+Ac@hKerT|o13XZoM2_0=Bp&NPGpQ8U`zO(0{4B>c9l*<$Dv^FWjx_#M zAalu+8OAP%JYf4km%B`fU}_x?%LsI*L3asse`}{R!~9Sn^GPNt`CR~=?>;3W>~!F_ zB9JMU$4RJxj_uf``<2KSp^v2j>9(gY;~14?pcpjmWlAJ@e87BK2ka=Yf3&;D#uN$+ zhddM}eOQe#%}}5I*{#!OdCVdmmOJzfW*4$Bftt zW`v&|$i{U_RKY0Zu3ejR8geR_D>5Niik z4D3$3dvjd93s_za;uXuElCe%RA944vd;az4;ddyA-AjrSQvb`!q-HJP6#t~84>-he z+6|_iQ(*HKhk;-9DeZli*h?oLq2`+Q)an^{H(6<<7^+t>|zoC3N<1d-w zuT7dOKjp;6aVI=&0MT>gFD{GgmE60W#mc&e4k_XU?S7b45!lGmE#<*XmLwABE9Rng%2s7Wcvw9 zPNvJPTHC$tzm=x^ zM!EA#Y03*}XqbMGc4r`60o_)5d|Am_>kKO5ad-@aYkpp}sDVex`o&IcXE*I_`s|g? zFQ;QU*+8<_JKt2q56rB~p6xuSh{L8S=NiyVbPnL&dd#26J&O))!Oq-9>OFq+-Yq1d;70CH= zTKc~zpA+Kg^lQG6E)Fuw6p?26i2f4vJNFvv-7Vi!*n9}~XH5N)890-K?-~RXBUiCt zCPdTtLh>U}^F(i>aTW~XdBJf9#6wb^*73Zd?|MWCh)cxKd}B`rMk_-0k@(_1@8-{u z$$#RP`)Q$BtC6Ui-&_sUimZr8Xjm8&Oh~&3=8)#=}T5upGzrLv+|9P%JAR<~ zzDDGKrUqfy(ClmR)D}pM$d|`~K*Cc&7FHdzBmY_nLm~} zDwZG8(w=3GYVZc5tlb1V(y;7Z1I404I+jr?mQCwtq&m*O!2&Z4NyoBC#j6IpW70C8tWI{8w<@hpQqyw(?{X&WD;Ux*f$Dap^ zp@(vg;J zTVR}-k|e^9_Wb<=l*Ny9y{5ks#6R+;ItXRaZEOo s-D@TtX#=236}~rt(>>EA@VG%&vIqwAr Date: Mon, 15 Apr 2013 11:15:02 -0500 Subject: [PATCH 06/48] add support for x-snappy-framed streams https://github.com/xerial/snappy-java/issues/30 --- NOTICE | 3 + .../org/xerial/snappy/PureJavaCrc32C.java | 617 ++++++++++++++++++ .../java/org/xerial/snappy/SnappyFramed.java | 128 ++++ .../snappy/SnappyFramedInputStream.java | 452 +++++++++++++ .../snappy/SnappyFramedOutputStream.java | 317 +++++++++ .../java/org/xerial/snappy/CalgaryTest.java | 112 +++- .../org/xerial/snappy/RandomGenerator.java | 68 ++ .../xerial/snappy/SnappyFramedStreamTest.java | 300 +++++++++ 8 files changed, 1996 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/xerial/snappy/PureJavaCrc32C.java create mode 100644 src/main/java/org/xerial/snappy/SnappyFramed.java create mode 100644 src/main/java/org/xerial/snappy/SnappyFramedInputStream.java create mode 100644 src/main/java/org/xerial/snappy/SnappyFramedOutputStream.java create mode 100644 src/test/java/org/xerial/snappy/RandomGenerator.java create mode 100644 src/test/java/org/xerial/snappy/SnappyFramedStreamTest.java diff --git a/NOTICE b/NOTICE index 639ab66..7f27722 100755 --- a/NOTICE +++ b/NOTICE @@ -1,6 +1,9 @@ This product includes software developed by Google Snappy: http://code.google.com/p/snappy/ (New BSD License) +This product includes software developed by Apache + PureJavaCrc32C from apache-hadoop-common http://hadoop.apache.org/ + (Apache 2.0 license) This library containd statically linked libstdc++. This inclusion is allowed by "GCC RUntime Library Exception" diff --git a/src/main/java/org/xerial/snappy/PureJavaCrc32C.java b/src/main/java/org/xerial/snappy/PureJavaCrc32C.java new file mode 100644 index 0000000..fec20eb --- /dev/null +++ b/src/main/java/org/xerial/snappy/PureJavaCrc32C.java @@ -0,0 +1,617 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + * + * Some portions of this file Copyright (c) 2004-2006 Intel Corportation + * and licensed under the BSD license. + */ +package org.xerial.snappy; + +import java.util.zip.Checksum; + +/** + * A pure-java implementation of the CRC32 checksum that uses + * the CRC32-C polynomial, the same polynomial used by iSCSI + * and implemented on many Intel chipsets supporting SSE4.2. + */ +public class PureJavaCrc32C implements Checksum { + + /** the current CRC value, bit-flipped */ + private int crc; + + /** Create a new PureJavaCrc32 object. */ + public PureJavaCrc32C() { + reset(); + } + + public int getIntegerValue() { + return ~crc; + } + + /** {@inheritDoc} */ + public long getValue() { + long ret = crc; + return (~ret) & 0xffffffffL; + } + + /** {@inheritDoc} */ + public void reset() { + crc = 0xffffffff; + } + + /** {@inheritDoc} */ + public void update(byte[] b, int off, int len) { + int localCrc = crc; + while(len > 7) { + int c0 = b[off++] ^ localCrc; + int c1 = b[off++] ^ (localCrc >>>= 8); + int c2 = b[off++] ^ (localCrc >>>= 8); + int c3 = b[off++] ^ (localCrc >>>= 8); + localCrc = (T8_7[c0 & 0xff] ^ T8_6[c1 & 0xff]) + ^ (T8_5[c2 & 0xff] ^ T8_4[c3 & 0xff]); + + localCrc ^= (T8_3[b[off++] & 0xff] ^ T8_2[b[off++] & 0xff]) + ^ (T8_1[b[off++] & 0xff] ^ T8_0[b[off++] & 0xff]); + + len -= 8; + } + while(len > 0) { + localCrc = (localCrc >>> 8) ^ T8_0[(localCrc ^ b[off++]) & 0xff]; + len--; + } + + // Publish crc out to object + crc = localCrc; + } + + /** {@inheritDoc} */ + final public void update(int b) { + crc = (crc >>> 8) ^ T8_0[(crc ^ b) & 0xff]; + } + + // CRC polynomial tables generated by: + // java -cp build/test/classes/:build/classes/ \ + // org.apache.hadoop.util.TestPureJavaCrc32\$Table 82F63B78 + + static final int[] T8_0 = new int[] { + 0x00000000, 0xF26B8303, 0xE13B70F7, 0x1350F3F4, + 0xC79A971F, 0x35F1141C, 0x26A1E7E8, 0xD4CA64EB, + 0x8AD958CF, 0x78B2DBCC, 0x6BE22838, 0x9989AB3B, + 0x4D43CFD0, 0xBF284CD3, 0xAC78BF27, 0x5E133C24, + 0x105EC76F, 0xE235446C, 0xF165B798, 0x030E349B, + 0xD7C45070, 0x25AFD373, 0x36FF2087, 0xC494A384, + 0x9A879FA0, 0x68EC1CA3, 0x7BBCEF57, 0x89D76C54, + 0x5D1D08BF, 0xAF768BBC, 0xBC267848, 0x4E4DFB4B, + 0x20BD8EDE, 0xD2D60DDD, 0xC186FE29, 0x33ED7D2A, + 0xE72719C1, 0x154C9AC2, 0x061C6936, 0xF477EA35, + 0xAA64D611, 0x580F5512, 0x4B5FA6E6, 0xB93425E5, + 0x6DFE410E, 0x9F95C20D, 0x8CC531F9, 0x7EAEB2FA, + 0x30E349B1, 0xC288CAB2, 0xD1D83946, 0x23B3BA45, + 0xF779DEAE, 0x05125DAD, 0x1642AE59, 0xE4292D5A, + 0xBA3A117E, 0x4851927D, 0x5B016189, 0xA96AE28A, + 0x7DA08661, 0x8FCB0562, 0x9C9BF696, 0x6EF07595, + 0x417B1DBC, 0xB3109EBF, 0xA0406D4B, 0x522BEE48, + 0x86E18AA3, 0x748A09A0, 0x67DAFA54, 0x95B17957, + 0xCBA24573, 0x39C9C670, 0x2A993584, 0xD8F2B687, + 0x0C38D26C, 0xFE53516F, 0xED03A29B, 0x1F682198, + 0x5125DAD3, 0xA34E59D0, 0xB01EAA24, 0x42752927, + 0x96BF4DCC, 0x64D4CECF, 0x77843D3B, 0x85EFBE38, + 0xDBFC821C, 0x2997011F, 0x3AC7F2EB, 0xC8AC71E8, + 0x1C661503, 0xEE0D9600, 0xFD5D65F4, 0x0F36E6F7, + 0x61C69362, 0x93AD1061, 0x80FDE395, 0x72966096, + 0xA65C047D, 0x5437877E, 0x4767748A, 0xB50CF789, + 0xEB1FCBAD, 0x197448AE, 0x0A24BB5A, 0xF84F3859, + 0x2C855CB2, 0xDEEEDFB1, 0xCDBE2C45, 0x3FD5AF46, + 0x7198540D, 0x83F3D70E, 0x90A324FA, 0x62C8A7F9, + 0xB602C312, 0x44694011, 0x5739B3E5, 0xA55230E6, + 0xFB410CC2, 0x092A8FC1, 0x1A7A7C35, 0xE811FF36, + 0x3CDB9BDD, 0xCEB018DE, 0xDDE0EB2A, 0x2F8B6829, + 0x82F63B78, 0x709DB87B, 0x63CD4B8F, 0x91A6C88C, + 0x456CAC67, 0xB7072F64, 0xA457DC90, 0x563C5F93, + 0x082F63B7, 0xFA44E0B4, 0xE9141340, 0x1B7F9043, + 0xCFB5F4A8, 0x3DDE77AB, 0x2E8E845F, 0xDCE5075C, + 0x92A8FC17, 0x60C37F14, 0x73938CE0, 0x81F80FE3, + 0x55326B08, 0xA759E80B, 0xB4091BFF, 0x466298FC, + 0x1871A4D8, 0xEA1A27DB, 0xF94AD42F, 0x0B21572C, + 0xDFEB33C7, 0x2D80B0C4, 0x3ED04330, 0xCCBBC033, + 0xA24BB5A6, 0x502036A5, 0x4370C551, 0xB11B4652, + 0x65D122B9, 0x97BAA1BA, 0x84EA524E, 0x7681D14D, + 0x2892ED69, 0xDAF96E6A, 0xC9A99D9E, 0x3BC21E9D, + 0xEF087A76, 0x1D63F975, 0x0E330A81, 0xFC588982, + 0xB21572C9, 0x407EF1CA, 0x532E023E, 0xA145813D, + 0x758FE5D6, 0x87E466D5, 0x94B49521, 0x66DF1622, + 0x38CC2A06, 0xCAA7A905, 0xD9F75AF1, 0x2B9CD9F2, + 0xFF56BD19, 0x0D3D3E1A, 0x1E6DCDEE, 0xEC064EED, + 0xC38D26C4, 0x31E6A5C7, 0x22B65633, 0xD0DDD530, + 0x0417B1DB, 0xF67C32D8, 0xE52CC12C, 0x1747422F, + 0x49547E0B, 0xBB3FFD08, 0xA86F0EFC, 0x5A048DFF, + 0x8ECEE914, 0x7CA56A17, 0x6FF599E3, 0x9D9E1AE0, + 0xD3D3E1AB, 0x21B862A8, 0x32E8915C, 0xC083125F, + 0x144976B4, 0xE622F5B7, 0xF5720643, 0x07198540, + 0x590AB964, 0xAB613A67, 0xB831C993, 0x4A5A4A90, + 0x9E902E7B, 0x6CFBAD78, 0x7FAB5E8C, 0x8DC0DD8F, + 0xE330A81A, 0x115B2B19, 0x020BD8ED, 0xF0605BEE, + 0x24AA3F05, 0xD6C1BC06, 0xC5914FF2, 0x37FACCF1, + 0x69E9F0D5, 0x9B8273D6, 0x88D28022, 0x7AB90321, + 0xAE7367CA, 0x5C18E4C9, 0x4F48173D, 0xBD23943E, + 0xF36E6F75, 0x0105EC76, 0x12551F82, 0xE03E9C81, + 0x34F4F86A, 0xC69F7B69, 0xD5CF889D, 0x27A40B9E, + 0x79B737BA, 0x8BDCB4B9, 0x988C474D, 0x6AE7C44E, + 0xBE2DA0A5, 0x4C4623A6, 0x5F16D052, 0xAD7D5351 + }; + static final int[] T8_1 = new int[] { + 0x00000000, 0x13A29877, 0x274530EE, 0x34E7A899, + 0x4E8A61DC, 0x5D28F9AB, 0x69CF5132, 0x7A6DC945, + 0x9D14C3B8, 0x8EB65BCF, 0xBA51F356, 0xA9F36B21, + 0xD39EA264, 0xC03C3A13, 0xF4DB928A, 0xE7790AFD, + 0x3FC5F181, 0x2C6769F6, 0x1880C16F, 0x0B225918, + 0x714F905D, 0x62ED082A, 0x560AA0B3, 0x45A838C4, + 0xA2D13239, 0xB173AA4E, 0x859402D7, 0x96369AA0, + 0xEC5B53E5, 0xFFF9CB92, 0xCB1E630B, 0xD8BCFB7C, + 0x7F8BE302, 0x6C297B75, 0x58CED3EC, 0x4B6C4B9B, + 0x310182DE, 0x22A31AA9, 0x1644B230, 0x05E62A47, + 0xE29F20BA, 0xF13DB8CD, 0xC5DA1054, 0xD6788823, + 0xAC154166, 0xBFB7D911, 0x8B507188, 0x98F2E9FF, + 0x404E1283, 0x53EC8AF4, 0x670B226D, 0x74A9BA1A, + 0x0EC4735F, 0x1D66EB28, 0x298143B1, 0x3A23DBC6, + 0xDD5AD13B, 0xCEF8494C, 0xFA1FE1D5, 0xE9BD79A2, + 0x93D0B0E7, 0x80722890, 0xB4958009, 0xA737187E, + 0xFF17C604, 0xECB55E73, 0xD852F6EA, 0xCBF06E9D, + 0xB19DA7D8, 0xA23F3FAF, 0x96D89736, 0x857A0F41, + 0x620305BC, 0x71A19DCB, 0x45463552, 0x56E4AD25, + 0x2C896460, 0x3F2BFC17, 0x0BCC548E, 0x186ECCF9, + 0xC0D23785, 0xD370AFF2, 0xE797076B, 0xF4359F1C, + 0x8E585659, 0x9DFACE2E, 0xA91D66B7, 0xBABFFEC0, + 0x5DC6F43D, 0x4E646C4A, 0x7A83C4D3, 0x69215CA4, + 0x134C95E1, 0x00EE0D96, 0x3409A50F, 0x27AB3D78, + 0x809C2506, 0x933EBD71, 0xA7D915E8, 0xB47B8D9F, + 0xCE1644DA, 0xDDB4DCAD, 0xE9537434, 0xFAF1EC43, + 0x1D88E6BE, 0x0E2A7EC9, 0x3ACDD650, 0x296F4E27, + 0x53028762, 0x40A01F15, 0x7447B78C, 0x67E52FFB, + 0xBF59D487, 0xACFB4CF0, 0x981CE469, 0x8BBE7C1E, + 0xF1D3B55B, 0xE2712D2C, 0xD69685B5, 0xC5341DC2, + 0x224D173F, 0x31EF8F48, 0x050827D1, 0x16AABFA6, + 0x6CC776E3, 0x7F65EE94, 0x4B82460D, 0x5820DE7A, + 0xFBC3FAF9, 0xE861628E, 0xDC86CA17, 0xCF245260, + 0xB5499B25, 0xA6EB0352, 0x920CABCB, 0x81AE33BC, + 0x66D73941, 0x7575A136, 0x419209AF, 0x523091D8, + 0x285D589D, 0x3BFFC0EA, 0x0F186873, 0x1CBAF004, + 0xC4060B78, 0xD7A4930F, 0xE3433B96, 0xF0E1A3E1, + 0x8A8C6AA4, 0x992EF2D3, 0xADC95A4A, 0xBE6BC23D, + 0x5912C8C0, 0x4AB050B7, 0x7E57F82E, 0x6DF56059, + 0x1798A91C, 0x043A316B, 0x30DD99F2, 0x237F0185, + 0x844819FB, 0x97EA818C, 0xA30D2915, 0xB0AFB162, + 0xCAC27827, 0xD960E050, 0xED8748C9, 0xFE25D0BE, + 0x195CDA43, 0x0AFE4234, 0x3E19EAAD, 0x2DBB72DA, + 0x57D6BB9F, 0x447423E8, 0x70938B71, 0x63311306, + 0xBB8DE87A, 0xA82F700D, 0x9CC8D894, 0x8F6A40E3, + 0xF50789A6, 0xE6A511D1, 0xD242B948, 0xC1E0213F, + 0x26992BC2, 0x353BB3B5, 0x01DC1B2C, 0x127E835B, + 0x68134A1E, 0x7BB1D269, 0x4F567AF0, 0x5CF4E287, + 0x04D43CFD, 0x1776A48A, 0x23910C13, 0x30339464, + 0x4A5E5D21, 0x59FCC556, 0x6D1B6DCF, 0x7EB9F5B8, + 0x99C0FF45, 0x8A626732, 0xBE85CFAB, 0xAD2757DC, + 0xD74A9E99, 0xC4E806EE, 0xF00FAE77, 0xE3AD3600, + 0x3B11CD7C, 0x28B3550B, 0x1C54FD92, 0x0FF665E5, + 0x759BACA0, 0x663934D7, 0x52DE9C4E, 0x417C0439, + 0xA6050EC4, 0xB5A796B3, 0x81403E2A, 0x92E2A65D, + 0xE88F6F18, 0xFB2DF76F, 0xCFCA5FF6, 0xDC68C781, + 0x7B5FDFFF, 0x68FD4788, 0x5C1AEF11, 0x4FB87766, + 0x35D5BE23, 0x26772654, 0x12908ECD, 0x013216BA, + 0xE64B1C47, 0xF5E98430, 0xC10E2CA9, 0xD2ACB4DE, + 0xA8C17D9B, 0xBB63E5EC, 0x8F844D75, 0x9C26D502, + 0x449A2E7E, 0x5738B609, 0x63DF1E90, 0x707D86E7, + 0x0A104FA2, 0x19B2D7D5, 0x2D557F4C, 0x3EF7E73B, + 0xD98EEDC6, 0xCA2C75B1, 0xFECBDD28, 0xED69455F, + 0x97048C1A, 0x84A6146D, 0xB041BCF4, 0xA3E32483 + }; + static final int[] T8_2 = new int[] { + 0x00000000, 0xA541927E, 0x4F6F520D, 0xEA2EC073, + 0x9EDEA41A, 0x3B9F3664, 0xD1B1F617, 0x74F06469, + 0x38513EC5, 0x9D10ACBB, 0x773E6CC8, 0xD27FFEB6, + 0xA68F9ADF, 0x03CE08A1, 0xE9E0C8D2, 0x4CA15AAC, + 0x70A27D8A, 0xD5E3EFF4, 0x3FCD2F87, 0x9A8CBDF9, + 0xEE7CD990, 0x4B3D4BEE, 0xA1138B9D, 0x045219E3, + 0x48F3434F, 0xEDB2D131, 0x079C1142, 0xA2DD833C, + 0xD62DE755, 0x736C752B, 0x9942B558, 0x3C032726, + 0xE144FB14, 0x4405696A, 0xAE2BA919, 0x0B6A3B67, + 0x7F9A5F0E, 0xDADBCD70, 0x30F50D03, 0x95B49F7D, + 0xD915C5D1, 0x7C5457AF, 0x967A97DC, 0x333B05A2, + 0x47CB61CB, 0xE28AF3B5, 0x08A433C6, 0xADE5A1B8, + 0x91E6869E, 0x34A714E0, 0xDE89D493, 0x7BC846ED, + 0x0F382284, 0xAA79B0FA, 0x40577089, 0xE516E2F7, + 0xA9B7B85B, 0x0CF62A25, 0xE6D8EA56, 0x43997828, + 0x37691C41, 0x92288E3F, 0x78064E4C, 0xDD47DC32, + 0xC76580D9, 0x622412A7, 0x880AD2D4, 0x2D4B40AA, + 0x59BB24C3, 0xFCFAB6BD, 0x16D476CE, 0xB395E4B0, + 0xFF34BE1C, 0x5A752C62, 0xB05BEC11, 0x151A7E6F, + 0x61EA1A06, 0xC4AB8878, 0x2E85480B, 0x8BC4DA75, + 0xB7C7FD53, 0x12866F2D, 0xF8A8AF5E, 0x5DE93D20, + 0x29195949, 0x8C58CB37, 0x66760B44, 0xC337993A, + 0x8F96C396, 0x2AD751E8, 0xC0F9919B, 0x65B803E5, + 0x1148678C, 0xB409F5F2, 0x5E273581, 0xFB66A7FF, + 0x26217BCD, 0x8360E9B3, 0x694E29C0, 0xCC0FBBBE, + 0xB8FFDFD7, 0x1DBE4DA9, 0xF7908DDA, 0x52D11FA4, + 0x1E704508, 0xBB31D776, 0x511F1705, 0xF45E857B, + 0x80AEE112, 0x25EF736C, 0xCFC1B31F, 0x6A802161, + 0x56830647, 0xF3C29439, 0x19EC544A, 0xBCADC634, + 0xC85DA25D, 0x6D1C3023, 0x8732F050, 0x2273622E, + 0x6ED23882, 0xCB93AAFC, 0x21BD6A8F, 0x84FCF8F1, + 0xF00C9C98, 0x554D0EE6, 0xBF63CE95, 0x1A225CEB, + 0x8B277743, 0x2E66E53D, 0xC448254E, 0x6109B730, + 0x15F9D359, 0xB0B84127, 0x5A968154, 0xFFD7132A, + 0xB3764986, 0x1637DBF8, 0xFC191B8B, 0x595889F5, + 0x2DA8ED9C, 0x88E97FE2, 0x62C7BF91, 0xC7862DEF, + 0xFB850AC9, 0x5EC498B7, 0xB4EA58C4, 0x11ABCABA, + 0x655BAED3, 0xC01A3CAD, 0x2A34FCDE, 0x8F756EA0, + 0xC3D4340C, 0x6695A672, 0x8CBB6601, 0x29FAF47F, + 0x5D0A9016, 0xF84B0268, 0x1265C21B, 0xB7245065, + 0x6A638C57, 0xCF221E29, 0x250CDE5A, 0x804D4C24, + 0xF4BD284D, 0x51FCBA33, 0xBBD27A40, 0x1E93E83E, + 0x5232B292, 0xF77320EC, 0x1D5DE09F, 0xB81C72E1, + 0xCCEC1688, 0x69AD84F6, 0x83834485, 0x26C2D6FB, + 0x1AC1F1DD, 0xBF8063A3, 0x55AEA3D0, 0xF0EF31AE, + 0x841F55C7, 0x215EC7B9, 0xCB7007CA, 0x6E3195B4, + 0x2290CF18, 0x87D15D66, 0x6DFF9D15, 0xC8BE0F6B, + 0xBC4E6B02, 0x190FF97C, 0xF321390F, 0x5660AB71, + 0x4C42F79A, 0xE90365E4, 0x032DA597, 0xA66C37E9, + 0xD29C5380, 0x77DDC1FE, 0x9DF3018D, 0x38B293F3, + 0x7413C95F, 0xD1525B21, 0x3B7C9B52, 0x9E3D092C, + 0xEACD6D45, 0x4F8CFF3B, 0xA5A23F48, 0x00E3AD36, + 0x3CE08A10, 0x99A1186E, 0x738FD81D, 0xD6CE4A63, + 0xA23E2E0A, 0x077FBC74, 0xED517C07, 0x4810EE79, + 0x04B1B4D5, 0xA1F026AB, 0x4BDEE6D8, 0xEE9F74A6, + 0x9A6F10CF, 0x3F2E82B1, 0xD50042C2, 0x7041D0BC, + 0xAD060C8E, 0x08479EF0, 0xE2695E83, 0x4728CCFD, + 0x33D8A894, 0x96993AEA, 0x7CB7FA99, 0xD9F668E7, + 0x9557324B, 0x3016A035, 0xDA386046, 0x7F79F238, + 0x0B899651, 0xAEC8042F, 0x44E6C45C, 0xE1A75622, + 0xDDA47104, 0x78E5E37A, 0x92CB2309, 0x378AB177, + 0x437AD51E, 0xE63B4760, 0x0C158713, 0xA954156D, + 0xE5F54FC1, 0x40B4DDBF, 0xAA9A1DCC, 0x0FDB8FB2, + 0x7B2BEBDB, 0xDE6A79A5, 0x3444B9D6, 0x91052BA8 + }; + static final int[] T8_3 = new int[] { + 0x00000000, 0xDD45AAB8, 0xBF672381, 0x62228939, + 0x7B2231F3, 0xA6679B4B, 0xC4451272, 0x1900B8CA, + 0xF64463E6, 0x2B01C95E, 0x49234067, 0x9466EADF, + 0x8D665215, 0x5023F8AD, 0x32017194, 0xEF44DB2C, + 0xE964B13D, 0x34211B85, 0x560392BC, 0x8B463804, + 0x924680CE, 0x4F032A76, 0x2D21A34F, 0xF06409F7, + 0x1F20D2DB, 0xC2657863, 0xA047F15A, 0x7D025BE2, + 0x6402E328, 0xB9474990, 0xDB65C0A9, 0x06206A11, + 0xD725148B, 0x0A60BE33, 0x6842370A, 0xB5079DB2, + 0xAC072578, 0x71428FC0, 0x136006F9, 0xCE25AC41, + 0x2161776D, 0xFC24DDD5, 0x9E0654EC, 0x4343FE54, + 0x5A43469E, 0x8706EC26, 0xE524651F, 0x3861CFA7, + 0x3E41A5B6, 0xE3040F0E, 0x81268637, 0x5C632C8F, + 0x45639445, 0x98263EFD, 0xFA04B7C4, 0x27411D7C, + 0xC805C650, 0x15406CE8, 0x7762E5D1, 0xAA274F69, + 0xB327F7A3, 0x6E625D1B, 0x0C40D422, 0xD1057E9A, + 0xABA65FE7, 0x76E3F55F, 0x14C17C66, 0xC984D6DE, + 0xD0846E14, 0x0DC1C4AC, 0x6FE34D95, 0xB2A6E72D, + 0x5DE23C01, 0x80A796B9, 0xE2851F80, 0x3FC0B538, + 0x26C00DF2, 0xFB85A74A, 0x99A72E73, 0x44E284CB, + 0x42C2EEDA, 0x9F874462, 0xFDA5CD5B, 0x20E067E3, + 0x39E0DF29, 0xE4A57591, 0x8687FCA8, 0x5BC25610, + 0xB4868D3C, 0x69C32784, 0x0BE1AEBD, 0xD6A40405, + 0xCFA4BCCF, 0x12E11677, 0x70C39F4E, 0xAD8635F6, + 0x7C834B6C, 0xA1C6E1D4, 0xC3E468ED, 0x1EA1C255, + 0x07A17A9F, 0xDAE4D027, 0xB8C6591E, 0x6583F3A6, + 0x8AC7288A, 0x57828232, 0x35A00B0B, 0xE8E5A1B3, + 0xF1E51979, 0x2CA0B3C1, 0x4E823AF8, 0x93C79040, + 0x95E7FA51, 0x48A250E9, 0x2A80D9D0, 0xF7C57368, + 0xEEC5CBA2, 0x3380611A, 0x51A2E823, 0x8CE7429B, + 0x63A399B7, 0xBEE6330F, 0xDCC4BA36, 0x0181108E, + 0x1881A844, 0xC5C402FC, 0xA7E68BC5, 0x7AA3217D, + 0x52A0C93F, 0x8FE56387, 0xEDC7EABE, 0x30824006, + 0x2982F8CC, 0xF4C75274, 0x96E5DB4D, 0x4BA071F5, + 0xA4E4AAD9, 0x79A10061, 0x1B838958, 0xC6C623E0, + 0xDFC69B2A, 0x02833192, 0x60A1B8AB, 0xBDE41213, + 0xBBC47802, 0x6681D2BA, 0x04A35B83, 0xD9E6F13B, + 0xC0E649F1, 0x1DA3E349, 0x7F816A70, 0xA2C4C0C8, + 0x4D801BE4, 0x90C5B15C, 0xF2E73865, 0x2FA292DD, + 0x36A22A17, 0xEBE780AF, 0x89C50996, 0x5480A32E, + 0x8585DDB4, 0x58C0770C, 0x3AE2FE35, 0xE7A7548D, + 0xFEA7EC47, 0x23E246FF, 0x41C0CFC6, 0x9C85657E, + 0x73C1BE52, 0xAE8414EA, 0xCCA69DD3, 0x11E3376B, + 0x08E38FA1, 0xD5A62519, 0xB784AC20, 0x6AC10698, + 0x6CE16C89, 0xB1A4C631, 0xD3864F08, 0x0EC3E5B0, + 0x17C35D7A, 0xCA86F7C2, 0xA8A47EFB, 0x75E1D443, + 0x9AA50F6F, 0x47E0A5D7, 0x25C22CEE, 0xF8878656, + 0xE1873E9C, 0x3CC29424, 0x5EE01D1D, 0x83A5B7A5, + 0xF90696D8, 0x24433C60, 0x4661B559, 0x9B241FE1, + 0x8224A72B, 0x5F610D93, 0x3D4384AA, 0xE0062E12, + 0x0F42F53E, 0xD2075F86, 0xB025D6BF, 0x6D607C07, + 0x7460C4CD, 0xA9256E75, 0xCB07E74C, 0x16424DF4, + 0x106227E5, 0xCD278D5D, 0xAF050464, 0x7240AEDC, + 0x6B401616, 0xB605BCAE, 0xD4273597, 0x09629F2F, + 0xE6264403, 0x3B63EEBB, 0x59416782, 0x8404CD3A, + 0x9D0475F0, 0x4041DF48, 0x22635671, 0xFF26FCC9, + 0x2E238253, 0xF36628EB, 0x9144A1D2, 0x4C010B6A, + 0x5501B3A0, 0x88441918, 0xEA669021, 0x37233A99, + 0xD867E1B5, 0x05224B0D, 0x6700C234, 0xBA45688C, + 0xA345D046, 0x7E007AFE, 0x1C22F3C7, 0xC167597F, + 0xC747336E, 0x1A0299D6, 0x782010EF, 0xA565BA57, + 0xBC65029D, 0x6120A825, 0x0302211C, 0xDE478BA4, + 0x31035088, 0xEC46FA30, 0x8E647309, 0x5321D9B1, + 0x4A21617B, 0x9764CBC3, 0xF54642FA, 0x2803E842 + }; + static final int[] T8_4 = new int[] { + 0x00000000, 0x38116FAC, 0x7022DF58, 0x4833B0F4, + 0xE045BEB0, 0xD854D11C, 0x906761E8, 0xA8760E44, + 0xC5670B91, 0xFD76643D, 0xB545D4C9, 0x8D54BB65, + 0x2522B521, 0x1D33DA8D, 0x55006A79, 0x6D1105D5, + 0x8F2261D3, 0xB7330E7F, 0xFF00BE8B, 0xC711D127, + 0x6F67DF63, 0x5776B0CF, 0x1F45003B, 0x27546F97, + 0x4A456A42, 0x725405EE, 0x3A67B51A, 0x0276DAB6, + 0xAA00D4F2, 0x9211BB5E, 0xDA220BAA, 0xE2336406, + 0x1BA8B557, 0x23B9DAFB, 0x6B8A6A0F, 0x539B05A3, + 0xFBED0BE7, 0xC3FC644B, 0x8BCFD4BF, 0xB3DEBB13, + 0xDECFBEC6, 0xE6DED16A, 0xAEED619E, 0x96FC0E32, + 0x3E8A0076, 0x069B6FDA, 0x4EA8DF2E, 0x76B9B082, + 0x948AD484, 0xAC9BBB28, 0xE4A80BDC, 0xDCB96470, + 0x74CF6A34, 0x4CDE0598, 0x04EDB56C, 0x3CFCDAC0, + 0x51EDDF15, 0x69FCB0B9, 0x21CF004D, 0x19DE6FE1, + 0xB1A861A5, 0x89B90E09, 0xC18ABEFD, 0xF99BD151, + 0x37516AAE, 0x0F400502, 0x4773B5F6, 0x7F62DA5A, + 0xD714D41E, 0xEF05BBB2, 0xA7360B46, 0x9F2764EA, + 0xF236613F, 0xCA270E93, 0x8214BE67, 0xBA05D1CB, + 0x1273DF8F, 0x2A62B023, 0x625100D7, 0x5A406F7B, + 0xB8730B7D, 0x806264D1, 0xC851D425, 0xF040BB89, + 0x5836B5CD, 0x6027DA61, 0x28146A95, 0x10050539, + 0x7D1400EC, 0x45056F40, 0x0D36DFB4, 0x3527B018, + 0x9D51BE5C, 0xA540D1F0, 0xED736104, 0xD5620EA8, + 0x2CF9DFF9, 0x14E8B055, 0x5CDB00A1, 0x64CA6F0D, + 0xCCBC6149, 0xF4AD0EE5, 0xBC9EBE11, 0x848FD1BD, + 0xE99ED468, 0xD18FBBC4, 0x99BC0B30, 0xA1AD649C, + 0x09DB6AD8, 0x31CA0574, 0x79F9B580, 0x41E8DA2C, + 0xA3DBBE2A, 0x9BCAD186, 0xD3F96172, 0xEBE80EDE, + 0x439E009A, 0x7B8F6F36, 0x33BCDFC2, 0x0BADB06E, + 0x66BCB5BB, 0x5EADDA17, 0x169E6AE3, 0x2E8F054F, + 0x86F90B0B, 0xBEE864A7, 0xF6DBD453, 0xCECABBFF, + 0x6EA2D55C, 0x56B3BAF0, 0x1E800A04, 0x269165A8, + 0x8EE76BEC, 0xB6F60440, 0xFEC5B4B4, 0xC6D4DB18, + 0xABC5DECD, 0x93D4B161, 0xDBE70195, 0xE3F66E39, + 0x4B80607D, 0x73910FD1, 0x3BA2BF25, 0x03B3D089, + 0xE180B48F, 0xD991DB23, 0x91A26BD7, 0xA9B3047B, + 0x01C50A3F, 0x39D46593, 0x71E7D567, 0x49F6BACB, + 0x24E7BF1E, 0x1CF6D0B2, 0x54C56046, 0x6CD40FEA, + 0xC4A201AE, 0xFCB36E02, 0xB480DEF6, 0x8C91B15A, + 0x750A600B, 0x4D1B0FA7, 0x0528BF53, 0x3D39D0FF, + 0x954FDEBB, 0xAD5EB117, 0xE56D01E3, 0xDD7C6E4F, + 0xB06D6B9A, 0x887C0436, 0xC04FB4C2, 0xF85EDB6E, + 0x5028D52A, 0x6839BA86, 0x200A0A72, 0x181B65DE, + 0xFA2801D8, 0xC2396E74, 0x8A0ADE80, 0xB21BB12C, + 0x1A6DBF68, 0x227CD0C4, 0x6A4F6030, 0x525E0F9C, + 0x3F4F0A49, 0x075E65E5, 0x4F6DD511, 0x777CBABD, + 0xDF0AB4F9, 0xE71BDB55, 0xAF286BA1, 0x9739040D, + 0x59F3BFF2, 0x61E2D05E, 0x29D160AA, 0x11C00F06, + 0xB9B60142, 0x81A76EEE, 0xC994DE1A, 0xF185B1B6, + 0x9C94B463, 0xA485DBCF, 0xECB66B3B, 0xD4A70497, + 0x7CD10AD3, 0x44C0657F, 0x0CF3D58B, 0x34E2BA27, + 0xD6D1DE21, 0xEEC0B18D, 0xA6F30179, 0x9EE26ED5, + 0x36946091, 0x0E850F3D, 0x46B6BFC9, 0x7EA7D065, + 0x13B6D5B0, 0x2BA7BA1C, 0x63940AE8, 0x5B856544, + 0xF3F36B00, 0xCBE204AC, 0x83D1B458, 0xBBC0DBF4, + 0x425B0AA5, 0x7A4A6509, 0x3279D5FD, 0x0A68BA51, + 0xA21EB415, 0x9A0FDBB9, 0xD23C6B4D, 0xEA2D04E1, + 0x873C0134, 0xBF2D6E98, 0xF71EDE6C, 0xCF0FB1C0, + 0x6779BF84, 0x5F68D028, 0x175B60DC, 0x2F4A0F70, + 0xCD796B76, 0xF56804DA, 0xBD5BB42E, 0x854ADB82, + 0x2D3CD5C6, 0x152DBA6A, 0x5D1E0A9E, 0x650F6532, + 0x081E60E7, 0x300F0F4B, 0x783CBFBF, 0x402DD013, + 0xE85BDE57, 0xD04AB1FB, 0x9879010F, 0xA0686EA3 + }; + static final int[] T8_5 = new int[] { + 0x00000000, 0xEF306B19, 0xDB8CA0C3, 0x34BCCBDA, + 0xB2F53777, 0x5DC55C6E, 0x697997B4, 0x8649FCAD, + 0x6006181F, 0x8F367306, 0xBB8AB8DC, 0x54BAD3C5, + 0xD2F32F68, 0x3DC34471, 0x097F8FAB, 0xE64FE4B2, + 0xC00C303E, 0x2F3C5B27, 0x1B8090FD, 0xF4B0FBE4, + 0x72F90749, 0x9DC96C50, 0xA975A78A, 0x4645CC93, + 0xA00A2821, 0x4F3A4338, 0x7B8688E2, 0x94B6E3FB, + 0x12FF1F56, 0xFDCF744F, 0xC973BF95, 0x2643D48C, + 0x85F4168D, 0x6AC47D94, 0x5E78B64E, 0xB148DD57, + 0x370121FA, 0xD8314AE3, 0xEC8D8139, 0x03BDEA20, + 0xE5F20E92, 0x0AC2658B, 0x3E7EAE51, 0xD14EC548, + 0x570739E5, 0xB83752FC, 0x8C8B9926, 0x63BBF23F, + 0x45F826B3, 0xAAC84DAA, 0x9E748670, 0x7144ED69, + 0xF70D11C4, 0x183D7ADD, 0x2C81B107, 0xC3B1DA1E, + 0x25FE3EAC, 0xCACE55B5, 0xFE729E6F, 0x1142F576, + 0x970B09DB, 0x783B62C2, 0x4C87A918, 0xA3B7C201, + 0x0E045BEB, 0xE13430F2, 0xD588FB28, 0x3AB89031, + 0xBCF16C9C, 0x53C10785, 0x677DCC5F, 0x884DA746, + 0x6E0243F4, 0x813228ED, 0xB58EE337, 0x5ABE882E, + 0xDCF77483, 0x33C71F9A, 0x077BD440, 0xE84BBF59, + 0xCE086BD5, 0x213800CC, 0x1584CB16, 0xFAB4A00F, + 0x7CFD5CA2, 0x93CD37BB, 0xA771FC61, 0x48419778, + 0xAE0E73CA, 0x413E18D3, 0x7582D309, 0x9AB2B810, + 0x1CFB44BD, 0xF3CB2FA4, 0xC777E47E, 0x28478F67, + 0x8BF04D66, 0x64C0267F, 0x507CEDA5, 0xBF4C86BC, + 0x39057A11, 0xD6351108, 0xE289DAD2, 0x0DB9B1CB, + 0xEBF65579, 0x04C63E60, 0x307AF5BA, 0xDF4A9EA3, + 0x5903620E, 0xB6330917, 0x828FC2CD, 0x6DBFA9D4, + 0x4BFC7D58, 0xA4CC1641, 0x9070DD9B, 0x7F40B682, + 0xF9094A2F, 0x16392136, 0x2285EAEC, 0xCDB581F5, + 0x2BFA6547, 0xC4CA0E5E, 0xF076C584, 0x1F46AE9D, + 0x990F5230, 0x763F3929, 0x4283F2F3, 0xADB399EA, + 0x1C08B7D6, 0xF338DCCF, 0xC7841715, 0x28B47C0C, + 0xAEFD80A1, 0x41CDEBB8, 0x75712062, 0x9A414B7B, + 0x7C0EAFC9, 0x933EC4D0, 0xA7820F0A, 0x48B26413, + 0xCEFB98BE, 0x21CBF3A7, 0x1577387D, 0xFA475364, + 0xDC0487E8, 0x3334ECF1, 0x0788272B, 0xE8B84C32, + 0x6EF1B09F, 0x81C1DB86, 0xB57D105C, 0x5A4D7B45, + 0xBC029FF7, 0x5332F4EE, 0x678E3F34, 0x88BE542D, + 0x0EF7A880, 0xE1C7C399, 0xD57B0843, 0x3A4B635A, + 0x99FCA15B, 0x76CCCA42, 0x42700198, 0xAD406A81, + 0x2B09962C, 0xC439FD35, 0xF08536EF, 0x1FB55DF6, + 0xF9FAB944, 0x16CAD25D, 0x22761987, 0xCD46729E, + 0x4B0F8E33, 0xA43FE52A, 0x90832EF0, 0x7FB345E9, + 0x59F09165, 0xB6C0FA7C, 0x827C31A6, 0x6D4C5ABF, + 0xEB05A612, 0x0435CD0B, 0x308906D1, 0xDFB96DC8, + 0x39F6897A, 0xD6C6E263, 0xE27A29B9, 0x0D4A42A0, + 0x8B03BE0D, 0x6433D514, 0x508F1ECE, 0xBFBF75D7, + 0x120CEC3D, 0xFD3C8724, 0xC9804CFE, 0x26B027E7, + 0xA0F9DB4A, 0x4FC9B053, 0x7B757B89, 0x94451090, + 0x720AF422, 0x9D3A9F3B, 0xA98654E1, 0x46B63FF8, + 0xC0FFC355, 0x2FCFA84C, 0x1B736396, 0xF443088F, + 0xD200DC03, 0x3D30B71A, 0x098C7CC0, 0xE6BC17D9, + 0x60F5EB74, 0x8FC5806D, 0xBB794BB7, 0x544920AE, + 0xB206C41C, 0x5D36AF05, 0x698A64DF, 0x86BA0FC6, + 0x00F3F36B, 0xEFC39872, 0xDB7F53A8, 0x344F38B1, + 0x97F8FAB0, 0x78C891A9, 0x4C745A73, 0xA344316A, + 0x250DCDC7, 0xCA3DA6DE, 0xFE816D04, 0x11B1061D, + 0xF7FEE2AF, 0x18CE89B6, 0x2C72426C, 0xC3422975, + 0x450BD5D8, 0xAA3BBEC1, 0x9E87751B, 0x71B71E02, + 0x57F4CA8E, 0xB8C4A197, 0x8C786A4D, 0x63480154, + 0xE501FDF9, 0x0A3196E0, 0x3E8D5D3A, 0xD1BD3623, + 0x37F2D291, 0xD8C2B988, 0xEC7E7252, 0x034E194B, + 0x8507E5E6, 0x6A378EFF, 0x5E8B4525, 0xB1BB2E3C + }; + static final int[] T8_6 = new int[] { + 0x00000000, 0x68032CC8, 0xD0065990, 0xB8057558, + 0xA5E0C5D1, 0xCDE3E919, 0x75E69C41, 0x1DE5B089, + 0x4E2DFD53, 0x262ED19B, 0x9E2BA4C3, 0xF628880B, + 0xEBCD3882, 0x83CE144A, 0x3BCB6112, 0x53C84DDA, + 0x9C5BFAA6, 0xF458D66E, 0x4C5DA336, 0x245E8FFE, + 0x39BB3F77, 0x51B813BF, 0xE9BD66E7, 0x81BE4A2F, + 0xD27607F5, 0xBA752B3D, 0x02705E65, 0x6A7372AD, + 0x7796C224, 0x1F95EEEC, 0xA7909BB4, 0xCF93B77C, + 0x3D5B83BD, 0x5558AF75, 0xED5DDA2D, 0x855EF6E5, + 0x98BB466C, 0xF0B86AA4, 0x48BD1FFC, 0x20BE3334, + 0x73767EEE, 0x1B755226, 0xA370277E, 0xCB730BB6, + 0xD696BB3F, 0xBE9597F7, 0x0690E2AF, 0x6E93CE67, + 0xA100791B, 0xC90355D3, 0x7106208B, 0x19050C43, + 0x04E0BCCA, 0x6CE39002, 0xD4E6E55A, 0xBCE5C992, + 0xEF2D8448, 0x872EA880, 0x3F2BDDD8, 0x5728F110, + 0x4ACD4199, 0x22CE6D51, 0x9ACB1809, 0xF2C834C1, + 0x7AB7077A, 0x12B42BB2, 0xAAB15EEA, 0xC2B27222, + 0xDF57C2AB, 0xB754EE63, 0x0F519B3B, 0x6752B7F3, + 0x349AFA29, 0x5C99D6E1, 0xE49CA3B9, 0x8C9F8F71, + 0x917A3FF8, 0xF9791330, 0x417C6668, 0x297F4AA0, + 0xE6ECFDDC, 0x8EEFD114, 0x36EAA44C, 0x5EE98884, + 0x430C380D, 0x2B0F14C5, 0x930A619D, 0xFB094D55, + 0xA8C1008F, 0xC0C22C47, 0x78C7591F, 0x10C475D7, + 0x0D21C55E, 0x6522E996, 0xDD279CCE, 0xB524B006, + 0x47EC84C7, 0x2FEFA80F, 0x97EADD57, 0xFFE9F19F, + 0xE20C4116, 0x8A0F6DDE, 0x320A1886, 0x5A09344E, + 0x09C17994, 0x61C2555C, 0xD9C72004, 0xB1C40CCC, + 0xAC21BC45, 0xC422908D, 0x7C27E5D5, 0x1424C91D, + 0xDBB77E61, 0xB3B452A9, 0x0BB127F1, 0x63B20B39, + 0x7E57BBB0, 0x16549778, 0xAE51E220, 0xC652CEE8, + 0x959A8332, 0xFD99AFFA, 0x459CDAA2, 0x2D9FF66A, + 0x307A46E3, 0x58796A2B, 0xE07C1F73, 0x887F33BB, + 0xF56E0EF4, 0x9D6D223C, 0x25685764, 0x4D6B7BAC, + 0x508ECB25, 0x388DE7ED, 0x808892B5, 0xE88BBE7D, + 0xBB43F3A7, 0xD340DF6F, 0x6B45AA37, 0x034686FF, + 0x1EA33676, 0x76A01ABE, 0xCEA56FE6, 0xA6A6432E, + 0x6935F452, 0x0136D89A, 0xB933ADC2, 0xD130810A, + 0xCCD53183, 0xA4D61D4B, 0x1CD36813, 0x74D044DB, + 0x27180901, 0x4F1B25C9, 0xF71E5091, 0x9F1D7C59, + 0x82F8CCD0, 0xEAFBE018, 0x52FE9540, 0x3AFDB988, + 0xC8358D49, 0xA036A181, 0x1833D4D9, 0x7030F811, + 0x6DD54898, 0x05D66450, 0xBDD31108, 0xD5D03DC0, + 0x8618701A, 0xEE1B5CD2, 0x561E298A, 0x3E1D0542, + 0x23F8B5CB, 0x4BFB9903, 0xF3FEEC5B, 0x9BFDC093, + 0x546E77EF, 0x3C6D5B27, 0x84682E7F, 0xEC6B02B7, + 0xF18EB23E, 0x998D9EF6, 0x2188EBAE, 0x498BC766, + 0x1A438ABC, 0x7240A674, 0xCA45D32C, 0xA246FFE4, + 0xBFA34F6D, 0xD7A063A5, 0x6FA516FD, 0x07A63A35, + 0x8FD9098E, 0xE7DA2546, 0x5FDF501E, 0x37DC7CD6, + 0x2A39CC5F, 0x423AE097, 0xFA3F95CF, 0x923CB907, + 0xC1F4F4DD, 0xA9F7D815, 0x11F2AD4D, 0x79F18185, + 0x6414310C, 0x0C171DC4, 0xB412689C, 0xDC114454, + 0x1382F328, 0x7B81DFE0, 0xC384AAB8, 0xAB878670, + 0xB66236F9, 0xDE611A31, 0x66646F69, 0x0E6743A1, + 0x5DAF0E7B, 0x35AC22B3, 0x8DA957EB, 0xE5AA7B23, + 0xF84FCBAA, 0x904CE762, 0x2849923A, 0x404ABEF2, + 0xB2828A33, 0xDA81A6FB, 0x6284D3A3, 0x0A87FF6B, + 0x17624FE2, 0x7F61632A, 0xC7641672, 0xAF673ABA, + 0xFCAF7760, 0x94AC5BA8, 0x2CA92EF0, 0x44AA0238, + 0x594FB2B1, 0x314C9E79, 0x8949EB21, 0xE14AC7E9, + 0x2ED97095, 0x46DA5C5D, 0xFEDF2905, 0x96DC05CD, + 0x8B39B544, 0xE33A998C, 0x5B3FECD4, 0x333CC01C, + 0x60F48DC6, 0x08F7A10E, 0xB0F2D456, 0xD8F1F89E, + 0xC5144817, 0xAD1764DF, 0x15121187, 0x7D113D4F + }; + static final int[] T8_7 = new int[] { + 0x00000000, 0x493C7D27, 0x9278FA4E, 0xDB448769, + 0x211D826D, 0x6821FF4A, 0xB3657823, 0xFA590504, + 0x423B04DA, 0x0B0779FD, 0xD043FE94, 0x997F83B3, + 0x632686B7, 0x2A1AFB90, 0xF15E7CF9, 0xB86201DE, + 0x847609B4, 0xCD4A7493, 0x160EF3FA, 0x5F328EDD, + 0xA56B8BD9, 0xEC57F6FE, 0x37137197, 0x7E2F0CB0, + 0xC64D0D6E, 0x8F717049, 0x5435F720, 0x1D098A07, + 0xE7508F03, 0xAE6CF224, 0x7528754D, 0x3C14086A, + 0x0D006599, 0x443C18BE, 0x9F789FD7, 0xD644E2F0, + 0x2C1DE7F4, 0x65219AD3, 0xBE651DBA, 0xF759609D, + 0x4F3B6143, 0x06071C64, 0xDD439B0D, 0x947FE62A, + 0x6E26E32E, 0x271A9E09, 0xFC5E1960, 0xB5626447, + 0x89766C2D, 0xC04A110A, 0x1B0E9663, 0x5232EB44, + 0xA86BEE40, 0xE1579367, 0x3A13140E, 0x732F6929, + 0xCB4D68F7, 0x827115D0, 0x593592B9, 0x1009EF9E, + 0xEA50EA9A, 0xA36C97BD, 0x782810D4, 0x31146DF3, + 0x1A00CB32, 0x533CB615, 0x8878317C, 0xC1444C5B, + 0x3B1D495F, 0x72213478, 0xA965B311, 0xE059CE36, + 0x583BCFE8, 0x1107B2CF, 0xCA4335A6, 0x837F4881, + 0x79264D85, 0x301A30A2, 0xEB5EB7CB, 0xA262CAEC, + 0x9E76C286, 0xD74ABFA1, 0x0C0E38C8, 0x453245EF, + 0xBF6B40EB, 0xF6573DCC, 0x2D13BAA5, 0x642FC782, + 0xDC4DC65C, 0x9571BB7B, 0x4E353C12, 0x07094135, + 0xFD504431, 0xB46C3916, 0x6F28BE7F, 0x2614C358, + 0x1700AEAB, 0x5E3CD38C, 0x857854E5, 0xCC4429C2, + 0x361D2CC6, 0x7F2151E1, 0xA465D688, 0xED59ABAF, + 0x553BAA71, 0x1C07D756, 0xC743503F, 0x8E7F2D18, + 0x7426281C, 0x3D1A553B, 0xE65ED252, 0xAF62AF75, + 0x9376A71F, 0xDA4ADA38, 0x010E5D51, 0x48322076, + 0xB26B2572, 0xFB575855, 0x2013DF3C, 0x692FA21B, + 0xD14DA3C5, 0x9871DEE2, 0x4335598B, 0x0A0924AC, + 0xF05021A8, 0xB96C5C8F, 0x6228DBE6, 0x2B14A6C1, + 0x34019664, 0x7D3DEB43, 0xA6796C2A, 0xEF45110D, + 0x151C1409, 0x5C20692E, 0x8764EE47, 0xCE589360, + 0x763A92BE, 0x3F06EF99, 0xE44268F0, 0xAD7E15D7, + 0x572710D3, 0x1E1B6DF4, 0xC55FEA9D, 0x8C6397BA, + 0xB0779FD0, 0xF94BE2F7, 0x220F659E, 0x6B3318B9, + 0x916A1DBD, 0xD856609A, 0x0312E7F3, 0x4A2E9AD4, + 0xF24C9B0A, 0xBB70E62D, 0x60346144, 0x29081C63, + 0xD3511967, 0x9A6D6440, 0x4129E329, 0x08159E0E, + 0x3901F3FD, 0x703D8EDA, 0xAB7909B3, 0xE2457494, + 0x181C7190, 0x51200CB7, 0x8A648BDE, 0xC358F6F9, + 0x7B3AF727, 0x32068A00, 0xE9420D69, 0xA07E704E, + 0x5A27754A, 0x131B086D, 0xC85F8F04, 0x8163F223, + 0xBD77FA49, 0xF44B876E, 0x2F0F0007, 0x66337D20, + 0x9C6A7824, 0xD5560503, 0x0E12826A, 0x472EFF4D, + 0xFF4CFE93, 0xB67083B4, 0x6D3404DD, 0x240879FA, + 0xDE517CFE, 0x976D01D9, 0x4C2986B0, 0x0515FB97, + 0x2E015D56, 0x673D2071, 0xBC79A718, 0xF545DA3F, + 0x0F1CDF3B, 0x4620A21C, 0x9D642575, 0xD4585852, + 0x6C3A598C, 0x250624AB, 0xFE42A3C2, 0xB77EDEE5, + 0x4D27DBE1, 0x041BA6C6, 0xDF5F21AF, 0x96635C88, + 0xAA7754E2, 0xE34B29C5, 0x380FAEAC, 0x7133D38B, + 0x8B6AD68F, 0xC256ABA8, 0x19122CC1, 0x502E51E6, + 0xE84C5038, 0xA1702D1F, 0x7A34AA76, 0x3308D751, + 0xC951D255, 0x806DAF72, 0x5B29281B, 0x1215553C, + 0x230138CF, 0x6A3D45E8, 0xB179C281, 0xF845BFA6, + 0x021CBAA2, 0x4B20C785, 0x906440EC, 0xD9583DCB, + 0x613A3C15, 0x28064132, 0xF342C65B, 0xBA7EBB7C, + 0x4027BE78, 0x091BC35F, 0xD25F4436, 0x9B633911, + 0xA777317B, 0xEE4B4C5C, 0x350FCB35, 0x7C33B612, + 0x866AB316, 0xCF56CE31, 0x14124958, 0x5D2E347F, + 0xE54C35A1, 0xAC704886, 0x7734CFEF, 0x3E08B2C8, + 0xC451B7CC, 0x8D6DCAEB, 0x56294D82, 0x1F1530A5 + }; +} \ No newline at end of file diff --git a/src/main/java/org/xerial/snappy/SnappyFramed.java b/src/main/java/org/xerial/snappy/SnappyFramed.java new file mode 100644 index 0000000..41fbe8d --- /dev/null +++ b/src/main/java/org/xerial/snappy/SnappyFramed.java @@ -0,0 +1,128 @@ +/* + * Created: Apr 12, 2013 + */ +package org.xerial.snappy; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.ReadableByteChannel; + +/** + * Constants and utilities for implementing x-snappy-framed. + * + * @author Brett Okken + * @since 1.1.0 + */ +final class SnappyFramed { + public static final int COMPRESSED_DATA_FLAG = 0x00; + + public static final int UNCOMPRESSED_DATA_FLAG = 0x01; + + public static final int STREAM_IDENTIFIER_FLAG = 0xff; + + private static final int MASK_DELTA = 0xa282ead8; + + /** + * The header consists of the stream identifier flag, 3 bytes indicating a + * length of 6, and "sNaPpY" in ASCII. + */ + public static final byte[] HEADER_BYTES = new byte[] { + (byte) STREAM_IDENTIFIER_FLAG, 0x06, 0x00, 0x00, 0x73, 0x4e, 0x61, + 0x50, 0x70, 0x59 }; + + public static int maskedCrc32c(byte[] data) + { + return maskedCrc32c(data, 0, data.length); + } + + public static int maskedCrc32c(byte[] data, int offset, int length) + { + final PureJavaCrc32C crc32c = new PureJavaCrc32C(); + crc32c.update(data, offset, length); + return mask(crc32c.getIntegerValue()); + } + + /** + * Checksums are not stored directly, but masked, as checksumming data and + * then its own checksum can be problematic. The masking is the same as used + * in Apache Hadoop: Rotate the checksum by 15 bits, then add the constant + * 0xa282ead8 (using wraparound as normal for unsigned integers). This is + * equivalent to the following C code: + * + *

+     * uint32_t mask_checksum(uint32_t x) {
+     *     return ((x >> 15) | (x << 17)) + 0xa282ead8; 
+     * }
+     * 
+ */ + public static int mask(int crc) + { + // Rotate right by 15 bits and add a constant. + return ((crc >>> 15) | (crc << 17)) + MASK_DELTA; + } + + + static final int readBytes(ReadableByteChannel source, ByteBuffer dest) throws IOException + { + // tells how many bytes to read. + final int expectedLength = dest.remaining(); + + int totalRead = 0; + + // how many bytes were read. + int lastRead = source.read(dest); + + totalRead = lastRead; + + // if we did not read as many bytes as we had hoped, try reading again. + if (lastRead < expectedLength) + { + // as long the buffer is not full (remaining() == 0) and we have not reached EOF (lastRead == -1) keep reading. + while (dest.remaining() != 0 && lastRead != -1) + { + lastRead = source.read(dest); + + // if we got EOF, do not add to total read. + if (lastRead != -1) + { + totalRead += lastRead; + } + } + } + + if (totalRead > 0) + { + dest.limit(dest.position()); + } + else + { + dest.position(dest.limit()); + } + + return totalRead; + } + + static int skip(final ReadableByteChannel source, final int skip, final ByteBuffer buffer) throws IOException + { + if (skip <= 0) { + return 0; + } + + int toSkip = skip; + int skipped = 0; + while(toSkip > 0 && skipped != -1) { + buffer.clear(); + if (toSkip < buffer.capacity()) { + buffer.limit(toSkip); + } + + skipped = source.read(buffer); + if (skipped > 0) { + toSkip -= skipped; + } + } + + buffer.clear(); + return skip - toSkip; + } +} diff --git a/src/main/java/org/xerial/snappy/SnappyFramedInputStream.java b/src/main/java/org/xerial/snappy/SnappyFramedInputStream.java new file mode 100644 index 0000000..0c02018 --- /dev/null +++ b/src/main/java/org/xerial/snappy/SnappyFramedInputStream.java @@ -0,0 +1,452 @@ +/* + * Created: Apr 15, 2013 + */ +package org.xerial.snappy; + +import static java.lang.Math.min; +import static org.xerial.snappy.SnappyFramed.*; +import static org.xerial.snappy.SnappyFramedOutputStream.*; + +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.nio.ByteBuffer; +import java.nio.channels.Channels; +import java.nio.channels.ClosedChannelException; +import java.nio.channels.ReadableByteChannel; +import java.util.Arrays; + +/** + * Implements the x-snappy-framed as an {@link InputStream} and + * {@link ReadableByteChannel}. + * + * @author Brett Okken + * @since 1.1.0 + */ +public final class SnappyFramedInputStream extends InputStream implements + ReadableByteChannel { + + private final ReadableByteChannel rbc; + private final ByteBuffer frameHeader; + private final boolean verifyChecksums; + + /** + * A single frame read from the underlying {@link InputStream}. + */ + private ByteBuffer input; + + /** + * The decompressed data from {@link #input}. + */ + private ByteBuffer uncompressedDirect; + + /** + * Indicates if this instance has been closed. + */ + private boolean closed; + + /** + * Indicates if we have reached the EOF on {@link #in}. + */ + private boolean eof; + + /** + * The position in {@link buffer} to read to. + */ + private int valid; + + /** + * The next position to read from {@link #buffer}. + */ + private int position; + + /** + * Buffer contains a copy of the uncompressed data for the block. + */ + private byte[] buffer; + + /** + * Creates a Snappy input stream to read data from the specified underlying + * input stream. + * + * @param in + * the underlying input stream. Must not be {@code null}. + */ + public SnappyFramedInputStream(InputStream in) throws IOException { + this(in, true); + } + + /** + * Creates a Snappy input stream to read data from the specified underlying + * input stream. + * + * @param in + * the underlying input stream. Must not be {@code null}. + * @param verifyChecksums + * if true, checksums in input stream will be verified + */ + public SnappyFramedInputStream(InputStream in, boolean verifyChecksums) + throws IOException { + this(Channels.newChannel(in), verifyChecksums); + } + + /** + * Creates a Snappy input stream to read data from the specified underlying + * channel. + * + * @param in + * the underlying readable channel. Must not be {@code null}. + */ + public SnappyFramedInputStream(ReadableByteChannel in) + throws IOException { + this(in, true); + } + + /** + * Creates a Snappy input stream to read data from the specified underlying + * channel. + * + * @param in + * the underlying readable channel. Must not be {@code null}. + * @param verifyChecksums + * if true, checksums in input stream will be verified + */ + public SnappyFramedInputStream(ReadableByteChannel in, + boolean verifyChecksums) throws IOException { + if (in == null) { + throw new NullPointerException("in is null"); + } + + this.rbc = in; + this.verifyChecksums = verifyChecksums; + + allocateBuffersBasedOnSize(MAX_BLOCK_SIZE + 5); + this.frameHeader = ByteBuffer.allocate(4); + + // stream must begin with stream header + final byte[] expectedHeader = HEADER_BYTES; + final byte[] actualHeader = new byte[expectedHeader.length]; + final ByteBuffer actualBuffer = ByteBuffer.wrap(actualHeader); + + // assume that if the input cannot read 4 bytes that something is + // wrong. + final int read = in.read(actualBuffer); + if (read < expectedHeader.length) { + throw new EOFException( + "encountered EOF while reading stream header"); + } + if (!Arrays.equals(expectedHeader, actualHeader)) { + throw new IOException("invalid stream header"); + } + } + + /** + * @param size + */ + private void allocateBuffersBasedOnSize(int size) { + + input = ByteBuffer.allocateDirect(size); + final int maxCompressedLength = Snappy.maxCompressedLength(size); + uncompressedDirect = ByteBuffer.allocateDirect(maxCompressedLength); + buffer = new byte[maxCompressedLength]; + } + + @Override + public int read() throws IOException { + if (closed) { + return -1; + } + if (!ensureBuffer()) { + return -1; + } + return buffer[position++] & 0xFF; + } + + @Override + public int read(byte[] output, int offset, int length) throws IOException { + + if (output == null) { + throw new IllegalArgumentException("output is null"); + } + + if (offset < 0 || length < 0 || offset + length > output.length) { + throw new IllegalArgumentException("invalid offset [" + offset + + "] and length [" + length + ']'); + } + + if (closed) { + throw new ClosedChannelException(); + } + + if (length == 0) { + return 0; + } + if (!ensureBuffer()) { + return -1; + } + + final int size = min(length, available()); + System.arraycopy(buffer, position, output, offset, size); + position += size; + return size; + } + + @Override + public int available() throws IOException { + if (closed) { + return 0; + } + return valid - position; + } + + /** + * {@inheritDoc} + */ + @Override + public boolean isOpen() { + return !closed; + } + + /** + * {@inheritDoc} + */ + @Override + public int read(ByteBuffer dst) throws IOException { + + if (dst == null) { + throw new IllegalArgumentException("dst is null"); + } + + if (closed) { + throw new ClosedChannelException(); + } + + if (dst.remaining() == 0) { + return 0; + } + if (!ensureBuffer()) { + return -1; + } + + final int size = min(dst.remaining(), available()); + dst.put(buffer, position, size); + position += size; + return size; + } + + @Override + public void close() throws IOException { + try { + rbc.close(); + } finally { + if (!closed) { + closed = true; + } + } + } + + static enum FrameAction { + RAW, SKIP, UNCOMPRESS; + } + + public static final class FrameMetaData { + final int length; + final FrameAction frameAction; + + /** + * @param frameAction + * @param length + */ + public FrameMetaData(FrameAction frameAction, int length) { + super(); + this.frameAction = frameAction; + this.length = length; + } + } + + public static final class FrameData { + final int checkSum; + final int offset; + + /** + * @param checkSum + * @param offset + */ + public FrameData(int checkSum, int offset) { + super(); + this.checkSum = checkSum; + this.offset = offset; + } + } + + private boolean ensureBuffer() throws IOException { + if (available() > 0) { + return true; + } + if (eof) { + return false; + } + + if (!readBlockHeader()) { + eof = true; + return false; + } + + // get action based on header + final FrameMetaData frameMetaData = getFrameMetaData(frameHeader); + + if (FrameAction.SKIP == frameMetaData.frameAction) { + SnappyFramed.skip(rbc, frameMetaData.length, + ByteBuffer.wrap(buffer)); + return ensureBuffer(); + } + + if (frameMetaData.length > input.capacity()) { + allocateBuffersBasedOnSize(frameMetaData.length); + } + + input.clear(); + input.limit(frameMetaData.length); + + final int actualRead = readBytes(rbc, input); + if (actualRead != frameMetaData.length) { + throw new EOFException("unexpectd EOF when reading frame"); + } + input.flip(); + + final FrameData frameData = getFrameData(input); + + if (FrameAction.UNCOMPRESS == frameMetaData.frameAction) { + + input.position(frameData.offset); + + final int uncompressedLength = Snappy.uncompressedLength(input); + + if (uncompressedLength > uncompressedDirect.capacity()) { + uncompressedDirect = ByteBuffer + .allocateDirect(uncompressedLength); + buffer = new byte[Math.max(input.capacity(), uncompressedLength)]; + } + + uncompressedDirect.clear(); + + this.valid = Snappy.uncompress(input, uncompressedDirect); + + uncompressedDirect.get(buffer, 0, valid); + this.position = 0; + } else { + // we need to start reading at the offset + input.position(frameData.offset); + this.position = 0; + this.valid = input.remaining(); + this.input.get(buffer, 0, input.remaining()); + } + + if (verifyChecksums) { + final int actualCrc32c = SnappyFramed.maskedCrc32c(buffer, + position, valid - position); + if (frameData.checkSum != actualCrc32c) { + throw new IOException("Corrupt input: invalid checksum"); + } + } + + return true; + } + + private boolean readBlockHeader() throws IOException { + frameHeader.clear(); + int read = readBytes(rbc, frameHeader); + + if (read == -1) { + return false; + } + + if (read < frameHeader.capacity()) { + throw new EOFException("encountered EOF while reading block header"); + } + frameHeader.flip(); + + return true; + } + + /** + * + * @param frameHeader + * @return + * @throws IOException + */ + private FrameMetaData getFrameMetaData(ByteBuffer frameHeader) + throws IOException { + + assert frameHeader.hasArray(); + + final byte[] frameHeaderArray = frameHeader.array(); + + int length = (frameHeaderArray[1] & 0xFF); + length |= (frameHeaderArray[2] & 0xFF) << 8; + length |= (frameHeaderArray[3] & 0xFF) << 16; + + int minLength = 0; + final FrameAction frameAction; + final int flag = frameHeaderArray[0] & 0xFF; + switch (flag) { + case COMPRESSED_DATA_FLAG: + frameAction = FrameAction.UNCOMPRESS; + minLength = 5; + break; + case UNCOMPRESSED_DATA_FLAG: + frameAction = FrameAction.RAW; + minLength = 5; + break; + case STREAM_IDENTIFIER_FLAG: + if (length != 6) { + throw new IOException( + "stream identifier chunk with invalid length: " + + length); + } + frameAction = FrameAction.SKIP; + minLength = 6; + break; + default: + // Reserved unskippable chunks (chunk types 0x02-0x7f) + if (flag <= 0x7f) { + throw new IOException("unsupported unskippable chunk: " + + Integer.toHexString(flag)); + } + + // all that is left is Reserved skippable chunks (chunk types + // 0x80-0xfe) + frameAction = FrameAction.SKIP; + minLength = 0; + } + + if (length < minLength) { + throw new IOException("invalid length: " + length + + " for chunk flag: " + Integer.toHexString(flag)); + } + + return new FrameMetaData(frameAction, length); + } + + /** + * + * @param content + * @return + * @throws IOException + */ + private FrameData getFrameData(ByteBuffer content) throws IOException { + return new FrameData(getCrc32c(content), 4); + } + + private int getCrc32c(ByteBuffer content) { + + final int position = content.position(); + + return ((content.get(position + 3) & 0xFF) << 24) + | ((content.get(position + 2) & 0xFF) << 16) + | ((content.get(position + 1) & 0xFF) << 8) + | (content.get(position) & 0xFF); + } +} diff --git a/src/main/java/org/xerial/snappy/SnappyFramedOutputStream.java b/src/main/java/org/xerial/snappy/SnappyFramedOutputStream.java new file mode 100644 index 0000000..221e242 --- /dev/null +++ b/src/main/java/org/xerial/snappy/SnappyFramedOutputStream.java @@ -0,0 +1,317 @@ +/* + * Created: Apr 12, 2013 + */ +package org.xerial.snappy; + +import static org.xerial.snappy.SnappyFramed.COMPRESSED_DATA_FLAG; +import static org.xerial.snappy.SnappyFramed.HEADER_BYTES; +import static org.xerial.snappy.SnappyFramed.UNCOMPRESSED_DATA_FLAG; +import static org.xerial.snappy.SnappyFramed.maskedCrc32c; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.nio.channels.ClosedChannelException; +import java.nio.channels.WritableByteChannel; + +/** + * Implements the x-snappy-framed as an {@link OutputStream} and + * {@link WritableByteChannel}. + * + * @author Brett Okken + * @since 1.1.0 + */ +public final class SnappyFramedOutputStream extends OutputStream implements + WritableByteChannel { + + /** + * The x-snappy-framed specification allows for a chunk size up to + * 16,777,211 bytes in length. However, it also goes on to state: + *

+ * + * We place an additional restriction that the uncompressed data in a chunk + * must be no longer than 65536 bytes. This allows consumers to easily use + * small fixed-size buffers. + * + *

+ */ + public static final int MAX_BLOCK_SIZE = 64 * 1024; + + /** + * The default block size to use. + */ + public static final int DEFAULT_BLOCK_SIZE = MAX_BLOCK_SIZE; + + /** + * The default min compression ratio to use. + */ + public static final double DEFAULT_MIN_COMPRESSION_RATIO = 0.85d; + + // private final int blockSize; + private final ByteBuffer buffer; + private final byte[] outputBuffer; + private final double minCompressionRatio; + + private final OutputStream out; + + // private int position; + private boolean closed; + + /** + * Creates a new {@link SnappyFramedOutputStream} using the {@link #DEFAULT_BLOCK_SIZE} + * and {@link #DEFAULT_MIN_COMPRESSION_RATIO}. + * @param out + * The underlying {@link OutputStream} to write to. Must not be + * {@code null}. + * @throws IOException + */ + public SnappyFramedOutputStream(OutputStream out) throws IOException { + this(out, DEFAULT_BLOCK_SIZE, DEFAULT_MIN_COMPRESSION_RATIO); + } + + /** + * Creates a new {@link SnappyFramedOutputStream} instance. + * + * @param out + * The underlying {@link OutputStream} to write to. Must not be + * {@code null}. + * @param blockSize + * The block size (of raw data) to compress before writing frames + * to out. Must be in (0, 65536]. + * @param minCompressionRatio + * Defines the minimum compression ratio ( + * {@code compressedLength / rawLength}) that must be achieved to + * write the compressed data. This must be in (0, 1.0]. + * @throws IOException + */ + public SnappyFramedOutputStream(OutputStream out, int blockSize, + double minCompressionRatio) throws IOException { + if (out == null) { + throw new NullPointerException(); + } + + if (minCompressionRatio <= 0 || minCompressionRatio > 1.0) { + throw new IllegalArgumentException("minCompressionRatio " + + minCompressionRatio + " must be in (0,1.0]"); + } + + if (blockSize <= 0 || blockSize > MAX_BLOCK_SIZE) { + throw new IllegalArgumentException("block size " + blockSize + + " must be in (0, 65536]"); + } + + this.out = out; + this.minCompressionRatio = minCompressionRatio; + buffer = ByteBuffer.allocate(blockSize); + outputBuffer = new byte[Snappy.maxCompressedLength(blockSize)]; + + writeHeader(out); + } + + /** + * Writes the implementation specific header or "marker bytes" to + * out. + * + * @param out + * The underlying {@link OutputStream}. + * @throws IOException + */ + private void writeHeader(OutputStream out) throws IOException { + out.write(HEADER_BYTES); + } + + /** + * {@inheritDoc} + */ + @Override + public boolean isOpen() { + return !closed; + } + + @Override + public void write(int b) throws IOException { + if (closed) { + throw new IOException("Stream is closed"); + } + if (buffer.remaining() <= 0) { + flushBuffer(); + } + buffer.put((byte) b); + } + + @Override + public void write(byte[] input, int offset, int length) throws IOException { + if (closed) { + throw new IOException("Stream is closed"); + } + + write(ByteBuffer.wrap(input, offset, length)); + } + + /** + * {@inheritDoc} + */ + @Override + public int write(ByteBuffer src) throws IOException { + if (closed) { + throw new ClosedChannelException(); + } + + if (buffer.remaining() <= 0) { + flushBuffer(); + } + + final int srcLength = src.remaining(); + + // easy case: enough free space in buffer for entire input + if (buffer.remaining() >= src.remaining()) { + buffer.put(src); + return srcLength; + } + + // store current limit + final int srcEnd = src.position() + src.remaining(); + + while ((src.position() + buffer.remaining()) <= srcEnd) { + // fill partial buffer as much as possible and flush + src.limit(src.position() + buffer.remaining()); + buffer.put(src); + flushBuffer(); + } + + // reset original limit + src.limit(srcEnd); + + // copy remaining partial block into now-empty buffer + buffer.put(src); + + return srcLength; + } + + @Override + public final void flush() throws IOException { + if (closed) { + throw new IOException("Stream is closed"); + } + flushBuffer(); + out.flush(); + } + + @Override + public final void close() throws IOException { + if (closed) { + return; + } + try { + flush(); + out.close(); + } finally { + closed = true; + } + } + + /** + * Compresses and writes out any buffered data. This does nothing if there + * is no currently buffered data. + * + * @throws IOException + */ + private void flushBuffer() throws IOException { + if (buffer.position() > 0) { + buffer.flip(); + writeCompressed(buffer); + buffer.clear(); + } + } + + /** + * {@link #calculateCRC32C(byte[], int, int) Calculates} the crc, compresses + * the data, determines if the compression ratio is acceptable and calls + * {@link #writeBlock(OutputStream, byte[], int, int, boolean, int)} to + * actually write the frame. + * + * @param input + * The byte[] containing the raw data to be compressed. + * @param offset + * The offset into input where the data starts. + * @param length + * The amount of data in input. + * @throws IOException + */ + private void writeCompressed(ByteBuffer buffer) throws IOException { + + final byte[] input = buffer.array(); + final int length = buffer.remaining(); + + // crc is based on the user supplied input data + final int crc32c = calculateCRC32C(input, 0, length); + + final int compressedLength = Snappy.compress(input, 0, length, + outputBuffer, 0); + + // only use the compressed data if copmression ratio is <= the + // minCompressonRatio + if (((double) compressedLength / (double) length) <= minCompressionRatio) { + writeBlock(out, outputBuffer, 0, compressedLength, true, crc32c); + } else { + // otherwise use the uncomprssed data. + writeBlock(out, input, 0, length, false, crc32c); + } + } + + /** + * Calculates a masked CRC32C checksum over the data. + * + * @param data + * @param offset + * @param length + * @return The CRC32 checksum. + */ + private int calculateCRC32C(byte[] data, int offset, int length) { + return maskedCrc32c(data, offset, length); + } + + /** + * Write a frame (block) to out. + * + * @param out + * The {@link OutputStream} to write to. + * @param data + * The data to write. + * @param offset + * The offset in data to start at. + * @param length + * The length of data to use. + * @param compressed + * Indicates if data is the compressed or raw content. + * This is based on whether the compression ratio desired is + * reached. + * @param crc32c + * The calculated checksum. + * @throws IOException + */ + private void writeBlock(final OutputStream out, byte[] data, int offset, + int length, boolean compressed, int crc32c) throws IOException { + out.write(compressed ? COMPRESSED_DATA_FLAG : UNCOMPRESSED_DATA_FLAG); + + // the length written out to the header is both the checksum and the + // frame + final int headerLength = length + 4; + + // write length + out.write(headerLength); + out.write(headerLength >>> 8); + out.write(headerLength >>> 16); + + // write crc32c of user input data + out.write(crc32c); + out.write(crc32c >>> 8); + out.write(crc32c >>> 16); + out.write(crc32c >>> 24); + + // write data + out.write(data, offset, length); + } +} diff --git a/src/test/java/org/xerial/snappy/CalgaryTest.java b/src/test/java/org/xerial/snappy/CalgaryTest.java index 1f98af2..de72038 100755 --- a/src/test/java/org/xerial/snappy/CalgaryTest.java +++ b/src/test/java/org/xerial/snappy/CalgaryTest.java @@ -24,14 +24,20 @@ //-------------------------------------- package org.xerial.snappy; -import static org.junit.Assert.*; +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TemporaryFolder; import org.xerial.util.FileResource; import org.xerial.util.log.Logger; @@ -44,6 +50,9 @@ import org.xerial.util.log.Logger; public class CalgaryTest { private static Logger _logger = Logger.getLogger(CalgaryTest.class); + + @Rule + public final TemporaryFolder tempFolder = new TemporaryFolder(); static byte[] readFile(String file) throws IOException { InputStream in = FileResource.find(CalgaryTest.class, file).openStream(); @@ -91,6 +100,83 @@ public class CalgaryTest } } + @Test + public void streamFramed() throws Exception { + for (String f : files) { + byte[] orig = readFile("testdata/calgary/" + f); + + ByteArrayOutputStream compressedBuf = new ByteArrayOutputStream(); + SnappyFramedOutputStream out = new SnappyFramedOutputStream(compressedBuf); + out.write(orig); + out.close(); + + SnappyFramedInputStream in = new SnappyFramedInputStream(new ByteArrayInputStream(compressedBuf.toByteArray())); + + byte[] uncompressed = new byte[orig.length]; + int readBytes = readBytes(in, uncompressed, 0, orig.length); + + assertEquals(orig.length, readBytes); + assertArrayEquals(orig, uncompressed); + } + } + + @Test + public void streamFramedToFile() throws Exception { + for (String f : files) { + byte[] orig = readFile("testdata/calgary/" + f); + + final File tempFile = tempFolder.newFile(f); + final FileOutputStream compressedFOS = new FileOutputStream(tempFile); + try + { + SnappyFramedOutputStream out = new SnappyFramedOutputStream(compressedFOS); + out.write(orig); + out.close(); + } + finally + { + compressedFOS.close(); + } + + byte[] uncompressed = new byte[orig.length]; + + final FileInputStream compressedFIS = new FileInputStream(tempFile); + try + { + SnappyFramedInputStream in = new SnappyFramedInputStream(compressedFIS.getChannel()); + int readBytes = readBytes(in, uncompressed, 0, orig.length); + + assertEquals(orig.length, readBytes); + } + finally + { + compressedFIS.close(); + } + + assertArrayEquals(orig, uncompressed); + } + } + + @Test + public void streamFramedNoCRCVerify() throws Exception { + for (String f : files) { + byte[] orig = readFile("testdata/calgary/" + f); + + ByteArrayOutputStream compressedBuf = new ByteArrayOutputStream(); + SnappyFramedOutputStream out = new SnappyFramedOutputStream(compressedBuf); + out.write(orig); + out.close(); + + SnappyFramedInputStream in = new SnappyFramedInputStream(new ByteArrayInputStream(compressedBuf.toByteArray()), false); + + byte[] uncompressed = new byte[orig.length]; + int readBytes = readBytes(in, uncompressed, 0, orig.length); + + assertEquals(orig.length, readBytes); + assertArrayEquals(orig, uncompressed); + } + } + @Test public void byteWiseRead() throws Exception { for (String f : files) { @@ -115,4 +201,28 @@ public class CalgaryTest } } + static final int readBytes(InputStream source, byte[] dest, int offset, int length) throws IOException + { + // how many bytes were read. + int lastRead = source.read(dest, offset, length); + + int totalRead = lastRead; + + // if we did not read as many bytes as we had hoped, try reading again. + if (lastRead < length) + { + // as long the buffer is not full (remaining() == 0) and we have not reached EOF (lastRead == -1) keep reading. + while (totalRead < length && lastRead != -1) + { + lastRead = source.read(dest, offset + totalRead, length - totalRead); + + // if we got EOF, do not add to total read. + if (lastRead != -1) + { + totalRead += lastRead; + } + } + } + return totalRead; + } } diff --git a/src/test/java/org/xerial/snappy/RandomGenerator.java b/src/test/java/org/xerial/snappy/RandomGenerator.java new file mode 100644 index 0000000..c75a8aa --- /dev/null +++ b/src/test/java/org/xerial/snappy/RandomGenerator.java @@ -0,0 +1,68 @@ +/* + * Created: Apr 15, 2013 + */ +package org.xerial.snappy; + +import java.util.Random; + +/** + * Generates random data with specific expected snappy performance characteristics. + * + *

+ * This has been copied from dain's snappy implementation.. + *

+ */ +public class RandomGenerator { + + public final byte[] data; + public int position; + + public RandomGenerator(double compressionRatio) { + // We use a limited amount of data over and over again and ensure + // that it is larger than the compression window (32KB), and also + // large enough to serve all typical value sizes we want to write. + Random rnd = new Random(301); + data = new byte[1048576 + 100]; + for (int i = 0; i < 1048576; i += 100) { + // Add a short fragment that is as compressible as specified ratio + System.arraycopy(compressibleData(rnd, compressionRatio, 100), 0, + data, i, 100); + } + } + + public int getNextPosition(int length) { + if (position + length > data.length) { + position = 0; + assert (length < data.length); + } + int result = position; + position += length; + return result; + } + + private static byte[] compressibleData(Random random, + double compressionRatio, int length) { + int raw = (int) (length * compressionRatio); + if (raw < 1) { + raw = 1; + } + byte[] rawData = generateRandomData(random, raw); + + // Duplicate the random data until we have filled "length" bytes + byte[] dest = new byte[length]; + for (int i = 0; i < length;) { + int chunkLength = Math.min(rawData.length, length - i); + System.arraycopy(rawData, 0, dest, i, chunkLength); + i += chunkLength; + } + return dest; + } + + private static byte[] generateRandomData(Random random, int length) { + byte[] rawData = new byte[length]; + for (int i = 0; i < rawData.length; i++) { + rawData[i] = (byte) random.nextInt(256); + } + return rawData; + } +} \ No newline at end of file diff --git a/src/test/java/org/xerial/snappy/SnappyFramedStreamTest.java b/src/test/java/org/xerial/snappy/SnappyFramedStreamTest.java new file mode 100644 index 0000000..decb43e --- /dev/null +++ b/src/test/java/org/xerial/snappy/SnappyFramedStreamTest.java @@ -0,0 +1,300 @@ +/* + * Created: Mar 14, 2013 + */ +package org.xerial.snappy; + +import static org.xerial.snappy.SnappyFramed.*; +import static org.junit.Assert.*; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; + +import org.junit.Test; + +/** + * Tests the functionality of {@link org.xerial.snappy.SnappyFramedInputStream} + * and {@link org.xerial.snappy.SnappyFramedOutputStream}. + * + * @author Brett Okken + */ +public class SnappyFramedStreamTest { + + /** + * @throws IOException + */ + protected OutputStream createOutputStream(OutputStream target) + throws IOException { + return new SnappyFramedOutputStream(target); + } + + /** + * {@inheritDoc} + * + * @throws IOException + */ + protected InputStream createInputStream(InputStream source, + boolean verifyCheckSums) throws IOException { + return new SnappyFramedInputStream(source, verifyCheckSums); + } + + protected byte[] getMarkerFrame() { + return HEADER_BYTES; + } + + @Test + public void testSimple() throws Exception { + byte[] original = "aaaaaaaaaaaabbbbbbbaaaaaa".getBytes("utf-8"); + + byte[] compressed = compress(original); + byte[] uncompressed = uncompress(compressed); + + assertArrayEquals(uncompressed, original); + // 10 byte stream header, 4 byte block header, 4 byte crc, 19 bytes + assertEquals(compressed.length, 37); + + // stream header + assertArrayEquals(Arrays.copyOf(compressed, 10), HEADER_BYTES); + + // flag: compressed + assertEquals(toInt(compressed[10]), COMPRESSED_DATA_FLAG); + + // length: 23 = 0x000017 + assertEquals(toInt(compressed[11]), 0x17); + assertEquals(toInt(compressed[12]), 0x00); + assertEquals(toInt(compressed[13]), 0x00); + + // crc32c: 0x9274cda8 + assertEquals(toInt(compressed[17]), 0x92); + assertEquals(toInt(compressed[16]), 0x74); + assertEquals(toInt(compressed[15]), 0xCD); + assertEquals(toInt(compressed[14]), 0xA8); + } + + @Test + public void testUncompressable() throws Exception { + byte[] random = getRandom(1, 5000); + int crc32c = maskedCrc32c(random); + + byte[] compressed = compress(random); + byte[] uncompressed = uncompress(compressed); + + assertArrayEquals(uncompressed, random); + assertEquals(compressed.length, random.length + 10 + 4 + 4); + + // flag: uncompressed + assertEquals(toInt(compressed[10]), UNCOMPRESSED_DATA_FLAG); + + // length: 5004 = 0x138c + assertEquals(toInt(compressed[13]), 0x00); + assertEquals(toInt(compressed[12]), 0x13); + assertEquals(toInt(compressed[11]), 0x8c); + } + + @Test + public void testEmptyCompression() throws Exception { + byte[] empty = new byte[0]; + assertArrayEquals(compress(empty), HEADER_BYTES); + assertArrayEquals(uncompress(HEADER_BYTES), empty); + } + + @Test(expected = EOFException.class) + public void testShortBlockHeader() throws Exception { + uncompressBlock(new byte[] { 0 }); + } + + @Test(expected = EOFException.class) + public void testShortBlockData() throws Exception { + // flag = 0, size = 8, crc32c = 0, block data= [x, x] + uncompressBlock(new byte[] { 1, 8, 0, 0, 0, 0, 0, 0, 'x', 'x' }); + } + + @Test + public void testUnskippableChunkFlags() throws Exception { + for (int i = 2; i <= 0x7f; i++) { + try { + uncompressBlock(new byte[] { (byte) i, 5, 0, 0, 0, 0, 0, 0, 0 }); + fail("no exception thrown with flag: " + Integer.toHexString(i)); + } catch (IOException e) { + + } + } + } + + @Test + public void testSkippableChunkFlags() throws Exception { + for (int i = 0x80; i <= 0xfe; i++) { + try { + uncompressBlock(new byte[] { (byte) i, 5, 0, 0, 0, 0, 0, 0, 0 }); + } catch (IOException e) { + fail("exception thrown with flag: " + Integer.toHexString(i)); + } + } + } + + @Test(expected = IOException.class) + public void testInvalidBlockSizeZero() throws Exception { + // flag = '0', block size = 4, crc32c = 0 + uncompressBlock(new byte[] { 1, 4, 0, 0, 0, 0, 0, 0 }); + } + + @Test(expected = IOException.class) + public void testInvalidChecksum() throws Exception { + // flag = 0, size = 5, crc32c = 0, block data = [a] + uncompressBlock(new byte[] { 1, 5, 0, 0, 0, 0, 0, 0, 'a' }); + } + + @Test + public void testInvalidChecksumIgnoredWhenVerificationDisabled() + throws Exception { + // flag = 0, size = 4, crc32c = 0, block data = [a] + byte[] block = { 1, 5, 0, 0, 0, 0, 0, 0, 'a' }; + ByteArrayInputStream inputData = new ByteArrayInputStream( + blockToStream(block)); + assertArrayEquals(toByteArray(createInputStream(inputData, false)), + new byte[] { 'a' }); + } + + @Test + public void testLargerFrames_raw_() throws IOException { + final byte[] random = getRandom(0.5, 100000); + + final byte[] stream = new byte[HEADER_BYTES.length + 8 + random.length]; + System.arraycopy(HEADER_BYTES, 0, stream, 0, HEADER_BYTES.length); + + stream[10] = UNCOMPRESSED_DATA_FLAG; + + int length = random.length + 4; + stream[11] = (byte) length; + stream[12] = (byte) (length >>> 8); + stream[13] = (byte) (length >>> 16); + + int crc32c = maskedCrc32c(random); + stream[14] = (byte) crc32c; + stream[15] = (byte) (crc32c >>> 8); + stream[16] = (byte) (crc32c >>> 16); + stream[17] = (byte) (crc32c >>> 24); + + System.arraycopy(random, 0, stream, 18, random.length); + + final byte[] uncompressed = uncompress(stream); + + assertArrayEquals(random, uncompressed); + } + + @Test + public void testLargerFrames_compressed_() throws IOException { + final byte[] random = getRandom(0.5, 500000); + + final byte[] compressed = Snappy.compress(random); + + final byte[] stream = new byte[HEADER_BYTES.length + 8 + compressed.length]; + System.arraycopy(HEADER_BYTES, 0, stream, 0, HEADER_BYTES.length); + + stream[10] = COMPRESSED_DATA_FLAG; + + int length = compressed.length + 4; + stream[11] = (byte) length; + stream[12] = (byte) (length >>> 8); + stream[13] = (byte) (length >>> 16); + + int crc32c = maskedCrc32c(random); + stream[14] = (byte) crc32c; + stream[15] = (byte) (crc32c >>> 8); + stream[16] = (byte) (crc32c >>> 16); + stream[17] = (byte) (crc32c >>> 24); + + System.arraycopy(compressed, 0, stream, 18, compressed.length); + + final byte[] uncompressed = uncompress(stream); + + assertArrayEquals(random, uncompressed); + } + + @Test + public void testLargerFrames_compressed_smaller_raw_larger() + throws IOException { + final byte[] random = getRandom(0.5, 100000); + + final byte[] compressed = Snappy.compress(random); + + final byte[] stream = new byte[HEADER_BYTES.length + 8 + + compressed.length]; + System.arraycopy(HEADER_BYTES, 0, stream, 0, HEADER_BYTES.length); + + stream[10] = COMPRESSED_DATA_FLAG; + + int length = compressed.length + 4; + stream[11] = (byte) length; + stream[12] = (byte) (length >>> 8); + stream[13] = (byte) (length >>> 16); + + int crc32c = maskedCrc32c(random); + stream[14] = (byte) crc32c; + stream[15] = (byte) (crc32c >>> 8); + stream[16] = (byte) (crc32c >>> 16); + stream[17] = (byte) (crc32c >>> 24); + + System.arraycopy(compressed, 0, stream, 18, compressed.length); + + final byte[] uncompressed = uncompress(stream); + + assertArrayEquals(random, uncompressed); + } + + private byte[] uncompressBlock(byte[] block) throws IOException { + return uncompress(blockToStream(block)); + } + + private static byte[] blockToStream(byte[] block) { + byte[] stream = new byte[HEADER_BYTES.length + block.length]; + System.arraycopy(HEADER_BYTES, 0, stream, 0, HEADER_BYTES.length); + System.arraycopy(block, 0, stream, HEADER_BYTES.length, block.length); + return stream; + } + + + protected byte[] compress(byte[] original) throws IOException { + ByteArrayOutputStream out = new ByteArrayOutputStream(); + OutputStream snappyOut = createOutputStream(out); + snappyOut.write(original); + snappyOut.close(); + return out.toByteArray(); + } + + protected byte[] uncompress(byte[] compressed) throws IOException { + return toByteArray(createInputStream(new ByteArrayInputStream( + compressed), true)); + } + + private static byte[] toByteArray(InputStream createInputStream) throws IOException { + final ByteArrayOutputStream baos = new ByteArrayOutputStream(64 * 1024); + + final byte[] buffer = new byte[8 * 1024]; + + int read; + while((read = createInputStream.read(buffer)) > 0) { + baos.write(buffer, 0, read); + } + + return baos.toByteArray(); + } + + static int toInt(byte value) { + return value & 0xFF; + } + + private byte[] getRandom(double compressionRatio, int length) { + RandomGenerator gen = new RandomGenerator( + compressionRatio); + gen.getNextPosition(length); + byte[] random = Arrays.copyOf(gen.data, length); + assertEquals(random.length, length); + return random; + } + +} From a5507afb6e54b967067a80ef78f9d854c6cc764a Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 23 Apr 2013 13:11:58 +0900 Subject: [PATCH 07/48] Fixes #33. Add Mac/i386 binary --- .../snappy/native/Mac/i386/libsnappyjava.jnilib | Bin 0 -> 43716 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 src/main/resources/org/xerial/snappy/native/Mac/i386/libsnappyjava.jnilib diff --git a/src/main/resources/org/xerial/snappy/native/Mac/i386/libsnappyjava.jnilib b/src/main/resources/org/xerial/snappy/native/Mac/i386/libsnappyjava.jnilib new file mode 100755 index 0000000000000000000000000000000000000000..6df932df2a2f4221ca07e73ffa9baddb2132382c GIT binary patch literal 43716 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 literal 0 HcmV?d00001 From c48ab66e99f780a8e92d479a3dfd3303bdf7888a Mon Sep 17 00:00:00 2001 From: Dave Brosius Date: Fri, 10 May 2013 23:16:25 -0400 Subject: [PATCH 08/48] make sure magic bytes are read fully --- src/main/java/org/xerial/snappy/SnappyCodec.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/xerial/snappy/SnappyCodec.java b/src/main/java/org/xerial/snappy/SnappyCodec.java index 18014bd..8358a1c 100755 --- a/src/main/java/org/xerial/snappy/SnappyCodec.java +++ b/src/main/java/org/xerial/snappy/SnappyCodec.java @@ -91,7 +91,7 @@ public class SnappyCodec public static SnappyCodec readHeader(InputStream in) throws IOException { DataInputStream d = new DataInputStream(in); byte[] magic = new byte[MAGIC_LEN]; - d.read(magic, 0, MAGIC_LEN); + d.readFully(magic, 0, MAGIC_LEN); int version = d.readInt(); int compatibleVersion = d.readInt(); return new SnappyCodec(magic, version, compatibleVersion); From 2daae5aca424bd2aa3ffc20a13e8603abdc59b0b Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Fri, 17 May 2013 10:28:14 +0900 Subject: [PATCH 09/48] use snapshot version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6a1ea63..6285dd0 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.xerial.snappy snappy-java - 1.1.0-M4-SNAPSHOT + 1.1.0-SNAPSHOT Snappy for Java snappy-java: A fast compression/decompression library bundle From fde51d8317dcf92c66ebf151298cc604aff65db5 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Fri, 17 May 2013 10:32:54 +0900 Subject: [PATCH 10/48] release version 1.0.5 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 46540da..b5b72a6 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.xerial.snappy snappy-java - 1.0.5-M4 + 1.0.5 Snappy for Java snappy-java: A fast compression/decompression library bundle From 41b11f7ebdce9834a77eb4ca48dfa6f1d7e9e026 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 6 Jun 2013 11:10:35 +0900 Subject: [PATCH 11/48] new snapshot version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index b5b72a6..7e16061 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.xerial.snappy snappy-java - 1.0.5 + 1.0.5.1-SNAPSHOT Snappy for Java snappy-java: A fast compression/decompression library bundle From 8c69129359bb7e08c6f8083fef7a8f9c632e4057 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 6 Jun 2013 11:35:42 +0900 Subject: [PATCH 12/48] Fixes #34. Use canonical os.arch names for native lib folders --- src/main/java/org/xerial/snappy/OSInfo.java | 50 +++++++++++++++++- .../Linux/{i386 => x86}/libsnappyjava.so | Bin .../Linux/{amd64 => x86_64}/libsnappyjava.so | Bin .../Mac/{i386 => x86}/libsnappyjava.jnilib | Bin .../OpenBSD/{i386 => x86}/libsnappyjava.so | Bin .../{amd64 => x86_64}/libsnappyjava.so | Bin .../Windows/{amd64 => x86_64}/snappyjava.dll | Bin 7 files changed, 48 insertions(+), 2 deletions(-) rename src/main/resources/org/xerial/snappy/native/Linux/{i386 => x86}/libsnappyjava.so (100%) rename src/main/resources/org/xerial/snappy/native/Linux/{amd64 => x86_64}/libsnappyjava.so (100%) rename src/main/resources/org/xerial/snappy/native/Mac/{i386 => x86}/libsnappyjava.jnilib (100%) rename src/main/resources/org/xerial/snappy/native/OpenBSD/{i386 => x86}/libsnappyjava.so (100%) rename src/main/resources/org/xerial/snappy/native/OpenBSD/{amd64 => x86_64}/libsnappyjava.so (100%) rename src/main/resources/org/xerial/snappy/native/Windows/{amd64 => x86_64}/snappyjava.dll (100%) diff --git a/src/main/java/org/xerial/snappy/OSInfo.java b/src/main/java/org/xerial/snappy/OSInfo.java index 4ec6686..6c612b8 100755 --- a/src/main/java/org/xerial/snappy/OSInfo.java +++ b/src/main/java/org/xerial/snappy/OSInfo.java @@ -25,6 +25,8 @@ package org.xerial.snappy; import java.io.IOException; +import java.util.HashMap; +import java.util.Locale; /** * Provides OS name and architecture name. @@ -34,6 +36,48 @@ import java.io.IOException; */ public class OSInfo { + private static HashMap archMapping = new HashMap(); + + public static final String X86 = "x86"; + public static final String X86_64 = "x86_64"; + public static final String IA64_32 = "ia64_32"; + public static final String IA64 = "ia64"; + public static final String PPC = "ppc"; + + static { + // x86 mappings + archMapping.put(X86, X86); + archMapping.put("i386", X86); + archMapping.put("i486", X86); + archMapping.put("i586", X86); + archMapping.put("i686", X86); + archMapping.put("pentium", X86); + + // x86_64 mappings + archMapping.put(X86_64, X86_64); + archMapping.put("amd64", X86_64); + archMapping.put("em64t", X86_64); + archMapping.put("universal", X86_64); // Needed for openjdk7 in Mac + + // Itenium 64-bit mappings + archMapping.put(IA64, IA64); + archMapping.put("ia64w", IA64); + + // Itenium 32-bit mappings, usually an HP-UX construct + archMapping.put(IA64_32, IA64_32); + archMapping.put("ia64n", IA64_32); + + // PowerPC mappings + archMapping.put(PPC, PPC); + archMapping.put("pwoer", PPC); + archMapping.put("powerpc", PPC); + archMapping.put("power_pc", PPC); + archMapping.put("power_rs", PPC); + + // TODO: PowerPC 64bit mappings + } + + public static void main(String[] args) { if (args.length >= 1) { if ("--os".equals(args[0])) { @@ -78,8 +122,10 @@ public class OSInfo // ignored: fall back to "arm" arch (soft-float ABI) } } - else if(getOSName().equals("Mac") && (osArch.equals("universal") || osArch.equals("amd64"))) { - return "x86_64"; // Fix for openjdk7 + else { + String lc = osArch.toLowerCase(Locale.US); + if(archMapping.containsKey(lc)) + return archMapping.get(lc); } return translateArchNameToFolderName(osArch); } diff --git a/src/main/resources/org/xerial/snappy/native/Linux/i386/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so similarity index 100% rename from src/main/resources/org/xerial/snappy/native/Linux/i386/libsnappyjava.so rename to src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so diff --git a/src/main/resources/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so similarity index 100% rename from src/main/resources/org/xerial/snappy/native/Linux/amd64/libsnappyjava.so rename to src/main/resources/org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so diff --git a/src/main/resources/org/xerial/snappy/native/Mac/i386/libsnappyjava.jnilib b/src/main/resources/org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib similarity index 100% rename from src/main/resources/org/xerial/snappy/native/Mac/i386/libsnappyjava.jnilib rename to src/main/resources/org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib diff --git a/src/main/resources/org/xerial/snappy/native/OpenBSD/i386/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/OpenBSD/x86/libsnappyjava.so similarity index 100% rename from src/main/resources/org/xerial/snappy/native/OpenBSD/i386/libsnappyjava.so rename to src/main/resources/org/xerial/snappy/native/OpenBSD/x86/libsnappyjava.so diff --git a/src/main/resources/org/xerial/snappy/native/OpenBSD/amd64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/OpenBSD/x86_64/libsnappyjava.so similarity index 100% rename from src/main/resources/org/xerial/snappy/native/OpenBSD/amd64/libsnappyjava.so rename to src/main/resources/org/xerial/snappy/native/OpenBSD/x86_64/libsnappyjava.so diff --git a/src/main/resources/org/xerial/snappy/native/Windows/amd64/snappyjava.dll b/src/main/resources/org/xerial/snappy/native/Windows/x86_64/snappyjava.dll similarity index 100% rename from src/main/resources/org/xerial/snappy/native/Windows/amd64/snappyjava.dll rename to src/main/resources/org/xerial/snappy/native/Windows/x86_64/snappyjava.dll From 26acd403ba7054bc545fd3f4710cc839390a2f82 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 6 Jun 2013 11:44:13 +0900 Subject: [PATCH 13/48] Fix the native code folder paths in OSGi settings --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 7e16061..bb1ca38 100755 --- a/pom.xml +++ b/pom.xml @@ -182,12 +182,12 @@ org.osgi.framework;version="[1.5,2)" lazy - org/xerial/snappy/native/Windows/amd64/snappyjava.dll;selection-filter="(&(osgi.arch=x86_64)(osgi.os=win32))", + org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(osgi.arch=x86_64)(osgi.os=win32))", org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(osgi.arch=x86)(osgi.os=win32))", - org/xerial/snappy/native/Mac/i386/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86)(osgi.os=macosx))", + org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86)(osgi.os=macosx))", org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86_64)(osgi.os=macosx))", - org/xerial/snappy/native/Linux/amd64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86_64)(osgi.os=linux))", - org/xerial/snappy/native/Linux/i386/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=linux))", + org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86_64)(osgi.os=linux))", + org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=linux))", org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(osgi.arch=arm)(osgi.os=linux))" From cfebd7432b6b1ae46e60870c1b3da0505a7a8994 Mon Sep 17 00:00:00 2001 From: laszlohordos Date: Thu, 6 Jun 2013 11:36:47 +0200 Subject: [PATCH 14/48] The Snappy Java Jar is not compatible with Apache Felix 4.2.1 Framework The Snappy Bundle contains the Bundle-NativeCode instruction in a way it's not compatible with the [R4LibraryClause](http://svn.apache.org/viewvc/felix/releases/org.apache.felix.framework-4.2.1/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java?view=markup) because the osname and processor definition is mandatory. They can not be replaced with selection-filter. Snappy 1.0.5 and the 1.1.0-SNAPSHOT throws the same org.osgi.framework.BundleException: Unresolved constraint in bundle org.xerial.snappy.snappy-java [n]: No matching native libraries found. exception. I saw in the fixed issues the Snappy was tested on Eclipse 3.8.1 but I couldn't tested so it has to be verified. I also updated the x86-64 from x86_64 regarding the [Bundle-NativeCode: OS/Processor values](http://www.osgi.org/Specifications/Reference) --- pom.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pom.xml b/pom.xml index 6285dd0..11651b0 100755 --- a/pom.xml +++ b/pom.xml @@ -182,12 +182,12 @@ org.osgi.framework;version="[1.5,2)" lazy - org/xerial/snappy/native/Windows/amd64/snappyjava.dll;selection-filter="(&(osgi.arch=x86_64)(osgi.os=win32))", - org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(osgi.arch=x86)(osgi.os=win32))", - org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86_64)(osgi.os=macosx))", - org/xerial/snappy/native/Linux/amd64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86_64)(osgi.os=linux))", - org/xerial/snappy/native/Linux/i386/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=linux))", - org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(osgi.arch=arm)(osgi.os=linux))" + org/xerial/snappy/native/Windows/amd64/snappyjava.dll;osname=win32;processor=x86-64, + org/xerial/snappy/native/Windows/x86/snappyjava.dll;osname=win32;processor=x86, + org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;osname=macosx;processor=x86-64, + org/xerial/snappy/native/Linux/amd64/libsnappyjava.so;osname=linux;processor=x86-64, + org/xerial/snappy/native/Linux/i386/libsnappyjava.so;osname=linux;processor=x86, + org/xerial/snappy/native/Linux/arm/libsnappyjava.so;osname=linux;processor=arm @@ -214,7 +214,7 @@ - + org.apache.maven.plugins maven-clean-plugin @@ -231,7 +231,7 @@ - + maven-assembly-plugin 2.2.1 @@ -252,7 +252,7 @@ - + @@ -332,7 +332,7 @@ jar test - + - + From 88275fb84654df42335497963db45df7fb906e0e Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 2 Jul 2013 10:10:25 +0900 Subject: [PATCH 15/48] commenting --- src/main/java/org/xerial/snappy/Snappy.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index e44ded2..6dee2e3 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -26,7 +26,6 @@ package org.xerial.snappy; import java.io.IOException; import java.io.UnsupportedEncodingException; -import java.lang.ExceptionInInitializerError; import java.net.URL; import java.nio.ByteBuffer; import java.nio.charset.Charset; @@ -35,7 +34,7 @@ import java.util.Properties; /** * Snappy API for data compression/decompression * - * Note: if the native libraries cannot be loaded, then an ExceptionInInitializerError + * Note: if the native libraries cannot be loaded, an ExceptionInInitializerError * will be thrown at first use of this class. * * @author leo From d7263cc36d4db1adf7fcb15cf29d13a51b2e5978 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 2 Jul 2013 10:27:10 +0900 Subject: [PATCH 16/48] Fixes #39. Comparing two native libraries directly without generating md5sum --- .../java/org/xerial/snappy/SnappyLoader.java | 79 ++++++++++++------- 1 file changed, 52 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/xerial/snappy/SnappyLoader.java b/src/main/java/org/xerial/snappy/SnappyLoader.java index 99b0e7a..6fa066a 100755 --- a/src/main/java/org/xerial/snappy/SnappyLoader.java +++ b/src/main/java/org/xerial/snappy/SnappyLoader.java @@ -24,13 +24,7 @@ //-------------------------------------- package org.xerial.snappy; -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; @@ -356,6 +350,25 @@ public class SnappyLoader } } + + private static boolean contentsEquals(InputStream in1, InputStream in2) throws IOException { + if(!(in1 instanceof BufferedInputStream)) { + in1 = new BufferedInputStream(in1); + } + if(!(in2 instanceof BufferedInputStream)) { + in2 = new BufferedInputStream(in2); + } + + int ch = in1.read(); + while(ch != -1) { + int ch2 = in2.read(); + if(ch != ch2) + return false; + ch = in1.read(); + } + int ch2 = in2.read(); + return ch2 == -1; + } /** * Extract the specified library file to the target folder * @@ -372,34 +385,46 @@ public class SnappyLoader try { if (extractedLibFile.exists()) { - // test md5sum value - String md5sum1 = md5sum(SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath)); - String md5sum2 = md5sum(new FileInputStream(extractedLibFile)); - - if (md5sum1.equals(md5sum2)) { - return new File(targetFolder, extractedLibFileName); - } - else { - // remove old native library file - boolean deletionSucceeded = extractedLibFile.delete(); - if (!deletionSucceeded) { - throw new IOException("failed to remove existing native library file: " - + extractedLibFile.getAbsolutePath()); + // Compare the native library contents + InputStream nativeIn = SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath); + InputStream extractedLibIn = new FileInputStream(extractedLibFile); + try { + if(contentsEquals(nativeIn, extractedLibIn)) { + return new File(targetFolder, extractedLibFileName); } + else { + // remove old native library file + boolean deletionSucceeded = extractedLibFile.delete(); + if (!deletionSucceeded) { + throw new IOException("failed to remove existing native library file: " + + extractedLibFile.getAbsolutePath()); + } + } + } + finally { + if(nativeIn != null) + nativeIn.close(); + if(extractedLibIn != null) + extractedLibIn.close(); } } // Extract a native library file into the target directory InputStream reader = SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath); FileOutputStream writer = new FileOutputStream(extractedLibFile); - byte[] buffer = new byte[8192]; - int bytesRead = 0; - while ((bytesRead = reader.read(buffer)) != -1) { - writer.write(buffer, 0, bytesRead); + try { + byte[] buffer = new byte[8192]; + int bytesRead = 0; + while ((bytesRead = reader.read(buffer)) != -1) { + writer.write(buffer, 0, bytesRead); + } + } + finally { + if(writer != null) + writer.close(); + if(reader != null) + reader.close(); } - - writer.close(); - reader.close(); // Set executable (x) flag to enable Java to load the native library if (!System.getProperty("os.name").contains("Windows")) { From 5e3ba5578216400c0238148a15e6c64ee6280970 Mon Sep 17 00:00:00 2001 From: "Philip K. Warren" Date: Wed, 10 Jul 2013 13:17:07 -0500 Subject: [PATCH 17/48] Avoid leaks with GetPrimitiveArrayCritical. It is possible that one of the two calls to GetPrimitiveArrayCritical succeeded, in which case an exception would be thrown and the memory would not be released. Ensure that every successful call to GetPrimitiveArrayCritical is followed by a call to ReleasePrimitiveArrayCritical. --- .../java/org/xerial/snappy/SnappyNative.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/main/java/org/xerial/snappy/SnappyNative.cpp b/src/main/java/org/xerial/snappy/SnappyNative.cpp index af7be0e..f3d1f51 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.cpp +++ b/src/main/java/org/xerial/snappy/SnappyNative.cpp @@ -90,6 +90,12 @@ JNIEXPORT jint JNICALL Java_org_xerial_snappy_SnappyNative_rawCompress__Ljava_la char* out = (char*) env->GetPrimitiveArrayCritical((jarray) output, 0); if(in == 0 || out == 0) { // out of memory + if(in != 0) { + env->ReleasePrimitiveArrayCritical((jarray) input, in, 0); + } + if(out != 0) { + env->ReleasePrimitiveArrayCritical((jarray) output, out, 0); + } throw_exception(env, self, 4); return 0; } @@ -110,6 +116,12 @@ JNIEXPORT jint JNICALL Java_org_xerial_snappy_SnappyNative_rawUncompress__Ljava_ char* out = (char*) env->GetPrimitiveArrayCritical((jarray) output, 0); if(in == 0 || out == 0) { // out of memory + if(in != 0) { + env->ReleasePrimitiveArrayCritical((jarray) input, in, 0); + } + if(out != 0) { + env->ReleasePrimitiveArrayCritical((jarray) output, out, 0); + } throw_exception(env, self, 4); return 0; } @@ -265,6 +277,12 @@ JNIEXPORT void JNICALL Java_org_xerial_snappy_SnappyNative_arrayCopy char* dest = (char*) env->GetPrimitiveArrayCritical((jarray) output, 0); if(src == 0 || dest == 0) { // out of memory + if(src != 0) { + env->ReleasePrimitiveArrayCritical((jarray) input, src, 0); + } + if(dest != 0) { + env->ReleasePrimitiveArrayCritical((jarray) output, dest, 0); + } throw_exception(env, self, 4); return; } From 06f007a084b36ea90f9b77f5566f4975b68cda12 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 15:46:05 +0900 Subject: [PATCH 18/48] Attach UUID to the extracted native library file --- .../java/org/xerial/snappy/SnappyLoader.java | 226 +++--------------- 1 file changed, 34 insertions(+), 192 deletions(-) diff --git a/src/main/java/org/xerial/snappy/SnappyLoader.java b/src/main/java/org/xerial/snappy/SnappyLoader.java index 6fa066a..5f8f7f4 100755 --- a/src/main/java/org/xerial/snappy/SnappyLoader.java +++ b/src/main/java/org/xerial/snappy/SnappyLoader.java @@ -25,17 +25,13 @@ package org.xerial.snappy; import java.io.*; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.net.URL; import java.security.DigestInputStream; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.security.ProtectionDomain; -import java.util.ArrayList; import java.util.Enumeration; -import java.util.List; import java.util.Properties; +import java.util.UUID; /** * Internal only - Do not use this class. This class loads a native @@ -136,92 +132,13 @@ public class SnappyLoader loadSnappySystemProperties(); } - private static ClassLoader getRootClassLoader() { - ClassLoader cl = Thread.currentThread().getContextClassLoader(); - while (cl.getParent() != null) { - cl = cl.getParent(); - } - return cl; - } - - private static byte[] getByteCode(String resourcePath) throws IOException { - - InputStream in = SnappyLoader.class.getResourceAsStream(resourcePath); - if (in == null) - throw new IOException(resourcePath + " is not found"); - byte[] buf = new byte[1024]; - ByteArrayOutputStream byteCodeBuf = new ByteArrayOutputStream(); - for (int readLength; (readLength = in.read(buf)) != -1;) { - byteCodeBuf.write(buf, 0, readLength); - } - in.close(); - - return byteCodeBuf.toByteArray(); - } - - public static boolean isNativeLibraryLoaded() { - return isLoaded; - } - - private static boolean hasInjectedNativeLoader() { - try { - final String nativeLoaderClassName = "org.xerial.snappy.SnappyNativeLoader"; - Class< ? > c = Class.forName(nativeLoaderClassName); - // If this native loader class is already defined, it means that another class loader already loaded the native library of snappy - return true; - } - catch (ClassNotFoundException e) { - // do loading - return false; - } - } - - /** - * Load SnappyNative and its JNI native implementation using the root class - * loader. This hack is for avoiding the JNI multi-loading issue when the - * same JNI library is loaded by different class loaders. - * - * In order to load native code in the root class loader, this method first - * inject SnappyNativeLoader class into the root class loader, because - * {@link System#load(String)} method uses the class loader of the caller - * class when loading native libraries. - * - *

-     * (root class loader) -> [SnappyNativeLoader (load JNI code), SnappyNative (has native methods), SnappyNativeAPI, SnappyErrorCode]  (injected by this method)
-     *    |
-     *    |
-     * (child class loader) -> Sees the above classes loaded by the root class loader.
-     *   Then creates SnappyNativeAPI implementation by instantiating SnappyNaitive class.
-     * 
- * - * - *
-     * (root class loader) -> [SnappyNativeLoader, SnappyNative ...]  -> native code is loaded by once in this class loader 
-     *   |   \
-     *   |    (child2 class loader)      
-     * (child1 class loader)
-     * 
-     * child1 and child2 share the same SnappyNative code loaded by the root class loader.
-     * 
- * - * Note that Java's class loader first delegates the class lookup to its - * parent class loader. So once SnappyNativeLoader is loaded by the root - * class loader, no child class loader initialize SnappyNativeLoader again. - * - * @return - */ - static synchronized Object load() + static synchronized Object load() { if (api != null) return api; try { - if (!hasInjectedNativeLoader()) { - // Inject SnappyNativeLoader (src/main/resources/org/xerial/snappy/SnappyNativeLoader.bytecode) to the root class loader - Class< ? > nativeLoader = injectSnappyNativeLoader(); - // Load the JNI code using the injected loader - loadNativeLibrary(nativeLoader); - } + loadNativeLibrary(); isLoaded = true; // Look up SnappyNative, injected to the root classloder, using reflection in order to avoid the initialization of SnappyNative class in this context class loader. @@ -237,91 +154,23 @@ public class SnappyLoader } /** - * Inject SnappyNativeLoader class to the root class loader - * - * @return native code loader class initialized in the root class loader + * Load a native library of snappy-java */ - private static Class< ? > injectSnappyNativeLoader() { - - try { - // Use parent class loader to load SnappyNative, since Tomcat, which uses different class loaders for each webapps, cannot load JNI interface twice - - final String nativeLoaderClassName = "org.xerial.snappy.SnappyNativeLoader"; - ClassLoader rootClassLoader = getRootClassLoader(); - // Load a byte code - byte[] byteCode = getByteCode("/org/xerial/snappy/SnappyNativeLoader.bytecode"); - // In addition, we need to load the other dependent classes (e.g., SnappyNative and SnappyException) using the system class loader - final String[] classesToPreload = new String[] { "org.xerial.snappy.SnappyNativeAPI", - "org.xerial.snappy.SnappyNative", "org.xerial.snappy.SnappyErrorCode" }; - List preloadClassByteCode = new ArrayList(classesToPreload.length); - for (String each : classesToPreload) { - preloadClassByteCode.add(getByteCode(String.format("/%s.class", each.replaceAll("\\.", "/")))); - } - - // Create SnappyNativeLoader class from a byte code - Class< ? > classLoader = Class.forName("java.lang.ClassLoader"); - Method defineClass = classLoader.getDeclaredMethod("defineClass", new Class[] { String.class, byte[].class, - int.class, int.class, ProtectionDomain.class }); - - ProtectionDomain pd = System.class.getProtectionDomain(); - - // ClassLoader.defineClass is a protected method, so we have to make it accessible - defineClass.setAccessible(true); - try { - // Create a new class using a ClassLoader#defineClass - defineClass.invoke(rootClassLoader, nativeLoaderClassName, byteCode, 0, byteCode.length, pd); - - // And also define dependent classes in the root class loader - for (int i = 0; i < classesToPreload.length; ++i) { - byte[] b = preloadClassByteCode.get(i); - defineClass.invoke(rootClassLoader, classesToPreload[i], b, 0, b.length, pd); - } - } - finally { - // Reset the accessibility to defineClass method - defineClass.setAccessible(false); - } - - // Load the SnappyNativeLoader class - return rootClassLoader.loadClass(nativeLoaderClassName); - - } - catch (Exception e) { - e.printStackTrace(System.err); - throw new SnappyError(SnappyErrorCode.FAILED_TO_LOAD_NATIVE_LIBRARY, e.getMessage()); - } - - } - - /** - * Load snappy-java's native code using load method of the - * SnappyNativeLoader class injected to the root class loader. - * - * @param loaderClass - * @throws SecurityException - * @throws NoSuchMethodException - * @throws IllegalArgumentException - * @throws IllegalAccessException - * @throws InvocationTargetException - */ - private static void loadNativeLibrary(Class< ? > loaderClass) throws SecurityException, NoSuchMethodException, - IllegalArgumentException, IllegalAccessException, InvocationTargetException { - if (loaderClass == null) - throw new SnappyError(SnappyErrorCode.FAILED_TO_LOAD_NATIVE_LIBRARY, "missing snappy native loader class"); + private static void loadNativeLibrary() { File nativeLib = findNativeLibrary(); if (nativeLib != null) { - // Load extracted or specified snappyjava native library. - Method loadMethod = loaderClass.getDeclaredMethod("load", new Class[] { String.class }); - loadMethod.invoke(null, nativeLib.getAbsolutePath()); + // Load extracted or specified snappyjava native library. + System.load(nativeLib.getAbsolutePath()); } else { - // Load preinstalled snappyjava (in the path -Djava.library.path) - Method loadMethod = loaderClass.getDeclaredMethod("loadLibrary", new Class[] { String.class }); - loadMethod.invoke(null, "snappyjava"); + // Load preinstalled snappyjava (in the path -Djava.library.path) + System.loadLibrary("snappyjava"); } } + + /** * Computes the MD5 value of the input stream * @@ -379,35 +228,14 @@ public class SnappyLoader */ private static File extractLibraryFile(String libFolderForCurrentOS, String libraryFileName, String targetFolder) { String nativeLibraryFilePath = libFolderForCurrentOS + "/" + libraryFileName; - final String prefix = "snappy-" + getVersion() + "-"; - String extractedLibFileName = prefix + libraryFileName; - File extractedLibFile = new File(targetFolder, extractedLibFileName); + // Attach UUID to the native library file to ensure multiple class loaders can read the libsnappy-java multiple times. + String uuid = UUID.randomUUID().toString(); + String extractedLibFileName = String.format("snappy-%s-%s-%s", getVersion(), uuid, libraryFileName); + File extractedLibFile = new File(targetFolder, extractedLibFileName); + // Delete extracted lib file on exit. + extractedLibFile.deleteOnExit(); try { - if (extractedLibFile.exists()) { - // Compare the native library contents - InputStream nativeIn = SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath); - InputStream extractedLibIn = new FileInputStream(extractedLibFile); - try { - if(contentsEquals(nativeIn, extractedLibIn)) { - return new File(targetFolder, extractedLibFileName); - } - else { - // remove old native library file - boolean deletionSucceeded = extractedLibFile.delete(); - if (!deletionSucceeded) { - throw new IOException("failed to remove existing native library file: " - + extractedLibFile.getAbsolutePath()); - } - } - } - finally { - if(nativeIn != null) - nativeIn.close(); - if(extractedLibIn != null) - extractedLibIn.close(); - } - } // Extract a native library file into the target directory InputStream reader = SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath); @@ -435,6 +263,22 @@ public class SnappyLoader catch (Throwable e) {} } + // Check the contents + { + InputStream nativeIn = SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath); + InputStream extractedLibIn = new FileInputStream(extractedLibFile); + try { + if(!contentsEquals(nativeIn, extractedLibIn)) + throw new SnappyError(SnappyErrorCode.FAILED_TO_LOAD_NATIVE_LIBRARY, String.format("Failed to write a native library file at %s", extractedLibFile)); + } + finally { + if(nativeIn != null) + nativeIn.close(); + if(extractedLibIn != null) + extractedLibIn.close(); + } + } + return new File(targetFolder, extractedLibFileName); } catch (IOException e) { @@ -485,7 +329,7 @@ public class SnappyLoader throw new SnappyError(SnappyErrorCode.FAILED_TO_LOAD_NATIVE_LIBRARY, errorMessage); } - // Temporary library folder. Use the value of org.xerial.snappy.tempdir or java.io.tmpdir + // Temporary folder for the native lib. Use the value of org.xerial.snappy.tempdir or java.io.tmpdir String tempFolder = new File(System.getProperty(KEY_SNAPPY_TEMPDIR, System.getProperty("java.io.tmpdir"))).getAbsolutePath(); @@ -500,8 +344,6 @@ public class SnappyLoader - - /** * Get the snappy-java version by reading pom.properties embedded in jar. * This version data is used as a suffix of a dll file extracted from the From 1c3c5653527a8cd994c5e9c5125b3fe5e847e3ac Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 15:47:05 +0900 Subject: [PATCH 19/48] Removed md5sum code, which will no longer be used --- .../java/org/xerial/snappy/SnappyLoader.java | 33 ------------------- 1 file changed, 33 deletions(-) diff --git a/src/main/java/org/xerial/snappy/SnappyLoader.java b/src/main/java/org/xerial/snappy/SnappyLoader.java index 5f8f7f4..83bb252 100755 --- a/src/main/java/org/xerial/snappy/SnappyLoader.java +++ b/src/main/java/org/xerial/snappy/SnappyLoader.java @@ -26,9 +26,6 @@ package org.xerial.snappy; import java.io.*; import java.net.URL; -import java.security.DigestInputStream; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; import java.util.Enumeration; import java.util.Properties; import java.util.UUID; @@ -170,36 +167,6 @@ public class SnappyLoader } - - /** - * Computes the MD5 value of the input stream - * - * @param input - * @return - * @throws IOException - * @throws NoSuchAlgorithmException - */ - static String md5sum(InputStream input) throws IOException { - BufferedInputStream in = new BufferedInputStream(input); - try { - MessageDigest digest = java.security.MessageDigest.getInstance("MD5"); - DigestInputStream digestInputStream = new DigestInputStream(in, digest); - for (; digestInputStream.read() >= 0;) { - - } - ByteArrayOutputStream md5out = new ByteArrayOutputStream(); - md5out.write(digest.digest()); - return md5out.toString(); - } - catch (NoSuchAlgorithmException e) { - throw new IllegalStateException("MD5 algorithm is not available: " + e); - } - finally { - in.close(); - } - } - - private static boolean contentsEquals(InputStream in1, InputStream in2) throws IOException { if(!(in1 instanceof BufferedInputStream)) { in1 = new BufferedInputStream(in1); From 2891c692c05854af0f6cb64165ab82779a5d68e9 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 15:55:58 +0900 Subject: [PATCH 20/48] Removed SnappyNativeAPI, since native loader injection is no longer necessary --- src/main/java/org/xerial/snappy/Snappy.java | 40 +++++----- .../java/org/xerial/snappy/SnappyLoader.java | 10 +-- .../java/org/xerial/snappy/SnappyNative.java | 5 +- .../org/xerial/snappy/SnappyNativeAPI.java | 76 ------------------- .../org/xerial/snappy/SnappyLoaderTest.java | 19 ++--- 5 files changed, 34 insertions(+), 116 deletions(-) delete mode 100755 src/main/java/org/xerial/snappy/SnappyNativeAPI.java diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index 6dee2e3..cca16b5 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -52,9 +52,9 @@ public class Snappy } /** - * An instance of SnappyNativeAPI + * An instance of SnappyNative */ - private static Object impl; + private static SnappyNative impl; /** * Copy bytes from source to destination @@ -73,7 +73,7 @@ public class Snappy */ public static void arrayCopy(Object src, int offset, int byteLength, Object dest, int dest_offset) throws IOException { - ((SnappyNativeAPI) impl).arrayCopy(src, offset, byteLength, dest, dest_offset); + impl.arrayCopy(src, offset, byteLength, dest, dest_offset); } /** @@ -134,7 +134,7 @@ public class Snappy // output: compressed int uPos = uncompressed.position(); int uLen = uncompressed.remaining(); - int compressedSize = ((SnappyNativeAPI) impl).rawCompress(uncompressed, uPos, uLen, compressed, + int compressedSize = impl.rawCompress(uncompressed, uPos, uLen, compressed, compressed.position()); // pos limit @@ -283,7 +283,7 @@ public class Snappy public static boolean isValidCompressedBuffer(byte[] input, int offset, int length) throws IOException { if (input == null) throw new NullPointerException("input is null"); - return ((SnappyNativeAPI) impl).isValidCompressedBuffer(input, offset, length); + return impl.isValidCompressedBuffer(input, offset, length); } /** @@ -303,7 +303,7 @@ public class Snappy * factor of four faster than actual decompression. */ public static boolean isValidCompressedBuffer(ByteBuffer compressed) throws IOException { - return ((SnappyNativeAPI) impl).isValidCompressedBuffer(compressed, compressed.position(), + return impl.isValidCompressedBuffer(compressed, compressed.position(), compressed.remaining()); } @@ -316,7 +316,7 @@ public class Snappy * @return maximum byte size of the compressed data */ public static int maxCompressedLength(int byteSize) { - return ((SnappyNativeAPI) impl).maxCompressedLength(byteSize); + return impl.maxCompressedLength(byteSize); } /** @@ -330,7 +330,7 @@ public class Snappy */ public static byte[] rawCompress(Object data, int byteSize) { byte[] buf = new byte[Snappy.maxCompressedLength(byteSize)]; - int compressedByteSize = ((SnappyNativeAPI) impl).rawCompress(data, 0, byteSize, buf, 0); + int compressedByteSize = impl.rawCompress(data, 0, byteSize, buf, 0); byte[] result = new byte[compressedByteSize]; System.arraycopy(buf, 0, result, 0, compressedByteSize); return result; @@ -358,7 +358,7 @@ public class Snappy if (input == null || output == null) throw new NullPointerException("input or output is null"); - int compressedSize = ((SnappyNativeAPI) impl) + int compressedSize = impl .rawCompress(input, inputOffset, inputLength, output, outputOffset); return compressedSize; } @@ -391,7 +391,7 @@ public class Snappy throws IOException { if (input == null || output == null) throw new NullPointerException("input or output is null"); - return ((SnappyNativeAPI) impl).rawUncompress(input, inputOffset, inputLength, output, outputOffset); + return impl.rawUncompress(input, inputOffset, inputLength, output, outputOffset); } /** @@ -463,7 +463,7 @@ public class Snappy // pos limit // [ ......UUUUUU.........] - int decompressedSize = ((SnappyNativeAPI) impl).rawUncompress(compressed, cPos, cLen, uncompressed, + int decompressedSize = impl.rawUncompress(compressed, cPos, cLen, uncompressed, uncompressed.position()); uncompressed.limit(uncompressed.position() + decompressedSize); @@ -493,7 +493,7 @@ public class Snappy public static char[] uncompressCharArray(byte[] input, int offset, int length) throws IOException { int uncompressedLength = Snappy.uncompressedLength(input, offset, length); char[] result = new char[uncompressedLength / 2]; - int byteSize = ((SnappyNativeAPI) impl).rawUncompress(input, offset, length, result, 0); + int byteSize = impl.rawUncompress(input, offset, length, result, 0); return result; } @@ -507,7 +507,7 @@ public class Snappy public static double[] uncompressDoubleArray(byte[] input) throws IOException { int uncompressedLength = Snappy.uncompressedLength(input, 0, input.length); double[] result = new double[uncompressedLength / 8]; - int byteSize = ((SnappyNativeAPI) impl).rawUncompress(input, 0, input.length, result, 0); + int byteSize = impl.rawUncompress(input, 0, input.length, result, 0); return result; } @@ -522,7 +522,7 @@ public class Snappy * {@link SnappyErrorCode#PARSING_ERROR} */ public static int uncompressedLength(byte[] input) throws IOException { - return ((SnappyNativeAPI) impl).uncompressedLength(input, 0, input.length); + return impl.uncompressedLength(input, 0, input.length); } /** @@ -541,7 +541,7 @@ public class Snappy if (input == null) throw new NullPointerException("input is null"); - return ((SnappyNativeAPI) impl).uncompressedLength(input, offset, length); + return impl.uncompressedLength(input, offset, length); } /** @@ -561,7 +561,7 @@ public class Snappy if (!compressed.isDirect()) throw new SnappyError(SnappyErrorCode.NOT_A_DIRECT_BUFFER, "input is not a direct buffer"); - return ((SnappyNativeAPI) impl).uncompressedLength(compressed, compressed.position(), compressed.remaining()); + return impl.uncompressedLength(compressed, compressed.position(), compressed.remaining()); } /** @@ -587,7 +587,7 @@ public class Snappy public static float[] uncompressFloatArray(byte[] input, int offset, int length) throws IOException { int uncompressedLength = Snappy.uncompressedLength(input, offset, length); float[] result = new float[uncompressedLength / 4]; - int byteSize = ((SnappyNativeAPI) impl).rawUncompress(input, offset, length, result, 0); + int byteSize = impl.rawUncompress(input, offset, length, result, 0); return result; } @@ -614,7 +614,7 @@ public class Snappy public static int[] uncompressIntArray(byte[] input, int offset, int length) throws IOException { int uncompressedLength = Snappy.uncompressedLength(input, offset, length); int[] result = new int[uncompressedLength / 4]; - int byteSize = ((SnappyNativeAPI) impl).rawUncompress(input, offset, length, result, 0); + int byteSize = impl.rawUncompress(input, offset, length, result, 0); return result; } @@ -641,7 +641,7 @@ public class Snappy public static long[] uncompressLongArray(byte[] input, int offset, int length) throws IOException { int uncompressedLength = Snappy.uncompressedLength(input, offset, length); long[] result = new long[uncompressedLength / 8]; - int byteSize = ((SnappyNativeAPI) impl).rawUncompress(input, offset, length, result, 0); + int byteSize = impl.rawUncompress(input, offset, length, result, 0); return result; } @@ -668,7 +668,7 @@ public class Snappy public static short[] uncompressShortArray(byte[] input, int offset, int length) throws IOException { int uncompressedLength = Snappy.uncompressedLength(input, offset, length); short[] result = new short[uncompressedLength / 2]; - int byteSize = ((SnappyNativeAPI) impl).rawUncompress(input, offset, length, result, 0); + int byteSize = impl.rawUncompress(input, offset, length, result, 0); return result; } diff --git a/src/main/java/org/xerial/snappy/SnappyLoader.java b/src/main/java/org/xerial/snappy/SnappyLoader.java index 83bb252..1e234e0 100755 --- a/src/main/java/org/xerial/snappy/SnappyLoader.java +++ b/src/main/java/org/xerial/snappy/SnappyLoader.java @@ -81,14 +81,14 @@ public class SnappyLoader public static final String KEY_SNAPPY_DISABLE_BUNDLED_LIBS = "org.xerial.snappy.disable.bundled.libs"; // Depreciated, but preserved for backward compatibility private static volatile boolean isLoaded = false; - private static volatile Object api = null; + private static volatile SnappyNative api = null; /** * Set the api instance. * * @param nativeCode */ - static synchronized void setApi(Object nativeCode) + static synchronized void setApi(SnappyNative nativeCode) { api = nativeCode; } @@ -129,7 +129,7 @@ public class SnappyLoader loadSnappySystemProperties(); } - static synchronized Object load() + static synchronized SnappyNative load() { if (api != null) return api; @@ -137,10 +137,8 @@ public class SnappyLoader try { loadNativeLibrary(); + setApi(new SnappyNative()); isLoaded = true; - // Look up SnappyNative, injected to the root classloder, using reflection in order to avoid the initialization of SnappyNative class in this context class loader. - Object nativeCode = Class.forName("org.xerial.snappy.SnappyNative").newInstance(); - setApi(nativeCode); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/org/xerial/snappy/SnappyNative.java b/src/main/java/org/xerial/snappy/SnappyNative.java index 9b42064..0a53d56 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.java +++ b/src/main/java/org/xerial/snappy/SnappyNative.java @@ -28,8 +28,7 @@ import java.io.IOException; import java.nio.ByteBuffer; /** - * Internal only - Do not use this class. JNI interface of the - * {@link SnappyNativeAPI} implementation. The native method in this class is + * JNI interface of the {@link Snappy} implementation. The native method in this class is * defined in SnappyNative.h (genereted by javah) and SnappyNative.cpp * *

@@ -40,7 +39,7 @@ import java.nio.ByteBuffer; * @author leo * */ -public class SnappyNative implements SnappyNativeAPI +public class SnappyNative { public native String nativeLibraryVersion(); diff --git a/src/main/java/org/xerial/snappy/SnappyNativeAPI.java b/src/main/java/org/xerial/snappy/SnappyNativeAPI.java deleted file mode 100755 index 6bf9fcc..0000000 --- a/src/main/java/org/xerial/snappy/SnappyNativeAPI.java +++ /dev/null @@ -1,76 +0,0 @@ -/*-------------------------------------------------------------------------- - * Copyright 2011 Taro L. Saito - * - * 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 - * - * http://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. - *--------------------------------------------------------------------------*/ -//-------------------------------------- -// snappy-java Project -// -// SnappyNative.java -// Since: 2011/03/30 -// -// $URL$ -// $Author$ -//-------------------------------------- -package org.xerial.snappy; - -import java.io.IOException; -import java.nio.ByteBuffer; - -/** - * Internal only - Do not use this class. - * - * Interface to access the native code of Snappy. Although this class members - * are public, do not use them directly. Use {@link Snappy} API instead. - * - * - * @author leo - * - */ -public interface SnappyNativeAPI -{ - - public String nativeLibraryVersion(); - - // ------------------------------------------------------------------------ - // Generic compression/decompression routines. - // ------------------------------------------------------------------------ - public int rawCompress(ByteBuffer input, int inputOffset, int inputLength, ByteBuffer compressed, int outputOffset) - throws IOException; - - public int rawCompress(Object input, int inputOffset, int inputByteLength, Object output, int outputOffset); - - public int rawUncompress(ByteBuffer compressed, int inputOffset, int inputLength, ByteBuffer uncompressed, - int outputOffset) throws IOException; - - public int rawUncompress(Object input, int inputOffset, int inputLength, Object output, int outputOffset) - throws IOException; - - // Returns the maximal size of the compressed representation of - // input data that is "source_bytes" bytes in length; - public int maxCompressedLength(int source_bytes); - - // This operation takes O(1) time. - public int uncompressedLength(ByteBuffer compressed, int offset, int len) throws IOException; - - public int uncompressedLength(Object input, int offset, int len) throws IOException; - - public boolean isValidCompressedBuffer(ByteBuffer compressed, int offset, int len) throws IOException; - - public boolean isValidCompressedBuffer(Object input, int offset, int len) throws IOException; - - public void arrayCopy(Object src, int offset, int byteLength, Object dest, int dOffset) throws IOException; - - public void throw_error(int errorCode) throws IOException; - -} diff --git a/src/test/java/org/xerial/snappy/SnappyLoaderTest.java b/src/test/java/org/xerial/snappy/SnappyLoaderTest.java index 81ecd53..9bcc85f 100755 --- a/src/test/java/org/xerial/snappy/SnappyLoaderTest.java +++ b/src/test/java/org/xerial/snappy/SnappyLoaderTest.java @@ -24,23 +24,20 @@ //-------------------------------------- package org.xerial.snappy; -import static org.junit.Assert.*; - -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.lang.reflect.Method; -import java.net.URL; -import java.net.URLClassLoader; - import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.junit.Test; import org.xerial.util.FileResource; import org.xerial.util.log.Logger; +import java.io.*; +import java.lang.reflect.Method; +import java.net.URL; +import java.net.URLClassLoader; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.fail; + public class SnappyLoaderTest { private static Logger _logger = Logger.getLogger(SnappyLoaderTest.class); From a48529731dc8acdad93271947f7c836f5d7f508a Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 16:07:46 +0900 Subject: [PATCH 21/48] Add Snappy.cleanUp method for J2EE containers. #27 --- src/main/java/org/xerial/snappy/Snappy.java | 13 +++++++++++++ src/main/java/org/xerial/snappy/SnappyLoader.java | 15 +++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index cca16b5..3c6f409 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -56,6 +56,19 @@ public class Snappy */ private static SnappyNative impl; + + /** + * Clean up a temporary file (native lib) generated by snappy-java. + * General users do not need to call this method, since the native library extracted in snappy-java + * is deleted upon JVM termination (vie deleteOnExit()). + * This method is useful when using a J2EE container, which will restart servlet containers multiple times without + * restarting JVM. + */ + static void cleanUp() { + SnappyLoader.cleanUpExtractedNativeLib(); + } + + /** * Copy bytes from source to destination * diff --git a/src/main/java/org/xerial/snappy/SnappyLoader.java b/src/main/java/org/xerial/snappy/SnappyLoader.java index 1e234e0..d60f82d 100755 --- a/src/main/java/org/xerial/snappy/SnappyLoader.java +++ b/src/main/java/org/xerial/snappy/SnappyLoader.java @@ -82,7 +82,14 @@ public class SnappyLoader private static volatile boolean isLoaded = false; private static volatile SnappyNative api = null; - + + private static File nativeLibFile = null; + + static void cleanUpExtractedNativeLib() { + if(nativeLibFile != null && nativeLibFile.exists()) + nativeLibFile.delete(); + } + /** * Set the api instance. * @@ -153,10 +160,10 @@ public class SnappyLoader */ private static void loadNativeLibrary() { - File nativeLib = findNativeLibrary(); - if (nativeLib != null) { + nativeLibFile = findNativeLibrary(); + if (nativeLibFile != null) { // Load extracted or specified snappyjava native library. - System.load(nativeLib.getAbsolutePath()); + System.load(nativeLibFile.getAbsolutePath()); } else { // Load preinstalled snappyjava (in the path -Djava.library.path) From b7755bf93dcbdcb12f3d736b754b7d1d1c69f74d Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 16:09:29 +0900 Subject: [PATCH 22/48] Add a cleanup phase for OSGi container --- src/main/java/org/xerial/snappy/SnappyBundleActivator.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/xerial/snappy/SnappyBundleActivator.java b/src/main/java/org/xerial/snappy/SnappyBundleActivator.java index f36a4f5..1055f58 100755 --- a/src/main/java/org/xerial/snappy/SnappyBundleActivator.java +++ b/src/main/java/org/xerial/snappy/SnappyBundleActivator.java @@ -24,12 +24,12 @@ //-------------------------------------- package org.xerial.snappy; -import java.util.jar.Manifest; - import org.osgi.framework.Bundle; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import java.util.jar.Manifest; + /** * OSGi bundle entry point * @@ -56,5 +56,6 @@ public class SnappyBundleActivator implements BundleActivator public void stop(BundleContext context) throws Exception { SnappyLoader.setApi(null); + Snappy.cleanUp(); } } From 640f626c3670dbe97c17fe696e2366c5a5d0342c Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 16:18:24 +0900 Subject: [PATCH 23/48] Fix OSGi settings in pom.xml --- pom.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pom.xml b/pom.xml index 93d294d..cf4653f 100755 --- a/pom.xml +++ b/pom.xml @@ -182,14 +182,6 @@ org.osgi.framework;version="[1.5,2)" lazy -<<<<<<< HEAD - org/xerial/snappy/native/Windows/amd64/snappyjava.dll;osname=win32;processor=x86-64, - org/xerial/snappy/native/Windows/x86/snappyjava.dll;osname=win32;processor=x86, - org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;osname=macosx;processor=x86-64, - org/xerial/snappy/native/Linux/amd64/libsnappyjava.so;osname=linux;processor=x86-64, - org/xerial/snappy/native/Linux/i386/libsnappyjava.so;osname=linux;processor=x86, - org/xerial/snappy/native/Linux/arm/libsnappyjava.so;osname=linux;processor=arm -======= org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(osgi.arch=x86_64)(osgi.os=win32))", org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(osgi.arch=x86)(osgi.os=win32))", org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86)(osgi.os=macosx))", @@ -197,7 +189,6 @@ org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86_64)(osgi.os=linux))", org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=linux))", org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(osgi.arch=arm)(osgi.os=linux))" ->>>>>>> feature/lib-loader From 171775e92bb1a8e9a2de73f253bfa37738596c88 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 16:50:58 +0900 Subject: [PATCH 24/48] Add a file permission setting code sample for Java6 --- src/main/java/org/xerial/snappy/SnappyLoader.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/xerial/snappy/SnappyLoader.java b/src/main/java/org/xerial/snappy/SnappyLoader.java index 0f07ae7..61c9252 100755 --- a/src/main/java/org/xerial/snappy/SnappyLoader.java +++ b/src/main/java/org/xerial/snappy/SnappyLoader.java @@ -207,8 +207,8 @@ public class SnappyLoader File extractedLibFile = new File(targetFolder, extractedLibFileName); // Delete extracted lib file on exit. extractedLibFile.deleteOnExit(); - try { + try { // Extract a native library file into the target directory InputStream reader = SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath); FileOutputStream writer = new FileOutputStream(extractedLibFile); @@ -231,11 +231,17 @@ public class SnappyLoader try { Runtime.getRuntime().exec(new String[] { "chmod", "755", extractedLibFile.getAbsolutePath() }) .waitFor(); + + // Use following methods added since Java6 (If discarding Java5 is acceptable) + //extractedLibFile.setReadable(true); + //extractedLibFile.setWritable(true, true); + //extractedLibFile.setExecutable(true); } catch (Throwable e) {} } - // Check the contents + + // Check whether the contents are properly copied from the resource folder { InputStream nativeIn = SnappyLoader.class.getResourceAsStream(nativeLibraryFilePath); InputStream extractedLibIn = new FileInputStream(extractedLibFile); From fed7278fcd4fb85bc7b691e6918ce6ff6f933d52 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 17:00:54 +0900 Subject: [PATCH 25/48] Fix #29. Need to recreate native libraries for all OSes --- .../java/org/xerial/snappy/SnappyNative.cpp | 13 +++++++++++++ .../java/org/xerial/snappy/SnappyNative.h | 8 ++++++++ .../java/org/xerial/snappy/SnappyNative.java | 2 ++ .../native/Mac/x86_64/libsnappyjava.jnilib | Bin 48156 -> 48244 bytes 4 files changed, 23 insertions(+) diff --git a/src/main/java/org/xerial/snappy/SnappyNative.cpp b/src/main/java/org/xerial/snappy/SnappyNative.cpp index f3d1f51..78af982 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.cpp +++ b/src/main/java/org/xerial/snappy/SnappyNative.cpp @@ -270,6 +270,19 @@ JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressed return ret; } +JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressedBuffer__JJJ + (JNIEnv * env, jobject self, jlong inputAddr, jlong offset, jlong length) +{ + if(inputAddr == 0) { + // out of memory + throw_exception(env, self, 4); + return 0; + } + bool ret = snappy::IsValidCompressedBuffer((char*) (inputAddr + offset), (size_t) length); + return ret; +} + + JNIEXPORT void JNICALL Java_org_xerial_snappy_SnappyNative_arrayCopy (JNIEnv * env, jobject self, jobject input, jint offset, jint length, jobject output, jint output_offset) { diff --git a/src/main/java/org/xerial/snappy/SnappyNative.h b/src/main/java/org/xerial/snappy/SnappyNative.h index 477d30a..d1f3e58 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.h +++ b/src/main/java/org/xerial/snappy/SnappyNative.h @@ -111,6 +111,14 @@ JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressed JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressedBuffer__Ljava_lang_Object_2II (JNIEnv *, jobject, jobject, jint, jint); +/* + * Class: org_xerial_snappy_SnappyNative + * Method: isValidCompressedBuffer + * Signature: (JJJ)Z + */ +JNIEXPORT jboolean JNICALL Java_org_xerial_snappy_SnappyNative_isValidCompressedBuffer__JJJ + (JNIEnv *, jobject, jlong, jlong, jlong); + /* * Class: org_xerial_snappy_SnappyNative * Method: arrayCopy diff --git a/src/main/java/org/xerial/snappy/SnappyNative.java b/src/main/java/org/xerial/snappy/SnappyNative.java index 7e9dbb2..b95e213 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.java +++ b/src/main/java/org/xerial/snappy/SnappyNative.java @@ -76,6 +76,8 @@ public class SnappyNative public native boolean isValidCompressedBuffer(Object input, int offset, int len) throws IOException; + public native boolean isValidCompressedBuffer(long inputAddr, long offset, long len) throws IOException; + public native void arrayCopy(Object src, int offset, int byteLength, Object dest, int dOffset) throws IOException; public void throw_error(int errorCode) throws IOException { diff --git a/src/main/resources/org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib b/src/main/resources/org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib index 392e03b036c2d524c3d42248fcb1ae9c03fc01bf..b9a2085626ceb0272f3ce6ad4e56e07dfae347e6 100755 GIT binary patch delta 7193 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 delta 6797 zcmaJ`30PEDvOf3P4c!W|$PPlIY>GmovbnHC(2IiNjteN_pySMQnI~?E={9aOEznp- zQ4!Io(HUdVR-?SAZCs*e#=(plqlrPYwZ<4sj1tF5zdE-rF8#jm-OsMSs{X1vbE00rGJ6Sx z5eBFb(!BDGWPaL#Fdse_(tRUVl4TJIxh=wc*I<~YRza>9;%i$?jE@q*ZM7UxE9$(j zloQ*a40fd)sZg+sI^V?=M3wsza=U|^*r--n2X)FHZmLXdP60Vn^oSFTxIFSD@gTs+I#u53x8H4pKg?m6Zm8cDdG zV;Z8FoLN+O+M5tFTo?r#;JFUcg?_?*p=WKqF(_Qhk=X7~tkCb~^ z(VkTLB5Cf6AUS5LlU?1O)8|Fb>uaH}&--H0EbBKug@QJC7-M#qnT)}_UVbpmZ>+dy z4jl1I5KopuwZH#5|15DzDGc!+Dh6^#rr{CBN|lK_5t>4A<4Be6KcH@Z;}2XPbd~5; zobE>SO->gQeT3*zPA3!n8K={bF7*h@qBR^Nt+-!+>))^jYp$?)N~Y{a$+YaKWGaJ^ z0jtF|L*cW4M7R8*m^okuiliA35cpo;#v!P`Rf47D+r!HQU>UX=ZUqi@9l+VB5{L=< zK0RE^qrlv-2YoKV=HY7R0*~pG~E6bZJe)VC5#A8 zb8W_M?f+8@5IiTe5Sbj)YQ6z;O;2-7=S*EB;nRf2xuz%f>SAkHh*=OHPqpsrnkI;i zMb`VF;bM?uDzBC}vk2GXIBry|+=ecD`V@!`FHQLg{YbZQx`1eJPM@62*r^t=yo2O8 zEt#{==a#f$Z<4vJG1v67{maR4HayIbPqi(Dm^=~>BGw+klV@Qv-lYVh=W{y$B|3*_ zZyGw74?Uac0jS%168#I&eR=k1qEmSBPDEcRVg}y159f=BAI16mljOk=@UQ|RpkF{Jkq9YTaM|>@JgR_z9YZ4Cr*GRQ9Z;D$HUI3 z!%@GD!;lrn8=g2EY=N6(mNom=+-qKDlU6wvsO?wBfg!qA$9K6C55nFQI2;`os9DT2 z<@0$R&u0ssPdlEsnnmzq^ypxB47O|JjMGx(vg`Ia_*KiZRVgqjCN;=9mWl!5%crb* zEW8&JCN3QdmttNE8p|h8nK%QX>3w|Q;7(qMx_#hSYtJ4_g&=u=%EV?Y(uBvB^J+fu zp3(1|=qZTxlff3-J#+~!kH-gY!z9y1Y55)2#z(#;oqC|f!%#RGgkGPDrUJOyD_ks{ z1Z};hh?+?-zISi2Yd);%T_)}x3D0`p2}&C!_p%`$$GS=e1!PRXjl=yIc|Z5e+RAlv203?ISeN` zax@hfBNs@KoxT&%i3N&A!&~}D@sJkw>Z1e=H0#q`@e7E5X+l*(hEN3mOz_i`${o7@ z34Tn75>IKsw~tPI_d7`LGbL;jc8xb*=`Jn-g=}PbNx$s!I#Nlwz*~mr$*JK#+*ng(O zLKD#0JXVgzxMOOZ#oc7o%-PL%Uqkc=Gop(@bCSQIeHC*|pV1;dNh)c^6_rZLaIy26?Gt`-;9YNTIM;NqeeK#Cesx801%BA2OrO75X2RLj zv*PFnu(p4?XYox3?nS;G@gCT_v{-NUzv*EZHv!*?Zew8lXm z=w)S#&Z%8c!Bj@@RFbVn1P=)81a}C&Ah<@*OmLCl48aM4qa3`>sSlF5k6^cT;lx0d zu*_;H{6yt;AsxFj4be-c#1k-cdam327miXmIlaGI>aovQC!uvTTs$4q5J$ zy`yxlfk+W!Y$u;h-!J$?^zFJe8GQf7IdEfalw|$1A(u<+_UWZ@J#KUiRPS z`hC*B5aNW>I#szNdB>gPcYe_%F^|hoQ=em*fV_aWA z`eClmBK-i@r;z?0*Yio=%k?bMcX2(1^ugP?(Tj|&T-TAliR(V3zs+?G=`~z`2J-AH zx!wxa&c;>9|oBw8=6Cz>%1^@>M$alxq5cP-4xA)mKf%0#Gl>`{aA?#4XkrW?To3%(xc^OQc_g*tR(n3|ku~{6(f_pkuU5tw*g-Iov?X zPj);)$Ky57zcNm|wgzS+G_8Tnl|!^|t)USQVpn0Hsp=AX+>0?!Pd8VM1xMqxp7l_%E>2|i(1g&k74EHz6H*`$ z;G zGdd5O*7tSiciXs~lH#yvta}}L7VjX>A7#%K^fbOh9xZsijRWr_>tFJ~S$OL7yU6n{ zdZMA_ZJpM0H+drE9o}xa^Bpd9^89GdEqu>FU~;8eEqN)u7GKn=>HZ~-M&t;dEg zLI3(Bt!FbeG!eYEg+WWLO3ja025hhAt8f_uQ?5hDZE?aLNZpo<-Ob+?uhre4q@9@5 zT^)flXn@Pxh8o)cc&azhJ{zc@q~KTurz!Yn1s5y0QbCJ?bqelL@Q{Kw1^=$#bwUIC zMsc(%_)I~Kks9(*P^Vxo1ydBvQjjT^=XO#a;6s96Hx%5XV7-E#GK-rq9|E_BP5g^d zwx0{5Ql^_PxjHMjKuLd7L5qUziBuM!3P$qa9o_CPHX8X~iM#2QqT`ifuPNA`Jlltd zc{eCw6$-u37u`|Tj2)7PXp4c01F2pXu~}#kEJB0WDm03%q6MxUn1qvYhlGRv20cEe z_=Rt2%tOGv(MLAf8pZbH1YWoB!}(UdY%+h;x!tVTqZC{Ii!+9-QS8s5Hd?EX3`Me#Bo?>}iQ)hv2?N8voH1 z>tqj*ZNrOz5l#VxPWC(}+vsH1IN3*?>^rh;eBRJKZX4JO$Ingyzfl2P2fAFaYgK7zOnTdf?JQ#^C_3095c@kKucs{2wBr eaQSeurYl2F4>%ka$G0o;>ot`hNje7fO`? From ae0a3e4d49bbc93e4b9c14912dd39ccae721b8ec Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 17:02:16 +0900 Subject: [PATCH 26/48] Add isValidCompressedBuffer for raw memory addresses --- src/main/java/org/xerial/snappy/Snappy.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index bfaf175..3e6b316 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -320,6 +320,17 @@ public class Snappy compressed.remaining()); } + /** + * Returns true iff the contents of compressed buffer [offset, + * offset+length) can be uncompressed successfully. Does not return the + * uncompressed data. Takes time proportional to the input length, but is + * usually at least a factor of four faster than actual decompression. + */ + public static boolean isValidCompressedBuffer(long inputAddr, long offset, long length) throws IOException { + return impl.isValidCompressedBuffer(inputAddr, offset, length); + } + + /** * Get the maximum byte size needed for compressing data of the given byte * size. From 9671c812240d38bf4eb8d3acf44fa43df834150f Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 17:07:02 +0900 Subject: [PATCH 27/48] Removed the note on JNI injection --- README.md | 2 +- src/main/java/org/xerial/snappy/Snappy.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6974246..226265a 100755 --- a/README.md +++ b/README.md @@ -125,7 +125,7 @@ If you are using Mac and openjdk7 (or higher), use the following option: ## Miscellaneous Notes ### Using snappy-java with Tomcat 6 (or higher) Web Server -Simply put the snappy-java's jar to WEB-INF/lib folder of your web application. Usual JNI-library specific problem no longer exists since snappy-java version 1.0.3 or higher can be loaded by multiple class loaders in the same JVM by using native code injection to the parent class loader (Issue 21). +Simply put the snappy-java's jar to WEB-INF/lib folder of your web application. Usual JNI-library specific problem no longer exists since snappy-java version 1.0.3 or higher can be loaded by multiple class loaders. ---- Snappy-java is developed by [Taro L. Saito](http://www.xerial.org/leo). Twitter [@taroleo](http://twitter.com/#!/taroleo) diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index 3e6b316..ea43f68 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -66,6 +66,7 @@ public class Snappy */ static void cleanUp() { SnappyLoader.cleanUpExtractedNativeLib(); + SnappyLoader.setApi(null); } From 3dd90fb43f0d5adb30de5659c9508a31b178ad31 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 17:23:53 +0900 Subject: [PATCH 28/48] Recompile OSInfo class for Java1.5 --- lib/org/xerial/snappy/OSInfo.class | Bin 1691 -> 3321 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/org/xerial/snappy/OSInfo.class b/lib/org/xerial/snappy/OSInfo.class index 98d832234b7792b549ede92abcc199a35010717a..3052227836339ad60e60735ddeaa8bcf73ebbb67 100755 GIT binary patch literal 3321 zcmZ`+X?q*h6@JH-rE7Tt$$%k{r3wWv3bJtQxK8YvI1Vmu?AS$#je*o1$zyqpG$TeM zFC}Gb3uSFupkTVv(xwY7PG}W3DJfm(Lf7x@&*UX|R|LK)nO=_I6?sbMUzPjU1YQ$(U0_w<4S}xZ!lKw?~1t^-#gKA=@gt zy5&ylxf0EU$vV^1tspWo*wa1JbwEK#LR2y_F~swJ(=y!wqHXPyJR7oSDRup*X&EO< z`LyAj)YCaqLV4Y^6x`JI;8v?r@V2bsp3q%$(HJ$;!**`ga3*wje%N+~N{(Y#?s!VU zjcx5)rI{AWj;BuOdD>|rJjhJ?*e=)6tzu4h4gdV4?W^`rTiUj2yQYCX8)~YmH!BkT znOr3e(Ue_sGRCkegKip6jaYMbhpeTF`@j%FiG*EL@e{lq!B18E4DYCT0MikysW^`d zOlTq@J3+;Rm{xH=rWM@m^+KSmM@yzmkcxNla|KFL#V;gZ#4dJN%z}zCPOEqbr+u2# z#{%h2Ud2VMD`;SOO3NyKiA&6$)ZQ^~%j|8x+7cBc)25XyQbAoJL-*!PYc|%ZpsO{O zkj7%IIWxVmnC~dst+6w)c|)I#B{~T$>rS>9bBG(cxmaS5Bn2&5$0)>FPwLs3!J{KH zlfx4;lI?Je5P7p^(KVc6YXp~7{0i@>xPo6t@V<)Q;J5UfAfr>xik19TadsX}iZ>#t-K2-5(FIiIz&R!}q zSz|hbt$S!n0aW}2e^s!Q@zL23r2>HgpEf^dX8ev!Q0`V_O(B- zNhY>K5Aj-MsxWy^cWixMzuBw&MiHvQz992xfuAt$edEH4d zHHMWjyfpaj;9bi5O02HDK2Z*z4WxO~u&R*hU&vTCSgW>cPQpN3bUb4ei(i2&YD{8It^2n2O;=5sws zjeEFrn4lqk5z2W23Qlnid&E1?h)GNlmaGoyJ?i23mC&0=Xm#=W17*~&V%r6T*3nQ# z_`DX`Ocavn9XCp7Lw^f3gKmWB$PQ}1l~#ArQVXA!B&Kl}PU8@#U!#0#D)zgX4*9qH zGNRKL(d3y_wQXgn>!2aEjO*5T9*jVz2EJnz4f{O*fky56b!=b9j;q-Xvh#tfu>S`Q z2vOl#O(Xm9xOPJsH?AV>No&nz+_Z{Q+RZ#04Znw-)Aiadsp*h*Yihco;-a>TZtdq! z+bx$pzLTl3b?m*fjE|HN8`$#(!rH#Ia}Z*Y* z79Jzzaej9`f#>lQ`-3lZB?G4`B~Qe)xEF3%i?78sy2a4L+J3@*8p2vL;XAcN86CBx z?nQ*|Jk6v&!{_Q*G~+pbp}xRoe-XFiEKTu!tC-qXG1a(Ljo*x~l6|Jyx5_cH%fEkL zMv~2N*Slz8mb6Z-vy1~%66~sh-8JxF4eY6bAFF}AT5naup&EF&2KLp!eyzXC`|%n$ zpbb>1ch|rp+L0=Cum&EjfkQR$m=D&j%Oq0=v~o6d5;}kwy09PJ=)pk@avkMmnZjZA vLLc(z$1?8bzYs_85{9sfV|a@*==u8w;GnmiEQaVJ|YcpHmerRc3}yj)O5pnhwuSQUt6wVp?mj=v7fUb7Z>lz);kiKFoL3MCXN#p*Zv{fjc>&n)up-yPeT@z4-fJ(j;gwc1 z^IMf-X;r=tAIcpqC4cKPc_gW0J0A$pA;5KLPch2yBoD&rZxCPUgpi=sd@#v2HN!7J zCr&dmaRz6JsOEPvZcfkEI=Ywva~iXa=t2zL9GRk*=8zur(GJlbF%C1=?K4s)#V9|R zZX`jZHoc#W)Yi`&nz8Mp%pfz=H@HQTr}|9C*+;`ZnsyloBxq|yBP^%BL3tT{0Qf>#*#Hk=KM$U0cGl>YM(28j;HpBI2k1gn; imrE Date: Tue, 13 Aug 2013 17:45:03 +0900 Subject: [PATCH 29/48] Fix for Mac-x86 --- Makefile.common | 64 +++++++++--------- .../native/Mac/x86/libsnappyjava.jnilib | Bin 43716 -> 43804 bytes 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Makefile.common b/Makefile.common index 0e022c6..bb1d6f3 100755 --- a/Makefile.common +++ b/Makefile.common @@ -33,7 +33,7 @@ endif snappy := snappy-$(VERSION) -jni_md := $(shell find -L "$(JAVA_HOME)" -name jni_md.h) +jni_md := $(shell find -L "$(JAVA_HOME)" -name jni_md.h | head -1) ifneq ($(jni_md),) jni_include := $(shell dirname "$(jni_md)") endif @@ -41,7 +41,7 @@ endif # os=Default is meant to be generic unix/linux -known_os_archs := Linux-i386 Linux-amd64 Linux-arm Linux-armhf Mac-i386 Mac-x86_64 FreeBSD-amd64 Windows-x86 Windows-amd64 +known_os_archs := Linux-x86 Linux-x86_64 Linux-arm Linux-armhf Mac-x86 Mac-x86_64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 os_arch := $(OS_NAME)-$(OS_ARCH) ifeq (,$(findstring $(strip $(os_arch)),$(known_os_archs))) @@ -58,19 +58,19 @@ Default_LINKFLAGS := -shared -static Default_LIBNAME := libsnappyjava.so Default_SNAPPY_FLAGS := -Linux-i386_CXX := $(CROSS_PREFIX)g++ -Linux-i386_STRIP := $(CROSS_PREFIX)strip -Linux-i386_CXXFLAGS := -include lib/inc_linux/jni_md.h -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden -m32 -Linux-i386_LINKFLAGS := -shared -static-libgcc -static-libstdc++ -Linux-i386_LIBNAME := libsnappyjava.so -Linux-i386_SNAPPY_FLAGS:= +Linux-x86_CXX := $(CROSS_PREFIX)g++ +Linux-x86_STRIP := $(CROSS_PREFIX)strip +Linux-x86_CXXFLAGS := -include lib/inc_linux/jni_md.h -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden -m32 +Linux-x86_LINKFLAGS := -shared -static-libgcc -static-libstdc++ +Linux-x86_LIBNAME := libsnappyjava.so +Linux-x86_SNAPPY_FLAGS:= -Linux-amd64_CXX := $(CROSS_PREFIX)g++ -Linux-amd64_STRIP := $(CROSS_PREFIX)strip -Linux-amd64_CXXFLAGS := -include lib/inc_linux/jni_md.h -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden -m64 -Linux-amd64_LINKFLAGS := -shared -static-libgcc -static-libstdc++ -Linux-amd64_LIBNAME := libsnappyjava.so -Linux-amd64_SNAPPY_FLAGS := +Linux-x86_64_CXX := $(CROSS_PREFIX)g++ +Linux-x86_64_STRIP := $(CROSS_PREFIX)strip +Linux-x86_64_CXXFLAGS := -include lib/inc_linux/jni_md.h -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden -m64 +Linux-x86_64_LINKFLAGS := -shared -static-libgcc -static-libstdc++ +Linux-x86_64_LIBNAME := libsnappyjava.so +Linux-x86_64_SNAPPY_FLAGS := # '-include lib/inc_linux/jni_md.h' is used to force the use of our version, # which defines JNIEXPORT differently; otherwise, since OpenJDK includes @@ -91,12 +91,12 @@ Linux-armhf_LINKFLAGS := -shared -static-libgcc Linux-armhf_LIBNAME := libsnappyjava.so Linux-armhf_SNAPPY_FLAGS:= -Mac-i386_CXX := g++ -arch $(OS_ARCH) -Mac-i386_STRIP := strip -x -Mac-i386_CXXFLAGS := -Ilib/inc_mac -I$(JAVA_HOME)/include -O2 -fPIC -mmacosx-version-min=10.4 -fvisibility=hidden -Mac-i386_LINKFLAGS := -dynamiclib -static-libgcc -Mac-i386_LIBNAME := libsnappyjava.jnilib -Mac-i386_SNAPPY_FLAGS := +Mac-x86_CXX := g++ -arch i386 +Mac-x86_STRIP := strip -x +Mac-x86_CXXFLAGS := -Ilib/inc_mac -I$(JAVA_HOME)/include -O2 -fPIC -mmacosx-version-min=10.4 -fvisibility=hidden +Mac-x86_LINKFLAGS := -dynamiclib -static-libgcc +Mac-x86_LIBNAME := libsnappyjava.jnilib +Mac-x86_SNAPPY_FLAGS := Mac-x86_64_CXX := g++ -arch $(OS_ARCH) Mac-x86_64_STRIP := strip -x @@ -105,12 +105,12 @@ Mac-x86_64_LINKFLAGS := -dynamiclib -static-libgcc Mac-x86_64_LIBNAME := libsnappyjava.jnilib Mac-x86_64_SNAPPY_FLAGS := -FreeBSD-amd64_CXX := $(CROSS_PREFIX)g++ -FreeBSD-amd64_STRIP := $(CROSS_PREFIX)strip -FreeBSD-amd64_CXXFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden -FreeBSD-amd64_LINKFLAGS := -shared -static-libgcc -FreeBSD-amd64_LIBNAME := libsnappyjava.so -FreeBSD-amd64_SNAPPY_FLAGS := +FreeBSD-x86_64_CXX := $(CROSS_PREFIX)g++ +FreeBSD-x86_64_STRIP := $(CROSS_PREFIX)strip +FreeBSD-x86_64_CXXFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden +FreeBSD-x86_64_LINKFLAGS := -shared -static-libgcc +FreeBSD-x86_64_LIBNAME := libsnappyjava.so +FreeBSD-x86_64_SNAPPY_FLAGS := Windows-x86_CXX := $(CROSS_PREFIX)g++ Windows-x86_STRIP := $(CROSS_PREFIX)strip @@ -119,12 +119,12 @@ Windows-x86_LINKFLAGS := -Wl,--kill-at -shared -static Windows-x86_LIBNAME := snappyjava.dll Windows-x86_SNAPPY_FLAGS := -Windows-amd64_CXX := $(CROSS_PREFIX)g++ -Windows-amd64_STRIP := $(CROSS_PREFIX)strip -Windows-amd64_CXXFLAGS := -Ilib/inc_win -O2 -Windows-amd64_LINKFLAGS := -Wl,--kill-at -shared -static -Windows-amd64_LIBNAME := snappyjava.dll -Windows-amd64_SNAPPY_FLAGS := +Windows-x86_64_CXX := $(CROSS_PREFIX)g++ +Windows-x86_64_STRIP := $(CROSS_PREFIX)strip +Windows-x86_64_CXXFLAGS := -Ilib/inc_win -O2 +Windows-x86_64_LINKFLAGS := -Wl,--kill-at -shared -static +Windows-x86_64_LIBNAME := snappyjava.dll +Windows-x86_64_SNAPPY_FLAGS := CXX := $($(os_arch)_CXX) diff --git a/src/main/resources/org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib b/src/main/resources/org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib index 6df932df2a2f4221ca07e73ffa9baddb2132382c..9daa6e64283a105c2a692a9d9cae8f5492b50f00 100755 GIT binary patch delta 5143 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 Nw!^c;O@|&-{|~kEFOC2J delta 4676 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 From e3f0fcbaff42c31af5559ce9011ce1dc08e5fac4 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 01:49:51 -0700 Subject: [PATCH 30/48] Built native libs for Linux and Windows --- Makefile | 10 +++++----- .../snappy/native/Linux/arm/libsnappyjava.so | Bin 22084 -> 22084 bytes .../native/Linux/armhf/libsnappyjava.so | Bin 22088 -> 22088 bytes .../snappy/native/Linux/x86/libsnappyjava.so | Bin 169780 -> 169780 bytes .../snappy/native/Windows/x86/snappyjava.dll | Bin 118784 -> 118784 bytes .../native/Windows/x86_64/snappyjava.dll | Bin 136704 -> 137216 bytes 6 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 11173c0..04feafb 100644 --- a/Makefile +++ b/Makefile @@ -88,16 +88,16 @@ win32: # for cross-compilation on Ubuntu, install the g++-mingw-w64-x86-64 package win64: - $(MAKE) native CROSS_PREFIX=x86_64-w64-mingw32- OS_NAME=Windows OS_ARCH=amd64 + $(MAKE) native CROSS_PREFIX=x86_64-w64-mingw32- OS_NAME=Windows OS_ARCH=x86_64 mac32: - $(MAKE) native OS_NAME=Mac OS_ARCH=i386 + $(MAKE) native OS_NAME=Mac OS_ARCH=x86 linux32: - $(MAKE) native OS_NAME=Linux OS_ARCH=i386 + $(MAKE) native OS_NAME=Linux OS_ARCH=x86 freebsd64: - $(MAKE) native OS_NAME=FreeBSD OS_ARCH=amd64 + $(MAKE) native OS_NAME=FreeBSD OS_ARCH=x86_64 # for cross-compilation on Ubuntu, install the g++-arm-linux-gnueabi package linux-arm: @@ -108,7 +108,7 @@ linux-armhf: $(MAKE) native CROSS_PREFIX=arm-linux-gnueabihf- OS_NAME=Linux OS_ARCH=armhf clean-native-linux32: - $(MAKE) clean-native OS_NAME=Linux OS_ARCH=i386 + $(MAKE) clean-native OS_NAME=Linux OS_ARCH=x86 clean-native-win32: $(MAKE) clean-native OS_NAME=Windows OS_ARCH=x86 diff --git a/src/main/resources/org/xerial/snappy/native/Linux/arm/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/arm/libsnappyjava.so index 3299072878be828404e870fd278680bc8b138a41..0aa1d90795267803c02b449f85aec2dbfb0afa9d 100755 GIT binary patch delta 3317 zcmb_fdr(x@8UN1RhYKvQASw#T!UDU3IDmwN1d|n*yNDKu7^4nO6`2O}nBb!wt<3Bi zAA?hEq9-=sYaBb1QpLKsk`fC6rp6%-7%0@H4RwV0K(PiLlO-A1+uzw;>el}{(>wF= z`+bk|o$ov6+`ETMP3%$=`yiSP9h_|p$|uV6%E5e-rhurg;NY7V?cb=k-2Z(3OE*t> zI_}>#-#z=1ZP}>^B8r3P{GxJ5)l@)Mi-Q;$%A_xdcGguD9k8nNHM%67H#Q!zMu-WL z46#7OGtUQ<3S0om@atJVob82d{QdZoaSJ<_JvuhA`ZEc~)L2RQm-+oiQNSh?5bf9X@UJx!Rr>YAYCF-tV94BRYVObM4SEkG*K}8C4Rl+nSysAJ{0+2_BQk<=rf=f`E_#TYSwGGEqJ!7 zxVV@f3`*ulg2(vYkgB%`2ZvESMv7%MLZUWq3?Le(A2ca zKW6K^LpmZA)&3`*(G0&&jQ8b}=ndDa`ZUQH+XdU@_ebI%WPs zc%FUAcw_u&z*hmhFMxLk@Xi3<8o-?ayfJ{E4B+)o`J9mto+=}C0o=hig~y~1;(fUe zvEtp)we%#amuiYMOLi1)E6iKCy-;!g=3DAWgl`Bjt^CvQn7L2zwq1sH2%=i5F5Xdi zbX7>R;(o28#^&tckHQy37(3zaAaY=Rg25%8X^7GEv=go5uNtN&p9hnc?kKb@RIRJA zQO7Ch2D!#2Y&yT~*L^T6PqwWidu^UwdGb4eha0?z=yW~Nu@GL$(`8WHRSSA(ws zKLY+Bfk+P?3AqN|1KZn>PH^F0nc}({ox>7`j6}8258(~Ejj!P<@Lz&o1sCy^Nv@PR zk*c}hUm)6w#s4Ihs0xi2BhLx&b>LYEu9b23q&XSqeKA*J&;;ZZK9dgQ&zZ~D7;{** z>!8slMb`eo7gd35YJ3%>XnrqorF5)`=bKKN-n-a7I==HUGOOdT)ev2as#;nyFmWtv zdttpz*FM5ENq@BOlaI=|@?R&mEmX_@oXB?6+f3DzxL6*5MJpTSdK)c>?jVasj_N2K zr{L0Y797(rHxEwGjV$IEPwM?xY}FcUC&g7U4`tlzM)9= zxZ^xwM~Y;9gQ#@jY9ifS#dpsHPgFDn=Kqbw5 zeTvC+W>Sm_!>I9g5hWpN1ERk7ju9Cu`0rBE*ls?MVm4>NBeLas`%Cj!z1cEab~!b& zUN*?u26o!xUdt2A)7cFEoHl)`|(jd>Bd4>XSBy1H7531^f|RPzHQ0$9wBTCj*#!{QHTD5 zq2)cNYo(=@u_8V&Z#|3V&!v7OUBAn(rlzrv`H!i2Y_se6w3iwCE&s**`)n)Uke-ZB z-M;kKnc6j+zEL%+F1B(6v7E^=U!%_ozeHGU@)%)%C)G zY4Mp0#BW*ERmJW+Baxyo{miHeS|$+bcFTY|kY+T1~d#~{AuQ>66kDlGy>NtN~Qe*2TBX|if7m#J^}kJ@ONPU4)_Cv`C~+!`b(k+ z=!+o9kOYVh_8!~>1rGUf94Mv~HvNl4Vm`6-;z|OH@!mCrLEK^VKyfw11qN42o>RIY zq5^U7kRDqb46NfnFEwXc5QGV-6C)yl)yOa%C}!~}%DZK-D?nVNXdHNx_m;k5AH=Bt zr#R6|;L}s^R1^OZ^!fd}`-p4>1+HI}wKF!zmn@GD672{nC(ei}l)A{}KPz{uxT<$41=@t{MfQ))wc`HISs5&p7m#i@9(2M9tEnKesD_YsV E0dH&xQ2+n{ delta 3121 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 PgV6XdjVkY0$r|B5K7KE( delta 3329 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 E2T_#z*8l(j diff --git a/src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so index 008546530fc92d1aa6de1d628bf92c68641ff7a2..4534c1371e9015f4cc553efdb8fd65c138a48e05 100755 GIT binary patch delta 48435 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 Vb}!aZ+7r*1YoZRy$IqCJ{|7#0Fm3<< diff --git a/src/main/resources/org/xerial/snappy/native/Windows/x86/snappyjava.dll b/src/main/resources/org/xerial/snappy/native/Windows/x86/snappyjava.dll index 5fc42523b7d41da77ea9a0e97d46e69d96ece7c1..53177651edd37c70d3753fd4826515db7412e9b3 100755 GIT binary patch delta 8203 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 CyJZ~! delta 8037 zcmb_h2~-qUx~^Lyf*>>qh=9n_VB8f681A|M@Hz7u&F^&Th_YkENO*Cqwg0X`{ zu+U1JsHnImMijM;8mA3$HwkVr#+X5)NjsW(xW>KTUo@>9MrY>Cd4103z4!b6?XI*? zRMn=as!jPkzjrGKyi_s2f2-=BQN`Ir{42kTN2xfkt4NGhGLeLDC6w7{8PG}+z6|lT zd+~lKICmR{+3W0nde`C)lxV-{xNEbr*snAG*R6`fZvZ}Nvl7&LR-{hFuo9=et}t^& z&51NwGk>^PSxt-hXKH#VCjA59oZ>^H<-vO6ul|KIcqYi<; zJzpPiAWQEDDrS$vzo9;d9IBC z@3l!OXcLKxT9b`m|5VxC#u~f$Lr9tgNxh-*=FnxIDq#Ux_}~v~2M5py$7_`NfzMGd zg(0lG6e>7?HSAB5FK0d(-_gcoi*aI@@@rr*-tBDdq_%Sr{+Er){U8G#7^x#xB(&agPVezo#- zxPZ@EqqJ-PBA&5Y8Q#7#-g&iRgXU4SQU%SqYGrTxY`mgcX&12o$EuZO5wZA{YGqeM zhDJV&_!FM7N*NxRh^JI5vm*Q9^(&RHBa34j*);h;uX?AbHQz-g8)W;)AGE!lwMcn0 zYB9ckkolA7TdMzb#eP#$-lsU5a6)y&CN$RbYB~&Lh~e2)!#ETNs;&2VqKbY@%t08%)aH z2EF7^VMu9-*3)XK()eB%OPqxP+OPtKWhK?kB3+@p6YGwd{Ydl82l7D4I`~)n*n{=1 z7)7a!(>Kqv=4jJAcWmgP&2zUFEOvo%BJMCAx}bJ>Cx3+hvP4-MKLa1Lq&BtlOdP+n zSXqu72~BRmu18(0R4X^?$iyj1Z@0oQ(BXmDA6mQ_loEGn z@p@>L)7|53@BRpxv-D$1`|ESTJq|V6`@`Li&~gR1?6+X6z9?-q4-^O-+!S~^-2eQh z`|mEF4#7)X&AF-re=W7gq7W>gS_tH^06la&gn&fdi;owwrNi`mX`w!&bh5~PnGFC-iR7>&h2hhs2^gV4rO)M!|N2_%DbsN z>|sJKg-K6EdzE47FQYQ0COrl3b5A*)9*=jqr~H;a1%0E8e{N{Zz`Ky`_?7y{Ywekz zi@&Q}crFbm&noSR9_WI?5qD9T4mj0N>;Y{{z9EOE7EUX1 z7fylM_Jt+Yrk8;l(LGp?06T1n9nN;xJXrtdsLskoDp8@y2o$HhNJjeC-FCaL)Ypd6 zr$^z9S+%YYX9jRpaNg$JcNgkQ&K8EcBbGLeub{Fi*yL;Qp6fOmWETbX&-pU?wL0?b z72IA|_B<+$D5(-_SFDsf={$F%AxqL85?B0@+9YQq-ptk)W;8u7Ip5SK)t&J7vY8$> z{M*{rhmVJPS)+#?a;f&0GaVk=x;%HT>y_G&hSK(4+qO;Fz8iAnN)K0x0jIzC{t37pYj8+G=Lx03`Bh{_#P@Y#E z=243~swp981fCJ1mWH5dUUj}lEsRkkLqWwt)ptT4s|`DwRF@@IZLLEVJVB>s=+Gdq z?+A~tU!1yH2fjr*H7M+{Z~YdJ8s14=6ozKwH9ECpIGXPDEo}CUS67FFuP#gtYX8J{ zx<|bkuP$m2YC)KK-$&ixQClUbB@t*2UKOUcjYKxw8K#y-qORTy#U3ktqPj0qt1eva z7WE`UrALiOQny8E8QQC{9iFHkc~rk-b#(_&>)WeA(NENTk9sp%T@(!}5ux6XMl6og9Y>ys?}fcCbOc6^BM^r(<|0G{mb$c+S#;G{^or-5hf}BT|zcpCzCP-jvRSCjH>+JsjpF6ppmj?VpTpd)@V(=xKyHK#xAx zf`_G`3a{$tQ74n?mK3yEQ%9zvrC#--C-n?U4ex@SUiPGi?Ley+x*)~NR(c|Bq}37w zD)O@PJ#2eMjZ8yHxbvuLNkb>`@~_m;u4u8>s@h|9j&W@3idck~A5wqqhRlJUMX%CH zYI=7RgTK!^vb&=m{_(m41{q$Xj3sHZ>v9o%O>l-*w$6ePkTtxzh(dZT#V!hwcmuEg zgF?~Km;iF?0x%i_-|$>($25IGCE()Hh{JQfQeUIt!omWS(kKo;bxK`Nqu7uP@Tvhc z0E$G%am~g-uqXj7W>EmXTXeK#k(eFO@RdO>(5K1DdE5+&pJRRz>h0f(NH;o8%|&k@ zD&ep}9u24iX#HG3NDEZMcn83vJ0{M9WVS#Nj9WnCd@%yX8Zw!D07QsD>;s~c#LdjrY`d0MUSML~1lYvbj$_FKS; zp$2)=5D#Yh^!pAo$SDA?_LSDvB;sIn<~5IDO>_Gc<7WmM{S=?>PvQPKChUJp@*2z_ z6_C*kt?!E-FjEb_+<)DFsYUSrI#6?*9zz_<%FzX68#l!uKWxT(Z^5yj3I}GIL0%3> z7-^7ijWEb!fkEC0h ze+q2BBZJKop)wx|84ra3+D?GvfI9FAn(1k^e%FZ} zL{2iu*Jl{y`Otm_c(2ePBPjR)_}qgD)Qw1h#{`m+vO$)?P_Y~2*#H@k3#hiM%M{ex zMwA=mcM2e!fP$Y5a*>95gPd~=i~vqR#&KBC#OS^^!4^Ae zkQ1^6eU1Td-rgDOBd7*svQNUdInvTWL<8zLYCeENfz6Z#F2Fb4iHnkO_6 z^c?suMF29OF7G^ZwUU6#1vF@xnm_r#*8^7tX!POV20k}3P0ol+v&jiQfr>#WY6qf* zi%$ZT1D_F+CMN*OefW=n$3kHO8V?KPO}q~H1RZDqUw*3=AGlnNZ;E5{xHv(m(MUj* zPlBVs>%!9H#>WmG`|p4+06qucThK+|tAH!gc%OnAfp-E|qiH_;0||tpaHt62>)@S9 zfD;O64>Qr=-I5kZ!lnbG0x-w{_y&msz8<)m7Q6v?A_4*fe5*GCp9@@u2A^%o0KOc! z0)Wnk?+<)qWLmsj51UE&2tz>7MM1@Y3>B?I$sKcnB4C&R@ZN(QaLH|wl}0?vru|x6 zoA=fRgdu1{nqh!(F5m+ICSX_&k6{fQz=B~342ER@YFG@@0g9mSG(jJH#po@OVQ*I74N zgSc?6C-(w3gDd77+#c>4cZci7Q~WfkNWyY3ECT#S8waz=rgm0Ft2-CNjL=*p29h(# zGV-i(B=ZCFDqGLKVETtS&vL{v-g=lnBjkvO#B6DjO?oJSbpeJE&`c#7iA!WZ`b*kr zv@kVH8aSP?=5U9&4E{5o5H<_h;v}u$A`I&e%|0TGOr+kV?lK9MVU|40M9XSRPi{E( z62C_@O5>$pwbl=^+HbtXgt7_j zV0Hpq!bX`=OzEaqOnIi!CfPK@RAO3Ssx&P(Z7^*$IZa=iTAM@7apn}W(VS(@Hs_fq zn{DQO<_7aaa}SGXnPypM`P_2a(#o1(C9Tg}2V2KkXIocUw^?^u|7tyIJ#B5UUbjB9 zSvzxGI1AU8dzrIytGJEacJ62H7T1c8;U)f6elEX)-^rikUHk(+LP!>#6M74;2qOiX zuuxbjY!xmDfnvOvDyEBqI6@pNzAsja%fz+fC*m&ADIOG$iD$+0;@`#lVvLj^rAoA9 zk;cHv6ifT0lhPT<_BZLObX{Af8Vu9JDnt_92$C=ne*vC;%-f%J`pIpLG2mnQ1VU_n3vu5@sc{f!V_BWWHbyGsl_lnG4L{nd{6w24~x{;cN_>WMjLs z6l-OBvf1oQ>~Qvd_5(Hw4#r(8#;s{O3%5Ccp5?RoDR34R^K1C+{FnSU{P+Bi{42sZ zVX?45_*S?s+!Zh}3{FCcSO)w5g?L8PNnNBjq}kFv39I+qmOvr~wsy1el<^1HhD>HM zvz)QjK{c6d1$&;o#$Mr$@K{6BbAX*Ccxolpfv%?Wj1J=-<38hk<18kOCD}~&H?zZX z&GMu5lJ%*5$ zsbZ1%u6B(vWW%zc2_*UuLkXVTO@>jy^h)MMb`yKtY_t5$63z|a<_fEYPlQ_GOQE+o zKs+q^ODR%!ILSHEJJMeyOoyCohp#$s42}HJ4gQ z-KPBMDB4O-p_kC#()VcAILc^SY}{ttZLBk%G>&2>GPfCjHi}JUS+*BDh<%M6$-cqP zX6=UWZwx6{hv3&8B0fGp6&V6mxeoZC+?z zV!j23vXy15MYdeBT(#V=ylTy}p0fU6{mB~7rE-(G={9Z-cNrelk$gTsiT{}YiT{mv z^OJ??!W`i;Ea^xwA6~pOaEAv;!=%@x?!oGwij~GkH#3JG&VigfchLI)Y zd{QCrl8Bm2O^1tlnYu=er1R-X^cng*{gUxjW1g|lxXAdCah0(I?wd_vlHmwi*t!-O}5VZ+XjNv%GKFYT0f1((;P+kJb^|`(^C_ zKN|*cgSoNX0=Q($xd0(lh=LoGBz6@kF-c032&t#kPmWJM;t|XygzQLi@Z?-F{%X8sjArzVHeUrU zKV`SGN7&XTTd>JssxcooZ{zpy2l;RLi~RrcxZn?Sh!YY7N??U7AzK(M3>Wf+NpQ+P z6jlh^1gCIR_*u9rGzt#{T=W-7(IRGwdGG+s@B~+j>)`dM5qasTHp>izX@6ImN5DTh So_>JVFNeNk#(wlx;Qs+SW>~TS diff --git a/src/main/resources/org/xerial/snappy/native/Windows/x86_64/snappyjava.dll b/src/main/resources/org/xerial/snappy/native/Windows/x86_64/snappyjava.dll index a54064f6c198149accb9b1f0645bdf09b8cdf300..b367f2a4d0b8ff9ad03a8e3163dea34c65a12170 100755 GIT binary patch delta 23257 zcmch93w(>``}cD{ZD?sVs&QtL*kr@zxW#d)!^CEWS@VAHC->7;fAjA5em?L2pU>yp@AtZ|>%Q*eb3ad# zw#LmtMthKDUSj3nf_n@661bEu6dRL3x=hFJdjCq?H01lW^KR z;Bv??ry%G|#X8dg&rMn@aEG{lKRp%rB-ZhzAlxpr=**!58jFG_VkN=~oQTZnjEIg6)$6xln|v77 zAOkzGa9UKl>734VE3kiTVy`&5QWZ@OQ>Ut#*mE_#r?QL9R@0AbX4TuY785_Rd02ydEUzH+ z)y=u13C2PfDz4CwT5)3kX0%nUWb(aZRIT13IZb!hnIR7Nl%~|}B*t!}GwOCE*Xgdh zF=EG1`cqxC7!^uMy}E6_4Z%qB_QqIP&YV!4d4VK7yI464C2OMKc#gueo|P0Xh_NBi z^VUk*r`|=fk7^=o)$F?pJqv4~_4f(0g+486KnF+0h+*+GFS4ch&I-rQ$Y3H?UEwH> z>PE!5>u5-WjpPT%js{o2AD zMxDitR{DFR*U4GhKPE*CJ4oM)!AjJkpT)$G6ZE^7B(V*3C}Nuv@%_b)l(@@cllhC; zl$D<`CpwSb9SFx*OiNtoIIv$o1}@E-_WZ~nu-m+ zpAhw(wVPu$u>P7(WSS0lF@4h|$=Tg>295eGUbLt)9hG|G%;epW3fZZ3BsW`E;LA}_ zWAmDZXL>A$vK~LvuN6;uzf%A1SNhOmc`8}D6`8~LN}J)O;SVzlGh*VqlTvK^Ow$w3 z;EO(A=J5O&Tu~S(E9y?Xo}Yj7`O-zx5p+YH{P#?C$$w}@?XZFzTpZ~;+40RM=jorU z6D5OCj%$pTHXlX`X?6=0sYR!?XiR!iXNw4GX`u*ab=Yh+LrJ`N{XD(ZqPw{3JWbKW zllSNlO#?ECzOCs)>eADiH1YCdT0JRJ-2a%iNJ=0}=zydc=1=OO%KMeIgqaAC68_3^ zhS49BGD$RTn%v4zh|@t@Ewz7EigkH+;&teK)=LG>obVonAwfFRL9Awc$-(>VN>8^3 zdiu+i;)^Zm{nB4e@0;GIZ@*VxLEThyzBGe6bJ^0qWIEKvbV^#y_ucb%q`bat=GpmOeql?N|G`G?KUrAvk1~g&QLOAs z!+kFnhG2VJ?S*9YLfHsZBeM0vD}f{vYr@usUZ>4axx2} z1~wvC&+l?;-tODoXtbu@4NhA2*0LYKA~KCd>eDxgu#2sIrsPow;^Ly8sfe_9M;pZr zqv@nEZ<7f6%b3}!cScF|7lJCZv1Y7JygicM9h+P2^^t#Pmqt>X&KuWP{Pqp{)3{lx zPH#vldVngVpyPGomJ#&w_^H8(Bc!0@5j134Q<^_PCoUdNznL&wRb{y3s0yl3J8$Cf z;I)45rs0lz6J12K4x?3YbdQ)0!(LulHR&&2$p z^!Aj#!Rnz>Nc2#t*_^49f+r7Q4K*7-gx;AtQ@rsL9h1|o;mX0RF!n=<#s!AuuVxo_ zVanSm&=oeDJ=pPWPBIA|JV?qmbP%#lu5n?YWL*SFJx>^EVe{^AOzS2F&+acd-|9~T zW^5LJ=ulCu>(IJ1znc4W=!7*J(vZ>bAgdK0>ER1-(BAuK@L z(vzNYe5yNu?R{wx~@#SmMCBI&#o=RcD?PB;A)&MxYq8F{%fxVR|$8 z^A}lXo7rEa)bwspyx(deI*2*B5maf7H@X z7wrlz#@hkJ?(gInzj!7I>MT`_?clgaCj^OWlN>`noDe8(HPf$c4XRnpMDSoFIF3RW znCTN+YLgdPkqSk-f~3P+kQ2f9l#dubW+9*9LrmWsdpMJbhobm!)uzFhc4~#@8I3Bj} zF^e@T@{F{`nn5^C^lK6uJ~9yDMRTS)$frtLgXzG%VIpo48F`Naa~tO=+y=UDP1B6c zh)Un7mFoA2N!6J%W7IE^D?Zh!)kL`cMVF-OCGBwM!y{~!6eKZS@N~kv3bZv970rEv z;HXX$*T#@E+H0)}cc@WoQfNpM8u* z%3qbzRQh8ACu^Y zb?wDbFVUaZrHGc6wEich4W`dx-4Csk%o^yd%rtinGG_&O67V2^;e9 zGLvFs4Z3|py9SruB7#r#7K<}S9YuqqB7|CKtcuIJ417MCWX}Y*WJ^JUyce zbT-|;sh)E2Y|Mqpxl6-#Mqx?-y|pPpy! zD(q%ueT|w0LsxJyrzN(^1F0zGC3^Dnra`@!Q5af{`aZ8Gem9FoZb@yt6ASNCeYA|# zRGfx^fVGTF%??Y{MTrYz8J)Q$vT0uwm`)TpbHn(v7*^PbF0wiU;Pa_E`t#(>q6fFc z1jR{ZgO<@>wnW!@ipln=k`ZwGjLw{;!~|i_RHKdUO~-x!AJUFAD=biWPo8^`bp!gS z;w}7SFQ01qQq(;-(qdMOmEv<6O9#eLML(F*a^dJGX8srb{$-x~c*?*19&+_ZiBI*; zQo7gvd7Z22KA&eWt`lt2e!AhRYMt0FSDZ+vd0VGf@5Q_)amB-18&%V3$QMm}s#vK7 zrAgnRyoPSLq9aOhk9exZ16)xbv69Kfj;><%c&Wx)1=PF(muHY%CrdXxw5n7`aZF3! z`C?f38_e%!Z$yw29q6m2kH3f|&1nNiZK9&7j@ET9cSJ~kgrLz^&}cBKU`HJ3Nas29 z;)v<=iQ~P5Rd}N;eM+J@{w9uqf)N-Ro~F@*?y+px>zUuA*!(8_Vq2UcXQO~~$C=Z^ z96B2k#~OYX9M5en&89c(fMP5P@*eqe+M87aA+e!+vpjreOih3V{yZ5!a|aoSEh^*nFpSrqh|`VYPK;G1J_B zHVZ{*iYu3XvSWJ94(nMbS-WBRQ>6nH`PvMG9-tTn8<-M2n$1Q&c;aSekF#q|Bi)Qtc_o2mjCL(f&g2 z*ZJI@k$7WiR(RLZi90WU#>rlW%Bna4)XST z&+x}=aCcYJ$$OH*cH=n{vot_Taad2c?n!DgU(Zr#%2FI*%AdjvdHV~`F}zzeD|)Y{ zA$vPSgd+u3S7-VGiDt4y%`iQC`!v}-iRH;Qp>{D_$cIdw$5Q%KdmwLHJdf~(&a9aG zF}<|6uQj>I zO!rO2KGh*s3-g8>nQ0y+U#cQL{f|oCcWIL^Th=ze%R)N`$=6^824PlAc$emW*#ZwM z>%JV1x9;KlyNiYI(82rbi%Z|3v-d}nbZXoGmiVxMMmlGRCkm+5IZ!MupbwmPh?ZVC zP_K=$Hp`1q&WedQjgL`#I^wy_tQa$lbv`T~dkMGE^j+a<_8h5bEJa`NslG0tDF?0M zoLcmogAWWl^6=58#TVO^^UItUa{ipN9Jh?yA94PX^EA%QIajRr<6M6`9k{=~pAE5G z#E#^SiJawx-|&iGa$Z=$mgD7ycX0p9JWnM#FE9T{V$6;7GWcTsJ(3H2u}9|kds@o* z7tUQd*Q~%VaQkJ>L!QGUdHFKVM~rC4fT@=&)aQ;*n4?_z4sQR*`EAZp0>sJjvMqNo zj_13{<12Cd1#ZWIRjeVo;bq+Mvg7n&WnjPzpWwK8{4Wx|>n6MGNXf8)`1lYvM0~FO z`-$e!a`D!#{^H=D{bAL4*yEeD%gN@oKUHd*|);X*~9pXvOQ35En-<=amF6p!!t zQ_OkIZtbSFITyf162N(5BqKwI2Gx*9m35`?zMy`!0N)AkOem#WzF3j@`x92`hMt zpGOpX?$RmWycU)=on4t3G4XgFFAVKOFMiV{$b;J~j5r#9Dl>SA-e6CNLtbJ7mkUu?l{(5>={6MI)3|cJ`o*1Q-gaJNuf{Ob415YYPj+NK60#k zb))$H&-C!sBjSO#XyLU_#N{_=%JqfGrW@sRo702J8uGU_;2D3R;`nvP@7Je_;*u+L z?9U&G58SkhCxNtawDK55asOqy~Xj%oLL5K_%?(5oZj;qPh4uP4Pn&N?pq+L_=?t^Xi3{NWh(sC6-S za$eU*B*Uz_IfjmYkScB-LsvhTfI%yNpCX3Fe2WP`%ib;*hSsL<{n1-I?4sBHctI?5 z(Rz<|lQ75kj}8Qi+q3EWe|4?7^(%bel@Ze)>*Mq2qoi6ZzoNhYwMKk&oPJQ+L)>(n z{#@Fg#M4;ckEHwdK=O(x{yxw;KqT*yuGT9e=_x)uT$CI@ekCN{8mk~?aaytU3k7+Z z#1)ZBq&gvOtu-o>j^dM7i~3Y1VWRl{XVy1@$wYC?XV$a9WO49~S6I7>Z#G-?Rft~v zaI^Jl6_O;5*=$u+C2xpR_FHFFB^|`Yy{&tzk~s0gChPU8WJ~>oP5ujD7;YbYlbcR> zit%8AWSQ2jAtag9v0e`$Ey_aE@#y<^XlFSzDU>AFufx;bN9o@&ze#Ud6=~Kvh#|q& zZK0$^v>aL;yIVR~KJ)ja7ryRfHU_AuMkXRWry5xjn)4}hpTJRsM_j8aj11|}T`D4F z2SgjcU2>q7KSM%!zx*D+GaS#JNI%}%OG#pzPGhms3uSVG>VKbBn2Z|!3WNL=;>uUx zEtDKU$lt?lgeMGy?iBUK@zOn7`3rpSCT2>$aU8K)rm87t^YAi8Wk2koV;z= z#h$Wp;8w>)&*q_o+l%nEF0;@3?Xpn^<0+rTPv-u|&-kTBnui}?J0HM9KEA|NoQI(^ zg?(Lq{N?hKL))_ zKZ32PR6hj?*0Thi{0Yh`i2e#a@Ysn4*FKOdAb!*e>(L1Eqd4k=qV+0Vp5m(ai?-Ax z^&ys9Pt_tG@vOCIS8WnV#CyxE`|FSkB*6MXU6LUVS!s3GC9&esrA3wNk(xw2wWO#) zB&&If7Ilmw4T$*B2iENR2wA__`fhzPR@DRZfer-TE7yT;)=CY?QE}CxqEq<5lZaa^ zMfcQ_c&{idS`rJbEgF$2joVrMweOa%y%58V#_-r}kbP$pswz6xi2M{NE~VCu@#Ga% zHohxFo9~yDtCd((J%PlM_?oSx12iWRt9>D_+-f&l!rl^x6;#IBn^irnLz<98^}&{c zaM~U0GAU}Ou;o9dJ8-44?tnW`mv8`!)yVp36H-^~pJzSNgv8WbY?j)sx~5#azvS;| zN)D2c`AOJh$E9X_TE9ue3~fxd{+>wU<66LDQp`wZ8$_|15jj?X-!8ygoUr`6($yP! z(P-`53@xZkQVR=hf`(zNErc~a2pm&*mMGZt;skS3(Y;|XY> zjsLr{hG2c5e6}|%{!Ka-K6*J*spE#Hhd~b%e zMJvor!d$5%tKTozk%F1lF|DwnRMvT|$oAmH)1~~1Zq}|TBvE{Ax-};SXIz|heF|{| z=f3IpHn9$W0cTxXD}8}%CZSesYtl$OKF#_@YqDiPDz3A?d#XB*U4uSc_3xxq=^na0 zAMe*xVF<+D^yEs@TCkMm#&?8vurXB#%ij-?*WME=m4_b4wN6MSi)*%@Ee&D^ODi7` zyQW!HZHPLorav|#MvJ_+a;zC`$mh|o;qb!L<*NLLUA?z)l$RZI?6+R(SR>lvhFwr- z9n+Q=NT9W(Esn46rxXRXBd>||n@mQ(u-CMCSA*~^`XzKHS7)3RGm!1Z_C?0_Cz70Go+{09pt;;ESH^|m3CCM@|FL2Yorava zV%gJpJL}a>BsO8Gzh|Y=>8ohXQuiLhno-pAdm^y@7)q#B)0s3hY?>mq5;MPCE8Q?k z&lJ3&_qXD|IV5{n64jsn_?+_b{aAb_DW2^u_7ZwF(_@^1k+YpMD`PKzl+R~%btd`Z z)4JAIGsr@5R$c4O46<8v)v>PbLWUG+dy_0;xN^mxtE#`MP|?22{ej&7E4M4dW_VJ; z@2g-3UiIg%#Os&0g9O1KROJD32g=(B5NdJ1f+r|%Gk+BKSK;*^0AQ#Z|X)KZ|9r z@-x7C^eOj;OWtQ~>iMf*4Im)Gzay8#mBNNMq~ap~EaV74{wMG|N5m&*&Nxc00a!EJd7 zUg!Dh^K!Z2infOPLc$H)PU8Lx+?KC~Nxa-s zq28kk_0pPL_m5bvID%J9tx&GxHXfv;*G$;f4||l&U?KP89i#MRv4z`|GrQ=SZz;Dc z^CL};U(U-{l#6F|R{lddtMl_^f4^-89v~-L!|hMXC1Sn}+}>2KoHg(nx9yzeJPvN} z;LP?Yi{H=fgPifTqu+6e7aZlx4rk`O#e4bX$t zNG=cLc4f|T!@=ARsSqE=?eGfaDsI}nc;4IHjH*UXJq5LIoXK`jZ zSe@QCni-_0mcA7#^yl`#3Ka%(JDan-mLs@5inBaJW4T>E4{Q7`-y;)l@Do%Xfu2{G z%9#bTMsm45owFQ2liP1|mOC_;+XbBE5x>jr`J6>|V6kM^d5;RYgWXkGrKQ}iSiYQ> zuiz|S-)sM=oIR0PomoVgsQ)}sns8*6UdAl{9+&Oxl;-}&NKJFS^=TG~F?hQ@8}Ywv z8-)My2EVK@z-Me6gUbEQ^hHU%34UKDD~1y&HdVE z{5Z+v5oPlL+17Jg?x2m^$_g_g``!QISKsn??3w!PB$X3n|5HFYzwuxEmVfcvxL;jv z30V7O9kBmHKzYBD`-Oe~JjL#R@e8+ky}#>A?U!{x{htA>{W8Cn`^%4@yg!@!pPAxv z^^O1G_qSiR2W&h*UJ~cOH0b^pzi{V2M$GzKHXyZu2RyIG+JEt9J;!g6FKh0XZ9TW8 zUf>6PDL@&i<=3q3od1xpa8}|J#UT-sDPPns?yz%q-S<~;b2eV~+v*>AIk%16_JS8R zjEL0p2E9CwyJCYz9-uz&Pb6^uw+4lu{P9^byQK!xY&>5!&!ge&gr7}?i*q&~h?=ti zW;2lH)`+XyNSU6}|uW1hGx|v89jjH>g(m*~o1RXB!w( z9HZv(c3v*Mm`U-xI@VU+2XUQ$>xEHSv;eb2Wlz=$`u&1Mb75&8h-0h za<=g~jWo(b;tnlm^)>&bN802uaEFnzMhj zTaTYa%39pdJ6 z>^vZwJG7k3Hl$1L19#|UmOJU?0a*?BC^=i?0Qnf#b4NC3xrtWtiez& zSXp`e0Golu$@<@z)nEP`l*?myCLycD60?dFV1cZRv7AiqnA{=edmiMN@^$2n`^yae z2IRmIV@rJ*6_5{`mG|YS=>KnQR{tO449|0*{JE9N)nPHLWB-`^IpyW^)|4xjFB~z} z`o(S%ZHSs!>ici7Z9=KH*fs^J4QaQp5ebt7K;Serf6o0oS;fHT+57&X z&cc5vdtUuljUj(GI&^N))qUhDF|@Um`qsba$Crhrz5rm{f>PfEbE)sc`K7+Gz-{Pe zD@uKvKPdGj1AE>t^|c4~Eid(T0!~;RSNKn4!mqejG!mHv#pK zx5r|1a1lBPoW!74P!`)57a>HSl?Xs0_dGv(Y$^4%0b+sbz+cu9C+TJ|Zb$#N{r`i2 zd=@~tqtsVkTVNLhZa`Ut7(ltRwBCO-Zozl$tV70aMPD5t4?_(hZShQ7T@;ky9_{dT z1#}iTCQT3)Kx@G1fQ^-dF9RE(-Qb1o1z{Vs1$+TG#LB^G9q<+cS_^gpZfM5$057x` zTvdxtZ>x(2K?yM*m=%RY;GX~^v>RNQE(rOo9Q;aWd^Q1{4gMNf4($RvG6Z2Qv=bcL zMG)-J8t^<|8?*)d1aLwN_>N;YaFWG?dv(Jb-g7XryWw{rfa|ORc#sZX&a!fF$6n|u zv=;mT2&#`ny#-+m5CN?RU&JrDsiEEA`u*_fEwmckuD>9pLTkbO2H|%eptHgIh6zF+ zXr}?9Gc>%n#L9~2fqtHG^+B`gL!3HXr3fX@SKq1~V31Fvf^>@d9G z2f#LH0spcg5ZDQ=1WyL`LL0%i?1FHN#e*L>@C6@>-zEqtfEQW|wgHcz8Se!G)tGAV zyzN*%XbaekKS-;sHo$<0-wD8>0k_$X@WTSb4OZ^Q8bdSA18mS1a1pQp+6fME zVzyWe_#Yj6DIZ0jB|p&{}X7pn+yQ2xtYJ4IU4qLhHfvfi!3f_ya%-Z3AxrGNA2X z$6>6$4u%s(F^~!E0-px5pxxkWKp$u?*nLD0`m=KIs-uE10@?__%%Iia z=D;~<4R|te3EBu=1bCor;O~Gt&~9*@li0M-YVbDTsR4!)qVm_+nbBBR@T-6l+78|U z)P{C~j{uR-F7V=0IB=kC;PEaj0kq{ij1tITXK@-rTfiaT<5Fam!P!i+%3$*kI96EqTPO~4>%JNPRgF&yW=3*sjrJ{%2$?*Zcxb;I8z9~SHp4K2 ze*`kvOn__si1lV82G0PL&_=KqXa&vK2h@fZeiDS9KsIz1xSJc(&NO%{Fb~=ZJ_ek@ zfL-8aSJ81H5>o-O0T|6@0(>4=4($eefDzDMaGh&7tf1B4c)*2`X~3z#8E7qd04qmh z+2F;%of^mw4!n*l1zHJ?1U%5{>u7%KcUXrMLVv4A!L=f56eHK2sU4p#k)>ykA9 zP6R?&1@KrP5?T*l45T8)2HpS!LEFJafDJKD@Cjfov;Y;+d%*(@9-MkG zvcV$&8%Cf9uLh>Gq~Km9SXUMU9uMR|>%n`0d}t^5D?kbD0-pn7pxxl>Kp?ai`~c_= zE!@I?{{qy|1|>u!pn;(V#{gPr4fu6nEwmnd4X{9a!A}7jv~U{_DS#bX3)V4>0c3&u z01+t929E~TvVno$20~D71aH2L^}kaKqlB>y*nl7>_!zJg+67L%g9MmHEqED_0c``f zzKa=R<>2kWJZLAl^)EPlSULDKFbLWW{so9c!(MQ;dzd}sSKh<*9}VLq3=KFHNMxe{ z_WXJs8|(o_<4W;@ ze+S|X2omn&S_fvaOA9;{$brrVj|243dhm201KJ2K0KBMc0WSwyq1*=E0E|EbcJOu} z700j>TnxlRyTGRbHMARSxP~7wFudUOU$GCMv%pgUFGg$x=L5?zjTZ0{251}j6cAJs zNx?7thI;{B zptHau0S~ku{PjcZY9w-jC;ovMQlT7t7Kn#-gFS!?9rA*kJ;FXfM>XJAfk^0V@Eeb? z{^McjVXOg0L)*b$1A1r|_$;suiQHfh@F7bIegtfQ79L|3fX&cKuo|#KGky&)vc|xd zfE;Kyc;FLkaKvOAAPNBu92T$>$be=n{)x?njiv;*1kzBh1@{61p|inDfI}Fu4SWOG z3GD^9c#6?OYrwsM2o?{X2ONU7fM@=N_1^}=2vNBd>kX|09|GLaF7PG53GD_i_F?qU zHt+>Nht9ddK?44Y42>zlKLDxFZt#3UglsI61$-RngK`)65|F`S2r&qiL?YN&WpD%F zDYP0q7+3(E4W0vRfVO}S0v>1=SQkiybI@7fL4bhHWrJ4$4^VCcp9YpgyTK6(B4i;( z4UPxwHF5rHAl?Huz+nM@0-V7{vxAF(&CpKpX+Vh>H~1lN4&_26BGdq~ar;(-hXc#m zeI1+!jE1&=KLYg7HgGYp7TN{AX26f}FudRZ{DHy$zzCfUUIpZ{nE)q*Kw|(JaChJm24Kj7*b|DWL68$%uNoR= zQv~h;oWU;50^@%|3awbf;3GgLv+s{uM_S>Z-wGfd|m~aQy1jZWxzfIKkI|L{#>I!|-22LeM!SSOeTa zBF4Re&4|wi&jlh8ZvlS+oMd^xe*jO}{)iw#Yv2*I7W@_<;Hoi#Hvl6HXuuA!9T?9l zgD(SvQ0@kY;GgB#Str14ffy`}7Cag_1FZ+=0s`t9!3zKv$}Qj$AOq!IaFv?KiF#QAT5SOqL#4S;t8m(V*W_!Mvs+6BG~>_vi4S*bIHMl)+2wDq%4Hyrd4W0yyhSr1U19s%JfLGPU`fr9|gRuq3VYg23 z9-u$86Fk2j))kd4;7@`6&~|XWNbD78HMl9T6L~b?j=%32p-9Lu9txyF zXM-mJ(=l6m@Jyf&v=RIskcj6A3wQ+(32g)0f&S27gRmb)HVh{ie>5hHfOdiRsImK5 zC%~tGcy!JMJ_qbY!)|a`Lo|$dCAc==M7bK=6VRhP3v2+4&_?hwAQPRlfoU`bRtM+5 z4Wg(Kj!y(R!9T>{5`uPv*ToWSEc6t7G!C2N&;If3)f+qpBkw_1o z1L#n00iR65C~w>K0vt>oZb#=51j?h2WCNAz~kCult`opuLW|jOm=W$2kdaf zXuv;p#4NHU1Lvg^Aqd(6UYd^ePeqUoMo}jufOdlOJL4c?4S@S(;N(KmY;cFJIDDYB z;J|K}QfMVO30TgKSnzwmF;*9R7jQy*!9!ohdgG|h23r9O%55(ju$f?-gW&|90_LH2 zF7PeD3+)B_fCbP(Ps{{hM|>9809=PQfi-PvdL z_SSgt1B5nsf=vYj?6ZCLnLhiRo_%i5KF9wW_5TFY(naAt;06%YNfcfM%$>x#!cB;7 zokiho;3Ci=LlkBJN3Bbr;?F^=SshQwOlu1t{w{p_n6~|U<6%`cgkSNj`V>G(0 zvDGSVtySxgHddUC#jy^hPF1uuT5Us};!tbVkKA{k>`>%uZ@>FI_y6-eFYmkdT6^vB z>~oR;daIv)v!8iE!s6wjbRWIEzmOegvwi6>p@5z>rU>0Q#O&GQB*cEQ~Ud>UNkr4iJc z7Wtz`hnH(BZgjR>S-ER1Ivo5eaP3V=Hoon7%i*5|~l*ahk#mBp;)30e#dSfD( zwI*4^Ed+t2Jc--gx!r`@ZMj{Sruk1Kt>_p25fLH32&h|dD79okUzJj8!jDW-C(=Ex z)cNO4dec8iJaW_4pjLY#F4;-@*G>@2!)Rgc-Qt!VG(DiDIBN%;5^zA=^EFKld|e#% zH8ln*Njlvecv2kwHGQYfCh^#I8WZ%EIM_yMP!{p0H-fs02fm^$<==?UzN8Q3dq@Ym zt!@mdPcPJ+CKg#~&){%zo|R4r9yp}_mzajfPu*^_4$g`UCO+tw$Uc_!o_XdXh+b}ZFFe8mC8T1Vw>W0|znpmN+nE5#o-KAKz zN^R(YkOAWPEwrIxp7?Pz{YVi-6x6Or6xV)C?J%{GqKR zq8kyvCCaY7ND7xgNMq^F}I#Mc_oJ5iBhnUdCNnnZd~P1A|u#O2i5 zw6pl<3i^A~ktCW9P^E~&57H$ntVAf?qEeACdPbEb8kX5)(JhErzSNcy^P||jY$=nTOM+@V2i9eaBruit+ovv%1Cayk3uQ!huC!L}} z@r}g;yJ^e#@gn`$whFteX6_Vi;p5!5>Bht;@;N=3sA=%m@}%!%r%WFAUeyNH0mF$*!{IK5Q(cnm-3{lkh1_Nr&MvLtsMhF%!c4sgfBRA;ABo*@~y{b6- z!0ir-L_d6_gb!HG;j~4oOfrSeY}GpJM_kcKc8p2s8B`=$5o*Z=iC+Jf7u zS|iaKH+xs2hvAUc&{q|UX~&9S{W6SurTNV;ZkJ|~s*{^E${oh$eqfJLk1_2%Mjd^{ z6rg^^6w=c9kbaw-E|*ROtr2NFQ%B9oAu)IUaJ$V_UjO&m1 zYrV^Akn?o!z+vKyd>TGTsTh<`gk5YEG7WbhuFtKnHMM^w-}c&|X+Gk{X}04-rx3-d zTy}=EKMBe-z2$o=o}C)B?!=~a>hP|9t|^lDk?r8{<39eulUPu6;3OLzg`;EXB)Vp_ zjy#}^$IMm?nyizB6PyrQp{A46q6vWiqu%sH@f;=n;^Nb+a|ve zFCy(nI4^OCxDOQz!Hj z=Z>XICd^Vi7$c>42C9~#^V?c+_!w$>d#eAH(VmWsrhBKw)7BHUVyDq`&cxY@-J>MO z9#FN~$&*I;_w`g8JleK)QYjI;jii$&w-fzG(k+uG_-Brks`eO3qo#Z;)*L|(Pl*;c z4yU)LY!O>$(^XUZ`IiotLe31AnpNda@^6BYOjBa`aJo8orue>tHq7hRq{lE;7@aB6 zTfRZ_KVg@dDWwGpw5G(wVYaz>t%!f%P$^r`P-L52Z{ZNhGJ>R@$Bi|!dAE(4-c9sR z94I-P52Usko5lAA+D5$70sS99Kc0Eque`tHyg{eTGLc`un%&W-)`&h*4~F+4w8NXt zZBz9@KH~5!I=>*T?cUcAJu1YiC8cf$ZuvEFn`hU*?0Sz(h|dT|6#8p$ds7^uNLCp=voPO(q{kTX3hiV3!+%_N$u+t=?XzgQ z-)*gA-Jxd|<@@J(jC?KaW7_0*s+;6GZj&uOC;FA(=@{#=pI$Rp1bvVp8EYk)>Pxpx zR?*;PUB$)ebkMS0{!=?k?n#|(;dCbPdni?nzH3{%{B1w6Z!24!kKXnbM=YYVKaQ-U zSwsXU`i}d1VA>+O>EqPqPmL&2plFw$bc)LEvx0=C?1;XIvr|17&&ZeDig(x3fKMj0 zPTnU7Vs5RYvSv)6M!{1tH@M&_$?dokN$@~%D0c9$5dd+f+U7A zXD2+8qphZ>Xzb?)$3c2!or>J1P6Rn7T2jYlCXiMpfu@n z(&J2H^w3Yxh_QW7(5*1<(O+?gt)k#Tw`=&op-SGiLcY-}c-Z4{>wSU@~5Z&8Fkl ze0Bq?ymxA}#)zx*^oAzn6m@N=-`ubUyU;jVrF1J^hcq1KeAKO&23u>&RH+R|+zP`Q znzS+AKPv=f2HC(6I%ea`k&9*$!L4Y{;*1f~(I9TYT2ntfQe)$Vt)T}trsz@;qcvbP zusJ?rfwIO3OggSLq;WV~XVzntyVxQ19(l~I*u>J9 z0(*Tepz-rC+=`m`xtk@y+d{YE16a;1ybIMDyVS)L$+oaQn7T08X{K%dCOZ*x=FqO2 zoA{k?!Mf0S4xO|)Ox|e@=E7j#rDi+BlwzYFZjKX8I(m5X>waI(X6=0bA#J)PM{GFT z_WqV5q)A;=a4Y_>u)anlz|a<6&P~QvS+|lErTmA^+7|Cem|+UsPq%Fg6X(sQC%2_G zds9l+Q>rN|fPsL%j0}l+5_OT|!m!YIYk0g21%?xa_PikeP=poMql>JLKYVV*y%nrE znQAtjVpaKF!2G%u0T#N(8dZO@WL!tUt#evqmK+m=J+q(wV2vOD3VcXA)+p0J;SFux zW!4Soqq64s$zEqNQ%#GCLI_@Wi??+%Y~z(g!!Lhnz02}IPd?*?Y^}H zx%?2~RxOrWp##l>ttz11@4jR z$nw)^8{3Fr1@k-5MV1pCkfqa&wrKJb{m#~a9Hvg&OASpLgbY9k8tsEdcfrPvn5Lnr z+jGQ_8FbV3C2_r$Vb|5Ws6}^|z*d5DX6JTnMNtnn&d;ZJV9O1Z5eUL$Gtfw_~(rArZoIB&e*>d+at>J+& z@W*Lvu<>}yjqroHq$twfz~Ky8rvtb zP?V|w*7Zbd&ywva}Uh)B0$<`Vk( zPG$e!*JDB!U>&6$Wt827tu;18i^*s)P-}>|#h!@Sn-kn%%Z!2NV7e7i$Or$g=+Pv! zDEYN+hjT36Um0aZ>uKX%mlY+SvEE~9gBBda8es1j+aINMc8`u2G?gV0Ot{jIuOS61x)p;>bjfaQ)0^w?VMHt@#q%CWW0ajmiD#i^NtrIwr@K>|eK>`U5$|I%J%?@^ zJUV!Co@C0CbLk>Fa8IoG@;X|uCnmUFWunniqOd7+&z`jA=O;_kg2xI^{knhEzktG9 zpF2nW$p-h)r?ko5q@eNmumiI+P)dB7q_#aGT_c&}%a ziJ#KFdpm@DgC|w2uGa7a63t|Z5-~md`Zgb*!@448c}mzqu4n2JmeQ?w3-XrP`2=s( zjIvgr&_(>l+M%G60DhEpzrKg z*8gb%>z|>-t;l7yFmBw)+8XGW`xPOB{;N{a0$R2|xxve*q&0N*^In4)Y{SSR7SQMe zE%C6@@4y7&rr#XsF1CM<2HG2oUEZUK_9$|nX4&5n*S||o+GmI}-=*CS4i>k*OV=H| zO)^ zH@~rnNe$?nl1I9+^YOW%*&Y43z{3@sJMi*hoV{^fx!sfVV$Ly~f8zD4*IUfX?{Yrv zVO=yA(V;v+<7x@#@Cp+-cc^B2(vsC<@RFEEjUXFP~RKx zwY?p@z~feM-og17y=Nd7zzQ}ZZ^K=AK!vT~h}_pFP9U}w-~NXLkNcHfcBFj7VD>q& zNjC6T`q{}AQQqP&yLyUu@vyo)Y~!!=_meH^dy7BD*<|+IhD|bGCvA5sPIrk{`M#4U z#l}0HmgWxf*dKW866rG*v~1x15!^rH1wXD`+y(IgA+Fs3+-6r@!^fJT_%I1Imq6oY zyOR-n9zaHI0lj|ewfb@8o;H)ZpiOW8`j*pIPRCXH?&F%R>RWg^PK+z3U!NWplz$f+ zDX8!{ejbs%b(cncHz?>f?)U7OHWtt0roac(_+1yjm8{GZc!6I0F4I55V5Qi1VP%@M*(ka6jC~qc8>x4*d$P0SA?8rgeL8LOy+Uj?-In^j(MN3f z2R(dlH`z_~=hMVqkLmvNQDT?J^!oWYyc-U<&_Vp*cba*jznJtp{p>;qg4^YVj=^z{ z1i>?_Y$8mu^hdUoANu&>V>rX*V`9P`Tc0bve2Clj>D7fq9Oa}fugxMi>E>&5#ZkY~ zme)TdN9niMH;UbzH1Fpl;^djM{f+ga_7{5d#^P3Of2o?=nC@5Ekf$yG7yKsKjGMO4 zZcY`&jO(JRwH5vQ)EA&+e_u2%`!Z<}&oOT@e%=-vk>#m_I;7C!7uaHgJqlp4H# zJbTo-oHx0k>l2b;RIC_J8~mOs4jE5-|Nb@xZU23W7~O z(kE@i_TSSJPj-_7ws-$L=qrvHLAzIU4IOa;UlwJk24H>M&YTFTR*w_(vx-l}4d2pN z+^>p*zoiy;dvcMUcmG8G{CYd-BZ{95vH1It_sC<*QXkSwTz{nax(|6k$VJO}88M16 zhb$v&ke=j1@s~A7T|$1dl++|0#ZCQ-ef>y~D0bg!QPd(6#fDogg|)~s|M&Z{c4c$6 zSd_I%j+nW{vaB{q5*u!@9Ij2qh*5S+LIALA@N%ji0!Wt2CxE_Szcu;2?7cF?@m&|_nOU)LcM5v~d%%L7$X<`am(Bd+Ce5E<6t zPxc^eAe9G1xyLR)Sl^T3QdPhAJ%Do*o;@+Pa5lD><}6ftp~zdm?q7!$=Axb_K7hqX z$H!Eyz#Aw(h>*WV+Y}Ez(&S;;*yOdYOIngkmeGvLEz9eYDPrh)i(fFY2ln+m^GSok zx(Aavx^e6w8`Dr1*F2k+54gP)Ux+f>;IS(Qy^H%NbN|K{{L&N6`c>G?2l0%LFF<7m z7+OQ%JPKR}=} zL?xZN-@}eW5H5vS>BQRWS@!cqQs_j4;t;O6(K0=RM2Ol<%Zd<^sJn!(OwgY*Aoc;1 z?D&UO4-oWU`UuN81@n$~c1Aqn<9TK|+jQ*BsvKq0@pYARUJP4EHeY{Vzts!%L)e;1 z^;3|bKTFWblc2Ie(Np0Wo;uOsI(*Ag*`cunGkz~B$8ODPS_};71fj=xeBFRy)*Ro=rl2snQw0Lb3NtlZd zL`h?2*>e`I#Gz)m}Ki%4#PrXYYuE3TtBRjS9D=PCQ9aPC@iphkvO-b}WUh z^D*tgYc;h89lqMQgIKJymO=5Pk?1$yGA*8{LOU&z+O7R*m3G$@7F*-VHzc54E9|o4 zQoC-;oJ35~z+}s3i6l1WYLXxrWO2!Chsb&}BF75x)jU2|3YvdMx_kqTb1e@O(Zpec z)WqVVDor#gC{Aoa%0+R-TuXx_5+6Fy6EyP2Dnb3`77t7!%}KqD6VX81`6}#cVM<+W zpOv#LD_W73b$?Aj2hRk}$M^H>(%3M|a-kJzBBo5V{Mm|x)q9f29?+MuAbYL}0sUuL znk5sJVku@3D?DgbmDcW9vXe=2jTxv@UeD4#g+yESCzHJ3KT-XK#+{Zftx1Qvaq(+MCGY;bEUR7!bVn9n00$n43%U zq>g;@L6wfA%(660!Hzm?NlhVN`*)fl<(K_od7MHL#9A{fsx~;}E?D}vAvXW$e2=%x zQtu@kcE4FVzeF~ZeHPbCq^US#xskKgqW3fiwk6bqX?%@Wa;EDOCeTN=a;mezYhjGJyb z+?FVVjzmkb87d7be3)l>)Rt_Gs)a&KU7o^o+J()*SzdY0v0oWEZaLHrH|&(fmWD4A z9ocUA;ANa&?@le=`7#+KHZGft_OaJA1=s!X74#J}k*C$qQVnLi@lLV218L){J3fIG z*E=G!Ga)^M^3Umvftyg|JU`RzJ|g?1((Ab?;ipkn3r`gI^nibOi@9RS%16&aKk-5% z12OG5S+Ap5Izq=yfo%%>Lg7gYlN#bFLTzV~`V9EPEQi zWm(plM8|dU^sGWUer3PDg$ligv1Vi^*esd?L$LlB%07#uGijn5JXLB%wXjMnf3W^c zk-mFnJ@?!lS~*z~#TTCV+^X?4S+6=t@oaCgS60t4<1kL4l(W#wW3w{$@;PtE8_*O?J)aC)+4pg-fAk^o68Bb8vX8s87uf_dUZRU^V{y^@3(e5Y+ZFm6t zj+niw+UxwIBC;yHM3;bw*Xm$Qr3`PvCy` zFvVWgY}(CdMB6z$#yd^b?fKka$CE;+v@wEaI?BD?5mdGPQDY_dvlVBr>Z@MF{VbNf zs?GrG(I)N>mb@?8*cm!uz*WyS@h(DjdtbE%s@q4a`K#OCbH8_&ylCqL;R+A%&OlY0 zt@JhSXPUjL+rL%wSGON>zjqB^up^NWN0Ib8d*#KMV74VKlf>ve<=zF9{rsXG!fo#o zjO6(m^Kx&))onHRd$%_ZAL-SemwT_vEFCZC$^)ublnx{KEY%Wj;C2$PSH^Ac)i8;d zJFC@uQmtNE^BbNKdn=CS6;rE~Yq^alE$KBAwqNyhS)GsmrkvIJ^+!*?i*!7|o9I(+udkAb`8II-iz?-;fi2v&a`xu2 zaeD`6wntg~0d9Z88DBVh9EW(pQO@jeX1?EePfzo5R>m4B<@VWX<>$G5k+Zi$m%07Z zi}5S>rPb3?c`7`eDR;b`M zx#?LWZ@DkGYjXBB?9c6hYVkqb4z5C{wds%%9$l$XvgjLoY~Z|@^o%zaQ4nnH*UXDt-J@f zvpBOHtWNKnV|3CH(XU#C0o)#3t-?@lXLI(hg6kW`6|xd>wDebm9r-ji@i6IC)l@)_MXW|j;pxZ17dc{Sjn$fj~!=u-kYd&nr@z} zKnll?|I4=S|9FG0{VxviMH|PU{J@xT#Yuh1@SZfwCon`__Tm)UTaFor30|!;BaY2d z_OBjR+dZu3wvzk3GwF@DSBn>%o_bk(JnW74=F@P$=EaWd1aE-;?*l6R_J8pU<-7xX z|GooC?$^BF$4TZLQ8o|o+Bw|zcCd)s@@g~U^*jE>ul&u^u@~yIlhm6a`|kp(`1Swd zH~)*ji2IdQmVmWi*#Ya{1XT6gxnJ1#_fzcn7r$_e*ZZr!)P7|Ll>Z&T+OPC$xWDQM zs`|6J|Ai^8QeXdHeoylc^K@HEN=3LpJo(JS`N7nz?U=|u+Lo4#~RjI+WBA(C6^XNIt z9iDh4XRC`3fO8fY$D}IF&J&dKigwPfYn}?ibr1hz0tZjv;uRg7)x4tS|2;u;JU_N_ zLU@lA9@cZ)%()1RDOM?Yyp@*=Jie6Mb}&X3uJWFTS==G#fov_!vodT z1HBc%Y>~5hy#A7>r`eocd``plJiyK!X3ja73O4ECMLa;@H?LA2p!WvYd4RmJr?0LE z50`qIaPWX^g~y@cY`-ft5go=)qU=!a=PcagT~P7>d41l3H_+RHh6k7%cmi@bYrFy3 zJix&ncFvVe=)Fxe=ce9ib8L z0{5%EgQz@k!#n{F9_Srqn)kMD<^g)nmAi;~L4O_4rsc2gnAP{Y^C}Q7#9v zJpSU&JIPQ{cX(`tJL-)W!OE(l8ThB;P!D9?&Z~R4mKu_#~j7RN%0p0dQ2n3cU5#T^x7)6H>Ntj zHxHX&91nc;f2dGBLEzui`DyN7ovI%H-*&)X!Q18*Uq3*u6Wzik74AP4dr-$z;qJ4j z!o9~>;oi5f!hPFN;oc3r414y674GLBRJi8>wE@%03U?r|%u?YF13p?&;f?@4dcVRQ z4w#l#xJRO{7fG=H2D%pt*HG+RRQeAP|7nH0?Bfde(jpJvUW*O^+dipqrvOu+GlBRu z748JYU*XL3s#P8|06#;=-$LG1OVL5#BQrV(+*-!!HN!;+v2Ha2KEg%0z=Ks=E8GSk z4;TUTu#|s8y6H-{qkp#l|B!`z4j}vM3U^iQfL(6~x&mYa4#ve5VgJ>*quA4#Qd{x2 zCFF6S?s{81)7BLQ7x?#f___jGcv%q60gIp=;QK%kD^J6}4*)hmo53C03&M724R|4N zh?RqH1EtU|a83t7a6mKe(-Hq<0XiF82INMF_~;m-rA83)BSie81wr@`m<89U5uNeb1hf+DlOYJJq2=H_U<0%sd=c0T?Et^hMG$sEXMtIb;9Wofv>hDZM-Uo7tHBdr7X%e_4%pZq zZ)l;-;LitR(x9#2z!CVm7+MZ)I})=Ft?aEmuFVrVt^6tEh) z6#U+DL9ntI@E+h8v>mKoB?u>3Jop@bX~+TX0KfAwJ}8IQgZ1k$fJkWY?DhDDE}R(< z?LWs?s?Zv6;s*2@S`E(l0^fW?XMs(d(Q9ZkxERQRwu8rS5rp~BIgEitECzf4Sk7X= zaa%C}Xf-$)*Z{5BijU4SU~Gnw1?~%2p|imUf$h+x;C5C)u(Jx_3>!wr;=zT06WR=R zF+ej8*p7e20WAk#1Oz2!0(=>NcO_>UoL`J$r4FNqDA{O&@OQ7er#%JH8@*`A7&WY z;IqI=Xa~6F0bFv>a_|sf1B(IQ1-3)Gz`N|&)zEfu32+j+6g=x7b~v;i{0DFmTKGl~ zMgljWbHEEq1mO|1&I}Q82vgPsmlk*m5Du*eF9KB1W^fS@3(a^lkN|B3?*-J*c5oTc z8rlK=4M>G{fu8_r(86I{x_|~+4z72Ytv?JUjHZAVS`AJHGNCnK^$|=ZD+k{LhCsW( zc}E4|O=vwh_!y=gS_y6g=%F>>o4|Y)4<2(In-Mw(Yz2y-t;cnkb{LysIKYA5VtS$F z;AFrKtpUFU9D~jQ&jCuI_27fRIp|XGHNXMw0!N*|R70!5j6J#;S~On3?PS=gF}H3XeIdiX&gAvF7V#(umsSK?=easjg^Ca&R}|><>0}< z<_5?Q-UQ5Qgb{;N&Z5&O*MN2EbJ#>M7@q^KKs&%g&SRQbWyTDwGWhZZ9IGq_eCP+P zcSDRGd`{VS0?J^V|7wViz-R<%z^?)WptHc^ zfh<(W0qcNFXgzox;0Qy9zz2XU(01^5z-s7H@MRz$+5x@?tb}%fp8>O=g-bZ-E@A!E zIOo+cdIL&!cLKiy%)$Yp2QLBgq0Qj!z-@HS4*m|f2we((1l)iY%J2*Kz&U6+_>(Ib zF}tULcLN(Rb9V5zz&hws9Yl*Cv3?kt8vF(j!bS`}4){Trf;B&3y`dTR0_4zH;I+U2 z=pwM?DyE%jFmd22fR=+B04FhGCHR+XxE$F`Fa~tlY$~qfdrQM@|hm1IR*o7I+ZQ06H5y0f>dxDsW9~5uYlFic5w10n(sd;P-B0hFCdRb_Y8gS`K~>(6VxH)4SLo&}wi8AOsC-z{7y; z$e#_K0vv+Y-^KO60EUW<2D}PTLKlJ80hME}Ro6SA$c5Y+NZCa2G&{m@M!cK(3BmS`gcS3D8#X9^g%AJNOuo23-n14>(cT z!5BzDxeNRR7=i|b`{)Fq#xX1h*8`N$N^n!40kj&N41_~#z`CXQ5euUTTmm>T;!^NA zz>H~hfNubcpk3g|2iW2>)W^nW)%p$ZJoC@4Vehv6_ z;0incvmvGd7ukA%R{%Gli@-Yo2ecg=@fe$jH4NSlys1DrIQkEa5?T#T1&*OZ8t`nO zFXHv!^*{);75p_Y8rlwi_y^WM8;0-%4FGRKE5XsgW+YOBQ-S3yDOd{>L1%#n0PCQ$ z!8yPNXvUj>eAXB^;ZH0pv>N;cU`31-{38&Ha)%B={uFBrgK=*l6B{iXTmZC2xf%R1 z@EoJGf^PtOpbj*c7Pia{J9v)mEZ&* zjm3ap2UfDWgy@7xFdo6k0dE23LtDY$14YmdaIi=O2ecBr(uWA8&_&?Qz!Me^z6IQd zc7dDv;?D@7)!@;976Zru=K~v{_28>OQ7F!T2gGCGBsQ8LBSKAJ9kd+W6!2p+0qzQv zqC5*c3K)Rfcxn1V+f3F@VmeQ zXft>tkk3X2z6VS|xeMI77N(R{1`h)CtSnNQZbRF_wSticS{{sFol1tGLS+qjIN*zE z$p-6z8%V_X6JQ-GSixt25X3vcBL1_-A(jZ-4S2-%2lzd}1#Jd@3p{}?Wef~KegXfB zLU)(P-JARJ3$2JZw;LfgTIfhW+V;48o}Xa~5h0+$(bYQTel zzPLwZgC_x5&^h3Cp}2~0AJKqygYd%)BO81I7yw-gz5|p(yTG;TV;Z65;7A|?S_vM3 zzuOMM(`^oTArQbmF#)dy{Gf}#`+#+bXMYi11}uPffbRkG!*Tw*AZj(ldZ2f5a3oL) ztpv9RwxfauJP62v&IV5cCP3$aO~77gGk6m)8rljz0Axek!DYY(;OMy<Q{xQ0A|*H$*p7zP;Nd_H;Ff3d=AKkc7XS!VU+CX1wR5NV3~yW*pxsT zV)Wpa9Wje+$-rkdSbt~-_$Hu6j0;?|6V`t<40$Is0GL?=;B}pGav`Y|ytoT`3vCAX z?TRUd&IZo~% zdZz@p1Dwzra4%p!bQX9iumKf{z~2E^pi99|0Tp6|UKlxWh}8v80#eb@9PnB|6CoC( z!!oktH*%j?{_~VHD6V^(JgmD^?WgnpZ{zJ6QNTnAbvR;SX9Ft%_VGFUIGugG&OVa2 zzJ#~dfY25XpQ&JgeT2_Gx@RB9vybQ5$Mq$sdmqS17ljXjGeGT5=p?WTc-~127Lq$- z8i9vEiwseiW%;OrL|XP&kavn_xXF9I_?^jDcle5pYKhWs(*$^b1J#V*L}kBKd5DCk q=XieUG=p;je)$w#5Y*XYrI4E>5GyW6$%bv#Z9BIW*9jIM$o?NliS{G_ From 328505512d330c64acd351873fa59d42b228b32f Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Wed, 20 Feb 2013 02:42:56 +0900 Subject: [PATCH 31/48] linux x86_64 binary built using CentOS 5 --- .../native/Linux/x86_64/libsnappyjava.so | Bin 221744 -> 46072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so index 20cf560482859a1f81f633687b74f2a4a4311615..fdea509bdb5ad45d9e0e25b9718b00a545ae9139 100755 GIT binary patch literal 46072 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 HA4C3MisXRB literal 221744 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%0D5k!sVvjcss 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 NmGC`hB!27Z{}+1C0BisN From 850ec427600980a4812fe251c5da92d0a43a4a56 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Wed, 20 Feb 2013 02:43:21 +0900 Subject: [PATCH 32/48] Linux x86 binary build using CentOS --- .../snappy/native/Linux/x86/libsnappyjava.so | Bin 169780 -> 42008 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so index 4534c1371e9015f4cc553efdb8fd65c138a48e05..d711cd4347cd6f35eabf5451fbf5c8cb8171b0a3 100755 GIT binary patch literal 42008 zcmeFa4}4U`xj%e1*(4iSIEzL_MO_6g5sCy52_PmR8$gLhWq~RhVn|3Te`2y5z_O5V zvXIlm(RhJsE4H-KmMX1SA)ulrBu&s#4MH`&MH`XYvnE#~IW}bQGnP;AP=1*38W@g!JHYxIpm0~4^a%4#w2fytnX399pEyYR0 zrE8^YM0y0C{#DPLE{*}0B+>^XZt%;Ni;<*7v62*Tr6VXEK>7is)3qQ>$8-lTj1XcH_{4^vV3~C!Tqwfb9noquLmCe!z&YC*S{GkeXsU|KRq#b$a`T}zx^JYi zoUZk`Q1M^zD9J1%r-o1g}()#@Eulosuljo3XeiT zOn=rYpV4l(H>~ihR{BvZ%=VK$KZfIvVbXUN1NcSitFho;K^)6J%|!gx!7=<81Nhwz z$MD}7z;6N^!>?KS8?5?2=u^L+!1zV#w+UvFq)7XYnaR>z_$==Rl*8XpIEJ@c375;9Z278rC-)3e*w}*r%MvETqgCCo&{XZL`k~S3h!Zlq#v@v3(@ZR zQzfa~3J*a2Ex><)6}|=eMKptYI(tJxLEhuJ zMR}zQJV5@T1$k)0-FfACxl2nI<}NQNEzVn%TebwXt;l^)c=zV{ipvXfmk4iW@nfZV zr7LEGBE?IWTvEoxdCR9RU0ecG$_f_DELgJ8S9D4FO7oUQ^5y2$Tx*Vrf9%_ic^FZxw#iA<-cEaUTJCGim6L65-x>(F4{2{MCy`?yiiyD_e<-=Ze}q{ikIeQ ztnd|BJk;F}=fz(Vy8nU#=M_5Rl1jZe5&oM6UXUHnFY6){k`@&|R_0rfKVrnFvZbTO zGq~9N%6n{SsZT2Nl`bk+B9-`xN(=H9n?-S);A|g?3zF92V}+=?uSE z`26C(cJXg4d^6S#eK!W*go;OO0({#g{zrW+MtTBsBIkKlc<7bK5wc6SVqRvPFZtgb zEcteX`LiMIlm*Xl*$u^s)Lzpg@YgULFJ)Wdq~c;|4{_3WtguUjW2AhmywT9BQGqns z^3yCo)AFZV{!GiCW%+Y0f1c&fxBLZ`Uu5|{%U^E!D=oju^4D8_jpc8&{B4%M-ST%@ z{vOM(v;6&*zj?daj%}8|!}9l7eg)uc1EEJ){$|VHV)qjXpZy z7=84dLBBura{5k5>ZFezJV768tuFdtjI;EqV58oI%fT`9lRyLdS4fhR{#D>1`hz7Y zi9YZgO#fO*@~VGTIvj={s2XnIY4m?mlHP5Q!mj~YDf}XNg1_*KPW)TM&rn+!zZc1s zMNAI0h%hRZiWnKH6Jb;)74e_Y4iTnCT;yhWiwN_xXgI?)B0P-Y(F|9JFq4WVFkB+S zBN3 zDP7E1=NqUiKIByG!wer{bfpL(eZvC$o7__06{DAgHKhu9Qk%-JQR-}}2!uB(govap z`=Uum=+*UTc23;MfYa13J7tp;z+hCZ8_tzE1q5klPN~8VZ zM;f#t!^}n?zvgj0(om!Cyu~U{^Ee*S(j18L-NN#L1~-ZIxX^2ILH!RXcjOU*vradD(uiLsL#5MyYeCF>2BS+C!F?!}8cl3By zI-D5d7={>?>Ibm_XX@#)Y`NB^KVeh%DMwc;U8_~^iDlOYPx{6~R%qT65Cs0NJs2pG zH5OA(m0v5@-j6IXz^QF@eOp4J=LE=F{$A>-Wllh+)LEbai_xEmwZH~iU@xMCKOrer zf5L7hU123vBk66qHr=jt$;)=tw+%tO{zP18G1^xs#*@;K#Qq$PZmMkfH7qc}50?*8 z&e&H2U593ODUC_!J6&1uIS83K%&9BJpT(D5SCWo|!_Aq)9Jix2?CWC?*%yX%Tae=| z$Tt8f>W4f4Ss)TXMdL+qLuJEoAVJaQKdW@5tu9u&V&$j4&w+$gNs`xX!?)7aUoV$d zk3k&tjb*p$C1;g$3GzA$SM;XgsBeqYGk4gkZF+i4_5HSQ$%JaiN@dO~4M z@_vMsuWZV>uPzgiUYxQs?nw6bBwMzky&4GknIhE3_3w0c5)TTHc0 z?W(GS)bQtUJYZ092#g!XN!&PqV$sLI?P1-1B{4I#i0aIKw)!pyXc4SieLVP~?i*xV zHHCvWU$<}S08-Vq_8m&Va8`L+ew0>}s(VZIa8m<-Wk)Se_YCT##Ua_p%&4!Nor!hu3(x+C>H zS)tKbu8om*S4}Lk5dD!%Z4anyS#QU>H}GYU{&w8 zD~*!{PasOEAEait32n$ZjEa%b0h~BW;69q}C=Wx5HM)S04 z-owdVWwHPGK zv=T65bOhg3JxBaM2AU~#CZb?=OKDS@22uIRvdRQS25D(dtsiGrsANDCg_;d5wcE}$ zXP79LIwFmp6lj%$6oqUg@XfN@y3{Nti(F=XF14v|squPtM>L-5KF!k+tW&d`zJVx8 zx5uEA(03p|o3dQC&~y0Em17r>B|o>A;3h08IWB&G{9=$lupqCuAb)yM$T|y>#(tK$ z43H7VipZxoU`mjLk_n~zbyy)JsL94m5VEr2AS8@XmmPNsD1TS^=(qW0J6U;-ddV_- zYUi@!mFHlLkjh=!I+_r${uryh!!Px??&J)vy41t_2f zsRBt;fukx4YJa^(%y-~_WAERIPde~XI!1DJ5O9FCnmuhSPW2w)1R_ZgBU<(mEy1kL z9?o$>VnL3Lm1{?939KEsOGpjpxa3+eI3%4D>cgQn^_#?)s&`l1qIlX8lt9~1|L&BN zqMQiI$e}cjR67MDyv<_T{{n6hg|ce1Q1am2_Xp7rhZ;R$Y zExR-Lu5UD(j5JqwtHti%v_Rf8dni$W^A5T8D*Zkiptr@!!IuzM z_hk%1kPLbWrjp63x2}AU=HH>`{7#!@vmG32{{a#-Z(Z_xsUOK}zd{b1cdr)Mn;O_z zc5VATy4{uf5d@69mitXi^6X9Z>@0<7IgtEOU#!n3iMLa&4}Pe6Tm8FIPF4htNOILc z5Lxr?Eks|YdUwhj>uzicox$jockdL!6O=j*0a|$!Mm5N`J-}1-Zq)*NH1Cd~_BXV^ zR()1NIMuti{MTyd&Cs$Wng1|YVi0Hv zeSlP(-)gPA=3z#A4(pRstlY04y}hm{e+X(zRh>m_xoU(}%yNK%BeS=w&SAzC7%ybT zx9$P*O=N`LJ=^}VwW{X)LjD9(a)z1JNiO}P14T}8l<?6wzm{QB-y2%>8i%39vKU>H zG3zys@H+Kr;naQQyDL8Nz0$engx4l;&wkeqWQ+7|pXEUWVQFo_cUZb_>8)eI7iy z>RM%=LrYM;a;OJ67ELy00S|Qgt zUQR>n;dnWLSj~S#_3sQ_hEEJV$Uk}ACn9=p@TC0I6t)9s1LxD0eF^JID81F>3aG69 z&i3!4X{nw%40xr@7TS)?%4u0%D~VEef(4LU%ig19+0dqRJ6fb=C8`+?Eo*?9;gr|8 zQHL$i7#rA=95|o^4%pQIFs_7!fEWh^#?ydtXa>fmat1~Jj7781#^f{5CxtqhZmN?G zp-wtO#|Z+a%x+BmKwj5h-~tKKDAXHMIWo?C2^dcs>V^&#*l7s|N3V+Cht^9{y^C0= zTdH?w=x=BFxs%92Y4aX2UZQ54?X0R(vm52ApAga{>TW<{DS83jr0+WCHlpHfrC>Q0 ztz%K*+%pZ+fpQFUSl^}Z2bMPSXN(l~YbXS5MA&mCQ04ejJ4Mf<)kqAS)dL2t1CxiD zv!R#+G5cW->=0wU)71Fw#$+tQ)g}N|enI9ohJ1x^XD`h{Bpb0z0DdoL;UGiQdV{LZ zaMTa+1{KkGP+-xz4p?wOf%z6_z*J$4;XA)3fqjFq07wB9JGGdU54DmLw)Y2ptc0cV zK`=W++YDj9IR~oVwd`-i7s@PVV<<*u`)8p2D2GKT29#>d+D>h`BN$%c1~jI0n1iU> zV^L$O+XiO}h_UwPSsEz#OO()lsIPrgtQR272ODeAPn8Y*(U{5r6kZ!f%RSh0&~w7U z7Rt`xLWEL23}Q0rxDiUeUX1JE6ZzD#BDV~|9BI^c-)JC%TQpz7x&D6bukL8NvmU&-1W8zj~BgZ8F5qWJgvt}PrI}1m6emg0(P>u0xkbO#>E7fyAUQ>!K9raYo zha)h>cbRKcHE>LRnnoD(F;=VU#}GozHYIS(B|p7Q)Y+oh)C?Pi%rv`}?uZQ>Q!^5^ zbXcfeYQ})jPXGjws|60E23pD{sOM0;zeUdqV*xBby_@q*bjezF3x)w?1E(CYn(^)z z;P`+Gyn+rwhg~8y8$|dWXJS88jU&oec4ePE^&8cTVZ2pdw~NRI_CwG#dpgl9 z2~)wOEV~?>DH0;FoE-w2+lOl2%>uep$I9EYS@Rsxd{gXNpmUNh0hz8sCfY(gov3$f z*+EoZK27r*0DvuI3Tz#zn!gj{({sSq2?K^_XZv*;hxZXRunm0>>)j^T&T_?Ro^2Cn zIc$Ch3?!5MJNOj4NWwx)il9#p-JfB%IX+$$))e*~HrXq>w0wuo`< z7@4`nns2mhSCj3WvUqD+AuI<cr7U6wk>CRcT_M9lwlVmO#R`(>q#v_io>quJl0HXZsh zG@8>E8phx)01RDH1PeF70br4VaMlx9_Z+`6*h7`hQ`TZ9FI-FU4|~e9tQVfKDg3fel2EtbW8MS_!{a|IsJg61a zUp4^w%7($K5#nA}ILE>5lzMqx9)?u4=P$ayjS2;ZevFpm&^>=iZek0m= z;Oa*g!Dg;d5B(JhOiw1fN2 ziVQn*p<&HhO!BF2wOJ6rtQEvbMyqvVYI}=K6$Ii;3EPe^+R0VFBNDJliq>Iv=6H1y z0S)@7s4Ezjt9V#KQ#P|>H}Ky{o(@_%J0J}|RyQ3$(X#Rd#FHin$Hx60bkanAZ4-$p z5CqxLI^(9l0Fri44tr4>R&5SVCxHbWA~dMif-KuaF1c$GNZ{!#6DC$skv4{nf!PuY zfH1Qf%@{K*E2f*0uGF_!#lT(w<--%cWa6TjF2H!|MSin&4TzFx*)kPK4U$WbLUrwi9yX4U)ytLCc^ zj>24gnyu9RN2@)bg(}Zp3?PaO;`1meGDP6p&-l!|s#HVph8h~n?k{T*UeMMJ#3_p+)@EUTd7!L(@f94g>K%LN8AeuNd4(4LY; zAR>m<{t_&ULJZ2GUh5sGt4v>Kr9aJdM1lC@fGJYjjlTA0uD{InAKHZV-;;pj2@Nj1 zFwwJ`ZRm7P5`s6eze8h+6Jl12?^!t|;si;sZpBpXN-X5aA#4>EP-0M_{$uAvD}Y^h zNi61fSWd8U(Tg^=AREQEzlL4>$o|VnlxK_=D89J@182HD_^y9BB#xd9O%t0X&5*BH zS#r2#xAob(5Ju>6NTN}e+ZuLaA&k-3^Pt%3gi%&K-ED`y%(98S3Y)XF*@3T~od{j2 zLhtq+2=PFgt$PKikml9@9u7zFA42@g0Z`fSU(1D&{!XI8W4{dmmQ{YS$n{tdfUn` zH;v1d{m$k+LJM=CZA9Qm>N$DsN#p~|>rOe+~^IMwUUfub0B-6HfNSymKfJ7pF2Y)@e;MPdHe zLK%RJ8V~bG0q7e;!DE#T+sZ+sG_2KHfzb$0tJoNr!!-#INW)Tkr{-@px7JmEUBoua zNdbmgEc0R1fQ^bL(O`E(miruJfcHoE>ypo4vE`!W+)&8AxNuY6Z`AwQ1*{_OL`Ji)RDYwqma0#x9}Co{(3LuvITyvhr@GAb8ByAyIf?ZC5`e+IE9j9^M(XA0qbLR?Y8JKdApYV$v0yV6uf)4rAk9T6H0-kE{N+5iZlR z`#Okc8h6#~{mI8++qDe4V>xa-`z^yRtoj&5ZIn;`{mEyN52_#2s*7cuw{7)AeHxm4 znCx%aa}P(^bB{#qxmTIS+?a?h7wdf5aznJugKU0BEY^YEy|Lap6*kT+jKo%9*Oi~T zmAC+8h6CpNP{%)L!QC&fd+hOh!MS@f7V!R=6kVY_5AndUqpC%-PLb*emVTT!A&29}X0NAA&eJ36! z8dB}I{E#bVB!{`DHaQ>|nY{2oME1y8Na54`+vl#==JT*ml<9z}7ARu|Z z(zJEHh`B=%hZOtTJ5l~H-P2`G`flSHk@-qwMhqn2U{+xj@+l1Snx{)?9QJU^hd5a( z_Lt4`Kz@fYN8~*61Q5Iu#MhM*5dVSUs-gtkJaBoc<)kIfXPX(MV7+6((LY%9z`jc2gXeulv61Rd^opk!sk-M}cZ zUWI|n?^XjH{t+mT^Sqe5MdO6xngWhI&;A^XRRUE$$g3xyM$vlwNuTqyJ@g~BjQd5M zAC(CDMF{6<6?4iUi+GQy`|8i!&;T_M(NK zA7Tr6?pny9VVpud?rut8O6Ep`rv>Ls*qzow#@I#K3jvKZwvH(n60iJCV0jrvR^yVA>>Cpj86RFa|_QUCM{Bp-1(Hu%C}4$7TuSe!mpWi(x~N8v>L)%TvFoFD=`k=GYM5hM^!jz1td3)hRFmAs3FqPnlo2ios`x+ZTDp4tAGfhH$ z1S!#@iUL0@mc9jSE~OrpNKTD#h#;I%)w{&#qAt>`_FC(FIMxd!#3LubB^)duH zLGqD%3CtC!Pf+Iqy#(Tc5*LHOervN_MUy={X+L~xEunTr`ookaYG=mjAQFV8BiCJ@Z&z%R;XBlFS8W0+Xhe7CnnfpQ_;d-pyQtH}&c_}!y@9n1V z@bl?AsfF~dTl9ZRU*9Uy_6^WhttZlOE)GW6=BmFA_Cc2(W$scl3N8 zM=#o6z9eeCZT4S8z6*X8N1jc7ZAT+38%iF(I6X0uH2ZR_`HLJVIBq)^tfm-<<~i#a z98)Nj#P~kW6E}U^f8nWv2UEc(2d(qPk?|FU?<9e5-FN>5zJ7DWM5f(twBtU!WV9n< zsTb;EwIMj1lMRL*xy884MEj3u6j~k;G!*ch4Q@13clXs7Xm9Ag4}w`YaMpO_5A2Pj z#gI~0itL!p|Lr--QYr!v?w%oxHsc`7_xUD(k;X;DLrWj=5b3O?*mLe{U9dU;WlIs6 zzZ|wEP`|Z%{NcU|Z+P&CH_pJ;9UyX^^N|y(#*GmU0TO~kz7IvI`|LL6`v%g5)lmRj zvrIf{1PrtV^P0$c`{BLm1KrY?D6n{^=sXe$ET;GA_XsirAU3RNrdNLwC()B!OF_@| zLoovh{#+A5RxGlRFwacb7d1aqU&6H1E&nlxLH_@qL~;W?c9c17ncYRh85iqj7e=R0 z-uv!FN8a6oy*VQbobLYsik^`Cf@%?-Hf9KQ+IM^3p6#ALBgF1T#Q4E~isrQxiuQ4S zZU5BNkh|rBj^6W}6{jhnFS@|MXb9>QYE}4|F67}oFu?P?R?11-+Jkit7bSp(`i;_* zAlJIYnzvKjXE@ZB*j)AD@}rvPggQY?@(!Ndi{!^03>>9^y{Fm3okZ|P2Mz`{cNc

pP6P|&AJ_=aVJlrPeJ&OOjG!!%YQg)|WNGdvwiqmwnX4~VG#!Uw(}Iqr8& z@4k;^hG+JKvGAdJWG3&sbi?QLq>KFX`h@593D4>dgEExR8L$WX22f7mXeksfDck}A z3VJ)#A>3#Kn>dZf-X-JwtpGGYCTzfV4O)HI$&CCoxpsZ*Mr893sW@%d>}&kV>S$bJ z(~wVG2Q$sC6)RnfB;P0MxHVB}#`{fJEAccjFFEnP2DB+iV%*pG`+iop9MwSvDQ5;j z`m7#*GM&}!y`0r)uB*U_^V=NzeP~p{C~w*p}a8iSrtBd&YPO& zSqxRwG!QjS&Y`CCKB`iip=J9Xgj9e&sUm$N+1aH9zI-$!gzhCh#C3CY@ctaB|ppvw}*y+`gMvU4{EGzOhPIj&G3CH5y{ice`=p@3;fyzcQsx z5$j9N9Y05HW=QFB0jbXsY0{f^gZ7UI^8~(X+JE2M{%)KmKh-~*FS@>|@(1Wrds8K@ ze9+@-E%0z>jUMjf(fgt4J!g79f#+hI zx+tmXG4O$QMG`83)JXYoQs4k=O)%FrSJWVmKUv{pK-vzXr=`!YH*SbcpPAYuD?dVX zv!{hHHFB+t6Bu&sLAB-PIz*s9K4Z>RK{_CKyLuy9M8ZUsD4IaHbVjRh-#0dnQBlOa^;q z%@Sd$>MR&LfE_Cbi-3||a6*_QP5EWS?h_~|NAHqfd1eQoaGgf2WFNP`i1CA>k)(P% znloFF8L>LUU5LRBvXKpind*~a9)OfzS+gB58o>{mhw<$PLvzuqNSAAWyGJDMS38Yy zv`b;_dYTjAK12+~QU;`8VQpsp;vToimq3Rl5uwIwac>gwKwMLY%Eav22fuMr`QL^Buy%q6`2u zbDy9}NZiN9{mTwxqFI!cTyG|OyK`SFYHTwu7o~JqO$KMQ*r_nF^{DM;qK{tPL6+#| z8gYEYZnV^yZ8JFq$HH*-W{uz)!7u7l%%rXnyd$_qH4niFu2I))L29TG!i|mSs@z97 zqly}%x3O{`%Q0#ZVgnl0ea#hw#|V|Q3Z_|IY*rWw^b{j923U;fMZwY$`iVd&2f!xT zuLKy$KG3S?g6u=ekrr2XXZs73McsSM;5|H|cdWhHEUyU(=sVO*zKb(6vVvbDL2Zr= z7@uXZW>ii}4^ zaiMjBdC5Q70wcrl2n2Wr7>Aiu&v(Q&FZdL-N{G8)L3WM*J142za2tO*5xiwyO3 zj`rrtE%=vgVH|^oX*Q%^cjYaJ>uGf?z(R3of=QCskVsm!i;SRE=sPSws>`1d5Qd?O zVj7zTW3Z#6k=o2*8I@@sfk9@0nF$(1n=nM@)j8TbsNa%YoNkat` zGX~FGLl5k=9ufC{-r;nX4xx>S3Fq-t&wdC7GCqriFNTq^_AS(o4TzkX&1qN)ASEq_ zUhqS?Y6a+|)XfshgY5lgb$VuucqL){Xxe;mqXyS007hZS)9(kgjCo3v-4r*xM3H94 zahX#}b0UWncBacwU&X4#0^ENDSIAX&h|CxzJ5Z^Sb3)Ljavx=cv4$akOT{XO4d-#H zrhzzOK<#AW%}B&TCA+by@^yr9?yL=-RB_jna@8R8oLrlLWz@LIGv%tAka6+@a@836 zIdWAx{RidXuUH_iG&I|qD&It2OtQ#>HU!#uXocs?INP9I@vyew*rp8&qc-(8&N&+K z6gJo@t6fV8JQ?7nq!#W%b;Zb4Yw;~Vy%Ggr+6u0PzsCVE7Uex)U0|wsoi-gwUm4?& zgOg1%$hB+O7${&PKvAJ|9x)ykBLdfugkZ;ZlQBcE%zkoJr<$IFOG50fbd~|^d*gf9 z#CJ9Zc+WjRxmLn0P;%iK5;L?5!jYSeIBnZxLjl!-rlCEEhW-(W_cm6qVQa;69CGbI zfCEeHi9p$`6|CO@6!m*?DIF&-j2F$$i=&b2Uvdk^ve1z07o}!_YY|nvK%l{ zvyk~59za!X8Id&|5T+8Lr;ki-QRDS=H@vLDdirqs4n2JseV3k|M1QoN?xH_IPajNw zxSl?Nep*UhGj2(;imV}~=QO<}(;H`clTB}=>17IUE&GW))U;NxYJ@T=b)jFNsT6UY z#voi0#5rCS42|RAp_h>$jw^%|d~prXX?%t2O6YfV9s8xz)`?|J(;9N3E%YwLnHo48 z+Rc0v=AnD=r7VwGCI{z$jOd#9KUB!Ud)SNjPRD^_@o>xe>sQL3$!}8r)X%{I+>S+P z0yo^SkN#E(#1y1;m9kng-iL=&Zjv4>4laqx2&pM+75n@Vw-aTUZN7ONwg zMHXbofdeRIcP8;m#K}RTREsY#&_U#614rA$uYhO+FNFgPdgEX6Vf*2 z^yR*hTITy_&6LTu>de%K{f80LrEMatn)!Wa`$r6`nNK^h3=^?hFcW3-&P$L_TNJ7p zbG6_C^Xnmu1>A$tf;>5Z%Q2w`;2X6m;Ks;$x3Xh8a1yIcE+MeVbMAFgPnnHaEJTBC zs5zyMXXV5mt6qn&tbC3E-yA%EZ??!>C+O+_kZZr0yg^>)qYT2bmCMwYU!l&Uu%$c* zUEOlyA?Nx12;9r}OVZK%BllW_ClrocUb^vmE_2FrTnf%6^X zqtl|lBk<2&AYUYHKkCT_UjLi!FzWx`bU#D=|C_Ge;*%d(KKqb;{v)^w96hhnAgL?P zIOM7|_`v%-vAZB1xIBQh4Qh$<7CDp`dN%QcQ&!a`GBmFpim24L$kp4I2FGF+>R5MtW8v)gzz*)jJ8u}wVGMG zS|vj2PJv5kIkK4fW8|k&nSYnaFG|5lF0E>pz&RA7?%K~%M6w#>OIA3iihq@_VzrF| z2xoX1yV0y*qltY`#BCycq-qm7^bZ1ydN8+Dy~Uz_&AM%79r8P9U`(WF&oNH*?=iVK z)IeB4UNpL@J7bJVI?bwiXOK%bJ^hQxN%Fc!@ky!hrxELwW4}f_Kg$4rO@K>=y8+Gx z7m*Qh`2MeZ&2T6DV{ol-A6Rj}gI^2xOStFYRJbSMfU~|bAqKawLpQKO(FF8S=xcPb z{I=C&q0gc^9DBVCiT*+t9YHo`c)J(K7KAL~gqrvrY5Y2ZnLS>mw_17EbmzqxI51M` zKGl0n)*nVRPS`+sF&T^1%t4$vhyDRK#MEYSc$N`u##s?T#Sd_|S#TZ3&#mYVm_OyG z6Ij(QA(m@53M1&rto*dSg~?6tdQ^d<%+i$XP1MAxp)`^(@^N&yVoB% zD3nW#YWP@((AwE7Km8IRt-`B>$x{>_Gz6U z%|pndVa4eiEH*c}8^AudyzY5SCl#mT~XYCNAIE$${f~{!}7TD?*DdZ}iUkY`wk3ipJ#%6;A*RyIw?zf|IUm_tjW*HRg zJr?4MyjSd3uuagv?yTtyNPoQ0tL3J!^NhGyV1 zQDnXgUo_t!<2ZtUBaVEA_>d94zhp5(%g+Fe*92fvTVQ=-*1_`(@9 zwjW=luVI}10$*Gd+Yr4J(HsoTwu&<`zH1yH@xnLiFFI=`4dbexJQ5y#yK^!_8?flqPBGw%}iwV}03Tt@R1?9OLQVpy8g1 zU|nI2zh2u!@QOF70OHp0bblM`P=x}90zIf{6O}RZDDTD~QEk_>X9)J*H zRecr`we_Moa_vqr`sCo7s8j94j>B3EvULJ5IFEqhU-8(5*#>PB^Q-C8)lKv9!S#o- z^3>V5W%p{Cr_Kr~yy!I~d{$U9XQm{rgu5JW8y+FJ8?GOm*&2X%agW6p*OYnXLR%noibpi0WZHb>OH+><3vri;rVuW4 zHKh}23>`#jlR}j3O^UhiqnP_Xin;HjnEO7;^CpP7@1uxu-K6{kkU+RVyEQb!CSv8|>o*o=4>*mR`^3EV(Rd&z9Dj2snjvcZxZGsNEUzN)vE-90R#WFVMtpElydUKSj6Jyct(?2ew}1znapZp1t7o;DJI+Ga zsaP5RIBMAmcqBmO+~oOK#QArK^4`JK`!`b$vc107u)sCTlWWt$mT2czys-j}vg+_} z#<@B+!=Hr8aE#)9+@tng6*)=AM)|%__PJ8(@K#y~*Pi8Cjr~mBL7VOJIVx6_;Lfl= z0le&Y^F$CVLPthqOpi@3iWGuv{5qG=ER5CL&_UTpB6C3cblm3gbcz`z0fjeZVN%IH z($m+KA?n>?|Hs^a<|2FrdabhITo!1CMfgWzeQx}t3ndF{3>>Iu*=$Q0uq3~W8P6Q64EIsB__691ZsUqO?Eoi?}?3BD0{+01uKvk1_Z zhJy$NW5o`oCgS{4D;tT2c(F*JU{)axn&FD0uytVL_bufumKW!HyH{P5o$ZyzpWR@_ zUi<5FguZYqxS_J)6;DK-sKJpO0YOR%H8>pqw$H+Nz+rVTSE?pbaj1poJzcOUO4$!wMWVKpdTwYI9~zy5A*l z+=oLO^Bcd~M&iH;-wP`rhH@Wa{dmg1Dk5%IK zCBmS`6m1uCB1e*D7Ry_xE>LB*oe~(mCRwL81a&}|Fo+WGyO%`C&_uafkYyOxaHfim zco(OD!5V%Q7g8;Tkb{)R-5mUGgD}3fe`;2)ZDPxs)0}{T5FJNiXYf3yqk<7;>v>#6 zR7eT9=Cz#A(@|W>GwBy(NAtwe&lW#Bw z$e_1PR$zH*C&$98*O*vobL?P9^JYrsu)!9Kg48{fPr@5$AVYW)xf(;|HRW6!BxH6Q z`Y_GRV3opNW5obxre38u*mntP6K>9;81x_>9_foY*DKt7^kO?wEdF{n>*SdKKl`5BWKNu~c~$g3Vk!(ff{E)NMsN?_f_H;}cL#t{pLK<4bc z1?1#-?bUvsBC;F5-pU4#Ne8{XokExroro|sQtBd&76uw|OxifkjTdX!5}%%S3m`OF zGbsT6eu_;r$(w^`QT_n%g>7*VD+=LjnO| zb^SAFn%Tb=L1^w4G|F&ko0!jPZVtMh)VTVe^uGzt;*D?60hdGyW8pQ}8SOqF`2Vf* zequjDJo1kB1+YhgXG)jFT>UN{gKp@af0Pclc*qIE*-*2O=_@7Mq<~Y_pP>MO?Q;rW zR>IR#-V^$`YP|f3D_D?1V&9U3Gwj7vL@O3**(Y#3H_(Zj^YMD-U3hrJsSa9|L+ijX zeVHxQ@6_#kRL_Z3uj0uy-ToGb6CSg%?b9-Cc-rNJD3c{qE<>uD#a01WJ*6l877!t7 zEJ~xBQnQCY=gcM$^yxUz!1XMef@}Y6s}0)Q1*8D;<2iTiun#eJN9%0u&qvlj zVtjlLJW<&o0e2inNHb41_-^6&i1j65N8NX`H9jtXUhwNTV%cnt4E!tfX$%r^@Szx4S{$cufQS8j{p-Pt6I-P z-?Fim`8o|6x!=GL!YmiNY>@8!9VLO<;RzQt3mlX*||_HOQoK$?bypQdh2V@Z@`j9rB8(XeD-# z3^$6aIHCMgdR+$|5*G|jdR@=TO?rttZWp50cL~#Jyoj9tiZ-(?+H@lnTuNd#juv$3 zwvT{+NDrJZim{&DVcU<3wjaj75fWI3f|r^0J4ytn zl0)08ggy!Di%B1Wy)FbV&7_HEz3Q!&Yja%2 z`X6$*4;l}X%RX!e9Hcp7x{GhB^yfLRHo0m%m%rI<`Z%5EP%u#&e|nZ9ADG|{AmE$R z>_`wP@0cmU<-it?r1%o7G|jXAWSR>nq{LGPSo~#~&p2MKHtB(5NL9}m{mEhX+Hs5w z4~BGTfn&Hn6nG9VJ$lH)JZ?(4!UGtYPm5;)*?cNhJA!q~-@tfnS2ck(-e$y;hc;ZN$H_)P zQnP$6rcQ1m@2-b<;xmXb6*F8m^?tl6uwL_2Pl_)sfw*_EL#tju2PsEEzK4J?aul9Q z2brwrexGpis=R+Mp8uJG%f0dH2dQVu#^F&m-8u1KNXx9oEm{>%)tB>aid0Xvx{DMm zZH*O_LqzF7{eJwRgi;)Cqs{FBfx~=w<^zZEdC+ejl{WKLywFfXtpZX2N2EOmjB-}utq@Z$ zmN1?cV*z74og~(4v7Qe2@|r(ly1<-`7dYB~s(?trWn>L>UUoJ9Y5*kG2V4R3Zv;e> zll^_a6Nm1;p{N1$y)Ly`P%Ok{6Pk{FRc*S{s6P#Ayh-}v*j5+ulc7RB%8vzDrez}b{ZUPyxXNl&xkGoQhGv;Ge>!Sb5#Sv)u< zM2fFc%%vi_y_rn+0H58#i`tMn*++0|0r=oGDcmZFJW=njPzCd}%Xt16R(!sJq3k2t zft`G##=Ga>*V?Q%95iU#M_|78))+s>N}NNZ$$Yk#^C>obwCoyi895K?Di8giLnIg% ze-i{I1X93MS^h>?Psb!r^|JM`o=*7ky1A&3M`!T#1sg)HN_SF6fT%~3+SESK9G8q4 zLF~Yl7_gJT$dvjuzP3;jqrE%S(@eMwce@K~#16Z0t_F>c%-8&TTzsKQ9BmuAffLQP z+c3ubUBR$lhA`-50fHXmYsX^i%}!t?$(!m}S*QPT?KK)_!5}HAtMHZt1O6deRuWD? z2Rc#ELy+E`{?`lzRRh9zOrM>kl_$X-{EhY+jd{rWM|}go+6Q6cNuA)kBLd>vi&@0x z4)t>b(@6*BZhQu)V=iSJ2 z4&8rmjruhW$%Frmq|~9!8PPZG27)XTfK`MnTpt?)MGH23 z8*@}g5*F}-0dG8sf}=9QmIaE4KNKYxt4BW;_XP!WHGyiC4fmiN!Ejt7_`7`R8cqC@ za7h%5fKp82ScEdkVv*z|Xr<0^g0FhFvo}?`DPlZzL5e(q==KBA{4f}HolB<&`!{l* z+4wuCfcuXl(KYdC#o!2a=AjZ=OEO`5eGZN4zQG(Zy!6n=Tn`8Es=a;0G`sQ8H-N?_ zMUN<%`!(1Xwj-=?EICq(7+jYJ$xIPs+bPV2Ji&;hgK(X(hedt=?;WTzrxE-UB=Cj zj}#OKd`ryRV!{1@z*NjB;WR%nE?^kNJ4_BNeB|BJgidgBnhP(aVYj6YAoyDW>KQa* z##e0Ff!;0K%1B<`b@H6A=Ro8HcC+UIvI0?#9w<EgleENWOU}6|}1! zMBehiekd+`P{HC>v7jV&q%$CF@Cdgf^d;(#*blnb7d-Thr$$EW?CD*}=;?rymvmP- z7VujNKJY&1@s=98=U3CL;_ za=q!*nBErC+e)wfrphxpfAuYpt3E?WIRjm^jUW8GSeUPTQTmgF!Sc%caf6P5BC(k5au=nzw4~ zh7uGuR#}996ZhewizvDRDXNImvIeUHM4LTCRgNK5S9o7R-9R4EHyputbDGI7Y2@Q@mApk_I&;Z%`*1bSMlHV{w3=~w_h&mZS$A8PTM#FoW7IMyC3=;pK8ckZrL73~R=NU+Uw?t@ukX z_?s=e76A?=+fJuu?o8 z?{0@y>YRi>29v!}^;hFHWkzCrVljkw-qMrQ(j-+dTJ|}i6!Yz1$u`BGyyODEHdj&& zf75t9%gtOD4u1!K$@t#!WlQo(N>+>+<6V+pRFMC8!GeqxzJm19(!3Q97B6|+BSj!m zZtqE0>MzYN=t&y?V4sL_W>(Z!0q4srU0C3|&8+C#DfkobqpiTG{CugnB-efCo$lP+ zCH_T=q@{(0Wd%O>lsny{Bj1znbdQtp$L!ts7;k_lCM2;yarEE;@qTLp81lfU<$doHBDJWP_ zuz+=!6+c<9v~YM?ercXBzbH3ZTJo5`kR_QQ(xPHtL22HiTp+U0SA;^wr%1(1O8mZD z=41(vXDnKp|M-Ilq1ffV+ybJ-%A}&avLY5W9scm*l9BGRqT)hdvXq~pJ3K`wxMB1PVwqDHt=#R9Kp~aB;yBtNt5F(#O!ZWx1sVc?$&M{>8bz zr6P!K`X~ML?cyb9+mgIRql*4HT$#`RSXngma9`eIiwaB%+~ST7ecPRqoJ=f6v+goq zp07ARH$Sh;HyM>p8UDB*-qlEV?_igU+H ziH>+zygNba=SXlRxE)e|hr{J?Crb9jL|3A_pA?ta&(+V}Uy4uc@9OV%N(qThm(x8! zawHCL4R8;X5)%iy2D)XbU!v@i-7cwrqRZuS50dQt2Dt{gFO%Z>UFN#XeYq6h?{e4W z?j$LpUy>`yeTC%ccZKT;_mxs&zbjo=y04P@^}EV-m3y$%zu#cjVE5IMz5ms&tKHW~ zas97xUE{u1itm4|>st2^DWU%m*AVx0lB551uIt>_ONsrjcU|wkLF(842GtEZGMnyOQ0vN^t{jb=~S7A;k|E;Tqu{DJ2XT=^E+&w&WP_ zZP&Nmqol+EqgAKTxb0x}CTvOb(!TsdBTz9!`?*4L`E6rWLw0OZk z<*y!YOJB5TR^Gz0;d4qUNN!DbKfJ6Ma>NX}A%6sSMz~Z+Xfq8@SX}hitNs~F@=FUS z5%LyIU0SkYc>dBQWj=R)QC{h-7&oSeQD-uKGOl-9Osu=x6v2&yHDx@I?QWzccNo!K zNk*}+Y~sY3OBasGTC{X&X?Ii2q233}=#2OlLUQ87tl}jLvMGElY0;a|y{O(3=u@&u zh2HJ=V8UR}&4h58Rg|}6{J7y(w?$gq(=s!EbkoO<>2Bk+0-qP4W5=ZX?h`X^Z~FC= za(?|Y&1o)Daj&K!-$*yRJXsRcyfl19@@&ahRJwFoZb513(o$(@>B8HV7nBy~EwWUA z+a45beJ{j+c>%P#Yhx$1fb~*={`@uJa3{XEK-|6AEfKapQXgDwXchHBWgMw^yvH1#}|X) zYSj+@_%-Z7GaLS z?L=9$HQMIAKTe-;a5dCLK}9B>VUgNufHbX}~d*Nx~cfOBDEH-_~th$?SJ zPaC+XK8tbqQ^4D2MZvJnwf3xa7>}%zhM}q#`qCDB5QW?Md~_3{dh?MRV_7Jak+y-4 zm~S%NIHV1Q-`$>cGi@%SrXvl9wR+O5d_F{VU_8V6-IIn-@+SEq2lG3y0@Lr{Bj;RN|OE3-OyF=kC5px)1ROAoqR)*zWT0ARjkJr-RdGvH-*phgQHm2bl8SFtJ&RU2-F?3+Y`*f3A0WuQG;U zjQAjb-;0K^+9`}eh_^i{q=+pdKS+PpKM(zTLv%iTGi?G~8e}!z#p!9AC6{I)>ICHT z6C5BBUbDt7%VeL=dMg~}yC8kj-H6%sBz6Q_Q0jR9}Ww1N2HGFq`k>s ztw@(X2#5F5kEBPH;YRdXxXplhHoBgBDiYSjn`4yqxREv(bBZk*2Ib7aNaxs0L%id| zaF}-P?s{faBv|BKgHbKuiU8LJxKJNBu;cw};tPf3V0pA~Zaaiau+jCQysS0x0FB8c zplCnR=VOk0J-R%P*?y*zZzRll)fY)8-*B$`E)k5-$C6EML=6Vd)P3FuUq~b%0nudg z0H4lTe=HonJh~3%g`11C8lq>C~n6d=U=+ zxx0Td2gF&t&35M?eJ*qYF|HzX1#T=3TqIAv4$`RFhVZL4jB!K_S?b1Uf5R60m0fCJ zTxZPRY=}9>x4)2n<^As09nxlIsf_(kJHA_}SRuuES6seyAHGY>un}(i4MOsD{U|0(~!pn7yX0EB&C5#nUCL(;hV7h4&a;qQ}9Xd zCxATt3d=tQ--&R`07=6C(lEgN=eh9G!}w-9tI^+NZ~kFJ-uGCHK!5l|i5;?cyZIp5 zHhiO4hErDAF_Y~ZZ;eG@6Hr)GgpTd0wcMfi# zjQnt;;HJPu|Hu#gNzJ_m!F{ z#Y>m;3gjZKv|th8&5x2rK510(l4AVpgLPIK^?wR6W7a65C<q!uiv38Y$rzrcW% zMF^y_nvLT~A}lML6oE80V!K%CVx^5@C)iln*oBZHO?T@?u(_O?stw{BaQ$k?M8Q40 zT=Qy%P$<+2hw{`8*SWdEBdN})Eit*;I$&89olqmhgk1XS#RH(OI96N4E5_+zUu_HA z1@hD;p*9(7^3Pxrro_p9emSSnb zfajjQ32!N(S{~7NV&ARvb3ZwScV1)M&F|nR}R>@N@gcLIEP{{V(l Bz6AgP literal 169780 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�g)z2KZzkcJFy%e_C_qUd#(xm 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 UG{2&GkS>4S3EyB5+~tG+4f6O(l>h($ From 8fd45946dacc72d49d5f620db034489086affccf Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 21:26:43 +0900 Subject: [PATCH 33/48] Embed libstdc++ --- .../snappy/native/Linux/x86/libsnappyjava.so | Bin 42008 -> 179028 bytes .../native/Linux/x86_64/libsnappyjava.so | Bin 46072 -> 221648 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/x86/libsnappyjava.so index d711cd4347cd6f35eabf5451fbf5c8cb8171b0a3..e97690944a7efcca5ec33407eec5bd605dc608ff 100755 GIT binary patch literal 179028 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

qN?DnUL8aoMlRQt4&1hw*}^A?9aH|M(;7eh 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 literal 42008 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 Bz6AgP diff --git a/src/main/resources/org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so index fdea509bdb5ad45d9e0e25b9718b00a545ae9139..4c500d5a09e6271917c8c904dcd19509681d2b84 100755 GIT binary patch literal 221648 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 Lpf{5D!Sw$Lk{XCs literal 46072 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 HA4C3MisXRB From 2fc787bf7fe62894fbaa55b10b19460ff72542b2 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 13 Aug 2013 22:08:09 +0900 Subject: [PATCH 34/48] Add note on Framing format support --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 226265a..9e7c1e2 100755 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ The snappy-java is a Java port of the snappy * Although snappy-java uses JNI, it can be used safely with multiple class loaders (e.g. Tomcat, etc.). * Portable across various operating systems; Snappy-java contains native libraries built for Window/Mac/Linux (64-bit). At runtime, snappy-java loads one of these libraries according to your machine environment (It looks system properties, `os.name` and `os.arch`). * Simple usage. Add the snappy-java-(version).jar file to your classpath. Then call compression/decompression methods in org.xerial.snappy.Snappy. + * [Framing-format support](http://snappy.googlecode.com/svn/trunk/framing_format.txt) (Since 1.1.0-SNAPSHOT version) ## Performance * Snappy's main target is very high-speed compression/decompression with reasonable compression size. So the compression ratio of snappy-java is modest and about the same as `LZF` (ranging 20%-100% according to the dataset). From ec31b25d0d9e48bdc4cbf5b6f89a2491342a016d Mon Sep 17 00:00:00 2001 From: Adam Pocock Date: Tue, 13 Aug 2013 10:49:22 -0400 Subject: [PATCH 35/48] Build changes for Solaris x86 & Sparc. --- Makefile | 8 +++++++- Makefile.common | 16 +++++++++++++++- README.md | 3 +++ pom.xml | 2 ++ 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 04feafb..0821c87 100644 --- a/Makefile +++ b/Makefile @@ -16,12 +16,18 @@ SNAPPY_UNPACKED:=$(TARGET)/snappy-extracted.log CXXFLAGS:=$(CXXFLAGS) -I$(SNAPPY_SRC_DIR) +ifeq ($(OS_NAME),SunOS) + TAR:= gtar +else + TAR:= tar +endif + $(SNAPPY_ARCHIVE): @mkdir -p $(@D) curl -o$@ http://snappy.googlecode.com/files/snappy-$(VERSION).tar.gz $(SNAPPY_UNPACKED): $(SNAPPY_ARCHIVE) - tar xvfz $< -C $(TARGET) + $(TAR) xvfz $< -C $(TARGET) touch $@ jni-header: $(SRC)/org/xerial/snappy/SnappyNative.h diff --git a/Makefile.common b/Makefile.common index bb1d6f3..3765692 100755 --- a/Makefile.common +++ b/Makefile.common @@ -41,7 +41,7 @@ endif # os=Default is meant to be generic unix/linux -known_os_archs := Linux-x86 Linux-x86_64 Linux-arm Linux-armhf Mac-x86 Mac-x86_64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 +known_os_archs := Linux-x86 Linux-x86_64 Linux-arm Linux-armhf Mac-x86 Mac-x86_64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-x86 SunOS-sparc os_arch := $(OS_NAME)-$(OS_ARCH) ifeq (,$(findstring $(strip $(os_arch)),$(known_os_archs))) @@ -72,6 +72,20 @@ Linux-x86_64_LINKFLAGS := -shared -static-libgcc -static-libstdc++ Linux-x86_64_LIBNAME := libsnappyjava.so Linux-x86_64_SNAPPY_FLAGS := +SunOS-x86_CXX := g++ +SunOS-x86_STRIP := strip +SunOS-x86_CXXFLAGS := -include lib/inc_linux/jni_md.h -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden +SunOS-x86_LINKFLAGS := -shared -static-libgcc -static-libstdc++ +SunOS-x86_LIBNAME := libsnappyjava.so +SunOS-x86_SNAPPY_FLAGS := + +SunOS-sparc_CXX := g++ +SunOS-sparc_STRIP := strip +SunOS-sparc_CXXFLAGS := -include lib/inc_linux/jni_md.h -I$(JAVA_HOME)/include -O2 -fPIC -fvisibility=hidden +SunOS-sparc_LINKFLAGS := -shared -static-libgcc -static-libstdc++ +SunOS-sparc_LIBNAME := libsnappyjava.so +SunOS-sparc_SNAPPY_FLAGS := + # '-include lib/inc_linux/jni_md.h' is used to force the use of our version, # which defines JNIEXPORT differently; otherwise, since OpenJDK includes # jni_md.h in same directory as jni.h, the include path is ignored when diff --git a/README.md b/README.md index 9e7c1e2..9f30699 100755 --- a/README.md +++ b/README.md @@ -91,6 +91,9 @@ See the [installation instruction](https://github.com/xerial/snappy-java/blob/de $ cd snappy-java $ make +When building on Solaris use + + $ gmake A file `target/snappy-java-$(version).jar` is the product additionally containing the native library built for your platform. diff --git a/pom.xml b/pom.xml index cf4653f..15b2222 100755 --- a/pom.xml +++ b/pom.xml @@ -188,6 +188,8 @@ org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86_64)(osgi.os=macosx))", org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86_64)(osgi.os=linux))", org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=linux))", + org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=sunos))", + org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;selection-filter="(&(osgi.arch=sparc)(osgi.os=sunos))", org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(osgi.arch=arm)(osgi.os=linux))" From d03796f700301ac75c93ad3f5bb7f50b77a3f7e4 Mon Sep 17 00:00:00 2001 From: Adam Pocock Date: Tue, 13 Aug 2013 13:36:59 -0400 Subject: [PATCH 36/48] Solaris x86 and Sparc binaries. --- .../snappy/native/SunOS/sparc/libsnappyjava.so | Bin 0 -> 50232 bytes .../snappy/native/SunOS/x86/libsnappyjava.so | Bin 0 -> 45388 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 src/main/resources/org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so create mode 100755 src/main/resources/org/xerial/snappy/native/SunOS/x86/libsnappyjava.so diff --git a/src/main/resources/org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so new file mode 100755 index 0000000000000000000000000000000000000000..b1991c765fefd82fb39cb037fe0b03f3466f36c4 GIT binary patch literal 50232 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 XFzp*?kbGtv_}vHSmbGnbYw`XK=og2S literal 0 HcmV?d00001 diff --git a/src/main/resources/org/xerial/snappy/native/SunOS/x86/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/SunOS/x86/libsnappyjava.so new file mode 100755 index 0000000000000000000000000000000000000000..e9edcf59e3399ca2e8f7ffe052f9294a7ca4cf52 GIT binary patch literal 45388 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

DhJ2T+l8bx&n6T4zi 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 Date: Tue, 20 Aug 2013 14:14:33 +0900 Subject: [PATCH 37/48] Fix doc for 1.1.0-M4 --- Milestone.md | 12 ++++++++++++ README.md | 2 +- pom.xml | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Milestone.md b/Milestone.md index 4c24fa6..629a401 100644 --- a/Milestone.md +++ b/Milestone.md @@ -2,6 +2,18 @@ * `SnappyIndexer` for parallel compression/decompression * CUI commands (snap/unsnap) +## snappy-java-1.1.0 (TBD) + * Add FreeBSD support + +## snappy-java-1.1.0-M4 (20 August 2013) + * New JNI native code loading mechanism, which does not rely on native code injection. + * Add OpenBSD support + * Add Framed format support + * Recovered 32-bit Mac support + * Fixes several issues + * Target to Java6 (Java5 will be no longer supported) + * Add zero-copy compression, decompression and isValidCompressedData for LArray + ## snappy-java-1.1.0-M3 (28 March 2013) * Fix linux amd64 build (embed libstdc++) * Fixes #26 diff --git a/README.md b/README.md index 9f30699..7177a2a 100755 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ In addition, high-level methods (`Snappy.compress(String)`, `Snappy.compress(flo ### Stream-based API Stream-based compressor/decompressor `SnappyOutputStream`/`SnappyInputStream` are also available for reading/writing large data sets. - * [Javadoc API](https://oss.sonatype.org/service/local/repositories/releases/archive/org/xerial/snappy/snappy-java/1.1.0-M3/snappy-java-1.1.0-M3-javadoc.jar/!/index.html) + * [Javadoc API](https://oss.sonatype.org/service/local/repositories/releases/archive/org/xerial/snappy/snappy-java/1.1.0-M4/snappy-java-1.1.0-M4-javadoc.jar/!/index.html) ### Setting classpath If you have snappy-java-(VERSION).jar in the current directory, use `-classpath` option as follows: diff --git a/pom.xml b/pom.xml index 15b2222..5ab3cab 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.xerial.snappy snappy-java - 1.1.0-SNAPSHOT + 1.1.0-M4 Snappy for Java snappy-java: A fast compression/decompression library bundle From 8f3d77fd2afef0f2c2282ae358cbf313bd74ad35 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 20 Aug 2013 14:24:28 +0900 Subject: [PATCH 38/48] New snapshot version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5ab3cab..15b2222 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.xerial.snappy snappy-java - 1.1.0-M4 + 1.1.0-SNAPSHOT Snappy for Java snappy-java: A fast compression/decompression library bundle From 9aaf3470c90ea069fa735340c282678d883fe48d Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 15 Oct 2013 16:30:11 +0900 Subject: [PATCH 39/48] #45. Fix osgi.arch name --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 15b2222..48ebfe4 100755 --- a/pom.xml +++ b/pom.xml @@ -182,11 +182,11 @@ org.osgi.framework;version="[1.5,2)" lazy - org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(osgi.arch=x86_64)(osgi.os=win32))", + org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(osgi.arch=x86-64)(osgi.os=win32))", org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(osgi.arch=x86)(osgi.os=win32))", org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86)(osgi.os=macosx))", - org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86_64)(osgi.os=macosx))", - org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86_64)(osgi.os=linux))", + org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86-64)(osgi.os=macosx))", + org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86-64)(osgi.os=linux))", org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=linux))", org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=sunos))", org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;selection-filter="(&(osgi.arch=sparc)(osgi.os=sunos))", From c9d782adda80580d6e386038a30cdd2f8d825886 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 15 Oct 2013 22:49:10 +0900 Subject: [PATCH 40/48] Fixes for #45. osgi.arch -> processor --- pom.xml | 18 +++++++++--------- .../xerial/snappy/SnappyBundleActivator.java | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 48ebfe4..de4ebb5 100755 --- a/pom.xml +++ b/pom.xml @@ -182,15 +182,15 @@ org.osgi.framework;version="[1.5,2)" lazy - org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(osgi.arch=x86-64)(osgi.os=win32))", - org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(osgi.arch=x86)(osgi.os=win32))", - org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86)(osgi.os=macosx))", - org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(osgi.arch=x86-64)(osgi.os=macosx))", - org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(osgi.arch=x86-64)(osgi.os=linux))", - org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=linux))", - org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;selection-filter="(&(osgi.arch=x86)(osgi.os=sunos))", - org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;selection-filter="(&(osgi.arch=sparc)(osgi.os=sunos))", - org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(osgi.arch=arm)(osgi.os=linux))" + org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(processor=x86-64)(osgi.os=win32))", + org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(processor=x86)(osgi.os=win32))", + org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(processor=x86)(osgi.os=macosx))", + org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(processor=x86-64)(osgi.os=macosx))", + org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(processor=x86-64)(osgi.os=linux))", + org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osgi.os=linux))", + org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osgi.os=sunos))", + org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;selection-filter="(&(processor=sparc)(osgi.os=sunos))", + org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(processor=arm)(osgi.os=linux))" diff --git a/src/main/java/org/xerial/snappy/SnappyBundleActivator.java b/src/main/java/org/xerial/snappy/SnappyBundleActivator.java index 1055f58..5b0f7a2 100755 --- a/src/main/java/org/xerial/snappy/SnappyBundleActivator.java +++ b/src/main/java/org/xerial/snappy/SnappyBundleActivator.java @@ -56,6 +56,6 @@ public class SnappyBundleActivator implements BundleActivator public void stop(BundleContext context) throws Exception { SnappyLoader.setApi(null); - Snappy.cleanUp(); + SnappyLoader.cleanUpExtractedNativeLib(); } } From 011cf077468669545a8b00dbf63a0b5f0a55be51 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 15 Oct 2013 23:16:52 +0900 Subject: [PATCH 41/48] Fixes for #45. osgi.os -> osname --- pom.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index de4ebb5..80299b0 100755 --- a/pom.xml +++ b/pom.xml @@ -182,15 +182,15 @@ org.osgi.framework;version="[1.5,2)" lazy - org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(processor=x86-64)(osgi.os=win32))", - org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(processor=x86)(osgi.os=win32))", - org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(processor=x86)(osgi.os=macosx))", - org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(processor=x86-64)(osgi.os=macosx))", - org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(processor=x86-64)(osgi.os=linux))", - org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osgi.os=linux))", - org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osgi.os=sunos))", - org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;selection-filter="(&(processor=sparc)(osgi.os=sunos))", - org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(processor=arm)(osgi.os=linux))" + org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(processor=x86-64)(osname=win32))", + org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(processor=x86)(osname=win32))", + org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(processor=x86)(osname=macosx))", + org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(processor=x86-64)(osname=macosx))", + org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(processor=x86-64)(osname=linux))", + org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osname=linux))", + org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osname=sunos))", + org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;selection-filter="(&(processor=sparc)(osname=sunos))", + org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(processor=arm)(osname=linux))" From 5e1316389d1ede56672ee3e74907664e1cec312d Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Tue, 15 Oct 2013 23:21:25 +0900 Subject: [PATCH 42/48] Fix bundle specification syntax. #45 --- pom.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pom.xml b/pom.xml index 80299b0..348147d 100755 --- a/pom.xml +++ b/pom.xml @@ -182,15 +182,15 @@ org.osgi.framework;version="[1.5,2)" lazy - org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;selection-filter="(&(processor=x86-64)(osname=win32))", - org/xerial/snappy/native/Windows/x86/snappyjava.dll;selection-filter="(&(processor=x86)(osname=win32))", - org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;selection-filter="(&(processor=x86)(osname=macosx))", - org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;selection-filter="(&(processor=x86-64)(osname=macosx))", - org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;selection-filter="(&(processor=x86-64)(osname=linux))", - org/xerial/snappy/native/Linux/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osname=linux))", - org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;selection-filter="(&(processor=x86)(osname=sunos))", - org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;selection-filter="(&(processor=sparc)(osname=sunos))", - org/xerial/snappy/native/Linux/arm/libsnappyjava.so;selection-filter="(&(processor=arm)(osname=linux))" + org/xerial/snappy/native/Windows/x86_64/snappyjava.dll;osname=win32;processor=x86-64, + org/xerial/snappy/native/Windows/x86/snappyjava.dll;osname=win32;processor=x86, + org/xerial/snappy/native/Mac/x86/libsnappyjava.jnilib;osname=macosx;processor=x86, + org/xerial/snappy/native/Mac/x86_64/libsnappyjava.jnilib;osname=macosx;processor=x86-64, + org/xerial/snappy/native/Linux/x86_64/libsnappyjava.so;osname=linux;processor=x86-64, + org/xerial/snappy/native/Linux/x86/libsnappyjava.so;osname=linux;processor=x86, + org/xerial/snappy/native/SunOS/x86/libsnappyjava.so;osname=sunos;processor=x86, + org/xerial/snappy/native/SunOS/sparc/libsnappyjava.so;osname=sunos;processor=sparc, + org/xerial/snappy/native/Linux/arm/libsnappyjava.so;osname=linux;processor=arm From b1e1c007332494f54c191c6cf182ade94c575c6e Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 17 Oct 2013 10:21:25 +0900 Subject: [PATCH 43/48] Fixes #54. Make Snappy.cleanUp() function public. --- src/main/java/org/xerial/snappy/Snappy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index ea43f68..99a030c 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -64,7 +64,7 @@ public class Snappy * This method is useful when using a J2EE container, which will restart servlet containers multiple times without * restarting JVM. */ - static void cleanUp() { + public static void cleanUp() { SnappyLoader.cleanUpExtractedNativeLib(); SnappyLoader.setApi(null); } From ee94db9840abb031e0fdddbb45838fa1fb4d1de2 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 17 Oct 2013 10:32:00 +0900 Subject: [PATCH 44/48] Fixes #46. Set deleteOnExit() after creating the library file --- src/main/java/org/xerial/snappy/SnappyLoader.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/xerial/snappy/SnappyLoader.java b/src/main/java/org/xerial/snappy/SnappyLoader.java index 61c9252..b946460 100755 --- a/src/main/java/org/xerial/snappy/SnappyLoader.java +++ b/src/main/java/org/xerial/snappy/SnappyLoader.java @@ -205,8 +205,6 @@ public class SnappyLoader String uuid = UUID.randomUUID().toString(); String extractedLibFileName = String.format("snappy-%s-%s-%s", getVersion(), uuid, libraryFileName); File extractedLibFile = new File(targetFolder, extractedLibFileName); - // Delete extracted lib file on exit. - extractedLibFile.deleteOnExit(); try { // Extract a native library file into the target directory @@ -220,6 +218,9 @@ public class SnappyLoader } } finally { + // Delete the extracted lib file on JVM exit. + extractedLibFile.deleteOnExit(); + if(writer != null) writer.close(); if(reader != null) From 4fbed2f14b25042ec5038246873462cea39ad97d Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 17 Oct 2013 10:41:19 +0900 Subject: [PATCH 45/48] #22 Drop the OpenBSD support from 1.1.0 since we do not have building environment --- .../snappy/native/OpenBSD/x86/libsnappyjava.so | Bin 135992 -> 0 bytes .../native/OpenBSD/x86_64/libsnappyjava.so | Bin 147576 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 src/main/resources/org/xerial/snappy/native/OpenBSD/x86/libsnappyjava.so delete mode 100755 src/main/resources/org/xerial/snappy/native/OpenBSD/x86_64/libsnappyjava.so diff --git a/src/main/resources/org/xerial/snappy/native/OpenBSD/x86/libsnappyjava.so b/src/main/resources/org/xerial/snappy/native/OpenBSD/x86/libsnappyjava.so deleted file mode 100755 index deb885a3747d6ea247140d3f54059476fd971c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 135992 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 Date: Thu, 17 Oct 2013 11:02:04 +0900 Subject: [PATCH 46/48] Update pom.xml for 1.1.0 release. Removed obsolete repository profile settings. --- pom.xml | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/pom.xml b/pom.xml index 348147d..4550119 100755 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.xerial.snappy snappy-java - 1.1.0-SNAPSHOT + 1.1.0 Snappy for Java snappy-java: A fast compression/decompression library bundle @@ -281,30 +281,6 @@ git@github.com:xerial/snappy-java.git - - - - xerial.local - - - xerial.local - Xerial Maven Repository - file:///home/web/maven.xerial.org/repository/artifact - - - xerial.local - Xerial Maven Snapshot Repository - file:///home/web/maven.xerial.org/repository/snapshot - false - - - xerial.local - file:///home/web/maven.xerial.org/repository/site - - - - - junit From 85daea1e6c40cfb6527b942082f4c01b08d20749 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 17 Oct 2013 11:08:19 +0900 Subject: [PATCH 47/48] Add release note --- Milestone.md | 7 +++++-- README.md | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Milestone.md b/Milestone.md index 629a401..202314a 100644 --- a/Milestone.md +++ b/Milestone.md @@ -2,8 +2,11 @@ * `SnappyIndexer` for parallel compression/decompression * CUI commands (snap/unsnap) -## snappy-java-1.1.0 (TBD) - * Add FreeBSD support +## snappy-java-1.1.0 (17 October 2013) + * Add Snappy framed format support (SnappyFramedInputStream, SnappyFramedOutputStream) + * Add SunOS support + * Dropped OpenBSD support + * OSGi support ## snappy-java-1.1.0-M4 (20 August 2013) * New JNI native code loading mechanism, which does not rely on native code injection. diff --git a/README.md b/README.md index 7177a2a..cf6adb0 100755 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ The snappy-java is a Java port of the snappy ## Download The current stable version is available from here: * Release version: http://code.google.com/p/snappy-java/downloads/list - * [Release plans](https://github.com/xerial/snappy-java/blob/develop/Milestone.md) + * [Release plans](Milestone.md) * Snapshot version (the latest beta version): https://oss.sonatype.org/content/repositories/snapshots/org/xerial/snappy/snappy-java/ If you are a Maven user, see [pom.xml example](#using-with-maven). From 8c3c303c9c7e1a777ae317e7ab84ae81387aee19 Mon Sep 17 00:00:00 2001 From: "Taro L. Saito" Date: Thu, 17 Oct 2013 11:10:25 +0900 Subject: [PATCH 48/48] Fix javadoc link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cf6adb0..1b01c20 100755 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ In addition, high-level methods (`Snappy.compress(String)`, `Snappy.compress(flo ### Stream-based API Stream-based compressor/decompressor `SnappyOutputStream`/`SnappyInputStream` are also available for reading/writing large data sets. - * [Javadoc API](https://oss.sonatype.org/service/local/repositories/releases/archive/org/xerial/snappy/snappy-java/1.1.0-M4/snappy-java-1.1.0-M4-javadoc.jar/!/index.html) + * [Javadoc API](https://oss.sonatype.org/service/local/repositories/releases/archive/org/xerial/snappy/snappy-java/1.1.0/snappy-java-1.1.0-javadoc.jar/!/index.html) ### Setting classpath If you have snappy-java-(VERSION).jar in the current directory, use `-classpath` option as follows: