From 1f990409278453cf5ce51d3cf43bef7a49011a20 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 2 Mar 2015 10:24:21 +0100 Subject: [PATCH 01/39] TMI-101, 102 & 103: Now better handles broken data (throws IIOException) and better detects bogus Adobe markers. --- .../imageio/plugins/jpeg/JPEGImageReader.java | 81 ++++++++---- .../plugins/jpeg/JPEGImageReaderTest.java | 125 +++++++++++++++++- .../jpeg/broken-adobe-marker-bad-length.jpg | 88 ++++++++++++ .../jpeg/broken-bogus-segment-length.jpg | Bin 0 -> 233301 bytes .../jpeg/broken-invalid-adobe-ycc-gray.jpg | Bin 0 -> 687 bytes 5 files changed, 267 insertions(+), 27 deletions(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/broken-adobe-marker-bad-length.jpg create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/broken-bogus-segment-length.jpg create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/broken-invalid-adobe-ycc-gray.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index 94a08464..f84833da 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -319,6 +319,19 @@ public class JPEGImageReader extends ImageReaderBase { ICC_Profile profile = getEmbeddedICCProfile(false); AdobeDCTSegment adobeDCT = getAdobeDCT(); SOFSegment sof = getSOF(); + + if (adobeDCT != null && (adobeDCT.getTransform() == AdobeDCTSegment.YCC && sof.componentsInFrame() != 3 || + adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() != 4)) { + processWarningOccurred(String.format( + "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color components. " + + "Ignoring Adobe App14 marker.", + adobeDCT.getTransform() == AdobeDCTSegment.YCCK ? "YCCK/CMYK" : "YCC/RGB", + sof.marker & 0xf, sof.componentsInFrame() + )); + + adobeDCT = null; + } + JPEGColorSpace sourceCSType = getSourceCSType(getJFIF(), adobeDCT, sof); // We need to apply ICC profile unless the profile is sRGB/default gray (whatever that is) @@ -335,7 +348,7 @@ public class JPEGImageReader extends ImageReaderBase { } // TODO: Possible to optimize slightly, to avoid readAsRaster for non-CMyK and other good types? - return readImageAsRasterAndReplaceColorProfile(imageIndex, param, sof, sourceCSType, adobeDCT, ensureDisplayProfile(profile)); + return readImageAsRasterAndReplaceColorProfile(imageIndex, param, sof, sourceCSType, ensureDisplayProfile(profile)); } if (DEBUG) { @@ -345,7 +358,7 @@ public class JPEGImageReader extends ImageReaderBase { return delegate.read(imageIndex, param); } - private BufferedImage readImageAsRasterAndReplaceColorProfile(int imageIndex, ImageReadParam param, SOFSegment startOfFrame, JPEGColorSpace csType, AdobeDCTSegment adobeDCT, ICC_Profile profile) throws IOException { + private BufferedImage readImageAsRasterAndReplaceColorProfile(int imageIndex, ImageReadParam param, SOFSegment startOfFrame, JPEGColorSpace csType, ICC_Profile profile) throws IOException { int origWidth = getWidth(imageIndex); int origHeight = getHeight(imageIndex); @@ -366,27 +379,16 @@ public class JPEGImageReader extends ImageReaderBase { else if (intendedCS != null) { // Handle inconsistencies if (startOfFrame.componentsInFrame() != intendedCS.getNumComponents()) { - if (startOfFrame.componentsInFrame() < 4 && (csType == JPEGColorSpace.CMYK || csType == JPEGColorSpace.YCCK)) { - processWarningOccurred(String.format( - "Invalid Adobe App14 marker. Indicates YCCK/CMYK data, but SOF%d has %d color components. " + - "Ignoring Adobe App14 marker, assuming YCbCr/RGB data.", - startOfFrame.marker & 0xf, startOfFrame.componentsInFrame() - )); + // If ICC profile number of components and startOfFrame does not match, ignore ICC profile + processWarningOccurred(String.format( + "Embedded ICC color profile is incompatible with image data. " + + "Profile indicates %d components, but SOF%d has %d color components. " + + "Ignoring ICC profile, assuming source color space %s.", + intendedCS.getNumComponents(), startOfFrame.marker & 0xf, startOfFrame.componentsInFrame(), csType + )); - csType = JPEGColorSpace.YCbCr; - } - else { - // If ICC profile number of components and startOfFrame does not match, ignore ICC profile - processWarningOccurred(String.format( - "Embedded ICC color profile is incompatible with image data. " + - "Profile indicates %d components, but SOF%d has %d color components. " + - "Ignoring ICC profile, assuming source color space %s.", - intendedCS.getNumComponents(), startOfFrame.marker & 0xf, startOfFrame.componentsInFrame(), csType - )); - - if (csType == JPEGColorSpace.CMYK && image.getColorModel().getColorSpace().getType() != ColorSpace.TYPE_CMYK) { - convert = new ColorConvertOp(ColorSpaces.getColorSpace(ColorSpaces.CS_GENERIC_CMYK), image.getColorModel().getColorSpace(), null); - } + if (csType == JPEGColorSpace.CMYK && image.getColorModel().getColorSpace().getType() != ColorSpace.TYPE_CMYK) { + convert = new ColorConvertOp(ColorSpaces.getColorSpace(ColorSpaces.CS_GENERIC_CMYK), image.getColorModel().getColorSpace(), null); } } // NOTE: Avoid using CCOp if same color space, as it's more compatible that way @@ -510,6 +512,10 @@ public class JPEGImageReader extends ImageReaderBase { } static JPEGColorSpace getSourceCSType(JFIFSegment jfif, AdobeDCTSegment adobeDCT, final SOFSegment startOfFrame) throws IIOException { + if (startOfFrame == null) { + throw new IIOException("No SOF segment in stream"); + } + /* ADAPTED from http://download.oracle.com/javase/6/docs/api/javax/imageio/metadata/doc-files/jpeg_metadata.html: @@ -554,9 +560,15 @@ public class JPEGImageReader extends ImageReaderBase { switch (adobeDCT.getTransform()) { case AdobeDCTSegment.YCC: // TODO: Verify that startOfFrame has 3 components, otherwise issue warning and ignore adobeDCT + if (startOfFrame.components.length != 3) { + break; + } return JPEGColorSpace.YCbCr; case AdobeDCTSegment.YCCK: // TODO: Verify that startOfFrame has 4 components, otherwise issue warning and ignore adobeDCT + if (startOfFrame.components.length != 4) { + break; + } return JPEGColorSpace.YCCK; case AdobeDCTSegment.Unknown: if (startOfFrame.components.length == 1) { @@ -1052,7 +1064,19 @@ public class JPEGImageReader extends ImageReaderBase { @Override public IIOMetadata getImageMetadata(int imageIndex) throws IOException { - IIOMetadata imageMetadata = delegate.getImageMetadata(imageIndex); + // TMI-101: As we catch the IndexOutOfBoundsException below, we need to make sure that we don't catch the + // IndexOutOfBoundsException that should be thrown, if (imageIndex < 0 || imageIndex > numImages). + checkBounds(imageIndex); + + IIOMetadata imageMetadata; + + try { + imageMetadata = delegate.getImageMetadata(imageIndex); + } + catch (IndexOutOfBoundsException knownIssue) { + // TMI-101: com.sun.imageio.plugins.jpeg.JPEGBuffer doesn't do proper sanity check of input data. + throw new IIOException("Corrupt JPEG data: Bad segment offset/length", knownIssue); + } if (imageMetadata != null && Arrays.asList(imageMetadata.getMetadataFormatNames()).contains(JPEGImage10MetadataCleaner.JAVAX_IMAGEIO_JPEG_IMAGE_1_0)) { if (metadataCleaner == null) { @@ -1369,9 +1393,16 @@ public class JPEGImageReader extends ImageReaderBase { // int sub = 4; // param.setSourceSubsampling(sub, sub, 0, 0); // } + BufferedImage image = reader.getImageTypes(0).next().createBufferedImage(reader.getWidth(0), reader.getHeight(0)); + param.setDestination(image); // long start = System.currentTimeMillis(); - BufferedImage image = reader.read(0, param); + try { + image = reader.read(0, param); + } + catch (IOException e) { + e.printStackTrace(); + } // System.err.println("Read time: " + (System.currentTimeMillis() - start) + " ms"); // System.err.println("image: " + image); @@ -1380,8 +1411,6 @@ public class JPEGImageReader extends ImageReaderBase { int maxW = 1280; int maxH = 800; -// int maxW = 400; -// int maxH = 400; if (image.getWidth() > maxW || image.getHeight() > maxH) { // start = System.currentTimeMillis(); float aspect = reader.getAspectRatio(0); diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 5ac66430..23c02566 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -94,6 +94,16 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase getBrokenTestData() { + return Arrays.asList( + new TestData(getClassLoaderResource("/jpeg/broken-bogus-segment-length.jpg"), new Dimension(467, 612)), + new TestData(getClassLoaderResource("/jpeg/broken-adobe-marker-bad-length.jpg"), new Dimension(1800, 1200)), + new TestData(getClassLoaderResource("/jpeg/broken-invalid-adobe-ycc-gray.jpg"), new Dimension(11, 440)) + ); + + // More test data in specific tests below + } + @Override protected ImageReaderSpi createProvider() { return SPI; @@ -396,7 +406,120 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCases#s؃Lz򿖴Ml `20C*6h(d"?F+Y|?Rn@NEi?P\c lù$%T^%" MXnISڇ"Cvm"쟻8*Cpifs;=b&e%U'ΝB0N،XvsZhr»Z̬ly^?:̶P7 {AuB}b8y{RQ, C'59ER&om' dZdyDlF~-OՑ_HN ?Kf^ȣ +R4X`Nz=GjGˍ +gC\k66WmqJ6Hˬa'](E JFu2'R?H}!F<ɢ>XWl1իbNˠ[=@8`sͷXNhH 8e `P:p#n +{1H&UZ tlM`$ņء QA\\RD-ZOAlUҎG*blgE,!(! bʇ;⨲p;704D4;`5g*r=[;],5\+\YVW bE3ezlU,SD1E  /Qؼr C1T;A-fMRAloKpF 螸l. ] .[SHPhAsx/rko G;/?Wٓ& |Ak0~3a4gj9y'V6] H>Gj[q ~qE\ϼU?͖JLqn>H{A *׿.3F$z5++*[SYXSIRBP Pr WbKU#*`Gi2c9Dr}t91n@[}jkY玧bW4>i_m!䮀/? ;FfR=/4B RelI=?wd/Ġl EkЩ 0X6six%!!.?sWMgf1 G pv(oK-/ྏԁ8(i86NIkT*1k?8\D1rqS_3& 4 5#dZmJ2<W,!t D+8=|e`)cҮY" "^eZpȮ9ޅk9sɫ)dXKk"HLiRVv x5?Ho.Y.[P n4-.$& $ہ=>if1Gq(qIB no$=ʸHCF84KA?Tx\zZB, ;mđHAV}LNQtVm\8>+ ̞?BT>^YCo,eUP66+\Uzz1tU6xؾ.\PN6A):nU +I ={oլ<󪎴7s{w. +1hc$oHӈ [/FeL̅'G4Lxr-5eXwܪჄ>L.?w#W֜%,>Q^aaq$/v +gO6YB)ene$n_̘1÷UHt>BGoî;Q 4˾FgZ=Ԛd +m3o/˻''KTZ! ƾM%> v !̧&-&p&yޓ?w-ծth~ +H+.|nb,q4ӧa–,kO 2и 嘏pL/s2f4 } RHLR*'0"OZ*; -52PeaU&N2܍~U=FAO9FROd ] E­;Tԁhb"PIzVU-N gHsz^ b۝5>]Mwh d_Yrw3[ڮqJtQ$ZE$(*yFzt*F' VDqU;a`#>Axb`9I` d H Fu#;, L/b?qc*3;SaE] +H +/#8ZU75׎G-Ep+ )VvWۦZ + +NB*ND ec\$p P)1]*9YyVW6lUxuڙfW\N*N8blqT\1qqTLr7 R{i 02llUrsI$vbPG@9UY"z3O/}Gf4 ܿ I-9՞V~V7n 4cɺ($J|(Kx ]Gykap0%4oݏolZhQ* 9g$_+:l&k18.D\c]iUMY[O* ~##y~([~ aKgVUN | WLgW'FO/0Y~-To7lyrI,Gv9qPl3K0Irkҧ ˜/1ݙ)k0S+ EWHMٹ$xS0BՒLA 9QYi3Bjo#껫לwy=IT#r}ϥ1$zqCFGq +B`:' m+5Ef)2_j6F#⨂:FjF[ V.@pvQ.Xǟw{)55댔i"Uͽoc\ # 30GwNJɳv}+M #/}0eѻKLj=0dQg R4B +( 2r߫Î8ǂ >+`;/6S`a$%Dr!NcbB 3W=\MB^IfU}>;/b"6۸ř# + aL{?lIJ;"ߌcxOc}6Kе[د$~8pbj{6خ'8ogS%A0 "jᅮ$`ò3R.6=pOP)U۩ d%{;^qiq_N,k\Bg&$>8jRLad=;FacrO\M9f*]vlٱV8 hR\sb͊Q]͔tT \qsf*™YlwW1jcXu8Ɓʒ>pBe,r3E~TYVIMi 6Jof AatQ|rIk|!Fwe+J 'h.!1 m(j-dxZ%Pi`[2^J,SNkK4;vY;YH C[FLyYD,Jeo/UFݞ$:.

~Mq#x!Uk2ci?!4OP2bœ/{+kh +I8;ƒ 0@ {9I&o6j~e6%lXҮ/-iF"zL3N<1+~i570*za:JVp&$UFNO6)}T$6᧎cdv~G{v; pZHSb$Wn:d&N-zS2WR*q27-@1o2qi)+'⫭iX׹ΓګRG\yv4r\aUcNBN{gb81uz; +m{1-#j7aί!%A-~<$A39fw<@;-|Q?)于BrV Aû NEjփݭqYPu?+sL1(csПޑP5TE@G\9|s(1Q5ġ+@N *nck%~2M@Fw=q/Qс޸Y$N&:[H# 8؂1 . LuNv$[w^ApHv8wb  ]>8Ǫ @{s:8y ?B n-ýqC 9S52T'iWD,d`bPb.`$ 4\UI1leqUg/(S6_lت |Uces@caMTtm,:W +6;)1)ZRNh(Ōs''Kvn1 +EPCb'oRqXkl /!&> +SnfZQtp:YHi>¸}C/A8vY .Ks IПJ}rL`45g`5́du0?P*2-[ާlL}x7F"\-U1~>Tpqk4;0_B3 52cGCޣl e(Dd OL{Tヲ S ` W4POцVm4`|(7 1Fk6":_#ՉĚ )6`Ol[cH(fڻ+2 f}e%ccjy@£|losUqlW ` l !8邚gp0:^lzkWő;w Rk\5ijpLADGpჅ**֫ #qu.i"_!LX: !0*~}F/NEcO0K}CFV;, 9pZGJJRSR +ڻ^87Ŋal $$  >A'V)6X'¸lwʙTYm={సUP,f#, Uz{q4+"4~c)j'3 FDM0ta4 pxh:" FT&|HqJ;!'~ehVaYnU]01l2@&D#Iվ$z* *q9GQ[XD&oi6w1 +Jl9g+)6Ya$)ø i׾16JseÖ\xbx{]B"( J݉QJincQ eKyl *Dza2*lw֤!̦R\Yi<-\R6SDrqfzQF8 Tb@c q07+`"9@!ӯUǦJ3I8vf!Cx8uċLbԍ4B :e f[Vsm/S!͟ @2܎IQ8<~a=}@)S<&E01HmVr@$ 1+x6"ʋ 25 r=pdP-㌱悐rofHGL7dr^3ö Zbl-#o)Ԋ ..\dmԧND5b %JFArq/3rPngeD2t2Z""8co"+hqtzwS2\ -߆ii+nFG[lMTs+*S|UV*CS׾*͎ԧlث\|BMlMqU;啮<)(6(8eD9F=\1/-:X2QrK3xa_Pԕ棨' ܋:m z)9)krN'j#bD㕋 wGd@c=0@^N1`g V@~sj ke4P~ˏJ3nẋW +jc-,\yrqXP= +\t:1Oڪ.^D :3E '$Apʼn#Tt tdO42pі@+EpMޛP3D!NOэo)O) ,K4&2V%HO}=P`Y-{aA,e --i$`Ӹ Vq 2" +ćCH +C% z%0 1_miIO㙵kf 8ND:ɒ\P#4pqR:⋣ԨrLRb)}AB0z H$C `X.(6K8nj@s%iM,*y  p\EGR;q/ri;4e6r--KY_;C^6N(b1V8ĕqdp0s.F1'm3ǕcDl~"2DƪbZ>, yw];c2|hsa ļK2RF5XI|p+uƽ:agwa!YmH+/lUUWs5q OA_/qKIp#jc3k0~1 mcz`1w2lqwnpLq@r@N$ё=04nukw +dec-!vbӟM Gۤ˜dY/s_"kʶ(IŬZϩ;ջ(f=6fF nS幓/eP?_\H^F4ɩ—$a>}0AYO0SIe9_SGmqV7 #I|ѴUx؁r@~# +A4 +0ȎLfNQKA9ceგh0]P5AzxBqOEsڡ)밯l?a ?@mRDCk r;fBX7 Wk~:>Nr. ( YBs̋58n.$1'gs_V6iIf~]eLԩlFeGM3%b!XKv8]sbҦ[v {뷿[\l-[UۀQLgNjV1 e3 6~8'F):~8H`c_c[j4" G#q&h +SJG~˵Di H=a?F%Lk NikؒA`Ur/~mksc \'ԹmK6G1?4Q=i) i*d#_׏TJ=6{91rYT{N~QOg *^*˂g |hW10 +iZa痼sIXƧs[SŐMX% 27>$D2>cʞۯ(2iqQUU;9=OCh牸֙-9`D/.>L}T| M(dkO.9J a^!X+<}ieRE銴Ƙ屮0UإfYs`,_O&% Ht v 8 7"Nԅn[02e]VHs↸R[789 \O!r̘$񟄐T7)/=kupv›^aˋ Ex"sNĝ"n(15@:फ़1 pO#ܽA "bOm*|^rv8yun!q ^DݳC 0(˿0*Ay@xy1# SWTRR$"RF〦+Ƹ[zac06 R.xbY58,uՊdl1!.v2&gm^$GQ,Xk `z ف #rW-f?2ɟp#?فS~C 2q My3Y[F% (/H፭z` 0OqNu~899[==@XRe +lV53i"H#SBv? +(я#dAQ,8'@6,:>fS͚\5{p[˙J^8+T1\0<Fʈ`6wV1+ۤR+=Y>ӛ$g"(ȟyZ +N٫SQU^1lF0i\51Nhxwl30q&צ#q$$U3:eH +zTXlMA7o[++m?=UCi=/Xe7qމ|C.ZI&0E`ɔ_PI;(O{ɾ%F; j־C'?/~W͏/ûn/?ğ581-&kx8({b2EL k'^q)ӹ 4`|(≏x!߯)=Aє05'ղT*O,:) -(SHTҘŤ~%"U!a^S0yF#8HFDm ݺ-f*qىl%4K+,BU,=wûK@' 4gEݳD펲:fJa͌1 mطϏ4<0Zbtb`p0PF_ +KS , +SV4;g$0ps ᥔi\U3 wk mR./lU) ^e1NbxVǮ!|Sћ}ay͊YF"ԦؼTr1;e`QƸX +r(pF ZF 8&C HUh g?h|IŷWܵ¸]Cwd2 +|BPO{c5݊eqqN0$$wKyU0CK +½qq +퍦YI5F6uÐzxN (azRHA enא5caۣlio|dw 0)u&j~d Q˩)d'4 J ynΰ͉[jWǩ/qBr8%4] Kߙ扆KyTnp\6O|Sc5'b{!uF؜iS+95(kpS'1msȖ7t +=[ +mOxHH%lB8 :FK +)S3Fw]qcOn0 ]ԎP,Hu!uuk:Tv7|#^qPp:.F*ɦU\zH~ i5',dwKYl+cǜL ”,ZH Kف8 +!`&[)@h" 8Yk!aU'|U6bS9 r@0KJ1VcT϶*QS\_ +q7Սk 1ˏlU\U W5'kuiH +hsqQwpcLQ'"渪18*1w2إKsN X(wqT:e2}Vx4•;`"ڳhpnL`(A4*z0qG Kqkp Z ȊXrګ@ĺmF3fǮ!D$*٩-$aVrAdw/1pAQ\m%̩YP' }ٮXK)zZq8J-IޘdH\yG .>Cvś ӑ}Q9GUKNZ*q3a*kH8&=R'?oiy*7(#u|FYX*nͰ2iN#a,IzP?v2de<1˽{мUA!c[xL*h +55{~-db,n*ŧJ|FQyI,eHEZqx=kJF'e_A3 .B]_%FlO9uߛc _vHH7qyԠhj>|ԏ6l&H{6^ZކΚo_IĔV0it *Ԁp` ᯦]G̎c8;/^Kt)ewFSB(GlGi'g T|>BnnFO& wsd;K8-uM&/NBk]BB捐iWu(PFwm+F⺒'ĻU?^NR/u4Aۧ/0)B0M`Uִt{,ꄌ +ُ0Lǻȁ!ok]]GOk=sLks879|5H9"'s FDŽ_zKZܿMDҵCy^yy+n'i2Y)Ϗň <% e17D`6&F VBz1J.߮V+(plUG ta*wT.ez :b?l;lU`tĥ*3<W([+8IsMW3屼A\ #BJ⫋R\z\P-L +0\U*%q[l0#uH]xͼw E0ah ' z0FVv4X2K ' UkȠbx1aɰ2M B{ezg ޘmP +8匃Sm^h"zJ*vW73ГL,ʁD;ĬBܛrpk\]*rFvfJoCC3<5 +RN):%c'?]ˏUQ3e:\`ϵK|jݷXF?i^Ra eڟRHP ɐr'i42˪2Dp ;K=rxeh2-O7WP|Gss+96$!oM򗜛Iܷ3z,EbEHߞRI]z_xeySST9`$A9 HuG my(5V+'Ilʛo;LI=H r,uvVP_E}P=;A>D>MʰΩ_, X9_8}2e ^ǘVon,.RhtC̟O$ԞgsRjjm΃9 +?%#H{f7𻨌W2'#!#b+s 8Riqg }׼j[UΥ $ 'f2*|An~$o0\h"jFPv5,1.cj%ye] |G iN+еlB\[\5P4wQ^#sjyZ0Ng:joLMoFh\-Veᑒ.a a%mq URҫ]T9Q)R80*ihN*G eƓ\UhbЌh׋scfo2Lb"d8^F9v#xMsz$-y3.¾>=3yRUK [~|w gw-9FiğlIy:F3O#P|+N7>>񊭻oe"X}Umr E+a(r N .[Bp@iL푋RaU5{ mZc; T+PL mkE=хTb?Q(MɔUwa\J~b '0Zɏ?MD +@ΡA凰 K ɳC$- >k:(G9é?>@9\&W͖1?#7X;>k \ ǭim.cS.Lz[gzx;gDRxuoe t1hmtz<9Ʃ.X;I?xEC +8m\0|m5ĕS}Etw99GNGX~(XyiJrkqE(,:&|Hϗ2?C% + !i]Ggkkhڌ:dW]OmS#O3>g5rRVZ6U81's[/pG*-)h;Z"5zgM_>67aw`ԡ̽>@A>G\ + r6 a(<< ǁ&禷 >n>%PG|T;Ѵ2i +B1h-V%S!SКQG{B]4_ d`Oָikr͒,.(-L$ɮ_BWd׮l Q6*^1;1"qU=ǧ\N1TR @vSLZ'W' HpT $48zPpTq(0()%5;ՎQq)0P|11 Si8O|v!/9Tc7 θrWMMw֮*!& +?ML!@ahs~_5fu9S:'|}LeTCYf>L 8=)W`6F9wǹ$UhPWvBFXȍOGŸ]Gp:i3O|~\w@${c53N8֛|Y xfPV8oj6"v&SB6=pPfz (@w&وk1r\&ctr+IѬ$֮ӁHn |?8鍩.  ffrtrHr,9>f vRZ\i d|J&211ʹ*lz~-IqUm*c3޻*A}$r uO#m m 6 ԧ`S2fSK D_O]Xib+ +g5'e݅\ĶC~O^%S|b>1˞qh2L Nꬻ j`AHj|*9~l7\N.U '} sYpU*GW!m_Y=?94ZNl~X uGUM@pݳ}SG3eZ> $n+ %>^\saHYt@֞#k6'Y%i!YE j秶x6_1Xu!jvy"2jQ^aR ̳eW_ ч}+o*šY QgGr~WB:УzP-74y6?Ψ W׉??/'y,]Ez?Xs/aه՜>qO(f1 `ᅙT2-NEO7! ~.sf͎\-9>ߓYG׭bVR)6F0#Va}<ӛ ?</9+=?^Zr0sy.\6ǐzdf~;F8W3 9~lU \ No newline at end of file diff --git a/imageio/imageio-jpeg/src/test/resources/jpeg/broken-bogus-segment-length.jpg b/imageio/imageio-jpeg/src/test/resources/jpeg/broken-bogus-segment-length.jpg new file mode 100644 index 0000000000000000000000000000000000000000..448f364efc05c4ddcfd49dc27efbaa65a47b30a9 GIT binary patch literal 233301 zcmdSB2UL^Wx-J|9i7Y7sOGSDUmW5uW1q3OJrm~dYq#LUA8W5$35Q zAnRZd@F7irltEOKU@(}H3i#0e^2=pfdOBKK8U|+Ot5>cv-QeV8=ip%H=K1Z`P2QU~ zx%ltgy(=IjE-o%62>kPJA5t@j{?Y|&G88!(J?H{Gh@2ioY6lI0Kx7xmetyn10UvS@ z*#(M=l;BHLzg)foBBLN9zd&)}A|>S|FgcAS8PJoQf{Q`qqS7NvMsBwdQOaNAK9%0* z;l29!nV5LXi;xcFJG1p*-hz zRr%j#zOH!RKD@A(Rr!5nasR2US6E_pRR?U*Em&SrM3Fftb0K0XFBf_XTleDkX1#FHm4Jo9{Q4&j`$Sg@wtlz6%vmcWvsrBl*G zLhrwgDNKrTzunNFkjlYgXzM`hk$i>5sB1vTpmS~9r&=_B0<~JYU72VbyQ~oc8Yw_r z_@`ZXrwWtTbF3t4z+9hAANI&1_XBTfG#HDF>vTX}X_Zy#J|%m@*G?WM_*GezA>N{A zSi>Scm4!DsM)tDQI0_aPC6?ghhm@-GW)8B}&B^&1GQZ95fBcyJZSYiKrV|V8<#$YG zyz0RJfHkN*;oay5h#mF@OSEt1M#6<>g}f_pc%xn+TkB%Gk_)2Z0kGx8H?xpB(c7#8AOd37lFfN3(%bB0#!U$Yu zZ8*>3qwpva=!p;slzC??(7BQXy0Q&h%OZjHUJL!FrkZG+`8M5kVxBn(r2crnZuCs~ zI|-DRL;?-{+VKB#FJS2Y-(lw9{~cxy{hw;4a8n_J+Ss-S2^95n{E<-qD=cjj`#SnQ z+Duj8uFa+dzUWZ8BJ3WPdE&J6hh@qz^hZZA&$UF+!w-l0{vVB$S@ASZgt0~8o;8U@ zEB&}A%^Uu`{`n1k0$efPlvTv_7Zp$644RYvcfTKRsujV$j!&;%gMEAdUw;kXe_u;; z(t>iztdRpTk>kjaUSFUgDa;I%p*45taCcs??1yGgXt?@-gu!U?m<`oYa#3+!8nEkA z4)oInDI8e4Dt=}QWIX|hrVB! zM&oA^=%Mgfw;+aVwoU)a%&ISMXjh8yuh_o#1GgGKTnuZ|7;9D5Ec93XxFTgQC;s2z zD3=#6KJmO-PnDkSZ!jbvBFIVCGjA3UyN)}4V*0?j)owKnEgq$%89}})J(|udD?@yu z|H!x`<;1Qsnj6J12RiGMSnh%W(-EW~&|fISBY(H3wW#BXX)&hzE#iIccE0Qe{KJ2r zxto?wXvpg=TcUlrSQOG)_MaMU>QOHa1RZKOG|`PgbJhT&i~Yhq4aT23Xf4ci$repAxY>C*RS} zS4Z~rlnaWM!|Qom*%8hGigtm(bUwNtRE~aeqQh9`*q+x>A=f4-stI+kFK-+(Y9K%L z8b$l1x=sxA-W-{o$C8I!DKi(>atI$4mw7Mkh*tlWfWsuaIoZS~e|kZ*p%OGockaz}YGnkbkPJ zzg0KA2qJ;5A!QW8eO~wP6>qGXKl%~KlTn*$-&q$lM7RA!rjsbtIJRS$Oae{(G3jQx zO4jtHuIp5V1iB8W`5xodT0GQLon@+aYcJ;IlG7LN)l)4J=&D`;d=4pVsg_LwxjZi~ zYoH%6=^w-#pQ=NYVmx5ir?`yl4!TPFLWhE{%yaMfI6&sk-uby49Old38DzWILtraT zuL#{^T2|W*oV!jMK%X=a>hItJjS8;qDQgxu717;ep!|U)N_tORM%9I*wLY@inVj9m zGLI%Zb$D1Ih(bTEg=-O~-YqXQ#tnSzt*|zQI8X-OMpy^Zo?80x>#x-!gtDhoYz1^} z1SrBVtD;ti*8)i(Gw07q82rapCaMr$1mtV#x%t1l@3O?mFy;%|#9&{Lo!k{9^lc^S zt)(DjSto4;bS#9uuy!x~%exG!ae;f)?kE0Ur;X9=2r@|RLi9jWwUen;9_rOp#9H*r zwr>mMEKJL8B|i5}jq{c~`qI5jlPl%lgVdcmw2}$mtspo)9a@3vreCThOL-;d`3axl zzY{0-J=rrvSO&1jE4wud7vu~159N|bg9p?fu~;KqS>nRHoWqG7|DK-ON+SU&7WRCfNpvX3&e zawIG6f<}QT5LTr$%T+V?3=wu;_t(QFqXu!=-#W&~&ErR}fv9AV&sh4MnqL&`r+pdS zbQ(i&*Fk%nf+dax+$=x|1zud=4zS=mLUgz)(_@{L+8U>o$sn?<6zh5pKHA1qj7ncA zmV=4QW|rX9-E?d6x)goG_2OpnazRsg0)=k&K|8?rVdApeD=yls&!vqXDKQ;9=}1F( zvkflyHuJg|)mSm&Y+ND}CRXS27<&2jwG_an=RSk;-D&MR)A zPESnO4ifRyWjqtr2>l?1T2IJ+gRZf+@>`bYc{7_86*Z!r(UQA)KqrNtope_GT?_N_ zLryilDGlj2CYGw}MvAigK5mWka1F@8l%GxEp4O$xxVKrq4OiSI&_wwc8m&35_S3|R zvXLYAB!5fG31G@GV1xJLH)lLXRQ6?OzRNVP2f@5ycJg)Z|#~@pFTb!@|UdpB7*Qlb|{(zdT!3qe!vD7E1sNg>xFE{F3B@UxQ^s3PA80c z@93WD9K%(jO(YzSy%!GH&Ju{IMyo*{eHx=6(_{H?81HnY(1b!_otKQyS-AVyYMu)w zX(L_JRF+LHNV#_1V?=60^PoSg2oaM8;ldusJpZ^ayL^;}Uj*bgxiHTBYqE(nyk9=N zIl3nwGIK^empA$zXO}x&yy8#Za{NGI za&Z?3%vE5?(e(2PN`se)T{NIR4XLePNJKTA>3q=OY~D^-JP${M%TJjeLmHIex9Ng_ z{eLt$OcQyDuA(TOHjVR;KPKeBjuMWWyS3mn{6J2&HGg)|T_zV0l@m|X1uWqi0T!ZH zSzl1AJP#tT-I$4611g+1G509BB_L$jgDv%aO%mw48fz#$b9yk|--n-&69?$q)m=?7_QfI5tm*kb06J}~P8UhJ;YB17q?%>h}ne$yMW$9v&c zEfJf=fGpQ@56(`MOJ~}>N1MInYk=_y1W6axE5;MT*tNAa0*p`~F7hOhcux$4E`M9w zA3zF-yoYBfQE7U)bUGTqL6698#pirV!90%xKzM&4V>TV)KH1k4N>H@M7J2P@ z5+H=g*;n^75&;ShL8wmn95pT*rC5)9@Jli!{-*i?N6(zH#SVE1!z97p&}Y}R zt7Zp);WOz6S<`c`9EwWmbJNM@kNAKTeBGmNK{=#sMJ|8yfi3_}sD2p`18Zm7weqKJ z&lbnKV0@Y3ial(SDe0He{E=aenxujKmSH^N`H*n|Q_S*=T+qV?S5Mg-ql!cvB~R@U z9mhK%6E>Yybm7gqmI!SEE&J2pua7-2^W5&%c0V971@*uNHiwP9%xwQ+t6;?Su4;k}O zgH-E|e6!hfxxp)1|K>|~o1vCWnhM=ON@zApY?iS3m8T(0mqOmTK%tdMGF2* zk`nnIpH=jEl9JJK575 z`rJ{dYIxm`JN{v#_cCHtl(_5%4h~sfs%Jwd1;XQ@8gqZ0(L;a7-zkE0j{B$5cB2KA(Wnh)OBu;+Tk3+o+ z=`wORzt8=(c0l96Df`+7a^6e!9wB4uXo`~?ZIDWk0o8&?e@H^cXI}`d)KU{f|8!36&dZxRl9<~Y{oz6|44H%iq zDjw0&C^6=zG_#o?fi%q;3BZc=@=|%Z)doQpz9^v!BJdq>L_pL+KKJ#)tM~AbcO!D- zd#PhVoCJ2tC|OB`X;ckS?~g6IAs5S|&^;gKTO^Q^?y>4JEOUVbLRaR&CiIApYNuE4 zLG}xQ31gT9dgttYqN7WI8a0tdb|CrbKg1vlG3JC{Ui>87|Bcw4-q5nbEd%dqEn^N$ zn|UEMF_;AU^wy{eGeP{re6y4UQf6wHICUq1ez5SL=m0zyv$5&L8XzPjP$5+RtEbR{ zq4|#PR~Q=6-AV#g@{&Ns1-g50r%y&pJ<`o#!-Jg{-ZkoV{G9a9)V*Lx3`U_Mrbq9u6`MY zuh8u`O|cdMZf_nxwS@1K|k3ZxP!NuY*{S^G%@weBOB^uv=c5ZwEw!A`(X zXZ^b69T^g60nI_6EA${hk8i?upp3*SriOBA63A1;lLUI5+_ZNuiZp=t>o;#d$qn+d ziN0snZFVc86rJSa9Jg9Ii06%;194o$?x!_H?ms?T?`D4SDe;@0l2xJL)FclI`UR_T zvmK;xxfaJ^Afk|Gj!3c6`9pN{js0EEtci(F?5U>ga~gu2WLt&}j79ZD1cRQFu2K8; zz7Aw*inNc9_P$g5-BIl3^h`>`a56LXROG1XXi$L-!5TOG% zRWkWw3;Wvy-M)I9w+2ifN8Q|+VQzY4FswZJ%CNX$dH0AvVw07IRVO8Bzv``X;mFP{ z>G$asma~>MGF8$V(1MERhje5#;O`F4JbIc6-#y!RE)L{pC=+$vD#5ZDv+_gJ?MLwJ z7nteZtWE3f#DBv6*ubpne?bo$Y& zE!e8@YZ6Fx6qp%`3m#Qd!se8lRAmZHBuqohRiro{@Ufz;9ozo)FAjA36s{)g3h$%v<}dt zFr>@p>0Y~-54zZ&ikKX|&ZYXSW)ga52%H-K(10|w*Xek$c;EUjOw7eJL$k-0a}1N*TpAr#b-ACLm$>b?no+T&Qioa6iI!C z_L|pNZu#cTNEM~RE^W6|Ud^nlKr>&HY)(S$)i^J^9g{#cz8no=y9-+@mxpHS5y)lY z>_X69e}6(-hLC0$-kT%+G(7GU1yRtY4UQw9MAG~e3J>);o4v^mu8(0kF8Jxt_Hpa) zDsIE+R8r3BiCc%6Uulb;!S6{OY_ovHLwMZ)nwgAmjsm}k0Uh%?$V4f49{ zY(+g}u^S>0{!o0#Q-OwfV95i1XB}E0*$MrjK~6vxM)q1+_?6m7Adl7UG&vGT zdS%5dS=o9;8iq$Gh#}LL+1M_lE;%B=bOcmRhtKZW{FhIhl(X}9&pLEM0jXrWj+r2= zoK1Ri*MLLj?u>%dyI_{^w}25cG~#Ii;NG&7Lg&FR&p5{8IBv`znInKWOB7#KjgElXssz}b_$2`V-38O|GaeA~ni&VZm6lzSa#G*bM#{pvxkY2IW0lE96*w!1% z&{3UzfcM7!F$0#0OoUdJXKbZ+eLWk$_zw+~jVtUynAtXN1)|&$;Kpa>$uEkOqqH~Z z54V@wVq#ujL2odFBx_td;Z1M_R=^F#N%_NyK6DRKuIKp06o~70%GJ$=Y_BTYdrNlR ziCbj9Je1N6+z_iQ7wH#MFsTl{1fW&GZ)D7azG9U+BK^j&ZV;=-ouPwj%K=qXrYLuS z-6Q!Uw}E0!%w)I{i%x839VSsOvK@D9d|dWxFnflK&Jq!7 zYc&2e!n%Ni)4`4k`Vn7M>V|*_wH#cY(5Fo1NWA z2-+4Bsdb5krQOHZ{_Weh=OD8tY3M+q`rjAR`lb6#`z*2q?*7C026!O}^zR5o3VN*% z_9Sc1>M}Wtc@4TvVYjwEBGy`}^SS@szUrs$Cxt>^m<*UOgpR5khlpORN+?&Ovfj9@ zXI**vh(jP#YjejaUZSM`8{T=2_Xf=lb6S_hleK+(#@x=`jB4nE9=CAvP6i`72l9}< z!OItl^@}~h*W+w1)*A_0y_IHHj34k+@py&%6l8*M^G7+E<_90`q&O$PI93m1X$=Ov{d#o@CLtAk^V=kjbTr0KaWPU%p12ju!K`ou>o1ST(k-J4dvUH%B# z5xreFQxVshN0A3Q5!^{;_0m7wdo_Pd3iA&4`@` z;ikkjrLM));Ofkv?ss#0N(^gI6=31&$Gu8i9b}{5>}z#W2!)MbM$?_{Huq#L4|lky z`)k^a;Ca*-Z-)7t>EA*@Dw~G=b~myR5YeRi;qQO)op~^G)+PNMZuUTZ7{mZQ_T27!-9JuoiAkXexNO;DL=2ePM51H7;Ne ztz-xFFg9~JTkhfE-VZ%#t8b?K5e3e1q{}j4U}dQ|HJ4#z;1&2?hHhm2Tk4jRm!>my zUG)=3Dkx6Cq(TYm zOTLGb>^G|i`Q{^O?}tP40&j%HIu{SSuhH;h+gNlqnPO{;5QL(jJOx~X95rC(UMd?@ zvgXR#RHPtjaYr}ooUDL~GbW}zfq3Gd|<71l0KMc=r z%QcJ<-eo!%o>^{0JB>rlx(3_V$iHaIw*IvQDuL?-B znc+@MQ}m~3moU8rASd}w=MS%cZ-no|qy({a`rM<{{$`V$s$uHRZ`hRAtyLKVLR2c0S(}R2%S1O@GkaUCt`MF*UDlDUg^ZkL|H<;BJfxPjV|9UTn<3 zv8+iCF=={>Z{wG&9*pe4H=z5vj9;tHbW#)Bj0+1)aH-|tA{gh%Im!sb0$W?u9z5#I(uEK?NOJK~>{AFU=R&Zcq}3ig2i~wSSZN!O=>16rrdw$6~*v z!{e;Vym(bR`YzXo>&y-GrP-_KCvpA` zJFz0`u?O{L6PK{Z_OczBj#qS-PT>_^n%VQU2zS0#0nEWTOS%BqXE^#L)!DRr!WU*8D-}W*G%2~m8GHSYOz6J^~)NeM=%4Y7lK`Z#1gFTbc`neuedv9rT-bbQN?8YZOUmuPu z-?^F;(p^=5Kj0GBFxtju1SOo0tBQ&3NlS;W6QBdsK>{U#6XP{uH8Gbk8=i4@M2k{i zo10d6gjvrRokEQEE;@fNqpSCqx-v@N!eaWBPc>5PcD-NJw#Z6DCc}h)E%GT(?1~#_ z@&FUJ&*CrB`D}t=^Lx*Txwe9su^*}NG?vj3iTKz-@(QmlrRp`L=BFA03+#{b>rRd~ z+Fg_-9qpRl>QD=>n5oNGNuZ}PHq^+K?}W!#)5_BK)x6AYEc61CT%TnlHfHKL3Ro>* zU7;9Q$@oN5ThrxFCoLV|vt;?4QyN75ne0}b(BCxxRyHVE9Ypwnu>YB73<*@{aT%qx zA>+j{*0Q;cmL;wZ2x*H|td7B~z)eVl&C?vkj|4&4`co#cU4$K>+D9iSiEWbb_Qr8v zIdS3}KSVPIPwb#RTL$(doTeC|V4b#8rtPDH&C`aM$jZnyAu3`Z);ruWFu>SyDs7bM2yf@H|BM9YB}4N|5}TtzMO+XJ-AyR@P2B1AnP z8q;IV#30>MXKG%hgij|r#18Q84s62JlA9VqHv}k$q$dz3LaDA;oPn3@qw&wRrQwD!J~%QIoM$H zle0Xsh#YT+RXVzurfvLI6Hwu{0+NUwknUz+@7sf+K{ymV11W{?Y(X#xiefF!mLs}# ztFv!(2RTZ&_S5K=VOH$Sw7xrM`0c+SZ=8Kt2LMzGm~C)w6;HkoT6i^6TaJ2N>|69KC|U3{JT4lNCY7w za1bbiz@c3)^->Z(oo%iw<0F@ke$-zxMNc^f{f}nBpyYSuW$IU!CwjRVJftlYQTG+#6l{Ev-BkaA<`maf#e4RdCHvKHU z>;Y8xY7SSYkhbjVyjstH1y8h1|{bWH|}3SwQ#&8|eifO^C41 zbGx=9lNgF0Zk=0+K^9xX{oz}+tW@us*~I1811p~;^LWUmi z+%`SS%KjM@kr`sZo40J4N(hg=R0vHu<1}FTqAKkWfJpgir-zM4ZdOMezW4%mxMF82 z&)47P*nS8YUkgkrd-yYN=X$cAqj-6)LAHr)qNv&5T?`2HQL)Y@(hFC@j_m=G5_FrB zEkm_lCoLgpC7D>vfe`&nhM|B~tgcGoBjIb?$Ebg3@KI-WR$$a(^aRD8h!tHs5P_!${5wV-a4V09joFEr>QYEND$}1OQ_Y2T`eH-m zSt5dGY?52n$LmPwKcD%1goCX~dY?Q<-@N%>e?3Qz(!LA}BG+ohMy$$E_OybY^`;=% zu$BZ+vEiEh{q>;y=;)`i0+PXV%f^)hsR6? ziw@i&YMacjsIMtZH4QrkrZ#X6bW|P&GRRg=_1Ucu<{yTD9LJiG7wVnlaHniDG;pg|5&m0nWl+KJnxC=J znfqJ9reG201+5j(6$NwH9sRXlot&)7Vx)Bc)Xv%*h_^48jC}EM=bv@}&?>roHSW_L z=O1PHg%iexHcp(0EeSW@Ce}oAtI%o*Jv^y+A=JdTo`1V;va&Mq=@6CU4N-$GXv7e& z;zH}c?#%7s{O(L^J<43qu%>qC(#vHA4SP2DR^|_W)m7d0zRt>hiPR_rXM~^|Z(_(8 z3G|EB=YQ7Y`p6pQMX|4q{|9vNQUz7Kbs6YG|1)cZ^*f>bk%~pLogar1g=D?>FVOTAG(D<_Aj=4;E$v*0;0I=w{(OPDf}Sc9bQMwr?mM=%TxUXsT}xIU zqDZ2jpI=RXYV2v4;#gbg6l2A{TRPkCQNvg}A{>`VCCGzBq7(|M*2+c4-Hj$#JLH$G z+R|2C`Q7s@dDIz9)Zh_ydQ@wpjc){a%Z6yClAT--yrP%V!BodDUk@egK5f{0x-&CgL9cPm1@vssLnHKTv~j;a_xvk6@UH zt&B@vcP1^c^8s6s`DGO>c$h8e>m|DS@^ohyP+SNLLpOq zts=rLTC*dAu|I@s_3+u`ekym>wc4pe`6BBpYgnTpt_}$y=3rd~itwDtC~vgmn=zwh zf9yeRta82^R6U$&_}gx(75RLl~r^PB{pihGdhMQmpy2#>|eq{`LfAz)i}?NAD9X7SLOq(&487I^KKnw zX@wG`B|(pDe`3FG-p0u(beP89S#(9DqS|+o+yKLwKGOxP78DZKoK8k#ovff0ELHN= zv5uIHPg#whCdo~Ktzd@hpZ2QtT+rV_p)95ulcgKqLTyK#Xax3YSD4p;t>f4Rx~#g? zpvnan1Iz~H2Ha_ZMY7)B!R4#B;^@=n0hQMls3x5I)Ka*VlQV_LC(No=<6HiPiFWdv`DNj56DpN<3JMZH^4_gaj&(0}82d zcaAy7ZGB?Nb_fZ?$JPUjEdOqP(so`_d5aMF`ma9d5mp^+=1^^%())>_jXZLvrmt`X z4;ELyL$-Y5$dvfQq>aLfm23~Xu_&_T0$!!j2i6?RG#Vk@{Y!_tDU8@1X|E7J_pr?7 z#pPZ9<8zpeRaUX#UfW}f7rVy|XGPVTM;@Z-;w{Qe+2C;|}Z!_#4BhF?CcP_O78Wc@~Tq44R!O=5`$ zk=IgAc#_h4XW%yw{`KiogCdp_SNL^%?Rb9tga?_k@5(--SUoOS@YM=n0W|*cJ={?d z0g?C!zXd>65cTIxKq@7}fv@ro-AxN@^f_uTCH>Bb7-#6ej@?=p1 zaIY8OR|o4;vemDmbiUZnHht(*+)A5FMS5+;ISf0U17Dr&j1%QP_$h{o{I^o30JLVS z_O`E)KaGt{psuFPbNV#Q8gOLJcXr?(TZmYOX3TzBDX)IlfdFEq^j9>nNZOmM+v1r% z{YXC#9KG@f5H+*ZYBLId63G3foL$qV_w3+hlozfU4#T^uy*(u00SHbYTlJ;tGyt-} zDE+<2(~J^PJW4z+OC<pLhuC zi_mo0GG@n1{wa?HLR?9lo~e?@IsysVJe?$gWVpCdGZ3k;k}Wy@$Fk>uT9j_^*%WhI z^At^7Wt;xsTOCE2#4aL8{>Xy@keLn`y>_0D=~N%}iX*B6B9u16N7uRc7)a0G zv8!~+!-H0r`vCY1&(`{&%!gI>P*=enK-XOH3<3$wv(t6HyXWYeY`E)3@o*aO646SQ zj%s5pVB%Jry6ZrY%aT|Lkm~T>vcF^B0oDc0C~^!i$1YR&{KPS9%#xWc{1vZkVu6^< zADJF`Uq+E@(b->MJ5SV46`pNk<=`>r*qZlW(rsE>_ka-n#MQR^gPcR89n!!6 zoc$A6BhtC_4)D{6H7_=O_=&7RS~iaBE&@|?@5fW)uRObSKy*?DvG@FJ`vMDx>5s$H z@6GqD;8`2Q>=e*zm(JSyKW;C1c+)NnbF=g8O(r5x7*djne*09)Hw z{CYO|ORNJ{ocY>~u)fe%f8Xa2sr#AC-ZYf2!z=-`Ep5sO-a7zX1_9Cna&j5umPec| z!xh-tlCmk2e`;FaT$c0Q0$dRmZ)P#xQ-|BZ?#=gyyDkdkc&zSyu!Gv^Y@Y*cET0om zbsi_$0HBuRvlLM4LNlo8Fewwrmx38beRBs8wy>2iB^%L&bKG}g0&Fjx%h z5fMfAwv&1K!`W!_WNF7RQ{3D&%N-WyD4t9X#?~T`FO6l)y{A7(V789`FK8iP=4o!L zpeZ~Np*Pq>3WHDeT|Lc`nY=#rOH-Iy&J*rv~n{O|HU?R)r{>x<6R z^Y8WXpse!TLujH6c$49-iw{rgB?C4iZNA5L;brdjYsnxvr8feO%G}2Qe z*hLVF*c)5>IHPR!l!}iBd(W8dLhAEXk0^n%p&52IH@5(3EjCQ&?&-_1m0u_HH8TyJ z5|cn%xTvVvRtr2@EggFeshEwaGv)4ftf&Epo0yo>GJ?IzlcX8mq0f`!4o=y`pH(uieX{r4_9- z+=)*b!F^@ZIhl-;lD;mPp+uH}kP>$i5tRVz@zj~?7iDTa}ci$Q)}^{#Om`Fv>*6Uoz|vG0D}rfT6AWoT`oPq~xTutz;sa&3^penTa0p7*3S zs%+xLMXpLL`kP@@>6(lwp2gGtrMTB;_3d{+X={1|2;kKB6-Cc~3Y=Y~7T zXC|>}A+rOGY3-i$7A%O);vt_)r0HDQ30krm8@x4Zw(??YW9~9VPIg>LbZ&&JA@e(ZK(8@7#vTZuNTPD)` zRJ0YQsV&PQn;A)Scw+%Cb8rbb9`@Z^udfp+VbD!Q5D;H?#K-eWVeJxXaARBq^Wv+M zy0Sd1BUX3$_bO1O<#p<@({5=x^Tigg_xEsJEPLz5j{of|UTILHFcit_#5A5>wm(8S7uM&!L{-cyq{ zt5DAk@`$7J9bEjoQ^bC_L@?U$QP8qVV{cz9>&zVG6f+y8tdF1f?}2?MZ6BJUcfU5d ze>S&WR;P7!BX^;p4Q2Z#FPo*X9BA2VA(8lpdF`N3xqBv9S~{dUELjm*)aS!-3T|Z zxf|OfG*-J%8qYuxZ<)EqV;M`E>3cswIYQ<%VlAd>&dCAk8q1qN!~ckdI@puv2cs4G zM`LN-369PtYlMYNfZ7$SenDqmHnW+L+fHR{zpS{xxv{Qo+`&_|SyP!+iUE{R)3+*2 z(U~$RDest%V<|2wIWRJPRKhTTq-hW4#f#Nxk%{to09QiyX+NHtjuu`V*Ri-x7jR;= zmq6c++u+&NRC{|8t`k^ zA(_D2?k01pel|2XFSa^L$SGRXb4tt41qwbE8Zyi^;#&qq;lK_mh1-EZ(OI#N&2uUr z@sy1+Qnt*Hy+1wpQk{~nriK5zZjSjuTK#+ND!-x}pd54*2iqH;2y1{^4w-n5GG-gU z?8oglF1c9NRHobWc8To;D$8g@hq^dKa@{iwL={h)Bf=D-|j~PH#^s-M$MQ8-)Y3p zSlNBG(?D4OMaO$!jqxemSql9$5CIR=sYTb^%anM%E(@Shx@I2EySek)^1oS5MDM>( zx3ikoEAlL&b)d2Ir=4#?jUrgSt@)sIe`oTV545oxA3GezA)uijlnu<2Yu01@JcA%R>iJ=eiUkB2r>}(qJAdRI{4)DQIuGE{hbN zG+zY{L<`wpKTs)c{HPdlK{6upXj?Aj070?!*zc4tqqR~Tc*`3?rPC7T{xzu&l(}W-RUTdYmxEX2mX*#WP?;qfP4YTyTruJXe_Z)@ zXN)tWO@bdu*vUxeWsg33oEu%3}@h}=AP_Ud`$mwJa`(KkJHWC!C0gs@4J5Zfb^GUkvi6@O2TGQg}>(%RboWmgm)O zwMeYWC9ZE3Du85PqRR#StlGCPIhAM@KLg5vvwuDe4FWyZ^cOC<2+)IkfWv>O&A{-U z^Gt^=Q6=;xbm8SBL~g6lwBr;=z)2c@1b+h7=lQcgB3L5Pfh15epRSB9f6dl#dp3=A zG=;xEh|{;9oga{zED&K{?^BE*@9^Ph=-jyF#9)1c3yUWE88hi#q%;<2s=)iE0L&27uzbl^}Wff)kN<9#zWsQYH7y1I= zE15H+2CKChoNgnOCIC4|Bx|~&oif6`Vm~lNx!&v54gL&cBxmMLxW@pw2 zW?b|LL}UL81LgqzBc-e-7|npZ5qA9=gOobTbwP2|*i>Qn)Gilgli7zdHnmQUw)`|T zwgWm^EA%++-$={RPE3&1cJhpWCJ`3yZ`DaYpI3?6gjD$io1_k49NOuo3Z-hf)XCaz%1|M&kd+*LoHuNGFnBpVv!hD3V{ zT;XK*yqvW<_bKG-F?fM&`C<8qj*i&I zRg`*RQIP?8W@RDdLEG*n!NDf_%=`VT_oVwP^tHLG>S`@$vTPw^{Qv8ahD;P z3-bztrs8ifYm31$nntKS6NvE34VGx9RuCbp-!18@q=9q7TbL< z?`Q3MQ?B{FK4@ZIccQKtlf-DG2(ZTS(Xp=Z{;O`l!~@Sa=q=j&+GbXC0d1^zzJMoHX5J;#WP!CBj?rmhZG8}BzwvZ zpCml&uyHD^MjLU8S7tDf@rt+AGIqr3>Q-FPdhTD8ZcmXsd}yjLKqZokuhq?~sOtOV z{6J~|dN=h>fq%7h8tnI#=%56p9p)mvwL*dNuf}oOd(7Q@KXB|Def;S|bv)*o0|8)j)l_lhD$SH(HF@^D<9v32LCkN1dS{Q1jtsu-_vXhW|( zv|5IjLp#T`{FB^s{hU1!d2?w$NmNz0DITh9T06*j;v}{Bv_qb*HGEjcYUQITXCTQ|4 zcjk38Q>1w_iquZlp9X=;J$mkb49ZGyUwC3=aY0u$G8v1XBs7ta*V$gvfjsW2-ML*_ zLdK71?{W5aCQgT}vnN><;Cy4ev+aiM-IbNNifN*mS$RThQWont_v+c~jCr&hJ>XH=y5QBq%-H9Ocq^(Ji+isN*gxJ4#-S zGx%|-x!8y#SI%_e_Sol>?02E*#pv(|iGF(W^x2E3o*nA&mRgQ45W_+%9bGqa4{vFO z*R>&Hb+MD__Izn)jelD4IkK&fmXK-V=pDg;`~i@@&r0_KGtzvc9Qli}n2ad`{%dgSB+u%N@I#&2`6z7rBKIF^)b z6%r=j6K!|-qT{_KT(eht8Fhbgs;+drfpxNX7KAKJWkie5(8>y>k35-ol;Irs812>; z-^$xv&J7V~rD@TU?PlYwX(%$a!;*Nc*dk(h6Ijlh=0b=v;NA>cLk4EyLP)9zCE59! z>9QL(-ehIfecW9;I|7bG86Tfr6jEhgCR0s^c}%#XFO<}h7@5q|Ss(Z_RY2hGzcMku ze6$^QroXRxwaV$|QPa?TL61n$!1_nV5PO+(ls$_(fi5Gsq~%ejD1mXBCaFNm$U!NX z*VulOuAN@#a!|)mhgoNtmNUkisCGeHJ+5xKV5*PULpCtoctu?9=c2m-l8n0w$8u5+!H`w)I-FXG~dGW zL`f>P5B^rr3KJb}L9x}LNY5U+Ul-*4+cgg^Qb#d}Mz+j)A$ooE0m(cEng{!^gqyunA_M#|2)Rk-YPsm(A&D{dx-tXDR$N}$v#%w zW14=Npfwmgp-1Ggh;ds|753E_+O^OAAO3rXv1x@Q3mgn}PO`&tzYz(4T|Q=I2_wB{ zm1gDW&6RrO^wVEOXk^2a64PJNJn#^Cqg3Dj`1OD7$TGmHw<-=C8hoUsSW%L~p)XyI z8FCcEf&?+j>oKjH!TDLde-Q!ii4z5h9N9FRaw;I8%m;)|Q5EW-7v0bnYhq=b8fzNC zTz!}ie-+9y+EfIyb!hPYDh-@PCGW6=gOoGhFH#g!U4K!JcreqCYjg$L=%eR`**Bl4?C z-g30P`->Nxf~Hr*1i0RZz2U0mh?qOvdREcsy2FwXJJUQwI|0r#=-#hjaR5hfY3R9O zfD_E;X!U50IXgTFC+iCMjUA(;SffJa5#k9>ZY`pf*CpS-#awP$w|s$J-pCl8NpI+`}MDW4smsr)7+IZ&A3ax z=|j-`XAx%b*la>U6e83&ihO1(J&tzC^s~vTh*o5!qQe?FYSY)MMC*kmnrJNt>Kr-t zu;X7Kfz8jkQO=wQ(WxFVQ{G?)^Q)U-ri6)8VkWdA2gBV{=b5ixoSi zcElYNg6*2E44%N80!ndwizHj*&UzeRYcwR6tk!2hNs}u>&K+>>`kug>cAHR+I5LW( z=JCZms1mkHksm=~TDowWXP4X~yEyL)qyn=CUQ4|DGc01qIr_lVf{o2HugeizdV^dk zavo!NO?3aQomoDnd{IfA$ATS3&KjU37kLeh&0ylnq%We;4T}b5r?!7#z2PTm2O>wv z`Bd7|Y5Qh=4l}Le$hkDA+dKxd(p)=uae^D=Lhb-Bds^f@Z!jo#JWr%4G1iRs6yROq zs78u|TS|2kFs$y>shlp0BMn0djNU5Qqs`539Bh-OLus=4edG+dBldYYcOodf_LmBC zqHS>$&LD!Ab&sa@UQ;G^W-yuVe|0ZO%&f&q@n=lo^`+ zj{oIM{gi%bac-N9w=A}$r28GTk}N)OHQo;=7((_f0Pz8TA+3U?8fS&ugJ>>O zC(HbBqls7IimdkaiCHKwQz_1O4oSsZ%p$}GeYt_f z+)+|xbouSPc4GauETWiF6K>Z+o z=E?}|LMMc&g6ze8zq40yfr%*8Xa4e+g+(J;g1q%1$B#pZpcW3DeDUZ0(}A}Hqo0C% zLEgTEp(=}IkV^hc%aupwWzn@0d0Mg*v+Wl=9bfny*>%1BaJu{CXKEKF1{0&BET>8A z9WA&9r^uB|>)FO-MV;GM+YQX0Kz)niXHZxk=Upg+?tSTvSo}+8`mLlX1D7dXMBK8p zOgWMyg?;2))2fJUzo_(Yi${v@L>h{w8elm*NLLSN9=W(o(Us8gJ6>tlZYL4Az}r@V zmW_dOx*Bd6egp zlaT;}QwCRYYR)JN|MVXY%eA^bc3eEkuDjF@7F1V!u!=FR+xZ;v}?ysY-xZpZ`-Q?b}9bpBg$_^};SJJ~46| z2O}?f<32q{*kVg8`?mVabX=)e6hGhbTtBZ|0j{e7cDtKDyLZgG6}FgepMp6p8u+no z5u+XI^aWy2Jhq&muajEQ6(NUE9FS-dwm#^JLbP-s1%;J9w$|$Hu*v!C`P}~IrQ!G% z+*DJ%{pd06zVIsID7zXLnxm|J z$tiEFDLO+P*{0VK%LyC|cNm>)CrO=%B`d%2j4n>bm!E;drYT*Frnxf&LL#(|?GlXpNn%A0dbK{&nAxR3=yw>-Wab}WdT=PPRGhCi^t;a6NGbx>EgL6g& zZxd}|t8!yBw`~XRm`baDOKu@;qS^?0i5*Aaf${g2-(evBi^zGR4B9Y)D!&aE`rHRi z;za8{b7GCMdWr%w62eJjA&NAI?LOda@fVA+)d$L@1xsb6mPigA9p58PW2-g5X|IgH z9rAjB$E4}!^$B#xpdEe)wiez#ijX(ql@5p}b|YOw%UHrlXHTd})at$nQ*77GF?Vd+ z0})lHL5d2r=SP+uQ7_p8TfX;o8dc5seW;x-2ez)rov+TArc;YgrgnO!^H=cm2iHcvNVZ$D?NO+%%HJ>%@@nBpO;&ZI-`C3Vg8 zc@nYF+Wz{4Md^b&xVc>)LYq z?{Qgw_c0h)*`T-^jVM8>s}`hWSU<1+gab2iYkD%ZDApyp{&(hsu;XgCnlK2r6tue_ zpc1{2$sH-mtBJZc8EAC;Y;C(cdgwF}QLUM&$EOBVGz+Op+*$RSn9r<2T+8>7Y=S%< zZE-7Z)Hv?7X!#VHlr(E`GbPlCJV_Jvc?kE9KXi}>KfCh^@Cra6r@-$8LeUIC!GFTL z!|(#1v@}HU62D&6;65FNKmHsz{(}ylrS3gB0T=#`Cw<5L%{sdfCgn;Aezv_SY z9sidu{`kXiN<2TF{wv=29d{$(t%@h{IG+A1F2nKd{Hq8!(Ots%N&LW1od1T)=;8Tq zEE4!7f8bXye8bgl;_=E>!ud=6z#m-vhII=1TS~l#ZwfB1P)Sx7X;diJQY#JL%Yd$k%?v>TK z%~4gQ+GaoHS=uJf`JtV}(C)fFX~eZa@`pm$=emb~6|7mI)nAQpd$K_ok z?bvH$j~>XYNAF&dS5;YgiAayoH))XltMoR>0)*ZsRnr(e6hdvU4c2r zrLnx~HT&1o2jJ;J?1``><_YV!_ne;|MhV5dbV8c!mR(;z0?!&ES%;!f`sVqHVS}on zF`MUu?S__#)%lRd8UOsZ#csJ3-Tbc~m$V9b7!d`x?Hb>@Gke1+LH`PiO}N=y88JwX zwhH#a?oyl_=N57efysKtYq`TDvx5s(UQy6O9X%@Q;}<#^#PxmVITKhVH-5$N$@F>~Rab#X1OP*eU z8)DHE)7101-Z*D^-fDa0k(2+_<({GnM~{?2PKtyl5Mc`q3tPWy@rtEY2dY;Bh1ayT zxEB&5;F0l^BjD`o+rCST4*4=jx6B+-#mV?-MIi&xDP4tnVuz{&SPgg2KlM zANuR^H8@y=3=-ju7<4?8+)&uT>-w_*-psb3Xt&5hMash7?{+8{pr50%sifIy!QDCM zA3NO3Y`?*20d6ECGJrXkT9a@Bjlxcizk zkwb3~Wx;c;Z#9T~v+4q!cBBtA{UQkT1`6m`S+i6`&y0&}WRLFQ2{o$j#*ubLxDIfp z+D&uf&uaQDc#9ZO42JE8Rm}y+b97h93+aT-?@uMk#n`nrkJpB^{0Tls?m94Dsi&2- z(dN4wGo|@o+hpWQuz~^BuXHt6Ej;$oSo${vWwo#W1p1S^Pn>X)r{SsIaB&_#M_%M3 z0KbiBnvqLq+QGJ5{dX9@)nY_sYO@?o)$i&bHgfE9;-2H_H9${hSEbMl?DY5RC8>N4 zvEE@~(G3bDC;{eg+>@f`7dvcqeTPeQm8Xkw7wiI0KZBQ;BP;Ot5e%Gt5d^Q@a^C)phndn)&m4?VLbWoI9?qDaO0o% z|Hl3DkF_RqxcmQk+z~InaiakDk98NGn=mD*zvFmyfAc-*hy3HX zBhP>1Mgs01Yc@PLVM2KTvfcwY#7SAn1;Qk%Q ztNUB-zaMu9;Ewsm4F}vm*2cCFqM}=|Nh8335EH5CP>cdjzfbh2#amAHWCX$mj@icL)e*6O+DSBFH9y z;|~9g|L_NY%6I;odbZ%zj3D_{!y$oZ;oJEFIWo$xe)xya-{ywU|LrUYpTRZ3pV1$W{W{}cXGNG?Zw*4Fy-FAI<({sY zu9xoZFKwFheUo{8L=a)EBG>GixegY{FpCg-}w79=b7=m6bgjZo0!Gha_ZTVzY_NO4Ljz*~Sxdn_@X~mRwf@Mp z{ei#WjbPne<$RxwbK*?gF5VK$$;Ll8T|?pM?-{N!B}*%^1#F8~!WYgIV+UEd0`P{| z>5_CUtSGP?T8L^qSO_ql+I*?_6m0{xk~iUZ%kNb-&R+`TD+7ttMMCh#*$tQAz6WjM z{R2v>rDSpVP~b}HWNlULBgQQ`VFzF~U9WW=efDPoU1hNjp>!)5V6{)CT9l*SiBv1uQFyeN*m7Y1`-~N;7z7rv-Il1vp-AV z(;_#q9da7V3cJdyAUZ#T2-Gw&FVW@-X6Z1Z?*Z?YaWO1-VLR6P#Z zX~U|yQbkip)1-ZNBuNTo^(JY;7EfQu(3*`1wz81j%sRp>D8}9Yvj9HD6cS5It_xk6 z;C9ICZ~80^EbsqAPb78t#@1KkD;Lu`V17knSr^D0WF@zm)$zWLHp}8o$cPKq<*B5; z!$pw|7ZNa-t?{W$V2K5`OR=0g5-X!bim9nvcc3eitva@zE9&*B+vBrzNWi|=k_%p4;GTqJ^-HfU#KyagEEJDt~hf#nrX z7)0}NhZH0?Up<`4>gxseQ9I14p2elVh@2;?)nn)Cv5Q^p2{3NLssCibR<_Z62)>6a zU(W*=p8s6{nwR}>%Bj%CtEjxsBa9m&7w_-w!&jDF^T9rU2fd?jeDcZ*>=Ot_mqM-F zQ}hi}8}Zu*PX7ELIf)0X1VU2HS83<&|LdoF{xyjxwEM-yWUssXo~BSO=8cchUqO&urO`ql_F|x(VQZe`J^t*P-0X_sTaHv#M%*GH$|Tc7_j0rk^b4;R z(pOcL3ExC_0*4XND@Z8Ooh|va`k{NDWCRz#KrC8cHL4-^6Uw64JXt9qz9$^&PE<|3 zQam|TBZPYzar~@#k59KC3*<8XS|Rrq=a20pfB*5ex0BMkVVK9e1e`JJMy2Vq#A z7=_;b1*ZQ4a!P&5s-e_;spLYA&*BRtS%txZ%K!~21XMFnVfBA-(`iR;S>pKJ*%Y6k zbW8OMWb-Im&PPq9KUF36s`dx%C(RSU- z89F?P3)ZQ42bEZ@st-wEEGw@|u=gVWSbt+F=){py_SmiRlwA|ErYn?aqsc4cvSFW% z-+4J_;S)dq(V&g5H9WL6`CCl8SKTtDRiz@r@Dx_0ft?5~t)zM18s>{a++&hsL2l-q ziy1%AvDPnZ-*Y9m#~hudjQ5%~*I6)Fu`})~N|5uwO2nBV*ruB}GQ+ka&ugKg?_C}g zjN^?r7%`PRG%I}?KkrY`l`KUv2q4f&rOu`@+lu!OWN&>V;tWV zCZ%SQWY%e9&inYWdhA_&L2N)rgIZ+Te02!7J=h_%wVG5eb>z&LrWnCD=Tl#~)1#IX`A?`vI%WTX9&Q%m+8N~fT z9YCKz$xe34DAcXqEp$qMK8yY%EvGzxwP?;crHLt>5^_+>c-SLQGP`tH{npH&F_d$F zN25A+*9YMk+LQ$IGCjMSNl78m*fqR9vr{4kzrU zYtu1%{#nm2|4BgC%56Sz=P=uoGg#n^Oms(@`Pk=VxZh#fgE=WqzhIXSb}I9q2N}ZH z>n;SS6<CBjHvPivM6S+$BTP2Pw)BW&d|!_f z3u+5S`4FppV-0RNH%>{9f6P~ZrtI(gLn9L2zRI>=)8Fc&)I1|GEW&zvqBU5`5Db4$ zUcDxpN0qJ0Wo}uC8gKoHMBM_8x5>HlG^=DUg0?p1r=pp&cSVGKT*YU1b7B<_?dzqg zqrz%KbGYi|{dQ;7+Bkv|sSkU_*0{!w&F>^eC)K(tmdy&krRrOEa$<6`@D|2nb8@Iz)r{GbqG;= z{X2LISX3t`%~sKB`1~jz_l0z@pH{J1gh|nh|2K$NV=LRZ)w;)5H>W#vo|69PLc;o} z7$+zMfbnZl3;xxnPExz$!BRjKr)yl~=fnVsb+I?=N-sPIc<4U~?m;nj*D%4-i?7sq zKA5hfn)))Ej@=MykxDJ;E^|+uz7b{>FOS0dg!x&mP53<8RMK43FA z0y%y9=Uw^qguKBN_^=9TM+0kT6HLAyO;C`2Jy`bpRBDj)DrOyfcKbRe$5IXfA7x6Q z*5Tr}Y2RR{6`zz}_hsNA46Q?zvd#~)&a2Vk!%4mw6VB*R*z|kr=a5|*KNlCFSVf-7 z7Z-?D**{NCnsWx!`n9-iMaWlHCU&ILkM%Kwdt7tV{6c!~7f4#w`q6AwNWHMDOmxm> z@O**1lJ6q7&=q=;^jDr^V+X5*Hs9fNzrf*yFIeG%n^RLy&fzrpmh9JT6g=HMUJFgW z{wMt9n9a>w4XB4ntTz22aK&@uzAU>OyrgoDZyy4GUCD~HZawSKzD@G^J}*c z%zm+ONK_M@JrC=H(>?2I=RmqA03 zjO_W*`CFdcAymUjin^BG!pZ{-k6IXpMO!zcOtfP zfOqY5;st&}spEbd+*q_++L0@;lX&0C^Dh=UtYoxzXpTqQ!f&D58ssMjT&};J%42!? zexC2*-4V~|Xe0#D=-hq3r>Exe2a&bKQBx1Wl3gX9i!ufD*2K+)We!tuqu!T_%g7+j z(xbquJ~mXkA)Ag$1tlRYp&G1myXG~uxA#X_KuxRNEBo;bx(IGk*~fTrs>>- zRVLPLyf?T7GZSn#z|57LC}4}?cE1FQzwhWa%O;skTy@QV+2Ikwpy9P*N>m~B%A%qJ z7yEOm$1ADRb8;6hyjuhhFR+sqzN1+EhuRMPzt?v7z4-Lgp@nQvHLFUXyw^YQ!YSFB zE?$>2&F{w^XxOHqmrCxzexBN{JW)|y=<@n(j=mvp^haswTGz-G#F*)Ay&JDmk1H@0 zC<*LV*3G45-nhC5a%N|Gjue0BTkw3VQNuq&2e#6&&xb^1?S`pV9@{z9hbWfF8?Gr~ zjr6m=KpYER#vv5n*jZc2Ijsz7G9ls$HKifDWjJ!v=BDkt zWt%)j0awzX6C4~I_?6D!?x|J&ae^oRj)fGR7mrh*>_bzVL}60{&Rh=@A7;n^B(5hp zPWE|J$hgW-botiO1+N5?W-p6-uY29bO-R&;HAHRImTsRXaU;Jji9)=2jWqN)F&w&- zDAD2ON=-+}-j&Rl3+|8vMK>6UM1&a`i7Y%-LTzspWO7ENa(U%zgHE>|Me7un)EIP(*sMa81^3dH@8+4@bqWNIQ$>Q8)aRR*6uMH7AhN^ap8`MG zz*qB^0_Zz&zlD#-nphzPlebC8)*8a#2@D|t|-w;yE( zDmT}zMcqF2n zysnX@S4Odg_LYrI4C=)QXjzWDrar z`12z((=!haUiLp2dsmkqpQqCMOei?BIw6r#7VZk|ex{vjlr547Mt zbajo(Yp8>TTF#jG^>Ju-XrDw#My#KW zcP|#=%v)5pWF4*l+VaTkHS8o!+@fK^hr6_0_8tlv5Gh#$BhB-g!(1mu%RKX3RL>;q zuQ)J`oIDY-nWb;P`l9WH$P1)}e0i7OtyXIRUV9bssi7~#~ABi)L|sNc7UWf3l2 zSIpmf{0npeW}JQWZpEUe)Q`_YOL6XrdPovaySAYD*_Goso71M|%&7OdSty-4NtNL& zPTu7_?RUvaS3kSG{lGz<+xVI?f23-LLzN~i8#7l0LoZNp^506okuP1XwCw*@?sZ4j zilcXky;T|0Dl}!rM+MXI5Zh4jX)JC)M}hH;+=(VpBoe9P$DZ*_=C;juanfJ~rKXqRh+~$ptg3?m%UK?qNiT=9oC>Q^$=)bqECE)T^$ng)|0A9canM~ZOTI}y1bf`{jK>&t03Zi$VlpWb3u@H^CSWUjig{82stBeDWDT%yAaZ$_Ph@br4}oHMdF9*u0EV3 zR*7Y0?Tnt?tBBTI$12rMJ^i2(OH6GYC~|nikEgZlcr8fpLYSGj#1r+6Lu2(UU+?sZ zwXRP$`n$T`Q#mQf9@aVvjG*7zJ4VsXuXoO9#f@E7ePd@BVIW~K@$9qm!*}-f0`Lf> zg%as_YwrPz?eu&Fsn@rxDpFVS56sYL_~|)nRah&+u~>p%Ie-8e>@I*;-D z=yoh_4H?-~3+C0j%|}2;)#D2Nz;mvWYwU%AqmNb-+JY=mpO`fGaq_wtPcg}5CNCvy z$x33d2hI=UG~Sy*#EyHaNM`NLZC`B!qL^}!9iOV>5C;?aN9pH!nPW3G zOh+ao99ls_tSz^lt2r-JWWnYIS!R=vb;&dX#$)=`u$XW&W=@pN|=8pncjO(UL& z!lKNsI+V%eS+=8RCJfZ#AvB1N%ep9!ncqYV|#Ndd%ZKIG*?gScfR2cQ@X)sc^$OX#Ej{AI?3?mUc(8<_d zrx9|!Fx$5NIr(Xk10A$N_EJHDt$j=0Z_<@3XJb=vF!AFw^Ay=7aLy~(FU z&vr<>Qih$Cro_b#nZIMQ@*FprGfv#`H`!^J2t_4oK4M2k5qn0ilr|LU4=laQp58t` z8vg}yHKn`N$jKuMvKvlG?8)j{SwpM3(5Sz$(!S`M_da)Ro3ow4rj1DU>BxyjxU9yd z1qtKd1{VrX75Kcf(dIqKpd3nrm)*N@Pmy}p^N?1zmNigg*ifN~k^E!cN1HptaXOMF z$k8VzXtZWxLWL$5_pgf1jPC9RPW98JD;7#GqCw{|uWW!^K_ht;OTI7$pGKF8zk{c`1_S-j;6JdS&KkPIGMRPLaR27S7 zZub~DcW*V*c*QtHTTTc|GNn;niSSx7)i@g-Xw{aVR5p>gc%OZleT=oW#==oR{&XVE z@=#68Whz`pl(C3Itq_7#1}Re^5#iZ1V&p3#$bnp+cA;TfpT6U@`f~fx&k0)%ab}K{ zi=$6Yvj(&e>UI79_WPxy%nG;r`RS&&Wox`V?Q}U670m6O3M;0I3ml50$sLn1DkuZ~ zp5vPB-~vB`2-@6X#Jfyc*Nu&(168NMO6q72oyYca*8RjZHO*#r+o*R(9v|AI19b~v zrYwkv*jRlu8x&jR2u*RcQW-n%OXr3B=?i=km$@CW%t@==zGz^skBc#OW!rH-Ou3sU zGu+9oG)x_$LZUj&yHwfm=ExG)5rz<{xy?L$oS86AcJ!k0e9Ai-FLw&sZB+|8W%!6GJjFZJcxWm)Ud3idb|5U6kX?hjOTm_cDaA~_Eu_P zBgqQOMYN#_?o*3eq_szftjDPRR;^&=PnF|ZWqq@YHPzg4nI>8!E&c+Wi8jdT+XqpS z$>V`i`n(L{&?s(SJ)6wIm74KirrgdWg&;v&ZP2DTbzzt6Ujub?jP)Ai{vuKjA-Rg_u&Ez$>W6K%Aq_41{^Hd zqw-XPK$kGf^OX^DiyPLQYON~7q|ufx`P&VR-(Iiu#ReDNHshfd0&Z1T_+6bINW1IkKs-2S70-Dn2tIs=d+)LQa;Ut0 z`eJ@_1>JO)gg8-;|Kq*q2*G5}uD>x}e|x1n7q|UT5~Igu@A(DNDtR#$)XpXLJy6X# zW+}D~yc1o;*n#FyTJL=rmeQN0F;^BywnHfUssSvj>`14xN)nk1QiRH{GYW&hX3Uj3 z(C_DSsnk~u`mKZgc=7tcD5Ll~H43pY_4LV6zC)=pkw+KT-Q#j;$PnTmf+54xZJfj)iQMa)sq?QlsUEL>V zthZ)i!TRrL3vSNF4mptJ-F16mXzWE)X(W!(osigAQ++u*=cQ3SVe~<nS-GYj4ML)iLYv5|`r~D!5t|1?48dARkF7Oim z)9SKgJCs#d!LmZS^6Kn)z7`6lQ^VjLU8%6j^hV|^#)~t{aVbx5(%ppBal&$hRc}y) zmHKx2P+@+V6m?bds89v6y18OBt3nq}G^b{t7kCY~AnT>w-X~O2QM={su_!JHA$blW zTDu%PvG>KzI*f}&uL#<9RKGG(VHoAQpTNB^ad~fa1e=W-QYeJJ9$rOKxoYp7Ka+Z- z$rd>#lJ`r!*+WtL3Rcu4{H%nBbu8_}9^6D2q9#$d3uKueEvu*qnJ_o0Bi1BS-WT*( z?z{YKtL_*6E^n!^ns843^cxj*CEd!d4y<7nUaT>QTtT~sTf53s8WnQJ& zE93{o!a!r20_P8sqd~4TuvNDi3l`bE4r;4K0<1v}G-oYz0=~Rn59~Ej1<`Tyz5a%{9;%hS?tpXP^_RYk}EH4x1P=xS_ zeGX%m$>*aqPcJ{OE;$;=RFz_eNQlst9+w?mS>#~Lj|oGp2O7)9$eiB!D66Aq+cLiz z%~t8>N^+x3NEFwK5W(r2bhe)w8TXc`<*?1V52rc}X-kurIT?d%j6mKCM#-neZR?AB z@q1T?&z$5>xI0hl=16>|KujzLVt}saqd(lHd{|f(!n(8U-3L-ib z3z;XwCG2sIQnu%D%GidmyM0f0aOT6QO7WU?_{_3o0$CaHh(m-HFU_fy*nQ8S!mW<^ zMm}CEeXpecZO!uL79Y9sL2m}y+7{AxqmsdntD%UM9`D=A+3)f?{GHCC%A&^iJhVnM z6_3x7=5=iM=hd^1%+1d!zI6@Sd<`80-*J!V_q z6b_ejFEK#MKKVQa?V^MDI7wDmC7FdG8fxTdMf(!BBTnrZRz<(8mZ64n>3$w4|9GEU zt|HaAL%7x~?x85jL0xES!B=y`v4xO@47kgk))(w-Xd z5)p2m^u@RFCVO~G{}Rk9+w+D0 zXHno8Ng(iDh&i&EIGD$d^}t0Gnrmi`yWdn7BRxhQ_i85Qwy@X7^A;yGC@ z8ri!e2tA2UFuvuAU{vZTLa}(tG*GeouH}JH$*f1$DeO@ED9*@X!e-hU?Y=&?Y*jX9 zK$G8Z?^~1DWJ<^DeU?)LH&jYc649(n^QVdM&fm#6gvPI}(kmZ2KMW<*o;w&9 zhd?|Ly3E0G&fX$4G+ss!WA4*w!KXgv_b;1rcHHb^A7T=%;udX$SHhktW34`-i;)+#4kHRRd<>7_V)_HmJ*dqb417c zvJDRB4dx&DbXiAxC83`GT2LF6zP+0_E4FN5Bh>CP`qnC>;GNRt6NRvXr`(}=45z&5 zR$o4+85u;j&TA1Bl@yD*72wv8l6Dp0W2&lxPOnZj7lz4pv4h-+J1y+XtM zQ@CXYa!HEPy3vMmYEQK9mc5%~spxR=SEliaQuheq_POxEqj^v6GoQ-k7#jvzk0j+Y;0 zwu@h`vdavtDv6!*JQCyBgDG)FJefzfM^w4aYg8TfJpYkyAMgGErhYhKi28Da>QLOA zVW4wCLPLM{m;!D=MR07kNlAeD|AKrE-~YPVgz%pBC$|E=`PKM;TLXFFF$F^q9DCMo z3!ja6t)&z9UL=%Q56zLKeN2dK$D7Nug}Jp3RLi2$;a>}T%FaJ@C|+YTXm@tI=m?SU zah?Fyak;z$lV7sCIVFo9Co;4*k?4D4fjyk0rnjN_@@+$lk#hoG8gZ+ zIw1$672)LH-aNQtI>h14N%v+ZRcgS4^<-rHASZ&y08ve+Xa8lW5_VK8A|hIxYs*z& zv@0bFAA}=#{fT%NUk>dH=BAtFc5MA}Am&(HA{YSiUzcw@)oKywl}YnLU5O~BK3<@P zl`?sVEaXkF<5ZqGx<9{CCe~_YsrPk$ju^|!9zhaU1`bjdv^Imp`mKiAZ6#niP1X+d zmXmo*T$f@DDk(Q}gnCbfnr=lohE`FM(S{;E3o${*Ti6GU zFxK>)JiUJ55`KOxiDYwfoHb!*SrLV8vFGNe+f+_^WCl7dA4#1L)4$P>Ejn%WI3n() z1GlUlTK5J2o`P!L)_4L=!R~C)MVf?)(vkZX_h}xys~37Z=Xv-cKj+L=LKR0ZlAK&M z2c+#8Uc2X`(Y2H$Zj0Ei%r!Ti9iq)yY0eISylHdw`s9_rV3=(CV%$7$bf32RRfl3> zX^4ua{RuUPHbGUTYy(-CscN>Z>C-qHr_LH=b%X~yHUg?@r8NYltE*iWy8gZ$H|`-O z+i=^)ls4CD__8091X8BQUuTWV-adqE0HViRz*rDeyq))PYN%v$ap6dxnJL_QWN?0L zNq8KaPYtnW<%V{N<_6j~#8#r68^#kXC(+P?-Lh5xD>@I#U)HFJD{npr%h6jw4S}Y( zft|45{Gc1n9?1bB2V}3C^hl~#>Xov+WL=9~>h~(h<*T=m20j#6a`T9X5yOg&hZ?0<+fCuJZUhUGeH0OJ_y~P2Q{}fjLVMPL8*bOAKYuwaK+1~YFDro9jPQHDr{=P z9S0{orqGF^!eYNvR!7Wfl3Cl zivGCYsz@Xszg!rNP+yj;u;!$-P}}%eCQ{>KimQKd?@=)s)cxdAkiv;I35mXOT0d6x zMu}lB=cxE8Y$D=bv~*Afr#JOp^1S`UorB~$PCJz;6$&n6oIoD#2vPIgch&p68Anxh zg+xZ>*sARs2U@D(KEv^-^evj)=x6)+F>gw`PmkV52&D1G@l3DZs9dtUzS!qcLwnQa z=c)rYv0t|DTExC;$VHRY{&V#i&M{(S&J(ac@Fs=DxUm;T9Pdf9y?om!XQwHtX-8PzW`a4#M-`T!bL(e z)--U}OR#hso24I(D0*ZWiWHgdP$83A3By>9`LYTIO<|jnd07%wNzZH1?CXPC5bvj% zb(BfiSJR5+wadMJ$?7khOWdi)Qkr8;pGiIy1#8C#J=*rx@$!CpdCW&1m2zkHK-&B< zn}lwIr8i#MZ+gm@;$@;R9M%`t_T6P)E4c6rw9Vh}Fky*}C;Je^-R<4B@sTR|C#9RR z=4#8ZGqKX3G<8jh6H_?twM24>9IKbTtSrK$%el83-fSI8S(Q{;Y(Iuopv^E72WZTc zBRLj+-`Y3XU{6NoDEQ*+g!AR+4Pyeeg8}u^1KC}XgSK+d`@Le{Si(%J>Luz`dZ0$` zY(b~8(W+G<#wHZ9?V0yu)6FEwbe^FiV9-hAefRa%ZIR}~|Hs;Uhc&fzjlMw;M5?d_ zq$>zpk=_&P1}TDIqgM^pP^AinsuY3Hw)B7s(n;vOcLXT`5(piXlF%U_p?H`3eeZY9 zbH4XJ-}&SI2WySYx#k=*FxDu)v9u9}VR8=xoVy0X4+mXk&AjyW(i6>?>~_7Wn1j=U ze~ng=w27ImxrfQ);Bzza?mqtKcuBXiANk%M{w_>cvWYgI;9e!U&k;FTVolmNzR#7L z7E{&>p^lszyCQG9iFJp=sV0U5q|A@!Da@GF285_2$c<8cS@yt^{RmGU!(7ymW-W)2 zgaD(Jt8+wo=ed^QaU0p3$=3SAdljDSP26lU5)EircIPrTcAHsio|sCwAuN6q>mpm; z?rPs15f3sbL3E)8Ull@K?G1e5U@n12HE)r$%DFvqTEUYpGv)i`WP~i6@sfM4&o}7( zkZ>`tx9Qu$A@2}bxQQ!UtVyB_bjk5|Q!BbS;5< zg;AQCN|Wh5v9;vfb|c;BDj03H@%qNI^yei)mHJ769Q;=}8S!XMa$6A1(|(0H=bx_? z6)v@Dt=M{0gRPb+@ccX~B0z|0xNIV*^gD$1_{Vq>xzbtYDvGMMPf0ePb4jwv3?qns z+B>rDgS&r^@Q3AUJvH?#MlYs%l#iu&1$r2S953Jdw$(OT)0z$o@m*8ZWl*9$O*xg4 zT%>>sw=0OM!-Z5IV1jPCl0T$Td{dP%@raW7^Ib~N#>sV#S)Z%?!*4Z$ls?ui5NamF z%_L+K7PXo~>3(63Rx2t#AEijfkwrnTFMoRI{Y-A6SF)mT?Q{51#s1|nVQpH&%s#VD z8iw}{2eo{=JSv0bcdBP9*{N*JO^#1;$;UOmgbgDYMiUGL4?gc6C2i)vr=V&Mu%A6B zI2BosFE%<4C}BME$&GMj6iTI0>>gaDSBr?F3A*j~_jyrG!ah!cfoElJEa3PrN9@b; z?BS0D8>sr!L47JqFjye;^RMxF@;S+oSci?ZxTiR=I3D2+H~rcA3BJWzo_4k@6VKA( zb+dr?QtedCI3(h&pktZoucEQo+murLWk)2+y0vP z$MiE2`(LTR|M|yBA1htK)PEb%k6!IL4SkweFs-a(*0bseyK?pyqqXRbzrmSAHsfVl zSiOWgUzGY_Pp(wtQ}~Oov+AOL)K>)d{)MjlFN65s#wYG5ARy@a4TFLF_k^0Ij%}!# zc(P!lqV#f0c6QD?t*4dFpBu~kJp$84>Anw$A@qNu9SaJU9{;_W;e;x&=H^|MxpX3> zmz%6|7gJsK&zS#vbKu`={68&FAd~bl$8R6!FVJ5u)-|N}0>8bVK(%)awzWdj7VwMu zozqr8N!Gb0S{r85M>0*AKHrXwNOuq3X_#Qd5amflDWN=IuJ*;@j4M=L#-xy*YNM~F z5*m66+-Pn(^|bT3dV#KEXQ?D_dp+ES*+$gTL7fvI*ScX~^mX#sdAUk!73YwCapt(w zSE`8dXR?#i7Vt99L}o_~sTJY!MKU7Tthd+4xN5U!Q|y}Ql=*5nsAJPHJt>H?yUJ6# zJZmgjFU^_)HY=#W%ozE|TVSz%z74y8H4EvAF%Xfc00N_s8m^eURCX3!;l}BqFZx%}1E6lpLbWi^lhtD}u=9_&mGPaj5 zT&fbe6FW^*#xeNT(u_q*qEqPx8tb0%7?rl-0hh%L8FouqTZfb4BS!e4;cO(ygcxr` zE+6_@!DUqa1G{QEn5h(%pm~FGSn01rLfYK|jMJs^(JARXP1tZk$)XQzcW+;^$E7i* zTQNn>XVVTQuv`XrYs;M>1rz4w_3FRFfi`}3dfu{G!0J+xK|FpG!=e7ENBga@h?+>N zSFU}}UDu!?&TrUWs!^*c`Cps1A(!}S$v=bc5ghLKmYC_e@f+im^LS=HUaRv(j?6Z? z7pWRuRG45Sq&&H2T`V^IEKMq3qC|Sq7^*~yAFZlR= z|GraN6WSCaDZM?nXKuw;;8S|sh)d{gyPfiV&NWu3@>|y|#!lBS41i3=SfscXPQb1k zZcuiJ#s4YMlG2e#Fxg1C+Ho97Dfs#&YF?UQGGopHmV=hF zoyJ;t=inD;D|rH;WdRNpJ?9Z+Gwp5CHeCiKKq3$qs&IPXE&_bStHq?ber~+Erf2`5 zCOa$WAe);r@a5GmKFhvGG<(%pxrM)XRd%tXyi?ha_TJMk|ovdSyZw)ErY$jVXPVd6w7j!0M>IVzb@R~FI_%@Qej8I!<7R23VkwNrBAt2H!CWJ6y?$q_Q?jvbGIl%NT5D*? z&m`fi<+yzJsafv|dUeS8Pd@9H4u(4SVE1cR>aFj1S;@Nd4KnK4@^$TeUqHiPRVk$PLhbFxbXhOQT%& z+y}w?sXV+yo1$#(@j?y*KBx+=zs~oZT=Vylg@MX!%t01@+c_}HMK*!Mj%UWsg9&`g z%I_~C?zXuv+>Bi3V;{dhWe9Dc;jLHQGVwbV`7+hfL~{cp%NuhG z;tP0aNHlOQa>i=nDJ4avqANYsn=35r`4EEk#Ia2L6vrh^Jzy1Ee6+`8^Is9d#T=^ zB%`qFlmT(OO07x6I~!AV)npz+vEK5ni~|?`*G|iTXME$L?ocInT%^N+&w}9l_`~0` z7Dbh-%?&BlA)IT~$MJavF`vkjKbm+siu09cHP z7}xRumFxG=b((GElzYLb=k%?iAdKeS${ZuA0z)KvOJ5)Af@bUwmZVOR-Q8+r?bHbU&itBg231@_fE!oT8tk^e?lk->(i92C%92(ljv&r3z-aZ-84U-=)A(&Oi2!v9Hswq0=T90C6SO&R z54h{fu_m9-BN=H3ABKEC>YoXx{b-4(Y+>J2@KAk*g4SGeTvF;2-IV=1g8Gm6Nm#V| z^(&`q+mdLH*E+V(b%KT4auInQ91l3cNoy zQ2aiJf~Tq-+B-OkRT@~I^NQJK>Xb*piKwT*DKq$u~yZ==J}tg)c|+3KzPTy@_h8KB3?f#O!cF>XgLF$!#yr`;_TeD&i`{ z3;dUjZCCvF4@1s>FglvDqSLm9HfZVTMHdEMMsq(?*rI9M)eo!}Xw;yj^V>K7tbLsk zqP}y+%Da7KJE6UE?kuG+u}1?j3UrjF>T3#v0EG*`RoJ)x;3wu!?vb|yXyQydhW)n= zRg+A9Kgk>6r`*4vuc_Yf==Y*waSOmy z0BHZUh^yS0?s7o3t%w`KFB~oWBwbo|2J1II>Kkz3X^-(&Vbaq*FZNr z?t)WlCKvP1hSw=~ap!Bt_581LHaV0lUPdcDW9qUw&Y52f{R%{IpN2>B4T!9q=^%V| zjuG?9sh_jBfm39|x2)-f4sQ0{+idw`@gD{M0 zkBF{&y9Yp&PBPlwt-Jc*^PhcG<7A!!8@Iw zZ#d}+_or3H^zp(fDMImo_$2Tzibx)@DJd|C9Jg`xH{;P^w@6MC;4NO((- zp{Awc2{;Yt8my==C-1dR&>@3#ZsqU$?jS3vK%+X@c08|JTS&PgL?*MtyRBK)*}6_u zf{LYLPJ+5~yz?MV|9mbUd&->s2`~2-}XGi?QquS4X66Y^y|<1O3cAFoO~{i~R<3zk#6oqe($p9jcPX*dLv&pc46(i;Dc#QsJ4^I|oA zJ|8<5Sc!aETJ+81LL6p(6lOt{?##(x?`>lt0S3HZ0^?4e73pzos#w{E&6{28?ToC< zx(R_Wk$fOEC5Gfh(W3eXdz}Q`J^745B7b}?NJ0OV9WVatFU;PxOYD%b7p+AJtK`gi z(>wH_!Nn~MJ)!x2GgF4f)1Rn%2dhcRVJ4&EwOHfSZC5)b1zN7Ra9%vco`I}{_G}IK zM_lW!bDx`>s5{)qn2OIuS9&{H%Fi(J61%Jcgq)({8^mO2ui&4af`K_lht27XbvJ4b zWq;jy=5?>}ZlTeAH!qGU);wJ>rEv2Z8%&p*qPS{Ow`}e%kRY(aRaK#JPG@P2x#unr z`0-4$_<7IAjiEQGzsC0(z3!F(jenj$hHb{xwFMX196s-8^A{QO@VwjEYcHG1R@H(K zOrAH)*kjr9=he$^BW$}l9<}ul6^>u1WZgjvW$?mZcAlIH+Y;qJnOzT3M@%((?Qd~YGfO23J@ zZQM)T780JZ#JfyOxw2@Y9vwaY>Z067_=lav_+A^LxB$=TvKXS52id{ei5p+wRA-od z2Ep6GCWC$LT`0oc9(xpwb9Cu>w6F=YEUq?0tdD@hc4Q5mH50XzFX5;4ECpO5c^s3} zaJ3ntt)ZlWbcT^Z0^_0QyGau@n7+J+CkW}o58E9BY86Sd_ZSnc>KvEGb%K0x({NFj zSpkiD2JOgGk%`F3i`cWls^TwkRYH7F0>h;(8NpEDoo5HF#fNTX8Pcvk2>Vc!*PVL| zK^ZI>>Z$=NZMA-rS=j~QzHU4x;zLjiqi3-ZMn<-Y4d0P@Y1c~P!Iy{6p}qZmeQlf( z^^pmj2V49!{%L%#4y@ZSbC`g#za>na8C7EDG4h}{IxN~L?_cMb7-Gf34U8E@=a|a8 zzfCO7z@h{1JIFO){IGjq;t;VkhbTPBZP0=#8Q2I}Bv~2{^BSzw`{7qmtBpF+N+Yqy zlpha)=$}cto6wE+`c%#ZXDJ`7u9W#s)~lR??9}rL@S}p#Crhd0Um9AJF}+5Kg^Y>Y zn_K1UVGjD&zIm561{~cfkwu`z{~(*CMObWD72=vXB&qoc%|sElAxH~^Q@&;l%5=|T zGdS%SKxJ%S%`ock(Z+k7CLf5K);cwdLnFphudgnJT||B5erLbr1D+hOI> zM%{&rCt?A+Qi&SO9K zXV7RjZ*CW5WQheQ1uMUs=dRO5 zzrZ~}<%z$3#vPPN3ahd>$iB>01((6MGu6DMr1W4F_>1Y*v(^G{vG57WbL&sZRkzc* z?o(r{CN9x4Yi${1Ft=zI!h_d0YtMp`q0$BvsG%7ShepXz_rgWTc?~-dMt`62lee)w zwyUy15M-$~Dx;acGvaK8(8jtjuT8#PO7hfm83@#`Z4BkgVp>yEqLpfxk2|jkcnH)? zg&%;ML^e?Oa<7K!^=9xr-WJeJQsnjsKh=7_<5gB?AFSy{MVpA`PJj1dytQG;Y;qr& zn1NkZs7WJ5C}{I8Lx&*%8Q=(yDke;kv+qIMy)4IXw(qL*yg$lMFux+j#0%3!!@4YI zICqyCzU1BDmAaaY=f0^$C~2)Tv7POErSz!E)AL}@rFX!w=wbLQW|=wzp){JN<0N2s zjrU18*!up@^N02JGsTd%Y<q zX<>kg{=!c34 z73iY0A^2ZiG_U8N79-ms4%8*TMgjj98fXeo*-Uty2v(si&GP9 zS^*DOoN&PPib?vJe+m_gw1m)vadP*jq{{r%0aGp*t(;qZcszm54_TF}OL0|grUEPF zLz`bUiEmk)qgpE(<{+gPqg4fuT*Q4qinR%Xl#I?U*9rwaOq?U*;iahFdRnSfCT82H z1B+jvXBQ}+(v&e|q(oDBnet1&kf-;r^%+Nw!WMbjOaUe-RR{qXlR z&JQ=+wcN+(CdjJf4>1=h3;lq(^zST~e>?p#lNU3$r+_GWBi2>i$4qt&Dw~4c=N_Z1 zmr?}#F1`E(a!uL{E}nzQr8bsk98_cs!d^2vh0fmKMnXJlf@=qSRVUqQGWF(+AHJUY zW?$1BDWkSck1#;io9CF2Eu;h3bw?@(sVy4aL@sxY&noAQG^z_W4{tDzLX3(?!C$K6 zKY3@J-Yd6n%3m(GR95c7>!0Sa=nZWrY*E(y&qFkYzB8Z}^(QewuSjiutS4A5Yf~jT z>bkE+S=4hpTYQ0we{>`fE{3N=d>Iz>&=vAdxo~>-|NSAY>CL#@^={Wvzm+t~^PuoN_O1b#lYqb>%2wSG3f-pNYKo*#5U9@#lPjlKrzvhKc zw*!8M1rG@s{vjD(Tywn2<|4puaIfd!WOm?$z~;4cd_80y(;tPHtHi?D7=eL<7{NTx zG?YKG#pm+f4{zgc=L-jtznDjyF6XZIjoI$>Nzg2=e45mk*-7Iw^zI6BOwZvPb_c0H zWq_>GjL%6dq^~;m9b~pMKkG6$2|Ya4mtTFIzIV2|OLd)j#LksZOTg9hFkdlVm2wZ5 zS8EI?A;s}MfTkVns{S{D-((fcf~SN^*6u=EdJgXv@bEHqv-(U0O7c6vG)?}T;txfS zSt&P07*0>p_qOM$qicC8s^L847N$FrtdvWKhTZv7zP)3Iz8$X6=5Bqa$T3xx%;z&) z+G8`9YY+$5Bvkk`&mO>A_ieodyR=<>(t$mj(L9BJZ(r4oK;Vf|N~cw|(MP8Pp+m_G zJT+Lm*T;^ofB62M{W^0OUf!+KfeKVGkG`) zs6r)CN#>3I5OMZg=nUxUb{ZOb7`>Fc?BHm@!;$K^gHm5KG#^^{-f{r77e!yOtxKWk#|E$ zD0(jC);1oXU-`JVqaV(c#4=j?J8hwwiL*$H-8;2`I(U^RKCL!B+R$CHaP|Y&Y>Zs| zXPPl|U#IOGmFTskOvh?q8$%Cad%J0TOrKwWFPJG!P)Uww;EoII&t6M89#fgK3q8#8 zclr*S*F09LYmGi43Nq!bbZHA%?+Z8lXgPd*co_HDH}p_sFIz~(l2@x(B|EX&U{vK@ zkaTz7V0ize_Bci^8c#Ed?)6VQ@pui85^#s5G0uI?wQH4)U0Hfrrqpen>A0rWgzXlQ zTX;{rYr`gxz{|46MuFbV_u1abgP?W$YqNYa#k@G$|G7?+<2~FmcNpmt9X?qF?$x_7 z9^iw0uK2BN8uhsx3--yFJpyww*=l>xnxRJ#H z;ZxUUFPTWF)Jlu+o4kv5P0NemZu_eqR`3Ysm1ax12z=a97zb{xCRvA0T#VtskdjWX z;rsrzrri6S+~%XE@;U-$DqNrcT5hdgJa;FavlmL9JLa`ETX0Kpy+5V!3fG8Hla0e% z!5Y5pez&$@5m112s~USXoj4KTk19~aN%M@rkXwwRplbavS;6da7B<{bDZr32xu}6# zyTbK@Mh6Qc>s1D4MHsy6Hh|KQ4eE7G%9}pFK#x5d9ZfdEvKk}wil$Dy%0e{#)6zNn z1dwbdN3A_wgxIfrgT1cRRj!}5y;`%PIMaT%C(r-&YqV@kYJntj>Sp(%Dt{qnocyWO zBzClqg?p=6Nr;{f#vm_*K8*%3ms)fV-GI|D5iZ=+H|oncK25uDQPPx-cXc;55}R7{UU5kX{#?%;56I``5o$)H zYCodD;4DwII%YwA)i0~sYL4W!(1aERnV@pc1uU0ibtbo6GEHB&5Y^2U`==WDv&QyP zH_OVKsfk5gme(yEjMB3?IPch_L9%(L6dt3x!iKUYL_ggPW%2wKD`S4vi3;9*TCb4} z&5&hBoA-=+uJNKyww?)Ng0xDo+fM}^H6n77W+XE99@ZFh&b1b?EOEkw_x=)-FpCvdAp8C{Ft6jtkKXt7%%D0WV$(XNiKh2F z+{Q15v{Oa;u|PTxe}PIgc-Ou|F3q|$YOL3O-M+kay;-3;L>nW3Sk&(fcl}Ckn|SD6 ztY^6KXTPnNrDk`S%F5TR-`RafgH1&?6O!Pb5H^X0SPnd~I3t~MoZCMtedR+9NuGH7 z#Qkfoym!TyA&NLxpPIJxJlK+Iz^2NVbJr@V*<$IO>JXPg3E5I8*U4vrA15Zi##0|% z%)#$WnJqYU^f%qbJro^;GTi*Q&P{nryVCq%dyAl;Y?wcteaek*dFaRVxuYFp8;w=m zku1nOw>q!DUnRwN{79QwIkz@OkEZm|eA4Xu!F#26b4qy~M^~QG3tqYc;IEXaC)se)g+AiF^@!Q0 z!-->d*?c>VIptPfI&C7an6`Obg zC85%7u=+7oC|?amVZ$!3mwkEV;q}!GWzl4CZ)CN&+=dm;O7YSRZohQ6wh5;2(?8Mb zdP9QUX$Eatd`^O;_~fze*u)-B;Jwz7Csj{HL}A|G?b}^uQMi?9z>~2P)B?9!S9YX7 zB#P(e{~*B#nZ7d9$r~EA`?L^E{f(buJH(O6?RQv@5yQG$2xKb2lyE(qA=r@xA?_~> z#we{+sl-cpL<-iR5atV6xS4D} z{LN397Tt36ITES3?8rFyy&(rO>bY|TsbN09H~dhW^;pdD)XDoR<(~xEE!Qu-O}E#) zs<~`E^KSfn*B%U`zbbW6_u_HR_(E!QqSc3%JdoTJW^_@PoA-*elI~v{3JTsPk&zjz z3-%#3l^`!oUY<|fLqj8+C>S9~M4b4yv@r8RJj}9BX8k5c$b0c8Y^j(mKycS2!r4mS zgCm~>!RdpB)YfnRji5tTvm7iuVYiC2B1O{7G*oTTSSbzZqYc-2R13YabJoVszm}@} zImd!!6l|A12JEkO>9!g^{l0=N|LKOUuerEDt0=;>>!&r}ft$HWw#gk~wpX^9CIUQ; z7veJi9uyI)Xmh;BR6XF~Ohuh0*!`36LLgK1@m&W81C2^iJWdwKrF0Z!OCF$B1C5MH z?}_wDwC2P86okcDDQ~AuYZ{6AJC`e--uyO8@3yMxw_-H1xCVDtAWeC?{jp%zxMV$%tUr-hxy1Qc`cx%;tjtiS$`0QH>F~QzwD&Iq-F<;-hAr6B$E9b@ zMh2e}wHRg7{YAiY|{u9O1qP=X$?1!Dt5~dMuQ{&dN;HJnZ zUX~k_CvQy?^yAIJd9`Y-NWk_(Q-7I-I3u?0ezr!26p7viXul{kBa&ndJFmE?HFDG@ zm`;pAWnkf@U`5i@_$?kT9e4Y7_)GHCa3Oj6{UA`GTx&*Pq05>Bjg8gCXBTqVJPrtc zOpvp8aBSjZ62CfxmtzNiopmh>tqrt%;j;FWGx_U6N$GQ3#7x<({MJ;vL3J;4W#g(x zf&=0guZ+N8iecAjt)p_Y`wjGsvB|I*D4QVu0{!SA*N}o$3%u{eEVwRb zz$ytKAK50SOZvl&aOT&z#=|#aEn}X%l7t4F0urnEG0}P}2ukJ$&itAcxnb;OPe;iu zV%+J&cu~kpPjI+I(4t9jn`zv0@8IORjBV&&3b)ix(w=Y&NE^q8k$B@SzPt$jBEJuS zJH`L^w6@oLM+?6|e`{NP{{`}ve9hP4KCg6&7Py%C1=^1yHs@?dhztA_J?+c!`5rtI zeDRpaFZq15=X>zwHva>l@ypm&P+>(IQ7_jic;d`6m*PiUHu+3R8N(P;L;l!bdh z>PWTCz@OL4L5zt74Ut;m?SMm`2D;E*76S5)Qyv1#@KPr@K7#OGT-KCq0)-#yjD+jy{*mKb zB3~wz3+r&B8xT(%8h-!ZMDon%#?R!CoJ`!X-z3__XE7Fy!4c!R>MOvgj<4QaO@#Rw z?&7_jlsrq1Hn$B!fx?-?me^?!$8@y@4dNpM{-1zti#SwHjatr?xnre}(zg{_C!Hs* zH}x%nA}&)?!k++|`&Y#FsBR+rG(%Iy7tj~<;Gc*syo@B=x|+zq6OrI(dN%$$Vw(el z>+Uq2q_? z{PVvHCBXc`3y+86xQ~?1`wr@Xme@@l6M<`5h(O+;6(De%$2qr1P(H}jR*qNo1R|Ti zodGRzhs*RXQS^K*-T&;`k#%ZCYnFOkB1QOdecXaSQZaiFb0j|=C0WTY5p;a5X@|8y zdinuP5%^qrylz`sbw2IbkMoWiN!X^K(f7R9@f29q%Kbli^N5GX1`G8=K!g}NH|zAN zqUjdXXw+dJSH6I6BjF8G&{r<5O8)aJ@%o;PFXUmUg7)Lh{~+Wc&myE(pfv*JA^j^F zTR`b~%dXMe50YV%Dj2e=?ate8Og6%-wP{IJNp*lIg%4WofDmoC zS7Cmt%808GZu|CU5Vb*5^_~gCQ!+g%3zIdj4e+R#&M+4x59KSaooSMM{ zfubH`>AM>rBM=J)FjrLiYpH|QV#l}DBD_4aT;D%F=MHw@`wh?I{$EFD>}|9-5>d+&FLF7 z?Fc#Z?n9cVbOE!>?g`+>m{B$_<=aw6nhq-}T1gcX8VPtlvbG}1eJ_k#xznI!#b_Pr zC_hflO;6xGa-|nNlG(bw6-uo>LHsFZ_}S;uNTIU&MOox#Pbnw@nU~Ui>6YwvtFIKi zueGu{`yvzW4;bkD=DbVgVKU*IeSETOd3}@!|G|337y%{ml`F`}a{{I&&7B-YdEvK8*&vgG(2WCEJTO#EuPlq&qX) z@(3w>XuyJVjK~|4Rr^{u3V4TLaE4M*m`GkgB0p&3dT(BcLDm((+OK7H$1)YCPeRS* z1NdBRSvbw~A&#*4Ehm4JJhQ%2T_!1p?(UGUgPE((_p6%`A!huvc1#|}FyXEa zzAG=zi_z8FhjbBJiH+HOE^@(+p)bxc|^Y<- z&Pxz8uU)*dGBj5h)x*up+90?;v#%Gol|c0|xsX`=(E z6dv0bLtP{%PVQ9YPdcbvk54i2&Hota3}&27Gj9nb2;XnbIs*4erZWU?cr8ozd+;;Z zZ4|(jaEMilh|N>i&N9-IH8&`?585n5b8niRNTc7i!K3p6>QJW~kzq|V?`-Ejiqzzz z1)$;{%~fA~V%lncfv{X!*GmbIy{Q?>@Qn7gh$eL<1ci#yu`Q;d^ zRv$5nW9h_(zxEQ~qNPHBL+{@4wTj^x%8KnrD01C|RjSu3smz>k3qKi|EqR|gG7U!^N>Ik33Eg-E|G3^y)t6bh>gw^A2G@;eEfRttfWrS zg-3O>H$PG)%EN_spJ}l<|DxP=T_Ar3G3IJaBR4wAbIDuz6y;b3_g~M=B^^Y5Fgj6| zs*Abv+RIOgfs-*aH2hFk<10}H>g^KyQi{vIhCN^iw5yJJ!NeU_Ek^JKC@jT88-LrC zPZ6^=BPviSk@9if+P&;F=cPIBIQOz?q)FLfa^i+uZZx#IR24Lb&di z7L($cAcq?bK(ek?66Iaq^=kqEB8syl2fvm-o|=>BX3SoQ@8YvUkCm!yW8@9nPf&wI zpnM59$?=p#n)@T4H?y;FCf00^gpk8yqvmiF|M4#8J1DVEov5g4Ms~N_xN$g>9)go9 z<*rSB)~FHX6%-Std`8{M!-Vx%!UY6b%Rybf+WPpsn6}93w93t^TTh~gEy@BW%4Tq_ z$t2fB{keH3yDA@@DxWK&vae~p#7nzyRBb|sS!ZiHV5PW!ptCnf&0dir1kbr_ieozs zQSRP-{+K*B>OyR}o6xZ;@`W*p?9|!sCOewK>BtW)Dg902ZTjRT1UE${#M=tDS*hWc9j0)APA8#8IGRTF^H? z4o4Uy1(Cjt2H?z30~>?QI~-((y)M4_D$W^g+Op236ub^9 z9_Yi_?N3Lk%Ov{8MtSuZa%^QU;zD4JE-1EGD!nn&4CX)!4F#S3RgRNg&jSZl?`QyNlv0#TkfNQK(k6e1;x)A zHR%Fz0;@o-b|%S?i^wLXiXDE7As?8!^fP(ba;YB&MoGQk_h-5e5KEY}313=#KR>)- zy5{Pj=98f2nIvGkKlWwfhY^w|Gv<6za7Z-Pc1J zskO0BJ+IWup1wpQjeg&9jt(lPFTOD@?lr6h(bJ3KG5{J|I)6mG2Jm(G@e<1&lLB+S zjNa`$YNV28C|>}Hue8maEI;|)xvps5*?#!mb9%3uOM#cM0L)hZulv~d0DIi(ws(s* zQB`ZB!M%5&VW=k4fn!;g74Vcy;xA^V&TY_#0*;yl0bzCw(_lB0h`(#sHX-Gw9}z`2 z)>>y@an5`EOa*6Aa+5R(r5=@Klu{3YsvnE_ojx~n)7E8McBFxxUar;y2|VFJ<@Ix3 z?uEOOKaCPDaLRl|i!aEp4SRY5Hwzn9Pc6p?mjt_CZqb0nM2I+pzP3}FWsCa`LH#%y z*&fWXj2q2UkS_QQ8{M9!ws+Th(9W8r!AcfUr|Jtjj?W2tGDBCE(Fbbr=uG!?wq{OS2 z!^KXy6HxONZsoiVj7~Ig!?F+S@cc3EK&2~bHiO~aw~9DX79ajg6r<}ZSFAMr^vIo3 z5}P3|jP5nx+_}{$4QB5R7vDh_&N?;JNz^ACg;62(FHwvG6g8%!8iKOBG-1Jtuoa~J zY`CWveWQMwapq|W6`bV?B%|H2`2$w%x<=6FDgmx!;{eIM7UH4SbYB$Nuy7LFE) z28;}Br6f4p6ndb{?SSo79>q{bgb6&Fo_N_3N%*kfL`GxW4qKR>vZMyQTB$UZNqq?& zF`Drf;Q?p}6_aFxAZ3GlNxphoNj{Qm#bi~2Yc_gPCC)MbAxX^H9wE1Dh2$cfaZ|%LX3_?5qrdyC7< zH;o%frIow{ytn06bbRFOKk5#!edT?P(=ZaquLY_|w@?d^V3prv=X`zb4niB?w+`wK zR(%n(>1PEgyI22Dfx=DS{=<>65M{}gZtY>n*%#pXwey2wDK_GHZ>e}L{J0C@sZ^Fe zv}Mxw-@A4Iv|qYoV7@h8eSQa-TPJ*0aG-Em5msj~ewYtTk+Tmh?~fm-Ifx-99S?aG z{54oQO9W{EF%MK8~I9{YHr7>?8Ayvohff8XWlfP z!)u(u+TlYl0ZiNB9BN+IIa(0;(Q{yKW(e4;05_bwV0Cwr!KlLb?X6W{{1$mwU6T0= zU12BgSAM<+s_E^(SkQ4*%`1oP-`8)+T*T9KJ(~e2%F>5w|JKv`?wj8e{+~iifTG;j z6fx%1$e|09R||jq&lhHR>fG}k0Zl16$n_0F4*DNf%=nTWe7ggny-=4oD{V?||C`8f z_rVshN5Kk>z6ctjH>&Rj{gEaGuD%;HCq3iU9*WXSXJQuJgcb;}u?xdu$lTC@9HymL z^TI|v2)uT_|0QL~p&?CwSY7<^4?tas8`+?EeJ|;2yqsGr2MxfH%nNV~5g6wl>eh~E z@;}>t7A3W8G1qHLd#xzvYp^_mpn1bnbbCdDDr#cnhiYb@&n^1;lw;4dOPVho_jA6j zG$Q(31)d{6YUeAaNBve0`SI=F^OO$*7;IqF-%33HGby)XMrX>=>DmUu;e~+V`fkwQ zy1#t~IGUkNF$l6tO~`u<$el{;1g?Zb=n!ijqqM>Xfx4JLj}`&3qZboIS1K9y8w{ZI z&=F^_p+KB54K}`n=V=kN{>M2K{rN?0FZo4;3~TkEZl$UD8*}AK;U^6MiEP0r0B!nZ z=qtH%I6jtl%)*oCB*rkA*J`T1=XBJMd~mRUG8iBlnZ>yqyBlxDL2@4)Ay|0)w_E-Hh_Lcft&elPVf|W@etWL zA$t>YU36$|!R-3U6+stEn9Oofs7bobOSZI>z zY8Xg_;jKI6WtjCGqj|nKSK{Yj8MvAelzcUhg_6#e2teWpDqekdksLn`_IuJKFLHfI z-p=8%7adV>ZO6@;U^10{FyEa;A3KzkV)@P|a@7i6%K&-2ZoIKBie_{7nu5h0vR5dE( zM_R=s9Zl@Gl5$`fi{2^2xlup-lOrX(w_~(qPfX+*@4~SPmu^_-Wd*5gs*7CQ~T-Og-j+IpDM=2p%1vwcrfI~Z8B-bt!wpmACu?eRd)RFS0 zQAexF#soR)*A?Ot0$>)#YmInVMF*NuFobrpLb4#z{s%{Tni%n07r|834!@>4{;|pR zL%JwK_7!F&nawI`R9}DHLjdjPsE?wGqveNnS~(Uq4i_ZDZ=}{V4U~Ar zSYqq9Mfq9yU-LD+vnig7^LsK-_lI(|>Hblqj7&AeG(;z~9rt!lTxtB_PwNjtrQ;TS z_8(}bA2I%j5ajVe7}cFS3=#hRUU&CBoXflHlmZS$(Ce-|o0@jZkA2T&WZl_0o(@{xEc5+FrM1T7!McKq8Lp_9L5_p94NjkCK5R&B#a45;{Q?=(rX|oJ z`mPlNO(q6>`8Ma{NZQnO7D;@1M7Py0SP{ZSVJMv1e5%T0@z{RO*$uKAk0Z-kNCADIxL^nsD)S{cB?agE0&*P*$}l|GMM!ye z%1dcs#wmpWqUKwvcTIKX=gYP7=N%N7rFO8K6) zR!onBeYOWTkXre5*QZm#l3AEvps|`1aZ(Xz%fCW4{x=xq5oV z72K@2V=~^kM8a!#UzYq*N_4IVF z6IWIF1*)pMg`-tukD6aL2+`d4`HMX1bx{ESe;9l3u%@=RTQmrQYy?!c(u;zyw@4RI z0zo%O*)$uy8>*oSp@$+{5h+4QSU1w;_9ON}wQ~zY6C(bszw#wMH`k>UVaerHmf|&_O zh5z>3o3KQU%Q)yz(lT2!GIr&Q?ches6@*p6$H$?T4Gjd?5Ne2d{_e?L`=1jtr&Eiw z$5o8SRxFBcveZ49K`ImZ`fk7-r3R9+sE1cn+m6P}Wiza7FlV zW#VR?xk^jqx~`DBd|jOpg00ADF(#3~t2wC*+VIOeCurr6`8_D@AO@dX*=f;HH$y+P zei^F8c{ydapG)@Am_ycfL{{*qH5o8wv8X#61mt{6pmyY1(T1iwMOuhEGKzYWRX2e3 zwot1wlW?+I8qP0jOyP4#x!%Sj{S&vONCzry>7U0#G^fyPS8#E<9Zl_NaW}dA;+vb# zToV&HIU5Q_=M+zb1c=+sR(@{i=uo-~^@`oG2rF$TR2b5&f8 zSdC9@=34x1-RUpR5pw1OY}qEg^2b9U${Dtvi*60Yp_bN-jqSaLk@t8OSDQ|o5e^%u zh!5XPCowvIyzT_Iiy8} z+WSBf*a=6XxJA;Pmvw}YTm$lDYcq4Bj-k+U@B9qYtJ|DWQnnupFN#3>E6tCs7$zem zVQ+Ds66Y1inJG2fCFt#z8IiO?)*KZ*nM^LJEa5&~pa|aHl0VD2{lW6rr{9+6yR|dy zh)bTy)O$jiO8pRD2DOGZxv6d}7=kF z#&{XK!vjXuCos+1%8ET}KE}vBDmuov_50MK11#^qMa4Tmw_5(H)H0_x#xFbhGMA>4 z6GKp_#+caByUCCm+stM!T6?0WcGA(E*1N1v*)JBBFmwY%0*y#PEe!XC2Ghxt5Y@RB zq^GNo-)j&P`rfr$rfSN3cb4NlPHS3*V8X^q3_Y&%DMB_XuL&&|KO7({EPG1eTdi|Q z9eM7X=Rdo7hL3vGgIH^%r8YGm)M=J=4B7&;tNetir149v(H3cgG>_=iN!eg$)1F4k z$2_IE!bmaLrS_koW9_EmPI6QeAEXI0+&H-z*JHCd!h8_u$1xGnF#fsj1BZKhdoNq{ zO!GO^-4o($l@UPuanWF#EcUZ)j;Wru5zzI~R1F07oJUMuc1w#Ncx$QNG-)2jpPk8S za6pOXm$=M-DJ7b}L^%8e^)ki_hv+s)DaKEb$mXYx>WJm=jR_ZotZwS*PY@FR)!ssL zPt)IB36dfHtaX72RndVu)#BQoUDEm%T z7wHE87L5a2nqyT#W8Y~=w27kz?Ypq1+P!fbru>Op;7kB!F(1r1GAGYr#ZCK*=!&FSEPJ2*FXJ^` zUDZ&N=xmYkeCA(1tHBVKXaAQ@SJBgA;f{dd_6WuhFhUg}oz+&(X5k(Z-%xEK=p*BT z0C2nHRh>iBkAD!XM{2)3T|uFRm*oY?CUh}%E?t2k()9k$+5hPpNKfS9J+5i0K%yf; zKS7rz*_71e{^oS~Bz^$hP(5msgj{p*Q~L0qo&NOnS}9(yXI#kvFmqsz&dOBG`=1=< ze!yV`M!kS>er#w>%+0}3t%3j$eR@Ca_kcPlrlS7w1U0WE_UN_SLPM_~&JHKBW{d0G zBDF?Ja%V32DPGlusoWLtNZ`X2ZG$o)(5RvQmw$Md0&K4f4giv!r7+#w`a0oBen(*f z*V4VHX?Ip9EcDX$HRVUI=qb0rQLJnLkew} z4DSKr1mJDeSb{!b$mdShg?4F}3WzmZOiQqLvvBj@H+#gCzw{Ht6&@E%S=?4{eervw zTaac??uUiYz+B?X;@YWi)6I8T4JakB}GY_sg1dY4_TatR+ zYsH~YRSmVVSv<^r{tstIjm3?U1qCl+o=U3sXNo9&c&j>@OVvkxaIMM8jfxHQ{r_71Fsjr`Hz^A!!pu`sb){OTC-7Cc*G z5`Z%o3-8o)r`2})#aS}779PC-=k#Fp9@8s_2D81wA5zN(d~SdLR`Je4BJ}+ozj~C3 zP`*De{0w9?Ij@u$ll8ml{K)XoSFNb|FDq$3 zaYW#7Xt5s>E@>u%(&Pp+4OKL%VB4&4E*s){LT>lcCK&;m5AQ} z&9a;^|JX*Im)>gVdnemz-bR6;=az#Nq|ur#A4jUU&}|7L@*D;Cq%f3Dv!dmr^d}zT zz88cxPHLq4Zk!T@O$5ta##7Bi?i*d{DF4&1@yzVU3N|-Mn`?U8&9c!n9NG!)x=j16 zMx}lGa;NaN470w`!QkTgX-7(JCe7Cu$7Vdq=xUnfk;P{TFWz z0Z$nmj<6bSnz$V5>wX?KdlYyl@w|l#fh~%g?qOh%2PNd;q>D3m=KRi_^>P zl@(Z1EJwR^5Ymy6((mb5U?n}_?{o4LU_HD^2mx({q_JBfzS4=CnT@#>4XYf|wQ-6H z-Ls@KD*fVn532buir?k^Id$MwGx>Zjc4DUw5wy^7x$V4TW1m_Poz+J9C?vF?mvOA2 zGg2@Psn(#**#@;g8bDcBxLuB^tsXVZl(!M!FbNie@hp!pEnUoy{H;A^LT%KP-Wli2 zxQbuK^ws9%4RZ(_JNEWfUB_nlRIGk=aJ96?AWab79y_fnsQ zsiu?Ynhb{rH+p)%_!(q7wV-{3w#Ab7Eo^l!H(Lfgn155NbxkHO1*?Z*2a&KG!}J_* zjcjePNA;O&vtMM?+*zXLP*ST)u^j0k z-SOt0U6ZGWEBc?5?$&G%bmB@3zK$R-jOm}mZOBpBV*F0a7sE}TSZmcr?=cco*c1aV zJq=C3kg7OZPRA`}vGh{kR^gY(e#vrakM>?3aPzYEvtV^OeQ$zjIn9Y+8}xB{3Ku`{ zZgvhlJwX6B`4xxL<$e+x(fH%DZ=XyAfR>mf>e+K&P`6v+ ztalY{ldO#zk1az5II@KJ$9Atm;cs@Zq#q-jCKW};FN0<-E3|I9v&71uCvki}%?I>; z;j{L%s2R={bS2s^s{IvaTFAy@hDQxnx@TuQe%g+(D#nu-E}LE%O`e%(i6*yz<)d>_ z-&%Y{&9Z4>7(DzLB@|VUCpU$PU80Q7sx$qNE2JBQ_>gEhIRn`VP_0es-Sa*^W3Mk( zy*ZQx{vG!fHgB6L4g}n)o}vaM=Zn~JOky+`643ZCwx;pCb5ty}uQ>P33Q*TAg?K>k zLE_*48P03kD#-okVTy2~fY3dU=jT$wnfwrsZzLuFr@aIR1b?r}#ObpHr{G@3Ad-9s zp;|ygL+Xr-F*$ic9#<}`SQlObL{hE;3P?iM7!zx9(2OV7u?w?3>4k1X(_N{*?y-5H zsCK1?@rGL%bXgOkiof!5!@5pPZz@Yd!0B)4CQr(x}cE%8CuKRB_@*2m@TfOpndrib^Khmb<5oSZJs#nnHun<%-oI8d? zLo;Ap?B7;7tAJ39d1+dLQJT5I_CQ(S8Q2kPtN`;$|C4Yupn-ra&$W>4``lO4bM-r= z5x*5tY|yyvXVA|)*Si~fBf?CxQEF-tZN9wx6d*x1SZaCJd}yNkw|cG1w?#@klZu`( z_=s>JAs$jZRl`wJ974pznTN4r7*H}c>ib679Bp&+GGWf#n4U2ycT-+8Wo?20o6cg< zDXUntgH#jY4gNc&sJ{*@=Q^(se=Lli&br9_`79%%L~WBlcC5C-Pq+#Gt>K01i2qAq zBji<_MkAC^Jvit(l5)la7-J)ZcFRa%K*Bqo6^%ARK20dM5~WqJWIMj+8xmkN@%$NC zqGd96LdDG_{_wyk)zx~SJO8_>X#)I}XVuMSx+g{O4n*^tCF&-^btC=#LMyGDTd5e5 zE$n9`<5&ui6t3t_fDSaznbO&e>6=mSWyzfu3iMYpX}9Mr^5k)@-iF9Rb=Pgv>cvTV z=!p5_&D%ft`fAsa`W4e(k3Y5{`3YZwD>NTL&<<4eY4al566Bzc_r8su^GtMu^xfX1 ze&7yYNgFn0RMbwdyVPxZxeuU|<`9zI0Sk9!5B7e7ZmhyKgn2}{rAnI0h)sOyaT-^` zlRtO9`vhOR^W(@S(Bd=wW2$9SA&sNFrd730C2#TJh>yFBj9(t7jW&WDgV&_^CTEyJ z*~;E!N}u@&vVAvAk$55W6t2L*21$(e@S>Ti_2+6uS{K} zHqV#t@NThMFuOSPmUr4gYM!#L#2ZFAqY(*>HR8JRP4*(@s*JLZa=3BJ+mX67hc8rS z9kHfAm%FTCPNd2%;__`N<0~dpMGR&z5f|J>vLxv>};=mBd&RyxyN06 z*qXlLt-BFCZR;&J#UF?@C?QbwnzxUTO!c{IyPK!YtB)sYBA)$LEYY+Dj|Cgp1Pb@i zYk7a-R(qb4>FDi(xELK{u!aldD6^Uwnn}dyPh3zFly#lLJK=2Qin6^*36=!~ct7i| z)DQc~I$FEJZwHzty9^eLYg*lqB7-3dC>-#Dyi=0IiQSFfev-dulh5THKb^|6c^T)} zGN<6p^`^9#VqDtG7z5i_>&(DNjlU%HVw3l_8@GCZ71vN{-6ac4{du~=p7r}&5 z53S5SHby+?-%!mdwu8!bjgqKfx4@PrFzo#~0e1=JfeAX229x`+Zkgi2h5dqcoP(@c zz{MJ`vF7nxFFp*pj8ecVWHioupv{t)8$ACxb5F=!L3#?y6v#=xia0y|6Eul7p%#VT z{|`%AQ9SpF2}6)^^b;id6Qn5%zRLJ@f(BBJor@8`-}}M-O6`C2k<%psCEj%k?HEK( z=ayDi@FqkQMGVn2;$~zeP;gr`K<`?FdDL?EWP5X*?iR5%ux9Q}8@QIZE zmgepKccMV%b#d=*;4Vt4`ebF`EjX+@;U}p1_V*uwfor>G{-^7BO(#!++i9 zI4}fpuU0_XYvrrP33$JNdqxmGt69S>%D(e;5nu~YCxn|xKZw)6p01hQ#evfc0M5mM z4l66)=1;vraz_B;~%z1u~ zr#Ll8eWdhtIF1tCC^mUZsnd>OH7hNMe2UW75;h$Bknn>10~_vne*R`Q)d9-^e1DCP93gkd>*i^BWYxJufhML ziz$!@09K(W`@O5f1$CFuz(DcZ|M|vK(YlSzM)3)u(e2S=`_1P(7Z|y^wlyM2YY_nv zfY7RSQYNt8YLwU17^UO7Qv!YdrCh-Ft$D*Op`g)>z~>8WH|!|$?#)@#xA$^ox4*S< zJ!zk7#sT8DzAF%0;$VPFR z;LEO@^1Iow$oVrHubwUYgGBT*dHSW?zJ-_`zL7>CS(*Gn!#2i|%wLqw1hY_ts{Zb8 zX`X`2N!;SqR(h-k0;kHeukzGCZ`p2$i6vmtG`Qs|;&t0|D!%`Y6KNN?z!|Nx3m6}+ z>ZOjt+teYglO-F$DDN#~D8eTGH+Q66!a3IQf*?f!y?qJ&rPIcBQ~dKABpGr}&LQvW zQ=DN)TK}tzsA5(veSuxQR2;&Z+|ISW<{!q|m_f}5QGrICY20LSzu*WbO1^v67ii*g zJ?J|X)MqwYAV3mfa`d-ZgGuKlz&e$fAdGwReMsoBJ~~!ebPzX-1c1mC*=f znxQ&PQyL=A--%9@2;VQotJ#Tvc6ew_l4T)OUpQw&AS~p@jE`K;Y=($ZSt1!K)TOfj&1fSczkR=Fq7IQlEj~!n$*YI zDf0=dF`}Mg9NlNg7>wCy=dPfsuDTLU;jMpC>Yb)p*T_!QK}VD>>uLMhP41HPh)TiQ zkcwv2WTTlYsHU1>Xt7fg%dy^0V`%x2|B%Nl%FLRR0;|8m&lZjSx^H`5)U@;qa<-~f zWgcd812LLDJt5%gRr7UUhuk?^PWJLck(TN%k5XrM4DK~lamj;ux!oaWANJEfjxYK& zz6&4OBXy&bnW|EmYp!X3SY;S*+~JaV`o>9K)KDjC0@{^a_+5^fzDJX)K$!HST^gI9 z3nm4g#`B-TltKL$)nqx)IKpYwstP*V`p*u%0EIVO8a+{DNr{M@kqq(_OU_#j`+I@@k@l(s zX>2qz-Du-o&xE*It7WB8cu7pP>2vVWWNwA9X5LijbKfn$tstLTRACa^xS~#U@}6|s z<}^ZW$Zs+PRwq-o71OXTStPIA>lM|A<;mY=dg_h+R5a&9>4#f-!vnHmP$p5m`YY{y z4x1nP$Zs7xQnOw^7a5fCv+=4(0QHi%eRq~hm)59nLJ%}(|Ir4gwpLu5&05IwX^}Cp zZlHqQg!W>w3_X3~;o!+Rciz`cxTm0_xbwx31ZU`%rJH!z;wpd~{|#7c!)eYj_^rQ} z6pFMm`}BP;u_muT*t>=FUjtPd%X0K}JJrds@F-lO-9hb8T&}wtbj`qG%%py#PGIv= z4ZX_dSas4k16Njeb*JrVHd^IQvIOs~dz1W13YFDud9F{F9WZTLz8&PvD^|v%CJ)wc zfed4}p^3aa&6$La-3tFsgJN?8-{VEti1=Vy{&c9H{Px|+KAx1 z%!pL3x>kH!bt5;}-6IPH7;J$69tYc$R~${NjM|+XH}Roj+rt^ODRK9kM(!gFn_>0% zp}^MbtN2i)h;;9wg8(bGm)$C0iI$i(>E>!eK60d@*BQxE8K`EnS%c{5+b`~c+|Q1G zYMKz8!~pDFUg)~TLPDDB47xA0zv{}MQ^OE*-TQOQci9tpb!mQ8>nfwQoh37I_Y?d$ zW(}X%xcY!Z=sNE!<~lxVZmQnrLujF$oE-`8hteDS2B!rGx9Y-4V%zKWzGWm#gnnJ+ zQ%v^r_d`1NWY*hXi0D|9wup(yZ`iw}CWN!|_fGd?*((}3d2W{safVfP3yzG z?{WZ7A(S@ot4JJ8m132$yd+pkQ~)u!*Abc3Ro-pyiM z5SCZQrxta@D$9*kCSYZCY687yxFeU<@iE53T|Umg&x-7hX;g^uiJr5v)hwa5+Wm>G zSHr@X3Jtk}tl9<92)q6-aK1Y?1B@2dDX{M9sL~YmH1yVx$9d`6=N^|I8wec>Mce`$ zkXEbgJ^dd#H-bGq+(ToxSPLuScFF~ciLlRb{KV1iLy-OfK;qcnq!0Rqyy6tTcW6K1 zvwu^jtd0#=J8?ug@ZS&12*Z9`e-gYYC*js|e3J@)v*qZ}6$rJjxzft{UdX}lsVG;vSFF#siaY>#j$ zFLHoayOq6D98SNRy>Z#X>ge_bCYTBjDCRk?-eGg6P*mcSp}^=*;+M`y5Evgrx; zSjBcRc3CuNIReR3ZnpN@{f>eab3ETZN1Pt0Z{n%>&vC%!r?GQ#yLrBV7EK6z@)`4n z(s}dA?7IEyyO|Zoh)^f>mmR-H%k>mSkTA#BO4O$imf*m|XB>a}!V~*Xa(&5z% zz0uDfQo~I{z48lE4%Pe*WRef8I_I=L*b+KEx~xE-cn(x~ey4a(EMSduob-NF9&830 zM?BfMV?nD!EU`_h+YtQ^uIUbktq>F;)l_m8?m%^HC@d~OVJ@&{m9q<*`p=1Zvf@Zp z%^C{t?Oz1nIule$hyXL7h`&oF+R>d3<%DdrCCN2`%@?Xl4rx)Zx^S54&K3vG2$?n097KHx(zsk?#(x z%6>G`M9Wc1iiC`rFINC8xzsGg-99 zg-#aEhs%$S_+qbr@ZV~<{Ia_9zirqa{SuuHia7k#`^yMdmvC3Q|1&8aXHYX3cQf?0 z0-O6qE&-Iu3&1pj@-jAiyrUUe8EKvzhm$GFfM#5=IJ)qZYvP)avRdxhuYdsn2ajq2 z!dKK5R3*+^WNjpimAzTBE!HbssD1kx9Pme)+}PV!t28$tnXjk})KqnST;Ce%3!OcR zy}D2esz0~nw=M5)D+19q9UviYoVd)GDS!XHjggf(8fv#E0iF`O5+%fi=;Mkj!1j|{ zY~?=M$Isp9>pYW@Tc^ao16z=Y2`M}?CLT4~+&%71t;_T&y^~)cY2694oDJArLF=@S zy!dO8aC4$?sBdm3l{_ydj3Ux13dw(ftn{+?Y5Yw zJLZb~2ixldNmgwCgLO+lb>kwHACPSVz~e#yPiAUmO`x+NScAU*i!k%taNs;B-izE_ zOs~^qrlOXLK#OV-eB7KrU`o51`U}7PAI*8p0otk?r<92HUqVoRUtWR)Yp-_d9>Ewp z?8pq}9K%0A#AHsoW~=>9kYQM}(7vNy-%1|cVHdai3#}%BKm8u>rN&*v&8f)=VAbKN zZCC%#4uD($wZyCc72_OTId|lH_jkm_m8&67RGqZK|3L_hu7^3CKwj@9wcq#^`7fa2 z|DZ!YTvR)#{}FC7nWs6x`xR;x3mxqE%_=12S|Hc(F0L(eD>$&*z~qs(@zg>=`ZAfAJn}zP z4Dudq8;znH17S#H+I&L4qUzzPw2&z^I06q%mZRP2yiVF?FqoZrajJg=#v!aY=# zu*fIg8L7ss_J?r(tAM`I`Ks9O-NGkKWBlXKwTh9HDzhcB5Ad6 z?8ilojql5f;k&SHw@nvXM78xYML6&nsKRL}Ew_A#JSkM!f_Dp$X({@&Prx-ok}?A* zhKB+o3#Hx^16~9C{ zpW2oTE1zY#{e7f}S1EPei#|u|ETcinaZ0iz<>eS`LMl>nv;7AmefYiA`9_m@7s7YY5w4n^Q{~?Mmg}EDwvC z%;(4YJTKiMQYO+uZsin!b(2$zq`3(EU zA-0t{(z=VKeGOWMjq2Lk8!aGu3%rFnw!II|YBCV*n&djSQarl@%>-DjZlYT?7|WbXp&o18e$Y+G50XGDOYj^06| zz})DkO&pRHBe9k1q?!e>(}#;M%{SrAjq%~h;qo1Wf^_vb6se{vaU@zIM;HDz!aBTi z4PmxvMx9TwvzVP1v9g+De#b78b60U@--aW^{^3STmPKPL0ox~1Z$qqT&yQ?%P*NyK zTSxd6uKL^MofznYtq5#al0;=#uu81j02Vp1Uztn@SdP#pN2z}&VS%0|F zGQ;T^&FV&7Eoak%=5AkjBBym>>TGo^qFDK?$rS86Jt;Ff(Hg)KmA-J=R>`v!IL(v`_3~ z^~eq1Ah{3o+E|C&?g@48X}L!$0etSsy^aD@#Dm&$IUnD$vJwxFMq0fxCJd;VBw8?~ zIZq|YLL*DxHs60+6Ull;VkA0uzv@zW^}UO|(kKqqk1HYDBiJh)7!hBMye5LIM@S?? zvUlSF-5A*3^#|z4*GxUKeK5;ml$Y>v;hI#Ixtf`dFn7a`%Q5LsR`g`f7R_927P00T zstTqf8TF7-C+Z1ThL=|LR$osAvQ8Q%eLcZV3>>KRiCR^@Xcr=4^yI0nUky-TxKk(5 z5HITnid^0{aVFWDcQjGKHNHN>SbpkC{hcG$hJWfo4jFz+$ z_(kgoUAZmc5}?d3pSIA6*0jX9cnXUO&EcwLU1xJdm>Tg3R%1`KRAK9YzwT5F;k1^z zg;BeIZA-}D-Fyr^s-q&|lGT_VDzz$?V?fP07^RUw=G!h2@PJ0=d@axBiX`Yziljzg zR;AMV&1nGxmN8Rm0gp?WIx4{^(0T1N=LS68(g4O4 z#usWO1dZOcJ(`kjqWPiCtZ|AOuBP>OVrJJ)Ea1$mtyQHfU@31u$;`%5@!2gMczgxH2`Ds-n`)R7nr^R5BVJ^@=Ji@;S3?o=nNP$pU&{-j zRPS0VV}s8NElJ(gyXT+52|Xs4^Jz^Lszr)#PKS;c82ED+#sriJcGqDM9t(No-SRGK z4&u=q!s3wB&w7Voe|BY>D90>CCT4k#l*P~93>!OO#cMrPrfgHnRxmg}wbA@Zj5Qk8 z&dZuUl)`>N{AA$3@q$AV{Fgw*!QX0xhx9t6m#Es5VJ4nd!qgn8yju`JQR2|RBEYNDemLnSfI<%+0T zxlM$jQm~Ill9gDJwI=t+nWr?_G#a#QMaU~VKm_84n0#lTb#%+*3_FW)d&^dnUkxVa z{wdzFftU^RtD!qrg`1#leu8YwY?g)K2@`A?=YXPglLtNYn8`&Ktno2;d`rRe;T!`#A>q2#s;k7nqGRcvj%6$TP;^hp_K&0=gkP0*7R=AE ztEp6?S*$SX1yRxft7H%&St}v$b=H}f9~Nef`wOee$#IBZr9xY;);}^Z(D(Dz)(1Pp zDlo_LlpTyDq)pajCwnP#wN6w~y_o%c*GaP3t_!nr0X~XCzHDInF3C zoY)$d$*wRP#+y&QnX%??oSO=5>evcF`+bmT$x9XP;2@2b&RlUpJl^G{E2g8lTw2${X zRljqd@)B2;Z`<-tUHl0;V=Jf|QTlx``-Jr;h+}(iPe=~ni7qfslU4z_ACF*FNaqV0$y~tUcby^E zY8w{%N7UBqz;VW+CJ8aSxiWJ{WE&V_&(6+K?(h=JYG^A%jvELPp&H4PyuCwh`!~kP z0?0^&sP*r7=e=)0G?RM3J*=o<(wM7)2zIg) z0N*Cyu)lF++^Ls^>;#^MZK|FM@eeJwFEqq1qW6}ebJNe-)ij8w$x5Q(b=X*>w_{mY z*uxB$;bmz~cv^D#Kbb80k$MM7;4d$c@$;?sUAhDm%Ny@K^P}Z0{JcQ5)t72YKns^& zfu9b3o9l%Wxf~I($=_+dCpfi>QP$9(t_ZbdA`Lp18`d61 z8N>F;8n|gmCo5RhWomLqi3LaN{ zSnK&SuvI5C-td{25AV61SzD6=TDhWMRh76PY^N`jYaATO363}MWp0xGr|)#O)1uQ8 z(WemJD#lvk!cfiSV2Y@&rOG`U*#0 zxZu^f$t*N@6I+R~#0;L5m_8N&gRF=q@l}`TgEWK9b^T2|jVn7lcQU~Iek-v}AgUiaK_GDaskJh z$YgYWeN@p#r+0TNO zyAun9I3ndG9X@>x;e+Q|xm`A|scNr`0qeP^qJ#OK$XB{(KEk&2%$cG?BTv~=MW6p1 z-vhr!jQY8-OWD8qvRNNKNMmn5mKMwRUWBNX+d|^4cc}Zd;lp;= zWJgCIqR7}?JbSE04D>=Hq}auOJ9$D8vu@TfWv5r=HFL{snc0DzuET-+ad8h;G^b)6 z_+gA7+TyKq%;L||HykN?lBuCLwIlu)9X5X z61{wPvg*=>aP|Ys7g+9EYtIk%kP62_POLYVdL#R;r1Cc(4coU4w4u;PC3VQe`>dI(NpHo8^vz8)wrkG3L_g-@&X};O->28$dd*&7r^UinlN2{RiPrv2B_=9_E}2RDQ-Eu_XKgd2Mj1a`Hu z$+zk+AnGa;*doz&*ShPQIUJ)ZxRvUeuR+c&KIo|NA4#JriN#e7lFzhd6JO26J*!A- z$6Tx=&aJw+T*;VJw?iSv{v>6wuB|EI5mU;${My3jC-H{qPj%f@c4AeXIM&Fv5%;}bcuUuvvW$)&1*Dqvy%17WR6I)2_Z_RL(W$T% z8#WHU`l)1ov?AB+y>+hsCgV<<^V53O8$|#$sDgRr^SgaV{}-oqxbsd;hl#4NQa74~ z=Bp9mJrB|AACqb2XBn4KCdH2f&GJXjbAEF7>)w%(*A8T}zuxo`u!SnR9E?!u&e9t4 zDt~lt^){c3co+FsMi50ZjWFzG{^_5I%KOPoBpHLGq~Reon$SU-0&^hP-%EZTX}MnJ_3->Aox zmE|3iVmC1sH05vqxTEqb!*$5p$i?<89L%t0 zbw;qgO;W{?hpUR!c0wC0%ByVJ0XWP?M8hfDH2pBpc(5!woF`Cawrk$TfiD=;8}Pl7 zhm5>mnG1Ys-U-62>pNtR8--} zw^l7A!-ud|{!eCbd+q}aVA4--&STGcv}Iu@PV0;nMQBR z+N+F|Fyk@9Q`4V>t?(v8)*EfBGwi({Q@T9jK zbCkqyqozE&`W?!Snl24=EpmbcRqm|}?%&)lp2QgOY5X-;b0CaNu6Me4KjDI7lIj-n z;JcidF!yFbN42v9AsIDM5-PH*xLs4QMQerL6U&+v5@0Q;uT<%ne^lnMWn?cXLeu2iC8$WYHVrj9{PNR_{PQR?1yDIwa^!mD1n ziqk!GP}vXU&yLgoUO-)}VkjL3KKw-HJ4#NqP$nh{$iSl5Tu3apV%^0baSJD_0h$Kt zA&TTdN59HS0T?XsR_-vXKg%VchSS-#2#&s?aPVhGD;v6-H1j}kdI`>Rjp-7*Fj6=J z*jjj(%6$aRN_6p3^wh&oc{MNR;smSj%1%H(hx`Oh)mhTpah&jXo44yJ(D?L(7fkY! zyk!g>xEDQpjQE%n{{H53JkRw4hbWD&o)y=d0h()y!GC)pnJ51Qd4VGEy0$q#zSk7$ z%`SGX5CL81B{qf=d}b#%PCz@M;`mg9@PF&)ula=UfM)XHG(L;;y(>JS$fO8&aY3ir z9~mf}PtU{VmLYhlPNOD$%v4WBgi2=OzH)S7Xp1fP6stPp@kVEXWJtKYXn}hwslGQb z87(YM9GK?x6?^4oa1P8gaVN(x{75P)-mvfa1JjG7}|`!@u;1E>D9*k~3wHMi`N&w^KA#0o5YlX~izt??|)Pz-qx!$MY@! z^Nk4LG~9)y%#rx#E|MBuTvYZHDi_!$zJ)kI4=L1mppqwoM&8iW1tw5!V1Wl(vrvqKzw}XKsOeuo-01s{Pi}hDY{PIooo8`mTT&2aG;PB zXTWZNyUf)&HsSdFFr@6tuOsuQ@o-*zyUdwUyE+VR=D7lnaIA=6g7Gk2*O;A3?NP4Ru|nDvF-j9^?$gbTExgkh=ZZt zg^LR*;!!I?T)}^~t8V?8XF-JIDK%M$n-2h}jYyp?i+Ur|b0pQH!q-bdSmvC+xx!uK zjPrk32B^H@TUxhva07`5tDkVouGIeT7RCQ=abt`Aj~1AZAG-P$h?^@XoGrumm$o1k z(Bf?7r_N;Mrlyij-_0icE`U%n%&#AG6A@eU}?#@xbo_{F*J_!&WbpDQBofT{374!d^=DTXJ6H9QU$)&w^Hv6 zjZ-;|9rc~ZYw0A7DW`P-v>_pMn+ZDG9)aZaF4wQUR%_#=YAoh1jqPaFlxIBs!Y>nm zZ(n#F@x21;5ga7DPDT<&VzT4#Y708|O)b_QlAjFZh&~WJtZq&vUzFsqf^hhei}97I z$OIHB!#Rk;V79Go+7|trIWZrLy2}wk7PaZ>`ZPo%dCIt>1#eVr`wf9f{Qrxw_Y7-l zd)s|M5OmRHDbf)TRHXM7KomsUQlt}#bOQl|Pz^;CMCmN4(vcbnJ@g_-=q-@YdrRn& zfP~_n{?B{u>zsG*bI$%c$DDI8Lz0p4-1qal)$UO`hrHgaA}x%RbDL6CtOYjwLR?u5 z%8&)=x$_HhI|<1wn~^go$fQgUaVF5>ix%G}h2N*`&)jkUz_Nn87JyEL!9|3@HhV*> z{u#c2W(HhuftRdT0n*8y>^}sh!%F+@sIO*TLG$-Bthi9_Tx(fHOy!jO$8k(Aw zRyF=y{dYi$#G2oES$|tK(V6Hrrqk>Gy(jX@HCmhdN&#h)OUopll+Prm=$7G(=s}3c zw7XDqwHXJ8Z{yHMRv<%9E7!u&JG$RuQ}Rcor+{hdq0(DZ`xwmUOXTzLIL8K)W*(fm zZbr>6lc)=56X+|Y{QM6Q)|(1z>K`O_L6pEvha(oi#wa#dq3bLusJMreG0QnEq5n=lpCG= z;T257(Y;2n3MU((X`#r{leE$JbvbshIYYCnG|eM4)Ap@G)_DchZ4y((6xdn0bkjWH z3r1p!OgD%9C`X}zd0rB>(zutD0iJi}?@WT+L%J{udRoayE#7!P)>yIMVYSC2B-+4^ zn@;VAqHi{pS_v*Tj;c!+jv;-Vi8~<`-1=!J*bv8+U8v*)7iusiQ|+?{1I9@Bqpns> z?ay|=0;u~&vSQ0@sQQdI<;h6-m+YMWYx4pIx_x`i9tgNJZ}A17zF&T=BdXR_dh@yR z*oL;~RKyF{XWvbI%<}8QI60jziB-XC4>z8+%-Nd~+KskG8JznB|WT5n#6*6fBg=nWQy z^#JSM*r5=?-w-z+MM@$ZyD!?!Vjq+zS55AD1ys=gVxSghb;TLH2rCW#0#xs%#Ujlo zW)qANVoY`nGpj5D*4iO|cR!9YZPF6g>#sk|&hq5wpCj~^U_IV`bi2Y2n{?fTzre4S zSi;KdQpFe^!n6!l*J&ST)az{(YreI8AP2Yj-bpZhwYCLi2d(HPz6lUb4O0`JvnSSA$}peDIx zmy6~LOH2oR8%FW>yn~dd>pjhU$}6i&7w4+EW=2;*28Zjf z;b6QxY&d7`S!T`5rs|H1qRd-{8gq{=T-tF~fZFkGaZgc^tuXJZ^>m!9&!jjhVt22w!q zsv$QBrB!LhJ+l@X9w6(hz!FXxju}(3(fAQ8uit&UR&fI-`@YjVl$u}|YCYKhph8Z9 zp~%2zl;4&JO$jAj4n#kAxUdlh8egJ{Q|+J=-!8&|GDt=&$i9k!H=-5j=f>_nW*cF- zp0sWwcj?sbtvyMpMKxm{y$X<+Zt3Zo^f70g7ATlgn)odP0$WvmfK0c zVji-7juRGC zH5M<1ER+MwN#@jr+i}qDZ4Sdk8lY^GpOgx1u*$(T>x)oJabMA0#3(~&Fjv!{ia_?gumTMuySb}`sbFetG} zQKRkXeox|qb9_ch+bu7VuQnGWpe^raOMCm9mT)o&%qJ`~^4jS{dYh6ElQ;Jv$REMx z<60(9uyH&*KlzTh9*&gx_ynWIUHXFM&IE{c)39U;4b?1z2q8AdNRlaGn1$DQ>zA>D z-mTF-*5N7EdwJcbarT+yGn5I$m*Qckc4@(k-GwmRh#y2Bs zWuxtVsMJT*(jbzElCW~hXcr0!K8o^>5Z_P^4h1fCEBWJY1sh8xUXv{ab`bKP!eoa} z+n{laC5v(Y6o11oE95a6ZvfOiHH(*Csk95q)?=}}g~!ZGm|1I(gsB=SWoO>L$eGwA zI-l78A-7yYkXcV3srT$jSXC@zBD-R z!Uh%x;XI~)F2;AA`28fL%nxTX8Jl=!jirjxDhL&}wXwPQpC`JzE8PBWrOt}~07MNJ zIFuu5ABTXvCOYu1QkO;&nBkQhtA~jt#L*CRL7ZCTTeDGw|3N8?5%E@hD6!9 zaUBW>4J?x>Zts}(OBI8dV2qzkqB=)srnBbiS!>w38&I4U01pAcze;EG(O;MQwgLK8 z8T>NS9Ci6Rshb(v_4t5tJ9tC6w%o>fN?-BEwPiW|(fsso z4~1%FT#G5^FyuN^2|gSJbiE$8D>74$-Cf50H=|ZhV&BKI(n#B~6n+C=Z;QNlMk+h z+Qa{FdEDLL_hW2Od)vhpzr#P62FX#36uXgnLV%{WH&c3q`9m z#E)BcQ7P=tJOJ%jTyJI`t?xIS;|16u)#NW%sx)L;(gok1?)4APy;O#9xW5UZNsix^TsP&U*<$LHd@8d`~|EQkC4Z%aiV2Am< zQHfD#KLIK`9dJuxC!Z&Ce}H)kBH~9aWchkWS&NeM+m%Gj z)Lxbl{5?Xj56sitkLe7Q>&m#cDci)t8U6fIxdiMkjEhR_ruGpsxD5B>z#{GiLe+33 z=gOAEre9Rp_vIs(nlgYqGc&|SP7W-LWQG(27kkj)T(*=QHqy_g1#iw38-T`AF$Aie@b^hejrr zVkTg}v;*I6-sCZvKAmJ^(6qA|f15DB8(z2|lO0>eSwMO~cGqj>PL`HMCPA#^l6i+j z0WJIH99*wm`pk(qg5dQSwi{O1%_}57mS#Z;>B4Zq9frh51hRoD(30*cwdfnbZai_n ze8}~J&Mk8^DCL%1FkQjczrZi|+o(vAc0D=V%#s#z`*e;UHec)S*>FBmuE|zr9FD0m zeALsGW3MdCOB`vplc1ZuF)bv68G;b?(KiwH+pwFI#&$?X0k=LeX8IB4hVv6Mv76=| z#rJtq`37wLd9VJSoW(DK+sfPBOq5$~bYee6r!Ea1l=&EzP1;OA;WqPnZc4NE zKP+fl-dT(d9$pPxpv4N<==BY5n}z4$Vr&r^h^w*Ga@Tw)9GXBP`YAy?+m?8mrt4mq z`W*b+cjDXN;*I6`kbjDOj>j*Gg1!~pen%hh{ZMW9+n6_~iZr)?8q)`8*+#kyDcJqz z2q{0=0!9v5fl8^GYRaaQw#Fd7*9zI!=|+MZZP#GIMF|s1LD`v~!S3Q!O%a(6*A6!O zfCcoZv@I8giNn-b&5Rfh1!>QedBS{9o>xay!=23!M8;|m6<sr1b+@Ma1PW-l z>dZ8Vu0QbPIUdZv{NdB=ei>inrcLbCjMwj0Mwir2!UTt75|!^qpzUeRsQN=j28_`m zZkCsY(C^>LjsFDQXM{I8Yg<@5$P5>`{N!QD+XHH;!=Zte$g<*;&5gD z+QIVG@zs)~m4@%?LJHRIlWldRJ=7#;h+Y$+s;p8m11ubB;%P#hISs39-!&oXXhE+>b-;959)qSG!_-23BS0FM8#EjJ3vW344y zeq}C**Qi5^(k>kN!;mnfdOuCxr{ddZ1JQVx`>+Bim&Hno>{v)Y=gt%i4!8Om>|{mMmU7S#YMsDq&gwf1b=r`IGNY#Nz(zS3B66?C1P8E_$0f~ zhpN7D;yiZTzBX%M)-$*imI8OJDRCy{Pbk^d4;)I&U3V7~g7Ec``4Wz-CxaPK*hBE( z%_-f^4L^U#uZo%y_zOY+%E_JZP+^*F+9h{L(6q68kK?ECmzc4@yQ;US(qMR{8{xft>53}!<`?~hrqA!vR z%W0lSrEI%vlV9QV%F)4Ruaxj(Zyx3++Zj#Fi2~V1y#uz*^48>2(q}^4L`C%Mn_>dD zwu84oM-4~>099i%t7vQf40RI6+QFRYHtJ>b?iNz}hD|#F43^K> z2k8Eu#;Hv0n;ZQZ}Z-bnzJ5KXnFQ@Pw)pp@dxtW>qW#SE@ zf1nY!=>0kCBuz|-!LaYmynTg(1JLHHYCJJ(tWd8yRLF(ft11ZRf=*RRNs0A0V(0Cu z_5~Y8{Dy^zDs zk=+M=^x2gT73LfDc|jw%cBzj;QJ_3&&_eo#_4r`mx7r4V3f~po=Kic@H?2gj66;Is06jU^YCX|nQTG>SL^79NGX-GyAiz{65E3@bG~LFv+caa zwj?Vnjziw4F|RU)ANG0^Ryu-lR28|b+p=JZK-tYv+>3GSDEc~QRE)~`+ho7vE~M1g z883j&i=UK{ix{lTbcj>Cy94}O*v~f_3of-a)yJ8G|E->{Z-Pr5Hbi_Jy`f_X7rt%3 zDi2w(I2gw&oSE_S`7>^#$SI$^f|0Lc_I;02n2#u{b&lg0On*;o18}F~9wg!T$%P0t zol;GyeKBQoN7V?08a5Yx#|iF49vx0` zO!YrF$C+UMq4J#DWOC)P|EJNg;^F1gO`o>xY;0hcBw?Vs#VVR!4U#p$rNMB+uO+;L z>+LNzD?e;MIhZ?BQz_j%AptD6Ixg1^nR`qn>?Kg^bzrXQm2D2``q4W){P$-!M>c!= zm~TVgANkmoziQj6@s}q|9t0OHgU8ZF$ysVT1AQgL^|ZpD>aNm_5l=lq9O@STR<}hx zX%PNv6R43tM}9ld4I4xIp=ye3u9^x zQLF8S$GCRkr`23wQ)^GG3-&2@A$6*xFF^Y}YtJ_i_{*N^LBCaHF+{pXq|y0p+-$FM z^9fydY>aixMd@W8(WZiP*uXmjb_?3foyYZB)H6Qh8_En5yVaofPnCD|4t)QnG}gQI z!KrL!2V_+ugmJrsoI&y{B+d8igtry#!9_>YmtvT@W@VE6=%`BRO^N3w zIAfbyRjFxvyLLnUF||)S;b~vuWuu2i%hlbqb@%Sd;LmO>OB*~kT z5UKlvF!aNhLH0#I`kyItQHTF)*vjU~)&(8UFE5@xLC z?OomEYrXPTl*F~S%ua|RfpECusVr%*$Q;U9BKEi0T#Cu~#x|#}U2A>}n=n9+euQq% zwZv@WNBWQzj!FZb^E#e+J!?(%De`7B06>Gw1#q?hm$?+^_WUC_{wGLwG!AzdzyiYl zhqv4Nn*v39o~N|;KDhmJZ`3hr|JRAN_C2ZZ;&nZM)OdNnFhpxX<*oh4lQ+#CrJ`QsqA_@d zH0Ch!P+yuXceuLB1<)cZDdRPDCf_r6IMGVah0tZqV>@Ux7=%rjH7QfMM!e3&g8VEg z*r{bQ%{1s~Y`s;{2aUV)60S2eXoGQqagR8b)kP1Mz4iZ-BMPo_jFc_#-hx?b_i!3V66y8QEF&nf<)Sf%@6+{ZD4QgBlGe|Af&nX1-I2KBBE@RKtIrZQ5N5-NpAzUDkqA;w0-k7=lUw8SGgAL_k2ng%<`#33%)6P-{p3;u&5mnsMGrl$ROq zc_8VnDzH`JkgX`s#w|c$+GsUj?0ea&A#<$tc z&2KE`f!mQJckkW;t!g60UaBPDyW6q{xFprMO;4YvR86+s@2=V6x~%n%)iOKB_!#lw zH?G|Yw_ym7p1Sm-eO#~X@@J-Bg-6mXbH6EQ!$$7A`HliJp%3*poCF##nW(Z}Ozq|X z6UD7$3=V30pYzbFAllj|@mrJjY{_yvh%kMgdaSe;^}9_T&fF6QaHn~QnbHqc4#caU zJ@a4U@8@G@dZ2vqR;yh;pyjd#5rJ(r%lw=bBgYK5)#o2C>Ex=ubptukA@Z7g9L;~0 zdJ;fNb@SOlIj=jmODmGnPj1!KO^h#X%GERFjjK!O#)cc?FPI1i_-W`+-$1aF_qHtb zPI*OPW9P8D8`aEzos!eDu6Add-Q2`sN^A5QLq(O8=4}P)Ux{zA|+dSLcJaPgmM=zvUcZndF>3CfoV)Pyeum9-N8FS^(a5pkz;*HWMdN6pu zrZOT-r=(ivY6qJ_ysbv6WDel-u9P~eAnfMfJ!_?jAHOgA&f%T9m=|A9gnb8K);`qJ z8bALu3o9(OTH-lIdAS@$v7USwUTu&hr8IFEHtfz>a(5(%bc-;EQT9;s-KJZ-EP(40 z;JgH!HM;vY`|eOhdzGUUy62y(Xd(~?z*>ko62XFyM6Mmin2Fcu+i5%vuIRdNov7}M zd%mFt8HTZC6K&;0E}&bmDaM%IDj^;V&l=r)GHN(33XI1GLwbU1fjsF?)n>yHbKg17 zVQEk|Ha`XzmrxZQsRo1mjL%`-oMZca{w^t;2-lMU*>W!bL`P3<=VNJ6NTA0I{p*v3 zjiV)?o_Q#U(7*QUYBS){6gDj4`Kl{MAHWE&pV76zP&I#b$WG~WexnGqiS4)7nQC@! zg}ijhXH!fYYTR$dO=#GE-Q{~6BiD(GH$@VACbvAwXHVW3CJvIrBQaiN0rwvPt*4Bj z{5igN8W7)k4?eQJjAKta5m(Ate@@fRA zsct8I9s17krwjSUs(ee%s8h6O4Vf2AxNt6(=M*5+o9h3d_s&d+KMuwDQf6mLj(A*6 z?gy~7iVbP1jC0SZto3875HnVMnwEWPk)AC@+n2QekjpT5a+B0gu@1+5)O<9dtZsDt zT0jsgOeu_lWu+kw*{W8qiugW4aPKckqbF8riRaCIw%({q^vm3J8wiaB*+-FwG@Ddq ziOFlAnQ6PqNTW)Hc)m!e@A4WSuxLykI<47Q(O4ZvC?toj@Fh^kB@T7qJ@5@D%MoOO z+nEdbxmebMFpfkOWpP%q1D{72a@Xf9%c#kUt}8U3#aJLi!lq>}eJ%dWt zi2a^BPA;8D?zAEAaDszG*XO5Ml*xku;qw5jb+Cw+O$__Q+|7I2lh!rzRsu*$NCo|= zCy65;2*^pB6sxss40mC?Gj~%@Pp@DU5S`ym_K?3!iZ^gIixk%XruZy4@~`Vj0aZ}; zdjL&)cx7I=Iv=aVPCxZSf1u{E|JBT26H8K{CD4V~r zlkQz_pPuH}g<))t=%dY=dyMqmR+~YxRuG@DI|0n6R;7hiBQwH>+#H_HVTz|byFNnC zhR8oiw_=;)%%QNU0G}31{b&aMGUe3JSAvhX`x09@MF__14FVIraCWhqjot1KA?XxK z>Vl8M_72hjsrX2|Ld}Sbo;1jJXa84qLiP;O4`KS|7R9_Lq{y0wCU=du)ez6Oy^#16 zM{~U!#j<${&*jJw-=>Hb}`&kYRuywn7OZPp?h!Dv0~3# z?)+fQwQQd)AJtlL+;Phmz{PGVH*e)+-DS*8CNH|$ohcVEn_0doEyQ! z?lvmis?X6ylnmm+x*^lv*|XBOW;}|NVvgKB3O8kRshre>tE5`)UOb&1PYZWag+BE1 z7WWFM%DHqoai=(E%V;m;Dcd3*em-_9l*oQD-<^8EN^x@&v&$Dd^9+!x8E+|;DHk|Y zO`DC-Lq0;>?HH<=2A-_2)Dr$4bUWNr`OQ2cV;$cj1;#WL34HQ zN@mXhhsK><=LXax#VbNS;B{`v#!UM{=_>$)cB_5zVUlGAz*wTIqXpk8nq2sD=3HtT zA@=t^lk&%eoK&ENaGX>TPV&nqa_GaASsDhV`EG=;-BACz9C)ISPn}n)p2^q~Oi@TQ zXmiM9g@d<9KF|zn1#h>yW|Rd@Mbaj^QygJq3M6nZq1dE-duG8o_3~HHw3Nk4x5L-6 zO8{cUx2L5`>P+^XZcjz|P5|hqIU!S?v()}C@yy&^f6=Jq_@MCI7!yC-!-e*7GLP{E zFYoQIsQDX7f3qt5}bT=wJ3 zS)OF(E^^;Q&q)& z9zBV%h0G@aQAxEvD{yC!)2^;T!=I&L%a*}5Yk>94 zmdFu!DX-rJ_YHn`7*aar>f*vrwG^tu*ZrC{G4gmY=>FD}LbvLAz1%}l76$vs@mPZh zm6nwE*TPUX{S7?DiwHI2!1Cm=akruGi*03iAv8@`*9=7*4+t{M=gJIh)`1UZ9TRp? zyfnmY-pSE}a z3#I*-5L>;W?^iP}Mk7a{M_Q5BC&)iCwXz=}zP81EF_HfUrICKafo&WnxiRB{I;LyW zpyOLtM~g_S@)b2@)rG6;Hskxq+mgTh-~Fc0V^hYy1?&VgL)CJ-VxeHVS*6Pm3tF0{ z;=Vq-;_azd%@ST(>h?N*r2y3mPcdDuHUDjtF86f^*ZCBSec)YyedB} zsvH|_%g0X9A@Ni-IqtZ9(Q*D+%E}swjbmn5bY7F$2%d;(*y_1L8Bb3|9X<^O%7gzu zcS(8OY&?Sm5?pTXiOjvwxx2fIO;|X0Bbca@roGR?Jgr9j@{zJ~d zK^7LDPyZTbm=laC$147&5av#a4}sFX<~0i34Von=tFd=BzfY)ZLaVK)jrDG=9quS0Y@GJw%8iO9N8%x41bOuuQdp^ULXb&sn;Kf^
ORN! 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 (Za(`N>7{rb~zeWOWEmg69Yl@5Im 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 literal 0 HcmV?d00001 diff --git a/imageio/imageio-jpeg/src/test/resources/jpeg/broken-invalid-adobe-ycc-gray.jpg b/imageio/imageio-jpeg/src/test/resources/jpeg/broken-invalid-adobe-ycc-gray.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e14599c14dd2c46b8f347b034855baf670f440b8 GIT binary patch literal 687 zcmex=lam%vQ3nDQBU4jTBWpPLe}I9TgK-A~HzT7U!~Y`;W(>=`aUtGqW|A;7STb>{P`m_~=A zUllgny!W190iCw&@SpwtY*)(&xS`Vr3S;(uA01+{;rE#@`= zt&p$xJExu?U|7X||MKR}8z9Bszr1-=22o@UR`gZj_ph=-YX+c+cK_zi@jIYUXUi%L z65@Q2^hG59<;^2+)Pa(L` Date: Mon, 2 Mar 2015 10:29:19 +0100 Subject: [PATCH 02/39] TMI-101, 102 & 103: Now better handles broken data (throws IIOException) and better detects bogus Adobe markers. --- .../com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index f84833da..2f13164d 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -559,13 +559,11 @@ public class JPEGImageReader extends ImageReaderBase { if (adobeDCT != null) { switch (adobeDCT.getTransform()) { case AdobeDCTSegment.YCC: - // TODO: Verify that startOfFrame has 3 components, otherwise issue warning and ignore adobeDCT if (startOfFrame.components.length != 3) { break; } return JPEGColorSpace.YCbCr; case AdobeDCTSegment.YCCK: - // TODO: Verify that startOfFrame has 4 components, otherwise issue warning and ignore adobeDCT if (startOfFrame.components.length != 4) { break; } From d6f90b0b524a003017d35bfc030460618d48a918 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Tue, 3 Mar 2015 09:09:40 +0100 Subject: [PATCH 03/39] TMI-105: Handle (ignore) empty JFIF segment without throwing EOFException. --- .../imageio/plugins/jpeg/JPEGImageReader.java | 17 +++++++++++++++-- .../plugins/jpeg/JPEGImageReaderTest.java | 17 +++++++++-------- .../broken-adobe-marker-bad-length.jpg | 0 .../broken-bogus-segment-length.jpg | Bin .../broken-invalid-adobe-ycc-gray.jpg | Bin .../jpeg/jfif-bogus-empty-jfif-segment.jpg | Bin 0 -> 104311 bytes 6 files changed, 24 insertions(+), 10 deletions(-) rename imageio/imageio-jpeg/src/test/resources/{jpeg => broken-jpeg}/broken-adobe-marker-bad-length.jpg (100%) rename imageio/imageio-jpeg/src/test/resources/{jpeg => broken-jpeg}/broken-bogus-segment-length.jpg (100%) rename imageio/imageio-jpeg/src/test/resources/{jpeg => broken-jpeg}/broken-invalid-adobe-ycc-gray.jpg (100%) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/jfif-bogus-empty-jfif-segment.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index 2f13164d..68bc347e 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -560,11 +560,13 @@ public class JPEGImageReader extends ImageReaderBase { switch (adobeDCT.getTransform()) { case AdobeDCTSegment.YCC: if (startOfFrame.components.length != 3) { + // This probably means the Adobe marker is bogus break; } return JPEGColorSpace.YCbCr; case AdobeDCTSegment.YCCK: if (startOfFrame.components.length != 4) { + // This probably means the Adobe marker is bogus break; } return JPEGColorSpace.YCCK; @@ -789,7 +791,13 @@ public class JPEGImageReader extends ImageReaderBase { if (!jfif.isEmpty()) { JPEGSegment segment = jfif.get(0); - return JFIFSegment.read(segment.data()); + + if (segment.length() >= 9) { + return JFIFSegment.read(segment.data()); + } + else { + processWarningOccurred("Bogus JFIF segment, ignoring"); + } } return null; @@ -800,7 +808,12 @@ public class JPEGImageReader extends ImageReaderBase { if (!jfxx.isEmpty()) { JPEGSegment segment = jfxx.get(0); - return JFXXSegment.read(segment.data(), segment.length()); + if (segment.length() >= 1) { + return JFXXSegment.read(segment.data(), segment.length()); + } + else { + processWarningOccurred("Bogus JFXX segment, ignoring"); + } } return null; diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 23c02566..f513b07d 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -88,7 +88,8 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase getBrokenTestData() { return Arrays.asList( - new TestData(getClassLoaderResource("/jpeg/broken-bogus-segment-length.jpg"), new Dimension(467, 612)), - new TestData(getClassLoaderResource("/jpeg/broken-adobe-marker-bad-length.jpg"), new Dimension(1800, 1200)), - new TestData(getClassLoaderResource("/jpeg/broken-invalid-adobe-ycc-gray.jpg"), new Dimension(11, 440)) + new TestData(getClassLoaderResource("/broken-jpeg/broken-bogus-segment-length.jpg"), new Dimension(467, 612)), + new TestData(getClassLoaderResource("/broken-jpeg/broken-adobe-marker-bad-length.jpg"), new Dimension(1800, 1200)), + new TestData(getClassLoaderResource("/broken-jpeg/broken-invalid-adobe-ycc-gray.jpg"), new Dimension(11, 440)) ); // More test data in specific tests below @@ -493,7 +494,7 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase=}MIv>C!txOnLz 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 Date: Tue, 3 Mar 2015 14:44:24 +0100 Subject: [PATCH 04/39] TMI-104: Fixed metadata inconsistency, 1 channel SOF now always interpreted as color space Gray, regardless of Adobe App14 marker. --- .../jpeg/JPEGImage10MetadataCleaner.java | 6 ++- .../imageio/plugins/jpeg/JPEGImageReader.java | 5 +-- .../plugins/jpeg/JPEGImageReaderTest.java | 35 ++++++++++++++++-- .../invalid-adobe-ycc-gray-with-metadata.jpg | Bin 0 -> 299 bytes 4 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/invalid-adobe-ycc-gray-with-metadata.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java index 292a6bc8..5343c4a8 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java @@ -156,10 +156,12 @@ final class JPEGImage10MetadataCleaner { } // Special case: Broken AdobeDCT segment, inconsistent with SOF, use values from SOF - if (adobeDCT != null && adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() < 4) { + if (adobeDCT != null && (adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() < 4 || + adobeDCT.getTransform() == AdobeDCTSegment.YCC && sof.componentsInFrame() < 3)) { reader.processWarningOccurred(String.format( - "Invalid Adobe App14 marker. Indicates YCCK/CMYK data, but SOF%d has %d color components. " + + "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color component(s). " + "Ignoring Adobe App14 marker.", + adobeDCT.getTransform() == AdobeDCTSegment.YCCK ? "YCCK/CMYK" : "YCC/RGB", sof.marker & 0xf, sof.componentsInFrame() )); diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index 68bc347e..d16a68ed 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -323,7 +323,7 @@ public class JPEGImageReader extends ImageReaderBase { if (adobeDCT != null && (adobeDCT.getTransform() == AdobeDCTSegment.YCC && sof.componentsInFrame() != 3 || adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() != 4)) { processWarningOccurred(String.format( - "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color components. " + + "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color component(s). " + "Ignoring Adobe App14 marker.", adobeDCT.getTransform() == AdobeDCTSegment.YCCK ? "YCCK/CMYK" : "YCC/RGB", sof.marker & 0xf, sof.componentsInFrame() @@ -1075,8 +1075,7 @@ public class JPEGImageReader extends ImageReaderBase { @Override public IIOMetadata getImageMetadata(int imageIndex) throws IOException { - // TMI-101: As we catch the IndexOutOfBoundsException below, we need to make sure that we don't catch the - // IndexOutOfBoundsException that should be thrown, if (imageIndex < 0 || imageIndex > numImages). + // checkBounds needed, as we catch the IndexOutOfBoundsException below. checkBounds(imageIndex); IIOMetadata imageMetadata; diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index f513b07d..dc220db2 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -80,6 +80,7 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase getTestData() { + // While a lot of these files don't conform to any spec (Exif/JFIF), we will read these. return Arrays.asList( new TestData(getClassLoaderResource("/jpeg/cmm-exception-adobe-rgb.jpg"), new Dimension(626, 76)), new TestData(getClassLoaderResource("/jpeg/cmm-exception-srgb.jpg"), new Dimension(1800, 1200)), @@ -96,10 +97,11 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase getBrokenTestData() { + // These files are considered too broken to be read (ie. most other software does not read them either). return Arrays.asList( - new TestData(getClassLoaderResource("/broken-jpeg/broken-bogus-segment-length.jpg"), new Dimension(467, 612)), - new TestData(getClassLoaderResource("/broken-jpeg/broken-adobe-marker-bad-length.jpg"), new Dimension(1800, 1200)), - new TestData(getClassLoaderResource("/broken-jpeg/broken-invalid-adobe-ycc-gray.jpg"), new Dimension(11, 440)) + new TestData(getClassLoaderResource("/broken-jpeg/broken-bogus-segment-length.jpg"), new Dimension(467, 612)), // Semi-readable, parts missing + new TestData(getClassLoaderResource("/broken-jpeg/broken-adobe-marker-bad-length.jpg"), new Dimension(1800, 1200)), // Unreadable, segment lengths are wrong + new TestData(getClassLoaderResource("/broken-jpeg/broken-invalid-adobe-ycc-gray.jpg"), new Dimension(11, 440)) // Image readable, broken metadata (fixable?) ); // More test data in specific tests below @@ -475,6 +477,33 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCaselam%vQ3nDQBU4jTBWpPLe}I9TgW(4Q2P2~(!~Y`;`V5SWj6f@p z03*8q&_)zdW(LNMMaE1l|8IdbGBDUPTxp#zn&Fs!G)f@yV_1t=Oz1+^=|F*0kU$|q zz~L!Sz!E6H2UNifRDlq%0Sfd31s(%cSOCr7g9$vc+M-Y>8zmsox0Zv)J*<_ne^Ru-a7lK{m4f|4jhM)=hB$ literal 0 HcmV?d00001 From 5a0c59604013520f2a1d79f9e04c231ee34cdb12 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sat, 7 Mar 2015 12:00:52 +0100 Subject: [PATCH 05/39] TMI-109: Fixed more possible NPEs because of missing SOF. Now throws IIOException immediately, if SOF is not found. --- .../imageio/plugins/jpeg/JPEGImageReader.java | 22 +++++++++++++------ .../plugins/jpeg/JPEGImageReaderTest.java | 9 ++++++++ 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index d16a68ed..63a666d1 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -316,9 +316,9 @@ public class JPEGImageReader extends ImageReaderBase { // } // } + SOFSegment sof = getSOF(); ICC_Profile profile = getEmbeddedICCProfile(false); AdobeDCTSegment adobeDCT = getAdobeDCT(); - SOFSegment sof = getSOF(); if (adobeDCT != null && (adobeDCT.getTransform() == AdobeDCTSegment.YCC && sof.componentsInFrame() != 3 || adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() != 4)) { @@ -347,7 +347,7 @@ public class JPEGImageReader extends ImageReaderBase { System.out.println("ICC color profile: " + profile); } - // TODO: Possible to optimize slightly, to avoid readAsRaster for non-CMyK and other good types? + // TODO: Possible to optimize slightly, to avoid readAsRaster for non-CMYK and other good types? return readImageAsRasterAndReplaceColorProfile(imageIndex, param, sof, sourceCSType, ensureDisplayProfile(profile)); } @@ -512,10 +512,6 @@ public class JPEGImageReader extends ImageReaderBase { } static JPEGColorSpace getSourceCSType(JFIFSegment jfif, AdobeDCTSegment adobeDCT, final SOFSegment startOfFrame) throws IIOException { - if (startOfFrame == null) { - throw new IIOException("No SOF segment in stream"); - } - /* ADAPTED from http://download.oracle.com/javase/6/docs/api/javax/imageio/metadata/doc-files/jpeg_metadata.html: @@ -585,6 +581,7 @@ public class JPEGImageReader extends ImageReaderBase { } } + // TODO: We should probably allow component ids out of order (ie. BGR or KMCY)... switch (startOfFrame.components.length) { case 1: return JPEGColorSpace.Gray; @@ -592,6 +589,7 @@ public class JPEGImageReader extends ImageReaderBase { return JPEGColorSpace.GrayA; case 3: if (startOfFrame.components[0].id == 1 && startOfFrame.components[1].id == 2 && startOfFrame.components[2].id == 3) { + // NOTE: Due to a bug in JPEGMetadata, standard format will report RGB for non-subsampled, non-JFIF files return JPEGColorSpace.YCbCr; } else if (startOfFrame.components[0].id == 'R' && startOfFrame.components[1].id == 'G' && startOfFrame.components[2].id == 'B') { @@ -612,6 +610,7 @@ public class JPEGImageReader extends ImageReaderBase { } case 4: if (startOfFrame.components[0].id == 1 && startOfFrame.components[1].id == 2 && startOfFrame.components[2].id == 3 && startOfFrame.components[3].id == 4) { + // NOTE: Due to a bug in JPEGMetadata, standard format will report RGBA for non-subsampled, non-JFIF files return JPEGColorSpace.YCbCrA; } else if (startOfFrame.components[0].id == 'R' && startOfFrame.components[1].id == 'G' && startOfFrame.components[2].id == 'B' && startOfFrame.components[3].id == 'A') { @@ -732,6 +731,8 @@ public class JPEGImageReader extends ImageReaderBase { } SOFSegment getSOF() throws IOException { + initHeader(); + for (JPEGSegment segment : segments) { if (JPEG.SOF0 >= segment.marker() && segment.marker() <= JPEG.SOF3 || JPEG.SOF5 >= segment.marker() && segment.marker() <= JPEG.SOF7 || @@ -764,7 +765,7 @@ public class JPEGImageReader extends ImageReaderBase { } } - return null; + throw new IIOException("No SOF segment in stream"); } AdobeDCTSegment getAdobeDCT() throws IOException { @@ -1119,6 +1120,9 @@ public class JPEGImageReader extends ImageReaderBase { /** * Static inner class for lazy-loading of conversion tables. + * + * @author Harald Kuhr + * @author Original code by Werner Randelshofer */ static final class YCbCrConverter { /** Define tables for YCC->RGB color space conversion. */ @@ -1412,6 +1416,10 @@ public class JPEGImageReader extends ImageReaderBase { } catch (IOException e) { e.printStackTrace(); + + if (image == null) { + continue; + } } // System.err.println("Read time: " + (System.currentTimeMillis() - start) + " ms"); // System.err.println("image: " + image); diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index dc220db2..5b5226e7 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -411,6 +411,15 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase Date: Sat, 7 Mar 2015 12:20:47 +0100 Subject: [PATCH 06/39] TMI-109: Added test cases. --- .../plugins/jpeg/JPEGImageReaderTest.java | 19 ++++++++++++++++++- .../resources/broken-jpeg/broken-no-sof.jpg | 13 +++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100755 imageio/imageio-jpeg/src/test/resources/broken-jpeg/broken-no-sof.jpg diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 5b5226e7..5f02067f 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -53,6 +53,7 @@ import java.awt.color.ColorSpace; import java.awt.color.ICC_Profile; import java.awt.image.BufferedImage; import java.awt.image.DataBufferByte; +import java.io.EOFException; import java.io.IOException; import java.util.*; import java.util.List; @@ -101,7 +102,8 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCaseكrhaQ1cr}8HOιY22#.Tzڑ)/PWҭZ6ѨEIyʾcYcl8k~*AE;턷^aGm,/O֊H8.Óoo/\yVUfHz +G­އ{33f=O凉C(Drq}\:UU!㏇}ӽo//Z}G9wiMw /BKu R8-EG":Et/-w_> vw>b ,^! Q]FٯNeӛ 9pw 9|(G#,it˓]h#$ڿƙlGdKlSO3ɧGD[HϩAKK8Os}w(H8rG/NY\}q=;w O=۽̷"_QONE  +o A-f`dHEpXUy7.GʿY/KA ƆcD;sm2QPc.` e :&ޟIkO/\\8C5ڠd6/&]ߛWW"BY*m~ 3PA"gcuKۂcoQRY Væ!V|\Q!33?"lzM>{9ӏYA>^Tm:C<:7RmN5O+\iP$/9cZX r1F) =iޙ-/\GRUطߗlS,s&/3xb%__R;?lY1U HBXz6'3 Pvhh3 ߏC6b_y [ +'vt3d hu?7,Tpmpc Q~' xFRD|!'Zw־o:c_Kkʻ}Vb??<ޟYijf~,5 yu ZS0[rK - KV/ǫ'>{gSo,?T}oOW<39OqpC  7N// ֭I}qP.8֔ e1 k|^\?? \ No newline at end of file From 5fb091b992149a28b43a234d46ea034386e27eaf Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sat, 7 Mar 2015 13:21:26 +0100 Subject: [PATCH 07/39] TMI-107, TMI-109: And another test case covering both 107 and 109. --- .../plugins/jpeg/JPEGImageReaderTest.java | 3 ++- ...pg => broken-no-sof-ascii-transfer-mode.jpg} | 0 .../broken-jpeg/broken-sos-before-sof.jpg | Bin 0 -> 28814 bytes 3 files changed, 2 insertions(+), 1 deletion(-) rename imageio/imageio-jpeg/src/test/resources/broken-jpeg/{broken-no-sof.jpg => broken-no-sof-ascii-transfer-mode.jpg} (100%) create mode 100755 imageio/imageio-jpeg/src/test/resources/broken-jpeg/broken-sos-before-sof.jpg diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 5f02067f..af879364 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -103,7 +103,8 @@ public class JPEGImageReaderTest extends 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 Date: Sat, 7 Mar 2015 21:14:35 +0100 Subject: [PATCH 08/39] Minor optimization. --- .../java/com/twelvemonkeys/imageio/ImageReaderBase.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java index ca0129b2..fbfa7825 100644 --- a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/ImageReaderBase.java @@ -179,8 +179,10 @@ public abstract class ImageReaderBase extends ImageReader { if (index < getMinIndex()) { throw new IndexOutOfBoundsException("index < minIndex"); } - else if (getNumImages(false) != -1 && index >= getNumImages(false)) { - throw new IndexOutOfBoundsException("index >= numImages (" + index + " >= " + getNumImages(false) + ")"); + + int numImages = getNumImages(false); + if (numImages != -1 && index >= numImages) { + throw new IndexOutOfBoundsException("index >= numImages (" + index + " >= " + numImages + ")"); } } From 2b2dd2fb40bf6422e30f8a855882d3a359e6fbb7 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sat, 7 Mar 2015 21:41:38 +0100 Subject: [PATCH 09/39] TMI-107: JPEGSegmentImageInputStream now recovers from EOFException while parsing segments. --- .../jpeg/JPEGSegmentImageInputStream.java | 8 +++- .../plugins/jpeg/JPEGImageReaderTest.java | 41 +++++++++++++++++-- .../jpeg/JPEGSegmentImageInputStreamTest.java | 1 + 3 files changed, 44 insertions(+), 6 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index 2a3c0342..ce42f658 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -74,7 +74,9 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { if (streamPos >= segment.end()) { // Go forward in cache - while (++currentSegment < segments.size()) { + int cachedSegment = currentSegment; + while (++cachedSegment < segments.size()) { + currentSegment = cachedSegment; segment = segments.get(currentSegment); if (streamPos >= segment.start && streamPos < segment.end()) { @@ -157,7 +159,9 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { } else if (streamPos < segment.start) { // Go back in cache - while (--currentSegment >= 0) { + int cachedSegment = currentSegment; + while (--cachedSegment >= 0) { + currentSegment = cachedSegment; segment = segments.get(currentSegment); if (streamPos >= segment.start && streamPos < segment.end()) { diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index af879364..b9a4e6f6 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -417,19 +417,52 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase Date: Mon, 9 Mar 2015 12:49:40 +0100 Subject: [PATCH 10/39] TMI-107: Better fix, with test case on stream level. JPEGSegmentImageInputStream now recovers from EOFException while parsing segments. --- .../jpeg/JPEGSegmentImageInputStream.java | 15 ++++++++--- .../jpeg/JPEGSegmentImageInputStreamTest.java | 25 +++++++++++++++++++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index ce42f658..096d99d9 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -33,6 +33,7 @@ import com.twelvemonkeys.imageio.metadata.jpeg.JPEG; import javax.imageio.IIOException; import javax.imageio.stream.ImageInputStream; import javax.imageio.stream.ImageInputStreamImpl; +import java.io.EOFException; import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; @@ -41,7 +42,7 @@ import java.util.List; import static com.twelvemonkeys.lang.Validate.notNull; /** - * JPEGSegmentImageInputStream. + * ImageInputStream implementation that filters out certain JPEG segments. * * @author Harald Kuhr * @author last modified by $Author: haraldk$ @@ -174,7 +175,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { else { stream.seek(segment.realStart + streamPos - segment.start); } - + return segment; } @@ -231,7 +232,15 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { private void repositionAsNecessary() throws IOException { if (segment == null || streamPos < segment.start || streamPos >= segment.end()) { - fetchSegment(); + try { + fetchSegment(); + } + catch (EOFException ignore) { + // This might happen if the segment lengths in the stream are bad. + // We MUST leave internal state untouched in this case. + // We ignore this exception here, but client code will get + // an EOFException (or -1 return code) on subsequent reads. + } } } diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java index edb4f0fe..e38bc75d 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java @@ -153,4 +153,29 @@ public class JPEGSegmentImageInputStreamTest { assertEquals(1061L, length); // Sanity check: same as file size, except padding and the filtered ICC_PROFILE segment } + + @Test + public void testEOFExceptionInSegmentParsingShouldNotCreateBadState() throws IOException { + ImageInputStream iis = new JPEGSegmentImageInputStream(ImageIO.createImageInputStream(getClassLoaderResource("/broken-jpeg/broken-no-sof-ascii-transfer-mode.jpg"))); + int fileLength = 2021; + + byte[] buffer = new byte[4096]; + + // NOTE: This is a simulation of how the native parts of com.sun...JPEGImageReader would read the image... + assertEquals(fileLength, iis.read(buffer, 0, buffer.length)); + assertEquals(fileLength, iis.getStreamPosition()); + + iis.seek(0x2012); // bad segment length, should have been 0x0012, not 0x2012 + assertEquals(0x2012, iis.getStreamPosition()); + + // So far, so good (but stream position is now really beyond EOF)... + + // This however, will blow up with an EOFException internally (but we'll return -1 to be good) + assertEquals(-1, iis.read(buffer, 0, buffer.length)); + assertEquals(0x2012, iis.getStreamPosition()); + + // Again, should just continue returning -1 for ever + assertEquals(-1, iis.read(buffer, 0, buffer.length)); + assertEquals(0x2012, iis.getStreamPosition()); + } } From 7ad108ccbade89b0e6309962e50023023d3c90d6 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Tue, 10 Mar 2015 10:07:05 +0100 Subject: [PATCH 11/39] TMI-110: Fixed a possible OutOfMemoryError caused by invalid tags and lengths. --- .../com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java index ae0e23d8..9c130368 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java @@ -83,7 +83,7 @@ public final class EXIFReader extends MetadataReader { return readDirectory(input, directoryOffset); } - public Directory readDirectory(final ImageInputStream pInput, final long pOffset) throws IOException { + protected Directory readDirectory(final ImageInputStream pInput, final long pOffset) throws IOException { List ifds = new ArrayList(); List entries = new ArrayList(); @@ -230,7 +230,7 @@ public final class EXIFReader extends MetadataReader { pInput.seek(offset); try { - byte[] bytes = new byte[8 + Math.max(20, count)]; + byte[] bytes = new byte[8 + Math.min(120, Math.max(20, count))]; int len = pInput.read(bytes); System.err.print(HexDump.dump(offset, bytes, 0, len)); From 841ce5d26eb809fae56167ad4f568a4f565330f0 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Tue, 10 Mar 2015 16:06:11 +0100 Subject: [PATCH 12/39] Minor optimization: Disable disk caching for ImageReader tests. --- .../twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java | 1 + 1 file changed, 1 insertion(+) diff --git a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java index d62ccc43..7b1f2a14 100644 --- a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java +++ b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTestCase.java @@ -70,6 +70,7 @@ public abstract class ImageReaderAbstractTestCase { static { IIORegistry.getDefaultInstance().registerServiceProvider(new URLImageInputStreamSpi()); + ImageIO.setUseCache(false); } protected abstract List getTestData(); From 7b0414ce788472f9e65327f5d8c74adc33255d5c Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Tue, 10 Mar 2015 18:02:40 +0100 Subject: [PATCH 13/39] TMI-114: Fix for EXIFReader.readSubdirectories, no longer attempts to read linked IFD. --- .../imageio/metadata/exif/EXIFReader.java | 27 ++++++++++-------- .../imageio/metadata/exif/TIFF.java | 1 - .../imageio/metadata/exif/EXIFReaderTest.java | 17 +++++++++++ .../jpeg/exif-with-interop-subdir.jpg | Bin 0 -> 786546 bytes 4 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir.jpg diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java index 9c130368..3cdb0253 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java @@ -80,10 +80,10 @@ public final class EXIFReader extends MetadataReader { long directoryOffset = input.readUnsignedInt(); - return readDirectory(input, directoryOffset); + return readDirectory(input, directoryOffset, true); } - protected Directory readDirectory(final ImageInputStream pInput, final long pOffset) throws IOException { + protected Directory readDirectory(final ImageInputStream pInput, final long pOffset, final boolean readLinked) throws IOException { List ifds = new ArrayList(); List entries = new ArrayList(); @@ -104,15 +104,18 @@ public final class EXIFReader extends MetadataReader { entries.add(entry); } - if (nextOffset == -1) { - nextOffset = pInput.readUnsignedInt(); - } + if (readLinked) { + if (nextOffset == -1) { + nextOffset = pInput.readUnsignedInt(); + } - // Read linked IFDs - if (nextOffset != 0) { - CompoundDirectory next = (CompoundDirectory) readDirectory(pInput, nextOffset); - for (int i = 0; i < next.directoryCount(); i++) { - ifds.add((IFD) next.getDirectory(i)); + // Read linked IFDs + if (nextOffset != 0) { + CompoundDirectory next = (CompoundDirectory) readDirectory(pInput, nextOffset, true); + + for (int i = 0; i < next.directoryCount(); i++) { + ifds.add((IFD) next.getDirectory(i)); + } } } @@ -149,7 +152,7 @@ public final class EXIFReader extends MetadataReader { List subIFDs = new ArrayList(pointerOffsets.length); for (long pointerOffset : pointerOffsets) { - CompoundDirectory subDirectory = (CompoundDirectory) readDirectory(input, pointerOffset); + CompoundDirectory subDirectory = (CompoundDirectory) readDirectory(input, pointerOffset, false); for (int j = 0; j < subDirectory.directoryCount(); j++) { subIFDs.add((IFD) subDirectory.getDirectory(j)); @@ -461,7 +464,7 @@ public final class EXIFReader extends MetadataReader { Directory directory; if (args.length > 1) { - directory = reader.readDirectory(stream, pos); + directory = reader.readDirectory(stream, pos, false); } else { directory = reader.read(stream); diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/TIFF.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/TIFF.java index c6904e76..d169e690 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/TIFF.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/TIFF.java @@ -76,7 +76,6 @@ public interface TIFF { 11 = FLOAT Single precision (4-byte) IEEE format. 12 = DOUBLE Double precision (8-byte) IEEE format. - TODO: Verify IFD type See http://www.awaresystems.be/imaging/tiff/tifftags/subifds.html 13 = IFD, same as LONG diff --git a/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java index 5e184bd4..b7770e11 100644 --- a/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java +++ b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java @@ -190,4 +190,21 @@ public class EXIFReaderTest extends MetadataReaderAbstractTest { assertNotNull(exif); assertEquals(0, exif.size()); // EXIFTool reports "Warning: Bad ExifIFD directory" } + + @Test + public void testReadExifJPEGWithInteropSubDir() throws IOException { + ImageInputStream stream = ImageIO.createImageInputStream(getResource("/jpeg/exif-with-interop-subdir.jpg")); + stream.seek(30); + + Directory directory = createReader().read(new SubImageInputStream(stream, 65535)); + assertEquals(11, directory.size()); + + Directory exif = (Directory) directory.getEntryById(TIFF.TAG_EXIF_IFD).getValue(); + assertNotNull(exif); + assertEquals(24, exif.size()); + + Directory interop = (Directory) exif.getEntryById(TIFF.TAG_INTEROP_IFD).getValue(); + assertNotNull(interop); + assertEquals(0, interop.size()); + } } diff --git a/imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir.jpg b/imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3572745ea5263fc87fd3ebaf1abb3c79b244303c GIT binary patch literal 786546 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 z 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%0Abp9%tG_A|K3#;gL7dM(#n_)HG+?HBh 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,>SxX4b+pj*&3$xY$5gm6 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 z�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�(n&Gc+8Pa50>PAaDuBe>w`ch=7 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∋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 -&&HNZ%~ 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%0AO-R8U7mbX>h}8 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

sA=DS-E~> zVDfZ*``GYDr>@;hOKN}x;ELzjSxrR8gQdOi9=rxwfDt{prfUvu*JkA*Av^`O;S)es zGAXouma1lS%P+eC_2k{kMB$uQta6!U$}@?S<2!7M0w&kK6-XTG_}2euaa^*(SlDL; z`+aQ>wNR?{62&apteGn$Ms;=EPbSR1N1oM~t%0dhi~wyHbE( z;qX}{{B{@v<5Igv|MKE_wIp9XRk9QrFrhMe@*breORK*FN=UkY`};(z?(m+gm-!W< zFVR<92@SHgKA*C^`;fQS2*SKQV9~xV^y2wiVJJ@%C8g*+6QGE24v|2TCf|FknOMH@ zdgBpUYJ-Jsm-@s5jyWX@F^^bfouVkn4+YV6kQ&DkaN<(w)pAYJb_T=rL4`7DWRWoQ z&o=ILRYdXV6e5ujh0qD zV7T6rYwB}$eHdP@GV`r&dhA^bZ$E3|2NFIiL@2xU5+=#mSdg;*z2<@}j_ZoaQaR~l z+b$k5tQgqsFpBP?&XiQE`p+fd$jpoY4n_}bR9ARfDnDM)r+c3f$xNi`B5?<0N-BX}0KQB;JnRcv#(~q9abM2-{_fo5;Ph ziR6UYVck!eQr-InW@MPp%}HJH4AbkO3FmV=AuXY-Hye3nhKQD1_uPv|?KZ<@$X{3g z{e0}^$+8-W(VV+_k@U$~p^hCP!7)%}sOCck#9w?W=HvS1_SS5ql&>Ewiadv9s)?$~ zV@>@qi$YI`fGkCOn0k_3=-D_ToXy-PicI9cN66EiO&R&dI#a2DQhpOW_PGI}Zdy{p zqmiAwR2JUI3L^vi>yHQR1QJ-s9b(wRZ9M}ea`BBRk-dl%Aq4}=Z}gL0Th}StEAMh* z0x6@6YYU7bN|Y5nFwR90{HCiG=2)x`Efhm>BId$d4m#&@<)bEeQPf%3G5T`?$y8V7 zUVBjc#jC!iH!p3g>`s@5n}EHU%o0TffT#%cHcN8t1o{Z8-DiGAoWIsaD~Xyf#{wb= zn}%FjERG60;9_?tvVf5%|JV8+Od%$P+!)>$KTvynd~hd`Qr=SX8tU~Yy?^wqf=hc{ zRb#aFMXGG*a4wt15h;k+!y*Yg1{1P*_Us}J{N_^u7$8m!EODlIn?fRs{LE@@WqyVL#kiOr?^Qi%RLw6xb=IA`Oj!hy&Gjz5E(sTYdI&|WgE(M zeb_khVB9cIkrS~=w7&X10Cavh9BI9@{FOuQ<$Te$dj{Jm@QE}X&E0i6vW>5U@fRjc zi^L-MR?S?{^&a-=2ofuK%U^IG2fh07Q6gFJ$U5Cbh##_lWQ)B0OEUT!iE#0%pexfZ zJZXum^pI(?nilz$z7)49T$%$AyW@5klXyu(WWUg|{T0k@1>|4DM^7PNZ`jUY!? z3vn1kB>$~-GH#xTbfKPA4>MBIJ|;~4P*|xoG*;(o0tFVk2lpzH`PzLyb#4a#*eLIQ)kvl4C(;%Yn9$iPzD$ZiA?YrIO(K&xn`eegM}wmO<~bH!fn^i&xDGF zCa|pp7%&7Rp3E@eT0@Xu9mh9A{vBhUPo;F~I#I#@=*^*5m+5x79pW?p$Iy8=vfaIX zIQHH_LTE_rQJWZTP$bmetF?*NRp6vY-*2|+N1WWqH0vB(Lw#H<9+il zBV<@a&9;;u2t%Fgd%xotHNngKO7 zi^pO}&f)Kz7}iuPw3T+2j1T+iuy+p0W>T9YG~@=mLSORH{Fg_)Nm=)ib>qlcK!m$Bu-Bqm5L8 zcPEsnjJ@|r2A0p@oiP%ZJQK)Mf&9uMu>EHj8Z}t^9rIW#Nw|3O9ZfE|pX!ZY?)`IX zXd~xN(%VNrE8sS#Owg5}x5o>Upzh0|u>UPR)8I9}jUhGh7t7naqT91hJYs_{>fL;N z7R@)>>Cw7mmyj*j%!13tOyeY1)TGWSc;Ib>w%WI`a8MUWH@M+UxMuw}+Srwy3bwEb)W|YtGyX>VnEOj-joM$`a-`<9KI3D}?{yJ)o~bMs5!ptYL$HV!!s2V=v4ZX+*KE;M+!jL6 z-gFUxzOm6Q8r<>JfA@mvCs_cI>hqR7Q@(nIBQ`JO`Yid#bJV@~ZN!ndg&OeR7S(Sk z^vYlVc+yy^+^V6p^u9MtrI^$d5_oFy8@%~InU(rkedZ}U5N}`A?qh@RzgoKE1Y*L6 zS^N~;6GIGLN5)*)$YzD>neh8h+GuhH!ay4=_l3B*TRXPxV`c&+4JSk_O*^5Z`WH26 zw8%J|fe(_KSDl8uVkj}n=Ju_M8U_yuY|YqRSu)r4qBDAtpq z{(s~p2|tdFEDkE*cl%Kuuq3C;8}MR=gfnB*d1XD;&()GPBf5_-J}QMK@yZjE~{=rFM;fF7@XF;RVo)(%AB`ixmm9P)fZgy8c6Vcx9DnW0At|K?r=t+LrWgL>*)R07V zzb1V%T~(m7slGB^E7UIXLd`w1WPHz$8l73G%%IaSM)1>qlkxo=&SAlFOY30uTW#P+ zzjS^Bc7YiL<8v9|W#@3MLu44%-aW~7HE6~sSW`tR|*FLRb-pZdS%Tkd=97`nU8tDv&b0%bHFyto7(~=@7 z56g}{<;EgzS-{0owe8;dinPWr09{#s_iDzOWU_nxNOsm$~EFDA{3dj1maz*rcvLGThmU)}49fgLiH@3e>t} zgl_w=7iAr(z}NNflLu_*c~Ya!#(z?x84#?)2U*haU_jH|yDoXLO1?IlNlefP`(Ufo zfd&@ZAwH#D$lrSiGc)Ol%LYDk*0-Fg^J@ZfnGIqc9&|xei(qpG^884)?^(8SW#OBz zF%^yU@+I6(7fhl{X-+llf+WbY+*@~d+%OX)%uZ@47_N1F00gSV-3!$q|71q%K5DzOEyk4m#bWmE0P8(oC(gABT?%ZqUBp-p(jg6k zrF_N!q!Rx(S8_Uf)&PL{>m*2v(v8pCIBc0cyq(; z@~tfFB?H@wz|WDd8IL-LRYzJ>C)C$J-=SYTDU|H8mZO=wS_!WMDU6oA*F753Us9Lp z&}ZB2mUHjO{JOwv<8I)&hP~Mk9d%{j(E22i_r@HC1fLrFlj(hdC%C6T391z;T1&xreTsBMf(R?q-G@n{9opstUQ<-04E=V@{piG0n zzRrcw6kCMts7zu7{gXR1GnR3lj#)wYgzX62e7it_2D#qnnV{nHDG1ME2j*26QO%mP zoAX|6Sbox~b5jfP#YQE?N_7ARG(CixPrg0YHCRydyi5O${H{{g#sKu^2&EM)Q%c7@ zI7>$#zf=k&DSu29{Z+G?=N72jpm8qXfGKxC*nT;$S$ z@IoX-t(aWVt+UAneB`R}Zx?)KJ(&p>d%{#&o$BYE|1oyNM6SlOyIBwOpa*g$?aU(F z_82>)i#12pQmsgTz7b`WVEznNGW1~<5;Qk8?>srQt?TU=%4rLR6JzhwaVMy*mv%iM zQU$J{Dm5ErShU*@YgNy1kgrATkr4)1_GiK-{NZqtkrjW`R|dUmdnlgQ$lkNx*myyk z$J#iDQPyPY?~z;2ogLEi;E}aS-Et9G*PJ#_W2yvrtY1l3Ytz35Q9TeqIn6GbCGg}{KI8IeL=w$D-T4D%Nm0kj(Z@L z{i$`7tRPP)WG`=wzuoua6dQw}P~{smbjDlH$g%HR&kVbe8-|+>LlxQ2Ds1kmb=vae z4AB2@SSs3&;}OWQ(bj1aaCv9oF)uIf<}1?sqSD9xgZq*G+bLpwIL(FH_&oK;qQNRf znCGMBS->Oy{PQ6j9Ziy3n`uU^H3P@`;GflIyyJ8-gX`gXhjc{C{4tpZXw=gvP4N%HT#3wN{5lv-ov5Bfbe;VZa0F(p7OLv z=$DBjraKrUXO#FZ1So#ys09m_t67c zn0maM8Q0v23`L1>%7QEDv%)PR$OHB|rR@(&-B12hOK1}~%($hEPYdXZcz$y4g&kf{ zkT`pK(f0{;gPM;RKIuxHz(^WP0I;JRsO zPj<&CtxZr@!iy*$I3FRYbj%ndIGy8Ll|8;e@iYND zxT+7YlDTPBr}qQIb5x!+mL76Yb6y=QmM+!LC0@tiu)C5w&c@F+zRhRt*M91c0Nu40lHXA;RkNd7Z0o!pra3$=b;3Z=0J_&mc{a4K;) z`QkNprKyq`d=@g>HT$hye3{=b*VhJ8Hpi@CIi$Jq$@fz}-oNI5W)r8ChC^jU51<00 zjEEZ-^=cB6KN+*~*kg7{w(j;X_D)%<7>zRsoDp+2HCuGDAF-cO^Ufvo82LR@5&s9E zF)dBy+G5I#%XUkAa);|jNf||6=i8L+`kv&OmxPwr?q|$s_;AhkIq==1`?byEA`}h& zv}8O!!Z2Ynqzq0K({3g)YEf8|9QThn13~-pzfHp4$`FxJM2%g*C8d2c^=H>UTv-di z8lj>&!>5ovabD92uvlEpxu}MCs8ID6Iu-RS@0^N@R5Zx0$s-28m#0+7IyQ|M}7h zKz`d<%&VMkP`NUkpZ1+j$3Eg3#HNZj!hSj6#KU_ewo(TCevZI^4q|DLP$PrJF{t#6 z&H||L>+nH~+KHEKum)VA574)ZUvv-zAnqSPxB`o$TZ%~lF6zP0A62jsu_~H-XS~s! zbx@;rKTg!LK^Hp!v{8z`q-?4C&_@kG7shz8s`%|9$GKodLs}WPPQ4>AuNsvPLE8Sk zRFi_bc}HdkFzNJgBg{Z@W$lTWD#3!u6f?v?2Z^Q>2{>43Z~GO9Pp{41{zROslYC6g z-H^3^FX0%Ob!icjWS9ee{-6kD7JUEuL%%0IjE!yLD$O)K*<*SsfM+TtrbBgnfO3W9W zrwKsdv&-Z6!2BW(opL6kQ$&%hdHq{rUu0REjagX5)~Nps%bmXS>Vm=oRgXwY1kjto z*wWUV?1^nD1?(1m(Y+gc3Qrki`J)c<(wAx(to%WD3Xgwew~p+1oxpUY3tocq-EKudj4=2O{s&?=*k7bv@mWSNnQW!<2Z!0mc2r@JAQ6}gIMlqgAQqzNp0=FIdppvc+YH}rrG5IJyBwrUbh&+JYWE!|PNXR*!}gm_31 zgeQdxpXNBPUj?UtyT9o`lImn;K9jm-lG}S(H9(%=HY_*Qm9j`4*Z(*Y<~>7t~5}HVIx28u@fuWVT?X5 zvmrr3Tetj_9RE{2apyYI`jNv-(bHIOjI8N*)rH2qXiMXBWBY&*=@;6wz;If@D6LPm z=zv(gn8v0NQDDzpl^o-*hVQ1Yw7CqOBrKFR;#Nz+l!`^fRuNdf(wGSlIbtHq|LZlx zA!VdT=FNFv9TfuLu|r{Q>KgC%&<@3<=u6RQLF`hDO*0!YY0O?-pDon}@Qo_YFTa>e z>(jGl=RNxb`DPA3k=Mb`iPdXlnN+HUMtn%NDcLFy_{?0@`km#(cpz1UFG*(+1?9DD zKzaWsFS6mYs1zC=hsQBWPi=E*9iCY@28<8!Bo{>nm@=)ut43j^nW$Ykz;f#fFi~Vo zDwyV6y{t7|F#Lt-UaNf){%_#F;u^CM@wz{gDBU?CUAfdg^Z*)RjVCg0scxkd>7?)u ze0<%<6d1Lz{p!Q$b2Px$QEWzaK=06uV=z;^;B(YoCv?8w-agtNo;g|B%#&@Ge+MDO zFV3sa&~vU%XYm+P$1TG!4yIwDQnCJKNxq>7|8LY%ua@x>G9k|9R|d?dNs55^1Qu!S z$BxKhYIr6MYMA@E)P<*gXh=L*CUsv0zhLlxd}w)UmFNM)f9vT6YpTJTthT5*s+9xV zWIKn$f24uzu5Oj{dM7S60k;Njmo&?fM5z>>J-S|!UD&u8J2_7)W=VjF6#27kK#h^@ zB_8+aC*u9=Lt9v(ra2;}!K4Nf(1vpk*MS;8!=l{7b&#whZw+@HsGVz|+@$^6Hy~qx|Ps zsT_086cl}^Hg%jhk=a9)fH}f;RkXGQW0w?~m1SclKvX}j6g3zxUZR5VGGZNP3lZjJ z^U1Uf3?2gw3^2Z+Z`IEA`^-FI-U+4UWS+rrWbtz%4l`FuV)Vn-A{iUx&61c9S_dnY z-+{_fivZgY{n+gHFBH%UzZRv6Z1(vxtrxfI>rvG(VqCI$#Ru*QN9)Xpl`n0cQ1e;co)*Mfc{7gV?T>JNGAg`qU* zWp#u!ms~kKyBI<~-YjPAZFa?4ey^4Wi@g^)JmzmM|5_e4Hl49-;k2t&8oTY`O=5M# z18#U(s2Blg!#cqOpPtmtT@Qy25M#H`t53iiS_jqbhz?kuZq2q0OZgM|Jpd-jvSe-_ zMe}k@vS_*i-+5bz5?kjw0#h24f)VoaG+OtH`+S6Wmozk*e8d2XfRMYUlllLIJxn`x z=NxWdJ^r5MJZr$<=pO|y3Y4KKk7zJcbh!BpH+%1ipG3j$rHA>@tGVrPBb^G`v!Hi> zW!R`0h%pz7T@k7lWk4jr%V3Y!X%P)))azLwVWk0C$Uhipdx|3nRMJdOb6b}>#krfr zsJ+Z^s)MDe@M5M9l_|yQSXRn_-B|PMm7n((#d8B-->RBtm>Q(P)K_%b&o!nrHnD7T zrClaib)3DQ)uUiN>4@wX4OR`I*1bCMtQtwi+R1NadF!$d&B659i zatQPtJdQA>fqQ?z$rms)dtS!RcX!VQG9LT<1FDdfR~xP)X*YN=%oFrKPxL|1I2&v% ztX+eahp2pFMz;KjvOkwDld^J=s&&89R47QbFSxCXkH&77JBn9gDE{ zdUg5sQkwUQfz5x`TP4~F3^YK14$YXFX$#&vXK6cB)@GoTDVe~vQirMp)`UE|r)T#- zd&8?}(c0Hz-0C~mAuce8E$ugFYMGxfIyf0(>u?*v`q$FMLiP&Wv0r_$@vu_2nJt3! zPwi<~8}=QPJwf$$K?yyfFXE!Y$xzxWY!q1yj>kUly7VdF9+T>-;V*P5-HW7JkO7XO zt`J%k8B?gI6c~yN>V2Bs(Wq3y%Z=3a5hA$`?zh$MHG`p-BTBWkG>f5M{_%rN*m?s7 zVNi9o^ImF6k9W8h9n{T4sm8(?485B~+l452_HQ#(y3s@Y3-F4+s@5N zqs)L&OX!uI=aMoqA~CbUQ0_JX88ikOKfJ8~mH15+Tg0`C?#=ww$zOKFD7+vosUiui ze2Yb}!U;g9EF(>|b_>m_NLT#|xpMNm=^#Bw%smm3ln{t6$I`|Va_0zG0pD%vhNcs4 zQ6Xaqm~PGH(&<$>SnjC4#ML+Z+rn#!t64YNLy;0Q3(VWNm-M>)EaQ7~?_KhQg37gZ zG@?Xex3BCIgIj9+#;(aoHUaHz`T*47%un^}hi5U54PJS8XxbsPsyHgWIjvZEzdbBx zeCnz*MSX|y?dRZkdNXu}ihNrO)e8-{S=j!-69U<0c`y!E!U?j$hhDy_8$+)oRdOsXBYvO6-(dTrVe z1ZAF?CCH-OMF@9GXA&6v>$(=urSRhA2@58Vz_!jx65SZUtFns+;o*uIL|oQi0LAfPOjw2qe{IPj{aox_U0GL@vmIx3 zRf4QzHZEwu&vtd4G$;Qw3rW>WiigtCYt6*gQu{R3ey7Tf;O6?SF?vFtLSK4UcFx#j z0;P-}Os6-+>a^+2V4~~)wQ^4Qe%`+O09T)-)H><5KaJCVgq2$96E?yxbs@_n6EM98 zPW<@>tSq3&1a=vyx`?Q7UZZfVmH^XstWclBUer{4L^H(i6(!KPk+eNRcCW2uGiN-N zJ9xiP_JhAOXaM4WgS#vN53jQs(TG zSXXG5^!M{tBJSm*8}06CHk{$ABwV~oYw+z;wuR>wt3coX0lLK|Rs1nuP)@XVRQIpw zvH*W>p(^R3>ZOLph3ouG~_rwfhuyz2o2E9boS3tyH>vhxgJ_T1iq~FUU_q=?ohOl1Aki8|Fy6qk;^5$fkzptAn^+9d@70Iy*F4bfC zB$saNr1HW-RtC7|txHI)E<$h~$YuYgW789qlBb97uR7g$Pt01bMDI~p)hx$ZQUgfKq znHz;x0Ak=IoIQZ5c~#=HbTMSha?TV9un!phBvt)i93;5jC8}4h+hZ?|jIk1MYnmdD zt=IoTA-(!zY6@iF*>f~h)A)I-*u6T?o=5(pFdR&dct8QJunR{h-mo1k;mecIIyTa1 zZLHe2>AZLQJSiZL6ly+O=7;VtLU4mFEz_VDKXPjI+Fj5WguSPLvklQ`-#u;MOmTBy=&($i;_~quJ%S`t%_mWfY zpG*KCLY}v)whAeHS<%%Zq6hPfv>!B>s}OGhh;X%m>&T?rX8MF*q_rsloq>M5L85R5SF3X zXRLfprrnG=x*s)4k7!`+^cvY{dn8-~#nj+7-}dWz6EC1ol`i|lMJdMRpD|oY1VESL zem7ND_NU@YHyJ}bcGKJ+0WU7>2X()NN4ogp-n}yk0ZRo;`9u`O_5@^S=h7Vo4k*{A z=#NX$FDZn)mXE!0G4d#;m)z!YydXEBn|!}Om;KteI*n5*{Uy6oye!=@mh-hDm*}#Z z6trx=hEI8C zI$U{1cfI^lr9p+8gY-T>-##F-TEi}IH~#PHLkeeWd{S#Bf)ctw@f?>9jauS4)Xo@63aSKbr(XT6cs?A>CDhR0 zX6>Kz{Rd&JDAnEKQz&S9H%TjSWHX?rs5a%&wO%T z`_h%3zLuz*h&zAH{XZ+y28A;06zOA(`mi}hp{)VZ!tW8kTFyF8snz{iG*9|BM`L?l zLzc9s=Nsd%45O7J_6caIO(+Zk8t%7AuE%$O-_U}xIuk-E({CSylqun9kU$}h_ zXF?5V4NIRhFkU*~eYREUWV#)+_rvhkI0~lwpoF8o4h|8xowg^M5jxQ zFhe>Qu#%Pv*8IJRL}@aQaLOk6vCvb57*%Lt+harz+1_~ySWQDrMpw6YqlRuWbqG}; zxq}`I&KSX`L19aC1M+7=OR2_#j6HH@DN8)J*^{i76CUM_V@DD%KQ*{)P6Zr&MyGWd~8 z30%=6%qnr53HqS!d#rS+X~)@}wc1%AQHJGkM5nzg8xr(V{zkca@cdpH?HV-MZfTsr z*Qiw|2ODD(>5IIvbQad6^5xE`H%|{B0#CRoRtrY2g=_EBwVnPiZ0)=fU6=+VpgtAN z8O4@&t)mX$Io6{DL4~cx$!IB&gj$J|8LiJ++Y;OPi-^^(tCFDGu8N zOca&67mgmMcpEsioNvd^)fn*avd3Bbaqy@R2cx6^)HwOb8*t@DUr-#>c|8k!*fZl= zg!3i<-c!U0L8wNn*61zsk?Xh8g8 zFK@zx13;Df%$S=W21(A79@N|-@{9frH2T3p-x&K>Ca7jYAz2W5T?A1VOar}Uu?(aO zw%a9#2l~o3qQTUz#BD}~38?g#X?R^C@xSrvlnHt&KRdj{!%pT9$sSUi4&JS#rv*T~ zS1Yx|jClD7#nRT}bh=4lHXpp6`Egbln>I_m(y`_vc{Cl^NV`AL3mdOGcH6t!sXfHK z$zt7m09`cWhjQKir&f-6lM4S1s6w%bxxPYB&Q%~|!F*qx~- zX|C_Hg)YUY{Mf7XEsQ_rN*Ha4B< zX5}qc_-=|AZW-r0G_3 z&_pC%Ka^%J^Y*9gf>Y}FcFPi3#}-MSWD>{C%89bx_+bIKP-9>q#8fLfVG~jSXmvZ>gCm5ypv5MEPF(^nnw(A%y9p3 zi+4H1;5E@+xLoLhDp4;ABGxgF>VxEUR?Z!wz9oy!3Dy7}C3RQhE<^ZG3*nbN5Wy!8 zc{thzo63IBDMWSjxEB{C-eWczWoj^&&!5}9moe~ne)Vfj(TUT?aILfTmOMvw|D`Qp zx#09u10#EAB02WT-a9slzgc@%?SqbNbfgxd_IN%-UUjgZ6wRosA1XbLx+xj`Zr>H6*%k#+Y=;rMm5-cgoD(4B|>Y3__zQL`fgn_~pp-au5DE zUPi}X3(5HB%@svPH3xn+A|`sWqs!9ZYfbd_`rTFu|b_r-VEQCrA3WnB5f#8c-((J~uT7M3!jvF0^A_uY@>GB5OqlGU+|7I&jleU>Wu+wzQ8m&)=9Y3>`+&OmRbv-{N4wl;5d)IhAd!{vy^*I;uMF@X_Tz?WaE>Iq@$d*Wv4EV7njnf%5| zv?|Z`Xx@rW%0)?ceXnroTfMHhQL(D{4wkgRer4~`%Jjp4bhXHmOrJ8NI&os@+L@6T zmz+HC#lCEwyWPPzQ4Ro38`VcpQp@-GI!pF=zBn(S&Y(v$cb2*HlG)E^uVolD_U`}} zdwlDrCZs~$392vt58!UEjDI2#d%#$a6hk9lD0KNOMTq}ODc=(!&U7T}eV*xd*js&Fd_5|7SM9hh znE4+x;-WH}7wJk(s^kh;?EjI=t+=#-W#KIEi{^g*6#9{X^kP0}H&aHUt!|zbRe%$H zXnKgME)CZB9CINKZ6CfL?0ba&RizpXlOEItI={01{uL#)Qf~;#%9gtG?#yNZ72UJ+ zFpX%83f7-h`yJD_JTYpb``gaOm-+o-mgPcKiazUP*b?cS(vjp4{+*}XekhFGRn_f4 zlQ_r^F9(PsCivagjQ5=`b{g(+W8AY%N1Q&!!m1k#{MHS*`WLDJ7HdcSSJAq2OpPH@oohsdke`RYh?5HMa5DeVg*It@o@W%jxU} z+2a(LeL&Y3NUNr>6YzAgyQ;SBzJ0pZr>6lo{3>p@a*y0CJpiV>OBHMxs0!xnec9Q} z)Q`Zf10Q@$FArjhFY&UV+Ekh)o=lLuwQ5fk-zbxr2PrFIT}0%zPu$$1K~EfAoxpwv z$%kfRLA=EvB|OZMlWQh^oBb#7tCbk+v#k39i^SVVgY52^jj)w`Cjfw8@?XQvSo@ob zG!vC7_1VWDYAvGOF+SZ$!mG=@zJh(H;ujk6B^iZPzG;1B`{v<@dk>kp^3lkM21_4z z3{7wR+(PU2qsUd085*jzLu>s>Z{$EJob&BFUY>mTj~PsOw^#S!cei=WT3%=R8?%QEa>MESA+V5AM|pYE0DiKx!J9Iz zPzRXPty(vdDp21C zGYwaAngciI#fm$*4;CvqU^)y;un)}@PDqKwZO&YARS2hY5#~n9U2_wPyvEs>jf`6< zfNQ2Kv^Vh%pepN~#LJ|c#ikkQE^LyYw!;GKmwvJQkk63IPBn2u z6V{Xum^WzV7SYt|iSZ2}`uVt9c}Dkdn=bZBZV(9?+lQic}lwy7o+x$@~On1d19{5p7X0z_!QF$}Upg z7;0c!Ggt=T@i-5p>k(D6Wf##Ls=Bl|7#@xoRW|OB(L;*YW`*Bq8*tw6xB#pD^g5t} zUWqO}2ix&n&^D-b3LJgLe{{xPK&)*}5K|9Mj3gx(r65sQ~1E(2vIH~xH!H>>s zGBN2F{O#T!<-(*fkVvqtdn4w7Zl0iK83Nc|-XE?E=Hl5QJ`ebbO~P&qpg`hk=@jM_AC?}2kb*FL>VVG6%fDAh0`W2g zKDBpdafI_K{WsfS_S3^vBAO@j+0}|o<(9T> zfiIs~RkU6nGnnSi-~#7A8Bs_66OFZI#S6-zv>Oq)qFdQ%Y*+web~!5!F!kVPT~Pa^ zaYIc5?zmBc6QKnt%G=GM=juVizStaxn+DMlWSxSjwZtj!QjuD3o0)~rkj%ohrl8<1 z+S}v1q?9kNE|CI8EHT5umUR7Au4X9(epY-{Iy-H;?_;cFOFk@0H7NSLxM+!T%g^?< zMlYzxxM3Mlbd9ol*PVEjT?@D&7w>2E4)5A$ECvihy+wCwCeq<5L2^X1Ylcog)GLxm zcZcRaD+Vi^dMg%y_7hN-^@nFkDeuVdZd|SDii}eo=ixlZhnRDpbBhRY^ZHWzY z)Uo?iKTaCm16=UKl_<%^r{Cq=TuW{9m|&IRMITaOuN-5RQom%s7j0h!H1=ugUj{a; z=ULfDj6u)Ut@?Z;!)G9qzhPtTB9cKjY=XUX;*}smwI1l)$8X5pO;$^46-x>mT^w07 zOpSVVsVfg}KByS?wNn89O8<8fz1TE!e2E|lA*Q;@0m+xE0EfsC8fI;BduMpdDt@;`H6>`ddfDfl!@6pWhGtoc>&)>X<#eWO4C@Bqbw2uWUu*b zMj{{%)=T8tvf>;b7tqlJBE&dYMpZxXBkd!hjE7^uQWQ1RIt$!M`CmjvS=Pg0@i-5! ztfsJ!Q%P)GqlGFW+sSiLRUdQCt|LZxMe1fOOk4tdqdbXB5ji%D!f4&gkz0%?t7X;F zTMVu>K!Ax3UEXdsZfQ~d_frS^s2|)A{u_DtclJ_MoEQsx^o_Oh8j=0Bs2-AW04aEk z=aQe<0nZ)Bj@v&zJ9zn@iX@b9G5`Kve)L!RuD=`G9!kF};(sr7C4U#4tWO*Qyn|=7 zi%gFzOzR`ykVRCM7TuZmO_xZMcpBNbA7`d3YmZU{?W1gJL$#_+z;NG~J^No!9MV)$ zdG7QGlPZFh4k;?WVhgVwogD5o&35&GN8rhU4t84CGSmhdQ5^WhB8y}62G0_|EaG$c zvbX@N{;19p2RA3r-*~%jiO_Pb**h1OHczsE)VA8hd8HR>W=mTL;{gM^`8=p%0m(3x zN5_0LFVzZm0H*!ngGs%5FXj;g-nDg*v0GyF;vZ9eTC6O}` zs2L|bJMV`)SeFs}0CAwU5b&&q+jRT#KuuR{j$`OX+w!x$iMzRc$tL6!eHW1{4p$0$ zhZtcy4iHo0vYdxvkKGpPf$*h-c*umBF^T}j)FkKHWE66M>|?JOP#*RMK%c#fIxRms z$gXbuqJ~QItWjWGqR>FC(hwv(;mBv)aLmdWV=DNDU=d+qB+cTt{gtUw?z6@V>s}zo z7?BBB;SbH8Q8pBqm^EC_^~@C;hhCH~sqxc$(s2C{Wfq}~JA;VYoaQ&Q!gwM<7gF66 z#ucRSkBY4x78MDaT-v^{5v}{|u2mdz*+N8TL_qy+<2AO}qSi;W zDzFY#N(=}rROMn9cMAX^|CPPv3+H`pdY}1S8vNvH!H1o1OoXxs0HvI*7lor3pXmeO z#G5V_kF#Dab!}6r0uc5GGnnS~VGkD3rN`dv39+SU__g2wFC<+%GlP66a_<3f;gMT{ zG@M;2qxprP*kPCE3o~)a3N8aKmKAem%ZhVbCLeU{uxIZUC_X^5!pF30%m}_(4Ek z*3Pu{f;t|S9EfMQ+4@DeJ?EBf%lPqt3AR;bM}yRRi3=ZTPTSj~wG=tB%YeDpu*_JX z8{mu4$l|#-<$zQ-8e$-_rOj|^Oe)7F^|3KGz%s&`GW3cGaDaO|^*lKBtxkuUfB0w( z4VXQ?NW@!z){5#!qhEar7P|)7DdPwWXETK0L-hyr0xLxwy76w^cPe-0q&NBwus28R z+|&Zz7`YJ&INmC}Dz2UUR<@3MI0{JWmkazb_|>IpU480YZisogdjz;-E70)%>eSC! ze52*Ne#D$-9N!mLmXA|yZNz_9$3{XQ4Kn+0cYU+SE|bbBcRmf}gx}ZXpLPGTp5Hhl zWTU^QplM;gdFPz5vTxa7{rcOT(uV@dVs-$|eujt%RpiIY zYZ{2Ra^uk=UB7;_R$6GbJX{GLd3PpY(74B!^Ft_|tYM=MAymDbey%T~x|JH67mbIk zG`VUOOgb**JMYt%NyFMr#QPqrG)=1-B)!wk*vM?qQXbS_sq8)GSq_AwXgjD_#Y)q( z`V#W6SNSa%0=h?T`@YXCx3)L8c;D>awH z`-9iu(O28#FQ$;XTDqByBI78p;qwz}X#1rSdvfy9Z>yYlIGIWx%V!F0)w(`$cD726 zte~$*anhyoux8^fiI03CoUP%;L)xQVDisc#{M3P$498Nog>XpXu!z~!qa@-2tRD`^nc3 zdqo7$lLE^-U3J2aS#jQYtL5U!mmL-NxF3M_ax9(l5%iwM#{ib9jNj<@t2lOUDI zf!#j=<~dUyz7OaHn8>J7lv^F&tav#MVaFA$b_mM}-aqIXxoN$Ti*jf2OyY3#GYU7+ zW2xK{mbkX|sWhgb#r=O1CkE~9TuiWVV&gzxY?}bSDcXXvxT$epS zNj`#vHRqI(E8X1MBl6M~A4t*R!thzBF9dT96F1rK? z8mubN9y@Nx$%x>GuqVcD`%vXlZ`_Q5L2eHqmz4M-2@yUT-VUbfA2s<5CLdO*QS+=B zxRyOt6Xxj*6f}XKe83_4SQ)tXe9$py#t_l#AznP~PF3d3#HWoK;Jaa7Cqav9Zz}|pAzgk4H zc6rXa6mPVM<%VrN{=Sy_;B(wOn58mYO1NAsVuGJ1qadqr{Ij`}uq(91Dgu{h&y5cc zWl&qc)rM0f5D>aWap*Q|%nXB5fK@WNyMp^+d9;^>kxmKm^&7Ra19Cazi}neIm@ze| z1mPOyLJjYxu@zfh^qz&fB3OW7$@t%YWib|l0b_9geaf^vpZq)eNA^6(Jx@%;ox!hp zW|FQ=B8N|=H;YTM9f}w;rtlB;qN)(KSgQjt)HX=Z6qA8kPLl{DYkjeZ+}@4``~%kI zB-v*!=;_=4~ahh(UhUnhZlx%YOB|JgnX9eO&NDX#Mcjr>C1K^}42l z2fF9FT&DOJ%1<@HOth7(JYk)1obfMiS{f-ljz7P~Jbo1xFrVg4M(iXiGX)+b4^o~2 zOs0y`3!|}dSN2AiBFD5gKC_Sd7TVt8vrnj7x7n&hX@+HNp{O4H%M!F_Yi-b<_mnk! zE$TC1Yz2o?<7GcxkNsk#X!l0NEMiG$gCSsNGF6y3s+7ax^1C1ThELtg zYRISeS9^(8AANK8nj*E+lFfz~n3zSJ*i;0TJp0`ZNx&f5PTin+JLk>I)3D%Jt-aq% zgH|+iBp=ZQMV*^*drzY|M=M>#+$ks=MPV8&AFM; zkWhfg(Q_|xLker0|5oek;PUFarPfvAbaXz91i7qI7<%~ws}d*}`rZVjMNJwopk|N~ zJ-Z9(o4sYkPf`r}itp&=9(;NMe1n?ghv$oz*|c(P9#sEl>S+Timtznymyx?$z~|WN z3Sh3x%FZS-wR4Mk8T!MDtZKTw$02^zk^1RW1YmVb{prcH>rMX~<2X-@RQcG6{3vHt7{2mK8K8;zgJWag?x<#dZ zZKe0#LA`aZi#&>blJ*cP;Ly`CKDeJ?6!rrXkkhN=mP2yv+RztyvkmoJz3H-d@qYkz zBaMSZWGDg}_PBjvI zz&E#yIQf5y&ikM3_U*%o71S0Lghmr9RBeK^p+;iF-s-kjOKnB9u}4t}X-Q*?y|=2~ z)TTzQqNtWyEn1^)UEe3qACMpNdL`HAbG^^=eH^?q8F#(@+^NTDLBf%bT|cHnn|1`O zvq`*v4oBu~@+7dHtY7K+6kH6SQKVr%TJejGYqvGviqyaLW{99$Y40E-I$vx8JzYzT zJp90EDBnJKM2Mo%J0aPY+a>Qa`?eNj>{DQ!53G0f^qPj*woCF@LO^&f|LlDG_&R8C z7BXCd-iKPO9mQ=}H*46igH#+hS%TwV&8O>3MfI0w^BHF)7l_SN!sYIlGp-qBqcJM! z4$KP^eDLZ?HRsi9;vRt4BtdB^Ook!iB?2LDRO#>>udjzk6R1m`>1_I%3%-m^dK z-?OhW&NY|5yHpU;r35Xk{8nj_YNYuMTlYNXgSPA-CQ#$Xf|q4u&)#EA0Ez**+K8CXUp9% zat+uj{5@xr^{tYaF1NlJIM@)fTS**Ig}dPyb|9k%762fqklTo?(3c|Gnr?f~jZge` zVh8rLYKia7EqbN1o&7LxB?NTOKXvr7Zm-T*d0PP2Cqb_Wx=V3ZwzhHlY)JNn!nMxg zzN^LS0N5|r1@YUxLw=Xy%PKJ2l&jgz(#v0nW*H;G1*RaZGFHN&B&lLqc9I^L+wIFpFx5|PVV&zdUfYZx2HC|JxwjF8~N;omj8 zQqQ2SbPJ@*w7FieG6M#3m&$L%BeNQPPV+0%zgY5N`c!r&kul;Z?{o;!ptWnF=Vq*C zpp0Qx(Ah`Ts0-%?>)leAiV|youGZd;O+iq@X+CZutuDjqcK7=qQD{*DKq;G)6-4ZyIXLUDhkYOMVX64FbC8|JB zuH0cHnQ61IG>0iCYd(?6pk=v1B(CQGfny`kGnEY%HnF9j=J08WSYJe=`2C948`cEi zMnoka1Mi2$yvZIwL`fbWb`Qh)6({Eh1UyyQ=r%{2iVGnkDi{dtS#9}!EBCj_QA~xa z?%4zd^nQTrz7V6vZ(j{W&VRF=mgpW!X(s4QpRYx>mQ~*-MH_ zCh`crqH?C|ZR^Vp zK0zn9b^sHHaPA8&z#IAkSM&l~B;nzq)*PIi#^JfaPf3yrrAdIo+Po%a9hw?Hh^JIm ze#AE~d~Wez{&ew8@girjY9eGj=tJZ^@PMYExgCIB{(6m<9b2VM+-b#c4rm6pasGH5 z`ok~n+Lm&->f@+@DhCtTe88G=pH#_6bXSYPK$yG-89N55_q(1ZPJvf^X+mUI^@a3c zr-L5-2`|Nue+Vv;ZU5w27s!KnaNbvyN3H1*>k`}UxTnH`6|{KkjjNvudH%{(Rz_G| z%hR-h4H8&9_xRNxW>I${pK{xqUc1G*s4ZQK?rBDJHF2P=d#%t+mFbOjQLcd0S@o9H zT&W~-;FCD-gH=8p-7Dhp@rgM;)I#s0bIzA^Tl&mN5gJx9)U&j3!}Fcnp+FwCzz`g7 zxC-|4f&C0M;Khn}Pe05(K_CE5Aaspzux$*#*B#!xINe`ku2Gw_Bt=*bEO@;_TH^L|mC`WT358XW?mup#kzABn#%q=J&8GMmu48v4ptF@cvJz zagGyjjPJRe>MG&m2PO|+QB$-koR#-FjMQiAOu875#(!hcaRJbjc&x7@qHVKyNw}Pt zU$fUI?%(Db296zB7zS&2WwtnE&1Dg09hYD31dnp2FE`ILc;}V}6~4Uk#o<>q#fnZk z(1pEaxZQm~A&CSSTjc5Z39SqUdd$9X``D2Rzm1fS+L`+wppjk?tnho>hSfkFziZcB z`4WoLuk_7r`yYU9fREu|+jLa?S%uc(OUV)al<>EyJfN}RN5VVze!G0{8S$sxVk|P3 zEi61c$}cD3L>jHutE~cDO0=sDdz$C&xTrpLNbs9U9fe)KcHaAisy7e(aqo6m6SaR zZ`UqHAx4@(a{_T}Yz!#v{Fqh~ojORE1sGF4HGVAWy(itbM@+gE&h$ziR--VNYF zvDB-a-sZUQia8g#D$T^hc3Rc%uKS3-rr*S_?Db6QthfPECDKY~v|kVRce>5GK#eO@ zoUwYByuQKN)qh4)L~bH-hE27Z>2)|fNLCm3)zaA8z!7DWk>9_QRc=0emE}e;P$%QU z^XUjp(F4Tso1l0xw{p}hFK9IQJh7^{dToyK6x~dkev%vFufm!N6(8>i@zP;0L)U8!ZEMKB17@2B+k^}y9#QgJQVvh2f-OuDN$D+dyZS0$PX!w9keI^EL2p<$1+F}01P(9$ z4MPkt+nl@y&8?J0Ie*kWW>Z<{Z+{`F#Ss7I{?S=Uhy3j0!XoE6_aM8_*iRtv0U>^X zzQRtcRQQ&~Wwhl%@vl|RJ{Sn2W!-MhHTf1ym-Z&5+CW`5gav-wA}#KALNB!)p6<*E z@GpZ9W!KTWofI#r(C7@Yv%A%<5HSJ|v;J30BU@?KH+Zl-b~}yL+&J>UPWZB`r|k$F zJSLv*tnh1M$dMA0<#_ulMROx*H-_TtZHhB(dEp?6c?rFf2(W9O2(B@y%H@@|Q6PR&7(VO4#7nM}Jzsa)Xtr zclecD;#;;j@c>^lT3q4ei!X5qVcVt{@#t&{4c)+6E0`|@c8khLWX30S!aVu3J|z$4 z?CY_OBDbKxA`gqt1D=YERN;pJrmRvz&&7@M4J-WX6Hj6XH~Ob_Pu~OL2xQ2{2L^UE zn=LmTl$Ool`1IJXq*6U(9A(F@l`x6+vI$7(n$*4F#W^|xDHY&^1y(Y}9au>$1>QE6 zXOxj%(ik>1)9B>ZxDo|dF)X8L54JKJskU*5~d;#OuFI9eUofSx z+@SHvC)9K_Q34U*mOE|_s!3LlZRgZaMCQsP3@Oz<^I?d9OpmAc@; z`=NTJo&2|jBt~JR3{W&7E?aA-9-U9YB&B|e<6URigfJC3FKCH(&fj_(#JWMasd*>K zqetB^|6yX6LC0c_qNd)wP!=&5uGFRAZ(<4KK^ziHv-?{=naAm@6z zgZZ#};08cZUrW6?*utrB&_*D=(__f;WsllccJGVm`C7V*V<(_Ild5*jk0>@h0lm0MYtLqJu9G z6cJ*eX&oABrn}u;+HI`q)MH>$pHp}iyo5ZwK0^iC&#Y>M@MLobF39+}>V#My$L`aO z55iq1!;5mxd56Hq!Ak>7fBb3frR9S|1!X1Z{V*60gHQGJU7IhyaX=@=E&=|!*%<+q z!}YD;;g6|edDRTb{SUHMtv~8q`4^TNZpedN5>NcsU0V#`G=r4sM3e=|4RE zy;PYO#r)7Y=+SUipqFoa<>V1uP8SDpp?jQ1L=*rG3Wfq&{Y@F6GbE&MwwnE~`SF^? zp<(Wyzs5OQM`V1TNfm>ewGIcu&-ZM-OW+(^Q_mip7;#b+l0@Jg`qb$2;qvAjNpnmU53x>$a_ zpL=Fr^1VC;#XakaHgOyhq`~w)&`g)g6;4D0lnC{{a7#cr!dEphhbu8OHGo0CmTBwx??B*ozi{n1u==M(c@oPI{$C z%xF@Sa?!#|b>?~b-V4;F(FR7lw})+e4h5oft-zt^t;QZcmKD~K<{_UCD-!c^bwC5q zjk9*-Y(gu_-@NrDx8REo2iEMMi4OuMq{NQ@0iq97dx7;6ZLCH-#=vvf-7adr3afEQj9v;KtYc(H>!-)OSe0`^#iT)UY(*)#J{ zNWm-D!LPSOi@)Jz9CGCsz6?txA5Vkxjr=k%1Z^XZ4qNfvySU44)U z0PUEpTOp`Jw z_ugWI6SA49vq`{2d5gt_zmKKj#3Xe`zn0|WF@1b<<*dU)LPfUh)-b8!k z-&`7m&j5FGF;@nb{3U}|SAxq-UXSTa#S~}`y)HDQSdz;#c5WzHC=Yn89z2`ea4N(b z#0qE{alCA%INo8_i`|7@-aD|7=!#!Ec8=UICl4QDKPCv`SLgr6+`R@r0C?1Un$;YR zrbT>2j_sehcM>~I`7y!~@VsB3jqj2R|D zau8LR!sGG&k|FnhY!e>?SkEdvJ8+vU^#H+s2#tda`<1PN1R*F+tISb}h4YQUTwF>x z6&CoDMGAo3DL^CzVTm6Qz@pZ$eXp?oKrOCVUjT=~(QIB~KR^sEqhmpcl}4&<{!5cK z?UnZ6Nf<2y5R3e6fvIQZh>{UU3{y)peQiIR`zE2H(bCLhb}OFS@mdfA+ZcU;;Bf5# z&)h+ZH3VPXL6rbjIRe-Er~C#0z&*TMGW(;^a`(8b4@TF6z@zL*&>yNIiq2JEePQve zdw={ClyttBfH)L3JZCTNL;v^@n}xuC2IC4#lL1O#;w%M7Uz1~4Mx2j;`5+w8pAs44 ztET9Q0jub*8DRg2KaqC}SyTRt{hBMhzn^gr!{l)#Ghpu_c%j`=czt=C$}rp$3;*aT z4JZA1+>Kg6$9@qemvAmQ6b1xTuC8fhL5w3u#o8BrKX5i4ruS|flbfPW8_k=)g=ZBK zh8U>dbfAkAhdL}^S26Cuxn&4-Jy=9HvHa_lkM93Fs32O58ZglTYK)z!C{X2oPb6EcTuc_W{SWo7Hz`C{>mQx@ea0%~lx zb4X=Mo_5|Yj=H_dxR>SczO|O=^j0>IPW{i^;T)N;czPmAneXr7vLNJw9Y@T zU8)V2pB+fv*H;orBu0t>zEEt_XxSGY{|cR#-vNN*=C>(0S$<|u`=lQgr~RlseAi7s zjQ14<^v{KR>!nPAT>9G1QR8s7X$^l{Qsk|~y2lY#t9yy6bwjzI)5Y@YegDz_&Y%*B z6Qxbv_heD(REV84vi^(3c|3*N3{5TyE1r2&giJ67@mp5znB-W^=Y*V6whfktM z(qsEOH$P9wdgy;oS}40#QJU-v8rRw7uC7NL4@BQfbr-xLmaq3l9V|K~q;1}KCHT*$ z-Vd5fpG^`(UJ!>2wJZHFL%5?o)86L!)8{E!Ki6iehRuvhJ-b3gt+VZzuJ~6CIi5=u z9!`WzOe*N4tlz(xWY1A$YZv(c4Cd^2*F{)FS^EXR&kmq>-{3!2js>HZo!4=?JhWpj zf9w2s4vu35S!(A(X>2|G_nY7mqnX=!YV2y^6Ge<~`!0(509JN5mbU)!(_o zVT>qQCDZF$O$~)woJxxd?^>9oHJP^-ME*Qv{iNt1sbnVg{@qG*$aAld&f2Aa{mT5* zo>t(FvdO4^QNwoq*iTNzlJ<4x%F_EHjf-8&fvO_a?D$^;P-+xpP{4hSF|h@Tv8TL` zWT|Z|`m={D3h^`AdOTaFki~!{c5ipC8CezKqg5@H=@3bm_zK87Pm^1`?yS}ZO^c6S zM8}yUlv0?w-OX;<-3|g=DqL3iaLpnPBqd-$NlvYn4{(60y&0@#jK@?eun#>M57B|w z8-p_{8A(bH+g%KmFOQ-`WBo-hQqQ{`Z>_kR8#KOSDD@r8fNN*Hvk)~7GF#;o(y>*;c3RQG<+H1gwd`X? zAwnRR*QxX%KuTj&s61Y@PuAo6c`Xa;qQdBXp{ZEE#z-B5BMZ`4(rb@mkV;impP2G0 zJ9a|}Wxnyf@DW)Nn`I)lYWeD^e!s^4@c4mzS&j+ripp*H_J7RsSeDpPcvr6Jq> z0TOo=dau$m?X&X=&zPbsz@;GA1XvyLep)Rrv*TBu zj7bSG8(_rF1d%#dVo>0^eV*#AETHI~4OPKo6ijMTjSNo8%Qkb)!6VBVWwWD$Z-L~5 zCFo=`jhe5_O{QAq4VR{atE|Q4P(k&2rsZy@5>rks7X%?RW14v(@BOx z40V8)3~QQ}iFQmz1Lzv7rXpkB@d|UHCN3cOgVdxYkD|sWk|!_UEk2FkGLPY<8=gEt zve@NP(!Yc76dU#r`t%8sXKtY7>UZ099b}QR_s9N`=%kr%c0>YOiB_QdQPbSEG~yKC zd0s*+xFv>XqtgK_KEWEe*hcEr)CT|qUGP1lq4Dq7x+<)k-601b+Rp(2)2uL1@c&8_ zm!q?N^;L#f?`mH+kKG%#bL5?=dY((z%nCBq03jp(tbRi}@P|Ir4uH-kiQljw7MjYa zgI!3h=>X7q+^1*$GVm^~xYG(b{4teBdCKoIJHZK&Fj66-)p)uEXB zUK$yib)$_w4o=zZp@VMA76%uuzl4`DzzZbGsl%5v z{%jcU@0qQ*uCWtmIk(HX_7v<1nX;R=(uEA0SqwAlwYWVd;X|UTIcmn$6cGviG!N5- zu?%8MytTEJ66BnNo?v8ts|kwI<~_0qjqB0a_gfj?4W`Ee8!7Dk+FQgU<9Ntrm2cLP zpUST|2HE@?6wCW*b8?MHE=bmF0C2t&5UEA-w4-J z;|XK@w;t>6+h;4q6c3`=W3vgyjP%SjES)bu*>Jp&Yg4gTJqYV+lt%Hr)h zUCy=pH60ZJ`&=Y|y1MhcP7p2-IE1~u#cZ&y5LGcY1%Po?JgwE~6^q9uGbiJq(4Q72 zK3;tgRB3gmXezZGt%}!i>ncq7TUoE53A_I0IGIht5|$ zeJ^TV`d5bMwxFVr9Xw0n{`5oSOVBjCaRbPrbGE)n$$9wSFsjGm(@WM_w`&r`5@Tg0 zBp{Dm5;ClC7g@<;0FK}|5_*3t!fpQ5Diwg;Wmd$%^1dA7zg~UHM6VQyJx#A$xPP zwKYvvjt+pwNQY;Hu8Lype9Iph7ajJD4nvd3nhoV9iBu+^EHW>yhpawXBaG!^_(vjc zb0(s)9HDj?wP%tERyO(%Z6M>Q>p=hEfnbsK*AG|6bHSFeI3dqftc#{_Tzpx=hYCNJ z@AJ(161c5-PFMuTlGp&v#3`inmhnj8=OKF^=c3+W?p`Guoov(%dh*qp`dIDA*`r-* zg>-++YV-(?8(STZy!R%E>^V;5pWd`+^LK99BB2;406PS|+)UsBlyqx*w^4nsf zPe4vk8w^;nigG`uL>|o`nTCBQc=Hzf-N53)4K8fGxWu(fB+H~EjlC28JrmyoEc-;x zlSS&BG%Sn$5x8vTDgo)Z$}AUovkrdD633teA4Q5bf`ir$iJ!?nUnr3E;M( zAw2tZZu*^qkYWW{M&#LEk%_rpp0v)20$cU`fwS~xQw1(4A;L=ge}I^a1sN?RXX~&u zUMb&kA}{_Yr69nl71@43)q12Xi`pMee?=vBQs0HvvUsOT#|&x8>`>UJ#JOJ z^fbt96OS0~Vm#DyM3FQVRO)ai06@ivP3lriHw1LOgrXa5fuDWYshpE$jF{ zfPsS3<1ezgFIs~KtA9(qP4ZMB@LXaD#qaH2=HXL{jFmCI3=(~j{tu#?qXrMu0Dlj> znt_uV?PfasVzjHyD`euCwV7bSFxAI9d|ws(lU&fFV7neVtZ93Du~&O2@xK07W|blf zznLY!jWnZ41!rog!^!^B?<8^4K`Kj~hukdbaO-5)U%_4+lp$OTjNY{BCL6Vtb8NZS zs?Z42|ElslAXLN$v4R#e0m1GDpI**D0O;tgxm%fuh5G7|aFv-l^b)bi!l*nD@H5yV znFD)+YRTY`z_qrgup0Ub%Rrf2@MF=@7@>(Hwyqd?@CKDJexY|gcrZ-SmPi8drjd5v z{m&S5Y?V1f`YkdXdRA6YE+CZ-VIRjLqGt>gn2{uFpUPmPh-%n5OX8t;9qP&yS;yV5 zSMnR1R?I9P4iUT_N9eoz7tF!&Ir_X@mkmXGPyBC#{kogD&L*frW>j5THYdj-+uq|_ zrTCIYV6VRcst6#nuW6YP5BTj@2NXKO3$a5^&uZH9fUbi@cxm^So77-zp3oIXbq3ZW z9O1Q48oV7T%_#BgMsmi6=gcFdD=MP;Mz1f26D$(#2NoO!Y=zpL9$d1R7xifGh(Kh; z)7m-(-u%g&Kb>}LW-g!W!n#LDH3@v!E#iIY#j0;nEGJ2=it)E#e8?`Nk~3HyAvjJ^N5D0z>AoSk+V)r@WnUr?Ik@;g1 z^y`=R>&^eFv@h*h&j*s`TZ3id7L1}f4r}Jd9WfTKekg%xD&yYXD5isv8}o}^7)ZAA z*i9pmcWd$is8Al~dT`+V%=IaK86759E_SGmDG#1H?Xvq;80ezeFEq~U#ia09UHK4H$LVro&ke+r&q6N*h+~`-iWkRn8+v$o%>eL zZ(P-2N!eBw3g3#0NAK5ax45OOX@9pZYc-UoKPo2GwgJV=8vP>z7O~fwALEVP>*A;k z-D4V)j?FLURmN<$$2Zb=Hnp-ojF)yQu_%sZmhT*%*0MKMi{G%K#)Q?_KUO91h=#m8_h_U?(sY3Qy6j%uWfTB z{+he{TOc4l(0i0I=*FL28*6nGjpfh!2<5%+$%M4={Z605Dwnf)-<#ZLA}`lno=5_4 z;$3@RZfmaYIV!a`6fxkW5z0!(%Det`?_MN*zv=(-hLva!qqSyEwb*cauABGywfDH< z-Rpdqcw3>-wYMqt*FK~*9NH{$W)FvU-g6x2*0bukQM{F7&NicAuv4gy_|&0^cuKt0 z&~Uh&Jti^GjK=NhDKS89!lCIgeX~4ium_3W_(2jG&vvxt`||*l|8XlWz~( z!KrmDU_Le>0pYYVT|8c-9ve4)+4=jNz;(kI%JrzK3`MfsGHNe9n%P`v$@R%%o~;*? z=gF94joFWQ8;jJw{vrI6h6?A!NQ1nmFvXD)@RO&2CoW_>|5XE~mmQk(ah@S;2zj=; zi-78eocSgJFy|ZA1JillFU9Se(sm*vmsgekYlsIrRFV%2e z9z~sj2i>6Mnj}t?#XNz9euDmP`45EJ4K>x;J-_6nr-QiDov#^$0q_1~*vA_lS0Xz#?up;pmaU#emHv0rZ}Aj|-+VHgJpx03#|xFvzP5MrXb+vz-&hM?IvAm8 zvR&e<{MV$>$es{V@{Lsk7Fmr*l!kr(a5c9BbcAMwlCZL)JMhK)O9fj2XjJuEhMewB ziyk*7;Qs)NHKw@t#bq&vsswg5jxf5(*+Kj~Tsy|*bxEn5jR6W$RjPmYaE1Nkj5b;A zoY{-f8;?s9+6p$wP8#g(?-%e}u(?G*-{`K&dgm_46oj<0WYb+K?NP`{m^l*=%t@9P zd1BQ4IoX|y?g#AE8;ci+nxGoTBdljSLgy~$~6P%&Ll8;e~rjub^iGE@@i=Wf3_yj=mfcW58+d9Z5v_9 zc9G&QjDx$5b!ID5Xad2v%S|Ph8EQAF^Y?_s<$5tf6;H=FqB-W`A~js1x%}(2))M`{ zCdFsuB%IRN%@3u}%^0roxH(aOl#>Ri`9OF6nMBCETsP7V>Y*xs>h-#5hbi2$;q@UQi)2=$N>}KT)qOtv>$L3@)o2Kq&?M|t=(8@dgEzNfqLCqdv zD0qQMKp!)s>jn$X;eJ7H%8JbDk=O|`N(!~Jo~t`PfF8zyU)kSn9sxmq&RNQIyw>eY z66Hn|&OiUbGt&8}9{bBE2_QB&&kP~a@SuA}e6t^=X-%~AE|1Z@^a5qR%$Lbu%mHAA zKTib2B_8gLo>e!?nmQo)-WY8J1sCR)q$j!ckJ7XAi#Qzj%r*J%u;KgAS-)ow2m6l9 z0b?o#1QJ4tySfUoeTLVpSeW57*&bKr03f^rH`8mASbJyxz;S!SCy zuSzpjvTI7L65f@ZmM}hp6{7#tuo)Yau?G`x;os<9FYd2#yc*TsjF|PZzpnlLKbuI2 z)K$%3qaktvNW|cgu%0*-TF7kKsiQUq6K6wm13VW-on*V4fyZIh+g+Y_KTr8Tz|TJ$oMl9ZRrE-2Og(`w7nKBToh@vg$h zo^Sr@5ljuU20=G+yCgzqLNhFzg|5BJu(_tf7a7fEI8F%tf|rZ(ddR}XY{%E;aV>+Z zZ4QwIz_U%mX*cXb?$uA|=Q04^PwIs%OLbsty2ui&ue| zQhN5h5wA>t%fX53TItL0&NqFf#yu z*tl8VZM&7>(NwE%w2=jAbezgW_^dhsu1s}^+ZPx!UmFoSqgK9YlO-B_DdAASNlSDM zV^wOV`I%vbLC7s}8w?zrE|51~1B4RndVMA*gO9svugW--rz(@QT*D`Mj%+y9l!Cgd zmp6kG;zLKlYa5*DAjp(qJ=+?r^`515n*HZknM_uBdwH}XcB&R4{vz7aP*cK>~$#zSq3| zm<`@an5`L$nC*6rnI#+oAds_q3htOG$|G!oTUiO9v9D3Z^clmr>N!sw%6ZoeolX73 zVZHSgwK_P;Q^;9u`KOCzXF=H#|o!A0^(6yRzAI%+o^}?n2 zv}Yen6OniNJfbqsMzBiAq4Ny{p0iGHDMc~Turmk@cq_)L_j&q~@uwbf1c~c#AnQ!V zytZI~NG$BCS|zaBY>Bn=t2z1Yh;l*;cPY^g83y9c8=m1(vw4_H*;qP(K;J6_ECV}J zfk|VpQNw;N)*3b;O1rT|K!NeC@GC}leY^#3cpVgu%+g%@jd=@Sa{GH=Ba)Ysw7Kgo z19snX+qYnnh9O@!s96;yMPdGSj{tnkhS&OaS!TN+=Njd9f?7rjh?7av4{8OVa7t4ZtSLeGR&N=8ps*hz) z0sj7QjEw|9d^HXr3c~w+$M#PR?9prVx%8iK;%e#Hz7tnVN%cSf!W?DDPLJNxLv~BItHgKX5iq8m&n@g zo-5%R_~Ts&G)c+=JJZn7NT*_CAV7K_QHvJqE{pI_!M0w%sUp&c?PLyz#^mP z_XVAb#mF&e<1qN)Qu`&ct&l$#f#uKjPVl@LZ|4ddyR`4XU z5QrXTt>}yKl(+j{k;0T6y;;xE2LRF3nc~eH0hR`M%{lTit9WzHVxl?gwX=#29PG5r zRV{3qXWc#leD7Dah9{acjPIZS9=yLc_09o%ksbZZj+>-ZT7WqEToZWc54~4)XMVNo zyO!Rd!`0!+C&3POj|f1Yp0TwwhEy zcoym^9e7be!sGU^5EAgGWi=B|wCijy!O*>!S7&(Ub#_7*<1HTgCOQB>U@e9!FysPs z7{96H34MGa>~~`XJx3)uo7yL z)0u^g`t8@p5fpub-N-8Nvx5L%{IrZExI}EOlkIa7Oh@g0nqv^e^=w8p2=PNZXIHa( zsE)Im8LF5eG`*OIN+lX+vE7)T#lgZVyTmb~yBH~UPNCO3y&|j{?~R+bep&Z z8t7V5C6a?DN+rDn52|Nn6GjsXf4ft@V*3J@hh##jstOs3M_*;uH?DRfC=X|KMrdYU z6>BczeCw;-Hy+=9`uN*~lN{D~|osxl(dx*rVCHFA0p~l}H)>gH| zF_!LBJDvr|e*9Zdp&6K=T;1=k{NFn#mZE?=Y}VGW_)5_y?IF|r_Y$h>{EQ=;x1+BN z7~dZkY4QqK8d+=D9?_foYOMp6&Hx22l!)uH-Su>@ZF%b6|AK$C?lum$Kb7}3!8^Q)p7p8O2BqS5>L!HMb+(2iRbG zoSVmP^b$(XqlKndm)bcDY~|_{dVz;Bo8m?|At?VzWX;=`#O(h2uy}ui{52gZEyG*Z zWnRId;>MyhatKJrjQI+jfSELC*~m`hrMGI|)LpuM({Zv|O;vV{*vyL6TUG2whxkKZ z@CcZ}iB@e@{E;3XW{U;c4-FI(5{howTuFbE)}SAz_qDIJG%KpVDuX~^*x=9kLKpIJ zipXp*j?9*ku=7=rvA*r1!5^2p+J0uOM5O%FxPg@D5_$RZ_eg`xp5%wF(8A)=nolfT zg9;$DVKg1S3b(r>xJkgpkI)ZSo0!T>@bF9iInn(fQGp->-M`^BgIT|p0MQwib0J&g z(^Yq4gsWRL$Lz!leTez;uA!T)o?;@?Np>hDv0+Tq4g!F3N2BU%IIS%`xoB=coq^C1 z$BOT*DD9oKT2n6;rF{AuZhK7H>j7S$4G!fg&y4qQ~WNa)!8OZj!Dui^3Z7%LlmhOl{UbZ-qzG4Bz%S3VKOWG*!^97?C& z8k)7|OwJ!VV!+hvCh1en|1NsI#9a@_P~13xSEBDkXeC6kx5_Z7X`BjheUC6RkbH0Y z| zw9v75JJ(@9d$@M^o$TLWimGYIzW2uGBX~i<&wXUG`*Jft_uPEif z@rx-Ly7Bw@i+2ji_6P-|I#NTVZ1{O4h?f5F?h-atAEnLU*D2n?Y{R53wNi6Sd%WM_ ziP;;QqBd?hgFo~w9^_C(CS2+c5j!ay5Izb=aGefjYYh5_T57D9L^7@lV-tf5Mwdln z_bI0Ahv#P!N=F&8Px`Foc>wmVn=tDd9VRYjc=nL}kG@H7()Ka>aL(9p%xp%0 zY&y4X;Q%>O4}dl>HE4iei<=5Qrzf*KfZuH3oux#d29T<)rJo z9^MM;LliEQw$9_~^IDa)J!O5Ecu%V$Tbh=s=NI=U?MaddbZ=J65kI$6v>*nY z{^M~=B*rUwJOiDoQ2(KP@K%HWX@{!k}1nmmLoj+G$6<@@%-I@2TrPb?N%#YK+wz9Uw?!pIJ%haZ~K_ zUtTLXUzheyudGT6Yb9S7MrmnfEktYf$d93xPH|$!h!gg8R7D19=?yHJafV8lLL|0z zYt;G7V4upd7Ngf@7;ovqf$>{APiO|mM%}Jm<_}$E4tr-GvP>|8VWMe(UzV&LU6v_~ z)fLir4>=;JT$EWK@? z4Z9)@EqYDDuTZqm7LE?iD2sUPs90N5BHDnC442bS3#de#t)2Vr(gaeSbNVEc=VqqN z9u9h6SID-@qR#UV_vLE9GHjOS>3{Ffj~vs^oBPbIL(u-4lE(4fOfX5dFQcC-!fqE+ z>4cNAyHQN>Mul4QPUWrurtdR0sSV zHiXHdM!B9YAkbo&7YJ$i(Sqy+x(DNMe*$}NaUh9@oc?Y59PY|+b*H3?+(E#81=8$R zHj1^sDO#4!%>+bBT9y|nGitkMcV`e{juo-v_RJb%pU6B6B4`%SY|^Ue&nGsv=2Iw9 zQ+3yj_}E>PPv5k5jv1yw&!-r`u07(tL>v_?tXwa@sl~Z^(tlu~qQ|q32aZ*;=$4BC zr!bWjyYlO)xy2B-3?Ctyq5+F>T->{r;x#Jd80>MCcAX3e8%9;l^UpgZ`sUp#M0Rof z4*)yt%OPJK((i4TcV!9Lk$=$7iD1sU@k zWIP$K?)2nZ!!kSr(A}TXa^t#JdMsIUv-_J^{MEgERxxl`u&GundWZv>=+dPXrmUZK-uB^MjDtY;Y zKqw#go{dP0uwA!}Nm3tMwqlV{q4biEYjyM<3&YP#7 zHuy*2Bmr1+;BwV1<`4xoxAi1X^^Sx^14Nnh&)Ezlc@(WtqMx<{l>!j@~DjW$E87-j5bGa32SIfYQI^ zuC$=-W5&|DEp>Yo4{Xc2c*zs4bm3lfC5%ZlW&28l%v-?-<`)S=l8rTd+cDv)wwS@f z{621KT}J!EwIk4({YYFp5xmPa1Axb z1>tpW?G+iND}NppS|UU*SY@`IO3EJ&jY%;9uoqRv#Toe3c+7AAoN>Vr=DnHp%Ue|| zdBZ5l>Y=t7BfnZowXEiq3S@0f+2shPP=XB6!~{dq%vQ8%5cAa4{au5ZUaY08$d~3) z)>(1p3m6Cv|dy5Hla`e}T8)r5?roW?pzNPA{7seGcW0 z6e9m9ES{H8m+{{0hR;}4kee8PPYlz)qlHRIF7qa1Ix3);vLKsYRa1FSEWYe|dm3WP z)itcx_^q*9TsiTUS5bw3PGk>r*}bN%+#a4a7JVHpCD+DrCG6>^JcQ>1Vv&he{$r9L zmCnGBg1FC&Xix1@X}+hSJw^5iVU4&s9(q+Pw7#7 zL#JAP|9W-1Ym)VAhG@47eLlwPlnCGxA&7jhG-)1Y^%>6y>8+LS>A9A2`STH1NXvs} zu0Py+*yg5yDlq@gS$#gzYe^|MUHnxN^gb_MA#`c+<9 z8fwoD+ibFbxPKfg6SKM%qq0zREAIQvB<6kXr~a2ss00nwoklO!-06T|UPGpM&X_OD zB_i>hWjXemN6B?(Hr_lXIf0DlEHC!#Ix@DaafTklPgxAt>BJX#FaY5K3cjt@ShBij z6tMl|QWyD=3x)PnV?HIMua~W*NEOs39HID+W03emm#D2dzRM=Z zAaoSHXdR^KPPKo;scN7jRaNX>LtsVinXcL~wqq5n{C>{a$Kzvyq=8(sEPgm=-VS1y z26{?{3%i2$TiLjIAHuk2vKEg!t0-6&+OQL5s(K43yN7ARn7s$SkLV ztH~kqp;uV;BrV_6L{Glc1$;e{-<~45fd4>?%tfZ@>;`DWO ze|n$1AV&1p{8tBy&`(k*_h^9Ja|4JiQ)=yN)pionii*4Um5UkG|4;YVaeb z)`91ASZtVWX5Yd51q3nFm#H-OK(&4k3uJnBI6A>QqQ1O)^O8s0MmARK7hgrdtmLd@ zJg=yg%mRRcc^y7GoF?eNe1#C(K(?>>u4(Ug%R|%n>vnd4aKTj%-74tT=I2hSbn64# z*B-Ar^k-pijDf)Ag7*`>cQ(bDbpmb#M+THCmseCNV&sCxOX8K_Ej=M78v4||n0egl zxIIA!@M~7#S&QwR-kR9Ge~uc2yVvEFr>EdqePgiSRxc8n3V?6Le^R8a$@p&ero0I0 z{H@X5rP;@6^JWN&Y~6pefLrn1Gzlxq-WNo$2H-!xxxm~|(e!RW^t^wCH425Fwy=~V zu4Koe^ELGkyCLL1+4LJHMkO$GOZVnlog^s-*c+jwY;th4aib3|YMtHlVBG2)Jk?{a zR3*kjt@*jv2-U&VG6P3l`%jmvbnQZOMB2DE-hXW%#+DI<%_-~4d<>gB_lHB|93=eQ ztK;5_CBa8m;yYRC3p56V2RNvK*j7fHuRV?#4vp?ia?1T@t1T?!TuGS#WDyA?EjKVS zO>og&3!ZWSPw)ui`RDrg3zsQ>UYmAf_ewaw9ou-?8gl9W?13&VJX1lN!VoM%^lh2S zBcLE)2dq~4M7_{PyHn2dCD&W!U-PPRAv~REWW)BF6rZE7a$me1V(;F8{EGG8ifl1baDF1sWB0&A z=RM^H?y_dv$)Fo|G)4NC;vLQSpRz2}Kk&nv{H8rOMU5FzpC4)88&`u5-V~xV*OnTt z&KgpT@4Vl)a$LIYI(_*a{k)epM>hAGeH~7(ffPHwShYTqyG}Yhqu!GM@7jLrXioCz zh)D85j7i*%rt1BX3p20IH}rW!n{V%Onlgzk9sf_qf8_gcHbp68dTuJeq}M}8OxgKx zz2o11q5swRcxf{oFkx5qI7LdbR2_$lejCD?!h=8lc!DeQCW))3ltkHorkZ5=r#w?h zp(J&Qy&8Wups07XOf@swCT{E}MhN+9HgSU~D1p@R@R5a|01j0RA?c2YJWB)tGhP2GI55! zug%`%-6&hg8U5>~xS0hA>|(@XU~e}Y3q>Bf`dXQNq~htLj_}KKt8j7_F-xEm!T3Kw zx`vZ+ZfX{h3$3HN-ZS6VgOzbA3F?Pm|F&;u=NbjXn6tUQJX>|Vo0E9(lm2XD+L>rs zXLLi=g2S=YtAwCU;1d{|@ukc#Ynl1AHP%2bJ?4sAPp(Gr4~JP(cf*i-6JcNS^E{mm zP2U1UGGDOtSw>lny~(`uQ80SKwrtVJE2rH98X&Rbi2dOE>qMx+DgfV=S-cha{eJ+N z$DtouT}BM2qqYG|LL+*aj(M^$uL98Sf!{yj`%^lTVXyViRZ}W^oFtkllSBI8XB|uXa@yDOZOctQ%mLn3C_a01Y%j)|w~BcbLBpR> zylq100}Y?xSRwYYN}FI-7W}z7m}E&{Hjff$Q(=-(oiSxkxqK;eaJ%TPQ*Nx26CYo* z9%AKVS~N=N(Ij^ts*#|q^JD0`JYc+prY_p#l2-FrPbNK8z8B&HTC7mI&TtD2(fZ-<#`?v^Ub? z(ckN!%_zM?>&E7|-+hLfSEZ6{qHCJ#0*>5P>g_S&6u;b)!86@Ey0>E z?OhBulEq~S`!+k*2HS4xqvSK8gJ@8;W!}BDo<~-{7979K+>7kqv_&Dm&un0oxLCm# zGtp`4_(BFUf@Pap$yEIlpSf#dvchq1&u|oKIj%dx{Dfbn?o#IyMSt2>&%jKLJT#sC zQvv>M^yh|BE+u?4_wP|ppRqmVT?0vo%Efjvdp(eL+E3-tSYX`rpm_arPoQzJ+B9Q; zgLWG4dorIDhf*Cor+S9+=kCDR)3X4q8?V$BUz5#Xj~cCVm7np>2uudaXdaees~7-* z8)Wq1tt}d-+XZqT)yw`q_c<>{z%AHPg_-TVB3F-*lrSbJHCQ|v%mU**HuZfU@|qTw zV7=DPALRR}F^b7f)a`RJ0|c}g&t(RAU5+c+fc(Z?XcMVK2E+w*1wTBykiJ|U&(Z-M zZUof<=tHF%WnSbTo!w?;dWk-}h~IoUCp-8AJ|!GCVj1?lUPu}VAOfPVI+H{qT!!&k zTEZy|dQh-TGymH{BOUhiYqLCEFXhQ5ZrPJen}O{O~DEX9B?lzWyQF4gs)ohML1!25Iy?xRcq zKy}1F+n;>fk42&sswK}^e;-jh9S=@>v*u@>*c zoBSpkL{4On)u=GLfh4Txu3LMJ@1iR<@oi;h(!D?>om2>W$!muAH6U1^OxG41$m!`` zG3NT_*~ju-sN2eD{}UW7 zhpua^_G=1_jfCMaBA&T-^XXHue=hg4ZqP|+XZ-KJnBFd7rcBEFH{F4)f#boczeO?tSS8_OmbS3C@C>nv|2Eu9a5D158}d^ZBgH#&q~T1Ff} zONye6L|Wj=W&d7xJQ|XYea^%8K@tbp0L!(eE-*{fse&M?IU14SX9rE@Y^*efsV$Nkz^($;hddxUA?b_F$ zM`3obvi{~S>3cx)u#!#O(110^Gg47w@Wa4oc+!tKujdnhSB_=2XW~V9n>h!FJ^YZa z3d$uEzg!VeMOd%)6z*Wfux6K){K9of^<1sF#eONVN;Er*+dqeAk82u5U(k=So0MT_ z9vz&&L#v1$6oaL@pm%&*K-AH-Lp_MnFi_ib;p78(>z+5%aKIpWBksp+eX`bLpXJ=rHp`5qYO^nT z0JpDZ>fRlE`|fY_cz@D=@z;h2;t4+o*T&m(e%IMm3I%!WA7Y!+F!!JXqnCD<)609f zPs0IeQ5@ZbJ|wtilr^X~1wq4QY!3f!b#bR}0U~A6LaC6;rkn0*`C6Ck&r+7C5#qIi zDxB0i>kTY!>`%4OW3|R1{p7xxn~o>KFN$>#>M>IHP;LhFt$M6{Z#+8o*%a4-b^XaI zkNlt`!5e&w!S{s%Zv#)aD4aT;;j9;ml1qBbD zeituJqiI&iE+*q4D;JoJZ#58j;`iMjbBym4`1+4V4EA*7aiM*i@@9Uk5uYW1_m4BJ ztR~Tre3AQ*G<*-E2k7d+FP!wfT!N99k)O!=0XD5;gt9{BeH;9j=Q^&)HizI8SH|6h z0yS@e$3~c|c?m1dWhmY14WG%u^XIY5Ih{B0b0tvBL_oUMz|hy z>VXuZ$c=LRqpv!pZWp2$4a)MnB`G!o*;uBGpT<6R-49~b9Gm~miNKi`RAp^uD#-be)?N)@|d_QKds?H`_W7X!Mv%D}-kvCw+L)-@U>3Z_*7tC};g4NcMk#CP$g-VyUSHWjo)H@q;Kv!kV&q z6hKjvfvtXTs++q1QD9Ng2GcJ}eA{>=`u*M2F`?HCwSb)(UyKIAfY2A>FD*&$QrKs& z7yW=cNp}8<6tudqS!$ARPlr(P$uzkgXiwcFoQRQ-*N&TCu)@R1SK{K5#LxYaOEfKp zm~5+h1HAcziEVFx$DqD56x(NgF5MYRg~>m9w1x)1_0J2D`k1wh;l5-v6oSq`NN6@; zdy+hfuit%rBfGWlgl(psAp_nmbU)FV34UiXs>djb6@Z7V^>6p_53O^-I3BZxK_-;M z`nS6k7T~&f;;RDW4+7rRT3Oo}%dF(a{~3HjUwA8Bzc+JSQ8Mi!LNE3BkDJ zt++(I7m`;nCe$Bn<%gO_}+-1qGD)!Jo4L4?T9xy=n6ME6Y#HS*POO zL|dX~BpiLmAncar%3VcQ-2mtTP!aZ)r!Ww@t^HjsK}fc{8o)9YcUH?Of71kbwdCHE zB+O01)o+~!f$!$=jEIXnz)WmAbJ!q3t_TQJM3Y~G_?f4 zfV;BcOpl|3L~FH6I&)t;w#{O9^@lBn;(~&YB1* zS)u4&^%?0Mr}|4tXiKWIU^>H29Ig?6qFEoeZ~9yBWWIzyW39f>dwC@C!C%3|ysn-` zNLBdneAiFzOf0bQ8@VE@B;tQ_Gu`#1uYka^(AXiw=!41cI;z&>=dnVwTjNjpY?Vid zCn{lOwQ4Nz16$DsVps;8%>^UUGgI54a;r04SMFgT?TMAc@3%{4>(SYFagtVKz_g!f zYyG7XGKO)%a!QIw28wl(KrXe{HF+YXVj6d7@aDUVl!9P{Z%pz{6R#Rj;X+m-ZkP*F)ZVxyVKX7&fBBmW;W<`;(|d>^*U z+O)DJe*MD16xyLwMeb;uoH_smd^1uL+;a;PLO(x=OK=ZM$WF z&L!6vFC{kK0put{PSGuF32spuu@M4{*ouiRBHQE^N9c+CD_o}Lg5Jv?9Tvex6u+%59(oZW)5GcQAGPOm6~dV*%~csPkQ9yw zA8zg}*QmHynVVQ{rH&3L=4Z1udZ=QS{xR8WpJCX)o_a+%=i9QOuIzl~-RRbvDQDc= z{qJ`3sIWBU9=o!D;#c32o9Zs#QK%nZ{nWG5=f{ft3H~$PYwnM({P==RjJa6wC#t-w|FKm zG-rjXBazziBbgNS&+Ph1y8{jQV6XABVYrM6-vpRG*SE!$Jgsn2P~rEsX8{lEeXh*o z7s*FRW&$FHT+%cKjBsSOYBCF~?q}+dXT453Uz)9ax%8VX?izpkH>%*>VzLhPHM1O> zOSMnJ7x{>mu(?|BS^dX{i6|HF+W|21z^d{TH=&+799Cp(RQuP5GCVI^2ye4IuFm)*A6m3vz4h)H5?7k-t#R_SbtG6GxNP;zSamp||f%o*1Dv+!WwFs`OUGU)@%76C>4floLmWu+9*c=QBag4U%h|BIq5 z9q8JA!vCDjXvMh=(bZQyIB4F>rmgGNR!l-CJ!d@Y^1}jDklW zJ#EGvYNHbDcDvT3TGhP#f0!>7UWuF1@AptB$U7s7c*S>OhRwCG#_}S!M5zdBDS#<|o00E^t8f1EbHm>gLCI>F@dkkF5{^VI zW(c1-k~#@F?Gj~RQu!<^?RZ0#__@UO&tSu(_WNrr&JPP}gtUi&c0z&t1`2_Ie{L)Y zMH1;*I1)JqdtnpTt7Wuj&#!2B>`bKLA{!D;&XKa~1=GU%+-BX3I6)DZ{2yv%<6>{- zJ#QdMm5vQ00d6Z6(DCMEsV_ua9Y}m0&I2k5K|-7Th2NED`+d1CB$65;q^JYsLtpu6Nq%#e+BR(S@Oxng~5tr|~!r@7P9x9Z_7; zi?s42@D2r6l*-$yAe9`f(ucZ9L0a;mwpc_ZqFbamE=Fe3c+&$TA*BTnyTv0ZB)~mE_AHf1W!a*v7jbChVOsFMJMJ!u z$%HVt)hqYKuZS*BES_x1`f6z!U#S-Mmi2f5aC;VtAtJkGJ5t z-fui0(M27wKsHcK)RcM-4+t_N1YPcElX2X$mYfh0+3E*Nm^=vM6#Fk~tbrRGO1V-J za!GgbglDf|#yQ%`OB$~pl<1XV1ZF{szFm1|lG3J3$~appLvKmh!0@xRMd(82btS*$ zWi~Axc6!=I;6oOI4h1%3xC};unzX49iY$?-~p*r7xwY@D12uYnZrlylGI>W z&;J0A(w>ixqS;sO@647e;-wh4BI(3Abs2-lM!KRJ3p;?4h}xvsAT z@|Hy79Ni?`^oV7?K{;LXgnTS-<^y(9RfYiz##O|9cx4hW$rHRb;%Ix|NcMfj zUoWYMMrcboW<=OvIXqrnvd;T5I*^Q?Qt@*(jO4@Y+IU*%khIA>9Lz9Le#=p7$>FFY zzm}I<9PQ^{{5%=uK()7r6PsF9aN_-(NeP+D463_zO9LsI zU=yIM(AJA28L0fdah5VoyQZU8TR^}*(m@O<)v(&oHqjs7HFB5CCceu{kofd?K2ZneN&ODMM0p zQIbgCt=aeD`vdUOdf9crrR;=~U)I~U-hgP)oyAJY+~P>{`RDdQ=bpy#dNX4~)Y)+N-r>7Q6c!|4~a zXaz$-n>S}H->NgEy8-x_mkL*pHcdUr#s+k)c^a*aOlf0@KKZXK<@m8vjqfnw`DnDb z@-6uAV1qJC#R$bF`8Zx|0Gf@y;E=pl8-M+sLg3W=Y({aOBiP*JB@6D*X0q5m$(azP z&hNrx$sNpgBWL#032zUCe@39nHGWr^^$H3EIHSzV+NyspP9qb~C@#3Ai!R<9Aq^JZO&LiCQ=+_}Y63f!`(FjCG(> zimIfvF|1@E{Kg$cC05Z{Ijyl7Iw^A>RWeo+G+Dx@$cAIgLWsu3%*`HYxG|jdgU^R_ z0f6j;(OvVTTWGZHe#xx$N?`isl%5>`K!N^Zkzvh>1Qq%7umWNv97&9dbQ8(ev%?|p zs>q2}GmRo){ant2(EGR*DN-Q;u)}FA@J*P(gNutr=-A9NMV@n~6}0~7sKdS9uk&>) z=YU{e6qQFlg?hUHWU0U;{V33zawDuahS!`VoNBni~T!#`-nveEHUH>J*>KOnxo(p>lo(3GqCH$7l zm#s3ydI_aCpCQkG&B0(9c4?&4uw={fvX|{+)-pCxbnpq)rTUR)rxaY^@;_N0HfAer zvU;paM15vUY^;+&?B-@>0{(+6Zis0X$Iusd=cibf(NA7Q6)g_$E|Txo;3zD0UGvnl3b?)`UZ(4cd3Ot_z>}*`{0IGD0>Zypa&{_3(}Lq8A$6u4kXfgGt9T zvspZBYaipB_*Az&hW>%@h>-nEve|$DO==7oPc-|k0YDw<#ekMzIZ?vD@T+b- z#CQwmS>(@%yh965NbdQNaz7Rz9-r6@0>~mLNQi`~WtA*FfW~fpx*|YuL%?z=Vk>>J zkW>8(409b*KOp-D7NDB&b~c_(d`&J?&{)8=AEISWo9~TeFoQ4=#CwM1V4ieBlbejW zewyV7LJh#pvYuWmI=9M03|ac)yGb2sLI9l9f?%HEGip!Wcu_{cDA;U#2)=8%wkv5f z3!;zNV0gU5s>jYovG$f^!MVs3(n@hw1NK68RGD5gj!#WFQpl&br-Ju0a&z|e#q{56 zuTL1hdi5`Soh59UXvq)glTgNd2eTN`IQ5PV%yA2;p*Xz zwatkmifE7`S{sW1%k_M&9ME@hjvuKzt3TEfVzq<5Ur!kt+vCfJ_pY{2roIU)39qxy zb2D(`QrS6B*!mvu*jRm9XX1G1Pl$KOP{c+5ka7YNcoLJTXTdrNy6nt7ookZEjtf15NzB{G z{N?L;vZ+?6PXK2{bDQ`-Vx)0ZZK?Z&%8j3YxhZTz&`Q1;(`R^B;7A^G%qM_~fL{TW zF)_L^%gdwUGsLEIiu+T~4h2kx_-i$I zv9iBB>=vpi!L@4tnQ-SjmSk!j4q>6dp#m(CK+LbtiMr)&&s+Ys-!;@13X8wVe$`Jw zxaK|89|X3c&%X2g+ph^KK_%N*8>wD@rJ=qogpauz>qkzhT+^m zA3D7=5O1CnFiSd>X70a z7N%#}AL%rar}ojcndb@xe}~*(n!-amrd;|Cs-xPpn2}n=5vofzujPkNSCRaAjr+$B zVwng5K{5-Fbc7vvFJ`AH?0Uwlx_!>6Fs)I{j*f!X!MAwMxB@(}%K)1dhcW7BuGc0- z>M@NeuzwGbx?9@T@0pg$=rs=K?WeQ#*Qy8QPJ1>9u}0T@7gDkSKm?-hd%8ve+-`|c zuFmmhAZWQ{t{T14GK9}YvlIwO3?}Saj!pvg5kkni_A=taI$L#zS3$ELn4LLnhGHh* zC&{Ri3_G>~UT{SW zx$%t(CCV$tUjM!L;6-olRk5;Pmw*KaI*%OrfZZg55=OS~+S*`CSZ;9aNT1dgCsdwf zCmWl#l{q+^lx`P6vq1d9Y4`6051ho`=ukBh>bFFhhsMldc-wLYpc%;R#Q6IVv zv`o;8o}&DVx2;TPPxP7*ed3rR7%2a`>s1HRQ?8nLN@n7)=j~Oax#c%InpwFB- zvRy@aso)Zk-FsH-R@n|9da(r`{fup3k0kU=(In&pl4ZH-@_6ErWfjD|>6y}b}=X+Cf`{k7zn1%zJ7%QkI3h*@+E`L=J?X?#jW0S?uZ5*sz<~JzGbSowv zUV8X4@wH}jVMfNJ$tLd~*X<6qL;v6Ak{Dy+*Dw1e3#$BuU=1ZMl$>w80&tY^-g*7= z4`+ELT(QhR_%CX;B@_A zcM?LXFNL7 z|8*HC_^TF1<4%^Txt6g`94YG0H8v&6H9XctVcdv*YsK{VfHK77K zNzyO{20WSDKbld|A&371)uvJrV>amXRsD$*nU+Vn*KW!16og<%OsQ&9+No2&JAE<= z4C~FLC^nP5R+6=g-px?M(q~%*B0hohk&4K(I*PSb*8czsq6}KR`?!W$|?|f@dT2VVBUqkoz|9NJk@(wv6t}Bsi;Ii5F=aE%@iI}S`;ZO3k9C!p0`_Bwk!k$y5GipddoAnHH#mrT@)A9nZnhb~~ z)0gyO{wiQO+4+PtfntL#Tk*Hb&Luo7j!n|7?Cd9+Ze{0zrT})465?;m+u_9y$x$>M z_T3UT(UXp-ZIQ}b?%yCjalB&pr9a3DfB9qPh4XE|fXE@@USpPu(cb4d68f^V}}F`k?@ApK%FQOh9gy-LD-{J!0=| zjrR-p6Ly(?FIpfX7$*xO|C?){mB{|br%upmDhkB?u&Rmur1wsK(#%a0=S)3n^#`RK zQpt(Mza~a@iuQ6drqMW_JWCGF&Fm*8jI_%hanp#ZT$uxPiHJ=?GDw?$pl)5Cs0#uK zsV(F>8srT}Vf)#i5&3;su?dl`b-JR%XXP}4Qz5-nVY}v+eGB~p@+fWAV14e{dS_S)+u80EhVhUL z2E8qrbyo7B*Igdn)TFSfjdj7FL*RoA&yE=H)#S2jB>&9tU)B=>&xqZ8O=|j1$_R;` zdpvKqJx?j|>2efkBaBoW+diCZ95QEdj$5xFv!Gz7a}34r@rZW2B|2LWcq*}2HqgzO zp(E$%#)Ti<&VvCm^JVF2h+g|xj38{;{Qd#_a!LYewakB(ry|w+958RbSItl>tLFOa zQd77PJ0TH`78-&#;#<63`o9hFBbjtJpqH#NRY9N|g_TF>(g?3HuMT^C!z3rsjD;s^ z#1WwGPJ(VEDB#I>kt1b?APp%aIqYc@M}Q~Vk6sNP>j9psTf=cW~rYHMM{*KWZ3id8H1~j z(##xSc1!hWvFlG?}%o^6} zeWQ?OU9ZCS{cyQBh%a}Y@~`|jnHxe-KD0=sSb{wHqNp(Uro0VVZS3#|U^nfX`7eL< z@V6tU226B}6)8uR$LZDPC3`VlKR9)3aLQg8R0i z0JKwwX@xNKcVUlzPO{4it9i57H`oyy6mu!~Ak%(PhP7M7DV=BO&)*q0HdDX!z?_n? zZS|JNf6kB?S2(8ac~O4{(C;zhSSYQf6ysf$pN}oMdj+45uCEQ|0*Bd*h4w%FghQ_C zUM(T}r7@cyeUNG%=bTpf&~T&NK96gV3o~U(5#oyUnXQ2F0027zC-n_^fo`0!eh&7t zVHmQ&zgHcsx&JkBQ~Y4-d^T2FrA8p{)Pc`x+Yper{{a}p+nXki&e@E8R?(p)Oqb?B zvo&ehM&A2aHg#sS`^ZT(muX@{2(ZEYuzl#AjPp8}beLt_q+C705;+V62?}3kdFp(6 zXudod8RMgVX+6^DpD16XHKXjbtVAh>_nOKF1mnDd2q!Z_biR<4Az?s3qo{Wk|03_z zdwoO0hk64-;M&7YX!!n&Ng7h0@n;-_%-w|EPr+p&qT2}8lfruG?ASx`wiTI!VIQC_Adv4L*7{wZ-kZ^33 z%CTi2nz3DUq>+dm6WZudqpQE2H$50AboJ<~WXC{Ll*elK)p#y>Qa?kU9zk~>Bht!b z4xEwDRQKfFD#?>>b#$0mLj_M@L0ke4*0{_NDEiQ=)7U?Y+7AlgLCY>@0n(FnxFHdh zzj_5dOY=#tPChp5AB)fpuQyKI6+1GOwC@s^jO#H$M3AWkT{-bgnl3%zaNVpZqG5mvgT zp0hdJ7`Rk>^Zn)483y9N~dHR}wynshiN)oRE1U0r$rcgls> z*Jo%MWfbP{(vwK1+dQi+*&u%f=DJzH^hBmE?R*NsNznQ7`s}!@U5QtKhx@@?F-t8) zO}zYq!j}BA&tKOUh8+KGi8)-QSvMB2h`(SbGJq4NY>oic8?uX8VKcRkWVtdFdm2WT zpb%j8_2JVxf=9u;`)svan3!1(s) z{W59&6NRohZ7m=7N^lTEdLOzu>NE7pc*iw?EgjPK^369+6HRR{EyNI$i=l{Lx8vKJ zuB-VTCK9_Rx?E!$>e5EbA*542^e@~J6PBOFcL;C&6uBmL>(WHS67{Z+D5r^x#+mqn z7bk?_gDEk)v*2L=v?g4>79|l4^JGgvXKK42Bk*Ka#yFclO$nfF*e1wk^5D-H{&AZOhMmd+(9rwi z>qAiTJ{+YtKbcGp#iGf6U}kChxhPyvvurAQ&?&=@8r5*){tW8SmJ0>KHo3%gAXhZqvEJB(Nk?&nQDpRHQs- z%D)r^jK7Uhcx4J!{p5m6bvky>8YrL?*s0{N5uUDJe@6deG$es|rrLSTE&QvCGRik% zKE`n8UGDeHX3Dr^BIu4i__OKpt$xjDr8<&mNCS=ez^R zPaYnBz=<+6dDD|lca=uDb3?*^&AnWe!oHCBB9G__Cq-h@UT)>f5wbs4sDqr7wM_o> z{q1mgN?LK>Je&5-82_GSA^_65J=Rem6@9SFG`KEhj z+z?_LRz9z-CVDW2g5%OW3*7`m*buO}ICg+*+20QNHUGG40UG9U20WH$)3J1Ewyr3r z$4y7i?B^u#&-;5foA{;yfUuDZfA{6No*<*)*9@DC;~R8oRURVk(i+2QoK;kr6R@m% z7fZ*o7+c~;8`|@RBc9u`JV1H_06>`a>S*sAC$oy`=n(2%p#Df%wRa_va9~fP@n>w; zPwhRw+_y;bR06h^oalG*#p1KD02J@Dj+8fu z&4&yXQS)sCR_M)Ad&LPEbB&fMBSk-`%Ckrv_?aWQ=gAAyGoCH!z>KAuX@G)M>;cWa zDql%daI}BfU(GL+nOSvM!Nm66g)GVO^{WDBr8DT#d`g`)pRUd&^j@1(9o=AW+^0Xb z)xzElB5pKY3sUC@?Nvs*G;*;(PpXNT1tH_C032tPWQOWn?_~FnD*qiNX5?TTZuh9f zKRbBTQLk~>Ft$zqMlpn^W^wD8-+IIu*(KtSDrf2=N#WT8Tw6$30Nsc{R7HT zm}W6qd}Q0Y`1$g$&QZ!nz<1_n)k)xdA`drAxc-ijk9!X%KI8mpkH$OxpqK{tquL7B z4~D^R7T4EOrHlg8rqjYhHBRiBZnw`L9pns3gzH3Tn!`7C9V7a90-Q(zk#Fmtaz4z} z@*Vr(7~mn;)t=^YH;0T7IFDdtw#fNjySD7Ii&cyyUC%rYqRnYGqz}X@|5(`V)*K&H ztd4IqE^m;X2{|5#kaucK{ zTb7lxz7z$QpX>}uZ{!)d;Li*N3+eLD`Wd_7Rn84MwK&xwKE8X{%;~}^_h;$sd;_m# z)lI96vt70iyHI@Vbje0{{!F25i(5bhPcHnhN7sYhotN&$Mj8bx;+y>*etA%iDmM?Pbd2J zNid~>VHT-|F}|u!dm4|jtw#yz>lX*&>Nd_HO=0NL^d2LchBEQQh*_9*ne%P zg5C6g!Cc-Lg~khzqFR3BdcjmQ)WRHUS2FssBY%*fwxd08@>(}BjD)rP9{0xbKVnqExl|K1oc@j!@o`27zM zZujsKuF&)Z5Q@~1H;9dp-)$9&gu1s1)K@X}TnNIQDz}P}1GR~p!S02!X>>+RkIQgF zo#nVH5tPxP&C^J<8M75lFty=r<(N6A7TRq|cI)&}O~%yuZ~1K-sNE3_L?VWb^{k#w zGIY7>T?ne)n2dk*PuQ-dGIl8EPi@?f1*4_>j-etAgw3#kr+fVvtD6B|-c&)>lU}2LHpW+Nb=!=m9yKNE7uG*3$sDdDL+C`FGk0%-+@8V^4NpN$rQshmH!p5g4@^ zt!4HD2QSwOsR=-`UMU^peCD+{VJe#~`~5f0So^ai>2VSy&C=lRk%|tJF~n`ECq+!J zKD}``9|f(vtf*Wv2Uc=p{~Cp;#%0f7qvsqpt=g|WygOW4EP3V|hC-oTUy!WSyzG;9 zaZrZxn~dLU5!fErkPyAYqJM(G4vw3E>pz$#0|!vV^?|89^`#P#eFV*NaNr>`i%|k6>D^Sb_Afb9--$R!89DWNx8 zdG8W2V%k6FiB)KCs{glCR?iu_p9TtV;rLjl1AnZRvg6}?`olU^p<6n?ti);}5^t;@ zAu{kCu{oDh$wVjv0fZ4SNTEa12su4xCGC>)`dzIn>`VKPsGJqm ztgL`=hRSifGvS9*bwqdc)sM4JSZ#4-v~RnZcFxit{hJ<(HE|x0+&c+G3CFqlT1{C` zTZK-2`s9rwrVC}vCKkQ;9&^L{d{lO}90*is4>7*c@%V}Al5?}!?U^%4`y~c_GLSCw zLUo~jmeLo8hqfDBb%V<63nCSxHwOPQ)L%QsmRL7e8-SI`pfjNx=aO0135Bvk033Q0 z4B074EgeOS0?z7Pe{T!4WB54emGFB43i9i3SRiF^!N=Ql=q7ULhPoSu9;%79cDM@d zVMA7LniD)3R2Z^inap+w9D&11T+vE(!dAjLvebbgwO+J?-O<;uvxdix$Z%1d*;0#G zHB1$Mh?R$N9`@4~e4XpFyH?b-0DFSgq9;zTHmqJWe%Gk!$@a_u4l55w&t)rCg~nGC zeVPm_S_B^Ku}z3~*QTN^1w&Mav@*~;C75#STH~E{1sype_7pGb7BZu7ZS^;oP%7qWR9w1?9R(Cy5yjqT6Pt26Vj59Q9qt6<8XYtirhNyM|!BRCVB z)zCEoCQQPt3w+D)7vGcak$5@{W7{v>+&D|FJ{)k zjU>KMvunhds1%B77J5hYbB+Q$S(Yg$-Vf@hdF4*oO?d8RV!28PO8LBcYiZ6rpt9b? zW@f6a=hv)SnLAIT$`UM^cezl>Cf_rPoxbPJ=*tQd}ksz;m_l zcZ3P!I_C0C?SR7zC)jTsxExXwkua*>^bzaXB+|BdH&IfHj?Y?Rr}UN$*XzG)05}~3 zvAyyGb})Xr$)ofmHn57zYZGqLf4C{H&0g?)6mavJ@{f6C9+fCXw&7U$>Ha!x&Uy2b zXc3v>`Djx%KnB;tJ9BB;EwgwsVxazA)+8%Sa9GBw#J(*feL;Q_uY78w*@ge|^h1U! zYXRd7Vjs)VAq&lTRFrDTa%}{1nkKEg7tu8d7!U*eKUfW?@~U>}xhmQ z<~p{Gcco6&_YsxBz&(w7(?aPfE%!5$D>q#5-Il9v1SvPtZ6&Wnzy z@OZ;U<%bxhcP_yC^Iac`JSBUfO3cV!9-+rhYncFo0UhhQGE!GY8wy6#lj%z`ovKev z8Zt_feN8%23`j;ZOf7AS>*7-Ixy@udX!^`z?GT5t?7 zp?Rj*6WGNJmq@d=*va{ipsO0Vu{Q*1sNyk?ym>VyouTSFg8^@D=bpH(vr6y;jOf>- z;9!s|IaG{y3miqQmDSsXh8J_}wbW?e4)rZShq=TkaDHy2SEOm48L_ep9le-b;N*2U z_pQinh}upSm!?;xa@54xT^iG(=WFb8`agiQoh*kj`K`2No2TJjRirUOf)#}VV*~}} zq><4M(~Nb;wJdH!f-#(cb67dHuOp%uXUtBpBq_YE;738)nCulmUNCZVO*67K(}Jft z9qF<`=A+9S90Aj~tfZT~j<~2(ieDfy86?`Ia(i~Bm%+in=LZ!~KbAKD`01YXkjP0O z_2;ciT(0OjxxLh5*1__!NK&Tl7*Wwl$_Eg7iy$tAlc(S zpIVwbfYB8(0yhK7^s4cqsU+~ggO5>4(-D9M(0zSrCl__x)g<1ei!lsAP7gRe>3r?1 z%%>b)NDVN%J~&6%lCS8@Fd^In6^RqY9}mbI%`2R&P{KJ*{%n7*$HHa(Vn} zDGZUv<}&AwhNv~`I4q7yAf9_uQts+V3}ljklUhkMPd%N-O>pJ1&5lL@=}=92G81+W zY&RLHZSAjb0SO6g@I5N!rhyDD9`$$x;~u^L04h;xDX9|Yc$6%lzSZs{w6TP|uEA7) zc-K!a!%q@fD;;f8)xZVfJ#pKgN~|?I4Ju@k!{(4+jlFjddQD%&`u4izuP#}>P`U54 zbQ$)dY02I?6$r=UZ{$5J^u0FR#dwM4q2O-y=~Qm@a8$=^fjWRkdZ9E88A%H}J7=jh z(Y>E@U}qQ~O0`W|=4#Dy_9K;MxFo!*ZQX&my^ zEx4wTa;aOmp`3;*g5B}bppXUx1~?8X=La2nnpbtWaE-w@BbwF`Qi?{d$$O()6S3XS03aV)M2ieb zTwoFwtt4s>EB8)LDeW0ClD&B(9@UGTo`!E&I~3P$aEyL#K&b;Hk^b>;bH~j`lvI~d z>M8M{kr-_G#~}8qZs@_@_vliUN)kxm91PS2&eEekxUC1lP_m9X0gm-nNZ22gVy-Ug z%+lYxx*}4*05Ob%_j}SbZj4FfjzIUR0A0f)ZYsjW09M=x9DC68cP5&4*P$Fv#X`TQ zIHfBbnJR%#PsWt&E&zNC5y!1W6@YTSxj$M^TDDYNcYOv)8x}ka4slTykytV@Pyjg| zm2NS+0gmIIPu7&j5mqY00P;^xD%C|T$&?#cE!pej!Y#EpMbsF^PgNCO>qdrX&Blo3 z@(UQ*zUius9?}(g7$@BVRW4oaS<9Bri}n`m%c=ztF}5C&4EpAq ze9G1oUrUw(-$qgNvJk`N9FJpG znc0C?amPG+)FK}!)g znFu`KU=!*pleV0YKujPdwpQT0!RodL`9GYs#N!?uz zi*q(tcg%k(zN*1W=hK?bGl;Np$pD|ILmgSa>*qy{}7&Qc? z!N>$0<25vQF*=4W26)H4D@?K`(~PLjO+w~Q%+fLTmPm~y+Cd|)YI{4Mo6@0oM_|N# z-%1wYa1@@o#T=t)b7(zeU`Y9Mk_Xn5O288RI0rRcGX^BT40r;c_m?30=7$?AvTtof zd6Y3Do!I^_N>Jdg;sF5X6vu!m8DYm-ZdjAGeFan1SrN@`$Fz*H1IMT%u%`*wqX5|% z6$wcR&rH(*Xox+!lS=hND&x~j4H0Ruc!+=ZgJk~f&y$O8kK zP#H(djB(PKSz9tN>C%_XI3;jY4DsvlN#CG#yCjZB$wyu@!TMCKJ_%yD&jeIVK>?L{ zrkr4WxuVZ@Qf|cSGPxvh4F#798FTJxuKt7^b{VM&5)3y!v|8I0aFvk1$T=9nsM%P^ z0QBolWH`XaJ5yA);!5KK^QuNyzKla5Tn5J!jWatIUU?#(6cTVf2?nDmR#1Hj;;TTj zXmFlXQUe??OiXE;nZ{Y zMruf|03@L&IL#V~Yq;=-7!BJdr9j_s;EWN^dWbZP!P@|5wKzylN$5J%HQ1!nVzRE{ zSGT9VL_>!J@_8AlKve{8 z4In}Wdy&mIaOLVm&Zq;NZq8^JY~!y4QcR%W1r+$zcMST0MXatGu}08xt&TY~)^a2z zGl8D8?pWY3>%gF@s4v$iif=%;it58*^uYSlk#_wDdW&HPf8s?uc>pL=?kK(1f=c?1 YIRqXDawwrn;BGvg-jq>xX?|1x*_P6Ln*aa+ literal 0 HcmV?d00001 From aef7b8bfbaad6f93e8c7da8bd136eef62a34b5bf Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Wed, 11 Mar 2015 14:38:31 +0100 Subject: [PATCH 14/39] TMI-116: Now tries to be lenient about bad interop IFDs. --- .../imageio/metadata/exif/EXIFReader.java | 43 ++++++---- .../imageio/metadata/exif/EXIFReaderTest.java | 75 +++++++++++++++++- .../jpeg/exif-with-interop-subdir-R98.jpg | Bin 0 -> 38010 bytes .../jpeg/exif-with-interop-subdir-bad.jpg | Bin 0 -> 31290 bytes ...jpg => exif-with-interop-subdir-empty.jpg} | Bin .../jpeg/exif-with-interop-subdir-eof.jpg | Bin 0 -> 1926 bytes 6 files changed, 99 insertions(+), 19 deletions(-) create mode 100644 imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir-R98.jpg create mode 100644 imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir-bad.jpg rename imageio/imageio-metadata/src/test/resources/jpeg/{exif-with-interop-subdir.jpg => exif-with-interop-subdir-empty.jpg} (100%) create mode 100644 imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir-eof.jpg diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java index 3cdb0253..7826f21e 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java @@ -38,6 +38,7 @@ import com.twelvemonkeys.lang.Validate; import javax.imageio.IIOException; import javax.imageio.ImageIO; import javax.imageio.stream.ImageInputStream; +import java.io.EOFException; import java.io.File; import java.io.IOException; import java.nio.ByteOrder; @@ -52,6 +53,9 @@ import java.util.*; * @version $Id: EXIFReader.java,v 1.0 Nov 13, 2009 5:42:51 PM haraldk Exp$ */ public final class EXIFReader extends MetadataReader { + + final static boolean DEBUG = "true".equalsIgnoreCase(System.getProperty("com.twelvemonkeys.imageio.metadata.exif.debug")); + static final Collection KNOWN_IFDS = Collections.unmodifiableCollection(Arrays.asList(TIFF.TAG_EXIF_IFD, TIFF.TAG_GPS_IFD, TIFF.TAG_INTEROP_IFD, TIFF.TAG_SUB_IFD)); @Override @@ -83,13 +87,22 @@ public final class EXIFReader extends MetadataReader { return readDirectory(input, directoryOffset, true); } + // TODO: Consider re-writing so that the linked IFD parsing is done externally to the method protected Directory readDirectory(final ImageInputStream pInput, final long pOffset, final boolean readLinked) throws IOException { List ifds = new ArrayList(); List entries = new ArrayList(); pInput.seek(pOffset); long nextOffset = -1; - int entryCount = pInput.readUnsignedShort(); + + int entryCount; + try { + entryCount = pInput.readUnsignedShort(); + } + catch (EOFException e) { + // Treat EOF here as empty Sub-IFD + entryCount = 0; + } for (int i = 0; i < entryCount; i++) { EXIFEntry entry = readEntry(pInput); @@ -119,15 +132,9 @@ public final class EXIFReader extends MetadataReader { } } - // TODO: Make what sub-IFDs to parse optional? Or leave this to client code? At least skip the non-TIFF data? - // TODO: Put it in the constructor? + // TODO: Consider leaving to client code what sub-IFDs to parse (but always parse TAG_SUB_IFD). readSubdirectories(pInput, entries, - Arrays.asList(TIFF.TAG_EXIF_IFD, TIFF.TAG_GPS_IFD, TIFF.TAG_INTEROP_IFD, TIFF.TAG_SUB_IFD -// , TIFF.TAG_IPTC, TIFF.TAG_XMP -// , TIFF.TAG_ICC_PROFILE -// , TIFF.TAG_PHOTOSHOP -// ,TIFF.TAG_MODI_OLE_PROPERTY_SET - ) + Arrays.asList(TIFF.TAG_EXIF_IFD, TIFF.TAG_GPS_IFD, TIFF.TAG_INTEROP_IFD, TIFF.TAG_SUB_IFD) ); ifds.add(0, new IFD(entries)); @@ -224,20 +231,24 @@ public final class EXIFReader extends MetadataReader { // Invalid tag, this is just for debugging long offset = pInput.getStreamPosition() - 8l; - System.err.printf("Bad EXIF"); - System.err.println("tagId: " + tagId + (tagId <= 0 ? " (INVALID)" : "")); - System.err.println("type: " + type + " (INVALID)"); - System.err.println("count: " + count); + if (DEBUG) { + System.err.printf("Bad EXIF data @%08x\n", pInput.getStreamPosition()); + System.err.println("tagId: " + tagId + (tagId <= 0 ? " (INVALID)" : "")); + System.err.println("type: " + type + " (INVALID)"); + System.err.println("count: " + count); + } pInput.mark(); pInput.seek(offset); try { - byte[] bytes = new byte[8 + Math.min(120, Math.max(20, count))]; + byte[] bytes = new byte[8 + Math.min(120, Math.max(24, count))]; int len = pInput.read(bytes); - System.err.print(HexDump.dump(offset, bytes, 0, len)); - System.err.println(len < count ? "[...]" : ""); + if (DEBUG) { + System.err.print(HexDump.dump(offset, bytes, 0, len)); + System.err.println(len < count ? "[...]" : ""); + } } finally { pInput.reset(); diff --git a/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java index b7770e11..1249de6c 100644 --- a/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java +++ b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReaderTest.java @@ -192,17 +192,86 @@ public class EXIFReaderTest extends MetadataReaderAbstractTest { } @Test - public void testReadExifJPEGWithInteropSubDir() throws IOException { - ImageInputStream stream = ImageIO.createImageInputStream(getResource("/jpeg/exif-with-interop-subdir.jpg")); + public void testReadExifJPEGWithInteropSubDirR98() throws IOException { + ImageInputStream stream = ImageIO.createImageInputStream(getResource("/jpeg/exif-with-interop-subdir-R98.jpg")); stream.seek(30); - Directory directory = createReader().read(new SubImageInputStream(stream, 65535)); + CompoundDirectory directory = (CompoundDirectory) createReader().read(new SubImageInputStream(stream, 1360)); + assertEquals(17, directory.size()); + assertEquals(2, directory.directoryCount()); + + Directory exif = (Directory) directory.getEntryById(TIFF.TAG_EXIF_IFD).getValue(); + assertNotNull(exif); + assertEquals(23, exif.size()); + + // The interop IFD is empty (entry count is 0) + Directory interop = (Directory) exif.getEntryById(TIFF.TAG_INTEROP_IFD).getValue(); + assertNotNull(interop); + assertEquals(2, interop.size()); + + assertNotNull(interop.getEntryById(1)); // InteropIndex + assertEquals("ASCII", interop.getEntryById(1).getTypeName()); + assertEquals("R98", interop.getEntryById(1).getValue()); // Known values: R98, THM or R03 + + assertNotNull(interop.getEntryById(2)); // InteropVersion + assertEquals("UNDEFINED", interop.getEntryById(2).getTypeName()); + assertArrayEquals(new byte[] {'0', '1', '0', '0'}, (byte[]) interop.getEntryById(2).getValue()); + } + + @Test + public void testReadExifJPEGWithInteropSubDirEmpty() throws IOException { + ImageInputStream stream = ImageIO.createImageInputStream(getResource("/jpeg/exif-with-interop-subdir-empty.jpg")); + stream.seek(30); + + CompoundDirectory directory = (CompoundDirectory) createReader().read(new SubImageInputStream(stream, 1360)); assertEquals(11, directory.size()); + assertEquals(1, directory.directoryCount()); Directory exif = (Directory) directory.getEntryById(TIFF.TAG_EXIF_IFD).getValue(); assertNotNull(exif); assertEquals(24, exif.size()); + // The interop IFD is empty (entry count is 0) + Directory interop = (Directory) exif.getEntryById(TIFF.TAG_INTEROP_IFD).getValue(); + assertNotNull(interop); + assertEquals(0, interop.size()); + } + + @Test + public void testReadExifJPEGWithInteropSubDirEOF() throws IOException { + ImageInputStream stream = ImageIO.createImageInputStream(getResource("/jpeg/exif-with-interop-subdir-eof.jpg")); + stream.seek(30); + + CompoundDirectory directory = (CompoundDirectory) createReader().read(new SubImageInputStream(stream, 236)); + assertEquals(8, directory.size()); + assertEquals(1, directory.directoryCount()); + + Directory exif = (Directory) directory.getEntryById(TIFF.TAG_EXIF_IFD).getValue(); + assertNotNull(exif); + assertEquals(5, exif.size()); + + // The interop IFD isn't there (offset points to outside the TIFF structure)... + // Have double-checked using ExifTool, which says "Warning : Bad InteropOffset SubDirectory start" + Directory interop = (Directory) exif.getEntryById(TIFF.TAG_INTEROP_IFD).getValue(); + assertNotNull(interop); + assertEquals(0, interop.size()); + } + + @Test + public void testReadExifJPEGWithInteropSubDirBad() throws IOException { + ImageInputStream stream = ImageIO.createImageInputStream(getResource("/jpeg/exif-with-interop-subdir-bad.jpg")); + stream.seek(30); + + CompoundDirectory directory = (CompoundDirectory) createReader().read(new SubImageInputStream(stream, 12185)); + assertEquals(16, directory.size()); + assertEquals(2, directory.directoryCount()); + + Directory exif = (Directory) directory.getEntryById(TIFF.TAG_EXIF_IFD).getValue(); + assertNotNull(exif); + assertEquals(26, exif.size()); + + // JPEG starts at offset 1666 and length 10519, interop IFD points to offset 1900... + // Have double-checked using ExifTool, which says "Warning : Bad InteropIFD directory" Directory interop = (Directory) exif.getEntryById(TIFF.TAG_INTEROP_IFD).getValue(); assertNotNull(interop); assertEquals(0, interop.size()); diff --git a/imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir-R98.jpg b/imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir-R98.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cf0e4c43a113b86a725d7aac017fd7683e8f32e2 GIT binary patch literal 38010 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®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 z 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 Jttj%h|Jg!8G8X^< literal 0 HcmV?d00001 diff --git a/imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir-bad.jpg b/imageio/imageio-metadata/src/test/resources/jpeg/exif-with-interop-subdir-bad.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dee9811815fc84d0402bf75f8b0cdf5706bd431b GIT binary patch literal 31290 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

-GQu literal 0 HcmV?d00001 From 493edada59a397b85bbcbad2b03820cb0c4bd36d Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Wed, 11 Mar 2015 19:55:28 +0100 Subject: [PATCH 15/39] TMI-112: Now ignoring (removing) empty DHT node in metadata. --- .../jpeg/JPEGImage10MetadataCleaner.java | 9 ++++++- .../plugins/jpeg/JPEGImageReaderTest.java | 25 ++++++++++++++++-- .../jpeg/jfif-progressive-invalid-dht.jpg | Bin 0 -> 124657 bytes 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/jfif-progressive-invalid-dht.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java index 5343c4a8..99a1bf3c 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java @@ -241,7 +241,12 @@ final class JPEGImage10MetadataCleaner { Node dht = dhts.item(j); NodeList dhtables = dht.getChildNodes(); - if (dhtables.getLength() > 4) { + if (dhtables.getLength() < 1) { + // Why is there an empty DHT node? + dht.getParentNode().removeChild(dht); + reader.processWarningOccurred("Metadata contains empty dht node. Ignoring."); + } + else if (dhtables.getLength() > 4) { IIOMetadataNode acTables = new IIOMetadataNode("dht"); dht.getParentNode().insertBefore(acTables, dht.getNextSibling()); @@ -262,6 +267,8 @@ final class JPEGImage10MetadataCleaner { } catch (IIOInvalidTreeException e) { if (JPEGImageReader.DEBUG) { + new XMLSerializer(System.out, System.getProperty("file.encoding")).serialize(imageMetadata.getAsTree(JAVAX_IMAGEIO_JPEG_IMAGE_1_0), false); + System.out.println("-- 8< --"); new XMLSerializer(System.out, System.getProperty("file.encoding")).serialize(tree, false); } diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index b9a4e6f6..21adc6cf 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -416,10 +416,11 @@ public class JPEGImageReaderTest extends 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 Date: Thu, 12 Mar 2015 12:55:55 +0100 Subject: [PATCH 16/39] TMI-117: Fix for "componentId attribute out of range" issue. --- .../jpeg/JPEGImage10MetadataCleaner.java | 45 ++++++++++++++++++ .../plugins/jpeg/JPEGImageReaderTest.java | 22 ++++++++- .../jpeg/jfif-component-id-out-of-range.jpg | Bin 0 -> 23323 bytes 3 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/jfif-component-id-out-of-range.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java index 99a1bf3c..420bd1b4 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java @@ -233,6 +233,26 @@ final class JPEGImage10MetadataCleaner { markerSequence.insertBefore(unknown, next); } + // Known issues in the com.sun classes, if sof/sos component id or selector is negative, + // setFromTree will fail. We'll fix the range from -128...127 to be 0...255. + NodeList sofs = markerSequence.getElementsByTagName("sof"); + + if (sofs.getLength() > 0) { + NodeList components = sofs.item(0).getChildNodes(); + for (int i = 0; i < components.getLength(); i++) { + forceComponentIdInRange((IIOMetadataNode) components.item(i), "componentId"); + } + } + + NodeList sos = markerSequence.getElementsByTagName("sos"); + + for (int i = 0; i < sos.getLength(); i++) { + NodeList specs = sos.item(i).getChildNodes(); + for (int j = 0; j < specs.getLength(); j++) { + forceComponentIdInRange((IIOMetadataNode) specs.item(j), "componentSelector"); + } + } + // Inconsistency issue in the com.sun classes, it can read metadata with dht containing // more than 4 children, but will not allow setting such a tree... // We'll split AC/DC tables into separate dht nodes. @@ -277,4 +297,29 @@ final class JPEGImage10MetadataCleaner { return imageMetadata; } + + private void forceComponentIdInRange(final IIOMetadataNode component, final String attributeName) { + String attribute = component.getAttribute(attributeName); + + if (attribute != null) { + try { + int componentId = Integer.parseInt(attribute); + + if (componentId < 0) { + // Metadata doesn't like negative component ids/specs + // We'll convert to the positive value it probably should have been + componentId = ((byte) componentId) & 0xff; + component.setAttribute(attributeName, String.valueOf(componentId)); + } + } + catch (NumberFormatException ignore) { + if ("scanComponentSpec".equals(component.getNodeName())) { + reader.processWarningOccurred("Bad SOS component selector: " + attribute); + } + else { + reader.processWarningOccurred("Bad SOF component id: " + attribute); + } + } + } + } } diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 21adc6cf..e4a6e2b7 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -1349,8 +1349,9 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCasep_@Bjp{-a@}r75HFxt7OAbCvPRHO4D{dTDrRXs+D& zU$$xfuX5$;wd*%--lC*pU37!>^GT~u^TY+QUodPZgzGW$ags<@;SU4|*gR@Bww z2@Q=+%`M$My?y-yp9hDCq{*r2nXj|t70T+jwe^kfn_JYwqaQzyPfmZG{SVg_nrr`i z%l;SG|AUM1FW1%U*RNf_^*>x!t_J>X*BGzgcr1OB>6z&*CvRpxnYXkLw9<-dyXg33 zK?f|(J`=ZD1>{x)ssDraf0F&b1B?9sME1YI{%?^&(B*A^dw_|x@&GxU4m~@^yWMk*>6g*2Bkz_9Og)@C9Lt0ANwZ0 zOc01sI0Okcz?I_?zhvyBx?jXSmLzWWbXhTPOT+3Ny5w7uu{@g~i3Z{akc+?&i(tCG z+Z25%HW&6P4*GrTvBLYHZnoNk#+W*{3<-go)AAX^x{SXNkB)Nk`quGmob^EU<-6Xu zVF>A%XBggxv_BI&?_N~dE93*9j3!ASAFpHsfqfx?Rn2&TrM_SxRflgzBIn462W9DA zhProsV79f;hjRv4#Zuc;S-lUxtxkK;p@QQXwp2SsM9H&27npBw>E^-Ec>CpcmCP;HMj~5`^fHhSW0dyWbtLPQI*(E8r3B|7>Fdcd67e(#jv2*ihA? zzLL#sEQKLpn)~^pJ)boM=n6KO@WjLmOr^QDPjP;ECb2LK*}jS&4x=<=Xj6Iee-S8u zXyU_fhCz=Ru6129zw1S5{wpc*<)o!7w&>KEWJ7hxXF7dnH34sXRtb?Y#%>}g_8@LH zU6(3Hg$x(;+(m)k!Q`S)6IGfcSuZYMMLOSBZhamtxI@MYgEC6L-PDW zJOS7i6Kr2>`Igz2TBegM&ZdM1BBb?XeZt!w=T!$!gD%}Hx45235D0C=j`FY6l`Aph zh&~yX%AVa6-eA#GiDk6PmLb^3nSVE0e2WrjgO4GJ2XzysAfGa#?hA#Q?GfT++(Y8 zyY3NpA)NjNMK0oR;5Ell$1R;nRrm{F4;finw-s2@&-RCA_H1Mr(vo!sbvOQ0Xwq?> zy0R227xDIuXW?oDN2vE{*s^2nJDsf9==IawTQQzL&$pAGI>6YxPl4TIrO?9rd#^na zWfQwq0#h!)M)O>g+VLNAyUaF|zuRT zM;DQmhAq@JxR$^2_>R$i=my!YBE~ zbF6tD;zlews<*TFH#60YVv#y)Makr0?r50&Cj0%Q;I7TfNueb6DAK@3SfiDL&@^1J zYQz_}X{o^%T;mo(AW%DJ_i93=elT<<;&X5-O>g&H6JCx|88m*#x9ac>`X0CHQznzV z1zyotCgz0Cz0_%OFb<(O-OXCP;5`}`_(Ri>PiTz&F?RF!?eXj`vQ@mCKW9X0n>rj( z=5cmoe)>cVv$Tm)uL`*2Fl3d`!QubVut1MZ=V2=HyPs3d8xI1SG0;y|!z#6>KdG$K zdw*!`FBjMXIFnR-p=5>58fZ(>*{k6o+&Yi&6aifGU^B4CK?S}@_!u-`*VItoR4{BX z0l#De-pwuEZe2OrY6@xzLS;njSeE2wdi{hA{cLvE{UNsUUDw>s_84CR$~SfgRba){ zRkBt#CO>W{_aiw=H^&R>Ei5$MRHmHb%%M6artq4t;_;r2>3?94jqZa*NOP<|;TA5{`SqmIUDaapB zhH_iVXBc-7tKqL2WwfSa$oe%}`q?oQA{drM$hQy07N>KRG>WZ_JtSLP$w> z#B@9js#&=#WJ?W&V1u%44-UB&6c_@{vMrlC8aw?HP5|j!*40wH)}2W5mV_dx`T6D8 zZ!GVF4uv3|AVRw&+{Aj$v4?qX%ZhP}wO&VJ=lyI0u55F_WD2Bi z@?0(#BB@D1Xw+i#O2770$N-Dx0-cWL)h%NI`oAis=Cl`N0u@v_ZfdNsYh zxu>Xz1~>j>XFSxUYoH-jwjBGC~*?)(lq_shT`dbZca$7 zI!3#;HZ(oYT4S0Ufi+t)dO8By|J4?gZVWKw7$F+-6bikQ7t94vtr(W25-+cu=CkHr zWS4&raCn3yFRmZyority_|#-=HI`h`fm{#S_D5mKxQPAEwz0gmX-pAs|@X*R0M zoOHi!{<8Sn`p#q(F$FgZ%$_#^+y}jmr6c7*rV`(6Am;kL@E2JY!=SuXq1&~{$I8#N zfQ3l4^lyktBkC(m_M&$U^Fnn%`+&8OhBDO`KzkzL>mkmWr z1^IG^k0i?!V)(|C@i}|`TsmpDbv+jlo+pA83Prve`A)1@s+2_~seMw^ENOLDnS}N? z%hD;YhInSmC8OGQxjBPH`is5uD$LBF8e1)P;o1~N6}L&}H)&gsTFyX9hnFtHE|m>|ps+;9RD{j#39lI#_Q6YjG}FimQ zN+%9V6eMgcW{YNvzn8lw-YQ_htP=l($J_^a{SOVKm2@}YbL5Ip6Y&M>QP&gP9~#=J z6ig8mg?#a`b(A{yd8hmjjfaifQk{BN^_{Z4u&2+5#Z4~Czo(pR~iHEHd17&_xH zR^~8$N>h{Xh90MSX(C^Ly6Q#j=kx0)%4y`SgH21aukmp%mO%Skfm~1$f}8dDAUm`z z^RzASpK&>{2h)9>nkYWAuep?U9j4W*0)YIxXMPs78A7mjIG$fndsxY6M4jDQ~3L8{NHyk+h zJ-$43(u}+04^nh+Z?7Y+AN<^pMl3E)IubhYGi)a<3=6vrXe z`4L@M2xhb3dF>VonM0NI*!8E=EjUxit=w!Z;GEXjyy*PRSbdt&yL5+8ct`COH<#{Y zwWkC_7VazRcme13$(bLPXySr*xrk*9miu0mu)eR|Jf)_}Fp9lJcW`q2f{ID<3)9%J z>p1vg8Nl{wsV`K1SRJ7HxmsMPAfh42CoIH_be(MU;b?AlsV@-WdoxY#?4p`*H?niC zMW}cESJs^y(4S(fm8O~A4#Wpex5x9!%gvKqIEYEEoBcR92c{BJw4&j3Qv05L-JL?l z_#S76t5NyJ)$0%3L^HPmrWi1rt^As3N;}$&QQSe2zyV-7W_QGr-{p(685jPRIyGHZ z#k$m7I5kzQF=pws6F~BBy?}OuFP^NE7pmokKkx2H z`rG^VS;clYL|ANH3b#>p2s1tVw;>?%S7UF?vx=<R^m$+spL@b%l$xa^}eN8|77Ft zxxyVY?I5{9JUr0g6KO{m1jN)b&8OO;TmWY#69q(=t|j?jiYd?BQgb{txpjGa7|&JVR`-exthY}X&}b(V@U zZ!dfD&SA8GuNY0IVv!|GIwL4gR)SiiIgG@ZDy&Q}iP!`z_^9p=&5AkiU4&~YplR}_ zI>5ZKy>;qUdiR`NlcJ^7K{1RoIdOhdL#S;Ur!$$|AvoP86hcuQ_D2qMlaWQGkh5(u)0(}Z(tzj!o{R*OscndqmzKjdc9=vG0A>FRr@l7C9Bj;C`sb$v`bwxaKCO2 zN`lxD3JQa(LeoN47JLk~D1lQ1GoOdy8;^WqEI-1vAL~cdY!nPMwj=p8-o3}cql95d$n@^v`#!YjL zs10Diwgdhj=V!MXYRS*MKdk2(PL1qkR1Qb1d@f1$)WpBO(Sd;#>qufMm$o$6WP>W^ zMt(Tn3kvB8SEVjSQ(7JA7q*2gC)?WK&p*c*~Cfx z)VvKUTl~~TIC>4zdvBAijd3Ij82)RP;}l_ zp)GCr8JD0*BnN{#)J5$o@~orn=6FyEK!bNu36Y|3vP)5%a;ZB|JFxH4z?4DA>-7@( zWgRWA8&5`DZtR3VnvmL+&$ZXxJKLkI&xTs46ISgFOY$}Ch(F6;hd1(jmTrNt@ilQ6 z16`TS_IfNJyDq&z&_E@t2$cEQl6k|E6{F%)0-ig!2_0iJoCp$!VvVK_PQPgI)t6#8 zpJI*gC6#Z3d@@iU53rMFP^B&NN^u=!QZKQ}CDi;Bw+svM@L#%l8s=9y%*@zc82I(~ zGp8`lxi50(`9{N*r~%_?7ebC;`rg*j`IA31yY%SOB0qSz{Vj0&nep-;n%-f}c#Z4G zGgt4*uXckxRTy&;MZ>jUCd2UM5t#k8=R7~~PLB~R%#v$_X?+7QStU1T%y?-%yuRsf zHA8^&U2^l$%FPnmb!U35K0(NR`O7)*pWjet17L$%+V)u8&Qv3mp*ec>L$zxw*dYA< zMK&e(A8LQ)%7`X7)|}X;S7Ha19$7j6a0AyqZ|Q`8ck%wHr()9+)gNRwxBDpcHBzo&D|| z#*y(S*~0tbB9Xnykbcw*tBaF@#8=*+ou07hG4U$_&$bW*Z_9}d`G5K;D%JVgKF#4( zB*l%n)c2adH)DY&{)(5t{RLY)-6vD8lJKbB!(7Jiy# z-NZjMbiVNC=M}BFG*_Bd1*&cKL-pE^x8B6tk2GFBS$y9hb>%Ex461$6n}kgMXZ+Sw?^U6P!_ zV1fm9L__}1t}XfRhTpt8*X0iYO&Gp8ylA0-qo2tIjFop_?qok%=TiRtA|ohfre|*k zBLGB5lp>!d`a+n{RY@FxK|kksjRB3qJNHZM9Jtu43XSVhD27^w?BDN?P%u-g0U<%U z0tA13TWnMdf&Lx=Y|p-@+a$g^Eq{GFzRfu7^a(bs z2$F5O6igv64$%of_MP9`D9qQSazeuc3%gXr z6~^2)3RzEsUA*Pf(WO3+v*X^=Z()^5S0-dX{y+{_O%+WlVli8cdf-UN6LkP(p-)P!m<7D&2W0Wcl@&49K^gJ1`62P&nfNJjvb*6k zNjQ#kf@97!1!gZmK8@r+w^5fkMm>86A(h70qjzUV+Mu-`V}Q~4Nab{DNu)t3EOqDW z4l8|^x5Uc9X5FMa)ei9;r57(AQRmv+-W2mpW=uR~XI$vR1R|(_D{=5c&9PUsAj+@p z9!8tlv5c^yxnqCJkcx;qYhBU~JkDWsf*2PHUaYMpJ|{jW&eOqNrUSnu1F;>vTtnCvx$=Iov`LIgvPxx6ch#@Qyx|qu;>DB_`g3Hu=YX9Ph^1K^ zcZ`GSR02pz*jcR6ZrQ$4zZ}uqJN?v!Lf+zp&g-z2gaxWKG7gmKxP=0`>${g`Kg~Hj z6GFXjC}inHW=qSX)9^8fQ{9zFGTo1My_FFgdF^hK z><5ET=rbk~8|Y`6lJ%f`~;DKgio}6Tkwg6qq5D zmheFAN2|ctFWAwV*q+rf#?8j67W?fn_53QYL6MMr%`Y*k5%}v)k|kcx)3jRej*shL zsv4LKu&3T@_3ySg2p@h2E^hZydy$Ao6Z^$a zVJ6m#im~#VcexBTcNtGTr&$jMdQk;93K;Gn_I*9WB-)iWr6$NN=<5X*v_0I4wga@DoDf zP+*w0DXGfS(_tzD5P8&9d~V*+bpEBT)ML`f7j0>gFDy7j*#Mb+D=QRBvY4OJA6spE zSUeRpk#iVaqoH|aMAH?8i%l}i6gj_Lu$XV2;a9TrV1vCSBdN$TS;wf1ml4o{vCU?t zh#50@pc`6b|>ZyiNWS#7HXe!Idmcipmy{I22jRzNBEZvQhe}X^kYRs@^ z%Ou8m%E7Zu$1e)-s()y1gaQv-A|OGpj_H3PcJkHK1Mkg7td5z;T07eQb7o(K%Fl?o z9IubG*IHa{OsWl?bYB{kGRcFJ=XeQ*-Hw9|NUwEboX zEb+ruocx@#w0cn_!>G|fU{Vs~fsiU9IjH7374;&A-O-B|3@S@z`BHGJdr>Kz)wgd0 z3OEz;m93JXfwS(5I^EaY5*f`njL@RqRhuhR9%7!0V9Z$+boKGh zQ);qOcWeVz=(cyhQk81oc(SsRvU%)x!pf9U#ql`I%10mJD#O|qkD^^~LEu|+YLLsr z5?`t_(3AVV-nfvi5XAQlk3!$&5gn&L-Gq8WwhZSfayS^+_W0=`+6U}ZCz(O?7?&Pq zeiIb-zDp?5%=TdDuk`P^r4l{-S6y`;fi-y8P|{pwdbrza`RH6zwzMI%@#6zxgh&Bd z20dLu?S#Z78UXS!#R5W8$)Z^vT|z9MiETyuas-EMgaHsGF*jgR$=)yGw4!2C*BT|T z<#VV@t7(-W|6)DjU%#Wj zTJ?-Z)S|uVb`g%plICVw8C4p>e%I~;fAhcDn$l0_=XEm9o7Z0G_xYL+tgM2(&+So`VSY3 z9Hu!EDqj!{D!I&sjLfsJSt858RDL>sEk_bn+}*!xa4+Q?H;F%t|%=T zO{Y9*mXu7&7+5a?=WCs<6&Prh9_08#*2NwMf`VEtfrtm+E%!ptF;)=--5q{eO|sgD z01VSBaN>frlgC;L7j`YvgV&A6Vr>`mZWydh3Gyth*Hx&5iSh$1*VHC>Gd~#}AL@n< z;(tbeSq7`gD7>G}zR4}KddUbk0^8rR+iF9ZfQ}9OrTwrX3kJHPYE%m*Q}4`DB3ume z<=f~`%DrrqjHiUqU5Iek5$yAnwSg|1LBB!c4v}mdx^}J){ToyGLvzQiEyRX=$sPEj zDMmtFu%jh?RuV-CUWuenJQd)h@xSRL{ucdoi^(49rKX`tIFgDc_qOP??-k*GtIlK_ zm~jv$3CeO8+PzmTTT+M|FAvNY#f^E$YK$>>DTFx#9Oj5QfabGV=f82{J zczp1OCJEeC#;p}Ww@GG;ldHMAskJ9zW=WVtc>0Yofq^R9@rZKR8~^G;U;kqH_Lz9t z1!$~x2sfAc6u3(zc3rP0f-QWU=~NRm-SOZwD z=kIGDL`92z-yK`j%59oqK+%C9|9nqd7H%ck6QM3%R-DG;@62|m#)i$4xW_P<2*946 z>$5x;P;P2pZWwK^+XDiRaDvb2B#W;03{LvrND&*m3uQxwi%)i{YN%Wi-}GfCd4`I~ zX=@v5TPBPfUx)Zs8{eoJFRNszj`C+OA$r2`Yi)pKEhyl6*GDE<2k9A3`QfhhHIfA;=Jnh#=#(7)VDV|&nA{uhG~xw^ z!U`y=z_&N+9^=zD%u@DkcXiKUg%|| ztrV{Ub`nEJC`?$S8((W6$>X4;-oQ6ugh|`7^p=hO3m5C@71CZw1JO3<_YJhosaemo z(ain62O2yU&7=~@?jBrD!fKZjJ|;^Uiw}R;d2sSB6fS?#tE#SWVvu26Upx64SKX$_ zig{8bXUXZ7*OI)RU42T@Z<%n(7@CwnZ{^CDE4^Pb57Bf#VCf`9+-nm&IO<+xp-vI9 zyLN4gPa~0>5pnx_1S}!f-Uf%VajLIto~n`qj!4evx4_8(sjyXbtuxwPmvs6+H23?* zPkUaxqi9CSAy`ADb64#D&_oez;EyJqVIuO|jtmgRt0W-3{8+rsE)q@QO4jO^E13E= zxjIeA{f?_HLM>7br`)M(5f(qcFmOJgOxbpt*J#gUlM_vgY)z0)(lIeO2&u@(*W4u@ zn}9QYHty|*H6l2E=yhxQWq7XSv=)c6Vn{67G5=1?tW*|%?RF0aVsI*7g_svvmY}tg z@|7ohOwe~MZ#VWXvQPWfFmACa90oBvAh#ACfs0CiznD;yxNa;L!=lx*vXrp1p6+ve zAg<8Z$h!Ha5&<29JbZJ9XRsKm*bqq8h%WxE`oSJ5u!+*?sH7M&+u$dwB?Vhx&#Lsw zHhFHhpv213;JY>Q-zFv9Y&vFGQgAEvH)G2JI#@0;DF>{DPL#RfT-A8`5y=cmTn#jv z^_cq44MHD!r2QA6xvmWs0F!(B6XM!PVAAum(le)iDR83lQh17jgWVW9(kgotQhmLg zTWvVKA5QxSlE&bHw`TWHNeYOgpOoIuq#3Hr+qYlJ5& zlPYOP5tmLP6mRA%kYshXqu^ZCk=~&<82%(^c?aJ+ESk%6vjGDrc**Ve$vhv ze45ta-_nqr!t3UU3&t3q>i!&&VVWLe?!w9AZ}yRKqXlD?p+XaFB4rR2#pu7fKqitH zgp;W8Z~xTL%ONVB`fmGxvbA=mi!ADV9eZbg%U3Rm`9ovV5*f71A~ypYWI^d; zqH)!#9nC;qHH1J|p3j~Q!7+cjGO6l2F@>)bOMxy*-bWiF&3xdK8*r_GH1HL1K>&xV z6Pqztmdla&^KyeGbL`u$rsYl2M#a|11Wwp0nKQ#&WGd#awX#tq4y0MCd9^K~eA|(} zO)8|4Okad4ZE-b~qwt0I2)m-534Sr%m6?+usSR@V2!w}GdMfmSS8xAllE+F4A!(~t zQV@hAf!E{3Sw1UnDT~Vnt-H_TO{;%wg534tp7=3loj}S6IE(m1gXO^UT`_nwozPKO zYSZOIug1h+5J8fvcA-rh5GOj0sDg)T?XSr}1ib9T*&OeIhvdf+4#;+Pda%;rV|0p) zfQ`mR_(qABo^XIgS| zcB3W7>B$vZRLG#f0%guoF~&&I@9l>Y8|OF9H0>7K#0 zS`XXb)l2#58J*ejSW)FG(KVK7510em{xYe+t6-6-me$)d)D)?_+GMbXQs6sgNA5~p z*-QQoNkdBpD>doLn}f0pbUIvj_d4C!ghcGicB;^?NLKLx!)JqizPe0U zcCa36Gm{S*oofUzP5kC#8-le^U>XTSLmSv++ALXjZx+G5Y&|6LiJvo@jwm_B35Q%B zB+#d(1#t!pZe*zQH{Y9rB8s8vid3RXKyq+(zvO;(8$IXx#Bc4g(?kPD24ML->)Vpn zc9N(3CR~2INDj%od7P2>vmQlWavY0&NuY{%ejL}1c%b#{jq4HrD+Yl^0eoe|!)i~r zra%Vazo{gh(AkKKy5`nf{q+v>&!~TB-r?^t)C@Srw{*sNR;}fB2L_NEa{T4I`VcM` z<$UdLo$oIm`QEJY8hn{X>$yV+5`v2hC0ZG)WUqyW#QHffb88XN;yTuy5P3t>zDe{g z&T&+UvJmL050*|$FWurXhq-U(q}Pyjn}r?sn{fBEIxJ2jvi-x=CrhBBmd%vcHF$(%V z`Jc0(AV{8VYD3h|JLRuBZ64*k#$z3#l9Jb+zMc^Y&=~qy|N59|#D%Vh36s6-bqYn0 z2@dSd{bl@&w-3(h04DvGIL>&GX$>G>%Ka9gA}XR3@vnwb<7w_P*xu@&rfA7xaJ$Mm zupZ^{`nO^^86O{fQCYIxm=1fBnQc|*nhw_@^>R97_*Xc9$#@6u&L$G;YRc&n^=&vO zc-!*KGWu@}x*Hhbmrah1BY-Wy@i(e5!D;~q#)2_<&sjN>8pYf=pSjjh5)SI{da-4U?rTbt{LO%&@-6gfL99nT$!1S%>zBvx9_o`!spN_d4m=f9Hmf z$01Q{oSiXurUNcDg5M#TpBAa4l_ZoH;RI&tqs7K^(L-h5&7uTF15im7B9nP`bJ#Hv z-!OR_tq!Y)V{}4VFnTTY3%M<;d|M@yXF?69#Y5LsEu6a9V->*?T}qAaJ#S@-yA_y=g5-*&1{Y%d#U z`+OsGXoP<@48^5h?_6NQfvu{q47$|)>ZP>;Sd-G z40sO|d&)Q_4C_CCk-)ibU^?aY@4WPqV8hA#CB0zhvJlP6B0yxfxiwS?U_QB^V{})I z+V*I_v?+9xk2u zgmp1s;VnM|gTtony`JwZzjb7TivQ3IXb8;+5kb@EW;q;E?lA{BHBNf-*JbCx{I+s; z;VW=$z@$Gn&|s}9REzX|QJ@~?!E82Fh4|Qj{D!ZTJCv&sGEaa0qP|T7HYU>8^j_yl zi5y601=e!XIeTt&kn-+eYooV8fdmeUTF6&5ZEy7r3&zgr!O9js%mcqkF0_A}OjeeS$l}e{a^U1W(x{7r|IlACPy+mzrIs1Y-ENQnaCV zR-2JD>1 z<~yrd8?572qr#_oC+BE4lmH6$DusRRt$iFgGtO>QD2e{EhvuvYeULQ@jqc+*{G4&6O?`M#K!gZ^A3JQ&=>>E9Gkm#~ER&@lYEF6SD)Ugr7B zXeMO~n*d`tog`fXS-vyAYG8>{(URpT)>GcsXMnjyXCMaH?ULsJ8Vtc3D5cqANse7k z*ira2)~F;^Hu0n^`$$l5XZH!3<7if_SrcC)`S$0Cy8X1FVQ<2hhg@MA+HFi+G7e6W=)au%N>tt1`R>I6L2 z0!Kf(=RNb6TjV=>9qL^Y@_sE7Wzq_el)&e%c_&wG*^6Py;zcB_0-pq16r&X~Z7pmw z!GR`Td3^i4(8=aJv+&EyF$a%L?lw{!Zq1-AZr0$C)A0$@jk2i>na@f0H;X3dpYd}E zq6GDSKW*uJmpZ(}DhL-FIAI=eW6NHRxUv7a?O2$xaR~EwI03mN2(- z+~G%ptX#9+(%?x192{r=sJ7U{w1OY=w?&#<6Nk_;4Lr_ptsjo(r0}cOTk&Ek&CNPgFx1@ zmkq44vf$B|VShu+CUw+~lB0)C$f_BEezSxu1CqJ7$@(|w-ON?dx-|>Qi+naquan8< z^cKireonXylAa^FcRDE?C+J9L12CTLFOa2kWB^sBmzN=Vw;5}c4FpPbDpH<;yjQCT zHP=ty{SCwX>z|uSueS`p)=gH(t=MX*u7&VK7cUT^+h*Vq{uNuvcgzgo*Aj~))~hpm z{yM4~#~ZN{Nwx@zaqm*J=G6}Fpp4%4QUg*k1wsw?9T$Vb$GRX@+n#4(eTNsB3l6qA z6`QQgeXoV0i<+ho^1^py?CoX&PwJ-G_VQI%_M^l@`6pe}@Ae zMwv{DJY5nYpUjQC{sYZ*d z+wL*-`V55+;aB3ji0`lfyXorM+c-exGWtn{SuR$^{0C^w-(vSh-Ja2=Uab4j)@`)|(U*v1e)LV$el_R>wGR z7}*Wo5nJ9|l3w2P41f#72-Xpwf$cFD3p{TXuEP+~GbmvU}AgNs-Z zj>zfYwuKgmPD>H?Sx!|L#B3Tm&i%_0KYE0XL;kZQ_N2+HoYHPPmpwQbpd+hoVXp(f*Q5C-AkHUXzL~P|v8N z$SKp=KrfFN6^v&Ec}##EMnXJ?8ocLe{ly@ZrgpCeum6zgwS39~y1+uo=_!2ss}OtV z)gjN63||WTjU(UmB2g^fwf>*$uWz?yUzPY|==#XUXQil-wNXan^^c;mtpStBqo@N+ zU!wYL#|MK57s2+?MmfvkHOW;!j z=V^CKP^db)h|;h=36uda^;x^vngxXKyxL&%-KcQ!sCr_Te@iHOczYTvWSL>i5}#QC z!qBP#jNq0fK%}pgUs=iCIsO6+qF(P(+5lnfb3>yQi_mDp3-CD*-RI0PuRP_KbN`_ZTP! zRQ~ami5OzY;c(nza&t?<${2`jDCp_&?u=E_o4*_=tlLXl#oYt^b&+~o!MPE%5Vm_^ zHUQkCr0X8hO=v)FDDZ=r^_+- zMq~*s04Z5hj~g+&e{}m(ul6lA9w@t;!B9S%&A^^9mv$NSm4_?oapbxpN;%4VH2JE& zz+IvqLx~!)&bBW%s8rX+IZ`!Sk(H4_W^UvB^DbQSZ38}z|Jt2+`QF-J#Qw(+xA*h9 z$C#Z#aY-Ve5s)b7vn6AQw)cpK?ZH>o>HAQY@f5*&#rvlT{apXnUY@z8D_AsXA;SS< zf&}tK*6;NMSYj(IQL(9RTB5M`43iHX-@NDZIAMD8MMm(5fc{R}ue-Y+R%2#a4ccby zs`|N<%UYPgN+f~U(dIKz{08R`;@%D2!_49e;Or1&AWP@mm4wgxwKnvv^c!W3z5EoK zi5)V@7kzJpsr5<*7;2T;t*QdaLwO}%HpCVNkn?rEnXYD>Daemvo6|406zUl?u5!fQ zd6wG)0z6aZA4&Umd0y`pZ=S15(taAlbrQ$Khmf>fVAtgLw2@$`Yf=V-U;3sYXfMcF zGrT*;#cSEl&8WoebAPve`I|q^hz+<+H`orLvGop{obxI`0w4`J7pO+PvsGH~m`=68 zoh_ZEv>=BTEsnl5#|U%q{A1I9qRTiho|aXc<~361`T>$*GxR9taH;1_T*HK#g^@A; zsC&wyHGVvLq&K}v_M#LZfm(3B|MA}*xwqf4;U(6KLrAzwiQ^W-a=ho@17;a*hOh1k zN~>2nTzZ}0r3w?^i;P|Gwwq+J_}3bvC(^k})m(ZRpb0p`ZfJV==h&`JmEXu~e5D$MkTknlgZ$m{vsOMc# zN!d`62^5swyx-SfQicwSF9 zL%xt#sg@$w=IM-M_u=rLz>v%&2xX~HG2q(s#w|HVvgYzhANvZy8{KP!T8v-QxtU1l`sAcuu06yJFh^N}{aAToK)Y_VF)z>AV z1pNN+Qi3My+EfamYKtv{JWzpN%PN!Lk9LVOjQP|+Xmq>ki@4+9_13er?roBQF+<&U z;G$Zn)2f8%-ZKORCh{8ixznZjKq!h38RF$4&Eh>- zWF(4H0WkNB7+6F>!d^YaILNc8_-{^S&ASXL>xPevTB0&b%m(ozhOP!eFf;ZZ!S>vK z;=;m^zygGe4%Z9e|4gNmh)R$92K3L~nHX}5Xoz@qZ#L{Vg2Ls<5efjtS1~CzkwW>> z?!Oz7#tm)HIM^3_E)r3zfiW!RK1k0m5Sda_VCv>}p9sBiE(vRxnNIz9>fS2@WrN?S zU$Wb5X*+%@j9N90BilVml`jPuOXavD;17{A*;gIwHx*T4nowm~n2T#v%&OJ92p6en z)=$>BY7Eu4PhsHlKJMCZBlt6FHXuLXcQa3uV3?LDxSGKm94~FEX7U1AHgecu9eE6Dj(@uz95shZl;%gMvkQ{n7g#e3a_H+0T5eoJ+RAlQQv zjiiI{*8jk()wq^t;R^J?=oI3F--2T=OkneBoA(w{#n;}RL9>S$$~d=lNeehj7e^8o zj6#3y66MqRQbzfo#U0iHAN8g(J>nnHFZI3y+KF!24RN3%k_hb~y_ftg@64xvhQt#X zjLr`D9UQjm^&Me=~H8(U8;v8AgfNiZpAuf6nzuD#3@^ z$#Y&#cL=d=PWG+3X*GxpnU#Mmk>7cWuW0ex5ZB-qEf}@K&h(o1x~S)?d_ZNc>^ok+ z6!|OtiB&8FA$o}m1}oh5WH9Wj1?IA6DlUc5=QWzm%F($U@AwHCbA6JN#d=>SYg>y9 zpZWUlsgE6PjihG}SkJExOmDLz*nkwd!{(C+w1Im%d9c{pWL2-K1RGS9PO(ysXL|n7 zoIzN9H*eGgzajg3N*j~;G5@82=ru53D?CnYLwoLlL!oMW2p6^EPhqCu_*_yA| zMnsUt4LB5Z2|m4Y(1E_eTQ@{}fjlwY)1TK$q&>RRe_-HOr}jQWj&dGi&q4pICGN=c zKI~?gzQn?34~g`}Y5A7s{Esw3*_`YwQ4*dpqhE@mB^_uVH?r1(d&H-wy**eJ6IVuz zsX~{xt!Co_5t< zo&TUC7g6jH*fJKyT+it6z{#kzXiQ$py|R?Bo@kfm^G1lhwW}qCJ{u`2l|4G(!g?2d zTQr-{J5_U=9V(s2hOhIfu|?YeOwrLjPHUoBl}1u;g5EfgSmL|KE6>(eH4_T&X|T<9 zMNqj0!tWjECcGml9`Q<`nb#-&QtXC6*js#268hpP+DN_3?d%7^KXjDO&x{{Xd*#Jk_@-wt@k zMfg9ZTv>}d*YF>OEi{8japM{rRgdbAvM+X<7Kpo zX&fsXKb94vh}*m@i5n|i$l`cDw)mB$L;F2^J@`TJn_AR$OK%kTYfAAa#$Slz!`GkL z8uy3(EqL!tu($9QovLcOzM14h4TpjZa$I#UlaZyX_I)bRq?lld>wP7>5yJ{i0T(D4}vt`5n11Az7Ep{lXNWaZ8V{ywx?@s z_qvt5x2N1e7)zn@IirVg76U0_tD$|Q*;8&5zUGBGk0+3}~0SuCaAxrs?`^z1F3Bsa?Ijv=-LZY}Yef-Ca1f zXkv~0*-~YA6kn^&Z8fI2-|&}D^U|Y2oo5wJohph>F7Tw4`5;H%V7g*mqv#|=)3QdK?|PnyS<>CGxq-dt>5;O_@{qm;Wle8g&qvlZZyvZ!bDM9>(_|S9ruf`lHT6l z*EvP%$;HKLqHL|OgtwD-c=N1?(Is$4~NaS>D- z9bs4%V9QNzSADEx%QGCL-fJ4GFZN_?VG>+3Zr&w(b_2|Ct|A9?GsPKCl6b%4<*mG@ zb&4-3*7H+|e5djyw3_E39j;Xl#4IiI_FOZv0?8e{#kAlgZ7fpDw3Y7mlY>#6XsD$a zw&}_Vxkgq}c8q7u7VMh$d1Ym8PG0GI({kjb-!CL13Xn=Om8PvebiL&y^m4n6($%*; zvAosp<&sNXv%(oA`&GWgpU+<{tyOI;e7AJ-3aoxw$r?Pc!mT7RMJ=mlxV4ocyV4Y0 z+U;1@6@!x=(t)*~;TMwXZkj*wd4M|xKEWivvp9@dnEV|^36 z)1#}XkM}Jd+%~bv46+gD!jbkmR8|*%zY)u9W-aB;;wj{iM;lC%M;VF;VuC2yZRDM# zWtAjr$l-T$P7O)AYF4Lzj!I6=dpO=#YUy4wh59Q>^(7QragQ>nskqZo=C`v}P@gK4 zZ9AmfZ;{GUmE{)UIL<1?zMHL21T(gurWTqQY%z?UD9e#}Wg7cMX7RXyUh?B#!AXWtLmdDN@oH_HB*V$+DJfNn@Gg zhDft!SUfR)>Nj?{$v4-&Y~D=a;*cuGZz@^cTgh=8lbE1oyHe0dm?0vLV$uHa#wGKT z2HEh%q15lAhgj4ut>Kf+NLxnGQ&+x{_Iq+POGxYz<4jwNYm507+C_VWwSqf_mLqjM z(ZN{Gr7mB3e)gQ#grwY4=#-M@io2IA6O?S7xe|WG7*?H2P>P*Nr7l`r(y3CUU&Bo( z^GYh52RecAapBiNqwfze-4vA4c5J? zXkYM<6ML`en#I18XK?qI9x2egQKV{qBk(+zS{3wG(CMd4@SdM-2AO?$JU4J=@kQ>1 zZn)8B)h_j$9YWWCLh-e?hog&9)I39X4V8uEpMvzuTP=HD)o!$Zh2A#Nd_j4w=w21F z@fMB-m8Hclvv|6pT}Ic$dZd@~Hk)fq61=4R7JMjkV7VYZiJtST>il zS+>)BTLs$1r6tsQRpsn{AdzphzqH<_n{^fKm7|?51n@N91b@L={{U^xLG=sY*)QQ% ztg*#s94F&0yK6LGXt|p97-X^ddu1)Oam{B7+szHvi9$npcYPb#cy4)NuuV(D8h4)l z&Hn(jJ-6&H{{RI40MvY0Ewhh{pB}tr;%mQ#nibq}%FwNiovwgtMTv=P`dIh90 z-Ax4d2`-^`CY@~srgx9J+}!G# zjyCV2=Mj{p2x9ZdhjF5iE?t5(&l6*^G>}n;pXlS{Y%v({5*qRl1PM3>K+rdG?PWMQkT#RPzjMtjLKW z59mx2l(%iJCmAToPMdD&Hm5jSR^>Z5 zsI;N)O4gjDttmlCQ;p}lMs&52V}jgB7;j6dB-sQTZk?v`tY(e{-03*;!X#|5Ow6kH zQ%5GDYYp|Ojwvq|C?sHzw8l7m$oDL9v#Jp+0ovPaP%?)eU9!oQxRoNkx|%UEqT4`3 zYc!G>%)UvMArz|7DGU3-EU3){x7&b|%yQ9}vo+92_r`)aq*Q35`#J`RV_+5-k)ufE zVG68|wdGiYt-8r9#kbO$adf3R5vLaY=N+J(l6=wTjG~-xcIr6ZH)>K+#VK>SPMwvY zxgzf;dU8^3E<4&u#a(hfXsb$cbvg@so12>`VOXuBHmcG|1;xTj>$T%a=b5h7C%26w zA&hX&&eJr$UA?*wFj}$HqiIw`k=V~~@?PHF#-37P;z+~@Jd0Uwh+uC3ih14ql`R@2 z(QXv#*V2Ebytevy9z>Hv3rbp1I8*XP1**rGva_$9a8euv8Iv)`0M)$9n_E>$E$uAs zBzt&XWM(aP-@d%MxFRLEy0{DFNTw!?MHpcOXrp3MlTMR#eUrM2vQeF#+>}ywYoyz= zlW9A);M%C=9(X8DQc0yL{BpHB^K^u1w3Q_nbenII5ofPQ;~T||6hjPwQ9zL1-o|7B zKn`Ps#|&k@@ko&(Ozn*o0069|@ghR23O#^WfQ>|!yWA{eXb#b`BRBvCWJE&QDypOa zR<00k?-RS%-G`U=U!Pa&+uBbTrK!@kmi_i$x4UiWH`A@&n%}Ok#ea#uCHSx7uNr(x z*JW6B9}w#@Udg9BMC+wPyUWw`s{+x%DAM$uE-Otg*=>YE$4a+?)(BP@);IIyeMUui zt{vl@Y>J%0_JJxoNrq`!WRVgykrc-$5=9A&l~`gpxn(u&tasAfJRfLt=f&nj2yl<) zBgYi04AIAItWfL--c0DS3DQFy)H4aT+oMZwY|nW!7T7|ER*i2M`5;GS9{Jujcw+^v zPmyyis!RTvHd2(O8MscH=51b4P1@x_Mds9Ti*WwW%!cwPP6g7t=^g99V1IN8VYI_ z9x>H*sWdCy4%frl<*N97l2z4p1&Z%aGezQ;+M-3MZu=T6TjNNQGJLswk+CwUU&;WX zCOoo2!!f7~&nMEq4m@9LWYJ#f_ZRj)B{v#%{eo#;9-iOCcRnuC?w-p<@Hc}spAYNW zY`zZC{B@zS#o|8~E}b5tl2|sD%O#TC!>nUcE_7-_Qs+{8$C0*_qU7x-3-ZM|HO)EA zIVDD|)DLF>lw~@K(Wz3L=|;3AQO<|9ilID37}0ex6U5S^D(eML4NA5$SoeaC7L8m? zX<>0aW~()Xx{i;k>H3P=TG{JbRo(upqo#|ic#2IA;&+FxY`j6DUCZGA026#UWtBB? zsk?kK@a2x1py}57rS_fT&mY}htG=tp_(N2iL3_pVMEdTg{utBOK-at_D&1**8@Imj z2CH&3h`dQH&b@zUum1pIEKq6|x;?CsY4GZImT}leeQ{@T_Kv^ATIPwYS?dzmYT9kK zk7H{kox;ti4-?zyeg^T*qowMp@SouS0ET>T;Vm!35O}Y_J|)zzbng{v-Ub?c7M9cM zcWbCFkFKSV`99xQTZ^eAkHhv>vCCy|Z3T{+mj>Quu(OUEtyb>aP`sXbH7!BZ+}*q| zLuGL4%WGwCV;HrpF!b!BD$#_iNlH#lROE$blBXYf7O75*W9(xYN^z2@I7it+5sV7h zg&LBc4iTW2BcP)!9Os3pO9={iX9pX>!wF5-uPj9hvW;xR8HlTw;w3``ht0A6jqwZO z?~J}E>$ct`@m0fLt(A?wh2fhdv$3|1K=A&avnH3K>2`5NX9cCTtcF&VZEUTc^7d^@ zRlIwxTH&UbmN!imtKBW6(8rs2g9y#K+Nu_K-+V}177sed9otCu@kru3iIQe9*3)K& z;?)$wt8*-}TL^r$@?1=@#w3#7IBvk5KQMU~@=GLe$ivL?(ZfVi1u=^ZtH8HRh1MvU8PAh6X%yeQkUB>t%Bn1ulRDfp!E;%1 z$@3|DE5*3o#_g#}Fj9J}Y0TBE+q`Wj7i*^)O-AsKzwZ0frFYENG;JyBrsFBcRn5sM zd|b(5TmiqUk)TCHPq#o7V6d=~ z@!+-He4#j0+BY|9rmQiIQ!07QYMJ*JEJGY@` zF5;a_Ms6{ttkv66+Uc%mXBOSud92qYQcbxS`#4mCsOcpux1*-{txicfN0~V#IZ9Hr zZ8sM02tvyq;`!!~Ng%glxg#we^3ou7jUkZCW^&Of5u{Q)mhQzFmPr~kOWIY;B4~H% zb6hpLxMr4RK4$0g;$aebZite!WQg8bX8E7xaTKWeGpM@8bi0|FZz*iWy|KjdyTb7# zu)}HP$skpD!!&WuWOB&zDR!5o)8Ta6ANG2e6UlMHwh}b$DRt-QFn6Fk*Hsp zZ5c^LG`*yjs_PJ{seoBxvU!IxA&CT3|*114_JL00EZf z77PbM7)gc)sA1G|MK^;@x9qCByWLTXPVO&8=G#un&hK@r>+F4cggwVbt>f;$aXn*Y zyRUb)?^ka^DX!$Tf<%TT+bWOwZLpvoaf&6|ZgB_zM(S9Sq=ef6Yggwr2`(eITbG8` zHIxvs!tPZ-jN6ovOfmV&V#p=f$nNgaJICe08AVMrqS{MNX6-L~Sh!ifYu?Q#t@YP- z+rl*9om7)aC?vV1Yf2GMOY3y4uGe<8-SI7CkInL;^Hry1igk(7-7aHkS^T#qJEe{# z*rY||OsqnOEU24$&jM>NW8$~Bg5J$;HG50#0^Z`{+IyjhTZj_MOEE>TIPDX2*&8Pt_ICbi^s6l|sOM@dS~ElD@bnw6Q?frM36 z6q;2jRHHjNCh66~x^s$Y-ZzC>iApU>4XHuKQHxza#OY(1v}rAD7e%qvqPd?&&}{X+ ze^t^vJvFOGr|Z+(9e(pry`Fy)>J~rR*OEzcKFM(;o=BH;2GfUZMOMRPHEsG_F{t{OEOPI8>@CX;^cX+c{{D?%zN$!LwG zLXw3$Mf=W;*F5agAd8B2tLBe)ABF~}rkj7E~p zn9@cL_{b<9&M$i-@rn%%1Q~_g$Zuuz1DE#D-D7jk7b4uLG7Sc=X+CGXu%Nt#a!6b?~7D-WLjU7}nfU3$EC;@N) s1Pl%aFgT)$Dy0Z>%iUiS@>|2A)2q|W?Rd;mZ7R~T(P Date: Thu, 12 Mar 2015 15:35:51 +0100 Subject: [PATCH 17/39] Minor clean-up. --- .../com/twelvemonkeys/imageio/metadata/jpeg/JPEG.java | 10 +++++----- .../imageio/metadata/jpeg/JPEGQuality.java | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEG.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEG.java index 265e8fc2..5bd34e15 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEG.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEG.java @@ -68,13 +68,13 @@ public interface JPEG { int APP15 = 0xFFEF; // Start of Frame segment markers (SOFn). - /** SOF0: Baseline DCT, Huffman encoded. */ + /** SOF0: Baseline DCT, Huffman coding. */ int SOF0 = 0xFFC0; - /** SOF0: Extended DCT, Huffman encoded. */ + /** SOF0: Extended DCT, Huffman coding. */ int SOF1 = 0xFFC1; - /** SOF2: Progressive DCT, Huffman encoded. */ + /** SOF2: Progressive DCT, Huffman coding. */ int SOF2 = 0xFFC2; - /** SOF3: Lossless sequential, Huffman encoded. */ + /** SOF3: Lossless sequential, Huffman coding. */ int SOF3 = 0xFFC3; /** SOF5: Sequential DCT, differential Huffman coding. */ int SOF5 = 0xFFC5; @@ -86,7 +86,7 @@ public interface JPEG { int SOF9 = 0xFFC9; /** SOF10: Progressive DCT, arithmetic coding. */ int SOF10 = 0xFFCA; - /** SOF11: Lossless sequential, arithmetic encoded. */ + /** SOF11: Lossless sequential, arithmetic coding. */ int SOF11 = 0xFFCB; /** SOF13: Sequential DCT, differential arithmetic coding. */ int SOF13 = 0xFFCD; diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGQuality.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGQuality.java index f4d0ae29..623c0ef9 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGQuality.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/jpeg/JPEGQuality.java @@ -232,7 +232,7 @@ public final class JPEGQuality { throw new IIOException("Duplicate DQT table index: " + num); } - if (bits > 1) { + if (bits < 0 || bits > 1) { throw new IIOException("Bad DQT bit info: " + bits); } @@ -247,11 +247,13 @@ public final class JPEGQuality { for (int j = 0, qtDataLength = qtData.length; j < qtDataLength; j++) { tables[num][j] = (short) (qtData[j] & 0xff); } + break; case 1: for (int j = 0, qtDataLength = qtData.length; j < qtDataLength; j += 2) { tables[num][j / 2] = (short) ((qtData[j] & 0xff) << 8 | (qtData[j + 1] & 0xff)); } + break; } } From a0bd5034ab69828a1b3b8a8fde6f064475885df3 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 12 Mar 2015 21:16:16 +0100 Subject: [PATCH 18/39] BMP-testcase from OpenJDK. --- .../plugins/bmp/BMPImageReaderTest.java | 21 +++++++++++++++--- .../resources/broken-bmp/corrupted-bmp.bmp | Bin 0 -> 1661 bytes 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 imageio/imageio-bmp/src/test/resources/broken-bmp/corrupted-bmp.bmp diff --git a/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderTest.java b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderTest.java index d1417675..80ae803b 100755 --- a/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderTest.java +++ b/imageio/imageio-bmp/src/test/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderTest.java @@ -6,6 +6,8 @@ import org.mockito.InOrder; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import javax.imageio.IIOException; +import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.ImageTypeSpecifier; import javax.imageio.event.IIOReadProgressListener; @@ -23,9 +25,7 @@ import java.util.List; import static org.junit.Assert.*; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.atLeastOnce; -import static org.mockito.Mockito.inOrder; -import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.*; /** * BMPImageReaderTest @@ -171,6 +171,21 @@ public class BMPImageReaderTest extends ImageReaderAbstractTestCaseQK?c@@dO@WWMRdK0VdQpU@1}`fT;^%>zGIItF%+t@(2`V=$a^t zPqKV`{*$E1%zzM@_WtSZJn`ce>lNmUpLg+7FP$vRoM3jNg4O{Z{v=nT zOVQ`2W6sz-+ax(d1h$y}G(4sz@}6-dnQ+Us3tn)?It?#qbt8w&k#$>N5p-&KJK`d6 z-Rc3k8F4w{ Date: Mon, 16 Mar 2015 12:02:31 +0100 Subject: [PATCH 19/39] TMI-113: Worked around a rather nasty bug in com.sun.imageio.plugins.jpeg.AdobeMarkerSegment by filtering out all APP14/Adobe marker segments from the stream (and re-inserting to metadata later). --- .../jpeg/JPEGImage10MetadataCleaner.java | 34 +++--- .../jpeg/JPEGSegmentImageInputStream.java | 10 +- .../plugins/jpeg/JPEGImageReaderTest.java | 114 ++++++++++++++++-- ...e-progressive-negative-component-count.jpg | Bin 0 -> 33518 bytes 4 files changed, 129 insertions(+), 29 deletions(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/jfif-exif-xmp-adobe-progressive-negative-component-count.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java index 420bd1b4..6b88eed0 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java @@ -155,24 +155,30 @@ final class JPEGImage10MetadataCleaner { } } - // Special case: Broken AdobeDCT segment, inconsistent with SOF, use values from SOF - if (adobeDCT != null && (adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() < 4 || + if (adobeDCT != null) { + // Special case: Broken AdobeDCT segment, inconsistent with SOF, use values from SOF + if ((adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() < 4 || adobeDCT.getTransform() == AdobeDCTSegment.YCC && sof.componentsInFrame() < 3)) { - reader.processWarningOccurred(String.format( - "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color component(s). " + - "Ignoring Adobe App14 marker.", - adobeDCT.getTransform() == AdobeDCTSegment.YCCK ? "YCCK/CMYK" : "YCC/RGB", - sof.marker & 0xf, sof.componentsInFrame() - )); + + reader.processWarningOccurred(String.format( + "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color component(s). " + + "Ignoring Adobe App14 marker.", + adobeDCT.getTransform() == AdobeDCTSegment.YCCK ? "YCCK/CMYK" : "YCC/RGB", + sof.marker & 0xf, sof.componentsInFrame() + )); - // Remove bad AdobeDCT - NodeList app14Adobe = tree.getElementsByTagName("app14Adobe"); - for (int i = app14Adobe.getLength() - 1; i >= 0; i--) { - Node item = app14Adobe.item(i); - item.getParentNode().removeChild(item); + // We don't add this as unknown marker, as we are certain it's bogus by now } + else { + // Otherwise, add back the Adobe tag we filtered out in JPEGSegmentImageInputStream + IIOMetadataNode app14Adobe = new IIOMetadataNode("app14Adobe"); + app14Adobe.setAttribute("version", String.valueOf(adobeDCT.getVersion())); + app14Adobe.setAttribute("flags0", String.valueOf(adobeDCT.getFlags0())); + app14Adobe.setAttribute("flags1", String.valueOf(adobeDCT.getFlags1())); + app14Adobe.setAttribute("transform", String.valueOf(adobeDCT.getTransform())); - // We don't add this as unknown marker, as we are certain it's bogus by now + markerSequence.insertBefore(app14Adobe, markerSequence.getFirstChild()); + } } Node next = null; diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index 096d99d9..ff58c0e9 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -117,9 +117,9 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { marker = 0xff00 | stream.readUnsignedByte(); } - // TODO: Optionally skip JFIF only for non-JFIF conformant streams - // TODO: Refactor to make various segments optional, we probably only want the "Adobe" APP14 segment, 'Exif' APP1 and very few others - if (isAppSegmentMarker(marker) && !(marker == JPEG.APP1 && isAppSegmentWithId("Exif", stream)) && marker != JPEG.APP14) { + // TODO: Should we just skip all app marker segments? + // We are now handling all important segments ourselves + if (isAppSegmentMarker(marker) && !(marker == JPEG.APP1 && isAppSegmentWithId("Exif", stream))) { int length = stream.readUnsignedShort(); // Length including length field itself stream.seek(realPosition + 2 + length); // Skip marker (2) + length } @@ -133,8 +133,12 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { if (marker == JPEG.SOS) { // Treat rest of stream as a single segment (scanning for EOI is too much work) + // TODO: For progressive, there will be more than one SOS... length = Long.MAX_VALUE - realPosition; } +// else if (marker == JPEG.APP14 && isAppSegmentWithId("Adobe", stream)) { +// length = 16; +// } else { // Length including length field itself length = stream.readUnsignedShort() + 2; diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index e4a6e2b7..9c9eaea5 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -418,9 +418,13 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase spiClass = (Class) Class.forName("com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi"); - ImageReaderSpi provider = spiClass.newInstance(); - referenceReader = provider.createReaderInstance(); - } - catch (Throwable t) { - System.err.println("WARNING: Could not create ImageReader for reference (missing dependency): " + t.getMessage()); + if (referenceReader == null) { return; } @@ -1196,6 +1193,21 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase spiClass = (Class) Class.forName("com.sun.imageio.plugins.jpeg.JPEGImageReaderSpi"); + ImageReaderSpi provider = spiClass.newInstance(); + + return provider.createReaderInstance(); + } + catch (Throwable t) { + System.err.println("WARNING: Could not create ImageReader for reference (missing dependency): " + t.getMessage()); + + return null; + } + } + private void assertTreesEquals(String message, Node expectedTree, Node actualTree) { if (expectedTree == actualTree) { return; @@ -1347,9 +1359,87 @@ public class JPEGImageReaderTest extends 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 Date: Mon, 16 Mar 2015 12:05:52 +0100 Subject: [PATCH 20/39] TMI-113: And the missing test resource. --- ...adobe-sof-bands-dont-match-sos-band-count.jpg | Bin 0 -> 4413 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/progressive-adobe-sof-bands-dont-match-sos-band-count.jpg diff --git a/imageio/imageio-jpeg/src/test/resources/jpeg/progressive-adobe-sof-bands-dont-match-sos-band-count.jpg b/imageio/imageio-jpeg/src/test/resources/jpeg/progressive-adobe-sof-bands-dont-match-sos-band-count.jpg new file mode 100644 index 0000000000000000000000000000000000000000..63adb6db164f46e5953cf9bb10eb90596c930b6e GIT binary patch literal 4413 zcma)#n``+55N8xu?!QozDS?n;JJX01y}e9EcBaz6BuFyzO25 z0T2KMekpTY!vi}0YLzIC|fJgxJ{|orP z0{KV&-5d-85v|1cAH)Cqao!FfNdY-P4gx{~U?d2F1f9PFz5oC*7Kq6DAAyqqFeoV* zgqR8VUkd<*gCQ^y5Q11L1O$h|VE=9d20@?z436ML(x6BL(6kJiVqD@pbQ1KE{8GeR zU;qk%LC9cazuk#3p#YKw#zjjfuE#?USLW70*rHV=P|-zQ*cW3dQu=lgyk1WneHdtn zc|b5Y9P%GD5P$@8af&PJ(QMn|lF$%@7`A4ZJFktF_7^LW0s=VtF-f!#nfme*=^dq9YQ5BzkPF8E;>T9%V~!qI^sSN{$XNeD|{Az$uxVK`&5p zG_xig&{A2m8h5LgYtC-+%HPs{J$Oj2W}f5)Q(bqNkvhY&1fZ-~WOExu*jkL`mqcGzTzVf`N6!l&?iI*ZHi!DoVr?XehNdCB# z_H4BA9n%c@eJ#t!d==SXT%0)ny1PqJB(_4!w>LUrCm9xE*`1Sb-n)tWTx=CBIp9WN zH2J+Rl2T_vY6$9o(wj7BxObpQcMiw~Io9MnnQ|(0Mg2XRMjm>x_>JF`2L(ftZHU2W zfFrfbVJ3a!m2sYC(e^>3&e zn2zRnW@@L7ELT?{_g`vEO%NZ0m*tBfN%bFOrquuR$?0ECuM zUT*V3<~+7*)>>WWcJ(Gm3JZ7DA4*z{9F^+wrl1*6^c?BZ(@%K!Y4V?0;m$`V_HA+& z-Ly?izEphKkp1rqanI|(0p&-z+Dy9E0Z+J$*bg5%a|=ri7-rymz|uG2X6leCbMw1&#BeFX(Ycg zK87GYtBdE%QKRdBr(t-gBO#x}&cUkIU34fNy9kw~QlW|6O5!T!*1ML(p}i%O&snJD zkPj>Jj1f*K>F>hg*DE8ArDjeQ6pLP6Seo+PK3WUH-(727@($)8jI0M#D=ZzzD+;8H zc{I)VJCAm-P|ssLw5@O6uN2wMj*bIIG$lB+;{A0*j|U#d*XHr3(2rR)(5jPFxJh zF7)UVjFYUZy+2^*OF_S1{h-2P-om+GgFyyPl|(DwQ9kwXBil%#Og22Yettf1!kf553@P&Ls#%nSpO=nr_GK z96=6HQbL`X&QtQNHtx*FuBwL*+X#9xMoP70IheQR#fE3s9x*v(-Xp}P>}3^|c|>e* zB)ZH`@;wQ3H%^qW_NcEaG6MCvnxtoT=t3Ks9M)_-hix+)ac>CIFTFfDExg2eW3`!FMf~ftSWU$@C+o6t! z3VBm25|YkNQ+%|~v}4(i=cRqtf8t$2`zD;Cn!i}MqVp6w@2=8ZGpa$v2S*!}UuHj) zX}PF~J_iQ(cC%kq1TwkbSFy zr`CREC_(DcX}7q=U~YU8>!?sUX1;QA`~6@Q2*RPy@8{m%@#d1|<|TVtmshiTzY-$oo}A7o6sq zh(41}HMMXSA*_FAv|J}RDe`k^15z5%gRIfjHW)BRIk>;(du%|NQ#ln; z%KM$#Exhyura$RcYS145`?ZiIFDt!Q`@z;Z-j&#f3$2Lhbk!kSrs85MXo{BdKZQpyN}-5 zT#|@CSyT;IZ!LvgyArSrSkQLTq15!GlLh`lFbf&bo!u$@ag|eXCf`2ecn4xB2J_N! zPOZqB7v+q0r|yTceMCFrTkuqO3@DUgKTb$In=d3frrYcb3w^-FKk%dF56dAO?UU2;BW zv`nUP&x@2ltvSF~ZYSB4@Bxc5EBRf{d=3Xz^gXam4->Ffgk&JlDUB;em zntig|R1u5jG7(&#Nq@memTD-Zm(4&aw+t0UeEKw?N`(WRD9{H|rTHqVeWcSBO+bIh zV5P}@WL%?pw}|Kc5;e{wQ9ay-ex2nO8wO+ZN#f!}P>|=w)`gXiIgA-z?rt^ed19P9 zv<@*EvYRr26Q#|)_7gq8L|(8!D}H74#t9j3QZUD#P59U7EJRy+o&$adE=9 z%J(kG94cHZ2$E;VICVTcnv>G=kPD8rXzWf9M=STt5x&Dt{U!RofUc^A@Dy+kepU^B z*!I`=+2Z^y{&Qfs=rH@Vkb{C}v5FH33o3d2ZNr(xk%e#+YSDGi1&2^o9SyW@B$oEy z(=>w6##>kdEO~PFy8|sxc`p#}2!cQu@s9NSTubZ#1R{jl(`e~Er`4?kOt$nR1U*Fb z%0AC1_p?~fR^I_zCb8Hs^=lB`_gZmfiQ&@$R2fj$)*x(e)K`Z|D+*D@WCm)LdW)&u z)dn!WR~OtkS9Cu?u+^?(ejc`tw$tFLbEm!u3uq+7x>*`WoS`0h`uZYtQ8sya5aA9 z_m0Jd3-tCYtTU-lK8JO2%>J#uzzK9d@Gq^9O&*3xepF%!mdW1`-y~>x?Zg=ftuOs` z``OQ_Q|w|d4c}{UKQ|#Ghd0lyS?{5sq6X6$H0MwPR4en$ypR%6-u4)i7pIX|vb_sl zNIUj(hLq@8iF-PSyo5TVCBhZwjo9LhR^^lrLerPai9n5vE4$ zuZwB$O~yQbalx}NzIDX0@2ZfJ)k`F+$a8MPYk_OartHTjCCy8kNt7pD)v5v!BS3-k^yMh+`!Ny zw0bveWC?_#dU3yRb&X@Y##PKuQq7=Q z6}Y(rv%{=xWcHy2CiSOIkt5`Yo?$aalzs`=t3kg37m2z{z?0aI*|g(EChVx{^WKGR zu_$md+E0C82T5Po+lv#T5Fv@|7DJ3Y=Th_XT3;-qOa``i7!vIwVvEPAC_tPmTA2ks z$4?Sl#&#PK;2C3dD!Y zd9D8X{5Qp^pB6mJerPgFtKjT+$>*I&Um-FonN-f9D2;*YVGtJPVE7eL2Xs Date: Mon, 16 Mar 2015 12:12:06 +0100 Subject: [PATCH 21/39] TMI-113: And fixed tests for JPEGSegmentInputStream to pass, as we now filter out App14/Adobe. --- .../plugins/jpeg/JPEGSegmentImageInputStream.java | 3 --- .../jpeg/JPEGSegmentImageInputStreamTest.java | 12 ++++-------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index ff58c0e9..cdc8db23 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -136,9 +136,6 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { // TODO: For progressive, there will be more than one SOS... length = Long.MAX_VALUE - realPosition; } -// else if (marker == JPEG.APP14 && isAppSegmentWithId("Adobe", stream)) { -// length = 16; -// } else { // Length including length field itself length = stream.readUnsignedShort() + 2; diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java index e38bc75d..4154b77b 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java @@ -111,15 +111,12 @@ public class JPEGSegmentImageInputStreamTest { ImageInputStream stream = new JPEGSegmentImageInputStream(ImageIO.createImageInputStream(getClassLoaderResource("/jpeg/no-image-types-rgb-us-web-coated-v2-ms-photogallery-exif.jpg"))); List appSegments = JPEGSegmentUtil.readSegments(stream, JPEGSegmentUtil.APP_SEGMENTS); - assertEquals(2, appSegments.size()); + assertEquals(1, appSegments.size()); assertEquals(JPEG.APP1, appSegments.get(0).marker()); assertEquals("Exif", appSegments.get(0).identifier()); - assertEquals(JPEG.APP14, appSegments.get(1).marker()); - assertEquals("Adobe", appSegments.get(1).identifier()); - - // And thus, no JFIF, no XMP, no ICC_PROFILE or other segments + // And thus, no JFIF, no Adobe, no XMP, no ICC_PROFILE or other segments } @Test @@ -157,13 +154,12 @@ public class JPEGSegmentImageInputStreamTest { @Test public void testEOFExceptionInSegmentParsingShouldNotCreateBadState() throws IOException { ImageInputStream iis = new JPEGSegmentImageInputStream(ImageIO.createImageInputStream(getClassLoaderResource("/broken-jpeg/broken-no-sof-ascii-transfer-mode.jpg"))); - int fileLength = 2021; byte[] buffer = new byte[4096]; // NOTE: This is a simulation of how the native parts of com.sun...JPEGImageReader would read the image... - assertEquals(fileLength, iis.read(buffer, 0, buffer.length)); - assertEquals(fileLength, iis.getStreamPosition()); + assertEquals(2, iis.read(buffer, 0, buffer.length)); + assertEquals(2, iis.getStreamPosition()); iis.seek(0x2012); // bad segment length, should have been 0x0012, not 0x2012 assertEquals(0x2012, iis.getStreamPosition()); From 82c6cce997aebb7d3c3d6762e0a14835c5d09ec2 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 16 Mar 2015 15:11:59 +0100 Subject: [PATCH 22/39] PSD header error message clean-up. --- .../java/com/twelvemonkeys/imageio/plugins/psd/PSDHeader.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDHeader.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDHeader.java index 7278f3f5..cdd31def 100755 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDHeader.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDHeader.java @@ -29,7 +29,6 @@ package com.twelvemonkeys.imageio.plugins.psd; import javax.imageio.IIOException; - import java.io.DataInput; import java.io.IOException; @@ -120,7 +119,7 @@ final class PSDHeader { case PSD.COLOR_MODE_LAB: break; default: - throw new IIOException(String.format("Unsupported mode depth for PSD: %d", mode)); + throw new IIOException(String.format("Unsupported color mode for PSD: %d", mode)); } } From 824613b4f18e02d398311f9204c3fed3d81a1e83 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Wed, 18 Mar 2015 09:41:01 +0100 Subject: [PATCH 23/39] Clean-up: Removed some commented out code. --- .../java/com/twelvemonkeys/image/ImageUtil.java | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/common/common-image/src/main/java/com/twelvemonkeys/image/ImageUtil.java b/common/common-image/src/main/java/com/twelvemonkeys/image/ImageUtil.java index c3d2f87d..4298a88d 100644 --- a/common/common-image/src/main/java/com/twelvemonkeys/image/ImageUtil.java +++ b/common/common-image/src/main/java/com/twelvemonkeys/image/ImageUtil.java @@ -706,30 +706,15 @@ public final class ImageUtil { AffineTransform transform = AffineTransform.getTranslateInstance((newW - w) / 2.0, (newH - h) / 2.0); transform.rotate(pAngle, w / 2.0, h / 2.0); - //AffineTransformOp transformOp = new AffineTransformOp( - // transform, fast ? AffineTransformOp.TYPE_NEAREST_NEIGHBOR : 3 // 3 == TYPE_BICUBIC - //); - // - //return transformOp.filter(pSource, null); // TODO: Figure out if this is correct BufferedImage dest = createTransparent(newW, newH); - //ColorModel cm = pSource.getColorModel(); - //new BufferedImage(cm, - // createCompatibleWritableRaster(pSource, cm, newW, newH), - // cm.isAlphaPremultiplied(), null); // See: http://weblogs.java.net/blog/campbell/archive/2007/03/java_2d_tricker_1.html Graphics2D g = dest.createGraphics(); try { g.transform(transform); if (!fast) { - // Clear with all transparent - //Composite normal = g.getComposite(); - //g.setComposite(AlphaComposite.Clear); - //g.fillRect(0, 0, newW, newH); - //g.setComposite(normal); - // Max quality g.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY); From 1505aa651bc672503675acf88ae2826b4782f8af Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Wed, 18 Mar 2015 21:46:04 +0100 Subject: [PATCH 24/39] TMI-26: TIFF write support sans LZW. --- .../imageio/metadata/AbstractEntry.java | 49 +- .../imageio/metadata/exif/EXIFReader.java | 2 + .../imageio/metadata/exif/EXIFWriter.java | 412 ++++++++++ .../metadata/MetadataReaderAbstractTest.java | 45 +- .../imageio/metadata/exif/EXIFWriterTest.java | 312 ++++++++ .../tiff/HorizontalDifferencingStream.java | 302 +++++++ .../imageio/plugins/tiff/LZWDecoder.java | 4 +- .../plugins/tiff/TIFFImageReaderSpi.java | 9 +- .../plugins/tiff/TIFFImageWriteParam.java | 108 +++ .../imageio/plugins/tiff/TIFFImageWriter.java | 734 ++++++++++++++++++ .../plugins/tiff/TIFFImageWriterSpi.java | 89 +++ .../HorizontalDifferencingStreamTest.java | 574 ++++++++++++++ .../plugins/tiff/TIFFImageWriterTest.java | 73 ++ 13 files changed, 2663 insertions(+), 50 deletions(-) create mode 100644 imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriter.java create mode 100644 imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriterTest.java create mode 100644 imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStream.java create mode 100644 imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java create mode 100644 imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java create mode 100644 imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java create mode 100644 imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStreamTest.java create mode 100644 imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterTest.java diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java index 99f6b524..1b761e5a 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/AbstractEntry.java @@ -174,10 +174,57 @@ public abstract class AbstractEntry implements Entry { AbstractEntry other = (AbstractEntry) pOther; return identifier.equals(other.identifier) && ( - value == null && other.value == null || value != null && value.equals(other.value) + value == null && other.value == null || value != null && valueEquals(other) ); } + private boolean valueEquals(final AbstractEntry other) { + return value.getClass().isArray() ? arrayEquals(value, other.value) : value.equals(other.value); + } + + static boolean arrayEquals(final Object thisArray, final Object otherArray) { + // TODO: This is likely a utility method, and should be extracted + if (thisArray == otherArray) { + return true; + } + if (otherArray == null || thisArray == null || thisArray.getClass() != otherArray.getClass()) { + return false; + } + + Class componentType = thisArray.getClass().getComponentType(); + + if (componentType.isPrimitive()) { + if (thisArray instanceof byte[]) { + return Arrays.equals((byte[]) thisArray, (byte[]) otherArray); + } + if (thisArray instanceof char[]) { + return Arrays.equals((char[]) thisArray, (char[]) otherArray); + } + if (thisArray instanceof short[]) { + return Arrays.equals((short[]) thisArray, (short[]) otherArray); + } + if (thisArray instanceof int[]) { + return Arrays.equals((int[]) thisArray, (int[]) otherArray); + } + if (thisArray instanceof long[]) { + return Arrays.equals((long[]) thisArray, (long[]) otherArray); + } + if (thisArray instanceof boolean[]) { + return Arrays.equals((boolean[]) thisArray, (boolean[]) otherArray); + } + if (thisArray instanceof float[]) { + return Arrays.equals((float[]) thisArray, (float[]) otherArray); + } + if (thisArray instanceof double[]) { + return Arrays.equals((double[]) thisArray, (double[]) otherArray); + } + + throw new AssertionError("Unsupported type:" + componentType); + } + + return Arrays.equals((Object[]) thisArray, (Object[]) otherArray); + } + @Override public String toString() { String name = getFieldName(); diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java index 7826f21e..ac13be42 100644 --- a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFReader.java @@ -290,6 +290,8 @@ public final class EXIFReader extends MetadataReader { private static Object readValue(final ImageInputStream pInput, final short pType, final int pCount) throws IOException { // TODO: Review value "widening" for the unsigned types. Right now it's inconsistent. Should we leave it to client code? + // TODO: New strategy: Leave data as is, instead perform the widening in EXIFEntry.getValue. + // TODO: Add getValueByte/getValueUnsignedByte/getValueShort/getValueUnsignedShort/getValueInt/etc... in API. long pos = pInput.getStreamPosition(); diff --git a/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriter.java b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriter.java new file mode 100644 index 00000000..1983ac04 --- /dev/null +++ b/imageio/imageio-metadata/src/main/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriter.java @@ -0,0 +1,412 @@ +/* + * Copyright (c) 2013, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.metadata.exif; + +import com.twelvemonkeys.imageio.metadata.CompoundDirectory; +import com.twelvemonkeys.imageio.metadata.Directory; +import com.twelvemonkeys.imageio.metadata.Entry; +import com.twelvemonkeys.lang.Validate; + +import javax.imageio.IIOException; +import javax.imageio.stream.ImageOutputStream; +import java.io.IOException; +import java.lang.reflect.Array; +import java.nio.ByteOrder; +import java.nio.charset.Charset; +import java.util.*; + +/** + * EXIFWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: EXIFWriter.java,v 1.0 17.07.13 10:20 haraldk Exp$ + */ +public class EXIFWriter { + + static final int WORD_LENGTH = 2; + static final int LONGWORD_LENGTH = 4; + static final int ENTRY_LENGTH = 12; + + public boolean write(final Collection entries, final ImageOutputStream stream) throws IOException { + return write(new IFD(entries), stream); + } + + public boolean write(final Directory directory, final ImageOutputStream stream) throws IOException { + Validate.notNull(directory); + Validate.notNull(stream); + + // TODO: Should probably validate that the directory contains only valid TIFF entries... + // the writer will crash on non-Integer ids and unsupported types + // TODO: Implement the above validation in IFD constructor? + + writeTIFFHeader(stream); + + if (directory instanceof CompoundDirectory) { + CompoundDirectory compoundDirectory = (CompoundDirectory) directory; + + for (int i = 0; i < compoundDirectory.directoryCount(); i++) { + writeIFD(compoundDirectory.getDirectory(i), stream, false); + } + } + else { + writeIFD(directory, stream, false); + } + + // Offset to next IFD (EOF) + stream.writeInt(0); + + return true; + } + + public void writeTIFFHeader(final ImageOutputStream stream) throws IOException { + // Header + ByteOrder byteOrder = stream.getByteOrder(); + stream.writeShort(byteOrder == ByteOrder.BIG_ENDIAN ? TIFF.BYTE_ORDER_MARK_BIG_ENDIAN : TIFF.BYTE_ORDER_MARK_LITTLE_ENDIAN); + stream.writeShort(42); + } + + public long writeIFD(final Collection entries, ImageOutputStream stream) throws IOException { + return writeIFD(new IFD(entries), stream, false); + } + + private long writeIFD(final Directory original, ImageOutputStream stream, boolean isSubIFD) throws IOException { + // TIFF spec says tags should be in increasing order, enforce that when writing + Directory ordered = ensureOrderedDirectory(original); + + // Compute space needed for extra storage first, then write the offset to the IFD, so that the layout is: + // IFD offset + // + // IFD entries (values/offsets) + long dataOffset = stream.getStreamPosition(); + long dataSize = computeDataSize(ordered); + + // Offset to this IFD + final long ifdOffset = stream.getStreamPosition() + dataSize + LONGWORD_LENGTH; + + if (!isSubIFD) { + stream.writeInt(assertIntegerOffset(ifdOffset)); + dataOffset += LONGWORD_LENGTH; + + // Seek to offset + stream.seek(ifdOffset); + } + else { + dataOffset += WORD_LENGTH + ordered.size() * ENTRY_LENGTH; + } + + // Write directory + stream.writeShort(ordered.size()); + + for (Entry entry : ordered) { + // Write tag id + stream.writeShort((Integer) entry.getIdentifier()); + // Write tag type + stream.writeShort(getType(entry)); + // Write value count + stream.writeInt(getCount(entry)); + + // Write value + if (entry.getValue() instanceof Directory) { + // TODO: This could possibly be a compound directory, in which case the count should be > 1 + stream.writeInt(assertIntegerOffset(dataOffset)); + long streamPosition = stream.getStreamPosition(); + stream.seek(dataOffset); + Directory subIFD = (Directory) entry.getValue(); + writeIFD(subIFD, stream, true); + dataOffset += computeDataSize(subIFD); + stream.seek(streamPosition); + } + else { + dataOffset += writeValue(entry, dataOffset, stream); + } + } + + return ifdOffset; + } + + public long computeIFDSize(final Collection directory) { + return WORD_LENGTH + computeDataSize(new IFD(directory)) + directory.size() * ENTRY_LENGTH; + } + + private long computeDataSize(final Directory directory) { + long dataSize = 0; + + for (Entry entry : directory) { + int length = EXIFReader.getValueLength(getType(entry), getCount(entry)); + + if (length < 0) { + throw new IllegalArgumentException(String.format("Unknown size for entry %s", entry)); + } + + if (length > LONGWORD_LENGTH) { + dataSize += length; + } + + if (entry.getValue() instanceof Directory) { + Directory subIFD = (Directory) entry.getValue(); + long subIFDSize = WORD_LENGTH + subIFD.size() * ENTRY_LENGTH + computeDataSize(subIFD); + dataSize += subIFDSize; + } + } + + return dataSize; + } + + private Directory ensureOrderedDirectory(final Directory directory) { + if (!isSorted(directory)) { + List entries = new ArrayList(directory.size()); + + for (Entry entry : directory) { + entries.add(entry); + } + + Collections.sort(entries, new Comparator() { + public int compare(Entry left, Entry right) { + return (Integer) left.getIdentifier() - (Integer) right.getIdentifier(); + } + }); + + return new IFD(entries); + } + + return directory; + } + + private boolean isSorted(final Directory directory) { + int lastTag = 0; + + for (Entry entry : directory) { + int tag = ((Integer) entry.getIdentifier()) & 0xffff; + + if (tag < lastTag) { + return false; + } + + lastTag = tag; + } + + return true; + } + + private long writeValue(Entry entry, long dataOffset, ImageOutputStream stream) throws IOException { + short type = getType(entry); + int valueLength = EXIFReader.getValueLength(type, getCount(entry)); + + if (valueLength <= LONGWORD_LENGTH) { + writeValueInline(entry.getValue(), type, stream); + + // Pad + for (int i = valueLength; i < LONGWORD_LENGTH; i++) { + stream.write(0); + } + + return 0; + } + else { + writeValueAt(dataOffset, entry.getValue(), type, stream); + + return valueLength; + } + } + + private int getCount(Entry entry) { + Object value = entry.getValue(); + return value instanceof String ? ((String) value).getBytes(Charset.forName("UTF-8")).length + 1 : entry.valueCount(); + } + + private void writeValueInline(Object value, short type, ImageOutputStream stream) throws IOException { + if (value.getClass().isArray()) { + switch (type) { + case TIFF.TYPE_BYTE: + stream.write((byte[]) value); + break; + case TIFF.TYPE_SHORT: + short[] shorts; + + if (value instanceof short[]) { + shorts = (short[]) value; + } + else if (value instanceof int[]) { + int[] ints = (int[]) value; + shorts = new short[ints.length]; + + for (int i = 0; i < ints.length; i++) { + shorts[i] = (short) ints[i]; + } + + } + else if (value instanceof long[]) { + long[] longs = (long[]) value; + shorts = new short[longs.length]; + + for (int i = 0; i < longs.length; i++) { + shorts[i] = (short) longs[i]; + } + } + else { + throw new IllegalArgumentException("Unsupported type for TIFF SHORT: " + value.getClass()); + } + + stream.writeShorts(shorts, 0, shorts.length); + break; + case TIFF.TYPE_LONG: + int[] ints; + + if (value instanceof int[]) { + ints = (int[]) value; + } + else if (value instanceof long[]) { + long[] longs = (long[]) value; + ints = new int[longs.length]; + + for (int i = 0; i < longs.length; i++) { + ints[i] = (int) longs[i]; + } + } + else { + throw new IllegalArgumentException("Unsupported type for TIFF SHORT: " + value.getClass()); + } + + stream.writeInts(ints, 0, ints.length); + + break; + + case TIFF.TYPE_RATIONAL: + Rational[] rationals = (Rational[]) value; + for (Rational rational : rationals) { + stream.writeInt((int) rational.numerator()); + stream.writeInt((int) rational.denominator()); + } + + // TODO: More types + + default: + throw new IllegalArgumentException("Unsupported TIFF type: " + type); + } + } +// else if (value instanceof Directory) { +// writeIFD((Directory) value, stream, false); +// } + else { + switch (type) { + case TIFF.TYPE_BYTE: + stream.writeByte((Integer) value); + break; + case TIFF.TYPE_ASCII: + byte[] bytes = ((String) value).getBytes(Charset.forName("UTF-8")); + stream.write(bytes); + stream.write(0); + break; + case TIFF.TYPE_SHORT: + stream.writeShort((Integer) value); + break; + case TIFF.TYPE_LONG: + stream.writeInt(((Number) value).intValue()); + break; + case TIFF.TYPE_RATIONAL: + Rational rational = (Rational) value; + stream.writeInt((int) rational.numerator()); + stream.writeInt((int) rational.denominator()); + break; + // TODO: More types + + default: + throw new IllegalArgumentException("Unsupported TIFF type: " + type); + } + } + } + + private void writeValueAt(long dataOffset, Object value, short type, ImageOutputStream stream) throws IOException { + stream.writeInt(assertIntegerOffset(dataOffset)); + long position = stream.getStreamPosition(); + stream.seek(dataOffset); + writeValueInline(value, type, stream); + stream.seek(position); + } + + private short getType(Entry entry) { + if (entry instanceof EXIFEntry) { + EXIFEntry exifEntry = (EXIFEntry) entry; + return exifEntry.getType(); + } + + Object value = Validate.notNull(entry.getValue()); + + boolean array = value.getClass().isArray(); + if (array) { + value = Array.get(value, 0); + } + + // Note: This "narrowing" is to keep data consistent between read/write. + // TODO: Check for negative values and use signed types? + if (value instanceof Byte) { + return TIFF.TYPE_BYTE; + } + if (value instanceof Short) { + if (!array && (Short) value < Byte.MAX_VALUE) { + return TIFF.TYPE_BYTE; + } + + return TIFF.TYPE_SHORT; + } + if (value instanceof Integer) { + if (!array && (Integer) value < Short.MAX_VALUE) { + return TIFF.TYPE_SHORT; + } + + return TIFF.TYPE_LONG; + } + if (value instanceof Long) { + if (!array && (Long) value < Integer.MAX_VALUE) { + return TIFF.TYPE_LONG; + } + } + + if (value instanceof Rational) { + return TIFF.TYPE_RATIONAL; + } + + if (value instanceof String) { + return TIFF.TYPE_ASCII; + } + + // TODO: More types + + throw new UnsupportedOperationException(String.format("Method getType not implemented for entry of type %s/value of type %s", entry.getClass(), value.getClass())); + } + + private int assertIntegerOffset(long offset) throws IIOException { + if (offset > Integer.MAX_VALUE - (long) Integer.MIN_VALUE) { + throw new IIOException("Integer overflow for TIFF stream"); + } + + return (int) offset; + } +} diff --git a/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/MetadataReaderAbstractTest.java b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/MetadataReaderAbstractTest.java index 6f220006..189d6c28 100644 --- a/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/MetadataReaderAbstractTest.java +++ b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/MetadataReaderAbstractTest.java @@ -40,9 +40,8 @@ import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; -import java.util.Arrays; -import static org.junit.Assert.*; +import static org.junit.Assert.assertNotNull; /** * ReaderAbstractTest @@ -54,6 +53,7 @@ import static org.junit.Assert.*; public abstract class MetadataReaderAbstractTest { static { IIORegistry.getDefaultInstance().registerServiceProvider(new URLImageInputStreamSpi()); + ImageIO.setUseCache(false); } protected final URL getResource(final String name) throws IOException { @@ -96,46 +96,7 @@ public abstract class MetadataReaderAbstractTest { } private static boolean valueEquals(final Object expected, final Object actual) { - return expected.getClass().isArray() ? arrayEquals(expected, actual) : expected.equals(actual); - } - - private static boolean arrayEquals(final Object expected, final Object actual) { - Class componentType = expected.getClass().getComponentType(); - - if (actual == null || !actual.getClass().isArray() || actual.getClass().getComponentType() != componentType) { - return false; - } - - return componentType.isPrimitive() ? primitiveArrayEquals(componentType, expected, actual) : Arrays.equals((Object[]) expected, (Object[]) actual); - } - - private static boolean primitiveArrayEquals(Class componentType, Object expected, Object actual) { - if (componentType == boolean.class) { - return Arrays.equals((boolean[]) expected, (boolean[]) actual); - } - else if (componentType == byte.class) { - return Arrays.equals((byte[]) expected, (byte[]) actual); - } - else if (componentType == char.class) { - return Arrays.equals((char[]) expected, (char[]) actual); - } - else if (componentType == double.class) { - return Arrays.equals((double[]) expected, (double[]) actual); - } - else if (componentType == float.class) { - return Arrays.equals((float[]) expected, (float[]) actual); - } - else if (componentType == int.class) { - return Arrays.equals((int[]) expected, (int[]) actual); - } - else if (componentType == long.class) { - return Arrays.equals((long[]) expected, (long[]) actual); - } - else if (componentType == short.class) { - return Arrays.equals((short[]) expected, (short[]) actual); - } - - throw new AssertionError("Unsupported type:" + componentType); + return expected.getClass().isArray() ? AbstractEntry.arrayEquals(expected, actual) : expected.equals(actual); } public void describeTo(final Description description) { diff --git a/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriterTest.java b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriterTest.java new file mode 100644 index 00000000..a425a7c7 --- /dev/null +++ b/imageio/imageio-metadata/src/test/java/com/twelvemonkeys/imageio/metadata/exif/EXIFWriterTest.java @@ -0,0 +1,312 @@ +/* + * Copyright (c) 2013, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.metadata.exif; + +import com.twelvemonkeys.imageio.metadata.AbstractDirectory; +import com.twelvemonkeys.imageio.metadata.AbstractEntry; +import com.twelvemonkeys.imageio.metadata.Directory; +import com.twelvemonkeys.imageio.metadata.Entry; +import com.twelvemonkeys.imageio.stream.ByteArrayImageInputStream; +import com.twelvemonkeys.imageio.stream.URLImageInputStreamSpi; +import com.twelvemonkeys.io.FastByteArrayOutputStream; +import org.junit.Test; + +import javax.imageio.ImageIO; +import javax.imageio.spi.IIORegistry; +import javax.imageio.stream.ImageInputStream; +import javax.imageio.stream.ImageOutputStream; +import javax.imageio.stream.ImageOutputStreamImpl; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.nio.ByteOrder; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +/** + * EXIFWriterTest + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: EXIFWriterTest.java,v 1.0 18.07.13 09:53 haraldk Exp$ + */ +public class EXIFWriterTest { + static { + IIORegistry.getDefaultInstance().registerServiceProvider(new URLImageInputStreamSpi()); + ImageIO.setUseCache(false); + } + + protected final URL getResource(final String name) throws IOException { + return getClass().getResource(name); + } + + protected final ImageInputStream getDataAsIIS() throws IOException { + return ImageIO.createImageInputStream(getData()); + } + + // @Override + protected InputStream getData() throws IOException { + return getResource("/exif/exif-jpeg-segment.bin").openStream(); + } + +// @Override + protected EXIFReader createReader() { + return new EXIFReader(); + } + + protected EXIFWriter createWriter() { + return new EXIFWriter(); + } + + @Test + public void testWriteReadSimple() throws IOException { + ArrayList entries = new ArrayList(); + entries.add(new EXIFEntry(TIFF.TAG_ORIENTATION, 1, TIFF.TYPE_SHORT)); + entries.add(new EXIFEntry(TIFF.TAG_IMAGE_WIDTH, 1600, TIFF.TYPE_SHORT)); + entries.add(new AbstractEntry(TIFF.TAG_IMAGE_HEIGHT, 900) {}); + entries.add(new EXIFEntry(TIFF.TAG_ARTIST, "Harald K.", TIFF.TYPE_ASCII)); + entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); + Directory directory = new AbstractDirectory(entries) {}; + + ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); + ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); + new EXIFWriter().write(directory, imageStream); + imageStream.flush(); + + assertEquals(output.size(), imageStream.getStreamPosition()); + + byte[] data = output.toByteArray(); + + assertEquals(106, data.length); + assertEquals('M', data[0]); + assertEquals('M', data[1]); + assertEquals(0, data[2]); + assertEquals(42, data[3]); + + Directory read = new EXIFReader().read(new ByteArrayImageInputStream(data)); + + assertNotNull(read); + assertEquals(5, read.size()); + + // TODO: Assert that the tags are written in ascending order (don't test the read directory, but the file structure)! + + assertNotNull(read.getEntryById(TIFF.TAG_SOFTWARE)); + assertEquals("TwelveMonkeys ImageIO", read.getEntryById(TIFF.TAG_SOFTWARE).getValue()); + + assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_WIDTH)); + assertEquals(1600, read.getEntryById(TIFF.TAG_IMAGE_WIDTH).getValue()); + + assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_HEIGHT)); + assertEquals(900, read.getEntryById(TIFF.TAG_IMAGE_HEIGHT).getValue()); + + assertNotNull(read.getEntryById(TIFF.TAG_ORIENTATION)); + assertEquals(1, read.getEntryById(TIFF.TAG_ORIENTATION).getValue()); + + assertNotNull(read.getEntryById(TIFF.TAG_ARTIST)); + assertEquals("Harald K.", read.getEntryById(TIFF.TAG_ARTIST).getValue()); + } + + @Test + public void testWriteMotorola() throws IOException { + ArrayList entries = new ArrayList(); + entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); + entries.add(new EXIFEntry(TIFF.TAG_IMAGE_WIDTH, Integer.MAX_VALUE, TIFF.TYPE_LONG)); + Directory directory = new AbstractDirectory(entries) {}; + + ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); + ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); + + imageStream.setByteOrder(ByteOrder.BIG_ENDIAN); // BE = Motorola + + new EXIFWriter().write(directory, imageStream); + imageStream.flush(); + + assertEquals(output.size(), imageStream.getStreamPosition()); + + byte[] data = output.toByteArray(); + + assertEquals(60, data.length); + assertEquals('M', data[0]); + assertEquals('M', data[1]); + assertEquals(0, data[2]); + assertEquals(42, data[3]); + + Directory read = new EXIFReader().read(new ByteArrayImageInputStream(data)); + + assertNotNull(read); + assertEquals(2, read.size()); + assertNotNull(read.getEntryById(TIFF.TAG_SOFTWARE)); + assertEquals("TwelveMonkeys ImageIO", read.getEntryById(TIFF.TAG_SOFTWARE).getValue()); + assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_WIDTH)); + assertEquals((long) Integer.MAX_VALUE, read.getEntryById(TIFF.TAG_IMAGE_WIDTH).getValue()); + } + + @Test + public void testWriteIntel() throws IOException { + ArrayList entries = new ArrayList(); + entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); + entries.add(new EXIFEntry(TIFF.TAG_IMAGE_WIDTH, Integer.MAX_VALUE, TIFF.TYPE_LONG)); + Directory directory = new AbstractDirectory(entries) {}; + + ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); + ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); + + imageStream.setByteOrder(ByteOrder.LITTLE_ENDIAN); // LE = Intel + + new EXIFWriter().write(directory, imageStream); + imageStream.flush(); + + assertEquals(output.size(), imageStream.getStreamPosition()); + + byte[] data = output.toByteArray(); + + assertEquals(60, data.length); + assertEquals('I', data[0]); + assertEquals('I', data[1]); + assertEquals(42, data[2]); + assertEquals(0, data[3]); + + Directory read = new EXIFReader().read(new ByteArrayImageInputStream(data)); + + assertNotNull(read); + assertEquals(2, read.size()); + assertNotNull(read.getEntryById(TIFF.TAG_SOFTWARE)); + assertEquals("TwelveMonkeys ImageIO", read.getEntryById(TIFF.TAG_SOFTWARE).getValue()); + assertNotNull(read.getEntryById(TIFF.TAG_IMAGE_WIDTH)); + assertEquals((long) Integer.MAX_VALUE, read.getEntryById(TIFF.TAG_IMAGE_WIDTH).getValue()); + } + + @Test + public void testNesting() throws IOException { + EXIFEntry artist = new EXIFEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO", TIFF.TYPE_ASCII); + + EXIFEntry subSubSubSubIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(artist)), TIFF.TYPE_LONG); + EXIFEntry subSubSubIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(subSubSubSubIFD)), TIFF.TYPE_LONG); + EXIFEntry subSubIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(subSubSubIFD)), TIFF.TYPE_LONG); + EXIFEntry subIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(subSubIFD)), TIFF.TYPE_LONG); + + Directory directory = new IFD(Collections.singletonList(subIFD)); + + ByteArrayOutputStream output = new FastByteArrayOutputStream(1024); + ImageOutputStream imageStream = ImageIO.createImageOutputStream(output); + + new EXIFWriter().write(directory, imageStream); + imageStream.flush(); + + assertEquals(output.size(), imageStream.getStreamPosition()); + + Directory read = new EXIFReader().read(new ByteArrayImageInputStream(output.toByteArray())); + + assertNotNull(read); + assertEquals(1, read.size()); + assertEquals(subIFD, read.getEntryById(TIFF.TAG_SUB_IFD)); // Recursively tests content! + } + + @Test + public void testReadWriteRead() throws IOException { + Directory original = createReader().read(getDataAsIIS()); + + ByteArrayOutputStream output = new FastByteArrayOutputStream(256); + ImageOutputStream imageOutput = ImageIO.createImageOutputStream(output); + + try { + createWriter().write(original, imageOutput); + } + finally { + imageOutput.close(); + } + + Directory read = createReader().read(new ByteArrayImageInputStream(output.toByteArray())); + + assertEquals(original, read); + } + + @Test + public void testComputeIFDSize() throws IOException { + ArrayList entries = new ArrayList(); + entries.add(new EXIFEntry(TIFF.TAG_ORIENTATION, 1, TIFF.TYPE_SHORT)); + entries.add(new EXIFEntry(TIFF.TAG_IMAGE_WIDTH, 1600, TIFF.TYPE_SHORT)); + entries.add(new AbstractEntry(TIFF.TAG_IMAGE_HEIGHT, 900) {}); + entries.add(new EXIFEntry(TIFF.TAG_ARTIST, "Harald K.", TIFF.TYPE_ASCII)); + entries.add(new AbstractEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO") {}); + + EXIFWriter writer = createWriter(); + + ImageOutputStream stream = new NullImageOutputStream(); + writer.write(new IFD(entries), stream); + + assertEquals(stream.getStreamPosition(), writer.computeIFDSize(entries) + 12); + } + + @Test + public void testComputeIFDSizeNested() throws IOException { + EXIFEntry artist = new EXIFEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO", TIFF.TYPE_ASCII); + + EXIFEntry subSubSubSubIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(artist)), TIFF.TYPE_LONG); + EXIFEntry subSubSubIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(subSubSubSubIFD)), TIFF.TYPE_LONG); + EXIFEntry subSubIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(subSubSubIFD)), TIFF.TYPE_LONG); + EXIFEntry subIFD = new EXIFEntry(TIFF.TAG_SUB_IFD, new IFD(Collections.singletonList(subSubIFD)), TIFF.TYPE_LONG); + + List entries = Collections.singletonList(subIFD); + + EXIFWriter writer = createWriter(); + + ImageOutputStream stream = new NullImageOutputStream(); + writer.write(new IFD(entries), stream); + + assertEquals(stream.getStreamPosition(), writer.computeIFDSize(entries) + 12); + } + + private static class NullImageOutputStream extends ImageOutputStreamImpl { + @Override + public void write(int b) throws IOException { + streamPos++; + } + + @Override + public void write(byte[] b, int off, int len) throws IOException { + streamPos += len; + } + + @Override + public int read() throws IOException { + throw new UnsupportedOperationException("Method read not implemented"); + } + + @Override + public int read(byte[] b, int off, int len) throws IOException { + throw new UnsupportedOperationException("Method read not implemented"); + } + } +} diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStream.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStream.java new file mode 100644 index 00000000..7a8943f1 --- /dev/null +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStream.java @@ -0,0 +1,302 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.lang.Validate; + +import java.io.EOFException; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.channels.Channels; +import java.nio.channels.WritableByteChannel; + +/** + * A decoder for data converted using "horizontal differencing predictor". + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: HorizontalDeDifferencingStream.java,v 1.0 11.03.13 14:20 haraldk Exp$ + */ +final class HorizontalDifferencingStream extends OutputStream { + // See TIFF 6.0 Specification, Section 14: "Differencing Predictor", page 64. + + private final int columns; + // NOTE: PlanarConfiguration == 2 may be treated as samplesPerPixel == 1 + private final int samplesPerPixel; + private final int bitsPerSample; + + private final WritableByteChannel channel; + private final ByteBuffer buffer; + + public HorizontalDifferencingStream(final OutputStream stream, final int columns, final int samplesPerPixel, final int bitsPerSample, final ByteOrder byteOrder) { + this.columns = Validate.isTrue(columns > 0, columns, "width must be greater than 0"); + this.samplesPerPixel = Validate.isTrue(bitsPerSample >= 8 || samplesPerPixel == 1, samplesPerPixel, "Unsupported samples per pixel for < 8 bit samples: %s"); + this.bitsPerSample = Validate.isTrue(isValidBPS(bitsPerSample), bitsPerSample, "Unsupported bits per sample value: %s"); + + channel = Channels.newChannel(Validate.notNull(stream, "stream")); + + buffer = ByteBuffer.allocate((columns * samplesPerPixel * bitsPerSample + 7) / 8).order(byteOrder); + } + + private boolean isValidBPS(final int bitsPerSample) { + switch (bitsPerSample) { + case 1: + case 2: + case 4: + case 8: + case 16: + case 32: + case 64: + return true; + default: + return false; + } + } + + private boolean flushBuffer() throws IOException { + if (buffer.position() == 0) { + return false; + } + + encodeRow(); + + buffer.flip(); + channel.write(buffer); + buffer.clear(); + + return true; + } + + private void encodeRow() throws EOFException { + // Apply horizontal predictor + byte original; + int sample = 0; + int prev; + byte temp; + + // Optimization: + // Access array directly for <= 8 bits per sample, as buffer does extra index bounds check for every + // put/get operation... (Measures to about 100 ms difference for 4000 x 3000 image) + final byte[] array = buffer.array(); + + switch (bitsPerSample) { + case 1: + for (int b = ((columns + 7) / 8) - 1; b > 0; b--) { + // Subtract previous sample from current sample + original = array[b]; + prev = array[b - 1] & 0x1; + temp = (byte) ((((original & 0x80) >> 7) - prev) << 7); + + sample = ((original & 0x40) >> 6) - ((original & 0x80) >> 7); + temp |= (sample << 6) & 0x40; + + sample = ((original & 0x20) >> 5) - ((original & 0x40) >> 6); + temp |= (sample << 5) & 0x20; + + sample = ((original & 0x10) >> 4) - ((original & 0x20) >> 5); + temp |= (sample << 4) & 0x10; + + sample = ((original & 0x08) >> 3) - ((original & 0x10) >> 4); + temp |= (sample << 3) & 0x08; + + sample = ((original & 0x04) >> 2) - ((original & 0x08) >> 3); + temp |= (sample << 2) & 0x04; + + sample = ((original & 0x02) >> 1) - ((original & 0x04) >> 2); + temp |= (sample << 1) & 0x02; + + sample = (original & 0x01) - ((original & 0x02) >> 1); + + array[b] = (byte) (temp & 0xfe | sample & 0x01); + } + + // First sample in row as is + original = array[0]; + temp = (byte) (original & 0x80); + + sample = ((original & 0x40) >> 6) - ((original & 0x80) >> 7); + temp |= (sample << 6) & 0x40; + + sample = ((original & 0x20) >> 5) - ((original & 0x40) >> 6); + temp |= (sample << 5) & 0x20; + + sample = ((original & 0x10) >> 4) - ((original & 0x20) >> 5); + temp |= (sample << 4) & 0x10; + + sample = ((original & 0x08) >> 3) - ((original & 0x10) >> 4); + temp |= (sample << 3) & 0x08; + + sample = ((original & 0x04) >> 2) - ((original & 0x08) >> 3); + temp |= (sample << 2) & 0x04; + + sample = ((original & 0x02) >> 1) - ((original & 0x04) >> 2); + temp |= (sample << 1) & 0x02; + + sample = (original & 0x01) - ((original & 0x02) >> 1); + + array[0] = (byte) (temp & 0xfe | sample & 0x01); + break; + + case 2: + for (int b = ((columns + 3) / 4) - 1; b > 0; b--) { + // Subtract previous sample from current sample + original = array[b]; + prev = array[b - 1] & 0x3; + temp = (byte) ((((original & 0xc0) >> 6) - prev) << 6); + + sample = ((original & 0x30) >> 4) - ((original & 0xc0) >> 6); + temp |= (sample << 4) & 0x30; + + sample = ((original & 0x0c) >> 2) - ((original & 0x30) >> 4); + temp |= (sample << 2) & 0x0c; + + sample = (original & 0x03) - ((original & 0x0c) >> 2); + + array[b] = (byte) (temp & 0xfc | sample & 0x03); + } + + // First sample in row as is + original = array[0]; + temp = (byte) (original & 0xc0); + + sample = ((original & 0x30) >> 4) - ((original & 0xc0) >> 6); + temp |= (sample << 4) & 0x30; + + sample = ((original & 0x0c) >> 2) - ((original & 0x30) >> 4); + temp |= (sample << 2) & 0x0c; + + sample = (original & 0x03) - ((original & 0x0c) >> 2); + + array[0] = (byte) (temp & 0xfc | sample & 0x03); + break; + + case 4: + for (int b = ((columns + 1) / 2) - 1; b > 0; b--) { + // Subtract previous sample from current sample + original = array[b]; + prev = array[b - 1] & 0xf; + temp = (byte) ((((original & 0xf0) >> 4) - prev) << 4); + sample = (original & 0x0f) - ((original & 0xf0) >> 4); + array[b] = (byte) (temp & 0xf0 | sample & 0xf); + } + + // First sample in row as is + original = array[0]; + sample = (original & 0x0f) - ((original & 0xf0) >> 4); + array[0] = (byte) (original & 0xf0 | sample & 0xf); + + break; + + case 8: + for (int x = columns - 1; x > 0; x--) { + final int xOff = x * samplesPerPixel; + + for (int b = 0; b < samplesPerPixel; b++) { + int off = xOff + b; + array[off] = (byte) (array[off] - array[off - samplesPerPixel]); + } + } + break; + + case 16: + for (int x = columns - 1; x > 0; x--) { + for (int b = 0; b < samplesPerPixel; b++) { + int off = x * samplesPerPixel + b; + buffer.putShort(2 * off, (short) (buffer.getShort(2 * off) - buffer.getShort(2 * (off - samplesPerPixel)))); + } + } + break; + + case 32: + for (int x = columns - 1; x > 0; x--) { + for (int b = 0; b < samplesPerPixel; b++) { + int off = x * samplesPerPixel + b; + buffer.putInt(4 * off, buffer.getInt(4 * off) - buffer.getInt(4 * (off - samplesPerPixel))); + } + } + break; + + case 64: + for (int x = columns - 1; x > 0; x--) { + for (int b = 0; b < samplesPerPixel; b++) { + int off = x * samplesPerPixel + b; + buffer.putLong(8 * off, buffer.getLong(8 * off) - buffer.getLong(8 * (off - samplesPerPixel))); + } + } + break; + + default: + throw new AssertionError(String.format("Unsupported bits per sample value: %d", bitsPerSample)); + } + } + + @Override + public void write(int b) throws IOException { + buffer.put((byte) b); + + if (!buffer.hasRemaining()) { + flushBuffer(); + } + } + + @Override + public void write(byte[] b, int off, int len) throws IOException { + while (len > 0) { + int maxLenForRow = Math.min(len, buffer.remaining()); + + buffer.put(b, off, maxLenForRow); + off += maxLenForRow; + len -= maxLenForRow; + + if (!buffer.hasRemaining()) { + flushBuffer(); + } + } + } + + @Override + public void flush() throws IOException { + flushBuffer(); + } + + @Override + public void close() throws IOException { + try { + flushBuffer(); + super.close(); + } + finally { + if (channel.isOpen()) { + channel.close(); + } + } + } +} diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java index bc47635c..d444b799 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java @@ -300,8 +300,8 @@ abstract class LZWDecoder implements Decoder { this.previous = previous; } - public final LZWString concatenate(final byte firstChar) { - return new LZWString(firstChar, this.firstChar, length + 1, this); + public final LZWString concatenate(final byte value) { + return new LZWString(value, this.firstChar, length + 1, this); } public final void writeTo(final ByteBuffer buffer) { diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java index 451993f6..5a74e5de 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java @@ -58,15 +58,14 @@ public class TIFFImageReaderSpi extends ImageReaderSpi { super( providerInfo.getVendorName(), providerInfo.getVersion(), - new String[]{"tiff", "TIFF"}, - new String[]{"tif", "tiff"}, - new String[]{ + new String[] {"tiff", "TIFF"}, + new String[] {"tif", "tiff"}, + new String[] { "image/tiff", "image/x-tiff" }, "com.twelvemkonkeys.imageio.plugins.tiff.TIFFImageReader", new Class[] {ImageInputStream.class}, -// new String[]{"com.twelvemkonkeys.imageio.plugins.tif.TIFFImageWriterSpi"}, - null, + new String[] {"com.twelvemkonkeys.imageio.plugins.tif.TIFFImageWriterSpi"}, true, // supports standard stream metadata null, null, // native stream format name and class null, null, // extra stream formats diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java new file mode 100644 index 00000000..69eba0c1 --- /dev/null +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import javax.imageio.ImageWriteParam; +import java.util.Locale; + +/** + * TIFFImageWriteParam + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TIFFImageWriteParam.java,v 1.0 18.09.13 12:47 haraldk Exp$ + */ +public final class TIFFImageWriteParam extends ImageWriteParam { + // TODO: Support no compression (None/1) + // TODO: Support ZLIB (/Deflate) compression (8) + // TODO: Support PackBits compression (32773) + // TODO: Support JPEG compression (7) + // TODO: Support CCITT Modified Huffman compression (2) + // TODO: Support LZW compression (5)? + // TODO: Support JBIG compression via ImageIO plugin/delegate? + // TODO: Support JPEG2000 compression via ImageIO plugin/delegate? + // TODO: Support tiling + // TODO: Support predictor. See TIFF 6.0 Specification, Section 14: "Differencing Predictor", page 64. + + TIFFImageWriteParam() { + this(Locale.getDefault()); + } + + TIFFImageWriteParam(final Locale locale) { + super(locale); + + // NOTE: We use the same spelling/casing as the JAI equivalent to be as compatible as possible + // See: http://download.java.net/media/jai-imageio/javadoc/1.1/com/sun/media/imageio/plugins/tiff/TIFFImageWriteParam.html + compressionTypes = new String[] {"None", /* "CCITT RLE", "CCITT T.4", "CCITT T.6", */ "LZW", "JPEG", "ZLib", "PackBits", "Deflate", /* "EXIF JPEG" */ }; + compressionType = compressionTypes[0]; + canWriteCompressed = true; + } + + @Override + public float[] getCompressionQualityValues() { + super.getCompressionQualityValues(); + + // TODO: Special case for JPEG and ZLib/Deflate + + return null; + } + + @Override + public String[] getCompressionQualityDescriptions() { + super.getCompressionQualityDescriptions(); + + // TODO: Special case for JPEG and ZLib/Deflate + + return null; + } + + static int getCompressionType(final ImageWriteParam param) { + // TODO: Support mode COPY_FROM_METADATA (when we have metadata...) + if (param == null || param.getCompressionMode() != MODE_EXPLICIT || param.getCompressionType().equals("None")) { + return TIFFBaseline.COMPRESSION_NONE; + } + else if (param.getCompressionType().equals("PackBits")) { + return TIFFBaseline.COMPRESSION_PACKBITS; + } + else if (param.getCompressionType().equals("ZLib")) { + return TIFFExtension.COMPRESSION_ZLIB; + } + else if (param.getCompressionType().equals("Deflate")) { + return TIFFExtension.COMPRESSION_DEFLATE; + } + else if (param.getCompressionType().equals("LZW")) { + return TIFFExtension.COMPRESSION_LZW; + } + else if (param.getCompressionType().equals("JPEG")) { + return TIFFExtension.COMPRESSION_JPEG; + } + + throw new IllegalArgumentException(String.format("Unsupported compression type: %s", param.getCompressionType())); + } +} diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java new file mode 100644 index 00000000..9697c157 --- /dev/null +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java @@ -0,0 +1,734 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.image.ImageUtil; +import com.twelvemonkeys.imageio.ImageWriterBase; +import com.twelvemonkeys.imageio.metadata.AbstractEntry; +import com.twelvemonkeys.imageio.metadata.Entry; +import com.twelvemonkeys.imageio.metadata.exif.EXIFWriter; +import com.twelvemonkeys.imageio.metadata.exif.Rational; +import com.twelvemonkeys.imageio.metadata.exif.TIFF; +import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.io.enc.EncoderStream; +import com.twelvemonkeys.io.enc.PackBitsEncoder; + +import javax.imageio.*; +import javax.imageio.metadata.IIOMetadata; +import javax.imageio.spi.ImageWriterSpi; +import javax.imageio.stream.ImageInputStream; +import javax.imageio.stream.ImageOutputStream; +import java.awt.*; +import java.awt.color.ColorSpace; +import java.awt.image.*; +import java.io.*; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; + +/** + * TIFFImageWriter + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TIFFImageWriter.java,v 1.0 18.09.13 12:46 haraldk Exp$ + */ +public final class TIFFImageWriter extends ImageWriterBase { + // Short term + // TODO: Support JPEG compression (7) - might need extra input to allow multiple images with single DQT + // TODO: Use sensible defaults for compression based on input? None is sensible... :-) + + // Long term + // TODO: Support tiling + // TODO: Support thumbnails + // TODO: Support ImageIO metadata + // TODO: Support CCITT Modified Huffman compression (2) + // TODO: Full "Baseline TIFF" support + // TODO: Support LZW compression (5)? + // ---- + // TODO: Support storing multiple images in one stream (multi-page TIFF) + // TODO: Support use-case: Transcode multi-layer PSD to multi-page TIFF with metadata + // TODO: Support use-case: Transcode multi-page TIFF to multiple single-page TIFFs with metadata + // TODO: Support use-case: Losslessly transcode JPEG to JPEG in TIFF with (EXIF) metadata (and back) + + // Very long term... + // TODO: Support JBIG compression via ImageIO plugin/delegate? Pending support in Reader + // TODO: Support JPEG2000 compression via ImageIO plugin/delegate? Pending support in Reader + + // Done + // Create a basic writer that supports most inputs. Store them using the simplest possible format. + // Support no compression (None/1) - BASELINE + // Support predictor. See TIFF 6.0 Specification, Section 14: "Differencing Predictor", page 64. + // Support PackBits compression (32773) - easy - BASELINE + // Support ZLIB (/Deflate) compression (8) - easy + + public static final Rational STANDARD_DPI = new Rational(72); + + TIFFImageWriter(final ImageWriterSpi provider) { + super(provider); + } + + static final class TIFFEntry extends AbstractEntry { + TIFFEntry(Object identifier, Object value) { + super(identifier, value); + } + } + + @Override + public void write(IIOMetadata streamMetadata, IIOImage image, ImageWriteParam param) throws IOException { + // TODO: Validate input + + assertOutput(); + + // TODO: Consider writing TIFF header, offset to IFD0 (leave blank), write image data with correct + // tiling/compression/etc, then write IFD0, go back and update IFD0 offset? + + // Write minimal TIFF header (required "Baseline" fields) + // Use EXIFWriter to write leading metadata (TODO: consider rename to TTIFFWriter, again...) + // TODO: Make TIFFEntry and possibly TIFFDirectory? public + RenderedImage renderedImage = image.getRenderedImage(); + ColorModel colorModel = renderedImage.getColorModel(); + int numComponents = colorModel.getNumComponents(); + + SampleModel sampleModel = renderedImage.getSampleModel(); + + int[] bandOffsets; + int[] bitOffsets; + if (sampleModel instanceof ComponentSampleModel) { + bandOffsets = ((ComponentSampleModel) sampleModel).getBandOffsets(); +// System.err.println("bandOffsets: " + Arrays.toString(bandOffsets)); + bitOffsets = null; + } + else if (sampleModel instanceof SinglePixelPackedSampleModel) { + bitOffsets = ((SinglePixelPackedSampleModel) sampleModel).getBitOffsets(); +// System.err.println("bitOffsets: " + Arrays.toString(bitOffsets)); + bandOffsets = null; + } + else if (sampleModel instanceof MultiPixelPackedSampleModel) { + bitOffsets = null; + bandOffsets = new int[] {0}; + } + else { + throw new IllegalArgumentException("Unknown bit/bandOffsets for sample model: " + sampleModel); + } + + List entries = new ArrayList(); + entries.add(new TIFFEntry(TIFF.TAG_IMAGE_WIDTH, renderedImage.getWidth())); + entries.add(new TIFFEntry(TIFF.TAG_IMAGE_HEIGHT, renderedImage.getHeight())); +// entries.add(new TIFFEntry(TIFF.TAG_ORIENTATION, 1)); // (optional) + entries.add(new TIFFEntry(TIFF.TAG_BITS_PER_SAMPLE, asShortArray(sampleModel.getSampleSize()))); + // If numComponents > 3, write ExtraSamples + if (numComponents > 3) { + // TODO: Write per component > 3 + if (colorModel.hasAlpha()) { + entries.add(new TIFFEntry(TIFF.TAG_EXTRA_SAMPLES, colorModel.isAlphaPremultiplied() ? TIFFBaseline.EXTRASAMPLE_ASSOCIATED_ALPHA : TIFFBaseline.EXTRASAMPLE_UNASSOCIATED_ALPHA)); + } + else { + entries.add(new TIFFEntry(TIFF.TAG_EXTRA_SAMPLES, TIFFBaseline.EXTRASAMPLE_UNSPECIFIED)); + } + } + // Write compression field from param or metadata + int compression = TIFFImageWriteParam.getCompressionType(param); + entries.add(new TIFFEntry(TIFF.TAG_COMPRESSION, compression)); + // TODO: Let param control + switch (compression) { + case TIFFExtension.COMPRESSION_ZLIB: + case TIFFExtension.COMPRESSION_DEFLATE: + case TIFFExtension.COMPRESSION_LZW: + entries.add(new TIFFEntry(TIFF.TAG_PREDICTOR, TIFFExtension.PREDICTOR_HORIZONTAL_DIFFERENCING)); + default: + } + + int photometric = getPhotometricInterpretation(colorModel); + entries.add(new TIFFEntry(TIFF.TAG_PHOTOMETRIC_INTERPRETATION, photometric)); + + if (photometric == TIFFBaseline.PHOTOMETRIC_PALETTE && colorModel instanceof IndexColorModel) { + entries.add(new TIFFEntry(TIFF.TAG_COLOR_MAP, createColorMap((IndexColorModel) colorModel))); + entries.add(new TIFFEntry(TIFF.TAG_SAMPLES_PER_PIXEL, 1)); + } + else { + entries.add(new TIFFEntry(TIFF.TAG_SAMPLES_PER_PIXEL, numComponents)); + } + + if (sampleModel.getDataType() == DataBuffer.TYPE_SHORT /* TODO: if (isSigned(sampleModel.getDataType) or getSampleFormat(sampleModel) != 0 */) { + entries.add(new TIFFEntry(TIFF.TAG_SAMPLE_FORMAT, TIFFExtension.SAMPLEFORMAT_INT)); + } + + entries.add(new TIFFEntry(TIFF.TAG_SOFTWARE, "TwelveMonkeys ImageIO TIFF writer")); // TODO: Get from metadata (optional) + fill in version number + + entries.add(new TIFFEntry(TIFF.TAG_X_RESOLUTION, STANDARD_DPI)); + entries.add(new TIFFEntry(TIFF.TAG_Y_RESOLUTION, STANDARD_DPI)); + entries.add(new TIFFEntry(TIFF.TAG_RESOLUTION_UNIT, TIFFBaseline.RESOLUTION_UNIT_DPI)); + + // TODO: RowsPerStrip - can be entire image (or even 2^32 -1), but it's recommended to write "about 8K bytes" per strip + entries.add(new TIFFEntry(TIFF.TAG_ROWS_PER_STRIP, Integer.MAX_VALUE)); // TODO: Allowed but not recommended + // - StripByteCounts - for no compression, entire image data... (TODO: How to know the byte counts prior to writing data?) + TIFFEntry dummyStripByteCounts = new TIFFEntry(TIFF.TAG_STRIP_BYTE_COUNTS, -1); + entries.add(dummyStripByteCounts); // Updated later + // - StripOffsets - can be offset to single strip only (TODO: but how large is the IFD data...???) + TIFFEntry dummyStripOffsets = new TIFFEntry(TIFF.TAG_STRIP_OFFSETS, -1); + entries.add(dummyStripOffsets); // Updated later + + // TODO: If tiled, write tile indexes etc, or always do that? + + EXIFWriter exifWriter = new EXIFWriter(); + + if (compression == TIFFBaseline.COMPRESSION_NONE) { + // This implementation, allows semi-streaming-compatible uncompressed TIFFs + long streamOffset = exifWriter.computeIFDSize(entries) + 12; // 12 == 4 byte magic, 4 byte IDD 0 pointer, 4 byte EOF + + entries.remove(dummyStripByteCounts); + entries.add(new TIFFEntry(TIFF.TAG_STRIP_BYTE_COUNTS, renderedImage.getWidth() * renderedImage.getHeight() * numComponents)); + entries.remove(dummyStripOffsets); + entries.add(new TIFFEntry(TIFF.TAG_STRIP_OFFSETS, streamOffset)); + + exifWriter.write(entries, imageOutput); // NOTE: Writer takes case of ordering tags + imageOutput.flush(); + } + else { + // Unless compression == 1 / COMPRESSION_NONE (and all offsets known), write only TIFF header/magic + leave room for IFD0 offset + exifWriter.writeTIFFHeader(imageOutput); + imageOutput.writeInt(-1); // IFD0 pointer, will be updated later + } + + // TODO: Create compressor stream per Tile/Strip + // Write image data + writeImageData(createCompressorStream(renderedImage, param), renderedImage, numComponents, bandOffsets, bitOffsets); + + // TODO: Update IFD0-pointer, and write IFD + if (compression != TIFFBaseline.COMPRESSION_NONE) { + long streamPosition = imageOutput.getStreamPosition(); + + entries.remove(dummyStripOffsets); + entries.add(new TIFFEntry(TIFF.TAG_STRIP_OFFSETS, 8)); + entries.remove(dummyStripByteCounts); + entries.add(new TIFFEntry(TIFF.TAG_STRIP_BYTE_COUNTS, streamPosition - 8)); + + long ifdOffset = exifWriter.writeIFD(entries, imageOutput); + imageOutput.writeInt(0); // Next IFD (none) + streamPosition = imageOutput.getStreamPosition(); + + // Update IFD0 pointer + imageOutput.seek(4); + imageOutput.writeInt((int) ifdOffset); + imageOutput.seek(streamPosition); + imageOutput.flush(); + } + } + + private DataOutput createCompressorStream(RenderedImage image, ImageWriteParam param) { + /* + 36 MB test data: + + No compression: + Write time: 450 ms + output.length: 36000226 + + PackBits: + Write time: 688 ms + output.length: 30322187 + + Deflate, BEST_SPEED (1): + Write time: 1276 ms + output.length: 14128866 + + Deflate, 2: + Write time: 1297 ms + output.length: 13848735 + + Deflate, 3: + Write time: 1594 ms + output.length: 13103224 + + Deflate, 4: + Write time: 1663 ms + output.length: 13380899 (!!) + + 5 + Write time: 1941 ms + output.length: 13171244 + + 6 + Write time: 2311 ms + output.length: 12845101 + + 7: Write time: 2853 ms + output.length: 12759426 + + 8: + Write time: 4429 ms + output.length: 12624517 + + Deflate: DEFAULT_COMPRESSION (6?): + Write time: 2357 ms + output.length: 12845101 + + Deflate, BEST_COMPRESSION (9): + Write time: 4998 ms + output.length: 12600399 + */ + + // TODO: Use predictor only by default for -PackBits,- LZW and ZLib/Deflate, unless explicitly disabled (ImageWriteParam) + int compression = TIFFImageWriteParam.getCompressionType(param); + OutputStream stream; + + switch (compression) { + case TIFFBaseline.COMPRESSION_NONE: + return imageOutput; + case TIFFBaseline.COMPRESSION_PACKBITS: + stream = IIOUtil.createStreamAdapter(imageOutput); + stream = new EncoderStream(stream, new PackBitsEncoder(), true); + // NOTE: PackBits + Predictor is possible, but not generally supported, disable it by default + // (and probably not even allow it, see http://stackoverflow.com/questions/20337400/tiff-packbits-compression-with-predictor-step) +// stream = new HorizontalDifferencingStream(stream, image.getTileWidth(), image.getTile(0, 0).getNumBands(), image.getColorModel().getComponentSize(0), imageOutput.getByteOrder()); + return new DataOutputStream(stream); + + case TIFFExtension.COMPRESSION_ZLIB: + case TIFFExtension.COMPRESSION_DEFLATE: + int deflateSetting = Deflater.BEST_SPEED; // This is consistent with default compression quality being 1.0 and 0 meaning max compression.... + if (param.getCompressionMode() == ImageWriteParam.MODE_EXPLICIT) { + // TODO: Determine how to interpret compression quality... + // Docs says: + // A compression quality setting of 0.0 is most generically interpreted as "high compression is important," + // while a setting of 1.0 is most generically interpreted as "high image quality is important." + // Is this what JAI TIFFImageWriter (TIFFDeflater) does? No, it does: + /* + if (param & compression etc...) { + float quality = param.getCompressionQuality(); + deflateLevel = (int)(1 + 8*quality); + } else { + deflateLevel = Deflater.DEFAULT_COMPRESSION; + } + */ + // PS: PNGImageWriter just uses hardcoded BEST_COMPRESSION... :-P + deflateSetting = 9 - Math.round(8 * (param.getCompressionQuality())); // This seems more correct + } + + stream = IIOUtil.createStreamAdapter(imageOutput); + stream = new DeflaterOutputStream(stream, new Deflater(deflateSetting), 1024); + stream = new HorizontalDifferencingStream(stream, image.getTileWidth(), image.getTile(0, 0).getNumBands(), image.getColorModel().getComponentSize(0), imageOutput.getByteOrder()); + + return new DataOutputStream(stream); + + case TIFFExtension.COMPRESSION_LZW: +// stream = IIOUtil.createStreamAdapter(imageOutput); +// stream = new EncoderStream(stream, new LZWEncoder((image.getTileWidth() * image.getTileHeight() * image.getTile(0, 0).getNumBands() * image.getColorModel().getComponentSize(0) + 7) / 8)); +// stream = new HorizontalDifferencingStream(stream, image.getTileWidth(), image.getTile(0, 0).getNumBands(), image.getColorModel().getComponentSize(0), imageOutput.getByteOrder()); +// +// return new DataOutputStream(stream); + } + + throw new IllegalArgumentException(String.format("Unsupported TIFF compression: %d", compression)); + } + + private int getPhotometricInterpretation(final ColorModel colorModel) { + if (colorModel.getNumComponents() == 1 && colorModel.getComponentSize(0) == 1) { + if (colorModel instanceof IndexColorModel) { + if (colorModel.getRGB(0) == 0xFFFFFF && colorModel.getRGB(1) == 0x000000) { + return TIFFBaseline.PHOTOMETRIC_WHITE_IS_ZERO; + } + else if (colorModel.getRGB(0) != 0x000000 || colorModel.getRGB(1) != 0xFFFFFF) { + return TIFFBaseline.PHOTOMETRIC_PALETTE; + } + // Else, fall through to default, BLACK_IS_ZERO + } + + return TIFFBaseline.PHOTOMETRIC_BLACK_IS_ZERO; + } + else if (colorModel instanceof IndexColorModel) { + return TIFFBaseline.PHOTOMETRIC_PALETTE; + } + + switch (colorModel.getColorSpace().getType()) { + case ColorSpace.TYPE_GRAY: + return TIFFBaseline.PHOTOMETRIC_BLACK_IS_ZERO; + case ColorSpace.TYPE_RGB: + return TIFFBaseline.PHOTOMETRIC_RGB; + case ColorSpace.TYPE_CMYK: + return TIFFExtension.PHOTOMETRIC_SEPARATED; + } + + throw new IllegalArgumentException("Can't determine PhotometricInterpretation for color model: " + colorModel); + } + + private short[] createColorMap(final IndexColorModel colorModel) { + // TIFF6.pdf p. 23: + // A TIFF color map is stored as type SHORT, count = 3 * (2^BitsPerSample) + // "In a TIFF ColorMap, all the Red values come first, followed by the Green values, then the Blue values. + // In the ColorMap, black is represented by 0,0,0 and white is represented by 65535, 65535, 65535." + short[] colorMap = new short[(int) (3 * Math.pow(2, colorModel.getPixelSize()))]; + + for (int i = 0; i < colorModel.getMapSize(); i++) { + int color = colorModel.getRGB(i); + colorMap[i ] = (short) upScale((color >> 16) & 0xff); + colorMap[i + colorMap.length / 3] = (short) upScale((color >> 8) & 0xff); + colorMap[i + 2 * colorMap.length / 3] = (short) upScale((color ) & 0xff); + } + + return colorMap; + } + + private int upScale(final int color) { + return 257 * color; + } + + private short[] asShortArray(final int[] integers) { + short[] shorts = new short[integers.length]; + + for (int i = 0; i < shorts.length; i++) { + shorts[i] = (short) integers[i]; + } + + return shorts; + } + + private void writeImageData(DataOutput stream, RenderedImage renderedImage, int numComponents, int[] bandOffsets, int[] bitOffsets) throws IOException { + // Store 3BYTE, 4BYTE as is (possibly need to re-arrange to RGB order) + // Store INT_RGB as 3BYTE, INT_ARGB as 4BYTE?, INT_ABGR must be re-arranged + // Store IndexColorModel as is + // Store BYTE_GRAY as is + // Store USHORT_GRAY as is + + processImageStarted(0); + + final int minTileY = renderedImage.getMinTileY(); + final int maxYTiles = minTileY + renderedImage.getNumYTiles(); + final int minTileX = renderedImage.getMinTileX(); + final int maxXTiles = minTileX + renderedImage.getNumXTiles(); + + // Use buffer to have longer, better performing writes + final int tileHeight = renderedImage.getTileHeight(); + final int tileWidth = renderedImage.getTileWidth(); + + // TODO: SampleSize may differ between bands/banks + int sampleSize = renderedImage.getSampleModel().getSampleSize(0); + final ByteBuffer buffer = ByteBuffer.allocate(tileWidth * renderedImage.getSampleModel().getNumBands() * sampleSize / 8); + +// System.err.println("tileWidth: " + tileWidth); + + for (int yTile = minTileY; yTile < maxYTiles; yTile++) { + for (int xTile = minTileX; xTile < maxXTiles; xTile++) { + final Raster tile = renderedImage.getTile(xTile, yTile); + final DataBuffer dataBuffer = tile.getDataBuffer(); + final int numBands = tile.getNumBands(); +// final SampleModel sampleModel = tile.getSampleModel(); + + switch (dataBuffer.getDataType()) { + case DataBuffer.TYPE_BYTE: + +// System.err.println("Writing " + numBands + "BYTE -> " + numBands + "BYTE"); + for (int b = 0; b < dataBuffer.getNumBanks(); b++) { + for (int y = 0; y < tileHeight; y++) { + final int yOff = y * tileWidth * numBands; + + for (int x = 0; x < tileWidth; x++) { + final int xOff = yOff + x * numBands; + + for (int s = 0; s < numBands; s++) { + buffer.put((byte) (dataBuffer.getElem(b, xOff + bandOffsets[s]) & 0xff)); + } + } + + flushBuffer(buffer, stream); + if (stream instanceof DataOutputStream) { + DataOutputStream dataOutputStream = (DataOutputStream) stream; + dataOutputStream.flush(); + } + } + } + + break; + + case DataBuffer.TYPE_USHORT: + case DataBuffer.TYPE_SHORT: + if (numComponents == 1) { + // TODO: This is foobar... +// System.err.println("Writing USHORT -> " + numBands * 2 + "_BYTES"); + for (int b = 0; b < dataBuffer.getNumBanks(); b++) { + for (int y = 0; y < tileHeight; y++) { + final int yOff = y * tileWidth; + + for (int x = 0; x < tileWidth; x++) { + final int xOff = yOff + x; + + buffer.putShort((short) (dataBuffer.getElem(b, xOff) & 0xffff)); + } + + flushBuffer(buffer, stream); + if (stream instanceof DataOutputStream) { + DataOutputStream dataOutputStream = (DataOutputStream) stream; + dataOutputStream.flush(); + } + } + } + } + else { +// for (int b = 0; b < dataBuffer.getNumBanks(); b++) { +// for (int y = 0; y < tileHeight; y++) { +// final int yOff = y * tileWidth; +// +// for (int x = 0; x < tileWidth; x++) { +// final int xOff = yOff + x; +// int element = dataBuffer.getElem(b, xOff); +// +// for (int s = 0; s < numBands; s++) { +// buffer.put((byte) ((element >> bitOffsets[s]) & 0xff)); +// } +// } +// +// flushBuffer(buffer, stream); +// if (stream instanceof DataOutputStream) { +// DataOutputStream dataOutputStream = (DataOutputStream) stream; +// dataOutputStream.flush(); +// } +// } +// } + throw new IllegalArgumentException("Not implemented for data type: " + dataBuffer.getDataType()); + } + + break; + + case DataBuffer.TYPE_INT: + // TODO: This is incorrect for 32 bits/sample, only works for packed (INT_(A)RGB) +// System.err.println("Writing INT -> " + numBands + "_BYTES"); + for (int b = 0; b < dataBuffer.getNumBanks(); b++) { + for (int y = 0; y < tileHeight; y++) { + final int yOff = y * tileWidth; + + for (int x = 0; x < tileWidth; x++) { + final int xOff = yOff + x; + int element = dataBuffer.getElem(b, xOff); + + for (int s = 0; s < numBands; s++) { + buffer.put((byte) ((element >> bitOffsets[s]) & 0xff)); + } + } + + flushBuffer(buffer, stream); + if (stream instanceof DataOutputStream) { + DataOutputStream dataOutputStream = (DataOutputStream) stream; + dataOutputStream.flush(); + } + } + } + + break; + default: + throw new IllegalArgumentException("Not implemented for data type: " + dataBuffer.getDataType()); + } + } + + // TODO: Need to flush/start new compression for each row, for proper LZW/PackBits/Deflate/ZLib + if (stream instanceof DataOutputStream) { + DataOutputStream dataOutputStream = (DataOutputStream) stream; + dataOutputStream.flush(); + } + + // TODO: Report better progress + processImageProgress((100f * yTile) / maxYTiles); + } + + if (stream instanceof DataOutputStream) { + DataOutputStream dataOutputStream = (DataOutputStream) stream; + dataOutputStream.close(); + } + + processImageComplete(); + } + + // TODO: Would be better to solve this on stream level... But writers would then have to explicitly flush the buffer before done. + private void flushBuffer(final ByteBuffer buffer, final DataOutput stream) throws IOException { + buffer.flip(); + stream.write(buffer.array(), buffer.arrayOffset(), buffer.remaining()); + + buffer.clear(); + } + + // Metadata + + @Override + public IIOMetadata getDefaultImageMetadata(ImageTypeSpecifier imageType, ImageWriteParam param) { + return null; + } + + @Override + public IIOMetadata convertImageMetadata(IIOMetadata inData, ImageTypeSpecifier imageType, ImageWriteParam param) { + return null; + } + + // Param + + @Override + public ImageWriteParam getDefaultWriteParam() { + return new TIFFImageWriteParam(); + } + + // Test + + public static void main(String[] args) throws IOException { + int argIdx = 0; + + // TODO: Proper argument parsing: -t -c + int type = args.length > argIdx + 1 ? Integer.parseInt(args[argIdx++]) : -1; + int compression = args.length > argIdx + 1 ? Integer.parseInt(args[argIdx++]) : 0; + + if (args.length <= argIdx) { + System.err.println("No file specified"); + System.exit(1); + } + + File file = new File(args[argIdx++]); + + BufferedImage original; +// BufferedImage original = ImageIO.read(file); + ImageInputStream inputStream = ImageIO.createImageInputStream(file); + try { + Iterator readers = ImageIO.getImageReaders(inputStream); + + if (!readers.hasNext()) { + System.err.println("No reader for: " + file); + System.exit(1); + } + + ImageReader reader = readers.next(); + reader.setInput(inputStream); + + ImageReadParam param = reader.getDefaultReadParam(); + param.setDestinationType(reader.getRawImageType(0)); + + if (param.getDestinationType() == null) { + Iterator types = reader.getImageTypes(0); + + while (types.hasNext()) { + ImageTypeSpecifier typeSpecifier = types.next(); + + if (typeSpecifier.getColorModel().getColorSpace().getType() == ColorSpace.TYPE_CMYK) { + param.setDestinationType(typeSpecifier); + } + } + } + + System.err.println("param.getDestinationType(): " + param.getDestinationType()); + + original = reader.read(0, param); + } + finally { + inputStream.close(); + } + + System.err.println("original: " + original); + +// BufferedImage image = original; +// BufferedImage image = new BufferedImage(original.getWidth(), original.getHeight(), BufferedImage.TYPE_INT_ARGB); +// BufferedImage image = new BufferedImage(original.getWidth(), original.getHeight(), BufferedImage.TYPE_INT_RGB); +// BufferedImage image = new BufferedImage(original.getWidth(), original.getHeight(), BufferedImage.TYPE_4BYTE_ABGR); +// BufferedImage image = new BufferedImage(original.getWidth(), original.getHeight(), BufferedImage.TYPE_INT_BGR); +// BufferedImage image = new BufferedImage(original.getWidth(), original.getHeight(), BufferedImage.TYPE_3BYTE_BGR); + BufferedImage image; + if (type < 0 || type == original.getType()) { + image = original; + } + else if (type == BufferedImage.TYPE_BYTE_INDEXED) { +// image = ImageUtil.createIndexed(original, 256, null, ImageUtil.COLOR_SELECTION_QUALITY | ImageUtil.DITHER_DIFFUSION_ALTSCANS); + image = ImageUtil.createIndexed(original, 256, null, ImageUtil.COLOR_SELECTION_FAST | ImageUtil.DITHER_DIFFUSION_ALTSCANS); + } + else { + image = new BufferedImage(original.getWidth(), original.getHeight(), type); + Graphics2D graphics = image.createGraphics(); + + try { + graphics.drawImage(original, 0, 0, null); + } + finally { + graphics.dispose(); + } + } + + original = null; + + File output = File.createTempFile(file.getName().replace('.', '-'), ".tif"); +// output.deleteOnExit(); + + System.err.println("output: " + output); + TIFFImageWriter writer = new TIFFImageWriter(null); +// ImageWriter writer = ImageIO.getImageWritersByFormatName("PNG").next(); +// ImageWriter writer = ImageIO.getImageWritersByFormatName("BMP").next(); + ImageOutputStream stream = ImageIO.createImageOutputStream(output); + + try { + writer.setOutput(stream); + + ImageWriteParam param = writer.getDefaultWriteParam(); + param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); +// param.setCompressionType("None"); +// param.setCompressionType("PackBits"); +// param.setCompressionType("ZLib"); + param.setCompressionType(param.getCompressionTypes()[compression]); +// if (compression == 2) { +// param.setCompressionQuality(0); +// } + System.err.println("compression: " + param.getLocalizedCompressionTypeName()); + + long start = System.currentTimeMillis(); + writer.write(null, new IIOImage(image, null, null), param); + System.err.println("Write time: " + (System.currentTimeMillis() - start) + " ms"); + } + finally { + stream.close(); + } + + System.err.println("output.length: " + output.length()); + + // TODO: Support writing multipage TIFF +// ImageOutputStream stream = ImageIO.createImageOutputStream(output); +// try { +// writer.setOutput(stream); +// writer.prepareWriteSequence(null); +// for(int i = 0; i < images.size(); i ++){ +// writer.writeToSequence(new IIOImage(images.get(i), null, null), null); +// } +// writer.endWriteSequence(); +// } +// finally { +// stream.close(); +// } +// writer.dispose(); + + + image = null; + + BufferedImage read = ImageIO.read(output); + System.err.println("read: " + read); + + TIFFImageReader.showIt(read, output.getName()); + } +} diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java new file mode 100644 index 00000000..5bb96699 --- /dev/null +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.imageio.spi.ProviderInfo; +import com.twelvemonkeys.imageio.util.IIOUtil; + +import javax.imageio.ImageTypeSpecifier; +import javax.imageio.ImageWriter; +import javax.imageio.spi.ImageWriterSpi; +import javax.imageio.stream.ImageOutputStream; +import java.io.IOException; +import java.util.Locale; + +/** + * TIFFImageWriterSpi + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TIFFImageWriterSpi.java,v 1.0 18.09.13 12:46 haraldk Exp$ + */ +public final class TIFFImageWriterSpi extends ImageWriterSpi { + // TODO: Implement canEncodeImage better + + public TIFFImageWriterSpi() { + this(IIOUtil.getProviderInfo(TIFFImageWriterSpi.class)); + } + + private TIFFImageWriterSpi(final ProviderInfo providerInfo) { + super( + providerInfo.getVendorName(), providerInfo.getVersion(), + new String[] {"tiff", "TIFF", "tif", "TIFF"}, + new String[] {"tif", "tiff"}, + new String[] {"image/tiff", "image/x-tiff"}, + "com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriter", + new Class[] {ImageOutputStream.class}, + new String[] {"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi"}, + true, // supports standard stream metadata + null, null, // native stream format name and class + null, null, // extra stream formats + true, // supports standard image metadata + null, null, + null, null // extra image metadata formats + ); + } + + @Override + public boolean canEncodeImage(ImageTypeSpecifier type) { + // TODO: Test bit depths compatibility + + return true; + } + + @Override + public ImageWriter createWriterInstance(Object extension) throws IOException { + return new TIFFImageWriter(this); + } + + @Override + public String getDescription(Locale locale) { + return "Aldus/Adobe Tagged Image File Format (TIFF) image writer"; + } +} diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStreamTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStreamTest.java new file mode 100644 index 00000000..30fc6608 --- /dev/null +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/HorizontalDifferencingStreamTest.java @@ -0,0 +1,574 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.io.FastByteArrayOutputStream; +import com.twelvemonkeys.io.LittleEndianDataInputStream; +import com.twelvemonkeys.io.LittleEndianDataOutputStream; +import org.junit.Test; + +import java.io.*; +import java.nio.ByteOrder; + +import static org.junit.Assert.assertArrayEquals; +import static org.junit.Assert.assertEquals; + +/** + * HorizontalDifferencingStreamTest + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: HorizontalDifferencingStreamTest.java,v 1.0 02.12.13 09:50 haraldk Exp$ + */ +public class HorizontalDifferencingStreamTest { + + @Test + public void testWrite1SPP1BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + OutputStream stream = new HorizontalDifferencingStream(bytes, 24, 1, 1, ByteOrder.BIG_ENDIAN); + + // Row 1 + stream.write(0xff); + stream.write(0xff); + stream.write(0xff); + + // Row 2 + stream.write(0x5e); + stream.write(0x1e); + stream.write(0x78); + + + // 1 sample per pixel, 1 bits per sample (mono/indexed) + byte[] data = { + (byte) 0x80, 0x00, 0x00, + 0x71, 0x11, 0x44, + }; + + assertArrayEquals(data, bytes.toByteArray()); + } + + @Test + public void testWrite1SPP2BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + OutputStream stream = new HorizontalDifferencingStream(bytes, 16, 1, 2, ByteOrder.BIG_ENDIAN); + + // Row 1 + stream.write(0xff); + stream.write(0xff); + stream.write(0xff); + stream.write(0xff); + + // Row 2 + stream.write(0x41); + stream.write(0x6b); + stream.write(0x05); + stream.write(0x0f); + + // 1 sample per pixel, 2 bits per sample (gray/indexed) + byte[] data = { + (byte) 0xc0, 0x00, 0x00, 0x00, + 0x71, 0x11, 0x44, (byte) 0xcc, + }; + + assertArrayEquals(data, bytes.toByteArray()); + } + + @Test + public void testWrite1SPP4BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + OutputStream stream = new HorizontalDifferencingStream(bytes, 8, 1, 4, ByteOrder.BIG_ENDIAN); + + // Row 1 + stream.write(0xff); + stream.write(0xff); + stream.write(0xff); + stream.write(0xff); + + // Row 2 + stream.write(0x77); + stream.write(0x89); + stream.write(0xd1); + stream.write(0xd9); + + // Row 3 + stream.write(0x00); + stream.write(0x01); + stream.write(0x22); + stream.write(0x00); + + // 1 sample per pixel, 4 bits per sample (gray/indexed) + byte[] data = { + (byte) 0xf0, 0x00, 0x00, 0x00, + 0x70, 0x11, 0x44, (byte) 0xcc, + 0x00, 0x01, 0x10, (byte) 0xe0 + }; + + assertArrayEquals(data, bytes.toByteArray()); + } + + @Test + public void testWrite1SPP8BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + OutputStream stream = new HorizontalDifferencingStream(bytes, 4, 1, 8, ByteOrder.BIG_ENDIAN); + + // Row 1 + stream.write(0xff); + stream.write(0xff); + stream.write(0xff); + stream.write(0xff); + + // Row 2 + stream.write(0x7f); + stream.write(0x80); + stream.write(0x84); + stream.write(0x80); + + // Row 3 + stream.write(0x00); + stream.write(0x7f); + stream.write(0xfe); + stream.write(0x7f); + + // 1 sample per pixel, 8 bits per sample (gray/indexed) + byte[] data = { + (byte) 0xff, 0, 0, 0, + 0x7f, 1, 4, -4, + 0x00, 127, 127, -127 + }; + + assertArrayEquals(data, bytes.toByteArray()); + } + + @Test + public void testWriteArray1SPP8BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + + OutputStream stream = new HorizontalDifferencingStream(bytes, 4, 1, 8, ByteOrder.BIG_ENDIAN); + + stream.write(new byte[] { + (byte) 0xff, (byte) 0xff, (byte) 0xff, (byte) 0xff, + 0x7f, (byte) 0x80, (byte) 0x84, (byte) 0x80, + 0x00, 0x7f, (byte) 0xfe, 0x7f, + }); + + // 1 sample per pixel, 8 bits per sample (gray/indexed) + byte[] data = { + (byte) 0xff, 0, 0, 0, + 0x7f, 1, 4, -4, + 0x00, 127, 127, -127 + }; + + assertArrayEquals(data, bytes.toByteArray()); + } + + @Test + public void testWrite1SPP32BPS() throws IOException { + // 1 sample per pixel, 32 bits per sample (gray) + FastByteArrayOutputStream bytes = new FastByteArrayOutputStream(16); + OutputStream out = new HorizontalDifferencingStream(bytes, 4, 1, 32, ByteOrder.BIG_ENDIAN); + DataOutput dataOut = new DataOutputStream(out); + dataOut.writeInt(0x00000000); + dataOut.writeInt(305419896); + dataOut.writeInt(305419896); + dataOut.writeInt(-610839792); + + InputStream in = bytes.createInputStream(); + DataInput dataIn = new DataInputStream(in); + + // Row 1 + assertEquals(0, dataIn.readInt()); + assertEquals(305419896, dataIn.readInt()); + assertEquals(0, dataIn.readInt()); + assertEquals(-916259688, dataIn.readInt()); + + // EOF + assertEquals(-1, in.read()); + } + + @Test + public void testWrite1SPP32BPSLittleEndian() throws IOException { + // 1 sample per pixel, 32 bits per sample (gray) + FastByteArrayOutputStream bytes = new FastByteArrayOutputStream(16); + OutputStream out = new HorizontalDifferencingStream(bytes, 4, 1, 32, ByteOrder.LITTLE_ENDIAN); + DataOutput dataOut = new LittleEndianDataOutputStream(out); + dataOut.writeInt(0x00000000); + dataOut.writeInt(305419896); + dataOut.writeInt(305419896); + dataOut.writeInt(-610839792); + + InputStream in = bytes.createInputStream(); + DataInput dataIn = new LittleEndianDataInputStream(in); + + // Row 1 + assertEquals(0, dataIn.readInt()); + assertEquals(305419896, dataIn.readInt()); + assertEquals(0, dataIn.readInt()); + assertEquals(-916259688, dataIn.readInt()); + + // EOF + assertEquals(-1, in.read()); + } + + @Test + public void testWrite1SPP64BPS() throws IOException { + // 1 sample per pixel, 64 bits per sample (gray) + FastByteArrayOutputStream bytes = new FastByteArrayOutputStream(32); + + OutputStream out = new HorizontalDifferencingStream(bytes, 4, 1, 64, ByteOrder.BIG_ENDIAN); + DataOutput dataOut = new DataOutputStream(out); + dataOut.writeLong(0x00000000); + dataOut.writeLong(81985529216486895L); + dataOut.writeLong(81985529216486895L); + dataOut.writeLong(-163971058432973790L); + + InputStream in = bytes.createInputStream(); + DataInput dataIn = new DataInputStream(in); + + // Row 1 + assertEquals(0, dataIn.readLong()); + assertEquals(81985529216486895L, dataIn.readLong()); + assertEquals(0, dataIn.readLong()); + assertEquals(-245956587649460685L, dataIn.readLong()); + + // EOF + assertEquals(-1, in.read()); + } + + @Test + public void testWrite1SPP64BPSLittleEndian() throws IOException { + // 1 sample per pixel, 64 bits per sample (gray) + FastByteArrayOutputStream bytes = new FastByteArrayOutputStream(32); + + OutputStream out = new HorizontalDifferencingStream(bytes, 4, 1, 64, ByteOrder.LITTLE_ENDIAN); + DataOutput dataOut = new LittleEndianDataOutputStream(out); + dataOut.writeLong(0x00000000); + dataOut.writeLong(81985529216486895L); + dataOut.writeLong(81985529216486895L); + dataOut.writeLong(-163971058432973790L); + + InputStream in = bytes.createInputStream(); + DataInput dataIn = new LittleEndianDataInputStream(in); + + // Row 1 + assertEquals(0, dataIn.readLong()); + assertEquals(81985529216486895L, dataIn.readLong()); + assertEquals(0, dataIn.readLong()); + assertEquals(-245956587649460685L, dataIn.readLong()); + + // EOF + assertEquals(-1, in.read()); + } + + @Test + public void testWrite3SPP8BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + OutputStream stream = new HorizontalDifferencingStream(bytes, 4, 3, 8, ByteOrder.BIG_ENDIAN); + + // Row 1 + stream.write(0xff); + stream.write(0x00); + stream.write(0x7f); + + stream.write(0xfe); + stream.write(0xff); + stream.write(0x7e); + + stream.write(0xfa); + stream.write(0xfb); + stream.write(0x7a); + + stream.write(0xfe); + stream.write(0xff); + stream.write(0x7e); + + // Row 2 + stream.write(0x7f); + stream.write(0x7f); + stream.write(0x7f); + + stream.write(0x80); + stream.write(0x80); + stream.write(0x80); + + stream.write(0x84); + stream.write(0x84); + stream.write(0x84); + + stream.write(0x80); + stream.write(0x80); + stream.write(0x80); + + // Row 3 + stream.write(0x00); + stream.write(0x00); + stream.write(0x00); + + stream.write(0x7f); + stream.write(0x81); + stream.write(0x00); + + stream.write(0x00); + stream.write(0x00); + stream.write(0x00); + + stream.write(0x00); + stream.write(0x00); + stream.write(0x7f); + + // 3 samples per pixel, 8 bits per sample (RGB) + byte[] data = { + (byte) 0xff, (byte) 0x00, (byte) 0x7f, -1, -1, -1, -4, -4, -4, 4, 4, 4, + 0x7f, 0x7f, 0x7f, 1, 1, 1, 4, 4, 4, -4, -4, -4, + 0x00, 0x00, 0x00, 127, -127, 0, -127, 127, 0, 0, 0, 127, + }; + + assertArrayEquals(data, bytes.toByteArray()); + + } + + @Test + public void testWrite3SPP16BPS() throws IOException { + FastByteArrayOutputStream bytes = new FastByteArrayOutputStream(24); + OutputStream out = new HorizontalDifferencingStream(bytes, 4, 3, 16, ByteOrder.BIG_ENDIAN); + + DataOutput dataOut = new DataOutputStream(out); + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(4660); + dataOut.writeShort(30292); + dataOut.writeShort(4660); + dataOut.writeShort(4660); + dataOut.writeShort(30292); + dataOut.writeShort(4660); + dataOut.writeShort(-9320); + dataOut.writeShort(-60584); + dataOut.writeShort(-9320); + + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(-60584); + dataOut.writeShort(-60584); + dataOut.writeShort(-60584); + + InputStream in = bytes.createInputStream(); + DataInput dataIn = new DataInputStream(in); + + // Row 1 + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(4660, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(4660, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(51556, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + assertEquals(51556, dataIn.readUnsignedShort()); + + // Row 2 + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + + // EOF + assertEquals(-1, in.read()); + } + + @Test + public void testWrite3SPP16BPSLittleEndian() throws IOException { + FastByteArrayOutputStream bytes = new FastByteArrayOutputStream(24); + + OutputStream out = new HorizontalDifferencingStream(bytes, 4, 3, 16, ByteOrder.LITTLE_ENDIAN); + DataOutput dataOut = new LittleEndianDataOutputStream(out); + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(4660); + dataOut.writeShort(30292); + dataOut.writeShort(4660); + dataOut.writeShort(4660); + dataOut.writeShort(30292); + dataOut.writeShort(4660); + dataOut.writeShort(-9320); + dataOut.writeShort(-60584); + dataOut.writeShort(-9320); + + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(0x0000); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(30292); + dataOut.writeShort(-60584); + dataOut.writeShort(-60584); + dataOut.writeShort(-60584); + + InputStream in = bytes.createInputStream(); + DataInput dataIn = new LittleEndianDataInputStream(in); + + // Row 1 + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(4660, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(4660, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(51556, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + assertEquals(51556, dataIn.readUnsignedShort()); + + // Row 2 + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(30292, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(0, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + assertEquals(40196, dataIn.readUnsignedShort()); + + // EOF + assertEquals(-1, in.read()); + } + + @Test + public void testWrite4SPP8BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + OutputStream stream = new HorizontalDifferencingStream(bytes, 4, 4, 8, ByteOrder.BIG_ENDIAN); + + // Row 1 + stream.write(0xff); + stream.write(0x00); + stream.write(0x7f); + stream.write(0x00); + + stream.write(0xfe); + stream.write(0xff); + stream.write(0x7e); + stream.write(0xff); + + stream.write(0xfa); + stream.write(0xfb); + stream.write(0x7a); + stream.write(0xfb); + + stream.write(0xfe); + stream.write(0xff); + stream.write(0x7e); + stream.write(0xff); + + // Row 2 + stream.write(0x7f); + stream.write(0x7f); + stream.write(0x7f); + stream.write(0x7f); + + stream.write(0x80); + stream.write(0x80); + stream.write(0x80); + stream.write(0x80); + + stream.write(0x84); + stream.write(0x84); + stream.write(0x84); + stream.write(0x84); + + stream.write(0x80); + stream.write(0x80); + stream.write(0x80); + stream.write(0x80); + + // 4 samples per pixel, 8 bits per sample (RGBA) + byte[] data = { + (byte) 0xff, (byte) 0x00, (byte) 0x7f, 0x00, -1, -1, -1, -1, -4, -4, -4, -4, 4, 4, 4, 4, + 0x7f, 0x7f, 0x7f, 0x7f, 1, 1, 1, 1, 4, 4, 4, 4, -4, -4, -4, -4, + }; + + assertArrayEquals(data, bytes.toByteArray()); + } + + @Test + public void testWriteArray4SPP8BPS() throws IOException { + ByteArrayOutputStream bytes = new ByteArrayOutputStream(); + OutputStream stream = new HorizontalDifferencingStream(bytes, 4, 4, 8, ByteOrder.BIG_ENDIAN); + + stream.write( + new byte[] { + (byte) 0xff, 0x00, 0x7f, 0x00, + (byte) 0xfe, (byte) 0xff, 0x7e, (byte) 0xff, + (byte) 0xfa, (byte) 0xfb, 0x7a, (byte) 0xfb, + (byte) 0xfe, (byte) 0xff, 0x7e, (byte) 0xff, + + 0x7f, 0x7f, 0x7f, 0x7f, + (byte) 0x80, (byte) 0x80, (byte) 0x80, (byte) 0x80, + (byte) 0x84, (byte) 0x84, (byte) 0x84, (byte) 0x84, + (byte) 0x80, (byte) 0x80, (byte) 0x80, (byte) 0x80, + } + ); + + // 4 samples per pixel, 8 bits per sample (RGBA) + byte[] data = { + (byte) 0xff, (byte) 0x00, (byte) 0x7f, 0x00, -1, -1, -1, -1, -4, -4, -4, -4, 4, 4, 4, 4, + 0x7f, 0x7f, 0x7f, 0x7f, 1, 1, 1, 1, 4, 4, 4, 4, -4, -4, -4, -4, + }; + + assertArrayEquals(data, bytes.toByteArray()); + } + + +} diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterTest.java new file mode 100644 index 00000000..8c42c5a9 --- /dev/null +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterTest.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.imageio.util.ImageWriterAbstractTestCase; + +import javax.imageio.ImageWriter; +import java.awt.*; +import java.awt.image.BufferedImage; +import java.awt.image.RenderedImage; +import java.util.Arrays; +import java.util.List; + +/** + * TIFFImageWriterTest + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: TIFFImageWriterTest.java,v 1.0 19.09.13 13:22 haraldk Exp$ + */ +public class TIFFImageWriterTest extends ImageWriterAbstractTestCase { + + public static final TIFFImageWriterSpi PROVIDER = new TIFFImageWriterSpi(); + + @Override + protected ImageWriter createImageWriter() { + return new TIFFImageWriter(PROVIDER); + } + + @Override + protected List getTestData() { + BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB); + Graphics2D graphics = image.createGraphics(); + try { + graphics.setColor(Color.RED); + graphics.fillRect(0, 0, 100, 200); + graphics.setColor(Color.BLUE); + graphics.fillRect(100, 0, 100, 200); + graphics.clearRect(200, 0, 100, 200); + } + finally { + graphics.dispose(); + } + + return Arrays.asList(image); + } +} From 4839c61f5c57f9b611198c0f30580df37beaa3ed Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 19 Mar 2015 14:49:52 +0100 Subject: [PATCH 25/39] TMI-106, TMI-118: PICT JDK 8 fix + cleanup --- .../io/enc/PackBits16Decoder.java | 178 ---- .../twelvemonkeys/io/enc/PackBitsDecoder.java | 35 +- .../imageio/plugins/pict/BitMap.java | 11 + .../imageio/plugins/pict/BitMapPattern.java | 93 +- .../imageio/plugins/pict/PICT.java | 37 + .../imageio/plugins/pict/PICTImageReader.java | 832 ++++++------------ .../plugins/pict/PICTImageReaderSpi.java | 10 +- .../imageio/plugins/pict/PICTImageWriter.java | 2 +- .../imageio/plugins/pict/PICTUtil.java | 38 +- .../imageio/plugins/pict/Pattern.java | 10 +- .../imageio/plugins/pict/PixMap.java | 11 + .../imageio/plugins/pict/PixMapPattern.java | 7 +- .../plugins/pict/QuickDrawContext.java | 136 ++- .../plugins/pict/PICTImageReaderTest.java | 202 ++++- .../plugins/pict/PICTImageWriterTest.java | 30 +- .../src/test/resources/pict/FC10.PCT | Bin 0 -> 80809 bytes 16 files changed, 829 insertions(+), 803 deletions(-) delete mode 100644 common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBits16Decoder.java create mode 100644 imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMap.java create mode 100644 imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMap.java create mode 100644 imageio/imageio-pict/src/test/resources/pict/FC10.PCT diff --git a/common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBits16Decoder.java b/common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBits16Decoder.java deleted file mode 100644 index a25e8671..00000000 --- a/common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBits16Decoder.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * Copyright (c) 2008, Harald Kuhr - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name "TwelveMonkeys" nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -package com.twelvemonkeys.io.enc; - -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStream; -import java.nio.ByteBuffer; - -/** - * Decoder implementation for 16 bit-chunked Apple PackBits-like run-length - * encoding. - *

- * This version of the decoder decodes chunk of 16 bit, instead of 8 bit. - * This format is used in certain PICT files. - * - * @see PackBitsDecoder - * - * @author Harald Kuhr - * @version $Id: //depot/branches/personal/haraldk/twelvemonkeys/release-2/twelvemonkeys-core/src/main/java/com/twelvemonkeys/io/enc/PackBits16Decoder.java#2 $ - */ -public final class PackBits16Decoder implements Decoder { - // TODO: Refactor this into an option for the PackBitsDecoder (bytesPerSample, default == 1)? - private final boolean disableNoop; - - private int leftOfRun; - private boolean splitRun; - private boolean reachedEOF; - - /** - * Creates a {@code PackBitsDecoder}. - */ - public PackBits16Decoder() { - this(false); - } - - /** - * Creates a {@code PackBitsDecoder}. - *

- * As some implementations of PackBits-like encoders treat {@code -128} as length of - * a compressed run, instead of a no-op, it's possible to disable no-ops - * for compatibility. - * Should be used with caution, even though, most known encoders never write - * no-ops in the compressed streams. - * - * @param pDisableNoop {@code true} if {@code -128} should be treated as a compressed run, and not a no-op - */ - public PackBits16Decoder(final boolean pDisableNoop) { - disableNoop = pDisableNoop; - } - - /** - * Decodes bytes from the given input stream, to the given buffer. - * - * @param stream the stream to decode from - * @param buffer a byte array, minimum 128 (or 129 if no-op is disabled) - * bytes long - * @return The number of bytes decoded - * - * @throws java.io.IOException - */ - public int decode(final InputStream stream, final ByteBuffer buffer) throws IOException { - if (reachedEOF) { - return -1; - } - - while (buffer.hasRemaining()) { - int n; - - if (splitRun) { - // Continue run - n = leftOfRun; - splitRun = false; - } - else { - // Start new run - int b = stream.read(); - if (b < 0) { - reachedEOF = true; - break; - } - n = (byte) b; - } - - // Split run at or before max - if (n >= 0 && 2 * (n + 1) > buffer.remaining()) { - leftOfRun = n; - splitRun = true; - break; - } - else if (n < 0 && 2 * (-n + 1) > buffer.remaining()) { - leftOfRun = n; - splitRun = true; - break; - } - - try { - if (n >= 0) { - // Copy next n + 1 shorts literally - readFully(stream, buffer, 2 * (n + 1)); - } - // Allow -128 for compatibility, see above - else if (disableNoop || n != -128) { - // Replicate the next short -n + 1 times - byte value1 = readByte(stream); - byte value2 = readByte(stream); - - for (int i = -n + 1; i > 0; i--) { - buffer.put(value1); - buffer.put(value2); - } - } - // else NOOP (-128) - } - catch (IndexOutOfBoundsException e) { - throw new DecodeException("Error in PackBits decompression, data seems corrupt", e); - } - } - - return buffer.position(); - } - - private static byte readByte(final InputStream pStream) throws IOException { - int read = pStream.read(); - - if (read < 0) { - throw new EOFException("Unexpected end of PackBits stream"); - } - - return (byte) read; - } - - private static void readFully(final InputStream pStream, final ByteBuffer pBuffer, final int pLength) throws IOException { - if (pLength < 0) { - throw new IndexOutOfBoundsException(); - } - - int total = 0; - - while (total < pLength) { - int count = pStream.read(pBuffer.array(), pBuffer.arrayOffset() + pBuffer.position() + total, pLength - total); - - if (count < 0) { - throw new EOFException("Unexpected end of PackBits stream"); - } - - total += count; - } - - pBuffer.position(pBuffer.position() + total); - } -} diff --git a/common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBitsDecoder.java b/common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBitsDecoder.java index 0c173754..86c32a1f 100644 --- a/common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBitsDecoder.java +++ b/common/common-io/src/main/java/com/twelvemonkeys/io/enc/PackBitsDecoder.java @@ -66,7 +66,8 @@ import java.nio.ByteBuffer; public final class PackBitsDecoder implements Decoder { // TODO: Look at ICNSImageReader#unpackbits... What is this weirdness? - private final boolean disableNoop; + private final boolean disableNoOp; + private final byte[] sample; private int leftOfRun; private boolean splitRun; @@ -74,7 +75,7 @@ public final class PackBitsDecoder implements Decoder { /** Creates a {@code PackBitsDecoder}. */ public PackBitsDecoder() { - this(false); + this(1, false); } /** @@ -84,10 +85,24 @@ public final class PackBitsDecoder implements Decoder { * a compressed run, instead of a no-op, it's possible to disable no-ops for compatibility. * Should be used with caution, even though, most known encoders never write no-ops in the compressed streams. * - * @param pDisableNoop {@code true} if {@code -128} should be treated as a compressed run, and not a no-op + * @param disableNoOp {@code true} if {@code -128} should be treated as a compressed run, and not a no-op */ - public PackBitsDecoder(final boolean pDisableNoop) { - disableNoop = pDisableNoop; + public PackBitsDecoder(final boolean disableNoOp) { + this(1, disableNoOp); + } + + /** + * Creates a {@code PackBitsDecoder}, with optional compatibility mode. + *

+ * As some implementations of PackBits-like encoders treat {@code -128} as length of + * a compressed run, instead of a no-op, it's possible to disable no-ops for compatibility. + * Should be used with caution, even though, most known encoders never write no-ops in the compressed streams. + * + * @param disableNoOp {@code true} if {@code -128} should be treated as a compressed run, and not a no-op + */ + public PackBitsDecoder(int sampleSize, final boolean disableNoOp) { + this.sample = new byte[sampleSize]; + this.disableNoOp = disableNoOp; } /** @@ -138,15 +153,17 @@ public final class PackBitsDecoder implements Decoder { try { if (n >= 0) { // Copy next n + 1 bytes literally - readFully(stream, buffer, n + 1); + readFully(stream, buffer, sample.length * (n + 1)); } // Allow -128 for compatibility, see above - else if (disableNoop || n != -128) { + else if (disableNoOp || n != -128) { // Replicate the next byte -n + 1 times - byte value = readByte(stream); + for (int s = 0; s < sample.length; s++) { + sample[s] = readByte(stream); + } for (int i = -n + 1; i > 0; i--) { - buffer.put(value); + buffer.put(sample); } } // else NOOP (-128) diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMap.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMap.java new file mode 100644 index 00000000..20ad04fd --- /dev/null +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMap.java @@ -0,0 +1,11 @@ +package com.twelvemonkeys.imageio.plugins.pict; + +/** + * BitMap. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: BitMap.java,v 1.0 20/02/15 harald.kuhr Exp$ + */ +final class BitMap { +} diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMapPattern.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMapPattern.java index de6f80f2..4eb79f01 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMapPattern.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/BitMapPattern.java @@ -29,10 +29,9 @@ package com.twelvemonkeys.imageio.plugins.pict; import java.awt.*; -import java.awt.image.WritableRaster; -import java.awt.image.DataBufferByte; -import java.awt.image.BufferedImage; -import java.awt.image.Raster; +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; +import java.awt.image.*; /** * BitMapPattern @@ -43,22 +42,46 @@ import java.awt.image.Raster; */ final class BitMapPattern extends Pattern { + private final byte[] pattern; + BitMapPattern(final Paint pColor) { - super(pColor); + this(pColor, null); } public BitMapPattern(final byte[] pPattern) { - this(create8x8Pattern(pPattern)); + this(create8x8Pattern(pPattern), pPattern); + } + + private BitMapPattern(final Paint pColor, final byte[] pPattern) { + super(pColor); + + pattern = pPattern; + } + + // TODO: Refactor, don't need both BitMapPattern constructors and create8x8Pattern methods? + public BitMapPattern(final byte[] pPattern, Color fg, Color bg) { + this(create8x8Pattern(pPattern, fg, bg)); } BitMapPattern(final int pPattern) { this(create8x8Pattern(pPattern)); } - private static TexturePaint create8x8Pattern(final int pPattern) { - // TODO: Creating a special purpose Pattern might be faster than piggy-backing on TexturePaint - WritableRaster raster = QuickDraw.MONOCHROME.createCompatibleWritableRaster(8, 8); - byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); + private static Paint create8x8Pattern(final int pPattern) { +// // TODO: Creating a special purpose Pattern might be faster than piggy-backing on TexturePaint +// WritableRaster raster = QuickDraw.MONOCHROME.createCompatibleWritableRaster(8, 8); +// byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); +// +// for (int i = 0; i < data.length; i += 4) { +// data[i ] = (byte) ((pPattern >> 24) & 0xFF); +// data[i + 1] = (byte) ((pPattern >> 16) & 0xFF); +// data[i + 2] = (byte) ((pPattern >> 8) & 0xFF); +// data[i + 3] = (byte) ((pPattern ) & 0xFF); +// } +// +// BufferedImage img = new BufferedImage(QuickDraw.MONOCHROME, raster, false, null); +// return new TexturePaint(img, new Rectangle(8, 8)); + byte[] data = new byte[8]; for (int i = 0; i < data.length; i += 4) { data[i ] = (byte) ((pPattern >> 24) & 0xFF); @@ -67,13 +90,57 @@ final class BitMapPattern extends Pattern { data[i + 3] = (byte) ((pPattern ) & 0xFF); } - BufferedImage img = new BufferedImage(QuickDraw.MONOCHROME, raster, false, null); - return new TexturePaint(img, new Rectangle(8, 8)); + return create8x8Pattern(data); } - private static TexturePaint create8x8Pattern(final byte[] pPattern) { + private static Paint create8x8Pattern(final byte[] pPattern) { WritableRaster raster = Raster.createPackedRaster(new DataBufferByte(pPattern, 8), 8, 8, 1, new Point()); BufferedImage img = new BufferedImage(QuickDraw.MONOCHROME, raster, false, null); return new TexturePaint(img, new Rectangle(8, 8)); } + + private static Paint create8x8Pattern(final byte[] pPattern, Color fg, Color bg) { + switch (isSolid(pPattern)) { + case 0: // 0x00 + return bg; + case -1: // 0xff + return fg; + default: + // Fall through + } + + WritableRaster raster = Raster.createPackedRaster(new DataBufferByte(pPattern, 8), 8, 8, 1, new Point()); + IndexColorModel cm = new IndexColorModel(1, 2, new int[] {bg.getRGB(), fg.getRGB()}, 0, false, -1, DataBuffer.TYPE_BYTE); + BufferedImage img = new BufferedImage(cm, raster, false, null); + return new TexturePaint(img, new Rectangle(8, 8)); + } + + private static int isSolid(byte[] pPattern) { + int prev = pPattern[0]; + + for (int i = 1; i < pPattern.length; i++) { + if (prev != pPattern[i]) { + return 1; + } + } + + return prev; + } + + @Override + public PaintContext createContext(ColorModel pModel, Rectangle pDeviceBounds, Rectangle2D pUserBounds, AffineTransform pTransform, RenderingHints pHints) { +// switch (isSolid(pattern)) { +// } + return super.createContext(pModel, pDeviceBounds, pUserBounds, pTransform, pHints); + } + + @Override + public Pattern derive(final Color foreground, final Color background) { + if (paint instanceof Color) { + // TODO: This only holds for patterns that are already foregrounds... + return new BitMapPattern(foreground); + } + + return null; + } } diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICT.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICT.java index eca3c6a4..5038f791 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICT.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICT.java @@ -175,4 +175,41 @@ interface PICT { int OP_UNCOMPRESSED_QUICKTIME = 0x8201; String APPLE_USE_RESERVED_FIELD = "Reserved for Apple use."; + + /* + * Picture comment 'kind' codes from: http://developer.apple.com/technotes/qd/qd_10.html + int TextBegin = 150; + int TextEnd = 151; + int StringBegin = 152; + int StringEnd = 153; + int TextCenter = 154; + int LineLayoutOff = 155; + int LineLayoutOn = 156; + int ClientLineLayout = 157; + int PolyBegin = 160; + int PolyEnd = 161; + int PolyIgnore = 163; + int PolySmooth = 164; + int PolyClose = 165; + int DashedLine = 180; + int DashedStop = 181; + int SetLineWidth = 182; + int PostScriptBegin = 190; + int PostScriptEnd = 191; + int PostScriptHandle = 192; + int PostScriptFile = 193; + int TextIsPostScript = 194; + int ResourcePS = 195; + int PSBeginNoSave = 196; + int SetGrayLevel = 197; + int RotateBegin = 200; + int RotateEnd = 201; + int RotateCenter = 202; + int FormsPrinting = 210; + int EndFormsPrinting = 211; + int ICC_Profile = 224; + int Photoshop_Data = 498; + int BitMapThinningOff = 1000; + int BitMapThinningOn = 1001; + */ } diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java index 2cc202d6..c954ff47 100644 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReader.java @@ -64,7 +64,6 @@ import com.twelvemonkeys.imageio.util.IIOUtil; import com.twelvemonkeys.imageio.util.ImageTypeSpecifiers; import com.twelvemonkeys.io.enc.Decoder; import com.twelvemonkeys.io.enc.DecoderStream; -import com.twelvemonkeys.io.enc.PackBits16Decoder; import com.twelvemonkeys.io.enc.PackBitsDecoder; import javax.imageio.*; @@ -100,23 +99,21 @@ import java.util.List; * - Or methods like frameRect(pen, penmode, penwidth, rect), frameOval(pen, penmode, penwidth, rect), etc? * - Or methods like frameShape(pen, penmode, penwidth, shape), paintShape(pen, penmode, shape) etc?? * QuickDrawContext that wraps an AWT Grpahics, and with methods macthing opcodes, seems like the best fit ATM - * @todo Remove null-checks for Graphics, as null-graphics makes no sense. * @todo Some MAJOR clean up - * @todo Object orientation of different opcodes? * @todo As we now have Graphics2D with more options, support more of the format? - * @todo Support for some other compression (packType 3) that seems to be common... */ public class PICTImageReader extends ImageReaderBase { - static boolean DEBUG = false; + final static boolean DEBUG = "true".equalsIgnoreCase(System.getProperty("com.twelvemonkeys.imageio.plugins.pict.debug")); - // Private fields private QuickDrawContext context; private Rectangle frame; + // TODO: Do we need this? private int version; // Variables for storing draw status + // TODO: Get rid of these, or move to context private Point penPosition = new Point(0, 0); private Rectangle lastRectangle = new Rectangle(0, 0); @@ -180,7 +177,7 @@ public class PICTImageReader extends ImageReaderBase { pStream.seek(0l); // Skip first 512 bytes - skipNullHeader(pStream); + PICTImageReaderSpi.skipNullHeader(pStream); readPICTHeader0(pStream); } } @@ -326,12 +323,6 @@ public class PICTImageReader extends ImageReaderBase { pStream.flushBefore(imageStartStreamPos); } - static void skipNullHeader(final ImageInputStream pStream) throws IOException { - // NOTE: Only skip if FILE FORMAT, not needed for Mac OS DnD - // Spec says "platofrm dependent", may not be all nulls.. - pStream.skipBytes(PICT.PICT_NULL_HEADER_SIZE); - } - /** * Reads the PICT stream. * The contents of the stream will be drawn onto the supplied graphics @@ -369,12 +360,9 @@ public class PICTImageReader extends ImageReaderBase { int opCode, dh, dv, dataLength; byte[] colorBuffer = new byte[3 * PICT.COLOR_COMP_SIZE]; - Pattern fill = QuickDraw.BLACK; Pattern bg; Pattern pen; - Paint foreground; - Paint background; Color hilight = Color.RED; Point origin, dh_dv; @@ -441,39 +429,27 @@ public class PICTImageReader extends ImageReaderBase { } break; - case PICT.OP_TX_FONT:// DIFFICULT TO KNOW THE FONT??? + case PICT.OP_TX_FONT: // Get the data - pStream.readFully(new byte[2], 0, 2); + byte[] fontData = new byte[2]; + pStream.readFully(fontData, 0, 2); // TODO: Font family id, 0 - System font, 1 - Application font. // But how can we get these mappings? if (DEBUG) { - System.out.println("txFont"); + System.out.println("txFont: " + Arrays.toString(fontData)); } break; - case PICT.OP_TX_FACE:// SEE IF IT IS TO BE IMPLEMENTED FOR NOW? + case PICT.OP_TX_FACE: // Get the data - byte txFace = pStream.readByte(); - - //// Construct text face mask -// currentFont = mGraphics.getFont(); - //int awt_face_mask = 0; - //if ((txFace & (byte) QuickDraw.TX_BOLD_MASK) > 0) { - // awt_face_mask |= Font.BOLD; - //} - //if ((txFace & (byte) QuickDraw.TX_ITALIC_MASK) > 0) { - // awt_face_mask |= Font.ITALIC; - //} - // - //// Set the font - //mGraphics.setFont(new Font(currentFont.getName(), awt_face_mask, currentFont.getSize())); - + int txFace = pStream.readUnsignedByte(); + context.setTextFace(txFace); if (DEBUG) { System.out.println("txFace: " + txFace); } break; - case PICT.OP_TX_MODE:// SEE IF IT IS TO BE IMPLEMENTED FOR NOW? + case PICT.OP_TX_MODE: // Get the data byte[] mode_buf = new byte[2]; pStream.readFully(mode_buf, 0, mode_buf.length); @@ -494,25 +470,25 @@ public class PICTImageReader extends ImageReaderBase { // Get the two words // NOTE: This is out of order, compared to other Points Dimension pnsize = new Dimension(pStream.readUnsignedShort(), pStream.readUnsignedShort()); - context.setPenSize(pnsize); if (DEBUG) { System.out.println("pnsize: " + pnsize); } + context.setPenSize(pnsize); + break; - case PICT.OP_PN_MODE:// TRY EMULATING WITH SETXORMODE ETC + case PICT.OP_PN_MODE: // Get the data int mode = pStream.readUnsignedShort(); if (DEBUG) { System.out.println("pnMode: " + mode); } - context.setPenMode(mode); break; case PICT.OP_PN_PAT: - context.setPenPattern(PICTUtil.readPattern(pStream)); + context.setPenPattern(PICTUtil.readPattern(pStream, context.getForeground(), context.getBackground())); if (DEBUG) { System.out.println("pnPat"); } @@ -546,9 +522,6 @@ public class PICTImageReader extends ImageReaderBase { y = getYPtCoord(pStream.readUnsignedShort()); x = getXPtCoord(pStream.readUnsignedShort()); origin = new Point(x, y); - //if (mGraphics != null) { - // mGraphics.translate(origin.x, origin.y); - //} if (DEBUG) { System.out.println("Origin: " + origin); } @@ -557,10 +530,6 @@ public class PICTImageReader extends ImageReaderBase { case PICT.OP_TX_SIZE:// OK // Get the text size int tx_size = getYPtCoord(pStream.readUnsignedShort()); - //if (mGraphics != null) { - // currentFont = mGraphics.getFont(); - // mGraphics.setFont(new Font(currentFont.getName(), currentFont.getStyle(), tx_size)); - //} context.setTextSize(tx_size); if (DEBUG) { System.out.println("txSize: " + tx_size); @@ -604,14 +573,23 @@ public class PICTImageReader extends ImageReaderBase { case 0x0012: // BkPixPat bg = PICTUtil.readColorPattern(pStream); context.setBackgroundPattern(bg); + if (DEBUG) { + System.out.println("BkPixPat"); + } break; case 0x0013: // PnPixPat pen = PICTUtil.readColorPattern(pStream); - context.setBackgroundPattern(pen); + context.setPenPattern(pen); + if (DEBUG) { + System.out.println("PnPixPat"); + } break; case 0x0014: // FillPixPat fill = PICTUtil.readColorPattern(pStream); - context.setBackgroundPattern(fill); + context.setFillPattern(fill); + if (DEBUG) { + System.out.println("FillPixPat"); + } break; case PICT.OP_PN_LOC_H_FRAC:// TO BE DONE??? @@ -633,23 +611,22 @@ public class PICTImageReader extends ImageReaderBase { case PICT.OP_RGB_FG_COL:// OK // Get the color pStream.readFully(colorBuffer, 0, colorBuffer.length); - foreground = new Color((colorBuffer[0] & 0xFF), (colorBuffer[2] & 0xFF), (colorBuffer[4] & 0xFF)); - //if (mGraphics != null) { - // mGraphics.setColor(foreground); - //} + Color foreground = new Color((colorBuffer[0] & 0xFF), (colorBuffer[2] & 0xFF), (colorBuffer[4] & 0xFF)); if (DEBUG) { System.out.println("rgbFgColor: " + foreground); } + context.setForeground(foreground); break; case PICT.OP_RGB_BK_COL:// OK // Get the color pStream.readFully(colorBuffer, 0, colorBuffer.length); - // TODO: The color might be 16 bit per component.. - background = new Color((colorBuffer[0] & 0xFF), (colorBuffer[2] & 0xFF), (colorBuffer[4] & 0xFF)); + // The color might be 16 bit per component.. + Color background = new Color(colorBuffer[0] & 0xFF, colorBuffer[2] & 0xFF, colorBuffer[4] & 0xFF); if (DEBUG) { System.out.println("rgbBgColor: " + background); } + context.setBackground(background); break; case PICT.OP_HILITE_MODE: @@ -725,11 +702,12 @@ public class PICTImageReader extends ImageReaderBase { x = getXPtCoord(pStream.readUnsignedShort()); origin = new Point(x, y); - y = getYPtCoord(pStream.readByte()); x = getXPtCoord(pStream.readByte()); + y = getYPtCoord(pStream.readByte()); dh_dv = new Point(x, y); // Move pen to new position, draw line if we have a graphics + context.moveTo(origin); penPosition.setLocation(origin.x + dh_dv.x, origin.y + dh_dv.y); context.lineTo(penPosition); @@ -740,8 +718,8 @@ public class PICTImageReader extends ImageReaderBase { case PICT.OP_SHORT_LINE_FROM:// OK // Get dh, dv - y = getYPtCoord(pStream.readByte()); x = getXPtCoord(pStream.readByte()); + y = getYPtCoord(pStream.readByte()); // Draw line context.line(x, y); @@ -788,10 +766,6 @@ public class PICTImageReader extends ImageReaderBase { penPosition.translate(dh, 0); context.moveTo(penPosition); text = PICTUtil.readPascalString(pStream); - // TODO -// if (mGraphics != null) { -// mGraphics.drawString(text, penPosition.x, penPosition.y); -// } context.drawString(text); if (DEBUG) { System.out.println("DHText dh: " + dh + ", text:" + text); @@ -804,10 +778,6 @@ public class PICTImageReader extends ImageReaderBase { penPosition.translate(0, dv); context.moveTo(penPosition); text = PICTUtil.readPascalString(pStream); - // TODO - //if (mGraphics != null) { - // mGraphics.drawString(text, penPosition.x, penPosition.y); - //} context.drawString(text); if (DEBUG) { System.out.println("DVText dv: " + dv + ", text:" + text); @@ -821,10 +791,6 @@ public class PICTImageReader extends ImageReaderBase { penPosition.translate(x, y); context.moveTo(penPosition); text = PICTUtil.readPascalString(pStream); - // TODO - //if (mGraphics != null) { - // mGraphics.drawString(text, penPosition.x, penPosition.y); - //} context.drawString(text); if (DEBUG) { System.out.println("DHDVText penPosition: " + penPosition + ", text:" + text); @@ -837,25 +803,20 @@ public class PICTImageReader extends ImageReaderBase { pStream.readShort(); // Get old font ID, ignored -// pStream.readInt(); pStream.readUnsignedShort(); // Get font name and set the new font if we have one - text = PICTUtil.readPascalString(pStream); - // TODO - //if (mGraphics != null) { - // mGraphics.setFont(Font.decode(text) - // .deriveFont(currentFont.getStyle(), currentFont.getSize())); - //} - context.drawString(text); + String fontName = PICTUtil.readPascalString(pStream); + context.setTextFont(fontName); if (DEBUG) { - System.out.println("fontName: \"" + text +"\""); + System.out.println("fontName: \"" + fontName +"\""); } break; - case PICT.OP_LINE_JUSTIFY:// TO BE DONE??? + case PICT.OP_LINE_JUSTIFY:// TODO // Get data - pStream.readFully(new byte[10], 0, 10); + byte[] lineJustifyData = new byte[10]; + pStream.readFully(lineJustifyData, 0, lineJustifyData.length); if (DEBUG) { System.out.println("opLineJustify"); } @@ -863,9 +824,10 @@ public class PICTImageReader extends ImageReaderBase { case PICT.OP_GLYPH_STATE:// TODO: NOT SUPPORTED IN AWT GRAPHICS YET? // Get data - pStream.readFully(new byte[6], 0, 6); + byte[] glyphState = new byte[6]; + pStream.readFully(glyphState, 0, glyphState.length); if (DEBUG) { - System.out.println("glyphState"); + System.out.println("glyphState: " + Arrays.toString(glyphState)); } break; @@ -1319,6 +1281,14 @@ public class PICTImageReader extends ImageReaderBase { // Polygon treatments finished break; + case 0x7d: + case 0x7e: + case 0x7f: + if (DEBUG) { + System.out.println(String.format("%s: 0x%04x", PICT.APPLE_USE_RESERVED_FIELD, opCode)); + } + break; + case 0x75: case 0x76: case 0x77: @@ -1440,14 +1410,14 @@ public class PICTImageReader extends ImageReaderBase { */ int rowBytesRaw = pStream.readUnsignedShort(); - int rowBytes = rowBytesRaw & 0x3FFF; + int rowBytes = rowBytesRaw & 0x7FFF; // TODO: Use rowBytes to determine size of PixMap/ColorTable? if ((rowBytesRaw & 0x8000) > 0) { // Do stuff... } - // Get bounds rectangle. THIS IS NOT TO BE SCALED BY THE RESOLUTION! TODO: ?! + // Get bounds rectangle. THIS IS NOT TO BE SCALED BY THE RESOLUTION! bounds = new Rectangle(); y = pStream.readUnsignedShort(); x = pStream.readUnsignedShort(); @@ -1455,8 +1425,7 @@ public class PICTImageReader extends ImageReaderBase { y = pStream.readUnsignedShort(); x = pStream.readUnsignedShort(); - bounds.setSize(x - bounds.x, - y - bounds.y); + bounds.setSize(x - bounds.x, y - bounds.y); Rectangle srcRect = new Rectangle(); readRectangle(pStream, srcRect); @@ -1465,7 +1434,6 @@ public class PICTImageReader extends ImageReaderBase { readRectangle(pStream, dstRect); mode = pStream.readUnsignedShort(); - context.setPenMode(mode); // TODO: Or parameter? if (DEBUG) { System.out.print("bitsRect, rowBytes: " + rowBytes); @@ -1496,13 +1464,6 @@ public class PICTImageReader extends ImageReaderBase { Rectangle rect = new Rectangle(srcRect); rect.translate(-bounds.x, -bounds.y); context.copyBits(image, rect, dstRect, mode, null); - //mGraphics.drawImage(image, - // dstRect.x, dstRect.y, - // dstRect.x + dstRect.width, dstRect.y + dstRect.height, - // srcRect.x - bounds.x, srcRect.y - bounds.y, - // srcRect.x - bounds.x + srcRect.width, srcRect.y - bounds.y + srcRect.height, - // null); - // break; case PICT.OP_BITS_RGN: @@ -1518,7 +1479,7 @@ public class PICTImageReader extends ImageReaderBase { pixData: PixData; */ if (DEBUG) { - System.out.println("bitsRgn"); + System.out.println("bitsRgn - TODO"); } break; @@ -1531,15 +1492,12 @@ public class PICTImageReader extends ImageReaderBase { dataLength = pStream.readUnsignedShort(); pStream.readFully(new byte[dataLength], 0, dataLength); if (DEBUG) { - System.out.println(String.format("%s: 0x%04x", PICT.APPLE_USE_RESERVED_FIELD, opCode)); + System.out.println(String.format("%s: 0x%04x - length: %d", PICT.APPLE_USE_RESERVED_FIELD, opCode, dataLength)); } break; case PICT.OP_PACK_BITS_RECT: - readOpPackBitsRect(pStream, bounds, pixmapCount++); - if (DEBUG) { - System.out.println("packBitsRect - TODO"); - } + readOpPackBitsRect(pStream, pixmapCount++); break; case PICT.OP_PACK_BITS_RGN: @@ -1551,7 +1509,7 @@ public class PICTImageReader extends ImageReaderBase { break; case PICT.OP_DIRECT_BITS_RECT: - readOpDirectBitsRect(pStream, bounds, pixmapCount++); + readOpDirectBitsRect(pStream, pixmapCount++); break; case PICT.OP_DIRECT_BITS_RGN: @@ -1575,17 +1533,21 @@ public class PICTImageReader extends ImageReaderBase { break; case PICT.OP_SHORT_COMMENT:// NOTHING TO DO, JUST JUMP OVER - pStream.readFully(new byte[2], 0, 2); + byte[] shortComment = new byte[2]; + pStream.readFully(shortComment, 0, 2); if (DEBUG) { - System.out.println("Short comment"); + System.out.println("Short comment: " + Arrays.toString(shortComment)); } break; case PICT.OP_LONG_COMMENT:// NOTHING TO DO, JUST JUMP OVER - readLongComment(pStream); - if (DEBUG) { - System.out.println("Long comment"); - } + /*byte[] longComment =*/ readLongComment(pStream); + // TODO: Don't just skip... + // https://developer.apple.com/legacy/library/documentation/mac/pdf/Imaging_With_QuickDraw/Appendix_B.pdf + // Long comments can be used for PhotoShop IRBs (kind 498) or ICC profiles (224) and other meta data... +// if (DEBUG) { +// System.out.println("Long comment: " + Arrays.toString(longComment)); +// } break; case PICT.OP_END_OF_PICTURE:// OK @@ -1654,6 +1616,8 @@ public class PICTImageReader extends ImageReaderBase { pStream.readFully(new byte[dataLength], 0, dataLength); } else { + // TODO: We could issue a warning and return instead? In any case, can't continue, as we don't know the length of the opcode... +// return; throw new IIOException(String.format("Found unknown opcode: 0x%04x", opCode)); } @@ -1737,7 +1701,7 @@ public class PICTImageReader extends ImageReaderBase { pStream.seek(pos + dataLength); // Might be word-align mismatch here - // Skip "QuickTime? and a ... decompressor required" text + // Skip "QuickTime™ and a ... decompressor required" text // TODO: Verify that this is correct. It works with all my test data, but the algorithm is // reverse-engineered by looking at the input data and not from any spec I've seen... int penSizeMagic = pStream.readInt(); @@ -1768,23 +1732,17 @@ public class PICTImageReader extends ImageReaderBase { */ - private void readOpPackBitsRect(ImageInputStream pStream, Rectangle pBounds, int pPixmapCount) throws IOException { - if (DEBUG) { - System.out.println("packBitsRect"); - } - - // Skip PixMap pointer (always 0x000000FF); -// pStream.skipBytes(4); -// int pixmapPointer = pStream.readInt(); -// System.out.println(String.format("%08d: 0x%08x", pStream.getStreamPosition(), pixmapPointer)); - + private void readOpPackBitsRect(final ImageInputStream pStream, final int pPixmapCount) throws IOException { // Get rowBytes int rowBytesRaw = pStream.readUnsignedShort(); // System.out.println(String.format("%08d: 0x%04x", pStream.getStreamPosition(), rowBytesRaw)); - int rowBytes = rowBytesRaw & 0x3FFF; + // TODO: This way to determine pixmap vs bitmap is for version 2 only! + int rowBytes = rowBytesRaw & 0x7FFF; + boolean isPixMap = (rowBytesRaw & 0x8000) > 0; + if (DEBUG) { System.out.print("packBitsRect, rowBytes: " + rowBytes); - if ((rowBytesRaw & 0x8000) > 0) { + if (isPixMap) { System.out.print(", it is a PixMap"); } else { @@ -1793,98 +1751,114 @@ public class PICTImageReader extends ImageReaderBase { } // Get bounds rectangle. THIS IS NOT TO BE SCALED BY THE RESOLUTION! + // TODO: ...or then again...? :-) + Rectangle bounds = new Rectangle(); int y = pStream.readUnsignedShort(); int x = pStream.readUnsignedShort(); - pBounds.setLocation(x, y); + bounds.setLocation(x, y); y = pStream.readUnsignedShort(); x = pStream.readUnsignedShort(); - pBounds.setSize(x - pBounds.x, y - pBounds.y); + bounds.setSize(x - bounds.x, y - bounds.y); if (DEBUG) { - System.out.print(", bounds: " + pBounds); + System.out.print(", bounds: " + bounds); } - // Get PixMap record version number - int pmVersion = pStream.readUnsignedShort() & 0xFFFF; - if (DEBUG) { - System.out.print(", pmVersion: " + pmVersion); - } - - // Get packing format - int packType = pStream.readUnsignedShort() & 0xFFFF; - if (DEBUG) { - System.out.print(", packType: " + packType); - } - - // Get size of packed data (not used for v2) - int packSize = pStream.readInt(); - if (DEBUG) { - System.out.println(", packSize: " + packSize); - } - - // Get resolution info - double hRes = PICTUtil.readFixedPoint(pStream); - double vRes = PICTUtil.readFixedPoint(pStream); - if (DEBUG) { - System.out.print("hRes: " + hRes + ", vRes: " + vRes); - } - - // Get pixel type - int pixelType = pStream.readUnsignedShort(); - if (DEBUG) { - if (pixelType == 0) { - System.out.print(", indexed pixels"); - } - else { - System.out.print(", RGBDirect"); - } - } - - // Get pixel size - int pixelSize = pStream.readUnsignedShort(); - if (DEBUG) { - System.out.print(", pixelSize:" + pixelSize); - } - - // Get pixel component count - int cmpCount = pStream.readUnsignedShort(); - if (DEBUG) { - System.out.print(", cmpCount:" + cmpCount); - } - - // Get pixel component size - int cmpSize = pStream.readUnsignedShort(); - if (DEBUG) { - System.out.print(", cmpSize:" + cmpSize); - } - - // planeBytes (ignored) - int planeBytes = pStream.readInt(); - if (DEBUG) { - System.out.print(", planeBytes:" + planeBytes); - } - - // Handle to ColorTable record, there should be none for direct - // bits so this should be 0, just skip - int clutId = pStream.readInt(); - if (DEBUG) { - System.out.println(", clutId:" + clutId); - } - - // Reserved - pStream.readInt(); - - // Color table ColorModel colorModel; - if (pixelType == 0) { + int cmpSize; + + if (isPixMap) { + // Get PixMap record version number + int pmVersion = pStream.readUnsignedShort(); + if (DEBUG) { + System.out.print(", pmVersion: " + pmVersion); + } + + // Get packing format + int packType = pStream.readUnsignedShort(); + if (DEBUG) { + System.out.print(", packType: " + packType); + } + + // Get size of packed data (not used for v2) + int packSize = pStream.readInt(); // TODO: Probably not int for BitMap (value seems too high)? + if (DEBUG) { + System.out.println(", packSize: " + packSize); + } + + // Get resolution info + double hRes = PICTUtil.readFixedPoint(pStream); + double vRes = PICTUtil.readFixedPoint(pStream); + if (DEBUG) { + System.out.print("hRes: " + hRes + ", vRes: " + vRes); + } + + // Get pixel type + int pixelType = pStream.readUnsignedShort(); + if (DEBUG) { + if (pixelType == 0) { + System.out.print(", indexed pixels"); + } + else { + System.out.print(", RGBDirect"); + } + } + + // Get pixel size + int pixelSize = pStream.readUnsignedShort(); + if (DEBUG) { + System.out.print(", pixelSize:" + pixelSize); + } + + // Get pixel component count + int cmpCount = pStream.readUnsignedShort(); + if (DEBUG) { + System.out.print(", cmpCount:" + cmpCount); + } + + // Get pixel component size + cmpSize = pStream.readUnsignedShort(); + if (DEBUG) { + System.out.print(", cmpSize:" + cmpSize); + } + + // planeBytes (ignored) + int planeBytes = pStream.readInt(); + if (DEBUG) { + System.out.print(", planeBytes:" + planeBytes); + } + + // Handle to ColorTable record + int clutId = pStream.readInt(); + if (DEBUG) { + System.out.println(", clutId:" + clutId); + } + + // Reserved + pStream.readInt(); + + // TODO: Seems to be packType 0 all the time? + // packType = 0 means default.... + + if (packType != 0) { + throw new IIOException("Unknown pack type: " + packType); + } + if (pixelType != 0) { + throw new IIOException("Unsupported pixel type: " + pixelType); + } + + // Color table colorModel = PICTUtil.readColorTable(pStream, pixelSize); } else { - throw new IIOException("Unsupported pixel type: " + pixelType); + // Old style BitMap record + cmpSize = 1; + colorModel = QuickDraw.MONOCHROME; } // Get source rectangle. We DO NOT scale the coordinates by the // resolution info, since we are in pixmap coordinates here + // TODO: readReactangleNonScaled() Rectangle srcRect = new Rectangle(); y = pStream.readUnsignedShort(); x = pStream.readUnsignedShort(); @@ -1910,157 +1884,58 @@ public class PICTImageReader extends ImageReaderBase { // Get transfer mode int transferMode = pStream.readUnsignedShort(); if (DEBUG) { - System.out.print(", mode: " + transferMode); + System.out.println(", mode: " + transferMode); } // Set up pixel buffer for the RGB values - - // TODO: Seems to be packType 0 all the time? - // packType = 0 means default.... - - - // Read in the RGB arrays - byte[] dstBytes; - /* - if (packType == 1 || rowBytes < 8) { - // TODO: Verify this... - dstBytes = new byte[rowBytes]; - } - else if (packType == 2) { - // TODO: Verify this... - dstBytes = new byte[rowBytes * 3 / 4]; - } - else if (packType == 3) { - dstBytes = new byte[2 * pBounds.width]; - } - else if (packType == 4) { - dstBytes = new byte[cmpCount * pBounds.width]; - } - else { - throw new IIOException("Unknown pack type: " + packType); - } - */ - if (packType == 0) { - dstBytes = new byte[cmpCount * pBounds.width]; - } - else { - throw new IIOException("Unknown pack type: " + packType); - } - -// int[] pixArray = new int[pBounds.height * pBounds.width]; - byte[] pixArray = new byte[pBounds.height * pBounds.width]; + byte[] pixArray = new byte[srcRect.height * rowBytes]; int pixBufOffset = 0; - int packedBytesCount; - for (int scanline = 0; scanline < pBounds.height; scanline++) { - // Get byteCount of the scanline - if (rowBytes > 250) { - packedBytesCount = pStream.readUnsignedShort(); - } - else { - packedBytesCount = pStream.readUnsignedByte(); - } - if (DEBUG) { - System.out.println(); - System.out.print("Line " + scanline + ", byteCount: " + packedBytesCount); - System.out.print(" dstBytes: " + dstBytes.length); - } - + // Read in the RGB arrays + for (int scanline = 0; scanline < srcRect.height; scanline++) { // Read in the scanline - /*if (packType > 2) { - // Unpack them all*/ - Decoder decoder;/* - if (packType == 3) { - decoder = new PackBits16Decoder(); - } - else {*/ - decoder = new PackBitsDecoder(); - /*}*/ - DataInput unPackBits = new DataInputStream(new DecoderStream(IIOUtil.createStreamAdapter(pStream, packedBytesCount), decoder)); -// unPackBits.readFully(dstBytes); - unPackBits.readFully(pixArray, pixBufOffset, pBounds.width); - /*} - else { - imageInput.readFully(dstBytes); - }*/ + if (rowBytes > 8) { + // Get byteCount of the scanline + int packedBytesCount = rowBytes > 250 ? pStream.readUnsignedShort() : pStream.readUnsignedByte(); - // TODO: Use TYPE_USHORT_555_RGB for 16 bit - /* - if (packType == 3) { - for (int i = 0; i < pBounds.width; i++) { - // Set alpha values to all opaque - pixArray[pixBufOffset + i] = 0xFF000000; - - // Get red values - int red = 8 * ((dstBytes[2 * i] & 0x7C) >> 2); - pixArray[pixBufOffset + i] |= red << 16; - // Get green values - int green = 8 * (((dstBytes[2 * i] & 0x07) << 3) + ((dstBytes[2 * i + 1] & 0xE0) >> 5)); - pixArray[pixBufOffset + i] |= green << 8; - // Get blue values - int blue = 8 * ((dstBytes[2 * i + 1] & 0x1F)); - pixArray[pixBufOffset + i] |= blue; - } + // Unpack them all + Decoder decoder = new PackBitsDecoder(); + DataInput unPackBits = new DataInputStream(new DecoderStream(IIOUtil.createStreamAdapter(pStream, packedBytesCount), decoder)); + unPackBits.readFully(pixArray, pixBufOffset, rowBytes); } else { - if (cmpCount == 3) { - for (int i = 0; i < pBounds.width; i++) { - // Set alpha values to all opaque - pixArray[pixBufOffset + i] = 0xFF000000; - // Get red values - pixArray[pixBufOffset + i] |= (dstBytes[i] & 0xFF) << 16; - // Get green values - pixArray[pixBufOffset + i] |= (dstBytes[pBounds.width + i] & 0xFF) << 8; - // Get blue values - pixArray[pixBufOffset + i] |= (dstBytes[2 * pBounds.width + i] & 0xFF); - } - } - else { - for (int i = 0; i < pBounds.width; i++) { -// // Get alpha values -// pixArray[pixBufOffset + i] = (dstBytes[i] & 0xFF) << 24; -// // Get red values -// pixArray[pixBufOffset + i] |= (dstBytes[pBounds.width + i] & 0xFF) << 16; -// // Get green values -// pixArray[pixBufOffset + i] |= (dstBytes[2 * pBounds.width + i] & 0xFF) << 8; -// // Get blue values -// pixArray[pixBufOffset + i] |= (dstBytes[3 * pBounds.width + i] & 0xFF); - - // TODO: Fake it for now... Should ideally just use byte array and use the ICM -// pixArray[pixBufOffset + i] = 0xFF << 24; -// pixArray[pixBufOffset + i] |= colorModel.getRed(dstBytes[i] & 0xFF) << 16; -// pixArray[pixBufOffset + i] |= colorModel.getGreen(dstBytes[i] & 0xFF) << 8; -// pixArray[pixBufOffset + i] |= colorModel.getBlue(dstBytes[i] & 0xFF); - - pixArray[pixBufOffset + i] = dstBytes[i]; - } -// } -// } -*/ + // Uncompressed + imageInput.readFully(pixArray, pixBufOffset, rowBytes); + } // Increment pixel buffer offset - pixBufOffset += pBounds.width; + pixBufOffset += rowBytes; //////////////////////////////////////////////////// // TODO: This works for single image PICTs only... // However, this is the most common case. Ok for now - processImageProgress(scanline * 100 / pBounds.height); + processImageProgress(scanline * 100 / srcRect.height); if (abortRequested()) { processReadAborted(); // Skip rest of image data - for (int skip = scanline + 1; skip < pBounds.height; skip++) { + for (int skip = scanline + 1; skip < srcRect.height; skip++) { // Get byteCount of the scanline - if (rowBytes > 250) { + int packedBytesCount; + + if (rowBytes <= 8) { + packedBytesCount = rowBytes; + } + else if (rowBytes > 250) { packedBytesCount = pStream.readUnsignedShort(); } else { packedBytesCount = pStream.readUnsignedByte(); } + pStream.readFully(new byte[packedBytesCount], 0, packedBytesCount); if (DEBUG) { - System.out.println(); System.out.print("Skip " + skip + ", byteCount: " + packedBytesCount); } } @@ -2074,11 +1949,8 @@ public class PICTImageReader extends ImageReaderBase { // "pPixmapCount" will never be greater than the size of the vector if (images.size() <= pPixmapCount) { // Create BufferedImage and add buffer it for multiple reads -// DirectColorModel cm = (DirectColorModel) ColorModel.getRGBdefault(); -// DataBuffer db = new DataBufferInt(pixArray, pixArray.length); -// WritableRaster raster = Raster.createPackedRaster(db, pBounds.width, pBounds.height, pBounds.width, cm.getMasks(), null); DataBuffer db = new DataBufferByte(pixArray, pixArray.length); - WritableRaster raster = Raster.createPackedRaster(db, pBounds.width, pBounds.height, cmpSize, null); // TODO: last param should ideally be srcRect.getLocation() + WritableRaster raster = Raster.createPackedRaster(db, (rowBytes * 8) / cmpSize, srcRect.height, cmpSize, null); // TODO: last param should ideally be srcRect.getLocation() BufferedImage img = new BufferedImage(colorModel, raster, colorModel.isAlphaPremultiplied(), null); images.add(img); @@ -2102,24 +1974,23 @@ public class PICTImageReader extends ImageReaderBase { * Reads the data following a {@code directBitsRect} opcode. * * @param pStream the stream to read from - * @param pBounds the bounding rectangle * @param pPixmapCount the index of the bitmap in the PICT file, used for * cahcing. * * @throws javax.imageio.IIOException if the data can not be read. - * @throws IOException if an I/O error occurs while reading the image. + * @throws java.io.IOException if an I/O error occurs while reading the image. */ - private void readOpDirectBitsRect(ImageInputStream pStream, Rectangle pBounds, int pPixmapCount) throws IOException { + private void readOpDirectBitsRect(final ImageInputStream pStream, final int pPixmapCount) throws IOException { if (DEBUG) { System.out.println("directBitsRect"); } // Skip PixMap pointer (always 0x000000FF); - pStream.skipBytes(4); + pStream.readInt(); // Get rowBytes int rowBytesRaw = pStream.readUnsignedShort(); - int rowBytes = rowBytesRaw & 0x3FFF; + int rowBytes = rowBytesRaw & 0x7FFF; if (DEBUG) { System.out.print("directBitsRect, rowBytes: " + rowBytes); if ((rowBytesRaw & 0x8000) > 0) { @@ -2131,25 +2002,27 @@ public class PICTImageReader extends ImageReaderBase { } // Get bounds rectangle. THIS IS NOT TO BE SCALED BY THE RESOLUTION! + // TODO: ...or then again...? :-) + Rectangle bounds = new Rectangle(); int y = pStream.readUnsignedShort(); int x = pStream.readUnsignedShort(); - pBounds.setLocation(x, y); + bounds.setLocation(x, y); y = pStream.readUnsignedShort(); x = pStream.readUnsignedShort(); - pBounds.setSize(x - pBounds.x, y - pBounds.y); + bounds.setSize(x - bounds.x, y - bounds.y); if (DEBUG) { - System.out.print(", bounds: " + pBounds); + System.out.print(", bounds: " + bounds); } // Get PixMap record version number - int pmVersion = pStream.readUnsignedShort() & 0xFFFF; + int pmVersion = pStream.readUnsignedShort(); if (DEBUG) { System.out.print(", pmVersion: " + pmVersion); } // Get packing format - int packType = pStream.readUnsignedShort() & 0xFFFF; + int packType = pStream.readUnsignedShort(); if (DEBUG) { System.out.print(", packType: " + packType); } @@ -2221,7 +2094,6 @@ public class PICTImageReader extends ImageReaderBase { System.out.print("opDirectBitsRect, srcRect:" + srcRect); } - // TODO: FixMe... // Get destination rectangle. We DO scale the coordinates according to // the image resolution, since we are working in display coordinates Rectangle dstRect = new Rectangle(); @@ -2240,19 +2112,11 @@ public class PICTImageReader extends ImageReaderBase { // Read in the RGB arrays byte[] dstBytes; - if (packType == 1 || rowBytes < 8) { - // TODO: Verify this... + if (packType == 1 || packType == 2 || packType == 3) { dstBytes = new byte[rowBytes]; } - else if (packType == 2) { - // TODO: Verify this... - dstBytes = new byte[rowBytes * 3 / 4]; - } - else if (packType == 3) { - dstBytes = new byte[2 * pBounds.width]; - } else if (packType == 4) { - dstBytes = new byte[cmpCount * pBounds.width]; + dstBytes = new byte[cmpCount * rowBytes / 4]; } else { throw new IIOException("Unknown pack type: " + packType); @@ -2261,40 +2125,35 @@ public class PICTImageReader extends ImageReaderBase { int[] pixArray = null; short[] shortArray = null; if (packType == 3) { - shortArray = new short[pBounds.height * pBounds.width]; + shortArray = new short[srcRect.height * (rowBytes + 1) / 2]; } else { - pixArray = new int[pBounds.height * pBounds.width]; + pixArray = new int[srcRect.height * (rowBytes + 3) / 4]; } int pixBufOffset = 0; int packedBytesCount; - for (int scanline = 0; scanline < pBounds.height; scanline++) { - // Get byteCount of the scanline - if (rowBytes > 250) { - packedBytesCount = pStream.readUnsignedShort(); - } - else { - packedBytesCount = pStream.readUnsignedByte(); - } - if (DEBUG) { - System.out.println(); - System.out.print("Line " + scanline + ", byteCount: " + packedBytesCount); - System.out.print(" dstBytes: " + dstBytes.length); - } - + for (int scanline = 0; scanline < srcRect.height; scanline++) { // Read in the scanline if (packType > 2) { - // Unpack them all - Decoder decoder; - if (packType == 3) { - decoder = new PackBits16Decoder(); + // Get byteCount of the scanline + if (rowBytes > 250) { + packedBytesCount = pStream.readUnsignedShort(); } else { - decoder = new PackBitsDecoder(); + packedBytesCount = pStream.readUnsignedByte(); } - DataInput unPackBits = new DataInputStream(new DecoderStream(IIOUtil.createStreamAdapter(pStream, packedBytesCount), decoder)); + + if (DEBUG) { + System.out.print("Line " + scanline + ", byteCount: " + packedBytesCount); + System.out.print(" dstBytes: " + dstBytes.length); + System.out.println(); + } + + // Unpack them all + Decoder decoder = packType == 3 ? new PackBitsDecoder(2, false) : new PackBitsDecoder(); + DataInput unPackBits = new DataInputStream(new DecoderStream(IIOUtil.createStreamAdapter(pStream, packedBytesCount), decoder, dstBytes.length)); unPackBits.readFully(dstBytes); } else { @@ -2303,63 +2162,51 @@ public class PICTImageReader extends ImageReaderBase { if (packType == 3) { // TYPE_USHORT_555_RGB for 16 bit - for (int i = 0; i < pBounds.width; i++) { + for (int i = 0; i < srcRect.width; i++) { shortArray[pixBufOffset + i] = (short) (((0xff & dstBytes[2 * i]) << 8) | (0xff & dstBytes[2 * i + 1])); -// // Set alpha values to all opaque -// pixArray[pixBufOffset + i] = 0xFF000000; -// -// // Get red values -// int red = 8 * ((dstBytes[2 * i] & 0x7C) >> 2); -// pixArray[pixBufOffset + i] |= red << 16; -// // Get green values -// int green = 8 * (((dstBytes[2 * i] & 0x07) << 3) + ((dstBytes[2 * i + 1] & 0xE0) >> 5)); -// pixArray[pixBufOffset + i] |= green << 8; -// // Get blue values -// int blue = 8 * ((dstBytes[2 * i + 1] & 0x1F)); -// pixArray[pixBufOffset + i] |= blue; } } else { if (cmpCount == 3) { // RGB - for (int i = 0; i < pBounds.width; i++) { + for (int i = 0; i < srcRect.width; i++) { // Set alpha values to all opaque - pixArray[pixBufOffset + i] = 0xFF000000; + pixArray[pixBufOffset + i] = 0xFF000000 // Get red values - pixArray[pixBufOffset + i] |= (dstBytes[i] & 0xFF) << 16; + | (dstBytes[/*0* bounds.width*/i] & 0xFF) << 16 // Get green values - pixArray[pixBufOffset + i] |= (dstBytes[pBounds.width + i] & 0xFF) << 8; + | (dstBytes[/**/bounds.width + i] & 0xFF) << 8 // Get blue values - pixArray[pixBufOffset + i] |= (dstBytes[2 * pBounds.width + i] & 0xFF); + | (dstBytes[2 * bounds.width + i] & 0xFF); } } else { // ARGB - for (int i = 0; i < pBounds.width; i++) { + for (int i = 0; i < srcRect.width; i++) { // Get alpha values - pixArray[pixBufOffset + i] = (dstBytes[i] & 0xFF) << 24; + pixArray[pixBufOffset + i] = (dstBytes[/*0* bounds.width*/i] & 0xFF) << 24 // Get red values - pixArray[pixBufOffset + i] |= (dstBytes[pBounds.width + i] & 0xFF) << 16; + | (dstBytes[/**/bounds.width + i] & 0xFF) << 16 // Get green values - pixArray[pixBufOffset + i] |= (dstBytes[2 * pBounds.width + i] & 0xFF) << 8; + | (dstBytes[2 * bounds.width + i] & 0xFF) << 8 // Get blue values - pixArray[pixBufOffset + i] |= (dstBytes[3 * pBounds.width + i] & 0xFF); + | (dstBytes[3 * bounds.width + i] & 0xFF); } } } // Increment pixel buffer offset - pixBufOffset += pBounds.width; + pixBufOffset += srcRect.width; //////////////////////////////////////////////////// // TODO: This works for single image PICTs only... // However, this is the most common case. Ok for now - processImageProgress(scanline * 100 / pBounds.height); + processImageProgress(scanline * 100 / srcRect.height); if (abortRequested()) { processReadAborted(); // Skip rest of image data - for (int skip = scanline + 1; skip < pBounds.height; skip++) { + for (int skip = scanline + 1; skip < srcRect.height; skip++) { // Get byteCount of the scanline if (rowBytes > 250) { packedBytesCount = pStream.readUnsignedShort(); @@ -2390,12 +2237,12 @@ public class PICTImageReader extends ImageReaderBase { if (packType == 3) { cm = new DirectColorModel(15, 0x7C00, 0x03E0, 0x001F); // See BufferedImage TYPE_USHORT_555_RGB DataBuffer db = new DataBufferUShort(shortArray, shortArray.length); - raster = Raster.createPackedRaster(db, pBounds.width, pBounds.height, pBounds.width, cm.getMasks(), null); // TODO: last param should ideally be srcRect.getLocation() + raster = Raster.createPackedRaster(db, srcRect.width, srcRect.height, srcRect.width, cm.getMasks(), null); // TODO: last param should ideally be srcRect.getLocation() } else { cm = (DirectColorModel) ColorModel.getRGBdefault(); DataBuffer db = new DataBufferInt(pixArray, pixArray.length); - raster = Raster.createPackedRaster(db, pBounds.width, pBounds.height, pBounds.width, cm.getMasks(), null); // TODO: last param should ideally be srcRect.getLocation() + raster = Raster.createPackedRaster(db, srcRect.width, srcRect.height, srcRect.width, cm.getMasks(), null); // TODO: last param should ideally be srcRect.getLocation() } BufferedImage img = new BufferedImage(cm, raster, cm.isAlphaPremultiplied(), null); @@ -2540,13 +2387,20 @@ public class PICTImageReader extends ImageReaderBase { /* * Read a long comment from the stream. */ - private void readLongComment(final DataInput pStream) throws IOException { + private byte[] readLongComment(final DataInput pStream) throws IOException { // Comment kind and data byte count - pStream.readShort(); + short kind = pStream.readShort(); + int length = pStream.readUnsignedShort(); + + if (DEBUG) { + System.err.println("Long comment: " + kind + ", " + length + " bytes"); + } // Get as many bytes as indicated by byte count - int length = pStream.readUnsignedShort(); - pStream.readFully(new byte[length], 0, length); + byte[] bytes = new byte[length]; + pStream.readFully(bytes, 0, length); + + return bytes; } /* @@ -2623,12 +2477,19 @@ public class PICTImageReader extends ImageReaderBase { BufferedImage image = getDestination(pParam, getImageTypes(pIndex), getXPtCoord(frame.width), getYPtCoord(frame.height)); Graphics2D g = image.createGraphics(); try { - // TODO: Might need to clear background + // Might need to clear background + g.setComposite(AlphaComposite.Src); + g.setColor(new Color(0x00ffffff, true)); // Transparent white +// g.setColor(Color.WHITE); + g.fillRect(0, 0, image.getWidth(), image.getHeight()); + AffineTransform instance = new AffineTransform(); + if (pParam != null && pParam.getSourceRegion() != null) { Rectangle rectangle = pParam.getSourceRegion(); instance.translate(-rectangle.x, -rectangle.y); } + instance.scale(screenImageXRatio / subX, screenImageYRatio / subY); g.setTransform(instance); // try { @@ -2667,158 +2528,37 @@ public class PICTImageReader extends ImageReaderBase { ).iterator(); } - public static void main(String[] pArgs) throws IOException { - ImageReader reader = new PICTImageReader(new PICTImageReaderSpi()); - - ImageInputStream input; - String title; - if (pArgs.length >= 1) { - File file = new File(pArgs[0]); - input = ImageIO.createImageInputStream(file); - title = file.getName(); - } - else { - input = ImageIO.createImageInputStream(new ByteArrayInputStream(DATA_V1_OVERPAINTED_ARC)); - title = "PICT test data"; - } - - System.out.println("canRead: " + reader.getOriginatingProvider().canDecodeInput(input)); - - reader.setInput(input); - long start = System.currentTimeMillis(); - BufferedImage image = reader.read(0); - - System.out.println("time: " + (System.currentTimeMillis() - start)); - - showIt(image, title); - - System.out.println("image = " + image); + protected static void showIt(final BufferedImage pImage, final String pTitle) { + ImageReaderBase.showIt(pImage, pTitle); } - // Sample data from http://developer.apple.com/documentation/mac/QuickDraw/QuickDraw-458.html - // TODO: Create test case(s)! - private static final byte[] DATA_EXT_V2 = { - 0x00, 0x78, /* picture size; don't use this value for picture size */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x00, (byte) 0xA8, /* bounding rectangle of picture at 72 dpi */ - 0x00, 0x11, /* VersionOp opcode; always $0011 for extended version 2 */ - 0x02, (byte) 0xFF, /* Version opcode; always $02FF for extended version 2 */ - 0x0C, 0x00, /* HeaderOp opcode; always $0C00 for extended version 2 */ - /* next 24 bytes contain header information */ - (byte) 0xFF, (byte) 0xFE, /* version; always -2 for extended version 2 */ - 0x00, 0x00, /* reserved */ - 0x00, 0x48, 0x00, 0x00, /* best horizontal resolution: 72 dpi */ - 0x00, 0x48, 0x00, 0x00, /* best vertical resolution: 72 dpi */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* optimal source rectangle for 72 dpi horizontal - and 72 dpi vertical resolutions */ - 0x00, 0x00, /* reserved */ - 0x00, 0x1E, /* DefHilite opcode to use default hilite color */ - 0x00, 0x01, /* Clip opcode to define clipping region for picture */ - 0x00, 0x0A, /* region size */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle for clipping region */ - 0x00, 0x0A, /* FillPat opcode; fill pattern specified in next 8 bytes */ - 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, /* fill pattern */ - 0x00, 0x34, /* fillRect opcode; rectangle specified in next 8 bytes */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* rectangle to fill */ - 0x00, 0x0A, /* FillPat opcode; fill pattern specified in next 8 bytes */ - (byte) 0x88, 0x22, (byte) 0x88, 0x22, (byte) 0x88, 0x22, (byte) 0x88, 0x22, /* fill pattern */ - 0x00, 0x5C, /* fillSameOval opcode */ - 0x00, 0x08, /* PnMode opcode */ - 0x00, 0x08, /* pen mode data */ - 0x00, 0x71, /* paintPoly opcode */ - 0x00, 0x1A, /* size of polygon */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle for polygon */ - 0x00, 0x6E, 0x00, 0x02, 0x00, 0x02, 0x00, 0x54, 0x00, 0x6E, 0x00, (byte) 0xAA, 0x00, 0x6E, 0x00, 0x02, /* polygon points */ - 0x00, (byte) 0xFF, /* OpEndPic opcode; end of picture */ - }; + public static void main(final String[] pArgs) throws IOException { + ImageReader reader = new PICTImageReader(new PICTImageReaderSpi()); - private static final byte[] DATA_V2 = { - 0x00, 0x78, /* picture size; don't use this value for picture size */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle of picture */ - 0x00, 0x11, /* VersionOp opcode; always $0x00, 0x11, for version 2 */ - 0x02, (byte) 0xFF, /* Version opcode; always $0x02, 0xFF, for version 2 */ - 0x0C, 0x00, /* HeaderOp opcode; always $0C00 for version 2 */ - /* next 24 bytes contain header information */ - (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, (byte) 0xFF, /* version; always -1 (long) for version 2 */ - 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, (byte) 0xAA, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, /* fixed-point bounding - rectangle for picture */ - 0x00, 0x00, 0x00, 0x00, /* reserved */ - 0x00, 0x1E, /* DefHilite opcode to use default hilite color */ - 0x00, 0x01, /* Clip opcode to define clipping region for picture */ - 0x00, 0x0A, /* region size */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle for clipping region */ - 0x00, 0x0A, /* FillPat opcode; fill pattern specifed in next 8 bytes */ - 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, /* fill pattern */ - 0x00, 0x34, /* fillRect opcode; rectangle specified in next 8 bytes */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* rectangle to fill */ - 0x00, 0x0A, /* FillPat opcode; fill pattern specified in next 8 bytes */ - (byte) 0x88, 0x22, (byte) 0x88, 0x22, (byte) 0x88, 0x22, (byte) 0x88, 0x22, /* fill pattern */ - 0x00, 0x5C, /* fillSameOval opcode */ - 0x00, 0x08, /* PnMode opcode */ - 0x00, 0x08, /* pen mode data */ - 0x00, 0x71, /* paintPoly opcode */ - 0x00, 0x1A, /* size of polygon */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle for polygon */ - 0x00, 0x6E, 0x00, 0x02, 0x00, 0x02, 0x00, 0x54, 0x00, 0x6E, 0x00, (byte) 0xAA, 0x00, 0x6E, 0x00, 0x02, /* polygon points */ - 0x00, (byte) 0xFF, /* OpEndPic opcode; end of picture */ - }; + for (String arg : pArgs) { + File file = new File(arg); + try { + ImageInputStream input = ImageIO.createImageInputStream(file); + String title = file.getName(); - private static final byte[] DATA_V1 = { - 0x00, 0x4F, /* picture size; this value is reliable for version 1 pictures */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle of picture */ - 0x11, /* picVersion opcode for version 1 */ - 0x01, /* version number 1 */ - 0x01, /* ClipRgn opcode to define clipping region for picture */ - 0x00, 0x0A, /* region size */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle for region */ - 0x0A, /* FillPat opcode; fill pattern specified in next 8 bytes */ - 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, 0x77, (byte) 0xDD, /* fill pattern */ - 0x34, /* fillRect opcode; rectangle specified in next 8 bytes */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* rectangle to fill */ - 0x0A, /* FillPat opcode; fill pattern specified in next 8 bytes */ - (byte) 0x88, 0x22, (byte) 0x88, 0x22, (byte) 0x88, 0x22, (byte) 0x88, 0x22, /* fill pattern */ - 0x5C, /* fillSameOval opcode */ - 0x71, /* paintPoly opcode */ - 0x00, 0x1A, /* size of polygon */ - 0x00, 0x02, 0x00, 0x02, 0x00, 0x6E, 0x00, (byte) 0xAA, /* bounding rectangle for polygon */ - 0x00, 0x6E, 0x00, 0x02, 0x00, 0x02, 0x00, 0x54, 0x00, 0x6E, 0x00, (byte) 0xAA, 0x00, 0x6E, 0x00, 0x02, /* polygon points */ - (byte) 0xFF, /* EndOfPicture opcode; end of picture */ - }; + System.out.println("canRead: " + reader.getOriginatingProvider().canDecodeInput(input)); - // Examples from http://developer.apple.com/technotes/qd/qd_14.html - private static final byte[] DATA_V1_OVAL_RECT = { - 0x00, 0x26, /*size */ - 0x00, 0x0A, 0x00, 0x14, 0x00, (byte) 0xAF, 0x00, 0x78, /* picFrame */ - 0x11, 0x01, /* version 1 */ - 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, (byte) 0xFA, 0x01, (byte) 0x90, /* clipRgn -- 10 byte region */ - 0x0B, 0x00, 0x04, 0x00, 0x05, /* ovSize point */ - 0x40, 0x00, 0x0A, 0x00, 0x14, 0x00, (byte) 0xAF, 0x00, 0x78, /* frameRRect rectangle */ - (byte) 0xFF, /* fin */ - }; + reader.setInput(input); + // BufferedImage image = reader.getImageTypes(0).next().createBufferedImage(reader.getWidth(0), reader.getHeight(0)); + // ImageReadParam param = reader.getDefaultReadParam(); + // param.setDestination(image); - private static final byte[] DATA_V1_OVERPAINTED_ARC = { - 0x00, 0x36, /* size */ - 0x00, 0x0A, 0x00, 0x14, 0x00, (byte) 0xAF, 0x00, 0x78, /* picFrame */ - 0x11, 0x01, /* version 1 */ - 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, (byte) 0xFA, 0x01, (byte) 0x90, /* clipRgn -- 10 byte region */ - 0x61, 0x00, 0x0A, 0x00, 0x14, 0x00, (byte) 0xAF, 0x00, 0x78, 0x00, 0x03, 0x00, 0x2D, /* paintArc rectangle,startangle,endangle */ - 0x08, 0x00, 0x0A, /* pnMode patXor -- note that the pnMode comes before the pnPat */ - 0x09, (byte) 0xAA, 0x55, (byte) 0xAA, 0x55, (byte) 0xAA, 0x55, (byte) 0xAA, 0x55, /* pnPat gray */ - 0x69, 0x00, 0x03, 0x00, 0x2D, /* paintSameArc startangle,endangle */ - (byte) 0xFF, /* fin */ - }; + long start = System.currentTimeMillis(); + BufferedImage image = reader.read(0); + System.out.println("time: " + (System.currentTimeMillis() - start)); - private static final byte[] DATA_V1_COPY_BITS = { - 0x00, 0x48, /* size */ - 0x00, 0x0A, 0x00, 0x14, 0x00, (byte) 0xAF, 0x00, 0x78, /* picFrame */ - 0x11, 0x01, /* version 1 */ - 0x01, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, (byte) 0xFA, 0x01, (byte) 0x90, /* clipRgn -- 10 byte region */ - 0x31, 0x00, 0x0A, 0x00, 0x14, 0x00, (byte) 0xAF, 0x00, 0x78, /* paintRect rectangle */ - (byte) 0x90, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x1C, /* BitsRect rowbytes bounds (note that bounds is wider than smallr) */ - 0x00, 0x0A, 0x00, 0x14, 0x00, 0x0F, 0x00, 0x19, /* srcRect */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x00, 0x1E, /* dstRect */ - 0x00, 0x06, /* mode=notSrcXor */ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 5 rows of empty bitmap (we copied from a - still-blank window) */ - (byte) 0xFF, /* fin */ - }; + showIt(image, title); + + System.out.println("image = " + image); + } + catch (IOException e) { + System.err.println("Could not read " + file.getAbsolutePath() + ": " + e); + } + } + } } diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java index bfa92b0c..76a23cab 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java @@ -34,8 +34,8 @@ import com.twelvemonkeys.imageio.util.IIOUtil; import javax.imageio.ImageReader; import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; -import java.io.IOException; import java.io.EOFException; +import java.io.IOException; import java.util.Locale; /** @@ -85,7 +85,7 @@ public class PICTImageReaderSpi extends ImageReaderSpi { else { // Skip header 512 bytes for file-based streams stream.reset(); - PICTImageReader.skipNullHeader(stream); + skipNullHeader(stream); } return isPICT(stream); @@ -98,6 +98,12 @@ public class PICTImageReaderSpi extends ImageReaderSpi { } } + static void skipNullHeader(final ImageInputStream pStream) throws IOException { + // NOTE: Only skip if FILE FORMAT, not needed for Mac OS DnD + // Spec says "platofrm dependent", may not be all nulls.. + pStream.skipBytes(PICT.PICT_NULL_HEADER_SIZE); + } + private boolean isPICT(final ImageInputStream pStream) throws IOException { // Size may be 0, so we can't use this for validation... pStream.readUnsignedShort(); diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriter.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriter.java index a4baa53c..df8734b6 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriter.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriter.java @@ -258,7 +258,7 @@ public class PICTImageWriter extends ImageWriterBase { // Treat the scanline. for (int j = 0; j < w; j++) { if (model instanceof ComponentColorModel && model.getColorSpace().getType() == ColorSpace.TYPE_RGB) { - // NOTE: Assumes component order always (A)BGR + // NOTE: Assumes component order always (A)BGR and sRGB // TODO: Alpha support scanlineBytes[x + j] = pixels[off + i * scansize * components + components * j + components - 1]; scanlineBytes[x + w + j] = pixels[off + i * scansize * components + components * j + components - 2]; diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTUtil.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTUtil.java index ef503715..08de9277 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTUtil.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTUtil.java @@ -34,7 +34,8 @@ import java.awt.image.DataBuffer; import java.awt.image.IndexColorModel; import java.io.DataInput; import java.io.IOException; -import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; +import java.nio.charset.UnsupportedCharsetException; /** * PICTUtil @@ -47,15 +48,14 @@ final class PICTUtil { private static final String ENC_MAC_ROMAN = "MacRoman"; - public static final String ENCODING = initEncoding(); + public static final Charset ENCODING = initEncoding(); - private static String initEncoding() { + private static Charset initEncoding() { try { - new String("\uF8FF".getBytes(), ENC_MAC_ROMAN); - return ENC_MAC_ROMAN; + return Charset.forName(ENC_MAC_ROMAN); } - catch (UnsupportedEncodingException e) { - return "ISO-8859-1"; + catch (UnsupportedCharsetException e) { + return Charset.forName("ISO-8859-1"); } } @@ -86,9 +86,9 @@ final class PICTUtil { * @throws java.io.IOException if an I/O error occurs during read */ public static Dimension readDimension(final DataInput pStream) throws IOException { - final int h = pStream.readShort() ; - final int v = pStream.readShort() ; - return new Dimension(h,v); + int h = pStream.readShort(); + int v = pStream.readShort(); + return new Dimension(h, v); } /** @@ -102,8 +102,8 @@ final class PICTUtil { * @throws IOException if an I/O exception occurs during reading */ public static String readStr31(final DataInput pStream) throws IOException { - String text = readPascalString(pStream); - int length = 31 - text.length(); + String text = readPascalString(pStream); + int length = 31 - text.length(); if (length < 0) { throw new IOException("String length exceeds maximum (31): " + text.length()); } @@ -112,7 +112,7 @@ final class PICTUtil { } /** - * Reads a Pascal String from the given strean. + * Reads a Pascal String from the given stream. * The input stream must be positioned at the length byte of the text, * which can thus be a maximum of 255 characters long. * @@ -146,6 +146,14 @@ final class PICTUtil { return new BitMapPattern(data); } + // TODO: Refactor, don't need both readPattern methods + public static Pattern readPattern(final DataInput pStream, final Color fg, final Color bg) throws IOException { + // Get the data (8 bytes) + byte[] data = new byte[8]; + pStream.readFully(data); + return new BitMapPattern(data, fg, bg); + } + /** * Reads a variable width {@link Pattern color pattern} from the given stream * @@ -221,7 +229,7 @@ final class PICTUtil { /** * Reads a {@code ColorTable} data structure from the given stream. * - * @param pStream the input stream + * @param pStream the input stream * @param pPixelSize the pixel size * @return the indexed color model created from the {@code ColorSpec} records read. * @@ -252,7 +260,7 @@ final class PICTUtil { int[] colors = new int[size]; - for (int i = 0; i < size ; i++) { + for (int i = 0; i < size; i++) { // Read ColorSpec records int index = pStream.readUnsignedShort(); Color color = readRGBColor(pStream); diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/Pattern.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/Pattern.java index 32841877..13ceeec1 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/Pattern.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/Pattern.java @@ -29,9 +29,9 @@ package com.twelvemonkeys.imageio.plugins.pict; import java.awt.*; -import java.awt.geom.Rectangle2D; import java.awt.geom.AffineTransform; -import java.awt.image.*; +import java.awt.geom.Rectangle2D; +import java.awt.image.ColorModel; import java.util.Collections; /** @@ -42,7 +42,7 @@ import java.util.Collections; * @version $Id: Pattern.java,v 1.0 Oct 9, 2007 1:21:38 AM haraldk Exp$ */ abstract class Pattern implements Paint { - private final Paint paint; + protected final Paint paint; Pattern(final Paint pPaint) { paint = pPaint; @@ -60,5 +60,7 @@ abstract class Pattern implements Paint { public int getTransparency() { return paint.getTransparency(); - } + } + + public abstract Pattern derive(Color foreground, Color background); } diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMap.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMap.java new file mode 100644 index 00000000..43192ca8 --- /dev/null +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMap.java @@ -0,0 +1,11 @@ +package com.twelvemonkeys.imageio.plugins.pict; + +/** + * PixMap. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: PixMap.java,v 1.0 20/02/15 harald.kuhr Exp$ + */ +final class PixMap { +} diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMapPattern.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMapPattern.java index d2108320..d84f0a45 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMapPattern.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PixMapPattern.java @@ -48,7 +48,12 @@ final class PixMapPattern extends Pattern { /** * @return the fallback B/W pattern */ - public Pattern getPattern() { + public Pattern getFallbackPattern() { return fallback; } + + @Override + public Pattern derive(final Color foreground, final Color background) { + return getFallbackPattern().derive(foreground, background); + } } diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QuickDrawContext.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QuickDrawContext.java index e9f52f9d..fd5a0567 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QuickDrawContext.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/QuickDrawContext.java @@ -31,8 +31,11 @@ package com.twelvemonkeys.imageio.plugins.pict; import com.twelvemonkeys.lang.Validate; import java.awt.*; -import java.awt.image.BufferedImage; import java.awt.geom.*; +import java.awt.image.BufferedImage; +import java.awt.image.ColorModel; +import java.awt.image.Raster; +import java.awt.image.WritableRaster; /** * Emulates an Apple QuickDraw rendering context, backed by a Java {@link Graphics2D}. @@ -121,9 +124,20 @@ class QuickDrawContext { private Dimension2D penSize = new Dimension(); private int penMode; - QuickDrawContext(Graphics2D pGraphics) { + // TODO: Make sure setting bgColor/fgColor does not reset pattern, and pattern not resetting bg/fg! + private Color bgColor = Color.WHITE; + private Color fgColor = Color.BLACK; + + private int textMode; + private Pattern textPattern = new BitMapPattern(Color.BLACK); + private Pattern fillPattern; + + QuickDrawContext(final Graphics2D pGraphics) { graphics = Validate.notNull(pGraphics, "graphics"); - + + graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + setPenNormal(); } @@ -144,18 +158,34 @@ class QuickDrawContext { // Font number (sic), integer void setTextFont(int fontFamily) { // ..? - System.err.println("QuickDrawContext.setTextFont"); + System.err.println("QuickDrawContext.setTextFont: " + fontFamily); + } + + public void setTextFont(final String fontName) { + // TODO: Need mapping between known QD font names and Java font names? + Font current = graphics.getFont(); + graphics.setFont(Font.decode(fontName).deriveFont(current.getStyle(), (float) current.getSize())); } // Sets the text's font style (0..255) - void setTextFace(int face) { - // int? - System.err.println("QuickDrawContext.setTextFace"); + void setTextFace(final int face) { + int style = 0; + if ((face & QuickDraw.TX_BOLD_MASK) > 0) { + style |= Font.BOLD; + } + if ((face & QuickDraw.TX_ITALIC_MASK) > 0) { + style |= Font.ITALIC; + } + + // TODO: Other face options, like underline, shadow, etc... + + graphics.setFont(graphics.getFont().deriveFont(style)); } void setTextMode(int pSourceMode) { // ..? System.err.println("QuickDrawContext.setTextMode"); + textMode = pSourceMode; } public void setTextSize(int pSize) { @@ -175,15 +205,24 @@ class QuickDrawContext { graphics.translate(pOrigin.getX(), pOrigin.getY()); } - public void setForeground(Color pColor) { - // TODO: Is this really correct? Or does it depend on pattern mode? + public void setForeground(final Color pColor) { + fgColor = pColor; penPattern = new BitMapPattern(pColor); } - public void setBackground(Color pColor) { + Color getForeground() { + return fgColor; + } + + public void setBackground(final Color pColor) { + bgColor = pColor; background = new BitMapPattern(pColor); } + Color getBackground() { + return bgColor; + } + /* // Pen management: // NOTE: The HidePen procedure is called by the OpenRgn, OpenPicture, and OpenPoly routines so that you can create regions, pictures, and polygons without drawing on the screen. @@ -306,10 +345,14 @@ class QuickDrawContext { BackPat // Used by the Erase* methods *BackPixPat */ - public void setBackgroundPattern(Pattern pPaint) { + public void setBackgroundPattern(final Pattern pPaint) { background = pPaint; } + public void setFillPattern(final Pattern fillPattern) { + this.fillPattern = fillPattern; + } + private Composite getCompositeFor(final int pMode) { switch (pMode & ~QuickDraw.DITHER_COPY) { // Boolean source transfer modes @@ -321,9 +364,10 @@ class QuickDrawContext { return AlphaComposite.Xor; case QuickDraw.SRC_BIC: return AlphaComposite.Clear; + case QuickDraw.NOT_SRC_XOR: + return new NotSrcXor(); case QuickDraw.NOT_SRC_COPY: case QuickDraw.NOT_SRC_OR: - case QuickDraw.NOT_SRC_XOR: case QuickDraw.NOT_SRC_BIC: throw new UnsupportedOperationException("Not implemented for mode " + pMode); // return null; @@ -349,6 +393,15 @@ class QuickDrawContext { } } + /** + * Sets up context for text drawing. + */ + protected void setupForText() { + graphics.setPaint(textPattern); + graphics.setComposite(getCompositeFor(textMode)); + } + + /** * Sets up context for line drawing/painting. */ @@ -415,9 +468,7 @@ class QuickDrawContext { if (isPenVisible()) { // NOTE: Workaround for known Mac JDK bug: Paint, not frame - //graphics.setStroke(getStroke(penSize)); // Make sure we have correct stroke paintShape(graphics.getStroke().createStrokedShape(line)); - } moveTo(pX, pY); @@ -811,13 +862,18 @@ class QuickDrawContext { // TODO: All other operations can delegate to these! :-) private void frameShape(final Shape pShape) { - setupForPaint(); - graphics.draw(pShape); + if (isPenVisible()) { + setupForPaint(); + + Stroke stroke = getStroke(penSize); + Shape shape = stroke.createStrokedShape(pShape); + graphics.draw(shape); + } } private void paintShape(final Shape pShape) { setupForPaint(); - graphics.fill(pShape); + graphics.fill(pShape); // Yes, fill } private void fillShape(final Shape pShape, final Pattern pPattern) { @@ -878,20 +934,22 @@ class QuickDrawContext { pSrcRect.y + pSrcRect.height, null ); + + setClipRegion(null); } /** * CopyMask */ public void copyMask(BufferedImage pSrcBitmap, BufferedImage pMaskBitmap, Rectangle pSrcRect, Rectangle pMaskRect, Rectangle pDstRect, int pSrcCopy, Shape pMaskRgn) { - throw new UnsupportedOperationException("Method copyBits not implemented"); // TODO: Implement + throw new UnsupportedOperationException("Method copyMask not implemented"); // TODO: Implement } /** * CopyDeepMask -- available to basic QuickDraw only in System 7, combines the functionality of both CopyBits and CopyMask */ public void copyDeepMask(BufferedImage pSrcBitmap, BufferedImage pMaskBitmap, Rectangle pSrcRect, Rectangle pMaskRect, Rectangle pDstRect, int pSrcCopy, Shape pMaskRgn) { - throw new UnsupportedOperationException("Method copyBits not implemented"); // TODO: Implement + throw new UnsupportedOperationException("Method copyDeepMask not implemented"); // TODO: Implement } /* @@ -926,7 +984,8 @@ class QuickDrawContext { * @param pString a Pascal string (a string of length less than or equal to 255 chars). */ public void drawString(String pString) { - graphics.drawString(pString, (float) getPenPosition().getX(), (float) getPenPosition().getY()); + setupForText(); + graphics.drawString(pString, (float) getPenPosition().getX(), (float) getPenPosition().getY()); } /* @@ -1049,4 +1108,41 @@ class QuickDrawContext { } } + + private static class NotSrcXor implements Composite { + // TODO: Src can probably be any color model that can be encoded in PICT, dst is always RGB/TYPE_INT + public CompositeContext createContext(final ColorModel srcColorModel, final ColorModel dstColorModel, RenderingHints hints) { + { + if (!srcColorModel.getColorSpace().isCS_sRGB() || !dstColorModel.getColorSpace().isCS_sRGB()) { + throw new IllegalArgumentException("Only sRGB supported"); + } + } + + return new CompositeContext() { + public void dispose() { + + } + + public void compose(Raster src, Raster dstIn, WritableRaster dstOut) { + // We always work in RGB, using DataBuffer.TYPE_INT transfer type. + int[] srcData = null; + int[] dstData = null; + int[] resData = new int[src.getWidth() - src.getMinX()]; + + for (int y = src.getMinY(); y < src.getHeight(); y++) { + srcData = (int[]) src.getDataElements(src.getMinX(), y, src.getWidth(), 1, srcData); + dstData = (int[]) dstIn.getDataElements(src.getMinX(), y, src.getWidth(), 1, dstData); + + for (int x = src.getMinX(); x < src.getWidth(); x++) { + // TODO: Decide how to handle alpha (if at all) + resData[x] = 0xff000000 | ((~ srcData[x] ^ dstData[x])) & 0xffffff ; +// resData[x] = ~ srcData[x] ^ dstData[x]; + } + + dstOut.setDataElements(src.getMinX(), y, src.getWidth(), 1, resData); + } + } + }; + } + } } diff --git a/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java b/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java index d85e6fb3..41efe9f5 100644 --- a/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java +++ b/imageio/imageio-pict/src/test/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderTest.java @@ -1,15 +1,19 @@ package com.twelvemonkeys.imageio.plugins.pict; +import com.twelvemonkeys.imageio.stream.ByteArrayImageInputStream; +import com.twelvemonkeys.imageio.stream.ByteArrayImageInputStreamSpi; import com.twelvemonkeys.imageio.util.ImageReaderAbstractTestCase; import org.junit.Test; +import javax.imageio.spi.IIORegistry; import javax.imageio.spi.ImageReaderSpi; import java.awt.*; +import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Arrays; import java.util.List; -import static org.junit.Assert.*; +import static org.junit.Assert.assertFalse; /** * ICOImageReaderTestCase @@ -20,6 +24,10 @@ import static org.junit.Assert.*; */ public class PICTImageReaderTest extends ImageReaderAbstractTestCase { + static { + IIORegistry.getDefaultInstance().registerServiceProvider(new ByteArrayImageInputStreamSpi()); + } + static ImageReaderSpi sProvider = new PICTImageReaderSpi(); // TODO: Should also test the clipboard format (without 512 byte header) @@ -32,8 +40,20 @@ public class PICTImageReaderTest extends ImageReaderAbstractTestCase 0); - ImageInputStream input = ImageIO.createImageInputStream(new ByteArrayInputStream(buffer.toByteArray())); + ImageInputStream input = new ByteArrayImageInputStream(buffer.toByteArray()); BufferedImage written = ImageIO.read(input); assertNotNull(written); @@ -113,16 +112,23 @@ public class PICTImageWriterTest extends ImageWriterAbstractTestCase { int originalRGB = original.getRGB(x, y); int writtenRGB = written.getRGB(x, y); + int expectedR = (originalRGB & 0xff0000) >> 16; + int actualR = (writtenRGB & 0xff0000) >> 16; + int expectedG = (originalRGB & 0x00ff00) >> 8; + int actualG = (writtenRGB & 0x00ff00) >> 8; + int expectedB = originalRGB & 0x0000ff; + int actualB = writtenRGB & 0x0000ff; + if (original.getColorModel().getColorSpace().getType() == ColorSpace.TYPE_GRAY) { // NOTE: For some reason, gray data seems to be one step off... - assertEquals("Test data " + i + " R(" + x + "," + y + ")", originalRGB & 0xff0000, writtenRGB & 0xff0000, 0x10000); - assertEquals("Test data " + i + " G(" + x + "," + y + ")", originalRGB & 0x00ff00, writtenRGB & 0x00ff00, 0x100); - assertEquals("Test data " + i + " B(" + x + "," + y + ")", originalRGB & 0x0000ff, writtenRGB & 0x0000ff, 0x1); + // ...and vary with different backing CMSs... :-( + assertTrue(String.format("original 0x%08x != gray! (%d,%d)", originalRGB, x, y), expectedR == expectedG && expectedG == expectedB); + assertTrue(String.format("written 0x%08x != gray! (%d,%d)", writtenRGB, x, y), actualR == actualG && actualG == actualB); } else { - assertEquals("Test data " + i + " R(" + x + "," + y + ")", originalRGB & 0xff0000, writtenRGB & 0xff0000); - assertEquals("Test data " + i + " G(" + x + "," + y + ")", originalRGB & 0x00ff00, writtenRGB & 0x00ff00); - assertEquals("Test data " + i + " B(" + x + "," + y + ")", originalRGB & 0x0000ff, writtenRGB & 0x0000ff); + assertEquals(String.format("Test data %d R(%d,%d)", i, x, y), expectedR, actualR); + assertEquals(String.format("Test data %d G(%d,%d)", i, x, y), expectedG, actualG); + assertEquals(String.format("Test data %d B(%d,%d)", i, x, y), expectedB, actualB); } } } diff --git a/imageio/imageio-pict/src/test/resources/pict/FC10.PCT b/imageio/imageio-pict/src/test/resources/pict/FC10.PCT new file mode 100644 index 0000000000000000000000000000000000000000..9f80bd9d3eedf6d09f6d0eebbe896009c4564a32 GIT binary patch literal 80809 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 a{~)42$>C3O&`|l49{foU{y)+K|Nj6eO2Kph literal 0 HcmV?d00001 From 11f33741d496aaccb495877ccca4cb13f7fd3fa0 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 19 Mar 2015 21:30:37 +0100 Subject: [PATCH 26/39] TMI-119: Fixed endless loop, trying to read 0 bytes at EOF caused by bogus segment lengths... --- .../plugins/jpeg/JPEGSegmentImageInputStream.java | 3 ++- .../imageio/plugins/jpeg/JPEGImageReaderTest.java | 3 ++- .../broken-adobe-segment-length-beyond-eof.jpg | 13 +++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100755 imageio/imageio-jpeg/src/test/resources/broken-jpeg/broken-adobe-segment-length-beyond-eof.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index cdc8db23..4b06c61e 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -271,7 +271,8 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { while (total < len) { repositionAsNecessary(); - int count = stream.read(b, off + total, (int) Math.min(len - total, segment.end() - streamPos)); + long bytesLeft = segment.end() - streamPos; // If no more bytes after reposition, we're at EOF + int count = bytesLeft == 0 ? -1 : stream.read(b, off + total, (int) Math.min(len - total, bytesLeft)); if (count == -1) { // EOF diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 9c9eaea5..daf49d15 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -104,7 +104,8 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCaseكrhaQ1cr}8HOιY22#.Tzڑ)/PWҭZ6ѨEIyʾcYcl8k~*AE;턷^aGm,/O֊H8.Óoo/\yVUfHz +G­އ{33f=O凉C(Drq}\:UU!㏇}ӽo//Z}G9wiMw /BKu R8-EG":Et/-w_> vw>b ,^! Q]FٯNeӛ 9pw 9|(G#,it˓]h#$ڿƙlGdKlSO3ɧGD[HϩAKK8Os}w(H8rG/NY\}q=;w O=۽̷"_QONE  +o A-f`dHEpXUy7.GʿY/KA ƆcD;sm2QPc.` e :&ޟIkO/\\8C5ڠd6/&]ߛWW"BY*m~ 3PA"gcuKۂcoQRY Væ!V|\Q!33?"lzM>{9ӏYA>^Tm:C<:7RmN5O+\iP$/9cZX r1F) =iޙ-/\GRUطߗlS,s&/3xb%__R;?lY1U HBXz6'3 Pvhh3 ߏC6b_y [ +'vt3d hu?7,Tpmpc Q~' xFRD|!'Zw־o:c_Kkʻ}Vb??<ޟYijf~,5 yu ZS0[rK - KV/ǫ'>{gSo,?T}oOW<39OqpC  7N// ֭I}qP.8֔ e1 k|^\?? \ No newline at end of file From 406ae28da7a73231b33faf8bbfc2779664d77cd8 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 19 Mar 2015 21:57:03 +0100 Subject: [PATCH 27/39] TMI-120: Fix IIOOBE when file has no image. Will throw exceptions when trying to read or get metadata. --- .../imageio/plugins/jpeg/JPEGImageReader.java | 24 ++++++++++++++++-- .../plugins/jpeg/JPEGImageReaderTest.java | 16 ++++++++++++ ...data-prepended-real-jfif-start-at-4801.jpg | Bin 0 -> 542422 bytes 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/broken-jpeg/broken-bogus-data-prepended-real-jfif-start-at-4801.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index 63a666d1..22a8af7e 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -49,6 +49,7 @@ import javax.imageio.event.IIOReadUpdateListener; import javax.imageio.event.IIOReadWarningListener; import javax.imageio.metadata.IIOMetadata; import javax.imageio.metadata.IIOMetadataFormatImpl; +import javax.imageio.metadata.IIOMetadataNode; import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import javax.imageio.stream.MemoryCacheImageInputStream; @@ -100,6 +101,7 @@ import java.util.List; public class JPEGImageReader extends ImageReaderBase { // TODO: Allow automatic rotation based on EXIF rotation field? // TODO: Create a simplified native metadata format that is closer to the actual JPEG stream AND supports EXIF in a sensible way + // TODO: As we already parse the SOF segments, maybe we should stop delegating getWidth/getHeight etc? final static boolean DEBUG = "true".equalsIgnoreCase(System.getProperty("com.twelvemonkeys.imageio.plugins.jpeg.debug")); @@ -197,7 +199,13 @@ public class JPEGImageReader extends ImageReaderBase { @Override public int getNumImages(boolean allowSearch) throws IOException { - return delegate.getNumImages(allowSearch); + try { + return delegate.getNumImages(allowSearch); + } + catch (ArrayIndexOutOfBoundsException ignore) { + // This will happen if we find a "tables only" image, with no more images in stream. + return 0; + } } @Override @@ -1086,7 +1094,11 @@ public class JPEGImageReader extends ImageReaderBase { } catch (IndexOutOfBoundsException knownIssue) { // TMI-101: com.sun.imageio.plugins.jpeg.JPEGBuffer doesn't do proper sanity check of input data. - throw new IIOException("Corrupt JPEG data: Bad segment offset/length", knownIssue); + throw new IIOException("Corrupt JPEG data: Bad segment length", knownIssue); + } + catch (NegativeArraySizeException knownIssue) { + // Most likely from com.sun.imageio.plugins.jpeg.SOSMarkerSegment + throw new IIOException("Corrupt JPEG data: Bad component count", knownIssue); } if (imageMetadata != null && Arrays.asList(imageMetadata.getMetadataFormatNames()).contains(JPEGImage10MetadataCleaner.JAVAX_IMAGEIO_JPEG_IMAGE_1_0)) { @@ -1400,6 +1412,14 @@ public class JPEGImageReader extends ImageReaderBase { reader.setInput(input); + // For a tables-only image, we can't read image, but we should get metadata. + if (reader.getNumImages(true) == 0) { + IIOMetadata streamMetadata = reader.getStreamMetadata(); + IIOMetadataNode streamNativeTree = (IIOMetadataNode) streamMetadata.getAsTree(streamMetadata.getNativeMetadataFormatName()); + new XMLSerializer(System.out, System.getProperty("file.encoding")).serialize(streamNativeTree, false); + continue; + } + try { ImageReadParam param = reader.getDefaultReadParam(); // if (args.length > 1) { diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index daf49d15..2679ad2f 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -1360,6 +1360,22 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCaseSETOa>;M2dI)DHG0Av6aga&{TAOLs>*++osza6ODC3yK|`-aG5xx?9tv>KtfDRMnOzUK|-8MTtY!iPC-l-(8D;RJhgQI zF$rlguoxn+ASUn+3bt{lr2qsEf{80A_GdexML`L>aOHKLUv0k5{{wyr0FeNpZA4-c z5@M0CpY4afh$PyDyKX~vcpy+15CsD$z<0`A zMUnr2$w8RnCqE1t#X!J=c7;(q`l*k&nAju84}P$=N6?>kC*gkt`w5dtJtF=I!`M=O z<4=M9kOk{af&B&(?bb_|Li_^{UXv7(-*|rN57wLVoBk<3^~aY<@f$zY4;b%xI|-D8 zSc9M*_)h^|QfUP-Nd++p{3Vr?0wbVm{eC}yKJ~-DVX@F% zn{)5qDGmVjAk<4ZZ~t-Mf;14jJqJ(`yxT@i2Y_tP12lvjV1EfOx!n(31*pi#$jHg4 z$jPZ_DJdvv8TV09?PEMhPtQnCe~^}nkbazYGXHvnP*YM;(@^iHq1n$sLqo%WKhQAj zh|vC%0=Az4v}B+eeP9qC07?si(L%Nd!Df?f*F#i5Er}t71S*VApv|E~#3ZC-`*Gn3UOqRQMOO}=yklsu{vz2^=0Ka#2;xie)w*`v=vNK?yD8V6 zMAvtGT1qWx=p0)%cJK<0Nh@va8efssG;#C}xtCtn)IG6E3qYZuwnPM-NJ)sL2`X@l z(-DChc<|5@OI*IqfY;!;e(RznpWR1HP?VYhBOELB`49zgy*22z(86^eBpMyRVfylz>LFaFByHS^9_)S|wnjyXE0PL-pYs5#agQMlw?G?$oE zyv{k?ZDP~)Mi5YOeCc%Tv>8|e!~GQAi{|2=h&m~~+RT#k49DjWRw!QdSJ`+ayD?lh z-0h@HoV*S2rLJHij3f&PxiCa%nL&i8Ji*Y)vaOS;)9zT#~FW$R{B#nzm?>s>?SEFNq0J&^Qm&D zdvoDB=l1)2UAokc43wts(z{2W;9D}pEak==vPKpcF&>&*6pYHb55v7p(*~GiW(8@K zUL>C$Q0!)nZ-T9tDt5qYpDV%jv6xqdWtJ;nhE7>gqrbVvw+XFoihdFa&8aN2^w%9< zc|deoIl0cf#d~3{uc*J%<4W~Gv<_UOm&T*u3Fmlkgc+Q*Y8C0v7+9Act5ws zsI|WATGAx5a|hs#vw>5bcdXT63I3|LR(xr;()(&>u2-|B4a4n?Iu^eQwA3ecDa?kl z2)t~hPMDBL_sv5F+)0=k(wsyswH`ivxUBaC-3=18>D4nVKCUC_MAXtMjCXXcCuNj! z@-s)3=38@JUwJ6&^ra~m_}g?T1G%ivq?Xquax7`M6`JxiHTXW5;)DMpz6q`;odizzn z%Fkjm^_@w#fKxZmJx+d(z$cBFiZe{=!XgdLk6_8Ej~S%e}^x zd}tS@;x49}epy)CJCGjmyS;Wf81bVU{W{JBqbSA(lczr)F&P1$p18*RdlCMcvU zPp~A~l3s^O-T7WyJ+INQR_ToFGPgoh7%9ZY!Y?YYPocBhms$N-*0zCr)s`=(Oh*rN zXAX}s`+2CVm!P@U2eyGHRqI}Bfy*Ul<7a%4_g89Kr}YuJ9x+!Ay*;0h=V#tQl=_G? z;7!!6BT>rdx@OwP+t-TUD;Ilys0#DaJX?BG_;60BP;NLR+-=>`U(;}N7Cq(K>+(8( zI}Q1>zuO5`|=-z^$qndmD2)isZYThSKD+n z;g0ItjQ1>0YxUMjx`oqIN*~7Ec50fM%^NIv*ROQ3nbTk!h+fmEkl{Qzeehege$G=( zyZ+muR-Q%U!DtodhUz)gHtR@oKdM;;dhunmbT6KQ7+?|T!A0mu(?2WwS18E$IIOoJ`)xHa?T25W4sCLX4 zAN5?v6wbdYeT~ez1Gj!LW$W70?SD9PS^2iZzOyf;_lexESOg(;)|4HPZo*nB26Y{ZAMc#1nPD}6g_j-^^FI)nBCIyZ$1b~>a}i))xhP&OGTt%x zjp@o0Z7G!~mCWy%qKH>(oy)$#F)Eo|BalR`%AT!G>cUKZzoOZ)V5On$wh`*!vNbce zt=zDA6~FJNv1y(;HQ8-5$?2SCc`YKP?reg=<$!~X$rUz=8xXAuBzTj_43Wx28bO(y0YWDN0*LWOoPX{oL7>h zPMssVxBjIlcEGB9-Ty#Q?dh%J;-#$p=5;lRgR|>hfjP$;HbRy*O8v$ zxrfw!FJ)m;8>JUSPCoFXH$reEtG5WQxR8%FlXe(0q{k&7_p!Mw;Ss za;>Pui@urM$CnhI=44ZDwNLfW_%e1+TV^f0g(^gtH)f|$ci^ZTt*o_0oT{IcY(2l> zXR)TyRN5`sS=GBmtS0w>eRf}AB8h3^Qg&`t$=q6FtL|5wq29OdT-(6VHc(umm!B5U zT{=BiSTb&4(&shsV*0K1Hei5GUDN14+o-h8y3zKa{*CLE*gnq=xni5x!nT4r=3CRo z2#J}pSZbdIr`L}F>o>Qc&o#VE zTWL4Ru`8YR)2wv%@qhR>QPp<1wKjbjvr?oXO`YF2$Tpi3_&B|+r#t@?&c-!a5vIrn zmohesaxG13+uT~mIQ7=N&dFn&Emh9{X49HyBbX!$;}kA0y%lk8sj!p%@$8ZtHm`4G zK5xReCeFVGyvd~b9N#A%&TQ)9d3J#+$7{r>h^Lt-F{phl^L_p_&caJZ5-Z}mLXqg4 zA*I%o%IoC{kYX*(MspS$&$tm#~xGm!gbd{oX&^M!YxY2DUOB#}m%}(-cq6xgE6dzfn<~lGzD5r!3`^6`f0zxOr8Si)nawPoR_Q>eH6I-M%A7a)wi%iQ**`ZF8Qie z!ew0>`T_0mY6?@pr(l5E`bt(Aj;W}(w`dz^6^=g@P%yrH?CGokvMjR`p8d8aO*|iw z__o(#DX&yz$--(f(}}X(A%6K@T<~la`xV4nfGLuNsxdWeOLrmViSNs4)0Mdyj%>7( zz07EJzvV(JN$|aO?@gwZdpecd09SGLc02#swK^N!rYgo+pNkcE7i_Uhq>37=2hl5rlS!Uj)Dc@oBPA|i%w02F1_@$#t)0D>*)~1wW)Z)1Nt!2+) z140v~w!Al32G$Dix_?H?-@TP1)J$zGH$B|v)i#x;qEm|tOm?i@WXXV=tjHjq^X9t_ z)o!*2tbO)P!1Z{1c7t<2?k$s#E+Va(T^@wbIks)`_f8+Le=}tzn=#sd+rP|iIFvO4 ziR3fx4@pMwlwL;O7uv$)ry~Lu?JOJjU1Zh;8t7o?P@RU(gu!26dq81ouJ0jRj$y)s+G;r)%JXgrPNPlBoZ@I zxe_P7a4-kXT2T`Ap__KzG2`u4Hs|cJ%JVFmTE0(+-Y|ckjxqV9Z9p$p%U-Us%zhhq z>{qQjp1mv+5S%z+P_E6S+tCudd4BuN9ZOB(aqKr-b~4ia+@!wg`66ETntMVygZ7-P)y4$)vV{_zl-9#}TMFA}yyYhMLO*9ZGd|C!LVB&0p?M zkRwKxkK2$gmseF^t6=&xDqsGs^J6c%XvX}@Ds~@I8i{&4)QtJsl5_uIi1AA-E_WW1 z3x&Iy4-Hpc+{mekYwvTm4>5IRQqkgA&|VL?QzoAMz{fvNq+s5!Dw;vUofT#K&10NL z`xvj&*6q=)KVO9RCb0G%&^5b!;#g_faK(dzImJH9 z$TS;kmC2sXlD^HF)Cep7PSG4`PgER^`ToNi2lc#~{$76_?7)a_t>561w~}oKG3s*t zrG3via+(y#L!9ek*`ybdm*1XUZy0P+{~kE<`6DR@+LTjhbn0%%a`G3RwZXXCot2MY z=0&xfdm`1=L}@8Qj_P-zMwfkUGa7n09v^HL7J=wsZi~5O{;{&Gwhf7bTeq}m>#ixY zKHUb0Hb2nN&wIGLFRzM*glsr&cf6SLuAFTe9W@b_3O4O$FMQTMk4&s=W}aW!@~sGG zzN7PP$Z5dC&7&ew3(b#wxGLM%RGPoBufrStN5 ze5Gr4%FyDT+O-P@l(q^gF3(aItb5J*8!ONCKUnbV)bq)?Y-HGC=ob2ZD731z(u(<> z>CEg>p}46~P1jtcij;W2?gsBF(#S@gD(lUqHXF0UX$l%w*R5B{(BR~-l2LLtF0?Q& zJ;`uge9n7jBuD3Y4zH^qGRAi+qPPPqtGMK#7wW)oI?YMb_dFx|Q0orThW+jSf=6Fry)U(wd}pwH#$MaLtON#tjC3B} z)NiS{R_--AA|BCSv1;1ZzEsv-n7a+A__8PJtrf?MD5>773W-bb>OPj}%4Ui3u3DWv zE9dBNnS$BQj{HMScl3-gRkmC8R(f_cb~blaK^tBhhqwp2$>sbu^qN9#oW@$#szKLu zqfadMWqnC?pPS;*irVI;+IBG117@DTmb(0)`ozuL=N{+VJ8j`Ts@#paa~?Qquc5_< zQRr+_|Qs@?8vXbIG=Y%&Y$5U%%6_xt>X)z-dtsLHF$YO24= zPel`xVTGNpr77zYbS5%06LACl{9JORzOwg@aj$8Ncor-T z>0=k_vu>SYpECB1_6&X4$NfH+|fXIJZy#*&uYJkUp4!9W;+CFI63nk{?3bYAk7_nYTjRBzd( zz#rW#a;I|kUBJHUzI5nHTao63@&;OaVIWCCo%Nv&GRDLqJa;UQw&`nXqSH2@y!`e& zZYw+b)(i%N%xwE;)|8bVWNzNrKB<&f)v<XLGV?Rab7!w6nQruS!)vf|Pu!sPveC z=RP5h$1LO%>zwKr%Jio>azB}i=3IiLjLDA#`VY1EC2Zonr~S;83-njuOjoQf^?6q+ z6)z3WuAbmOK&35zq`Nu2_v;a@ms3zpGsD^i>#q6qw$GTYck3(?mJsa0wh59jZ;L7E ztvH$WTCJkW(aH3g11DMvg5S5^?H&TkhAfm0gOL-W8=RXS#;;{tQO1XsYq~%6jr2`s z6t>v9`vsb&DWQ!^yPB=w*}cWB%YpGG3ir;6Oqy;g^dQ6XSa9ySbFlW_rJPNs1)bVj z^CXGhWAJvmW24ia7|iD;vSzj$@%71@mbYV63_pHp4p~x}9~@Sz4`O@4N1Kz!yMchi z+pRg=osidBQa@qFBhl#Z5y-@q=@8vIIq%y6h=9v(31w?%T~m;LE=6xxGmF>yd%;ML z3Uuy}sZA%gr_p+SadGVa*t%|}?G|Qb&FI{kC|t%jaZOsp?%YT5LN1qEr)6IhjD=sk za7j!|VwC`eh!=W{Y7;gg|U!_-CtI zM1Gq*<59qxAEow2{T&>M$%;uusj-{u6`1*p7xwEtD*@;QzSQpCfsMiV>5#S4V-W`m z1EqWd0yu=X0@p*fyCy!*PJNSKs0bs8&B95yt;VdCRt@Rg>l$jeu`>4c_BHZXbj{vi zsY0KcE;%1RQPLkf*iZpTG_x+nPrGDqvIc4|Yy+el-5I6I8Sw{}A0}f3m}-K=dwpQ8 z2U|-gOsc%6Fe2!5n+@u~R0}0F)_qwx@YhHyzrv98bMS|-v)ASi7j>=Gq<_=QN(*>A z%>3y%qY0vJtt9$^iOyTsNo@Aa+`8;pYCqVAwX8Smr?XHW;aPc&ohG%8HOu`={BhXg zJjUv<<+F1z}v~5Hv^yB#N(1n*XEg+sg?x? zr>iC_hwLULj-u3=^hU-@yX3FEQM7~w_rhzXU&kqk@S^;{HC^?N84Rx zwgJJfoYfo$o6XK_18ucA54a!dG4Sl`I+wp_TgMbi$-*KY&Lla|bxDva@!VUSpGIT< z?7DgnP5u@b;PkD;H67ufeB^Sh1f}`hvP{u??zgU-<(mhJmugzRodUb1g`x%}{`B^; z_Q%QRo!p`(`;NFOKk#l{XA<2kx+T!q2+yI;ixH!n09b%E^q~(!GZi9i=bamtm#&_c z(VpkcOB7|OZHz)(TaFWX<0|H*KO14(RMJ^+`eTl4#oNwW%~tb+O7L_XDQ$>P>0z2~ zDMdHZ*!Y!_(vrBi+O{>ygvOUMCjRGT?9EYAb*!hFP1~*V3XI@pQ^EZUX|*;()#|*= z5Y`%zp-!#fGZ=}xXAV)1irM*FlUprk#k*MGzL^O%3ez~K#j;v=`yW7;ymbuxa8|j( zQ*mDwxoaFXHh$3m`8(G`kNa!Fmql~gne*35IyNbVGV_}JBOa&to)y|uj7WxCP06pz zs=Qw+tG+;uTSzS_k9z$|*!~&OGrzcv^jW(rhsCK=aEmBRe8spb7g;2(OV?<*KgV;U zCfitpJ^LCmRz zQaL$m^unF>mJfm!-+kQ!7Qn&5k!@hR``ub*XQda1pn#+riu;)g*op*`%-$;hheMl3 za>q7NxH3twt69zoSb>z}xbpj%&vC*xs{$8wCl1Jm_qnCBr&gVnWVXm|ALw0y?ei}b&@}uU*)y4 z95KSG>vFDFh)T=1^rsb6Oy4|POGTT%g&l6HD3ggvxFpe{5u5GI-R~tkxOCuXyXCvw z_9FM5=hHo1)zNq6yt>gnvVQ)G4=PhTJwbwS6j`nm#q)zuNl+@hYnwSa*Dhce|IHM7Qqe*r< zhJ{jq#;N<|7}kyPMy7i*_ed(9=X!t5uSr~M z$|xytD;jWL7s_k192Ux+lz;pVX&)%)_%(6y2BLZXS-n~if5w)c6_t&5JjUbJom-cI z`<|PVnuB1k5uw=rd12a0y8@ct^~QJ5?4_S|<8*iD6kLB*cB-bueDGH9n#x2?(8yNt zGOD-@>-ze6^*0$CL|9-dao*C$#5aT05!pIh;QQ0kyY%jYHP;63qKT)M%mve$AqnpX zJH@ww@~3xZR`u&zrlqL##>?1CeZ%~yQ8a$B3pn&@fJ-hJB#O&7?B&aCAgCqoSP}d- zZ_qLEaJj*$hWfrn@ZBWPOhf4j!YuSIr$K3G2CqkCxADgagphaPP-R7_H{CP?@*C~L=~g-Ze&**x*pnliyDI}OdJ$80)i&BJ);P#bM4mk%E$HQm&{ zp{-LXL_fEt7W3_@iG%TH10@;hH>_$`;9ga6)8zqvfo*}G7-iu7=R1c<7SGVBOi7zJ zHl|gv&K&C}qHE)#-Ly#=W4IunFzIhazJa|Lo;0qJl-#|ceBc20wFn*vJazfl8To7P zPzzo|?_BRkCFJTbWUf4)}T5z8}k zB=_pOXG)qan`n68)MNjmEOaf!z4+2Oul1w*Sr*1W#)W#XM~rU+{h=!RW=zaW+bw1@ z?nSap7y`uas6&*i^ZQGXcAgvOY|^!n$Vf^SuPW~=TXFG^B6;3y-L2J;3uLUx@AW(A zA%qotmpQT_csX*!^HsK0Rhd#vUdvd%`dW6ULYje^&{TL+o>ome(vM~8LSX7?743O2 zie1?^y9Hb5QK#7lh&gr)930l1KyPwRG5XdNEmOJ7COu4#6uj{9YPb|}w_)SJ!rI_< z&G8Y=E28Y9!#pp0!0}x4ign7&0}G+NwZi*NoW{*bfH2nFbk)y%MXA4A^4{{5={af! z+`b$Yrvflm%5MGwA60PW+wzCCX%n)7gS8unWmM)xgoMYwQ_7CEkfexr;8#bTrYre#ze0 z22A>KU4eapkJqGa1UC?4w(!egp`q8*kB1nZUMQdoxF%gT>$ZR&wwMnyyC&@OpJ&+y zWKH`tS2n?b(QJcP9!i2o-=>IPE%3b>HRA2kt+Wm3u9K(pjXl0S=pF`jQUGO{Yb}a} z+?mg$mC>2@^}IJ%+-EQ)Z;P;szU}u#LKxTG=WPbxeCMH}{m!f>uiu_AgXgu@Ji~1m zF6y>|rwe*^nCzQR@`&Y#dDqR+OE#GibMi({>fb$bUFB~mh-^Q0Lxo{0TS4(**yS7# zp^Mjp$+isryyYpndjWqSQ0hXq&*FIduodUhDN+MJCueusf&-TuANgI_(sx(P&5gHy zoERPLGh|;Be9IRGxT?Fw)S15@nqaSNw%Vd=O3CVwHGeigZh0}JqTvv|;CAo!96!ge zMQM`YvNpLB+B!t|1wjBn&jv1+g91=Cs1HE;bJ-h#j$fn%0Q+?*89$HjA7^YCLb2C< z_b$ZKU~@aPAIsms#eHBNTt!2WJ4~R_5RQa{$|Yc@MruM9UoQuNlljj)>?-(vW(75D*7+!B!vu3}6d*0?q&$KmlBU=5F2-zybCk zT^Nu6|7AcKu+G1v-*EVH@#X)Seq-1r{Ad6^kHWdRfhYV*PZB#c4rPzkwR3@kxgT=+ za8GeCM`)HIxOUPFjdBF@gmebs;Q4$0geMxgliyK8-_hv@ozP?wteZ0&fi-qJg9XJQ zf7C-vpn+)o5>rw_M*HM%Ws^E$&^Y%$P$X!Kv!gQ#fx;m{87g%HeCfIb9GIuJ#d)GN z5hw)4))Qe5A^^h+?uZ}E6g$j#44$HmbmRh0|I_V<;V^E7>ZXQZRX>c2H~ya(9jqhb z4-AQ|o2Q|z;~zL0I0BSI_;_k#wG4I6*rCyG_yWm(qW@qfcS2))Ro$E&e_CqaPUE$H zqCrVgdxV26&dn19$-NL5&%a?e{)zsRozl)x4ef@;{AOI*o$^m;?h-%|;4B)2w>7yZ z+FcjtiADVGI23N6BmD(SWry|z9qKQ5O7Idp{VO}+jyr;{2%rN0Au5Xmc;`-JAi#JR z-suVP902!D-v|IcVCE4>asq&lc>I3w-h})aW4gE4a&NKa-eSwW#g==EE%z2%?k%?5 zTWq$g7X^-~__*7`T@jvKb_g&MNQr-;s+OP2*1M{!_IiT{V* z-rn9K-jX6{jH9Tyyu7@qn1rZ=gfPeT+?uz}r zxCm99L}1|QvfwJjL8<*CGv!#Ue4I7o?!+eu5x3EPWHIS7l3+uI7u+sera z!^OqKr5)_05q6Sd{1jY2sziWW{{MZYc*@UexwwwuvkK}y?r1CygD`YPB9z5NC8foV ziT;%U7QVx-aTbTPLtvEU#6-n^a{k2aGW{%54}*3D&8jT%FGc>u?+R!e=o)}=T=x35 zp3W#otTIU0v5Eo0gOJ(Dxj8F?d%hnN#oGsj30#EC54IoG{7q>;+v@B9hCE?G8!O{C z>)%!D7kXEvlVF4y-X=S-XSQzmnx%!sB!$H!41exGFO1)R{%0wF5%^0{C&9=zPiJ3* z{XZ`2m&9&iYG|Z87ILRnV&mka$XZMV5UUFn3g?GLfv9Ph8hT{#_FA60iSx()Q~ zo!TU2f7SLE;x93TCj$IXgrg4H9-%D#!#{L>NA9wo!3V4vpm7*DLiwi;{EpjY)Nr%K zIuY(^cUue=fe)%v;@3xD38G*JfcJI69jD=p0e!;|gG2nNcn9%|K_3CO2Xx&ZefU|Q!z&%wl2-|<>zG4zmfA5pBGID=UAk_O? zC$a1E;xhleAODM1KbnSbsk^h!Ztnqp9^z-y{)M#LJVK&d3lKzx2`z0gsOC5sDZ=_urH5?WUywpda>=Af3+g0gL^e+3) zdyC)+Kim2Ta+lS_$=MTe!q&|e_1mrR2XdE{(4pD7nWI5X@couDcsKvB&0k2nLK?rE zM;j$6jYMiVyCIdOK(E-jZT^p zt@UkDjtFJ2!zP&Fhu{851P2#{2jp*~i~oTUhx>1Xqd!JDAORe2NQ&Znx&IYKetr$; z@5evxKgquhf_8BVTA*3cmhS0q+_DL zhQ z!*?6&4lYI^yqDU;MG#6LFv~@&?y0{}8kBR=m;;%25 zv;Xxf`fFUK>gGwv{2WW+Up5uMN4}#HzmM>bl_vbkKi0JUF)Z83{E#P9_h$uv_h8t; zfv?}-i@50StNo4w;CT6eG=Wz5pHF+0{6{w4GuNKE{v!+gN6dTPwP&vX$O8Wn^PYF@ znd?8Yz<6R-z~3>H_`SiO{ zcO3%_{I(r{wz?V@7G%Q1ztT$A&W0ZC!diMDkF>|b z^&ouR3y0qe1$G96gT0&)-XPoo!hCKxq%#QPx7J}mB5c9^S%~nPWbk<+;NZ3xL}DOJ zg)!7u1L0%fMk7>?zrl9D!JgozBp@%KhIYR|_zjoq2>d7)82TW`rG@ZzLwI@$>wys) zwitUZ{Exu4s0#qF(`LLBK!>+27ieS|ad{aTVF?lZ)-ylTza{=;`ftwoYrDhp^&H`v zL73kB!u=Bdg+nKS+xdXo7{MZc;p`p&K-o2L51+nYIKD>!uSnxNs ze$zupAK?K0bO`?N#AOV6893VxUT%~*ttoY?Vu5C-Xl;~xiT1ek?loe4Vy0c!e& zTyPx5YlnpheHvId1gsh|u{cIaWKC{zxr3Ox-qgjzuzp&n3Q=v8Pq^gc8RngcC`K8H3# zJE6nS8R#+$fKkGjVB9cam>f(ErVBHNIlwTm0N71f3@izj2djiN!P;TNuvyr5A`&8c zA}%6fB1IxCA|oO=kq1!#(Ji7_q70%^qI#lsqK`z2L|eqv#B9WZ#0tdP#HPfK#NNcg z#4*Ha#3jTH#GS-r#498uBupgyB(fx0BxWQoBz`2fND@f$NuH6kl8llplai7$lM0e5 zk?NA#l6sN`lRhBLA+05CBON3CMn*}-NhU$2L1s>dA`2pmAAX_KjPkxA8 zfn1l|p8NuN1bGU1C3y?^82LH{Ed@V?5``g!3&mxM`xJQ;4HN?uUnwamc_`&6&rv#4 zUZT8DSwQ)c@+0MUDmp3wDm5xgDjZcfRXWu(s$QzE)YR06sgF~eQ+rZ}Q)g1wQGcNR zMng{{LZeM%PZLNJM^j4EMl-*UeBYscs{5?>`RNTQ^U|x)!|AWkr_eXh zk1>!i@H1#LxG;n=S9_uze;^57L`3E}>t}$~lt24VY-)1gj9%Lb65nwsT;?44qrGaIZ zm4Q`}70!B-wTQKk4az3KrqAZbmdy5sZJC{eU6b9N{Q-L&`z!|&$8io9j=LN+98;Y1 zoXVWeoOd~EIj6Z8xm3B_xbAb+b1ibSacgnoxF2)B<6h_C=P}|5;>qV3GJ^t}L7Kw7{_AWon~5Gp7m=q#8Z*eXOUBrk*#N)qZ8rV>^a z_7ct({wTsEaz-Rbq)cR9luy)L^tNb|=$4qYn44INSid-(_$l!q@k;S85&{x%i8zT4 zNoq+A$w0|+$@wDR;sz+5_RC844Pl%nsoG3Z5s-~dkulDRD?4;(&nRaGoQ^#`az@|` z=1ipyROgh=9i4%*ht8tTmgxez+PZgi2le>%JoKv0k(|>z7k6%4UtIs9ev<*cfsH|y z!HVGt!wAEEqa#K*qZh{ej4h2bjaN-hnnalln~IwHn>L%Vm^qu3o0FOwo2QvCTc}$^ zTZ~ysTLxQpS@B!>SiQ1lv39erw%KQ6Yg2rl_`J#atn(YTy0%HS%XZp!@pg-FHTXUF zjQw%@yY^EEB}5cr!a>O)%3;z`$?=Zkl#_~6jMJ>Mnsco4XBRD(M3+@pUDtHiZ8sCQ zd?Xq2JhB2shjK;LqdCw%=vH?@_h9#74+W2Ck44OBOd1w~wZfKrGJu1rH@G9XYq*bI z%3g6^-@J{zi+yN)P(E)i2wb>vVZv9#H`R~G5AOHkBKO717eD%|`aceU1lR?<2;>dC z8aQ@I^HRoTip#E--v)^VMFlNgF}YHCmHq0atE1O6uVn|*1Y?4`Lli?2uM=H&zW(lp ztwl8WXy43x4Z$n0VOzu+a3FOVKvbuVSQP67Nym!`&Ocf98Jq1HK254>n?*Vmsqb#O24c#ovfuO|VaB zdwBd|ULt#9XyV!<=SMw{H6NEI9Zrf#CQ0^69#1h&X-bt#%}irS3r*WhN2L#E=x5Yt z%4TL}v1LVML$h(&Q#qD7?{iP)mgfoQJmMhMCa_C8X z34O`UQb_5A(#0~Tvf*;G^45w|6)!3kD@&?Gs?wiwKaHzqtd6LmsJU9RUF%!B{LKB? z>~qKGqc3b;^w*izb=04$f7fuj;bo&nV_lPKQ|(Komrq|QysCID_qwcErn&Tu^qZ2m z(r-)N$-FCVk!>k|FaN%>^;m07n@ZdB_LJ?69oikuoo72+yNtSex-Gkhd+d8Ad)<0J z_j&cL_g@+y9=JKUe=z0)+lQo~qeJ<_GQ-s$PkwweVldJ_3Ll;Mg#ENJc6FS3JZ6G( zB6Ct=^68Yu)ca|R>9HC2nf2M=Ioi4S`6KgB7LG5xSu|Z7`;7U#{pHqI=CA2XQcEwE z^_D-ZAXnB`Z+>I`mhoNgd()c9+Qho|2IH z1O7n6up>hIPYT$62GEj`Ns;iwAhZCK76PM%Y!8Cb)eYPA5O7!vkb(mW$nIE&h!_SX zfdHgrW_H!t!PGYkkM3B?RtTbZSXM=h(7?S8z;PY2&|szf?}k)XC@i{fzRL zJ(J&#%4?fBU%2rgv*K0n)OP`eQ|2zdH)FFZU-wO~fz5}4S`rh3Z6G3p!H{5kXkkQn zjfu~J8k2ZjzAf>%aFOA8>qp)bjQVz%&ysvnYC%j<28WX1MK4IPZPFtruN*ME16t=G z^I;iv7JhqABiS#>#dSxHwvT?jdN<|CpDJq@|594h#L+wCUV2$m_r&TSI{zD$|J-km z`xXW!ErO{kQ77wrAZTuKL-4Fcc<=s40=|rg)6(;_VjApy$Ic%rR#P4AXR$MeeWnu& z*6N6V$h-gb=`r)fhe`)UC@m?#FPAIxLd-35LP`$_K8R=Gr2b+{Z&)gauDE$r;Oe!7 zNC&nomK^1HN>^^Zx}iD-o^#P&sJjhZBHE+^`PStJ+j#cfO1yYe2^WvuqX9OqBa|}!5qV%vm2I>nbLj zMy%-_XC8UKkk9UFI@3oA>DhCee{k2>Y`1ce9mKq~s^V~Yt`2!-JY~h(U+-1VBe;1y zj=ey_iWS4iE@po1^M>%vv(r)j#ky{4=BX8rhsYi2Zsd~I9GCc1dyR~%twPa$jE$VK zwnpO&^x4=A(ozO3fxgNT)A&<%=OE9%naqaG+>i-6KssQM$IT~r;Dpws1_?vWQGt$G z4=p1zuf@FM66Rj7O0H?ag^pk#k)Nu$M;Grb4coInqxk$P8%3T5gu6T{V0gK|!QLYh z!k@<=Kz!ayUdDF6rhrMtONMA!eM~8(h4b5k*s1 zDqv*Gc6RVfrJlEIw4#ZSw$Zp?DTBa~^k%MWpEmgGKSgFz>-N18P}E_3DBd4gkG1E> zk8`x%>wEr5*K4!g#s$~C>W~%xwes6Y5BgT*b(-S`8RSHjhH^a|U0!=h&0NaOS4Rvi zKZD*74CgcSuG3CyDrK<38t$`B2tFwR?KE1WxgROv3M2kVnJDl>b1Wg z7Co9V(|>gQO`H|QLnEtqI!F(mCkwYBY@Jt+O&O>&JMx)VzR!R?dU?oS)nN2mepYU_ z32NzOFO*~6nYw*^yjM!Oj>YECq>BLNMeZY) z*svR~r!KaN7jQB$3A}_1H8H^vCmDKH>%2N-Z4Pqlc)g72=AIUJ!4wj;BMTiE4MqT2 z)f+-VPwISE(lnFEQ&Z-wn@UMaM*>t_bDgi2W_{(UK7u)d)bW~?usyXn?TecVYHNQ@ z@vZFQk5kPyLp43O=zAhoQX2_5bWlGF}{yHyIH97WF+@oNYaVq+a)sc<`hp9 zyM=C?7(U)xq-7lvAkUDdAhW7PYJEIFUi_`bg3;UTOMAW1KkJP;c-3OdWbUyy_LQ}K zyZ^9bi2`k(YPHZepg#2*rlp5e;P(oaX% zL9ZdCW>lg55krp`1_b4p-n&m~MBALd@ zB)H4Xu+QY54+IDFo76yxEj60k3|@!0i+x23Jiav5-Nd72BziqOJ&(i|-rR7R)uf5v zI3>F~W~QCX%g)<)nU-c#>{7PZwBkpe-W*j8zIjF4RLd8S+UYJR%K2G*J6RCHC zJpW>J24(UI@*(o0#vcn-UYt5wt6N^@#&msk;3Gw;X&vXqus(sV@*!l=nF`U@FBp@* zo#oK7oLH&)^t{CI5{50p()nokt&)n+P28rBovd}f@!R4(xB5r#7dG3SJgh9<%$a5K zud3BN8=f%eo$tukI~vLn_A~(e;Mx8LOs2HlX~hy_gX0p1j9vs)AK&u}d%SsK#bVYqH=Pa?6vswt?u|U&u?`0g{?t-hq_-;Oq?v z4I$NDKN{YT3z4jaiUN(N^48lSj)q6`42KRgd&=lUyN@VB1=!bkDU}yt|DWH<Oyy&RAbBDbl>U|apqk6lyzq@Co z1o>Ec>{7I~j;!2;g4^!Ees@~8-2K^~O&D%>`W?|X^5yt;@ZOPcVT$&_vqq1iQm*tj zk;`1a)_h2yg5*W{{(xIlqDf=PGT*sUjY4d@xeuQcxpqm4b$xv#GKckJKK8aIqhivP zb|Ia}r={c7&Xy2T|E}1t#<>XNIuE* z+&c2n#^Br#C1BF=nRkDjIq}iaP%eu|uV;-hFnz%rI-(9rm9{DRivmY)2vo#GvlmsR zwB=aPNw`tCj*X37ph#RDNo*1cdZ?@SHZExIk@wFYdEHz_AJQMawZ-P1(+1kPdh(7W ze_S^$ESavq+?>&H-RR~i&e4ydh_+F2YU^*5X4d2+>5m(pup;BT5(<*0yt!>c(uhj8 z0gmR5^IudcGoy~1n50|ZH=`@3tq!=AAImplMkcsoad7@QCh7uxhvzF9;3-<;^TDhv zpkyqRWzhEsG#$nz94I_pPT>-JRsTu7IN5!k@$`Gvy)-!_>jK35@P0lo2bj9+(()^T z`KzLVR8+`<>OkWoC7Sxj)5E{TSPq;YaqY1e4w_{6{H>6>npUr2apQ|?tB+CvNkK-{ zl_(u4O^j&ie)V zvYk8iENtfeCv7C_lNU+JY1%nSFeBNQ+Jyl_-fCCHg$+f|elzYqF`#|kn|-q|%{Ysr zI$)N{0u~z)P>#Gm=+Q%A_d@3eWMDYe$j(fa-BmZ4?_Kvb#cy`|DW>kPPTjEWyx^NZ z{jyZx2ml%4F=I4+Pg8xCJ42MFxuECMX%SUR?b*_(xWBIaxuiO zN!zbVP#1k>{b&?)71>WLPJJ}*Tl*p7^Te3reT>|E8*0R*4C}9_wi0Mpx8&tm?wqMm z;+F}h-+QF}vqxI%p}RE4Jvrnvu`jIys3Xo@m4uk)i^eeMH^Jtg8D?eC3HI|u*4!oK zGi7>jkf-{<=A15->60pY>-(nnG>vk7+3u@n$5OXg_mVWUatK>@1J=WNY}$jYbLO+H`zME-TgOkmZSi@w%B$J`RYFw7(#D()UV~17m%vy0dl9 z(MwLv2Cwh-!=z2M0*gzbO;Jy7x<;jOH;UB*&X?~qmBzu|x7&CI$&@0{ zRGkNuj7{8CdGoaRvUo4593v_ei5LOj@%80Jk7f9*K4T`uN_87 zXi3|*EKalAc11PD$8V%`j5@Wq8Tcb(f}tAY@JMYKw(X;*s*dQ2z|>O=yHkh8zMXe~ zRxx;6-l1caCD&!Qa}h22)Q5l9+lJRYruveUHSN5NWmt#G^|YI+>Ty2>G0b6bvo3v{ zuA7xgg&_dsXgM`-LY0ApB%e$6&3ZY=o%LJ#i;l3Iu_jR4W_X(x5f&Y!-zxAN7%P%| zWSvj=pfhs{UH>07@?SAS_j6oC<`v0qi3ODb;?k-zd=wSs%5^SoxekIE2#rnYBt$EF z(bWc#^}|2qV4z!jInH4OPFU3*BDtiVqAZMyy94yJCBtMabn#h64D{&e-%*ii9QNo+ z%;1#IAHdj3y|OU@>@o66)}-zY)ILX;J3kCFiC|>R4UnOx8S6F-+%bky(*6^kd^n{9 z8#UU{Yjywz6|j+{5%GVGn@e-EC0j4(?aQ-bmSq5i)KZVEA|WZkV9+?4uWi_&sbe?QXT1q;oOABVskYB_m!&=biv-;NER^Z}Jg3iu8>#z7ZX?rlCDe^I2EUXZ}B0 zKv0<`&(hT1W=Mw8CArXd8HSf`3oE_YlkWlSGYBk$3yO@MgFUC2=BWBXuIrkoQqwL% z?zzn12pK#0rvcVYFjp`Cc1-G)u-IV*sxpK;Y%?1zpDLN2cCI2`P~ZOT!|zu8OR~b! zz6Gc2s5lD1uOt8THh&i>pk3;z3Gid~DgLsc>b*bvjx8EOYGgFMU0hQpYeHn-9&{u7 z#!(Xb=<$Oat318{$R^oPyRL;~M|GJDo-Q~?2rm<7H$rlLz!xRh#YSLFLM~~r6Vkxh zaLT%ny>*?=*%U+u%l}_S`@iC(!|oS2O{*$*wSP3q6uo(vD6->d*+FQkqQztmw~idQ z6f>mUdfUVZvSD^V+=yZKi87ww4{t`)NC9aM6FJAV`^kset{zTRs|-PDIikubRyx(B z{`e>-0E3YJ@?DO@RL!RT%p&+6Pk<6UZsru9np@4aXJquYiC^>I zv66X=0rT}b_cZO{95u4d@^^0&VSvrZPa1*u6LFcVO6LTZ&K-Sa*|TSIE7C&$vq}Gr zC%<3hsItw!{!#ZO9`ZKAlBFZ-i*`7UYMLVrM_FKU2O+ddPzKH%v`Jxwiw%x5NeKib zj|am0v|IV-Kv|d5CRDU5-0z{!Ez9(j$IDk^W8cx@nCdBf5vb2J#JT87?_*SAl$87y z955XJ&6}$Ye@y6YWd2=}v6YeDzsn60=dQ~oL89HQ1Pw6!A|{CC>bc&Z)$pRKLA}yH zm34bF1Rf`R@kvxtyVuQb3({U25yUo$49WRNVjelO{mHaxQ)Xh88N>X!tu$jtf21OZNJ>;eFjumHP0-(w&T9Tb{x-HawBp8;v!pfm$c)T=U|Y z#s^o;io7XjOFdy91yS<4;Im%x|3R|<5-fz>qd6Ue$=t4F0p>-Z4x*NV9kt8F5~ss> zC7(!wK5(jSD{coJb7sbL#L{MAn|bVQ_qq~XeDw^)SA3bri&NanxURt?;r|yUSZ`z( zZ4U!Qxk5fzxQqy2uphl-syW zI>W`p?DeV>TolbzQuR3S?*ZJdK2*3WDF*k9 zWLcW*e|G4<_)^MWlF7fX=BJj$=?J+2(tak$7JlTPC`p&3sq~tGd1C)Ki;;re&pz4mlq)BIs#k*!tx58t z^G8Mn^lCDzFy(y9{~S^#@n|$i)Rf8vZug5N{@IWR8*MKyPs!#bQuWLo_*Ga-PNu3Y zr|Gp1jv_hZIX#!61$I;qqRV^?)1wphgiKV=wpAGQmZH|msio)rhQ<3tdktWbj~;H! zaZ}n%R*jjL3ml|fDc=5084X*=+WJ8URmd*-AF}^1VMD|H3=bCt9Zb>I?W&t%+FHw` zxl|m#fbPs;%4V216(*$QsK@41KsfM{1CZ z$Kxh8oh*sA3j<4_GX9tpP>HZz76_{9Lc|p01T!Tz#L!RUlfMpgh(6{YIKgf)x z@XkjgJ5>Vc%_Wt6kkvY*Bly6^*SNg8;*+`8Cjj5SgF3kJYE?8C>U8~ApXY}9aOv7V zA2TlI;Iw_}s*&QGyTO_?>x90aKKv1`PEFK!4Z)&+w6@>2Sdume=TOuWdBNg&ahk9? z65j1iA_;ogvUcv#;QDFv!Br~((}~BL@+aLbZ?k3UT&K5pqkNZG`zf2v$1fe&6PA&$ z<+JxEl zywZ%sRTtrjslqRDO2n;vtXX(~rXBUG=p06zGx>m1O<$~(?2c9=3yDKMjBwP3y|NkX+7RM&$|EbyyuU?9wCW(FG0QR?t`+p#) zhstT(nM=y8{{MgZ@Au!&aVIrWPgykq`xJrXD`TmVtBx7M8}S0>rNw1$?g1oR&7hEP63Tg@3%Wnm*>uIbp>fgByk|2a6p_ zwv4Y1FM^nWY$o)lze&0CoQ#zoF!%T@c`it0_O6EKA`QL@t&<34mzPNJ?@5Hdfs)|L z6lX)yl-Z{Y`tSg4^8sIgGVPYPCAU7-ILco8U!=$|h>()BbtS>po1MVgB>r}5IX>F@ zBJbM3?&C7vvGt8*QD}kQDeT(jD`T9n=g*?syxQTO-U@?Goyuo>Zj5EJJCePW?0^zz zWSdpG*Bp^{-g@X4+`0h(E7?yDZC>lS!$~UY1tkd?z5YSM3+0D54GixOajEry)z15ln(9Vk;~M z_W)e@vC2{XJ%C~*O!OWQAuVUv0}k7r^!lL)9~~whw7K?~&HQ=Eq`+oCWGj(qqOEA> zloC%lXdar;eit_Ip9zF+dA)A1j}DDIimt!qBsdN2VPUhS+Ne|tgE<`I9%bG2lAn?` zVO!ZDK@8@pa6Tv%@{2cynp&mtde0%n^@!#<#_8ZT0?g2SY*uJ)pBj4y)D_GbN zLg(pMace0QmO|&LchmolmQ+Kl!$kfaH`bqZM+UpG^2xU`?h6K#f43a0 z!K$kvmn-d4!RnIrKl(TsL5D`zX59&k^h!6V8(5hv>i*ADUk^&>UI*x&U@Wy&N4%20Rb8|*>C%4}oHg9VhYZ@*8 z6OqpOj!hy}jc(Iy8lASw{PoBN|L+_W%R71>a|h6GZS2(l$7~4xzm3lS&*^j#7V4qX+t#^4|l2rptM|8@Jjdk;AH(sU5@^MATi2$@`vQ?d8b>+kI zAWGnmYj|NB4oCh`^!JH%zY5)$TA9u%{BNQ!!P9N$hlw^d6y#q)PMv&tsvaA$@0hbW zW=n7j^nbV;p=sOpEHe)xw5+*)NN-Mn%`0@Rs6IRy+FNP97)Q+!$+;V~pM6V-_?%5^ z#b&1M8MGa)#D`eG?{H0b$@d<tlPVfvAohI8I;Z|6q2@|!yf+$Zmex(AG|`rZSqeg7S=3v`&8TQ6FmXp4*q)x(gCMA3vh~$S#pCGSouunTa0L z`xBMWBn1v7(rAZHvj>4BEF9sOSB$y0{3#5s15czVdb{RWDP1S2GaDYZDR45lCl-vt z)Du^Yvcaa|1GBQzISxCq#?g@BC;J}Z zwf8aCaO0PfqK2;oRPi0JI7-t}s8V+VmdZ4TPzW2dhTy=gJo;{=2wa#rv?RUPe+bnh zbZ*UDgWaz6q~B&YDk0Ej->XSFFnzEa{c0!gXmioQV3lORmd{ZCMoPSS zL_=-UO2=^nUSHdUoR2EIEwRtHCn+QeW98Iaf#xvmPy)d%)-0W*iXqr{R+3nItnrq%HaR2uYsv9a5RYO;{BX+)|Kk`tta;bqQCKHy%|p;M zg!QEGJRD>4jW`tHhS#E9ST`$$FtPfEM#?H2JGhP8MB6+J7Od2QuFvPcbixkzLK`s2 zIRxs27GJI(x&hnP1k?;>J5aZKfpNkGL_it5YaZx`4=jOAvN$RZkvA&O}H>byed zKl&DQV?8x?O?;ys`&qG(bf1r}JuaOi9te=?bwhK`Y%BWsA1+`Gy?zI^FsV(7ZX(#! z?d_e##~(~&L$vZVC3!XY1P#)Hjh@3lNaH`Fl5SzR~sE+;nK$$tqo3Jm5Ky#%MRm8y>xlG=W{aYWiS|#36M z4n}{h1q(5cY0VN?tUg*&GLRQKzfg+(9G{7-Gf#cm zkrz~$=hF$ikk1`HbFR+!=`}Zql(Ldu+i&q6ZLO}nR#@_+AkTzvJx-SX zE6ifpiWhH&_XEBq|0{!Y6@4i*Pt{LB0Pkc?mQz!g{wu|btedSRes~X{X9PCHvHTQH z-@*i7hL<*4F5!Pn?f6h`)cw<=*V}@WqbxgaoP<5+gKCgQ6;eo_2c z;?Rnndi&%rL-kjMt+4NsnrwselOHBes0+I~9>92?m{S$Adr#NL13l{j7pdFIFO*CZ zwfc+=(4Hxz=27fN~nSW8y!8!+$ zra}JvT&H}kZWsFDRG-ln&?R#-*6YWsbzm8)NJeY`a6M-gE86Z#HzbR}xuaVNR2f|i zo@gmA-1d`D8#@*i1=ZBNe)l1@&r#OY{MuejBh~<{w%9ZA_U5U`n}&&ARRNzJv-}$ovDCFxa647w-TP#D_^;<}MGX8jB{y~l3y8MuZob7O zM1&isd{OYM(`uFV_}68A$H=IZ=0;0=r5d%%yhZsnJ%OEqCr76%InppvhBt_|SUkGyv^ z_kbyjW3u>i%qhX=UWKX`TK52}inVAR=m`Jz&B!TG$%@~ucZ7_~d-m|kBGkc|%VH&B zr7ZRy5Xz_l8orrC<2+so>6G_>Q7$>AW)$|MHA)30_~jn(^1ZphCP|=q*u>X`y|7hZ zu7KOEuqk?*ia{jmW_Do^v8!Wwk={mZi)$|RqpxH#3@Kql2njWJ+o4L&x=0u8>p~L@QzHT zYPs`Tsncrg-fb+#uE%p0E+bf|*UEHQp-sr-t@p9uBi1kclYQIEM(E3Vf&rxr4h#d$|S?%1iUyLWbaKG&6TzySgrdhYBww#P0#IW5>V^ zzO|FKv-G>&ZrqlJQpF#&k|PN8&G(tj<<0J^Yc}*BX*0y(l~t|;ZIey1jpD1@4wxYA z*3Ie+U2feprx)Vk+n8cZsK+nS-#`3hET#K=)2gw$oxR@>}|Lx>GK$l55`Jmzl zI@>Y|9dr*E;kkRqPtu{ibF*-A$fCaQa1mF&aQmFmgsM+*id;yu2YCc{o2^`%1G{eU zm7MZSq8Pqa9)b0rjZ>TR{E*5X`+gyMS}&(1%AfM%QFaVre>C2vK3fx@!9ejU5Al_&pUOMCr0SULp5p!n93;S$ z1wNB=Z1vAEY)cG_15#+mP3p? z3q4A`Z7>!ikHSl#)FfVf<`pl(f7dvE4ECveTF|$}0_KlH{CR55!X-Or@1ndmgp+1P z>h0OmFoOj8yGL*oQl?NIBCpjn?@%5VfcS|H=4%r zz{|}H`Q+asCuon@Ah`Tn(VC?uFH?VsZrS9nUfhTrSI^chzTXZ+JJ0h4IgOY_#fi9R z^gRR@u1VF25M>skWn|3>==BJK8s>r=wjOVgUVjOK*kc=H567psQ4@ix9#5D*Rm>&4 z(;)PI*Ug0MV@sPGAWvqHRH(N0Jm?=(Uu7~}#*@oQd+rZPU)!GX92>P_z2te;9;r_# zy8*xp4afF0U_)QV(f`~Le)OD`N^{-9i=qDj+M~rYHK#0zEv$Cu)Ir(!nZy55sH^^p20UucR-_Qt<3-uR`tt%l~;<|NSDj z|E1QHdFPkjjEn;Vrc5vezL_x-=Sp1vMuZhdsc`r>yRitw@i|b1Xcvv=;3?KSMR+vG zkeMA47mFW43+L~=7Ri!aLHr5Yb{xbcREx9?TgqR^U#~m=vDsz&<<0RP`t!^&TFIs= zCU?~2B76u%=*#>|vHT-}i%b&C$6JP5|QOh?DKjts_g6pFlyu{t@VXOgP69CrY z6Vz0cSf0rQx*;t-o;BDpHRm)uyco&g(-2Zt*)Hh7H4X9n)~v?XfQ=rB_)$5oKpN*T za7z`Jfa&~ipJIBeZ#S7gsnH(c{;U=TF)_SnKV(Qhr5mDO*^wkD!`&F5M5eWF{2S>8 z>X?v!P!B$z-!cv@vpNd369M#m##EE1sYMl>G-CVuU;|p=SPf4`@&1Uv@~73xYx|R&oNrTrp}1J{jHY z2^o3r0u19SbI-KhcPlpK(_qiCTp66H!NJN|L6-I(V20^gxRWLJv6t9m0b8+2%5HIq z0qB?2nIiE9>%a_QCJOW30MxjS@wh?ICRb4tN9dvyEV}})!=5*q8W{O3B;hc2!K;jw zZ(C5jkAi|q!#cA(U)(8^@E~?hhk*+}69abFqoaY$y-IB{zMRMDsQg1lY%4^Il30a_ zK`TbxGecQP>i=pydgx8Yg8`#jdRQDw+I8O+^2R)fdRrR1Wib@UBv~rH=8oYSZt_eb ztiK}Gjq0n8bC`Fo#3{j%7_(GzlUBxYodZ1PoAdX!?4j3@}oJ2yBQ#&Z!c(M zWMBB;Hlm0Mm)6@jJr?BoZfs5@QywP1$XeUPFxt`_dgxWPNk-8eGE*miYotO_2vaol zS;1T_saNwNc*|x`k2cw;e3a^>tpthKLY9b}^+KM5E-BN*EKSaUuG+c3y;o*8+@8+C zXc2~Qo-v+}Vb->YuUYn;>KVV*S*vUJRm)tceAtyCwvsVB@}?R#KyfNb$@%k|YH=+j8Z z6u*WFysl2O8wJBOEms6yI^v8ho4nL%HBl)=gi3Q6J8qO>nvX^2|6%}0UV}3^Ql)Xb zoN=lievEP(&!!=H0v@B2RaHLzlw}znlCC~p3} z2^dEf2Gl)e-UNlFc3<3{I)dgr%J-Pfu6GS?pj?jHyn#&%27iOzE*0*6{U_F~#@oU$ zOCD#^b(P(4gw5OVr%CLA_RQt_l0W!sW299E{r)n#1pvG@VrK?=#v39A+>n=$*$xu) zkS&_UG1{X_dumfZAKI1ogZ*eQYBXHpPV_XKDfFY)>6yki}{$0lCviGGOB>@kirM2(j5ki6gX!l>GCdxS`p~Y_H^wwiBuc$5io2 z@MJISAY~Sl$E0ol<7W1hBYe%c?aD_+h+B@|{M6vHQ&=U2l^H|uPzdO7)let8ajhWq zKJ{lqtekF-WcI0-c^z49ci3SI$wb4&Fj z|JF!X+0n6v^(S~-c2^93krAf*f$GQ#e&?${*ifo3^$Tpxq1QRX!(ZaQ_Apj=lirAIm__d;>xrsN^jXEwCwkBR#o5ChVzPA_vh1+5nX3aUlb0Z zlBp^cpZcy$FMo@=E4&BfHnpizr|^(}k>^jVt6Q6+L(xc=qHpT+AC{)t@RqN2k0vmI z!*1$5fLdTr*NtC!*sPvq*cY1z$Lm6%0EL7lXdsf!?jFs-EPeT-X{kotFj*c*s_>d( zyv1_bA6pA&;jz|!B1bDw>M)|Vv-Z0TvG-?O=_imA6XUbG>fnoXRbA-<^G5aH%SxX&_loiy|@r^y-YM~fqI%r6u+vbY}bT?z$gSVvias%xK~NoNf#>m9{Xnc{iFff*{!&L!^={jpcLR(d5Z zq;59cKldp^$5#WBl7^cTivLdGeI}~GItl7kPq`-y?>$7hyLX`M6W>fwPC6dkKa=&6 zGAa~u^F+-Aq|)LN6dQ1$WSCmjkrF~^Z}CbeTWTdaLqnTVqhNeny+Gu7a=-qSy~9+a zbgnZPN3^N=oSmzH6SW=j!U(>+dlb%~vapgd_8|_Knno_CbTAaoqR%;=MS+PTTIR*AqTcU4pcCX8bMW#^iC<%`TOiz83pVkPkF2bQd7oJsi2?#sD!?;ZE^4S9B~MhF(+~9p z7J4yiK5=$EIyeix2(SKLjn`K`?Sy!r%^+w_+v22MV&%9ml;Xh4#AuGtu`=}_m6wbH zrmk63+FS=Wb#B?xUN^Q34B8wMI&=REh16bG2^wLDX;&~Qa}lX93@s<2@sE#{q&B0v zOr31fmhVVI+3}KXZKaR#5UD?yHb=VX%j25PLJZgru0{ zG7Tx=cF2jdWbcdAkR^+j>}D{&zCETn<8<)xCKu~0MXHnGRF_rCUfxK#)YmnPxzq5S zh;#$L(T$A+P1(mS+klqg2eqzmUDK^RJi|WkKuUjizO2N}9GB=)U;8~r_@e!TsBQvu z;kCy`WJXqJq{|R@HR3oW?s%Zr{39PiI7QdB_SEM~;f;+Cr0yfahY_lzS7%jsWCHf8 zEj~Yt@o?$UWKKD< z=~^=fpK%l@#^TcRDwda~oJ!ATPOOu5K_^yzji|q~tPpH=_uOO*8{*VNE*7`5GP#n< z&~qWtLweVasFpy;T)lDZa#|=_6m>-T^apb^?Sjtr+V&4)Na;Rg-HIx?6xnFNOe4?T$G_hTgE-Z*R22nLIkS;c#Vm#Zas>V(=0JH&uq z2z4~KAq8V`iw3{T@&4^tDcVg%3N};$+%beomV!$A*phWx5O=F|_`jzGGum`)dTfqI^ECO}^vR zxw|vr{?{T;+V7`1>kP=Qs{D!LP93Xjx)uV~sK!pL!3}mL9K-fu%go-@>n##=hRY4A zYt;2r#u>jl1mmBL`7_tVdkEq6in`lYT|#x(c1cO~sa9n=-cI^6li|mVC_vvhu)t<; z6O<$|#1f57IGegS8P=$Nqz<)#iU+a-dF~x?1dG z>uqSoUVqImQZ!o|6^@fkkh>AOO0^VxN{tXvc z6v~!yGb>?9a`&AeB`Sz3lXdpT=x(XahL8$vZcNcY4l}=HX#PHRV&8V3K9@`0h2%0fV8MK|(hlB7J{)CN>`hlbJ{hlWR3waz4vVaf|GsT#( z%f<{;Kry2gRe?w)%Vlk5?$x^hJcq`?qVcLh4Nuj}_2>LT^_i8w6`8~rS1qSri)>nW zsdfyEKPultev{{jac$zx7^6Z?*uQaqHMLmxH!1#ci$h;~PB6u2y9!`rDN|zp`x9-i z6MCxWmPHE|X*T^N9<`Y!wPS!ye*O1JIegoT%u^PWnBWvM9#6OZs=3X2TvO=Ed-QJv zlVo=T!)MAr8rJEGuVVXMdAB&i$@{SNK-8CNbjmH(QjIR>`gEyJbPjvU1a%uVx$Hn* zS-3f$sdIL-MX}^L;*D3T!1Sj`T>h*FG!k&T#LoR#Ey9FVj#-6HkRJOGz)?87iR3mMV4s%?C(YXUE{nJpSV=`}xww1<1y z)T9}+A9T=((XFwKzxlc9i}SJ^ljvqFow~#^`Ccp+}n* zq&yW7xZNe{rvIIX-}HD?If5tMO$HW3g0wtS<2{Tn&qA2*q_$cPo3?R|av^Ln5qc-! zc`7P ziI3|>1Y(9+%dVU7rF$0Gu0?7*+82h2d|bj6J6z^!(_}LBIzeisgJDs=SAjjEMFv+A zW$(JTE2t#F!?iMt;iv;(Msac1s*{(>K6;Wpc*N+Scf#BI-pUQMfn(*j2Gdk)Wl|zh zQZ=!{-;WlvgzZN+np!#ZPcrD$TEROG5gv}8)Ypiq%vyU%$%aCX<|NAG{Kpzwr-w{N zhp4SyV4Sv6nPxxktP2F$hko1sL)>432AB#ufu?8iw$@)LnhY=BcZ_Gm7K`P^j1?6(nkzn@Js7GlqwyL7#zfie)bn~KS&fx#$N~EF*pb?zCgaSGaK0q z(5pc@c4>{5J-ytH<68NEWw6%`dtbh4vV5}+S}AzB#;ppjJ?LO$N_Ds7=JfGtZLJB! zmI%lM-UAe4Vq9ZVO|K`)&jwC#V8#PLizCGQ^=Qczt+B)bRpxmeVz{>GQzM8&j-N#?u`)ZYsm6>ngr-n&DCZCP9!5N9vWG*S`BP;3nTb8hRkH<%XW*)lSkXlKYZQ@qUKm9MX!- zf;BCjx^@}*N>f)4JXd0F<^>Mdv^ykN989&~=xGfbv7ukhbqwRoB4$GK;&oCNl;lt3 zmKu&^oV~JV;n?H3@s;M8=#9{z>-iqh6yXFpA{&fJUE653E29v!jA%TnbUQ;{E^`4A4W7KK z^RSsvmdwfHSMU?L?-G|EA7|z2wOn2S@F7-8dhGF)Rm@_NOO%wVlN(#@$;1$-WMucY zmc0p~KzKQ>m5P(Q3mwAKJwx&pNzG@lZ$H2OfNAMvXrA0t5eGDCTTeFD&Hl{ z3YMkYzLn~#1?(bA@jq3d!d8Zx>}BTz1{PoQ6=y%-Efaabd?lEBO-x-nlul`+n-LkK zW1zUayCR9n~J7v z9p4*jVKH_GcOH=xXQOO1gMJrVPWDZ5@&9ijdwa2vknOP@*t+QOkW_=tYRnCvDGe~>uhk?NQonJ5GzG<)V! zvuXs{y6UmgDPp|rL;A*XpyNizj)^4pQ}H0Xbt3*&jqhHVnch1HMI(NBru4%ZN638J z5V4K);}`S*`ubM`Hzy7eWOYv+BUg|?9tqG2Cdg{R6~3|&#H^Doys=7F1jA*hGLrnh z{!);5*utc9*lFrbgpxjcjtS=1$dY&|%-gd1$$Di$Ohldvm!=N({_=2Tm`o*#yRHyV;hRWn?D+R6+!h0FydgZX>O+)0 zkqOmdzxDe^8s1M$b_d?c<~W(m(RNDlj2^um(WEtZw^VpX?PJ>%BXK+|lp9qw5Ki5z zV70#eSI^G~{2*JHF9s2GzMmbZBb>!!$VKN$tx*R_EzLC(Hod_iZ7^_Q+@ zBd;UzM@PA-D|4Rfy*V31i62Kw4OnFLQX8S`)pE>eH`LTGX{so@=3s{Cay^3Im)px& z?SOhAO9vOy-|`sl(Pi%rblKMxed(FZrnQ6Sio|m4DIX&sAYg;wjR??&l8-MkP5}5; zAXQXCyy|FTlC6Q^#1gyv_24dv#0p}hz45|IBx(-eSn;d!Dz8bf2h>e=^_o13vE+1;QCeiv;-97t`R!L$ovq4vXmm94lW0-%e zVS}EpQ~m>2xsVOEQCC3{+Z%e#anWW{#;6qZHh%104yxLD+nV{CH_fBs;Y}y^$F3dk zQc5&XjNO{deR7nhl?%7jpKc|_%v<*GMuZBfAsJoduKx`m2sYJpFnkOzwXm@S4DINO zr~w+8!wX|b#2ehk$zrp&sy)riGcDuEpki`1i7mLGnE0TKFG z8o2CCoZrfn`p0I;uc3G^kLSr}C$b?jOUW`wZAW^$U(QiF$W8rj(&j=BAJ~x0jVXS# z?|As2+WtKt+cqFXU2wwbNC>CY1?qv9{JAOF~UU^vGcAIMKLVPPTvRC1%-*n#ys z*(W$}8f97D;dFT-{~Z_;gMWGt@ZHsZ90J$s@>;*HUS7wY#wFYSI~twrMn!+9o5Y+@ zwNgOO2a!jeub#_7oFD}r0(naEN5&`5xTYj1Ly9FyTk`H+j@+L1Q9S3d}x+1eSrjNdq{w^hL` z4*uo}zszVh7^V(p!|8(t!nAaKzsk841*(49U4E;`6c^4IQ8?+FqF`gKZd0h1X8B%T z`Ljt9)zG5x-nXB$sQ<~G#6Wq_GIetQEA%pKeu zh}w$wT&dWL4BW1&GenjoLPLsX<@IYc#a;LDjsbm@B`E$>Bj-t85*#Qerp`3x3pjG@D^lL?utTUZyZk5ES&S zo#JZKn>GhKJTT3B)!QOq!ZL=QR$cT3`M_ zw#M0m3OPeNiuzSz^Bb#R#VK*5yspLe3QX}%&pHJ!5$MoM6Udf{wv(0>$0G~}Dff!T z*%WVdlkIOYe)quq{fL|Z!Dj!#s$$tq5Cb)L6vy+J&(VT%BC)1!0-&_X{#eaeDYc-t zCj#bRcWmWeei@@mQO0I#e}a_IoYaZMXGx?%OvrB%k9}O`c^C{I6(jloSv2!=?dbEj zC#!`+-eS#yNFBYwGAA)OmTj=YQBEY&#AGb@tX?HYSdoYYk43k$E;C+Ym@_?mr*o{3 z<|_fXI@b$9od1KS2h5-3TO=EW;rLw5ob^s5W;KX+aM+LF3|qULLmR;a zjDQuWbd&-WWYJtykHjeZs3lq5$V%{@TCU3zj#cu%ejsPnM^V#pR(^IERc&sZh)t=~ zc&Dw=5L;@)fNBQDctV(7B*R!2R)JVb_?>qET%Xs)X7t%c>m{oG^XqZ8ZK zDV-*evkoLF)q$<=X_6)^VfnKb2A=8wSz$0F;nQXh--AN~Ot|0n2eY$i=K-Y-(x8<^ z<{@7m_pY)Au9s4b)dLlhvvdeH1&B~ZHLc-2w^*+f+=>7P;Gsc_ zlM~1LeSnc{_RYr%uld!4c8meLiF|hYKSw#nN(z@bqGR)JmR9EwA7YkR!q!?4H72hDeqe6;d%ko3w1y#u&|$1aD8 zS$5L!!M|5s^CZ$&tuJKbGKsDj@|)dEh#5NtZC=Kw4$L#vtIUxmV&vZaIIhJ+zfY+x z#QWYX`w5=$)K7pKDG{u|F6SHc99Pz3MT;hFPvQ$bTR~=sbRZdP@sD z3tXBp9<$ct8%vQ1J5_CTK%shcWp?Tou!C?w93z)Kge5+$LCWT?9pPEr1<7m%}46fB1lM7P9xi}Z=KFi#$_y8 zqdohYxoca8=kfnV(Rui@^}lUAHZiM-+BIT}q9|3ZJz|T*3N@k?6063ys;xbuR)|e0 zV%3OBYLr^BwQ3WsT5VO;sH)E2ljkqUIj?hGC->*Nuj_ruh8>S7|EtF4Ac>ZAs=&lT z5Gqgby}i`KfbTzjeCMD+8${)iR6Jv}pY8xx9TYG(#Y_LZVuKgWZG17BZG&(FfkC?& zU}PAbWR&xkU#6lHMtpqhMR)cngccA8^hF3XPYG&jl|%+q3n^oxSYAF97oS~CoGro- zn@sJ)(twQ+3H6*7;=eLbjk`Gh3e{2((eUZ2ctVG=j<74S|A#>vau*mFs2GmQZ{%X* zPd%a$Uc(>83UbSj8)zyz71p=@|2>(mKUju|65x(&QRD3X&XUHdOorGt083o$T}a8P z9!T%QNq?(Nd3$ZrGf7tpBY~wD&NGkf4NU=&oBFI=WU=h3JKev&gdxaX`u{PWqL?`| zqfx_QR}YT0mJ%9O;9ZYZc2WKFnrbF{Yv;+ERGU07VO|I9tQpZiJ~3KJOSDtu1GPFj zfFcaoSqp|7e!r)v-DP}aT^r`H>|o&2!Th7K6tl{XN(l{R9Zb=An;a)fel{hu-oy4U znF4L&rOI(vugx(h5105RSH=DI3|$2?)wg1kscij;Nm9f##dRSYP-{N>?;Baj{)TS+ zc5#D%1@31i7q)p%w%6_gD@Xr8P;)ojLuEt5O+0(K%3ZMM zLmLDhgfN?Q(fwuc?N!#SGrCmj%_QQDTb*>UAM@k1`(>)7zNBJy9dcp1r0}f76i{(D zsVP`5LIhHu_MC;;SgKx2QiRRDI=3-4Gn}SO`>T=Dk)(fIsl_-0a*tR4epP<|*bKj! zY{>C3*TX$dqmpL4lcx6C^T!ajKzOV{LOr>+#M?R6Al$%JwY6a$ozQZVvL8nUZ$3u9 zSDwkdNgDR{6?Xs_eh&8pH7L)uGT_r(&t+$}<852n%op|v2=&SYv6maUupuDfLQE!E zuI2In<`wLd05LrC@Cu!P3Iu6>5@21=jljE!_7qX-HfY2 znHHUcK(4pp2@@Q#NrWrTj&#Ns-ncX%4iG)K%m$v z5_o`_AJb_jum13j&^3{qC9i4u1tHLjsNbj0z5Gu-0Ej39yS9JW*&J$;opqnDp zZCc}b{ZF!{;u-EIFsnkCtA-V&Wb*HRC@Wm%_=R?to#(6HXh>8rOOVw=O%&?$tC%Au zGlTZ!%(B3DvmV^AtC>wGw(jnhKcDjryQ9i@6>HOEzmEGH1XS#NT~aPfH?aQG=FMXQ|n*Wrr{d(a$jzeu>DA3r0h@PKmy| z*^9-+*ug(4;bp&&^H_AM+3ZF25ct!&_0wDMw((TN;}@ zod~v+lRd}8H1%`sUDyYB@6FpAoyMT>{xK}Yj5l6JRyrxk~o zbExP17&0n5_`IDP*~yyCm#CUynpw%ZAoCfPkZw}pG)yWA%gyhH%-Pm8NUQNWb=@9$VOlW z?F9L_!!=SwNbAMr0-melWQ;5M1|zKIj#QpMn1jIR#Yow{Z8TKH-pllBSO?vxE5bm7 ziM7)v$cPT)^l~j(YSxrCpK#1`M;EoeH@h-Mmrwc7X+_C>8;$&lhB9HmV&5k*xk$6h zF-liHe>EqvD_VHgV~=VCjWgpwDau7m()*alhj9$D01JD1{n&Y%`67Z2opZ$*lDiBP z^$W7@0@w9%+a#R&_QSD-a!A>sA?W~_nNRd3h%0fUdkOquxmujqejMN!l#<`bURfQ2 z%GBU3FldKaW4Xk$OoPWeE%i5oYCjY8Pxg}AiIVx1pRb~Yi9+x(aW3iUK3j|p@cg?@ zx7p)ZJL%@Y=dxzMk81V1UYRCcGPp8GtiI#5?8dtYhnULi8&c_*|9!}9`WG2feMk5b&|N}jH(^EVNqLNqmimvN&a-qyUJ5j^q_l<6FjgwIm zBDR`JZ05R_643+Gxq&sJQ4)+Rq_z%=p0un;#VtMIY8a&U#u*u{bH2T{;5^TK&)Y(N zdG5gqC`k`|V|&ZSrN_YmUCg^AGXwlF)>hk6bD}lwZv0r3$*xPtT#G{5YCFh$Qkq=c zC%+$mjmSUpUuL_HyWngM&c^zJm4e#*7+igmu~>j}y2QkNWrr=#`Tqn)(=bnTXC7sn zZLiIi03%PwR=>GBWG9uk5689TsPu;Ae8z_h#Q4_e%!72lp*N0hoSXMn28-ioa5lXD zcDBzCX-H;WLd>??Q~63Jx>$|Vfi3E>c=v3dItXlV3?kOVy0PB)--4W8Llk16uB9Ix z@6Fs!G1Hf56I{Wa8x48TDV!JV-pm_K!*9uk*J}xrel>ozxOxz8{<~4BS>4KfviOCj zbpDdVy!f>O*(iDojL>BXJ{&qQR4Ib{tjl5yCd+1+wvse*y%6SR+Rtpb^nENn`la%AZg+6D_R=?F9h$tX`veoR$oNEAY?@k&Vh?h+_`EDkre%VXy}VzCDlJG&5JE$XZ3i% zx@xL?VwYuyt(I0|+G;0Pcv!=~V9%#61*g{JEcK`#N0VWhWybgIum5`YH`*ZFTV{nl zxn2rw6`0Rt{PJ|%{2N$dcWRdq?qe+!X5C8DS-Ezr14rO@wt1( z^MU!ZEgLS!v`J}j3wyv$Mp~2Tjt{{z{C%v+CFWH~wBf{pcC$gdbArQxlSPUU<=%gv z14Az}UHGmsA9*-{J@c?Oafd(T5mY>UBj8%$f#*9rl9v{y4qR8OJ3~XEWA%W&AHJ^? zqK4lPU=ky$k5bK)S{4HN?Xg;O!zqMaZpT=aJd(KO?Hq|;EF6ouErf&r`>-DC^hz~&(7gWon50O$4xxySQejBuY^HRX zv7Ya=oXA&&wxjo7!Im1~+NIKvzrtX?Hxy;IFePsH>&6{4{6GlY>!%N5EYp)Z=8i$# zyylyU%9Qqk-pq#EKs0O23cBBsp`BlX63UbAI=#L1F2CC@>7dZu#ROC51le$;3x#RRS?2t9lF*zg1Jy<;%CHvuSo()@}oXmeE6{&2q zz&Ye+9h$v%UxR$-oU-ZMDPyB)d}f9$Rxv3yVUC0E#HT^8I`AIdsu8T?LKr?Z-vS_M zK`?KVqWM2EUD|g>NAFP0p!v%#eas29W5-pDX}>A0L4kLM@dj0bg3nUSoXdat1vrKx zg0j1W-gpNn<=S_-s)OkAdddr-Ry2=`{Jo*%z&of+O;}(FRg!3pJDf>Kp?<_KwIGcx5xr+we4Z08t+;JO~pO#Tynf4?lp}ngtNHw61=-bl=`8P0@?5iy0wm#w!&Rk>p>$% zaoO-ZUy_*-nC1fIV7Q^U0!@~Gj1)WdGw0gyH2DwMeRyfEiWysA=!E@$sI?jn9f>e+ z^rqEXm!44<82f5sVgNY&HoN(Fnx|`yvxFA6f znOC-l%OUW*4c{gS-k^1EIWFd^dWld%ttHk-SGeUvZM~i9U}M|G+YiO@&BV?>eqU*E zZ@nKdc0q1)Hpn{0Z#SGcToupMq)y@7dC1(E80y(?;^=R6Cq|wHA|=stt9HfxGb4}h zo6zH}sPAihAw^Z0ofVK>|TMaZZidOhEF~J3A5ST>Ayl)meT>O9_1D<+ z{i|^${k?CzTsyw2IRXyWN4l8bo=5gSynO3I_x2Z#l{1dt;*%)@!(v}YabNV#JEm*p zf~HnDaVrfen(gTpXuPkjIRgd%OBpj#Syq!W_9f#j^>8BPtD#QcJDuA{gHb^C-EHLO zgl4jyBeab0*Lc_H$%*i=Mn2(gFrViI;jhWW=|D})hcra9rp_2mEVx3fjA!#a?mBIU zEg$!;w>_PK4<<;ZPh-9fP1kSNa)tOIml+6r=G9k$CgpC(S~J_Ip~376w`v!ygCA_9 zCbOfz)T-6+&uyfpl#Gnb>_?k8rWCK{bT>zhH`YYMGLCrL5admBqdP26rLM8r|A^>E za~sT^b@&3uxlJF_)BY?K*!PAgj#0IgFGesCMvIjyCBQ&^4zfCgihNQqb=T-=J2wtz z@$hAzvx)k76@y!sdjrBD5Y`XtsLX%BM{!1(vT{0kbN64({}{HCSH6ttcga*=1z4}! z`nL$U=EVOu1ql~BL+{70I0@7?<)T~f_(Hs#ce5e!*l5Qy|4k0NIt8SdN~EHAL-YNk zIxTEP?aIA7Vt@0D`3$j+25)!njxX-Z!WKR_KJS|R#+`vw3#q+L{q>9}PnkyO72>2T zWm(*NtjxqB$61qa*rn2CqsG2gUm5uwDLiiIJ`Dq&PlBYfv8L!VrMwww9nC`v!kz&5 zJrCy?#&i})rF3}|hfJxv1yC|X zaRox_D#e)as}m1|-2l5$prheSa_xOv;6N=_=kL0Fd&tHyPLdI*E$g0-k^_56r8&(@Kc!KN1_m-RFe^tvoo zHK=2PyPrJB^Dr@hUhi!&q0ndOo1}Pc4DoiMVTFJP6SKVQ`GkEzrQ8 z4gNWONR|)+E~M~Ej@Y{zu1Cl^PFq!f(3TBrtyMKw`+HNOk5+Tc23jY8&%95VQb6C* zj~IRyXdhe+q1nveHwg2}aF=;n6RiKf!|5Yf*U}#+oW?L|@ig~S-=k-G1x{$0E$C`o zLNSL{kez3nT!0BIm%N+q2WvPFX9g}n5O(j*xTSg;_vbhrkVjfSw*tQcfE9hhu7H}_ zG^yy(aU%6F=enz4C5wxwFC8D-+m`TR6$!2!n#KrbJeU39&Ez5T*iONpGGMEy(UFJ? zqp@mDj`@&+_+O%k8nTi5GdWk$m|UUuvIo~0Q6WtDY=wxBvKr@^9Xl=U1>4m}uE!|m zL>Ml&Bcc8g`;a_yL$6h9s*P5)zk;u=rd$zDCj{$SQ2H~)iY4mJa*0H{P~)el%5|u< zT~GW$ZpV%PEh$Jbl}toA&*_R~Gsc9PN4z|bQuZxsqv257!k7-SnKb}RpDEF<|BT4a4TU0b)+ThD*= zP<)E5McVz{yClgKE+Ow={JcwMX~nX4bWq_PZtv+%i92emnDar{nSU=xW}Upbi*3Ii zUyEO9XS(vNeap$hCL7!?lTWc8u#**lCS{0s78mV2(VDldDjx?8&R=-q;;W%LcpDS& z`qb#hMEY%c+uDG^>iHG(_wP4@HqG9dA0>)MxPJ{57=c@=HE-V`Ymb|1!(b}4T@6?b zADNdY!Sj_vK@y8rwUV8Yd9Dk8m!Tsx8Afx|k(SYsPM~NVgb3T8*?D!v0ru zXT=z2Q22$f$YIr96>8p~+t|21FX`L2A|)Jd9XaaatfjwG^y?YkdU&x*2RC;x6!c-o zU7QUZ&~uL@CYh+5bBp;Z_r}fGrzy_a2|u!9K_#~Pk>`y}h&ih=B_=Vj?6mim3El7X zMFlzghX=5833t1X0bearY_pT%?v2Io2us@=hWYh3c31iQZglvo)t?J$|160nkJCed zf)$Uwisgq#1_m~}xU>nSKh1ULyq?{?nhLtUrEq!IT%+exPbv%|kD4{A3;&2G zrjcOv(?_*5-0tryLq;Nx_ukF|CV)z(D2FPk>`nRx+5Hq^iWxiK92l-z7OVCgvT<7}lp7HQTg7vu9e{~GxyFsna67_=hw>w|*iN}QUxU7R+oqv4RGLmR*Mi%67&P#o#8I%F(wdP57WV2wlcu{cI&Zk!V8B+A$OYn#C0 z1mkQN)977wO9#Xo9pIs%Inf6Mbgx)fKaCp0pE?R@;+_kelX1K98INO7Rj+r9Yfy~L z0e_bPXsQX-EMdO#W(L1Jj^$$$XTpARTMB%V$ zhL+{&#I=}eG-0Lo^AN%Pe}A$$X;+PFqEh`PWfu|&Fra^aX=Gr4CI$7KB{om46sR!< zhTm@T6;^$iOr@0^FMxKF(@{zF>s;H-{Nk!5QLEKp+->B39}u}5l8k9QQs`4|8}GdU zN_H3m!ChE+l-tj3%_$>dj@Dbi0VVi`@y3~a_99C!SfDF|6)Gh!jgYIa`mFBsG?#cP zO#ZMJ4yYQpQrWo!yI3t#YrVl-*NRm|)i`z3AEbktuUUKcL=0;pSv7xeBm6F@6%lL4 zh9h^=e8mD?1Sw^P0L;UEip zgQLw;Jeqk2-+O)0R_>Lh)}L^lsvvl>g(JS<&L)H3-hgUG^uweY?31#7f+HYR4dbhH zoT8sQmXlU~<9{>q4cdB*kRJ6Yx8ZXc9=Upa7R{kxFJ=0@(|!u9Kf8w$E520sO|mnm ze=>5Uaz5f{EE!=mDTpZwN@tZkOO6Io>}{aP-q8@gA`v+8E>NYIYe&+4FGVRCIrqtnx$b{(rLo+@qGJQB4QpyKO}Cb?`i zn*^Z|J*CxuI)0yyu}%`z#e&RliDzv=DI|Cum^#oVV+VBLcYh$sqYT|6H&b5BmGQB+|&?!mWARaGtXCpwfc>XLr5Nf zBI{mD=TME*dtV4m8WH2t#e9Dh`a0QpvFVN=<7@5g79ygiM(ViT=!84|-hA8s=2ldT zIyz@Sfaa57*v}_l)%q{;&k>j$Ub?%X3bg;;m6<_2AhjM{LW$=|Q9XF;`E(LH9fcs0 zTI(&`XqMz$h0R?$FL_g^t64a5Z$Fp17e?Nn!?ioUWu1N9(Ea^$Xn_ujI*hYD)S$?b zqj@ZFdkJ)4>ii_a5|DXF7#%0g-D_(+5np_TDygQ*LZBf#CT0l2jRShoAV>V?KZK( zmy^auA}vjPh6vA0jasH>a_)(wYYPuGc{Lgl9QHirZIr3XI6gUE1EaGrB_xv3^&JzA zdnJ3zc0{FXzd#+8A0E!8GdHv~6EV!%@PsjE5F^DzOXB0yr2`11k}Gn&S}*>6NxxMG zyo`>6l}(*Xi0`vxuWqk-*emAyD%Vl_`gyvtachk*vIo6Hcr5w$*z9hr(y#;CX}Zty&j0W*Sxe-V5L0oVO@!zEkl5N6BMsB^H82UmJe|sp~c5m(b>*9nHCqCDc ze&J*j_YL$?J;S;rc;J-MDYzDAX{hJTMcS%c74yycSgW+o+-hkEKFFAj3_Pb(G9peb%$lTIFvxK9)h9Dz!rp|+0)iLMI0CrneRUb#A zTxB6vrCitxt<{%7^6veVo3KP|oE#ZeOEu73_3oO{oEwsvYPLM33nagHnDIpfn*H|t z{hm{$Snn$zxVA6*Vr;r%t-PGAMV6HGJzf1vsM0IUN_glvnck;_h-Qj9$W^LM3uKGg z2*N_`{%R_zSc>_`Nol2I!s#+Vu-i}GL%Q503R!m+IQzmj=DqP?Qu!}mk(8?D2db`( z&6a1!*oMIJGzoT9+?%)y4=YqdB8PCtIt9H(H!~npR20itNV*AXK;r5)Fkyv>@9nkl zK-dV|wEc>3TMtT@X$}ieNsPe<#XbA9hNEHD`62E*elT&sDsqWxsoCww-}g4u16&LH zVTJgUIwE?#9O}-tCj8<#PW5Mh)6NSv1`)Q{sL-b@>&-rKLPgxPVw!o1}HPyMG;sA^scS0~V-Sctk3S_gl;beMd9M#_pT*4}g1;+1|wCP&Inf@%mzXNXmOx+U+R>R&N{}A&Keo%bghxvqGrCA_res8~MervT;v+D}J(d-0$uCW5=9<7Sd52e~zs$aI$eXi?D_xB;W<-R+a zX(AV0;_6}|bqfZ@{Y=^Ccl%(w@vbmNfwK90l|l})DK4_O{DQw|TYZn2%Y6R>sCE!*2LYoI64Anb@(_51A{Qt*!0tDk z<2)#FTAKBfjA5F~^Q@aJ?Unm3`4L|=J};lU{#g1ZPolqS0On*9?^LpOLW^HP+s#C- z_rK4%jZL*$xLZg1d)zKwM7hsxz97aUE$G;>P_a-S4Q^-=4Wyb(Kw)ZD!TBRVb=i*v+8)s3SCvkuEB32u?0?%8@)W;#{R>dM#<5j& zZhIMgE;)40_pr?Bx}Ko0hu`qYxE#r#zXj=T zoGT=MN;yuoP#MU7IYdPDy=`vhH;4Pl9y{i&Ob4GswB5wbWeIUT?3?A#Q-pKOgPs_50QH=EXFFF%yXVSYlf4Wb&) zniN|YYWR}W$ufms*Uc>f#VfB+o zkVNx?94xTbH6%&9MUbzWi<6?2BP8Vub|J=iU!!AU%1V-J;^$b-x97n$NM=qt!;~bW zLK$ie=Z#TSge%Rh04$aR0w#3EJ=Ib~%7s6#G0Nl(_=bF6Cl7<-ITAvscBEZ(@(YB*#aQrqgV z)UsTu`|l~RNz~be%5JDvk&;+ROJ7+K`|rK=qd2^eS;NRiRPaZBhzb*f3aPql2g^*E z@23T|x9#?^QJlSu%hl!Fs_4yONT!#7g;W0FIwP!(nSpe(uS9-rq`-=fTta|z1f0l>7HIQ3bK`IDN8Y9`C=H^C;s z9b-f$tTT$q5@F1>9d79fA9)$2ggvXM7U7rb26XPj?f$1Kt?!335FSFRhqe+X*Kd}S&1B~9aa8Qt%Y_@C!>urMcV zHVOY=QPio!Y?NdOZ30-e$lbjHBUoVD8E(WJ;vTWC>3_3Q=&H(pQ}aE1Ee>Xu`}lL5 z#`Qj32gz+$iB%Gsiumtq8@^`B!x;DXs#PDl%c95H^RNS1bROyE@ULc3q%B4>Zf7qq zzX^ehd(X(mwSZyq+phJA#0~5&$(JI{uZ6#iNsjPADRMt4d$&Ag56)=B7VsC4yfBN8j?yd8@%7SxBlDajO z*LJR`{FD6>-!+~h%@j~I<`l&tP(->OQ{*uagjuYlsGG&Fk;k}TVPZc1yc4qDfFE2V znt~jSrqh3(`4_GFPsbT2N&K3NHBoCwa(pIQznh|@yc(wzxUjb_3xc!vLMYeE`V>Es zk#BH%$HmVD@PzP@uKbVo3%t|hyT~L_{y_g*P{G`ql7FA9UOFaWhXo52n}Z4qxHlaz zM4h-Y*VSX(kA9emOr}kM(rhtY1XSw$vVnoCVsW&Ri+WJHQC~_`7m-xFCp2 zBg=DS{ej!ya3$mg&l={)o8+zIh{_o$7NGOl3V?8QA%BjCjZXo@x395fez7w!Gw_ic zE8f0o9=|gplVdGU?X@O|i$(>{>pe22xA5A7={pHZzN>qeyPNF?b@YgU;h)k_^vUa+ z6|TmPokCn&~D>q9bm<7?Kz>_Qqs0<)$;og`HgOIVJI$zqp#!Z;N6Zj{zH zbMXQ6{g2wh#j3yya)Rk>CAeK`aNS_hcoiY+SHGLN-&}0;2dcB2Wy^|I4WZIPc1V@i zKk9M4@Ih7nc~kEPUx?U|ANLJQ8+%Gp5ZeC(xVmW9mFDZo$e6L@tjpkFRcEIXM?m9O z9A9?gjSm^b9%C5DH5@B#onFNOsR{+@`!>ypK5{}-ow7jNHz!8dL-% zVXm4HXn#LD#iWT%-d)re(Gbu>-YsBNu0nwJ)};#Yi}~Z1xg8Gc#e7>>OBB~Cy5yke z7%&mnRur)QHAMsai9+Alj+XrC%i>jBYqXbZs^UxnQD0t(eHQnm%oount>E3s#MzyfG;1l!S|%I z69=%cEmQqRs@+Pzd@?cQ;aXR7%b#dQYC1tZSuVPERPGH*XJSUwmz^CN2mAWK4WgFj z(i+QCsD&zm1A&WnhHbma&br9nV=L}y0D!*^z(|16bjut>5%qKy@O5z`+2(N7RJp~i z!q-C9C0*)^u%bXh=hZ4o+F~lVKJr{>KW(6q>+jP%`LiQ>*BAtspnmnkE=P?)KBABX5tuMK!$V6 ziYATXWnPqmtAQyC|M3!*Po4(ho~M{fH4`nhIe;PlHO`VBAx@&MiVVR`iQG3NYg3}y zzYizWqSn@L(X3OCw;k$*nT9uDG*k{^ptGc+$hB2F43#K%-eQ*yg60TG8~vM7f`YFF z@UgC*fB}5V)~*3$j^JhA(m<23d)xU+X`PY^eax@uA(S{p6yB+hJY0qGgZ=lO3-!!7 z%)s1|tdj47b*+D4W^0edcV8YZ`Jvk=y;Rgj(wSr zl&|A5yrb(g%H$t3e0!8d@P!Zu(N@#n zP0=Rj#AG(V(UHXA9qju5=A;$0)h3_3zd~b+<%TU)(as$^n~ZK4-1GJaZ=VcybV5VH z+kKba`SK6qAi;B#D@VGn6@gEK{-|rZBC88iEZJGRyc+rY1i<&6$0jO0=T*76Qa4BN z2^{z*>W!7OZi0y`I`a>sP2>k8Jo;1(-*%h~&8ggm7Bcr7{XQOPM?kl?$e+|fNv~}K zN9>GXGKhKw&LHoLrHakI9Q!OkK9~!2T^qHl4CE`0p!=TKD>eJ+W#HPkCmiqj;S{DF zXA?numPLg=$NeHnTaz;kK4!Q9px=R8=o{~7!+n*9#5_OAz!Hep(@*+&c)#g){}nFI zv-&+z6!sZUb&BtJl+dwv5JxpBN&V2kZBX0xx2UPl{-S*KbgG$g^e+uAF5+{VjnP}h z5OoSvXHrH)J^49dqwjW~hfsD*bh8ZR>dgiC@9{C-V-dx#sJjx&UkhVh2rm2n?Yyx| zmTT=KA1ion9k$qSL7hx#0G#Ss;Z*Ujw4uY_Psa+nWGF#tm0q$k=dkWh+|Ch`e&a44 z^j{UrWW0Y!h@nNF@ye`bKyG1n3IO@Tu=M(^ie((9RmYZ*9Ygab=B7hm{Z%i}%IYycAjYlJtQIxL4lS)w;td5r29|LF_^XPO3t??zRgZrN6q=V^EYGLI%zty+V-&A z>C=1uptl!wEJR24ayrPiQ4cO_o*qrrrwW=Wd1PC4RnR|}VTa4t-2$4w_g-DyK6nMX zk%D;}r+79lliGr;MSxs3ch@#cF*Oi;wMKMDjWv> z;ZvC$;qfY>HmU``*s@h!+43$r&p`+cJTMO0lBiX%s|B>%Th+w*eV5F{TfzNI`GV31 z9%!6P<>ox26|<$0Q+qezjkXdv5ELn*6%mqpKCYen@#Z>-4eC^Sww;jtG1lN5PAf3l zz`~|k**kHLWS8S9y?meUOQUr%zq|NAbt&~PL%}_836v~qb5m{-WoY*~Pkgn{qIFqx z7UlJyGtAfA44w2lmWJH=_s%LG;b+GE5~Wq^m@fc|pgFr=jXgGSZ91e2CRaB<PP*+w5muFwqya`PbnslmT>_?sN9tZ0-c6ljC2|9b= z+6POc1wJl&BlCQX`Uk?qmey4|y3HG8hq$Fket+}kxY)Vx+LRa+!*;w zos>T@Q$|z=qQi6@7ee#0OdA3u_6VHZg<)~+Uez*9{&vo%g9*JZNBu-|FIL|sr73Y0 zZ3VRLQ6NR@U2{5)Pi2Zn!?&hCUjfo=`rp^+F(Uql#Ou{V8iHL3pUC$UFx8qg+q9LZ z3jBw1-v=Hmz3>CCRM6{6Z_Y#xeuwi};ZyvD>`y;~qHz-VQzviaVk z5=db<$1d$0Zcn(gce+-6u(Nht$7-zzbha{iQO2ZH>(s-oaMByOMkZ}*vBwe9|C`UQ zxv%)3;`_99TN+Y4zTpO+G9pm_M3-D!?Q0#mpCM;&u{p| zReoi#cw*w|VDYj^WUKpjg2ZSGTX31P`rbyoY$>r`>ECVU`x9>@_Hv=%{7d9!Bob6E$Lb ztW6$W9vQn5Jrs^Ng&j0-Rb_X#5e7^BkHcl`1&1g-g&|@JX zql?UQn+JA9GRWVAR&Cos&UktrTs6+r!3#yc;3A&2b}d{JdiQQ^MN|)eI5eKsyfX5j zSU6cXm&fXs;_ncX!pS^k+n*5%gFQRWc$bdq$Nx{eQ`*+q6TK65v%o3ZPmceRUd8^$ zJBEoHB+C@fb0z8b(yvRre%Z%)jJfv1c(hix*;d^{krZ_b^0Hk<>*as<6i19(R$4?Y zvUdhbLA~<96H~>Z(XzNdU3Zi~$*()be9_C&?=l}My)7ZD2!9ctd0Z_C;kiEswVsq; zVG5@-D|6E2MC7f&uS(YaB}_!W>*ER%78X<QumFL#Vay-78 zfFm6>BNW0m2y&TP0zw~|*89vr#k+;*T!B5h5&;8Uf@f}VG3|KuolI7`y2J=7+Qx_z zzpRPAcmBf10^w{li}E|e^g+IqAVtYAf2qry+eI*CyEE%h{YwJjtlPd5uyYmi43ixt z>6A-&)NId&WD*q)Qv>RqrTnE%A%0&<9L~0XseI<240`=EKxg=1C_nNiTw7$cVTI+H0+f<5T^?aA^CEVdyml|#kb@53l)`eNosYVEq z;!LZSWkaK|{OoE~L*8)G-puJi4jOFD)VX43Dc9mG^`6Rr&Zbn8tbn-)Gro^9ZV7FF zw6E())uOi+NvvuyhkyTr2mSRm&iebxJg053SV*PXsp&b&iK5pa*Nq<4;w`isI2GGO z*kq0<*OM5Xu|j$8-*wg$YGpgPkl0X6&30PJUtr8(2qyjDSarBQ)&}G5lj9du73{3Q ztIp)|_{%22c{LRae^Ym7PSy8c*fL=L67uw@ zfAy^)WYf{(DRiVxicPL2SWC8#Rrwc1YdnFNp&%G4Bypi;?NBq_eWbG;>e8Ab4V22k z*w;ZCYkPJAqLoFr3v8DPJ+lNHNFNdzrz+<0i12V4tX)UdBk=t3uqFolA0b+oTWD_# zmv+nfueunWEjXEB$hH#%H^z0;)A-+$fkZioD)$h{y_!3Ws ztNS|t@RiA8l_o5IifKFd{Aqt})awim@yF)du$7V#l6x~|Q0K?tcvT}jcm?PK z8zr%f7a}y30YgI8?#g&?m=Ywmu@gA@4*ibTA2SZ<=8t9`! z1};ru?&4hVkB*z+PHzc^Cb%5qrE8X+-P_p&4~^t?SxZ-sY})z|5LbOg+9b`#8mz<+ zP5uY?-vT6aky2+fPk+W-!bpwusoHD%1M(OtH782nxxSAA$!nRs8a75q6N&{q6RO8+ zG3gUmqpS#C2Vz$Gqsj96~%gR*o-vX?QQIlzi$6@1y`r47tp&Lmme&!47u zZokh=yS+|8!wEG@T=uSE?vzxr`@WZPxNl4g~U3F6cCWN_;&M{kLh zWw>d%a(u{tlQej51gmK;+WBiKT3H9%EO>ed{_Q6KCdxksS=5h$ILooG-S!;2fh5P@l&MSfG zeMMOz*c$Ko>+}zk@N1`cOl%UKMBxhe8ORS{NJMb)ZMot1HBv8Q%ClUQIAk<#Mg4N# z&P?EKWImZPxpHX;nP<6m(=n4j6>CEPctqY7&Q6tCIAWM$TZU+2faEGtu%(z|-Cx_$7=C0<2 zf|af39Z`*_V#Od{pl2tfkd;5UXrPr)_2RkFgw%Z9opoNJe&Y`XVtA*rw6U)%&q~es zjUNY`3Y!)f8Gkh8dZ{eB2@&u`THqjjTL1_(}g<-$+i*_!!{R`O*;M2i*PM3tO zwB{H_+#rlK;p@+g`TsuHnBW;!H;6;zNHI(M09=KO4G7|;qo%5L^&a?*~h7(EX_7LhxpJdq+J*53XQ?Orh^2HJ-(Dqdb&Cj}9`d*anQG%Hnwv z)7a|ye#*Ij2{Ou%8-{O6ggNyTLPt?-$VuQMg%WOSX{l@;Cj6Ntb9uXTo7#qvjVi|0 z{YfTyOfC!z7SXrbej^sY5hn%CHVnty1Z*zUnj6nC!cL^>c%0cliSo-}H zdD|)eSk7w&i+w)@QyCXj%D)Z)hg|o(%9Gi+7zpJ1sbe(7%uBXM=;Y-L*R+_uR}OEd zb>FFCFG{9-&Obn@vRE49H{+;QT}(Et)GOfV@h1!QO7JBqVz%P04Upt|&S(iZ9s{-Y z@K$HW<2GI1_K4?N8!_jwv#ESIGvjdg@pc|^`4Gm96Vg}`6kN5AFL@)~B9J_gQK3Mx za)HH(`ul^H1I0VqsU@u^-rnt~1b4x|D?dn3F`G=CCf5#RQCr%HPW!<`@R zV2=_abXjD_5@z4oG{dkOwrXxob5zsjRw&%-%((H6yF^>7{3B=ZKww9F8)F+pZ!t;_ zm=6v&N<;NC{^$F*$c$Zf!7YWf{Wvm(ROtc%DM`>=T0r!&xVvcBu(tcxaA1w=b5xNf z)@+ibyh?+A(XiDW8J1`(P|j_wJIsDY_(a@4#Pj`RogGh?3ZwH%+nVr}l8m^MV$H(m zlb>h?nHYwHnx<5vbqUS!WMK?1U&nrq?;D$Z52eb$zWM&j8~!pC2T<@7zp(5r%0rWrKu^2yL9S-a1(4mcn(uew%BlGJZ5Lo{j9^p1&?~c|4tu zhks}d?R*KtDLcez;o_i2BVU;v9dMjSbBme3q}>FfU30#*PQ(8t)w;)tkJF|}zV9NR z;1|m;%V08Q|I}0t-i^4}s&Oe=>g)J>_veyCgEmUFY(}DxAJr&*?MZIFC|^;2X6ZK* z?)&OepSOYN_roa)oZ|L(QdXEBuaKX&l^FdtPE`?KMvG}Aivh0xX``BcnTUwiIgP#o za7n`1_sHmxAJ2NhU(bg)_8b(HPcX|Y1oc7cEk^V%K8)ptluqlsYwypTTcp#W@j*F= z;sV_jhcAlk=4z1By9dR%<+nmc4)n4qwj3*b+wy)M)s#v;Z>RfKQ)Wo|_-Q)p2a`WF zz>p=yvXV4gzWDo3$(_6xy|x?f#P1*Ni?`g124wmJf-#HrL)CbJ2D{a}rnvE9pW zV~ypq%9S>VTnz~vpI;)2YElb4qqfF1tRq%aYS8E;HP zJEv`T(IA3z${>q7S8AYLX+dr5B8e0O))uoH%FR)zxDGvH*TBg9s8F*jM=5<54v;o=}%&wDvzal?4 z?e3}3a-=Q~QKxIRc{?k^$Y@EWLr5?3)?&8p3V&?3rrD(q>W<=n{7jys*?;EZj?s0k z;Goe;0Pf|RK0Dq3K1Ahyfug%x?q^Mihje>TP(zzOfu9N=T!R$T2ERDunQRerZ3_e9 znX}{K8B#=p6>zb6X^7KF3DN_fO4i@WWaCkTJQ9dOCkhBSSuytfmw4pcx+MOOqVsTP z^XubqP%B1_M6KFEViYB6)*i9NUNxdMLT#ZjP3U9s^xRB4$i@7arwCK8L$)1DaHKrUYjDfX1<%_(wY>W#iY}dNC zA16US4VbSa!DW8;%52zBQ^9$}@|ye0kDEh%M-9K&7_KV}1wb6xkdnf}V^VE&-2%|{DlQhF(rx|5>T@%B^t962=d0e;HErR)72aczx$RjkydE~jC=F-^mO$&*ZF zu1k#|;_H%Oa2M9o>vCc(;u&M8bQ!avt|J`v>-Ysqu2UYELt|0kKuLaz?MJ!mcmEdn zd(Pcpux9X^Cfy`M^01!^RBPjbOp@xOY()Vz$#dE-Baep4&5ePbS_3197atXIX12mD z8yQMl6E^(P3?UDgp&8FBH{!&abaYW{uivmHcx6fCju}VIdNA9$?88ao`F0kIzvQ7l zbu}t^mXA;lSfkw)&3zsIAICV@tlu9w@ltKGHk`MW*Qd^**?L3Wxw2z)f*Im75SMoR z%sNen-nFe3d7pMC%@DFIX`t_m&(9kJW?zVLVJa7R*Hdm@y4cukCE47?D~c35i&sVc z7y(Yq_2JW-^Y<-Ql5+Xm>W_v4{4#FQJnnY(p8n*KP2L;=7JE{xm%gzf$6(4$mWK2C zL7Gn8(n{o5Y*QTaFo(+ZT>vVFxUE0~O8AfKKb0}8aml{*Dh#SX7 z$?ZO2ZnG=t7TRQ+#)GcRGM7w$#hi_`JMd(m5}_-R)CMcT?lgMo$fKcVVH>KABn*=S z&B<6TD)^*DI-U1)#K5A&b9HecVoW$p4+$}C@|?{xONqAZ+d_6P6*W8+`R&QU6)F+9 zsOI(2T7-p83q)(+`f6Lj*R8$+6(vsfyKN`cW$z2x=cXeclL zbY2iaIWEjYJj{CUHms!j7+UGh{(ZsNYs;2!%-JbVFpM}4-dSbzb^AYs%KpT=iGp&y!Qd8rg<29%D2u^LX88?^@A7(WGoYlbt%KHzZNq}!7XVMl0sRUhi2rgt z=MKjY#6OKm;cvRCcDZ=xROzU`8MXdpM&WxCQ-qNBg%zuX#mUR#gt%?yP~RagDm9q`a{9d$0Rv8jnQq@S3kM-X0k#CK28b|oC2I81|rambM=3dbJ+yU zCuhE5QeOsyaE;0sf`N;{D@B{7yP-@mbZaD-G1K=kJx8yb?(`*ZA3Z5km>Sv<owU>`TqZ-17xfhOG(um(MHs<9+H6_ec_K(vkGw@4#v>rZ}<34PxnfZpL?@``A z08rttc(YK#_keej{{VJ!iDi+S>Iw_;bPHs8zRcFd*e)aPnW%LT_Jk!#9?^&0&|mFG z-Xf#CjrSuPHgZpo#xsoqGlv9B4le9*0Co{J>sGPW!+s~;ac)!l<_$25Monlo!Y5jR z>>g>CFmX*;>OFW9>e|bkh~s2S3J~AYH$}1M-lR>7`_iiA8ZX0m#3LY-10qGgiEy;F z!`5{wXi5frz7c&{-Od|WDAQK0;`j3Ji}_8sOa1=)(M2AlNas?Ysz(OxU_uG&q7;fL zC)H_P$Hea=XxpEl9q^={YPA{41j@G2P%!G8jux*w9HP+9d>PJDTxip0MGO9fP>vYK z_<;plRZ*)0mlD?PD&6R}x_JVKz>&v>d}eTx_Jo+Sk+o0`fg`?4jtQB_B?Q+Leia>y zW^yQr)@UcKMV< z)81?!*w$@Pd!s+bY9pmnN~Zd z4G!$8oO;8#FE35HGhR_XiZeK{)f}JtNrbe#JUL7P5o%aPE0#T|40aR2nfCo0*w?e^ z%(Q7NmGmC7>$H+i)5k5@An317_uKrEF7qO2v=55NmEwW)|B)WY#NYK}FtF}2T3 zlTo}ZfA=lm*C|M;XqyJ-^4s^pz{@B6%mppq_RPEGYC5%4QAkQy+%|{|NKrt?w6-XX zuP$atm^-JQ4f?IgfTlYK*rH-qYV6DcBA~SSSx{5O}NJa8Q`c-E50(=FhHh&hBgqCyb=SBvkT$k@qo3++-fbyGQ z_vV{nBe@e9qHRMFGJM z)RZX&{tdqlv@Vk$L_|9Qs19>!OP<}!QQAvv46*bgrI!kbQDm3!hNeyfCPwGoAkA|s z>qd@~RYuSH0gBt;%4k(qE5Wtdj9j>yT;zP;d_@6a)4=^9YE!k%nzA`Xl35h=)4D0! zinzW<6a`v{n0HNIp6cIMi;!WfoQQQ|#){_< z_erxp)0v~S*Nx?ay?PjNo0UV&^`{tuKUSk>M;iK|8kv4||t=pwI zUfZ*p5d2tdC0N?ygt#;x3$9e*0zlJPl!*$mSALGQ)n*fUTTDB1PZjYRC-rTvyY>Nl zc^dn_-u#<_fYz)dcS=%FTnT*^0j;e}7np|vWpZ$*BV6gvAqT0TL$Zin8To6ju?->^ zzn9eJ&wDyXw*KrFjG7my?w2w zlTsnW${#X>@*fiJ*zG^btzd4iSJH=d>b#?O+B9G5k`VBwldMRorHApeZ_ZPcqC$Si zy68N)#;=B_ie2u_`zx1pCfDHAlkp-pCv+8?1uv@B{g|0QAbfLcb$93EW!cLzO0HJe zbJO8#UPU|&c@TrWZoHGc91PC!RSjs93Y%1aKHkZF90_Nr%1IRt@MMFXehYai{+Uya zg+-SBX7A5tBosc~yYuB!rBw2Qo|WaboA%Rw^PRx~+Qy-(xmBG5bDKTgx};u|rB2iL z81E+!`$EP_+&!zWzp0^g-A{iK^NH5ojs*I$-l*41#~iMRfImJ<|?xeqUGO=RwO^SdzK!R_-G!&P3bII$h#K*l$-kc5}_m1M7^Q%$YcC~cSA z&uU-0bG=0zw38-@dsyYG@QbQxq25E+^lg6LP^r12_OExsx%tu!st-PAF3yJ_Yx_&p zGx5AHD)u8LOiS|kCb$ywR)?hs1CDRD9+AY5C!(o1ukwJ6Je8yrUZlu)lU@nGa2lwS zO2#UuL!YfW$~&__d5KI#S*sH03=iK)RaC0y)RpvSsh+#>%fWf7+vK-oq~9|JskBc; zzUmhpO(T76mTB297zc=073IoZq;f_S~F$v}WoYK~q1X!9_ZYbxo#|X>q~Wl?^{2qn2cL~_~G z6QT7(*$4wqM(X?lpvyF8vOWX6UTFZU|JeC~hZd`pE9G(NN&M}heTRzzr9@r7$vJ}q zz4%Hv2ik(>zl1~#p!?D`h$S;L5D^u0pP>uzwQ?|7;)AcR&TwEi7n9!IIx-FHTO{zu zUOJTE84bNxp0B1rw6 z_8H0bWx%z9KkY0gkyaG(w(^{$7u78gJAlOF_45LGh)ZZG(ky~s}~Kk;%p8?k%ZshiH=GM%JY z=i(UVyQke3tTR>`Iw3NoT?Z06yWUQLR2QyeuLr?+yzeQh$d#KEn}m_%T!-C_F17+< zq3`3842%M6=O|wmB&zkPF4#2v1!l%?y-5`r1XodVCiSr3(|a_<4p(V$B~84=+?A$L zwHGsJ=q}~>@j={Z_V4i#B_00yk*OKJFJvtkjtkAmkU2A19vVJEKWYTRX+R3oWXYHTo z)&BGC)MDP#cb}bYbR;PV9yP_iiTli4#BcRk6LscAu^3y;_rsh$C%*qpsRz~CywbIJ zBkUJxxWg%j=R>VqX65Wg4rDz1`la%=t(G#L@>K0RD^7$AD4GpgP4{kfD|>V5l$UKO zZO~_hvUimgt7|ZBn;S9t!s-WNRZ&JYCuU&}9?K&MdZAV?+2`*mtlYkz{yYN3j;145 zoua;qT6a+IN{@V}BoQb$hHK z;vBVhz2ruOFr(l+3p_+`*g)wz{YE@SS#Ky&_K$yF$F$WKDT(s+g=9v4RKazBt5GpH zi=#^Qdg}5kjt6g5A8cL0)!!&zVqgL-mjs6N8oAaDzQ>h?Txs7dTOxM^xaE%-!S$-W zZ2e9?6(xSxzT*H@Pf0d~E}E~J8b^5O=F0dL_S_2lvw#;^WOKBpQq*Cw7|E&-Z>$7c z8UZ54j&H8H%rVqF5a`k?%td}_oF&9+GkkHzPgKYZ&YC>E%c!x@8>}xy7*%NO9`##k zP69VP&h#tht`=_Xj%e90?}FuVHyT&;mMvICs(tQ3%Y~Kb1Tj3G&r;B_?d2Yt6g#;v zgLpdrO-EfCtR-WsPr}&QrVs8!=ZxbdE4Rqp$)Bms{9VV!Yj1vdW@@OUa@q@kJ!d*Q zOwDn$*X!RfOQ?^U$1R3=zmnkpu2rU%Q^E5>UTHRI@7feBOC6E1x|+>{Uas z3y$IiCEbLFpBE&V{}}gv=>t!Z6TXtu8GN^QYCVD*2ra&Ve*udx1-fMK5f(EfYfH7S zgjDMd1VtrS3`_C_zUqA4{}bVG&u13wjUM;O$6L!Fj2vD(=RTIenIz@we*6cJLHx11 z`?PwxZux%EXlbsB!pUsq2zGkOu1+LApsQLUI!ijjW;^n*Ahx#QFAqno>oua$KyE;g zQ(#C$Nx)AKA5u7Mt}R0SwY(a^>GZD1i->`EzAu%=yCGUjTt8}6pE2XvYFex^BmH33 z0(Z;g%8HjdRaz#F2YoiTf8Lf3fNuiio4I73X7JvNn2wtP>yGu#aB#zJ4C||H;>*zW zZ~GJovJ|in6qq^C(ic>N6-nxAM_fDJYE>Kn;>TyVRXq{>b?)YR`AH!IlwYu8;G6%+ z&|D-EgNDviWpR0+6SH~`(tvdw1%5dM32!yUq0&t03XE}?0CCED|!vMwCGE)^T$;M&?2KPru3XuVI zZ`e}-(5?ovfT$iO#lo&La?^Ooiq#R7n}zw8ayyzLhQ^wNP6X(=XxUtXDcRdA_6e--s@}dp1+s&GbCic9h>6UaM28>bAigZD*LDQ#```sEy!Z_3eb8mlh_ox7&JIvP5|zz|O&`D?(0- zJEIPkTkc;H zYT+Xfo9VOUlBlAyv|mN1lSV_RwnIFmx@~4)(ws5^yf%4>3Z|b#%pQ3VsJ`AViLLF@ zJe_Fk6hPDHYv`P+&B&Arsg*z9qIyr|LJSmb6nCI_ur{k4*wSKcEYp#~A|vn_9?xXE zP%U~Fs+`S%Z=wnahkZtg8?-G|FWIYYis_bc^B8O2 zc}90zPzX&SI;*lXoW=Y?#QI^CWdZ(9?<$Q_`fJr6XCtY4MB5@d{PnBJieve`Hr?3^ zO=f_Dyi`9(#;O_r_fWOCDgGV-Gwb-LN?*@t=_#_+XxRqHbF9IlthfuXkrSC;cEqD_ zv<(mVSh$X_GfjG>qp|H=%(e2cjmi++q4+L4&Fp=rHM37lwu8tt3Mbmz&;L|}&S>PC zKc`87MN)&sNoh#%b?kFADcka`l}VtY+Jw8czPq7ok2k;Xnl`t;PML+p z_4X+TBgsidB?VyHj!WJhV1i>cT3>F-mnFESc}-5fhH1yTz5zG`n&$hNQ_>ltP3xpK ze*M_Uq9eerE57*4&7O+c-g%W}(voctI)6tNm%u&cXpJxQaN zsJXT251OH? zNyEEk<=pLN*ofomsNXT~(&bunJv&GXv|q{oBhRN;ud@D_KM!V;l?uY?>r`b+6kL%( zNk=R^v!0HxN@<3=7!F&_hL5C|TGcO#Sbp>~Q_X~r&nF;H1~;3Mg=XDrroX5=Rnu@4 zXpIhw7yRP4^)jAEr|arXA&03823uxQb^dAr1*^rmdtha$t5hhiWjSfBoj47f!kp&c zn`5S>wu(Yq{xJtcDn3fkvwO!)i7b|s{&~MNE(g)jWbj*%Il$SYOMpkLF>dPIgPFSY z(#(93gX9lkT|jWPd1~{qoN-9Ry=W=%5WYn=e>cH$>)M-?|<_a;nm1)fDI!OU}2dS4EjXZZ#rfg`34n zG9k7zF>TCzF-alDFyUAw9Pn<3u*}#&Vry6U{@Q3JGZUsQ1i@g%%PwP?}yuFH|fy*2@=Kw?CO&FEb_iknS~FO!Pufrr_zHEEqpSy0KQGxhpz)ae8@aQ%n7YGwvl>)||^1#(s5 zJ8Kb&2mHanf$LI1F(WYI+{mq45n2{oxi>Eo+j(^@uGlT1&?O)>tb&FBk)a3Ugw;!0 z0v91JS4Z~cbq0CB8gWFZ8|ChHHhgGq`LPP`-NlMerR80?xzweqKKTyk5QBkv0-x7M zefxg4Nlw1|rfCc=AA)~7bH>4O@SQ$6ybTj6l1#(#5nj2IC+#x4wkq;YT0FjKm5s-? zS^n55uOE_L6QLcT(IKr2bXVVbT*u$KwE3q|}K ztF=Zkbtw&io!||#=WEVLWg0B2bbwC~U(QaP-RswbNCH&1$>w;M4t!#h)Gu@FyxqNP zzKUW`y76yDoF?PZm)iHV!*?~g39c<`NSA;pI7_f6pT}{?H+gMXyrvfCJeSwwKmkgX zp7#Qlognm(koD80_4_jF0xBz!%!=j$0<=j>$FO*ZL(2agoR!XHPVx0N)B@;fbI~YI zj;3PD!IN?3i#^H7Wvu5iX^Z^>C@N30hOR49VK~Ih886P8QK;C z7XoH_RUj_KZF3F|YSpk)X;fkJtkTigXvkYbKX+d@+x?JFMqkFGyXouRn~yVc1KQsk zB=8hie{VBSoQKF{PY4)i#{qs^2vA6f7WzfarkqaUxqsK)Is;x!lxWq0M9(uXB~vrB@QVB4e2)UQFd=)ya8m4Wu2ucR$|CTqE0nT^9&!>=zVpqL;VbQR5jk$nLN_}D!&c*du!arvFPR>z7x-TTH$=v zg2HE<%}D7@xFI*H=gC%J9tz+-{Y`W3!s;E$N=qU9f zfovdv>J(KLmMS_J3Zew#Aw-+~4^EGsMrVK&mrxuw`AD};nkVIMcXb@j+Ai)?uHLSn z5|LNSuNU3QyBuVGpzYp|x=bsBif6BDMKMahp#BeFe*$mB$^RniLuYfW zibdR8<&0Tg1~)NW`~xtz4_krSog-@jLhg{bMFSHhZ{g$%`SxkrQ%s~=w+K;K{~4yA zj2srSQ>%-LsPa^I_Q*$2jV1O-NRw27ak@XZ#AZUMJlNjf&WC>`OMmJ3F$vT3X@29L zmF$0Dyp7qjYw~~WPYJow++e-hhHjK3|NnyNB5HvY+^RidC+KW;U7JUfb`MX4+$G8-9nn5o0F)bD$^REIcAMKhO3Dc!lhoh>0^!JpL2e0B9h)mtDOyi zuu50tlt^Mq6KSi$rWt;I#w5Vof=)Uhfi*dRHRk*(RI*7%lb5vIev4I% zKXPFfDMs5)YoLj}#j`@l=nJlaJ#FxouCbG(uUj$S-TLf(M$${b%}lDX8NO%Jjet>bALd4-q>b z&Cq~Ox9+n0m=H%$$1?u|_|>6>0oJqbEK#3P4Vird!$uI}8vH6-y3NxyK~@f{0E|%` zI&jfx0LV-27b4V#P6wWm8p;fH&w}qpIMl75jT!9|Uf)jEgH8L-Ga?qo)YceayOnPj zESWs?Bgs@US=CmN+-)*O7A~cLd5Z#Re4BxihJpl2=?#KH>?ab8H~RH+M?pMlc4_YV zY8w#^74je+m{SmC$ct!By9^Nx$JBBDRuLHt%j%Rjf`vrjOyN$A0w&rRGilK8Tk(Un z>J|hj#60q@x}m8rV!%f#zG(WJOKdYJeyJ(}xyomv?-#^@S-fH|O z&h-plcf?|qkX4T$bB0{U;j3hDoxR_B`8B%wmgpj`w^+UB6vK1Pn}4&SUyq|-T7Ql0 zf8A)l&<@Ng`?+Hpi})*KlbwPy0z3A_wCmRgzG(I}Wz|~5)k+5Y)f!#_Hh&zSP?p^g zxBBqVQr`ldX~`RQCHWvR9|oYpNf*3@YMuKQD(O&oCp=&^*&OBN%~%hAaHG>_iUf7w z5t0qFy>pgrkl(Bi$o+@|!C(g#(eX?EHHNkxpSpCcvNun674+*1%O0bFj&BV%2|q4= zOth6PunmL(V~3^3{<|hof1w{^WEQO~Dz6R zf47xy`~b>FNd^jIc77@7Xo{#%Vb<@Ngfl6M$sdyv&;c?95FMB6z3Xq6u4$o_ThCJV`H)0s=zZKX%lPQr%UB#!SW=%E$6ayVKUuhfB+*@B zGV05#v$9=Xd;8Wvx2(lQ;3QwL*DUu3^IlFEacClGsK+xRKrN4qfKV7lX2 z#o`MffPJNC=N}*+ZWr?6RcOZ{0*o7#EU4geksdXfIsL!dV-J%tKV3l!&E)^oB0)ZfcMp2NvqjN5`a)om>E6( zmFgD(h!{4KDROz<@%pi$$WtW?vsvr7UQ`XqNWkzzwea-_!4_e3{IOvDtpsc3r3A<$ z`7ixGdicSC0Q@m~m(m#OWpBH1tUHL;rp-Z4Z8Ovc$wLgnK@cE%?E&Aa% z?@)t;euSA%O+4K>&`{BoE0?e{b^W~;+b3YhQ~}_5&S1b(-IIu_mrIpSO^kHi@j7Dc z0_gBu2(yRpJ{_>FbecN7)foLB+O`W4psmrEO(d$5<%b~tCP;E2bBq+C+KLO$nQ{I(JrtL>i9GBAh-d8T& zc!W3*r^vZp{&>8RJkumOfxuH4A`zVdvk~2JyJZ9aaQqvL-%D&$lK}&mDJo+BT>Tk6 zyXt-zZ4+W%WYP}1mz3seUJ-tP*{tkP*AJS;>O9DEE9&H^@m^gcA*0qi-Fi2K2Coi( z8%yf6j;P<27q%gYh3w_%=14~D(dZuDp++j9W0IJNJ4UkFbFAK2VuZl(ZO;Ct-6rhqV$$}rBzv(4r%q+WeW&tb4lA3g){^rXJ~Nfl^q?VPH|;f0lOmtHZ92RK zE!0qZ75RPG=gGg1!a_6?O8NVq4QXbDc(CRomq~ep&U4mcHc*e@QUV+Ir@c7ERVLm# zy-ik$`VkR*=lE9sUU$a;lFeLo)H*5fvwdffPzV}M{B!PC6yN7SVedLeHCNOI>xQ)q zJwlD=eGHYP>+A8-mZgw4xoYUCW~eEr)w-iIN|z{mLR57BnF+`1{Z6&d#w@{qa64pL zdB(HMtDJFIboOUl=l{Ej>R-R#PhT>;Tz)CV=9`0~s`%#oHE(=Tz{2_@4pF?agh@0;kfor3SXc*@No z$CtNUsw`PSH7BNh$bhQlHpMRh?$J^nj_)Jpik7MY6eNvkGX+wsBYag<8_PBp*qmX7 zoOM^HymAt)llknM4NI*Smg;sAQ;+%BQ`5E8r%oPLwHW>6W~LE^tk%@^93U~mQ8&U* zZOgytWob1ru6`Sm@y&9(_%;5%(H$45@qYX!>{f|ss`L|^`A#O1iqV!;>|z8D+MS!$ z3{Wa}x1w@+o@b;3o%#AZZ8y!dwHm*C2B%1hSrC-@4aYg^U4V$UAYGr3n?As61}5(& za!9cQy?D;~0M(^)oG*+|p$73o6##4)9gNYwWdr`*iGgm*pSX<13(HdVo8xSiGcx#;Jw1ObM(@@%X zIJAi7SCfhBVQKPYopxQ$rPsFxT*@&_KN#Zr{w~V4`r4hW-a@5e?oOV>p6}mbb1MjK zV)UD47aB&Ra$}9dugtpDEz?hu1=xz>^IRVXx2b~%>r#G@7?P?GcW!^V{DUn0O_h?U zP*wd8AeHP#C;j{FvJl9%@T=zKJxn~Uf;wZ>*y;00qDOE18}*h!X=U$U7GKP& zk+U%EJtSt$yC=q@-Z%1lj2{P=UpTi`O||$n{R?L->K{PT9Zor*uLLXT{yCPin*H$Nd8acl&6*?ZSX6awHEQ)+Bk%GH{|KVgp)nQ96i*_VYA6ZcCvuE*68Yu z@Ao$k{@i&rH(|5_VvEL z6Dy&%FX^m>Oe901La{P&zx*PmHvOs*&~jc9W1$#`58c(W(;b`T_nO2#N|t-&7gyH9 zx`}cm@oY~KUVIJ!0$~*6Yt%~mi-xN1Svwvtr(;#v5HR9vIS8DWHcfTW(F{w znf`?&;Z}g!nytPicixOxCBjJMzLRHd=#62WC<+Bzq3^f5q|~(BXC#i*G|lI&e+I3d z7S*PIQVvY3JnT9pd2q$Ljsa!kns7Zy9>Q>!u7g_!(aw5a55jHY$RgKDIk1@ECzn0=ljOR3W2VS3Ljwd!~!l*Y3?1Ap0YlVYo#rf)E$0kE!=f)E!_m0 zcAHg_4+c9tOgusKR9N+MapA$N>Uk#ja?D4mY?Yp{7GLQgm+MMvBL)4sxT{KpiS7jR zI*)lVY%atAKIpHq;gX=F@B@6S&5GZ6J;cbykfxb>(khDMac1*4Q+Ek7f#5zHhd(-4 ziv_&^8m}^WHVQ7d(579tH-L4FDPVy21qF)X0Of&G?)KoMRAObr@xnLxj`)@SA1&q! zK)g9tk>cU8GnjRgNyJL61JFVG!d8XfZW(D?0V9t_bbb1coUm>}KxY4NCuFVaX9id9 z-K&(biH#d9QfZ(e_EKq}qw*%^!8|2em8E|bnZsO0l>MtBMp3|6xY$176eiaXP=l-Z z4Hl688jxop^k~f8R!KhAZY~TttPTyDG=Y#<0c;`C1^EDb+C~?8b1bo6oLyCtaEfE-M4bCtTESpH|FCQ7QG*_7Yk2%+jNvi za3D&CoTnX;MKDXY+2<7nU!0f?#%DN&y;{dW&70TOX`*$29kv>KE*RZslrP^7tqa9h zPS|0ukLqGNpoYQ~pru~VhEA#=ERch((T&o3Ev~O#1=_LI1t($L$|4Wb79qib!yK{B z8QnazokLb_N2KWh{d^6hy>ufcn|+P!Qh`HHe#r~EpspBcNtOgxDz$Q)ftJ9KN{fk4HDLW z#BU!6LBt6ai-g|5eTAb~bNtQK@}MLn+>twzdjopE*n0i!Tze zP`g}3{&4WUB!4jwFaGYXN^95u^@!w+eky^#aIll3o82qIep+@krRsf__tZBNXaays z2%~o(-yh}ou+O{4{?T~r!26#f;e+4AXCvavLdBU$(xA|*+bG~#0_P+oNuPq;LsNf@ zUU&M>C>czi^Yci7EAX{C9S7=JJ}c$ONQ+{REzpV-@k+Bikq9MU$!`>)W)Ua9K5E+pw?^!^L&6 zR3Z2Ds=krO`>|Y02xff_iH7MAr3y>45O*b~bHukwV~ID>2yMMdCMfg1|Jv%#_<$My z1)YHiyH;eQmx=F}q%G&kfUYH-`77wviS!X zd`7&v@>;vxAnZVV)=8LJ9%+7&d9O#Jh$Yv|T^)0UGsumMDkwN0nb@yz)G$a6b-{ z%oRCzsNv^V*$-x9kDHz*_uP!}85sCchj{jsNjsaA{rqc_!C-8m$2#l6(XG+D54R5A z+h4h%8MfEwi!HJy_R;8HP7!(__uLJGBL6%zW`I!sR?e<{m|N1S`2m=bGSdHZCrdZl zuu~poGxkHuym6La7|?}rphDcRGCL~DwPu_D<#MgwHf3s2R`z(Ednr<)<9~7gO1odgcKqw|d;#)dzA5_adJOAvY=qiRp3L`4dLmto#@(5?|OG zbP7r{0*_A3~?goU^!by>!~P3Szz;rv-_94=c}oO^L6Yb)n~r`1)IhI zEd?rrJw)*G>0Y4>jCQk=hYchnL`?_otn_<`Vp6@sTi(|$E%vAo0k4a0bMLryfjk~- zI91|L(TxQ=ig`@3!Zx+p_mFFefd$Pz&%w&KY_&x;hbdU}^r_>+RVi^yGf6uUi(IoJ zhMx`kveZ0abIKKU^02FM2b_@rjR2W`AzUd16vmfn>!NH$f$F}fZb@dtGQOfr5T#6{ z%vu{7TWOZvb%T^;-U{32Sw@GL+Udopa-LbB^P`KM>dnJNaaV}aGNWFzn`|%BTN}zQ z*(ZV$tB^kfZX45cr6>LBnD9 z5T^TDY8^UW_i>rU5h<4BCYb!J*K=V1i{joYz;0|+tO@z*@uCxNi+DX*#_k!)Mv_s5 zm*3I4J~Qti7A*V_L2W=MQ+0ylXh1V4{v<){meJZfIl#8R8gB!@0lG5qhwr)(dk{9DqIkJ;}Cm%gbk;D>T?|r940J8i1XO1V1yH4E8UG8*#%I8*4-q`$c2YShtcR=vGiCM`T z=xcvlQM6N)&3KT?+>~~a{G`c`gLCfnV@L5WDPOkGVv!@YKj#oqTVzSy*295Qr>AIL z2Q6~4mmZk=$Nlt_FN(WuWXD+Tbz|^$$ihkR(^(?h_mLvKw~>PCX?m}7+D67^s8C=~ zFn>^szS`KufbZ-ncas?BtB*?w5rGNJ4y=zLC0Thd;scwIPG>x5RHtFMS4ih3nTBAa zUuv375_lQ??hE@FowuIi*nV=lUKceqi(cy!jSMb#b^8qL?QTB`imm%`moBAAE*ViJ znIHb=>&b7A4(o5`Z&Pn&UvSurD0EJ5byHO}D)}rE>SnO~r#{`HwBLUGH?cawWL$CW zSFiL0&$)H)llFJeuiwxOi)G7uC2ko!$x{qTn&aur%^7#H2Py2pNh(2@T>Vago?P{Z zuRYJ7%eJKbdJ{EUvYC31JF;e4aXz`dFQ(UX%K%pJEBx95iZR5UU1R`D=0i&+wST5x zb-98M+38S!9ZYbiD`!;_I=JlS(sp+e$Uh@tQxtUuC(x}!;gZBqG1uyM;s zZvUBKZccK8R8rbzmqQ87VviRZu&CqD_J7zh9rTe8bnJNdab}T>xYU)%g5^L}FbPmff@UWa}cC50>~&js{IHW{WQ z-(d{%|Bg_9^LUu?^S7H)Z?D%6 zkX$usEchLoX;LMaL`l9+XO#v9eff?rL(uu}9t#?1Wqmkw7MUuzl(*cjA=Y+%O3XXm z>=Bbn{34a(x%44g-Uuo7eIpO5m(;M%ozR{m*?ap#deVMn5*?GV!*S4^QJ}7slD*Ji z2)zk@~cVkZZ$zB$-T(BdVkIR#jPAt4^jk+(|3pF>Qu#G zRA*>>9HqBu`6w1Eu(>u@bsZXEN8d0nGQRY6A?BHbv6CkFmpo$n*{InX{mBaF4ndi6{45pbQv8ZNx<9sYEhqK|0< zh2TFgSG$LJI$}h8<4c^Y0ML0cl2;S=gJ&g;RWoSoYpwxhDy z?!U&8Pu1eoH^L>W7oM^l(fUs}p9k0vYAv+EhS!vK;)EK5&tnhCV)@c-$9pp(jg+^M zJ!?3r`qS%{JB2Peo26FBF{BVTcw6)2oI$P>Nc~ZH)7f5LxBq5Fxn!#IEF(s!?rYv=*!gvQ_gdw0CT*H8_k7Nt z3pCA+9)Fkt*?jP05G+%tyG9||Q&mdf9(q_!R&<=d4%T+-Qyv)XRL}kgxLXVrZD{hL zi5%hsR^68EW)!;-sxL&LVM2fM9E2t?I5SZc8Q}*#%-JPY z)rlt;!*8fuE*3StmIB6pTrS^`dAspnDc#g<|K-EHvDK{Izt-m>G~eFAcS5|`2$v}n z(!n!kkXN!~3StIgB+cr};a^u2F8#z!GCpSObnBKExtV$)fA@Qg=b7O#S|(V}m*g0q zeeOJb?ec9OX7_-aLK&&Bee}q?ZF8fh;N`dx72`$L38Vz-`oYgCWdbMV({ElOXD9M} zB1h{E{|Rfu@RzPy_HisNw>^=cB~#S8D9Z)fB)Y54qVPWZ)-Qs&BlA!nOVs%nr4n=* zEBgKSej%KpB2jI8e{CXTzoQCBG+4>NcHS z@M8NYu_@jm`e(g!8$56zY@Pe`=Rgqkyr{4Dw?4cdhuyk)pMgb^0E3lt(AU{Qih`Hb z{%Q#P(+caNW5^X9xMbIUpTQ!RO%d5yit4|E>szo-@ zdoV54g!jFXGqz32q8Hst&k<1l$@`z$ zaQ<99?RLxAsIa=|42~vg4w);7qCc%D{Bdxn)PeXag;GA0c=i?&{R#ZFjQUWk*D=yL zxN9A*^1M^1x?@_2$x1oxGL)zFIzF(@<9DphH#j%(+k2gaTT?Ak_ZTAT0qCerv(EUE z7rWY`e(pHES3lCN8l=`Js3h91Wx8|o3&0rH*L+z@#9P4#5^^i}=+f+0L7W8?*_ZOBA&#D%Sb_oD7BFWGvMe>1mgozh~;;^aGoZW|5nba@u#R zi4Q{ZArsah&x1GesIFA?S!%wR1dv<4$R7TdAV4=^_L+cw9 zj0cA^z_=gG>Z8SPZqymS9bdm1n##N{>setN)auh||F|0rvAYJsNe|5NE(?NP3S$ zY=O5G24lEKlBYGsNM5<0q14A>e&tSR+znGKgg75KEW(ZT;id30{|6F5?Y>YOXajV` zn$=}bg|IPk;)1J^LZoqWKG_z{c%uLRd|j#q^UnpxH_Q~ z8&pu@d9qr`P0vg$El!-MJLH*#?G-oeg^I%;JWU*?bp6YGb^iA1ExU@G={Y8h-MYhX}^vogt@iq z0kaC^nKwlK^S%WxEGtzTVi<Z8O7Sg0 z7^w;jIPa0_o{c`o2rNqI+lV8_B*nr_{#h1EqG}qB_^Oh)QBG9Al8IJk z_*iT@94tUrSs8~Ab{PU0(xg(cV4S=B@d1^oYI>|%Y8j_}lx!>4Cm1!#Rn6x!YLBR1 zHR1SJuTRcJukm;_rms4=}q%~CUbCx|_==!SxACi>iyx5R0_T0;<3L-Yx=c;$4? z)fR8~FB~!(COe~`x&e6;vF(*`w(%q2ypL}hVBu#OqZal!{vm)x9DAc6)YP1Z3wIXD zjkM~*ohot!CK5%&zYqr}O}3AY+!4ul2fk8L5ZBP~1r*S}NHRdSp3$vGKr!mt6s_T* z9M2+mrbnv+ijn{V$TsEFWUX3Da!(p=e+*KIHvB~ww}wewB?Sd`?~x2j4(@<*I9SR^ zRse!eY!ugM8i*0Ess zIvbdzDABJabu={xrd`d!I~S43<{Q8YwZoS2=5X+~$gF=e-jT=a5`6g_A}wXJ<{Pjo zE+jklbNzBWDR2Bsc&37RD1XZ*4~C?-ADT4;G+UVkKgvIL9u`)JPdREQadRN2fjA5l zmXpp}n6LU=+y4NSfWZK&A3y5qq9Ju5Uf&i-MG`Hi<{qu~P2`+9(!Z+*hLBYU<}R%n zs@=)q_ONiUXntmEJCCio2dF(VTrGgDPt2`dK?!m}BOVnc6{P-R>-X0SZnr1m><5NM zLV}Ii9J=3`Y4BV>5!WlWatSTp<`%bYA&Og*P&TN^)v@HJKQnccLTC895_57&c*i8i^vH#NG0>MaMid%oExHwQsul%k(O@IMm ztv3|^0Epq?Z3V;gn^axOLVHr5_1+T}Hmm;tE1yx^h~X{RorXlg7fa*(>b^l%f&;en zB-G&GP+k83E5h`OG!TLG;WSdk|~?020B##?@Ez%HW;hUA_MRraTO- zsXsn05~u3HyC?(!j{wmWV&#KngaEx$Y91LC%7dlA{1?Fe9ep2Lb_AKb$&I_)K!|-wz6H zSN>MklTI~pQMTRi7&0>1MsLl1BAs8CVL?Ik;o)0yerf3SUybYEVYUthGG905j*tf; z%sf5*cs@j8Ze-1kSp`94i*ASB=g>nCh2md_-~I23AIQ(_oXo2 z;Yb^b;Nedax%0M=-|_Pq_ZUoA+ST)>nJE7NdZX*prE(lBt)=tEmTDT|0q{8<6xyqK z$4fmfkkhq$<&=_Dm(Dt4&q#PSF)%0i%+c$#B}j2 zGCVA8VDk-`1T5%j{!qt-H*Q^8)ybsELHOl7yBNev`h>bY9oxE}3 zMXxss7J!Yt@NliS1l+;mYfiXKR@GyfQiX^W+pa>C7QPe9aChrmG@DuQ{gfb@R|f+U zRa6yS_FvFlK}+o+guHWas(x7$Xw9&!U93vah|^k#Do&!sz9Nx3Qe>czWFM?NVTAT!Rvqp zC3Jvv9q>~ic5>6Xrb?HIw0e9a1u-RaFzOEZAb?w16|ZrXGPf%HLcdN}MXjoQ_tug_PxHk0qaHiZgJMUad+i67mTi`)0 zNaDW;>xGDS0K;y%21;SL5nZr^h5n%<_~n*|EQ$pwT#r?EDxV7BOF;1l#{z@8^?qCT z$kNEU*;}Z~Sp^m+V6>W@yN5il^H;#FoKZN0YiqAxDVRMu_D*< z;qiF($&jni)N(lvOh_(D^vNCBRjY=n$OcZ3ec2$!OBF~zERztdII#z?$P$?vSyD{~ zEV`#!I22+!;7LZkPr}_YLw2W|es8DxJOCev5=XXVVcDu&*gu!W0SB#c%`qE2U&A8C)_gal>i#4MuZ)b28NpcYYRq8&EkV0e%=9yuPX zHYo=tss3z{JER2jNe0D_p1nyweq7W!BJEItz6xeHMMbe52M}2S zvLwaCQG4LFC@cL%Y}B_#rrtR?#iYFNSkQx6 zw$D<_(z%H!mbrJbCAmAWKiPndnxc0|^&6$Rer~&uyAWy2j>uoF#R#YX9=jLaXkdK{#N&{L}&Ny`G~uS|@aV6Y_LGJ$n;CD_2!6>%TU9p?UE2IB|Z_l2lT45a;-@0 zMq9#KV=&s^ETO(Hi1x>TshC1dKc;EhBtr2hEyYO$WPsU#Hij(7!IR-((BoS%C6;+( z&hlDFsU=l~C~Ma!oC<>Woj>zp-ses>H)Jz9&^31%kHA|4E%LXUL4jkOf`CvTY^|C% z&R$-&*R0A=dW2O?F!54{l&#ZQ%lanvyx~#-r2)%ND@0T68Xi^?TcJFe7!SJ`9on@7vJ9x3L?DfEl+$LEXk(D@yCT?RyE@uhM0I% zg3SK_DD92^0GJ_!Z?kRmd*(i)Xt!eAzKNg9(TCY~sM|2&vs^3g;3M) z%*(A7^$;Nf5j!>V!E9C%qqRN1`^@lcw0W5Y@xMEN($t3H!$ zGblBVpq~!qPVbKc z9xHG3)enXa6x}ZUE;=^j2MR&iztcd{n^O}8Tuq%^5khN^3OJYkmm2_RGCV89ylV;t zPUjB`AX+-lfu=ktGI!~L)NXs>;Zr7;Sg!T@FmST9hg21={{Vgy76h$rX1)H5j|)B} zzooj=?ULbZwLj8J;!YwgxSKkcE}I_{k}*M*vwzE7C-lY32KbaIJLWvd4X|hL`Fe$F z7pH8b5Z_N9)b7#?xezft9Ij;W?9(EL8md;6ICxqua%zcM3RmAA7I7<%tgG;YKswN4 z!lbYLD5i&RyAu``-|0xfeT|3`DK0@ZFs*GuOU;1gtFpr)aa*)rFPqF zJPZL`H83~jLyv~pYg<(YyX3eSlC|}E^(LOgkJXO@09zW%5O}!&^%XycK*669_Sa-9 zLg()}F%`8R@eGQYH#PgTA+)j1fA*Oj|!8rul%enVPBBBJt>b15>;38CsqJCxiuf;jCfgE z<^0js1#3Cqed)G5D7D}6wza;#zY;d6PibuGo;ebU)G(i00 zxm2g3n-Ray6BV`1`NKaV!UZ+#cE^RCwx67GuI2^b-2VVf6vo$&&Uv1s+pRul`e6}b z4XO{$K7DP%pY^MTk{o|IYTSjYgH3^B_u%1MT>k)^VPx)EeM(2}Lx5K_35`bGz%>5mz3pY)^6ORdJYlr4;k5BJgm-@BD#I3Hk z{L9jsyrgO`Ux3%{!NOM2WAhtEk?1ENoyWjO>&WmF*jhg@^d~%8=YRE1NJOICJo}ZYTKA`HkqiugTNj;lgSop+>%R5K z(;+2c=G`ZNc4Kf9><_$l!!g%$_(;I*P(<5*4b5(A} zsnOM`;A>0?3dV>N8EBHLx>;(zfMk>4olnHz6BhY zNJ#6~whCu^IJa^1SjoYUEjslg(9(I%Nm#b*>T3XU&h(Vx&k*C|_vTCsRQF(x+>Y6l;;RSZM~KL_ z+H0i-c>z;HT%##+F~fd)ux%deyQ-n!8 z2vyUEDv&65#K{~g{1||vp!+`A3vCfbFQ@=2X->ZRUo?S9-kWl3(v=xmaw3{7*BLo> zI2?;tX}OBmZkYg3*9htWBDp1yb9JX|RBoj5aTFdnsup>vRwu7)7KFO;Mx_DyVTox; zF3D9O9xdaU5pl{*c<%M7<+qiQY#Qk!Aq!a=)xr-{Oo)1jt7gomMd zU(T;;qS^P3y?W+6pxJcx{{Sg@?uZQEzkmRsovE0{EU6RcEe}W6#2Sc~gz?BZQ18e5 zp_UV~WJRg!I$TzBE85gsKSD>g0lBsrA1wK=N{uh1RenQ}-!|6a5S4z49czJ!Xz6=o zkfko1L8|re$c9pESSSO1`~2~1YHc(i*y7oHEH)$oQdtXh zHn(BcyW)ky2OCorL|Vkvt9-IDY=iAzBHJj@EYuCX1lu)TOOzN-{Nxpp9$plu_rqh~ zEy49Mk$kT#EQfmUn9pZYAr-d}$WpES?7%K$C>8TojeXnDxa3ueAiV z8n{a+hrNH!Jy|4@PTmW~zcHHJu1sFw+G55F5!0aY${WMtZ!t6elDZp!Cy-P9kT)!jQ~JvT zTAZ?&DkZ}{)j0wZ8IO`<^{(SVzb8@nxQuP+~dHDY-=q_laB*s zt~$%txft-RyY$3|#~uXnJM_ex^})cl+147Pd?G8v*Xf7x$ALUewzA$k;Nf8@G<9~T zUbyhD6OOXP3LWv_PZHCsF%_;J6$PWIvr~LLENw8;Bx##`1xGi(epY#UJB>T*6a*Hg zVP$fnn|a$uipNR1x(Yvc89u`)19sQVFRn8;Bht0@&5(}HAvD?6jvf{~PF-t#`{3bQ zUHWv6hX(^bB|)zqho(FT;$C&82ED0+g&a+`yT||zSHjBaZ|UB{>B~eIi7st)QlL`@ z10y#+xEpi6JSgH?b)crJwRXtxsgsVpX^#p4TKeH8r*TXo3F1+GWCO6<2#XR{{+lPJ z!w(8ATH5`mI~}kP&Lx)lFH9Gg(V^a_agA+0@&6OO+i0~4g><()s@d8clXI~r-{GPkx+5!JaWDj6KraTK|S%|asU$DV(Sqh zB}F~QTzDE}Xtp&_6o7iaC%fgDO}tg6?Ke!e&kHR6B&)Fvy?bt5$t z?7Tqa_=Qtq4}2^ESzYKit}9l&sREuDNlK(-_sH69u}+=wVh2^iy*uK{m+_*|@8g9- zaSH5CC{#2j<$#u4)(UasiU%h;g(Iy=rbgJ1sE3H(3vk(To%h7G^mC*QCAUURy>;WYBWMUD* z^Iy%{7~rRRh99dk@SAbxxnSO0p;p{hw96*h4c@)vqBsHEW)pD~EtABBoKweq7Q_lm zeBnPkgp6#c3HnZ28mi5pEbGh_`C=IXX|I}Jjjg@1kPhreju3;*Be(czPPiK_Tg{9Y zM*xl8hTb&80oAH!b`t>r{5u?)(k?x=`|u{|Sal8Bm?@Z*tHL>&0bGqzNa}*~hKDO! z`jp$TJ69}$Yo0Pg%BPHmJ+n9)aSUn54QP7gEp3wdS`S`eqLu5Inaw*a1B;W>MYUrU zrAA?iIr9YbOYUqzCZKPY0)rY1cK-lQ>rgi7mI*X)q%!IJmyi_pIbfYIlq~@zfjcO! zS;WGSV%OpzY(^d`MIzSTgb+JrVVDTTwy6MkWJzoR9c=}6BOz^sCKj;LfR5G387UN) zK&V&WzBbulif(ER>5a7zmEO6h(~`PGhR7vw#)q~_*oCzNW$SDv_4j z8u6_*!Q!#-*U6#K4%8EA3j6haz;a!m==pQf{?BtH`N%H&&Ww`7_RneKF-+}wY5dwAwFgLS<( zM%L}`QDoYzGQJWSgG|0%YAG~n&BFv+b>^h>=|C%tA-hbcPnSH&EN;d{r#7kEzHGp! z7QsN;pHY5TqE3a#ayw+0DqIhYHbIr3uMh%h*9!u&Mk<1v;>hkAQ?Rc};3-#Q@R9Un zhU_^ZA##U)nF1}4J0=!vO-bqFk|vEdLO03ieoFkRzVi|p6(7{Iv39o?Y{dDROx+jzSG6CW_TSMhv&ZGY4u4D$Ly?k>!8MYI7$$wHX-OpUOxVFF65hmTR z(-y7d`qZMk0oMaCRPLm#yi{#mD70mye43}G6jJs9K_2)iC<$oFPkcPtHxL}b_QDW} zxnNi*9dIE=<~7+y5XGw~k1p6stK2nZ2s>_YQrmAP=Wf-&wufm!rr4B#h^2cBkP5mu zIWVZM<8P-b$+I|feXZonei}ukdYBhAygAZerZNwjWrQ%L z1#@EIn4l(u(x%-HT$Lk|v>=1=8iSEl$VVaw$tKlhDiXBnF{M$rj;5xR@Wllc=nlJ6 zBCbdkx1hxJc63OjexMaRFLk8=^}R#xuPzpfCEAei;>|sbv!q z0*qM&{{T{i3ey@@hQdC>u1Rfi)6uYVP;E)H=qPr=10%B0rpBEyBAC-hPK~!C6kCp) z4<4QJC?{s0ON0)YBA}q|ZI&krnF%rlpMF`{`nS-KHw-@mn3)Tc7uJwlig7uIO!>SI z{&Gi6ON+}e-?D^l_vUV$XY|v>TS1H+ymK<#P$}P`RG!~X8l+v7jiM;)iY?!ulc+c? z4V@Ks0+>=uXF}htK3Jiz(140^G{J1H+d3s{@nBnM=zvnEu1O7khXcMTw!cDGp%}3y z+CEm2kbmfml zR;4ONVH0J%D*kBN1LeIy3Ibx-pPn)18)Ep{dt$G}k4)JI0!MmLFyzAm7ei>yejeBq z8ebKYGjJQWDLbpCi#ghzGE8k=JsRPS2wn8MT%cJ@!MposuJ7S(B6X`ROc!ToG z0~NAZOoMQ6b5bcxTQvo1z6AkT*s&cBMJRJ>{c=Djt8v-L$BhmiNjt22NtU~G#e#ws ztqv$ow3H?3l}WTci}IgO^>rBND%<_pgEsPM?^0=nfa0}21HMyD@h^}605>OTJkNd$ z8l;?d>6<)bW{mQ-8d-?%mpH8%Ti@d@euE=INH51@S@r`jpLHwQzsjVDN39iDpq=r z?_4ym|J5c#`#n#NYFz4UB|atlT@ERwvCvn&F||~4$Sx~(+M4vp)ghn{F1T9&rEW{W;G~1iX$QVZfY@xkdh$IoATn?EtJ}5};$DWmseq=dbwIQm zZg7>h)v72q@W@gf4Hl!eNn$L!?1A36scedhVL?@2g=vu}0XovU9Eofw=QJ2lOU!>a zs#XHNCo(WNr<)A&&{{dAckA?Irdx4`t$8nK$?wqS8+4A$zRc`4-wid}5!dfl<5Zbb zaG(#TEnqn!bhRw%-N#%7uqyejm+PtrRZ4H~g|C@GMxG)*WyvNyU2RY%*Wu)!>(d_%n452Xa=@`*RCU3^yl6{}NywoD;$ym*Y@r^YIuZ2OCBlIuTvMx$gw%|# zoQRduMnDBl*s--FnS&5|Vp{>E!a3=`TIFMsZ8Eo(i`RUCZ3(;+h583f7M`ekyU@d7 zl1!3mu4qr=lZa|4D~q~pFz~hUAwIUxwoC;rnFrcqL6QNWp7rT@7&UAZwvK~QKz<&F zp}|&;BxHJ}HUQ8Hk~$2Di*7l&^_Y*s!{&Qo;cnuJ4C*jDA5Dc05E|uIvXjQHK@C&m zh%|yw7gnoUxS;XLi7}9{m)=hX)I7fnUR%#t7jlhC)8~&g$WTbNUpL%bz%=mx0J|ov zJbWvc#x=W!cPvL)aPn~4xp*uk8baFq9G9sF3t3u~4_uoScQxN4s9Vv^0q=@wND7Vc zB(xTf?UE=~xLvl!C@4qxn{Bc8CYev=_K6O$sl#n}2#HT7-jxb!SN)b^>Lo(l%mMb- zl{F1FQH^1QEKtNKk%|B_PXIDZak+W8pe!=MrrVy14sHgX2a~SxrQY+8Jo#$M)680K zscy?1!--MjuI`~n#uxmbve`~-0s_O8k13epDd_k>G^pF~%yuVpZVK&6xb2d zGcj^wK2Ik#L@Sw27d@I15;xpoN~{P}(3*c7Rk>Ul1$yGf(%fa z>k}M8+pR~(Uf4p~x}Hy7*bs)eW6zcV%@$q5>fx%uEt zqDk7hHAY#$C2>+l>(l3yWji+G7GG`oS%2JRvh<`WztLRRhbOB5{{WnWAMOQq*=DUg zcFQsSNWSOHbGH*gxy_4-eds%ec~+S#YddbVgT#AeQWqf&Q(f{(zDD>0p0vcWU2HlW ziUP2xB>48lN}>)sjFKA*_#9buZGG`!O`*uL3)uJY$t^7grk(rbQA?{u#Vzz3V#+9Y zUPs>nV~zAb{Nuz0EvIhgmHC|4Oz!3l-obLTMn1&T@ygi%_`6$b-`tb_{(tz9&8%E0 z^Ry8nm8SSs+~Z+PQEde$dTod(JGMnO#a+YzX^LVymaqzT#SI;Wd~shkxMHpq$#h8M zwTZ8eAf%Pt4}Gv*vQrf8fvBoS9_M-*V`>Gosw+$-0WQ5-%%kbZ%ab4;nfW_zM4 z7ne^Q!OC`WgX(a#1c6HB0kSUv{{WnV3^hAtJMoXl#8Wb`Fvwm+-)rZYZauUzM6nHk zJN3d5C8{gGOp02iHpPiv<8X0gRzBFPYPB91s^?9|%M>&cxZNg~s(?CRC5U$({jjof z^sP6*$)^UCII*TZcsX29ZILXQKa}msa^4-Xi5DU-tbZ=8Jv|-;r8dkitcNr&=EPs~ zuHHs=k+c*|qzn(heq#->MIx5CR2vU&xf^B!BGdFa z?&Mf4)Vz=OK<|;1*M;gD2mIr&n6IJ|%&}T?>FT-UKh{K6$N?j}F)sAmQU3s(W7ar_ z7jR6=KokPM@WflY_v7WBDq$m3)=}$nply-t%^{W2BehwGE7q#k$3_{Ndmb7kW_9Giq#d#h9QfQ z`_24uN#@9O2uG>8%z2jhi+k7P&6!)#B5XpFm~v$yyV_L5jB@Lj za}ic)4N3Wx&5k}!HfA?AnH_dqxyH4JO#p&M`6@v>uA0q4ih=YDiD!E(Z8=B;3XZs; z(ORMd@ckzghZ}h1G~zK*sBCS>01QyMbeneSy>VMy+C8;L!-}Xjjcz-2IH9xU_*v)& zzE06j{{Ro$)|=qAWe<0vLmNgxHD&|x$fO7V)*>8Qw!LdmRBn4> z7}Dbz8}`Q8kl?-h;Y~DHiZwor6t<{a!=@TuCb^pQsKp#ssJ{zx$la%tY-_)4l7`3x zQ0-h%P0iAy5NSzmH>&sTkwq$=yKRdjCi|W}@Y@i!G-d1b;#r02HYdR1H)9gMl_20{ z&8mD@p?qew2LahZPV{CbqLl5CEXq1`?l6|J^H0szQ4}gpwt4{Fb+3@VhG*~@Z z#@QJaDMq(=E;T8DHR5Oq>r9hWJJoEX_?3Hi$Vs$H($783%J@PD!l(iHjFd$NsU6Zd z0OP(*d7=;kv_F0VEtf?^hm8wvmB*SyQvhN%(^q24KysNEJ53K$4W8bvPqi{Jci9E8 zol?kxe1B&)5R;(QX}Ar9u^0!S%kO7bRB7p+M24}{?V8O&w|j$anW_#WF*!C!Tcx1` z++nm@TXPUQo|r*GOLq}9r)-caVwKMmCg-MDcW6LdU2vsqwn#DJ*)6-)CZhxg_+_FN z*DQ>B`&2an+O6T+G6WhWkb;(6YVGz$!^0*Z;~b=vKh|y-)Kq1(#DZ3t=B+AzLmCM) zAwATfj>Ao{)NOC$n&R)&Gg_^A!eeeIX6^g$wx8tVz$qMbP*(n6nTQX%bl%2P_^Ze-NcF5ze;M(0w7)hYob^)%RF5VkU%1f~4LaJ5+WUfD5(IL9IG zQ*SWcr^2nbe|(pO7#WhQ2bgDXf=-{W0mc&<6=v0t>~^PyK*75nZuE7wt;B|ntL>DW zPC(6R%oif?P#&E|Lx!7#tS>ge4n6!ZT_sKJ(lQTUo>|1vOoKzW1diVM10?V>y%I7N zcgjq+Y>2i;=6fWQL%NNCKe;ETVV7atu+C^cakh<$IgTVD28s|y4n%ed=9Oy`D_oqe~mJPbeMvWk# zN}8N4YQzt-fi#4>Ab^-shX$CbE7$kT7p5pyxD*^l^u!ulLMsBm9+(*eY^TXreuS*m z?Lc!AD7~Dla;Kwco@{$FQ0x$%p81X8&~^hWFtq&6nPOyFNZZFT_)jZk#0Ka;B2eqXzB_hqCJ&Bc{-4{u^S?UDm#livA*^STxqy~%M(u*}RuqX}*vLpZAw(=w`@ zMHK~pA-?!Zc_L$%)iolN>4g<*79t!mHQyq}lNUTG;Y?D6EmolKl3QIh0+EB06&PEH zsOoTAC1Lxe<=oHVkI{yGU`gZ02 z02<|(x!W3ivsy?==rd#-CB}pj1~jD&82Al$+~H#sIsiIhq^hCyPWY7Cyk>@jAdqQM zTal>gk_fw0JH7GPe1s-xe0^3QR8tb0Su=4o2YiYPUa2C70134i{y&hySd?LEo?Q+`k~UKtefcyX?geLD zgtiQzZR?+skXH6SL!$#AyRko70lf@+S+m# zlDkx9OODWb{3mK+o3@E0fIHy`lS~NPpvIN3z#KHCf7(2`7KD(VN=*lm2s0>G@{lu%MtHdBY9JZj0m#whr9KL(?`k;gF-Z zTn$8{boW?|Pka`(n!{igaV>rlFcQoc(Vz2<-bb~$jrIGLEK&GC8|>5%j#_@xe=b89 z5;jvQcRlMf8k|5m2|yldm+N{xrmbrBSLh^yK|&92@|XEoWVX%1B5=h-EaP$;C-WzHi?Rhp%}vP7iCb3`3@^ve0E zLq+hR1GPpWl~Nkzm_{kN0}4*cu-lZ3vFl3VRkpE^16OQVqM&|6gRmVikbt^I;-$Ne z*%o0!8GTbjLGj4A*fMgowmr*q-ZS0a#8M2D4|&<;d^d?}R6 zo3_#mENIzL>PGdb83>nhLRoX8o9X=#UUVHgZ7|c$ zedM(QAP(DCFta-hESgy>N_4JcH4=@AV{Tm>%A%F1!)*9ALp7A}^xS*oEgUOgxpa^yT#-z6DYfO_H3+{>RFlot zvIzD*7zn2LrdINn>C-84Vl5gYET0MKkSzJAmUZjU<&kPBUFBHsmj;6Qt# z9Cy2IHvV>OitqSdvYY-{T zh118gY);!{1UYat86Bn2U^#WlWE`tZ8Z$2R7056wgF}cdDc2(1Oxs6^mX)O|_+?UO z5X!X})?GT_9n`?U{n>sVZa!{LoAg_8EaAq%cli;SGm{JuxiWXxFBVmuSkZa`?U)=? z?;(c8CBK<^ifZw}enA%nLODOQf15M#ONr8Jac~v|1J!BVW>czMssXMkK-~k*xT?kY zs(dj*wVgR{*A-nMJh%FOSfK+wc^){dN^zkqfmp(%_?qQ24nzuMZ*F3slrZqfaNB5_ zF3$GmLTkUaQgJr%+dur7ke@L`tPOZMuhG*hnA+2Cr5c+a+hhY-e8KtT0_wL?5>DXL z`esfOyIJJ%`3QBdj%GN(y46ekJ{YMD`eiEPw_GXct4gm-q=Up@Wa(aul3;^K3+}kGUo?#gqkb3=tLyV1AQ%~1<}x>3 zso{l-Akc07S3n62S$Fz#A2XGYo9(>}D%r!tP#Dzy8Gsyu^FR5>iHXsbf663#P-Xao z58*GCT0%GQJLbSRB@(aW(+d?4pb`gsSpbAY_>K!gtSG@t90^so9DyeZSgOPc-vZLV z5sGQLVxyB_cEv)}+pa1bdKDhW1*T1!5lVEz!j{trONQ8#g?lxty{QHc8={#7RRdU zP~&L>b%b&tp4g-f*YV}o0%8;xcEZM$qN?;579psiCb(@Yoq~=j)OD@}q$Hnj=)#7a z9zOU|9d0=7-vXjoR+xlSh^VhjRS18-LOgfKPm?GIwSGxQTf`@=cll<%PGjiKR9u2z zHU9w4LN`5oiT#*kuhKI&0okiCzE3P+wLCK=#aloHN7IWS7K1@f_@Tsit`NrB8=NUr z6keGYLAuaW6!cR&wR|yaUd=##@uam*=K)sz`{e0ckFoEORnj-ZRqI@2%bSZ(SD`e< zkx3+jmDWVF4?^-awPg1MW)#biA5-~Z0@+96238pcBl-I%PbN!zei5U|XK)#;xXPhGP?u%=uN3a5<_>-FX zb1m@}8OD|Qh9p3Bvmlg7Qz!ySVS}q0}7JodEhqWa;+{GjA-po{P`EWm6m3FI$$7@f|X4Wn8IHICR7& z(L&&rsOwCHAx3|R3o$jOOetfLd{O{6-xJ9pp7~BM-j+QE*@ZUv?D{YAt^%Cccy02` zavLe=S2A%zdJZK0!y`Wvb zaG(@TLEi%+5Unsmd=3!38ncVk-L?a!M6x@CYYK{X#1s@GB{=|grbz{DluQQRJ@QOK z<3BerpTi)?7eiu*NZj|v)T`Hn5#J4>l>XNJ&wN-~0`MB5osTu&>B%xP$`qadB|g#}lTrrokB zJ?l>AY*>jqaChm2O5|c1qpxf<7T2i$YzYCyxYNTHG_6hc!b4>=pRXdq>3AV`Jv;m4 zxiYJ4g4L!5Jc{(&=aJ^f6;zBk81i0QrkYZarn`}YswR!40X{i4JsxlQpKT?|qo^%P zlT66QXf;)q8|A<_uwS)Z#XHjs+s47_{!^%jf3-}&J4t0CN_FPhjjn|>gn`fDAMv(i zKy_)Ka}DysRaHmqie-0Owt-=phx(qGad4ziA?xFWZpLDmUW5#T)qU9SljXBA%yfAD zHEEmds*{xRDnrh0Win38-3t@==1o&TRE%}y(-ugT8`NMdz*Ip(MgrA)r?vn!yCLtt z-I&uZ`$UyIZE1u0BK zjj`y3Xu}E~nJc95+N@T|O8R_{-A{Z(nutqoINVLnF+}P2Wcel{)otxsLqYVMu0_ZZ zO=7ooAOW^eOOzqpnnz?-K0s|>y8zutQJw`K3mOycgcMRobphNC`H>Rh%phVE#- zOop0Imrj7EDhi#>KuEJO3nkNu-Fj1?!Dta#4YdVZ@xV(cgx1a&c+s}s4W!3(Q(N1W zG@;1xF{HBU-9bD+rVvxZVJ*0`R_&9F$_PPziydi0k~s{`2P$+tgsGDx#P2jhkPW?}OjW98$L!``7g@@8Il3UrXl+_}gHo#f(48|&(Ndepx zKdUDLO&JA;&e2AGu)>^vCapb=U!2o!mKJR=HuW^#l*}UZ7{wuc-EYrGqZ$NtAbj&L zNzKsqpyczw{+Z*@X2s`K<8b@nDGGN8NvT5)nzM%)bh;t~AILOj`ZiK#I{@sM`sMEcmJFACUKE=Us%I z=&lLy+b}aZQQSV8rBoA?v3$w-;}AN9$n9OTBM&wtJZ%z{<@9E2h<0CNKNcYLI9S>x zSJdR4jw!S%jv%SUC0bvy0PBktw#&aPlB!-%(DultkbqUcRyN3lbmEj4utJ_fYL2HQ zLfYGeV5YehUu79p=6o_rRKj|Mw@`8=19fXVdOt4=L1v3(2Dv6BIr8fIj-VP*)BYqg z7dw@O_QsY8w~dIP;J>RdLuq+;{Ny21q$zHox6_y5=7Y+gEP=_5e+4MN76<-cAFdxk3zcyo=K;qAu9YsDYmo^toY*=GV8+wE7f}0M?U>egV zh^noA$83Wkvx2E=_Q+a5wRDJauWHkLji3cpxrQ2sQpTN*Oa%?yTE zn#qe3PlR|Jv=%g?=Awh4INH+tcuQ3HVxuD_Q<4`_?pyYf*eJD))bJ@2L&Ou6g53C+VXHe z7TqyWTm=mWdA^Zoth*H`MLwLsG2O@qYDQ`PXS$Jpayb#uR+(Rf5<8LFuCu8uCAf3sJ3m~N zS_w%Gu`y86D-ZHOtuXLgSTvA%(@}erKtU80-!H`;9!o9Q^r!>?x7s<7#?*SNyO zgiwN*0!kL@HiY`C_D&QiU0hZw584={q_$)C)%U?JO9J%2C_~7T?lTHbP<<8oaUTc| z&@zI~CfRLYKWgRVUiHhgD(t1PZsgoblpnW)W-LywT$sRMOu^@xgsE88rl zk+@N^vN0_yfH4A>EWr@+>N{agpe2yZJ@HIaYfYmIkSVoBCY0~^Vh~CkFf3G>Q!ENy z0)faJZ3=ewL`-BSuS^PzUaWiK$qw}mUdIqNV`~hAV#bj7veY19(bSK>B+mDL|Is94 zUC%?Br)C#%>ycu201-j%zG^mV&>is7h2?5bAEyzzO8!*<4-8m`N4H!G+^t@ivTXpT zz6LhEP>s$NW z@hujuKt~gaZi?-|_;MkwdXPx$d~!^J=)#sY=}x#3oM{RBv&i*11_c!@R8y(0Os_<* zRMSn#_(-CTm;{p$#plp%===wzA@Ch?$rfCbk1PfQg?3)~j&_pBS}XHPVQ-?tA9(<*Q2Y5xG6XBvN(<}21uha>}3&m@CGlB%EzYz85^Ose8z zYo**jPTzh+a|n~pP%BW8u>E;-g*3;SBm!G{(BKTZtHn`?O0LIokt-2pF}At%hQ^sp zw+`b-X?#QX#hb$+7ivl?Pox!d)cy3zrcp^RoBY7iTY4dO2E8)eP9|vEv~kMaU%e|# zGCQ?IBLkK-9R^fcqT;Ix9@rCV;s84BwQ&eomfVSId_FlQHEYBmDF6U)T0~HiSrNB# zdf>Lf6u$3DGE@=M^<;rsNbWRIza`%YECg&I=CMG*4Qf0x+i94h)NufJ@af+YSgW|i7X4Viz`~f_F(Q^diA4nbM+i2~Aq?@nn+k!3 z&?9PM&{PE&Noh>fSki^Yn$#k+C%zS>2Gg5i_~EqGsmZ051&+tI5LCvOT3DKz z_WW`@Orr}&E}o%*r4M{IrYWQvKw(q3IV)?FRW0o}ni02b5@N{om7o;LZIEUbH!5P_ z$EYCv**LYxTf{FQTYJZiYeLPx)050xy(m^Tr0zD`G40&Pl2PZHwwfa=`)X_Q%&jjn z=sQo4dA#S>K-+;qsGv|Dl)wkZu#xhA5ys0Ys?%yMjXsroTU3s}_Gu*o3os0xu&*ASj= zDUk(Mg%udFAQ=5_;3xa4SkHvL!w zF!;9ce(=|FN&D-YFyTo->VlnpvO$AJf``5-h-sURNXabQK~uIuMGNUxvRAxWEvJTVkWG_?2m6D}g}$)0@!Kk!WCQ3A$q4Go$9?kz zxi4{*1qC`}RK8yP_F#O=Jvs$ieEuxV)ADM~(dOipqj>hrt8q@v79YnAuQvxB#sqR* zziqK(IlF9=64N%@Vy9+-ufMh>O7?mR4z>m&(vCJ~$M81{LPaAYT*%X(Wf6hhT`Z^>r z(xO|6A8HEMEy49NCWGazUNEPS+m`v9;FPYF6~cvUX$rMSsKQhxRpZviz0y~?NGJpUsDri0Ot`u6OpXLqatpY(4sNdpKTHxVj5}fPbnwNKxqWxCd zFq?b|clqFqQzDapjqkqFaEha{{{UQ<3st4Mp1Cdi18~L1zDx>DrPnf7j4QoOY2k$t zHrg?biZ;OX#hFIejRk95Qe4sctHkf&gfJl_xwkNa57CPvmsqJYsPQ}Cmn22%-bII# zaT$R!&+AWUroA`rx;uHVQd1Q7}Q;kOYrVRK3TGhg+6ZM!A|?* zY(Uup+JPsHJ|WvIrXg5FXFS{Pz@>bas1$`8;VEv`O2!9pcfi42zRf#eXK8%QzNJRS zo8*E>MOq=DZlb*~FkCCT7;+Nr(jC=Jciq10+!=b@}@>i1A}!V1X(TzjeA$7Nt)xZrYu@t zdVzYcdwUbOx8X7H>@(}tf^K0ZvDlLyA(*Z@ItH@M%dhs6WWUM7;US7Esi2i{V>~6itz~LL9oY( zOj>Bi?2X4gqd~1eKRiibLM8=t*oxq` zvN|J@$w=j1xoIstDBV6TA0v@e-UcJ>Z`%lKo6a@3NSKrS#Qo{i2 zkXE`FB^`@oRHEhGXfUW#SEv~@D_f4a1qwHhKrup z^9N(!6)2$rRStK_F==KE)3z)f8*?F_Fai0 z1*!d!ztNasvE<+LkprHTqrT@1KBV+~vokUH!02d3ZG(VSTjHVZhS+smI3VqiW)VPq zAmoB=SZ=u#w!2XF#S5WOSe!~jn9`%U!WdH04^z0VBby_zUd_v4fsMLBLrj|WSO+6P zkXb4dTu{KTW|w<>v(dh*SXE)3OfZGtxkG&^LLkW)wLwg6Zg3R4=c-SC8) zArPyXv&ldOYmg|LSGHjO^zTEk%FMQ9!){wfmDLDf6jGTWP-437 zXyaZHtrU3m!)$5P_1D${gYdvgX=AFL>(eJ~QVJS#CB?{IfOpDdTc967eoR3WMR(W} zOv5du?53mz?kR;2l)pRX<>p(l+;LpY!SuD}dHNcyd-u$T8K*o4Ba#8Fq>#A4IkGB< zHm8OXk>27ru0>W6zD%)S$8EmW3uLv9^zVsJCCj(#$f36#4{T|Q`tubXFjFg79+(O# zPDcRHWSEu4VL?y75Xd2|!8d`sQ!0~uL)iZSF5#^QzF^3=)jo>T7MAEeumXbekNL>w z4Pk2!KxS(F$1K71Gdzpt-Euwobsa042LU8KfW?YB))2@^=nhE%6s!u=4Z+B^Do*~Y z)E=0jt5jYmk*V;-O0(Q7iWj)Rc3&k1iTLwzw`?m)6>ejW=ff38SzFYZiTJBPFcb}n zCgR*oq@LaUG7POnVQ8tu)O+NWRc?hzYN;MMBuAPTRVvZ*9k4S=bo0*S0ppChAai>6 zkuCQ>Mr+HG`V+~i{*CiHeDb0hh2DN*ng#P$;`ADr$D3q1zA}b(3JimdPW0P++C(^0 zZt`-dU3&J(Qyz+XR6Lj0f3|w$iE9YtP_N6e$fU27kScnf*a}b)Kc@5>3@9NSE&&H` zrvhy*SW8J?9FS0(T8;y*{uvsyRg?|QimL)Tw|rTvL2VnWD}ABU0svCDZ>s}d{W3v~ zDA~g$$HvSUd*YRQ*oood9YsB>l0`rN(~_lT z%aC?d{KuVQ7FNS@Sf9rx82YRzDEirU1-38)+08RPx_`m`gQB zjrJ78Bq}AOiMbWqEGQ)na~l;Rg99KKo~>gzeTLmWSt7)x#@b!ShfEflQu@CPZLEbB zl^g8#HT$u(rAPxg+-;JzA$zfpVYwL#ND5yRgqIYCx09Hapm<*EA+NuT%WQd1mFiR4yRpZxK-@^IsR-{+ zqXju}EGzRe=bA@uKV_;jGfMNFqHX66oIXF`co@lbI1`dh zcdiEnk!__a0NW6fo_T&nTaS!#1E|bAu4Wh0pO>Bq#^t{Apb3D8P7H$jB3A;!qi4mCCF zfRR3e#q;!I~Ps0B1aZG44g`k zg%)ONs}3i%MoLA9jkjs#=`Eh1R2|M%PRIhD=lM$??$mWOCv2gdp0KmfgzHn+77vvF z05#OfuHF;7@~wK;_H#E6Cak_}4h_j)o@6-ApJD;Y1k(7&5s2o%FGcEcEr43%G+O6%Z0FnBnkC~s5Gwi$riARjpRe= z)D&O8AcDAEY(VM!azHS((auc(6~I}=(#|-MCvKQk2R8}P_w8C>WD?yXAZ`|(J7g!x zoO!*k^8Eo)ee(gyr@r}2R@^AXC@;;6kE!`zP`E#6LqL2m#BSS-@wC?-xb-`D=FkUQ zGPd>U7+&YDK_M5W!|9;q-=-U40xi@XjwmZ`&%s0Xh5)HU)U{V^l_42z#G0OfU@Bbm zDoU(63{na%-N!S_r@jcXrOmvX_89_O3K?z$cMK1Fum%A`P=BqmqVyemViu7wh@)B! zsnp~x4c*Hh!$%)!e_k6+KmXJvj8d)Pn%j0=7goD<-=CC@Q<2<03;L%{SOV#BM9sDU-U>eJFic zIzprG%G~I&TjA<5FN=PxuryE2kOT13r~q`x9&JGjArDa>UfC;RQQC4aRpfRZee#l9 zLnXC-L<6=|5<^#09hG`_rWFX7mDzx8{qTiMQaT*8?$%Y=Dk*@V1TDq4B|aD<$-E?& zF#IRqEG>yd))jjG&I?3Rr$hv$39i{YV4}Kk?6g0tE3{Iev*Gq|g0!sKdpdyUuS^9c zO|1Prhf|R(ElO76XgXx6g`!}!T2=aF2yF?Ct)S(|cgY4or*_dd5lo3}B@^kMJWpI& zuXLvN+xL_mvcSqkC%m^st5ENSsV2LN(_rJE$ya+xDskE|YLmBLo&u0}MlGOl3Frnx zt9UAZqs(N~b?K9~VaaAW*1Hb4ZG&%VQOSCEWl5&wwb&ET^~o(OMr-a4Kr;!IrN5=H z-kmZ^Q#)bmJq>WMMjJi=lh?K-tn*9fjMkri6cVvm(w_MWYeYgFjcfPiu|&~U;kga^ zWv(?Lb#!(v8-7B$P}sSU#U;gh3JjN5B6Hvt@-H@O-(1ulpJh!mWrtw$nyp6^ zl7F&QT{IVg7 z<^KTBFs*$%AF^7s%)Dg>ka;QvS`_FrEEf!{xR83BzWi+zw6E3&uoxDVq7+(Wtsz1a z;gPm9j<&;VNPFI-WUVx(WV99Sg4C{O+~BoSp?2guU}g~n7a^%ZivksjZG@;4u_E-_ znE7C4Q3z?d#fqDs4e?`4&&X@d*Zpz7)6+0D9NmTvPq6Ku_iOGtWf40uFB<;s;c6kvv@<%N+<<6b7X(hHpLOi>li+(t<~8w=QV zz!)m3Z|{cEIj$?cFapSe?@x)QHooP)oi@O<+2{v`LX}WPE51xNTWpc1MkM%TP*p@I z+o-9=*$zp@hY1pztvXZ3F)}$&=K5#ID6#3u8*~FP3Efq^_~$eq(q zn&-ClAS(&u>l5$v9LxuHvJkdk0(uN;!>_T(lEN`V-dQ|{_gkL$M41?%%q|~~N_NTd zFcD;WR-78XxauiW*n4I^Lgc_Fwtio?Ho5U{F}ZISrCMK zLcpuH9qW<>u9QxhA1_spA=f8sNC~1W<(4p}y|N^=(wkWcoQI2IDbs8qh6Xm(otoOR z^#|J`PU)?lqvS$YjF27ta1zo(&=y8;J$>uplD0JYr_Xa4wL6-o{-Ij?cFf#mjK_Nn zXb`^L^6PP=JJ9zrdP2E4mYD^SMOCgymNdJKX^SAx6f`)ZE~QD!0+$8-uM8H2wX0O) zY$>MLR}HcWMcZ=Z*%FnSa(rV1Qh6ubX|^_pJM1w{rO=T4>xwB6pq_VPxmHe1@aFfg z%gFxE&o#lypEtW$MpiHZrq}})g8u-{P{_th1b%~&9vjy(aC2oprSskY07|z_vn)FD zgB^!#y4KS>VZ}J)N*a;tGMsG$DqZe{zn2iq9hXL_=x^Hs7urkdN6W_)1%P_(^w$F- zj%a=#mMlj!7c#_;9llsnIie$vjAefui!}&cBQgZtffHH$&4Rn?T1aKPqib zxjSN4=q^pt*T=S3GqX5zd#~m7x54vl)=Qh59_!_(c-xO`h-wUL^Umg2ys3D@sp2V? zL+WxMclbUb?9kWa}iOYNkm9org>a1wV{(T6V^jpejoC9q|aH9pU(?+X|Gw z)G9cRqZU!w7Z|E@9vGq4+*x@azZ9ZY=pU6f#WvGM=sEYukf~}K$;b5EU18D z$||MeWafM1X^=xpB60_}A^P%6U;ou6BvdKQTe9Y+>{Y5VDi`wKey6qo!LZa_`<<~2 zi)_8|3>PY5TMs46QfP5v6$qg#k_o2GNUHC(FqQ>n3kn>Hs-ZObb;vdbg13)T*Ax}w z;ix-f=7zwo=PYCwY%&Bf>c6He$ZWSvCu)uY=})Fm^6KT`sO^H)|l+Cs-TwHZWH2KcFJ7v#un9H z6QZ5ku-R@ZkrDbthn~3k?|XL-wR(=cxhj5xlwW=nZb3$d|fgfQkmLLjA*?N zY$Y_B!~pvugBB>GD1~amzS(GExuq-zU~wq{t`!7gl9b)rkVpcUmcW90dMO96sK}@( zGg(j;9ddSu1XfPFjE$<8gek9FQmV|9s2KHYDMiil7NSzU@SVHgc zkZ?0(7Pd}T;OXy?DYV+k)T)r)ITa;+-JvCTnke4_gtG3$?)B@F2|J`0P_wZ$>Dwg5 zCe&@{KAf?~AujsSQ@+BzawIBorp_gB3CKt@1vh(PAOo<6x`BPZJyN(pj$`1HmsC%QJ;Z;yv+WtPB)Y7Bj12>5vIiEM`?jr6i@UNk=u zsRotE$D4kj0w}z~f6H6Trg;p}f_}-RKK$7DfIP?L?4gh4zNsAov}4?4{6XHn2MVG5 zw$%$BE}Ta6$HX1!Fg?l-`E95XR^kmd++gDf@XJH;^8HX&gSOk@;~ne3=)W)ZAjBvI zyL_`fFcmbH^H%ZhZi+Y`YnyBF4`$eZY`|lZeFRk9!l2 zUCqbkE9evfZshmrgTx)|d?|M?i^|%9SN$F7-0g$J9qpb8?kY3+UjA1r^>^5NWc*0? zqr#VRj5-DCsf}%<1a+v}2Z%e^oM*Ye@a6M-KUaEp=rQpJdiY1VaPsBi8hR~3-j&1R zN4z!+XSrTI2I*UiM*jftCv14fdmjwnCgjs52B8|CBZI^p>`pV>gp$VMfqgdLy$%sE z-jj^?EssvQKe}K~(SXc%vG9*`S5`AX2f|O$lM@PYp5|xd7z(sLpej8<*XNj7jh8DJ zp!)F`g#*A0#Rp^;kbllYBG0GBiYjPE-#oh>(q&s0%#+$UAfCs6_OoNgJKR133hzLZ z#Dl&(K>`Q4S}R^ApMFl)gsPFm8g|?1z)d5Btyumb8)oT4kmCv9Ao5g}8Z{VDWTPNg zgsLn=H5YtshY4P>vzm^b{juT;O{@$_C-2I{gJ_9w(-f)ilC~r@#H#WGu1S~;M1B_7ib5%tUiVS$0V-m?cxiFRa9mdtnOpZn_Z=-y(BCedG z9f%)}VuINqfb)!xKASxo<76OjlD*af%fnX0!o0U68qj;?#!R?YO{TDunt(~B{@(aF zkRVlO(xg_{9sDukWhlAq08u1>a;-P(k`rO!t3ktecKAlX4w)Hl*$|CQQqI{FDcE)S z3 z+zmuF+)Mg{Vmvxzfn)--I&dliRGrVh=LOM041>$*^;)_TJ+URKQDv6;yOat|4J*D& ziK~U<9&6Fw?(S(7g9c+lHq59<2E2?K>d~#Gp)|~kam;I)obd@jO4H|-MXb{CX|*fv zaFWK5#sX?OWP=hE$TcLIfs<Fxr5Gyd@T+at2D+ zl$Fv(660q+aWq>v9KLbjFzzyHIxgaMC1qR=Bwcq$%4gAgGW^;33 zkZrKR&yq&yKdA)d!2C4aVN%zZ6dS?BP**F<$&@+1fc(3Hkn$ZlX1KYJY|u{|Wj*i& zF(1!O{JAAJ=O9{r8Du`D$aQ>+EntzYfT{4!ldh7jv_>W2-k{SKu$wHP4!+oIBo)Pg z6egGs%=xX6J`x2maRmUR^RriQK8$QKrFU;a5}@_|IBYNgtw&@^0oNN+uV)oadNvCR z9d#>BRRdwyBsXVPmPQF60q}#72AEM)k~U%qG#(gCftzgKeR?g zjlciaCDQaj*K8>pZssq2wu7Z0)l!xU2bay2*=t(zp4fF$jb zM3p+452qrP#Z(iCW7TTbzeWTqssITd*b5-nF8z)vWI7q-qGQfRe~XaKLu!ga)~l&+v7@&7g!gGKX%562t^hP`E9;E1<6D#<^Hz zj<%DF24A}gW)r(xq4r6@!jlD^S!>s}8(~eybw=XD<&q7H`B3ll;UyG@yQBPL_Hczl zIw`3=DT!i%x#Fq-8(@yi?J99YKt7yH1tRO*&}4%!m0n(O44~{hGGH}HLrJkWPtAv3 zm?Ts(MbNn};+tS)NUKdW!9v2ljzlCB>ef0PuokjY6h-O#Ckhm=Aux_>xjhC3aVd4_ zVwE6*dthV=K`Et5u2~X`OE2N%gr27)OHxX zcgkvucs83`&N^4FNR~%;6jowuxXH1#!X9f-Dh^UbvZQ=A+!B(ur`r^VtwUjc^y5miBm*3k0rH@Q$jj`vHA^BliMcU0)9t77A7|W7zs37!x zM%a-}vd)Qt-A72$#q$`L&;eb$-~n|~*)>0w@UaJ*kM&!((~@<3OONG^y9#=;5_;C3 zh5{4B@A*~mKm2?;p9%~>M-q_yvO-GzX~6N~EAq<-MY+E$P=H0#uO9^);>49R`D6$P zlahO}QCzHqg0fG`CWsKX6>k!w3{Xmx{{WV3SOvJPcRv8zB_@1GS-&iqO&06o@9+v? zwme8nkIQLy{{TrF@Af|qxTex;zstLj#H65s?T9E({{SmIvvsCw{=Ci|0u`X~I7wL@ zp4lyUR+Si93&uRr-cA+>|iKx7XtFsW^n5gT>?}RbqR!<;mHTa4JKIEF< zE5zL2m-mQ4s*&G(47iln$X70TigNkoptbQh{$Jkr2~L1*(;}WED|rg@bfN*@rbv|9 z8so?pjkr}Ty(mXdry*!1EV}YV;7~+h??brhlMO1JwkSGobsq79!mM^4W z-D-R?Ek)+Pn>tkbjF#yF7Xzj-UbV8I>GntbEijDSTQV@M)Zg;@=>5AgKSZLTuWU>&F4h!rS2mBjjcb3t6!{^jxTF3lo4Sk0x=CpxMF`ai?TXklb4oD~mzrIc*W)kGW zX7d|G4+i^3r?zB(;}VuPm}M(ccm6qTG~0HX+sXE}$Az*oL?)pz_{QVIA;QOr8E3C8 zc(D15i4CBqcGt$dli*S}2QlRq{{Rs;v(*|g`_|^PIbQ={nkEfO7Zi{Xt<)T9n|PJQ zv~RR;+hsr31tQeVw6&_f{Q$%bnA+sjWVNUrd`|djh*h)m7-r*I5_dE?8Aox z^l5)D?uaX~HSdSTQHjmuE5+CasQ&;f2a3KD*YY-?f}BAg>tuXQ(jl^i-;lKiU$7`m zKGsjgYdGyqKQ1qL)S&kGslFc(Ml?9`KB|gG1?AWV1YtQ4V2-i!Hl-u1H#{M)?Q+-* zfyj}GKhi%ctqQrG^{`CyZIugKRLV+i!-OQdhw1g!_lCy!CY(=9!2 zlIYqc-M!J0Wa5BqYnDz{8lw%~S%C`je{1+WyXPXY=Vf?KG=LkI8-Fk?p0JOOV_eD^vA?& zmKs-kY2r$lTvwxUKhqfHWN@g(YjYvpU+Gha#b9ynjT%$zz%_g9aq(IBNO?5dfTe=9 z2eu<431YP%p9N&EhT!C7kscdn)sloRSrR0&!l?5kDct=B2_h&U#8L%|+?psL9FL01 zF)~E?Y67>4DX=@`bDf644c|j~0xlM-U$R){u=8>Y*tAst07p`KjIoQ)f9D~k{{V1M z#v6|*!9M$YWsv%tA~r9U^*d7>ib0{RM){q`ZWjV6R<0YwZ-O(m;6%+I6%Ce<0}}-$ zEiTmGAroep@bHCM9L5a+<4y8n0@w)OJ2%6(j!2ZQKv42-w8(>MRRRSZu!d20q-(!SZHWurDOO(Hupwxv zJi8oF6;%ZYID(}+(7*uXX_cl@4TpjKcqxcba!`+aZI~_1;izfm&W{!d;8>pXG_h%Bi!M;WE+ZQa7Ha<(?+x-wKmCfV`)A0$lysE z4Y3;`C%Cv+*OhwsVs~drQ_f3qUfZ0IP!h||Mx=B(XbnWNKQFMi|dL`xz`5yei`!Wa-yh9K%HHu1{~$O zoyJC&in%sYzh`e8kn>Lzn-EicL_lOFLqZNLU!gu35<8Q`R{9j!^f)(L?^@B&&~!OE z2;w~&2tf8ZBM^=vg1q5hi{kM1$PXr5MJUv+DzvFl;4-oWw*rygYAI|efU}XX=y7Hw zN>WP7eMcQT6I^#~*rnGO=p-~1Bf|jMvXK7(rCpSgU1%w}+ZH5%hZk=!sv6U+MjB&b z2{p`8AB})LXggs5mLRmc>nI{M*m%~5B~;3gvg(v#`v&W_3MFo~V|tCjxKelq9rYC7bBA)?7CjlY#F?${A5sHdq=Dh3c(Y?)jBUE9ui#dSEZveKVU zPj<6P%lTPsH~Q_t`Ko_RMW>8f@A*}5l{_zJ1druhcVr|KCj6>?G>ZNCif&PV93s|I z4o}Ld%NlAffYP)^27_#I_X= zBGjhx9n*g8sl@f)5hRiwH;^vL;jtTaBYc+=9h7JMzq=)gRVsXN@iVZbe=qJSMUE5W zu>P1h+UOKH{JWWU^ke&n^vH2C*dd?t=Hyj`NY(5|Op(fZAb?aK^6pv+TO)Xi3}cY> zO-HIi|aZSgxijl7PNlRWlJ&DiicVaaSObz$XL z7|_}^M#idWa-lkB!s$GlZgv)xAL_Q)M9D#ox*sRm{h@BlUi3Y(Ms&zSy=(bS$=Z(t zQ^Sb>{n-(cNjT!9{ztHMAlsD;JP%AhF-HVdBl2#Y0um#2193{=If{&NL(k;xK4Df2 zr1npkQMpT`f3O96_S{{RQ+gLSAR(tyxp<2|=zF@mE%kTk|Tt4ej> z#}ABIcu`tBou(l)ayt#i-+lv}uY(&y&*g160t*0Z)}s%I8q6&XFP7{>DD`$H`Gy}D zG2wsz&?u=pZ9~^JE_Er(PzfEnU}hHp8AUcYh9p|$Og5g2qi=}UuWSt06%X*9hrUYM z3iUvvi0U#8<;AEzc(Gr?fKv+6?naf{BgvR)Yq`aYg7n+~0pAuYkHWbnC2$oRcE&-F z*}|aGxCYB>!)yrYjWWHPCwebTSgWcMz8C^jskzBDDjJQ~tunCKcTMylN}6m=_*FB0 zpCg5jMIs3zyW|rU<;^L!*o4xG6DPsj43G_}I3lat2x8r6G9|M1P&Hvy+L zzC?3RB);cha>k;^fdHCxt}9BL915tb+bm`m1>fg^AS%SnpAUuxT#+`ZRyFE!CA$aI z$bUvO@$og=vCLa{$sBNq!TI7#iXBcs`(z6;T0|89_sFq`rAZ^=4KZy%so#7dlC&2e z&48$KOlw-xd=$+x7gZc9vG0H|iYhy%1L8d~Z6Og2$s(=yVi1dppavZ~<&@JRr>II6 zhQAQ$f-FE|_gC!Xuiut3N$zfaW59vLboMxgWl9mq)b%*9wM|Cfk`@#c8DvXTlx*(V z4Qomagttw%d9H}plM_L{5fm9y8M^$%MS4gN5&KlzE%2?y$*JIES`V3Fyj6JE8uX@D zlN~o>%q6=u()D6ihP!1IPDeE9ywM@o#}=#Q_TYw;2#`h#ZKbnz)d>g zrgn<5)eOHASCHwI(=ct3>9Z+sP?Jz8_v9_Lkig)9Q;7{nX0BYSmQzN_5RjHL2*(nB zEQ4?gYbjrbwZK@Nnv!#|A828TVnbIK9Fv!PzAh}Hklmg}gQ+#HDFV@2a4qxk#1=9X z$eWW|w-HwZ;T|U@(mC5X^0klE?GX(tKu^r|#5g&nWiutBN=R7GKq-+N)|(re9G#+;v98$?l@=Aiypr3K+Xzi1S4u@|idDR|@ZK#? zQITvsncEGkUY)YejVyBH)>a<)3Q=&NE62wol8cRL*S1Lt=(RXfs;7y?ijxe2TnHGd z*-v~`a64gDL%&Rt9p4JH5|t+a6slZ66+Q7vgp?a#DJXd(qSqqGC3j=tH0^?zrI9Bo zmYyR38>`T5&c`kcQhiw}`}WG@8H0S*+r#(xV!)$gPB|u2y!ad}O7eN^Fcoest6Wf9 zQQH7Y_aI?aH^`;L)QnZ8ARY2Z1qXL{s~YNw&_2YaLo^YQ-T98Q6o@<}s!K(r9i{RigcpH?Bm6!7Eg?{n=KGl1GkL zOo2`9?-{Bb5KnxGW(xB!K7exZ$ev8WY!xDhVtZf#kvl26EwJarSFZgsOfHn3Q!e8xY+DM0Oe_j0aiIfj zX%0p4=yG(nsl-;Duu@f7M|^2o5QEoqfi3!U6(<7P@PoMD4+<9WJJi=2Woldk9lPLL zbE=X!*1qE!O|4}kY!tSJF_FH+`{AXu6!8Yw3RkW)i%PD52ae=;VvtbwkdIif6yK&G zCPkdu4lx0i27%2l)vF*1X@Itbx+FbnYmh=NH8kFy+hWU&6BIjg9ddDAB~qkxBkmXq zc$X!(+hJN$rZl`trqyT_fImRQgmEcJXA5;f_Y4$~B_`7?nDQ~H`KTuW3F2CGi%@DJ zPxuj%0T!_7HmYgpr4Hxe9db$HZFEaL`9T@4`2gTRk{aX7HZttcLqXt!8fC<*_UWSIF!woSFnV5=o z85T=b7z(k)j|Hm$^*naM10%9+peYF4wyB`X$_Y&ywn-IAPJSJ_^t$&6B;sUk1(;#69egkr zO$m(!For{AN4RDx0I06`DKXhF7cPJj39i^Fktn!swmVZ0z?57%i3&$imfHyg2BoQr zb?Jx+0gqo@Qj|YVNspRbF9AJ%oRSRF8#?trMhP{QLf=Y#D1&ThM^TZH;@y#m9GSkA ztp-iS4#4ItqTLBvHho>G#ZOE;EzL!#@)Rd=j|&4TOSP?3EGCAp+aw^;XG|VjPpr-B z&T2XjY{+rym2IZ_tc7AEf@_f@W^v}5MRM0a#<&A%-7rEyz zoWi@{lQ=R9YqA9tDVY z=ERFZ$#z2#;zlAYPV1(+sN>w`L|kb~khJ76J18jYC*pc<-y;x-mPe&HG6hrLET8i7h}mIqvSE4bHlh?52AH?AtSVL`SfD*>n&+5lW*z{=FjHQOV}ZDS3wV`^j& zFsj#D1Cms|mbEzx=-JIKxmtDKB_OWy-M>4^AEO|qT^Y$rA@T9c8qy~K%HKSRUTX0Q z3=EO6k=G?^tq}tSu_aglO>ok!W#8qBR9JpE(zH^8d{q>kg zn52M=hS5DzVjx{gNJ)2&4v`$4!YD^dn*xTkaUhe6yy3jRhPJA} zS*TyNT!z9v!WvaU0f0~kORy25!}?)tJ&L7s_p#(t82S4DE(L_1%z>D{!jx<(#WIve z__|Mf*54=SR!QVe1)i{64?SVC!$uXnU&XFblJ^JWEuTNGQK+{qmak9>GbKvNv8jk3 zeoL0ob$OC6vDXz87%eX|B1*ElZW!DMh>Rfm>TY-CAjR#DT6w$3HuMzyMSK0v^~r3pWS4X+GvZmdY{fSD>HJxzgS-g5ORS8 zDJ9TXPz2aB;fb4r*ofHt=AZdCkTf9g5so}1TzDp-Nz-uKYmhr>_d z#sM%<$~K-J#L8OIoq>dSD+*7eh$!sZ#XREz4UpA3GU)h*RB! z?VxJ-N@Db8E*axh{`kJ zjlPeFeU%8b6yHFJ$$T~?s3=N^Rs@>04fUdR_3~IT`ElpTaBAp1yEagrHZh1bj^}eG z7Mf?<^5;MYMH1h!tpCn$q8Bw&4hMyxP8-lO+L@-AQ8*^=XjKVCiFpR?az~*W=b5%CAb{QgV8sa2Zj+Y#z;6{p?J1FXoI$)h=Vk}T6T~rW+_50%_6rn_%xoFX1Htc zV-{LS^hrn!q2}zm`Eb8Di}MSBEN8!cnArqEG+&ZN6H}39=^Raq`J8x|%G-CY+XAS8 zm&e?*6@q$-1r3%wJvJ%vT>yal3ljB2sr*U$xnKJuDy)rS+gM2z7XB!#D$&I<*Uqc!X;(DUwT>|cqKNgoHS$Tz8X=XFY)B{IojsDA;9v+8#Wxk(9c*HNg{7^DPv_!B1|><6k?uZUsD zb?j^Ey9^PINoUTZXj>0nEO{*kQQVW==hDzUI>J|7TWXR^s5MX1uJDM>y4a?Ai{%r; z2<@!_Jr+g)fA4Hn&`nUQUB@5)TV6u+L&`NziVc*gLjh#^Frb6T0&r&O-}6dh8Dtkz znofuv5!5#k`007#qeEzv4?!~jEL@_pArz@u7@5)h)6Ovy*5Xp|+mrz8*JKTjn?s9@ zxjEq)g##T|<_H)|oCDBAcgd|J3%}GRki8u2xJXxIMLVn)GyJ0*B#+czcf3w?J=~z? z>G13j>a5MUp+qITY@oY|!bYRN?2)$N+xE`fw#dmcyU@v=g?e5%52kIhRCX=+J7haE ztJ5gP0v#$IAIeB6@8FNQ4ymCjCtY=k9xB8XSNW{5)C@OB#6A3@nn=x4ZIZ~>7}X-= zKcb5uGdqu#TA|k>U=f7g>uVz8nCPT&^f*X?jpYWTmBQq~KlD)>8~w7?W`9Z;O`8bU zb1jdX9cWs2<^*3}AZWOuu4|iCAa4PqE$N+b!zN6&|H0OL-bVuT&{zcveJ3fWI$u=J ze1ukehSe~uVODT37ufPQ1EKvnu19M``nUbFInneCEZ6x7C26s+PiD-dn}pX0ookgp zyXR^7#YvarYkXNuYVpux;q(gQgq9r-0_nL5FIw$ygfpeImQ9vCKJcmx(2J3o z=m&<_jfMR=+>y4X)9uotM%?7AP&(`fF;mdXwtfP~(Ufjsw+O-O7zS+ZVl@N1pYqE= zBl3>}{hn?&v6pfcBMe@t+)>}bZJWM19@Wbt$&QKsi{9yvlFp2>%|=eLdq>=MkMk8# zvXW@*TXs!rJ^q_Q^KclTjSq8^@{U%s#*)X>?T-~-f6_+p-r$RqD6e(KsZ}b6huNu_qOByGYJ*QyBkT@LR#gbw{xR+m_ zrgFHkmzvkZxn##c2_9$uUNx-p+zl*St8lI9`2AS#4- z=zeTE!e^C-93zrzR~HR2YOsg}Gk59%K<`psx9dh>faZrDFzs&Q6pQQu0O0vI+4E>` z{iGU6BeN|EJt`wV@_lC2Nm)V0+?H?O^kE%1-lqHe4-|8exVOftv7hwHfYywH$9Jkdzy)jKzGP{JoH3#3DWWw3jLU;F7SDoSe#ZmTg zexW5}JozvVK;>zD;Ee`l=s%@_64rAIsgI6dQFGX38fO0Uo^hblN?Pq%1O@!AcYfMI zNAQ00DKU*Vbjx-@nr#_H5HbFeDDdpk>n8%((wteq#EA3W!#n6He0f3G(Qb@T!i-Tr zV(cq!qaGT10u4P-x1#E?Pqs<2DE~P!oFn382aqCqQ?|xVK;nx&Zti2iW$Dza23@u= z3Udb46{mMWGbqWH`%Sq){?;8&$Hp-U?=MUxWvN#wEIEF#hM117AIt1y&qSJ!ju%m_ zcY|HTaF&CdsoVk;F0bM&3kH}OpB|m}5-LuNsc!KDAAkJzTVUdyGd=!fM9I%b%3*gc z{~^CYDH+3#7^J0Cu>};aDbHezsaa05u1q{%jM8g(qA@HT4ncb|-~3GZp;mro%_>r@ z$HSx~UGVkSSBj#WHp#=J)FzJtq-Y836m9EwInE1|DVHYrBo4wvR@TKmaP$o^X++;) zG|R*qP?C0gK)b}{MLjFo>B*0#vuvt?4iJGtL6J&x9IdH8Y!njQ5KeQ%>h;H0hPrY z{}o&GA8KTY!>$Eev};sc*9+s!E5NT(so9^>G}I<>-0W~Jo)ua5lEl_elz={NWvUv` zBeRO&gIQIPMbE@GoqpIc?py-LYXun>O4x&*h`(@jc0@^l<50J%EUCA;b3 z4hXKJaKFmsp1KVZZyn;n@nxKF!hHPyPimWMf+s2T$1SF%52MGwzoJob*4x5S8*=tG zu_(cocXmYUB{IEI%!k&?NC(3*RCSz7>;+#@t`67^irK>#Fc zO}lQ)dtR0y87PZ5_aRo)Qd!|s^A(V;_s}{e-FuSOTu3AE%Q*crIx&i`=}Qk+hkouz zpi*cT(vZQLNKv_PUvDq(cMf8_`MaEnC7U|G?}y$&+I)D$ovCEKGSOyQpUp$CS1|Qg z^cx^uEI=|@+gF-R@Hun)j+Sk%8XID9dVCAP&*HpT+U7G)8?W$^7P?nE!EOW+7pIos z@&Ab@_M)44(4pZz<=}^Xp=CqNN;(*L<|p|z_gEIPnX)35G2?21U8ijbBg9%YHWPx( zzX3$D_q0WdpTGqjS4Mb8@tU94qyD^@B35CE6)~?kO=Z`x$)g@he(;b}+u95zgwbe~ zQVyAH?&Qjm_+Zm*6TjXsF)RZY=2{ii7r8iW7X{alcANb{W>sot3%`g8cPjtp$DeG$ zL%+zrf>BRU7wOOc$&WSFJ7RklYWZwPr$JA5OhO@>VBHW_)kcO(t^OD$g&GHWWN@Va z`zCylf$ddkgCQiX1~z178Q!%#@h$eI`y$!Bg7AlUbU!8O^RO4@B36% zjewVpxhv|Nv557#l%YCJ7D$*7DF+I);hYK)lgVie#AurkchMFW4>U3E-9#`GY&5vAw` zZDFkD>H>oJ1g!uWH11$27cJ`?E*Iuo^i5fkIojp{#>7STilE|4eN9tp3Jy$)$Q{-6 zZmKC*+j3xWM!xwApuUTHHit3u97!QNsHVJ@jWqZ4#u0ch-nxOE6UYgD>>Cg20tCpc zvJ*D`h%=s)eXp4R%r`ikXWkO}OI`0IoiKwYJys-@e-6D8zRFwre`gbT_`k&j>RZHJ zmCveclT?#cGeC%NMQsX6N%(Uks`d z*{;_+Pk4k8C#57qu}#3d@}E-7_zSH63uE+^eCZO)dl8i^UJ^uWL%cP;3^(gV`<~j9 zR)hpe?TA-V3M$Czx9!Rv*}XEgcuY!z2d*;PY$dXnmpMJQuYH*%s+;H4GVY?AO7?fS ztc6ELt`p2wv?uptxItP<-q_xPTBz=<1J69psldE<~`_TwiaQ_cgc8zcptCBH_#U zF=A4J^4W;euu-3~clKE$nJRwvj46BE;Qa-QBd1v5H_fdM@VuU_gH0eX=wfIzrR#%f z%Z^zocGd~A?yj&vnBwx(Qwh|&O$Twof<_W1DL3Nn6MA`!^~X@w1a14J5OB)Lvpceg z+I!bL)lexiev??@#6*Hh-~ENdz{EM!1*+sMlGCalq*8`Jvv) z7B3?S+2%u`&FrTisOf`Eh;lApT(Tl_-0D)63)$uc*rs3jhI6jYKVCoh-l8q7i<+O` zefcn1{+VXX%sviKx=(LKQ*CL1<}CV}m^&4$}vB5t{S;+4x4=`V|bk(L_ku zfEig%j3q}Hw%-IO=I86t=@=F8Rq-HeEVb%RqdMrW&Q`Se^-^KJNntKCyx{D_mWT`z z9N(_f8mKbc^Fw%+xtm$pd%yC$ARZ^|j*Ofk1UZ#uW4im^KyeKUCGEu%Ty~du25tA` zuP~Noi37s?uVpn}4Yvq(GOIYa!44tvw_2enwi^G3zY*=Po1b@6TKpw^W2+p6>LeNMGe`XXU zr)c#!EwIt>Yj^}S^WBfX-&f5v7m|ZjPx#N#M80lO$MW}oI#G(`aj2DlJ;%?f;`u-MfGc6!E=R0X!-bgz!R=cAit8k$ zarj;46p>RM`5L%0N@y@o^3tNG{qvFzfmYe26>h`~-v&2^tb|jV27)kT6`O%LAt5U> z7J?{E_kT-YhN3tE<>ML~M=de*`L~TkP{XeH0RHY? z1{|~m^&z|=iVPQ@CakgG#uTA3a3Q*by)kE;npfmYo-$p)CuS*vujHW%T9zN@_r)i2&I=I8vbVWeMsQ&A0hL)EMn&tf(7cB)=NTC^h zSC-ct8L|%D^s)NoWI$x%^jJomayZ58_ZnX!mIMc-ZV?>iR5g@t4YnX7d{@5s@v9QE z11o0bCVCz4AEyrD=eBK_KZhvEnrsg=;W7kvl%yyTDr0iw9&j!F3l2Qby-``EHN$_N z>P(H6q9$-H2oO+5He^T1#$|27n#yyB^o9ST&;cFm$tvc9Ge-60O6>=^eV0~L=lf`f zf-Qvmz)YNECs?u9?2K+zSmkRGnbZbGbn=qY&u}h|rI%c(b&v|E>^4jDPKsH%AvI)> zByW(mQ(OGLnM2ipb^x}$!`JEW(GD!f$ALF%1D>fVPrE@xmENbpj@I|^=V=GLI`VXp za+0~&rWHm%_;Hs9d_<~d-zyHXpTc~1En}(ObDR}lgX**KXq7fkg7zZC<4%)O8AD!{ z`vkhBJSeT1(s^zn9WUeIN17)|G-T;5-0rV6 ze{5j2;`LH)-tDSV3o)Nb%1x3b>rE7&E~kY*2}#-zHYhE=em!{51S%UZyr@lC6t`fp zPXDMC#FF1$vGW);Xlj=Cv>9o7SfKTc(Wd4?I79W7YY+IN@Lm6Xkf2vRo*4A5U{{`H z)^3n}p+$4nOyGuA5vDsc*QLd~aXH%2>Et6H*h0pv`!Y?GPQO_y<9zSnvG|SVH@RTF z`}Wtb=@|{S00suU32J)B_mq!PDu{DugAHjqUO!;yRQu=B@b-h+Rp$ zJpG5nWsPzm&H__a$8*Lh>^2>Fvqau?H?BvZmO}=Ad8I#swM|=^WB0p8QNfA{+T=vh zGs2#A+?u?J_T{_0Awvg+DpGJGiPmY9aL1gVf$UE_(XeKU%<9!myl}eki#JRr2~_|| z>_|#r?QDQ{H=B9F8qn2Es3<{dawTBHr-*NSC4guJY{YI^-|7_)voi|Dn}~VBUbk_f zf$V|XBo);gg1Sp$ea;&qjV|uqy@!5PT>+xeu6ys~%GUf2mJQ7?fBsB9G|tV{u&4Kn zT4g?YT1I%>FoF6z^>Css>sux;8W!zPr3~IYKv}JmdyWS9F}A6_5xDpR2O|3Z0roQ9 zdzZ)O?mlS&{opmnoHwf$q&ni$6s2pB_WP$+(OlXsdIB*Y!#AIArp$&oI>}dH`eBT@ z=POw4E;OQH$HSf3giEp&5lE>M+9Rk*g}-h!?f>s?)FnQo`PRBBDI}`qFX?Jq z^rUbm%}t|G1a}*9UCD@^0}HR)4%E?--rwyRmHD9~4XW5^d3v8+HOnFcl(i9igPJn3 z5IHKo*Aal7GT&<=rU*9=ZP%zDoLs_*S7ok)O-Fb%kAaVcmDG18Qn@DP;yX@NHJBcb zKHR$t8ww_oM!=hY*g z{B6jJD~@weK(fYtkgtjeQ35=T zr*xOu<}oLIyl@z8GBu>1AXc#sn}^@CRkJO!7NW{;r&4Pb4nE4pYS*#klG2uE)J2J8 zyLe9S>WE|+ou*nh%Z!Owc}TR2o2@6dki+X6E>BVg>L~Ph6$|ch@<#c2<3=0O%H)}i z3NGbIDu5%&+~9*X<^L@o`gwS`ThP5vn)X0AaU_x=sy@m+`5_1Iqt;;wb_(Kqm{N0&A>gJdR$-+2Zq5E2C^}>C=35 zz9Ygi*&O0UBBE#2BUew_HolsWY`XFVO}%vQYdTK4MZ26=4??B%4hDeKQ~DmEyQrys z?caAmjjn7-jW!j8Re%H=I83-k4iAsTfhkNs?Xyp8T!%Wx&Oz%g;R>vBfhh=WBjW?9qxK{l0e1DNnju*?>GswL$B% zbZp?a$3gN;AWaXkFD2P?J+b+IFeX!9+09QEzem$TIOMv`bo)~i8UlXPk&<1?{T}L( zP`tZjaNT;x$RGaO$*D7xZ_WpTIXDQh9D;3ja0yPXSlXtKIU0~9>}i98HoooF?C!2n zJU@J|DIA6Tc!FcOIFAF!>BuC_ze^5lV7yG=E6HBC%TRyIhgCf;GcU&9DMSsn&`!A#aGEj)53rWUV} z(!sy*ru60;)>%YDN|;3S$>pwSfj?^s1;If^N7 z`6$`Guj86Bq5lPIh-Gr9$MUhz^2N$T(#UWIMDjUmXL%i_DEmL6gh5r6wXPCFo(GM* zTmzgTMsy#Ukdn}!xNza+B6>E)uLb&QGu~$G1fhMI7}gwpJnQ33Bzc+`-(tKMV84!z zfUA7-V=X6THXrCd;AEk|j2FsTU5Y&AT1vC-^T%vqiqrODCU(!jU&F9lW8^kE}&0G$SwSL`^OHYrc*U* zA&ScuZqOFY@YYts|5`tNhT{+`Rb4KwEF*eneP_QD=GVHPR@p8z_IGW8h+?jX=%$4a z3Y1iqlByI^9~sS6UI4%VZhyCDM_AW2K?D`bK@al3uQh*{W+NA-k11~DC{4@@z8k_L z@{hFq_pcQ8_{O(h-qs$@U34Aue&gu|F@6i8Vd_3;Tharu=bA>tFIDAAhQM5t;wo{*p?K z%>EydtXh^AHG>FWijM((kf?CB`_J0v8xz8i$t2X{h(t*#)5589ky+2&(oR<8^PJDA&>-x#XOj_Bp_ zmPFD79mQyWE?jG?;s^d>v(j%WEiB1CPtt)pq7%%r4dl94EECZ};lbdbx6wX&O*9Mn0-uF+g?;RUckdbpm zhNxv&k)fa8kl#?-JlnbP>#)C*#LAQ}DHBp;oO^E!$ZCS)qOpX-_^N;@z|b_l!7DbM zmGmi`Q6Ak>tk+ zajr~!&hLh#P>>O3Ki&ZBKLfb32|>zF_@k`zDUM3mnmB z^;&;rvA!D@m!hXIqpPQH|N1+{`XR4Q_tQ)g`Z*0h39y2?XP-1{*^-r4?HDuc$+W0< zP;O8~!fJhKvNW2Pn(jQh0R8|n$^KNvC6#TlWVbAxKn{LURLfw9%TA}{D~+i<@GQHJ z%yePa{zcssfISw2B4PiR<5ggAh0husMT4cJ?n+0q1N>b(e%uqk)&CKJcodYjyl|Jm z?-c%s`5)aIR5#KG$b=UkC3T|y{Yzb#YxYr*3e zpA`^NruAvxnfIDk60fj=^IT;#rH%zJZKi(yj!5%sAlcOjKG%zL+VObA1Wx^aA3ya9 z^n4=V}CV)`D}e&wRgq^Uq#&x!?wP zxxm(PiS{)8p8zrmR!@FJfwLFV8ndVE&2vO?i1cg#-k;Es+Ow zxk3M)p3%aSgVz_Pjj zd8zu6_2BZs=oy6WxLv~F4?LO9wzc5%6%u!Z>8I;G8>|oP1l3|8 zg2ntla%ZsDT#_{Rq>t+KIm{Skwj+Cl+W-?L&oBoOa$|_tr`pZd#hjw%<8LKaWqN??`d{i*>!<4fvf4%7rBUzctHxOH5>9o z?+n(+aTVf$=E~1%6UDCyt`riM}{uklzN^FtdtZ=4u5&>t z%%7EmctQC6X0kw^S2#)SRf>Zr;@yG|w?=^j-O^DUj7G$mp=Pk5_;oCI*$r|AJkW{U ztStUDHG;6{XT0Zg>#1Ys<^DACrs6(LY!%&mKM=D>^u;7<3N~tFA|}s6?rQ#UZZG}Pm0epvo&eINwiIeF#GMK&`x~tB1UjOZe&=^ z903}O@R(};Q3`mAFVxqdfzFjxL227fyE(b5>IO~pVcs0+Bb4|GpErsYdT*xKo5u?R z7>0oCaUp38Ql|i&2&shWTX&#Q=TJOqVeWgmBwv4F%Ma&&t{|v=gLs z1>xm5yi1ms7}xoBN|?%x{mg)aD;K@<$%S(55=ij#_h_K2w%(QtUceoBlR~530szD? zK4`R2Yj=ah&U#n%p8_h&0s-($HUme!Cd5`-WY|ciA;AKbMT|8;Y41=Nb;%rvL87=~ zRvy#kgEI9;ok-BlJBfC5pIoh;calAQd)=^!d0w4xO4QoZ^)Wldd9pUrGSta@Jj!XP zZh{{xOr5D`Qf&inWa|$(FxONgpx@{`hOV%N|C>E%zqN%EPfH3oqXmB$TMLc0cYUZr zAr>fAf|pp|q}E94b-SOYdWBvOlc-*@EV5BOw8*DZdK@(3$Y`Fj@y3=$^`Nt&)gLQt zA!9qE<gEe*LEI$m_gz{d5U)kDL#-*IEaentR} z@*}hmlHX*Bl~ml*e)Gk}HkjTd!dd6Bb;iees=$xhGZ6+D8vxdt}&CB8=$@}R%D)pNAPcdH7$&2?m^~< z{UjBS+%f72m3ZFJmZibXCO|MQ0h^{^Izef|$v6C-N$J5(AMKuS;hN@0i^AXCsDI7e zy)8LdfZW@hrERFV88Fy&kuv~&z&8&cta>pF5@neL+{fxR7~p1NuC=dpK(5tPXSIpu`i;N`UK+ivHYRZNvh zy0*QP5rx4miLFmqdEl0n*tf&}EDND5T%=ly^yXRyjiK%L`1t>#`o>C=mNQ<5#r|#n z9}$ZS3aou8`AX#F*@Ed?fwck1ANT^+*uYU>)u;8ddQt7plEX~?SVPcveQWuLExIjp zM8e?9?$J$G`db+$8KH4U-aok_T@lo*x5OTEpXI0LH!hyIDCL_T)OHy>gD8 zikpnFEXKBc8(&f%;j0s~Y6mnLRvkZ+Uv-Ff&w3*j5f2e z(d5las5rF z!mcC2{91O*GCc|ps(%{*8kz&5E~N+ryCiMjlR$yT-ha0)b0jzo{d*=;B?|21S06s# zAeDUko{vJ{SY|_nCU<66rLCfMeM;CVv9~uVnJ3~JqXQ}?)E82FrZGD$tzKS_x7sgz`7#Lqi!u{SrU1t73 zF_RNf2{Z%xM)P)dAGj~~P&*h$3+bE~PJodMvx+Ub-ArZuz*n4OIpL(rvlI2i1{41K zh1fOlbN5g5jQ{X|Vb9P+h`_K{O&dlQ4NFr0dgZVSfbTS~T=g3sA7;qwTzmS_TKa_@ z>@6cNQ_!Xl-A!KiNhzknzIwf_IcmAz;rXeID ze==>;WdS2Q(nIH3y;z^H1LU=x$0o-YEW5U5Bcq$_;EZ;DMtd*$YdUxbXSNZs!P8b^ zWK~m5`EFkRpiNJtI5Kz;o3ZflU(2zU_c+N+sYprB%i0YOqig8MAtMTwk4_p{VU)G%Lfb;jJZ-1UdgJ)A&boNjQ9uTOVQ3h zT%w~5z(>EY9FtYXR`{m*vrgmP%_R~vo{MRU+K%vgtRB-r>tNd6;|O%kHc!+7H*!Is zZ!hl%?S$FuWgOBBxkzy1$nJtcvJlS@-dUnC18H61PNP>Sx=8jvrlLZ+a^X)GcoYlQ z-+8Wp@U}E)z9c<0h{}pU!uSTtyj&IoA;t_^iMkwOS$HFaBp^B~{%By=0~J#O;{vfUXxoI_(r>r&KdmR5;Wos zfo}jEociaaYG`4^U3I%a_k`k&J>tV0DD~^H03vXG0>2{~zGV~Tpea>i>}h1ky8`;L zrZwlVaf51Z;iXU0CW^(XW107MmgAflJV!^fI4E_XlYhG(h^C->O$#yF($BqkU2ftf zAT{0a{(~rF6G}r#X1wHKud0hlKPr}6$Lk{2+&h6qC@fCHnt0Y}a<z$_Plq>xcWP44GhD2SU`vO+j+?v?_ z<}Kf5Mh7Vm3a$Z_kYf!FcqrW zf|=!bpXENUG#*z`73m742~ia*_i+Qa5?VF8L=%0ZPv99=p>`ZGLe}(x;3y*bfQ||F z{~{KN=;D3wefo6=Sb|*+y#BAh!PCNZ{A&XpVrRUQC)SooCY@94ss4A(e&8FES549~ z*G#@QwxBoop@@I&O~+VMk=?{7~%wh@$wq66eyj(}G0Z4X-1|t$Yj* z%h@xvby);>Kn!z1xcnlrj_-y97x5=AnSC5@j?QPevJP%imqEMd#SkqhXcF(L(e>O- zB*_`!O@ME0PXOvE|0u^g=3z$#+b-P(_@3Cany4BF!ja1ZY!WLvW``-?f|WGRH1 z2q|^3hdYZW*}h$91LlZ6&LS$<-QNiNCK~y~tV-TCpGY0K0>1G&hbej%G>{A+m)H`XG!~s#w83~eD{-s{0 zmOqC{W+HYU|FNo3J%0h`zQIAvi0wt)lzuzwHPayjTVOO|5fN$xWfI|!xe-pYD0mY@ zQ1d`!;pN#Y(1TSH&X1a_U@N##z@9E=Y>2AiOMamED%^@IcNI; z7Spt_irN%^3HXI$@mK#yXhOr2-NdV5M?0W@$9h7tRuETzDy@;A?Acuo(X0 z0jiyKCiFdrRx-<+8twR6vX7V5n}XcRzfQ5+UiBzEn?ZqVbfSOs2y_tq>tafk&l=IT zO2~n@*N6g{OwqJ3N@U5K!JsK>20W=>g6ygzonp+5h@dkT(ne!WH>-CfQ^w`~@c#`vFP%^#C%WM1*5p}0ui zMHlaEsipU`9?YOxBR^9a!wQdd*UJyzEO}JR^cKf}*%93o3Z=;hF;?CAfyO=>{aMc5 zvwwf@q^7)lORS{1jmqdjii=&u?xW45#^1wWMmbNH6Tf7OF8DsAXZn&)Udi-KN=*-t z^f@;Eo^jkGP3Q`kH4kM?V^Y_pRDJ<@Le*iCL$%kLGAb=w zL-tyyyPgB(#K@xMF3)^G+(O{Spvg~Wng^BL{7>V_8YXB5SLcg3^cx{nOcrG9k!&1Z zAa<6PFdvwD<13Q@5&d!Unr*X+Khk7oX{zKWU-1|5a%_2MHsKCJ5sesmE~KbhnkBjj zc278_o8ZT&4uCeUdqg#cQ}yr;iGmGl+J?&BlJUJ0iQX(kozw9JWpF*G7mGmbxGW~B9s*n()wapWOgran^!NilClrb`NRL{aZcjxYA>&%zaT4U@@_AwspOI8CbrKFw>KGN1E%b(x)IaV~^KAv&LI8!qnpjbEg!LUyj9T7m(NUooQ zjLdQgcVA4%5fFr(MEw!s=b-VD#9MQb4^PAEJ9rtNQFj!-p=lG=^`SCSy;chFc6Vcz zR%-8Lo^~^QK$GfpX&u4Z%4qje!k&-@hkM|ms_J8z4{0XT+#ZW*I*KD^{07-i3*_1r ze5zN#LN|@6+@98V4Vt_Fd}Gg(TSj2lZ>tl7)itAco-iP3?2DKWKi*0C^yYinTYM zgC^x=y;61!B|bg(Y~NLL@hE|iwfomJx!D)y0QXX#EDyw0Kex!>Bj0b;%hIuJ*A7J? z8*17EpuuB#d@R$&i+lKa_k#?$gBwr#mgSUzY)aROZIAXN;)idqw)VT(*ke8Ax;uTuZ-aTo;BF(>69R%|E z=DgL76k)VKK|7%tc2^L}+?(QBe}h7{IJ>^@AX5Yip?S#kj15fON7z`cV%0{wB-%No zpV_;Oj5>?!o%mhT^6@^Te4No6>w^?M`#Ae>IB0_eY>E@rHgfNFfO!Ye&mR#simEaS zY0+>|S=$8)zI(R09RIy)UY9O83szvtS8wA@Ii~LvOy18H|L}>f@&0L!vls{xpKuzvg*c~`o_A;zlI*@^5U6bm*9+jF9t6WaAQh3 zjv1c-2vC+$P7I8hw2mKEWT1Rr%9UxjUW*1{C`F|<_qgAI!27Is_{3 z0QB<)Gjh1f%Y?&woJ{CrzbP?_@g%-kQzIGSdw)PQ=8;Nf5`VKl4Z>F{oc?A((2Wvl z>2aWHUI1)JXeO7*bL*Skb=C+2mYS@vb6u?8kHdVSM9eGDAlHH4O*`NI_ZgMBRp_ic z%9`>1_I<@s<1v59IC*Zy>sQNOa1~+K)Z3GqE%G}PEPuBSpXaX8+LQv_&lcss(JNH+{aj@%? z&xIjKal(gW`f0EOepSfHG4_6dx$KX^m3K0@K{4I`Ec7-TW`U-+8N_7b4~iHq|5W_i zA1n#@=Zqgsh=$T?*Gz70}* zGRi~0#a4TO98mS*F-t?tw!CXsV_uv`Ooc0?^97jzCm>H!K*LG4j=N|!4AuDzG{h}! zddzeumwJPRElI6fao>?Az+zQ*_=?YNJg7WHGBlNkU$s9FE%#vpmep5UvjluXl<$Q% zN{g;oR;=Q*+XXGOn$4MSw!LyBAyf2~rog&T`{PNrRprNy=GIdi2jIhTy)y?dH*2Tl zuE|ns(B&>gDF^ia9>*ft9g`btq9_}tRUqF3vSV#?wOeCdvLrWz!W)W_UYPk(QCEUHasjsT~Sd zgSf@8FK9_qjijKbgMM8HY$ULy_Qav(KGuI;`qDUiW@fkT9{{S3| zAXV3o?RCVRm@K`Jfl>5iLkdevhdfT_4<)BO6x*rDqzY1zI4;>JprKlvX-e1c!iA6z zOzdh7MX^>%)cupbO$WU#xsi$ZH>XjAwG=xahJ&fdr1EfMUzRkRTXl2Cr%aqfT%?o9 zDUpdi2YkqgaP#C-Son$q@9&v6v!Xo8($xoknIOxfeCxT}10X3%R~6(sV!=wJZ-lc8 z7;@-na4=lV6-NI6ek)EA)NXh7$pc7tt3yNhViE@G=`knb>IOxc<3Gdiimt6j;|;aa zq-xw~Mg)a_L=X#N%}}WAxWpoyVdOd;@gX46@2if7wgn>FHtNF&L2YdnhfT38K~`He zZTvB{L?xOQ3xPbRumbJ^eDCUNh>%Y;F4N62;ag$`EWBsnf zu0d|xP!qs)#hQqVdiJhOg)JL72g4RYQFq@Ul2qi9q=C@*;B5^hSdRtja=AAGfV#Zg zs`l%RAe01?fH@qtkV=r0u=sl8OiYmTKP`#+GC(wvppqV65y_zw17rwItMD|g7Q$CB zr(XD?>1d>NEz<(7Zx5#pGPGr!Th#Q*fv>#WyF%D=oCABz&vb9<{>2gv&><_3jXM6ggDR&5?SRlVqX! zuT%nq-!V&lGW!r7tKS=ACP8T7$HUco9F@~qUoxv~M)(vY9$~Us*N|E;8~fy&0eN=0 zr4k8k$Q@2fEu7d!qi9TI0k&Hb(J;pZRB(r_cFeF`Vy)p@atu1qORCt*W{2zza?g+>PG zaIi!m#UXLu6u4nl>$NZ;)x|EYailjuaY$RXD%)-`RWJ=OD|E$FC+cu0K~3S`B9xm^ zhP&2-Ajl?K0(>Oo!C^GY<+eX8nM6tr7#*rBhOH#3qX21*AeD6+gO3WCESCD-*ZbKK zd+x&xG2%$IAIyys%D$!2)Oc@?3OJa(_vgly0B@^C^DrJ17O3O zZd;s?2;yTpm*zIPtJKeS!A{gb6bxyvi6Oc^ruSDZFg>Sr5EUsER*C2+GN!yX{WifQc#6~ss|YwE3%u+E$;&fYjJNL<#9 z?T9FA>WmH~u%*%1mug_J+ZdCwX1-i`0N9FnWn4j#hehq>N&3*x3go!KVnrmaXSoKu zc;xvat+8rpOl<+*RwB6D0N2&cFk5#<&9imJ(Mw(u1}L`0xgwZtHt(vE4KP}?w#Q;? zg@rb4NcgLPl`SwZ`f^shoAg?h7%dc`Bqp`RZOd<6{{V&#CO|DQP~?$L^iOZqg40eA z9^)HB(|;)=tXF7#jWY*P&fUJ4dRZ*!DsvghCeSl3#Nrt`-cvvhLP4_;*)+AB732F^ z0vqnpw)0el@0GUNV+8eIag~^+tz@4P)O9BaV@Ykw(__@-h$D8;5_af1@IpzqrOiUOEG_3*?gD;^Fs@i`zdl|eyE^r+Y+l}gJ66yq@B|8J_28+NH9Ih3I%?QJs7qj;CT+X8xVIy zLM!8vVhc-zDAM6ylJW^IpC&t(`kja3}|qcJePinAc4%0 z;4wgxV#VuLs{FA9c!5+~7p~2>z9nr|D=8{V5Y*eQ1cl3P>rg3Ao<`7RYl6tTQkdF0 zDmAS8H3beERW^oE;n&9rO|ENufO#I?`5SETiXKF|ELo~DxD-(6xxTUe2LvE zEgi^eQ>ScyT(WtNcBM%~6lFr}qiZI9~761+XjToFox?SYpKwB)Yj8urH00*5izwo1@9 zTgiB^>ch50AS_bEPy<{^M+;&C{dOJl7T-&6Zk9FlV+W7x$kSm+%4KYGZAqKf17#89Mu#_ULoC=Qk86pJSw;d~yrbMrDDy!IGr3KQO8dMyJ zWLG5Br!JlHX-BM~6uR{7l}WZJdyC5btdIzll!eOz3iS8Knr&WLS-#JHmCg}b zX+gGQ$hj~ZCbwLy;2ebs-yjXP$t;puxL4`a`(XoS9NFLH?vnRWwcMj~T70t;B%6e3 z=pJ0N4w5k6sHp9g^K80hnp6~!9>i~vrV>pjv!i;cvk$oBsjL-P&or$nazqtF+{4W& zO~;NFOe4&CM*+!2RP{a>0d9$ThP45=Zkry5Es5QX#>_ucBXj#hGUL04AxJArwq-G^ zP>tw%AD&7=ny%fdLg56PaBh^wB@ziVk^tKpjJKOnZaHcQ!&Jl-7@UW%z9olNV{UzG zWhZKb*V{2U7cx8YNv~ru)aF1eIB5=gf^vM?2wdtu()}2+JGTpl_*-&%W66&bKyYdv zgwqA2A`v(>M?f$g*;1?*EF|Ed(<+c=3N2lLAnZqMt+pi(Z0wA{pM>Pv$WCnuW#`;w za%_lBbStA1kBWl5vNYHW*R%`hHHZbf22r^Lo{m3hf62;=hTsG7CaxDlns5=qk zgQ}5is^08P8uB}KIco|_@0V)jWtFEo55o|yPAzGj$WVv5IU=ZdDS#jwMMC|CO$dtD zbBZpSEyn{T;~G}6R_R<&?mhctsa$py$fPb<>c04*)`BrhisVUEjNoFZXRCAum~BuK z%)d@XloXovm{*WA>C+*?SBjR~d6vUYj<+`vMr%#jSMIJzM6i^>LTX=|US7A3jdND; zRVOduU?)ss>+{b~vu+k}HN{6#Kp1#!CRUK@U!R(*EiK`O1ty;msr`6(Sedb%SMxty zzBHcf)4_JbR*oxU((7|vRi%~PybByeTCGX0cGy=46q0RkuH;ot!^b9AhcuEOh|-xG zNeF;xLF0y)aFFIfy0EAiSCWfR5S;iGe6sibDD@`mTrW-=!@;0cQF4ReJ8j-PW@+7$!xxHgd^7^$XyL_^y z$pmJ%phs_GJk9Wd8ybP_laDtWCc)uR#mI6au3lKG2mtMYR|{ZGDUnbc`l#uWOJ>wl z6xxxs-=%O{75@NKHR+Koq8s|PDn=VeR)w*CxNQr*q#Le87Gx5kpS6$fYxks7iyl$St(nAD$7(Hrkvvg?>u7u{_kP z$%q{>Y*keFf}W!RVv2+W>DL1;OP<|!cCAj^WtPRMBI88|Z+vY8A!N2wxfSrq0*)0Q zPl2fEg^^mLlWq2U;;54r$HyxnS_@y@^f>|+*N7-6NjV|OP}33#IE7fl;NL6?m#_|` zFrcn2Xl^1UsO^go(zRBn#}-zV-8aO*_~8sr>1l36_+;A7>Ng`; zN=!q{T8BT}A?w#OBNtVZFGe->cJSLWoF68{EH?4Tqz5808m((iwZcOZztoj_GXQ98AM9}uWy!Vt zz}3J%8vg*mjCc|oADDW$H0GdxsxjbFxc*@3$^i_FLGHLX5UzhTHC8oXl_H;K2Zpxa z{H*;%fL&0Lw@e}nYLWhE>Iq828Tv6WNNqnfFT2Ks{oku2z`{~1zvXFN^k@O`H90N@ z(pM+urOLO(Zl;(#HS%6RH0~SWXjhN7T#o|U$o~K`C8-St)vm_@f<$R~{K_S_w>0Zc zSVUQ!+AA{eZODtY`_Eo*8|=g>PhpH%$fZ`+jem0; zvh5`AzxudkutWvD_e8Z@D`O0MP*CO;My`!t zr->IKL)7Hy$1+fo76h~;1_u^b-lo8* z!1JVXPFaB!uR~m{2EbIM1zT=};ihS}pEn`agDa3^3ONr36z`BK4(~+rF08=%6CJ2% ze^yl{6!dGfOWSTg?)4Q`@gDdHUL@GHLZ8RSh8IeN29(- zFht%b1^9Lz7)q$X;ELkJBW;$u;YuR7P~RR{rFc0sIIcx4s_k0fVyVE5>5{ZsoiHu5 zYF4XSR+%bMBqi1Ty_J5oB1cWnCIbZ{i*$zX^GC~;l=W|ty+tZ(j|(0qEvSBd=+QA2 zk;yvtYET?JDdWA^#-;xNIR`le+gb%6>|E@Aj65tj>5E@}Z|k?)`pF8N=%_ZwgfSE9 z$1eQOsNOd#iP)q$-y zsmU)rn~e3ZTndG|YLUldl56CNSm{C3nq^~}0w&_gqEXB4!rc&%YH~4=K7XqxY)J21 zpUdC23rJePZHfuq|JLIQpn@|Mkv$fOz7vuqfK!&A+e1N-T2|Va5JI95c0DlCZDJ7B2Lljy zTqEvq0-9P9o8eU-~)WV-~uXsAf7D}a_<(2_;9JTgF_i$b+f?YONgjo3s{cJg*PUnd|Y5jY2} zGCbRA(+D>K!Kla-1VKFZ0+|+I($gIeD)*%^q^m&u4SL`r*xEkcL}ACFJ+QA`kpuZ_ zg7#%fh?VQpA_76RX(1F02IICAQur;w6+0gJB;6}UoJsj$C~cw^tr(%hXr(CPqgS!RY^i@Gr7=6PDt!0pLObMS7}6m)mEQv@P-XQ` zF5R&Lkfm~=2k^LbD@C3ptG=WL_$^)a5Hegz z0mjd5uoG$<7DK}YqTTf|O83EOS}eA&@Wh?aTNZt?R-toQiV9*1O4hNc+XoVAoNNU; zRE#`KZrl2ZJqFnECYoyiX-tO_kh!$2x>pF2@a)mj$mll2%F)SsX_egVOl`CqX|$u) z4X~2$(P520h65yoc7f%^zrKdqg#(^B8BUWJy%>H{z(siOcH6#D;<*AS4SVvWY4%cH zBG-VfSTb7!8hM=7NPpJvmV(hBqSi<^!^GC_szx^JT#cj!hSf$qR>&!|EAN&Bfodio zHW&#-(@kBeg<4?5^*wMT2DtGf!wLdnXoL`3a(YuKE#NBL7pX|iNWsF(nj+K$P%B0m zSq$T{Hs(Ol@4E~@Z9I?-2qL3n-zQB(q31kBGC_z!%xjahazi_F`Q(^NPFCA|6vRnY zdSq#|a%xlI-xWNX9dcB}7Wt5Akz~0C!~pMsltOG|{hr;jx^5D!kmMGWSGFEZ2}D8* zlGN#uW_L{V*a=3tJ@y$yoUCHmHi&>gZk*9bug;lUU`RDxM9a%+0(yI8v5w44o{9Ng z<>XauR^dq`1&+OkcFbIp-kgXEdVZZ|CSt^VIZT@gWH$D!K>*Mwt#Am_5>pK;k*WFy zNCv4U;8T3Hp{Uk`j^})gRJv$+kBcWsjHv}Jtt(8XQEuW%Zms!(zCCaVw+TG^&VEjV zP+x>m!Pxuc#G5(1Kg`-3wvR>|uT$fhxMb_~824k=myK%OXv3v4?i+E0_(c`hw<2cs zI`SE1Q$(d^(zRnA6T204Za}w>OnEO7Wux6Z5^y7DUyFQ%g|xT3(|xdFz`MY^HLec zgi6La4XKs}l2N*c#GnrNl!Ati+|s9Pf)VgYv;wp_AgZb>(u5o=0bW$7t56S~6x|`` z)h%t;)ShHOJXmCaVZ@MXf0_PV)5T}KjQ;?tYx=RPM~KI+{{TLGzP}B*l3$Y38c!NQ zsDI8z(OE34#@kj#>-S{18u-}d_vhBVbSVgm+;jvfCne#r<6~Nf<`%uFDEh_Qf(btl z!Z8RENNzO=7r zcElS=-({v{Bi^|lsutA0woL_~f}kFQB7wSjrbhy)c{lA$Hl9d(hF)wFwno!webW%? z0I16tRjbExupUIzjI47-F1*(a%TA=^>9k6cYw6U^E8)M-A{gIQ%{L=JJJS*=A!Ln0 z7u*as)=j_v*W$}C1Lv6QC3u_>Tm@pNtI4o3t=em52836B*xM>nFnm<;!)$u3dwsZ$ zo;ZS<=!bX+6dU2R5Talw5?BD!LPyI3DsPTT*#NMwY?BhSDH~U82({**QzFaBP!cG6 z9BmZ5Hs`|>R_eoZOpjEZ+$iAFB*N{@Q@@5ODff}>%=)#m_bxu_9LCAGa&Yr~5n!JW z9)g%+62yNx?$+DOGbeX+U!yWH4cvUEljrz%A1q3QNb5|APgP^nY*S70t!vZU0vwFB zrWAQMPW~AiL%7#`JeJpR9S%2ZO~y?($g&EeFvFKjSvFROrbr``MlT-t-6NWtrquVv z7NX0@?}YMOX|08Rd*KUCTT}LX9Bm+US@nKfcCIL^dQXzPwe@{HwKu27K!e-%vl3?A zmI1#0y+vV3IY<lB^9=zf3|^l80=Q73B#O85EW2ZhF@gDw>t-Fr+AYR6TM@0k~~=QQN1E z3v3}(qYP@jJTYroBr8hSae~&+l99QmPT4DEAcJQk5?ae`A*DOyEf$DLD4-t0B*>xe zh~>ZCk_<{$bllpVvSFo4S|`zv0ktdCE=5lr$842TRi!ruv>qMu*s#6O>}Zwmi3lYq zmCGsRx3*+PE)H4jmPnkA<1%6$c1(*sABwc;hl!xK=y&nS0-rVCSK7F37O}0xMjJw! z!^WWRz5-CG=#H5ZSr*bELMf88Qr3WR73qT2udCAuC|uA}rZ$y=Gt!&j;#KiLD?`wn zHj&)h#l(;WYl6{D8-2f48&$#$uoJpEG`0=Uj<{_gQs1hc_*ANh0ZhXtzOpNxB|4M8FCROE8=H z3H?oO*mWVh^q|N|us)2lwL;vz>6FuOOaA~cAxQkYeLX*TBiQ{oVa={(^01nq6ZWZ@ zVWXPaA0V`*Pk$UJSnP3CA-+v+nkqr|#SRHWT!pg%xnri|d^VNI0}45%4mOHK+bupL z+aOy(ZXhInD^cT#ETg$c#SkR&9XsW2MK^N5^c`|RWw<~*pJ;s;T1pmkQSLH9ii4f9 zNGNL1*CZN?OIE{dq7_4JObx1R)EJ5Hc;XN0zGv9kKZ+E1QMMeJiq@Tg_^E&e;@J!3pDW9( zT`E09EAbzrt{EB#kEp%tMOgh23IL%10DEQ`7F@0-PYkOXuNdfwU<}$`i6+>o+mR%s$H+ z@0SN0tku6YbW2gk*XB;ch^ej`U}Z@)-{+Q^W(A*M7 zz7DKP-a$u79F^J#r6AmiHTp47ZBAF?)|9}N)K8}h0JS4J$F?kkM&xzbi;PRN#i{Z!z2(&m!V&y3WKtj zr{5c1ZF*h&F#Gg8Nq$^dZ$d-JSkXPc!792%T zc#oqN%U;XLNk4W*)!eD_873CnP;5G!KxVg-)9L&%MK1)M&H#ng=}ZX)dPzl~>xw~M z8K^7Y6ib~iH9dL^ZIO*MW8^*h<7n6+)*?wA`{dM)>L{rQK_cPku>q!{#()o3@aP)oW92SS@1 zPja9gPdfI)bc7p?_scD$g*w+GYTT_su-~=@!nPWNT5Nk9OCcn}Cm@sUk>=eKvM$l6 zYWOLTmdN2ZCa-?kT`}SzVVRxlk>O`{npw`k(-Ih3Y8(Mk->z00fkdeSgU1MEYRL&> zUf})s+M?ZfR1@0*F3{vL6bA~@pp1p19nXdfWJNDab|e+)?~(<1D@X7*6W;+%+Pr`j z-b_yUWi*n2 z^+DYA%K)YY3wLxKeU1)EyD4PhK%gfUxgjX0uGHTp$q`F#E(;Q=xyxzCl#QUTASl5{ zN^h6PldQ=yP|`s`U)t@L0^&$o&rQ1ErCzXj^~rKd^1rfhHH8O5Ku264vOJntOrI4g z?S&vVu%7q|Ez1!Gg99MCNGZ2$K~fvwF!Ny3C=4st13FU+y>Vc;FONZzPbJ5QITW3X zxQ-*h;k8=S8w?A{ut@4~+J?;qMmC8w?4xWc29`5|*b3U;RCmCFr#;Uv)r1B-oMzgf z(*-l;6eYRZo$|oIsI|=iz(R!vm%b1aR?(Nf7JQi><$H4T6|n8`WpZqe;q=X=6nv|c zwndNrXxwn}&GR1df%xR{^F)K?YJ;-ZGA+jq9r2{C+>N^7VQq!Tl)KXK#YkG!>53PK z>4BdmRf@fOj45ehXFKFcrcvD%wyb@}h5~JsBB6tV{2*5#PW0Ot*6Qk%>)#7-Hiozh z(+EtGsaS)PryQZ!@~@6a2C!7Cx6dSn0su7ag#~!3nhy9Wka2opq{ykU++$2`)k!1e zk)~WlZ!A?AXAv|bwpL4IQMR`1WDV3Fxm=}ALl8;x@<_0M0Wd>Hb;sWICN8KMVG+e8!XmXpv^o#YNcVXUVi1O?2ks09~t)1tmI+ z1Jv}(gF#cJW(4%6G@g!@dYX2@X%Rr(-ivi5$f3Z_o@M4=I~b-ZY&ik55@}4l0Kk`> z>b`EixtMTz3iLaikbr73B_g}kH4sTzk6oxTVgR+sl7YL|uS#*aa#gzRmWY7FT3Z>m zyA*XR?@qa8(_amxTAq>+^NV17aDvN)C`2*0#nUHt(soP~RE8b041zA!=Zg}(PBIL^ z=!lTF&~g;qcT2B_3OL+hi;pFXcp8JHGE7zdcI`HB5P-?vgS9 z6&>=x8VU!|qm9jJ(zzxyxSEZ?@ac$9?n=9nxXD`@ZEjQzhE*hSS|8RQwOaPe0`gxR zoW7peEt888@b<|tB~>cD{)`N`oP>j2vJ{}&(#_Yg?b{4@TV3k$+Xo~S2_KQd7!ztT z^{Chkn>dPdwMSe9B}^3udf`VPzM;EdWo?oGpv8%4&h%U;1gawi1-o~`H)K}UmE+R| zv58!qT8EWzEjH1EQQx);rd-=Fnr><^AeFoT7%diCj)3piEVNy%zSI7>x#^Gvm>VnG z!Y!j%mtZnQfh#UPDHfhJ!V21`HOSpEiqN4>+jwELCAUiLbGaQl2|#k_8}aqbwvfe0pPOQ!yHC(!1oDs5;Q?(+de3T2-5-Cirb@eUHf9h72c`s;fp4D`8N=`*4DdmLVfcWBbASld*c9uh|2>KURU|_ z$~2e(s3vvXe2!m@#Fy0Zl$ei}7H5(nWE2AiLz%K9P z`jxwGhLvU?>b6o#m~qzcL9+aU&|+Q}5?ovwQHU9wl#~V2i&*l53 zif{MS^eTVVk$%oj+GID~9@&bZ^>RoLXfRovtnS;@u8d z(#*duH0X63<(;d>4f7i**~-Tqtv>Ue(>tpJ+*EiBg>1(T@(38%_UV|V-wsL|jk|rd z>EGKCx=LLnVwjW!1h(gVm|;j>B`8l%3@l_9qxU_|0x6v<#UH40B>{2}hL6_}*%PuY zR5$<}i7YLDs8m#S?Sh+mDn{i-{ctVXI@)>>_~JrSXzoGS4w+py1$b^~)F*5d$ux%J zl@_$fqnaw-AXI{CFs-RP1$V7!-vX)$6bhUS&o%bVLGg6L5LHFEuf#pZOole1*949O zrE#S5ZgcPhkwO|~2XoUKW>V{wAe^y;ipVItz5<2w$Pd}T6KPfS)IBIXGT<5}lwD32 ze6pCyEV;X;!y0R~BPn4~y*pr}p{{NK=y%Ch?M76yNwH}s^_#X$sC6rDU^BBHe94H} z)l8w<)YgaPlWOFqElK!)99XV4=ASP3vI;(f?t9|2*tV|3Z;BO+0B*P&08=oMDlu!N z-&Y+#$pnU^fbprwg(zt)nx76!qfxfOQGth6>CrpByT^f^I6x2%7ab1T@Lol(fY4qfPw5YV~N3g?4T4t%+ z!x}{?vz8rj5X+*Qu@t5#A!8D8EE~fXOIds|O|p;5ntzC`iSNrJAl(ha>6if{iRve8dbt2>qdRTymINRtVtV!LGC>5O zBp}ot*jf<4P!e)sfm7QG6xafH$tBF)@E~(ibA^nG~$TCi}M6GMM z?M$jpL<23b(qKjA`yUL)GH++b z&=Ji~D*n}SJZRxf8_3pCuhx+Tz_Omy$;NGRi_i6cE=_4wZllMp zUl}yY2{aR!&lVjr*BC1@aQKm^Fv$R;R^-mV7g4s^Q)nm)wj*)VECH@aW+P%SvFM44 zLPc;8$SOl66t+a9^0Z&5t^x0hAa0c<9EDG8h-6xZplynRiY1tQvIU*06bVTO#10l} zu{#oX@3uxkG?`nwFsVOlzso8r0=b%$E!zQL3bA_pvO%jLrQxYh^QI-Bb3@F2Ix)$` zdeX-Pd}P%AteTNZYT>?T7J}bFz6-Q;YmE(iVWuG4P664vcEunmgG29yT*kW(wSw4{ zj;I%#F*WUlE-ra10YOZUFvxOL=6W2M4R^bZ2`qYK3ndZP=hGFXjzBwj?lBC)ojC3L zIW#JBQLq(0*s+%;w_#DX2FAkdF++s~JaJ=6hB}JBTtP`*CC;@O@Jv(BMvBBfW z^~e>gcPas0&Lu~3){~t;6s81_?iFEPqo!EE^F}YeRL(BjEMQQwAB+ye6+D&B#}sl} z4QuU%oh1@ZO~V>=$&O4>2`C*p(<99{ZI@PVBdEo(|I+i|uGx;IbZkMzZBR>0B?VnB zNZe#u1WMeB`wpC%UO7n{<4l*2i+pK=xa3j_oXN<6-xM8+ zpP@<~-3~}HwI{a(^xqA!JE#~6blU;|Tj}pyn?7p{8~pGBg0(IAdtoJr3sNOo3fBWL zH+nbZeW?93?&E(%<~BzvKS_IhgeJ%7%Ua$~`Rsq(Y!&Y~r^=ajKCU?%ylfq?g(``* z6*-G{;BLuJu{PwTw?R?a@?n z-@|OKa;GO2GEW!qy;DU00Gw#ouVNEk+(Bjt9|Hnk>Erfs0kD{lHBEQ^ai7ccyAm30I@Cb9FdK&;)v*n{IdL?zP;4Bd4dCNZ)|HK%6OLl09A7vCG>J(LN@w2 z1bamg98>_HbO2%(ak)fCY8T=rmB`asowm?~>C+@oC2T|U8_1TvanoMTedbjr7pCgp z>whj=88RXA71o<|rd&y9a-Y9}ijX{WCc}hdyW0N%Ei`F`fN-^T-2Af$o$1P++XTPO z_R}j;MdL$Cc;vb`v9N7M+*Asj!Iw9q$GAlLVZl;1@WeI{lil0;Bp%r=Y)C>~sHWJ0 zf;LMgjDQPdt*H#PQft$;PLPbXmx&~0RM`@WXqEOObG|LKgfcV?MLOZ2(;-Nx+(^9Z z(`*dE*;+H|EqNLqhrUFFu7>Qy)Fy;tpr$cjoww_errV@Vz2I^yks&cQm?gyy{y7jC zrm)=s_hbtqc3&OOW;r4l61mtn+1|Z!Er6=QB|!tW8emnSxT2Mjs%!XVp{%K}P{+r| zB+H3ph3QSQq7q6HS0En@X^<)lFFJy8U{r1jfk11Mrbsz1fQ*BYORPZdR=`Q)LvW@lZgmK{*<<*N}BjoU;(n*k5sll8mXsYQIR2ys-~@G6oVQ2`{4=; zj;Ccx${BnH5E51$S574EX_DY4lLa{S8w#FfjXMk@8380KTk5(yZ8Nfy(9>+MfT-l# z-DrpG%6A|Qx`X>zKxDQ(UL0VhB0->srku2@0DsoIqLZ<^NUrqh6#Z(JW z*S0JRGW?*2)bk~}_X_5|G#Lz>oQQROCur2`l!nsAe>%tf>KA|PI)AN}V?L&-K4YgH zvg>MF!iKmJZf>}$^ipsYYzkpj%7+vMaD;D7v2BR9)(}{p*a}ERK>(#G?lLlG6kK-v zb`7>bwt>4&>VvIvA-og}jp5TQ3`!1pN!)hHhN%<-DQbb^g@V~yyI}|+MwK+}lWVmy zF=k!!?~4(#$p-YoieGNEITFq)lP1FeQjWFJn&Cq(-uYamO`up$taQ(+tw!W!B-@k) zCiX7VlR>^#&!aTbbYl=!W(B+tY@$WF0hiiG>FrQ<>N1%U+K%Dyf^jy$3r5<&q!JWS zd*Wh&w>6g^SKh7H9ukl(0Bn`0=xgF~JGTv#t~Am*Z@x%fG3HS5+`X&s*x{>S%k(Sp zB@bGRfi&4nw#At41|gxGIo(@u^$Gi^+PWC|s;yLk-@0h6NEWQDlWJuitj0|^C?mdtlj zNdYWI5ot77ezm5-cCYIauj7`2TBtnZS@Qe9+@tt_%&5)7oGX$?D-|4AaXuM%HseYw zV7MZnZCsTKVofSa;g=vS1lkOqqc38q6BHCDu0XPhL|OvMYvY1Jmo-$Xu-dr*$RjP} z%x`h~u{3PsfNt`$4jkj_QKAfzD zMYM~%5nPKJT?FM=D~bc(2y2+IjJ1Iz3`*_HxBt`g+iYu?=q)j!+Z2ZpQYn&ID=UGv zK_O9O-xesC=i|A;$f6S96UzevcST1vMKCf%q~e%Tu8xhd>yB*8750wE=HrKLe!Ntj)tcR*(-zrhTCLqlABuBpu-j~M*NV1nuPM6 zf(m^koThx-tb4@0YI#D6Io~G5NR>G`4VoWIF^yQzjFq&K5mA~CmQLDAP3Cm)k18IxM6>HRFt;GV+5?-{eMd&g-PEf~A z5?5}A2$Ivz{{S?9DQ!H=4yyn#Uq&k2b`pjDfAX^9CZiNrku4h2PDGe+ed?#Eq0C}; zXEC}_=bbet1pT6VW$|%{pup{8F{q51mD@3L^LJQzB0w$EwpQdiXcFOgw%#8+RD_n| zCPyL1%MG$20dpTMvOu`<*({zS3EwVhSq;ag+xO{^3J&R#Tvm)SvgBI3LL}erIBf)X zA;dm`DtaE+u)g)^uB%E=cwr&2Y_ibTxH&pt=x%uL*0~x|QP#I~`PT%4D3rx@08Kmp z033k~iA<92tG`i{mSEba*6MfPCO}emL`Qh2YRB4`(`BO4>@fIxcgWJA$oYLP(PUh(VuSr+J&1L`3w9I>nw+aTgLI8sd^WRa$R3QcR%4Ka~L*xUSkzWh%m zj_K0KE#ofYpl?CcgMvKSWE&=WcaZd5PBCy1_cbGt6s}|)MQrP(8&;e0n@B$b`oMOh z9EawRA>7Bj_4#FMrfL5GThkS}p{#(K)qF-<1K!mj^XM&!uYAiPq$@#c6q0_=j#W&V z9ru>wveRL_^*PBkXtd}DiO7x7Etsv>z(aUtz%jPql)qAHPDh18x{8tx`0%7C%um^^ zJ9ooMj?%obsp`j-qzuBHNTydToEtU)Y`V+xi&TC-xd_MUrdKUZHW;I&{Fjy=fZZ!s zxKp-6^C+ep=6@#L`Eq4TfMr5H85dx8%cH*SWNwocdXq|@47QrBFt)s#jTfmIT`~%e z6~!1*PU8Y8ERr5AzVyNs3n=g7g(XOuVzjiLKTbx|OKDEHLlPW(Frli{j8STym2qSO z;J6tFaphWJiv>9&9vGyvAIYWV=6iIl30W(U$;rMQUr5`lSK<_@-{;|x0hwaIosxv| zwb1TL5628SurHaIb{}>~HMADFCZ+zJF=V_C4Y5}MJK_^dhS;bG*i^a&?~x_Qi0@WQ zMXz3);F4q&;)8&%jzE@C3xM2?qwdI-`a-%4kWhi0x}1<=P%gro9m zC$v?#M*74a0PoY=F{K(VNXx~#ZKwH`+W9Dz^#;XG#AQS?i9l+%97jAf$duR0+Ko!4 zW68*Ro|^vv02w$q`2$*udTL4E47sj1pLv4!;wK|pxh!!e4r$PK%V<+tX9e_jiN52$ z`9c9g-Fdp*XqM#edL8I{W#BbhQFp9N;ESpLs-1f7azZR6B!d3{^CI5Z2yL#~at`E; zw#@D_W`kxdNCS_g%<_1a|9?lQNEpswvmLMUA`EBCCa4`tJ%VjgM>~wN5mq zWhOvBXU8PbAxixClYxpI%{ufrKtT$oK}un3EhA7G;bTfXw*w1bR-SMwJNC&_VdT(} zm{b8!H>Na-Tk7-JU`m-oT#?yXPt!htvQ%x6By>d-`R*6wfYtt02Gj0g!ing+L@8g2I*@ZT^QSla1z4yYz zA?4KIA7t-_kt9Fqc*fw?zBwWos6Mm^A%ACMli_8_cAu)e)2e~+p1BzcK;1uTarjPA z)txj@(0gTttn*Q3CO`nnf@xd=r;~NXZKhxaJaGk>VBTPJ9l;f)b2cFbDK`#s&J-%! zuP$E7PBg{;)br_2$1&K_)-?JtX0#4l;>Bxiz7{2VHBE8^Hbq#qFoeloDLP?bh>mJE zA=eg1nmKL(>DMAcN-Z0ZJ~>$oTZ&4GG69(w+*fqv#c5Bx4-WG=@~wlW_}+lG{fB7pYE z2OfKDjZs1lO5ArA0HExXcRL(ig&|XCegOn zUkMo+TT_zjw}|b8qSE)c=G*q`f|-NdvRMk6^c}ILgD&*C;^;TRzfMXqqKO{lw*Kmr z9s@3jX^~3gx-uGf$?|bZt-O3U!6w+Oo=$B+j8oOPej`EKB*2Z+YiPJ{l}WO;S*}m% z*try`+bzV=H0Q{g@1@2a`0O|F_s1Y<9G;WIk0#1kNHsmUyMds8u;PZlj!biFm(uXv zTgvyAGZ-U{9MLeleEDN=2@;(QYMRA{9L-1#%{BVkMY)d-Bry@wrdNByNQDIgVuI;}1ac_vMb6 zr&39jPdGKJbjsvyvu0wUZP$oUpmYN$O{qQCGeg@2F)ALXCL<8Ya#OpoOT;ivoZ@b( z+k=-|5XLV5050^0sq|Oq!)T-t{ISw&$w7_luN zZ=E*4mi*hWDTTdmcVmkq_<6 zoBcU-d7$-t+QO9o06y7kiWep+X$|$(t_^CI< zI{~#a5^o2+6a@xFwk2nxf~OT}-h#Yokfvjr3g+UOVkDNz^%cnmC^^!fPD!k&(}qch zRkLnugdp=%U4h9dXpPP&D`NOgDQaD|#an}@$rb~ew+?2%EUMccgP~gRMgIUObnwg! zh1x`H6FoA`ePYkjxk`aWkuRb-D%X9+Mw{&cs_V&T7z3#3@0P|bQl9{}39EUc=H<_U z>@zMAr(Zn$Wff=TE6eCUy>`@(dU%|*tnQQ8*~dRQ8cr&;*!RKJG{|T2$W0M-xgwEt z`6cvLYE?|08EaULp!}(;-P%p*+c9)M5kug6Wit)XXZD(sUoe#y>hmZZhkV13a^lF* z{EdWl)i0oZRZy8t6geNXcP*s%WS%uBv{{_G|S~>ZE4=! z$f!}!jL3j+$wGNg$742MedA3yJ#;XOO%9HQpql4R3|A;)vnWkfkqlC;er zLQmPIOf0b+iv>oHf&6e5NRVn2_~b(% zjf~bK?U8NhzP`Lah9QaFWD-;udyH8lZ4E;wZr?l-XBMeKGAyYYjm-%kXk;m}(Ke-s zA-Z?Uiu7@Sk;%H@VID|$<)N>E$pFBsw4Su4oiV1lt0@l|Q}(-HY3jHIsN?rwErmh1 zVxAj}oLXcTMmEVcQ@GIW^yCs0%wxAqA(?BAO^>#zeZUQirH%n6}n;< zsT_C3CMsOP6?04o5n3+d1pIj-zzRdnsz?0&GIY+jL%z2e0Q34WrpAuD5o(fK#BYFx zwHDUNt3eSb-neNr(Z0KoipN9PV@zqby1Qddhsz8{a#~ofZV99P7}GeZCXYKcSp5E2 zTH-xOxbzUzEWiW)SMbU7W>r?g#tK!5VX>z9T_tsF(4G(%Jwao(PPS67XLA$DM1^5) z5NzvIb4%N*QOdn2lF1+M0a_m3M;*hS7L&WsSmc{*gZ;)v%EmW4` z4M#zXAhf7su-^bIg2sZoc;RE!2{njbo8*aCrhZOa(JvdufOz%F&hA+H8Kv5ltwu?x zysPteL-lx3wxjL$WzcDtHUk3GZ?;8{Du_D|3<^~hc#4b&DbJI9t##&m`1IQVJy}Qr zk42~2cFN>jh~WMp`p?LJl$tk`APA8y)!74_(g00=$o^4~8#6N}$(g)X@u)tObm%r2 zXvyT(EcGdDS~Zkz^Fa)8JDRaY;miGRe4`+;xnK`4Jk=+y*uOsV1seM_X3O!4#v3-8)GR5w%T-- z@~aB8e#52_8e%eu1nL+=0NHhi22!RI`Gw{v?V~9X6#|`l<|!_I9A+`Jzec%PZJ}^Q zSwTDRT!1Yz-btLx%pAHcW#%4y(nY(i_yqC$N3}9?2U8NQ`iEyGs9D&?ZF(e(t zO@w2fK=Bnm2P$p>&mjxAp*XOlqW0OQZeywZa>$kv2|UR0k`CU-BpRd;ml1PHw|@Cx zEkq^dD0tfw*mvEu)$xLb2YPZA@*E z2wUAfZUqL%3`>tNk=@(LY{Yf<9Wv0=K~sY8kw!J9PMFB6MSH;3qN5sRXvp<0RUhUu z6wiqf1=T>Q$pD*0p&gFd83tgkj#q)XF2bL$BTH)}zY2FCU?DbvmrthE`;b6xQA$$WU#RlG-** z5;_c!D04?uuYtgY8Et{d1cW)a;%YDkB~je$d@;S*1+KNHeex`nB`IBoHi8sngvdG? z;bH;~;>=2gWCoqbj#(0k2a0*?%j=|G5QFz`y8C-(Obxi?F?Uv7k6gam=?uxod{nq> zMk?;70vjW7g^^empAgA0Z12}$k!0B!6s%<2czEQP9(MFk$asr+jC)(Z>s+fZM%V|^ zmgp!3Kn7vv{{ZumG6Ci2qNw=iU%Yn7!B1Dtg?A$@ae}JANUaVj3hNOa2KcgEYWohj zLeipJf<-%IOCYSVH)BDNEPAWPrxM&1NTp1l5_ZV8MchXMe`w@elqMX$U}V)QoL8nS zdZC%e5*Md@kW?(_2-~NQO{EUxmBJV)5*6xDQVm_|LN+n52*+Rs$0Wgv zd4?92KUOfsyenMD$4yzI#2BP-NF1`z(EZtze4TfOLp}1>os!zz+FdAgBAZiejG2JO z1(3O8=upRA{vI3T8^GCJtgjN>T8UiRtMd?ZKA38Kze>D0{{WT8mRW3gZIu35+*)Y2 zhWAh(WoVmMf95~)P6={T&5_RzkEz`Kb!2GN{6t4e)P0}!IgKXxgzL-K$*MzEQnN*~ zFcjtBPEbpe9!!tQ`fnNPH{QQI#hGu1C#vbO@IXDXSlmpdQuZN3PWd^p$0wcnp3b3^ zcglmXNHni2^W`Ml0DJe#0a6&3nXWD^uDuZhEuh_q2jU(BG9p}Qr22ldWnp&Lc5pE& zLl29g%!d|X4f&DgOMf=Y0RHA!0R)q|8FXAqJy=9`Gezn_ZFFH0uNeS#Rgrr7a&h}> z{<7tpv54IabX8aM-gOisexoAJLuBV#ze8@8P^d7dr`^6pozf$-9JREaTnNv>UV|iQ zglsaKMRhz*z;-!{Co(pf%QX^bHApdw_;{L(zAh|+52ynz zYb_aj3|OLRK~dintJ+J>I(TFm1bicq+qmB%8I`uuajN#fQ5P`bCoC+2Dmlb$O7+Ui zbVygZ+}E}&)T5Nf+=ev8F}I$(Z$4))NW2hhHcKF062y;yVg((5(PHvlWO58X1;-I$(L^R84?&$9!+A= z2gKkJ?lRF9L?LDK9jE}SRM2b=Pk|oguxheiHyda!C9h5kU)6+wjuM+#d2`JAlW?`t zuH+sZ2>$?yWI-M5gi3pB`7!6~^YCe=0sPZCEkEJ1M!VYrdu{&!ILGG;%6)d?(%!xK z5`W=xz97hiedqk*t=^qsHU0jt8F-MmR8z#2=(w2I7zd02|~88F6Tm16R| zFsKd-8q=p-nP9G(LWLEMHBx%DDljrCMhi&lL#ZSAM%!Vg0Zv)1m49~3T=m!ilcb@I z+SlS!Qaaaf!wn~8qf#og;G27O$N<5itjvU#D!=NCX_Qo7RV;ZIt_ogANi`u}qb3*? zCcR_2j+q)z)OU_PD(-t^`YLImxtivTYqfHzp^`G10H-knGT5lCa>lTSU+*^EdY=qE z85Bf@q!W+{3Qe#*>6RjxCzwCpqnR*CKttCi)|%QyRC@MP`mzU_zyH?c7Zzd32Qlpl zRPZqBH^dd?%?!ywzf1)+YD_7x>6Qj6ZSawhDYm443|UKe1>2Ctg*O{yk`>}=9EoNX zMBH*LN+~BE86;9N8?jo~E2TxOyxV@cCQ8XI0P(=6lwr9&awsl4P=T%J|=qN_+${6IeS%W-XO66V6= zwTop@fEr1V3;vS3&Dsu~anZpXBBYrRsK~ zH41xDP5`ZP>v0TF%{MluVUfMtL}^|z%+tdx4QFI@Y6!34mjdGwgVdJUP??1VKAfgx zH{#+aW*sM(Vus*a7TLbdPh7;~cHvGyr8&J2J(&dG4k8hVTcoQ%YBV8hBaj=h zNZkO*#W`|qL7sU~GH_C8RYiO^847g~JCC?}pJ!?d%MnZwVyDdsw*|fw07^Q&p-j zA-}d(S%rHD+38WgT!={t51%IrkZsYJ{u!5mIC+gE8g<7L$$E^L4m@`+NAiBS$Y?v} zJyU59Tk@u%rt6WIB`s}sn*zqF{{Zt&JS`NA)cmb+Yza@_FN*kNX(cE0$UJFG30hW$ zhhyQ2D%&3p{y0^>K$;Gil|{z8@f|V@ia0nb6mN2!wjLdD0JgberpF^CC~4pT{5UC@Rf;NMMWHT}h%HQzL(cyIGPJQZk-8Kthwd4E zHWK9Wd0nLdy*`Y|4mugoF*M5>)Ht47jEX>UT5sP7D%DMEflGX8*S;yI6yyLn0#7FR zQwtV|Cu~!1M*M?P-eLa$BtZM+Gw9z9-%3Wc0Qd}3)#YFFkko4%SUT2LKXAhaCE^VoGbvR505bU791tgY6VZ2?vkEJoQIP>YJ(h9HU#*xPeg zqlqfL4^M0jkyAw^91M_Gb5IaE4)}#7EOsmj>5>Y7l48fD22HHAYDU;lqWcPA3>0g< zGH5Ci8k`}Cajh%c3cIfO6b?PuF!+e@*FTVS^r;Iadi}FZ9xD$Gb(Vt# znLoQMd`|Sqak3CkwEI9EPo%W@Wl}A)%5AL_kFXcyGa5yh6r1^eFpSJPcFH8=L^HiP zivdxY5pXhvd$Kr@UGh@o*9HUTI7xoFj2)5Wg0+#*P*I15OfjSmv2HKa89ov_0hYkg zVJ+DF`ZCn7qzFCfOtXn5E93ITt-=-bRjaYse;kR_aIiQylG~3V*&sjY;J0e@$&Fh~ zuu?%MkYZLX#(-tf&&9h4<6kG1qlH4M0(@z{1Cg-fOYU@d7K*7x@yPMBIMvfbRsz3j znGPn=1TE#7Td7|D7_ppbjo*~ifLD~B zJ9We)ud_l8JaQ6d5$gVwyhlTUnAuD@=0+uf-4e%b`co@zEySFF<=X-x5veM$-0U!r z+&5EkM%$pkm1}0|JTekx5{p@h0FK>q6q1KOY;ovMe6gg33x+VAjdDaaAda}o^gTP{ z!oum6c|XdUr<@tan86l0b94JO`#BS`L1(ajLSCg-`tf-ctyt7k zsmNOFwyeJq-2Cg2q$$gAstYjy4aq%+jx63I`M3GO2cp`3nxTkc$=ji)T4m6S0BF27 zQS&yLsEQefFz;izGbg0wSZGPixG;c zHN=I06{+5Xd{q$*h3&yAk-4C*%4vOg`td!)?ow`#on+lUuA8a9kLcpZR!B5L3QUWBW5(YslT}^A#3flqK{{Y^$ z%*gUVLBmS>VJsw^TA$rJf09N(l)wMi=CZ&F(=jb-w@dD=gB`k42tZ4&Ecl(q8&5O@ zvD4+21RhEa7_LCEQgx?H48uomoiL@xtw&5$uMdWiZHBG|=Bl!gF{R|FlhD_;NeJlf zh!pNSTA8;Mftjm${;(w5wlp0n^y7%akiED17?Z^q_ zeU~W`5^`mNAX)rkv(GE`*=$qi3kvi>JtdG6zX!FMz##}9}X!m`Eu$FA{Dwf!=QO5FTd z#5ult^VgjvO;+4OOK@+CjdmFr<1Sx~7qxi@%xS2=rTT%rPh74$HDo+|nb=@}F#9LN zGNN65UdZK=Gy&Ow2Q2X-;}A~FTh1Et7+Dd3035{2J}ypvpBE10;?{mw)V$59OD(%J zPy@t2P;23hZ07j*LN(l32QDEl}+5ce5Gg*%)%1i2*`Y!N`9p~Z@mHxfwcmNB#>(o}pWrVtrR zk{Mi@?^@vjuGQci_~0zSO`wB_E%)Vi*+|h900*azHW{NLK_26-M2l7v=h+Xf3XYrp ztj)mc^*baM5>VH}EG%Mgc444gl^~~cnCE7~ZRs{)rvg}8(sk-bj!TGDG4RVd^1qla zqfs5-$4c>W*V>~iB?cvvdX~3}KC+6##C6D0DNf_duu2PBfaAcC$l+p=G*H3tvK4XE z5wFqAg-`e^`$Y7V%ng4o!*76j1r zt^gQYM@zE?qPyeGG+Z?6Kzg^)k_=Z3GR&|%pCUstRix5v#^z@0hLn^Q)xEi6#oLJ6 zrbQ@mrNJJvDeQXYV}=m?O?JXktHD@Q zb;6raXz(#S)`L)3pDEyw9urSOE;>B_RX z5jOYmNZTv6N1Mfe=Ob>IzMXEnZ6W!A-QO#=GQgYS5%B@~=^ax+OyK#1Vz@-wN7Sc*D~a z>Q8)>LJsL%&Uy~xCrpr2I8qnBEoFRWszxZ0QeoKPM>3%F8+XYBo@zt^lD486U}^1z z6w?ZAfkSc;vBgT*#ZK5tLVu>!Su4<-$0f>#H>6ryjwn2O=DtPTMV9Fnfr(}n3$V&0 z<;E%eaq#R1&ndQa(pmFjIeiqsO)>x~!Jv{43>FVI5& z4^@Q+wnvE+6z9+psyPyW44sy`4ZoJ-r^8cG_~n42f~B^EpmgbplUe4z`ai3q0sZ0F zeDbnwn2jU!D{@F*+3(|!CA9ami&(;~JO*Vzy1AQDyOW3~85VFB#5Gm*3HHoqJx58m zSq~qcOfaQett9mW;imZABJBcn^df|B;gM|xTHi!Xg=y`8i{{2gxhh_HdHDY5f+@d^ zaL{8DV|0Q|Dqpg9q29glT`~aybEZ%BS~PL<-k3O>fJ*M|77@km=v3El)r1>o!jwwo zXafB?WvGf*etlH9eEEi94{39iR21;rs? z72Nj1PfNUmKQxX6|#eoLejVBL-ak+P)DIPx7bAU0jALPKo1 z22m)8rJy32GT1k9>0iGBS3=Yv9l^*I2&-nP;nx8Pz1p}?qNfxPmtIIo41UlVU}%z0 zc^@OorE+rbde!wN(`BhM2nw+fKFHwi;v$WoWzMq*}##ZbsM&YS=I5FPaX6p~_)( zTZ!u$_aJ`J7-JGt9j)>;V4&g~{6m z>#o>an!#fLKjoHe2r7%`iJ)^OtZ=|d{go6Segd|JpU=9B6ItJWp=hJBnJuq>rE9EWVjZVuUw-SD8H?c=0`;UyzwP{GdmQr)eae!T}=ur<8U6vdEpw}wfCm!oZ7*&9l_ zNNHaj2&Gh;d{C_o!33Wi43YNNRIPDjjfUtExxq`#vvLTaI6zx^-{j>M!dm{*nhy-3 zM|Ujm5YMLRUmUb-*H0<@$Fdi<_EzU*c>rPJFiunxrH$kP?Y5eX8hx@_!9|WF3IN-n z%m7}3SbCI)RP$+#s~Z4Eagj11v%?j;$~@m{Z?zAu+Al7DXm$9rG90PV<`pfIZ3OBc zR2GuM#G{&0wIK2T0Ge|iQ1v;H%*q=})-MML6^hfo*=fWW_>R+jzvi1}H3;zb1kjA2 zgvTW_Eh^(vwo&WU00$s9z}J&3PRd%QwR?glj27l-vf=I2o^G z$TN(x|xz-F6?VB0@>o5gq3}!Klbn zFu&_YzS%lrQ6l6Z1&&r?&EKQ}`y119h>J2*jQrb>@XK09HOVH_@0F0+R3|hW za9JLOa>2*)_+=9fvDxZ=UAw5@Pr`S~T!wAsy*KoQ;=*PiQlR&!#fvGr(C=&qscuB4 zxCgiTr}naa9CBC}nZGn8(Kmt#8G)hXC=`zxVT@YIVwWGD`mU^1Zw!1FqH(1^*?!hu zAjFne<SgaOC0D6(;Gn5UnVn7*)1f;8nxC4! zflj04ie{wuL~Tqf&FbItk6;`7#_)uGIaJ#s9_hK5RdfQ0@287PWi zUSc8?q02)|wnZRb-EfqEzLYfWm9bWV4QtyLeGyTP#~VP|T?YRE7fcO-QbpTrt(ZYb zzNAH8YM$M4R+y!?a`TV__CTgdF$s2|aB1ltgM64xCB?R>>ykyGSveYrgiBb9F%Mjza#a&Lv0@I@FPaG`S4WIkb5}t;cj6-~SJu=mR z;(KPehj1B=lvPlEIYDz^om+zDxmC9incCXWmjeOai4>a00V9(9G{6Nl6?ov0fjgSy znw28c-HlvOcw&N61k+FoQn@ypR*z3!fNhgvO(<$;u%J*rA(16xx?2zUva0)5BGcEEbi2Pw=_e9qin1)4rvt9qKw`+3PJ|z4*Y5E zFc#>gSN4p=n(T3jZDX39u!_44`{eC03})^jQhY{E+W2>2`p66^nYhb^kTHi*$mUNs z1cajIfMwBfCWR)0Eoxs5=ze(>4X02>DvCll91Mb@wPT^`GAZb_TD*|pC8F^4`^T_gS1*&mw4c7&-Y3c|grX^L9V5CswN)I$w4^d5fZ-JUqc!V}s9AnK5 z3fF3N$u-mHzxl;`3mD?PxVmagU1$$VWivhP0B-sMOFcenNneDpJ$5@}4L1uwX%Sc@ z%;>MWkxHK&gg_kIBuaXg_VoB^Po7=F9`>6q`m|j+F#iB$jYqwBi)ILR9J+hs!yfcm zchzDw-|@$Qcc+ZBZDMK;UydFT-n>PpwuLulb-0k_04k)*O~UZW-o0kpPwD00A3 zc0x%O=K*8QMWdz!h^g0nQEh`!idt_RlM=aldt@ms^P$3(%O?03D{oE*2_ddwD8>iI83d8Cz>Qh1Sjl*a~8^Z zt)6;psxobZ%?j5H`whL0Kx~5$c_6MdnC{Nwd}$FK>le%RaO^_2h&TzPOUaDtDFwC1 zrl8Q84-B@g#5)z5#7k-fl;aoxv2Cb4azX{LPMDUt`Jd%!Tv?^s3z4y+8WaAw87}~l zXya#JmKPS9;`ias0wQVJIO z5@KLHGHgmorP>QiVH8BtwLh;aA;{>bBR@ZE7LIE0oeQZc~y~pD(C959_F7e*;YX8wD~$R`zb`K05u*tj72*DX<6eUr^6x*vpX%K zw#~H#Mi#QO>ibmF=)w>}Uw34#4Ljt)Ya-b6_C;%6*^ty?m(IL~^r zzFBNYr4~cB8(peP+bf9doM$Pi)F-!M>PPN;&xD5H)J&kt^gCn z+Rj<%Hm(|GO{+sE8rK19j>=DR)!5@ryjG(m=egS&Yqc3C70W4y5*BNYCZN|EV`?n# zDdKhmCCP~@@ItlRZ-UYaXK8QoSGG|y*-5Ru8;=2%Tagf%#Q>qE*$`W4e2M_#PU8td z2w9IGv-ISK?HNNF*6qc_%BQ1LW==Cs4rtp7czp?42I>tnE2D+gH_@cvKsgBuZ;LA_4()^tr(b!%ZPTa(mxuY4j+GR8*jYJOj_)Im$g z)T<4^8~yoYat4#T#6L5?BHqH@O=ClGEPYxZ+5`Nb^>Z#60c()itY3_9>TWzjpJzG;*i{=CcwXB3NYQ}e~^ zOp-?HIc#yHsTk|Oe2uRStl&dX?~+A5fAS7LN=wJ_RTau*&Bz>{%4VXGkWlcC&Rd^T zSVXNtM@_Q8*C{YHAk%N2NvxX|tfvj66iP%+`32!d*^;#$I2#8gRYF_kga)!VM64iv zIa_T|L*7aNr*pOt6cioN-~jO%8b~yiT_4^7+bj)$rMHKZZIT5f^g=iC_++`T0*ZlP zN6QF7LvpV9C0!7x;(GSPAg$t3qa?*ej`)NXF}SW0!kZ@)faWwb#hZ|EVU3|Vv3kyq zHl;rdsD}8OFG;eSm`ZzQwocjx*=CzLYAEfP#n@vEvrXUW%1f0@j>g}f*aK9GaSgWO zy|QjJq>qN%Z-;D^IMSLSElme}n1fN8C2hd#wi;^VTQs6IH0&^1#9JKHW-~th@}lR$ zG=(Sz-A)k7=`_*pc}NKrBM}>6npGA`$;42O*_Upt8%b}Z;y219T>N1vo;vQ`^0w+i z1Pa@C#VL-PDUW0JMj+D(3r}IAisi$14qGpKaQ!KgFk&Z2X{-^=Xe*VNw#OwPE;RHf z!z(dzBQ&~gE$Uc(pKKg9-X;>Oxab*3++|~C@Wb_zL8oz(ZHpDZkZ+a&ZDg?>RF0I) z$U6D?G1*gN+cF036t+li#{6?8E)>n7Bs9w!NnacMBx0c3m8rf)nFDCZ&eXs{NmP1p z_;$d&)a~U3{$mn0VykVl5t4EOAShWm45;jgqMi9rjlJ?T+iisea3>VDBO4LhAXJ21 zw8EUbbihJEP`^;hNZTwMHJH*4)+(BQIBlztd-wd~s`?i9jLIEJPz`B9a~~mN7~9?E zjYJ9-n^L>wW=)4=t51%ale(HAP$}*=>y_OpWbgn~RCXC)EDL5T>;@Z6w0RBx0EQ%} zTrewqDY!W+MWJuB*fj{++UYsO{{Rawh&^#7Hu!hWjS$x^VYCb_Qbr1_#Ly|@#=qzM z*_Vv4%iP7Td0aUl>^95o#%>^}Hyex=o^EEM?TwiyiO!Rx5?0>s(G%ULtMy5PDYuT z9!z9cS+B*6kxYgm{)*WWhyT*#QObArIfRg{1iX!UR}`ZyX0FE+0*Yo0LE(x>v^~YB zKM*+}#*)eHi8TX!kWVxe_PjP5<7hz52|cMyEP@fC?~4jrtJ}vEtYz#lu~bYcaW%-L zy76xuP`{QcSEE!{4JCTG>435UTG<-mfDEq?Ag*wUN*89@!8EOn9>4qB*psl^tna^8f#pdiNIuN2!?Hymj^ zT@E2BXP9+ZEiGF5bLgUt<$aW7gl(op;ofEZ+>=oc2bW6(p;x+L-~K5^AMpIMGB})L zW#xLL7gvqK>gsvwYD>8_@u>Sbk-*D__D<~WVdA#&kBE>IQ@Po45)>OF9xb0*c~aKX zLelN@$mooS8cL3?catzkW=dmkFFMOlgmfb!*c@(KuZGmX%8=JrM4{gsV@PXZ@D@EX z4T){@Qc3}d2@4>Q)|n8f=lF-wlVDP9TG$oi zA1?WX{{VAw@VGQ1#+g*2?QzeEnp)55FD|vrYNs;o5YVeFNX1b6NUkb|<5OH9un0@L zbzwj#=Plx4Ad+f2Q59gLZ+x;P#*}-~h8$bs8w{PWmir;(kK!kwIVKz^NmK(x6|O9) zV?#l(->yllg)$8*-w0#Rc9G9qN>>N!P5`TeaRbN4B+0*A0lD1cOjL}#zAp{&q+fGQ zAs{gCjdv&Bq`Zx4Htun>Ec7bfF|+`S5Lcka)5432*VQ|1PPq$YBAZ2P#)H07BHhA{ zwuiABWE)};r)mMy7HUt#SDsFoNbZH0gV1e+HAq@oErre6pgk*5^ku=tka_mGApIjX z1qE|Dwsm*9wTo^jXfh->#PwxbEx}KRuYt-W-t?^<#l^Q8)t8{i6=Z%`)n(FU4GF3f zy7tOhOOw^C?%}ztKlc|@yx-KW}_APFC@e46SXq4Ht`h4%NLQ_t4YU#gYcZDQnuk1ai;m% zZ5Rvx0NtYrar#T5VK5z|#y_ zG|SJX*jS%6(X9^oUsg>@1%0p;Vqch?S4p{GD0rF-z8u&{?D@!$NGG_=u;W_R?OiV5m5wam|>N@X{MWd~t z+k8u4MnfG=1O!i}2H0+r7li|<>NdzW9!YfJeL+!DwZ_r!OXnoh+}8^}6a~cUDm#w& zLptb_JJqOn$$-T3P?d?P`Z7Q%=7nRn7PghDwWbz9V5#4>77e@Yh)Ny$WY`s|YA`Vz zmjOXsQX6y7_~OlNE4~#>Ey)fD%9|dKp-t+>8{0542Wy0~-7Sj{GYU@E8$8it>0HMx z*2`=n!W?;&=F%;;%W1)!k;xSW4%uUlWULy4iuM^}T`0>n2K{orjgg91eRH>3(<&v( zgc3WOkZMOKAq z4pI&~q;}g0MJ9G^98$aE6(WTNarHDX7214rRgD%^5(CoqRIuOG6hyjK~s}b zfd`2UI*db9o{RZ&=eE!l;s9`*sWtY>}&)O3x0`eYS&4>!c{LA^vYo=TnZ3H)H1w#n{HSpt> z2(?OG%%{qJZ?*FUvOE$m)(ES_tO;M9Mo~;;pMV7_dgN)J6Kz^_-v~vdK6lp+g``~H zufsB-5viahi1=`jn|yDoX!2V?_j8a8gtZA3CB7rJW#bz)lVyoPxg_OVb za--+h1)#-65>BkY{#5ym$1l;-0oajDF~}_<2&+%YZ!_H=g3u`)nfU(z z#<^s&1aMj=7vq0=R8?CGx{fju5wKD~nyLk_o+%*`YPU z#1uCIGAat0Ql_JN&pjmyhL zP0eTk$Z<9Zo`_MaYMQid`XHnh!k|ksl1)F~ag3NDn1cD_&5@8xIn4y7#6ZAhV{ zXn)qH#ekO15lDYLSb0awR;e}hlv7V%-6L+~{{S;(q88J~y*x+G{$!I|oo+0Vbh#iS zgIW@Y{gZyyWsE_miAPNQ?(;5y!YkHIUetY|F4B+r>@vAv1;`U-+Hd^iPnGXfJ?Xu( zkgz-$a#{|+u2gU_;-y_f{&Gvp0i7bU)Fc%Ya1>Ub%B17qBaWEfx&Ht;1FBrcuz6b7 z>ap%iT>$cbz~dYgcTb6IGgj60k2F#I&37%;H(376fATGU9LN~JEoXHblBj|-*eDxz z%j>y;31X4Xl=yp`nJk2!h513DjcZ&$z!bFxX0K0&?B*V6H$>L&WYwor&S#dAS8twT zmX149vDdCGNQlTm1a`$Xfx1CcFh&%vNv@E$qmrGmEZCl_X;OXh5~T3k%{<4UD$HkJfveXi&B}!MRW!{` zOLYQqMLigFIggSQ=VQ%mp3d*p9>>QqrL&d_E6^o&?~w(P9pWe{Orw|q3F zHiVTCm%d6eVJM{c`e0?>rd%a%DG7A;%)2nI-EwxMZlmZgg$_w+MB4JH`YDMmW+)>I zR+QVOOct;k`l%b^X{RljYM;Liu?s$^PRF)9OzPTuLJ04KNv!iz`kQnezg80@nC`i4 zh&$loO)HCVDtlyY94j6kBBOIk<7uiWm?BmIg?GqWLSqaZdUxxP;%MP9lIW8u-?uWRfDr7qWzDO3cDnUl#(#`Lw@i-t?z~)3n zxS1uw@{8KDmTt8*&43#^lg+y;rdA)wI@cy4Y2&74qf5#@XKHjE^9DiA2E#h?#-dVy zgST9)q#I?jxP#*z4}7S$b3|!=XS~v!NofB75hG)`I2ah))3ohu>W~RzBa;pP0FDBB zG|DQItFR%d!M@V=KSo>)HPaLGZ{^LFv1;$7A42k?vt(RUZ2%1LcpW_*m1`o2J11peW&RDY|=`(v=c%_c|!fZoU-E3 zA=R5`nzG%0qDYNzayK!_)}PEjnQ{`@17zu!ZHLj6Qqt}_QzQ~iGyxdf0$crg8cnrR zLrh3y!oM;mu9b054f5=K+T{7(VZD2inQk%JUO3AAI60sdp-%PR0cJOB$6RegWjDsu zhT}uj?TK2Y#t?pZQEHx;LE=tE*Ouxf2H34VfAUt?9X{yOb29$`#B!-~a=3PS1h$|L z3hlN?Fgv^x^BFj6Qm*?d_x8(1;i!v9BaE6?rX`6snn4gz*CM7ii%3cPJ+W=7MnN9{ zN$Y{E1MMnIcv0+gqm8dtEwS#wLom1Zs6(zyaz0cc5N1k`oxGHk+8eBkz`NHRQ< zw+6KtU@b(goX}Gw3ldakP$(C^6a^vx!F0=#$M(Z^fGuei86brRY7CPC=(jY)p;Af# zOn@s(UwUMg>0;rf2V{M_)T!^4otwt&^U951hPi{7yFEM5^cbk#Ij)g*@#OR^8X`8P z{qr1z+a|FfWsz~_n?)c|wpv^{3sp(U*yMzm7`f!Gz|$vc0uE`a4Nuw1q+8<}O0^A# zUcE8^TaXfQ3lc%wY_gC_VWgpv)JNk?f^MSDZ6gYxW>iC`$aizb6l{9rsX5I0R;xmgZO0#SGm6TVbUIj~{6@H>o+xlwu6ww-%sL`AhvW*w<~J7#19 zub5*ua~hC4oXHNb%FtK8xx4DSc5(S{d+~ z4=ikoeIN)l_;Nf+d}}6wCzCHEv(yz$+-!L*Do66>P?fY!4^;fA@|T)#hv~f($EBp= zhDk^FgZzP!C5&S9HuA6L7+*>qZrmvDVyVbCaHRfV@|Wg)ybmpwu^r1O-XvZwf7Qeg z7K7(+F!|5SOLW%S!%l9{(URbj!k<6c%e*jmQ@1oGt918JCEUdNj44jk8FWo-(dL#% z(!KJ+#?^{*+waJgJG$!eH1y`Xw?TvpRDnH9xoYH=IVwf7pDFo6^xfokQx*!sr;lJV znM#6b>lR;<8bDpWM&I_c6UHuBh);C?0LkAkmaMUJ1AmAPxI9wG#W;)dv&)eDYhx9A z)oWad%ux}tXAhLLt8i8eI25;0z-2aBQd6#ZapQoln4&q>rD!NW)oi=PUK&X}xA~k+ z(bKg=Fx@A@dnqHh$x{u%-RMI2N)^%T^yNo(VG`E?j_h&+W?|)Dozr@T%`330WzZJU zn{e|L8&IB|GUp8J(;tSu86^cm*a|W4T4F*-v_oyvAPXTHLa_KvI|6a!yf*VWs`4`r z6PduUDBCMXYH;|zLbwTG&5{cV#hnVDyL_vSFaOl!vI5Fj^voqvRi|817oj~)Hkw?o z@l^E1QFhk@79*NAIfHHCizSl7%WoVuw1<`gRPBT&lIx2)3ZA&yD`dV~b^?H8g9JaM zNT*y&Fd9o{cL)LH-~~_IxnC1!3p?_!t0s> z0Gv>o)mOouF*>eFyTx%l=x7E}v-}WOaH~zt-k(l8|jRyGs#8 zGN^JpxUb@JvnE{jD0%fwHq3CER0f@S4Zqm`0L{5wvZR=K%SN`Guht9KpyF%vd^sf$ zw6^cgx&vJwt;cl~oku8MhMpX9C3q>TZ#&;=hliH!B%6Ldt;(3=LF2`~C&5d?jnllT zc|89BS=Vkw+pg;zX~r;r)vw2cn~)|3$nAU1+CP_gL8x4;axtJqsWcztr`gLqBQ4rw zSnj>~!=YGPH1@K6VrqOU0i{n$?UutE12={1{$aY;FJ!&FZft(Y{gofegEJ$I#|0*5 z{Dwfmm8rl)^(9Br23Y|}Ced*a0OCL$zdesl zvQneT0HfdmMQOMhQ(#8vzFE|@>Wd3@n~v>H!kc7-_*v5)Fv%RxZy=-Bj~?KRl%^%g zg+0siOGg@Zm3gTUOtZ+Sgb&#R;>~tWY@}#1YuJfpj47#ZThh5#M;a;@2_qWur9O;_ z4T4Os%a;t%hz&j-nM;->vT-#6liv$DAgxgFAo$|K)GlHb<=+;-l3W6o=LG1`^CMJ!eklO46j{?Kbl-FhOzU#upKi&@)h}-h}j~Tp`4P zn}pIkN%JgofPcASHywA(X=ArK8JR7vvhh&36zj3BQ{lNIB50TK-F=fv_BmXGZx+f^ z#KxgUEcno*PzsIvj6kI&4>Uyf+~mU(6uNkWS8r^O6B^wtlF0AJw~ks11IVhYNpHAXmNsQUdR*6HTy!#Ky|gZ$nCM zMjK>fMY-S<6#GN2Hl7s`ZBw^T3~h}nEw2Gyrv5&$~lbIm2)VTd+L3H~LyE>oszvisI$Q!ZXP@2?QpF}sP-Mn(a$&ZpA zptUGL9YMefBq_FPZZb&WSz7LJu>o}}vBrijib11Y8 z(N^?&q3e-H4K0x<2pw=X9fLs*7PZAm7_%Fyk+1_K1+gs<4*3==lPj6JZe zy}$BGFZUMAdYAqgRQb6vHXeyAVxJdGK}9}r^Yio9F1vt02jn-)hQX|assL$I&|qpz zBaXOfnMNX#DmK8$wverN+~6!il$R%or(CQy5`rYizWFw=RAmK65&K5JPDYyqw?LTq z4rih5lcvG4PkZ)>?lNE|M$qw^?s{PiLX^rKi0m-1D0xR7m{1BGi94RSvu#CJ3dL67JFO&nmKqRS?woD*}pqk={qOF+Hxe09B63)D!)oS<59KqS? zi`6{5pi;f_TOjUZ$>>^l5Ct-#sol8!p@y2IkB!GpnP}a|AzUyUjF@YrJl9|nD}a`9 zf&y!$j2d^yb8aYSoJ~MC!VzjSjsVh>$tnWNSrFWW>AzeQ&!J|Pnx^#2B3wD)N8Dbg zrOLbbWW=0!<2OuiQq|VHRQ1Z_U4$V?d=49SJ7ih&M15H$z^gq95IP)@*->9vFn|Hy zB8s$iwe3dd4Yf)L_~#A1a!xsl)_z-)ia(9Z zNTi&Ll^31)hA?VJzGOhOTd*lj)G=%dl-LR-wyP6Nb5Y|&oGg5m| z@l>caG&}tmcx{11S^39Ux4AbK_YRTPslpe`6S+J)e}^-xfaF97XXTu1Nm~ul$WFEnnYSfoK_a~ zF~Gb>F8=uoV-Z^;i1@bJo*3IEnU7LVB&MG@{{YTYSzFxSY4WcTbYnct1xN?>vnL$5 zn8;9gMyBDZ8uS^FPB25SP&?r&kF||>w6Yp1j~Z9oBFlv=y0LqM^@+#}(wIV{H0waS zfm#aJBuiIUrv6ds-0tMLV%1duZJ4BEVO-cw-DT=*?iFn5y zNZzUq4oithq;KhIN5Y{Lb)u*kIGEDk(|0wmF8&*0#sAgiaw%TD^9UsDqVey(B?}&) z(RQu?l2+I6!m6=QbjXft)e&zk4oIm-thF`3q^cF=)4oRAH>5oF{Jt~LZMI031g2UC z<*u>ja*L+hvj#tD{skZGn~q2tY~cfP%wznN^8Sm)GAbXsgA?IiMYYJaG| z5BxSpa;@16GA=iMWw@BN?zJFNDe1usYCqt<)>Lyuw!;Ajbqmcp(&2dC$vlovR*{K6 zFc+=mN!U98pm08At1Ewa4(}$Uk)< z4xvf?lR?uEYnvJ)n&(bbQh5xK-;#p2)9figYfOO!Hp71~yx_iDwWK6{dG?KVG_U)! zG9e4*(=z$y?pAks3M6m>Y-PRfWFEf=mOJr|@qisWjLLMfP$LHFbm4Lu|BH&s==p2kB~ zbUX>z)NaEy`l3ZsmxKcnN*D8k$xmr<`fpE9-McTVPN3J1Ah~WCH34r`(6sl`^b0LD zNe-wP{n@@Ou4cR7@nl|Q`L7s1FbA83koulyZ2p^Z3~S?pQ0{VLBNj<%t4RQ* zPGXq3f@M0h*MU%E+>Ps$7zWtPruO>V9mDV7avTlbD!A3ld{QqGPSiEP2S$D(yI;n_ zho(lGc+m5*w|=|iDVQM(Ed@Y1CMJ;VyvXI$WP=Ts6tBcQX-@b{5>*y3#H(+DTP?0w zYtyz1Lhnc#?UD@E#T!%gokn}kgbOPfLQ^xBnD;{!pG*RJ}(+(sJ#m`#rUko(W#-gy9YSW$( zFMjzrpp>^**U=ZzhwP7S^6GIXD`B@X8;ZAFz9O7iEwol27F{KXO_x9#f^$Q~{7+1v z}!OUTmW)q8Uj74eO}~M zsn)rTAmqeaw2<*MUV!8YP*HZ0n|2dNQdi$9kZh}Z$CbRr7ONki&IQT}Qk_ThWEv$J z|@gnwDH+Fq=`&5=7Z@e2t)t+4>qQ>Zynk!>5N zHX4{(Q1r+R){PqG~fEFHko7^1^8mh$*u9(@VP|&h5Uha{mBfj=_(!9GpO4 zQz>AY-iY*=Q*J*l`6P2~STzSiJ9uJR?w3hifeK3n{M3%ROqJ`m)0V)nG&#H`NK~Fm zGb-9RhegV}*8>||VyUl&DZ6c9+Y}diJJ5H@1sgPDpszuN1;#o84_u0ALC+n>(}tAu zP$sR&bgoGh_n*l~_~>Zo?K3y)%5phCPQrPyC8Xq%wNRXGg(D-5n+&SkfMxzsoCe#sT*b`i>E5%U&L}C+ zX1Ke!7HwgA2?CpDIp)lULu+-w1;RIJkVT7%15UX%JS`1Mp9OM2u;EMY^(8`1^*9-X z1KoOpfbM)STNNe07Ohsvh8U#F?mQy-oR^DuaOP@wS@vu7ISImfbO)WZVB8S@(h4P4M0RHPDH5*ot~y2YVVV_qZN0$ zHRWBg;$8|sJ<~BP=CnBiTX<wfKmoHUSF2EN=w5wXj0qHGUS z_>*%@`sTtet11sjwGqVAw#`$Plf5`G7ikUS37wlS0-9&JN*=tj>ZY!1W!&w7im4PB z5)oFdQNL`7N!xXkwB#ZU5! z9IVW-kfdd=o-QmAmdRs@T-1O+jzIdkq#9L!%&lGi7^VQygZ$1S0hba6>&}|7TD8IT zJ*kI;DJV;iFzRy<-&vEFe~9D45G179h19hVGm?7zM-VMHx)r5n{m~?f;2|K}Vd@C+ z!4TFL7AiK`vPB_jp(2Kz@X{{S`rhOe#%iHk5NO0ffTv1Q|*5_9?hn0I~5M*{iGEkcJ zJuodPG<0enrz8Uos(z5J-MZnXRJoK6nHF-`u2a9lDk=ElSXSuEWu1sbLh>KkUZ(?X zJr~P=lv=&$Ta7^tow4rY;@|v{m9gQbQFxw7{JpE{D;?#{KFgj?Pi`>&&KtCi&{w{0 z^DmuLEELi7!nIUS?}+XGN_;s?rA|b2=3AeoS4Ge)H01PB-6WHtl3*RrkH*{Q5lFEhgWJf$+S&Prn7sm|&+AmN_TqSC}TK=Nu&T zD8KVwTrsuEOiup*Qn}Qw4b|&2%ztUS<-!!a!cTPcO7f)*DV7mTZ2*iJxB4-pq6>1^ z{38}cN?pJswh$Q74dM=VZnZfQu?SLvoqjBcV*Qe zfQt0-|g;n(8!azXpkR`txD!shofDOEIEyzm? z!OR1>#gI+M$G#{*UP1{q9dYW+B$7nRK=8?cfOkyo)m}Q0zCf~4;8lxc5Ln)~8=>XY z3gm+*?p{~Zpuww!02V;~8acx+Q!?(2gXEZ-a%8h>43-aknGK z!y&@FYVqp(@nN+w;Ai3@*8VvtItoyckTGtKML>BkBymCG*B%uUvazI)P?5-gFu-EZ ziDUh?_hDMSKv=`~iawMIF$uv z&9j~IG@Dq=sZdTCBHBr#R-r#Jl8P0UWb9}#Q#DVlMHuFLWJpLmHu{WhA0-Ub-)tf+ zd`MTicRbW_2cRc>mkU=KnVC>>k%!AANE1L^YSG({G4-!pv_-{~=_tI`B)EFik%xtk z7Rg1_?K5xJE&-1fs7eYh+Y^(EQB{B*Bik7kQDoW=ru0VmMq|rn!OfCtT037_8+&;; zvhI(z#A9r!32AWG(S{_f(EKxe$A9)&J|?mi)W4_-5>)s1$jG)ukiDVwmQ&G%56>$F znNbL7PS}vhBD9;itz_jH-yqapndOf+TWX8wPI%6}zF*6LupyEMg@+dv@X556t>^TP zLYl~1R*z{dP#^O#wpbV{v=Ei?9{JnRmX=XcQEbT%7_BmvE zv6Og)JO=knn$AN7!jy1mLGc-s8}u1&U(H@Zq)jzphO8jqe? zZD`v|nW0exl|CLhDr0Daa-dV7!bLJBl6&-%P>_eH6`;TaGPG!rS{_O9KU0emH%xTv zrh-Z+*yVCdC$lqLI4`is6qI$urX82>$b(VEXm=tt;OyfNPYPZm7r6BzW}9 z*z* zD-xB4C{?=spVg5i7Kyg=hNl#KZRIep`5R|;psyhDBOn7~Ku}O*!xhBU0ba);)p|L?nr*gC5;Ukc`#WJ{Z4eL!uKpPT zyK7WXc~h@kN`;G2xXA#(ZEKj5Q;-X4e1Y4(TTBNwmWp@4&2ewL0x5IuwKy9&1U;yt zk~-vrTCERWgA&McL23rDko)hGh+`eXoIub6kzs0#rk?$$=YeLM9C~1wdt(A1m4)axiO3F8qPX$`gpBy|)z_+7mACMZ&#Aba} z;IM>JhC|7S{{U5TGAZO!xPL2rrKRy}tDBp)U$w%KsW}5WD-us3_9l^Q_IgZh2bXl% zeQ(%fx%rnFT(TrWQ$NjJdu6Wc@RZf{HbO-jJ8yt5v46FUr+bGkI(9p4b0xAf zNl%I7_?Vyan<6~+^6=_Mjnqp|}zgiML?6z=^aB<*C+`aemk4U<+(*?!UhxgwSsT+a+05@hA z2)699=+2l5*9|m=nuJrfG@)-^xdO@OpPlimXe}u;WRYo3_5T1TzGh+O*L%Kylu^C& zB%`ZQFC)vS$%L+z=y0zjy8QD1cgY3_8+9eA;fYEnQ^-{A2TTEkmKiv&&mT2QWn!(j zY!XnX8t>1qjwnQe0QT*H5o}FQwXwntHvrV{RqMVECMY5|uH=pOILf$I_P4VBMe4eq zr*m+ZGm~j+7$7+0c^#Bg=D#dJJ2y<87ogv9V16o+Y4qhTF)9}v<3Nh^pxb}H8bCwa zLd8!bQ;Q^AbBGF#_3f2Owkg51dxhsym8s*xUTcGV`_W;CEzHB|&ueDfg1 zgk`z~K-+ACmrD(ucU`_%3soseY(U?xO48LzR4;y*6e#^^)`0uh6rv;5BnlM%yaYB{ zAZwgW7+1DL1PLm~e-r(rUPo?%gkd3&lV;-IexMHxv8Hj8mgY9uU4c9G#!*O<=v*T)SovV)TO-Lh1IPeqktD)^uU30Q-~ zZCtXL9hSztj{DOiXi>eDP=HM`$cDKZUlrVZE711BM(vT7%9a|0izh0Y4}7zLG#MU` zM)K|J&28$x!o-p7n0W;kHyp2;r|8A~B@Y%+9pU2s9KYRl$Odu@nr|syX`s?D#YqG% z^dl11O>#lo-}I!ZLUEZf!`)do=U2Rr+kWqTWLKvRzt_$at=w4s* ztP&9g=ffxSe$FmDqRat-#YG4?J7}d5C!$9C6Sn;@G8~jO&n&^Kr>v)i$Q^03f31R+ zGN+wf#Wj?M-r#X7)|m=y2XxO$yC2;+sHG@!6wdmmx*9E?IG^LPf7v3uPD;>2T94(2 zmo+C7$!x0UerfQZ!zK#=5VC$$tRRgOP@dVl2?wZy>3@xI*6mWdVw&Ey=btM(ew48N zCu)L=EwL1*{9}KJW#S=)8FEXm{{T1quc@fC^9GvG7V6SO3xn+7V6w>KAa2Lcm;9Zq z%_8Xb8kz9|6ZG{Rc zKzQQT6z4Sf4_uPcii&+0peeH)l8#FV+MV!*1*RJTiX3_jEwNNh_8Ao_QVIY&+P}e9SveT=5 zNFCo}jWR?Fv0h4RfDMvL4(C%R;i>uMplrYudlSj3clqRG6qZk?$+sMdX_EPqVot*z zOot?@<4g=H-A`;=2}2z)DcMh6**ikpy%`v7)NVbpcEtw=m!0as?s9h45!TuQ!W;R! zoQ1an=FrpIB1%H&G*m|90IBxKT9np?CD?Sx$pEZ&^%kUTatH}c{jgz2>)R&GZpR*3 zEZ^ZLiTBCUZ8);kxq)8310q8pQBA0F1$&H*GPEq(hY)z|z4Blp*#4z_k6rKp#!MFW z^%a_IczYBkqthsDMMnc5=-E(1cs82qV8$)Q!N+X)EAM1ag{BHRGQ;bSZ zs7C#c1O;e71Ci;0Dl*DmgCxmyyk~QTk2RCGEwNQZGzCsY7T^sqGF1;yD~j5rdzxa9 zsI5w`e2Hd?wV#gO83nXwG0YRwzA8~8UPb4raalF&)g$)Y)FyQXl`& zBjZs+m_yAsx(e#Um?!YXumzfDmhLraOatrzSN0hRY#SpRdL%k3Sy~HJypq&Z{{VAM z>-$Dbr-{lDV>*O#`F`kXKcsFi2&f4;9BJPT+QbN*(OzKI>~0ntyAoL)LoyD;_CMuh z;SMy*KL;j0o@l<9hcmP`t4=Bwm8N73C?T#olQ*mRHrv&U(zvf80pG6qtpkMa+brNG zT91~|e%sLxP%^+8=bF+jW6c^~fV>y?^NskAnvU6Xv-1fzcmJf_m-y+VE z`OgwYGDk;1PZLhKB6m_1qlrP@ymCbm8>fC<&|6l#5Fw;Pb|bLLCTKR(Jl1@tYb}dg z+C~;w(yDu!W;|uPQReak8!Hq8i+3LN%!_5w?_ZKSf7JZHCZg+ByPlsyW+rZJnLd!p zB}n9D0e#L=Tz5$Tn1RI5o`<)-DiL<}X&UfjQ-vzgX&$Fuy|NMv;>xWw&rT2zh6-c{zM zj3U67gz8_KI_30??Qm6Ev;YA?;hEwMMoeN&R(Ym35*}_%OC9T(92+%8Te3?F(QttN zzPYa<+5(skpk-1*sf(8QS<;EM1aH#{KvHWZa6s>i5)^+&@5>aPNLIBV*ZH@_fGBs0 zjn`q40d1~jM*HEd*qKmiUBw9BB}}c~S~cGQih{V@6Y+RpAtbEz-27f68e3S-{V>uk zvSb~4cECbO*=u^F0x%GORXrAc&ch;r=C`7QlS{bMe;u+#Ry(K^Zrfx+sk9)PkEbna z$gYr3AHyq1NVSBkh49RX4V-L-iW&u}4A+izUE2g{aN55-s9s^b~%rj zY~^8>dnms!PipGQRrV@;2Crd*v>J z(UzS@Ly=_}FdbUM>T;NzP_I*gy$cu$D7||7;7R1G5(eF|Shh6upTAx3EJcP@<oNNAulhm{gpQ0n z4p~VXJk7+mR}BrvDA^4NJ7qN4Y@bKfM!@vS?VOnqno9`&w{8rOe$saz<&3&4N@1sJ z_V=nJfFfntwDuW0qZeIOZ%5QP3r~Vju*t>WrmWf3Z1eaikIpm1HNKd3UZ&r3mr*hv$v8 zD#Z)40gGryT3Q};9eY;|G7og}nlyTCxRYk%+bIr3DtV@LhfbN_We96bkXO#KTr{i! z`#E(qkdLyr+NbB0o@@$khlv!}u& z+x6U^6VohyDBNzx2xLOSIONv1Lzkh# z7?l$y_*%-K9CyW#3sB;#gHYn7&MGT~iXW8@Dhg$5s^5S{lb4LL(*-Cz0L&8Y!Q_mDRV&jVLpw*?c;JX^Rg&|F`Q(UFR3NO6 z%fk;wt53A~tGC>69&2g!n{eOg%8C;hRCHQwvqaK z?z8XkLZ+5O*OxXR_ z`(>1iOAYtbelL7!7K^vleNT(NRzqkjp5@zN_HsZiqhB7R2@+VSc>^hvj zBfZ3$UYDcP1-cFMCbn>7cU`D?lHCAR1fHgtfW}3NUTQPWScT%G_RD~AWKdxpnuDRs z3tIJ$j?#3<6%9O~{43K4WT(cgFqTDK+Jcy>9JU4}a-3Ky_+(ogn6Ov2JDgdC)S(#? z$gfjV^2jZw5Soy2NZmR5za$4BRzqdM1ViWBBEW@JQlsbiV!(#JE>#_d*h^b%y(@); zn=$eFaMCHU*yIBs>Tk;=$K2{r*XaB4WJ8$L;)i;F79mSUJ&pm*CCJ~ilL%B-;%Swn z7RSPVcnbA#UOVCx+M6|fx5=O)2_*F$ax!j+ZMbzACO5M{?_5e9 z%D)eR!4)C7O@54%E@*Oj5%2e5R7H?fkQeAGaR@7~brq5J>6M{Id1|Ei^~r>VkRt`# z?DfKVDMsAtkSq%vT~?&m00;>!kH8^HlLSc`h_F{f{lNhigz30~i?%R@j{QKre4opv_4y?t8;e`yV$^QVC`nQ?n zU#p=@aMXF3NKyW-V;r?%G4p#Yo^kT`kSwFp+Fw=T6)O{rH*8c!L zH7lnnrNEZ4AKGt;{{ZHkzk|K4j9q?Zd4gsP_p&J-6a)2S{0Mh42DesU%?~lg{{R*1 zwK^#PNk| z(YYV>e`_wnX`>^-p*!w+@0rBx))&Zn3=x$EU==Ctr<{a@7q9G%&)t#n7lj9V<-Jzk zKT_h(bwgSnHT_ulfrkm|mg%tlZgsa^+1MoqUCu^Q*~p0G_aDqpD`}op@{3zr#v_%= zDR0_i`+1LyZjDLepzye#)Tqq4G%k}!k*!+mdMTxQ6Oj_xs$A0e4M)S&^~)mON@1qk z$$21x547fk=ao#Pb9(QT^cZwoRZEZ?D{};$%BClcnNRO+wn`x!decK(mJ=W2vQ2T47|D$|<%)sv1jvEy!Y$pk=78NU2Hn zOW#Gz{J5+UyPEf)G_U(Cvk2XyXJ^Z{dX?R?{cbie%t>NUkbWbZG8oz#>r$Texm-x@ zeb4p47)YUm@HGQ1X^frGdnu?Sal~_AR9YT`!zFA8weeeWH9KQzq{J7k)s zSXJ!ayv-@;(=(w94g`kmr^sGJe=yx~nT&Sp`&8D6+x7Gh68(>0^0DG0--O7BdCHi;wRk>IG1)-$;JGTU2AywByhwaarX zM}^Xlg@^5blK9#p^C*_%O>q^@%!Y&g2E<5ee*AeRSZST{{S)O5NJ1# z{{R)xefch}RlDb{zHqptgNN`nOry>vsdRTfBlTW#8j-+DJIh7dA z4kajgP;xDj48og@z3_w%Xh|NsWP@2Y(hcyjaT^?43f0>d0eRY(rcJw0Qwl;IM=rQp zY1KV&GbpP${VC&@p++11IF`_Ndu5uNs1`!?i?Gku1jB zp(nQ#$Wn>%Y@rkbaxhW|Q@Azh+apP&p8iUT)PgcVBy7iSrLB6A@0Ua|kz?A0*Ba!= zVG@(b?Ke%wwn#Dvm~7o8SkC;iGAW4NH(NOXJhGc*AeY`JHVfDq94tuL0W=Z%EEsH0 z-ZDY0=KB5Ex17fZOxok*>arcunD0sII%Up1v~CrTASiM)q_(n?xY*)YtOT~rg+kst z_~OZb0F)zh-xe!a*L*Bi6HHXEQ?+qy1;qBnZFz0J>SR-D@g4FFijue7Ffnv*Q~tIg zN@rtMG$Wz=@&vO^i<*VXlgW8NcEDU~RU??8?SwTQ+Et}aOfVwbRwQH#AiOPh=m(E{ zk_y0bG|JpntJfsLyV^S%;Y^$B@njMeDN)PA76dE@iTUJ`0^lh^I@b`$v;gJE^zY+| zVpWQ5z6NSU)`a%P&|Jcd8v+Zy5=$^O!)Ry?$>^uH21RgDOfqB9XkGG3;|%3}odXKMug;iD4AV_hc9?BwI>4H?~(+nCz8a*~-uR zy{pvaz^sD3()w|r8*h>7p?xDi>~_eriSKC?aw+!=EM$AtD8z9+Yk^_t%l>2+ahYQyg8j8^`*g}Eg3qfR^L4Bm z`7-HI0rf@YIUme^&RZFDYaukV*6i$Up}n<5dxIER5YuK|voau;2PW1-81omIbv;b_ z*9@wHoMT;pALV4>7O3(|#qS276jmJ%Y{-o%7M4#T2Z-EdjPGXcXY^%P*wEBh+af|) z4zu}-t?Gy^&CjE3wEf&8fY@>UlksH-9BpD)*QlhH<67=X+}AJR1Dh!uRo3G5<_l{ReU^T|I%YTKhjS{ei!ZhOfQTxs-Sa&T{8pI*s2$7% zK;4{qW6GAEUxeFQuUc|*_KiLB5>qmAIwv=F@y{DUD)L7J5%cepfuhqPVe_uN`E#sk zH&RNkib)Z`Y()c6RgAMA3ONH#>hGt0h5(|orW zTUhzX1wB^*oBnOgb2fa|YBGg9PsBVsVDVRA!*8v$4=)zh=ZztecLuwY?73mGHf0h6 z$o&5R=h^(*aII4fq<>)!`~LtlW?mTAHxM6I=?0TxbsMy{gi)B&Y_evBr>i{k_K2ER zm|#z`p#AxY0&S*4ca&SypNpwEpV5+Wq3VC5FCv_dTv$|oyrOp5)$MkdiFW{z55h%P z>CIubsU^2g0ihpfBwEtzodq?S;kG*lbtm6?<*}6p=(?-aHMFflmhzNwzKbR0s z^!CSzv_%yjofW%sG_E$8DNS)f#di0=!bvUqOEKdca*>YI_sc^>w@m!G`B^-LZgp0o zld>;Uz7w2{gGh_oJgMdQY|&%4K%+5bGFt$o-_Cwpk66+sv}NSsc_AG`48IJTq#rO! zl3UzR?C9H%deb(u7af{nYF5as{NA*qFA@a}d*-mf-zPBYEYe-7-#({K3{pj4QHN$5 zsmy~K4m_o0@BaXo{&$C6wo!Hp-9`j6f2^ZvKj)@l$|W33!v6q9O-kIyxA`ZzIan>x zFE7+=p2k*+Q9?X$xggseypnn37PjD*ZOI(~_rk(*;pU&|))3f7=&0u*9}^D~lB#er zPq~R+`MXfkF51%e0OPZRK~C9iSlP#kD)Ihc+x1{*JaSwHleu=r) zjqxeui7s%Wl~Piss(0|h3kd|lbv|*lGbnf)s<%Uu;$mTG9pB~so$%#jAxR0SM;-qF z$&$Hm6G6saYvxM}y&c}#b@a*_8jpOs!$FC9K9Xr`2_MQ1Av`A7*XH%*bU7$?W>p_S z$;58Jmxfy&M0k$bZ8UREtzNx;M%YDb!4nb? zE8=lbzTy(GmIDB1Y*JzS@;h}nT!b~;#!?4m#3XEk1bvgx3%52ICTx zDI1V7Ou`oCLN*;TL9C$@ENcq!c;s1*ZAc9&F=r2Kw9U3G0aFCz*sdLh zK_ze%sqQgQUc2N?NL|}1G2KN7&1B<6-C>oAWfo*x+!Q@4wqnW648F`M_>T4HGPcmE zeQ2e50rSEO5cAJ8X}snphkd%!u3e3Uf=eBwmXFFZSHxyTTTclIjfS^+vY&{WbRF_C zib1Yv)E;oVj8*ER-!aH;i3x?bndD`!Ey=DxjoZh1aTl1}3UZ-tm}#F4rxyNXc*r%v z0|rH5=4j@OmQGGTUP|0^6sG?G&94g-;sG7}G7eNR-!zuz&2w_D)Tdl&nZzQX{%(0!MhX|GrJtzM@f4((YvJbP5Jlgrwr z#+`C%0U<%#;jYX-;Im~14tudZPt-|@yqj;eYIn?lZJ`lsFYW@CF3^w#Yu^JTOztQO zj#TfKMTiJCl#}3m4~7z1RiYP<8hzslh$ed+d!@+F0o+syj&l`Va5recUt|4oVKZ*sF>YPMI=M$)Iv73gT*TsatkUAf2Lgb^txuygK9+uV7H|BXNzX3W=vPYz9KnPJKO%Xg0~FL3B1X`$K;Lg3uLK$X29{kB%GJnD1Q; ztZ`J=#)ATpYl#4S8+hVY)cr?cxvA|;fNUj2#YqEtWWz~Nb*j+y7+BIb$=Yw$Z+%8k zRyvS<`(cqmdR?8S+(z{|k9(n&=~n)g2Zl&)TFP@Gf&o2paYUak`S(jYZntq04j{2% z->I#0YYBQ>Sqo#N2HKSa@yT*w)gNatUEEOi!b1|B`EOd2NYs9`hy5N!5zW{E*PdhK z7J&DEDtVb?oLR{wR)M2##2%Th;iBb4r#^JhMfI_s-AAkkP%BZAav*8rXIr1k^Sa$z zDS}PCN|4L#iyYpjL1{cUDeJ)D!+VO1k#+nOka@pDT}A^ZNn;#=@fmJ8QvmZFNfF{w z=m!>|J@YQv-pENUL?8iE&v8S7&^fD%e}Eub?YON8rd1-$n-t8vvE~h9OA2hz+(r+2 z?f(D;mCFbzx3+mh&Js%ko7l=b4~bj0W4FYz4>S2<-^_NR<`5R?N5b@}r}DNu**xz^ zzMn|BHuqIo6qy?=9+zZeyG^;-~S*%w;^HK0J>_^j)C?Q zxSSp`UO)NjA5PO^wV6n1X9B&p9RC30T*!%ICy&`jR=|b^2{?hN3#H6Jcc7k5iU^mO- zCPX9#=vm!G30jE_0Ukd*wDNGL3wkxLmZH_H{;(Yv(c|zE12s>?ss8{H__GumC=#Hn z2j!8L@kCXQClw9WfO}$FhEGdcr{$&fz3{iSW|N=U+LZUpA{j?JcOFUCY)wogqK()R zf8lWOw|;5}O*Y$7z2ue=yN~7rrbRO%D|LM%RpxNpiK$fSYZ%m!FmKXVvdFj>_KMIV%K*hQ<73}vL$CO*s-@C98y-I;=l@Njwvn2g`7)+0LR-F zDz&cuITk@y4*3Q^(jqm5@Glwx(v`}PR|PG;Of*b1 zQ+@J4v^K*e)I(vm+ZI=|gH-bD21b_FGZVfB4XTi}ZIAKEGNzQ1Q{I@M7RdsbDJ`?@ zw|o?tHNb;WfU58bu2=%v&}e9I76Ektr7|a*CmMstp~0u_XS}F(2HI@^TU^fVNNhY2;REKTK)@w=(Vl=&RXR zDJI$Sdfl9B7R#_7jsVp?-bw!eIR)i^UK@RV7nHWl70*wA{{S{;<1Qf-@(oT)NFSOh zll=CsXAVw1s9S0Qh*njN81eSsC0itr5w@!COmQKQgGB&ToI$419<0mDUz6I_u)*#l zHn1J*Aff*Nfy`;;0J1SJQ}V~;=8>Y2B;)Io4gM{bzv|{RvXa;ZGl)@Q0U-etb^?Pb zm8WG#kW!uSP+C!0s&Oe*jfoV+O6NOZv;~UzlSvDwxsKWvxVd#mSM4($hFK70$*NKT z;UAeFofBRc({vZ~?S{=V{igf>0B16xh|@`xyk_cpvoQN@Qc2v`$1>v-adbeTuU+u( z(LyFD)Ypw`h>2lVt{SUGKM=xqWLcl(iXX4B9RiV2@0dD+vv3}oW`2FN=cdoekJ%^i z$}xRTG3M~wR5ug=ZhShN*+|nq7qR&x%ip7I*5TB8lCRPRU`kB66#99XRcW_u$LiBo zl=9@xUilNM9uby%%txUBX=u%wBD6 zeS)hx!C!?GZ%^`$WkMS;ApvQiT!C~uG$p({4TUF## zP=VB+<~dI`!a63lP&|w3T>(@3BXBZxVXoItac^o0Hw07Tx8su$wK7YuJi%pY5%p$; zLFw^|;Sea4fhi>4n7Tc={pHj^QlthI$#4{?r<`={Y9@nEm)4VwXr{FNnzcU8Ly>Dc zyx;R0_IsPVOKV`l(#25z+o!grWJ;asQYp1**DS#<5xZ2R@p(lb zi);qR=*@s)Jeo0rDlm|%O%wup0gz_Ryr=nVeXn|Rx|pn=q@E-EoW-7C9JoV!eGR8s zEvyRyZit~peTHgzH_X~ysp$!Ftg;P`PA7B&PdL^5xNM~03sa~**^u9Mhf66zs=a(G zkp`P9X2VW|f6$+n=r6ml20H-1_Bt8*t$_pzCAJ@r6SYA; z*c7dKDtR%lxfwO&Da_@F0B_qAlhMCWEqqA)aZ1om^~o_iuXO27oeoz@1t}yVzX+kr zX+o!>NvDSAAc8GxQc97xhDij{&NL#pN^fP7pi@!b0|XV+fNj%pl89ylI`U42EbV#s zeaZ2zS2Rd7eJ;?JHRw8JKvP#HPi&kAOtcodbkbrHUVZtSPjH4uZgUP7mQ$hzICK@|xmt4h~m4@zZ6 zaIB}w`rtmFDZD{{V5?if~{l$-3A1a}$Zk z8?wvo2Gad_-9(cs4eBu4W!E+bs(w$yWbJq5>6!=XVtvq@pA(K^lWGuMS^*vWexD&q z)8RiOfEI~kCFOelhbETO8I+4hsSnf;b22jO#Kfd_XxCPvRUZ8Dl(M z0qAnMMwyd*o}VCF$i&J%A=hk$+TA7X9Z5%{4+1eP;%z0=yr`3wdq5ULxCf>N=+3q* zSzptb+qF3^#CRNALhG2=4qI*Ei!?cHsybwtQizd*dki2agsaCOU`gwcV^pIf1REXe z_uxqupXpv=ks}-$gmqEjg`#+cY>K~KE6i5MO4Z|8(f%dp)m!`3zQ{jH9f7LlLAX;StIiQSG_(n{$4b@;C zI2of=Duj-?61J=j7QF^UrnaQM?2@O$CdZQ&G8URZd=6Pn!7m>bJ@?5ZEFjjt7}5sq zU3KNy4qT$pd|#F9I!Pl1ALPXOZe}Rwm`I7h}*6d+Q=HFhY4e9 z;VILu23DmnTH#`(aIiZz4%nexNT9$1oy96yU7K0fRq@EoTa%7lBwOBmtE?^Uv~B>} zoBMm_qH(8jj$B&?M;jO}I1xbGtur26+?dD&*@0-t>~IEPqBPrJ$`Fl@jzv6>8t#r% z^H4V5Z)}(?mKdehoVNrbuO>bF*D{2xQ(anhq+J~}BHe7&194oWjoeI_$S+#ZH2~#V zm@oo>cza`Z;>y6LNSqp9S?Ucbm&ay}z)avGa!*Qi@H=JEj}wnCN?qm69@|TVq(BZ% z&fhX}F>K2@Np`bk9o#Jo(1x#CWGA~kQlu1?X=!L8QYpu_R6}5$m!4{IrK}GK*b+?u z$kT9@uf> zRU+q10m+eRx=$hlbnlhhRHPFpwnddxeUSB|+^0XUuz>pS%#c6tU$drJu5bxU} zmFdWAFcy5#u|#RMR#~I;`Wd#`rz?|aJF+-}fkz+#(zyUssF&P@?t0{$c`jC~Z@qfr zLyAke175pf4Sbe?$805ewv?r7*9z4yBfwYOWN9>~C}1*ll3bM)?0hf)*ADiXYHQoJ z7C^Q0+W`tr&6zjwQ<0=vrAQU~vdUx%kTnFJxe7oE#eo8yMgkdAhsD2Bl1B+EJuY7s z{c;5~?mi#efEHtI+`w1(VWb$^-M-N3a>_+6;Z5=hklqywF1`5 zFs%npyJSL0=-RI%x8IW`tcz9#gCWf-Q!Pgp+<0V}^9#n*10qWptdO4AZDqdcPna%6 zw+B7)*aUP+qw^AgJ{r>|U`jz+Jitk)$AF-f{{W}lo|yP$5C7HU`s8g58dTz3bEo+y ze5^~-&aa!S-!cDkkPd|-^#BQ>V|@&&#-J*L-Aj@d`1C`W8*gr{oz1C22%I+mLb zt7|Ql%5#EbD!}+0x(2sukhja4@0OcHnoApssf^Ha?muUL^>bhkR}zw|elowOYXN5+ zc#7|Y&Vy$Kz0>lK%4uWD`so0;WgJz8;O4g`V{T1QdR^SF%VSb}avWAIK&6PxO;1cE zl`E;+8(~W&kS^E(QifNiHpn6)lWO9H<@Vgu0->h5OIX_C<+wnitjD0sM0l88K7ahu z{KuEfq}p3EMW)8z2pwFGk~jH3%bA#=O&JY`n_SDwy(zzjWr0DiBV@Uomcw)0;RQ(D zyLIJJOc%Q%ia-=l^&JiyK-?&pYC%3bj3_5(q<&VQMVX-$+zRHeP+W^;{&OC!gQAL( zw5CEF_i<&;m`{>?pY<{>?*MtfWOf^6^U1w7g3s1Mt5KMwu)Wacc4ALq*8)1A=RBnV z4Xa!4dgwYG^pI@glW@BX$KOpZ)>t17AwN)RixcBji8I|A8sd5@WNDU($Cv}snEs-~au zu4I|)u?*_Y&J8L=)3m7lZBAwV^NJr%zwx$XPHsSp)I780+pRj(TST=ic}VB0AAHB* zZM6R8TVF5RHRhmrFLFq!`|{Bi25%hmkNo6_ws*DABUfWzjlRgsL>gr`kL!P!TIRba zJNuT~qQ*)Or-{piDTfmro!;Q7c4i>g;$nYZ9u?wJk`!vGQB&OHs+dY=qu+n$9Q0L- zNxs&kP_f-s(mHKWKHKIdO^dOVM+jy*@kg~=UOxi$JxCc?EmH1dp#zf&kAbpaxKi$T z&zy8&re3nBqCdnwlbb+oj9BTZ9@!?v!ab_k(J zSuMB?$Yhz*o-m@g+9|XEr%mvsph?}SPTtudidy4ubJn>93Uf!q1sJuEr_g|U;>xKF zG?gVzNeEQ>v)m%xIF2xC#Q0!0(X7gzzoPmR!5iC9#KNk5vY!ygV#LjqY1Z^w)2{hw z^$Tm_O#*OGP6}H?$?<$c?!{G-%^Zh6Xk<`QeRE0+##jLLfdi2h6h14L2{f3cny=-q ziLG#-P`5C!HRTV&3CTw(U`4#o^CR-jys8E5t9sgdH3|Kt`Q~J0Y)oE$Zoas!2wuGi zsBdlZ;4fl;Dd``VzGBs`K!a9RxJdpLoG$eKQs1=Mg_Zzvaw1->qU(}do+XPz(ATK> z<~1`rviPoHm49}2!%S4}p@!)_Il|2!LKtK~LkjaJ<&1ZWO+K7SsfD^Q?i99N#Z7eb ztxL-~XQ}lYgp*3RR-grFjh4o2B^&06^8Wyl@ARwFUNTyR`)a_RxMo_+Sj`x4+$# z7}GJk*h9l}7@FCGqjwn=KvIy1hOdWw2^`*6=L=hnHu_1Mbdjnl(;BxbJe73KMjNH4 zEyq!Zt2+(5Z1T9R+^xno=Ai; zE7Xo_f2;$_yM^grrwDP#WBS$N%>v0G;L+?(^`<9wLNu4bd2OxRHlJ|Chg4(K5!3yS zST<{vZH7;1=`%#b<5NSITZCaty&ePK7P7JC001@=#HyOfUbVoUXnTXkG6zgHw8ZXM z`lZKHmfp>wMNhiZuHv&RB zDEJabL4Y8XOFGJiqhbic#@KeLryD5@(33)IPYk>k*c27UpqFX`F5}0pPMhT$UH&T7 z^qCgs1xJBJJu(eX%;agro}H6<3-hiExg>*KVP_}%tPp5^XDs(RxnVC*kIfcO0hT#X zfGe{MoJ&Np$$g%;4Dg9!ky%OWQHcw|B&W?jb+ghf9_Hpj@bpkcPs;^1!Ug8{pPm+y zMpiKF^aLu54p_j(?>y0Y<|`(G-Zz3-Nd<}MFjJ5)p=>mT)2&1@J2+09wVYWOpx($xlwbDM|l>i>J>5*qhWNM66c@$hrAR3hq8e@B=wpd08%Wtzf9DtVvPb)uwn96InEwDAJV~X) z{&8be0P@zL*m6I(J-^xHfed(WXO8)|N_`gYOIv%$?@?*-s&U?#Fc``_8!^w)cP4

)bfE)_ec7Iv2xKoK!jJ-jkJC<)SeJ;I0j)9>TZVWv#4$$yj|;z?Lf zc_eD0q=A(kn;h1sEnoS@ z{Uxhg`>;C-j26b1kNL*^8npW5*{@%SZ;ujbUBBlVyta!|J>e%~`_1W+@m80g`NvN! zuf}G*Bp>(hZ@V86lwzqL{NuNkc+rK^Z(5s!{V;fqrx2#U=wAG)e$rf;9-mljBO_0S zt^WW*_2lD1V7dPQq=v#WD1!F?0GxmFtgF0tB8IC;+hg?P1ovJWFBI3b<FhHSD4*}zthj$Wkxgu?EQs7a$9{qA2P4SlY&h#HJpjEe(f*#c!axPhz zlO$#j@pbpY5ER*a;zC;KY|$wXPCNYm%P%umcquQA=UHpQ1uU6gJMQ|(ta z81U0Y+YWhZD8ipC$Qu?1xh%LF^sY|O4IpUB)f)rbAQ@GnB49@SYlKGkK}0gs;-Mq4 z#;t|c&D&Z{bmABRW@ApCIRiRD6dt+c{{SwXBHSt2XD*S zF}kRx#|TV{Mw)zgRVCU1cO>+v6p4YTC*uPFI*N%F;ro_182 zfb+`zN$Pn20F#iEIGmA^n8%!d=OJ{hEe*bo1osu)yMC;@!D#U;zIgM8o;6=H-2G!w zotOjgrFI|ea`?f4NR~!^`DhGFY&e?a$w3t6+!h_OAxoiwt|Uu%K{HCh7N5-D3gD5T z*@SPq>-$X}FD>adniO1r(IQoPcXB^?b6q{$v1Fj6uvy@FMR`(-m4nd}Vm30!jLjy+ zPZ95yIE9J+V_2m2Z6`-v>+PBNr)@t=$z7@L3Cy703ibzajk2o<{R&B6~u(pQ-S$@YjHI#)FG$_)Hl8;Z0+OVC%4+ zLh?$1S`sOc@Gp}e5}99?KR+)Zh}-J%i;_?Gi?adp9}ZA-^w=kFN6`NOH@vl}En4T% z_K|2o%u^EE#EiK7-SWMW{{VXZQQOl}YySW@f0KuRmL^PNS^WL7b$G07T1fhGkd@oV zG6tK?iO7lacjpv0mS)Q8J}pvI1Jm35tdYlC20Uz{J#SCdhv=P8;Ev!^wzy7&^kM${e`d)Nl4*lk`RwRdf1|ZfZEk_s9o6an`>!5Y)u6pEK-Hkv zQ`CZmfT;_SCW}LHc~a9;w>HLKy#T#yvD#I64TC|5~7 zrjK`VY&w)7T@U;gNY2>svaJKkzoU@I?(aLAu_N_lPV9lC^(;XTbm?(*FR<{{TBlYhlw zNZCj=J5c1J+Znu`$6T5R_!w6wTeIS4I&QW#Ncc!ctOnJ{5ln!!g{V08CnMF76u)Xy z!w^^<)Sg}yJ!_J-RF+F13~S#fX-_nX*5cAgTd>;%OI(5pf?nI0c5XEU9hiTtGC(mi zV6olJr(TGt1ZTcVnFd<6G3v|lvZGUGJ7XENc;$>LmPu70j-#d!o=AYir9t1m z3S?6I&=rUqRjDteqNB60(B zleSSb!|!zOLax0=Tg2wWC5G&7`M0M(Ps0duC=|%~M@-ZK^@ypbZuu)}HQdLqzb|1d z7TUC~z!Uv&#im%tR+sX>SfFUkzM1R+8yvLm(qW8sMcV#VngzNnKpv!0Y3s*eM`{ZF`B^l~MGdT9+u0~c&)hOWv;>w5Ddui(S~qI;$eC8lA_{q@*ag^% z46K`RG8Ew((&^i-M2l$()OP`gQ<0?F2VJ@JAm9hYeew~CIWf&X)7E1%){DQ-BuyZj zKxz}mB;?3yiN5)0jj7p(-Q1hY)|qyNK;Sy=Gaw3ZEbbxaKR^@+6(|7R#HXhnG&6+9_BkTI8)DEOHLn9&2h2cgeACyHf&I zm)^LsTOlW=*s8s-uUrM4qPcJK%G(h(^*;$cvL&B1OesKXk+wr*TKprC?Ufe6vNix% zbMKXoY337ay=2d3nsGo9y+==;TN2{PQyJDY#kNr*8uILOA~Lrcl9`sODY@^H1&L-K zl+25*#N>QRLHu$VHr<8Meas0bko+?MmoRdr{6|r?8&x?iy=C-H%HXN`Mllqdt=|Xv z&qRww)-?+VU)4xwbylS_ItIfHK)HXiW3ey7PljCLgfxKhpz2OG#hz()rX@|bps&vX zWEmPb;sNi|Af9hv{IazPXk}inLHA}X%XTqEpY$8IT!H4oJd;}uL)IXZQV!L` zvjynBU)4QmLbFNz88~6LeB|liX!x zvf9+AKBBlZ?T|t`%6?0~(UL5ceSRjG6;4}%cEwOLT=6x@gdT0fEqB1lRoa{N#e*92 z{p7G{cZM2<^v_L=GTdC)Pm|{8xvHpUsGz9#JLcRtoQlV0V^Pz?0xr-p7FHmdR|_R1 zB#;kJ9F3;a9WzaPxdbpTCnl82jO&{cUWH-#UL)dfSo0f|Q@7uhc)iFX`7#@Q9@^Eb z3I#qRu2m^_u_wJYRRWCLFQfnDKH2{kIuohA_Q+qu=Th2x>IIloX zM%#pTP?Jo!i|s~edybevLB~tHssxv&pz@3o1vbNW#73EY?w4`sGrEz>VdI3By0k5| zy%AvIYx2Z0F;cnHC0D6sRXw_#EoIjFQd^&1a;S<4tC|!3uk&H03`foX0GZlOgp{%z z?oaJ)TKg_p7&5weznQ%M0IF-mnWSMGRB^84cpR9DNn@~zKM~Qg%3u`bUCu}*+Jqg( zDC(@yh7~55rcOW)+UFR&F6a8=7%4a6{4zF_6 z9NkJlKN}y2{{S4pk#b@!Tv~DhD9PbUWk9A;wjZh5n|p&3&;i`#;lhxnKjvFeJ)@za zB}f@|GeyLZc#X^+gAv_!&7*%MKbKr-ZnkBgmYNKj*0FB_uOSutU!XkxH=G>~g@&Y+iM*X-7`DD7(blgZwZT zCKBRHBLJQDIEKnqL=~yQT@y`kz=n#~Vf5mV99Q6`DU)FW?S`1Bi1$7il(;U{@W$Bt z*7|$XsOycdlTA*P`CtW93Xnc5H@Z0~%6S4#Nl8J>NgWBvF-o;Nks2TK-z|u?nVJ^G zITGHZeWTYlKvS&y6uSO)$v%2Ae&ZDXgHnnVj-6jpgd15zSw9Z ziCz*LdXjpIKYB~erUEfmreWdwL@AEMpY6hqVo*Hb-1>`bYF*FoBg>xQwPexpJ&h4jdObg3NR!C1( zLtngRIFAb;P@ZSBd2Rn79@NwK=mST=88(>9@|T+G^9 z>?ef$N;`Vd4~zX~`#F^Y5=up<{&M-g(E{6QGCI>>^dRJA8!SU3gY&b_)COC$RG_cG z3CM7z8UFw)ugzs>FK9pG8uZ9;vZOiu-t%oo`;m|y^hN%eE*82%Tz-0as?E49^D#TI zAY}M^kV123`S<3Ah%#Ixp6-KhyC7oNBAgHT$S*LD@1nMp00!cf$XhN7WV&zscg^kpYbfvd$r^gI%zx zLcfPxlM-o|{$1;)*5F#meg->y^A|i^?L6MyYjPa~%TVZZRVdTAwr{1)%@x;r^~z~B ziq!4BKpXJMmVD3z@*G>X1_1%6+lQ{*a>mF?nBB#tB&v)y=EiL$>myUcCYKFkgNc-o z=yt{>ksaxrf0(+bsr$Q!47&`ojiBkVuba)+S59QQCPyRf9f-(Cq-n%=2qwIi=7v9! zHOly#dM<-YGBsu%*)UqkOn$5&G*RtbuJ3lEByFraayYaTYlX2bx6kOt(aUsfLx`y9 z;g#A07uRkKlJV+mOpq+AWhFXMZu*yVPku^Nxd+o#CT$^WyOjr+hLX4VlUGNdeb7zd8=D(@nj2RQAcl!BFPlA zDlib*n84yP0o)v+ElC$DfOiM*%OcS*p|8-!g}PUL9N2YXudyA zM>ix^@3>(cPyx6A3g!hlbgBkUm2J$)ZyU`aphRY`$Y2N?z5??N(Y?F4x?{Z37W?xy z17M8CL2>B?B2=o5rHAXlP(#vmTk(9`@4Kd<2#hTdn6+Ll6pk6!p;+2XzoEFE;O-CbKESEOh;It}n z>4gWIX9+COcc1%T%Ha`tqJ;$pj#BYwQR0@bMckXLtWa{B-%DM5vy4RR?! zH^eeK?7hGWd32|4xgfwX%?DDFS?5XGst(op(=H=q6tm6bnU=k)l7MD;BrwEW?Uu1A zmYW~OGPxEkirpw1o5?PS3o|~SSd8W5XuWk6wBnFCh!kTMRwH}x5%}p{WAx}%X0ZJXt z0$Bu9%t6~5R^6(*WSFJzRx~?x#4~QllU`e3J0TcQ?OvDy0vh(-3x#NI2PmCLApElE z8ZC3=`IBAK8qVrSQAmjxh51)D(VdqNgrY~|-k*jfu^q_$C(Co{(h(V@1!{K#DV|Df zq{73t5MWa$zov zp^S2+NvgI1Cm@SZ(=CzEJo@HZbMTfS#?!0 zk||D^1~%Mwplo+1#|7JHd&m6af0%Tq(q+*jqg5?Wa^Unkt3|hS zF7>AM%u+49Y~GbyhV>Wh<#f!k?>lL(Cs`;yJiItL0~x-GK0cc=hVUnImU3|^;{Il{ z7T2;{_t=Bme~UJ8HXBCiWjMW0Y_izMQF^ERNN$Kqi_av4+qW4u zAmKYXQIh^*LCE&V656OY74hkc3qd#AsKu8h&070oY)M(@md4TUZ_@+kfRHe6 z3ewsJUGb(WZa2UJ7D#KiL4`^hRQO0tlM%WO;<1X3nKUtNcIZq*HL8rw#U8E>d8Cae zAwknKLxd$xSoR(rzIgHpB=l01n2nD8u?$He(WxuHOeIF*(NM-f<>8gmNL(Z2XnNt{ zT30|6Q|zC9xh_bpl^0?UN@AMY(f(f54xM_lF(DhM{x~JFF7|rO=8p%Ot%F3%>hU~& zU{@>RNiQP1fufP1lV%-2IV8mGYqb4d`$~UO#^y_UefZqVLf{H)MC=^JX^ zO?czDHD`fns>l6aKf7#rh-dWkc?I{Eu5{^|(&{FPlvqe4jip0vu#ZzS3&SE~yA_sZ$I0>Z05K7(%z z6oI;p2-_#gjUnSl3{7d<8%HM9-;oun9f%_(RMp8Y)gxJ8bbXItJK?%z z(uxB^oQOnSDfnO^kYp;(7&#q>PMH+&h1%?5>erI>O~;N-CB)5)76`*P3j zEA7ObnF~pM;;?PT5wl=PZ*7@dk;w*J*0WS?gfii^!Pk#3+6M{}YxeaYY$}8RsG-8e zO@(^l3}m8q+a$u)$h-XTs_q+ai)RaAK)}M3T9v|w9FtjE*(CFDsiq4`J^}EL9H_Dd zN@{b$5>U^v$p*5iYjV&ykxd9S2j2vRvxKO<*U4UCTi6xc)r~9j%~n{uxK8(a4ugG9 z+!Nn0>B%9Mz{?`gp4khwV4xT|fGdZS10-0p-+k%V2Q}g?tSX;l$14FNAt;#3JrQzTl$%6H z0R-|j#0H53$_Of;3|ItHN5gE1WTSNcoMa7;dgXM0!pxq%)5_Z-boV)BE%ZR^mm)#K zpz3m9S|r47Dxg4Wk?{@kHpxmg_^X7nio1X}{4g>@T*zF~yLb$cX*(%9ZSRX(q7&5h#g(sB zp!#qvt#_s>h+6RnzCxP-MyViFb;uo?B8Y?l1#$$k8zQ8k`C=Kaw`vSoMo7rF9{EWP z!@U~;+#2=TxLkP!d!wc;ux(jf(Y_uZ$1I6)2|>QAbYqUrZ{~k0M{_Kcyi{ z2(Eo{>OM2D1m$^oZi;=dwBzvRD|j})pu(&_^LJPpSCzF3qxQWoO;5X?IK*0GvDxtq z=Ypzxf1PtWE;Nmj;spYpnDRxaS}A*|&~6FeC02rVXZllh_s9f*pJ?!XV&N0^nW=(F zFQYWb)+o^w)GDa_GYGd1NVbxL64^>Cxxs3^Yp@+_gt4_rTbIaSWTwZ6!Ah}31}L`F zaw52)UYqUH3nDtLmu;{V0+#A>1cGPosK@ZglFSX?BkR{j-bS4CW+&-6mkr!prpZ~P zp>_4-sOP;f$TSVn5{I|_Eo z;8~HfSEftpl6E!m%L`HFnAk`0?b9Gp)j5D{-y@Z=@_+x)cB3#RohWvv^vyLp`6PD| z0`%%S(f@Z=nPnCX;8LXZ&ddt%{VRNB(;#6eR^cw|dB znrB)@s<&`}#;gYPzypvCtKCV!76PDTnS>0~xQmr=7Dt*0g;>dwU!x#`l-N#Vxhr3X z2?`VElo}q{1z8o(Zs#mwr6A?~m{Vvgazl}kDNNO;IdL6P>bL?(fNUJsCd5zCpGAOiX zt~(C7RjDn8Bd<&rfw)u;gOe_ybZ%L}KW8OqSDh-XfD%}B!xYj>P7OxrKVAd7EWDM- zC+zje5V0wSo#rQvJqc70y$yG!3a2Pa(**M}#}PiCFim>XB@No-g4F*2H7=~8D`1M1 z9sV*u)fr%B!Zq(dU+O?9XJ(~IZK?jp6xPo?)X}a9X@|tdroK2r08DfpA)JS%z~GZ1 z7DIWXe(r^O_Q4q}p|cUa^6ZhhF^YmW9vOcVQHIunI&&dVL9czVaWvAe=;BLke(aP= zICiuw_I{gCgOcK7PKw+fl{N6~fTEQXNt$*b3Jis}2&2cBOmw-nV+G?5#FCr7w5RmU@i2$QiINsZD9r8oKH`L@8Z)J{~Op~y+g3Z#nd{%00JdIPx_rL{fI0@kz9 z=)>iOBXzY=vk#Uu&Au40wI)&2b;PQdQ;`fhsk&Eeozo(rFd+>(U`0|i53%n(XV0NzAv4E#tGiYeg@&FD*_+*Kus0&Tw(JoRl!~mzEJ+iJRAVmYH>8)$U zmZTp40IwLygyBs@psjn3nUET~D$#%hb;(m17e_`nA$|V8UGHi)V*cV!RU=5`KIARAL*)|9^1xa5Fg1RnB zXq)Uwu3OQBK+Yej`#>@xA2V>tY1=mhHw+uX%pi?es3O7)EBzT(Q$P}{v4^=r+YTyO7 zDJ;wBRetK_iMvs8wMSEm4#5D+S2-p;(DSzYVi2Ptp{U6PTd_Ojkmpg`7Bxz2)!PYY zYYTV9uG;jubU3SoEm~o;5ZgdOp~lv&Whg+xj!5_%6`&iQnN*q59(3YOdgQ{P-lXAR zUBFWd7I);WNZN%xt4zSi9ljFv{Vw~1M{{3<>~jK9b^x>8Htkqf$1%$wn#pb^O@{bV zligXcH8@g$l0MIpWfUu02H0e&m8lCZ0;KFacgZ1dpjUC%t_!6lpoM$xa$OJ#q)I7P z>yRzHm7-9mZiga-#?H_YQN4U}O-FR%8(spq3ldaklo>sS0#Xtkdr%0hM}|frLl_eJ zF$HtGd_?8cj;wE2y=OcW?%jQcSrE}VD8&I&zDcYiuOp;;eHmD6rUmBs{{VJJY|X+P zEStrG#=uk@&2YilsPSSqTz14MSLH#GX5=7z@hRl1Eg42cvX1C^R)ABkNER{*DxVj{ z(pc=0K08UXcOrL5%fJO@V48;t>p{+4X=Klcs%KdUrtZDizQWZk2E1=jD`y8_D zVVzuU^Zm)?DE7?2;z`ZE!vRA59SOSxbwwu#K^roSCiqo@P!MU?A`%{f`FR9)T9jn& zSA2xl?eB0hs)OU0E=XMD9kFd*ss~JfU>AW+@?@wBlx#`GN}Gze5sM|oNEo4PDe+ep zArsJ0V$7lL8v#H`Jiz=cZWw>QU;ZL;ve-GkU71zD5`cbrl@m@J`L^T%MB63}wDLpD zYRgQ3S#np~2}tDW2z8;{U=55D&7>K?9vPJcNbHnaikcpoY?_m;G!@?849MT6QwQK#DTGdgPbvsiVNZovY1656ZvL#GG=9}4TGN(g< z#hxM2kZJntG6J$xFz82o4k5ry=w%V$K&! zjyrIa9BI=SlH~A)4XSy5vXc)&dSvaYQM4e?uZG@=cEl|Uzm>~Z9&P`GRM^w@E8_v3BB(%Cu=Bv->5Y?i?Ux&fVqMn>5IvorGl0F}Ko z0oUAQF4=TUH4P-H{6i!VSn<;eKEj089wL~9gGMfXAPMctO(j=$0>3Pe5o|CB z4M#!`zY$a4E{vKC0$Co15~-jSz+}ioE?Z6}fKU-iV76i*LE_*ldW?`!D%md8Jstt2 zZVrSpu-Jp*xgikM;sMQ`ep`NYyOhy1)D0CKITIw7bm068ibm%*MDrN z8f}maEgCkGSf&GkV@$ciEIacX%LD2{_mxa1pzt}FfVFjbL!s_zPT88so{I1x6DVDX zAdjP_SC9hTi|T!YrgAVuj%s)S_^>^$TnvNc`eL$ND2+9(=~A?tDOUf8T18_YuXxMI^d0xg zB{JCd8T?&^!RdNi6y~7 zQ(OtO4b`bXKDi)ST1?TjQu3vD-z{U!km-7-#2H04%H$aXY0keF)@@el2gI8-f0Xyi zgPW(7Y{poJ9|)}nTn=d|bGtWf#t?(aTH0n+BbMi1QYT#Qa8v3Axy%=fLn$Mku9}p|5-`YO5iod*oYMX}KNx;>Vhq8}i8^ z5p6l`*C0|2wKzRaAq5ReoRbw+j)NOz!peN1Nl~J28s;`#oZK%$^5&p;{Z8O)2_Sx~ zz?gPG?DP#2QmUvuMp8p`OFGi8l1+)ql%p=})=~PhO!=gDx@jv=C~`rVK?^AdhF6Rp-zehhG^08u~G`6i9@5FLR*|*YJKwx&o97LimbjCCdm5|9kwbO(O zDmKIxJy91Qx>_H<6cESmE);TZ_^8>6YIA*Ne@%YK-Hs3`i8PU4PNj)0@Q>6oz_&q; zT2|`irs|_*_RF~k6PZp@)a*}8s@rL1p}PD%1_-tuOe4){Sj}@Y5#7PeHhHl-oY*>> zHrO~Bh2Yn&EQwVcjEgYk7^DPPQN$kkS#skMN<2X{$p;!uPenBuU}=zAr*C`>L31A2 z7Huy|VI0W0eY(0Gus~Dh}tM!oaIS)FAlaETW8zRf7zIM>JiaB49wRcBTRw zEt~0nST{D_s6T9)1K5t(hPd@&I@Ds-%Jm~`oLb~*DM}sA^~;H;9K9pSBjb%!czy>l zvB&pAl?M&CKckH_g{=A7OFL2a9E;PMfAkL;4znN*d8C9}~+jQ^p^YXCS z-I>xxZYw}r!vxA+nEDLS9x2dfH8~M0TTHo5qPY^xsWFlrooGC9s$v^Uflc?wC0NN_ zhS?y=v{1cpv1^rTJ7N;4PL#!io2J;ZC@CJhWpddE}*z

CchlY0l<;nOPKBcr@a;~y1wk_tAo=9!ksH7N(?;|Zs}r|;)5N>$?_&18 zX;SJUmdnbWM{$w8*+iyr`6E-1SJ7psewh=^u{9r;`kes*7J{G?-y|4uQU&~_s#-BJ zz{HdL8`l!Yj1}-&-@@P|FHW0+G6iI9=z34q*4Q=L`f_++Xd`sW3y{L2wnU()UIn;P zpwWg%F)22wXB%63iMy`U@WOsNvRQsCQVFC>e(s7e5Tv3ZkyEhbaR{`+FbEj}s$?nLHc4)fFA(SO z@ATrvA$7EJ^eBC)fxHU{(P1+Uq9&a&VM>wd6Y|{-o3bLDhvqDroPVITX60~z2xKCKlx@Y&?Y3i)McBu1i}PixT3iVu1zBiaJCfK3t-!?$DE9g)eZ(v1I{G?Gq)Q@bgWy!)feSd8i zr5c0OsN2I~nu>003R>G6 z>8Zgwnq|Xwxle@C1+u<|?k`pYRAEqh{cc9db-+`K$oYd*YRoFCDyb3`!C~vG&O!FS~z9OE*D?7Q*&n8l;}H^BoDz zmN8DYWi1S9M{;v1#<$(;5 zzWx-;;X5?dJbN+vhS~lG=}#QYaEPUHy8xTFhDa8!irRLZhJW7@19l(Tl+4pOCKtMU zBXEOe?0VNL#yG9WJ0|)%eQ69@zr)9)E>vZ@2JClJzlz+LZ2W%KOv#rDTKuIYk6#m% z88`6KqDAnHvIQg}kt)C)hmVd1KqI5JGLltK!_y75GCe!X%fv|Ay*uEy8;v(hN-YTA z7Lr#BaJ1#q7P5}FjYi9nmnKm}Tw5*5ggIEFn^$G2E&I+5*&RVl6LoV)nqO5VvG z-Mwl@LD*%0u?kjhQL0S_8f9#=PP-Q|7$5Ag;(lH^QEh~%vD0Ziv2@~gG~2@+*4QrE%Bvg{xs?1RF?l8%kVQVjx(ok z$!3p$-G@vAn?#V3y$U%U7k{2i?8XMrmUJ>m3 zRPyY@r4CXsg+5@!(epmr!B!p{1wNcZ@CfKId z{B|EsNsY9&yoVq$Kx#`R8_*i{!WosaTLs#K4KP)(fO6antcF&ZNgYKycgU6iq&mg$ zT7l4X!yVfgex<2VO*-VM1&&@`G;wiV+Cn~HVWzTJ?zwOk1VB-;*oLW^3i=(N1Qp-k zB`ugiJ9MA`Y&4}6M2ST;fq6)KRhVO#~A5z+28?SQgJ>GG<$C$>bg4`R@)UVSM9 zG~i8G_o?Z=RU=Jcb9q0TASrPmG$1honQk)GGv1O}h1;2~`E=Sxo7B97ie^DyyD;(= z=!e#NWTCBMJ;Dn8*;S!+?dsXVCDZP(qew^kqZ?&Ufwg^IwQJk0N&eNu?&SSBu!z|i zt&F}BCtI6d1ArNA`tq zEVf_I2y0r+PzDy-VSZ-b>5gPUWyvpqRE(UOEj_S8L8pd6Z3{ea6pC3`7NG!*&2q-V z{{a8g4|_K-b4>IMc4r*P1KOD|))RdjRk+jKPYZf%I}ZNDUbP$ z2(}~=54KqboPyXz%yq3c>6rkyL=uLU9e~MNDNMyd(402J#Wm1u9j*n;WTA(3HSd_2 zO}h*M>no{2<_#(SumHWcp>-#(`Csw3`y7l)<_sn!Jg9tnWv($4t*d!f(^ycmEf{{# zpgDLhF$vG*&yjS^Hu-LDK{6)j4~}EbPR|+Y^|HK)J&sV?xgsdO=N3zxP*cYhE2+eB z?~0CYNa#6aixoDP_HbIIUTd;T-7;%;US6Wp9*GQh%y&FcuS$%}!r|sN!K4L8#CIn)98SE((ROy;r8Xp< z;B?CP+XNBkM!a+mAtoc-v}=j*Ua~ zV#EbtYw(}9Kl9EB7_ z7m*_f!kV3f_?$OIDXos2E$3UA&k_2@QJPyfL^3oS zh`Uj-G6N#^JK(n79g^pTiqW!c0Hm_+KU8g!2#~ar;w}&Hil4&>ER0!Km9(3Slga5A zJqh3b7bux+j9DJPq$Pr+!17lFF(RAf11SQOHJz~sCe}{MZ*2;WKhM_;SjtC|{{X7n zGK4>8wQ@|vik0qz>L_b{&P2I9X;sFLa)Y2XIF|8|E7UZ};)KcBaIloDBsY^Ygm%~g zl5C0^C*q9Xs|aLLrC(NX4@&QoEm16@Q}7P}Hp-g}woY^_G*RlmQ{Nu0E=h3;Z_Kg5 zJRy1UxJ}gi_+jef#w>qHzDvN|KH9YiJ#uA?;+vxFmLtp|?x9GKxcgl)4881gSJVEt z38vpXwVTbg2pwF4Da6qG<-rRgHBz{->V{#)qa;~LO1os36_wu$1yy=rYy}oRCCC=e ziZ!lD0do;dDpVxtiwP(=+PGSaYI}HKX4q^~bQNRxw#XLjX7)xTUYPgDlIFrRtE0=p z?N7c5a$7-8}<9)_?&{ zRZN2}NjZx5%Ob>zQ+rb4xhiGErk0PsG|!AJHf|~h&X}W&DBPBa0D52y!EOZ(elD0v zQc-ZgmH0OKWD8l66H~nOV>uGe5n$S$saoZMOB#}8V$SWv4gPqrw65mt74_>?Ju+cQ zraN$k_HcfTv>FaM46?%8f^YuTRU*nN^Do1dQ!m(4%@a=_w3yI$qr$lPl3pjICUbzKb`*on6}^=}$mM5}H@B=>>VicI zJJ93hmcvzE6 zcIwJYO0S1}i)xfn+|SeKr%YlP+ot-&I~6}X1u;<$>`6T_B_+&jT!kbgzIY&Lmu0@s zr@cOTAlNy+WB5w19)xA#z$*)JZSaP&fxo=^wHW1qGZjclHC8LOPMD(f%eJ_nZkZVk zk_!{_3n{#jQ|yDc-IwCzrAFCuQfv1o`hUWux^0!RkDGdjnXWIUj^b7ZNJ`PE(}}9( zl$Zb22YPvdUYVwM=aNBic#;pDm_p%kV`$D~AZ)QWxM6-3IsfbsUgf|lH-^f@4DJr&_V;|W4h zui3GTw0kn|kz#qU8@Y&bWZ0ePeX?Z1-E4Cycb7UfJ058#y44Yezh_7rVk0lvo=f82j0Fqm@xiK|YkYnMt z3T0(9x7KdMeX~z|feiSOY32*K_i!8m)b*wcW+bSdYi_&-*lBp1xYgvnQD3u@4HJ?c zQg{{c@yQ0ONF`#`;n?nbR~lv{m}&a8&AQMzZwlpPG7?N8^9A3IBBPeLNuWS4!^G_(T5VKje?Ln_~S`SZ-L>& zeK|VWj};}tP=}mbFgw=;D3MK5%u`s$OO2Mj@}lL$wm&kh5dQWaR1_S0(;9NAbYGde zdmr9H=m+xCr~26v6H1WzqfOLzNh)jhTVgUSsi|#};1T;7Zzhu)NiRI7ZzX*(Kt+C> zkS!)QlHGYmby@?rY?ZN;RAcgsvwUWQ0g}cWr!Z-;+5n0&tG6a1i@#0&f|y>XMf*$q z%lx<^vZhu37qrx1{U>JM=<^DSZ$sTO=MaR9Rwko%-wm{I_anZrV@2h&lUkgsBV-AB zCzfZD?$sT(G~Ay4`3E&OW#8qBTSTtswkT*O{`jSHF9C$G3JVV-T#F`buA{_Q-Pzrj54;{bqB?BC}gJ;l9JnLQt2Q>9LWgTPkMXiIXqjtOf%UT8S6}{ zoZex0D0gqQ+Z$x&-+#LlslUfid*tHQRxzld+acAJA)IaU$uJ=eJ8?D11`;er>eg*< zQTnVk2Az9b_xnB=RZduiDri@*?knSl zC8kV!Q_wD_Z>(GIZ(1CaT*WfB@QF)N z*SXs&ErXI{XJ#C51XHH@St$w=eqF&kG|<1MPwcl!OA@)78(BsTeNyeEqz$&Acdf+87iR!t0rjZdm!iOp)%8XNu zEc$K1b^~hQkw}Xmzu|Xi(76B+wNHnJF+{*%`!Op~ms5i!uA-oSn8^mYcP$an0o-6p zV{Icw10B|x63EHBnNaq`piL^(L~U&9Yq;%&oMiKjLXiddSP(n-WW%wEL5cW4M`K(x z$!C@{*3|DrL#I-EWQlR^ncen;kSG#wPMHA2$wo~{Y|zu~_O1@CIPOwNr@3Olw(Zuq zL$Kl9EW3FvCtXJ0Wglz)YQohxqvX{~fakd7zFgrbPpI=7{hV0)+XK}?r*&<;u}CaC z%^FL_OR?p?^zq9gS+Nvit-e~tskh%06+9^mB*Ml`M*MMDnp9RJan}}Y@~2Li5*0mK zuM_lPNl+t}#}*}F2Nnb^ZO$sI6lO-C#J1yy5v0Xz_$bN=cM;Qw?zVG5wjq{U0jmZm z!MoQaTqwO$LY|5#(wVKFH#Bl&WftlxKJ~~pfR#X6!f#A$gQgx~S!RW+vHM+Xm5`9n zG<|&ng*g!0OpY74~+t6_4x;um-*)Mu%rsF5OPUB2)%b1bb7yQdtF;3W^TcLpdaxpTIW8EGNl@`Gi$D zW=1uAiFh^1K19r6XbD&J_=Amo6tR)-5% z4bx+UFqm5=`73dxx|l7A4X#Nca%5t-;$6hON&Ek&KlV4?~e`OmyH{ zb*F3vlh=H`s@xqpu6h(w3Go?ISR1_e%t;_MlkGReXgqhx#gx)}8y{LlRoRL9a^hS^ z(%+ZPqhN6nN>sHD?au%Skx75&CL)gh zYYWKbGG06(n~&K~)>=(QctcMOhq%1dw*zRQB_xiHpHTIBp!jzUea3~0XDSS^KUGy@4@80Y3I@zAcT z+zq^O4Uy*g%Gn?{5w*~)ApAqVUK}Je`<5f@l4;}D3|L4p{du^$)OP8Yz#ye!=&F&I z(-4|yGjeM9Qz@9)9a2qj*5%K>Sq5cosL4qQ^^+K zB7=Hno!`sNj@>EdPj1<1Y5}-qrtOd{$wj1r)|BFM1q)cTW}Pd(_)0=^qj|dTODo06 zPuf@LMpQ+ymhVN;yz6IrIGF@5-B{ux)MCl(?-pg}8RQ7BTHpZ`j9`-wi>@f)QRBy` zpu!jsg}+fM6+JMuo=+L`Y;)S`025ewR-WD&bVE#qlwi0Dv;%J4@KaqO9$FpxoU$r> z-5bzT@4!-|?^YwO5LnWz1d={@lFl*RX0@%dk;Kq0LBEEI0@GfV&1;6Xat1ym%G+IZ zC1wDr`|`SBn+FPcZE%j9;x(_2Y?*LOxJ4ta+koc7;XU##Lw;*yl9fD%&m~G0#>{>o z0Ryfjk~-C>MnO?`3T&bxTzgAzz79-*p580ssMWgL7)*yZlG z&Q39}`!3kI0~!+QNiKGo%NzmBj+sRe5$rK+0ZY@bU5AbfZBmg{TYj5#+K09_#BB6m zCtciM*@HgePY`M0l$H`sj=k*u8o1c(Fg63aK|Bo{ zg)6o|yEw~;Q)&Slo$|LMqq)%U^kGdcBbMi&#gfSuyWtIIni-8M4hAG7dga?BG>`3_ zln%8yY&K}fSuc~kzaE(xn&;!1N^(9F$z(R`W^ItIqR46uM~AjXDh(*y=n=|6wq7T# zJaP_9Crp1*(;hY@sw?A#&4A{?}uRWQ7*(!yz7_sIEt=Fp6XaYMCXa2qf$N zVCsWy$ir6<<)GwG`CBM0Me^;ahtv7FeA{{WdM)z~B>(6Facw!m}N@dljG$al~!zWBFQ}o5aTE(&V$kIfqKGJ-`HWMv6 zd|49~!6tEFIjXSS5nRUs$mW=>u&sL^;gSfXWOn`_6Yq_&q)ok&DFTD;u1FRr*leO3 zl^CLtX>A>Az))h!kzSe+vJ8sS=-~sf86<$cY6u;U1g&5}$g68F6Ybw55pKM)k5G*I zfHgPYCu|8x4Xja`C<2>pl@?skmv-VoKq*{9Z$>?--p8e(cI}o`wV6^vn&rjYhLye! zfOe)#hZaTC9u7+H%Wy_Xp>Zu$W7i{WNJJX!#8YgLER`*;E3xQ0WK<%h;_E_kB^^?` z>J%XK$p*k)edaU7gzgj%o>=GMQlc5T$w4zVBdPwf8ythr+ZJH9F=cKdhNl#J*D%`x zkfXw+4;&<-5xtSnC#E*aBwd~yd>g8?jOLv(E=ie^n?+8hxiHnkN=1lZ6!bVliIM4k zTb`)3J+lICbU8B%MyM6(nC-x$E-cpOI(0rcvI$4;^yvpJl=tn3NGaZ(uMt67 z*&U9*L)7?FBS^H?4>NLJr)&`kO)b3D7wr>f(vh!GL*d&ZLP*^#yYqsAL}b_X z<4nfPV_EY<&(zcD#xbR|k*9eZn>7-s#mD*la9?YHh_5z%Lr}jzm5i} z2E~T|09Rh4?O~B?0Y0*`R3Hw60WFl9!ET^$wpVS)dz2OAy*uPkLP4v6N_Qt=mPLsS zJ6jy6orYvYxYG~Iz+m3_trbeiek1B2fpQW@oq%=b_&j2*}(o*7F!WLKY-SGv0^fXdYF z4@@@D%Dk!hK)P!s#mr_#rp&^Mr}@9i$Vj4?Kj#t-5+MB%_tWni2<9U!F=3 z-rEkso-=Q7=m-tSb#|a#)BeKs6az4DIY%4!3Cqv`VreV4|at>zMM3 zIHqgnD`3?wK7*0rXK9Rj<+%ck4SY^W#TKJ+t6J>5)~DQL3~eN)78j7R@(jOzNCaA~ z-me5JyAQu5N)l;x*j$z7yZelX3T-m7zd)7bHuuR$Eu@;(s)W^+GG!Y`zM|t}LcT-lHxDWlwYqe@#hozig zd1FMI_m%PM_vK_Vrg5hE_Qvpt9JF$`^8rfx94!VV6LEGyDtaE6wUG1w0L&XdtU>Dm zM?+BE^7y#&+_9K-G#~&D!k*X{!#tZhiZcM&F|!^5z4bWyb{#Mfjss{JHC3su#NeuC zAXeL7JDL;F;#-6WC|ma=6Iz^N-67ngrN(5c^gVJ!vWXyUj4!tmerF&#vpe%uvb>(m z?0GL-OF_g4WR}|WZx|$Ta(dTefx(tO7Vb43Tl5vn0NJ9bqx8e-{9LvNAtkipAV{e3 z%I%j4R=Ge`Xw|Q5M>ks6D%2V7*eNt+qy) zRqpN}ZZMT0M&nkF$ZbN{Daa5fkYd-mt=-oqW&l^^fy{=Sb17W1vw_Ui_~o3#bYcNQ z%78Uj5X=CotH_ockT3?3l!c})Dk;~l2H+Nmsa}I_r^h0YDU*47$QOFBGS1vBg*uJN zr)-U}kpZ9C`F^@yHC=Ea z^x-^@bC$*~G^QAg(KPb&ZOJ>F$OmTzX4Xw-Q9x)gmd+~X%Dk2Ng>~hsS=}kP)7XuV z+D~=Lj9iW|UcIKp4y22FX5vU2aKnGUDWXe|BmyF3ngSVBT@O>x;7u#q+$kKu-0h1h zR9*VvrYNBx04O~$g=kQVye<@W6joD1!L3QZm$5LZTLof7y0sB z1;IH30l2-n)UF!p@`6^D>o>V@6dj1l=0FXw1ed7k7Un2|o})2cgi3V^>^q+fiDZe6E$}e3 zbSX}_f|^7}zQ?9c)f5+Mei+))A}}#x<`mx&kkBKx09A1ec2h%v1%~QgX}Vb+3Izyg z4~|F+Y9^4@-fz1`p(79rT#9I#!PE$P0BOEPnZiK{sp|1sq2|K9ymCMm(=hXmTTzno zMtA!)pdQ(g5nS9U$*XxnQ-aaG@HG;dvq>Uz6f8ehDgv#vh4x|7++}Qz>e4V#L)#<+ z5<-(oP;5K(!%V?f4hn-&zrIAUtsmkrHMxL9e?GmW$GLqJW^Dmc|Sh6uNqp!q`-o6=RB}@!$;};>VWHHDJ zx|$K-b1-h}h*nvZ#^2LD*c~I|#h%~%0>E8u2wQ)iPablPTrC-7--q(9@PSwXfC%lJ(A`WH1C&(Qz1p)XLE*-WVts4j0Hhn)EKd~qix1bpp}vmcf!Kl z2&FsVWZ-tEd@NfT6>omHl!bV?9-|_VjJHkbI(5p+ZG`5*c(637I2W2_b*fzH3T3on zCnK#oWCH?rO|-wy?=|VnhwGfmicx~@K3MRUp!Lrret&EFq+&+V@0oyw}Qzz*rAL7>$MleIU%QWKc<2Dhn?;T>u)wWIAd&#Xu}FsSM`$kSj? zpuPc1kA(d4JSh@Xv)38}@RNW?bnz#){$p^wi<+D!JFgO?TC2|>A;{auA|j`LN#q*0 zpq1v;`Q&(1F^@3$n1fW2hiX?I7R#n4Z(P5t&8y?cSv8@i+uo5`(m9rEWf>0bR)_EHOYS%G|tX?XwF105QNKo*<)tdn+N_wR}$5 z8OD@IB*5-L?~v%@4V2h&pu!43P@zdVp1EM;r3Z6p9jlVHMO#DZjD@lcLsUQM5A)23 zsV&-!k!w%lptf>)ow5|8ouJ}RftdJYlXm|A|IiLxf?9)r4!Nc-{vj&W6jGgzNHHm3 zVy3Hwg1ER3N{TSs2pb?ebR>b{fsrc%`XsR5!xaUuTae`aPi&Q@maWIdPQ$iDF$tU( z2aPuQ;4Ot?TamqLM&Q>4A(VM*&dm@OH^sXIdi2Waq>b%8)ev36>V7UmYHwVaEi#R~ z*5(mz#yZl5nP6^0FyafEk}#5rZJa7oj`)Jas7F#a-ne?CCN>9vBdN%gosidZnh@I@ zLR56Qk2(tAmnPVwZYVw`6&1ocFfEp%6VMz3Wh4azLlwqm!qA| z!nrG_8c?#!wD2QBY5?&)Hpn$_CI;|euateY7-@YM;iL^YySX3W;kS)9_ zYC|BUcIk^;mC+dwAzJsvlBzM|(9q(FR}vny>^J#iYamjsM_QtlLJ96hM28~`47sEY z`^MzWzlV+>yC_1GrYOMj8~EUDJ;-Jvp!8Fcwxt=7Sw{jo?Ng1jRfg7LDym35X_2QD_Fh0gw$dC@Z+T z0lp}`lE+>El0UO1)og!L^9)wzgX5=%OjvQTTis3XSo0iKy^b{0WR{o}iBZ$8T}>x_ z)R_XG3>_HrE&6NKwgU@34Z&V+q2uW-3Gu;hNXC*6F>5|gx&0xbToj1!Bm~ws{{UG( zXZ?;CZp_A>yX3#l%_q%8EbmHb`h_S%Z5tE*`j-Ttv7J2%eJn`Ar;ghZ-zg!q$w(Hq zsUHyOgfO>7a$c&t{{RdLv_7w_C7fkC%ztLMLs2XedCbyt?t0e%aS3bG=0$eNga-Ho z_|179gBoO3q2chJq~YYmF^@A&M1e*=~quUKL{J{p4kC#7o(oRBK!Yb~@lmq@Y#6`*c#?LqNKbqFzO@@R_HjVbAr^Ms@ zqx`vG6yxO78SKPOxCzF90pH&(wiQcl&jD8HTr|sx7LvS;LH2SIX(c|lx8$JGm_rL$ zb#ANk7}_e-?5y5L96FqCnSpOW^8S(aWDfhjW6ax?0Zf|RC)~Cp!sNwEOba#ls=yM1Z)1e8m#ErhF#(SfYJ74$ zo1!TRA~O&uazN5~vX3NrN=;SEGL=g1#BKCsBvW+s*))hW>rY1A0{F1%a*)v^4xW3r zY-E6$fC#DkU9d8@oPKC|So}JzzTA%)2mEcBkS-*m^Ko<|B%Y(7%bF7XBJuAv26rSX zkA}UmrX5*JUd)Pkw?WswK(Y!yTXq~tDw(5Mbb%eqVOfRr-ytzO`MXst%@EwWvU!TciRoMaIG63Y+2Hyw)Dk{rMw1arbbe4 z#S=1|!w;q?I%Xt`)al{CDN&Y#e1LLkMb?{mL;!&maZGwBeY7dDpI)&lDDGJVBiZbDM}28b8>P^uGj_3;_CGVf?gAqY1c1wUs8($ z(BzmHsx1K90}-%kn!AjfRkT`yo;fBGS{sp|z{V~Ez7}nb_w9$;B zraHT9YAO3z2R2nf@?Yi;#rX3MOkwqZLqVkw{!_?h-&+yhauv zCf1supL4Y^T4_01)SzPBwx%}9t=89^J}y)k2}`He>ZMjdEAN3qNpW@cl4{sfK59_> zPr2CQ!b!Ew#9Rt1d{pU)SnR{@-K1a-bBIYhC;nT|p8dF{>IURvdn9g-^ADGsPAF2f zJAr@|kXd&Eu9wUG+*p32j#9=fd5Irqxyq>preb$H5OJiHAGFv)D%8wJpU)LkQU>I7 zz*53>DjSEViOj&jue4lAVgh^8+5Bs^M(CwT6-YhX4WvK+(LvP3RzDW~LEALPcc2`S z+n^X4?mFax2umX!LHaPYkxj7R)E#M(wk4=o)`q)pz9<{)wtl>qVd0Tv4Jb;*et2z? zn#us7txrRMHS$JUky=P;Ty3=-8TbzM#RV_9my37$FjcYSoalaXdoZv$9*3o~y~k2cCvd0CXH9q@(~y2v3U@fj;f2o}U zeUEG*6s4rx1e66Ej)w$=hTv&4mE7;&zte^?+L)9ampzE-+ZsfrvKB|K*)YWVm2IN= z{TWe7jVIcEqbwuQsb%aBVS%s0=#Bc@NwBULCxR+w@>QWVrbduq8eI;rBn{5B_U(&| zaTMCuUy9&ydLz@eOa~Tt2nnQDh@+8y)ZY@+BWhD?@xq*IzD2lUB`dks=D7ojAatPG zxDL)#VOl>_IBEn{NDn@hEO*zD9hkPB=*@<3YyI(h!7tK414M(UL9mQ#*$ zT1@Cz@#9_lVgmwHfx$VS~a$%Ee3M{@w4DoI0Hp*&B4%%Ut?sxqTY)5*V^ z`uCOT6jFU=(woO|@sIW&w7>9KM4;W`j!#t4KRop9e548%!szu$w^Dpj{{ZH!fq@LT z)A{di(Hd#kFM6ohkDBFlgOMQ)fA?=Z2TeWZd*P?D0u1q8< zF$_-=QG^;(xl@dS!JDzj^FRzkRGpsUK-4?!mQ%IBC?!(dG#v;GG9}2g*23f0Ku#;V zBrrSVPR!%GD)Q!$8bGs=xgGMENz05G6|&INu*&VY1Y=wab>!OtzWFLa*&w^~RIbG> zNaNg`kPQZELgraVGVDHBO97FzxSN$&k-kQl8KRcrL}CjOUmD_2Ca?Nh?$m(`pVyP7 z(Um%f&8~nK0FLBsm2k2XOzgbbYboOF6dkw0O!(6=e{S6*TAzGFJ6#>rVdxDO#xOqgjQi(VwQ zQVFX3peMODEE>F~>A zDr-BwW%IS1x+Uz^FV;SU_gbph=h`2QXb+B7 zaFWW?OK&^d&G5-V?l2r>1s4yPt)(QF8DEA|#cJm67h%PN1L4~wK~+1ORBE={Vhu8+ zEV^B@uETshX}*XS^1KrhQc#}#vO^`L8baK8ED`XxPsb(4OCv(ktDh`Q2KgXS%V>@6%PpNDJX7HW zZ zG#~7+^JW(_+Rsiw*W6PB0u&m~-J~)jo?aBLHi9W?=?dhNI2AqDrV}P)S}8P`f!bu- zy-g3{hV6lkpzicHob$JIHU9uB2|yHwvhvl@V6uVN$81SK4^#4$oxYhBYPIjaK%J8i zt*_c!YLJ#vrPHuD0d1>!&bw;%@bKs`%-LcBKxk>`bB+?Gd4*b^P{fW%P5QwxwX@IZ>lix@^s7|Gu>Bw?6m6vcItR<-(2wHob zl`lvC(kwIapp8cw@9mmzd%g#~WQ-fHOp)Fk1EY7_(ElUPF-I5LgtVRsyD!J+j6K zyIL>|dh{7f8tRJ$x)V5$H`03QpeJhf$&G^pj?!z7GLj7kzg#@pd>TT2 zoGQxdISTj3lV^g3n^c+WO{j8BUIGqjXLl;bwC#&<#D-|eGzV`CG~6Rgh*FjBkS&Yt zrZgaI1|%}Ak+%G#G_5`I7Q8*oM_;iv_f>EdKH#4DoDR;XBsZi4)`N{ZHu(Zt2tqUz z*oyq}WLqmvytDa%tLO*NSq%1l;D3l8^-tPNj{^c;t>tgbzb|T}CCP0%bNem}Mo;`^ zu2;fot- z9meIENlVS{q=*0lb5_{<$_hnBSWJ05G)e61LIO=Jte8AB9i(Uo1Q}i+MMg zyvcQ~&Tj9e^&7D4zv|_&3<^zU2dc!gP@bD%k?u_=VwSP;knNSzmlNK^^?So`+=%#l zWzikZJfx#$mHF2RV{E5Pwl$|=zEdPyE3l4+o;e0!QZ7wAa~=n-*z-u(vZw;V8pbyu z04bEym&HM2YLKWVjmxC~$Av`FU1LzXxL{ofLD*S0L6%)r2NU0HJeZ#(mMeo8;lxy80&Q9e2ijw{G>h+2)4b-5 zsx6FPV2`!_S;uB&ZAr^JekJme%oX)3UG5 zhb)HZCZ1tFnHy3mH#u=cO{+GHTLrj1YtEA8e$vx_XX{<@;?p zc-yT2@8gjzM5aZFKTQTKI-#`{^wF5_?UDs0B(Y$m9AwCCvU6^{j{AetA!?~A)NC=f z6!CBQ$UO&@v^u&9G-M=(osUZ9b_rOfjFEizb=TiB!-hhYHs1;hRNJO3i)D|?8e*#* zjY~RbL+*rc!s^ousp60LlQ{Dz~B#?^7#5Tv1C@P-4YN{ji3a1T4cc z0dQsz?y5%pazWSR44=!^;X=1ka;%Gt3T6I~iE0knhUJ4vzL9W#M*(C5D1pHPY^XEn zm1@z@)|+I5T`5?|81Z34mMQa1pd*j~!$3U0_Q)+JkxJl$U9uF9G*nkW_2@CB3W&=} zWNkF+Q|ykp7ExLe&$bYP;*7s*rbP&OsJ*L}GbmSXb@$1ZxfErj8-jXdZL6B2kWB|~ z#};59ZqZFojw!Y^sWB`R4~M=^A%aybd22}wUs!KaP=oe*;$5d_;j>{3$^foaZ(d`v zRU&*xFAlb2bhh?BRUR31OQh7o!APc3t(l?bB_0y9)FTZr;-@PUg^v}h4}6NWPb>_= z?wF#ST9{IM)VC*mlM)p|pD7&zQ1m^R~s5Zpd-k)|<5NKiJ(fZ2O&ncI1$O_}5Ol! z$wjnZDIL<>#_illa$HuECr9OvEJ?dGiYZRDrUFnTrhJ2-Fsv7HBX+11!NibS{{WS9 zVB|D+nA*Z9@V4t`FgdiHSsig!O1s)RNhhR)^ceA;izzgt*ae$J@7% z3Xxs#86gI`b;Jy6t`BaxFjHxMwI8OR5hR|+8?@gvjEqY_J2-Rz^zpzFR8)gf4RXTB znr)32=5hgfE?8Trrb0|)7#;He0HiVZIi3?PXq!+)Ff`L6vxQnU6yCjZm9(|geQJTp zQseN;17$z|(=BBZlgIa9p82PD;x)R*wjgq@-Z)T2ZkAms>INfrq&tRBizU^RRxE~; z=uRXsiBwk~U~RYKkftCs;4s`*w)r8mY=Q=G(G$NQGDCJCQs_^@F)TtpIXMb=bjYUZ zTA|vbV0&a)foU$O2}djj*=Q~~H0?TmLcM{dawas$8%I4`Zj{5xlH^bpfOPMI(@L-@ zVmps)PR*RrO|h?rJetnwCZ{DTGDCK1tg8?D+tUJg5}Ut0 zYHn%k73J6pU=eNLN^dngi@oQOo94$RrZj<$LbXx$M@$yHma?f7?UJ?Rqv@|2ky`#3 zg!3w1pAw{Bb|s*p zK_hHWB;5)|L2{v2j{Z4U4$SzHe>d0*h{XGcQ`BZeWwkhyjqb)R#KFuq^d5;Ltd|j)O0j6BuN#>u-M$}dG?Ibi18UWw4!~SW> zfaA#9&MrVnm^SVWE8p+ShRgxAIG{5f#@QfQQfX&s6m;JpcSWGJ7HJ=geUaND+9Z=r z2{o=<4K&q-O+FvqZ`%P&Fw*0#1vkp3pfXq^3%*v{#b{qJ>Jr*O9v_9a-`gZ2#G!BX zDG?fFb^riL9q|h*FyZ&(|IX9BNkj%(Z2b<`_!U5n77l z!LuI`4%*BiNf)Y5e!Ji>ra^4F)w^4?#_oY>Kt|`~{!SyB+Khf-)8|w%O>rl~xK-F3 zn%%9r)zF?{t^z6Q7yB@f#V@|p(L{he%*8=oW}D&#swYUjwVou3?p6=phoQ+B(o0vAIk+P73QCn5f(F=v#?ucg z>Wg_|jK`6s8|TpFb2M4>LTYwDQ=gS-8}1K|NEA~Y^G>{M?fnQ^tW7>cFN|%A3DY$P zwzv~1r42{VGB{gdv*caK~k~XT98K{`yb^zFB5jm#jxky5kyMl5=(*h{IhkcP8J|IcWkK1$&sS<{VPa=O@Kgx zf}5Wltd^Nc5mcuH*c?MutySakZbm6fwcE8-<3m&14KgV$i7nS-gr?aIsG^LI3M~*8 zqK9f^X>E^r`$SD&M7pu#R(Q!D>nQkhBL}3gnXvf6;yN)$r!Z(~JEGdwdP#umA&z^2b<@~zTBp(4rBd|GNjvS-e6A4bK<;%S_h`5b_9qG1R8QZSU zq@FX$FGzWPoz72*#xbCXjYwU#`R$RBVZ(c)A>?)$0#E@&s{yq}0ZFt~vNQE0j^8Y* zbEjjX)0~nWp8r~JR+3euG{3>DQC7!H4vuhzAXe&!gi)gm=rvVQIi`uvlf@k zNU86a#na@KGc5&a6m{xA{Bn$io+e=(xhq4`nTX_tmXjD|3VY;BFwHdS#HnASDk73g zdW2ko6v7IGmK7+(9=n>Hw~3EElUrhF58;rsCf4%pQZOwdqY6h&>wuLAkQcD&kO7cd zUX`XAP+iTKRCdB6yArXdDhoFC!ASuJB&F-M2W%l^)DUsosW@$gT4xf4LE;7ipi&>D zd~l=$zUEF$lD6XouBl+%|?C$jn10e;ggixE!fGhS^M=o;gsY%G&FO>PV(Q#k2#> zHnP+lZlr>G?~T$+7suiCDh7r}dE#%k#5^7bw= zZ}In~E94jquPjp+0e%%@O68+Jlc3f183yC@vF&y{%XZ;BZ5oZbZS)+=5(jrdpGQ1g z!d-18ML;ZZb-y1!(9lTC7fQy4%WNn*% z+v7}vBHzrj$-gRn`{ZdsrFHXEz;P|LdRGe4AbGatq;lJ~7=&6TA35ChEl(U-6l(rp z&YMQYhLztTOn8xyeqr1xsA>ut_v?i=)SiDd9O&KzjFQ_H^WT^kR#?;`ttx7wm}1D5 z7+4{p-n}wyVMgWE5U|~cYzZnhF%?otB$JXVQD@k8zygBhpc{(UW4<(`+ZkUgUEj<^ z0<<*WFXN!HDb1(l-m5DGNWm-DagpO|1(fNZml~@=OGX2Zi&0aNwc*_-Ps@KWM{)7k zI4xQp-rp8aiMpTv)GM4dS*T4qS2Yg))cLVm5PiwOQD|#{$WY;n5-BcH%1Ag*H47vZ zG+wxQup1Qs?0Sxv3lvy!vbTPx7HT&%U{|oh4KXNwJC6(uK}I6699N*lvbI%#_9SA6 z9hCJ*{aD+NP&Ua$sza(trMINSebvdxB0KU4Cel;)Fhu@|`MYcP$T^q`iYM;M$<7_(9xypEynq;zhTEa_z zN#Rx=J@Cd`vAa-@^4m>d8Zc0iy%_C~<6A)MUzgHYD7m+9S^?C4(D%!DnZ%_$y)>Z3 znM&tkTBjt`+fMr$`+XQ9+;-i#rmo_(!%TuDXCzSLNna8IXs3LE6pl)Uh(9ffmTB&*m%Zs+p&DufO!j(^!qA&odgcZ_BNB$+Iy-JJV_o zL%)V2n@=V61ORp!Cc+yuZH5$(wm^sB<`{c}fmIuu9z^ZolBQ*+`Sv2X*_f zQfk^TkhCWit7yc`q&G&wwMtxQyhqBIp?Ok-IqOPdg(6PW0+V|%wne@uo*jOIO%WJ7D^I2V#9~3^|(?A>GH^yz8YKW15!@ssqcoZ zX_onW^K$D)BHsM9-Jo774(y-moR14<3U=x>QT6+2ImS(E+<&c+F2Xw@uOToFExB&~ zIZ$mVCa3%lT$5QTe>O=uFVTiffo8r=vbWVsHQ_u^bRIcD3@10I=`+V1DHMAI6aynD zxZ-x5+uRA5ao@)P4WOrX&?%$2_=jVXU`j{lZ$DW1RwaACjz@9;Tamko&2o zAh0Z2Zz9dfK%KoGnFsI7tsPUiJfCeUks)^!03K&-sFuQsi^>*N<0{k+JZYj1lsYULYXL^kTAmln7vS6Z;XY#$90?fjvU=;B=JGLie zvr+Pz0v6bnpy+q&^2x-3%{G+Dq1@V^-BGA^0QbWxJdn>J)$P{ZeM3e71|A3BD5^*c z{{Sy0Us`xn4@;4ur}G-*CKox zbLLxN)B%}ML51#?`CrSQrKMCGMx=5yISCgaihCxRrNLnzr3E;Sv=qwNNZDC^euyXt z6~%$wDg8SP4a!CVM~)B{w_+Y(^ZVR4rDDv1da&>E$u@AQX+Ck9?0r`5ttV#h^yH~z z88w81YJNEq)X8j$dvD6-Dl~rdl()d3GR_ukrrnSZVrYy83>AAP?Kz z{rLFKVeG76em~++X3I`ceKi1{gC*iPr?VmW{{W<1nuVMLgF>6_x`UOHNoDyw5!n9# zy+X37l(GO6^aG|cJ2|>-G+=BgaiO80wY9;tN@dn=N|efoYIZ;12j& zDNVMnSQ=y!*;EM!&%RzA4spFRts*e0yp2c$reevqA(&Z$%fH{4<;e&gQs2@dVO_Bb zp80y}zT>WZ_Y4Z4gdOk)I^GLSGKRb7J> zkErp;u|@NGYyhuZS-2|=ym4Y%A;2MWaaE~pP39+$fXFgYr%-WPML?&oOf5)~qzZPX zDu9)!Dc=JmuHs_<0K%DKN>eVzo*6a?KC>Z)272L)SP;c*6Qg{|%4S~Mv*A!~{d_uL z4sLLlGVhkSCN_ndI_`Sqmg7nmgOVl&fMtSCzHlRw4eg2C<)TiuSU9<;wWlMKR|xVLH`awwC0#1xf8i{79diIFZQO)N5s zAp<6drriVTMq?+Z1GZ!gj-x+g!d$-}VqJ0Mv?bmd(1FkpYnMkOqnESN;;?@o=@9Sa zokBGA5krHx0E*;>S6ME`oOiFs`cxC>w^rh>8&}(UW!^9$!Ix*`h`Lge(fjt_p~%~U zaL68CVuM6N`}M~~Wd@?{O zUAX9abQl8_>doVeHobOJ*1tRy!k4wdZL3d~Jh`g)Z+H+`)kj=a2R*=@%?abw1KTWR z(MyP@xWx?!)b2%oSgUHPr(i<eQ@N@QQPkfE271(#i)Re|M*wpff1*d-; z1f-*F{K4rO14{L#HpU?uzGQU(qtcxY8)S`-&9fqsBsCz4)c5*wJWQ?s)rk)@ih6bU zL8fY{+=(Nt?-oTSziT4i0B%Uh-^a%QEJ#3Ir3l;X{y8=%VI^9<@v36IkwsYHEo5~= zI?2K{hb0kXQvjnnM(r+hY` zTOBHG?w^-R^vlleNyW7$0IAxQBfe5Ya79Lu*Oz{n7*a9_qhE;B_~N-E0x`8$GF3LFuPu&j0nJc*_3LnRH}i$Tp=v7@TaBA|g$Om5QK1>n?Qh;+gWA`-c+#LHT5XynJFOC5tXh*pyCLY*{{SZN^arku=qm1Dyw4 zl`*zkrCX^0o`)$s+0!DowH$b^*a>8LExoopYu2L(Vi@+BrwN|o-M-R}NIkIfXC2Ts z)^`?nG8<_5M$2Bbp&feRBH0we+f~$=6()gKklgYW_8Bf3Yvz|~I=##eA(j$Zwx~4~ z`?5@`%03x25UWVlQ1vCL{4y13JFk#mGk)lx@FxWZ6-r-L)TSj~;bT+Qi`O0ySyI2~ z%c#Xn#+{pv4gia4O%md@^`Cx~+PN~yoBsd}UO(@a=Xt=6Nb+pt-XQ>{Xl6~q?cDY!iGrD^0eX)AnR5eQTdZSm$<6T1WR z4yd>HvRzx$Bbul^ew@sVSn^$|>B9F<`sKR*@(=Gj)qkG}G*WhBF-gOq*!Rmpwm>r9 zA?oXCc%lCQYi;^wCRo^Q$IbL+mc`-(4TfsEIbl}g;1#85xxhCp3(h>jp-Hamix4!9 z7=b6)oWAHbgS9;uMAGBa;8@XksPM|p=$wgfSJYPCGUR}(Tr`Tej(LakBh_|?Pih*P zwK7qPX^%rS&FgxTyD=lV+b2p<6H+zhQ_~u41qp9>@LVmz8WkY?@PL!M*0dSEx5j1Y z!ns6?j&^32p91?1xda9Ao$^U48jsjD#a}pi&FQJ!9`*ckW;FKNPoO0Jze@Bya2H{8 zv`iW&)jZDOU8iqi%a+YF5b=Xb)VJ2~ec* z_BF(nkwP+5?Y$377JyR=c*kEHn+3O0aou_hf~4AnoIyPf7HL%12fy8xQzQ$Djz_oS zlWDd+=84FJ0nv>q;g+47AUNkqWD#&cr@r}xBKjtq7>p3NOi8Eg;uz#YN+@#CyM{#} z*=l#mwR2j~nv;Uq7}6d~e3+AuEMZLBZ%j7T;D**J&}6MKgJK%Dwg!9~q7vMK2+GNB z8248x`%Tv%OL2gT8`3fwu1eft6h*8gb?bo1%EcN-1O$6!R^@?a)qct2*kCQ^xpLEN z1xZ9G?T4E*Oa#yq+W~F?RavXCpg97}3U}5_WOMD`BTay!;JxNICY>pOhQ1!Dj8`=j zuWXcNS|tTfT(^g|JS=!=YD@{^N_f)%DKYA~7{+-5Yg{Ch5qlydzbf0grWowgEFg|b zhG^s!AxQVj{6btg=;1AhP`T2qq&%HC1N^4D;TcP<%h?$63QMN)gfj08qz?iz(U7{V z-GVFA`2PT8k!o5M)s=anU^|WS_|Eyf=4}+PnjtOp_W`!;lLR{5u9vXo_I}UfOnI`O z2sFNdzK)oX!Eqaw?~*2wR=46kacetlsoQS2wkfjL76i1*P5WU;QD}pLxfP|RiPx`& zNlRhWijA@sp=-HNcl)wzle3deambqx$M8mIh?S|N>>C=e@-H%){2#HQ@>rmaY zrs_vSu&2Fnq@nJl;%YH#CYa8nAPh(ukqGECu8M)@eA531>@sKVCQ0B~$73&woUI8N%?%Rg@-nb0qQ~RlC}U^fP?~9tp-4*siLE5eUaD479eiskcKJ;$l#Xi zC3R^k0-8`$#<*5nAa$E+adYyn8(=~TIO(=YLLf(0q3?w#dz)glRH5<3q=ddpH&fH5 zO433Gdq7DbW5m@;0@R(Ge3&eNQ)^P9ovVPBQVZj^3`rXrV{AeVt>m_pT*Ad2dNA*k zt3fQYNY-Q3fc1z=q)}D=fAuoCMK*_ff2>>x6K3QA9zV^EAfHRuts+Q~U{Dkw3O<3D zCnbS+rdZf-;UTH+Atu%Lu067%qWo z(ziC{%c~aZ$0T+P>6gBd^@xaif_e<3NtRHPT4~IzRg~?Pg5gL}boNXGJE;}!MoJ|F zF@QvD>Q8#_mo*~vsRXj|0;4M^>YZCgT!L^GbeCViIkwv!j!xLfT3L5!0-gR?u_${5 ztd;0C#cJ7Jl&opt;gFC}c4RS*JNV=+kY6lYf!O%rP?6um`ZoDB21lCP?6^*}_QDqF zFQ3f_6`5?=p*2t zC0^o9d1=NwWvvZW4j{IzpH1@|i_Kg{M*Bnu>&Dojr1IXe!_=PcUmeH*4{VbQQeQ7f z(6FBJLOtaEnI%?lFWV^Pb2&Um*)kLSayF2)Gz~nkSs1eR1&`{%5|gs?<-HyxC3w?v zcIlEqC|1$*sKDMjk>S1-wRp7MC8*LAso7||(;`%wOmwSFCfpK~HT|9)@+|2WeWybk z0*bVtI{}Tf+5+Yac3qKn_QoZ$*zcQUh8q`xyi5EdovXca>_c`pyU$}GX~gu*;K`SM zT~1=WDI(V0(5r#m9LJeKDJPxu578HF(UbLQkHXa3Clbviw3wj>xFC$SQN5YKzKrr7 ztS>C1mZgm-Prhk$juTE`ERyc4HQJawC?S-0F#emq3Rd%>h9!ieh6_WJXp3!# zQWT^FfnNASM3i1S4!K})g)g6b;z+yQUb3o-Bp7z4^n`&3GJ1Tw91&5 z9V#*@N)|s#Pl)e@l_wT*04UuuEGaVd!vJZD(z3@wE7uh&p$Vy8*r9lbkR7m60vcuB zm8rpYkc1M%R`8FD0dz?Ak;#i z08Mb(BOTQqKf5Drr3D91yA8C;3VxRLIUraVEcB^Ul4HWYD0ZpH+c?1zqJw;mxe%RVIb>jqw*VJYT>kGXjs=NCCr3rSyF>+Hspw`W4`zp6+mifiUKAfL4mvkOiN#u zM3(Rsln_lmj9Ub0Lgo0=0~u_k18-A_Yfa#ODhcm^1d(d%F`(Ogm9XJdj!-u}atusV z+T-FhG{eb|gJ^kg*TWS%D=dTx5x0rL*GjTofB@)llE7ndx-u~!n*8>}&3GwR8@8_y z+aA6dXNyg8#t7Ulmd8(>ztSS1?#r>JBPPy^QQ1+-EPY>(G(veFO1uT4nb7o6wq(L~ z@p=0vE)#U=KPw`j7W2N{ODO&seY%+g)eAr6Wzx{Bfxe8hqXabn0G67RBakTHBfdu1 z5wc$XNYsUC3m;*Uv>_z&=A@)I)!v`#?}Z3SG^@q_@&{4k!j#3B2o`~X;zbYez*9&I zyIEyFxvt%EXy}G$E}5!LC^{U83eq*hgHSs370J^esd1>c0HzbjZB;na2QH+loTUte zZPNo7uUqwUD1H;uCIdMmAz`~yD=b3pM<7cV0a_8$ClZE$HTJ?%{{a8j?DKVj@*#=VNkjE*vkfk_)X_oV93EiFeJ65B^Dk7V~-7<>g zI26T|?uNOSV~bpi7r441st10VkkZclkgLw#8;y~kr1s2NIk6l39>C-l$_tObRa;mU z{f;W0T3U(#70mik$Q_atESWyo6gmQ7IK~ugJTwRz2QGr6hD4i&4ij`Y(4_(N_tXCODf66_u z(pAHao5L$m)UE+)bvxH4$f-QAjy!`C*p8SOwaEjL3B;kfXGRfPL5w=;zJB z!hA8FROoVSR_YOnZOu7yt$tY$$b^zLU^hFAv8@oO)gIX%t*f3e7>aCrVh-(c6or-s zjP2hhTDhSlgzhO!2&D#wfME=f(y6H(Ym*F5H6s@TQPB6usaH1spyGSviE2u(^!Kun zZlNdCUBMl&#M)#llP~vp}DnX8sH=L1 zX^f(bHtm$ivn-a{-IjvA^0nrfLue0BD_opfhyo3eaV z{hYeoSwp!4r$_Z^La^NQ!**IsXeV~_9>S*~)sE?P`g5CYsybn2H$Yt5{3Uyy`7pvr zTR3<%JaDMrn<>*601A%TSuD+TPZ13()OWzeR!{<-LZjOOR4lQH*U{gne2`)i+nq35 z(C`NdE6HBoRX+&=pDc~CJ1a{9(zKwjYr%hj@c#_l56^`8e|Rig3M0BjpLUHsP15|<}&7sKr7S7Ea70EXjbQw@(YtqSN_(cUrQ<6bp{%6&i(T%i1kNn4`T>!=@MZcYHEWkno1wI0~ zIYbu5ZJ_z0-%*S*AKodgJJ%?bQW+!{CgR+%UBMeuvC5c*7lys5OhXHK@1HLDOdwy` z6+cd9;tYcmaKfBM*_0VFkIVTTZyRsesQx*LpJqjp`RZhwO=V;ZL8{c`aBf(Kl)CyY zQ`4?y$nMTBcl@f;u57e{b8xjunydYDQ=f9?#HYI6q@}onKnD3h3RwN7ryOLLZXjSG zkSuf0K7Ti<^;>GJAW)v?Cm6ODouF%%9s@6q$hJpk8pHySIUe~EZIWbH(ut|QEyG}v zUB5Q?aSc|YM<(KX;3(!^)8sk*JuL(7eky#cn6f*m42IUX5^~6)JBl7E0m%jlADOPj zwY!$+6q@}RY(p=j;D@XTpR+Tqe)G+VzO^~$c@ghvj@QV964wUw;f z^2q?3wLOW%wSegW8~9^rlE(s-?S-s_IZy?1V7T)X6eMl`01UJ^GaDu1+nw5m6&aK{ zJl?PBdKQTfq&SN4_sl6d7{<)D#Q>&OTP-pc-mMy*`AxDYYwJMBR-5I^Y-Z9%)9+~A z`Wyuyy$?;h^`iv$%1bmQ^|0q!Zg3N-+3*d;mZ_woF z5|so}6^Uqij2xN`$qyyxhCbJD@K-&1-Hwc=agftt%N?5nr@&cHxaVp4N@G)$D-%?cKbJ$EvZf z{MC}Sz7FTuhUGGl}m3t zuW3K-TL6oj)<&8?thFfU>J;K)lkcN{;x{bgvzVz&S;j};h(Bpc=_o_^P zvN~lL!UvsYHcik`T%fZm&8(?}97xV1`DSrX_s zObRgiJ;nwGNk*rp$q}UJLG4VCTS|i%Nhfd);{$O!rTVa=2MTw~qQzyM$X|N(#zSO- zx_xbQqoJ*OWi6Mwo#oX74<4By*CNK))#^JOyQ5n88N#e zhKMgNM{G(tZmy5~tH@+6T=E)FiX4zdwnYK)!pow>UTwD2+Y*4NU`n5Hg`FZ10w)ud zqy#&ng2tyN8p_E<7M+GEUL!jkPwfrz zyJSNfxVJX*GPjA$h`8mjhj*#OwgQMi(yEjj)K~bNfI(S19%K)&Diq{_Ko+9QR^o86 zAxDiy%Th3fk{Wass1z8JvtLvV*FZcD5T}x&O~1Mc9g(+AjeGRN(J@@Ek|dU|x=5sa>yZgd^vkxE!Aovqz2~f(RAo^>qZkV6(_jswqh1QBW`@lV4M2jleGp$ zn(Z!!&ep8$8*D+QG=-XmrKR1Tb)$^1GUUYk)eWKJC6OYd;vW7vIBtSvBk-@DKwH& zgTpco%;}Q(4&#N}SGtk+<}RRY#JkT|{Fx){H>ZwA0BZ#<^4*L&mFyPJN;`l_@UHoM z&dt$%HkJ_S@cmIZszSU5^dAW8nrw%6HZLyoADFFuR#+H24UZBHGS~%^0=m^2R(pz` zHK5;OGJHFzW4BkHyYdHYxJH?SvSDFtR*%@^B*~Fl+pRgbLDMP>)bH-)$MgP^RuVLX>z{Q8C$)*l%?yE4H8n1rEsDv zB^BQmsq#)V%|D3sTvnrD;gwEQ>@>J<)QwbfejUX(%1O6uGH**Hw;)vHV#ac^pvro9 z<%p$>oeyz~S@T#AEyfavx6@<2av_l$v{!BNZC>;_O|ZE08z?eUEd|4nLnYVM?&FO` zLlK!UUu?zvZ|U6nTC0@j=_-W<+dlTK(h(tDuyr!H9i>#?%1Jrfk>vqENd)d zUen8tLuww~vPD5myt%2>L}b>PjV5-(F3qip1_RMUe`j=xd4qM#FK-Y>Lt_ zT&URK8@1Av&B!8%aUnE-o~p#1>yu4Wx$Y~!wgd$!ZU6)xm_slSjV~1>@3s&a7ANKn zTna}Y+x=LVKS`$X3m=-SL2tG1l}b-xheR>%7fUTVZMH((%Mn7$aw)f5v^er8eqN#W z#j4g1hpaU^UCyD!L{vH&VIJj1FYgof^LfYyb{ulyDg z6edu4`(00sF3MN=loDz0k)}$=^B-54)$U{y0ob4)s|u$}`JpRqJ+ytd2ABgB#>?{} z&R>FXV;&^bS0;$NQ1grF@_=aZy$wL^Z;id_e zhjc)vhGFCzyDUd$ZKqvQgT7*x@SB$A26h z>nZ;LBz4OR2<*tM?&G^v3E!+OhUcR;f7`1}r9c`=GO5CusYQg3A(jZ3N6?~=CAc0;n%)58M-c5UP7ivh`~ zsz(*Xp{R>)8=yEFS1kMS?c<9Ibcc;d#Pdf*oT>@JfwQ@uH6204kyJvM5DJq>C_u$3 zOn)3vAht6j17E)yTkb}o1XLQ4*CR}l{as4PvL6lpd2Q^$55yYO16{~CfwHe?)rC=L z2Gz)2r1DtN1G9MK`ZdL=lvEY3h6u7MK99n{+;U-Bij(eeNVyRYM$j~VDhb;uXKBE-Bt-Xpr!xWUDngR~X*d2~p zYNZ@}p1sFxZHNi(nH7FKtc0e^1qp9#3KtZq#gKDDO|n+1mgqTe(-bv*Ys`Xo1Evm$ z>XcktP!ruwA&Mdbq^zH`y=jmknMvMev$(snPq9^DUcrTO_^&|0eAi-2{brRQZ%oRG zYaVQ2;yq1v@yqSH-3jAL^%dJ98quGprh?yuCrush0i1 zfGO1CQ;iLB%{k)7Y=Gw2cUHHtsRV9uk=?9p^`9=f+pKdR05cAIvb5y1aYH<^}=H zzDK#`MscIrwwTR2+(-a-to+ zEZYTpd&;*QsE02WP1AiNQPQpMKitG}%@ZSlv5tnHyKnd`vlD}^)XFBJluAL|bnTTM zZo?7c0HMhJSZ$FFB6Yze#3~$%X$v@1^2r7yDZjzKO5Ax3ki1JZa@Su}R7=`NaHeHr zC+zVZ{+zxaOV4(J98XKofSDA{UByq0a~@1$Q~PKGY&HWcEWu3T96%m8g>>lW`@Wc3 z$^!la#HsEwOqlJIhSKP$>DM6N25)08Gzag@dTi>5akwLYmKBj~DJPM_Lt3w=#Cx0p z04_wRrb&9L2z%gDy2to_oDFjaV4!IjEXIIh++itlWBQMpZD1ru-lU_j{r{$e(T1>k%raJHuS&>h@j<~gq#2}wMbU9 zI7$MiDvVQ3VNz+-WE44@p4l}5n@MT{9-bH!j;q+3RBn7dv8Ew#la&vKG{%=L!Ci(Z zF|@+n(bQM3kA_;}$PlSCNp%r{`~8;iI6!rJ-4t~Lb~inYmhM#c{Bu4Ne8W?O;+E-cxwV-9L7wNFEZBrJ8}w8`GgNNU~ot^~)MaV<|T!wV9K;l%BcWkfC%q4>Dr zKvtIh1ZsrVo$#hRAw|a{@a!-kp5~H%CWEFD#w*rt8{{b-^{c2qB6CA6{W%8E z6)vOXDc>X(Nj1cLYNun8q;*KHp&X4moUz9|*4kaX5-I2xr)-5R&4;6D8nkz?f;Oha zWDBjFN_%eKw00E0TDcX{A5}OWfMJS+p6)IcrcFVlgH_Xn)s=s|J$>+pCK6!RFg2{j zTW@T!vIR8L!I@1uZ^N!#^g!vd-0s05c_pVrsU&UZ4XYSww_HZTMog zxxoW|xnokFDwAHBS!_bxudJ+&IRXg#@<7)#Jdey81e#p*Y8cqnNd7r!Hs1qfFG)AX znW`&oku1WD-xUbnnJ|TMzz$3+kXvcs?l6WNnvUOyBnqC`8I79?;YCjVJ{YW5QJ8{T z+Z7AdnMnbUwkQQj?o2Qrj&agXzeYwu*sYeW`(!I8l~_?l#FCnG`rh2bE7< z@^sdiTQINL11c=kb!6usBh_$%)Rji*O4gud(i z$Z`gUzCns13nW7q5&RB|dn zBM4*?o7>Y8umY9ogR53kvR`dpKLOggYlUlXV+}#{4D{2tO#jE3u zr8lvqXy4NfBbsN(k8#`ED@_%ixeRN$IG~zD##oAgc#fw6K?O~ptv4PxK}3;A=HY!l zwC#i=q5|dt%D5Q_l9aW`w3Lmg(rIU>TwHyK+vx`@BqSDBp!rf|ktevP z3hucHOLhgDq)QISwV~;l=(J?O77V@e0Z=|>SR}HLN`GgkzieT4uN9fXu~ju0vkjb< z1_XZZX35EwY@p}95EE#PJxIEQvD=U*=s8@OM{VAR`IG01T~xtkZ&z4Wg^%#cFvhvE zCfF_9)JmZE{Bn5$<3K?ZOl#D4%8t$b83vzeP!V^`a$7(wg5KBa>rs_ka8bCIj_1Ez zuyR>*NG`5f0i_U09!BF9ZqA(y2H|}EhB<3 zDUfL>iI^&$J+U3k(z~%mbgz5>wo8(PXUDEgu!U0D;w(1F2E3zXw$i$7)L_B~_yggt@liO!J?Fo;IUinV(Q@4-0?kz7j=gK$I%FawIh5EU;q^xi>2s#;AN7C z*r6t#zSwES;!zv#-wJJJ{HlC%VXWULH(UuN-nVYps4A+zc14&Lxt5)9H-NY=J@BLk z<6<@#mcSbVo8(yl)U+a)SQISMP*7n3rbS96t5?S+(~j?Sa81Ch5#M3KsIyBGRWWqph zpkz?cz?IAK8u!V?1-@i&l0_@VISu=a6xLVA$EzA~!UGbt+#ajFI}Z45JSz73l#_fD z0-$(g14Qvw;a*V`vGA6q`!-t%)6Mp`W(`bkBh~$;&;uE-SfQI%r=nW zm-Lj|QME!F)fJ^_%Prw98D1}z;xWgz^%&9!b*V4*ckj1`L;`?_i;pVQZ%qY>^1_3X0WIGBm>9|I_04JWkl%w-G@rWvdZ_Od=6*S(RT>o8>Y#Ftr^;ADy_;b zWRy64OJFR|%YJ2>M_vKBA?h-kOt&nW zFU<>f1YO3+JVyTj@VOuw2u>|L!EJc8ws8IY4g!M|!Yh!*q)_0xV@TB$-@XP4q>iWV z!b>$N*a6dg4A8Q*H(C?#kt`Vh0G|rJlOvU>S{i|qj?AOYO02E09q|k%w%TG}jt0pp%sUK&5atVBUKp}hS;6hL zEJ_+?Qq=a_+bpyND3o)fZGj{zaN1apsVAS{A=7WwP^FP>L_@cx0`KRkbV{ zgk&VONa^BNLao0ch~|PA*nqFXdm3fL?77abUlZYBIj1 zeg5%U?!)0P6{$6yVCaQNn(xU*`Afi>c^VtV9GWxaIQ6 zk+Wr_TK(KG$dCd#5=p@j<76mUXsfo>?Uy(_%E>{cdtn8Xf(mHM3ey&#DP&4J>~aU2 zk_ClHb-1j-;YWYflV=<@gZ}^$&m(eb1@Ooc zI#BrG4n%Zl1Lg~*k_=WfO0`2N)@g(yPypi8uvJ{@OV;PQsUy^ zD;D^MSPJl=C!OcE1!`Ur7$28hLMI)W!p-Vit=b)&13~YNI^2*`Tfr)oYFFkmcGtpz zy9h}quej=RR?CNEEVl5vRnQgp8DKyiSncPM<8odD!ADW;lH#Npltzo?`0W1xc}`7U zz4rFV86$|4_TFAZ&{CV4&}DaQqq-(Ll%-egS9)*yvSc%)U97@q_^VEX>Bw;G#6>iY zFwk<2r-7zbRLYn)=6T$QJGkS05^G}{8XoNnN8(%BYJnqQX*Sust6r1 zwls&48EDFVuv21`Q}J(#r1;@t6Etw~?~t23T+wzY7;HF<#Fp+*G@7=t4Va<)j%#O&j{9I{1$7MYu0 zQU{0)9C)+C_zfUd7B0-fo+|>Oljk?zg#5Uu4cw}1( zKy5+S3Mp@=S`&uYNNk~U2^7mgaB~fiFMlny>`_E$9+j`pGXUA+HHX&qB(mh8*JD6) z64-#A>FRj=c?)j?WNZ)_2=K#b35~2KI^ZW}PLkM2IIjKhCfJ6xWCIi0w8fNK^3TM0 z9;$x)5)Gl2pkRO#wp4;vxe969Cas4ZFsUt1aM7()_Q6OSJon5R>t4)JO%;24$EQ6k=lrdCGwGo-N|iiE%;jY$sArh$U5BtZ2w+(r zlJ@0kamk4uG|K6Ub7iL4ZONqe9M0JikW&~utD{^hz01yMcLB%;4<)qrJrB!1m{Vq< zyOPA$4@4nl@;{dD8`MO2U;L73_h7Z8uKV)(%k5d+ymjnFaIy?${{YJOR!zz&#ELzr zYxm@?*bUh8YV+H<^kH*xdhS?E$clyVUa{P zDTzWCF>iM^wo$ceG39`wliLZH^~wlri0Yr)Psj#6yfU)Pd8UPx} zm*Ujb4%{6 zsI{*7ZLyZ=CEQdM_reyoNw3$OOdBnWAjb6f;LNMO83#TEPW{O}2KgY!vOgfC!Bgw8n+GS&G8{+6kOsuUVUbfu;HOPk0Qrnp;Q(ewY78=v< z-p#qdNML+&vJy6WCzX8j>&PO$P^9!_Kd&nyk;3#i-CYAIs69L}GNytTNWh8?qW~zS zt|~q7g36SF?Obly(o5#J!PBOQ5&;#j%Ow-skRCB~;4uZZCZGYAfx_efRiObFkvkj< zREV{HV2X;IZ6I2sA*ZnFMmDugOlqGGQ_~O-L$uYmk$^2m-nGi*&6>NisVWHQXfka= zU?KU{L9X2}GPGL6eI7!G7E&7^-8mh%-w?&taPlm~)QpufB~X6xf_v29EMlVPivkHF zp~k5^HeGJTT#o0aM3tk-PWT^G4w*Z&aJMPqKp&1h7S@}Z4YB|>M6Zs0g-++k4YR8) zEbNu|x{7@nCcY8^lH8ioxdJJ9s(O`RPg-CM30k*QA!;&Zw~}hC%%Q;R*8>7VO?IXU zO?n>rE{sTYQq+PDMLLzGav-grwubE(RPE^Ay37M*f7-US9nrD)+&w7^Rg?g#)FZ8n6I5XQLD+M2)#t_o{K!i&^&!dV4U zwHx%rAR(C+Q$vInEN{&-M{NT$Z%xMebz2!pf%@NCZ(aD4+iH=3G)UTQZmQsJDh5cn z@ie|fe@>i$1oiO9f|D?So@n4&vkklC?GY4M-R`c=#bEkQMn%|13AXX z#dkg!X^AJ2ys{%GHTzvF-y=n`BE_v)kynG#xgZ!40tseYc>*;!zSTW2-s~hoFZ@lZ zXz>deAcAXjCBruCYx_SB>}8zyaHbG%=j+i@max$O04VU(F%ps})5y zUb!w3wMr|0<|(5Cmn7eZ828B{BfVGZeqxj3GEcan_$mA{H%+w_*4|e01CmhOQnluG z{{UliwH3o){x8Ig=gjz{;`G2chZWRaygof?ygN!i<*}ScL zV`OiqLLv>sp4G@oK(<4gNiL-1g@9Czw#-_tZe)Csc3M1>5c2ozaza3}F5 z6d|N$ZRw9BsJ*|w*t1By&o|ZW%Xb+dh8L$p#er`7{y3IA%6Obma<0RC6x$bp`O8Z> zUafHzDI12hiv@U=x`@l)a*FtyG! zHdM2m{hWym@Z{Q)2xlrsfXGNYEHdFcrbN^X#v+}tJX@|_zSs+FS_@P2>T(vy0_Gdn z!)z(4Q+6Bv7`2nKgDE1N{j&JD8HI$s^#f^oE#4KB>{OAs`DSMgi+FubKqpUL($u;r zZoEZ(vj~>R@4F+jwFQ8u!%V1_+W|Kg0RSTiDF)Tzg;)@FBc>$mw1T~Z(_UcEoRC3c zx{bJC#GSk0WD;#AQw7leTqU>%qv`O8(Mie}Nk>qy^cZhZ)Ocjjm(0Ox8)Jk7gp*gk z^dltIw(M#6m{{XrNEVf*n?G&=(mj3`mzJ@er zX%k^V`0tp+Jz156GLjFt>xpZ%M?A4eHl|2FJXv#ETmeDX4I=5rL)Wp!m|Eh!o1w#O z$+qK+oxCtwi0-RTzark)9yuONn&VULhnmu>igm~~H_n6szAVADHj)b1s0>hd*8Z(M<1h&@jAcL44V z5f-$d%E#?(lQBqN1=J&cLZfP9!m=uY{s2fUY0`ruD6$iJKahOV*RlOYi84pJw%d=t zF{d7^WErwZ=dW7e5o;wA3-ttodtfXZJs|r*83nRjVlF`<`m-_RT{{TltBgRGk zxC~Tgq{V+OwQ>qEwnn8#DTnaG!@8WxKk~127KGc$acGUX3?E_iWUF*|%CLT2Phz08 z{i_qyj#!x5_}ih!lb4a@sM^r%Ps9lE{hS;ue=-Aq@~!R})gr#MF_Y9Ye@skU4z4Ka zypw#X!q(=|m3#6#{uqd&Sqp|6=fD^^wcjFnpflXXj9D{G3($!PSZ z#-02!CM^7Ax86SPaw z1*h{&xCmqKl!%^ivDgr7pIihm+vnvRY305C*{Op;bY>myB{S( z4TP75@;QnMs>TVgjz@)jRtK*jqPhz2P5NTw5|;<9C;-SawRvVxyofx!a$$+xN>@?^ z1r0hAg{%Z5jHDG6<Z$~k0Y%$pBh zzfY}9SZ`L!$#E%s778fDbjsUpHH|`nPMFgc*~$zmmEBHB+Y+?4)tKO8NY&&v#ggzG zieX@(Jwo_+;~s2_$h_U=*K5hFjXgBlzB!ZwNs2{jt42C}DyMPdf|!WXVg4fn;YBn9 zz65wH&aWlf75gHUr;bLPv8EK0-AYN^ox5bB&Nx8igtjH$e!cP&4S|zr)@gAhFiWs@ z3sHlrEtYw=${G#38#rCWpaNvAcmDv4d2kLO%Egn)mIY5c=547_4L=@O8TgL0@|}}` z^?Ro~8V(=?PP&#oXMIV}ct3v~M$d;}?=Mm72O z!XdkCvRZgAppFi9wpQ&ST2QA?*jc@@a2KDP-oDyO$yN$Zw=8ACK z(BTMbQb&dvDiU@f4%_0gEF;Z#MT*3FHcSRyX;8U}&<2%){PI9-$tl*n>jY+&;4wRU zWPnIDyU%>rcRsgExwnx%5C>tB0-W3#I7<~^NU7Tweb00$>N0HunzPfcL^%hOt?7wr zi*75i>4A|5PF|az46~z#eI%5|3znx5(C?K=*v417X=g7nPW8-rJDd{P5)^@4u5MUx zJ78^zbBr{yQ6L?>Fu3JpVDcN#WwCH|65)woZ{_(ebqMbHff|rV?nky|-=w@Iam71& z)}0(;005-`A3VS&+}KBC`oygUR9P6Ko=VX{>5>e9r8uOcnsmaY(?A&sea;YfV8u11 zD#wr6IXiBMNvDI;A(yD%BW<;8-^$lMydu3a1&pGZUpkM2?F?;z2_4-Upnaj#<$&5q zVqRuSLRWAI+~HX6UVST(87td*9J`~pfU#(cW*kF!jq;N2qHSZ2CZ{6FYKE>Xf~ZRF zF-Q&iSfs_Ji+UfJ#?(cB8g6n7gjeyV;}+o;a5$|~WOSxPl+$2$I74U)n1hi^UZ)!2 zYvhG_Os5MDYN;It_z7%`c5`jh7Gy8Bj8?c70US0PWL%nT0!OwfP@7_LY9UG35$}XG zJFo*87F55Db{%oG4nS*xlVK}bZHk8anqrq4*Y)C=EE^j3$y-{gZ@9r}0?{#w3J#eD z^gZOC0ba)}i&j#X+s40kPDRAVi$*<1L6CB-dq_#&p~$Mh+xujc8*iBnOa&yasW^n) ztE|CAPfRR1-7igP*6Ob*@MX3V~Agz`7gMyeysDc5lMLaN~B@qp18@4Qo zN7_AFpwhcx1;@xXV%~btxi{A$I~oErXNq?4UALjSkYMc)tp{Aq4+=$Ws1m(0Xe!}& z?~yEH$zI%4(do0Sl40S6+5A&2bM{QDP7!EVtZuL zgLtSx!WlpR*5n#Drfv_`&fRk#kf$umiIhooY!ia83P)_Ft;yo1IdYs!0pF$qQ)ou2 z_3KPF#GZwW@;D5Bh9!Y(T>Dq3mZqR2>6d&N&vL0S<<Ot;#|y~%6?|@@?HaR0uNnlQaj}0c4-EfW|ODf>bJv6v>)j%Y4L0U{{UMpq>PlB zUj9_yq>?S&%r?R*@@F(3>`(1wwN5$868OI@w0HRKb=4q>ks6lzGIeP2=@D<_k10+- zn^L(ddT>xWcgSCo4r^DB%05X}sk^*)CyyEdk2V7;KTiJu3}_c#rJCGxPNm+J{{UAi zmOE_x$U9PJ{{SmW(OS0AhEd&`xi0}6cH917PShzJKvtiAKtrMqWtYBw)FPZm7*%fE zR3E0fJ_ZJM68%r}168p_l4tbcW~VA-gfDi!EzpnWyW6N9@9Pc0TXSBg*>Y98D@v|B z&#T_Cju&MV?oR&zMj%=Vq`OMIyf^;tJ3B2=`VYeL~c&etBt+@g^qKJm;;hn`atX@_T|=T#@jBPlqgswFb)!e=*%X zejul>)87FU*+DeX{MQg*x{I|4peow~{#G?;F$JCot){l)6y`arw{cFjY^X`9W|-HP zHOoywr?(76%u)cW)D``yE0&Q>w_qrFo6KLJ?v@C7$czsnrj)=TVXh|46xQD5*he5H zr{8*IJT06+Yyv!kbjs#JrFwwofMFb(#H}Zr%zshTmc=G^jpP84U8~ZWIelzf!ok+y^j*rD_%=hsSsE6|YK#Gp0?H|okYUBqP{C~Jz#3Ha zrV%CK2n($)-HE8&cLybGc_;o(1}TjPz(oqzV_$59n{JrSy$B5=)`SyL;l5YZ&%2_O zKveDxM~({Jup3taOh=!N7F>f*ZOM6p4SH{dtP})`LPtuU#~y46QIa-eQQs1gvYkqe z_ogaMGr!41SMw6HF$d6>=-VMBk=VVT>MIEN4^vZItczd@s>T<5g`n)|m;<+LHj6>e zC>8g^Y^?|=#+eefu80=^3{fc5H5n#WsLxZr3u2J@pHxjY29`~Y4F`@&J2L^`x|BxZ z;iYr&F|Xg5R=g>5QWoOHMKNRUFveXY)x(05yT1)6PEC#T8z+!J!xKAIpuK=c}%fgNgcLzS>+uC$c>TznNfcw`8)-qgqZ^{c*>Y9m6(_a6;F=stOD zBFB>qve9nut^Tl;^pEWp;!QF@?#r6Co927nHI2DebW#_@*C1oMkjw2aWV#%e=6A}e zfkhStYHDfMBgmtgtW2PMVzuqQYj^y!V0;330DdgUBxc>lht|0q+5(Z>e%%ih5 z@`kRum7sUpMWQhtAZ2+X$eJl{=C!knNUvj1IJFCRrVK*DI;_(4Jv!#rJA$mmm*U*@ z#xt~@bd_6bOQGwFX9+DFgaA)^`()26NEVTPWJ2~jzcd_LfUnQ4PA0oIP6-j;gBMm18e36W5^w{LuETAb{dzcL2joIicHnRZ`k4Hgbt^4Vne^rCIzwK zw~P71&MO7W!EAX*yH&eoz&H48F5>cA)6RBgJ_PJA@=Z6n874e7;N>e#sws~&fNhQH zmge3Nd6vt;1Oj{2%64c!H!%j5KCVpAd zn^d`IP#Uak{{VLRa1NKWvs4)8rthsL?ZtbJnUh|U@`vgVUem4^Am!7s&0Dg7*)+Gh zWufhgQx0!U_wd9i4qK;I`Y_rlSlxkIo$!XU9*IT34&Eaqp#qr;rzpjEN&!vI3r#A7@Wr$R#c8>~OD+{LL4h${ z85G|IvIVdvOWK%FT)X6HEr1(i-w13AT8q=RG=nNb&nVk|17Y>6xiztm(^U>PVw}I)-zk)7vJuVURn+_f%b;S=b13w zqGp&xliurvTUVM(gj29%vGzHTLy5$h*l4!EA4NECwLcMqk_k=iyuV{k41&Ji9vKfF zwp(9uWo>3myKnrU<-{Nk_Loh%utL`f!FzFT zTb~?#%)#i%v>jj7MYk#m02OKqoQ$JOCQbFqFUD*9z+@C}$%gs=08$ey5iby?q%QT? z&>XWE*#nwYewI*WVyEVoj;(sz#;+U{E%|?oWK=?$y+$=BH*NYv~t`4%8m$L-%egn6m7BrIrGwTvIZvPD_$eE zMkjU==7sXknQb+MZ*>r9rcy{@_DyKC_t@=@F{ zh~1Xi-#J7lYJp0RY@i!bH$+;p#@t?mdi3k`0ZfWX=KTe25IkEWG-C5wtc2CPas({7?2UQa7UI+u+iuxk z3U9qpW)z{^{=7nz*FkFEK^GH7U^xS@`HW=98%aFL1E!%kbI0N%-+!J$dlx<%#Un+K zoyWt{w8-0FM#7vy2YTad(B7JGs@9e1i&7S4-hdyc2wJ_As0 z{{SX#0P`eDM(-4g54jm!lOeO)#By#IiqI4np2J<4N)xRA!t%X1Qd<$zxdj{}n#icKvqV4QyKfi(PbgA&MO4P2{opv!5lkm>+!_V>V0 ze3o7>IGdF~I}$q63|O8|Q?fq2A?C_!*-PT8;c6>PPoKa zroT2g|HAb}rG#4#Vy#_#@E!cBqo?)>! zwi811HBW|zD~YDV-oX5^<~eO`1)Pc*VKh7LGTsVV3n*P+{+rd{xV2ADgMt9)0RI3h z47n*Zi2T#Gb2YWpl&K*NFk|F_&4@{5D&DT1cUE=yd~(@tj;x=_fLUsnmW4=ADMR8q z45DXdT?2k|0?y{&REbSRL;UZ@lv&4<)cn4N;@UZ76)d3BDM?QtwmTYhz*RVo zs(?1c^vR))dAn3gD_Nyx*e>~WLIdYX^>wa^J4E?7G?8&F_siLKYj zcE!B%L0p=xJTln2+}xI0NMkfOWE!wawoWXjpelQJ$|N1$38yeMR;R9F$=$%OU9t_U zWyJ)j%m5i^XvxXy-}8@JH`iy>XLSw6Aqx0a!OW~-@z@5$%o=m>@rNj$E&}2Yh0!ybrfrx#_ zhE0J9)E51CosVplwUYC1%zXp{^`uJi*!@2&ZP;KhKae^wk&PFoP2I$!zzn=jLDc(I9V&b=P!}D?FC0=sgV*833QlNiiwQY)9yQ4^L?YA? zku8Bx3T=VB^4$Tb8c_IUkq#DOg;GY@CV*9x(w*=&0^-%*7FMb{Qy|H7CwiPIyIze- zihVeg+JlnKig~NsrA`9f0FPls9yu1!r1EeS#4wzx4#$@LGRGOfo>(oA9q5r8C>aJy z(Kj4vwv#(4tFaaE$vBx}!hFf5MHSISZVcPfo%3yib{{M4jX#GwVplhE+q*>6+cKVg zxOI~m0R8pGn5ut>nN1X6;Z{weY7KQ5p!obUCM`^Y3tOjB0vb}LnG(n`>&7m|I-I6K zjOW4`-jir8Q-A>S19Q2`slv%CPvRi%cQ^|O*lOxs*kPHWO?=Sn`WlsAvHobjwEVcSvn3UAVPxPE%3Zxe){yvJ02C z)nG8r2L2t6HnfpnX?Ipp)@m^QljHvYH)O*QkVznyW3vpA4sJb_G^MS|u^$LI2_2l6 z2dsWvvwdb~1K|R-`R2NN7XJX@dMq+fZ_^{yr7zWpXrzpad?zw-k{nFTA4t=Yhyjlp z{?}^eQIm~H)x0R52qS*9_Q(~b?8O+9xo^WJq%q$x-WV;Xxo{bgNC5P%P6F9-Nxv_& z%SN}7_T|skTj4+{N`EtCr7h`^6v`)p8DMA#1sHYjmGM(iG?!`GWExmMR9>Q$JCT!= zt(?xvlUy@{$79@N0JKD~*yZ}xvB}q;r?BPF5%S5z&~Aw8r!;MCsS`CQ=aqX<6 z8yjz0i2&tY{*1>w>8_ak0b5iA60EL1VCBb?bWY6I(_&nf=GDk!EfmFd&x-IQw6DWT zcx9YcDY`o&wd2c8Wl{mC2gGDxH*w;3UFCbBC5%d=ky2{MsXg-_BW#T-`KdYCG6V5$ zN$x3@#Q>nZkgsv2myL&}gz_i7PkfQsregO=w5zwW*Xs!?-xUh?7|(HNgpnVZ(-&Av z3UViNzLI_d82)GP~AKQa(8S)6Z4WdW#pVF6oNXP{?=MI z4UuNnH8%0HQ)R7v&SQ0JkXN#}jL5#JB?E8cOeQL2(IE4y!4=yzwS67<*S=c<+Z5MG zpVqeypaOTUP;6|8Mc!#&tZA$%vWouzt(g!vvkXIo+7rp~8=X3!d?1>)aC|ZoG-;fM z_M06FfH_`3_~Znb(?>>O7&P4A1#J_hT0?BmPav1;DKh*Z&{MA_!cznwieL|#nF&YlE}rrHqd=ZGT@ zM3g-D9f3I;P=)4exyafrdJ?@&aG_8!rYfw2{TNc+3Z1t&LS7fOrlI8VFd|>8-8zOHlyRWQ$74<=ZTCW4UlB@dwe6Ay+R)!!X&9|&2&PWyi3~H! zcLvAIO>Wf?+#UzR=aZi+ZI7rkpEPN(>NTc1+3dpBydP0;vZmdp<}PwAMdM(5iEijiEFic^2Idu3FBQ3btJ>`oZ-rf(zH zE{&eL(|{DMHq46IpD?@3+N^rCJeYp@ek7p+fMdf<0A~J9)?n7OB=~FZkdd&~eMrB}28`+6yevwi zDc|^G9hZ{4dJw*n$5V)a%AmK*Vr9`z$#|66`LW`2RFO#pbmVa{xTJ0ZJI(6TS-AO; z?N0ezcPgp*cJ|4os}gF&^7+>p^FcJpZQcS(k^rvR02iL35jC)|SdvHU+7+Lx#~$IeFx}oXID} zUH8kP5lN<(VAm6@Db>v~GAzKS&>CKpmgtcsc%p@_V;*QFI9qiTrbn8o-%Z61O)rSOj}JAcNlKk#v0vT-d^4E1Y4DYWj(XF=A$ts7k!U4 zqvKFUPhYnM>(O;1kM%zS36#oE8a^!)z-@nS4n}|GL zYEJSzv(Nrg`mdd@F5=lu9LL_Ib;FW$DZ|AZJW0Nt%+rtno}b&A;_c(fIIUxr zcgl|K@!1u_fu$%9O5kH^%9~JiITlJ@jcdeVWEU;9cU|e%0yz}M+S-DHuWUmLP@cn> zpd*mUTQU*$5%Pee3K4*mT3IwE2cYkU*pX?ajHInP96@T7Qg1S+)?#EoEH>m}G+s4- z360t(+J`bJ+~A)Q>qq56-D%S+md@K8*IW`h46GY(p34{F>4unzHo%jLYTHax$)ZZ{ z-vHewz0P@&hM5i33T^VpvMQ}YqsJl*wsb;CB|2p3q?!tGp^(?MCuT4fh(rT#42`$M zQs+w30B6l*DO@S10pGdEu~&y~n6n!q6MvopX}k+_8VX?>u$IVI*yNhWd!%i$6xnpx z-1v+vLuBkRV{3uhnDcCHj@U?JYDcahAeAy|XnJBpNh{Z`5}^?Zu0^^bP_KMjWR~CV za>%;;$X->T$JD(^lYEAK50<5WC2D10&{g8#lCQP(o4u4 zvQ)y=p;fN<6U{!;FU`3ecKKkF9!#nAyMbs-P4N-aDXUC(G{-JyyO~Nm7E{=qyhJi3 zENw7~mIv;p8l-@=tqBw+gBAo^X>3r`?tPBfvI3V1sonbRfk=P<(c$0_N%}EoN#2p7 zE!=*fVMXmsqI2EJgl#v2%l704KNpC~d`k`E8egp1`V2lADd>CTK|tLia6ut@WudI6 z{#dvIsNOk5nzB6t#^R(F@TNh>l5uW?uOZhWSk)l)0#%BGk^xCdnziJcZ9|fz4sNxb zl+<>?OszEa)UN=y#!b)5Fb?devnhmf z_weD@6J zbGyJk7&#z|$<7_WUnP1$!pJh<|-#O%!Hy^Oaw0aYTR zxkxk`c`)sEe_rSJCbAj|({8zS?A#8>{a)@jvMV(fVL?iDr-m5pTCs$~%Qnv1Sh`wp z^(jv0#N;F!C$U2Lk5KgE`nnY?#-2N45Y`bML2#OV)G~!ESONi{6y0#1ZL;LXDwAq zwe@2l4aC0x0B5CfEs+$Od9?($>eS+m0vdO%GO~7aw8PR^ef(fQ&m(r+SKDj=8+%|W z5m5zd=|U;vhAbtr8I-W(4KSo~Q80F{7APiAq>PhMMR|Vr>bJ4VHdUT8{{Rd!669MV zUr}9fX)5pg$ zL1?7_qhM=u6;ZGGPqLx1wL%v6ak&>)Y?Z$(ZcEQ5Oir%03 zLpqHgQL>@rC*%O>zuL@M#)>i&)akD&G$Mzf%1+1%%c0hQnhYFCV7_b7-oo*3Ap0PS z@3lr`^9_&`$*w%zq~BW0DUqYQ;m6Vo@YbKrk%(d#w~#cJy12QxQX}*f(Dtn>$1Ip- zB6+!{hjsOtX*3L2ki%n>BGd~goqNvF>M8}SA`!>p z_^b5b0+YkhEb?}t4xja@BrLBm;*=X!wXRBGtb})x{Kg*e$1{?xT8_KqWD-TQx4pM* ziJ|Bzm4>w+QZ*H=E8~NaRs*Hlt;d?$;^j+Q0Cysyw5Lq8%7bS{O?RVc(jIFK3D}N3 zY0%*Y+U<;aS~k%2c{xJD*~L_<&~4BhjQKL+wJT|^ZM@L>f}@LO1E4r%^tKdV<^wLZ zYTs3iiIss}jeh(ilK@gn_m=+vK{mG*&bLm!=7eJu6Sz+Nv2QTb;f`q8W>72Pk(V^h zjOwX*{v!JHk&vi3)bt>J&QAR-f&`aKWvM4JL#Z%Cq45XEw#p^JFK%fID zYbc~z3Y;vGeRAPdX79E6~_=V6msUM<3PsT&-}F{d^XV_Mu^oaBy#)MaJf<2Df7`}a8l z=kf}0gWo1tz$!>6G6A+*1Uq%h98wh(Xg2AQw&=%YGCd|F^f@OUV}T!GauACBliwjoq`h8xs$8)X@frG_y_;K-14|S%{4K<*X)dIdblM?4(G{)`bA-AP) zk#5fv(b7l??X+P|Rp@!qyF=QF!#}mANsEJBY8g0?M45U{^@B!pN-SU9d3 zyl&G9nqv}z5VG~ANu_A(gfS&@`{YYv;y<$s5*Np|EW+7M4;+$}G1j=Xl{TkSh-#Co zz9mk86qDZwN*PBpQ_~g^-7vIT9E+6@j0cD{%G>!UvutVG2n;4r)fKK-;u5H) zgyc@l;t?upyY;~20NLyC;8lT*cIt4Z)ve{*Z>Ir4PHgVS5{*hynQRR@-Bu40FEsNe zn$urhC>(yQp@~1Wn~XBB`7W zAhI_+ZIQtMG2>IVRIujFe6#0|DQULLWvuB-sNMenGL{Ff+pbF4(wz2DYDP)z^gD!s zfhoa>0DQ70O`~+OWYF!c$Jey$sLGl&gdRJ8Fu}ybg-$2(b=&^r&1{RkKF}v8Y^fu; zi$`hIVxF)ETE8CE__A$p|I*?DT5LuswEqCg^N`LD**!jag_+L7yCb)mm;Irb;mbUf zb-QM}gO6}3FoU~XhRhcmChzLkARWOwjEsT^dR3H*K+0-5(=pnsbp8vG zz!AB~^U`TWhcs0#5HkQD377V-k5N&F3qSDOBN44e)S;h=f;_^qI8>d*nW%s;abwUGUV9iR>UQi zZe}upzih79IWVx#JiVw{X&jYVXDl~T4}aRob7L!{rLErYS%%^`>ujVGR;DsLCOanH zf4GNH5yxw8M1k9p3`nIgK+_B1HpSr4W&_mR5!7;~**Q&w#VWGn&q%8pm^aZQY%teYz$Q46V1gyiLNBXK_1u^S@dxR4T|O?vdmklh&q%RIq! zliXWWo<`k8J;qlcDayeyxD01eMeo+RP;%sHM%)0vcwy$NuLv@l_Z_gsiQO!cCq=C* zLyuM}QbtPh8*N-e870z|Q$xQlnJ_kMX(o^XAf*-4f23fLWe3#LTrsC3xm7=gV>KRV zXjPaHK-m5n0)Q8?P!JCI4|6_C3=BTiDTbL^qWm-i3N2J1Zo6Poh)4xCI8d(CTJgyR z4+--lthcf-BkdaH<7Xy2G26%iV0w%&4!bqiSJi|m5r^~)nN<4zzXv*|bJ5{KZt9xW6Gi+-4rO?>u3pAGt9l&m9n5{aWpYveiq>xifi=8a*Jxgblec z=zduqGT364H|QuX0;ZoBI}*lCsf0*|JQB2I{$#Vam|MebW~f)Q7bE?CUuX8d&L&pJ zg$W;+jk`%a5n3e7C^!OtUO>o}QVm7s3*)qcHr~HxnA#%?RD;ZyPbm{Rh3F`o;!<&i zOK&!PUTzMcuzgCy)E?h>G5#Y!TdLWVY@nV3?FIE;vy zwJ;pj6HZAv#p+JGR-7s_TuNbSG@2v^63sC;0<>05zMPL4DdBnMt>#v>l-WAlIj_Z2 z+cI&$o!TYM4`b%|kzP2$A+F?Z58s5us98Ul+0X@$P#vf#lBPXX?DhAxgH9hM}#faGCDasAo+BMSy(MAep6WeQLw;m*TWl}8S$@Fh8UTVw|5ydvCJ{d%r zT|IZp`XqW}0w{O!J|`)*5;n-7i0@s!@~JUWyt**2Oe}-XJn5_bR@UO>pN|w`Yx=V) zF}4K0XOiWv7|7$|YMT7>aUHohTgkLmCV*{&iGT``+n)8V113NfMjQ zez^eTPm+r-ag%6}UmJWh$d<^*sZIR@v14ef5 zkmkq~Omlbe#HBETj4N#?yAT-h-TRsx{?BPAIYP&8gb zLr3=ZZ`GNO&L?X}C&at;$_ulJTM#JK?T~F7B36XZ;B1QZPF*`=ZKImvl|I=PRl96L ztquXrl7qHQsznb@P3?n{IfZy*>0AW1#vu@+sK~bkhha>TmcRsLNJ`fGI6_)IurWI- z?81W^Nmq@iK3Njq9oG}RP6XN#R-+T!CgT+_dwbUuE}=a-V#@YhO)2Awd9GP0*A#`4 z6HU5e)=6vIB*c=U+x-U~ObNFZ2khZs5muwEdSyk)iY&1Uw@h0STlcGbW$|^{j`WAv zow99IEmaAq9kLC9Ry8MMkY-A_soSu^$Zn%>)f@&aWL*+%@Zq*_6q(zv04tTba9b?I zcCHFciV}I)><3JoTv^E5aVsB);!9Wvgp0?nMaYO(MEkIHasuWYYfM<7Bzg_7hN4@F zL|JrSm%dek(p^u=tdU)j$yP?Fuk!p~8vg*nU?s3T z;C^lDIxXW`-6KID*{F7}h{7V1CQo7c$@{;mT*!|cziC_I1b>xWtm7<1iQON0`B&x7 zJlMVFmkQcy2r2?pBOmpC&PWzuybJVXg74}AI$ZPgil64M3T43tG++PI;&OZ9&Xa#G z3dmQ(Fta)M2F#3_0DFH7#tukCm-T>Q(v-n_wet)wUA6kOVU(bOKFqX2; zyuW?P0k2V*(%Hu>w$eq~gM5KxQRWfHkiuH8WUA>npO#25ON)AB*QbV9t3|w+=r&=*HPR?vcPJsk>tW*FW2q_Br*FW8q+Pp;bwWn zm&-XKI?x(#*E0)2=Bg$v2o2Myz=bcY#D|d;uGQZQI#Cx&q=UbX-9gC&Qxm<@CyM4t ztpIdAR385TVMlB!88SHL{&96t;jNpmr54P5%6^pEhb5rHWm$ zIA#P2b*MR5G@+2`P+bIHt6NOwlnqWJe-><&sofKIX{ks|cXOl)qlpaF+xb(DHo&1Y zzbpM(Y8%85Q+@!QkB%9Z(a8`r?J_@v&m#tE5)c4=j#b2v8k@@c1TJ~OBRlTZWfk|! z1eC9W4H?uTtAs*At4JyM42dkbRVI^2il~qxgaDJwljD^}Td0D|yX_{jL5Nbx=9B|sl35vznZ6uN7oLjorc_?w>rIs!x()&$@eieYJ@M0=388I4jXxoXb zrBZC+fm9BHde{7|@<8m44jqz|)F47!+s5RMJI%TKvNoO-R*{)WTQ~<5?JzkmBpgJc zd`mln3xg5dS$KDn$m+Cg_UONh&U-M2XVy$(nToz_~>nP-< zeiUL4`oGJ7lmP2gp6&!ERkjRG7%Co^EhZL@mdlLG66&bn>`O*=`Z5wMMwq9H82Wy- z>@p?2LKKXGM}r)!mm>}y5=vLBrB#=$J}#Z|yK;{tp5CpEyX2$Eu1H6b z(3KnQiBN@WhM*MR2vU|$I5i#e!O5i$7ZV#H1l5%7+Js<}I6kKId3r9*UQwYRaLhYm zLvhEsIF=DmkUxiAvIUcBhp&cBD2UXWU=r_WZRay`+T5KrpXg#q7i^IIhXd}Cv zb)&HSa^PH$$1X{Wh_ALuC~#GS0o3*O$p;vP{{UH7lmWeVt|mzlMOs52Dm@K+a$Ib@ zC0p$V8PJFi7afL5IU47Vm|ml5*0OqTDN1jdB2Ecz*e^=fy|Un;llgm7w6nS`Bx!K- z!eJ4(ulqd4%xSX-;!TD0&?3WYX$rFRs?_E!xn>(JpH$Xb77)Q2)29`sFos+SSiIG> zCiJf7C{P2i;(q*vse-#{Z_nbok-3@>Sm82f!LqHcoXt6b*~%|U6H}4m-H3+EZtdcV z=t2h&M&Ryik|msR+WXrW*acJGklY~k5auM|&E-!eajNXd;MWSJxq z1}b@Y;k#OSN9O00Z6~*fR<%`*bUa*uHy_QJ*mWVsklldVc_FXtXVjh5B7s8yO*wD- zBQj2K!XYEFcsPo+cHa#wg(f<5_GS21oT>$SVIi(3cY1IaFs)pJy(|1P7`gFJG>sbW z{rwAA+Lh}~vZm5t| z8Cw#vd)18zBC2(xV#z^LE89yWXl4!0UW)ftll;^dE1y&bxfT(PJP z*SCj$*m<>?QWo@30hCNT%^a;sdT*G{{u_rwK~D??gcVtO(;ys@q{F66G#1xwvL&2( zE^ZXA_aY6e6gErt@Llae8tDm{oF zc2ew=Ks+&4xw8J0OaNE-=ttov`3N!q~JL{CN^4%EoG zA$(nl$TJ9-&k;-xR9lj24Z7r&4rZ-STxqL`56_v~3stJXlcp6zUH|kIR#I?D&Q-&M6I+4#S$utC@MPQ*sU1Ivx!{5eHf-i197t-44pXSsr26h zEmkUyxU(FU7!KpME!4Jv(-ak@x27#FliSdOq)S;0;J(6f@2WMoS>@an`2F- zBE2=2E{m$peM)0tUil`wRbR&-&efr6R=sc*cD_d|)4nZ%NjDAM``JN2@ssweqX_0P41<1j1%Zzr!rkLdWV{SNJ085P4r_yw>|=t@eNFgTG;__ z`CZ9=v303HcBoXXN$@zaq$B>6^5oyS4ED6&{%XTalyys$^9>(kG71yi6XWvTtc<2pQmmO2KA=(%B9WO<5!1&gnc@ z%A^sHSY)1NxAhfy5Gp{eHWkZo&~T=ve6t#69E8HOEb#UL!!WP)%;#+u8Fy3hh zsu3>9f3kfZHU9ut`LKe=g%Y<`D3lg+R2qKy)dBnQGDKpdFPt>{S=Cn3+BBy0=OG{G z{!T*nW+8hk&H0po@K*@JoINNNYxCuiwqpT~>1E%YQ5#86C zZlZ0>w=;!~yttqPe5{t^9nm%s%Xe$M=ZM>Vwi#XS-6)Dvi_7+M+p%^oHy{f27)jlY z02K5sCf4kgyW~>4c>J*|Nb5UIIL`2*FhN=_K(i4Jy|cH8kXxZ1DsZxh=Iv(Q)h*f4 zPpD}@hAa{KewS>PqDfbo<5QI~@<8e8jdjdywfhGwY#>r2%*;J#Olqn?-ktD{O)(4g ziJxeBRBXs1`Bu-8!^{DMYF>IJ`i@>CR+TJu4Lo^!xjYxDN-nUsDDxR1^2uwV^ph>C;l^THnJ9Qi6W}c6vETBJDx32tPMc=&^nT9#A z4cqR-WSA|L{x6krErEKCfyHF04JvV9h$ghflaTL`PgSz~K&}zZ5_pfAq~m!i{{WRt zv^R8Px{xB3-z*AJ_|)<=0~VPM=EAh305)8oM1^!FHsX4p!y;P(b!yZU@ceSOAt>`k zoL(Ml_QqsJPQN^C?8PF0R*$m}4A?-p(iDo)<9IbYYm@!jvF3aRRWa#ji(>Rkt$KBE zAp(^qr|`{Kb_0?P{L6bAvaJ{~uH*2_Llll{$)t0|XjtGX69J^$O%QTv$H%S)&W^RU zxsKsvMy!NT6VPC4-MhU$;Vu?Q$Y$wLhS?33XVTq=D~I9}d<=!J{Th=(_ApBfKrEYBpgzr{w}4UPsY?m{Ic2jxrws0t{nz=AO0Hy~sI-N+$Y$)k{m z2|y`do>)qza={psPaJ%`slGt+WFD#I3F4mF7$~hMYn1@gC7PCv9-{=drB|C*kAOKL z&4EH_K1vqWVjGy0$ft8!*9jKHC&SB@%SQCTr@lq775A2Q(G`(l2ajF)j8IVbIt88H z=nC>5v)c<4lK%km{wtu+yxf=hPWVR5k{wU-z6Q27jO<}>N5Rx&?{=^@c<-D404cQ} zE{|NNt!56=Mk`O{4!N<6_Griwdn+VTvbX^F0Yj3z4Ipmzzb`?i+1nQ=p<0KN0k+w! zmD`*-GQBqc08Wv;C16i#05Y;lOCz>{Le)OW-vc15WB^cN$pfltA6K_&zm!+*#xNw> zzI*dO=B}Z6JI4chG1QNQZgV(cpyOKu)OA~pMai9-L;g|B!2w*FY}zMFi;9X0HG6HC z#mkQ4blG~>@yc1j78h#dTNMl(zg{167B}W)4Jx;4SHph{%);Vo62aH?=1WXhniE0O zAdadxf`XY``8z!s^&uE+a}%r3lS5|hx^IF^uno}zp*aUDl9vh!;=-wQIrPOKIoFR~ zwZ%wN?s83JD9axbPD)blbi_3Rl}Gkav1)o$sc;M&=DC^IdhxO2up;5llhrBacsY{jat0W>Ac+PN0!s&foB z#hMQ3cdiiQ$RWVVwJSr=`{YY>R{=sh;@GwO(-6kiuETxuO;@vW_#N>IPRLmsj!nlc z+MTPBD-?79k;}s%HC05Y@ z8SC6c6n$W*2fFq9@un=F%l>~lasL2Hg>DdvRM6!GkWb+Ahm^0B$kr7Kqa$cN{}G_^=kBcYpuY;-{?!LB5$jgdHNGQNNC0WjndpLU1}B`A9A5P)%LG z98SzvT_9-6H%0^;vL&i)4)Wb?oWeHanE>5 z-)xC$lCA6lMB=@-$p$GLsmzq`*yMvKp(I{E595Wg10wDh1+<}D*O2d8e8yOwBs;eC zIFQ;DS%Q+S(-s)f*EX$h0uj2fu2Flt9DI~vZH5N>PBhhKU>9btMnSr*l|`$3HV5e9k5$26gBLcjEf^)%tU3XQ9w{nZ~Esa5}p;2SqY%^ZYO?6Y7^7L zA`52<+dVH%xj(&sS&;2r>xn546p1%hF-i4N4-k4V?eoLYjaKN(m(vnO9TW_%*@^LN zh1D)CgweIBBoZ=UvEde*YB$MyZezDrzSH0b7@>Q+y-Dt=hDhiZm-?jtPpBV*ukC>>hV?Hs~l zk^U37r8dJB6pGT3?jZ~6pH4BodgN(*lp=yEu;17Qjpo2l_#jkur9o?`0B%B(2m(A!O6>@v#51$TVje@bQ_rzr~t2GJ7Q5v z4`X!+7U!z<@W7=LX`+jlsees|{{U-a+X-jYG;b!l$Len)uFOVP6_D>sZM4gEW`*lc zgU2jlQEf0%AZi$gZP-anHU9m&PJl63|c_V+8a>2>Wk0gfnC3wMHur-tvHr2%hcQ||i*RO0PAx$5h z3BX$-I-~6GBo!VW83fv3sM9SUqjkwdtYcw`Yno#uhDbUL&BrGKaiEf3T}$x#XQt-8 z^6Bzp0Y&RC#^N~VP_>Z(qWcWhhczTN&esJK?Gw`tu?U9J3=CwPRQ4F#XbMovaKqE> zPM8ZN3n=acoGXyE0Uth{Fd&|}BoOKJsU}+2w)ODBw4-HZ>bD;eOerBTgH3CB>(Ajm zLB$7>9_An?W#TB^d(#$F*tewwe`mfS1}gGE(gGi)GOnzUnsGL+%HKv!iA`e!2Im>Sb70i!B%52n?`un6extBjD?l7^o760JJ*UmQ|YqW#yyl0$O3 zavv;J2X`5Bw_eo4E=;03)vcffN)Q^NgdX@|HWCjX{O0_d5TlqJh}v zx<${2nmv9EzZ`=ouN>cei!@wOmtD4OeawhRyvbx$gomLSm5IdEZjnQ`! z$uCFRwrZbsBZbdW6pZ}q`#BjgMKf|AF8Lc@dc{s)s`dyXWWm9r^UpnkCnuk#91BnuE|yoUbE>bETy@|?W#cKGDJ2FMWYVpOhM zaqW|&Oq*#W*!Z5F*#Zy>_~R}8?gHBsa>kU~u2*hf3ZyBJCCG$TKVFJ0;L1ud ze;kz}Jdq&O(;(#ls}@DLaz@)Q3OsNXq|GKEhx_vAns74W;sh?aw6_h+Em@6g;hUTW z!{nW(r#NyO{v-pz03-yduhE%KoT0RPtG)|R5;P@RW-rgCzz23u`xh?@{71y9Q`CS3H! zI4HHKq4(>8DMK1UejcBz3Ee{YnFj5+$g(@JpEYUdKhh9vI_2YR0L&)+SabqL| z&{4PT*9>_ed7x&DoxuCDe&wVk!%$ZxY{}UODBxf$11>795Q&9$0DoMnw{DL#n(oBf z8iQ1?@x<=s#!B}0B~IJqNZHN>GPKlI+6H5}CvB^ZHAtnGo^QG`2ewcscO`ejO?HL8 z^JVO@x<4XV3Yt>8;Rvfp#<_Sv1zA8f-2SXvdMi(Nb9MHWszqu+!Wbj8{{Sp%R}lvy zs5j)ogXpe8MVAk!bXAvuRGw6|5t5D?LB7>B!D%52K7_IHA;nl! z?~!K^iW(y#g1;3h^kThH`pl~huhqZ-$Q3@=LM6>dPMy*q@ruw>e2X=bOEVM5P&Zsv z6I+G0qME0G#hDhjOi2uH4!-7I=jmy>?qERkmv{%cj0!^gS7bgEa@VWFpb<7zpr(p4h_AH3vi zc10X7t$<|$t_H`p62g+G?i5HzQpfMW*%F$zl9PmzA{5trScKjS*0er|bH%nJAlTi` zi(zu#=?X|Y)NFFV(IA!U-cqu&L2+))P15h7g`;az&{H@J^E%jK^vpYoS1{L z7-WjwV*qzJJUaC{@ZLgOG-VQuDe-s7AqUOWRBSO~e3as5M`Iu)9+;pN(W|p{qWEB>`;oSc5Z1pu z6}HW`i~S*Q6#;IUAqGAooZ5}CMrsFIZcfJsg}WI~W*e=&xvN{R!Z)U72)I03y)()B zm)5jTM{?>D{$~CBU8O%h>eF0NFz&`k;GNdhT$=Kx23I?QX=zK>3Q- z5X>aTX-u5S0G_nT1cb&5!lgrRQ<5yLPW9bILF#Y@vMmW~IZ0}J;7umd1%HaBq;4_^ zOUsT!Eh>sx(v$;ifMTf5r9dO5Ns?bYs$b#jiBwUQRd}Ba2@H$LTF=!kV~`N5UM9P2 zawP|o*RE~S;8lKk7Z4>5Of5_VGFKM>^f(ZRNdYyVwd@&L0x9XYZ*F9gb!ob|U37XwQA5mWnq_XOURx+O)ERhjMOjxmB%uNa{O2N#+qA|&RjdJ`ZiyC;8 zx@1=E(x>mtvXBv0v4ARe%yQU{RU2X%Dk0#s8(?e)y?i8rQbjQ+OEu^V!?$Bxx(9Zd zF_cpyW|;KF`@PB*bUh{GKo33SoEJ~Y^C3yrB>XKG7@s|@~+Tg-<6^sxU2D<`@~*dW|>9HB!@TDBT0`k1%t3VGIiSn2^Led)o5GJ1>I>UMyMgVb-DFay>CK52 z^D&nRw}EO}T$YzIK_H{X#Z5i4L~-!FZalnUY)S=B(U{cSwl-pV(Qv9~Z2?jYyNYdw z(29`8?4b6*mrX@99Xv8M-o;uOIDZ_H+M|NPr|8Ji0aBb3UOl>C43KSFP@13PlL@p0 zvsI~)Z9I^d2+TiqzDI- z$VU^AE@TBFmFc!t-U`VYxP}r-FTUPh94zN`IN3(@-zCwYb3`C3@fI8Q%FB>Bt(et< z(|-7dB^7UP!{YJE$#StqkqT?M$d@KNHv8|0WhU347+8f$0Cvc-1-`ga7qQ$N6va=T z_-O>8u4dl9dCMXkX~_l;B0%ZmmPy5kRzW~At8zeAkH;d}6-8=d+7U2NZ{HSGX_PPU z@fe1Q3SD!0w)Uln=2v~QJ5FihJ8wpEM~RQk=E&(?#X5Ut?(Or*9-qxv-f4nBKG(hq zYdgAcF~Bz808%zfuDrnvibX1V1B9k19Rpn&My9uF#48=fM2_}S4{7rbogbStmDMeO zd3kNKC_O>jmSVXdh_P)yOY-G`m)4ZFsWfd8{Cfsr#C$nBY8qGn*XJ58pTv5u2q!i2 zmAf2qq}nv#IQZr?+=NOni~;*S@-1q&C`sOXr9MdHXdBYdrRS8Dd( z?!`MDvUb;f5`J7ZKP*s6jmT55KM@^phA|YC-9*v+K-b$PX(%hG$4>ZTyI9+r8pZ=8 z%N;g3Cdjh3h_7wN*->RhQLMz{gX|92hWN_4r56y3QdgxvRwc}g!A0oy={2LxAtVOk z6cQ`nmJ06v$h2M#*@)byg8V2_7RGSpvS_ zP}JFdC?SnG3LYSI$@#EMbUh;KL?(HNjCk#olI3kk*z~(tNvpGi*L;&&8t+n$CiK7o zK(9@hyh)J>s*UF2;{bU zZb3cqKs&6s6G!m2)fA>Bm?28YI+6+bVPhn5K%k0{d`1NbFpJBc`*-%iBr+`r%JOO- zzY9dB#P=B6AV6nYKai~AWx2QpSqDIRWo>3bl1HanGL$eO1a#stw!325-;tvuot;!v zlD&uerzaH>-GJ(L{{T{)##DwKYB2O{5(Pq8JwZadQzFPD{6LVNHSTi8Av4l-HZlcK z_vKP%6G>uu1!yqEk5roKHim?L88F)=7*r}ZjPSppX>@v_9fR#LiASBlCh?F3`42qLnP6r-U81P#YH9MGFjVqRj(^c-D`9EHk&fTrh)CR6%&Ia7b&6>BEh4>U4 zTvO@HZUO^*W*LT!arK)+8SXavGJ+e%={~D$U;$Xv*8oxyi>m`pYm)^BWH7gob=!Ti zWh&Cz$VD4sI%I8_QfoE?m3}N$8ytmW^p9bYrmI2<2L$)+;4rdA+s3R74hA&6qiENX z9=n zaMK``aVThZ$SNQogwwY8Z7dah**toqESuX`jR$HRG~6Q1V3+GOW!*@|+Nm;%)REH| zh8C+D9)~8OPV^o-bn(dYVnw{KSJBefSCUoRm<^W7R@wq)CSE%n$3YH86LmDEM2*w} znb_K@9<>K73Q?a5?MmcinquB`yrqQ0r9~<2h}g0Z2`pL7M#DB2veGgc03cH+O)K#y ze|$k?tHcagjhDynyAAP^CbcR&BmvtD4(O8xW5ks`duGgXb%k#;$KMSgCYn@*OGX8G zsisjd=U_Xrx!a9JDMOg=Ku*e*?ND+Oacs z$zf0q{qVG@gcZfCg*RG?jF4)WTA=mAYyv*nva;pEL?^lyttORu1@uOe+sLxUf6829 z+nX569uoU!$)0Pr^G=rzt7gEggW?1BTz$Cz0NA!|BQ7Cto#(`HNW`%}%1(cC9u>n11)gI z$f(EzY^=F(RORYz;gJqQPPj{sLXe8JuS}B=6rMhqL19V^gONF4u6iOF~d>g3(IlMJwTvZ?*9!tkuEDG6KppSH4tS;1{0^ zEcrKDZQB4+v|ubk;k6DSC4EQ~$tAGdhqe__kcHeFA)-Ytxss%ev5-E- zgjhg2c*tzB`DsmON*2+x8ikz1!gBC$&<_DQQC){8}bl|MJpL5`Q`{aX#lNUs>?^-fFLqa-uVWtYv z-YngF^uj{|5SIl*5%}cd#FZU3R5t>f(#bg(<1tE!Jf+CY@0^^N(kL!vM;D&mWz7och zs~dB~H3s<>@yQ?Ra7r=xZ-BL+2~xwI4~`O^YJu1GwgRUBYo+2uZR<+phbBsLNDswY z(-4I?BUawDJ#l4d&rtE86*w-^$h@iLVW>aWuR#zGvO04A0ADI5l$vMUBZ#WNflzI* z!{pN2IxN>ETF^^TsjxDxA zo4`QHGX^9!{{SqStu`DP8b}2xyU{JC3CL;@MP>w$Yk@g+b$i z4x2`6dYWuI;RRi3AS=Q8*KBF5h4(S2_@8QJk%|nrwkziyLCB@4F{!6czvkJK9BwX5 zw#C-vnK;T1PWfPqK`q$dM{2@3kb&6bsX=5`E|St=Lt4;uIg6+px!AW&mx}@@M%jkt z6S7>9qOm~K2fkTNM6ZI`jcUO~HuuR@FumN+o+77_9dbQeM#+8L9}PxY(8FTP)6|FI{qUuWzCjD>SU6NNH~$x#{*nKU#sgDb_#y6GAjd z;HJSEVmIHJ5T_)yP}Cb#^~Z%Y$Di{9RF`FtK)x%6nM5Jm%sPe2(XJYs)Yq;&464dr zkpcl`C%*l1X{u5L2R%)9p~(cQNiy&tj@clnE0PQdK?vw-4#Np4=+vr#fu}DK zk_Cw>zKW4mG~cI&RUv5zJF8z;k~dESmR+#nKwSB9s0?PiS280uxj`jt zoH@Y{J$o8~mJ-BrM)_J`mkh7m9IdczvUerps*nL)>5!Cdkd-ozDS5r@=@hgod-oZO zC^=D`C%3w!H;i~N7Km9Rlv z>8%FNDdCe!T_uu{N*|{UwbESn1Ld8h;BlY0{dcDI>W;T$X+(uFyNe$5`qA67{DY z_x2c$X(M-!UfdbxX+h&sO@4WEm1(D!yxDi9&Jw)fr$ghF$Td^cv=24gU!Z9R7d^Z% zg4AH0hYo6{xg-XrTCYmet`f(S&iwXDO&pZmg0=Z#+ZHVy?8Fc{_51Raqit@S3J<3e zQEA1!?6efzU_mLu%~bcMDH|{!%*{YYVr}a~Cw}$IqAfh$Nf8UPZboD$qATkhM#8-^ zDYRlSU`XqcO{yz_@V|c8q=iu6Hyl|V)uTX3uS1AoR>d{FH|p{kAs+!boe4NHjTESw z?MhQJF5G^rgoP*prb0t!A_j;_wBH!q-bc@WP5xkW*pOxI;vO=+m|WpeiXK?SQt$9|ITIeFxlR zT;C}rkN$oA1*;7v;mESRJZafxKi#*ox7f_A6Q`T)eHZZu(|X35x|O7sj%XxW z1K@ic%$#_IJf^gzG8soTC@&H z0Cd6&6iT3DU)kFN7BDRB80vZ-3@wVm9ux|{5gpD6H5DXx4byLY0g*<@B^Q0pB?)Bl zmQuaXObx0KL}COUxIzlOv{fLUqPyW>RpfEd3gnUyHx}tS9%7WJuZ~O<0`dKR&+3;< z2&kzw_Bk-^G}240+;`g}C!xh9c~XO#^~#)*9E^U9jW)ol#%gPUwkDO>04ss9)vn_W zsaQxg@WNQE3r?62*#w__2`WTyk_<}P(|iSr(%B{_lU4BPfr=(3uhW6P3hF-UhR1+&ObsjE|!rLwr@#0BhsdBHSFJr28CHtR}fM4U{Ksw(Wp55{D*+ zr@l-$k_a!3k_JL1eQ3D95)Lx3fzkVjR7(_xk|B?oZ) zSA3j9hcbmv-WuhW;{-$i41seX6-n>gBH3+ot#-(uE{6$b3Mowow`>g2mhy3-#f*`L zVy2{Sd*qx`E$Jikb*sr5-AAxcLHGIQ!%Hf7e`qvZG2;vf$Yo;Pj&5$=19Q!1I_=vc z$ZWD=dJIC8Jfo4@CWcMr2d2q!0rd%lEy5w;Bir*@yJVdVq2hXiixQ8>)R=lkpsIVvX+#uOvNG0 zO%>I?9>=~$)VFOIMga{Jbr}{Q9*LxPM~?;@VFs8=HnQtP635OnxZZ~);s+P<7-*JU&%|#>PMcul?4a6ILmO@V?mfSf}Zrs zs+h`4Bb|r6at$F}8JK)Rpd6Vj`4sC*wrOqnpxBzzDW_=(SWE6S_WIu)jSk~2=-3K< zr`qvhQ}02Q7Qnw-R+RN>_>qzf2(riStoP}WC9njv+tRe!z4GXqYo(Fe)rdbq$Son} zgM(KEq=a>><5G&!31FZ3O4r2T2GR!X|-CE$=gZY z85E%W9vD)H1P#AdK&lE=-KJ{sQTnj~lgKr@fpc=xnx0Hg(U}3Z5u_g_KV%V4y8#W{ zkXIa8jRE9OUfA0O`g;Vpp$48l`3Y{zl5?octw2Q%NDY^gJ3_R14G0t`V}jEylQ}gt zv~Dz@?_31~b$d&wuBr_MM?>EtOBzWvOG9qulzbz;S`D$3n8u^7HRJG8K%b6g#uVbp zeHLmq%PqRdH*XIN%M@G_%_|Yc(NSs3zC^O5qfAs6C)H9#X}&y@6yDvVNrNEc$-8@I zCZKU{9LxsGAxpxHzdW3%_}wsiqJZf`)!X(ZvsjJdq>}ic}DMdt`$JDEIwjkP+ z?9SmuC^5T8QZf}Ho7DBhBpX#*h7U@8IBk$Sy=%&Pr`9ZzCN(jNZPJ-Q*~gIGGm=7$ zfQBfU9UW>hMKK>d>c6Axom2|R@ckG-Z025GlA2YBsmohRCN=_u^~8%pcP;aX1I7S7 zkG@s|WQNTD0LXr1lT?e)m=9Vy14G;Su#RpqjRsg7s+_O}nJ~XUMxRtJ-)USC;X{D7 z#M>CttV36!sq5{P5ojelgGf-j0YQ*dbb5NCf_h-&kfU_L4;9+GS0ubI6a2u{n(Fkx zhN~H&@XWXh=E!nmOBtnm9GOZeC^X30DOnh|!kuxnt0MY~?lKnKQ7H>P{H!dtx_c1s&4;d_nbcu6`F)DgxycZSn<`B2Y3lJbGYm+z^k5yiTtk&Nm0ZgHT8NEMj+W%Y@IH z?N7^pGoLc(cG`rW-xc96{A5po{{Y~=)@|V~Ao-@J7lktvpYtcnl>=9|Ux`NbsR?ZrKg5EvJo`Tqb*;udrp4z9a)VvDc=A=Lz7%ALn8dP zyK8-V+D4$MBO^V-0khISG4#r7+B>TfMa)WA_9jF>_0CWwaklgH+yBzzmiKc*P?fEB zIgjDFe0|7-)u&TZYlFjQ;-c5gE(btz9uq$iLVa3Gg%Q6><*)7QJdwS300Beba&AanBoYOuhraj{R6eTgXrp|IR@Mnbz#0RQJM5{I@(`%bM*bV^ zmJUnRlX+s*TA(#a8)aQqe3DIK&QUuDH9@^{!WJBrG__b7MF6IrXSab6jz^eM za@e%ViDxJ0Mr>j6DB%c9VBNj*BX7N8tT+5tzWHz_I&Y4mo$QWJt>sr37I z_R2C1oQx)lVP^E8Ie|{X_f^yjM(Hwl*y5-Kx;)ElN!XukHEb^#-jGW$$1#*7iu?P>feXMn34>#4TBl;Ev5YTZ1=IhI@C8}JO*4m zlNL8{jTr!q`{aRU3zk+iz*%)%w*(pikwmvtwv>vg9BOvSGP_ldLtdkgagpSp+9iv8 zBD4btM2#UXd=BRd^Gl>=0+>Srhmu-#J-TFq5Yt~Xjfv}xZr38+z1z3KJ9o&)Hex*$ zIq)>^g|gM{!6u`xY)WYwAYwywCn5@wX?~}pM?6K_ckP)GlZz-Yrqe#Fbgp+$YndEY z)FDjP<=BN)1L9CdWDZUt6jGHkEc@+{P*K+GW?EOK`6Va|ibDRPwIBFp5{F)iNeu7u z_u*+NS{hg9+bJz`X7j+Uxx!l1;1sIYY-ukw{LH#0`7LYks_*pV!(>=$aqqavkl0Zk zpac%s0ux;};br~X9jUek$rerJ8;EQ!7C^#=tMn7!5*kkLO18KTY1arX5=i{#V7FE> z#>Zl{ugfA?z%frRT%kqpLAF6iWpT0vs2d!CL#Kb+3V7qqSYMs>&(ZeAPb=_b1K7$Arb#nPuOjy5vQWg}~eE(vBk`{qnzPCVyp5cl`XnhR1eJuoKe zE!1Eki5)W@LEB)K%2q&)&ST6weKeCuk8H&*{0meovG%|bEyBe$0E{Iu4q-xZT6Z0( zhSs~5@gUdR1)`dI75B*oi4B(`^uksG)tM+c4!IV?8eFVemB7rVi9##a!z;bq^U3c& z^NbqtVSS^@+tqFm6XW~2Y5xEu^J##*7i{VHCB*lMBUx0VimM6`b0mv-&}(;)`IpL4 zXxB0_d{**P(mn+K!T$hPH2JV_ZuDAhM~ad|6&+W{zF|8uQJ#|el_2eqV7JlcdJ#-Y zVxZB1@DOM>t{ZHU`Dz6Zh615N+1fAYv93`d z@A1i}_!u6eBNkFsRwQI8zCLQSr_UDE!D=asC4hDBifK!SOjuIjHzeZ8%BQd4iWF4h z#H?degf*6l@WR(>sC+tPX|^R4oqdi*o8nau!nN;(xd(c+TKCCC#LKc8AV}M;C9Wk{ z5<1{)1$B0z!r5vwH-;gos0F6^Cm5-k`AsJxCBHfQ{ka6Txr2y_Sz|$nXo10~hGO9LK&MN9EF>)!j#Vx3*z^aJcNnDCT zx^48}aw3RB#MdN}EfvH%^K1?w6wpwnxLXijXwugH)77PBjBI>!VW-JYAKJa0;y}yz zqVuOvwHdeu-!z?$YHYPM#jLc}+POr_d}PU?@^+@+Iwb+vdu2RK$xfmCzPzA$nHR?a zk`ZwE1qzbWFk`(aDTl>UX+}@W;Gtbuli`vxwj`)q`8sb`jLr%JT2rXV@<$bxLpk9W zqMLvz$J;B2-qAOY>)O*>>dp|KhJdg3=E%mwfHzL!ou&#@jrYucOGvvg{DJDDAWIXv zX7Z;B15!7_H(@SG$Cc!a+eyssKAf)ib~r}Kex~eh7llYCd@bPGb89g(L+L!=qF`~w=WiKJ@GSZ;#jYtep2JMxNl*uk@sf58tL+^wJB^PZ2-nRuG5bcBp zDNV(@!7)=!jSl%LMWdO2cU`Ck3bsJf1e(*gwhE@eZO*Gon$+P1u0g}ob?@Oqa$MMe zrSSgB_4mXC)hFIl(7#Dsg{Q!Skw5XSQe?;q=JmTpD4`WVRay+JwMeT818xUQM(ioI zMq}ZV;zBOo-GHg>g4MP!4M-rIX_Y+B^AlTp+vK-b93fg$ps($3mV(M5hmy74wLK0V zZQPwIk4&Qyeeo%d>K>?76s<>k;7QqD;vZD=1d>MMB2tNIl1PTYP*UXH^!n ztxm_TM5$$02Hy3D0Zf&!iKiu++Q-NMNIfzHF}h>^V7zG*u%{9z0m}fUGI@+~A5y;g zumatAPa4^p4Ysac8c9m6z%EB|gQ{sOkRPlP$8KH5NqG*!LMA96sdjU zkJ<31O{|Bmenw1v8@P*X6%YJtlt?CKz-Ri3iFlLoQ1m;D7fb=(k{y4_7J8guaS^!O zGL7qql`{qBnx~O(?AzcAGL88T}2@3^c6UH zvZYIii`IgpvBhauK)ic9f$;ziVCBcv&Bv1VdNr=N%mI>>8H!xWRlf5AEL>ywN$-(K zWAe-OiMgM*{M~Xiyfmo8YS(vf>D6J;KvTna$m=>l^+jhjUB9vW;>$VW2T4Sc^u<8m#hJbCh zW6o6PY0d1Xf92QHej!s2W0>H4}ka~#nZO1LTWnm;(XeRiw0ekr3q%0{; z`6@$n-y)7hWXoTRwoEnTZZsfxoHno(x*)GHw@j|vNU*g%={AGod<2hixs}F&5P&gO;b#ZQh}|f6;>U54~|!o z9AcYsWjM`;lky&Wfp|Ef=bm|yVs^tV@Yn zu*!*Si0J6$LOIi>0$G)gR$)!S@FN>zZjR8Qua8`i4VP=@fSO{CXuD_)E88R*NJgc& zG@;n^%PQF2EmQ!JPp2z8F(_Mr15>UnLSJ)i)a1Q#RLE>?J70%-WdX2(WPqq+g zqbTADavB_yg%wpNmgcw%kQX;>4Ah)&Tp_5beWE*Lnn+shOi)#={BRc76j*8uiEgzk zx9^4_hC-9E`1yCtpdCbx_UN0`aJ_-+f?GA?JZ6)qPafT~81C-iDRDUv*=tK0&(l3w zFhQNNUnX37FTk46^f`x{(p&NF9=W7FKwwDBL$h&AreFs9j9A)HdwLMm8f2*i^(rym zfZiht6}@$T3>KP8C795V!lR~G16+&4b@_|xR}TLG&%HXF+5xkN6!SvW5_AwSHOyRs zl34=X$8S-(g%z$Hx8k4ie zHcd5K1{0uG3Z#O3aCB?~bl%b!5%|k61op@f)#4Uq(p3? z0;s8`DubO0nvUIaCA2Q$#cH2q;R;2ef;idwcEZ+a6K`oX!Stj1XJCEsNUPa=t>ym! z(H2PqP|n-C4;;rqDEB36L%t_=tF_k2`$X3ms&0W443#TEzyz__WLB7mn>^ubrWUo1 zrsct)>re8IO_&cZl4Ns9zAjZK=a&H30_$%`Q51dnv!!d26l?`BG30}bh@fx^j=uP! z?G#TjQL(_-hk{assRQSMM*BJB^duWo#|>@Rqd2bL#|+OU z8x+VZ3KL54p|8G1T$^BQs_BoxsN7h78LBSJ5@OCIRz)30Yyp|wB~Cz^_c=1vK26BP z4~rre_H8Z?B0aFC(C$bF_~elFFUXQuUMV0cT6@$G*<6rbnJNhBLtXpjC9A7ogY&@3 z)|mR8zU&~fY+ImHR8vvCMQ{?HCz5&VMO`}m)*tT5hX7We7ECr{HW=_iDM7znwwaY` zk~ta=9IOVp8cXi=xKU^hWC*Y`rZ+CVS0~wY2!sK%OKd$ z9~?|uZ)aPm6(rDLSe4Vf5D-}WJ?W1Ra(Iw)>vo7r#-!wg7>Tn#D(ROx^76C;f{n=) zree%fXfI9j*OM*u#urkbQgA2@HW>>+C@(XBLlQUNd_DTkQh`9ED#KSGHcf>$TnpIyC$}oq>Wy=ts&Wivz>_{ zx||fYuLXGw6x$@g)UF06ngyS7t&&Y_++&ES`|!1^b3M;Nk?N3C?q)6luGt<`lb->L75Tcv>Vtwj%9ZBZ$1=9OSaYGg@g7E$GGLQOW{Oe#Rw ziuD-^V*zsHnE!gap(cwZt)uXt51CV{=Aw9ULY*h8~b6l1#E;bUC!HN!P$XB%`oZ) zL9s$t;5d`H$uT>rMI4h72SI{Hn`0Yg9#c=No-aeoZSxLg%F~K0qUPCI7!QaMxIKna zOR|aKHp8_IEZezd{_nO|Cv~OI$Fc#%Xhu@*NM5-nKy2q7@l1l=1n-Tt(~9ECL2RO% zVGcaPt-922iDd*p6dPqkxdJOtP#=7nIB6GYP_)PwBN*9~{#+nke!wvyP09+6qPu2Z zpXzlzs6TdJWvhP4>N9Bhp0U}JPi(d&$kWb?$D`#LAd|+Xm}DNK1eGKll7k>awu#$imgbut z*gec*Q49L=4nQiXClg?xLV3q(bb6WT$pg86(UkP;@lN!wgipTrrTkNV0KWYP7=_j z%e^vTi9}lpiew995n-q@CCNkFFx+_LqSKd>OC!;U%$G?biPEDrE!!b7-=&WBo2aJw zjc(>4cc+E6mEwnO{)~;Mg;2&RfU>2%um(#T$1Gr0%HKv1(OLd6!ojvQ#f`I{E>3?yUBbOR7pd<~EtuIO>I}i%|JCE*bNCggeei>9w^MspJA>5k zmN5jjP?5x(fi0(XimaxUI0q&GQC%X`Q1v(?x+JB*jgL`;sBeu$I^q|FR)s*PY$T)v z*F$3+z<(UU&M$W-33~2_aHT^Ixvi6sowKuw3^6QZl3pp^qhfmHy;D{a)~fsisKP@9 z;mtSckO7%O-Z!2U7G7) zN}=tM5Da>y%(dM88EDy&+3DYu%OhA_@iaWsf1u{SH`MI$3yN>7Rc=))y?@S`S4Lx+ zCK%c$s6PqFq$fOB#(p2322x}Ch;^yhcx9Bt8dcJ@*=@SFZN@^94Wee$pq7p+Uiece zq3`vyBZ73m*GYY>isZ8jF*x4o=8Br)hN=Mm%qkA_gcl7b!e}e)kpZ2SzOYCs(T99) zm`Y6xIczW z6kRQfHw|5>lXwyb}Aib&j3AbBz#ld^@n6k@#% zcFk1uLJt-s%fk{*}&7jlbta;m=(jGB8_?PUjYvU+>YNDMmHE0G8Qb65JuEyx&x4(O$^ zx!$=O3W$x!7zq}=7{8x13!PR4xVNEr#VO)4ahH0-XO(K2ea@Uu){&5dL$=?3WtwHg z!?itXW^N#k9@%VhhP;zX=5oW6SA4oL4k?)^VhCNb>T8k|yLjR7!UT&(;!4yp%8Ube znWaf@CE^0M&QOQsQ1YT0>g}*n~5Bd#O!k35y=rH?4R?G_mU;;)vB>* z%pr*FTIRP@1V{nO1?_I7mu<5VlMwSn9|^Bd*OG`qd4{uMk*i9tUR%>PI2=sEiyxE( zUTz2kZNFT|Y8w>3N$DVSP;jRDqh`4ijy;ADs7h~Bf?I^gn*yX^nCe>h7D^b*7NL~AuU+WJqL~< zNpSl+b;XEx8slt=l%VaF2Nxo&E4KIxIBbfJuky-Emkrk}d;4K$K$UB8)|e#D9n7op z?gpP<)8p*dG1i{OxtXROr%&2vha8_}X3_H}Vy?wj%M!|^BmtE52LTq4X^!fiS~cfv zDl1xdA1v3;N;*4SI?j?~vO+EB#nkd(|wv$bdAjoYmJVI2?}cf zk8A)kyHx{i`u52dDvcRr;(mB;*k0&=M}eyK$qkz=SJR*euZ}dv)jq7R@d1LZuZbkq ztVvd0l>~h85@WOc7-0Jq5XL<;7ilVYOyq?_!$Fg&Fza|*-e41 zP6igF1E8d5`q=pa(sF9$wBnO%<8hH~iXlx!axKx_P%*&IlA#O* za8oAwP~Z)LTqq`^u1S?5BLMxbqXe5ds)pmR%IySOVDDa)@0LVckB}{u%L-(`V`>6j z_rM0~WwkKxGKyTEkj>Tuv*i7?wq%usc0DsO=j2uu6sK$;u%!~Dn&hc~W!_h~3#Q(} z-)zFYaepyFwiPjH~q(R{Z*BpXoeQQ&i1Am)Z&YRY=_$c7~=)rS^l?ctde z*LSi{H5kx;wUH%~h+|GI)3NcyGCYu)jL2bPdjfw9w;PX??C}{$XD#AM{BvgGwbOi1 zs|yD^jqyNMaZyYKu)Rm}rbLfTxh_vHRYu(@M$LY1Vc5fHg!fWpHz32f2WpDtC7gMy z2XbnA`(y(kkBRCDtpLK#k&$^CZCy-(l@qfPdf~RC&5mncNW9WxH*yfb9waS);Id3& zQWDI9g#1Ub7%jF%VFisxRl>nBw*;s=3Y;BNOWqKpbGAqeVht1_jac&KMIA7aNRH)Q z)mcXqUmn>2+0D$NMF>9L5*ZztZ{@|>L3$%`Q0higA!)6ilB^i6TJeF0GR4-IJHldgSqzypdv& zkrS|PgEPT(^=U!5Us#^iu3FS~M(Wp4+#r;4@Yq)gJ1Gj*Y|R)`9^i@-wnLgvG#&L8 z>6iIV)XW@?$|q!1vyWGA495;sLLXIxyy8-52&PIdJh`A{fY+|aEVNS8T6`eVm=V!N zyoo0yfK%@!YquU>xSHn4mz%^_;{8}SY=xO+8XxBE%fF|88t|$3ldt>^S1l=NjG3;h z`IV#T)@yqd%RG!Wg-sg14dInTOiFEz*?xIhzxVd#2t5NAxV){s5+d3HKg(12nga> z>|D@v7(hkZedSLp-0PQVX>2~<+CR(g*+ivIR7F0M@@JGSJhf^q?Z3WY0e>9T%3N*W zGC2hnhqhKy#yrVpOl7y}T$D=(oq3kxI4#1k9EsYV8L`uIXwA)nN2^<14h%>lwA(VA zbS|ejMqVSYUzSKRZV7qN_Zwoy?QFAgCY^CA4(aZKLkCgN<{n;-#wTRiA@t2VlbFOe z!Ob01$PY?`khEPa41GRG-3Y=0WLI6fn8O?_!kM@X6xN75Ft9C`^(q0YVTuZ+ow>ST zib~gS9EoNN*>rf;3p9ut(M5iFj?*J()!v)ZnKD=^Bbty+av-ro>sPI7r_VU(tF?Qa zEaLJBndBwSD*N@xMYQaeUBA+KHlw;E)(X<6x5^8rJEQ&30tvPlX zIH9$=0eFFe*>YokYP)b1E4N(9#u_q7iQKs+r!zosNkfudf{aTLo7zSZcj|iPERDI* zjWqJsz8MhB4j<_`Dr0Jfb3w#!mDQBpC%QZbXCr)!f()q}u35Fz6(6y=%7}KF4NmmO zx@I%kt#2HVM3O^dMu_x@>DsOr{*4WwtYCu>ulP-a_m*utFc#NsB67C8?Wyd ze-W|DXNXC*8D$PhCFhozYVjUa?cX)i(hxRwIQ4++Qg5k%TD9go5lqDJjCXUqTiHf< zhuR|pY)YJQl4^Pm*aIR_4$7b(pk#n+0cQ|*?~;;jQ4lcVew++RZiPM-!j5P=_2hmb zx9i54#Jq3wTSp?{ZlhA6`t9H6mR8Q=N0yB+LU;MrA8LA7AD8#lBT$; zN59V?-4t5A0H<7wbV|4u^rC$22e*Ix>fazVz;^raSS>d(I59Lbj_MTBw9kj40BB%YTT z*>G^bJcw;kn(!@hVl5NNNH@RUz4E~q5?Y0)Q6%hfFkm${jJCYwH#q|rI~Hq3Lq8=d zG6YkQ4XD>`{{Y*-8p@N%LY%Y*5=Ugdl{sN?!n%89ZQ)f%e2Zw^SPiRzwyA$2M*cXZ zzNAy82GEK?0r+w@m0+T^?}M9Tl>9`Tk_z#;pzz5>#K=@p_xQ4GM<$p6YudRW7?v64 z7p=jsfc<&5z&3oNwh!+LOyrYJ*_=b6SXd3P0EL{s8urPt0Y0)xEi9hlhruecf%6$r z9;5@a|JUu8dPFxL1FEutxTa~HuM$CX`E{gR0?i0h{;?S$A{ZUmj=lLCr(F+QPMNLd z8z@e}iShZCooYzbX8~$RpbEJJgZ@!N#5&DXy9M zDSI*h0CE$oD^pOXk;oadh-La;^`MArI1PEIH54X*?TDFSD7^1k(UVBjnIit`L&<5iGBR#~Mq4{3;8jjgi6M1> z9P+PB$qisyLF?{)y5J$0P!sx~_*W#&EZ6P?HnJY!PFsj>;_5j(c|IR{=6j5)uf*Y1 zK*GCWQWut>sq28!i+W$>O}kBHa9X8Ii$PthOxI`T9i9$MvTIsgbQ^f(JsSr$nS#|@ zs6D!14Tok)*prp1|0qfuJzm7S1e^u>lKAz0%;5DE{Y1C3=1C8FFTLckSaLMf8A zPb%}LlN(DWSjlJ{&=c679JC}GVV5?fEe>@=P;N#eW<>7VhUN`7z*HUCZ;>pG&GN{DrAZk?i)TXhRJJ`vMaBhFfk1oY)bd=2 z7*rjwQxfZiqJ#M1VNV;@)ZJXoG^T}|{S-S4xygtWk+raQrD}34&m_(;s|^?cN8^e{ z{MuArp?Z(U7C}dxYV<2c@vaimO0l_yGsb`ezAT2pR@Kl)UORZ@P1dFQM29MXSMkZy z5?v;#Is#UMu*Q`xhUVjqOK)1?VQGb}%*{|+ey1uUc61ck8J}a{F0?CJ$41~b7&#R4 z2}hW;=`EV7DvT>!%Y>W>#fr|R+$){VW`YQDYjta#RFwFB8hCAwMmag9_S%*0#NlLS zC^xCdgpO&o;UaH{QlK6BoWjcIW0EG>g??F%T%dcEwP?AZakluyu1Qq!9jUO%ma)lA z$4Y(JLR48uVopgb?3gT@{iYNcM>d?FN)q1j!?K=*w#|jOcA<1hV#nw{I0rT2D^jG; z_*V%jvK114MD5!vFcR4&avf9KUpi`b_U&ksyGG-6@E<&jM0Y>RGMUfA=H$j8jo#@hQobJ(( zTMm{BSh5uO>Mzr@bGptr@x^>I9&&QAgmEI29rC9vs2CWX ztMp+7fL68BE*w-L1H|G=dZxCXU0}-2cBM$lt&D>w)AW=eQ=!01iz00>eJF7&N`eT= z*=gouAVGQFp=@ntbd#!_fe)nM$;TT*@%(a@@wrr9gksDuQD2zA+7w*Zr);n|*+Wq_ z;GB~Pqd3=d^kq(H-Es+N~k-rc|8n1s!alsso| zWb{|`pG#)J;oXY66?Q7@RoJVsRVnQvoKi&x-@Zan66Ve`G31rpd1@yViHiFj^BQ_! zc{z~Q5zQ@sEZoFC3P00K#5!q5la@7+K1ew<8^$#V)bKf9<>uZsP(;J!>!LSby!Od{ zUQJTf!4nUb=jBpWLCa&MEmGCR5g(R6-?CTO476z)PP4co{{X}GhMbhOJWgIPL^OV8 zNiUu}pKYk=6Txo^`pTuFr(Q$f46zE?%F*iO41klfT&Yz;hn;RUSh=-Q@(0bv;;;Waey#mdHt8;WH?$+au7RQYADK5fEUkF`87 zxWi>-HR<7jzS<*fOIjLFg|Q7XQFFP=13@;8x1!S^=0#nrz6R75plXJlvdB1EgRwwq zXcyu+Y|E|E$7@ZC)2B?vcc9lL38$dnt{8@i<)pIi@|CH~h{e?EH58Y9aKG7Xzk;1d z=1jR2=_4Na2yKkYWoaz{u2Cm#rJ`l=->(`>b@7BK!kJ7JfbAcO`$wHpFW4lKz^eAy$djGTzr8u-&P zv5nkqM<l}=2! zS?`p*xgMJv+gm>_Em!caVaVBYaqOD4t!}vGT^WS$Me@h#83=HA3RmySt&w_epJtY^ zg@gd3r83@)GAh%tCoT~C9PY67Ka;Tc{dcm5Y6#02IprYbSL(Sr|@^Ks52hG0n*iFHp?MLCU}9zGph+w39J~M-RHn=(sca1^+on^-*L$UxT6km0fFs;w#L;Ocr{&vgqCOfL_Q}R* z2h^Wv_J>KNaChAHu2r61E1Qd(Jk!`ttMcD5Ez3@=l|t-y#3I#XH6A!fN=>c9$}$e; z5y_LxJmebM10qtZy$)pIJG7nH{-t*iw+lrrB8J;@^39ZaICI#sk!|W9;e~=K$4+xz z6aaPG17uTOKSgV)0<$X6^)v#RREuzrb2eBk?cnsp(T+V$M)`%1?&jef)Qpx00cqB~ zd})wvD<4AlSX`%ObkHq#P?{XL;XzwcOaUaExbI^ZRdJM5%9)uF7QEa%hl;&N2U zZ}^iyQp_$`DK#Gnz{oi~$>r1`&C^r;R>IaocjZ4l`EyLZ7k3v8=>h7u zj<+CGVdk?=mnqO--qr98R}CG``jkUAT;qEdVkoY)U8| zIfun%&xk}tr85dB?|_!*?w-e?LuU}4Vez)(+abiDC`+k&BFh4!%qAQiSQSiF&?s6sU`ztY= zO|eveiz4p<^(#g{9HqD_flLjNQFQ!racRudBAaE60UHVN>6JOS+blX@Z6R7U=zI3U z6K|ov=NojUOKZ#b0CQxFZP$qSzu~iGr5iqf+mrPG_KeMWhhnb9U5dLEb}H;u*sHNu zVy?wqin|qdD(qFJP{66^aY!`y_wy%7Z9iI_BoqQhIM&{M}E-UF#YgqA=o;=`^M6tu1j zK?*K1Z8AgGh~Fd}X)KNS8si|sB^z$r1K%R%V<^av=%X&D( zE)QOr7RZ&=+LD`AKtNtY48M^BXEDZ?EwlF^D3 zjDj*vGP3M(gv#C;Wd++}*)fFe?UcJnotrIMWT}OrCu*7uEd;e4K&BQ@4Hh6q;p1#&H@f30;MIX0%fZ`k(2d9!LyjY=KC6u`nv4(0{6xiLF@K<(j#vWZJI z(&$O+Psc559N7EadS<@cdt?%YzqyLuA5*aYIU(ewfcckMlIc%Am7pFOod%qYQk(M2 zoMMT$pU{zI9anMl#I{45(|n=kpVI8svw$Vof#aAn4paza`p&kRWvL0Y@3M~!qy}Xn z@{XrGa9o)FC*-H*awnT?c1{PGF3jPcE^XsV43vW)^j{-tx0Bk*^_2=a)B*TqJySBw zB9-`xWZZJog2+_lP=Z)bDt-0H(>w2P(j@U8JP4D|{O{!ZiFsW@frHe!9zHp2Swy_v zC>|nJcLQv&wu7=@A!bSv0KgX3*g~oHn6feZu%s1BOL)~>IU%b+2Y;Rdf|+QVL&RCHRtohSmG>l?uV< zMpMJDjW)yYWYfuXwEyI{E0x67E@Xm`g zE5y=_JaQ2X3Ec{g%POj^MoFEcFQ$3O94X&y0f>?k;5*Wyl;|=WZ6s&nc4}mJR#0?Mpn9~3Id>GBY<&K{eRGEo%cnJ7nh4Ct|{8Ru?^~-IpwkV4~D_ve*G%zPJ4)p3X zK2vqn%=B-{5i=R}Yn6uIZ-IAw#yXqXkn?59E$Q#OS+3%?Oh91Tv6GDxLJ{a!%$isUJX}VWa@q%hrxBQuxQ<|BuiwT<4&H~ z@3w@UWmj8axTb@u=GxRqI2jz2fFUe#;-*I`s16q$j)FJ+SSh{{i4|Gcvn$_tbWd*p8zOm#C+il)C_f zQ>}Z?)i<|FlFq5Tu4;#WWoZTN zNQ&Id+CC19?9-4qE_!UIu!KABFb+vADz{lR%|nG?=mJ0c-<~Q{N?g}9Bh&o@I8Mgo za=#ky+5^AVMKyb^J;~{7M<#|Kbq5#F(1KkvQ#2K;f$rz3nY7e{X%kAHAf$o;-_Y=DdhyQ_95R;8@JVp4eXbb(|84mG$A!c9 z@LO=9bxm#cqzm&t;2(h9=^r5R@RL5>=2NTSx|lj_JF9T%cZgF*eEaA=R9C^m9CSoO z{0;jXmoM*FoyZCqj>PUJj_3N3Hz|4AG76xx-KMN@PtTj55sTwI7dP5C*!@OYTyiYg!fU*co6o7_-fx zxJ4ER7+OMMB4dFKlY0?8M2d29r!nZo@pC3dRf{=wb2Xyf4>C%PqHivN)k_s> z*K2&cUPTksvU}mhN@Hh}p72*xG z`vHRV3P7BIqj^GctPCD`=9=Q#e%=j7NkG2OJ?2V287ENC5%u?JnmLTKs>(8*WUSJMwiQ651frQc57B=EUx&Z^g zfrf)6dY&g2JFcr+Pi?aa)tw!^-3@E!`Lvo{18Rx{q5+ei9rpzL6L5k(VVZ4lz2#2C zn>*>wN(i!fhty!E7th-f6&vJ9{?LOj_2{6^*gGo~>&n(Es%OyWc9n+U)~Vavp{uRL zCkU^Na{FMZ5FV!Bo9Pk$(TQWKGVsbF2a?Y8GVE3@4LLOWyGgA+Mnj%OA8f0;^21z} zeie1ZwB8#Sd!w6C4YegJK_fwME;Q!ev~E%N&R27VN}tF=YRRK3r3IBSx*Huxo1a$> zmMNk(HatK2Oe|I=s@e*BxUD zw4e)t&V@v$^s8|er%4hZ7%U1WOmxNM2>BSIn<3vh8p;&$L2M59A}QsuX`x{Z_Vaj+ zT|=v?EK{QOjW6$fliTg6B_&ovAI?f3Ju|cF8^xjVY+nG<76wBk@5-ON3VqtQ=h#j> zaNp~q!%|V|;CI7RBC4JXx%JKzm?Ch2x%-*8^Bj1ABwIaM)TNyEQ;_opM4RsxBZE)# z?5l@d+CHLN=--ZO^ambXi~)|_->OKO$BUbZ$(k-q^hC$v{?RdNt4l2t{Q+&Aq{F@3 zL0_*IJ6!bEfj6Gv?wC@=k8u}8faUr^OLb}^czLKPSj2ExnvO%U_cZJ94oQm;hJfUy(D5KJwwqrp)n_?0RZP4vj+SwOpo!b?!KPqkb|+LstN z(y>H$A#8!=LNJrIo321zHV)m{JnuemRAZF#$D({3*q7z^6&$^<4{GyA!o<{Msg5NC zeq84?SLRROmhsA}D1=3^gsYNJEmmMIIEf?*-7j{!P#0cHY> z%Wa`1w>JIg>{r96gGWsPRZdQ1&^OW)bA=L;7?5l*=E1BP`&&$93;HxVBEE~qaSL%5 z9;4VxJIJL{9;A7~EyLC%xvRC5E_YsWGxH=0k%n^~UFVT#!cZMp)%g}`PO(Cx}|~ z#_ug8hFl_4rY5P;BT+0RDj*s=84;9^? zXlbE7aSA@q$%D+PL`k-Ex*o7@*mLac>}B^{8z5H{n7bBn)C`zV*TC^9Li>l(g*14z z8+vzmGn=epSt^v`jm% zc9){0Td_Z|$JNCjD=hiS-Gj(LUUg{skghcjq$>G-n>V6)UuA?}5Fcd}f{tV2Wnt(L zor*b9#i81{#WK&>jyK6XpemMW(B+;|pa>E9s(+s0R~BGwt9fPaYhBA4D9&%eQ%ll@ z!m`)J#yyM2twWTB&-0bBQkHTWb7dm(7d!N)`vl)91?$hXQF0g0vM>~lUXqr@8}+ha zUK*aP=20%1#vpuZx9qv&q9P|bQaTY+A5z1nECKW)2NsJyN-U`)AG9uPeSwsZFH(qS zgs4G0)4a~Ozs$hP+>gm@>N(By-fv4MvdA)(4hXPqkT75*b3GMkJ;*XvD+~J7%s9c9cwe}`O7^gJL&~jFp=Jj!IBn6sX?j+R~ zr9F_ovE~fw@wl7bkkEWs`#Sc#aKQ2=-uU1ArCw_PE$FNekdkP#sQTcbckINlzgX@| z5qz1!iLG6)*Vl%nCd}(pZj#Gy@eY4BGjq0R>ZQU zrmgN-I0DYzFw{y`QP2eiTn$0XZX?R@CKx>ugW$PuRbfZm1>QcB29ZRZ2qyT)Pe_Pl zj=~ZF2|bzm2mVN%0I>o#0Zotc_j}kIDxp=mM}p}r?J!Ri>{#8$TiULycE3ky(`2Hn z`TJdp81*8_=N4^EPa>`TXpq+uBje|f(6^%tq*9t%MkqMG=2Pa`MX!T1+J;Al)Ra%0 znNi_V2*pV28d8A@SsBHbN2O1Xew!l=^XCi2y|L{&NZg;FS8nSbad|XHr52J#)GM3$a^$dehiAcU*=Y-H@s`% zr(t1QX4Q}h7g4?a>!37deDzw&kUwe5mq&0N>u9Ya*f6C^U zK6S;?RHNGEiA zU9+s_9TMcXyl{U7?VN5Ogzt*WP7Tw#n7K)0U3gw_Z~bZd2M~7n1{fkk&onjv^W`E` zz3m?$wKWB6*HcoY;Qd6SiW#xmFpvLdjbdKx1+wx>-RQ)YkOSiB)eVhXfjnPaEphr5morhQz*?Y35%4`nd{}}d)f?rxWK2D zTIBS&0(9N|)R6dcz5aft` z+G<2aPk(?*?}L@_dp8hKCZ4aYF;ixyQV4Cg#7*own(GtqIc1o6k)ywk+mfr@*sV(w zCR21+K4BmiE}o`DN~sc~S~3~NBwjUeo5iTe)=sH@+!K_cLHaGbGCFT`CsF5^7l-<_ zhB{?TrC#1FI^p8Mf-Sz5*sR(d$yEP0EJ=K5X9P=B;5frt?z(~a8VVNQy{hD;g-*o~ zUE&rVt0@^NiDev6&afwf3^jmKK`^gds3s9&`EF6&vFknv7dti+Ao5CCYpHNCs@H}U zm7SYX2`N;Nd`G+R$@N;gVT)y$4p-R9-WQL1eIJBv>jg4|LI{U&)E)DM#-c5M!}9D? zbo3r487Bwidbs543~3y2l^ zqtwI!^Bp;{vr&2^KTzVhVABWB=N?kNuDGw#ozSKx_>?O*pA2@t?bkbsef&%v@F+N9 zvB8JE!C?tytKkZq)o_nRLR^+QCYaeo9PmwX&rs8%bz__Igy6QbLhK!d$;8x?pIjJ(6aehqcguU6KFy z-Shv>+x_RXwYScHlsH+%+vu_KWENy-l3}@DV&>Bt1?G)RlN>&X>Q<;W$8Xz+(m#9$ zNe(onnVW4_=ebuSJg7vBcFvkwYN=dh3_4!PHfCRd!Aiyx7O2Goo^j1b_+V~*lqANjcA>g@e6$N+RF3IxM&88Wm5gL?5Sxx;zt>fFR+F| zeJyyYbvinwl9@glqSlzr(`4C(&+@fSQ8p;IL`z7f>g4ree)9$P*j#s4HuR6fw9RQJ zBai-o)d|uDfl$Y?!!E5wmN{A%^M&`6rdX?4;M-SZ)o&>CD&|#U^u#F=);Rg57(Z`2 zkc;fb+sD=`;k(V?f4tEWu2Xe=U$U%VUZ=qdHq?bG^_cNxQ;{#nz8hMtkG>dE=ZFDu zlwXUj+0Zm=#%=gAe&hpW>94VkyZ5^-+a;1=(GT)~eX5M!!2vTM7PTpIx?`xS(7^_? z6E|u6bF_76H->R-9xe`YvFMww0nc5Ro4z7gqd?ncM>9D~lL-yN(Ca#A$f&6dp@O9C~f2armIi2lr&23#vZkw6<)S)c7W9LnWx}B$1vHqb>#Ugvj zC)TSI#`_*jYqqMMIhF;LUqN*jr6vE^>o963!TD7Vxs$RJT$`q?+d5g#`Eww+D-<$NGI&zHf14=iQ~;_do;U}r+vr0h)E*G6M<7+z?|0nzaD-yHHZunYk4rGN1hzR z3UPf*T_~>V&RFeV{|B&W&&RrSR$r;fbnU4+;E(yR0u zB~jb8g3kSjDox{wS)A7bgD0{_KasG$zpF2#zmFmspW%k&Bcas7mNfzo>)mTP2HjXy z^N)x`9)oAvsPGDv=5!AUbAKGroXaeHNwGoyI*rHgHDHD1unu0pw%O_Mgkm~>=x2Z~~Ii5;7 z!^Ls0mlW!fomoY}979va@Y0A8AkQN5-KwHvh>B!Zsf_nGqV-n5rG|mB%?b9vVTf3` zVJo5HWGhBmchH~hv10_<_nZkDwXIjvyL=`eG%5sDhT3>7vDm2R)PNH=s45?RUl5kH z=BV7#9cP2kzPARwQP-9-wTwXG*fLW#cHQ{CbGR{G&ouP7rW2^S=) zXKhNBP>tuErlG3VqNW*d(FEoUS-98`RCmT%`5*xNt!-wDt2Io@yPz7RgAO!v9jIi|9c&HI ze&bk&(<$i?E!5=XX%W#R7%=8uhpVwqcD(N3k+DI_OOs*U2_@Dw=Od&%9&J{v72?!c zBNi7gm%QKoVQ}7T;hXXfy>|!HM?qUUhY{9|<&k*w?G6Vml5Fj*v>$B`7;E|sT|XjX zL0VEZzlL31I4K;Nbmr5^BdM3tH%N5i#~|?}569F_hN>ch0HF-N7yRU+pYctP7Og8u zR|!tdKX$=Cj&hUsm}j({?Gx6>Z((2Ho7DJMPqol*O|pE!QJ8+uz-D%-RbZAts5kvJ zG1Klsx;JA(WO3Bk105%I9_uhaa%%!1A(jpy$m#kPPWG1A4E-!_rnWf1c?(@wIUa zPj0iobfd>!8y;~IDuDF9;jPF%QTO#2(`p7_{rS4XI|qw{U^J#(ZfYEQzLz_1hE%Us zzP5%;y2>ZSaG9%w>RxB-&f;2}sG)zPKd*h$>nKRRwnzhE;Gw;P}H9`tc+S!!5qe`vsLOeYBOGW4s%1FCqGGgYbVClQnWD26s&Hq|w@`p(|CLu?JtX z3^n_{49W>pRZX|OZaRLuXHSwujb5KJ%=epZNH+u2C6(n+(M=qP0Fvi7W)r#w@2WGk zVi(#`&cAK);Z2UiG4`|2fjm*C-FtW_1N(jKird7Z?jMMKeE33vOxwdg!uxxjkb)Q7aws@9d`= z)@W4qawKsLI_T`vmYId+z|qn0zYhrQsj0S+wP>`}|3I&6MnxO4`+^39DzC{i354iXF)t%@otS0XuybEA%T4ixQYX}-}%veV?83VFXv>uXR<9pV@v1h;>M+aZ=| z*d^>re-9ob%yRu=qr$u;*osJ9b~x(th?Ti!ZHaglsuwsnA)Hfh{mo4xWhpE&>3ES# zbAg;{Pu6GcF0cPBo?JH8T`mccpG}dTfYj>N@XD1s`IKYsjx(|J9DQD^Ad z?8M91y8*h|VfPA5yb6mbep?LVq-njc5PlOqA|iM{)*1^edxQ#jJiw!?8iXRxxkScE z@sUTSr$#)jcz%!UT;nrZg*H=WjnlaWG{1b`4vibMiwuuE(WBzCd@?GPnm!ss>sYPC zHmr2|Thc>5+&kNsr4oTG`nRRTPPJ>gh__4b>wrojG8?ftnRI)rY1?a|6%0=+3_)A? z!nECFTrnRjmN;?-rk);rnoKX(gNr}E%DBs3tY?n&EqwVZpp(a~O;v)BBNv1fPP zM0EF(Wh?^ciu){#>7N{>Nn@YrPPxG64^M+RYb{RX7rXIxQWd8s6r#ZBe-d)0*s5xa zZG822^Wcf9ZQKrV(vm)R;;5!3J)xZ#ZQf%P>oGZ)1vl2$*!Fz!<%Rz7-5|A9c1`;Q zF|vcHzk5>q(d=Q?w$9I9%g$t1^+_7zo2cMFK&1u0HzEr`ZKo8o`Ew67cZ(aBYc7bc zCqo~Y#q7Y)e1RKPfUtal^(c0ShiJe3oBgEZH-YS|poqRMKhM9vn~lU9^B0fJkR{GFrt!PW4zk))+w7F8 z=Pivh%By{WWX^#Fm_K(il-#TOu&7wl)FJ+6Nb^kJGK;)k~sbpTH6!+kP=F zwF+%5t}}LPpi^hlZ!ar29v*gNT%ybnReq*vFA9>KHHN;0wOal8QC7{|=$tM%BmP0r zj_uWcQ*A62nerr*^yAF9dSO}t3z4nRT+-w_ULgSj$zlh4b7O275UVCf$4lEZIx8|c8$B}yyDkm3`mBq)>1FfjYr`o7I zVyBN8ud(B$2hC zZ#i8XzO_;t^)DDHhFZ@Wlr+PYMdwD^+t=a5hfaX2yELxb&>1%wU5PWgZ%DV<^QjracDG~-5J4O)IL#k; zJiY4MX_RDkc^T=}5)GffY73gs4L{P}vU+C>%^TjnDDq%1aGJ?X(3i*V1SCtltSA)_ zbP4*=7J+mL&hQ*2JwdX}6HuSsQ)1Wr1Iy!L^bvj(gpN0dowf3_;s>IpFix;dW!=?; zW|_JulOdTPnK{rH8emiJ)8u3u*t{i70QL*=mJ?ByHKU(cTP^ErQlDw5WrT&>SALojYgn=6ghpsHeXnC}Tl#_pO;EPRQ-ix6k)&LkZ=EXBf$~Br zoLb#3QrxJST(f_+uye%OSZ3(1R*`hvqMA0lZ*@Oe^@^_VM zhuGk#!YcN;H}mzBDn0V~hUSU;GPp=_)wx!}k;J&R9P2sHGgIm&!7ICkf3sFLzPh`7 zqV`%7jD$8EWo~I6PkcX*lWZ?S!^aVj#`;q4hGtMWV`t9N!6GqvJWTo(bF&vIypZD9H32UB)n|)*{hJWb&GeaABV=i)zeM~md;)jE}xa9;`ogTh9@>n0_ zSk4z~%ctO)H-hug##8k;S5Q)%iS(L^oH@%;PSRfEz9`i=C!99H-hC4GImYM9toW)t zhqn7ToW}I#ZJse;evXv%>6X;bRjSErY@3in+d^c4+Qo9=dN~kIw-(tMcVOVT8+`@4 zajWmT9f2hyqlRA}D+*4xX*~Aj$)B}YVP1+uPJvD5&{l$RB$T=+j zF#or5y!_~r@5WJias?|2_+9dFRAcddgq&Ipv0K3gn;H8 z0W_*gZs!BmHB#%LyD-&v>2W?*@wQno9wuT(EEKwNtS&DD*=6Am*_JdNGIm$JYzP;~TBu1r`1eSf5c3;%Jh|)fs4|^F z#Oq{vjn*oPgU>?$6Nwz!E%K~wm9IeM*+gsK1{;JiQ9xmjV>DgGfjCZGywvgql7zI8{3eco=v#j8I0b4!tT5GoQwX6)7JMsjPIG1X`aJu=!hNw9p}$MLZ4Kc^LlI-rRpZ2YDq zMx&s{9}E*9UmTxxi$DvZ?TY@|R-IVjilNb*HL^4Ip#n|PVF=3T{LaRNzwA66g{$+W z-e;eZSli=9o+m@+I8YQ9l~7~o4^h|id<-y>v#BLRxTvYJBeT-hu;z3~N%%X%fqUHa zO_rIDTG_U?{1*U3AtKx759(EzfdvrLEs=LN|J)Sml@<}*ibZeL;!@T-m;pv#3fbwf z`Ugs7aT0hf48PI$686KmIyQAUW8nf>-}52o!Q~GrR@xovR_+p!L}y=F1G1bA`X1|p z-ZxX`&7;ux_u0Ya*MP$PZ)uwL`t-G?&x1iU^g5l~&<)=nmwl8Z2gwA#DRM`2lp0}?sOr(@qNS25)bmMstXGW@--*T=a)tuQ1r6`Ta$UMWO0VsQOT-2 zp<$gxg;J|$$LO!P?Ex_)O?|d`p4?fkLFZrMRBBL0>h|EAX2myXL?}8J0pmcZ=+9mu zuI;(TPWmw?E9p_nQhaTZn5f06eYyeWv4S;%#ccSdO_DVFwv%LgQlngPq8G7W-PIbQ z3Ee`0rkiEELLfOXI317{wHtLfsV6gO2<%dwMKk6&Gz6g>Rb@!Fj+IYfXtKsj%dGQaI zA9D;X=I#7c*ynwySBUhc6_ywd$LbUVAv{aJgy~utV#Ud8mbWF_k5+>DHmVWi=^9+0w zze^~osym`6Fx@bGz2Tg~)#_DZXYWhbh~^j|7wv6T3s&w~LS4 zDp@bsj*2e3L`nKaOMv68Pru+0ty^_uj~&=U2iq%I*!f2dV~7ZnYkef*7vXtA|-NIEE@D=6LEtiM8)+Cg(lf+5+ zX&;Q8w4%0mZv!=GYpPek&)K3k7cfdgqThda8CihcI!MxenrKJnDw*2m&_r_?$RUugijZ2M_uAAuQQ;?svo<8^%oQlcLdQ#7KHpd}R06bh zEy`j@4_XW{IG4F1dum~TseEWpGlla90E8F^S^4MdwBhkwNlvtH4N~djVT8duNc8ki zT+kLDVgR1p2yAzwWnL7?FjVWFh=)7Nh^aa32e#YQQx;~YV>!zVQq)tf$>N|oV~SuK z!%j8jZ!<6Q?HD8G<53MUP6N5`vt8%0kw#Gj8li8!_A)pmD=Jg7Z_a!XmX{q6z}0&( z7j=%tXdvy|MxnlPd6{?yja3!sa;5u&g!~APdrNIaA!<-$Go17mR)CP?1&q@)730D-$JnJ#SCBBYO*> zZ^e|D4vCv5_c56JM-3Ydx)9ppG|1VktYjI-IhI2mlUr^P2ECd)L1}}dPnk4KHs9;Q zgVt;p9Bol=^aILBDNS>$*L`Z{x5&B_%Rc@QE6asjQ`_M%9PO8LU`hJJ(D-3W$QQjF{BnU1v(-~>HQ&xX!?cXVxRcQgsX#hoQOmO@lpj@iL@AV zi{^@KPQF)Q|Hk*!bg`UFQ;lPM1$oFhzn^>;R7U4Epg%IDR(UG2!~x=`F{+xUCoj^1 z;oduAe=H=XU9=9K-O4rj6{ zZ*bcuU&9*D9)_|`+z4rkvn8ZuLF_yptx*7WC64OGHH24+C-77wTb)I;frU@`S@!!D z390(mHXrx`U25=tH!*g{RbixfeFL&|nzDS{m+MdJRN6$-L;C#h;Va*Wwa+v1@&1U@ z6PK`kaYtJFnLEPv$Ic;QFf$jy^gtRg9sbM`5cJYWRYmJM95;jyn&A}FQ^ zEy%w^BDjNlGbAgDX89j0DVO?L-%lv3+B?X-20+y9g7qA!5*dciGXwM1%aSsP?2pT+Ks!5 z>Uxf*;Qa@nYY;~L2l#w+IC$lf`(E`rWd80SpxDOv)xe@f^n48V;MMvX)rtG2lLHCtM>#lz3^*!eJbIeUfdEw3ZpXOVne*mHshe6)aDJj|X z5Q|^rB<8PRvh3O_ET?}f9>N-97YyCu{{Uk}%p;^W_rRjrb2~-enFHeZdJnjMv$!D-UyMSfFU*q8alN+oFUD! zN@ojkdXFfYesqs$gkIB|Q`c@0kk}Mw(v(hb@u6;C$Clk|zcEB;C_gzJ+J?_;#Y-c6d7C&hFNw%gm=rgcs*yVbzl0x0>X) zw6@$G=c1;)EGn*ZMrFwTZ}9bq-tOQhj+cU;$KNdwJp$&>=@|%mUwx66Y>DS|*YCB4 z_dcw|m46tfU&13%t$N&i9R| zDz!rV4gqtSB5q`#3+?czAf*2Q5fD8_s&J(YIEQagbJK%tv&;4;#qX5=0BrFuBE!6| zDQ54VO!vNXo{b%JWG=T`aB88)K-UiOHKoeie9`3$X6O-pjsS=eGq9V6+d&zDDrM7^ zJcEoc*>OMf&vOQqHU9(|h<@iurcp2P4L-je9T~0;wv%r$I%pFbR>MpdP(dM{t`9-$ z)l}5cvM1k$@pN=XDiB@Y+f|dBC}Y3Oo@VeyqPEjpr~o&+L5L&9rslDZcC0r8jod@w zx|KY3l&OlwXW}Z=m7o-G{sF`Ne%1Niacs{Q7s+QO3d(Z&2mRJ0Ue?tJubkYYKf=u9 z%f+T-DAyjjV`9FN&Dsg+y(|WPDyFX|2Q3n9W$S+Z0~|yN26<^4KUpPw{UHOq^_+cq zwEC@^EAjLHb6~GiDSB64e{3wGXuOabvD%wDp)5a|S2?}okkYsHYLl0?JuR;EHBli} z>X!BVbb?tGDp~o{O(tCmIoj@>tTOsj=g$G;SSBuX08D5iE*e5?)HEgeZivi<(p1cj zuw70wQ~)Rs6B&mnp&rJ6I7OtAgBr|4<5sBHsWcdc%p5FQ=TqDCDjCbyM%ngMS#E!H zNDB^at1_~g(dPR&k*oYYRPCHR(c=9axi(-&;e$7;aCR99)6I?0DQ0YTSH4H`4O|le z?_aI9J&okMxLAJE6+G*Rl!)cbuj(g7z6!DNOs*0`p3Y2(2XAJ>#cmXY(f8PBeY?_> z7`XY!PmHhzfMD{3R9}2KrSVsz7UrC$2739>vDXlCO_C(+lq!*BfNOz5EQ)O#yrXN( zhOv3g_%epKVkawOF9N|&hsp3l>Dsqv0@ORbk`_<6Ck3xQZiaW3kEg~9JihUKC^$@V zOHgDWx_-YKgQGLBA?WTvzAi~9Cq_bkM|QY`vo(|bcgj1QkfcY3UgD=ZnPmsl=ynezuBrpgR<1#lT~`q=+QxC# zhU6aw^==bd zEY#rkQ&gU-Y<{AKAZ8{|g+NA@7?pES-sh?bzyp0A?a^EnTV5I^h#;o;2S~d(R7TP@ z>qijzRWLieSG9xcEH>I)irfB7$4SVIt4cpP#)3&_*%4BU-x!E6wU&P51S=XllBk{jU8nRsW96U3#{USS=PVy$;LuyrWpzWK~yUev{^8Q!n^m`8wXI*FTMy)(#B@k;Ns@Z4+~x^=QY!C#6y{w7J5Yg~aw zd4WbZe^)W22!oha*aHuP65Q3Q7jC687dd7TI$V8uEH|g$G9tTY9~JM%C4I^l`n`rJ z;s;zC9a}a|m4M|6zZ$*dL!$M3R~l(q6Zb!WkYgLgS4gP9NqODF%inT5h_xVvxfu!mH%Ecr*Lj^KApe8-k?jLcE|-X{LXUn^ZkC(Lzah(Ud}-_M*S z74+?m%g367FC;pD!vg6Dh{!0zuzP!KTKn^b($N|X-cbCT zRWM$)txKwDCr*@RQ5T3YX&ZGsuJ+4K{oz%%aSQQ18bX83gyfPTG+{oqy0|_*ey7o2 zD6j5h;ipVTtBsRfU;kp|+C232eWcqH_9A@Rm{^>}<+L6_%f0j%CSSTyvFcFzB7Q)8 zNSmM#>uxmQ_(_l4?@>Df%Odq|+=m?}dV$)&k*pu_R=_ z)fl)2%f0B}n<3Om2hB-1Ka=4Qv`rv^cOURkAUD4~trD(v`jtXsJcCd5Z|+-~&;^IR zNDT3#*z|AhYxH)rLG;yM-E#4m2`EeI-@MpwWqslOoVA>mJ^WxNQTKHpb~h+AOx8Z# zv>7Q07`BteAP#tv?aY56qCw4a?m>LSm5a+Id77m4iNBg8O0qmE6R&6ty`^0wG+obu z3^To~r?e4%llrYe@x>Tlh6X2!;1=!GHPm<{Gc=E_p9575dqjC5$iP7Z(}4wh@>a^F zBg?$Lo??;x5|)_NROny49a?;r;esg!!X7*BM$#e+(&IQLy+Cd4b^wu%b7bL@@mh@h~= za`Za<&Jx{MaXyK2ij@tvaWQ@FVGl*P>C!`bVigrsyN*(sq481we9bNA2B zW*(KO_by`J(5DD*q?_5YHXk2Lyvhqi6!mN!snt$?iW^$x`$_batf;3YHz7(3T4P zm`>(Nze@_r^8WZgx1s;rZANI_LtXhtW~&}(stak%R4Lni(F@uq-P+0F-jn{++G`&i zyWGVxjV1UogP{`*I?X)O23ZkO+Zqa=o3-sEA&duX;Cr5k8wp8O-XkO{lPDI7_pPIB zWAy`1Yj6bu)mkCwJ*cFohz&~K>e!IM-H5!vt%jXcggAx}T`_{`ucvb>tYtD6D7P`b zlZiH#Uj?=LHLVbtp^SdO&}^doP2`QQmWO%I(Hq>}J|$v2O>ccL?NPSy7*C};=z-!C zRo{JO=+TPXkOrpDjd_pviQKo#0}{)Y5E9~uf5GRMq*k3N97q}0qlRyut5w*%0Nd;~ ztMg4sW~h&aA@IofPrU$vXKhj?F+$w1d7av<+|&+-b2whl%3cAeJy+#-qf?e$dR zEH#xyD!F#&89|b}bFBvNMrzlLk-8+)@-Yn@_ff}Tf$I*#_F`w*>%1OS7()kFlAkT# zd7?$ZYL36I9f&KDzP`-cXD*YCe66@BG3{!0_>ym&9bfUr3`yPeS$NvBn8b%AL1%M>G5*8L{Y_R{h5hZ5r z)}erWUiCU62{@V*s@W=rtY(a_<4coXLam^0J&b)@Vkj4?#aY$9_k|q0F;fcG`k zsHk=3tMK+K^&+@)poAlqq=@K-J@@Ukm~Ijsnh#!V>rhs71F3(~?_suW62c7%ZU@Mm zk7v$!23OMQT&b2EWQ8Pxx7@$B-V33r7sdTtCm56PDQjwg>@+e1TLgZUv6qptF5q#} zVEJNjnpLfS;iXGqKVVMTx+@257BxUdbQu`td>JlkT$D`yOf#bkW|HR!O}}@U5bT_a z#b5{=L*ts|kd(Q1Dau4}fAH7rHIP3m8Ie{CIJ!mWK!kX!{jkC*Y9IX^hq0~fu5=Q^M161el8UekSXRxY>cPSB&m5Ko|%z* zr8W;UN_QGNtWk=XW7irlx&VXpEk?I~UP70=Ed_n_2btf$KegcjRo4*2QFd)HX$J(&KCS3!Qn;)?0(YRCM+qG7QW}6N2~k=HWkcE zt#Yu~WMRH$7$}QF@(+L)aY(o2U=c=DBcauQkf7_{@#M`+#?^pSlYXXQ9%dP&tOzt!0{l^~nwgB2hL9~q538$$-|7&)W9%`$ zpakn4U-}OoUKH?Dh^okiJKv1}8*EgMrq2BHUxU>=r%pogwB)Di)ue`N6F4t-(uq-G z=Vx-Q#8$D)Jn4?d7rYX9@^JR`$McP8yv?gX}>mcRrt$dyiOg~DAcEa zWa8BM-~p-3i*rG_Csu9QDnJpEh$AjhSd2L-(e3?YH*Ex5sIA$_n<#WF`~aG!)7|!u zpAY`nP6CK$qM~BzU!z9zw30l0jq+Zo?vdND+e$$0vR}nrN@y~%=lNrk=9LNs7QwC9 zv`-{SuazmWh^5Q^KY-wI4#!n1Sf|!X@q?HHaDR4kG+(gn zPtzYt21(yJkl6BJm;cxH_-dvQ{hW8s?_gpi@UsAdIPDv$`5b8m1=rT*! z$rWEL6JBv$=Ds*-5|4&vyxPIhE2iz5k$a&`)hNJyN0|KJS5?Pa`L^X>cJ8FbgGa zQFaK5b*(@OQb{rhV`qJ+gh5k6n3!&0DbKu=^fT3Ax6>TryrtM}GgYqW-C(2@d4l_S z=3O$Bezm>^ltMVq*pn>vKfsVa`<|Mdyk(FAXzfR?(q`|s(HD_1SAshodEzzYo2^EV zoPJa7vs|Z_FETt$sK_-9L3Sg~4(2pm>$UghXEVc^z{TvTUAmNw-p zTf_oSU4TsijQY7s;zv=Xo0j>P&o~YAd014&{{T_RyZ->01u7_BBws=oAApsu=B2zA zpUPc@-u$wDI0mO>SD11aVHLpxp>w3pE3k{GN~+_OK;M{cdBN|~)9xecu?+N41&JKf z8D8lGif398015h))E%(7#<+OV4=FiGf7qf3sa8={|Jktzab8BBByPt3gyZpm^^M^` zVfjyFwRm47h=Ex*)Zu!q>tyLpC6~+{-in7-!&;%CM(+CP*B3pTxze`E=m<4UMqKQBhpiql*#(QfWru$R@d) zRuEg_vglCkB^MW%IIXHTvuWX=BN|D3L-1MLCmF z0Dr7%W8Y?;nY|k_8$YKcivC#GrYVPR6>*VEVM=i7XUkEYOzfmzQ?P3EMZQbMPbpu$ zhY174B3%rU4004EhO_S&7Hs~L(Azw2CHxN{PEh8Xv}Bgv=x&$w*XT(+zAiPs=?o7@ zEQW}$yblI9e|U7t)vnmfJ<4N9a-eOEXKvr-E&o=Ys$#(iGzD6=wwvJJ*ZEuz#bvu| zkyWRkCnM|JU|;a_fHNraYuyZUlu&Ep@$xGf~=4 zko|4W0)ZtYAlk+^Q8ERI8Vya^;B4dv4N5W<=TrbZVg^K8NY~m)SBT&U$10*{!#*LA zkvh<|67P>O{V%@WI;gFvUl$HmT#LKAl;G|z!QHL67Ye1gJHdmyyGwy$!Ap_ir9}(H zt!TJ;=YHp#bMMT#e`h8;$zFTqS-;1AN9IR$d6wEF=THFjI5e6&7xRX0g^l@5J%SP} z3DS#3hzY=X6YRkG<Ozm6^Gzl-eviCxjr<#9$ zy)e+PfL<4F(7S%N&%VtszT5Mq*eTaZH(h8SOQXM&o5aL^`i1nNHO7%tZ^s~YP88>m zUd^8Fj1E6p2l5fas#g|ArBvD!94ZDz0jg9=)IHRWPoIkRFqD$RYldSjgRRt`!NSCJ ztLeJnir<|QEIH@yM%g*@w@91_sj<4Z&VU-0Lo<0fQMnTwWeiT7llQY(uE}i?E$f4v z)5*U_Q_Ewu5XJVxYJ9!UBcrW>t%HjF1CBqo)xSZ z((XSKhPOPrj!T*O&dk}Ms*<)wyI8{8U^tV({Ers~(Ld&x0Ts8F3s+tx764-AHaddf z09x)wMR0n?lnQ>Qn#W$=Q#pY=$Eih+kznh7s|iG6X7)%9D=K3?G!c41_JJ9QBG&#q zaE(2&?@?*qd;f?tm<0Sv2vJ-Q)_Q0>25EA!|0Wq5(tZUnk$Le-S_*fVGv94rrxbdp z#<&RYQor$)s%fRq6IKeeDY{OAxn)KfEC?LCu(801c#Cz}{DJ0}Fs}{s4%uwJb%2Ir z#pJW?Oi+%@Uhw#YeWPnQ%>(o=7-KrP7WZn*@;;s0kdkP&{a8HhB4kc#xPxGO;wPmI z{MrOO=@&Mm$GGxtgL}-W@dl=ORZS7}u>OG=G8h$zvK`g}ysN@K7WcPuRPHu6&P72sTq4^#8p<|3VR z#|wk;w7ij$;L0KB+{51if$k|0kvr1xGB<-mG>-8-oTGWSa#lD=RY8E`zo0ocQ>_do zEWz*Lfo-X5XS3-StnMT6f|1K`qv3~px-9#wE#YQ;4E>y?#orcE#PZgtb?Yj{MhQ2{jk7!cBABZZJ zp=JJ9*};jWp)~7KGySgsm*=8;o)mhz;dKFmXXKE3(L?>Nk6%El3bfgbD`%4`k!{LX zPZ_@F(_$Y-)IJ264^`f5Tux9n$Ccu}msIW+&)&b)X`BAbOM}ad7z4<#@5ZtN>6sU0 z-Ka^+$za8_k%J|l({d>X4#W)-78_1{ms4fw%ZsK$Pl7+PfR#!)OKBlfo7HEcfhNcO?>C*&v@zKv*!KyjqN>!p`1$^Y-h%n$+l3$W zy0*~hIw>o z=>x{UCiw5u*t{POr?ZMkmY48bcCn=hcrOmR&{{Pp=GK`@QJ1+H4Cwn!e@R_zddJBp zyUV+j2G>)1>!3-D8_f3q*B_#Je92jZT~6?sLE;lYY3E&J%c-vNk7bwl-b|N<_qg+h z++itts`A(oB#=c5hw`a_mSSXHnhWC`ED`>Xt$*-a0@Tb5uqTPjs;yf@Xx>tgc@?TO z4CL0BvI_NrzmB>iU`g#Yn~i5FZ?kYvg>~yEd^3^AwC!G!KR+vj+0!SE=ZCspO#UhJ ze<-OK7sSiSCc{x1Xr$K4cLG-OqbAzu9&g*r_1_Z759r_`^nsYsy ze^VXhT#dbay~Pr|fODTP%2r7>Ol_@h)6aBYTux;L?1^rEClUll?%kthndiifGwFh! zM_a%K$%@`6(&A|R4}!Re+6QkrTkP%(vkc2#$lX78+FJh2Ofy@(EQ>@FvwoB7Mf8=> zO(v;y6AvfUO77!-a{g;HUI7_5eb-Yv>w>mV(ps;8uUx>@{fq!&X4>*}n5n5E`r`ga z)90o{-I0(4pknuwi+?$dIub@O@Vi7HPoE=TCdF%aQydYXvZuUdVq`74GsJi6hfaz%=6yYeK{gst=!FgxUPi z)#z}E6J3ZG*OU$?lc!E0>;06Z=uyvG*Yeb7|H}<7?w)8*k|YW%E|7c76XLoX-{h-F z&5UL^IG>JLT<*XYCgbYOpwjZMWbm)}?jj7Ur2i6I`Q$%!dQ{SR-0!qVZw5va6HD^D z99q}g>OKV{j4^%gCgeYlid_>~G>s)Z7NnN&mOdK}jpJ$e{i>!MvP%vt$xEBO>L1jG zwO9>UU;iv|@qBcY57+Wb4Kn@sY$-k+O{>tIo{M!2N~`FMR}#-nQ;}p$9OpV>DfqBh zxgJ}>2$IlOJ}&;;^$0w9w(zxLPtel$5g&2nsU&tx4@{;WEt5E?u zqf9|39@dx;fL%VTTp*+KNgyz!b<&wPIav}brcP`zmX|?;C6&@rsnHHEx!)GK;!kQ0{VeffRqGCgkPp4< zV|N7Yk1DREinCqiQaRbL0E0z!x%wG6b6vN5b%Ni+e~^vkhO*~EBl|<`Z_LfE9R{|O zH0l@&&%xwjEJ5-2%G^xw;H1g^^33>x1D_&cm!JT{=dO`FQp6EoW)%nH=$~*2S*^_B zEbh%g(g&Ne^j3nRzt}5u!d@6Y?IO>VrJytn2u3)TUAV-f2ZSu1|M39b3n0sir-y%Y z02j0UWHPC$B%XH4&R!eiu-oujA&lY)Lid^kI`U}mh9%W!vU&>WL@dix(%FUQhQh@x z-4Db=qaCQ~Y0i;d>RKz6dWTBsI?77s(Bom!O!^n7y5Le79o3ZvP^}3M0@=U(@UT$+ zWO_berZ`vmX3F2unIp&kh?gquJI22K6oTCgZn7#ib-xXW-JG9_Jgg2g- z5Gx^FZT8K5ojO7#k@l_V)zIjq^c+H+U4%BfH#|^pn@Ix*jw|eTDofI5LZzP|(x*M~ z-0%?M^c6woHhF8-nHsCK!!f_-M36P*Q&I?AE~&J{JH8Gql?k|=HPF2l=}%#qyrnOf zQ-5H=Rtz5$PqkKa|6^N;X_vKhRs44miR5+hOww^>L$OncwXgwggTMVGbSp{bp#mxW zHb*t2)O{p;w;~S%ROnC znh#C903VPS(QIUiHTc1wVfn3T%DQ&bnya!zW9iimxZ9z8vfbm7W4Z6j;?+W1D|v0W8~?@8#v$m+zzA$YjzhYq7gn ztf4bA@pUQ~>8a>9z9Be>5Le->`b{d@`exy?_r5_Kg<%ghS!S}}u0tkcZO7_?GLAqk z8{j;Oc)J=foH?><-i%!H218VDZ^FiKqX!w>G1Ow<65qk5(M-fak*OdwO2`sOleMk& z@|#YJvWcCVsw^++1rqXw}-5;|H zXCk^g+TbC#k<(hXJ=0kX;pZ_j2sk6pIF@comUoIf$UPhv;aQRr@UT-IPOfS&o_u7> zgeno3yaEKBL*j| zSj1fc;dO`U0xL;_@nU=+L@Ph&K9Fj3_J@?(Q7*AjiY5dR%|OH6ehaq1|2C5 zsfLXG?7)Zc1;HJYDh8L~@}MyiedPFs9%fbvIqlAYl<$y@A90VaCFlJ&c4HM%4i!}xM+_| zHa7b_d8}>IV;Q@?aipk%seV-`G|1vsC?Q|bK&M8j-5h2;?z3K4H;#OZ#Db^n- zD^V`@E9+5KNsAKc6@VG@Ybc{h>-)(WL$J^0#E7R{!30?_(8i<{f%e*TkmWdKa?fxF z>TZrUJI)53Tv484d9UL@(mAptASatstydfC*TU-Il2O6<}nQEHgT@%W7)LHnAsF>L>^|Y%RQNSXJb+ z3p9^zvB6!Qsg5W%gfrZsGi0`5KEE6$eT#(6H=0xQSa*8}u_P0}<}-YsL403En=rd> z7nx$jMwNq~)45McK!uNF(aMmTp?fq+u{ScD?M-eexT+{ZQhiD05yO38i!Nac%SB}= zYTp+V=GeRk}5ypP=@&FU*Z zp5~#OIw09(Zv#t3n__9DZniw1l(gGqhlF-ue)|bU>+%!JwqAURbM5}!%Ga+93U^(4M#vn1^p#UVo&r;HNx4$PB=E9DPm{X-wH4nrfHu2@BY5MLN>^_uD*3~hQa{#`hkO;H zbjuD8%t?tC?X85=U!9`1vT*l>vE6TP$^a zARZ++<=<;tHRc}Ts`Y7~skF(@sidQv&@tAJJ|=6I17$LlmN!Klrmax><4F!9o63S# zlK2&%`{3<+W5WIYqI2T%(<%4yurBtV8)3XMU6iOjNV{suYwV5b=Vn2ZjExm$a)$vr z<=S_}ROtz1#6S7?J6IEDYg&po&m(=DSpLZm3}4xG5&XGpwctUAFfmdW2akQe_nI9Q zk+kHqYfhQ@BJx%{*{jWri()%=H%~+G_s|mg`$D6P=_+aCo_Esd4{kZeC?w33Ib8>z z>mx^erV~}kRI0pvc$7K2AJb(7o_jM*)$zl6c~Ot9{h{U-516U%0*dQ zD5%daxe-r&UUnP|%WXQRc!HhrT|&U3f7a5$G9d>ixnjuT&{+s$p=GZvVgzzkhWwA( zko1>iSIB0Vh^q8AZpXqCSBK)apJ;hn?i94Y>5O$Q9)*4VZbLg^IN0 zeZsOd9F!9zIP{>SHm3<5R-rTr@4(CzLD{QJv?-k)eoc4^{!a<)1hJ{Ty!)S ze<20(jsq2|4<9ch7{h52bxV#QJ2&&}i@wwhuGlTQ)krDHh_f!Nh%v;f^16h58v~eX zc3yv1h%qz<4jCiGp-s_%AF7s~(qem?;!*Zx$pQ2$hNdbirXpkO1#F>zT{kE4-8zB{2Ui>1Vqn1nT>-1o{-NP zFSx#3{xgHjEWaE1$NGeV>`0@`Orm}giTwsjSLk;SEMtC(0b(W>m3VYHH7-!xq;3*@ zM3yyNe+q_RA5i6SRS_5)B*fo-9bN!(RE+O#qhh8q#~B|xirFc9B&M;wlMuCIq_A-d z6iqI8m!;5Cg}^TQ8=;K1oRcIdJ5GSi^TXbz8s-=Nw80-zO+wmx5AM~0@zgym2;O)m zRU-h-8qJ$${^2q1l7>%vH4(2%rzXGDHdJW;>hrUVI%I9d9b7W?VWHNvAwkcY%pzJ7 z^B|W-UZ1tig#cPJpN;oZc zBOSn#husqi9iQr^^k-S^K)rkx|&6KGbc#1hK zzN1!`CiBGp>1m&_yzz(cA;fA4A&}fHJD&Q@=@i<0j7^*Y3;#j|Ge~l|4%|bjGgP&EiG#=Fk$e$yDAy z1>5aJ{SjiksnmB8PsjXBd}e?_7$tG_Mmf+Rvr56%9l0_Q)x?k&n8$idefZ$@@BzDP zxns@#)~t#jpoJsHHHI|Xt5b)yF&lX7XyW>q03U;8l@3U>F)N09?p`v1P_G!T0~Rf` zYm^sd#(t{OAn4z>S$QRX{3@l3ejMaP3jI#{_*pW0(9z3;t30G^Ucq&^wwA3c+1kt0 z65BP=R|%O2S9603mXD<_i=;Jwvyt&`QwCj!RVGQLYAaibGe-B?mNlA9Y9A-MYPmgZ zH1hmu97CyB==pm#wt9+SS*$OH!7CuEGgfudK?B#)pm>idYk@(fVsQU1tF*xu-=~EW zO1Fc*%uHP3|KMcT0iHukd%`^(dLOh%s!Q_YR%{j!%gx{`%}NISdZY64(-aGdg}Fw3 zjK2H&x&qDMZ})z#t(+UGt}1W9qZ4r?fw+j>D}XknH1=4P`Fw6}>Bfp<*Py`@CjW0N zZK;N*ph^xJ=_+pYHsVSl;8*L!o!hNTR&(UWG__5F7T4n^ zt;c#cP5j~=)6J>6oHfsj7eq}5&O0IdcMn}tX^OS~n5tE_@>fDUIx;>Qi{(CkS}uDY zzxr0w3O2p_Lcd%!52a%T)!8}mfo8bgEnBHSnDfb))?bjU%8?n6iBQ4v*G0p zn~$Y*aV}$$^xsP?exnnejV)WnP#=it=ckkHOUh<4-%bG{a~8A3rd6mtzx$A3d^}Ab z18rcrq5KN%PN?qE4OP4K(X5k~PP+ zkuAr@6tY+KyqvN3HJ-xMUA!%u*{Mn@k7@Td%?&q6iRVG^AxwCrL@MRlY<0?9_S2(@ zm^|X+4n9ku+r77l49$<{5Xigj#`}``o zKZhybzw^Qgi)^0oQF!&M3*d4&tw%|=A@Wj$qrzn+ z$oZ!9YddQFEwiAj!&F;qF{Tg)Py&nw4$;GAa`scSNGa3**k4=sc81kDW%7+bYXmdh zXTzLkv)(3~MFwjUt9+};ezZ&VDZY=pqrm$1i;9wuUL?aJvq7>DJf5aFuEjoAQjH1+ zlMR{QK+s9sTq=@$0kr#e8%D>lUFD&_8*HMorn?1N4=cL4AQ4hOMgoqM{W5CDtWWYz zj}4>aiI#3(ImZXZ6EC9a70q%R;|?%QjbzObll{37tf2P}ZQKl>L{d{@xA-OPI;3pV zgTkhs3D%i{GNeXtnNwAyomQ$dDYx}ADpq)J| zpajvIjxPGr0zoV9KC0hAZ2p2DG8vo^0}ZOs>AJ4=ae_vx#|2TdV-?|fS$8U5hdDEq ze%ND9+HfjwI3s0w=2g<;OBhw09|Ux{zj;UDDRY_))nM~>F$==!tSgq?Gyr@yF*1sf?jWO&v?3W; zzg_`o`XL<0LSo+nhF$@w=uJ<|_ERqmsdfTD%1DmK!44e|lhbjfX_~;uEq~fr$g1K* z4{|%&LZ;&1zAqtySVYq0wMUK-GJc&TaLQ_d0jc<>Wp>3_lpl3izqg- z8p7OgvMoWdd46mKWURt9_3qCO%(p5Kl>gzAuP)_|UWIV) z%H>P`*kox!kbqt57nW-#mJr3qpUQSr%0#Gt{zCd8w%D8Z`zYDQmI@yW>yb16A%~2% zVfR@6S1+C(aZ~BqUpxwPStba>T9jju;R9%z-UgRH0tEc=3ZTyn2`Doc)h*W{Pr2ik z+I218aZNmmSJ{6B@Ht);nZVt~pbfbhng@~`@FEG{7z$Mx%=)wOy_r7a8MX|WA-YPc z_;<)wW%j`zh!|KW&~=xN^}8RbfX=8p%K|meK?>_^spd2&l)AsJ>)9>pxc#vtEm;#= z;?jrdt-%1&#pQV#<;uP83xm=N4{X<2PV*z8=y|8A_~vK%ZcmamQN=?3zrviE39$^y zBZ7OE2mylbatA00Fb88OS3e11{dbj%dA<3R6h7b98sXkBYtsp#1vKo$A@CqU2hOkC zsq3UQ>s6qHu111R=O>jh9T~Y7@0^LzRksZJPBxOv{+j${M@_qV}0A0;Wmkb!# z4yZW5AX=#!!TRpE-2HA^s) zL=j(yh;}C|Q(>JRfcV?3YSGR8RNeQ)vKIfU5 zW{Mm1Y=_j|Enl(?g!~N_IF;f#s>b_W?uz(4H6voGld5QPMGN{&O-)Awre}n=i+7a9 zU>%-LolJ#pJ5&92zS*K~eb9MY6YAomwzn*TCzh(#KD=@0CS*8M=oKLA%+9y!pjneW zzbxGMobfAHp)tQpO2qrw#&m(6<9mx>Q`%PmM}zd^%u5)W)Q+)V^^M~~!dC9Fw;9xp zVYPJ9ljN6yxQyg!4vx=Z(;SFt1ip@Hw{yu&H=wp&2CEQncd0#}Cy}Uzqy${^RZ%dD zeE*)Xir^;YlEJrf+f;c^&gVXRg@HS54!OY;b*`+9(|E)bSFCAu)&QFZpT>Kw_B}a* z7)Zgp=+}iUe}ro$RCbUaXuPB;p+bk{;H8q;y6O_qFI zx0f@qy)Uu`CP})vC<{N2ZX@)Na*Rd3aObb0ms^rm>QIHVDkyLUCvxR~RX$JuSGLWS zP&b20K+m-j{A8~%J3g3=pl(c+n!nKTWqq6(6#aINi!#ARYe_~Ri|2|4}#g)0#nMydlHf-o%t#%Tv-g>-e+#7trna>^(X26{Gbv`srSkHls0USVktn)_RYuR>hkWHJT4 zg#7!NS|>UV#h6-Vr1|-aXCPaP-{|l-9Zr^$KILyHT$@3?OTH+ojC*9=v+21*ifz@k zey#~ry)OT;HLfL^#qMM4FPagOoz}@^)A6s0QZ(0;XZo2519Q5VoT|4)3ANsPm|+Ng z&rBU(Hq@;e*-fk5u;?usvDjr%^)rDa`Ju*%{h~|i`m{tIPbfK5fOOrpifO(Q}BhbK6qhb)=j(u{GaH*c!PDwA|Rmv zIwcT>J#oFiQO`||kmYjLPI6D7CKuZW#v5d=%;x$3cIOcjdA{EYXW z8HMWElk*0)o{p-nk^xDn3pWmTE~AeH<63qVRQ?hS3 z-+5Hl`>1d65Rp?3CEV}7WC)6WZXDZ7GQu7}p{#rbM9qHiu?w1~)?Yci*88VRVBOkL zaJo$LvZ|HoL=EbIeFZZ5w=p;vW1(YQB*`{~j>SL!Z;rZFD9iJwqIHh~Sn#+W0rh;C z*|vKvv6QJL;9rguGiQ?>pOLy-*k%c3YDk?$Zp&B`tw&!R7b~mdD}a$}m&j$34YZaR z;%@dy{$EI|6@SDR6R9b4AWxUq$K47dHn{$?wX7*ynk?9az3#!fq>Wl@t8=&l5*`6V zqWy4vW&hy#P>D1FVN_GT8TUEc4H+=2yAHrLuqAZzylSY|`{--xXT7-eq3K!C%s%H8 zAoh|#7cVraeZoTzFm)1S7yQct>fPqJWDLj+TI}+!9n979>@iM zw3*n6&Ra#om(sU<&9>2UZDv;&?$Aa7m%h+|Y0t4(3znkaxg)rk2@lCkq`&)ZNEVB7 z8QIGGhIvO@L@3B2ew!UQQd930wDKUF{7x901oseF(BNSNN}tx*?!5WOE4ha;@WCUaeC<4zHJ{zUR_|b)i)sbWr(| z3P*4glrcBBQ918=U|;TFM_{EWkO}<#0H_jbve)s92+I9P0KW=eOE8-oFClaL#fX9= zwh!y4`{?S>%~dEp1mSqT0G8MZlZTU=YwdNajfnh5PT793_K7M!WRqVp!Mcn-m*MORcy;DnPbHxGkTEbI5Hhy2>W$;s^f(qs_# znj#=cShoauUrC!`rgH=@hLLG2^2g+)mO8>qm}1p5I}j+iH!9nu!Yx41@H8=1gvjc{ zE^Nj63>!#0V}?ppX^c+gY&jZ0#{V<2OQl z2EddE-@AWnPB{*xW=Z9OI?F*RZuQFPmb|s`_;_fzigl+7fe0F3?JuRG2d+a3mu-hP4KQL7?Utj&FwA5A{{IJGr zBI_LZq2SN1Xn2sG9;|Zuaz8_a{~INUpCG_g*-NSG5Z2puISF(4d=iA_&%o8+Rk=Z} zwIN>x4QkLP>hC9K! z)+chp^LY5KmG+$$vj6tVw+3?D?K%?(9alYs1zc(k;1``wwk%tGsk(e+shdSQsH=&Lpl| zb`Di8ui2xiBMODXUNFl^ z@7ywR*A|2mtH9Cl06uB{)o|Xzr zF%qv?)ochvH1Vh1(gEZ`SHlJx|0G3D_gozoDNN3JM_HQ<_~hJ!tI%F$&<^pK5C z;dYDvjI}-8I%9GzX*e-r=i!$t4#(wZQoT&@=X|W;d6!OBcsgL|fFx_Q-EsuP5oe9WhH&$elyn*#3D$!3Hw%wp(yn*6+o_#pbK~Gx zWo%+d_^^GqUsstcU?G}O`GS*il4o)vvXAov4Z0Q(OxlSY{kWTvF}-u_Q*cB=A`J{b z___c&O|YAXbNsE`#BLd<10rl$BqaDf%;3pCxMj}v;#(CLm}<;ln4&arOi6oZdh7UW zP`*q2P2+VRgDj%i?*Uucz9lXPoTkzB#d)yX)eyHNlRKx$POaGs1HtIghb$y$C3_kJ z0k%mz0_B&4lL8TKW)}(f{W@fRI1WD6g8yr=Pgw`)N>f(yZKE`?I zveU!Fl55~M=Tg;~@+}WIhk{LoYLHxEBc1i<0Ct-)&rjCntVG+ib49N|M6=`&D z&ZDQ#SNBo!)qruCdURB+;ROCN&Vd~r`RdnFtiac)0gGzzBk2-Gg0GWO3q7U9S1IyZFz!F5e2EMW2@mSvB5fdp>(qd&pJi-sihNMv zDI5VsQKz>(n`#(oH>8&i>f%9)e@Z*h{&FT0hRId+aQ1OQ)Un{B+x+CI$<+nNi zfmdtbd2Bh~V0%ITQonKgWKJp#+h;lUicQHQbv1q zUc_^T$2DH$#pI7mz7#T&KlClumY;IQ`z`UTn>+UKm1CjQd&I$u`nC8eNZ}o(d1V@0 zHDVn4^6@)+w)w-LM&}+@{}zhsI3~@#S+fmT3;3|FOk>#I?I(eN5Rza&m@Q#4E^~OL z;@S{!_RmEU4WjHsS*@{!-4NL86P@i4nCYPj)1>4_AC99v^zE~t&3TZJF^@JFVch4taCg-6|8}I!*Uw()t0iKGn%!A zC#@8doR_K+oXX`_6p3i&40}F9I)@@xf9@r9IpFm*pyeLu2vALtV?;Ib>A$ zH<_IXe?ETJ{#&O~r@M^})8WG7cqu#}3u6k<7)zT9f6Wv=LD#z(GoXlF@t#8MA$1aG z6}o;?M7GPcgb{>Q_u^IB{{5O6BDH(K0IP#5-|@#2{=<;#*8MFsA9xu%Y3cbZjV=|K zI7nHAy|bJS3L2quNntK~<_)aJ)v6EKQ38qwRe8)0Ifea&O%mbe^ta*f5`m);OIv80 zc2l#HUYJ*pthaIVJcF&BF5EoqheFbaLPoujsEvJ|rk%bf!!;5kFg7FDdwB%{#D)$8 zxU(kq*K>bwWeYTaaAD=Iyv)I@#V-R2#Gfyy&jLVHY#+J;Tk$w0#h+F=D~a!FPR7ea zhP)?|iTXb;JO^pNIaYS=T4^o|VGqT9<}-wmP$O|mcU&TT=kB>yOn2OzX`Ktw1EcOF zM2m_LN7NvB%!d|T3ktAjT?7eKF?$^4GAPO!&jS3}?otjZxKtB#vHB2GIuF10QkEJq zQCqjgQY(m05&XC4yy`7uIp6;G(!1MCWI0zd#Hl|61h6&w(ky1-K+HkTKuL)Dqg(v; zpKIf;bEOK+@*63J-23ZGRK$-pTs;6J%e$*b>>zu_9>|Um`*^Nr6(zhrLfxs&9DmHX z@0qq}Iom62HYGGZW{SL|B!1mM=TkM!rFhDLS8~mBdkV9)wbMbJ(GOBNFPgat1#wh{ zSsyj9QCyc>$|zzw%7XZ`NS$U2($ZUP&>aKE?%3wm2%C>#$~5_gfZdWRPdHqYLt(E| zC>e2i?V89&g`0JbP~RK5_mK;AH*=aX@QrV^coqJWzmWQ;bhhoYiNr|ew095ga{?Gs z3tCGgHrw^TFUvDjj|5%1!$n^K)xa`(eG6e7p0g#M30=gd{|P>=))vgre=KD9zLe5$ zML#Sz69g?oNgDbqXZC$gtWWtdN;2@e^c7G(zI{HreSrPO=(d+_la0CKr!?HvjoF;K z^_M0?h@>+xEsMgh5GD2{Tym8mh3DSYM(9I918a_F_QJ6Ct_wQQnBQXHlls#i{&u3ENYD039evSjzGno=~2FNfxP+UAztua5b zQl%e8;aEm`lU9sXyTt45IWKMlY#GH1Mc)0;@+Z)3)XaBH;QThGJwWzu@mf7K71$-t zs(OP8aAwtIQZ(DGnSck-&ua;x%gChTa7$-wGC!nJ30mbiZE)+Rt^b)tKA0SQ&&It- z!f#d{S>;+TVjpj|_1MLKvB9^)&cl|iyW>!PFuT^9KbGo$&(wOD-F^J-%?RVb-qQZp z6$iui_yn`ajb;qJp1hQ;aIPME)ADo`1A+5gnZs7qDef^2=kFP6DY~yO@D%Ov{7bi7`#=SaXZlAAc?v z#gHqL)%w_ii2Qrk&#%YRU2sPo1MOow#FF#9+u6u<2{&F>-W7fw;)1-lb>*8|*A+*! zsE?^MCMa`2pTJIDb5z|KTIdU*WaR5YN3)E9lFM1tRDAk3qUQESDquWkLw5>lCA}&luzb}V}xHALDtz0>wQzlrRO1E`j zcBu2I`gq2$;z=($t=JOz?Tp%1T9|m+&K24i0@1J<>8`|to049~jcGbUmu=W2lzZ*<8W5T?2DEE3F9!%Llh7VvFfBJzKGT+)VncG=s46{jqX}pJ)3{6tT<0Y13Hw2C$jgCBfKM)vv}viPv*{F)b_Dz?0f! zan$bJ4T;xo#(`uP4~w8KeKeVT1VHP$J(WioMk{8u$vm8y+=ji8lU2LhGD5bFRvv6J z#=a8NX5YZXoxY10|F;b{ZMx+EeulLlq0C=(g%1#>N+8Eawvkkjyv66*OSoOe!E42k zb_Xh}QrzqWGh7V4HBsx*mK!Ax8NRT*4=Oe3Db$40IOO=e0vwu1^4tH)jL%I8|KS*b z!r*|6;y@&S|M`&d$eN~lO!4}f`_>;FOEt(@6GTm>Y%WM?1ii#9dj7y&^o_(HxjH?& zwapj4Ris}qZKlZkHP<<>M;CW=gey{|ki+$mUdle=tYq&BVzZx+$9Xth{AsX?dZ@)y zS74|x$BD}o%P%AeeJ@jt4OHr8iK}tkF$!Jnoc-rJlUChD`5W&4I@`}n=#~|Q zOB?MHyV|HR_F8$SMIm2CkbcI)vx8EZmddQ3+hbqAdqpcTqxf6)_I_m#0k=kB$qP<@ z*d4bo8x>7b1Nfr3rD_;0tLt!Y@YqxzBk%4e630z3TrU`?tJ@AYo~#wL>db5RPSZqP zj$oOcioAPz+u!^bv=ie)A-;_JMVSm`GBc=5|0M0Z-D%AyuVl85X2QxC1z@h;dT9bq ziEeWj*H2UthA>o)3oDUMHGR5fjJrb1 z6b3|fpLNnSPlK{6Oaa7zC76vVj421I%eUNj_5Bz!_MVVtv$W(+J44m(nrj$QJTqoM z0b*S9hxeG~ry39!IW-I}Z_R?TV0bv&3Jqp68n_rwD@)l&LyudDlar^7XL*Yu?1EnZ}}7ndx^vwg{_EApDPp`6glsT%t!x=NQc)Az0(Jf#z5z z<-~Jjk6L@?FUFr@_F3|M2f0`I{og7*YM!~HV{16#qBH~_OL$w2A zy#3A$m|4nORS+^Kd*o^6*zz+A-OGcP6{J&j3J;Cu^%>u}F^|iO;0i$xg8SMtJPu|F zBaSXJGnC4O=Y1!7tflq+B)mDpp+rab29SFdz(y;bdaG5Y zzJwc>eWlTCXOGM27@bqp_t8@YF3LO5TV(giU_yu!VRwNL{ow$6l^1`aOm%7(-#7!x zRN4%i`muk$rWFnPZ8FxmK_|qas+(t6vdx>&18o&rs=XA$surD)#^P-0Gn64yJC`&*RSaiBZ#G&lxj-G3f6n8 zs|GMZ7tsuEIpkSA{35U7>S=>8E^|-`=#!Z zuE)};Qs3_RPS*yAUO{dXYWX^!zG)1h`Zr65^Vvk-->xy=&O#;%+gpZOT}tbUt9<$9 zFFwPcM$^%C(&VcByas-PR{*7KUt+-qLB^H47%1c1I57ggJjBMzC+ zUT}5s9daAp?;lB)XV z?FAbd;pGMxIGeSb%heDzB7T<`V`;2^T1mqFor+QnwI@SIW%$(0YXh_G@fAm}GMfsu z)l1b&*Usf!)?q&jv}yFGowupIp!FjfG9DK<1-b-KRm+iMhmtkrRI%DLELxM%cz7zg z)^yTmna#8;K~BWIzf!=_sm}5OzjHX$t?$Ehx1UQ~DUJ67*^34$D1^cY^h|%CF2eu* z@!OXe*k^f5#l-M!tf?i7J^YKJD{n8cMyc`&3*+1JYwR=?tQK}WHG~Oj8iJH7K46HN zqU8I>8q4RsHC-%FYLSVFfoV(~uGSv^NCZ~-f?drg3m zWDsT;>^gE7^)c}cX0;w)gLB_2fNfUOH3;Qf^3KnQG|JRw>Ch_-ga^Bix-M7JI)onF z;02OGIRzQrIQ}W#9sbLgkXg~FO&`k)pvkB+;hp8d%&Z`7aHVLHVYnmPgUj^4V5`_o zqX}}H%xVnW$0Gx+4fMr7|BJJ?j*6qfzD03&cPDso zcXxMp_r?kC?lkW1?jaCdgEX!|6Wj?9Ah*9aZ|2RNH}ku*?w`G?SFNh9t|R-Ly*GGP zlj}ip=4cmXf>SZmsz^?2uTza{j;<0Vq4!rsK-0mQrDKUA;p%J++gy%W9(-C&UPsSC zm*))Y6sP9jn1fb<8TP$d^EE*WyuQEB;Z_mpAesr}fLbsXXyDODF#q++lC$<;<^j=e zHA+R#ZZ8xLNV|S8zYostHrfmdCJhqZH`bd!{9<~ZRYWDlbha&4xA>)aO4jb{BoRu) zo2UcqYo=Mq$VS?=a}UMQE4#pxqM0c9iQz!nZBp=6@IG+!nOtsRcPZ{YSkHwqJL$G^jhxFeHOy4bAkt%}6PEQDl|==hJhbT-kGx zBWKX@ioMk-R2-OU5Yc@AdYdM+d*Yu6NM-XY)95dWR>@}A{S_VqW=U*99+>Z0Ci7Dz z^nwbVI#+5GmS^S2W!42!&3xfMG89|Aeg(B_4C^kLr-DgFv<)H|jfNx|g6(q96K<`_ z)H6H+pPAe(ITR9@TDAgKtG`kjauZ-=ufjHag9CR<8JLwSPTkKz<?TopeC}DyJ`AIejo_`|2_#>}1r#kX{ z_f37Gwq4XvbmztKy}|I^Zd6-h+IZdmyz1RysNu!=_2MabmJiqWKOz->5w-u$1^Fk? z=N}pNUyr7NbEGuAGtVmU`_z6B_Y|OKLsRF5RENCY&t&6gU^NZB?x5G%`!pLmuU~0a zP3%T4z+8PVmGY-`T4B~R-Ltvt4>{ZZC0Z*sIV7AjlY#4=B7_$cV*R{$%1?BMk9EG_ zSU$ax&ee9}gGw~DZNfu)z;cx(rRHXH54L*!uP(NH$N9FSDX0CJYxC=M_j+FqDS;Ww z8sG_l6;M)Z57IMIt}@b^b*83vUX6WH{Z0GSCY~ll`!I`Vo=%V!$IHETk$to|cwRX& zHd65QDzczPp4MlSWCgg9g9p%aRDRi?E?so&@KrTVTyT9Zb-MluY{Avp_RfR`q+F*7kpo`x`4O!}i`FX?ALQpNIyQ zUlw5d?0ODmIOS+zIIdE;n4ikB&aF5bw005c{*PakZ|I9d;;am7P`w-k5?X0T^Rd>= zai>{EGH|SoM>$mZ5q#7&m9pKfNtgPp!sXC(u16~LX{zR^49yu;@B1n;{5g=ykT72X zE$t0cdxVxl!Lf-BkEZGwCB(XW;G*t&a)jY72?Qb)O3=u1UuCUQB~yUw`JkY|JF2o) zy2SvZ8oKzi@DpHA=ZV|2muq31j6p9L54l(X>t=}AszZ<~pseWkh__H$y=l`#e`GTWicc zLJvc2O<065?+!NL3TJNL1fX+& zZkg*??I5jJeZ9$u+4(HT?yRbrW<%A7GL^tE3KR>mu$Cx)rLzR44AJ@QngWUaOcfzk zfGKgWDQ3~Ma}PlN=L^sI6UhrL`A33ta212O&-o%S8}c z@Nvr@i07$DJBqfHx7aF(!teCp%-TB3S{>(Z;}@OmsDahFSEEkwo4*HS>~hwsmcBCZ zgOG~qgBIML}$7>Ecw?d^c_xpGUZWCnrMqAk=OlYy7tyE zCZF%LX-R>tJyH`P$L0_+8p8PUh;c&*_@Ga)G1G1kTTANrS$BY$rv>WC6*;}u+-FXi zKzP;8wvGgZg7P$lb1nA692xr?g<-qRTuzg_#)8rY7b~@gVhua_DU@D#R=oT}i>{*F zRwH$;pM=>LVEG?cAPRtTg1~+JRP@Ba*>LH%xTU$<#odFG*5)%l?i8$8E^L)q)XUE0a#0bjH1hH2)O8m8v0!!i0e2Z3F> zd|8o-PufxXjfh;OVUFN_G0*kzT@TCIg%+JhYr7Td21WIq;-zq_Erc1AkzZ@hR@7&DalgpOXxF(n-03Ye6i|#h~eO-MC12 zmmKyg=$_DJtQ3vyj#zx0yVx6kJiI;}E)29BGK@SoHMYe~&#{zqu#3-H9scTTq+|7pqJub- z7ua>-Wjg1{3ozcYJu+E|bvO=xWc`b6S1*Rer`RPY@3n;J=tEigI>|uhzPS7`Ik%=! z{bM8m#j?C)mYDn~G3>3%;}=T(V??sp_On@R^zD^Wa#Qsmh`;u|?NbC^6QXkIyM;0< zB;QX^-&^PyfQ`0wtka{o_`v(MNW2Y}&syZGnIwzC`U&9K6y}LeYOoIqxV{yQk~&O1 z4RRV0ld6qe7lYoU^q%~T^xq`h{~1H+oZ4SMjtRbiCh;(APqu`T)xLjqAUfD0qm-y+EX#}_O2NIOOYcKwzWAB*J z$;AEl3nl@(&sSxnf;0BMVX3=P1ch4%Pr>{Awab>gu7T(8WpP5HGk!;PL>a;!29leW zEZa`JgUIg0^q4B$`XddMzxR~#Z5SC;anDS9gfXv9%gN`i1@jA z=|8i8){vgea=9Y;CCZ(%kG7?nw3{S*&O$p>WGI#0;L51@E8M1_Q#fg&b(749Wa^hH z{J{!=`{FwK)vyejsgRu-#lW52pvkkWG1{e5ZV0F7wvef1etsgi7K@D8h+Fz)e5Wz6 zkmVqZG&i-g5d>RmIe4=y8x<=zubEVE&z|;+6?y=QZ=Kf}12igcZ0SK-`-EnIRif^i zZ+>n59)-G*q}K>Xc6;wWk=GgcX7)qOn6kQIG$N+QJ$65k*eBJ}+ON_qC@8R3Hsh0a zjmm9f+PmpGMTDn^dCd|w4!WEt4nY~iZ*lnRyG_M6Tp07llkpHiL*Lk(8tn=SZ9jGr z)MgYVvG7#QgQ&9pEN1cMy5NQF&&0Xv-N~wKK~Cb^9xIFNiK7om1WkuA{Mt{3jxgX4 z$&`g^tm@7EF0_WQh^8!zu#3Q$HCtM@QXt%_GnD;Ua%A`^{rB=l`$=?cJn6FNM+@5z zOBo(pS3q~pPTCqjftTfY#+M0nZJbF&j-y^BorpRp0@AOO8;Rn4(F2q{Kb#_2nYKg zxhho2mc8N|w9ot)Y{7!kQgGd~EJq|+YYCTM8}G-|kD zsyemv6>Hc~qGM;VeidmN7Ap&2HV%m{5^&tf?5 zV;0I344}~Fd$acZfnY=psH*_?Qp_#y^--b~g~9bL19N^Rr~-&7uk6#4p(mXR?At)m z^3PZDcMYyi+`n&5zLI{8p};x21`u{+@O8RH{Cvd(Tjpf?gneRRSHmLQP;fRN6LPZ` zPfT4X4Oa7W%_&Z!>kOTjk?tiztLk>zus`Y=T|Im$Z2JSjH&zdFpsm(ob`T|5cI@d3 zNxj0CbwXFw}n&L+F^p_eY%H0;!ZDIt{bC4T;^ink33x`pO8z<1R+zUblZH{iSLL+kUz5AMXTKvQJP zhYuR>Han+2RC7v^mX1KA&+nW@-9O>zZKmNWYH@LVEKQ$mr|L7c47&-mjS(KH;Sn#@c2`Q@y?&1g(Xt?)dAy&i zK2at^UP?CzBsSx6jKL>UCc`9CWX9KSbU)F>q`&Klj-$gwv(>@Xxd?1Y1xW?Z>Op8* zeTjUZ4i6c8uHJ^PInfblR`)I}Hpzg0=LSz^3O~x^0xS}qODt}6k`ZbRqN>Eeoc}zl zZ*`QXBlZVdIpXE|LkuJc1LrbYfQbk2(nwNFbBHH2Q|DI<;=zCB{{4F>^lyz?15i5# z;2|E8D~H#IMEY+f*pdF0H2-5Oh4eQej(>^hCic(o1a|DbNU4CLn1Cu)I!?uz&#se; z@zcn4w1Ol0>#`c;Y~e*@PRI(O;pJj!{F=dqIwoC+-E9RL`#&bXm@lD4A}?QHaZFTH zx6;>jksmqD!JA#bG&S7I9{B*Hv)YLrHAMZ-PUQmh-@-mxZKl{4Kpko0Il>*!VG)3lTtFcj0Qlo8;=%6QbF%`g@oA&&2bdHLwU)C zNizN{RS{ZgwXGXMG<=F56=|kK>TWUIs=A#MzDrXb(73{HFDIV6ZVq&Dx?MMNIx##tbI z9oi+SN&Gy3s-it~JWM5kI80>ic^q3x6KZ4J0xQ=Jvtb&gKQ`}HJz3rc0hXtyRmKLb zsRxpIm#FIuj~!Tna@S!Vv4-eRWu9$`!@o~Z7BG5GZa07b*-bh~puxZBQ89(U&W8fF zN7Gx|Ocga!(hI7<=qe}?#yQ^S=-=gD`F?FBfihLK4@`?!d<@f%XyRmBImx%h4MhMQZH2FKdUuu?)8OijuyWj0iDX8Oc3~rvP9_oV7)s(MUd(Yls%LA-bG-@S<<~ zGK~*@yCM@07pe5dj^<3uSfiIPp-)&bdkbWN#Rf%sMlGBEu6eH*J@~3wbg($lb7VG4 zLKBaRr)h)<&|$02(dS1wT(6kxRd}v=N_BUNsxJlGsRohhDqVqdrX8E~i&J|+PHhs2 zoLA3dA(mZBWPRsgWyr7@lZ8Y%ch49lK9lWbJ6$h}( zF0IggstWR2+BI4(^qa6RebUJ&KDb`8nNyCj#3TJ+p)kjCrmLe%zrZe!6V?jBBdYAd z%A(|!0*X8MNLM9!?8BiD5w)%M}i;FwsFNW*`6#MDRo4Zt7h|tp#k_oT0t;I^? zAjsBn|Edc9bNkYri4^iAL-%*m zl@C+?^ZEWG9Qm)^QIqKFb$8OPIM%cZmG8^%s3{Kspna_T#*}duE#ImjdejZqUO`*N zEbSbghsMm#%cl#csTvBsXdS#BVTHV8f8;hmR~MxD95yz_;&PzbFW1y~*$)#ZL-I5J ztCam?(M8wVZ~lUWHQ#NOyQ(h+b45)CxxF;m2l>cI|^0!;&h{6#}_#2Ds?^x^s$Vofq-OhekYyR?r zptxK{`q+-Kh}@`*zWLmfP)I0DH9eu?sZg7Yl;Mkg(p=p^5f&p44n?jt-f>ttfm(=L z3swcWdd6W*cRkH&&=ZiRq|zVB%Dz%VTyB}rF_~(++$*iBOEV%@3LaA_P)B^yo5BfD zdd}*gW_!%|=8ncMjB$0f%4|og5|NvL5O=)h+AQpDBSHFjmIhf~Y)gDpvU;?xsrn=@ z+{)<$LQ<-J!>`mjKLuj>ll9=ysvHff0#zuZBqbK{ggn?>?yMFgT9tK*; z7iv}3Al?}2GbiTOnX|3NIR4?GH*DG0LUygwcla&_6S zaSs+wA{e^J0p3Qq)Sv{;Z38t5(wPi-^h|6>#fx7!`Ygc4b4&15J?k;M!(1!pa5Oup zx*^-%*YHqJ^k=C0u87iR=(qVSGF&X2+?jUc8`%UmMC*`&rQ!f|%yVV7#c}?m6Wrab z<1Vwu1g+$wO==Y*ZlQo}*W*A{6?53t5qRaUKM+=K7>DjqdHT#ZF2yapaaFS1f@e~law9-5N8tVjkRjZ-an^lHVkX#s^O z4~n67ZXIh8*S0swMp9>Qe8zLe6hn9TZt0oS9>18Xr*_GZ0=!rtZVgnB?MtmFfJsx+ zYHnPE>2&zsn&u#&A#f|cL}Y!FXVg+&S82os(Evdx!ZU!XvoaV)7(FC#Xr0>2x2}^~ znS)MI76TTvO;0B%<&ICGyvKn+4+vSuQeYXc1{*7`xujsKr+#M(w^QWaY?9#!uk(JK zNiZLqO1axz^PC>EH>p23zYzao*oIKB>l&oO?n-a3G*-S*BI>P;rreuc-^}_vX_!M5 zwtz9uP7`+l9Mm_*7W=Hg^qX!`A~Mw_@+cN@D#8X5>~E^zSdCB7RK^)=)5hJw)|Z zvuQz!elAzjKQx+`v}nfYx2mtLoraeV4^ln`VX8m%n@Z!fMtHt$yw?w9@hm0`f{{|> z*NZ;W#X5+Jz>fvr)?M=bw>}SSMUfuIOB5P|jJJqx8R5PM*K^v2K*@O#B4V}g-l=|r zo)OV+Z-p4=OC_>^Wuzt!d=9Z3GWtp(&n$Sm;M7pw>nua*PFMP#vgPg&z?vt5#^@%# zR_>kEis(qUNf%tjb3-gJ+{f2>04Uvn!s!s9-1oQQRE#j#OUy+t38*MRXE|Zlr~kOn zU=j`(Zv+swrl0yewZxnk(!}l8I;JE<^l(yTS^Zzf`1Y}oA{3Z;T^T=m5o&5Qc}5@e z1SOpLRE6)8lkCUay*P>5iE>a?D6p_u+)8=)7S+;Rebl3nQ^B!aPwIXinu^9}2dRjz zV4V5y5%&Ks+vt)1Fm752__A<={(Ff_nCB?d>hRF)rAWwdE7L8#1*iCNhH-t(0Ku50 zvWs@9GA5$gH4V&zLXBc?y$omooF9@iJI)G>Gvqxm)3{A__<-$PZJl#~>|o0=iJi&ga_wrjf06LN8dT4t5I zO2@3!*j4ojtvf76IR~5wVVqx|S#&j;{X7c&Y2^s?-DFp06N?s+=UF0GMz3EF7C`Gj zu7)gQQWKHvUOUbmrtl5WYLq}-%P0YHGr>=bbdlz+5Z*bmhbnEBk`#`p-jz=*YufdCY6o!EA}WvWccBOT?Cv=_DIKdU z;uP~^&N1vVG2BaYOQM-t5xB~b>kD94qN0BECcO>2pkPohEZ}*Z$ojB7m%2-2*cn?n zjDxX?bYSMqheakFOTP zgoMF}#-53fuO1<%W{D18e$3f2ljr#vw?*PP3Gb7(g=pV;@?530{kJQ@O}$2l7Jc0V z=&RZEAzVpZJ2;gEiUKAeS=MmXB1(-%97)t5^%w~tH zgLJzLNSwlxLRSesg(+UB?(56F>=0%;Iz5<+#{gNSSQhEo+OZKVfO&l;;>U(dX#Zji zf3&B?Sd3H$0V#2*&Nrrhm8Y1^%w&E@2C`DEGFth(Ozho*XnTr>Tr zf)B(MW~X42D<5p6PSTop0|R3|N1gk*V3fAR*!AeMcjazS<{FuLXvj0PLJZ~8u#7T?QiF)0{Z&QaUc+Nt;+M<)m}_CRi9&p_A3a$4nhowHSIBLjC6%#HUW{j_>ZVEa&A0`~nDXo8 zlfG^qLQE}Q$eh%72-_T##>+8Ws#f=;LyqdKjt+@_vmxTZX$w_VCwi|hzq8UcU2piV zx0M2kdY#5mL%N8m?}$IQo4*+2)yb?ZOcnUsb0$&92hdiu4M%Dxo~#)($_w5Y{<>;a4azDTW6oM+{wi+SOq~CNv<&-o zV3lqa_2E8VPNa2V&|aYwg6R(gZ1z*sVGp4<1jp8d`}V)ZrT)48wO4k`94zkwQVvs- zDICP&HBK@mN!7I~{3G@mNxNY>ELN*Q{A7p9Y-Iv}W9YBAUIMH0bLo6g&6@7i>1X_O z?iL%r(P?X5D+gBO+FaMnC*>5N#!A zI09r4RQyY)^i;19kD^HV%Y4885C5aTppN^36Z5Rm8kI%1(4b5d{o(ncrtvw7WN%9iG-0)D zBKaukN!4Ei;@}#N&r7e(NkXzIl)M$5Nk_im!J4J{-X7P7`b+iJ!$OQ?$5$@pMRGbw zrDfhk{{n-#?dDjv>#)%hEH2<}qGh_||ziPObsAy2QUBpCQl}P2$qaxNZ z2B%pmkP1ffzwr2LW@jJB<}$yEDb<$tqbt~u3Vvgh%tHBXDUanKX`l()Nl4$Ghv7XL z1ygZLbU*Au5_eh7dO?y|Y0fGA#Pb43Y8+!PuA)3pVpmFWCWvF1t*!x0S0~cT6*(T{#u&0 zoCvXnx65{Gg?FV4NQ!q}3-!7x$RQ5hz)Ic)(s02Bw^F(-($e5@r-!MM47XZHDh}kt zvuGCO#<7YLf+MfqsXWfLFNV{IM0Mh9O^`%G)Rs=!Db=GTpogxGj>so*%O4<(&^e0p_N*`---oBNVjiOB|7 zNO;6%N~+RKIhJ|;m;N9GG_eBOR?f=h%}tn|&M`;J0T~+9Y-i2PltZcZu?V6hGv_ei z33-(t@O0!l_Oz<{93aG`G$41kZ+p$J|5AR@v*m*vRen}{s!&_v0bn#$TD z5(grz2uU*1NbzME3cbkW*+tffCZbE~mZ1QdB8WBC-HHLN6_-mG;38;#Dt2aYm@}Mr zF)+c)a@fE|R)@{-LV8l*J}tTp`?gSUiwu}yPeW2Ty~WA-kq+~`JK@*uA|aobx` ztg;BKTIjy&9m%MkCKfnmZGE^5J!E03{jTR1`lGcoPNx<@Cw$oH2*JlTvjQxNM-_ z0-_3I02ER%STk9d&P)&=$M5O}@NRp0<8Et3)fWZED~S%Cd#H>P<4lz+J9l%P0Vw!x z)MZG#L~-HiM5W#z@l=K}cW7Fff;moJ`s?f;@u3z0`D&g_?^RCINp>@8>x)MVhr>)M z2dYi1AXUAH(A_1k1YBHh(e|D73}t~EG8!8^w12DsCO`jHO4nTY*g*0A0NQ&#()Z)t zdnuyi0vJwzUEP8BUua$?V02r?kCPJ1$pGWsP}!G7wrS@?~~_!Y%d@>r7dG- zUVII#+vEUzU9gyd*cOhS+p%A*(rcffjwA0lmEn)me0)=iaQ_3rpV1nU>-XvI!|^xQ z+UM+ALe3<#^TS(9=rn5JPAUmlX-k4ouA17-gRtkndTQECeVO3mJ}^^S1V{7INxO>(BM{wL{VX^5SP2s{!S#Pc!QEfmli%`#_iJCF4fO977^Ad2|pl_#{kcx zNBCA-8IVcopzE=9SW{uJ$jQ0%cs;>u_E4EGhXc>#F$5?3p`>*pnoL8@d)Fy1$$$*L zQrfVX5Ub88fl_U;;AE2pO=t?uG`1$)t(>_MfvPq*mgKMs#AaY^e7eF;DBkdaLMLS%xYB;e_NNY;JB?=~vezK{O3 z8SL1K$_%thwge$4ofRp$h1oFhmO&b6NLuOP5%ly+t2uW5-}jX32C~I*&Shj8Qn<2$fImPEg*n*x z^l}ke{@K+!+$QgQe1~=m z#2kbb+y-$;5ah+0)HrFqWE2qo-zlMU>$~2waZcHIXh1t)klLM9+F?Gfj;K&;IS9$4Mcv{uR$#9ib*2xGkAUa!Jo@Lxe;zo`+7Q% zyJ?KKRh=%4jDc>zh$iDfh~`(eaNtN}-6cv=8`) z0Z3e!0Qga^1o@kT>*Hi?D(k+_$&1juoq%81PYl|x{J~@EVf?`1394JCe?KJu=Vrv4 z@jLHCXm20Qe`p*2(Uknl$oxNjtc^F3Xk%&P!)9Z~>q`;H*OX~sUU~q(ztet!g1EqZ zYQe?u^Ra;=Ye051FB4p$LHID_jbCt%C>yJn414rFOCJ^K+^bd4b0x4; zhs49ec5hn@dMM9^{^JwUI!+gwIg<*7=dX!yXCtV2VgJ343e7Gwn5iFnIu_^Z`<(g# zhGk^HY4%bvdnYG$qCS!*js zYNbV&t%suoT@n^gvz~eHhyqb!tdE4-0!!B6?>@-*y1I4W7B)F7J{SgS!1lJg-E_Hc zuKhk{E|ukFBbGkY_&+}V+Jw%107_nMZs^rP$mNV;bo%}P-`4oYj%vBE_=hZV0g`3w zKvvmKwon}s?-Ql5DhG_gFnM7BO&cvS|H63pRrd?Rxw1}KxG|5IezT3lSZ;Dl#gNe+o0TO+v1($3Fo`tQ82#O5m z0nnXsWYR#$Tb(7%r7+1J(x=AtO+j(@2$)YcMqyQXjuS~^-@ zRvCAaBC4nr{;BUJc3=tibw8Na`m{v$`iuV~K9+x)f1P;1QsvrpYgF+n*U+2>w8xSa zEm@KhM=7^qMB!xFsmO8wnkwpzX81-v$C&t~*%d8QUTr}2Di`s9^si~6i$C)RcrQ57 z)o0n>=byQLfV*pBxl}2;OFNDx%$#r$)hRvZ1BBrvuC3quGzZ#nh{pr;)1~rfh79+~ zd%&<|d$0PvpCqePdaAkYH*l^YhZhkUAKJK^oSb8iqtj**=aeLgHSd)XuZIjZPORPR zcnQR;@rkMr{qyCVVKE{KCO4^-JF8nWe}Blf$KR?Wz7kKZp!1X{qzk+$A5-wrMZrpJ zc9PV;lawgGIEVnMOUtywr#@Tg8?Zy{UFV0JYh!u}pL9>)WD-VWU#+6}m2=#;dSUiZ zhs(69uT=F+Nm4DJTWo1hUHm#ci8;;`Zf|8c=uKZGQtkq)x*sZwk#g{4aBnFxC4I=@ z;fgmTphvHU5LPA2F>V73wI-sf-D+N>qd;z>Ih%W^c~6q&e9Yb17Gp?-jR*%4@M2x1 zVVO}ou-nOdFvh$2{Ny-b$#w&s1y2}?+a4*}(TnS(5Ix;a?j80HR0nHO2J_wTSc+_ZQsfR1jBg%z}6JG<(OLLdVdk8;pba)+04rdM>Hgc7pb2We@w})71@8DH9c0o|3Cw-iUcm$-JKpI@sjtT-94zEzGLBxdECrS@u8@ zEgYe*&y>z}KY_nqSTCCbDbB0h=>q>iOby2yxx}j&kq}46$h*=O3>$unVko86*Ha7Q z6q=6rP9fI~QW!mXHuyHsamu@Mk&7z3WIW9PBF@jEd;eIq6`SpT`pp>g*%JQ07-+O7 zkpPUpPK<0APE!8UPSt-^YX2Rn(gdE;E7N*u1jrH87E{C}e*H&3u~v((u_RJPkOlH{ zIQ?viD_A(d3kDm?PJss?s_qOw4CBRydM1nf!#cRLR*uC@FJRc zu+iA!Q8V)k|D2#GFyxW2bTT`u|7%qe1~p7K$AeSj#dJmFD7~PWwOqCyvlF@|2y?Pl zVhUFaHEHmwgRL{exFKUzrNywu`$MRf*3rWFc$Nk8eLj#r3|_hlnToV6nD_$35=`(u*RFN}B- zSuXnw?>s``Qlb{hPwMCH<=o~`9y7c*X}K>wn1(mI(FAm%T^yOlVIVH6QTv()9x~v=i!WQb)BG&*1CzvMd{Mjb5I}sB*G$O z`@1Rgu7LsVd_)W((mWDJJQQ^KHy|{2|30aSai!WyN7bTFB2u7 z)!=sS7_F!gB0qu`wnl!E^m05;NAxKzhcrFO!Vf92rdA{^9* zysj+aU9rh^NdG1ao~Etv*B0@D+%NE%+|{!$2T3y$LK9_`P%acS{G6Z6A!8X)#`;LI zQFYFI!TSZFKyvl+ZCJeiJ0j@~F{j9G|1dOz0|nh#G@=1Ch1`e+bIL?EAjx#yUTB9> z=TkFq)}!(%il%ytXL&Lzp#l-@cIhZOJrvtR*%GJ3d2j}B301{okP3nZfT8=UB)l5h z*0_Elj-S2xW94yOT)5X0^4~@A56N)_tH67zGUT&EjVq`DOSZ+*^ytxKv z8js-yFA_QTwPl-B3Ys;|m?~=s#Pl;N_Z5gpKEvy#c}8$*GGn^E%4}$EU4=)AFoM{J zhgJ_*@TDC!qa*9a9nY*>jk1u@XELKs!vlQPS;SFkf4)J;}b_SY7UEw8`YYWC@&jw$PR%Mao9cdbRO zsGL-bGE?(~TrNK#+z)Y6dALvAnUNL{%q2n4NaEW=d#a>;R$px~GKAmGN~xTGP2ey%m}^1wrLS(H7#x>4eR`PWktUn%0DP%mZqP+Z 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 AX%g#~2V>IchwOFz+9vwfwQT#rlqpEx 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

+ * Returns the {@code BufferedImage} image type that is compatible with the data in {@code image}. + * This method will return compatible types, even if {@code BufferedImage.getType()} returns + * {@code BufferedImage.TYPE_CUSTOM}. + *

+ *

+ * This method is defined to work so that, for any valid {@code BufferedImage} type + * (except {@code BufferedImage.TYPE_CUSTOM}), the following is {@code true}: + *
+ * {@code getCompatibleBufferedImageType(createCompatibleMappedImage(w, h, type)) == type} + *

+ *

+ * If no standard type is compatible with the image data, {@code BufferedImage.TYPE_CUSTOM} is returned. + *

+ * + * @param image the image to test, may not be {@code null}. + * + * @return the {@code BufferedImage} type. + * + * @throws java.lang.IllegalArgumentException if {@code image} is {@code null}. + * + * @see java.awt.image.BufferedImage#getType() + */ + public static int getCompatibleBufferedImageType(final BufferedImage image) { + Validate.notNull(image, "image"); + + WritableRaster raster = image.getRaster(); + SampleModel sm = raster.getSampleModel(); + int numBands = raster.getNumBands(); + + ColorModel cm = image.getColorModel(); + ColorSpace cs = cm.getColorSpace(); + boolean isAlphaPre = cm.isAlphaPremultiplied(); + int csType = cs.getType(); + + int dataType = raster.getDataBuffer().getDataType(); + + if (csType != ColorSpace.TYPE_RGB) { + if (csType == ColorSpace.TYPE_GRAY && cm instanceof ComponentColorModel) { + if (sm instanceof ComponentSampleModel && ((ComponentSampleModel) sm).getPixelStride() != numBands) { + return BufferedImage.TYPE_CUSTOM; + } + else if (dataType == DataBuffer.TYPE_BYTE && raster.getNumBands() == 1 && + cm.getComponentSize(0) == 8 && ((ComponentSampleModel) sm).getPixelStride() == 1) { + return BufferedImage.TYPE_BYTE_GRAY; + } + else if (dataType == DataBuffer.TYPE_USHORT && raster.getNumBands() == 1 && + cm.getComponentSize(0) == 16 && ((ComponentSampleModel) sm).getPixelStride() == 1) { + return BufferedImage.TYPE_USHORT_GRAY; + } + } + else { + return BufferedImage.TYPE_CUSTOM; + } + } + + if ((dataType == DataBuffer.TYPE_INT) && (numBands == 3 || numBands == 4)) { + // Check if the raster params and the color model are correct + int pixSize = cm.getPixelSize(); + + if (cm instanceof DirectColorModel && sm.getNumDataElements() == 1 && (pixSize == 32 || pixSize == 24)) { + // Now check on the DirectColorModel params + DirectColorModel dcm = (DirectColorModel) cm; + int rmask = dcm.getRedMask(); + int gmask = dcm.getGreenMask(); + int bmask = dcm.getBlueMask(); + + if (rmask == DCM_RED_MASK && gmask == DCM_GREEN_MASK && bmask == DCM_BLUE_MASK) { + if (dcm.getAlphaMask() == DCM_ALPHA_MASK) { + return isAlphaPre ? BufferedImage.TYPE_INT_ARGB_PRE : BufferedImage.TYPE_INT_ARGB; + } + else if (!dcm.hasAlpha()) { + // No Alpha + return BufferedImage.TYPE_INT_RGB; + } + } + else if (rmask == DCM_BGR_RED_MASK && gmask == DCM_BGR_GRN_MASK && bmask == DCM_BGR_BLU_MASK) { + if (!dcm.hasAlpha()) { + return BufferedImage.TYPE_INT_BGR; + } + } + } + } + else if ((cm instanceof IndexColorModel) && (numBands == 1) && (!cm.hasAlpha() || !isAlphaPre)) { + IndexColorModel icm = (IndexColorModel) cm; + int pixSize = icm.getPixelSize(); + + if (dataType == DataBuffer.TYPE_BYTE && sm instanceof MultiPixelPackedSampleModel) { + return BufferedImage.TYPE_BYTE_BINARY; + } + if (dataType == DataBuffer.TYPE_BYTE && sm instanceof ComponentSampleModel) { + ComponentSampleModel csm = (ComponentSampleModel) sm; + + if (csm.getPixelStride() == 1 && pixSize <= 8) { + return BufferedImage.TYPE_BYTE_INDEXED; + } + } + } + else if ((dataType == DataBuffer.TYPE_USHORT) && + (cm instanceof DirectColorModel) && (numBands == 3) && !cm.hasAlpha()) { + DirectColorModel dcm = (DirectColorModel) cm; + + if (dcm.getRedMask() == DCM_565_RED_MASK && + dcm.getGreenMask() == DCM_565_GRN_MASK && dcm.getBlueMask() == DCM_565_BLU_MASK) { + return BufferedImage.TYPE_USHORT_565_RGB; + } + else if (dcm.getRedMask() == DCM_555_RED_MASK && + dcm.getGreenMask() == DCM_555_GRN_MASK && dcm.getBlueMask() == DCM_555_BLU_MASK) { + return BufferedImage.TYPE_USHORT_555_RGB; + } + } + else if (dataType == DataBuffer.TYPE_BYTE && cm instanceof ComponentColorModel && + raster.getSampleModel() instanceof PixelInterleavedSampleModel && (numBands == 3 || numBands == 4)) { + ComponentColorModel ccm = (ComponentColorModel) cm; + PixelInterleavedSampleModel csm = (PixelInterleavedSampleModel) raster.getSampleModel(); + + int[] offs = csm.getBandOffsets(); + int[] nBits = ccm.getComponentSize(); + boolean is8bit = true; + + for (int i = 0; i < numBands; i++) { + if (nBits[i] != 8) { + is8bit = false; + break; + } + } + + if (is8bit && csm.getPixelStride() == numBands && + offs[0] == numBands - 1 && offs[1] == numBands - 2 && offs[2] == numBands - 3) { + if (numBands == 3 && !ccm.hasAlpha()) { + return BufferedImage.TYPE_3BYTE_BGR; + } + else if (offs[3] == 0 && ccm.hasAlpha()) { + return isAlphaPre ? BufferedImage.TYPE_4BYTE_ABGR_PRE : BufferedImage.TYPE_4BYTE_ABGR; + } + } + } + + return BufferedImage.TYPE_CUSTOM; + } + private static RasterFactory createRasterFactory() { try { // Try to instantiate, will throw LinkageError if it fails diff --git a/sandbox/sandbox-common/src/test/java/com/twelvemonkeys/image/MappedImageFactoryTest.java b/sandbox/sandbox-common/src/test/java/com/twelvemonkeys/image/MappedImageFactoryTest.java new file mode 100644 index 00000000..59b7ad5e --- /dev/null +++ b/sandbox/sandbox-common/src/test/java/com/twelvemonkeys/image/MappedImageFactoryTest.java @@ -0,0 +1,26 @@ +package com.twelvemonkeys.image; + +import org.junit.Test; + +import java.awt.image.BufferedImage; + +import static com.twelvemonkeys.image.MappedImageFactory.createCompatibleMappedImage; +import static com.twelvemonkeys.image.MappedImageFactory.getCompatibleBufferedImageType; +import static org.junit.Assert.assertEquals; + +public class MappedImageFactoryTest { + + @Test + public void testGetCompatibleBufferedImageTypeFromBufferedImage() throws Exception { + for (int type = BufferedImage.TYPE_INT_RGB; type <= BufferedImage.TYPE_BYTE_INDEXED; type++) { // 1 - 13 + assertEquals(type, getCompatibleBufferedImageType(new BufferedImage(1, 1, type))); + } + } + + @Test + public void testGetCompatibleBufferedImageType() throws Exception { + for (int type = BufferedImage.TYPE_INT_RGB; type <= BufferedImage.TYPE_BYTE_INDEXED; type++) { // 1 - 13 + assertEquals(type, getCompatibleBufferedImageType(createCompatibleMappedImage(1, 1, type))); + } + } +} \ No newline at end of file From dfb7ad0fe233502a1e34730bee70ebf48ef8391d Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 30 Mar 2015 11:03:23 +0200 Subject: [PATCH 37/39] TMI-26: TIFF writer support with (slow) LZW encoder. --- .../imageio/plugins/tiff/LZWDecoder.java | 44 +++- .../imageio/plugins/tiff/LZWEncoder.java | 225 ++++++++++++++++++ .../imageio/plugins/tiff/TIFFImageWriter.java | 19 +- .../imageio/plugins/tiff/LZWDecoderTest.java | 35 ++- .../imageio/plugins/tiff/LZWEncoderTest.java | 195 +++++++++++++++ 5 files changed, 503 insertions(+), 15 deletions(-) create mode 100644 imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoder.java create mode 100644 imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoderTest.java diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java index d444b799..87c328c3 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoder.java @@ -108,6 +108,10 @@ abstract class LZWDecoder implements Decoder { break; } + if (table[code] == null) { + throw new DecodeException(String.format("Corrupted TIFF LZW: code %d (table size: %d)", code, tableLength)); + } + table[code].writeTo(buffer); } else { @@ -184,8 +188,9 @@ abstract class LZWDecoder implements Decoder { } } - public static LZWDecoder create(boolean oldBitReversedStream) { + public static Decoder create(boolean oldBitReversedStream) { return oldBitReversedStream ? new LZWCompatibilityDecoder() : new LZWSpecDecoder(); +// return oldBitReversedStream ? new LZWCompatibilityDecoder() : new LZWTreeDecoder(); } static final class LZWSpecDecoder extends LZWDecoder { @@ -282,7 +287,9 @@ abstract class LZWDecoder implements Decoder { } } - static final class LZWString { + static final class LZWString implements Comparable { + static final LZWString EMPTY = new LZWString((byte) 0, (byte) 0, 0, null); + final LZWString previous; final int length; @@ -301,6 +308,10 @@ abstract class LZWDecoder implements Decoder { } public final LZWString concatenate(final byte value) { + if (this == EMPTY) { + return new LZWString(value); + } + return new LZWString(value, this.firstChar, length + 1, this); } @@ -364,6 +375,35 @@ abstract class LZWDecoder implements Decoder { result = 31 * result + (int) firstChar; return result; } + + @Override + public int compareTo(final LZWString other) { + if (other == this) { + return 0; + } + + if (length != other.length) { + return other.length - length; + } + + if (firstChar != other.firstChar) { + return other.firstChar - firstChar; + } + + LZWString t = this; + LZWString o = other; + + for (int i = length - 1; i > 0; i--) { + if (t.value != o.value) { + return o.value - t.value; + } + + t = t.previous; + o = o.previous; + } + + return 0; + } } } diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoder.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoder.java new file mode 100644 index 00000000..ee3cdf17 --- /dev/null +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoder.java @@ -0,0 +1,225 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.io.enc.Encoder; + +import java.io.IOException; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.util.Map; +import java.util.TreeMap; + +import static com.twelvemonkeys.imageio.plugins.tiff.LZWDecoder.LZWString; + +/** + * LZWEncoder + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: LZWEncoder.java,v 1.0 02.12.13 14:13 haraldk Exp$ + */ +final class LZWEncoder implements Encoder { + // TODO: Consider extracting LZWStringTable from LZWDecoder + + /** Clear: Re-initialize tables. */ + static final int CLEAR_CODE = 256; + /** End of Information. */ + static final int EOI_CODE = 257; + + private static final int MIN_BITS = 9; + private static final int MAX_BITS = 12; + + private static final int TABLE_SIZE = 1 << MAX_BITS; + + private int remaining; + + private final LZWString[] table = new LZWString[TABLE_SIZE]; +// private final Map reverseTable = new HashMap<>(TABLE_SIZE - 256); // This is foobar + private final Map reverseTable = new TreeMap<>(); // This is foobar + private int tableLength; + LZWString omega = LZWString.EMPTY; + + int bitsPerCode; + private int oldCode = CLEAR_CODE; + private int maxCode; + int bitMask; + + int bits; + int bitPos; + + protected LZWEncoder(final int length) { + this.remaining = length; + + // First 258 entries of table is always fixed + for (int i = 0; i < 256; i++) { + table[i] = new LZWString((byte) i); + } + + init(); + } + + private static int bitmaskFor(final int bits) { + return (1 << bits) - 1; + } + + private void init() { + tableLength = 258; + bitsPerCode = MIN_BITS; + bitMask = bitmaskFor(bitsPerCode); + maxCode = maxCode(); +// omega = LZWString.EMPTY; + reverseTable.clear(); + } + + protected int maxCode() { + return bitMask; + } + + public void encode(final OutputStream stream, final ByteBuffer buffer) throws IOException { +// InitializeStringTable(); +// WriteCode(ClearCode); +// Ω = the empty string; +// for each character in the strip { +// K = GetNextCharacter(); +// if Ω+K is in the string table { +// Ω = Ω+K;/* string concatenation */ +// } +// else{ +// WriteCode (CodeFromString( Ω)); +// AddTableEntry(Ω+K); +// Ω=K; +// } }/*end of for loop*/ +// WriteCode (CodeFromString(Ω)); +// WriteCode (EndOfInformation); + + if (remaining < 0) { + throw new IOException("Write past end of stream"); + } + + // TODO: Write 9 bit clear code ONLY first time! + if (oldCode == CLEAR_CODE) { + writeCode(stream, CLEAR_CODE); + } + + int len = buffer.remaining(); + + while (buffer.hasRemaining()) { + byte k = buffer.get(); + + LZWString string = omega.concatenate(k); + + int tableIndex = isInTable(string); + if (tableIndex >= 0) { + omega = string; + oldCode = tableIndex; + } + else { + writeCode(stream, oldCode); + addStringToTable(string); + oldCode = k & 0xff; + omega = table[k & 0xff]; + + // Handle table (almost) full + if (tableLength >= TABLE_SIZE - 2) { + writeCode(stream, CLEAR_CODE); + init(); + } + } + } + + remaining -= len; + + // Write EOI when er are done (the API isn't very supportive of this) + if (remaining <= 0) { + writeCode(stream, oldCode); + writeCode(stream, EOI_CODE); + if (bitPos > 0) { + writeCode(stream, 0); + } + } + } + + private int isInTable(final LZWString string) { + if (string.length == 1) { + return string.value & 0xff; + } + + Integer index = reverseTable.get(string); + return index != null ? index : -1; + + // TODO: Needs optimization :-) +// for (int i = 258; i < tableLength; i++) { +// if (table[i].equals(string)) { +// return i; +// } +// } + +// return -1; + } + + private int addStringToTable(final LZWString string) { +// System.err.println("LZWEncoder.addStringToTable: " + string); + final int index = tableLength++; + table[index] = string; + reverseTable.put(string, index); + + if (tableLength > maxCode) { + bitsPerCode++; + + if (bitsPerCode > MAX_BITS) { + throw new IllegalStateException(String.format("TIFF LZW with more than %d bits per code encountered (table overflow)", MAX_BITS)); + } + + bitMask = bitmaskFor(bitsPerCode); + maxCode = maxCode(); + } + +// if (string.length > maxString) { +// maxString = string.length; +// } + + return index; + } + + private void writeCode(final OutputStream stream, final int code) throws IOException { +// System.err.printf("LZWEncoder.writeCode: 0x%04x\n", code); + bits = (bits << bitsPerCode) | (code & bitMask); + bitPos += bitsPerCode; + + while (bitPos >= 8) { + int b = (bits >> (bitPos - 8)) & 0xff; +// System.err.printf("write: 0x%02x\n", b); + stream.write(b); + bitPos -= 8; + } + + bits &= bitmaskFor(bitPos); + } +} diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java index 9697c157..93eac986 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java @@ -46,6 +46,7 @@ import javax.imageio.stream.ImageInputStream; import javax.imageio.stream.ImageOutputStream; import java.awt.*; import java.awt.color.ColorSpace; +import java.awt.color.ICC_ColorSpace; import java.awt.image.*; import java.io.*; import java.nio.ByteBuffer; @@ -177,6 +178,12 @@ public final class TIFFImageWriter extends ImageWriterBase { } else { entries.add(new TIFFEntry(TIFF.TAG_SAMPLES_PER_PIXEL, numComponents)); + + // TODO: What is the default TIFF color space? + ColorSpace colorSpace = colorModel.getColorSpace(); + if (colorSpace instanceof ICC_ColorSpace) { + entries.add(new TIFFEntry(TIFF.TAG_ICC_PROFILE, ((ICC_ColorSpace) colorSpace).getProfile().getData())); + } } if (sampleModel.getDataType() == DataBuffer.TYPE_SHORT /* TODO: if (isSigned(sampleModel.getDataType) or getSampleFormat(sampleModel) != 0 */) { @@ -340,11 +347,11 @@ public final class TIFFImageWriter extends ImageWriterBase { return new DataOutputStream(stream); case TIFFExtension.COMPRESSION_LZW: -// stream = IIOUtil.createStreamAdapter(imageOutput); -// stream = new EncoderStream(stream, new LZWEncoder((image.getTileWidth() * image.getTileHeight() * image.getTile(0, 0).getNumBands() * image.getColorModel().getComponentSize(0) + 7) / 8)); -// stream = new HorizontalDifferencingStream(stream, image.getTileWidth(), image.getTile(0, 0).getNumBands(), image.getColorModel().getComponentSize(0), imageOutput.getByteOrder()); -// -// return new DataOutputStream(stream); + stream = IIOUtil.createStreamAdapter(imageOutput); + stream = new EncoderStream(stream, new LZWEncoder((image.getTileWidth() * image.getTileHeight() * image.getTile(0, 0).getNumBands() * image.getColorModel().getComponentSize(0) + 7) / 8)); + stream = new HorizontalDifferencingStream(stream, image.getTileWidth(), image.getTile(0, 0).getNumBands(), image.getColorModel().getComponentSize(0), imageOutput.getByteOrder()); + + return new DataOutputStream(stream); } throw new IllegalArgumentException(String.format("Unsupported TIFF compression: %d", compression)); @@ -459,6 +466,7 @@ public final class TIFFImageWriter extends ImageWriterBase { } flushBuffer(buffer, stream); + if (stream instanceof DataOutputStream) { DataOutputStream dataOutputStream = (DataOutputStream) stream; dataOutputStream.flush(); @@ -484,6 +492,7 @@ public final class TIFFImageWriter extends ImageWriterBase { } flushBuffer(buffer, stream); + if (stream instanceof DataOutputStream) { DataOutputStream dataOutputStream = (DataOutputStream) stream; dataOutputStream.flush(); diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoderTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoderTest.java index f826ec82..4cb9538a 100644 --- a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoderTest.java +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWDecoderTest.java @@ -26,15 +26,18 @@ package com.twelvemonkeys.imageio.plugins.tiff;/* * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import com.twelvemonkeys.io.FileUtil; import com.twelvemonkeys.io.enc.Decoder; import com.twelvemonkeys.io.enc.DecoderAbstractTestCase; import com.twelvemonkeys.io.enc.DecoderStream; import com.twelvemonkeys.io.enc.Encoder; +import org.junit.Ignore; import org.junit.Test; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; +import java.nio.ByteBuffer; import static org.junit.Assert.*; @@ -47,6 +50,8 @@ import static org.junit.Assert.*; */ public class LZWDecoderTest extends DecoderAbstractTestCase { + public static final int SPEED_TEST_ITERATIONS = 1024; + @Test public void testIsOldBitReversedStreamTrue() throws IOException { assertTrue(LZWDecoder.isOldBitReversedStream(getClass().getResourceAsStream("/lzw/lzw-short.bin"))); @@ -78,13 +83,6 @@ public class LZWDecoderTest extends DecoderAbstractTestCase { int data; try { -// long toSkip = 3800; -// while ((toSkip -= expected.skip(toSkip)) > 0) { -// } -// toSkip = 3800; -// while ((toSkip -= actual.skip(toSkip)) > 0) { -// } - while ((data = actual.read()) != -1) { count++; @@ -106,7 +104,28 @@ public class LZWDecoderTest extends DecoderAbstractTestCase { @Override public Encoder createCompatibleEncoder() { - // Don't have an encoder yet + // TODO: Need to know length of data to compress in advance... return null; } + + @Ignore + @Test(timeout = 3000) + public void testSpeed() throws IOException { + byte[] bytes = FileUtil.read(getClass().getResourceAsStream("/lzw/lzw-long.bin")); + + + for (int i = 0; i < SPEED_TEST_ITERATIONS; i++) { + ByteBuffer buffer = ByteBuffer.allocate(1024); + ByteArrayInputStream input = new ByteArrayInputStream(bytes); + LZWDecoder decoder = new LZWDecoder.LZWSpecDecoder(); + + int read, total = 0; + while((read = decoder.decode(input, buffer)) > 0) { + buffer.clear(); + total += read; + } + + assertEquals(49152, total); + } + } } diff --git a/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoderTest.java b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoderTest.java new file mode 100644 index 00000000..ced15e6d --- /dev/null +++ b/imageio/imageio-tiff/src/test/java/com/twelvemonkeys/imageio/plugins/tiff/LZWEncoderTest.java @@ -0,0 +1,195 @@ +/* + * Copyright (c) 2014, Harald Kuhr + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name "TwelveMonkeys" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.io.FastByteArrayOutputStream; +import com.twelvemonkeys.io.enc.Decoder; +import org.junit.Ignore; +import org.junit.Test; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.nio.ByteBuffer; +import java.util.Random; + +import static org.junit.Assert.assertEquals; + +/** + * LZWEncoderTest + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: LZWEncoderTest.java,v 1.0 06.12.13 13:48 haraldk Exp$ + */ +public class LZWEncoderTest { + + static final int SPEED_TEST_RUNS = 1024; + static final int LENGTH = 1024; + static final int ITERATIONS = 4; + + private final Random random = new Random(2451348571893475l); + + @Test + public void testExample() throws IOException { + byte[] bytes = new byte[] {7, 7, 7, 8, 8, 7, 7, 6, 6}; + LZWEncoder encoder = new LZWEncoder(bytes.length); + + OutputStream stream = new FastByteArrayOutputStream(10); + encoder.encode(stream, ByteBuffer.wrap(bytes)); + } + + @Test + public void testExampleEncodeDecode() throws IOException { + byte[] bytes = new byte[] {7, 7, 7, 8, 8, 7, 7, 6, 6}; + LZWEncoder encoder = new LZWEncoder(bytes.length); + + FastByteArrayOutputStream stream = new FastByteArrayOutputStream(10); + encoder.encode(stream, ByteBuffer.wrap(bytes)); + + ByteArrayInputStream inputStream = stream.createInputStream(); + Decoder decoder = LZWDecoder.create(false); + ByteBuffer buffer = ByteBuffer.allocate(bytes.length); + int index = 0; + + while (decoder.decode(inputStream, buffer) > 0) { + buffer.flip(); + + while (buffer.hasRemaining()) { + assertEquals(String.format("Diff at index %s", index), bytes[index], buffer.get()); + index++; + } + + buffer.clear(); + } + + assertEquals(9, index); + assertEquals(-1, inputStream.read()); + } + + @Test + public void testEncodeDecode() throws IOException { + byte[] bytes = new byte[LENGTH]; + LZWEncoder encoder = new LZWEncoder(bytes.length); + + for (int i = 0; i < bytes.length; i++) { + bytes[i] = (byte) i; + } + + FastByteArrayOutputStream stream = new FastByteArrayOutputStream((LENGTH * 3) / 4); + + for (int i = 0; i < ITERATIONS; i++) { + encoder.encode(stream, ByteBuffer.wrap(bytes, i * LENGTH / ITERATIONS, LENGTH / ITERATIONS)); + } + + ByteArrayInputStream inputStream = stream.createInputStream(); + LZWDecoder decoder = new LZWDecoder.LZWSpecDecoder(); // Strict mode + ByteBuffer buffer = ByteBuffer.allocate(LENGTH / ITERATIONS); + + int index = 0; + + for (int i = 0; i < ITERATIONS; i++) { + while (decoder.decode(inputStream, buffer) > 0) { + buffer.flip(); + + while (buffer.hasRemaining()) { + byte expected = bytes[index]; + byte actual = buffer.get(); + assertEquals(String.format("Diff at index %s: 0x%02x != 0x%02x", index, expected, actual), expected, actual); + index++; + } + + buffer.clear(); + } + } + + assertEquals(LENGTH, index); + assertEquals(-1, inputStream.read()); + } + + @Test + public void testEncodeDecodeRandom() throws IOException { + byte[] bytes = new byte[LENGTH]; + LZWEncoder encoder = new LZWEncoder(bytes.length); + + random.nextBytes(bytes); + + FastByteArrayOutputStream stream = new FastByteArrayOutputStream((LENGTH * 3) / 4); + + for (int i = 0; i < ITERATIONS; i++) { + encoder.encode(stream, ByteBuffer.wrap(bytes, i * LENGTH / ITERATIONS, LENGTH / ITERATIONS)); + } + + ByteArrayInputStream inputStream = stream.createInputStream(); + LZWDecoder decoder = new LZWDecoder.LZWSpecDecoder(); // Strict mode + ByteBuffer buffer = ByteBuffer.allocate(LENGTH / ITERATIONS); + + int index = 0; + + for (int i = 0; i < ITERATIONS; i++) { + while (decoder.decode(inputStream, buffer) > 0) { + buffer.flip(); + + while (buffer.hasRemaining()) { + byte expected = bytes[index]; + byte actual = buffer.get(); + assertEquals(String.format("Diff at index %s: 0x%02x != 0x%02x", index, expected, actual), expected, actual); +// System.err.println(String.format("Equal at index %s: 0x%02x (%d)", index, expected & 0xff, expected)); + index++; + } + + buffer.clear(); + } + } + + assertEquals(LENGTH, index); + assertEquals(-1, inputStream.read()); + } + + @Ignore + @Test(timeout = 10000) + public void testSpeed() throws IOException { + for (int run = 0; run < SPEED_TEST_RUNS; run++) { + byte[] bytes = new byte[LENGTH]; + LZWEncoder encoder = new LZWEncoder(bytes.length); + + for (int i = 0; i < bytes.length; i++) { + bytes[i] = (byte) i; + } + + FastByteArrayOutputStream stream = new FastByteArrayOutputStream((LENGTH * 3) / 4); + + for (int i = 0; i < ITERATIONS; i++) { + encoder.encode(stream, ByteBuffer.wrap(bytes, i * LENGTH / ITERATIONS, LENGTH / ITERATIONS)); + } + + assertEquals(719, stream.size()); + } + } +} From b0e667e6830c0d0cfcfd3559e8dc8d6aa9c59065 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 30 Mar 2015 11:07:35 +0200 Subject: [PATCH 38/39] Use source/target 1.7 for cleaner code. --- pom.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 55f4be05..db1f544c 100755 --- a/pom.xml +++ b/pom.xml @@ -130,8 +130,8 @@ 2.3.2 true - 1.5 - 1.5 + 1.7 + 1.7 false -g:lines @@ -160,8 +160,8 @@ true 2.2 - 1.5 - 1.5 + 1.7 + 1.7 true @@ -206,7 +206,7 @@ maven-pmd-plugin 3.0.1 - 1.5 + 1.7 From 47a18c63d7dd5140774cf47d24797ec67c586712 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 30 Mar 2015 14:21:36 +0200 Subject: [PATCH 39/39] TMI-26: TIFF writer support with JPEG encoder --- .../imageio/stream/SubImageOutputStream.java | 55 +++++++++++++++++++ .../plugins/tiff/TIFFImageWriteParam.java | 28 +++++++--- .../imageio/plugins/tiff/TIFFImageWriter.java | 40 +++++++++++--- 3 files changed, 107 insertions(+), 16 deletions(-) create mode 100644 imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/SubImageOutputStream.java diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/SubImageOutputStream.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/SubImageOutputStream.java new file mode 100644 index 00000000..372e5758 --- /dev/null +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/stream/SubImageOutputStream.java @@ -0,0 +1,55 @@ +package com.twelvemonkeys.imageio.stream; + +import javax.imageio.stream.ImageOutputStream; +import javax.imageio.stream.ImageOutputStreamImpl; +import java.io.IOException; + +/** + * SubImageOutputStream. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: SubImageOutputStream.java,v 1.0 30/03/15 harald.kuhr Exp$ + */ +public class SubImageOutputStream extends ImageOutputStreamImpl { + private final ImageOutputStream stream; + + public SubImageOutputStream(final ImageOutputStream stream) { + this.stream = stream; + } + + @Override + public void write(int b) throws IOException { + stream.write(b); + } + + @Override + public void write(byte[] b, int off, int len) throws IOException { + stream.write(b, off, len); + } + + @Override + public int read() throws IOException { + return stream.read(); + } + + @Override + public int read(byte[] b, int off, int len) throws IOException { + return stream.read(b, off, len); + } + + @Override + public boolean isCached() { + return stream.isCached(); + } + + @Override + public boolean isCachedMemory() { + return stream.isCachedMemory(); + } + + @Override + public boolean isCachedFile() { + return stream.isCachedFile(); + } +} diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java index 69eba0c1..637ea6f3 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriteParam.java @@ -39,16 +39,20 @@ import java.util.Locale; * @version $Id: TIFFImageWriteParam.java,v 1.0 18.09.13 12:47 haraldk Exp$ */ public final class TIFFImageWriteParam extends ImageWriteParam { - // TODO: Support no compression (None/1) - // TODO: Support ZLIB (/Deflate) compression (8) - // TODO: Support PackBits compression (32773) - // TODO: Support JPEG compression (7) - // TODO: Support CCITT Modified Huffman compression (2) - // TODO: Support LZW compression (5)? + // TODO: Support CCITT Modified Huffman compression (2) BASELINE!! + // TODO: Support CCITT T.4 (3) + // TODO: Support CCITT T.6 (4) // TODO: Support JBIG compression via ImageIO plugin/delegate? // TODO: Support JPEG2000 compression via ImageIO plugin/delegate? // TODO: Support tiling - // TODO: Support predictor. See TIFF 6.0 Specification, Section 14: "Differencing Predictor", page 64. + // TODO: Support OPTIONAL predictor. See TIFF 6.0 Specification, Section 14: "Differencing Predictor", page 64. + + // DONE: + // Support no compression (None/1) + // Support ZLIB (/Deflate) compression (8) + // Support PackBits compression (32773) + // Support LZW compression (5)? + // Support JPEG compression (7) TIFFImageWriteParam() { this(Locale.getDefault()); @@ -59,7 +63,12 @@ public final class TIFFImageWriteParam extends ImageWriteParam { // NOTE: We use the same spelling/casing as the JAI equivalent to be as compatible as possible // See: http://download.java.net/media/jai-imageio/javadoc/1.1/com/sun/media/imageio/plugins/tiff/TIFFImageWriteParam.html - compressionTypes = new String[] {"None", /* "CCITT RLE", "CCITT T.4", "CCITT T.6", */ "LZW", "JPEG", "ZLib", "PackBits", "Deflate", /* "EXIF JPEG" */ }; + compressionTypes = new String[] { + "None", + null, null, null,/* "CCITT RLE", "CCITT T.4", "CCITT T.6", */ + "LZW", "JPEG", "ZLib", "PackBits", "Deflate", + null/* "EXIF JPEG" */ // A well-defined form of "Old-style JPEG", no tables/process, only 513 (offset) and 514 (length) + }; compressionType = compressionTypes[0]; canWriteCompressed = true; } @@ -102,6 +111,9 @@ public final class TIFFImageWriteParam extends ImageWriteParam { else if (param.getCompressionType().equals("JPEG")) { return TIFFExtension.COMPRESSION_JPEG; } +// else if (param.getCompressionType().equals("EXIF JPEG")) { +// return TIFFExtension.COMPRESSION_OLD_JPEG; +// } throw new IllegalArgumentException(String.format("Unsupported compression type: %s", param.getCompressionType())); } diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java index 93eac986..9f672cfb 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriter.java @@ -35,6 +35,7 @@ import com.twelvemonkeys.imageio.metadata.Entry; import com.twelvemonkeys.imageio.metadata.exif.EXIFWriter; import com.twelvemonkeys.imageio.metadata.exif.Rational; import com.twelvemonkeys.imageio.metadata.exif.TIFF; +import com.twelvemonkeys.imageio.stream.SubImageOutputStream; import com.twelvemonkeys.imageio.util.IIOUtil; import com.twelvemonkeys.io.enc.EncoderStream; import com.twelvemonkeys.io.enc.PackBitsEncoder; @@ -157,10 +158,11 @@ public final class TIFFImageWriter extends ImageWriterBase { entries.add(new TIFFEntry(TIFF.TAG_EXTRA_SAMPLES, TIFFBaseline.EXTRASAMPLE_UNSPECIFIED)); } } + // Write compression field from param or metadata int compression = TIFFImageWriteParam.getCompressionType(param); entries.add(new TIFFEntry(TIFF.TAG_COMPRESSION, compression)); - // TODO: Let param control + // TODO: Let param control predictor switch (compression) { case TIFFExtension.COMPRESSION_ZLIB: case TIFFExtension.COMPRESSION_DEFLATE: @@ -169,7 +171,9 @@ public final class TIFFImageWriter extends ImageWriterBase { default: } - int photometric = getPhotometricInterpretation(colorModel); + int photometric = compression == TIFFExtension.COMPRESSION_JPEG ? + TIFFExtension.PHOTOMETRIC_YCBCR : + getPhotometricInterpretation(colorModel); entries.add(new TIFFEntry(TIFF.TAG_PHOTOMETRIC_INTERPRETATION, photometric)); if (photometric == TIFFBaseline.PHOTOMETRIC_PALETTE && colorModel instanceof IndexColorModel) { @@ -179,9 +183,9 @@ public final class TIFFImageWriter extends ImageWriterBase { else { entries.add(new TIFFEntry(TIFF.TAG_SAMPLES_PER_PIXEL, numComponents)); - // TODO: What is the default TIFF color space? + // Note: Assuming sRGB to be the default RGB interpretation ColorSpace colorSpace = colorModel.getColorSpace(); - if (colorSpace instanceof ICC_ColorSpace) { + if (colorSpace instanceof ICC_ColorSpace && !colorSpace.isCS_sRGB()) { entries.add(new TIFFEntry(TIFF.TAG_ICC_PROFILE, ((ICC_ColorSpace) colorSpace).getProfile().getData())); } } @@ -228,8 +232,26 @@ public final class TIFFImageWriter extends ImageWriterBase { } // TODO: Create compressor stream per Tile/Strip - // Write image data - writeImageData(createCompressorStream(renderedImage, param), renderedImage, numComponents, bandOffsets, bitOffsets); + if (compression == TIFFExtension.COMPRESSION_JPEG) { + Iterator writers = ImageIO.getImageWritersByFormatName("JPEG"); + if (!writers.hasNext()) { + // This can only happen if someone deliberately uninstalled it + throw new IIOException("No JPEG ImageWriter found!"); + } + + ImageWriter jpegWriter = writers.next(); + try { + jpegWriter.setOutput(new SubImageOutputStream(imageOutput)); + jpegWriter.write(renderedImage); + } + finally { + jpegWriter.dispose(); + } + } + else { + // Write image data + writeImageData(createCompressorStream(renderedImage, param), renderedImage, numComponents, bandOffsets, bitOffsets); + } // TODO: Update IFD0-pointer, and write IFD if (compression != TIFFBaseline.COMPRESSION_NONE) { @@ -304,7 +326,8 @@ public final class TIFFImageWriter extends ImageWriterBase { output.length: 12600399 */ - // TODO: Use predictor only by default for -PackBits,- LZW and ZLib/Deflate, unless explicitly disabled (ImageWriteParam) + // Use predictor by default for LZW and ZLib/Deflate + // TODO: Unless explicitly disabled in TIFFImageWriteParam int compression = TIFFImageWriteParam.getCompressionType(param); OutputStream stream; @@ -321,7 +344,7 @@ public final class TIFFImageWriter extends ImageWriterBase { case TIFFExtension.COMPRESSION_ZLIB: case TIFFExtension.COMPRESSION_DEFLATE: - int deflateSetting = Deflater.BEST_SPEED; // This is consistent with default compression quality being 1.0 and 0 meaning max compression.... + int deflateSetting = Deflater.BEST_SPEED; // This is consistent with default compression quality being 1.0 and 0 meaning max compression... if (param.getCompressionMode() == ImageWriteParam.MODE_EXPLICIT) { // TODO: Determine how to interpret compression quality... // Docs says: @@ -740,4 +763,5 @@ public final class TIFFImageWriter extends ImageWriterBase { TIFFImageReader.showIt(read, output.getName()); } + }

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 z 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 OrZMJ@i6862$^Y4HniT;6 literal 0 HcmV?d00001 From 26475eb0046b02fd7e14b1d80ad4275f9359e298 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Thu, 19 Mar 2015 23:38:14 +0100 Subject: [PATCH 28/39] TMI-40: Fixed subsampling offset bug (and removed the slow, stepwise reading + simplified the code, at the cost of higher memory consumption). --- .../imageio/plugins/jpeg/JPEGImageReader.java | 114 +++++------------- .../plugins/jpeg/JPEGImageReaderTest.java | 6 +- 2 files changed, 30 insertions(+), 90 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java index 22a8af7e..1c2a82c7 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReader.java @@ -447,75 +447,46 @@ public class JPEGImageReader extends ImageReaderBase { Rectangle dstRegion = new Rectangle(); computeRegions(param, origWidth, origHeight, image, srcRegion, dstRegion); - // We're ready to go - processImageStarted(imageIndex); + // Need to undo the subsampling offset translations, as they are applied again in delegate.readRaster + int gridX = param.getSubsamplingXOffset(); + int gridY = param.getSubsamplingYOffset(); + srcRegion.translate(-gridX, -gridY); + srcRegion.width += gridX; + srcRegion.height += gridY; - // Unfortunately looping is slower than reading all at once, but - // that requires 2 x memory or more, so a few steps is an ok compromise I guess + // Unfortunately, reading the image in steps, is increasingly slower + // for each iteration, so we'll read all at once. try { - final int step = Math.max(1024, srcRegion.height / 10); // TODO: Using a multiple of 8 is probably a good idea for JPEG - final int srcMaxY = srcRegion.y + srcRegion.height; - int destY = dstRegion.y; + param.setSourceRegion(srcRegion); + Raster raster = delegate.readRaster(imageIndex, param); // non-converted - for (int y = srcRegion.y; y < srcMaxY; y += step) { - int scan = Math.min(step, srcMaxY - y); + // Apply source color conversion from implicit color space + if (csType == JPEGColorSpace.YCbCr || csType == JPEGColorSpace.YCbCrA) { + YCbCrConverter.convertYCbCr2RGB(raster); + } + else if (csType == JPEGColorSpace.YCCK) { + YCbCrConverter.convertYCCK2CMYK(raster); + } + else if (csType == JPEGColorSpace.CMYK) { + invertCMYK(raster); + } + // ...else assume the raster is already converted - // Let the progress delegator handle progress, using corrected range - progressDelegator.updateProgressRange(100f * (y + scan) / srcRegion.height); + WritableRaster dest = destination.createWritableChild(dstRegion.x, dstRegion.y, raster.getWidth(), raster.getHeight(), 0, 0, param.getDestinationBands()); - // Make sure subsampling is within bounds - if (scan <= param.getSubsamplingYOffset()) { - param.setSourceSubsampling(param.getSourceXSubsampling(), param.getSourceYSubsampling(), param.getSubsamplingXOffset(), scan - 1); - } - - Rectangle subRegion = new Rectangle(srcRegion.x, y, srcRegion.width, scan); - param.setSourceRegion(subRegion); - Raster raster = delegate.readRaster(imageIndex, param); // non-converted - - // Apply source color conversion from implicit color space - if (csType == JPEGColorSpace.YCbCr || csType == JPEGColorSpace.YCbCrA) { - YCbCrConverter.convertYCbCr2RGB(raster); - } - else if (csType == JPEGColorSpace.YCCK) { - YCbCrConverter.convertYCCK2CMYK(raster); - } - else if (csType == JPEGColorSpace.CMYK) { - invertCMYK(raster); - } - // ...else assume the raster is already converted - - int destHeight = Math.min(raster.getHeight(), dstRegion.height - destY); // Avoid off-by-one - Raster src = raster.createChild(0, 0, raster.getWidth(), destHeight, 0, 0, param.getSourceBands()); - WritableRaster dest = destination.createWritableChild(dstRegion.x, destY, raster.getWidth(), destHeight, 0, 0, param.getDestinationBands()); - - // Apply further color conversion for explicit color space, or just copy the pixels into place - if (convert != null) { - convert.filter(src, dest); -// WritableRaster filtered = convert.filter(src, null); -// new AffineTransformOp(AffineTransform.getRotateInstance(2 * Math.PI, filtered.getWidth() / 2.0, filtered.getHeight() / 2.0), null).filter(filtered, dest); - } - else { - dest.setRect(0, 0, src); - } - - destY += raster.getHeight(); - - if (abortRequested()) { - processReadAborted(); - break; - } + // Apply further color conversion for explicit color space, or just copy the pixels into place + if (convert != null) { + convert.filter(raster, dest); + } + else { + dest.setRect(0, 0, raster); } } finally { - // Restore normal read progress processing - progressDelegator.resetProgressRange(); - // NOTE: Would be cleaner to clone the param, unfortunately it can't be done easily... param.setSourceRegion(origSourceRegion); } - processImageComplete(); - return image; } @@ -1232,54 +1203,25 @@ public class JPEGImageReader extends ImageReaderBase { } private class ProgressDelegator extends ProgressListenerBase implements IIOReadUpdateListener, IIOReadWarningListener { - float readProgressStart = -1; - float readProgressStop = -1; - - void resetProgressRange() { - readProgressStart = -1; - readProgressStop = -1; - } - - private boolean isProgressRangeCorrected() { - return readProgressStart == -1 && readProgressStop == -1; - } - - void updateProgressRange(float limit) { - Validate.isTrue(limit >= 0, limit, "Negative range limit"); - - readProgressStart = readProgressStop != -1 ? readProgressStop : 0; - readProgressStop = limit; - } @Override public void imageComplete(ImageReader source) { - if (isProgressRangeCorrected()) { processImageComplete(); - } } @Override public void imageProgress(ImageReader source, float percentageDone) { - if (isProgressRangeCorrected()) { processImageProgress(percentageDone); - } - else { - processImageProgress(readProgressStart + (percentageDone * (readProgressStop - readProgressStart) / 100f)); - } } @Override public void imageStarted(ImageReader source, int imageIndex) { - if (isProgressRangeCorrected()) { processImageStarted(imageIndex); - } } @Override public void readAborted(ImageReader source) { - if (isProgressRangeCorrected()) { processReadAborted(); - } } @Override diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 2679ad2f..80c7d33e 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -163,7 +163,7 @@ public class JPEGImageReaderTest extends ImageReaderAbstractTestCase Date: Fri, 20 Mar 2015 15:35:26 +0100 Subject: [PATCH 29/39] New SPI info. --- .../plugins/bmp/BMPImageReaderSpi.java | 28 +--- .../imageio/plugins/bmp/BMPProviderInfo.java | 31 ++++ .../plugins/bmp/CURImageReaderSpi.java | 29 +--- .../imageio/plugins/bmp/CURProviderInfo.java | 30 ++++ .../plugins/bmp/ICOImageReaderSpi.java | 29 +--- .../imageio/plugins/bmp/ICOProviderInfo.java | 30 ++++ .../imageio/spi/ImageReaderSpiBase.java | 27 +++ .../imageio/spi/ImageWriterSpiBase.java | 27 +++ .../imageio/spi/ReaderWriterProviderInfo.java | 157 ++++++++++++++++++ .../plugins/icns/ICNSImageReaderSpi.java | 27 +-- .../plugins/icns/ICNSProviderInfo.java | 28 ++++ .../imageio/plugins/iff/IFFImageReader.java | 2 +- .../plugins/iff/IFFImageReaderSpi.java | 38 +---- .../plugins/iff/IFFImageWriterSpi.java | 23 +-- .../imageio/plugins/iff/IFFProviderInfo.java | 27 +++ .../imageio/plugins/dcx/DCXProviderInfo.java | 33 ++++ .../plugins/pcx/PCXImageReaderSpi.java | 34 +--- .../imageio/plugins/pcx/PCXProviderInfo.java | 33 ++++ .../plugins/pict/PICTImageReaderSpi.java | 23 +-- .../plugins/pict/PICTImageWriterSpi.java | 24 +-- .../plugins/pict/PICTProviderInfo.java | 27 +++ .../plugins/pnm/PAMImageWriterSpi.java | 12 +- .../plugins/pnm/PNMImageReaderSpi.java | 24 +-- .../plugins/pnm/PNMImageWriterSpi.java | 13 +- .../imageio/plugins/pnm/PNMProviderInfo.java | 19 +++ .../plugins/psd/PSDImageReaderSpi.java | 34 +--- .../imageio/plugins/psd/PSDProviderInfo.java | 33 ++++ .../plugins/sgi/SGIImageReaderSpi.java | 34 +--- .../imageio/plugins/sgi/SGIProviderInfo.java | 34 ++++ .../plugins/tga/TGAImageReaderSpi.java | 34 +--- .../imageio/plugins/tga/TGAProviderInfo.java | 34 ++++ .../thumbsdb/ThumbsDBImageReaderSpi.java | 24 +-- .../thumbsdb/ThumbsDBProviderInfo.java | 27 +++ .../plugins/tiff/TIFFImageReaderSpi.java | 28 +--- .../plugins/tiff/TIFFImageWriterSpi.java | 33 +--- .../plugins/tiff/TIFFProviderInfo.java | 29 ++++ 36 files changed, 702 insertions(+), 417 deletions(-) create mode 100644 imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPProviderInfo.java create mode 100644 imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURProviderInfo.java create mode 100644 imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOProviderInfo.java create mode 100644 imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageReaderSpiBase.java create mode 100644 imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageWriterSpiBase.java create mode 100644 imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java create mode 100644 imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java create mode 100644 imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFProviderInfo.java create mode 100644 imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/dcx/DCXProviderInfo.java create mode 100644 imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXProviderInfo.java create mode 100644 imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTProviderInfo.java create mode 100644 imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMProviderInfo.java create mode 100644 imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDProviderInfo.java create mode 100644 imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIProviderInfo.java create mode 100644 imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAProviderInfo.java create mode 100644 imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java create mode 100644 imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java diff --git a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderSpi.java b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderSpi.java index 9d7f4817..5645fd1d 100755 --- a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderSpi.java +++ b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPImageReaderSpi.java @@ -28,8 +28,7 @@ package com.twelvemonkeys.imageio.plugins.bmp; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; import javax.imageio.spi.ImageReaderSpi; @@ -47,30 +46,9 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: BMPImageReaderSpi.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ */ -public final class BMPImageReaderSpi extends ImageReaderSpi { +public final class BMPImageReaderSpi extends ImageReaderSpiBase { public BMPImageReaderSpi() { - this(IIOUtil.getProviderInfo(BMPImageReaderSpi.class)); - } - - private BMPImageReaderSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"bmp", "BMP"}, - new String[]{"bmp", "rle"}, - new String[]{ - "image/bmp", - "image/x-bmp" -// "image/vnd.microsoft.bitmap", // TODO: Official IANA MIME - }, - "com.twelvemonkeys.imageio.plugins.bmp.BMPImageReader", - new Class[]{ImageInputStream.class}, - new String[]{"com.sun.imageio.plugins.bmp.BMPImageWriterSpi"}, // We support the same native metadata format - false, null, null, null, null, - true, - BMPMetadata.nativeMetadataFormatName, "com.sun.imageio.plugins.bmp.BMPMetadataFormat", - null, null - ); + super(new BMPProviderInfo()); } static ImageReaderSpi lookupDefaultProvider(final ServiceRegistry registry) { diff --git a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPProviderInfo.java b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPProviderInfo.java new file mode 100644 index 00000000..9afcf685 --- /dev/null +++ b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/BMPProviderInfo.java @@ -0,0 +1,31 @@ +package com.twelvemonkeys.imageio.plugins.bmp; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * BMPProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: BMPProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class BMPProviderInfo extends ReaderWriterProviderInfo { + protected BMPProviderInfo() { + super( + BMPProviderInfo.class, + new String[] {"bmp", "BMP"}, + new String[] {"bmp", "rle"}, + new String[] { + "image/bmp", + "image/x-bmp" +// "image/vnd.microsoft.bitmap", // TODO: Official IANA MIME + }, + "com.twelvemonkeys.imageio.plugins.bmp.BMPImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.bmp.BMPImageReaderSpi"}, + "com.sun.imageio.plugins.bmp.BMPImageWriter", + new String[]{"com.sun.imageio.plugins.bmp.BMPImageWriterSpi"}, // We support the same native metadata format + false, null, null, null, null, + true, BMPMetadata.nativeMetadataFormatName, "com.sun.imageio.plugins.bmp.BMPMetadataFormat", null, null + ); + } +} diff --git a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURImageReaderSpi.java b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURImageReaderSpi.java index ea5b89f0..10e9fc81 100755 --- a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURImageReaderSpi.java +++ b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURImageReaderSpi.java @@ -28,11 +28,9 @@ package com.twelvemonkeys.imageio.plugins.bmp; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Locale; @@ -43,31 +41,10 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: CURImageReaderSpi.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ */ -public final class CURImageReaderSpi extends ImageReaderSpi { +public final class CURImageReaderSpi extends ImageReaderSpiBase { public CURImageReaderSpi() { - this(IIOUtil.getProviderInfo(CURImageReaderSpi.class)); - } - - private CURImageReaderSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"cur", "CUR"}, - new String[]{"cur"}, - new String[]{ - "image/vnd.microsoft.cursor", // Official IANA MIME - "image/x-cursor", // Common extension MIME - "image/cursor" // Unofficial, but common - }, - "com.twelvemonkeys.imageio.plugins.bmp.CURImageReader", - new Class[] {ImageInputStream.class}, - null, - true, null, null, null, null, - true, - null, null, - null, null - ); + super(new CURProviderInfo()); } public boolean canDecodeInput(final Object pSource) throws IOException { diff --git a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURProviderInfo.java b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURProviderInfo.java new file mode 100644 index 00000000..45831e58 --- /dev/null +++ b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/CURProviderInfo.java @@ -0,0 +1,30 @@ +package com.twelvemonkeys.imageio.plugins.bmp; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * CURProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: CURProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class CURProviderInfo extends ReaderWriterProviderInfo { + protected CURProviderInfo() { + super( + CURProviderInfo.class, + new String[]{"cur", "CUR"}, + new String[]{"cur"}, + new String[]{ + "image/vnd.microsoft.cursor", // Official IANA MIME + "image/x-cursor", // Common extension MIME + "image/cursor" // Unofficial, but common + }, + "com.twelvemonkeys.imageio.plugins.bmp.CURImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.bmp.CURImageReaderSpi"}, + null, null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOImageReaderSpi.java b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOImageReaderSpi.java index ed01ea59..3ef75af0 100755 --- a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOImageReaderSpi.java +++ b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOImageReaderSpi.java @@ -28,11 +28,9 @@ package com.twelvemonkeys.imageio.plugins.bmp; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Locale; @@ -43,31 +41,10 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: ICOImageReaderSpi.java,v 1.0 25.feb.2006 00:29:44 haku Exp$ */ -public final class ICOImageReaderSpi extends ImageReaderSpi { +public final class ICOImageReaderSpi extends ImageReaderSpiBase { public ICOImageReaderSpi() { - this(IIOUtil.getProviderInfo(ICOImageReaderSpi.class)); - } - - private ICOImageReaderSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"ico", "ICO"}, - new String[]{"ico"}, - new String[]{ - "image/vnd.microsoft.icon", // Official IANA MIME - "image/x-icon", // Common extension MIME - "image/ico" // Unofficial, but common - }, - "com.twelvemonkeys.imageio.plugins.bmp.ICOImageReader", - new Class[] {ImageInputStream.class}, - null, - true, null, null, null, null, - true, - null, null, - null, null - ); + super(new ICOProviderInfo()); } public boolean canDecodeInput(final Object pSource) throws IOException { diff --git a/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOProviderInfo.java b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOProviderInfo.java new file mode 100644 index 00000000..c6d8fd36 --- /dev/null +++ b/imageio/imageio-bmp/src/main/java/com/twelvemonkeys/imageio/plugins/bmp/ICOProviderInfo.java @@ -0,0 +1,30 @@ +package com.twelvemonkeys.imageio.plugins.bmp; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * CURProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: CURProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class ICOProviderInfo extends ReaderWriterProviderInfo { + protected ICOProviderInfo() { + super( + ICOProviderInfo.class, + new String[]{"ico", "ICO"}, + new String[]{"ico"}, + new String[]{ + "image/vnd.microsoft.icon", // Official IANA MIME + "image/x-icon", // Common extension MIME + "image/ico" // Unofficial, but common + }, + "com.twelvemonkeys.imageio.plugins.bmp.ICOImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.bmp.ICOImageReaderSpi"}, + null, null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageReaderSpiBase.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageReaderSpiBase.java new file mode 100644 index 00000000..1c521644 --- /dev/null +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageReaderSpiBase.java @@ -0,0 +1,27 @@ +package com.twelvemonkeys.imageio.spi; + +import javax.imageio.spi.ImageReaderSpi; + +/** + * ImageReaderSpiBase. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: ImageReaderSpiBase.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +public abstract class ImageReaderSpiBase extends ImageReaderSpi { + protected ImageReaderSpiBase(final ReaderWriterProviderInfo info) { + super( + info.getVendorName(), info.getVersion(), + info.formatNames(), info.suffixes(), info.mimeTypes(), + info.readerClassName(), info.inputTypes(), + info.writerSpiClassNames(), + info.supportsStandardStreamMetadataFormat(), + info.nativeStreamMetadataFormatName(), info.nativeStreamMetadataFormatClassName(), + info.extraStreamMetadataFormatNames(), info.extraStreamMetadataFormatClassNames(), + info.supportsStandardImageMetadataFormat(), + info.nativeImageMetadataFormatName(), info.nativeImageMetadataFormatClassName(), + info.extraImageMetadataFormatNames(), info.extraImageMetadataFormatClassNames() + ); + } +} diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageWriterSpiBase.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageWriterSpiBase.java new file mode 100644 index 00000000..3989f5e8 --- /dev/null +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ImageWriterSpiBase.java @@ -0,0 +1,27 @@ +package com.twelvemonkeys.imageio.spi; + +import javax.imageio.spi.ImageWriterSpi; + +/** + * ImageWriterSpiBase. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: ImageWriterSpiBase.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +public abstract class ImageWriterSpiBase extends ImageWriterSpi { + protected ImageWriterSpiBase(final ReaderWriterProviderInfo info) { + super( + info.getVendorName(), info.getVersion(), + info.formatNames(), info.suffixes(), info.mimeTypes(), + info.writerClassName(), info.outputTypes(), + info.readerSpiClassNames(), + info.supportsStandardStreamMetadataFormat(), + info.nativeStreamMetadataFormatName(), info.nativeStreamMetadataFormatClassName(), + info.extraStreamMetadataFormatNames(), info.extraStreamMetadataFormatClassNames(), + info.supportsStandardImageMetadataFormat(), + info.nativeImageMetadataFormatName(), info.nativeImageMetadataFormatClassName(), + info.extraImageMetadataFormatNames(), info.extraImageMetadataFormatClassNames() + ); + } +} diff --git a/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java new file mode 100644 index 00000000..3b30a3af --- /dev/null +++ b/imageio/imageio-core/src/main/java/com/twelvemonkeys/imageio/spi/ReaderWriterProviderInfo.java @@ -0,0 +1,157 @@ +package com.twelvemonkeys.imageio.spi; + +import javax.imageio.stream.ImageInputStream; +import javax.imageio.stream.ImageOutputStream; + +import static com.twelvemonkeys.lang.Validate.notNull; + +/** + * ReaderWriterProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: ReaderWriterProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +public abstract class ReaderWriterProviderInfo extends ProviderInfo { + + private final String[] formatNames; + private final String[] suffixes; + private final String[] mimeTypes; + private final String readerClassName; + private final String[] readerSpiClassNames; + private final Class[] inputTypes = new Class[] {ImageInputStream.class}; + private final String writerClassName; + private final String[] writerSpiClassNames; + private final Class[] outputTypes = new Class[] {ImageOutputStream.class}; + private final boolean supportsStandardStreamMetadata; + private final String nativeStreameMetadataFormatName; + private final String nativeStreamMetadataFormatClassName; + private final String[] extraStreamMetadataFormatNames; + private final String[] extraStreamMetadataFormatClassNames; + private final boolean supportsStandardImageMetadata; + private final String nativeImageMetadataFormatName; + private final String nativeImageMetadataFormatClassName; + private final String[] extraImageMetadataFormatNames; + private final String[] extraImageMetadataFormatClassNames; + + /** + * Creates a provider information instance based on the given class. + * + * @param infoClass the class to get provider information from. + * The provider info will be taken from the class' package. @throws IllegalArgumentException if {@code pPackage == null} + */ + protected ReaderWriterProviderInfo(final Class infoClass, + final String[] formatNames, + final String[] suffixes, + final String[] mimeTypes, + final String readerClassName, + final String[] readerSpiClassNames, + final String writerClassName, + final String[] writerSpiClassNames, + final boolean supportsStandardStreamMetadata, + final String nativeStreameMetadataFormatName, + final String nativeStreamMetadataFormatClassName, + final String[] extraStreamMetadataFormatNames, + final String[] extraStreamMetadataFormatClassNames, + final boolean supportsStandardImageMetadata, + final String nativeImageMetadataFormatName, + final String nativeImageMetadataFormatClassName, + final String[] extraImageMetadataFormatNames, + final String[] extraImageMetadataFormatClassNames) { + super(notNull(infoClass).getPackage()); + + this.formatNames = formatNames; + this.suffixes = suffixes; + this.mimeTypes = mimeTypes; + this.readerClassName = readerClassName; + this.readerSpiClassNames = readerSpiClassNames; + this.writerClassName = writerClassName; + this.writerSpiClassNames = writerSpiClassNames; + this.supportsStandardStreamMetadata = supportsStandardStreamMetadata; + this.nativeStreameMetadataFormatName = nativeStreameMetadataFormatName; + this.nativeStreamMetadataFormatClassName = nativeStreamMetadataFormatClassName; + this.extraStreamMetadataFormatNames = extraStreamMetadataFormatNames; + this.extraStreamMetadataFormatClassNames = extraStreamMetadataFormatClassNames; + this.supportsStandardImageMetadata = supportsStandardImageMetadata; + this.nativeImageMetadataFormatName = nativeImageMetadataFormatName; + this.nativeImageMetadataFormatClassName = nativeImageMetadataFormatClassName; + this.extraImageMetadataFormatNames = extraImageMetadataFormatNames; + this.extraImageMetadataFormatClassNames = extraImageMetadataFormatClassNames; + } + + public String[] formatNames() { + return formatNames; + } + + public String[] suffixes() { + return suffixes; + } + + public String[] mimeTypes() { + return mimeTypes; + } + + public String readerClassName() { + return readerClassName; + } + + public String[] readerSpiClassNames() { + return readerSpiClassNames; + } + + public Class[] inputTypes() { + return inputTypes; + } + + public String writerClassName() { + return writerClassName; + } + + public String[] writerSpiClassNames() { + return writerSpiClassNames; + } + + public Class[] outputTypes() { + return outputTypes; + } + + public boolean supportsStandardStreamMetadataFormat() { + return supportsStandardStreamMetadata; + } + + public String nativeStreamMetadataFormatName() { + return nativeStreameMetadataFormatName; + } + + public String nativeStreamMetadataFormatClassName() { + return nativeStreamMetadataFormatClassName; + } + + public String[] extraStreamMetadataFormatNames() { + return extraStreamMetadataFormatNames; + } + + public String[] extraStreamMetadataFormatClassNames() { + return extraStreamMetadataFormatClassNames; + } + + public boolean supportsStandardImageMetadataFormat() { + return supportsStandardImageMetadata; + } + + public String nativeImageMetadataFormatName() { + return nativeImageMetadataFormatName; + } + + public String nativeImageMetadataFormatClassName() { + return nativeImageMetadataFormatClassName; + } + + public String[] extraImageMetadataFormatNames() { + return extraImageMetadataFormatNames; + } + + public String[] extraImageMetadataFormatClassNames() { + return extraImageMetadataFormatClassNames; + } +} diff --git a/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSImageReaderSpi.java b/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSImageReaderSpi.java index 0dd66e30..d128b0b8 100644 --- a/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSImageReaderSpi.java +++ b/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSImageReaderSpi.java @@ -28,11 +28,9 @@ package com.twelvemonkeys.imageio.plugins.icns; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Locale; @@ -44,28 +42,9 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: ICNSImageReaderSpi.java,v 1.0 25.10.11 18:41 haraldk Exp$ */ -public final class ICNSImageReaderSpi extends ImageReaderSpi{ +public final class ICNSImageReaderSpi extends ImageReaderSpiBase { public ICNSImageReaderSpi() { - this(IIOUtil.getProviderInfo(ICNSImageReaderSpi.class)); - } - - private ICNSImageReaderSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"icns", "ICNS"}, - new String[]{"icns"}, - new String[]{ - "image/x-apple-icons", // Common extension MIME - }, - "com.twelvemonkeys.imageio.plugins.icns.ICNSImageReader", - new Class[] {ImageInputStream.class}, - null, - true, null, null, null, null, - true, - null, null, - null, null - ); + super(new ICNSProviderInfo()); } @Override diff --git a/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java b/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java new file mode 100644 index 00000000..d72ca7bb --- /dev/null +++ b/imageio/imageio-icns/src/main/java/com/twelvemonkeys/imageio/plugins/icns/ICNSProviderInfo.java @@ -0,0 +1,28 @@ +package com.twelvemonkeys.imageio.plugins.icns; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * ICNSProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: ICNSProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class ICNSProviderInfo extends ReaderWriterProviderInfo { + protected ICNSProviderInfo() { + super( + ICNSProviderInfo.class, + new String[]{"icns", "ICNS"}, + new String[]{"icns"}, + new String[]{ + "image/x-apple-icons", // Common extension MIME + }, + "com.twelvemonkeys.imageio.plugins.icns.ICNSImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.ics.ICNImageReaderSpi"}, + null, null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java index 20405754..e545afcd 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReader.java @@ -113,7 +113,7 @@ public class IFFImageReader extends ImageReaderBase { private DataInputStream byteRunStream; public IFFImageReader() { - super(IFFImageReaderSpi.sharedProvider()); + super(new IFFImageReaderSpi()); } protected IFFImageReader(ImageReaderSpi pProvider) { diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java index 8b92907c..1d23b91a 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderSpi.java @@ -28,11 +28,9 @@ package com.twelvemonkeys.imageio.plugins.iff; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Locale; @@ -44,34 +42,13 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: IFFImageWriterSpi.java,v 1.0 28.feb.2006 19:21:05 haku Exp$ */ -public class IFFImageReaderSpi extends ImageReaderSpi { - - static IFFImageReaderSpi mSharedInstance; +public class IFFImageReaderSpi extends ImageReaderSpiBase { /** * Creates an {@code IFFImageReaderSpi}. */ public IFFImageReaderSpi() { - this(IIOUtil.getProviderInfo(IFFImageReaderSpi.class)); - } - - private IFFImageReaderSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"iff", "IFF"}, - new String[]{"iff", "lbm", "ham", "ham8", "ilbm"}, - new String[]{"image/iff", "image/x-iff"}, - "com.twelvemonkeys.imageio.plugins.iff.IFFImageReader", - new Class[] {ImageInputStream.class}, - new String[]{"com.twelvemonkeys.imageio.plugins.iff.IFFImageWriterSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); - - if (mSharedInstance == null) { - mSharedInstance = this; - } + super(new IFFProviderInfo()); } public boolean canDecodeInput(Object pSource) throws IOException { @@ -102,7 +79,6 @@ public class IFFImageReaderSpi extends ImageReaderSpi { return false; } - public ImageReader createReaderInstance(Object pExtension) throws IOException { return new IFFImageReader(this); } @@ -110,12 +86,4 @@ public class IFFImageReaderSpi extends ImageReaderSpi { public String getDescription(Locale pLocale) { return "Commodore Amiga/Electronic Arts Image Interchange Format (IFF) image reader"; } - - public static ImageReaderSpi sharedProvider() { - if (mSharedInstance == null) { - new IFFImageReaderSpi(); - } - - return mSharedInstance; - } } diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java index 902a3dd9..0355c768 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageWriterSpi.java @@ -28,12 +28,10 @@ package com.twelvemonkeys.imageio.plugins.iff; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageWriterSpiBase; import javax.imageio.ImageTypeSpecifier; import javax.imageio.ImageWriter; -import javax.imageio.spi.ImageWriterSpi; import java.io.IOException; import java.util.Locale; @@ -44,28 +42,13 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: IFFImageWriterSpi.java,v 1.0 02.mar.2006 19:21:05 haku Exp$ */ -public class IFFImageWriterSpi extends ImageWriterSpi { +public class IFFImageWriterSpi extends ImageWriterSpiBase { /** * Creates an {@code IFFImageWriterSpi}. */ public IFFImageWriterSpi() { - this(IIOUtil.getProviderInfo(IFFImageWriterSpi.class)); - } - - private IFFImageWriterSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"iff", "IFF"}, - new String[]{"iff", "lbm", "ham", "ham8", "ilbm"}, - new String[]{"image/iff", "image/x-iff"}, - "com.twelvemonkeys.imageio.plugins.iff.IFFImageWriter", - STANDARD_OUTPUT_TYPE, - new String[]{"com.twelvemonkeys.imageio.plugins.iff.IFFImageReaderSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); + super(new IFFProviderInfo()); } public boolean canEncodeImage(final ImageTypeSpecifier pType) { diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFProviderInfo.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFProviderInfo.java new file mode 100644 index 00000000..cb47612c --- /dev/null +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFProviderInfo.java @@ -0,0 +1,27 @@ +package com.twelvemonkeys.imageio.plugins.iff; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * IFFProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: IFFProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class IFFProviderInfo extends ReaderWriterProviderInfo { + protected IFFProviderInfo() { + super( + IFFProviderInfo.class, + new String[] {"iff", "IFF"}, + new String[] {"iff", "lbm", "ham", "ham8", "ilbm"}, + new String[] {"image/iff", "image/x-iff"}, + "com.twelvemonkeys.imageio.plugins.iff.IFFImageReader", + new String[]{"com.twelvemonkeys.imageio.plugins.iff.IFFImageReaderSpi"}, + "com.twelvemonkeys.imageio.plugins.iff.IFFImageWriter", + new String[] {"com.twelvemonkeys.imageio.plugins.iff.IFFImageWriterSpi"}, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/dcx/DCXProviderInfo.java b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/dcx/DCXProviderInfo.java new file mode 100644 index 00000000..264a7701 --- /dev/null +++ b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/dcx/DCXProviderInfo.java @@ -0,0 +1,33 @@ +package com.twelvemonkeys.imageio.plugins.dcx; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * DCXProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: DCXProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class DCXProviderInfo extends ReaderWriterProviderInfo { + protected DCXProviderInfo() { + super( + DCXProviderInfo.class, + new String[]{ + "dcx", + "DCX" + }, + new String[]{"dcx"}, + new String[]{ + // No official IANA record exists + "image/dcx", + "image/x-dcx", + }, + "com.twelvemkonkeys.imageio.plugins.dcx.DCXImageReader", + new String[] {"com.twelvemkonkeys.imageio.plugins.dcx.DCXImageReaderSpi"}, + null, null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReaderSpi.java b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReaderSpi.java index dfd41f09..bd3ab064 100755 --- a/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReaderSpi.java +++ b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXImageReaderSpi.java @@ -28,48 +28,20 @@ package com.twelvemonkeys.imageio.plugins.pcx; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Locale; -public final class PCXImageReaderSpi extends ImageReaderSpi { +public final class PCXImageReaderSpi extends ImageReaderSpiBase { /** * Creates a {@code PCXImageReaderSpi}. */ public PCXImageReaderSpi() { - this(IIOUtil.getProviderInfo(PCXImageReaderSpi.class)); - } - - private PCXImageReaderSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[]{ - "pcx", - "PCX" - }, - new String[]{"pcx"}, - new String[]{ - // No official IANA record exists - "image/pcx", - "image/x-pcx", - }, - "com.twelvemkonkeys.imageio.plugins.pcx.PCXImageReader", - new Class[] {ImageInputStream.class}, - null, - true, // supports standard stream metadata - null, null, // native stream format name and class - null, null, // extra stream formats - true, // supports standard image metadata - null, null, - null, null // extra image metadata formats - ); + super(new PCXProviderInfo()); } @Override public boolean canDecodeInput(final Object source) throws IOException { diff --git a/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXProviderInfo.java b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXProviderInfo.java new file mode 100644 index 00000000..e55e8c0c --- /dev/null +++ b/imageio/imageio-pcx/src/main/java/com/twelvemonkeys/imageio/plugins/pcx/PCXProviderInfo.java @@ -0,0 +1,33 @@ +package com.twelvemonkeys.imageio.plugins.pcx; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * PCXProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: PCXProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class PCXProviderInfo extends ReaderWriterProviderInfo { + protected PCXProviderInfo() { + super( + PCXProviderInfo.class, + new String[]{ + "pcx", + "PCX" + }, + new String[]{"pcx"}, + new String[]{ + // No official IANA record exists + "image/pcx", + "image/x-pcx", + }, + "com.twelvemkonkeys.imageio.plugins.pcx.PCXImageReader", + new String[] {"com.twelvemkonkeys.imageio.plugins.pcx.PCXImageReaderSpi"}, + null, null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java index 76a23cab..e6323d46 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageReaderSpi.java @@ -28,11 +28,9 @@ package com.twelvemonkeys.imageio.plugins.pict; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.EOFException; import java.io.IOException; @@ -45,28 +43,13 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: PICTImageReaderSpi.java,v 1.0 28.feb.2006 19:21:05 haku Exp$ */ -public class PICTImageReaderSpi extends ImageReaderSpi { +public class PICTImageReaderSpi extends ImageReaderSpiBase { /** * Creates a {@code PICTImageReaderSpi}. */ public PICTImageReaderSpi() { - this(IIOUtil.getProviderInfo(PICTImageReaderSpi.class)); - } - - private PICTImageReaderSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"pct", "PCT", "pict", "PICT"}, - new String[]{"pct", "pict"}, - new String[]{"image/pict", "image/x-pict"}, - "com.twelvemkonkeys.imageio.plugins.pict.PICTImageReader", - new Class[] {ImageInputStream.class}, - new String[]{"com.twelvemkonkeys.imageio.plugins.pict.PICTImageWriterSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); + super(new PICTProviderInfo()); } public boolean canDecodeInput(final Object pSource) throws IOException { diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriterSpi.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriterSpi.java index 75382282..86507cdb 100755 --- a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriterSpi.java +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTImageWriterSpi.java @@ -28,12 +28,10 @@ package com.twelvemonkeys.imageio.plugins.pict; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageWriterSpiBase; import javax.imageio.ImageTypeSpecifier; import javax.imageio.ImageWriter; -import javax.imageio.spi.ImageWriterSpi; import java.io.IOException; import java.util.Locale; @@ -44,29 +42,13 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: PICTImageWriterSpi.java,v 1.0 02.mar.2006 19:21:05 haku Exp$ */ -public class PICTImageWriterSpi extends ImageWriterSpi { +public class PICTImageWriterSpi extends ImageWriterSpiBase { /** * Creates a {@code PICTImageWriterSpi}. */ public PICTImageWriterSpi() { - this(IIOUtil.getProviderInfo(PICTImageWriterSpi.class)); - } - - private PICTImageWriterSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"pct", "PCT", - "pict", "PICT"}, - new String[]{"pct", "pict"}, - new String[]{"image/pict", "image/x-pict"}, - "com.twelvemonkeys.imageio.plugins.pict.PICTImageWriter", - STANDARD_OUTPUT_TYPE, - new String[]{"com.twelvemonkeys.imageio.plugins.pict.PICTImageReaderSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); + super(new PICTProviderInfo()); } public boolean canEncodeImage(ImageTypeSpecifier pType) { diff --git a/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTProviderInfo.java b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTProviderInfo.java new file mode 100644 index 00000000..d5117e2f --- /dev/null +++ b/imageio/imageio-pict/src/main/java/com/twelvemonkeys/imageio/plugins/pict/PICTProviderInfo.java @@ -0,0 +1,27 @@ +package com.twelvemonkeys.imageio.plugins.pict; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * PICTProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: PICTProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class PICTProviderInfo extends ReaderWriterProviderInfo { + protected PICTProviderInfo() { + super( + PICTProviderInfo.class, + new String[] {"pct", "PCT", "pict", "PICT"}, + new String[] {"pct", "pict"}, + new String[] {"image/pict", "image/x-pict"}, + "com.twelvemkonkeys.imageio.plugins.pict.PICTImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.pict.PICTImageReaderSpi"}, + "com.twelvemonkeys.imageio.plugins.pict.PICTImageWriter", + new String[] {"com.twelvemkonkeys.imageio.plugins.pict.PICTImageWriterSpi"}, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PAMImageWriterSpi.java b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PAMImageWriterSpi.java index 10d6f9ea..51490cb1 100755 --- a/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PAMImageWriterSpi.java +++ b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PAMImageWriterSpi.java @@ -29,7 +29,6 @@ package com.twelvemonkeys.imageio.plugins.pnm; import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; import javax.imageio.ImageTypeSpecifier; import javax.imageio.ImageWriter; @@ -43,16 +42,16 @@ public final class PAMImageWriterSpi extends ImageWriterSpi { * Creates a {@code PAMImageWriterSpi}. */ public PAMImageWriterSpi() { - this(IIOUtil.getProviderInfo(PAMImageWriterSpi.class)); + this(new PNMProviderInfo()); } private PAMImageWriterSpi(final ProviderInfo pProviderInfo) { super( pProviderInfo.getVendorName(), pProviderInfo.getVersion(), - new String[]{"pam", "PAM"}, - new String[]{"pam"}, - new String[]{ + new String[] {"pam", "PAM"}, + new String[] {"pam"}, + new String[] { // No official IANA record exists, these are conventional "image/x-portable-arbitrarymap" // PAM }, @@ -73,7 +72,8 @@ public final class PAMImageWriterSpi extends ImageWriterSpi { return new PNMImageWriter(this); } - @Override public String getDescription(final Locale locale) { + @Override + public String getDescription(final Locale locale) { return "NetPBM Portable Arbitrary Map (PAM) image writer"; } } diff --git a/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageReaderSpi.java b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageReaderSpi.java index 967144d9..c35e64d0 100755 --- a/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageReaderSpi.java +++ b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageReaderSpi.java @@ -29,7 +29,6 @@ package com.twelvemonkeys.imageio.plugins.pnm; import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; import javax.imageio.ImageReader; import javax.imageio.spi.ImageReaderSpi; @@ -43,19 +42,19 @@ public final class PNMImageReaderSpi extends ImageReaderSpi { * Creates a {@code PNMImageReaderSpi}. */ public PNMImageReaderSpi() { - this(IIOUtil.getProviderInfo(PNMImageReaderSpi.class)); + this(new PNMProviderInfo()); } private PNMImageReaderSpi(final ProviderInfo providerInfo) { super( providerInfo.getVendorName(), providerInfo.getVersion(), - new String[]{ - "pnm", "pbm", "pgm", "ppm", "pam", - "PNM", "PBM", "PGM", "PPM", "PAM" + new String[] { + "pnm", "pbm", "pgm", "ppm", "pam", "pfm", + "PNM", "PBM", "PGM", "PPM", "PAM", "PFM" }, - new String[]{"pbm", "pgm", "ppm", "pam"}, - new String[]{ + new String[] {"pbm", "pgm", "ppm", "pam", "pfm"}, + new String[] { // No official IANA record exists, these are conventional "image/x-portable-pixmap", "image/x-portable-anymap", @@ -63,7 +62,7 @@ public final class PNMImageReaderSpi extends ImageReaderSpi { }, "com.twelvemkonkeys.imageio.plugins.pnm.PNMImageReader", new Class[] {ImageInputStream.class}, - new String[]{ + new String[] { "com.twelvemkonkeys.imageio.plugins.pnm.PNMImageWriterSpi", "com.twelvemkonkeys.imageio.plugins.pnm.PAMImageWriterSpi" }, @@ -76,7 +75,8 @@ public final class PNMImageReaderSpi extends ImageReaderSpi { ); } - @Override public boolean canDecodeInput(final Object source) throws IOException { + @Override + public boolean canDecodeInput(final Object source) throws IOException { if (!(source instanceof ImageInputStream)) { return false; } @@ -109,11 +109,13 @@ public final class PNMImageReaderSpi extends ImageReaderSpi { } } - @Override public ImageReader createReaderInstance(final Object extension) throws IOException { + @Override + public ImageReader createReaderInstance(final Object extension) throws IOException { return new PNMImageReader(this); } - @Override public String getDescription(final Locale locale) { + @Override + public String getDescription(final Locale locale) { return "NetPBM Portable Any Map (PNM and PAM) image reader"; } } diff --git a/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageWriterSpi.java b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageWriterSpi.java index 287e6039..5a7522c0 100755 --- a/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageWriterSpi.java +++ b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMImageWriterSpi.java @@ -29,7 +29,6 @@ package com.twelvemonkeys.imageio.plugins.pnm; import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; import javax.imageio.ImageTypeSpecifier; import javax.imageio.ImageWriter; @@ -41,23 +40,24 @@ public final class PNMImageWriterSpi extends ImageWriterSpi { // TODO: Consider one Spi for each sub-format, as it makes no sense for the writer to write PPM if client code requested PBM or PGM format. // ...Then again, what if user asks for PNM? :-P + /** * Creates a {@code PNMImageWriterSpi}. */ public PNMImageWriterSpi() { - this(IIOUtil.getProviderInfo(PNMImageWriterSpi.class)); + this(new PNMProviderInfo()); } private PNMImageWriterSpi(final ProviderInfo pProviderInfo) { super( pProviderInfo.getVendorName(), pProviderInfo.getVersion(), - new String[]{ + new String[] { "pnm", "pbm", "pgm", "ppm", "PNM", "PBM", "PGM", "PPM" }, - new String[]{"pbm", "pgm", "ppm"}, - new String[]{ + new String[] {"pbm", "pgm", "ppm"}, + new String[] { // No official IANA record exists, these are conventional "image/x-portable-pixmap", "image/x-portable-anymap" @@ -79,7 +79,8 @@ public final class PNMImageWriterSpi extends ImageWriterSpi { return new PNMImageWriter(this); } - @Override public String getDescription(final Locale locale) { + @Override + public String getDescription(final Locale locale) { return "NetPBM Portable Any Map (PNM) image writer"; } } diff --git a/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMProviderInfo.java b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMProviderInfo.java new file mode 100644 index 00000000..15eb1d8f --- /dev/null +++ b/imageio/imageio-pnm/src/main/java/com/twelvemonkeys/imageio/plugins/pnm/PNMProviderInfo.java @@ -0,0 +1,19 @@ +package com.twelvemonkeys.imageio.plugins.pnm; + +import com.twelvemonkeys.imageio.spi.ProviderInfo; + +/** + * PNMProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: PNMProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +class PNMProviderInfo extends ProviderInfo { + // NOTE: Because the ReaderSpi and the two WriterSpis supports different formats, + // we don't use the standard ImageReaderWriterProviderInfo superclass here. + + public PNMProviderInfo() { + super(PNMProviderInfo.class.getPackage()); + } +} diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderSpi.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderSpi.java index 831d08dc..35e6f5d3 100755 --- a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderSpi.java +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDImageReaderSpi.java @@ -28,11 +28,9 @@ package com.twelvemonkeys.imageio.plugins.psd; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Locale; @@ -44,39 +42,13 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: PSDImageReaderSpi.java,v 1.0 Apr 29, 2008 4:49:03 PM haraldk Exp$ */ -final public class PSDImageReaderSpi extends ImageReaderSpi { +final public class PSDImageReaderSpi extends ImageReaderSpiBase { /** * Creates a {@code PSDImageReaderSpi}. */ public PSDImageReaderSpi() { - this(IIOUtil.getProviderInfo(PSDImageReaderSpi.class)); - } - - private PSDImageReaderSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[] {"psd", "PSD"}, - new String[] {"psd"}, - new String[] { - "image/vnd.adobe.photoshop", // Official, IANA registered - "application/vnd.adobe.photoshop", // Used in XMP - "image/x-psd", - "application/x-photoshop", - "image/x-photoshop" - }, - "com.twelvemkonkeys.imageio.plugins.psd.PSDImageReader", - new Class[] {ImageInputStream.class}, -// new String[] {"com.twelvemkonkeys.imageio.plugins.psd.PSDImageWriterSpi"}, - null, - true, // supports standard stream metadata - null, null, // native stream format name and class - null, null, // extra stream formats - true, // supports standard image metadata - PSDMetadata.NATIVE_METADATA_FORMAT_NAME, PSDMetadata.NATIVE_METADATA_FORMAT_CLASS_NAME, - null, null // extra image metadata formats - ); + super(new PSDProviderInfo()); } public boolean canDecodeInput(final Object pSource) throws IOException { diff --git a/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDProviderInfo.java b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDProviderInfo.java new file mode 100644 index 00000000..2b52c770 --- /dev/null +++ b/imageio/imageio-psd/src/main/java/com/twelvemonkeys/imageio/plugins/psd/PSDProviderInfo.java @@ -0,0 +1,33 @@ +package com.twelvemonkeys.imageio.plugins.psd; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * PSDProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: PSDProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class PSDProviderInfo extends ReaderWriterProviderInfo { + protected PSDProviderInfo() { + super( + PSDProviderInfo.class, + new String[] {"psd", "PSD"}, + new String[] {"psd"}, + new String[] { + "image/vnd.adobe.photoshop", // Official, IANA registered + "application/vnd.adobe.photoshop", // Used in XMP + "image/x-psd", + "application/x-photoshop", + "image/x-photoshop" + }, + "com.twelvemkonkeys.imageio.plugins.psd.PSDImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.psd.PSDImageReaderSpi"}, + null, + null, // new String[] {"com.twelvemkonkeys.imageio.plugins.psd.PSDImageWriterSpi"}, + false, null, null, null, null, + true, PSDMetadata.NATIVE_METADATA_FORMAT_NAME, PSDMetadata.NATIVE_METADATA_FORMAT_CLASS_NAME, null, null + ); + } +} diff --git a/imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIImageReaderSpi.java b/imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIImageReaderSpi.java index 5d72062b..1aa9436e 100755 --- a/imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIImageReaderSpi.java +++ b/imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIImageReaderSpi.java @@ -28,48 +28,20 @@ package com.twelvemonkeys.imageio.plugins.sgi; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Locale; -public final class SGIImageReaderSpi extends ImageReaderSpi { +public final class SGIImageReaderSpi extends ImageReaderSpiBase { /** * Creates a {@code SGIImageReaderSpi}. */ public SGIImageReaderSpi() { - this(IIOUtil.getProviderInfo(SGIImageReaderSpi.class)); - } - - private SGIImageReaderSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[]{ - "sgi", - "SGI" - }, - new String[]{"sgi"}, - new String[]{ - // No official IANA record exists - "image/sgi", - "image/x-sgi", - }, - "com.twelvemkonkeys.imageio.plugins.sgi.SGIImageReader", - new Class[] {ImageInputStream.class}, - null, - true, // supports standard stream metadata - null, null, // native stream format name and class - null, null, // extra stream formats - true, // supports standard image metadata - null, null, - null, null // extra image metadata formats - ); + super(new SGIProviderInfo()); } @Override public boolean canDecodeInput(final Object source) throws IOException { diff --git a/imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIProviderInfo.java b/imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIProviderInfo.java new file mode 100644 index 00000000..bcfd503b --- /dev/null +++ b/imageio/imageio-sgi/src/main/java/com/twelvemonkeys/imageio/plugins/sgi/SGIProviderInfo.java @@ -0,0 +1,34 @@ +package com.twelvemonkeys.imageio.plugins.sgi; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * SGIProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: SGIProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class SGIProviderInfo extends ReaderWriterProviderInfo { + protected SGIProviderInfo() { + super( + SGIProviderInfo.class, + new String[] { + "sgi", + "SGI" + }, + new String[] {"sgi"}, + new String[] { + // No official IANA record exists + "image/sgi", + "image/x-sgi", + }, + "com.twelvemkonkeys.imageio.plugins.sgi.SGIImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.sgi.SGIImageReaderSpi"}, + null, + null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java index 57ca4808..2948915a 100755 --- a/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java +++ b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAImageReaderSpi.java @@ -28,49 +28,21 @@ package com.twelvemonkeys.imageio.plugins.tga; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.ImageReader; -import javax.imageio.spi.ImageReaderSpi; import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.nio.ByteOrder; import java.util.Locale; -public final class TGAImageReaderSpi extends ImageReaderSpi { +public final class TGAImageReaderSpi extends ImageReaderSpiBase { /** * Creates a {@code TGAImageReaderSpi}. */ public TGAImageReaderSpi() { - this(IIOUtil.getProviderInfo(TGAImageReaderSpi.class)); - } - - private TGAImageReaderSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[]{ - "tga", "TGA", - "targa", "TARGA" - }, - new String[]{"tga", "tpic"}, - new String[]{ - // No official IANA record exists - "image/tga", "image/x-tga", - "image/targa", "image/x-targa", - }, - "com.twelvemkonkeys.imageio.plugins.tga.TGAImageReader", - new Class[] {ImageInputStream.class}, - null, - true, // supports standard stream metadata - null, null, // native stream format name and class - null, null, // extra stream formats - true, // supports standard image metadata - null, null, - null, null // extra image metadata formats - ); + super(new TGAProviderInfo()); } @Override public boolean canDecodeInput(final Object source) throws IOException { diff --git a/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAProviderInfo.java b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAProviderInfo.java new file mode 100644 index 00000000..c48d47e2 --- /dev/null +++ b/imageio/imageio-tga/src/main/java/com/twelvemonkeys/imageio/plugins/tga/TGAProviderInfo.java @@ -0,0 +1,34 @@ +package com.twelvemonkeys.imageio.plugins.tga; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * SGIProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: SGIProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class TGAProviderInfo extends ReaderWriterProviderInfo { + protected TGAProviderInfo() { + super( + TGAProviderInfo.class, + new String[]{ + "tga", "TGA", + "targa", "TARGA" + }, + new String[]{"tga", "tpic"}, + new String[]{ + // No official IANA record exists + "image/tga", "image/x-tga", + "image/targa", "image/x-targa", + }, + "com.twelvemkonkeys.imageio.plugins.tga.TGAImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.tga.TGAImageReaderSpi"}, + null, + null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBImageReaderSpi.java b/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBImageReaderSpi.java index a8ad5fb2..89c474ae 100755 --- a/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBImageReaderSpi.java +++ b/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBImageReaderSpi.java @@ -28,8 +28,7 @@ package com.twelvemonkeys.imageio.plugins.thumbsdb; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import com.twelvemonkeys.io.ole2.CompoundDocument; import javax.imageio.ImageReader; @@ -48,36 +47,21 @@ import java.util.Locale; * @author Harald Kuhr * @version $Id: ThumbsDBImageReaderSpi.java,v 1.0 28.feb.2006 19:21:05 haku Exp$ */ -public class ThumbsDBImageReaderSpi extends ImageReaderSpi { +public class ThumbsDBImageReaderSpi extends ImageReaderSpiBase { private ImageReaderSpi jpegProvider; /** * Creates a {@code ThumbsDBImageReaderSpi}. */ public ThumbsDBImageReaderSpi() { - this(IIOUtil.getProviderInfo(ThumbsDBImageReaderSpi.class)); - } - - private ThumbsDBImageReaderSpi(final ProviderInfo pProviderInfo) { - super( - pProviderInfo.getVendorName(), - pProviderInfo.getVersion(), - new String[]{"thumbs", "THUMBS", "Thumbs DB"}, - new String[]{"db"}, - new String[]{"image/x-thumbs-db", "application/octet-stream"}, // TODO: Check IANA et al... - "com.twelvemonkeys.imageio.plugins.thumbsdb.ThumbsDBImageReader", - new Class[] {ImageInputStream.class}, - null, - true, null, null, null, null, - true, null, null, null, null - ); + super(new ThumbsDBProviderInfo()); } public boolean canDecodeInput(Object source) throws IOException { return source instanceof ImageInputStream && canDecode((ImageInputStream) source); } - public boolean canDecode(ImageInputStream pInput) throws IOException { + public boolean canDecode(final ImageInputStream pInput) throws IOException { maybeInitJPEGProvider(); // If this is a OLE 2 CompoundDocument, we could try... // TODO: How do we know it's thumbs.db format (structure), without reading quite a lot? diff --git a/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java b/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java new file mode 100644 index 00000000..861dab33 --- /dev/null +++ b/imageio/imageio-thumbsdb/src/main/java/com/twelvemonkeys/imageio/plugins/thumbsdb/ThumbsDBProviderInfo.java @@ -0,0 +1,27 @@ +package com.twelvemonkeys.imageio.plugins.thumbsdb; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * ThumbsDBProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: ThumbsDBProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class ThumbsDBProviderInfo extends ReaderWriterProviderInfo { + protected ThumbsDBProviderInfo() { + super( + ThumbsDBProviderInfo.class, + new String[]{"thumbs", "THUMBS", "Thumbs DB"}, + new String[]{"db"}, + new String[]{"image/x-thumbs-db", "application/octet-stream"}, // TODO: Check IANA et al... + "com.twelvemonkeys.imageio.plugins.thumbsdb.ThumbsDBImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.thumbsdb.ThumbsDBImageReaderSpi"}, + null, + null, + false, null, null, null, null, + true, null, null, null, null + ); + } +} diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java index 5a74e5de..989f1166 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageReaderSpi.java @@ -29,8 +29,7 @@ package com.twelvemonkeys.imageio.plugins.tiff; import com.twelvemonkeys.imageio.metadata.exif.TIFF; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import javax.imageio.spi.ImageReaderSpi; import javax.imageio.spi.ServiceRegistry; @@ -46,33 +45,12 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: TIFFImageReaderSpi.java,v 1.0 08.05.12 15:14 haraldk Exp$ */ -public class TIFFImageReaderSpi extends ImageReaderSpi { +public class TIFFImageReaderSpi extends ImageReaderSpiBase { /** * Creates a {@code TIFFImageReaderSpi}. */ public TIFFImageReaderSpi() { - this(IIOUtil.getProviderInfo(TIFFImageReaderSpi.class)); - } - - private TIFFImageReaderSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[] {"tiff", "TIFF"}, - new String[] {"tif", "tiff"}, - new String[] { - "image/tiff", "image/x-tiff" - }, - "com.twelvemkonkeys.imageio.plugins.tiff.TIFFImageReader", - new Class[] {ImageInputStream.class}, - new String[] {"com.twelvemkonkeys.imageio.plugins.tif.TIFFImageWriterSpi"}, - true, // supports standard stream metadata - null, null, // native stream format name and class - null, null, // extra stream formats - true, // supports standard image metadata - null, null, - null, null // extra image metadata formats - ); + super(new TIFFProviderInfo()); } @SuppressWarnings("unchecked") diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java index 5bb96699..7d85e568 100644 --- a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFImageWriterSpi.java @@ -28,13 +28,10 @@ package com.twelvemonkeys.imageio.plugins.tiff; -import com.twelvemonkeys.imageio.spi.ProviderInfo; -import com.twelvemonkeys.imageio.util.IIOUtil; +import com.twelvemonkeys.imageio.spi.ImageWriterSpiBase; import javax.imageio.ImageTypeSpecifier; import javax.imageio.ImageWriter; -import javax.imageio.spi.ImageWriterSpi; -import javax.imageio.stream.ImageOutputStream; import java.io.IOException; import java.util.Locale; @@ -45,45 +42,27 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: TIFFImageWriterSpi.java,v 1.0 18.09.13 12:46 haraldk Exp$ */ -public final class TIFFImageWriterSpi extends ImageWriterSpi { +public final class TIFFImageWriterSpi extends ImageWriterSpiBase { // TODO: Implement canEncodeImage better public TIFFImageWriterSpi() { - this(IIOUtil.getProviderInfo(TIFFImageWriterSpi.class)); - } - - private TIFFImageWriterSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), providerInfo.getVersion(), - new String[] {"tiff", "TIFF", "tif", "TIFF"}, - new String[] {"tif", "tiff"}, - new String[] {"image/tiff", "image/x-tiff"}, - "com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriter", - new Class[] {ImageOutputStream.class}, - new String[] {"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi"}, - true, // supports standard stream metadata - null, null, // native stream format name and class - null, null, // extra stream formats - true, // supports standard image metadata - null, null, - null, null // extra image metadata formats - ); + super(new TIFFProviderInfo()); } @Override - public boolean canEncodeImage(ImageTypeSpecifier type) { + public boolean canEncodeImage(final ImageTypeSpecifier type) { // TODO: Test bit depths compatibility return true; } @Override - public ImageWriter createWriterInstance(Object extension) throws IOException { + public ImageWriter createWriterInstance(final Object extension) throws IOException { return new TIFFImageWriter(this); } @Override - public String getDescription(Locale locale) { + public String getDescription(final Locale locale) { return "Aldus/Adobe Tagged Image File Format (TIFF) image writer"; } } diff --git a/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java new file mode 100644 index 00000000..c1e24e58 --- /dev/null +++ b/imageio/imageio-tiff/src/main/java/com/twelvemonkeys/imageio/plugins/tiff/TIFFProviderInfo.java @@ -0,0 +1,29 @@ +package com.twelvemonkeys.imageio.plugins.tiff; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * TIFFProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: TIFFProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class TIFFProviderInfo extends ReaderWriterProviderInfo { + protected TIFFProviderInfo() { + super( + TIFFProviderInfo.class, + new String[] {"tiff", "TIFF"}, + new String[] {"tif", "tiff"}, + new String[] { + "image/tiff", "image/x-tiff" + }, + "com.twelvemkonkeys.imageio.plugins.tiff.TIFFImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.tiff.TIFFImageReaderSpi"}, + "com.twelvemonkeys.imageio.plugins.tiff.TIFFImageWriter", + new String[] {"com.twelvemkonkeys.imageio.plugins.tif.TIFFImageWriterSpi"}, + false, null, null, null, null, + true, null, null, null, null + ); + } +} From 87777dfc2d67226a49836286f682ce7a1af5a6bc Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Fri, 20 Mar 2015 15:54:41 +0100 Subject: [PATCH 30/39] New SPI info. --- .../plugins/jpeg/JPEGImageReaderSpi.java | 34 +++++------------ .../plugins/jpeg/JPEGImageWriterSpi.java | 38 ++++++------------- .../plugins/jpeg/JPEGProviderInfo.java | 27 +++++++++++++ 3 files changed, 47 insertions(+), 52 deletions(-) create mode 100644 imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfo.java diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java index 3fe841e0..efe0f4de 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderSpi.java @@ -28,7 +28,7 @@ package com.twelvemonkeys.imageio.plugins.jpeg; -import com.twelvemonkeys.imageio.spi.ProviderInfo; +import com.twelvemonkeys.imageio.spi.ImageReaderSpiBase; import com.twelvemonkeys.imageio.util.IIOUtil; import com.twelvemonkeys.lang.Validate; @@ -36,7 +36,6 @@ import javax.imageio.ImageReader; import javax.imageio.metadata.IIOMetadataFormat; import javax.imageio.spi.ImageReaderSpi; import javax.imageio.spi.ServiceRegistry; -import javax.imageio.stream.ImageInputStream; import java.io.IOException; import java.util.Iterator; import java.util.Locale; @@ -48,7 +47,7 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: JPEGImageReaderSpi.java,v 1.0 24.01.11 22.12 haraldk Exp$ */ -public class JPEGImageReaderSpi extends ImageReaderSpi { +public class JPEGImageReaderSpi extends ImageReaderSpiBase { private ImageReaderSpi delegateProvider; /** @@ -56,22 +55,7 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { * The instance created will not work without being properly registered. */ public JPEGImageReaderSpi() { - this(IIOUtil.getProviderInfo(JPEGImageReaderSpi.class)); - } - - private JPEGImageReaderSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[]{"JPEG", "jpeg", "JPG", "jpg"}, - new String[]{"jpg", "jpeg"}, - new String[]{"image/jpeg"}, - "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader", - new Class[] {ImageInputStream.class}, - new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriterSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); + super(new JPEGProviderInfo()); } /** @@ -80,7 +64,7 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { * @param delegateProvider a {@code ImageReaderSpi} that can read JPEG. */ protected JPEGImageReaderSpi(final ImageReaderSpi delegateProvider) { - this(IIOUtil.getProviderInfo(JPEGImageReaderSpi.class)); + this(); this.delegateProvider = Validate.notNull(delegateProvider); } @@ -128,12 +112,12 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { } @Override - public ImageReader createReaderInstance(Object extension) throws IOException { + public ImageReader createReaderInstance(final Object extension) throws IOException { return new JPEGImageReader(this, delegateProvider.createReaderInstance(extension)); } @Override - public boolean canDecodeInput(Object source) throws IOException { + public boolean canDecodeInput(final Object source) throws IOException { return delegateProvider.canDecodeInput(source); } @@ -183,17 +167,17 @@ public class JPEGImageReaderSpi extends ImageReaderSpi { } @Override - public IIOMetadataFormat getStreamMetadataFormat(String formatName) { + public IIOMetadataFormat getStreamMetadataFormat(final String formatName) { return delegateProvider.getStreamMetadataFormat(formatName); } @Override - public IIOMetadataFormat getImageMetadataFormat(String formatName) { + public IIOMetadataFormat getImageMetadataFormat(final String formatName) { return delegateProvider.getImageMetadataFormat(formatName); } @Override - public String getDescription(Locale locale) { + public String getDescription(final Locale locale) { return delegateProvider.getDescription(locale); } diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java index a0dcf30f..40fb7bea 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageWriterSpi.java @@ -28,7 +28,7 @@ package com.twelvemonkeys.imageio.plugins.jpeg; -import com.twelvemonkeys.imageio.spi.ProviderInfo; +import com.twelvemonkeys.imageio.spi.ImageWriterSpiBase; import com.twelvemonkeys.imageio.util.IIOUtil; import com.twelvemonkeys.lang.Validate; @@ -37,7 +37,6 @@ import javax.imageio.ImageWriter; import javax.imageio.metadata.IIOMetadataFormat; import javax.imageio.spi.ImageWriterSpi; import javax.imageio.spi.ServiceRegistry; -import javax.imageio.stream.ImageOutputStream; import java.awt.image.RenderedImage; import java.io.IOException; import java.util.Iterator; @@ -50,7 +49,7 @@ import java.util.Locale; * @author last modified by $Author: haraldk$ * @version $Id: JPEGImageWriterSpi.java,v 1.0 06.02.12 16:09 haraldk Exp$ */ -public class JPEGImageWriterSpi extends ImageWriterSpi { +public class JPEGImageWriterSpi extends ImageWriterSpiBase { private ImageWriterSpi delegateProvider; /** @@ -58,22 +57,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { * The instance created will not work without being properly registered. */ public JPEGImageWriterSpi() { - this(IIOUtil.getProviderInfo(JPEGImageWriterSpi.class)); - } - - private JPEGImageWriterSpi(final ProviderInfo providerInfo) { - super( - providerInfo.getVendorName(), - providerInfo.getVersion(), - new String[]{"JPEG", "jpeg", "JPG", "jpg"}, - new String[]{"jpg", "jpeg"}, - new String[]{"image/jpeg"}, - "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriter", - new Class[] { ImageOutputStream.class }, - new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReaderSpi"}, - true, null, null, null, null, - true, null, null, null, null - ); + super(new JPEGProviderInfo()); } /** @@ -82,7 +66,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { * @param delegateProvider a {@code ImageWriterSpi} that can write JPEG. */ protected JPEGImageWriterSpi(final ImageWriterSpi delegateProvider) { - this(IIOUtil.getProviderInfo(JPEGImageReaderSpi.class)); + this(); this.delegateProvider = Validate.notNull(delegateProvider); } @@ -110,7 +94,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { } if (delegateProvider != null) { - // Order before com.sun provider, to aid ImageIO in selecting our reader + // Order before com.sun provider, to aid ImageIO in selecting our writer registry.setOrdering((Class) category, this, delegateProvider); } else { @@ -130,7 +114,7 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { } @Override - public ImageWriter createWriterInstance(Object extension) throws IOException { + public ImageWriter createWriterInstance(final Object extension) throws IOException { return new JPEGImageWriter(this, delegateProvider.createWriterInstance(extension)); } @@ -180,27 +164,27 @@ public class JPEGImageWriterSpi extends ImageWriterSpi { } @Override - public IIOMetadataFormat getStreamMetadataFormat(String formatName) { + public IIOMetadataFormat getStreamMetadataFormat(final String formatName) { return delegateProvider.getStreamMetadataFormat(formatName); } @Override - public IIOMetadataFormat getImageMetadataFormat(String formatName) { + public IIOMetadataFormat getImageMetadataFormat(final String formatName) { return delegateProvider.getImageMetadataFormat(formatName); } @Override - public boolean canEncodeImage(ImageTypeSpecifier type) { + public boolean canEncodeImage(final ImageTypeSpecifier type) { return delegateProvider.canEncodeImage(type); } @Override - public boolean canEncodeImage(RenderedImage im) { + public boolean canEncodeImage(final RenderedImage im) { return delegateProvider.canEncodeImage(im); } @Override - public String getDescription(Locale locale) { + public String getDescription(final Locale locale) { return delegateProvider.getDescription(locale); } diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfo.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfo.java new file mode 100644 index 00000000..961a877c --- /dev/null +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGProviderInfo.java @@ -0,0 +1,27 @@ +package com.twelvemonkeys.imageio.plugins.jpeg; + +import com.twelvemonkeys.imageio.spi.ReaderWriterProviderInfo; + +/** + * JPEGProviderInfo. + * + * @author Harald Kuhr + * @author last modified by $Author: harald.kuhr$ + * @version $Id: JPEGProviderInfo.java,v 1.0 20/03/15 harald.kuhr Exp$ + */ +final class JPEGProviderInfo extends ReaderWriterProviderInfo { + protected JPEGProviderInfo() { + super( + JPEGProviderInfo.class, + new String[] {"JPEG", "jpeg", "JPG", "jpg"}, + new String[] {"jpg", "jpeg"}, + new String[] {"image/jpeg"}, + "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReader", + new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageReaderSpi"}, + "com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriter", + new String[] {"com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriterSpi"}, + false, null, null, null, null, + true, null, null, null, null + ); + } +} From c4630d9eeecee71dd29cfcffe4adaf8298e2ab54 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sat, 21 Mar 2015 16:47:15 +0100 Subject: [PATCH 31/39] TMI-121: Fixed regression, introduced by filtering out Adobe/APP14 segments completely. Now makes sure the segments have the "expected" length 16, and anything after that is discarded. --- .../jpeg/JPEGImage10MetadataCleaner.java | 34 +++--- .../jpeg/JPEGSegmentImageInputStream.java | 112 ++++++++++++++++-- .../jpeg/JPEGSegmentImageInputStreamTest.java | 7 +- 3 files changed, 120 insertions(+), 33 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java index 6b88eed0..420bd1b4 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImage10MetadataCleaner.java @@ -155,30 +155,24 @@ final class JPEGImage10MetadataCleaner { } } - if (adobeDCT != null) { - // Special case: Broken AdobeDCT segment, inconsistent with SOF, use values from SOF - if ((adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() < 4 || + // Special case: Broken AdobeDCT segment, inconsistent with SOF, use values from SOF + if (adobeDCT != null && (adobeDCT.getTransform() == AdobeDCTSegment.YCCK && sof.componentsInFrame() < 4 || adobeDCT.getTransform() == AdobeDCTSegment.YCC && sof.componentsInFrame() < 3)) { - - reader.processWarningOccurred(String.format( - "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color component(s). " + - "Ignoring Adobe App14 marker.", - adobeDCT.getTransform() == AdobeDCTSegment.YCCK ? "YCCK/CMYK" : "YCC/RGB", - sof.marker & 0xf, sof.componentsInFrame() - )); + reader.processWarningOccurred(String.format( + "Invalid Adobe App14 marker. Indicates %s data, but SOF%d has %d color component(s). " + + "Ignoring Adobe App14 marker.", + adobeDCT.getTransform() == AdobeDCTSegment.YCCK ? "YCCK/CMYK" : "YCC/RGB", + sof.marker & 0xf, sof.componentsInFrame() + )); - // We don't add this as unknown marker, as we are certain it's bogus by now + // Remove bad AdobeDCT + NodeList app14Adobe = tree.getElementsByTagName("app14Adobe"); + for (int i = app14Adobe.getLength() - 1; i >= 0; i--) { + Node item = app14Adobe.item(i); + item.getParentNode().removeChild(item); } - else { - // Otherwise, add back the Adobe tag we filtered out in JPEGSegmentImageInputStream - IIOMetadataNode app14Adobe = new IIOMetadataNode("app14Adobe"); - app14Adobe.setAttribute("version", String.valueOf(adobeDCT.getVersion())); - app14Adobe.setAttribute("flags0", String.valueOf(adobeDCT.getFlags0())); - app14Adobe.setAttribute("flags1", String.valueOf(adobeDCT.getFlags1())); - app14Adobe.setAttribute("transform", String.valueOf(adobeDCT.getTransform())); - markerSequence.insertBefore(app14Adobe, markerSequence.getFirstChild()); - } + // We don't add this as unknown marker, as we are certain it's bogus by now } Node next = null; diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index 4b06c61e..78401b1c 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -81,7 +81,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { segment = segments.get(currentSegment); if (streamPos >= segment.start && streamPos < segment.end()) { - stream.seek(segment.realStart + streamPos - segment.start); + segment.seek(stream, segment.realStart + streamPos - segment.start); return segment; } @@ -119,7 +119,11 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { // TODO: Should we just skip all app marker segments? // We are now handling all important segments ourselves - if (isAppSegmentMarker(marker) && !(marker == JPEG.APP1 && isAppSegmentWithId("Exif", stream))) { + // TODO: Need to re-insert the APP14, and instead make sure we limit it to 16 bytes, + // OR use two delegates, one for reading image data, and one for reading metadata... + boolean isApp14Adobe = false; + if (isAppSegmentMarker(marker) && !(marker == JPEG.APP1 && isAppSegmentWithId("Exif", stream) + || (isApp14Adobe = (marker == JPEG.APP14 && isAppSegmentWithId("Adobe", stream))))) { int length = stream.readUnsignedShort(); // Length including length field itself stream.seek(realPosition + 2 + length); // Skip marker (2) + length } @@ -138,17 +142,24 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { } else { // Length including length field itself - length = stream.readUnsignedShort() + 2; + length = 2 + stream.readUnsignedShort(); + } + + if (isApp14Adobe && length != 16) { + // Need to rewrite this segment, so that it gets length 16 and discard the remaining bytes... + segment = new AdobeAPP14Replacement(realPosition, segment.end(), length, stream); + } + else { + segment = new Segment(marker, realPosition, segment.end(), length); } - segment = new Segment(marker, realPosition, segment.end(), length); segments.add(segment); } currentSegment = segments.size() - 1; if (streamPos >= segment.start && streamPos < segment.end()) { - stream.seek(segment.realStart + streamPos - segment.start); + segment.seek(stream, segment.realStart + streamPos - segment.start); break; } @@ -167,14 +178,14 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { segment = segments.get(currentSegment); if (streamPos >= segment.start && streamPos < segment.end()) { - stream.seek(segment.realStart + streamPos - segment.start); + segment.seek(stream, segment.realStart + streamPos - segment.start); break; } } } else { - stream.seek(segment.realStart + streamPos - segment.start); + segment.seek(stream, segment.realStart + streamPos - segment.start); } return segment; @@ -188,7 +199,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { try { int length = stream.readUnsignedShort(); // Length including length field itself - byte[] data = new byte[Math.max(20, length - 2)]; + byte[] data = new byte[Math.min(segmentId.length() + 1, length - 2)]; stream.readFully(data); return segmentId.equals(asNullTerminatedAsciiString(data, 0)); @@ -251,7 +262,8 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { repositionAsNecessary(); - int read = stream.read(); +// int read = stream.read(); + int read = segment.read(stream); if (read != -1) { streamPos++; @@ -272,7 +284,8 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { repositionAsNecessary(); long bytesLeft = segment.end() - streamPos; // If no more bytes after reposition, we're at EOF - int count = bytesLeft == 0 ? -1 : stream.read(b, off + total, (int) Math.min(len - total, bytesLeft)); +// int count = bytesLeft == 0 ? -1 : stream.read(b, off + total, (int) Math.min(len - total, bytesLeft)); + int count = bytesLeft == 0 ? -1 : segment.read(stream, b, off + total, (int) Math.min(len - total, bytesLeft)); if (count == -1) { // EOF @@ -298,7 +311,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { } static class Segment { - private final int marker; + final int marker; final long realStart; final long start; @@ -319,9 +332,86 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { return start + length; } + public void seek(final ImageInputStream stream, final long newPos) throws IOException { + stream.seek(newPos); + } + + public int read(final ImageInputStream stream) throws IOException { + return stream.read(); + } + + public int read(final ImageInputStream stream, byte[] b, int off, int len) throws IOException { + return stream.read(b, off, len); + } + + @Override public String toString() { return String.format("0x%04x[%d-%d]", marker, realStart, realEnd()); } } + + /** + * Workaround for a known bug in com.sun.imageio.plugins.jpeg.AdobeMarkerSegment, leaving the buffer in an + * inconsistent state, if the length of the APP14/Adobe is not exactly 16 bytes. + * + * @see Bug report + */ + static final class AdobeAPP14Replacement extends ReplacementSegment { + + AdobeAPP14Replacement(final long realStart, final long start, final long realLength, final ImageInputStream stream) throws IOException { + super(JPEG.APP14, realStart, start, realLength, createMarkerFixedLength(stream)); + } + + private static byte[] createMarkerFixedLength(final ImageInputStream stream) throws IOException { + byte[] segmentData = new byte[16]; + + segmentData[0] = (byte) ((JPEG.APP14 >> 8) & 0xff); + segmentData[1] = (byte) (JPEG.APP14 & 0xff); + segmentData[2] = (byte) 0; + segmentData[3] = (byte) 14; + + stream.readFully(segmentData, 4, segmentData.length - 4); + + return segmentData; + } + } + + static class ReplacementSegment extends Segment { + final long realLength; + final byte[] data; + + int pos; + + ReplacementSegment(final int marker, final long realStart, final long start, final long realLength, final byte[] replacementData) { + super(marker, realStart, start, replacementData.length); + this.realLength = realLength; + this.data = replacementData; + } + + @Override + long realEnd() { + return realStart + realLength; + } + + @Override + public void seek(final ImageInputStream stream, final long newPos) throws IOException { + pos = (int) (newPos - realStart); + stream.seek(newPos); + } + + @Override + public int read(final ImageInputStream stream) { + return data[pos++] & 0xff; + } + + @Override + public int read(final ImageInputStream stream, byte[] b, int off, int len) { + int length = Math.min(data.length - pos, len); + System.arraycopy(data, pos, b, off, length); + pos += length; + + return length; + } + } } diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java index 4154b77b..f6af554b 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStreamTest.java @@ -111,12 +111,15 @@ public class JPEGSegmentImageInputStreamTest { ImageInputStream stream = new JPEGSegmentImageInputStream(ImageIO.createImageInputStream(getClassLoaderResource("/jpeg/no-image-types-rgb-us-web-coated-v2-ms-photogallery-exif.jpg"))); List appSegments = JPEGSegmentUtil.readSegments(stream, JPEGSegmentUtil.APP_SEGMENTS); - assertEquals(1, appSegments.size()); + assertEquals(2, appSegments.size()); assertEquals(JPEG.APP1, appSegments.get(0).marker()); assertEquals("Exif", appSegments.get(0).identifier()); - // And thus, no JFIF, no Adobe, no XMP, no ICC_PROFILE or other segments + assertEquals(JPEG.APP14, appSegments.get(1).marker()); + assertEquals("Adobe", appSegments.get(1).identifier()); + + // And thus, no JFIF, no XMP, no ICC_PROFILE or other segments } @Test From 449db69d27fdf74cf41184950ccf386c38ca87be Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sun, 22 Mar 2015 14:19:29 +0100 Subject: [PATCH 32/39] TMI-121: Clean up. --- .../jpeg/JPEGSegmentImageInputStream.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index 78401b1c..639fdab9 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -81,7 +81,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { segment = segments.get(currentSegment); if (streamPos >= segment.start && streamPos < segment.end()) { - segment.seek(stream, segment.realStart + streamPos - segment.start); + segment.seek(stream, streamPos); return segment; } @@ -159,7 +159,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { currentSegment = segments.size() - 1; if (streamPos >= segment.start && streamPos < segment.end()) { - segment.seek(stream, segment.realStart + streamPos - segment.start); + segment.seek(stream, streamPos); break; } @@ -178,14 +178,14 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { segment = segments.get(currentSegment); if (streamPos >= segment.start && streamPos < segment.end()) { - segment.seek(stream, segment.realStart + streamPos - segment.start); + segment.seek(stream, streamPos); break; } } } else { - segment.seek(stream, segment.realStart + streamPos - segment.start); + segment.seek(stream, streamPos); } return segment; @@ -262,7 +262,6 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { repositionAsNecessary(); -// int read = stream.read(); int read = segment.read(stream); if (read != -1) { @@ -284,7 +283,6 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { repositionAsNecessary(); long bytesLeft = segment.end() - streamPos; // If no more bytes after reposition, we're at EOF -// int count = bytesLeft == 0 ? -1 : stream.read(b, off + total, (int) Math.min(len - total, bytesLeft)); int count = bytesLeft == 0 ? -1 : segment.read(stream, b, off + total, (int) Math.min(len - total, bytesLeft)); if (count == -1) { @@ -333,7 +331,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { } public void seek(final ImageInputStream stream, final long newPos) throws IOException { - stream.seek(newPos); + stream.seek(realStart + newPos - start); } public int read(final ImageInputStream stream) throws IOException { @@ -396,8 +394,8 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { @Override public void seek(final ImageInputStream stream, final long newPos) throws IOException { - pos = (int) (newPos - realStart); - stream.seek(newPos); + pos = (int) (newPos - start); + super.seek(stream, newPos); } @Override From 3ce0a8594f6579c578c8002986297cc73c92a325 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sun, 22 Mar 2015 14:25:29 +0100 Subject: [PATCH 33/39] TMI-121: Clean up. --- .../plugins/jpeg/JPEGSegmentImageInputStream.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index 639fdab9..bfb10eb8 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -117,13 +117,12 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { marker = 0xff00 | stream.readUnsignedByte(); } - // TODO: Should we just skip all app marker segments? - // We are now handling all important segments ourselves - // TODO: Need to re-insert the APP14, and instead make sure we limit it to 16 bytes, - // OR use two delegates, one for reading image data, and one for reading metadata... - boolean isApp14Adobe = false; - if (isAppSegmentMarker(marker) && !(marker == JPEG.APP1 && isAppSegmentWithId("Exif", stream) - || (isApp14Adobe = (marker == JPEG.APP14 && isAppSegmentWithId("Adobe", stream))))) { + // We are now handling all important segments ourselves, except APP1/Exif and APP14/Adobe, as these + boolean appSegmentMarker = isAppSegmentMarker(marker); + boolean isApp14Adobe = marker == JPEG.APP14 && isAppSegmentWithId("Adobe", stream); + boolean isApp1Exif = marker == JPEG.APP1 && isAppSegmentWithId("Exif", stream); + + if (appSegmentMarker && !(isApp1Exif || isApp14Adobe)) { int length = stream.readUnsignedShort(); // Length including length field itself stream.seek(realPosition + 2 + length); // Skip marker (2) + length } From de9960f38831c17fd11feac99b6a3c4dc585c556 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Sun, 22 Mar 2015 14:26:09 +0100 Subject: [PATCH 34/39] TMI-121: Clean up. --- .../imageio/plugins/jpeg/JPEGSegmentImageInputStream.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index bfb10eb8..0b26ccfd 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -117,7 +117,8 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { marker = 0xff00 | stream.readUnsignedByte(); } - // We are now handling all important segments ourselves, except APP1/Exif and APP14/Adobe, as these + // We are now handling all important segments ourselves, except APP1/Exif and APP14/Adobe, + // as these segments affects image decoding. boolean appSegmentMarker = isAppSegmentMarker(marker); boolean isApp14Adobe = marker == JPEG.APP14 && isAppSegmentWithId("Adobe", stream); boolean isApp1Exif = marker == JPEG.APP1 && isAppSegmentWithId("Exif", stream); From d2d7569a7f2f79ebad8d524874a0614e29422142 Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 23 Mar 2015 10:28:58 +0100 Subject: [PATCH 35/39] TMI-115: Now downsamples and replaces 16 bit DQTs with 8 bit variants. --- .../jpeg/JPEGSegmentImageInputStream.java | 56 ++++++++++++++++++ .../plugins/jpeg/JPEGImageReaderTest.java | 3 +- .../test/resources/jpeg/jfif-16bit-dqt.jpg | Bin 0 -> 4204 bytes 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 imageio/imageio-jpeg/src/test/resources/jpeg/jfif-16bit-dqt.jpg diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index 0b26ccfd..a5f11ecb 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -37,6 +37,7 @@ import java.io.EOFException; import java.io.IOException; import java.nio.charset.Charset; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import static com.twelvemonkeys.lang.Validate.notNull; @@ -149,6 +150,19 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { // Need to rewrite this segment, so that it gets length 16 and discard the remaining bytes... segment = new AdobeAPP14Replacement(realPosition, segment.end(), length, stream); } + else if (marker == JPEG.DQT) { + // TODO: Do we need to know SOF precision before determining if the DQT precision is bad? + // Inspect segment, see if we have 16 bit precision (assuming segments will not contain + // multiple quality tables with varying precision) + int qtInfo = stream.read(); + if ((qtInfo & 0x10) == 0x10) { + // TODO: Warning! + segment = new DownsampledDQTReplacement(realPosition, segment.end(), length, qtInfo, stream); + } + else { + segment = new Segment(marker, realPosition, segment.end(), length); + } + } else { segment = new Segment(marker, realPosition, segment.end(), length); } @@ -375,6 +389,48 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { } } + /** + * Workaround for a known bug in com.sun.imageio.plugins.jpeg.DQTMarkerSegment, throwing exception, + * if the DQT precision is 16 bits (not 8 bits). Native reader seems to cope fine though. + * This downsampling of the quality tables, creates visually same results, with no exceptions thrown. + */ + static final class DownsampledDQTReplacement extends ReplacementSegment { + + DownsampledDQTReplacement(final long realStart, final long start, final long realLength, final int qtInfo, final ImageInputStream stream) throws IOException { + super(JPEG.DQT, realStart, start, realLength, createMarkerFixedLength((int) realLength, qtInfo, stream)); + } + + private static byte[] createMarkerFixedLength(final int length, final int qtInfo, final ImageInputStream stream) throws IOException { + byte[] replacementData = new byte[length]; + + int numQTs = length / 128; + int newSegmentLength = 2 + 1 + 64 * numQTs; + + replacementData[0] = (byte) ((JPEG.DQT >> 8) & 0xff); + replacementData[1] = (byte) (JPEG.DQT & 0xff); + replacementData[2] = (byte) ((newSegmentLength >> 8) & 0xff); + replacementData[3] = (byte) (newSegmentLength & 0xff); + replacementData[4] = (byte) (qtInfo & 0x0f); + stream.readFully(replacementData, 5, replacementData.length - 5); + + // Downsample tables to 8 bits by discarding lower 8 bits... + int newOff = 4; + int oldOff = 4; + for (int q = 0; q < numQTs; q++) { + replacementData[newOff++] = (byte) (replacementData[oldOff++] & 0x0f); + + for (int i = 0; i < 64; i++) { + replacementData[newOff + i] = replacementData[oldOff + 1 + i * 2]; + } + + newOff += 64; + oldOff += 128; + } + + return Arrays.copyOfRange(replacementData, 0, newSegmentLength + 2); + } + } + static class ReplacementSegment extends Segment { final long realLength; final byte[] data; diff --git a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java index 80c7d33e..3ab02410 100644 --- a/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java +++ b/imageio/imageio-jpeg/src/test/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGImageReaderTest.java @@ -91,7 +91,8 @@ public class JPEGImageReaderTest extends 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 aw=>{0W)kzSX}3t0_5nbB@H0yCVERA79t(&7 literal 0 HcmV?d00001 From cf323dbc51fffe0a22dd8082b17c7e641d950a7e Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Mon, 23 Mar 2015 15:55:52 +0100 Subject: [PATCH 36/39] TMI-51: Implemented getCompatibleBufferedImageType as specified. --- .../image/MappedImageFactory.java | 161 ++++++++++++++++++ .../image/MappedImageFactoryTest.java | 26 +++ 2 files changed, 187 insertions(+) create mode 100644 sandbox/sandbox-common/src/test/java/com/twelvemonkeys/image/MappedImageFactoryTest.java diff --git a/sandbox/sandbox-common/src/main/java/com/twelvemonkeys/image/MappedImageFactory.java b/sandbox/sandbox-common/src/main/java/com/twelvemonkeys/image/MappedImageFactory.java index 4f8cc7c0..2dd4ac58 100644 --- a/sandbox/sandbox-common/src/main/java/com/twelvemonkeys/image/MappedImageFactory.java +++ b/sandbox/sandbox-common/src/main/java/com/twelvemonkeys/image/MappedImageFactory.java @@ -28,8 +28,11 @@ package com.twelvemonkeys.image; +import com.twelvemonkeys.lang.Validate; + import javax.imageio.ImageTypeSpecifier; import java.awt.*; +import java.awt.color.ColorSpace; import java.awt.image.*; import java.io.IOException; import java.lang.reflect.Constructor; @@ -53,6 +56,22 @@ public final class MappedImageFactory { // - Might be possible (but slow) to copy parts to memory and do CCOp on these copies private static final boolean DEBUG = "true".equalsIgnoreCase(System.getProperty("com.twelvemonkeys.image.mapped.debug")); + + /* Constants for DirectColorModel masks, from BufferedImage. */ + private static final int DCM_RED_MASK = 0x00ff0000; + private static final int DCM_GREEN_MASK = 0x0000ff00; + private static final int DCM_BLUE_MASK = 0x000000ff; + private static final int DCM_ALPHA_MASK = 0xff000000; + private static final int DCM_565_RED_MASK = 0xf800; + private static final int DCM_565_GRN_MASK = 0x07E0; + private static final int DCM_565_BLU_MASK = 0x001F; + private static final int DCM_555_RED_MASK = 0x7C00; + private static final int DCM_555_GRN_MASK = 0x03E0; + private static final int DCM_555_BLU_MASK = 0x001F; + private static final int DCM_BGR_RED_MASK = 0x0000ff; + private static final int DCM_BGR_GRN_MASK = 0x00ff00; + private static final int DCM_BGR_BLU_MASK = 0xff0000; + static final RasterFactory RASTER_FACTORY = createRasterFactory(); private MappedImageFactory() {} @@ -80,6 +99,148 @@ public final class MappedImageFactory { return new BufferedImage(cm, RASTER_FACTORY.createRaster(sm, buffer, new Point()), cm.isAlphaPremultiplied(), null); } + /** + *