From 9dedbff713cf86766153bafeb51fb3a3bdd6feef Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 12 Apr 2018 18:15:27 +0300 Subject: [PATCH 001/323] Add width parameter to rectangle --- Tests/images/imagedraw_rectangle_width.png | Bin 0 -> 228 bytes .../images/imagedraw_rectangle_width_fill.png | Bin 0 -> 239 bytes Tests/test_imagedraw.py | 24 ++++++++++++++++++ docs/reference/ImageDraw.rst | 5 +++- src/PIL/ImageDraw.py | 4 +-- src/_imaging.c | 7 ++--- src/libImaging/Draw.c | 18 ++++++++----- src/libImaging/Imaging.h | 2 +- 8 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 Tests/images/imagedraw_rectangle_width.png create mode 100644 Tests/images/imagedraw_rectangle_width_fill.png diff --git a/Tests/images/imagedraw_rectangle_width.png b/Tests/images/imagedraw_rectangle_width.png new file mode 100644 index 0000000000000000000000000000000000000000..e39659921fce6d3398d4eab5199f7bb7591c6a60 GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^DIm56&GN!3hI>xN`>SPuia@}o%&%|l$&H@bY0qZO{K>YF2?(3+AA7sC@VCDI?llfn og%6g_XZuzV*%$$W5c?Sp@-DAsdZpXg{2wIX>FVdQ&MBb@02WzQ$p8QV literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_rectangle_width_fill.png b/Tests/images/imagedraw_rectangle_width_fill.png new file mode 100644 index 0000000000000000000000000000000000000000..d5243c608b62e7c92b24af025e853bb8323d76c7 GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^DImmdKI;Vst07nl> ABLDyZ literal 0 HcmV?d00001 diff --git a/Tests/test_imagedraw.py b/Tests/test_imagedraw.py index 1c8fe3153..cd4eb2780 100644 --- a/Tests/test_imagedraw.py +++ b/Tests/test_imagedraw.py @@ -343,6 +343,30 @@ class TestImageDraw(PillowTestCase): # Assert self.assert_image_similar(im, Image.open(expected), 1) + def test_rectangle_width(self): + # Arrange + im = Image.new("RGB", (W, H)) + draw = ImageDraw.Draw(im) + expected = "Tests/images/imagedraw_rectangle_width.png" + + # Act + draw.rectangle(BBOX1, outline="green", width=5) + + # Assert + self.assert_image_equal(im, Image.open(expected)) + + def test_rectangle_width_fill(self): + # Arrange + im = Image.new("RGB", (W, H)) + draw = ImageDraw.Draw(im) + expected = "Tests/images/imagedraw_rectangle_width_fill.png" + + # Act + draw.rectangle(BBOX1, fill="blue", outline="green", width=5) + + # Assert + self.assert_image_equal(im, Image.open(expected)) + def test_floodfill(self): # Arrange im = Image.new("RGB", (W, H)) diff --git a/docs/reference/ImageDraw.rst b/docs/reference/ImageDraw.rst index 6057712e2..7b28aafb0 100644 --- a/docs/reference/ImageDraw.rst +++ b/docs/reference/ImageDraw.rst @@ -220,7 +220,7 @@ Methods :param outline: Color to use for the outline. :param fill: Color to use for the fill. -.. py:method:: PIL.ImageDraw.ImageDraw.rectangle(xy, fill=None, outline=None) +.. py:method:: PIL.ImageDraw.ImageDraw.rectangle(xy, fill=None, outline=None, width=0) Draws a rectangle. @@ -229,6 +229,9 @@ Methods is just outside the drawn rectangle. :param outline: Color to use for the outline. :param fill: Color to use for the fill. + :param width: The line width, in pixels. + + .. versionadded:: 5.2.0 .. py:method:: PIL.ImageDraw.ImageDraw.shape(shape, fill=None, outline=None) diff --git a/src/PIL/ImageDraw.py b/src/PIL/ImageDraw.py index 5bc890252..1bbb6e6a6 100644 --- a/src/PIL/ImageDraw.py +++ b/src/PIL/ImageDraw.py @@ -186,13 +186,13 @@ class ImageDraw(object): if ink is not None: self.draw.draw_polygon(xy, ink, 0) - def rectangle(self, xy, fill=None, outline=None): + def rectangle(self, xy, fill=None, outline=None, width=0): """Draw a rectangle.""" ink, fill = self._getink(outline, fill) if fill is not None: self.draw.draw_rectangle(xy, fill, 1) if ink is not None: - self.draw.draw_rectangle(xy, ink, 0) + self.draw.draw_rectangle(xy, ink, 0, width) def _multiline_check(self, text): """Draw text.""" diff --git a/src/_imaging.c b/src/_imaging.c index 5004becee..3cced9a0f 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -2730,7 +2730,7 @@ _draw_lines(ImagingDrawObject* self, PyObject* args) if (width <= 1) { double *p = NULL; - for (i = 0; i < n-1; i++) { + for (i = 0; i < n-1; i++) { p = &xy[i+i]; if (ImagingDrawLine( self->image->image, @@ -2931,7 +2931,8 @@ _draw_rectangle(ImagingDrawObject* self, PyObject* args) PyObject* data; int ink; int fill = 0; - if (!PyArg_ParseTuple(args, "Oi|i", &data, &ink, &fill)) + int width = 0; + if (!PyArg_ParseTuple(args, "Oi|ii", &data, &ink, &fill, &width)) return NULL; n = PyPath_Flatten(data, &xy); @@ -2945,7 +2946,7 @@ _draw_rectangle(ImagingDrawObject* self, PyObject* args) n = ImagingDrawRectangle(self->image->image, (int) xy[0], (int) xy[1], (int) xy[2], (int) xy[3], - &ink, fill, self->blend + &ink, fill, width, self->blend ); free(xy); diff --git a/src/libImaging/Draw.c b/src/libImaging/Draw.c index 7b7c5fac0..fee1cac63 100644 --- a/src/libImaging/Draw.c +++ b/src/libImaging/Draw.c @@ -634,8 +634,9 @@ ImagingDrawWideLine(Imaging im, int x0, int y0, int x1, int y1, int ImagingDrawRectangle(Imaging im, int x0, int y0, int x1, int y1, - const void* ink_, int fill, int op) + const void* ink_, int fill, int width, int op) { + int i; int y; int tmp; DRAW* draw; @@ -662,13 +663,16 @@ ImagingDrawRectangle(Imaging im, int x0, int y0, int x1, int y1, draw->hline(im, x0, y, x1, ink); } else { - /* outline */ - draw->line(im, x0, y0, x1, y0, ink); - draw->line(im, x1, y0, x1, y1, ink); - draw->line(im, x1, y1, x0, y1, ink); - draw->line(im, x0, y1, x0, y0, ink); - + if (width == 0) { + width = 1; + } + for (i = 0; i < width; i++) { + draw->hline(im, x0, y0+i, x1, ink); + draw->hline(im, x0, y1-i, x1, ink); + draw->line(im, x1-i, y0, x1-i, y1, ink); + draw->line(im, x0+i, y1, x0+i, y0, ink); + } } return 0; diff --git a/src/libImaging/Imaging.h b/src/libImaging/Imaging.h index 6b553c928..4588602b1 100644 --- a/src/libImaging/Imaging.h +++ b/src/libImaging/Imaging.h @@ -368,7 +368,7 @@ extern int ImagingDrawPoint(Imaging im, int x, int y, const void* ink, int op); extern int ImagingDrawPolygon(Imaging im, int points, int *xy, const void* ink, int fill, int op); extern int ImagingDrawRectangle(Imaging im, int x0, int y0, int x1, int y1, - const void* ink, int fill, int op); + const void* ink, int fill, int width, int op); /* Level 2 graphics (WORK IN PROGRESS) */ extern ImagingOutline ImagingOutlineNew(void); From d6e3ef85c2e2780410ca60258ee0e95682947ccd Mon Sep 17 00:00:00 2001 From: Hugo Date: Fri, 13 Apr 2018 08:37:54 +0300 Subject: [PATCH 002/323] Add width parameter to arc, chord, ellipse, pieslice --- Tests/images/imagedraw_arc_width.png | Bin 0 -> 439 bytes Tests/images/imagedraw_arc_width_fill.png | Bin 0 -> 438 bytes Tests/images/imagedraw_chord_width.png | Bin 0 -> 488 bytes Tests/images/imagedraw_chord_width_fill.png | Bin 0 -> 507 bytes Tests/images/imagedraw_ellipse_width.png | Bin 0 -> 452 bytes Tests/images/imagedraw_ellipse_width_fill.png | Bin 0 -> 477 bytes Tests/images/imagedraw_pieslice_width.png | Bin 0 -> 488 bytes .../images/imagedraw_pieslice_width_fill.png | Bin 0 -> 500 bytes Tests/test_imagedraw.py | 96 ++++++++++ docs/reference/ImageDraw.rst | 20 ++- src/PIL/ImageDraw.py | 16 +- src/_imaging.c | 22 ++- src/libImaging/Draw.c | 166 ++++++++++-------- src/libImaging/Imaging.h | 9 +- 14 files changed, 227 insertions(+), 102 deletions(-) create mode 100644 Tests/images/imagedraw_arc_width.png create mode 100644 Tests/images/imagedraw_arc_width_fill.png create mode 100644 Tests/images/imagedraw_chord_width.png create mode 100644 Tests/images/imagedraw_chord_width_fill.png create mode 100644 Tests/images/imagedraw_ellipse_width.png create mode 100644 Tests/images/imagedraw_ellipse_width_fill.png create mode 100644 Tests/images/imagedraw_pieslice_width.png create mode 100644 Tests/images/imagedraw_pieslice_width_fill.png diff --git a/Tests/images/imagedraw_arc_width.png b/Tests/images/imagedraw_arc_width.png new file mode 100644 index 0000000000000000000000000000000000000000..ff3f1f0b21c94c490169ef922a606ba3e7ce0156 GIT binary patch literal 439 zcmV;o0Z9IdP)4zkE(~PRqzagFhNke}zOeEmIku_@0000000000006)^=XrJy;l1zP z%a3UE&=YG`qX&1ap_wjU&WnvM70y`GOGU(CxW+ouaX7|MLO#$%sX>`8+Ts3HYFws^ z^#*?#S}LTmUQVmIr9u~Lzf$2`hSN)hDAx0|+MrY@V(nTgT7C`ZlE>O+T19!R4PF2j zv@>g`X%*bFQYvHZy#_-%vo>3U!7@xCRsyjSh?PLB1Y#u+E1~(UgUGMPR2HDn2eX z>*a^Xdv3f4de~#SH^e1|=Xyl?E{nDRXS++TD;;O@-TJss+f?uJ!K!9^9$nE(5&Fxo z-U(XRy)}Mif!^VlOPxesS4QOqXo+kr(-qa--&TAwIoEjYBAaV$`VHK-W^TQ_h3j3U z=G2Yf;+hrbM$TS)FhO#efOca9=MgW3Fs6+{9aAsVTyuQ#@Z*kGo#*$m=P%fum%66d zZj*RlS9MsE*|d69uk{f!uXD6Fmf3tteK9BIRd(TduND1YZ9dyhKK()8;_{iG@1JVq zCq?M*54!t&DsKDUz3dhMO+4>!M8 zeR{qsvgS(uzikt~#`={^-?(>z*`6QQ)Qb1*`u;{}%9l^?3rzA?)A6n~-f+h2WW eD=^TZ;J_{Y`lP6ULeDZAkcg+NpUXO@geCyd0?HBq literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_chord_width.png b/Tests/images/imagedraw_chord_width.png new file mode 100644 index 0000000000000000000000000000000000000000..33a59b487c4e685f1a12c95323ea861fa17997e3 GIT binary patch literal 488 zcmeAS@N?(olHy`uVBq!ia0vp^DImaSW-L^LF;ZzGed+*1LcI z*Dq`LS}nSC!lrMZy-kXjP2kyfFtY=w0SPp`ys_=Zws(#(A7AYKvwMO2=ZF{MbPkr+~hDtPJe=kJXoZ;1VXLgvm&S$5%qzD0oRRgfl+tSMcDvP46ZwAPdQQEA-$DXYLVwSy zSo-C|v}s!u+Kd$ZDIyU+|$+1Wt~$(69A!*=T-m! literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_chord_width_fill.png b/Tests/images/imagedraw_chord_width_fill.png new file mode 100644 index 0000000000000000000000000000000000000000..809c3ea1cdffd6aea9bc288f40f8349edb859826 GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^DImI;vs!9fmsl!0SRo7IWBm7qO425`@5I*+*K;>CGLJ1-(5ql zO}AcmFmCnB*M}=NeT-cB?9bE5SI_^C@nx;GJhgZ7w_uLv&E8)Z+f1_#4p(3Q%3J!x z(v|Nry?<@;`w-ug5?Az3=u}p^MV#{2nw2SgvsabY?9xw`-e>kces~#`sO77}e z|8tYt?5y4iPqiOs{g7g~-(X72x`yK178we?I_o%-~%XeL*tv{j9yuj{$11=I9@%jTaf_xjx&$G_5N z#l737=5EY$7fOE|J@3y~+aI6%tL?WwNsK++IZye9*b+|e`#Vp~@&4Ww-^%;w{zHxL udlRQ0iCv)e+dnq@YS}5Icwk_7Q2&Y3-o4D~?~4$5kc6kJpUXO@geCx&%JG~4 literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_ellipse_width.png b/Tests/images/imagedraw_ellipse_width.png new file mode 100644 index 0000000000000000000000000000000000000000..ec0ca6731f69b8728a41a59ae2cd8ebaa0cb71c5 GIT binary patch literal 452 zcmeAS@N?(olHy`uVBq!ia0vp^DIm-il6&m%Sud>DbwD@2Gjxt7H&;1(bid$7#YdI$gZMA$hCvtzzL+_mb^ENzl=Dj-MM#v1sH77sleP5UH zd4|=Ry@5-=Xy?`(*mE#{6We3EQ%e(h?SI}8iyZ@*5m+3DqXc(+l@Q=11{YnQe^tzKiRzFF?;nNRzfgub1aCptm; zT2^+!J|69%ea<|eNhC^Hm$i#o^istG)&HDQ%8&3%nJ#FA1JFQ-otJ;S@ zd+XF0k^PC1R_fEY>3>_p;2QC1{gSd1` z!9IWXbp4fKB~ocmpZ@EgZoQQ8P8i<bP0l+XkKH;l^C literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_ellipse_width_fill.png b/Tests/images/imagedraw_ellipse_width_fill.png new file mode 100644 index 0000000000000000000000000000000000000000..9b7be602916cce5f30f0e305add360c4939b3955 GIT binary patch literal 477 zcmeAS@N?(olHy`uVBq!ia0vp^DImY3` zviDB&_x4bs%kle!>~d{gTNE?{XBVHFSsHpZ+jhov!Q1=Q*W|98-J>RdZ}~Fa;{w-q z?FsS8kH6!hw#GyD+M-p*4fmRE>hcMlQrXW z^<^shkBzRZl?snrw4tqW)pzmJ|CVx`o_A%_^hYPJ7MlOr{w2{e|HGqwrw)JGd+lDZ zrQF9eo9xZKs#DH;t>AsV#q`JGoRCv9pT;*os*7ynY?ZsZZZVt?^Q_@Yh6KW*@f?wtDA@Xwl@IWdp+-PkN7lE`a(-*~6mUXk~l>t-%J zce=>dCGo7@%60Q9Pk-Gmb@xos)2CiqM@|RKpKiD^!|F`fl<9vvryDQjoD=5vK&GbY zXQ!f#KUe#%m4%p-bCtdV&N!UHx3v IIVCg!0J1dLjsO4v literal 0 HcmV?d00001 diff --git a/Tests/images/imagedraw_pieslice_width.png b/Tests/images/imagedraw_pieslice_width.png new file mode 100644 index 0000000000000000000000000000000000000000..a83c4ab7b3469f0d2171148d31a4c7836311b50c GIT binary patch literal 488 zcmVP)BCwwrp=djxM5P(Q7Xf-4&n^WH0;OpIQMV$1fA81;PH}Fd;i-} zc4z&SlzT3R#0&gp$)s9xSch#jOv-oV$_r~QDQn7UcqS?9G?T*mY%A*&PRa=Do=LT$ zyWy$?VNJA^=?yVFEYtH0k=>hRpQs!+W^PQl(QmW0elk!?O&}GR?0Kr^zvt-!KgDu++TyWSW{~ zNDrxJ)_$pNrXiSb@U0D7s)=LmROu*Hx1}!Dvr?t`mSIn+;x$FF)+b%OLMKJ6zgeoK zJPpSskM(F;6`hLVv5KB&2<^;zFs&-z;J9bq5F4xTtcW0-S(O*mGi8@y#nKgHm7S6m zW0jTu-tfdS!K&jp)v_4V~kuDzoKAJ{ar z)V(~{LlkT8D$CBt_G4Q&vrN65+Y-`cDDP$7z)5%-M)gYg#;ZTXjsKK(I?W_JBhS_8 z`nPhAtJ$PI9p_ZOsB%)RW5tcPQ+i3X+hjV6l;6Fv$$Y1fwMh`t%RTt?9hC>w(#D(~ qYjIhv&QJjW0000000000{9j*)= x0`` and ``y1 >= y0``. :param outline: Color to use for the outline. :param fill: Color to use for the fill. + :param width: The line width, in pixels. -.. py:method:: PIL.ImageDraw.ImageDraw.ellipse(xy, fill=None, outline=None) + .. versionadded:: 5.2.0 + +.. py:method:: PIL.ImageDraw.ImageDraw.ellipse(xy, fill=None, outline=None, width=0) Draws an ellipse inside the given bounding box. @@ -170,6 +176,9 @@ Methods where ``x1 >= x0`` and ``y1 >= y0``. :param outline: Color to use for the outline. :param fill: Color to use for the fill. + :param width: The line width, in pixels. + + .. versionadded:: 5.2.0 .. py:method:: PIL.ImageDraw.ImageDraw.line(xy, fill=None, width=0) @@ -185,7 +194,7 @@ Methods .. note:: This option was broken until version 1.1.6. -.. py:method:: PIL.ImageDraw.ImageDraw.pieslice(xy, start, end, fill=None, outline=None) +.. py:method:: PIL.ImageDraw.ImageDraw.pieslice(xy, start, end, fill=None, outline=None, width=0) Same as arc, but also draws straight lines between the end points and the center of the bounding box. @@ -198,6 +207,9 @@ Methods :param end: Ending angle, in degrees. :param fill: Color to use for the fill. :param outline: Color to use for the outline. + :param width: The outer line width, in pixels. + + .. versionadded:: 5.2.0 .. py:method:: PIL.ImageDraw.ImageDraw.point(xy, fill=None) diff --git a/src/PIL/ImageDraw.py b/src/PIL/ImageDraw.py index 1bbb6e6a6..23a666e76 100644 --- a/src/PIL/ImageDraw.py +++ b/src/PIL/ImageDraw.py @@ -118,11 +118,11 @@ class ImageDraw(object): fill = self.draw.draw_ink(fill, self.mode) return ink, fill - def arc(self, xy, start, end, fill=None): + def arc(self, xy, start, end, fill=None, width=0): """Draw an arc.""" ink, fill = self._getink(fill) if ink is not None: - self.draw.draw_arc(xy, start, end, ink) + self.draw.draw_arc(xy, start, end, ink, width) def bitmap(self, xy, bitmap, fill=None): """Draw a bitmap.""" @@ -133,21 +133,21 @@ class ImageDraw(object): if ink is not None: self.draw.draw_bitmap(xy, bitmap.im, ink) - def chord(self, xy, start, end, fill=None, outline=None): + def chord(self, xy, start, end, fill=None, outline=None, width=0): """Draw a chord.""" ink, fill = self._getink(outline, fill) if fill is not None: self.draw.draw_chord(xy, start, end, fill, 1) if ink is not None: - self.draw.draw_chord(xy, start, end, ink, 0) + self.draw.draw_chord(xy, start, end, ink, 0, width) - def ellipse(self, xy, fill=None, outline=None): + def ellipse(self, xy, fill=None, outline=None, width=0): """Draw an ellipse.""" ink, fill = self._getink(outline, fill) if fill is not None: self.draw.draw_ellipse(xy, fill, 1) if ink is not None: - self.draw.draw_ellipse(xy, ink, 0) + self.draw.draw_ellipse(xy, ink, 0, width) def line(self, xy, fill=None, width=0): """Draw a line, or a connected sequence of line segments.""" @@ -164,13 +164,13 @@ class ImageDraw(object): if ink is not None: self.draw.draw_outline(shape, ink, 0) - def pieslice(self, xy, start, end, fill=None, outline=None): + def pieslice(self, xy, start, end, fill=None, outline=None, width=0): """Draw a pieslice.""" ink, fill = self._getink(outline, fill) if fill is not None: self.draw.draw_pieslice(xy, start, end, fill, 1) if ink is not None: - self.draw.draw_pieslice(xy, start, end, ink, 0) + self.draw.draw_pieslice(xy, start, end, ink, 0, width) def point(self, xy, fill=None): """Draw one or more individual pixels.""" diff --git a/src/_imaging.c b/src/_imaging.c index 3cced9a0f..f1116a36c 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -2561,9 +2561,10 @@ _draw_arc(ImagingDrawObject* self, PyObject* args) PyObject* data; int ink; + int width = 0; float start, end; int op = 0; - if (!PyArg_ParseTuple(args, "Offi|i", &data, &start, &end, &ink)) + if (!PyArg_ParseTuple(args, "Offi|ii", &data, &start, &end, &ink, &width)) return NULL; n = PyPath_Flatten(data, &xy); @@ -2577,7 +2578,7 @@ _draw_arc(ImagingDrawObject* self, PyObject* args) n = ImagingDrawArc(self->image->image, (int) xy[0], (int) xy[1], (int) xy[2], (int) xy[3], - start, end, &ink, op + start, end, &ink, width, op ); free(xy); @@ -2633,9 +2634,10 @@ _draw_chord(ImagingDrawObject* self, PyObject* args) PyObject* data; int ink, fill; + int width = 0; float start, end; - if (!PyArg_ParseTuple(args, "Offii", - &data, &start, &end, &ink, &fill)) + if (!PyArg_ParseTuple(args, "Offii|i", + &data, &start, &end, &ink, &fill, &width)) return NULL; n = PyPath_Flatten(data, &xy); @@ -2649,7 +2651,7 @@ _draw_chord(ImagingDrawObject* self, PyObject* args) n = ImagingDrawChord(self->image->image, (int) xy[0], (int) xy[1], (int) xy[2], (int) xy[3], - start, end, &ink, fill, self->blend + start, end, &ink, fill, width, self->blend ); free(xy); @@ -2670,7 +2672,8 @@ _draw_ellipse(ImagingDrawObject* self, PyObject* args) PyObject* data; int ink; int fill = 0; - if (!PyArg_ParseTuple(args, "Oi|i", &data, &ink, &fill)) + int width = 0; + if (!PyArg_ParseTuple(args, "Oi|ii", &data, &ink, &fill, &width)) return NULL; n = PyPath_Flatten(data, &xy); @@ -2684,7 +2687,7 @@ _draw_ellipse(ImagingDrawObject* self, PyObject* args) n = ImagingDrawEllipse(self->image->image, (int) xy[0], (int) xy[1], (int) xy[2], (int) xy[3], - &ink, fill, self->blend + &ink, fill, width, self->blend ); free(xy); @@ -2850,8 +2853,9 @@ _draw_pieslice(ImagingDrawObject* self, PyObject* args) PyObject* data; int ink, fill; + int width = 0; float start, end; - if (!PyArg_ParseTuple(args, "Offii", &data, &start, &end, &ink, &fill)) + if (!PyArg_ParseTuple(args, "Offii|i", &data, &start, &end, &ink, &fill, &width)) return NULL; n = PyPath_Flatten(data, &xy); @@ -2865,7 +2869,7 @@ _draw_pieslice(ImagingDrawObject* self, PyObject* args) n = ImagingDrawPieslice(self->image->image, (int) xy[0], (int) xy[1], (int) xy[2], (int) xy[3], - start, end, &ink, fill, self->blend + start, end, &ink, fill, width, self->blend ); free(xy); diff --git a/src/libImaging/Draw.c b/src/libImaging/Draw.c index fee1cac63..37969af70 100644 --- a/src/libImaging/Draw.c +++ b/src/libImaging/Draw.c @@ -762,9 +762,10 @@ ellipsePoint(int cx, int cy, int w, int h, static int ellipse(Imaging im, int x0, int y0, int x1, int y1, float start, float end, const void* ink_, int fill, - int mode, int op) + int width, int mode, int op) { float i; + int j; int n; int cx, cy; int w, h; @@ -774,120 +775,131 @@ ellipse(Imaging im, int x0, int y0, int x1, int y1, DRAW* draw; INT32 ink; - w = x1 - x0; - h = y1 - y0; - if (w < 0 || h < 0) - return 0; - DRAWINIT(); - cx = (x0 + x1) / 2; - cy = (y0 + y1) / 2; - - while (end < start) - end += 360; - - if (end - start > 360) { - /* no need to go in loops */ - end = start + 361; + if (width == 0) { + width = 1; } - if (mode != ARC && fill) { + for (j = 0; j < width; j++) { - /* Build edge list */ - /* malloc check UNDONE, FLOAT? */ - Edge* e = calloc((end - start + 3), sizeof(Edge)); - if (!e) { - ImagingError_MemoryError(); - return -1; + w = x1 - x0; + h = y1 - y0; + if (w < 0 || h < 0) + return 0; + + cx = (x0 + x1) / 2; + cy = (y0 + y1) / 2; + + while (end < start) + end += 360; + + if (end - start > 360) { + /* no need to go in loops */ + end = start + 361; } - n = 0; + if (mode != ARC && fill) { - for (i = start; i < end+1; i++) { - if (i > end) { - i = end; + /* Build edge list */ + /* malloc check UNDONE, FLOAT? */ + Edge* e = calloc((end - start + 3), sizeof(Edge)); + if (!e) { + ImagingError_MemoryError(); + return -1; } - ellipsePoint(cx, cy, w, h, i, &x, &y); - if (i != start) - add_edge(&e[n++], lx, ly, x, y); - else - sx = x, sy = y; - lx = x, ly = y; - } + n = 0; - if (n > 0) { - /* close and draw polygon */ - if (mode == PIESLICE) { - if (x != cx || y != cy) { - add_edge(&e[n++], x, y, cx, cy); - add_edge(&e[n++], cx, cy, sx, sy); + for (i = start; i < end+1; i++) { + if (i > end) { + i = end; } - } else { - if (x != sx || y != sy) - add_edge(&e[n++], x, y, sx, sy); + ellipsePoint(cx, cy, w, h, i, &x, &y); + if (i != start) + add_edge(&e[n++], lx, ly, x, y); + else + sx = x, sy = y; + lx = x, ly = y; } - draw->polygon(im, n, e, ink, 0); - } - free(e); - - } else { - - for (i = start; i < end+1; i++) { - if (i > end) { - i = end; - } - ellipsePoint(cx, cy, w, h, i, &x, &y); - if (i != start) - draw->line(im, lx, ly, x, y, ink); - else - sx = x, sy = y; - lx = x, ly = y; - } - - if (i != start) { - if (mode == PIESLICE) { - if (x != cx || y != cy) { - draw->line(im, x, y, cx, cy, ink); - draw->line(im, cx, cy, sx, sy, ink); + if (n > 0) { + /* close and draw polygon */ + if (mode == PIESLICE) { + if (x != cx || y != cy) { + add_edge(&e[n++], x, y, cx, cy); + add_edge(&e[n++], cx, cy, sx, sy); + } + } else { + if (x != sx || y != sy) + add_edge(&e[n++], x, y, sx, sy); + } + draw->polygon(im, n, e, ink, 0); + } + + free(e); + + } else { + + for (i = start; i < end+1; i++) { + if (i > end) { + i = end; + } + ellipsePoint(cx, cy, w, h, i, &x, &y); + if (i != start) + draw->line(im, lx, ly, x, y, ink); + else + sx = x, sy = y; + lx = x, ly = y; + } + + if (i != start) { + if (mode == PIESLICE) { + if (x != cx || y != cy) { + draw->line(im, x, y, cx, cy, ink); + draw->line(im, cx, cy, sx, sy, ink); + } + } else if (mode == CHORD) { + if (x != sx || y != sy) + draw->line(im, x, y, sx, sy, ink); } - } else if (mode == CHORD) { - if (x != sx || y != sy) - draw->line(im, x, y, sx, sy, ink); } } + x0++; + y0++; + x1--; + y1--; } - return 0; } int ImagingDrawArc(Imaging im, int x0, int y0, int x1, int y1, - float start, float end, const void* ink, int op) + float start, float end, const void* ink, int width, int op) { - return ellipse(im, x0, y0, x1, y1, start, end, ink, 0, ARC, op); + return ellipse(im, x0, y0, x1, y1, start, end, ink, 0, width, ARC, op); } int ImagingDrawChord(Imaging im, int x0, int y0, int x1, int y1, - float start, float end, const void* ink, int fill, int op) + float start, float end, const void* ink, int fill, + int width, int op) { - return ellipse(im, x0, y0, x1, y1, start, end, ink, fill, CHORD, op); + return ellipse(im, x0, y0, x1, y1, start, end, ink, fill, width, CHORD, op); } int ImagingDrawEllipse(Imaging im, int x0, int y0, int x1, int y1, - const void* ink, int fill, int op) + const void* ink, int fill, int width, int op) { - return ellipse(im, x0, y0, x1, y1, 0, 360, ink, fill, CHORD, op); + return ellipse(im, x0, y0, x1, y1, 0, 360, ink, fill, width, CHORD, op); } int ImagingDrawPieslice(Imaging im, int x0, int y0, int x1, int y1, - float start, float end, const void* ink, int fill, int op) + float start, float end, const void* ink, int fill, + int width, int op) { - return ellipse(im, x0, y0, x1, y1, start, end, ink, fill, PIESLICE, op); + return ellipse(im, x0, y0, x1, y1, start, end, ink, fill, width, PIESLICE, op); } /* -------------------------------------------------------------------- */ diff --git a/src/libImaging/Imaging.h b/src/libImaging/Imaging.h index 4588602b1..e705e0a60 100644 --- a/src/libImaging/Imaging.h +++ b/src/libImaging/Imaging.h @@ -349,21 +349,22 @@ extern void ImagingCrack(Imaging im, int x0, int y0); /* Graphics */ extern int ImagingDrawArc(Imaging im, int x0, int y0, int x1, int y1, - float start, float end, const void* ink, int op); + float start, float end, const void* ink, int width, + int op); extern int ImagingDrawBitmap(Imaging im, int x0, int y0, Imaging bitmap, const void* ink, int op); extern int ImagingDrawChord(Imaging im, int x0, int y0, int x1, int y1, float start, float end, const void* ink, int fill, - int op); + int width, int op); extern int ImagingDrawEllipse(Imaging im, int x0, int y0, int x1, int y1, - const void* ink, int fill, int op); + const void* ink, int fill, int width, int op); extern int ImagingDrawLine(Imaging im, int x0, int y0, int x1, int y1, const void* ink, int op); extern int ImagingDrawWideLine(Imaging im, int x0, int y0, int x1, int y1, const void* ink, int width, int op); extern int ImagingDrawPieslice(Imaging im, int x0, int y0, int x1, int y1, float start, float end, const void* ink, int fill, - int op); + int width, int op); extern int ImagingDrawPoint(Imaging im, int x, int y, const void* ink, int op); extern int ImagingDrawPolygon(Imaging im, int points, int *xy, const void* ink, int fill, int op); From 9f6c708aa3961f9bc768d3bd5b95c1821d5ec6d1 Mon Sep 17 00:00:00 2001 From: Pedro Lacerda Date: Mon, 9 Jul 2018 04:33:00 -0300 Subject: [PATCH 003/323] Simplify library dirs search with ldconfig --- setup.py | 144 +++++++++++++++++++++++-------------------------------- 1 file changed, 61 insertions(+), 83 deletions(-) diff --git a/setup.py b/setup.py index 9529787f9..dd31e874d 100755 --- a/setup.py +++ b/setup.py @@ -74,6 +74,57 @@ def _dbg(s, tp=None): print(s) +def _find_library_dirs_ldconfig(): + # Based on ctypes.util from Python 2 + + if sys.platform.startswith("linux") or sys.platform.startswith("gnu"): + if struct.calcsize('l') == 4: + machine = os.uname()[4] + '-32' + else: + machine = os.uname()[4] + '-64' + mach_map = { + 'x86_64-64': 'libc6,x86-64', + 'ppc64-64': 'libc6,64bit', + 'sparc64-64': 'libc6,64bit', + 's390x-64': 'libc6,64bit', + 'ia64-64': 'libc6,IA-64', + } + abi_type = mach_map.get(machine, 'libc6') + + # XXX assuming GLIBC's ldconfig (with option -p) + # XXX Alpine Linux uses musl that can't print cache + args = ['/sbin/ldconfig', '-p'] + expr = r'.*\(%s.*\) => (.*)' % abi_type + env = dict(os.environ) + env['LC_ALL'] = 'C' + env['LANG'] = 'C' + + elif sys.platform.startswith("freebsd"): + args = ['/sbin/ldconfig', '-r'] + expr = r'.* => (.*)' + env = {} + + null = open(os.devnull, 'wb') + try: + with null: + p = subprocess.Popen(args, + stderr=null, + stdout=subprocess.PIPE, + env=env) + except OSError: # E.g. command not found + return None + [data, _] = p.communicate() + if isinstance(data, bytes): + data = data.decode() + + dirs = [] + for dll in re.findall(expr, data): + dir = os.path.dirname(dll) + if dir not in dirs: + dirs.append(dir) + return dirs + + def _add_directory(path, subdir, where=None): if subdir is None: return @@ -333,68 +384,20 @@ class pil_build_ext(build_ext): _add_directory(library_dirs, "/usr/X11/lib") _add_directory(include_dirs, "/usr/X11/include") - elif sys.platform.startswith("linux"): - arch_tp = (plat.processor(), plat.architecture()[0]) - # This should be correct on debian derivatives. - if os.path.exists('/etc/debian_version'): - # If this doesn't work, don't just silently patch - # downstream because it's going to break when people - # try to build pillow from source instead of - # installing from the system packages. - self.add_multiarch_paths() - - elif arch_tp == ("x86_64", "32bit"): - # Special Case: 32-bit build on 64-bit machine. - _add_directory(library_dirs, "/usr/lib/i386-linux-gnu") - else: - libdirs = { - 'x86_64': ["/lib64", "/usr/lib64", - "/usr/lib/x86_64-linux-gnu"], - '64bit': ["/lib64", "/usr/lib64", - "/usr/lib/x86_64-linux-gnu"], - 'i386': ["/usr/lib/i386-linux-gnu"], - 'i686': ["/usr/lib/i386-linux-gnu"], - '32bit': ["/usr/lib/i386-linux-gnu"], - 'aarch64': ["/usr/lib64", "/usr/lib/aarch64-linux-gnu"], - 'arm': ["/usr/lib/arm-linux-gnueabi"], - 'armv71': ["/usr/lib/arm-linux-gnueabi"], - 'armv7l': ["/usr/lib"], - 'ppc64': ["/usr/lib64", "/usr/lib/ppc64-linux-gnu", - "/usr/lib/powerpc64-linux-gnu"], - 'ppc64le': ["/usr/lib64"], - 'ppc': ["/usr/lib/ppc-linux-gnu", - "/usr/lib/powerpc-linux-gnu"], - 's390x': ["/usr/lib64", "/usr/lib/s390x-linux-gnu"], - 's390': ["/usr/lib/s390-linux-gnu"], - } - - for platform_ in arch_tp: - dirs = libdirs.get(platform_, None) - if not dirs: - continue - for path in dirs: - _add_directory(library_dirs, path) - break - - else: - raise ValueError( - "Unable to identify Linux platform: `%s`" % platform_) - + elif sys.platform.startswith("linux") or \ + sys.platform.startswith("gnu") or \ + sys.platform.startswith("freebsd"): + for dirname in _find_library_dirs_ldconfig(): + _add_directory(library_dirs, dirname) + if sys.platform.startswith("linux") and \ + os.environ.get('ANDROID_ROOT', None): # termux support for android. # system libraries (zlib) are installed in /system/lib # headers are at $PREFIX/include # user libs are at $PREFIX/lib - if os.environ.get('ANDROID_ROOT', None): - _add_directory(library_dirs, - os.path.join(os.environ['ANDROID_ROOT'], - 'lib')) - - elif sys.platform.startswith("gnu"): - self.add_multiarch_paths() - - elif sys.platform.startswith("freebsd"): - _add_directory(library_dirs, "/usr/local/lib") - _add_directory(include_dirs, "/usr/local/include") + _add_directory(library_dirs, + os.path.join(os.environ['ANDROID_ROOT'], + 'lib')) elif sys.platform.startswith("netbsd"): _add_directory(library_dirs, "/usr/pkg/lib") @@ -728,31 +731,6 @@ class pil_build_ext(build_ext): print("To check the build, run the selftest.py script.") print("") - # https://hg.python.org/users/barry/rev/7e8deab93d5a - def add_multiarch_paths(self): - # Debian/Ubuntu multiarch support. - # https://wiki.ubuntu.com/MultiarchSpec - # self.build_temp - tmpfile = os.path.join(self.build_temp, 'multiarch') - if not os.path.exists(self.build_temp): - os.makedirs(self.build_temp) - with open(tmpfile, 'wb') as fp: - try: - ret = subprocess.call(['dpkg-architecture', - '-qDEB_HOST_MULTIARCH'], stdout=fp) - except Exception: - return - try: - if ret >> 8 == 0: - with open(tmpfile, 'r') as fp: - multiarch_path_component = fp.readline().strip() - _add_directory(self.compiler.library_dirs, - '/usr/lib/' + multiarch_path_component) - _add_directory(self.compiler.include_dirs, - '/usr/include/' + multiarch_path_component) - finally: - os.unlink(tmpfile) - def debug_build(): return hasattr(sys, 'gettotalrefcount') From f0a5946c6e265d0101577ab3cfabefb2ad021899 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 14 Jul 2018 11:41:02 +1000 Subject: [PATCH 004/323] Fixed implicit conversion warnings --- src/_imaging.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_imaging.c b/src/_imaging.c index 0cb2f56b9..5353e61c2 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -552,7 +552,7 @@ getink(PyObject* color, Imaging im, char* ink) return NULL; } } - ink[0] = CLIP8(r); + ink[0] = (char) CLIP8(r); ink[1] = ink[2] = ink[3] = 0; } else { a = 255; @@ -572,10 +572,10 @@ getink(PyObject* color, Imaging im, char* ink) return NULL; } } - ink[0] = CLIP8(r); - ink[1] = CLIP8(g); - ink[2] = CLIP8(b); - ink[3] = CLIP8(a); + ink[0] = (char) CLIP8(r); + ink[1] = (char) CLIP8(g); + ink[2] = (char) CLIP8(b); + ink[3] = (char) CLIP8(a); } return ink; case IMAGING_TYPE_INT32: From de2fbc9dffedb69ebb8045dbfcb1614c2711a114 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 16 Jun 2018 19:47:57 +1000 Subject: [PATCH 005/323] Wait until mode is normalized to copy im.info into encoderinfo --- Tests/test_file_gif.py | 21 +++++++++++++++++++++ src/PIL/GifImagePlugin.py | 17 ++++++++++------- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 086a0f5d0..75b0c9746 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -491,6 +491,27 @@ class TestFileGif(PillowTestCase): self.assertEqual(reloaded.info['transparency'], 253) + def test_rgb_transparency(self): + out = self.tempfile('temp.gif') + + # Single frame + im = Image.new('RGB', (1, 1)) + im.info['transparency'] = (255, 0, 0) + self.assert_warning(UserWarning, im.save, out) + + reloaded = Image.open(out) + self.assertNotIn('transparency', reloaded.info) + + # Multiple frames + im = Image.new('RGB', (1, 1)) + im.info['transparency'] = b"" + ims = [Image.new('RGB', (1, 1))] + self.assert_warning(UserWarning, + im.save, out, save_all=True, append_images=ims) + + reloaded = Image.open(out) + self.assertNotIn('transparency', reloaded.info) + def test_bbox(self): out = self.tempfile('temp.gif') diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index fec2f7663..425cc1899 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -372,6 +372,8 @@ def _normalize_palette(im, palette, info): def _write_single_frame(im, fp, palette): im_out = _normalize_mode(im, True) + for k, v in im_out.info.items(): + im.encoderinfo.setdefault(k, v) im_out = _normalize_palette(im_out, palette, im.encoderinfo) for s in _get_global_header(im_out, im.encoderinfo): @@ -392,8 +394,8 @@ def _write_single_frame(im, fp, palette): def _write_multiple_frames(im, fp, palette): - duration = im.encoderinfo.get("duration", None) - disposal = im.encoderinfo.get('disposal', None) + duration = im.encoderinfo.get("duration", im.info.get("duration")) + disposal = im.encoderinfo.get("disposal", im.info.get("disposal")) im_frames = [] frame_count = 0 @@ -402,6 +404,9 @@ def _write_multiple_frames(im, fp, palette): for im_frame in ImageSequence.Iterator(imSequence): # a copy is required here since seek can still mutate the image im_frame = _normalize_mode(im_frame.copy()) + if frame_count == 0: + for k, v in im_frame.info.items(): + im.encoderinfo.setdefault(k, v) im_frame = _normalize_palette(im_frame, palette, im.encoderinfo) encoderinfo = im.encoderinfo.copy() @@ -460,12 +465,10 @@ def _save_all(im, fp, filename): def _save(im, fp, filename, save_all=False): - for k, v in im.info.items(): - im.encoderinfo.setdefault(k, v) # header - try: - palette = im.encoderinfo["palette"] - except KeyError: + if "palette" in im.encoderinfo or "palette" in im.info: + palette = im.encoderinfo.get("palette", im.info.get("palette")) + else: palette = None im.encoderinfo["optimize"] = im.encoderinfo.get("optimize", True) From f5740dc305bb1f951a27ecdc9184e9cbf97c3f3a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 29 Jul 2018 14:49:58 +1000 Subject: [PATCH 006/323] Set PDF title to filename by default --- src/PIL/PdfImagePlugin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/PIL/PdfImagePlugin.py b/src/PIL/PdfImagePlugin.py index d411bfc41..d90e06a72 100644 --- a/src/PIL/PdfImagePlugin.py +++ b/src/PIL/PdfImagePlugin.py @@ -22,6 +22,7 @@ from . import Image, ImageFile, ImageSequence, PdfParser import io +import os __version__ = "0.5" @@ -47,7 +48,7 @@ def _save_all(im, fp, filename): def _save(im, fp, filename, save_all=False): resolution = im.encoderinfo.get("resolution", 72.0) is_appending = im.encoderinfo.get("append", False) - title = im.encoderinfo.get("title", None) + title = None if is_appending else im.encoderinfo.get("title", os.path.splitext(filename)[0]) author = im.encoderinfo.get("author", None) subject = im.encoderinfo.get("subject", None) keywords = im.encoderinfo.get("keywords", None) From fc57658635cae5cb40c72025a950b6287450b8b8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 29 Jul 2018 22:33:59 +1000 Subject: [PATCH 007/323] Added PDF creation and modification date info --- Tests/test_file_pdf.py | 25 ++++++++++++++---- Tests/test_pdfparser.py | 14 ++++++++++ docs/handbook/image-file-formats.rst | 15 ++++++++++- src/PIL/PdfImagePlugin.py | 39 ++++++++++++++-------------- src/PIL/PdfParser.py | 27 ++++++++++++++++--- 5 files changed, 91 insertions(+), 29 deletions(-) diff --git a/Tests/test_file_pdf.py b/Tests/test_file_pdf.py index f012fb9d8..57f1c2118 100644 --- a/Tests/test_file_pdf.py +++ b/Tests/test_file_pdf.py @@ -4,6 +4,7 @@ import io import os import os.path import tempfile +import time class TestFilePdf(PillowTestCase): @@ -187,8 +188,13 @@ class TestFilePdf(PillowTestCase): # open it, check pages and info with PdfParser.PdfParser(pdf_filename, mode="r+b") as pdf: self.assertEqual(len(pdf.pages), 1) - self.assertEqual(len(pdf.info), 1) + self.assertEqual(len(pdf.info), 4) + self.assertEqual(pdf.info.Title, os.path.splitext( + os.path.basename(pdf_filename) + )[0]) self.assertEqual(pdf.info.Producer, "PdfParser") + self.assertIn(b"CreationDate", pdf.info) + self.assertIn(b"ModDate", pdf.info) self.check_pdf_pages_consistency(pdf) # append some info @@ -203,8 +209,10 @@ class TestFilePdf(PillowTestCase): # open it again, check pages and info again with PdfParser.PdfParser(pdf_filename) as pdf: self.assertEqual(len(pdf.pages), 1) - self.assertEqual(len(pdf.info), 6) + self.assertEqual(len(pdf.info), 8) self.assertEqual(pdf.info.Title, "abc") + self.assertIn(b"CreationDate", pdf.info) + self.assertIn(b"ModDate", pdf.info) self.check_pdf_pages_consistency(pdf) # append two images @@ -216,29 +224,36 @@ class TestFilePdf(PillowTestCase): # open the PDF again, check pages and info again with PdfParser.PdfParser(pdf_filename) as pdf: self.assertEqual(len(pdf.pages), 3) - self.assertEqual(len(pdf.info), 6) + self.assertEqual(len(pdf.info), 8) self.assertEqual(PdfParser.decode_text(pdf.info[b"Title"]), "abc") self.assertEqual(pdf.info.Title, "abc") self.assertEqual(pdf.info.Producer, "PdfParser") self.assertEqual(pdf.info.Keywords, "qw)e\\r(ty") self.assertEqual(pdf.info.Subject, u"ghi\uABCD") + self.assertIn(b"CreationDate", pdf.info) + self.assertIn(b"ModDate", pdf.info) self.check_pdf_pages_consistency(pdf) def test_pdf_info(self): # make a PDF file pdf_filename = self.helper_save_as_pdf( "RGB", title="title", author="author", subject="subject", - keywords="keywords", creator="creator", producer="producer") + keywords="keywords", creator="creator", producer="producer", + creationDate=time.strptime("2000", "%Y"), + modDate=time.strptime("2001", "%Y")) # open it, check pages and info with PdfParser.PdfParser(pdf_filename) as pdf: - self.assertEqual(len(pdf.info), 6) + self.assertEqual(len(pdf.info), 8) self.assertEqual(pdf.info.Title, "title") self.assertEqual(pdf.info.Author, "author") self.assertEqual(pdf.info.Subject, "subject") self.assertEqual(pdf.info.Keywords, "keywords") self.assertEqual(pdf.info.Creator, "creator") self.assertEqual(pdf.info.Producer, "producer") + self.assertEqual(pdf.info.CreationDate, + time.strptime("2000", "%Y")) + self.assertEqual(pdf.info.ModDate, time.strptime("2001", "%Y")) self.check_pdf_pages_consistency(pdf) def test_pdf_append_to_bytesio(self): diff --git a/Tests/test_pdfparser.py b/Tests/test_pdfparser.py index 42c813520..660405635 100644 --- a/Tests/test_pdfparser.py +++ b/Tests/test_pdfparser.py @@ -3,6 +3,7 @@ from helper import unittest, PillowTestCase from PIL.PdfParser import IndirectObjectDef, IndirectReference, PdfBinary, \ PdfDict, PdfFormatError, PdfName, PdfParser, \ PdfStream, decode_text, encode_text, pdf_repr +import time class TestPdfParser(PillowTestCase): @@ -76,6 +77,19 @@ class TestPdfParser(PillowTestCase): self.assertIsInstance(s, PdfStream) self.assertEqual(s.dictionary.Name, "value") self.assertEqual(s.decode(), b"abcde") + for name in ["CreationDate", "ModDate"]: + for date, value in { + b"20180729214124": "20180729214124", + b"D:20180729214124": "20180729214124", + b"D:2018072921": "20180729210000", + b"D:20180729214124Z": "20180729214124", + b"D:20180729214124+08'00'": "20180729134124", + b"D:20180729214124-05'00'": "20180730024124" + }.items(): + d = PdfParser.get_value( + b"<>", 0)[0] + self.assertEqual( + time.strftime("%Y%m%d%H%M%S", getattr(d, name)), value) def test_pdf_repr(self): self.assertEqual(bytes(IndirectReference(1, 2)), b"1 2 R") diff --git a/docs/handbook/image-file-formats.rst b/docs/handbook/image-file-formats.rst index eb50ff23d..e1138726f 100644 --- a/docs/handbook/image-file-formats.rst +++ b/docs/handbook/image-file-formats.rst @@ -1029,7 +1029,8 @@ The :py:meth:`~PIL.Image.Image.save` method can take the following keyword argum saved in the PDF. **title** - The document’s title. + The document’s title. If not appending to an existing PDF file, this will + default to the filename. .. versionadded:: 5.1.0 @@ -1061,6 +1062,18 @@ The :py:meth:`~PIL.Image.Image.save` method can take the following keyword argum .. versionadded:: 5.1.0 +**creationDate** + The creation date of the document. If not appending to an existing PDF + file, this will default to the current time. + + .. versionadded:: 5.3.0 + +**modDate** + The modification date of the document. If not appending to an existing PDF + file, this will default to the current time. + + .. versionadded:: 5.3.0 + XV Thumbnails ^^^^^^^^^^^^^ diff --git a/src/PIL/PdfImagePlugin.py b/src/PIL/PdfImagePlugin.py index d90e06a72..b42502762 100644 --- a/src/PIL/PdfImagePlugin.py +++ b/src/PIL/PdfImagePlugin.py @@ -23,6 +23,7 @@ from . import Image, ImageFile, ImageSequence, PdfParser import io import os +import time __version__ = "0.5" @@ -46,32 +47,30 @@ def _save_all(im, fp, filename): # (Internal) Image save plugin for the PDF format. def _save(im, fp, filename, save_all=False): - resolution = im.encoderinfo.get("resolution", 72.0) is_appending = im.encoderinfo.get("append", False) - title = None if is_appending else im.encoderinfo.get("title", os.path.splitext(filename)[0]) - author = im.encoderinfo.get("author", None) - subject = im.encoderinfo.get("subject", None) - keywords = im.encoderinfo.get("keywords", None) - creator = im.encoderinfo.get("creator", None) - producer = im.encoderinfo.get("producer", None) - if is_appending: existing_pdf = PdfParser.PdfParser(f=fp, filename=filename, mode="r+b") else: existing_pdf = PdfParser.PdfParser(f=fp, filename=filename, mode="w+b") - if title: - existing_pdf.info.Title = title - if author: - existing_pdf.info.Author = author - if subject: - existing_pdf.info.Subject = subject - if keywords: - existing_pdf.info.Keywords = keywords - if creator: - existing_pdf.info.Creator = creator - if producer: - existing_pdf.info.Producer = producer + resolution = im.encoderinfo.get("resolution", 72.0) + + info = { + "title": None if is_appending else os.path.splitext( + os.path.basename(filename) + )[0], + "author": None, + "subject": None, + "keywords": None, + "creator": None, + "producer": None, + "creationDate": None if is_appending else time.gmtime(), + "modDate": None if is_appending else time.gmtime() + } + for k, default in info.items(): + v = im.encoderinfo.get(k) if k in im.encoderinfo else default + if v: + existing_pdf.info[k[0].upper() + k[1:]] = v # # make sure image data is available diff --git a/src/PIL/PdfParser.py b/src/PIL/PdfParser.py index 971f44514..ad6d9f3fe 100644 --- a/src/PIL/PdfParser.py +++ b/src/PIL/PdfParser.py @@ -1,8 +1,10 @@ +import calendar import codecs import collections import mmap import os import re +import time import zlib from ._util import py3 @@ -280,9 +282,26 @@ class PdfDict(UserDict): except KeyError: raise AttributeError(key) if isinstance(value, bytes): - return decode_text(value) - else: - return value + value = decode_text(value) + if key.endswith("Date"): + if value.startswith("D:"): + value = value[2:] + + relationship = 'Z' + if len(value) > 17: + relationship = value[14] + offset = int(value[15:17]) * 60 + if len(value) > 20: + offset += int(value[18:20]) + + format = '%Y%m%d%H%M%S'[:len(value) - 2] + value = time.strptime(value[:len(format)+2], format) + if relationship in ['+', '-']: + offset *= 60 + if relationship == '+': + offset *= -1 + value = time.gmtime(calendar.timegm(value) + offset) + return value def __bytes__(self): out = bytearray(b"<<") @@ -347,6 +366,8 @@ def pdf_repr(x): return bytes(x) elif isinstance(x, int): return str(x).encode("us-ascii") + elif isinstance(x, time.struct_time): + return b'(D:'+time.strftime('%Y%m%d%H%M%SZ', x).encode("us-ascii")+b')' elif isinstance(x, dict): return bytes(PdfDict(x)) elif isinstance(x, list): From 36b1afff26f6b01cd1e7373528dfc0e90f568d77 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 25 Aug 2018 08:21:43 +1000 Subject: [PATCH 008/323] Fixed None as TIFF compression argument --- Tests/test_file_libtiff.py | 2 +- src/PIL/TiffImagePlugin.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 77caa0b9d..855ec1e63 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -486,7 +486,7 @@ class TestFileLibTiff(LibTiffTestCase): pilim_load = Image.open(buffer_io) self.assert_image_similar(pilim, pilim_load, 0) - # save_bytesio() + save_bytesio() save_bytesio('raw') save_bytesio("packbits") save_bytesio("tiff_lzw") diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 66b211cbf..6663ea5f1 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1396,8 +1396,9 @@ def _save(im, fp, filename): ifd = ImageFileDirectory_v2(prefix=prefix) - compression = im.encoderinfo.get('compression', - im.info.get('compression', 'raw')) + compression = im.encoderinfo.get('compression', im.info.get('compression')) + if compression is None: + compression = 'raw' libtiff = WRITE_LIBTIFF or compression != 'raw' From fbc121d6785dfdc566d19d75e250c2b8d9de8542 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 1 Sep 2018 09:28:22 +1000 Subject: [PATCH 009/323] Changed GIF seek to remove previous info items --- Tests/test_file_gif.py | 13 ++++++++++++- src/PIL/GifImagePlugin.py | 17 ++++++++++++----- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 086a0f5d0..917b36905 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -134,13 +134,15 @@ class TestFileGif(PillowTestCase): # Multiframe image im = Image.open("Tests/images/dispose_bgnd.gif") + info = im.info.copy() + out = self.tempfile('temp.gif') im.save(out, save_all=True) reread = Image.open(out) for header in important_headers: self.assertEqual( - im.info[header], + info[header], reread.info[header] ) @@ -207,6 +209,15 @@ class TestFileGif(PillowTestCase): except EOFError: self.assertEqual(framecount, 5) + def test_seek_info(self): + im = Image.open("Tests/images/iss634.gif") + info = im.info.copy() + + im.seek(1) + im.seek(0) + + self.assertEqual(im.info, info) + def test_n_frames(self): for path, n_frames in [ [TEST_GIF, 1], diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index fec2f7663..645bb26bf 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -166,6 +166,7 @@ class GifImageFile(ImageFile.ImageFile): from copy import copy self.palette = copy(self.global_palette) + info = {} while True: s = self.fp.read(1) @@ -184,8 +185,8 @@ class GifImageFile(ImageFile.ImageFile): # flags = i8(block[0]) if flags & 1: - self.info["transparency"] = i8(block[3]) - self.info["duration"] = i16(block[1:3]) * 10 + info["transparency"] = i8(block[3]) + info["duration"] = i16(block[1:3]) * 10 # disposal method - find the value of bits 4 - 6 dispose_bits = 0b00011100 & flags @@ -200,16 +201,16 @@ class GifImageFile(ImageFile.ImageFile): # # comment extension # - self.info["comment"] = block + info["comment"] = block elif i8(s) == 255: # # application extension # - self.info["extension"] = block, self.fp.tell() + info["extension"] = block, self.fp.tell() if block[:11] == b"NETSCAPE2.0": block = self.data() if len(block) >= 3 and i8(block[0]) == 1: - self.info["loop"] = i16(block[1:3]) + info["loop"] = i16(block[1:3]) while self.data(): pass @@ -268,6 +269,12 @@ class GifImageFile(ImageFile.ImageFile): # self.__fp = None raise EOFError + for k in ["transparency", "duration", "comment", "extension", "loop"]: + if k in info: + self.info[k] = info[k] + elif k in self.info: + del self.info[k] + self.mode = "L" if self.palette: self.mode = "P" From fbe5bdb6b605e06132d82b1347c9185299904a7c Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 1 Sep 2018 14:40:36 +0300 Subject: [PATCH 010/323] Also apply width to pieslice's inner lines --- Tests/images/imagedraw_pieslice_width.png | Bin 488 -> 496 bytes Tests/images/imagedraw_pieslice_width_fill.png | Bin 500 -> 523 bytes docs/reference/ImageDraw.rst | 2 +- src/libImaging/Draw.c | 9 +++++++-- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/Tests/images/imagedraw_pieslice_width.png b/Tests/images/imagedraw_pieslice_width.png index a83c4ab7b3469f0d2171148d31a4c7836311b50c..3bd69222cf3ff22977e358bcb0fcc2c84c98e284 100644 GIT binary patch delta 470 zcmV;{0V)3I1MmZoB!9O_L_t(|obB7&Zi6roMNy~9|Nk<1sDcQg2E$y=(7m2oDUHox zdwQuj%twkzTDmvpX>DzeGk>Sd}uG{bV#+GN~3mI~$MksrP=NPp_*YUj(pgDa4S!1})ttlHEUSY_DXs>7 zVO>c|ROB%1CsiOvr?9@usz4UIJi@wXQY~pUtSTU^(`6;MAex6IcZG($D{H8%)TcJ) ztO2%R-FXZ)=gLwaR-?p+p;oD?g(Y2#>0gEIS{7Gwl=@*UC4Z2zZOrhCmaWJlnrZjd4CeiqHI_z-=&cdpX;1u{{BNvFWGd%{9+Ui4|&})wN0r9vm53eR{YH3 z*rIt@YM)mu`;&Xtp;%l0Va_t+5mwfo$bIADR9W$PMQrizaq=%{TJ#HR^Tv8yRon@b z_-F98d4-3;bruq<>m+Sch#jOv-oV$_r~Q zDQn7UcqS?9G?T*mY%A*&PRa=Do=LT$yWy$?VNJA^=?yVFEYtH0k=Hdi zhsDNX&AK2Xtk2HZG*|jpaI((I&P#DUlEON?q; zHVH!VQWsyoqcV|NSy%xTvV=S^skN?Py7Vqtx?>Z(ueS7*~ z$j2P#x%%5v1Jz%@i{M`M>#?=!za=Lp{r+SU>Qv^e9nYA)=U0~E8~MF!vxLH)6qjU$ zwN3eXC${6~w{WR2t!q|R=N3=c@_&QGp_N?|UdK77uKUct(`?JC3%@YrzRHj lP2YNX%e3@WC^7S4=N|?GRln@au;X4J2~Sr)mvv4FO#ndA=xqQ1 delta 474 zcmV<00VV#61oQ)tB!9a}L_t(|obB4na)U4sL{X8-|Nk;sq)f#;1)1&{CHHK-KwKoS zgD%=GQUd$`L|rBga%l@8Iv zvkcEN&94uq$uX4QFbwdp)V%p*nwn)u52771RvNmv(&vj*FzL*?<&jA$M$1eH?vH=oZAx8Whn1u z-oQzC8b_{OV0#Et)yb~?=@JR{H5>H4>FkE_|FJyRX$RKBQkQmtdfjki;JNwnK! zI*XLwy|KxBr;xQt5Yo#%`1Bo>2i4NXoE~d&S*^}c0RR9100000008`7Ux?&SW9tNn QIRF3v07*qoM6N<$f&m`!LI3~& diff --git a/docs/reference/ImageDraw.rst b/docs/reference/ImageDraw.rst index 014075a0b..3bd460814 100644 --- a/docs/reference/ImageDraw.rst +++ b/docs/reference/ImageDraw.rst @@ -207,7 +207,7 @@ Methods :param end: Ending angle, in degrees. :param fill: Color to use for the fill. :param outline: Color to use for the outline. - :param width: The outer line width, in pixels. + :param width: The line width, in pixels. .. versionadded:: 5.2.0 diff --git a/src/libImaging/Draw.c b/src/libImaging/Draw.c index ea44e3605..eded23716 100644 --- a/src/libImaging/Draw.c +++ b/src/libImaging/Draw.c @@ -855,8 +855,13 @@ ellipse(Imaging im, int x0, int y0, int x1, int y1, if (i != start) { if (mode == PIESLICE) { if (x != cx || y != cy) { - draw->line(im, x, y, cx, cy, ink); - draw->line(im, cx, cy, sx, sy, ink); + if (width <= 1) { + draw->line(im, x, y, cx, cy, ink); + draw->line(im, cx, cy, sx, sy, ink); + } else { + ImagingDrawWideLine(im, x, y, cx, cy, &ink, width, op); + ImagingDrawWideLine(im, cx, cy, sx, sy, &ink, width, op); + } } } else if (mode == CHORD) { if (x != sx || y != sy) From 558e70d8cdd9045c46019752ba1198904079dac4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 9 Sep 2018 13:57:01 +1000 Subject: [PATCH 011/323] Removed less than condition --- src/libImaging/Draw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/Draw.c b/src/libImaging/Draw.c index eded23716..60650c373 100644 --- a/src/libImaging/Draw.c +++ b/src/libImaging/Draw.c @@ -855,7 +855,7 @@ ellipse(Imaging im, int x0, int y0, int x1, int y1, if (i != start) { if (mode == PIESLICE) { if (x != cx || y != cy) { - if (width <= 1) { + if (width == 1) { draw->line(im, x, y, cx, cy, ink); draw->line(im, cx, cy, sx, sy, ink); } else { From e266b033d1f528c32881b845d61b09fd9c954f27 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 16 Sep 2018 23:41:24 +0300 Subject: [PATCH 012/323] Update version added --- docs/reference/ImageDraw.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/reference/ImageDraw.rst b/docs/reference/ImageDraw.rst index 3bd460814..75ae30a32 100644 --- a/docs/reference/ImageDraw.rst +++ b/docs/reference/ImageDraw.rst @@ -140,7 +140,7 @@ Methods :param fill: Color to use for the arc. :param width: The line width, in pixels. - .. versionadded:: 5.2.0 + .. versionadded:: 5.3.0 .. py:method:: PIL.ImageDraw.ImageDraw.bitmap(xy, bitmap, fill=None) @@ -165,7 +165,7 @@ Methods :param fill: Color to use for the fill. :param width: The line width, in pixels. - .. versionadded:: 5.2.0 + .. versionadded:: 5.3.0 .. py:method:: PIL.ImageDraw.ImageDraw.ellipse(xy, fill=None, outline=None, width=0) @@ -178,7 +178,7 @@ Methods :param fill: Color to use for the fill. :param width: The line width, in pixels. - .. versionadded:: 5.2.0 + .. versionadded:: 5.3.0 .. py:method:: PIL.ImageDraw.ImageDraw.line(xy, fill=None, width=0) @@ -209,7 +209,7 @@ Methods :param outline: Color to use for the outline. :param width: The line width, in pixels. - .. versionadded:: 5.2.0 + .. versionadded:: 5.3.0 .. py:method:: PIL.ImageDraw.ImageDraw.point(xy, fill=None) @@ -243,7 +243,7 @@ Methods :param fill: Color to use for the fill. :param width: The line width, in pixels. - .. versionadded:: 5.2.0 + .. versionadded:: 5.3.0 .. py:method:: PIL.ImageDraw.ImageDraw.shape(shape, fill=None, outline=None) From f0436a4ddc954541fa10a531e2d9ea0c5ae2065d Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 2 Jul 2018 17:15:24 -0700 Subject: [PATCH 013/323] Adding support to reading tiled and YcbCr jpegs tiffs through libtiff --- src/PIL/TiffImagePlugin.py | 152 +++++++++++++++++------------------- src/libImaging/TiffDecode.c | 115 ++++++++++++++++++++------- 2 files changed, 157 insertions(+), 110 deletions(-) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index ecfe8d890..d12f411fe 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -257,14 +257,14 @@ OPEN_INFO = { (II, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), (MM, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), - (II, 6, (1,), 1, (8, 8, 8), ()): ("YCbCr", "YCbCr"), - (MM, 6, (1,), 1, (8, 8, 8), ()): ("YCbCr", "YCbCr"), - (II, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("YCbCr", "YCbCrX"), - (MM, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("YCbCr", "YCbCrX"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("YCbCr", "YCbCrXX"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("YCbCr", "YCbCrXX"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("YCbCr", "YCbCrXXX"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("YCbCr", "YCbCrXXX"), + (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (II, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (MM, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (II, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (MM, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (II, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (MM, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), @@ -1062,6 +1062,8 @@ class TiffImageFile(ImageFile.ImageFile): compression = self._compression if compression == "raw": args = (rawmode, 0, 1) + if compression == "jpeg": + args = ("RGB", "") elif compression == "packbits": args = rawmode @@ -1187,6 +1189,7 @@ class TiffImageFile(ImageFile.ImageFile): print("- photometric_interpretation:", photo) print("- planar_configuration:", self._planar_configuration) print("- fill_order:", fillorder) + print("- YCbCr subsampling:", self.tag.get(530)) # size xsize = self.tag_v2.get(IMAGEWIDTH) @@ -1258,87 +1261,71 @@ class TiffImageFile(ImageFile.ImageFile): # build tile descriptors x = y = layer = 0 self.tile = [] - self.use_load_libtiff = False - if STRIPOFFSETS in self.tag_v2: + self.use_load_libtiff = self._compression != 'raw' + if self.use_load_libtiff: + # Decoder expects entire file as one tile. + # There's a buffer size limit in load (64k) + # so large g4 images will fail if we use that + # function. + # + # Setup the one tile for the whole image, then + # use the _load_libtiff function. + + # libtiff handles the fillmode for us, so 1;IR should + # actually be 1;I. Including the R double reverses the + # bits, so stripes of the image are reversed. See + # https://github.com/python-pillow/Pillow/issues/279 + if fillorder == 2: + key = ( + self.tag_v2.prefix, photo, sampleFormat, 1, + self.tag_v2.get(BITSPERSAMPLE, (1,)), + self.tag_v2.get(EXTRASAMPLES, ()) + ) + if DEBUG: + print("format key:", key) + # this should always work, since all the + # fillorder==2 modes have a corresponding + # fillorder=1 mode + self.mode, rawmode = OPEN_INFO[key] + # libtiff always returns the bytes in native order. + # we're expecting image byte order. So, if the rawmode + # contains I;16, we need to convert from native to image + # byte order. + if rawmode == 'I;16': + rawmode = 'I;16N' + if ';16B' in rawmode: + rawmode = rawmode.replace(';16B', ';16N') + if ';16L' in rawmode: + rawmode = rawmode.replace(';16L', ';16N') + + # Offset in the tile tuple is 0, we go from 0,0 to + # w,h, and we only do this once -- eds + a = (rawmode, self._compression, False) + self.tile.append( + (self._compression, + (0, 0, xsize, ysize), + 0, a)) + + elif STRIPOFFSETS in self.tag_v2 or TILEOFFSETS in self.tag_v2: # striped image - offsets = self.tag_v2[STRIPOFFSETS] - h = self.tag_v2.get(ROWSPERSTRIP, ysize) - w = self.size[0] - if READ_LIBTIFF or self._compression != 'raw': - # Decoder expects entire file as one tile. - # There's a buffer size limit in load (64k) - # so large g4 images will fail if we use that - # function. - # - # Setup the one tile for the whole image, then - # use the _load_libtiff function. - - self.use_load_libtiff = True - - # libtiff handles the fillmode for us, so 1;IR should - # actually be 1;I. Including the R double reverses the - # bits, so stripes of the image are reversed. See - # https://github.com/python-pillow/Pillow/issues/279 - if fillorder == 2: - key = ( - self.tag_v2.prefix, photo, sampleFormat, 1, - self.tag_v2.get(BITSPERSAMPLE, (1,)), - self.tag_v2.get(EXTRASAMPLES, ()) - ) - if DEBUG: - print("format key:", key) - # this should always work, since all the - # fillorder==2 modes have a corresponding - # fillorder=1 mode - self.mode, rawmode = OPEN_INFO[key] - # libtiff always returns the bytes in native order. - # we're expecting image byte order. So, if the rawmode - # contains I;16, we need to convert from native to image - # byte order. - if rawmode == 'I;16': - rawmode = 'I;16N' - if ';16B' in rawmode: - rawmode = rawmode.replace(';16B', ';16N') - if ';16L' in rawmode: - rawmode = rawmode.replace(';16L', ';16N') - - # Offset in the tile tuple is 0, we go from 0,0 to - # w,h, and we only do this once -- eds - a = (rawmode, self._compression, False) - self.tile.append( - (self._compression, - (0, 0, w, ysize), - 0, a)) - a = None - + if STRIPOFFSETS in self.tag_v2: + offsets = self.tag_v2[STRIPOFFSETS] + h = self.tag_v2.get(ROWSPERSTRIP, ysize) + w = self.size[0] else: - for i, offset in enumerate(offsets): - a = self._decoder(rawmode, layer, i) - self.tile.append( - (self._compression, - (0, min(y, ysize), w, min(y+h, ysize)), - offset, a)) - if DEBUG: - print("tiles: ", self.tile) - y = y + h - if y >= self.size[1]: - x = y = 0 - layer += 1 - a = None - elif TILEOFFSETS in self.tag_v2: - # tiled image - w = self.tag_v2.get(322) - h = self.tag_v2.get(323) + # tiled image + offsets = self.tag_v2[TILEOFFSETS] + w = self.tag_v2.get(322) + h = self.tag_v2.get(323) + a = None - for o in self.tag_v2[TILEOFFSETS]: + for offset in offsets: if not a: a = self._decoder(rawmode, layer) - # FIXME: this doesn't work if the image size - # is not a multiple of the tile size... self.tile.append( (self._compression, - (x, y, x+w, y+h), - o, a)) + (min(x, xsize), min(y, ysize), min(x+w, xsize), min(y+h, ysize)), + offset, a)) x = x + w if x >= self.size[0]: x, y = 0, y + h @@ -1346,6 +1333,7 @@ class TiffImageFile(ImageFile.ImageFile): x = y = 0 layer += 1 a = None + self.tile_prefix = self.tag_v2.get(JPEGTABLES, b"") else: if DEBUG: print("- unsupported data organization") diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index f292da388..96106b6e3 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -173,7 +173,6 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int char *filename = "tempfile.tif"; char *mode = "r"; TIFF *tiff; - tsize_t size; /* buffer is the encoded file, bytes is the length of the encoded file */ @@ -235,36 +234,96 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int } } - size = TIFFScanlineSize(tiff); - TRACE(("ScanlineSize: %d \n", size)); - if (size > state->bytes) { - TRACE(("Error, scanline size > buffer size\n")); - state->errcode = IMAGING_CODEC_BROKEN; - TIFFClose(tiff); - return -1; - } + TIFFSetField(tiff, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); - // Have to do this row by row and shove stuff into the buffer that way, - // with shuffle. (or, just alloc a buffer myself, then figure out how to get it - // back in. Can't use read encoded stripe. + if (TIFFIsTiled(tiff)) { + state->bytes = TIFFTileSize(tiff); - // This thing pretty much requires that I have the whole image in one shot. - // Perhaps a stub version would work better??? - while(state->y < state->ysize){ - if (TIFFReadScanline(tiff, (tdata_t)state->buffer, (uint32)state->y, 0) == -1) { - TRACE(("Decode Error, row %d\n", state->y)); - state->errcode = IMAGING_CODEC_BROKEN; - TIFFClose(tiff); - return -1; - } - /* TRACE(("Decoded row %d \n", state->y)); */ - state->shuffle((UINT8*) im->image[state->y + state->yoff] + - state->xoff * im->pixelsize, - state->buffer, - state->xsize); + /* overflow check for malloc */ + if (state->bytes > INT_MAX - 1) { + state->errcode = IMAGING_CODEC_MEMORY; + TIFFClose(tiff); + return -1; + } - state->y++; - } + /* realloc to fit whole tile */ + UINT8 *new = realloc (state->buffer, state->bytes); + if (!new) { + state->errcode = IMAGING_CODEC_MEMORY; + TIFFClose(tiff); + return -1; + } + + state->buffer = new; + + TRACE(("TIFFTileSize: %d\n", state->bytes)); + + uint32 x, y, tile_y; + uint32 tileWidth, tileLength; + + TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tileWidth); + TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tileLength); + + for (y = state->yoff; y < state->ysize; y += tileLength) { + for (x = state->xoff; x < state->xsize; x += tileWidth) { + if (TIFFReadTile(tiff, (tdata_t)state->buffer, x, y, 0, 0) == -1) { + TRACE(("Decode Error, Tile at %dx%d\n", x, y)); + state->errcode = IMAGING_CODEC_BROKEN; + TIFFClose(tiff); + return -1; + } + + TRACE(("Read tile at %dx%d; \n\n", x, y)); + + // iterate over each line in the tile and stuff data into image + for (tile_y = 0; tile_y < min(tileLength, state->ysize - y); tile_y++) { + + TRACE(("Writing tile data at %dx%d using tilwWidth: %d; \n", tile_y + y, x, min(tileWidth, state->xsize - x))); + + // UINT8 * bbb = state->buffer + tile_y * (state->bytes / tileLength); + // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); + + state->shuffle((UINT8*) im->image[tile_y + y] + x * im->pixelsize, + state->buffer + tile_y * (state->bytes / tileLength), + min(tileWidth, state->xsize - x) + ); + } + } + } + } else { + tsize_t size; + + size = TIFFScanlineSize(tiff); + TRACE(("ScanlineSize: %lu \n", size)); + if (size > state->bytes) { + TRACE(("Error, scanline size > buffer size\n")); + state->errcode = IMAGING_CODEC_BROKEN; + TIFFClose(tiff); + return -1; + } + + // Have to do this row by row and shove stuff into the buffer that way, + // with shuffle. (or, just alloc a buffer myself, then figure out how to get it + // back in. Can't use read encoded stripe. + + // This thing pretty much requires that I have the whole image in one shot. + // Perhaps a stub version would work better??? + while(state->y < state->ysize){ + if (TIFFReadScanline(tiff, (tdata_t)state->buffer, (uint32)state->y, 0) == -1) { + TRACE(("Decode Error, row %d\n", state->y)); + state->errcode = IMAGING_CODEC_BROKEN; + TIFFClose(tiff); + return -1; + } + /* TRACE(("Decoded row %d \n", state->y)); */ + state->shuffle((UINT8*) im->image[state->y + state->yoff] + + state->xoff * im->pixelsize, + state->buffer, + state->xsize); + + state->y++; + } + } TIFFClose(tiff); TRACE(("Done Decoding, Returning \n")); From 1f63abdba89440f73b90da7c6e01130e360c4f06 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 16 Jul 2018 21:10:57 -0700 Subject: [PATCH 014/323] Fix tiled raw tiff read and add tests --- Tests/images/tiff_strip_cmyk_jpeg.tif | Bin 0 -> 23268 bytes Tests/images/tiff_strip_raw.tif | Bin 0 -> 312162 bytes .../tiff_strip_ycbcr_jpeg_1x1_sampling.tif | Bin 0 -> 44042 bytes .../tiff_strip_ycbcr_jpeg_2x2_sampling.tif | Bin 0 -> 35896 bytes Tests/images/tiff_tiled_cmyk_jpeg.tif | Bin 0 -> 31790 bytes Tests/images/tiff_tiled_raw.tif | Bin 0 -> 442674 bytes .../tiff_tiled_ycbcr_jpeg_1x1_sampling.tif | Bin 0 -> 46266 bytes .../tiff_tiled_ycbcr_jpeg_2x2_sampling.tif | Bin 0 -> 26862 bytes Tests/test_file_tiff.py | 48 ++++++++++++++++++ src/PIL/TiffImagePlugin.py | 19 ++++--- 10 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 Tests/images/tiff_strip_cmyk_jpeg.tif create mode 100644 Tests/images/tiff_strip_raw.tif create mode 100644 Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif create mode 100644 Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif create mode 100644 Tests/images/tiff_tiled_cmyk_jpeg.tif create mode 100644 Tests/images/tiff_tiled_raw.tif create mode 100644 Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif create mode 100644 Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif diff --git a/Tests/images/tiff_strip_cmyk_jpeg.tif b/Tests/images/tiff_strip_cmyk_jpeg.tif new file mode 100644 index 0000000000000000000000000000000000000000..9d53d167e05ca083a39dcfd5f87f83bb9589e3d9 GIT binary patch literal 23268 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_strip_raw.tif b/Tests/images/tiff_strip_raw.tif new file mode 100644 index 0000000000000000000000000000000000000000..81bb42ce7dc02a631567188faa405c98cc1d558e GIT binary patch literal 312162 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�PrrA+Z0Og? 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif b/Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif new file mode 100644 index 0000000000000000000000000000000000000000..bbb969cc20f9043ee1c730b1656ce22d6ffb34e4 GIT binary patch literal 44042 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif b/Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif new file mode 100644 index 0000000000000000000000000000000000000000..86b5816668e2faf7e07d32ee047b566401f9e02b GIT binary patch literal 35896 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

95%bD#$y~0*?c0xj{4oxSdl&lk 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 S|G)V+y#E;9e*$NM{rCSW7hviD literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif b/Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif new file mode 100644 index 0000000000000000000000000000000000000000..fdee429855f0494d94aeb5da7a5a846af9ffd905 GIT binary patch literal 46266 zcmbTd`#;nF|3ALY=XyqxLwS}%HK%e6MF-@N4%pZn_KfB*W<@5Eb$E6_h#Jk3atNC_ z&oJy+B+STRWHT!og$)z4X7hRU{tI5;?{8dOW{<<|e!E>yH)m%s=t%_#wEAWBKhW;Y zpu3>E>(=ZBt=+w5-R?E39MJZ4Yk*(Y?FQL_;sYnjH!miR2WgpD3@X&uWUKF=$&5)f zpiD$ak*lE4&{y3#dEHf)@XgQ>$|@-Ba{Quq-9ft=*#z3H63y(~+x3JR)uu;%xpoTBN21Y##$p@x;uO2}J(HIb|X-6!{# zz(&6Kno~Pt!x<7Lj_U9Gqu~O_n%JrT<5K>C8qnf9`$ep^@h+Zp?oK*)@)BLq_c`|E z@4a4*S){R5ftE~3_FH{WhK(I?Ef$G;Pjx6;&RcfYcpGdj zg?Ys=-7imoMReR_0UVUD3i^iHteY~da*elec|&yBgBj671$e_vYy9JzuDeFx7^RN4 zR8U5yX_V4%A^E0V?>xkvI#FItZ4-l#mWQ+GzB4?V;Kq!|Bal5E*sH zy~G>4o}WmB6^zi+8BKoME~}!@;$a2{mH1{Kd4fqz5C)z8x!{s_IORJWP<+_R1wL3lwOO;PX!i1k%#=-Yl-rt57GED4*WoZ)E~TqAP@c8R z5`=a^TJZEuuUeK%WXFCFBnlTPXW16-qjbU)EWJn5wc)p7T6aX<9BgOGb1zF!kC07~bG9-o z{arUN)ef_ZC(gXx7K&Lh(bsp!9)4EFLAOVT3@0F#NPc%`8tvjvvC7jUJ87F4v5XX4 zlXt}n*Kme$Hyy_*4tYCz+?;N;$7^4VLf1TRpf@+IFG-H&v zVqT(~!mw^*L?=MtkM2g9l#7N$tDra;`{ny)2kr`5!Wb@Cqh&*Ah9H_;&W^-c2uApG z>a6>_&#r=^!^$SVL_W?^#;yIV`6Lj28h8e{`Kgq%o`)Rth|0#D;&NHJ<2&OWN^M!+ zCK_`){akLXg1$m5f-q}SlG7fmHykE}mf7H%snBaDx0;O4VNxiEVZ!o5_;i}#-k`|$ zHK`o|bQ#!uz~8=0)_&aYr#lCk~Ei zvL>yt6l_nu^}DO`s?k#7EUp^L{_pvTG%T-+A01}#9L)L_PC!4q!Xg=+qo1S5~Sh>cW(o=5c z;do>x)`($9Wqb#ox(!(uGw5Dh?jgDthyoc4-l3##%oLF08Lj-$vQWb_ z5h0XB1r z6qmgEPl<&>=wq$xPgC2cVen5qgAejLl^rCt)Qv%qKCr$)MMRWS8aZai2Z^1{sOnnD?-UN=nieikVl$+@cA*}PMaro z)SIiI2EG}I@ms}Tf8*2)Gz!1KBxvGq>`Q&Kp#-D=gQ!J0Sx$VRyU)ETb$tvKUK7+2 zS?R*fCY&*2YM1e|?;;;+jB%m(j+Bh!(ZZvRX*ES%ObJM11?!Rkf+~_#q)2Wbt`jWj&U9(EMiP0lofA z_R5zb$wfX-Mtz<*9#9;2>Vnz>G@5~}4kpAAXz665K{s~x>1$KlbX&Ar89#T&m(rVm z50-q{@JM$Hl^BK7fY$Dys_pN}j7g3S6Ib0?1xdngM_XMg>4-8v?`Y)~m7^`Wyl&w0 zI@;xR<96nUF1gIb(`S_BoSIFi^GfewKd&oZL#esE5nFj9U=X9iEE|MJ!S@9mBIVzI zS%)AY3?V21uOuo6L zvI^>jgw**?4GboEnF=(_yDpdg)PayM*TLHkP{!yQ=IAP;sfe5hoFkgh`uVkvBek6@ zcU~&It~FK5dwwIi#MIzQlmtkiLI>1@m%=YmUF;VM|yXvS_w*q zCnIYG$kN!0VcsPsNF3b}7?;Y9LUHMnY3k52X`kAR7}h<1QC3?fz|49%Sgm1}Kf!Uz zU5B-<2)E?V1BG!rt7=yW{IUO2`2;*I$g4)rFJafL;ejqICieHpjuqD{Gs*SCx6ZdN zVSB6EnUdnAGm)c}ncNSMDn(k<_pvp?%-iB<=U@kb#usf$- zqkYdIkDe&y*0X|5HX>#XZO=q{Cq8D0dn@)AJ&M+2RLjg{nPa*#)=HRss?CXD-~Y^V z{tl9dAZ2eEesHOr}^BFPhpkP3yY@1S(0KyQ#Z`vx@ZW7ko`R8{%vhaWlicJ+iTWt z-uwnTr$?{J?Yxt|zUISN9?+y(n&rT`UbN6~WD4Ha3qUPVUU@%X^%X{T%R8uKs>d#X{q|eSN(`#%q?qOQAq;B!I0b$q#ov5X0Ie>O`k zFWi`PR$gYkWx~jt_XeMU+M#USvvt(r28H{66|}Z=ioD@=_JMo4H|lt=FASM({u+ZJ z3gC35be%pJr|c&(1^3m{yQb`#|E;V`k0V=0198<}`+PYkg1TILlt*3b10X43A$|2# zA8a&JDaHQ2Ju>Nc%u-lhj`@X-{>rEi){ET_NrnR#SjzF$ALWb16bDa7wD%HMgXzlj zE_;JBIqDT@e(S>5jDhG+b|%9AL)L!{uMYnY2tD}0HyCDkN&c}sjhSE4qTTFAmUDjF zx^4GvLyW=S{?(3%;JsM0QJ~O8zFF_-C@Za5b6~g|WmL^ROJdLdWOJ{8{)@<)SY)Js>Dt4J%17Ffjw0Qe_dl5Z{EL`GtT zD@WFP_hV<5P^a;5yDX*@*K}I>7RD*pr3oL5%s7n6fXGUzlV3xMtDW~NBS~KL*AE<=drqSdA%)jD|+phsvI-FVZ zED8R-?BFIrMD;)B1&GYzP32l~3TeT* zl|f#82`ILUOMpOdjRR|XLt|uWfzQK}_#fCUXQ8G~OGCS+seYCwmI@pHq~dHtI=&!C zT1)kWv^r!ebXP&mAum8ljtBsr@jW-&UZ>-m;h?ZfO|=~>b{|h~AFdOn;2Fbj)@M6n zS3&5|!s`xxE>NNqGTrtXj_%D;*PMyDqAg6jnI@n81`p5~{m5u)c)4qYtdJ-k*x!X9 zWvqJAzMTl70Mq1jZ;A`?0pRQkT8c|*B!BtfURhMgcUG!eVbKK93h@xc`e~g_w(9me zCF8CXNsL#tRd%}Rd3hV0*S@*d5qMU>r4;|wp?ytO$~^s7b+ysY-MCRWC{2QFUbwt& zZ;+OLJbxCNep)p(kP2f3 zn40h5;bgOmpyMdx;+v5Guqi)l^n+I7$CxGczX&|p;UVe(UUGi+e^vsI9yzl|Kn4vjS=ToK^Im*qeY$T z;1=8J6J{kO`|}K0=K#nl#<;5)8S?La))fxK5zW;Q1eK!HUy*%IXYCX&SksttcInKa z)~mG;H1rn;pYQiq}OGaZDPjoL6oVb-d(O)A=KarWLzZHuz*qZsWt? zP>skkHll%A!0Xto2rBIx*kV~#AtuTvD8zM+gF&~l_0XmK-zuROPbUdYH*#|jPW zy*M#;)i0*4lb!cDplzzMs-30i95|-Wm9ACjN$~`QACP6z?Of}(Gzu#5EJ)4kNj8dOkyZ>xOgDG3!80Jt2mh;8*@JS1DJr#F@_rAbiNKmgt4*`ID?ob>mSWJL}k zx4=?$kp>j1k76x*%3)-9>)Qe;#3y=ZuW{DPl30yLP!8W%f;#Y)*=hRGBk)Rc82Wr7 zjE1{i|8-+HW};RgV~kR~cdmkBW<5dR_A)N?u4SWg=){!Jh&Sp!nD|9f1y5LHCKzC4 zAzYe3nps&a!n7(+q@<#w^>cTjj&Q%rv@JzBJ`>6ETuJB$hE8dmnj=z(yD702`ndZA zUQAk+qOT{@ScnFoIedh^EGW_-21~POOj!}<(>iYsYX7AE}s<*MXPP36s{dCLj0%{}OffIZCQXrPsA@0wk+0x$ z;S~{IWVQ0iAPNYTM2_AgpRmF5vtn5AsH0?+6T^Gn&1+^uT1!^IbRWff>c2fr9b<1F zgfmdWQ?D+{@Vvd%iDFpI0MY1Nd}(UAhQ9G=arQ~qI7pP%M|hb37sIY?3Or_^NahM~ z1~qSq$7IqrTdzI6#clcS)HjXZltZW80EY6BdKm5!M1U>tuIfoohHm zM$fD*Iy5+;nsngCTV97U8m}6;3i>asFD(0TVOHmIO)~sq)}6p_OlPBOp+Py8PAMx| zJb3nB)u&3A?n6V8Tb0|h^F1jW6?!F8@f}d!Bp&MQ)#=BGStk8gscu$P5GEF( zYl>_<>OED>QdU7KJ`Nfj>lH@B@G2;N$Y^c#D~|PzD*~s59VosqLGP9==IC(3RfRCR z>vy=GcGkx3@%XJ=Y)u%fRcc@_6?xaC{>|qoRSBh#-h?Tdgq%b?!BlbvJ?I)Cv8!X$ zvB;jCTt`6tMLE)AYUXiOz^qs@Z-JKUq!s2rS$a{5oWbH|O`$_e>9)5Ee8D!^zjqGe zg*vzl1RfaoWuZOK7OzL|DURGz)_5lPt;=u7f?|w$rnZF6HB@xV6;iE3IvLpO=ok^dueC z$a0}!L&~_2+FAj?9kW|qh@XFNk5;jU9y1@S3_W_N{AIdtRfJ-S#w#F?NUiIT%3!PJ zK0e)#>2o-0Plj&x8K+qU5;x?XFU!9lEo zQ1!(vQ)2Y%TFdRP(*4nTHX6godW^{!3=o}Z%U5v8iVcuUDqXCwxVix6{g+0$ewGvG zS#F~nQ~tXbW1|nIb#^jLs)n+E{aqLqycG8^RIs4Z9AZZY$a50qC;gt$Tgv-y1Fju0 zCK1xwLCAGQ-}%ZHMlnGSMN>DXGKEp$ba!YF6cFxfml8S;Ukv;Ave&tH171$a!i)$p zo^gx0Vkh)6bU8Um%(CN)H8F|C`STIgJHBrv%^3~*$hxT9M+I-vD4s8nf#qotY^03Z zI$kpGjSoFe>o>5dY8KM35WHjquP|>are-?R+N|%iJ*~~Cs_FjGp0;9Gk6ZEs2)6Y; ztIJ-&1E2Hy>IYGMX3eV2G96O2&h~jr#VMb&p>)$qhn{nHA0u8v-ApEi3!sqTAccYl zAk#GH=ll{u;IXdRc;l}>}>!!bfvo@Ao zHQ07Y$d}|x865JBr3*hke9dls=d~PHqD2SvJaj2+(UoEN%_Tf={e2*jnKDB%)JGH{@ej)m-eqDsogbq%JR|*~c$O@KeCdBIgr6#!mGX{6uX?Y02s})EA0+imj z{u*B+0x^aVeO_-!!;BU@>(f^3r$}(W)N7a*bf9i@BG6H`LA;6UVk6N!V3s@F|CqcF zt`qAMDUx~swL}W9c4tEXxtUd&X(_}QCIoRE$~?TZ>zw`6^^zqQ7>#KDvJibSg;hdU z(dJCcIRyd!l}JZScFhyD1U+gB2ZQ%vl^(z4nA0l~u*dgJ1uc7>uj!=-zL03DJL-F6 z2wrKv>Yi9BKBN<_`lZ^ErzLqDZ43b`DxNyGA=<5%HVfAGuVn!t;Df}?rj zJOD{5z?I?K;s%Un8|WyFb%*^2pSxAZm1p624vK{ZjoG?n zf%@b+af~bH^lHDPZQ+pkqYCxjV`{O+gqxjAiS6_icS>)B!xmzcsO)Hu#}?G_AfC9L z>$40eztqq;%#>t>U8yH}DOrSYBjx-tsEi7-b}MbZ=2nkO#L-XhZo^s#P+0T*hf4f< z0aE0=3To~B=OE18TdjGCzk;Q~w>O1Nv_w=!NGGKPuVrWzu}(Eh;F9&$_-tcenVeEj zvU;!o+HZV1#}zWDXes)r?GPr8Q0&ExmHpmhbQ`R`H{R~sj(}T?1eS)m^%vK)XS3=- z4{OV3Rb>Na*Pr|FEM*YlKh~jmK@b*DS){l}70*p4z`}nzfrl-Gx~H_~J#LP}sHRbCv^d!DwuwU4-`JzS{UG!Xv~flmlR^`#gE zp&fj`RL-$-Xe@!grKEPKY4ef%>X+=)!Ob36HUu7(;q%yP@+q{DVA`!yt)=h8QV63u z?oM!NqQRih9bOPAQkMIHxnk~|`SR&gI}Q}kJof$_c$n$%axHy>c#=m0xFz+h>VzA) zJ^|CfT=4`w%{BUSY$$)HoC$Evlp>K?A~K|7c+FePx|Z54YCd5RcNnegyUF3$m6|pF zn5AM@&M`s#=rYD7X@`|gmi#8e6j!Za-Cp)RmCn9o@89sKkF)VL%mOeHRie9Z6qI=c zYm}l4qgUKEFy;WXM;1hFXC1!Q9{x>I?NmvQXZeY-=dIp01t5$g1YDY&^Re=nVp=}} zssO8R{P&q>?YY3f^tXsv<9Wl&k1a<=8760FfT#0Nfrp;=q)6V& zS{1qqT}obQ2)xopAcOJ=wzD#~D;67{>QfVzCIF|m)wS=g`HJyBG>NML9e%_Xv#f&s z`qPj2;jrJ$Irx8l9fxIPKlU`qiT1WF49;}ZH;B8&l_VhWcFUyYk(LwBdzFThj|V8i zpY~bKn|iT2YsfZL8plif%(G$?C)tvPph#pb2RNYhef7y28Z~i%X20SJ-+L+nmu)8- zUoKvIir9?Gu{XdqpnHKwq<)uI+9PY?3jx1Y+0*ael<_P{TrKeVvLk_krk}1?=*M?) z!{8a8gPx<)ms;sp0V{G8(0z~X&EJtmV9aKhMFd>4IPZCWK?S0^%%FR8miZnE3$ZT! z>nCYGz7jXy#qK>Bee&eZV4tH?aD4ZhRZvrqH{+rH_XW*9NTKLuXHa-9J^H!gce$QP z^Vr2!de(9X-exA)JZi6bI^-JQG_mgt5K=nW>;wr@Aw2P>Vo^qK7XK0K_6mSLGn3huta#6k_A1u%YX6EZm^pBZp ze4hvj@XvAyv|gv_4Rd!nt5!EuOP<});l9%yw*L^il&QnuDF8oVjNH*Sq1o9Us-hPf z6Z@1)1VB=`GIznGzhapORCP4j>SJZ(7aa(u3HIsqM5Q01)5d4w(ku?!U?p1Ho@>ln zFx1R44Jk4~W;cIsPx1GZa}(wPce8ibn;FbVJC`x6(0%uLb0=lNvsSb|Svy?(U7EEV zcJ9nEzL-T|`~qV^w7L|?wA(YK^V_crL-6=XKQ69;%5uN>H3Z($xj)N1nZaa%gw+#>U*4`smndai-RZ7>|&!Fk7N_ zWq(hvYNzJ|nv*_mhtE4rnmQMkRDGqAu+65WK3|$8OYw2Y-uMIPo)&U_;l&%2y($D4 z3^)A7At-rbgkdc6oI#y}Aq39>tHW^bno^2JJYT^!TeoC63YFsMK5x{PP8jXaO&ElX z2<21Vm+SiL7dKGakD&0tc?x+u06GK)AhcGf%xc9)d_726Y zq_|?cj7hB(Vj62^*2NRXk(nD8l$W1J8~tN6%r)vcP6N}rWQ=)sxt&_lQrJ0&n<&{m zA{`Pa=NR)K<@naX{jfcS0fsVICL&8lanFx*zU|pe_Fkz@9pcm%`YP(ZI*1{-fU6G7EilAA|g( zoB_(AS@OGSq5 z6MspLa}djaFz9m5po)R&VfQlPIGQP+im=>y6Ff|bB`XUoK!UD{S8Qc9=5*q^p ztC3!-ASjpo{Ds&Frn+1#SW`(q%ma#*;u)gD5{uGianZ$VmTbykw20(RBwsva9`F9v z?W4%|VAR3pANIFT3Nz4(jEu$7gp61a0l%EY2FjaYOlYPm< zGOrfxSw}I;{O^eaG!&)w7QsjM6F^Vw$H#XJcG!lL1zuAa&q7mkIximuH+9i>H#^9> z`7M55;twB3ZB$J)&+J8CG3cdLqXBT=oVCs2ibcI)4yWT?K~;G-lRi<_fG;zOLf7UJ z0Qs}pA9wu2fk2UblC=tY>oKtwYURdUFb0@PG!Od8i$ntP((J{;TOj0kt(#^83`F)1kSvpel_;zXS7L*7P?)68J3 zr9t@u(0IgFW!8|O1l;RDdCjk&EW#@26mW*ZfSViAd=b2^4U@f&i{$~|FUhR*%+`MK z=rkRVucb*IhCDyhXDPFkTrZNt({--eG_!xbMA@=53IlT&0ta{nuXi!o&+uDEOJx0PeQzxh zi6jC_u?blEr^x<-(Y zo+V>0Kv6FUuQ@799m=MyLJeH?3Z&{;)Fy70sAtp4PH;_`W~+yJO($zZXBoe-j2`Cf zQ8BJ`pO$0&UP%N6#Eox1MtFNg?_5u)Z*E=%%{L5vK6^jE*!R=IC=|^%aQ#CuJyB7c ztcb(#l~ z%pomsO=S5fyidi-%oO!qvNxsVFflxrfoPA zm)vka+B)+2SF#YY#Br!so$cgJE&L&4kaBg?)g8}8Lh|iry)I({CA}adK+CeJ zPc?^210oyR-VKF!Xo3HmWZT~e5j;x{SZ7Ts=56dG|` zEy8qba6f$#{E{VP1N(qyyMHKl)IQAg^UIuo$ZF>;I{-@=Bgf-rNz&})o*<9(-V!Nv zgZEgX?RO_S1ozck(4#c{*LSOCVU$@fzLQxW;|S!YMt9eT?jF&~ij)hA+MO@{7N5vl zfV-9adHWD`&9)@H{R1(aToyGy5$JKfS4{*>DS^s|WN!5|zizHWoa@e#{A+2Dhibf- z_+l~@=%h*Ir>a?ovzO`3Q^Ml#?KyF9fZU6k{Qzf1RmM7Ro)Sua3CE-!zLa^Z@uR|! z+Nl3!n7j{O^k|V{IT081+ISW`sMOM_d%~OXEl1Ut?Gb74%x4wU18ar=P7=_=UZ74q z69iH#=h_~im6#=@(FWWevKZjW$gu5>)@JERdd=*8dBdDD`wNTa@{D-=S#)`BYoMQ3 zeUZgO6&Y2~Q5%rHC#4F4`6i=Y2L?Sf9%81X?`xxNkh}mL_>yn(h!Uq#6Eg$+h}+Q*JI;f(UH z_kI$8^o8il98KA(0+)r+$Ll_qn~@n|5vbJbE|XceeowlyqZt)H=bd`tD@4Y_++}j} z!)>pV9zD$6wS3O|wK2cik#(_FY5e=C*JANejrRL?riyjGUm9<^Tjhii#QvYQ37t<4 zdo2Ub3&1K6mIxE)XS_}~3(11+^C&uLVPpkn}Y%@%70v6bJQ1i@1}m! zZJ;-KU51LYM8!&&cBPE*AVs zVHc~IOx$a$R$VJ?EDTaCaU^dy?7>EQuJ=)C&Xprc`nMiu}k6gZ1urgq?ho{^Yf4Iw?b8<(aFX7Wp8h&mC(o zenDOTn(vnR+a^>e(I?D>ET-J9^KJHE@4s0x@-^NqVd$BG3;&~p{Nu=HCwAK>hq=K8 zcgC$6jWB%8y@X%HUiIy~cICJCd7;=QoGB~Xlc+3AiMwAJ|)?AL~ z&w2PM(z`caWQ)T$FFK9Dn5Mk z3Fz26yh(y5NquWo$}qP!y_dW`+!%@sy5FWJU*Q5dMt#MQ;sN5!3qe`6{9D1*z|W00 zib5<7?5gX}6Xz!$;yj@)Mz-{~oab5R+h}RFchW>D3*c%m6_f8Vb~}E-7PmbPGkYE> zAImjj=N0O|syYSMz*f0YqIEK4wtsjvY4PlYnnmHE{EmszB=SN$-`pr}({X32L%LVw z3KLeZIiyaT^1}f{`#;pzHk!q+{m{)f*|(a#|71toZcW{~^`pDiV}Poka|URWU6r`4 zUL6xw1!Py=@fTggcG&5|@52y19A%y^J`MRgfz1IM{bAe6mW0Ya-I8 zn*UC_+<)^#4Sy&6ygEtfpin6%;myN5)MHL8&FL-<5~E|vP)e@)+7|q8aOPAsPWhca~41!SpUR;l=@K7paLm-@DMl_UR z*9v|0J3G!bJvb1J0fas8zOZ8W_Z0cyyYYZ)GxkLt=&Czy3S-gW=a9PLr!cry7KWe- zgdps}%o6Qu$E`*8qXE0!XBIk=bTy2aux_qKp*@fg6fzTl;j`qkOI~u4MBG(46hH9{ zdTQFaA6*)rN3BT=xUUNo#gf^Zy!vh7l{dco{MXk#-}Zz~0J6*Eh9{$spRb%!E`KmER>^?#z`7)QQ?_9@*deeyZSoBJWJV&l*UF{c4n)gIG%s z<&&dQ)W6V2j$GOV5Px!qp?w5U#0s`#M?^&1G)*9*AYOGFJ~q7X0F|*{-P{?b!d}Uz zHeXXnBw_ilzZxWpSNJBq9Z?oZV%PP()!NbsMyz_nweiDm3xKqy`mJp4nTjBXg@|0y zVFjQ&-u_}x&mI^(t~NI`o-&xO18sQfQXx`om0i&HhO{d~ZJ+fffI}>;w@&%v2;!CE z+}P{}aL4&k(+dl^>bDjy&uc0?%fG`Sq*on*oDX8OY%BiX$*4!!!ODL^iOp~Uy8Thv z@f^mZg3Th@zPIVL2x;bBy~k0;oqY54nQwRJ=cA=GkKO+0UY<+JiqSx_fg_XZGa+pj zvky{OtSWmh@bsF)7V2DIT9r9#7$i5?Ei2LH*bP^iH-Nwc*<3^IS#_gLwjBXi$F70B z&9x+et-0V?u7BIMwUgTKa%>J@D4}AWf5X()(HIF4z!T+VEqzOydE`Acx$CLCsSYd` z?ImNx0(6sdSf?vkyP3b?#g<^S){7?$Fu}Dd3Z@rt1!2M2Vth7|iaKp8OXl(U4yeREOPhUwP7qyuU%RBQ zI-VZ3Q1mubr2y(U`m}SgK*t@clR9>^8HR0L1uai|T{`rVd$1ui09{%N7(%Ii-!C6* zn=~$*8ilkm8Cg;B6h!RfLiO|caq8+d&@3>;nv9m>$#5#B@}WznsnP4RLoqE z1@`}Uae}!VZ3H*AyzIbdNSxSgc0fEZ{U0Mr{;1Xh$FjBqW*oC!@*V|H7hKBz}Lv7NZ?lks_ZHOi)0ir6=cuQu0gLD))w4v+hcyY!-#13 zXIFwK7reV~|E!ruxp2r@$~M}{EYRkLuv%NX;P)Pm zryy&5JYCJuGhEzgdEtj%Pq#AHU~E-ri2-?`N+czh6^13h>Z!9Ek!IJYp4GqGRYA8L z^`ra|h&G)U1M5KX1E9Kbz>&+kFnZgGDelZ&7JpthE=vL^#};JDYxD~eBi0t^s>3Di zH#8z*ba!hemZ#@lgh3MGusq=3V4BXJ(+$Ye!OcRSY=hsyca`-yQq(P34TX$rTYR}6 zDVc5fEEX5wJjF{RGaR!BB-p%*ydEK8$Jc7?oH7ag|IhgG3<0;H`2MBEO!R_DjT>FD z?(_~XE|oz)y_bkGMFVDpRJE%g@Q~i1rxmmFm)C?z2snl$L^mtkhZ&9aV@hB^&7Vtz z^204N-me_t1M5{|RvNd_bmsW8)bF{Y?cD02uo-kAPyPd6a^%aNuKhmWB>$SL$VGU~i~NtfI-rFC1KkMs zW&Hxz1@Ecq_X;MdiXEkK^p$Y(Jtbk7AS^?d^)F*<2lHQ2J%b;uSdxBZclH#AE_^7a zESUUB61W9-g|gH%X#NN9_Y#^z1&Y}@O5oP3i?`Z8HP0IrMv3!dofWKzH{r!!+B2Mk z(0%P)e4)Afy{fxli0UoF$LKd!x~HDHIb(Z#w379QCm61JzSv04xZUVu9ljuV+ef{RmJi6t4JT?sBlVMApA}b@6KE4C zUcmFUw61b08xXc*LrdP7E9uqo77Ro3Bl|S=_lr1e-$IiX->N(zx^y7&8CSDffNcgq z8nQ&Z73|c-uGz869r25JVjPQTPNtUpNEwGajYp?Fu4<(i5v;p&M{xM!3saBuCN*M_ zQNcD2QOfqyD+W|An-Vu?a!%RvyjwP~{tSH^Ci9eo*W^MDOheAchidtp(|`NK|K~%> zEgz45NTIk<2ArnM%J|Md`W#_0u*%oL`0luQNaP~PHlao{25g{`cYZ);MIjx0Xhnn=agPK}{82d_4}cXFF& zWssdt1|8nj5eP${7~WgAw+nj;XtgoWkj7etcrf{|&(fs+Pzvp)a@n9_5u@qsD~Kze zOl%Gz2FM4?ipL(jOjTuyFa$3k1=x}HQvFVk1nADS#GL`&A~n?*DJs5Xr;hc*+8mOD z!2gV9E+Al=^f#sCTcnzL&fypT723WWy=}~*EoWA{+om1uIdH()ss0;I+02Gwl<&tB zSJ^RZX({J^U9bRWT3c7)RBq|J%xh|e_3Nf~N*Rwa?W-W*+0?*a`-f(bDkBcR2;=N5 zf6I$iPbqk2IhVuG$2IUjLeuANJ#8*i_fZ=SJS=0soxEsa_*3%yee|Ar8^?JIU{zxz z;z&WyomJ4k_vdY)sT)^8wc8M{PR3bToiA&OO!&1IkWN9xzhyhGtb*pASsM*i-ed59 zsLmK^F!V;`!Br49vzuZ5l*ky)T?JK=VGmos|F|C^<5-ihYxg!5yw4H>_;d0mJ~Ip67--KNJ~3TxK|DvlV48|Q|7 z&LaXwLMC;fgsb#@7AaPETH16p=I}sL6axQ1bq>mY1@qc|S0>>0<|w0_48++LaRfXRcS0nJd&l9bo&=C+4qN3r`?`J=jb1b96mW7|E=K zsRKX;OfFZP@;m;qF8Z%KByLn}CJGQGluc-W{p#mg-RK~n+hxSLR3BZfXed&2QK#Iy zL+qYzHa44}(?WFa+tm3iU%_(~QW?`f#UNoXVw+{lnBd}h%h+#Hv|4t5)ZuyinNFsk z?+Rcl+Lmv6E!H;$PkU5XVDv91O>9yuEdh&tQ*Ke=cZ_yf7a8hA`Wq2jes`9$z;<(; zlzPVeY!l2?8JgNYq_7{Z0u4zU-}Uzmlr^kh8a5Lvr8V!!`lV*>*Y+yix*# zM0`7R1Pg>8f$aNW2K4kVopc5K@3P$k2W9kZ;=V;GQO;qB{!UjQGRr{bjvq^>Mt`r_ zGg4JP4^1P8))PGs^LXBMXGH7W=o4I@BjR|2$cp7f{Q|_%f(2z+DjiTv50sH^HD165 zCLdXT;L=CsZmg|Obq&Sc2bKf@AQa75CjBZ7KAGm>4Jm&8RBX5BmMNl_=J#ps)Lz$B zkn!GCkOg0oHES4GV`>e77L}YcEq9BE(?K^NBw=GDm&rs6XNHz}K;H1~XYGnuU}Ld3 z`F2|Rk9U;1^Ji3nfamR3g+h=BpVBrCS|@QodrksqybvWX|0VofOPjZxBMoY19<)D*A!6onD#2m*2W~f1-a@j&ca|5xVK&EZai+1AV9mWU7 zZHjTw6{8g+&XcJl_siI5*20y8?T^j}a8+l`{Xb|`2dpsNd2J37t{krbM`HgP-X-%q zf7#G&yZf-d6N!t&$Tv1C-W@P;L?Ml<@*+YCGb{jVL+&ZbdKW@kXZXbt-P=i)WQnMe z1DylW4htjYlke%0O4t3d>|@ob?S_%jx4v^afNoO7;FTF8ZS!757`(z%#yj9{KXdub45@ubZsJT(Df(SV&HV zKg|H%{yp3dU$f2sqO0XasMO0EbliMAV>EARpDEzVqpa3D=ErpLV`Me{EymH+c)tW> zG!lT$C2W+zLyK6Zm$6!K*ScqA;ci<_?PM*_Upj}zOs=5i!SG8i7a3fjpo9W|`X z%pWu?-wze9e=3BGkm3Cw*F>H&+Cs?Q!ZFUm&Nfo}Pd4WuZ^Cw(+h7*MtIB2OlMrUk zsfRc18#40I^m}+faV=B(XY#<^VQb!dTV7QujtBp6mHDn3`*zut%q;M> zom}N|CU`K?iLkbnT*Bw`8PaJ}l)f&9!z1I7WWJoc=$Gr-X?v*rOmyd9oQAR2onEM?}zl)DS<@n>!^rUO$i zE$`&WoRRH|zS}C69~m+ybb4tr!-o38%x6E^$BPdf>ViM4 zkn3@cDc%hpew(j{;4#;roF2fYuc4+@hxEL_aqwAD25~R?-l=hT#f2sCnv{cJ!^e6$@X!%HBl4Sa# zjW)bimjk#j$57{Ou6wsPx1G@^FJ}wzKgwRbpWK(qf_Z86qHpH_KFADdCgG9$vrZj-EJjtbUiEei!o1VIS*worbcayxOIruB;4w zQC1zFapqI|o2aN-T_^u-P~o>A5~D-?Pk&T29k~xA?KIf8tkX7yFW-^>%;*3LaVWUx z-SGB-jH{gIz7mZT6c)#+EITZ(Zk}{!k@8n}3p@mz%xmx~&vjA|(om6?UdkK@=r}G^ zo9lS@=IOd*_*(=iqzU)YbWoxar)Q$SO+X7z{OSo(DVnRjF)~y(m5?pmYxW@xaiWQ2 zmT>JfahLHw7hvG3Q8uWx#Mon}hRsDY(xO^iMQUut1JwuMowf}P81;)e_{sm;`@={- z+5f1A_&PWI7G!qVKRIsN$CZ8l>u6RBgp(YKA#DOsvC8%Ckeo|+-$VB;trB+?t1?fU zy%;no6Q8~#U(Pxu6FYO_Y0HIoECsP1bkfcp^70P)-NxyJrxnGS9Sy~O1NuEu8dFwT zsnKnmmv;ZBrjn|uqA>}qBw9RVw6hIgsB3rNY+e7r zh{(SSNEXka#Pl_ERu(y{0*TyXc3Pcb3eF0T{QmTO4-2$SIm~s+OgA zo?QKAzOVPENfIdZtC7SxhM|;-*%?g|J(b0T#32Dp+%~EfqhVaW{@q)<&QRX$v6`$? zOCrEt{k<*~nMC8j1}t2|$#zKoj0s&vo7W8sI}!*)&;MnDZ_xEnbRL z8$?ak#EyEf0pu3{BUT2YVYERA6LNU3ZlN=$^ZHTni3#g(srmaIb+%1u8~S6v%2xLR!{mBei`zjwdTdB z5FTHzEhsXw0Zjl6)`x7AknX;Y&6yv5`uYSJT>CbWB>OBkmP6^4=CFjTpL;-YHd^xN zd9Aad^@Q~6;4l3Y^aK}`mviHM$Lmlo#IN$@)mwOrmx-(Az9nRsZA-+#2Q2Z90lfvX zap%SZbJuAJ;Vc8ekySf3zV3va2koI?1Q0N3Q&s0ZjI_0@jRR#+N4;4705TuV5v};I zI{ACOw6~GxM?YJF@=k5pCae}%2plKr-7YLU)^k(2e-!{TsF|v$hjVcdgV7pi&tduZ z&6G#Z!Hyq#3Djlv?<%)umWp@;j-@nx4%M{}#0 ze?pr;xoC<;H3%b}+N2K+r(G@%2&;xS>U`>nR7lxJ&7s7A#)1L1=Qv1-%DKCf?%TEo zE)hK?y@`=JF z8;cUjp7F6?n;SRtXw&XCrPkg)8NKZTHCi z+32PE=l1Rm1)3UJkL4o?p0YJs+qSl0-ULsA;%jRmxeTp|5#&jI*O7_N^ch z&VCV4;qp|q)F~;g-aN%`(TZtb4d_bFHt%WCVoTr=j8JRBUk)@|#|;*8AKWep!p{$Q zx^~T)>2qN}{hKqdly`k;I}teIp+iw#rl52+1opW|>keygfy@kewWJFXtJ7~3TymTH?0Po>p9`fltNa@{vdV}f+Wn`jx zQdXy^eXoA8`p8(%DgpBWRv`}y3*IakH=YkKv61is`_m{WL2>A60k4r<+I#uTtno`6 z7X`3x>T7#56RZT8A=U12+VyjJUnN^@AKfLmQ=JOvEcczwKC)yL z46_?B&qH?r!#MiY`-SkkKf6QbdMT3b?JjG?~D3^r1UD8`~MgNsog7j#s5zIqu zC79!nuwu@7arHI{*`hZKoTA}4qS|q4C#-q)`F--SLAObD4n}|j)TN8Ykv`u;w>zG0 zyP{enHz*TkwDeFK!pt9wY2d|>BC`Md7H|b}n?mxiJ+>NK_Bl)AvbwP!fc7LyQxN$O zgP};BwWzGV#c&*q@-jLNb1VrWnp*S=RL4VDZx`X0q*bm^V*?Q>8~8l=qy8%7RJUto zR%C(yc6LBd4Q+)}=_|-Ix+No@D?@)>&`v*nKQ5R48c1m?S3>B32AHv?sKd zThGcqpK@bQQLPk+!Sf9*JS3FqcGdlC@s+VP*}d$^`8$Em1Kl+}d$$*8Q+5D3`{Ihg zQmoB&E|tbc6fgV**LM9D{g3CagHV^8jBq5k;2|6gTm0PLznbKhsKb=#KYRJQ zwOqRyXqE0ZTCa6Bd~x2L>Yr|)V#)+!h5LjEf1jie%2ONXzw4-l#9HqktS(}m`OP-} z{gur+iK^XJj*8alYn`UHqbh8XCf&khkNzhN0kEo80`1B;5TX29BMbvKlxt49K#Vq|6$)^hz${yGso`xA1 z!KRBHO#ZV0)y;6b3tl_qPS$crp-2dSp~uV+(#O6VF2_zI?XY#F%}ts;<7G(QS<(;X zTQTtaqWy{55t+{{FQ9L*L5us{4ZdhSCu+Gmc-08e+NfUDyUL8sou_eTM44252l}TOBsx=cNsC8R_ z+1ep#$phPNkw6s`yRejeHnnlcfpPY0p6ZC&bzBb)-Wa@{9k)CKc+wTt*wiQn`5BWS zu)DLeA3M{}!35T}E!9ArXSWGfF$dLPD(Us;ny!t2V;bBU7Ad#sbKjt`cddO6v8+?E zq?|dwadFV*-a;ZM%nNnU_MYSU@gBBLc>~KW`+nYjRN^Mw=;z;`i;qe*u^A#AXhS<-y?IF3vDUT*g-rL zWU8y%R#w%^xnnt2SAN`^lKc5|-T)5sSxzwFq^+2F**xy#8OW4Mi7f>7McxSyiebKL zYQS)++PA#~oN81-j!c1EU`;6JlxTIS{XG6y38|@GWALAYlMFBspPe>q)Nlp*+(EU7^fKE5KuDfyF;w@yp4-ZJ3cJ z__5+@)Mfqs(~82eu;5QFUMZ7lxeb@oSVp&6D7EQx`jBtA#+4%>Ok!#9CE=p;T=d(@ z@paO>MbQ(1jc0dkW8S%E(&i+Xp2iXsd4g)$lF`TTgZX}H$TK~EdZq7=g&wF)I{LBW zwFGNR?*`>(X@Sn#kIaQpV#~r;K{Z!{ue0`VTSw;y=#w_5fc{{%E~ENc&1$wJD55tO zRK=yFYIWBM5b1+ashV}la7pzX%o)Rf)j9lb8klNUm-pOXfDai->ikGG=YLG%wctY8 zdOwXG9#*Ph9EGG59Hm!mJs2l8tp}i*sD#`S&l{XH%LQ#&@yYqdm(I34B)^NgtmY|x z#vf&I`N@}GdLNCI1`ThPzTFt=R079rv>OXC>heq>z|+10uTOfc=Y_=rVH8O*%p>7= z0cTn8wX5O(**;$F`ghSOs8*dqU2>h? zo-kQfT5pfZncAXRv;^g~wtQy^=R_H8X>&qfye6Zm#G?!HCy%HMIG-U#OB;AN<#Z zX&zSS3Wj>Cvw6C{^S7mKU^3M5@3obUkjZp+mDn{D*b)$Y#=y;!^gm&N>$H74evGz7 zB!0renBg(l#*_k+f7-8O51eYc@>7ml=Rc1u+`0FY#AhFbY4}k{lpMj*3 zaHR^+mrHTH@>-TR5xq&@e6Qr4c<#OWU)C%qE&xdbqqgsNAp;~)|4^Y~Lw;*pnBma@ zvY@*Mwj@7Z#7$JwU(oyCu8_q2iJMy+x~wGuC^F#B?hL3MGZC3sI1`H(dC$q1nT9Dw z$8E5iH*@PD8Q!h5m|xW&C5`f)qICzD-%Jzn#>*_PW>2~#I$`}>H;q~wKnUuoas21X zca>bbDPwCY)j!@$?5f&bW3Ohx1XQHp6yWuT{q8Q{G#$egK7gJ~mUMOjLPm-29+W>^ zbq_$%;9ipN6PCt3V2Vs$EPInsw>vSM<2`UDtl_sw6uM>5q$$DbJh46ZV};>E=a8jt z;*O1{vF7OoNndOg8WXTB7>aGAGkz@hi#~F zx`~@;lHb_~lc#G*65bD!9=?q5i^2jvD2`M0Ame_<)p>(kzuZ1$5^kc@m)OcYAw4$b zV3e%ci;;u(k>PJk!rpsYJaRa~A?Kt`R{jXHRzxM}_ztaY9O)jUfSz+tQOEGTozB)T z3xn|j?zqWRbw9@}U&SBWQn43s`uc^8FzZZHZMW2EoFD*r$&7@k?Y`^lwT$@ySN+sF zT<7?%)4XTLpn|vy$!QDH*V1EqFg7I25N%VhLz3x1q5~m5sGK+`zSChY^2h_rnxe_s z0|~fUKI7x_0)-Ss(qG1MH|U~Gv>!+mf1w%HvU7V!z4H>BIu3jHFz?Wsfr&cXwstiK z3p+-Q9938NMl3e!pY|lkR8N1GON8(tbIZ+@rdxRKHvWud(oGdvvBJA zm6Y@P{{Yq`V_fldnx?~3f5BiCmB^g`zSkPR)FXy!B&C>1D*qV79=dS@b ztOCcQNtPAImgsdz=i1_Ufgw)#`V^{QVwR&&UmL=w zDG$Dr25jOaB&-jTbs^ISxlQ;U8tL=pQ)iB(p4W-``E)EOnX|XtIMryxE7n~`zjB7e z8q2}$YMk?qJ#v_2A~%AV zIyGgcFI~(94nUZG!Mgi^ zQcs#LpxOKK335B6?>%BeM#|BXgM<4hQ-6(;s26c}8df)BdedVFo@fmT{rJpwp2bb2 zC1cyBI)Wxuw++P|EjW^yWcZzd=M-zG_NXXjE!H6)ju=u;f9jQmgO_WHWrN*q#GS!Cn*Q^jK%IeYideCp)FFd>3f@c?Ti93YoapLm)Y9ik;XEddtx?R@%Y_LMWzGkfH?l$ctKZE(LZ^E@y> z<*CWKh)A6_$|vmURIYs2C|KJjgHH4|BKwR9^ylV_9g{s?u6;xEtAZ}aIbe*0i7z4G z%oW9Ya5tF@*rdmgVVa@XUiO=+% zTeMaW3G{Q%gFX{k8d=TV5As;I^}Z@T5!C#bRGOk^8zB6*;HNC$?x&7Ky?XeT#4Ruw zqvavAy{62oC9^WF2F=T7*e9?s6V=z@k!p07_VR#6k?2z6ZZGQsDZ09H@ETE<$;prGoSgVeuFZGIRjd97C~hY zp(6afe6Cx;|7o5)2UT0-IsaSyWfc}WoS~C0&e_f$sBm>;q%0QJAjHStOfV@lUDxZ~m$-zN6{&;w2xm%@W(%D;hJQX6vsm{$-a}N6kx63z8M(@M~LRrJz+94 z9;@3Y)t8sS6URSOvd_XM$p${|(@@sP_2(}OCN=}F51Lo}dwD8F{x`|J(D{ZbIl$AV z*(AIdPb3k-ea8#rDp(B!gClKlCuVImy@moNEJ^!Q*O4PbzzYy+lYl1AZId;owh_;n z{0$??D8C;}m3jUxp)X;zh+EN1cz^RI{cW{FyEJ^|Z+7`4`8$AnoNz5X=bY!Q4+GG# zV&aF&H2m-7s^cPNnjg3Zur?wxW4N?mM@D1tl?uVBKSKWeyYNTRgZ9dMZp@PUBQpkI936>r%AKMpo4>5cx!^55Sk_$|V#lS?-OTUD?#=z$w1{LkyZ(XV z&%-BPgifYTyZL{Y(e+wZfhH!{mwJ1-*QeB&EaON1(n}7OkIwq3`GGK7yVEb2*tj(4 z6yLq^?gw&chs~0ms=o0$x)&$c(&UW9vz2$K2!xAm4nc1jy);1t{J6K*MT|!Pn^g*> zI1U~?3R}LnE)!NaoIY_0(h>^@!ie6I>w`uy5js|`68Vb5IGX_(7hHJtrn1VH2-mEG zBKoQG=h21H2E;SQC4(f z1VIn2$T1h|x)XpO(UX&!Qlb1ko$YyY4#Ff6dF;{CP>kX>jwFh!o!cC};-9FvjY%Lt&fF-X*8yt8kGGX6hZLIvF;S~v^g@0r zZLZj@3D0bzX7U*e7MqqIYh9(?5HSSmY^hvRJ9&vu`zg80mzm>WH_arK?=hL#c0=y+ z_<7_y@~z=!@<7`vc~huttsFp1DZAw4eBv~!!OQsYQdxb%MzK715|A;LNScX{)}q93 zKhs9b?ro7l$fz*`|Z?JfJ^lQhG zD_ByW#!fcBm)L-%tw{s!YJx++;6)z1uYdYrtJ|{d zR!()6Yw%j2n?Q5g7>exS$zke&i%W!kiMNvTc!Ar;ZF^UobOC-SzY2sr2u^uE*j;UHv zY4?q}1OEe?oC$kV^NXfyP2aL z{Fv2b-A1&cZ&Wcr;4rle96lW`u5a>Gcx0sI!d9Vn5AE`gN@gr)u}<&bf=>kD5atNr zt?4jD!=@@s{9|)UUFPG&z984~)b~A}V%>W|=t4OPhn(FZsUGk;ara>#3Mp%qYnE~< zl8TAIP|aNNPE7rIGsh>vKV?tB7YXnoFPl(8bBh_6onoFLrh&`vgDgXLGdqNV#2Ll^ z?OG2tQ{ofd6EiPg)=_yz@lS~Z{~k#cRTR^t#4vHoI^nCw#Kh4Ps<6q<5uIoC808aF zw*TApX0*`aIB+IcsHW1h!%5%Ga}%|ERd^%urs>>Eltux2Gw_sBPc05A5%Sm2hkV%1 zJOJ@OAo3mFiQgT zwJ=9U`)8v_I==V5s(1uOH|0CV(1HMpCj+cAkoh+v{f&wD-f1b(lg7(4Z~ZqVyAwgXN4f;JT%R5> zE7E)?DTY24rVfry$R@?v$hsrGvGwfb;1q~6;1yLHzvXt=D)pArcP#63IeWy+r>d#& zVra-4Sud-&A-h?v5X>}e{gRJ|&!YS@`@drRW)7`+sJq565Dm`3)@*QE&%p6BvAI_- zi(Wl(vgy5RNwgmo8j0-fCGvD)I93gHa|<@Fx)^0{zN}f*WOf7u?;~~c&EKDhVc}F< z$SiQ6))}%+tM|M9&^-3oPi~KS{eT>~ChMx6`WyzhL%jJkw+17m z!s{Z0U-BX~tACbl=HdyQ^sGO}R@}mUKw~ZjhL7lB@B5de$n())wq&Y0o?Ou&COkdIjFDvMfY=x z;~VR4;>Cn{-=1F@)$q6|O2!`tU zu;gNXfQp5NR#%vT7If{43Jzv8l83mfdWNZ;L7RH8Tx=kZKYh_^M*8M8c61r5K9Ck6 z#U+K?6Qd<{@8!-C$`P=)jroNJcK0==0DSlb(bQEt@*I`TLv#K4^{2-l*s^swZ@oXa z_$Od-vtCqiTc?gbOkU(v&9YX9drVcNZBv@i>9GuFOwM9IfuL=vhk2`7@PXDwbh&*w zzCBdom~y<|qqud`=(%@+E;a9>-2js#x7pC>xJOUPVfsR9oy~yK#mep)4Zha{svEhp z%ud}AR$xOfQnpbpqmyvRdtW}TYEc&#EaT5M43+WZ{L_GjQ_b^rprYR;^MHdZH>V@Y z5`#-d47JXp8{b;f)pBDhO!!uSgB%0hua>4y5|KgtM|-Xb&pKiBt;MvG3Ds!q5w73A zdBo?4*^=Aztqt;$oQGh7F&&&DNVEhtM$)R}iQ@TWepCE5ZK~{f>q6*oOl1e@Sy>+B z0cENRcXIqoCE~1g#g6vL@w4=1Lpobiuwd@1BKI5|@oEkq7z00qy~GHODdB!ld=OGe zZsG{ZFn0?%6=Q%nw-GjBP1{bv^*2hbgf62TLg5XF%$o}9Tl3l`$D6307?u*>E1EF+ z?23a$MSRa|Qh=LJ>BnIFJ0*Y#Q1jmgUJp(>mu|c+-hhANCVR`Gb~-P6Ii!knrj>HZ z^A|G|$%LuxzSWs(UfX#5`92*;Rk)G;$C!Y31-2)*dTvan-(qU`$cCHzr0j_72o^rQ zJ+Az3q+u&;3mfyxrxG~AS5H;CSfeeTz@0UsAL{h}psQ9l=ayy7X_tiASkwg)cQ(B8 zgv~)DTW(H%M#XggT z@hNhvJJmcLgFIwIuuIFx8eOcvza`I^Uk*Y?Sj7{?*=Jy9#gcifuujSNGOY`_YFOIO zB|cc^JykH$i6f-}ia*k7c1+4kCXaLj@$-7DNW%PRv2XC_?jG0X;}_0IIgtB%NtHU< zrM!OhPFnA2^YnvNV62c^nZ#b(3hUUjcjq#XL zcBCn!*L#|lv#M`shmzU3ZC(5h0Zdk%x^iy$D%0dc>GWrHQvu70f3Dq9Ab!St@n+r7`m=OV zzil@@d#XfVDZ$}srdpRmm?8)MVyK3GLAUQ=o1>XenQf#>OnD`H$zC!2``wor!`mh^ z*|=J? z|CFE`gTre?bvw;2T}IvapDVX&YAkvg$1Qx{6s2O?Juf8PN_azNUSI-`>oUHr>u`B= zRFn5(!;#e>|Hy`X^9*NH6T98zlKXbzx>21-IMff-MEHI5SG+nysI%fMc_i^n`1QNz zWp=NWzG*CSWf9zqHQ2yf{O0agSL+tP&vp~)jMA(|D*d3V%ktZpmfw8G>OzQmnuFHU zkZNd zIlARN=fqSYn89i7f`#z;FzKxrrK{ugw;#o_M*cO$;}BIZMYULEj}sqtm~V_|HrE%Z z5S*RsXAN@)zNHUGK?N{Ha}+kn#;5w=3o=LJY*f`1#!`5fVOQMZEnuhwVmB=NrPJ<> zO)Fr(WrtC68d{L-Xu?&M0uu*n<>l15Nf6uPwVC^(txMgZ?Goo2O{3@5O@L^(CU z0e54{wWLT(ubcGDQgrFWrInH5{e9)cV79&@eZA+Z3$G^P%vE#CRxWea8VJT`UgH8% zXP5>j4sRK8?IVtvq1!hz6otxDS<-o9x8z&O5S+?Ws+M>>O&LE5FU>I8x?^<`fKenz zgtScGNw@rnuZvf{(wr?kz{X51-^emNk9f9rxn;;CokOTC*61bdKtz?@SNyzcAY>qP z)9Y~wo&03?%1ZQ9&TrZ<=~hPI%r*l<-NXs-yJ{q(sgRbrDPT!0XKuT>iHUAm7)kou z!ehDtA}Vh;UA16?m1(}<{{ZuRI@Q+#O}x~alTT94GG{T`^PUmx6o6isrlk|iNC-8| z?3B^Ww#P0JC5oS6Ru*Q6&<=<4zT;N8Rx$6fZ_#kxoJw6^#CcZg;>VVAE)p6#=XSc{ zR*M0L()_t`S#kWQiUoAIhK;aP47KvG+eMXs%gavznVssB5)!oU1L@YwR1*l+M%HQ-T$x9rP) zsx-m4V>|t~va+FSpKf8se;?S zuRP*JI_v3a*4OnYq_U%P2#h;5#Lo;DkY6I2R_L;9o-T9(WfY;?@>_6UQ}%b1+HY zFoLXqWTiC5{U+Iw2;wdqpGJR3q7j&dxRWL7j^~|rk8R|7spW{ml&=o%aZ78yO1gd^Mh17q=P0!n0L$7fesqEunG(cav9<0QugA z{UaMLT4c2uU7+5H5`dhg^i>>&3R2(R`vg38gL>usPTupQ#pl0xnIwrUR+Xxvp{uB9 z%2XxGDdn`9pjPFOu4^0UKx29tbhoobfzI!vxoGVS?j%jKdWz+)e*2wdV_bTTgH3zj zbi^c{*6!gFtdc}M_2tGu^eMBmNAS3o)g99O>i90EhkA!>&fh7nIP?O1Ki>u?#`m^s z!V_Q@?uL?m7Cd!_medWCP*XtPIm#toP{EnwOcx13jU;?$OnSdyi2;{?Ibk?u0qoqB zfkgJzv`VjA2pjYXz%iX`IV~s`856PuVOa!^>P|Z0Hnwr!<%*7sqD~3H;lk87P zo4Gju`XG6Vq98 zvt(6O8V#LJQ3kO(&gyNpjZPD6Dy-Et10JOBl!+(xXo~^Umf0%23-r_MdgWy|d9wrG zXHdYr@4?G?m#dYxiHYCuiyQdTT6r<`)jlrv!EGakH@{KFD@VgHXDBR~o_2V!&vw7c zc4}`g(8j$^shF3y4ThS6?)+`+e!Zy2W1youW}9*t+8OziTc~Dsq1bRkZyY%Ab+c6< zE?epUzh@uX6Ye2q9&}Fw=tW;l1CmKG0NCu{$ZUK|rhj1;+D?ZFP{RnsKwN##@u7$*}y^{5C?jCgf3^*L0Puj8J+?fgs7{lg!(u?0Qy-+N87O zfRr8TMR;es*w?D=kWg1_$3b}A`9ZC zX0R`CsHgGbMm1l%Vj#k0=`6wph&;HEYR`DtaiUo`+`NE0>XETu+(_iq+qBgVDs4h2 z`P@Ld{++tn`z5k~!*b=x^vUika8-F#4A&P_84k}n@Zb{i`}OAyO+e{H+Mr@xvF#Tl3NsZ8={?&K!FF{5_pobygCPf-t^bb>I3VflVZ{b7)kD znZE*@9?56UhL>Cl3;ZYMFROb@Fec)Y7&k@wYnQZG@v! zRU=C^^Fuu^M@s4KJNIG+d(I<-Ls0d?rK?}!fAlr3=;n!c*KQMqpGHCo+nse<9WUu6 z4qzD9c^ERo_{-O38rhrITlV&f5iR3jA=pXwuVJGPB&V4AK?T-^ccyj~x5 zf7|m+ad>r)L#F7ENccE4OdW)ff@xiSa}rcl1Jrd1(7Jb3Pg9(iju3g6(<3#o$JVp@ zIZE3;URh1uXD`?;9_89e2Tl}Wj5twn| z`X6erXV0WK&^Nnp&+$y2M6!fDNSmrPp~e+A>%UF0|3efK2TgB5{pTgf#ZP;G3#3NI z&I#8KFC6-=%{nspQ8YcK3)8}=O-ZZ$|4ZAQd`=kPD$W5&0e2)ItrwOqgnCeO|B*Ux zqRU9*c;yIDGx+>xXSBK~-6;SZw3oi-Yv9F6<7%uRf72fu0{0O%vEw+@&uY+OEbJS3 z_hXU^wtU@%U08qTSekP63P|+Yz3sJLiKqTn$P(TEQ838v1p^5X7P_o+@tu;(3eTFR z!-kL8fADMgO)~GiH`w=jSN1?+!HAjizX&H*H!270b6Egw-bn9!I z&sPAH>4=Q4i&PuW?{rk2F@}?Z7_2mkh|IXuY~^gKTX_h~(-nx@fi3)#bNJdHEK+10 z(ry#eY&s@ZY^QtyeUQ^qVj}1ji1CoO>n?+pnec=e-pc?M=n7#%z$f* zy2BR#I}Zi9L1QBKDsN2%Q^ANF0#~SV z`M0;1+rOz7Ap|ur8vo&&QKZ3khAulhgv}kYafl}A#6V_T>Obd-AZtA+V5)TlQ_mn; zKOgg6Nj$`J>nh2anvIqOq!b=T^zV|eS(V|9UbO*NY|Co(Z|X?t-?yviO4%f|M(_W2 zalh<;G3}3JuXe=+z+b#m{qzGA0(j6NHr87`Qn}SG)e8v(HgX#{e*M2WXW?8XZWcRH zF9FwSjke;+0SgTNo&E9H8_@_74#*<+Ij6hI_CUA6m_$&p0q?qyjM|Pwn(>#eownGd z=mNv%B*DbF)7vc}8-9KX;kAJAzt0vq5QAi6gNv>p^yaqw3fkOV9-A**E z*=_e-*TP3F5LYiQWfKg;Yb(bRpdJa-kXi6^F#~6>?+f`ng<7HfDq(`xiI}@BO^-z20+6;GJBylzl-ImcCM=~GyJT~@0A17hOO{uU ze}MxGIoCJDdXsGNNue%COA{(Sdq2?rxjea-7Ae5@`VO@7z{wf8tjBlS?XAs26JqA$UqcGFkmrZFQl_Wy(2zkJD_ zy`_rL0tpw_F1tNjl}EDm`q)z_u!~Y}clcn3e^aeC$~hvZKMNhBt(hLQ5el$J#n(JY zlAMlQ+QvK=;Dg{g4WB>Jv`o60#$3+t+5RI_D!Toem}dLw14ue(t_!$CU(2zMk)UyB z_)Y~lN*;Fu!(>vDQ+!&?-oPNr3H~!7QeF}Bu-{~Me<3xT!PU)Xvlw=@b$qfSVtP@6#>oYK(b|k_;a_s? zo~lj>^ek2x_@`H7$_l^hqVFhWpJwQ1tKI16y;sgpa&5ku+y2a!$h!mSl1zHm!Nt2J zJQoEQbv3&5&xMPpKIybf;3W4jF`{C-i3eu4p{1WBM}k3A*sDVm4vm6|tfYoBfjM4S z`1zZ!66!B?vRD?EOn-%7Bcwm+vazt#I|eo`K0DdyUK7x_LnMY!T<;%cd+S zK-ldr!xd^KSvQ4M(SXDNFG<)4CLITAAWsmmAVJSmoExkv5T@a>9{E ze*nE(2>eNsWWB*LY|ZeIq-&?AA@FOq<8Ka3m#az)h|j`zb+<4?^^{{5u$nnf!Z#x| zsA0;C3W?f_KE9K+PFDZE>UmN_III;&$Z@vr*XX9{*wRl+C}{5AE{13IScx(Pc(h0% zx@sc61Dc~^rf8vF(tJ>8jN?;PO#4*B!;Rp!q=p8WgiT%!4F| zVqrxyHJLhVnSja|bi6&<*q>#OkPOW*?KtvmZg z=vMMxtS_g(d>kgBCxDRS&rZiz9uBV6XhI0A?|WT{#66mh`0gpR8`7u$-s}aBKAMU> z;`x>J!;;ZyWNOfW_sdq_f(F(H#pjZe-zFuG(~5RXQ;ldrh*v;+&upZmSjk7| zqQy*3g?lGa@1)SiBm9W@%Bt)MZMV$M2dV^0|0CLe5L~sG%-AwY$Fc}XxNY$!IjLt3 z2OP`jxy8me=sQl2&i%r^uC3GMD!Zx4wcrqvCVa@tNcDSG;>+qjk0P}oR$P_XY%jL!gJ}Tgp2cOC=_cA*|!5Q8u+sq@6AhF@8 z{=5!J>G<`;XbnH%4;#>|v7Kg8t>4$Bj2e2Cdr?*GJNICY&rUMV1Y|p(WL}-WkTn-( zW%7#6Vp(0ALnb>5Wp{uz=%1y>?EdB)TcjY=IYnRPGgM&{#E*{`9Uy0XbdMcylZq@mx?$6+i0)FQ2OBr8k zf?w_Fe-SxIP%BBc7ZWNW*Ky{W9r8yOJ7oUEg_4VY=fxPNLraRYTt<4OdXjL@*@kH< zpyy;q+_ccHIUW4y@v9aTiy~MfI@xyUe)EHRZHaGI?D~OuP_N+egUHi(McZ26rIfvy ztHd(_kqv~4K4Gh%_%n+>MKNc>{yG1-c4uJ8S*QR2@xVQ@yu@7|xR&K!5F)Yk#|3Ao zS*ll#Gq+K|dApaaslGJjjS*3U?e+F9X<6PmQc(zZ4oLS3rSv%d&GB^rK6dTE#uDty z&wb-nfPqC_V79_(b=cdYi=(I>N~mCoc<%99g{foNB_V3~UDG|Dy3l{qJrz--}n1t%z|f_eXr zIuYD1eT5ps1~v>&C4C7I?oL(>cQ$6udetQfDhm`sGu+`WX*#lCU z9G69=L_wH@TQEuhdM^-}S^s28eqzOV#4EQr>&E62^s-Pn)%9SL>Bn@?_6ir(f`Se< zsp#KgdNfglAZ463RXlYf%IdVG8={KMEm*c+KG<}*353=B{wGd7A#9Bv>XzFqv}F0j z)CJ~QkYYfK(AbpXQuy@`KQ5oNtfZ+XQMLj%A6h}W`;#{H!yGr zO5GCF!VKe()^9q0#;XL1`b^-P31V;6ZyH~5#YOJadgV+s$n}Nxs?<z@WvMPcVIT zy1v)GsU4c&28yO28rAA>x_Q-7Lrahc;d)lFyWUHnCxUDD(Hy?}tvzy7Hs zfE?=@w-b1nBLE*P`Y>Z%M#uW3E$e~O>vsbXab^5M^o7Z#*$_Zhn1Xj$&zV_s-*p%i zgbEnjm?^mY8HEO$lV#XFJ2bV+Cm{Bx3CPJMnsD!q_HOjqRrE(nB)xeP2s}xm5o02C zcJjidQxG>G>uIFh@7oVzvaygBQ{eZ4<1^lgiRPY@;y|#%MN9;SuS|b|^&7*Hxk%b3 z{gmlR^B*Z-IixUnkkKc=kN+ihHa*W9GTFc5L>GaJjyo7lIe_RE9DjK4g|TY>d*SAk zzfcsGB=H#EGByOLwcO=qA_MGU+wh6pNU)CP@3JS4sx zw_(==*k6B~XDe~V1qkpK0~crFvBPn`pE`M3n6JZoMc;eL>9Tk+OP~V+fcX#qs~$Iz zUVwd`dZ$J;jidLHNMZ^Q7!a{a5HGK(5|3kNZ($}%vx?nbC#&$Zc8GOg(`{n6x}3G4 z1Uv2aQMLcWf07+d8y7B&n5HBn{qwNs>h6Lioj~$F%>Stv=Ej))#I)un)&qOovL0c7 zZ^0%#I`j=fS=_L--RsbfP04bWh~Kc<=oV49Dd4%+w!X4CexJO-zT3o9?m;S3=$lwV zeu-{!v~TLy*0@UzLy+Q0ith4i&smx#uplDA94fja25~oIuD_Xw<&q1hyTm3?O&hn_ z8aumb8!(pjY?YGuJ-xc?XyW;b)g5qe!zI1`Um9p9D;ZAO_?|5kR&Nr9K90^p4er`YXBDc|x;5I7(y>4amDnudI17{1jmfEU zt4jK+(ro0mX=4zK+K_B&T-$a{x+1tPDQ)cwmY!tc;7^H1cSWd`?d)7z!F(X^kjic> z7nV$)sRg`dFj01mRP%eZDbZF~5!UvlUmlq@>tY-LV@lXtNnIS9TQ2>y#PT#z>%~(K zq``SMv;SXvUmlj!*7i-7HrS-4mYSBDr8tyhX2a2((##ydIV%MfMNa0BBMrw&%{*3U z$}x{arXZThkYaL9X{Csoim8a4Ot35@wM0VbUG|*k`JO+%>w4esz21Mm>w34Bti@)t z*lV*`d)@c_yMI3h2+0PufNXg!Lcu~BTKV+zf)CAV=H?`{Z$|g569~&6iwb%5*CBMq zU&3=rIa4R334o`p;qJ1LEoJ{wTm3VvVQb3nH`gliO6z72`2q!}lJhd22q%h#bf7gbqT-u5nTbkOfQ z+3sUttmX4>)CX@_KHJ$<*{^9(_&T#Y`?5T}z)k%Z>QsBux>@(eCi5Nwuj6#jM%t07 z_=2f0RkFvuGoA<-J{*1b2PM))LimBwpMmcvq=8$iMl8^(ws&rp9{ywj+~0*{H)1K- z#`NK7>SHQ%A)%C7Ark;<0svvFo0^G@m^?#Tq9u#{&6@+oW}|OQU4~0NR7O6q4BF6L z!mzjQ{dePjW)m;OZz}>~PziIx6RBkmi}?=?<_N3W8ns~A6Bt7SAC ziw|U6qz91&%^G{B;hRI-fu@XI%B8OU8O))h8GH|VCsGo&7_;hWuKiy2pr|O6%1($* z;JjiN`f=z|HqX7K&ek9{PU_ADHCJwM3S>2`02@6;Fv>)5_lgIFe2$FkQKz@2b{EFdl=^;=WByN%2104_Zv&y6A=j^vQ!^MuR=cL=|^;ie-| z+iZakW9pIGjNbUo+k{u7CDW7V7p^jlT$yt!6<+iud&ad2=t!v_v8m{GkHp-}*5*AT zw4U*tF6D{Y=&r<;Z_3plPO#d*VuAgT6~6u425CUji^dL3;7DllnH=f#AtLiyjdR7Q z?K$~2b$W+LxX<{w z?olv2cz%~2T6t1%{`}w9UHGZ`l2M4mcSwfc$Yp%u`W!}5?mlP$Cxup5$1r;V`jy`Q z>qNIS;ha$8Gtqlhu@;^@mJQJl8rfC@wufiNKe=1c1Y zi>sJfQ>5F7ZEW?bqd-!xZh6+?BWW3Mj~jp7d6Jxd-*{YYDEL;bu~Yx8q)I4o>|=&_#M2%to$T*%kl zL_Lqq&t*ISn1M`B#y;f2Nz4*O_=v-Au4nO!C>LkF1}XuC9dL;N7rY9Y~(5>%Y7I+^^%rYK9A-3tDTz{e*3L*NxpXMkxwY`Qcg~#B*lQah z5abqo84*&Gy~6@K4tdVG6Q&2(RW#d3j%H^Du_||s90h=I9&G1!aX!#OQ81K@w0TJd zm-NuYIl!T3VWe&&Nj8^Xbz4)l{>Vo_RCmSQ_U41&?zu^@3<$@{|4I@^W@|8@qtf z!VE4f&39Z(ZZOIw*8-M^65|cGo4GHhryqlGJ)$P+&%z?6F$M3a*{Q+ho;aqdCZF!# zhTqyS4m^JfwcA%34uQ3nl-csDiUs;RTOL$QD6qm%>k;i! zX1`}s)W_xFPymmza>@(Nc#s*^LLT1Y0<;=v@uXv8t0Q&OP+*k!t%}VQvwqSsX)=P% zXCmYpVXYLPW93pGIxut*;ZbJE9OmGP_^90mxmOzBAJLjc-26Bh($nZ66G%ycva^<{ z1#tT{$UyJYN`V?uPK}_M_35Q0Z5Cv)6gD^>F1=n?X8x@!q(Y0am_D@3-?#r3k0!F- zsrPF+rYOc-O77b_Q!f9qo++C|ylequ@^^Q_m6TNEv z+*s!HNV55?^?6twGgaN>%hznN$GkPN9&xanL!q}ec@Dj?0Azy1i?435ZLApTJq**y z7(>u5s+KZv(0)gx*HeH|HYS355?(+Wd|qJb5D3(Uzf~d5j)aoX+QqKzI{~i-hKhOMY9ha|Xw^)kjm#8bx*BQS4C|QaP2+YPpI+$FO`h$nwfe7V9Sd-0DPvKHVCrSO zeN-GON1(~^uMWR$8F~<1Ih-O!i!&#~+J&A*THX)CI}Qcboko4T(|bXWDteMD_QukK zcALGJPcnb0Yzcl1g&yjl-qBew)&U~HpfT?|#7tPj z$f!|plP?H>q{DeE{g^_SEo;2Hu2FBPo6#X>MX#w2c*T!QoZljltHGp1=gaLlFTC+f z-EmASk6T?>H8*|!vHP4yGpBou2jtt?H*q~VIPTe-$w&CoWvpN8po`)0_`+RY#)^{6 zpmREeirsKdGY7l0dNE4jlhLH`Do~J2n*r(xDC3WhG?4dQWutlo8sLFSEU8$tj>K;= zCZ=bD2nI;yI%5L0+6PQPsBB0+4XgkdUd5Q%Xp0`>U_~W*H+JTYXtCrrAkT`P2{@G> zpD{7gKiE!eE?cZEQ6Gdpu1agI0-A2N;uI zGz0hf=&OP|88YCNZ=qBStHf=i#(_ZK0zv)v6ZG4L1#R=dr7oJaMpdlPG#iRO$~Fgx z4`9E#tyQBEL%MhXj)%ideX)Ai-QxqXhlA%?V8xNH`$k#S=#lcgMF}8)eAZ+U4g0b-OS|!7;RNL%=w) zhMRkbhX8tRa}cSbc$&J|cjweJ+iLeT92w?_j{}CL_nywrrUEg#ETC1S z=UFdkGo>J8!C!5fVc5i^_&uN#F74JT2>pPl0Vw+Z zMKv(B4G!LXdUeeg&jasV@&@p1AwAt}YXv}AkA+q`2; zw~0BbEr`6?a9KWoK{uecz&w;Vu_Vj%TuKo?DE*41nHAU3(Cx^}BRok|SDC5yrKELg zL>JcDvpL64vV*SGE0IbG6@Za{uuoIHF@xL1_{6Sw?ezjK`8?Qf`}ttY(6+nil|4ZS z-Hy|dO|i|p@={bmK8a{iP5ZXSt}UojoAB`sOG>wnuiiN{I3fSGyuLZzonCpAaz-u& zbENM=IA0I#X`9|n$$Vw!BxmPoiLg9V*QSj=G1$#sah%^v3+s(4I44F2(tjq-jXQNS z#)C$!W5bP;59ZmnA9S9R&+uW479JGdMe0d*c|rIzCx%*;iQw5|*R{4i;_QXNB`|Cj zYReOr{ejHs3Srm;5uhRukvK(ys>|vm-*kErpEDmvaIORslGUR{y^mdYrc%6Z&7~Y* zu=mtg_Z>Pav*XBOaW{=Bj~kkgV01-Rxa90Z&)YfxzwB|as<+m-aUnlgSL9Ak+kav8 z$X{Vk!H9$BBhAiWn)K1Kcivx-+J6oFl*4#}!ApC+rn~LhgR4|5Q!66vIpO7%6;gt1kOz=9#QE+ebmgSrG_hrq%#KPu=1j%u;g zXd@D%>^c`r)GX)`xgca$`5VRg)+vq+r7D&o+--f@>Ev#vts9Q&GJV_+4T78mf$vm?vdZvq7G}&DKxyIb9V(1 zk%dRE)YVRLh5^UT*Pn)_ik2K(TG*|gCh+rKCN|TL%-E7(44Bqm()@NCrY7Tdm*0tb zD?^4!&NKqhM_ttMV%ouutj}m*w0xYR=GC?u{aAB2&(yT`2xSb z=9%Hvgh&K2szs*`|BxC0prQ90(@BAp@HZDPdPc>I@2_pml{>Wj694dX6_dgcJ*bKO zi&SXa$a5h88gE?hW}L6RKfmHHk2qU*LN^CHQX6F;IbM~hlEO%oPn%*qcla4eJx`vS zR-+*s9DWiudOqmwq7ZU6TuUJA_!Ec|6?b|!ra!$m#WG(t%}!d`Zv z`r2e2jq287!OTQ(D3ZHAtV1RseW+|JS#TR_=^LHq?s4HZ$B<48GSR9R@v>kz;f(*2 zfjHNtCRDP*floU!BlBvWY%EsW5;wZFqr7aVgy=M57GdYhFMpikP^7le0eQnPyV@lm z)5ZSnuWN$I^F?qLqK0-4fUejq(=|~a(~l+#Iw)E*L%*iKAQR$C6^UbI6U2o21X(m5 z1^iee{zdvzn$0Fg^OBoP3U+yIHTYp{;t*mYskqE*AWZDeIUNS_As4KV?|7Yelcn>P zYD|QG(A1~&FS$`)r<~yFEkg!x+_9-klpTDF3w#Gcg2bqj9UEG|IrXKpcATpBd2-zg z*9H$#;MSiLCc|aAE_9)tn3ysQ6Mo|af9RXQPQJh;1+~AnJh=lU;?MCBsANNa!=hW_fui^x zmh&?{$@ay;+f0faXw`e|mGqSKzTjC9DcY4&2R9t;7zS3?SwnseaaUFeM!-lCr1t54^lPmqv>5X-~g+CUY?6rsKe|CpX{yVK#f&Q#9^8VkF+oRjqsWgyeAc9*s zSd?YOmDs;}z!hsHMk}2o+hv6NG!HiLTbq+^`vZ!5ZoNUc4?>3la41{g*R=9_fyZs< zBRn4DqB}$@Kc)HdS1|PzN0}|Til00&hp3`9CB!mlB{j=11XU`!A{bb5{P?i*;3#Ut zT!k&SNX7%cF4CQYm8ae}v~D2&!81uKBt6dgSUIhJgSop2+}W*nMs`N-jPJflmR!1g zN10M1P{`}wC&8iqNNlYGpoTNfwdy5Ykg^vbS^h-+peGm}pgrYTJv5_UB {qh(K3t&FtF-ZZ?Wfkv>!ay&{aSc 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif b/Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif new file mode 100644 index 0000000000000000000000000000000000000000..49b3e1a1332258508eeb8f5592f5e1ba70586f07 GIT binary patch literal 26862 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 K#r~IGGyetmJ%j%M literal 0 HcmV?d00001 diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 79630c773..99afed52b 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -416,6 +416,54 @@ class TestFileTiff(PillowTestCase): self.assert_image_equal(im, reloaded) + def test_strip_raw(self): + infile = "Tests/images/tiff_strip_raw.tif" + im = Image.open(infile) + + self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + + def test_strip_cmyk_jpeg(self): + infile = "Tests/images/tiff_strip_cmyk_jpeg.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3, mode='CMYK') + + def test_strip_ycbcr_jpeg_2x2_sampling(self): + infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 2) + + def test_strip_ycbcr_jpeg_1x1_sampling(self): + infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) + + def test_tiled_raw(self): + infile = "Tests/images/tiff_tiled_raw.tif" + im = Image.open(infile) + + self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + + def test_tiled_cmyk_jpeg(self): + infile = "Tests/images/tiff_tiled_cmyk_jpeg.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3.5, mode='CMYK') + + def test_tiled_ycbcr_jpeg_1x1_sampling(self): + infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) + + def test_tiled_ycbcr_jpeg_2x2_sampling(self): + infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 1) + def test_tiff_save_all(self): import io import os diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index d12f411fe..ed29c4aba 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1053,15 +1053,16 @@ class TiffImageFile(ImageFile.ImageFile): "Return the current frame number" return self.__frame - def _decoder(self, rawmode, layer, tile=None): + def _decoder(self, rawmode, layer, stride): "Setup decoder contexts" args = None if rawmode == "RGB" and self._planar_configuration == 2: rawmode = rawmode[layer] + stride /= 3 compression = self._compression if compression == "raw": - args = (rawmode, 0, 1) + args = (rawmode, int(stride), 1) if compression == "jpeg": args = ("RGB", "") elif compression == "packbits": @@ -1261,7 +1262,7 @@ class TiffImageFile(ImageFile.ImageFile): # build tile descriptors x = y = layer = 0 self.tile = [] - self.use_load_libtiff = self._compression != 'raw' + self.use_load_libtiff = READ_LIBTIFF or self._compression != 'raw' if self.use_load_libtiff: # Decoder expects entire file as one tile. # There's a buffer size limit in load (64k) @@ -1318,13 +1319,16 @@ class TiffImageFile(ImageFile.ImageFile): w = self.tag_v2.get(322) h = self.tag_v2.get(323) - a = None for offset in offsets: - if not a: - a = self._decoder(rawmode, layer) + if x + w > xsize: + stride = w * sum(bps_tuple) / 8 # bytes per line + else: + stride = 0 + + a = self._decoder(rawmode, layer, stride) self.tile.append( (self._compression, - (min(x, xsize), min(y, ysize), min(x+w, xsize), min(y+h, ysize)), + (x, y, min(x+w, xsize), min(y+h, ysize)), offset, a)) x = x + w if x >= self.size[0]: @@ -1332,7 +1336,6 @@ class TiffImageFile(ImageFile.ImageFile): if y >= self.size[1]: x = y = 0 layer += 1 - a = None self.tile_prefix = self.tag_v2.get(JPEGTABLES, b"") else: if DEBUG: From 52637a42680bff166688aab064b31d8ffea2f4f4 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 16 Jul 2018 21:41:32 -0700 Subject: [PATCH 015/323] move libtiff-related tests into libtiff test file --- Tests/test_file_libtiff.py | 37 +++++++++++++++++++++++++++++++++++++ Tests/test_file_tiff.py | 36 ------------------------------------ 2 files changed, 37 insertions(+), 36 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 7735b5bea..c77c2ffb2 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -635,6 +635,43 @@ class TestFileLibTiff(LibTiffTestCase): im2 = hopper() self.assert_image_similar(im, im2, 5) + def test_strip_cmyk_jpeg(self): + infile = "Tests/images/tiff_strip_cmyk_jpeg.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3, mode='CMYK') + + def test_strip_ycbcr_jpeg_2x2_sampling(self): + infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 2) + + def test_strip_ycbcr_jpeg_1x1_sampling(self): + infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) + + def test_tiled_cmyk_jpeg(self): + infile = "Tests/images/tiff_tiled_cmyk_jpeg.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3.5, mode='CMYK') + + def test_tiled_ycbcr_jpeg_1x1_sampling(self): + infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) + + def test_tiled_ycbcr_jpeg_2x2_sampling(self): + infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif" + im = Image.open(infile) + + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 1) + + if __name__ == '__main__': unittest.main() diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 99afed52b..a8a893883 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -422,48 +422,12 @@ class TestFileTiff(PillowTestCase): self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") - def test_strip_cmyk_jpeg(self): - infile = "Tests/images/tiff_strip_cmyk_jpeg.tif" - im = Image.open(infile) - - self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3, mode='CMYK') - - def test_strip_ycbcr_jpeg_2x2_sampling(self): - infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif" - im = Image.open(infile) - - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 2) - - def test_strip_ycbcr_jpeg_1x1_sampling(self): - infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif" - im = Image.open(infile) - - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) - def test_tiled_raw(self): infile = "Tests/images/tiff_tiled_raw.tif" im = Image.open(infile) self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") - def test_tiled_cmyk_jpeg(self): - infile = "Tests/images/tiff_tiled_cmyk_jpeg.tif" - im = Image.open(infile) - - self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3.5, mode='CMYK') - - def test_tiled_ycbcr_jpeg_1x1_sampling(self): - infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif" - im = Image.open(infile) - - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) - - def test_tiled_ycbcr_jpeg_2x2_sampling(self): - infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif" - im = Image.open(infile) - - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 1) - def test_tiff_save_all(self): import io import os From e6c510ef386758fe4b321de8990c6b155402f2b5 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 16 Jul 2018 22:39:52 -0700 Subject: [PATCH 016/323] Remove redundant decompression; adjust jpeg read mode to be RGBX (pad) --- src/PIL/TiffImagePlugin.py | 39 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index ed29c4aba..3a2bd7b4c 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -259,12 +259,12 @@ OPEN_INFO = { (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), - (II, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), - (MM, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (II, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGBX", "RGBX"), + (MM, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGBX", "RGBX"), + (II, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGBX", "RGBXX"), + (MM, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGBX", "RGBXX"), + (II, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGBX", "RGBXXX"), + (MM, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGBX", "RGBXXX"), (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), @@ -1053,23 +1053,6 @@ class TiffImageFile(ImageFile.ImageFile): "Return the current frame number" return self.__frame - def _decoder(self, rawmode, layer, stride): - "Setup decoder contexts" - - args = None - if rawmode == "RGB" and self._planar_configuration == 2: - rawmode = rawmode[layer] - stride /= 3 - compression = self._compression - if compression == "raw": - args = (rawmode, int(stride), 1) - if compression == "jpeg": - args = ("RGB", "") - elif compression == "packbits": - args = rawmode - - return args - def load(self): if self.use_load_libtiff: return self._load_libtiff() @@ -1325,7 +1308,14 @@ class TiffImageFile(ImageFile.ImageFile): else: stride = 0 - a = self._decoder(rawmode, layer, stride) + tile_rawmode = rawmode + if self._planar_configuration == 2: + # each band on it's own layer + tile_rawmode = rawmode[layer] + # adjust stride width accordingly + stride /= bps_count + + a = (tile_rawmode, int(stride), 1) self.tile.append( (self._compression, (x, y, min(x+w, xsize), min(y+h, ysize)), @@ -1336,7 +1326,6 @@ class TiffImageFile(ImageFile.ImageFile): if y >= self.size[1]: x = y = 0 layer += 1 - self.tile_prefix = self.tag_v2.get(JPEGTABLES, b"") else: if DEBUG: print("- unsupported data organization") From 98d88fd1c63960c74237f0e7752a809403eaa861 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Tue, 17 Jul 2018 10:27:11 -0700 Subject: [PATCH 017/323] Add tests for uncompressed tiff with interleaved bands --- Tests/images/tiff_strip_planar_raw.tif | Bin 0 -> 312438 bytes .../tiff_strip_planar_raw_with_overviews.tif | Bin 0 -> 657366 bytes Tests/images/tiff_tiled_planar_raw.tif | Bin 0 -> 334590 bytes Tests/test_file_tiff.py | 20 ++++++++++++++++-- 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 Tests/images/tiff_strip_planar_raw.tif create mode 100644 Tests/images/tiff_strip_planar_raw_with_overviews.tif create mode 100644 Tests/images/tiff_tiled_planar_raw.tif diff --git a/Tests/images/tiff_strip_planar_raw.tif b/Tests/images/tiff_strip_planar_raw.tif new file mode 100644 index 0000000000000000000000000000000000000000..ab8b3c3f329fbbc9083d6b03d5294cfa8932d9fe GIT binary patch literal 312438 zcmd442XtKLmFEfB-aS2Yw!1CcqQg$__Uzf-+4gMrXx!anyKRvmNRS`^l3*qn!Aye4 zIp+)%P{_HEbIv*E3}z6_q$nmylw?`X*8c9R0s&Hh2wBpA7pTIkR|P!Oziz(wyWgfw zKi2yzJw3g@(bIeFn|iNtw2HgebjL0ne}m(1a(M?Dg{Z|I*+2kNoFh{~6TQ>gfepfU2LKo?n)p z-k*8fUN`mhe*Y&uJ-5GmP4AOmzNY7N;5EIEJYUoM=akp<%9~!(`|*|6^ol=uP4E9% z^$orJfBS~s|F!EIdf86j(EC3UzM+><_YJ)tUHFDx%17VOTlJl9>TUn$Z|Y5N{-)j* z>u>6fM}1Szxcr-X!(-pn+wkO@dj0?LTY3gR{+3?%rf=!3KJzWT_ONg1{d@7Z_$1_O zCCSIj-QCN}-NVb%-NVDnCm<|5Bs45EBs?rMI503UA|gCIDq0m26BC!HQpY94C&VSD zq@^UMrl+N*W@cw)rl)1(1K4MT% zScpIrAq^rhC8Z^$^Hf%*9E;Q-HiZQR$W2}@lp~a-yPjMu9f?F}k`ogX;^Sgt)iKf0 zs+B~=WzF~01M()bvq6M^FFj2t^#zhs+;}=Yoi~vIT3{m@MUYXTDN>*T9fd%mwCouy zprYuKJV40-{<%+p&p?X_7feo0N&=L4KvBo2R8cF5ipRhF-HZ+tFyRABN=!^b-{~k( zNBqM{^OT&NlA4wdFffb&Qy|C)G{QJ=MWL{cf=YQ=d3l*ATOBM~P=qJtGmsBKK84g2 z7==qDCJ3vjV+52HMaA_8QMC#xS(^0J9rjzU7iBURCH39w5B`UOE+NP$Co?@MJ|-$WG%!HO&(BvOKR-9ucXEQO6~wrVFQtUeS^wIa={4DJ`q0u4`^-Yi@0AX>Mw4)M6t{Q(9b@ zpPP-mqQexi5hj7aL@_>a3S1c;wvwp0Yf(YB!sLOOCz0y?p{A zQVR=pwis1f4lBS3jZIo=o}-rLmX?;*w)T$hp8mn1;gONy;o+g7!NI|Sf&Tu!zMk&x z&W^U0=EnN^+FIlb2@@gXTO_SG2|fXou&~gTL`5q>Vh~ajVxvNX1AIWh%gfWlT_F!0 zxqEne`gmKPK7INWx6`N3oUuH6*2>z(##YGgvt)1Y;OOMy>gwtS@k7W($l2M+(b2)) z&eqn(##&2O)>b+?XsIqwgipdkLqk>)6<6UE=K@S$VYj!w3xj~uad za&b{$@$&Vv@ySM8=H=s&5bo8WO&f>^U!_Lj!F+G;_hTp@Axbd+}_C@Cl?FmNSNL4qXwL4ZIdJS4yeR8Ag?>wWMC zaz%gsGk1S@JeXpA!rld0LX6xjz4CC}K&2Q|gtD`7?)?1h>;UE&H8z!`{dgea;BZ5k|TJmhr2WA!)_4UFya$i^9sPc1m z_6SPoe})Q{NN5NFYHz5iX{fEMt`z<#m4H$LOTq#iVEK+dn2cwzlBi&Vl#m2oiBpAv zinB$=?LU3;;RnyM15ZEr@RL8?&#^x3=qkp<#r2?8go?|`pP}->2l{WC&8gZti-J05 zi#_`KKie1_E~t!&bsmDmLJ#zJG-+ZJQp>8VE2~o^L{b3J#*{=$LWiS*e0)|C75o(? zR!-BQ;(n~;>2Kb9_X$akhYE4<P`a8_@&BDh(MbWX~Auh{6e_wk+WO|A^nlxQSVi{;Cp`;cLi7X2X zOTsN9y}VWu6(k4)gtARdiWOctTKeG!58t`}_S^U7=g{ryp0@AG62VaCY|G zAC)7hlz@tzB0eA7o_^B~RCHuvVYgdf->bd$XGVTwm>^IQ^V~1?xv#IcK@;B8lCKIY zEGbG+Vrj|Gkfae(oa91{d9;Ve%A)c_NpYm5D5xCGeDdV>5KgIhrK3|FsIIs9T%s zi({+G@)DK2Lt%m99xI5Dm&(h}Js9TZw!)|=c^|R}u~A|6fj1uA=&xz-AD*}{bMw*7 zi3?X}wRG*~!@KIkr|liV#bakKZXBjr-ED!Q6;Qgrt)QZK@HJ*{n%P+tHMMo=8-MP6fEStRyNf-+3aapjHxb z_)qmcnz>ltHaq~Qj88rNaBB3@)tM_-E?>HM@$%J&!|wae+B-NndLH&bv0$3j-PIOm zX8Lcw`S*aLuZ4treSJ>7+0<5{Zgt~T02%Z7gzdZ;Q+P@K$hD@KppH1r=?WS6y3M-_)9vUAOb z9}SI<4)zaTDLK90+SbdIsBX zj&)66yK(FG#cQMEp8w#`)3@VC-J@fJef{U#U3Q$dwRQ5|o13qoqW1gyzpt+D?lwca z>gxchkeH7YLxNXbPyf)!sG?SSd%LxmbhNii$_Z6nA}KkAL!LpRt3Jg$`q@}ntt2Y& zilCC5oD`?B9+>Ru>Ko~Jd$RY!jazr_-nuw>>DtAKbC>r0Q}_7faDV^gpufopQ1RMN zUJ}!siavovd@wtp0v;9R#C#Q%)irfEEd7JSqoXKW1W05DNC2g^rKth6f&l5#{W#Y; z!W?F1Ci(=rojq&0lBigH=ShmfDv5C_x50^lzW%|Edrz*-UcG$f#>0m*v*CXma3%KW zFFHrYM}~%{#v_f6+1fgI9MGatMqxuyBf=(v$XsH8N_=%~b6Zy*xdc$@CokEh1*Hv8 znwwCzrNsqgZ|Cp;4l#vtm*5#0c!qS}N}^)>`eSYFAt6o`P}A60Ro&Ej>Eqx1=2s7{ z%|5z&{nr2X)?d&3gV(zDzOJVF*0$zk!=tt~_8tc%hb~q8?acq+an0`^!Ux9&n#=Q2D>dtnlB;z)sL9r3=jIdF zNk&9_lc-mT@$gs4)RmOiG_-Vd_4bo_BYln7G?D5j*)Q4t>hcmeB@>50DH>|4l8HiY zZW`68lR_(xiWGQbRS`9*Ii-!g6X(yJzdU>W*2AX{@4WN$@!OByyNh!>)>&JeRi{~R zVPj+GU~KQ=>h3|_+ecd<@%8nACsU_ zbn6!1LN~8pn^`r(hD|N9^Q%a8x*zy0K2|Lx!Y$0GF8pZ@$8 zZ|NHvZ{4wL&%S-;dv@*GxqbUKg|v-niai%`gA`-+%ry9sN{({$v5IFe)O> z({JK;Cihep*Y`}{dHQQG`NN|-@BilUy#j}fdzp@@3Ht~8+pB8^Vgo99;r|p`NmMLf ze=KF*DM6*QrL&}||Kk1kKl$_zmu7E1c>3_(qYt0ld;H-;Ti?BdLtQmpqn^=qI!NlW zlW{H-d#bd&pg89X>HNh6nj7duQR>FgH0eA?@p(-zMRp}oISne*d8ht6|7BbDRCUYH zmABvh&8NSgefYu0ACo(&wX68>lV6{4*f}`T(=gd&lh&erJM{@ydBGehd2j9AM|1Sy zJbmyYJsgQ`co{4!i^?M@eJiMRW?brR9=USo$!|aX)6J*9``yQX`tu`~O1me&{{68N zW_=?){j)J%C8QXj&g{Wo{rY*DLrD3#0H*oFIlTD!tBEY_A6goll|<##>yKy#h*MDM zs;{}$IehWfqu>1DQw5bzKfU8plxB76*bWne?xFtcb>%Ah(|%Y z7L|6@)UUN-@pO)!l}g^%wo5MFD5>k0eDA8N<|WLslBig|{)mRISS_z~HRXMDabotJ zk3RbC@1=J5>920(9zVEy#})(Qq>hPC8mtl;bOO`{Dsyn~^F>4i7eQsNY4rKt(Z`P; zzkg0u)$#evvXZEr{`R9-b?h7}ofYkWxN_zG(_eq|(Z|2~;8#y?-T(02ySHv#zcM{I z`q9kUkaFES>1b6=e>@L`jyrTv=$J&1;Qc=%3QP0!{-~--%XUjbvy!Ns`t~Etr+Vrq z+W)RCf9#L<-hTYx&h1;bZ{N9d|NY>CZxc0v41^%UPeS#yL=Ev{0S#^a516I$Mg8FJOTF2q@C4 z0WN?3^DUKCNd7ZU!QTUwkAOo5hFzS9%ceJ0#XX99IXLJ2Xa$$>YaDS zI2Ch$j@}2A=4SwC4-`~5Jov^cH`r!nQF(|zuAbEC75V?#Dw5L1ej_GGOMkqaYU7bm zE+wKlQcwXBo$j!U6LDGf$Tn7l#kNYY7~k}cjryH;Y!oD{EALy!@J-EHOYb2;pFsuO zV3pWaa+QNCT2VdzZ9yewAu3&+jYV-0S?%X<-oJnMa&NA$jhDKh;W;}BD(64cK>{AO zpz?5h(?dZ;%O%|3zi-VaF8m?)Zv%;finge~C@NYB5|&wMR8Ap6yY*U^4aNfe$qCj+Dta|4i*aLB? zG*Yktk5%{Xt%|ujWOUam`mT=dyxXm+T0+~pt$rm?A;yoMSfE$rpLz*(w5g^)K!qsA z1?7PPQKL~scf7GmWCg}3zh@nDSCFuJV-@$SO7B>y?#$7X#cUA2Bz%IleI+C)O7#U% zL4u~9Dkc^ytFtR}igd0YNYaw?BnirSy7jnARq>J(%SzfHt+xFOP?>xxeg~ul<+GS9 z0A(Hy$=wRQ;;5WdwC!Jl%KHMxGce{jgv_-4bJ}zv7z&FBB09F1he82FTR*xtRh|5j%hmtZbFTs_|I(N>cw2El zUX{C*M8!tOEB}%^d~d<$J+CQO>}VxXv3~tg3>}`6{}N5|ZJLhqua~A3xm(tC4AyVl zVDQUz8`rE}yTM@XnhpBv)~u%r`-`{U`uSRewQv1$&DynZ{bKFLjRqTjxyE4KMiV2$ zjq8mznwo4eF(^&zZ(P57{pPi6wy%?mi;0=|SJj2$UFDE>%XPHcFo$=2KwvQuV2TP!3L8J8#Wpl z8=IJza@)Lhi`n*_d-m?$vv=C}c39h3KuU)eT70RBI|Ejuuv+u!s3#{qabJ+Lb<}$CdZvC1KhMNop8KVtr z*RM7J5I|V7ZtWWV)xTV`#$b*9nzic<*R9`ZY`6{tHyIlm8*c^|(=A)JY~8kF=Wg?T z`}Q3?c=jW=vqx53b8<2pnA^`NoVVD)N)b!!X^-dd|~ zuy*ZQ12EZy#H=?mF*V(6Y`V#K%Vtw!QsK!;eJ8k7vsayTsQjDi=C$r83vK7ub1c_b z-gOKO*BNax*|>3|@g^fQ#yW!y`ugh)q%U#pFAelpuUVsSV6fg`qv57ao8T$biK#KX zVz$j}>z2(TIQ#b<*l)i7&|!n_=@#%|K z=wiAybL|?qz$~*fuHShitpk()rn)iP^<=I&XUU(_^$i`}(=$sx|I#Pq8q2s2e+Mqu zXlQ7%X@kjT6L2xvU~B+yz$vTWTC>jJt+(_I^w+LiZ(_V@gV82q<4uT-nW@=M(I-21 z@7uL^?*a3JhxYG3eB#vcV-8W8;_}+YruOz01gE{FwZ55&LJh5bgR)?Og&Z@NXJ)R^ zX>^r)w2KxMs$~B|b^U7R#x>dgVtSdWMH(($i$G>m~P*^-E8N! zZ98{t-?3*8;&bT0{=Ui^eMT<($`t|D@Gd)jf^&L*kWvCYK)9*SieS$&lykTeq2Q-@a?d?!CKq?>%&2@4;iI&YZQicMng>Ev=}p zZD8d7OKnAIZF75jXAg@nE?mZMyGhmqX1UEzWC%Ad{CkfR>0+Dy zxoYNO(?c3P7p3;ubLY-gBqd72vQScTuEHyWQ;WX5msM2Oi$0@VL#|V^pwDCRL#*v4 zW875}(@iGm7L2q0+P84u^w+IJc-F7eUu%eGVr*)R@j=n5%yOPRc}_x1D* zjm<2qtZi&*@9F92=w!`S-_X!lUsq2TD{^}Jdiw^4C(cRibN$A(ySGrYBvkL-ymcM* za&z`t0?Ko!Of2^D_CPZ?vps(Ki#;dTklV{q*}Ms6 z!8V(6Z)}3LH58jHm>3cd0g%xqyxGmhTgF?Ynnx-?({=$FsBQHfzTUy%VP;wIJvMde>W!N>=^z(&L9g7TbNu?v8@F!E&R&gu;|WWqlF$7@ zH9k~zN0#j`Mjcl{L<`D732G&j_$)cGYW0v=bHbaSeQHR#hFs_6s2CezgYeOeOpHwo zH(-4>tp262$%c&*5gHmAnUXIsH8p`#cI@80YuAA@&Mw|Tp^@s?xR{v8sN}S){L<2z z>axbR&d%<>p8kREu7RHZ;o;%2p|P>?iOEY>uid&ue0)oMxa&8r-@Z!%9tQ+iW|CLQ zs;LwOmC7Yi=~PgeoRl^F{e8+R!p_c#iN#SdtFCyn!>l@TQB>p_a(g){rbhVsTfu}l zX#Ki%Z>?RwcAWvTvtc9BgJHtgCt-l9-LZS;uDu5=PTD!UdIv>BspAvWR6~<9Ggy;S zRb5rz*3~O3PkIre?mkxGvw(eU>fFW4xNRaZM22{?_$fDTqi3%Z&CJYXta>67%Fh21 zUilnUX3(F*lZJ{&1RdoZr!$h`|jO44_n(a z2gSuZG&DAm*7@|r)TGS3;@ZZ#23BUbG&Og2W0DD2Iy-tgx;y)ar!HT;F?)UH1`;Fd zwP&u7j=Re8xtZB3tW&;pNweyS473B4@u9M%B}mIF69ezQt6S{y_;LG{#_XovMc#RW z!Os>2M0u%PLvAmZAd}6;o3KAdhU*PU#~G}VfO$Pm-P(0VM#iQ_n>QP8-ikvj5weAq zo2QKEB8d{4mYI>F$<$~HODbg|TVr!aTT_$7g>7vuEv@Yx9X-7RqtlmW2zrp8YgaE{ zx_o)&66KDR-LiGdww-(So9{hp;}H}Z92O9y zQbmD^CWF=1#g+K9?H%nMEwUz-1Nfx1sk5u2tFLba^CRKT&15?FF@!W-T zg3zVQ7Yn}sE|ad(FRTWYvL#XJnn&g8)ft#>=JDgU+T!%&WHEJLgyb4>dpRoG(4-qN z%Z8HGCIz{kBomMrtTo(7&TW$svCkH>-FUM{Ej>b2F%i)*G4X13N+wJHN{h-E;n&tT zFu+_bmX+i0cgWh|4!&U(I7K*q_Sy_-Y|yxPZhD$;me8F8AX&>*1S-I?OjP5SvMN!ZxrRS9*=GV4>y{cZ7~6pZ9BH@H{X58$|W!+F(xJ{L&KW!OlF|ur zz}yUtO^yzB^>p|2433PC4G%G8tDhMKQQGcf_joJWez zpF0OCG6L*^{&Gd8Sbw`JWhsW{kCdMbH&!4|AUHOA|Wd-_0P#Gz?J2%zs#h+a|Ug>@EL=r=n z!5J-e2~;`;UVQE6KbC9A?d80Jqfh41l=R95!;OZxwCmSzG9-F7F*MzRecEDbwr%f$ zqm~YC!4Wah3F%omMfuEY&&kRutgNHlLqB{Ua)Zk@IyQdp()r1WsmYO%p^=fXv2zzL zo&zKqWj8T4HaarKEH38Fj8E}sd>pPBs})qTvo5YxO)dkK9?>ZxJ4#C&jZR-9DjO(g zY%(?7gx5x?Y=hzY4P-2_)?3L(nwo9KB=6aO+}gp#Jt!(ZJ~gMPu(&{A$t^6eYi77% zM^ATOUvEcu|M2+4)P+k^lM~bDCPqexfF{N!#+ft)T7nA0EhN!DI>uC?QJ`U5%;;#t z58umWh{Gj=&*hbF9j}1OLSFe=QK9T%N(xS*A?k2A}^0We7`l z)AJ`6Jd$h3?d1|=x`q4!!48>hW8AlOl6Tr@yx9aqwrnA3y<^{@llE=_K|$d$2}xN+ zr7{eu0EL@dR8d2P5WCaa+}P0C-qk-iapB6PbLTHijSZ7Vz%X$`zmQDOMnw$G8KhnY zDq~|qLk!IvuMt#oaxSe?O^%h^lPQ{u(LApx3GX?*0xF#ZpbM#5y46&KtDsVp?#abbVK&%Ou*fy!_HtBM3JxY_TPX-_+O*ziizyy0@ejEJ zlg*O1-h0T_BQQKHC_){V%#fVCtnB=}oPylas%lyes1CL?H#gSQwRHo-;P}+!^u>$Q z6HGi|YF(e802+9C*oxs1#Ag6YBoWE*#Pq=6@Id>rQ0ZiDu@I;%)GPPzFM>*U^|Tr} zVrFOcLMG82KSO27EcVlB-Bi(UQC}(yxr#=~Q^-(L<&GSQ<+|i%K>E^ucXKj{M%t|12zW zjis-%@bzXp%(j|sGu|u_BA&{|Ek>J7jYu<*k!1SZ-u{>;xgc zN={yJCDTD`t81I;8*8e|tLsVccMV{5F+w8)2nSI>f4{(ihQ%Tc4Ksw7aY7u9po4{N zhWdLH8>C3k)OhjRsNY3tY?MC(=_KfZz#^c$o!o`@vyiesWdfF+VDqV6^_%$%pHhzH z8cSbi;mggoZ#CP#4QGw2q3M>58@8Bi!cW<3N_mjs3;T~^ls)~!W8#w1vI`2CT9TEK zCez*vDr#$~%+PnhRMd)E>f&uJz4&MoSegNNM3QC$gOcyZ`Tz-5|L2 z^fmnOU6gIM@X9j&+wR)ZET#1E?CwQW)XJ>E>`&F|X$z+7Eqt3_7!|W^pt70TJMoZ- zlub8p-)?5MgSrpx28S&jUEKph!=vL9Gc-Ax3?>exp;q!sWoLw{`g-ONS69{4)VDUb zbTBM+Yy=L$7!M8h_M%_m7IAYyWt3ix(eYvU2uQF=FiT&5-4EXdl&p&e%R*(i_r+xo zy)W>J`U7U_*{Kyd>dyW$sE}pbyoK=_gvTfrGm{O(KHJQ8?gW)Rd(018oV0cJ3<{4_ zC&nkIlT%4ZPE0Q-C}ikvS$RoijZ9-^h-xiA+PVga6G!@hg`w|*f(`@C5TX7d1rZ{F z@uA^Qk6xWU#Lf+r&A16k?&N@d=n{U<^(f;8lHnH9ve; zW=>szS0)PH*4p1MbFXGb+M93Mp>n6YtF!<9Gk;31vApYS-?jy9yLGGaRx`v16K%E` zJ!7_g$1Zg3z9V>WK7IkAVNo$LiSda^$|hLpnYm1uEy&m8S2i{^HlcMH^iC$BtC#Oy zEDY1#u*Nto4E5{jMZ?h3GdfCyC?j|Q1S>vFvZ1H?hcY)iQ+Q>W|Lteq=prX9K2>I> zeJND7n3-(`m#vi6`Ke`>?c28R+`R{_a`5nJM=#%i!0_1RR7`gXmuyF&Y!;8sY&(q@d(00WK63c9YfzAX2zzXV zN2_C~cSJ@;tD|F+QZkupnO{;RdZnSEsj-#!IY27{i3KVjhzF@B29mY4wChlzkVw)6 zZPJfW$p}Q5;U=iC$A_RYS#Vz|Z+r!JGTc?6&-^X9hTKx>7VB9Uygh$*vl;zdrueqo zc9=5u$ZWeABao;j@7a6k$g!hm?R}#nf(4b}u<&rEXob_{9v7FGmLXwtCEb7wU?X(y zl&unaJ3Bf#AlHJ75J~qavr~IG5~;zjLk;(HvWGddWbWG9u*_M^o&Sna`3xA(PRyZ_ zaQ#KKEsr}c&!447XWJIj?VD)B*orH+W$R|RXU{J41N-+MJ9*Y6AeLfSctm(;KwwBn zaA;U$SX6XOTymPGpb+C+U*Cks-z@!1eE!Vml6rGzKZHkuYJn#@$yfFaQjZ4}bV)w~ z1*4GfremQVR3vY^RyFYz^2#$1K65aKO3dvAf%LP(&MVIjM@_bD+itdbJNkC}_O08D z&30|xvTxt^orezZKW=638H?AJoE{w$9T6Pt=O5@F6dbOKiH#$5n_tQT(#GaSB|@ah z3-;*hkp7jfE^6?Y<{@ONUka?06X6iL6{xpTTZC6AkaV@TH#fJ64a!VEFR0|dAVJ4i zk9_Pi@9WE*kZZ^-^6vcmpFdiN3UF-QV!C77*3B5?ou*rNY&D~Dy6@oeqt?zoF`E4B z%*6OOwTz+*^z-o#f?2|13v`r8XA?k=0k&Y ze^F4>HY_Oc2>-Ox-$GQ`B@&dLc3xjKIhB83TVtQQKOQhOwKj9^(O2_Rt|7P3w-?4d zbH`mXb4O!i_$kDOJ7Jd1COdavkfuRVSyVY4Qup>xm5;8mPMS>9^6EF7qBcq!ff3hx3YlMUmjH^by~QHfDY;+NPtE z7E7jNwl)s@=-up$3@s|Ti=hG-$KO~LAj{aBxL+#|c|0YMtqRbdm*ZuUTtjXF4|xA0 zIac{&en*e^jpbYANX};-l~LbqTQ=jOh??EDb@%qYJ9nDx+q38Jp}ogWyGLY{mQ)lc z#i-Qkh^VNDu;7rOkP!BIiVP<$m!4Bl#?An+3n`Xf=03D`_V>}PfsuwuB%4k4Kyq<} ziv6$=-7V-Gfa`3PesH8ggFu z+;V`KL&fK@!WG$;S)Hekc4k>-D-Y*U87tm_$-yMk8M$r8uC04$k33**ZgJG&gmq{l z?pj_}d`z@DP8}1aQbk4u2M31Ih!7nQDw+A@SgPsNr|GLtOiBmdD(|_i8{Q!BVfw0s z%EZV0U9DYkQZELoy|c5UncaP4W2}ZI;T3knI)?;J=e;AnJM(lraC&;3W?FtsYwv+6 za9Vgp9&3)vGs;alKmUuLb0pW0o9APt7SJ1YEdRiP{9{qQ%EOK;$`84-K#y$OwNtR! zx@(u|?tMF1tg!#kkrP&~ap_6Pn(XAb*m%Cw(QIQD70&LjQL%A}aq&qRnR$ifm6dc( zQbjBB=9*|366d9hl03}PMa8wNwS_%Onn{E=Hr2r^S()i6pfa&2 zDuKrrpt7o29`LPM$GzNis02=b59&&Um(IA2ks}Y01xG_s;D* z$uHr}?%cCgdQ^7ru{dZ?g^|hd)Vf(rzQGr)@ z`;Z{OI~QKjqM|*TL*|R3;(SY5z1y48P9HsR;OOZzdhDV43FSw7dxOQ%ojZ2!A{GRf zt=r9reasIYIAn43h>cftswOinCp$GhHX%;-cteK5A|fc2VVPqHptG2YU&>0Lre-Sc z9i45h_$+j-NZfq^trGks#y>te)|Ta^^FvGF(&9^WsUlhTNRr5l^AJGSDIHz=1G_z)Eo}dz#M4 zJrraSNmJLZZ9BN%fyc6Q+dh&9M~@yo=@1Z|l9rZ|o|%x46rYrsl8_h&&#*^gbWCiF zDk?fj!~U)XtnX-OY^5JT5s}VbGz%^Yk~Babn*qL{#nt=!I@{XY+A%#0N^NRp2g14< z+3lwWR2aUSEWC0qXUT5C#rpnUdal2^HY4@LSIITx=6na|p|>-^GP>@-fx2kR1YFJD z-sW?1-`iVmakh8I4zvmZGM&Zy2nqKdJbcXJp! zXq>o+u<)ojY)~mpPH0WOP%elOU4m>~g4ke%fu;jH)7IOAP>CmlgV!!IiDgSY+02vK z)>XXUwg$AX(Ju_e#YToj zDyS5(A3!5|v%W#HPVLg1L9!N9qzkOCyPHKH4Q=?cJ-wJ88c)e#wzf7l)zGueXzR+V z%F3P}zRNb1g39<;hstQz?Br}?Eub_ng^Jf5qLEl9tEAqT(??=@ldPO#InjENyMX~G z3k%BuxMUYA2U$0`V;es0z5_>&96Mv_>KPUlmzbQAn2?;2DZ5~xW0DgS;u2C4Vk5$_ z(y=L7Ma;d&xkYVOS2fbFPis0%BB{rYE>R*aO{@(fWR|wa?ryxdHgSbnjaXU1eDpH* zHNv;e0PU|5mFb?&i(R+JuH?sm78C_};T7N8k_38@+AhwY*~zeA*krG;%Km+O53=0n zxRsMPGpE_smQ7fJB|VE|N*zvt-Bmb4}-;`{3O8 zaL=s=53V%M7PW^Le)gqu4Y>v1nvag>j~2$vdv@>K&6<|Id&sElH#a|YNM#gOQRBYYd$8N zKUx?a?%hq=n)M2-A>4m(Kk{?%gq4eLL`-734DP4=lUrECRte?Bg_-omCMLy%2KxI2 z1cydM#8OKvF0W#RZcV+?vLTT(3sQ%=#Zcqbbr1nIG}F&78W(%i-qM7kWuw9Jat7kl z*&wJSC&q)y_=T*mfLA7`u7k;)D;Im>^5X(0J_CzfLvE^DizGHDx@YIlvQExiMsDvW zp>kl~0gK~DEFHXqVv|TLX)-c%veUCmDhlWdEGcHLKil`JBZC41{DVTHqGFS&o0V6S zpk#|miJT?3(nI#3w;S>4l*qURRAi${$*a&wh*7R6Ev+bH>#IB(rZO6T@R;4!4%Yf2c?%%V>vvLi&rF7g|gw8#lKe=!3-reTA4<2UW z`XLJe<(Q?dXJi_&tR_1vHI?3`^2$PXkf^RME#&h}ONfaMj|`6_Ntu$8k&|CR`LK~5 zesXR|jWpa!Hl>^F(m+>dmn<4;Wwsf18n3pstr641?s3Jr*?C#%>1mZec#K_BPb?Re zi|nPf$eUews;p)}6}Sf#PCuA1F#`8!#ebP1*;SNz~H{!h%rTdJ{T@yf-EF9YS`#g2?6K~b); z9G<**aW_^O={bn)Id=5O@e`H~{9%}gR9iVjo7 zrKD*zv?f&4wXlM$rK7!@b(bym)P=}Eb$3gvDX5Ua#O`39#kp+}D-J4!|2wxHh)xX{@K69k*AqbS;eyb?jbRUIMQWVxectzW<2KjcWWWMdeaQT;}4SD2OZ% zmHm>TCm zDJ?6hs%~iS8SL)v6Hu@*l@vq7`zMXk)I|Iz)p>@n!Z~ftKvYvzQBqha`_XIgQxZzQ z{|Huz8vmtgY?+_o5^r~zr_}79)IBgl&H(0U!I`yI&E>HI{cByp;Xo<{vzM{LIPI zXU^KV2I0}C<>6Qqmz5PDLD{)^CB>}oNJ~#i0G9Be!0?c$u*mrI{0f+*wSSDxl%b)H z>hi+ELg|=e6%|21711B?kV|P4oh#Mo%9_gZ(&A!JA?gGab>XTW6yrKdq5k;$Y_3h-+2^V6mDQ(TglmO(>8EGi`|IGDE*lbn@PQC?Qn zHbjjER;k0wBR0s-E5hfiAX89WR!Rnw2(rGukzp(i)n(P?mEyn^z<()}Q{vURs~)N% z!^1{F5^N4ubgwdF-=YSVo^uCG8yS zm(AKc5=?AAUdPsZY!h7o*g2Z?4`G!MLFH=Zq>>2xTJJKMG_t(w96EMz{}HlpqE=3wWj8c?Mi58FC$lA5ZboKG zdRjqQO;uS@fhL(8Wn^S5u=CHGWTl#eAZt*k7sfH8`S*nF_4proj*s-l8@U&~AL3*eNjY(np(#3XgJ zDk}Mn2VtSXL7*}^n=vklNlk7}rg$rn(JY6dJ`|r;T-Vmy-cVOo)jc$Mj(&qC)M+tZ9~-|`6qd+l z^F<|9nBlwvv}{>*Rhc9YP{tY!Es#uIAuk@8^u~kGkl?`KpQ%Q#WlnrOh$x${oz(vA zOy)W*?>Yw#9X)mwPvz9f)3%m2E^ZzHVRY=r@!peCSeqLY6_cP&&CDfIRI5qbCdSen zM`WleQPy6zHna>+o}U^e>seD(T?z)I{!7_Fnb!7#yn=#)oczLq;*wHA<)VC4H>-hg zYHvE9ORNo~^GgFE1*@6;6Y$~Txb5wQb){C zIeqfX8B1$RD;oz_Proo#gep2VhMm1AFssz6i0}w-$V?|c$@?LX8=st(&K!V(@>)hqK1BzcfZYiUYq zqSRAM%c^8@6RDNf)~4$6{0vQMQbM#UQk_7yAqH`y>m@8SDmtEW8#$(&e7ZwYsOuyeEA%NK}DNx?N952+shOVAPY&8|JhfuLT%8 zPKKC=%)LtBQTWYHd9A!&cm>^}a7+f{3zw&D?W|6pw6wIev86Med@Sx6{J=X;O6JYL z8S0q$xFp_YJaw|P3^*o9v}IyOc6LTuChxPDZPcr)%PR^s$+A&-6dVv08ji7w3JMJj z2=ot)jEN^dm7b}|%Y}v5bvRB!5?*#b!`wspO)#$Cvar6qBWObE!RcNRj z>b@0SBhSc9d(V+MO2s^*msV_UyjJ@v?pMp-Q0}$b<0LvoP?1NO@7+?aqkZP{?j7uG z&sv_fvU78G_X`LNizanXmMkMf_+F#Ih$hD;B%x#D;;~8;LzoPLvq2YSB5qhT^+nQB zC8haAd1>%htU5A0JS50BFeEfQl%%(hUyvWI9W>G>@3eXSSe}jZqeCJTxZx-EE%6Yl4F- z_%+?Df|b9qnpbc%Phy4SkrtKt^GhGuTG`^zIy!l{dj$tZ#9(Gp$sM2_sTQV^R!PZ9 zmsChn65t?InB`bCAzefm3c<%eG>X0r(%SSCM$>s341f4}xyxp+US2+)zW#n*{=R|1 zLE$QjZq)KA;>Yv*F|@)+*GDkC;_K@@_^+zbI~w5?Sf3ABZu8pKT$HY;5#7hHJK~4v zl@N50FoyP390=p^l+7^LGN++Eg6A=*_>f_0Fw(N)N>B;W5 z-fV>H$Hut+!J)yJ`vlTfarAxA+JFEB)5RP7op=0nsNB_z%zbh?rV!3~MhlOho&3TF znx}UcT<7zC-O}=mjkTSVhmU_iNN9vu()gs*bPW*=kzqbkgmy{S!2f`RfzHaL4JT1r zaHE3#yf9iJQL%&vsba??!-M>NJ-j>_yy5BL?G4BHas)R1K0X187o=vLI68`+sj!gX zAisd`yu&ua-UI)t8oHY~hf44q_b)_Z;qm9ao6mnP6I7mE=W}0r((-g(TQ-6A{0J;fZ^xu z?(OO21Go72czU>bdm>Q2VQiSpCS-9*811O=(4de&ejQ%nIZ)}l*QWX0fAgz&GO6w9 zy=7kKjFpwGgQKg5w@+YjSX7k!-6Qi2^1MoG%Vvu`v9IJt_y;=Fh$_0fv zdDOxh>l-R15-u#nr;iPzFCjKIIwp+HWKVZbpP&E*4t#(b3Vx z#o5`_)!ob2Js^af6|G~5>e%RTbP9c{p5M8TS^<^V-l@9}9(?$9(|b~zU)FVC6+35V z{%!vNQjcMg7)^HZ#ZOC4&B`y3d}1!C1S*8})%6WE6=W1L(-Sc%aeVG^;X%IM-X37! z;pqcDaE_m!Xj@MYPgiHi$==D)+0ov~+116@KO`bDN<0^89W;0YN`Rn(pbh+_ET7`Y zt3=lJ_BKwgu3p}-IG-TKC7hng)P$t;OuTwhPkH2x>dB?FF+{Pxq6nuwHIXgW*ef?a zE-J{^*VDtx-P6;>12I9T@X^C5?j9a4&MvMFFpHCuy@NBbxci2PfF>sK%TY9V2l1;O zuiwW^fl5^&%IZ}jTRSHw7iU)=U(77YN7AU_1coVSm(*0mJSQ`^q)=8cFnhGMwz?Gm z6bBVPA;u#&7mjN2L2>waxx0FJ`l5inyuIAr-91n$&Th`K*Sr&$xH-GH`TB)}3S(^u zm!>uPCOe3J65|4sL{#s@v-4yk%9h!$P9YbhjbNEB(~Va)y>V-!xe6Eum>0?q{!Ks zrvveaFymw>R1rb`-hSSWuWR+nPngGEJGboomH6q79>DGL4?rcbXe^v}%AA!XwRl_@ z>9nlevKj{D(TLGdRa$^R4@2#RmT?DW4_8-bHz!dn zj!wYi>g4F+;o%b$!IA)V60LQiA-?|Jo=%{G2o3&sg7#O7P?P?FL1e`6Ktn=l)=^F#Q&swpp)1bt3kW(s**9C)%)kyz&dtdIxl7I)2)xWUui z+0)I%)g3JOa&~rcv3GGrx47aGiEvUMQ%8i6S8?|gUcuJ`l}}$WLZ1W#5tNW?4`QuY z7^^O$6O%}#q$Nm%la`%dQr_Is+1^-JS0R~KJUhuirE4-%@!iN81P1$|N8H^!J$$_Q z;pXA)?&j(Mn_zf^OR&r?j&}CKEX*W~O^C;1i3$qz^F`EN7mxo{M8)5iCO68)Dy4cH z5fY(_r-vy&H!Fo8IWajSyQsXjskNiMuB^PgpolKHf?Q3SWFa%tSo0vIzmPz0H&2_C>$&L&R#MN^bRDk6b{Ja2LUWM;sg-Z0+proNOHd$i>CYJ0MV+Qq@FJ!9o5wDxgAs#c$}H;dR&cqP-hW2*$_6`m<-0YoP99`U9T>V1A$zCPKp`?Rg5?=>U2_T#O>hVfk z966=fghcvD@KSIllBBt*xV)qoU~*aOQcE`uO@E?Ss_DV6q@^HLvXn8TszbvA0)j&P z2$DsFP^~UF_>OjV`1p?2cEsX9V`pz;Cv4;Dyo4_T`j!q8XU~A`SYi&o(ni7+6jGcqCJqpJ+ zI3zZK7P1%^6eS(t1}gZt%SFW~_B`Q2TH~uDru>itXyK&Oe)DHK*>m#+AtXelt^_o zqg86E8(3%C(pXnnBE9@6^eCZ$LW6L>T=7lF5qOY9adC4ORcmi=Yi-M%erqdhTRS^j zlEOAt)*Jwe8@nwB28Bha;*t|$WiddopaLj?BX6Eo{?(V zYf>m%L}RW<=KJE&k}+^|C9?!1$PbFe!O|`D)Dspb|pX- z500o9XUzo>vPH#`3ARI}*uXbHgko{TmGSiPWu!oOm?|m~hb1&5$j{~rp(23jPyry` z@Ga54&!OTpcP_)J%ZQgK_{<&YUcM|;P%A8?W3+J=1@j_Ss1(x=hrd?dh=(tu@~SGB z!dX{cT9h0^#2Xn&b`p1;EWRgzc)} xg60jk8!GToXq}u{#cSj>wR$m5q(HwY?om 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 literal 0 HcmV?d00001 diff --git a/Tests/images/tiff_strip_planar_raw_with_overviews.tif b/Tests/images/tiff_strip_planar_raw_with_overviews.tif new file mode 100644 index 0000000000000000000000000000000000000000..e032c5c36f9cf24417a6ff0a882315cabc9072f2 GIT binary patch literal 657366 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 _R3iiJ2 zXv4I3zwF@b9$K*b_Rapmt(g@slS_-U zQ{&g#dZtEOYU9J>uCq`H{04K|to(vtTURS57i04PhN)*lWkY4l^{$rOvc>=xm-3de zzTx`RxTMPb!j|&F_^g~XpQOr?@`j?^E1B`ZL4G!-7XG1e5s6o}-@bdWv%R#qb#VXA z&GmbC_IGdGe);bC{ezv=-NVC2_iwE(O|Rd&u{k}uHrv-fHrP^_(bYZi2iE+RZxEHJ zlqARC7%y*IE8i$r=hUqFx~%r@oW{YiimbMg&eeN6bJc|%75VYSZ8bHO#ToI5xhdJT zL)YpW>x;9}6L1=BR%%W~!_=!+ulBbVHn(rx+P}GR@9zGiotb;Detz=m-Tu_mmycfE z-CUcPKHOX1#7On)bF)jcq4o8{>yv*#ZX5h9?hZ{aCxpcXdziZ?|KKHS)PeE;Ub!JQYc-#mZy?r`qjgM&wh*C#q>c5bY#?<~(wP0la0L=U&O zF0cP#AIHypi@QT+cuII`sDlko_rsBX(W!YE4Wmm?Yk$CWPRwQ#&)>dziZFbzb?5G*yLWFse0F&I@v{f}H+J@Rw(dWDdcCfp{^oC4ye z-o1Hv>*nF3!+VeK@87!r?B(4D5ANJMyt%gf;Mv;;H->7i&hFp6y}dHKI5Rmqu`o3T zNl#P%`X3K)=2zsn{AXAkJ^fm!#6_q0GZa*{RSZ&^s+;ml>ISAqN5-aScc)9*R@Yj} zE3-Sgn!7rB>jx_E_C@{X4sNZ(g6CnwnV{A0MpnDXnW9zxl`8v9U4H6W<;x zp&3P~0Y1h$AvRG>t;IQ4r|{bx9GzG^TwPpW8SZL{b8ejOY^{Layt$#KyC^N*-IS^B z>g66+R2Y_CUFp^P?!mKr*!?`awZ4Am!P`e`E4SZ0e(>(qqepiS_V@R0-@5Z~tbcHB zdvkN=-tOl0k%%>%9+h)T(?A7hEyhkN92v)FkG__zxcNsVCS_T9#=2xQb$5%h4qv={{`ldYz5RpRyVy40UGMLmK>D(>w6U|bIyXMMxHR6A zpL1>LM#sh<4{)SY+@#`XSR6h5TBszXgh$q-nER&tq?Z;AY%NVsj*ibQ&MizX%r7pi z&R0w|$mS-y?FEU?afjX=1dmuybPdpn4TEOL4~4 zH;77pMp!|-i$hvrVs(A%%>2l}#N_PE_~_K^-p=yO>_pYVPJN_jfM4RZ{(#S!>$gAu{OoXldu?iD`|-j4oxPo#hqrHR%wHec zK7cdXy*u2vu{zz?)6v=4(>*vpKC`me(=yT4-&@g~)b;%>%y$p}JO&*baC-t&h&b@0 z9PaezlCl1gzx>6`Js>yHy``w2v2Oy$0+03fHZ^tjk4!DCZO&dFuk2b}85^j|N~@W> zKG?s~-FLM;*tV{_wyF6C6ZxDP_vj{_1u z;B#7A2@EW&ipeagnk=ZAoF4A)=)PPt*x2m+#^UhQ>SkMFW^@6n@7_MX!=Kg;kD1B|n1l~P*^dJfphYGPyr)IQ zGOH>kvc2(YaZ%s&a3?YIuIbs?ndPa0{J@;f-p;Ab!>Rht!or-Gq8xj572B|ezM-*= z$%d<4-Ln&$(_3%fym@o)#`@@3-@x^Q+XuV*_g_5NoLpL6SeTw&T3cM19USUxslHNC zQPbKrIKMbPd3|bra%N_*t}v%G`?ojU+@VQ0rp<<_921tF02S8iIT~yWzd{znX;EQ> z1?M(jt*P$7@_~)_43CXY%q%R-cVxN8w+s#UHcs6bxRR6CH#<^v#ox$}5w)^4F*$m* zuCt}KVPIkO&bzm7U))|^92@K#o?qSB+rRzv&C|ox)#asy<@wdg-r1>vp=+%zH8mAi zn!AS=SH_3u<|g_FJF7}tY8x|ua}xt&Khwp1QW5&c{R+VV+EC(S-;1+Zn#j|l;vH1f z+}v7|-!<0J-q}4eIW;ytI&pojGuo?su&1ZGws~;0r>}Wp_xAj?j<`S%+sVBV$hS&E zLb6L6#@gCnzJ2rd-NEwwK^GzcVs%H zwYFaC?tA(6=QmGotL(KykL%S>pkMhYlqHBDGUMy7v6b$`IM?)!_L2U< z;mW4L@yYRtnfdkAu4|JuKkD^DKpuhkT^4fQtV6*Uic&)wY2F_87nD9s4T zUmSn(?)9C+Cp)u)9o^l%{fjSNy?*uN!Q)3eH%VCT9PV9T=_#qIXzJ>(uA9BFIK8+q zIsgQ#q5^8#+peUO*@CvV-N$G39G_ow0#yD2M{;bi?FZj`YQN%R>yX|!(%Zf`(p=X! zF)@SWb7B1INOya8)$rtC$Hu{B!RE-Gc|u@9yvJ-MV{!_36s&{(NV1L*Mvl@7T@9@3w~*X9gzb2Zo2!gL3k#%X3)M zt{gvEL7$=WA(njlS^x28r$r?=qPn+dsB^GAJFK*2Y-)UNp|z!}XSl6%WNNB!7HQh6 z`$*^d8(OOd@~RHntLA2=2Le58lngTaI<5`gfA{9ytG7SDe){%meo<9lL(jz2?cFE$ z51u~Qy)(6OXL@^cq_?+s^TG3ncke%Zus*x8I5aXdHZxk9d8MkO70OafD|b0Q!RS*^ zc5}ZHDv@n{z3sIrX-z3vRXx2^>zi{e-4(^{{R1tXo&DSEhi~?GA3t2Gt!U^hyKRzLIeqWln>X+7AKWbpsLAPRt!o{AySM)cRpyoP{*|t!wXtg> z3%$4AfNKHIKRLZTes$>j!j0jg{QBOpOU+tV8y|!_9_~hm4wThO`DlfnJ8-p{OQ$79T)lK8eymvFD`(f{7Q2heuk|nA-RP`Ko1WPj ztsJ}g{Kcc$t5+*BW3qB5dWME(TAF9qZ!B)ic6Co3)+YN6{`~6o)8~(?)8o8-=a*LJ zd*{YqJioIyGllHs_T5L1U*3QA;AY44ix-bp2b(IpyBq4dJDRGRmwUR#dq=?W;}F;J zFYva2NO6r^#nVVng-Fx-s`BrN|epqZJdi{IW2Kq-<9^AQeYhiF;`{CoR zyaT-c?A}~Y&)8Du^4{|L-qQ7n=l51y2Ir^e@4tTj{NVQ^tl;nV3V(OsQ$8 zpIO`78X50j9e?!ihsn66j~#dNxwrk>U;l}Ia#~wyY8xCLpW4_&S#Q3!VtAtWT5U$S zi%0!H_x$|o*5dtV&kkm)bJMe{+bb)2c6Sk@_MYCoy*fFu_Wa%Bo*9%i?mfRZ-r6!! zGjye|fG;=;!I&b5*&)#I%d?WNIvrdGM#1A{Z`PafPm+}~gB zuP!QSt;@YKa{b}%?VB5SpX_f;%}%^}_xkDD>ix&hA3VRYIyHPPzi(+~;l{lu&w4s{ z7aJ43%q)7|J$wG-&aJnNMll)5$!2=S`pk^Z)}gtVk0yo}MrL-WUi{~s90-c$)sJBK z?9takCAzM5a%E?Eth=MU_ za7VUvxHK%TY6O2j(%a~kToZr}^~ScM&H1gp)rBFkrFDYAZ9P`ySbAn&ZR^;^AlnaR33V{QTMM2+wC@OQZ)}-wE`OUHib%pi0-WF({*rZeQRFU*HKq^&!c&MN>*Q8UtSyIdZ$!Wlbc^C?r(h#R5D&grQrWA zI8`k8K{+$EJ5bQKABxKCIGk;3e@*3Bo|m|%qWE5QTi?js+`{tmix+!O5W_uQ9WVBE zX_Sq1h__c~ddH^wdYUEc&ki3SERA;#ymfUD!4>AeuN_nkg+8OX`Zss@f`wD)Xx9s|sGejtbUz|ETrM5EWX(PE7&c zufOdn4aDYvY{dPb+_re?o-Gaa zO-Ra{>KC6r`~Jm~odwy(_92Mdt@*{7uFl>OX|^+Nhk3&;zP2iWXCxe*pBbGR$Vq?H z)GeEmj!zD@wRQ}T_4W6Q%Im803kuuMK?PK{_{Y^yGA2bq-+rj9^i2FJr_{?!+l0E2!kjP(}8#Y83LB~`REwuuJ23cJRh?;O&*+xt%@c3-}D zd9bxIw=NqU7`*T9=5a51p*uT*tEJ*u-Mg{AT8W~EjP6m{%34oLaZ&5|U|&=Je4|ua zR?@oh!)vm_P}!$c=mYEuiOMm3`=O{vCx&|3`r2btB-33jO?9~Lfr<4=>BJfcf|t+s z2J+%PaW`3ie;(`h)i1tP(sgnxpI<##KYY1+`0{XXe|R2MPV1ZND|3S#o#OoPzMYP| zjoD~bC6kcCI_butv>^JCXnt{V>-ltjqo}@bXsV-4np@p=A6fYB>!{4rWa^KqSZC;3 zhR`N0`cPDsmba#-=5li?d;9x3OB;qqCPrlAgVURPhc8~d*nSim70lMXscq}R7pnc? z>u>+<4}$j9!=?GT?H4azzS!TG@7&tm-`HGR92@QtwYE1&x7Nf{&z~+9y2lJ7I2@MN z)=Nrqr`B5=S5bp3Zt3nGmx#Mc`nzJHaw~_zN5w1h$uS7apZyuh%!i^fyZmf! zYP{@0ZvD)`NJZz&u(WS#c5-p+@cEM$>lGnrHpILA)z>%vs1;}Y-EVI@`FBG!7MGW| zFy--lZJ}e}+2X>+*5Y87xTUpibbf7ltatO^;Mrbho+L;;x3K zvd-y&zW(~^ep!D>FQ2{KZhMds9uv;H`Q@*^`lm1LzPs|JVfy&t%a;pdPo6&AeQ|g&GhVa2IX%0z z*e_~D6MwU6Z0)~&DHsZQ}d%k zLqp&H-A3ja&wK`!%R;54W4yDnuBsT*9!;G+UH!wgSZ6!4`s~^B_3q}v@`rc)wa`fJ z>o33j;-7x?Tj%P7@1H-N9(}(5WdC4eZf?GNeQ{}ZzPC%B>-RLSkiXQtR0A-c)@_c56v~$H3@%ZQi5m`=wo&L_6Gm@pp(PKZR^rTGPw0oSi9U-{=R{`Fsf`Hx>(HM~H^IJ&jH zzVl*fK!WP7P1*dCL?r5LuWVl2+27wB6W29u9Bi*WUG3?udGzqX-KhM9XD{c*3Np(I zODpc@HdN$9b}qNb^-y@R#wCoeX7 zS~~hF+IlTa!MZLWw-52^oa@|7Swg5m)E24&$4oQ0ldz<MFM&i2~c!OLfh z6HD80Dg_0#JsrNa;z-T^yoN?_%Ga;_>i@mc{cL}CQMS4FVt=Tuf9GI-V|HHJ-(FhN zJhpd2R^xZwu`YM&~!5?N6aZrLnPm=IKUn#l6UYgxZ><_{6(K#bwF*H|>&3 zyO(>Xd$Oy?kv%T$JzlPF9_m`3l1wbgMmxo0>r)H=eJ%0M-H(xrYpNM)$;(P9?Q9YC zjBRdC&pnn%#>KUws`|`=K?xS~+&BF7SHJm2Tl9fU- zj^4JMy1vfpyo7?*s=V5^@(OWIOme|pUlWVuCIp5O>GaarNPBi(T0>=em6)p9#}_9@ zy6aGlC>{GhR^#Hq+bW&0u_wEi<(Vt{h6gH|i;JsEDu%JVX>0q*64rZ_w3Za*)^)Wv z*E|y5`2E*keyyUdu6je|cH-XJ)ZEh2khs75G0G3xOWQgN%j(1tQC*pNlJc5nQMb50 zAv^;2i18|{?~o2l+dBq^C3*Mn_;@`)G4@RN@Iq@-TT}PM$l~_;wCHbEV`F3EKSES` z7l-=WhD4}I7t8jxH+L837CTz*RWxEnW>alrb@fBtYrp&IOSBri{jHYv?dXk#IjKz6 z(LXegI`zj572UOYl^q4Sxn(tNWhKa?T6@YOvcr>eOGE>`UHzLgeQi};byW`&Vw8W+uHlbr$%Oa+8h4cN>p@AOy9@H@uQ?~Zen_{vwom^^>A}-cWJJ#;(lUD zeM4V=U1e!YbB@N<-~8r_FK=A`y|R{ue(vVRnsj_(4BXr1_TjUo^vb6El!wJF<)ss{ z($bca>ekMjh@9G@+Ck}HSI_D|X5-vsd39w`a^8SMGSnw(>l_jnNv6j)_B;9;3!47h zN<>6dbnmSbm6=B#1d>uQ-dlqdg|?t6Kdf3%Uavblv%fJR8|xoln%mpm-rJdOYASz_ z*4EHEF;ZQT+T8B--L>C-^ZRR>w^X$COzjdUpY1OLmA?6j^(QZ$&)hF;>dC6e>6n|^ zS?F(VuBz(j^1s_I>FVpASsmV5&dy$cJ|oVLO=uYyo|u-+^!5(U&lc4WEzQ;Ebw9e> z_1DXx;So{2r|4^fnUkgTnC-oIbfGCZCsUK^Vj zl1+7%);~%QDw|lE5|3iKXs0e|;Q8ugcTsugbUpL4vz@mt<8mrvH7Kyt;KCD>1i!5E2t>VOlztX z^$m%%H7aU@Z~wbZOmeDoaA815L|Mh%sd3rjz`)e1B-CeU@=}YNr zspaR_MkWS1w$C?CWmn0vB0U^K9`RhFvhInO`r=}$*QLo7o8$enPoJ%?wx$-%w3er& z7gqES&2G$1F3rzu&vq?M5A;Zf1heyzunpi`_x7q~WiYgMxyB zyHBkTV)&IGgNnR};e-1m91*@9!y8Kz6Z;4AbInCX`IU8LRk_)DE&a`+7TC*rZCpr~1%y19xm_=Ni)2UcWro3exb-Pyy#$FoDdBS0lEFd(4oRQCwdr5`CP zVB9QDhq}N`$iwu zMw$5}Jt&Wf4+?2U0fuN|c5ZF9zrT05O`L2eNFE*&cMVPq^^Oh?49k}Hwl_AmdaG+& zdq;apdQha@-a61d|KjCFOMBm#Y-(-ms?%kQ&*E;*!Cb;_Vne;m%H@|BrrZaE+ZqW zxTL;b)YCjxVL$Tn`Lh?Rx%bLrQY70?TLW~zamV`H@5gfexZwf(oSM?g>e@Oi$?F~N z>y`A6O2>Cf3tIc6(uJLA+0exL@<>OsG{2^+b9iZJa}^2p>XM{vVr5a*H@7-4GQNS@ z=Gn5pT=GF-y|IfAM|C;%wPqu}4_eo%=a8=$zQp)KyyB-P7H@@S-K5b+BJ1 z6EzJ^u1wEvj`#F;N_xkJ#XW1Qv)eCUuH`ijOAnt;%q&e!O-xK+ZuSvS@kU30-@T$i zr+404gU%rMp{QI&g`(n|!2y1OSa^uLeusnv2m5>bc)1HaJOm!@LJtAo#m$wP^<({z zEAC{#cgHONU2zEAJe}$0s}7D%P7aRFE-pO0>%w;z2r)doebHgS)6+}nj^E+w;py$? zhsA2XzFuCQLIHk(3(pxVlJJTxM|(#n2YY7+E;|CLmGMXM0qa!0DBG6GY^fJ&;oHOjZzl`oZ!h}EpB!mZD3kGvBga|G=hlc!_*`z(%We&+P z!pE2osK-O0A~3m=2vmScY)lOLVnl`ml#md`H@uA3 zkYE4pG$SUAqyQ2IiBp0gha)>Xiy62mW@IaXIe9((Gla^+JXC@d79w6J**p5hIgG53 zumBagpxgl{2_!1O1eL#xq)_XI%RobM&cMHpXe8aifS}|(Br#W9I=#xlz@+Q($Vkt~ z$jr>TcMs}t1kUk>0;Btc3TibWgpVEpbU*`a^75cZIXMs({66SU3e~idoB$Jm5(`Wq zDG?AAfO5I0d_H$1Dnwqj*5(qiAzWXRs>cuVS;NXlgxN4+F%B=mj~^^Qv1f1mZp}L z=BCER2CUJptF0z%9+ed4KfHf0gM@_;Cs`p$fv7|=&L;$d5)>4m_=cD9>c_}R5!pn1 z)%4_qSp3ECC&R$az-d6L<+>gjlg4;#n9hPi+z+F)jMRe}Rf>(uN=OAH1Nm7)Q>#ea z+11_M)z#T4#^?}9QPDKCcq3@u114$1!pHG zN*55@v)Q)tLF++jrL47KkzN=Zxm&me%%;?!Lj{(Xok%@v*Vd(a{lR z3=a)Sv4p+5qpg|IqiV(w!`c9v($dmLB}J)P?y11U$4BuEFXJ`f^KCgOg?WTZQUapO zs3=EHSYgK)*t@y$&XQG#wI6Ep)x|K4D^8`Yi}Y{7%L4yK|oVlN|<1jWGlr4p%Jm-8(zjMg9`Mg zfKbUwPf5Cy$c^gS|Ka(QgU8G`c=G&*1IZmnuW%Bg$na3xkg^i^A2KV24dF)=)1kV$ zdPC!};50So$KQ#L&&ZV?p#mWpV#Gx%9q1P~*JGhu6C4p-*O6r*Q2`{-<)Y$f%>-{R z&&xnVan8Wcw}1&H$`r0-q@~0;75x3^2XFjN^t*fcK z&tRg^A2}-cGDboE9v+Hscp0w@D!}9jmGngC%H6~5t&NQn{$qn`M;_ODx`u?q4u^!f z3QLbPD5pWlpmMmqeAD@6J**6kdSOypxDfZXa@7}RldO!63`+sW;2@p{AS#dUKFmo= zsjRB3$*P3*oPa`BA4z*rxM_%o;4;uqoD&*Ef>MwV4T7wsJ5}xNuCFd*EXl_*y8o=K zuJ0by3LFENs58tcfecGUWp!$UGob=dM!sbeD!>K*{KMme_4N}wTlM%!a#R>NP_;=; zy01C^PFvffwE6k3i|YVlGF8kP!;QQ*9n# z*{!)_27}5lpGN-x1f{P}(wv_L7gU~JTUne%p$ae|iNTF(C_X@Dou8{0By?B&-7e!b z-~^TX*_nZ{a~pGxpML)HzxkhE{!zz;6*fAJwVgC(=GK?eSx#O)KED2eTE#^rkIE{l z!W+!xlF}>sLjPOfQ3qdLU+>Ho#)nt6iF?fXq(Lw%y8vak4-0SrN>5`+66(m&9iuoq zi^1ek$p%2#kgE@IRQW7#0sk`4P@I!Ng-9V}viH(?JsZ;#|Mc71p)jR*qkMymKJ!I@ij{}Eo8lW@#;f0F zTXLEfyhoOI&N6PO^MC!-|Ey|gX>DzDOSTn_OixWA4ucmNom?qkS-A>?9=^`z1w|lF zDusoGsT8X)C>)~#bP(J%w{<*p_8%U_tP@Zf*aadOXqeh9&dVxkZm6xPESE#Vcw|OW znB+6>VctV?Z~kSYLf-`>0D?GP_uOD#-{1eA|GT~m`O6S5%Cda~_ZWe!j3CUA&Psf= z9o+>2FJDzK1&_)qopVyd5vZu^o2x@!t)D@;+(#pZGjOXX5>M3Ow8m^Pq*ZM{o}8j z2BxN`WgLG~QR&0f)Ijz_#Ob}gL$VAVD>rv{k3iM@qM{O@0!dN-vnwMq=WoBgas`vS zib1H(vus&-<;s;Wpf(}JY4wgKU7pSh;9ND1{Gk!44_h&+S)rfG(xCQLI~Bt ze^5~3j`p^eva;$5h{_QpFtQkOk;QjO;s(0%E)^Az&o*fe3ll&0Gx@zko#L*(Uumng zj{uZKw5T7Q9_f>g<@vYuOZ&Qeh9n_MY`&Y&-;hD2A`SKg9ti651qRp_AW~h8|3t+# zwi_J)AO^+X?!YwqCV;pUh#Q*t9~s*>L@UYsA@EWwra4NGHh*tod~e2vMjlvaSOCf-_3B7+{Zbs$xWT&=7!d`mh|te++5v#O$rdl z5h}1C%pfVjU=RUqTLtO`9YlLcRv1*EK#&uL!0iyVwUP@eFD<6Y7RJ&;NEms|&CN-0 ziisysoD_ez%Xk%hx_LC|mz@z`nf0)ww!O(g$(Chmkvx@j#cQTcKXWphlOx8>yQ+$F zYwrJtrK_u(mq{+7ib4c(<-{3bFd@4r%T8dSkT1Mm3w1%`x0MA957 z%>`mIg9a6B`uq8Mqn3qFr7YmK!EVckgM*V-T4699!MF?=QJj-d$-(Fw8IdN5^05k_ zcVb>#U5%En+p^NG?cUVJoz|2G$vx7prmEtWT-QAOz1w<+fz$ZJExd@nA{&(F=x&d$h2nD z9kP7?VMJ#SZs^+Ym)?B@Nq1Z6DGoHLQ4vxppcxnH;U{QR-%XoG9WCJBCa#Y3&C%RhtrxrIeBsJ69&z?0uX<8{5 zzPEPpEIBer)Z5h~O9*R3VuLZ(h<1i2LxIle*VlnM4bx1+*gIgk3^WwybpB)`6N8bJ z@t&&Lj{foajig7#3@ST$GX=e^_tKKQT?FktJ+pnTSv_)4MvI?5MQ8Wd#tBgG*xD=U z`nXX+vDvlw?E5+S24FW0|a#Y6q3m#7l&8()T zWapQOhZffhr|a&>ndQ8*&uRK0kg^Ec%F1ar$JPs^5-eWqi0AOY4_6mS<%k_h)7nHV+SR!?&%q z`Puy$et3<-pNg2O2wcFr3#C;9lWxPADoqB5@dyIsbsqa2kX#;)LN4wj35 z*x$i~>fYY|{^KXOGZ7jBJ$=0Ya*Q8R*01mz$Ee8RK!9udnpnIF$kFty;^pzv;&uhZ z3UDY)E>P@@Un(j`vT}^d*g$3JOY~NL{^I4!?`gcmvJ&gy;Mn(pqQYV*^Yu9`L1peYc zq6W{>4f%gLCL0@jkd?DB|B(ja<Z+02nnU^t?gX46ZB2?)j*U8x%lF=uDR@EA~Jo zCFLwCkQZr>sD(;&TH3n@UyDL1UU^J-V8Dcu0U>?4I#lDcSwkDr4WBe%vA%wFu-a$6 z8hE6otzR8bECpI4RL-+2P$7f3j{+4c%ReJ4r{&_j?cpO-j+_diVv;Vm9oKwFS0EUK z2=lm#Lxa^<*Vf*J3Vw*>1lIPlWd(KxsHD6vDzGd2fJEU^@T#yFc$KTkv0R*4D#olB z+c`&r&cJ^eR#tINXwZkEas-J24u#1$jmgoPImL^7?HoOS zC2PBX1jj3A91F-15GOdux2Uv?#`ec8E8I`0AAj-(pt5(WppcL`1_T>&OkRaV4#&|m zP-#2sna}(o6w-Vdubf|e5GwtZ&vws3afAhf$Ppl~AaPuPh%&^j!`haQ7!~dZp(1S@ ze}Y?$&`{V6yq=N`1sq3(m`5**$7AjBbgATwaGcq_3>i_J)9x2*vh8H zx9!x;J=r-Q4j^-c$eRF>BeU^%;%z6udx~#(8Lw;wDg%upD@WnS$MJF*XeiDJ4T7xP z9sH_!bn}e)e8su^*Y7C4;bpusvT_%w6vISJV0qI|J0=*tyU=+w)s$5N1YoKRfXsoYqXlP<& zYGPt$VP?Uyw6V6dvU3)C2L=ZOg@lKO(2A$qFBrQ?b@M zHHA>QdpBv|tK!X-vA(Sn&g7@r>KlXMx!8F$RMpf~HI>xVG}TnJ)U`F#)YUXqRn#;A zgu0pru)?OgimI}TnwqMrin^ATmbSL8uA#oZo}s>>k)eU1k&%U&sTs@M!ra2r%F@=^ z*~Kp?l-3P~1p0@Bg+*g^X<{OxlB5(Yxy9P*WLkKemP#v^$=YHND$Bi_y9(d&lfCwB zE-&|8=sc?G%Id1>N~+4L$^ZfXwYAk$G_=u-Q=RZqCDfGEHC1jaDc`=W1h}*{baeD| z^$d-S^^A;+4fXU5Ow7$#mMkllrKJsrZmVi)>S^n0>FVnn=o=dvLud>P4UNrAS=Lsz9A}=Jt7k9- zB{Cv9Iy@vYGz`$hCL|=pCt`6n)(}HP5aVM(J}^m1=6s@%m5s&jo#S}oC)=QNTGtiLH*ep*4T;hMa@u-&`mib{ zM#lO^uq|fBX4U}36)ki8X_;VnL_~Nb1SKLgG&C|UJ`QWNu}C{9DGjKAXaXwquscCz zp?iDbU1PkdsiSLR?p+^y^ZRs;3!DeP07gSuSw%_d)=gy<<=apr6%}Pw4NWagbxn0G z6ohMP!o=Rbb@Te|>$h$z-%`@h($mz`($Rvn80zU70~J$aV>7ZWmRxsFKmWj>;7BYH zjERW|j|dD8M*&s@*0IOLqvJ?apYTgta?-ngN31CpY8OG{H% zS6fdTt>oDjFKfDyp~X&6~Gw-d56t zr`97>baZs}^z;nPfC}znXl85g=;Gny;~Nql5gij99*XD4(BR&-5aP|4xxfBB81AUc#Em#JLjom9uZFuTkdUk}mW5DR zC$Jb)I^K>-;r?nfIzY5GqUx(Ln?Xf-J}Q;*4}|Kcukd7>&Or~RUiqz00O96M7+bs& zJc!fanYAD!aLq8bs>;erO1I&eAyee4G$1S#uaHC5Gc-WR!m@W2dU|+yd83vU!EAU$ zOhPm)ZDeR@pg&4pfl7RQd@`&_T1Glr&7`Gdq@m#sv+49HxH!nlZ;RJwM4Kr3Ja;g% zQhhIr3Ja-j_+EAqq0%updG5!%glv7MbKhakLFcJ{X9@}#ft9@t?NGiA!-9}r7ZLMn>jl_KpH?AAi5#02)ETP@ec0^2}ku zSgsxx6BQeqka#yO1@b|-V9|0a0}0G+DuYTgp|U1x-(;2;p7Yc(FDF07(D8uaI2s)T zxINr?!%^S7;Jo89<{WgMccY>VQMm=(QM+{$TBNL@sjZ_00JL?00sPYK8@Fyjv8jm_$DZfz<&74BD18nI4u$tYh#w13phr>BQPFX6cM{=_ zQ&ZDZGSgGiQ!{}N2~BENMoKD=k(FeUmFc#P={JlcRL+1h(lIc8-VgMo3*(&KlPk}A zkIq4lccY?&c=a}N9Cg?aC1o`PD!MwVYDg1Rk@qOyxPJZSO_*DCN+FRAz}CVD8yK1( ztTi=Z*;w22T+!DM_5_BOj7b=(#G_*)qGNIUfjC&%_}DvlQyKk1>XVs?I3L=R4%3pJ zo|5AB={n+;o+K#ML^3a4>SvQSl7_h2w|Hki)CqT<>2D(?&U=W1@0#_A}k^b?F?cgVPF&D z65`N`=?+N>Y-}cVu*!h7O;5{A&&(0Sf1D=KO#6rHKwCW8uZjF47ELlb4)%C`{WU%!3}DFNj{ zlmSq+w}yeSktxf}2F-4)I5t)e&aMIvp|`idCjcG@E;%wJBr+1AZA=1L+4uy?2Z2CZ zW-=u|=-zcN6CDxKQZrIglHDOIcwta!dIu__qgaoOb*5NpiiL9GkvE{?-`;dn;@p~Y zSO<+WLkDCMm3;6>*Ehd zg8UHXBTq(D8xwa2)Im~8QhFw&BrP=wxF8!!LbpR80xO#gR4BM(P-%FhtaQ%GuMntU zO$&|P-Hw^&LbRQEedL*4jeq^<(GfZaJ>D%VN~$VK&=6G(9WB^cZ6t>v7NAr&uHU)| zn*)E0_mD%w4r?2j8WR0x3M$gx!GVjuyH2j|5EJzL@eB0#^9v3O3dGW+pn#Cj5CpaH zXz!MqoSFeooW!)nyNmvYcjC~cEeWWkq}=reDv%}V)#BB+%8LA=7+KldWvV1aYcsvs zT|;lY{`23sxU3+~2eSfpQU?}AR~L*VllV|JNHPSE4LVl~Jd>urfia6^ZfRm{Wo>22 z<~rFsyYl!R-hK#a{Q~{4Oe+9Q`2s^ig94BghDJulBoHM@v20p$Vgfn@CM8oV%*4dI zi4YlRSE7(XC6z(t-LlfVzdtv}EPmSE6*ZLQW@q=mCoC726;%ZJO0c5H33YU}wRKeC zdx%JZPloG(l&GufXzL@~H8cRTWMc_PY^+(f97ks!-<9v_>Ej<90{IBU`Zd3Rz`!sN z2pFIgq7c7es{H<5ZLGB4<;m;`WOZ6PaiRO;WULA_*B7@qs6{42XhdcI7& z=_s9p9v9FcaIwT-YpPN5qpl4?P6gpE_$6hy95N>wfD4JTp_zrHEr-kIue9F^O*kqD~5kZP!Dfm2b3 zfGES#!n7c4L81sLQP)K1W?*b#W6$B(b6`;%IF623%joLm?H}M97!(#Bj7bi}afsoN z7={8EG>!!MmXwUE2O@ERgQzEY1Op|44&gw&*XQd*^-Hf6uZ`BPlKVYxoI-^}qpWgE&AA0K!rYtN}uN2#Ox2fM8P)qp

(&~UjUV!y*)~WWiyoeO;7)%s33eJ!T|X(B3DfWEePh6kOAFR z(a_S>1thviq9G|p7A$mswBy*jI6F8vIyyS>1fGafeEfWagAlqQ2ZDW#r=F;UNDP{Q zQs>q9IAla|@}wv(22(>o1xL}585SnipJWB7eDhXRx{frcn`{c{4pSruGT669`n0 zLJxgYyzv$dIwdQoBn5?WugMBJqcv0%w!G1>T->gxz@#WEs{;y}afV@4S4A?UL!m4( zA3d5W#LOw?1})k4T;x11F3!$8j-!*an?UI2>**H|zE+`WB${QLrZVP61BXauovF$r-|m`Ein13N>A0F9_{Xi_900~rD=1Q{eK%8z6P zsQm8js2s&=-6uvxUO{<2Dmfzdn_zh#RFvRzF!`km9nw~Xm;f1?VAlbet%tdGb!|Nh z3o}b5L57`m;Mh9>6<49qQ|N{JXD~O`@D2(KrM3i7;ZbBhh>^n+UYJe=1Q52UX(EXU zWCi*}JWK#k0R;tAw%;Nv-OZ#K4Glo$9kNpK!$_|zRYYo3*nT1+$6Lp!yp_qOH^F2p zAz%XpFd-DQp%Me>G5ikUqX(MSz}Vc}(w1vyYvW?NdY;DSPl)ksdYJtNmN8MX%$Q|1O|Iiv3L`x&|RwumGSyDV%*Lf zqtZU6FB2mxJ5;33h|0!Bw&cu;u)-gx)u4#xzB{R(Tu#1u7GYq2m_-F zM5uo+J`fff?)y32%R3dQ>`c_JV=nBiqpP7JpJqQ!M(@b0KafMBBCGhJuy6!T({8@{ zCidtY?>-Oxm@+tQkSl}$LNPfqi-`Z5;@t~; z+tGpEGh+a4@=lM`!@|_m_#7zE;c{=`k3vNSVJy@I|B0%`w7LQ6zJLlf=FrwfSr`fr zELc{yw#b1vwzgc312Q1K(9>Or2}4hBUq3HzA2=hBabRpi>FyzzBMZm1hec4&^q5G{ z{?zdv13?|&Kn97)qR^nwP>T48bs|)1-zh6t-hF1EOWrFZbz3&lD@y$#Cq7&#Ed2JB z_h^UC@$U1`Csk0WfvF$N3#x1Cp!`A)G$rt$iDoDjcqkMzp$vm#&$eN+>})ML6stG` z5WbKHY=DXne373IO{bD00*w$6LE->=LT(6}0&FOBAss?W9U2Q@!owobLdW}aId6M0 zROs8jeWaoz*tg%JMe??+x8cX3f|3<=5N?eu5Kq!PlbvcGyfkTDMDe+kC7E66%g5g1uwurTU!&gDPRw@^pGfP zY3t}2VcJyR6a^}_R+iSbwk%rGlyk?&9$(ww6wHA%;N0m z=mPf)BMV#W;|o+kPX^)z_ZA?YKO_j41Ox`7)`{Yl@JP62OrpUY11A6j>LHj=0W}3w z_9koBC;vo)4fliYdRMNz_WS4@^e8{Kyk%rn&XvjM=`z@rKbq#PNPFsKrE268&c9U&>OH>6l3C?Il8Yyk9I`JUL2qlMWarI30K&eH|SG9X%@A z(K0Z%WP_izW82tT!7~FDBSSNmwIvSQaGenTyYP`6`XFlty8?d2A7ydy&vc(l002or zvI7@Qa>1a2I2Y3)fGLQS2XjaPJ^?@l%s)_hJY9FDe&woYS|mWZ#no#9Lx_#xG@cV^ z_Zr^8|DvlR`EhJtbkI5Ik+zNNpLpa^ITh{X7(G?#@n`}EPEeVQrb;iAW+1Rf8M?kP zio3M+;gt1^jm>S48#_DMSR=AEvw&@ZS%CwBT`{-haN(N;xCttvIB!y-K-d@D^b_-B z0YRuI1tuU@A}M`_>cGB`!GZOK@&p2p06)w$B1r%$m{07#avmzUd|a(SK$m=Ub@sTx#bt81wN3|$=qgt1x>7$ULt zjZw$M1^s4cWsNMz3W|eyLo;(T3tP6WHRXzqE<)r$p1%J6nDl@}@%2Sr4}b}vJKMk! zqh=5~#H4~DfuRtgus}HP5UhE?91_zG(#MZvB{9D5TvQ+{aujg6boE7YDYGs7 z$`LBe@e5!gmlHxJafh)WLutH94yTfrHpJ|nvMY`%$e1~}GD8wBaOMfZCGx%QY5D8mV5}o*uhrC0Qmk*FXNaba zTAHe;R7ad*Vqt4<$L4ZvAt^R?5D=E71!}M@t=V7_937l^t~^(vz+LDCg@Cv~g=hf` z91K&dfs_~tG)1)()P;ol2cqs2?mIBZ&(F&jKj4G#&l|Erb7(;2V5a^|4dvC&na-;- zGlq%8zhS3DI8%Zb{1+z9T$OLp9z7C;^r3eTItM*sSD56xGvD2r!*O=c?__qx6Gtg| zhodtlJv22yqM%p@o){JdbA_~Pii8KZ_j0ra4mNCCxMP+jq=m(x0?+Ksb9JS~44%Fy zwDtE7^g(_|!5f)YAOTqcCZG*M11Rx<1i?MQZ{wrzTyW^i)9_=^XTk-5kK^Z;bc5%i-Mhi*M|w z{jMo`#z=5XL7_3~ia{+Ip{!U>O%G0*X2*0)ZS1*R2Rp8%m8~^6CtEu!bI=J^mR2?# zx>XwJ1l%qec@Sn*!8pNsQhFEy5rM)$I$%=(2GGC`wh;4D+!h!Z;Oh??4Tp|2!OQ3K zH7L;esGPl`_uL<-ZFqS9?9UvdvMR;s%Mqlvb2#nkf*jm}Tq^C6(X&)q@8}^#u&=3! z@C}B=*iZ*cTvU+*>1pbjAWET`c3V3;OFKJzTP_<5#V}81X>CVoBFEmDj~h&YLZB=N zx3q`NMdriAY!uYO;gI_cK|qTL4wwXi@b-rdf&xKGJU~@>dw74ghRM}GH7diMot^zv zb@!v=--Js18k*Yn)w}t()w^)(+x*??`*1)a!xM&^W9tx@6_jaE5QjP@hIP_G4KnH^ zQM!W)FB>-34)dpuwjAJtY6RFCOB9qMj&tFAQJsdbuLr0ETrK84@BC z6HgeC5rzOE()0KC^z~%A6$2Zf0#S*U{Pr9TI(tPI-XHCpADwS*04SofKckS9JF6gq zv-~{nOVjy|>C*ciepxsmnPKSRKu1TxFcuV|NFA&S#cpswa6fulhK8n?K;_!Oo}f5` z=6@Uqxb24+r;3{cQy2nS?>Vp^D6+$Yh>*1>_}>O?ah;8jrcWs9mfhz*y= z6AGXP;3pB^Vzm_IKS*)HBN3FKY6FoSLfEiKs@D!jy#gX!_#cFPu(lYWz~RE*FR0?phw2)yK`o6wTMzQk@#T208xA3!7h)U$243&|o4O+LbE-h@#&y9aGDmm}W znW;iW8;K!w$57u0Ll-N45S!R=?NQeR7R8z8;^gYacXf5Nx5vbxE&MZ50K|57JU;Hx zf(lA-+6dyw;{cY3=m?ZP0fE3UM7;1%MBReT1yqP>yzx;83M9oH)A;V6uF{lI&)3C= zbG2_=HFd%Ty=!ZHY!R5O&P;Wum!!u`z4mcB2R$CHofisAmrjlnR|`m>M$FVQ7IK)P z5FM(+wYNtE>&&*Ndyu*dP>KNCf*M<(Vs2(-&9-G@MJjkF_-6Q^0F=kUqJnlJS}Bm` zovAJi8z>$GE|Dm&3iE&70+ph*^Q_eH%E?jaj~=ogq=qoIp!f}qQ8|hf2z6dCtd8~^S0OsrySVdR zot+T7IoKhbv$A4y9XV_VG{gw|8D$N{qe|14wVeX~%`o*3)GTc2W11POk(Y>dRDmE3Ul=f|$Gi19b z2N|!UrKgXKkQNf^VKJ_S4HX~IOuMbEBPKcAar;^qp@)kL0$OKBE=scT0cW0ry$fa! zu?z+t7%CGQjAt-Uk;nqWq9a4YQSXEQkQ;__35G`s@PiHVfK738KS0 zNrH#7#ymUE-OY{9bK|?ay6_wvxOfj92zrHkZU`{L?CFISQ$c_O#+5Q5+#?tM7@QlK zS7=Z$+*3I42?(Zy5N=C|`+m9MKM?+O1uVmRpfdk1P_PE|;Tu6=5V;Wg^QcC^L>Q(` zv4qf2ADEb1;<{mDol&V`&vk?%@o)i7EP(+@tj# zSltldL+fF{?uTN6j6(c?Kwtj=9|Uj6mjePZ#R$vnu^mbG_rbHv0L%HhB) zI62sJ;G5Z4=PvLPAiVXaL>QM%!h!%7)*}!_8&M%a{_x5uJcZgY#kfIK((da8jq?!j z`7l)&Kn1=ju=6*?PcNoHXAwAezbhmE+~e~={QwtOs^I$PNyxjRN z@XW{&5vkZaIdeH2I37S^V+l6F(b-MtA;g~_YuypRfhT~&K_o)=YDD5gY$Y+XfC4lW zL?{kpOak2AgfRNN-Y7jtT z(<&EB6dyS9__&Fln;Q%w6-zuvO_npD=;dEW)Z3&$`3&{?1^eH z)NA`gd5{VsXv4w>#%B}zh9C|hA8Hv8s=xv9oPY|&G~$mC6-t0GPpAbAGQgymxfK^M zAQExoySVb494OXzlV*U0?kG>?!B(+-e(x>0-@)K~D`j$HmU0j!8q9 z7U~@WF2Tsy#Kgi9rCv_p@L^%$i0!#NL>F!@4o<|k01+#5a~ssL@KE^W>ERn3L8NtL zu&+BxT0Go9&I$RR#BzK3VYUdA6wwFJ9bX?0BtbyTN5B{Gc@8c-7iXJaER#qPDoZv0 z1^rj(92YweYT-bxAh?w)5GDvg&|2EqJJ>t$m>G6^6dtcRcnDCE%|<3*WsT|t zYirO8t~7B7+BPB<^=@GyC{6J4bf-ceCjW!G5qdC;8>XU(!$d&`;x_>2!AF=3R3L>` zzgWUNwRgwA7C&9Ck)0{o`3ZIzR4#NLO+D)7ggO;{eGMHWGZQ2^CYE+=M`#biTRVF@ zY4NX;;`dfuH|1W!7X`;z9@dSS~qpV`TSH{b$hE9JP)cf zs00q#A$1Qi)Hkulw5cr{ECOPC8)ktNO4Lya$HROx+r|zgCCDcS7o*;Kx7i^@r77bMIm zvnARebIjOx6=G5hM%LFqDl#?(vmAi{0y+bhz}=Ii!V{qhXagZ^60ryH*eIpryTfc# zq~gT0L)LBf7fS%eqy1lspRLzTkB+i1%8vzwB|6?bZzGG9b>88#$3nlSAwOETzs{WJ z>}OuzN9`z~g6UKPC=iMcSS&DYHpJJm5t`uMgQ&^I$}uN96x$-Eb3$hX7rL{aHyWT( zDj1s(ON=$@F1$Q^+@T-1av^Mym(U#`@R3zwB_2ik$O@4Yx;f#e@$0}*0F_0Ek&sZ? zsGA%aVTn!)$g6v&-@$e{EAq^dH|&OffAU5hng!E&-aV+!Sld8f7d3(U=+J~#UMw3n z*lJ8}pi`i=H4CBxG$>01L&xSok=h`;#swn~wg;@>G3`+F4~28ZePI#4@xXTSoOqys@s6GT zpDzLwccAioyMB_nqH=*qz`y_`aq^|<8&o#)+ym=!Dq(laqa+bZ(OY~+F@-^d8D!9_7P;32Lb;V8mfpyB`*g2{Iz z(x_sAU4=0fdV9G!BTc}p00{_qDa@*&9LN@K42y}}ot=?2KwzMJC^Uo=!M}0XdVjts z1lQm8tK#R(x5c&KQU#1G9HYWqA6=#VN{_Zk7)XZ7qq0Oebo#xcA3wQtazc!(TpSf6 zDugrA*EbUpO&zSZAt6+gDb}m9-H&_`V zA6YdAGmIPum?T8Mc9!^MECPlNiiV4hByIvMmdB^?iyZBtn$|YjBrERjN2oB?HcK#) z6`3_M5*Z2Gi=7bxcJNNt2<>3t&2lwy8Azyn}lE^TdC@K#tL;|QH{ z0jc0(4}XrSB3nzAg^jf}=IX6czkrGc)HK+VGP=Rq5WxpnXq5y?y>0b=z6ig>Z~dp@ z=erH$gGls`E=fQ;`0^s=g%wHfFoXFF^VxF3Ad5le=u-?T_%)G=55Ic#4NrEN^SpZW zygd|@>Z5oCEl5pKoC5a)PSydnfM5_|KkUc|AUMZ$Iq~daLizA2&>cj$XbxZrCE@b0 z+74!v@)|ZXEdtk$6w=ZP(F~QPKc&Lk0;y>ja2_JtT_T%V;K)nJD5xtpNTB8Volz{61qX-)Sfg$?} zRiYRJF2)6f5$JyuE7&?BoG~}I<~qR!BL~LCLZ@tOfC6>@#SA@g!7BvH(uQS;>L|cM z>%*ZyY*3t#D;8vhP=TyG+dsB~0=bP)*b%vTP#ilk79X-zkK36YpXaT=Kn1a_He|&V zRq6QCq6UG6gFVt^%y;lGKY_n6%1A-+BOY@hiwV+&V@sVGhuj!s-VYea}B`PL>`;k&i|@8YLB zfaRwi(!&F^`?=70u;LOLWMDwr0JlLN7?A`Q)yMXjF+_y!26Vt$qr3t>7`TwdVLO1X zvxmSyVptFbJCwGd0SPYL8ovaks4Qy>)S{x88+wVVRKR17f+?y;#Viwq1(wI!hNboM z1vx53d)wQ)yQgn;`jc!w-etxGez%q;3Xf5aV2VF3LR(Avlj9o66+62k_Cnz0?k>b) zRLl<}EB3%#nX5D6RdU!4w$`v6FfR!I=#^>}Q1pYo;v^)fx}@rVB%CHtPZ)AS94-rR za^SJ8tspB4Fe{Li#>R~&Pd}ysP*9_Rw#F7LVw_meBUE}hIAY@6!3A>^F0P)`qzDr` zRAJ!d?uNDRPPEF7!Z9wa1Iz|6Ffj)jxN^oh5iZp9)&#<0YJw6WYHVr^tdS@auY$R1 zRKb{=0TnoAe%mkGYDykH_?QM*CrrH~IW#dhHmCma7Wn?O@{$5qEbRc5@8W|7MW~SU z2iZm>G*U#wd6XM**r-v)AKl8v5^H2o7sh76%0hXllpFk&2|7rdV)+dAERZ^o#YOZ( zoo%o*z|vgfXN&F>ul%yJy|J$5V;Z#19pwn9pftw}87Tt_dJwR~5rJWWNbuY|K(7U2 z;>H&agFGoT2y5&hOB}X6f>_jUqwhS+oaTxc18WX#M58^_abwmRl^>?2FfNF0K=)E8 zh-oD*3LDH=rYb*!T|vC^%kC~Q+O&Q|L*Edxf*1}$ZeV7CNRF%~8VA~=d=xp2qpK?z zYcK_vGWG-?;EC8C^UdIG!Mp+;TQ&kV7JBisSX{OxT#W_F{2?l)W+r4=%nSfE1O>pr zoLkZ~B&A6pIeRdB;6W8nGzfDcA0aAqg8>9tqygsmlOxZyr|Li#Fo_85!CDJFu*M|_Otk=$g`n)gHG*y8 zVM37zI-r8+1JMZ-gjPSW$csS?fQK1Mgba*O{b6WqWMXV)gq+-hntFoEvVnO9WUwm; znLkEUAn+(!L4aXx1wUbdB$&%{;tOcf1`ntYI(^Zq4w^UzTaT(1cQo=2@I6>s1&3@%<^*kz5U7A5M`wCt=#a4q>X(5EegrGh%pgAS%wV%UK0;X` zRub(3;du~|*+6}qz{L@hgm#LkCq+1cR(YsI@%jImdk-Kv)APQQSLQE&=C zT0oERJ?GBt0YczE2|7pykAbfeRwE)C+Oo!3I^xia4fK)hmNICM-voArx25y(!f!l! zeg!(@9(X>h;9%*4A>e3X2-38GyLMeHZ-Q{~36{dK*O$RdT4AtHKwkuFkkWuEk&Nst zmM0>uNbfmJh&}y64r@zm1ZEh`@EqVa<9AP;0j{J6DI(Vv(`i_c=)3;L#DjU;*1=D= zejJYZOCR~t2md#F_yv$g0WJ#6R{ZX16w*Y;QlJQmwKF$gevM^$ttms^1mz)JE@3u6 z38Eqtb)HE7PLsq6$*ireaV!eMM(i60{lu%REv;{^Y~qpk&k&lyaOfbMCV!dk`VNiP z7k~4?r1I8B-g@`l%#TAVANf+|FOZ5DE!^8>6HiN9C}?SLT)}JHfOtWdi~iONkaOr6 zi*W?nrF7y&JO)j{;y{%|0tb*nin1kK%J!-C^(Em&;KCpg+A63Cx&t!?uLFR?9v5QJ zS=4KLYqE=u>dl)ED3x0u;rA<~BL00T^X|KEp*-9Q6?!)#zIf}s*ILSO>mwKWL7^6{ zyW2nhuDJdpshmImwAi;v8UY4}N4aw8Iu=4Zi&z720H=Um;k4Ps$jb{it^&vbXFm-Y zndD?sl!3b&yQhiE8$@*i^cInR9rZvC94@rVs4I#?kwsDj353KMtD|!O5QkLiUEdM= z1RhW-LJ)VP^43TAg1_Q5A(?kGh~!I%?e=RIGu+(w;r6%qVSel{(3J~t^+orF5*Xqa zF_{anfD{&?fFFpdC_%D@eE_LatonsaiT&)KVps-E5s3==vbj!F!QE2#0AbOb#n*B? zmmu&mFhN8T{#W2GXAlcht{B}m-u63CeqR2q2eY7y{O0dSC3BJY$n_S2IFQOMz7ooE z@LJ{;_ZW(J;LhFcZ;2oIi={&S%b%wx14Rp2kc}b3UcdIjO(HS89N1jA+t*&X35Gyw z2kJtlOxKk}A32D!kSv9W%%ayVa+J+Y77+rEBOE672ta}WLP+A9VlM~y4G=iEoG_qu zbma(AX}OdG3%YpmmiW!LZ0E34Zryn;bL--lZedkIDtGQ~|M&w*1vK*F(*z#CS@L+S z=gKo+_Rn5@4h~yuc;V&?ue=1Z^8B;Hom>Q@74A|P02Sa42{9ER6|%rnsC&p`$?Qdr zva+#Cvvz?E6wJQ1FgY}3=hPle5dm;xberq7PFOuJzx>+|q$@3Fd!Q>Q3Q`e%=6+py z@3psXWiH+l%JY#scXz(^KvE%N7br7GJs@ohe0z>A`Hkz(BNZr-FTL>WvnUG^qGe92 zRkSTA9CzU=Q0%ly9{dHmK*qL$){xbb$bqY@Y~fpkEs0hWEBuj~@WqrB*d690q+0F# z4n)FN9!x4N13HijZ}zrSF1}|$yoSMux6W%VVTo_Ob@%S}w^~AZ5DUU8M5hKq({%t8 zpjmS3COBLoX}NqAWunwQa}m%L44+Dp zqF4Opi8-61K3?aq@ULrBH^R%VEsHQDc0#RC7p{mSFp!BTA_48TPLb>p$TzVdv3TNv zbOl{#UAKhK{o$+Sbbk2d8?DgxS>q|}oKt@BIF_-6WzVOUb*KW{q7sWCB zFPiG2XNvyw)^@QM5_^96h(;(3Rp17CB5Fc0smC8wg(JEIk5`C9z%G0Mf1wB>e<^i- z2iE_qUwaV0@;_H9f_?!Lhp;13Hqv>P%?N-@@Ft(Va^w25)XhwhVL4|Q@TMCmz-wFy zio)6iLJ+;4Q>6JQ3SyxGB1>5psjc{eaU(?HPaU}BsQf|BqOKTgapb;8Yl?X^cx zD&W#!0&r?k5J4t^PL9{T{(|Tmiq;2#npr#eS^~A)$8>gp-qwX{;CBxCy1Pw07CU@e zR)O*jk;$HMQ2+}A?E4e2G zArO47C>BwgO_A-2T$frv@b4IfMMBGk4k4A-zc&70)#35p;IW>%z(CYBW?lpdNo-Gl znoawh`^i@VcouzOGFgCavRSeeV#v<+Y3zaQ1Tb?4+t~(DBA(z^S~?*thm4lWon5Da$|M+^rq;A<8aAf2rXsQ_cY{(M&uDS%?5uMZ8A%B!)An|21(rzB1cuLVf0YCd&x(E!dr%L;GO}r@5Q5?; zK$033lhbN}pt!nHXH0h%6-W7{}&H3pYR) zwos1+YC^GTVU6g!!RfPW(1pZ_-{^;+uL`Or?OWDVa7GhXuHzl{ZG8H7Mjko8BA^4h zJI}xeMHF-l#j!6Sh%_glInw6i6}rNw1yn5pibzWFuR=jcL4^NcDz8QC=2j>Ox*?2b zja-F3?J6hG5}?HZIhFK0GdD|Oc8wt|yl$c69Y%aV`@17={K)J7{czVC$9$YLpD29& zig2_Tiy&r+rm9HSAVWe>foK3%>9i;X5rp6wkdZpcT3 zsqn=-drl@$tXYYHx`Np4rxa+vj3oKG_ z&B^O2htUwCFN@~)#h#))fe|ql1HEl$TVRZs5b=dLvq>OoC1~VosKs(?Izp%g;#i=c zFMKM-BDPyj&&@4Nv$%r`iLfh{g<8{MSM2O;yyKlOaD9+e{`A9LZyfV+`Wx4v03w#F zPt!5RnF2l17lpwj_&PfTCB8yYD1Au9TF?@33U);JUEL(FZ@G*W5;NgN#2hdtgQzu7UnAlI9_^66Z-U;FrfrI12Kzx*gaZ-0-KClNrPY>s zEX^;nUQDcPXHgVFnVaL#8MbjxFNp2J_?N|nRQq>1Q0RaC{r8p1A7E2&z9CNC`ViM~ zpBHNr;nI`gUOscSRRjwe@E0sZbogjK3xpOO!OONXHY|n$N0i7yDr<{tVV(nugwo7$abDBHe7ya;f0^s+?P?)=0w=4?uvK?@ZZ_Ti zJq{B3-`-Cu|N77VtR)q(k?2QX(U)HO(ccu`dE*1Wz43E@{Kp&b`#*3X1?wCr2A{sv z>e1}1pC;0@)P(Icpou__pa-NWtK_tzKZ*fiI9s3st(d$n0xnJj65m7gg4;~403qRj}fbtn+%ML zID-^~VsHfMlsNW`=NTrq5<8ehio@)|!rVt5d!PPmpO56!$;<)tYOsxI; z931-7_eKy-uFMCLHOJ?Py^;L zfY#XmOvDiwd@Bqg27C)W3tSE{Nnoz{6aiAVa#`|{`GvJsenu*bOhg!BBNA?glnr0Q z__#P=a=MOUh$GK9rfHUgA#gP8)Sa3}D&i#Ke|4{}{N5iPTrH`55Wvv-RY(8o2mQz! zAN0*{uZd@)|Hu3M%nh17q6h*mKq|a>*m3v|u`&)%3wA9!9b$e%SdU0r$mNAA;iE`T zz?BdLX&MfNlc_k!Oq{aA=0=v>h(wkJ)F=#FsM)xT-G~s~a=g_Pa+a zZ~mv-S4%2CqCgTa|NZFK`1n)N5BQO9{ip)#;F;B*y7Rx>|9?DpL$JLrUL;w=hlp4# z$OFu(3QEcr#ENsAN48HBl-dw>4(3CfbcGetRDVJ*_$++OBFPC-zUr=b@D%6K1@&7*Sw&Pz>}i5d#sF zjr?S_unU-G<-`ji6Oqrdz7mlTdsrJhJ<}9cg9{;ZWwGTfg);d*LJ&67s1utTXh@yy z<;{77B+i;owg2ENU-=t<2vewMD|It^z@(aI!RNnj%*BkG*a`gzW9ryX`gk>Pey;EoR zi9ZY;5_TA!Vr(5;{|sAcSehWBHFM7ZZunXvFb<{VQ8=`j4co+ABrr2IS!-}CILG$Z zXBue2jCk{tydoSdCmT1!xp38bquQ8i&Y?K`aHjo_e(@Lo=HL7S%Z~&oAJ#XnU%QHh zh@Ii^mzefC%TTj`B?Xo(=vs7x=z0h!lHkJbCjt-IEVAJf?nFQ*WV7`tPN$uk;^4$- zj06#h;-@iLLnEryDmqdt^CR_Ig;NBpwMl+v8Yv~)|LB)~>2Lk5Kd`oP+4uYK2BeA) z)Asq-$9$N&kg-NQ9XYRwQ(V zfKo#SLLHDwttJ$tiM4Plc&&m+YSmf=3Ds-mYLyevn)N#WCMOf^fBZ{a|M#OO6?mjq zFSZ7PE<&ZG7u4cu!*wLv1-FoI>cjOBesr{)h}Qv)93-hs9{4> zlg$dIGu50am1`A*Qm$01WpPufRwns`;&5V7eG(C-+W+{Mf8|$x<=;MfQW10dVh@kl z`UO9ZJb zdrT+m*;OV z3WQLeqMgcwtq4EFAGYSf&7fr{=+%s|LKCI8BNExAnYkvwEQm>yq^yYpDe%iL*Cr7~ zRaj0?{oc!(L)yW<>;3WeRTv2I+$1x zq}p5WwrID)ijH7G_dI_C?uyv|@ic`qxyd;?K+MYRi^Pr_uu1SpP$nWz3m%}(Lt_Bh z1hPhE)~MlU>nH~n!apMpZDhT*seq z=-?Y~9g<4)%j?IJ%E83KTP<=j!w8Qn~kenjY|X#LzbL9%s(8DMKv8IEc?; zb^%7pn&6ut70_5F;wo=DF>a~*a9fe}CSV9PhrC2PNa`_61QsM(& zazik}54YS-sa(x>{K-E+EQh7?{qG-BDtB4v2Xy5Y#s3IWx%c@?VrlDD7*BNHFT(VK zm$AoCjOZCM?oXjegH$rP zLXMk4IftOilPFKIJXu1gD#giau2Ssy6S3C&|2d>9KL)7?x-nO41n9wa<*ro3^N>cN ze6cHpd0J|oiyRcRE7%DPh(QE|qXQaAh@zz;*_H`a(Vcv;#3!LJxEg{~DW6T`JOAXXT>tUMD-|)%aqA;u3g##lbXO|k zdD_dD*m5DZMUeSZ46-Q$|3ap_dm2EW9wGf6j?O_tNZV%SMJETqo`Y9O@F$T9`ACrf zTtgd5Ro;6A<0-dPrB*8z^Eeanv0T7>&=+h>e4Z@jW3JIs=YRP}|L7n7!~ZyT$iIGQ z3%WfG(wd7ojs>-zXDyxp3}EwLBHO3@VKj_th*%`(wA9If24rvaMCp&>V#UAdS<)0r zVf3RmNxZ4^W^26NLOEaHO`{R{Vx>|jRSS6$m-AU{OZZ;YMEDpYbR`oQSIH`!|KiI?qbmo`ADrWUo}C8(DeP%FvxmyGcq}ll0VGAw7<3x*Av+-$1EjT} zv<8U>nXJfJ`OTB4wXCO@M<*~7{vw~e$l>rR_+Vi-{1I7QHlIs)?Sm>sA5!_pT;Cl3 z@#%_~mSPkH^AQyPqwC7;=fyZWTz;{E>I?ww9z%f)XF{x{^-fB=402C@i!_$}1bA`2 zIZZpT-pXf*!__kH8H>SmP?Tb>RLGK^v_wSyCL9fFgJ6W!h?jY-n9WAU^$Lwb+CJ6w zUw@73n-h1XB9PQW8Owv`E95B*JK#^a7=Yj-s&WLWv>tr#`LjT6V#O63h@fBZiw(BB zXBl4*v<&bAiat{R-q~c zliMX2gUc}k)#`$+ibg4b8qEv3Iv`3@Gm{`E4Ppp_K@*6vBH9Xl5l*9+qv$CY^Vtg7 zJ|={!pe%)aI?IbFQ9f5pMZzw}uu5w*7&J3o|Mj19{h{qXS={~dVMztI%CC{Z1;crjbH!uU;nn_t{CpSdstFwZTVxmg``cm zTFChb2#_Bd?b<3}Bppy17=YA(j(A#5F`H>35&n>WluOtNf)F9Mg8v|`7p^vq97=hl zfS8K;d_I>?CB>(t*B2et>eNGn`azXSqh9I$Z(nqMX%Rt^?IXLtI=yVdjI=xbG_}ps~q>;JuF>83=Fo2 zwM(Lz3>YbfCNUoXNl;lqst{lSxoi_(J0-vqG8Ht2xFfO;9I8MGN(G@J`BW}fET!^A z6a*KN$>nqDbUKlVXQI(;CLQrkSd1pEQr$1tsPuZZe5?1r{|?vNp8I5R_sfSR6$YW` z7}9bVLTSmQMK@l9XD-+mBE_GnPt7*S;TlxP#9<;bzIGBgMbtpTy&{!j2B`=yQWS=S zb1h`@>3k+jauP|T67gUt>J8h6hO`=u&Y)H(G(!fB{B+-c|J^s={M~nacg1ku-NTX! zQFwC~E*uTAJ>;>ybI?3pS!YKwSw21DX}ULalPF4~MpHu|_Jp9x3J$kb@8D%YmdH;? z>`6)T*-SQ_%x2TVa8ijxG8RuIlgW^K!ZK;l@62ggSZP3&LGyq4Vhk>$yAXG{sJd2c7 zxD_(|LM}~il22uFxg4=LkxHiGiDW#JN`}Ke%lPoHRj*bViOCX)5uMSf&iDW6*T4Sz zzyH0!T`}Bu_pqdL267~v;}-oIqK0S_Le*Gj8Svr^3}W#|_!K~V{0V9zYUC=QHTauA z-f$=aPeLR_-W*{#lTBeZzyzsSGMP@MvWa*!ju+ffdh4XKg6Jn`Nr2YmE3|wN2D(y4Huzh_ zf~pXrMaV%W*<1-nl15FqlIcV;jqPM&$*|LG*7Pbh8l_CBF+tQ!JsLMRY&=4KmHaN9&*m;?@G;V(e#B*hNNYzv+x^awl3qAU4K z5?_*tBa|dwCBdg;JQDD_^{T!;m4+l`$Yj8`D5WQ#>`@sM&q)4EBxpalD-|J+Z$u9` zl;ZyAQpw!9y<4TVuI0$Of^fuxIFxPFrL}Db>K8+{Vj2z-x~P){>4MBw@GzS6xM=2} zC>5GrqVYwMOnprDici6A4x&#YnM|b9nPegnPb3nlH2&7@w3&1&g<7RI4-J})T9ra7 z@9gRtkVtMw{!A=6{-Z<6fh4|q=*uHZ1>izErZddggDTabSja| zMLbq&9+h0JGwAgOi%zB2s=H4rd%ODOFG&9E54ip)Ce-4+>oCZFRH=v+8pp+LTT;0V z_>${G=HYw-42Xh|#Sda^j@k8Pnqjm~se%BUT8(6^N91pK6sjQ66{OT5BvUu%GwB?W zI3>KRFr8Q`8OMOq#GshZrjyAvYL!-JP{{OpJg!33_C(J>zf$_V^v?wi?vLW{Nrao5 zxR&>>qe`WfDA`;#kr74{k77mfXgotsn@(jXw6cL-sX?od4GhSXT9u@u zyI0b4vQMT^4!kJ+bHQ7>M=JLS<;Z@eg{X<0Phw%sTgQk&w;v>fV|;yeON{L^UdrH) z7`0_I4kjR=z8Gqm61oBnN3aPh0y#lDN<<+6T%#+wT$R)%^!D^C`}+IaKOz0|f5-L5cP;3vq$|r<*gPWlF9> zSf(^AmFwiS1R~;cA>T^z3k6&)zJ<6<_=%!4kzgPawCH3KB|?$)4Gd_dZBIV&SlfU~ zA(wYQ+0%`#{Cgpld%f*@BH`w!enm*-@O5OV+6E^(wC)wE{NFw`O%X~E16|bjzMJRDzPQFk_?E!l57p} z5P~2BLXCv81xtmXOu1YEgQH^3A{IJ50zwd#PbveHk|O@Z;&|M6JP~&Ld_J>Qs#412 zN`q30qwSOFjcT=epsTOzi6`2T3aavN?~BZjg07IuikSs20W=Yr@w6fUEiOz!KUkb; zlC3bdQk$A-QXC4761gq(3(@!zB_Snq3qVMT%q>MIjwjF)65Mb!;~FrBbF+ zDF(Xx+uJ*yc>ILsCF!63zQ9*vj~s5x9wr7{#1a|NXeWO|K7t|11pxsl8&IErl+Q5W zXrT(k33g-^PLs&@X^;vGp_t7SvZ*uyC>4+4ZIiK(KNR#1Tdf9_ZpffAs-^ONiC!sJ zE2Z5XlFqh{wqBX>WhwJPKm9ZR>e15`yey7{aEvU(q6Z|i%61eIH$l-CBTqD!8Nr3v z)T~d}=(odN5>`Z#+d^#xnnDgkfF{2sXCVfGT}K1{P{M094(U_|lSZjCss>~VayY3% z+0&!fwDtB6C`~U({}5K*wSWEyN(B{Z&C9j6J_vn*rw>`E& z69`2J1qMQ?r7Z%S1Vf;|QG{oZ%M0KDq$!>u21Np{ad*@OgdjBx8r3RQXOC1Nvi`ol zj?MvDw?x^|Ht>q{523SOegvh0B!CTC3uCATp*4xw9-N9`1mag9dQCSNk((1q3pFC_ zCPES5ZIO<0hRP7PlFiap23<)dsFVpmSWqMxagB|SI|dbf(!oKaMnoW)6!2g`($ghV z_IF6t5{2qj*&kj*ERUd6kOGMcyOt1y7@y=kF7Onjfm0E*CPozy%nYp$L2(ior63`Q ze!Jj`q9>&?EkeQE5kNu<)lbGK6T`6yw?nTbsnx0Vh(khd+kK)(sp#)k^mTN}Wjd$z zb)<6b>eWY3DiHBu<6|&HVYt?aV}`Pao(I(r5I;>+fv;do3?+bR3l_F$qY5HIt6~;~ zP?q#Ilj2V%MU6-n7mY_kKKq!%paELZDrJ)XKAB2!qOHAOuWD=WmJG<{8vBUl(=y?0 zum1DIU3VgI+q+*K-LHr`Mlj+8{`%H2>L9V-6C{GfL`*6Oz>VR+Chwn#7F-HIoM1N5 z5E9cJV$=t(g7GvF3HDP3vIWR)kukCv`aoQWgrr|&aEVwf6dWI&7*Z)@fN(NJk3?9a`XnR}%|$$ax}ad-@=+-g-aEqIc;xk8~-$R+*qVfB;k1HB#X-3mIY3hBV0MyVH4xldQnlP@EgJJ*q8(Cyu&t%CVj zQaQkV#em%0k{B|EdQNYUFw+XaEtO&Tm}HKoDxfx9Ly$O{9`rs0HzS`zRVaW6$Jrb$ z_Bb77ise`g{0#$&1f9cb1R|Hq6e@|8Ojk_c*kRJzD1clz8V^_nfGv@$wJNn*sxyu2WHNoftWTlT7$hc> z&Sa2Fg|{UJ9rh~#EQbu}=u$yHfF^IDD{l!t|52rK2lt(xBL>%6I)bXeHX!l}8xb>b zb&<}ZIn+K(4x%Z-&(@0q%Z305Xq!#*H-S{h^rKPm>qImei$#->K)`LJ!68%1hjcP& z--%AWQPu@`tB~o2jAo_5sFX;D^q-V|idkLj?pniA;+5s^BvLs1Si@7}6(9Q5llH2_+$`jmKh% zSj6oxDdh^OOrsoBbjt^x?3SpM5{0tgU>Q_std>z-k7~l|`jqrr;s~ODdT(y~;rc-> zz_x|i9!DzJA6MpGTI)asBG}N`fRiu&Q0UMdq~|WA#61!b4D1$<80est&(b%f{=vDX z>HmNlRF5s{Z509JGO1;w^NxmlimN?w^ zkW{{b`Ft2%x%d{L6)+o#2rD|WuAph+*^BiCz*0@jw1|lo(Nf2$R&M`eQVxTHH_A6) zh>8+9od;#YyNXg7N1IE5N~UA+7ZtL*Kens$Y1;YOppKtN`s20Q{Es4T* zo1U74ELvd_OyEf{4TM)kI)Z#H^agnd%m5t`&5pd_@6cX{jFC+yv#E&ClUOhs4F@8j zSTGa}xks!@skEbu%0~h<(4^Ps)C!4Ve8}hycnrfj&8W?5AG3_OZ%DogfAie09nRbC z#N>m|M~=+mZ5_IfBNg#@qt1LJlg5CKs036LFi29@NxD7Iu?yFfn3L;;czG%2!(y2KrrZ3N;>3_bKIa4#phTjPC=Hegh1sEzTjCQF$&fYS z9db>0#@wzEUuf7dI;g)c`Q}-MKL7EfCl!%|G%yjUZBWcH7sy-~3z!KN4yuDN^4U@$ z9ZLz;0nW9>IuI%X>V`ML!G?n25PA~u`#fI%*vOE{C>@Yf9-Bvl_Aa$iGcsx!iD6qI zr`_eVStrKKW2s=lFqXbH@XfPl_V*t_sQ}muSBgJDGei}PR7y3N)uPT3N|MRNsdKW) zm}r`&qVRP@N>6HnOu((9(Fo=f41qEEgKoFWX3%QKR4P?}yTar48c)h3GPPkWkcdR% z;SsBIY~1IFM52*cPGT?uY+`n`& zN3WD_dKyHAdy%+90>-)c!{9j@Am}#l*u}&g0xKoBT!)rdUX9tkS040IpG^0 z8L;!|Z|D-bZ9DYSuQ24Mbx##|2`4u7zBet+*g(yUIlda@Q-l=}$co4F* zSS(9ZgCdv~Pnxgb|HUE^Qj=(eHdr7O@*@r}YT|aehWh&C5}90~)hqSmzOg~IVc6*o zK|%(F3VI!*))9*VR-8<&GU$wB;pasRI(zmJlnSOpXi4X@1YR;TNEgKnZLU--98MGp zP(pKp-WDY05_~EC1o{{X1^Iy4U^iYmVP3D-<8@7p4}nw!U&K3N)T;F!r+w7!_Pr$e7Nc6{9>EyI@D5H@kcI^{Ck?%=SW0K(;aDIT z6I7i@Je>?joa3HgAOry;779lq;Rx_aAQ|c8}E(LK?AnAmFnP4jB!@c25Y;8jpq05>mB*&+l`2gMPQi7`A8*^Aj0^@R-wqG(98Xs~Xoe`ZLrmSkhA0pZW@Fp$O@%a3hO~CJRJDhH( zb6BTROJo+un04G)2>R`oiEt=o9(20wzSu;;A9U!P!#I=vVLShY+dHal``AZ6_JtO{ z@+hL&G`Ceo5Cy zKi=8Z-mB6K^pkKv@ROJWL2raGjED7OJpm6v$L(~u>`s?s!WO0oibEW%RMXLLJ{$|j z;zh4%oVb}_k4tNXh8G-?U8ugnth`Kf2a zy#IjLbRH?Cyc|);Sn8@Sw`f#u=r^Dv5dF(D%C|1rVgRw%R zytpz|&n7(4pvNBz*g&-5-bT`yfOjxlNLZy-AAPeCx!xHW?)d1(KQ2}Mg7WQGU-`r* zek*%dDqp^N&+z+$XK@GAt#=P_*JI$e_dY0)v}}QtBp)+s6cVXit7z-)dh$e9pH>ax zs6A)Kh(O!B`yLc{8VG$T<{8p-cMr&9(*CY~X-{9L z#$-0Bj6<+1Bu1S?F+AaeXh6l|_50jTugmZ8MgyK?Asd+~3OU8{{;_d?C>HiclF_IS z=Mzi&e1Whp;Pbd9MlIGtHsHebM!ezVWKMNb-KW(4vg)1BefG1T`JLi>Qo(a^-E9ax zxCNmrptV47TpWt|)&ZCDfl;UX9;BI*%S1-36T{N}PJD?>*4v}#Z&x$aq*p1&8Htnj z>r^t8PUFEYNbcR_Yz}WE6AevRZN+4vSqV(ILJ^ z2QxXSY@;g1X}j9n`v)L5_6-;ZdQF2`wHEua3|sW{b#$5mWgsFT6hIWa-5x8Z!Bird zio4(+8}-E_BjXNtC>8PAaXqm_HlK(%M{HwKg)3k-jJa$kiBd)WGhniMkn3n+oI9E9 zSJdDA!WX{q`8R(IQn>@z-j>R-a9bgj+Ye^bBZFp>RwI}6_V*j)-F+&C;8Y4d4X%-4 z#o(}hP^r)v}c6aLAxH>jvOD_5MBecfa^W&iN?cqbrBMIFbb+k^8R) zwxIhS^jh(y(1QCFI-O2KuAQz$mcazPc8#L)D540I%ahGgPCd}5pZMzh-7>;;2R{#>FUR4t8HnQ*)-}j>*%PC2PUjzjxm#Z zR3(vV`~J4Nb6n+mJM`CloYbM?g5F`pfS?RQK>a{i@`*Bqf_?wN;eUG0%()noH|ZDV6&#=&9p=y+U=cE<~;U?QBb>iUKQUf4XnPo8M&H<+B^ahq{s zsCz)uGw5@UjS-_qCPJe^)PD!5{KOZ(_-^LY}bg2Pdq%KAw8ts_= z5mir5Z|_Gx@_4s(JmEL>Db2Ee`l6=s(w;4$^fq`xYp@)KYDy~<&ux##|2 zS&&IBmr7vt4Qf?=5c=dQuT`Nn>NN(~k4BYDsia%1(I|R4yLuT)=KOOL zeO`Mw63(SdA^W(?lTA9Tj?s~z))0;l_H>pH z2LniDLN_4CuOOA5_`S*_huhK*mZ)@At67G>m1z_jn^`xgRVoeaN0AL+ND4X_s)5cP ziCm#l$t0RUwUkTQgJCM1a5$Du7E2A=1bJ=H)-UO?`6AIwbVAm~T*u=d?Hw9Yb#gq;ijb9RA{A>B^u&sx^#aKYdDtQX*H4+DDLw z4raMtJs^YTCmk>u6%xgOahM2e9kS36;`JMb*}3inUrc zm2i0jxv)Fp^g5kGo!UT|)@;b_QuK5&^3r9R=;`b{(PeYmoDTEI2+>$0R}T7u@tEHg z9CnUrep&s_7sOdpkDgSFGUbp?ZynO>NKyLr27_xDl!etXQjNY}rI+>flfO8~R78J0 z8iGBVO{Ax$(}@b5kC4L|%0}#Tz8p4vzbVzIB#P;TwyW*L6KxXHguc7Gr?cPUw%bP3 zGFj(|PN~lBaTxufkT>L_LjOh8JD>l;7am2a49estz19e&Tu$DiQERPcgW%>yp#i7wSX0iK6)C$8dPzQbf^Iv!bbw#68v$R019W@x` zS~E$$N!#0NHYwB!y=*`U2}NUe`drRfCLMKT(@`jJv0z}>9I$(xHk)5MufF}J*} ztO+-9iyQ+&is#|Fs()6@<5zl)Ry`9~P!T!EJjXgN-qBpP5j$pCP|!APR8Kf8 z!`Q28Kq^-Z^eBHu`Szzj^V!cG&TR#Mc+>F9Zw>qj*b&;Pn>w{vBzWs-9v#uFd8hC(*AVbYUs0$CT&(V zUsb;SsZW3UGxtd4(CP@H(UGOnq6xm$s%pf7+oRP%JaHTT)u{$l8bxnkpLs;7)Dnva z+EQ6``E`G``BYocFXm?2>635T#kDkKEHF=U~s5MM~nuG!}+sHu((fs`gady z`~r45bRAVH0#bYT0JLpkEJu=xc;Y}RZ>dyD9b>dwg~?2dL#iA$GM+Bgz&`1dO4K^# zglF7f9Su%^AB=mfBaw+=tGrk3n+QZhW}9thO!elqe%@Yns93;Rx4h7w0 z@OsA+g=o4EF^CX2=4kHoyDiIILa%=FGS61a{NIF!ep=#&lx!L-QsQn`q0+-Foe z3Q@pbgLV`KP^MA-it;L`{upq!J}|5Qt{N zR&{^J6Ky9>JofP?@Uu_gX50F8$Hyz5RfH(3d@*V)7w3u zFd8)jnjxKhNH6c{Hvw8_V?kFsG~yhS_NineW5W~Spgj=|xUA#eU?MbZ>}_LsyW_;k zwv#7LoH*Iue)7p~gBKv1B_tS-Z%m^#kKvhZ4(r&sb#TZe68?xc`qT7-UU}u!Luj^; z%7@|Gw%(b*)DBeTNV;-cRRsL|r5=S&-Q6wiS9f*}TE;E%j(&;MpivtwdK2aHz_7)W zhEkd-W%F_G=!8XU_9a~qE$FX1j23s4sZ{fcb`~FWb#86O`T^Mshn zw3v-1BLlo9f5tXCXt($qg{EEU{}$X8Gm@!?2PX+0s* z7U7rVLngUK+11x49g@lVq;k1(Kql1#>i4y4EQT&i#%>{>4VQ`uzh`u8Y+_7rwvCQD z+@4@+rZ^$#YQw!E3DixFXc=@F8XX15jD_sZR5mzhv)RY({;-QZr6#jw$Tseb>Xin& zFU|hw$)Ava`^B3#U;3@PU9vkmbLaDs{Ypy~cRw7(uiSm=-FN$~X0{g4OYZG|OeXK? zl>y>vRh{kKGV_pGq2hO*i=+bHe9r4}nM@{y$pYl)NO-(KpD#Eh>1X8UWLtY%x7qI> zAF*1Up`=?g1jA*}S8dDN9IuspfiL@F=5_~Ok+P%09m zMz3URnN-sL*npz5cR;Sy^Z_5J)K;Z-%oBI}^M!!hHEbTS4;n|!X8ZW4-DM7Xta`(k ziFs23PFqK}eAwxa}{^z~gPby}eR~Rb(9!sZ6Srs3P!f$4y=s z1xkfMt1(&3ra}F%!#z4^9h3KW6LH$xx@3mIG0ULIIBao5nfP#7ZT1Owgw1iqR4nEd zR6=}i&TF%~?badVcp_V5co9-O+oV5>1qoew^rRw}8HPqRDy_Wdu_vWneelcsx*qQY z^w%jPm0~6xjwdF3&HyXThK8j2@nQ3z$*kA*lGRIP_>(@vunm4G+&@8C2*m@II6dd_ zajPj&WPFMSyw^j&Htiqx`0QrACB&f(V&I6)N2LlDbhG7G9y#1rqfl#ynfvN~ter4q z92u7MJ^2Ky40QT1OTjaxMwxvo&D!vQ+tx1|G7kd$OZs~Hq^5C~ZHQ2-az(sOZ;%lV zC@V2m^p`O>lUg?xq+OP&OqGkt_4!&U9SmTCgW>ArRK1dkbH+s~oBS!ocL+f*AL1n3 zZ$b~tf{g6Eu#A}uI80@~+&rl3ZU0ysqk;oNm1-_ko0%+yBH6l+dO&By`)CH*PxN%0 z)OsSJXfWWG)Bj2aLa~T1&2FAZx}5Q4W?}({Cy)r_D;w*lra1O+Z*O^HWvb>M)Fo!h zg@`+r%S=u(Ig%$|`NStaaX4RjRHP!8DGkHJdL0Q%w^Xa9ch%jeH5+>6@n$}fZ&pHC z^GG#n9&%U*B^{mJT`a@sRp_*Kx8DxBtsD-pmnRub6_cKz&7Sl*ZS{Hy>PD`-Iytr1 zm|U5!aO^i{G;M6oxFW?|)MHB&GYROc$yEL4l;3$(Wc-Euh4J3k4@*~AtE!}dD#gF{ z$~E#KgVJcRn50ryCK-)X>rqc|+#K`~R{Pt#dV1P>26}o~ab~uS*d6W>qaQlA-#0uK zOoW48H#6_a+38YkX<>73f4RALX0govpOx+D)zjw|XV)u{;J8PujP`kA3|>uEeio^` z_WJAh*Fo>e^=vGPvn>|G3C=TM80i<4Z&NbgUo#&P%F%P%ACpuh3Q605!7Lq6 zjf5s9M%31Et4!H977BYarJ0#>w!prXtaEq(#H78it+SmxuS+o!O0f~UIJJLqXJ#(v znHYsC$sh=GyyeR2r#7x!Tf2Py*~@1Zb{Cdc*$*pDH=AKS()P|=0GefFI8)@XsmWXm zUwQpel!`(v>uB$lsx6jb$W0ovL8Th>I@r+^Vw#tgoQ+Dhw!DxXQ)s0c@x;sq2?6oW1_c(-)pTzp-_8=k(?>3(J?P zi;I)>EJ+McSd0db zV|3IOfvWD!Wal}#P|S977WKl^RLMOSv<&pACT!kVp;ksJ$@!I)ndyoz4rL{sg0Pzi zgz`_nc>c;W=dWDYy>k7T=dYgI-8wV7w7PkUogLN5nPM_oO8Y!PS8{%esGkD21$DZ| zuN+HWlzpdWl9Ty>Gkz|G*`}LO3_raP^hpEZT9J_oZe~EVrLj241avi@n_ig>jpUZ<>2&BX!z{fIbvmRc!oM6_D!13%9#>ana%s0> z#NiH1X!M@YggKlF!iIDOvhhMPTPj8J9Jjl$GMDiAQ{}PoXf=^4W>RH#(=7WdjpGn`MU5+}u z@v^s&nLT@|F*jd}_>#G>$5&g)R`9^7T0HH&Rx8E<*BPL zY@d1N@`e4q0AQQFN#{Sv?H~Ub=-`azGh(viz3%bpoJ-$>1)T6FoHWqQP(oJFI zmpN)@)l6>G?##rUo@z5OvzW7uIO2?il**ek(OMx84kl_)zF6S|`_}7r43g3K$H$!Y zOV7UW?4>iCv-=m%uCE}{CAK)OE^)5r+Q!!ERBdaW zy~3;YnQ5lU%Tr71NM&+J^EZh>ufpTMD-}Vu6;^cTI;O4&J8EIt$CS!jTD#vmIx(oz z8cimHR%Nvfg;M#TD;%tPMnb|~&egIUK2}b6NBoh9&mOT3 zM&bc??Cj^BKYQ-%R_pBe(^HF!EG*=-13vA}E^KaZ>}+gSDr^8ZN% zRX-$^Z;-AWY9Br%sk}QH4U7S~>vTr5XVjt__9U}OCNh1ltW|60=*vRd88!!+lkCS6 zt~Ko*VNA#mX)?gbsZpZ?O&Bx}jbtyp{_6gj)0^vCyBGJjx2Bg*o!dTj@!aOp`tsH? z=g6O3np>`O*!A+_biF>av`_&X_r9Te`}O;D<&Kiv{`?`N((=2<)RlKbk(5JEo5QTs zIdn#+CsR%5=5iTlIBL+EUGZ8Wn{e7frC5UHO`&WuWRK@VX*yr|fOB-j0{M?AL%Sog z_sT1mwzijNH}=l%Z&D-gY%ZU^a_#)??#A-onf>$oTZ;?L&C^?}bBimBGjsD(iWXDOXshhUt5`9 z-QV3jEw)~Y<)4mXaenRRg;ZX-$FDphx?-@n#-MO%EKWaTrJiUhZcnB1lg)*CrJ64- ztSnbq50UcQ9TUUjzKPKxxTDn)8`26>MJUIt`DF^RxO9I1si*drHn&$+PVFzRU)WpS z#(pkex%kwz)2nAMoVm8YJXcuYxQwkG&Uju~-lznoOEX(vK`O72uN?BWkBC(CPQS-* z8!|-vAt#Fsh%70w0*zyo7p7*)({uA;xmP~#umDeKWh#xY!jfA~SWeAWnE6gk)(h40 z%!LbQFYT|3)MTCGhxYcim)6$L?q9sb3BKTQr!QTbt|XhBm$7+fXK{9FWo01~XEoCL zUuSCS^;cj0?ffH$+uEZOCL?&th+)i^2u9=fc$2M*3oPpqCyTMOrdnO7hRq6Dzf`Rs zHk)03hs&REi}khycFk#Dt@|jvJ zefiqOb2nbNi8Pi@oq2kHnkw@y1iTYpZ+bpWa(o+I{9M$JL(O zA-mmPTi-mjk*{PLn`^7v7dUFB$+E)b#iGMfU0k2}6){Wp`Fq%cheg8u!;%Uh0+YDr zasPOPQ~M}wHx|e#W>#6YSe>4##k|&hB{8ZuSw?ar)QSt=BnY) z?B+)CSK(%JJ%Y?qpU>^fc+F!$Mw8#>4>yOB~icx3D@FnPw5(sNms*1BpV3 zZF%{$$L1LddSkV6#2zYMdg<94SI$56^v3e(`Hjn$&+jg6J$?4vo;dkndwXtm=kz)b zWMg@0c5!-co&R@sZe@D59<5HTuEpQD%~-GAry+O0d|0}Y3_vg#vIHXjY_hSj&W`Lk zPTFnG)j6+#qnYE&D>0kZZg!=!#i_Na*}3R+#OTj3d78+VXX@GctDk-5{P|0lH>YRF zV$YvBy|%b>{_Lsc>GIs#=K9Lc&gx2}v^-O14^U|m+i9+B%-3qO`KjgAjnLnQoBcT$ z>vyGcaL&iw9UBiWl{B#b!cG zU}$M)Iv;h~ljT}tku|T=jl9YhPM5>+ShdzDEnIl@mFw3p?f?@^Pi|e@-rnK7o$XVr ztFw#QjZHS^u5OevD~okboaOKf0KD0y^|eV#!^Tvy82ULCEaV^NW*=H`djzT6Y85`W z$!&lLN9Rzs{)2-L_HkR(OinIW z@|n_zrI0N*!?Ap|QJGr4{+XAbySj%1nXlJRUD#MYMSZxnwm37nw7jvly0tpHU0zz5 z1nkbR;$^Zl%drrfbJI&RGlft-@DnggKl$m;9Om0%Jjdh3-KGy8aBam~Ysu%h)uG>! z%6b#2%5r9MeWBSXS8MSa2M`mQH?sa@owHyX)A3TeIu%NU;|`M&E=XDtj$~?N};T%99f=tj=s~&M$4Q zrTsDAXW+%X@8s&al@kkz3q_O0~Ku!tTl`E#yqDIa1H^7`LPCgX}KA(1PY5&lj+4x=#HLBEfJ(SwUW@XImSxyqQX4VP$q^ePwQP zrWTDCa;ev3fB5W;8_)kn_HNL*cR}=5 z&E@U0r!QUFI=9WaRT~?pmP?h%1(-oecFP5VaRSfELUVDku~hZD;Nd1dA^Xyw&LlQn^EveG7R17Em^yP?h8Qm0Na~Ejzt9 zKeN7ECSh4dEGsLs`MF%a7OK>X_0{?93uiXx0_H%X>U6VKJxMVTl$wIEQJpTjuyXnO z`Q5XZH|HBHORhKP_b%@5@9giN-&x+=-CZutHuh#A4JOLjn76WddVOwbu3B4Y&QvBW zY^Y1VC~N7;JyJO&AZ{N#UqJ-#a~)Gx-nEYQhL7HgH<rJ0sJR$@2U{#qLYkl*$nbr}NKTzqI%C<=yS|nP{9f{j+DbPw$`I z-B?-QKC`=haba#_mTg+q>6vVO{q&8^It~kSt<@ZMR#Qe_6en76QqExux=$+n&fn+F zKJZJ&m5MJhxv(@lJwF}wRwn6Rtt=F)^>Twl>Xzo3(<_^2&u>lF8~J#af&bigCO%uA zU2xh5C2~LEeD=yS7cV_^^XgOAZWJ>SLQ-XN_U!iVsm)90H+P$-&(=3r$@QC?XRe;w z+1b6cJi9VG$>AZ*YBJ%s1U7)a8uLDMwf`-yczCcr>G$vI$r%x|W*Vpz}FI~O-+;jWqFNH((NR@W$ z)U};0pp?Cpx#m)3adocHT&QkeIK6dxZ*y&OVRg2&zOb-a4}?;s)$LEUc>FJY5DWPs zNyXJzov9W=erKStvf5bP=A4{rs=BaNj+e8|QgL~0eecwKF%-{)1_$RCt5e%l1m#F} zev{&0b*dR#d*%iNp3`NM!C=Z&s*TmX&9i&EXSd3=mD$C)W@Bw;{?wWEQ#3zLEmRjb z=d%rtt*r(#<=IoqKPfW)Pk!=ig&&REB9(`6F^3z;mGi;zKzWO!$tGi&Qg!LfdNCQ9 zuCG>-bF14stK~$@=P*0Hvz7A7Lao#wN84Pe*JtP&=5WhbY+)tU>l zXU^~K&tYiGr%!L3IlpsicP+bg;nb;xMzypwTh2EsxpZNQWCV|i_JXMMSvEZ0}I zrgQl~5N^^`bGH2dG4~$uQC(TOFL!2s)6=)#eRJRI+n#Q_onzZ>+wFkc5sb+qDCe9| zK;)>LDyXtTm2xIJk!<6H5hi0B2}G7aB7;aGCxh;Pohk)D7&(pDpwg*RRjN8)t@y3A z_oiqb<2m5Xe?IxVOlx`YmJ!(p*yML@-gx}^zPt0O$_r3v%u6KG1m4W_2kOtwA zV?BlqbRt6W9QMzDJofZEo^CEaevx6(VS%AugQ%a49`=v^E&<~s$3%ujjiUhQ>!~tL zpBCv8J&tHLIKV_%;z4xg?-+;H4msJ!JoIw(9mI>=|lFwYRelDA%EDW@T1 zHE#a?)Vm0FM-LoIAK*K$JU7rUd?L~iGieNa=Zw`)ON^NkJ$1&kiQ__I$458~^I+4R zurX0%UL6|g`r>m>J^%XjxUg_4t1&|#e)=sc^-sUZy2va9>OVCqG~C}KFwm?1v6Ju3 zpFeMh?+r+Fz0+H$IC=R*jfwJnmuiPIoo@Y~f9jsc-*#earBNZ#)1pJeV*H#(vUmII zulMgeJUk{YFd#g3QcOVfwB)4BnXz%PGbc=(85=%%N<@Ia8+%rT1q8c3?d0|<%dNcf z5<6|i#YTktjJWS_Z$J6KQ_p(`zQc?o->9);V}b&`oISj@f(o#7MMa3)icVa9Dk_o= zDQ@fM?@K10Y`I^EXJmlWy93?Bd_q_|^0`OuyYHnTE^LkI5jmD#oUu_szMdoA9y(y? ztIv8wkB^0k9X~E)k~)4;deZbzy4~U?(}poEHasrGiw%r@eLdcI!Re)^pMUPf=llAP z83(T&;^*_ObHBeo_OgfH5a!AFyGBh3aT)G0vj0%`I)|)u(IBN;@E7(v!PvIXP5!x_ zIU>wIgigs3Lr1%N4|(mmd;j>qpBXZWSi?VtWUpdkUC8y`D4f8M;Vc16}KJ^l+jz=T+7r*D5QDp66s zLtMSbL<|`)a+uqI=O4ZI*+HXSWK+lx+D(Gvrj3sZ9R1`&Z;u$};TbkHmi^#^qNCy> zs29e?#RR*A#?72Eanb}oe;VItg9{t^&qwcl;OVEIc>Kxd|MpfyAjEclx5jq)AI*1TSR?%#>Eoin?u56XP!=dDB8C4xg#I_TSvH)*gNAxxYW~_~U*3!ovN6{YE*lKaopt{ERqfcgh6= zXwYW2Dz;yB9=z(Y6LV(InzhZV(~z)i_Ai>x3_9>D5Kkbp{AcqkZILmNaiJb=BO~4V zyL!2~utAJxkYAv0kdO1^vE!yqpdBUDpJMZ1Pwzp#)1pE{BmF#my~a+QJblXe=&+Eu zi8H25n>3cq0e)=e z>&B!*O8p+|9z6jl)m@`F_{oZ2ra@v-e){^hU1UuTBVzph;ogIpBI)nr>F(z}!rM=_ zB6bU(G8yHV932|y@6_*|H--#*+cylBIx^TRJa$U-Ov1CNF%!myOq?)z%G9x;um?eb zzJr)dHFDTwpJDx;dfD!|Xf#W!?RP|(n!9uqeZ z#Z^~Tc0om%-0;i#ZAC=Hv?#5mKUaf7qbYQRxxO~UC)mrM9w&;X0dawDZjsUB}r1TNb?V&RefM`{@0DzW?DTUwhRnE^6G^sZ*n-CXSCC7aSWmWm0SurpCwB+qeJg z!7~Egl4AQl@W2zV4jma37vu46Unl3O<0ej=F@{Z>oGH~(Kpf~g`WB2|%gX z>d~P=(wqIuI@awAB-rWOpRYj^#!rffjfP0`^9^7Zb9Pe=4fJ%zb&Q=lGhytAcZLpl z>G3D&aC+^Z58wA^wsm|hctY%$xUlgFGZSZwi;3_hwvCF7jtcVgVUuF#u*nmB{C zIlVM8h&l+-%P7x*u2EwH0%wMe_Cp@M{MqPvfS23ruMHa=vg*+jfKtAt6BW$LFN#+j z#W95C=kH4<8Wb}=ktRQQYoG9N9}l)s_4f+!^9c$Hos={+a(Let`@Z?seSdo3kq4h1 z@C=(5_I)KXaqL)nQer1fpE4;j!YgD-Ok`wKY=A4fjk*MkiHV5_pOQ9h>NJ1vn3#}} zZeDKAzN7jL9yVa~NIy5f5k5g)qkRabLw$S$h7I#x`N#=CDeH<#ht${)ergmaSJZX< zTn!o@9XBq3ZOB~wVk1X+2L*?CyVJfBFmCLW)L1umK^gh(KcD!^eSiAnegAm)&wqNs zDKv5V*oe?+6XGJr#f+ga$fUx^xDaoe3tdLKM@CPc65=;uY}~}jQ)zk%Ay*zf%5{jZ zTfm6d+$M#)4e|&L^>A?+I^dniAU_Y!;FXUYS5R@k35(9Vy@iU8f0VzQhqD_6GEaXm zc0U~9j@b;FG;K4Rhy0QImh`+n5tCL??U_|WH@gY850V9XI`1E_2mE-PV zMeRTTpZf-k)uhfG?>QzSB5G2Y2V8e-Oh{Cur);`9%55BMZA^goD9^DIW20lEyxd2; z`}P}sUwb!Bm*5@vZoh$S8Tod9r@?RjbD*nR0N;U^_m__xFE1}E+j1A8!Y;C|e(tXB ze&POOB1a7M^cfQ!IVNI4w6B-9zpGzx$Up!3w|;#el)XRh`Cre6sb)@zA&4I{X}p)S z=hz8j!$V_(WH(U{cmMEd)1$myN4icB0cE%8SNi7)GNl{ zW#G`5iLqfLncn<1>q)RCuy6Q4c8c-vcz2}7fDvxPU_M=aBHjGFMve~h`1IjpB_*ZB zccBLP`$u}foI!VlN5zIj#KcVx@(vFR3-cH@%+ufVpI*NGAG`nFho5=jSyqbvpZAWL zF*YtFAS!CY7-tus@R*pGAQ(w6CwJ#?N`*dySY>>~pf?5#f0N}|o`3trXJ3zukD?96 z)h8q@z&$)NEW~q&bD)5qT=HEyN|c^@eT4GIpkf>u*itO=$P=R zh{>KV%+Cn)a2n*|Kl)7{kHL@J_g`$N{P?4fJoflAVN)X`yn|!M28`1PiKnKCt$Lcqv(or3*_59s?2#&v`zP5p1a@mBvgUbye6 z*GDqr%-O>~($CMCT~a({es5%0@EBSWy+=8D(Z?|7!Iu2|f`ZMiov!$%qu%n&&dg(C z;@l`IVnKlsfe~1Y06!OZU)DVK^$&uNedU3_{MWtr|NZ&DKk>*@j|`g{9TFZA#x}*? zaWNC8jU4LXPV(pW(mzMOIN14}Vcwqp-X5>K+4qfCpL&j2|8xnBb_)m}O|j_Zm)J{_ znQ1{`05`&m9<%7^urg4w+448teW>_HV^)1UopH_Z`LW|7BKh0{y_L zL$CKA;>lLv?$l!4hmU$^z#DJAO*4;QkeA0Wm!bXLocu$4L*OAwA84`KY}UIFm1rop zNaogh_^g*PLr1+kDBSa{;Y=v6~U0lu+gT>YI#lz~c~)z+oomZ_Lsmr3~Pof_?pwvO$|etN`jCw!yEq>K+@ zDIM%=EWuaY7GpK?9uw&5GAzjd#fR?s(}VXv!Yb^4d*v`5qUAvI$0jATq{A9b*-e~)C*GX^?zT?AU;=&>V<5)9g zLQKN=NDr3p9X!O-D<~q=B8VN=(5AzBR8s!_GI3ujz^8p#*bdx!;Do0=lt!3V!9{%nwL%idd z*&E>HJQq}0WWCF}*$Th%%UCBnll^noNpKLp(NL5@?k~I$66n;=*~e${l<~nn?5@dl zh<^QFe)?U%kjNmG;gwUuQ9L(G^*AW5Jr%WD?D9*Y6C|knh zcG>4ck&`a{fmlO;#tij|95L{XSB8#y;T5*r3XXL7#|y*4N51Vw86ajVQ|es%4e?}ez+9tl5bEjT?e7)j;Y)SN-^+DcdQ#-{r1%)0QJ$58N=|Oq{ey&G z>9QX3Pez4;5S@ZQd!2-K!q+ck{J5B)nPVfyc(d8NyO*0g%U*bekUs|n`}z%hEnvv- zpou{)e*Tdo2FXsb{}?@$9cZZ#CCp?kyvZ|zBLaO~Jx2EZ=b(4J-A1~3h6H$f`3Hvv z_>P-N#^B;gLsV#l(Fn-xgVcjr-Z_ zB(xL0(NibJ#YT^d@%I?%=IY@-)QJZ3*G7A|`UfT@$IqBDerl+ne}I=un0KJ>DCc*c zA2{6Aeds%VUvIQxXU4}E)xZ?JPzMq0WqYn+#p)8N-%d3BWcMBnEhed4KS zUg$UIrRSgd`;d%DV-uqN@kU;LZX-P2eW~AQ_egI#8Mu6RdJg@9Cr%7zYPXx4pPLIM zx4-~@?|^WRNvY8+0Ysx+(1giTgNp8FE}12J^prY}U(6sUxEimZ=s<4|T(#S%k)Cf49W}ybjQ^xq7k_eUx6w>h3-ufm$4r}; z@o^!6rGK@fGQ0zon-6}nwe3pUa{N;@sQu+$L1BI)N4)b&zhT43?wPFO?jIQv7(AeF zK&sl9>hi*KuMO~Urc^rUg$MdtmsL#kn-t|5?ZOtR{f7^6c5-ufckvqH&YDp62Hr5Ksat?02~F z?nA|Hn0n{-%&`Oe4jn$$a{Sbhrd?Y%)zz+9|6T3Ib!)%-?z{DCS1n)m*~cG$ym&D; z3mHomFIcc}!3T4z=gpa2Sy53{QdnG4oL^8_P*7M>T3S|FRZ&G5rKEcH+_|%7SIn6| zch38>=YR0Qf+b59FPvXpSzTFHTvSk2l5fjrSZ(C$*8Jkq%Hl%)MqyELNeK_-<=Lz` za2v(FgNOZHPc5C5lRo~*Cs|_|0*Ao{SC2jRsC}^b$s_C_-!UHQ9Bl8}{pfs(a@6r! z`+;(<{e>)W{v)F|Q8`j+On&m|;!Bqv?ealUh$yLp`bDWm08Ez_3PKKTeohl zeXLotdi5&C%9Sg>k+H%tuAIUa+EO`PW}B`|8Utzxd+w&p%(f zbm^y`e)0)Aik>Z6v}nPC1s{F%(T5*?(5t84c>n6$O(eix)3ixX=#D2Osn*DhGp~KBa)tjtZip z$chNdM#lGcaoM1N(k?3Pu!vNMfOHDWif`nEfTDmu@X6CRg0dO!3>*$f zIweKX0Ebd2M#W)R9MWP(!ww3P!T>>xkz=fr---gRQPfD$qGihzX|bcSSoB9RDj$lZ z^e!rgp15SUDRx_145H>arG)Z5kqi6 zi;xyEEQ(dZ`+R_;%(t190+n22DA$k(ixuS#SjCnqN*al??gc{h&K&XJbJ zRv9wV)6>)Bjxsn(OXErMGW#D%V(@2~{1_h}HLYs(5+voldGmS|m7`BwZ2v;HZrLoT zZ0JBmv_b&|fmbAcac1$lP2#L&h($(4x=4#%Ozg6vhzhQ4C*dJ7!oTezIU+7diwH}H zo5O@5Es9Vs`!GH1!!OVu8l!ttR*u+F;WP7TH*c;J4U$jzaiJxrq^hbc&tiMO1|zG) zBr9u71)H`h;mqdE#5G&CZr$q84!LT(!YCkvM#JtsP0h`F_wH@lvs)Q^WbEGE*dTGV zXcey(b*i^(6NY`mx9is~8k74ak}_vbZ=!OrD=J)Xt$cIeR#-mVu=~h~Q>RWG+5PRp zyu#1LwMZPYGN(ZKq8$R!iHd;2Ko~kuY24EUChe#+?%wS{MUfr{DqFWIL1SH=7-g|9 z8`gh4uHX~q=JYBm*cC;v70E`hC7^xZx}y2aHDQ0Q^K~*S+Rp+kM=ij$XkE%`sE9qG{X7w7cO6K{nj@3YcVe?YCfK_X%mhW zWI&}Im)4r#PE=~P?c7|qsb=Bgy?Zx1P-$QYELfGDjXPE^TmDTQR%!b;id_-YYe&T% z6|9{wXa4M7MdiQ~7ZpJf<0pyX2J7YvSI?gn3dBx-$kEyJS1#3;RDHEV@kE7I?4!T} zD$RCjX>DEDT%j0Tq-AH#ruw?Nnwl>^t!TER(%687-32USYIih#``OAB%f76w+g!ig zu0fz8o=w6>aYY-d5*N;{?oC|yibLMKxg8bk%fh;fZFX38?5JyQJ+*M*y4^cwZEi+ZnszrzQX#O2|JlBE_0moC z>%RE(yN%y{!}nnK(x75@(8L96zlvEjt5;T# zMdE+9uKoh``)=9h+V#r?6BG#QY3Wiyh16VPqzUtT*RJe)Tu@OAA79(zB`3}voBD6R z|NZZN_wT>^w}1T~q5F;;wU3r#XHG5C&HD_V=!>Os68P7(qavU*SJYS(bj9KdD$Pv| zjeBbLHt$tXxeO?mckEO^*;c<{Df(C6P`iG`as`u3n@#}A2?PXFt_{BFnoBZnD>4jwvu^h|S=`9s=rmwuU60r8@s(uV!O z{Zv%c)L85RouE?3DN94+j+*A3pt7fN*N)4JE|V3ZM+A!-*MGio)245hFaPq(FGWy9 z@J=i}(V;=8P+CRrTHD=^U$py2i5upvJauIMzCZk1pH=H6pzrf9zpvYSr|~ z%GUZd%U5HVgawr$k$>IB6B5O>%gXAMS-mSO4Ub<`yrWpXP1dI4`;YbyUYtI0Xi(QSYTk8mIoA)&A z6fhK6wr?XmS@+FX3KVsAMC??k5>w-Yuq$i7N$6$Iy!Y`7;s+R;H-Ek0=>9#8yZ`X7 zeZJd$_{fnXeg5@#b@f<_9jj}bxwxkNEz6Qh7cE}2Wa-#;R9agn^y%N)nu-!RP_g5J zSTt^L-6X=&yt_d}WJ^85!f(K@t69G4d&w;ALt!Qm6*0D?rfb)(|2Xsg-qoO{$1f;} zo`_1-w@3FhGzco+@4?Ep^!bo~{EQ6Yh9y{$^vfQv ztX)@F+{?1E{V`Cnk2-6^p~hVed;ah*eKs~7#UW4V6TWTJ%5~q@?p{~hxEE9o?aa@Z zvv9%UPiJnd6}wW`+PtuTO-)^$GpI}uC4oSYe_a3ey<2zfZUUC3-GnF-)=P>lppXfE zw{C+S4F@CwilCyT>+3!kUi8!_2)86d#Ki8(>^4eZ z*}juFZckIwo`xMl$v{s5i*PBD2MR385IkfkocDTY(Y4D8KKfLqSodbczvHpA?;G+eLGlZl@Rve(% zfk8%OKt>54kJ7*5C z^rozQub?6^TkZEBZC$gWc5CC_W0-Lyb-Q_wL%Vas8GrV)8%y z;KPq%vP@=6PHvu+IRG8Q>KOET^8oEBg+(6A0sX*zVQ@`ZoA=rZfH?S=f)RecN2B)r?# zdBxt{+v>jC{)MiFs&vENg9ph04l7AgON%2_QhpKUD1$qaSsp)r{8-CT2?P)E{KNM2 z;SjGr$O+}Q93MP*z&?&1+^rCta?{JGh_O3Z;^XZ-z3ID+^}F`AoOwoDJnu`FqyNx7 zar~uco;W_hd(@Btjg31t*EZ%q^CsJ3v$(92Y#L9une<94gMAfb!EeX#W%_<#FiSCq zhld3-Ioq2VIX->?4A#xzX*@1NUg>y+w+uEr?HIj@O5LO91(hS-q%<{qHlsiXPM&{8 zrFL;K?92Iw>OkHTsRw4fI%LQzTN`%O*YBD4(Gi~b-!gg`6{(#ns5EVAsNKH%aO?Sp zXSi%{Y(9Fr<-oDC#}6DkbM%FGUafCz*wVPiw(OJxl1s-AN;b_9U1%S6edwwb2ljU} z4xPGkM`U{wm2V$8CpBROl`CHz+OnhhXzRKABHw9jIddU@NZy&kxAM+hy72cm`quB+ zz5T$3oQ)UlmviaZl+kQuCG0^d&l0RC(r%S?bW8! zSFeWD4{dqQ=gs36e|Wa<%bWM?ZaO-9&R(S=(sup$)vnik{U?tL$EB+BW1}}wS@Xy_ zsk0vzyVBOW=0wBZ!za%C+Y=8es95jY_nhm{7oLCa`M*C`*VuGyr>VwH>R-RM?@kx> zV;9V0*Y=&f!!vplm9>wYlm3IlUh)}#_^zd;`Oxvxeg5;o|Nk$~ysXnc()=9m=gn9D z{2YM5g)u2LK z(ji4w+O8e?zU}DI)3g51|NMXd<1Y{X*9#d3PoLNi8PK?6%dYdg^-B&quH=VHpz>3Z zus{C?Wn8t($;oGWToSR zca+QF8oj>!Y75_Y%hes+mS5RXenozca_8ukE9G*kV+bl2IuVc~1r^>InOVn6^t}j5 zpVgoOEC=n@R{5M)4zK-qYnRaThsO8K)vFI)>W~yWDnE2VMXq+q4uJt6mMD0XA9bK& zKefI5GXFcq)oxG$2@w@N$OuHeiONbrW!37gsI*->+qCk-kJs-y*wS*S@w+8OIdf_n zPv782MOJCs0T3b+&j?teeD+(&N0^m5)G9lmhw@+~lQ zJ#l+H?2nwg^uyW4?*DfC+1^CuGf)AR{T`Q&w_dodSLuxhdJ~nUg35AGIoaAV{rzUs z**o`p6O~UKsJQRDc;WmJdT@T*aYRv|9=%UN5rzBQ^1_1R!h(__R;MT_DJv=}prp^5 z6}ED23bXSIN{X$vyn_6^ob2MF(vs4W@{)>Kvr4MU%PY$&$}39CE2}H2Dy!zsojqsv zoa(Bo^3quxDG6R#^{ldz;?kn>iVFUE89x=JMJ0t51;s@rpMuKQ%a`wS-+%G^;XN0B zYgO5E7+8AtK6!bz0&8J@ac*IurN{$M-;g_UwIZR#RSXk(Jf#EIG0) zNnuHGfwia%X(%p13W`{lq_D_pF&Kr_uo;_c{m{nO_U0qgMQ7OV#2{IMsC1r>rpq9!}2@^3#R#8x1 zT3%XIWMfH}($WePr+V(ZdF54eW>>LI#avklhQC%0hLu&7<>l4YtQmvGm4FH-D@qFs zK7Q!TGK57m=xpP~v%mR}_vqRC6y#^;W@nr7vrXA1Yc31dlv=F?g?yvM1qB$HLR&$h z)oL_ovOpzWt=1aMY{qBhndN1LMWyA43RZ_DaEiF}ii%lPWnfS>dsfw~xmDPgvI=ZW zWo3B<2bE|e2gM~Q6S`DVSctXlK&9c%s2tn2oyzLzpAVkAM-SeIH!zqiW`n_!ovkskp4XqPU>2 zq7qBOLh|Jm^QvbdF7wK(ORFkoS65b6mlsu_N|0+MV$bBfSdhls? z9Byk{z5V2m!?NwOvuDrm{is{$dX7qt)nqp6v$KtQz0si4>n%B0+mfP!YD{LaD3aBz zGa0fp>8hj*RhC(6u@vOxS6_{PLXV$E$s*1|l zr8u8*Y%h{h&MNa|Wknbk(a%C#AwH-bl{338p1I99DDwtoY-roEs&)NtW>?B&+ykwr zyL-XGio<6v)vWFAA>}=8|2|z`l9O$+nDmH?PMU*N@c0*OBC8b}%qE?d z9op4d*@kSiEY~WVHx?D<=i^*3zI^ZbcH>f9iUw6yS5;TfnKv7AJ6k+{uZ^fxC~K>UzZ;$KO;m*G=di6?u=_zfZ?s;2_(G(a>k< z*yYt^(CRJuMJ2_2wWXEiL~Esaw%lw>4*yK%OqI@H$}*b7ITOIpxLH(?mrWaIJ|T}a zKUW$#^AQ~&DX*+xr82hgm_4_gUu7IsR%2deQx8lFxXX)+ix+ix=8LDdUqAr59gSyb zhFsTnaXT{ycW$G-eVZMX!za3ZdTqtWmZ)wYQQkw|hl1rDMmF81h>G55GMWup21^0K zL={p`^o5cX*({cv9CJ2(s@Xh)sKux!n6n~MHcX4j0Ajhhil`I-6>&*PNyY4nib_Je zd9$kMUd1u7kQ-GDv{59`;eZgfva-dUcI8J=p-XgA&2k7TWz?)#FS62j8&n!CsT0!f zfXb;m4YSc;G;3+b%{J&QMw7Lus#GotvspkKn`=R>bVjo!*PLU*>>5p410rLQ2q)KS z&}xmkoLnn_V0*>R6tf;(v7`Z*)T&uk<;7K4;L0ju`F^JC|yxGbiDf)H1Dk2 z)WDp~TZg=d{M;E8y1%iudD%JET#Me6W8<<&;Yi(Vw){M^CJRtBdJ865lanjzgY2j= zLMEeLt5NH+jAofw< zeqj_5;p2`=OVO~R5)#BR30anOpmP4i)^jIrGulxBl&%`ou>WW`FF4S=(DFgu(QTG) z9#h^!-sjG;V$8vsnlPLubB?tL!LF*54_{E2qc`ZX3~H4Y*z{xtIU1wIpf_m{AH7P8 zGU;>%twx`fWyvw;T6wYLme#`Jd|NRIa&a;CMDaPW4drM{1#4*{Od=}8H^oIHL`9!G z43qHnGVIEoQ8{`P_K<1Y`>3=w?b&_g$gXZtX>QqTIb3&m)r4P$3PC<2*P3l6iZ8AL zlvx$U`FXZ%qt=k6#suq4c{#b}Tw9Kb5I4)1m8r_gLWHui07jc-GN|;HEK9B_+nP_X zEAbplfRmM{8j8v=y~qcWg4S?@@^DLzRaA%uEnmLOj!ONH$ciE*N9mlDab3pl zt^03-%HeIPC)Osg1^GEP2msRD;tJA1i`Aev81?D8+>-q4 zY-@I2VQzj-ZjMHkrO(o+RXVL!&3}zn2SR#_4k<#Kh+Fb)q?Sd67$$TC#z4Y7;z3ez z@<<#Hpp>DVm>1F@u`A0F7DZNWkIJ6YT~Sd$x!$;^c6+z7vUQ;)?8LUHsAazl6;lod zRBN+wE#z!vl|)&E`FVsV2A#%WQCUnm`OL;4!Y#lx8#P&)%%oIcQK<<0G@8sT15qAN zD70Ae3JM_^i0=sIiRzJta*1I}^6@`aMP-FK#Ra8B`Nh>p3CSdHD0anx$_3>+?CwfV zoY>Q<4!EThqw&DUHYv=EVovI?$^6k3Dd zwOFip6-$0T4vMrImPMn=NXt;GGBZ^gj7wIQn4@fffn2apSjsQp2n&Na;C8Sik|Y-s z5t3vV6z1E63C+iBp=bFEyP&e=wi>kOv^_vkG)NJZYu6etweDN7?^yRR-uA4#hy2`G zgESh0DW||{lUTE~YIa2lNlm^jM{m-qv{^iahcRO^tY!m~ud#@3e z;yd876Me^R_;tJMLE+mT0$+2+B zOk~TklEf9{nQi%aZny@sF&!bv%1qN})Q~b+oIuj@3RqVe_sr%L*)|(21JAZW*&!|p zCoVPwkje=2h=SoCWL@Wyd~4o^9iI8(k7|$u6}w5fri>rxEnRV-<+ftc?E^j6AksZJ zY9JwuC@Dhy^SNsgDKKYqp)4+)pJ!p;31lKG%WT#Y#KBW))oPVGODk*@#+c||Y;BI! zR+w*vWhk&BZ^aOL;6Z#skfH=L1j{xcCWAtKxG8wQLsoi%%HHeOTTk<^^^~LAc15@L zwp%>xCwq=cmZ1Rs$cHT}sVFNX3M{V119J;a$JN6zU{uJZu;EON%w?tSLY`HSXF^)gpvln*377F3qQVzkkY5UGgwDeT5Q>@EIKV;(Ys|Lt?Gm?|@`>?arX+|VYc}h&AmoQIVoiE@=be0Twvm5}>f=VP-)dLu}12V0LL9zxXcNHOOQCr5NarB#_!bgOC%L4!=xuO91MHX8&b`y3x4|)h!%G_6shR&E}#OJ`=>a&R9 zNREu8lx7p&%7`rSLRfGmCq@u(^XLgi6_LU1U~A-20YzW|C3%50_alc7>KQ6cil8V` zV(+&74P^!CFH(r3qC$dpu83j>9yE_Sp|!Z2c(uTmZ7~^)#Q0{t4h1rRibg_PgT(*= z!6aeS2zlUQq5DZLF(!pYNDK-E6xd$Hh``oieQ@8lLYrt08r4HonjAg|RJzK_)vLcD zD!ItK#Ug&emJNF?6dRUTjG@>~w1H1=z{VPNI+IRsv=~W`w3#}h8H0Fg)C`5Au9%HC zM(B899$X8y1uc=xhycFTVpS`?haY z#+_wFP-$Ig=bLU4BSm03P`Lw_y=IMCt7RsWPl+XZ82Ns65HDC%8$v)@uP>7g$x|Bf>p7L%B`|eBO27I%w%n?+1IH#?MLmXwBNt| z?@YBCejm070!>PR73BNnWe^Gk<{)V44g%v&EEW*28la*r=kJh1^6{L`$T^M*f%sF$@?2OCC`op|b?f za~?jkY#Cgfpt9w**0%lPnzq)iZLfaVf8T6Z1QnK$6M<=FVX*cWcKnw2xbyqS({Uyk zOu~|)64>}MP$?;@5T>NK0QuLjAa`$qU$U|}089n}dcpi}otP~oEVCNoAczo;Aqq8F#KusGY6Lq2CV=IXQ>O#v|tWH&Drjh@Mwar3p^kmKOm{}TwokvR*Be_%o~S9Qwa5bmQym? zQTgKYX15+`&}~4t<#bJ(V8S}4w>;7zE23vVIv`O{b6Y<7P;qXN(6-V;Q9zNbz)A-K z!AM3johxekG&E@$subX%yC+kt#psd<;8ZjQvkp$13cW!mj3&-k;(JJLl1k)8!h9>* zBk&Uk6S)w*U|)TOZky|=qM^ojGGXZb2^7K-k|%@+}KLCDji zQB)!Um|34o0W~uvGee!3LI+rCN;0N}poLxZ6W@wY zrXC{JhFZOeUkoFBs8Yk_rG{C8%4eT7{kpPp3m6?I+GShl?wc= zM_o0jOxn1JWvNV1;G+s$Ny`$XkbKYC25SywF(idx zE6B<*nxzPF#poJH7?t!#!WE)BbOzy}p%=4DCk&wq z^|mbXOJrr~(oa9#(;X^hr%u%@_!W@o`X|~^*?9SEH{;}m&XX`hg(WcisE)Lm;Dl&! zf*3-nFpoJFqBo5y4N%e&Q_?cil2z%MTD6``TY_S-nFgc)10o0sKGHfRaSE@McqNyt z5(^8&d34}`OAb|iUS`r{8L|YGPd@o%kIVk6tv5+^T^SKa9TBQtUn62u)67k?+|`%0 z%7Y8a+M@6`H`$)K=G@TT)cGLNGFIJ*Q^h~j3ht#}rV z_~gwcIk+FX_6rJVXfpGK;%Zc?l(e+ef)fvcpOlaYaMZ+sr4OC{!c6WygSG<6$)z@+3xbnIM%28P} z_v^|)L(cykRMuWqCRuH&s%t4PYN@N*q}*-2r2LYb?L=H~A=UzE5hM{3HqB(px0&(_ zu?#xQDo!|^xGgPRlbM;4o=$-bpG-uj(dS@Xq|Fd}3IRnI2LY=If-VPtLqQ*8aK~bx z07i@qG_PJz0XrB@40Y*4t)H;@)o$n8$ch~W$CWQoqy(_)1POgRB6jKNnY6Ua$|^f5 ztu-ZEZMLl?HLW+JQYeYOHM^7^V)4h6$4iV#hc?ujPM2lUBNf_I0ys8nB00=drvQnT zKu+46D1e|hIA+>?6eo>EB|Je^Y!)*n1y3yYg-~B~EE~--Qab??FBlA;HS$l#NQ>PcsNewI+DQOtmOu}0tT|6`9RxMvSj1%oXlGhN1;C^z% z0g*yugQfJ0I*~~e${0-MEbK64Hi8@-xIkW6A8cK`c+sN9?odHhkOncYipI!+prV+Y zIivWDTUXuEG1!61 z1<{qGt1D}oZMNo`%GF9IOuGi{Dy%vop(*8xyxhXF>e;1MMBSjvF=~zJdaX)tRPo_e z$(d?ndb&<6X>%4X3G1TD&}FGiW@&QKVm*-+NEV`h1F}IoDsm&aAPzZ?L;!UnQO3)g zj8Nk6RnVMbnlf`AY?W;We`QpT?Afztf8CaE7Jqy*l;hPuD`W zKs(W=E3P>UrI4~T8e|3)LC8oLYm+bq(GeR1YY9Y>Uh9pRTEv9*7p*q;fm5;}<*re; z+LfCxsOR^O?m2Vx%=WE-(s1*O+EH0~kw;d}tzLU_d3oXTlWVKzuH=Lx;(x!eu(CBb z$4Dz6K~^DE4vNA`{%_C{mQZ1bvL#xhvsSN3r%jNYkP2B!DhE^(=`fWp1yGbmb^LYk&KX7WnM<4#GsGQup=fs{1hg&y% zeJd!6MHgh&+%e*(@Jq;IqJgrEu2{;bG$Z9@XX#+DwHgv0n3YsDJu7;B2AQ*3OZ#nx z+F;hCa0au9yMl?uFAFzm($Z)tGZ?d(&8QXDnv5JVq$ETOvmwuDHBg5oS*BJk0%LmM z)Q4eW-*&wStb>G!w(HF*#D*>I^dw(mUZ8u1ffkm$o9 z{Z=n)+fa5E7L)k@6F#i;#WfD zSj$;3x!8K5dD(_#i*KDM(=IEUx?N|XOT>S{m}e=hEXm_iY=u^2pE-vWMUdD+L2CG) zrjp=72Sl7u;gT~_GSX9pchY3&Am6gd_6S(SvRH)a$EYY41UV5OL<%j2My8DD(H+tz z{+x6Lp+H*g{U_(opFeL0sGQk)+gVdgVseZ{GTQHS_xr?wvsccxo;cFH`SZoQZ+(Ki zhw{_yLM5j!cdkA_sfLmVd=mi%{U^2p=GPU7BO?A(LmH&hj!kd@ox-%l%p|jlq{9U+L64;+t|d*tic40>k6r~T^XAU&F)GSl zTDM+omorD2kF%vFvpyE>>vFdJupN~hN0nxen{Li^F3oq6e-S{AgYt%(*V^V9@q-*ploHz0$!=BUM{2#crJW&HId^QvZVcj}?6oMA7m_A9*2@1{*h1(XlEonqIH${8jx z{`jDsLV8YcM5bIJDQTpnl@CrpPa-T+FfppwS}tF!HbAT3jwEE4Dj5Nwq%~T)6OaRl z1Y&*QfrO+jlOxnpgoUKgfPImt;KU^p;vb0u(eYnTuusCQZNqzt%9%TXa^_6a>f3^1 z*Pb3|>X|bb210(yHpHRm59~g?h#7;SH1KFt=|asS6a*+#L73=)`6YOvB*K5CNkixr z3@v>d5}ZiEgLW9yMl^?v+(`GF7Ql=q%4vcM?p)F*j5MgQD^1nbVW6_DN1ygK64Leb z?wYmTOUfDLJ$m*&Tnlw!s}#g(nPtXCFzM**R2#Q51q)$Vr*A!3;ry4Tv@51m{eaNT`q3$xKg| ze3`N;lVDIPf)ZjiD~5$jmzW>2lGYxn#3DNw9O^$jLC9RNu;9muR8SyZ22e&&p@dr@ zveLs(dz;Jc;pv{EBC%&q9tkfNf&+XI9fP#Taw$qGrzd5hGXu*?s*3}{13|`7gBNa+ z>!Ub=fCw#1+N@0Nq(+M)f?kr!qCh1SxA<=OP6HMNJcw?Mpq6&u37J^6W$0ap3Pyn- zE1NnooubTrDqzNODgDBHa_Oqo8R%9Kfe}!!D=_}Ba~T?BM{mwGWKjU3&6vh7k_Kr> z0Si$Q^wE$ds7O^&59u$=1ooLASkGK>p(=P{%6-R~npn1F$o}i+w*NP*G$QZOv-iP1 zDB3P*uYqo1+OhMQ3M3wvBnTnVsPR7OL@HWALY;*YNph${fed++OwENhb|Qy@!xIs^ zV0eYh=D)Dq23ZGs= zW1vvjLQqIKOs2EKz=&*MZHZfu76T}2tD~$)#oJk2tqERgvI-nqf zAWJX+HJ*z#2+*d~dymn`DyX#aX(4`o<6%doCvU?1TRx>0IhQ&Y%t%4D3FpHMT?#+6 z!*OkN3gS25^Tqv0>mVc)>##sAfkKXf`QbE?A{r*8PlH&8tPr(!v6T4M+#*TyNd`%3GgGN{ z5Sa)pkk^!3|?xa&($(#7)RM z1dv!ofI>k973q}`R4(m2*EK->^^O-P!~XYnvg1L|-Y1L7dL~nErB#jVkp*h73t1|< zuVI`rX%);&L3i*$%u1ywk|j;cwBa(%gJ{iSgmQ!ICE_udmDXBfSP7I76Um_^VB#bmcDnW+w(V_Tp%5ljtPqj zDratbLbrFZ5*jVmR7@^ffyf9cB8l^bxl@!rj! zedT)%H=pYM{sIRg^61Vhm*stWFyKt|CKeRI0Z|?n2MYvR5*~f%T2x(bad-{;b%}PE$0@MIrE8C@r`+z6UQXT}GrQCNsi-V=gOFP8~RP6tG z`Yw9id7mB(%nD6S1{$p)iNr&bxk0;8OxDoZM2|*NMpinDuE_j<0yPW_F^B}IOx6@@ zl1--$0ll8(CFozW5ccsboIDmpVqo_HzKdOE2U~BD4?k#Ptt>wA)XUVPn4dvG1fEUoF zEvU#{1r;W_-g)pHLVRTLUCW0R4*^UepH zV3H$B%maslfCxti!K+}R2U?y6Q$-MP{ZU+1${DlhMH<>H0xs4%~X_vyh<=`30JTL?$E z1b(oi+<*_>la)lkLY--lLXb2!@dQi+WHfvnFe%9p3PSEf#6$Eav;*~e!6nO}%8L|CLVjkYQiz=LXJo~W%C%i~=|^dnuEZ*|YtSLZ(=>1^>cp^Xkl2;l zmFUZ%+FHewh#?W};b$eDlVKqe%VPz*SAp<#rOkhh15h=)QYjic^R20 zPOH1bLDP^G=4jUTXY(k^pP~n%0HP`fIet&-oVD@`O_4`r@FY2s=PL5E^q>fl<5|iX z9#Z~<^7I>S8m?WJ_vyh<)1N{JE5SH^h)a;`rnv;`N+<_wi*(SZ!9_5ofgAiRs7PCa z=#|u4c>!T8%oGJ4nI>cBU!+-?Ly7{NW_bl*hY&~nh!HX6Oq9@QX8yTFrkb^*;`p>n zYn21L#@NqwJ?_CZ-R>zpMR)w5f$lSS1wjU62PJcs|G)=m*xejs0lu4G@{CU8u4K0s01%r+~u`tN!S%8J=}=O z!49Et2!~wae>*BkNr@?`X{t08Le95NXaXt-0aAdC0TMYBa3t-8BOxS_2UIG94h15M zmTI$5YhoxhgdbeEIzwJ7I1v0H56qm&lnN64h8Y>mxRN3h_55@#4MM3Y6aU;oRGd@WZ!h-n zXv1$kj$V_EhRZJ2RLsALE5**X}&pet;O=@}qw~}@13_M>{kGVAy|I2|&!w*03 zft6X@zvYc%ccvb^MMA=i6e`DvI>8yDuNYPp4PW9;?8cYkSeA6Dz#s98sMdrLl6+5k zk$DoDghdgzLZC;}WfqIHu%u5~x;j%@+*6X%GE!*j<}dOFbeM6A3Z@zrp`=DOU~fyrDrrFGc_p zs=I0MEheWW#>+$(MgP;&()ipGpzNFOE%HS`FeoA8*d4N_KEBY0_|G5ikgmFPnz6?rZg zn?b`ed^aus%nnIU%S=Xv00usS{~|6D=c&?@Qsa}7$18RvxAyH5$7R#{yJ#dK9BFBZ zN$S)j97T$_Rulk=NugNO!We0pn?P}%EZIV|LCHc`Si&(Dc2d#bCN38&Qqel>6H3V6 z;D_dR;7LtNVcw!5GRY|z8sc883-6hloRBaWWGZ*nNKV2tC#B05o66UWYv5Dc zTa9tlLh|dGfy>kl{In3!$O!*%HsrukkC$#AT9Z@LQ92|6UN<8RTZ`S+rtxPJFt+ij z>B&h%0C;kphzy+`DKq&$GfreB4_UDjW_N*=ZT|>qNvWCXY0_DYNkrt+F#sw8e2L`{ zcMO5fKy6(L9kMEou=n(i!WzKb;jO993+c`5RmlJZ6r7Dp#ige+Z3e##>deezA{u&x z1|fzbiOEPxd?FeoYt`I^sHB35EVM84+mZN`bgU&2i-v_WsQiEnO%+rEbC`xo&MSLdPCCdb;Gxfs%aV+HYq+SAu%m6IVCM6or#<&+~FC_M@vdbNlFk@m~?Nw3sK=p z_`EWk5IKRkM*ek>j6|!1ub5P#HCa_q3ZTN+!KRok)YYWV0J?!QQf8wNjfCNGXt0#1 zH8q2f7VFAPtE8knB+g723o4Ae5S0|JM#W5J+)0YG8ekHI zfJ9HQjg(Aj)}ik}x+AqrTZUL76_Sb?u-M65R(HkxKzXaUeEt!iWr*&eF{C=_2@=QQ z{!>yCl9EXa(+L2QQj(M66B3hR?rF(q)V+1rS=%JCTf8MP3XU{Qruvi3C`1&Y8dY{^ zN8#fsF5-abFP2_FnUoBn5BrFhf^(#`JyWmc)hcx=(TU)JUQU~lkQC1Z8sb|#e_~2} z0?n7HX}WZrUPeX&8Z=fx#kQ$us4Q1DfNJ*=zv%bSK21OVdYp_(!dVuFAf+Ri$b{Ec zDrGG23!h5?6wf1VT-3a9KsLgCnNf#x#;QWnfhck&jS46R@`8{gDM?`>>XVp;(M?WH zOig7jXEHO4ust{?BD|!;`1lF;w6JtXeh*P88QRv?)aS>qrbmx1@3Z_)s6fJFV+rkv zJtSAw!ak!Ym{vkqtOy~S6u#)RR;p;?d}vvKgOcD~+BVYhK4=ikuFN39yk^BQ!-PM6BB1}`SFQKoIpU*iCEH8 zlG9l%D`940Li~)epaLvCL`8rQMC7NWPf6Qy?sIOrh)L(=|C2%E#MUirHP4qu0 z-WiUPCJZQA5WyA8tPq%4LO><`(K2NdMM;n~6_Sz@AzBcY#Iy_vc+*pP zJTV?wk(DcZhKc~vj!K{9g33_Qovx_x4Es5r+ox$t37B;rIUed6D$+121hys%h984M z7q;{WQsJXel#XC9^+)!XvLGLDl#0`qTtIk6F`t>tzr!J?lWjvJ!5yS0&mhcCN+9(~ zjh~*FIDJ|o{svJZk|S&pB@-)?NWc0~H{V|Ja$EWu^VxP@d37gopo* zBgaEMMMd~DbVuw65YVbZ*s5293ab~wNK8zc8FSAumK!hb87iVc4phL$ zfl8;Wh+VNG#W@8m#As-jBSD3SdWH%XLU?Pmi1-9rNsI@MM<)vn8Pv>+qv1qiSVCMq zoU9bjq)nT^UGi%ZJq`3jT1qOB8@iLKtfe3^OLFoI3@Yv@fpCqmEisKJAT>Nju9z?* zfk*K{Jw?SHtVqPNTrmowLEPz-6`mlMY(J+wx?C{qJaRn5b9gGFNx|nfH^Q~CASs|g z(-W|gAxq~Lb53QA87vA`hRC07mt+xS;E~iAc8N6xVGK|sS@H=hnu(1~PDm6&B8B`| zBqA-9pcW&;BdMvNkVur9l165P3?(KcOrMFh6;!tLK!f<&?PJRF?k+?zI^8|+GtWt7 zOC~Bv^@{KWvqF)>!o(k{hjijo6JzBAnf!&C(G^Db7v6_(IFtEQ1SqQX6k--~;fxfL zz@(%Mp;8jlQV|Ez}0`sAVdZ$YZewC z*`f8(&J=Kr^EOIDi_mF8+NBZIW@eHiOXUZMh*?tN@y29B7>>l`q?r<=kQH(Vm;?so zV_N+58Pg_Bo-kwj^chp4{&bAi?9wf7-gP-Mlh7qv#XX}iD3Z)nk#+IV8=6hv-LS(F z-2;#KZe*HQj5+Epo83YJ4fX+GRoVx)KU=T%m z?D2%%*|WQ6SG!}`(s*nuOID&J${dgFu{Aiy9!s)BT67rAI7lQFJhadL!TtOmQa2b5 zyXiCNOQ8F8xRAQKepTQ4*0<^|uUuFgS5d5^7Ok&i?bqzTVHDOS@6L*N@vK1Ir=h9^2OHVz)Ixq+}c!KrIPd)R*Q&37zeee<}Uniift}Lyrtgg*2EiEptU=^N6^~>M7d&k8U5n>sv{MWxwYU_zi z^V|o8nxfQ2N9%e~AH%Hk4n_QLY=;>zmM!ph3H^23jOgt^1Jue{^+9#j?Y_AOW5 z?Thd7HBu0)^}qZVh`Kl}qWvdmN3nMWEe>%+h%tCJ&T~%_N$?3uW32M@<4*!<#g5k} zA=?CP04%#ieY1Ay!uq->arnEsvWAZkOV-X`SUrD!b#;BQ#l^Xm zm9@Ey0bdHivKb-FELM{h&XFu!ctvhM-}{W?x1ah%17NrS1`m z6auVZm*|?qL_cwfPzz=iwXkUO5Mnte7-XHl7uKIxKY#xGIzF<#zP7x&h=hk=;?A-DSrdgPqo#|D6^wD4a)nEPgyIAEP-`{m*o42Ei6uM*P4*uo8f{zBGQS*sD z7jfo8tXhGUdW!SIr#Mcalae`}AlM2b@`d6Lbg%NS#Y0Kz-*W^G;g2eD*+ zS)^gE1+JyJ_2t=_<<*(_#km2j!u6eZvC2QZzw632Zx>4)5SpX-6r%}ZofEY%6|pF9 z2qJ=~##g{7w7jqi_>Ipz12apBEU?I>3s5B@%Hk|o2b8kDxUhQh;@aZsg%zAaxW$Ta z6A;SM3`UxppP!$bo|>IqSQt`%^zXR-^vK(tAo1k7H?F)-^s?Risg5auL@87n`KQi9 zULv}p5Cp^$0b9|yK`gA9d4qe19DIIlUf5ubzl*C& z%Zp13AQK#BPB;oDXl;IeVQzYIer|E0U-{9malNfoUi<$_R=Ken@@-!nJNCApzWK>3 zH($Q>)yv1Yo_p)(`3yJ(N1;Rdi@%7<4;+t9Lnw0K2XGl-f~TH?MngwkMu=23SwwckyvzEm0MawniXX zTV7gRxG=kP{^Ih&+S1(O(xNy;bF&M0%IxgokHu*stegj(fYHvw6s%*G_0{Fol?$^AE9Z$KOAGv6 zS|W^aW@hIW=jRs}CTExDW+rE*XQ!~rkn-wpa=q0mKNRaAN>+K-y%5K~``u&Teb?`} z@@`)hH^0L_P#Sf57995r&(K4EmgGZfMz!{#r!NVAA*7)4FZKO6KO|>P4{c)rEr$oP zV0CTv()xu}-eHpU6%4ezJio%vzp}QtL{wQ^UYMF+Sel%inVFefT9}?*!a!3~m}Pc; zc0hUc<17LD-mSj!cct-!l2zVqYUNjkfBfU&UwOCh`0$T&wFgL#lv|pT`nVp$knw^;zu|!0d(V4l$xtW>i$?=gP<+V?6y>yFJu07kaWR;SA z-r>#AM_zyZBSY`-#jBsb@@`-K_OWlj{`!aB_8$S@0x%2#QAJdRoSAj18yf59SC`2=6n+?Im11XoX$j8(o-E@NbBilWa|<}h9Oq|x zYG!tRW^rMT_rgM$WpqS&?UP(D9p0Ro|Mu!tvdX)RJA7OGs*fG}_Pcz`YggXwi&*8g z*S>n}?Y>2jlK-4V*g_ges1*gE2rCR?5@~S`A>t5x6I%AbjIGzH#XS@s{!i zxCU#o&RdAb)j15ZNKg?e8K8zuKqkTtxX9Gh>|DtzlNe=uY zedp_$A@Q}LXWsccUVZh-yM6In$G-LIt5^S(Tfa>hh50eM#ih(6^p22iz*)hhh%va5 z#$T}ZScbez$-}vUR}&;GPJ)kMj|+rZGVtR1(mXMDp0vAKLMpSsl-a4d+1c4?UQSHS zOioTrP4jkkYhQ~6;Lf(exlECGL4muERcGjr3NmdWvnso9x{xv8m=uS}7X_|%B< z`sY6T+0Xvj2CHC-4c8l2{_g!<+r6Kb#&amRo_P{Y8;>>t;G>)d;Syyr1n>n>6EKAX z^VA0~UWP&;=d7)rUxhazvSO39wN)5L3^I)!2(Pm%%V7MKxs|zjk!hx9IW!Z(7&yw* z)Wq26)bQlw)bRM^V)+j_O#`^B6kECI4o0p0}W z2cYm5hwJ6j%bR1NXWl3{OZws}AOAEF6G zGJP+KA2EC&M53TJ0c){V3FeCIvqC>-ZJyvN=p;ceT@Z|cAd|2MaBUV$GBbl!<|g3T zra2?T6F>>BF*!OqGBz#-C29=!v3D!9Rq=g0ATDd1@TM2pvEu0vrT#4KOk{#am$P+{ENG{xD8F zog5sW#y2KLhDL|5%-ATO6Am*x+&|PkIIjHUt6YC^bjSJ1FF_tK%T9xX=8w=Ah#>`$ zg!m&ysb~y7`Sc~4=a(<6K7M}XacGp4HIB~O(#kRcg(OT&Aqh{BdM75QsEtW5BIOKE zjt-4YjEs#BjgAfujgAZtPYewWjtmd=bC7sDG}1SrUVRer&a(;)FxCXp=lBIC{Rt_o zaT3oVdlqg9k)#+>5Ntkt8`z$r_`7vBAcESWzN_LS%&lr za2*;O=*LlTi=n~6{=vb4!2wJ&GBz|slo=fwoERJ%Q-3NRh`PxtBgbCeaGti1gRV|2 z2)!+Nhj%5p!$U9~8G%$9 z9UmPW87R34Zw5F%oS#0Clm`d<_%p5k^gnQIu*w^6yu3ZD2r2F>SHVe1u3S>zzWL^R zw#qH{i;-nA4h>}v4Z0L47F6eA7Lj0!AoA(USZ00g{MrKj9U{v73UY#_wS^U^lZCl) z60l$!$vI=w;}gOnqhsR(BS4c;5ln^$2_JpE1O0=&J$*ytBcmMyeM18S{rx>XeO&|d z>QDb8*AH&`%0Gowgxpw&YK4)uV-;~f-5+u>wefS$UIM5*i{4SRIw*utqrfc*>EpT} z3+R{&xF#Cs!25ZaM_L&(*kN*NbY^N~e3I9k9Z)?{7k?NV!()Vt^!M>@sJpvg1elKg z9`X;*fbHvQJvpcS?030-@PQjA=%2tUS4GOGl`+b8tWvt4$5x}4273Ajhx+^adk1=js|@vZpE+7HtNrZvfB*M>@4x+%T7?;z(nWaLmQ_mki{nET zD4^Uk41s}A)}P{);3*+1MWd9e2Zn%F4{zb9m!Sw&p%~%TDETI*K(3&Z(Mi$|P)#7& zlAB->&d*>Uk))@+v%jya4}j9w+t)YT+120M+wtIjN5xnE6W4#g_n**Lt{dgeQh3?= z3A%beQI%Bu^gn}a;z`U;g579!aDK!Pj24yRb+905HFMpm(^nt)=1qBN@w77qy@L0oOmF zRbILJLw)##QYzZIuUx8h96XReNNP=+y>li7AP(pdkyTN|WO}|JvoS1>WzW$!xzMo7`Gg6FArW|!CKUd)Kp1CK;eOyHQD*?$3Ztw2y=%iArSpiTEeMShTA!jTc%bHu0$R0^vd1iYu)v#?xh9mBA#%+l_fUlr}H z>51vN8BWgNUKu5)78<{eEOlg z_GNU})=g{8_HHcv1tMixumyC8 z1@DN*OfL&MiPJMXL*f}7!98Y5Cual@J5>5BP#bt;aCD%%vwwJ$h%$hiG_Uz2(tI9;tO5*D;AIx@$dU{*OQY<3IkRzkOh{DK>m`yQ~7CPZGu=&oGF6i3Z{0 zA4FJv>HNad_Z%xSs0=88O1Qukd2e$gG1P5l#|1O>E+<` z4D@&R^>_DlboKRiboF$#wRg0(b#}I%JO0qVjO*B{Zdi_`3#F3z=_V@Jl;wHV_{oU;y&1YMCdfS`s+n2H|OLc9_F>FtJ(t6`t-};k3 z`MZZUc*o|Kx64;hqu?YAtspVKM3}w&ICK1>X}Y$$ME47W2&!#V)85d~)^e`#!DA19;Qqb7 zt78qvP&HFCOzj!_jqh;%=#dR}*!=SLSq0TSb3GV^CNg43a*vn_yhITQdm`GybVZjZ zrx51|f0-7AG4OSm(?gI2)`Me#@crH0V3HvMZF^^XTUS?CcV}l$XJ>cY>C@+$n;MTF zu1eQr978r;-AWjmsamG?&+Iq;l`d^$S2x_Y|XJ3G2MI$O`2 zKHGTm(FcnOCtKxcs);>R#Z^tmwm)e9!}q@T-S58o=mtA%etEmBLNpP>JZyO&9}DUL z{3a%OX!Xp_Pa`XsqR~S~6h3Jh7KH{6HS!c@p%TPX1_%0v2L_;Idwcr;^}RhL;=Znq z?#?#SF<#T&e75o2BX`vmT+8+nrfnLgZd;mZ*^a0Gyz>t)zx>imub$X!iVYv#E~|(k zCj|JVfWHXbOasfR-o% zgDEFMlhZR>9D>S%3m?`UblQ(BwOoq6zJ%25KE zL*gN-7`)9`3C}T&XPtleGp^SjyJ3fqee8`lMxMLz;Wn(YvH}Swwu)?xx4l*cUAyrW zBs>={JfNOb&-+V+ge*Y+nXBO+gn=CK631?v?v}i15xjI(iS<2sk{iaof zJw7(_KCA+hc8$Lk8(7|Z&Ag#DU>#)&2o45vji$ytgd3q2-T;Pa z;;Q^)gq|n~Xc*)+)Ym@@f6^sFib%(uUDSV_okZD=mgd%$*2Z&W=eFki4%a0uT{ASB zsN&kTF2xMRQVmW0ko%9{f8~`|UO#oy47_^o{rJj>t7{at!P{Q9%L`cb73AllGGyEf zhDp%*^aR0f(6dN&NJ5K9WTzoi#PJy$hk3(Oh9FSDZG*i7yd%(Zka~LYllE=`Y)eaX zdn?RRQ)_c`TU%RK!v~6nVj7a7>z1ZEI+4~jCD&9G{VDe!G0H7g*+lYhHLjF4uDrs^ zjji*xSFLjGMnw1keij-Cr2(mj={M2aKpQ!SK6G{wfx$AJWH_c06+1RYToLDIkb?sk z+XJZO^mKJl?cgJvp4PV3mgbJubB&!X&AdEy-#$-`Yld!Fwxw7i2WbgC9@SM-z2yGm zpL6~A^hRGfMrgTlZP6-XiNuW)v_;Ci{h4(FolC~OA zRgDv58mg%qnjTk8MVB;P##i2Al}$$3YP7w|s9j?z#TJh3uug*TJ^wgMbJkYqmaZ)= zK&D){03W#w$27mpXvX~V^!&UK=ZsG*A~F~m?iu6Y3=K{W_I1{lPGy2NjcW%LthkmKb-MURXgWTk31TLJpCWQRxVFmL{pl$t33f zo^F9qx;i@Wl8(;yW_+ZvwXvn8qy6lokDfZU&y1^jM8*=bs_MEFiN#fdj6*&OebD{K zzu@}u&1m~viMM@myC>+nRbGL-EiG)>s;^wTk-2<9sDOLJ3mYkPBZ zBS)#Jv9aZB!|~$}?ak=As;Fck*^0-MxNM1HNK=$>NPE)#$G_s*;43@DD)f+<(jd?> z__R!WT?7?SEt=UGIvlfeBa?HpbU3EzXP{0QMT#;CXdCS7=>h8Zl9D+;?OiQRJ)LcB ztxYYhWaLHwZByf!a}AF?aO|F1H*RQAMJ6k&k}Sy@CQ_w1M=30mgE&Bcz5}fScq1oc z7N(5xl;u_68*ycsN|}kl+36v=9F&HlV>&T8F+?p$b7!!ZmPT&}?XND;&*RPib~CQ* z6klPumS|Fnv78<;kS)YI4Dw7Zh^d4Hm|0W?lf!5+CfB4~}`Pv#qj)=?y%$Fi@MUoXwjmBeAWhhjsKHR zYU<-J?L1#u6H6|{&?NX?G?Nh%Gd(HnGCe;eLckpu9qb3hiT)|n_25t^ z0IstWb{3T1+1}bLkS&qr?77C)Qx8A%@bSB=QyEh>ZB9H`!lK%H%wKDszyAnYB3e8 z9}AgAOo>%S@Rh&*=Um_1c~%iRVkE_sgbUz&`s@6m@539!v*?%*0#4BR0lNX-;H~NW z3=H>lb(4fT`#alvds>?)3R^nc1esETDoritPM>Nxez^YbNAF3i(WqhTvaEz8HLl8W z&QCB{5ebH)mErj1oof|f{^ATZ4`*nWgv>Cu7!0KNS)865pCv1g4~x! zjZCB!yh=BON?U7BBh*1lM_Vg(VNX|6LrZf@<71CC9Y1teT~%F5kH>5itEf^`jYMT7 z77GPpkx)f2Mqt^&R$;lr+5%Iy%m_}?Go4&Qbs)yRh%P9K;jX8U&eAL7t!T5;Cmf~* zf`)@S5Y5td!CSYUqKABzpwfJ<@mx#8nTHzAK6LP|yZv}15>pjDD&EUcH560AWlDpcbME9Lr_S7ep!$F-f$KFn7LUc_ zaU~QARBCFVqC6aqhT;iTTg57vWusN#Z8wlkTdod89aEwv;a|5|GYj7L736N@AQ~Ki z**Vk)bBHkb2>M#+QYP>bVVR+^(LqG$gFQU}m0sA$KDs|W5VW2Acec5`qra)GqxsyK z78tl@P~6Eg4G$iyDY}wCC}f^^IBG=p1S0r|5~z?PWM(}Uf1DhISvFYZMaY$7H;cn< zSmkOZQ=%t%x%E1z#QVM?X7-n8`=C8vn5IgeL~M<2hd~y^kq`(%E;=&Y4+95}fczX< zrKhvEt*yI{4p>J!iMgY*`CM~L(;29yQ|BPz!1|5H&orMsaWE5$M&of=l45E|llD|b zq)25DC>MxSM&hAh{F#zferbbM#PJ!~Ks#;q1YO%*dSk=smaPI0A$$d6EG(kS=VD%; zl*9263@w9k6Hv9Ht4zB?h>AgMf{7&k&<=x9>FD72P$a|VH@Dy)EiH{_sec;Jo;la_ z=p!fYJ5r-Y!LxBmk}Bhd5evqGd%_hJL0Jk`hGjV#+D&F=&&ft#!6=)=*;}_t>EwKv z1GFuU|IMqs?<+9)3=JZVoSGBfGCjA%ZU?-Cu`huAB*hQ9{E*3#+jaF1BRH58ygi9J~WY; zaT*paAXKAp`2yc}w+(c*V;(A>4jLP+&5g}aDQC`|Ig3#^LTAsyI-NXzudTuxL=`|= zC=>}tqQTvoI5?GZOf3bMpsYUowmIni^@9YvUs|axPQq5>$_?I^8J~Het!OBV;U1Js zYyyE|njRAvpG-V5ilg8s!-C7F4c6U;YN-d85!5v$VM|L>6J+Gsvu8OxO`M^#r%#@` zYp)-UMI?B)cq|}E<&~j|m=p|z6hl#?P`L5RsG^u4{t~v`oSENOKM4PTcNNs@cC2!P z_g!B`dN9kRI^az#c9KPD1rh#rGOhlD#LJLe}dxv22sRWz3 z1e-!X`Rv)|)2ExxJ$C$oOdRisMZhImB(6q-6|oRjDVJSCF`||Xevw_BVj*>RoE1}!75_a(uUUImg9=h+lrpy^`}>CIR{;}%E~kh)50`= zrly!Z2B;uVVKi`vQ9&d-{bP6uf-We1S{vQaDP27sNZc?9y&e!-TjOc$a;D)N{p3^U z&Yn7R?$nvncNHxu8VZC1!B8lsMxdCYl_4r-$uv??U9OaDOERL0{Zz>+zpw+VL$TIw zdSXrtg3S_FNYFr8Xlo=p$WsP-2FCh21(Dy?)JdI85!l_^+=d*IXmXB>Tq0D?J$AaO zsiEPqhO-R~r_VLqXNN1|p=cl?#ifW8kmHqt#kRFn(odSU5|(V&QZ!8$Oai{L6Rone zuqx!%GedLJtIVv!F^Ngr$&o2q$ihvKLUs;xwsg0&_Y+7u`(O?rQTp3xbTq(Rw{|q1 zBe*m)oaN2w$4;NV|FMVnQ5VN50-=a1I}uF_RY;zrYM$mhVMll3nyHwsAD83m&tnyK z#{S{XV-i>=1W+NKjESJa93{^i0C?kscear5lDRCsMu< z)qY82=3m^2zA`7I2Xjn5&Cf2e&VX4;1{Q>A`spOo@EH)|d!(~1XIlX*?PuGetlQeo zHMX?2wKttP({%1E3NNg5=JaEy&YnJT?>$*02a!lP5D40)rMyDM77j- z=Fvv+4wHapTZIC!vGd$H3__{g*l@a~;oO6XZj8`^N30p<{BDHS3wvmHMx6?UAd5*w~33UW- z9GL%ir&_w&&%n90P!+dvgut=12%F9}H=RB87;*OG zL;GUEXgC~%DF{d6u1ud@^=v&bB$f6Pn>M*?r&~uXl-cdY=7*L2anu$s->e- z)I8_TG*AlCXKy<5*x55@PBlQ&o_zH9!}ry>!OF4#{jZ1;wq4VVNVaDus%+0oqMh^% z#dQr82p7`ih=jQG*L5CpYy!Xg`$BDBju3PABv;brqiLec4vB;^%&YgJRv19dlCtL|eQ4N!R zSi*J{FY9KKmTe?0!%QS>&va9^S*9p)OAS^A1JY-Fo;CG<{O^BsZlfVKy}oT$nH?Wt zfFHtO6dGZCsIRMKyywCFb+y&^o_zG-Q>X4faGlbT~qUIi}M4updw>|pbH1eKArsG zzx{vy@BizMn>JZu;|I6RD)W$$$RmeFCDIg&qkcU3xL>I#DD zsuQP)CQWqMTL>nN_{n3ZPBk=~cu|->}mK%$Tmu2{yTlP;juF~36656;lBE8xYBadzL(0? z@73LO!b(_aHxjd>ww+4rjtZxu$N0A_)7Lb|ibu-J%Xj^D`qh8`YajdQw_7(_;@Gj9 zV~6j(4!S|uzIpX|N!#FUH{7@)c4dN4$jIY^M>7~fwp2t~Qk=3y(=1t1HGr3HW*$7# zKo6`5#tp!Bnz(ZMsRLjXP{bX&UP$dNebhZ%_ z-*fn$OzvPNw|{SabzP0`7112$QclV+<7jMCe!@+A5hLkFf)QD=HFzk?lFKXiL_&X% zef=|^`s63S*LBk>C@9~TRp1a{5w^kGZoY96rT*yDEOhPoL#By*AfxlUgluJ6(n-W* zrr{Jvm-V`PA8GCGY(3r9e6m6KNyG66&m2Gg=!1_O$W;{zOcG}63;Pb%?$71Cv}rpj zFKl?O+^$uwwmPoz zuG`>kH{U3h>x|Ou86IoS=_C+^P$)|Z13Z>)JC;c<)fHK>>mF?FZf|TwozeiqL_$9C z=*g20JaBJ)RUwzjWzr;^Y%Y;Zn0~^_I5tj_b}ZL6EZ>M|$&990vTYe^Op8m7rj*^W zyR0Jk$9Z;ueenz5@4I1@k3F|}sm7L~Erjhg-gWD|?JYM7RLlM{<`h1FR0|a>?yabr z7!71N!&K5tC2)%L+7no%xs7hmIkNJ@Cm%d<`qYE zQXVR7&++jz&kk96VOd?E7TGq{SV*t9BLL<9U-CbG{wrVp(kuPft@1LH4cqe-5k+3$ z^ju?&kj#pc^q#r6TW=IjEL{@iGhKtOWfo>_9&iJz9 zYDQew6K3q^LVJRdZx?>@wXc5l`9B}HZk4N}?;F&mTk@3;i$~0g>%&{-ZEwACa)HKa z^Wj5>>r5%48vH6X+0Y~vZ0?$J*3%6|=aZ`K9Bb`tYdMXhG=NhcK3dFKnv>6F_SNKU z%S*YyG(VU0b=OZP0s5|E09i~Ohp`|kL$Ykd(5YLtqFA2l-5HAA8Tek|Cog>c>tFke z!RuBL@3-eG*9coYM)-*MyJg;XAS9nt9XuXsiGScjS;$oT4iNe zikGW0ft#$4>^4>&{%+wX-+1ALum9!H`?tzFM{{t4jhnU*tWA3grq{S6OSSy{6xok}Jc`0+HbO)`-J z*%M<;FDXjFSTI6UEP{a4RJ?GQe@O`kqZ(SUSU47q1p@K%?-qXg+w1`Q%i)by+4Oo# zCrHGWTdpnOl}&dZKS0z#T^~~c`S3!f=~x6=(^RZ93;^?R} z2afK~q;$vkO;DMn+jg>0o%9n7TKXDff#oW&ww1xMvVfvmA&O-FM}p;HmBxo7JXeGk|ay7+9eG(5uBf*NWo;i5`0}aO? zJ^jeRVn$0P4A+S(rY0v-$xOb=vr{R@&bTpQ-dv{r-M2A_@WEsjOUQP$Z)S{^5 z99^vll~ukZtiooroo5vZ(I+Zc3SC<@rEp;#;ui&SJEd|-c) zi7-3iXEUbnJK03WWjHzECoqWy(g~vw3{>o{*tPqPT@~CDuGkf(O%~N{G`C^etSIEn zh#Cr3{?Rq7jO;kxR+m-T0-AfI9Q3e?=J|%J#29h{XoQ8JAfgy@i~}Gk1}~JVqMyy1 zcB-m2lS_D+G>b!A79S)%GZKtidODZ4wOFXEJi4bc5Rzh*yYAdwA*pJB5g|z2s1lBn zh~WB}J^apft89v}8$Y;R(NEM;I{=QkTwBqq>P8RYpVV1}2bfKz> z@D#4B+`W5GFsuhFcJC=u@f38~u`sM;Wl)OgG@Gf)RWjyC7*Bi2t%eEh-5Og z$tu@YF$UTU$*9~DthlohS*aE$Cxz}TtBl3bWE)XOPbj)fb@-F7fBl6Qc3=+j6xD@E z)Lf+`qtF#E1Ky{?B`=}!3(DkPr#_#r%4Mr8@^8()e6lL-q!aM3Ks}wFh8l~w%C0+= zte>)dPm4q=cI^sO#&sDK7pMrCA>?p@^2*Ax7?w6rZ^WV@Lkov>YUZzg?dxCPfhbOg zd4q%0GPWZDzEle3aJg$oW0HxuT!AUlQ;zFq^7$kTftSzcQmF#zHlA?F!>Va`PBNK^ z>_VoK&?ve|z2Q)3S5OK@V;q=0(aLhv38+acL(zz$AXTpj(HW8BWqX4EiJJNOuYPR@ zTE+5HR6d%VN_eD9Q5hNn(&>`L$GR4bxvHDV`EJrqxH&&t$l77P%}rH#L?h42R2PfM zis0^_i`liFi_!oUU_~%gRubvN6W(*Qy>`cS`qy+E0*95~q`_`VJyDH6DtG_XPbM@j6OxIk3BIS4CM_`R?*N z?zppTPaqIxbWD~*P?M^P%&8)-R92M95v5H1{T!^*m%s8CH>*QIuxz}xY863E3K~IN zLPYtVt#a)S!Lx9^pfgZwF%B4YlA58=(xc{A3>p}?ix#Mq)43dpI_vqVe4d7ep2+%e zQx%c2m|{iavJxjC;{lm09D*98xCw^KDng<1J$LTjwQJArKqMqdicJ9|#b_T?qDT&F z0A9i2YQL9z{fn68&;RMH0;P7Hv@IEDOIG2IYgYL%3Bs}v+QcoF2oshQHWX7VrqUs= zh(|1BNn%9^DcRN%34^$->!A?I3bsy)lB^Vi$y{h9*)c-Fs5lv9<2}3YxMLR_WH}0_ z7)T{1YYHho1|Ez^hF&2XL3Sl5-^{)Kg)e;ZOMiZoUwOX@us45hr9=qu``)_VmOI1= z60R1POx1{}4r(OUmFX!h98*F;MiQciqsbNgfM$JGt z9#g3g+_0uq#LDGx+3r9kUUFwy#hzW|fiT6fnCI3bDjC|nCFr({XEsTRmDp|=^Nhd*?0tS4F90`{1Dcf`Bo?W{tD();V3zY8(&@j;i zS0g4IEQydF1i2_CBvdF)>p*o9FJ@o+?B_oJTen!{#SO7#%W(x;oG8VWs~w@OSmk;T z3G2L|NmPVkMfR8rbe)`n6{0G^Ms{eG>9KHJu@ZL5XHy7;w1S$e5*eiG>b?a&}WOI1p76oRovw3HnK6TY>`ksi2~gOd_vrekuFf zr$6(V&);OTOTO}c^tR$BD;=S0zxXX!<+`hgXng{x>4YR1%ozvGSroOwc!HWgY9%5f zByc{GuInc~iEbGa$)qbb%P58`AhDY$=6$tHz_vYQf!(_RC*@C+pV&`>9s$SZJyrmOV zxoWWAe9xFcOXEc7!%44ICqdI0qdLY^4m0p}T0Rp3aXcN5U20 zG^|q2X;aZKsfrwi#FurDp6hvr0hnRI6);f&(MX7Gqm01|0So_`_LnoS{sv~*fmVsi zl0_rTh(;rnZNZrMl?!khFOOBy@h~)v=Ajh~F%uRiO~oaaCbH?ks*F_LQNA04gd)VE zIH43-G0;bF_=cLu`&lSDK7vRw;raP%M$mu6S#;(384rrnvarf;?o6wYgN&pt=}c%K z;v*wR;(=YE;4ZOV$IKdtoOGa9S_(rQl}S|Cj8(?v3JSam%($D-Y=et60uf@JsP2nB zlb~cN;-iSmSdL?9URHHvo1u4wZkfTafCB_$?zmsOeu8!!Z_Dlv8KsFF-W>=A36z!| z2;Ms|5XGAV%n96*mI@(-tti1bwq~T9Z)R zCPn8xQAlO8)wxX8v0?g1Zz)8T{O{Qm2$n3O?I%9*$sKrtSm!{A>`({>q$s>C;JblHuW`9_$%_TqL$TO?ivNMDW6 z2PS5KJ6Hn3ISN`Jinv&OXG9H@fO;wx3h%}udje(U;fShH8B%LUXsZ!4D67>ZQAN`u zxq_FF%|bR;m#jhAQk|%(E7s&{>-YPlC(|KMS+-`S3@VGS2o(3JPyg9Xys}fQVuTq= z$4gie6AjT&MI_8Z-cS_wi9l=MN%0s03k#Mg7zohB2~-3lk%$;7q$HpgU~eEiCBJ(E zag&osB4#P(YWE(@WvlD!>5JrY#Y`%{zb;#yp-|Kq`OxCzDUB-gx3jN(>eFD`oo5w7 z1Pm)&SwvDii+ls#h)7{tig7Q>F+eFN*@j)dD^ylNy+aKcLunk>9h>y4xP=`0%BaGA zJcm|+>t(aaT+N{aHHSWMVE^8Giuu}9ZeJ>0m9MKUR%L5aROPR@sdB zcZ#owIj?Idp%qHodQw_E905s!3Jn{B(6bxlf1qbV+suA|vq) zVU-U7qjP3E}yM2R-A58QkA(f!5!^?vpK{Ri)>OWW19|{FOLCz!-{IP$F>QH3n4RK}TIslH-wykniJ-dbKa8n)h0>w)>=qE@FdNgbS zM|?}57P z;p#(2AHM&dqlc0i2OV-IS!z9cX$HyAu{gzok+70}I`SD&9e#Wx;(u|2pNJTMM-SB$$w^5>?0mE7)aI(ve#-M4G^d#?k8Xh6 z`?RpiZ+`rHH}$q36C0wLX}*4K*DBZ7+-~10;b@G6nsK0?NF+4Bm=H`-0RjI>%!to@ zU>ZsmA%*hl@>NMMO**bi83u@znW(gnfXVT&teQQvci+Lgj}@w`a=~C@|Na=4LeqDT?UA`)(?M;{fRm-FNc)sxvwGeze8D&Du@VVpk z&|OFN?@K3$!(PFZi6x0dvMO0jcv(cbd(&3R^0Z{mPiBC9oe72DB;SV&=L%^NN zX8eStfcS+~zI)SG1ZVsHt@1*tbtuUG?VccdGzlaJ^!MnCD-wl|l0(xH51R-bY4zBK z8)r+Roi&rB8e4Y|62j#2(ug~8*+X}U(9l&4J%8_g#ltm@19HhF^bCGyr*i!G0?D{( zJ6}~zx#+q=(oo1{vnfdf+m@_ybGkuTM4Y1Q*Y+4dsm95GU zmMlL_e>zFPD!NuS3+koui{&Rg-m$cnEC!@sHyxH?2ZYIkq9JY&WjFU#q-g zC3rlG*dG&>DDPrXoPfz7qKX;~K{e7yq&uVv&9&wwG9Gd{7C*!^*Fho`5!y(^vr!gi z)IW5xu68fzmU;&Pl#O^jzqc0gMlzdnlc}mg!q*e2q!1}5k|=`=s?y(it5vQ$$+h>} z_m!)0V!J2Evyys940XgnuZm_QfFP1!SCLMJH6BNOMY(X+K+En@(jMJz108o6q=0BA-s?eXlMfLX2lgZW6?Q ztFP=3t0c`Ntzy>OG5P{6=Q~woO$BAKYCz9XACqJpMhPV=G$EfX*l`{L{BJ80GlE@Yzs9ah1pr0X64E7EQ_8w^g{Uf1Ga3ln72E)k;i}LbS z>Du~)P@HDdNw2yp;d_~ERdv3qzA9UNpssd*HpK{hHt7>#a=Cmq4J6JcN>=&JO>t$1 z_zIK93^u7j@Fx_BO8<+#9#D&pA7lL_B{Vz)8pL1$(ePpB$#+x$UyR5gq4tW(p@^Mf zaJh)00~K!C6*(s1n3-g*P^hlURTb+G?#(e}Ls-gZb6L~361g0`H`DxF_O(v{|9|amc81WW^PYSjcI8 z@7|iKssg1`(n(jK#ZADjtRc@j;&fEvjuW^xjWwL2_c;;bf7eczI?9>m?4u$B~f@=s!2APy(>O||Sgfmsyvbbbh8fHDOR!Q;aTB8j4GLp-wDr5C30yyQv=0DTa5OHt%p%)AU~i0 zB7R#i<^eO*4C&*T$KRM}!Pg3SgN z8xp~GZHNfNkqA!i7no7~^rt_y137+2mw4<3jX)YTOu;yQbtZ$5Htq83)eUiSb=BUjN+ZKKt1n$lJzMMx$_X6gYIWK;kw0)^j|zML_{Y?=xnh z5o6pV9@jKv3q)8Y%ob88%}O{b)i_X7b>!gTBBsozk~wgRlgU;ybeENdu35C+iCOf< zEH{x(rhLa@Y=+vw)Jf3)fyrI2@848v?35Ek)yH(YBBeYl?IeoXR3Vwn=fr7Zsx0Nk z=?g;Bg;4jfpB9L(vhi9+jBDFb_$Q-9Z?A{f?V(A}cON!rP}oS#Yqj-5nQF;rip z8IRt>!!T6Zb}o@AaI9Eib!4aJoRZTPtGCMG~=vRi1~2)SWMynq_dv40~CV@*=G9FCr*`T2yO)MKh-GF?NJ zMN6L5*#s#g0abP~Sths2f7zeO#$ zal!2ttRjqnQA!IEUf}K4HI!HX1@ZP3lhyFL>Z+-#>b=#4LM~Aa-{>ckRn&Dk#}NPj z(e#LQZ*+&*w8O3)wk6UsMh%HbUj5MU$3F>4-ZOCc^dX!0A!$XzLsBi9`duwYBXZiV= zF{;aYUM`WYrb5X0HKs~0L{38I;wNl}rVVF0>AcH$5l6}A#G*;~#3w)fnOn3@+v07- z2}0C%V?lx#gvUzTwF(*60e-REAXQyUha%~wvq@SvtN~=+j>qqb&G9x(A)LgjWVNJZ z>+DsrVl>#Jv9NjM=%L!Wd=j*0@FY-rB7RjywLHSF>3NWKxEKq15PYM5p*x>UrXk|e z8K&|S@AK(bfBiRZRrPEXmTnE(Zdh!KzU>8!vR$jZsrj)aG-5tqWD5ia!NL7xE}Ldi zhyhPcwPP^LfrNtvl5&9M54Ot;j0t;~vPD?bK?wX2hQ@=M+OW&nmUA)=O%KQLMBJh#%B^Fc%D&B{$}?Nm9=DgOkZU+`i`LHnEt8M z4}axXfAyo^>D-WvH@V8zdwgt0b#nfl|!;h$=sm%K=yl=}b~rRNF>9 zYK0<3m}f*qnUjn0*dK+^EV)KRipJ=o!|~Sd-CLifS{6I5IErqn;FF5{RDlIZ30pjL zI1*>ONE`tr5B2jh@Og9-Y=+9@_$N|7{N-Q%$Va~2zQHOR_3B&bl3f$Z3X8BHVcX9o z6E4SfBJZ;pB%jNnrhrVObSWTD0(Ua!k8l7TzRXq(7R$(tAj%TjQwCr3P>{63>U1Sm zsH-oqCXan9v{W@ClZC!c!MYjwOm#|Q7+AAHLX(MAB`1R<&N5uKV8vx471utQ`r*Ij z`c~Ubt8CgOz6GmX7s_7Ub8s#8ZrfK@{EX@5>kGN6Dwq(=OC&#_YjNenEf z5)7;KhVT@=ms5q}DW?49Tdi`_KBZS%iYr%t&zs(EGY7qi#5!GoYpt)cynH5^&iXXD zQb{0+iBL;IU}++2Vw#6CIbxeqEJ&-^QX_0l44GECt_G*5DO`sd7JSoU^ zNULH+01-r0d`4_3fhutg9{v;IS=^pSp5{>S;Pz3lxn3|=)+8rW_*Gi^s$e9^gA1OfNeI*?eY~rn`Vs} z+E||<++uZxF@Fcy8k{sR#Uy{g8Sr!{!CFUI5y0LW1}?*U;;^;lrEul~SY`}W?K zNu?NgL7!VwDCV<77Au)!BwVmdN}{HQVYFn9o^zU|HJNO}U=+sAe=-AJVKdr>e$Zy4 zY%K?EIy+ZC*zO53^(^!lXw7H9Fb@Nr^b{qT%_cl6%21D{!%HGGhhd4vgEn-6$C40g zXMBczg9QWzhYue-T$_uBkOP%S;3TQ6SdAznS7&w8xF2RO zBats;^?mnN*H^J8V1I22LK5W@;wEyvtR{5W6mn5I%Tu@LC9&!W15q#Y8n(hT^ZD-- zm}h?eD;uUUZ#h7>?F88%+oG3C=ZnSaf|%z{7ph%L4v8cbM?gw0X6TN=IvS`pW-&D2 zt-%zc>K{2;=O=599NfQuAGA}>%~!E9AgPNXD>q@n-*ODq1dAnB zC8`TG`R`YW4MyMi%MI=JTg-C1qOI6Ki(UzWtWfP68TJtQW(1T4YBS2Ib`e*Gc>+)f z0e>hck(=OiS#ksiRsYbTT*}VW<@Oz_$>pk@1pg95l`8~I>~>;nK((FBW*lD+$HNJ> zRQRUD_TQ+Tq|ZpFC~beI_|yORJHPWg|8?vZTipEcc3CA+l_Brcr0db7c=;+T&omRy zSzw1o5NQIUSlS%o@u&C;)0B+%fL2XcitW1lbz& z33U9tAE&YB@Ps*@Dh+s(qUCzT&|nUb+Olm#sMn38lcd%w6zhRDtWnQUZ6hRwwRg~t zX48m)(4Bg)R|JiUup04GzH6{QPj>36tCMKrRW_6;RLgJ`nkD65D6sA7YhV3~n^qB2 z_QoT$b*q%t9o(RAw`&!@+OI*Y<`E$c+Ii@1q3)GnAQHbr7Y`@5GVJfA*TvS-3Mqml z%*`vwp4;(m9 z;}d~>RNrZKE4x_`(cMMWqF17E?tJP)lo022Cxy z0baSWuD;s(3A!FHufE^z2|BpHss^n!ze0X2nT<12j8!y&J%WMd$7Yx% z&s;puaa6)`rR?MmGSLEI-YS1DdzI*S!Vja*0;d0gp zWK~+uNxDQvB*r zd9@4y&@iHBjhMlx)Z@CuQX4n<_54r1vNL^!#SrjA2+Y}38X{w$Vqz65=+ z3^qG8bgM#Q1+pwuFlJJV!(M(h|6`2uOBeQ76JCFRA*mS8jk@c^4Sqpr%+ zJXvbQaEI$_%xq|6X{O3dMG08|c(MG;0fbf1b>;&rW!o{Q-q-nt2$M50ka2*A-otK& z<8+tF=Ln^uZZ)0^iE=m5y9qTIy;B0!rzgblBR28Cx2$dx8+HMA1&1Hm$@6Cz3kdAsANkw}bzBQ|ES4oM1ys*;*R ztDe0*Jciixh{H^~5>{OM8*Jy~@h3a*1SM*H4}}hllM1E6AO~95n9JsGmg;FX&vi)z zF-q7;xKb2QhXgX2U{M^;>`VUt?0pAVTUWBb_r3RjTeF+&#!in@Hi;AWjAi!H=%V)`Kn)>*5Tc0Qdk2XkddKu;8*GYkcZ%copDO{DYhq~~-uHz8?mfEV-rt=$ zbK0Cab2fej&V&%==iQH?*?#9QV1@wCYiOb0diQVd!;BiJAGr2Ic;Aix_~Y9Uw&kzy zy#-I)^y$a{f+%aS{A%+?kP2*m@_(@eZT<|F?I1oS;E?{oXE1qztZd&1als&R7jLJW zPr!_e#6#Y+>3vWlnC=2UI`DD_?mznS(=Wf+^x1nK!La&|u;k${?}Ggif`q*b)`EY* z_J;3&@;Nk3@BZFo zUgzf@e7R=}81a$$F$k3hQ8V8A=nEuz?_XhcAqZmQKVV527JeWd&9wJBu`YTWA z3fOH03<eJpI81fIcn`r91`c5H^3)XgyT{TABYZ@@DH%n1*1m*bMVnyq2%IuL1q;JF;5P{2ydb6()XJZJ{HOOnguSFbgB_{CLvZ6K zVAY2xCY!(b_#YdQi4>Safo2{yh(KI~-iP7V#t+|ysK30v?UR-nS)YoGn^)*{Tjo_q zTVdlQ@D0AxTfh9~OW3^+7Oa5#7WjwNmJp6{TNH~$?Py-na*_2JuHU-L$X7oPa>BlZ&n+(?)Yr;7ht0N5N16gb{7)u7VIeheDA9*d%yl-$7Was1xubj`w(U~J_Td$ zTgYZo{|0N@x8HvE2}tSB&^?3A>0tdPs0sv*`}zFmvhSDxq!VqY;8SkV01QsFz=3LPh5Wka*A+y4D6MAZ4}E6@{YIFap3 zKK$rySeg0n_domU+fO&ada!L`hhaw#SfdO()qVWIm)o{%2Vb{8Z}}Eh;lY&Gm$2mL z@8AdZ=YM>-1@U$N1md;)>jM~0egwMnHbhYV*XB?EDl;EwV9D zGw2GKodl%<6^e+u0*7#Ey0aN5x|AzIZ&=uYy``HKJi~1ET!2966zrO_?*|+}%!8gE> zAGRI)=lc+0ZS!|;fB5kiAA`^2=kGzF4kUcszy9>e&aEH5&8v4l`Simk&=o`~`YV+y z?<`7fi`bf;Y)|(37RnWa@0PD%3xaRJJNVPh5Z&PeZ~^@Q%yI9-fN{&--Me#n2GLwgcc$y9pLCLmUp+&kt%4a3b6C zCB&h^zs z_4S7z!1lzS?SrMjfcgFhEl`4LYice&U4jIQ)9dOAQi25Ob#-OsUL-&lvXB-U2V{xQ zmtTDP!F#ZYBdiGe;=sNy!BORZVGDx)`4faQdTZ0x<7cI}?bxzKdJi~3f)mr{NZ34R z#9`L>qj$i4`=hs^Z}P!AP~C2N=Z_GD{;#n24zl_giP*D$>rR-Jes9a3t-HU0^;F14 zTpvJf3qq;-KPZ*AHayz!KO6o4{td|AhClo_?;MUKm($gd{x3-XH=N(+{?CU0UcQd} z|Nkzh{|nL^m($4qeJpTYW;yK(*JTCLa)0=r4S$1cC*Ya#%jr)ceG2{ud4@Nn1L5ya zyq^tHaOpMvhFbn-!_Xi9--aPY_zOY){&&Mr3;g}@k8ln7`x9J)zZUp|(3^kY{k&Kj z3IM$#4Sh(jNaO3~|Ex3+uEpS)h%}J&Hb}2XLk`j^@b|nlhFTEr5RP8W#g_tH>=fW) z37-0&%v0peAHg$MxVR1J6)ye)x$-vry?~29BKZScguI%Ie+qE%z5o|R@YMe_7ftZY z6)q|uy~0H=q!D@n7mA36AzHP<1@9k)K6qn2;m6%OG#Gw@0&rmwkpyxiIf@(;6HAXx zjHf5DSQ$C_Wo58eL1AWQW_DgqW=2kKc4kIeT1sk0dUB%B(7YR6Ro{(RdNEz&)Ai?x z|HblMqT#!|%S}v7WHRFDbb9PE(PQaxad8Yrd_p2DjY>^ROHa>0C^I7)LR@8Lq^G5@ zl9Lh>6PQe9JhFmC1agf);A5##Bm$AJLPUf}WC|@VJ_%N5u~Je}Q&Q5>(lW9ks%{R* zK0Sq%1n6<_*0Cah!>t~$(1{rrO~8c&2L}ZL1;H_hcL)i`Q(_qj3CKDQpk!8RdR|dU zX>nmeUQSkeDl35z8$+c=i-wO~N=%54CF25oe7rq@ypTU{9OzbBdR9(B39OGUhmB@n ztC`Bm>e~9|*0xsgGUGNia_XupN{R{#3q`|sU4qPyC4~5TxVvLr-4Jrcy1U!N1H-B5 z+4+SN_3m5U8ZEWDwR+Sb)W@L+o@3NG@jHBU$eXv*)@7jq=11w9l zs~gtSJ~^3{mYEAneoISAN=i%Nx3r?Bp|!KCvkjrvmPU4EaY1fwj%fI9OQ1%y$RKa5 z&+VV@-nnz-9T#{2WauEERyVQ_8Fbq_aQd8^bZs#cgw=p%2 zn4J@yks%ts+f@dGPK^wTzuMB&+}b`mJw1J4=7zO{qmv!zJA!|+_cOI3AT>j+3XW1o zSG%UBCgguTv#NxY9i5&g8otX_MqF%kgvG-7YHn-ijh?}g;lcBxt=bp|4|i62HpftH z*Jp-Opyq{AQoG7?)!Mt-nl&358tU1}rNz+%d@4&ce21%XaWRze`p(wgitgT#@&3`_ z^Ih!|SSz%PT5?);0Z~oOP)(|UM@404aqXS0+{XHP4!bUmRG6L4N=_CHA9a-;OQYBi zbGRdQqvO59Z=aC-u(P>2Q^(#}la-pC=)3CzT1u(_>b<UQ>|d5&K6vlW_`<~B-ugkL#=Uj5r2eE8v45Y%e_fmJ$qSW4y8S?#lDG}P7AH8j*us>n%-9}*J{-+D2c zvWuNnSAPEbK5*hIfq>YVO@vGY{?7M&y2~f1otNo0kGf#HOHuJH7Rcn? z05#k{_tS$%j~}^^98^>rmfUOD?7GPBZ{ECl1BllHgHG3SkL&6(jTVZIZ@EAu0e)T0 z@a6As-?=k=>(caa^KF|Pcyevz-4)9nVJ6t|EBYics@S7K}mK-W?m&99nrsA zh^*&{bEqrCO;-qZmzC^h>}F;*T~e~W1ay(}AIN{Rd3@vw{tEE&xjOR36(A7xEJDEW zrHeeez^7?;F7ltEm4EYB;a`6OJ%ccOkp~Q26ric8ss9ANnSlJC<)6F+Eb}DIN9KV} zO-&*+0o0f+I{%jQc>JD9@^Y2>)QLI)(tg4*FuaUAF)_}g>3rn>MUy`Y@b|V};LB8~ zql}`AtfaJzq?Dwb6LqACFSL1WEA9NB&6hIB_$+fq@?BLRAd#D zT#4Her`=;xW?0hY%pIEs^ zURGIAQCU$*MoLafN?Hb9Ku%FvSzc9DMMX{R#MyH?x?1{%dhXQ3;)=@Z>avounwFN< zUO*oo8=n|+T_6$nPqN3JrIOm-XD>bVnLW00kF261@Ot97ik!5xjI@M=JX}zeQ#qlg zp{}8>bw*1|U)RdjompC2S6fw6URYRA+t}7SG(I*lIW;jpiiP&?;CRi50JYWtEyb~F zfj~|x)ZRIpwUQngsevCpDak7-s2o!QcqvH20gt$+x*QlxaKKWGAU((OVKdz{xpag|YUP@Y4RzXf)QAPRK zNsZH|wX8e>18|{{328-Db?o|+fNFbs z0G^Lu{p7mZE;Y)NPx&qREqwfA3dfaHl;vbW`(zYk<&{;HPo7ZIJfmyw?1dvzBJuGl z83iTmhNgx_PHS^ZN8ix+)Wq26==j71$o>(=)!3LLoq10l+|p79;LV@_SFhGK3*Z;* zGTZg!-||}Wmhn}U6rlo;m6np1Qjk+oRZ&tqsji`EfN^sPA;rc-Q(0iSt1GYLRMphg zbDDZa$3~{dM}~%nMu$d*hX)+jNL;*10zZC3|2-_4NTWm*3{Hh)j`P{93P(=8yq}8 z*x%pRH#9huy2OZ+=*k9*!YZ+mdy>5E2o^@+}gmdW4APM8ycF=kB^KDo$v1h1?%eXJ>Nf=wG_{g z?8*{+ID+4J6)MPuh53aV!EXf8S*=;i_{yqEz_cXPg7QiLfBe{4ZEdG8VsuhkViGeo zzk*ZW)zH+|J-TTpfnY862Fi zUAg+qIkPRZjnBV=lJYUA@f73~lvPfu9y@;etf>PwA}T2j2FGc|&mLw%>#q|J+0g}Zd*%R8x(^U7)ZBuv~+e9UQ14r?au5F zARhk0GJf6i7X^$y+`G&gdQH|T6{Y3bs&*6{E%1Rq@ojdcAo{^eDCPH#a0v0(N8 zGCDFk5UWgKp_-bS$}!0N6UU*wSJymefej$UFjB#8%4Fr06cv>e=9E;kJA1m@TEK4E z0?_R(%^i@P?O;o60{JJ&_GExctWpQ4S^dJo{2X*WXW7e_6BB(CA3rWgS^2Mw&Xs%A z)HIGChbmwBn1G@(SO2gmMiL{Io|*!Cu$7b)6qZ!fwsrt?OG7h=zNM`d^Z?!l zUZt^kDJemwd*xXxPw#A9=?gY2Un2UViH~n`K3n;ZC-~|oG}KO>R5_*wE$*qaXN_$= ze8cE85;Zy@Eh9fGwYZ|VsJgzkp|PnEGQFj_5mIgNl(y!MW^Q9+;Sw`mraKi>?$t!x zwF~{Yx8Spt|4Qvzx#t7`t7@E3RXU-e0qh$%`UHgG@R4LPDK0)WC9S-?w79yyfekv? z+}PAmU&C&!Z)<}tNJ|5!p@~zlln^idEARnV4J`FfQbsSE09jCUI-PjBY-_*oyF@=D#}qg7TV1PEBniyNc7;(hijmw*`il4RtkjFsD#n%3Wf{N_DfK%Yl$- zuWWBXFZ^!Yg!~4W2JqATZv~I6URJLM6yk^!O_09E>64m}`G!tW%!F7xfkcc54T&I< zX|b&A+#(pz*3~qD(X;{7A1uf0n#xMRuK<&Nc}dd}Ge)XQ5MLI-?*(usazK761c8^+ z2);A)Q|ZQOkw-xoqfu zHda^HRaKW4!#>+3jZ1Mfsjj5HUq=OumH$iXOX_oOXsEL;K70D~nKS3koYONhb@U~~ z#Ky!WCB{ZmDCF?)h`99pvWk-8@|t>XLvvGoJ*TRq8nh3zp|YyHC<}IPu3w^4r8<+I zbnIT9Vt1Ft1g(6X)SuMv$>lmx38&9!ozps}b57sT)(amSPp2>vQdrTnn3xDWAu2w- zsHmW@qOz{B3E>@l7eNi1>N%XUk^+eTo|RsCH8xtZD{0`DsIPT;t}H!l_1}^Pk_Li! z;d zZDnB|%%Y_vRbHhczKKEsb?uogJ=gH)*mG2V<5(Xl9l_Bu1tD~o{XJX+&19N3U zTwXdWFNGOL#)aZYKEy_txWW*)YsWJHQ zkl;{!LS{}mx0%bXE=*6)F03dkE-Wr8udAylEy&GCNv6}tnG1N_kq+jQf!(i6F^5*} zfhJGi(A*kjgAJx7!(=r*E-Qn@ppe2tgK&g|-0bS^Zf8Xh^QBleB;h~2+;-RtHY++$>DVq|V( zY3JhM6GdmxXpD@UbXGJjGCZ6Rm0D3*oZs5hT2TNqRe3puS?Rgync2Ao1z9kCO^=Nx zM$+a&0uQw_>R*=_V=MRQ8XKEgSX#TdhZ4xp>!CzYVv`ey6bgwJ9g_(*hsy3AZdHC3 zD>(&nCl#XqrDo=2rX(dYX%r&(TFeCohynj-2{a-A-a$YT5(4Svr1_&qkcyvJ;ori> z+{(_@!6Ot04Nnvvv_2-DPK~C6_W(V$sII!UgHuS>SSiU&CY=;T zh{WON0{sqlFzeCv@S6|IA?oWT>fvQT9umPTSCLEbBcX*z$-MrNd3`-|lDRB0w57GR zy^C*91f3E?jiFPBQB+bCjZOy}LNrXEFf+;ua?)r}8u1}GTwp*z2=tEQS@AIIM#hJR z;;#7l9B2pr8zi(s8bZ+UD}hEMazGAR4Gc6I&ASA<@xd>Ud4st*@ISr6zdew^Ty-S{w=c+}t1z@`1yl!@-_Iw-3q<;$5=mAXgE3^oYZWzYx#=z_GJNIeGX7 z6QXF0l(hK77-k%u92*xKLxUn1;^!R@MxruExDapfv+;mAG%s(TprCMQ9!YotQbw-$ zclDxvKw0Keko~Y!0 zb8o|?IhcKUExHCXF#H?rFix&sfx$sxVT4#}Jd2f_RZvk`RhbK3E%>M?a-fep*2CQc znD%sccX5GB9h|Ygq$mn8G!W}}+1qME-F4HfkLAt=9JeK=cFd4CDY>*=%mQ7U@u@C>+0$b!UyJE99eC@OE=^ zc69{dJ2^ODFpkbn&aQqDL}Fx^uZPnWKVQ-C$y5r3MvkULG2$~a(=yWXN=qt>a|(*` zlEAScJS5CN*cS^r@8ax;c5+0cP-qMq?cn4SN{zxt1O_@^@$-8T{_+M6ug;bY$k(y4 zR4R>1qsK85VfHL1zYx0IWqH{t$+6^!Fn=!(PcJtQH$Zo`N26^qcJ{UyM+Zl&Pheye zF)}0oeI+2^MfmK;PVln<_LF$*w1Lfl4HzLctprzihsV7AC15qv}?7iZB3 zQQ;Bbpx}Y^z-<_@lQ=5wJT+XWx@+UeNDH1NZL{zOb%d<>aDp+S`s7UJ&?D9*sB z7u0udj*d=_7$+2zKWKlP+&r*YXIE#Ch>N@7Tv*69OHnA1m7ba$PmaJx5J(g}kwnCY zga!KgU|j*%73=2W;tYk)0Rs(>vm>yNf=`eyP7aPx7M+|7=EFj_K7PHv_tXEKmY$r2 zFdiBa9uXW81~Z}|AzoOlyDQXkQ0mo-R-?m*0rPKe~u zQ0Lm(V^C-~*xB0I+F0A#+QSulTQtVe{tV2&em4k?%`3#@`_{bl_}uq-(AFl?BmF!* zyuE#W{rsRwm0cCB0vbVLdv9z+Xw6?Ogwu5dX8s+Gy4fBuR zK863hyYo|5m`{Cz5BbHpnMu(hetuAzy*<1=eW0m_#@-DYTZ}UXM31tywL<~BHa0f4 zcGlL`RyGzkR@NW`M|%g1)?#$@6Z{`CGnt5^ivYO@q>J^-VR>H#@yQ4($>x%g#yKJI(s!Xb`}5nb-+h_ zE}l@~74;_{kkm8ZQ?3-`CdWpF_y+lV`+EC&`Fi{KdIUiA>VbvE-oX{ge_LxiYkMm@ zG};kB;T0^cY;0|zA#j8jI|criEBNqqz~}pTtQ^0&sJ4>ipP%`jcriaW33{@A{=Sd_ zAOyd_@W23HZx5`4y`zI224in$2N_^%1pP}JuFg=-FgCU*fVYOG z2L)*xOB)!kp`al~G}B%K{IB`=yjlhDVdC#q^xXF;jHs|sTtJXth)-x}Xe5bD2n+IZ zg$fU34O{|`);3lq7SF2&@ z#YPffpcjk_3BrNNF_I7&qZ3+5_ga}$Jp_&Ix{ zu;9C=_F51S5T3Fheoic*p58L?i|0R4xF<-zx6D&&z{JSR#KhFp%*@34ocv+4+qHGue-%E!BOT)B_=h296ga{Yh-7kP zfETp7_9$rLkRonkqHk}^5v@|m}00}_( z16VyBLwErLP<<0)15g1YS@DD0c5mO0|Gum9ph*0aq0qy8AM}1h1AUxPw$QtPUXHn? zg{hgTkqJoNz(7wAnIb^y9(^M{Lo+iY;}fz64({H!d;eb64}HDjBH_b8lYkG0mIoIS z;NgO?cR<@(SV1q()Y#Mnkc z5Dg#Z`Xa%S8WI-d1DzfW^e{mEp_^x6VP=GAAV@$@2hc$UbhQk1wJmgIcOKle@8E%b zdyYs}{5Ucq!^3ZH&qvNL*MGi2;5q##6Qf8`;V|3a52GF!aX`-=1>IarsAEjQG;d}M zm5;80u8y{jj<&XrwxNN(rrg0@;s^Kdf#CE98h;uemtW@p)%ak7cwzkqnoq!ofej4E z+s(tp)e&P4{Vj8Ib2CFTXm|~b^bPd1Kn3)5^t2IGP(OMEL=W13WXpcB&YvbH75Vtz z@J=t|9|rw^|AP7_iiqPEa-rij=Hq6kD6tt>5|;x*LQ zF@Z8@cveAPK|=h1*zTSCc5d7K^?4|NN+Q*N!GIhZ6c`-f2g5%vFAq1cb~<6~k>NcI zGpwvFP0Xz<%s>~64bAk8jgKp+NE{MBD6>s$kKA|S`v>O3!bFpQP;fwKpmz}T{=GcB zujQgF?_Gst=K!s>xVQHdos&8Omq-LbDN9yRFZTk-IJFw@_4w?NU^I;*% z%cAF+S;C@8aR=;f!d3GX^?=)|S?GNVnG<`eD%ipV5`x5Ak`$ zpyrp_c|c6g=E8hxw{rLI*hdWZ|VZgM97#0yh zczF4E0z3@AQ7CJqCjbp0bUgH-0W>%XajSRl-7CF&*RI1#2TmQ6x-^dqUFP5M)$#{p z9|Q|~9^cW`3A(y4uCqd+FfLB8dKJuVF!;9zOD7CGEzC_!4Xg}-bdAoP-n(m$_|9E> zmA;fxQqfeEme9U17ZS9rf4@}!Bc?~j^Z3p%lC`%ngU+m_oud%SGs2C~--de&f8fhq^OKISH7P~uHt$OrKH+PY^oPpPY`9NV>f=K)1; z!y{-+ykDeuxC=Vk%Pe=s(NS6?{KNznD~U;qfqt-POCf~38(E?Rb|GX*mXJ>n?Y1~r zKuV2{A`uB9E(H#H zfU{^167ueK{8b4EDM8V0L(n&FxtzGx2;@@|1;`$9fJ zwA%!h<%{+pA@6>&CVxc8Cx~{Nz=93Y9wg-5yhZr@gOE=U?Y4FNRSAeDNFncDMZa-F z$R~()+dBTL1Vj_0kaw@5|4#E?VBLg}5)|#Wl@;-D7VSYo-o4iND=YHhEF=e_-Nsvl z&p(LvAR+JOEds9P9ff>?XtyD2@Z0NnN6{W6 z@#;S$X3ZMaf5;mAnLgf8NC}E|+mki<=S6#vkar6>hYR@x(QaGo@t?qIAki2R@@`~J z_A&|i1kr9=UWSgGM0=2scdsxHXCa>;+HJpg{soq(izY}R@BY2x3oP3gQi7u0Ca`c{ zvV2|ne?`usJ)zerqNpuZ;glZ4gv`D=nNuvmXh z@YmY@BCvRCP557L|5qijX7XQNpTB1K%j@&k79Rpbtp)LNAJ)dgKx8f8fA`}bfyMdj z@?Qf9tk!;OtpC&OH7o1kpA04J{zz00f$Vz&pm45bXUzLQ& zMi5vDiLGRSgqDJsOAznHN=si`=bYv_%`KefqS9 z+HsYW$B!#1DkvNfllMS-#<+VC+{1%dxl{`${Zrx8Nc;Vp5-y=^MZ-U%rg=*9tkTha zTX$~$_`9vLJNHW{D8P0^Cy$>v1{-t1#$c!2anzIy1_U{0M0%%G)8nuvW=grC4p`K; z-=)o9(2{)lzast!68Z>&0>3c+$!U#KXHK0vaOl9HypyQ!?nu5fqwssJFj;hU7;FvSyu^<6nG3=Do%X<8L7Gr{VX7 z@lP~PpE|9nx^wr@L%VnEI3gu}{IHaSg1Wk@%5h~yIR!gLOd5saAK`8u;O0xnqDKU< zY*8qS@Wi}uLcQd6vBFubn=ArMh987ph|h}v2(JKj+;j1-)X$!lP}u+7-b3QzyN-w- zRgv8*xnB(S1XNU1QX}GAauSoAgTk=k!PuyDa#V1lSEQ%0BF5e%Bq}34LS|d(Wls+| z9`LL15oo|hPS4?=6BFOIS6uwSUU7w;hY!mu9^HR%-`9%A6s3~r|LcJJPPQ0Cxv*+U2R zN}iTgkT|$|>%YI;CLy6}O7roDU}%<3Nw5)CD#H*HE~~yn#xBv(UP;e_>PT>om65E3 z`18y0U-(jZZF~u_-G`;bw;m8b17%!FTH>gflGN6{dv+a)h(LKod52P2QEsF}lzXHR zU2*rePnEFp(&mQrP-hMEcoIRe{IZX?f=Kn>;cb%ANA~U5p{Xe*CM9!JO8l_8gtQ^X z)R!5TS(+UhN2K`$#~C`L<;Qr-iSP11d01HmLX<*W%B zNJyWRJ#yg0A(g|5ri1`;6e&7`p3S5t`^GS=-JMj)tisfzdv-ZEC`fojIB84lx5e92 z@DX|iBFlgOp(7HfWR4z^Qr&V=Swm7zMlZyZ9?8NpA|hQ$!Jh7+LE-9$?Ze}vwa<#5 zvQs#!prRn{d`2&Wpm-c*s*rct(@Qk|56H+%%bYs6SMjW}zP7fiqz#n`+fQX$ShGi=n9@6{vOKjV=LqRSnHKDn%#lrRES!1WHSr1P>KEL{VS^4J|KL`i^ zoc@a)mX|oHEi0oVC$1tTeZObgVJdZDZaM!UDavB;6`{a%(%gRV^Jxd6W zrc$t0&UP#Y!AOTd&p{vFv3u(_$pgFhVHnly+|;mOpCCpA22G&lR?fO%SIR$60xvCp zPSXse0eFu8y@&Ql$?Z0_65FezYxb#TXq2ZdPJx&%9DMHW?N z%s4yq>VJOi^9uas8t^&%-EvZjhasTi!Bfie3f5XtgtEwR6E6ddi>F7htC@k+?!DrA zQ9ePbNw6KQUnxDvkKh-Bw{-IhXO`EMRwm6jiHa|8DWmXjNhNLRZw@HyRu(4b#F0!; zsu1^1Pj%k$F_`HNKlsq8l~-+5Tp zNORA>HKj|7>brAmqfZ-XsLE{JtCyIcXzX2>kilXm=0#MKsr2NYv4+aA@t!1fS6)nc zb$)5ZWshb3U(SG+=Kss&FD;>ZMp5@vIUCy@y>88)S_FgSIw zr7Ax+BP_78B&~HWD2N~b?ib@vBGu0e;t%f@lk51@KMyP?t63R zFJ76sHh1aTqkD6AZ!L}YT%MX7?&~XT>6!~#=3m(IZxKyJ(;x?_HjrUbwV4bLrOYo0qR#?=G0Vc)7o6u%N7bd_FWtMWp%< z?`5Q*8_rIS;SP56XH<6Ab~Q1aY+@M^6h~r4R!Ktb)K3rZUs+tdJ$L=58&?;{Z#=k= z*SB=Buea@dJGEqDJ_2`arR_n^ug?D$w12@YKf|E#iumqcZs+3QXdR)rHY=huk3}>- z?LkP6$*#X~?cw(mS09Wo+F)^&^ zp0@t}u7UFd-SOTI2~2izS$&WLv$rf`{=vQb3s)BJFI~QObA0CN69W9N`4HW}(qZw_(8R3mx7sm%oS#_!HL!&=G`hIS__4eH5 znT5&Wix;PsipLtNYuN+6gXNX=rFB<=Ls#U_tAJi8e}31C*8zF1{rAs^Ozq0)X=JB& z^^Q)2HFOP^7FMOwod~r0k!tSL)PwuCCVRVnn!S8`YG`2O;>Am?<(YYP-1ff7ma$5D z(yXWVa{I#zfBfS7U*3P|h2`HYur#l_xrW`+)_cC%t-Pi9LRvx}%hxA-x~r@t846`ogA2FX(?}$JN#5 z6*qQv5A-yK4Rn>{EMCe!-yIRs#ID0QR@5{+xPPUe-OzL6?oUfo7p5lLdov2Ei@9B6 zZEe-W}9y4AT|JVy%Tt8Ua&^b8J(OQ+$RXu-isQ}LnuBp38 zG|I3{8^5>o@O*7m>vixGo4;_E-P&JJRFeQJrZ^*Q`0T>CRs3Zod}01C_dSr)bNL^b z%c-pjDevyDsB5Y1Zn*g4^}fc6rktw&9)DZChMMd5?>)L(#%kbn&tAVf+kN$7YyH#@ zOE)J*n|piH)2fqaot^pdw^#6=OehJUK1n`@kL|3&2j&mXPUCn;@Lrc1U61TQu=;~r4_ZIQ$wVx-(OD+%3w%%hnXfO#@?t-_Pg9_wKc8 z6|K!9mu5$9vpM94_kaGuH#$|%1YOi{t6_Tl2iSi`L!|mAB7by*oie~+SXU*&NJRg7A0QL&~-!MJ>0{x%irq7nuu>;R0HC&y2@Z*m^&w593 z#(tO`y*z*6=Nl8l5AR&>nVPszY@x2BsqHa$<3d}3-|U6z^60qM?1KLL*I3K=ud@H~ z)E_FK7sWpwm>y{zkL{^%?Vg$%zjyE9y`^6N;j*8HCd%3O9{qUv+D{K|T4GuN8BuqEeH4iKeUcLYD zPOiUwC{{!4lxz9o(!-yAx;uMsX=$ddop>wvlBQX~;7|D_vsdo3Tl=P(vzxPOAFtx) z&%S#64fFdiwEtcDd8#b?;z-AE-=!-*{kRnAg*|#w$5hg_>&}(=pYC66`}y*X^X=Tx zt7F%HxKlsZSXkAa!z$vGP4}_;``gMMt>UlLKToQf7p9)8f11WCt4caLI*0qOEdIRI zSRSV%E+M{8vii}z(YtrA&2(K^>}{`Yzx#blSJ(W#q1ej!u{-Sa;;hV5csFgh2osP%Qvq+yfSyCGrv2yU0de# zX{l{pcduN3Fx3CUwb}mC#)Tm!wI-%0-hfFSy`JARKQT4h**Gvd#<_IkYP^W$zhNjh zp`&%|`b^JwZB@$oj!NUBvJi2aGk@VamwWZ+w%&}s>R4`Wb43P|VaDw38=M=FTd5Psd1aT~5pRNH=GJ5-nQ&d+F}P*znBlJJStW&D@cS#sC>v z8FgKA`p@$deG@<4&umD|n7P&8Sk=ks>AN^QpMJlc+B7_Uv3Is`XePI$bDkK*-}r_+ z`|ABCp!~gX{Cnf_*xZeqH@IaLDGjYdx)l-1(TNdZq>8Bv15-Uglhn?eH>YYQdh!E@ zZ}tB)(06TYsB>~=s{dwp>*b&Bc5~+=miynoRQ{3qmlusc+pbOAooy_vEX&UAZyoGp zR%FaqbeF}4`dnkxWj*99U7VWekKwe{OpH%ln7cRL(>S_N-q^k{bK&l#pDy)s=5b;C z@&D{E)IX1r{f}NS{{Lb6T1QnuYIQY-+F1GM;e*cV#H7nJ))wYzmgcvvU%fOwFLbZL0;?$iL6J3KSjdSUU}aBttO`$cmhA&Pwc;~QXKUjHH)@B;jSOO07LA}bYo zIAcx^e_l+B?ztBx`@{XQ5TaL2Wo>QGaBu(Mt^B^hTNftg+Xibo=B_v2nk!qlFf%ZI zXRd56IB3QG$$O2L|S8SeL-M1lA?6E`fCktV>{B0_zf3m%zFN)+MkmfprP2OJH3B>k?R(z`6tk zB_QC6CV2TbOAB}j{$`khK;%}JxzoCD8Dg1_PuR^WYf2$g>DwE$bv5LN?_0QVr-#Y)R z68J6EZWU`4{dcN=>-FEN2CVADZ<$y{|DEdJI{&K@_$}3L6>Am!cdCD@f>@)(?_K`u z{I5!2O*C*7{dZdafA9RS_y1Nk;CEgA)^h#>$$_<;|3L89cK!qS|DDc%tVy9;2VIxI zx&+oGur7gh39L(CT>|S8SeL-M1lA?6E`fCktV>{B0_zf3m%zFN)+MkmfprP2OJH3B z>k?R(z`6w1C9p1mbqTCXU|j<168POn0PF7V9}*UT!xM-UdR%;5a$0U#VM%6YUS>{q zMp|lmVgid9Lwj@LASN>7=&?X_dK@D@ft8w;o&l7dm666uN@Ow_bXqit@aFIn6JjER zg8~DC0)v8r!pLz6Nl8h`tn{MN!n~~1gji}cC5lXlc!T)ylmK_EtDBpfyMIzjWG`Io8vz& zmM~e>+}kkH*L4b$l#!^WR#;F_P=@Q|)^qAe*{tNG#Kc6CH-{fXi{#dhO^yxMwS?Oz zrRU}6<>uz(6g9Rt*40#%WH96784QZmo5QC?M<#U*&0kp)be&NLM z(2(E&4<`o)2Ny5%H-}H@VP{^xKew>x!}egaX^c2}3@tjEL?qxNBO{~O%k<{($vy1J zi5m~5eI!c>EgwU7cN|w&RzcE4e~FDUoms((j^}7)YRnUF5xr_rA7uCA^|I#RFzI@7`TPR zMze~mDr#zKTPG(+M}~$+1{wX!P$S(-qoczO$R|qR^0gMx@zqu3W#v?4Rn^WIMpENg zIqX(WO-n=L*zj;~PdCV(Inc_d;jXL0!wa;OE3a>8 z0ztQRwRCm1bhLN2Cl9vqX}D`~c<4NB`P1@AbbR#_%F4%7k7=9>z$GUnZ+PUn88g@-lS$;wv zZ-vw*IBqg!!f_+-b1v`LTh9q~s4uUt7Xe>OOGn=pA5TeO(PHpX=|zQ=^;~v!C8wdj zt{^WfC9Y@SIjWyaU%tkx25MVdg~!*@($qEeie|*6X2ui!BNzpx6|=GgB|AC4C^M}vKO-%cf)8sOYj_zw`9^qr6Eka+KaoTTr86j$*bH`E zdwouFLP{bdF*B7xC58vLOx6PhBZp^+_YLo&@c0haZvN!B7$%iUrpHiXBI7dCqrwA2 zd;=qC$uv@Um|yb+Kt}_9F#Mr|dC7V-pqkgiH_IeEzLkSlD3Q*9L2Q0T3NggrCm=k? z*VhN^4L)IHVxXT7_sUcI8w-AzS^Xe9zOA!Q5P=k(lA2jk%8DkFz1%%KeBC{qoiHvq zG9lF8hg-|}WfC4A>+bIthNna&RM%y(qN(^GEY`=%*%ja&y@`}y51(esUqQm-2ZRyA zBNLMoGRg}x)97({oS%y;7VGSQws-Qv69YZ{T9DOwzeK|0M@L6fXoiO=QMP|T>ngSqV>P*wSh*rRehf1{F*P+ax3D6QO2GMeVBG*8g+`+= zF5ZC=LB4@)D_D=67>vi$8=Q~><1w2(J&kOr&L`pVW0P6ASzuFPF)5*8-X2)2hZDvb zgGQqrueFBH*W`vl0>*6nbPh&ePq+!^PFr)!6~#;Oyp(b#Zoc z4SNn>5O*alJU)w+Oo+e}@WfzWPZwurXIB>&2b2>A)X%}u32o<$>lpqOBs_k0Dw7-l z=G73Kr;CdtSd;AS?NJVBTa=xhtu5pOzAKYQcb_5VQ=f&$&&y5>_jUL2_3^^GIinGl zQD|Em8*6I|D;szP2TCs=AF=o#xQ`%rdntpP9?&Z+K_n@pF^H0(^Y}10zBMJRQ)Eb|{pcJ<8q= zgR%zh?J#zU=K+3v9DaH9&GLDi`P2pB@l#0Q0f7Obczn1A6grG8$lc7;5@l&^VU04k zwnwE7gSi!Gxx=-3Vy>o;gb4Ul5}6bpg2M%QqHG;O{#K?2CZ^^_rp6{F*48%YtTF!f z;;=saDSCP%Z{hLtSPW_;0T*{J78tLg88k@0m8LgL zvjy-)iX559q>~9mQm6;U*2>n_(!@YpOW(i<(Dh8sO)YJ8E2p2wN2*-`e1<4Xw_~EI zBoYzliAGslTU#0G8|Z868W2VEgJP{$p5veQDgyZMS@`^q3J=Feg!wwyTiTeJ z0n>)Y`g;11{YEDGI)@JI-O;n~X7NdQ0uC48i9w@mtxb(hO$-e5boBKNbo4D`4~Elu2th#s9&Rr7c9!ObhK2?pd|f>~J;UQi#E*y{7Mr*M z{Hr~Uk90(ylE3ic-w+<`9}p1el{D*V@v;)YL@ZR7+ND=NIyO51$C{0R78< zI{z6^;{Q|m@9Bbau(QTMcMImSp!u=1FgMaSFx!7%?~xtSr!`OFUc~?O2BoL)MF`!E zM%#eeVbBc^Dj74|AA zg;0~?og#GoLTu~aEdCkIGv^K;{P>`_s>CU^6G|$ID#snO81_NY={_f89i=`&vjP9< z`UkY{Dg9%MQ2lQ>t#N9{!JS*hmBr=Nl$BNGh;i-&r^uKroSI(=t>BBpZVdqcH2$;_ z;~D)E;RQ~fJowcS3E88^5AHmvtjJ&__}WGKC8uEgg3lTGc}t0TabLhc;~D)Eq5eIz z=jgtpyAMkqJ+N!*VMPn6ZGXk3kM2@CEGD*3 z%RD$XDLD=w7<9IjDsFv<>?W_7!!q@5d9(QYkDNLxwMAJ{CWOvnM3Ov1!w<%hWhJa- z)lH5EOPMKnzG42w|Kh_DdX~=Ent_`j|2Ga$TDM|LOi8vR8#*`@cby z`S0CQhyOo&?*Z3Tw)GAB`+o2HKF_`PnW8f`5L84R6&p4{YG@$@l91jjA*43~q4(a4 z6$P>Pjup|-8PTy<6w5ev#WIdl@15~mClo<&N+R-p-<%aVE!pRP)_?E4_S*aGGG|Um z5VNF6%r_;(@~3+w#IKd6ZO_UniO<^7*l0Z5xABh?PxYrc`)xbbK#9Q2sI5(|sj6PO zV&0lBzP_HYfBm5y2}u3}>8teb<{q9dW7M2FUhfewgIRTOuW?P?>MO0!&wYKdrD)5s z9ht}a7JquclEkX24F}d=TV7DTykTc~#eyX-e*4dz?=BravgugC=4`+xz7hYhVo3M$ z*9QCNy+}gYw4)}grE2Z2^&3~sgKYSs^~R;Ex0-KXJ8}!bri1bzbmqd~_ZfUx6b^Xq*M@!8m z+m}84_4<>?-#>YJ<#_9mU65+sz+-x%=q( zu1iNRo@m%uc(QNt(~C}?ZajG<@8r(Ci%JgdyYZiI&)&NK{Bp~!rgi&|U%XKmkJ$h2 z>2Cnc)%MQffBk_?hfkf(JGtST3x!7x8210?-tnU^TW@@QX?^3_OJ8JeR`u||8o~Tx zyZgU3r2ou=dv~3K7fwH(-M!&lI(PrSfBVmd6W=|%e&f*dXBUqz+HC^=1ChRJ|42J@ z{%Xn1m5+Ztn*PP^$A`at{L9yy?)`h;gP&eJ&QCepc&Mb0Di%67uUW(@W*%eKVh=K>UWm@j_ld-)#ZD?9A50<;q%*-m$&bo`QrYqtv`P; z@4@y>t^2M#NAMBpEB;SxKl}XG`zKBv$532eKE3qAot;+??p~R)@ca3XZtVE##LXpr z9RFv&-1ptRBL^Bbc+og_zrOQ*!{++!U##AK;_QK{^NnBLI9hSGZ}oq6_1Uxf6-}JN zs=~4x=TBch@x1AB#W#;n-ap%N{o<(~P8Obm_|gXyk&*W0 zHOuN&@7%Oyz$z9QZF|?hhf&p z5Nl+Bb>D&Ya_8d4#&ao+jgKCN47q!^1R3Dmhm#BRhQAWVwHFoL`ugS#7+>778IF7T z)w{dokHPq30zyJ5T+QA+r<<>p_8jf|?!bDv6E-B+%QuwD(d}s1yZ_Sl>s83m+Kuy1 zwvVty23YnI>fK!m4fGAbM#L>#zIT7a^(&W}tC69tr>pgyqb+Wcb+@~V?K}8Sq5|><2;|AX&>X+ zOQ?5uiAW%D%F=UJ?m5`_<-x`yjWyjzTO#8t-yK*lccMfv6Bm{jE#7|M(DBCo`|E2g zL;56b!yC_>Ih1S5;Kp9?-n_)5NvamFEiK%#>(HK^M>Z~>Z|T>Lj5NH43^GKX!(ugFO$fI)95<(VnnhPzotxV=-nH*aQ6&#SCCuzX&YIVo0WD9ujk zIoj;aAn)|Ns%rkmZS@-p)8Y&Ubxc`FhUGVd9#Jf*KJ&0nU`QT#%Q(X z)b#9*7rmX2(6{)@>k3OsQ%x}LNv+f9jjH^fqn+M-Pe$?(OJn(%#4Uo#MTDv)V-^WeG6wh0o-3L=uT|PnW(1?*qT8v^Y(r zh_Vbi5r~9yn%*;hSqY52QA#9yE)2c#cb|Rv&hd`E7B}CA{srk7DRH_exk$|8uxC!6 z@%4MwKPx9A(G+LYMoIVrANRRa^4>FkqFSYkOVBH2QeNb2Pd{4zYy6HrHg6``cX}=r z!9XjXSimHc+`Z=I7wKN(cl5D+r+9DPj7pt5!o!=04GvqUsY+Sst9{S-ggKu6VN*k@ zYgB0~(imyJN$(lo!;9!PQ@XIOIBTbedmL?f@_WXg5#Xj$tkvW$a`&FMSQ5#Ny;I(v z{|B_kf8W->r_Y@eR3bLTPES~ymQ|9~XnfE5yM@bYj(g0g+Ph|T>$!_X$1>kDzPDsk zP0QN#t8$jNUb=Prz|pKu{yY1)znNv;>3Ioh%boRGOG}ph`sDkk$4?~{zi0i^Pc~jT zxwmBBf6m^&d~4nD8}Xg^*!N<8GWVWq_;L3+?!W(Y;@OSo7Z;fT|9$!&g^kr;-d}g~ z;m>!!7ClScbfLCW|MwIB7i+$JywM!{>z#*Z$rqnpTDu%NJGZ;w9eqsSX?lC}W+%@6 zdg3_c<)u4Ucc*;+Xvc{q?^%E7{n%7kc;obmri#b+TQ2@k_*(z>;{UwK2YQY&fHHtG zfHHtGfHHtGfHHtGfHHtGfHHtGfHHtGfHHtGfHHtGfHHtGfHHtGfHHtGfHHtGfHHtG zfHHtGfHHtGfHHtGfHHtGfHHtG@MjrFPS3BX*}Qh+>bgH0;@$o(F6}$>mhJIPTh_kY z`~KOxsj6>nTD@lHuG*?U8{*ymPTcsa@v%m&+Wmfqn-9PQc?RQI+b?OJbjZ8a>yPe+ z_rh|DkDR^&-eEimNy-QNF??ndD*T(IrX z?)p8Jald)6+VLNSc(>oPm32j%w{P9Cu5(GzcYFUox?6O~@|B6n=HkS6u$JT>VfFTX zLCMMuMX~xcW5>ADz8!Ab;}L3$%giQ&*2wQ1ciQ78eR^R_MpA-Fu2fRib}TX1r*J)P zzNtJ*Ddn+5bYzNWSkbYMha306FD*1g3h8_yjC*NM0X=@wrxyxy%yJorKJ$D(;m1Uq zG%}9Mj4S0TE7zXb^WBr%xBDsnqZ=AXrysU_QEkD0|M~y?$^Tq>vijDSzxI>< zCw^!+`J`a^6a89*6889*6889*6889*6889*6889*6889*6889*68 z89*6889*6889*6889*6889*6889*6889*6889*6889*6889*6889*6889*6889*68 z89*6889*6889*6889*8M{|N(yIfcaqMTNOp$!RIcX-SFk@rlXt3CW2G31+j&7!w;4 z7ayOHl#-g7nVp%Qnw*xFnUj;9k)DzmAD0L}Hko2ow9ZfoWO#v$mMnG*KgdoY176H>({Sc zy=v8p<;#}UEL~DKYh^$?|VaxXI zJGO1zvU%hBb!*^vwKYqs7ukki`rHD)W?6OhV)!h9&*Fs(=FeZSaM9wW%T}y{M`)Kd zYu0b7-`CK%fA8Mi^*gp~TEBXE?b7N+3vI*CdA@Dy*3E0{7FLv(m6erORFs#Ol@?b) zY;4-Rbw~XkkiE!e&)&Uz8xDSP{KUx!&_w3$f8-CvNty{Ki zTwS}cqQX>i?DqYZ?Qz+~C8g!@JGXDI-?P8*AgrO?CZB(Pr0MjftJkhJBLmGZT{wFJ z9$??z-L~Q9K0}hz>bfP1DqjBkhws1t{>N9RO{EnTrJ8zRfB!*bNF#$`d4kV3Encwx z>UF@sbouhd^T!(xf4+au9vkuVpKaN^dE=Vpi}w8VtSv)7dH#KRQE5p@>h}8G7X0T# zV&lPs2UC}&$`VqqUcYkr;)M$k3p+L}+p}loE*tsJdA51;rVXo?Z+>cUb@TSW3X9j> zeelARotJ0czGK%u(EoX}FR>9MwN!odlnL;Yl9JA!KYM!9vBPzHR@U#djsLu7V0qTB zGC#RCWSUoaF1_W(^_G^KXCu=x3Np6U@7XP25Pbz$BoS(5j4uzRUcJ_QA?fVdGpA2& zJ$z_oZOzUdw&CYI1B141#mNh2og2?zG%K2KUT?X0?wc%AN(ODqjy-Ei84MZG7vLKj z4jlR-e$|z0mqGW_r%#>SRd;Z2z0LVA<0)9(b*VRwpY}O&^OjVosw`HYKYe zS`=bM3@(ZdF8zG}Vd07*13AEutY7-o;V+Kh6O$viZQs2gF+lq*=zI4b z`26_!=BpRao;m?G@Yt7tzisoz4YuJYKZPQ0_55|aPc&a@`TF@c&+j~KzS^{_5tooi zicLsKO9x2oTIAMM5rK;9og> ziTzkC3|F;D#f8RPflqMv1|sds^IY^`a>hbK67(Z_^i`spA;Kxo_MClIH`}gm)%adzJ0Nd~lkC#+?U1_gMBGt*i zEG!C>MrUz3EIO6OrLveDHjPPTFlii)fF~461R`-{RFqt;(52?*6&2?dmd;waaU@kE@q>J-zzuwN?9bM^_(qgrQMrWD12zr*o(r27^w6a*-85iGU~J@$9YnCpnt6c{8)m~3eTjKMtY);?r2ty;&DGVyW z(wIyJ9g1ZZjY5tfMo^%T<_iRo60s;MN)wlyT3B3KR$fw8T)v=c;i4tWmetnQ)Yj+_ z{3j>xzA2v{yY}X#Zs#ZOc7$P2NE9kLg2JNHX*|)(E;R!G-mNFV?eCNeO-;v+y1zv;Ys=W_GY z-LKD1-028Ir4flFau|)yWV6|H7Mn(;QprRT90_;=p(s)!Q^zG`=NA@M0e(qgNm*6Z z{H4JCvSmmEg6Z*6z(4*?7ddwA8dBta-Lj^+`Er-*rAzR=}*s-VkB)2*gk`z$Rs6e5XAheu#>=?pH!1c5}PQz0*~7+fA- zB2^lbGxG}y3QNl>=ap4dR08`;YwK3j)FS$?tTDGPUFy^N<;^Z~42;UvE6o-;|N8o= z)VQUu&%V6*<;^yHG8qyenat#H7%Uo<5>AYWpwod24o?~-l`E9-$r*WtP_wTnpI12# z8a5U$tzEXF79k(>uSo>^@B83z8(Q1;_|>adue9Tzc>P5#F>d4Qv%}4Yo7?c|R0>2n zlMQYunG6Y!N~SYuJUWvjij?W~YHfT{az=JRQF%#e*}QoR7A&rTR1cZY@&rqlq*?F} zy}ogC^YJTJuAGAe@ZERE&vn87f|%#~`e%ol54GcyDP$&-#^f-$R5FQ738yirTqeZ5 zkgHVd^g4|>Ju|Z)tEdO>rqX=}=M3%`2I|U_m83LU~o?ym^%sl@;a4zG^<;FR$}|dJwW)r&#d6 zZNqISfr(~ohXXO=E%|pyT!~ryMR#uilJb+Y`m*yb) zKX2^n_#q8^Cn4>D^ZDdSyD#3drfCaM(6qPXhm9>AVJKkvA<=O_m|Qqw^QCgFF~(rj z#l@wjKn*@EBP%(zCNNa`FpGN{Wli zO3MMVw73l7zpAWs9^}WOOt63cFB&>-`__Fe7F+u2>x0;iA2eL+2t$Ulj!NfnSX?ff z5A=)00+~{&(r8pM#)NotR#rx4ZgGBLUQr21DdYvDmAL{EL1}SGSs~cprIn=Wi;MDevRaoc_IufZ?}yp?Cm#gCUw0i529rx; z^SJ^pmn&e)v}T=JDT|I2$rTE9Y+QV1Rz`MiZeC77UO`c5S!qRCadA;eaS0^85-`dj zt&11=eSe_6VE4P3a?>vbgSm-WcoXAyvuSG+95=Op*=={==7F2bZrs?hr;>&gc3i%Y z&*SkVN=Wu9xl$%q$fC6>y(vCDEjt$)tFqx0S7A|UWd*!nC@(55C@IP>LLMtKr*-iH z-!Aw7dK3Nt9Fv0Jw;gwbwwxgNi$MEjdzfT8Prw&J-e>b8H9CVvuGVN2QPC=`KE`ZL zP0q-H2goUg3{Zmj0OjzCAvd=$FFyyIvg{ndpYQuaW4mYNcgyeAqFcAV+7A1#Qjrbv zfh#?v@mAxld5}jp#j(Nqh=f8qlf~mojRu`UqtWXi2PpMg9lWE<%E-;n$pP}g`75d@ zD=I80E-Nf5%FoZvg1E`bdc1I+?+*<kS%Zj6T++k1@r9`(rStWMm-r2U2}$VNoHt zA|-`jf{IFVa=$@XW5a95`YlH{FFbg5xPDRRw+-Jke6!q=|2S-p05YFg zERiYHMs2Lg9GjS6GU_$5Xn2C8l=RH>9LRj7Wo7xrc_sO|`H&Kd3i2~EGofTiNPbjV z=KWIxcw4_OE%%;1x=~kmqvKZ%w;OJ6u%txbp3md+1tOtB9}@!wPpUaSDb5(DQz^A3 zZ9;NZc6J`PUIqCjMFk}VxfV~XC^siFEh7b9^Tt0aEAi?D|3%V^4yd;M-r+ z{hUnqpZ9n3t^dr){s$dlpxkE)_yVy^rqmh@dZQ^RIUeq-)u;_IDY-ehnU$3lxtZx{ zDLL6WnPBoVGt#rN(o=wu__$bu;(k`T+b;*YJJ)~W?7*XrFdV4pLrptMBGYL!2CYI7 zV*vV%hL~7Gd@5ACa?7jA^0P9a^F(?|I=oMTJ`@>gDM`u63FcUxDe8Vk+8n@_%XcBD z@;9L0JcqA~fBOx#2Um0He)VQ!YF5eA~uKd_l*vYT1I)+?A zKC2M-xA^LB#aFK$cy^%O7Zz}Ze6YLWzAp&Y%P3At8YOnUs*2T?8dfyg616 zdD5WKXm!T;q{NgYbG+GX)anHHQj=%@yAc#mNlCfVB!@rwE;+&jY?@X!U6JovX}Kha za|;{ASBi_TTxtBaqs}B2LL*b8Tn-MmDaM=-X9VSAVvTX;7^6-PWuYl4J|!tmuZOCz zN~ch%l~6H^ON=we#h8pL6$kKV{kySQ-kh>>WplZFWphe1a?;#f4x3#~&GPc*Cd(!H zF1T)y-+pUu2K@G9%473|VyQw6)y?>X*f?FR$)t&a_hJB`QG*j?h)GN`L%N8TtCR|* zMkQBhH3r}&2DnnFh4)gDX8vNS|E`1^wjs3Rv;*|IJNR8kotetw2&GXf&(UO zQ2YwzGKE}cgoroBCnm<4vyhjDsR>9OOrugOlscVSZBPLN(b3XKSyZ%K1_{M%FsPJj z_T7}k8Q(pB(e_5`&u_nnX41A_v$#<9$)ls96`B|$7{K`SjGXNJ+>FFH=)4pgt5PZC za+zGERjXkyiQujms9ViB)OhA)?~d1#1g46%HnK* z(bpLglk$plGE$O~QetDxV2L!Kzd{96%YgYvX=G%S6i86SKowCT6H)J_B)cM=JggRA zGg=WH9WB>E;xoj6%bk@E#x4Q!esW4;EL22Q@FnsCP#o~3;;6_-iNX-0(Mq=*|`!11_Of9xatc%0cZ&u>_jqp;cS~ zOlcKSV&=W{G~4i%29+LS9z3tOWH76VsaZKt(q-jlLO(i_L1R#BwKAv<0_*T5Kr9x5 z`XW)JTo+?7Xrg4adl~7|d*Ob-fW}^~zHw;)a;`O~j5?hb9A0x`N?KAX6mL+ zx*k$L#Ew!L6(y5PBmgcD^28#sSSnL#jXJGDM!uh!*$aN-t5>j`%_}UdrGfn29B>oa zRad`i-`uo39u~njKorNCVqz1a&tOt&8WgTMdAXS>U|@_owNx1mNi$jk`0yq~5DCUQ zQXrN}zy@e^TF4pH``OvO;KMosfR6B@(2T0&Vh8 zQ;3RE$YsC^>3(i*PyH?Lv=Cii4L~S=)d>G^goX7L8Z8?m#0Ij?3Bte048$j;CWAwn zk(8d9n2;D}0N+=qK>#4f%b-0X5uNNM=}{JdW9;l7RV-yw}1 z2fgf#ro{N>t(Oe32}$u#^2VCY3GpUi19F2-t%?Hf5vwQ%gC~OskccG6yC^UK zLfA>fVqk(Rl;9r}7EDEY{8=rg_~iI_a}3xMq|SjfylJ#*q_7i5MMulz7HbRHUJ6kF z`A-BDMR)*sFC!E}y@`i^P*gPKRmU4mYxZ#o@#%49#L9uC(Lk;?=ycIQxePL$L@Jg7 z%YX-J3q?^P0iO>%2zf#{;PDwe9`0dD@noxYM*=3LB_u(si&iaHg0)ep)M_Q9F2vL$ z)>bM8TqM;){S@8=3WZQv6+&YXG+FVX!GaU~u&iuymwMHmdP|>|w{LoU52-F89%{Rg zpEQVnr-7Om6!VdhVkFlgR0{+`&{qWQQ_xPtgC;_#GH|%iVhFD-{2x|SxZFANTI!K5 zFTW%8Z+@4O4pu)#8!d%GP8KDX0STaZG#Gp!8cZEv!;3(^kjaPEX?RBkP1I}-o62TD zV=adl^l09^?)V+OYu>W2fAc!hH!Cq#86}rPq)Q>s%cCG~OQRr#i=!Zii6N??ZA=Jc zgW_yxtYJfAH3h)Aa2Wh};eyxrKOQ+!-_{SibDPz9)OPU3_mR)il9SD`TJSBP0*It{ z9@QNPZ&p{(S3mUDNG#Whs-aoYATdH$_ z-_gSMmVJ-!6Jqsxm0qrjR)N7+>%j$9E2G4KD-=M*kjI0F<}qkoE}aYS2$45MGt3 z0+~vKJ{bT_Cj&AW`U{Y#aEVIALjTK2^|lB!HmCp>+MN;Gqf%=%Drux35_*4d_>kV= zpH7b;!&?&QlR<+$^vxgUp^+=iiJ97EW@1W>2Xic#(@C;gL zcvi{P;wT9pY9)}|xLhWXOs0{^M8G9c$i#5y8$luwiDVLq3cUuX!OymAncNNk&HKM` z-UB~5At^B~DNdtP>9lf{1`0eVp4qcqkE%$45Yq2@<@m zjUYq>J>Rk2Hhl25VxcalMN$EjyUHl35NsXv$KgYhJa8O=a1A<#hlB1o0-k^;g@xgX z1UiWbsQ~xwuKFn!{cCG2yZSfuwVV#Xf*;uCfA!Gcl$dCU)f>Uth1LdWbc+IO5B*R$ zH0YxWU15NDA}O309u`IjB@)62I9xa$7X}A}aCiV**tdK3wBfh@4!*_HZG=aue$@j% z!3bF{My=O_L#V74L9f<8qrV#bIv$(HW-+NqUlhn`pgoaH3a+hw2OzddO=?4rFyIn@)yg9zh}#BM9Lk z1U!)hNskat1Qx93M0<(3AB=%`2u7s^%!_*V1?FtpGMjfA9mNOGZ}VWHUI zkYFq>AkaTBaLyzb=aHjFj~q8T=7%$9=GughyysCu^M*nul|Vx{yoP5WJz*li<`BX1 zghO%%d|W6tC?qrh6Broc@9p9=e)Q;ZV@8i2g+41q1~9&vA7c z;W%OZSjXWX4;+^AV{@}#oBsPOySL^)BVvDgv42p*j#fgGjwll97Dx{O78|+(QJ`=k z;fZ)07``xw^`Jm(P(YABJOjqnZj__bh%pWhj{g|ykoMEntNv~HlHbKgwC~maL93!j zA{9VALoDD3;B74Q0tCl`5*iK$7E*sGjuaXk5*X+o5CpLw7&u|*FsH!-M~xc%!M{GW zx6l2lrKJtO4ZiiQ`dirV#r{I&9xBr!sAouoA|8hU)|bJI03U-)3a5bW!QrvE5PUE& z;2(eq^75Tz=ip#Bbo2-R_`uPA&?mV+UAu;9)4y%|cKo;4KWNPZtH+1B9TfXW4F_x= z^v8n~0Hr+GyRcAPNN7+n7TEXm518XIVYq|6^YD)bj~O{~;J|-m|8%XzMtrE_fwwDw z)-9-IApI}FzX$%I8z_YsMkL`N9)d%Huz{H1pa8!)Q|*R3j~OwIf=KOD|QmfHuuDExWg-|3<|6 zyy|KHpcW12P?vx|FuqW?2DcN;4;a9(a2z2FbPvJ?2Y~6v`1;NoIl|t~ar6YcVIK?} zIoM&sa76!h{5CWAR(xpe8!(_3`^$iymsD`_$z&=4DjA5|K>@c1e9dr(dt7ix0MJMHf6Z&9BL?Avs z4J0gYgUSnPfM7xV@9puun!f4)k=HIKg3-Z~mQ_7)$*B zQTbzpvIm+&d*Va)GX_%DhQlL(s|im5sh)s`@*a=HhJ*wL`3GYBe0(w9-jf}M4;(&h zFhMced^?t+j?Dl`D11JhuR%@vjB>RItCPXh_ewGjtj+MgK)t?VDNnd ze7(Kqdb-XUHgMQ5=jjthO`0C);y&AL&SdYIS3(@wsmRQS^a_!@H@7_Bnp)a zGx`M|;J3pZ3Y)h|)A|K}C-lLEDI7L#;-~ft{`PIVU=%ovqE{yO3qA~ihy1s3!$xsJ zzu+U;elb|JZv=1Omlejw+Bg*7%BQ!C z&!1}%EAL=iu#OQCu($0-R)$9LI~lN&LEC~M=opOU8Em_em7x*jFJQg`j1Xhx9c&BM zj_=pf;%D29tPI_bFYHfza`idY%Czws@D z@Y^<4YG7M1OZ=bfKmXs-Rq}#mYnvighBnFIu*? zDPm=4%OL!(En6$^U|X>Mu7CA6et*}0`@8<%Wt6aO3CYUPT}I4Xc?a8q^*4U|FnnZZ zn<7?*?r;73JN^CL@w<%Kw=xCU7OcytecNtiW#}#=_pQ8xZNb{Qg;}R*4&`Wn0;%4+Z?7tdDz>0 zFKcelWvIS2!EFxHWjwyk_p;^&UB=^E6Wr!7k*{9>*nBT*ZXiKAfVYV?!EFw+`*i03 zeVgxP%?)6Peur2S+~zP{#_8L9FKcelWvIS2!EFxHW$>2G_p;^&fA{kD{|5cr$LCuU zeKv=&=#PvIZA2zydjHaik4)Cp57L1T6!ZhSWeP0IBf#cwiQi?c{@+snj>!MJ#($^& zFgr$nNGCorKD8gD6CY;E>knziN9Kp=5BRRr1^q4YQTx}K1OArr-=TeDfBHZ05HLSU zfAWvaPtu?G$ZV|ri~l$E|6t++nA9qah=*yO2r%D87!Dg27=nWdPXb`Z89zTiUmq{e zxn6TzM^AMeGGfkHJ3D7jU;oLorp@&A#mz{%tx@}QsY2J+cd@5`>JX;*fa#s^;W%PI zAl4s?!(y-jm;iq)GT#MEyx{FUcdq-KIkN}b+l?4A#$&wmEN`5zultnA&ZF%dou;PU z)@yyb4B`0e^B;ucKx3F+C@d`4ALE4$@eTHw<>nda=k4o*@$z!>aC4h8(`~Bbpn>CN zIeE`@nd|57G0QW=jW}uAXU>D|i|&{Vw#~l~0<%m6YsK0ZGF?$ZK7eEnTU zjr#=eHrdtrfB$pY{q)oz3;+AtCLro{{t-*{7Tf#$C)faFb`!^ugX{+X?}39IJ{{>a z++mVC#>Z=x$L!fNXS>bzCIn)rJbH*5OoHJZ6yS?>_X!y8F>Ue~-;e&!@HG!|b3!cm znZJh*^G{psYcKPk1R&FT&9NKmVE^gIpNw*Lm}>9nFv%C=<1u&6oM|&K%wT*V#@&0` zB#)W1=iZz44yre{L!bQHasjY!Xx++_#o1&{$N@x_7!YgkNK~HaoEYz zhkrcS?$Z$;j&gLIHhQ>|os*lFhr8QscdWMyOf@*&+hdN8?{pumx9^O=S#vzb44XFf zGw)g6#Hmh$);ugP3%3CO9zINcjo4SPus!iZCQle`|LG9>!H(lcINDDfKgPkye#jhO z_cd+ohi#84D+q1)ZQHl# z-%-l;#J6*>8|X06Y3S%tcEd-`aGvPs@ae}N{LipSQ)l~jxM9eI6IBCa~M8q#K)h0 zGGr{#(`A~!yN^$>_cXUamnmM({-6BM|NdWtT|OP?Fv8Q-Wz=X-&*?+AJ*uiA+GPL6 z4|jHUc5tuRYaTkAM4=cGG@%MG0qd6M~@seWDKMOUw1!0?|_hCMu4CH zOmAP;>8?Y9h+zQ(|MkJRF@rvyG-I;e#~(YnjrDe)?YQ<~MWt={qeeQ7oHBOw=ux9T z9XE2!&=K|%JZ542Li}(T&j~YTxlWxm3uFI*tE;cO?d!Hhd>1hhd{9jBs#tb{_9C&Dnms4<6^|8|E^0nxEUq(Q_wGcOE)0lswaE z+DC&v{OE&!{g>S!PcN_VxuMQ3BSwrIv*bZ>Nn84Bn||(X`5&gAzj+gxfwD*bcXV(V zGGc=L@QGvWMhzQ0%xU^G7caLNZj-0GeCpxp?K*j;tB=pDDMRcWKK=BgfBf^moiM?k z0sd3Rd*fW4=1dG){h*+zE&u!d(fm({5$*+ljKc@^qwU6xv>)c=IC8|$p&yL$^Z~=~ zGHKc*3})(Zhnb#Omm&Z7*MI%v7fgVV*VjvvctXekObnc^f{=zuySvuP46!xKRTK ze`Yt_e&}#V#}6kB#7@Hbgw35Yb?SsEGu?v1hJEni$AbphfBNBwDYHDhXN8P+oi=y2 z>$pj-v&J}k;7L{YGP6Q0!0ns2;ddCo9`QeHl*6du9}fL^=;*;izy`U^3H6*kVaC`A zGp5Y;a&aE_(MSLM$bOc~WM8l8o-=1fc+H&V=IS$doXhl?{zN)HqU2tBCe9{&d*>;R z_Ww0}u+!lG9y-i{i1i8Z@ErHq@M#mqjrsJ0;U5ojcJ-Yy#~b563FAI(Tv$M$k6S?S zG>-|B!eD;LuyBk1HrcNMK_ReD`4WAw8 zOL3d#HFeyFpL{s<)1eb4&zw9rZ0ALk#2CB~S= zNpW1R2pE_yq zbay-g4U;kKGn-)F6|>!$KrwL?XoqBiLwq^Fc9YvDuhMJ zU?Fltlpb3Gu*D0%r$c zeO#;p=TmHpfINBIA@%S{1CkBT|IX1uTYy&l0ly=;Hc^ zm6fEnl-IWX%jqw88dNK(Tp*tk!jlWV_zb@p1S*3~b@US2{ok(eWj@bmHyr!Yj39BDA73!i}x&%I+dx3xdCO+VVZ{Xy!# z)r~iMo&SA?D}y5;Fa#VSiyi7sp>PaRPfyYue4xl{9LC8{n52y3M387Ib+kHKstl*H zf&xO^r4l}g%bbqGW&nPmP3g~r%x5s%$y{L=g-YPlgxV-dXb2vMWwBHRDpDiMJ&%%pD9Ci?w zK%j+*RUB{Zcn(PxP6&}wMKp0rqGFsgjwF(*v;-lKCgy15dO1lN!sUAr zuQ+_x3@m{l!SW70Ubv9lP5(C)e&f7{{say~D$s_ASVXs}FbOa%T0D1Zpl7&}E>>~r z83r*d2twxYqa+%kj2MndG{#6>W(SOOnT4eoDT>H*Pgbm8*o5yzkVG>>g#KPmP6QH1 zE8`KcetuKfItjRWN|QV~PAAlaQdwfz9I5MP9x91UKH6*YL_hanj!Z)3oqxJ^4a+8c zHjV2~VdA`bj@Wy+G&|(CfXqC#O5{S$? zEe96g3LE1%aqLttUX+*}?y8p)f@k`$f&i1KO+owWI;${dO<*7Z!9R zOMU4iDh-yMfYtV*MfgdyK$A#Hqw8WdVpW_;DP?fjpV^P{AcsHk(JGuvuh+ ze{j>270YQB{rA=Wf&NJATQBW@A|5v)Siqss*($PBW733pxcSW*Gi zWRVdpk2tczaU7N}_YaNH#YK?VY;phrOFa6du9k}6?`u8(`}J=izt{FZd7_LEDq%91 zbT(gvGA^AC9tTVl%#erCiQz$*FfyJ`Ao7{qki$=E zms;>G9Kh!7{I_Mq9{Go2*-`(Y&Xfp@t;vjp-f9;%H;xfC{Za0^uo`@xsCC5k;+0Mgj|W3Mx^t& zVUkUc7cI8U{t-olKn|TJ;ZQ_WhQClm8#i?5MCZ?h(UEczP8bux^cUb}N!BmBaBcM#<`7jL{CXPw+oydmLpBN#g z(IdDb0YyNG;2Jd%t6=>(i~kLo|M&AhSf5_&zif@%9LXS1$k5B`-Q>apxq$L?8)jD^1Rpx4HNsPL zz5L#e5qt{+jW^#LW>=s#e9N}$<@a{n-}tEg>x_Z-7Ux}oI??;l{vZS68~Yg_W}@s$ z%X>Sv@Q?J3ebxBhFuMX-@CQHy^!NOO{TlymEOh1NeI29r&%!;jd0&)w!|6mv@w@Tz zzD`j7I~jOily}4FMDM5ckJ`V^80Z!+@9U%!y`SPA#qVU`eMNaUoKAE!{=4z=cR4}h zzmtJ}iSkZ#H28zYBk83HJkP|?%lm()9Tvlh4U)QON;stf6MyCB}GLgMTLcVTet6N zIDkmwkuw+1ojrT%%Z5F>>bI|*m)m#vTeqyMF}(Wz`+qO4C@pM{hJ=uVpX}9B4T3#j0!PPoF+nw|D!tt(!M(5ceJa zx^*i~W7BTkXgPdlUgD;m4F?+b@87rY^Yd5Fo;-2vFz61Mqt4uS_-ohJZMk^)!Tm>9 z8rLLflhV`E(^6AYvq~z93kveGQ_Qg@Q*2>u-{G%nZrT0t=z~X(HXP4sY1s|B@7=R| z*UlZ=w{P3Ft-hsQ`VN2j<(AvutlfQcgZf58OY;vu{O~;@FG0Qo`Kr(H>n^plyn6BS zmw&%3YH7IupqTGoym;{~$a9dR2tKBzrSJ5w1^kxP7w;4_!2SXPyZpJI-&4#}zl%?v zJh9+^;n#=wH5U;T+vUQur%#^(Z0lo?M<5n___FWxU(yx-TnF&O2O#(F-#^m+V10*Q zec@@>_0`^TY&|}WMq$#au>LDKB7(&giTN^xLZ4e+Sh8SAZOzh}W!2|F%|8_D@fjp) z1dGmv<#!1YYz~VjiBg(ND$9zC7c5*>TerNf`of(yX*#y;n`6gsTTYsHw_ohoS&vU4 zQpm9QA%hY@rE|Hk!ft9tUg5&B{PG1g%j=faEn9lwR-4?}w|dR$=IfS|)b?w)p0$hh z_+&DL%z-t=h!J!aM=DjsXA~5cmCjqZpmy1^Wh++H)Ldw8liOFXz=7qgmbkI~;=90S zGMQ8og+^s^g-V^yoSC0nP+T;>wyvhSx^~IZWf$9_zG;4W`}Qph{>BCE*P7n}KApv; zQ%H0sm#fek%*nZh`MG7KrAwDAS-5!N!o`a_@ozPMck9--t2>a}_O|0w8B{ur&g8L$ z0&To8KC_^>q_U!_Vt!TC!ixFx7S3C7@k*QAYJPF+>zk|F&)Rpk<1l#~UZg%g zPM?yJk&<0hRZ?16RsoJ}d0A=Q#cLgM5b=GHljpmei5(Z)_SWN58IbKc9J)xX(&-I} z=FE(|qSErRlG2K*%JSlh!kP=+kt}Dqso3sUt;c6mI2-|=%hg0nBBNCaDLL7BMTI35 zB_(A=C1u4$c}vgV_#Lr4#rbR3tjDLbczixz5)&(rj#9{sS=o8{g@wgs^GeGKi;8n{ zvzMH^iHKhcvRQ~6c9k19&ThYP@x~47@fl2kh{KZ_HEOL)rH@NU&(AL`E-o)CE-Na? z&&*1%K4Y33Hfq^Qg4chRU1+=GIEQH z^9u{gOG*neGc%IspZ=zYoP1W_e$7(+p0lO=XY<%xiArP8#wVE6GOal?I}iBJ%g-$= z&ri=timyC%yHk?dkM7-SXg{*BaQW6P>-DGeMWQIZIW{ISKGvu;Cuimr6crYf7G>ub zWI?q%w&X-d8P{dMs>`wE(0Y6(pDmP`k`rPR%m$@Km!4NvoSB}Qot2T7mzkPsj?F)I z?@x&J_$-cy8?A_s(WS;|HHL)T^!X(jDLJ_r={W!&XO78fdf46McR73gjrI6!won|c z(zj~^*lC{%!(nw^o6nh(pwsJW3*p6bi)Bs2HtAmU*lbb^wf#d_y{}SdVWo#u<|m($mtjGtDtt zRaA7eEJ`YrNW=mt57i1u_VG^0Ml80mdO#xBOGN^)P!uJNj*?1qzv{$qKj^^hdfj?_V?t6wQd~leS!Xb)6w+u&deM<$ zp;#)BNJIjWpx{JToVOiYk8e&$Flcmoqd_fK0Jtn#Dievs0s$}}7V&w);*)>E{NJ-4 zKN%X86-uR6qXV`h`H|oZ@C0HJIHVkKjCt(x(?=}w(;HIX?c93&)YJqm=!~Q~sT2~u zm=6!YWwYSJL7rg#xi);H#RZYZw%xb&?R!7V-Uj?cQ*>06OfHWClP8o2`9cnlN8>X& zTq>0T)#4==5d797NNWekxutFUNA>M{Kg-?*{CKroCR57wYGtGdmev-4_8bA5$AWqp zjn1IeT?F_WH;%MBT&W$-SceDZXSrZKeu7RFC6_DoI<15c)o%{eMwy^E9javvGL1o7 z-F(_2?F}uRyUwOR%N6VK!RgZJ)EbQ{I#R%8^OzhuHG)c{6Cy}NQUsYo+1S$7rkNvS zV`Fq`y-p_Ku~{q@v;>5P67Uh>;dnfe6h?>$*mtWZ{wpxQUG&Gk!dkDt-eA;eHA*pu z#iG;L5hOezG!&E%3&#@(VIdjDW|7g%H9*195&M$B#UAuZRAYN9lqO=ho}5R>&3dXbF!)VMdTiWKuXO3>S*W z1&0K9`HXfRWq;~n-{PxeDp{16&tftd6cT|<3=6}BgoI!N1ARt~8a00OsEYt!yRRGn zpl-MHXN&p+R0^e7BIfb93@V9C2n!Dh$A$z41_uSYI66-n?O=ZeY5uJ3j*k@o-S{_J z&%ZQMBoa!X3d~|g5J?mQ4vWJE1^W4V4I4J}pF`~jU4PcM{7a#*7m0Z+8j}tt2a;ZB zXh0w)z}MB@d7#7a4?bvq(zp14E)fdY3Xqot=g!06rxDZurPl;a%}z@(!zo!lFRiZ$tzMY)>%G zqP(|{uien$qehRNKHbOL_<3uqs1P>^U>tCd|YIOrPT!GHtZ?)Q|ov72^L5`va-3Tl%wU=Hj4` zz)|*t20Bi%o8;&2K6@r6V7kBST+hI{6KDB(`29a43%`Q$ue<$&>QDFdXUo(nSpU%< z4jnt*VdBW4K67UT`{F$&d(XfGxXzwBY@ExSp>`Fg-_#!}U~i^Bt5g4g0rtb39sghU z-UA@2s|g$C{ZbSu+k2-fsL@nojETlXR8){Iz4zXvE^P0OrB^kk8)M=d(+tKQV?hy7 zQPC7*7c|D0#y@vq5rP_D2=4cPxd**%%X8*AGjnFnz2_{K%5h{8Nw_DLEq!j zxt^YLriab(@Lj&l^Q9-}FA!yhheyT0-->`Bu3|6f|M2_+X^MXg|AiTDQ@j>0o*(GH zc+ng$?>W!BEQ?EtOv^9Ki%yGl*;>+Pt0il7@U-EqQ$>(3rE65MY%8yP+^a>9S5A=Rzy#4PB z&qsuMhlIZn^h&@hGZ%S<=#vA(6H_9hW4&Kq5*imhTe1)2AFhAk?f$v;U%t{SC?tGl zphtxNbpK^;i-j?M-kEVR31P2z`bGLrTTp<+A5iYte@>1^YtFFvb1Vti?C?OJNZ;lD z8NQ1auY88#pHs+R>XVX{9Oa*sw=(dhMf~0U_~SMH@vLt|%&g2;BeIuH_x4Km%P%R2 z4~We6OiqnWdtpw%(!koo{rGp}??3vd?El4>pvV^;yfeZ)<^{vECrPU!V?*LSrspSk zOn-7wZb-m8$Ho^wE-Eg-FE}VI(bGRKE+9X8RZ2`0clvV?u}h-hk%(n}>mULD%lHTU zUXzu_KP7)u=)#bI)VRDwv!0eC1CMPs;I{AIyAl!J>u9A--Wj=}QBjj*R#6^^XYg@yzx%Li{^I|Ez}hzujYq z|FSaumIclA5(LZ+be!>oFfr8gskjxs!4W>*VWDNd;o%0P{~4bD^yR=0h7Hrdu?zr? zq3-BMQ3g;3PzF#2PzF#2PzF#2PzF#2PzF#2PzF#2PzL`0$bdr4=NFX}W*3%9%0$A# z!rZ*fhbqR0?>E#pRM)P7S@!R@e)4`xtx@+-@i)Gcee<^p^=Exszp6iVw0+wrn>IdF z{P*8cH@x>y@!ww4asFa!Q3*`*78{jvetw?nq2jOY`u3Ce zPIn>mtdS|!$OP+$ir>=J)uHU_>g`=S@9NbKWPWEN^fXhv!=;3yX>uF{qxIA z6Kuy7-zO-@+dn8Wvp}I#w=_32t~Sl*`R?qoW2QN_$OO-E#rN~`4+@SbEL3VMDk^KM zYhOp^^c*|eJutOr-0^)v;d%3{ReYhOQm3yn=+~I0G$QjndyWmvu^d(lb(52^1QGMy(Jxm=tf`fcl+nZy3wu#s{c*aBxg| zMp0UZNUoC041yA)X=WiZ)9@TJ$q=c>1ANQq-x3s@P?}$mk}1~+Btm&vfnwxzkI{em z1AH<#GBG_aKcBDCmI+D(#reYiNp%Ag?Mx>R@GYZ%OF&FUZh@dQEooJ1N>WmODu38? zH`5Ha(SP{^d@>>?Ij2a@he;?YaglL(>188ln?1m{jQ%aD=~)7iSeTiX6cZZ}mzyp! z-Dn-0vZWli3CQvf})ll(@vWh{*WFIGOoI?_d?i7r&q=Ju4d~+$AQ!?3c)> zFwH~O|FWXQgoL=b=;+9>;9yt)qZ+2$AXAEvc}B<_BbZS#R?*)}#OO2l!-mYD!#CU;xbe@m#d@)p@SScFJ=0TQ=KmqdPo+$K$rD3Z9JFZps))Eb zKFWuT&vf;i6Xvnp^T`F7;W05Qf)tly%=Z6K+J6?uGkTH7lQS2J(z3IIf@kR;vivVZ zc!viC%=FR+CPu`*92zYd#5e2T_{M*;10$DbELzFP;rnDoC9Qmk5BLu={&+FyMeneA zF)6EJ>IT7>3H7=pKRkD`3K^k@$G*{&m8(mlmV0h zlmV0hlmV0hlmV0hlmV0hlmV0hlmV0hlmV0hlmV0hlmV0hlmV0hlmV0hlmV0hlmV0h zlmV0hlmV0hlmV0hlmV0hlmV21e>(#zQE_ozS*f5X&oWHNnr~Kou(hW1%a1IB&wo$& z#m67--1Wg5mccLR>g&2bZ{EE2hdbTe3i;Wch*V`$2K=gce|fm_2LyQqW$0>~%8wm8 zyc_0TkMnfv5yGtq4$9&ijYer#*ZwPAdmi?316KYK>3KqxTv~3LbXWK7LtgH{YGrI* zx>zicX8&L=BPbfz3jygRWeMp?St0+xZ%K}(qRDBc<+%xQ$w32?uEu$~>xe4mW#lBr zM@K|?4$eCr@s@GDPzJv{9Jeyif8GxBPt1)g+=wsdXC#IA`z-T*4Vm@`zv%d|`Ae?FkP3@L7Eo)zY& z(FbeSHq|v%S65e7*Hkx-jfnGV*ZN;>LHQZVO;h=4pxn57L0&~(LFT$6zq2|v{2yJ< zpE!Q(*wKz7?S~Jw9Xzmq-@b45e!XYU?%lh0?b^9x`?hUgA!XaP?MT_VbLXyIyLOvi z_^S2GFFybD)6HYUzfgYyel5K7=#lnAZEb*m0Kwn0dlv$a!1PyO8&bA!-vO6*@7ayi zZs(3|Uu{JyFh=}yzku{0{-J~W_kryDz5(e?xB!h5)6RsxW5>?jUw;E-FH-jG-nsp& zt*u)=`*dvbpScD2ogM85;2ZaR{q@%%I(+e02M-(sE)E_%G*}KFKHPrfDAcv{=+UF_ z|HzU4_S!!-{0p~`Z#;5%|6YW1V0|YryLGE*&w>5>_a8Xe)@G^zfI~Ub(Fs554%nTh z&$J&lHQ3nje;B|&xbK^m^{1{}JO7RGQ)u+<1`rPo zt?g}FKRyHaT_;YQJk@pVo9$Z;9&SA{M)|+J1@Im1?R$SpwzajjK6UBR<;z!p)_(f= z=e1yvhe7_Ho|YD*4cdC%>^gn;+q0)OZrs?_b-Z)u;lo=FwzeN0oBU^PAtbg}-8lC+ ze9$?T6P~=sNYt{__{C>~?*#f9L7br}yhNewd5k zpLw}Q*Mi^!XlGYj_nGb!pe-F>u?JhfJ_zN&*zh}k1~WTU^L9a@b`yNe!S{|H z>Ok7x%4$#B_OCmS9_viqut9iW|Dhv5JLu;T1i!tbvkRy>20g{$_QQz3hO%$p*yP`T z6NEVU{;q>3&m2E}w)flKAFiGJ?!=8pRi;u2#b~Uos;#T9tEw>QD~uHe zomK}$s~sEuzMK2@H3a7GYd?Ek_Llcdm#19jFPnez@JaVq=D)IJnNL9AN+?17Wo2kY zbWC(8{MdGIXej*R_sU@S!SkT8;kVuV=9|F2?yk-sZ?5V*)BF96@2}5z?&OivTM*B8 z`9~=I%X*mBR{0*vcZ22JuO{y}HvBz5eZ4oZ@6YqcF8t)v{ad8R^f|YtK7G1--B|?Q z^!&4*R6%NxE&YAYqi5qKw>+AdDyL&_TSIJbt zvElFhY1baW|6~7!UZOpXBJBO{%*i7+l|O)Bzkm1VANMZ5|Ni@*7sf9Cj-Phz0{p&P zZMSY-|LNwfKmPdrmp|1<5N3b-?hgR@{kU>BvNM(6hLyha{{a4tohJOgTc7m(0jNOi z_qr}q!~Xi+9|+vB-+tSr{7s4c`?dMk<_pRTzbc!5Man;czx~FJorwI<1l{Yu{^8=u zj|^LTP3L{Te)l_qa_rY%n~(kak@8oi^0rdhd|TPvdAs>GQvM12uWoGL>EDmn_ean7 zXU?9#HE=e7f4lScZ9we&2ta>q{-ycDUz&e`JyQC9MBX|!{o8h9`*t(F8F*m->vzAI z#Jp_+GjDF)DgOli)*IXIgKq}?#grlqA|tsHlz#&MiyK?F`Ta$3v;60N9YjP9`auV` zH*fxV4teL;`2Y0!)~$ZOof~wjLk@oYV-TzVpg%plv;E};^6s(WZ@%8T)vsrmod4rV zO?^#sO>IL%V?$j{U2Q{ieQk9^rLo#j-`LpP^7@+Qre;W=SHHP#-P$#c>(;GqYI?l^ zUTA1)XsN5Msr&f)m#x0He!O+3r626*$D8KQRB0+ID|FRWwe^)v&GpTV4GncVl|rGd zu4}Ab3+VOL&1>F%NT&wzGh9+8laWb=WU}SAeRnzL`#+G$!*S@}Hbz@8OS_B>#sI9L8{sI34GMHd4KR|+WvTw)Nr%s+a z)nmSR{rV3-{<8bd*@^4s&s1pC3Yk`>1tgHErM}Xr)vH8OmA0Y|bfUJVwy~6(IE`ado&z~D|{Y+ceowK7oM|=A5HF|BOPG_iV1aa#0I*DAS)@yZor3#EdA`^+# zKtN4RjjOcXzIz(X}1DbJlUC z-7qiSW~U5G#a#0X^BK3R!BuE9q5Cxwyp}C6HriJU){8($xu@V4AfNBeRRDQ_#cLU z+Jp~n{pZQf?mLL}TkafR0dzCIRAs2FZ)#lE06tG6mLo|+wN|H9ONA1lM6OipbXAqc zs)~x5%Bl*``37kI%3AQ1Fn(B5Q}v#y{SOcQ>eJBf-}V9iA6@&uIzRN4A;*WW93GHg ztu-QK*3}xSlxl4SpzA7hI=NN`njn$Lbl{sR^v23s@KDC;S}+iByVZ4dRmPgC+Nzp& zP5M7ve!xHbXK!y068;TofFbBZ+0334}f2Z&uVW&2OPA+U%&k+rAlROJq%LU!FY9beN~N2AyFwMV$i>G zg$A(I3T>qkoM4p>%+O#2|6BzI0kzN>Ds*pOZ*BFv-9GfIzlE^|v;2ejZ7>eh({pj~ zeI|SuqTRJiBvFI@*EF}(H?OU)snMyVBAHgH1k;l!fPR@=DOc-tRrSV7y}?**G*oEx zIu#_&`bxcCt6qn+|8V>(;QqQn_kM%m`?gvBt$k;DU@YpixdI4&f04;_)gXP-nuZq8 zL%md3DiX+~B9T}O6_6_xN`+dh*Hu=jD~uYg5tuiE+(x5bqtU4}+BdIn`NHqlBj&F) z?=K;#E>g}7T>0S48EAr@!8SN@)%+QyPH(8GhK{Ydy0%hl)GNw_0;#l21iCL%X(ck1 zT%`q{XwXy|j1?6+eFb<+ut=@OpwnoS>v})?+;=3txgLZ24OCw)eA7 zeI5WGaJRO#Z5@seoSZphFaWuAbw+MwGLcBaFDokr?sMFTfLZC3GNGufM8Gc- zg8LOK6wm-_rADJMfZjo90G$Cap@CM=XrYH}>iy*76~7$;Ye$Mw*}wn$?U8Fot{pbT z1JzXxwRNkZYpbiO)ENv0=yHXE;_`B_NTQTV)f%-yqtmFgD$q9&T?fjq1swo|P^vXj zRderu|Lgr*$3Vy4)YI0Z+^STbQJ!g2HnsI^IHOdy4ZJpd*U{6_v-hW;4z_;;MpaqA zc1=@Fm8PoNpaqvN5SB|t0{AbMDkX9SVC$4>l~NC^SHR#EQU`-psZ%Q%% zR_Lg|sW%uP^lxg>D#YOMl`@G?ELIAHLXl7c4It7e6{JRJ`>{9y<^C=>K>y;}PR-e(UpjqqIR2kG7g#?;hCQ-}5`G^$)nMe-G zr+`jK1@;GVy2hy1g90Kh5TaJ4RHBqsTzh~0vO)RH-+tHq=?k6PHkn^R@VEE$yt%v8 zSf$rgHPzKr)*0m@sZ@;ct`tfnP#G;B=tuehy&BZNLRX~$3xu@9P@w|TgPcJj(_CBs z?y^5RhD5e^KfLzC&EGore?0hNM{h^(UQ#gu9C|YVkrcD2(uEgpiB&D zfLskdG3Y)Re+3vJ#0WZwmz5g1RsqT(QC)raZO;e5zjWibTUWMhxniyWf`7=A7ORcT z4Myk!Y8q;^YQPl$u@Lzvp#Kv=*C^M5n?nL(wLxV79nfhj5WlOCYk?b?LVWeDHv#`n zVli-Zd*kil*Un$Qa;ELu!D}7YJFdgX6cmV~Dh!&s7Kp1fN}XIFQb?fxS4rhk;2zjl z$^cEPHX1e1^%x->gNP790<{`mR4GMQ*1f*?F8J5~0)PE__nD#j4}#xcpi`^VsExHX zRR#lOf^v~WBa%zSQk6n1ldC{{J@|X@{@{I#$cQya4~)p60$>74@s%}e7X8urm+bPc zr`@}TT<*MK{)_>nS1Ap~n!37bomMGVN+eR5Q~~xU7R!`sCFCZ0BPc&aLV7*;0yT`8 ztJE^^y^y16%CEFEc{~{Y5cC^>ZpH`mQo~n4L|FqM63_sdKp~SV180l4AfGC{O4b8YFzkd=bb^72R!P$Y5okz0S&CItTCz;5`{u86RR{3 z`$&aSp-g80#{b!oUGMa6Mqpuo z4t8*6y41V*+&jp5?}pyK4ZXc5em#MlK#?mz=^>H=Ta$^Q^Dh-c$0Jp$zzP&vjb5QM zLa3+EXiY8wX%v|nu}UrUf#9N7U97B}-*=*CbI-wpn~(Rvzjxk&lg&NI=HL$pkr$9l z@4U0Q2mV3X(6eDfPtS?pP7HJfVx3q5eW?<(4q9FXqN_wQnGC!ecp$M1(9}9vg$isE zT(ejTbrVPx5PE5Jaz&Xq=VGOCo=N_Lo6q%jZQcw5!@q;3%{ka_KG=m^+T6Q&J8Vn^ zX@C=dnB|w02_Vn~_F)U@z6b(PA-H{Teo`THMN+9ku9m@04E{h2F(K3sdT14N)=)iZ z!Np3$%YCMS4MaMVgag|F`R=~!`qMlZQc_$7p*{$UxE%n7uZ4a{339_=fC9vYWDv$7 z1R@D^jo=p{J`lv2&-J&vKc`3p`xe(qd z5tNmrUo=+Cy?h?I(KyOdS}Fvo;6G#=BG7k*(paIEBYmqQ# zW`g_y{URw}P>_n?Bg6QkE+CBrgck|KQn?bulFE^8MlDmzJtoX;;vxmZ;-HvAGK(JmK3tcyfEO6c;T-DMgGwbWXTS_rO4Ay7h2 z2ttd>@`?)ipn=7OqH@qhVNp@a#pm4 zQww1)M4}QAkS`N~PZINs%S*~jOA1O#5Csr`Di#+PBwwnjxeI z{{RKSM~*yltXlgwId|~E>4LLYYLt-Cz^F5f>_A=tzXv0S*?%r7e{gX$C&C10wqABk_er`6q!fSd4J5&j$Cv=zAq8!Ic2AKnEdfGd;3sE1l6 z(_n1j`}z1;---(-(-q+Z6Ll1kh0wmzEY57J}HNB_)X8Dk@64)X*>zAJ{et z2s@;7o3{7Zh-DD%LwW%LrV_-4mIw8hsziv>5eOj~DhCVYi%ZLe1%OvpS_%Z@3Jc0t z6_ys}=OtfiY#fPy52(9dh74Z~{41adK>J|S5rSW^28l!ntt=Ev%gO|T^3r1XD<~~l z#V-OiEGf(@ELsKd*#+?s|GuzcEJX$}CG_T)U7gt^^1_nh zRmFt`g$1jM@-qtaa&s~>({i$Nv$L`?)6! zx_4w#4z89D{UP}Jl45>wQ8B1nLBXp0Re5=N*}1DSbFyuQqnSFufFxx z9sFM|TsSa10o)or{QTx$UY~mtF?cl$HAqC|0*G-0<$Q4W5Rve~%?rWY@{3ok%FEBo z&(2BB$o*XOFO~^q z;xb?WhFk=qQed7B{SByENkL(8VRlYYUS39ae$J|l^z6*^)YQ~ukUTXdGbK4b>e~AC zW_-B81Ng(^?bSU|!!P{h^|?KeO+m^pf+(cC90J_(a)}Uv4d`qNit~$#`GvW_eSUuS zsDJeGg z+Qtw1@l8Kp2KblnUq-x+0{7@W93Uml3Z^8 zmXI79pBN9)$3`YZM@2+MMuo$_sOYemxa(V6$A+(j5kH851>kHDD?q>tSLGLE=7P~> zq-Uh1Bqhehrz9mL#DnCKAarC*M0j{iR6GD z;$tJCBEmyfrr+4P(}aKPkuF4h5c!S3mkYu7Nx<(EO2Fw978Vuc=0oq6lAfEH zlnUY}#>6Kk$41A-0|U_N(czI15h0P`;SmwxQNgoQf7-Kqj!E#p#fM-Vg2EB_AUl|S z8N|2{=<-X!=5uqw+hiw#y@BkBiSem%v2k&cpnFkKkzr9$Abn^=XmF^X@5@fK%%Aq| zeepr?y8*uSZum(42Vq7zq?7_M``p~T?6mCEpN?98IDSN(kG(92`PhaR`2j9&y^w>YCH zuLvS5X#F&V{Fu1d#N?R7$mnQbJ~TWeJS;dcEHK1B&_BrQ6(=T%%A}P2+}=KanENw5 z>HI%zO3NUyEG-t4louBi<*v%gN`b&8DK$PVIW9gHbPhz10F?_03keAghUd9Mmil-v z^nIB}quSA^^m3Sgv0!ZS13D68LSj=?oC)48H6=R84+seG@qTqWi@{+~DRdfxE&b(Wm&cg!OP~V9h2U|)@{%FG%1lg3 zh);mN73@ATCOkAEA~G~IASB2yc%@%}Z-CE=WluA$nKT-OMx(Q7;$KdkT8!YYyA@-q z#y#~v2l0V-@qZ9!7nSBiR#BLfo|l=Pl9rN|o&^3j26~u?=&6c$}e|#hdzMKDpD5n^S?XzKTLK!4vrFZi*+XvW;~;nUf2;Tf zIr(`RxdmBSS*h76>B;G_$q-&d$3;dZhJ}H%0nPUh^b7RyU+(Mezsz$gmQ1D*C^RyL zOvKa0X8e==@VD;CKj7ch{~=jTR$e~%+-%4xQj$~ClaiC-qvE0yBSYgNBEv#f`UkHJ z_VM-i^Y&d4uxQZ?0+~p_6Y&Hhg-Rj_Zl66nz<)mr_r~vcf+PGNL^?=^0~u9T2I6;O z(h{Mwi;sUCgX8<1m1R1>8+!k zOUC5?^0IOuqs+|BOi#`Klnm1D#QtItYHPEUjo8;n08E-5A^4tk!*=&&$Q zzLfzX0e)b1eqLTnUs?Y2^Ei7F1!qqnVeK#g&n^J`0s9-J{^e%nq(Ynnjh~vDn3M?k z2~n|$(IGKmp#j0r)dmLo1g;45^7ZraU9|LRH$0w*!C~yJF?QAjj6JsKys966+pYdE z;9mOQ4eE~!i;d9#j0}kH(;%$@w*#pKup09p+Jc`$<>~aUwx{hyTCv|0eHaH4;A`1~f7t zzerArjZ27y?mj9aHar*typWaP^8LNNe0&h$eLTHhbF#zOW5_tnL|gm>77;_h5g3B= zN`0RIPr&m-}n&&!719wI|m&?bd|5>>yDN)G~ZpA^T3t3HgNQAF%xL;6^zh8Ku ze}GS**NUafy*xc%UH}$nOJb63@k}zA$z+m=EF4aHUNJ`edU*V_p`i+%aIG~B8$aw# z|L}J58~*I5RC^XAR_0Do78W#n&b+q~a|Uv3%s+YTHsEg7=A$TIi`V9gYy{rA*c2H(75 zOWk_Q;KQ0JuwcwC{TJ&jgAX_Q;qlVXH@)$OW$ny{VVZ@JeX|}`BD5q22lPjz`!8;*RELr-O38ZA7sEH z{3CPl2Z}}Thdhsm;#+_LWDfp7u>iW2m8t#v7lyD1zG+HY|GZ#};Me}N_WDoPkSO$q zMewT{dVc;H{z0(}e#;LRF8qi*yK0&HZ&h1&Ub%7+o?Sk%#v=09UR}Gr=Q7*{tX*vp zd{h2$)wHz;zDe^esDGxZ5`Z)Npwmwzz(vQYjzWPZLy+JDH*eT(1^nYM2ceDlo**rWIsU;yQRkO2#@Z@T|! zt^kT}0S3(E!`=euR#rnMuUiD)()S-NE&q_I`WE4T$V`2U;9I)==iW&GEh7KiI|;Bw z@I`kL5R2f$6n%5C2>y`i`WC?-GF{&y_(LXdSp?tG{U3^t1RkdO`Ic+{{<)!+#YYzF zvOqEEAFPoD^Ybl$j>i8(rs|{oTY!Q8OZ;yuGC$H1Wl(-gPNK2NL~O+cwbFA)3Vqy_7^+s6#-fL|5NlD33@p19b zyFbUIy3TrfiW7xJ_W;p-R;*aMbjebWMGHMRL|ZnKPNlcOrN^g4vZ*X4mrikDOu|wr_OKcU^+3<24?|4& z+wO-C6#)Nw*Y!`3X2a$~3uk2rQki5EnBv5@zN>IQye%{Hj&I>vm9x# z*0|$0wzfw1Dc$QWUNBs`fwWC5`xB8lciXAvnl zYx{|mr{}%q`LvS*l}RM?c&=;*rW2Mz##lc(2}dOp>~MH2nM9;ae7x(%S6__{pGGCn znRGG>??{LB?C5v`j*Pd#+S@zN<1rXqCoYr2qH{Q8GTDx3{pchAnP_kKh@CZsjJL;< zXe66MfFCm^|3@K^sB9XQ$aQ4VsAO1J3xmf^qOe%p$!ynY)2B>x(n9Ozscn?|#Cnl^=D^XMe}B%A+3fVH1&AIFlh7z&Ya7=HhCZ2VKmG`bU$PNdK$ zFt9WX(VoI&x$>OYt`3t)I2H#M8RXedB9ci|jO`?IkI?;R05O5vA5=ew7AE(Y>Ex-(MKMiFyTLsTif9Y zwnP#ggPZiY{o{LjKlv;Qp}v3h&0F{Ee_COL5wXD$`cD9ti(`@PI1Dn@4vV8RsAQf4 znFD^-7DJ|B@I)MiK>)+UPJHaq|2#SomL4J!h!`x@o;s0=CGP9__!E=;pPc(Q>n}lk zi>!b-0-sJMk*Op)8EXToN3_FE!qVAv3dPQjfoHNvSQ{FZN3eP9vBw^nIKlccB9R6b zLWdRLNHm-+fyUf+?W6xj^sC-B)9zmS2Mgbu7Qh;TkEhxa$T&LP&W1z4a9~Y8DhueQ z;HeZEk;P_kTuGQm9;Cq38 zSORqfKABF#P-!$Aa0&}rksf1{m~;-4!T=-+h3R7b*dvoBz-nKQVsT_UXc`O=Po-0B zG4^!)L>80!)z$aj59^n|e|srblLc;#ZbO`8WB;g)wH=LShb2MW!y!7*ok-9i)7{)=PMPfFfFZGQOe%%A z_1gOz#>PJti^16AY>5OM)s{*nQ*k&Z8T**E?WBqJ_E;Q_!KGtB=h#f%6t`(lJ3ry* z=Hlc!-JMRrfy$8CUtRlP0UwL8rbAE20AEab^fBuRwvXG=scdIA2M&$n z1pPnznK@5CYnKhH+%BHb6oGEVXDN`Jwc3dY08|?3$U<6n)umJOY>>qv-AaJ zA=qKDBnFE}bmlP`Od2=>Dw9AUl2}yNm!4xfaX}9lE>2Ed7Gnwx0x}mDXZ%;!-hF2! zf`9Vl->iR%5O6nqSVa~Kfj5@P0H=;2k%>e+j{*T76^wyNw1+xjuum+S#^t%YImC0sP!M9I@{@)2tXHrQF z2)n^F?eIj(G!BL3z=q{!c{AKxxzpS^4lYbrN3Ii@_sN*?i5xBotd9gr#-c(T3^6z! zZ*4mf&m~c@RJ=XLmf`H=!eBT$x^QT`$?h(0PrH!VPR`C;jth->8JmH=bwp(Fpf%NLa57OVJUXd5fCUO4jyM`PbO3FbY~ad>={!WrZYK? zPq{hJ$xNCJjy>6t#c*N~xtz~>KKgKM{)fV$fOBWMIq+PeKclg5WST9G0LcJ=Gca}p zr)S-q*=)KakLTh*CUM|883JV%m%*7#cc4Q2^YK9Z(NDnttbZ&B{^%SxXBQVoI@{Ta zOkrcd=CBw%hDIaW*jUec#@Wdc=ggxs**qeZOr+Ve?6Cv}kL}2z(YfFBY}#zbHw8d< z#YaLf2tV$+{xOY9<;`%M;p#wRPj+!3IKbk%5CT$&ObXtHO~O)MnD!ivNuADiab%FV zG!BDD#u6a>Wx6_XxLnGXtM8lppZoYfACs|;JlDxi&W;W|X9t=i5zHP( zrVy|=Fa$Oehkf=LcksAmI&}(bvZE`@j=;iA!eI$q76)=t&f8bsc+2GfkQJbja##5w z@P%K5>P7;v5%Cw#X)^c|2N&nbjyxiRO|qpD@gx$SLL;&4F$4_pi5boeGK0x+;Ig@s zojFXBJtRpuGMmGuGjN3Ums?f`n1BbepnKpqba&_6ef?uD&2{n=7jP?6oSo=4HdOd> zCYFQ)M@WN}j_nz)bjUs@(^xDrgU#bmAR8i(Y)Bjqo6RKQub7s0yC=)S62A)B(x3eV^@EA6eLBKmaGj-aO$#i!%&%tRL z9o(OzBbi0OlgV@rmBDzL$#XpN)9zjIW5RdgO{KcSiqh8h6e1A|%iG!$tnoM-7Kdo> z?)=;nQy5MzpdiyZR9i9_A;pnoOW_bX6fBQ7g~z}j{b|=OllvZ3AlTWEadsHnNgOtr?96gwvKTItxz4U^9vwrZQ5jr23eDY-H0vb?5*GRg z8hhW39ou3}^51X#(WHy_82_6(#hu5Xz`z5E3~`V>m5!yt=n@P&IWU|Zm{f=|cq}@X zi^tl-z#qQ5ex%Un4jKg{n9l4u=LV9dZ`{Mc+pPR-X zB!9<0kbl?lKlkZV*=#(6hQr!FPGAwJblwC4v;>_wna2gs&vItDKxFLX_T*DDX1h32 z9C#!ikLBn}rBU$&cgp7LpM5$o{@AaD|Fix(g7kDMgJg%DfW~AO~y@n#?^sI zpG3w{Tpb}Qpt?NGo6L1_VN)1*>@*q!2H)|MaCkcF%Q54#2sADYYm2kC!CJ$@$`nV6 zE7^XM%?w8;h(~Q1;A&vlVd|4^BnUVmEO;mO^+dO zq7#sjUkV0`#bKB*s=_2-XiVG3c|5i~jf2BEAU9g3xH%HpcnB0BS8;Q)5E`>>V zAh5pd{p1sK{9$T<|CxUthX+I3Y=%9F#bVOp5-`mCQos2rIBEi1F|lAJeG}h z#E~5#5ydm?X)G$4J&{i3B7o#clN>M@CPV=YDxHEQ)A#m%_NfV90vRAu?!|vASl?aq zU+1Z=(7cXZ2lzb?CNd0&cYex&%Uw6=k7Gk%^603$#x7Po$AbX=gxBCLXtgwb|bL4VKF4W!Ew|p_S{Kp~>9iX5n11JM111JM111JM111JM111JM111JM1 z11JM111JM111JM111JM111JM111JM111JM111JM111JM111JOk&oD6LQ8bIlWO_EU ze}m#%fB_TrFfj|6A#RC+;KRf$WPXAr;E|~r$b)If`~*wkBM+t_HLx7MNeTX)_^AKu zZ+zJPi}lZ{+p_Yvc3W9;{WoN020Wo`i2}&TyfBd7g7~IN{5$bc|JUF6u(gExBk_m1 zp!gPGz)U{uEr5>9${j2yz6BUS{U54-0}NO|`%wEI)IQYzqWWh622lMQWWWOKqyBG@ zeboP1ME}tEZ%_j*!v7$;h4tT(_dkFGOWyxLn!vL6Kae{h|I+&(7BM;$6lDNq0A&DW z0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW0A&DW z0A&DW;9tYQw->wH_U-<9%ce~qYIvHh#BzS_2Z`}Uo?cJ11+t@VpfH*flAV)m7+?2CYt~)o65^#u0z-`M!fa-WM)in%7kYKOg(!xpU{>k=^gV z{|+hVkVhAhGJf*!{;}`kWzN%Q=1;kBvhTM)|57gZ!;d5WE=0zke){$IUtaI)yY>6; zzboPY@4x@nU(UmeUCQy4e+Tl5mD^98t2+t%TfaiN@N2X3w(@rKZ73%EJuTxX|MsE3 zn0X7q{KZsEzczL2N2nB1#;^Uq`o15*wCxAIb?fJWa?`AUk+-7jX;`|L-LUsX|2 zU0d1Q+)$@dR5z||s&8KV*4nq%u5D?kZ)j|6X!!EmpB|u$9^ar=t8}$%>+3ZFvCdFY z-MqHGrRDY2Yu2@_Zf;2{A$-O-%PxYEke%w89(YzZyz8>&v)~v17X?1F~ zp{7D-tgNbE*Yx@uElmv|e$$uV_V$-EU!&C-8XM|#a~g*VZ-G*VoloH`dm-n(=!s^!4^$GvOcIG5~*N?D%S9eM4=Px}s92lgs21 znZB~ZP+eQqSld`rQ&Ux2a|i$YpFP)p|H_QqzaKk(Wo1<*NL*i~lPMK4xvBy=udS}C zsjaCnR#jIF#lLp#>OYRJRMyrsu3J-Iqfkkt5`{*mFjN=}RaI36W0j%8sA>K7YJchM z_yfU5PWpO!1};JrY$~JIKe4vHX-!k3Q7KZ&6%wUNq0s27v^t|vXVh!KIJTJauU_o{ z12EzDoat#9sKCH(^!OT`_Vt#!O0B$1C>0A8Vx%kza4TcJ+g+{B9f6_f1Y4}+WQZD!Oj2^$DwtiiM zzNSJUE|-b;5}8t~)~fYj1$rGEC>8%bg+R1zP{O9^OdE1Cr2PEz#kQY&e*Ss%_?qgL z293g~l1hXEp+u^bYmk^uuhUm*W7miBh7F@MQ{(Ql~LiLU3s?N>p;m`V(efduM;C5iJ-$?qZVmZdR>(k*q4jS%lKub<)vk%!ZJZ&&7naYkD-gz^j|e!89lxPgjOk~N{vAS z`Y#oTMFL?tNMBf5R$g9KQdoC*5FfI<91oZ#*y;fXeO3*~@xY6t$CrWTDKu)GMxhof zB%pXgVJRqIIlr{5m|t96P=CaX-)hD(Ul_60xE}S zoseGwycZO$DoD@C$#i;Vq$V?a_W005d5AC16|FU=z)U+1N*tA{pj(P%5pGsXnLWbyri%+uOL4^ zH!D9QD?KSS4Jr`#K^MUP@PjGugPiMgbN+Q;;9#z4KYDzbM8F4kD-sKfR}~bLWC8D~ z>Dig7sQ?}ymzeP1)BQ?@urRb779e>7KVR3a!U&Ckuq&P-2_kBv!)O^l9?42y~ijEY#a>xYr}ec*oo zDf|*X_?_~C!rZL%tc0}W#JI%pSOh&hB0MT00FV3T{HGn13!5~3nP!@@#V2Ke~<_`6Xl zOgf9w-2>n!hvVlA*FRXhboBW7`C0kd*_kP+Nl8)Bk#UhB{-J*UeqLU$;t6B|kxV!X z*&R}b$qy(0RQng^=jG;Rr)NYZCnrXSM??m%^!D-d^6`95`X7G!oQ+NL20{XM6xpNsUWNh);=#3=IkJ4+!-3S+>NT zM8MgSC)kozfd5zh1M~M7#{cM>-zq&TEj=wcHaa08CL$;zIKVH^Z^a5v53(HzH)#@{ zZinDYfP!J|@8MxJ6dxAv7EV2@DR-kw$0u`Yrcd=CRb7 zSnKJ7)|Em=wsPP&ix$n@kAyUgE}bbYyZFEEb)DBjX8p zd%LaQ{#E{*2FSgJ>RO`5fUN$}s-}C;ycE1Uin)A=}{?WCsqzmW&}% zh_<$m{^xN#5!#<(L;U#6UHp$#U+YkO2uMd=@U~>S9S4IYvDg$Ujm2=qJo4y-|6qtL zhAn}@Aka3P0^!#Ummf56sQfu&fVaY7Z0u|&*pulj0)aro**`jgOeEk*Y#fb<$FOOP zce+gUj~oAFhBbz0Wy{1>L}wR({=)x1hR>s7u}n4vYtO_pNgOAP9q}n1o#8lbs=Koj(}BlE@R9Nt{Gs{}FOAy# ztmt$Mo#x0O(I^Bw!QLKEnLeB2PJhDHg}`7i*m%~)an^qd#ewPIN~hsyI0!fycHn~P zj?*2PR1A~OaAL4N?jB$HY1A1r{=fFl1-6a)4B(X(wOi`voqhj%`FuXxab6nBG;Pxm z5}U+SX-Gh!9f)S4v?b8BX`4jqnu6olapG5;q$JL>Nz{k|Q_)yeRVz@!R<-gl0j%(A6ecFxhH@1(l&`G5cKzTdr_@8`cFRnZm-o;N7TbnCYy zUaE6hX+}pmB|&&jJ^r%xzeTwFORnGcudY_yPK%_oSSikCG~VKdtFK#evSu@J*-hqY z_5K5<)$Ol-`#IaTUi-gND=RKHW0fryilg{2CTHNh!J5&(jF|CMw8 znP|&;{wU@6mp#Nz84Vn7ClpZxk7#!h`I~x{W*aO5F*+{*|L&~sU)1zBWj}wFaQ<-; zUeIqbGXlj_dc;bzhZp6qi}froIe3o9ju$jO{&|iiCbP(iMsc&lU^m0bu+Ao!%&tnl zL0}A4t>fDjo|EA|L(#F6gXNqI*;2_{Xx6&fEZHcx`@F{ayFIl|g%|aLTk!}2EmhYz zC_S<0bp-Co*(&a(eA|Ch_Vu@f$B#|b9*H+H_6CW3nYXcDRUAf2A~pujhz_xe6Gb(C z_VX8f-LozG{JU7f_fN%NIdMrOfCP{L56yu)lVgKrP2}2DQ2kZY{?`}h-gtfPmGfsbl>75!_U@I$KmYUUskf6? z-@X39`|rJT`K`G;t+bnUd133~pFccv>F||zu3f+K_9gi71?__6>3ROGKmO&fmrsKR z0+RQ@32=eV=4qwfthwaJ-}v5*WX7{r1#9hs<>~p=Wb)crG6|YGEpL;|Ir2odoLy9Eb!+pMAX-Qi7xEd9FyNn(|MKO(){sj-GHI zs8{e~62Ht9EH#ZEpN6d;2=s*e`vwL;dpiTN{M@!?P>c-I55 z0dNkZk!MpzpK2O@z5p-kpFRudrT8X&;gQ~0xU1*HP;VUkr_gknkN;3#Ur$Fk90%dH zKNbZWdReMVi*~6u#V1$5l0JVh)ZGgLU^Ecy>!yx_a#+GfRfUcizdeZnsfBtZW3`8q)c97+9kJL6TQ1gipiDZWW45>ai_us`7U zc7XUauEw8*e=Dn??e#wd(mz;VU7a26$J-x2dU#4b;q1t|#{z{E= z0a+B^k8KY#)>OSH`K4>dRM zdvxyu5AN8peVg7~$;ZGp$mU;4b;a7-1>}RKJ$LQA_ny1&)NOXzlvtVbKe9(KbHa{0 zx49MGNb!beGVvG7bNugj5Lu${sdb8ijWD#~l}!A$N8!U#9q!4Qj7M8*Qy8Zl}$C8f>3(p8t3wCvY@vAm6FGrAiQ} zUzC|Y_cf);!iv(ZlH{UwPT{#s{KXZ=aP6I_gcgeIVq^=ax8KH8i}h|Rs0L-_FT06g zphcy|Q%|gBhJUTx@d;(%2@yn>tfw0U6diWnX*0Qa!BFn| zKXTL8bAJOx-~XPPn))KDb)@Y6 zM^28On0k70;@tAE+VGnFxz_LEQ!w<{@bu`}rKJzAfp4a>gLVG zf8A8a)y-+5>5Rdl?(Rq^-WyK|@8>=%Wh~QTR&+2C_QM#w;b3YgRrRHqUW#AF*At0% z!5~yeRtA|YzOQ1I^uuVA(Jr6&Kt{UIRyWOAMb$p-_O&0|4|V^`Q%)02XT$;l&@WqC z9=eekVouX=Ih{v+9X~m800uf!wTsjUlQ~T^o#E|hX=-YG@b=CX?L*UWIh`MCYu?wm z{kzoT8x+6w;KRFi-evmAM&*BiHSGL;9cOrbgYuWiR*zB9o4~tGp8;|R#TU_?p7S&XE8TKmter2_OL^fCP{L5&d%3Af%1P?I+bgTr>wfR%t()gtolYu4VdfbO*al-88_zbj znan)Tvp^CW03jhEi5Uc91|cNodGY|pvt6FBt6WnmNmZ)+zW)eu1O}XybiZ}`-P-U= zTjx7_-v2&lpZ)FsxVZde$KUPPvEx7Q*zv8u+VL&;cH-k(tNtkXzYYIi;rIgNuU3!K zd4Id=|2F(@t@`P_x4-o_Ogsbd|8J}Q3Hbkai}U|4i}P(){XfPzb{2m7Z~gTSdnEMa zZ+7f(SoJUAoV_@Q()s=0;{)y`Twmhf{U`JH-=RDx(O(1lM!u$1|TDl z3CIj&0dftp47m-t4|xPxfqV%01oAoL3&_`yZ+~mY*MAH7d&qYnZ$fan`}%FjKS2Hw z^3RZ;Kz<5&2l8{suOLP z9;6V$hln6$5E-NrQU$4leEV;ZSIFN(n($i->45Y=^pF9_2xI~>16hDvgDgXCL+(Q! zK~^9iLOy|f4*3G|HRRjhM*NV!hkOU}CS)h%ZOA`B{t@!eke@()3V8?ebI7kCRuEf= zBg7Tr3GspWLJmTXK#oIBLxLc|kZ?#8Bo2}UNrPlT@*sr}K12j5gUBG2kSa(WqzR&h zbU=C_ddL7|1Tq1cfh<6-L6#x6A@?DVAS;j$A)i1#hkOC~8uIPGLir(o5BUz{O~_8j z+mL^N{3GO_AwPlq6!H$_=a64PtRS`!M~ExL6Y?Fj)0>c;5Fh;Zg&c$&fgFdNh6F)^ zA>oiHNE{>yk_O3w45Y=^pF9_2xI~>16hDvgDgXC zL+(Q!K~^9iLOy|f4*3G|HRRhE6aJRQ1;}?GZ$frL-iG`GzWV`r7-+Z<$9{lDrT-UdDA#Xk_-5TAo1L3#DFTDAzWV`SoZ>(&KUwmUl zoRAP3mk=Kt7nhKfmXn*6os*rFo0FZHo}QkUmz!HqX#0!rZRx&G?!Oc~-_CKDTIJ*_ zDr7R5R4OfBb?`E7m_g;h$|Vv>8M#tRw+aI-EfI@^LXk*dc0zItULli|ibaBA9*a<zyp#EpS=9y^Upr}l-y^Zf59{i;W@w~1IzDz_4&sieQ0(sKBC-}t>UpKYG3^B zgXhnlK7IOxaqytQfs1$){&?NTA3b^W@cs86nBDvDqdQ2-N*MgO^x3n!qsF0;kr+9e8CiQcGZ_Pbi9Qkgj=RWjh^xNXXbKMKZe&dMl_GJIujazr_Ub!(b75`7+ zM&M$xh|jq=JY(!19PfL7X5jLzJNNG2xiWM0#+B)LCb*E#i5Zz59vm9!d+_YW^7U(r zx1Ky%TF(8?X^Ucn776&Aw3dzzO><|@)zAL$yH6kASblo{=AHlLz5jKIaDjlw$*n6c zS2gQ~jr|L=Q&Y>gmag8rEB#M#H#pE0zL3M^3yKANVM$quxD+KWmC7rmlCp9|C8Oi3 zA8%Q>ovZFu-Tz>ngOa0*nOude0**9NQK?d?)at6LDwLm89)gyTNYI?+2!gXJl}aVf zfr^Vn_+N8kaY<>J1g9VpoPz8_-=XxYj>qR03q&Xc&QRbC(sd|3DZc5WfK$lj6$`~> zQSKwGmNK%n1p}DZxo{HC0Mgbxm!9rbXL|1Uk;1 z2#uoAA{H45Nvy0yov5oQI6}9!wY80uTs##Pg~0@g!~`WMQ6<1@fRmHUUw$^6clvxJ zb3$~~sWfG!Ql+jU+`y&hi64Ld)kDR_vzMZg(dek?08;`r^$n}|v*#at{z+5#=}S?_ zXjDva6e2+Qx(2x+g~Gr8@X?bOpJ~EQghfV1L`KFRDo_w!3p|wYJ9qBhd$96C8FVWA z(xu3V=!?Oo0<7X6LB*GE+9%Sp`nq4?ndD1NKzK@u*RIgPy>A;PCPxN`7Iaa2&xV9VBp#?# zF*rBn$3JdvzIyP#8K!2&hK6QFQr%7gPdJ2Lg#wl$_i()9zt)dWjgOAaPUSnF2nh*~ zJ8Z)18=IOm8qGf?*y#rQJKK7CyTlI1LxRKN0)VTi2Q(6%@=v)VlfzvN%F-s8{c-fU zm;jkvCa+Xg*VNS3*43gzQEN16G#wosZQ7PrbefjtT41&H=*F6zKQOr;ZsE*Vf~~%* ztE!O_MTf-dSXW=q_-mO#pc)P*nO$uyRA}`Cl^W{6oP@!mx|%-dG{PI|8yf1--DsSk z;e`3e33N&=@{S5>YJ@(KQs6ApKTg81gZ|kB{c34x#xP>(=v?&w>Utm5?-?&&iOj*L%E&CE=l1O2S6-*w8&W$=$ay1OgION&ClX`2IMGD5wqt@nCad*x0de!z3PLV>Tkz`#&n zYwHA^_Fdr=EzF>&)wXr^h^zxqK~s}R53scf zVPFiLZ5=&+UU`I1%*_QNN^1tukV0u_!g0nLN=kt%heq4kYcS!YcF-p{QnKnQTw9=w4K3~6ef2lIoUr*;jU8_iupk&pRl?u6HP3>35fsJ2`-dkSr*WVC4qqL#5&>)pcNvgp zpuC*HnKYrHNKlUZ1JhgqvjyB7QudH_%9IJFc?8{*(sTjy1(dhWbcPBMC~!LsXPQdT zeN1UHYNr8X4Kjf&FelI*E1;4Rafw*mszuYA&Z)&IN~MBk3jjqTnr;ZYIy*Yr+vqGh zsjj9U(9qzZ(O}T`^>%l4w6$rqrY=X9O>($AMn&Ng zcWzq8ypxg8v6TmJ)P~^7D^07tFK2Fg`1e1KwBfN;h_OTAI@k+ zewc=zni!uLUvJ;cNz|9Wu$nfCs;9yS&f>ZqXXYetT8%6ZG_Li1* zZEJHArCwK8JBcw2MI0Taat;smb;@{x(t7mv<`SmoFu4LkRWLj>s8i=lO1OpShmFE| z>U6+?4i8Z&2L}h*Wx1W*Do##SZFLFLt`lRv1wOtY3h|iX0)FeTLHW> zh_C}jqfx8M@9Au9?WtFah199k<6|Q$zAFRd0QWal7PNP?mI#GKg@tHurD_~yA{d~d zzrSB66RO&^=AU%cpZR9-XC}8|a+vUud&1(R zr%)$ML!d6jd>)UBmf^5C=`b?|5&^~p99V3}su3Y9 z;GCRn7Qb-u!m0}h;x-5oHYYn9D?nyPI$lSAbt-YVe~AomW@e@t-LZoi+E>T-+R}q5 zGG>~>;!tr?<5j0TmLbZ>NKa?+RR9Ulm7rd+SDcfUn#$r(amLkP5T*aZ05P6#usB^5 zRvmKzsXkhek(9*ZgqZ-kH>;|u%?-*=NMLcg|HCzf9I30iO6Fe}7sujNYUU1#!El98 zswx9=Vq#cat@;2be1Q8qC8MuO<(ahTC>F=j4>~^}O{R+robr51R3wYjp${q*_%mI3 zw z%(aX_QdYR)ODVw@F0l9-K*}nW3X{@f&YurraRdQCT0|d$`26&9m_o8R=F7}=5EJOK z5>6zq;OrSV7GIq=Lj{Dwm>3!7%xQ8g{*CXO8u+FL{^Qnwt-X_@?QiUyc3asv+S=@P zw6@!AZ*RN%*YCaeOB-98_kLqz=jdc>XX|8dYvbr>>tJVX`)gaAXJut&XJuvmp7np+ zl7Ex)Z))J18rW@P^WLv*oSbYOf3w@x&dJT$!O7m)$=%J<&Dq|=&3%u}ZW}9GYkPZp zJN(%?x;Z*JIlH>Lxw%6;_IP@IQ-j~sz&ADUAGZef?A`0*fl;e!YKk3|*8 zY8&y4vP0XZ#bn=SpWgvrzXJ#S{0|&Hd?eslaD0KXsil>k1hi;cJ36;3Iq?Iw!-L;g z5p9Pf{OfSxcHx8GSP^W8pM5Rz+v8`x`*d4=)9Jqu zKk?nCh1=!t#CM-;i=TWAe(E*&>%s%KcoOt#PXE&QProLAh=2R^-`Ku>&b_gH__MDG z|2jPQHQ_J5@wBK@KR7ZuJ-@JY?fSKAi`N&IZ{A#9zIF5d&D%F_guL;T+ov~o#&rHZu?&-??95cLPO56^8M}Jt0alE@{P4vee*f`{jx*|y@NjJ`bJtJ*?}J8Fb&G!L#?#Nf zq7xqf?u(ZzCz?Z6@YrE)7oMGpjZHOe#<_bhehc)=r}sYm-O2-Xc=-c7ew!t{u3KN* zIdtXWho8Uv^6K*K$1k2dc>3|P2P=5~Hv8X!_sVCRyGIw_fBw6dUo1cQ=(EqT_NxtT z{1^}C7+ha|b)ai}@!qrFzx?X8r2l~3{UPDyuYpGhJNhIou|M1@+E`6 ze0eXby6nOl-Y37cIJ|K4@o#_s;*T%C{v!x7ccSFH6g>Ddh41fFesX1c`Oznz{Qe8# z&%FHfPUXn}UoOv#>l<}nE-pTN@!L;6`Rvn=K7DcL;m6PK-@*FZ>^sOm6+t!m#|Q7P zJid4L&fUBB?mhhQ_rL$_6Hph-cz?HI=;g;Be*DSDVBUQ8+uwch$FKhQCAbZ1xW22h z;j6Fy@P{w|_|;cmll$tcKNecx{rc`|@nvNGkAR8cgEI;XxihQjGkItfl}-MRvTt&K zEG#Ut#QXIf)%?5)-NNmM5ARgi!(eN!v&X^Zrkim?1BEZ}U97yf1V>(c*Aanuj;->v3zHg|;oOGm}X-N&0d2Cp1@ zaQDvU4o{?K{-qEdW)ABsn>g@arhmq{cV}kkiRCKXnja6fXMV=HdwcNl2e&tKAKV9l zVp6ZIsc4ni2L=a+hP#GEMaRa0)sjRkH$_lbgkff&qrS3R9a{_Hlwk(r3`P;+Wxxfs z*NB6shPs<-j9K5^`J=bt{*Qn9KY#My{-1Y#_OJi?^Pm4*dZ|=!Xk<G&QeR?-EN!4S5`}?}raJ15wfB5v1KQ4vFS9FGb=q$yVrxj^}U?=k5>tRPo9`lWxxA+IddO@9?0m! zBlfu2hxlh-Jbq+y56wr}Z{Ra8%lrssAH)3diRT8{PNfDSv$Dy z*}LEG;6Z^@#|COtQg2F$nV z+||$D|NeKIxX;&|NsG}g8*a}QK2JGo;(jLUIo`sT3}ss&qDbWnaf){`A_+8z2)-cNeCk3 zJ`UzSCgHAx@+q>NPeXVVCPYI=r(7Ndb00klE_(RzX$bHqQ!Y;kH-*IK!-p5a_1wwe z6iyTJ1i^MrAuxs1I6u5t^#1#holioL(CXoxj~*e&#iEBz&cGf#fb3)v;<`L~gu@r# z+KC{Dd1nK#`}Z#t-oHSKx~i(AlcaZWX6?dV(x&LD@y$x)z%`9E05?$7=fKJ~rs)zIDpJ$q!Ti z+WK>?AX|8d6VI$kXTxO?_dPu|85;tk8LCQnIMWnVNDwtmIlO)I#`4nQ;#Kf2uUx+D zw}1aWA0KbV`M`O5?{Rm2w8qQCd@UlZS?j&+l=xYZ0)TY*w>pA6)0OtVOVPbWLSfKAh)h z)~=YQ!=z$s?!yU=#&j!zRMw7?$E39{hB!^V<_wq)tzHdHUF3y<(`3F`=r>&^*ZK}! z_g?gKnpW?G`um~sj~-2$bd_`k?nB^R=J=t>O{9{fudD6@#J`49NK#}5H|fzje4No_ zI?JqN57yxi9_%c-Kk7`nyz1^fH*hp;{&oV{S$FRO$E0NVd}f({I=ZG|CS_Xb=QOT$ zfpws%1FpkaO$KP{zx(bl=;Iv=$KvLGxc>Va+*|{z^%8)~Z2((G zW^~66Gal35Z^c_XVRIaCz*{?G5Y?+VG#J5oJ1L3)3x3UNlmVvr>1#_oCIBI~!I8fh ztF3UPPhpY2P2;Cv7Vee&TVUk<9|vDk^mQIKf19g4i?f<;>0@yV{kQP4xP|^(cv;+1 z|5-na+u84SbZ~JXj)1eHjlGpEr~z0m+-+yG+uG_kyLUU{xPz;sqn)FJvy+{JwLOm8 z*jicH+U>Treb2_)!NJbi#m&jd$<@UfE01=zj@H)pw!~?+`Hii$)oyzy7bgb?Hy1}Y z4>z3Q=ICl`gS6~+TfMj2&i1|c>|Ahyv!jcPql2TTr-z%Xv%Q0j1J*3hWLcRM>dI6Heddb&EhyE?nLI@<51jPFKBz_vD4 zE{=}QuAayR(spyg%BQoVt(~>iFR@x`V`Fb^>r9cmIykwwIJ@sb>P}9eO(6g8**e&Q zJ7MeK;^yLtB~v$d7dPYqMYOhg4;5o=XSdtN!QKwR-Q8VXTs+*Io!vZf=i_8!hibC6 zu|X|aJJ@@;AOe)o9iOgl$e#n1j8F&gFzoC+oSmGVQ7mT{XY$!PFk$WN?Cc$F?d=^L zU7eACXD3%@H&-_YN95em>NgbB(aFKi9yROkjGEm86!mX!XZN0sy^WnMVs>;wHc%)Z zS9cE=4;N>&f}?{2ss@dNVxhsD9Pp2FVa3=Ln60g|9a`2Jkz3n3y4pJ+N#xkg!_@_O zcXqIM0ENVMH#MF;s>{aC+1b_I*~86^8VxmLZ)bx#u|>|2FK0Uks!|sxM{iG0PbU=4 zfp{u*c8>P8w)OyRZ5*83U65yQcQ-6XJHR3PHnz?vvomVR$<75G#?{T!+sy+JAumq0 z)=rcOd(@R9emc2(dAfOdB8$j~i=z{AxqG*rs|yl$a71G}U?t=ONNygE^-Vyx`W!~fB=I-w0u@{}&9o>dn0e7`1 zyR#imaCY>d&g!{mpSveo)y);*U0hKycGN?hT&Y_2czW*j*^9g3J@9&<3m|DH2dYv> z#O&$@#Ap9L+%5z4+5-h}aj|#ybVseB-rZ3x9zMSN_wMmR1@75{?&XSlL0=;j1;R0J zA3uLTuf1M-yu4jKsEtr^Cr@V&cV~BZcTX>G@TLzO^77f^<>T$)z6YA)?&;*{>E?oR zd${l0>x1d}q2so@t#{iX-}dMPXdco9S62_{i94n1y%$=7CWrojPk^d&clSVLx_WxJ zySlsW_u039w>28n7Ud!hc0rxHBX=HN-d-pbEjwDE*L; zpYOr_2M#!(PEq%$Gkf5k4ql#^Lij;^{SWLv=xT zeh2&x9XSjogig6Sx?-Gg_1v@9$J@($-@g6(vF7RT9}sv1Er!m4-eT+Ew#UcQ2g{|X z)&2gyeuo2(96ugtZHtl1)eXJPeUG=7kI(+Sz6bXE9yoINK){JJ=gx;%+c==4uI{eL zII@OX^F83_cQ7#U;PK!P>=v^p?R4=#jibPOefIB1n_!hSEbM$(Y;t^Zwu3Wz6Dkeu zvDeFYzu&$CfhR76CnUs0C#GiR=I~JAs2F#*J$uj@@aG?R?oxa*D7$`9Nfy05PLnEUTGx7?!#R4ve zQz(WKAme+yy-~1(hfkghz7(67p3mbH3WZz&k1uxi@baLp`01A%+BTs z@kmA@EEP#TTs`)n(x|lpFT}*t_T{vkd|sKfyhMhbomJ?Fp5FWX4*4HA9vqjEotcxC z0fIJgSvhu6)ij~bJ-vKUW5ziBAz0p|v{Q`sHGCA0Z zDk>`}l}Ka?r9#=*(9+rK>AlzckiYMd3sLDs!lEKkxeSC{DfR#=ly%w;-GKWZKP-D6 zJQuRo?;sfRpDUqZ86H3k5={s5Fi+Clna)nxjeKk~eg|emzJGr#Y+D;TLJ~g+9 zFDjF(tHAoNC@(`K3U#AatI@P|we9ouKX~w9K){iJ1BZ{Ex)>6hQ&!iCjcr}+?b^21 z&ThYhhYtH6JbdKHA-{lgQE2+|#umUmy}ey+?JXVMhYlV-QI z(J^s(vZnUlzCpbKyDWOJ4W_L{)6#b6=+P4=&qif%g%!2U?VUQq@W_xJ_135BYHda( z96fm^Brc^uq-fN(Bi7!Yp|Np&FGb&uEqooilNVw$izV{v8f|BHPrFgC8ycA$)c17v zcDK}5H+S`f#pa4C>l)j%?bw^q+t+6p7@HY3>UwnD+QvFN)b(Q5T`vyP zwyH6MuBW%Vy$k#P3_NL7leVK9LPwaCCHXu;18^9U;cSfx!`pyuP88o)#GT zjRQjigTtfPbcI5U43FYtY`j8M)u`?2p=a!RYzZ3~88YYx2S&!mu&)RIlVugEy1JI; z`i@?`-Y{q!8aDI~8;8cm#wJH6C#R-oq~+MjscF`<_4W_Yey#x|VHm`o8*D$EoSnZ? zp{#9eZpY@nt{wxn6f!$q28_eQL&kxT>G{jc${KA)YdiMDcXxK_4Ja6Pq3HXJeFpu| z*zC3Iw`!Yc2UJH_UvFn8wM=hscXyAjug^FzJTZ55=@#lu*Qe|2rkySDAZ$;kzQ3=3 zaBzI~>h&8pyLtzQhp}e~TW3(aeY6**5B~^`(0HWWkBy9DIHBL5*Y%_Fu*V)nK*h~m z!TQqDqH%b1a%N(r-)JxzN5-cn$40S(X$X7oX0I;YytQ;0)jB#oK7b9l;}bLUmuIFY zCq_rGU1@ys%C&3PF3ug%Xc%uJ4tj7&^VjZRF! z)iojx*~u|9E(!%19qk|JYj16*?VMxdvsW%7i*uv2rD$k) zcm$ieM!UPZI$BzL4LC3|H9IqR<;vVNb_8L+)F8UY*jQ(0o2F6QK^=2sYG!`^^5rRP z79Pe%u7M%MKi<~S(%jJ8hOXN`JT*0o0*nu%yr}b`p;3gVy(`id zKRhg1z8(R*qf3X4jMyGFHFsqZ%z+zAv|w-p5iBo7zxkBc+TJsW>KGe`(T1gKOG`KK z^zb@9!9rm0=FYwWRL#U3HgVHR!_DirZr#2~?1k$$V!!v4-=*tE$wz@N0!Qc@w{Fmr zn&suCr3B!8{YJgPI5M@s#C_`~rFa}Z2SMj{}%H@TH1+4!r zE?v8-`T_9e+c%a$Ey2^^t5*rTGJkoV&b@l=iuwo7rKss8EEwbXmHD|j{DWXJk5lRS zaW!zHyLjcw!rc7q96ImJ%=Gla+}vdxxqS6X-4CD3kdMo=3sW<|rpB>hczPPKEFg`A z`FY?K^FXGirzWQ`Tuz|FPhm`)o|>6kShzgb^uy;0jFE7YlM~~U*vAOVAXBsWH8q8p zCbhsZE)YI7F-DzuViJ3bCvei#B;srT(Fc_nq7gCe<%Z^9V8OUNiNCRFoYVEA50vAy z$(tE%vD0q^ngV=saiHm6#EPhhYZ!DejQAqjn+oE)2iHo*%eMf^(IkvTk!IK~nA zFiOGfwVa+C9vK_f0mm>wYK$QZDUTxhu?dQ3Y7D3MQ1}sSBZheZYzLpjN!aa)QHi1& z9Wqk>smy>e;GvKNPmW>BBsP{08wcBe^t=+QY~TmnxoLcEev-NVoA7_-+`eIWX8DAZ z^<$Y1_^svsXS784s>4Fw?9Vwjuj^OLtB32qiGTA8&W$DA3XMLmIzIS4zu+t{_C8(Q z)M0zx+`F9X*Lt2}xZlKKF_G}AT~DrV>af~4_e;*wmCh$v&e+6Z>)_n4IE$A%9+jK05#!|p`jSLa(F&2Q?k?m7Q!&eW*p9yR={4*QfDylHEE;Wr4s z6^?CT3-58Jx5Tmj3Vdp`evA0AyNtq*HQYxp+{6LDYz4f23mluRUxSxl-i`2eTZEU% z$}d}QgJZ+@72xBw_s!d!*MDPw-W40p%$7K|;a;`fCj2TsQTqVHz$Om63a{F6W+rPN z&_3-~9kv}Zc+H=US2E$Nw+%l#Rr5Xuq)nVcA*b+L;_J2j)nBZpZ|<|u_&MBV80K*0 zv2+&N-Z}OBd3pQ7qQ#->xbBSMj+1f9=Pi;YC2kTKH?n#^vZ$Lx%A+_||6J0%tf=qn z8$k?)zS*lZAY8kqyD`78AX{B{e{l8kT&I|Z{Jx0=8V;^r)h$CU70>T=;10B_4ZG&s zO!(*=4G34R=$4_FjUpj5m2o0*B@=#RmWG4Nm;09I7`J+PB8;4Fc!maog@sj|f$93R z>U6`?G#t#&_g$ypvm1g>>xQOiKo}kEyAI3*)8)_XaLZ{L4fG5?GlLs9+!Qjq(e?W2 zX%=6?WfN}1R0Yg}WuJCr3!H&h`t+DknBzBvpB{exe3jy{vZ7n;karGH`eS4IB~zAw zKY#vgg`pwn?k^6Bb##9^HrCJLXihZf(#lG&wnicr(=>*~hbU=gxfCm*$$z+viZJx;+1gu}WigO87!!w)=r#&ihWG2m|GD)2sBS6SRhX`4bm zeoXwLRot+eK5)zMtN6r(Iey@lp$Q+Ez>P5*p1DL_TTLIh9#b^nbb|qBGzUl0j~-#2 zb`{sdRs=cVmg%qI<3o)306i1_=@W(-h0v=w?o=kImd3_b<7bLS@cZI^+zqkLpslMg z_i@uV;je1^`XifbJ$uwr*EjR8Q+E6?R$ae-_l{)k@Ww0t1b1rb{pPy0!&D{f9JlWJ zok0ECp;s>XTJD0ut8eY_D;ND{t|HWrJ^IQee*pGkF0x10UF?}3r@g!s?9q*vd|kR% zjF(@E%6xpoMZfp7pR=8_mvyrF_=YQfgqQWMBVJvCT^o*@e|j}H?&|Yu&fgkG&{NjC z{;N5_hHpSW8x_3!Uo$owH~$pazPlbW^{xMLKi6OF|LuQSUh-k&2S&p>Ee}EeS=UUQ zYI$HIdt|+j!C|*-s}q`E8k*<0lm?gEygn%NOOEJ2y353pvP)$;fz|J+Dfvs-Bnzdp zUWPXBQdvTbp9{|X-8uP7E_W^vc9WQ6mfB8pfQ|D2R?}}VbAXNW085>xIl#twz?!1N zLvw(Q^MEx)hll0>8|MLQiVhFW0XEJ9))XBcngeW{2e6ucm6-$3JbKAhE>FdQRUo2OzP;&5B3gGzTEr3a5K~l7BCp z<^Uv?@mp#>%>hWZ!f6gb^5^0-2O!xh{AReN#?u^t#4`L}id!l>%>hU(#Vz%p^|QF8{$i(6Esg_p%GRNcb+4Q{Rhi%PNZn$aCQEDl9q@bUK9=j(^m1CE~c z_6F|0pF;W|VGrU;c==#?-_Jkb=&_?`J-omsa0h?Fd#^j_$5b3|Z>+-m9XN9A#PRcC zU;}u2y8F0baeog;5}tcJ5ToCI|HFq4oj83yDh&)1A1@CdR46yt8T$}{huglrD3_P- zzI_3KhfbV{N-e6aY4G;+K#?h9-g|s~4(!|KbSDG~BCS*+J@5Vd=&U{a_q+QZ+=u1bLr0FCx)9Bmh{Q6v?>?V> zSiVP%?ep718~|Uxz$3>3Per5_D`c>@yl?Nm{b&uGvB$>?b?zT<_(096=Y0@Odi?nD)8T1_C1qtL66xN(NF9v@PQ*bp%7K8RCjw8O42n(4 z=M_t&;u7Q--?;Mj>1XD-C&h{10tuaF2UWCsr%@b&i% zIEu~lM*;~x5fl=iUj}P=GI>R5X~n_A2Yvm)G&y|a;8A4##HoXK@RQMG{qAYjbU7 zrTh@})PTUFM~@#r6?o?2h0s{ACf0DLOVSJGZb{ST0k@ z%1dC58}tKJ9a+!Sw6(RL4vCD<$j#>pi^URfJ_KT+M6IrZ0o?kA+NPHF&I^(8DJf~W zg0eCgX%~wG!jg(g*w?Ms)YMg~n_4@=VvAAVNc?H-8z~yuJg}f4pL@I~9PeoO8XIFGaMrsypZ|4?ri@<8h&oAT_@qV&n!r!sfd-SCmz$lIo|ToEos*waP*}tl zm&w#sC}LY%XGOVKQdm@&mzkN8nx2}Gnae5S@j*dR)nW5$M^}ejDlF!6X_G{HN>XYD zBFN$KVH#Xn4SGpOS7&7@-Z_w8z{$%?Pfg9t%FWNt<#EMjWinM&LtA@iXN{Jws zdBynS7Q!%LK`!3UP{890`Ng7gsj{k}sYzSP!wz1un@B0-0OoS}d{{Ou1r8I?n$lvP zfKT=dkwQ*h9!N4MUlAI!0#>l=npy+`QL#u^A`tQs53C~=7V(NW1%)CREVQe^oZPe=JYvJsE!$;-(t;3NNaAQp6?vB-2DmMIt;i~>F{KPR8Tt6?d(qf1;aCF^?_ zYs5kUUr-|8<>jKRypoD)*um}Sf*wmM$TlqMSuDgpFm3_*CrCnNQdF_FO;T0?d*P~@ zDmmT~06UWWg1qdk9N1vz3nXNwSzcLH4RhHIHC0mBkraxGveQ#j(lWF2@_69W)HF!s zwT)`ZXQjg|eZkR#geRv0^?qFFPkEuaF0B zlvJ*4QdBoIRl%Nib8}r4h(~3DqQcz#+r>+f=2lQr9=ssGvXPA|5P7 zqK-?;$|dNbO{g3t*#cFmswyR-QmF_nQJBNwmz2q5pz$;!O=)FCDN0H2pukgTJ~uxv zKaV3USJhQlHEJr6X^?hsf=EzIjIM&*oGeaWesP(iuD({&ESHwcB+5#3I8jLn-U5-2 zK9H4%0-%Cn=T{>uhb8^m8gRABBqaizkeiX7n^lmLUo25IB7(NIW=%^=TTfSaA56SX zj)OITCC|~3fdQ;ofvdJ}4>z5vj^Y z24(Gq$?t(d12Kuf?4Y%3tn9*R(Qr7{r`LgkGBk*+7>5SHff_{#@Y~qh*#%BcpT4&T zbpY0naR7BYga_BOoB(6N?HxVf?tt~9@7E6?2PiVq8OB;VUKN3GogMf?CXfhtNw8{; zNQt}x(hRD$cL4Ti+o^x(h|&Yn32@>V4H^s}aJBaipmET{I(pDFM!+cf@L*p*wnz1K zcY+(z4|)oW&VwZ`A}tE;^k-3zZtpjM=|H=<1k42WEhDo5vOZ-Y@>SWNGO z30@tJp^$joj=CHK%d8g+Kv3j5z`Zi)2M{L_pin%60X(bWetkbkVW3X+^mX^5ZeY5Z z8h-$hpb7AW3hL=@?FMVCyH97(_4RkRK@ZSZ3FtsA|z4~!{PP$$T7pn~-v zm#Cgzm;&x-Yu6b^42D61!FX%JC5`I3pG^9~P(Q9PhT(CvBm(rppbt!~Hq?{(@a_(( zmzLJHo}o#s{9~1=xuL46ikOGsi=oOjuq%!ewdknC51@sNiK#Jghd>ShpMjcbsP#wS zM_>?OFz~9TM#s?c$&54@J?IQt;Lx<;A#fhR!I+(z#=tQ=iO{5?gM%$UdM>B_1_sg8 z!~{4RWGtGx&d~4}I+?NgN6#yu_(bf2!;nF&2*hiEwxgBw7C56#AT=N|(p9p@tnXXJ z2hs6BnHwI&z=RGCq8R9RP^ez;8!Gf*lNm?A$ODcvhmafsqrSo3YXgn}1?r3-#zAyH zv>U>smC*&dx_Xd*aEqwL8S)-;BGN|BLEq@==tp=eK6M$C3Cf3j7@>+iWT&~OWBBdo za?~U;MSWrb{SOi8dx%{L-RbTe0uHXmP=62f*EoQ|OQ+ZOb;0^Sf_JocQh2J#envfw zPzxOzz71SHbj*&U4r3qO;aP@T~QAU z;i$iI8u+RDsZnsPfHCDJST1kC-D$O|`$x|tJs9wj0^!gXm|?FcbNIE@wN*+v@X{{u zEGdsrAYFGSvIfKF4Gl1W4Hhqh)5{X5-N8*n(Qw<_SPzTDxH*@Wcl>Zg42mwUN`}FH zYSOkAn8U|ibCpV20Tc6D!h2xh0HYaduBW#H*@orvno7B{LLw<^`r(SOryJxv^i>4! z=xA+*C1>0RR7hclzC_&k!xaJYj8Tj#up5M4!mCuE;g;i-Qo{NltQ3P>iJ_CO9Niu5 zt+2Y@P>b-Gdcj_H{STh<(b$wf3^f=GS~QKdRaIo6UPhL>>wfT*2a+(xcj`6m7-t*F zK)t$Bir}~ttNp>#A}wxGd%7_ew`!YOnqa`b1~}$rfVovWpK@Sk{EF>1{D2DZD+sUN zf?pt$NiPGRR=-bcoUc06BZc1%zYKoHmbgqRA$&&t(6q|E@e}t?+v3DOvEfW_9bPI~ zAY8Q}{u9_mcLIsYBxMWMoS9kGL(?j~`SWDj?5vG+cDB6Sgja5c<77-yneeaR*bs-{ zQoKuG9`Vm9A2B3@wU3kOb8~jGxsy^!3GnGn@${2(C-LgCEpdcTM^|8Q#m4xNK9ZQj z%e4rfS8Tygl9Y<(fG;Sv;5XsjUcjfe#4#_}9v2H|!T-6e*n(e$e!eX(78V1ax?HhE zcp-4B?eJpW4Dc%zTkyXGeD3siIG%kaFSLf}(ZWn1viVD5fuJG`i{VCpxV z$t}Yd7UWF=zb4y)|AvX{wmurTdqIi^Uf z_anS5DU=KPz(;otauYvbJwAuGF{Qjrp;s!c;+ERZ#hZ?H?FvQkIYYDj$Ci+VKky~< zX0t7EuaB^ON-pP`!oRBTc)!z+8TTsm?{I`s+-*KOS9N>KQ(l8ZK}{E8(&Nn>^t1~q zyrp|Bj`(G-h8}BaG}6&6bbqK>TV6`ot2#f9i^O0hVCTG?9J3>VyFZ&WtJi|(?l4ojTo03`YMS=>^uX%0Y={XV-AYl+i6 zK1teR;Nyx5s>zh&o8d_-On7-vh5oFiX3`vhBz}cqtqc^LP#xY3kA5GsVYuG-bH_Ks zBkwSL>dvyW$Jd3YIRHuIBYNIpXi5*yIc%x_GzTDwyoYBZ1A0MFVe4T_9i}+|Nz6Sw z+|f6jzND=`wHcmp4-cex5f?-QMQ1m|lkd_)V3V^{QknyhWZq%hZ!HMbdlrJQw};uZ(lo{Ifcm;-Dz51{k@9GunUYs?&A zt9byON7zQ(QomXMpUxj(YueJshPOP*`dQqp=j*>&oUOl+yR4tZ*`CsOjrFrQ+f($5 ztp88PSxxU>V*PCRV=0rW3kurv#o`kd@6S4}uLzPe0a<*qh7EsMb)sN^QTM(@=8HZ8 zS^UJg_+FE?cjDg52W!BHe&uaSMP1euiYl{A0euee3IIHQF zJ{Gr7bqgObpe<7baq`dIv+KX&II1!LsI>El6R!DnH%A|oqbjOAZ7 zR#vOzhXedU7&#gk5P0I;xeFJA&Id;&B&6}mU}Qj5U9DCG9sxPw#HnLPkDmm);KKQf zArY~0*~O(Yxw=NJlq-&$2sm^Mj1i(AoH>v86NkZUbbhfIFDb4pmzGG51tR##V=y~* z{@mFhSSyH(PfX4)7L?(AXJWp%^ytx}$BrF84rasIv**rUjEG4{OieEk6bef4()$9Q z;P8>-Cys;paOU*ckf7kGn7FhYSYqJg72l!~Shy$xpX1D_GiS~QojDKV#?kRd&y=gtLP47v~;9vz>O!^z_m@`_-A6bthlE+^z7XcK48Uc49*78#e2 znwifn=D~JGF_yxyD9_`BUO0O?C@3g61a=m%?wnUpTviGaM2ScY{!FQ$I6O4ue9-v| zp)rxMDQW3Bc(FJ}I`CFXz%P->N=rk|hv22oA(!G};#1PI3b-X@3MmmWWaZL|3cP|n z5TSc(;2yeAJU>ZMo~z8Dk~5*!*48=sJpm6czFm!FGE%PUlP z!i_hiOH1TILFa-mhDO9CrKV+N=N0p?pHhT(m%|K&9E;M@iqk>oF9yT>1y~wcc?G;e zyc%6pB9Y1P+*Xd4@hQ$-xDXP4DLO7ODLpf%pa8Ev7olLF)<`53I6(@B()w)~iB7BO;d=~{LcTyK1iL^0hK0BU#3gkt)?n(Y)zx+N zXi89BYHF2bXp(`9!ij#iAKuI;qb~7O?UxGLtUA=zC}}Ct(J+wFv-u)%*}#T8*Z^k zUfqsWuIAcuCEh-aexj5k@jMV4^74z&i^b|@tb%p6Hh|~?dnK|;g_PJ2`A|vX!xWd* zwDu0@+FR=jiUizJX(hN=TrT$d3emT~?JAMgGS(`3+H+8)WfFNsxu{qG3a#IC8U z*T4b^x2Tve0_md|3>kC^dTlVMGQx7Xyu3_`ceIMcXglNzidj+yN*nh33Ng4~a4IUm zKvOJ{m5M|H$~ywW=uT;=2;&M~Bbt+m@qlO?5?bmJiEtW*6cmof<>cq)<$&grl$u>2 ztB}Y*(GixGgIxkjidc;9PzW{3B0N1CeM}~ifh>pN0L84pf&<1yP@)PlQxY(sDd+^! z~rd4iMT5>|7x=Nu` zHMU`)x~UN_rmd>N;u9|i93CF8uqY=zMXjhr17j7vtr_-W8qv;DiI9Ua0#(A#%}B0P z*3~t)p{-#srn{}N8tXZwLcFv9?{z5V7i1($D{HHWqX9b(J=*5FN{l;YVuVE>K!3_j zE0nixSA&hDu9TIP(b!!E))ptfrmms2Q?KuCX{n`^!z$FWybK)$ zuiq_(>D&DJy2jSdzP>IkUa8zb>z**uQzot`FB1#6V8rFt*1?L69&crC21Th6Z*8tq zpe@m9sFm~cGMli#*VfhDL+RtiFJ&PYp1P3axQ3>fr*R`8?1v{EUn!Io;o`fg2q9R=weg{cIv3)<@O#$yz}3T3E= z!Z(5Bhumn|2FIpnv8dnGjF%EC!E&mqt!dO~TN*({z)Ea=V-NPZ!dObTwh5y^Wo0G3 zYh2T+ZK$rUt;0zg-Pr6btQmkMfg_H>1=LL zl~bh`a`L$XsCy9<7OcRW>>9joy1BWbu}UT`MU&wgSXhvqi-D{lBRf4UJyimNSZ$rE zT3LpB1|BybYLk(io|T=O4Vqd~N=C6zQX)aQWWr)jUUo)iPF{KnTyi?v2H`Wo<^vH8 zEX6|b8#56mB_Wo~wI?Jb#V4nxB;;~=T#*E{v!cAb?Chj?m~O`9EF%ZxP*8Z@rsX2Ohhcni3vzCw-7x!zn}nDxug^vPDzYSj88~H3`s~M zF(oM-gtu&%hE7S!NJ&MaK$GL+VJa*(J|-zXHa;mMjX{!PfU&w8kg*-$f)RWM39`2 zlo%7Aln@&o7oUtFDIqZ-Ha0d6iATmn!gg(HI$}gll5k^)G*F`WsOXrO=(uRa5FQqp znVgKUF|mnpDHzTYkegWCFvLYiN5(`@2GWw#P=YvQ5Y-iryR7)w$oLq%0RuN3_>0U= z&rCsju`%&+NeTFhiHnVmi4I55NW9ZMG8$~W^hCVmJqCG>jf+M$;}WAHa6=ao9vKmF zDJm}~BP|sXMn)n>I4cULQQ47r_@(fW&>YiX@aRa~apA5hEHo@EJUlHUD+LWk2}DLmL|ux!bSX46EF$vK z#ZcVW1&2{DqkJPMLPlPS2nQSzdMV^$DDK6BgPU90+B#tD3+jathNux3K%^xgy%uvT zcRt}XYd{5Q2geKJ6W&y<#;h9=aYg4GBgG|U#;|3@*1!*Foc$ii@6v) zInuYD^UZLGkr&1$yg&Z_akx+!e zuR#3P;~b?L`KoW$;C2P0uSzMC(e;&I45n(n=&i@usw#C&Z5?PE)hacTt^n;q2%;oj z$5NEf|Ni65atSQWRoB(l)-pNA;D@vMZ6|(urZCL@eTS z!SE~u4Kp|IdympmKKR+90*T45DH7yfYT3ju0g+_SXq~Ov< zJlq`6P%{udH90*qBNrD;T#!KE1c@3iA_o;1%9@jj@OViJ?p!l5sS$u6$_LvQG+soX znTd||=A)E&bnDclq%>yM!-a)B+>3xmoRgKAk&^c2qvW`l#CQxR$vJr81DEdZF|-xr zW@luj}L?nvU4kX=y3Zgoi`R(D$MK>6rguu*1BLlb4a2n38zu z4Wu7|fgl=+7#Ek6k%#+iF0P!Q5GSW5#zz2$QsI3!$U`)yKs2=gGlmPL%}9%lr|{5I z3}m5U6anle@&v`Gfr5;mATvd>Zca(fY-O`RVBxBx4B=3ylc5 zgc3$Y#U!Ss6SWz)`nj1IsTf~@r-p@HLfD9K40q9~=xyj7$bN1%4VMvbJW30Oj)y_7 zqhh0?Q?hb#*%9(_TauBAYeYD3Xfxi~gP|fiB04!UhcA*8gGpbImywl`9{I+jbl_ot zBg2sY2nEX^dHj%SvK2;x-%j#BItS#h<0I zGHU#d5-Y@}!Fj2v$s<4KOx%%9A$_E1rSaEfXOq|TpOTU^@~@nUyV40$`u>uvEPoAU z#q^(=Y{m_SkW53PRbyj_zrj#ug!<@fW{Jw15{B)2) zkwa{7$w`UBKjVzvmzwcRE9STvhwcL(e9$YSvtM<%(-{7jf`Lcx_hNM1#NmQF{4czL z+53+lf4rGPHy?hdUImKV<__+ z+yjmLcRaw^%Hb{uIF`J(aCke;ws=Z%^7eR2%IJ3Sr=ovtho_-`ZilC)rjBigW1QR; zXZO@@?qm1lZth!Cw?ETksgZwL|c!F*6p>DbRho z(3?g9d|J^x0P|_enZG6rQLfW{+%=efQ~1oxMkwd%D1a+7epq1ySiMFY47k^zlTD+5 zDSc9X_)P9~`t_IM>y&+yAC|hlng4a^vzorS&qCEV^=_u~mdDI`zSZ~E>heDa!fN^= zGY8l>4`4NYiJ1dzoCjFypA`0ewwedfc{11s+Bgp|_hb4l2flG0z`Ty=wCOA;l8 z2b}(zoGBMl*e{}afTcVAHJgI$`7LH1z#cIgft&tua0}dsJTS48;}xo}`foP=^~cS>SlmMYExaslssF5>#mzCU z|7LMk(=B~0ZlUTHUKZa>=UZA>+^py8zgc{9J^7ypFD)xAg9V6Eaft{oD8Vyka6jZK ztXVZQX&M?d&1I!hDXo5EpH~SMKEeCI=16sQjT(!Q&CS}@GI2Srb(Vr1C6!_=8ZSnH zH3x8i>NHwSOLI#Jcpi9c4mL*x;#Ja`99*@!7CS`of{hj=4>K}&T}%a*amE? zh>eiVtt}1pSWCn@p1e}6f)R%5n#QI^gwbFJsip->jJ1s|%}qpyP-0=Bim{e}{gJea zfj84&wNOG%ADvc#&tSewu2DAgL_F;J#WD0?x3JboKiaJUWtHMQ~vJ@2LV|5tDQn19& z;Z|eK280x4Io36>Zb7e#&4B@ooLsQPuw=l&+DkR!mzTnjI*)_Z&8&1h`p?ATXL=46 z39_)hU8|<*D8Yku80Sd;f7yEv$EdC>O}zgBchBzrels21J-Z&aF`z6}lvK)6Dd(Ik zDpaXd3Z+=eIp?fWMhPW^5CVh{SrSMhXG8{Lz!=-uZrj6tw*)RFMECZ%duG}XsCxCz zyXo9>?tQ%PyXR(RWrOIGi6|TZ6mxU?mqDerRz*D`wd6pK7u)Gs1Ux0TWcHyWdJrC@ z1<*@rA@E1Qi-0r;)Q3CL)373b5G!um+FKi%ih*wenZzs26au2Aq^CeWvTF#v24twA zq7ZN00br&i%F}^Frlh4Mr=<>!j1D0VMtfURbxAJJ7GNcKWr!S7338I0GP(L8F(+Bj>O7xQt|Q=%cKXongQpR z@Gm!i1OVS2gvi)~#lcv*41l~I^pB$a{Ok#i*YdQ(^kZVA8@AlOO3d6VL?)EkS*dq6L$ z1}X;F4b+w_bPRA<8DQUp9yrzx=)bD0x{NTX3IJ?m%9G-g;sB)Lh7JYBj^>)`Dv*Z| z|0XX#GecSPB!H<2Kx^A-G2nqTgP<%x^Royn4+uFfUX~CG5L%YdhFCse7) zkqi4sM%@$Qkv2IoDWSayJP(k&3JQt<`OD*>mG~qj9vm+N?j4Jj*yYey5g_!uf()S7 zDFi46>J$g{BqzlptPT`{07!7Rj1**uyb~Y?f}JQ&lE)FO5TvziK>wKlzX>iLAD0k= zkNCvI*!XxjWgehJAmixSWI)pZrGYi!J0Tgc8PXTRm-Dj$yaQ;*?p{a?j5roIB>;Dl zfnJsavQMTw6-@&E9Ty)H7aK`HW-#k;J1P#a5JeN*8b}w=KA=^~FPz3m2{SGSmKzU9 z9#=`rVq#?g-IVu5Mdt$FEJ)9g1HVon__ZuHDi(N{43JoK6u>c19zeeX^iJ?;Qu)|u z84$y0z}>hZN{Yt}i z2r+RcbSU8%fHFW(assTQjHsCC7$D(r2e1YW^lSIlQQ!{`RqH77EBN^m_gt!qSR_UZBp|28 z!ABt^-Axz`C^0Molvk7yiCe{D7&GBU5K~0&q5ug<31Fl~f{h!2yb@%vX&DBJ<-S4p zpkL9l$Y_)x5k#5XGaA2($z&4%8+Zo<@8Pp9zHR0wo|3AaOK>SVx3J=`iF2#16=i0{#md zC-*@fiR{6jjR8W9`=i9@m$;aC5Mzj%VZV~)`(jZulqV)u4X7JqgcLbSVwgeXiT6v6x?qHr7$Az`86ks@LUxCd#FP=pA0V5vhM8XguB9vTLgj7Ss--a1Sc z28S#l3=1brcASPGTM0=J8iph=XOSpOAPNl&lc2&#A1(xc8Kp-=DpN#=!;uVx?=VtJ z(g1u(#mF9iND5Lhv`K{8h)5Rb4-wiW!u?{D6&;EMkxJWwDsU4DgtOo?64ZMX4iziM zjtFQJMZiJOwlGo@3J`~eg7hN^50{eRg;ZRrW86m+0BsYUL`1_YBErS!F=U3z=uZqN zaQuXX)GWe~0R08znq2S$BLC?@R)h$?DuFmYAvq&6E3crqqPD7>1Yyf2^32F6)J18> zV4!DYAOIdA$YY|-$xfG$^hz&+NrA+LN1v?xyyBul5Fp5;5kcf)46`U4?5?!bv`kzl zLGE&L@aUHk_D>J9U?T7r&>z4#lc(bGC?h)yPmp+&$w&|Vr-#{Mm;xb?#FOzYIT>^? z43%KXrQ%^L^j8maFiJ#4VKO8fFK{-%hDyX!Un(8~-K zGhjORR}b^xObM}Ixusy3z+(ZXWH|_I7^(qG^C6GL=&5`X!5k77i=iwUc_BYM8zl;U z^)Npg4ha!ldO5yQ|vY=l+%#Q^* zJ}wsHE2Kzkm0`{b&%?@Qti6sbL5v29IGx7Wm6Y1#x810>=h3YIKYY z0~Z+@BVZ=zbsxwvu#usRj3-j?+9cxe=!o!$P%;k2KwcMi>fA5nrtlJP^-3Rd`Oi1vwFnB2#HRKNO_dY2P#j24o5f*UZ zk2oA&6oxSb4U9&keBS${G9*+e42!^BA);{j39=yuClQfB-t)c3Rbg=LaFI|L9*O}W zba_aEi$q`$l6b%OxH>$P|9XjtFqF6;1}M@@)IU1X)>GFD-r zBOE&no}TZ0S}zJ0!Z(FNloEpBhpd3XC{6SumAJk4X#@N=4C7QN#tk6`N(>aJI~h^1 z(#G|@Pa7kkz)(Rb8PK4fXr(Jh!1u|Z33)RrFA{~|lZ*z+A(%|wWabt@{zO5>2Qtt= zYh)0_Py_1_i7}Rn#Ln+MX~loIW;W#yK(4h3KLSf9{%X1ACi!P)XU}dX&&kPor(9!` z{Bx0hQ+aOg+-7n-|IVs!lK;Ep`FXi>YO7yPt@=gMZ{H+;{NG>>a@DKbHD_QcZYsxr zs7`HLRpRO&MMXuYwyk*cx90R)aMVw4Q>Y{3h}j z4kIq1Vfi5%5OI}H=kcEKX_;PP|BCk zAFJh)ORo>5{052NwKDzwYi|yv{Mw55pTC$|<_8dtz|t?4UcF+kq7x`D5gGZ%hCF5o zx2e)kk@MH`rWleQ2V426{2-#&a@-2}5_!w2k`sEuYdM7E@6^il%IufrzrdZ#^5u&p z4<-3Q`P%lC65N1%>KDIYlQNY@49T4wD@t6xu>ASg%2(#~mz=Nmw)MZ>mDd_~|BHXF zFLCviZ{Kmee8=(SI}SL~rpNPl9K_Q$JFsWj+mEp=agR4UWU?)fHaoVQc3$??jXy`6 zA5^K<6t6#Xs<=CI`|ZbxEhlc@e&fv>e3x#)apUdBmQu*xc>DVA-Yw+Xvgb@S!DESA zz4rNK0Fihn++69m5H7(Xl|B#GBL2Vp@mfx9dhJ8(DYz-lW17fKE9EiEK2PLRY`8G) zTqSQ>_IX^x8O95Iy^$-+SB?o&s0I?oklLu^F{uC4t7V^`BBKKt8k9qh(t}iI%Ae~# z{#yCE4FB8Hgo^Sj}?!1ZRY=v6puC?03IkFY?)c__o^$3yG~_q9{|AixV^<; z1JD2Ql49xTmcF--05=pju1O^8UH```ifbxQf9?88gH!PXRG$9Y_1DN%o=ybtOXZ(i?|9dhFO%0rdE%F~t8y;81x7FhA*v7F{V=jUo~TmS1_wO-@S zfAP=tC9b}*x&MFr4*!4o4*&o19sd8~9sd9P9sd7pQ~$5U{JEL`*SI`>yqWt~J3o4~ z@yx$`wF-lS%GcMQRiOOMyuZw8)A@g?6l23C&VQrSVYB)F+O=Yozp;J&Tgy0js0IG-+2C4$v2+=Rq~DJf0caW`Cld9c>Y((w~TG{ z1fY`FY&Zg_Aq_Lhwv095iNsr1L$UUj09-%vi~ zuN?(c@+})q|0+3I@!Q^5UW{eNc&Scat78ec91M)ioUGi!!Xhl8Z$`j`V#LMC#`ZXP zEf0nQ@J!G^3J~U_w6nblyNVESyC56P4?vZ<>8V+H`H&*eM|nkO8xZcIJiw5-`I)#O zD-SR4b3r4)o;f85_0iEetTOg`K_Gz+L~Lk6#P%ix2f^A& z&|^rH5>yK53lL|es~ZdpMN4~21LCigV270wR3019V8wl24r0|K5J6{46R1BmmDLr+ zq>cbs3J~)JO3CiWl4KxjQdx<- zv5FL1=scM6 zY(x(M5uys~wQK7Til?kp$qqs2j*<#2f5rk@VCiwO)m62KdxFGBiM|DOiL7rf$R>;0 z6XIi~)zuZaK^ZH9Y@<{PrUu##@CYQBpG2%L+;@}hI zkPUu7sECV=CU5Jpm>3pc4BAXlX+a614;3PRP=Vy}G6DpNAuojK!!htC7hY2Y$IHbY zNJ)t@;Or7HHX|x2f%edy$h;8L91wxB(o#s<35*ZVL9Rta-=F{h=K>onzap^t43aSV|-r0)h#n7_>ez0{(_AiwKh_k#H9fSpjh4 z8+}G!cz3iOu%3`6iQbX95^h#!F50Z$V!6hRY2k}%{A&?Qtrm>D1nMU(ar zjFn_84i|-l0MJ2XF+m3CSaE>%p-w=vB7j%~R1OR06TpecK|cYZ1VsbK1$YFhD1uZy zT)+?E^LQDEUI8czY!1M`zVyJJ3lWEe3V8fr zP5>8Gj{{x@$Oj-ciUd?f-nfz|^vM|d_QBc%&M1bhyc8_Wp`4gkIixETl; z(uait1`~$~LqoZOAQT@E5EuwT2x&U5K^sCK@`6wyH<-%_2u9)lLH<$EXgA3|6nO*B zN369l(rylN_wx%3Brz-q_Dz}>f;tF81!y^s%R$(<;GjT1C2|Nzp0o)uz`vQYeNz{O#`~V1r#3XQC$mgJVE|GBr=zt(-MvS<30(^%d z&|J6>ea?q+5s;4y^#+mpk#+&zMEcNhE}u)v7a$jGM#$j+eh2&s_2Cxs!4qI3Kp_`3 zLW(hGW zAHYEY%1tJ*i6#67B7ba0NfdzEL&i}Sh)pI*nZ)YR*kBlM0GGoLPm`M=7tX>K;|(1;2;j4A51noMG2^H5UC$2Ef7jWSW1!!7m+QYep2z^0ACd1 z@8^%6z%HVwC>QmD8xp%At{&u%JD~^+YRJVukjKYGqKsf%_Cdb>*zgwp=@%U6hfeeN z_d%!PZj^v;(k;qjpl=lA552-b(2*p6C?EZbF2Oyx(;pj#l12yn`6GLzhJB#w_`=U1 zZ1_p4fn7b3Cn}EW;}+-uW2W2Td0^B|_mSbSRL>3hR{y@7BlR^jrY?3Jp z>?#cKVPT+|f$t#&|KMpSyjRE*D2JX1jBps;G0sGQ1_7dj$9qq^Ff@b`uUC$682rP? z1SAFD31kKL_nz*+SP7@aT!i733;`kGd{hQi!Ly6Yd(V1;;qmZUjA}xRyL=3E5MVwa zR2BF4p7p_OIItrO4RC#g0mTrDrwWmhBjpKsAQ?}Qg8&AN@khWBk_Lk1g2~wHz0U>$ zVXjaw##}B26)?U+P(Pw3kj%W_`)r8xK>)F447^+(N+)y|JX>H$4flNSvk_u2=p9To zXhSeRR1`u+RLt=pc6k2s`7ZP}x(_xL9E>(VE)Yi`+$gje66X8M=eyzg=xx|=P%u{j z-GvB6LR29VqhyHRFQ1R0AJN^gxgcH$F7ZQ%j?v685kDm0m!FTrko|e6T>t{SVwmJ1 z7%I6*6e8sL1^)8$2@Go(%LHWBAkzwF2ILYV67YjuZG(UH`F{8j1_XfsTi25Dn@_qL zPd;2PdqaKhuU;I0R&gEE2}V>N=>Z|O_vL#zSuph({9nB|NG4i5iSRgNu*Nu!5`ks&Y$`9gmjp->p)?`v($G&eTU3IC@rrpc24JeSK~p0@>ozCpfz z4u*zIDpfb~e|&M2&%+2C#0x^rFdqc*oa~+5ee8{xTDnY1%>VfEIJy(2QAO^(8t$;ZjefT>MmsA+0zsZ%JLCI8=7r@4MU zn8)GtLT_JZBSQwAsz=q<(A3qX>S@&c|6eTx`QwQI8E||ZY|R){JsMqGTTerqN}=nj zb^PeF=fsJePI-M)YM`l7#|K7CPfyR~ zt@qw`D1L$3T-i+C-`{_AGx@;4z_m@}udq+zwQX-J{+{C1$jI>Z&E&gw?Ygm2KD)(f zMQ(~$h@5s~yXs1`Q^jie*x1<374m!c*2wql*|W5n97{VkmG9fP@0OaX{B`*wrugm6 zmIYt9s}PM<#Yh_>dc>Zjt>!ovI~ z4Aq4-XNp&678f5g*IZToRJ_9e37;COF046IyaL3_VaxUjkVE6%O=_|;c7*Z<?yCB| zj>*6#v`7$}mibF7VKgX-lDKVYW%?EJWs*b;xm}gNO0LWYlp>0fg)P%bID2_J-QwlY0QxAyqygw7Wt^WPf*Kc)s zYk&Pels`pcgQ)CpbN|2c4*$RO4*$RK4*x&*SNi{2ef<3UXAS&i8c=!q#%F(7ZvXY} z-q`<@qqOql%}l@gTP6Q-s$X@Yl5af!tK_R^`!~N-@{Kk6Ur@ek{$F4J)${*)xoZ9< z6Yr*SOx&Bv$^5^GTsgtNUA{d3zg7Nv{$DR&J^!zlukPo+oqS`j|J#+ny4`Pn{bc38 zp7>SyW3ew`4}ca^QU=yeHeyNSf|`MF2mtKEr4kaJ0x`)eK+*vakGSx;h}e(~3Q%G^ zmW4*gARI_ZWlecG;VFPpgQdBMD+2mLY63U}Sb2&aGq7V1*d16CjF9x1z|%7`5w``Q z48ZS@#UU0sqTizi*trRTATqEX5z!1X5fK9MK@b!IOcKy9^1-3V${`yyWgfW+0E8)C@#;NtVe9(WFcijjcSe_82$iAO~#CBS#ew zfg_P@h(r$1mOw)w+CdAl5oIO~(Hanc1Y{%x`p-ht8$`U%0yQHSG%0M&la`7tD^Nk~ zKZMPE5HFt;gOpg$n2`ywG8jZsd~!}s7VbcR4scfR2ed4ry;KsL1|cnyl88zXzyo1< zK+nR>pl1<&RtmyJkbn_MU|VHnVF#+*jLclHuh4R|0}G{-u~i1y6$1r=kA=u587a^n z0?Lq}G-NjnL?TIyPfo~23iK!fOyGJdbcPTmBpOE|*|7uhFpy0;x;q&WQLxWea-u95 zp;NG&89T8h#z)1)p%%)O*`OiBB_v=mGXmw4^~?xwftwN%5V#{b85?IH00V*sV4XOL zAA)H4u}F`I9c1SX5*z{75Ck7YhiJs>2L}Uj5^x6+lASza;}K8+n_ghqEunP)%#M_j zCD`$4*w2FmwjhxbL}cA9kS(kh4hsc^Bo^CnU|S4C?~jTRg@eIB7!=`RvKbs%S&t|P z*nuj#5b}U>09_&B0}zA)wT+Tu`?p907yxp{6Y_w-0OufK3qk>ZAv8c_B-ST` zfIuK|pj1GRI6$uf!GIfsb-_UXLj?e{!hli>IblF50LK8v5`ZoNu0S|1oX{PB1_5~? z2oeFZfmaZih6k_;Xu1GE8sHpMITVS2Wz5&_IOHAE*qxU;!7vA{S;tf^tX@gn^)xARQ1T z2>56ypU2_z(7_TgmjGEtD)mDan}e5trUC>*f57^%03QULWpa)H$Q{@PpecZH0jNy~ zbA|;X8VrIm06QfeNAR^!K#hFdD8Q=!C`9uih7u_fMTHS$6gCE`5D>m_F^_QI(1v(e zZ%jBiL?m(w6b+gX>@hr4h;Tg!agrzlJt5)r8+E)H>T zK=A^JinIlIWH`c~U?fjUA`uPZ;-LzJG?9YQ0|c0GenJuuAch3bA%3Wgv4R>9f(dRQ zgd7pVN?=FBgUR1oQf(Atz(G$BGEW)4O= z4Am$AK@bqh07Nd5y^_lk9vY804agq@ma=s8gEU4NNQ4kxLd8O5%p(Mri6)VMNL-R= zQFH_%;}A*^xlf(f3!({l0e*hozThI@W^#bP0EUUbF9;5P-d^|sd4OC{ z5=z%A0J43L38l|0l|l`9|8%%0h|hwCt;C*b>QnwQiJiJ+&eTFj07+s zu+J#r%YgC%B8ZYap_Bs|M>>BnKLUMGf{(A4H|Q0}0dxki82}CY`eC2|l|q?^r;i_a z7r4_Gg#{rI8N-Mkh#bX$1LN<5w1j5i>*eJi02e0^F8Ex8&Vxi~9BC!=;OFh`>kC+# zLnsuaFn>Sng$km|a$8Yl5GjNq;1}>f;{byN$^#hB4MP10A;aIx)5o9ikN_PE!2$qN zfG84e1epYF3G{RI@#Mgbz@NadO~y;YWbyR_r-$S3hGsc?dcnz%1qfY)6$fP!8VfS_ z^Yy_X>*nSX0{#MM54edB2p)Y5xH~8iyq7>u2*<EQ}NY8UqLe0RaMzx37zn zk1Y+1F^qLU*F#}x0Pvw~?B+^{GwuO?Y!en?To6YU7rKUrJUeRLgK&zy0DUASK=V))Fr>(20rb{J!JHo1hX~Cuge25i$dz$KL z=~8JF6hUYqFbLR;Kit93)62u#*WH<_t)-`}qr;?Xp|YT8_ro7-x=bchd%M1# zmL7fPci&w1_jNWiq!}16=`?*k&=VN?bh?4s$C?yfy7sBxeRIRb)YOQ=Vi_5rGbt2( zeFM6V4pnQbjxI${eg1df+;lQ#nV1-vGIi9n89I9URI2uN4K)odbyQUC-22}yxtST6 zSsEKLwKa8UbQ(o{%SYNYx~?uwOIL5(1<0MPO-!wA(3{#ipk%0Pqjg3m`c&QRTXc0U zz5nekCkG2_$SF)6J%)~^9^J&j+`^cyzJ2@u{x`iV?|*yS-pb6@2F+*EK?XXX!#gdNeBAR7*ow zO^@13SIAm zZJKloGgyc|jiPTBFS%XwAHk>YU$`(v0bP}u2yy|V*?`B zqv+`Bs_PiovUD|A3}X{}H#;{IH(w97nYH6>w2!Hysimc>%Vbmj&DhwIZDeET;cV+- zV$QPi@x1l^!#sxGA9W~y)MYWLG={FO6Q6HtDHQsfFdagpGq1e=Fq^5T&(io%i={^~ z#>Lz?Kj%Oh&&t$0NnY5n_`3(`;1V&R1AQHqcaXcdAYJMc8071b&>)LUtDgDoeL2&d zp>M>}WzcMeynvLll+Z{I$LOT&+!$$m*5TjYPco*^X$)sKhmeGry2j@EoT@liUS57# ze7ZbJIR2Y^aX}&j>&OCWOmk;?Yq2<`s4z^H7nxEmm8bB727Y}v#x}qmye4T)XL)r) zMNU>hx=bP$Nh*tn1ESixetlPpnBGrKRfGVi*?Y5FhJO65cy;ya)n{fu{#KqiRs8r{ z@#@;OYtJlx{H;7$mHztm>z`S!lCLDNC|+UZ(q~pH?s}fYKOnnb>teILVC-jpoTYkJ>@#@yCRq`Jt%O{FgSfBa%iu~8fmzGwQzfOJ~ z`q?Z!UYmZ(e)HOM{r6&DZ_ky@(qoy^+-CB;+?-kKHMLUxRJ=m`p-ts@d9kS+TSd=p zmj4<#;h(6?3;k1ASTJX!s!;Uoy&+Zi5c#_NXIFHw;uY$*ru^s?1giDzTiN@>KCs$s zX0`rS+dtlXoLp&tsOl>F$MTO8E9@I(uTGCQEyq{*2U+r~avzkBRZK_CRqbDMrg(+- zAxBpD=Q=t5^KsZ@%~jP;#VfpJIJAQQqY^346mMQQ{`~!S(!j>=pH)}?PSyIk*nd2a*%pD3>)oX6YvCqz!d@cfwn)Ovo15=HvO zYmUhp{)sYwk_XDi-!=S`H_~PK&-{~Ref&T0M^uW$*>%SPxrQp`Fzt`Wl^Ws}%&8_7w)D#CptcC?`!_$%Q)Z6u$S&0j(#UWeA(Fn@^O9Di^5n|l2G{ZnZ`HPdf=_EVMnbG|=oU;_=jp7_ZywS26< zhm6f{q{}SQ)%TEz|Lt-}aQoZkugB*fZ&;nT^4DAVFUvAz`l%n2D_O29@_0QzyjA}C z*1w&6W3T_)mA^taD^7pH@|FD4P4ZVhf4*J5{QUV=`RnJ;x5{5Xf4)ur=K1q&@;A?) zZ<7-hV(x#t{VmHkwSSVwX8Hfe%DF&m2r@+QegZ9#mDGS@0C@oH0bT8N1{#_=>J+VC|KY=}+qO}RXc}&gF7B=_?zqLv4iJes6|etwwLbXW zR)(G?(@am-&B@)<#naWz)zjTjW4juK#$;~O)ZFsnb{dPyWEmQ|IJ>#K0-y2lvZZKl z)214-7;4(O8X6i513KO)vmk*2-0a<)jOjYsSlnsI)S}`IySkB)i5b&~?dE_BZ zu(YJ8Z`0M)V;C}ZnKUhZ0~XWBkZNP?=;rL?XsWGC)7SdwkJNLOCPSa9Z)-ubvNki&rE6*E=x74jFkoq^=>yC$W@s^u z7;HBiBTF+ab!}iL>UuO|Qv;g1x{jFzfDXDY!^p(V&dkixh`|70qoqMHG-XlsKG3BY zy4osRD8R|3WbUMYBO=sC#Gt{+>42+Bo4fUu-I_fMV6P~A~nSp^BmFZx| zFtagXYUvoFnucr|h0Opy!SeJrrkYupnHt$U8kw8WDO3jCz?22V!ITNbFpTYNsUO=p z(yc9A*hZG-6s856&M;vbxHwwq03@PYnA=&J+WELRy7`(LyBX7|2BuUCD-)Wjk1KMnOiVf zW`<5a4rZ>VmcCx*EGEOo-Pp#2YG4v%Poo%F=+i9iO-(GF9NldLU1`SF462!vrEk2j$T5XhGw!4LBD3F5<^_5zUU?&=B@)5XQb z*~!*6NGJ;N561Ao2lDRj?ujg2oLyX<937n;ogA!fe1kc@*0v7zjvnw(H+L@&7dN1s z_73*;4i0v9cD6S5E*5NiI}1}s4|g|LH#av|7Z)eUZR{N#>}~DsnED1ZTNhhn78X#u zI>8xS92^~-?Ht&)b~ZLv*4CO73Wa59X<+H*V(;SUf@1CM9PI5JZLF=>)|OV*+CT$= zYUx{G{k01cqhtqL8*5uDOAB+hrKP2zxtSiFX~?p$vbJ+^vO~475Zjz>Wr5_jrdXA2 z4$C$$G_tUDbU~gYUql&}(X))SY#Un?VD0V`F3(9V>on8X)ictkQ0Wv)J9}HU9SXK$ z+c-s*l@z4NXA8pmtXIn*7 zRmVhk4mD(D%HySmhID;4+gNM6hORDd*~;)O>MDwjkjv96vr=Svl}7sdX3o|acB$r; zHa2F)td#zamX_SolJ>!>(!vS_Q%B#!*@R_bVjUDN74rhpx)9E+rMGKrvcDv+vaw1} z%f!b!JSj>bCR|BbUVUR*OIz2mUG2SnZH={Q8Tw2sFJ5wKVP&Y^8yXvG3%ctvi%K&S!&6Kh{pGnS$z=`o#i<>N zlE$V=1mQ}Ft17R|A-j@gI)@3Ua+zFI)0UT%QeRkHQ&ycO36mF;mql}V&UU`i zl+4WBs=Ao0D1L-AH#s9OMk)^v$&D8XU93F|D;m4H^UAAJi=uhy$2GU0jG=yExd`SsT!3&Pl5RnV3)v>2zarsnk0zB_S`PD7&m58$M>TZLLf!tt`zD7Qw(GAPMoik{jwO z5<}#LrOk=ag=JRO_LlH-djrd`=!DdkzQ*yxP1Vg=k_ts@HZQKB+7h1T#!1X8D5|N) zwxv6o>gqab>T1fHdWu6*>N|%m*-im@1tpEO&BFsjqtgx8|7b^XW^qY#t2{^1*FWm& zos{3*UY=ju*3mhAbl0$=JUzcEt)Qtgr?IWGzo)(|zO<>atvs=yBCoVEB{e22HWiWk zO6xjXyZSn+iwf#0cC=MhSE2uk@)CuD*v#bk_W5jX9dApCP023GPf3U?tjI}A$g1q_E~%)ftjWn~EthAv z6p16#D$2yMNy){n4LRvWB~|V1ogJOcDH3UnvvYb%c(^Q1%nQk_ZYnKLDrsqIsOqY& zEGUf&aMQI6DW#Q&F95WMRwmTSU;W3qM9SxnW zd)kY;TANaXyriXter7(-+8WxXLa{Kdq_(TAM&7hzpsanYAe?6}>q&DoH#gJ$*FSF8 z;n%cw^j6B_)5_agvm-z- zEIccBc8!g-wAT3Gu|R{u2&;5uG3q*-3dxZJaEv4K&qEY?(Bg zmZtW0T~lXi`vGGILn9YaWmi{yYhy}md=y-(qzqeHcH4&cwExQ;3D?~uwz|Ecr6Nb3 z85t75kBkZS1b>caNwvv_T%4L!)7Lf7(5BZR<9eD%AH6_CI7?*$m*Tlm5 z8bxug#F_HH|M_=FFDY&9>Tb&|NsX6@9fKwD^-UEC(Ww=&#vi`_>)&_$`flX@(T3i} z+5|_gnD50-94O37ii%ChiZI&x$88!rz>gT((cP!0P7)PmxU;F~k67n_71amKT!mD}+U2@}q5DI++{1dUf_1M7@Utv{VoRH(2 z-j)+C^!E=9vbMFbqL2Reeu^M{xKb*Ml8Xb`=Jx3oNwT#3*K~^QXE9-B?Xc)L=$Z+%JFv@hJLJVqT-SS z4th*S7iUgdb7@g3H#jjGAwC7}k|D?~t!$hvSti`rKzDopyq=uWJS$^+uLwTR#nN&R z`ZqSyF>n<}_3o(1l}U@66XS(mJ{T8lyq#^`cmC#nk|owV+!z24oWC{b~ zG97I^{W$S4d9a@(S3%=IYjbBq?~z^AMb({((xk}DNO_J(6qjE!0Q+biJ3Q3ZHneAF zMNUCdO3$&wqjl9$@ugX@1$|?qkRRH=r?0hdw4*q!FfKTM?|4H&nbD<1i-47XaI^R%V5)B_$Kr)|$T!a)Z0k+agKECI{zEIm&wzh{ zg(HWIR4CsnXjz>n)KMvaC5ml`Pd46%Bq|QKPDwbzLLMP zfjs5-3jWJFd1}f#axpEBQ6+^M8jtC1vyUDJdzN<}ZIo{jm?^rtMEo zUL_~|pH=)O>}$L-Ju!e42lzqg-xc~@FHc-8U&}ATmc(oNcQrq0mye5_adLj7bdj829 z`7-{ro`3QhSbU8?ZOA_%#FIDp(}w&LY?}6(|FkjxgiSVSBgfJ@{>dBS37ST@C*+gJ!y=uFgKS{8u70o| zvg;i=$ZhN7Q@@x}_V04?^>PADE-8~MxAj|mwXxP!SC#kv{PD8}ej*L1EN$bnpQzZM zvwf|BjkUf!K9SFj74=_HzH;Kqa>lZWr>&MKE<(Tm|lamLA&G>D~8J|4c zPOab9D|1_8D=SBRmgWaEb1f>3?dk!z z(ZSL)%*8vgvO~w3ZRc*uc4X5vKEU!-TL(8YdpgCQZEfM~TybDxpSFR8TZoIPxh3<% ztwx4yS04`(?JZb~Ywh7zJTW;kg5|8%ULps3{g2cQSf(DLPzOWx4_O9mAHSl5V@DuC^pUDNfdTZL(Ddx) zEboBij-0USot1gj)zx`BckUTHxNovomtkPwo>Se}k?UnAZ)&b=ZZ43w?&#Uu(V*CI zylel2jXAzTa2n*1GHmb=9+MFh#g&wF?ApEm$ceu4 zk$iFX(b?mTt!-IiSy*&zkRYAUNi6T*)jxje;JBh^G(9%9cYL<6x>A}|oRlmMODUAa z)HIF^H}0Ei9z8bO*En%<^6FDgRC#V`R)Qe5qOqbZx1e@UU&ZkLgEQyP&o5qDn7Maf zm{*-wlM^Yz9%tCttf;1?e%H+W?Cji$*=rZhUAS_ipgmO}@wStsO5z*3n-tBt&9hgp zF3cQ0c;xWG{qu`wOG@O@U>!>jzmUR#sh#c3byLSKUYMUdclKyc%fyxW{iQ|KX?%MZ zFK7Si-2=N@yM~W0%$%HEICF2IYvSs)@!suPo|4k~!tCnCnu;n#f^8@_RwPd8=xORM zg0Tx zP*T^OmYb81l2@1?8k$qp(U_gnzh_9HXd2mBpOKYaQ6UcC#K>dP3)1A-m1WuKBZX0Y za!t!rwyxu(3g2U`e6ihS%n_|hV9L%<#= z$g7KSbuO*m(_frl7|xZ-`GGQNs4Ou#JIO1jD2~IA33N3!tcoqI$cXiI5d?W6Xisnm zSDcp<6&Nn_u{GA!rfO@q5AG~%Y$}i7hDC5~dE!t`P-v*XpBYWv%ERAUpYAk2JJLCL zcskNPGuP2v9Kmt%a^%buuLwz1ZDV0}S(Zm+ouWLkx-vRWXijIC8nKv` z7RHv&&f@I2tb)?$u;P*K=>zRhJ==()&9u^G=+l^X_IA$F*u>%rMP$+OtFw!f(|cNy zotbLty5hS}YFP*t{`OH*nc1MD_nQvN7Nm}3SdVX(pc7Fff9Rq_qPaUk;H&|3$-7?bO*WXg7s4g$OHn*p( zx+JH%w|mdj_^#m{{k2ui1BZ@|?P#bfs!_DnP3~#0E-0+tv9q&(sHbzdBRf?w+S}1P zI?<99nNe7lJ389Xo=`Qpx2?UizPPQwDK$R3wmz?UXMbf@a+FjgJbYrLrnIuZwSBy| zy{xghR$kfP)w`=hv7@0ZD>GHZxpQ`)eScqTS?9#yV1H+QS%spyY3TTY;n9)K#=7#7 z$~$xYH7z~OnOS*}NriEe0C8l_$gcgz_KwX=4fXeqOx)U!n(Z1$mIgSx1-f~W*3-?-(KAdME0UL2R#r5ZkDZtvA84o=I5@fQ^vuzb zrt+BR@VNSxrnI7(sXXDcmk8r*-dT2U?vHq+UvrbeZxfuE|a zOX6JUT8Jw9dv^_u>}#ltFs18K879Vb3Yevc6+x#OnT6N%4-XFY*VZ%!+nO61nORww zg3oCTW}<g1%hfzqf{ z3zi-zwG>)HduM5Gn!ILUXI@ZPacxP6Y@)v)COTdl)K;dse^O;-YGQUtS8rQ=k{~My z`j?TKBirV_JB2iN5&Vi1KvYO7$ z_MV>Jy7=m9XG<^~1xx{k@gN5`TVtL0xNi$H1|a zs*$di9X-_@WE0NzK}Au={?3ZRnwo~@_MU|+SC6$0^|mxB`g_}J@?x`FnhLW9MhAOa zyLyJt9zJ$``oP(-z11aA^4hjKMQJujLEVS<5AHp6Z1L8evj?xlHn%4R!TXpFO|-_^W46AAkM**I#`3bf8N`_tzypMLe(qpyGX_PZY*e|oFAUr|v5xP7F5-(Yv|;m0pN`{enbo__Vs z4}bdZn5CUnzxekrpZxIs%dcPDyLRc5FX~!b%46e` zQwuU`tLtxl_T@LGPc-48!}apn4p zubzK(_wv;z&px?@_=};X6_wT5vGUPRzW(>`UOv5Z@sqEfE#1C-_1ew*_m^_Z3nCl( zcXbpt9((cqXJ0?L{owJex@UOs&K@Xp-_pMHA( z+5GvNx9(lNb?^2yNqkgfOngq;z3;z!_~^mSoA*Bb;>n#)&tG}`_~D}$FCN_pNy{nC zuh?<>`yW2LbNk|jrAN;`y?g!Xrw{Ml`sAA*UOszN*;v!uw`(5TBtKj_fAjW(2M_Pw zc>3hw=XVyLe*5oVeEY-LVE^#ZYcHO^{O0M^+Yhea_~h}8r5DfcK6>=&*MIu%<+ne~ zoj!W<;ul}P{Pv6cH4zV_d;Z|=(Cr=+do0=Zz>1xeS&M8RcXJaSa zqGTy2vb40jwsT-~0{no%&bI1!UXU=UBqb`RC_Xh2yGhD28;UYo8XEV3zfv2Qnj;PN z;KfEoq>8b7qNF@a5g(uGKQz!jupjYBWN~FJm8oHps4y%V@aGG&hf~CoBuT;e?p+h$ zAIK7A32B9m*|E9tLTsfdOUT&~<>H-G+`VgJ;!w}8@5b`N;BTM>lc@9 zU6|Q-^u(d5{`{oG+P;?lgZsy^@z4z7*L-sB!sVOyZl6CfvG4Fu&%oXuY*3q3J8^XP z;Es-y??24Ber@r}jf)qK9-TY1e{^W~=+42@v(4i2W8>ZJHFJ>PzIhGLn zU~FWte{gDMqA|O0WdGiw6OiA#bLYyr(=%so-oA1E;PCEUgT2$UV*~98d96G9PNV$u zH*R0Qa%%C`?fbWH9POLjJ-F-8?BU7%Lk(hH>^$U4H?Q8jc<9RQJNIr}I68iCw142> ziMi9W#}1ZzyPbmk*6rJu=Z@UFd+*`>>r;3v-Z!-S(88s~6H_NsmGYZ6?w+}@^x*FO zrJFPR&M%xjduVv{(1o*y4(>1YI*;@>uHL-*;OWChmln<*J$>=QnfbW`6Nlz!#)r!C zN-sfv=jy%3k3WC*;OfPN>kn?-T$s6b=J1i(W8>}h2d7T`{$cjR`7giu{M#otubo!<@%wpMLh}^T(G?O)lQKb?y3{%V*|KpF2NZbYkD$ z%h!MZFz^1Q2lt+RF@Jb?=HAlnoA>XWJ%04mg}LFnJ%`6HUi0WfO8Z(IVo!U&k z;-&9DXMeMbEEfcfV2Kb%UNd0U@(Yx_7$w1A8BAC! zR|ZZYfmH~|fMcB;^aCaTMj0Jw135{w;#ik{g^Zm3_419iuDZIWz%@Vr`tsLgxaQ|i zm;W*v`u6;lXz1JZ`#KEN+tR;AL*JVIH5&Rh`5QF!ZSps0=-cE(i%KhfTmAkFxw0oV zN&g=tS6SM|XUbyU`teiO@2v&@w-Ictb=B4XHVyr`A^#~gpt7`$&;E9me#3cH#y|U! zfS@XWdB(?YcGJ?2Vii9~Ipe>fp>7~wp7Dub=?(vp{7~h;@{CB9kCj(d=WnEcefo{H z{vVgWs?ICVe$M}m23BfCb^b>B*Y~d~&y{EYdGh~z+h0z7M@_ms$U9q9xO;DB^PYLU zK|D5d>cZoz7p`A9ad12?t+1l9F)Xnpwtn~2QMK7lyK_G z+3N%OI}aZTZQNO0uy1rvXUE}%6O)sZho%lLoH?_2dH!f?M)TzKBtJJxF}7!LU_UZH zaA4}tiP@P`i|5au+us;pHh%oXbaH0L*x25|)`PSA_f1ZnJUu_VFmvkC*~y}$-eZRj z4FJP!>^(R=IXbv+bl;Jar%un$pF6X#cw{)g_q?WV{@nH zPA#6he)Zsi(}Q!P1E+THJ17@N){UN=-gn{T*zn;~rxq_PoI5|a=j7DBshuZIAKQN; zj#o8)XkpLsGshd656sLRpF4Br*wozlxx*8Oub!Dcb|ou+VEWMU$z%JPa=XW8=jYCz z-#dQr(20r3lk@Y3&)j}gFmZT#-%xe!?&`*!hoQoLjmxIo5UL%)+O~`|p(Oy?o@* z;o}Qeu3W!&?ojXU$(i%VdWRY-Cr_O`d+y@&{oNDCPRz~UxQSQi=Z5-DoSHr`RG$}{ zFmiP2+_|eu7oHU!SiE@Q{Eh2(4s`7pnA_X8ue&If6Q-CtdTjCf7oRuX7sSPN5#_)d`Ve#f?ejOl5gHPrx5-?vqFrQk8sca((CU^z?MI zDL%oqk=xx?f!Wo~4K=;R8Ht|O&ve~=JQIqGA~LHheO?E?9j*?wc^Vj+mRHzW+Q2SP z@(E7%a?Z)EODiZStLHT27W=z9`{x(s)%A8acC?K2r-a2i$L5vr1T8t`-DA`B(cVD; z$z8NT>55=X+SpU*7*dy)nNdgQO|yq&BP){5@`RW&S|?jN#h1&4%{Jl1MLlJu%}lA7 zJ-#IxXAV}q&ZrSc=(O?PftHTYS9NXuV{gm*cx=Jc;sJY9GSb{$-`-JJnv)&s>YLz` zQQJQzt?eA9OO$fuCP%rX`G zpHciK&?4YT%=jdWJJj*gJl&{j2=U$xj#CE#%fgT3tTn`IAl zcG1_*P8MdjH^sFT4c%qV6%%a(vrH*1!Qx3o@2t3QaBPOVyu5QL>#At&uJQ>Gs^~l= zr;j#T-83p4rS}W^YEozR54QL%Efv{uuk%=aLqojQX1+otn&9{Ja+YgT1I|wNmxe3L zqJq;3Y4pr)UR#fNc4c{4L2ILLZ?O_{j!yO`+X@RJ;w!PTMxT6;#u(pNS(zWB4^C}v z_vA0`?Je@E^D=X)J1Q&sW@q6nbGxfcGB!)Tf41GnTVGg^(yEI~+v@V(FeIC^OEVLz zI|~yWKI`c0cvmi4Uzp120*VQXn~XF)hLSe2ev zUX#(avA#MhQGzBgyR?0LdUB##RP61os>XUt%5Z^*W$o-^m`}EOw7z$CwtseVs**3S zyxW@}OY`gNdL5O;+uWX-7+0)q9qw=L9v^KSC^)LkGvFgOdIIy=8erxOcxwHp1Lop5n6Uza>1=!B>}YFib#Y-~ZfWCW`}FkqFR!5*@Aj4#rsN#P)b`@S%G~tK@{(#o zC>fesoB|!=`0V6xV@@R(F&VSli;AVC*~O(v0S0mvDA4?r{1gVbC7-|*pFMTBfl=VO z?M62?`xpYrB-jS;)HZuu9VFT^p2js zJK3362$;RS1H)YKTXx?auCA^ql^B#)P4qLxXU8kcJJWo6XK!ymO@uD}XlG-4YkG!M zu6wv&adfu2cQ!vZ+TD%Y2QD;pu)Vvzx2ROj@6Pt}7;_+Y?7!Qbog2=|>+NBPS7#SD z_E#5X=jK<}WxM12g_EdY-HO=>mBB-E7zAdkCz8Kcmk1B zz^1=DI^NyiuFg#G^%sg|!hXT%!T!n|j{|Kit!{0voUI)lPbgIKiKd#lQ4D5JF-~^Z zhdRY$V~eLp$A|F$y){8!A5+{dos%lhv2nyi&BAGvqzl{9URqyWGUsgnvD2e36vb@0-^Zg>~+1 z92o1f8#`ME2P>OLi}Q0Tx=hR)8Dge6R{L9;TU*=M4{RTuDvx*9*AM4JORLM%3vvmY zR%q|$sc&pxX7eOuW^Zjpc6PF}x6a|tDQ6Tam9R1S*)JdJnds{q7#sVHEv#<9eov29 z*z&mn0be3(@i5W-Wxki7nIaJ7sovM0q_9 z9G{&US8ku3p6zce&8(`%g=261eS_ZQ&9TdpTuk(WJ9%rX%d=n(t*);w&5VtVGHVj~ zTO-wL)2aG8PvYu&L~DnljqTmF^_6*Ii=@M=fgGz>5~I}P0j6HxI6D* zaCva;e*OrrJ-IZt>QCkZr_uPe$e%lUl9gEKhP)z(^5Q}L#`cUUw&IxG;dX!P!?vew$h z?9XPLCH>8&%HRsjX~!jrE0i?d6qqb)CJ9^>jXaOeP*- zj?g=E6GMw?I%+epKGAqzX;np253Rb6uM%-ZV^D`NZQwV#cQMBL=TE@(0*8gom5#OyNyb#e#Rc`f z3T5dZ&w49_6SEsL=#$qM#+aOOPIIq-#qBIEs?9Y{}?NmA$%Q^dh zv68hif7)mfmzA3O*u>KGSyp%3kl=8OH9W@P&2kR@awT_l<6yw#ajLJ=W7B6?`KhL^ zfwQ?Hn;N4F1+3E_t`;oMiJ327Wm!G4c+oB^DyiGRlZq~sMR|{um7DUCB zubquu%cWKQEzQH-BU_xt^3IOBPUg`M*NRpamZj}AMRDOJE$z&Xtg>p)683mgQQzAZ zA?NfztQD*HBRzF*f@rf!Rc~i+Yj>K@>t;q*WlbGZKtBP_?W`LT3mJ;Tg{kINCby@) zrDLeAzP-Amx1;t9xUjsaX@IR#isTbxL-Y}ej4u!{T6;QcYU_px-VOqPF?(FKw89x| zsHe-v_ydC3evzo9k-qjGcx`GEV|IRi<7Be8pV7+~D@TSzm7POxaYwgJ@Lq0XrE-Q%4y`a#;O3lSXhS8$DP z$q`wf$mvS@*YHoUW3Kl4LRaD0yic%2`QRPv`+O1<6g2$H4|yjSXFkE^>!Ww@Pd-Wb z9{Wg5P33BB$aTGZ@3XS91dpzr)%?tRkEuaIUCoJWM|tn_^Yg~^uASBV%zIy0SRm5I zVSQS~$$MW^Sg4H?e$y5EDk{2yWBsOCEe=%P`{Jv3?f+G)MNdNeUBkhSyUKsNhQm0S zSNKa;amqNgGWZ~U;#ybuRafOn_E+n#{Z{nj@gJTBZhHfMQPSTZ*SrhA`RF32kKh0Q z)4)F+zut{}?s# z8QdnqPeN?cni_fX3nQEt3-6pWn6BcOe@zx$p_nDt)?c|8_#_zWhfiueR3ncJwKje_ zpQe2+e^Q34K_h?l{Kc=|A1CFyD_rDs^Y`zc|IO)Moc$+HUtQJSb2GeI|CmRAF&2Jf z{;+`yGrS2W)9^3M@Ftv$qZ5kVE&GpASznmp4f515{Dm2Qh*M@qnJCHQL;Re0_gn5i zcF_(WzyEjDz+Jviu>W1_{jpwmX+UEYH^=&jUufV){q$a-xB1T>4z4N5%||!ZkK8_; zhmZJ88o1ETAAb8!FCNb*Go7zWYQ>#0S0i|+he`WLF zbd57O!fzYmb#=;F&7Jkl!*b=!hLWy2K0DgpT3^{vjWT+NcuWb4zck!fU)91_%x!J1 ztn8m1&np%-=f_yJwcVVN@b0nEsnP1Jye6(a%PXql{32;9la&BV_ZxI*CFe1wR#;%Fb~e|y=V#_e2H&*xV~v`D?*7hB3_{K*CdWp5h3w_S^_A^~ z8GhT_?8e?czM!YQd5|_ewY#QJ$pn&xnVs#;ovq1%f!2z`p+34o+Syh>8{Wi}a;0=) zacypEd-Zg4YM`>Ouc&aik3BA-MHys`ZmiEKWU~uP8}pl(@=b4Tscma6DI92L@Wl*M zqqgpahj#;)KGnWU3E)$b?qRnIJT;%b%?!#Vc@;F{hi76weiuu zj)uC@(z?!uPElWVdJav{K83mbC#MT5+pDvJ&i0mi4D#o{sqF0J^mNtK4OPUdj?T`` zwtIy$(?VKjMO<`dVn%UsX+vXgFM~sqwYf^qPL5BPD@SO|{_?V%fVj-u!s7DU#-?sM zd#sm{=}kMs$eAcj<7pp{eise+g?l~v@~iv5GRd&{^-mvpM6xlQIKQ~KafpHQmAMgN zTB6s3FMjmpfBVAe*I$2OT_is|JDZao935?+9_~-cyB1$ZnqcFzufF)=$N%j|KlSX~ ze|K^;IexNxu)DuDGc(IxZIAlyJKeAU`;Y(U|NOhZ{lc#A6r8N_jm_1q(*+?HV~^`2 z{=YJ@d-AIvV|TW{{ww1q&=L+;me)28j$|XU&9lAfkqEutJhXoH@ZSIUo4@+2f9N^^ zVPa<;D;Uhpag;~<>(k6+-R*hR`p)UDcu26dzq>ZwlWX$x zufF`%cRD)XefKMU?z_bqF?a}b!xiJR>&LrFar;~AzyIUtqbk zN8g&5K1yAin-Qs0BLeX(R$bWZYh#xi-TTQ;e*DG#?|z|cVq{slzP2KgD`Xf?Uf(=C zUMOl0`SmwH{n;xg{#tEuOHXCR z#u>kFX!T$V3srI3YsF*y@v82WXJNS&t!bGtaWoA3F%;7?E3Dqmo`S4G?%d`~=nJc7 zwol{UINCmYny_`Se!L=^R%Nxe1x7LU59YfmU$ZGK^Smd9e!ySteSyP#qW3)uDSrNyJ8B{4lK zyFFbsyTD~IMu*#J^IN;S>oR7~z}o)i%F!~1*VR;2kptQg6O>=Z5R17BI#XW@WBcR` z1e5-fx`gt^it3qh5rYmwvUsYtYf9W(RWDnZR}Ez6=H%yRzinus&58uW&0RFv5>|=G zi%D zS4ds&h)5zD?yhbhsjaMR=^AQj1pkuGX-O(e%&Tl<2ze~Q`V@blCcmm-u(esCYHl8E z?4*M+UEW>aJ%+0*XIWU%Kfoz%D<7FrZp{hkw2qDuR%FgFm&IpKElV~Q%gRG3~mQt{CI4@-L zg=-6P!SvDb>N35cev00jUsTs75KphoOf1Y!ZBDZmCWTY8NKq!MOpUhW`w zK`=5pER>2Tr^h8z%lo@>r9#L6Wr9C8G%Qp|#B2e7Y;0^|WokzzT3BRscc=!+*<7B4 z&*KWlMe?oYS~_1On%kOGi507h(h-`dri(Q&z-sPhbJ*;;)4?qIm_Vgs42(@IO-`@N zIf79xPh-g+kA4>obnrN(Ri(vs4XnO_meENeU(nkrPzgpxI$8$afge!O&*FCpTasIL z{&87XS*Dx?kdmo!H{6)XQ9 zi&;&yVd3bwLdNRrn4aADi_sbb0LJ7C}?d!0R3M`m1#g@#`2ZjdN3hDgj z>LlaOm(zzjSUnw8*=gL#QK58<*W1%vH8d=cE2UGM;l4jxN|~8x?QE~ls}^#(Vm@PN zRLrdBPRiGIM+E(~1An%ZbTY-PNzWP-N)(f-DIRZZcDlY-yfD*S&2GwJ{pn)-@&voS zb#y{8IXkbCj89|kLQfNKe|vsW!eR~o>0+F0S#8s`twh3whWv$ertzD%W@nV3cS z@%l1u)|MBzEsCXi6@O+~D3z~)H9g((#|vRH36rz3JiU2#wo=_M5gi^WrWTY+g+c+Q zZ4>a{#pXZCXf$w*AE2R5P)8r|3qHh)i?sO@AK=&c6CdCdKjVUJ^5HkHpdkNFen)QJ z-TaT&Id}6%GQmI5xmGI8&%F2P>6v%pscC8ayZ9?fDXF}NngnOTzW~MLBILbKOiJNt z5mE@Kp+|u~5}%OBy?+rM+z>3DbcKHs8ynBj=2sDZie`bEy!SCNv23mNUnu^EHXa=n z#nM`zhvalcJ}N3|^xFDESIQR=5yAZBW%(#^t?J~xj|dMR(c)iW`5i47^$W-PM0fC$ zu>McT$j`5&ul*xW>rJG_ravD2_8Pe9?d8AZxtr%dYR>*kmgQq!|MoQS+gtj_m^W$Q z?iT-$KX5hv?~iLd{pO>q`Cb3@`{#c>#jC&n$+fi`A^Wg=7sRLA*5A1xKHY{B)o6w9*Z)m6{qfvy zuK_J(|EnC{?Dd+n|0;$0nCZV64gB_&{xRlF8o0TkH8KCWagC>IAN|Ya|Ib~&>*dJg8eoj2S6<710dvC@6$@d@A;R(O~K3lK6OFsCs^@_Xjz#rU= z2mE0DZERe8Y)njCTx@J)Xjq7UKu}OXkbhuMfS8+yVI3iLa-gxXu>qmJuCA`Owzj6Grdl1UswyihdFLpB0TQH29V#m;5GYYf8XyEJ zD&A^`a*{FvgsZD6%FD~%XoXS)HCzwj%JMfD>?k0iu%NK8hzf;jypF)7h50!MuV3T; z>zrK7Jk80?AvmGF5jZa^BRxGW4X^yu(=*NkLF?;ktKPmT%F9YmNl8vlA|W|Bg@oi} zO1iEV;srSwDM?9*m~b5z7l&!piP+L7A%P@bS65S6R$TBJIL;6l5fFpKB&h?hILDKS zRFLB<7yr<(AP*-eUka|PCU|aE8p+e$IiYSuh7q|L`DkM*h1UWvDa?C~;`_Uma8^#q zUB^58ovx`{1$b#ue(vjRmlW3S`;&wHJu2)UoTwX(RKK_|Kf|qN?(AR(`_i0;t!>hz zwY3ypl5_29c=-T=}GOf-*N)MrmmIBDP8SPk-{CJNgFc^da9o2ZnS~sf5MB z+@KyW_RJWc|JVQVzxJ|(VuG@8j*`+1uT$9@-{?ryFwZtfl)ZtkAm z=Wc%M7xD4C0;wGWDa19`C8x+qa=M%Z^(S>mevzNlsj@QS$fczho?Uhkg?yKmmK3X9 znS2%(6&IJ3AZ8f?6%FHy`FZf=TsU-IUOov0MMWhg>L_Jp@b&Dh%uM3VnHUSq%FceB zn^%C{;Hccn%F^NSsVT{+X&G7B=oLt}kVnw+3N&n0RW`v6& z($-D|%AaGgNs)`)d3g28-oXLO3OG5F5QmhA7Ah>D4& zx`V{zWRLLrmd3`Wrk2(=puK&4{R0C7o-X0B@uW9NPEPg?YsRiVjm<5s?VVjcy}f-{ z8-(}P-yTF)MAA#_ z9K2hq_YFu$NkvWLV{Doz9P)L2kpw4<=)LY>pSVP*Auhouu=zaw^1eWVFD@;wZtr&o zxJSj|Iun!dIExgZt-Z6L&y(P@vvYHc>)Q?P9^p|@(NVEp9*qsCVS8t0pCjNyxVUO+ zW_6+Hg-1wOSa@W#Nke^OQ%hS%VxKMG%?X8EE>}#h@*|&k2L*?O#@L2HgGeB9@7w$O287#?{F~c4VIZ&&XL{biD3jJl z9~vzBwVkhzfB2JHXo%ogOs=P=%(3QL#R6js^2htaiKycg#z?W)jC?`ITauJchaI?BPT-?ep99`0Lsi~24 z1m^*F2P6`~tLtC_t;9tyK&?0xmDM#3EpVakp5AV)8xnXs6_7TTBkCU<92gv=wYPVu z9i4o3bl`snc&mK_bOv*j#b&c8C%^jPf;C65ml^bqKz#g4AZ|M_$QZ@muDA}3!Nsoz z8f}n1Ji_LWNycRgg&Zz^B@FZr&<2MXEUd#MmB|(IMA*2er=wOJ;C;=VG{%@zHZdV5 zJ_a-I>nEKB6$WTEnXgkbiz`KH{BZNZ-x&6h?xr7qk!}6yk)gJ>&-{uDoy#N^oek@RH`zWw^gmWJP6sIb@3(H35h zbz*G;>tquOnJ4x85=T7fmo_v~utV`3?AB>rOrI5V)$PW&h4LmNf|iqL>kD&ccMU?d=ef#Ff$60B2)f)hyu3WND| zpzFsPmpmdblfuQZnO$pZOG``hc|h;m)kkN7L?;~MM_>V-@bHk3;J^Uf0C;ZSq-WM#2NN0|sC3|@Qr-ui* zxpH=La&&Z{f>0n3@YR9G<#Je~BSV8&EUgQ@3e|Kn+4%UllnN5DScJue*&{Zq#!67K7k`UoS$fWgR@x1|50{t0E zK(3x*5dt#DvdBz&O;JfjM|V$G&s(Z|5ElU$8^fm%;!QbK<%Rj^6uU~>iQSD$DFBSm zF;taLt9d;%)RdRq+}8Y-GRkp@9|-~>g!z0ft)>vgZ!PL>Zz!cqRw~&Byv@h5Sb#bG zjk(~WV}0X>vQlEuO<1ULo4}|S(O*}6E^V;?ZD}bi0BBPqaN#yE1Z;lCW>%Lr()zl) z+FJ>TAVHm>5)uHjN3qQ>@Q${YX6mW6p29C-7IWlHX?-WeTbddW>Iu&0aj1aaesqK} zSXSBu188onN2sflkS0OG_|IlRe0XTErKPhC;^fJzu9niT!G@goMH8?>5rvoL=-sD~! zchp)qV3IaLAx=G0$Hr)If|8OUZzN8nA+Gh-GmDajcnVc;pty^T(#VrGrk+u2YTjlL z;g}du>NL0m7WlHqB4DpxnLJCVN~h4sNDWSmoLFK*!`mEJ{q+2(sL0632n`M=Bz{6n zy|KQ)#J>P&m=^05-8(@kTW)BqcpQ`oMqQ{zo^<^XhNTmGZ7kDCi@}z9+PGRAAgWT| zkZPQTE$_7O^VHQi>iRe)GAKxcU&3ld)YKVga-I&aMWw9bq&JAS>O*I$sZ`|vWcLBLB(LP>UI7&?wn+R86C+fiHP+TW8@<^8wC9+i&MF9zkxQb}u zBvmTluC_eOBQ2A_9vXS-s!E<^@c`}bU7Sr_gS2o>%#TMOHSkdb|JF2MY@n-WWP}xo zjg5`Wj7*J<4GfI*^!4@4jP>-5O^ghT^bHL4jdctRj1BZm3{8y;3=NF+^$d&+$&rzP z@xQhDek|`t4SdvqMgyiMCI+}hI8!rIdMv9*;ZrH@A+HSkdb|JF2M{p9h}Cr_R|fA;*vOZ!(Z z?VLOVL!)D(V&W3xN_2b9SpFMr{!uGlC^Otrn9Xvg~BVyvo_;XxzWL!eRUG?<` zKj8Po%kGw6yA${Q!P=X<VQdwjZDbXWTB z--CajJn+K1()apwwcsw??R#*ff2X|b_v88BlmDGK(!UdT`E)h!uJm0#UCF%*cmAWh zahLDGo&IQr%y+moIDQX~^uJd=F)bql1Jl{Luk&;A@(Xec@b0>>qyTTp3-U?&sTjG= z&c>j1ZaxOK@m4&K3~v_}kXP`ee0U3pVYRZNjNS_DtHlyYMPiA3LbbTLG`+C7GP_Jh z%=l8ND3?)#)hl?4S!QP^HpdP-|*p1CSjIpWJ>e;oez2U{C znaY*i**7b|rC(u)_ARTkrGHd9zg06oGdw&p&1s^~^jCDu;Qa)J_YaJ;(Kw2w&5G$^ zv3wHw&n$1R%q(LppTZ>-((XZ?a&ey2+lL^h9tD&hhaf+L=hvTAJI-;rq!Y^zEv_w2t3X_tnwncbJlx#|E~fHF5yo1X?{~LAui4qz z-Q7FD&Pt~z+PF;E-h77rcur2w&fbxLC9ptMxRjU6#`;RdVD+2=2Em8KC@9dv<#NeT zWhwWN47{tuDacS7d6Z$C-&dAh-Y=S3SeTU#y^R4bx+ot}6BNaxH5O+iL`OzOC!`hS z=U>N>hKR!$B!h*6!)(wkuF0!Yx%dPh61UHX6>r#^vEs`!b3cqYvUy|`R zwr>g;LL>MhZ+#oQs}IBataMx^Wc0Sy_Ll$S3m+d}|A&qq-adXH0tS;n&#%bih*$$1 z4TF_F)fht<;z=MOS4>PyC=v3Nd|DB547ei5`mrU|MJUV-^$r;3aHjb_r5rUp-f(n; zUBT2LKh?`Vd}vg;o)FuO@mPd$X~W6U{zZt53#_AOm>DXoQXk>Hq3G4soAI4Xce?=>v>$I17oe)bQ)`1V&1^o-3ct)D!x{!o8c&k)uEhOyOy(QO#bq5_7*sL7-RT_O@?~h*Lw_7}bu6#>jPK zM0hB;Kz@V@1h$ID{M_v9%*^!kH2IsxhMH3#MT0b{=9P%Wc-3fPY=n1@##AseGBnWB zd3gWV|Ld3k@DD%#+0TA<)!RS(MK~B&`_LBJ#g&r8zHs!5>+wEz`)n3y(z)>Ti+JRF zs!wypy5j8TKXw{fmkAK>z2dVwaOsB8%d6TIOs(R*{RV6heI9Pm`rbhU;}XAgS@i+& z!M($VVabI&IZaM#g}tMO;Y$@~p$u(CJV z%)QVr!7q{XgS9=yrAcd=?dGEkrQY_fF8GuH08V5>oxezey_o`{9o%(gKPP})}aR1_J7T> z2G=*#HPkoM(bv`21swqYO-&8-j7+iIwIN{+Am|xC($_cCGtf6O1b4vL%-G1tK;OUs zmwZ!1*Ei5HG%(ObRK(Cl3fTM@tOMK;7#JDr5shL{Cpw-^kd+ z*wEO}1jKVg6WxaoAL;7p>FGRp^iWsd7;<1J=$Ih_ND3&1uFj)}Ky)7JAl@V7OcDjP zfx-#bLGOXi1HFe2biVt|eSLit-q6Gd!<=9@7#o`ykjx?ZP)GOCBR%9pDvIi1(A3Dp z)WpyTKOa0m@$gL|VuTd+Gl3u~h|=jp4&{3E@F7Z%0$_mE+zgqUqvm>gSTbA};t!Fs z!NUj0L)XaI)Xc=d$k5cxkW^LY5&8GX07JBTI=VW#2B^5XnZ5yt8u}QI)xG~66@zGy z;5yK$i75tbjZH{#bRT|qU(Z1A(IYg#BV?zKIzerEM#i|w(tY^o!GrIs; zC^%t&7^BoE>-|Uf?>~B=r)!87LR+Gx%uG!zk-VOv(Ib@X;lqc&d8DhOhiuWbXe?b) zY$HQ3M|6PR*Lk3;^PRqqzMc+rrEg?rf>N2Hc~DqndH=hI4^TFuRkS>~C1%Lk+#LK9 zG_aoDLmj9C>FVo4r8;N|w2GOzsi~Ph%8hnJ%^sjaMn*b1kS2CzK$LE13M0~kN_C-3 zw6v+wqeo~8Jwr1qBLfq(xgmsfQ8p9-YCuyVc>|;a-58rZ(4!g*b$bMJGk}3W%|LJ# zZG}5iV<-V?(t+k5=^2@ro12;I=^DTcp+6%dL_q}TzyJ~$OgA*QFgF8n1~vlAH!{|H z^bjrq6+oMMhQ`QI&)ifGS?lT=;v`|>7#hQI&NhFhNVA z{bBI1X<|LbMyBRQ=4c2Qnkno7_N#-IH#XBZAz}~)O~~BD#M~5RMWTcsq=T9~A`XJK zKptjh7UmY#k8La-Ken-k4;n$|Xj5WNI*;^?Q7Lm1b4yDrOB-t&YoZ@G$ph&8!2?(- zdJz-!5vCRvmS7(|d2DP9pG0$f_vky)?5L;(+|mpMu(Y-?w|NZVhq@0R+`q4LpV;|B z6x-a?!pxkcfGAIm;Ign%Vowhq=@=V8DFin&GqnBf*V5@rY2mN2)*Fl#Cn=mma;ucmmR@PRQmbx&1V#4T0NH=DL1W5f+ zJ!=bVD~reIeV`Xzc(W1y^kK!M_^2FqtG0Rk*!KRzhu=MbIl_(%^9 z`ozxpy9aPVJwrm$Lf?wgp_#3$pFnj_pS-YtPW z?Cl*rsGQ+mhG=`3q=mJG<>RN%?d%<#oL%f4o!!y=MtE04EDKI%Zee912EZh+yXC>e@o_0*bBMxJ7z+11U>#ofch!w0>Q8G2H46Jtv&n-?!^Up}$1du8|1 z(Z$2n)5ps%2%V9csU@^(ZDsT9mHkVA_OD(zIJA@Jzw6-@5F8Q~5{8^DtgO)9wsuaA z&TbywzFr=#nEB%E7Zeg28XN(0M{`*{e(}NqlVZJm{e65q-JQtH*r150u)qj-3wSgy zUcPwg=<4F(=kM+9>FMR{?&0Yh5Eu~-d2n`cj7ys~@cWbfwf;qBq!iFq}izWxFJ zq2XZ>riP{#&!0bgNi`Nq=H~3`0o*4rFgP#-^K#6Lt!!*gnp}?Cj=>+6Vas1cwJ%SVH_6%5V4LNH z`T7LMf;^C%l$x3tmmHrEZ)5owZuSgq3)lzK2qVdK)I@OUlQAhZ3HVbR8<;b)aPbe0 zh{S&2$(V|omX?&56rGruWMhNuZJ$H=PF|t0@d9lM}%k399-SK z(VF3LiAkwxsfqFUOpcF@jg60k_;Y(FPhY?A@Cc+G7Yi~!!BY|vqGRz6^YIf$H%!Y6 z2*T9SSgdmppO%t_Y4#{td`x6~O48#Ou0DamK_MZbc=rLqL}F4}Rw~Mt93LMYiC3V{ zT-^gg!y+SMqezH}MbepRq<#spm{OaN=IZ4i5*mS|v4}!!JW7rM*L1+hB_%Z_HN(pX zvnY`-ibgU`z&q8{^rY1EjLfWzw6u&&Z-4)g5Rx&99-owul#-I1n4X-Po}QJFMW!SZ zGY$+54G4=u=~1!dxVYqGs4p!m9Wxs;v%Fz*NFg{Jl#e)~bF3?nl$4&9o<`8uIbL3v z(;5~M9uW~96BD0E))l}khm_RxlnkJ`MP7ly;i2K7(J|p+kpN>Npw#&IWN0oe<8^*s zfj>ksqaY$WG9n^2Ato9xiDIJS;^VNcaVDli7lcMYZ4uECcy$zoi4)Or@i9?omiXl4 zv@9~<92OZH2bpNRU5bc`j!rz>@aUL?#8^;Spdn}nO%snOn2?=~(&y#8jzk8DaZ#8fotT)Co}Hcnr6XEuT1qx1 zY-eXhgvZ7}DbPJilu2fK5G*Y%HHFOg&di8`mBdHICM1x?%1k0Ny%DgGLux9LN=}Q3 zCDY>~BV&^j)3UNN(^J#XL`lhM8E6Dd3Q3EKi4244Ppjr)Oqop&@b$3i8li`IuQ(m|v7%0FnUV55y*>XJut&W@B1BCdGj^kO!7Q zK|av@Jm*hWa$qYNnHiWJ4{hh>76K;=Y#<8$oPa09CtZLSqx!0{#e!nEAQ+?%;2rN{Eq>jj|&F z%nSsE8H8BkBcH-y>CnpSJTl|3h=4?%DgnV)^MJ!q@{nsG<^|$2zqk;K2vCO}KL8F- z%+4vyhYX21S@eA78GNG zq(9^lD23+bpyf!j6cv-?K=a7W3;Jx8$U@~1$ia+B92b-zVbT!!Ik~~WbMteHN+4NS zkc${-g3hz^uny;Q9GEp}>j03iGnF;A**f_`m`R zIoU`C@v{Sg=c27q6w((FcT|79e*HQZ(NMlZq?-F0NoHn(#DZ8E8JJXw6R)#gzb5Gu zECT>B5_OMgi@Vl%mVr5vD1yjAUNNR|c83r6ZZHBtD%}4_k1~`lf z^UY9_^hn?-5KD*o!i3??m`Rp_314I(2#7^~zE%Pm$N@@+x0AkuOjT3=Pm2aldRj7j z3~`dtx2F*-6{nC;8sv+~`4qS=J`o4~1|pEo0jZ`$ko1$Ot^l4+mRKO7kVkIhIuHdM zsS?qYq*T(Upp!x(_?40l4+mb1L&%X{356p`L4ZU^##IpM7Zc&+M0EG)@=#1*WTgmn z015Gl;h(P+o$~`0xLcQRIfh)19D8%_#sD1rg|*vp@FTuzSe<2U zYOm|AIfm^Je1^F(b7O#=6MUMvL5)v*@Im$mAo$2FIFbKp!|D`c9YY&81b7Yb71i*% z>c)V6hsaM3txet-;6`I#H>})>!+(JgLNxs)V;pP-Ra4W8s@4p2{=OFsJVM+RZ zc;7AZ=s!gF8kTRBN54wpx67;X-docr_=@x{{F{cA@!sX}8v}ZL(KijNx8mpvML)X( zFDWXz6GwL~{#nD?t?8pT2fi-rTan!u2>$asaKi8UdBf)I^2i^!ymy7X_xvy*eU$%p z9M>A)TZ-OQYV7`lk1Ni8!;hQ2UUOE<>E#0hBP_*?)|sn^gOc6ds)5O?5oTw{7>p6d z2>v(h_Eb(cV3P9)6G1pVLwbRk8HN~N*pO(XeYdh_wyu3-M1Y=v#Z*j@4q)B}#Q?K;d<}%QVcw%jyX} zGB!cF18n9utJb;4;FS?hu$WL>|U*MO?~I<0$Bi+Hhdr z7ip94Vb+-Xry3t0$NYE9VaF_XOfzR{NVz*Z)6-M%G<$-g= zq-D?5BxRGLt22i%kyqnv8rDrg0Dgl!_-GORn~$!#`1k)BuAQ4(Qk7gr)LiM+N0LnG?0Q|> zC=L!EZ>EGAxHbIDL7dJ+mUv@bVWSG+Yg=Ku1dt%_(9`SA)By zZLQ|a^@~2IC@{m*Kd=4z`SahL)G!MxcTd}l3tVmcm!AcZwhz2LN2?!Pp1FDuIXv)y z>q*c5`s(S+UxDB&3l1bh0xuEtHzwSL*ZHYm0 zDYxy>M%2gU?-^}%1ynAX48soUq{jahigF^ZYI|Q-C&kic4=706*~v4&_2&R>uP4s{ z*PjC}9T^AY8Q`|(021#e{L;~JK%N1vKL=boIu6J)!1d<IeSM%lHJ+}bo&m^nfHr>N$K;zl1CYP}FSxdkk!Jw%r!B9IlVbAwf$dntdZCDf6cK5 z*Y1luTYzK&gb;8*IWRT>I|B3$Fi!NreK9o!^8ufR6!!+y z0aJ4wJ&d~}0>1Fe)YKSb{}}T%vB03NiK&?dFr;p1tfOy&)J!p}z=EUzmH>)~@pM8q z0s+MkybMqkP(Ty#4lEJX1QCraz@Q+!4Dbdp#*C6-X#^`QjevLdzZ)YK3(&V!X)3$4_k?JUs|8#0*>z6c{D9 zG&8d@vmo>U6D!-7ju?j~JR%T!Kso@a!qNuR0#i#=&BDgU)*j=yo?uHEni$};xtSHl zVoi_;p`}>bfIHxVA!R+VH;fIV&o2Ky5KL!XPkc0jLjh#&|mU`PA8kEJNxJ3Y0O%$jz)DgAie1 zV1cRS{~#cGC~jT0A(L$ zU`K(&0FnUs1@>5Y0+cGWI?)OWkD^ql3LZ7O)^qZES>b_QzHr5m=+} zPe6V^0kJ|N3<)w8D7M98P%_Ax71ob2nrx5ZZf6H4Cje%q=7dUvMJ*m9m}5lv#mndR zF0SAbc(@ar1BgsO`Y^KuY2ztq6-d~{)z!t-%M+s@)b=G%upd0Z1aNh6N7I7ELt56%>ajIYdq-E$8wmd(z{lOg6?#$Ac3=YL zR?nV1eGYnrmp2BqL;U@`J=~38PG*$9!Ym25<0Tjp?p}Ua>e$y8i+F->1LJ~QAbl$f z3maQI7gu+}WAOF!_VMy?gJD{OYJ#=|u>zD2S8xnKp709{2nYm6AlS$ZB%S9kpfPYS zoS`;nH!v^!0)zbnQHJ19RL%;`;q2;Y@A$&W;UyRZ9-f|n`~tlYE7aQB+UoH$+ZV5} z44#woD`?im*~P=h$Jg82)e8gLk3pibd46AUTBF*gdy-@$~6ao2RxfY(X;s5d%CAP$)nV z@edA-bZ~h2@;R2P1>NT9lV?vMZ};kz6WAf%AS;B0g}XRAI=`@c`TQ{$H;7N!>8ZYe}UV$Cr;ACfuMz(utXYWiF zCr2au`uIZsaIu$8POc6vj#xYb44Id&oJd1CyL$Rzx$W=>M;9lsY1|#0!A}8m2Yt>< z(3+qjZ@-Y>;IK$gdI;ae&D{m7OFBDy!Kv&V9AAO4;fu*;q2YE8FgqU)!fQdhgHq%G z_7ReD@$w3UjfXlpyLox}czAiayA#@vn+sM`1eFHtCTFhzfByh@lDCJCub+>PyQ?e6 zGY+UF6b`L9d0|!S07qA{{HlKdXgeqaI8VTBpV_@~bZ`Wl#Xs2DClE7Ty#4)rJUyTl zHzz2{&d$-r-PzF%lVL+(%KliY**h@E+Z#&rbaw%53LSu_mzyiRFxbP#%iq`6&x=|| z-^TL)BUh}&9pE2~Zp6zMbR=&te;*GQcW+l`H)qG^PNeTHSqa@Zct7aQ;h%Pt z`t8v^zG(g65TaQhFHbKoSQJulvV$$d8XTP52?Yo&ABar}x zPa^Us>%IdAxg;82SizHUSmI)UMn%VBF-)*iqQav=I*BG9C|O(_s6(+>MidkxtZxkF z3u1z^0vr?_aEw4CK|K)S6T&E7PgFE0D`er$=s3`DNbyN6lM-VSLc=0R>7xjN1tAs; zpjZ$v5)(o5K%|6_5W@Zd|05FgBh-@YrIJXN5+yVdGR7JaO0tMXIk3eF7&1{YU^M~7 zV0AL69O03Xptd0A@Nh7M5G9JN_n(LnU5xCaEzmNN;Yc_<0=hx1VxcEO0m85`8SPCC zi2?y9G6ortWnB_bYoeWGs2=4$?U9fi z6dDv51Uv>6L$0V=QXF&~6+sFd6&(fk5?Q7`DvFdA5t34qKqra^lmM+phGSEkP?SFk zG$hm?27-nLvkL_vtfS~iLXCoM(XO$e@Sr8)6QW242}v=e-J?P7LOqaRd@Md;BgqLc zEFTL4f_WjEsOZSh2<&S>xLe?7MTHTT7c4g(u7OrY ztA&Sx6b04Bk_4c{sL1GOP<>M3Vj{_8JXi(za!?H{mlPJBh%%u8iLJq~u^22ghN?rS zagkwU>3&3sj6~9raOtq{@Fhp)og($c^q zNQ1=@>n8>T+XO!%Eg6(GkSa(39SQ&pha`wv5Pk*f2~#0dC!~-HyN^#tl*9xSDmL`< z)dHl0-Xs|~0_X?H@vtjofzR0B&sXzFKSTNoFq*(k0v-#7SON%!*p>+VkbLlm2+s)) zfoLQyObnTz%5kv-hs^>;hVV9|LlP%z8^KXxW56HDL!*-dgPjFw_#Nq1h%iWLQQ(i{ zQ5KzwjsP8B0vsX{E=2Sh4TnPg@k}pYQde!G|aFFf|G6r)(I0K z|FP@_S~UtL8xC^m=Y(HHEE+Bj3n8Wy5fKuOwnxiHghDML&82^$wuj6ZU8}1gGogqc}ND~q7fPt`q|2Bwa>$@ zQ4APzWMpu7a9|K-kRulGEYgdj+k&;guU9+{efJ2g@nw zE2u6%7EKxzfxZYEWCi;A`1wKH{Rd0QQL*T{644Vx#gZn$ElVKQAI9x9F8aWeBBR2f z7PMVdG&~c1753Qj!@ZdgXv%J%E+rsQiu@Qu2$ta?*ueyQZ~5Vt1Oa$Fx-Rq?=rM`z z(Jsi{&)d&00ISJ+xqP}97e)w{=u==ZP!Bpw+_$6ZD7=>k@K{_MaZw_d7tlPzf^pA< zyGD?ly>L(B_(zM;pyPobu>HY%!HahVgg-*??pyc+guik(o_9A6e#|#_qz@7(@STb7 z)$>INu6=>BCIqhRSySE^awvTFRy;TNwcuXEhxk3rqN_)W*c0n!oS|gg0}j?2@V&{N zYy6*kj7dhoqf+X$}exyC=b$5g4T8&&tfjsw0w z)q9PNO^xo8zHP$cZ5xo04j{HZbrlzo^*^M|LD%>W2foG(ra({Y5`WHB;aKH~f z$X|n}5PZ7(7Je2utaswLx^cd0IGpLeg&&5C&z(4WclMWe$m2rI0zTV)3qK9lnmcjy zy{w;m@K?AMV-o-C?=h(Jqz@p! zsW0j%D~tTLCg<=+A>_DTE&0ti0pxrDn?llIGbL20ZI1)U$ zF>tC8U;i(AX96GBRp0x3-UE`@*1pZYkJiyXBWX1IXf%s7+IR1=B+Hg9ukyahj-3P& z0%W0-(h_JxLrZxSs8Sv@hVp>0gb*N*u*57Od)Nz<_VfI{|0~%uvd1zlP}uTXeikxM}N84mHASo~1_E*at<=sShk{QE*FOz8R{ zHWE2;Vuj0;okp&Zr!Xl(>@>3M_fz_zrYX82_v)4J&4fy_Fec=B4-}WH% zf?qxVr4KCf1D45u{2g{_zLyFc{q`<_l0Er!4Sm1kf1 z!FQj2@{9lQr}usCYVr5K|Mf?|{T;-g`rr3{X-RyAg+BVxr$l_$$FDel`R5njx1#u& zXFm6y|8?!ylFS$W{QZ|xd*+#cpVg;gUB~>NU9`Ey&rJM)bh$hOTTNd{dA+0X8`&8&&M8y_2JVWdHUW%ndE==Qzia~=RfrLiA?gh|3sHYU#i^7qyklpDFvzyIXned%&}29UqE{_ratU;f0~ZhJ>&`HN3*JpSORcYh|M z{B1Ac66W#q$8Z1i`JGwYI?h~2h?@Z(Jr(3x^1IXW>znJR3O!5cQ z`Y+vz@EW!V>pd&k=H2 zCV9$|f1o@AT8JYV$rn@M zlsu&=UtZ$r%bAosRpzh!AQeu@Q{&55pG}2R@|2}N@oXxbk{`VH>5rWL@V5}9sG@&NcV zGoZ)2c8RMApwJodin4xu^F~+-oAE?|8-tl$d%&lGxY=*?Hcd_7s6cAA2eft$ zY6zGuf&CLgIGWhJc}n8%n3)B*1<^eyu<_Aj2M_Px0<{Nb48)bGoin=x{NHyF^#90_ zMZ|YMw5H8aFmTth74V;;gFPRBoxuC$!-wbg9>I5q_)FPByG-wxg|Gu~eqjHBqwM>9 z6wLYX5bd{~_*>yv%nDUtzZ?hV=sHmEBS&Cu(R>rQfWS$`E*wdSkgkEdbc7^M;68)& z$H(cm*&RD(0OseQ4D3Gy6#!KI_;H-U(DoDKTTvUDZwI)%5Cw!_bNJY?yc z_8HNQ8FGPVaNr=+oC8OB(~W*W&Y^pzwoPu6T`smm5D~5l>>Y9PA--~;?!aE!1~+DA z8(q4K-BqEP;JySF!{#l-r*&WjjZbf>t$o z;9+r%F(U+zUC=&uz=Hwrhp%w-*r5YQ4?|&rjsWS0%{yjyPVd;ceb;W-J%>)5f*x~( zzhfswr*N4@EldP?#Vk;B^B20Q-p?XRq*6xJ}suuWIKkOrF_UNFT=_&p-{>3&&#q z)Ugw2HHNci2Un2KfrH0RC@|G&0;h1Aa{S0a>=9-K`(@HA2XMLp9&+35w~!GIRVeZi zcsP5cYZ!VC9ykgtdl#Vi{EpqQmJT0|t}fA3*9FZjJd<0XT`M<^-0vfaC87|C$^a_9(D zsJY!RM~=+VM<)P|NLh9r-2q`|*KR2h0}1MaJDy`lfrg;2LEPJYkl_!TRgfmgOeanr zgD!)`9z!kn@7pbWEx05*DG+6(69x05Cj~p2+qWMI346t&yvL6-4!}bJ)WeMmSIEeN zo{4>+2)m9S!NbWsj%vW&Kow7)gm`rr*FjS41G{H;9zAwOT#UT_Rei}`C17QEH>{@^7lrVYr z!!V;E_wAXRJ$7vV7635l2Y_=YPn`iigNK9uF}HEuZlJu=AnJGACXgd>f!2;5!i^4t z8vxz@y~mE7Jbmu0jzGeQz830(&Wtx?u<2v9i7!t_n zX{non`w9-r)!?PKzWyz5z4zX?yot^^eao4XGO#EJEl}qCX+e?CyaB%|Z@uqLuP5s> zPzLAmr6UZ5TjlpTs2gN(FW!1Mfd&CzO0Gg0IeV55TI?=-F96#^emF~#IKu%thI0eF zeamh0xX!uf?zi3t!2bqLks{bGstN{r1}GG;cmB?|{_$G{qXx~t<@C9e^T&^#oaZ0T zmF5{F=TDIRTLibh?JVzx=P__}{RF*7A09nM7vJ&bH$(4uJ@r3E!$C4*WMcrw)EIG? z2XBSwA_YEs62$~^Wy+XidOEb9X%HgcZb|~?JAd|;qdkr-ij%xq^afUP&nT(Wz|{v-I3Isu~0 zUBMoO+{O(KgY=G_5GI+>_a9jo zAXIKsxQk3;@-4hQ=z&ajM1*Q7tjt+T%CD(yoagpM8Mx#MaSAm>0@QLR?#gz+?1WXg zXNGc-G>Hpga%yUVJ2j?!rr>SDeN&3Gje8ATq`{?xjk|}Ym|^d$nVJ22c5Iy?tyxOG zee3j;lwf*%_w0^o@|XFUAYVI)4ojEY*sWZ&RoH$^!QAuC>=GAQ!lI;R&^@^$nBKaL zS!W-Worao8vE@!+W)>#t#57K^r2dTExM`aqtnf2urngQ_$XyL>vU?Br75szZN`a@Q zaM;D3U|S|OO-zqZ342uL3U0k%$I3MmTPASK2N@g>b>o|%t_h0>6+R950-HH^im~m; z0U2m_6+QoYVUjSwz^Z^BR|JHEetcv7iI)Q#A%d~DMR#eXVG)F zW2F#LxJtZ=pHj#N4B!%b?!ZjZbJ*1_x55*>_1rCDwM;=+C`Je~dH?<$h0onOKYz<@ zkQA9*7+x5_kDp?OVgls>Vc!gL?mfi7Ae2Bk#-LAPo{Vot_QK$tE`07RyiEMa39kZP z1~)~=ncf-unQZqVf0p}~<4gf0Jdcnefcr9Ti zX1BS0lLgP7VP0o)MQ|M22E#gqXG)%%|&vE!$hp&13Z5nx>BUT@cW;&a!xhuM8@|8YhgA&ql^@U)qpcW=sn z_B5IcTa+6G<;H`#A48{V`>~c?F||LikD(8TL*kvD**cU*{#zw7 zmvFPQL#VVe{BoNq_A;FJ>^x=T*@uAw1LeV&n?$bIB~0uslS3lsf~{M4Fr^?n_MsQt zv{@_19|FQ2}K@M2@iD5s2{Dp^~&Maq8d8Flo zzkc!Ir&Di-(nD-U{~6>jJ$xZ^d@TPn%^&>r%MV|8>M16InTIY%o_R!qj2t3=<>7BX z`Q*$a>1izff&(q`A3gl^H@-3RSypS#|NS@qex5H$jGx?*e7Z@IFQ)&<1NS`jzynX+ zbI(&Vk34Ydsi(N#K>ja3KL2gxk399zsYgydb?OlbF8+t7_G#A#|K%r3@<(Q#I`t6I zQu320m*h(M9ys;n19w00KmE9rpW~4yA5sdAVb9D^9qw5_ z?fl@cfA;ZjU8v9A2&KK4_MAN=Q^ za6!gHk^k+_e*EK~{*;{;u09y|KGpb%PrUNWf6jcIJaOXF4WItlhu-&BnGdOd!{7Q zkzFJHLo;_TO1?2Oa}SpPo|&1yUtFq-L%VmnST`7M`5|d%#p;H(;w)()6OJzk;2i&HH&@Wh6@)j#;=rTw))iBYuWv!^OzIP0L?N zkh1jWlxKh|p93!0xqN?&X8`$2KhpI_kzeCEK(2fEr!QRf9FVS-5C81NtDXZ`H^Q-) z%fml=>8j^|yZ)~ni>W;P^Ou$9fb=x)`oF0XKK%1nl;?odnJ1sT>;HaZ@jtfy@IU=X zc@DU2`~>bIZ3>{|uqaPY9a)hn_%w<#Rxq(LeF4U*JOUisyiIi~pyeDo6UM zYu)x=9t<*Ded=r`n@>NN(dg4o{Et)9pVMPVocMZ9NrE$F zE%=+u)AchI{*Q~FZtJOVD*sfO(nG&Hd0L~T1ykv#olFb<=JNDXr^3H^{51Pd3#Q^P zGxp0rQu51&zATWErz|}^l#-|0dMccfrr=TGn3cSv?*;k75w6wHGo2Ty=6@}itK=D@vY_Tytk&@SF<<5mP_ z0|yWQ!m&YT4*03ifKn>z$T503y;m9&o>2hTcr zbRH}M)cGvV@d zmjK)wF-4+Iz_mb_paGzff=l2Q0l8A96DLlCAOkQ0A_Ljs+~M@uGXm;^2~uPl1I&;T z2nv2uI1ML{oH_v#4U!87f=Hwe03qc(afXV3xF0(%T!mwDMz94CMUc89@H4=O!EXU^ z_v0Gk7@k}NIFOxd4jlwP5TF1tM2N%tX)_`T7lc>q;-4RlXn1)zR23QYYNo<{&3!41TXjPTf`B-3oK!Gc^tbq>yw-t_j#9pHjW zRQv?Z%z)Q}936pKvS(H@Uql-Oa8$@l+rY!-LF*46+y`vRS;;|wN9aVrmeboo)bLFr zhz%&-)?L&esAFa;h#rXnY+xkw$LLEi8!$|~%K%Nx0P`tTpnRvms-^Mw?AnQ($e=L* zui^p;AaTbIKsR(}ZVo_4fhVaPb%Vzykl^&5J-lDU4FHxP3$oFD^cqVRZXE~^_%IMW zYuRrDCb$*O&{5O`f(n`jdjvRj`;7R95Jw3t+s0uLNe0K_hunC{sImjJ9DKL{u( z#2IWA)&?9qU{^4XnQgrPzx^D{kJBe5+d05!0Vt%Y!DzSd*nZ~ZNfKZzpaUS*3AhCi zzHvX_2rMrMyFk-3(>u2V&71_?!*dMj?ndK9tpSUb78G|p+qN^DDMOqLpL4rN zcsp?NBwZljFensQBx5UPE6luIpwEIePtild_L`ZQA~tvz{2)|bKr5UT?EnOxrgqXt zTj>e-TNo0wIQn<{_Q?s_js6u-45vk84%CQS7^S!9*hvtfDFK;*?clTlM$sJN)MkhH zE)q~3CY``tljJeAZSNedMuTq`c$hZDz^13SfJouqYyt>eMgq{b9Rf~+ErWsqd`(W1 zfsw{Jdrm6Y)!%16YoPi zMNvQrfy6jKyC$|$3CV483%!Z8E712g5N~NXkTTG-Nr3DvTgSmku^DnixSb})XxLf} zZ)fb!ww3+sFc{G^;!!T*2;R6EKyCsET;$Vq*OEb!{q$DQaoOdJT()e$;h4Z`Tj^7( zy@hrYw2kB^w~SBYObzPbIOE6^ZB5J3m{J4b(Bj98`1lf=9H+-*BvQsB%1#nnCdQFZ zj^pcWeCsCZ?Ma3!Vxv#wBjr=}u48vP{K%nhST6R!cts(g1W-C8WR2spjq8Qw0rt5A zf&@)SBj7#_I;9X+#V6e6eS6t=Y!@gny#r22;+r;X9>>8P`}g6}Y`u(0=(OmoP!G_b z$xVVr!UcwuIlgJf&Z(U{P>dtLSeL{ZF#XGlAEAbnKQHqYxFdN0?*`{%# zkONhhZl~z*JBWx}Q4mCg#2B$AI-W|1@+j%zMs5quNNIq6MX#h0W~B3I8i|hGq2BnD zV}nFRr)e{q1i}c_Lo9XVN|BSPw97WRoX+PD2X@mFq)s=$dB)!!67riS$_9Ex&P>p_ zQ|!+;u?eSi_>@z~)6!c+qSYm7QEyncbhTIk7m)mB`Wxk?4dsWl|G2`d=3CKM%ELjb zxbZ_l(ZS8@r5E@Xezv&DL$CqH?q-x5?Sxc5H6hob>GFK1hAB;jktK+fSbZ~?8nKTh-2%}a?-;`o@7S= zGCR%&H>?w%i{fr_d{XGgWJa_N>o&kv9^FLh8`iE}heOPDBP1_=12^MGkn+eMeE6}o z8`y;tw}|W5tx|GbFBEwETH-g7jYXl#lh67wTq}wb%5f5fMh*{KcGhI0MT)YCGOoup z;<^nJ@|EB?CNsG5i3^l)=r&w&{Vq=Wb;fK%IrdfgN&Z2Z0R^9Cvxh z2lJjgH#Lbyp!&i{Vm^brCLZ&IaezWW$p*m+aNU@9zhjmhrZ=ieX$me?(Ket0UxWH2dl#fgcG_vAi*hfHEqOi8q| zGIB65Y-VJ};Ki&4oDfIH%*HCPDTM`*kDLtLsJGpbWPL) zL)?P=jWWoPf+S8qLBuC_7CfML8^;y7jOC;&v+)*&Cb1O!Y2w6m<9H(H`MW3tH#?j$MS3vU*qRSHcs&TnLYRz43K%3i^x_9oq^#R$&wlYfR(IfV6fqV(G=kUJQEXQhbx^`+_KR6qHWnP{t;&+s_dJ*Zg7~)F{}-kE+(=zmi^KnuV2UJzhh&gVo-cU2OQ64G>1y~U!krSZ^6TlUNEk}-hllA-um#TzV+c1Lm9JH)QZ;p|u5efI3x z75M>p*IQ8zJMeQW@e6(f`R7-Pk88S><+uNKa=fg4VWs@>iS=8`@AyL93jB;a@4Vv+ zwV7X1DQEEwhdlFJDmnYcH@@-FnmaE(d#wZPVMRIq!yc_(A%9$NeX)Asn#aFFy?(5E zA#LefdhoG@UyIza@XY_ocs#c7t9$ObXC?VB?!EWkFRc*&=j{0Rct-hCxt~@*lnZ?QhQ@e}b)y6!|Ofz`xX0>3>z+6e#kS{*?XY zs;;R2S6-Gwk-sSWyImoF`~~Gu<@>xt#^Fa2QgP~^|Pi~Y@($shaP(xJ$oxl;b< z)0YlK{=JlDoxg#w@B`%U9r247FYp$W;H5)OU6Nn8fgk)=&MjRqHxRd`U|=<}M1jA?eTEaKk%N z@(YVOotIK(ID{M_$G=y;82jJ;xq|5_qU)u2ExZ3s&tEV9f4$D}>+2l9y3X;7>l`4C zD;~0`*hd?m~zZ!aJh2!iyUz&XJ+Q*keUw-k=QkdFR zp+B2={`tpN=*Ni=NBVHPJp6Z|FL2`0XmIuS{JfmIcu}n8VqA>}I58|KaLox0}8xot1pC=5=c!m7@C7X|*pL@r7^1MQR;gZeYaN&G> z?)*h1!BqZ>V*)lW5oPGO;lc$z&XWomDr3o_%`4VV;p68;CWlhK#bCzI-&US6(ck3c z_3ZC@X{?|hzme#A`LAsL3;(*Z`7iu>W%FP7)yn3-AdG_*j)kAEWcxq+*}~6OGXJ0a zWZ@^*w0%Xe@T04(KK;zXEAL#v{$F}&;iZXd+dq6N=}O(W@a&(g zFakXD%)&F@3w`)%)4zOX;d?1dml5FnlDeh%0VzvgGJWNWlsw(iQ`2?2{F0@oPxmSL zWlO(g`d6fX+0sRRdAd)2;2k?0<^+b0zzqdiRf3wExNbUwLIE^PgmJSjqfl0#7sc ztAZ2U9jw%c6O0YZ=ltcrw*1LT^Z)n0w}t#O>z86d%EznnOfB%cYoE;a_nW7mSwB+o zuP47={+aDRm44>=KPAsR|EJ`c=l_&E^W>kBXEy(oJd|+&NXe(pWf}oe^7|*#=le_H zlw555>LVrR9zVm8lK*|i8-SGj+0a87x-cbQyvtv1_s=|&l4qX&Q*zt^96yS)0N%Uv z0$tWt%e(IBX<$cQ=I`ALU*+&&LF74jyFM)}26;~oZj1YyefURU!70lc@iW4bbfl~s zoo10Xi_m33=)PmefD>4-&WcXn>5E4R=ot!{jTi#S3CIlq%(F9lb^(#$fM$m*!rsNw zc`)tWd*@CZJIZQN*`)@~04qrM-~>n3#tJ({z=or^X#jGtO#Mm;^JY@aJ&s^eJ4u zAU*)OhIOt|bjpsul-U{9ud$%`5cDWn_li@E9mHa-y<9{g&rP*27OD|9lp+8Jc;KxIj zz~gHJw*C8djVV;a>m> z1s%uI;5`sD1ndWR*tnODl5VG8(4(DHiJG%KR?rTxp>-4lFH5XP#u*9}8rJWlxB$Au z1%aB6}*xY&^cuJv4HS+0uY#r#6h`%JT|O{5`xu0$`P?5RfrN3pe};> zjZv4aI|1G?jaekyw(kpcD)U zYzpWXn2GkIzDXLJR=O!;=;J>xon_RT^l6!Yc%u z6POuTY#b+HU{D)20rCP-ZeEA3LExC)h94}@D}W|&PBJF-&70P3*s>9|0WB1e3*ZtT zWRMm>RJn?;bs!~s@SZR$i>asZp|zQv-~`qbqzT+-j65(#@kN0gTuqu>Hu@uN03!CO z+pr#6+X)~(Ej#nkU1S1=H4cOY3dDwoBf`l5S_ecUTc9DqQh`_3f)kCdT{|)iqX9|; zx+oHAyg_`Sfv(DCiC{*#T<06tMQFedP`wcta;!-GS; zgMu#t%>joA2BiF3yH@b5!67;N=q;&{#9D;GK)wL8*pP8#WME*ZkA4(224MqDr%>`Y zx^{SYWO!(>x2L~ffIMJ35~sFQX++SlVPK}gf!@LX{vJ?kkTIHy`hs(+aKQLE9hVPyR4?&E?^3N}i6 zQR_jrnj9V)kdy~|dXq#>cK7zujg)(o(vJ?1#K2(x$YB3Ke_yh@r!(2r+r576@Bk^( zS(I*Mpl`U3nv+UzUw=<;PY?33vB8nGL$uCN{{TlH^`dkGRIZO2O5wmQ2Z%h>&t{3_ z&Sm`ry%e#B6zG^y8k^X|gMIx2L%sdI#Oog%?Cb58N&@Li-os?7L?zq4zQNvs!M+~a zx4U~xpu!;vH#j^Kh!UdHbXXySsZkhes4$Rn($yjE1HA=s&LO?@f00_K?zAdUde7kIoqE>q9T2iBud}ijcz1+lO5gNUHz1dzCx4bk66Sd-|n7dM^{fzGD)d=>1%AM zyPs>4U0q$>Jza7^7wX&5Nr(2K5h!bKC&`Jlk9g?+6O?LMs`NjqY zx_c!yX?Jxdr4aI;D?3RjNnSk^sf);69o@-9vYX4eILYN=!891QLaDpE5>jDO>?5gU zCoxHgqETehAX;}o7k9Tx-#H2vTyW+^npLQUd1RWFajCIBn2|6K3DXDKKr6!+5 zJP~V8Bw`8TMo#*`I?>p$;WDiQv-7|nPcl8X&tk~N%(AUx1mGhI2(EUji zycf&nOAgc`A4ZPVk}_F~A@=kpIy)ln#xjGh2>HiFB8!w!9bI<(qOjRY^JfipM9#Y z8`D6gI}+G4M(1j%scxvSl^IQ?#saAB#oeZShbj5swAk^;Py#v))*&H5sf{qjtLRpB_yFgOO;Y&F2rf1C8b7W|PTc zGwO7va+^uJqv)T$*dA`f3fuk7^;I>FGMmn5F`LX%V@=A#{n1$HEQod*A!M z;m9bHlM6Sz|NZa(=1Ow58u?cBwc}s>;0HgrqWr@j{?OAa#s9m%`@5%W($c>_bbs2f zg^Le8v~VF!9=d<>O8G+LC{wF^1iSO5^C*kfOOp*3~liqOJEe73*nx#Dc<=fcG=KmPbj-qeXJLJJr13ICGsinFPo z3m0+d{<1%H;(nU{qp6<@7r%R*Bjr;)b13CAKXWMM-#v5a+D*SGNn;3QdJ(VC05S@e zPF^qmN^xJ6{r}$r%AN%)eEk330xO&U!gn)U{iU-D7cyJ@rLzm)&TRFU&MtiOdiK9^ z`+t39@x}i{@hJli`ApEFd~8u^Q6koLgcvED|Lbsh6qvDY+0O zI1~azCb^^oTT0<}Wsom1He-G);iDHNvN{(OuPe1=>ZkJcj zzS;u6n-=)(?EiODhCgH~ndg5Qr5BG&GyU@KOVS%|xHQu*|4zv-&GgH^Q}WF7e@dRY zZT<_&m(BlImw);Ef3-X{zstnCl3eEhmE2zqkCCCjM0VFe0E9?ApWnT6hdNfnZ5G0KUNJ>(=#;jmmOd zcnz~V;RLbF9jPo~XJNN2a|Ganc(9Em6b}Nd5N4^XtTkoHwP3nHeZmG3=7Ylbkj1dF zaGj;+V8&qZYuCZ7fEL8gSR@Z6gQfYhxSjR$n}Nvz+QsJy5In>MmH{JYbvi&k#1UX? zLFwT}u!MdK>yNj>D_}7)DUd!(Rauh_NC~M)S$ivsSS1>Z)D`Xp%Uyw%*KZKF5Ug&N zW$~oU`gc~-5`bO;4*(DpcM`JRR}!7rh}QmY=?#_-BVI4HXS*`tFTk#V-a!A3agNSZmIl)wPzeP4C3E2@22CxxmIOF;-A}ND)vM1b-$9 z5YotSKhO{`)8G(5*U;F|=sIfBFL;vzUJZfI_YVPZ2*NZ7&;$lPHnI+Y7?4U3Dx?5S z0>G2j=m2FIk@dk83>X(2NdAE+f$)HN3E(~izo1{39D?(bFcKi7#XoRn;Iz?^0VoZ< zpvMB+0#gY@&vinefK31*1@Z+h+Yf>R>IfFr13(1s3Z&FE(hqL{1h;FjcZB!@0w+Rk zfcYR0ZC4jKcK=W>R|-r-!N6(+k_A!(GsG8QndDv>260Vgm42 zr0%dzBr4fN5+N)xTAq+ zKQK9g%mlQBvjWow3|27Ie&H7=Xg`@q>-BY^_9!Zh8)y!~VGwQz%!NL91jxI3Xnm|h z`Uqtm?FV+G|0NF^Qt)+}em!<0^cff?7>0tUN+*ET0Zxtxqk{|9(aBT;F=&3bl7fQR zjZ#1sm}9IguSXAt1b;+ByMRUGXc=S-E*XR1BD5h{XfD_d*c~`0 zSM?WyQQ@Hoy+LAk#@m(Hh{>ANK`y&G;4^f>Dp+JLMB3XU zu~@u45^0N&MU0AK>YW`_CzfajB#i@iMnymhv1p_nXt}eiGal=J&k!X&p*2Lp(e^fy zj|qPP8b=2JaH1m-iA$1gA@XPowZ*|zNxqY|>63=0!r-W&sgYnb6ecoBw6%w*Sw{yA z9aH|I(Y7`!6%CSCH0TY4gD63#La0b4DI8^JBlSomL_$HIH|P^8NSq#vBc;627!4C` zkA*{R?E$|(7@%^}B`_|caiHKRWe>Me#w85}kjImWXpF+sYm~1&?DzP6?n;NFTi70q zc~p}&qzx!PXm!Zz@kiVad$|x-x+r~Tf&#)UL2KHAZ4vVJdOejkgXk(|BDy2p2`8j2 zPWgl0rn=@(lhr`>i3DsLdOsSW*C;ya2it>9wRLsQG97~~G#TLtNcRe3g&NRNfpC4Z z(`we!end^i<5B*_qx2H(6KV_kTN`VgHj{yQDG|pOIS|ss(l(KB*zc>WsV_I^MD@Dp z`a~NLKJ^#HX^Z%2sz9AXuhj}&CV@T0+d$&!xNx|g41)fk&sAyE>$LH9={v{{qL~4j zE`$;VLTz4$L1#3mw24>*Iqe$4T%wUsJ4VqS^m?1^2EAIN*HUKshK7-dv>Zkg2?v{< zrFyMStug6Q2+3GF1yMMtB=4`%YjkR@TCLSY(WzLt4ND981EENOk_G*4qeiVODN!4B z>S$2nhJB$>z#H_3eSV+6x!R#ut8?-S)H;=g1`Sc9K)@gH`U9sfAMmw$Jl^JpR#&~MAWx+-sr0t0dL2db`vQLAdOfWzZclA>d8u7pqE)F% zDr$UW7e620$bvIiLMMVY^q=)iS8yp0^ zdd;c=gH3l_^~4-9OKwsB>YEkX61A$pVkpYW)0>Q@qN41qtkpS%g<6BQ z=yv2a2DMgOWYnwj3N%JtN!E?8Ta{B-P^>R1F3!G9{i|gF4> zN(?%!Hh)z?KJmX@S*kPWOTP;8 zMJv)+?M9=qB(Es%=9{yTf6IcYvR1EoP1ZT}FQ3$C)eu6g zHl4b-Sg+R@47!s1;_U34n{QfeI;Z}{<2Hk(+-9&F)!Jf}Rj)Pb)%iK9+^n3eLXG`a z^~?8L47O5}-eNbDXmqrWTBk24u$r<8i%ayS=hQzquGd0k(d&)6f)b-at=E@O$})42 z(U6^`KC6D_NRirBW;YrPxoDfTaZyoDZiyyerO(MKxn2E(qebenGP_AiuTj&bCFqt$ zU!0>hs&t0eYkqJ{rLh>T2voFR{^|m~t~g&;l#{2`SX_=fkQ+>9y+&1Bq%r7LXJr># z4O!XwsuHc%)L310m*xk@H7JfoSD-T53tp2|tkLA>=am>WCXK1OwDir$bvle#RjjQv zuF5Vc%*oEz!LQM&OUg`otH`xljn1Gl+bisvLe=W5HF+ANxk#ngRG8HH)CY{cp%d>c$j>^iq3ZvfY zY7Vx)LH*1@gH3O;&wUME(z1drBt@8Q2Rn^sw@{_9X@2zl}v{h~O z_3eH~#9iK0-%{J$RNd;Ybk>wvPpH1X$7nZI*Hl%98Cm?U#-`Q=M}2KYZPb^v)y9sM ze1Ff^zV@}3gO>>bUzvRQ<@-aIf4;nMk@q97q~s#`N@&r4iG&v};*|P_X%RU0(X^in z7oU3SsUL>r(#uCWfo0($e4`(>U6v6zOA#&~3m18BxJ5F`M`7R3yEL_A}%8yr)f9qS{yrO=~<3CCJtrTDQAK}a|LFMe%-}z_n zd}5{e$BrHQ)JpOrhmZW9RQ=P-CgFvPxTalEe)P!7@sAxnx?=oe$Bup~lFC;2C#hfL ze|))|?mL_69^_ZVC+_`RbLl{SbXocc(&$CRr~K*pqX22iOZ^XDS^wqwf9T-BPcCo2 z<@%3D+cf!CNPKyG{9FHHTK`N^|CITV|GvF@Kat)dmuj~7y>M~wo;{yfZhz@lEL>z6 z+Q(Ot@7}d*Mfs&Sj<0_IVOk*b`{&fzKTN4!&Go-)3!IM&K9q@nve+W=^GiGw#ktQ_ z{DgNby5Hj3tN14p|AKH^uE9SMx#AuSImZ?J5#`(xZbj)NsSBC;Bcz{!f3g@~K9%|b zfDrvv{)sfm3ddFbd&RZ?X1Nf5gn1-5)P)S~zvPGMl3%&2(qED*okucP%awF-Pq&!O zRdOY3=ua2WpYs{wBgdhXLZK2p$rK;OQ*=HRTL| zGW=gtj!Y*0mESn z-&Of5{L^dKZ}I-~+VaKw&uhw;?mw?3zjXh3E%~MU&uhsS&&OBnf9?yet$#EJ^8ZBo z2UsoOB)kLI0)p7eYR!HYr3(HEu*fRYzCkdqZWeevEKu3* zSfVWu_WHsC8iGxM-T+ULH6;RLi*_ek8(SPz{`NpH+y*EKvc$4xkWmU1c2-q;>$Dnk zv8vWzSMF>976Z9MP6=avca^C)*T~E8H8&NQOZB>PJFq4A4!9`zTBF4#_(DmsD(^L~ z%gxI!G?+>NCu1N?ae&EytptFfM4hL~dEIN*6lP^wreR!UWB z)T&ir6lG>Z5fFve;CATDcB{!&ZZX&m8a+6h%3yIgDm0W(W73%#DlBDYz23(9UrmX@ zSf*2(Z8fA`q}S1^H4+Ori`7`7F&RoV#;UUN@`}=8T2^hcReMXV7E`IgsIkd9 zU9(-IFSl47Ba3Z~<{Fz_Yp$S4OU;Fa6{R|(&Z;TV>(tgthe@x~7#*eMdY#FpW7#lhMWx+j zF4bzSI<2M5qR|^wDsxqZ7NkjM(AX+%m1Rzcwa#b*-?SJ?3?^M+QBg&;UT>yGC0c{Q zT3KzNltzulY%u68fLUf;X@ya1SL-Y7Kxk?c=wFdqWwhwEYO|?WrJ?wGo4M3nXU)-@ z3rh^ZV_K_9qbu!-ceH`OCfdUSu}4FA1`vQ1C=}EYq`D)7H-cDK2go{jd`xhE;L7$O zvT$1<=!=KL7>5A1K;AKaMGyyrK%t=^0J+!SA#MhIAe%s(z_Wra`~5yX0w5AzZ?G+f z9lPpUd|p4We%K!f2C-|u&+GHHcv@S%-qyyla=WdvvBe(>0haoS2}tT~^|Us*eI7?u zwZ+QHXG6Wm9|S`sS0&+=R*$>I?e)-2T6?8gV{8qyE@G$xv3k8tE$-%KS5tGbMx_Cg zR8@F=?x0VJ>LG1!OEZVd*;HgQs=#SARl!yd?`{KufYDI6$dg?$)NJmL`|8p{b#zv8vRh10FP2Iemc;6?VHR7!jL@>vRQUwR8*?rmynT zWXBK4GIJd2;A7%819OJ2?yi7&DJu# z&SKM+6qh&CvhLRACjK`xgnHUKgI)d>kJY9v0u9Yuy{6Du>GHO^sCvEI*V7kjsBLjJ zGP39k3st#!SvRf8Ly7BwpBjV1eJu@ccSCJ$tzBm^6c(Bcnxewu!n~Y9ZEb5yq&w+! zc8w%jX<&yQl-*>~73Ag>0?QWX*}c8}-bRPBuBENj-53ZmW&)m;qk&FOq>kIHp&Zl-hMFU5UN2wyD8U-q_g@ZI8z~M+UpweQjM~b+N``tpW|Jb9w1? ze|HRiNdLqb-c1tGNRzv$nDNd@%>|(k`QbPuBC(OtSfm&I_B&nbVrzAMn?Di@#eDwG z2<{@{uxna-e082?PmR47Q(BP`a>~~)8}q+wblCqoykx~Gn9y)u7E>hx77JUoh=rl-t6);RMxuM z6Fz5S+yiYU;;Jcgc>;k3)VYxHwzQ_UroO(V&gQ7`)zhnWEspA7eWgQNXl$+bhWr%` z4b{z!rP_*mr?buLb2{oERFvA>?z%`a6iWsx9A%nPYzn0oi|}}S&2+uZY_2sJ48_^H zmS(qo4JLspdOV&Mp9ji@MXducHQ}Q`*Whch6zlzd4+1w)o12=-i;A==jaFy2>aBIH zwPi+Ir5g^6+l?tU)z_7SO_!+j7PGm`T;J4GW2tOyZE0@tHaDZ}b+usF`NesfQm;#6 zY4SIDTnH(o{KX9d)jx z&(l~{AMi&j%3Mv(rg~?Kv#vs=sdF~8LQokUjkqIC_3g=6v&9kdHgZXQ16CbugR0cq z7YhYC1K~ipt;=0n$C%dG+~SS}Vtw)C&`{Uf%?Y2+pY(XW;Y7Hq0j=n2YVwDBI@^8W zAPr7hap+EC+e@r1Bc;WxDfJf2uM$%q@S zcenUk>q@JjZ#X?oEuKV2yT6TaFcBQ8Y*r_`?BrussxFSagSDjE;fiaId$% z$scTOXm$o-!KQk5pflbI$;8{()b4S4lAhX{*0x}EowL~=4Z0f{g2ItRXC&yVZm3o3 znp(=M8(lS}jzA#VMk!IlNPEB=a90^i3iAu|4GvpPt=;AE#ru*GuQTpNSXbk1En`s3 zE9Nextg@n}u1%ccv?ZgyNFd^{6jgfNx*~Pqs?}M=wrWRnINIOU?(zkat)cEFds#`f zzuHhxP+0hy8*a*X1aOh#Z>(!-Nwhm1&YEhU*%oLkE67{3>b0+V&FZ4E_O9-shI-o0 z*HEk~XlM8lL6_U*D$g~0dm!5So11h6c@RDFO6v=9bNz{6Bbd0e!CG7z9qNsA#UkdstkpMX zsY>gu`S}I71hG~&`Bb?%mBEm^B^vZp=<`?IysDtGrChBkD0GEf!Em!SE32rXt)V{H z;%+qLasQRCx0jm=vhxbNdPY6@+1aaYO|jktcc)J72@CV`b8~a@^H<$;(@piIHux5K zIh`W|Jx+(Eu1=q`itBT7R%hM3`oPcDQQmTAjgQC>ZWgH712W04Jo8SvS&JS6y9IZZK8U zSz+?nEX8Z|;d%H6u4X^(QQ(95+|C+Db(Ib8BO0T@X0g`>PQzb_Lbi&*KJxh^PJ3(6 zU2QiTtu3y`n#ShVbE;(kgL`kO9WdIz3o+|Iw!Z1T1FBF{E9>M!7iQ{e67K7 zYh`6kolRBK;BmUDN-g;}uX&T^2S*!Q!}Upz&uMX0l4)^eBewv}?izE}YhUx)d*FXG z2ig$U%LRqnfV&)ow5tfSLcTOD&5^Nqf+uf=MuaW_?Kvhz*)ck7$xx~7o3hPx6^Ae5-f`X8^$&Nu#z;rTnm z@d{0=*HKYn3xvFFv8JYm+VFrc=YJHIm@Mxzyzr)0Z);0aeNB}kneaAI*q}SmKG0!U zV=U5}|HkmbTbkXiwN{(TQs=0(lsEWWT_Jx*Z%1u`r8Hmlpz(#fy%jd*#Zr~t!1GQ? zsiTEEgqma>A&ut!#ux8_P14ilHrSaT%r;}4udb}zX05Q4z#l67pz+0fjSaD;iqaZa zg#~_1owwdm>#Qv`))-V8bJ71YzIb1$D^S;9uP@IpF%^`xx@v2wX?4B7Ms6BDfV?i^ zDJ{}hXo?$ab#<{;Z>>>R(bVE?DJ|BhKaAXAE?kqRhfG)NZD?qAz=biFd6Cy!O0?vE zUtZ3dRk;Rdt+j!n(X29>ER{`RXR9~XYOwq*@-?f~xkdWg);f0sbVEy}+Ujp>bT$T> zt4d2L-@U8z8e9!7XGL{2buwx7Wv#xpu&2pa>8dsTjq!zha*L~)8yl**mCjwAtF|<@ zIPD(4-|cVWY3{v-7w#@7E_YOy6|TwE>NVE-R=US-udQnIR2y}+2WkIe9=8f}^L1s# zMMb7YUtJUIJe|3k=Z)f``wcI=xv(IMsFi+SL#5qV@2sliX~R&W*6Kq>OR#yV^LpX#4~qt@CQWCCpp^t8F1tsYmU&E_=LRNHM; zPS?Bi=uadT^!g&Pw&vQ}GKasjBiPVvDQ#}9bVb|$QvduN9Ua^UMLU8`b**;2Ga2Hh z(`K%LD;OW@`AhwCZxDV!U7$d&`AN5)JNrm1O+NY2Gj)%N*z|T)gv+H+;VHvivJlWqJI&?t0@Fl9%O^_-0uyfAgE)^k~;*x!j|MLMZ~w z!o|Da@|G`lUzST?dHj3sx%;t|#ry8N?@PTa=$|5A7AO4&<&*g7rmf>izAjCthuV-(d@+G%a)JcbL_yNo8n(%&nd}n;}ZtsXsJ7;Wy9! z67d9VM)*Zn@lTeBC2SlhypF5+Czs?)_|t{OMo8tq2rOP)#Gf+rPXIQT@F(GhWZ<9N zaDEAY%FI6j_*}xD1OiofOqcV&L_DEbQho(v;+o5HL7aqm!Xa`==se-eauH-We*f~6 zrezLgC{)_1-+%eiGRqMBH|H-&3})CcD%EnOl8vo{`VY4fS79 zo;LBzD7vu*tL4il{;T9yO#D~LubB9+k}sZM$J7hT1b&rVs*yJF zUsJv`@n@7@Zi?R}zbP%zv|uX#|0epkq;ZPlL+15V{nHvnrtGEL%#3pB{6)F+;?j{8 zUuOKJ+t5qWH2o#h^UB4``E^!E3R!B15GqYYX}PgNn*-czHt-5xrz=sH6dQ^y<{L|( zHK>YoRkh8g!u%4Q-EJx|m0PssR&7Cn&SK2ZR~H*|bIYpgsh0PUh| zQ+JZt2WE8U@H#=WbQC^`l1XXsERgZ6TwJQ6@5?yX#iPmf? z0`xT)9eQ(ZOB>5m%k5UP)lza(R$*bGnkAl^9F^tQ@MtAz&0SDTHz70)j+SJ(=*ZNr_x&f#91 zx$B|Rs3}pQ)}$@B>FrfjrD}Ckygd}`8w`~c=Yf3N)GCdsqRLTMU0&f}J+R7A7x1)& zyL%HVohqxuR-rC2RQv1etBsC2helsi>kqi&?ETV{&>1y3*@bFjRaGT~Ayb9TU?_7t z@kQX54I75~wWh+toB~@#ZJn*kZfkMY)HDPkWVqvr_3VT)G*o2N<>gkn${K3R?7HSa zU1dvCOJj}0)j0&znH(Ep{c^sp+S%-_H(6W!^%a4r4Jj zxGa{YaL5l@*XWPMdO}WjTaP;#*BDA{b$)+)$XjE!hkM(dfyS0(SAU?Yx}huVYTsC5 ztZDKk!a*lXpmmP!fzFynyuWnRG`iw#u9m)GoxL#_2shW3p~5Czb$3$dVwZtXmAA9A zw5BCCW^VL2YU;}@W_xL=&1`Tql>4KdzNUb$ucf*sF*05g^42;WaGUHEEj3k^%9i#- zI~=vvri8=X*gH7r4@R9ghlF4#IkcV~k=AdT7;<-S z+8Ali$}>3tbz3}s2r)i~w#r^tQPqSKi)bx2rLQV3g@%#{`tsvFDfH5C<&bv2Dm6}}dS)mB@|TK2k9 zH|U*SXEU2ht13#%td-8@nleYNwm3g)&Fbu|KwG4~)#b&pL3z2_T31<7R$5^-7lN^> zHMx2DMMFLK`xx%8ENN~i)|6M2L0VH46%?sU>zW$ME6U9S-Tq)=uoZTd#m*>XD#>15 zkh8|z67+|B-ezs7KT%QL7pf?CI?7Zzx%qi4+%MEw%#F>SMsPWOWs9$_!q-|`Us{}< zS5S~$P*PBcql1cu>PBaCwcV2hmItt}D=E&-DOTs@=H;*szgSi3sCNfErLCK`B=Pr? za8;Io_+}Sn5l_MzTH|K<&eTAf*K(wF2G>y4)BKsX$WdE3_S zoSB;HA6U13Y{SS%cXO?;s-(zJ-{1}>`+JbLuOA;D8x4;Sk8NB(xT!A~8TAxc-0ons zv3>1GynBOpbaJvY)XCOu8^+f~T0PO8+PY9*B-#~^_TVLGv!{1xv^%(V&&<%e_5H!t z_KrYHYyWtnwRiU)@_4-eqaq@%@;2?u?#HvEZ< zZR}{McD6y^?C#k*7V1xW1HMQWjDcq3vBAJy31B*@Y&FB?Thw zzW%NjU!yn3em}V9N%TZK%^m#-HX-VXxT`(EU~4kw3RHN92k?v%@x{7h&DGGrJP;bZ zz}a?_C7Fo08vNbi2u?`+iFSWuTc#w$T{YEJR@3NE&^H{9dOG?N-HEP{*Ncty zj`nu;b^F}j=9-4heK_cddK#Vem36K4HRUiI`nvIRlpN`TED?#X7sn-?oz5yI3bV#w zYVE}d6g$8~*Y?7eiw=zT^=;@2ROmFtYNNHXqN2&;Z1O~!#r;#z-4aXo46tWdq_qYP zWL1mDUDMFyt}Cx~2Jr*a(b3Whs}=7(odbz@UpUMbVUdOkYegl4Ykfo9-x==@J6+yT zJm4@E=iHpNdi9O3yBTJ}%@7l^iY;~CXh)wf;;*z9X5khiXZ0E^X7%bd+1YDW<=foB zFvL~}xfQFkak!C}m$zn3j&KXI*JKsq;2_f0+2!#@DvAs83-b_XL(0g`&B3Nh%3T2* zsd(Jsmb$tu2nn3y7DCHS0`48kYigjGh5e1LXu?<4fXjz9Sxl}K9#37h!{PF`H=D{~ z0G7E1v3));9;)38^a@4!b?J$_7}Bun~m5=l_4~y$5(yN186oo!w_==gxosz5hRVXJ?$j zWH4X^B1tHttj;+{bx=-ZP*$s3p%uE-tyUIbdz^3>?6Hjz#$+%egAqt%fx!rDq7Axl zotD%sA&I^AtatVf1?sLo@A)d7`l{-j?>+T}_)QA|7iZS2=@Ua^u~AG|$P2!K3+68H z$94^%`~<`09Sy_H#23fS^aoKUg3g;UH_UHwaNxpl>=zUmPK#I=Aqe)HGv6=NFPg4V z8+d-$D<~{zNo?4B|Jgoa3+K*ev*SSciJ~c4yhIL55gWH?;nbNR&iF5whkbLxg#0+B zOrlLpl5-Q2r8Jc|+<&1jC|3Rpf`X&t!m)*zSOXuJ$;%DNSxHIKc!4Nt{;M-WBH^M2 z+?5C#-I%FazEZVp^_peLk_3rd5$-={fq!^daA1^l_@ zWUk36ShFfSRh6O*2nmUce#I{ow2^=i@zND5mM+g(kzQ21dQF;MB}quZ=2C$(d=~im z&s`i4oSLy>dFF~-UGl1B=}C!lLwsst$Q<7}vlj(oIA5?>usUaD_S$7qb;8QD46Q_- z2$!)7=FORe5pdD0nRD4$YjW3QC2NIA8OhkLQ7Tu#ZR6~a`ICdAVnXMKDDw-lR;Oz9 z39{rgwG4YMDrNAk=o2`7QecSRyx^3IoRrj*c*+N@ktda6Q$_g6lwu5@G-dKDk?EG= zq-3L39iNbqq>Jav4XHXqMygge4s0`@If02LQ&zlAF4Vw7tyY<2&}-$!L1KToX=g#pY1ctXHkGJd^Sy-GHvqg zS#yJ4etx{q!f<$(W7(d)ls9!Un1Z03`e2HjIm3V6)K{j=@C}cFLpcT)c4jb4(k*!ES zV8MJ0?BR=M&0pv<<>hIM;W&$I2#1~N;^;^}pB5XY7Bl0*{r#}Om=wTZ@!0f;5O~~L z5*g-t?s5U#9402pH3}Yc(WG&q0$NPqyx^z^77M$$MWg;jV!9$8{UuSO75E0mMg`5E z9U2=EikBS1mato%zg#SnDs+6MF;yy5(*yly&5y#%3=8K6V>c`oy&1S%Yt+ld3Zu*@ zP)7y_p?I;e0ip1ehs_}0c)r`LgjZJsyt)doxu{Mr@&ko2aB4&>9Eh=^2>&BRZ`8`+ zqE^O`N?GhkG-ObuUpR+>_5uH++ng+vDYXXd-^pMJV(~gg_`>=AzF}e>?roNUe`1y? z_)3*nMCV9Z*zt}L9mQ7&7rzoEV~2+?t^vPEtAX!PKA$dBNIBTWE+QmaC}xMvSscru zMb)AF@U;u)qg;Vpqf^6EAiVCe#q8M7=>gb(unF>{)5|%0t;VR+Fqd#aSK&#q(`H1_ zwAnLTfh$$gcqJX0ZqO(=QJlyy8W%f?N(J0S<0qi}#VSp_lE;i!V~1EJTfoOYnKYhE z4V*Rkr9Ywk8cl*wqSa~i8ZDiUJzAAKS{zrY;0R*ozVzM;-Db5sUJifLDKe3q4Y#mz zDWA<2$Ru>ERu^n~q1&R7CnhJQCB;i6T&*!)DUvFr0+E|nzL-*sy3F2QP>8lOKtd)Fv z7#F+iYLoR+Ay1)@M1){3MD=>`!!){-<>`F9;sUS3NgB0GB<7+BbpJ>eN8bFxmD1$& z%oI6ZzL6LWa9AvX&s;7~E*8#R982f5fNQ&|L)(7O1kaq-^h zQTiYFW25$;veJ@K`;WD}d^b`P*(y(K{Y$lgr>6}c`=!d! zmk(?NbriqA&43xoAE1s>1OvA*VJJ?BD-^MX+P!C3egfe?z!u>qDGZe#THF74eE3%P z935Js!N33G%QrZ`p}&55{%&jNi1Kc0=;Qp7{sQ!E12vL-|29w~;C628bUivd|swAVx|CMl0Pa8f)Wi#T(e{}gq%=rHrVE9(|9R0thqE9RG zH`xN7o;G~!mn(EX=aujThT{+P(FX|ekg#X_!a(_`8NZK)+Q)VvrwriKj86cK5 z{Xb{&Gvnt>S`ZN%>>ndh$;B+5NUaiZW#YKV7*IQ~pT(3}i)IBfxC}hT)kyFRRG<_I z_zXUe8N6`eyoC`9rp)x86B-uCGpJ>-7Q;1`j0d+d5~V0G%n!!;$RfoSj*C5CG(sY)hcg}u5& z$l$}*MOct8eBj972#ZD+!Ks=I?!y#xrYM|`Es>(4={~-*BjE%Kezs_6069)jD1_0X zsA%S5Iy;uF^qCpP5J=b(wK!x6pC=XK*)*3akTU5}EQx>?D_$7NlE{R7F+XSlorNdk z3P~)3P2<3UkxazpE40DHtrp%q$7}KMnfY>*0!GZ@MRWaP z6iSX#2k%~tB@Bs*7D9{U#>L99n?+z0E!uyUA1xm4!&t!)aSU0qIyNkj&sNgIM819; zRGk(h7YPk&VYvT%7LS*zqQ!*4cjOz+3W18Fu#uF~q&az+@9t%&DGMf>@~p1|V@ zX<8az3@2V%qg>p2!-?j5J4DRCOm;jxcX4B43|=^P2fa^Mx(~u$oa31pBltv zF$5y5O0V*#(`0J3UM7f%=BK_xKNB(eFM_6JpEM@X&o&c`xxFP7%bTAGAXHNe8 zgvHTt5*DY>XX%wHk%Ft0M2Cd3RRRU}T$nNL*=K#i8Sps8(I&uZkf2eC6)_RQmUO z@ifPeVhF?LNCXk#!BK3HKq`@`<1-SKiAyuJ25q8}!;00i0+~D(1J1m-GLcj$6VTHW zlCn~gGzPJljs6Iulvu!Ji}*2o5pnRwQfH)Rq^6}S_2|wj=7Mm6oF@ivh$j?D5~VDb zR-e2gYiTmtAWdV`2Zhi?Lb%d`D<`p1%B4#++JwyID-&XZ7EX)8rWIj+zCrMV5)%kg z%fxZdy*y+3>=6I?3*(}uFPI)p51sMy#A!3IeGbh(ioI~&q`3>HOoCGpUzp+Pd^kRt zK`ep+exWgO@RJf9K7aQ7$^Hw1nY2Kk#j$cl@a*Y6Q+&fCV|gkRE{GpEVNnF$Y7dR3 z3D}WhnVugVG}kAL#^gxh+>OtPeqnY%I4vL~n8D=4Nz&CKUR>xRzbLkV#gfybBjR3} z786P11_VblICP$TwE(WkLgK<1yv3mbA#)~90Rt^OQoxCT7cz-hEXn7}l&rWo|G@ck z0~SpA!?V-o#lVG^Rva4*o&}6R3E@&LOqKKL%qYL$abQ3BDpYI?baW0gCM=d2lNN=Z z6deJb=LQ8&_j&mhiJlXSPKd30f`jS7(Mu!Z)p9vEjLVG?M9r8wHwpw6T3jHAWd3m> zQBnNm!JA4xcAq!s#3=*P{!POa9I_G zq1FG76a9l{j2jmuQ7lVKNizt;=Z8jzgwGA+v%+X%3EgL5=n42J8tG5U!2P~%K28M^h#Q2@WMG$<}MJ@X$lE5jsqWw zS_zviOv1h;>3V}S7QF~QD`FV)=^{E;rZDRDat=eBwp8pB3gaX<*l+%%nPlq>hE~ep zieaYK2$($WiVRM`3cXPky=dOdd11kR3*s~haXgVKDbWZ*k~*&_ou|@CmAo)8<7knu z1~Mec+IX!>mjol4kXul;G)pT$@27=EfSC|9cSfj4oeCSdAuS#rzY;82s|*?XOoNCX z3m-HK7Y6!9sSSxziQ1TEkm$44tj=F=gdjO{av6FG0{0=_<71HCrrQ!>_Otw77mMOtIBPD-2f(&Cs%4p)_Fgx^V- zUYDpzT$YuXXpl3MuD z!YrLqsTFaByoA*Br5VY3l_D`!uat_T1A-QXM=lnsqza{0&QlvR^vhRfre_*b5)_eP z*bHx0kpJB2FF*f>=f_T3Fprn0OG?Ph)Mc(pHYUjfLuSrYK$zHW`X;Qo) z-jKdL6=PavMp}BBUaMAX;2bimV9na)X_-qka-&$YY*|`@EPiQ9Y9icOYIHi0Qoq8w zDlIK*nU*hrB{ePCi0+t{VvzG`B9&IH(Cdp$t5;{}Vcg}j;xlwQJ-mGC3`(U?8mZC3 zGo-S-FndKJG7_`dhIEbG0ER}qN-AK<C=e^VqrBE7#~{LJlpKE8xp@DaNd<_*5NyiE1o|kD!B9n3|Z9n3bB5x;#a|;)$bWhInXivOy8A6VkECSFmPPTE@yG zw3u8Wb&YUrOrmr|YDaEiX*^sO_!*ZF2^LCA`*ju z0J@PXcK*xHyfAg@#0isTPVv`B(N&i&%SthDRVt75LZk6{*xB z`Lc|xv;;VzIso(%>OC5hE&J7`RZrOv+kq^nKxliSr_2Wr+q3+D~WH>trGUTszWL z>8ZlRoE1sYKCv?NcC?1ppoykOaI`9=E*)-rxp3Gjm&VSS#*nH7?_mEJtx*^gCDFyJ zr4o%E9&Y&pnMlM4SS-|PVn4+GDMmGj1{%3cDCLXPSoaG>3cipX#DMyQYyz%S1jfk) zZ0sEx$3n_n1=^4)jONLen#J#8{}fGJghI-Wiw%b#L6Am;Xhas~WezVac5%xK-DNtO zOu+&@EdpDBvf_krovRh`WdcFW;%Gk`_$^BKTLo1VPSE0_;Y(Gb6kv%f)2hN31urZI z|47K-#)86xr-IE_c+sAD6fQvTMLzHw%(NEQc7UM!1QIAhXGpJ@SMOQPU( zSw)BEW5I!O*P1fZwNcake4|4rPkd$ijJXjJk!)Rtk}WohG@?TD;!d57y`->Jt2k4qREs%MDev(3Z~vrG z3u2y~vUt)9lV|d!L3rassDsODnUqK8@QwnPD@1}2dcZ5==Ws;fAccvUx(o#)iW3_c z!EPt=+IR&kHe!+Q65Me`_$`T?9ih>LE@6a)OSoT+|Mm@)5DV0(*-EsZ0Ny;EKVZgFoeoDnJglLle!1(6XF|9&rC{9 zT^0{7qjcO@Ly1C}v>-4+m+gG{dTSgvl&MRQNSCWaD>3DjwYJf6KF<&!*n;$M;Y1asY+> zPs+-@_dh|>gZW3M$M{QL;wXRKWBj7Q{ExM3b9O~~3Ov}o6y#T~TD8M_|DS8#;=q@~ zzm)g>LEgKokoE)qWtdm`-n$PChkKohDDi)_a!~q1@G)!GuH8APe1lHdG^U`SU^ITz zn39r`eK8~RPsTjq`j2rsorhS1^7Q_(skf=A=_uFx(4hFH-gWEN9p?`^=KW(+?`yBU zc0%BNXi$7p?;CHtenL3tnD>uOy?=V+4R4%uz$VWbZh5ctDSnbSf9Unsz4IsgH(eXV zFM4gmdhhb*2MyVOY5lr&$9SF$vHjFw{@c2Bt={c}-qkcH{nnOdFPx%h4dOqwG&ddP z45Ux^Q-k?c%}tF*JUFr+Qh(1g$)~Zu#TFRh3HLxze?IPc7Cn4yAgia5zq=Or>+uWv z_up}EyhA=oV|vo>d-1u?2nieEko`;gaEhBmT?Xn*FL|U$Hq}8s#KA}(!^nf<2rQIa zsB^Xu2Mp9%gK!u=34f_?0~N}iIS7a0le~i6hf~o3ynp{4uuhQ2W_Sf2?Oa5gONi&A0J-lJx52#xbN`K&;OTApIin6(ievJKSqj!p4V>+AFh7n!jo=5 z!f-gm2fE>KIPB=?A~ z)9`oG0z@4~3x78a@wB2|E#T=9UI)FRPx1a1@M;uKbX5OOIIV9QB58Ppykq^T|HtE= zoQ98im&z0Ooa;H}9s3){|AyM%yVX4LU#|TO$*b^MGMFd=wOYX8iv(hxL?n>OlxeFo zwNbvall6&75*mxf5E->`e3@LqXM_GDNlM7bHnQNSOCZ*XSsXeG)EKUq$LI25*f3Pc z(y}rV1$-JijstQFS1e|-czh6W*i2@$NF~)6Gm{kpo+LJk!QtSgO%a>P7OBPY+L#Eg zAYQMH*QDr$JieGIl5-g#}FXC`GAJj}Tyrt(3JEDvwvfw+ zfIAdCLTAfhABYu21*B%J&M!*{mBwq8B0k-ZIBtrH4UdW8viTggHhQ{o^=fl@QXo&J z62-;@%?*f*jDG&Wcv9TAH9yW~C%*lML}vA;TCN zNO^Gk<1^3v{&&wr>I!p~X9?tKI)lytYnF_!7X*xjr?cO~^V}c)*R#P1McK=fx$zo} zE=|P&JI!cN%zti5fbWaM=icxC$4phh@(cq^F7au}JUTZaB|*)f`|?YZXU=~4x!?bP z|MR!cEAq2oKG$Iv1=yygsm6GjFmU|y&y1ZmYdZW){r6|$mn9@BBsyJ6Je?s>lfKVc zGVa-b`@_VE6J8!Se!?_WrdGq38xtgPfn1q34eSwa+{EYL>|*lN3F9YB_Ejv^OYugw z6uT=a6d9RHCXX}sg+Kn=Gta*=^OcF?CXb8E)GO2q6^p^;CmK?-V&Oz#@*iHpHfa;4 zPZ$e-eBqfoIZvZt@^!tB(@%eG^U^ivj)ENP)WP?s7lSq_eb#l5MhDQN7cEpIN#Y{} z+L+Kqb0gwr&4t4uxt8(jtVnh2VwP4C9wkeaF+^f*Oc?Ri@+vJ8J{rM@S-Bj$B&09T zREoqB9z(^K3ghTOGee`8?1&)WdF-mDB(@TyK3;V6l7(~U#qm>xGhd!KdD^UiFrS&z zUJ1`jOIWEF%OvyYp;KnZ$W?;qDKASCdD1|UGI;hJ-)Oa#FJW?deE$%i1uT^`dfM~9 zTkx98v_cv;e{P_kZ!FwOvSVTyoEZy(IdmA-!)CqUYuntEDoWEa^$fUP3XBS;N3+;J zrO!W=@w7k&rYD_I!sPLI3`xAfpiyV!WMyWF`38d`mc?U%iIS+`V>>cNEL*Ej&rpa` z5)xC>GqI6~0(M=RR+p&ba0N{4s-RCv$V?K*_(4*blhgDmP*;-#F}$g@H5>Yz2IlNXrX|V#EbT#&Tux zi9#Bi1^%bNCy2(T^LZ)-CsiC6UBu$Zq(RtRL&z7&<6?34oJgKr7AIV>YMClvrX)`w zNY6-?3*bQ&gzSL8Ia5PK3ayMApQ5B=O`?L18Zxn=3^O2{i@l%%BIqKKLMax23Z1NF z358$;O9f0$tnd7=5I!rG#Z^f7Jh5CU5hg9i`ijAniP+#i(PvMbwm_`paKWh*3V1B8 zNUSz!4QgJbgePLfa6)_nXlyMXtX=Fz#Rf}RBu`D1W77;!lEFI(4P(Ks&0(_HbnyEW zT0TcChuc?Cq#rih;B&de?kzHeMPn_M^;L7LG?6H=vEgmcsqjz})z(U}6Z_)YLrIAX0x zL=OxP=8|2mv?_T#UQ*!4Mf1Sv+wkJm8kR&&1Nm)^Pw0{mo`NaE>Yf(E!y5*Ay{Z8? zJ1Q?(1JuV9w(9!5y*-bD})NLJL_M#YD*CNMMs4$ULs*}1#A|VBZ`aUON7RF zrkEbn0DO%oYRSSyJSm|pf^W!?i$dsl7hy>lH+cT*FI=rw<6VMi?BFL=;Kc&Ik|Sm_ z!ug5V-%7%xzXqHu{+*Qn{&x?G1x&u-hK!Cp6Y7bL2rK4VVvSA1o&6rS9$nX6#ruoKLq?7FaKMV ztQSKG@|9KI{=W$S!^?*h!7C1ow*M31hsAgbgxKKnRaz^)8jKI-*Hl=oUwQVwA=~eG z(Qi~Bu{^ykHX|DfOTHvSj`KL0T78w0H zKh7^0eE!eJJ(@mzY;b-)jkKc&w)>u zx4yY>ZnRWye6()V=daz(rE5l$zg)ihkE7zNCe@FIUzAV1F&chlhU@HT_{B*#za9<0 zH1Xb(@ROs-cTK!IDt`6}_?3xwPmGp+_Y?4oPr#A?sOh8pqvB7JzcBIc@zKhE?#cME zQROGx9To3-0)BeJ-J_$We`>`b!S(|?cJDjz)vlfU_U+rf^UE!pKmPE;4|9_z zO@iMo5NHs_lkl=Tz-8LFabw3$n(DfD?`~hX(;sdRg!&t2zyA8Mvxgv5bay|F%nyFG zZ_n;sJ9qBfwQDyO5Z~b?eqjGzz&m#Az$rL~pxd`osgtrFIs|;r08Y*UOmHlWD7>Ad zPcrz>X|1elX=$jo+TR?&(J%*4@V$GRtZ(l*-F^MWjqBZ~_il8HleRf@h&0-pwyj;a z9+Fx25&j;2Po<7abA+65u-*RNnY+C|KDdAX{=Iwnc<>|19D!=vLwl-sfBWeEoq>ys z2!*=w!+UIp?)-53yITl1selL(?z{4bZHMpPx!H5$#*J?W!VNFDX3zKEpELgE|DnQf zl22d#27$;@{pRrdA6)wo(7KmNmiQ=aR-a^;E}M#pHkcYSx|()fS+ zwY$gv!>@jQ;(Yhz%cvLvy3Om`ZgihN_uGFQ^X2aS=mKMY^_%vy-QAZ7M)fLN=e2X4 zoxlC3F}sePK69oM_yK}bD4OQ;cdwj3({cK@|1f6X>C4^S-DCdY*X@T<_(Of-Eqkw= zIdzKQ`_G_USI7M7e;nM=xp)5|cWAery43OYsWZR*)tIk3uYB{(wUjaHV+XhG+JEpM zIpN>|$Jq-Vr#d=+{i`tt&H}#Peda{xr8CD*kBoGx^-Jynd9IwYWO=uI^7Yd1^QpL^DkeZxTxv2 zZIup6iK!mfkDvXrw(hepsMg-LwZw6h>TWpWa1Rx_dhd7srDEe&(jH%Yu_d?VC?$;y zddL{j+k5B!qn^F?*FGo3*xL4C2Kp=2Wr0&?-1_eJgL{YTT0YxK)xv2zOlnQi@9iS; zH*WOYx_$q!v*nYvEuVk>`R2?&lm3ho`fwN&uYdd9oxSDj|MJuF-gEi#rHhv?U%A!QQvNo~$RB;0(}W8^;l1r> z)=QTzoN{_QOT^G*1omK}G{UB%mR}_Ba z2)X{-F7DoY{Oe;!PMkdcaboSe@4Wkd-hOl<$W!pKQ`>eOI(_n$%;fAK}n z5J1Jq&@f2ZAOG<^>AF-P%HF3}P_-}nlyOHtymf0IPEPuATR*&m>ic~OZ2iLB&!MOU zr_`}OeMplO5GXy~PEE4VPxmqM>4r((M3;BEr|8{Ok=!Ri%c(&CDev61+daqcrN*Sb z4>Ahv+P#ZR|G0wf?WCbeZyyN#xNDFDa&mHW^GL|;mvxI$pNA=N zENf0;;Y7`kg?CLsu_G~A?35Q4-w8=eq+p&{}+7GsEeE;m(LvFmMXJc1WUl~rE zY&&?k9eVfarlu}8j$vkFdsAN_Pn>A)>bbFTS}7U5}e9|;9Z@kI?lA6?K%s5BebNg%}P{(Isut)+-N=3aiXp3B=9q+d|TT_ zE5^!!Q%-z+@>IueQbXV=DcKOnCW{PeJSC}|IQezQ_MUb$U)PzQo@`{%hr7=}D|a04 zIY<)dI^EM_g_;iF)EUQ5oa$-cLoQI~>GpOy@D!3dE-U$mavVQ<^y|}|IHB{j)rww` zLU3xCf)8@S3F-=Wc6N5S*FO~MUa63Q{n+u7XrVKmoo7x_^>)MV1jx+Lho1pXbev2_ z)Or{rBc>KIejYl4)Fzw>CGpY8?%AHTD_=n;pCuTaBx}xqte{H>LCa z;{ja$QQ>=c=+}I*_9KB>{^6qsN=nVyWF90F8JPt(fA;C8pL~MR{G*RPB1+u9C?L4! z1UF9RSt{(_eI_4dm9cYYUlLokAPJQ5WA~i^buU1c{$w@qB{kEbA}GZted}Me zCawf^4Y8VY-)4}xd|z&EP7aiv3W(+8;Bu4Ez`Y1qy&7`(M`(+eY)cmxtF4{qOSSj!xY}(J^?sjBu0ut0+tCxsKbp@;$NfJo$Q0j+V>2BaYA46 zr#g-uK71U?f`I;Xgy5$T$O(v@>^QM~^Oi5#(Z`N|LG`yYfWO9oge*|F6CHa$-nMn~ zr|4jZw~)FVCPg|4g*w$i%6|Ol_Kyx8-u20*eP8YSf~=emoj&y*2`7;UDf`jwpI{8! zxB1Y4-CKYj0)8Lx{SzlC_}Jk+A7Sxu_|$>jTepzG@?gi;C+@#@pXe;4j~)GL_g}s` zc<_rYTR#2tQvx6CIC=c|eWEd>+0Y_8wrnS>i@ssEz5Ucla+o^d_%XEot}i|#DuZ*} zU#E!Jk;6y;-&lRMw{7`yKQ(hw_<^ra0LF3&N=xps4j$OIWy@|#;oLfhDw8Wpw3fi_ zxWU}D2N$+KoTO4km5v~Fh<}9+N7jGjKM5zuk`F5;oPd=T5#LKrpaSWeC#XW9Mx?bM zPVQa3;C;9$CF|=wd-w0hQh3PyC3Mf_tZ_J|-Bt<4oC|jkeW72^2Y>gY zW5!_o9tbxEf(PHU>Cb=09R^03_uhN&-FM%8=N+s;-txvN^n>@`e{bVPH~iLH-Z&)< z^u71oFwi&O^pZ#N?!+NZ(ti8RH~;jfA^7_wbt?0>iL^KV(I(_iWxkP;2K?rq-tfr( z<)cj~0ZLDDN6FuU^c!Bd`{o6s&-U$GKX{u+zkw~OJo2koW7&^QyjHBxWwmVo0MdVY z{dF%KBMbG=V8@QlZ|ADs{sgIG%PEiiL24`^H$i)M?|d)5>QhK>*x72I20f8hiJWF>udk@{Mm|%PKEegvo_vL}JueF;Dxt)261TT{|{ay#Ebq%$(4reW9@j82> z6H~gw=B#m5Ii1#8JI=*%r^D%Ls&hE%)-^W#*RA=}l0R*Mr!C;Bb5_(i>RdK^wWFrG zvcgqcUsqq(Sl6^}U0q9KV{^T$!Cqspt*NqDHD+Su6CGFsL5gC8&&zVGGR`=5aC8x3!N`Sz3WJ)_C*9ryjH_^xr^ z?;cHl$GGozjfU?W_x;Y%@I6n!w?6^@^2zv)(emFu?z>U(FUNlO<*4#cz_rY5ZZ8}QduUt8yFa=2>iHUV#Ks(01bHMklY8ft*M$ojzL!m0t*eWd?6 z9$yfH!2WlR?$~qSXvf(u7)M|`x_a~Kx$c|SE`CFvUtGM>-Tl_7U7!ziUizka)~mA_ z>u%a-)!c0Hb=<=9hl_OrK7VQFzON2{efH|DX(rd}pE9nzYMyw_XWGPTz`OY{wYHr( zgyb)LdwW_zA%jtJuJYA_3)K^|FW}h*g?Ao2b>R5v%RRTpE@K?;=(=+A>V*(^6%~0asAZU%hzxH>6$OE>P{yZs%k zBmH>q-NWs@cW>YR{uXR1w{PEl@bJ;YA7LFCz#rW?zV%V>4?q0)@Zlq{cOD`92rK9S z-uvio=f|hO>Y-rjgoj^l-*M4hK2piv2bXt#c=SFMr9OUyCDt47efVAHwzogr{q@DG zS1)z!`=E9x-rM`bt@G`lZ=@!d4exB;wr%@Gt|vVz_V8ZMl?$+0pS{q1118nSaPQNf zgu|XYsyy%uL-Y4eA9m$Y@iyQbZ-F84wzjQLz}wDqdVlD-bbk1-r49JKYdv@F4Ij2_ z0sd{z0EO=EkU((uxx066cf%SuO!$1umUHa$cW+-lb9dMbKL4EH_ih8eJzThPsiX7! z*{_d$wfo2?hMKqEdixziaap;wvZ~rkw@uhD)d-_=WzT=;m+rY*4$8^8CBrw8Btak}rE zLuXERURl54EX8ZE0_V9=EZrvjK^=RgdS6)p%(Dh)eb^A@X*u(qhDb=IkM_rvACyso5`?TeQi$A)P z{P7;}hyCHZo8MmPzH_1U^;7rya{TeGH~!;;d-oolDP4Euc7LIM0RHetukh$g%j-wJ z>xX*>}C|^k_8v-nH)@5_P>pg~zr2@|}nG-5B{CD98wrfr5+>8Ajy?9U39o zfy2Y;y!SDp;|R9C0Czr6e3<|701?ZCS_jec{?OeQ@SAWmuU)(L%~c@@0tD)VM4@f&;Dr18#0M18c%=`g zP6F;e@Bt+W`Q!JGr5SY@e!PvtT~K}X0clR$Au-bnt5WH_C)Z1&ZT!H!$#T^I)ztdmA2T*ypdb;OZ zeE#5#6D=PGzuhlS!24ui7!arA2k?7P>3fZozV~;#2fgPnf8Q@pRQ~<ROJ4n%a;bqKa9%U{qg&bTmAJL2LJxv zkKc9l_v`*f8R>hVej`M@RKAb1?Ti4vBz+C`XrkX@oz0ea%3Fk`_@7R*5T4e z{zMk#J2f0mlJyQl%jb=e_}>oRujhlmJ>~P#Pp_y4A71S}xR?HWMLoDzqFzxC?ydix zxCgh}%BrhsZPiuP)=EPAb=J8Yw%P_*5M6b!EY#LJtL$Y}wyH{NDGZEwRiMcMYA|6D z0Ivgypr)d#qN1#(qO79KRs}L)z0Kxu*5gT|!vQjav!u*gUQ%MMsIZh&SF}@a(GTL5(z4R>lHwApqp_}`rKPzM&rO}U2eOx!mXwy8 zun?*!u~sa4jJvNFh3n5`97b6%0Ts;1FV2dfK+)Q(ykgzzi{ z<*Tl!v{hLxWtDcP(}jn$csOgf*Ho7m6_=G^$yH&iv{qWJmDROQJgp@UXq~lH73J2_ zLQ`pFWo3C;RTZ+SwAI!%HMTV43@|tDH95v`MwN3SPO%2ZK8mFtW3Jp?*D^`KM4V{%XyQ8MwSyNl-R#9Gs6Kbk~*VWh5HZ(Lf z*V!C3IMrz{C@QPARhCsdUG=V-3R``nqrSOeU2`jLuw4$94eeM|YALqZoOndnM=x% z5f}nc%+?0zXd}t4)=q8^%z38#{Gwu0xea6jXnk!%lcN#Eu{+S6N=u50f#(($no7zm ztEy}m2^t%mwe^jzx(1X2Dp-`Aos(xWl~vk6NwT4@I$X_8RMBNCHdNXGdsP+QL_me=YwULPAhRhqFTb$3qND<2Och!l%IU1BscW!RS68B|SW1fW zi;65I70AA(7K0ekBB$K}HG*bUTFc7w3(O^D#prIRA_x)WLOQA|s-bn2@Ij0Yj}ZW^ zP-;Q{v_WC)C_-6DB?c99X}J}>whRR=Ei;uM87mnPt87r5(jtqw$ZV>tG!6GnuW`6{W?{kTSqU7App+qRJ|gIMOS`V1)i_Dk?M=mlm5%g&6-T%gxp*41(q8 zxW#4wg}J8Ud{aS5fe8bI1!HVwQK_}WQdU$1)hRF`E3>)8guY=ZtFEjnud-K`p&5~0 zenD|@p{cmI7^j$u%j#+>Ds1TLRW;C?qJm;eaZzD`*<>oj|00vQxU8}UPkYgd4pgwT zsJJM9bv8~YD8P_eRFq#_ZF5?ofK^ru;phcL1$jAng$4Qf1w|-CadDXyO=H6eCUwJ;ZB8KYkbsc$K|bA`o3<}O?>40ssViV-oP zZIMG+8Rpd@YiU7oDF)mkOF0>|Q3w<1XeGtC*>+%{#MQ=NZNXB_?w|E=yjn8AGeN6!VSMT4sjoz{Rx*Eom`Z(Cp}LMTJGAhm{ngvso;8 zxwu+IW|XlUr<%+~`Dj^mBIqpIs@R2rp|PQ*^^G?+y#Css*0r{-U;hRsidGC!t*s69 zO_&1lazK536KDmkuf6_yW6Os1EpS@=8hK|3s{vOH*hiS{YMb%)VAHymhQ{WWmi6me z*1gsO9zsJCIER=lT@GhcGZ+U=O&FnGZ(WBZUToXX^7_{rF??51;tmW7U`y52HLWKTd~@UL z>soL(WX9YI2%`}hZ!j-odC}a^RFBDST}z{@rL@dm<+NL|B*Hv|rHd2uLp_FZG+|3C zHa|uWx7r-lc+C<_P0T}15He6@)RGjSvA(nv8dOc;STSIJ!+?xRBKd|E?7duHTx_i@ zud-pPB&#!w^EGxCjJYmXGa3RXloVL3#n!5_3Mi5t<)dEbsB5exQ$bTxLql<)#cIaL zfe{3gT#X%zvsxz>AYh5sH`Y1pN-#cR0B~BZm?tr`V`OwX?U;+PdTT^Bn4T+e3Wjv| zqv0CNd)U*MjNBMvYhBRW3QQ!GIEGoZ3d=LhsA#TQ%ve~S)nfHf?Z8_ls3f*3uE3;& zVpdx1m`0F9Z7l{B%oac}j@#^*pfR>PY$&MWAR7x>^VB*KR6r(<>S3~9wjPEt%qTr!dHLeia z#f}!lt1yrOj#Q8xL@;<-t>Dg8piWpwVB)VvUqBhE$*5? z3XB#NXxb`UbuH>xjluvV2D-`$J4RV7Td_pL8Fm|1ei(|eBt)0Oq6Ram*;H0yF1MCd zms_yPbl5RJmXoDrB^lUo(VGcj82z3s@6a(38qhBqNH47W0Q`VPbOY#0V`FP8-VR3B zuLF*QSbsP^eCgI^aE*xCVyz9TkqZ&@EUbRf$(>H{6E?R(T^q4_gL30AVJPE2R+?yK z2k_6Ku2_`dERrlF(JdS5$=!w1?gW3~bEFH6ZG|c~VyFPs0m~jF0C77d4>d!nTGp>` zLF$ku7nsl-u=aA2@s3u!Rik6=ZHrXgGm#PHWxTld~rv>zGM8lWo> zK<>C}LPq$HE?D;=aEx~dSlywwlZ8D>RtJhk18IT}fTK{TITrrlYoNmuak7@K#f7N- z^VnNk$ZC_U86k}{@qwiA3GJ2kydork-mrovnuq2m`EPO6)u8MxSa?^u z9QCy|u2x85xW)|u$$tw9i_>v0gasSc#dg9ohvML$vt}c3+#$MZYi!6Ha{$)ZP<$vD z*3clNz6G4{OdyNlpaBCUMpCE-6vclAEs4gRlTjQ*P?h(8W2W?o`Lwk`Y6x{*Efa;OE1}c3N8DkDnWdf5Ea6TCj zY*p_-9-|SJ8D64;cf$~L<~|kGSraa@ZGVu+MxE(SfX%P zdRF3=1*_#s3_%!dN&Z`qm(x*!g-S(5Iqth~6iXeV=*SJ_Z-d_B4$O|g>&H*Dy~PyIan z*4KA$4IBE>ecz->AUN9=lY>h@w+3Y-`75);+*rN%X7}( z8&RIr|7YP_{$29l9=<)Wr_rED8@Bl1oWDOJz6Jc9(Q%Uh$nvE9M#DFw{}BAh2<00_ zmcTmwS7+AOCjn3Ab)t#Ovo&*wcID%bwk*@k07(gbO`4 z-2+0$Wqe=28STAa9=^4!y`$qiG`aKiwVpow7MKV-`koNq`}W$^6I%&S;dJ*6g5SK^ zaSKF+UA=dY;|=ta#||Ajbj*!kzV03nI&Oi>aIkI5*1piTbvKdk7=(Xw6#={lg1AE; z-qQp5tNpMye(9QfKsbGq$RZ39@9uEp*RS{E6w9JN_3rLd=dZX21UG)=3Z5{Z!=4@B z)pedZ-QE4Q2d5;j^id@!gXZa@=LhgJH@$HRe$;X1!0~?hGd=E{A>X%c!=pzXH;(V> z?92bmO?RQF^eOR&4?FJloZEWt8>)b3dffQA-d=Zu_B?!e>gfJ2w{GpGP8h)5S-TCU zKZ4=3^}KtF!=(W9Q5_}6ozkNvdOT|zIskBrf0QyqeLJ$lsl{`t3LgE6E(SibWS z$(oXNn^gPo&c5;k_m=8JsE>RY^K6&Ks7Vnq84i*jx19%^Nzc2m%;i&WIft~$*-2F}R zAEfNV{1{Q2eW z-8w$-d7*2g^{w_R$E*WK21mNCp0!?Xzx-v&;KKvIx-K8fzP@Xte9^#>!I7gIt*YzC zbh^!h4-fo0<{A+iIOp#+LhYo~esWO#`?ZUFcace`t?97$G4D9Fp;=qIb)*vr-m}r& zGpM1%TNv>+l70`xV(n==Hw1L!*e%J8_iQ}#*a?tF;-r+=du(G9g?p&}Lk?sS?dE_2or2Bx8aF62NqSp8$-3O5K2sRo{?g5702Y58~Cbh;V_W{`UWFQQS z_ss+3%Nr;60OW6n7v8VO;^ZEH{Ed`8 zxd$MBBjG%sbwnzxOfkIJpNHdLQ7e|DL#q zA3*f>@$lEfz4hM{_oVMR<{kU@<6cea74^t_sj^q}Dc;`#UX9`v?MKIq@jB=geTw(D zfLEh#ryN*TZ3`goy$VNo(uyB)b9pfV$cyVhM6NU|lH6vzX16 zvT{5ft*LEmu&xQ59DKmKVukSnrVk5DQ}`}3V{?LJlQ99eTNO!d`l%BnOZ^1A$F@;*kWF`#ZggcEpH$s0`Mj9 zd>aqZ@$|hJW<)$5hK;7Gq69<%SY+zJT0z3Z41fy2Vv0w^$dV!+;Q25frB~Tq>+k|L zI2?7AC^~jya5z9BC^wm5-h!>i<{+dbTmWK0Dl4n8m(@7& z`npnzMFn$`8PT^}y=#bu?HcqZ?tZE682qz;*u zfd~O!KsAh7CHZCx9&Ov~4KRDvH?%g@B1KQ zCFaUfQ)#ZnRA4DBD6D|(9FMK5DnYDj!Nd5<@=`ooHd_jFL2Jk_%CD*{1vvrF#hrNY z59=LlPq5;fKm&k{9;RtLCr1;Mfe->)aXlWn z)YR9ZcUa3%02A!=FyaxLA1YB+MY3M(oM1u%Tn!dO~f zLah6s3KSK9e+90HjXaWv2^7{_7tEv8m0+V)Ks|~JL5`@X1hD~nh=xShBKBKYqVR+t z*WOeN%LD8Upss*BN9=_Tkf>ndgk7;5jDliwIiNC>w-_c$L~PjN6TQd*$`05fMMdVk zyftg`^KuIb8w8ijR8U+1wm>0Tx7dtJ4SG^ec3welkqIn=;sRVTT$TdReZUq1j{=;C z!t6D9xw)W<6cuI{=I4NSLHG%1{&EW#9H>EVc6MG4cDpSoC@Rd&DZrU|`AEE|xUj$i zN?u`J?pnepDa_By%g<3bY*fC>T z6{1~=3UUDFtXi9spR=YQH{VofL9>y8wY03vjA9lPtj)>EUXx=g%vni@Gi#9{;b@@! z%!Q~*E?Oifwo7_Lf~o?nzGR}*gzDQC%)FE78aCCCA zbJyk-=B&=iK`Z5~21TT(u&mGm0!{%mxQMVr3UNZ-+8h)uA5DnXMEy{}LJKN^>ylfL zXUWG0SUcnz6cP!@=A(W{z*Mj%zpykn*IY<0VKJ(MQWWHwiwnxiK>`F-rx^4W((EWT z%4N#UHK8-0gMb%_%M6YZ{ukwfn1rhWZp_+jM8K#4&k0=`S3bKCoF5QXa1}A$phFav zlozeV5feBxRgmbkUcBi1Jg0^yQ z|L#3oCwA|ErNTf!a|usOc%Lv-VS!HU+`n^T6si-q642-9;`Wi~PCnpJ2=cjiKTR*X z@0LDr7X)0+-VLG(kcyg&;oBgJ!tjGY2!{-Ol$#Zp%zNmg1#sQH4;Q7YhGjymL!%Hi zC!lO7uq@Tzw{rqLC`kGOxl-uFQg4P6sXx{e0y2Lhh7c#bR5%y{(_*OI`^gtOKm~)_ zw^Ig%oqPA~BI&-nxdvcY;Vsks3tyKU7)}6^x#ii7{ehj~wK4wV28_o=PPq}a(IxE3tB~*aOvQKnx;dE;XFsrT|oa*DNb^4-R<; z4T_&Z=fr?wnf=@ZfYtA#mtrg*7Y+~Y2jPaHn+6i<4L2Qo#aR%b8f-pNDsBxOnBd?) z4kgST?6iOXZrFz6Hn=_UK@Djx@wL5s?nD86QY?(C!5xtMYVu=rltvd`fKa7rLWQi( z9XFML3W*#7>pln)(2BUl63AZ~5s$=4C$@_mdK-FDU!e_PcxesJ<1~;h;TJr%j~nQ{ zkkHA0*WLRl1Kp*e=>c|sG5qXf6ih4=&{PSh;ub?fR9ty{;tSztAEm-@)AvA^pf{n# zm@6O+f>JIj+BDeNa*d^FV4JsC;j&h(jS1ADUL1;fXWh+1S%f2mGMpFQf2xX=@Gb+vT<2# zPoF)pw$@LK?F8PjEG;@)rU&akO(<2rZJfcPGr z2R4PgOx7|aZX3Hp8dHfZQtrB%IW^-G)9R@AGEBAWNJS6w8P+%ZOPu#Kd&IwqxG@K0FWU|Y1 z=IiuWmu ztuwyc6Wslc%ZUTu``!!wZG#MIOi4}a%7 z&-;^;{XE=UdM$AwNDY@^63ZX#7k6<+uEYrjC!ZaQbup z)-}ri9IZLLK{!eG00$1_3v7q{q z*g*0Jzj9pI)MT zSn?u&p(p4Nf&d2d7={D{oDyOC%x=+rGOCO*d%a_FS)YN^) z`F!F&_T)%5<@+HeB}tx;<8e9XD}U&a9Lkw-(jR(aPA)_P*?;H>iky?r>Y!Xblb>iN za`HzD(bOk@MT!5V4}UTLZk{{mvwcf8pX0^5%9}E`;u1TDA0CMIT0Bs3rT<96HAwHQMnTF z7p8yhw@p%R7&z(E=*H7&n`Uq7oYJT_1?3- zf#Z)K@V_FLUS@XlSN`)adfVQg{K%WWXTAG#_4B<~_l4XP$iEi4&jkC;yij`P89%pSsJR{Kw}{Dch^x ze86x12j6^6wwM2%X_fxcAAB1|^y?>|JMiU4{mXwZ*}wMF`wt!WEC2C%ta9Sn`@VAg z*-!h+|MByjef&$G`}ygEe(U!$ANzVOeOCDmAio2C@wV5#{^Y-U$Geh+KlzhB>+ku7 zr~C#`{=CckEx0S6lmG5Dh2pDx_)C9Ip{vh)_?7#f^x2o+0E>SIcx(EG@*7~O-vM%+ z$o{)>Z=}De{03P3JHQ(qzI*Q;zrZ(F@4h$xxj0|=?Uj4m_tab7eXrb`=ZSOPeXrc> zpRd2^-S^79dHT=a+dij%@7?#Nzvnw|{^oOsWyRhz=jUww#&^8(Po8+jPk`q0pItx z-Sy~~4?HJJHNO7ZS@~pp#&voBzB`fA3@8-+SfW z^>xm^FB`jqdUH@)v!@BW`JpYzFu-`?~* zC{~_23WPJkJV_>D-px`FJcESXF#^ubGhcb2$m38LBg`IWayF}RK#mZ|Q83&cf^hJ- zoketZF+me11y3m_fI8(e7Lgfe1~RKu?1C`?48V#iJd5VxI1eOQ?_i8oEP!&h@w8G9 zGLWBt-n)yZ%&c<(5DqPY>wrXgv<*(PljrCAKPeA)fopkyJ2EghvK?%G1QwA%4nRAy zR1o@ZA7upv)@T?Rq=>EC0DweEdCWNpkzS!t*{A32LV@s#(3uI8Dq;LjLc7T#g?4oug z7bs!dcHU3eKQK5tI0}YLQdZ|cPJTe%=(2tLKwsa`aNo!P43FVa!Pfyiaz1Z8=m?(U9$5O;V6Jdwwvgp2`q1NZ>_`0E=O=o}pE8y_fkp=zG5$3~5DJC!~eQ0>@&<7+?cnJ#fIb@%}NE#)0`lTlNcV zFTAKRZ~)K)iOrq8gJ?^0;p#&pgahp_QHRUmMI&JTxQUnydJc>Tj530!Dlx)RG596Q z!dw`_GqwpQU~D_yB=n3?=mis?`zQeu(ybMrgiVRW4L#C`w)x%Ab{&g1W9ix zKnlxK0g3MIqef6t#1~lS2et(YO9RQeihIGLhQW$(R52ak(r&s2>G=dRr-4KUb!I|{ zFA`I90B8q11-?WAX#^q*Z>5DLCBPEVE#wfiMKA(ggcNuUr9#T$gQh|*6doxRj*n%F`1D2AsC3kZgU;I^Q$bY442 zMCpX=Fg1a|qQJe5lfq;|VQ4Yig$1w^Bu|#T*}Y59Cz?c9QUb{VwhBfH zjHSq-wUG@Lm!f1nAfQvg>pK9K6WdXT%gtk4}Dk2ebf4E5cmZ1`UQdqX}fJ6qH(=64rLm82?|jJ zOB1JKjH+lYAR|CH%HM@?g>NF{J$m8M{k!kE>yAC}esFFU5fZ9`&{Oy?ycGs@)>NVD zGB64;U?=Sa8wNmDXrE+00rQc?Tke#`lTElNqy(yFaS^EWuYg6U=O_va+oKyj;uY!JrVIq4<#2`b664?Z(u$hCQKnj*f6!1KVw= zpZl<(z7g&f85Xv4Ck4k41sQFJ7VF2DvThru*SG6y~b*ry^zqA5}(k z$ez5+o%kNc65}#%HHL~ma|+aQKz&>FxRJ7gs;xh0_VA%>m4zJcDZUSZEM zU<}bJXbX7}!$C&nE%AN*L&6zlO*hQPAT>HLK(=sc`-dgxzJ6|&`Wc#NKkhunw=w#U zj`4DN5>m&3fwqqB-Y$k>?1t9TRs;RyLBd|BvI7G>eS^I{gL_H8iB6{!**QMoIQi*2xK4;C^kr0)9OP#Jfg*RpU5=CY(#`DKv2`!E z5JDIw>gXCJ3B$C=KPh+Q^zo9r=uS7YmnDy6v9yV8BIjEANjOKMvV=7>Xu1aa-EG@C z?I-UcBZ+wi473)a7+3J?NBY$5?Z{(4AulIW;0#{;IDx9Yb!(^X#GQi# z2X|$|a`&Q)sr;DYkk}pUrTjaG2PB#qDI`p2fpOwXh}gpegFQ{i$3}$l%AF}U@UVC3 zaAE8YZG$R2(BEh~aR-h>@C^)g^C@?5J0^%hxv_xp-Do{=M;{J1ILuu<{9x{^`MpQi z$L;j+;J{$B^~9Y6{XOE+aCT)V=SGh3=02TMJp-*udIEWDkVOZF2}SvJAp~R+_x4Nr zJBT8FztH0l@^o2rdGwH@L%joCy?yn_dx;|CeFKBU6QReQ6k?%ccXu}^<@a?Fi@p5L zp`+U&*}(7Z@8o}Ht>oWJl=nj(rxfxh#P~njN9wK~^1rjMua}yVKT$UzYQl^f9_<_G z?&|6${hi%CgFSuygZ)F?<@a+SB<|sX-tPY1Zjs;B+e=vY_xJYoDdcmyJhX$O-rv*N zU4y(E!a9Zb^!Io7_R%my{LJa?@9XXA?&+lvS?E8b@=Z@tAjyT4f< zK+dd`UnBqhGjDjG^!V;E9R~R{a_`eO-#upY{Q9<+rq3T)B0Y0`ME>@XH+>$j`0O$n z=-0Q3{M^~253<$6q-+pZ_bYN_F@qUKj+Jb_A8A z2>zyCR`g>B?%bSw)~p8(D?6eM8@$a0@|PtG+2-W?X5_CPoq4*q_*2r~_##urUpwk| zQ{+eg>%Vy8g0eow;tyDvhi^Rg{O^}~BZDG;`N-tY|Hc2tkF3M%PP}sL=n?-Lw9~`u zPQ5O#sqnig=^t8pAD7;Mz@PjW; z9e$j>14^{bo}G<4j*jraTWarpt_eYO`+#$Xxx zeY%cUL_X6C$c6mzInx)&?$qJKg!4= zndt>)@_(GZMkz(IKYQS1Nj%#ND3MHI$}PZL4u9SE;&@+t>=WvKcNfR|;^W2sw)of^ z>Hhb;k?w!bC)EA!{=XCdi!J--9s9;KA)oor z*=Jc!xoiFsxlg=5`zrY_{vF^G^soI%ZsHgH4)Bfl*?WB7Q}gdp zTgn^#N4@u~|ETw#^&9j)C&l=Iwx#s?hd#gYl4Ak%KX}POuiQ8Oz58B%fcKp5o>#uW zS?3SD@;TpJ`0bU?Ct0xLmHQ0!KD%D|f@Jdt|8w$%^_n~KmOpo9;kQ>lukwN&uY6&; zxubVa?i2q$yWaeL;@@Z2D_;=o^9NqJe?Rofy^-#_=aqXS-FMF`_X%~MU9a4K?0e-G z)9?T9a#@rC(1*1Rc&f}Z<83^z<^echC6C#8^v%iyAQ~X#f5?O3K#luvaLU zl@vh5Sp^KBa4rW50f2yOLEWhddrJP`DFAM=d;{P*dJ3zFrUBRm z1OTl;Rpkhc6yTiYcu)j}5K72Ha@;{3SomfVi<^7+m%P> zR39izp7AR<9sD8Ghgq;|Cy*pH76=Vc86ZFw+hDPZQK%j)X@D~ToU&pM56_3;o$xj( zP>PY^9S{y=#x@W&kc*sxKEfI?kTfVCRs=830gsW{{@8DuaJ^)q5<$q&XN09dWLhq; zDj<)5v$E_E@EtfCh`Z7Mu|R3d#Y;fI=uspioJcoe?pdF&IRO)`DfQ%FMvXm|&EEOn};y!1Q$H z9|O$`aY39(COFfUBO?-LfNJt?DkY+E4}3*wYLJeR5qK566={N{Cn!f?Hu2^?O6%e( zqr=jTu*wIVL7Dh23={A~RvJPE;5jyoFY}T*5OUI>s6uU`U_okz1h61z0*TqB;f5J9!T>JZ)GhV!dZcq zDV=~G?UzM@po)nn^pD~nP>4uH#$r=gVjx0bSU_-i$k^aarYI}n#5zp0IuS&Au=(DR zu>p$5t?|9Bz*jg{&p;nb838Kw_4Ks&4iKlrARRyGvVhV8r11f2#d<{S_Dc868@-4+ zkxR%4zSP~{4|f6NtsmizUBrdZ(SAccNhjDS>~%KFM5a*W2AiuB}}dpsTIDqaAmZQJ+tGSLyxws5w|+ zFGd5~?8Qrk%*moocme1n4$$8{(AU#HBARqaCq^7#0cm%vfFg=@`-l6wJJChBi}a=R zXZ+vBB2@sf-Le)JjnG9Cjj+0u_#}=)4<#|(*CGDZ4J13z)!qY9VhH$HxDXUE2Fg0v zNzpWHH>hY=*XUN9S&YoGUW4c+Yj6n%qOY%m8g};xV-s%Z@QAnzhcq%y0I>pV4gjnU z;i!~4Jlv1N^!C!T_73!5s2&^?4ZE=qm@qoPV_y4#vNXj|wUEMf)A zb#xouI?yW(Kpn|o5I?}*L+ZgGi7MI#FuAM0y|W$v;ga5A@v2@_?#1ay2DIGO)7R3` z!B=mmBtTnYrnjf9r?b7iTQPihYfBq`OtW>OOBbrpq$KR_>g(+2;D1YVdwYAcz}_e& zuHMz%&R=JHUwcPKM|($WTYGz3b9Z}RCl^x{yq!dCt!;eCM_YSqduvlqCn}0wWWaUQ zy1lWXwX3VGv9+_MrLnQMop1t6M-|DGyxQuUThNWa#@43hUdf$85fe2X?QJb>ZEek5 z(c014*woVAjdtkK(%#WVfo;uAjSZc(O&wj$4Q)+zjZKZzwyT4*qAY){&8;n+wGAyD z%}q^B4g9sW_Oy4lwxTw*ZQ;`9=K7ZU`o@;F#-^s`#>O5RlH!Qhw)VEJhDMB{6xL8z z-`I@28LbIZE^FWRT(X$??qSXmwM=#dpoNvCqG4ZNn!Xs zoj5K`LBiJP#wohH(En2eA`U+=z;Ta6-e51?oAlh>?VafNDco)*KY9o0ln{3-p@G+u z|EFmdVoxl94|mdY_u#&rxI2ec=98Zmb-FuxyIOmO+d8`jdpa7sI{TV&ht9T^YUGS0 zJw0>?a)LB%T{uz`4Mm%^RG3fRM+nhV_qKQSv`LI~bTsvKb+xv4;Sz1-=GX5d5c_*O zdfWSY>9adpS~`2$Tbk;dYg<~{+sZ_a@lc1LYVYdoXvGt{JL+2+Tkw(AD)Z}~>FScG zZDB|tj=J$K^lGVZZm7rANdFl^Qldh9uAPEgTbf#0TH9)yni?BhkbhPpvkSKsFKTIQ zLNna8v8A=Cp{1qV^!ojj+1An7N=UZ06ECD~YiVq5X>M$&uP-*e{s7KOn6@-athTi_ z);BiRwY0R=)il-D)++KwQq_|&*R-@Y*EiJGH50aV4Ry6Oxu#Q}r_6d>y1A9Dfvu^o zy}7ogxwQu8EURa@K8P-HswMe*`Re7(L-5|e*heSJe+ zb!B~BV?(~_)R&s+2pa2arM&w3>Y9e;CX}hEsUk$`N=>J~EPY5_Z3C%mYa1(TBo{8N zmjBhorqf?(YN9xDtgUM#sv9b6o9k*SYpQFjkQbRwf3>-xs=lGAva+V8rn0G_x|+DH zt*YXJ+WOi8)9J6(*VNY3Hr3WtOPQiYX-yqrTT@+GUQ%Q_^YsQ2){%R4RZVSuO=CkH z-*PP%l$Myze50m@n#viHRaMp2De_9h-+eVpZTLA|NWQ0{AGXg({I16$lv?$8v6N zyX4@!{MaQeGlF}`b9Pg*olSqqL6L7Hf3IBV3A6bll>f+l(o6QUa;}_}&!?XuKak-i z2agH3A^CGKpZ=iaE?dh%i>ah{9r$O>(>3=7u8z4f2g?l(877M3y(%W|M^jg^rg0SM~8T5?;O=j2lUOrJo^lkgy4$mxb=%13|cOJ-tTiT;DqTg>(^>;>HZ zT6w_C0}3w|e*qICyqN!AOn$NQmk9gW)02M+82o>ngi#S_n}m@OXq$W|aQIKY9k_mz z=lw*z&#B3P@&DFalW#4I_{B$)Zys4H_?7dMZ#=Lt<`*4Jo-Ohd_}){KQ|q2y6!r@a zC(jfOFWCVgm^}UHx+OaR1e2${k?u3xD?{jv=gmjD?{M!cpNn+4d~Ue)mCr@G?{M!U zpO19k;oe6+AL$~W8}5DN(hn(-J{$UIL072*)@GSsCvD@p}W{l|Q!5UkBio&)nrN?ghMZ|HHpm z&P!;(>;YMM>_3B5@g!f?d;tRHjWR5nAq!({+ab%Q2ucS(VPv?MxsrlEvz`b9oiXMY z5BD?on3wZ_R55!JybIit^+;eXkP>uLHhBdNd;9?eD=dux=n^37V7n}CBH*tuEP&(q zW4cA=5Kusxx>g+Oo%jA;98j zzuM;dJJ2^+H5elVhW>u262g2L9fsxuwE&Qs)YJeJUtmc^&N2;5 zLucwb05*&DU`McWR0S&RW=1R$xJfVsWZo=k06B+ypp#UVmiPGK*NqU+(9r=nfi`%F{^hJkZ5SA8}zcH9Z&#A!cszckQu`Q@Br;HITygI ztE08K0RdLWt^#6#MKQA#u%@S@t+%Taz^+-^8Uz)C2%msf>5&VlIRHz0bvN^TfwjPJ zpd^3`0it&g0iO1BG&FSs!gqHH+D(GqUO+J^d7!hOS^Hf89RQDjAAnmV1a<OryI zZf4aB#NO801k%$axV6CU0(c3$1nf)x;G95$%`NqHKw&-o;J%0j-2$#5F>qxM*k4^; zO|^n~0rIecJcILefglO^-`Y}F&y#;j6|h%Oyl$x$U{JdtK>#AP_0>(a0tW-UDw%`2 z3h3J|m91$smKwzdwe(+XBedI&RupMx}$V=HJ9Xlz$UXKx2MR$FH)qys_X zhx(+>0KfoAT!(p^fKpq#TUm;N_7T$y?LmQsQ4si3uqMD(qCkQI&0DB-TRk|a0K)4bOQsow2^UJQ%f^YZUem~-UEgVBLkQ0Y?u671rKUyXaOst(P`3d8jXen ztL+BDZR-ScY6EI(Y-}WDE0}s4fM8>1o18`aChFHBty@(|zT1r6da6xz|&0Nzc>^({bmO>GS=U`P#h^37nrz-jB5nvs;Qv8I>4u!fWG+zm2SrGS^=2Ald38!D@ok~w%15g zGz(x|34&K!Uj+0(2tE;QZD=R9>X^W0#N@{Kc zuRbh>T1i&$|@^ME6bV{$i1$E4Z$*ytK5eg#4?xthfd@tEp?QtO6#KJgTut zMLCL-cTsV1F~-C$RJpu{>?^8EE6OS=N=wVJPjP8UaZz1WLv2k}b#+Bqd3AMpc~x0? zNkw@T7nBy26c-m3QZTJtQ(0Y6QYmtZE-$Sld1-M`Noi40cb7PaL=tWxU}sZ%OGAAf zKx#u1O$AU5O9;eT=`nd3OWzPhqb3|SA-D&7M=Tm^{Q+$4;N+Q!;OoVTi` z3D<0_t|u*3E-kI9mS98D1kMQtT2q6(4)>vCF;rC>{FT`sPJ zZtWCo4BQ zn+r0s(z7$Oa|)?YQ9jvaXXoVQ6`@*sW_nsyR#tXqW=>{ic3}aHgfK5xQ9CDx%ri2x zvU0N1Gc&R>G7IvG3kr(z$ssQ%H!n9QGdn9UDM$>oy5++31m zW@l!kr)6ekW~L=4ORrTe9S9wf^w|}Jj&vwhcz>zs%(rUjeX7M@=~64iSA{=7lhtsl z#5DDt>ROtYHpIDWst78&wc^UkD*T|btk^X5U3zng2wbSL7T={YaCSn73(0@#VG5={ z7AL5v#5XJOdonAnqd??m58&~*FiyiUF3DjYU0iV$4q9GpI{Qd@8JFYHI3`YylM#D( z5)NKcR$@B)eGycY;qE1Pt8~g`mBr;%#kn+gX_@Kl56bCTsR^zvAyJA}l1XuKeo=N| zx#`?vglK7LVG-_ETtPt5P@@%TVLU#cj+MYEDJdv3pF6~* zI9)zYSy;eDC1piLXj58LSW#G3W`5(x5`!fO^YJi=u!_Q>GOjBuD9tUcGQaVY67gsL z(T?IO1eH{cz~g_l`HjaZCNH-jzc4o^uZYOYD99_K!Si!+^0Er*&2RjagFG%T!reuY zjQkvQ$0zc#Qa9CE-uziUMT=+WHiIRVQv-@0v9JP$SqDyONqVdBhe1KxzY0GFHnxc^73)cqTKxS zf}FzK^i9`#3=XSR-)4R5-wF8q+>AVYKRZ1;J0mwgKV#!fF;<()>NGW5-})6sC9G02 zbMgvuaO{7qunm2*=lpR z99EJ4CO11jJ3S*gJ~bydJ?X}4BOMNh+3j?=Y)+4*-*Nt_oTS*~C};!xgKXS{s=fEe?m< zW;NSvE{Dxx6ZyBk`OW8i_yw>0$NZ-717833x4-?okDQY}+xf|p-~H})Us%Ln@Lq6! z^2EcuKkFlt{-4sEKR@}}_jo_oN0y|QOin(+`@KH0RPyta)AD|>j|PxG`skxC29iI< z`_HZqkpAG0e)J!KQ}#db)8TC3wI}{459PXFdNzd3pH(*F1IQ@{P~$y1UpK z=G1LIXBO^GPXF$AzdN;l;YpvP$?0d0967zg=gh+0$?4~g9zDHr;Ypt(UJ_=;fig#W0YJ3IN>Ul;!`U&O3`NAj698HE3Y&U`7%qRi@N+Dm(%Y}k63n@)J30vd-+mvKX-nSLW>Un_WCUG|A~vl|7(9`{4X-cdx!5?;J;~sxj0|y`@fmpKiuX1<6r5f zl@I^n@0I(Hf3JLQq+j^$mHQw6y>kBs{RfmU82>NOf6@4Vfqc>UA4skcCFd`gx8L0T zgYrEu_VS|Va0wNWs+)FFY`cwn)z&RZK!4naYK1iGi0Eyo1Ce*b z%K!lc7z37TVJzL(S+X!Ob*WJPt)HWb!WeO^QaT~L*0d<=jN#D&x z;kFjA^|q!4z~IhK(B@{);`(N$an?6Ois15ACTF)Yjg%?h;MC2K2O64~I9lDnEZPpL z3s*s=QG+Fdfr4UlA@e$!Y1z=#1_BM@4`+gjv#m`s(G;+#KXZ<#79v;Zc8RyD}H z%?1!zf!#J(ZYoPz^Wkh{09f;127b9k*c&d)?jN&sHIv=la&dm z%x-P0t}CytWxi~4TLW|1nY3CB!d}?~f-g`KT7Z>SU`VFS*GZj#xzQS%0pwSe0VRPK zRYE&Je}G^NRtJ(_2ei)-fVJR)6_xl3@Vkh?$7!)j097z0;9Y=CAWu#=G{U!FV|Fc2 z5}6AS1?*H&!3R(;O$l&aRVO)A*EKOamy|$BAmEjy71*j>X$iEguBFulSuQIT1Q>*~ z4Dh)g^PvGKtW35=ze-T{>ar5B*3zQ(W@tLKpyilFrsh_c*HkLdaS=dlQAr_@(A-ju zF~GK|JYX1lfnZev`vDe}RO1T`Sh>2Ys;(L&7o;DAwWJ703V=4hOeREESJVl3Tub>> z6EL=@xD0Xtm{dVdQ$wpzCTfc6s$0R$tE#}zfY(Z@if0fhCKFR}$}N+^L8gJYgga1P zQdkVel-~$`C$Jp=TQy>EHK66v$`S!fK^$|TgrJlldx#-bfU*hHTT~zzF2E!3Ab2`1 zgRvzatO9(7X4Eb(zqqiGDbLktEt!{)@2z(91v@o}zxB#%e83Z0Shypp6l~KOr zUYM6Jm{d+ZTn_;xt13awN=QrAh1nok1)x{}p4IjBLIWtTXrx*t#W`hUTU1zCn3oL@ z242O)X9e8`MlPaeOo|p18putMuH4)Lf$p)3G%1i^Sygcfcrc=};)2{lP+);AA#H#G zRsj+MPnJ}a2u42dkZO?dg5sR4Y$}kMpP8Nuc3)IRm>0dPY_j>A`}F%1R5N zR21gqQ1RT{?DRa)@SJqOY9Te06z2X=xBA$U7?o6qaTTK*i|K^%K+Q=>yCjn?F*PwIB_ln4 z!-mb9v211<#-{?QD4mvud5|U~rKBfpx^>fSxtRdNG-qa3dP;Iqaw;}Wq@bk4#FY5h z_3LlRA@}sGl%$-@w6xTulvL`Kn3|N3lo*!~d)p`0-5{uTR#tLi3dy-5H7%KTOH4{m z*l_!n4cA})0URuHVV2YCQ@&FIxb<;ZJXn6`rs8GbQ{bWnHllP=^6P+X&K20aVdCBGWOXN7kl%E zuDslBFkzm|puq&S>na{`WoWfRxOCC6|4P_#~~O#{3~CDNp%B*tU+#Q3;`qz$)i zyzwJfnzaUvxLO7cmXZ*kgz@-`-x3$QapNu57%V!SUY(kpm`qd0CB(%erhxc({A1Jl zk2}pelU{2|l}N*t;^X7VI*AhEw`|({;rEBDbsB?CZ%#;Nlhy`@kB?8@vLz|u_Vu5L z)~hvIokp$IQstDCScLdPeB$Of`G5PzoO+#Ar4H3=gA=!KMOGoT%)v7~vLBT4G+33H+SqAT7W?u<;q~2=ln?wo%vH&!@)Uw(i4GcB9em2s4|VcDvnSu~@V^ox^QK z{z6*vjn`cr;jmh47ANcjx6^4g=xip3*=8}1xZimpEB0fT+e~(w!DO{MEM}J#Zi3rx zaNA8L>wx>6W1DZh)??ONY*vTE=`cBjzhDWo>a|w0-Q44T=lDNGIL#Wf*+Twyo7rx) zS*&`q-DEXbtVYrwztXC+Sak3r)JB8V3d6ymwOR}&hr#HujUvC+t~XmXM$Q?{W~nZoSQ-H5sX!*;|*VXti2&dX>p)GMG#z8;+;b zqDYVX?dMHKjcAQg4H~`4U^H3GTD{H?qEdyJ``qWBaa*j|ii9?Uj#jXk^;)$-rB!KA zX2^Z!>vp5vX*Qdj4x`CnH)#!KgGpzztJM~R&M@eHb*D*hvztv?vrVrzTXbeDt5ex+ zI+HF$L;6?8wOX6gYBZWu2D9F5)RTK?XpkmUtqoD@dy(sPPCIh5L2K4%jV7HA&(WxY zLUkx0a*fVxvTF4jjn1ewt8^yy3aypYTD9I|>vX?5fyzdmUZ>aVO)6Dzh{YTnv{J3s zs`O!IODl3}jMjR!)}~n=tRbB#ILN4>epa2n8~ycqqrspvt1O1)AsT}wBoreBYeF=7 zRj7VgksAz#5WUT&3)O`#R|f@!8V#W#YNJuBT1NeLnyfTOs7~+HhlUt})FBwipfRf9 z=xEiXpTHa{m4;{yU1pJNLyS7JqC}|CJc?Ye3pN;5hNyychR|S@$!0QZaYcQI)?~6{ z-*JmZZ`Ote=~T#98r?RNP3tgX52M@Zru-eDdX2%L)&+-X4OScd8BOK1;!O@)m~#xd z&aA;1v>_^5&tSJjYOTf)gVSNKX-&=n+AahWY1OSntzvbyvZyUFej*BkZbtx~>4Z*!Wg(P55oNKrPo!)mkHjbV}DHmzlX z`aS>r^Ji|KX9RrV3+K<5jLjdy4|w5)7pA;&k$j=VSAOi+v8m186YPyGNPmHR0fA+5 z`uOqVXSevKUxy0w+lBH4V)R>>{<(!>6c!5 z$tV4V@)ut`9#H=L^Us~}mVaUTr=Nc2_09etg38&Kzy9^F9SxM8MOA+lNIpJ3{>#6$ zd_nsysN&=_tHS=$M-KnQ$31ADi3wl%PiTCf=27GmzUj%m#K%D{$p8HL1q7-KmozVsch;{`Y|G zyCZP^{+~a-clLkE0{)*rd(Zw)>G57U?^!@B(9!~NMArIP%s-hi4=B+r4@Ft}>jM74 zMz|fviK{{Mc{KPRjSYEmwf2gJca3<*)tb)?u1kS8j3nvvSs)nb|IsEBW3__Wu1>if);1 zAwBC$`Sl;1Oj(9X@x#UWOQ{f_g!|-IE_&gfB9k&M@K51C3BPJ?tsQ^)Bc9*>x8?JS zytnf=vVeD__rLcyD)zl>-?M-p3(OAuKKy_SFQRV_BtJMizRvOs7NwsZ_-BQDEs}F6 z#M3}>>3o-x&kp?3{m*U-^B2WQK0`xQu2?9aJDN-FPd~Zl-IM!|`gbq?xf(6}{$I>r z_@~kgv)e+wX74|jmNT*jOh0q~xn%me`_H-37q##F{pS+$gEQyvonAsNl@a}x^uJm8 z-;w{-2~DStIpX!TO-#dOc6vFJbHVWQLEr(vS!y0KN*Ne9+zVkYz#;%hEdk@rE6UHx zhDXCX3M?|~f~*a(o7QcJjg3o9ZKy3TVM;GBZz<%C@}j(~l=7UL zKXCO`SA2ZahFdppW)YJz;U*N7K*^{qPycAd6}MdHW_qJ*^$j0c{h^OGGQFAADk_V~ zw<7tbHBQipFq^@uce__bnWDmFHFj!Dy~+!(j}Di|{AM5qgPzB+7K_6uRFyKcDz7O{ zkK$3j-eENG0M!8MV0F2Sno5>+D6Oi6c2a(e-Oi)@Xe-al^#%j;Q(a*?qbwLu3iw@I zmK0}8krQT(;2NML4TMXYxdZ+#t5g&?p*&t z7mtrgY{sN+o?P2q4%D*SO^&Dt2eVOin8{+~v9=qPTudxAJ4|*nwT~uyx5WUo0qS9~ zJDp~`o|&zYz!^@P)$WQ0H~>l^Z=>1aa9OdtiR;%!0kPQZE}PZjAfeT0Hagr6mj`vh zKTH-+xXo?S0T+P>sl{TLE5hdRnC(WJ*<=V0ivomVdaV^iMJt$yJq$xRJQQX%Ih7Rkins7I-xBR~860ktnMPBubUU>=gB_^F6zT|%#NrlXWSB>1P};^O#44N}X$grbscGp+adAno4blr)DIhU!L!x{k1W`>*0P{@DOaP@9 zU^XKyasBnTZBEHbj{`?e0l`g!U;vhykQAF58=IMa`)xOW>s1?(C#QjaCs4OrH{HB(%jTP}dH)&$1kX2F zR=@v7V0Ma6AosZ2HgCG|hHI~k4!^=`Gg%3Gv(vRMH8U+`3yEW?_pR4o9^Ix4hmI)($uvQZqq_#$X=%!D^uHUfb zwhvt%ZHWxCxm|jr-J;WA0He_ewrFx)w`s#|H>`3yR$mq2BIZC@^#HF1b*M_G)95ro zt8V_p2O>a`onhgtqV3_~W`o9LGwRe@y}@K-$F%nH@Kvkr&d9Y_MaP7Bq77QD%YX(U zR%^7|?zV?tz9!m(zg+dftJkhwd(~7YcF5BIx;-Q z?a=B8KPuu`eR*W~s_^K@m^D#RG4H=7Y;{CHfGgYNA&8oS6;h1 zVr`TwDhwEzPEw%dNSE6ky?S+oBiiLzy*ef`a*fUG(1*DlVRUagx7i&X6Yh?1hPh+H zSFKs)RO52)$h97NC66Q8YCp>cX zYM^&(*s5^)ydcdAoeAA>EQd_&r(#Y^SeT8T%4$`q=*SpB3|cxer$OZjv)Lms0=*C& zs=?z>+rgZjcCFSPtj3$-6X65JZMl6j!T9kTRxvTg( zZCHQnjaR!vLskTXjB8A4r`t~d>hy>=-JY=V6SuFsX0=Nl0_VYOvxAg}Io&4DDt9!g zHxj0|e)MWg6CA8z2(>%iQT8yWCo0Nqb#J_V(`_3zZd@1U0Fl>u=olT*HVnl85`{I) zB#w){@tRfY5QjS|+!Gmd&HJtHC>qug<<{t&+6@~w-FE$&n5c-T)zDe4y5tx-{STT~daW_N{0N4T63;cmBw zPM1)0pBHUGc8f70GJ?qPI3pun&S-$!NI{nmoC??P`OrxMY~z-A}l-%p@lmiwb`T(4q6s;*|JM73(`fgoQInQHzGWC zO{mskjfz?AwCGeTR%(}r1gi|XsL1fuj%W`HZ>$V48Ls@`_3sa}n?qD9LxWeS9Ohty zGbYNl%IV=IV5QC(wPx*FZbQ@|A-3gO-Ie+9#=#}wB|Ah0bv$yM{M+R zD%EA7hET08G$eHS6_;Ng5fr-Y5}orZj~mn;UP4f)YQ>7sWuZaKFAaX5*{oOT)yqS} zW4J@n5_7@JR$LaeV#Ug3D=)qDeJhsh&9DQE=IB+ltT{APqY7282vVt5E`Q&$%Pw2K zEZAg&-@;lcMwd+$str=T=)d{M+S4a-Qfx2)+7wA zD}@}PvKYCMv75gXe&VhO2QlEV*~18EyPMH+g~_CMm@!?j;alM+Kk0NwyYWjq?#&Gm zgeUr4ZuRh^;1%DDc>OaLdla|BrZAJm8KTlG({NWD#x1sX`LdPEz887wb58nKtBX;@ zXw`8q;IM~VEG~y$vvTFi%YGbn`pXQ@5uOMK91P>iAgc@F4-6zSf8S-n!M}(;^R>wE zFn5$kV~cQWLN!K%(_+%7`GsyE7fM`Ee?l4h1;lbMUlh2F>p6cm#<$5&&6)h z!bWm2LaA1S97WDhs11SN6KV-H7;Of^!>HHUqpfDhZOR3*{psB`@B!Nh1Szwsou9DM5l*0Wz)K> zVf^r*ea`(TNM%<+I|^PI60$eW;CjBEVCKvP>|jf z612joF|9EFYs}e4G%AC^9Y0+|;7X}2Dw|n+(em?{sRMQ$HP;y}CT?_e+$m`c zHfxa4777Q?^vjs3@9BjJXVsv$%fdaJ(6Lsa21Aq0Fu7{#yS(4{msIx`KyKe z2w#H7gIsMQ#zVU39 zR}On=q5Qkw`Sx=;UU|t+7Retu@VyuE=H*`)TeyJFlgh;v9El={^azJ4;^|bpq%xM z{#toS0RNNqlYAL73)G|i4jl?CKZyQ;(*Nk-!GQYzkoBJe)$h^Aei%^xgGV3pkqiIF zmw+@m{mA!!@S?YU!~uLaofn)Rjqh!61pXC4fv-j-c z=dmo1j_hAhQzW|Lo#Ufh3XeW!y8^8WI)f2(`XiYD)E?^)n) zWdX0J`QQ6nmHS@4GZye~b)|n&KK$G1A5rcz@cZLmD8%Qvf&aq#(XG;P&kg(+$`=m& z7swY4{EOv_2mZzK#RLChxwMk#Cx0^VFD0KNp8Avfw)Fp;{QnXEn;r3wiD3`=Zyy=) zXKyoSn_DjSX%$BNS-IT4&2Bz&GM4<6TfsT8Px_e=e=)xfT!tx#AjD>P4sMG}rwxTg zVK8cWtf)5WLM;X!>#I#h5A#pmt{78@MyEAHN-(-0$yjx29+$dQ1|!c+_3$JdJirar zhw-FW>j={*k0!NDPz`2EtDYy1c7uv3*ANiQ%MSD}(fA!*a7eEX>NoOudz-tQLz#!!%x_-l_=-Rl`8hs}S&j8P-H7kABtWpb!=F zH&=#gv>K~Z!$WsyECvS+FAEM0WeTms8XS5lk8*hk?RKtm^H5q3UBd+xBiNv24zfwV zGWZhaY^uzlfKIpD2xkbpnl(IsH`ruWDpPwYCDZ}BtamzXY9`K-lIg%&6+{Ez5tfEm zX<44#A~T*tbb>VT{8(c!c^r@dm|m5%^4PG8hQl+x-(pfl*du`8m>3PA3s(wvt@Xee0y8z+aH*hBy}=DD3KRx%6O1l56d|l{ z0HIdlk}$5U%*^F^KJ)G25t%`tK!V%=yG{@(9n-$;HYP`F1qHM_g%f6Xhq=LXtr6fz zcAXA<#?I7d3v=Y*aIvbt8=^tpi zh{7?#T@b09pip)TOf6o};JPx#8oUy=n84&wkpgR}G+Mh3*8}agg@=O|8}z`3kqyV--@Mx#a@w45NqETJmqk?RR|JuxV4?+DR^T)J}Eij`85(HLb=0}`#E z)htX@*BgU?XoBc4mZ{ymr{Vv$cV<13TrW=3Z0`-y$erPkiK4KWfd+3>9e z!wY;N+ke2nLBGPlh?Z!3$nGXNTt;j*hl?oA0J0l~A&HP=4K3SqHzqx#fVpfxr>d(m zv%0DYah1d@64g<8GPW;HoO2@H=e%E-#(GaTdOZV;3=yW!O$kB8SBG$Z5fYe3%VIEN zpK0-H7YDtKO?{w3SXcw*+B<~a7})8kKe$NQ+UBM8fnr*)8E{?9`Bz8CdLDXEZ*vpT zYjdNgD2g&Mh(pbH{Phd{OB>qyrS-K-BNz$Q4tzT%4@6BH0xeShl`en4uB2qD`^tMTp($d6PQBdVkpsx(quqZB$I zsmwSUPrJa{wktZS;r%|4z zAt*)c(;%R$f)9#m)g&T|6K|S2PC*WfFpX#|s7Q_-2h~oOm#{337so!v4X)4-hC>|> z02|`NX{*E!skm`~Y;OT;k|o3mRXi2^!c7A1T{{3xq(-vnsL)3uvBCjrmlYIUn&qWa zdLk3RAv8cnV4$19K4_-oCM*%<0_>2f`6DX~zzP*~P2Hw<9D-ePtPqv4ZU`H}+D%d1 zOsauGTNi+wXsH(j3B4%HNt6jIM+L@y#1wctpy@ie3UKGsLXGGTCC3wJ2$9YZ3ls!c z4U}+m*vHpH1Nty&Do3=m8ms|%K4O>%8q19l6ctpDY2Y@2glEtB7!i5WuZf!iWzJ76SeSPi1qZ>mANt^`iDmE`kAY$#(=EVz$ zp{SjYTgQgd=q61E zVTTcPLor+2K!hN8W zwTN`LF3M>#h74ji_K+r%tpg0vQ330LB`MqDac|!QS}b z@x9&c$J%O=)@%*BB^U5NB1y&UVE6GS_pcs&r=4UwlX$0OuaSsDHwt_a=i3JdSHE-h zdQnfN?RHx=MF1cZgjFOjrsMBDaqaqUyE}`!-QE4CrkM|)DpDN;5mOOe4fdXTdRkoR z4zB;|cOJWbK(7uhRgp7?$^~$nUwv$E@A~79?LPj*^@DNC`2Y=NG0;FD7$ca)!S>Gn zwI}PYDJN;+>l_oek7jdEV?v@O+Xt7g?(Sp}Et9BSJrp2qwm0{Nz(Jk=tB_qRzq^Tr4hT zlPt|q@8JpTy-6D-5=%${I%q+$eMu(USv#iT#UiC@vdJuxTw{?XqHCg9d!Swp>^+}OOMKtT2M0m}(nN6##%B!fP;iuoEUp9@N z>???r)>rkwHG}Bg;^QBHM&TeLK`=%b1~B9X5z$;&1>ODq;^PjAYGSq+_>%d$P(u}+emBCHGxaPI|qvxe15rDM8NLR!BWJq%>0U-W! z{nzu4o}+7V>*#hQq_KoDxrqx|{6vqWJAx=;6Iz{xlSoXx|v2H~5Or$y0~ zIXx9*4393U@M*hTAKc2*1im41bL$u&lA=O5qdqGsBT%gJmv zrs;A6+Azo)Oe%d*YWYIjP#1J$r-(JhrW%!1Q=r}+4VwA@LvrkYOLrWn)5 z*s+ck4^*ukxbIWm0w1R1luMm;RkCA)m4`gY$lf}7oARA;kwsZEp;qUqNTKr`V+2rT zC29Cp!SVS)TypT-YqcxJ&7~rCC(qD zlFr@@CS{YwsSp8VV_uLxivi_}lqWe@ZA3Frw_U@ygQ0DnXN-|WmcK%Ilr%{ji2?|6 zJCk>hmCz>UG?>ER`rPOeK_zypqRwNkswD&vWm@EMq#4BbM$W~I0Yd$%>1dEc?oIBW zvM5r`B7W?@4ZR|ba~Mr8uB)ts#Bat$;HZ7#cOy-TG)&T_j$%7X6NyJg35>AAbK85A zGteFv+f^PrQI#cCET*|U6ya%MLVRyjVcbED7EzhzP@zFpLL}ySVi}3x{(3+%N!6KlB;i zIf2F?Bzz5i?d4ZqJ;evSyTBmaz4y{fugv+BLw;b{|Kx=iU;4`ve&v^vv{=AX;4^OB zdf|V}`4{QGvtZvs`Hh>m7RnEIu<#2$=f=&y_!kSGEH6_2{EaVGF1P;>{^aJ(TMym- z^7$~hzQ2zXlKcDkY&&vE#c;FoW$m{d`pZ~MtKY#h#tpDtjCx5d3^UpoESdRD3 zBEWQ5{%7;`W!-zQe9mXdGP#fAACB+2=l*P7&d#4)*u6adN$a+p2p!SX|4>Tq>_@pF3p z!w(mJef8yMM}7Y3!oi%e_|+fZ89QD0==1OYNDV!A{UbH>-0MRfkhS34@?#sQbGCmx z4gZ|=rONfN?cbNjsEg-ppCfzN`Z9o@RW85tuDO0&cGSPV{V$&NeEA#R|5?|6esC;(!^iho`#+nHnV-Rj ze|wJqo34L>tzoy1Sk8-Yyj_C0%X5qmvXEDbwu9tjVgkbpMzp{n@OZB}MoB2K@HcQ3 z;Y~ZbEHh{gEfroCL~W7QNm7-PHDI=F8ma+PYIS>H<_J0MY^M`po*><478nDw6b7{DTxWtt|IKu^R%1ro;wM%BH>jyR_eIT1gOZPB+oK`d=X?P!;;`t!o?dD}k0O~AH zY{T?nM@+AZna*F8CGYro)r{m)*XZ)tue*Ym`1sZ2ZdlFgvT1k|%opRVsS7LTReR4y zjbJKtkkx2Tv&Iuuo@7OgJeDS2pu5NnnwAo#wyU~0*{Qdx)7RU7<-O!Z4Deh=eyp6k;=^Y)F`UZB-d> zr?Hu^?6k^aEa^vz!)#)g7xY}rNIH6qQBOlBVX``|Jg7WV!5pX#9vWhlBX-43j>|yoD)3f1O3b=7(xN8kn8(=+&0kcFSD_2xrH>%d1LMJh zBtuTi+OmiOuVSXR%{=!Zz>cqLiVu^J2*k3w3~E0L>=K`Rk|*FgV#7?i@BvC$A*fHn8wK!n(p3sm4&pz5&IFd=f*? zOHHkhJSM>-av12|V54WC$hB#dD2gxag!${pd5G|m_wvxAOk=#?R9%2E1Lg`Y0vhr* z| zTc)09XOm_!!yU=x>{7&Jw~tPDslT-)=Y1!HNzb|cRn{Lxt~4zo0PD>4H*5)+k>>-4 zA*@?e)v`eNU=oZ0#|Ln>1uZ81u((H+{(x-^O@IoM%o8@|N4`JY9AI12R}BRaPn9hQ zsTh#y@g(wq6b680o2H6jWe+idfy5x%*e0P?V61_H$OL$06N12l4wC5)P~C73z(0W8 z3P^F(5MUpH+7DvqM=%?RkJun=+CVuyM~qAp!>bbdhKi1`$%@_k(P{kz zXG;nWyrb-53>O6vsNt%i4RLkAAq?G(KN&EJEnuMq|cTuTSFyaB)BekUrp5zo*e|(eGd}Ms1mW_n>5Rz$`ND3fn-R zM*78+%?-8Dg=@cYWiRzhQkCFG0J*7ZI0FcP0zbrOKu^DOaCy8xX{d0luKC(}f7nwo zj*3wF`b2LW1RvUx;3=>%9a{=LIo&t3nK)6fU3}Ora)ci)`Zk?>;fHCLmCy9Kq*ZK z4XglpPQW0g)fkP40sNS{@BlQ%^qg)Mad23Qf%XBjBtZhxP`5LhLM&`@T6WMQoM5ny zz`j*ga@RvexQidSZ3@$0tA>pZK&rpcqkDR#>)xqkincGtLR zJY|D8({y`dAOkd9%iS9{SNE^93<~JKN_5a5FFGt|3SBy;saig}e9*#42+VRkwAaK> zre&OF0F*&AG@KHzz6^~Tw9yL~SXfqEMKRUR)LblRoU6ZfaJk6xE(=w!5DE4-0X3M; z8L$f`!FhV;;M%x~bLmhrsa*ik9N!`87s#oLiOpkAOvYCVmhga^7DAL!)=_Elcp4L27x6@65mg;g8cgQTSv z&FDKq`Wh^G!l)#ACBqc96EV!0ZEw#C$PMXAL?a%ibUp*b&8VgRC$+LSl(3=udNW@)1=l&i&TNCRer(g1d*^y*B* z)OVifW(}@dyOR{01eyq-fDw;wMm7u|7~s|Y-Q683NEucQ23v_OanUeh*x)h9F!O1- zb1*K;E{GTjFeD5mM1Tho9$THC0NE5R#zI-)C3TZ$ldct7R7Y3>(!Ahl)Lg3@FYPKE z4vSRe<4Nu5X+>A#VYvi*!kRhMl#Tb1h~aj8U-2^NpMV+#+=K&S?w2(~$=0c+u(3|q zmuy8E6={W06rM$KJZrKd?NUIE68j&C6Pt9{RCzxfGP2;@7*a;m+RAhA6O$bkjzzIM zAeU838;kPJi6@Ndw88pt%VZ$1*>_z_0jB^2ilHrF6Jik$wXIQKv3$uwlV3^EY7sEz zO9KdpA_EJCZWN3Y9caLTsl;g<1`H^vonR2qmAJfJnM^KUDK-bP(TH=_}>$^_h59zmPV&Sm4NVIHGM6b_a=8xDvhmAEQy~haCF`JP%BV6hobxy4*W0OQ$jQgIergmYhTGe`ab58(1AGA zY>j$4ewraBU4R-ev627%?EgL+KxW9Xp9;mLxq>lhVZqMQrjP6w(x3kalLSzB`Y;q^ z2;~X}vVyDUVv_sUm*G~7SECh_<1oq@ZpA^OYxte%&!sZB`i*cJy>2u4uF?m-O4}uJ`VyZtu}m5UeOpt(iSz14I=i{Sc}-uP`mGP{dgiFrx@%jmScRCYsWH!de^P059(jM5n;_` zCk>Bo*sitw3QvMUhUJOF<`qce6 z#C6m1it)IuX_{2)Pbeo1oNpKG-ih$P8u^$(?KgFj`HtrPY5Uhdrv8ED@Ngt~bBz>t zCj4*;c1&8b57@u!cWoA#(bdaO?Lb#C31@^D~}6kSx98A7J|-0wUPN4CxQ;q~Uzw;i03^kCX`2|c)pub;t{ z;|b65wCb(;lOOSj?qpXl@9fP&29CIKNxw-m94Z)N-N7FU!Z$2<0=m|kWUf;!Mintv zi1c~B|NHePcV7O%4<5>&y!z^^Kb`YE5Ap@Cz4qEEerWMKckjLW!$tp*qx@U*1WR}C zz4CxR$zlR1_@kF!`RTHM$ufU*>&2H&@k7h}$#bXqphdh1e&Rp=r~kabmvHP$1kBxg zzx%tt_rX71IHjf4S^syQdFD@lbD@0ET}ARS-}~P8{^Xy`%a^iKol!pj=Hb%ad(S-c z%;NeFlt26I?|rc7U$p#%yZ4^M-)Mnq6&*x9>eb)7V;Spk>) zotC#R`KIOi_5L3&9v}Wqzg%RXIQ~C)_kaKE`Cgy=?L|C^^MB`^OVqi~)W?;L*nR5|mnrRmBMIdWvvaehk@3#`qdm2Kc|fOrPPTvQ^W#6i>hk0LocHfnz5g$J`|>gzR=v~yPm3o=)i~C| z&)PqA;G`O!RnF=s)$ojRsiU9m|8#T=a@Qx-@WJ)v>ho&&VELg8f4>@@QNNCEi(?yz z<@&!EgVpjX0;>poYa?*jOdkF^I|N^_{BSgIw2d>j|5caY`+~>+S?iz0M=hS{Q8)C} z#rLz0@7rF!ivP(C(7`8+Q-ScPZIF|L_tqmt*}Q~-MJO=+(f4szCBl`Izs83Jn#lpv;4leMWII!u2ZlHdWY z+#_cbG6^gQGE9sLF><6s1r`{_2z8q`q`4Kbw#6iIrq-jZKpkMFzBL?P1TOKh7jeie z;0e?PvJ*(R1YWaaYd=zWVb4rQRD2ZmRHy(-sG|-q^2yCK3{A}$VmXA7Ll|2)RYX2o z8_I;x1o=SZYku4#IC<5x$?OnKVgU;P8)AZdVA_E8F$(dj$1ch8L7rl!ead(K%z$@e zBrfTmVd81TtY(?tt7s;>6(W=oW0c}%yEOu~Bx5j1!NJ4!o9X3g1XmLw<1`7U2#SW%$dJYpwBGoDmUQ-J=I&;U`2Jmv9@oq5eN z8x$}7CzF=B!_!#@$V8q7$QZ0jaQ^Xe8~}F$cc+aSY^u8 z^Sqwbh^Hi>u`PrX6^g{yqy<3%tVD903SC4*%+GZZI$Wxd!zHWtcDCg#^W7ZTtmfrD z>3K}DmNAJp2@Egxc6WA4j6|TS1hNyh9-uMkNF*FWhBpE+ojn<$fM<=I&I-&WCEzR- zu1$Irh>-O1eimvc6?wJrxgy{NiL#DK7JeQe5af7+Hbdvjx*QJ#oOciy@y_Zi17o0X z=|Q>AJa42Sp_3=X*5Ex-01fU}WU$dzeXv~#DH3|t7HSywOE|y){J^fLn_F8O^|b_X znjAf_5b8kfIaUq1WFn~zNhh<`bGEz8&0SG234hQZ&@dnfqP|5XBIV#xZ-jz`_mMw@ zxFHz~QW#D}`heRR5}>bK+5*^!1QZ05-`DU7a8pUI(U##9jMIYhopB8-p7Y?PP<<~V5xZYFa` zS(Zb?flvmIh&KT@m!Hu(rZNvq4;KnPGKbj60HiTF+XGUGInUI=cZ@dG#mS3ICQw$u za8i|q`%od3qEOxHTgcCe8VjavYv z3}gbKoO2r2$u>85UWu%goF&qj=V)7-TbdtL7zd26K1QZ3JTJ&%6u8;Ao}fu?)(unN zy<)e^y0&g&jDVUDp}EMJ%T9Aze>Zj^9t+|0H|^2Z`o^ye6lUi`AHq-oElo40NlEI` zSFOR;+M|ySensge`}>dYz$28Ty6cz1Ww;*nEz84Re7O$B7w zz^1uiGkrRYD1(OyvUn#o$vKD1Rd0wB5`7B34_PyAyNnD&!p0wtRdL&bBJ^@E_5D#W zi|Jns1wXeD^yKEq7{HbeR8)D$PQ0Zs7E}~N!E7lAOhp-C2!}@@W`ppW_(ajTsawFE zxF>L)0|VQ^p3jg%dKl4%gK({5%Cu#mE@NP3pz-RYLvq3-HU;1iC@k=!hE){CQ>JvK zgXPgdL{OCF_Z-F{BG_;|@(0BRo_vg4LKJOm#zH}rqsa_xN62O_15fm6^XhRk|a4YIyeZz>NQC}xB z7tIXp;O5Y)C0QNf2d29;*go4E(Fd?kWk9e-I!0aqSfn4)9DEL=cH{w6a5^N!0f4YD zy}`4OtY%mXf*98s&Orc~k@iS$Lm_KXWcj$d*s#YbV;7rIp+8b=*@UPAE5RhRKhrPi`Bdb(j?Vdu(q*BW;u}DPT9TR9gQ#)h}*yhnd4oRp|vFE2{8RZb6t} zI6>F_5#>RUD$$p0#Bw&-T5mOcZ~Fc`gA{o?gD_O_V1005cnbZtzJ2r(j31$#78 zuFt3jcz76g)FG_ZY#b<^oFfPs>b%SP{eF{J0WdCJVZfTMpk=}eh~0<&+vH~=5tKPx zmp-RGd%%dpV(5w2Ax3eLN%`%-SihtwLzR?`Pb~lsG$fK5%a&(Uq{U!(*7~jmQsmJJPB1v`RVfHaMAUL<$cy z7PASw(SI#Jd1F9&OP5hK9!8iTX_(77q_Zr_rZV0CR(^7a$0vp}v^!3agb;>$aBw-8 zOm=E+qMwwXylF*x6bcw)eTapUG`Ol~f@cmg-rDc8egLnO*w~s$yEAA>z z_a5u>kc8796CR`up4lsL#^Dff{46H{+rNXCQ2N+EyfRivs5}f>5BE!e)RDNd9UK3h z@)6v1B4BJLc~N>UNgd;T4DWa*aNHlWed%^b;?De_n*k2l^=`LQL59jSV=l+{=I5&P ztCdb7aQpSwKb+?enu82SOGo*s9$xU{p>XNTpBt1K8}u1;_N1bljk|BeJi06flIpG_VT9_RY+pnSarKl1M$;(zn&q>wtMoK7Df z+Xp^*>!|i{9H+}qz^8Mz{~>EiRO(^dKP-6>)%jELU7L?4BD!p3x8${rAM8EF8 z&%W#DpMKrPv)bR^tqA-Ls`~1yXGGxat3ChXS6x28(-)V%zWsmI=XZMhhv2E~2Jioz zDn9~G&n>?Xo}OENA3Qy`{1`kv-uqI1DGucrJUy@cn14R6T#icE$NBuz5&!%p@;CD% zSuL$1u!_Jc0;>qDBCv|UDgvtrtRk?Az$yZ(2&^KoiohxYs|c(ju!_Jc0;>qDBCv|U lDgvtrtRk?Az$yZ(2&^KoiohxYs|c(ju!_Jc0^hC({C^k^Cbs|p literal 0 HcmV?d00001 diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index a8a893883..c92733859 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -422,8 +422,24 @@ class TestFileTiff(PillowTestCase): self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") - def test_tiled_raw(self): - infile = "Tests/images/tiff_tiled_raw.tif" + def test_strip_planar_raw(self): + # gdal_translate -of GTiff -co INTERLEAVE=BAND tiff_strip_raw.tif tiff_strip_planar_raw.tiff + infile = "Tests/images/tiff_strip_planar_raw.tif" + im = Image.open(infile) + + self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + + def test_strip_planar_raw_with_overviews(self): + # gdaladdo tiff_strip_planar_raw2.tif 2 4 8 16 + infile = "Tests/images/tiff_strip_planar_raw_with_overviews.tif" + im = Image.open(infile) + + self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + + def test_tiled_planar_raw(self): + # gdal_translate -of GTiff -co TILED=YES -co BLOCKXSIZE=32 -co BLOCKYSIZE=32 -co INTERLEAVE=BAND \ + # tiff_tiled_raw.tif tiff_tiled_planar_raw.tiff + infile = "Tests/images/tiff_tiled_planar_raw.tif" im = Image.open(infile) self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") From e102f4848b6ba8905dcacde84d1eb361e20510b9 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Tue, 17 Jul 2018 12:18:50 -0700 Subject: [PATCH 018/323] Fix libtiff build on windows --- winbuild/nmake.opt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/winbuild/nmake.opt b/winbuild/nmake.opt index 28aab3479..16acabc26 100644 --- a/winbuild/nmake.opt +++ b/winbuild/nmake.opt @@ -55,18 +55,16 @@ LOGLUV_SUPPORT = 1 # Uncomment and edit following lines to enable JPEG support. # JPEG_SUPPORT = 1 -JPEGDIR = $(BUILD)\jpeg-9c -JPEG_INCLUDE = -I$(JPEGDIR) -JPEG_LIB = $(JPEGDIR)/libjpeg.lib +JPEG_INCLUDE = -I$(INCLIB) +JPEG_LIB = $(INCLIB)/libjpeg.lib # # Uncomment and edit following lines to enable ZIP support # (required for Deflate compression and Pixar log-format) # ZIP_SUPPORT = 1 -ZLIBDIR = $(BUILD)\zlib-1.2.8 -ZLIB_INCLUDE = -I$(ZLIBDIR) -ZLIB_LIB = $(ZLIBDIR)/zlib.lib +ZLIB_INCLUDE = -I$(INCLIB) +ZLIB_LIB = $(INCLIB)/zlib.lib # # Uncomment and edit following lines to enable ISO JBIG support From c2ac4604bcae9c083f9e2b755fbdc48c260d8d88 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Tue, 17 Jul 2018 12:33:52 -0700 Subject: [PATCH 019/323] move variable declaration --- src/libImaging/TiffDecode.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 96106b6e3..8722278da 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -55,7 +55,7 @@ tsize_t _tiffWriteProc(thandle_t hdata, tdata_t buf, tsize_t size) { to_write = min(size, state->size - (tsize_t)state->loc); if (state->flrealloc && size>to_write) { - tdata_t new; + tdata_t new_data; tsize_t newsize=state->size; while (newsize < (size + state->size)) { if (newsize > INT_MAX - 64*1024){ @@ -66,12 +66,12 @@ tsize_t _tiffWriteProc(thandle_t hdata, tdata_t buf, tsize_t size) { } TRACE(("Reallocing in write to %d bytes\n", (int)newsize)); /* malloc check ok, overflow checked above */ - new = realloc(state->data, newsize); - if (!new) { + new_data = realloc(state->data, newsize); + if (!new_data) { // fail out return 0; } - state->data = new; + state->data = new_data; state->size = newsize; to_write = size; } @@ -237,6 +237,10 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int TIFFSetField(tiff, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); if (TIFFIsTiled(tiff)) { + uint32 x, y, tile_y; + uint32 tileWidth, tileLength; + UINT8 *new_data; + state->bytes = TIFFTileSize(tiff); /* overflow check for malloc */ @@ -247,20 +251,17 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int } /* realloc to fit whole tile */ - UINT8 *new = realloc (state->buffer, state->bytes); - if (!new) { + new_data = realloc (state->buffer, state->bytes); + if (!new_data) { state->errcode = IMAGING_CODEC_MEMORY; TIFFClose(tiff); return -1; } - state->buffer = new; + state->buffer = new_data; TRACE(("TIFFTileSize: %d\n", state->bytes)); - uint32 x, y, tile_y; - uint32 tileWidth, tileLength; - TIFFGetField(tiff, TIFFTAG_TILEWIDTH, &tileWidth); TIFFGetField(tiff, TIFFTAG_TILELENGTH, &tileLength); From b0e5e5fb11f289da0c1e8fa0d1f29db4520b191d Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Wed, 18 Jul 2018 10:11:10 -0700 Subject: [PATCH 020/323] Update test files to be closer match of originals --- Tests/images/tiff_strip_cmyk_jpeg.tif | Bin 23268 -> 30274 bytes .../tiff_strip_ycbcr_jpeg_1x1_sampling.tif | Bin 44042 -> 71401 bytes .../tiff_strip_ycbcr_jpeg_2x2_sampling.tif | Bin 35896 -> 29068 bytes Tests/images/tiff_tiled_cmyk_jpeg.tif | Bin 31790 -> 35472 bytes .../tiff_tiled_ycbcr_jpeg_1x1_sampling.tif | Bin 46266 -> 72963 bytes .../tiff_tiled_ycbcr_jpeg_2x2_sampling.tif | Bin 26862 -> 29653 bytes Tests/test_file_libtiff.py | 12 ++++++------ 7 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Tests/images/tiff_strip_cmyk_jpeg.tif b/Tests/images/tiff_strip_cmyk_jpeg.tif index 9d53d167e05ca083a39dcfd5f87f83bb9589e3d9..0207d27c74b61b0b02e78eea3e38fc8431214337 100644 GIT binary patch delta 13455 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

WT^bZp)uZTu?+hNy@LtgP7=K-~B0*MkF2SKcs| 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 +o?x?bSCLebuIi%`Zq@lf;SNI&5*Vr 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 V=p5jo61N$g85k)9n`LbT9RSnpZ~g!P delta 15005 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 AF8}}l diff --git a/Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif b/Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif index fdee429855f0494d94aeb5da7a5a846af9ffd905..75ce833a19a4d3074404f49fcf3c3e8d2d2a6c00 100644 GIT binary patch literal 72963 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 literal 46266 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 {qh(K3t&FtF-ZZ?Wfkv>!ay&{aSc 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 diff --git a/Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif b/Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif index 49b3e1a1332258508eeb8f5592f5e1ba70586f07..ff8b4a409cac7e9220c74e1143405598dd54d769 100644 GIT binary patch delta 25052 zcmb4q1z42dw)X(y2oj>8bPbY%bPp*lIW&mW07El02rnVw&g&eezE{~n zAS5dYgdw{kAqRo1NUoL<0)ZM0Kp+F#T0c7|k^Ey#xR;f!m6w$aF*CEYnit%K z+11Jg4rNs`R#Sc|?+!t zFYuRifQ!4EE8Nw~Q_;=U4q@+&wDLl@xw6Xe`w1}f`w3nRA!dI5zZBu(j)Z%9!fh20 zUYE-642X_T*;Yhgc)p~!i#3L&&xIV(=YA=HP{6dlff|3Hl z%vV481tf)q{~!1sA?y)eh=4!K{EGnK|4D*2@=AoO)z!BCMZjP4|5@3}+0^Z7uYU}C zWfp<|?l<7S`&!8lVP^vR$nxE+8PxC-`4f1pYPO|GA>cU-SMetD379 z9O-t27gp8?XM~skQ#DsxxF4&Go`m@SqAc(SVg7~fpLX{X;{SsIf571Hv%iW+O)IA> z|0`O#y1D)@%l%pH4;50&&FhL(`XTVYVwk3t-~U8DK|TpFesR&ia_|+B!jTA9`@hHd zU%BWHg)=MgcXgR{+~{2O4)xE|4;iHIUu~?3RYK{{x=Z&SJHpjcVP*ETa&dRQDi`=! znUQXPCN_W0f5aa!aKB1^xb45+%pV!RzX%cdw?b5qaQOd{)c;l$!G9}7;i`i9PhF%R z{;7QK{p714MBH@2W~e?~73<@f-k|0n%3c8aDf=tsZcZ?N-BW<9YGKNM%`` z_~(Y$W09H2C|;;~;&Wdry1PB16Xzb9yd&ycY%!1~){GVp0SPfjo@$*t_R=~DvKWWGig!JrW^L?PWC#XYwktD%%Ao=0_nAmH(P*PV_0(y$++I?07 zFt<8}nk=Q-CcCgYSp(+pJFm^4DXMzWjE`>y;SNH$H_d7{7tiQix1K*PGB3L`|CKAm z?HO50MP~v782{CKdOS9gZ|bUc)O#JpNw001caDpmrr0-c=?VO7r46Xjp_2wC9i`A6 zJL;-X2Z{nG@45(QerTMz4>d_MH=y3#BYt4S>uQ2WpY7f?X;`;yrjXKdmm1@a$b{n7 z^m>&E$n=kg_){;psKzVC9z9k$dnYMlDM(JaSGI6NW^!7gortnSk#8k(@AJz>4sQ9= z!Uw7YoaZRFer=d4SSn3+j~Iwt8%$#pJggkgW`l%}Ouxvq=&@|0c$5~dtT2rFXkHs| zO1bwT*L>3B0AhDtXp$`DlG5XQmYghe5Rl3V!S)s7U2T1#2aJ!#TfvZjE!XTs_Fy&WPxt%cl%E_Sf zL&(INd%~?R7z;e{mnBS8>Yq;3!-RY2(gws9Y%a=$KZ)60qmBO5PfZ0$2+$;IIFn4* zHmzi}rO48hSy#(HTw_)*z+STKz>;u-0tY6-c2lufDnO6Y3~zl(?83uu-p(kioer zjvx8_W*S>AR=D87f-Er+!5RZJ$U&A9_l@!G6zEz)izN9phCfeiEz9~S*^i)7JUce` zJsMAuEUHpkU>@X}bS}lEa^+=MD z{MM!j=&o^WC!IG_r9j1KJPmHFtXnemg@<-NRaLSp+ef~_ zr#;nuOE;&UjBb+vpDFhw8s;m#dwn0tq;Mv0Db{oX)lv1|*={RIO2CrLme>#V2Qg+z zM-QE+cMV8CuSeXwmFbq9-kU3dmLNazi$efCtH9khq? zuKB$kW&-qqE|!=G$5CBx(e$LmPfNwaz?L{~ByrE*R63~veD<_Gu7nmWe*2DM23G#ChEs_*Do=u4G3dAD&M`G|4?9jYvr zk->uSZEg~R(e+o2DUrO! z3_h$>h6pSiGIfm4UB5@eDbIYQHDAi#FH_fBEMW0L?FUgOKDs?)ECtZ&TM$jN3^=7? zUw2FK-OqX!%ClL#i~*!hJcjRKN3m@eKz*pPV@i|)^BgMTXKSI|(FQ&~OXq(f8X0@lyoiTFb* zAE(38DKs)Yc?a)lHHoMj5Z~}SjO&~;)vVj7DLdraNa)YU_@{JQvJkkk*@~6sWiOJQ z@VmbdzFm~Kfn{SZ!-2fn7q8IOgeiEla{9oxMA*zMKRf-A(F)R&}wnG_`2p<(fIZu zt@Didd3ieWNnom}@IeGor|dA61P=xwq~<_tYUt40GB5Q&yV(gy`{heC!Xt-o>e~`R zc^de(*Tbhm^r&;KbXC@3Ql!JoV)fD=_;-t{jy`U+-IO13d`#?%(kc;MpDp~#6)Pvc z%Q>Z|TPDT2?!ZO}R6KJf&*KQLM)(4F5rv6CX8? zJx9H!6P@{I6*B&c`CmLv7LNjZ8RQ6Uh;a4fN}hf?$O7(m)Ta^xT>`Bk>i~5BwK`P} zBYW@b<(8wepCKv7XH&4 z7FzLqit>cDkhUWDRXT)8P{gRxoAyrdD)F+-WC66>ZHspD7M4WC)V#u1iW$LZ8w<}M zUUQSyk4d7rC?^gIUf$|2u&&byQgeaSx6Ziib#{@=K!cVWBq;Ema+4N**s+&4Qju0g z2?O8A9g;sgHl{z1OpJhrV!fQcuqwLoJc|$33uL-%*M&^NZfu~^s+$Mr0(0V#Wb#x5 zRVqaW6Awuz8TB)7=WPSg0aI7mq25f|!G*F=}H7S8xL!jo+WVv7~oIt(Jr_bgHF*kc5J3;Yd$fV)8c~}LFDx^|p z%6Vw$b(+A>&A0F~hHl4P9w_}g>P>C50VzA+@(^yJYvwApAN%^8SV2vKJ$tMdHZ-e_ zj{P~cX-!(xmr6K!K(DV>XhrL)B)qb2qwSn=SW;45Bp-%jJA&m)$!#SW5Sb)K&5Fmn z4@GoHPqqvwxsQo=k>JQ!X*Ow!SvLLX-A+MN1HtC7cVwFr-MQx+oME&LB0R!oo?} zjH6jk(r+z`7xXXje-lOQpe$fKpLa;M*P?e~1uVoTnd_^$q6e`il+IO!2ByIw9ZRv#6TR`VfR$MmffVR~GvJ+IO;#xO zd#}G_j)g}vGv1&N<8Cv&)X(ev8M-d}7>Lt4!uaZgOe>6t3klzQ=razpg z5c4XMq@am|;@zE;bvQy5=?TJk6kT{jB6TZ(b38_9$mmuYZh2kR!8^p*9lx!jL_&3u>R=f}QZ zPQ~LFQe}=wKhmbFbjZj-!SxjYC1xX6FDAAkDeK6eXq~V()^+6wyF3N6NKtVu;a>QK z`wglpp00bMq8_Pwz>DGUqHC#^Ik^{A$y(dcn!(i8X|xrZWuOkqTsb!$P7?D%)`X0T^C zySx2DMG#*Y&=SexNjf}=4hx4SRC-FP8FO$hMFT08D`4@B*@lysbAUKwnjuBq|3qn%QcST$$s!?y(ri5vy(` z*o?o<@-QFqO!MHAtLz6 z1!!G}8Ugkx7@Y&52kyw^vi8xe_Rz5f@t~Vt?&g(~@b3m1c(VJ6$MUM*t{eMe?06G! zW^ku>-`R9rer)5x(eLr`teU&_8|CS}0l{Z|*^<9Oeny3+7K%ZR=#IH$`6LS$$7jih z61PviDO=1jmwWIg6hD8mvMSBCP;ZsqPp!1i->PoirfTE~t_LP4$sLf_H{*|ggFdAn zj;!ePn^bzd7N@UnI>zeNwnz!+oqDILR?_sC<9Meo0!5?a@fQhko>{dXmgra(!uMg% zefLnczK+wb_XW~WTKYEPA|*w$?>3!V-srvd10|Q{T*`om3L*12Jv!fKc3d|eLI@@pAt313>66&qtW zsAPOgsKCTpT%%2T9T*-3({01)2NMPpC3V@PRT=bN&^SM;Q75kT_(z=)(U#;Trsq_{ z#x`H8$-e`c1c;WQ(MOQIo2`%r71`;UYPz1qtw0Sn^3JB*X>N3*TL2Kz{`2rlO6M1syK}&or`z1MhjIs6 z9XBUL#^~V=-tS7uvqncK;tEU(ped2E>AEI&5ZZX`^r`!?s;qTd{@oI8?7FWT)-HEQ z5~f?0GTKX+nl|%aV3mHxZmhM3P3|_U*|&hge<9rLc(NkeR zmt>x1R&=E8d!}dW&CRrNMNL{{#SA@jj`3(u|F>qvYw3ydOPUt7@@}GL*Ix(EkL^4x z$>`<70~d?;ieRZm{Z99!(j!lW3j$45uCZ^{f6Adht#LHWV}2^4LUXWZoEX`d+YhX| ztRQ|Vsk!;zZw7Nv`J5ZOxkS8=)n>eTOY*AXG;L{_KgNF2nC+_C;8@-hl}9#?O4)aT!3}F?e^cGB&z*1Uyp@PD#9vUtk+??PVYrDnG6&3 zUa;0>E9>6zWFc-i=g9*t9u zH=EV*WhqX|hGh5(Bz|_Fs@>>5HtD+1@^W%~t%iJWe&F%tW0ZoSl2m5EBGV<%9-!00 z=q9}sf~)k$b<3fh?&3Awq^r>j&K;pDPfodc>WX=*Bq9M6$@)l?Z7a*D(43XPL!cv; zJZo@pkTyjLQt3zTmX=+q&QbiYtbcVPozglbeRZ&D_)3_Rx6gZV;cq^ML89f;`nXbmhwPF~30%eip&a z1=GK9y8tV*;%=qYrrAq+Vk-HxZzsNlTAP)(wrhR%U>~W!73&iMmYz|lUVZ)Wu-IMG z(`Q_X&58OMq06_LO@KVV>dkQHiK<37=TXQ2gpqu7qV#303LkrHAsWTrsNB|qnqAP4 zuAsbgF%;kvzSJ(-^AJN`HnHyy+h2P&kkH1}39N|^*kJrB&DA{K>3!&@ zrss6CF|R7ICvAWKq(U97jHFQ}{|&NeNw-@W;QrjaTbpqVB}@{v7gKtWOYP$J+GC3&S}H-nklrD4>Ihj4pTjD$C*K9 ziz4f_3~E1)0d-A+kDH}k9{@!j7F-i<7qAuM-3nZ9bWPgcw)Uu9i>5?j;+@+<%}m^= zEnycyUgBwu7sP!*?!KB2-<_${2a20EM!b{|qCO0)S-?1cE0_!GpqIEbc-m{wrvjJF zG2S7Fq>sE7Tz@xM4_a$BoDFZ0(c2?owJcmSCo9M=1=>Cy9TilXDyF0WwYih}8UuLK z%^T0d=MQ=@*LOFh&5akRj}eg z1?xK>^&&y57)|{ncx>?kBmT)mTIHd@K8*YYz4c%E%CJhC))BvMh5yW}`J!PYu%E#Mzg zvn^x_zb=;7F~aOqTKvNPF-0W9jXjG&`#qK+0=EiH-kUzO7Y)7$fei*Ds8Yc2i%Jv6 z=@>RW9*>byndP?IekQgoO~3}sc-z<1GpaT-Sts}q^ZBxF%bGrDTDD59%A{cP+wIqj zK=`rn3q-B&;1C+4t$tW}XPIF$QOTdUFGO(DCwHLauqq9=Y>^~g%#mz758Uk0J{`glZ2$mUzZN0D_5jQ@9R&f5+ zdohu34cKMjIk?NIDw~w<2%k!I-Y=)pu{J469=cw!UNyeG0kO%Ma2RiPQ2-DKoi#>f z1gIN4eYFk$IFGv~@3Lo1;tip>a9p8_dFhL`F@MRq+uQXZjZ1%1B>sIvtk}nBW(;}xFUmlpb+)&op6<`2s2`(tH&iN zp)Ov!z2*-D*K8tRNj3F>2du((vMQfjb)oPH-P%a?s`Y-NX5f);LsjTr&J`)L7ar1= zm39zJW7SAPEO`wU*zCcF`BSC9d9p*$TlbG_Bt9M3bRE=E2u1`JB1mXw&hW-EXqPyY zeK1sY^_Zic7-l+e|ENK?S1n#4+a9W<64MmCMFuTnkle(zaFJiT1&wonSlZGq=#>~) zOj|CX6uxqO7)$(o!iJ z^+Mh_S7Om~?+L9Ik?C;>Lxqox8CqD7OMGX`VDR~`*>ddD$|5W%Y~#;Mh7C^9-Gnr> zL3YrI;e~+V9l-E$T>o}Zyb~j8J(buk?*~ls{@X~cYXc*8%Oz^=;xvq9PU%BXTQ3Pi z=AX1Z#!6#}TUAjye8%*5SLR`DUzJs#OpUPTyXWGX0{DltS}?%0(syhH<6S4~Ahc*k z7xRyl$Pv>xmsci4q{HH;Wn4i7zd>|dzd;WA`2(>9*MT#z2)aakKib_Psi5h_n;VHi z{*_K9eM%1x(Z+KN@`PHXH@!A*^j#o&kTEUn3&U~qG^z|-CMadq5orQrfiG|3>E5Zg zv_vP#*(APgFZYhtMmlSCRcRWeF%KINgraKbYkE625(1Q>?=3VP2B1EP+|SE$$UA)^ zN`Ghem4iZ+<&TDjFS@3AiM|xwn(Hhqej@?H#(t`I1d@Ms{`mUEw2@)g<;(gRw#wOM z?a9a4&*diQt;6mkm7m=wRDCew(K9rwNIP)xV7lae01)vo?KemxUf5&f(X&RqAW5eF zR?g)lg_<7FM%Ir*UiA&FcEL}>-_!;Ary9RaHw=o+|A+_x(;Im|Q1_Y|GUUFarunIw z2eVe{C}2`b*kRMhc1-nNd)YyR?kvuh8Diym5q#1;vP`O?*Qn^pH-Bg#PNgz@xa<$$ zvAmcq8Lz>{svDw49qYL2`>T*PMO0S1t~Ni%M3k+P0`i$6Ts*VwIJ^07Y;$o^@9Ls- zwes)`t4!!+xL;%Uv=0!JaUMBu>)umhj1IB-_;s!F*i>;1FR>f#W5#pkUgGDIE-tLU z#sLCTcas4jmq+X^3}Wx!40aY#Go}Kuug5kA7pU9gnS>tsaiB6qBy2p|kx-tgiT7Ea zU2g)t-GZZzD#{O{e2`(&wQcreJxVsa@Oxf%n`+J;?oU+&Ixh%?Lh2AEF4rL;4HE33ezCJMb zEabSJp#9a1$fo(25UBJHHmdhv#A^poVrjD~PsSIq(B3_Z=XX&1?|*}cAXVud2?F1S zb5Aw(ceozf-JsXm=+6uQQTH$^8Q?YA;%DfMJVDxq8+$dG_lRh2cMra`W`P)X~qe8TbE2jCKbNvSZ<=>*f9_WR@5S%oRE;9b9ha5XRD)> zuZW&`vw-r{rA+9g>_LwjXkQcQI%Eg@{`5ck__gl0?%)CUU}Gzt$#ZK~Q$bESQu*m2 z1~}a(0gh?DPnc}ZX@@2sBtLu2ENji9VP>4*Nvle_eDDJBlSE;o;`&<>1H+9hQ+M~3 z_ixDNxM;)gR)QST&pxg=?C6SfRoQ|$gH41!PN&92bRSt$_9wJ$L@>cjr-K<$f{e#6 z%)MTa4}1r5H)SQK!J*W|(eJz|Ey>@v^*2RV-d)_)Z5Z2gaX$nK)up`Te`#+S#a6BP z+JM}f7J~@6wsc8iu@^jXlPSlxpBIC_7rJH?_xkm2a}(`T-SKyRxTDVRCU3gjCs=k{ zm3mv#`m;r5pTQ5#@&ynR419sVm*OA5;zmYt8Ny`asNF{S3Q_{JQObWVLDqc@#)oY(z-LR7`an+YGrK?$MLRmf0 zFa)5|nn*+#;|qpkb}lKWS>7IiCoZ_kK{;wr&P2blJqk!UYhjtbBb|<}4Hi*#YC-vc{97#qG?}9I% z4##NjOcK`?BW5EG*A!LmovkhgGuF>)y2n3jn( z*4$;@dTdkQxi_9l=ROj=ob?+d;`ynVH|lP;B7}-1N*H|2g@Z)WzFn`aO+%k=1Jf@x z{W{!DzHn|dd4G-N$?DgDhn}!ch!Nzgz|g+Ux2a|d6YNub!Jm+1oo6bJTh%3v6E0_} z9hUAq^PNkS_oU+}GNpA*A3b>uq9+E{9`0lI^~&EH#&+qk4)~5IueL1@!jg`@Pw!UJQ>5FS z6K~~TOP7vgtt{1`=kKuveBQ^Og!=o~@7u&QVhh_RAIB>!)l9_SyKsW`@wUIPna?_^ z$wURO2{cHWn52|}V)iC~Io?8o-Asd#+(L&kfsFO55)!h0xh#WH@pU1qfPlt$#sZR@ zwRnM=)LLi%=?9oeINz#td_hxwjKN=%U{fe5rK&?zp_Yh1NpplGs$_eA}}a zW+JC{9CCr%yvaHzmAPN{MqAL?l8|!Fja;)-mCyT5Ym?UdMz3}zt=DpoP=}a``D7=x z^)MMR)NzX2w;TDSz;kzI<55n=sfV9_VGkYe)>LV%o)Zr@Pm3`mQ7{H3q4hVY(Vkha zP&^RJS13;WSnm9z^Q`Qp7JY7NP*-)kDm7VK5KqMRFh^-ww@|!_hZd6<&u`GPvqA=; z$pDmM-_^y3YjYTc(W->SasE-_yx3WLaNR_zbS%?`QV72W@T~dl>DNL-qaU6L>V8{E zSvGR)eTH2L%fCUig^{e8w{@wd(WnOZz30@iUW_HvuVMnip1A+QyR4UX3fTT<3+;$2n?MEcid2b1M=ZLi^!!ZCA2d@isxp|(ZJ7)^av#zgd@8pJqW1|!KmVmx zb|#j*&^WBB1q>KO6M{NGB!mp0VtYjA*2kHg=$_%mraGnOr&eaGmS1vYA@#!Nw3ad^ zT|pCH#+%09#^xL|Q*i}Z{DVu6_D$qE}!;);@R1H6tYK>VYN+4 z)<1A~D=5KqY}AX$8!soKIi43XqcfdT~CvHlMMVczO8P`;_rF zsJ|r#IiXcQT2!xzLS-0GIq7J;gi7#wH5tfJ>wYvO`r7^B6s=imUfZna@zH2>tgB35 z4b{4jU=Wpl5`FJMNg`1dx+}md9a$4<2EkhJb7yVpX#!$W%tp)-`$DrVQcOILLptvW zMy|aH22PYxE8ZiOTOPTjU$?VAbxs)0I*X-x>1PR+J~BD*SodWUiD7?eQ$DT9 z6|nsrMF2@sc#EB?ZbZ`GpGNAE>& zbs~h-TtU+k$_g$g(LW3&WF{r zGoT1On=Y|qVPHCuU4?tiL*g+y+QC@QNJF-If$dj}tzIT~97#LRJEo?y>Rby7;xh5u zNK*IsT<~CQwHorX80*y32wImBXof<$s0&DN%xB;X7w*ZzD(@Du7wpyEeLT)lz*%y@Px64{0S)oW%5iEPHV6JPo=$0zZ+uSI zRb3Nr99@X)7+Q!=6i+D4WVXgr1)!g*MCKFoPXrga^2o*gnIgu8?sp?8a#kYla}15o=RCt6=u3 z$AQ*0G1ATx%3qyt4XMv4XY}4_n*u)6FR#6lQt1F#Ku{tu}b}PY~!k3MV`406uHiR*-dwzxBcokHLJ*f zU5-rRdV3p`dMxhzC4v$O+{Mrd&0o)0rr4TlFE3eOsB^leQKRpk=S4+d(d~X6>`eRO zV_YVKGLMP+x?pPGO;-ttqG!*lV?9uo5C-fgUb^tPBptaE33`u5%|AsInNlMJ=pd*J z{L%iBmW{*p3|7vU&>!6h0`Ht9=+nT zKDoGyEXY0-F{fi!|BqZYudM>>Kpp1k-cD==z@kadv>XKs+C8>Ch~*g&Vicp7l&J0i zB$O0_5o`}46$n-M;=XvUKmG0PiSIRTjQoC3nYfUEM87k{m&(z^hwpTeEUX5r+sy60 za0xcN2at20Q0hvV%QG%+GQ!?h%N4&OA;Kvii{v`5n^m0P27}6eT183EMupbBT$cdtRO<1D{N6z)T;+g*EDbsOeV&rd0%wf9hWp zlrv6Mu(0n&qAAx6dF~NRPD5w=tC{;`Qu&%ob0n#ZDfc;;OrHrw)fsslQDB@tb?L@& zF6=v2plFf(u%Q09xvMsVtJ)d8O-TUCBtwkDZ9D^ao1P+k2;s@WlU&ogIw5|TfsZT! zyg8*w^eRHl?eiDM*=~I$RgG(q10+M9Rp_6JW8LxcZ#->U^Bi5SROnD`-t-eOg(W9! zOPr$uMEMbU+pJYY44pmP9eoC}p{4egjb_N2~LdL~D)hG179N5EFOhm1VG zq(Oywy{TRthfeKX4X#suYt;eS+0vA=wY+nnzu$MwWfUa1w_{>dh2<6Fqd?kZDcy`+ zGP-IdDSQ>ZMQ>lP_jW2}NoVoS#B6Ty9CS6;Dan&smRYv@H)y)F#F27A{UuPl#idM5 zD?RZ&_rym1{aw{-afy2)qXt)9q@z)rU-_4muHe$EOTC7$M)BSg`k7RTek3wr{>OR! zeLYv?HrKGA1mmj$OTioBGOu1nDwt4XPY+aPRn#EAL815WQ;iPDKVAc-IX$+;h2M|$ z78Yilkaj~d3a{Zfskf=E%ff+mRfv3I5RY+ZqjmDzmG_z1%DFje(tXz~%%xu)n*Ho~ zVQc0$h&X%qB0}fLq;KSgtm%n^uKwA4y{%Han{i#zu{ceke+nt8fS_H;L&$!0kvL4* zdMW1WdhI5<`6^*;WfxW_*seu?#1w$P7Q3#{lmvYzXQPz3;JPK@*Lwo2r_+0tcG-Z( zi^cUk#zTnIj;NxSW=<&Ae&$_L@_%vkTNi2yk{Y|GC)++AV%zFF*Ti77&NQ7Yl!|4R zq86ZGxN%Zy^TD$%DCOI6$)w~Rt)fcB(4$A5-x=!;<&@k^Yg{OvmC`(gZNZA#+biVM z=TOH(&`86^hSZO5!pi&~4mm8-xfJz&N$7ba!gQ<4A!8nIS1N0x=o>$un)GDx+Sgqd zVx#%}D|p|2aP@SECKR^;sKhE9>8LKw1mjspRP;!jTA^6t93e=d^2z z*JeUKJyl*$AB>R|cNkgcxzC8rz6{Hx(LT5(enL+hF$)Hh^#)PHfK~9-|3W|}X@@b^ z8;+OWWii`&n)_@C%@<8QLE4oX>p0h!cQVO8yQxR-qXZ!Y{`8GSN|b?Gwi}}XGX)Ci z99XkEcbYZCZeDB`jx+}=$bqltKs#(g{OGOAh-9AGfWB%uRr1{a7>hToDSXSC*|Tor zt8m0?f6An{Y^Tz+5Aa!x&^n6ufEx;Xvx8A(S?Oi@7hJXU709cr$vl8MGHLa#_GA7$ zqQwq0VokMky&#$@r6&N}ealV(pU-T(?)KQ-r*)5is_78xZeQb~lkQf?HJ=(okZ7?d zhJEi5>Q=db_yBIHGk*xLK!VSfFq4jli-fs@boRvTi`!}By%wdr72ldu>ebv7vA7}45piKW;XFzcq1LzxAgR#8h%tMjfT-VgDe{K!jvt$~FNupd+xV?xg|Rj^ zqzWUhUc&{C;_7ZPe-F7Sa__k-4ezfN-83Jq)tcd;axOza!#YJn)w*djYkv>-`56i7?xEm9z$hGYCYTR>+JUj#Yrm)Y@@oY@LWY&h; z!Ty1oW{)_~%K95*+D=g~saNVc|2=t@=vmWS-%VpLD&}|f@1FC%ufQ}{Nw~}jFQ-!= zGrRALOit_Hr^=t!RiYZTqtsObA&*oTQX^i?KMTzeOIuKtV7}@?Us8>Jm+DMs5~ebwj+K6-R6Y6<7)m%x9(rN>ExVr3H>*u$=<)|nL73QVYu60up0G} z`)>4a5HMg4w2=y=Bps?&9y>Dl22CrU(+)SMJW@|+|3bCQ`Gel)W@bZ90bOfWRRLDy zu7BUQqi(ignJ5?D>T+IN`aldpxrf1l2p)lR!aDkgfvB(Z!LxSn@xn8>KvA^wRXg;n z`_!!;*q!92eaRr6iosMfr|>>-xVnBMM50@z2bj%~PZODyfv-y z#Gb0Zhq)mWOZb{(Im;W;csZ}@*+eyBUyaY>v+=YioV5^-&1=KZd!`flLALnav>oqK}@2GERh0`|OQDf7$;*w%nxazG}i?}`bp+kb%4IpmYRDP+8tfDO+cTb<84h5c>lvgC2-dF>14Mt(Kt<2HR(*D@< ziQ*L1-2?syIJQK85#@bd;thA}0FV=|Qg

NP0WjGqvYQKPwx)7{vt?n*{`CdSiPp z^^$MFGfvA?NhV0LZBL-(Q_@l{HrFvpW-SfMCapDUpk+nLAwT zZyt(>%2`JpoVls*T(a>NMNDcCkk_jU%I&@_ZaWpZk9&r3YW$?s9zcfRunts>O{SsV zp#P=$_(C*rvZkzyDLpp)a~9ASxn3t|Ys)FYKq~Iu89|(P@h%!`8CsmkJWMWejCGw& z)*!`Z9?EQ(Pc6|ZztjiG=4jHEDO>Bt6+k8@U5UW-x$3Lg^D*@E5gaY3SnNEVI5DC- ztfy@L%|tSL%32g-Dwl-Rqw8gvPdS?yrvh$T=GhV_Q{%_`l_#0Dg#a$}0hrVoEmUN+ zM~@)-%_GNm>Zt}VBWTX{3=8TW{rn9QINmc9<&IA+Pq%r4xl_>}LnawJnP)k_GUkR=$~`%FZMB`3&T{`tPS z`j$gheo|G#%@|8@zj%cNk4Yosxr32=+hVr9!<$*PW}>IMA7?VPN!G|ra_Z+D%h~;g zRx)(bK;-H@K8QlLnab}4o%~J>BSD3)x&lJd8!hf?dmoG7Hs1oboaXG3eGlieuWhPK z*ZP?#7)o!bmDt=K4m9S)NU%QGn<}eyoRKu#+AHQRc!h~#Y3BH~z$wu4Shu8}10k8?2dq3Pe|ZopV_B{*zCu-lbh3S8WrtTA~QjmQGpAud@%ai*5M4~fMq0~uIyNjZAo{?dHJ z)x7gYI6^{mmNTEQTw>mzyk-XLBypRYYkaT!M@7K zPvwl+lfK?rY!Z%UNLx_QuSKJBsDXuylm!lvpc>M^YME{L4hv0Cb_I;kew}+cIW}zj zZFDpK#YQL*Fc_0tX}fLa8glrh1j!?)mZ@Qx96;hzxWJ;Muo15<+#DZ}(WhqmVa&8A zyRKtn)Ue_ncT)6Z7!Ql>EI*i1xz#gS%;y}o;pT}EDbAS?C7fPo@yK3WoiNfp$R-|U z;&A7pBo`(a@laDs`9{SAvqo`Nt^9clN-%%VxhNXg$wK)do4O4r_NVg`+UDEJas~DFm(;L!1 zzRGL@tJAj)ee9(V0`ET9>sMN*I1*H%Q4;oEJfD7Xd1j)!v}Rg4vcS! z;uhi@wgPCAHq0+R$ILd&I9qa;g1qokxV)2qPbxQu4jz}g6e~LBmCpYLeHO8GpU+EKA{yp*px`F#GpOi>~wH@{&TM(;Vq>( zCcjIO7!S|;^Pg>pnkEYH_;FeNFc(I+vwq>P1q#`WL;BXcu5DQXXUvvYmzu8A-D*ztUsF=`7B}$__A3{o9IflzzA29oqLXw1lP2LmGHo@1RASawKImLWT zcbFwyPv*?y$w_g6>*8LH-{rT?i*j`X7DF+W(qB12*26V9w&vj`rm-(voY;V2KOOCM zeY8Gm0Xb1DfT0r^-j=MJjqUcOYM>{Cn$1tV)KQ3M=sXhjKSTNM#lB;-NvnuaZ7U6U zHYoJnNNKt7&S#Uk&>kX@aH(tV0c2h6?)~P_7>SG9vrbMRXMrTDg zHf&hDw>+t_m&2^xfL8(GG(os+dAO{G&cS5fLq$o|Km(U~%p(tnw zB?J)ZB@jXtq!$(GOPWRq#wvaMyjuLc&5-+ZUe(w;Gp;Q+>YH2KV4?Px0l)?DE8>(@fiqtALgQ%#l z9pNc%%m>IO*>6J<>LmNvmI3OFQhi}7bLe4+f?)K(W*W_W4ny}!WL|v&hmhJw1y@S} z)`4Zl*fH}60Mzj%we0!DWPlBS{+m|xtW}(*)d8SD`6A!ICC(KyR9gtxFheYmtMiza z*y>QSJEH<Vu`2tv0F-C`9lF#hBKrMi@a%97iTwUb-2-A=Mo-j6k2HBPl#9` z9z>?CWcUsT_DXJ>i)J{tAj0;Aa0qqx*9QIfUjWMN8PV<^V{_6?^F)Oxr*P?su+uzjAalRlYRsj> z0?gYEQ!~Rgz?4S5a3?BGjK%7Izc4D={N}7!&PyEIW8v2UkbNYtWam-=RNC)*O)sSD zo^Xdgh&`%GbEORVBvH&`*!^?{R5M@h5NFNRhME|yTr~akHZkI_ORrd-UqYL%ge-@} zB>2x}eOM2}3HJCD5qAr+&Pb%|)x)o1osSb+evI5QBjevvrZ8Jv!sV?mt@{A=1#le@ z{0Z4M;bJT{b%CctN->Xc=?uD|U=vAp(P2740$ZP|;tKFEgG#q`QeQ|6T9+;*I{MQ^ z7DQ|OS-T$Uq~+c2wl%M{f4UXm2_X1xMUn3iZ^Vv9y5_aMihvI$n+c8!)R-Lo)|(Zi zFCPBi$NxXL27U&cWa}75Gcm+tkwAC9ocqh;U8kPkS5^bUcNl`MbTo$UB$}=U#WZ)HX+v0W8`-e+qi&w;5El- zCN}oWCH;F(r@Fdpr3PZK%o>Le_#&7m8@BhOe^JJJ{sFknJih7>ukqpF1_^8e&Z;fD zTYYMKn?ADEuZ%WTg&;nQ1Z?V7Eo}O+^@ZKOnA!(3fxG?yR9xLI1ACzFl{WSD^w~J= zLG2YUzm6fFd%eM9d74zsRWvw&u9iu9@(;A1y~U@_&N*_mIT3h0=gXuZ z57@%qb~qK^2bj^@DB}^PrO_}<3*)-sOzjmIZT&d6HvHaEyTD zDkV&D>hIbfwmdfv3hN;q)Y_zSGtK0!7{e2oZ#RIJ1KE&8?|C(jf(-sP`LeHVA3Nz< zlxy!X?41yrG^CHp>uc9j*`7|iBwquvk?mWrp@g>$OtxeUs_ky!`GTxjRPffSWHM5yBc$%* z5)s!1Wnp~i7@Lj8Hs;hY1L5(WkqYdAlcbDNKhKg}uy~x+e;<6fZzP$@DAM)VS8uc$ zL|Z-3S;nET9vR{ry*odbX~i;;!p6f$OM$FDqOdcHvikexxdnwd9VQjDgHsMB;x*k%AXoBd1x(sLmO&7*5mBJ|K-H+(17oUmn!DvA zPs&v7hFd-m1(Qa#z8{Dap90T97_mSCT4n>^elU2OIa zgF-I5Pm#gGF!=_t7dHNj^pU0Swjx*tcl&=NX1t@XxaK^W{(CnPx;3y0!bIVIpI0gU z&0g+0B31JqYzNXgNJtC~KHi3%mbo-$Et&P0C~~^-ir0!Dz%bmGXrR)Qyv|j$mXHG4cEP2gIHtW(RouIsS@DM(=vIt%AQUYJgO=wp3e?Ld2)%z zrodg$f`VaNY6e=PftC>mxRX+eQ_3+)BWeYCRpNE}&>pByVS%)a{IoUZ_Bf{ z%0Kok3Dqys0pfts4ter$HvV1-FcFUq2ON7nXDQ$bSN&Ad3;A(cXq6{o7K@jT+I8>H zmIvy3XJ86@p!|9ISn9^d-dCNdVTMuqgPWL%I?ur ze%Tqc?@+8Xk~-n1`ld8)|J*`9C$;LXufxw|i&l#w=qtpRUT@y}g6JV7upF#UdQx`< z#ezWF1j*e!V-0I54jYOg<1_K(kQ~gZsVR}px*1hXZG*nVgJaQ#saWR7w04EPnsZJ7 zjZtzp+>-E{gv8dwNa#QSkx|rF3;_GO=BM`9JaB5f{ArDLTyRUYpw@9SJwteE3~mg$ z^GvCnJnpkr|Az2AugVav?B>ms1&uId$wfMbN>AT#3u>%Ma-gsG@t8 zD{oBHZFz1O2*q}UzATR@NNT?Hl4=&pxzhC{yH2ji`V;E;lK)`tYhlHUz^l0=$6+j6 z|K&I4tgzwg0C<=}%)eB7!4%k$ASo=0Hk_O; zg;F$a7$;K(j*;Tt+7yuFH5~V~F#n^{EuH`sJeIf_jb3_^HL;M6lCD&d=gV~)S)Grk z)be|28md&m(l3NtGiP`DLW3N~#F4CV^dlfBo&Uc`!e^YuLtPEWz^iq@=%d9<#6h+y#3SqniG}_R3Wdj;|18 z#32;Q+}4_ZTaCS{{Ai0+N?^cY=4#n=gNoaiTOP&j}Gp^aU zlBl)qtWXmbDrsgWbK?cNfdTBTp4tVo=MdASIS{Ze5E*YyaGI!6p5bskW4-9R6y}C5 zqWkMe#V+&5f~&1ak)=-x53JThh$Tvnh=72qtAoB>M`IvA?1`HX%LvEl&zbu=x45IJ zAfNRL*-A3B;*{(!mOj|+mX*@*502+Z^c50Ib8&NRoWc}|RIAE?d3`CKKlLNGNP-ZH zDohit=fWJl5(05I_aQuEAyiCe;nZygAgnY@a{kvcPh}Jl7$^X7B?|!TI|6~K;83lk z%B_Hhhi-r4s^lHS_=O$F9I1e*HdC0phpzeFsh3D|@P3c~xJf^TQDT^mSmu5r;B(># zWD|@-C1T!^aO6khR(Xxm37g~DE*6ZmJ)(_&07lb1Ky9v!y=VA1`D@|a(^lH=ng&f( zMl^KH!0Iu@xNXRbFD*1cO=LE0$J21eeBVtYcm&~~xBbMLAoQWl^Nv%{nN_g)wqq3# zGVf6la!t6Xb%dORiTukz{M+Pza1QaWUj64BK>Yi${Kp(X{L7vE$BdI~%l)5?G5v2M za;%Lb86v*aAzfK`{bbDS7rJ+RuXqkURoJa$%R0mzshQ#AjEZ7By?M^KnHv@GYp^^& zC0O-+X%==!n4hPE&FcP>{ZDK3SCQ#%t2cpBO0&*-1qYs3B{~qVQzBD;{E1igl^q9H zO1m&o#(G*Vb({KYI-Gzp+%l=)%ohtD#Z{5{A&SSCDI|wF4D1KZ5U3=T_$rpZ7CTR- ze)*fb$-g_)d9dhpCxhf;D!Oak<>~-N+z&h}OBqZx=!^!}q2m|NAQtuF@Cs0Zkh%{} ze$&R-HBsKBJ>E+mCnkGF#8o@iCP7G&N%S1+wy%qbeL{{T4n2A{|D=CYY1 z9C80m9kT*>enV{mEK`{QG*L>|TIeIlQH;dSmSI5&DoV_V-77^mCNHZ5cbEdc$Z-_i zt1u!hZ9eVt86&{A;`FHn%+Ir1dSsQ%7hgL26|7jTH={PuzIAmg`KwniRsrkPD3|z& z@z7W%H5$>-AX z7PS;AJ{KC|36Syt=VECIjZc=R%3<~tsZVo>ja83es`u4Z<6~`f7h5Qs_@~>aa4GzA z1#*#!&;(zXQ|eC(vL6*gfJGKN?yIf5FEDmacM(wU>*y?hPd^ho;Ak^e7JY*$1Dg~N zG?&R$nRQu#CcDd5>_+&l(TVV?Xy936_ay8JXx5=LHEiR)yz(d@H(#1d=?QakJKg@a z0j=7T&CJSimS~Q^+Q4sAe23Zf$M&7 zKtN-YYbMflS0?%FLdokx$8_hP+o~3!eO4&blVb`0Q1^Q^~iBGbR&i#&HnzocAw9+uuOXKoyi(c`-(3Mq+woC645{)By6 zW&0wX>}tS)$nTDuzW1oUP4EVDUQB(xedbxUx@rqB5S4G4J6T^j+>vn{RBPITx1L*| zxTxQnYu)WoGX3B%z-;sTJir^l>Cf;v|7aIh-I1XY`wLlx%wzY4;#2S4lL*r+q*At< zM<f5aeFVp5UtJ@6e>A&~puk&nVtcD1UkLbElz0P0RwxBsf6o?OTZRyfB z-T1CB6oQ}jPB$g)nZ6gn3|tJal~H5$g`J0o@ZrJWRvmt(gUQ#H&7)kB2O{PDbe+n) zBJ%bd+~Wlf1jS9bp z@tKBg1FHPEM2$<2yqToR$$)zFQE+Vz>rN*3!w)GuAD!`0{<1>Kdn0dIP)`zvu!I8f zRq~6Ads<>Hx4p=JEn6?NI_KR%o4`cSlWtmP#v!Fiv1%n$$zDx&a*BT%%lO*D2ED4O zLc(b@y`Z@>9grPhAhNtG%i5?!LA<2!*;CBDgZW%cp= z)0@cWKMnrc5J%iKEu(HIdXKtVvANwAbyl{)iZgIz86H^Sc%6C3_6N|xt5#(lL1BhM zXF4G2NMv+J%wY1_O-tpRlPod4DZFYtlX!kvPt0j*idxGFLL};q%c^#U+SwTLa9Bq- z$cVlV6==|{%*H#sBGAm$NzWiJX%a6m-3F?>Cq())2v1f%i&z&zx4BGE=vp(7`| zPR4^o7nLCeR8g`Td{=Pz-y_ZF=pC=t#O_A$EE618IlMVL-*cDl55QJqci%zZF>^8= zEWC@k@8H4b9Ml}4$f3vr#f}kO{C)6!Sb0w0@rvI?M#`<9`J?tFkxlFFY~~am^B+ zFsjvIv+n)}6kwc@iN?;qT;*ScsG47O?mB3&cXwNh!P<>mr8IsJtFv`d=Sc##6SRKG*KoyG zDp%!%YHyBGODhpLG_z1l&b?9S`^cW&i~h2>{2=m_ak&kv+2N_jiOn+L1%rwdV}+_& z$vcp;!DXij#F*Q-SI}LsKp?5z=~kW;^(At%#6p2QLyjMAN&b*!U~A!eG=W$qjUO~g z&TkFUhZ&){Pmnn8y8|i;_%9got@1f9>*MYybPjxKlf6zaRVSR-(M8)yU8n`$EqF$}wXK@*SY&}$K=>p3=$bJC!VosTa7<+rp{TthLg2lnOCjTW zVK--D8?7fnlyqy#qu#H^Uw&lf zJPN#@T$sC#8V_jcH&}vpE{;u=RhyNU%c}2M?w$wP?fC@2r*)dI+jiUphmxq2ul{+{ z%7_!S*Ki}u$IFUw;c6|4Q6*PCOZ~i09XF7GllCJ$A5zLqTD3nVku`Xk`m)gj(@xkYl$ZA5h*TT~X;mS@+t*V!)Q04Y?9N_cte zTQ`*>fuGHFIO{NkvbF;sho35MLpcW!*ZF@FL*Q8#`I@!RvVhb|rRz*;OyU0?j6NSEPu>ilBw;wVT z_&LO1+;ziYYTgmP$^I+1)~?=+V&zD=P0E(D&3o194Sdg{&!;Er|Z fW*88|Af3dq_IO0IfKbG>5aJXb^2r>83!gc3qa9L-2FN;JO2B0rpV#sV7A!e z-;tGS3iRCl?Us|7I=qG9f2=@k3i!a~iXtMK=vWCC>6NCPuoPiND6lCYj5qXkH0Ul) zS!q783=pOJJ8ngCDn)ASxF_cdUNUJS8v;8(&TvVX<>##8Q4w?LB?cBuMb~>gurLxO zdt6=RJmk~=^t;yvkV@?CN*efd2mMO5`!c4qO4zXO#tX-L{{-NNC-~|Qi83q90J-&P zgrrI1ZklQocMTChRiRa?_m%99#9)tUT{UE1?!o>6N!$)yCd}!7TvMBdXF3hd8AW=? z?#X=SN*1G``t5HTBF(6kpCUruLF)46{oqy$J@56XbFVsD=FJ;OU_>@+iZY3VEJ*}g z%Foww;wch&4MpK=AGyi(=RgxtslKCz@)l@wX{)ZlI)I486;*r=!p-j%93??e%zvCf*kG&Kg1Y>g(!ZmF##C!U+lohC@H(IU=- z@AIo0jhbrjjqsh&=~^cs0LC57h4vC?a~Ejpr^abNTBe@GkC=`7VBjg3T5%PrX&ogt zg*lVn+a2Ig-6ZlUfIYfN%v$TjI3-~jwzEnjAKF5HWnnfS$K7!@?oi4A*gBIfE`#fMJ8&c_^wT19y^q&{P zSEHXF_OP%<5WFK069`W7A#Z?#+*Mj@A}UWbxhlX85bJT3bZYa`&RH4zD8B?v0v$;W zm4vu-s`A;^n5RG7uwgv=8p!pg%NToH?FdjMmyTFgJbxUoJnsm$TN9E^ZXo&(G+g2b z%wtQV)__H#;9J7t^1-+3)wKu*WXG8y&8J|2@qy!q`sdK4sE9e)3?F!8gOZDY;c&OC zq71SV)hck3@Tw`LLqU=i9QPMsQj)OG8s^@sqKn>kY9H$t0Ww4d&w-}O_P$2!6S2Mj ztnMlK6KubM^{dcwCOV^5bt0b*iyfc)1gawNJvvd)m6xc}R=FVVtSp?+t2JxrX*4qZ zvLGuhj_)NY#!YGWu{3<8FiC1QckS}_F93T~C$(Qa^3e&g58e>iHM;ao5N=PRwd=k* z5FQxrVWrnl*@?o_6wuW)KhQb4dJQq?yqGNx@gx+x*WKKZaq*X@*)yA+lvXiw&(w`NBcDmDDP~tJmK;@5`L_Ow45% zFOTzQe@}>O)SD7e@)+*oB~?Fr4fla6hi`1Z&kYz?T2ARIJ4awOBtSyesXuAjF1ZO0 zW$24+n#IA4Y=|WK|1SK0nhtl4qwr6hzt3xh1@GyLI)$YQ5i-6?h#T6-B`*sga9ztC zhG=ETkf6044Jno&d%gTkVD^GUj@Z>GsWLwjHHPPN*~%8VW3aeF0FyFOn9Nd0T_P{Z zJ$&ysm1<|4tW@v3`#H^@6vDh<^O#Ss?(k6sHS{Q`|Bl6nXx~NH6}*r^?uq8;oJ7H8 zDK1v*3}#!+@W=cbaxMU+%TN+V5BlSeF$AGJ&u?wHezLWG)1e?H=vYAMYBjabRf!N{ zb8`E6A^;0Dg{3olV23wv=18UMruE1=J(Xj?f5Ujk+QQ$ierF~T60Mq<}nC~3c4X5^ry^7y}`mZO!)O+H&#(x zCA~?4)^QV&p}@%a@uXYtn-H+}QlL>}NnSGmhkh)xeJ($cY@3LBtp;|WI+T4K*f_nb zp4;@e7P`+`2*(lL4hh4LMK+AC!#Sb`cBBfTejB1gW0@KRg zlc`yKv7$7Z{Ky=7KdBvh?(vJFHN8_;I2-B%AMLMK4+NYw=CH&tQX>ANp-}w%gZEJu zsy7uhTG6LKMT{?lEzC*eg-Sy0-k7B25I## zZ$$=n=f90@D3WP;c8fBzyco=Rvb7W({NBv}6m0+g=;jZUTEaiO5|jV)avwKPSsiGy zJZgU+YGDZ3R`?5`I~kBb&LsDH0q*k)-PH(r;SEuh^4djfuT)-&U;#YH-ZCXo$I;rk zH#pJyXJlRR&^Ct%(wCOQ6!r0*hrqKmDKLxV@wg#O8L2tK1JXUw{!#C7sFOq0z5)pl zFG>dR{B#|SXGVeLfC3(g?!36+mn^H(MF|J zxE4haY+j?RAYa={4vh}L=H`0IxYh2D7hcn!NF=-n#uii~e0e+-!jcfYL$Q%l^hBS3 z)`(kY3}T-#E7T7Rx`)>qTkLw~3 z2+U}7tA5c)oI?ayU1{@d&?B=@EOUTadeh7o;!^0myh0!|!$mmF7VScd`xijPW>DZV zL)XC;2Ga&tg6FO*MCwBS6Kb^h<|iN5YZU|oe}iXQw#czFWaUtw2s|*JY27W*5nwcRtMlF!%?G)Rzx59q@Xz?6ACHajL- z%WqFww|89-fnN~qEr9O?3K|o{_c&3d3Cq#kp|Q!3(>yK{9_+Q-ugT-b7rqtzqkTJ- z80VJk@)AUTwT98-p-EuXefNWeVXg4W(m0;h`^l z^D@tBIX(qF77p}dBzpj73vHqm+8C%DLwHgdf_xa|M5XesE->3KE^IOpWfxg7p`0P*KeEbGiR1Uk?pkUqbUfw_S0FwM)tO$76XF=*aA;e znA+y~ZC~w}G0%~En#Br?0WjMFqJ80xV_AgS36L;Xz3f6LS_K=Jq|@|-8kP_pz@GYk zi)@3I6$_*1apk91{zPcJ{}gx0ydj1rxNBFAznZLUn`d7vO6$g(P@%f;1xD^CYRj>I z6)@4o0wKe^3&sw&<4Id6HYTPql+O~z8!=v3^u#}6lq`+NFVl~-_rtWLyy22rvAV@A zWefPVG^%u<4}^qeQ!9WwiH(Kcx4Anv01t zQ~m-v{HF-h_rY?nHqUM+FrCKv%g<@5{nT#8(s`v-z*=d1|C;8kg+FNQwjf$1u zSJxoBc4^Cr#S+WCuK*ViGrA$&2r~DkCzk3oM~moKRGMVB(jQOR*AkAVqURkyHZ`>6+%x+5F6pp_y+hyIu~{j>!5 z|DxGi{4rz*Q6N0@hvB;7)}@R{I`|t6o$lOJ%GX$5vSQkO-cdT`bIDfw)V43KLpMeN ztaxUmxS&ONa+KMCh*8uXChm}XLVvq3FcD6lkGCsXBou%l4h*BTVA=+V$+NFt&`N^Saf=G^1 zW}+~c36$Gc*$`a%Lixjr=02io`%-Y8zaITzsY8yfZ~bE zVq!S;F#=_!;CFq+OBNzJb-1MVT5V!KXqq4vZ?^x@)EUnxK*gwXFiie`_ zwOy@0xF^rcAG4wA4vmjGX|XLd^WC)9+8ziixagq!EO}ndA>ghF@#1ikVAXdN&tqeD z9V8Y;n)DCi((a+xJ%qm1k~FzbSs1;nHQ>c+8pYUkWYGvJ>ve=D1fq;#xf(Kj7iHvZ zREiI7oqMfnAICT0^XjV`BF?~$A=aLT+-b-w!xe$`nK<-u>z|Bzz2~PIjzEV+T=V~G zNF5rc5dQP3E6=!kNV(AeZpM|$X0dpSR`0sf{Hc&7e_AnbtzI)-QSI?8)E7tT5?<;# z`fhKctg{#C|*V33roJw~>Ij>OujGgdj+}RvRNplN4aMsnW`%wWtBzEH@ZyN5;h$ZaQ1< z`K)tZ3Wl6fzSq$TmkokI>;p65jyH(`RdOR{5C1gaNAiE$~H+#>)iYWj7!H|NB-7mrpqaPWYt$gZ-7wlCfYl!gM$a|o#mQPrX8+4 z#0Dr~pG^>pA@pA>(QNr9Au8MXGN8aCQSvvbriL+o1KF7F{A{`cJ!CRMJSi+*Z%f+c!VH+osAjMfYX< z|4xGv2_O)sp;y&9;pC8jVV!q|vsYh~=w*X56w;;U%eci*y3Yjz)c_@o)?5_dq$#UD zizTrd{f`f0{r3nHK7zXRIko(DtLJHIu%otXwMq^{>6&B|X3Z(g|B3ilJH~7dT%!4? zoyNw`vD^Id)V;q*|D1Y~YY|bWcrx7JRCTd0pkvU)aM4BN5T^lP^6g1&-{fqbtESNa zq54CeO>HGR^|LSAKUq`geaG=6iW(~(z+{%-J<{eqQu?p(Gs%fS&k7<;ZgP^qeU?u8 zaNiUdi2-NVe7;lu;^NxoUw~q=*KX)t_Ea^c@z8M}U=7xJho?1_M@gymTbH_&b$776 z^YKh^nMXDLECHqc9L>gbK5sgkY_<~8*qdmj%^1&v%IN*x&X-tzUc7JbtGRxIAeWwi zQXX!7vWkUc`=xz+{=2||0%#yq zj9aIDqcJ4MkJgT$nV=zQKydFNuawWvIMv&b{wya3-30A8NiH%fZOP%@NnN|`qY$fN z@X+UDAamXw)alv#OzoC?s{t|KGHrQL2lAI{(=rGnxU0zGermu+AZyb6IO15d6XHKRo4xifl1OrFxsziE#w%zV_pk#dD_Rw!`P((!1XZxI{r};pUP~n2Coi%2T;hfEBGHCV< z;nstkKpO9{?7+X=LOByb;pDs$QI6(FFo1)*e~tvLHq+p(q=+aj*b5h3vaguDsj&Km z-G*0MU^jIz*J0Umu6+)XJ<|8fnrx0{0N>44M^tfDrStC=68DJ?{-T>XTsu9BsFC3)#^SYYRJM_g0y_Jb3a%v6^*%bdae5X$#u$sfH`b z{{;|75zi}NV#iNX_u93g;|y z)Yk4UDK`i)TG$(ODC{l+bjNnrKq9!98#0_^wz7tjV!Jy+VrezvIH14W758e_52aeH z#Di2lkkr!!Z7I=s3$)5-!P;{&i4M0d3z#h!jV`VYrB9E@i%umOpWVbvP@KCSByJ+Vj%Q!@JjbM&{NzGqGwRic49=^ z^I@?cZfwAmRI4XgDf@E#wMXy2z5!Vv&e;(mbLk0D9~p1+w-0)C-Y0Zz7fF>3!NzQ5 zC}Lr;K3An(t0Z?&o1ypn{ye4H(OBbPIb5618gk@Qp4em>Qgoa5S$gkq4t3x7+g_l# zTYw{1l2c7iaF=V9Z_d0v0`^C*(y$nSG@(X5emwcqSImm}@eQX7$W{J+;yAU+BV&o( zqkO&B#!>mXiEXrXV5mF}Bv_#?SFNe??vTMQM~iDIcrs`w`ffGeGMPY4yD6Z{Q2_nFidF*FLMv~jVz?2)8?JAo>B*QhvQCgF=p{hU)a#zJ; zLLMC)<{OB=s>HQO`-aA7_W{jBPqjXLc$ddidb+9cvX5-fW{aXppYfI zkOw|FHq9-op<|aL)7eqikR!u5Af-P(w@ZX$zH@|Vg#OkNf<;evJOC5%X#S87xy73B zf_)47Y1z2v|AnwvGK5DCrsl`q55k_0aw37dlHvG5i%5~^V|ukqIaJ(t-=i=f(O!{rToeyH3Qh8M9#gS8nbT<%=Sh8~y+BmC-QTWNd$Rq^tC){q?`}qD@ zB1C|-<)aw2Ov;V;{=e18>yBc{A^IP8|8H|=*!?*AGfD9$Ib(2a@`Zi#E#oM!;u{Q^ znEA~)QG}^hYCVER2!lz?6|)M5&=$QJibP(eKbDK0>hS#qIQ9zLCn9Tq!dC^hz8m4+ zCh;>=U`!{iF$iF~6(&)0J*ZRSfoS}RYw!To_U8?i{~bd*6g_^_n|2*0*Aix-Dp2qkQ2GG zGu!Ud@4xH3r7*w~@$l}L1j*%0m-~Z9IURVQBJJKhhM#p)EN_G8FBEXp*5*^+WW^+M zNS1!Mq~dc!aZnPW@{K$ri2<|tI-)6wW!}*3FTgWG;lS8+#AG@S?V~J;ON<$W^(}HTdW^XH%lLu-Sv~DaistPPNVcC9OdRXXd%5cl(l->Eu!Dr%AIg5j zmnX&!!9{Clf%qc$xR3T64+Z|#9Z?<|oRdPf=FhR2*;YMi3FNl>v$JUJ;ZrmP`HzS{ zd3h#!gpK3kjC70SqiCt2-|P(6bjg)JqA_)EQGqfYN)!@kO_k@puk;FqX|Z%UYBUY) zslZA-NAyA_-O1cQ#&i4POb&~igk!q=3~0+IWEj2Qb`~Wk)iW>7`s}{oaJm`Hx}^BE z`o*ulV|oFA3bZ4Bme1xNIN7ZG@9UD0AVU93GIm!bNiF4Bl=vXo(T#;t*7EPGqD^}9 zhrMSOvB;H%%6VWaz>La_a`W=CfMzv&D0wT6*0#xvt>Rpv(>-?eoOS&yl1acy+z+bZ ziu3=#yc#3?+gQUQLL539`j0{&zs$Cmzz_-UDtzx4NtJN%TXQc zjSJ@0IU0T2*L&)NrQ(rnW!!+PGEG?qif2%7CCaXc5>I=Hf(&{Wgy2&w+8Q=1)azz5 z<{0f&{9ygBK*uzCf6N@EdIn7q@Y5rii^<(;0**N=1wN{?v zDA}$jL>30P^OQL7ChgK0-NrPb5AomeVEmRs?TXB?M&{jjc#Wd@DLU$b8c@q=kSAAI zar1U967SbDg287;l%|NgD5&!@A-e5)1NJmut!95s&Wnhjp^^rhSx*(@!!5Lh#Xaat zi%H1t*#s2~-zMN_4iF3^Uyk~OaiIBcvB|tV(ExoHFrAEMxv^DR5e+0Gu zOq9xgrIaUt9}_w-tHG9uS0_OVu;-Q}40jg>v-OElrdv$4O|2n#2&xx*6C_E$r=z!C zdZ@N#Q8)9(i)z-BMJFJAaB3`mSkVXtrg(aiybkJr72vOPK#bg+&x$n4DCdwyQ~|Nb zKZsZ)1dr2Qej$F_2HU(Mud`Q?=AV>4Y;_c7ZhSWhH|n}@a_Y!ylx8>vMP-i2$ebas z5H+XqOs-gk-r7ssd3|1)IOt z{h}Pm$i}6TJDfS?p$rPBS+bMp4(0ySZKk)@5d)3|JEXMWRmXbdXcJ{9@@nyPWj5?vp=IDT`?&Y{7bTl@yaqTi9cFG({`9B(51RqM zX0u+r8*Y0g%02F4a9(Xe0~SVoI>f`barmjq7gQr>IogxFP?>ny68Q{Wfc54 zHwxY3-oUt;Gj4HUG?u9IbV&FE{no#k|Cq>iWxMqempQ3H57`$=-iUO0o_-22q^aFp z;Ht8soUL4p_jq0kL+KAZTr*U+wu%(Be$p~K?CoM1HB~AHV8;;wY|ORuG3njB!q@v) zaDQ1rHpA3Wn^IU$dguwDIVF@5C!rs6aGN?-;;=OQ1d5UyfU09AidxKHRxlxS`OsTg zz@$^U8jP<=x%A{1(4;1MK8*dO1A2ORi@PeHPLI0bz1cy~Mx?2%E~y3eX9=y?{&rtz z_NU^S4*jI<_iJAM66A2A==d;)y0qgZHW(t{S;n=t*OXSwaGZkoM3r;dbNuR3&M5Pg4 zU-|*GvI)U_se_U3M`!1F$@B-_52NjQ*+Px5pfmKki+Y>$)_)~x$z6iw>Y1K(3sr&O z@$V5$ViS2_k!WbPsliApAIDU7%4gskKl(xg2dn30XhRX(mt4=xBqchEGyJQAvo&Y(xuR^zP?dYr7MMxxY zs@_S-ZD6H{iq8m@HRoImsrofur1I%}Qkj?f?$JI#aGyGp;(Ln%GUqG(@=jE53##CI zv_6_iy_(?Pmx&7wlA{xpdU(x=I^2!WG4kWC2wG)A!6j{v%uM*``LYnl_YfjH`>Tv+ zzIF2gq1W4S`T^p7(yq8*o<8YH#j4Q$COhII|VG4?Yvvpa=qLnc$S-XfAO z?dqPTbObL6V<*8S6XJ$d+4?NQ$rdpsnPC!$2m zn{8o2Qf7PC;FqjKUa-#lDKi}xx`7NVm@D|r`^eB>%u@vCn&g6JmR^;Gy1LX7Ci%@D z=m!bl4S$L0C|5TgQYZNxSE*xn=1Doe@&xMdv(nrB#dgw8S~A?1zIV_f_RmjI(mGc3 z@EqXZAp2k{eBz>I2OkIQFebtFBvY@3pi^%-D(Ui%Po+_Ej%mHe)j9Wx$Cqd4`s?RK zlIOEL(T@snS)mJ#9rSMh$`<_Y$ zGxhW0YyYA0KPl9#(WmbF+>0?dEX0u@mVmSB+Q}#AhO*`4u2C2PvHx3 z$o!Vb3exLYWp{~*lL{d4O!XovlQCgcK;Y<8oCZc@y<5%@f$>{0A~XbA1-4K+v-|p6 zW;xm04$}?v1bg3jKAr{?Ier{v7 zD&35T&bWpA)av*0q`vk3J6-bi7{R}QUJ3r#p^=ZDzEC=^6g=WM6ihEFVeo*&63$Di zzRFL(o~X2Jj<5JS2lSY_{|oT&*R2gN_tCHa${oktM!T>Tb`h-T3N)I$f%j!bpTqrh zzgTSb>acm^g>0xbw91T94D16nE=xa;W5&ObjaQR%k!dJZJ~-wgh1rNnMk=@C35bgPT~4%R`C&Qe*syl7NyH}V{~KIO49d3{{DBLo9^O()4hzhd$*ag4d>lHnvDqY<%FTFT1%hEMw)_qR`S|(%Br)wfN5Izrj)*{V zUG?ATc?-i^M1uNWzTrB&xOBI@a@qxzZtF$qOtm?K-p@1PS3N0?W;WkcVNG6BvX$Ye zH`vkkD@M#-L^4EM246N*AwTWD4J{qUD|+Q4jp9tD@8&e}ef)&U8IxV&6OETrT}rF* ziVQ`RFaKQoC)bj5U!ux>$iY!Vwatp4XV~=^u>}^AF~(la&A|op&;Cs~uS~9{Xn8rT zbSd)0zdMYoAHBroXvvJ7`{o8BLP|p-WSFZwn~8pS zYc^;6R5AB`b;Kk!Eq^5a)_2Zu@=FbKTfRE`vLW#DcYI;uLC@oV9%=3Aq59si%h_sH z;yLLX)g?{yyoQ%tCy1B7#Y(}a06=eBUWQ? zd-lK|+iHp_-rp|@Ul35NnlNWJfv?bS>WYY5@b5(y5%_(LZuoITMD!l&&Pd;G+Ecw} z0>$!;A3&Dbv-PLueXyT;-}7lhpqeK8jKc_ypCt4nhTJf5~CCOJ;sLDct4R{8C0+1pYjq2@%1o%0RKD~ZOpnY68r zYL=3|?QEb{mVs!3O}CX4GL0jVq-^N}lNdasjzY)xYFixWw-;qe5?i-V0W?$|HyE)P ztFWjN#@n-KtS*tNh6PaQHmrrg@z)MYRwhKq-+%d%B_-`F{kC)I*r9T|V!f_G@wIug+X4lLe}*ZRkMg~7yZ@)WC4Bf>#0Fl$ z)m`>kwd{;IeUV+OBfP>oRevLn<7ZG??Oxo0J~UUeD8bn#u`iOzG0niE2R1&qq zfTE-c%i?5Q!oc;>t=9XIAA$TXuwGv;W6G^v98J-(rXR8zFJsPmwePrdx5Hy4JS5Y~ zg!lkU>N_iyTpNl?+g&V?vD-PMPJ6Q%3S=a~#>6p=oCN-%^zf0<-%#uJglzT$sIxWK zW?UNr&%TK+WmhYX?Skoj#|R-2mN-gHjc59_BwT7Gzk?Yhb6;3=!j08`lA}%U1?XRHza?g_%MS~ zOx^EvT*4lN;P4Gjb0;SB>?!RunumGVq|+bS^T59Q%)tTtTs3NFOdysef?R4dTkF_C zPfNFDcSvW_S^2X=f!*1nzD#W|)zLeX&|iN6)kc!hp5W9k4$WWFjz4;0Np2XEUoG}N z8|TA@Qm5S!DPIuCKbWozx}FC&KjegV95`FnxtWaKo%8J_S)xvh^JFy zdp7v7xkj{!+~h)?Sa9Hvon(rZjn~-C@SHIl#7m1xFJf?S4+136Aj&|tu*Yr`PqmH= zLccYO!{dGU3l%@`A+$d_m7*vujPtimB=I0p)Xgw0U)5JSa`!#i7MgEz=nq6rqUzE} z8L+T~D+={FBfh%-;&FBcP8{`UH?7R* z<(>AzB2iI1Bj1}P+`X9x3=r6uE!iJWM|vuW3~g|2k&t3gfBHj*8kKzCirR#;D&g{u z_(K_S>>|{7{g5;JNZN0;p%BH&WkV3h^89SGpZK_OR3V|wrfH1 za30y4`=-KwNEzvisqXzZ!I6svlnh>`S|Yx%K-FaMKMqi4@=)w4Qjhf*8M{izG zqn@<4p4RzS=T^zeoran$@hAOA-CSjsk!Z~99wM#X5mgnVNOfQAay%O(v2m`1X6m#| zH9?$sptNL{0<+7%sT5yx)O%Em%*pon%!b!*Ap;v5%=xD{i^)sX?(TLpzWcYO<0t;m zgr}%lyf6&pg(#PkS?dF6AqManToQoE%!Kv)?6?Tom@+X0R6K>)aXTIdRm#)g03R~m z2bU)?Eb_YdI!TjuW&y0X$_lf7B;t?H{Z_atk7H{MSy)CBMzoZTI`W5&pUA>-j|s3l z8RbQ%G3V;V3o zUg&5;SMqA8(Rd7}Wj)D3s~40}%$eAOVE&KfPNnBp?wthfBJJk7mg(*OuP{mze<6$8 z^~{(FwD08BTnA6H16-a^FkW;n!)RpgC8^4*H_J`Wjjg}uQ3EM@UMv|k5c^)N222iC zFjgFn`L0}Z=r1LI83AoOXDfdz-%b<)D7dR>oUalB4^*Yz=W08H&-4e=uGs4i;|U4< zZ7TJ?eT!klv6#-u6>sz2rF~Roi%2*vPxRLn-@lYq{&~X0iv_o?(6_r-sbO%6YonT+ zx)cD7wcNJ9Y;>xc?}VxYcClGB4?uOXFEdxtb(Y>o%t&jr`~`fsA6RP<_#mi-(vhz( zlQlojCF1iig}56N$$mR4ruC37xJxO@0;adg104_gZ(@nIObXfJ%c=8Gfny!DHhN=qT+$Vl^6$PiCfbOzFt3y; zmB~4`*iBQ66J+do(i%9)e`t$ZBE&>i9@~wUyiy=sy@h9r-}j1L_nF4=4C}}hm}r9~ ztSKMZ^UgG%o^Tv>Zam58$_fz%1I<^Ot@uWMva1%nN=Oc>3`Xw+zrRqtHD`S5b&MJ< zymd+O=X9{k;Am?0!hS{j=#Z-A<|PmNlGN~iGdx|tQ%v_nz^LA`bH15!2Q{aBO;VU1 z!H)qmx`Q|9j7V(-{@Q#&N6ed!v_o(@MnYtTAPl-oQ4fJNkX{|(fc@NVri0_mZC8ZAR z3g2Z6ep}d@tJ?qZYO;ipE(i7-75v$$nOcGKvH&i(K(P_!3Sadk=pVa)G7h?e93C3$~+Wy>M+oSj+f^^3=u zQ?~F$mQNKoDlK>6;PQkO=YdVT+0-y9NaUi`OCi~(GwL^0k!GJUSpb9paUm4+Bj4=4}U;PZrD#J#NhSt_2+CmHVkF3R5-{ctwie}qm}d3=bux= zrWAcXC7T^`(G_^q|JZ%?hI-6?&OQebsES;vGI-d{ROGd=f(ef39Jm_(%XA^6c4-jd z4#E$wOl=1M=W z%2h-E^=Z3};lM&z|CW*Jb+~^~i{U3dqJNKKJ(gcIicqoSl}O8xsRK)uG31iOniuOB--yWwvn z&6Z6!G4lEgVu}4C*Z&C{Q5qbNxttbDm>9>tOnC_fnRYf~3Jjj3B=63faSM>?hwKI` zy|0XZ@b2uh^A|&J$#j}(7RigTEzIMAekd8F!E1Sd(G`t)0yf;ZrF%!XR2v^=tX`B; z5hhEX^8Mo{6sdd04>}URAZ#dd{h7~=vYS84zC+fJA8qY#gecYzzdYJs%A@v_bKBh4 zRczm!uiyU4HJ{K9`7`^6xCyV$Z@YP`$#FW$NN&i6EO|~#Up-kTGG$VZe8T#_NVE~J z{j?7%LVKE#kMNBbA{cgsXDL`r89&-Y#`Ih7bQ4&cTB69d=73w|UQ@k=fT8!U|6pbV z!=QKJ-nD;jqz%MA@4E$*8+g2}2-3?})GqMV1_$h`!!%;k`@o~hQ6s{82gY`cQPFRh zEybF|bv(B#x3bwVl9uD7b+Z%?M$L?am>E5D#oA~|d*J8thu&#pOKFJ^P5aevge|?= zL6&ap_KYJIv8W=a2)_pP7dc+VUmUMTO>z0A3eJD8YU>?H`2S<3D$Yax11K0nc{?;* z!DW{(x}*lk8M(1(&U9Zl`T`b(ufXh4S>yyJ+ZxdYhY3{GQ-x6LHTi&hXvqn5AA7aIbJSSfcig-0Ij zM5Abn$C5SVJduk3fkZCfd*Mbuy^Sj^7xRjSYx5d&7`2tfxkKN~I%x&nkKey;p-I>i z!gJ6`$c@f`Cn{FRR+Zc*T>P0V5^Q&K6D+fY^|@<}L?gKp58RzT$%ZQGD~`#zYwl~M z-Y#E6U-ojZ)c1WC+`i&>PZ#$P1?Bm!%DBJYInWnPUCI$}+CxW;BwB0EGa^H2ONA8S z8tN?@NuyjA$Rb`%omzgK+G0*_kxTM&?4g1W0t`_D`hw9Iy(CrW&6wqmZK9edHh-PY!DoaDmp;v=Wz7K%M!qha5)zg2Zw|X7?fH9Le|UKJYaKvnWl3T4ei?yMOp45Uv!f6AR{4!KSu(+>dgG? z@~S{@P~;EBFjYDQ5(4m`3;DjZ3yUhR1@!$g^>fDCe10LMDTWt6pq$l72F!Nfd#^s? z=Ih1JKvPB?q=;2|2`|UZ2^ryu1zeV(%nnVoJtbEJSY2P*c1g742K6(pvTVl#e1L2s zEk+} znrgQ7p#~8}F;PnBNC&Auy@~WDfzUx9AP@v;QiV_jBLblldJUmTFNy*xy|*AmMM~%@ zRi%03|Nghuee16K&RKiSH#2+A%&c?H?3q2YH|g^Z$c^|j)c%L0NtuI>posAn1?rz_ z9#BUxNudQ8>jS}07V@Txk^;K*IoMJy=zJX+{mNKnxFf9JUI8J4dm3|Yul?oM57M7X zCrI*Ccy~&V|3ZRv$;rlGtE@fmGu5y;_NJi%%y7H1@HRdZ!)|AT%5I8946M7-y8rYx zp5b0M@0_FU?PbnxS^2zpZho>wdzhzO>82nHK5W#TC%5xg*z0moA>4!&|3yQuIlL${ z<)T$OD&P{@(+!X-b*zw+cD~qOP+zbzZTSKM8nn!iSp)HbK^UC$9zO?j(GL;Mt!{^l zGs(-qiWyoNBrU`GbUpTUh;iW_Ui%>1o5ghMiezP~tbTOgZ_=&^N?R;Fs57=ykz~X(L7|S4 zzFo)n`fgiG0M8n_-5QPa_Q6EGxubE2KtCC{bA3#(<+UZ&InD{&o&BCUv}Q3`>f3r$ z;z;eSrjzV4P6)zoR!&-ho4Ki|SsvdMh@gDJp6fikRLFM6zU`>SIG5P(Cc~~jsqTL! zz%!y_mhxB4V=cU`fU)5Fj_qaXMB!wV_G)fcb{higR_xV7(^uJ+of7i&)x!9z)h-|r zCl#N$YDh8z!5Yx1no|h%ottKL^_BL+XjF9VphxCsmjH?~ttBOaP1IF=Ci5;vt`a~+ zl_Km(xWdWkH7o1nx+iI|IEwwMtafX!#W;`g3txL5Im%HUoFch~SU7eKiUU%JcH<~# zqDlX@pzunLdCItT$Sp}D7h-UWppX3VL~c#1tl9Yw#NiA6qKx`|dQwIi6APuUrti7* zsvqn~+3_gMr98p^^Pr;fc4Ku?$h!g**R>V zjv7)eDSGGiCb|9830vzUoss*fL_g8~60MYxd6u8GQAP9Ri2@Ad$Ev12#isT`vMAA+ zNSn23JpXHvwJQ7&;?1p%AoBut?9??brya*~kPe5|6_Df%@L!1RKYmcMjTF3@Fv@2j z$FdT4Jy6Q)4EtC%Fo!KT%9bs=dhkB&irzJ^_0vlF;H|?~x%7AAOPcdt!$zpzs<1V^ z(<|n>E~dLR3gi$jUlv_|hZPG+e{@N7?E%tk#-Iq_PcMYqH}d z4mWV+phAO9OLx9y{HTy2!Lhkul%(lYv!ur@=lWK5aY|_9rC^eFMp28c?g3|3?A%?{ zX9S@gyQP;V28oLLVd&-dGW3jq34(^#OXNfuvrMKD-V69BupN5s3hUR~<0-F%%*1}a zBefG8Vjrf)IY&}Y&;AA;>Q&BDYtd@|3Rl`n-4)Fi_OAX;xg+blvt{dxLg&a~Dg)%Q zW5hr9y*Uige>e1wVqo`8;xT(-_Jk0X@M zn{1ay%kj07b=VJlL`G>VB0+8}(P}c8jo~JHN#>=G#r31c;25%_3d|e9 zdFut?y%nMiqr<#%N3KZIQ$D|3B`S0LD?Iq2$caJGZEgqR)w%|FWaLT=+rfw8w=tw6 z-SF0BT6tJX+b{}NnI4DKT9}SDLc$Zn4fKl@9WhyiHRS78^kc&Oaso{gk zw?-=TSjZ-tR$?bA^saKm-+xAyO{wsehWj~AB@O;u2j!R>Q5_;{l()?KYT7Bv;~iZ9 z5m$bE5gaz{jG)MC64V-3Wjhqp51F>0x$U%q4#tnNDk1M?;bAIFqwoB{Pxg2!lP`bOfG27a{FIZsL+%*H7J|L!S{mF^a07Y29>$-r0h{eO5t52GF%FUN@lMno> zTUX0B9H>r#YAyYpCOsOvA#9{{ESP^(av2OqrwsI2oh`H9DMY*SpMH`Ie@C=>V zFJsTl&)CD$;`Ar=5o32LwI~ua#3S=0RMLzZugB$d}bCOLX1rR^R! z3MWurG_mP-?D^^;|K4g6_i^5nmSojUW(me%V*5FZ>hp{hLcGbSXB*m#ZMGcFvT&2X z*`F%WJFy%GTK;A(=l()lHdh_dTJ0*$;-25SC{w67jpr4$>mL5tl26F+m&e+3cdY4Q zqFVUoB51mGmMKF8+v|>dv=2?pv{?;NzIXe3y-)Fl*DS;9v;(fQ81XeZ^2ZzYmKlYW zwTNho>GX5EZMw5^nL>qeN6 z(=z08ad}s%RZxvY?^nJbi9hekR=(m+?n1pzdXv}q#j7^F(2FYY41$|})u4rwf%2!>Dfm1}Qb+b$hH)^FFVV@@4?S zE~pZD?eoXRmq=N~*#39V#KB4R2&e3GG2SlcaQ>FbrF_+E97 z%YV})DWY<1UEqY{rIf+uTC#xh zLPhYoX2WPIj$OQ7)^}cypk{csI$Ld z#6O7}HoF{UhVOrHS?6m2VXi5y@0T-h%y!9^#eaq2v(>&?o@x{d8UFF-hM7pyvkxp6 zz2Ydj8;>k$&@gdGD8U z@M%EsxnGa@)Wn3IX~J$2r^ljrkGF;SjbnpMu1~VLz4{`sUAp~yn_rW75}~S^VzRPZ z$HemP(t9eW4Hr=7yCqGttaaGvAlMY{kw0H+K)Ulg%EG#@iv%?)NcYOB-H(h>du%Ih8c>l;r#VTYY9f^t-X|%`m4(d(_*w3y3tgT{r zwkc|Ii6pS zIMcm4M&S|EJIrVPV}QG2D$yavf^#6xf<-Ms)r{^ug0B1r{(H^>b~IcO1e(v z$wNm)QH?uNCz;?UPdfz5dhS;$dUWCQmf$v#Zo{5kPX#qJ%_*qUqj;a0WQk|7pa~7T zbh}A1E9TOIm_Be_8^uH>!_NdGriKp9fNI4wXqZ-q4-Tv#&|67uu$)GQBE%H|`0JtK&rD8$TxE z()CzUA`4tJrc8_95i)Fg6W_kEDTSdy;DqXMWp}<1{wQ~vCBeq5@wpF(h6^=zjjmq&M;Ge98i4auj1M>(m z-~m8Bf1*TRv#{^i=mJ~bA><`gs-FBt#{qfTX}{Bm^8IZEdfm!P*R&XE8EfZ16Y|>p zd*rwi)$WS9U>xn9&9Dv|N#?{|@jZ1y2{K${yQx77Hh25mfHCw&%B~A9%ErHLv~O6Z zv4u~Bc5MO1qWu&!2-8wWmt#lrw#B_FdK;kd!#6G7(P{K-1yfJEju=JmQtSyv&7fVI z6QP>43G@TvCP8sppD2$GN-5dfef7;;<2vJ8KeQf@C)Sq@zkw}=z|**)j*&r|G^Gv@ zEJ23M5*)um2dkoa&3zA5BiPkT^4(bMwUJn@KxU=j%I)!1nB7>r*(*}Fw`&u1e2C!4 z;U8_o30rQZXe50l32IUgrvBC)*ETkGeWZ;B@49{PHNg2zmRO=- zyKfZ9LXSn$Z#K`C1d$pZ5Z$4@FQe$0g3j~%?cyMTe-$#x2x*nY7wxv&~ z0})1hm-hy}Hh+@F2B<#{PbAPrJ}e zwf*9#hUqf_gD+>w>hCWx{RSN3%8jB6!(dBJ$Kmc)LhGZSAU;B^^uYM$K6 ze#kFr$z1c?owY8RX6S(uV#zoF=CViyP$KOwZkU3XCK*y8w30y7Gew7TL3 zLyZun^8Qi^v)B4L?bDDw+y9EYo21&@kf!A?3RlLowKC4N4jWtKsi$vP@#&|s_F|oC z^_bT@B)*#bMRJL0n{p{!`xN=^hR7H?Fpka0ikY>qI3Pas+eq%wY|?jMqhtdLcy&uB`1_~}$ATn!XiptF zX(s^=?=96UF(=%5DLxaa;lAPWpz}wS4^3)f@O0w>njPF?CRen>GYTT@063EW*#M~U zkQNGZRMj3)LhfI*qp0{+<$BadzZ#TkbWTbvV`Q_?w%hm`a!MTo$cV7O+&?Jy^9 z$dt%xPP9XM$)1Qa6fz9&#`l4{Z~tPFt7#79doXAZ%y8-UAdHICFPDe>ls<6-S~I? zf7(eGIX%mq$z@O_LhGm3$X0w4o`zX|dWrXai>rCkWm73q%>VpS&e@%GYOlJcu4i2fM8O@nhXRelb%vb!eDYLfSObw zoP_^ejU@Wh!2b03dV$K<+L8*qZ~ut$THQ{^b7xjSKMr diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index c77c2ffb2..f85af5888 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -639,37 +639,37 @@ class TestFileLibTiff(LibTiffTestCase): infile = "Tests/images/tiff_strip_cmyk_jpeg.tif" im = Image.open(infile) - self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3, mode='CMYK') + self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) def test_strip_ycbcr_jpeg_2x2_sampling(self): infile = "Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif" im = Image.open(infile) - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 2) + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) def test_strip_ycbcr_jpeg_1x1_sampling(self): infile = "Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif" im = Image.open(infile) - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) + self.assert_image_equal_tofile(im, "Tests/images/flower2.jpg") def test_tiled_cmyk_jpeg(self): infile = "Tests/images/tiff_tiled_cmyk_jpeg.tif" im = Image.open(infile) - self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 3.5, mode='CMYK') + self.assert_image_similar_tofile(im, "Tests/images/pil_sample_cmyk.jpg", 0.5) def test_tiled_ycbcr_jpeg_1x1_sampling(self): infile = "Tests/images/tiff_tiled_ycbcr_jpeg_1x1_sampling.tif" im = Image.open(infile) - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 5) + self.assert_image_equal_tofile(im, "Tests/images/flower2.jpg") def test_tiled_ycbcr_jpeg_2x2_sampling(self): infile = "Tests/images/tiff_tiled_ycbcr_jpeg_2x2_sampling.tif" im = Image.open(infile) - self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 1) + self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) From 1e4b3177ed11237d8ed39fbc46d305bf37d81924 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Fri, 7 Sep 2018 12:37:17 -0700 Subject: [PATCH 021/323] Change comment wording to reflect ability to read tiled tiffs [ci skip] --- src/PIL/TiffTags.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/TiffTags.py b/src/PIL/TiffTags.py index ef19ee66e..be75ee10d 100644 --- a/src/PIL/TiffTags.py +++ b/src/PIL/TiffTags.py @@ -438,7 +438,7 @@ LIBTIFF_CORE.remove(301) # Array of short, crashes LIBTIFF_CORE.remove(532) # Array of long, crashes LIBTIFF_CORE.remove(255) # We don't have support for subfiletypes -LIBTIFF_CORE.remove(322) # We don't have support for tiled images in libtiff +LIBTIFF_CORE.remove(322) # We don't have support for writing tiled images with libtiff LIBTIFF_CORE.remove(323) # Tiled images LIBTIFF_CORE.remove(333) # Ink Names either From f874e6f058031cb863d34ca2b75b0d772ee3c087 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Mon, 10 Sep 2018 10:40:49 -0700 Subject: [PATCH 022/323] Fix typo and add explanatory comment --- src/PIL/TiffImagePlugin.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 3a2bd7b4c..977d1da14 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -257,14 +257,15 @@ OPEN_INFO = { (II, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), (MM, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), + # JPEG compressed images handled by LibTiff and auto-converted to RGB (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), - (II, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGBX", "RGBX"), - (MM, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGBX", "RGBX"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGBX", "RGBXX"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGBX", "RGBXX"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGBX", "RGBXXX"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGBX", "RGBXXX"), + (II, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGB"), + (MM, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGB"), + (II, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGB"), + (MM, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGB"), + (II, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGB"), + (MM, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGB"), (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), From 187782470bca65784143b994cae855dce6becf62 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Tue, 11 Sep 2018 09:26:25 -0700 Subject: [PATCH 023/323] Drop YCbCrX(XX) modes, as TIFF does not have to support that --- Tests/test_lib_pack.py | 10 ---------- src/PIL/TiffImagePlugin.py | 7 +------ src/libImaging/Pack.c | 1 - src/libImaging/Unpack.c | 3 --- 4 files changed, 1 insertion(+), 20 deletions(-) diff --git a/Tests/test_lib_pack.py b/Tests/test_lib_pack.py index 635b5679a..0b1a43880 100644 --- a/Tests/test_lib_pack.py +++ b/Tests/test_lib_pack.py @@ -151,10 +151,6 @@ class TestLibPack(PillowTestCase): self.assert_pack("YCbCr", "YCbCr", 3, (1, 2, 3), (4, 5, 6), (7, 8, 9)) self.assert_pack("YCbCr", "YCbCr;L", 3, (1, 4, 7), (2, 5, 8), (3, 6, 9)) - self.assert_pack( - "YCbCr", "YCbCrX", - b'\x01\x02\x03\xff\x05\x06\x07\xff\t\n\x0b\xff', - (1, 2, 3), (5, 6, 7), (9, 10, 11)) self.assert_pack( "YCbCr", "YCbCrK", b'\x01\x02\x03\xff\x05\x06\x07\xff\t\n\x0b\xff', @@ -471,12 +467,6 @@ class TestLibUnpack(PillowTestCase): "YCbCr", "YCbCr;L", 3, (1, 4, 7), (2, 5, 8), (3, 6, 9)) self.assert_unpack( "YCbCr", "YCbCrK", 4, (1, 2, 3), (5, 6, 7), (9, 10, 11)) - self.assert_unpack( - "YCbCr", "YCbCrX", 4, (1, 2, 3), (5, 6, 7), (9, 10, 11)) - self.assert_unpack( - "YCbCr", "YCbCrXX", 5, (1, 2, 3), (6, 7, 8), (11, 12, 13)) - self.assert_unpack( - "YCbCr", "YCbCrXXX", 6, (1, 2, 3), (7, 8, 9), (13, 14, 15)) def test_LAB(self): self.assert_unpack( diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 977d1da14..fa8f984f4 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -258,14 +258,9 @@ OPEN_INFO = { (MM, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), # JPEG compressed images handled by LibTiff and auto-converted to RGB + # Minimal Baseline TIFF requires YCbCr images to have 3 SamplesPerPixel (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), - (II, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGB"), - (MM, 6, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGB"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGB"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGB"), - (II, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGB"), - (MM, 6, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGB"), (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), diff --git a/src/libImaging/Pack.c b/src/libImaging/Pack.c index 5c298c6c5..6d42d8491 100644 --- a/src/libImaging/Pack.c +++ b/src/libImaging/Pack.c @@ -608,7 +608,6 @@ static struct { /* video (YCbCr) */ {"YCbCr", "YCbCr", 24, ImagingPackRGB}, {"YCbCr", "YCbCr;L", 24, packRGBL}, - {"YCbCr", "YCbCrX", 32, copy4}, {"YCbCr", "YCbCrK", 32, copy4}, {"YCbCr", "Y", 8, band0}, {"YCbCr", "Cb", 8, band1}, diff --git a/src/libImaging/Unpack.c b/src/libImaging/Unpack.c index 7bb8064ee..56be12e07 100644 --- a/src/libImaging/Unpack.c +++ b/src/libImaging/Unpack.c @@ -1428,9 +1428,6 @@ static struct { /* video (YCbCr) */ {"YCbCr", "YCbCr", 24, ImagingUnpackRGB}, {"YCbCr", "YCbCr;L", 24, unpackRGBL}, - {"YCbCr", "YCbCrX", 32, copy4}, - {"YCbCr", "YCbCrXX", 40, copy4skip1}, - {"YCbCr", "YCbCrXXX", 48, copy4skip2}, {"YCbCr", "YCbCrK", 32, copy4}, /* LAB Color */ From 300bdaad9e3bb2b79bc91e68da11c4b9535637ca Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Tue, 25 Sep 2018 11:46:32 -0700 Subject: [PATCH 024/323] Bring back YCbCrX in pack and unpack --- Tests/test_lib_pack.py | 6 ++++++ src/libImaging/Pack.c | 1 + src/libImaging/Unpack.c | 1 + 3 files changed, 8 insertions(+) diff --git a/Tests/test_lib_pack.py b/Tests/test_lib_pack.py index 0b1a43880..3479013d9 100644 --- a/Tests/test_lib_pack.py +++ b/Tests/test_lib_pack.py @@ -151,6 +151,10 @@ class TestLibPack(PillowTestCase): self.assert_pack("YCbCr", "YCbCr", 3, (1, 2, 3), (4, 5, 6), (7, 8, 9)) self.assert_pack("YCbCr", "YCbCr;L", 3, (1, 4, 7), (2, 5, 8), (3, 6, 9)) + self.assert_pack( + "YCbCr", "YCbCrX", + b'\x01\x02\x03\xff\x05\x06\x07\xff\t\n\x0b\xff', + (1, 2, 3), (5, 6, 7), (9, 10, 11)) self.assert_pack( "YCbCr", "YCbCrK", b'\x01\x02\x03\xff\x05\x06\x07\xff\t\n\x0b\xff', @@ -467,6 +471,8 @@ class TestLibUnpack(PillowTestCase): "YCbCr", "YCbCr;L", 3, (1, 4, 7), (2, 5, 8), (3, 6, 9)) self.assert_unpack( "YCbCr", "YCbCrK", 4, (1, 2, 3), (5, 6, 7), (9, 10, 11)) + self.assert_unpack( + "YCbCr", "YCbCrX", 4, (1, 2, 3), (5, 6, 7), (9, 10, 11)) def test_LAB(self): self.assert_unpack( diff --git a/src/libImaging/Pack.c b/src/libImaging/Pack.c index 6d42d8491..5c298c6c5 100644 --- a/src/libImaging/Pack.c +++ b/src/libImaging/Pack.c @@ -608,6 +608,7 @@ static struct { /* video (YCbCr) */ {"YCbCr", "YCbCr", 24, ImagingPackRGB}, {"YCbCr", "YCbCr;L", 24, packRGBL}, + {"YCbCr", "YCbCrX", 32, copy4}, {"YCbCr", "YCbCrK", 32, copy4}, {"YCbCr", "Y", 8, band0}, {"YCbCr", "Cb", 8, band1}, diff --git a/src/libImaging/Unpack.c b/src/libImaging/Unpack.c index 56be12e07..e9921d2ca 100644 --- a/src/libImaging/Unpack.c +++ b/src/libImaging/Unpack.c @@ -1428,6 +1428,7 @@ static struct { /* video (YCbCr) */ {"YCbCr", "YCbCr", 24, ImagingUnpackRGB}, {"YCbCr", "YCbCr;L", 24, unpackRGBL}, + {"YCbCr", "YCbCrX", 32, copy4}, {"YCbCr", "YCbCrK", 32, copy4}, /* LAB Color */ From f13c150f00ec5c8c93f57aec56b1bba906b3cd83 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 26 Sep 2018 14:38:33 +0300 Subject: [PATCH 025/323] Hide the Ghostscript progress dialog on Windows --- src/PIL/EpsImagePlugin.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/PIL/EpsImagePlugin.py b/src/PIL/EpsImagePlugin.py index 0c50afe13..6da3a36de 100644 --- a/src/PIL/EpsImagePlugin.py +++ b/src/PIL/EpsImagePlugin.py @@ -139,7 +139,12 @@ def Ghostscript(tile, size, fp, scale=1): # push data through ghostscript try: with open(os.devnull, 'w+b') as devnull: - subprocess.check_call(command, stdin=devnull, stdout=devnull) + startupinfo = None + if sys.platform.startswith('win'): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + subprocess.check_call(command, stdin=devnull, stdout=devnull, + startupinfo=startupinfo) im = Image.open(outfile) im.load() finally: From ae415907cbd94fbc9ab79592fc5fd9674654d22f Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 26 Sep 2018 14:38:44 +0300 Subject: [PATCH 026/323] flake8 and tidy up --- src/PIL/EpsImagePlugin.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/PIL/EpsImagePlugin.py b/src/PIL/EpsImagePlugin.py index 6da3a36de..7c55f7c66 100644 --- a/src/PIL/EpsImagePlugin.py +++ b/src/PIL/EpsImagePlugin.py @@ -41,7 +41,7 @@ if sys.platform.startswith('win'): if hasattr(shutil, 'which'): which = shutil.which else: - # Python < 3.3 + # Python 2 import distutils.spawn which = distutils.spawn.find_executable for binary in ('gswin32c', 'gswin64c', 'gs'): @@ -62,7 +62,7 @@ def has_ghostscript(): subprocess.check_call(['gs', '--version'], stdout=devnull) return True except OSError: - # no ghostscript + # No Ghostscript pass return False @@ -97,9 +97,9 @@ def Ghostscript(tile, size, fp, scale=1): os.close(in_fd) infile = infile_temp - # ignore length and offset! - # ghostscript can read it - # copy whole file to read in ghostscript + # Ignore length and offset! + # Ghostscript can read it + # Copy whole file to read in Ghostscript with open(infile_temp, 'wb') as f: # fetch length of fp fp.seek(0, 2) @@ -115,13 +115,13 @@ def Ghostscript(tile, size, fp, scale=1): lengthfile -= len(s) f.write(s) - # Build ghostscript command + # Build Ghostscript command command = ["gs", "-q", # quiet mode "-g%dx%d" % size, # set output geometry (pixels) "-r%fx%f" % res, # set input DPI (dots per inch) "-dBATCH", # exit after processing - "-dNOPAUSE", # don't pause between pages, + "-dNOPAUSE", # don't pause between pages "-dSAFER", # safe mode "-sDEVICE=ppmraw", # ppm driver "-sOutputFile=%s" % outfile, # output file @@ -136,7 +136,7 @@ def Ghostscript(tile, size, fp, scale=1): raise WindowsError('Unable to locate Ghostscript on paths') command[0] = gs_windows_binary - # push data through ghostscript + # push data through Ghostscript try: with open(os.devnull, 'w+b') as devnull: startupinfo = None @@ -232,7 +232,7 @@ class EpsImageFile(ImageFile.ImageFile): try: m = split.match(s) - except re.error as v: + except re.error: raise SyntaxError("not an EPS file") if m: @@ -247,7 +247,7 @@ class EpsImageFile(ImageFile.ImageFile): self.size = box[2] - box[0], box[3] - box[1] self.tile = [("eps", (0, 0) + self.size, offset, (length, box))] - except: + except Exception: pass else: From 69f315a58551361547ecde0660d306b7a3c7b754 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Wed, 26 Sep 2018 09:44:45 -0700 Subject: [PATCH 027/323] PR feedback: simplified key construct for fillorder=2; indentation fixes --- src/PIL/TiffImagePlugin.py | 9 +++------ src/libImaging/TiffDecode.c | 12 ++++++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index fa8f984f4..50746688e 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1256,11 +1256,8 @@ class TiffImageFile(ImageFile.ImageFile): # bits, so stripes of the image are reversed. See # https://github.com/python-pillow/Pillow/issues/279 if fillorder == 2: - key = ( - self.tag_v2.prefix, photo, sampleFormat, 1, - self.tag_v2.get(BITSPERSAMPLE, (1,)), - self.tag_v2.get(EXTRASAMPLES, ()) - ) + # Replace fillorder with fillorder=1 + key = key[:3] + (1,) + key[4:] if DEBUG: print("format key:", key) # this should always work, since all the @@ -1315,7 +1312,7 @@ class TiffImageFile(ImageFile.ImageFile): self.tile.append( (self._compression, (x, y, min(x+w, xsize), min(y+h, ysize)), - offset, a)) + offset, a)) x = x + w if x >= self.size[0]: x, y = 0, y + h diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 8722278da..98302389b 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -236,14 +236,14 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int TIFFSetField(tiff, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); - if (TIFFIsTiled(tiff)) { - uint32 x, y, tile_y; + if (TIFFIsTiled(tiff)) { + uint32 x, y, tile_y; uint32 tileWidth, tileLength; UINT8 *new_data; - state->bytes = TIFFTileSize(tiff); + state->bytes = TIFFTileSize(tiff); - /* overflow check for malloc */ + /* overflow check for malloc */ if (state->bytes > INT_MAX - 1) { state->errcode = IMAGING_CODEC_MEMORY; TIFFClose(tiff); @@ -285,8 +285,8 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int // TRACE(("chars: %x%x%x%x\n", ((UINT8 *)bbb)[0], ((UINT8 *)bbb)[1], ((UINT8 *)bbb)[2], ((UINT8 *)bbb)[3])); state->shuffle((UINT8*) im->image[tile_y + y] + x * im->pixelsize, - state->buffer + tile_y * (state->bytes / tileLength), - min(tileWidth, state->xsize - x) + state->buffer + tile_y * (state->bytes / tileLength), + min(tileWidth, state->xsize - x) ); } } From 9bdb9d8bef23a1faa244eb0cdae26c169812d720 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 28 Sep 2018 10:40:31 +0200 Subject: [PATCH 028/323] Fix pkg-config call --- setup.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 761d552cc..a9e96b836 100755 --- a/setup.py +++ b/setup.py @@ -147,15 +147,20 @@ LCMS_ROOT = None def _pkg_config(name): try: - command = [ + command_libs = [ 'pkg-config', '--libs-only-L', name, + ] + command_cflags = [ + 'pkg-config', '--cflags-only-I', name, ] if not DEBUG: - command.append('--silence-errors') - libs = subprocess.check_output(command).decode('utf8').split(' ') - return libs[1][2:].strip(), libs[0][2:].strip() + command_libs.append('--silence-errors') + command_cflags.append('--silence-errors') + libs = subprocess.check_output(command_libs).decode('utf8').strip().replace('-L', '') + cflags = subprocess.check_output(command_cflags).decode('utf8').strip().replace('-I', '') + return (libs, cflags) except Exception: pass From 2483f6198cacd8db927fcce198a48333fb117230 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 10:48:07 +1000 Subject: [PATCH 029/323] Added release notes for #3250 [ci skip] --- docs/releasenotes/5.3.0.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index a5591b98d..c56b23646 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -16,6 +16,14 @@ For example, with all optional arguments:: ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175), blackpoint=15, whitepoint=240, midpoint=100) +Curved joints for line sequences +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +``ImageDraw.Draw.line`` draws a line, or lines, between points. Previously, +when multiple points are given, for a larger ``width``, the joints between +these lines looked unsightly. There is now an additional optional argument, +``joint``, defaulting to ``None``. When it is set to ``curved``, the joints +between the lines will become rounded. Other Changes From 8bb5b6887bac3c51c42208037f9654af6a9e3730 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 10:52:43 +1000 Subject: [PATCH 030/323] Added release notes for #3364 [ci skip] --- docs/releasenotes/5.3.0.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index c56b23646..5a1019aaa 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -25,6 +25,13 @@ these lines looked unsightly. There is now an additional optional argument, ``joint``, defaulting to ``None``. When it is set to ``curved``, the joints between the lines will become rounded. +ImageOps.pad +^^^^^^^^^^^^ + +While ``ImageOps.fit`` allows users to crop images to a requested aspect ratio +and size, new method ``ImageOps.pad`` pads images to fill a requested aspect +ratio and size, filling new space with a provided ``color`` and positioning the +image within the new area through a ``centering`` argument. Other Changes ============= From e8adec0af243e563334a591620320cff471d76e5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 11:12:49 +1000 Subject: [PATCH 031/323] Added release notes for #3298 [ci skip] --- docs/releasenotes/5.3.0.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 5a1019aaa..5dade4228 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -36,3 +36,4 @@ image within the new area through a ``centering`` argument. Other Changes ============= +RGB WebP images are now read as RGB mode, rather than RGBX. From 09a7ac3a266cc79af7b2d3791b3095426a55c252 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 14:41:52 +1000 Subject: [PATCH 032/323] Added raqm scripts and install_extra_test_images script [ci skip] --- depends/README.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/depends/README.rst b/depends/README.rst index 779e956f4..069d2b81f 100644 --- a/depends/README.rst +++ b/depends/README.rst @@ -1,9 +1,12 @@ Depends ======= -``install_openjpeg.sh``, ``install_webp.sh`` and ``install_imagequant.sh`` can -be used to download, build & install non-packaged dependencies; useful for -testing with Travis CI. +``install_openjpeg.sh``, ``install_webp.sh``, ``install_imagequant.sh``, +``install_raqm.sh`` and ``install_raqm_cmake.sh`` can be used to download, +build & install non-packaged dependencies; useful for testing with Travis CI. + +``install_extra_test_images.sh`` can be used to install additional test images +that are used for Travis CI and AppVeyor. The other scripts can be used to install all of the dependencies for the listed operating systems/distros. The ``ubuntu_14.04.sh`` and From 6072e2e595289361ab548f22227ea59f73132b21 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 15:07:59 +1000 Subject: [PATCH 033/323] Changed note to be more generic [ci skip] --- docs/handbook/tutorial.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/handbook/tutorial.rst b/docs/handbook/tutorial.rst index 52d98f694..3d4ab0c8d 100644 --- a/docs/handbook/tutorial.rst +++ b/docs/handbook/tutorial.rst @@ -41,10 +41,10 @@ example, let’s display the image we just loaded:: .. note:: The standard version of :py:meth:`~PIL.Image.Image.show` is not very - efficient, since it saves the image to a temporary file and calls the - :command:`xv` utility to display the image. If you don’t have :command:`xv` - installed, it won’t even work. When it does work though, it is very handy - for debugging and tests. + efficient, since it saves the image to a temporary file and calls a utility + to display the image. If you don’t have an appropriate utility installed, + it won’t even work. When it does work though, it is very handy for + debugging and tests. The following sections provide an overview of the different functions provided in this library. From bd600c6966001da71b09a457d253d81162e85838 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 15:31:10 +1000 Subject: [PATCH 034/323] Crop is no longer lazy [ci skip] --- docs/handbook/tutorial.rst | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/docs/handbook/tutorial.rst b/docs/handbook/tutorial.rst index 3d4ab0c8d..13a7deba6 100644 --- a/docs/handbook/tutorial.rst +++ b/docs/handbook/tutorial.rst @@ -183,20 +183,11 @@ Rolling an image part1 = image.crop((0, 0, delta, ysize)) part2 = image.crop((delta, 0, xsize, ysize)) - part1.load() - part2.load() - image.paste(part2, (0, 0, xsize-delta, ysize)) image.paste(part1, (xsize-delta, 0, xsize, ysize)) + image.paste(part2, (0, 0, xsize-delta, ysize)) return image -Note that when pasting it back from the :py:meth:`~PIL.Image.Image.crop` -operation, :py:meth:`~PIL.Image.Image.load` is called first. This is because -cropping is a lazy operation. If :py:meth:`~PIL.Image.Image.load` was not -called, then the crop operation would not be performed until the images were -used in the paste commands. This would mean that ``part1`` would be cropped from -the version of ``image`` already modified by the first paste. - For more advanced tricks, the paste method can also take a transparency mask as an optional argument. In this mask, the value 255 indicates that the pasted image is opaque in that position (that is, the pasted image should be used as From 29bc4b2df40465a5995c904f87c66b9d31a7c48b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 20:14:56 +1000 Subject: [PATCH 035/323] Improved convert documentation [ci skip] --- src/PIL/Image.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index e5e78cf27..3631c78eb 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -873,12 +873,17 @@ class Image(object): use other thresholds, use the :py:meth:`~PIL.Image.Image.point` method. + When converting from "RGBA" to "P" without a **matrix** argument, + this passes the operation to :py:meth:`~PIL.Image.Image.quantize`, + and **dither** and **palette** are ignored. + :param mode: The requested mode. See: :ref:`concept-modes`. :param matrix: An optional conversion matrix. If given, this should be 4- or 12-tuple containing floating point values. :param dither: Dithering method, used when converting from mode "RGB" to "P" or from "RGB" or "L" to "1". Available methods are NONE or FLOYDSTEINBERG (default). + Note that this is not used when **matrix** is supplied. :param palette: Palette to use when converting from mode "RGB" to "P". Available palettes are WEB or ADAPTIVE. :param colors: Number of colors to use for the ADAPTIVE palette. From d6d61b35dc2c867945bb3d9aa4d27400cde3a9f4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 21:44:25 +1000 Subject: [PATCH 036/323] Only draw pieslice's inner lines once --- src/libImaging/Draw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/Draw.c b/src/libImaging/Draw.c index 60650c373..d0f374fe1 100644 --- a/src/libImaging/Draw.c +++ b/src/libImaging/Draw.c @@ -854,7 +854,7 @@ ellipse(Imaging im, int x0, int y0, int x1, int y1, if (i != start) { if (mode == PIESLICE) { - if (x != cx || y != cy) { + if (j == 0 && (x != cx || y != cy)) { if (width == 1) { draw->line(im, x, y, cx, cy, ink); draw->line(im, cx, cy, sx, sy, ink); From 4404197b5646ae1ab4dedc9053ce8c19d2c31ddd Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 29 Sep 2018 23:24:17 +1000 Subject: [PATCH 037/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 4cb7320ea..85f86aab2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.3.0 (unreleased) ------------------ +- Add line width parameter to rectangle and ellipse-based shapes #3094 + [hugovk, radarhere] + - Fixed decompression bomb check in _crop #3313 [dinkolubina, hugovk] From 8c134ad8381da8f09a7c04efc97061fd9687503f Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 29 Sep 2018 16:35:55 +0300 Subject: [PATCH 038/323] Put ImageOps additions next to each other --- docs/releasenotes/5.3.0.rst | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 5dade4228..286b2f05e 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -4,6 +4,15 @@ API Additions ============= +Curved joints for line sequences +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +``ImageDraw.Draw.line`` draws a line, or lines, between points. Previously, +when multiple points are given, for a larger ``width``, the joints between +these lines looked unsightly. There is now an additional optional argument, +``joint``, defaulting to ``None``. When it is set to ``curved``, the joints +between the lines will become rounded. + ImageOps.colorize ^^^^^^^^^^^^^^^^^ @@ -13,18 +22,9 @@ Now it supports three-color mapping with the optional ``mid`` parameter, and the positions for all three color arguments can each be optionally specified (``blackpoint``, ``whitepoint`` and ``midpoint``). For example, with all optional arguments:: - ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175), + ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175), blackpoint=15, whitepoint=240, midpoint=100) -Curved joints for line sequences -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -``ImageDraw.Draw.line`` draws a line, or lines, between points. Previously, -when multiple points are given, for a larger ``width``, the joints between -these lines looked unsightly. There is now an additional optional argument, -``joint``, defaulting to ``None``. When it is set to ``curved``, the joints -between the lines will become rounded. - ImageOps.pad ^^^^^^^^^^^^ From 08274ae5aaf9784ae0564719f81e77bbef1d044d Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 29 Sep 2018 16:40:11 +0300 Subject: [PATCH 039/323] Release notes: Add line width parameter to rectangle and ellipse-based shapes --- docs/releasenotes/5.3.0.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 286b2f05e..354d77e7f 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -4,6 +4,12 @@ API Additions ============= +Add line width parameter to rectangle and ellipse-based shapes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +A line ``width`` parameter has been added to ``ImageDraw.Draw.arc``, +``chord``, ``ellipse``, ``pieslice`` and ``rectangle``. + Curved joints for line sequences ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ From f4c3002b979695311a06ce9964abb40ebc921d5f Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 29 Sep 2018 16:41:19 +0300 Subject: [PATCH 040/323] Fix unexpected indentation --- docs/releasenotes/5.3.0.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 354d77e7f..0bdfe2995 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -28,6 +28,7 @@ Now it supports three-color mapping with the optional ``mid`` parameter, and the positions for all three color arguments can each be optionally specified (``blackpoint``, ``whitepoint`` and ``midpoint``). For example, with all optional arguments:: + ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175), blackpoint=15, whitepoint=240, midpoint=100) From 2d3941095727f6949a9bb9cda35e2cb81ef9f941 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 29 Sep 2018 16:52:07 +0300 Subject: [PATCH 041/323] Note parameter is optional --- docs/releasenotes/5.3.0.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 0bdfe2995..0e484e7bc 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -7,7 +7,7 @@ API Additions Add line width parameter to rectangle and ellipse-based shapes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -A line ``width`` parameter has been added to ``ImageDraw.Draw.arc``, +An optional line ``width`` parameter has been added to ``ImageDraw.Draw.arc``, ``chord``, ``ellipse``, ``pieslice`` and ``rectangle``. Curved joints for line sequences @@ -28,7 +28,6 @@ Now it supports three-color mapping with the optional ``mid`` parameter, and the positions for all three color arguments can each be optionally specified (``blackpoint``, ``whitepoint`` and ``midpoint``). For example, with all optional arguments:: - ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175), blackpoint=15, whitepoint=240, midpoint=100) From 518b8c40afef4d896b9d3f2f5bb8f270b9d25dd9 Mon Sep 17 00:00:00 2001 From: Andrew Murray <3112309+radarhere@users.noreply.github.com> Date: Sun, 30 Sep 2018 00:19:13 +1000 Subject: [PATCH 042/323] Changed heading to past tense [ci skip] --- docs/releasenotes/5.3.0.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 0e484e7bc..10d6ecbd2 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -4,8 +4,8 @@ API Additions ============= -Add line width parameter to rectangle and ellipse-based shapes -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Added line width parameter to rectangle and ellipse-based shapes +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ An optional line ``width`` parameter has been added to ``ImageDraw.Draw.arc``, ``chord``, ``ellipse``, ``pieslice`` and ``rectangle``. From 091bd103ce428c8be0c2fcbb22c39c1ebc18d2c8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 01:22:14 +1000 Subject: [PATCH 043/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 85f86aab2..aa2e9b8b5 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.3.0 (unreleased) ------------------ +- Improved PDF document info #3274 + [radarhere] + - Add line width parameter to rectangle and ellipse-based shapes #3094 [hugovk, radarhere] From 8b34eb644f8a72f214155d24a56de62cf7c04ecb Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Thu, 21 Jun 2018 16:16:30 +0200 Subject: [PATCH 044/323] Avoid undefined behaviour due to division by zero --- src/libImaging/QuantOctree.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/libImaging/QuantOctree.c b/src/libImaging/QuantOctree.c index 018dfe1d9..d5af3c39a 100644 --- a/src/libImaging/QuantOctree.c +++ b/src/libImaging/QuantOctree.c @@ -149,10 +149,17 @@ count_used_color_buckets(const ColorCube cube) { static void avg_color_from_color_bucket(const ColorBucket bucket, Pixel *dst) { float count = bucket->count; - dst->c.r = (int)(bucket->r / count); - dst->c.g = (int)(bucket->g / count); - dst->c.b = (int)(bucket->b / count); - dst->c.a = (int)(bucket->a / count); + if (bucket->count != 0) { + dst->c.r = (int)(bucket->r / count); + dst->c.g = (int)(bucket->g / count); + dst->c.b = (int)(bucket->b / count); + dst->c.a = (int)(bucket->a / count); + } else { + dst->c.r = 0; + dst->c.g = 0; + dst->c.b = 0; + dst->c.a = 0; + } } static int From 9a0b9607623597fb9ebc675b99af4e79b5eb968c Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 29 Sep 2018 19:23:42 +0300 Subject: [PATCH 045/323] Re-use count variable --- src/libImaging/QuantOctree.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libImaging/QuantOctree.c b/src/libImaging/QuantOctree.c index d5af3c39a..6e4143d9e 100644 --- a/src/libImaging/QuantOctree.c +++ b/src/libImaging/QuantOctree.c @@ -149,7 +149,7 @@ count_used_color_buckets(const ColorCube cube) { static void avg_color_from_color_bucket(const ColorBucket bucket, Pixel *dst) { float count = bucket->count; - if (bucket->count != 0) { + if (count != 0) { dst->c.r = (int)(bucket->r / count); dst->c.g = (int)(bucket->g / count); dst->c.b = (int)(bucket->b / count); From 34426f25588698ddfbec4c098229f00b6a2dae22 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 13:35:50 +1000 Subject: [PATCH 046/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index aa2e9b8b5..f42b2b80e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,18 @@ Changelog (Pillow) 5.3.0 (unreleased) ------------------ +- Hide the Ghostscript progress dialog popup on Windows #3378 + [hugovk] + +- Adding support to reading tiled and YcbCr jpeg tiffs through libtiff #3227 + [kkopachev] + +- Fixed None as TIFF compression argument #3310 + [radarhere] + +- Changed GIF seek to remove previous info items #3324 + [radarhere] + - Improved PDF document info #3274 [radarhere] From 0adeb82e9886cdedb3917e8ddfaf46f69556a991 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 12:58:02 +1000 Subject: [PATCH 047/323] Changed Image size property to be read-only by default --- Tests/test_image.py | 5 ++--- Tests/test_imagefile.py | 2 +- src/PIL/BlpImagePlugin.py | 2 +- src/PIL/BmpImagePlugin.py | 2 +- src/PIL/BufrStubImagePlugin.py | 2 +- src/PIL/CurImagePlugin.py | 2 +- src/PIL/DdsImagePlugin.py | 2 +- src/PIL/EpsImagePlugin.py | 8 ++++---- src/PIL/FitsStubImagePlugin.py | 2 +- src/PIL/FliImagePlugin.py | 2 +- src/PIL/FpxImagePlugin.py | 2 +- src/PIL/FtexImagePlugin.py | 2 +- src/PIL/GbrImagePlugin.py | 2 +- src/PIL/GdImageFile.py | 2 +- src/PIL/GifImagePlugin.py | 2 +- src/PIL/GribStubImagePlugin.py | 2 +- src/PIL/Hdf5StubImagePlugin.py | 2 +- src/PIL/IcnsImagePlugin.py | 22 +++++++++++++++++++++- src/PIL/IcoImagePlugin.py | 13 ++++++++++++- src/PIL/ImImagePlugin.py | 2 +- src/PIL/Image.py | 12 ++++++++---- src/PIL/ImtImagePlugin.py | 4 ++-- src/PIL/IptcImagePlugin.py | 2 +- src/PIL/Jpeg2KImagePlugin.py | 8 ++++---- src/PIL/JpegImagePlugin.py | 6 +++--- src/PIL/McIdasImagePlugin.py | 2 +- src/PIL/MpegImagePlugin.py | 2 +- src/PIL/MspImagePlugin.py | 2 +- src/PIL/PcdImagePlugin.py | 4 ++-- src/PIL/PcxImagePlugin.py | 2 +- src/PIL/PixarImagePlugin.py | 2 +- src/PIL/PngImagePlugin.py | 2 +- src/PIL/PpmImagePlugin.py | 2 +- src/PIL/PsdImagePlugin.py | 2 +- src/PIL/SgiImagePlugin.py | 2 +- src/PIL/SpiderImagePlugin.py | 2 +- src/PIL/SunImagePlugin.py | 2 +- src/PIL/TgaImagePlugin.py | 2 +- src/PIL/TiffImagePlugin.py | 2 +- src/PIL/WebPImagePlugin.py | 4 ++-- src/PIL/WmfImagePlugin.py | 2 +- src/PIL/XVThumbImagePlugin.py | 2 +- src/PIL/XbmImagePlugin.py | 2 +- src/PIL/XpmImagePlugin.py | 2 +- 44 files changed, 94 insertions(+), 60 deletions(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 7222e389b..ad56a079a 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -56,9 +56,8 @@ class TestImage(PillowTestCase): self.assertEqual(im.width, 1) self.assertEqual(im.height, 2) - im.size = (3, 4) - self.assertEqual(im.width, 3) - self.assertEqual(im.height, 4) + with self.assertRaises(AttributeError) as e: + im.size = (3, 4) def test_invalid_image(self): if py3: diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py index 837e81d30..c95611b08 100644 --- a/Tests/test_imagefile.py +++ b/Tests/test_imagefile.py @@ -154,7 +154,7 @@ class MockImageFile(ImageFile.ImageFile): def _open(self): self.rawmode = 'RGBA' self.mode = 'RGBA' - self.size = (200, 200) + self._size = (200, 200) self.tile = [("MOCK", (xoff, yoff, xoff+xsize, yoff+ysize), 32, None)] diff --git a/src/PIL/BlpImagePlugin.py b/src/PIL/BlpImagePlugin.py index 9b1a99ae1..398e0fa0c 100644 --- a/src/PIL/BlpImagePlugin.py +++ b/src/PIL/BlpImagePlugin.py @@ -270,7 +270,7 @@ class BlpImageFile(ImageFile.ImageFile): self._blp_alpha_encoding, = struct.unpack("= 16 - self.size = file_info['width'], file_info['height'] + self._size = file_info['width'], file_info['height'] # -------- If color count was not found in the header, compute from bits file_info['colors'] = file_info['colors'] if file_info.get('colors', 0) else (1 << file_info['bits']) # -------------------------------- Check abnormal values for DOS attacks diff --git a/src/PIL/BufrStubImagePlugin.py b/src/PIL/BufrStubImagePlugin.py index 16d83c74d..a1957b32a 100644 --- a/src/PIL/BufrStubImagePlugin.py +++ b/src/PIL/BufrStubImagePlugin.py @@ -47,7 +47,7 @@ class BufrStubImageFile(ImageFile.StubImageFile): # make something up self.mode = "F" - self.size = 1, 1 + self._size = 1, 1 loader = self._load() if loader: diff --git a/src/PIL/CurImagePlugin.py b/src/PIL/CurImagePlugin.py index db9ea9874..3e8f32102 100644 --- a/src/PIL/CurImagePlugin.py +++ b/src/PIL/CurImagePlugin.py @@ -63,7 +63,7 @@ class CurImageFile(BmpImagePlugin.BmpImageFile): self._bitmap(i32(m[12:]) + offset) # patch up the bitmap height - self.size = self.size[0], self.size[1]//2 + self._size = self.size[0], self.size[1]//2 d, e, o, a = self.tile[0] self.tile[0] = d, (0, 0)+self.size, o, a diff --git a/src/PIL/DdsImagePlugin.py b/src/PIL/DdsImagePlugin.py index 3bd65c93d..7660827c5 100644 --- a/src/PIL/DdsImagePlugin.py +++ b/src/PIL/DdsImagePlugin.py @@ -114,7 +114,7 @@ class DdsImageFile(ImageFile.ImageFile): header = BytesIO(header_bytes) flags, height, width = struct.unpack("<3I", header.read(12)) - self.size = (width, height) + self._size = (width, height) self.mode = "RGBA" pitch, depth, mipmaps = struct.unpack("<3I", header.read(12)) diff --git a/src/PIL/EpsImagePlugin.py b/src/PIL/EpsImagePlugin.py index 7932ad58c..b2dec7809 100644 --- a/src/PIL/EpsImagePlugin.py +++ b/src/PIL/EpsImagePlugin.py @@ -217,7 +217,7 @@ class EpsImageFile(ImageFile.ImageFile): box = None self.mode = "RGB" - self.size = 1, 1 # FIXME: huh? + self._size = 1, 1 # FIXME: huh? # # Load EPS header @@ -244,7 +244,7 @@ class EpsImageFile(ImageFile.ImageFile): # fields should be integers, but some drivers # put floating point values there anyway. box = [int(float(i)) for i in v.split()] - self.size = box[2] - box[0], box[3] - box[1] + self._size = box[2] - box[0], box[3] - box[1] self.tile = [("eps", (0, 0) + self.size, offset, (length, box))] except Exception: @@ -293,7 +293,7 @@ class EpsImageFile(ImageFile.ImageFile): except ValueError: break - self.size = int(x), int(y) + self._size = int(x), int(y) return s = fp.readline().strip('\r\n') @@ -331,7 +331,7 @@ class EpsImageFile(ImageFile.ImageFile): return self.im = Ghostscript(self.tile, self.size, self.fp, scale) self.mode = self.im.mode - self.size = self.im.size + self._size = self.im.size self.tile = [] def load_seek(self, *args, **kwargs): diff --git a/src/PIL/FitsStubImagePlugin.py b/src/PIL/FitsStubImagePlugin.py index be926cadb..63c195c43 100644 --- a/src/PIL/FitsStubImagePlugin.py +++ b/src/PIL/FitsStubImagePlugin.py @@ -50,7 +50,7 @@ class FITSStubImageFile(ImageFile.StubImageFile): # make something up self.mode = "F" - self.size = 1, 1 + self._size = 1, 1 loader = self._load() if loader: diff --git a/src/PIL/FliImagePlugin.py b/src/PIL/FliImagePlugin.py index 2c190b635..c78c8c622 100644 --- a/src/PIL/FliImagePlugin.py +++ b/src/PIL/FliImagePlugin.py @@ -54,7 +54,7 @@ class FliImageFile(ImageFile.ImageFile): # image characteristics self.mode = "P" - self.size = i16(s[8:10]), i16(s[10:12]) + self._size = i16(s[8:10]), i16(s[10:12]) # animation speed duration = i32(s[16:20]) diff --git a/src/PIL/FpxImagePlugin.py b/src/PIL/FpxImagePlugin.py index 509fd7d91..9f284fd85 100644 --- a/src/PIL/FpxImagePlugin.py +++ b/src/PIL/FpxImagePlugin.py @@ -81,7 +81,7 @@ class FpxImageFile(ImageFile.ImageFile): # size (highest resolution) - self.size = prop[0x1000002], prop[0x1000003] + self._size = prop[0x1000002], prop[0x1000003] size = max(self.size) i = 1 diff --git a/src/PIL/FtexImagePlugin.py b/src/PIL/FtexImagePlugin.py index 72378d79f..08ce0e006 100644 --- a/src/PIL/FtexImagePlugin.py +++ b/src/PIL/FtexImagePlugin.py @@ -61,7 +61,7 @@ class FtexImageFile(ImageFile.ImageFile): def _open(self): magic = struct.unpack("> 1 - self.size = (int((self.size[0] + adjust) / power), - int((self.size[1] + adjust) / power)) + self._size = (int((self.size[0] + adjust) / power), + int((self.size[1] + adjust) / power)) if self.tile: # Update the reduce and layers settings diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index e38306041..f2068189f 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -159,7 +159,7 @@ def SOF(self, marker): n = i16(self.fp.read(2))-2 s = ImageFile._safe_read(self.fp, n) - self.size = i16(s[3:]), i16(s[1:]) + self._size = i16(s[3:]), i16(s[1:]) self.bits = i8(s[0]) if self.bits != 8: @@ -390,7 +390,7 @@ class JpegImageFile(ImageFile.ImageFile): if scale >= s: break e = e[0], e[1], (e[2]-e[0]+s-1)//s+e[0], (e[3]-e[1]+s-1)//s+e[1] - self.size = ((self.size[0]+s-1)//s, (self.size[1]+s-1)//s) + self._size = ((self.size[0]+s-1)//s, (self.size[1]+s-1)//s) scale = s self.tile = [(d, e, o, a)] @@ -423,7 +423,7 @@ class JpegImageFile(ImageFile.ImageFile): pass self.mode = self.im.mode - self.size = self.im.size + self._size = self.im.size self.tile = [] diff --git a/src/PIL/McIdasImagePlugin.py b/src/PIL/McIdasImagePlugin.py index 06da33f77..161fb5e50 100644 --- a/src/PIL/McIdasImagePlugin.py +++ b/src/PIL/McIdasImagePlugin.py @@ -59,7 +59,7 @@ class McIdasImageFile(ImageFile.ImageFile): raise SyntaxError("unsupported McIdas format") self.mode = mode - self.size = w[10], w[9] + self._size = w[10], w[9] offset = w[34] + w[15] stride = w[15] + w[10]*w[11]*w[14] diff --git a/src/PIL/MpegImagePlugin.py b/src/PIL/MpegImagePlugin.py index fca7f9d9f..15c7afccc 100644 --- a/src/PIL/MpegImagePlugin.py +++ b/src/PIL/MpegImagePlugin.py @@ -72,7 +72,7 @@ class MpegImageFile(ImageFile.ImageFile): raise SyntaxError("not an MPEG file") self.mode = "RGB" - self.size = s.read(12), s.read(12) + self._size = s.read(12), s.read(12) # -------------------------------------------------------------------- diff --git a/src/PIL/MspImagePlugin.py b/src/PIL/MspImagePlugin.py index b2c7a3d79..74c68172a 100644 --- a/src/PIL/MspImagePlugin.py +++ b/src/PIL/MspImagePlugin.py @@ -63,7 +63,7 @@ class MspImageFile(ImageFile.ImageFile): raise SyntaxError("bad MSP checksum") self.mode = "1" - self.size = i16(s[4:]), i16(s[6:]) + self._size = i16(s[4:]), i16(s[6:]) if s[:4] == b"DanM": self.tile = [("raw", (0, 0)+self.size, 32, ("1", 0, 1))] diff --git a/src/PIL/PcdImagePlugin.py b/src/PIL/PcdImagePlugin.py index fa95b5008..87e5792eb 100644 --- a/src/PIL/PcdImagePlugin.py +++ b/src/PIL/PcdImagePlugin.py @@ -48,14 +48,14 @@ class PcdImageFile(ImageFile.ImageFile): self.tile_post_rotate = -90 self.mode = "RGB" - self.size = 768, 512 # FIXME: not correct for rotated images! + self._size = 768, 512 # FIXME: not correct for rotated images! self.tile = [("pcd", (0, 0)+self.size, 96*2048, None)] def load_end(self): if self.tile_post_rotate: # Handle rotated PCDs self.im = self.im.rotate(self.tile_post_rotate) - self.size = self.im.size + self._size = self.im.size # diff --git a/src/PIL/PcxImagePlugin.py b/src/PIL/PcxImagePlugin.py index 564713a98..daa58b3f3 100644 --- a/src/PIL/PcxImagePlugin.py +++ b/src/PIL/PcxImagePlugin.py @@ -100,7 +100,7 @@ class PcxImageFile(ImageFile.ImageFile): raise IOError("unknown PCX mode") self.mode = mode - self.size = bbox[2]-bbox[0], bbox[3]-bbox[1] + self._size = bbox[2]-bbox[0], bbox[3]-bbox[1] bbox = (0, 0) + self.size logger.debug("size: %sx%s", *self.size) diff --git a/src/PIL/PixarImagePlugin.py b/src/PIL/PixarImagePlugin.py index 220577cce..d07b28d07 100644 --- a/src/PIL/PixarImagePlugin.py +++ b/src/PIL/PixarImagePlugin.py @@ -50,7 +50,7 @@ class PixarImageFile(ImageFile.ImageFile): # read rest of header s = s + self.fp.read(508) - self.size = i16(s[418:420]), i16(s[416:418]) + self._size = i16(s[418:420]), i16(s[416:418]) # get channel/depth descriptions mode = i16(s[424:426]), i16(s[426:428]) diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index 4f1f0f9cf..15077fceb 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -577,7 +577,7 @@ class PngImageFile(ImageFile.ImageFile): # (believe me, I've tried ;-) self.mode = self.png.im_mode - self.size = self.png.im_size + self._size = self.png.im_size self.info = self.png.im_info self.text = self.png.im_text # experimental self.tile = self.png.im_tile diff --git a/src/PIL/PpmImagePlugin.py b/src/PIL/PpmImagePlugin.py index 9866c9040..8002678fb 100644 --- a/src/PIL/PpmImagePlugin.py +++ b/src/PIL/PpmImagePlugin.py @@ -107,7 +107,7 @@ class PpmImageFile(ImageFile.ImageFile): self.mode = 'I' rawmode = 'I;32B' - self.size = xsize, ysize + self._size = xsize, ysize self.tile = [("raw", (0, 0, xsize, ysize), self.fp.tell(), diff --git a/src/PIL/PsdImagePlugin.py b/src/PIL/PsdImagePlugin.py index f6e04f78b..2d64ecd9e 100644 --- a/src/PIL/PsdImagePlugin.py +++ b/src/PIL/PsdImagePlugin.py @@ -71,7 +71,7 @@ class PsdImageFile(ImageFile.ImageFile): raise IOError("not enough channels") self.mode = mode - self.size = i32(s[18:]), i32(s[14:]) + self._size = i32(s[18:]), i32(s[14:]) # # color mode data diff --git a/src/PIL/SgiImagePlugin.py b/src/PIL/SgiImagePlugin.py index 113d44fac..88df35135 100644 --- a/src/PIL/SgiImagePlugin.py +++ b/src/PIL/SgiImagePlugin.py @@ -96,7 +96,7 @@ class SgiImageFile(ImageFile.ImageFile): if rawmode == "": raise ValueError("Unsupported SGI image mode") - self.size = xsize, ysize + self._size = xsize, ysize self.mode = rawmode.split(";")[0] # orientation -1 : scanlines begins at the bottom-left corner diff --git a/src/PIL/SpiderImagePlugin.py b/src/PIL/SpiderImagePlugin.py index a0d5f17a4..3f5795210 100644 --- a/src/PIL/SpiderImagePlugin.py +++ b/src/PIL/SpiderImagePlugin.py @@ -120,7 +120,7 @@ class SpiderImageFile(ImageFile.ImageFile): if iform != 1: raise SyntaxError("not a Spider 2D image") - self.size = int(h[12]), int(h[2]) # size in pixels (width, height) + self._size = int(h[12]), int(h[2]) # size in pixels (width, height) self.istack = int(h[24]) self.imgnumber = int(h[27]) diff --git a/src/PIL/SunImagePlugin.py b/src/PIL/SunImagePlugin.py index 3126bd9d6..898350e02 100644 --- a/src/PIL/SunImagePlugin.py +++ b/src/PIL/SunImagePlugin.py @@ -59,7 +59,7 @@ class SunImageFile(ImageFile.ImageFile): offset = 32 - self.size = i32(s[4:8]), i32(s[8:12]) + self._size = i32(s[4:8]), i32(s[8:12]) depth = i32(s[12:16]) # data_length = i32(s[16:20]) # unreliable, ignore. diff --git a/src/PIL/TgaImagePlugin.py b/src/PIL/TgaImagePlugin.py index 02893e837..c266d50c1 100644 --- a/src/PIL/TgaImagePlugin.py +++ b/src/PIL/TgaImagePlugin.py @@ -64,7 +64,7 @@ class TgaImageFile(ImageFile.ImageFile): flags = i8(s[17]) - self.size = i16(s[12:]), i16(s[14:]) + self._size = i16(s[12:]), i16(s[14:]) # validate header fields if colormaptype not in (0, 1) or\ diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 9a7bbdb48..8bd3bef10 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1174,7 +1174,7 @@ class TiffImageFile(ImageFile.ImageFile): # size xsize = self.tag_v2.get(IMAGEWIDTH) ysize = self.tag_v2.get(IMAGELENGTH) - self.size = xsize, ysize + self._size = xsize, ysize if DEBUG: print("- size:", self.size) diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 08c6b26ac..03031db8f 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -42,7 +42,7 @@ class WebPImageFile(ImageFile.ImageFile): self.info["icc_profile"] = icc_profile if exif: self.info["exif"] = exif - self.size = width, height + self._size = width, height self.fp = BytesIO(data) self.tile = [("raw", (0, 0) + self.size, 0, self.mode)] self._n_frames = 1 @@ -55,7 +55,7 @@ class WebPImageFile(ImageFile.ImageFile): # Get info from decoder width, height, loop_count, bgcolor, frame_count, mode = \ self._decoder.get_info() - self.size = width, height + self._size = width, height self.info["loop"] = loop_count bg_a, bg_r, bg_g, bg_b = \ (bgcolor >> 24) & 0xFF, \ diff --git a/src/PIL/WmfImagePlugin.py b/src/PIL/WmfImagePlugin.py index 6811ddcec..81699bda7 100644 --- a/src/PIL/WmfImagePlugin.py +++ b/src/PIL/WmfImagePlugin.py @@ -143,7 +143,7 @@ class WmfStubImageFile(ImageFile.StubImageFile): raise SyntaxError("Unsupported file format") self.mode = "RGB" - self.size = size + self._size = size loader = self._load() if loader: diff --git a/src/PIL/XVThumbImagePlugin.py b/src/PIL/XVThumbImagePlugin.py index a7d39ed89..8cdd84817 100644 --- a/src/PIL/XVThumbImagePlugin.py +++ b/src/PIL/XVThumbImagePlugin.py @@ -65,7 +65,7 @@ class XVThumbImageFile(ImageFile.ImageFile): s = s.strip().split() self.mode = "P" - self.size = int(s[0]), int(s[1]) + self._size = int(s[0]), int(s[1]) self.palette = ImagePalette.raw("RGB", PALETTE) diff --git a/src/PIL/XbmImagePlugin.py b/src/PIL/XbmImagePlugin.py index b43fbef50..0cccda17c 100644 --- a/src/PIL/XbmImagePlugin.py +++ b/src/PIL/XbmImagePlugin.py @@ -63,7 +63,7 @@ class XbmImageFile(ImageFile.ImageFile): ) self.mode = "1" - self.size = xsize, ysize + self._size = xsize, ysize self.tile = [("xbm", (0, 0)+self.size, m.end(), None)] diff --git a/src/PIL/XpmImagePlugin.py b/src/PIL/XpmImagePlugin.py index a5cca0e27..02bc28a17 100644 --- a/src/PIL/XpmImagePlugin.py +++ b/src/PIL/XpmImagePlugin.py @@ -51,7 +51,7 @@ class XpmImageFile(ImageFile.ImageFile): if m: break - self.size = int(m.group(1)), int(m.group(2)) + self._size = int(m.group(1)), int(m.group(2)) pal = int(m.group(3)) bpp = int(m.group(4)) From cea6ecfdbb3c7cf48815b4ec758946481f78cf13 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 14:07:55 +1000 Subject: [PATCH 048/323] Updated example decoders [ci skip] --- docs/example/DdsImagePlugin.py | 2 +- docs/handbook/writing-your-own-file-decoder.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/example/DdsImagePlugin.py b/docs/example/DdsImagePlugin.py index 71a5b50ea..2877697aa 100644 --- a/docs/example/DdsImagePlugin.py +++ b/docs/example/DdsImagePlugin.py @@ -221,7 +221,7 @@ class DdsImageFile(ImageFile.ImageFile): header = BytesIO(header_bytes) flags, height, width = struct.unpack("<3I", header.read(12)) - self.size = (width, height) + self._size = (width, height) self.mode = "RGBA" pitch, depth, mipmaps = struct.unpack("<3I", header.read(12)) diff --git a/docs/handbook/writing-your-own-file-decoder.rst b/docs/handbook/writing-your-own-file-decoder.rst index 107e25f36..2e68656ca 100644 --- a/docs/handbook/writing-your-own-file-decoder.rst +++ b/docs/handbook/writing-your-own-file-decoder.rst @@ -69,7 +69,7 @@ true color. header = string.split(header) # size in pixels (width, height) - self.size = int(header[1]), int(header[2]) + self._size = int(header[1]), int(header[2]) # mode setting bits = int(header[3]) From 6f44ae1d27fa89a9e313e0da9dbfe3d129bb0763 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 15:08:35 +1000 Subject: [PATCH 049/323] Only deprecate setting of TIFF image sizes --- Tests/test_file_tiff.py | 8 ++++++++ src/PIL/TiffImagePlugin.py | 13 +++++++++++++ 2 files changed, 21 insertions(+) diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index a920032f3..a92c2351f 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -69,6 +69,14 @@ class TestFileTiff(PillowTestCase): self.assertEqual(str(e.exception), "Not allowing setting of legacy api") + def test_size(self): + filename = "Tests/images/pil168.tif" + im = Image.open(filename) + + def set_size(): + im.size = (256, 256) + self.assert_warning(DeprecationWarning, set_size) + def test_xyres_tiff(self): filename = "Tests/images/pil168.tif" im = Image.open(filename) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 8bd3bef10..d18ca39d8 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1049,6 +1049,19 @@ class TiffImageFile(ImageFile.ImageFile): "Return the current frame number" return self.__frame + @property + def size(self): + return self._size + + @size.setter + def size(self, value): + warnings.warn( + 'Setting the size of a TIFF image direcly is deprecated, and will ' + 'be removed in a future version. Use the resize method instead.', + DeprecationWarning + ) + self._size = value + def load(self): if self.use_load_libtiff: return self._load_libtiff() From e3675f95fbdf2ebeb51dcdb945a68ed8d18c3725 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 14:47:05 +1000 Subject: [PATCH 050/323] Added tests --- Tests/test_file_icns.py | 4 ++++ Tests/test_file_ico.py | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index 06a7e39bb..b19cf2e4c 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -64,6 +64,10 @@ class TestFileIcns(PillowTestCase): self.assertEqual(im2.mode, 'RGBA') self.assertEqual(im2.size, (wr, hr)) + # Check that we cannot load an incorrect size + with self.assertRaises(ValueError): + im.size = (1, 1) + def test_older_icon(self): # This icon was made with Icon Composer rather than iconutil; it still # uses PNG rather than JP2, however (since it was made on 10.9). diff --git a/Tests/test_file_ico.py b/Tests/test_file_ico.py index 20f21db57..d3024ee90 100644 --- a/Tests/test_file_ico.py +++ b/Tests/test_file_ico.py @@ -47,6 +47,11 @@ class TestFileIco(PillowTestCase): self.assert_image_equal(reloaded, hopper().resize((32, 32), Image.LANCZOS)) + def test_incorrect_size(self): + im = Image.open(TEST_ICO_FILE) + with self.assertRaises(ValueError): + im.size = (1, 1) + def test_save_256x256(self): """Issue #2264 https://github.com/python-pillow/Pillow/issues/2264""" # Arrange From da2c12533dfb26989b9b0be655ca1e5153c73470 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 15:26:50 +1000 Subject: [PATCH 051/323] Added release notes for #3227 [ci skip] --- docs/releasenotes/5.3.0.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 10d6ecbd2..f71cdadf3 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -42,4 +42,7 @@ image within the new area through a ``centering`` argument. Other Changes ============= +Added support for reading tiled TIFF images through LibTIFF. Compressed TIFF +images are now read through LibTIFF. + RGB WebP images are now read as RGB mode, rather than RGBX. From 82d942c3d8d5f70126e37be724c38f202b227d1e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 15:34:27 +1000 Subject: [PATCH 052/323] Added warnings if image file identification fails due to lack of support --- Tests/test_file_webp.py | 22 ++++++++++++++++++++-- src/PIL/Image.py | 8 +++++++- src/PIL/WebPImagePlugin.py | 23 ++++++++++++++++------- 3 files changed, 43 insertions(+), 10 deletions(-) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index fa01cf93e..d815ab09a 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -1,6 +1,6 @@ from helper import unittest, PillowTestCase, hopper -from PIL import Image +from PIL import Image, WebPImagePlugin try: from PIL import _webp @@ -13,15 +13,27 @@ class TestFileWebp(PillowTestCase): def setUp(self): if not HAVE_WEBP: - self.skipTest('WebP support not installed') return self.rgb_mode = "RGB" + def test_unsupported(self): + if HAVE_WEBP: + WebPImagePlugin.SUPPORTED = False + + file_path = "Tests/images/hopper.webp" + self.assert_warning(UserWarning, + lambda: self.assertRaises(IOError, Image.open, file_path)) + + if HAVE_WEBP: + WebPImagePlugin.SUPPORTED = True + + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_version(self): _webp.WebPDecoderVersion() _webp.WebPDecoderBuggyAlpha() + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_read_rgb(self): """ Can we read a RGB mode WebP file without error? @@ -41,6 +53,7 @@ class TestFileWebp(PillowTestCase): self.assert_image_similar_tofile( image, 'Tests/images/hopper_webp_bits.ppm', 1.0) + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_write_rgb(self): """ Can we write a RGB mode file to webp without error. @@ -70,6 +83,7 @@ class TestFileWebp(PillowTestCase): target = hopper(self.rgb_mode) self.assert_image_similar(image, target, 12.0) + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_write_unsupported_mode_L(self): """ Saving a black-and-white file to WebP format should work, and be @@ -90,6 +104,7 @@ class TestFileWebp(PillowTestCase): self.assert_image_similar(image, target, 10.0) + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_write_unsupported_mode_P(self): """ Saving a palette-based file to WebP format should work, and be @@ -110,6 +125,7 @@ class TestFileWebp(PillowTestCase): self.assert_image_similar(image, target, 50.0) + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_WebPEncode_with_invalid_args(self): """ Calling encoder functions with no arguments should result in an error. @@ -119,6 +135,7 @@ class TestFileWebp(PillowTestCase): self.assertRaises(TypeError, _webp.WebPAnimEncoder) self.assertRaises(TypeError, _webp.WebPEncode) + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_WebPDecode_with_invalid_args(self): """ Calling decoder functions with no arguments should result in an error. @@ -128,6 +145,7 @@ class TestFileWebp(PillowTestCase): self.assertRaises(TypeError, _webp.WebPAnimDecoder) self.assertRaises(TypeError, _webp.WebPDecode) + @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_no_resource_warning(self): file_path = "Tests/images/hopper.webp" image = Image.open(file_path) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 3631c78eb..73a600168 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2615,11 +2615,15 @@ def open(fp, mode="r"): preinit() + acceptWarnings = [] def _open_core(fp, filename, prefix): for i in ID: try: factory, accept = OPEN[i] - if not accept or accept(prefix): + result = not accept or accept(prefix) + if type(result) in [str, bytes]: + acceptWarnings.append(result) + elif result: fp.seek(0) im = factory(fp, filename) _decompression_bomb_check(im.size) @@ -2643,6 +2647,8 @@ def open(fp, mode="r"): if exclusive_fp: fp.close() + for message in acceptWarnings: + warnings.warn(message) raise IOError("cannot identify image file %r" % (filename if filename else fp)) diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 08c6b26ac..7a5f8cdad 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -1,4 +1,9 @@ -from . import Image, ImageFile, _webp +from . import Image, ImageFile +try: + from . import _webp + SUPPORTED = True +except ImportError as e: + SUPPORTED = False from io import BytesIO @@ -25,7 +30,10 @@ def _accept(prefix): is_webp_file = prefix[8:12] == b"WEBP" is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER - return is_riff_file_format and is_webp_file and is_valid_vp8_mode + if is_riff_file_format and is_webp_file and is_valid_vp8_mode: + if not SUPPORTED: + return "image file could not be identified because WEBP support not installed" + return True class WebPImageFile(ImageFile.ImageFile): @@ -321,8 +329,9 @@ def _save(im, fp, filename): Image.register_open(WebPImageFile.format, WebPImageFile, _accept) -Image.register_save(WebPImageFile.format, _save) -if _webp.HAVE_WEBPANIM: - Image.register_save_all(WebPImageFile.format, _save_all) -Image.register_extension(WebPImageFile.format, ".webp") -Image.register_mime(WebPImageFile.format, "image/webp") +if SUPPORTED: + Image.register_save(WebPImageFile.format, _save) + if _webp.HAVE_WEBPANIM: + Image.register_save_all(WebPImageFile.format, _save_all) + Image.register_extension(WebPImageFile.format, ".webp") + Image.register_mime(WebPImageFile.format, "image/webp") From a0fda6066262bdd9f0b855598dc03e8a6d77783c Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 29 Sep 2018 19:34:03 +0300 Subject: [PATCH 053/323] Use snake_case --- src/PIL/Image.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 73a600168..88a677b5e 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2615,14 +2615,14 @@ def open(fp, mode="r"): preinit() - acceptWarnings = [] + accept_warnings = [] def _open_core(fp, filename, prefix): for i in ID: try: factory, accept = OPEN[i] result = not accept or accept(prefix) if type(result) in [str, bytes]: - acceptWarnings.append(result) + accept_warnings.append(result) elif result: fp.seek(0) im = factory(fp, filename) @@ -2647,7 +2647,7 @@ def open(fp, mode="r"): if exclusive_fp: fp.close() - for message in acceptWarnings: + for message in accept_warnings: warnings.warn(message) raise IOError("cannot identify image file %r" % (filename if filename else fp)) From 2c11974b86f9bbb095a0cc54e876823854ad0a10 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 21:09:42 +1000 Subject: [PATCH 054/323] Fixed typo --- src/PIL/TiffImagePlugin.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index d18ca39d8..5059a1324 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1056,8 +1056,8 @@ class TiffImageFile(ImageFile.ImageFile): @size.setter def size(self, value): warnings.warn( - 'Setting the size of a TIFF image direcly is deprecated, and will ' - 'be removed in a future version. Use the resize method instead.', + 'Setting the size of a TIFF image directly is deprecated, and will' + ' be removed in a future version. Use the resize method instead.', DeprecationWarning ) self._size = value From 05f21695c7bbf6c3965d32dc563e66ad9d46912a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 21:32:46 +1000 Subject: [PATCH 055/323] Added release notes [ci skip] --- docs/releasenotes/5.3.0.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 10d6ecbd2..efa84e214 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -39,6 +39,22 @@ and size, new method ``ImageOps.pad`` pads images to fill a requested aspect ratio and size, filling new space with a provided ``color`` and positioning the image within the new area through a ``centering`` argument. +Image Size +========== + +If you attempt to set the size of an image directly, e.g. +``im.size = (100, 100)``, you will now receive an ``AttributeError``. This is +not about removing existing functionality, but instead about raising an +explicit error to prevent later consequences. The ``resize`` method is the +correct way to change an image's size. + +The exceptions to this are: +* The ICO and ICNS image formats, which use ``im.size = (100, 100)`` to select +a subimage. +* The TIFF image format, which now has a ``DeprecationWarning`` for this +action, as direct image size setting was previously necessary to work around an +issue with tile extents. + Other Changes ============= From e839648a24969d9c5ab47f6f16948db12d2b3092 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 21:37:50 +1000 Subject: [PATCH 056/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index f42b2b80e..f918d5899 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 5.3.0 (unreleased) ------------------ +- Changed Image size property to be read-only by default #3203 + [radarhere] + +- Add warnings if image file identification fails due to lack of WebP support #3169 + [radarhere, hugovk] + - Hide the Ghostscript progress dialog popup on Windows #3378 [hugovk] From 39e95a6a4398d1c848c17f724bf14916a68298b7 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 30 Sep 2018 21:47:47 +1000 Subject: [PATCH 057/323] Corrected documentation syntax --- docs/releasenotes/5.3.0.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index e1c97f8d9..7a5bd0f69 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -49,11 +49,9 @@ explicit error to prevent later consequences. The ``resize`` method is the correct way to change an image's size. The exceptions to this are: -* The ICO and ICNS image formats, which use ``im.size = (100, 100)`` to select -a subimage. -* The TIFF image format, which now has a ``DeprecationWarning`` for this -action, as direct image size setting was previously necessary to work around an -issue with tile extents. + +* The ICO and ICNS image formats, which use ``im.size = (100, 100)`` to select a subimage. +* The TIFF image format, which now has a ``DeprecationWarning`` for this action, as direct image size setting was previously necessary to work around an issue with tile extents. Other Changes ============= From bb795fc2d1c9b6656487640ee52dcca5fd265bb0 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 30 Sep 2018 17:12:20 +0300 Subject: [PATCH 058/323] Move "Image size" under "API Changes" To try to keep the headings consistent with before: https://pillow.readthedocs.io/en/5.2.x/releasenotes/index.html [CI skip] --- docs/releasenotes/5.3.0.rst | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/docs/releasenotes/5.3.0.rst b/docs/releasenotes/5.3.0.rst index 7a5bd0f69..cce671c32 100644 --- a/docs/releasenotes/5.3.0.rst +++ b/docs/releasenotes/5.3.0.rst @@ -1,6 +1,24 @@ 5.3.0 ----- +API Changes +=========== + +Image size +^^^^^^^^^^ + +If you attempt to set the size of an image directly, e.g. +``im.size = (100, 100)``, you will now receive an ``AttributeError``. This is +not about removing existing functionality, but instead about raising an +explicit error to prevent later consequences. The ``resize`` method is the +correct way to change an image's size. + +The exceptions to this are: + +* The ICO and ICNS image formats, which use ``im.size = (100, 100)`` to select a subimage. +* The TIFF image format, which now has a ``DeprecationWarning`` for this action, as direct image size setting was previously necessary to work around an issue with tile extents. + + API Additions ============= @@ -28,6 +46,7 @@ Now it supports three-color mapping with the optional ``mid`` parameter, and the positions for all three color arguments can each be optionally specified (``blackpoint``, ``whitepoint`` and ``midpoint``). For example, with all optional arguments:: + ImageOps.colorize(im, black=(32, 37, 79), white='white', mid=(59, 101, 175), blackpoint=15, whitepoint=240, midpoint=100) @@ -39,20 +58,6 @@ and size, new method ``ImageOps.pad`` pads images to fill a requested aspect ratio and size, filling new space with a provided ``color`` and positioning the image within the new area through a ``centering`` argument. -Image Size -========== - -If you attempt to set the size of an image directly, e.g. -``im.size = (100, 100)``, you will now receive an ``AttributeError``. This is -not about removing existing functionality, but instead about raising an -explicit error to prevent later consequences. The ``resize`` method is the -correct way to change an image's size. - -The exceptions to this are: - -* The ICO and ICNS image formats, which use ``im.size = (100, 100)`` to select a subimage. -* The TIFF image format, which now has a ``DeprecationWarning`` for this action, as direct image size setting was previously necessary to work around an issue with tile extents. - Other Changes ============= From 0ac14725ef4444fdb2871a54bcc95fcd6b8807b3 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 1 Oct 2018 15:48:10 +1000 Subject: [PATCH 059/323] 5.3.0 version bump --- CHANGES.rst | 2 +- src/PIL/_version.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index f918d5899..52f1e1658 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,7 +2,7 @@ Changelog (Pillow) ================== -5.3.0 (unreleased) +5.3.0 (2018-10-01) ------------------ - Changed Image size property to be read-only by default #3203 diff --git a/src/PIL/_version.py b/src/PIL/_version.py index f4bf34e00..b5e4f0d75 100644 --- a/src/PIL/_version.py +++ b/src/PIL/_version.py @@ -1,2 +1,2 @@ # Master version for Pillow -__version__ = '5.3.0.dev0' +__version__ = '5.3.0' From 3437d5fcb4880f622f72f313ecc764e140f13dfb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 1 Oct 2018 18:39:58 +1000 Subject: [PATCH 060/323] 5.4.0.dev0 version bump --- src/PIL/_version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/_version.py b/src/PIL/_version.py index b5e4f0d75..3bfc16ff4 100644 --- a/src/PIL/_version.py +++ b/src/PIL/_version.py @@ -1,2 +1,2 @@ # Master version for Pillow -__version__ = '5.3.0' +__version__ = '5.4.0.dev0' From a7eb2ea9ccdf4f55ae97c0c65cb353af033cebfb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 2 Oct 2018 20:52:07 +1000 Subject: [PATCH 061/323] Change tuple background to global color table index when saving --- Tests/test_file_gif.py | 11 +++++++++++ src/PIL/GifImagePlugin.py | 11 +++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index 917b36905..cfa1bb1e7 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -4,6 +4,12 @@ from PIL import Image, ImagePalette, GifImagePlugin from io import BytesIO +try: + from PIL import _webp + HAVE_WEBP = True +except ImportError: + HAVE_WEBP = False + codecs = dir(Image.core) # sample gif stream @@ -411,6 +417,11 @@ class TestFileGif(PillowTestCase): self.assertEqual(reread.info['background'], im.info['background']) + if HAVE_WEBP and _webp.HAVE_WEBPANIM: + im = Image.open("Tests/images/hopper.webp") + self.assertIsInstance(im.info['background'], tuple) + im.save(out) + def test_comment(self): im = Image.open(TEST_GIF) self.assertEqual(im.info['comment'], diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index 107c01572..ecd993cd5 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -711,11 +711,18 @@ def _get_global_header(im, info): if im.info.get("version") == b"89a": version = b"89a" + background = 0 + if "background" in info: + background = info["background"] + if isinstance(background, tuple): + # WebPImagePlugin stores an RGBA value in info["background"] + # So it must be converted to the same format as GifImagePlugin's + # info["background"] - a global color table index + background = im.palette.getcolor(background) + palette_bytes = _get_palette_bytes(im) color_table_size = _get_color_table_size(palette_bytes) - background = info["background"] if "background" in info else 0 - return [ b"GIF"+version + # signature + version o16(im.size[0]) + # canvas width From 2e288e74ab79141765329ce7f473e8530139d235 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Tue, 11 Sep 2018 15:58:31 +0200 Subject: [PATCH 062/323] Fix potential un-terminated buffer problem (CWE-120) --- src/libImaging/Histo.c | 4 +++- src/libImaging/Palette.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libImaging/Histo.c b/src/libImaging/Histo.c index 0bfc8dfe9..2b35873e8 100644 --- a/src/libImaging/Histo.c +++ b/src/libImaging/Histo.c @@ -41,7 +41,9 @@ ImagingHistogramNew(Imaging im) /* Create histogram descriptor */ h = calloc(1, sizeof(struct ImagingHistogramInstance)); - strncpy(h->mode, im->mode, IMAGING_MODE_LENGTH); + strncpy(h->mode, im->mode, IMAGING_MODE_LENGTH-1); + h->mode[IMAGING_MODE_LENGTH-1] = 0; + h->bands = im->bands; h->histogram = calloc(im->pixelsize, 256 * sizeof(long)); diff --git a/src/libImaging/Palette.c b/src/libImaging/Palette.c index 31c2c0245..7aee6e8ee 100644 --- a/src/libImaging/Palette.c +++ b/src/libImaging/Palette.c @@ -37,7 +37,8 @@ ImagingPaletteNew(const char* mode) if (!palette) return (ImagingPalette) ImagingError_MemoryError(); - strncpy(palette->mode, mode, IMAGING_MODE_LENGTH); + strncpy(palette->mode, mode, IMAGING_MODE_LENGTH-1); + palette->mode[IMAGING_MODE_LENGTH-1] = 0; /* Initialize to ramp */ for (i = 0; i < 256; i++) { From 78bf8ea0413c80f23f016a16c274d31d8bd23f66 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Thu, 13 Sep 2018 12:22:11 +0200 Subject: [PATCH 063/323] Fix potential leaked storage issues (CWE-772) --- src/Tk/tkImaging.c | 2 ++ src/_imaging.c | 15 +++++++++++++-- src/encode.c | 12 +++++++++--- src/libImaging/Histo.c | 12 +++++++++--- src/libImaging/Quant.c | 2 ++ src/libImaging/QuantOctree.c | 1 + src/libImaging/Resample.c | 2 ++ src/path.c | 8 ++++++-- 8 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/Tk/tkImaging.c b/src/Tk/tkImaging.c index 66e093fae..991cf1c95 100644 --- a/src/Tk/tkImaging.c +++ b/src/Tk/tkImaging.c @@ -425,6 +425,7 @@ int load_tkinter_funcs(void) /* Try loading from the main program namespace first */ main_program = dlopen(NULL, RTLD_LAZY); if (_func_loader(main_program) == 0) { + dlclose(main_program); return 0; } /* Clear exception triggered when we didn't find symbols above */ @@ -453,6 +454,7 @@ int load_tkinter_funcs(void) /* dlclose probably safe because tkinter has been imported. */ dlclose(tkinter_lib); exit: + dlclose(main_program); Py_XDECREF(pModule); Py_XDECREF(pString); return ret; diff --git a/src/_imaging.c b/src/_imaging.c index e4b31f10b..5afef976b 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -1042,8 +1042,10 @@ _gaussian_blur(ImagingObject* self, PyObject* args) if (!imOut) return NULL; - if (!ImagingGaussianBlur(imOut, imIn, radius, passes)) + if (!ImagingGaussianBlur(imOut, imIn, radius, passes)) { + ImagingDelete(imOut); return NULL; + } return PyImagingNew(imOut); } @@ -1931,8 +1933,10 @@ _box_blur(ImagingObject* self, PyObject* args) if (!imOut) return NULL; - if (!ImagingBoxBlur(imOut, imIn, radius, n)) + if (!ImagingBoxBlur(imOut, imIn, radius, n)) { + ImagingDelete(imOut); return NULL; + } return PyImagingNew(imOut); } @@ -2578,6 +2582,7 @@ _draw_arc(ImagingDrawObject* self, PyObject* args) return NULL; if (n != 2) { PyErr_SetString(PyExc_TypeError, must_be_two_coordinates); + free(xy); return NULL; } @@ -2615,6 +2620,7 @@ _draw_bitmap(ImagingDrawObject* self, PyObject* args) PyErr_SetString(PyExc_TypeError, "coordinate list must contain exactly 1 coordinate" ); + free(xy); return NULL; } @@ -2651,6 +2657,7 @@ _draw_chord(ImagingDrawObject* self, PyObject* args) return NULL; if (n != 2) { PyErr_SetString(PyExc_TypeError, must_be_two_coordinates); + free(xy); return NULL; } @@ -2687,6 +2694,7 @@ _draw_ellipse(ImagingDrawObject* self, PyObject* args) return NULL; if (n != 2) { PyErr_SetString(PyExc_TypeError, must_be_two_coordinates); + free(xy); return NULL; } @@ -2838,6 +2846,7 @@ _draw_pieslice(ImagingDrawObject* self, PyObject* args) return NULL; if (n != 2) { PyErr_SetString(PyExc_TypeError, must_be_two_coordinates); + free(xy); return NULL; } @@ -2876,6 +2885,7 @@ _draw_polygon(ImagingDrawObject* self, PyObject* args) PyErr_SetString(PyExc_TypeError, "coordinate list must contain at least 2 coordinates" ); + free(xy); return NULL; } @@ -2919,6 +2929,7 @@ _draw_rectangle(ImagingDrawObject* self, PyObject* args) return NULL; if (n != 2) { PyErr_SetString(PyExc_TypeError, must_be_two_coordinates); + free(xy); return NULL; } diff --git a/src/encode.c b/src/encode.c index c60048c41..a6fc16e73 100644 --- a/src/encode.c +++ b/src/encode.c @@ -584,11 +584,15 @@ PyImaging_ZipEncoderNew(PyObject* self, PyObject* args) dictionary = NULL; encoder = PyImaging_EncoderNew(sizeof(ZIPSTATE)); - if (encoder == NULL) + if (encoder == NULL) { + free(dictionary); return NULL; + } - if (get_packer(encoder, mode, rawmode) < 0) + if (get_packer(encoder, mode, rawmode) < 0) { + free(dictionary); return NULL; + } encoder->encode = ImagingZipEncode; encoder->cleanup = ImagingZipEncodeCleanup; @@ -749,8 +753,10 @@ PyImaging_JpegEncoderNew(PyObject* self, PyObject* args) if (rawExif && rawExifLen > 0) { /* malloc check ok, length is from python parsearg */ char* pp = malloc(rawExifLen); // Freed in JpegEncode, Case 5 - if (!pp) + if (!pp) { + if (extra) free(extra); return PyErr_NoMemory(); + } memcpy(pp, rawExif, rawExifLen); rawExif = pp; } else diff --git a/src/libImaging/Histo.c b/src/libImaging/Histo.c index 2b35873e8..b7c1a9834 100644 --- a/src/libImaging/Histo.c +++ b/src/libImaging/Histo.c @@ -82,8 +82,10 @@ ImagingGetHistogram(Imaging im, Imaging imMask, void* minmax) h->histogram[im->image8[y][x]]++; ImagingSectionLeave(&cookie); } else { /* yes, we need the braces. C isn't Python! */ - if (im->type != IMAGING_TYPE_UINT8) + if (im->type != IMAGING_TYPE_UINT8) { + ImagingHistogramDelete(h); return ImagingError_ModeError(); + } ImagingSectionEnter(&cookie); for (y = 0; y < im->ysize; y++) { UINT8* in = (UINT8*) im->image32[y]; @@ -122,8 +124,10 @@ ImagingGetHistogram(Imaging im, Imaging imMask, void* minmax) ImagingSectionLeave(&cookie); break; case IMAGING_TYPE_INT32: - if (!minmax) + if (!minmax) { + ImagingHistogramDelete(h); return ImagingError_ValueError("min/max not given"); + } if (!im->xsize || !im->ysize) break; imin = ((INT32*) minmax)[0]; @@ -143,8 +147,10 @@ ImagingGetHistogram(Imaging im, Imaging imMask, void* minmax) ImagingSectionLeave(&cookie); break; case IMAGING_TYPE_FLOAT32: - if (!minmax) + if (!minmax) { + ImagingHistogramDelete(h); return ImagingError_ValueError("min/max not given"); + } if (!im->xsize || !im->ysize) break; fmin = ((FLOAT32*) minmax)[0]; diff --git a/src/libImaging/Quant.c b/src/libImaging/Quant.c index df3138162..b94dc6e1d 100644 --- a/src/libImaging/Quant.c +++ b/src/libImaging/Quant.c @@ -568,6 +568,8 @@ split(BoxNode *node) left=malloc(sizeof(BoxNode)); right=malloc(sizeof(BoxNode)); if (!left||!right) { + free(left); + free(right); return 0; } for(i=0;i<3;i++) { diff --git a/src/libImaging/QuantOctree.c b/src/libImaging/QuantOctree.c index 6e4143d9e..6c0f605c9 100644 --- a/src/libImaging/QuantOctree.c +++ b/src/libImaging/QuantOctree.c @@ -481,6 +481,7 @@ error: free(qp); free_color_cube(lookupCube); free_color_cube(coarseLookupCube); + free(paletteBuckets); free(paletteBucketsCoarse); free(paletteBucketsFine); free_color_cube(coarseCube); diff --git a/src/libImaging/Resample.c b/src/libImaging/Resample.c index 6fae2081d..90e2aa1d0 100644 --- a/src/libImaging/Resample.c +++ b/src/libImaging/Resample.c @@ -621,6 +621,8 @@ ImagingResampleInner(Imaging imIn, int xsize, int ysize, if ( ! ksize_vert) { free(bounds_horiz); free(kk_horiz); + free(bounds_vert); + free(kk_vert); return NULL; } diff --git a/src/path.c b/src/path.c index d1c18c8ed..eb1e065f9 100644 --- a/src/path.c +++ b/src/path.c @@ -82,12 +82,16 @@ path_new(Py_ssize_t count, double* xy, int duplicate) xy = p; } - if (PyType_Ready(&PyPathType) < 0) + if (PyType_Ready(&PyPathType) < 0) { + free(xy); return NULL; + } path = PyObject_New(PyPathObject, &PyPathType); - if (path == NULL) + if (path == NULL) { + free(xy); return NULL; + } path->count = count; path->xy = xy; From ddb01ac67e7052ccdf5f66df6858ba38eff4cf8e Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Thu, 4 Oct 2018 10:32:10 +0200 Subject: [PATCH 064/323] Add environment variables for settings component prefixes --- setup.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/setup.py b/setup.py index a9e96b836..bceb9169f 100755 --- a/setup.py +++ b/setup.py @@ -245,6 +245,11 @@ class pil_build_ext(build_ext): IMAGEQUANT_ROOT="libimagequant" ).items(): root = globals()[root_name] + + if root is None and root_name in os.environ: + prefix = os.environ[root_name] + root = (os.path.join(prefix, 'lib'), os.path.join(prefix, 'include')) + if root is None and pkg_config: if isinstance(lib_name, tuple): for lib_name2 in lib_name: From 9807f1ad5670c224ce852b799a4810d9fc5211a3 Mon Sep 17 00:00:00 2001 From: Erich Seifert Date: Fri, 5 Oct 2018 01:11:24 +0200 Subject: [PATCH 065/323] Fixed documentation on bilevel conversion The cutoff when converting an image to bilevel (mode "1") is 128. This should resolve issue #3394. --- src/PIL/Image.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index edea3125b..b537b6528 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -873,9 +873,9 @@ class Image(object): The default method of converting a greyscale ("L") or "RGB" image into a bilevel (mode "1") image uses Floyd-Steinberg dither to approximate the original image luminosity levels. If - dither is NONE, all non-zero values are set to 255 (white). To - use other thresholds, use the :py:meth:`~PIL.Image.Image.point` - method. + dither is NONE, all values larger than 128 are set to 255 (white), + all other values to 0 (black). To use other thresholds, use the + :py:meth:`~PIL.Image.Image.point` method. When converting from "RGBA" to "P" without a **matrix** argument, this passes the operation to :py:meth:`~PIL.Image.Image.quantize`, From 7cdfddd1e87f7068ed5f54d6c7ab6e96da7705fe Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 5 Oct 2018 21:40:20 +1000 Subject: [PATCH 066/323] Added macOS Mojave tested Pillow version [ci skip] --- docs/installation.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/installation.rst b/docs/installation.rst index 9f0393563..66c40cb6b 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -423,6 +423,8 @@ These platforms have been reported to work at the versions mentioned. +----------------------------------+------------------------------+--------------------------------+-----------------------+ |**Operating system** |**Tested Python versions** |**Latest tested Pillow version**|**Tested processors** | +----------------------------------+------------------------------+--------------------------------+-----------------------+ +| macOS 10.14 Mojave | 2.7, 3.4, 3.5, 3.6, 3.7 | 5.3.0 |x86-64 | ++----------------------------------+------------------------------+--------------------------------+-----------------------+ | macOS 10.13 High Sierra | 2.7, 3.4, 3.5, 3.6 | 4.2.1 |x86-64 | +----------------------------------+------------------------------+--------------------------------+-----------------------+ | macOS 10.12 Sierra | 2.7, 3.4, 3.5, 3.6 | 4.1.1 |x86-64 | From afb6ba562684265dc632d23887355df1cad1160e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 8 Oct 2018 19:43:11 +1100 Subject: [PATCH 067/323] Added Python 3.5-3.7 AppVeyor builds --- .appveyor.yml | 8 ++- setup.py | 5 +- winbuild/build.py | 44 ++++++++++------ winbuild/build_dep.py | 32 ++++++----- winbuild/config.py | 120 +++++++++++++++++++++++++++--------------- 5 files changed, 135 insertions(+), 74 deletions(-) diff --git a/.appveyor.yml b/.appveyor.yml index 95d816a98..da8c1708b 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -18,8 +18,14 @@ environment: PIP_DIR: bin VENV: YES - PYTHON: C:/Python27-x64 - - PYTHON: C:/Python34 + - PYTHON: C:/Python37 - PYTHON: C:/Python27 + - PYTHON: C:/Python37-x64 + - PYTHON: C:/Python36 + - PYTHON: C:/Python36-x64 + - PYTHON: C:/Python35 + - PYTHON: C:/Python35-x64 + - PYTHON: C:/Python34 - PYTHON: C:/Python34-x64 - PYTHON: C:/msys64/mingw32 EXECUTABLE: bin/python3 diff --git a/setup.py b/setup.py index 15d81e465..c0278fd19 100755 --- a/setup.py +++ b/setup.py @@ -191,10 +191,11 @@ class pil_build_ext(build_ext): ('disable-platform-guessing', None, 'Disable platform guessing on Linux'), ('debug', None, 'Debug logging') - ] + ] + [('add-imaging-libs=', None, 'Add libs to _imaging build')] def initialize_options(self): self.disable_platform_guessing = None + self.add_imaging_libs = "" build_ext.initialize_options(self) for x in self.feature: setattr(self, 'disable_%s' % x, None) @@ -598,7 +599,7 @@ class pil_build_ext(build_ext): for src_file in _LIB_IMAGING: files.append(os.path.join("src/libImaging", src_file + ".c")) - libs = [] + libs = self.add_imaging_libs.split() defs = [] if feature.jpeg: libs.append(feature.jpeg) diff --git a/winbuild/build.py b/winbuild/build.py index 859a40277..ad8b2a2a9 100755 --- a/winbuild/build.py +++ b/winbuild/build.py @@ -7,7 +7,7 @@ import getopt import os from config import (compilers, compiler_from_env, pythons, pyversion_from_env, - VIRT_BASE, X64_EXT) + bit_from_env, VIRT_BASE, X64_EXT) def setup_vms(): @@ -64,7 +64,15 @@ exit """ -def build_one(py_ver, compiler): +def vc_setup(compiler, bit): + script = "" + if compiler['vc_version'] == '2015': + arch = "x86" if bit == 32 else "x86_amd64" + script = r""" +call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %s""" % arch + return script + +def build_one(py_ver, compiler, bit): # UNDONE virtual envs if we're not running on appveyor args = {} args.update(compiler) @@ -78,12 +86,17 @@ def build_one(py_ver, compiler): args['executable'] = "%EXECUTABLE%" args['py_ver'] = py_ver - if '34' in py_ver: - args['tcl_ver'] = '86' - else: + if '27' in py_ver: args['tcl_ver'] = '85' + else: + args['tcl_ver'] = '86' - return r""" + if compiler['vc_version'] == '2015': + args['imaging_libs'] = ' build_ext --add-imaging-libs=msvcrt' + else: + args['imaging_libs'] = '' + + script = r""" setlocal EnableDelayedExpansion call "%%ProgramFiles%%\Microsoft SDKs\Windows\%(env_version)s\Bin\SetEnv.Cmd" /Release %(env_flags)s set DISTUTILS_USE_SDK=1 @@ -91,12 +104,13 @@ set LIB=%%LIB%%;%%INCLIB%%\%(inc_dir)s set INCLUDE=%%INCLUDE%%;%%INCLIB%%\%(inc_dir)s;%%INCLIB%%\tcl%(tcl_ver)s\include setlocal -set LIB=%%LIB%%;C:\Python%(py_ver)s\tcl -call %(python_path)s\%(executable)s setup.py %%BLDOPT%% +set LIB=%%LIB%%;C:\Python%(py_ver)s\tcl""" + vc_setup(compiler, bit) + r""" +call %(python_path)s\%(executable)s setup.py %(imaging_libs)s %%BLDOPT%% endlocal endlocal -""" % args +""" + return script % args def clean(): @@ -111,19 +125,18 @@ def clean(): def main(op): scripts = [] - for py_version, compiler_version in pythons.items(): + for py_version, py_info in pythons.items(): + py_compilers = compilers[py_info['compiler']][py_info['vc']] scripts.append((py_version, "\n".join([header(op), build_one(py_version, - compilers[(compiler_version, - 32)]), + py_compilers[32], 32), footer()]))) scripts.append(("%s%s" % (py_version, X64_EXT), "\n".join([header(op), build_one("%sx64" % py_version, - compilers[(compiler_version, - 64)]), + py_compilers[64], 64), footer()]))) results = map(run_script, scripts) @@ -136,10 +149,11 @@ def run_one(op): compiler = compiler_from_env() py_version = pyversion_from_env() + bit = bit_from_env() run_script((py_version, "\n".join([header(op), - build_one(py_version, compiler), + build_one(py_version, compiler, bit), footer()]) )) diff --git a/winbuild/build_dep.py b/winbuild/build_dep.py index 6ac3baa47..3eefb2611 100644 --- a/winbuild/build_dep.py +++ b/winbuild/build_dep.py @@ -3,7 +3,9 @@ from untar import untar import os from fetch import fetch -from config import compilers, compiler_from_env, libs +from config import (compilers, all_compilers, compiler_from_env, bit_from_env, + libs) +from build import vc_setup def _relpath(*args): @@ -28,7 +30,7 @@ def mkdirs(): os.mkdir(inc_dir) except OSError: pass - for compiler in compilers.values(): + for compiler in all_compilers(): try: os.mkdir(os.path.join(inc_dir, compiler['inc_dir'])) except OSError: @@ -48,7 +50,7 @@ def extract_libs(): if not os.path.exists(filename): filename = fetch(lib['url']) if name == 'openjpeg': - for compiler in compilers.values(): + for compiler in all_compilers(): if not os.path.exists(os.path.join( build_dir, lib['dir']+compiler['inc_dir'])): extract(filename, build_dir) @@ -148,11 +150,12 @@ endlocal """ % atts -def nmake_libs(compiler): +def nmake_libs(compiler, bit): # undone -- pre, makes, headers, libs - return r""" + script = r""" rem Build libjpeg setlocal +""" + vc_setup(compiler, bit) + r""" cd /D %%JPEG%% nmake -f makefile.vc setup-vc6 nmake -f makefile.vc clean @@ -176,6 +179,7 @@ endlocal rem Build webp setlocal +""" + vc_setup(compiler, bit) + r""" cd /D %%WEBP%% rd /S /Q %%WEBP%%\output\release-static nmake -f Makefile.vc CFG=release-static RTLIBCFG=static OBJDIR=output all @@ -186,6 +190,7 @@ endlocal rem Build libtiff setlocal +""" + vc_setup(compiler, bit) + r""" rem do after building jpeg and zlib copy %%~dp0\nmake.opt %%TIFF%% @@ -196,9 +201,8 @@ copy /Y /B libtiff\*.dll %%INCLIB%% copy /Y /B libtiff\*.lib %%INCLIB%% copy /Y /B libtiff\tiff*.h %%INCLIB%% endlocal - - -""" % compiler +""" + return script % compiler def msbuild_freetype(compiler): @@ -273,9 +277,9 @@ endlocal """ % compiler -def add_compiler(compiler): +def add_compiler(compiler, bit): script.append(setup_compiler(compiler)) - script.append(nmake_libs(compiler)) + script.append(nmake_libs(compiler, bit)) # script.append(extract_openjpeg(compiler)) @@ -293,12 +297,12 @@ script = [header(), if 'PYTHON' in os.environ: - add_compiler(compiler_from_env()) + add_compiler(compiler_from_env(), bit_from_env()) else: - # for compiler in compilers.values(): + # for compiler in all_compilers(): # add_compiler(compiler) - add_compiler(compilers[(7.0, 32)]) - # add_compiler(compilers[(7.1, 64)]) + add_compiler(compilers[7.0][2008][32], 32) + # add_compiler(compilers[7.1][2010][64]) with open('build_deps.cmd', 'w') as f: f.write("\n".join(script)) diff --git a/winbuild/config.py b/winbuild/config.py index 404ce16a7..2bd49552a 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -3,12 +3,13 @@ import os SF_MIRROR = 'http://iweb.dl.sourceforge.net' PILLOW_DEPENDS_DIR = 'C:\\pillow-depends\\' -pythons = { # '26': 7, - '27': 7, - 'pypy2': 7, - # '32': 7, - '33': 7.1, - '34': 7.1} +pythons = {'27': {'compiler':7, 'vc':2008}, + 'pypy2': {'compiler':7, 'vc':2008}, + '33': {'compiler':7.1, 'vc':2010}, + '34': {'compiler':7.1, 'vc':2010}, + '35': {'compiler':7.1, 'vc':2015}, + '36': {'compiler':7.1, 'vc':2015}, + '37': {'compiler':7.1, 'vc':2015}} VIRT_BASE = "c:/vp/" X64_EXT = os.environ.get('X64_EXT', "x64") @@ -78,38 +79,64 @@ libs = { } compilers = { - (7, 64): { - 'env_version': 'v7.0', - 'vc_version': '2008', - 'env_flags': '/x64 /xp', - 'inc_dir': 'msvcr90-x64', - 'platform': 'x64', - 'webp_platform': 'x64', - }, - (7, 32): { - 'env_version': 'v7.0', - 'vc_version': '2008', - 'env_flags': '/x86 /xp', - 'inc_dir': 'msvcr90-x32', - 'platform': 'Win32', - 'webp_platform': 'x86', - }, - (7.1, 64): { - 'env_version': 'v7.1', - 'vc_version': '2010', - 'env_flags': '/x64 /vista', - 'inc_dir': 'msvcr10-x64', - 'platform': 'x64', - 'webp_platform': 'x64', - }, - (7.1, 32): { - 'env_version': 'v7.1', - 'vc_version': '2010', - 'env_flags': '/x86 /vista', - 'inc_dir': 'msvcr10-x32', - 'platform': 'Win32', - 'webp_platform': 'x86', + 7: { + 2008: { + 64: { + 'env_version': 'v7.0', + 'vc_version': '2008', + 'env_flags': '/x64 /xp', + 'inc_dir': 'msvcr90-x64', + 'platform': 'x64', + 'webp_platform': 'x64', + }, + 32: { + 'env_version': 'v7.0', + 'vc_version': '2008', + 'env_flags': '/x86 /xp', + 'inc_dir': 'msvcr90-x32', + 'platform': 'Win32', + 'webp_platform': 'x86', + } + } }, + 7.1: { + 2010: { + 64: { + 'env_version': 'v7.1', + 'vc_version': '2010', + 'env_flags': '/x64 /vista', + 'inc_dir': 'msvcr10-x64', + 'platform': 'x64', + 'webp_platform': 'x64', + }, + 32: { + 'env_version': 'v7.1', + 'vc_version': '2010', + 'env_flags': '/x86 /vista', + 'inc_dir': 'msvcr10-x32', + 'platform': 'Win32', + 'webp_platform': 'x86', + } + }, + 2015: { + 64: { + 'env_version': 'v7.1', + 'vc_version': '2015', + 'env_flags': '/x64 /vista', + 'inc_dir': 'msvcr10-x64', + 'platform': 'x64', + 'webp_platform': 'x64', + }, + 32: { + 'env_version': 'v7.1', + 'vc_version': '2015', + 'env_flags': '/x86 /vista', + 'inc_dir': 'msvcr10-x32', + 'platform': 'Win32', + 'webp_platform': 'x86', + } + } + } } @@ -133,11 +160,20 @@ def compiler_from_env(): for k, v in pythons.items(): if k in py: - compiler_version = v + py_info = v break - bit = 32 - if '64' in py: - bit = 64 + bit = bit_from_env() + return compilers[py_info['compiler']][py_info['vc']][bit] - return compilers[(compiler_version, bit)] +def bit_from_env(): + py = os.environ['PYTHON'] + + return 64 if '64' in py else 32 + +def all_compilers(): + all = [] + for vc_compilers in compilers.values(): + for bit_compilers in vc_compilers.values(): + all += bit_compilers.values() + return all From 3d8024c45fb3d2e717871c4570aac99bb3911249 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 9 Oct 2018 06:11:09 +1100 Subject: [PATCH 068/323] Removed unused line --- winbuild/config.py | 1 - 1 file changed, 1 deletion(-) diff --git a/winbuild/config.py b/winbuild/config.py index 2bd49552a..bfce09b03 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -5,7 +5,6 @@ PILLOW_DEPENDS_DIR = 'C:\\pillow-depends\\' pythons = {'27': {'compiler':7, 'vc':2008}, 'pypy2': {'compiler':7, 'vc':2008}, - '33': {'compiler':7.1, 'vc':2010}, '34': {'compiler':7.1, 'vc':2010}, '35': {'compiler':7.1, 'vc':2015}, '36': {'compiler':7.1, 'vc':2015}, From 7edca01921fdd7dce41d4c27f2f1359eeb935314 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 11 Oct 2018 19:36:50 +1100 Subject: [PATCH 069/323] Minor documentation improvement [ci skip] --- src/PIL/ImageDraw.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/PIL/ImageDraw.py b/src/PIL/ImageDraw.py index 6a70def3b..27205cfff 100644 --- a/src/PIL/ImageDraw.py +++ b/src/PIL/ImageDraw.py @@ -391,8 +391,8 @@ def floodfill(image, xy, value, border=None, thresh=0): pixel. :param thresh: Optional threshold value which specifies a maximum tolerable difference of a pixel value from the 'background' in - order for it to be replaced. Useful for filling regions of non- - homogeneous, but similar, colors. + order for it to be replaced. Useful for filling regions of + non-homogeneous, but similar, colors. """ # based on an implementation by Eric S. Raymond # amended by yo1995 @20180806 From a6ce3d6f3be8beaadae8542a02f1e533aa4feb84 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 11 Oct 2018 18:16:03 +0300 Subject: [PATCH 070/323] CI targets: update Appveyor and MinGW versions [CI skip] --- docs/installation.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 66c40cb6b..c87307ad0 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -399,13 +399,13 @@ These platforms are built and tested for every change. | Ubuntu Linux 16.04 LTS | 2.7 |x86-64 | +----------------------------------+-------------------------------+-----------------------+ | Ubuntu Linux 14.04 LTS | 2.7, 3.4, 3.5, 3.6, 3.7, |x86-64 | -| | pypy, pypy3 | | +| | PyPy, PyPy3 | | | +-------------------------------+-----------------------+ | | 2.7 |x86 | +----------------------------------+-------------------------------+-----------------------+ -| Windows Server 2012 R2 | 2.7, 3.4 |x86, x86-64 | +| Windows Server 2012 R2 | 2.7, 3.4, 3.5, 3.6, 3.7 |x86, x86-64 | | +-------------------------------+-----------------------+ -| | pypy, 3.5/mingw |x86 | +| | PyPy, 3.7/MinGW |x86 | +----------------------------------+-------------------------------+-----------------------+ \* Mac OS X CI is not run for every commit, but is run for every release. From 26065d3dd6877a99ef9bac585208c85fcd8fa86c Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 11 Oct 2018 18:22:25 +0300 Subject: [PATCH 071/323] CI targets: update Ubuntu versions * 14.04 Trusty has 2.7, 3.4-3.6, PyPy and PyPy3 * 16.04 Xenial has 2.7, 3.5-3.7 [CI skip] --- docs/installation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index c87307ad0..8d80e5144 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -396,9 +396,9 @@ These platforms are built and tested for every change. +----------------------------------+-------------------------------+-----------------------+ | Mac OS X 10.10 Yosemite* | 2.7, 3.4, 3.5, 3.6, 3.7 |x86-64 | +----------------------------------+-------------------------------+-----------------------+ -| Ubuntu Linux 16.04 LTS | 2.7 |x86-64 | +| Ubuntu Linux 16.04 LTS | 2.7, 3.5, 3.6, 3.7 |x86-64 | +----------------------------------+-------------------------------+-----------------------+ -| Ubuntu Linux 14.04 LTS | 2.7, 3.4, 3.5, 3.6, 3.7, |x86-64 | +| Ubuntu Linux 14.04 LTS | 2.7, 3.4, 3.5, 3.6, |x86-64 | | | PyPy, PyPy3 | | | +-------------------------------+-----------------------+ | | 2.7 |x86 | From 468c405a47770d4947b970af78bf1a8e73eea7c9 Mon Sep 17 00:00:00 2001 From: Nazime Date: Sun, 14 Oct 2018 16:12:58 +0200 Subject: [PATCH 072/323] Image pixels negative index --- src/PIL/PyAccess.py | 8 ++++++-- src/_imaging.c | 7 ++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/PIL/PyAccess.py b/src/PIL/PyAccess.py index cce2de2b8..395dbcd3b 100644 --- a/src/PIL/PyAccess.py +++ b/src/PIL/PyAccess.py @@ -88,8 +88,12 @@ class PyAccess(object): :returns: a pixel value for single band images, a tuple of pixel values for multiband images. """ - - (x, y) = self.check_xy(xy) + (x, y) = xy + if (x < 0): + x = self.xsize + x + if (y < 0): + y = self.ysize + y + (x, y) = self.check_xy((x, y)) return self.get_pixel(x, y) putpixel = __setitem__ diff --git a/src/_imaging.c b/src/_imaging.c index e4b31f10b..ede531e03 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -471,7 +471,12 @@ getpixel(Imaging im, ImagingAccess access, int x, int y) INT32 i; FLOAT32 f; } pixel; - + if (x < 0){ + x = im->xsize + x; + } + if (y < 0){ + y = im->ysize + y; + } if (x < 0 || x >= im->xsize || y < 0 || y >= im->ysize) { PyErr_SetString(PyExc_IndexError, outside_image); return NULL; From 86324a842dd2851f0b4c758064a2acf3c805e41a Mon Sep 17 00:00:00 2001 From: Nazime Date: Mon, 15 Oct 2018 12:51:24 +0200 Subject: [PATCH 073/323] Add setting negative pixels and unittest --- Tests/test_image_access.py | 57 ++++++++++++++++++++++++++++++++++++++ src/PIL/PyAccess.py | 11 ++++++-- src/_imaging.c | 20 +++++++++++-- 3 files changed, 83 insertions(+), 5 deletions(-) diff --git a/Tests/test_image_access.py b/Tests/test_image_access.py index a7e39a499..f88cfc2f6 100644 --- a/Tests/test_image_access.py +++ b/Tests/test_image_access.py @@ -64,6 +64,43 @@ class TestImagePutPixel(AccessTest): self.assert_image_equal(im1, im2) + def test_sanity_negative_index(self): + im1 = hopper() + im2 = Image.new(im1.mode, im1.size, 0) + + width, heigth = im1.size + self.assertEqual(im1.getpixel((0, 0)), im1.getpixel((-width, -heigth))) + self.assertEqual(im1.getpixel((-1, -1)), + im1.getpixel((width-1, heigth-1))) + + for y in range(-1, -im1.size[1]-1, -1): + for x in range(-1, -im1.size[0]-1, -1): + pos = x, y + im2.putpixel(pos, im1.getpixel(pos)) + + self.assert_image_equal(im1, im2) + + im2 = Image.new(im1.mode, im1.size, 0) + im2.readonly = 1 + + for y in range(-1, -im1.size[1]-1, -1): + for x in range(-1, -im1.size[0]-1, -1): + pos = x, y + im2.putpixel(pos, im1.getpixel(pos)) + + self.assertFalse(im2.readonly) + self.assert_image_equal(im1, im2) + + im2 = Image.new(im1.mode, im1.size, 0) + + pix1 = im1.load() + pix2 = im2.load() + + for y in range(-1, -im1.size[1]-1, -1): + for x in range(-1, -im1.size[0]-1, -1): + pix2[x, y] = pix1[x, y] + + self.assert_image_equal(im1, im2) class TestImageGetPixel(AccessTest): @staticmethod @@ -85,23 +122,43 @@ class TestImageGetPixel(AccessTest): im.getpixel((0, 0)), c, "put/getpixel roundtrip failed for mode %s, color %s" % (mode, c)) + # check putpixel negative index + im.putpixel((-1, -1), c) + self.assertEqual( + im.getpixel((-1, -1)), c, + "put/getpixel roundtrip negative index failed" + " for mode %s, color %s" % (mode, c)) + # Check 0 im = Image.new(mode, (0, 0), None) with self.assertRaises(IndexError): im.putpixel((0, 0), c) with self.assertRaises(IndexError): im.getpixel((0, 0)) + # Check 0 negative index + with self.assertRaises(IndexError): + im.putpixel((-1, -1), c) + with self.assertRaises(IndexError): + im.getpixel((-1, -1)) # check initial color im = Image.new(mode, (1, 1), c) self.assertEqual( im.getpixel((0, 0)), c, "initial color failed for mode %s, color %s " % (mode, c)) + # check initial color negative index + self.assertEqual( + im.getpixel((-1, -1)), c, + "initial color failed with negative index" + "for mode %s, color %s " % (mode, c)) # Check 0 im = Image.new(mode, (0, 0), c) with self.assertRaises(IndexError): im.getpixel((0, 0)) + # Check 0 negative index + with self.assertRaises(IndexError): + im.getpixel((-1, -1)) def test_basic(self): for mode in ("1", "L", "LA", "I", "I;16", "I;16B", "F", diff --git a/src/PIL/PyAccess.py b/src/PIL/PyAccess.py index 395dbcd3b..adbd6132d 100644 --- a/src/PIL/PyAccess.py +++ b/src/PIL/PyAccess.py @@ -74,7 +74,12 @@ class PyAccess(object): """ if self.readonly: raise ValueError('Attempt to putpixel a read only image') - (x, y) = self.check_xy(xy) + (x, y) = xy + if x < 0: + x = self.xsize + x + if y < 0: + y = self.ysize + y + (x, y) = self.check_xy((x, y)) return self.set_pixel(x, y, color) def __getitem__(self, xy): @@ -89,9 +94,9 @@ class PyAccess(object): pixel values for multiband images. """ (x, y) = xy - if (x < 0): + if x < 0: x = self.xsize + x - if (y < 0): + if y < 0: y = self.ysize + y (x, y) = self.check_xy((x, y)) return self.get_pixel(x, y) diff --git a/src/_imaging.c b/src/_imaging.c index ede531e03..474444348 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -471,12 +471,14 @@ getpixel(Imaging im, ImagingAccess access, int x, int y) INT32 i; FLOAT32 f; } pixel; - if (x < 0){ + + if (x < 0) { x = im->xsize + x; } - if (y < 0){ + if (y < 0) { y = im->ysize + y; } + if (x < 0 || x >= im->xsize || y < 0 || y >= im->ysize) { PyErr_SetString(PyExc_IndexError, outside_image); return NULL; @@ -1654,6 +1656,13 @@ _putpixel(ImagingObject* self, PyObject* args) im = self->image; + if (x < 0) { + x = im->xsize + x; + } + if (y < 0) { + y = im->ysize + y; + } + if (x < 0 || x >= im->xsize || y < 0 || y >= im->ysize) { PyErr_SetString(PyExc_IndexError, outside_image); return NULL; @@ -3019,6 +3028,13 @@ pixel_access_setitem(PixelAccessObject *self, PyObject *xy, PyObject *color) if (_getxy(xy, &x, &y)) return -1; + if (x < 0) { + x = im->xsize + x; + } + if (y < 0) { + y = im->ysize + y; + } + if (x < 0 || x >= im->xsize || y < 0 || y >= im->ysize) { PyErr_SetString(PyExc_IndexError, outside_image); return -1; From 63a0b801b4d5703f8f2eba01b13a6c108e425cee Mon Sep 17 00:00:00 2001 From: Nazime Date: Mon, 15 Oct 2018 13:06:08 +0200 Subject: [PATCH 074/323] misspelled variable name --- Tests/test_image_access.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/test_image_access.py b/Tests/test_image_access.py index f88cfc2f6..338ab0258 100644 --- a/Tests/test_image_access.py +++ b/Tests/test_image_access.py @@ -68,10 +68,10 @@ class TestImagePutPixel(AccessTest): im1 = hopper() im2 = Image.new(im1.mode, im1.size, 0) - width, heigth = im1.size - self.assertEqual(im1.getpixel((0, 0)), im1.getpixel((-width, -heigth))) + width, height = im1.size + self.assertEqual(im1.getpixel((0, 0)), im1.getpixel((-width, -height))) self.assertEqual(im1.getpixel((-1, -1)), - im1.getpixel((width-1, heigth-1))) + im1.getpixel((width-1, height-1))) for y in range(-1, -im1.size[1]-1, -1): for x in range(-1, -im1.size[0]-1, -1): From 73eec9000d5fa0e88786a560882fba921cfc42df Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 17 Oct 2018 01:57:55 +0300 Subject: [PATCH 075/323] Optimise ImageOps.fit by combining resize in crop --- src/PIL/ImageOps.py | 67 ++++++++++++++++++--------------------------- 1 file changed, 26 insertions(+), 41 deletions(-) diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index 9f516bac1..49ea05698 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -380,9 +380,10 @@ def fit(image, size, method=Image.NEAREST, bleed=0.0, centering=(0.5, 0.5)): (width, height) tuple. :param method: What resampling method to use. Default is :py:attr:`PIL.Image.NEAREST`. - :param bleed: Remove a border around the outside of the image (from all + :param bleed: Remove a border around the outside of the image from all four edges. The value is a decimal percentage (use 0.01 for one percent). The default value is 0 (no border). + Cannot be greater than or equal to 0.5. :param centering: Control the cropping position. Use (0.5, 0.5) for center cropping (e.g. if cropping the width, take 50% off of the left side, and therefore 50% off the right side). @@ -400,66 +401,50 @@ def fit(image, size, method=Image.NEAREST, bleed=0.0, centering=(0.5, 0.5)): # kevin@cazabon.com # http://www.cazabon.com - # ensure inputs are valid - if not isinstance(centering, list): - centering = [centering[0], centering[1]] + # ensure centering is mutable + centering = list(centering) - if centering[0] > 1.0 or centering[0] < 0.0: - centering[0] = 0.50 - if centering[1] > 1.0 or centering[1] < 0.0: - centering[1] = 0.50 + if not 0.0 <= centering[0] <= 1.0: + centering[0] = 0.5 + if not 0.0 <= centering[1] <= 1.0: + centering[1] = 0.5 - if bleed > 0.49999 or bleed < 0.0: + if not 0.0 <= bleed < 0.5: bleed = 0.0 # calculate the area to use for resizing and cropping, subtracting # the 'bleed' around the edges # number of pixels to trim off on Top and Bottom, Left and Right - bleedPixels = ( - int((float(bleed) * float(image.size[0])) + 0.5), - int((float(bleed) * float(image.size[1])) + 0.5) - ) + bleed_pixels = (bleed * image.size[0], bleed * image.size[1]) - liveArea = (0, 0, image.size[0], image.size[1]) - if bleed > 0.0: - liveArea = ( - bleedPixels[0], bleedPixels[1], image.size[0] - bleedPixels[0] - 1, - image.size[1] - bleedPixels[1] - 1 - ) + live_size = (image.size[0] - bleed_pixels[0] * 2, + image.size[1] - bleed_pixels[1] * 2) - liveSize = (liveArea[2] - liveArea[0], liveArea[3] - liveArea[1]) - - # calculate the aspect ratio of the liveArea - liveAreaAspectRatio = float(liveSize[0])/float(liveSize[1]) + # calculate the aspect ratio of the live_size + live_size_ratio = float(live_size[0]) / live_size[1] # calculate the aspect ratio of the output image - aspectRatio = float(size[0]) / float(size[1]) + output_ratio = float(size[0]) / size[1] # figure out if the sides or top/bottom will be cropped off - if liveAreaAspectRatio >= aspectRatio: - # liveArea is wider than what's needed, crop the sides - cropWidth = int((aspectRatio * float(liveSize[1])) + 0.5) - cropHeight = liveSize[1] + if live_size_ratio >= output_ratio: + # live_size is wider than what's needed, crop the sides + crop_width = output_ratio * live_size[1] + crop_height = live_size[1] else: - # liveArea is taller than what's needed, crop the top and bottom - cropWidth = liveSize[0] - cropHeight = int((float(liveSize[0])/aspectRatio) + 0.5) + # live_size is taller than what's needed, crop the top and bottom + crop_width = live_size[0] + crop_height = live_size[0] / output_ratio # make the crop - leftSide = int(liveArea[0] + (float(liveSize[0]-cropWidth) * centering[0])) - if leftSide < 0: - leftSide = 0 - topSide = int(liveArea[1] + (float(liveSize[1]-cropHeight) * centering[1])) - if topSide < 0: - topSide = 0 + crop_left = bleed_pixels[0] + (live_size[0]-crop_width) * centering[0] + crop_top = bleed_pixels[1] + (live_size[1]-crop_height) * centering[1] - out = image.crop( - (leftSide, topSide, leftSide + cropWidth, topSide + cropHeight) - ) + crop = (crop_left, crop_top, crop_left + crop_width, crop_top + crop_height) # resize the image and return it - return out.resize(size, method) + return image.resize(size, method, box=crop) def flip(image): From 67563cff336e8198bae93aa48918a00943fc941c Mon Sep 17 00:00:00 2001 From: hugovk Date: Wed, 17 Oct 2018 09:23:41 +0300 Subject: [PATCH 076/323] Fix 'no such option: --use-wheel' --- depends/diffcover-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depends/diffcover-install.sh b/depends/diffcover-install.sh index 850d368f8..8a8cee076 100755 --- a/depends/diffcover-install.sh +++ b/depends/diffcover-install.sh @@ -4,4 +4,4 @@ git fetch origin master:refs/remotes/origin/master # CFLAGS=-O0 means build with no optimisation. # Makes build much quicker for lxml and other dependencies. -time CFLAGS=-O0 pip install --use-wheel diff_cover +time CFLAGS=-O0 pip install diff_cover From 88e72498c7e652b60319809a07e686242d875b71 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 17 Oct 2018 16:41:28 +0300 Subject: [PATCH 077/323] Name the build jobs https://docs.travis-ci.com/user/customizing-the-build/#naming-jobs-within-matrices --- .travis.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.travis.yml b/.travis.yml index 36a956e95..480e98d20 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,25 +14,37 @@ matrix: fast_finish: true include: - python: "pypy" + name: "PyPy Trusty" dist: trusty - python: "pypy3" + name: "PyPy3 Trusty" dist: trusty - python: '3.7' + name: "3.7 Xenial" - python: '2.7' + name: "2.7 Xenial" - python: '2.7' + name: "2.7 Trusty" dist: trusty - python: "2.7_with_system_site_packages" # For PyQt4 + name: "2.7_with_system_site_packages Xenial" - python: "2.7_with_system_site_packages" # For PyQt4 + name: "2.7_with_system_site_packages Trusty" dist: trusty - python: '3.6' + name: "3.6 Xenial" - python: '3.6' + name: "3.6 Trusty PYTHONOPTIMIZE=1" dist: trusty env: PYTHONOPTIMIZE=1 - python: '3.5' + name: "3.5 Xenial" - python: '3.5' + name: "3.5 Trusty PYTHONOPTIMIZE=2" dist: trusty env: PYTHONOPTIMIZE=2 - python: '3.4' + name: "3.4 Trusty" dist: trusty - env: DOCKER="alpine" DOCKER_TAG="pytest" - env: DOCKER="arch" DOCKER_TAG="pytest" # contains PyQt5 From bada6be2db6321ad49d1bef25ad0ba22175f2295 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 17 Oct 2018 18:01:07 +0300 Subject: [PATCH 078/323] pep8 is now pycodestyle: https://github.com/PyCQA/pycodestyle/issues/466 --- depends/diffcover-run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depends/diffcover-run.sh b/depends/diffcover-run.sh index 02efab6ae..a0d545bc2 100755 --- a/depends/diffcover-run.sh +++ b/depends/diffcover-run.sh @@ -1,4 +1,4 @@ coverage xml diff-cover coverage.xml diff-quality --violation=pyflakes -diff-quality --violation=pep8 +diff-quality --violation=pycodestyle From cadfbed43b6e7c3f308d6c3dd746f9224088e353 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 17 Oct 2018 22:24:05 +0300 Subject: [PATCH 079/323] Run lint in own job, but don't let it fail build --- .travis.yml | 37 +++++++++++++++++++++++++----------- .travis/after_success.sh | 9 --------- depends/diffcover-install.sh | 1 + depends/diffcover-run.sh | 1 + 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/.travis.yml b/.travis.yml index 480e98d20..b94923933 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,13 +6,18 @@ cache: pip notifications: irc: "chat.freenode.net#pil" -# Run slow PyPy* first, to give them a headstart and reduce waiting time. +# Run fast lint first to get fast feedback. +# Run slow PyPy* next, to give them a headstart and reduce waiting time. # Run latest 3.x and 2.x next, to get quick compatibility results. # Then run the remainder, with fastest Docker jobs last. matrix: fast_finish: true include: + - python: "3.6" + name: "Lint" + env: LINT="true" + sudo: false - python: "pypy" name: "PyPy Trusty" dist: trusty @@ -62,7 +67,12 @@ services: - docker install: - - if [ "$DOCKER" == "" ]; then .travis/install.sh; fi + - | + if [ "$LINT" == "true" ]; then + pip install -U flake8 + elif [ "$DOCKER" == "" ]; then + .travis/install.sh; + fi before_install: - if [ "$DOCKER" ]; then travis_retry docker pull pythonpillow/$DOCKER:$DOCKER_TAG; fi @@ -73,14 +83,19 @@ before_script: - "sh -e /etc/init.d/xvfb start" script: - - | - if [ "$DOCKER" == "" ]; then - .travis/script.sh - else - # the Pillow user in the docker container is UID 1000 - sudo chown -R 1000 $TRAVIS_BUILD_DIR - docker run -v $TRAVIS_BUILD_DIR:/Pillow pythonpillow/$DOCKER:$DOCKER_TAG - fi +- | + if [ "$DOCKER" == "" ] && [ "$LINT" == "" ]; then + .travis/script.sh + elif [ "$DOCKER" ]; then + # the Pillow user in the docker container is UID 1000 + sudo chown -R 1000 $TRAVIS_BUILD_DIR + docker run -v $TRAVIS_BUILD_DIR:/Pillow pythonpillow/$DOCKER:$DOCKER_TAG + fi after_success: - - .travis/after_success.sh +- | + if [ "$LINT" == "true" ]; then + flake8 --statistics --count + else + .travis/after_success.sh + fi diff --git a/.travis/after_success.sh b/.travis/after_success.sh index c215f4219..ad1aeffa3 100755 --- a/.travis/after_success.sh +++ b/.travis/after_success.sh @@ -15,15 +15,6 @@ pip install coveralls-merge coveralls-merge coverage.c.json codecov -if [ "$DOCKER" == "" ]; then - pip install pyflakes pycodestyle - pyflakes *.py | tee >(wc -l) - pyflakes src/PIL/*.py | tee >(wc -l) - pyflakes Tests/*.py | tee >(wc -l) - pycodestyle --statistics --count src/PIL/*.py - pycodestyle --statistics --count Tests/*.py -fi - if [ "$TRAVIS_PYTHON_VERSION" == "2.7" ] && [ "$DOCKER" == "" ]; then # Coverage and quality reports on just the latest diff. # (Installation is very slow on Py3, so just do it for Py2.) diff --git a/depends/diffcover-install.sh b/depends/diffcover-install.sh index 8a8cee076..a0b462b56 100755 --- a/depends/diffcover-install.sh +++ b/depends/diffcover-install.sh @@ -1,3 +1,4 @@ +#!/usr/bin/env bash # Fetch the remote master branch before running diff-cover on Travis CI. # https://github.com/Bachmann1234/diff-cover#troubleshooting git fetch origin master:refs/remotes/origin/master diff --git a/depends/diffcover-run.sh b/depends/diffcover-run.sh index a0d545bc2..b007494e9 100755 --- a/depends/diffcover-run.sh +++ b/depends/diffcover-run.sh @@ -1,3 +1,4 @@ +#!/usr/bin/env bash coverage xml diff-cover coverage.xml diff-quality --violation=pyflakes From f8d4aa58829228ee246e562cde9ba50f2b564af9 Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 18 Oct 2018 10:19:11 +0300 Subject: [PATCH 080/323] Quick fix: revert #3341 due to regression --- src/PIL/WebPImagePlugin.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index e6485c253..1e9a028a7 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -163,8 +163,6 @@ class WebPImageFile(ImageFile.ImageFile): self.__loaded = self.__logical_frame # Set tile - if self.fp: - self.fp.close() self.fp = BytesIO(data) self.tile = [("raw", (0, 0) + self.size, 0, self.rawmode)] From e7aa44f58c842249b6c8a1e35dde7a15a19b07fb Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 18 Oct 2018 10:32:17 +0300 Subject: [PATCH 081/323] add test for regression --- Tests/test_file_webp.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index d815ab09a..399b585e8 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -9,14 +9,7 @@ except ImportError: HAVE_WEBP = False -class TestFileWebp(PillowTestCase): - - def setUp(self): - if not HAVE_WEBP: - return - - self.rgb_mode = "RGB" - +class TestUnsupportedWebp(PillowTestCase): def test_unsupported(self): if HAVE_WEBP: WebPImagePlugin.SUPPORTED = False @@ -28,12 +21,18 @@ class TestFileWebp(PillowTestCase): if HAVE_WEBP: WebPImagePlugin.SUPPORTED = True - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") + + +@unittest.skipIf(not HAVE_WEBP, "WebP support not installed") +class TestFileWebp(PillowTestCase): + + def setUp(self): + self.rgb_mode = "RGB" + def test_version(self): _webp.WebPDecoderVersion() _webp.WebPDecoderBuggyAlpha() - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_read_rgb(self): """ Can we read a RGB mode WebP file without error? @@ -53,7 +52,6 @@ class TestFileWebp(PillowTestCase): self.assert_image_similar_tofile( image, 'Tests/images/hopper_webp_bits.ppm', 1.0) - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_write_rgb(self): """ Can we write a RGB mode file to webp without error. @@ -83,7 +81,6 @@ class TestFileWebp(PillowTestCase): target = hopper(self.rgb_mode) self.assert_image_similar(image, target, 12.0) - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_write_unsupported_mode_L(self): """ Saving a black-and-white file to WebP format should work, and be @@ -104,7 +101,6 @@ class TestFileWebp(PillowTestCase): self.assert_image_similar(image, target, 10.0) - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_write_unsupported_mode_P(self): """ Saving a palette-based file to WebP format should work, and be @@ -125,7 +121,6 @@ class TestFileWebp(PillowTestCase): self.assert_image_similar(image, target, 50.0) - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_WebPEncode_with_invalid_args(self): """ Calling encoder functions with no arguments should result in an error. @@ -135,7 +130,6 @@ class TestFileWebp(PillowTestCase): self.assertRaises(TypeError, _webp.WebPAnimEncoder) self.assertRaises(TypeError, _webp.WebPEncode) - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_WebPDecode_with_invalid_args(self): """ Calling decoder functions with no arguments should result in an error. @@ -145,7 +139,6 @@ class TestFileWebp(PillowTestCase): self.assertRaises(TypeError, _webp.WebPAnimDecoder) self.assertRaises(TypeError, _webp.WebPDecode) - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") def test_no_resource_warning(self): file_path = "Tests/images/hopper.webp" image = Image.open(file_path) @@ -153,6 +146,12 @@ class TestFileWebp(PillowTestCase): temp_file = self.tempfile("temp.webp") self.assert_warning(None, image.save, temp_file) + def test_file_pointer_could_be_reused(self): + file_path = "Tests/images/hopper.webp" + with open(file_path, 'rb') as blob: + Image.open(blob).load() + Image.open(blob).load() + if __name__ == '__main__': unittest.main() From e26696cb8a753a28e62fc2a37ebb506e752f0583 Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 18 Oct 2018 10:33:52 +0300 Subject: [PATCH 082/323] skip old test --- Tests/test_file_webp.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 399b585e8..956a26996 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -139,6 +139,7 @@ class TestFileWebp(PillowTestCase): self.assertRaises(TypeError, _webp.WebPAnimDecoder) self.assertRaises(TypeError, _webp.WebPDecode) + @unittest.skip("Currently is not working") def test_no_resource_warning(self): file_path = "Tests/images/hopper.webp" image = Image.open(file_path) From 6cabcadae4c81059b63c2096d02b3fe6d206c02e Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 18 Oct 2018 10:58:20 +0300 Subject: [PATCH 083/323] add release notes --- docs/releasenotes/5.4.0.rst | 14 ++++++++++++++ docs/releasenotes/index.rst | 1 + src/PIL/ImageOps.py | 2 +- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 docs/releasenotes/5.4.0.rst diff --git a/docs/releasenotes/5.4.0.rst b/docs/releasenotes/5.4.0.rst new file mode 100644 index 000000000..094efdc61 --- /dev/null +++ b/docs/releasenotes/5.4.0.rst @@ -0,0 +1,14 @@ +5.4.0 (unreleased) +----- + + +Other Changes +============= + +ImageOps.fit +^^^^^^^^^^^^ + +Now uses the one resize operation with ``box`` argument internally +instead of the crop and scale operations sequence. +This improves the performance and accuracy of cropping since +``box`` parameter accepts float values. diff --git a/docs/releasenotes/index.rst b/docs/releasenotes/index.rst index fc8d686eb..df4fd4930 100644 --- a/docs/releasenotes/index.rst +++ b/docs/releasenotes/index.rst @@ -6,6 +6,7 @@ Release Notes .. toctree:: :maxdepth: 2 + 5.4.0 5.3.0 5.2.0 5.1.0 diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index 49ea05698..809226847 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -419,7 +419,7 @@ def fit(image, size, method=Image.NEAREST, bleed=0.0, centering=(0.5, 0.5)): bleed_pixels = (bleed * image.size[0], bleed * image.size[1]) live_size = (image.size[0] - bleed_pixels[0] * 2, - image.size[1] - bleed_pixels[1] * 2) + image.size[1] - bleed_pixels[1] * 2) # calculate the aspect ratio of the live_size live_size_ratio = float(live_size[0]) / live_size[1] From 61e46c265e8f4371a89af340ffde2bffacc3ff04 Mon Sep 17 00:00:00 2001 From: Alexander Date: Thu, 18 Oct 2018 11:40:32 +0300 Subject: [PATCH 084/323] [ci skip] fix notes --- docs/releasenotes/5.4.0.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/releasenotes/5.4.0.rst b/docs/releasenotes/5.4.0.rst index 094efdc61..df0622cdc 100644 --- a/docs/releasenotes/5.4.0.rst +++ b/docs/releasenotes/5.4.0.rst @@ -8,7 +8,7 @@ Other Changes ImageOps.fit ^^^^^^^^^^^^ -Now uses the one resize operation with ``box`` argument internally -instead of the crop and scale operations sequence. +Now uses one resize operation with ``box`` parameter internally +instead of a crop and scale operations sequence. This improves the performance and accuracy of cropping since -``box`` parameter accepts float values. +the ``box`` parameter accepts float values. From f4ce428a4f6ff02a436568322a50aaefe6d1de0d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 18 Oct 2018 20:10:54 +1100 Subject: [PATCH 085/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 52f1e1658..ce738d968 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,12 @@ Changelog (Pillow) ================== +5.4.0 (unreleased) +------------------ + +- Optimise ImageOps.fit by combining resize and crop #3409 + [homm] + 5.3.0 (2018-10-01) ------------------ From 2bf3ceee8515d38b94c28d3c5dd15226489adf5c Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Thu, 18 Oct 2018 21:23:06 -0700 Subject: [PATCH 086/323] Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs JPEG-related tiff pseudo-tags are registered only when tiff image has jpeg compression. Trying to set TIFFTAG_JPEGCOLORMODE on non jpeg-compressed file prints error "Unknown pseudo-tag 65538". --- src/libImaging/TiffDecode.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 98302389b..998e9de97 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -169,10 +169,11 @@ int ImagingLibTiffInit(ImagingCodecState state, int fp, int offset) { } int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int bytes) { - TIFFSTATE *clientstate = (TIFFSTATE *)state->context; - char *filename = "tempfile.tif"; - char *mode = "r"; - TIFF *tiff; + TIFFSTATE *clientstate = (TIFFSTATE *)state->context; + char *filename = "tempfile.tif"; + char *mode = "r"; + TIFF *tiff; + uint16 photometric = 0, compression; /* buffer is the encoded file, bytes is the length of the encoded file */ @@ -234,7 +235,12 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int } } - TIFFSetField(tiff, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); + TIFFGetFieldDefaulted(tiff, TIFFTAG_COMPRESSION, &compression); + TIFFGetField(tiff, TIFFTAG_PHOTOMETRIC, &photometric); + if (compression == COMPRESSION_JPEG && photometric == PHOTOMETRIC_YCBCR) { + /* Set pseudo-tag to force automatic YCbCr->RGB conversion */ + TIFFSetField(tiff, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); + } if (TIFFIsTiled(tiff)) { uint32 x, y, tile_y; From e84a78d828845d7a87da8139d0f8ceeb0c40926e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 19 Oct 2018 20:12:08 +1100 Subject: [PATCH 087/323] Only close existing fp if fp is exclusive --- Tests/test_file_webp.py | 1 - src/PIL/WebPImagePlugin.py | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 956a26996..399b585e8 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -139,7 +139,6 @@ class TestFileWebp(PillowTestCase): self.assertRaises(TypeError, _webp.WebPAnimDecoder) self.assertRaises(TypeError, _webp.WebPDecode) - @unittest.skip("Currently is not working") def test_no_resource_warning(self): file_path = "Tests/images/hopper.webp" image = Image.open(file_path) diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 1e9a028a7..eb4618a16 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -163,6 +163,8 @@ class WebPImageFile(ImageFile.ImageFile): self.__loaded = self.__logical_frame # Set tile + if self.fp and self._exclusive_fp: + self.fp.close() self.fp = BytesIO(data) self.tile = [("raw", (0, 0) + self.size, 0, self.rawmode)] From 28cdb993b9e35fc8ee23ce3166d768f11d0c4f06 Mon Sep 17 00:00:00 2001 From: Konstantin Kopachev Date: Fri, 19 Oct 2018 11:42:40 -0700 Subject: [PATCH 088/323] Convert tabs into spaces [ci skip] --- src/libImaging/TiffDecode.c | 534 ++++++++++++++++++------------------ 1 file changed, 267 insertions(+), 267 deletions(-) diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index 998e9de97..e77afdf61 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -21,8 +21,8 @@ #include "TiffDecode.h" void dump_state(const TIFFSTATE *state){ - TRACE(("State: Location %u size %d eof %d data: %p ifd: %d\n", (uint)state->loc, - (int)state->size, (uint)state->eof, state->data, state->ifd)); + TRACE(("State: Location %u size %d eof %d data: %p ifd: %d\n", (uint)state->loc, + (int)state->size, (uint)state->eof, state->data, state->ifd)); } /* @@ -30,140 +30,140 @@ void dump_state(const TIFFSTATE *state){ */ tsize_t _tiffReadProc(thandle_t hdata, tdata_t buf, tsize_t size) { - TIFFSTATE *state = (TIFFSTATE *)hdata; - tsize_t to_read; + TIFFSTATE *state = (TIFFSTATE *)hdata; + tsize_t to_read; - TRACE(("_tiffReadProc: %d \n", (int)size)); - dump_state(state); + TRACE(("_tiffReadProc: %d \n", (int)size)); + dump_state(state); - to_read = min(size, min(state->size, (tsize_t)state->eof) - (tsize_t)state->loc); - TRACE(("to_read: %d\n", (int)to_read)); + to_read = min(size, min(state->size, (tsize_t)state->eof) - (tsize_t)state->loc); + TRACE(("to_read: %d\n", (int)to_read)); - _TIFFmemcpy(buf, (UINT8 *)state->data + state->loc, to_read); - state->loc += (toff_t)to_read; + _TIFFmemcpy(buf, (UINT8 *)state->data + state->loc, to_read); + state->loc += (toff_t)to_read; - TRACE( ("location: %u\n", (uint)state->loc)); - return to_read; + TRACE( ("location: %u\n", (uint)state->loc)); + return to_read; } tsize_t _tiffWriteProc(thandle_t hdata, tdata_t buf, tsize_t size) { - TIFFSTATE *state = (TIFFSTATE *)hdata; - tsize_t to_write; + TIFFSTATE *state = (TIFFSTATE *)hdata; + tsize_t to_write; - TRACE(("_tiffWriteProc: %d \n", (int)size)); - dump_state(state); + TRACE(("_tiffWriteProc: %d \n", (int)size)); + dump_state(state); - to_write = min(size, state->size - (tsize_t)state->loc); - if (state->flrealloc && size>to_write) { - tdata_t new_data; - tsize_t newsize=state->size; - while (newsize < (size + state->size)) { + to_write = min(size, state->size - (tsize_t)state->loc); + if (state->flrealloc && size>to_write) { + tdata_t new_data; + tsize_t newsize=state->size; + while (newsize < (size + state->size)) { if (newsize > INT_MAX - 64*1024){ return 0; } - newsize += 64*1024; - // newsize*=2; // UNDONE, by 64k chunks? - } - TRACE(("Reallocing in write to %d bytes\n", (int)newsize)); + newsize += 64*1024; + // newsize*=2; // UNDONE, by 64k chunks? + } + TRACE(("Reallocing in write to %d bytes\n", (int)newsize)); /* malloc check ok, overflow checked above */ - new_data = realloc(state->data, newsize); - if (!new_data) { - // fail out - return 0; - } - state->data = new_data; - state->size = newsize; - to_write = size; - } + new_data = realloc(state->data, newsize); + if (!new_data) { + // fail out + return 0; + } + state->data = new_data; + state->size = newsize; + to_write = size; + } - TRACE(("to_write: %d\n", (int)to_write)); + TRACE(("to_write: %d\n", (int)to_write)); - _TIFFmemcpy((UINT8 *)state->data + state->loc, buf, to_write); - state->loc += (toff_t)to_write; - state->eof = max(state->loc, state->eof); + _TIFFmemcpy((UINT8 *)state->data + state->loc, buf, to_write); + state->loc += (toff_t)to_write; + state->eof = max(state->loc, state->eof); - dump_state(state); - return to_write; + dump_state(state); + return to_write; } toff_t _tiffSeekProc(thandle_t hdata, toff_t off, int whence) { - TIFFSTATE *state = (TIFFSTATE *)hdata; + TIFFSTATE *state = (TIFFSTATE *)hdata; - TRACE(("_tiffSeekProc: off: %u whence: %d \n", (uint)off, whence)); - dump_state(state); - switch (whence) { - case 0: - state->loc = off; - break; - case 1: - state->loc += off; - break; - case 2: - state->loc = state->eof + off; - break; - } - dump_state(state); - return state->loc; + TRACE(("_tiffSeekProc: off: %u whence: %d \n", (uint)off, whence)); + dump_state(state); + switch (whence) { + case 0: + state->loc = off; + break; + case 1: + state->loc += off; + break; + case 2: + state->loc = state->eof + off; + break; + } + dump_state(state); + return state->loc; } int _tiffCloseProc(thandle_t hdata) { - TIFFSTATE *state = (TIFFSTATE *)hdata; + TIFFSTATE *state = (TIFFSTATE *)hdata; - TRACE(("_tiffCloseProc \n")); - dump_state(state); + TRACE(("_tiffCloseProc \n")); + dump_state(state); - return 0; + return 0; } toff_t _tiffSizeProc(thandle_t hdata) { - TIFFSTATE *state = (TIFFSTATE *)hdata; + TIFFSTATE *state = (TIFFSTATE *)hdata; - TRACE(("_tiffSizeProc \n")); - dump_state(state); + TRACE(("_tiffSizeProc \n")); + dump_state(state); - return (toff_t)state->size; + return (toff_t)state->size; } int _tiffMapProc(thandle_t hdata, tdata_t* pbase, toff_t* psize) { - TIFFSTATE *state = (TIFFSTATE *)hdata; + TIFFSTATE *state = (TIFFSTATE *)hdata; - TRACE(("_tiffMapProc input size: %u, data: %p\n", (uint)*psize, *pbase)); - dump_state(state); + TRACE(("_tiffMapProc input size: %u, data: %p\n", (uint)*psize, *pbase)); + dump_state(state); - *pbase = state->data; - *psize = state->size; - TRACE(("_tiffMapProc returning size: %u, data: %p\n", (uint)*psize, *pbase)); - return (1); + *pbase = state->data; + *psize = state->size; + TRACE(("_tiffMapProc returning size: %u, data: %p\n", (uint)*psize, *pbase)); + return (1); } int _tiffNullMapProc(thandle_t hdata, tdata_t* pbase, toff_t* psize) { - (void) hdata; (void) pbase; (void) psize; - return (0); + (void) hdata; (void) pbase; (void) psize; + return (0); } void _tiffUnmapProc(thandle_t hdata, tdata_t base, toff_t size) { - TRACE(("_tiffUnMapProc\n")); - (void) hdata; (void) base; (void) size; + TRACE(("_tiffUnMapProc\n")); + (void) hdata; (void) base; (void) size; } int ImagingLibTiffInit(ImagingCodecState state, int fp, int offset) { - TIFFSTATE *clientstate = (TIFFSTATE *)state->context; + TIFFSTATE *clientstate = (TIFFSTATE *)state->context; TRACE(("initing libtiff\n")); - TRACE(("filepointer: %d \n", fp)); - TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, - state->x, state->y, state->ystep)); - TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, - state->xoff, state->yoff)); - TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); - TRACE(("State: context %p \n", state->context)); + TRACE(("filepointer: %d \n", fp)); + TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, + state->x, state->y, state->ystep)); + TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, + state->xoff, state->yoff)); + TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); + TRACE(("State: context %p \n", state->context)); - clientstate->loc = 0; - clientstate->size = 0; - clientstate->data = 0; - clientstate->fp = fp; + clientstate->loc = 0; + clientstate->size = 0; + clientstate->data = 0; + clientstate->fp = fp; clientstate->ifd = offset; - clientstate->eof = 0; + clientstate->eof = 0; return 1; } @@ -176,64 +176,64 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int uint16 photometric = 0, compression; - /* buffer is the encoded file, bytes is the length of the encoded file */ - /* it all ends up in state->buffer, which is a uint8* from Imaging.h */ + /* buffer is the encoded file, bytes is the length of the encoded file */ + /* it all ends up in state->buffer, which is a uint8* from Imaging.h */ TRACE(("in decoder: bytes %d\n", bytes)); - TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, - state->x, state->y, state->ystep)); - TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, - state->xoff, state->yoff)); - TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); - TRACE(("Buffer: %p: %c%c%c%c\n", buffer, (char)buffer[0], (char)buffer[1],(char)buffer[2], (char)buffer[3])); - TRACE(("State->Buffer: %c%c%c%c\n", (char)state->buffer[0], (char)state->buffer[1],(char)state->buffer[2], (char)state->buffer[3])); - TRACE(("Image: mode %s, type %d, bands: %d, xsize %d, ysize %d \n", - im->mode, im->type, im->bands, im->xsize, im->ysize)); - TRACE(("Image: image8 %p, image32 %p, image %p, block %p \n", - im->image8, im->image32, im->image, im->block)); - TRACE(("Image: pixelsize: %d, linesize %d \n", - im->pixelsize, im->linesize)); + TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, + state->x, state->y, state->ystep)); + TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, + state->xoff, state->yoff)); + TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); + TRACE(("Buffer: %p: %c%c%c%c\n", buffer, (char)buffer[0], (char)buffer[1],(char)buffer[2], (char)buffer[3])); + TRACE(("State->Buffer: %c%c%c%c\n", (char)state->buffer[0], (char)state->buffer[1],(char)state->buffer[2], (char)state->buffer[3])); + TRACE(("Image: mode %s, type %d, bands: %d, xsize %d, ysize %d \n", + im->mode, im->type, im->bands, im->xsize, im->ysize)); + TRACE(("Image: image8 %p, image32 %p, image %p, block %p \n", + im->image8, im->image32, im->image, im->block)); + TRACE(("Image: pixelsize: %d, linesize %d \n", + im->pixelsize, im->linesize)); - dump_state(clientstate); - clientstate->size = bytes; - clientstate->eof = clientstate->size; - clientstate->loc = 0; - clientstate->data = (tdata_t)buffer; - clientstate->flrealloc = 0; - dump_state(clientstate); + dump_state(clientstate); + clientstate->size = bytes; + clientstate->eof = clientstate->size; + clientstate->loc = 0; + clientstate->data = (tdata_t)buffer; + clientstate->flrealloc = 0; + dump_state(clientstate); TIFFSetWarningHandler(NULL); TIFFSetWarningHandlerExt(NULL); - if (clientstate->fp) { - TRACE(("Opening using fd: %d\n",clientstate->fp)); - lseek(clientstate->fp,0,SEEK_SET); // Sometimes, I get it set to the end. - tiff = TIFFFdOpen(clientstate->fp, filename, mode); - } else { - TRACE(("Opening from string\n")); - tiff = TIFFClientOpen(filename, mode, - (thandle_t) clientstate, - _tiffReadProc, _tiffWriteProc, - _tiffSeekProc, _tiffCloseProc, _tiffSizeProc, - _tiffMapProc, _tiffUnmapProc); - } + if (clientstate->fp) { + TRACE(("Opening using fd: %d\n",clientstate->fp)); + lseek(clientstate->fp,0,SEEK_SET); // Sometimes, I get it set to the end. + tiff = TIFFFdOpen(clientstate->fp, filename, mode); + } else { + TRACE(("Opening from string\n")); + tiff = TIFFClientOpen(filename, mode, + (thandle_t) clientstate, + _tiffReadProc, _tiffWriteProc, + _tiffSeekProc, _tiffCloseProc, _tiffSizeProc, + _tiffMapProc, _tiffUnmapProc); + } - if (!tiff){ - TRACE(("Error, didn't get the tiff\n")); - state->errcode = IMAGING_CODEC_BROKEN; - return -1; - } + if (!tiff){ + TRACE(("Error, didn't get the tiff\n")); + state->errcode = IMAGING_CODEC_BROKEN; + return -1; + } if (clientstate->ifd){ - int rv; - uint32 ifdoffset = clientstate->ifd; - TRACE(("reading tiff ifd %u\n", ifdoffset)); - rv = TIFFSetSubDirectory(tiff, ifdoffset); - if (!rv){ - TRACE(("error in TIFFSetSubDirectory")); - return -1; - } - } + int rv; + uint32 ifdoffset = clientstate->ifd; + TRACE(("reading tiff ifd %u\n", ifdoffset)); + rv = TIFFSetSubDirectory(tiff, ifdoffset); + if (!rv){ + TRACE(("error in TIFFSetSubDirectory")); + return -1; + } + } TIFFGetFieldDefaulted(tiff, TIFFTAG_COMPRESSION, &compression); TIFFGetField(tiff, TIFFTAG_PHOTOMETRIC, &photometric); @@ -332,173 +332,173 @@ int ImagingLibTiffDecode(Imaging im, ImagingCodecState state, UINT8* buffer, int } } - TIFFClose(tiff); - TRACE(("Done Decoding, Returning \n")); - // Returning -1 here to force ImageFile.load to break, rather than - // even think about looping back around. - return -1; + TIFFClose(tiff); + TRACE(("Done Decoding, Returning \n")); + // Returning -1 here to force ImageFile.load to break, rather than + // even think about looping back around. + return -1; } int ImagingLibTiffEncodeInit(ImagingCodecState state, char *filename, int fp) { - // Open the FD or the pointer as a tiff file, for writing. - // We may have to do some monkeying around to make this really work. - // If we have a fp, then we're good. - // If we have a memory string, we're probably going to have to malloc, then - // shuffle bytes into the writescanline process. - // Going to have to deal with the directory as well. + // Open the FD or the pointer as a tiff file, for writing. + // We may have to do some monkeying around to make this really work. + // If we have a fp, then we're good. + // If we have a memory string, we're probably going to have to malloc, then + // shuffle bytes into the writescanline process. + // Going to have to deal with the directory as well. - TIFFSTATE *clientstate = (TIFFSTATE *)state->context; - int bufsize = 64*1024; - char *mode = "w"; + TIFFSTATE *clientstate = (TIFFSTATE *)state->context; + int bufsize = 64*1024; + char *mode = "w"; TRACE(("initing libtiff\n")); - TRACE(("Filename %s, filepointer: %d \n", filename, fp)); - TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, - state->x, state->y, state->ystep)); - TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, - state->xoff, state->yoff)); - TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); - TRACE(("State: context %p \n", state->context)); + TRACE(("Filename %s, filepointer: %d \n", filename, fp)); + TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, + state->x, state->y, state->ystep)); + TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, + state->xoff, state->yoff)); + TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); + TRACE(("State: context %p \n", state->context)); - clientstate->loc = 0; - clientstate->size = 0; - clientstate->eof =0; - clientstate->data = 0; - clientstate->flrealloc = 0; - clientstate->fp = fp; + clientstate->loc = 0; + clientstate->size = 0; + clientstate->eof =0; + clientstate->data = 0; + clientstate->flrealloc = 0; + clientstate->fp = fp; - state->state = 0; + state->state = 0; - if (fp) { - TRACE(("Opening using fd: %d for writing \n",clientstate->fp)); - clientstate->tiff = TIFFFdOpen(clientstate->fp, filename, mode); - } else { - // malloc a buffer to write the tif, we're going to need to realloc or something if we need bigger. - TRACE(("Opening a buffer for writing \n")); + if (fp) { + TRACE(("Opening using fd: %d for writing \n",clientstate->fp)); + clientstate->tiff = TIFFFdOpen(clientstate->fp, filename, mode); + } else { + // malloc a buffer to write the tif, we're going to need to realloc or something if we need bigger. + TRACE(("Opening a buffer for writing \n")); /* malloc check ok, small constant allocation */ - clientstate->data = malloc(bufsize); - clientstate->size = bufsize; - clientstate->flrealloc=1; + clientstate->data = malloc(bufsize); + clientstate->size = bufsize; + clientstate->flrealloc=1; - if (!clientstate->data) { - TRACE(("Error, couldn't allocate a buffer of size %d\n", bufsize)); - return 0; - } + if (!clientstate->data) { + TRACE(("Error, couldn't allocate a buffer of size %d\n", bufsize)); + return 0; + } - clientstate->tiff = TIFFClientOpen(filename, mode, - (thandle_t) clientstate, - _tiffReadProc, _tiffWriteProc, - _tiffSeekProc, _tiffCloseProc, _tiffSizeProc, - _tiffNullMapProc, _tiffUnmapProc); /*force no mmap*/ + clientstate->tiff = TIFFClientOpen(filename, mode, + (thandle_t) clientstate, + _tiffReadProc, _tiffWriteProc, + _tiffSeekProc, _tiffCloseProc, _tiffSizeProc, + _tiffNullMapProc, _tiffUnmapProc); /*force no mmap*/ - } + } - if (!clientstate->tiff) { - TRACE(("Error, couldn't open tiff file\n")); - return 0; - } + if (!clientstate->tiff) { + TRACE(("Error, couldn't open tiff file\n")); + return 0; + } return 1; } int ImagingLibTiffSetField(ImagingCodecState state, ttag_t tag, ...){ - // after tif_dir.c->TIFFSetField. - TIFFSTATE *clientstate = (TIFFSTATE *)state->context; - va_list ap; - int status; + // after tif_dir.c->TIFFSetField. + TIFFSTATE *clientstate = (TIFFSTATE *)state->context; + va_list ap; + int status; - va_start(ap, tag); - status = TIFFVSetField(clientstate->tiff, tag, ap); - va_end(ap); - return status; + va_start(ap, tag); + status = TIFFVSetField(clientstate->tiff, tag, ap); + va_end(ap); + return status; } int ImagingLibTiffEncode(Imaging im, ImagingCodecState state, UINT8* buffer, int bytes) { - /* One shot encoder. Encode everything to the tiff in the clientstate. - If we're running off of a FD, then run once, we're good, everything - ends up in the file, we close and we're done. + /* One shot encoder. Encode everything to the tiff in the clientstate. + If we're running off of a FD, then run once, we're good, everything + ends up in the file, we close and we're done. - If we're going to memory, then we need to write the whole file into memory, then - parcel it back out to the pystring buffer bytes at a time. + If we're going to memory, then we need to write the whole file into memory, then + parcel it back out to the pystring buffer bytes at a time. - */ + */ - TIFFSTATE *clientstate = (TIFFSTATE *)state->context; - TIFF *tiff = clientstate->tiff; + TIFFSTATE *clientstate = (TIFFSTATE *)state->context; + TIFF *tiff = clientstate->tiff; TRACE(("in encoder: bytes %d\n", bytes)); - TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, - state->x, state->y, state->ystep)); - TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, - state->xoff, state->yoff)); - TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); - TRACE(("Buffer: %p: %c%c%c%c\n", buffer, (char)buffer[0], (char)buffer[1],(char)buffer[2], (char)buffer[3])); - TRACE(("State->Buffer: %c%c%c%c\n", (char)state->buffer[0], (char)state->buffer[1],(char)state->buffer[2], (char)state->buffer[3])); - TRACE(("Image: mode %s, type %d, bands: %d, xsize %d, ysize %d \n", - im->mode, im->type, im->bands, im->xsize, im->ysize)); - TRACE(("Image: image8 %p, image32 %p, image %p, block %p \n", - im->image8, im->image32, im->image, im->block)); - TRACE(("Image: pixelsize: %d, linesize %d \n", - im->pixelsize, im->linesize)); + TRACE(("State: count %d, state %d, x %d, y %d, ystep %d\n", state->count, state->state, + state->x, state->y, state->ystep)); + TRACE(("State: xsize %d, ysize %d, xoff %d, yoff %d \n", state->xsize, state->ysize, + state->xoff, state->yoff)); + TRACE(("State: bits %d, bytes %d \n", state->bits, state->bytes)); + TRACE(("Buffer: %p: %c%c%c%c\n", buffer, (char)buffer[0], (char)buffer[1],(char)buffer[2], (char)buffer[3])); + TRACE(("State->Buffer: %c%c%c%c\n", (char)state->buffer[0], (char)state->buffer[1],(char)state->buffer[2], (char)state->buffer[3])); + TRACE(("Image: mode %s, type %d, bands: %d, xsize %d, ysize %d \n", + im->mode, im->type, im->bands, im->xsize, im->ysize)); + TRACE(("Image: image8 %p, image32 %p, image %p, block %p \n", + im->image8, im->image32, im->image, im->block)); + TRACE(("Image: pixelsize: %d, linesize %d \n", + im->pixelsize, im->linesize)); - dump_state(clientstate); + dump_state(clientstate); - if (state->state == 0) { - TRACE(("Encoding line bt line")); - while(state->y < state->ysize){ - state->shuffle(state->buffer, - (UINT8*) im->image[state->y + state->yoff] + - state->xoff * im->pixelsize, - state->xsize); + if (state->state == 0) { + TRACE(("Encoding line bt line")); + while(state->y < state->ysize){ + state->shuffle(state->buffer, + (UINT8*) im->image[state->y + state->yoff] + + state->xoff * im->pixelsize, + state->xsize); - if (TIFFWriteScanline(tiff, (tdata_t)(state->buffer), (uint32)state->y, 0) == -1) { - TRACE(("Encode Error, row %d\n", state->y)); - state->errcode = IMAGING_CODEC_BROKEN; - TIFFClose(tiff); - if (!clientstate->fp){ - free(clientstate->data); - } - return -1; - } - state->y++; - } + if (TIFFWriteScanline(tiff, (tdata_t)(state->buffer), (uint32)state->y, 0) == -1) { + TRACE(("Encode Error, row %d\n", state->y)); + state->errcode = IMAGING_CODEC_BROKEN; + TIFFClose(tiff); + if (!clientstate->fp){ + free(clientstate->data); + } + return -1; + } + state->y++; + } - if (state->y == state->ysize) { - state->state=1; + if (state->y == state->ysize) { + state->state=1; - TRACE(("Flushing \n")); - if (!TIFFFlush(tiff)) { - TRACE(("Error flushing the tiff")); - // likely reason is memory. - state->errcode = IMAGING_CODEC_MEMORY; - TIFFClose(tiff); - if (!clientstate->fp){ - free(clientstate->data); - } - return -1; - } - TRACE(("Closing \n")); - TIFFClose(tiff); - // reset the clientstate metadata to use it to read out the buffer. - clientstate->loc = 0; - clientstate->size = clientstate->eof; // redundant? - } - } + TRACE(("Flushing \n")); + if (!TIFFFlush(tiff)) { + TRACE(("Error flushing the tiff")); + // likely reason is memory. + state->errcode = IMAGING_CODEC_MEMORY; + TIFFClose(tiff); + if (!clientstate->fp){ + free(clientstate->data); + } + return -1; + } + TRACE(("Closing \n")); + TIFFClose(tiff); + // reset the clientstate metadata to use it to read out the buffer. + clientstate->loc = 0; + clientstate->size = clientstate->eof; // redundant? + } + } - if (state->state == 1 && !clientstate->fp) { - int read = (int)_tiffReadProc(clientstate, (tdata_t)buffer, (tsize_t)bytes); - TRACE(("Buffer: %p: %c%c%c%c\n", buffer, (char)buffer[0], (char)buffer[1],(char)buffer[2], (char)buffer[3])); - if (clientstate->loc == clientstate->eof) { - TRACE(("Hit EOF, calling an end, freeing data")); - state->errcode = IMAGING_CODEC_END; - free(clientstate->data); - } - return read; - } + if (state->state == 1 && !clientstate->fp) { + int read = (int)_tiffReadProc(clientstate, (tdata_t)buffer, (tsize_t)bytes); + TRACE(("Buffer: %p: %c%c%c%c\n", buffer, (char)buffer[0], (char)buffer[1],(char)buffer[2], (char)buffer[3])); + if (clientstate->loc == clientstate->eof) { + TRACE(("Hit EOF, calling an end, freeing data")); + state->errcode = IMAGING_CODEC_END; + free(clientstate->data); + } + return read; + } - state->errcode = IMAGING_CODEC_END; - return 0; + state->errcode = IMAGING_CODEC_END; + return 0; } #endif From 866658eadfebd74efbf3f58087d14d4a0e22ea53 Mon Sep 17 00:00:00 2001 From: Hugo Date: Fri, 19 Oct 2018 22:02:47 +0300 Subject: [PATCH 089/323] Use a newer Python for the virtualenv for PyPy --- winbuild/appveyor_install_pypy.cmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/winbuild/appveyor_install_pypy.cmd b/winbuild/appveyor_install_pypy.cmd index f68e75daa..8c254ad90 100644 --- a/winbuild/appveyor_install_pypy.cmd +++ b/winbuild/appveyor_install_pypy.cmd @@ -1,3 +1,3 @@ curl -fsSL -o pypy2.zip https://bitbucket.org/pypy/pypy/downloads/pypy2-v6.0.0-win32.zip 7z x pypy2.zip -oc:\ -c:\Python34\Scripts\virtualenv.exe -p c:\pypy2-v6.0.0-win32\pypy.exe c:\vp\pypy2 +c:\Python37\Scripts\virtualenv.exe -p c:\pypy2-v6.0.0-win32\pypy.exe c:\vp\pypy2 From b581b0e0fc53aea7599a34e9affa310490b9d1d5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 20 Oct 2018 08:04:08 +1100 Subject: [PATCH 090/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index ce738d968..9776786a7 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs #3417 + [kkopachev] + - Optimise ImageOps.fit by combining resize and crop #3409 [homm] From 6099ddeef910673bff1b1ab7f6e8c6000e88dbae Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 17:01:25 +1100 Subject: [PATCH 091/323] Expected 1 blank line before a nested definition --- src/PIL/Image.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index b537b6528..ca801accb 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2620,6 +2620,7 @@ def open(fp, mode="r"): preinit() accept_warnings = [] + def _open_core(fp, filename, prefix): for i in ID: try: From 77f807cf7360a45d4796803cae87ec2846ed55f0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 17:15:26 +1100 Subject: [PATCH 092/323] Continuation line under-indented for visual indent --- src/PIL/IcnsImagePlugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/IcnsImagePlugin.py b/src/PIL/IcnsImagePlugin.py index 21236d467..07ffad20d 100644 --- a/src/PIL/IcnsImagePlugin.py +++ b/src/PIL/IcnsImagePlugin.py @@ -284,7 +284,7 @@ class IcnsImageFile(ImageFile.ImageFile): if info_size not in self.info['sizes'] and len(info_size) == 3 and \ info_size[2] == 1: simple_sizes = [(size[0] * size[2], size[1] * size[2]) - for size in self.info['sizes']] + for size in self.info['sizes']] if value in simple_sizes: info_size = self.info['sizes'][simple_sizes.index(value)] if info_size not in self.info['sizes']: From d26575765128b67ea3022bc6bd125da5880314a1 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 17:23:14 +1100 Subject: [PATCH 093/323] Continuation line unaligned for hanging indent --- src/PIL/ImageGrab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/ImageGrab.py b/src/PIL/ImageGrab.py index 712b02cd0..e8961cd17 100644 --- a/src/PIL/ImageGrab.py +++ b/src/PIL/ImageGrab.py @@ -56,7 +56,7 @@ def grabclipboard(): commands = [ "set theFile to (open for access POSIX file \""+filepath+"\" with write permission)", "try", - "write (the clipboard as JPEG picture) to theFile", + " write (the clipboard as JPEG picture) to theFile", "end try", "close access theFile" ] From ede35510c1ee9d4a64cd4f1cfb6709814ca6d26d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 17:34:12 +1100 Subject: [PATCH 094/323] Continuation line over-indented for visual indent --- src/PIL/ImageFilter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/ImageFilter.py b/src/PIL/ImageFilter.py index de99e6410..ebee3fc1a 100644 --- a/src/PIL/ImageFilter.py +++ b/src/PIL/ImageFilter.py @@ -467,7 +467,7 @@ class Color3DLUT(MultibandFilter): def __repr__(self): r = [ "{} from {}".format(self.__class__.__name__, - self.table.__class__.__name__), + self.table.__class__.__name__), "size={:d}x{:d}x{:d}".format(*self.size), "channels={:d}".format(self.channels), ] From 94b3e534962b8ec0637a609c376200e3a22e0531 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 17:45:30 +1100 Subject: [PATCH 095/323] Missing whitespace after ':' --- winbuild/config.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/winbuild/config.py b/winbuild/config.py index bfce09b03..70254caf5 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -3,12 +3,12 @@ import os SF_MIRROR = 'http://iweb.dl.sourceforge.net' PILLOW_DEPENDS_DIR = 'C:\\pillow-depends\\' -pythons = {'27': {'compiler':7, 'vc':2008}, - 'pypy2': {'compiler':7, 'vc':2008}, - '34': {'compiler':7.1, 'vc':2010}, - '35': {'compiler':7.1, 'vc':2015}, - '36': {'compiler':7.1, 'vc':2015}, - '37': {'compiler':7.1, 'vc':2015}} +pythons = {'27': {'compiler': 7, 'vc': 2008}, + 'pypy2': {'compiler': 7, 'vc': 2008}, + '34': {'compiler': 7.1, 'vc': 2010}, + '35': {'compiler': 7.1, 'vc': 2015}, + '36': {'compiler': 7.1, 'vc': 2015}, + '37': {'compiler': 7.1, 'vc': 2015}} VIRT_BASE = "c:/vp/" X64_EXT = os.environ.get('X64_EXT', "x64") From d1f9803aeb9ca8e1b17a80da3bb5011d37cf1d37 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 18:00:39 +1100 Subject: [PATCH 096/323] Expected 2 blank lines, found 1 --- winbuild/build.py | 1 + winbuild/config.py | 2 ++ 2 files changed, 3 insertions(+) diff --git a/winbuild/build.py b/winbuild/build.py index ad8b2a2a9..9f1c393a0 100755 --- a/winbuild/build.py +++ b/winbuild/build.py @@ -72,6 +72,7 @@ def vc_setup(compiler, bit): call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %s""" % arch return script + def build_one(py_ver, compiler, bit): # UNDONE virtual envs if we're not running on appveyor args = {} diff --git a/winbuild/config.py b/winbuild/config.py index 70254caf5..65fad994b 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -165,11 +165,13 @@ def compiler_from_env(): bit = bit_from_env() return compilers[py_info['compiler']][py_info['vc']][bit] + def bit_from_env(): py = os.environ['PYTHON'] return 64 if '64' in py else 32 + def all_compilers(): all = [] for vc_compilers in compilers.values(): From f2d4d19cc4e6615b1f4001104766d6d39f640ce4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 17:16:17 +1100 Subject: [PATCH 097/323] Undefined name --- src/PIL/IcnsImagePlugin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/PIL/IcnsImagePlugin.py b/src/PIL/IcnsImagePlugin.py index 07ffad20d..d156b240f 100644 --- a/src/PIL/IcnsImagePlugin.py +++ b/src/PIL/IcnsImagePlugin.py @@ -333,6 +333,7 @@ def _save(im, fp, filename): provided_images = {im.width: im for im in im.encoderinfo.get("append_images", [])} last_w = None + second_path = None for w in [16, 32, 128, 256, 512]: prefix = 'icon_{}x{}'.format(w, w) From ac20a02b7a25f1412e763e25a6d4c35c3d68d8de Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 18:11:39 +1100 Subject: [PATCH 098/323] Do not use bare 'except' --- src/PIL/ImageCms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/ImageCms.py b/src/PIL/ImageCms.py index 4b6281f13..107dc9f87 100644 --- a/src/PIL/ImageCms.py +++ b/src/PIL/ImageCms.py @@ -647,7 +647,7 @@ def createProfile(colorSpace, colorTemp=-1): if colorSpace == "LAB": try: colorTemp = float(colorTemp) - except: + except (TypeError, ValueError): raise PyCMSError( "Color temperature must be numeric, \"%s\" not valid" % colorTemp) From c7d924fd859c80385aa8df7c583d81bd23959e4e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 18:01:39 +1100 Subject: [PATCH 099/323] Too many blank lines --- Tests/test_file_libtiff.py | 1 - Tests/test_file_webp.py | 1 - 2 files changed, 2 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 8fc71ee3e..ddd39ba8c 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -670,6 +670,5 @@ class TestFileLibTiff(LibTiffTestCase): self.assert_image_similar_tofile(im, "Tests/images/flower.jpg", 0.5) - if __name__ == '__main__': unittest.main() diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index 956a26996..3fad8237c 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -22,7 +22,6 @@ class TestUnsupportedWebp(PillowTestCase): WebPImagePlugin.SUPPORTED = True - @unittest.skipIf(not HAVE_WEBP, "WebP support not installed") class TestFileWebp(PillowTestCase): From 929f7397dbd15c7e3406a20ce97d2aea6e25ba9e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 21 Oct 2018 18:26:08 +1100 Subject: [PATCH 100/323] Line too long --- Tests/test_file_tiff.py | 12 ++++++++---- src/PIL/FtexImagePlugin.py | 9 ++++++++- src/PIL/Image.py | 25 ++++++++++++++----------- src/PIL/ImageDraw.py | 4 +++- src/PIL/ImageFont.py | 2 +- src/PIL/ImageOps.py | 5 ++++- src/PIL/ImageQt.py | 4 ++-- src/PIL/WebPImagePlugin.py | 6 ++++-- 8 files changed, 44 insertions(+), 23 deletions(-) diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index a92c2351f..96ad05933 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -425,21 +425,24 @@ class TestFileTiff(PillowTestCase): infile = "Tests/images/tiff_strip_raw.tif" im = Image.open(infile) - self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + self.assert_image_equal_tofile(im, + "Tests/images/tiff_adobe_deflate.png") def test_strip_planar_raw(self): # gdal_translate -of GTiff -co INTERLEAVE=BAND tiff_strip_raw.tif tiff_strip_planar_raw.tiff infile = "Tests/images/tiff_strip_planar_raw.tif" im = Image.open(infile) - self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + self.assert_image_equal_tofile(im, + "Tests/images/tiff_adobe_deflate.png") def test_strip_planar_raw_with_overviews(self): # gdaladdo tiff_strip_planar_raw2.tif 2 4 8 16 infile = "Tests/images/tiff_strip_planar_raw_with_overviews.tif" im = Image.open(infile) - self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + self.assert_image_equal_tofile(im, + "Tests/images/tiff_adobe_deflate.png") def test_tiled_planar_raw(self): # gdal_translate -of GTiff -co TILED=YES -co BLOCKXSIZE=32 -co BLOCKYSIZE=32 -co INTERLEAVE=BAND \ @@ -447,7 +450,8 @@ class TestFileTiff(PillowTestCase): infile = "Tests/images/tiff_tiled_planar_raw.tif" im = Image.open(infile) - self.assert_image_equal_tofile(im, "Tests/images/tiff_adobe_deflate.png") + self.assert_image_equal_tofile(im, + "Tests/images/tiff_adobe_deflate.png") def test_tiff_save_all(self): import io diff --git a/src/PIL/FtexImagePlugin.py b/src/PIL/FtexImagePlugin.py index 08ce0e006..b2161595c 100644 --- a/src/PIL/FtexImagePlugin.py +++ b/src/PIL/FtexImagePlugin.py @@ -20,7 +20,14 @@ has the following structure: {format_directory} {data} Where: -{header} = { u32:magic, u32:version, u32:width, u32:height, u32:mipmap_count, u32:format_count } +{header} = { + u32:magic, + u32:version, + u32:width, + u32:height, + u32:mipmap_count, + u32:format_count +} * The "magic" number is "FTEX". * "width" and "height" are the dimensions of the texture. diff --git a/src/PIL/Image.py b/src/PIL/Image.py index ca801accb..0ce3f7f49 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -1047,7 +1047,8 @@ class Image(object): 2 = fast octree 3 = libimagequant :param kmeans: Integer - :param palette: Quantize to the palette of given :py:class:`PIL.Image.Image`. + :param palette: Quantize to the palette of given + :py:class:`PIL.Image.Image`. :returns: A new image """ @@ -1773,11 +1774,10 @@ class Image(object): if self.mode in ("1", "P"): resample = NEAREST - if self.mode == 'LA': - return self.convert('La').resize(size, resample, box).convert('LA') - - if self.mode == 'RGBA': - return self.convert('RGBa').resize(size, resample, box).convert('RGBA') + if self.mode in ['LA', 'RGBA']: + im = self.convert(self.mode[:-1]+'a') + im = im.resize(size, resample, box) + return im.convert(self.mode) self.load() @@ -1849,7 +1849,8 @@ class Image(object): else: post_trans = translate if center is None: - rotn_center = (w / 2.0, h / 2.0) # FIXME These should be rounded to ints? + # FIXME These should be rounded to ints? + rotn_center = (w / 2.0, h / 2.0) else: rotn_center = center @@ -1864,7 +1865,8 @@ class Image(object): return a*x + b*y + c, d*x + e*y + f matrix[2], matrix[5] = transform(-rotn_center[0] - post_trans[0], - -rotn_center[1] - post_trans[1], matrix) + -rotn_center[1] - post_trans[1], + matrix) matrix[2] += rotn_center[0] matrix[5] += rotn_center[1] @@ -1887,7 +1889,8 @@ class Image(object): matrix) w, h = nw, nh - return self.transform((w, h), AFFINE, matrix, resample, fillcolor=fillcolor) + return self.transform((w, h), AFFINE, matrix, resample, + fillcolor=fillcolor) def save(self, fp, format=None, **params): """ @@ -2154,8 +2157,8 @@ class Image(object): :param fill: If **method** is an :py:class:`~PIL.Image.ImageTransformHandler` object, this is one of the arguments passed to it. Otherwise, it is unused. - :param fillcolor: Optional fill color for the area outside the transform - in the output image. + :param fillcolor: Optional fill color for the area outside the + transform in the output image. :returns: An :py:class:`~PIL.Image.Image` object. """ diff --git a/src/PIL/ImageDraw.py b/src/PIL/ImageDraw.py index 27205cfff..ac549790a 100644 --- a/src/PIL/ImageDraw.py +++ b/src/PIL/ImageDraw.py @@ -406,7 +406,9 @@ def floodfill(image, xy, value, border=None, thresh=0): except (ValueError, IndexError): return # seed point outside image edge = {(x, y)} - full_edge = set() # use a set to keep record of current and previous edge pixels to reduce memory consumption + # use a set to keep record of current and previous edge pixels + # to reduce memory consumption + full_edge = set() while edge: new_edge = set() for (x, y) in edge: # 4 adjacent method diff --git a/src/PIL/ImageFont.py b/src/PIL/ImageFont.py index 5384a725b..227294925 100644 --- a/src/PIL/ImageFont.py +++ b/src/PIL/ImageFont.py @@ -203,7 +203,7 @@ class FreeTypeFont(object): size=self.size if size is None else size, index=self.index if index is None else index, encoding=self.encoding if encoding is None else encoding, - layout_engine=self.layout_engine if layout_engine is None else layout_engine + layout_engine=layout_engine or self.layout_engine ) diff --git a/src/PIL/ImageOps.py b/src/PIL/ImageOps.py index 809226847..058447b68 100644 --- a/src/PIL/ImageOps.py +++ b/src/PIL/ImageOps.py @@ -441,7 +441,10 @@ def fit(image, size, method=Image.NEAREST, bleed=0.0, centering=(0.5, 0.5)): crop_left = bleed_pixels[0] + (live_size[0]-crop_width) * centering[0] crop_top = bleed_pixels[1] + (live_size[1]-crop_height) * centering[1] - crop = (crop_left, crop_top, crop_left + crop_width, crop_top + crop_height) + crop = ( + crop_left, crop_top, + crop_left + crop_width, crop_top + crop_height + ) # resize the image and return it return image.resize(size, method, box=crop) diff --git a/src/PIL/ImageQt.py b/src/PIL/ImageQt.py index e60261360..bdfe3886c 100644 --- a/src/PIL/ImageQt.py +++ b/src/PIL/ImageQt.py @@ -185,8 +185,8 @@ if qt_is_installed: An PIL image wrapper for Qt. This is a subclass of PyQt's QImage class. - :param im: A PIL Image object, or a file name (given either as Python - string or a PyQt string object). + :param im: A PIL Image object, or a file name (given either as + Python string or a PyQt string object). """ im_data = _toqclass_helper(im) # must keep a reference, or Qt will crash! diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 1e9a028a7..52f997954 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -32,7 +32,8 @@ def _accept(prefix): if is_riff_file_format and is_webp_file and is_valid_vp8_mode: if not SUPPORTED: - return "image file could not be identified because WEBP support not installed" + return "image file could not be identified " \ + "because WEBP support not installed" return True @@ -253,7 +254,8 @@ def _save_all(im, fp, filename): rawmode = ims.mode if ims.mode not in _VALID_WEBP_MODES: alpha = 'A' in ims.mode or 'a' in ims.mode \ - or (ims.mode == 'P' and 'A' in ims.im.getpalettemode()) + or (ims.mode == 'P' and + 'A' in ims.im.getpalettemode()) rawmode = 'RGBA' if alpha else 'RGB' frame = ims.convert(rawmode) From fc28e47385446556d575dd2d648df388d12a2d64 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 21 Oct 2018 16:24:39 +0300 Subject: [PATCH 101/323] Update CHANGES.rst --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 9776786a7..a7e2dc799 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Flake8 fixes #3422 + [radarhere] + - Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs #3417 [kkopachev] From a1b9f94d60983a5d082b7256f52c1b85524bbe31 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 21 Oct 2018 16:42:41 +0300 Subject: [PATCH 102/323] skipUnless takes a condition and _reason_ --- Tests/test_features.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/test_features.py b/Tests/test_features.py index 54d668d2f..c1f5b5cc6 100644 --- a/Tests/test_features.py +++ b/Tests/test_features.py @@ -23,19 +23,19 @@ class TestFeatures(PillowTestCase): self.assertEqual(features.check_feature(feature), features.check(feature)) - @unittest.skipUnless(HAVE_WEBP, True) + @unittest.skipUnless(HAVE_WEBP, "WebP not available") def check_webp_transparency(self): self.assertEqual(features.check('transp_webp'), not _webp.WebPDecoderBuggyAlpha()) self.assertEqual(features.check('transp_webp'), _webp.HAVE_TRANSPARENCY) - @unittest.skipUnless(HAVE_WEBP, True) + @unittest.skipUnless(HAVE_WEBP, "WebP not available") def check_webp_mux(self): self.assertEqual(features.check('webp_mux'), _webp.HAVE_WEBPMUX) - @unittest.skipUnless(HAVE_WEBP, True) + @unittest.skipUnless(HAVE_WEBP, "WebP not available") def check_webp_anim(self): self.assertEqual(features.check('webp_anim'), _webp.HAVE_WEBPANIM) From cfc4c3e1011ff9f44c91154d1ffea0d78feae212 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 21 Oct 2018 16:44:12 +0300 Subject: [PATCH 103/323] Switch check_ to test_ to enable them --- Tests/test_features.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/test_features.py b/Tests/test_features.py index c1f5b5cc6..312894cb4 100644 --- a/Tests/test_features.py +++ b/Tests/test_features.py @@ -24,19 +24,19 @@ class TestFeatures(PillowTestCase): features.check(feature)) @unittest.skipUnless(HAVE_WEBP, "WebP not available") - def check_webp_transparency(self): + def test_webp_transparency(self): self.assertEqual(features.check('transp_webp'), not _webp.WebPDecoderBuggyAlpha()) self.assertEqual(features.check('transp_webp'), _webp.HAVE_TRANSPARENCY) @unittest.skipUnless(HAVE_WEBP, "WebP not available") - def check_webp_mux(self): + def test_webp_mux(self): self.assertEqual(features.check('webp_mux'), _webp.HAVE_WEBPMUX) @unittest.skipUnless(HAVE_WEBP, "WebP not available") - def check_webp_anim(self): + def test_webp_anim(self): self.assertEqual(features.check('webp_anim'), _webp.HAVE_WEBPANIM) From cbba2c24bfa330e79cc12c133ab35a034ac3f9dd Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 21 Oct 2018 17:05:14 +0300 Subject: [PATCH 104/323] Remove unused helper method --- Tests/test_format_hsv.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Tests/test_format_hsv.py b/Tests/test_format_hsv.py index d7820400e..8728c484b 100644 --- a/Tests/test_format_hsv.py +++ b/Tests/test_format_hsv.py @@ -13,12 +13,8 @@ class TestFormatHSV(PillowTestCase): return float(i)/255.0 def str_to_float(self, i): - return float(ord(i))/255.0 - def to_int(self, f): - return int(f*255.0) - def tuple_to_ints(self, tp): x, y, z = tp return (int(x*255.0), int(y*255.0), int(z*255.0)) From e33812c56cf5d00015e598d14f02f972db0e6ed4 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 21 Oct 2018 17:05:40 +0300 Subject: [PATCH 105/323] Remove redundant parentheses --- Tests/test_format_hsv.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_format_hsv.py b/Tests/test_format_hsv.py index 8728c484b..0385bd66f 100644 --- a/Tests/test_format_hsv.py +++ b/Tests/test_format_hsv.py @@ -17,7 +17,7 @@ class TestFormatHSV(PillowTestCase): def tuple_to_ints(self, tp): x, y, z = tp - return (int(x*255.0), int(y*255.0), int(z*255.0)) + return int(x*255.0), int(y*255.0), int(z*255.0) def test_sanity(self): Image.new('HSV', (100, 100)) From 06ad343d3586268572ee3f86c176a1870f677c42 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 21 Oct 2018 17:47:35 +0300 Subject: [PATCH 106/323] Simplify skipping --- Tests/test_pyroma.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/Tests/test_pyroma.py b/Tests/test_pyroma.py index cf5fc361f..e147161a7 100644 --- a/Tests/test_pyroma.py +++ b/Tests/test_pyroma.py @@ -5,19 +5,12 @@ from PIL import __version__ try: import pyroma except ImportError: - # Skip via setUp() - pass + pyroma = None class TestPyroma(PillowTestCase): - def setUp(self): - try: - import pyroma - assert pyroma # Ignore warning - except ImportError: - self.skipTest("ImportError") - + @unittest.skipUnless(pyroma, "Pyroma is not installed") def test_pyroma(self): # Arrange data = pyroma.projectdata.get_data(".") From 467d2089becef82497de747ec21846d30d9dc965 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Oct 2018 18:39:07 +1100 Subject: [PATCH 107/323] Enabled ImageGrab.grab test on AppVeyor --- Tests/test_imagegrab.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Tests/test_imagegrab.py b/Tests/test_imagegrab.py index 87a6956f6..24521ef20 100644 --- a/Tests/test_imagegrab.py +++ b/Tests/test_imagegrab.py @@ -1,4 +1,4 @@ -from helper import unittest, PillowTestCase, on_appveyor +from helper import unittest, PillowTestCase import sys @@ -7,7 +7,6 @@ try: class TestImageGrab(PillowTestCase): - @unittest.skipIf(on_appveyor(), "Test fails on appveyor") def test_grab(self): im = ImageGrab.grab() self.assert_image(im, im.mode, im.size) From bd9cfb124bbe0aaf9968ba441862c9a0f6356dd0 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 22 Oct 2018 18:55:16 +1100 Subject: [PATCH 108/323] Added ImageGrab.grabclipboard test --- Tests/test_imagegrab.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Tests/test_imagegrab.py b/Tests/test_imagegrab.py index 24521ef20..250a7aefe 100644 --- a/Tests/test_imagegrab.py +++ b/Tests/test_imagegrab.py @@ -1,6 +1,7 @@ from helper import unittest, PillowTestCase import sys +import subprocess try: from PIL import ImageGrab @@ -11,6 +12,21 @@ try: im = ImageGrab.grab() self.assert_image(im, im.mode, im.size) + def test_grabclipboard(self): + if sys.platform == "darwin": + subprocess.call(['screencapture', '-c']) + else: + p = subprocess.Popen(['powershell', '-command', '-'], + stdin=subprocess.PIPE) + p.stdin.write(b'''[Reflection.Assembly]::LoadWithPartialName("System.Drawing") +[Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") +$bmp = New-Object Drawing.Bitmap 200, 200 +[Windows.Forms.Clipboard]::SetImage($bmp)''') + p.communicate() + + im = ImageGrab.grabclipboard() + self.assert_image(im, im.mode, im.size) + except ImportError: class TestImageGrab(PillowTestCase): def test_skip(self): From 989b358cd15efc92a4f37fbae9c0e25bae65c873 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 24 Oct 2018 19:46:43 +1100 Subject: [PATCH 109/323] Install project using pip in ReadTheDocs build --- .readthedocs.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .readthedocs.yml diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 000000000..73e1f8213 --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,2 @@ +python: + pip_install: true From 901c1e2aea0a080d50cfe26e81511bf8e8db155e Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 4 Aug 2018 20:46:03 +0300 Subject: [PATCH 110/323] Simplify test skipping --- Tests/test_file_webp_alpha.py | 9 ++------- Tests/test_imagetk.py | 3 +-- Tests/test_pyroma.py | 2 +- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Tests/test_file_webp_alpha.py b/Tests/test_file_webp_alpha.py index 60a324d18..85682e382 100644 --- a/Tests/test_file_webp_alpha.py +++ b/Tests/test_file_webp_alpha.py @@ -5,18 +5,13 @@ from PIL import Image try: from PIL import _webp except ImportError: - pass - # Skip in setUp() + _webp = None +@unittest.skipIf(_webp is None, "WebP support not installed") class TestFileWebpAlpha(PillowTestCase): def setUp(self): - try: - from PIL import _webp - except ImportError: - self.skipTest('WebP support not installed') - if _webp.WebPDecoderBuggyAlpha(self): self.skipTest("Buggy early version of WebP installed, " "not testing transparency") diff --git a/Tests/test_imagetk.py b/Tests/test_imagetk.py index 14ce74eb1..aec7429ce 100644 --- a/Tests/test_imagetk.py +++ b/Tests/test_imagetk.py @@ -18,11 +18,10 @@ except (OSError, ImportError) as v: TK_MODES = ('1', 'L', 'P', 'RGB', 'RGBA') +@unittest.skipIf(not HAS_TK, "Tk not installed") class TestImageTk(PillowTestCase): def setUp(self): - if not HAS_TK: - self.skipTest("Tk not installed") try: # setup tk tk.Frame() diff --git a/Tests/test_pyroma.py b/Tests/test_pyroma.py index e147161a7..8d23d024b 100644 --- a/Tests/test_pyroma.py +++ b/Tests/test_pyroma.py @@ -8,9 +8,9 @@ except ImportError: pyroma = None +@unittest.skipIf(pyroma is None, "Pyroma is not installed") class TestPyroma(PillowTestCase): - @unittest.skipUnless(pyroma, "Pyroma is not installed") def test_pyroma(self): # Arrange data = pyroma.projectdata.get_data(".") From d1ca4916e009cf13428347bdb97ea3ceabfd3276 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 4 Aug 2018 21:08:40 +0300 Subject: [PATCH 111/323] Use more specific assertions --- Tests/helper.py | 4 ++-- Tests/test_file_libtiff.py | 4 ++-- Tests/test_image.py | 2 +- Tests/test_image_convert.py | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index 8fb34848b..030335745 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -187,10 +187,10 @@ class PillowTestCase(unittest.TestCase): return result def assert_all_same(self, items, msg=None): - self.assertTrue(items.count(items[0]) == len(items), msg) + self.assertEqual(items.count(items[0]), len(items), msg) def assert_not_all_same(self, items, msg=None): - self.assertFalse(items.count(items[0]) == len(items), msg) + self.assertNotEqual(items.count(items[0]), len(items), msg) def assert_tuple_approx_equal(self, actuals, targets, threshold, msg): """Tests if actuals has values within threshold from targets""" diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index ddd39ba8c..5b0b0c46b 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -545,11 +545,11 @@ class TestFileLibTiff(LibTiffTestCase): def test_read_icc(self): with Image.open("Tests/images/hopper.iccprofile.tif") as img: icc = img.info.get('icc_profile') - self.assertNotEqual(icc, None) + self.assertIsNotNone(icc) TiffImagePlugin.READ_LIBTIFF = True with Image.open("Tests/images/hopper.iccprofile.tif") as img: icc_libtiff = img.info.get('icc_profile') - self.assertNotEqual(icc_libtiff, None) + self.assertIsNotNone(icc_libtiff) TiffImagePlugin.READ_LIBTIFF = False self.assertEqual(icc, icc_libtiff) diff --git a/Tests/test_image.py b/Tests/test_image.py index ad56a079a..715c588da 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -516,7 +516,7 @@ class TestImage(PillowTestCase): self.assertEqual(new_im.palette.tobytes(), palette_result.tobytes()) else: - self.assertEqual(new_im.palette, None) + self.assertIsNone(new_im.palette) _make_new(im, im_p, im_p.palette) _make_new(im_p, im, None) diff --git a/Tests/test_image_convert.py b/Tests/test_image_convert.py index 1b3815d80..e57ae4305 100644 --- a/Tests/test_image_convert.py +++ b/Tests/test_image_convert.py @@ -88,7 +88,7 @@ class TestImageConvert(PillowTestCase): # Assert self.assertNotIn('transparency', im_rgba.info) # https://github.com/python-pillow/Pillow/issues/2702 - self.assertEqual(im_rgba.palette, None) + self.assertIsNone(im_rgba.palette) def test_trns_l(self): im = hopper('L') From a3b06597903f556c4e2d1e5ea71ec114450a16e1 Mon Sep 17 00:00:00 2001 From: Hugo Date: Mon, 1 Oct 2018 13:22:18 +0300 Subject: [PATCH 112/323] flake8 --- Tests/helper.py | 2 +- Tests/test_file_libtiff.py | 2 +- Tests/test_image.py | 2 +- Tests/test_imagetk.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index 030335745..d2bcbb7f9 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -110,7 +110,7 @@ class PillowTestCase(unittest.TestCase): try: url = test_image_results.upload(a, b) logger.error("Url for test images: %s" % url) - except Exception as msg: + except Exception: pass self.fail(msg or "got different content") diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 5b0b0c46b..58a3d38c5 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -415,7 +415,7 @@ class TestFileLibTiff(LibTiffTestCase): im = Image.open('Tests/images/multipage.tiff') frames = im.n_frames self.assertEqual(frames, 3) - for idx in range(frames): + for _ in range(frames): im.seek(0) # Should not raise ValueError: I/O operation on closed file im.load() diff --git a/Tests/test_image.py b/Tests/test_image.py index 715c588da..3d7e4dc4d 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -56,7 +56,7 @@ class TestImage(PillowTestCase): self.assertEqual(im.width, 1) self.assertEqual(im.height, 2) - with self.assertRaises(AttributeError) as e: + with self.assertRaises(AttributeError): im.size = (3, 4) def test_invalid_image(self): diff --git a/Tests/test_imagetk.py b/Tests/test_imagetk.py index aec7429ce..72ca91ca2 100644 --- a/Tests/test_imagetk.py +++ b/Tests/test_imagetk.py @@ -11,7 +11,7 @@ try: import Tkinter as tk dir(ImageTk) HAS_TK = True -except (OSError, ImportError) as v: +except (OSError, ImportError): # Skipped via setUp() HAS_TK = False From bab194b6f599bbec4c06421b24c31bdd2d13e694 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 10:57:07 +0300 Subject: [PATCH 113/323] Fix DeprecationWarning: invalid escape sequence --- Tests/test_image_resample.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_image_resample.py b/Tests/test_image_resample.py index 1b7081d55..226e7873a 100644 --- a/Tests/test_image_resample.py +++ b/Tests/test_image_resample.py @@ -453,7 +453,7 @@ class CoreResampleBoxTest(PillowTestCase): # error with box should be much smaller than without self.assert_image_similar(reference, with_box, 6) - with self.assertRaisesRegex(AssertionError, "difference 29\."): + with self.assertRaisesRegex(AssertionError, r"difference 29\."): self.assert_image_similar(reference, without_box, 5) def test_formats(self): @@ -496,7 +496,7 @@ class CoreResampleBoxTest(PillowTestCase): try: res = im.resize(size, Image.LANCZOS, box) self.assertEqual(res.size, size) - with self.assertRaisesRegex(AssertionError, "difference \d"): + with self.assertRaisesRegex(AssertionError, r"difference \d"): # check that the difference at least that much self.assert_image_similar(res, im.crop(box), 20) except AssertionError: From cb8a4bac21d84a356bbb90fbb58643460b7e3a57 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 11:22:00 +0300 Subject: [PATCH 114/323] Use set literal --- Tests/test_file_ico.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_ico.py b/Tests/test_file_ico.py index d3024ee90..e1ec27932 100644 --- a/Tests/test_file_ico.py +++ b/Tests/test_file_ico.py @@ -28,7 +28,7 @@ class TestFileIco(PillowTestCase): # the default image output.seek(0) reloaded = Image.open(output) - self.assertEqual(reloaded.info['sizes'], set([(32, 32), (64, 64)])) + self.assertEqual(reloaded.info['sizes'], {(32, 32), (64, 64)}) self.assertEqual(im.mode, reloaded.mode) self.assertEqual((64, 64), reloaded.size) @@ -81,7 +81,7 @@ class TestFileIco(PillowTestCase): # Assert self.assertEqual( im_saved.info['sizes'], - set([(16, 16), (24, 24), (32, 32), (48, 48)])) + {(16, 16), (24, 24), (32, 32), (48, 48)}) if __name__ == '__main__': From fc3a159c87ed0354330e5da8fa8238ac0477c817 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 11:36:07 +0300 Subject: [PATCH 115/323] More specific exception clause --- Tests/test_features.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_features.py b/Tests/test_features.py index 312894cb4..03ad0d4c9 100644 --- a/Tests/test_features.py +++ b/Tests/test_features.py @@ -5,7 +5,7 @@ from PIL import features try: from PIL import _webp HAVE_WEBP = True -except: +except ImportError: HAVE_WEBP = False From 4352edb1ec9f7eb90684b60fd4b09d60a20150f0 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 11:37:10 +0300 Subject: [PATCH 116/323] Assert all images in loop --- Tests/test_file_eps.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py index 66fedee90..9d650e968 100644 --- a/Tests/test_file_eps.py +++ b/Tests/test_file_eps.py @@ -228,12 +228,10 @@ class TestFileEps(PillowTestCase): "Tests/images/illuCS6_no_preview.eps", "Tests/images/illuCS6_preview.eps"] - # Act + # Act / Assert for filename in FILES: img = Image.open(filename) - - # Assert - self.assertEqual(img.mode, "RGB") + self.assertEqual(img.mode, "RGB") def test_emptyline(self): # Test file includes an empty line in the header data From bac99bd5ae2c0e8746ee40d71b3bd724e594e677 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 11:44:06 +0300 Subject: [PATCH 117/323] Add assert for previously unused 'lut' variable --- Tests/test_color_lut.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Tests/test_color_lut.py b/Tests/test_color_lut.py index ec370f70a..6c8a185df 100644 --- a/Tests/test_color_lut.py +++ b/Tests/test_color_lut.py @@ -294,6 +294,8 @@ class TestColorLut3DFilter(PillowTestCase): lut = ImageFilter.Color3DLUT((2, 2, 2), [(0, 1, 2, 3)] * 8, channels=4) + self.assertEqual(tuple(lut.size), (2, 2, 2)) + self.assertEqual(lut.table, list(range(4)) * 8) @unittest.skipIf(numpy is None, "Numpy is not installed") def test_numpy_sources(self): From 619e5fde8d1f78ce35e5811bf275fdafcd69b625 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 11:44:43 +0300 Subject: [PATCH 118/323] Remove unused local variables --- Tests/helper.py | 1 - Tests/test_000_sanity.py | 12 ++++++------ Tests/test_file_png.py | 10 +++++----- Tests/test_file_tiff.py | 10 +++++----- Tests/test_imagefile.py | 4 ++-- Tests/test_qt_image_toqimage.py | 2 +- 6 files changed, 19 insertions(+), 20 deletions(-) diff --git a/Tests/helper.py b/Tests/helper.py index d2bcbb7f9..8905e4009 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -163,7 +163,6 @@ class PillowTestCase(unittest.TestCase): def assert_warning(self, warn_class, func, *args, **kwargs): import warnings - result = None with warnings.catch_warnings(record=True) as w: # Cause all warnings to always be triggered. warnings.simplefilter("always") diff --git a/Tests/test_000_sanity.py b/Tests/test_000_sanity.py index 67aff8ecc..62a9b5870 100644 --- a/Tests/test_000_sanity.py +++ b/Tests/test_000_sanity.py @@ -9,7 +9,7 @@ class TestSanity(PillowTestCase): def test_sanity(self): # Make sure we have the binary extension - im = PIL.Image.core.new("L", (100, 100)) + PIL.Image.core.new("L", (100, 100)) self.assertEqual(PIL.Image.VERSION[:3], '1.1') @@ -19,11 +19,11 @@ class TestSanity(PillowTestCase): self.assertEqual(len(im.tobytes()), 1300) # Create images in all remaining major modes. - im = PIL.Image.new("L", (100, 100)) - im = PIL.Image.new("P", (100, 100)) - im = PIL.Image.new("RGB", (100, 100)) - im = PIL.Image.new("I", (100, 100)) - im = PIL.Image.new("F", (100, 100)) + PIL.Image.new("L", (100, 100)) + PIL.Image.new("P", (100, 100)) + PIL.Image.new("RGB", (100, 100)) + PIL.Image.new("I", (100, 100)) + PIL.Image.new("F", (100, 100)) if __name__ == '__main__': diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index e9dcd5203..c958c0b39 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -82,19 +82,19 @@ class TestFilePng(PillowTestCase): self.assertEqual(im.format, "PNG") hopper("1").save(test_file) - im = Image.open(test_file) + Image.open(test_file) hopper("L").save(test_file) - im = Image.open(test_file) + Image.open(test_file) hopper("P").save(test_file) - im = Image.open(test_file) + Image.open(test_file) hopper("RGB").save(test_file) - im = Image.open(test_file) + Image.open(test_file) hopper("I").save(test_file) - im = Image.open(test_file) + Image.open(test_file) def test_invalid_file(self): invalid_file = "Tests/images/flower.jpg" diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 96ad05933..b4a1221c4 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -26,19 +26,19 @@ class TestFileTiff(PillowTestCase): self.assertEqual(im.format, "TIFF") hopper("1").save(filename) - im = Image.open(filename) + Image.open(filename) hopper("L").save(filename) - im = Image.open(filename) + Image.open(filename) hopper("P").save(filename) - im = Image.open(filename) + Image.open(filename) hopper("RGB").save(filename) - im = Image.open(filename) + Image.open(filename) hopper("I").save(filename) - im = Image.open(filename) + Image.open(filename) def test_mac_tiff(self): # Read RGBa images from macOS [@PIL136] diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py index c95611b08..8a8cdb64b 100644 --- a/Tests/test_imagefile.py +++ b/Tests/test_imagefile.py @@ -204,7 +204,7 @@ class TestPyDecoder(PillowTestCase): im = MockImageFile(buf) im.tile = [("MOCK", (xoff, yoff, -10, yoff+ysize), 32, None)] - d = self.get_decoder() + self.get_decoder() self.assertRaises(ValueError, im.load) @@ -218,7 +218,7 @@ class TestPyDecoder(PillowTestCase): im.tile = [ ("MOCK", (xoff, yoff, xoff+xsize + 100, yoff+ysize), 32, None) ] - d = self.get_decoder() + self.get_decoder() self.assertRaises(ValueError, im.load) diff --git a/Tests/test_qt_image_toqimage.py b/Tests/test_qt_image_toqimage.py index 28871d201..b9d095cd9 100644 --- a/Tests/test_qt_image_toqimage.py +++ b/Tests/test_qt_image_toqimage.py @@ -86,7 +86,7 @@ if ImageQt.qt_is_installed: pixmap1 = QtGui.QPixmap.fromImage(qimage) - hbox = QHBoxLayout(self) + QHBoxLayout(self) lbl = QLabel(self) # Segfault in the problem From d69ef6a529723649446c679ebf8cb128abb7f352 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 11:55:28 +0300 Subject: [PATCH 119/323] Remove redundant parentheses --- Tests/check_large_memory.py | 2 +- Tests/test_file_webp_lossless.py | 2 +- Tests/test_image.py | 4 ++-- Tests/test_image_getdata.py | 2 +- Tests/test_image_getextrema.py | 2 +- Tests/test_image_resample.py | 2 +- Tests/test_imagedraw.py | 4 ++-- Tests/test_imagefile.py | 2 +- Tests/test_imagetk.py | 2 +- Tests/test_lib_pack.py | 4 ++-- Tests/test_qt_image_toqimage.py | 4 ++-- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Tests/check_large_memory.py b/Tests/check_large_memory.py index ef0cd1f80..5c8dc10f7 100644 --- a/Tests/check_large_memory.py +++ b/Tests/check_large_memory.py @@ -21,7 +21,7 @@ class LargeMemoryTest(PillowTestCase): def _write_png(self, xdim, ydim): f = self.tempfile('temp.png') - im = Image.new('L', (xdim, ydim), (0)) + im = Image.new('L', (xdim, ydim), 0) im.save(f) def test_large(self): diff --git a/Tests/test_file_webp_lossless.py b/Tests/test_file_webp_lossless.py index 4c35dad73..4d9eff7f1 100644 --- a/Tests/test_file_webp_lossless.py +++ b/Tests/test_file_webp_lossless.py @@ -16,7 +16,7 @@ class TestFileWebpLossless(PillowTestCase): self.skipTest('WebP support not installed') return - if (_webp.WebPDecoderVersion() < 0x0200): + if _webp.WebPDecoderVersion() < 0x0200: self.skipTest('lossless not included') self.rgb_mode = "RGB" diff --git a/Tests/test_image.py b/Tests/test_image.py index 3d7e4dc4d..73f391734 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -286,9 +286,9 @@ class TestImage(PillowTestCase): source.alpha_composite, over, (0, 0), "invalid destination") self.assertRaises(ValueError, - source.alpha_composite, over, (0)) + source.alpha_composite, over, 0) self.assertRaises(ValueError, - source.alpha_composite, over, (0, 0), (0)) + source.alpha_composite, over, (0, 0), 0) self.assertRaises(ValueError, source.alpha_composite, over, (0, -1)) self.assertRaises(ValueError, diff --git a/Tests/test_image_getdata.py b/Tests/test_image_getdata.py index ef07844df..de502065b 100644 --- a/Tests/test_image_getdata.py +++ b/Tests/test_image_getdata.py @@ -23,7 +23,7 @@ class TestImageGetData(PillowTestCase): self.assertEqual(getdata("L"), (16, 960, 960)) self.assertEqual(getdata("I"), (16, 960, 960)) self.assertEqual(getdata("F"), (16.0, 960, 960)) - self.assertEqual(getdata("RGB"), (((11, 13, 52), 960, 960))) + self.assertEqual(getdata("RGB"), ((11, 13, 52), 960, 960)) self.assertEqual(getdata("RGBA"), ((11, 13, 52, 255), 960, 960)) self.assertEqual(getdata("CMYK"), ((244, 242, 203, 0), 960, 960)) self.assertEqual(getdata("YCbCr"), ((16, 147, 123), 960, 960)) diff --git a/Tests/test_image_getextrema.py b/Tests/test_image_getextrema.py index 9783141a3..f002419da 100644 --- a/Tests/test_image_getextrema.py +++ b/Tests/test_image_getextrema.py @@ -19,7 +19,7 @@ class TestImageGetExtrema(PillowTestCase): self.assertEqual( extrema("RGBA"), ((0, 255), (0, 255), (0, 255), (255, 255))) self.assertEqual( - extrema("CMYK"), (((0, 255), (0, 255), (0, 255), (0, 0)))) + extrema("CMYK"), ((0, 255), (0, 255), (0, 255), (0, 0))) self.assertEqual(extrema("I;16"), (0, 255)) def test_true_16(self): diff --git a/Tests/test_image_resample.py b/Tests/test_image_resample.py index 226e7873a..46a45833e 100644 --- a/Tests/test_image_resample.py +++ b/Tests/test_image_resample.py @@ -196,7 +196,7 @@ class TestImagingCoreResampleAccuracy(PillowTestCase): class CoreResampleConsistencyTest(PillowTestCase): def make_case(self, mode, fill): im = Image.new(mode, (512, 9), fill) - return (im.resize((9, 512), Image.LANCZOS), im.load()[0, 0]) + return im.resize((9, 512), Image.LANCZOS), im.load()[0, 0] def run_case(self, case): channel, color = case diff --git a/Tests/test_imagedraw.py b/Tests/test_imagedraw.py index bfc43b7b6..7f2accdcb 100644 --- a/Tests/test_imagedraw.py +++ b/Tests/test_imagedraw.py @@ -46,7 +46,7 @@ class TestImageDraw(PillowTestCase): im = Image.open("Tests/images/chi.gif") draw = ImageDraw.Draw(im) - draw.line(((0, 0)), fill=(0, 0, 0)) + draw.line((0, 0), fill=(0, 0, 0)) def test_mode_mismatch(self): im = hopper("RGB").copy() @@ -543,7 +543,7 @@ class TestImageDraw(PillowTestCase): for y in range(0, size[1]): if (x + y) % 2 == 0: img.putpixel((x, y), background2) - return (img, ImageDraw.Draw(img)) + return img, ImageDraw.Draw(img) def test_square(self): expected = Image.open(os.path.join(IMAGES_PATH, 'square.png')) diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py index 8a8cdb64b..4f81df12e 100644 --- a/Tests/test_imagefile.py +++ b/Tests/test_imagefile.py @@ -144,7 +144,7 @@ class TestImageFile(PillowTestCase): class MockPyDecoder(ImageFile.PyDecoder): def decode(self, buffer): # eof - return (-1, 0) + return -1, 0 xoff, yoff, xsize, ysize = 10, 20, 100, 100 diff --git a/Tests/test_imagetk.py b/Tests/test_imagetk.py index 72ca91ca2..667d18e8f 100644 --- a/Tests/test_imagetk.py +++ b/Tests/test_imagetk.py @@ -26,7 +26,7 @@ class TestImageTk(PillowTestCase): # setup tk tk.Frame() # root = tk.Tk() - except (tk.TclError) as v: + except tk.TclError as v: self.skipTest("TCL Error: %s" % v) def test_kw(self): diff --git a/Tests/test_lib_pack.py b/Tests/test_lib_pack.py index 6f755c239..33590eeb4 100644 --- a/Tests/test_lib_pack.py +++ b/Tests/test_lib_pack.py @@ -17,7 +17,7 @@ class TestLibPack(PillowTestCase): for x, pixel in enumerate(pixels): im.putpixel((x, 0), pixel) - if isinstance(data, (int)): + if isinstance(data, int): data_len = data * len(pixels) data = bytes(bytearray(range(1, data_len + 1))) @@ -217,7 +217,7 @@ class TestLibUnpack(PillowTestCase): """ data - either raw bytes with data or just number of bytes in rawmode. """ - if isinstance(data, (int)): + if isinstance(data, int): data_len = data * len(pixels) data = bytes(bytearray(range(1, data_len + 1))) diff --git a/Tests/test_qt_image_toqimage.py b/Tests/test_qt_image_toqimage.py index b9d095cd9..6f4a044e2 100644 --- a/Tests/test_qt_image_toqimage.py +++ b/Tests/test_qt_image_toqimage.py @@ -70,8 +70,8 @@ class TestToQImage(PillowQtTestCase, PillowTestCase): def test_segfault(self): app = QApplication([]) ex = Example() - assert(app) # Silence warning - assert(ex) # Silence warning + assert app # Silence warning + assert ex # Silence warning if ImageQt.qt_is_installed: From 088d04470ef1c03954cf0dc0bdd85528dc22db17 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 13:43:48 +0300 Subject: [PATCH 120/323] Unnecessary list comprehension - 'tuple' can take a generator --- Tests/test_file_tiff_metadata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_tiff_metadata.py b/Tests/test_file_tiff_metadata.py index d1e2b577e..9c615354c 100644 --- a/Tests/test_file_tiff_metadata.py +++ b/Tests/test_file_tiff_metadata.py @@ -136,8 +136,8 @@ class TestFileTiffMetadata(PillowTestCase): if isinstance(v, IFDRational): original[k] = IFDRational(*_limit_rational(v, 2**31)) if isinstance(v, tuple) and isinstance(v[0], IFDRational): - original[k] = tuple([IFDRational(*_limit_rational(elt, 2**31)) - for elt in v]) + original[k] = tuple(IFDRational(*_limit_rational(elt, 2**31)) + for elt in v) ignored = ['StripByteCounts', 'RowsPerStrip', 'PageNumber', 'StripOffsets'] From 5df41b43993dd807e3321fffbf5244c7d545fdc9 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 2 Oct 2018 13:45:48 +0300 Subject: [PATCH 121/323] Unnecessary generator - rewrite as a list comprehension --- Tests/helper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/helper.py b/Tests/helper.py index 8905e4009..f6995e4b5 100644 --- a/Tests/helper.py +++ b/Tests/helper.py @@ -174,7 +174,7 @@ class PillowTestCase(unittest.TestCase): if warn_class is None: self.assertEqual(len(w), 0, "Expected no warnings, got %s" % - list(v.category for v in w)) + [v.category for v in w]) else: self.assertGreaterEqual(len(w), 1) found = False From 1893ac2492f85215bd44e27306c1ef49b24e794d Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 24 Oct 2018 22:35:15 +0300 Subject: [PATCH 122/323] Update CHANGES.rst --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index a7e2dc799..0e3d5d357 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Change tuple background to global color table index when saving as GIF #3385 + [radarhere] + - Flake8 fixes #3422 [radarhere] From 487248d1c7b175d6b6ed468d6fe12b59112c4b66 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 28 Oct 2018 12:27:14 +1100 Subject: [PATCH 123/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 0e3d5d357..07fe8ff6e 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Added negative index to PixelAccess #3406 + [Nazime] + - Change tuple background to global color table index when saving as GIF #3385 [radarhere] From 97eb784645fa434e4dc51ed515ad09668b32ba29 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 29 Oct 2018 20:40:43 +1100 Subject: [PATCH 124/323] Updated libimagequant to 2.12.2 --- depends/install_imagequant.sh | 2 +- docs/installation.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/install_imagequant.sh b/depends/install_imagequant.sh index 56dfabf8f..e284bb0e4 100755 --- a/depends/install_imagequant.sh +++ b/depends/install_imagequant.sh @@ -1,7 +1,7 @@ #!/bin/bash # install libimagequant -archive=libimagequant-2.12.1 +archive=libimagequant-2.12.2 ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/master/$archive.tar.gz diff --git a/docs/installation.rst b/docs/installation.rst index 8d80e5144..28a0cd884 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -165,7 +165,7 @@ Many of Pillow's features require external libraries: * **libimagequant** provides improved color quantization - * Pillow has been tested with libimagequant **2.6-2.12.1** + * Pillow has been tested with libimagequant **2.6-2.12.2** * Libimagequant is licensed GPLv3, which is more restrictive than the Pillow license, therefore we will not be distributing binaries with libimagequant support enabled. From 317fc665088785d376d8b6b93db7fce3e5de6e19 Mon Sep 17 00:00:00 2001 From: Hugo Date: Mon, 29 Oct 2018 16:11:42 +0200 Subject: [PATCH 125/323] Revert "Remove broken downloads badge" This reverts commit 45cbd2566470890bd5bc2fe20c4257f5e1a0d981. --- docs/index.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index 9106efe8d..112798c94 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -26,6 +26,10 @@ Pillow is the friendly PIL fork by `Alex Clark and Contributors Date: Mon, 29 Oct 2018 16:15:21 +0200 Subject: [PATCH 126/323] Revert "Comment out broken PyPI downloads badge" This reverts commit 5364abbae3c693bbb16d3844ac9b05be3e6c7bba. --- README.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index b88a103b0..e18639e57 100644 --- a/README.rst +++ b/README.rst @@ -16,7 +16,7 @@ Pillow is the friendly PIL fork by `Alex Clark and Contributors Date: Tue, 30 Oct 2018 19:18:53 +1100 Subject: [PATCH 127/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 07fe8ff6e..3e4c72ab8 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Docs: Re-add the downloads badge #3443 + [hugovk] + - Added negative index to PixelAccess #3406 [Nazime] From 2e8238fe34e6bf451ba9e19d8cd0c3917539d190 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Wed, 31 Oct 2018 06:16:33 +1100 Subject: [PATCH 128/323] Updated El Capitan tested Pillow version [ci skip] --- docs/installation.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/installation.rst b/docs/installation.rst index 8d80e5144..9685e9f86 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -429,7 +429,9 @@ These platforms have been reported to work at the versions mentioned. +----------------------------------+------------------------------+--------------------------------+-----------------------+ | macOS 10.12 Sierra | 2.7, 3.4, 3.5, 3.6 | 4.1.1 |x86-64 | +----------------------------------+------------------------------+--------------------------------+-----------------------+ -| Mac OS X 10.11 El Capitan | 2.7, 3.3, 3.4, 3.5 | 4.1.0 |x86-64 | +| Mac OS X 10.11 El Capitan | 2.7, 3.4, 3.5, 3.6, 3.7 | 5.3.0 |x86-64 | +| +------------------------------+--------------------------------+ + +| | 3.3 | 4.1.0 | | +----------------------------------+------------------------------+--------------------------------+-----------------------+ | Mac OS X 10.9 Mavericks | 2.7, 3.2, 3.3, 3.4 | 3.0.0 |x86-64 | +----------------------------------+------------------------------+--------------------------------+-----------------------+ From 7dd480f253a84127c92ea2d87e247537e2e5c02c Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 31 Oct 2018 09:24:02 +0200 Subject: [PATCH 129/323] Update CHANGES.rst --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 3e4c72ab8..09546bab6 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Only close existing fp in WebP if fp is exclusive #3418 + [radarhere] + - Docs: Re-add the downloads badge #3443 [hugovk] From 012d788c3a5d353bf60fab1a3db5e73e2cb84746 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 2 Nov 2018 20:16:03 +1100 Subject: [PATCH 130/323] Changed URL [ci skip] --- CHANGES.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 09546bab6..2481af8c4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -3898,7 +3898,7 @@ Pre-fork (1.1.3 final released) + Made setup.py look for old versions of zlib. For some back- - ground, see: http://www.gzip.org/zlib/advisory-2002-03-11.txt + ground, see: https://zlib.net/advisory-2002-03-11.txt (1.1.3c2 released) From 1ace2f47ff38b53a2921840fbda086c8b7ff6b71 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 5 Nov 2018 21:11:25 +1100 Subject: [PATCH 131/323] Added release notes for #3406 [ci skip] --- docs/releasenotes/5.4.0.rst | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/releasenotes/5.4.0.rst b/docs/releasenotes/5.4.0.rst index df0622cdc..421ebbbf2 100644 --- a/docs/releasenotes/5.4.0.rst +++ b/docs/releasenotes/5.4.0.rst @@ -1,6 +1,19 @@ 5.4.0 (unreleased) ----- +API Changes +=========== + +Negative indexes in pixel access +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When accessing individual image pixels, negative indexes are now also accepted. +For example, to get or set the farthest pixel in the lower right of an image:: + + px = im.load() + print(px[-1, -1]) + px[-1, -1] = (0, 0, 0) + Other Changes ============= From e805401403282c7cb23ff0b758fef62b2c8ece8e Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 5 Nov 2018 21:30:04 +1100 Subject: [PATCH 132/323] Added documentation for negative index pixel access [ci skip] --- docs/reference/PixelAccess.rst | 7 +++++++ docs/reference/PyAccess.rst | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/docs/reference/PixelAccess.rst b/docs/reference/PixelAccess.rst index 5389dab33..522e70937 100644 --- a/docs/reference/PixelAccess.rst +++ b/docs/reference/PixelAccess.rst @@ -28,6 +28,13 @@ Results in the following:: (23, 24, 68) (0, 0, 0) +Access using negative indexes is also possible. + +.. code-block:: python + + px[-1,-1] = (0,0,0) + print (px[-1,-1]) + :py:class:`PixelAccess` Class diff --git a/docs/reference/PyAccess.rst b/docs/reference/PyAccess.rst index 8bd8af9ff..6a492cd86 100644 --- a/docs/reference/PyAccess.rst +++ b/docs/reference/PyAccess.rst @@ -29,6 +29,13 @@ Results in the following:: (23, 24, 68) (0, 0, 0) +Access using negative indexes is also possible. + +.. code-block:: python + + px[-1,-1] = (0,0,0) + print (px[-1,-1]) + :py:class:`PyAccess` Class From 40c6e4f13624955ce7ca4fdbc146c2ad76adb53d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 8 Nov 2018 06:05:45 +1100 Subject: [PATCH 133/323] Do not play sound when running screencapture command --- Tests/test_imagegrab.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_imagegrab.py b/Tests/test_imagegrab.py index 250a7aefe..10e150fc4 100644 --- a/Tests/test_imagegrab.py +++ b/Tests/test_imagegrab.py @@ -14,7 +14,7 @@ try: def test_grabclipboard(self): if sys.platform == "darwin": - subprocess.call(['screencapture', '-c']) + subprocess.call(['screencapture', '-cx']) else: p = subprocess.Popen(['powershell', '-command', '-'], stdin=subprocess.PIPE) From 747eccbfc2e86aa4cfb87453220959b8006cd912 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 9 Nov 2018 11:35:08 +1100 Subject: [PATCH 134/323] Close exclusive fp on open exception --- Tests/test_bmp_reference.py | 14 +++++++++----- src/PIL/Image.py | 4 ++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Tests/test_bmp_reference.py b/Tests/test_bmp_reference.py index af25f7162..b3121e305 100644 --- a/Tests/test_bmp_reference.py +++ b/Tests/test_bmp_reference.py @@ -17,11 +17,15 @@ class TestBmpReference(PillowTestCase): """ These shouldn't crash/dos, but they shouldn't return anything either """ for f in self.get_files('b'): - try: - im = Image.open(f) - im.load() - except Exception: # as msg: - pass + def open(f): + try: + im = Image.open(f) + im.load() + except Exception: # as msg: + pass + + # Assert that there is no unclosed file warning + self.assert_warning(None, open, f) def test_questionable(self): """ These shouldn't crash/dos, but it's not well defined that these diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 0ce3f7f49..be94f0787 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -2641,6 +2641,10 @@ def open(fp, mode="r"): # opening failures that are entirely expected. # logger.debug("", exc_info=True) continue + except Exception: + if exclusive_fp: + fp.close() + raise return None im = _open_core(fp, filename, prefix) From c501eedcb51f77dd35bb66abd4689ec5c35866e6 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sat, 10 Nov 2018 15:07:24 +0200 Subject: [PATCH 135/323] Update CHANGES.rst --- CHANGES.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index 2481af8c4..f8fe9ba12 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,12 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Test: Do not play sound when running screencapture command #3454 + [radarhere] + +- Close exclusive fp on open exception #3456 + [radarhere] + - Only close existing fp in WebP if fp is exclusive #3418 [radarhere] From 52c175d1bc31bfcfdd65b2794d7eed128ff0cff5 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 11 Nov 2018 16:00:17 +1100 Subject: [PATCH 136/323] Added context manager, __del__ and close methods --- Tests/test_file_tar.py | 32 ++++++++++++++++++-------------- src/PIL/TarIO.py | 23 +++++++++++++++++++---- 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/Tests/test_file_tar.py b/Tests/test_file_tar.py index 9e02ab1a5..bbf2a803b 100644 --- a/Tests/test_file_tar.py +++ b/Tests/test_file_tar.py @@ -15,21 +15,25 @@ class TestFileTar(PillowTestCase): self.skipTest("neither jpeg nor zip support available") def test_sanity(self): - if "zip_decoder" in codecs: - tar = TarIO.TarIO(TEST_TAR_FILE, 'hopper.png') - im = Image.open(tar) - im.load() - self.assertEqual(im.mode, "RGB") - self.assertEqual(im.size, (128, 128)) - self.assertEqual(im.format, "PNG") + for codec, test_path, format in [ + ['zip_decoder', 'hopper.png', 'PNG'], + ['jpeg_decoder', 'hopper.jpg', 'JPEG'] + ]: + if codec in codecs: + tar = TarIO.TarIO(TEST_TAR_FILE, test_path) + im = Image.open(tar) + im.load() + self.assertEqual(im.mode, "RGB") + self.assertEqual(im.size, (128, 128)) + self.assertEqual(im.format, format) - if "jpeg_decoder" in codecs: - tar = TarIO.TarIO(TEST_TAR_FILE, 'hopper.jpg') - im = Image.open(tar) - im.load() - self.assertEqual(im.mode, "RGB") - self.assertEqual(im.size, (128, 128)) - self.assertEqual(im.format, "JPEG") + def test_close(self): + tar = TarIO.TarIO(TEST_TAR_FILE, 'hopper.jpg') + tar.close() + + def test_contextmanager(self): + with TarIO.TarIO(TEST_TAR_FILE, 'hopper.jpg') as tar: + pass if __name__ == '__main__': diff --git a/src/PIL/TarIO.py b/src/PIL/TarIO.py index 0e949ff88..7c09685f7 100644 --- a/src/PIL/TarIO.py +++ b/src/PIL/TarIO.py @@ -14,6 +14,7 @@ # See the README file for information on usage and redistribution. # +import sys from . import ContainerIO @@ -30,11 +31,11 @@ class TarIO(ContainerIO.ContainerIO): :param tarfile: Name of TAR file. :param file: Name of member file. """ - fh = open(tarfile, "rb") + self.fh = open(tarfile, "rb") while True: - s = fh.read(512) + s = self.fh.read(512) if len(s) != 512: raise IOError("unexpected end of tar file") @@ -50,7 +51,21 @@ class TarIO(ContainerIO.ContainerIO): if file == name: break - fh.seek((size + 511) & (~511), 1) + self.fh.seek((size + 511) & (~511), 1) # Open region - ContainerIO.ContainerIO.__init__(self, fh, fh.tell(), size) + ContainerIO.ContainerIO.__init__(self, self.fh, self.fh.tell(), size) + + # Context Manager Support + def __enter__(self): + return self + + def __exit__(self, *args): + self.close() + + if sys.version_info.major >= 3: + def __del__(self): + self.close() + + def close(self): + self.fh.close() From 5288cf63c955267af34aa8021d707a69f5065443 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 11 Nov 2018 15:48:32 +1100 Subject: [PATCH 137/323] Changed capitalisation Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com> --- src/PIL/TarIO.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/TarIO.py b/src/PIL/TarIO.py index 7c09685f7..89957fba4 100644 --- a/src/PIL/TarIO.py +++ b/src/PIL/TarIO.py @@ -56,7 +56,7 @@ class TarIO(ContainerIO.ContainerIO): # Open region ContainerIO.ContainerIO.__init__(self, self.fh, self.fh.tell(), size) - # Context Manager Support + # Context manager support def __enter__(self): return self From e3220c0f4df0b97c56f245f76a2dccd88091de53 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 11 Nov 2018 15:50:34 +1100 Subject: [PATCH 138/323] Changed capitalisation --- src/PIL/Image.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index be94f0787..4a8e37026 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -564,7 +564,7 @@ class Image(object): new.info = self.info.copy() return new - # Context Manager Support + # Context manager support def __enter__(self): return self From f542697a7a5dbca958c446e214e9fe4a12d97688 Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 11 Nov 2018 13:05:36 +0200 Subject: [PATCH 139/323] Update CHANGES.rst --- CHANGES.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index f8fe9ba12..53cda0df4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Add context manager, __del__ and close methods to TarIO #3455 + [radarhere] + - Test: Do not play sound when running screencapture command #3454 [radarhere] From eb9aee70481359cde0bf094c847f6d0e2a633979 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 18 Oct 2018 21:49:14 +0300 Subject: [PATCH 140/323] flake8: F841 local variable is assigned to but never used --- Tests/test_file_tar.py | 2 +- Tests/test_image_transform.py | 2 +- Tests/test_imagecms.py | 2 +- Tests/test_qt_image_toqimage.py | 2 +- docs/example/DdsImagePlugin.py | 4 +--- src/PIL/DdsImagePlugin.py | 2 +- src/PIL/FtexImagePlugin.py | 4 ++-- src/PIL/ImImagePlugin.py | 2 +- src/PIL/PcfFontFile.py | 2 +- src/PIL/PsdImagePlugin.py | 8 ++------ src/PIL/WebPImagePlugin.py | 2 +- 11 files changed, 13 insertions(+), 19 deletions(-) diff --git a/Tests/test_file_tar.py b/Tests/test_file_tar.py index bbf2a803b..7f29c5fc5 100644 --- a/Tests/test_file_tar.py +++ b/Tests/test_file_tar.py @@ -32,7 +32,7 @@ class TestFileTar(PillowTestCase): tar.close() def test_contextmanager(self): - with TarIO.TarIO(TEST_TAR_FILE, 'hopper.jpg') as tar: + with TarIO.TarIO(TEST_TAR_FILE, 'hopper.jpg'): pass diff --git a/Tests/test_image_transform.py b/Tests/test_image_transform.py index add8cc5e7..313e7ad09 100644 --- a/Tests/test_image_transform.py +++ b/Tests/test_image_transform.py @@ -152,7 +152,7 @@ class TestImageTransform(PillowTestCase): ] # Yeah. Watch some JIT optimize this out. - pattern = None + pattern = None # noqa: F841 self.test_mesh() diff --git a/Tests/test_imagecms.py b/Tests/test_imagecms.py index dc6c85f05..df523db4d 100644 --- a/Tests/test_imagecms.py +++ b/Tests/test_imagecms.py @@ -10,7 +10,7 @@ try: from PIL import ImageCms from PIL.ImageCms import ImageCmsProfile ImageCms.core.profile_open -except ImportError as v: +except ImportError: # Skipped via setUp() pass diff --git a/Tests/test_qt_image_toqimage.py b/Tests/test_qt_image_toqimage.py index 6f4a044e2..25391e09a 100644 --- a/Tests/test_qt_image_toqimage.py +++ b/Tests/test_qt_image_toqimage.py @@ -86,7 +86,7 @@ if ImageQt.qt_is_installed: pixmap1 = QtGui.QPixmap.fromImage(qimage) - QHBoxLayout(self) + QHBoxLayout(self) # hbox lbl = QLabel(self) # Segfault in the problem diff --git a/docs/example/DdsImagePlugin.py b/docs/example/DdsImagePlugin.py index 2877697aa..631dc2d61 100644 --- a/docs/example/DdsImagePlugin.py +++ b/docs/example/DdsImagePlugin.py @@ -225,7 +225,7 @@ class DdsImageFile(ImageFile.ImageFile): self.mode = "RGBA" pitch, depth, mipmaps = struct.unpack("<3I", header.read(12)) - reserved = struct.unpack("<11I", header.read(44)) + struct.unpack("<11I", header.read(44)) # reserved # pixel format pfsize, pfflags = struct.unpack("<2I", header.read(8)) @@ -235,10 +235,8 @@ class DdsImageFile(ImageFile.ImageFile): if fourcc == b"DXT1": self.decoder = "DXT1" - codec = _dxt1 elif fourcc == b"DXT5": self.decoder = "DXT5" - codec = _dxt5 else: raise NotImplementedError("Unimplemented pixel format %r" % fourcc) diff --git a/src/PIL/DdsImagePlugin.py b/src/PIL/DdsImagePlugin.py index 7660827c5..edc1b7aa3 100644 --- a/src/PIL/DdsImagePlugin.py +++ b/src/PIL/DdsImagePlugin.py @@ -118,7 +118,7 @@ class DdsImageFile(ImageFile.ImageFile): self.mode = "RGBA" pitch, depth, mipmaps = struct.unpack("<3I", header.read(12)) - reserved = struct.unpack("<11I", header.read(44)) + struct.unpack("<11I", header.read(44)) # reserved # pixel format pfsize, pfflags = struct.unpack("<2I", header.read(8)) diff --git a/src/PIL/FtexImagePlugin.py b/src/PIL/FtexImagePlugin.py index b2161595c..f1b9acdc1 100644 --- a/src/PIL/FtexImagePlugin.py +++ b/src/PIL/FtexImagePlugin.py @@ -66,8 +66,8 @@ class FtexImageFile(ImageFile.ImageFile): format_description = "Texture File Format (IW2:EOC)" def _open(self): - magic = struct.unpack(" Date: Thu, 18 Oct 2018 19:46:20 +0300 Subject: [PATCH 141/323] flake8: F401 imported but unused --- selftest.py | 3 ++- src/PIL/Image.py | 14 +++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/selftest.py b/selftest.py index ed2ba815f..f4383b120 100755 --- a/selftest.py +++ b/selftest.py @@ -5,7 +5,7 @@ from __future__ import print_function import sys import os -from PIL import Image, ImageDraw, ImageFilter, ImageMath +from PIL import Image from PIL import features try: @@ -26,6 +26,7 @@ def testimage(): """ PIL lets you create in-memory images with various pixel types: + >>> from PIL import Image, ImageDraw, ImageFilter, ImageMath >>> im = Image.new("1", (128, 128)) # monochrome >>> _info(im) (None, '1', (128, 128)) diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 4a8e37026..c824bf365 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -28,12 +28,15 @@ # PILLOW_VERSION is deprecated and will be removed after that. # Use __version__ instead. from . import VERSION, PILLOW_VERSION, __version__, _plugins +assert VERSION +assert PILLOW_VERSION from ._util import py3 import logging import warnings import math + logger = logging.getLogger(__name__) @@ -134,9 +137,8 @@ except ImportError: USE_CFFI_ACCESS = hasattr(sys, 'pypy_version_info') try: import cffi - HAS_CFFI = True except ImportError: - HAS_CFFI = False + cffi = None try: from pathlib import Path @@ -376,26 +378,32 @@ def preinit(): try: from . import BmpImagePlugin + assert BmpImagePlugin except ImportError: pass try: from . import GifImagePlugin + assert GifImagePlugin except ImportError: pass try: from . import JpegImagePlugin + assert JpegImagePlugin except ImportError: pass try: from . import PpmImagePlugin + assert PpmImagePlugin except ImportError: pass try: from . import PngImagePlugin + assert PngImagePlugin except ImportError: pass # try: # import TiffImagePlugin +# assert TiffImagePlugin # except ImportError: # pass @@ -833,7 +841,7 @@ class Image(object): self.palette.mode = "RGBA" if self.im: - if HAS_CFFI and USE_CFFI_ACCESS: + if cffi and USE_CFFI_ACCESS: if self.pyaccess: return self.pyaccess from . import PyAccess From 8a6f2b9de828df1ec18291f93d2ba6a297e1aea0 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 18 Oct 2018 18:18:44 +0300 Subject: [PATCH 142/323] flake8: E711 comparison to None should be 'if cond is None:' --- Tests/test_image.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Tests/test_image.py b/Tests/test_image.py index 73f391734..9618e1427 100644 --- a/Tests/test_image.py +++ b/Tests/test_image.py @@ -139,7 +139,6 @@ class TestImage(PillowTestCase): # Act/Assert # Shouldn't cause AttributeError (#774) self.assertFalse(item is None) - self.assertFalse(item == None) self.assertFalse(item == num) def test_expand_x(self): From 0b7910c7cd3d9a9f327bbdba573db86643c27c39 Mon Sep 17 00:00:00 2001 From: Hugo Date: Fri, 19 Oct 2018 11:39:08 +0300 Subject: [PATCH 143/323] flake8: E402 module level import not at top of file --- docs/conf.py | 6 +++-- src/PIL/Image.py | 56 ++++++++++++++++++++++++---------------------- src/PIL/ImageTk.py | 6 ++--- 3 files changed, 36 insertions(+), 32 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index ba0a552b3..d61b394cf 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,6 +17,10 @@ # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) +import sphinx_rtd_theme + +import PIL + # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. @@ -52,7 +56,6 @@ author = u'Fredrik Lundh, Alex Clark and Contributors' # built documents. # # The short X.Y version. -import PIL version = PIL.__version__ # The full version, including alpha/beta/rc tags. release = PIL.__version__ @@ -107,7 +110,6 @@ todo_include_todos = False # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -import sphinx_rtd_theme html_theme = "sphinx_rtd_theme" html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] diff --git a/src/PIL/Image.py b/src/PIL/Image.py index c824bf365..541c62c49 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -28,14 +28,41 @@ # PILLOW_VERSION is deprecated and will be removed after that. # Use __version__ instead. from . import VERSION, PILLOW_VERSION, __version__, _plugins -assert VERSION -assert PILLOW_VERSION from ._util import py3 import logging import warnings import math +try: + import builtins +except ImportError: + import __builtin__ + builtins = __builtin__ + +from . import ImageMode +from ._binary import i8 +from ._util import isPath, isStringType, deferred_error + +import os +import sys +import io +import struct +import atexit + +# type stuff +import numbers +try: + # Python 3 + from collections.abc import Callable +except ImportError: + # Python 2.7 + from collections import Callable + + +# Silence warnings +assert VERSION +assert PILLOW_VERSION logger = logging.getLogger(__name__) @@ -107,31 +134,6 @@ except ImportError as v: # see docs/porting.rst raise -try: - import builtins -except ImportError: - import __builtin__ - builtins = __builtin__ - -from . import ImageMode -from ._binary import i8 -from ._util import isPath, isStringType, deferred_error - -import os -import sys -import io -import struct -import atexit - -# type stuff -import numbers -try: - # Python 3 - from collections.abc import Callable -except ImportError: - # Python 2.7 - from collections import Callable - # works everywhere, win for pypy, not cpython USE_CFFI_ACCESS = hasattr(sys, 'pypy_version_info') diff --git a/src/PIL/ImageTk.py b/src/PIL/ImageTk.py index c56f5560a..935f9f778 100644 --- a/src/PIL/ImageTk.py +++ b/src/PIL/ImageTk.py @@ -26,15 +26,15 @@ # import sys +from io import BytesIO + +from . import Image if sys.version_info.major > 2: import tkinter else: import Tkinter as tkinter -from . import Image -from io import BytesIO - # -------------------------------------------------------------------- # Check for Tkinter interface hooks From afefc99096460bc4bd32e663ecad901870135656 Mon Sep 17 00:00:00 2001 From: Hugo Date: Fri, 19 Oct 2018 11:42:24 +0300 Subject: [PATCH 144/323] flake8: E122 continuation line missing indentation or outdented --- docs/conf.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index d61b394cf..cb23203f1 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -208,17 +208,17 @@ htmlhelp_basename = 'PillowPILForkdoc' # -- Options for LaTeX output --------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', -# Additional stuff for the LaTeX preamble. -#'preamble': '', + # Additional stuff for the LaTeX preamble. + #'preamble': '', -# Latex figure (float) alignment -#'figure_align': 'htbp', + # Latex figure (float) alignment + #'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples From a3079eab9ec6af20e7d992ea10b0392cdf67f090 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 24 Oct 2018 18:54:16 +0300 Subject: [PATCH 145/323] flake8: E127 continuation line over-indented for visual indent --- src/PIL/EpsImagePlugin.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/PIL/EpsImagePlugin.py b/src/PIL/EpsImagePlugin.py index b2dec7809..cc2c1b1f8 100644 --- a/src/PIL/EpsImagePlugin.py +++ b/src/PIL/EpsImagePlugin.py @@ -125,10 +125,11 @@ def Ghostscript(tile, size, fp, scale=1): "-dSAFER", # safe mode "-sDEVICE=ppmraw", # ppm driver "-sOutputFile=%s" % outfile, # output file + # adjust for image origin "-c", "%d %d translate" % (-bbox[0], -bbox[1]), - # adjust for image origin "-f", infile, # input file - "-c", "showpage", # showpage (see: https://bugs.ghostscript.com/show_bug.cgi?id=698272) + # showpage (see https://bugs.ghostscript.com/show_bug.cgi?id=698272) + "-c", "showpage", ] if gs_windows_binary is not None: From 6fbebdeeb3bb47fa94b2d8ed1af73a1693c6db38 Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 18 Oct 2018 23:14:54 +0300 Subject: [PATCH 146/323] flake8: E265 block comment should start with '# ' --- docs/conf.py | 96 ++++++++++++++++++++++++++-------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index cb23203f1..b65dcec72 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -15,7 +15,7 @@ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) +# sys.path.insert(0, os.path.abspath('.')) import sphinx_rtd_theme @@ -24,7 +24,7 @@ import PIL # -- General configuration ------------------------------------------------ # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom @@ -41,7 +41,7 @@ templates_path = ['_templates'] source_suffix = '.rst' # The encoding of source files. -#source_encoding = 'utf-8-sig' +# source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' @@ -69,9 +69,9 @@ language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -79,27 +79,27 @@ exclude_patterns = ['_build'] # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' # A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] +# modindex_common_prefix = [] # If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False +# keep_warnings = False # If true, `todo` and `todoList` produce output, else they produce nothing. todo_include_todos = False @@ -116,26 +116,26 @@ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +# html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +# html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, @@ -145,62 +145,62 @@ html_static_path = ['_static'] # Add any extra paths that contain custom files (such as robots.txt or # .htaccess) here, relative to this directory. These files are copied # directly to the root of the documentation. -#html_extra_path = [] +# html_extra_path = [] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' +# html_last_updated_fmt = '%b %d, %Y' # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +# html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Language to be used for generating the HTML full-text search index. # Sphinx supports the following languages: # 'da', 'de', 'en', 'es', 'fi', 'fr', 'hu', 'it', 'ja' # 'nl', 'no', 'pt', 'ro', 'ru', 'sv', 'tr' -#html_search_language = 'en' +# html_search_language = 'en' # A dictionary with options for the search language support, empty by default. # Now only 'ja' uses this config value -#html_search_options = {'type': 'default'} +# html_search_options = {'type': 'default'} # The name of a javascript file (relative to the configuration directory) that # implements a search results scorer. If empty, the default will be used. -#html_search_scorer = 'scorer.js' +# html_search_scorer = 'scorer.js' # Output file base name for HTML help builder. htmlhelp_basename = 'PillowPILForkdoc' @@ -209,16 +209,16 @@ htmlhelp_basename = 'PillowPILForkdoc' latex_elements = { # The paper size ('letterpaper' or 'a4paper'). - #'papersize': 'letterpaper', + # 'papersize': 'letterpaper', # The font size ('10pt', '11pt' or '12pt'). - #'pointsize': '10pt', + # 'pointsize': '10pt', # Additional stuff for the LaTeX preamble. - #'preamble': '', + # 'preamble': '', # Latex figure (float) alignment - #'figure_align': 'htbp', + # 'figure_align': 'htbp', } # Grouping the document tree into LaTeX files. List of tuples @@ -231,23 +231,23 @@ latex_documents = [ # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# latex_show_urls = False # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_domain_indices = True +# latex_domain_indices = True # -- Options for manual page output --------------------------------------- @@ -260,7 +260,7 @@ man_pages = [ ] # If true, show URL addresses after external links. -#man_show_urls = False +# man_show_urls = False # -- Options for Texinfo output ------------------------------------------- @@ -275,13 +275,13 @@ texinfo_documents = [ ] # Documents to append as an appendix to all manuals. -#texinfo_appendices = [] +# texinfo_appendices = [] # If false, no module index is generated. -#texinfo_domain_indices = True +# texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +# texinfo_show_urls = 'footnote' # If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False +# texinfo_no_detailmenu = False From 717add44b0732b87725234cbff057ed2ec3398d4 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 24 Oct 2018 19:00:19 +0300 Subject: [PATCH 147/323] flake8: E201 whitespace after '(' --- Tests/test_imagecms.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_imagecms.py b/Tests/test_imagecms.py index df523db4d..5f7e78167 100644 --- a/Tests/test_imagecms.py +++ b/Tests/test_imagecms.py @@ -404,8 +404,8 @@ class TestImageCms(PillowTestCase): # channel. nine_grid_deltas = [ (-1, -1), (-1, 0), (-1, 1), - ( 0, -1), ( 0, 0), ( 0, 1), - ( 1, -1), ( 1, 0), ( 1, 1), + (0, -1), (0, 0), (0, 1), + (1, -1), (1, 0), (1, 1), ] chans = [] bands = ImageMode.getmode(mode).bands From 94c94eb1f75de522543851901a5e8f6c3025f539 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 24 Oct 2018 19:05:54 +0300 Subject: [PATCH 148/323] flake8: E128 continuation line under-indented for visual indent --- Tests/test_file_webp.py | 6 ++++-- Tests/test_imagecms.py | 2 +- src/PIL/JpegImagePlugin.py | 2 +- src/PIL/JpegPresets.py | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index ab244f898..bdec8273d 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -15,8 +15,10 @@ class TestUnsupportedWebp(PillowTestCase): WebPImagePlugin.SUPPORTED = False file_path = "Tests/images/hopper.webp" - self.assert_warning(UserWarning, - lambda: self.assertRaises(IOError, Image.open, file_path)) + self.assert_warning( + UserWarning, + lambda: self.assertRaises(IOError, Image.open, file_path) + ) if HAVE_WEBP: WebPImagePlugin.SUPPORTED = True diff --git a/Tests/test_imagecms.py b/Tests/test_imagecms.py index 5f7e78167..b68692990 100644 --- a/Tests/test_imagecms.py +++ b/Tests/test_imagecms.py @@ -402,7 +402,7 @@ class TestImageCms(PillowTestCase): def create_test_image(): # set up test image with something interesting in the tested aux # channel. - nine_grid_deltas = [ + nine_grid_deltas = [ # noqa: E128 (-1, -1), (-1, 0), (-1, 1), (0, -1), (0, 0), (0, 1), (1, -1), (1, 0), (1, 1), diff --git a/src/PIL/JpegImagePlugin.py b/src/PIL/JpegImagePlugin.py index f2068189f..6090d252f 100644 --- a/src/PIL/JpegImagePlugin.py +++ b/src/PIL/JpegImagePlugin.py @@ -578,7 +578,7 @@ RAWMODE = { "YCbCr": "YCbCr", } -zigzag_index = (0, 1, 5, 6, 14, 15, 27, 28, +zigzag_index = (0, 1, 5, 6, 14, 15, 27, 28, # noqa: E128 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, diff --git a/src/PIL/JpegPresets.py b/src/PIL/JpegPresets.py index 5f01f0d2d..75d61223e 100644 --- a/src/PIL/JpegPresets.py +++ b/src/PIL/JpegPresets.py @@ -66,7 +66,7 @@ Libjpeg ref.: https://web.archive.org/web/20120328125543/http://www.jpegcameras. """ -presets = { +presets = { # noqa: E128 'web_low': {'subsampling': 2, # "4:2:0" 'quantization': [ [20, 16, 25, 39, 50, 46, 62, 68, From 254f959c3a29f0b66be08e7fa74f97f00e276e8b Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 24 Oct 2018 19:09:35 +0300 Subject: [PATCH 149/323] flake8: E127 continuation line over-indented for visual indent --- Tests/test_image_filter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/test_image_filter.py b/Tests/test_image_filter.py index 6936a84f0..5e732b345 100644 --- a/Tests/test_image_filter.py +++ b/Tests/test_image_filter.py @@ -106,7 +106,7 @@ class TestImageFilter(PillowTestCase): def test_consistency_3x3(self): source = Image.open("Tests/images/hopper.bmp") reference = Image.open("Tests/images/hopper_emboss.bmp") - kernel = ImageFilter.Kernel((3, 3), + kernel = ImageFilter.Kernel((3, 3), # noqa: E127 (-1, -1, 0, -1, 0, 1, 0, 1, 1), .3) @@ -122,7 +122,7 @@ class TestImageFilter(PillowTestCase): def test_consistency_5x5(self): source = Image.open("Tests/images/hopper.bmp") reference = Image.open("Tests/images/hopper_emboss_more.bmp") - kernel = ImageFilter.Kernel((5, 5), + kernel = ImageFilter.Kernel((5, 5), # noqa: E127 (-1, -1, -1, -1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, From 7d625940ae87b2ef79344a32bd3dbc3e2d620c09 Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 24 Oct 2018 19:12:17 +0300 Subject: [PATCH 150/323] flake8: E131 continuation line unaligned for hanging indent --- src/PIL/PalmImagePlugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PIL/PalmImagePlugin.py b/src/PIL/PalmImagePlugin.py index 7d7b16579..e4865b0de 100644 --- a/src/PIL/PalmImagePlugin.py +++ b/src/PIL/PalmImagePlugin.py @@ -12,7 +12,7 @@ from ._binary import o8, o16be as o16b __version__ = "1.0" -_Palm8BitColormapValues = ( +_Palm8BitColormapValues = ( # noqa: E131 (255, 255, 255), (255, 204, 255), (255, 153, 255), (255, 102, 255), (255, 51, 255), (255, 0, 255), (255, 255, 204), (255, 204, 204), (255, 153, 204), (255, 102, 204), (255, 51, 204), (255, 0, 204), From ceebfc6fe82ea06aa2f166b00ee03c803accebae Mon Sep 17 00:00:00 2001 From: Hugo Date: Wed, 24 Oct 2018 22:24:03 +0300 Subject: [PATCH 151/323] flake8: E501 line too long --- Tests/test_file_tiff.py | 6 ++-- Tests/test_imagecms.py | 15 ++++++-- docs/conf.py | 3 +- src/PIL/BmpImagePlugin.py | 73 +++++++++++++++++++++++++-------------- src/PIL/GdImageFile.py | 3 +- src/PIL/ImageCms.py | 2 +- src/PIL/ImageColor.py | 10 ++++-- src/PIL/ImageGrab.py | 3 +- src/PIL/JpegPresets.py | 3 +- src/PIL/PdfParser.py | 6 ++-- winbuild/build.py | 6 ++-- 11 files changed, 89 insertions(+), 41 deletions(-) diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index b4a1221c4..56ad69473 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -429,7 +429,8 @@ class TestFileTiff(PillowTestCase): "Tests/images/tiff_adobe_deflate.png") def test_strip_planar_raw(self): - # gdal_translate -of GTiff -co INTERLEAVE=BAND tiff_strip_raw.tif tiff_strip_planar_raw.tiff + # gdal_translate -of GTiff -co INTERLEAVE=BAND \ + # tiff_strip_raw.tif tiff_strip_planar_raw.tiff infile = "Tests/images/tiff_strip_planar_raw.tif" im = Image.open(infile) @@ -445,7 +446,8 @@ class TestFileTiff(PillowTestCase): "Tests/images/tiff_adobe_deflate.png") def test_tiled_planar_raw(self): - # gdal_translate -of GTiff -co TILED=YES -co BLOCKXSIZE=32 -co BLOCKYSIZE=32 -co INTERLEAVE=BAND \ + # gdal_translate -of GTiff -co TILED=YES -co BLOCKXSIZE=32 \ + # -co BLOCKYSIZE=32 -co INTERLEAVE=BAND \ # tiff_tiled_raw.tif tiff_tiled_planar_raw.tiff infile = "Tests/images/tiff_tiled_planar_raw.tif" im = Image.open(infile) diff --git a/Tests/test_imagecms.py b/Tests/test_imagecms.py index b68692990..b4d53a2df 100644 --- a/Tests/test_imagecms.py +++ b/Tests/test_imagecms.py @@ -294,7 +294,14 @@ class TestImageCms(PillowTestCase): p.blue_primary, ((0.14306641366715667, 0.06060790921083026, 0.7140960805782015), (0.15588475410450106, 0.06603820408959558, 0.06060790921083026))) - assert_truncated_tuple_equal(p.chromatic_adaptation, (((1.04791259765625, 0.0229339599609375, -0.050201416015625), (0.02960205078125, 0.9904632568359375, -0.0170745849609375), (-0.009246826171875, 0.0150604248046875, 0.7517852783203125)), ((1.0267159024652783, 0.022470062342089134, 0.0229339599609375), (0.02951378324103937, 0.9875098886387147, 0.9904632568359375), (-0.012205438066465256, 0.01987915407854985, 0.0150604248046875)))) + assert_truncated_tuple_equal( + p.chromatic_adaptation, + (((1.04791259765625, 0.0229339599609375, -0.050201416015625), + (0.02960205078125, 0.9904632568359375, -0.0170745849609375), + (-0.009246826171875, 0.0150604248046875, 0.7517852783203125)), + ((1.0267159024652783, 0.022470062342089134, 0.0229339599609375), + (0.02951378324103937, 0.9875098886387147, 0.9904632568359375), + (-0.012205438066465256, 0.01987915407854985, 0.0150604248046875)))) self.assertIsNone(p.chromaticity) self.assertEqual(p.clut, { 0: (False, False, True), @@ -421,7 +428,11 @@ class TestImageCms(PillowTestCase): ) channel_data = Image.new(channel_type, channel_pattern.size) for delta in nine_grid_deltas: - channel_data.paste(channel_pattern, tuple(paste_offset[c] + delta[c]*channel_pattern.size[c] for c in range(2))) + channel_data.paste( + channel_pattern, + tuple(paste_offset[c] + delta[c] * channel_pattern.size[c] + for c in range(2)), + ) chans.append(channel_data) return Image.merge(mode, chans) diff --git a/docs/conf.py b/docs/conf.py index b65dcec72..b788febee 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -270,7 +270,8 @@ man_pages = [ # dir menu entry, description, category) texinfo_documents = [ (master_doc, 'PillowPILFork', u'Pillow (PIL Fork) Documentation', - author, 'PillowPILFork', 'Pillow is the friendly PIL fork by Alex Clark and Contributors.', + author, 'PillowPILFork', + 'Pillow is the friendly PIL fork by Alex Clark and Contributors.', 'Miscellaneous'), ] diff --git a/src/PIL/BmpImagePlugin.py b/src/PIL/BmpImagePlugin.py index 731b94e21..e146f4da9 100644 --- a/src/PIL/BmpImagePlugin.py +++ b/src/PIL/BmpImagePlugin.py @@ -50,16 +50,17 @@ def _accept(prefix): return prefix[:2] == b"BM" -# ============================================================================== +# ============================================================================= # Image plugin for the Windows BMP format. -# ============================================================================== +# ============================================================================= class BmpImageFile(ImageFile.ImageFile): """ Image plugin for the Windows Bitmap format (BMP) """ - # -------------------------------------------------------------- Description + # ------------------------------------------------------------- Description format_description = "Windows Bitmap" format = "BMP" - # --------------------------------------------------- BMP Compression values + + # -------------------------------------------------- BMP Compression values COMPRESSIONS = { 'RAW': 0, 'RLE8': 1, @@ -79,12 +80,14 @@ class BmpImageFile(ImageFile.ImageFile): # read bmp header size @offset 14 (this is part of the header size) file_info['header_size'] = i32(read(4)) file_info['direction'] = -1 - # --------------------- If requested, read header at a specific position + + # -------------------- If requested, read header at a specific position # read the rest of the bmp header, without its size header_data = ImageFile._safe_read(self.fp, file_info['header_size'] - 4) - # --------------------------------------------------- IBM OS/2 Bitmap v1 - # ------ This format has different offsets because of width/height types + + # -------------------------------------------------- IBM OS/2 Bitmap v1 + # ----- This format has different offsets because of width/height types if file_info['header_size'] == 12: file_info['width'] = i16(header_data[0:2]) file_info['height'] = i16(header_data[2:4]) @@ -92,8 +95,10 @@ class BmpImageFile(ImageFile.ImageFile): file_info['bits'] = i16(header_data[6:8]) file_info['compression'] = self.RAW file_info['palette_padding'] = 3 - # ---------------------------------------------- Windows Bitmap v2 to v5 - elif file_info['header_size'] in (40, 64, 108, 124): # v3, OS/2 v2, v4, v5 + + # --------------------------------------------- Windows Bitmap v2 to v5 + # v3, OS/2 v2, v4, v5 + elif file_info['header_size'] in (40, 64, 108, 124): if file_info['header_size'] >= 40: # v3 and OS/2 file_info['y_flip'] = i8(header_data[7]) == 0xff file_info['direction'] = 1 if file_info['y_flip'] else -1 @@ -119,12 +124,15 @@ class BmpImageFile(ImageFile.ImageFile): 'g_mask', 'b_mask', 'a_mask']): - file_info[mask] = i32(header_data[36+idx*4:40+idx*4]) + file_info[mask] = i32( + header_data[36 + idx * 4:40 + idx * 4] + ) else: # 40 byte headers only have the three components in the - # bitfields masks, - # ref: https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx - # See also https://github.com/python-pillow/Pillow/issues/1293 + # bitfields masks, ref: + # https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx + # See also + # https://github.com/python-pillow/Pillow/issues/1293 # There is a 4th component in the RGBQuad, in the alpha # location, but it is listed as a reserved component, # and it is not generally an alpha channel @@ -141,20 +149,27 @@ class BmpImageFile(ImageFile.ImageFile): else: raise IOError("Unsupported BMP header type (%d)" % file_info['header_size']) + # ------------------ Special case : header is reported 40, which # ---------------------- is shorter than real size for bpp >= 16 self._size = file_info['width'], file_info['height'] - # -------- If color count was not found in the header, compute from bits - file_info['colors'] = file_info['colors'] if file_info.get('colors', 0) else (1 << file_info['bits']) - # -------------------------------- Check abnormal values for DOS attacks + + # ------- If color count was not found in the header, compute from bits + file_info["colors"] = (file_info["colors"] + if file_info.get("colors", 0) + else (1 << file_info["bits"])) + + # ------------------------------- Check abnormal values for DOS attacks if file_info['width'] * file_info['height'] > 2**31: raise IOError("Unsupported BMP Size: (%dx%d)" % self.size) - # ----------------------- Check bit depth for unusual unsupported values + + # ---------------------- Check bit depth for unusual unsupported values self.mode, raw_mode = BIT2MODE.get(file_info['bits'], (None, None)) if self.mode is None: raise IOError("Unsupported BMP pixel depth (%d)" % file_info['bits']) - # ----------------- Process BMP with Bitfields compression (not palette) + + # ---------------- Process BMP with Bitfields compression (not palette) if file_info['compression'] == self.BITFIELDS: SUPPORTED = { 32: [(0xff0000, 0xff00, 0xff, 0x0), @@ -176,7 +191,9 @@ class BmpImageFile(ImageFile.ImageFile): if file_info['bits'] in SUPPORTED: if file_info['bits'] == 32 and \ file_info['rgba_mask'] in SUPPORTED[file_info['bits']]: - raw_mode = MASK_MODES[(file_info['bits'], file_info['rgba_mask'])] + raw_mode = MASK_MODES[ + (file_info["bits"], file_info["rgba_mask"]) + ] self.mode = "RGBA" if raw_mode in ("BGRA",) else self.mode elif (file_info['bits'] in (24, 16) and file_info['rgb_mask'] in SUPPORTED[file_info['bits']]): @@ -193,9 +210,11 @@ class BmpImageFile(ImageFile.ImageFile): else: raise IOError("Unsupported BMP compression (%d)" % file_info['compression']) - # ---------------- Once the header is processed, process the palette/LUT + + # --------------- Once the header is processed, process the palette/LUT if self.mode == "P": # Paletted for 1, 4 and 8 bit images - # ----------------------------------------------------- 1-bit images + + # ---------------------------------------------------- 1-bit images if not (0 < file_info['colors'] <= 65536): raise IOError("Unsupported BMP Palette size (%d)" % file_info['colors']) @@ -205,12 +224,14 @@ class BmpImageFile(ImageFile.ImageFile): greyscale = True indices = (0, 255) if file_info['colors'] == 2 else \ list(range(file_info['colors'])) - # ------------------ Check if greyscale and ignore palette if so + + # ----------------- Check if greyscale and ignore palette if so for ind, val in enumerate(indices): rgb = palette[ind*padding:ind*padding + 3] if rgb != o8(val) * 3: greyscale = False - # -------- If all colors are grey, white or black, ditch palette + + # ------- If all colors are grey, white or black, ditch palette if greyscale: self.mode = "1" if file_info['colors'] == 2 else "L" raw_mode = self.mode @@ -219,7 +240,7 @@ class BmpImageFile(ImageFile.ImageFile): self.palette = ImagePalette.raw( "BGRX" if padding == 4 else "BGR", palette) - # ----------------------------- Finally set the tile data for the plugin + # ---------------------------- Finally set the tile data for the plugin self.info['compression'] = file_info['compression'] self.tile = [ ('raw', @@ -243,9 +264,9 @@ class BmpImageFile(ImageFile.ImageFile): self._bitmap(offset=offset) -# ============================================================================== +# ============================================================================= # Image plugin for the DIB format (BMP alias) -# ============================================================================== +# ============================================================================= class DibImageFile(BmpImageFile): format = "DIB" diff --git a/src/PIL/GdImageFile.py b/src/PIL/GdImageFile.py index 136154238..8b688381c 100644 --- a/src/PIL/GdImageFile.py +++ b/src/PIL/GdImageFile.py @@ -59,7 +59,8 @@ class GdImageFile(ImageFile.ImageFile): if tindex < 256: self.info["transparency"] = tindex - self.palette = ImagePalette.raw("XBGR", s[7+trueColorOffset+4:7+trueColorOffset+4+256*4]) + self.palette = ImagePalette.raw( + "XBGR", s[7+trueColorOffset+4:7+trueColorOffset+4+256*4]) self.tile = [("raw", (0, 0)+self.size, 7+trueColorOffset+4+256*4, ("L", 0, 1))] diff --git a/src/PIL/ImageCms.py b/src/PIL/ImageCms.py index 107dc9f87..e8871bb1e 100644 --- a/src/PIL/ImageCms.py +++ b/src/PIL/ImageCms.py @@ -727,7 +727,7 @@ def getProfileInfo(profile): # add an extra newline to preserve pyCMS compatibility # Python, not C. the white point bits weren't working well, # so skipping. - # // info was description \r\n\r\n copyright \r\n\r\n K007 tag \r\n\r\n whitepoint + # info was description \r\n\r\n copyright \r\n\r\n K007 tag \r\n\r\n whitepoint description = profile.profile.product_description cpright = profile.profile.product_copyright arr = [] diff --git a/src/PIL/ImageColor.py b/src/PIL/ImageColor.py index 08c00fd54..d3b3b00ac 100644 --- a/src/PIL/ImageColor.py +++ b/src/PIL/ImageColor.py @@ -87,7 +87,10 @@ def getrgb(color): int((int(m.group(3)) * 255) / 100.0 + 0.5) ) - m = re.match(r"hsl\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color) + m = re.match( + r"hsl\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", + color, + ) if m: from colorsys import hls_to_rgb rgb = hls_to_rgb( @@ -101,7 +104,10 @@ def getrgb(color): int(rgb[2] * 255 + 0.5) ) - m = re.match(r"hs[bv]\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color) + m = re.match( + r"hs[bv]\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", + color, + ) if m: from colorsys import hsv_to_rgb rgb = hsv_to_rgb( diff --git a/src/PIL/ImageGrab.py b/src/PIL/ImageGrab.py index e8961cd17..d0fe76ef4 100644 --- a/src/PIL/ImageGrab.py +++ b/src/PIL/ImageGrab.py @@ -54,7 +54,8 @@ def grabclipboard(): fh, filepath = tempfile.mkstemp('.jpg') os.close(fh) commands = [ - "set theFile to (open for access POSIX file \""+filepath+"\" with write permission)", + "set theFile to (open for access POSIX file \"" + + filepath + "\" with write permission)", "try", " write (the clipboard as JPEG picture) to theFile", "end try", diff --git a/src/PIL/JpegPresets.py b/src/PIL/JpegPresets.py index 75d61223e..f7a533c18 100644 --- a/src/PIL/JpegPresets.py +++ b/src/PIL/JpegPresets.py @@ -62,7 +62,8 @@ The tables format between im.quantization and quantization in presets differ in You can convert the dict format to the preset format with the `JpegImagePlugin.convert_dict_qtables(dict_qtables)` function. -Libjpeg ref.: https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html +Libjpeg ref.: +https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html """ diff --git a/src/PIL/PdfParser.py b/src/PIL/PdfParser.py index bcd29db0d..66d6ecfb1 100644 --- a/src/PIL/PdfParser.py +++ b/src/PIL/PdfParser.py @@ -386,7 +386,8 @@ def pdf_repr(x): class PdfParser: - """Based on https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf + """Based on + https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf Supports PDF up to 1.4 """ @@ -863,7 +864,8 @@ class PdfParser: raise PdfFormatError( "unrecognized object: " + repr(data[offset:offset+32])) - re_lit_str_token = re.compile(br"(\\[nrtbf()\\])|(\\[0-9]{1,3})|(\\(\r\n|\r|\n))|(\r\n|\r|\n)|(\()|(\))") + re_lit_str_token = re.compile( + br"(\\[nrtbf()\\])|(\\[0-9]{1,3})|(\\(\r\n|\r|\n))|(\r\n|\r|\n)|(\()|(\))") escaped_chars = { b"n": b"\n", b"r": b"\r", diff --git a/winbuild/build.py b/winbuild/build.py index 9f1c393a0..9e8d442c1 100755 --- a/winbuild/build.py +++ b/winbuild/build.py @@ -74,7 +74,7 @@ call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %s"" def build_one(py_ver, compiler, bit): - # UNDONE virtual envs if we're not running on appveyor + # UNDONE virtual envs if we're not running on AppVeyor args = {} args.update(compiler) if 'PYTHON' in os.environ: @@ -97,6 +97,8 @@ def build_one(py_ver, compiler, bit): else: args['imaging_libs'] = '' + args['vc_setup'] = vc_setup(compiler, bit) + script = r""" setlocal EnableDelayedExpansion call "%%ProgramFiles%%\Microsoft SDKs\Windows\%(env_version)s\Bin\SetEnv.Cmd" /Release %(env_flags)s @@ -105,7 +107,7 @@ set LIB=%%LIB%%;%%INCLIB%%\%(inc_dir)s set INCLUDE=%%INCLUDE%%;%%INCLIB%%\%(inc_dir)s;%%INCLIB%%\tcl%(tcl_ver)s\include setlocal -set LIB=%%LIB%%;C:\Python%(py_ver)s\tcl""" + vc_setup(compiler, bit) + r""" +set LIB=%%LIB%%;C:\Python%(py_ver)s\tcl%(vc_setup)s call %(python_path)s\%(executable)s setup.py %(imaging_libs)s %%BLDOPT%% endlocal From a568a8730e1c84339e3ab987323972507354c7bb Mon Sep 17 00:00:00 2001 From: Hugo Date: Sun, 11 Nov 2018 18:57:57 +0200 Subject: [PATCH 152/323] flake8: E302 expected 2 blank lines, found 1 --- Tests/test_image_access.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_image_access.py b/Tests/test_image_access.py index 338ab0258..ae9692b39 100644 --- a/Tests/test_image_access.py +++ b/Tests/test_image_access.py @@ -102,6 +102,7 @@ class TestImagePutPixel(AccessTest): self.assert_image_equal(im1, im2) + class TestImageGetPixel(AccessTest): @staticmethod def color(mode): From 990fb03218440e9aa2f4dd18c4ea7806a96cc8ed Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 26 Aug 2018 13:52:02 +1000 Subject: [PATCH 153/323] Changed if to elif --- Tests/test_file_tiff_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tests/test_file_tiff_metadata.py b/Tests/test_file_tiff_metadata.py index 9c615354c..7407cc456 100644 --- a/Tests/test_file_tiff_metadata.py +++ b/Tests/test_file_tiff_metadata.py @@ -135,7 +135,7 @@ class TestFileTiffMetadata(PillowTestCase): for k, v in original.items(): if isinstance(v, IFDRational): original[k] = IFDRational(*_limit_rational(v, 2**31)) - if isinstance(v, tuple) and isinstance(v[0], IFDRational): + elif isinstance(v, tuple) and isinstance(v[0], IFDRational): original[k] = tuple(IFDRational(*_limit_rational(elt, 2**31)) for elt in v) From a3d45e9cefd05105a360588cd3087ccd5ae63b35 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Oct 2018 19:45:13 +1100 Subject: [PATCH 154/323] Added custom int and float TIFF tags --- Tests/test_file_libtiff.py | 18 +++++++++++++++ src/PIL/TiffImagePlugin.py | 9 ++++---- src/PIL/TiffTags.py | 1 + src/encode.c | 46 ++++++++++++++++++++++++++----------- src/libImaging/TiffDecode.c | 13 +++++++++++ src/libImaging/TiffDecode.h | 1 + 6 files changed, 69 insertions(+), 19 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 58a3d38c5..19c952ae4 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -231,6 +231,24 @@ class TestFileLibTiff(LibTiffTestCase): TiffImagePlugin.WRITE_LIBTIFF = False + def test_custom_metadata(self): + custom = { + 37000: 4, + 37001: 4.2 + } + for libtiff in [False, True]: + TiffImagePlugin.WRITE_LIBTIFF = libtiff + + im = hopper() + + out = self.tempfile("temp.tif") + im.save(out, tiffinfo=custom) + TiffImagePlugin.WRITE_LIBTIFF = False + + reloaded = Image.open(out) + for tag, value in custom.items(): + self.assertEqual(reloaded.tag_v2[tag], value) + def test_int_dpi(self): # issue #1765 im = hopper('RGB') diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 5059a1324..c2b09e294 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1499,11 +1499,10 @@ def _save(im, fp, filename): getattr(im, 'tag_v2', {}).items(), legacy_ifd.items()): # Libtiff can only process certain core items without adding - # them to the custom dictionary. It will segfault if it attempts - # to add a custom tag without the dictionary entry - # - # UNDONE -- add code for the custom dictionary - if tag not in TiffTags.LIBTIFF_CORE: + # them to the custom dictionary. Support has only been been added + # for int and float values + if tag not in TiffTags.LIBTIFF_CORE and not \ + (isinstance(value, int) or isinstance(value, float)): continue if tag not in atts and tag not in blocklist: if isinstance(value, str if py3 else unicode): diff --git a/src/PIL/TiffTags.py b/src/PIL/TiffTags.py index c1e14af4a..d810f2f35 100644 --- a/src/PIL/TiffTags.py +++ b/src/PIL/TiffTags.py @@ -425,6 +425,7 @@ TYPES = {} # some of these are not in our TAGS_V2 dict and were included from tiff.h +# This list also exists in encode.c LIBTIFF_CORE = {255, 256, 257, 258, 259, 262, 263, 266, 274, 277, 278, 280, 281, 340, 341, 282, 283, 284, 286, 287, 296, 297, 321, 320, 338, 32995, 322, 323, 32998, diff --git a/src/encode.c b/src/encode.c index c60048c41..385d576dd 100644 --- a/src/encode.c +++ b/src/encode.c @@ -804,7 +804,13 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) PyObject *dir; PyObject *key, *value; Py_ssize_t pos = 0; - int status; + int key_int, status, is_core_tag, i; + // This list also exists in TiffTags.py + const int tags[32] = { + 256, 257, 258, 259, 262, 263, 266, 269, 274, 277, 278, 280, 281, 340, + 341, 282, 283, 284, 286, 287, 296, 297, 321, 338, 32995, 32998, 32996, + 339, 32997, 330, 531, 530 + }; Py_ssize_t d_size; PyObject *keys, *values; @@ -845,21 +851,33 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) for (pos = 0; pos < d_size; pos++) { key = PyList_GetItem(keys, pos); + key_int = (int)PyInt_AsLong(key); value = PyList_GetItem(values, pos); status = 0; - TRACE(("Attempting to set key: %d\n", (int)PyInt_AsLong(key))); + is_core_tag = 0; + for (i=0; i<32; i++) { + if (tags[i] == key_int) { + is_core_tag = 1; + break; + } + } + TRACE(("Attempting to set key: %d\n", key_int)); if (PyInt_Check(value)) { - TRACE(("Setting from Int: %d %ld \n", (int)PyInt_AsLong(key),PyInt_AsLong(value))); - status = ImagingLibTiffSetField(&encoder->state, - (ttag_t) PyInt_AsLong(key), - PyInt_AsLong(value)); + TRACE(("Setting from Int: %d %ld \n", key_int, PyInt_AsLong(value))); + if (is_core_tag || !ImagingLibTiffMergeFieldInfo(&encoder->state, TIFF_LONG, key_int)) { + status = ImagingLibTiffSetField(&encoder->state, + (ttag_t) PyInt_AsLong(key), + PyInt_AsLong(value)); + } } else if (PyFloat_Check(value)) { - TRACE(("Setting from Float: %d, %f \n", (int)PyInt_AsLong(key),PyFloat_AsDouble(value))); - status = ImagingLibTiffSetField(&encoder->state, - (ttag_t) PyInt_AsLong(key), - (float)PyFloat_AsDouble(value)); + TRACE(("Setting from Float: %d, %f \n", key_int, PyFloat_AsDouble(value))); + if (is_core_tag || !ImagingLibTiffMergeFieldInfo(&encoder->state, TIFF_DOUBLE, key_int)) { + status = ImagingLibTiffSetField(&encoder->state, + (ttag_t) PyInt_AsLong(key), + (double)PyFloat_AsDouble(value)); + } } else if (PyBytes_Check(value)) { - TRACE(("Setting from Bytes: %d, %s \n", (int)PyInt_AsLong(key),PyBytes_AsString(value))); + TRACE(("Setting from Bytes: %d, %s \n", key_int, PyBytes_AsString(value))); status = ImagingLibTiffSetField(&encoder->state, (ttag_t) PyInt_AsLong(key), PyBytes_AsString(value)); @@ -867,7 +885,7 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) Py_ssize_t len,i; float *floatav; int *intav; - TRACE(("Setting from Tuple: %d \n", (int)PyInt_AsLong(key))); + TRACE(("Setting from Tuple: %d \n", key_int)); len = PyTuple_Size(value); if (len) { if (PyInt_Check(PyTuple_GetItem(value,0))) { @@ -898,13 +916,13 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) } } else { TRACE(("Unhandled type in tuple for key %d : %s \n", - (int)PyInt_AsLong(key), + key_int, PyBytes_AsString(PyObject_Str(value)))); } } } else { TRACE(("Unhandled type for key %d : %s \n", - (int)PyInt_AsLong(key), + key_int, PyBytes_AsString(PyObject_Str(value)))); } if (!status) { diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index e77afdf61..bfab4b79e 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -402,6 +402,19 @@ int ImagingLibTiffEncodeInit(ImagingCodecState state, char *filename, int fp) { } +int ImagingLibTiffMergeFieldInfo(ImagingCodecState state, TIFFDataType field_type, int key){ + TIFFSTATE *clientstate = (TIFFSTATE *)state->context; + char field_name[10]; + uint32 n; + + const TIFFFieldInfo info[] = { + { key, 0, 1, field_type, FIELD_CUSTOM, 1, 0, field_name } + }; + n = sizeof(info) / sizeof(info[0]); + + return TIFFMergeFieldInfo(clientstate->tiff, info, n); +} + int ImagingLibTiffSetField(ImagingCodecState state, ttag_t tag, ...){ // after tif_dir.c->TIFFSetField. TIFFSTATE *clientstate = (TIFFSTATE *)state->context; diff --git a/src/libImaging/TiffDecode.h b/src/libImaging/TiffDecode.h index e14a09329..e29a6c88f 100644 --- a/src/libImaging/TiffDecode.h +++ b/src/libImaging/TiffDecode.h @@ -45,6 +45,7 @@ typedef struct { extern int ImagingLibTiffInit(ImagingCodecState state, int fp, int offset); extern int ImagingLibTiffEncodeInit(ImagingCodecState state, char *filename, int fp); +extern int ImagingLibTiffMergeFieldInfo(ImagingCodecState state, TIFFDataType field_type, int key); extern int ImagingLibTiffSetField(ImagingCodecState state, ttag_t tag, ...); From ddf8593e7bb4f5edc64c96ea730076920ea8cf33 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Oct 2018 19:36:49 +1100 Subject: [PATCH 155/323] Do not write custom tags with libtiff < 4 --- Tests/test_file_libtiff.py | 11 ++++++++++- Tests/versions.py | 1 + src/PIL/TiffImagePlugin.py | 13 ++++++++++--- src/_imaging.c | 7 +++++++ src/libImaging/TiffDecode.c | 16 +++++++++++++++- 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/Tests/test_file_libtiff.py b/Tests/test_file_libtiff.py index 19c952ae4..2ddb2263a 100644 --- a/Tests/test_file_libtiff.py +++ b/Tests/test_file_libtiff.py @@ -8,6 +8,7 @@ import io import logging import itertools import os +import distutils.version from PIL import Image, TiffImagePlugin, TiffTags @@ -236,7 +237,15 @@ class TestFileLibTiff(LibTiffTestCase): 37000: 4, 37001: 4.2 } - for libtiff in [False, True]: + + libtiff_version = TiffImagePlugin._libtiff_version() + + libtiffs = [False] + if distutils.version.StrictVersion(libtiff_version) >= \ + distutils.version.StrictVersion("4.0"): + libtiffs.append(True) + + for libtiff in libtiffs: TiffImagePlugin.WRITE_LIBTIFF = libtiff im = hopper() diff --git a/Tests/versions.py b/Tests/versions.py index abc1a3be9..835865b37 100644 --- a/Tests/versions.py +++ b/Tests/versions.py @@ -10,6 +10,7 @@ def version(module, version): version(Image, "jpeglib") version(Image, "zlib") +version(Image, "libtiff") try: from PIL import ImageFont diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index c2b09e294..2b4ddb038 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -54,6 +54,7 @@ import os import struct import sys import warnings +import distutils.version from .TiffTags import TYPES @@ -284,6 +285,10 @@ def _limit_rational(val, max_val): return n_d[::-1] if inv else n_d +def _libtiff_version(): + return Image.core.libtiff_version.split("\n")[0].split("Version ")[1] + + ## # Wrapper for TIFF IFDs. @@ -1501,9 +1506,11 @@ def _save(im, fp, filename): # Libtiff can only process certain core items without adding # them to the custom dictionary. Support has only been been added # for int and float values - if tag not in TiffTags.LIBTIFF_CORE and not \ - (isinstance(value, int) or isinstance(value, float)): - continue + if tag not in TiffTags.LIBTIFF_CORE: + if (distutils.version.StrictVersion(_libtiff_version()) < + distutils.version.StrictVersion("4.0")) \ + or not (isinstance(value, int) or isinstance(value, float)): + continue if tag not in atts and tag not in blocklist: if isinstance(value, str if py3 else unicode): atts[tag] = value.encode('ascii', 'replace') + b"\0" diff --git a/src/_imaging.c b/src/_imaging.c index 474444348..5b8ccb8ad 100644 --- a/src/_imaging.c +++ b/src/_imaging.c @@ -3849,6 +3849,13 @@ setup_module(PyObject* m) { } #endif +#ifdef HAVE_LIBTIFF + { + extern const char * ImagingTiffVersion(void); + PyDict_SetItemString(d, "libtiff_version", PyUnicode_FromString(ImagingTiffVersion())); + } +#endif + PyDict_SetItemString(d, "PILLOW_VERSION", PyUnicode_FromString(version)); return 0; diff --git a/src/libImaging/TiffDecode.c b/src/libImaging/TiffDecode.c index bfab4b79e..64ac86e6a 100644 --- a/src/libImaging/TiffDecode.c +++ b/src/libImaging/TiffDecode.c @@ -406,13 +406,20 @@ int ImagingLibTiffMergeFieldInfo(ImagingCodecState state, TIFFDataType field_typ TIFFSTATE *clientstate = (TIFFSTATE *)state->context; char field_name[10]; uint32 n; + int status = 0; const TIFFFieldInfo info[] = { { key, 0, 1, field_type, FIELD_CUSTOM, 1, 0, field_name } }; n = sizeof(info) / sizeof(info[0]); - return TIFFMergeFieldInfo(clientstate->tiff, info, n); + // Test for libtiff 4.0 or later, excluding libtiff 3.9.6 and 3.9.7 +#if TIFFLIB_VERSION >= 20111221 && TIFFLIB_VERSION != 20120218 && TIFFLIB_VERSION != 20120922 + status = TIFFMergeFieldInfo(clientstate->tiff, info, n); +#else + TIFFMergeFieldInfo(clientstate->tiff, info, n); +#endif + return status; } int ImagingLibTiffSetField(ImagingCodecState state, ttag_t tag, ...){ @@ -514,4 +521,11 @@ int ImagingLibTiffEncode(Imaging im, ImagingCodecState state, UINT8* buffer, int state->errcode = IMAGING_CODEC_END; return 0; } + +const char* +ImagingTiffVersion(void) +{ + return TIFFGetVersion(); +} + #endif From 207ed04d87cd29f0117566d1191bdcc6e5716acb Mon Sep 17 00:00:00 2001 From: Hugo Date: Thu, 25 Oct 2018 20:17:20 +1100 Subject: [PATCH 156/323] Removed hardcoded array size Co-Authored-By: radarhere --- src/encode.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/encode.c b/src/encode.c index 385d576dd..238eabd1e 100644 --- a/src/encode.c +++ b/src/encode.c @@ -855,7 +855,8 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) value = PyList_GetItem(values, pos); status = 0; is_core_tag = 0; - for (i=0; i<32; i++) { + int number_of_tags = sizeof(tags) / sizeof(int); + for (i=0; i Date: Thu, 25 Oct 2018 20:18:49 +1100 Subject: [PATCH 157/323] Changed array size to be arbitrary Co-Authored-By: radarhere --- src/encode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/encode.c b/src/encode.c index 238eabd1e..2626e0eb8 100644 --- a/src/encode.c +++ b/src/encode.c @@ -806,7 +806,7 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) Py_ssize_t pos = 0; int key_int, status, is_core_tag, i; // This list also exists in TiffTags.py - const int tags[32] = { + const int tags[] = { 256, 257, 258, 259, 262, 263, 266, 269, 274, 277, 278, 280, 281, 340, 341, 282, 283, 284, 286, 287, 296, 297, 321, 338, 32995, 32998, 32996, 339, 32997, 330, 531, 530 From d8e66c1882a11a0f81c1f3e3308a64134779ab55 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Thu, 25 Oct 2018 21:00:38 +1100 Subject: [PATCH 158/323] Moved variable declaration and execution --- src/encode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/encode.c b/src/encode.c index 2626e0eb8..bce1c2988 100644 --- a/src/encode.c +++ b/src/encode.c @@ -804,7 +804,7 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) PyObject *dir; PyObject *key, *value; Py_ssize_t pos = 0; - int key_int, status, is_core_tag, i; + int key_int, status, is_core_tag, number_of_tags, i; // This list also exists in TiffTags.py const int tags[] = { 256, 257, 258, 259, 262, 263, 266, 269, 274, 277, 278, 280, 281, 340, @@ -849,13 +849,13 @@ PyImaging_LibTiffEncoderNew(PyObject* self, PyObject* args) return NULL; } + number_of_tags = sizeof(tags) / sizeof(int); for (pos = 0; pos < d_size; pos++) { key = PyList_GetItem(keys, pos); key_int = (int)PyInt_AsLong(key); value = PyList_GetItem(values, pos); status = 0; is_core_tag = 0; - int number_of_tags = sizeof(tags) / sizeof(int); for (i=0; i Date: Sat, 3 Nov 2018 13:13:04 +1100 Subject: [PATCH 159/323] Added UnixViewer get_command --- Tests/test_imageshow.py | 10 ++++++++++ src/PIL/ImageShow.py | 9 +++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Tests/test_imageshow.py b/Tests/test_imageshow.py index da91e35c7..244c18d91 100644 --- a/Tests/test_imageshow.py +++ b/Tests/test_imageshow.py @@ -14,6 +14,9 @@ class TestImageShow(PillowTestCase): # Test registering a viewer that is not a class ImageShow.register("not a class") + # Restore original state + ImageShow._viewers.pop() + def test_show(self): class TestViewer: methodCalled = False @@ -28,6 +31,9 @@ class TestImageShow(PillowTestCase): self.assertTrue(ImageShow.show(im)) self.assertTrue(viewer.methodCalled) + # Restore original state + ImageShow._viewers.pop(0) + def test_viewer(self): viewer = ImageShow.Viewer() @@ -35,6 +41,10 @@ class TestImageShow(PillowTestCase): self.assertRaises(NotImplementedError, viewer.get_command, None) + def test_viewers(self): + for viewer in ImageShow._viewers: + viewer.get_command('test.jpg') + if __name__ == '__main__': unittest.main() diff --git a/src/PIL/ImageShow.py b/src/PIL/ImageShow.py index b50d61358..f1819cc5c 100644 --- a/src/PIL/ImageShow.py +++ b/src/PIL/ImageShow.py @@ -148,12 +148,9 @@ else: format = "PNG" options = {'compress_level': 1} - def show_file(self, file, **options): - command, executable = self.get_command_ex(file, **options) - command = "(%s %s; rm -f %s)&" % (command, quote(file), - quote(file)) - os.system(command) - return 1 + def get_command(self, file, **options): + command = self.get_command_ex(file, **options)[0] + return "(%s %s; rm -f %s)&" % (command, quote(file), quote(file)) # implementations From fea3dafd05c8ca44c30167c34ce4d82964421efb Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 3 Nov 2018 14:24:10 +1100 Subject: [PATCH 160/323] Supply filename through stdin instead of inline in Mac and Unix ImageShow viewers --- src/PIL/ImageShow.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/PIL/ImageShow.py b/src/PIL/ImageShow.py index f1819cc5c..7d758c737 100644 --- a/src/PIL/ImageShow.py +++ b/src/PIL/ImageShow.py @@ -17,6 +17,8 @@ from __future__ import print_function from PIL import Image import os import sys +import subprocess +import tempfile if sys.version_info.major >= 3: from shlex import quote @@ -128,6 +130,21 @@ elif sys.platform == "darwin": quote(file)) return command + def show_file(self, file, **options): + """Display given file""" + f, path = tempfile.mkstemp() + f.write(file) + f.close() + with open(path, "r") as f: + subprocess.Popen([ + 'im=$(cat);' + 'open -a /Applications/Preview.app $im;' + 'sleep 20;' + 'rm -f $im' + ], shell=True, stdin=f) + os.remove(path) + return 1 + register(MacViewer) else: @@ -152,6 +169,21 @@ else: command = self.get_command_ex(file, **options)[0] return "(%s %s; rm -f %s)&" % (command, quote(file), quote(file)) + def show_file(self, file, **options): + """Display given file""" + f, path = tempfile.mkstemp() + f.write(file) + f.close() + with open(path, "r") as f: + command = self.get_command_ex(file, **options)[0] + subprocess.Popen([ + 'im=$(cat);' + + command+' $im;' + 'rm -f $im' + ], shell=True, stdin=f) + os.remove(path) + return 1 + # implementations class DisplayViewer(UnixViewer): From 3ff4b540503e9fb875fa02b622a54087ff5946d4 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 12 Nov 2018 19:54:26 +1100 Subject: [PATCH 161/323] Added __main__ code --- Tests/test_core_resources.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Tests/test_core_resources.py b/Tests/test_core_resources.py index 11f26d38e..fd8fb4244 100644 --- a/Tests/test_core_resources.py +++ b/Tests/test_core_resources.py @@ -179,3 +179,7 @@ class TestEnvVars(PillowTestCase): self.assert_warning( UserWarning, Image._apply_env_variables, {'PILLOW_BLOCKS_MAX': 'wat'}) + + +if __name__ == '__main__': + unittest.main() From 9a1c3915aec0ca5683fd50793a5dd0c018beb780 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Nov 2018 21:45:52 +1100 Subject: [PATCH 162/323] Corrected TypeError in Python 3 --- Tests/check_png_dos.py | 2 +- Tests/createfontdatachunk.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Tests/check_png_dos.py b/Tests/check_png_dos.py index 0bbaf6a4d..0cb775aed 100644 --- a/Tests/check_png_dos.py +++ b/Tests/check_png_dos.py @@ -36,7 +36,7 @@ class TestPngDos(PillowTestCase): def test_dos_total_memory(self): im = Image.new('L', (1, 1)) - compressed_data = zlib.compress('a'*1024*1023) + compressed_data = zlib.compress(b'a'*1024*1023) info = PngImagePlugin.PngInfo() diff --git a/Tests/createfontdatachunk.py b/Tests/createfontdatachunk.py index 720fd0067..1a3076da7 100755 --- a/Tests/createfontdatachunk.py +++ b/Tests/createfontdatachunk.py @@ -10,7 +10,9 @@ if __name__ == "__main__": print(" f._load_pilfont_data(") print(" # %s" % os.path.basename(font)) print(" BytesIO(base64.decodestring(b'''") - base64.encode(open(font + ".pil", "rb"), sys.stdout) + with open(font + ".pil", "rb") as fp: + print(base64.b64encode(fp.read()).decode()) print("''')), Image.open(BytesIO(base64.decodestring(b'''") - base64.encode(open(font + ".pbm", "rb"), sys.stdout) + with open(font + ".pbm", "rb") as fp: + print(base64.b64encode(fp.read()).decode()) print("'''))))") From b637b5f7a2faefcc5db45262f409d143c62bc74f Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Nov 2018 22:13:55 +1100 Subject: [PATCH 163/323] Close exclusive fp before discarding --- Tests/test_file_icns.py | 5 ++++- Tests/test_file_png.py | 4 +++- src/PIL/IcnsImagePlugin.py | 2 ++ src/PIL/PngImagePlugin.py | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Tests/test_file_icns.py b/Tests/test_file_icns.py index b19cf2e4c..5e0f377c4 100644 --- a/Tests/test_file_icns.py +++ b/Tests/test_file_icns.py @@ -17,7 +17,10 @@ class TestFileIcns(PillowTestCase): # Loading this icon by default should result in the largest size # (512x512@2x) being loaded im = Image.open(TEST_FILE) - im.load() + + # Assert that there is no unclosed file warning + self.assert_warning(None, im.load) + self.assertEqual(im.mode, "RGBA") self.assertEqual(im.size, (1024, 1024)) self.assertEqual(im.format, "ICNS") diff --git a/Tests/test_file_png.py b/Tests/test_file_png.py index c958c0b39..ca7d3c039 100644 --- a/Tests/test_file_png.py +++ b/Tests/test_file_png.py @@ -327,7 +327,9 @@ class TestFilePng(PillowTestCase): # Check open/load/verify exception (@PIL150) im = Image.open(TEST_PNG_FILE) - im.verify() + + # Assert that there is no unclosed file warning + self.assert_warning(None, im.verify) im = Image.open(TEST_PNG_FILE) im.load() diff --git a/src/PIL/IcnsImagePlugin.py b/src/PIL/IcnsImagePlugin.py index d156b240f..2ea66675f 100644 --- a/src/PIL/IcnsImagePlugin.py +++ b/src/PIL/IcnsImagePlugin.py @@ -311,6 +311,8 @@ class IcnsImageFile(ImageFile.ImageFile): self.im = im.im self.mode = im.mode self.size = im.size + if self._exclusive_fp: + self.fp.close() self.fp = None self.icns = None self.tile = () diff --git a/src/PIL/PngImagePlugin.py b/src/PIL/PngImagePlugin.py index 15077fceb..b89bd0efc 100644 --- a/src/PIL/PngImagePlugin.py +++ b/src/PIL/PngImagePlugin.py @@ -600,6 +600,8 @@ class PngImageFile(ImageFile.ImageFile): self.png.verify() self.png.close() + if self._exclusive_fp: + self.fp.close() self.fp = None def load_prepare(self): From c0ee319af13a9ff9a93561e7c30bbdcfdef35a17 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 13 Nov 2018 22:24:59 +1100 Subject: [PATCH 164/323] Close fp before replacing --- Tests/test_file_cur.py | 1 + 1 file changed, 1 insertion(+) diff --git a/Tests/test_file_cur.py b/Tests/test_file_cur.py index 23055a0ad..1628007ee 100644 --- a/Tests/test_file_cur.py +++ b/Tests/test_file_cur.py @@ -26,6 +26,7 @@ class TestFileCur(PillowTestCase): no_cursors_file = "Tests/images/no_cursors.cur" cur = CurImagePlugin.CurImageFile(TEST_FILE) + cur.fp.close() with open(no_cursors_file, "rb") as cur.fp: self.assertRaises(TypeError, cur._open) From 61397de88b69de514add818dedaed142345b5b44 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 16 Nov 2018 23:31:42 +1100 Subject: [PATCH 165/323] Check quality_layers type --- Tests/test_file_jpeg2k.py | 16 ++++++++++++++++ src/PIL/Jpeg2KImagePlugin.py | 7 +++++++ 2 files changed, 23 insertions(+) diff --git a/Tests/test_file_jpeg2k.py b/Tests/test_file_jpeg2k.py index be49c99bf..8f027b651 100644 --- a/Tests/test_file_jpeg2k.py +++ b/Tests/test_file_jpeg2k.py @@ -105,6 +105,22 @@ class TestFileJpeg2k(PillowTestCase): im.load() self.assertEqual(im.size, (160, 120)) + def test_layers_type(self): + outfile = self.tempfile('temp_layers.jp2') + for quality_layers in [ + [100, 50, 10], + (100, 50, 10), + None + ]: + test_card.save(outfile, quality_layers=quality_layers) + + for quality_layers in [ + 'quality_layers', + ('100', '50', '10') + ]: + self.assertRaises(ValueError, test_card.save, outfile, + quality_layers=quality_layers) + def test_layers(self): out = BytesIO() test_card.save(out, 'JPEG2000', quality_layers=[100, 50, 10], diff --git a/src/PIL/Jpeg2KImagePlugin.py b/src/PIL/Jpeg2KImagePlugin.py index 7659b6bf1..2bf519896 100644 --- a/src/PIL/Jpeg2KImagePlugin.py +++ b/src/PIL/Jpeg2KImagePlugin.py @@ -232,6 +232,13 @@ def _save(im, fp, filename): tile_size = info.get('tile_size', None) quality_mode = info.get('quality_mode', 'rates') quality_layers = info.get('quality_layers', None) + if quality_layers is not None and not ( + isinstance(quality_layers, (list, tuple)) and + all([isinstance(quality_layer, (int, float)) + for quality_layer in quality_layers]) + ): + raise ValueError('quality_layers must be a sequence of numbers') + num_resolutions = info.get('num_resolutions', 0) cblk_size = info.get('codeblock_size', None) precinct_size = info.get('precinct_size', None) From 68343197b14990341a6d03547c4330fd5d0d1c1c Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 17 Nov 2018 12:31:15 +1100 Subject: [PATCH 166/323] Update CHANGES.rst [ci skip] --- CHANGES.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGES.rst b/CHANGES.rst index 53cda0df4..1fb56050a 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,6 +5,9 @@ Changelog (Pillow) 5.4.0 (unreleased) ------------------ +- Check quality_layers type #3464 + [radarhere] + - Add context manager, __del__ and close methods to TarIO #3455 [radarhere] @@ -26,9 +29,12 @@ Changelog (Pillow) - Change tuple background to global color table index when saving as GIF #3385 [radarhere] -- Flake8 fixes #3422 +- Test: Improved ImageGrab tests #3424 [radarhere] +- Flake8 fixes #3422, #3440 + [radarhere, hugovk] + - Only ask for YCbCr->RGB libtiff conversion for jpeg-compressed tiffs #3417 [kkopachev] From bbb4bdcd9e0af252f0b82f40c551fa3ce0c8811a Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 16 Nov 2018 19:53:02 +1100 Subject: [PATCH 167/323] Updated Tk Tcl to 8.6.9 --- winbuild/config.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/winbuild/config.py b/winbuild/config.py index 65fad994b..cc27c1c02 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -55,15 +55,15 @@ libs = { 'version': '8.5.19', }, 'tcl-8.6': { - 'url': SF_MIRROR+'/project/tcl/Tcl/8.6.8/tcl868-src.zip', - 'filename': PILLOW_DEPENDS_DIR + 'tcl868-src.zip', + 'url': SF_MIRROR+'/project/tcl/Tcl/8.6.9/tcl869-src.zip', + 'filename': PILLOW_DEPENDS_DIR + 'tcl869-src.zip', 'dir': '', }, 'tk-8.6': { - 'url': SF_MIRROR+'/project/tcl/Tcl/8.6.8/tk868-src.zip', - 'filename': PILLOW_DEPENDS_DIR + 'tk868-src.zip', + 'url': SF_MIRROR+'/project/tcl/Tcl/8.6.9/tk869-src.zip', + 'filename': PILLOW_DEPENDS_DIR + 'tk869-src.zip', 'dir': '', - 'version': '8.6.8', + 'version': '8.6.9', }, 'webp': { 'url': 'http://downloads.webmproject.org/releases/webp/libwebp-1.0.0.tar.gz', From 06eab8b2a038b171671b25bc10780854b24b1d73 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 17 Nov 2018 19:44:13 +1100 Subject: [PATCH 168/323] Removed unused function --- winbuild/build_dep.py | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/winbuild/build_dep.py b/winbuild/build_dep.py index 3eefb2611..51a4e821a 100644 --- a/winbuild/build_dep.py +++ b/winbuild/build_dep.py @@ -121,24 +121,6 @@ rem build openjpeg setlocal @echo on cd /D %%OPENJPEG%%%(inc_dir)s -%%CMAKE%% -DBUILD_THIRDPARTY:BOOL=OFF -G "NMake Makefiles" . -nmake -f Makefile clean -nmake -f Makefile -copy /Y /B bin\* %%INCLIB%% -mkdir %%INCLIB%%\openjpeg-%(op_ver)s -copy /Y /B src\lib\openjp2\*.h %%INCLIB%%\openjpeg-%(op_ver)s -endlocal -""" % atts - - -def msbuild_openjpeg(compiler): - atts = {'op_ver': '2.1'} - atts.update(compiler) - return r""" -rem build openjpeg -setlocal -@echo on -cd /D %%OPENJPEG%%%(inc_dir)s %%CMAKE%% -DBUILD_THIRDPARTY:BOOL=OFF -G "NMake Makefiles" . nmake -f Makefile clean From ea8a80ba311aa385c664bb7c056cb20c1759722b Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 17 Nov 2018 19:55:24 +1100 Subject: [PATCH 169/323] Updated libwebp to 1.0.1 --- depends/install_webp.sh | 2 +- winbuild/config.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/depends/install_webp.sh b/depends/install_webp.sh index e27fedc51..6394d52be 100755 --- a/depends/install_webp.sh +++ b/depends/install_webp.sh @@ -1,7 +1,7 @@ #!/bin/bash # install webp -archive=libwebp-1.0.0 +archive=libwebp-1.0.1 ./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/master/$archive.tar.gz diff --git a/winbuild/config.py b/winbuild/config.py index 65fad994b..47b89277d 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -66,9 +66,9 @@ libs = { 'version': '8.6.8', }, 'webp': { - 'url': 'http://downloads.webmproject.org/releases/webp/libwebp-1.0.0.tar.gz', - 'filename': PILLOW_DEPENDS_DIR + 'libwebp-1.0.0.tar.gz', - 'dir': 'libwebp-1.0.0', + 'url': 'http://downloads.webmproject.org/releases/webp/libwebp-1.0.1.tar.gz', + 'filename': PILLOW_DEPENDS_DIR + 'libwebp-1.0.1.tar.gz', + 'dir': 'libwebp-1.0.1', }, 'openjpeg': { 'url': SF_MIRROR+'/project/openjpeg/openjpeg/2.3.0/openjpeg-2.3.0.tar.gz', From 47775f3d50b634d1a293370e55fd72fa62640ded Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sat, 17 Nov 2018 21:56:06 +1100 Subject: [PATCH 170/323] Resolve __fp when closing and deleting --- Tests/test_file_dcx.py | 6 ++++++ Tests/test_file_fli.py | 6 ++++++ Tests/test_file_gif.py | 6 ++++++ Tests/test_file_im.py | 6 ++++++ Tests/test_file_mpo.py | 6 ++++++ Tests/test_file_spider.py | 6 ++++++ Tests/test_file_tiff.py | 6 ++++++ src/PIL/DcxImagePlugin.py | 8 ++++++++ src/PIL/FliImagePlugin.py | 8 ++++++++ src/PIL/GifImagePlugin.py | 8 ++++++++ src/PIL/ImImagePlugin.py | 8 ++++++++ src/PIL/Image.py | 4 ++++ src/PIL/MicImagePlugin.py | 9 ++++++++- src/PIL/MpoImagePlugin.py | 8 ++++++++ src/PIL/SpiderImagePlugin.py | 8 ++++++++ src/PIL/TiffImagePlugin.py | 8 ++++++++ 16 files changed, 110 insertions(+), 1 deletion(-) diff --git a/Tests/test_file_dcx.py b/Tests/test_file_dcx.py index 28ebb91dc..52c0e13f4 100644 --- a/Tests/test_file_dcx.py +++ b/Tests/test_file_dcx.py @@ -20,6 +20,12 @@ class TestFileDcx(PillowTestCase): orig = hopper() self.assert_image_equal(im, orig) + def test_unclosed_file(self): + def open(): + im = Image.open(TEST_FILE) + im.load() + self.assert_warning(None, open) + def test_invalid_file(self): with open("Tests/images/flower.jpg", "rb") as fp: self.assertRaises(SyntaxError, diff --git a/Tests/test_file_fli.py b/Tests/test_file_fli.py index 142af3cec..2b2f2da6d 100644 --- a/Tests/test_file_fli.py +++ b/Tests/test_file_fli.py @@ -27,6 +27,12 @@ class TestFileFli(PillowTestCase): self.assertEqual(im.info["duration"], 71) self.assertTrue(im.is_animated) + def test_unclosed_file(self): + def open(): + im = Image.open(static_test_file) + im.load() + self.assert_warning(None, open) + def test_tell(self): # Arrange im = Image.open(static_test_file) diff --git a/Tests/test_file_gif.py b/Tests/test_file_gif.py index cfa1bb1e7..16803dc11 100644 --- a/Tests/test_file_gif.py +++ b/Tests/test_file_gif.py @@ -33,6 +33,12 @@ class TestFileGif(PillowTestCase): self.assertEqual(im.format, "GIF") self.assertEqual(im.info["version"], b"GIF89a") + def test_unclosed_file(self): + def open(): + im = Image.open(TEST_GIF) + im.load() + self.assert_warning(None, open) + def test_invalid_file(self): invalid_file = "Tests/images/flower.jpg" diff --git a/Tests/test_file_im.py b/Tests/test_file_im.py index c99924767..f3349b736 100644 --- a/Tests/test_file_im.py +++ b/Tests/test_file_im.py @@ -15,6 +15,12 @@ class TestFileIm(PillowTestCase): self.assertEqual(im.size, (128, 128)) self.assertEqual(im.format, "IM") + def test_unclosed_file(self): + def open(): + im = Image.open(TEST_IM) + im.load() + self.assert_warning(None, open) + def test_tell(self): # Arrange im = Image.open(TEST_IM) diff --git a/Tests/test_file_mpo.py b/Tests/test_file_mpo.py index 70bb9b105..9f79d8cfa 100644 --- a/Tests/test_file_mpo.py +++ b/Tests/test_file_mpo.py @@ -31,6 +31,12 @@ class TestFileMpo(PillowTestCase): self.assertEqual(im.size, (640, 480)) self.assertEqual(im.format, "MPO") + def test_unclosed_file(self): + def open(): + im = Image.open(test_files[0]) + im.load() + self.assert_warning(None, open) + def test_app(self): for test_file in test_files: # Test APP/COM reader (@PIL135) diff --git a/Tests/test_file_spider.py b/Tests/test_file_spider.py index b54b92e04..4612b36a1 100644 --- a/Tests/test_file_spider.py +++ b/Tests/test_file_spider.py @@ -18,6 +18,12 @@ class TestImageSpider(PillowTestCase): self.assertEqual(im.size, (128, 128)) self.assertEqual(im.format, "SPIDER") + def test_unclosed_file(self): + def open(): + im = Image.open(TEST_FILE) + im.load() + self.assert_warning(None, open) + def test_save(self): # Arrange temp = self.tempfile('temp.spider') diff --git a/Tests/test_file_tiff.py b/Tests/test_file_tiff.py index 56ad69473..95a181363 100644 --- a/Tests/test_file_tiff.py +++ b/Tests/test_file_tiff.py @@ -40,6 +40,12 @@ class TestFileTiff(PillowTestCase): hopper("I").save(filename) Image.open(filename) + def test_unclosed_file(self): + def open(): + im = Image.open("Tests/images/multipage.tiff") + im.load() + self.assert_warning(None, open) + def test_mac_tiff(self): # Read RGBa images from macOS [@PIL136] diff --git a/src/PIL/DcxImagePlugin.py b/src/PIL/DcxImagePlugin.py index 204592759..1b72cbc99 100644 --- a/src/PIL/DcxImagePlugin.py +++ b/src/PIL/DcxImagePlugin.py @@ -81,6 +81,14 @@ class DcxImageFile(PcxImageFile): def tell(self): return self.frame + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + Image.register_open(DcxImageFile.format, DcxImageFile, _accept) diff --git a/src/PIL/FliImagePlugin.py b/src/PIL/FliImagePlugin.py index c78c8c622..d093ed705 100644 --- a/src/PIL/FliImagePlugin.py +++ b/src/PIL/FliImagePlugin.py @@ -154,6 +154,14 @@ class FliImageFile(ImageFile.ImageFile): def tell(self): return self.__frame + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + # # registry diff --git a/src/PIL/GifImagePlugin.py b/src/PIL/GifImagePlugin.py index ecd993cd5..7a68064fd 100644 --- a/src/PIL/GifImagePlugin.py +++ b/src/PIL/GifImagePlugin.py @@ -296,6 +296,14 @@ class GifImageFile(ImageFile.ImageFile): self.im = self._prev_im self._prev_im = self.im.copy() + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + # -------------------------------------------------------------------- # Write GIF files diff --git a/src/PIL/ImImagePlugin.py b/src/PIL/ImImagePlugin.py index 38b3f46f4..1a4fdb65a 100644 --- a/src/PIL/ImImagePlugin.py +++ b/src/PIL/ImImagePlugin.py @@ -290,6 +290,14 @@ class ImImageFile(ImageFile.ImageFile): def tell(self): return self.frame + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + # # -------------------------------------------------------------------- # Save IM files diff --git a/src/PIL/Image.py b/src/PIL/Image.py index 541c62c49..ad30de478 100644 --- a/src/PIL/Image.py +++ b/src/PIL/Image.py @@ -596,6 +596,8 @@ class Image(object): try: self.fp.close() self.fp = None + if hasattr(self, "_close__fp"): + self._close__fp() except Exception as msg: logger.debug("Error closing: %s", msg) @@ -613,6 +615,8 @@ class Image(object): and self.fp and self._exclusive_fp): self.fp.close() self.fp = None + if hasattr(self, "_close__fp"): + self._close__fp() def _copy(self): self.load() diff --git a/src/PIL/MicImagePlugin.py b/src/PIL/MicImagePlugin.py index 1dbb6a588..6e29e456d 100644 --- a/src/PIL/MicImagePlugin.py +++ b/src/PIL/MicImagePlugin.py @@ -95,9 +95,16 @@ class MicImageFile(TiffImagePlugin.TiffImageFile): self.frame = frame def tell(self): - return self.frame + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + # # -------------------------------------------------------------------- diff --git a/src/PIL/MpoImagePlugin.py b/src/PIL/MpoImagePlugin.py index a1a8d655a..06b93d921 100644 --- a/src/PIL/MpoImagePlugin.py +++ b/src/PIL/MpoImagePlugin.py @@ -84,6 +84,14 @@ class MpoImageFile(JpegImagePlugin.JpegImageFile): def tell(self): return self.__frame + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + # --------------------------------------------------------------------- # Registry stuff diff --git a/src/PIL/SpiderImagePlugin.py b/src/PIL/SpiderImagePlugin.py index 3f5795210..9dd7a7c03 100644 --- a/src/PIL/SpiderImagePlugin.py +++ b/src/PIL/SpiderImagePlugin.py @@ -193,6 +193,14 @@ class SpiderImageFile(ImageFile.ImageFile): from PIL import ImageTk return ImageTk.PhotoImage(self.convert2byte(), palette=256) + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + # -------------------------------------------------------------------- # Image series diff --git a/src/PIL/TiffImagePlugin.py b/src/PIL/TiffImagePlugin.py index 5059a1324..5ae8211a4 100644 --- a/src/PIL/TiffImagePlugin.py +++ b/src/PIL/TiffImagePlugin.py @@ -1347,6 +1347,14 @@ class TiffImageFile(ImageFile.ImageFile): palette = [o8(b // 256) for b in self.tag_v2[COLORMAP]] self.palette = ImagePalette.raw("RGB;L", b"".join(palette)) + def _close__fp(self): + try: + self.__fp.close() + except AttributeError: + pass + finally: + self.__fp = None + # # -------------------------------------------------------------------- From 130b8b3971245113914df72897f4d28176a877de Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Sun, 11 Nov 2018 15:36:25 +1100 Subject: [PATCH 171/323] Updated libtiff to 4.0.10 --- winbuild/config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/winbuild/config.py b/winbuild/config.py index 65fad994b..1e05df8a2 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -29,9 +29,9 @@ libs = { 'dir': 'jpeg-9c', }, 'tiff': { - 'url': 'ftp://download.osgeo.org/libtiff/tiff-4.0.9.zip', - 'filename': PILLOW_DEPENDS_DIR + 'tiff-4.0.9.zip', - 'dir': 'tiff-4.0.9', + 'url': 'ftp://download.osgeo.org/libtiff/tiff-4.0.10.zip', + 'filename': PILLOW_DEPENDS_DIR + 'tiff-4.0.10.zip', + 'dir': 'tiff-4.0.10', }, 'freetype': { 'url': 'https://download.savannah.gnu.org/releases/freetype/freetype-2.9.1.tar.gz', From e2a1ad329f9178216a55261b7bc1ce26fea57d0d Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Mon, 19 Nov 2018 22:46:27 +1100 Subject: [PATCH 172/323] Changed libtiff to use .tar.gz --- winbuild/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/winbuild/config.py b/winbuild/config.py index 1e05df8a2..3273d2e57 100644 --- a/winbuild/config.py +++ b/winbuild/config.py @@ -29,8 +29,8 @@ libs = { 'dir': 'jpeg-9c', }, 'tiff': { - 'url': 'ftp://download.osgeo.org/libtiff/tiff-4.0.10.zip', - 'filename': PILLOW_DEPENDS_DIR + 'tiff-4.0.10.zip', + 'url': 'ftp://download.osgeo.org/libtiff/tiff-4.0.10.tar.gz', + 'filename': PILLOW_DEPENDS_DIR + 'tiff-4.0.10.tar.gz', 'dir': 'tiff-4.0.10', }, 'freetype': { From 84df069169b4ad429f34a6b1bc318ba9aae73129 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 20 Nov 2018 18:50:00 +1100 Subject: [PATCH 173/323] Use im.info background when saving --- src/PIL/WebPImagePlugin.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 0e9de6e48..084eedf53 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -191,7 +191,11 @@ def _save_all(im, fp, filename): _save(im, fp, filename) return - background = encoderinfo.get("background", (0, 0, 0, 0)) + background = (0, 0, 0, 0) + if "background" in encoderinfo: + background = encoderinfo["background"] + elif "background" in im.info: + background = im.info["background"] duration = im.encoderinfo.get("duration", 0) loop = im.encoderinfo.get("loop", 0) minimize_size = im.encoderinfo.get("minimize_size", False) From 6c126ca2821d0fba00fffc290aa3226692e15ff8 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Tue, 20 Nov 2018 19:50:14 +1100 Subject: [PATCH 174/323] Change color table index background to tuple when saving --- Tests/test_file_webp.py | 20 ++++++++++++++++++++ src/PIL/WebPImagePlugin.py | 8 ++++++++ 2 files changed, 28 insertions(+) diff --git a/Tests/test_file_webp.py b/Tests/test_file_webp.py index bdec8273d..a79ae8d9f 100644 --- a/Tests/test_file_webp.py +++ b/Tests/test_file_webp.py @@ -153,6 +153,26 @@ class TestFileWebp(PillowTestCase): Image.open(blob).load() Image.open(blob).load() + @unittest.skipUnless(HAVE_WEBP and _webp.HAVE_WEBPANIM, + "WebP save all not available") + def test_background_from_gif(self): + im = Image.open("Tests/images/chi.gif") + original_value = im.convert("RGB").getpixel((1, 1)) + + # Save as WEBP + out_webp = self.tempfile("temp.webp") + im.save(out_webp, save_all=True) + + # Save as GIF + out_gif = self.tempfile("temp.gif") + Image.open(out_webp).save(out_gif) + + reread = Image.open(out_gif) + reread_value = reread.convert("RGB").getpixel((1, 1)) + difference = sum([abs(original_value[i] - reread_value[i]) + for i in range(0, 3)]) + self.assertLess(difference, 5) + if __name__ == '__main__': unittest.main() diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index 084eedf53..212e6b4c7 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -196,6 +196,14 @@ def _save_all(im, fp, filename): background = encoderinfo["background"] elif "background" in im.info: background = im.info["background"] + if isinstance(background, int): + # GifImagePlugin stores a global color table index in + # info["background"]. So it must be converted to an RGBA value + palette = im.getpalette() + if palette: + r, g, b = palette[background*3:(background+1)*3] + background = (r, g, b, 0) + duration = im.encoderinfo.get("duration", 0) loop = im.encoderinfo.get("loop", 0) minimize_size = im.encoderinfo.get("minimize_size", False) From f87406479c4fede2c4363782560a715f92befd64 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 20 Nov 2018 10:51:40 +0200 Subject: [PATCH 175/323] Use VM-based infrastructure https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b94923933..ec1c0b536 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,6 @@ matrix: - python: "3.6" name: "Lint" env: LINT="true" - sudo: false - python: "pypy" name: "PyPy Trusty" dist: trusty From 248d5f7eede2c5b0d54ad2a075c5e6bbf6c224b3 Mon Sep 17 00:00:00 2001 From: Hugo Date: Tue, 20 Nov 2018 11:06:28 +0200 Subject: [PATCH 176/323] 'sudo: required' no longer needed --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ec1c0b536..6e8bb7b5f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ dist: xenial -sudo: required language: python cache: pip From 0f42cdd63936fcc4c805c55e3b9c666d2bd64439 Mon Sep 17 00:00:00 2001 From: Andrew Murray Date: Fri, 23 Nov 2018 18:57:17 +1100 Subject: [PATCH 177/323] Added functions to Read The Docs sidebar --- docs/_static/js/script.js | 60 +++++++++++++++++++++++++++++++++++++++ docs/conf.py | 3 ++ 2 files changed, 63 insertions(+) create mode 100644 docs/_static/js/script.js diff --git a/docs/_static/js/script.js b/docs/_static/js/script.js new file mode 100644 index 000000000..2cd7335ec --- /dev/null +++ b/docs/_static/js/script.js @@ -0,0 +1,60 @@ +jQuery(document).ready(function ($) { + setTimeout(function () { + var sectionID = 'base'; + var search = function ($section, $sidebarItem) { + $section.children('.section, .function, .method').each(function () { + if ($(this).hasClass('section')) { + sectionID = $(this).attr('id'); + search($(this), $sidebarItem.parent().find('[href=#'+sectionID+']')); + } else { + var $dt = $(this).children('dt'); + var id = $dt.attr('id'); + if (id === undefined) { + return; + } + + var $functionsUL = $sidebarItem.siblings('[data-sectionID='+sectionID+']'); + if (!$functionsUL.length) { + $functionsUL = $('

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 delta 6410 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 diff --git a/Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif b/Tests/images/tiff_strip_ycbcr_jpeg_1x1_sampling.tif index bbb969cc20f9043ee1c730b1656ce22d6ffb34e4..ca8b634bb32a4a3db2b3be8cb026921d77341feb 100644 GIT binary patch literal 71401 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 Z(MNfnxBmbxfA-G2ANh>=n|-g5|Jij*Rrmk^ literal 44042 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 diff --git a/Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif b/Tests/images/tiff_strip_ycbcr_jpeg_2x2_sampling.tif index 86b5816668e2faf7e07d32ee047b566401f9e02b..c3207e451e6b8170f29f5fdc15169a25522afd7a 100644 GIT binary patch literal 29068 zcmbTd2Ut_h)+ii$2SJb^p@Vd!_uh-N(5pZQkkCU1X(FJM(5v(oIwBoJ0i`#ki-45S z1*J(5^pEd3=YIcp@424$yF1Th)}E|BYpogf9<;Q00E7SlfC2!(!U14mpjFHl)<0nv z42+F|aWLb3n1=JuaRLmC|4$en15;w*0%$QkI|iTTpX0x2?)($Jg@I}Ri8F+OLH`{8 zEzbx8|Hh5L+*n}|0OYX&fL07lg^dHifS862pvJ}n{FW1g8ILH#23%rPKK)IExd{LI z{JtB)v^`8?#{~esWBLh9GsD2-cmMz~hWs4Un_$`kW=sat*J65VO#d9y|H8DF82ofh zd-2cqg#%ImU=3qJ6*T~m1_S`wKmb4;GXN064ggGXVLZl41kpck36)^Ht z0RSy60N_j)03b2~0Lsh&fKqFWY&!s87Xkp}IAeZy1pvf6F`oYG^V^Q!zWDXeKH@*z z|62I<37`TX#K$MV$0H;lARraRW`adTL_|tL3M3-~3bTM%g#X9auXg|@jP`g~e_a^G z|GKcSad7eQ2?&XZNiYa4w|<8a4mK_h9v&{n(^#RH-vPLkcvLJxO8B=8?Fm@Dsf8m` ziV4}28+&QMAHK1RI3OMq5#ON&(%t2_$H~RbBPu2?At@!TqN=8@p{b>9WNcz;W^Q2# zafCWKyTIT+zJC4zfkDAhPoiUDpFWFAO-s+n%*xKmEh#N4uRv8+RljU%ZfR|6@96A% z`>uaraA)+Z%iLnbC z7Z(SY;I~~^*a4V^Ly3#WB7{$+WJqA|eVbJ{l8{D5hLyo5>)Mdp~f(Gj3vT?f+EsF!qP&b%$RRMA!$+3zd@%8bB6iC zf`5zoe`BDJz;N)e#~AfLr2j40-p$ezW9e_VVw@uMr%6)_ggKc)5kCKz0Ab-jIYlkd z%hLxF6Us1qpMS-L;GdcQgFx5Q5#!0f!}=dS=MoeU6cqjwXLXnx)X38h@jKQq;qr$W zQFpWValv@;PqX$Hju$NOzZ@a-$M{p%^K*BABK}GXsXwae39)y30QGS8#i+m~EF>Tz z^yeH>|4m@vX72$7Lw!8m{C+2fi3iLVW5Azm{9jb&|3!uoC@CZ)Dj@uyHT+AU#s8F4 z%flCn@Wj*!dk2^s%s1$v7ACU-S>?e}l7G5D=ABUa%5Uhjkjq$C6-#s4(9nEDAtz&xD)5#4{9pWhgmO#Vw* zW&_UvD8k6a)0f#u^iKw2DgdTN{*UYEe{O@6#9Qj z=6}mY_}_9-#%x&rrHbtR|Gv=yV7ARY07^o@Ev!`>ELH$EB^C}P)~`hXDGnCq28R-$ z06-w&YU~IUK?^hWnl*vF)4*okwwX_ttU`O;!0I;y#lH1wosE3BxB^GgShrk1fdFg% zhTr=pR$iO|SH>-d+D}RZH6d|}`)~cK&u=v{2~f;MMdt8~wjs`e)Y-&@hp-dwr+07; z&#c2*@NeECyLaH|mukIkN6iSBuz6a+t6Yi^@pIW+*qT?!j3`d>A>4bIqv^qr@u2@t z=3WT6Z?>fO z^Bk}p%b&e0i%Rx3YRd?rP4g-|e6c5=k-l5C*Cv|qBPUqa{!j;U7`Hn>Q0}9ohT6HQm9}~+jr=9#HfQJ6gfcW&4w=Vyr_AYxoTRUqqPr(zTr?_X^Q`tK{ zd5~R2qEr+TkB)4HqOxphEjSE6&5P~*dm(?&b*w_UN@bBb#DOp@N{pM2;Ecxha$%vA z(LXN~rb($p-Q+h}CC8%-*l1C#|04XE>kFPv1isaAS&!E_)BO_^PD(-;4W)O#r1$)B z5mAOuAv}!}faKff8fE7vQ8;U=) zrXnp4J=g+ zDU=IRJ-HQ5jLSVBJso0q`qOwF3p_gAep*qWE}~<%0Hhhv(|{-~UQ9l;#K9XWxJhJv zH|AfjsnEZBR`cSEE-sWN5A7WN3vjpN7ES~YHF!*3z?cG(9WMt90!jTe~B0+wEqNU%1(ahNBYb4?8cxJ?!oYngt z#@J$+F{t_NR$DClh9>Q}N*KJwR-ZTst1tn;F9h1>zH)b=GF9s7Ccq8Z9kvhkvGU9ef}-Qz*9; z?#ftB!0OwGJf%jJs|pLFzST>BjXtD>ME+P$>2!F`vcXna$=PnKyZPcx9anERo@+e& zNTn7tq)IG4DA<|9Y*T+`=D587t0YfUQMJg&(OaV+;xoYu&Lhn^A%$Nb|3=PdgX5HR zR@%vX;Vw3%DK>%3Goq*anq+9ZJ$fLnQ%dBgLG9;y3HmO8A3ff>+%e4GU(pt8 z{3^%`U!x8>Oq<$2fbGv1)5ea4B;2<+r{sys;Ls-}&^BwF0GkbSRK4mt980md-`xRv_a*y$mV7b%sK@!v-jz zCbNw%0;wlyzsGCo$6u^%Lqe)ADLPiLaa`rdh84>b?3Atj3*Z~KYwA*RkL}0jd?rCU zf;j(Kk0(rUR~FkRads?O-f#WC>V8VgVEzHV!wyXkRg>7{tSZCFA7%O;t%BInp`r^i z-PNO_?A_j19czFH+7g!ND3!7}tGNkSbcYc8uj|*tCC^iuaOn03w8M!duXUN3lI7ow zq*KnIrvZn-;KL1^NUeyYNrE~_5FmI4+SpU^mE(m}8EYsSGKEr!plE=XI11%aWCzcr zOoZ;W(m6PP7Qzi(iK&qqb;>)&N0=7`ZnUU8CM5U;n77c=eb$Afa*mOdOJwt&v76Rs zt7A@PO1bivPfzQRL4pm?zK0arroHsZ=m5s_w;g)Z>e|Vs5j1+!$uM(l;i!WBpVV_K zufGyZUvpP0Np8pa0}0F$3fgaY#;i7;-V1|CG5b>w*~MwVh}b;&znZcbHs|@trmZ}a zk75V$s~$?&p=as_S9v7uLY_D9krS}b>@6pA1VG~Fw>n?X$WOW@fSI!7;sdIhZ?Lb7 zZ`OEp175hiSDEP1ujkq81-a${@ce%Ok3Z&1GkW`#e*Sp;f$sJUaZ?3sG5UB@MT7Pn zy&A^YvZ(8YeAGT4ux4Vp3321~^j--4@KbEtv`R1SLr#Z4w2P>XG&O}k?w9T*??QX9 zez5jamPGrgmz4uy?G7qsJ3bMbIl$*FW#lzHELSfM9LglLrYbg z7XT3P=KaHhLvT%>X~J8B`FaH(dOoSug0mLXg(1t^$&~-D9 zXE}4+J|9md*YZy(UC#5T#3S|;$B`LK*&4ykb_qxhrhL`8ny6=3C`SQU0F|8j7T!C= z%Ov<46ubhKAiMkq$vlrG4l!FZZ`+x^f_prFN4b%;$gH*_pbWphL^ zL&NA=We&xblnq&V=`vnJ2k!d?5KhTpi@`aZGa^8$YcNR^eYHC2)6S#fiTd=qk4`B? zo$^Mboc)WI2|$haTH`Czu6B`gfc^X68J7l@UdgjbcovhO;d?JUGD2EDEd?-4-J&y$ znu=gVI{4~+m|@boTxd0bh{@NNsZQ2j(Q{O^f1CXqfu*+;okH|I>=*_L%RopwU|D*- zWQe3483M*xG7Q10^7Ilk>0tN;7|7cj2}Uz2G4wmLrL#oP)qH!v5fAYSVN$U&%5R2p zzPG>L?OG0&SktpRdQDHj*t}Hr3*fwOBOgsnAHD*VFUd84AYHf=hj#ZLEboy4aFO{g zs-`i1kZUQ{7%5QVj51ApG^dO{?g##u1d|L2cmJL*C1rH%Xggyk;G8LB6lbug%9x>p z?WnQ~fD_O{AF&$d8|#xtUXY$WXn0}3;-85IQCPxuBLulVkE>6e3~nn@up6y`?r`p! z1W@%Vp=axQ@s}JSOxn+ch`o{Nkr8V@zdFbm?kEk(?E;P6_#>(qS5H}U&EiaafM*Q- z+&{Wv+2*I>0q@_Dy>wqe*0);JpKjC=VRkUW|wrS{n+Bm~r1? z^GMpV-Ds~Wk|~@ROhoPPFKXc#kg6riL7;%Iv~LTNB=(LS!9sE^C2X@ zt*Weh<^fW9t#KMjd+jPW%-{VCvXpz$m=hPaDby-$VUb=9h(DOQf!{(9cv^-bctnon zLl|4oQc?5S=wHlZ*Ctmcd!HR z?i;2lUE+H%L{1XfQ@3lBo}XD7=c(Mixo$aN^Udl-b*_58KzGQNP9cXr`>FhFR@E~7 z(>|Qfb?^)L`rdAuUYsE*q&ENPz;=R(0tg>>heBTFUXjUjG{4jrcC*8y{^UuaTd67F zce|@yudmIwn@R75qH5f6LG4nitJcd1Jiu|R;FiT?Qku`UZ`=E_j@t4vI(j$YwSO86=jR@K7}{x zl{;7)?WnnyJ%1)nQbl`Ia~!CAX67p$#dIDmqvzhnYlC3;Kv7Q2-f8f~%XRG_j0iVH z4{3}xz0i7}$KJ#H2WIuOu$9{>OC}cBl_IM_j;E*c>C-#! zBqXgj*iWf@q;9lI$4)31bh$z91jy~V^o%E@?-H<%ljd?u6%LWFXAvud2VO#L2&n$6 z1OUN~&$y9WQd$v1=&oc-jd+!^@05?FTr_|CcALE(&P9^GwgYmzsGL77?Nd=z=$Hoj za99rR^4UqpS3ZMy!((fQ3%7B}#S-2#gXi?r=Y(tZDlQ6eDpgsx$?}wLXsbNkH$|H1 z{k$&sXLZYfyOKNJnp43Mp}RPFkKQUwJdcL-_FmT*J{=2q6#GrIwKsY|`%9nUuzuBNw0v#2uds`ce7N~!SJnE{mG zRxEv{fJ}xT#0jsZr*eqV_qPor(m4ld?Oc;f za2rfU^ky3pY2%W#?rpfqey)jiF?dX*Kp6I2?i;asn163?f zD^%0fDcINR@?`As*%%0_&MHe*in6Q~6vONE@2-Xf=Yj(u>;~S$*Hv_nYdip4Uw6US zMLzQ{`i%?jWRVD{YNQgFe!nvH$&GszOXCk;c&Ncp% zyi?Fnr$7EAvdVTgiKdl#SDCG<#aE5Ic zmw9P!$9aQ%rn0S^-5Sd8?7W?Ec$0P9s(p23$Sk9B4;UP!^77^N6DG)9vo8a-jU{4` z8;;se4*1S^Hm#meJ(@wri+nGuAm1Vta8Jfj;Z+(#XzZKgdX#nZbe%7^yOBdl1&x~J z4As`8o{o(GjR8KjKh5JuLf&#^({Nh8L*qPunp07)y@Vi#`X9L(x=FMSc%$5CY}c}H zEBPEtwRWaMdu9p56`j;+5635lXoko`628|X2S=uv1y#q2JKPGp4WX`rc`5ZN^w8d% zoSWxtCl%crcup%otV!9qkfosfA^GN~)-{QHVMhJ5U!2D*B#L{6&|s1x^Uz;_zRDQR z%6@^vYclBMS0$%jZ^K2OMpGE>@aTMoK!ocIi-cOdg&D)LD$K2aVBgF+l>AiL=I3Dbd5|u@HtK?_=eSGno z&J?pmz~0kJW8f!O%yKcvHoaKoT6E|1$D787EE5pVj6sOy;z0Jx!SACUu~|5m^Rhh> zB)xmQA&N8SoGB8^yQf$4YVsC?sTyw{d-dCQKRH(?l4&0R>}mt{KXugEI6rWOT@U>N zY%E_AOfSC7KJ3Bl66!5_2TW7e=Sq2uypqe~^CBapiD}cc5(kmZ9gE_~?s2`VY~+#> zJ;lsydl_FeQLn;86)Bbx8y=7|O;^VNAlH8nhipU%r4to1L1OHPC&$|=u(uU8 z8vzCu+8b(Y#;40Zwn_kJ@dfpZYrcQb<+!6X34cHw5T}O{-&!pD#+{%j`Gsp1Y*;PB zdgvklIGdIv6|vGCt-JskCdhMVeEgh~faDyeM6KC#lHmQ`2%9h0RRGBA%-N#rN^iZQ zK`vOkbi?avs~R%Ipoj+{8f>9Z^9eLSl=5^ZKtT}M?Q%)vK*~J(w2JgKYKy7P0cpTx zys1agqFMK9bxnT%$g}>jE|~yWhBPFtCSZ^?0#HykG||t%Alego_1*-GvCTgibgx5 zB2JYY9$#8C{jFrw>ryIb?%AZF(vtPH+rC;T1e3GRT@**AilT27vnfAO6gZaVrN0F zE2$nQ$gNo3ZxFMdMF$k!Q;AdrO6M0vwpCsNuY79<2?!W?D_&(T^$hcpQd*BDi!?@& zu2N2wXb%=XMU5P`@;r!0pcyx8C*w9%`Z2SbaItVYCYf;0BfGEOXpW$GXgNWfx+|d_Ad##;)N@?$S$nzb)!pc7YlaFF;EFWmPq8{3 zLB2KX2}NFbDy4L12i zk@=l%#^Wk3$?74`Zi2Im0}#^csv$N$;y!%nlObjybtpHn9Tg$lVtSn2kd$>?)G!KqK8+ZcJw(N#7S{drjLzuLmSN02~OBh~G;{Y%0JLEd!Xv#~; zhKV+4NU%|e)Vt+t^IQS^>VuvtNe~U*2jZZYWqI@IuZM73C%0~-<(dtSTnqv$u!R=$Q$MuJbl8LQ3SF8TQNEO{ir^=$ z4yg|pfIVh?*7P~gBwdQeR30F?J8o@kT@ZMn{T)ykpYRJ1q*P47q@smT2mnPTqF~qI z!zJZK*H7y~L7pOA5-2qfC-!z-Y*pdi7a- zsj}x%r1gW~bm#WE8#c?wG%Qc|buy6Kj$~|ODG5zj)^*!)DF`-&414{CB^xPYH`6$Z zD*iJ6w%~*Ac1io(?S@yTgRIQDKF2a|_}uNSwx-zs1^pt2e_J^q$Fbqn=EOdv4? zt?9n$nKC(|55a^}HG6QJJ?IELdoK0d)2DGlX^6GRZ|JnT6S~$JHIl|^%%FcnVcFhu zzH1={xmRoC%QYA=@|IL)7Ci3B#-5l*8ntgpRmFA!TQPAdh?(FJf{ zP8SAYo?>3%TR$`?C+J?Z6Xa%DxYXa}1ll)Mip5upM(O1zugy4y(TJ62^tWc{9Co8($?`KC(BsuNiKZ;F9~^EwMopxrhoqMVb^se{S`zBJBYLmZ zES@F2U=vpnj@$m~aB}9Kl%Jr%wrj(<(>p*Mr|q-CB%uBfn&A7c- z8YOZ&ucA-F+q68(;j0H=hxcv0 zi|-TA&PnS>gNqHVK%eoTi%mi;Wv(w{8+v)AdL)kAbdsXu{gQhH1?kwsy?9w?)a^?h zU|@(}y=v|(qjS+W6@g7D#^xy{(2OL{r}P8SHAw<07J?t6KdHZDyNG3xbr6w#fxUt8 zXJiU`U#mo^c0Ekb&^|w_UKO2e(I1g+Jh1Ge@)&{%=|LSDz2tNu%eB?Vq-ne0{oH5M z#U_z@>)vOmw~`@h0Zc-4TitnLz^TNQt?Hp-6koZ-Qsr_N+Q<}L=sh4EP+6W6h48=O zPVi>w1^?%VZ}ds49j5>;7{k4lKu)yuM#aSL?>+E8vG-+EXtv@ydYy}g_4^)s%HQ6;pU<^fo)j&7m6FtAJ|(8* zJK8HuWpKnA9%!N+y|MM6ICN5LIit7wI1i^eMgQ?S{Zp{ZCxqlku7woZF3H!lwlIrii9AS#LWo$Jbb*5W0d~!%MEPN>R!sBRVFA zi36(NISYTb7%ld9YgH`44R?u~UTbgX8DSoXe`n)UAx0;MRvSYDLXo=zCN4bri87?L zE*7uN)?T;R+L)3FEl#Yx_UQ=ktL|QSp)c3;f+-uhau!)-UEduJI*Pa}6f0k5Jn%fd z_PcoB+r@r~X_XQul4-m*N_q*c-$e3qBfTRuw6)NbeFu5=S~zp@O=GRCoHIp+aG+yZ zw$T@#C`;i;Sz_QS2$WRkqq9yAbHf!-O3Bf#@t0znR>*K)?g(Yv9`<54A7#05)tvCR zUKCj@)m0}KU#bgJw&2C;0E0VD3Ch71vKz+|FLL-5TncF#mi=Ur<0562O$Nf2TV4v_!^F%Jl1@!i}GJOUa(J zv9Lyv+ffW~c{b?0@|7HnCckB==Vpue%>&Y@>U3I}WqNSgO?pQbnD&L0Yiy9-uC4y^ z#!KWcK%!JOV|(q}TCu}&QJ!|q>;q5BrtLN}`qz2jsEqCnzK8F!QiOWZASSp(YnVrP zzL2B(069f5s#Sw|tHvljNXiCRD}yFu%QiUGxdbojYBMB zY19LLP@J|_lED&KDo*hMA`)2~!&52m_*j&VV5%j7-k+QIP?kIA9qe)@Z7f-B^X#@G_=<1)zq;Xqks@$yT3M*McspKyTG3)^0;oZCzny@eWX73S z*e*zledasJyPH0yoB+CQQuXM7(XV3XJlFjqb!$a4WZ4f&E5n(1^i7Q4xQ zGxrNX{3Yg#UxSeO5ZcVX2<|Sc;FQzELy?|#9(xhD`40TUrLWAhT0CEg$v4aol&P+x z_@Ql#+)y9#6TdJosq1RGWGE-VkyD-SVBgy8#kZLa@S~S|j&OsrPThA#5);P9;jg4{ zK9xf+{LhDxGG-<$pIjh$k6nF?r-xE)Cj4)SAkn8{Ps7vgHV7oQ7hBJsH+MYIawP@x zIgZ?g0tZ2MXYwm&Pv+-ZU)EOFei`ku2jFpD{-n_+vmI!cF^Ye^ZN0r>Pt0lsNS)s5qBaEy?r}FsG^@KuS9`n z84!nBVUt9W_L*XM+OOBmiYCZ~0Swjk&%M9PnK(UX1H@dbE7bXFSy-QO>mG|i<{q)F z`Oo;#$BzyOn@3beA}!j7aW_y3NY^=cQy`0ZNunXO9Zv#)H}fK#-7Ji(r9ePMWP1;o zv}=Q%2Fjk`txpf_51qK1IK0r|jY~@j+#QV*lxC*^}X6D79&f;BFGQ)*j;=90b7Hi|RaRqlH$cMLJ<2RvlSz9_K zu+%+alK6gw>dXQlxmYhEy8VI@ETol|8oEsLrFuugt{YQ#HIT#luhE z=`}YnbAkj1=bk5kO5NoLo@d$OKtt(s9}4qbuazof*QN(o_*@Y?LKR*qZp?VWXibn%678w-+s7MpXYwugpEGp2={YI{b@Q-wat$Sr zp%E(?)P@IAX@yGrwu!{n1?6rJ^fvjH?w?er$!}f~0YGh_?1a&pcI3cIGg*OM=I95E;$t%CI#w zh_aBhxe7B@!)>c$zg3JO8b@TV>u$J5G*U0+1p6X5qp)>R8Egc(NM=(bx;+%NQVtfoRW2>u8XX=w+w2;I`#pn}+buu#e+Zh&1c@LW?UP$71n^#Hv7)zgKerahWP6Ks z_}NdG)>C)16fU`yx=#W#VNQr+84<>^To>H42EEx=B%Y5f-DQJ3XX+)dYo5J+-{3pX z>rH}nvnpBtykrjbw^o8(MdEg#RH;uYd2q;_^Y_~QUh~PDChE0n?chPmUx0}Dm?JMK zDP3i)p+)jw6aTn-cG~XpCDp$G@RtcG{)!K)IwH9&hp= zOf8JHFOBGfjhKdJDBNNhjgQ_m%INRM?ZgPAH@Ba$TWDjRFQgeRskjC|=S;MEzmcN( zZA|_P!kwXKsDgk?IMAaH^D<%qw(z#|y$8ReuqBg_hU6j7Kvr$`3F(NiB+rsVi>Xh6 z^sJ3?-^zvOk2EBb;G|l&bfL#7we-+zd%plW-P8Au z4~tzUAxMh%=k@g@HHqT()DycqgBc3iD>{{Dl8>HeJvPtw_1(CfOG$OEdPtx`-CZu> z6l8n+#mSIH5>Z2d?D*F9eRMCJ(M@C{rQ)o8dAY8AtpZe0wojp zwW*pvd^U%Zgu5|#fxPy2;Oh?{-kc-e3+D|yO-IzZI2TaOjXyU+Y=e82mjE^Tsf-0MMcxb8`d&SP2qyT z-$9=K0({Imp4>1Pv8eNYAqi?|Kdk~cb;<~Vzx!oq*3k`E5Ax4mhloE#Vz1&2`s6lw z+odJ2;PpLz5^xaL6ab&|;1J4;(=&!hilNFE-+Y{Dq&#W2N6dbh^mW&>9yyXy@ebM^ zAUy;=s(yF#`6RcEbTRSlN%5AG&}*&9@d<*>p1L=;c6L1xoRK6ofU#~0(bnMG;gELZ zTKrPtgisQHSEw58d)n@=YVI9{)WOlUBG!pu`hZ7H+=TbpaHbiQCL8LUbm%f+`Xle6 zQoAXp>cn0?oAuz&YbMFUd%;xr&}dw4wLRu4@bU>e^l?g5GZO2XOm3V7Jmu~uhgu^= z{iM`r_KAt{rw_%#{1cY!yq~E3>ylTcYqIO__`BN1gStD;tnI=q8mz;++5_sJ%8|p9 zK6f&!v?XlQ$OoWk2#EE#-?xK%3V4+*_e|&brcI_%&3RVQx{~+&vd~73QNSn6AwE6n+?NEe?4^LL}(4Ssg6Usj)IGh`S+fPkOHmBGT6OEi<6Wg z1|L;J*?Mel&WaG?xwb}4v-@KmS8?Oqvtep9bzj7zVZG)Hj#w)#w@{f+QzB^PG^p8? z%sjk0CU{J6KxW3=mAovs`k|gotYWx%TMdIxY>Ti=oZBC-$W7%Hj7aBhdwxCqs--(1 z*~N;fsNIw;(%?#urHj->qDSqo19r@PX_()%ym`XkS6k3gFXjG8bUlj_k<-s1HZy0; zK~wy<%6`Zh_1QICTqYX}oPhO^jh{-YlW8GuMhNcMAwF|40`;}ZI$}vJUQ6N`;R{M*k8>&Sn}4y|DdbYZ-XUK zct>vsz}ZPfabft9^GB2WFF)SItz)cZbV{iqdIu-uPv_?{QGQ4({noc2(pF!MW!(aTMa z#O?sbaLc!|=xM)OQhpv2o0Z35HOvRW3wref=PUijN z?Y{t-jXp`0d%X1p_ww~)Or7iW#f_3UT$VvInfjnEecl3~uh>+e)6MDbJ94eZDnmba z&uV8N)EgHq(l9Gh6-D2WX2gLf1ckr+HEsf zTIk;#kv+q0|M^wclz*a}1MM)eCLA5;sj~24tyQxg9j8Z^Mi_dMyM=~}XRb*~X9v)` zS4-=TZ(Vvk&$Lw{h!zVT$9whB?QZW6AC21A1rX+TT*mAT=D9L6rHxO`hqm+!Q;7#K z(5>es^G?1#i~UuW5s{B(LC$Yl9F*^_g!87fC8Ew~IJ(i8LsoevpLXrLTWN`fWCQsW z_Y?+N;CuT%Qz+Xz>h%Nvt)+s%lN+Oi3% z&wr|#by_SB20%d{KxI$q^cx!pXGKFT<+R!3ro8D?b;q9Y98D^KU8f$=g(X`GWKYw& zWbus8T+J%AODx1{b-Vf1_S}tz_78kEsTA1cBD~g^s}a5EOxXU4&C~tL(_u}m*`>Lt zusJ%-Y6SEW9W*eAXQ(;sg+EC$zx=I?Eb&PUb zsde!1*C(L{ogu`7)UGX*!4%;?yS-L~X1-hU*RR_`I*w*YF;9Ga&E{RH@5_$S7<)i= znTQf4$9-TvC^~G z4)$D{+W^mqzd~*fA2$cwo}k`R)cL6hx0J=Zy< zMFZ5<8w&6Utlb~C8kIN3;p}33+#sDYpWD*~(9_&k4)B-eh(#wZd=<)X6JjqYo9%UD z@QJGe453YDw6X^osvdkIJ##7IS3JZKP!NH<*jGQi!SUW5 zURGkyGwi~l#)?1$m2WZHEs;8um<*5e3URvZ!9MvT)#NfFTz!j4?g2sI(2XxLQ$pvZ zL&OrDYSEW`M?pqRm#)Bpu+rjsSL63i(?>jyjtXk?6|QC%Di3v85JU{d3AaMx_A#eO z|jv|D;8oQfvQ>rfp!bNIs@>REA)d;%-xD>wp0`N?J7LfmjB1qrh zM+U98cykQg=-lSA^D6F6M0DooiJuesH}dGx4MBklH^F;0&y)CSg16(wXG%mAP1Zd` zhPIk2Z|3~$p`+{t{c0ULqiQLdVj13E;6ULZTnu*<)XVoq@l)d%RUXa`oJvDR)A<<^=jtHE-F6=AmX@3juasjcNSbcX2m`}1S zt&w*Mnq}YSP3THj)x`B+y9hB7y%F9wO1Um)XC4(gFixhcppzWl3o)w>^j{nxlVff3 zb4zFnfLN~WoXGj}q)Qd1Y)L$9HzKLOXEg3;3wMj?r}%uhk}-d+X{AF_nTgK?Pj-y_ z7^)le1+Ig4{jtdz&-vkP8sVb7#D5LAwlqoFfu7x$u`j>k(h>42ixb-72$<#@md|EFXo!mkaz2a z^ePU~unXdWj?7qFf&hz>XL7vt`7~s<8wpTO$EUMl89X%-#3El8>oi=Ro&SXFF4nr4 zFz}iQ3_@i&Ei&$a{OGC_d#n1Q)IS(ieF6^f3{!>{29EpW=F#65N1jc4E_$2aT@=c( z34UKt;g_+hMjgU-**Q1fN~&XxHlxxOZ-ei+MGA6Pr|sFtT;%cvIUv;}?^-(*9sIp_ zXBitBZFmuqKG)T6l50|tBjM7Ga|EPPq=YwczU#6Or}k|<;bl;ki~VgpPM%di1~Rp+ z!NPn7_!OwD^d|3TNr|mFdCR0MJL4kF_>$tt1uye=#`L;33D{u{c6aUQ(5I(mpw+^W^vxs&mo_`>pq?^GoO+iZ zZ#HxXg5K%_R};bhhrs;GJXs%$uM`COQ;(kKM1EqO;ktPEg^!vxTd<~BAw!kUX;#zvMp?+-{sKtn4jOe%=gH-brAD2ne?LD% z>D<~lY`j6}BF33Co@T`2G8LEU=sth#QeN3lU$ zD=qR)T5$Rup_(8sh6Oo7g$!6jVv9ay#V20Rmr5*)$RLDVD8assdg9tbvH6P9Yh|qf z4~y3oukPl!ZSqe4_;@(=&iL&VxcY|HNMK+~l9j|0-UF!uPHvb1m#ja%dXDAt)1jbd zrBkIs72m`=j;+}o4W_pHre?~--#`mbeZN{Dp4Xydl+_l<4la`=50C#!y!A?{1RkT_ zxgfwFv9>NnEH`LqGrC)B(|7XN+puI5b`Q-FssXWS{x)H-nKN!PQ2o+5VMQvM$PRE? z>+F=PtQ-6}PWCo_m)rTGHlIW#QHbA~#+DW{O(p5XE^_GkKU6|SBdC!4#y@l%a%3bbw1@D1&a>V(%d_)bzR>?lT|I8c5Qv?V`Gl$NSsGyZ(Lpa zU}aW%yx{z^vx(Bc^8jHwj<7P!a*;d0*Lv+(kYUO-_7Wgn&{BPi70_K%G~QTOfZ)zc zXD-mtFPECwTrSYCOpqj{xD?I7F}tVK?6@7b_?RP78ZbU;q9YT|PFL9QEotA3(Zmn0 zsjHoV%*P~m0Y+4~67!RC=`KlxW`bV@_SCo1xcSB@x^GjD;=j(!C_gXgV$(EAUoMHe zW!aQJnCj{=ubW)Sj>~xCs!Sre22g)>HPa5=xAE5I89G2k>#WZ-Fg#|%4ukB$CzeZT zNV9Zk1@=mpX0`mD8?VZr{2VGCW+3a!oh@^L+$%(<^4{97mPbGO1!#sPHdyB+R_B1c z^JY%iIOEGYmp(b%TAjKB7D=(5=}g~z9q?#FPUwL|?NI|+N4G9$OP_)K=}tl5t-PU* zt2w>$)*TA|s{qy}_MG%qBF>^gxb76Su|OdDL??T@Dj_|iR+pw0Hu``(6c65ur~)Qx zvc9~dTMF=2b#0Sk3-BzL_dl1~u!Jp(*x7hE(9%ti>x%g?UiQ?k9S2~iD4rQmi z=u;Y={k_sz(lpG3H6art$x@lHtkEX1vyK88Pie!;o%MF z1+G;h4~3PE7woRKYV3ht>k*MwUvZ3UW?rwie6(*UG91|YzH2aCB^%3AEeJTP2CFaw zNlXH?=z6a!{owLtxlEpU;zT$MFLp>krr75ZrMyB*hN}R%wQ=wq66jh zxi-2F{OJfPNHU6U($H}Ikf~E82_CE0DRda8(u+$0u_Roe!*4ULnl)?5mT*XZMeHr= zDABFSiL|!wyCQCpF3m7C2s1QsoM!VAc!Fx*YAhiBOhPtHazOVm?<&s3gG7RHtI3i# zJIJU#1k8W(|21}%e@%X2e>6xdC|yGuqJ3LXF9hD3%reFFP_x! z06Wa_+B@q~;7M-EYEcUs$QhxA3<`0nAb+t49*U#$WoTcJ!Ta?@Ioj^sQUJTy{=PN; zE@${PL?~@Tu+fUbiGyvUL*Qpq=erU3Ty_>P@D)qVfYNLndhBsk1yDmLXOR%9egC-8 zx)^W5#wG73VX%7-n?IjipH(Q~ID$!mF1GMw_n3^~dHlwbSMzmzPz$Qtn>UAL_*f{v z!08a#q35XLCkqmF!9+}<5T>?j9KhrWI+S6z)tZIbg)lid5^MRa#(^uGL_Z4SH%ZwR zK!A*FvF0*>@Qw$t+(0#wBOx9911_xTb6aB+2z~i$Q*TaXzw!g9pSY2li>Qw*$Gp_0rMXaV&}CMt zHr4W5Rsuie_^U%}>ruHaQ~p#Dp(>xNn(Y-0Xztj;-++=$9~m~EK;P3?cc!VRxMHe? zolg={eZ5J8+Wv06^XAojG2Q*5eU0`bBz`RXU9+ zzbcOFqFtFudDBb~aXn-3fX|dU{tX1~2+}!f<0gp8T|9&cV~Vu#($Dw!z#^;HBw@xn z1;uX!wsL1DL8j&kEcV| zI(SqRz4N=ov~h;B!N9~l?3Afi)?LpmF6DwgvGO2c;Z2#^=<1`Hm3g(v<9679H7!~R z1uIqEvC<+bM3(MbHT?eI?%^Pa|DNkOzCDbouel}Z#6#S11vV9)Za?;lzcF6CQNSql z~AeHq;85=!NaDu47OFcz*HmA22=yv#QTD}@_qBH=e{whu0Q{9w0F&_LFYiDgJw?j=^cdk!9>a-8hAq5rexmZ`QVegc%BnAQ;EZnz7v!lhx4|2`CIc%P2~{%F3zy@u>W z@56%cP?rr3Kqg;V^h@cfq7!pnBcv+G>QXix(IAAT#Jmx)gE^6+%lsl#1X<)jH0sOvcBv z&qL|5gJkJ*!hNR82aEICB}`6D#6Osv$x6+@9@4((TA!4jK{~H=(lsP%;Y}tk{IpqR zUo+6o>d%5n!u^aL#oyxKIz@FxejM6a7j-pTf_$zp5b@{r0=mRSaA)7E6Rt+1S*kOh zf(a1c-PIT>#it#BOVzHRuUL%uAhKO7zg{S*qpkMmODyHq_%-A#8vn}AEympBiB_v@B2G{r z^fOz^`<}x1+oZO=R~jfa1f>AY6oK5ik*bKu2W#+CgtA(3}T^nMV3O^Tf0vjvi)TH`;m8E#or*PT-B3^6+qF!uc z0#b5hycI0`X+(A^blkN`nAx2ZDGMTbxz_wjVzgIKub4A2B^(p6vKyiMOY7<-_Y=Pp z>=^3GBQ;pq1(qq))a*yZ$$ICKW(@b!@cNisue%kUVcw+xJ(aSmbLd)VX57Wj>s->J zGGZk0ysWP4A>&gr6qGQXd-5IQ8825Qv*fd&-`tzgei1{J7=b-H0Wf~WLFPgJYd2=^ zb8)JueJHPe4dgBCm-u)^B`S$wqenm3?}fKj?6hL+^k833yzyF$pZ^H!qT(*PBspzx zPxd-uwKA z^MQ~Hsdaj+UY$RQ<`nAdJPG=(tm8Q%y@T^LoR_7Jh_19>0(|Ix_&1v#1m)@Yk^DE; z>93d5h|iZYVt0F)MWTZp2Jv4DcZ$R`_&qfZwN(b}VvP{KfO`$_!S$b}(O~DWV69@8 z*yD>5n&PuBsXF=es3l5W^jFJ*X7v+9|Egudz+90F?9oZ`AEueeaq}!^PN~WLPWm)Q zO1`f1%2zS*8jgE?N1j)iz-~p8A@m4y++pIrO;s-4OfGBkaz*gDa?Yz4ZxrfM9ya7` zDj~%M+3oq-ie#QXxBnPe1obk>_r5k$GgG&>A1gILPPJzx%jP!7DAKBb zTZg{7rd_JbHuNpK1K8yhW4#=mhb@OU?7qpqf zDJvNi7P;`8bs}Hz&ZXk4qvHJ!$|J+}#%cMJPej@$n$G7O*-*bnf3#VBItc^gkv{(b zwa$sw`Cs*M(wBDS!78}-4s3>6m+9gOBP?u*jV--=M@u>A%exoT?d8P3I1@o8Skrjn zXT7t<8SiNOU2No(H_V#Gc|OUQ}hhC{7skT47f+wHUU95L?mUkR(V+#?auhdbnqvK9Q;~ z-#UppLus9xVIIcNQCy1z?vm{1B9Z^&_9ek+=#8gfA>sk&2ozM(Y*5}&Q8Tk?PH!F; zM0d(iR-{Ab%j#jrU^M3bnV&ZTib^9l(~aXQFWbsoZ*e}#}!=7vLrFB@Fkb&3L!3Qtu3%ngf0%C9pRB2gQl!<6~s zSrIis%GG|D)0}(hx|v4j$G=jl$lK&!Vh4I6?gOAVR@^OiF;~-p!D=+caFU?6n?USO zBhf33m21a@GC+cNE?$}YsqqBd11^29IB{mJ*yJkw{2*jcb;zA+ErS*894eaffu-UL z;BKvSUoWg9&v??L7uC<5dk zm`+J=$17cM3>VnXHoqwKRAa4(B4F`g7$~;R(4OQLjI<7g!&zX={$^NK=ei8C9NKK z63|rSeEf#Jo}nJOsrkKp8XRnVWks}=H&THDEjVGJhTA(^S^M7;r40hHlna|p9SRix zXcDlbR( zZ1e9^J(sW_>l>bd2b4ZR?oGn!f{8+UJw<1gpu_696Cco1@ua1Yf*V<8(%YbUN|D(2 zX5E6-ium4Uva)SORIj^F%(0Sf3X|?WjkMacn1!GJ0C>vNE&Ie9_UZJ#o4K$6;{u*L8km(Gce(+8 zuAA9o32F%(EC{l9xb^BY?Nr#&*3_nBvgB{Cc>iq@@zyy5UCi2~WC&7aq_;OlYRcL? zd-EBcw6J8wyiRkLrWVbrHSl7tj%a4WTN0CC38bfbldvTLdG=r^B6iA&KJ>!);ZNhjA&dTLsrpSiu7c)&E) zcOxEY|JKLw+o1`5l2~{5;Zi-o^t(X(*W5b$KXiZT;~RCqXQixejn<^~2eHqrr2xb$ zx-LM`E*S;B_kM7)>l%m84AYCIPFOKj1#}j}CFn%X@ME3g|90>*viR&3%{5YDV#7DI zfrR!^Pxl*(?G#ETTsINHA5$;Iw64DLvp)$l1{;y5DSK&zHk7q80#b4;m5S&V>n(H2 z(RHxxmVP~B-DF8J)^{u|WBj($FTsQD1h-?aS*3rvA-Rav&SGi1%HifK1!lJ&#BQHG zp)-FU^lHfXD-sMMqRwD(V;cscSuI%98X^>H2DbPei5Ug~r!V94Phblq)Y;|eD-yNC z16a9kZ6x0El)CySG%4(a6W`!H$rm)U~E7V@w0 z#-?uefg%ZRS5S<$WT($T4fgxMYW?y{tRv|1WmC7rRUb^PCUkRT$J?p*Z`K~Jpwr4+~E9I6vP6K~73g#H`ZdKhb# zueMg@N*uu`6)|Td=J11`vISJ3&T)!JSHU6m3_HD|`?~V(n)pp`IjFD~aWL8Fao7DM zstmMnrK7gVX1Ghy8I~%AkRTs5tPuA>G)hXgtL)lHvb;kN53XO5gBZ?&B1pQqP#+;p z$$z4axW6Fu>U&$G`_&Mhz90qzg08OO74PR*6B(ns+&OK9h_kz318OxH6D%u3H#z;w z-|0Bf?aF$_ucUz%o@!+|x!tvVThbx=EbOlXy|I;v0PhKl=)z4DOxy&_ut(CNotXX; zUyjxJ)4~PvEL&D@OUGD4e%Lm=7Hug8-TeG~(diGYM zXB24fSV2TIbPu#&qZxe<0l2L2>ZkKT@p@;Xpu#lR_?8ONTxW5V0puqIRv7Z?MjY!Tx{hl~Nj`5mlO2#Ni9yJZnom2} z-wH86c^n8jeAWaKH-DTjGw(Q=4qoqGL$m(@ip6e@&9Ltz;~@P%n^nIl$BC|K$PKbb z+g&|qGQxgwOlEMr9n-9}?oqQ{EB*a$SMSCrwEZS?ySJs0Ait%yasQt?5l|N zh`sA0n9?R#m>Tq-+rq)#osF}VRhlDwB$Gd!_m-PD(yr$->(2<8O^8nibZXoxZMqgL zV-`sC3+r{PbyuKjlZ_r*5%CzY!nkHm@VZrM^~YVUCh$FJ1#~wi;0^TkUgaT|)AFqV z<|SN0?^t+fpW7L*=Ap94KU>A z21W9lsXI2rbwSjDas+f0_)oOv4-uceaOrbpEAsY-`dtv@66vz%M-r@&a5hI$&5xkG zza3_Sy!RwdU?UHMwx%2u^8VAna{gG?uQZxoWClarc~bq1G+d>?jIl_mP>$63?I)@`y=U*CoakECk`mqLMyXRm zx3ghFQQduJDGx(QByY8br&0C=Nb(78(+I>kZ=i3_zKU*m*IrRbr^G zk=X)OYBje~s*%|TLVHOwiUrPZo~kTva<}D`&d=$NC|wr6zWL2?yjH=@?9O2SMGB-j zX;ySuA;`dTfi_Y?0Dhw*?bph?o<88^HlEcF*grISJEoI(?RBa`#-b8((%>jc(#TJX zj|9(^^pgN6t|#%s!5-tq@%MU2WDj+BYh+6WUa7Es$q`GvkgQLd1-3hoS_V*fWkcxu z{w6z;HX(VvX2?z2)fDHi+ltA612nX;R8;bRTgt^?(20Klp|4@>FkwGUSH}W2lLr1( z>klWa+c*eNA(Y;*D z{{yf!2^=muFes;&FQC^Q8!R%ore{ce1Za%=Ff9ycU2M52SH~WhM-MET3I3$Gv!|E; z9H%D9)XP2*M{a%nI{$byaQXE4B?I}Vqmnbo$tS^m;;&-DHvD*kbYzVAFfEfmY0GAD0hz zewGx>Qp-lbS-Y5#aB!oUcOc&pNh^^2+e+2i+S*(Vd24OhjX9<>JR{QF%I*)mX(Qa`a!n@4Y4-Wg%`AI$8nFIb39pl3aZEbQjGd8GLh17)vBYM0aMbHB4&(?$sqYysS~?`zO+@>U*rAk6)!IFXA&zf0kt?7%|Sx* zB>{f3mTpg%wuhg6&&_vgu;7lR_z_Z0#V9D|33j#@w8ud-#odZHwiU+BmR_t)#(Fg| zo$zbLW(+i#c2-PC&vas%$eO^2vLI+OfCcqUa63W zOPuNha@9%2Vkz#N9c)w-GYbe`lh}YiqrH+qpfXclL<+}&9tTrCn*^9Vn~Hz9JYYg6 zR2oV2h+(1M3SS>ou3`HiOk)q%S{Pjk;)m;aI?Ye;pLsL+Uq~5RWX{B`uJwxdbMfRq z$t7|dDPi0&r`zR1vr0cx_L;YMy(e*PV0KvnHy>7hI|G@0Csb1Y9STkG;X#?N24j&0 zP=@kKIh4b&angasqjC9}&eb-I33(r(9ct!-bNdw3@>y%65Xq=u-e(U1)r+c($w8D? zcU7pFUc=Oi?6`{zo3TLBuD|>;kNHc&+}Zp@3g4<=a9+?$unzVE3beP?S+-Yd&bRo9 z3Alh2Ur^(_JE9%>dlsb%OHSgC3xHNz=u^y^eB{?#zf)4{rNoUtFW;Ae-xh=#Z8%(q zyI2VBO{~$w1)HgZkcRR;s414wT-uC4>3RipsQ5tRy`WO zuMp8r(=`)Cw+9Eg)MkF24!cN86uaP)FlVZYb78GXA{})FF>IdY_nXN*_8EPfwbM;P z5<4w;46HdXvum>J5l@^jlCYqG8IA8q=1PM?Z8iVQ!t1gYhuVPut%veg8&VM&W^Nbn zd6{bQCc*Hk{Co?{lGnenYIVRpKu4gy4 zL8&zFsmf zUqVswJ(ku8z@CryMNQ@5Q5DCt)tX0j5MEH1 za3-fiZc)Liv2!Ae8oInakh1NP4vEv1PT-eRS-Gj+)m0W#ezI*uub)wpK9HYJiX>q{ z*b^x_gbC!m239FE#a5B+DjR01Jncfh{Y!6QN2<`+wCB8T73Np;$(x@@Tv?uwC+C-7 zHe1fP3zs_n@o+@!S$|{wah|M+z(Qq)otlro^ajrSyW(Lts&jA4=K`Ioa(rcM-_7Df z&(-AWa8LIsdH_FX`4-kPU`6c=0|n+gbm8umphr6^T3r`X)*2g@j7KCL#&eF|u5KI2 zI8|UJ$Hiqy>Y~s3=&<~Fy@Rlu^EVDzr@y~(Rsi(kuwOW(lYIIL`p`&a`*D{ny_cq5 zrSDv8SG4qlvv`ZiDAR_NaPu(vtwouq%iuAjAcNI#l5any3ytnY*>-J`lFn=(u+h7l zewV*&tbd*Z`)z6dwKz9Vy44B0evJNGQ<$WbBD%_AxmQN@$I4%+8tM;ncyS7!Cu^4^ zhpFVsF(vxUsTj+U&_`X|kl3KOqWE+S%Vy0uCM$nikldygp6iU>!~_AgUw^m7h=+); zolVUEl4OflC)uE=RY^FJQv1A<^YBy*Llw{E?D;Xo?EQBccAdTRtO6lB&^NK;XN+Wv znV)0`n4yg2f)57atAfw=lcJh`>86p{TODI`T6CAIf=&H&rSX72D=4g*p7L*S1cF|_ z_UDRQ6Z`!|-hbIqt$R#KE1ZGVnHKNBInYqY&G)hV+hSV;+?fL>)@xD-C|eRP%KW6q zB=AckHt4M;=J8<4Hf7WC+7hn!D;vR|%>!D3@v0F?2m5XWL{q)TbU;tAfwl zBzVck40u^gI!n(hdv$p{4XiNIwd(ko)#jm$5jpae?9vPy{{$p)2RGo;B9i+_uT2B( zFJco9N-7iNvv&%Tk(*b>PkHL_>=I6dq;tW}y@m`q@w&NpdhQkpw#i8vGuSzKjS@c& z|KtBXnSa#a`5Y7$WXrktEOR;PW>;dSMe+0 zQ}!SEUQj=EH*Yg0y=EjAB{piCeTA)|_j%c>Zg2gGHVDc8=~L30Rr^_ulYLT%KobtT zHi=`w6h4+vkbW++;jHS#<;FRobOBYonReK`p44$&cxTq~mg3k8xsmAsOdaxF%!CyDQ`o*o!hr^ss(>UaPk@ zTsM*B7oyaKX9y&RUQ8C*Enjkmob`q$W(UpgJgn7BQV+c7=ppSUE|JfwW}euEdKG<^ zPOJ6l)9|UsO(r6(ZBiVX9ogUHckx!Df=6XC4I99 zP0|c&9r-Ua<;6>puAjK<+S}sD)iY>Ly_wvsgW><=(2@TC??~)2f_Xoe z)g^hU(+^+D#hjG_t1YNlDXvV>Fu9VtA&jFXP z;Q2#!x-Jb!?0O7{8Y6kEgf&zlCGQQ`1jTdA{7AZ+Nc;zA4Pr;p8Hh_0diJoQ30kT0 z3l69`rqm^4J`^?m>QXSrI}q5=Na)A^j<2!B^^_^`}Racdj67G_G!p&LD|Nc>fx6d*4>eT%iIkSW(x8JOd3& zH{T4tE<}S|VUNa&c<(28YVcb(T{|KK-jn+&ne?y_DI#42xXhQgd2@FV0ugCi0`j3L z@2#^EaGyb%=2KI`{^gp(K>Qk7+7{{=ZN*b!L#jU?!i-{AGf|DbGIc+yG zUpjo|jwyf>Mq~%Aj z?U7WnOpLp|9bk+OYVOAeE?U(PeJNWhIHK+5Fv4$mUWiD0E+u(1MkKY7=%AEhsE1Ub zc@A`9Etle;d0m)EY;HNP3xM%p9USga(iwlQQfc}mc2?zlT-D)C{$_lk5CK?t*L!v} oWb1rf{UPdZ`?jnw;RG^&LDx|Spi-@}Bi>4mHB{F$toyh4KT}MmRR910 literal 35896 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

WT^bZp)uZTu?+hNy@LtgP7=K-~B0*MkF2SKcs| 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 +o?x?bSCLebuIi%`Zq@lf;SNI&5*Vr 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%0Dq3A?O@= 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