From 4463a00667b9d2e8989e84be995406f2c54acfcb Mon Sep 17 00:00:00 2001 From: Harald Kuhr Date: Fri, 30 Mar 2012 16:36:32 +0200 Subject: [PATCH] Added multi-palette support to IFFImageReader + minor clean-up. --- .../iff/AbstractMultipaletteChunk.java | 128 +++++++++ .../imageio/plugins/iff/BMHDChunk.java | 2 +- .../imageio/plugins/iff/BODYChunk.java | 2 +- .../imageio/plugins/iff/CAMGChunk.java | 11 +- .../imageio/plugins/iff/CMAPChunk.java | 2 +- .../imageio/plugins/iff/CTBLChunk.java | 42 +++ .../imageio/plugins/iff/GRABChunk.java | 2 +- .../imageio/plugins/iff/GenericChunk.java | 12 +- .../imageio/plugins/iff/IFF.java | 63 +++- .../imageio/plugins/iff/IFFChunk.java | 13 + .../imageio/plugins/iff/IFFImageReader.java | 178 +++++++++--- .../imageio/plugins/iff/Multipalette.java | 43 +++ .../plugins/iff/MutableIndexColorModel.java | 131 +++++++++ .../imageio/plugins/iff/PCHGChunk.java | 270 ++++++++++++++++++ .../imageio/plugins/iff/SHAMChunk.java | 47 +++ .../plugins/iff/IFFImageReaderTest.java | 14 +- .../src/test/resources/iff/IKKEGOD.iff | Bin 0 -> 83316 bytes .../src/test/resources/iff/Manhattan.PCHG | Bin 0 -> 103850 bytes .../test/resources/iff/Somnambulist-2.SHAM | Bin 0 -> 115182 bytes .../src/test/resources/iff/fair-use.txt | 5 + 20 files changed, 908 insertions(+), 57 deletions(-) create mode 100644 imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/AbstractMultipaletteChunk.java create mode 100644 imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CTBLChunk.java create mode 100644 imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/Multipalette.java create mode 100644 imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/MutableIndexColorModel.java create mode 100644 imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/PCHGChunk.java create mode 100644 imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/SHAMChunk.java create mode 100644 imageio/imageio-iff/src/test/resources/iff/IKKEGOD.iff create mode 100644 imageio/imageio-iff/src/test/resources/iff/Manhattan.PCHG create mode 100644 imageio/imageio-iff/src/test/resources/iff/Somnambulist-2.SHAM create mode 100644 imageio/imageio-iff/src/test/resources/iff/fair-use.txt diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/AbstractMultipaletteChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/AbstractMultipaletteChunk.java new file mode 100644 index 00000000..29cec373 --- /dev/null +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/AbstractMultipaletteChunk.java @@ -0,0 +1,128 @@ +/* + * Copyright (c) 2012, 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. + */ +/* + * Parts of this code is based on ilbmtoppm.c + * + * Copyright (C) 1989 by Jef Poskanzer. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. This software is provided "as is" without express or + * implied warranty. + * + * Multipalette-support by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import java.awt.image.ColorModel; +import java.awt.image.IndexColorModel; +import java.io.DataInput; +import java.io.DataOutput; +import java.io.IOException; +import java.lang.ref.WeakReference; + +/** + * AbstractMultiPaletteChunk + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: AbstractMultiPaletteChunk.java,v 1.0 30.03.12 15:57 haraldk Exp$ + */ +abstract class AbstractMultiPaletteChunk extends IFFChunk implements MultiPalette { + /* scale factor maxval 15 -> maxval 255 */ + static final int FACTOR_4BIT = 17; + + protected MutableIndexColorModel.PaletteChange[] initialChanges; + protected MutableIndexColorModel.PaletteChange[][] changes; + + protected WeakReference originalPalette; + protected MutableIndexColorModel mutablePalette; + + public AbstractMultiPaletteChunk(int pChunkId, int pChunkLength) { + super(pChunkId, pChunkLength); + } + + @Override + void readChunk(final DataInput pInput) throws IOException { + if (chunkId == IFF.CHUNK_SHAM) { + pInput.readUnsignedShort(); // Version, typically 0, skipped + } + + int rows = chunkLength / 32; /* sizeof(word) * 16 */ + + changes = new MutableIndexColorModel.PaletteChange[rows][]; + + for (int row = 0; row < rows; row++) { + changes[row] = new MutableIndexColorModel.PaletteChange[16]; + + for (int i = 0; i < 16; i++) { + changes[row][i] = new MutableIndexColorModel.PaletteChange(); + } + + for (int i = 0; i < 16; i++ ) { + int data = pInput.readUnsignedShort(); + + changes[row][i].index = i; + changes[row][i].r = (byte) (((data & 0x0f00) >> 8) * FACTOR_4BIT); + changes[row][i].g = (byte) (((data & 0x00f0) >> 4) * FACTOR_4BIT); + changes[row][i].b = (byte) (((data & 0x000f) ) * FACTOR_4BIT); + } + } + } + + @Override + void writeChunk(DataOutput pOutput) throws IOException { + throw new UnsupportedOperationException("Method writeChunk not implemented"); + } + + + public ColorModel getColorModel(final IndexColorModel colorModel, final int rowIndex, final boolean laced) { + if (mutablePalette == null || originalPalette != null && originalPalette.get() != colorModel) { + originalPalette = new WeakReference(colorModel); + mutablePalette = new MutableIndexColorModel(colorModel); + + if (initialChanges != null) { + mutablePalette.adjustColorMap(initialChanges); + } + } + + int row = laced && skipLaced() ? rowIndex / 2 : rowIndex; + if (row < changes.length && changes[row] != null) { + mutablePalette.adjustColorMap(changes[row]); + } + + return mutablePalette; + } + + protected boolean skipLaced() { + return false; + } +} diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java index 7442108a..a784699f 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BMHDChunk.java @@ -40,7 +40,7 @@ import java.io.IOException; * @author Harald Kuhr * @version $Id: BMHDChunk.java,v 1.0 28.feb.2006 00:04:32 haku Exp$ */ -class BMHDChunk extends IFFChunk { +final class BMHDChunk extends IFFChunk { // // typedef UBYTE Masking; /* Choice of masking technique. */ // diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java index 0e94d910..42a5bbf7 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/BODYChunk.java @@ -39,7 +39,7 @@ import java.io.DataOutput; * @author Harald Kuhr * @version $Id: BODYChunk.java,v 1.0 28.feb.2006 01:25:49 haku Exp$ */ -class BODYChunk extends IFFChunk { +final class BODYChunk extends IFFChunk { protected BODYChunk(int pChunkLength) { super(IFF.CHUNK_BODY, pChunkLength); } diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java index e42ee11d..a2e6818f 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CAMGChunk.java @@ -40,7 +40,7 @@ import java.io.IOException; * @author Harald Kuhr * @version $Id: CAMGChunk.java,v 1.0 28.feb.2006 02:10:07 haku Exp$ */ -class CAMGChunk extends IFFChunk { +final class CAMGChunk extends IFFChunk { // HIRES=0x8000, LACE=0x4 // #define CAMG_HAM 0x800 /* hold and modify */ // #define CAMG_EHB 0x80 /* extra halfbrite */ @@ -55,6 +55,7 @@ class CAMGChunk extends IFFChunk { if (chunkLength != 4) { throw new IIOException("Unknown CAMG chunk length: " + chunkLength); } + camg = pInput.readInt(); } @@ -62,6 +63,14 @@ class CAMGChunk extends IFFChunk { throw new InternalError("Not implemented: writeChunk()"); } + boolean isHires() { + return (camg & 0x8000) != 0; + } + + boolean isLaced() { + return (camg & 0x4) != 0; + } + boolean isHAM() { return (camg & 0x800) != 0; } diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java index 4171e524..eeb8d19c 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CMAPChunk.java @@ -45,7 +45,7 @@ import java.io.IOException; * @author Harald Kuhr * @version $Id: CMAPChunk.java,v 1.0 28.feb.2006 00:38:05 haku Exp$ */ -class CMAPChunk extends IFFChunk { +final class CMAPChunk extends IFFChunk { // typedef struct { // UBYTE red, green, blue; /* color intensities 0..255 */ diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CTBLChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CTBLChunk.java new file mode 100644 index 00000000..6062518f --- /dev/null +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/CTBLChunk.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2012, 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.iff; + +/** + * CTBLChunk + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: CTBLChunk.java,v 1.0 30.03.12 14:53 haraldk Exp$ + */ +final class CTBLChunk extends AbstractMultiPaletteChunk { + protected CTBLChunk(int pChunkLength) { + super(IFF.CHUNK_CTBL, pChunkLength); + } +} diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java index efaa0015..bf69b27b 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GRABChunk.java @@ -42,7 +42,7 @@ import java.io.IOException; * @author Harald Kuhr * @version $Id: GRABChunk.java,v 1.0 28.feb.2006 01:55:05 haku Exp$ */ -class GRABChunk extends IFFChunk { +final class GRABChunk extends IFFChunk { // typedef struct { // WORD x, y; /* relative coordinates (pixels) */ // } Point2D; diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java index bb63d20d..78b5f3a1 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/GenericChunk.java @@ -39,7 +39,7 @@ import java.io.DataOutput; * @author Harald Kuhr * @version $Id: UnknownChunk.java,v 1.0 28.feb.2006 00:53:47 haku Exp$ */ -class GenericChunk extends IFFChunk { +final class GenericChunk extends IFFChunk { byte[] data; @@ -56,15 +56,7 @@ class GenericChunk extends IFFChunk { void readChunk(DataInput pInput) throws IOException { pInput.readFully(data, 0, data.length); - int toSkip = chunkLength - data.length; - while (toSkip > 0) { - toSkip -= pInput.skipBytes(toSkip); - } - - // Read pad - if (chunkLength % 2 != 0) { - pInput.readByte(); - } + skipData(pInput, chunkLength, data.length); } void writeChunk(DataOutput pOutput) throws IOException { diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java index 504d5aa9..c9185d79 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFF.java @@ -39,12 +39,22 @@ interface IFF { /** IFF FORM group chunk */ int CHUNK_FORM = ('F' << 24) + ('O' << 16) + ('R' << 8) + 'M'; - /** IFF ILBM form type */ + /** IFF ILBM form type (Interleaved bitmap) */ int TYPE_ILBM = ('I' << 24) + ('L' << 16) + ('B' << 8) + 'M'; - /** IFF PBM form type */ + /** IFF PBM form type (Packed bitmap) */ int TYPE_PBM = ('P' << 24) + ('B' << 16) + ('M' << 8) + ' '; + // TODO: + /** IFF DEEP form type (TVPaint) */ + int TYPE_DEEP = ('D' << 24) + ('E' << 16) + ('E' << 8) + 'P'; + /** IFF RGB8 form type (TurboSilver) */ + int TYPE_RGB8 = ('R' << 24) + ('G' << 16) + ('B' << 8) + '8'; + /** IFF RGBN form type (TurboSilver) */ + int TYPE_RGBN = ('R' << 24) + ('G' << 16) + ('B' << 8) + 'N'; + /** IFF ACBM form type (Amiga Basic) */ + int TYPE_ACBM = ('A' << 24) + ('C' << 16) + ('B' << 8) + 'M'; + /** Bitmap Header chunk */ int CHUNK_BMHD = ('B' << 24) + ('M' << 16) + ('H' << 8) + 'D'; @@ -65,4 +75,53 @@ interface IFF { /** Main data (body) chunk */ int CHUNK_BODY = ('B' << 24) + ('O' << 16) + ('D' << 8) + 'Y'; + + /** Junk (to allow garbage data in files, without re-writing the entire file) */ + int CHUNK_JUNK = ('J' << 24) + ('U' << 16) + ('N' << 8) + 'K'; + + /** EA IFF 85 Generic Author chunk */ + int CHUNK_AUTH = ('A' << 24) + ('U' << 16) + ('T' << 8) + 'H'; + /** EA IFF 85 Generic character string chunk */ + int CHUNK_CHRS = ('C' << 24) + ('H' << 16) + ('R' << 8) + 'S'; + /** EA IFF 85 Generic Name of art, music, etc. chunk */ + int CHUNK_NAME = ('N' << 24) + ('A' << 16) + ('M' << 8) + 'E'; + /** EA IFF 85 Generic unformatted ASCII text chunk */ + int CHUNK_TEXT = ('T' << 24) + ('E' << 16) + ('X' << 8) + 'T'; + /** EA IFF 85 Generic Copyright text chunk */ + int CHUNK_COPY = ('(' << 24) + ('c' << 16) + (')' << 8) + ' '; + + /** color cycling */ + int CHUNK_CRNG = ('C' << 24) + ('R' << 16) + ('N' << 8) + 'G'; + /** color cycling */ + int CHUNK_CCRT = ('C' << 24) + ('C' << 16) + ('R' << 8) + 'T'; + /** Color Lookup Table chunk */ + int CHUNK_CLUT = ('C' << 24) + ('L' << 16) + ('U' << 8) + 'T'; + /** Dots per inch chunk */ + int CHUNK_DPI = ('D' << 24) + ('P' << 16) + ('I' << 8) + ' '; + /** DPaint perspective chunk (EA) */ + int CHUNK_DPPV = ('D' << 24) + ('P' << 16) + ('P' << 8) + 'V'; + /** DPaint IV enhanced color cycle chunk (EA) */ + int CHUNK_DRNG = ('D' << 24) + ('R' << 16) + ('N' << 8) + 'G'; + /** Encapsulated Postscript chunk */ + int CHUNK_EPSF = ('E' << 24) + ('P' << 16) + ('S' << 8) + 'F'; + /** Cyan, Magenta, Yellow, & Black color map (Soft-Logik) */ + int CHUNK_CMYK = ('C' << 24) + ('M' << 16) + ('Y' << 8) + 'K'; + /** Color naming chunk (Soft-Logik) */ + int CHUNK_CNAM = ('C' << 24) + ('N' << 16) + ('A' << 8) + 'M'; + /** Line by line palette control information (Sebastiano Vigna) */ + int CHUNK_PCHG = ('P' << 24) + ('C' << 16) + ('H' << 8) + 'G'; + /** A mini duplicate ILBM used for preview (Gary Bonham) */ + int CHUNK_PRVW = ('P' << 24) + ('R' << 16) + ('V' << 8) + 'W'; + /** eXtended BitMap Information (Soft-Logik) */ + int CHUNK_XBMI = ('X' << 24) + ('B' << 16) + ('M' << 8) + 'I'; + /** Newtek Dynamic Ham color chunk */ + int CHUNK_CTBL = ('C' << 24) + ('T' << 16) + ('B' << 8) + 'L'; + /** Newtek Dynamic Ham chunk */ + int CHUNK_DYCP = ('D' << 24) + ('Y' << 16) + ('C' << 8) + 'P'; + /** Sliced HAM color chunk */ + int CHUNK_SHAM = ('S' << 24) + ('H' << 16) + ('A' << 8) + 'M'; + /** ACBM body chunk */ + int CHUNK_ABIT = ('A' << 24) + ('B' << 16) + ('I' << 8) + 'T'; + /** unofficial direct color */ + int CHUNK_DCOL = ('D' << 24) + ('C' << 16) + ('O' << 8) + 'L'; } diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java index f3fadd98..1c6b3982 100755 --- a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/IFFChunk.java @@ -52,6 +52,19 @@ abstract class IFFChunk { abstract void writeChunk(DataOutput pOutput) throws IOException; + protected static void skipData(final DataInput pInput, final int chunkLength, final int dataReadSoFar) throws IOException { + int toSkip = chunkLength - dataReadSoFar; + + while (toSkip > 0) { + toSkip -= pInput.skipBytes(toSkip); + } + + // Read pad + if (chunkLength % 2 != 0) { + pInput.readByte(); + } + } + public String toString() { return IFFUtil.toChunkStr(chunkId) + " chunk (" + chunkLength + " bytes)"; } 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 7a42ffd5..dc9446a0 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 @@ -28,6 +28,7 @@ package com.twelvemonkeys.imageio.plugins.iff; +import com.twelvemonkeys.image.ResampleOp; import com.twelvemonkeys.imageio.ImageReaderBase; import com.twelvemonkeys.imageio.stream.BufferedImageInputStream; import com.twelvemonkeys.imageio.util.IIOUtil; @@ -94,7 +95,9 @@ public class IFFImageReader extends ImageReaderBase { // http://home.comcast.net/~erniew/lwsdk/docs/filefmts/ilbm.html // http://www.fileformat.info/format/iff/spec/7866a9f0e53c42309af667c5da3bd426/view.htm // - Contains definitions of some "new" chunks, as well as alternative FORM types - // http://amigan.1emu.net/reg/iff.html + // http://amigan.1emu.net/index/iff.html + + // TODO: Allow reading rasters for HAM6/HAM8 and multipalette images that are expanded to RGB (24 bit) during read. private BMHDChunk header; private CMAPChunk colorMap; @@ -102,6 +105,7 @@ public class IFFImageReader extends ImageReaderBase { @SuppressWarnings({"FieldCanBeLocal"}) private GRABChunk grab; private CAMGChunk viewPort; + private MultiPalette paletteChange; private int formType; private long bodyStart; @@ -127,6 +131,7 @@ public class IFFImageReader extends ImageReaderBase { protected void resetMembers() { header = null; colorMap = null; + paletteChange = null; body = null; viewPort = null; formType = 0; @@ -144,7 +149,7 @@ public class IFFImageReader extends ImageReaderBase { formType = imageInput.readInt(); if (formType != IFF.TYPE_ILBM && formType != IFF.TYPE_PBM) { - throw new IIOException("Only IFF (FORM) type ILBM and PBM supported: " + IFFUtil.toChunkStr(formType)); + throw new IIOException("Only IFF FORM types ILBM and PBM supported: " + IFFUtil.toChunkStr(formType)); } //System.out.println("IFF type FORM " + toChunkStr(type)); @@ -200,6 +205,57 @@ public class IFFImageReader extends ImageReaderBase { //System.out.println(viewPort); break; + case IFF.CHUNK_PCHG: + if (paletteChange instanceof PCHGChunk) { + throw new IIOException("Multiple PCHG chunks not allowed"); + } + + PCHGChunk pchg = new PCHGChunk(length); + pchg.readChunk(imageInput); + + // Always prefer PCHG style palette changes + paletteChange = pchg; + +// System.out.println(paletteChange); + break; + + case IFF.CHUNK_SHAM: + if (paletteChange instanceof SHAMChunk) { + throw new IIOException("Multiple SHAM chunks not allowed"); + } + + SHAMChunk sham = new SHAMChunk(length); + sham.readChunk(imageInput); + + // NOTE: We prefer PHCG to SHAM style palette changes, if both are present + if (paletteChange == null) { + paletteChange = sham; + } + +// System.out.println(paletteChange); + break; + + case IFF.CHUNK_CTBL: + if (paletteChange instanceof CTBLChunk) { + throw new IIOException("Multiple CTBL chunks not allowed"); + } + + CTBLChunk ctbl = new CTBLChunk(length); + ctbl.readChunk(imageInput); + + // NOTE: We prefer PHCG to ctbl style palette changes, if both are present + if (paletteChange == null) { + paletteChange = ctbl; + } + +// System.out.println(paletteChange); + break; + + case IFF.CHUNK_JUNK: + // Always skip junk chunks + IFFChunk.skipData(imageInput, length, 0); + break; + case IFF.CHUNK_BODY: if (body != null) { throw new IIOException("Multiple BODY chunks not allowed"); @@ -209,16 +265,15 @@ public class IFFImageReader extends ImageReaderBase { bodyStart = imageInput.getStreamPosition(); // NOTE: We don't read the body here, it's done later in the read(int, ImageReadParam) method - // Done reading meta return; default: - // TODO: We probably want to store anno chunks as Metadata - // ANNO, DEST, SPRT and more + // TODO: We probably want to store ANNO, TEXT, AUTH, COPY etc chunks as Metadata + // SHAM, ANNO, DEST, SPRT and more IFFChunk generic = new GenericChunk(chunkId, length); generic.readChunk(imageInput); - //System.out.println(generic); +// System.out.println(generic); break; } } @@ -297,7 +352,7 @@ public class IFFImageReader extends ImageReaderBase { case 8: // 8 bit // May be HAM8 - if (!isHAM()) { + if (!isConvertToRGB()) { if (colorMap != null) { IndexColorModel cm = colorMap.getIndexColorModel(); specifier = IndexedImageTypeSpecifier.createFromIndexColorModel(cm); @@ -323,6 +378,10 @@ public class IFFImageReader extends ImageReaderBase { return specifier; } + private boolean isConvertToRGB() { + return isHAM() || isPCHG() || isSHAM(); + } + private void readBody(final ImageReadParam pParam) throws IOException { imageInput.seek(bodyStart); byteRunStream = null; @@ -361,7 +420,7 @@ public class IFFImageReader extends ImageReaderBase { } // Ensure band settings from param are compatible with images - checkReadParamBandSettings(pParam, isHAM() ? 3 : 1, image.getSampleModel().getNumBands()); + checkReadParamBandSettings(pParam, isConvertToRGB() ? 3 : 1, image.getSampleModel().getNumBands()); WritableRaster destination = image.getRaster(); if (destinationBands != null || offset.x != 0 || offset.y != 0) { @@ -376,7 +435,7 @@ public class IFFImageReader extends ImageReaderBase { ColorModel cm; WritableRaster raster; - if (isHAM()) { + if (isConvertToRGB()) { // TODO: If HAM6, use type USHORT_444_RGB or 2BYTE_444_RGB? // Or create a HAMColorModel, if at all possible? // TYPE_3BYTE_BGR @@ -398,9 +457,8 @@ public class IFFImageReader extends ImageReaderBase { final byte[] row = new byte[width * 8]; - //System.out.println("Data length: " + data.length); - //System.out.println("PlaneData length: " + planeData.length * planeData[0].length); - //System.out.println("Row length: " + row.length); +// System.out.println("PlaneData length: " + planeData.length); +// System.out.println("Row length: " + row.length); final byte[] data = ((DataBufferByte) raster.getDataBuffer()).getData(); @@ -433,6 +491,12 @@ public class IFFImageReader extends ImageReaderBase { if (isHAM()) { hamToRGB(row, pModel, data, 0); } + else if (isConvertToRGB()) { + multiPaletteToRGB(srcY, row, pModel, data, 0); + } + else if (isSHAM()) { + throw new UnsupportedOperationException("SHAM not supported (yet)"); + } else { raster.setDataElements(0, 0, width, 1, row); } @@ -449,7 +513,7 @@ public class IFFImageReader extends ImageReaderBase { int dstY = (srcY - aoi.y) / sourceYSubsampling; // Handle non-converting raster as special case for performance if (cm.isCompatibleRaster(destination)) { - // Rasters are compatible, just write to destinaiton + // Rasters are compatible, just write to destination if (sourceXSubsampling == 1) { destination.setRect(offset.x, dstY, sourceRow); // dataElements = raster.getDataElements(aoi.x, 0, aoi.width, 1, dataElements); @@ -609,10 +673,12 @@ public class IFFImageReader extends ImageReaderBase { switch (header.compressionType) { case BMHDChunk.COMPRESSION_NONE: pInput.readFully(pData, pOffset, pPlaneWidth); + // Uncompressed rows must have even number of bytes if ((header.bitplanes * pPlaneWidth) % 2 != 0) { pInput.readByte(); } + break; case BMHDChunk.COMPRESSION_BYTE_RUN: @@ -630,6 +696,7 @@ public class IFFImageReader extends ImageReaderBase { ) ); } + byteRunStream.readFully(pData, pOffset, pPlaneWidth); break; @@ -638,8 +705,25 @@ public class IFFImageReader extends ImageReaderBase { } } - private void hamToRGB(final byte[] pIndexed, final IndexColorModel pModel, - final byte[] pDest, final int pDestOffset) { + private void multiPaletteToRGB(final int srcY, final byte[] indexed, final IndexColorModel colorModel, final byte[] dest, final int destOffset) { + final int width = header.width; + + // TODO: Assure we have applied color change for all rows up until rowIndex, in case of source region/subsampling + ColorModel palette = paletteChange.getColorModel(colorModel, srcY, isLaced()); + + for (int x = 0; x < width; x++) { + int pixel = indexed[x] & 0xff; + + int rgb = palette.getRGB(pixel); + + int offset = (x * 3) + destOffset; + dest[2 + offset] = (byte) ((rgb >> 16) & 0xff); + dest[1 + offset] = (byte) ((rgb >> 8) & 0xff); + dest[ offset] = (byte) ( rgb & 0xff); + } + } + + private void hamToRGB(final byte[] indexed, final IndexColorModel colorModel, final byte[] dest, final int destOffset) { final int bits = header.bitplanes; final int width = header.width; int lastRed = 0; @@ -647,20 +731,18 @@ public class IFFImageReader extends ImageReaderBase { int lastBlue = 0; for (int x = 0; x < width; x++) { - int pixel = pIndexed[x] & 0xff; + int pixel = indexed[x] & 0xff; - //System.out.println("--> ham" + bits); int paletteIndex = bits == 6 ? pixel & 0x0f : pixel & 0x3f; int indexShift = bits == 6 ? 4 : 2; int colorMask = bits == 6 ? 0x0f : 0x03; - //System.out.println("palette index=" + paletteIndex); // Get Hold and Modify bits switch ((pixel >> (8 - indexShift)) & 0x03) { case 0x00:// HOLD - lastRed = pModel.getRed(paletteIndex); - lastGreen = pModel.getGreen(paletteIndex); - lastBlue = pModel.getBlue(paletteIndex); + lastRed = colorModel.getRed(paletteIndex); + lastGreen = colorModel.getGreen(paletteIndex); + lastBlue = colorModel.getBlue(paletteIndex); break; case 0x01:// MODIFY BLUE lastBlue = (lastBlue & colorMask) | (paletteIndex << indexShift); @@ -672,29 +754,48 @@ public class IFFImageReader extends ImageReaderBase { lastGreen = (lastGreen & colorMask) | (paletteIndex << indexShift); break; } - int offset = (x * 3) + pDestOffset; - pDest[2 + offset] = (byte) lastRed; - pDest[1 + offset] = (byte) lastGreen; - pDest[offset] = (byte) lastBlue; + + int offset = (x * 3) + destOffset; + dest[2 + offset] = (byte) lastRed; + dest[1 + offset] = (byte) lastGreen; + dest[ offset] = (byte) lastBlue; } } + private boolean isSHAM() { + // TODO: + return false; + } + + private boolean isPCHG() { + return paletteChange != null; + } + private boolean isHAM() { return viewPort != null && viewPort.isHAM(); } + public boolean isLaced() { + return viewPort != null && viewPort.isLaced(); + } + public static void main(String[] pArgs) throws IOException { ImageReader reader = new IFFImageReader(); -// ImageInputStream input = ImageIO.createImageInputStream(new File(pArgs[0])); - ImageInputStream input = new BufferedImageInputStream(ImageIO.createImageInputStream(new File(pArgs[0]))); - boolean canRead = reader.getOriginatingProvider().canDecodeInput(input); + boolean scale = false; + for (String arg : pArgs) { + if (arg.startsWith("-")) { + scale = true; + continue; + } + ImageInputStream input = new BufferedImageInputStream(ImageIO.createImageInputStream(new File(arg))); + boolean canRead = reader.getOriginatingProvider().canDecodeInput(input); - System.out.println("Can read: " + canRead); + System.out.println("Can read: " + canRead); - if (canRead) { - reader.setInput(input); - ImageReadParam param = reader.getDefaultReadParam(); + if (canRead) { + reader.setInput(input); + ImageReadParam param = reader.getDefaultReadParam(); // param.setSourceRegion(new Rectangle(0, 0, 160, 200)); // param.setSourceRegion(new Rectangle(160, 200, 160, 200)); // param.setSourceRegion(new Rectangle(80, 100, 160, 200)); @@ -702,10 +803,17 @@ public class IFFImageReader extends ImageReaderBase { // param.setSourceSubsampling(3, 3, 0, 0); // param.setSourceBands(new int[]{0, 1, 2}); // param.setDestinationBands(new int[]{1, 0, 2}); - BufferedImage image = reader.read(0, param); - System.out.println("image = " + image); + BufferedImage image = reader.read(0, param); + System.out.println("image = " + image); + + if (scale) { + image = new ResampleOp(image.getWidth() / 2, image.getHeight(), ResampleOp.FILTER_LANCZOS).filter(image, null); +// image = ImageUtil.createResampled(image, image.getWidth(), image.getHeight() * 2, Image.SCALE_FAST); + } + + showIt(image, arg); + } - showIt(image, pArgs[0]); } } } diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/Multipalette.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/Multipalette.java new file mode 100644 index 00000000..6130b25c --- /dev/null +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/Multipalette.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2012, 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.iff; + +import java.awt.image.ColorModel; +import java.awt.image.IndexColorModel; + +/** + * MultiPalette + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: MultiPalette.java,v 1.0 30.03.12 15:22 haraldk Exp$ + */ +interface MultiPalette { + ColorModel getColorModel(IndexColorModel colorModel, int rowIndex, boolean laced); +} diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/MutableIndexColorModel.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/MutableIndexColorModel.java new file mode 100644 index 00000000..37a54d96 --- /dev/null +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/MutableIndexColorModel.java @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2012, 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. + */ +/* + * Parts of this code is based on ilbmtoppm.c + * + * Copyright (C) 1989 by Jef Poskanzer. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. This software is provided "as is" without express or + * implied warranty. + * + * Multipalette-support by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + */ + +package com.twelvemonkeys.imageio.plugins.iff; + +import java.awt.image.ColorModel; +import java.awt.image.IndexColorModel; + +/** + * A mutable indexed color model. + * For use with images that exploits Amiga hardware to change the color + * lookup table between scan lines. + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: MutableIndexColorModel.java,v 1.0 29.03.12 15:00 haraldk Exp$ + */ +final class MutableIndexColorModel extends ColorModel { + final static int MP_REG_IGNORE = -1; + + final int[] rgbs; + + public MutableIndexColorModel(final IndexColorModel base) { + super(base.getPixelSize(), base.getComponentSize(), base.getColorSpace(), base.hasAlpha(), base.isAlphaPremultiplied(), base.getTransparency(), base.getTransferType()); + + this.rgbs = getRGBs(base); + } + + private static int[] getRGBs(final IndexColorModel colorModel) { + int[] rgbs = new int[colorModel.getMapSize()]; + colorModel.getRGBs(rgbs); + return rgbs; + } + + public void adjustColorMap(final PaletteChange[] changes) { + for (int i = 0; i < changes.length; i++) { + int index = changes[i].index; + + if (index >= rgbs.length) { + // TODO: Issue IIO warning + System.err.printf("warning - palette change register out of range\n"); + System.err.printf(" change structure %d index=%d (max %d)\n", i, index, getMapSize() - 1); + System.err.printf(" ignoring it... colors might get messed up from here\n"); + } + else if (index != MP_REG_IGNORE) { + updateRGB(index, ((changes[i].r & 0xff) << 16) | ((changes[i].g & 0xff) << 8) | (changes[i].b & 0xff)); + } + } + } + + @Override + public int getRGB(int pixel) { + return rgbs[pixel]; + } + + @Override + public int getRed(int pixel) { + return (rgbs[pixel] >> 16) & 0xff; + } + + @Override + public int getGreen(int pixel) { + return (rgbs[pixel] >> 8) & 0xff; + } + + @Override + public int getBlue(int pixel) { + return rgbs[pixel] & 0xff; + } + + @Override + public int getAlpha(int pixel) { + return (rgbs[pixel] >> 24) & 0xff; + } + + private void updateRGB(int index, int rgb) { + rgbs[index] = rgb; + } + + public int getMapSize() { + return rgbs.length; + } + + static class PaletteChange { + /* palette index to change */ + public int index; + /* new colors for index */ + public byte r; + public byte g; + public byte b; + } +} diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/PCHGChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/PCHGChunk.java new file mode 100644 index 00000000..441582db --- /dev/null +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/PCHGChunk.java @@ -0,0 +1,270 @@ +/* + * Copyright (c) 2012, 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. + */ +/* + * Parts of this code is based on ilbmtoppm.c + * + * Copyright (C) 1989 by Jef Poskanzer. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose and without fee is hereby granted, provided + * that the above copyright notice appear in all copies and that both that + * copyright notice and this permission notice appear in supporting + * documentation. This software is provided "as is" without express or + * implied warranty. + * + * Multipalette-support by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de) + */ +package com.twelvemonkeys.imageio.plugins.iff; + +import javax.imageio.IIOException; +import java.io.DataInput; +import java.io.IOException; + +/** + * PCHGChunk + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: PCHGChunk.java,v 1.0 27.03.12 13:02 haraldk Exp$ + */ +final class PCHGChunk extends AbstractMultiPaletteChunk { + // NOTE: Values from ilbm2ppm. + final static int PCHG_COMP_NONE = 0; + final static int PCHG_COMP_HUFFMAN = 1; + + /** Use SmallLineChanges */ + final static int PCHGF_12BIT = 1; // NOTE: The beta spec refers to this as PHCGF_4BIT + /** Use BigLineChanges */ + final static int PCHGF_32BIT = 2; + /** meaningful only if PCHG_32BIT is on: use the Alpha channel info */ + final static int PCHGF_USE_ALPHA = 4; + + private int startLine; + private int changedLines; + private int lineCount; + private int totalChanges; + private int minReg; + + public PCHGChunk(int pChunkLength) { + super(IFF.CHUNK_PCHG, pChunkLength); + } + + @Override + void readChunk(final DataInput pInput) throws IOException { + int compression = pInput.readUnsignedShort(); + int flags = pInput.readUnsignedShort(); + startLine = pInput.readShort(); + lineCount = pInput.readUnsignedShort(); + changedLines = pInput.readUnsignedShort(); + minReg = pInput.readUnsignedShort(); + int maxReg = pInput.readUnsignedShort(); + int maxChanges = pInput.readUnsignedShort(); // We don't really care, as we're not limited by the Amiga display hardware + totalChanges = pInput.readInt(); + +// System.err.println("compression: " + compression); +// System.err.println("flags: " + Integer.toBinaryString(flags)); +// System.err.println("startLine: " + startLine); +// System.err.println("lineCount: " + lineCount); +// System.err.println("changedLines: " + changedLines); +// System.err.println("minReg: " + minReg); +// System.err.println("maxReg: " + maxReg); +// System.err.println("maxChanges: " + maxChanges); +// System.err.println("totalChanges: " + totalChanges); + + switch (compression) { + case PCHG_COMP_NONE: + byte[] data = new byte[chunkLength - 20]; + pInput.readFully(data); + + changes = new MutableIndexColorModel.PaletteChange[startLine + lineCount][]; + + if (startLine < 0) { + int numChanges = maxReg - minReg + 1; + + initialChanges = new MutableIndexColorModel.PaletteChange[numChanges]; + for (int i = 0; i < initialChanges.length; i++) { + initialChanges[i] = new MutableIndexColorModel.PaletteChange(); + } + + for (int i = 0; i < numChanges; i++) { + initialChanges[i].index = MutableIndexColorModel.MP_REG_IGNORE; + } + } + + // TODO: Postpone conversion to actually needed + if ((flags & PCHGF_12BIT) != 0) { + convertSmallChanges(data); + } + else if ((flags & PCHGF_32BIT) != 0) { + System.err.println("BigLineChanges"); + + if ((flags & PCHGF_USE_ALPHA) != 0) { + System.err.println("Alpha should be used..."); + } + + // TODO: Implement 32 bit/alpha support + throw new UnsupportedOperationException("BigLineChanges not supported (yet)"); + } + + break; + case PCHG_COMP_HUFFMAN: + // TODO: Implement Huffman decoding + throw new IIOException("Huffman PCHG compression not supported"); + default: + throw new IIOException("Unknown PCHG compression: " + compression); + } + } + + private void convertSmallChanges(byte[] data) throws IIOException { + int thismask = 0; + int changeCount, reg; + int changeCount16, changeCount32; + int smallChange; + int totalchanges = 0; + int changedlines = changedLines; + + int maskBytesLeft = 4 * ((lineCount + 31) / 32); + + int maskIdx = 0; + int dataIdx = maskBytesLeft; + int dataBytesLeft = data.length - maskBytesLeft; + + int bits = 0; + for (int row = startLine; changedlines != 0 && row < 0; row++) { + if (bits == 0) { + if (maskBytesLeft == 0) { + throw new IIOException("insufficient data in line mask"); + } + + thismask = data[maskIdx++]; + --maskBytesLeft; + bits = 8; + } + + if ((thismask & (1 << 7)) != 0) { + if (dataBytesLeft < 2) { + throw new IIOException("insufficient data in SmallLineChanges structures: " + dataBytesLeft); + } + + changeCount16 = data[dataIdx++]; + changeCount32 = data[dataIdx++]; + dataBytesLeft -= 2; + + changeCount = changeCount16 + changeCount32; + + for (int i = 0; i < changeCount; i++) { + if (totalchanges >= this.totalChanges) { + throw new IIOException("insufficient data in SmallLineChanges structures (changeCount): " + totalchanges); + } + if (dataBytesLeft < 2) { + throw new IIOException("insufficient data in SmallLineChanges structures: " + dataBytesLeft); + } + + smallChange = toShort(data, dataIdx); + dataIdx += 2; + dataBytesLeft -= 2; + reg = ((smallChange & 0xf000) >> 12) + (i >= changeCount16 ? 16 : 0); + initialChanges[reg - minReg].index = reg; + initialChanges[reg - minReg].r = (byte) (((smallChange & 0x0f00) >> 8) * FACTOR_4BIT); + initialChanges[reg - minReg].g = (byte) (((smallChange & 0x00f0) >> 4) * FACTOR_4BIT); + initialChanges[reg - minReg].b = (byte) (((smallChange & 0x000f) ) * FACTOR_4BIT); + ++totalchanges; + } + + --changedlines; + } + + thismask <<= 1; + bits--; + } + + for (int row = startLine; changedlines != 0 && row < this.changes.length; row++) { + if (bits == 0) { + if (maskBytesLeft == 0) { + throw new IIOException("insufficient data in line mask"); + } + + thismask = data[maskIdx++]; + --maskBytesLeft; + bits = 8; + } + + if ((thismask & (1 << 7)) != 0) { + if (dataBytesLeft < 2) { + throw new IIOException("insufficient data in SmallLineChanges structures: " + dataBytesLeft); + } + + changeCount16 = data[dataIdx++]; + changeCount32 = data[dataIdx++]; + dataBytesLeft -= 2; + + changeCount = changeCount16 + changeCount32; + + changes[row] = new MutableIndexColorModel.PaletteChange[changeCount]; + + for (int i = 0; i < changeCount; i++) { + changes[row][i] = new MutableIndexColorModel.PaletteChange(); + } + + for (int i = 0; i < changeCount; i++) { + if (totalchanges >= this.totalChanges) { + throw new IIOException("insufficient data in SmallLineChanges structures"); + } + if (dataBytesLeft < 2) { + throw new IIOException("insufficient data in SmallLineChanges structures"); + } + + smallChange = toShort(data, dataIdx); + dataIdx += 2; + dataBytesLeft -= 2; + reg = ((smallChange & 0xf000) >> 12) + (i >= changeCount16 ? 16 : 0); + changes[row][i].index = reg; + changes[row][i].r = (byte) (((smallChange & 0x0f00) >> 8) * FACTOR_4BIT); + changes[row][i].g = (byte) (((smallChange & 0x00f0) >> 4) * FACTOR_4BIT); + changes[row][i].b = (byte) (((smallChange & 0x000f) ) * FACTOR_4BIT); + ++totalchanges; + } + + --changedlines; + } + + thismask <<= 1; + bits--; + } + + if (totalchanges != this.totalChanges) { + // TODO: Issue IIO warning + System.err.printf("warning - got %d change structures, chunk header reports %d", totalchanges, this.totalChanges); + } + } + + // TODO: Util method + private static short toShort(byte[] bytes, int idx) { + return (short) ((bytes[idx] & 0xff) << 8 | (bytes[idx + 1] & 0xff)); + } +} diff --git a/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/SHAMChunk.java b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/SHAMChunk.java new file mode 100644 index 00000000..74b8805a --- /dev/null +++ b/imageio/imageio-iff/src/main/java/com/twelvemonkeys/imageio/plugins/iff/SHAMChunk.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2012, 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.iff; + +/** + * SHAMChunk + * + * @author Harald Kuhr + * @author last modified by $Author: haraldk$ + * @version $Id: SHAMChunk.java,v 1.0 30.03.12 14:53 haraldk Exp$ + */ +final class SHAMChunk extends AbstractMultiPaletteChunk { + protected SHAMChunk(int pChunkLength) { + super(IFF.CHUNK_SHAM, pChunkLength); + } + + @Override + protected boolean skipLaced() { + return true; + } +} diff --git a/imageio/imageio-iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTest.java b/imageio/imageio-iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTest.java index 7767df92..37d9ea66 100755 --- a/imageio/imageio-iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTest.java +++ b/imageio/imageio-iff/src/test/java/com/twelvemonkeys/imageio/plugins/iff/IFFImageReaderTest.java @@ -52,14 +52,18 @@ public class IFFImageReaderTest extends ImageReaderAbstractTestCase;3LINuc+6 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 literal 0 HcmV?d00001 diff --git a/imageio/imageio-iff/src/test/resources/iff/Manhattan.PCHG b/imageio/imageio-iff/src/test/resources/iff/Manhattan.PCHG new file mode 100644 index 0000000000000000000000000000000000000000..f5c03150bb81ed822d7670f544a5319ce173ba24 GIT binary patch literal 103850 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�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 U|Np8jQ{`u literal 0 HcmV?d00001 diff --git a/imageio/imageio-iff/src/test/resources/iff/Somnambulist-2.SHAM b/imageio/imageio-iff/src/test/resources/iff/Somnambulist-2.SHAM new file mode 100644 index 0000000000000000000000000000000000000000..1779180f28fc754fe18b25bf190efe0e616ac6da GIT binary patch literal 115182 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 z zh^Krzv+jxU;V)Sr(&lMj#8+pG>A22(Xsh^LFN`DnAx12a{}N7ZXxO-3i7}%Ts-XIk z0EuZ@mK&W5@`fcyYXm5nYoz`sFqiNncTMKKpmUJgK_tVf=ROGMB;g>ARYC>8;Unjk zhB7IshtgH~Y#-cFinB{4w?TPeMHpTz5N9{)t#(DeG|H@E@2Xy*f}9IAc=5?@@x9%w z?Y8g!z8N!1m=@bC@*^OVL*IJ(kpnRrlBYNUa?itI`G0{N=^9z~C$GNCAUQKWJNC6Z zU~NlOEIQY@^E)i)-3492V86eHb7P9!b!)m8e7WC3JhcS>Jf+d-K*E2w7 zJuSr)p^@cG7sCQzmwQ$gnqNS4K=--1!ME12DCU-_;F2FWGX=5@=bv?Juibp&Yk!luboRSBX)AnYE`Hs4lf-<>sN{rNK=MmL8JFRQ#@n{pbU4W z#*5uD^gyx1P>|jQTQ*F0I6Glz187dzND8?S)!_j$`yhHn5h1~;fV+#BqnO_1kzQU_ zKQ_xcqFNn$2~80u-p+*<0nDL>oU1r|UZ9}{SBO$z4xE$9t9?oJQ&`l=@PYJnhtFUX zvKsv1>Waf%kti#wx3C3<2e-M>Cw*H_&csmGYReiP*_fDr1sS#z*9+jBB^DrG*xPvE zUX)JAiGIMSMFV;5DtZm>dq#r?L|QQ7cN|xITw-yed~G5S3?M|cU1|z%YKnBYbnF8& z91ikBrS1I!TpP7RCMbnr)#(O>O8EUo&0}uQcvHGv^wAWX!J$~qs$G~>Whj;K&LKZE z=q%#4Kmd9dwSY>Lhb4D4(n55^70g!*Ju{mk{v8O)VJ-(aB#5o$9BQ{PR51^?J-MK0 zt)a9upXo2JLiLBm_G|t-j;FGE>_9M#;vR*_hc&0fB5g2To3M*x7aF(s{Ro`{{x<^e7GegqIZSWN2l1fM1VDQcL z&-Jsjh*(j2F^3!m#9S!;4NFLgGrX>cC;JzTEuAGN9_{_GQr2ZCFgJ%pl_e8MXE~=> z;2aBfj+1DU3wsgQ$S3k9vp}C0wXl8tm_;K_bPYv4Ofa26kNCaGu2&H|4`%1b$2?FR zoyr?_YiJ5okm!&rlN_1l+w41zPm5u{E#TjcAkG^(71lo;mD#X6gg7mUG3>PefP;oo zgvkIo{|dWzbymlMn2xY$FL*MBz>xeI`H@&)VR>hY2O{KTS zf*$CepCMjkdINYop@TSViowBB@^m-G%P40UA{#^k3Z^~fnrUAPQxB18FM3k zj0P&(?KIPSTVolH^`f>EY-mcrDj0)IkhdG`;54t$}*8sRg4|aGiFe!=0NLg35)|d zR~FH_BtjD;Ib)jQvNLn*gkS2bM`9(&3~F){hP2AJkeMj|cD%VtXs@&{tS?R+*RqP) zdU+doy1@L}0K5`vscG95X=7gWcaa-QSkik*UKOGcx6VaYgUf~T8{h@Bzcws^F>Dye zW_VEz>^y(6n2`9%Ea-&dT#{9SXJub2P6Xk;N_a-BONKyCMBp!AAu3m2A6@VHix|H} zz_zl`iiF0!7tccjmBF*xwB@?pFJM4b0)}ySB+OV{ZCLgybR%YpCOW%nk?+CmG_%U# zwuVNc(d6!$6Bf?fVSp|btoQDYr@67eScZNyQl_~ZS%iTH#I7da7~D$;%jC)u-n|Wj zssx^>b&1&_)T$&VeTlOcD_+6G56+$wru<+f^47ESe5K-L6>0(7aCWiIZo-Dw!5&%v zhc73?ca7u_H@@-Nl*p;4uUocn?Gz`9W!>*ntg^gLqU z?VU`vQF`1YDBqW*Ukjw(a3kBUPL6%ODHtpG^X9eE(4AGnMzUOHUGl*?^i29eGK1GY zKNK+=gJwH}=vf6P7ILn^#PH)gHpkEjZ;x`&@1{_iPLr*;J{Y`*CZn0yx%~gKSESoe zUh`4DTYrn`!%7Q;3w8cLlRM&OSN$cY21#KELGDq%hD#))9(VqS8l{q;J5eWlS>QR44ae+hJQ0;mIlNyo;F_<&_@DVHheHl6<%3y(Bb0z_! zL|P|cK4>h{kRhfnakEo<@&vqQj4}7+D634*dk=neC5Q-j`jv(TlR^e^pN~?3{ltC@ zGadV5DjtH{r5?hd@FL5Q(=~JT2O5^>7ZUQ01atk!)%^lH`=!^Td-rX`NoK;+@Wwf& zHO_5VjdCzT{f76&SPLGzXk-av;q~L6lFg)|1m-atu>0%^OP+3 zZR`48>4w~=#;hQtWZ-7iT+p-06Xdjd3=QuaZf(J%emC#f1cORxZ~<^C81G)h#yu~v zemgF$ST(_k#W7w5SoquR-AWqJMt1CF^KVXk5ODsW8W1lLDtH%#GM-v6+*b+o5Gyk^ z-K=1wxFm|d@4+fc51zTi;ufI2PFs@VWZY~j@Fg&<>= zCU{VTf0xyCVFud8olzAn(^plIG*T(Sa3@TFRl>@`H=qAYLj#vP+~DyTZ@ece36MK+ zt%Rc`h+l#co!uHgjpJYmrb429eu)=ymrC~6n!&x6twQ(l2VY==A}eALM^vy_KoZkl zaB;omfT3_2K^wutPk>93fUUm@`Zd%mbI@d~Tp<`=jWIVn!1St7O-RHY@b%l-xoI!|)$; zB5XwrCcHDiFPTU7A17&inBQxROX4hc3G_~kK8Uk4qwZnc=P~&#$8wuGCtu}?bAT*8FmUgkSS1) zAM25YD%{s{YT2okazdpgR>bN8ev&q2MTdkpbIJ#6qwvxgRHZ$syJV?_^5gojDhOuq zFK!jIQ&uV4)5Ha@ZoF+QNKgoAJeoG0m~M+k6Ak3zNg*=|P7KiOg3>_o5;PqBt59IB zuL?e_$r^ru0YIt+|FEJ@z@_d6rit`*O7rx-$uM<)i7e-3psgDt1I1~X*l7_#}A`nGN$p_WPFmaxwy4&B9{| zvZ@9_@)70*8Y=F=%80`j46@Xcs|s5YmQRi1MM7V6?_V(qQm;-D%X)aefnq5q)*|E2 z#Ip-TcmfEL$OvYg@A0;IE7Fi+gjgJG-nDirPWj&DW_8*gF&Kxvw5*%CVu~B6teC1X zmZaG90S+t%!XsR{Feo7BXRzA}_*)*Vtiz1(uNK(`;0k2fyDZmv5P?H&oT>oV{HtB$ zkU(u6Ai5EsBV)jp9!Ej{fG`V|ZrVaA@UJ9X&g~JSZ~$@6z z$DJCoLxqX^Yc=#mcJ7kVSXmd=p!1Lw<#$kF4QTXa)sy&>m?;gY{_%KFd(^4 z5mnVZj(w9HlfA%e9p#Qw9{jVSoY@Z`E-`DO4Bl)*FKguTOFzp+`S0njiBPFHr8_}| zJE^hm7l!bBBSpNZniaZkFFYRC+1+;4-of!)QW*W00NBQkGAm|1To+RK5~X1p6c8X1 zDvi^RfY=@oRsj27N=cnn5SW|pmIPEB@rn+F8}J$qXo;vu4*Ootsolw3P%Oo@6n_EH zC})`PUTjgpgiVH$UDU|n4E#p}7+a1T`BLDdoXET;4)7`*v0R$k>g-j>thzPlnM&CI ztP3L@Tw}j)!URdeN-Z=A!~&^35&V*Db(g)Ug<|J}_pw6PG8bN_a$+s7D9?V|kXyxd z;0ED)Yv$BevIUr?N)G2~ACO0dQBIyfe&-}N4!XUmh1~rpUO}$z5NS~5U|dlRYe#yL z+5A<%-ou%-G%8DQY#M`vM~Krhi$>%;jW>`Zfk+oCF?I(XDZzN1C{sDHq)tgQKTE2t zf=y!nPT!D%1ks6O+E$fQJLtV-%b<*6IbMvR)VnY#h%m|utoD}U{O!SM{H&8fg4~Q& zCnwmaObBs1;Esic=@@ky;~gi_R~IUIp~YuYT4O0 z%DD}Xd0;%=8N3{F|L|T=nC)loe;=7R6vINXN(NrUr_cUIZ*g|8Gw;NQty1tLMS>kb zTyW-v6ctOoO5C@=^8)NYdBph5)_bBZnigOz&su=XmB8;CwN$W0BKQA61_RB4+!|=V z7@{R4N>03b4?^s#fH$IY%jk@qS&Tn>;KBJ1#N3+ERG4R{s% zisaqusrxHw!sH;Mh zCVLt44`-c|AMWh2f?l7*)z^W&MN1sdR_XGcEVGOYc9^x26w9e4!$ZTqWnnkkOCZ?3 z&zR?Dp^}@IP#SK8<${IyVigD9CZi4~rK5R?2roGzIyAtq;@lS+5F8@vh9w;dW8(Oy zr7t%=`C7}jtdAppzlyA`eHzhU?XW04`9Pc`A~|t`4(f&2DAWci87@jkDVsRIb|r0v z6?Zv^cNrQsae7CJeSKD;&*-YcCL$tGgs~lvdiFOy95*hWrY%7*R<6@Xfr5tx`3jvl zEbj;$x8~ZJDq-4^>T4MjcOoP|rQY%^e9JBbdj_gykZTp9@aN|1J*;*VKf`7fHZW_N z7`HE@Wiqp9mSvD@IkhTU$MQdw9!#HT=@^iUbQtPjkq8@UWKt(g@UwHffS1d~DAW6* z*nBmY;HH}+$s9d?n+{(XFLBXw#&R7bBzZW9g;MxIab>!d^T5L;ktm8Y7;zK!doL+j zOG_(<9H9`HrLSxX36?65n*S z`0%rez*=}1{0qEqh3eT^Re0N(fcwUp3)QmKP++_mQdT&}47Uhl8=#mS8E!$t90~g@ zDmk%!`Hkh*K9sIl*;md`+viAu&u)soji8Q%1`<}p0_Z zXBvg?&9>t#OKJE^jt)x{< z7yL_&;P+_XAp|NW85Cl`oLv+Uh1E!8FDq`wtZr6&brmKZXfsOQVU%}!_5XQrl}72; zYWVDeB--eocn$BWO0HgleJP)|1AVOnXp@48cKX=GwAseRPB`${dG(4)Pp%l+W93!qe z_X2_viMUPXuQfH=aookH)6KHdIwXBH!2Yuot_>)tPCN{#jZ!uJTL)9b)qYdio1v z6C&A*-@jskwH;R_!8&PzPgGK*1i5l6g$W7?ih;uoJv;yxar$cV%P+Qxz3& ztYYl5I)to~VMg6Mfp(&@;V#gCMlJ>U^8gJ=azj4auVgTl$Lu-U^LFm~c_4uQny6vG zHkhBsG{7cvg$Ko|PGjM!Ci^HDT|$;n`Vm;$0OaB_Xp9T!(>mszIwDx6*Eq88fzcaU z7tP?xfOt1c$wgPgt|YrGa7JZOEKs9e64YEfEW=o>{hcM8U0!sws!@`+FTiK-q`OJ9G&4>$jZ^L1-a-Sl>G` zi%*A86f-l&d;#skWqpbedca{2bIEZnrUL^*Z_H3P<5*Qp7-gv-;wP{sz=~P~7I%7? z(HR8^r66IB5$K>s6-7N|<#2S-Liw^k$>p=|;^d|(*(T3) zOfVEu5HIemlK@g;HhMH=DZ z5EaT)xK)7E0;lHIad{5cTxPj@il1pWks+^y_EbNv;DmrV1s-8q09tNR>{B6i=7uEJ z>zmFTIg)es?YMEVO!FEc75hVQ3%qkwwA&hyQgLD}BueD`Co=4V%)IhN1(z5>Tg*4% zx(^vb#js-Cfqk5k2e>JwlG!}0%eBUhrLuq(i(AvIKO;@Ihp|e56dN_Vs2G5BJk#^s zY|j$Q6$Vnkz$8qIz3IO*knKEen7N9D?1R~!KQoo{nu=hTV}){MFk7kToD~{@$rLWe zaL8}?#qlb=3Yp2zz#c4-Vf4>$gZo$L*nmA)*q!*RBfle$)r)HC%pwKjR|%?~=Hsjm zH7#O#Gc-0uaREYSHhV$z`&#%-DoI+)YOg% zgZ0`&^zz2!vc0ri7c^K{-2iV}1+^tE^*?AUi8$H}pe6Tkpk+7+&Mf=bN05tJ_F#^- z1o$lH%U~vm?uYBe%Z4gWKP3jyG%v(Om6eFHN={5StfB;FP5pHw%#bkM_*Hw%iV3wC zXND{q*|5NJ(#fK_r~q)tlEZr8HlW%G2`YP)99izjO$C#U3Ms38Um@`_s6!$3dR+jfT-?~6M@cy(=?(jodI$nZoN9Z6^RRP%}d2Y#rI8*;1ij|Ts|5Fc! zQk!szhKgm^3snpyr4B4F7p05_wV4P2mutaCGVq>;c(q*{F;2tG0jxbbiOD2EY)G@q z4JcUF-Wvs2LzQbOl4Fo5stCSn0d_#FJvn2=+clyjTE(phBSS#Dlf`F7*q%TiR>Kg^ zf&na)KmpIjZOHe~#5L-6;vH@g*yqDxwn! z=Xp`RC1FPu?n5&3w@BRB&XzKFJU1ja#YAGYZZ)*jYQjPWse5UBKqbd6%5W=CeSyg3 zQITsw2c~Zutt=7Q9^!f|S@T9#+5A!b1)nKF#8ZV&pVe0?d!BadiFxCfBMAFUp83WS z(^(eZtkN>N1s@23+r=<;JR&sM+hJrYN`}f&r1hvtv8Wt5qpj+3Luxvt79(IP!$*OP zO@7s_FI#WnQuiu$1-2kb>t4D!fOG;~AB)wW;I<+i2HYVMUX&obAQ*5vepIr@N6OLP ztp;4Iwh}T^33%9!v&rsIP6=!JTA(vZOmk~?hAv9*x{I!Mfz+!h{hVUaI1kQ-VnYMB zMOHkZ3d%2N2-op<7m0Om4+wU_@Vg*b{3gnRKHO8poa!KS!+e$BYZWTV+^Eqd5C(#m zsG0labRRxXxI1i8c_5DQED^P(aT@d?c3(o`nbtuv{t;>0O(TCOSa{7Un%HI@KOG6oyc}YZ zn~6##q-uDNVMhtciY+NMUa}nQJ0PPHP|X~wMa!&b|MGFEQ{_#Bju?>Z5;bs;CumJ9 zdJC%mf#|;;0oWKmC2=3gQh4+I)tms^#G3|(%t%k7WYK-}DvXVUq*@wuUmZUYZF)|b zJEakSx?9iz|C`V;3srz|f z#~iCprj>wDK`Fis`t%r39uZWSy)?2sM^-mpy0Fd0&O#{ix-(R zM@^|twnftlYYx zUZB;`tEHGxG=5loSRy5rH00Seza}I89i-npk%lkWB!~PGlLaP2R2`S~}p$UZwAWU!V#mk^Bh>r$l{kjtapR4BJ_QjVz=- zek^vG3!e0bVu9fA!LDwqi=tl^>^kzKP%(x~REb#;rh0HPH_bh)6=HESr8`8^m{!oI zPyCIV2C;sK!ER_>57w|5V(}PUeXrn~1}(|1mnVlDFEX7~I>%cHy!aN!dsWs?c;oJ< zjHH`gT#+{=NkoFKHqwJHuagj-*LDP1CC!6OPis9_J~t7}$aD0UyR+!_*pxZNH+00WgO!(rMFs+=yrx$ z59}Ni!CsK7TCl^)>v?VW9(>P%)dON5BA*-P)$CL;rxpZV;(j+T4G(jc8RJW^vvkVI z)I9mrN(3`?$Pxqe#!SvDrhCojWrQ@TyAPruVG=Z{lV=sOpAdXBGPQTx@W}QkC?S2{NCLcU3qzS1T zY0wOp`v5iyRAL8%->Y`}66j50s(eSn!*(Gpl%H4a8pj`n`wNlKfkV4@=V2Bts7@I| zRFQuV-ix-B7G848SRroq3hh&>aKlz&hWylmDn&ED_YpA^rf;S^%IOnNnOrVi;6lD8CCbH zD{#FEak%!-PL;C&xam+u?4dD>;=;{Plw?6!)!P(bry#&Y>5&TO>3^U_G^XcXXoAle ze@=)>q~Vf81htT1H0)6PMGYh&%*TQ?MqxrQY#g0Ep&1PCPvASTh@#R2^UGc)Pr*Yk z>P|>4yl_d$CF^waQd_yR?l3!9tXll3n(qk&KEM&#l=ugB4UU6b+VP1UzhiylMlt+M zgB6l-k!0#Ms-4OG*qGOAAh96&@1crQbxhAc(_j81d$Z#LN$HhqWX%bXkci5C8{(~O zW}0>x;*jdX4j|2k&%=9%@KY!B+IGSXyjble>F^blLURj4Xu1WNU6|6< zztNTJS|yWO<@DmM$~M6|*Km&_!26RCYJnR%`05lu^sSYKm+mNijLU?k4#L$*doL@L zUX5F0XxJn9>SHD7PH+ha8pa%aG|C z{b#ddZ+*c9DrC{f6xWanUVJkx$tTQ{_!O1{4T98VQk;f9B@`$ero|^H<7-X&t*Th} zWR>#>xg#Yt7u9TJdY%{w`x7Is3hN{|UYfLXvZ z*`BSakSgS=flSK>3{Tm|Wvb-My9L_1jZ7;6*2*b$pWCfIm1uFP!1MZ=$@`Ta*cX8VWd>oL zAGs6*I0vrsPj^gH`8#5-n@ky+gVGwdvN9((N$!(O6St8?`=by=WMFG_v%PU44d|2s zDxoFTPSye4JkC|e%@Q%1gghDeK47~(l~oKLdkMj9Xj$>hVRP_MF7;rE@Cll9UO@*( zF4-DTWm_e19^n8aNW`D;wHz61J!z4^Bi=GDsya;<%7oB<;08~_+0v3Yy4S+gw2w>* zzN3~HB#4ES^m{p#F7)#LH?S%`vLJ!A!oh;81Og0hSZ?5OeHmei+dK>`Q7t*lXVGb> zw-KDYoB1>W7aXEdp!lK>WUg2>c{N=ICJq<(^{zEIrJv0wkI7A_t|u3s!HzfhVLudL zr4B3$m%9&*fc0jvfsH9i^q9Ua`RveFB@hZMju3CBv~qGRpAQ- zLv5TRtyK{sB$1+6;s;XDdI%o`Qo)f#YEK8!5t`&L>|hn#iyerfFCja2 zfz>_Nx&KHBY|Q}16Il1wDblc_dPzdPmFp=tNH7m2aa6Dv)JSj*EkX2Igjd*`osakYd1^?z)-+N62b|wPR3;b7WNgd;kucA5;ASk$|}PPMB7A$ zMO}aXsSP$`d-3XWqwju@O zsyQ4>skE{x@iYmN$W|#Bs3JOl=(vmQKKn7{%@Xng0E(MoE2O47IP0Kw%5qkV>;L}( zxCapq<5{?XgDt3c11@aU6|_{skBw{-nh@sw5_eY5#Loj$?N_-;qD`ZkAH>(8vSp_LY?pI5|Dc3SyKOhOetWn&6=G0tJHU+9=)?dVR z%Gj}!v39>8c~2kHjIdO572(O+K8?8g4ddn%-rk!3yUsQb_oC>FMbl<0#8qK|U}!j? zo6if?cov3<%er;cl_B&dvK$fFX%@ogEQ98v|5HAp{k*1(F2Y^}%+*f_Z-S08JhYX_ zqTn(9h!fR2H64oq6C<7_x=Aq;8aUW#dkA?aM!9W`us5G$yMmJwI_Y<;sL>0Y=phHl zNmcmM+W<*iCCTu1rK=csr)BXd?L~e)64Z7j&W@6_=i|W-fT65d5eS6kUbUyRzY$U~7bs7{bR5+u6o_>|!AZPzKB? z9H=3G{PzQ%DM=+>_eE)=(3uWuw4~hpUs+e@sg`JVCA1BR2!2^2qB0=Yz8b;|+aK~S zn>-0}lNJhdA)pw+7kv_7A$Us5qY!+MfO*C;Ch-e%9b)$=f;WqZwF8;MItODB8tgu7 z92p-&i);)0+J9hL2aRV+(kFq*ek^!U_!a=-|9sD_xI`%79t0p!KO_qT-paav8vM)% zm}IXT{Yn{_1ORUJc}!x+{K5#R{Q6dlN;EtkQnp3OXq3mRLSBi4R(xCG%Y2m+ z;hNovvI)E=7nWV7a=a*|@|V-+3l<5r9{LF;qF+@JyB`G$T|j`_jwOH-LK{N(EvXh{ zlr6ge^u|$>lO3kK(bw($dF(RQ1n?_0g?Lc|w{)2*ibQaw!s}}U&z)I1p~K&W2{;o{ zthn93TJiPMjTVS6$;3RrtPlcWf{VA-sAOmndtGidGdW^_2Z^Cdp})D3^(IL)`V%Z2 z3|P>zo6BjUB22ZIS4AJd$rY_8E*Ie(OzY182ju4be%;y7fLsTfbgFX?xv zd<3ZE+zTf`4wvxa45etZ%Lu77$V!f^XG02hC%=uSV}?X4?sC>?xLX1(DmJ6J&`O2m z4k!><-Jz0cv6~%z2NocUV^uk;*zq28rv^6hX+gm6zmC#U$M^KO!@Z9&JquuMTV0OP zSYX*DguoQ{#X>G$aQHJ=8j!2Hj{f#8!iTwjCetPucgio?3|4h0>~JfZ^Dl=ozjyB| zX1Ws}v~Tq%rEp>=AQu3;wmL=790SC{{~1ZWO4xYyfK;GOL6->9jXO^($(UZ?M}&da zk#$?Bd)WRxm*VL+aI`DrZKF{b^OPj#PzFj)E&m;8Ikm`y%<{%OPHhq`Y)~%Bejky9 zrW3pjEln&`?4c26_X4U!P0BJ8-7EYsLxBZ8WFgr6|LA%f_@?UXfBf8=nl(eJ8Nk;@%?Do#(Yb!O;5KrKACNt8g@=SR7C=rsw54 zRz(W{PC}O$c#RCWsrF(p8`@1Ez>?q&3A0{Ipy{g%hb$^rU>OC$@5#C5Xo8&RL2C&z z;maP%xT^wkxz;0>t*5(GL(z-mvG>~4v-e%jEX z@8OLNe^uMZ<@fG>3wS%$^s=Lgy(6#$HB&U%^x|qo2$Hq>0$#XiY3yvu#UQK)MiARs zS^{5O7YA&rirK2UDKIOVT3ca+>4CO4bHWy^InR5jMgx6~qVK3*_B>Oheho0fcXoCd zKqDMzDwO@;0eTu7v&08M+$4!uAHyjm4l)4rjX%5(`52qPRwIsW*~)u4wtr7hqUJF* znEXt!k`DpYKH4V~X_DF^fV$r^0m#6a;0I=X_4W9vF$rcJD$Ksm_H@z-Fu7NDJ^C20 z{EG%k#mJmxWN4ja9vM_%i~4F-4=qDWb+W!#Mzm~$HZIms{QyGsWG<*6LluorLeK{7 ztWm!nzjf(Fh=Mqv!n>&(*v^nAjzZy2;n>bAdLsY*##4i7To86;z*-wvTis`aINERW zf~Ih6K@xMpGQ77z_inx?0a&&<0L!3hxO&hwNp^fnDWP}c^w6>iZ?+~mM+P0of;5zF z;rbQB>4bovY#e50v!)CKyI3B>Cn1>Vv_UHGCQO9%!umnDMazJSE%P|CWi+t>SCT+h zDVoC8dQd(9D_OO)VYX#N?1=DY5HbnCyd}>5AJXF5NA~);tb#)aoBe684k7ra7d6*H zX#@I-3-DFQ@87GJWk`M|BkO3MuE#NPDf@0Pvwq0n30aJaDuWX@$FyjF1MCoeXvcpfECq zAjy>gY68#}6vV;tX1O1yu9XU(yvYhE4yAmKK39%yhnHhJ=q9#6If-o3P9#77Xev#w zlYp%-ZYo>>27T!VEBJv1rlI5iBE3qc0NQCG73}DfRX_{pg_gX#Hv_*psB|;{OC*yO z{3*UY3C9^TquT)&XE59U$6qxQR}hb)T#U;a zbfYHC6iUUd{Uqq!!Tpwp$>0ZIoJT?c^1$&mwT7Nsx5a|!QOVvJ1UtlRDIaR;O@y_C zq}e%n2VBr+;#6wr{ho;cY(tU78k0d@(N3N?-H|wj0}KR|i{E{;rozzkgq&1?v)LK+ zqBZi;p);B?5Z{eeJw{fDfiaT)=`#5!cKrr04va=~x9<1~$}4u|hGS6_5+KNmzS#5DZ55j143^i5~g-{7u|fgzWLtv9cHYVX!n$A776U3I&;Ly_$2Pzo+W2=76b=N-TK@~%6kt1W8e?f5 zV4M6gzc7Kp5o00YpFh_e2`c=Dv{uhkbT@7V8H6Kmq=K|YljL9LM*>`usr8HkEEwh- z`N!M91`^0SVaa;rLcrvy1nRbF2Kd~D;T7daK;5LZxH1qa6H>*JmI-UvcV3O|Mujaz zwQA%`>Y zSqDRVEA@X6#|018-wNsmA+DMO$c}&#yU7b^Iim|Fgq6D*LGK~-fT~b`O}JLe=M-89 z!<2aoQqajjo`} z#<2x$M?*v;&~{9_!?+5#{_3}iL+eYz!|mKjF#My%0f#aljF5)P%K-be=gnI4cQk)+ z1E_74N&Q_+1kwgs!i9LL)%8ACxkIMJ(0cp?XI!}|+cvoZN*9iq(Ca~hBk6OV9rUa1 z!bN|QQ9+uVR3G$$6)Qsv+P7b)aJ*vkf9EpIx>qMQ#c)5wqJcl!gWo86BdTZ zspvT)2vN6(u6=wFkH|tOQ_DhFGb+mxo(N(yGZ}-AEW@klVb4Ybg6#=v^OIc%6Ii?I zeR-vhCph4Tt-m%Qzrq3A3?IN6Xb?)OTl0m-#{55LEi0nJOE9n zX|_IucWW@3M0V|8WV`duw^)nR7x?;xdd+~%fuJy{+}qV12d1!pvXd|Lzn|DwbW9<* zhvF?PrQCg{(eL4eNbjF@NfLAeSa=YKiS!I9XrX<^L!t2_L*%aJU3D1#ZB)xy0pPCW z2-|w9zH{_wU%TeG?}O)s&v5(yTy=Xh+f~vKBbrW*YhQjD!!wZmthIs)BoO0=5TXEqk>4ynplzr3h~o3EBM+`-)yJ6z2SwO>zAn z&`;j@hqL-mR;n^r1dc|{2K#t;EtpWT>0)xJCN&P4YeJ+^wE z)s%o+a+1jp0&bFjoQHj)b+QnP1>-bQ_4mO9X~yBkAThFW`no0GQQt{aq5-Z=G5D2< zG}PdSBd%~Ok)5mzC|ot=L((|5OYUIuy&Bm-gbwA2 zqX}Y;rU3(J9CA$pD!SIe0C^#HSHtpO{z<8S3lHiE4jo*?X znZ^XKp8#SK{HF|!S3?yXWE=%ldMM3TiwYDVR8bOcLND+q^i`{d1|A!1=cnZwoN7>1 z%EIYE8{6sLAd%fdmZ8@-`Wa>$1VK}kT{s512<#m?bCLa>(^LXf^UuhHbPjPDh9Oa4 z@r7|hHNL)wBWk+LVX`Ior1e`KU?B=_2pZT$4XfT#@tIVZ+ALLV;aC!0y7F7a7(S-s z;`wiZrNyfI=}+bBzzC=W@Jx_d+h9K(4cWMNWl{_tLujSO!+IXEEhA-|$fFCvjMe~d zh-`4u1$t!=GX)bTZ^YLQn&1Z+0zs@@oQNq4s15^s)jRW*JB-HUcY1hOOk< zKEy2+x;;Zls)(X7GROg=UE?jb1qro{nu)OwKvV0%FOfxraS+%%oTp+apU|O!nrOiA zzek7|C^QZjW8yVbTYOq2!k^82s9};&f#LSj_xO@>AC1GiA;dK2T7WOcI^cRhPmJt} zc@mW6C2EW47)QCIRrbqTe6SDbg!|b4T1WIx^Z1fMlT4$3O?Goqn9{ynO+(%hw3PyI zY5yt>QMz;8-vBm?vuxWJP3bU`u1^CBMlPn1$|-2PyO# zuJDmKiqBRu>4vsr+R(=gku^ylP79sN0-KQOJPyykQjO#P3$7n61w#3|9yuj+M`_4(_Kq3q7^E?2kM_`y z-{k!S5q0l|XaAX18A7jRI-VY&BUnrR>owkHod9a!Km}Nf3u%zSWGKWWt^YnUY`B#i zEC{z?=ulG(--Jwvy4&RUe{uNuZ?O{k!{2oNWpF37PU-*?xC*|Ifqu#5FH!A;FP0_X z!`Fo0e2=IVh{Bkh;w50f1%s|I-=^Wa(G~cHa`>nybkN-OKih1s1EL1d7AfYz@f&F9 z2P;7bLG-y$KH*^3l5x9ukOZ;Mk*%#W|C9%n4UxjfgdQ6@4g@p5Mj5i-F5AK5@GC?I z|5cEKNRSPR_l$p!;lTuD`GHI_Dv%n*G#l%D(PMjn9~r)4^wZLM$Q@A_NT_$4bEr&YLCIG_;o+SN7 zl<3RT{yv{Zv>){;uhMtj!J+y>b~OPN?DF4G9r*Y_w#>TVD{jF3;5`P*YAE4!Mc2hZ zs}8WE?L8!V{Pe|PE%ldIw7Wlv-Z;;}N}8i(&_dX6oEx_)!2@&n(bpr7$8mx*o-H`e zIgOof>W2GWc9W<*z>iY^d90XNFH_NGkM)IiZE&AQpFO|pc0gf1zg5L`=$eCnS`8tx z3t*pQP(oe`OF~Ha91=`Qb_t3;o_YhjK}oVbgcu0Z2rM?9p-*c8KJQ?=gyDiX{hAuH z>L09PoV77hA=xD5E#H!gDREDwM2VUG#?Ki(dzjzvijsgPqwf}iN#m^4o7^6AxZpm25jam?Bw z?oQp807&}bcWijxOjJwt6*m>VsAV{@Vi2hzNAEw)KvVw@notA)j8_k-L$i}KY!w$F z31X2awGPAUL^xMHZ1_HbmHW9*fq&G?jhNHJSkR&8r_|E;AwX~-l;}vmf%O3>Ob{Jk zLG!TVs|B16T?4-i(c7Ke(H$}xy7z^{ZtR*H$$E9o9KuKq3u_O9w&ezG7H@Xk!Vu=wAf}b@0SBN10nH93PKs|$qhC)%Z_`0vvVFa)WIYE0v9OI9! z9n;J`*8c{I>nk6?HDK+!3I&VeG1me(nvP#btI_T4)(Zug|Ht4m>Rj{2bzdOP?*2Pz z^lTBBNj$~vh1r}+n=RGK2$zg8nIkyF;Qv8Wq{Pfdzzy=VXUHHtIt*b%!D7D9L>~qM z^1#{$Y6gz8aL~jSbXWOKdjpu?d75AB#WOQ1ZsJI5ot~o4zNe-J)7Jv6IU0sglu98V z#ymxQlfTljLIzkvG!V}hy}sCUP9u~?$NQb_zkO$G#UyxB=*5&^<$OM@?Y!cSmTxwo zwZxbJ2rvvyO<;477COfb@l&xYwFjfV`gJX`nN-FawuH+sM}K;cFh?VylZ2ZB0#uRB zR>28jfjx>gGOU|t{jWU0sgDWr(Rhr?BobTWE+rLv*ey0u7UhgWGhjf%GqNJhIx~l3 zyIdn(w*MSa=lx=%p+g^Z;*6RZ7L{F@^F2&(%X0k+UQT04S=S;T18zRwMc29bLk$Np zuntm$ZK3VPVg)y4nCU&`{g$&Z{=yHodti~DPzsYO>S-WC7%?xcCPD)ZM+0JWQCXAG z4QA5p0k&sBv?;Rlofc6B!)jpIOxBJubY`8!eTzOWGaLdf6|@yU&`SpBIG98c$)RXs z544C;b`h5OpoTHnRq@Wt>|Ct*y?&?00y65~oN#z#z@XBs>{u`B1053Y46u0Xtl2HX z3fTQH=DT4QA<^N6k_d!U(13(p<4u%CvfYH!ha)6(V->7#=g5aPlo_yiC2_(&Zy)C; z#6wKEqFypqkg?S{`wW)hFdcBsx=&?o_&o-C=Bfeglv6vK&+q-Nvoqxc$4F!yl!f4d zZdGQT`ty={Ud{tpWKl1zEiAI?Vj+oWJRNv)44tSzvEVmvJj>#lV*Lp9y2rJWg+QWi z^)IWaXpRP7ccXs*xqF(j!)Qie>}n+Zm|+omlMFXBEGNPFpiRimlHnlGW$3+tJIXSL zr?Ld z21piv`gEIuAIV&Np#?`)+Uy;1_L$-s2zEOia!k|z+`p+;jkGvj0aQz6YM<&r3K+LF zS!L(9Hr7B7A@G1v8E}J428C>D&-O-GuK?B{=nZ;=Vae&tCmz;a4OcQ|T{V<%&A_)I zdeQ#FY+RvaeaG$&0y%%?Vrr>ox{reScnaflzrWmL6P=)!O;9q>qG{xh@~L)o)&E80 z`_n-?UikOv#@RSV70b3a20AugDEK9OlDNJ_=TaF^S>qL}-pr=!J}-+dio}nAkd>jT ztq1%DtuNf{gBoSeb1oC{-PVYS$4(Vm?uHf`?IyB1<%eltu8?8=(LSxuo;=z+#8UYt zduFY8m$%B--F9p*#?4%Nywh|c&%UexIu>Fd+3C<(ikf&47}rlKF!)euXdcQjS`>3$ zAD+ouYeJUdsD7dRA83j>1ltAne9MjN#D!bqfyfaUws5qwu^V73ktQ+3zRU zt*e_FyF{E>u$B&QBm38^+r9P^^}EOarMko6ciisNtQB*W2QUlrus#jnG#4PM%foih2^+q>iS5hV7_5p5? ztkllvTeMk`EV9k0kU_qytgh?vxI4ZSFjQZhE1C?fCJyVq$__wS6;SnEKk3?~U|M(L z#Hdb-D%Kvvr?B%@h!JM=9@-OTacAEk4Uvhe@s=;C`h++}Y*HrYuFua$zy-`Rh`-MK zf8lixrz5iC!q!8R^RK>Bhy$k!rc=pNp1!Z_b?4Ne{dIRftJ0>#A79$xWmVnm;EO-` zv=wSL9B+M!`DVkDMDJ#Mrh>|kXz>V64>E7pd+-ZQ#{}heL(shUNX9(LjbWF)X0 z3M^j_FZ$$$?6FSe=mH%OT zQgyvp@5!J?dop-jIY}!l^_T~3ATmu#`TTD`HQcth6%KlzHn!<^qp!HyT={$EO7Ikt zG`wNK9C0Yczsxvt7|Nwb)WXZV{Xywy#QvY$@>BmU!qYXDd; z+zq*z1HCL|qvW4yBh+@K=V6YY%omEXos{(YF9`qZX2ZeiyG{6_X#9|RWRE-i)e?Nw zp)PIOPwBR8`FRj&X$Z#+IxvA(ElFb&c%?*F`0yoIB@0jjbAY>iEEYZ!TN5*9A~}$O zq`*o%#;>0K1CA^9N3pg5IClCDU7Wmd(Z^R>+rsnrxUo2pWmd8%UhVD$in%okZF7=P zREt24`5^Qz?8|O@W>nYBm?TVh4Ok58lFfPsJWw2Wut;}2+O3wYJ@DdHcl0W zZ(J!!lOG7ci-U9PJ*-CfK0{B0Eb7zi zNp#`IT}7G^INCE5=3 zFaNDq^r-+c5bC!sDQSKBuULg~Ot_KYvW z#08&x5@#b|)GWLEHkxY52%-Ls3V6#^S>-#dftgIx`wqfJl)>lZvvlV z2_}n84NtENpBghKr={XP*7zi2P0_6ZE`5S=gxF?d|Lg_5uLz`@(Vi;MhVC}W&^Azh#`b)Te^SG`3WbtExSg{V%ZqUGy4BZO zatWHemzm%j>nF{W+)K%QDrjl zo0b5zvK{+db0?9H4>pG}v($I0 zk@?Q_B3gs{5O=c=JEC!be0xLc4STdy+OiYY&f4#4+EV@0vYevN#eeOXloZ)fTK5Z zLxCs70m8uf81vnjvughO2xUz$!nQdZSyTBBSk7UG5?Cfb4AF?*z)CG}-av!{di1Z0 zI`zQGE%}zl(&B;S8aB0Q-?#(`y98y7-pXcqo1Z}7ZrP3k!Tp}=Ec_h~8@Y0-^wXy! zMt16j5wy95%zkxmi}kTOHF9Ng)uF2lslBQbzexCg>oIvkA#q8OAw!x#(&AbwF->*r zY}ArDQ6^nw*L_Fg9AHanOU{1*++tfPX9qRE>G0&FU)#vyx3$c_$#pkazm2#j>`#ey zRw7*heOejl1~B7$?sPI^#!=G1r&>zU)W!Alh$tZl)2vFC8fmAMIbPOu_~Cr*cBuA5 z%(WDT!UwgO0c8Mpu>zXPSm=&a_W2&YD;&L~uU{$H!`jNBmG#qcmK9d_J*Qq{^ZcfR z2iIamc+s)9*N$yL^nuZ#;ifZ7E7_IKXi%=>o~JR(i4<0HlY=6BPVZnuEG^QysRwq)1>k+8_=+}^mP1L7PeP@3)ceSp@s_+E8E7OqInd~%C3=Ozracgsh$%sajqV5So9m6NZFzoX=T-iIqlum?|qWUBF5?&Sy_ z*!g$kXWJVutK4C{5oNZ3@0}WvZmTC6CIIMKXPEjMwH8|8e>lL9kJd`!kDNSEGZ`eh z39TC%S&ciT`{Wob4%|Y8SZe|?>@-03h9#ZVZ*;uAyfMuBM;rwmH4_k0Uv%9!DqGw( zs(4;4GyyusyB{udJnUL}=+MmCWUP-8C4w~^f(2wZk|^LO$F%7AZU%GQ*cB-@OKW|X zCb^N^$r_z8zRrLDs~g$5HrtVmdUICg`NJLWa$?!6eq_Ei_le9CTF2-GK*j9W$S!+jb_WXkV1nzxqW?RNdk!!46w;~s)o`udo=PM4FzBI zt$bvY7h3KIuzZa47w95rLLyO6z>0kf*e*oC%nY+yflTDPohXNV+2}h$~8XuT0 zaQT(xzE77{kTJir@N#*$qxMfqCO!s&H*Ia|?o^?cm2{oUFq8O+8a?ggF2n+RjI zX7uG5skAU&v;?wlJ#UJv&8&>&RNL0mK1wQ=X@n!!#p0(o%=f+w&44v~rwAQB@Gl5m zGeY@qW1u2Jf44)W$j@VJxZW60Xsx?5{_NKM^?kdPB%4gx193j#!3{;;TI5lR#O?1T zFazq`qg$ok=$^BnGRh3$$YB*;;xO#J=&n|Kw++W)q@Rh0H@svck1(Z2Q%ESwkh!f8 z`^#u~mnO4sH<66S_qWb=kD7`<&*XRWdk%G_+9jLwIQ{+)rVo!@L05hkWw*KYcT8%N zsyAGk9k_}p=~955_MbaQ=_8iB?pmZhHq6|T0mlyJ^~OhA8`))>n$w+8*APTvRLt6f zVBu~%1`z|PWk&K0pd~sxJO9dIw&D_Wa(;7fp)&K8Ael4W5~?WgSz!)x4?jM)0V}Vr zKrleUhe$XYCk)}kQutLYNbc}p_^GSlPu;en^HrKx5ROi}bfdX_nOQ25%&TdVM0ox6 z?k#1)K8TueeL~7f zJ`WFRMAEXscajT1g^&0C6jPqfoHBA@q@f;{3n`AVw0Ot)EzY71&-;0I-Vb>8iLF#U z2|U|rmVl^oSntn-tr1_md#3w*cwIPJAH6}!{oj#s^|=SWd9!QMCaJ7c<|G_)+=oD+ zHGi|Kqv7aPpVfsM2B+lI__nFV_LB`P zHhdEyJ|CXULcZdaF$|P z?IEdT(++VP5)IO79`h$on5>_PdYk4R1WVswLo*z)(Z#4cg+x=3hV}cO`N!%t2;U?} zwSqs!%la&>SzfMKQG$r!K<1>HW)_dTez*fu*A&dQnQM0S{u{OFVDSWM_qEr-hUty^ zpZ&jRZf2F21CZIkisJKYn?nwoHeC!YD$R+%5JWUBajmGI9V0`Aj ztMc5f82h0jfbI-yNbVorH~a6llA)(#mfCb2uw}8#dur`h+E!e}GL>R=|E==9UyT;4 zLl(Jy6SRXFIY@l#@3h5awvnkPKEJKuGHZ2yF|q#+FJyfNVx6o#%#$zA5qJ9HmPsdH z_J-jAsC<&uHGD?Y;OEw-uYk1xA%)&GKoI%k-Y83HTY7`~@AqPM`)mv#>5q{%(v0+- zitLq6)*A7}_$ZVhhS-B_hvF{8Q2bciUEe7qt!;Br+uf}s#=S=Hnjt8Lri$8qqW0}>Ul5G0${lq055%y zB@|0a__NDL5e{^(V%^B8Wu2tJ8MZw>tHjV99kq!4Mj4S)jaQMdOOEbclgm9@X0{#C z_jIqiHb|09{?%HcBzlmRh9nKFIX0RLwq);aeqj1xy}SNLdnYW(>tE>X57#Qo3N!J- zf*tg-<>f<46WA_BVa3_Mm-j{_G4ryJx1%s%fP_w&m! z1TDqy?khqRZpPl@GQpfzJp+Kzt4ZdOoI_jCcAvjNIIOQlS?MO=e(|1RRsfFqT0@eC zzekem0c`WR`ro)lA=KTy2U=Gx$-i;^edow&Y{Z0V_UY-RY4hP2k|C3=ytd`%1V z2RS-g^LNKBzP2+^7Rp_6!9Z=$=`cVJeW58xS34 zxmbI;>~@vpAKl-uFu$?E&Db9g-Q-9^l14}Y3801;iM|U`R^b_(9XuJqY#z_7x-X}a z=X)^ov0BIE*;$fPwq@_jFB*R)qoryR1QXaXECu#TRozvh+uED?Hv(%rZ ze8fSDJq@K7%y_NK=PMhBD42IaLZ0S*?+zpYzP0g+g@bkZzNw#aa03AK*em`wcJBbY zS;-NyLsf*Cbg>RGVT5HJq^v8EFAg@f=FfM2@Qm}8Poe2}^bMAdKC)gMxUO==@^h!Y zXqXIIK?M$hEJ-w8z)y&M9|Y0NbH7|MtrKN)WeoALiTz7b@ppZPm5arh>Q}YKjMCL? z+p0-hP{uv~cX*_fw4lU8S|UPU!PpZVk|F*94rq-qJD>>HLZ&LZ31wFOu@h^wj9O#A zlRa8&{pcV>aYPSC&cTq$Ko#sv9aHD5ihxu;xY4-0C?3gikXI8Rw+*h@Zv)MQaw1I) zaR$p*GrOIId*cVj=AsITsNigHwzD5QV`o*$gdqJd?3^4FvX$1GG}Beq8%Is+s$PG1 z>`E=AGV<*xBOI!YLuZIn{dggb7UssXA1#;?kDqC3tY23Tnqj&hpR{AmB|k_u*unX% zpslqGWsM_y*;xp5hPZhv9D}T>PDLEal$_ETQ-{05EswgHS{FINHQz0kPk*@>BXA1h z>>ymUuQ(`!t`1Gm>^2Uj)RT32HNaS?seu?4_%( zKeOsARMSST_N;J{jEAdYddGyU&a?ZdZfX1bg3+0o z`A$$Fxlrd1Ny6-4AB>?X_4qpHsDADC{q@K_*QeL;gLuG58n!$_C0m0+0rWSNkLx_h zIJCMu?;f+!nX^lreCSeX&Q6zew)=8mGHcW8qWIV~nzCAj!<==7MXxqgme28XP61h+aP<$ zyk6f;i%e%QhXM4o*5U{(BzL340lc&r4X{}nDDzOeg6P6k=w^Wo=*+;?E;c2(3G{2#8<{Tvf?G*V!vK3?7kPW}m{bL7KUxyE_Yn9^llhXIJ z&C1_UBSUUs>18t0VHjh~k?j}p1(T_~H;zK4;PU%3yeFZ>01qOPGI(?zF4RxUqC9{~ z3fyQ_L*gdP=JY6Htyn9q7e}Q_HGN9EQx*Kd)`2sJp(++snXkQ2dz5c^N9ZV9|q#{(1`-ximCRnAXNTJD3_L=!s z)X_c-+BtU0z;2#ZSnlv(24`H1Oy-i6sA&$V5<5&Oi%J#w$PtLldOv+qh zdEum%S^QJj%`y>#-1~NnnypX!@%-O}Tzk5UkSe+1i=Yu1pwdy44TQ+(AM<#{ca&i- zNtwSLv*kohm|1H)!78wC%t_tK&8smwY0&KI1%wvnnQ z0qmm$URSY~wyA5&oFk|I(d6>(n(v(?*V^jMg-~>caDTe(>gMMj%X_@}soo{dpG=xe zBkuA{npcEO*lLmFKXLsINyyLy_oaioI#K2}u3CT+r-Du@iAr6ihij#&a(dUDW5Hyb?kWKHJuARHG_wo=}ujx(%$hb$(&Q2zSie0Y?;Ue-7G zvEP6^3RZAyX`cR*XWDGn>6X&g(!(0KuC`W~KlaKJ=DVUsd?;BdN%AJJS%e<6eS`;r+xnK6cjdm|?Dyjj(Gd9%?D%MlFVeIq0F{D_`0C9@i&N;^ z*O@tX`%9Cy2R95WT77@`%J8aB-fCW`G8Pjzi_{-xCt22tSNmzREP>@SE`>@a_a2Ct zrl0)f`)L8zwbIT!@K}f5ghzMm^;kaYv*^98whhBe#U1AK4cUub#hWx>C~m%sKMQ4n zg$P2MS2@^%0Ap$l5y;hUB>a|ko_u2xqOAS)K#$+37)xG~&G5T0yD5R>81Kt88eWX8 zwvMqq?z-=Qp`FDHcpP=}*ipJgn%-2-F3p&2y=FiETl;q}O?n;(j^_w=vVJ<&iFdC$ z^zig0XZNfs-CpC=a?w;O7#83eOm;5O9UAdw$f6W+sOv&c-*l}yJ6EffUUeG$vbi9Y z1|~i1=$_4V#7+2R#sZ@Cz;Cxezf4QEU$Irszi<4+FV=r#jek{_kO>&-Ok|mJ(#86| z{p)cry9&5}eea_q9d|1Q|I? z8n{ECC38LQZ*As^+A4O#GwZGJjWfKnOvKxQ|33LZYr~zW(*J4XKfRw zMi#UBI?qnOns6}B?wsiv*!gU$Yga~c`7kFX=OpfxB|-W(fqXrLFm2}Hhw>tmPnG>q z>C^HH`!|Skpr!^yL(jFA4ZOTyc0*%)$-#p{Ue0zNm{Mw*sGca9v{rB}@V;{A>~1%j zL!eL?a?7>|-Brt_J!J+w-rnCE^G7y(s=vI*WBrm9u&9rPo@smT3=&Y6-G@5=0~Bk@ z){2@LFpYihDcw5Rxl`H#@(I8)yDu0U0b3p_kRYGe6zz^YLhqz(|J}d7oN~MUYaKV_ zX6-?Tmf!Go#^xPmNI9E0k}neT!#qio+&#iGDbCs4tug@M(5w8|Xp8+m*A`NtxZh|e{m8UHu+8oWV8b`-0f zo3`ig*ixW-cS0@ud;x?4xLyYqx*7@N!NAzJOC~#eH+1EfagTm*=TG86OwLs!9RXix z2#y_T474o@hyM*1vqh58bg^B&M{`oWD}QskqR4T)Vs|XBJ5{Tqggu2JCWzEGhI{{{ z`D-KkrLS{X@a}bNKC%|R*yuq@rmO6o^p~JMdg13M&@5E1z}(els=63j5=HV~1eQ5u z-dQoSQp1zRclhxoYHI*@UPyqUn^FMsqrO&yUh(P^4$Q%WVnZbf-pOENz-cY4El z&CWWaaQk-U)Qqu-IhaK>eo5CF{kO?;Q`(xtrKe^+(A3zll)-jqb z6VnUn%_5t?8qTC&^(->Q`T>p_v3J6SL|oBlR$M!$=A@|^M(%9a*BxMMFZ6)=bv>CP#kr+5)cas}`aceGsuwq#Z;?LQZP}UrWc4p$2uGvt(0VpYy~voqvq%`zmx^UAF9u~kD7fwHj#5#~*rhyV(JbK; zsixk{qSYDu#$+dBDh#E-&1moskdt~9QU?!pAZpEyEA*sB6E(U=n!Z=wzK%uf>r;B0 zLa(&FeRWGW-bv08eWbP*uwFl@TfglD zTq*9S9F)2G+GrEPJV`X}5JiiequB8Nqz~oV=Z=}Z2l6`8*No(yUHvqcG;he9qwa<| z2NwAO(S13#&DV3sEj^~h^!Nm9 zB<0mpaWZ9^n^J{d>QN(opQA^F1Abvf zwN_sNzy{cmF2y>-Dpivxzc{L`0;44BwzRBh2w4MB8H$qyT2ufIoZB~uPDZfjd?F~R6p7BSXC6W%{ZG1KrFs5bYK9Bp-Xe>4ealwdQhW z{)UG=AT-Y3;hkLeXr_`U$h@`4YLQ8iG)XAJ^9_=DN6Em7!8Yj@$6^8L#h-^9&#UY` z^mHghP65y}E~~6F;v z9RH?)-_+;|Xx8`wBv5!38HLo52|O`3r#jzbwpse;15XfhZfLn9gn%}LZ&xoeOkhde z1w$te{G<%-?kqO!l#zbk?Ij^+e+d{C=kH$9G_Aa7v$WoPCx4|)k|I%2eT~^BDfnxo z$L_X`CUcrJCshzU1D5)&$MNbF?@8rhncxt1ZP9Po)ivr744)1}nvG58nr8ZL681lU z>DMbA^*NfgSKQ-NvWLy)rISjXjSgl-gQ?cuXUHI@oH=T$PSgR$%kl(;rW^>~pGUXk zP~mZ)DLL!K+)3F9p1sSmp=5vk;RVs9;g1`b8fGh??S41q{?mVhPsZVTSun#8OikJL zgs{ewvR^b+`{9(8(NeX&EWmnE$>sk9pfAIXK9mFaZFW(~`jrk(4gtp(aI?bqIC@!V zyrCz}8vmSF&>m(RarkebkJ;H{K0K;Ut0~2EM@`BDsZtusPmtv!4Yof8xy{$EH|^iN z%Sou=lZ3gGQW~(hE0umd*gWnVafK}@?;(QH4-tLD#}AN!O()|g9`fFJsXSiLRV)n4 zFMhidRxgd@L9d_NPR_qOpTixz zpK&8Hn#=hS76H*=-o|-Tok%wbZb$gyC!GLwaovkIfa74H7w@}Pa|Q~6h8{ez$_U7c zsI7_W`zXVRhUBMq%rnw9v@?PiPrl~s)XVYmL4sng2Seh5h73R2j`L+-+b?LA%_Ph_ zA-vDOi>m-v;*Iq!an`TLY|e)AjJqSd=FF=-5H6XAaD?RK^i6W^=DxUH80a*O`g!Yd z8VT3@bsaW>?eqn%KJ7p`s85waj}QZM}FG)Ge5`y~OAfTW?vygr-v z5~x6O<;%YCEFj5fs7*7AiseD;u@_Gy&Ryf&>Z>1-UtM#@_h|OL@X}2*4M4LhA9Bmk ztnUCjvjN}a4UgOy9$tFhsUFHNQ~IJArC4l9KUGuj((WN2)Dt=!Q2z&syxz zMo%1xiafUm-1duLQv0(sZjY82sjFBtlp@f`*YCaRVO(U`huwW|YaKQ^~ z-aKVeJuEeHSGcl_+;l{C+K4$!{l;(A+2A1Sj0CN*kf}XR&r5-`zdb7_u-as)8fE-ZNhM6HamL0|i=;ML%R44H}ApmD&{ zcnkncuPUUB0q+4(>8tAD?G||UXX37cwmnn5CvPHZ-Zq&Y6>Z4=YL@;R-pqGq-d1|( z)TT{9lqC?&3|1u&4Vv0llEa`;=6!&w#@K+K9kq_)K~Bma+fp&6Kq=VDRj9?hi%uXWYr$?AM2^CcAG6%a%~zJW`mM*;SSx zs|{pL7saIcHPueD$f{Im7rciGu%0SwT=?(|3)zMPnCCnZ?vX#|LWA9^9z*JZ3pf zlU}yU{Vs5TCNbNqC9uTf>g~nkn%s@0*s6Nit^cj9iDL=B=7-~p%V^b}yg%08XPGv4 ze(PT!Hy5$0!sefIvc9;nrvh4P%6C|F^gCc2HyNrS`~%}Gy?w1Tr=w1QV#(mM?0chP1(=Mw0WrIr7jwjZ%2cW?lFHxE3FYSX@9Uksf5U`8z|d_SJ$|4 z4JM8XP9lm(zN&wkv%N8YH+Pc-FEqo$xCnwqv!M?E7niH~*s8HGB*|75V?nb$go_8r z9_#z-3F;m{sKNYY;u9iC!$#yiuly7?UdznBV@rAIssv5%&tfi@>YL{4474q{(1iB3 zL(!|95cz0;1&&?)!k`HirYy8}z>F#{cK*C21Yia#%+~-I{;tL?P{C+?VaW-wg9i#67P zQ>gHASjz|-lDYyyo?_=(5HX1g{0PJH(V+KKg(tU*?(JJ$!hERBT%wwknPjS_{_~q- zG+iZ0=FE93jOKhdrg2>MIN)`-)y#PAmcPFee}WI0#C}(9=CI?5N0ZxU?z*p`BR+eo z_(+(2MjJVsO72h@C#k=Nvfb~Hbva2D94!73w~#;IW#e(0mAdKY+|g${&#-Xk4dx5552}XoPn&+k#z|n2LiN&%-A@qW0jkIcs9SZ` zA8mqPxS~N{BUA=*d}Dl{zru+upU66+rLN02D1FOc^Zl zmZQFA-j`6A@4kEJi?q6`Ish%F3DeM3#lj)Mf!y@+cC~X!B+|WPjxT-$q-}M0 z#ls|BDmh;)RUo?hQ_APD?1mIJ& z2mF6zy$f7ab^1U4Idfr#L1iEiQgcRx1WcuEU0qA(K%j_~1I|c6I8@u_VhG#jWmPyw z)Fit|u4LQIk)U8kpjv@egELyKuI+AQ0wv*$my#fuQNe*3=6wF|1NQxX_xFFjdYQtR zXP)zXp3if?gp@kSI2lrzhf*GP{&V5ndjyeo%x@Iw0+-53myKgAP@e$?KJ>W@=gjdW z`(H_f{QleVK`mjdQXPZhT-;PSNiZo!NJf)dW>m+A9|XtnGBb4WoZs%Fe2G4&)Y&{~ zDsF4ij{9A5-p~w=W%aTY^fKH4iUD&&A1BbyQ=c~FH02ct5(l756+?EB*mc2!U7<|* zCL!L|(mJ(6vl`X>_wL7s^g)8VSwfQ}?f5kT)Q|E0te#X6!rQEbATkzXeG)?eR|Lns z8RNekUMvxIsvT7tV@$zrI4v38fW5V$vx^39p`!`<>)QNR2*>M{mkc&}A5riNc6B%d zydDCDg|TWiV0=IeM?FeguXj7mG^z5qxm-7;pGpi13V>ThozH<{EVV3CZ3{nWYifS| zoH-X5&&L&;?NU;An}jj1bG92OZ-5~v5%w+zF(5F2V!2GTaj6pRZ&V=>selDZ)U2At zyUFlNMOe%Y^4mFd!;rPqC8xy?plFg3n)l>77}r zJ)TLHVx^M~9*s0VWUpNDn4ZKD ztbaMg0^;el`l3%!FQxm)DUBLc08`GP!guoX1&$8M1AACD!5Se)=BRBR^_`!0LX|*EReAk>Yw`;^_B}rOR4EK#}-LcQ>DvrEJl==c|2+|zta0~M9 zHRl`Zayok+wN2Iyqd0GZf=VjlDD>Diqz*B64$$vU+&H?<-X_q~WBZ3JK3)RK0Ve?E z7p^akyg-y}ffcu$QHNWBLgKVvznpVk{kZJ|R`Xub*V7;sHDrM>%u%VOFd$kYIPX|v zLJmLM{mRWtkK@PJzEta;kz!x~>;twd{AVAbXD>q&|UY}FeF^SkL z)a&Hj<3wbn(IQE~kp~{CH`&kCnry)Hb9oWY+$9aUu}FAwr-wHP?YGG|Bx8wp0AtLI zvy!uF5@OynBZUih>pBEhlA_i~)VxW-#A7(_58l6Wj(qY!n5#GnC;C9HLmB zv)5%9hYQmfa2Iv8XFR~_8gMjbR=NYE+LX%TFf*zZ75Wd3WI^S>saXZ)9v^oQ5Dl~u zHCKY0&U}5VJkfb`!7l&B(+JD36~9NZ*$jPHzNH_uI~~2$e_zEo5&NtNT8t3Q3gD}~ zVWG6Z98reYf1g)8CUGKTaAA6+EGb@=SZ1BK>&WAKDg9yEmLI(m5wE)}(r}-)#v6tO z9vwCZ@B;KJ`n@u1;Yngp9Z^-PGv>iKQjVd{Yy zhz^TLi9K-OwPbySNePzuEKJ2On*c1}Mw71$NM2iY9}~H?&jCuIBTp$UE7vmd3Vsh; zH_u2c{ljxWMTRVej94>5?;fPbKCT<}`d<+ki<1ifa8_$Apub)#2gu8$`9HKG5-}VM zIqA?dB-8;1Au}1c4mFM?n&w|cjNrx|i+GPzl#>!c^n3-A4DVElSNMT`Q1J*Ie{H7- zP@i1)Bu#JEVXBTxprY3UZ^ie11C+MLC^sj*7Jd%2f?;%p%+wEUCQ7*r)e5{Pk^lD2 zEvNaUS+2qYiD2_3r#DJ%j*SBWd<{)o%(+4h>^wh5@m`@Q_*QW`@>srdoT+r%K@ih>;|1+=BqWiX7<|<>$B!#JND^dm;0y#B+#Geiy(I|as8JcTbEfDTx$~_Z z)EHyMy^wnZhzpdtcx~Mmc=U>9W|Z5i*&J4@R{;8zaRD`J<|{4~Rx+O`lI~gMJh?mR z3D&TNmnZe%;xWn;S=508=u~PkH`HYhqAEu!N4t|mua`CMSoe2jYQYOlX<8*Ae|^{( z%h+!S0UGB3C(WEZE;))s^{-3c-MQyO;?QLiCaK^TnBk}}(lU`|TY~A4DKG6#|H ztIE3%`Q1Y>^UxvjKm~3;QG#v3iI2d&YhX7&Bhx+{<^aF<$<~Y~Z z`!{3*P>aMv)9{hVbz&R0?T+^3!N5kQm?bG_R@_Tnn1Tc6GkB3(2e>Zv{xLu-(uTf4 zh(R)$&9~tq+c24l&3VT}n1U?ADE0H9Cr0KVC-0uu_RtoTNhJDnk(RSUl8!JK}2t$#}9S+=v?;&Iy~Ig_vI#YTgN7@ z%MTNBHP!!$Sf_+sb4((?tI*xZMpY|b_2ef$GNsX_s$C%3FVA%>B%E~xFttgp%?%8p zhvD&mkaH3Fvwi_{4aH!*I58DRjqS3I(@(&agSHQCBf4I51!IadO+B-gUkTHZD5Whv zBoQS%ESk|^M34w=1S0ONG-VA_&Bus)Y?7{Xj2NDoNiK~M+V4Q@OQBT<=QE}S!=@T% zz?{?AVevL~OHyyVfdxe5KSaXjt_rfm9w<`uwWl^VU+JA&bS0`|e=7ixCo!O$6!n6L zLuAUIf@Ch7dcWkcBK;PuXV~~iwuV(O8Ma7v&au}L^+Z{?3ZVyd$-@oB*E|AA&cWOE zy;ifK#oO1|Us%v!FC8JwGnf!fkVSFD? zE~w@ecHo(oC*fH?fv0i;Pao2J|Apffj34?tHv%-HEV$LmoBO{D1YCzHkC+FBK2tBf z5+RvBnBN!`&4p_8u^2#A~Rb+RYt;Iw~eJ?!54ddlN&zVG{BFYCd_!;W#{^6Fk zsuwp|d^T8T{j^V`7EZ#Y%G9|ez@g$6T!Ww~s{L%+J`fZ$OYrId9HFk#X4!1DbxaoD zdA35M8jt`Z%@Z3sw3L!HkyU7;3Qt z*aPHVXqxEht|p}~P49Zt{`M*i2? zkfoe2#GBU_n=F~<3S~kpY-J+TNS3c;QY23E6%fr^9kQ(R*0|)XJM<)pRWCyD3-la% zY^SP^$jQH4x;?nB$?$Qq4njQMNMY;aD$JXt4Ei4g;W9@X@!AS9qk_O}yLWPXAhFGy zrAQIzP~;X$JE_N%?dMVF63v00uEncw-7VYoGYM8>Q;P%`q#g%sl%>?Z|6*RG9_mG2 zcn)hJWPwj5z=mN-a#5)d`G*zAdv4-T-6H)2A7)kM(8wVw+;CnIP9{-l!-iD+I925# z?7Y|tvl&T?01<>!T%ZBJ!rP;i3SRT%cD(-ogQb;hWh2MQX@HL2wf9G`rWXMKo)E!D zwY8I5ql{TGHn3MbIRKx=PjGtpr55dm>GO|~#69^jwP6X5Sr5cp_3!{E;f)u2iXrHd zRgifnZ#Y8TxO37u--9Z4=CR1Qs1B~HXc)4YnqU%n=?;lC4Mc_)*MweW0v+{*QQi2p zbwMvvGS8A@|G|MZLNg4KzSf3{y0X1~*W{BJ{O5K^)eW}+ABiyEX>#0Cp&{`~!BX}K znPeZ4l%)Zx13Ju&aBgCk1QuGsO&cxvnFIKS0EUXJc7cL$2Gngb{98+i1LR~LW%N_O z9>>+|3z(3(^-`D;=$;I{3PS!rIJy8V3OE`(B~;XXws%agNOiI0dt3`3pO_ncqXcRU=D?0DL1$F#3n-4y~70}UsEP*&-K>}q64G0 zs6;#+G^kqTaj2J|*#ANWL5A6=g&K)&svE(F<9>( zC!a_jR61T;`fg)qwYEZg;I$ePf_H>G;o)3lS%n(xhw6Yg)K87b$APU&X;+=K60*~j zzHIML0!@E~bJD=}Zm4d_s+dWZ!iAGQY(A#L|0$@@*)k?ziW?_hW?0pW5Jggn3Ao6%_M2UQc*en1Y zwSQq-;ooti5#X>ulP6?W@r(}%(*GgPlE)`OEQ0Q?ly=b3$Sza;q@(FCTAXws_d5eB zA-*5yK9y^X+%th<>Mtlt&?NU`Tq=@fq5dJnQt<9TSNJp(vw}+PEhmlO@tPQXr;JDC zH)>yCGmer6!{@Rg8#)SbkjMV9WGhFRq& z$t1Qe&S`;wa>rbtB6TBBA$e=rFrUiRjMh-|LTiLR(vdup!_a zEYZ0HFKB;fnt8H|WDxmPh?$DeX7cz9nBX$Pe5-*SS*rw|-oR7(4ACdJpPRrFaS%1+ zp%Na<+;wdYZ3ks>CMc~U2|2<^e{vo^6+yF2I%VpQ74XMuQH z2D?Cs%qoq_mL`!tsQLW;10T&xCpPt-W7_haBCzKKnjd5+CJS67De6O!Y`=yV?&V1y zPa5%MdRg^87*=BQ)`3N6F+l86s%a)96)nR0^_o*k#Yrw!B3~kn1@YG#+8j* zs00}N;0n^Y$O6=`>OOo^$~24v<|-!u2km|dXoXr-t#cgY$EG!ZC8{D8Xrf924KL6q zah~meT51`&)yzD(;O;bcDFINPmDXjwAxYI}wF=$*)01G5@Z|ESl*N(|t=j4cr!-vn zVG+(9h=P<`L7X5SAvz^Hcau3Wd8Mh+T!_f14DW|@ic3X%2{%OIb>1HdH-Os>wio)w zXqa;}_j!kONqE^ASP`t6^-Iz<%o-rSVZM%Qinl2l-Hoh}l-YCyx#t;tqbuZfjE*6U zLzlmd9IMA1-7%ira>z{x4wr?DZih#sz986pFt|@_oj7Yf+Sk;W`lcyWgbX*q_nnr} zPV}Gz^L#60gPw$mRPPE!CL;7a88LX4k&-sd$qHBrcN?ynWJzwa=C7>0Fr~hf4KB5g z-)ywM3|i2wj$slRT~1NFw*eVzZfA2MZDi{2%^_oB4f!)5?vO=Hyj&v9BYa}GY*sD!^tRcawNr17Hafwo{xx$VE6o?Ab4-8 z;2<+&ODwM7)%npus8}+1VBn@guF;Vh9ah<38morF*zq1pDsR=+Z=p07$+HQz3@7)a zkdoC#K9D%D_Nd)NNF0n0_0&ou2X;gjRU)O}(S}|GgL-CyH;DEy?cKq-WP=X_EQF;V zQ$zIgVznfoHwxAQO}vBg+T zl!#pFN%V|@394S_@Q(|Eb%k;`Q?!DE-6mUH!u6@%9AWm`1#YL&}?i zmQEM!T%y-`U;tdj-J!iRps3~FlU=AH3J%WBDkr3xsF6UIk!g@K%6P;JrFy}I`sim9 zlG}G`*C_4DljB42Em>~}E|tzorWkPJJ)tBFD+(YlWp0+R8ln!?-59t7$y#668b8cK zG@eO!Tu)}QkT&OaSL4Iw50ZVP>HuqFWK!i|1lI*}s&120+AIQcqUHqw3JdjsoaO>s zt>(pPvNQ}@nDWgUn>j7ZcCH%n0KkRK1J>_?PeY@f?h{_IvDDp0&Gd$3O33SuVP#aey!0cz%O z-VUUeKuE^v0_#k?cNFYsm{>9agOP5zCWrrwXp%DisDh9LOr1cfopdvBE3|5`&3(a@ zDX%J?Uie(y@|Tq=P;qCX(xr&%<)a#!pI2@OP*q|> zYk{e?$N9_sHe6PO5|hSw-vEC+XW@!rg{HC?U-F8!jyv}Y6=eceY_vfcdL(8ecR`X7 zZZyPZ_tk2wipqT4?}pk$Q~fI@4Nv4-Z}X%ZlG2Ig%(r~4Ug~uAh}gV20veWf_y{?J zKzs%-j`uCg86**47*Bf1p@i8oB~ezHPm;bpOhG1`2rA=1BZ5j7Ei#882q3)KbSurA z*K=HA*4uPcI(vCABxCSs$XD2r1QeqsI$k&3UvLnq$BxXDN_$F-Ub@*t?j8p0CGfWjTrs=wfg6YWEDi8fJKjb1wQX1uC=@a~vz}bR(L0c{O%3x1O+(!e+QT55$ z9d@U83ohCOBN}=c1<%KY{3}UiGM4iYk25RM31(I+sTDPpV8r`ea>4780CV6X_y-bx z>%dW;OtGTIY*u19k+t>KC$Fuv9}Hh)W>G+Pn}}mxdZ(Kr8}D?Mda0ee;)SU!7ZaO! zS-aAO$Y0VnD=x!bJdh;Xb6|`xU6op2CL#JFQJ&OvUrQ;PKvbIj&GVxqOk?Z#UE8+@ zGTtw+XTvJ@N}M=vL`H{Ef+JxlC-a`gt6$ha4=h0YuZ22HogJGb471vB%zAY>RKFhx z;`neP^OVUOO}qEl+y%8Y#`%ecuXqyE_SzfFp_|(^r9^$d2U;2{V2BDliDj!&qmlf2?DAO5#B4do?_r+??9$5k%LMYPn=RI%2m9felldTSA zQ1Cy~Q}k+Z8i_GaS@JrAo6_kHXc}o&Yqr?4Wt^6w`6LC!+%FJb-CS!TyC8*l4aq0^ zm*_WQelcR)_u<7n1_?0dfnF3GDlzm+mKzCPXe5f54%424$j6bXF8SGd@>YxO0w6b9%sZXh8V#-B$IQJ^_2-p%v8L%DuYRX%xC^@ZAq6Nt8!C(N?cuom1l+lCD}!i~13?c)L{ zjRajLleY%F$ejF|1e^3kSsna)Z4in{Wpk)|L?5l9V>(1TJ-RO->p@D_A_0xsLG_Ed zk;n|5SYJt)WvofVWmQj~w;|{9EwQC$lPmfcQaWM(2fN|Y``hgOsEwu68XT=^XUQ=b zLm}v2QnSRW*E+D5)DfM^gE5itSiKuID-bP6CaqZq;IGi-I<_6XCe;uHF4CkrSqaSN3h~jn-3nW zVJ9bN>>eXOko%cC^+8H{>K#nBDb~Gn1mDvhbRS)9;5j^W5*I-qtie#!bWHa^ky(#M;>HDcLq9-ck{6!!&B>=#X zJy)EWScv+!>7Q_(3BbGe#n&a`b!0zZXli-Xp54cBKSL!#PhUefr%N9Mfg$TB`ijsB z@Di^l@40lpMdv<=cEKW^$`e^Qp=S#Jyu2LO)~Kj#H?IL+H!ze^LWLfl8jziB1Q)x4 zR5ZX10F`JCghWxuH%|BU!>6gi1uHQ!;BEZVrY{ujBnW}~xQz4~1uPssK(3M{GoC18 zhU7Eb@KFXv6!DG({fWB9{uO#sNOx#ce(xhGnl;r&lQ}M+6W=PZ)fY__>jD?0GA=A+ zJxYETNrJyNcdRGB;zLSA`e3BWs3By5XZ2V|1pSR@%N_HQ_0i`gPSP;s zDA~4jN0b<*FCz)$z>()G>VX$16zNC&Z?jdxD6YwJ!#*wEAUf%#GB7*Tzm!>(Fd9+) z&EWEX<8C|bf`b>)I(#%F>lh9spGmDWXI0cOCK=?ihsY+66#L0~GekSvMNaCYPf9Em`i&>Kwdd@7Ck9L~ zM5B2tqqgBwsghmJhSVBhg-a*}==6*05uGuNzo=#W^mg{5akI%Sc5$8K9*qq_ zR-#W_X*StXO+F+<)1GjkMT6*J^^nQy{v{JbzZzty3pRs8&UrqYQsjE{3FCt4>VOC8 zjbtt1sMrvoLr^_Aowl|Cccx-j)3sv zmL~``R^&-~!Z;%&o|}N0D5~#BlnfAZ#{|@|mH?d~)O9+CH`FqZK}=pk;gtHAlF0c< zj7u^jQ4spFi_f?k%@k(G}p#vxd3UG#| zwN2&@;g%5SmJE?Q$bw+ga@nO)_9|OV!XhGe)5CKy{qq`PUiV+1-#(@4BRUsx!Y&Os z9G}NCrzjeyw39;1ks=ufoI>Iv%k=PeA}0Xb1KpVQ4dc2lSv<{5$WrH2y!FzFBs4=4mh4@vj{txB_;rFxUhfF=Cr~Y zB@g`l?1OETE^yXEiTY`_OEq-7Oh?@p4G5E4vN7BORdC5*{un)YbqNW1NKc+4o49)Rhnued#L;LHM*6~-%*UI;f5jUI<#!JI`Ol=j_=qqd}sTn1~WZx9WYiI=z}F3jG+oI&4_I z2%*W!G<)9Uu~|Eo7jXfo?8uj{xoDeXfsroKoJ>8N^f8d{?lmiilllNm|5AD@L0}Q2m^7g*R zVQZ5QL&TV=(V%Lqt=6PWe9gFXj38^OwoYg>tj9CdqrSc!2@q<;Lxz5AdP|-64t5if+4CD$81A#dgDR=6UIc-aEP^?~`@)ZaL1V$N z0Wd6ORw04}xr)pSNj$IlNcHrGa$+xYF;`}1KY!N-XjhEz+?M!R-wkZvr0joIlfAsl z0rf{xlVQ=*z?4b@(s4OWfj}WA0DVw)4EB`*BN3^S`rr0XN*ElYACa*K8w&fkE-Cef3LaSCMk>4@uNTr%U9BgSOdjS;YaWwlsm^x1znN91{ z7Ye@P5?#m0!T|k{$N@BW?5vIU3E58{{|49d@)|muL?N#}{{9w``g{_mBVVYfl6Ucd zcgKk~p1~HkCuFy*aYneT`I(4ipJi0U>_*$N})^zM{^F2_w>ypN5=j3$$H(s`!xyKPZ9 z7c1ko`|$Q?^M;CYi;c8F=*SsB!hg%=z29}O@X0y0>R2 z@wkmj;M%Lgo5g@f1ds7`x|6Rkh;=XmPHARVFu&c#6D(FpjOEp_h?V)sN@durBfoy{ z^d*s2R2m<9Okr89j(_JQR)Iec29IF&j;UTS&O;S7YA-$s?Zl-ua_?=jlEe(U&fMs2 z^!B?^_)>_{o017~`pCnspm*1i#}~gF#}^eezW=`8Yw&t+me%AOhOGMXDf0gUsq<3@ zDK7fQzI-yTNug~ws*P$GSaI(?`-z+@ad3n2@MWcO#sZDfU;LvMiuupxmD%E?Swg2E z5z|LvTtR=mMb>m(5$Oa>%+9yDZ+Iiq8%foXl~3eHuqwAh{yBtN5ZQYS=A>EG zhMx7(qrs_yhZGxIThnFrRaJY;mhWPtBcbbaa|GJiB|v=u#Zj`FF};EMpyz|teJ#fB zymc+&VF-q4L_S2cGw&w5J|UBv%&LZQkU=MKJjFXwQqIT@$PVl=<;O59&bdff_oD}8 z|2S;#@k1p@#0=2c;zjTJd8MY%=E)LVYF<|{<#3(gt6@Vw2iygWBZxud4>FU)Db!k4 zOSYy`T8{qQ4@sE8A7?pDY5z`4nlxs#CU6s&&SHvsOS9>*2~5rFUfX!M71E0jZK3W< zPUf_aL8f&!NI5o+=T-wDivn!k!`p1U;(|3E7HDh@OA?@0$3V>cWf^RAKC5hEBZC!k z)4up%_8nCJ$SF_m+u*``IMJSlq-EDttXtZ>6qE3n^C_0gRp}Y(M3ZP!uT1L~(8KKQ zhr@^X>I5z2*PMraGf$-a=Cv{VCW=OuVcZKf!76QjK2pS3!8BGNbg+QP&%|e#XSeI4 zzh@QYiK%*}X%-3RN%%n4EGF0K+E9Xo`)yhVnuPBbwN@Un^xg6U?t{%AkP@4(SAp3g zQtFz#fi1eAC73f#u{9oX=oe0MzS8tZ_;~HUMsaCeLTDU29dkn zCpN4hjDKCI*jYy&VWSaZSFhsFbrj3SH3;(<-M42sU3Kx_UYyN1Q-+JHKA*kwOS$#O zj+M8Z&e4($-^!r{alHcM*Ib=rWIC(RYEvuFT%)MEizb*!r{^vgk8Bi4WoOwAM#2sb ztZn%>E%J+Jrb~px4F{@!`Etc=R7bfD-`(t_bU%Q~;h#L__-d3zlW<&s$BRc_! z^qDp9pmv#xZ9+GGStemQq^}^MZxK~#t2>V+@`p`wol#r7I0fE>%=%LCA2ye9Bpe~x zptF&SQig3i4Z_85Zxb~7hVNi`U;fq*ZQ_keu32V#!TQRV5hV^ek2GB{IhZe1ZSG9b zmL1_0ABXIkSs$OYwM+)MQ_Hr_oqwo=dpUi#KoN9Wm>`# zJt&4!DaHs3kNtge6j>jy*S}XU{B!QA63|*h)a_h3^*pEF6Z-=U9eIpgfPz zDX+qOd=`9reLu>jb*@IR3OjA)1-m(uNE5#mY#HXS6RZjKljZyqYH}~bpJ(>C6dEQA z)i1&$`9(&e5A_E&q{?^k2FJ|ZG}lCuqIHmu0qcVf7?StMo;c4pRF41w8gYpZe&WDK1(tP9UuXK#B#gMvl{-h~@u7p1J0Gu&woq)eu$~-; zs18;{l=R70e!qKXI3f2`HVOl?N9WuOd~%yfY3Utf_Wy|7+^S92+)YE%9;vK8lB1t5 zlEtVx=fhMxNA5xViSV;ilA@uIT(XGIzHyPMSLLwt3T+p|4~b5WgP4ejgtDQ|{;LwQ z)0S-=vrEWUEd9o6+Hl_A|lpTp|bu3PH#B=A>-{)x>R5E(W9)a^ck1V+BRUf z${orMx}t^EDzlgcBtl_clV>id*-V>GP}+tuX%mebiNt|reW=m9jIrJst*$AHP;M`%v(Jq z4VYTUA~K}c4FwO-HN&gc&_)o%iA4`!i-C<7M!?p$u?0{G+sFGK6=_2!heJm7pp!Zj z4@)$4kXY9ppsD981V+xHVxfn+w%cCjYf1QvB!z|d8L1e7@##Rlm|Dh1o7TT^Y`I!< z)IsK+{Jr&*LJqI4bhs67*9|;b+J;+*p-h&Wu&WnG+>_xvAj);wVnnY8gDp^fi?Rwi0}MfX?s+?!Q)d=$Tc2_nFt=W811> zZN;lAV5TY@aK;sl)Z>yNo*W|7dHh7T6@qyh<@FH?MNrK=Dq^-+fLhJS<~W^2_=3pW z$liaNk&xYH2C~%ufmEsDYoQ)yIi^;Okt7$cyR3bk;HTkE8ffVx4c-0=whj~eqmjLn zBBBWKlI6_KvR&)WJn{RQqO&WNn|o{Fe1@#*rS7iw>1RdIPBL3j!l#zyG`h%GIKi>C zlg;ydBYP}0rQg^-&gh72fO405{~$a;eB5?qvSQLwk1TrkuNh=vv+u>I>|rV!A%~HN z4d|uGS+Y>S2@Wou?PQ6A8MN{&%4%!}(oaU#@(U4`j$~^Ch~9~1jpuJ)^Q7U%ci+jW zShRVXJ=;k?!W1G&fmP-pSjLCg+xV%rK{5$b{>c2XnM8|Yj~*k_u{2$woR!r|-sgHP z*z+iOonX3NDwzxvbbRmh>7jb506prtX?C-dHU*p(%>Pq$uTr4$uF6kQ}Mj!Y%b;{F`*XGvwRm9FgscT9-Vu&(jDW(&ruC5mnR5VHK(%wH@PX z%SQCDGG(5SmJygFQ`!r=g`x~we{Pl}5aWjcWqvF%>JyI~yQ@6r7@35hreI?WFMF#i ztI9T-VcPHZ4ri{4!hp|&$n+_AAIy#MkId$twECtU+!vQ#Ta~ccJ`~w;Yn*D>3a41* zilUTx?vXA;!2H}Ooqt$B!HoRZ4%g&BN;>(Y3-1@m-QL7vCV^Ff(vdjUT9uIXYsIvE zNT@`%L%8K-{Ro~*1kJi>qqAe($|pC&Fu5r)&cz-(H}W!B(%&b2{>m{us>QF$e-Ccw zTvM5>s_Nb8ge+El24`1|B@?I)aC$%iX?zd5VYh>DDD+dT%%2+5BH>8s#ekjj9j4p* z`+zUnKR~j01OCeEyfk#oB1x_bE!laUFR~#n{Y?;TxlEzVn0h`tX6H&Jk%9Y?(*7J2 z!J6ADjoIsZd~*bjTIfx;)QAuBXy$apB%HoI+af~W=d%k)PvT1nDTfhND4d`eiVF2I z!pn&TM51GE3=k3neK=~lc&rabsIrBQ11h=71_m}xhGYWCLy5~@IWz}M4f z3y5f?wjlE&a3J(DaH(UIPVw!eo@f=0p8NXw&enX$y6~HbsOTKK;YGxd-h{+&(Nl8Q zl)v)ju&otoo7V-_B!mo`X$KVWmqQ4UHl_!A;y! zTz(b@El|-ISKQ>ZK-!|d6jTGNI9r@3Y#K}C)$)gjWn@{K5O@pxtH?mc9_(U5!DM3f za|&{|R!ipX2G`B1m+qAm^g*F9?FsCWb<7#Vj<4&_lz4?sle=qOJHBjEkPT8NpO>}f z!Y)SdO1K67rvVTdS#46j3_~($D+k(Ok?1Wt1QCyS=2%fu;ECW;>xDD|lD29cq za_^W-GeVWnt@IpZg9iQCO&w@2A}l`yl$M@SSe24xpdblYR`S5wco6YzkZFff__(+4 z`hVakbE6utT;hkpnG5jti3isUV`AdsDsv+Ln#r6nr+=7Q&=*C;+v*lIMpEIpqAY-} zk2;uLbOQy!WUc-+pgMd3Eh}Tq;HE9BsgH$muOe!=z)|Qji;rnIFUgPRNoX(lUtdW1}>l%Nkguwrf_8@LU(#4HGS);WUPs)Bq&cnfVI zR3qALT>+%$`9yv~#iG2?ah)uh85}mtl(H{)u(`E_?0m*wO6y%ouaw7Q@hPcJbT?Z` z^Db0+llG|_J~tO+9LRgj0!q4_6TF5pONM$J#J;`HZ^s!a-4}({VaSz`vb+UUQXS_u zTJeQ?qy(2zkBXJT-7L>AT4iF&0rO*dt8hWt7s(=&x+xya`V{{nap=)qk}l-7BzyaM z$P9cWg8XW;4axvnu-CJHENAk=S7yc`3*@EjC<9*N)8Qr9J7L!03(-BJ5Cst52Sxh7 zxY2chXa+>F4T==2#7iN>a5rZLwgXRhGuC2`A@?jS5Jk7Iqp8sLz7?mb)enKrOK}D8 zmqmYkpUqfCv`4stCckkQHdy8^6kS1-{kf<9yr^_)p~M#HQ1 z6+BVwF;&~Dvy5O5OKjO5R2)Wp1tx=}1*Z1DF$q?3EUD%zJ1o>U7kGi*qd$ zy+AE_1H!P6>&+|~vJ`RDzwM=5b8dYij2T==H(7+zorB>%WoktKYpeW&xbBqu>bv5* zo@mj^f2aNJ6N0-XFq2)7RpT_SwRL1N!3kztYm=Y0Oi2B7GA&<8a($|Dt47fPECTpS zvES|XpXe7h3es&v2T%QTdPCDYTB3+t4>RNESqQ0SN%2axITK4W(`l24kK3Dqeb!2{oRM?6^$-%RTzB22}jh+w}!bFTA>+ox#&Tpl5F}0dq zlJy9TaTo}S0E*bbOH+XsR#cCp*?e#hO zMoMiB;;l|BXh6YoI*M)6L#aLhDosv;3tm&r*Ci)r%%K)PomJ$+GSIZ;0z)oYd#og%Wd?0xNf&q#b^xY$y?An+?FD?VOU$z6Rd4m>9VRYpnBZB#Ias)U|9 zRR5n}kRjqN%8VE=5TwuSYq=q_Q*X)kZ+dLy8e5$a0w~Exr0^GvN5c)8=I6S>XIwz^ z4G6Xit%c4$ch(8Z+2-=y^%;exwZ5Yk(_EYF^#*3{8|TbVM`j(gy&pIG_2h_HEr~d| zuikpFtgIIDfDqjnHuDbl_;1|`bQJ}*_qbP;_ybORV^?nWh98d~i8O!Nb%nEV{w%M5 z`{*A34+d`e-qGvbo+4k@q29%_KFe(1@!M&oukK0w`^8gBe)^(wF`C%Ni4=MpMNHoe z(1GKvkafSxTAKaU@R^IF8I8uZPH~GV+;&uv!A`5lFnu1GaxAf0nX)?>l{hjb+L$1v z${@-m6mL)&3WNf58B7qj@X1@W1h3ouXK&x9tu=PKbUVFpw2NClSXVgx&9fa(cCKwL zsN67Yo?4$E5X9**a3J@(n!m+#(@S~$EH9_w;P)yn){m*%uNG( z{$`N*T9w! za@yu?5x6fNUzn0sps;n+DNXjH*4m~5a}zPvn$45%h%_nG31wNkO(fA~)mx3qi1;|8 zge(XUpaCyMm*3(*gD{L#O*g*6JNSrqyLq_q&?Bwc*#!;c`p=oA_L_Z@BTs!DX*O4N znQK$ntV&IN;)NQhZ?PvrUL6wddtCTrhtH6npo)&+RPuNbky}c&T=DgKk zU(_^x?O@|~mZmR1{@C`O`FzJbSyxBa>&I=C`_}w5Cvi`Xt#99&>fM!RRwbGhOk&oq zoF_kj`(q80kJ%L8Y%dUUIlnv5a?4#L4vOyU7n_E;p2pmU?yh6sUJEp~^fup{y(KS? z6K%O(Z(#kFFCY87Ror%U&fm`Mc!s-^Ze1c%+3M`kWcbe)-Z^3-JpCBMtY5ytfi z2mz3S`cG`9_a9t?AKV(OZ*7Xo>6!Oa?(mm4Z(ewhT1@ZA#m<}q^WTr%_wmaYmVA+U z#?E9|*(NrO)2Y4d7Z=g>FZ1%G?w!c^P#g8Jv*Ic|EgKe2LcjX47ZHzAN&7nx-vG#lwr zoEG>M8W7e2?5-mBU{y_1Tgzw@=YG1aF8!=|b6ZnJ?E`)0wKjY3hT8a7^32&Cf#J6I zviF%@V-t@&9KNc$DLj?0u%)>kHdPY+(QrARjnM2hXa8W`Mxo7Jw7EMs*WB#iE}rc- zKi)>`TQ6L}4y(o<^Y*ru)1h@1y5{D{7CLfe)b(4UdeCWF|CIqg&Xq$m{`mQ$gMyC? zPPwe?;JknAl5sFI|1ZX4G_`TC%H4`BmQB?COmp3tlucW_gJ)~+v6Yz3zTm`fBVK8) zX?oaf?t5bGzB{dac!fGLSrM5M16i!L24m+kl(&pS!e@vslwMyDZ`F9)gaOLY0dF90 zvr}xYUU$5q(fl~Ebsv8vxhGv|H?cw$)bIc4G9WyyoM!w!Y2|(~^$DW34Ii7(wquQ_8)x0GgYn|>5{oOe}FWTq3 z3x{Vkxc$yU^BPP4xG6h3P*7DC6h%w==~In;)P4FEb?`WNUxY_>LpUs`e zYdZVd>OXz9vMxET{cPm%lc{uTSCl{w}} zv!bA?wyFkyVa%yWw<%ssEZ<2LL`Ui0MQ(MVAIB943|w?>bPwE|-`T%u@E>k>T>9n@`099AnzgsT4BTmK-hqv zruYrn{dDk}+kN;gYg?1KsJWqTTb{0A+RAPHFa05|VPE1g+e!0-o68@0k=>W2E(>Ea zNy;pff@RG{O_jQe@G`1|%0Zhw22w~=fU!M6g@#i9Ci)+^DBZ(Dkv#$L3-twGnLj<= z-`CfDPkMFk#v_9VvkPK+6z>(pT&S{Dg0vcYa;6#ox7FGbt0R-C94&_MPmK^U5Z-RD zu-)r!6-v7Qv}s+X@QHu4@ZtSA=kB)W<}`iU)z(oroOkSq`Rr-)rjnHluGkJ_*>WD4 zWuBb+eolJz8<`1n<1#iS9I(~heK2KfHkm)@-)s}?0eAO_!S0O%ZEZdD@s~<^a_0^X zY+1MNcuR3B{KA0$_?1tSx3z_C85RFypjY=ZvDO(0BZmyvGU-?E4VGWN9CkXjWXJPS z%#Ib@*dMHqC=K#f znVBg@GHY;PQ=Nhr2gXRn`75D#^K!kzwB(f!j=2jPi~iwlY3|DYp>S2pMxU)^W0UZG zPvimHzTcSF#+Id-Gi-C~vY*z+99S7U?cunZ%&?`v!A|Gx0s^c;HZMC*Pbu%+wK_paQ!`;X;mt2ItEa~w!BRBHQf12CGyu9JhGv4235u6V#YU()H{JOjQnTK=r zg@wN^Kd}+!N2WP5Ez*=>v+b)(1%b2nuo-ok*REm2Ep?3$@+)joC`*qy(#@kV1!+;V ze5h3pqMe1{Mlt+G6`l;DdOUeAqHQHDJ?mnmC-GZpHbaoZj~omh3z7g531Hmq$Ku8T z>SYMysZ~1Eg5oA8{TDzT+F8VLV9tOKPX&p#CdAcf`vg43pu;pd=4XOrK$w1|dbXP= zR5R=k!W~!b2#0XTRu(+TTqDe!JEbSDQ0g2WbT)fW;z<;C$fQWYvp`UP`?19;>9N23 z@>n+>n{>tWkp!@Kz+M7pt>PDeBX|>LgpvX2O9TE=3DjyZc?)X7rDu8(m+*`MoF$2g z(X4#BvKd2g0dC8dk6Zv3>hi1)f6X|_n)U$rHn9jH{j_3m^s zY5c+Iay=fL#2X~Lh6^-*AMGZx2&s)U=($Ll_O&MXRd|&d`f+%Z4ANBEqMqjO(*f_! znAl7S-j0Hff8U*Pbpjq8hle{x)kj?W{Z~ftV3cs!;J|}_8t5D-%pQ>*WIQN{54qxC z$YWs|`=^zI#dt27F719B&&e+Zy|_~*AAhc5GU8}f1B(2&Z1|%Q4{6CMJt`@JH$U2Rdq66 z2z#KVeLb-N3Psz4TS^0MJ6SxcP=BFCnl|X3CyK+?NXys89}P0hkiZ@uf41>rPji_B zHn>Ww#1yiid*6Je;po`^fTdUQEF#tcdaINCe{FqzT$EMX|GDR$H(+3Jd;yeTBq(HG zr0j)SlaX*2u%~E#+~`l%V5`j*LukvFM4VgH#MVt@b@S<0E17O`6X|XNCE<*@n`W)r z3t$k=7^SX;3XMmlBLTIt%vh}&8Ux^M?WrJr+{yXSkb9(VMdxH-_45-$V^q@n?t%?+f^;?q zX_y1+mQ`afDWiAq_Y-g1U_C`7>S2l~SrmT)1<>NU8sY2X@(42-cH_^?nK%1yac$oX zw0OMF{hAAC;cLs|Qx}_ojwN)h7HC1g1eQBhy*$TD+^dds zA5_uKf;XJLQJ^PZMvKr=i-`4LP?58wJvhvoaF)ZlkW^T4+2p9lZ8n6Pj z9$`v69Ej*u4t}T>&|EoVLoKz45Gxvk70_fr_2nke#-R1M*AKnzUszIG1ngs(`yVKx z7SYtnTZf7EHlpQYH{e-AdEJh~cXxYOA@LUezO|HiXaCuKg>&M?6$_eJ0WAXYFihAQ zlaT%Fqfh;}3~W69rsCpC*Qt>Mj*mawK+TqkQIc{!$ep@ z{d&k9nE7Sb1PwiLU&{PYJvMg!@-fqc{P zaGk&F@AJPh*#jyk4{~1pa%BOh^D z*D3`U`2=l1>K*U_hwbIPrC1hO4WmoZ;Kz|RJYH`UY~+(rIc4HJiI&<|@qVQ6@!*@^ zBVXMkEm=7X&WImzI(cW;@n@&GhaY-<;CtkHEIV-lG;wbKjtTJr9}8QvR&Z>7)N9z7 z@X_M)ETm{k9!{;6;hVB>Kw|#tV{9>|m9?)jgY0iQ>tQ-M&uC+0+qxfsxJSV8*yez2 z-(_Yde^V7WmMyRM?QtF=4*vv4Ay#Kw5T>cw<9PQx)5jmF@95xg_X$I3cua+Rkc}DN z!7DgCbN}(_SwPZW6KXdx6YP{mAY4F%88=yQRbP?kj$f2UBRnhFri9>>`i%*OFmpK^ z3M}4p&o7o6!7wK-FTb24u3O+IeoVo+$8&e-yTgFYelXCDD+k~Z=W{T&3gXyx+=;OK zpEhQ=z3MCc7PIj{=%h$dCWHM4LBt?~uO+gy7npG0PGG_`2!pE95QcyBzghJE<$Dtd z)5=9{rw}Yph`|3w82C?~C5{pC+hR3bLc_18p(OF1t5|0pkuE|gejp^miR6WPwJCW* zsQH6a2cc$uGONPfFc6lGVcH(oTDWLy!kYD_CTSdmy?38qR@-<86z!)KJr&02Y)K%@H^ww z-4|il#yuWlNP=dX4K*cZFij*0r}-{NlMvn|tqopBv6Tl7L71=mMK)tEk*Xxz8KNW`zY zTdPUl^Z9O)+csDu$?qfj3LJ|`UkYtFLGm%ShUD9uotP!Jsq#yt-`C*ts`^~jubB6j zhYWmiXf=(9Gx%(`E?rBi6egGBX_U|{qwakAJeYr=*Pj*w0gdV%!`vdF|jN>;jgcf#{ z((*t`*4gUzhF+|h|uqJ)XucZQYDWlPJjR|HKE_!lG(z+rr#q^aA;g$lI=;YiB%wO7y z2Y`vd8kA8^c;^gqyjU;~PFcwBt6~q~d}CBVrUO78-K<48b}@hILYxCj1KiB;XfI|w z@h%oi@VTq`#}jZAX%G`KP~kyTvY6%&33dAvcIyNxLfA0Ue!$Fk9l87t&eugF!YIPQ z9hldm#k)~Zz|)T?Efa7i;9}!T#5wrh!nbi@3ubW7mw3v^wfQ$*oQzAqjJS?T=noOI z9lYWo?`|!AN2!ra&=5DLMhY@Bk86ZF*KWWpLE|{x z8*p%cJKFH=%3FxKit>aFV>yb^CDuRG(Xlcq|Kt4nJf-HBXhROu7BL**&VU#^ zm@F;{z)nF)^+42;*Q6a6NM#q-xnPhP76uH6Ede4%6Ox?#LTB9_b$Rtt$=`uJJ&Kq> zHr9^en<9olhpnZ`7KPFUFzY*)m*Yo}_81(G;;t0M&CxaRqtSC+*xVvYUWp$lW?yH_9?ny?0CsTN|%f4BNL3aAVeiCZhP3ubb&^!D25G0 zdKE8-VTL(VJa;okj?k~AynerQk}aU^5V2>+Ti%rKPZ$*4PFeH?lX zny6rk#!tn7!jkD;c_AY15-vr4U8$3R3*#fQK+Jb!huEg{^jMa_0MOp~9+>B}atFH0 zII}3MRO)FTPOP&LA~S|vIZ(6T66pp6h$G-_u_>3ukVfhNj@y& zlKo~RY0`FA`>7niRux`Ul$^Z?mr1u7NI@-dDBe33G=xpA!oR>4nTULrBoVfZIfLY= z;FQ({byE`};#KO&iJN3><#TfIVH=BEiFz{pIB1)sz|US}A#NUM zaB?1`#-2c^MeLGVXua9tTNQ+w1y)bb)k9TF{KmNWrbhx6h@JNwyj;5xH>2~XVWqy-}$ z@30T&u-gt6UdKVUCPmpV-Le6N> zKm&*w3L?u4DsiV$^W}&s4aDIoxwRq8)RrwtOO!9ysKm>hPIP`B3jELwg6j@)gnMuz z4x{qoDn+jH>I+pQzpn0`E@C74g0lBb9zVpQ^p3#D>&&#I4NY+8f!Bt%pcA{2>5L+Q z&D$<8-AZYxU5FXNk_4p{m=VWYgrP0fz~K};p}gxrsk;-FHns(nT3OH)u<-pUiqg1z z(PCK97~9_A_Td&Ll@egl&996FZh#XZ-a za2|hbY!Iukm-x`zEUgPy4}|U8%d|4{uVYqffP{U)3T&jJoYc%6#BL3rSzyUSO#AAy zj8*wn$RN?h@BqI}rAuZZ3)!4RB_KrR6m|aRV%ebosyNYxmXXptzlk)>B zfV6>+<)Un6DkUKI0TL?^ zk_xW^iSh|i-<%I*tYB5#FwS(wBjLk=};=uGo3;<6m2OcA)Pgrucd@`p-QJUIH_-cm( zp_QXYaJ(P@WIPA*5%?H^)L{?`$j(7-80FlFF+Oe(-{()0QD~u4d2`J*roUYo`Lyqk z`F zB}uxUm)>6Imm*d)H6HG$=X`}51L1aJ;(h|6g3eyU<_@*<)^)CbY7f>W*NG@%dKcv8 zJEdpjYb++3cf3D$+U0f(g1?D7*R4C5s5EN+xpb0~P zU`o2;=A%KTJN)}G^l1$*rzojZqWIp{hNfPcl(X}8B&UQde4}S7-OgJBuC;MwvE-MobQL#Lh412bP=HMpyZ`y|5X;@L}i4S7av8*I6 zRMeUAat$Pg;AFx$*Y9#Viy&Wfxh>z*&vfQc-}3y(RJSxH zT7i6WYRZ9HFogq+dkw_x)d7+|obx4k*wd)fB1j_cH14cR3P`3UO^?{Cex(BPVc%Xy&*! z&TJkn{(@*h-dwV}{_?+P2e4%$W(N!v6B>Fr9t*&%0rNGky>udiUk{>Q&2PIE8z#pk z4c2jbVYpanTZ*n0W#-=50el4wCfS`z!oEzqU}ce$JwdI#bt%W7_1q=R1=2b@wNQD@ zh8RGTy=-=zJjisI!6I2v5WFvKC8oaYTXl;H>x67sOf|iDW z+t=5lW`UszaVwMs#zOdx1UJGE(POogL;L{OjX8W*zEd;Mi8+n=+lB|Q%ojh)D{?Sa z7?{2*JLLfK;5hToW@E$Y4GBoPnK?OCavnZ1E)gAqrS{I8y0YESJI;PqFFyvo2%W>% zmWv-^JT|r#?p8l5!?J`lo=`P3FEr-MYoIX<%SJ5hn}yz@^d4D{oU~(NFsBVe0VU*I zW8-Q^Jsdf4q(=wh7&2lMVG655p_yMk!bg9cj{{C1%+l-v;f-QcL-D|Q>@5&!D~v_p zGi*MD_L6?tuE=pkXs~8<3~W2&zgCoetZrsfN@c{Ec#oQ8s*>gj0!~I3n;|;})%-l^ zYJNIND&YC&I@>BR@~Zh!0E|GH3Bn$P!XTzq`;9|+9c^GdCl-t7K$K!En3MjGD;sj; z>|5uJVDK7VkJcS(!A3tBudbxLoi>Os#%f`&Un5D$%#xR7n;VZ2($Q>ds!NTiz*@^d{7A$c$ zVU?-LoW(RYw#$~BB1@;qCe)0t1k-eEigJJ@h1TpUO6M-hB}Bk-IOoqzT}M$TmgzW8 z;`6t(bH9@pJAG}AQ}9(m+3$lgo$}G7>4IvSmxFm~k*5$_geIK6QFeId{5Y>RY0<{c z!II)V*hH$oNWgL$*{~UdT-O%Il^y&??33}6+`~coP$8+l0MkR=&3i7Py*z_$oy_E< zLuKM7+qqC!} z_?*wlm31-#8MWfawH&(a4!GEEgVqqXHw%JUT7N}qPhrjWRJ81<_yk#L#eqVChuzbb z-^CjbcJp$xniZDYql7LT9xNeX^5T&u zi!ozU=7A{+t6$O{kGAAs4l*CF2`Ku?9XUId+V#WuJ?5U1yK?F=d3!?hNOy}LAs41z zUu${Gq9cu5D*R#wbeFN`NOv)Q)Dx=K?(rNA=pE3q4q@MN)PoLEaU5{GKu++-;2*D8 z(YRbHj3Xr^6OSC%By7q>7VWK-wGopsx=f%&@`^?6 z>aqT@ux0DYSXvn6dRDYiuBNY*rmp<@0w)($RY8CoTXUV6eSGpr$5(OUz!&m%tf16< z5QTtz!r(w!2QZGW@E5Zsif@Cz*ho3c4U12a%)!zJ^={9cC#W-pAULrh4u z2NYdRwnfLse5Bj6p-JggT02&8+hZ5-ys1{KgU|fLiA#dwk=L9C%#0;Xy&krX)L0KZb3GS* z+~}Im-onr{+YNIVk@Fsmk7j%`&|hOWAGy6|f9B501gq%sreYvAhA?YZUDl4IOB%;m z>LDl2{h*C88N=P94N~5&oEqDD{BeyX|2@29Nz3wzZa1FT!$juy4dKAeB7YNxm$F#1 z!HlHI|FfI;dk3Kbgo%FRz1rM1NO=8JTPt7S@n)n=&a)Q92viyUweb2qHor z4e#OQ3vgE8h>cfeMBy3a{VY1R2B+36GkMOt0>_|W6>OT&yxK>$<7epa!&6*QuZ{IH z!#%JP)MXx6H$W;=N(#!Gd(W{(n?UwUH)1{q>npq=r1Fb+yb>k6k5LtY80;y+n_?`K z1saXP#>#FmQ7}v_3C*H< zTwt;9$TH1kI;;rNvjnXsIX7WpKgN5}Jd!ShEpDomos_Z>ODe#HdwUyJG@B4C9jtW^Cc~VkO@B z*^#!Y2{F~(=C$QBa1?M^{MjD03Rcs$4OEl9FvLAkeJffW(r0tQZVIUS~ zobx_d!d6@la*n~N93;f53U-HY#@TQ}4!e8e(u-kxwpN0cshv# zh4a&f(Vbz`Ry`Ud6?L-`gy&V|T4sP$ce~P--?k~p%{25ggSvbe)MUD5*l7fr?HO5b zdxtRKI%>}|-5RAXaff+A_OsSzTiJw+oN+8H$f?uRWMpmpL2a3o-?idmP>ohs!q^XL z^fPfQ4gE~5e(RJ?zy1uLH#;Y1-xegI3261Ju9WZmEciXgo0wJ?GG)_G0X)^z*jVsb z5J;9)HUJ=fxAFF)4Yy>>eD`x^NY`K!VZUGP8Cp|s>$&L98JqKcx6&Fd8P+u5=AwNT zG`tt=L1qx1RdEwtMjJgdxw_~JyuBpr?Dp(LnJ?rnAKI8UlgIi8P4~do=BZG zGkFK#+z>L-(9qPiK7Cw3j(k@81&qu%+xR`&larxyfjn*M;hdfOv#lcc98t;NXl%V< z13C>uf~a^9aDW_7p>y2bngi7xJ{Pr#3~(L|)C=;u!|-VN+BsX@wb>S}bbyZcov!_j$m16cTv zF@~t%=PI+()_e}1wxs0kOUX{OVjqc>5r`L8G`ki9Yz1+yn(~Au%YaHYJ)lVS1#L}T zZVw+zB?&gO!I~yNb(0`ciyTafux^sK z6MC7XG&L0zlvJ!8p$32gf;|ws=7Wz(ubN{BcbP9UZS)$^|sWzuXgpTXtXoJlC3m=wIue(X6#eveu}9b zM>pk~>{(>8W$S~Y`22H;5KY3O@d-7>R8(hu`ph#&4KX=>*Vn1JF)q&AOlR4{hS zD){$0OStD#46Ym#v9@|sUT*fo2;CW>Tpu3k?T1Vw9K~u{5YbAI__)r(ibw$^2pcUe zuRqxI7NS&1rdBr;1mP%->;pcCjmYkl#5Yc{@CBF*bjce8#$62NfLH$lM4j#Qt-B*1I1w{T^dR@_}r) z1sE=p0R5DEk2I%!%-H|K2BTU{iP6o^%KDgvzOuTtV^I@~bOU9SPH|dnSVi)2DWLb z%oDp!gJo;xRu^&?{$Wq9wrd#1%%C8ARZAHJxZMLYNiEZ-1{?&#sVy+WhS1f}`{7CO+OTghzRt8Ncsjrq z0>A25Kf-;-$I`D)@Uj4*=?vBI>wHW_e`491wHs(r&dakU%5er4LOqe?#@xhhcu#%3v&(VHu>HJBO|{|$HP*IV9D+Y*l);=}esrJ3TJ$l-yg=v% zjZwD7F)zwZhK8F8dcU%vMhqVkJ(jF$azy1m%gt6&7+$&F?{m0cWXFz^goUHJQ6+-m zIDC#n7@$;qIUbN_0629!A z?v8^My`w!FJh3W2h7ouHfqw|Ys(-_tZ|JEoo%r7t%Z|T%jL1({WL4#+WEZvR(OfhW=zHY4tXMDo z+>ji5@=O-F152|J$~f7P-|RVr;^=5$^D8wimDOdjGNARV8XG#!@xB!}T166d+Eu|m z&VYq0UHqgW!Mgn~@uBg?of=Q78FFVP?v|XjE%U8FS zW9>PYB&uO<6j%|&L2T^Nge)VzbXbHXDPd+pq*aT~sIp9%*WK(r1aJh1&!|Z;LPD0d z4B(L7&hB&Fc)c2L4ukhJ?jgf8mo9$@-U%SXgX!X4WS7rK)Yr6O|HLwZSAA;9mk9)6~+8uryxk94jITT}Z=5fQ6fE92@s&P1SA>u%?7rmRZ?ZD6rsC zS*G7qvbx9$uojg}-x0-#t*oiqL}+7odvAMF^C;>YIT13;dK$=>E3I&11l$3BgVNRc_BxPJ=;(nP zjI82m_UdQ6fJSHR+%+|^T1YfTr~;j#p>$)}5qvlGPrc1vZ6aJu>+<5uU8R98-zgH{ z))vmnK#AxFc8yZB&xG#N&pXaS*Gx%ZxOmA3V~(0$Hdrux%kiLj=1DcBD0H9j7a$+I z(hZ-~2!_vSmD7RVeF4Zqa9+B>#%PXJ*snY%SeSS;J4>0enYKTkpu`~Y=OGa^E{ynw zA~g|<2izh|@Q9{n>B?F+@2XYdG+hZehDgm3Q{oLqw(R~5)>JgHaI=fe)9$cf7-i`k z^DoH`t#`YsPohh^*ex(yrqaYt=^qMK6IvSSq?NDe<%OKXAx|5`iiTmn89~QCh#DVW83`*@SA2G4CS}4N8UV{}UQr8qo_oIFCvJhc= zepf;M;9LDFoGqi;3BnyP_67hqVyhFsG34jw+K*VMXE;uinH{OMYT@HE9`Ul90~p8$O>6623@17k%hyfVGNt)%4eks)^~Ot(A$ zVeuJ&d<{HE2GW78Cd0ClNDOSM+!TZ>fJK44q*yQ%SL{%f$kSa2# zY)e~5aOQZizPV*}n|lm!Y-&{~f5`!2AazovvNtXLIDp*uK~mDB1bNd&0Ch@>wA6L$ zanP0x*{H@Tk-++R0&n-d+Sz%v+fn`;(y`mQ7(}X-jTEkkyZ+C17uu~jCT_Olip$Uh zY(2Ro7QbmivM8?8$mkiA259d6nj3wC-TecY%7rl`Y5=?epS3o7mi-niy)?Rj zd>U;wd27GC_c@AdC}m@tR7Ym-6cJ9CSI2 zLFXUM;R6QOXDEavIkWl&mOED%MLG3Keg1)``E-ONX|#>V9uTz*cd&9ROn;!TqeWuv zY5=;q#OFCLgSMr0~1Q`?v9qZ@uSpEBhx*S)uI-nb#Ju7pg%;w3}Fy=Gt0fg8x zC`U}S*Cbf$*s%GZP!4ZuZ&`NQrzDvgL;U=KhkHmfQ->jh?T#T#6} zpmEj*TJ(N5#|;}e2+6jAV+zJqy=}7I_Mb=+K@!uvx~X|3KkteaK!TjdpcRD|xdOJy z0ccqc>`JWJVcC&|q0?xKgkPT-KEoKDl$1C#606bmusvE96?c`a=v~o_@zUq)gG-)& z3l^9w#1GjMGXVJiNoIg#S!ZY0xxV-3u{DMv%GwVlbQUNr8y#X1Qxj|U_2aBOly&)aJSsFqB`e;=JJts_yV?n*iwRK6x>Y7U1e0)$NVudkD7GX0ge4Cg(D>8B} z%8GGya$$a_ue7AXc?3HfUn_@yVHhZZ4nt_~z*vS+_CGKQR$}^~tEs)O4^h&@bQSTb zq)0`;28I+(I{uC&$(p+>GGQw{CMO85py1xA37HEr%diEr0W!iC_IA1t7WZ|p^0~?I zH3dJT8kvs+aG&`P6c}BeqAI-H-Ez1EO^_In?*LTxAX{%R#azifngN~0rp2}UxN!zM zJYlB%1#E>Z+frpLy2c2B_UU(yu6CoV_Bl}RE+E)1;Lx#MW4I&fK00voBZ3$rm}_q8 zUG1}8L#C*26_4dIjIe`j5%OMb>9$)zp9Z)%X30v}TNacL*-wX`XZ( zi56C`$1f0SQDKXNc#&3UY%!t#RX^H3mPW}ejl!hWW{AR{z0Q1?aL;>SwliKNq^I&V zEQZzOb)IiMiSS6Ea}&-1($VYKpoOJ-buKJu z6CyKWU2V+Zd?9%XtU>YsWTA7*u#UpJVSTMslJ{iPsYaD((l?Kw%%pJS&W