From 14e70b97859c63fa8bd8bbadd20589f3679f559d Mon Sep 17 00:00:00 2001 From: Ayman Harake <42536841+aymanthefirst@users.noreply.github.com> Date: Fri, 19 Jun 2020 18:03:56 +0100 Subject: [PATCH] ATS-762: T-Core Legacy Part 2 - Legacy Pipeline additions (was: review failing legacy transforms) (#262) * ATS-762: Add Tika unit test for pdf to csv * ATS-762: Fix indentation * ATS-762: Added 3 tests for simple pipepline. msg > txt, txt > doc, txt > odt, txt > rtf * ATS-762: Added tests for libreofficeToPdf pipeline * ATS-762: Addressed Jan's comment about not using asterisk when importing modules * ATS-762: Changed comment to pdf-->csv to address Jan's comment on the PR * task/ATS-762_T: noticed the txt mime type was wrong so fixed it Co-authored-by: kristian --- .../LibreOfficeTransformationIT.java | 27 ++++++++++++++++-- .../src/test/resources/quick.stc | Bin 0 -> 10903 bytes .../src/test/resources/quick.sti | Bin 0 -> 11830 bytes .../src/test/resources/quick.stw | Bin 0 -> 8098 bytes .../src/test/resources/quick.sxc | Bin 0 -> 9516 bytes .../src/test/resources/quick.sxi | Bin 0 -> 10316 bytes .../src/test/resources/quick.txt | 8 ++++++ .../transformer/TikaTransformationIT.java | 13 ++++++++- .../transformer/util/MimetypeMap.java | 6 ++++ 9 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stc create mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sti create mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stw create mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxc create mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxi create mode 100644 alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.txt diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transformer/LibreOfficeTransformationIT.java b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transformer/LibreOfficeTransformationIT.java index d589d31f..c63139c1 100644 --- a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transformer/LibreOfficeTransformationIT.java +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/java/org/alfresco/transformer/LibreOfficeTransformationIT.java @@ -53,11 +53,16 @@ import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_WORD; import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_WORDPERFECT; import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_XML; import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_OPENXML_SPREADSHEET_TEMPLATE_MACRO; -import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_OPENXML_SPREADSHEET_ADDIN_MACRO; import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_OPENXML_PRESENTATION_SLIDESHOW; import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_OPENXML_PRESENTATION_SLIDESHOW_MACRO; import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_OUTLOOK_MSG; import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_DITA; +import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_TEXT_PLAIN; +import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_SXI; +import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_SXC; +import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_STW; +import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_STI; +import static org.alfresco.transformer.util.MimetypeMap.MIMETYPE_STC; import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import static org.springframework.http.HttpStatus.OK; @@ -118,6 +123,10 @@ public class LibreOfficeTransformationIT testFile(MIMETYPE_PDF,"pdf",null) ); + private static final Set txtTarget = ImmutableSet.of( + testFile(MIMETYPE_TEXT_PLAIN,"txt",null) + ); + private final String sourceFile; private final String targetExtension; private final String sourceMimetype; @@ -146,6 +155,12 @@ public class LibreOfficeTransformationIT testFile(MIMETYPE_OPENXML_PRESENTATION_SLIDESHOW_MACRO ,"ppsm" ,"quick.ppsm"), testFile(MIMETYPE_OUTLOOK_MSG ,"msg" ,"quick.msg"), testFile(MIMETYPE_DITA ,"dita" ,"quick.dita"), + testFile(MIMETYPE_TEXT_PLAIN ,"txt" ,"quick.txt"), + testFile(MIMETYPE_STC ,"stc" ,"quick.stc"), + testFile(MIMETYPE_STI ,"sti" ,"quick.sti"), + testFile(MIMETYPE_STW ,"stw" ,"quick.stw"), + testFile(MIMETYPE_SXC ,"sxc" ,"quick.sxc"), + testFile(MIMETYPE_SXI ,"sxi" ,"quick.sxi"), testFile(MIMETYPE_TSV ,"tsv" ,"sample.tsv") ).collect(toMap(TestFileInfo::getPath, identity())); @@ -167,6 +182,7 @@ public class LibreOfficeTransformationIT allTargets("quick.html", documentsTargets), allTargets("quick.odt", documentsTargets), allTargets("quick.wpd", documentsTargets), + allTargets("quick.txt", documentsTargets), allTargets("sample.rtf", documentsTargets), allTargets("quick.odp", presentationTargets), @@ -188,7 +204,14 @@ public class LibreOfficeTransformationIT allTargets("quick.dita", pdfTarget), allTargets("quick.msg", pdfTarget), allTargets("quick.ppsm", pdfTarget), - allTargets("quick.ppsx", pdfTarget) + allTargets("quick.ppsx", pdfTarget), + allTargets("quick.stc", pdfTarget), + allTargets("quick.sti", pdfTarget), + allTargets("quick.stw", pdfTarget), + allTargets("quick.sxc", pdfTarget), + allTargets("quick.sxi", pdfTarget), + + allTargets("quick.msg", txtTarget) ) .flatMap(identity()) .collect(toSet()); diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stc b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.stc new file mode 100644 index 0000000000000000000000000000000000000000..310b6f2509f44fcdba8cab537e0bb0ecfb2073b7 GIT binary patch literal 10903 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 literal 0 HcmV?d00001 diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sti b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sti new file mode 100644 index 0000000000000000000000000000000000000000..33537f28c58f90b8b6ffc00d40caac2206b6934f GIT binary patch literal 11830 zcmeHtbzD?U`!}dacSuT02}{RP(j{FYxxmu93+&RNgp`1Q2m;a)(v65T(hZV=gdic( zUGJi|x8DA|pZ9s+zkjozoik_Vy1sMGHFM^infYp{T)jquf`Wm9LT1~o!FQ`57l49- za`{JQp+IaQV1$Pw806^aU~2(F*utOySEwZy3Ba5*}I;mGSZ z8I6B{B60o>IdMf=sadK?`JI0d@c* zL14}R3m0eSOB>uF4p&h$RM0O?N4attA;Z5LLyIi^-56U4$Qld>NZTSHAV>ILHvMqV zH@v?h>OUwuI>W4yZh)JEezfLKnt$>E(uFSnS&Q;d^}!rn94}S>gPniUgCo1i<^RJ< z1Ptcz|8C`_mLmuXcKFT8gYK!!JTw%P%m1ZMbZlH8=1`EW0~~<(k>qlOT8C<=Dd1vJ zVj)Fvl@w*Qkk?8S6jT(9%O3WWN()CpL32`)mC|v4u|6v9Jf(OgXbx|QmFbEJNd2LC zhK*J*9-&B*BcB2W1<<86@DcGL77ohHyD8k57%|2NnXjgwQH!ZRW5#M#&pbg}`B?wp z!eo}k*J}fHQ)L)ER6=oADg&R$Cu%uBmX_(5Zt#Dz{@{tXDzx#oV!fZ?6XFQtiT$%B z-S)eS^`HAq8oKx+!IEzgt&$S&?Txs=V|&x;rv(;Y;#YP2YFwZYK1Kz(aq7usiYG%O_tBIkqs}n(rTW>v;4Bbq zK{ehTdeL8Za?lNxMC3Rn_P3XDz>^j{r{aNVEd%daeArxwip8m)?6jn}X|k-J?#Uc& zuLA?7TQpc;Z$|c}s#jP2PMnP1@TPW+@m>tBpJWy4)^%mk3Z4W9YjM=93+|m9nWoml zf?c!Un7J%%#B)G8Bd<-pX~)8Q8`nU`!2ICG7U76GhZ_*nkx3zTpM8a zt$>e9o^cSGl`Z#4+MqKr*VL|8x9&q-Mm&~BJ??!Sv*Rqp*Ps5(8TWbmp#^!FiC} zku#k=eA?cU*a)e+2{_1Ha4Nty+!t6b5>3gjm#BZjGU3quSzBa;`C^U>%3{PNS=+m+ zB`L5P|HZ@PzG3C`(0eD^W9tQ@_8rFtJ)w_Pr}{f*b{nG#4ZcJUqp4%GixZ5c^;7qk zgHMd6$7)PJ*3%4_+)RPJO>vywDXA~@*7UQ{n67+gJN zO6)m#;flSs)(bjxQjz=s`=oyLaA$6eqbR`cVpV_i>zor#KfuY0rxFlbm8i|b-di$+ z%WK+{ip1IEKEPUgqoZ?#wbL|07Yfwm6d^v7L2kV?kZLV3fBtS;`cfQ9nOjk z&${N_eLDAwSJh~Wy0d_#erJ;+_PBj#n7-Iu0>SkNqDczZ!ZXR1s@)GSZPNvt3D&y0 z@!ss0-dRtpww^OoV_L!!lfZsL7(vx$;2Xx@C`V6s<*g>$M+XMEz-6B2f%4N2<%UFe zVg2d=ryw{2<>^5aDqEoJJ3oqOVxTbA!*!+mI#Erp(n^vGTXcDMd3}kUjd;0|Pzr-- zuW)z2oMU||vJL<#+o!Xs$2`?=w5F662{0#ez?kvfHq045YBi!}&gR6m$02>SkgcVb2%a%6t;6gSg{??1j!|F)9KEGhnFSA0KUMHDOTuMumVe0J zsS~?!N8f169mZaKzLN0q88N=Emb@?LJ;sg_@sJ)0vRKx4^_7T6QkY!kT$p4g`Q*hK zr*Y1Dq?oPp1U}2kCa7LM+*QY67HoaZ#0<(|`;Pp)uOgH92-cIu<3>ZmBqy-baENG5$LpXWw-4Qo>=T8~?+!(BrB^M0pZsUDv=gz15 zDAA}tvDl5}p!`FY!eOA&l!X3!028 zG1<^LzdYFt+0ux$*-lf@r}7pTwJx3S^g7J(Ol)* zA%kyYBYXP#-~xmpmB9=$p>H%OimAua)69#`Bv%fq)UJu9l)k(t4Z@t^2JG4oEOr@_ zyx7C&OQzN6Y<<$tv~;(ma@SWu(!xB@I=5uh9Kh698-DN1?*@8$ZYhdPRQ^a(_Gp#< z((PlMG*=zt0@j%cGzncErKkgctgZ8T%Bh(}fsk`F!Kf5w!Q*qe{W}Qg?Ax9wC0-#| zg-Cns>|SV~d6M=K0!sr{(UQFeMVztb$c|v!LH2Vx+)zoN>lG#kc^Od|DVppe+@F%v zGqFZEzBFB&6iX(}&*IF-Vn8z48RR$y9F#I{8Z8VKz6#A*>)Of=ZtgMNKME7rO(_&v zUl*@EGTCv4X3@@qwgK(~0wVW7?ptOm&3iojb>uRRAM2HatZrD^_&&p#HVRMgv~fiy zOv2MwbhqJdBECfxYW;w=fiKEyyYv1y#@5M^Z8tKPmo9X3Xkrjcejj2G5GIWS7|{SvHolH>GUc{?ws9i;ZjsvRT z_E@gnX^Ou*Qe9qClr5ul|0MQtwwqh*83~qZ+j9CxuUPdtO`H}e0jIR4BZ;M77L%Ok zh;?5=o`~v`Y5uxqnFN~~4@-0zn^PpQ+)vRjS9}B1)G}(zJ}mn z1i}_-4ZmD1F5WkU&kK_HZWMR89}h?n$i%1;-zvGv~vZ# zF1EbeMJYpV3QV@WNyMP?(d{K10XsMX|F|d;f)6VTDLhhp<`Fnb3j+R%C zG0x`?ST%WCl+LpBE+y2RKj1Swj$K^jg;U`j`^9H))-ye^cR#PC%rx85 z4J{O}$VLFd*A7&Utp#hb=($-)QkAcmFbCJ152s;yTWBkEmP}~34+XAUV-4n48W^nA zo9;YQhMS3_S_b)5dgSW)`6||wy@@CN{K5_N1eDI(WJsG>_;_fuK~tZzd{eTb z&yXc+4(8|CefLN`DL$w7?ICXJHQX*^cT}NXG|j52d4b70@7SNT5=4B6eXfNG!O|Ne zm(L$p@+KOg>HH+7wF#HK9%wj?1|sU3#YfxTrO@}2h|yN_r=X1U*;Ec>9%N|^0LZ$> zb{{MDZ15~IX zc>Z}oiz85jOLMtadvpG-pKbj0BGh6McP0zNLw~6FOul+utM=&JMlsKbGBx+ASnsUd z^lJnx1Rz69j1w2=wfS)EO_paOTP9ZrW(azCnXb3qK;4=)&v7z)AqK-x5Jl~-|7f{i zy-a21EW2aGirMo7${TkDFVN9CZF|v_Liry&lvNz(s4GHXQ}#&Co`3{QM(jPQn`w+;c=SDA33b%C{3#wq&dMqC91HLR6il2~o3a1P53w`($;MM(( z2z4xNEUNm#Z~5a+_$Nk%58dP+z5>5^z2N69V^P#N^3q%L(`a=%5%0}6At-sDdCf_c z80&618$2K8?7+k(;?1(nVHZudN%qc73lNg!$tl7<)%96C@vunl52DzU zb=GTqyeh$e>ZKvMhi%0ot5G)GsGKFy5}D`PNrb z(IY1G_-fW=(+*P5``Tv1j2H86ZU+2x53VPH!p$W6kU$k*VHxD z*H48L04a8qtV&HvWP}Dql35f>UIf*f>XU>CoZBms>#i)Y4d*=uNrfXQElk`8FuR@? zxYiBJui<0{6#=6jStVt$@wb$+~C;He05M!inu$l@mH1)cRr)pDNIzV_OB} zN)GuFx7c7&GI$;hVoIATeho6pv8{uRMP&+iWWJma*zi;KrW{C0Lh70_iRHO=Z-k|< zbTw{q+SHzVrhEGw>L#;Eemq+dH!3vhuBl9a=0GEyQxXI;7hF##rYBMCBuVOAwb=TKlBD4fsESX+}9?%?!=tTid@C>eJ{ljZ31`GQGtGi2BrG>N05 zw|qU~-OG`AcMMP$`^`HyL_uRCds|VyWVvpYpK1ppk~Qe6?K(MU4cO)#4X;yX@CAiP zyWA}8%5jDn7nhENR7op6+z<@9IZUP_&^oKHEKCukhSDO8X8HcZaz@VcSDoXnhQ*VX zvnFb9@F2CZB&B?m3_E^g#mCFQTH4qis75iy&I<;D;o~6!X{O1UNz@>TR{pMs>q5;p zt=ZkYWin63r@iimk=;M+#YF#Pjk6?uL=Z&agI0!BeXq@Qc3654{kU-ioiVv86YK*^ z6I2&)Txc6<;Ap8m7)hJx!(zHQ#f4r0L5n&U1H`&u_(#~Yy@>PC3n1tuYU7$T(cg3p zzOPHJ!51RQ8rxuV)#0^vGp%H6zEp7?>pl@?0F9Ky!E>jp$`24_ZCtzYqn#!l{M&4G8TVa%0-r5wN ziTyYu(V_t>$E=(huu>5ojnzmet%aNaPPwzx2+j6shh{XkA4{Cr2mhP0UJlf^6p3E4 zy^Q7S}4Sc`tcAh3zWTIdk{!(c$e+v{=`H$7|jAS=#&V z?Xl|tfW{}+O?_@0W%oVy--LyvWR6deEzX^Jy}E{Vo17(Wp66>q;Ml_ zXQe@IIQ>!_d#DZsT`nJTUOqd`A$d>qk|~S#WgV3eKyGrcTD{8z#FrgzpJy|c`%d6o)!6s&(t$DnNZV!?F@!^^NinKbJdn|(Ilkj z&2;uaLQ+=k!6&Ar8ckPN&q|cy5`A!QX6q{NRumh>fZB)1Sfg}W+xRe=%}3h}7w4k7 z!gDIuk{KItjU-ir58O#y7KH;BRF2ec>0?da^#^x^mj+8o*By> z4FE9nyzeMLiWfFJ!yl>JP(AQ`{SJTLeUp)5QQ1sf>dqtnO`W!b$n@@pjS#w?I{Qc5 z{`u~k>YGUmDLg2AQ|N$w@~xQyOaB3ZYe$ZE>AQBz9BJCEyX5YksO0m(wce%1Ld04|RcFoIvV|MdAvM|s!5b$QAdXVF`2rwyNpMQ};hvDzKH6t;IGG3C($T58SyEPg}tSvm`qm>J`Bwxc^QAz6uw$|GN+&K^yW zx?mQ-)(AkF!qH(zXF0%-5?l7i(X@u(Jw?y)JBkLAfMc2)#0YruxafurePV{A(ysApq7BO4Z&b1ccI(Mk&#i_j+tzsBPv;DeE_D#Wwz?S6 z8MWo{?2wn8RYr7DhWdmKsW}NgVv*eXKn~FZH#3(u&Z2s3rEc?{{0cZNAhEKBx4Rp- ziosV-)g#ZzO*ID6o2+Rs(9M%F8Ff;49`UBB$HC8lzUm&8A!i#iew)J(q16JE+x}^s zGfxi`*zB+!#GT|CIMGYh>@Z4bH7pc3@s_d23Wi$FY7l3o?B-tnw07h(bIIYe^U+F3 z@z$AoSMlux29@lN7&h^m#b{=2%T5vl-mC|1Vr72c67?20rdrC|T^$-=qMIw#Mq&BlTa=!I(J34d&e!ohl4&4}aSFnl$6;;? z;CMnD-mPrjA>1UP#?AF9+SvF-8nS;Ph)?$&FSf9{7(TT|F%wQ^vUJn$dV9qz5?G1^ zR_o#U-OGL)FWuox-%Z!Si&2In{RE*HClv)II3|7_2PUwjxMpx&Do#omgW=nCnaiAx z_@m|gl%a|@asO&?+?|fp1JM$}y4w%vx;$)F0&dTY8SdYS-5H2MH+WlI{lSm*b9xqD znY-zReN)DZ;5gxq`7^;1U`2%#*+#YB`*dd9GWQ1D0z6J|)Vq_eQcq@PoU*rFV_2W; z(Y7o7Q$F-{{79cq_af6Ky);fRm^HF^%r%0m`$mT$wZ~&dm{XtE;~hI`9Nv1m1?+E; zxSV3!4NGsSzoO%asBl0>8Cscx-)%#>Zn97FSLYK_KMf%U}E5)Y_KH4v53J$4d23&)2`n%jo001BPm9)H>P&-?m`?757$2zN>c2la|gc zR6-7+xo@l@?|q$j5+m>Mrdq(}i$=fV0S)r7rQ>Rny@}B}-1C~BAee`zz*L=cENLsP z+5{?=J?34SzzC^Ng>$`EOj;h6i6YgC&&zfbOca=JBB!^cx*{5w|ID7JHs}TUJ|Pp& za)Ea)N;=>a?iZ$UasSwspGCXrjB`sr^g$H{%9Lr*fZiSAj6uC%iMyV zx*ibKV${xz1M$w+)5^~>cyV(}*S#}?)HFfBu9onALqCSv!|{12n5`45`4Ek0n^kgx zi-%@sLIo2-z_>B}Zo48s3EqH*UEZvATOc8WFyHk<=QLV$SG*ld z3(A_X*5*i9da`9qsX0K!`1#I^qOnJk%-DHnDP|bu;J#ZrY4^Q4Jvq#GHp_- zG&UTPh9=_rst{FK<i-egz4WZ<0bF-kXlSig;BM*Z(&I9&#Y&Fcrf^0NP;dOL?ZPw zaXz$SMHu33t|WY0ynDn7zMq8EcWP;*;Q_4g$W%2RX8G*3jkZQ~#iGTHWL{^89cZ=-b{z zih;}mA}Xo0 zUs!7=S?`<46u+=&lhP#*!O1f%x9np&`Sh%W*}Vmo_Z3+rw7 z*lde(+fUCrtA8T#^j9lcFhJ#&;gc7-V#cVNs>YjVu9oexME7~{ZI8%FU0Pwb=Y8Jy zj1a_A-L3FqA$g!lr|`nuE>La9ElbjE_S~JWXsCGYy7|gSYA>!{F860F!k$;-qoDX6{#fq+;Ieq}f}|9# zp`cv;zmbH%2+-wbs+c4)qH_g1!;v&0aRwePZU#Cq)B;-(vi#^D7n%2K(FSOMiTK*EiF7xw-iP-|v4|4Tsn| z{I@k;%5qx3AdW~xq(vbhzDM*|70M-CY5CX*M zY72H_{9*a`cKqkoiu~4EOJ|VVf7IaN23*Q8(0xY-{xVQ`86c=jY-T5Ci-u{|^55b9~7v zvxOsUE$F_r7iNCx4dkG5fg;2ic!d}M5@LV#8SuN8f870z@Gbk_Nd%3YO)Y4+&Z1t^_pdtWQ0WwR;Mg zuDB}>Vm!I(?l8Skmh5xW{Yyvgr)Ciz3#F<2KuY5f((LK3TBmUeyA&;g){yhS7fSc4` z;J)Sx8H>Y_jbDGKn5^O=wY{&o+L&=w6<$~*F7e&l+s>xojZ!|JNJh!RM?;jiV@DLy z;o$-A%3eGwD2C^R2VnIFt%+>HQplPkw8cXnp84#x@YK5LwB3>#i^6~3&3et6sKx55 zbXV+d!~3(Mq=&g;=ezEpH}~A%7F^ZRAB;HMSFfhMoW#X$bMlj-qM*!Qy`02RuaKbp zJJ%EG++V^E=I8HPzleMz?ftyhMJ9h|Q~soOey{u2Gr1r9%u90T&+r(T{2k?AsGk4H zv`cE|&oGZn{to&-h@SuS&QE0&luN4T&p?ax=kH+uB!2!o(k0FDXE68!(oZ7jzoT4I zI)8>Ie?W2kg&6wZ;KL*f`QTgi`@+D#EXHZ3c=UDutFa56g>(R*N5%bS5g7?n@=ifDd{mQyL zI{6s{kx%N+gOne7|Mm^`Q;(SmN!v!g#4f+cerWw@;IGrc`QiokQig%Wl2P~5K&=fFwCM^>`REO$u49`b}E#TELo$-nh>%? zwn}9WzZvDD`s(xg{{H_SujlbR_nz~<=bpLueV==-u|DZRW&nT!0NCJ1YmeoC6?p&v z0P!Le0g!Mc4Cmn>1vx2{x<^vBmjy7geOP!bT$Bh zR9H`2!^|UXVX(`&{si+04brV`khT5^?O56rtz$DUgS4&irFpH$MX#!1iO$NcB{Bt0 zJ%%`D@PBn1O6Zk2vof?+)Vu;2Rh%jlE~w0F3W^T28*MS#eE+KZ)&@gQu5F^%R($_;`3wci+RA{% z4HT+ikWRXs=#6yxHYSRi`*Py>R3Gx}Zyrz{m6~Oxq`c99rYf_;>*uBiC#%+0tBkmg zOZ)OR96xDb+9>$H+y7$l-;D!5fY*)IESPWpEyBzJ=$$mwzN={)_+wU5P*Cj5Y+}u> zP!k>?XcP{H!Vzb2NussOkRNG=r+gx#!IjCbbRNjAADy zM~&F@^{U<+fd;%;>~g=}aYneNY7~=*4DB`x_q^ENrXp}a&!EXUecQuN1odU3sY-c3 zhB<~qzxOiGAmEPVa=H~VYwo_%tN!K(vVbxnV5oy>Ngd28kxykhC{RvWuH73r9)f5W zT)1+uA&IF%mEm%+t-79aorA!aCT;IZi_-dukK|0gR$vy*8$NZwc_{pvX zF!sBJdr}FUV82Y+pP6FLSC+=EFjGznJg&5**^3M9tUE{9pV|k$rv;M}WpkqK!`Z2n z8ZEJ?#mtJO*FY{ZA{SSsez>G?k-JHI~`0#4VpiW5In~5mrJa%Cd?$#$M7mkj;4k=%ROj`&% zF=gjHS)zQ-_ItLbIZ!)d7+96 z6u|LZbcpr~-OUh9w!!t`N!!6r$Tg9Wf$n2mV0RMh0(EXljT?^SM@g-VL+@`4KyG^% zE)^g%kUIF~sBZ)Aty%0tYqZOBRYkTRuQ(NGxEUie&qNiiQNHpaJH@y`cR8c3h3yGQTYJafg_CLXI=uG^b!mU&TS-lxaXlwZ8T(k!Zoq0XndOuqOW zIQd02{h?g`DwIuYZQ&AW2-S2%h*YfXR-dR=ELQYE3BrHT&wAVlW}dJ(cXtcrf6$74 z?G^vI;D}4q-!sj~);>$moXihj`O>ahlC;S9l+zxy($2b09{E%Xv;{EMC#RS>G;@ic zu%clJljrXD7&!34NlB2I)Imb>lcouF|;ok2yK^qRxphlQxrUI(F z8DXU{+5vaw@qWJ7?ufL?33;pgzV5$tu9Yl z=+s=!%EFwm%vZIy+uzcgz_hJEd%K%4Hb8!NQ3lcvX%WF-iE8aO`>~B;zDhWURLycr zcGq+H+UmlfkHZoD6x2zRdds(2GRY?TC`UQ$#u!?LE>W&PjBxi<`^aVS;Iw-(4PB8V_@6`ls+f;%1kh&P9w@M zI5Xk`Whw0!yTv?fY%PuH4|h<+pM7l1jT{3V$1u>eJbcM?GiO-poCWoTuOb*t{rz<`!&sJt^SBlR#Cpe2cLOzY$y#NlvivjJ9eH?XpC@)U>)w2zf*OWFk8Q^vu{O(i1SRSRopgz9@W^B+ z&CyKbSQZO@N?UVd;T<}0?5WEn>6;_j*onKrBKb5~r{&r6O(+!@ZaUl#dLuox86IOT zQ)_b6O*3|0mS44dz7z*-si^gG9nIP(Y@HvGs|jsGIjcYbq zpK37R`6FAM;u}u}F(JKZbY{iNU|rY73JM)&?b~@d@*HH(j%Ru%D=;XtY1S_X*rp2V zGAmp~vI|A_@Jb4#arj6sw4lxIXED(h4NCj)W(}v)>d&4CbQQgMK&uR{ot(=!_CWW3 zFx+3vP?C%B>eaWWT}+g(atJ~ga7K!;Mb$n%DnMr|3&&D7Gks8V0UxV1Rp7gCx1C-O zYbHu5Q0rcd)$t76x&jU?9sHOn-n90l(Zvat59M;3YdNe^h$ERE78K^k zt_|KzU3Q*G3lx=XQR?AliJK3b6`98TJ;Zk%kI9K79pfyr~ z^+vDL(8L4GCi!VLv{D>~(-Wx`@hb_IfF8%NqJ%1@p>CncypRW{F~{@KC5Eat;$_wC zQ$P+Bby%;Ef2M??lmYh6^>-Hb69UF2;gf*zTAS}v>{IkLa>p$q#j3@Go)uDJ^e*$q zn_f~D97hb9phqc1Z$MpuOn7S3C7ko)Wy!vaw0#VAJf63jP;m+N{CpyK-leL|O%2!H z!cIf?PUA}zG0O2aC5*_rb588VmJhH^lT#uMT&y&<1)bgl3&@86nOv4Q(+es(4PA(C zOW8{6V@&aLVqT|ac+)lt12g2-{oUG?Hq;&g65@2Igauu-=Uif!U&g1!M3ql30`xca zb328K%+|0k$I>PbPG8$(nA4i#jHUZJwptwcCeFu5BOhn+N_^em=xlczrON`LTx`msSa<``6PXvee z)mVzQi+*>i@IMma4lrm9xx?~SJDcOmyw?SgH1k|bV@|)KqPb6k*yB>u>TJ?e>ryA? zhe__$(TJX(o+Zg!?wj=n6!^?Fv&+FNgc!~*7?d>l%{?T$7k$Ic$DEPL*$}mUP=84X zHj|ZGU6>W$*j=xDcj?s5wXs&ijIuuo_ur=b48>+oUTs8%A$GZj%z1 zSmq<8XfbjC04V%#ODqj>iG|^CaFpZDB3pfa6g#Lu?^jz3oNzxNSiKyp_krE?JO?8? zU%Sod)#@t}Wv>NVNwzlbA{v$e)7PRtijpR}=M1B3H!UV-zaC>0ew8V6%5y>1h;xMU zIY3Kdx__kMj`hZijkoI)RF2X-b+Awk#sC>v+U8D1U(I{^zBg5CmRXw{la`d4`O5DZ znzYY3M(Jdy`!0WBvj}{Vx3K;mO(_$YZ5I46DdTWWhhkhT9YjoqO!zv9C| zV!qefOiM;t7cV|8H%Bt__q$keWhA_UGJICMwK;Gc{V-FvgEOkzy3gm>yAQC~^Qvxo zc{-;~_Sxy*gW@N1hn#41P9~g_s#j;ornDLi9ynkw%QIUpdo(u)7&eKL<$dABxj5tW z{wZ&g1T{@zgEw04^v9aK7Ct^ndN&qd6Z<*xn(wzP!g;0*@E#=i#z#x9=Cy7oXBmD^ z*BR7{zs)@&*^p}xw5i;zeaQRy3yQm2Pn!6}WoqJ`y4$$`nzCs*%e9M=2NeVQP$s;j z(1L56O^I-t=#fR!uUf%MN1sL=^*tx-M9r##H%Y0NHe0ftP!|N~%(hyN_%uI1BC)q&~3 zL$^1c*E4Wa=2$9Aj%pMr_B|2bJf+ln;&ARZP1m6&<5k_qV_#V7j-<83dy@3fE>AxkT3cg5SsNff>F@ ziN&bHo^qD&5d+NUd*@Va!BXlWs{9S#n=5WHJ*oOi?nz=u#ANw_Ppun*DS?=VqwtDT zCk8vpLeY`kjUtm>6&~bUUhAy!-((#z$tpcERb&=LySV(TTQ?tE*EB$+k9B5<`a4Lrsq& zh5Y3QP9HpGd*Ee=NLVSIQGtl9o-TRR;uxwxLf>`K+y6 zc39g$<6zc+K^8S_)vae?Fnh*Ti`J(bY}xgrT(jP_@M;EN9s0iAr-BpD`{?T*AV-P!9PzVTyfDygG zg1{1B(5^1grGK>d^Ma_btBgjY|3z2k504!&P$=Rb{a-vL^iCS&2!h(-?8M#RFn0kU z-_J<>5>hFk+HU-aE~u#x?@Ep^6bxgBLu1s82oW>di7!Y-LQ(=OXpVw=@a>fndwt0j zgLZ~Na3C2;Fj7`f6Awo~#TDhjGAf`y(0-u9QE(jG4j~S~z;@cuK)^ise(L^N_rqdG zlQ0Ox37vtdNlAib#3iN0!LnwOl1gA{B`LX|*1zkiKp{$hwDC&`v35T=StVJ5$g6Cz0PS>oD&RR6I0XYgWi1S>2K z4&mF09nQ`k0TYLy@hF@skTCvt3gJjQ$Nwlq+Y^6-KUH0S(FFfAceTUVIb!TwopzOX zE8Ni-=x&+pPi2S`K^sCysqa>R<>i4OHI<*EP>JZ!-rGOj*eU*dR)X+71<*pH9N>;W zqlA?L*+C$LxwA9uKoC3z^D`Gnx|8f6=mUsZc%uBC-2YMb<4#QO{|W1WKobTH2K09; zj(x0fXf(pr4h2K}i`{;$5$){l{;f5xeOe<-AV&-gi~V=Y{rq%AyW(95e1rcNKY90Q zac2l&L7H$J(#{q8FUI?IlGxt=-&Nws#{bgA{qn#p1Xs_TG}92*Gt>bg?ND$B81_d- zIPRJA0Wf{YC*N?HmG=BR;9bo=&8!lh*ILnVH#b^n+>Mv#eK(rxEi|Z)jX2c5T-la3 z(1}Ar-jHeac1%45d8K8U-|emFSS$2sO<#q6m-I>#&uyBJp2lAN7k) z9I30%zF?MMA!3tH;?NXX?T!zlmE3+8>27rUPOR{%sPxUUMNs=%%5yproAD}A|IWFk zEV0vkZhYp0wjqi2AD@F0&pSN$nv9*P?mBIn!Xa0|T>20g7XB%dl2l#ByaaqR=|P90 z>*Lc}@?|=oE7YRJUL(K4a^x8Dsheunm00S^G_)8yZge(%@zen`L2=HGFM#JMN( zNB%R)|3RaF2m3upxP8F(X!Y+Xzjv*0ACzBd_6N@HsQi@THMsLwc^cpofAqWu> z5k&h|^5kjX`}}9Gd#`h!^P4$y%01VaIir6Y7mpU}lH6^iMOB+=QduzN%ZKQ)4(bj; z`ywIsNF)sEXpe>>;6N`p7=ZGG1AN?J07rY6qy9f6V3__SDojZk0e6BrdwTrjMTr3a z8%>Ns>q8yUo*od?A21?}5|?WIDG^g3#XOD(I2r;+U#hTUz5}1TMSIp(Fd8Q4LONQL z1=eMmQyqKRUXgcmnf8W07+2@*Ee0)P&HjWFslXK389)(buy!&-&ro8A{Cl&tl~<96 zx4~onXH+DJ?$mXWt&^8(Tk&*#WlRd&o}qrb)$-;R!?rM=wo+j z3vDCgE#v8jD>*=Urq%ds%QuMCwI>k|7^~KivYDwxx?G@}0g44GlZ4$I56k2z>KcAX z-1x3BSksAeJ|f^*=ovZ?0q~bzuMcquHr{Kn@g?bF(BN|$oH&gon>KUf}6ZCx1N<+NxO zf5>O2tpuQ-X-M2=u;oo9e8Zfq;m^iNah7zJ`7!E^p>3+dIPsEYB^64UBg+}DbZ))6 z>s&BHYkNy4<@o6H;K%Pbo2&XWho2G0K6;<@)Nim6F-0Rt0{)Fg0-hv*xDjTQgOv#li99LXCYYm7`c3sK&?qpI% zjBaKq31j@-7ZlKJj6at@d+U~}AerJ@5lFgBCS7RY~i z6cVq=xjf$!rcfdyUqHj`=Z=%kSesvyLwO{!92XVFQ5}U{7+<9hXz%POW2S@`44yne z`t8PtNQNr;eL2_aH1nsnx$*QKRIyc{SwYuN!gBm|W(2>^w9oQHeoyz*)8=W5^kCBa zmQR{u$G2`+mwwmTQffmO_T~i|HNKe_FB;kpL_IzuTr^#2l{~bW;LW-SHlTD=ThZ8< zA!W?@LOp4{dy+d6Ey@rae74dfpP<2L+w8aZbrewV>m`uaGFq#ZWwi&a?U2{MO-PjT4y@*hhlQ2G zj4@k3P2m5sRwNi}g+lwnAgD`YwP3ZKkSjrd-llhNbE?qN0_O!kgDXGZj;mOcyq{@q z5fpmy(rTG|3QKKy0%GgD2!0B4NAX&*u=DZD8XnrQeL}VFK5;~`w+8zhSbbm$zru5F zfe%tPNkY&No;20|IIGXDN&8W8JRmy*uZ;i9;=m@eW+eC=0f?dXs%Bg0%5wA6gCYyI zxfO!uMY&dV#mQffuDXf6Qk-Al2XY(Ujj@52h%)qstr+#ZQ{traRyrEvAHrv3EING% z9s>e_)#=O}!~z3j7yCy#7tvwY2GPErl^6cG&6`8tDnPH6sT!5~D?QgZ6TI{8GmRRV zQyRQ01~F)apWQzU>-3`G2*2K*yJ4L*B@7y2qW^v^V&@G}G|Luq0qzzvZ}pY2KwOWT zXUkUj6dk(t?b50TP1A+Gpc&aF89q@ zrl>b=&j>cPm6S*3t&Oh}zcU0Q#)KBB={qT^7FbU9O zDN!~dG@FX+mri%=90~aoM-x+b<(wq(SrfnEl4*Q%jCYyO;SXoR(RN>_8A%!%=4x;} zUs`_Z^TnsXrsbly@|e7kwkO`dhV`pK6jRSz(uC(_83$LBlV3<|zv!2AA*F;T$Brw~ zSgRzA!`2#I`LBfy)+@!B&+6{hR}xwaB6H%O*SfxVT$wrZjC+)Y#b9%Pg2HKi{<~K3 zol0a*n{+#?n{um5MPEk&htc}U>f89MaYEmipKw3a>A9^M_})3NZ`9NJnD*8l4nvD6 z(@6Kwk8L%8w}*wR!qR-tjF@KCbsh(w^P$`_?mX^0*S?E=GOBSrl=O+@bHs{@cI_VQ zuAsEX!-fYm8&-TAOfZ%**`Awf0|Qv!nLmc^~2hST27 zu5N#!UYU7sA-dR35SnsxV4BVATaV|uq!7_O-tCub<_p@Qk=R1?3$1+50PH5At*qA^ zD^QaWmL-aGUA4E}YPJ$UvV~$Fg*4w2K3q?6Vju%gv-E%dPz@03 ziRwQbdVzDu!8jkFum}e*r0ouV9#ZhSz9oo5_MwWY#C;394u{VY_#|rtT*B8=;x(3P zm1nOc8F>X)NUxx`fVFO*OWogxTa_(3XZ~|e$hVjr{&xDsd=*x zfVuLH!%Ohs`Eie#fpj)_Vz?)E_E^I}nvJ%$Ds9!K1a`sNi^1I;Hu3VP>o2QXEhxy{ z+1B98`C({xmCs(-M$0TNm74y(Vdy8z$fu;oZ*U;Ki{SwtQ~kg-HeO)?-VDZvtJfnw zXhhr3WH8?Nt}ojgJ}n+MhpTF!RZC@60@(953Ekbwh@!gF0>wJhU?4sy9o&B;eR3;L zgR52TsX>G1F@vM!rW!tQDMgvFk55|BO=ndEEE+Dkso#7ZKZE^_Y?UynYI9fJ)Kk+C zF#U&?O)+-4i#XHs*V(r`ugAQ`85&``5FRO|Pit$=HL&%EtbIRqrYM!jq^8>_xf>Cb zwpD`4xCen5)x|B4)whR|0~uf`s)BgkshjmlJDX};;*_q8pV?}T{p9=I0k<^G1}v}LF;^O-B_Cf? zaTO?7s-{I+q6k&|Zh3aoM{*b@yCEf4nP+FcG$-5+cdeWatc4$6To{+hJ1XoD@F%G)1JIed@fZ`zn*gkU zRZ_Y87iC-Mw2`l-)f^8L^hleZ?gGirtDi?dn%>UekvOXH5x{bemA2;mtlO3)?H^o$ zSAEv!>f8jta%@hlyigCoQ}tTzB32Iy3sY*PfR1)Gy|@qhin8TrJlWGoej(qe*Y=2q$2D);@gyDK12k=~8zU>44%EHsK zN#6HT2j1nAQSL`p=;971VC;b1-s=qhIo#D-OJEkgGaw%8UAxH!I|k&H;apXLYe#Q| zEKm6>2AigehX~a0qqt7xd5GyxRq_d@TxXKHrG>A4tCCXH=7cpcl$s1kOlg-td7EO@ ziF^H8)6CRZf^j_Sm<*%vBdrKLo1H{Xni3?VfzJHZ4blkF*Kv@C0x`#L4F~CmxG401 zIcnJ+&NCq8{T)ARnZ1I0ft?}3mc!Wc-y-W@BYPUHYCf=j=oY#Hte3l@b!={;7T}?u za3_n}QfV`vHkZ5bZE@+nAQeM#gcAs1bUpk~=E3Mn0(dZPvj2N(RKq(1Ii~lCNkq?R z*a&-7+WA|^XWRC9?Uyu-wt454FCaH)x!>h(P<$}kn9>>JdvU)XSpfT?^unc1vZ=Pz zPrm45j3Pd$gnlaT47Z?!c)gg0CT+3d8#imE9Yj&<>am7<(@>}O>|PArYVE5H|9egB z$KtbGvUJ26-W}}yb=$g!(XlQzAFpw;c7eI<-Z}qZ@PR?$Zhzvvy}be6pr2S_ zNl8iI&(_~iu;ZUNq^Ae$CkpHcguoz|TA+Z!0Ab*7?4?S7qW_l`mw?}31OoAYU`7Ab z_>Xb_V}j&<&&H)dIho6UDQ5^Af^o1B9&&n^@$3DZtzY8@2yx$m!a*YJ|7@^DdLUdO zj%eU52_bh7w~{9m1{Rc%yd@z6{Fgu(u%i?jiiSbtj9nn?cRitwZtM;o2yZyM6T*kx z)zck`Vn<*UWJhC~VfKE$>|lhm4De5`OMaB6!)0f3>b~ymjxc)^iroofk8$%ctITfy zH)-~8@IOWTX8biuC>)B0+QS4LJuuvuvFbv+pm26w1Pq2i{-O83A-@=ZGGKO?AlM!a zk;AO>EkR)+L19s25s(xJBqj2D)c?d?YW}+`6^IAKja|bN27~zi9Nh1QOVCfLn4Kmj zC?qK;B4jKqAtfRr1rqrQ{Mq_35Udv}N|rzYG9!7j`R{9_0H`Dvoim_QE-4R!nl zM%z2UAcBqvPdHkZQ-t$Zr6UA}S;ar&Xl<*bJSHrWJ}go?c^H^W36x(6PT*9{sRMJ!JOLN8nLL^=~R*L zF9lyrm`)hRysJ-o{)YOkVWq0}6{w&Ar-tCGz*ifKpxwhAxqzkJor^E>8`2xMD}|bd zdIX1uIyyR>VPOjAq6Ztz=e!#uvf(pLm^xN?+-N-oaGrl+z$%iM{PBGi8?zWxEEbjX zK=W|=R=vgphZSg|)krK}GAbqtchh zJgr5KR6d-md-;5rXdA}i8}st~2#}0vu=(aSGQ<=Z02x*FCN@VqwR~q`UL7J~G!|k)Y)`hRTopC~N z%Zm5;>}1AG=J8Wzzd7T5(LFEu-deKHt4NTsARbRPs}RBYl2Q2FOqf)bHl#~T6tI2* zsJ4DRMYhTt&D0W#%w_b}LrwSH?4b!iGK5)e(xq*z{Q%JQ1`funRr?Hyhh$JJ_2ThA z^34goC=yv2B9ULSyRpOIA%s=#-$vAY*jHg$w3esLYIh67m?QM{%SlP06C?L`sBQ_* z$L&{VFP$JX@>JR48PUxP0Y;)cE*q%8b#Bv_?dCco8I*Q~R&MM++Ns=3vv-XgJ z;zCP(8$AKH#L0%DH+Y%5-j`lU88JO|Ft4*1Y6(5w1uN(0b@58?zJ5a$kh*KL=tlke zWhmavKDn$Ug9A9A)nuF*)ML=cN94ZL!#C6TA=XzdzqvMxY5dg#*JkDow{RWjQG?O< zIP#zPPyJaSUw@?Pvq5`_Q0{22PFtq|oTWUFUHJe-e82q~ue9L6(`aTmWnb1s%=|Ds zm}EhH2%(D4zpetW9mUO_Ag7E2*jV%Bg{;H8wMY{}OFz;`f^bG!g^LZjO1%U~a6)Z&IGbh7 zQgFYwp~D}!dH3g-WF1^}Wexf=dnQ>dv0%bHanp`xmuDj5L%6@kLPzdXX?uoZ)^fli z*O)xB4L+RYAwXJX?9j_?%pSNL71NI8Of>a&>aluaz502?1))(W%Tlpku*5-#Oi*CK z`w%Jt$f8X_-q#2$@~Ac=N|)ToirzcvTPj&a8c}hi!y;$HU02S}!buV}{WA3>nK~U3 z28%P6;;*t>vVCpYxqJMfRqnd+^PYSgx-zuua?&>$pOG%u`~0b~?xGRhnqVQTtAuO1 zg+cBQ2G7`vw`*?b4%5h17`%NvqF(AVyI7ytX>hokCc^pAxUY0;h@@xpW(;9ux5c%& zfzemDHC6V&#^}j6s|(&az-tyP7AdpS%!N5Fv|bn1q(6XW`HcaJ~ zB6ANc0&mwZhLk<7U?f+pLyK%D;fqGUpZBZAC-H+wjtfzW&E8Z}QRlOEdnRd#D`@gv zPhPe_JuBqsD!RCJ+SbGV^jL`DblGE5BgOW^XX_~!kcYQTtz+Bm>1T8dzO%mmh#x{# z5_i^UdAxOO3I!+tXSS&?ueZ*L%xb4Rg1me)oSNj-*Ye3;fB&06`OQUHz8RaQFV_R= z!ux{;z8K;&@dm5#24UT`Z#G!#S@Eq>Gn^}>#ZP3KV6z=1Ks8wTPu7v`4h0kWH~JRC zkqdSW21{_+Ob53g62s~0DUJQ^dnt9_y6;bzrUiuOoxLcC*k9EQoS3=meDR~;#Pxk> zNO5w6p^J4jV^K`Q*Fn}alx#z39g9%Y{eTm0?RlHsb(C#9h%PM4R9HTmeC7JMCn9o@p$R<+t9FH49vmi6Y@8>r9R zQa$uxX*a7p79=0GHPOE6FDj`Mc!KzRllN8v9~ZV-+Yj-GM~7XzNA|){Ywep7O^S~4 zgB51yWqK{By1c#=VjEQd0WOe+O+AV$uDaz=rq2m%lAvp3#(UAbvEzh?#apA@Jzu&* zUg|;bqR@Qv^Zf#q^PUMhK7|MPoP>Q&LfS)W8IB{eimF}hiQ8!_<#lrL8Cf?}sl27> z#mLFuFZHk|=)MU?$hU-BJwNs-gOjc5vVbeRZr*Ej>BF9??O+2kWqDp94eBEYq2BpB z6@1HDU4`=hxDiHAuJ04rob~n_b4u9S>}U~<59`>KKnC`iFJVkO;U}FsDT-`ukNJ)4 zccZdoq`+%uJ6D5~UBC8_&d{F4HiFfh{T_%B7)nZ&Fl4>~MH$*~r14r}ff%oF?&hL4 z&~gWh3j)6KNy}v!gdbS;3g^u|YF8?CVrnMa0&PDLowj_QsCe6q=N)*l*$i3C58DGwCG@yw zK^phsa0hQR2Xxp?UYC|n67dY>8gns)LaNnEzTkSPrpGFjZ_d-J^Vi7?94-p_u>igz zWKWwCCc@gUm7G5aZCx7Y`eb{JC1<^up1fcaM;8@Fu|KJr~O`gBYSYE9S0O za>&vU^%{$gjlB*(OWgufc7;4HE??B$~ZW z_y&f#$*aT!zW@8gMs^t$hoCPHu0P}AI~EHbvr<&8@_HRee;(naB%Z9Wgh5*uT=Ix8 z?s4WBQ-yc|Uv4Jl>~jr*vE|uR#_^1CdteykrQD8I$z<7=4+R?f&RU?Y*WG2^msve$(P06VgQ(93EF6+df(=D>S=)($ z;?mXe*Yc7R3Hw}#Eq#)HSqf725H_4B-`eZv-?)y1|{|dD%MLTY!FDYyG=-O#q~TR9=9yCl9Vno zF1B>mV4m`%to9%erTy z321*PJ1KG)1mx_$Gbde6FmsysXYNo^dg<+oENr$^qoj@08y5BsW5cV9EilWA$)@qC z`eLr*j7{leMz%hYfmGY0OzpS=i6eM8E!anf)3*Z{r%ww}ZfV$kWg`8ADR?I1?){Gg zS-VQnV<|;()5ejjn@AScgxrh1yWg4~D6pHeQuDI+o2*d=mlzu7tLvEFiOu7GVt@}8|K`tPGND)Cft+8WhOy;xjK*>H=Fr0QeKGl zg9_xg(w1MR?AF~1D5KYoK`nbpy-Z-evMrQ>wqa$*^M8Wdpg!Nx!9|y;_3FV zA4Lb_c!Qo#r5H=#5%4xKvNNZ%SN0)u``of7)0Gkan(#q|79+8Gay;rG69ehTVUJGx zr+zHpt>eY4>AX-YtfZL+J$SnKObsF*zGpoV&;{xg^wi=|HWE$zC{=Et9pu=!bus8ao)!x^SRJt@Iq=-3GBLDQ-cdvS(}1_H#cgSlvK z(W{OOv>bQSNF4b%dWMc)IP}MB9ev`%|Ii|4are{JL_m6urwC7)g*o{&ud18-dpb5l zg?2@e8nvxix)-p_wt;ilz+94$uc)tlquArQh|b)rqM}q{UYbF=@9C1DBQy0^eS6>GS2>0x@2JDdS5+HxgGH9u;oeLWaixCr$)W405 zLyPs_DKMC+{u}*Hi1|0y-ym3*X)k|~5~le7C&B!)&%e-ESeI!qe-RQ>{997YFSg$o z&40gwzD$exi_$U0za`21*7i5!-$S*RH`ITTDrWEfbzl9P@3Q@W1#FFwvXK zui`HPCE|2uN?Zz+HOGA_>#e~~37Tj}qoiGOqceYG#YoWCfO<3GM5 W{oD8imoQ??j}8Y53!Cfm?f(HMovbkc literal 0 HcmV?d00001 diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxi b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.sxi new file mode 100644 index 0000000000000000000000000000000000000000..daae7d5b3fd8e4a0d64962893248f3a684c0dab9 GIT binary patch literal 10316 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 literal 0 HcmV?d00001 diff --git a/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.txt b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.txt new file mode 100644 index 00000000..43a5841a --- /dev/null +++ b/alfresco-transform-libreoffice/alfresco-transform-libreoffice-boot/src/test/resources/quick.txt @@ -0,0 +1,8 @@ + +The quick brown fox jumps over the lazy dog + + + + + Blank Page + diff --git a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transformer/TikaTransformationIT.java b/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transformer/TikaTransformationIT.java index 860a0b60..5744c701 100644 --- a/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transformer/TikaTransformationIT.java +++ b/alfresco-transform-tika/alfresco-transform-tika-boot/src/test/java/org/alfresco/transformer/TikaTransformationIT.java @@ -72,7 +72,15 @@ public class TikaTransformationIT { sourceFile = entry.getLeft(); targetExtension = entry.getMiddle(); - targetMimetype = extensionMimetype.get(entry.getMiddle()); + //Single test to cover pdf-->csv + if (sourceFile.contains("pdf") && targetExtension.contains("csv")) + { + targetMimetype = "text/csv"; + } + else + { + targetMimetype = extensionMimetype.get(entry.getMiddle()); + } sourceMimetype = entry.getRight(); } @@ -108,6 +116,9 @@ public class TikaTransformationIT Triple.of("quick.numbers", "xhtml", "application/vnd.apple.numbers"), Triple.of("quick.numbers", "xml", "application/vnd.apple.numbers") ), + Stream.of( + Triple.of("quick.pdf", "csv", "application/pdf") + ), allTargets("quick.odp", "application/vnd.oasis.opendocument.presentation"), allTargets("quick.ods", "application/vnd.oasis.opendocument.spreadsheet"), allTargets("quick.odt", "application/vnd.oasis.opendocument.text"), diff --git a/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/MimetypeMap.java b/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/MimetypeMap.java index 612ae8fe..b897e960 100644 --- a/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/MimetypeMap.java +++ b/alfresco-transformer-base/src/main/java/org/alfresco/transformer/util/MimetypeMap.java @@ -181,4 +181,10 @@ public interface MimetypeMap String MIMETYPE_VORBIS = "audio/vorbis"; String MIMETYPE_FLAC = "audio/x-flac"; String MIMETYPE_ACP = "application/acp"; + String MIMETYPE_STC = "application/vnd.sun.xml.calc.template"; + String MIMETYPE_STI = "application/vnd.sun.xml.impress.template"; + String MIMETYPE_STW = "application/vnd.sun.xml.writer.template"; + String MIMETYPE_SXC = "application/vnd.sun.xml.calc"; + String MIMETYPE_SXI = "application/vnd.sun.xml.impress"; + }