diff --git a/.hgignore b/.hgignore new file mode 100644 index 0000000..1b85cd9 --- /dev/null +++ b/.hgignore @@ -0,0 +1,3 @@ +syntax: glob +__pycache__/* +locale/convert_de2en.py diff --git a/__init__.py b/__init__.py index f7075c0..8681953 100644 --- a/__init__.py +++ b/__init__.py @@ -4,39 +4,9 @@ # full copyright notices and license terms. from trytond.pool import Pool -from .book import Book -from .types import Type -from .line import Line, LineContext -from .splitline import SplitLine -from .wizard_openline import OpenCashBook, OpenCashBookStart, OpenCashBookTree -from .wizard_runreport import RunCbReport, RunCbReportStart -from .wizard_booking import EnterBookingWizard, EnterBookingStart -from .configuration import Configuration, UserConfiguration -from .category import Category -from .reconciliation import Reconciliation -from .cbreport import ReconciliationReport +from .line import Line def register(): Pool.register( - Configuration, - UserConfiguration, - Type, - Category, - Book, - LineContext, Line, - SplitLine, - Reconciliation, - OpenCashBookStart, - RunCbReportStart, - EnterBookingStart, - module='cashbook', type_='model') - Pool.register( - ReconciliationReport, - module='cashbook', type_='report') - Pool.register( - OpenCashBook, - OpenCashBookTree, - RunCbReport, - EnterBookingWizard, - module='cashbook', type_='wizard') + module='cashbook_media', type_='model') diff --git a/line.py b/line.py new file mode 100644 index 0000000..a7a482d --- /dev/null +++ b/line.py @@ -0,0 +1,165 @@ +# -*- coding: utf-8 -*- +# This file is part of the cashbook-module from m-ds for Tryton. +# The COPYRIGHT file at the top level of this repository contains the +# full copyright notices and license terms. + +import mimetypes, magic +from io import BytesIO +from PIL import Image +from trytond.model import fields +from trytond.pool import Pool, PoolMeta +from trytond.config import config +from trytond.transaction import Transaction +from trytond.exceptions import UserError +from trytond.i18n import gettext +from trytond.pyson import Eval, Bool +from trytond.modules.cashbook.line import STATES, DEPENDS + + +store_prefix = config.get('cashbook', 'store_prefix', default='cashbook') +image_limit = config.get('cashbook', 'image_max_pixel', default='2000') +try : + image_limit = int(image_limit) + if image_limit < 100: + image_limit = 100 + if image_limit > 10000: + image_limit = 10000 +except : + image_limit = 2000 + + +class Line(metaclass=PoolMeta): + __name__ = 'cashbook.line' + + media = fields.Binary(string='Image of PDF', filename='media_name', + file_id='media_id', store_prefix=store_prefix, + states=STATES, depends=DEPENDS) + media_name = fields.Char(string='File name', + states={ + 'required': Bool(Eval('media')), + 'readonly': STATES['readonly'], + }, depends=DEPENDS) + media_id = fields.Char(string='File ID', readonly=True) + media_mime = fields.Char(string='MIME', readonly=True) + media_size = fields.Integer(string='File size', readonly=True) + + @classmethod + def _identify_file(cls, data, mime=True): + """ get file-type + """ + return magic.from_buffer(data, mime=mime) + + @classmethod + def _hr_file_size(cls, num, suffix="B"): + """ + """ + for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]: + if abs(num) < 1024.0: + return f"{num:3.1f}{unit}{suffix}" + num /= 1024.0 + return f"{num:.1f}Yi{suffix}" + + @classmethod + def resize_image_file(cls, image_data): + """ shrink image 'image_limit' pixel if its bigger + """ + image_data2 = None + with BytesIO(image_data) as fhdl: + image = Image.open(fhdl, 'r') + + (width, height) = image.size + if (width > image_limit) or (height > image_limit): + + if width > height: + new_size = (image_limit, int(height * image_limit / width)) + else : + new_size = (int(width * image_limit / height), image_limit) + + # resize - fit in (image_limit x image_limit) + img2 = image.resize(new_size, Image.LANCZOS) + with BytesIO() as fhdl2: + img2.save(fhdl2, 'JPEG', optimize=True, quality=80) + fhdl2.seek(0) + image_data2 = fhdl2.read() + del img2 + del image + + return image_data2 + + @classmethod + def get_media_info(cls, values): + """ get mime-type, update file-name + """ + if len(values['media'] or '') < 100: + values['media'] = None + values['media_mime'] = None + values['media_size'] = None + values['media_name'] = None + else : + values['media_mime'] = cls._identify_file(values['media'][:1024]) + + # if its a image, resize it to fit in (image_limit x image_limit) pixel + if values['media_mime'].startswith('image'): + new_image = cls.resize_image_file(values['media']) + if new_image is not None: + values['media'] = new_image + values['media_mime'] = cls._identify_file(values['media'][:1024]) + + values['media_size'] = len(values['media']) + file_ext = mimetypes.guess_extension(values['media_mime']) + if 'media_name' in values.keys(): + if not values['media_name'].endswith(file_ext): + # cut extension + if values['media_name'][-4] == '.': + values['media_name'] = values['media_name'][:-4] + values['media_name'] = values['media_name'] + file_ext + return values + + @classmethod + def validate(cls, lines): + """ deny invalid mime-types, file-sizes etc. + """ + super(Line, cls).validate(lines) + + for line in lines: + if line.media is not None: + if line.media_size > 1024*1024*5: + raise UserError(gettext( + 'cashbook_media.msg_file_too_big', + recname = line.rec_name, + )) + if not line.media_mime in ['application/pdf', + 'image/png', 'image/jpg', 'image/jpeg']: + raise UserError(gettext( + 'cashbook_media.msg_file_invalid_mime', + recname = line.rec_name, + fmime = line.media_mime, + )) + + @classmethod + def create(cls, vlist): + """ add media-info + """ + vlist = [x.copy() for x in vlist] + for values in vlist: + if 'media' in values.keys(): + values.update(cls.get_media_info(values)) + return super(Line, cls).create(vlist) + + @classmethod + def write(cls, *args): + """ update media-info + """ + actions = iter(args) + to_write = [] + for records, values in zip(actions, actions): + if 'media' in values.keys(): + values.update(cls.get_media_info(values)) + + to_write.extend([ + records, + values, + ]) + super(Line, cls).write(*to_write) + +# end Line diff --git a/line.xml b/line.xml new file mode 100644 index 0000000..83df0ea --- /dev/null +++ b/line.xml @@ -0,0 +1,15 @@ + + + + + + + cashbook.line + + line_form + + + + diff --git a/locale/de.po b/locale/de.po new file mode 100644 index 0000000..69df498 --- /dev/null +++ b/locale/de.po @@ -0,0 +1,44 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + + +############## +# ir.message # +############## +msgctxt "model:ir.message,text:msg_file_too_big" +msgid "The file size of the record '%(recname)s' exceeded the maximum value of 5MB." +msgstr "Die Dateigröße des Datensatzes '%(recname)s' überschreitete den maximalen Wert von 5MB." + +msgctxt "model:ir.message,text:msg_file_invalid_mime" +msgid "The file type '%(fmime)s' of the record '%(recname)s' is not allowed. (allowed: PNG, JPG, PDF)" +msgstr "Der Dateityp '%(fmime)s' des Datensatzes '%(recname)s' ist nicht zugelassen. (erlaubt: PNG, JPG, PDF)" + + +################# +# cashbook.line # +################# +msgctxt "view:cashbook.line:" +msgid "Image/PDF" +msgstr "Bild/PDF" + +msgctxt "field:cashbook.line,media:" +msgid "Image of PDF" +msgstr "Bild oder PDF" + +msgctxt "field:cashbook.line,media_name:" +msgid "File name" +msgstr "Dateiname" + +msgctxt "field:cashbook.line,media_id:" +msgid "File ID" +msgstr "Datei-ID" + +msgctxt "field:cashbook.line,media_mime:" +msgid "MIME" +msgstr "MIME" + +msgctxt "field:cashbook.line,media_size:" +msgid "File size" +msgstr "Dateigröße" + diff --git a/locale/en.po b/locale/en.po new file mode 100644 index 0000000..956e614 --- /dev/null +++ b/locale/en.po @@ -0,0 +1,36 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "model:ir.message,text:msg_file_too_big" +msgid "The file size of the record '%(recname)s' exceeded the maximum value of 5MB." +msgstr "The file size of the record '%(recname)s' exceeded the maximum value of 5MB." + +msgctxt "model:ir.message,text:msg_file_invalid_mime" +msgid "The file type '%(fmime)s' of the record '%(recname)s' is not allowed. (allowed: PNG, JPG, PDF)" +msgstr "The file type '%(fmime)s' of the record '%(recname)s' is not allowed. (allowed: PNG, JPG, PDF)" + +msgctxt "view:cashbook.line:" +msgid "Image/PDF" +msgstr "Image/PDF" + +msgctxt "field:cashbook.line,media:" +msgid "Image of PDF" +msgstr "Image of PDF" + +msgctxt "field:cashbook.line,media_name:" +msgid "File name" +msgstr "File name" + +msgctxt "field:cashbook.line,media_id:" +msgid "File ID" +msgstr "File ID" + +msgctxt "field:cashbook.line,media_mime:" +msgid "MIME" +msgstr "MIME" + +msgctxt "field:cashbook.line,media_size:" +msgid "File size" +msgstr "File size" + diff --git a/message.xml b/message.xml new file mode 100644 index 0000000..d88ff9a --- /dev/null +++ b/message.xml @@ -0,0 +1,16 @@ + + + + + + + The file size of the record '%(recname)s' exceeded the maximum value of 5MB. + + + The file type '%(fmime)s' of the record '%(recname)s' is not allowed. (allowed: PNG, JPG, PDF) + + + + diff --git a/setup.py b/setup.py index 9f85b64..aa97035 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,7 @@ with open(path.join(here, 'versiondep.txt'), encoding='utf-8') as f: major_version = 6 minor_version = 0 -requires = [] +requires = ['python-magic>=0.4.24', 'Pillow'] for dep in info.get('depends', []): if not re.match(r'(ir|res|webdav)(\W|$)', dep): if dep in modversion.keys(): diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..fa351bf --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1,24 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import trytond.tests.test_tryton +import unittest + +from trytond.modules.cashbook_media.tests.test_line import LineTestCase + + +__all__ = ['suite'] + + +class CashbookTestCase(\ + LineTestCase, + ): + 'Test cashbook module' + module = 'cashbook_media' + +# end CashbookTestCase + +def suite(): + suite = trytond.tests.test_tryton.suite() + suite.addTests(unittest.TestLoader().loadTestsFromTestCase(CashbookTestCase)) + return suite diff --git a/tests/img_data.py b/tests/img_data.py new file mode 100644 index 0000000..1498ed1 --- /dev/null +++ b/tests/img_data.py @@ -0,0 +1,5 @@ +img_data_png = b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00x\x00\x00\x00C\x08\x06\x00\x00\x00W\xd9\xc1\xbc\x00\x00\x00\tpHYs\x00\x00\x0e\xc4\x00\x00\x0e\xc4\x01\x95+\x0e\x1b\x00\x00 \x00IDATx\x9cL\xbcI\xb3$iv\x9e\xf7\x9co\xf2)\xa6;ef\xe5XUYSW\xa3\xbb\xd5\x8d\xa1\x01\x92&@$\x06\x1a)i!i#\x93vZ\xe8\x1fh\x9d\x7fA\x0b\xed\xf4\x0b\xb8\xd1Ff\xda\x10f\x12h4\xc0\x04\x82"\x05\x80(twuUueee\xe6\xcd\xbccD\xf8\xf0\rG\x0b\x8fjjq-,\xcc\xcd\xfc\xfa\x17g~\xcf\xfb\xba\xfc\xa3\x7f\xf0\x03M1\x91s"\xe7B\xceJQ%\x17AUP\x94R\x84\x82\xa5\xe0(\x08\xb9@.\x89)\xee)\xb9\xa0\x14T\x15\x05r\x04H8M\xa8f\x8c\x11,\x0eq\x96d\x1d\x1609\x92\xf2D\xca\xa0j@@\x81\x82\xa2F\x10q\xa8\x82dE\x8a\x82\x94\xf9z)\x88\x02\xea\xc1&0\xa0\x18D\x15\xd5\x82*\xa8\n\xa8\xa2\xca\xaf\xef+\xd6\xa2\x02F\x04\x10\xc2b\x8d\xb4\x0bh\xcf(\xfdk\\\xdaC\x9eHq\xc2e\x8b\xb5\x85\xaa\xad\xf0\xae\xc1\x180\x12\x91\x02(\x88u\x10:b.\x98\x14\t\xdeR\x9a\n\xef\x03\x8a%\x97\x88)\x19\xa7 \xbe\xa6\xad\xd7H\xed\xb1y\xa4\xce\x85z\xbdd}vB\xd3,\x10\x11\xbc\x15NNNY\xac=&\xed\xb9sv\x97\xa7\xbf\xf1=\x9e\xbc\xff\x00\x8bAK\xe1f\xbb#k\xa4\n\r\xb7\xe3\xc4\x9f\xfd\xf9\xcf\xf8\xdb\x7f\xf9\xb7LY\xe8\xafo\xc8\xfd\x15\xbe\xbfd\xb8~\x8b\x96BL{\xb4\xbf\xc6\xc6-.N\x99\x94\x13)EJ\x99\r\x95\xd4P\xf4`L\x84"\x90K\x9e\x8d\x01hQr\x8ehNhRJ\x8ed\xcd\x14u@\xc1\xa2\x14\x045\x19c\x02\xcal$c\x95L&I\xa1dH\x05(\x8ar0\x88QT\rb\x12\xa2\xa0\xc5\x90KB(\x88X\x10\x01\xd1\xc3w\x10- \x8aZ@\xcc\xec\x14bP\x04a6&\xa2\xa80?\xb7\x16J)\xc4\xdd\x152\xed1\xfd\x964\x8ed\xcd\xc4q\x02-\x08\xe0\x8d\x12c$\xd4\x19\xe7\x1c\xce&\x8c\x82S\x03\x92\xe7@P\xd0\xa8\x94\t\x88\x91\xec=8\x8b\x8ab\x8a\x92\xe2D\xc9WL\xee\x1c\xd7\xd4\x18\xeb\xe9CM\xf5f\xa2\x8f\x91\xe5\xf1\t\xaei)}\xe4z\xd7\xb3\xec\x1cu\xb5\xe6\xed\xe59W\xbb\xc8\xd5\xed\rU\xebI1q\xba9\xe6\xde\xbd3\xfe\xcd\xcf~\xce\xb7\x9f\x9fs\xf1V9~\xfc\x88\xed\xcd\r\xba\xef\x19cK\xa9\ru\x08\xa4\xa1\xa7\xb6\x8f\xa9\x1a\xcfp\xfb5.\xc69rKQJ\x86\x8c\x90\x8c!\x8b\xa1(\x94\x02\xb9\x14J\xc9\xa0\x19\xa3\x06\xcd\x99\x92\x13\xa4L\x9e\xd2|M\x144\x83d\n\x8a\x11(\x12\xc0\x18\x8a\x14\xd4\x16\xc4d\x14\x00\xc1xCe\x05\xd4b\xc4 \xc6\xa0&\x83x\xac\x11\x8c\x11\xb4\x14J\x01\xab\x82\xb1\x05\x9cGE0\x14\xa4\x14P\x05c\x10+\x18c\xc9*d\x010\x80P\xb4\x80\xce\xcf\xae\xa5\xcc\xceT\x94\x94\xcbl\xf0\xb4\x87\x92\xc9\xa9 \xa9@\xc9\x94\\\x98\x10\xe2\x00\xe3n\x87qB\xf0\x825\x82\xb3\x06\xeb\x1d%\x15T\x0c9G\x06\x04\x9b\'\xech12\xfb\xa0\xf3\x1e\x84\xf9^S\xc4O\x11\xe3=\xbe\xce\xa4\xd02\xbc\xb9`\xdc\xef\x08\xebcH\xc2\xf6Z\xb8\xf6\x81\xb6\xbbb\xb9\xe8\xd8\xee\xde\xf0\xf2\xd5\x05>\x18\\\xd7"V9YtL\xc3\xc8_\xff\xc5/\xb0\xed=\xde\xfd\xde\x87\\\xbf\xbd\xc6T\x0e\xdb+\x8b\xd3c\x92\xae\x18\xae^c\xb3\xc57-\xa1y\x82\xfc\xf07>\xd4\x98\xf3\xc1\x98\x99\xac\x900`\xdcl\xdc\\H%\xa1\x14\xc8\x8a(H\xce\x94\x12\xc9\x19RL\x14\xcd\xf3\x0f\x86P\x98\xa3\xc8PH!\xe3}\xc0Z\xc1;\x87\xb3\x16\x8b`\x00+\x86\x02\x14\x0c\xc6\xce\xf94\xe7\x8c\xaab\rXk\xc0\x184+%\x17\x9c\xf1\xa87\x88\x18\xa4dL\xc9P\x14\xe3<\xa6\tdg\xe7\x0cd-\xd9\x06$\x15\x8aQ\xa4\x14t\x88L\xc38\x9f1&\xb4\xe8l\t\x0e\xa9_\x95\x9c\x14-\x90\xe3\\\xa6\x18\x12\xa5\x949-\x93\x11,\xe2\n\xc6\x1a\\S\xe3\xda\x1aAH\x9a(\x9a\xa8\xacC\xd3\x88\xa1P\xbb@\xb1\x9e\\\x0c\xaa\x05k\x05k\r\xce\x07\\\xa8\xe7\xdfAA\x82\xc1T\x01k=\x16\x83+\x89e\xdb\xd2\xaeNh\x9a\x06i[\xd4\t6\x17\xaan\x815\x86\xeb\xcb\xd9Q\xbb\xa6A\xa2\x10c$^\xbe\xc1\x87\x8a2FD\x13F26\x08\xde\x06\xdc\x94\x0b\xa3B\x11\x83\x1aCJ\x85\x923*q\xae\xab%QT)E1*P\n\x9a3Z"\x9a\xf2!\x15\xce\xf5\tU\x8a\x11\xd0\x02\x06\xbc\xf7\xd4UE]\x07\x8c\xb5\x88\x080;\x83\x88`\x8ab\x0f\x85\xd2\x88\xe0\xcc!(Ep\xc1c\xbc%\xa5D\xea\xc7\xf9\x9a\xb3\x00\x18k\xe6\x8cA!T\x86PYR\xa8H\x08\xf8\x05\x11\x8b\xc6\x1e\xe3eN\x95\n\xce\x1aJ\xcad\x1f\xc89\xe3\x8c%\xa7\tr\xc1\x94\x82\xf5s=\xcfA\xe6\xf2\xd2\xcc?d>8DNe.K\xa32\x8d{\xcc0\xe1[O\xe7\x0c\xb7C\xc4x\x8b\xf8\x16\r\x82\xab-e\xbf\xa7\x9f\x12\xc6\x04\xac\x0f\x14\x15r\xca\xa0=RUD\xdb\x92\xb7W\x94\x9d\xa5\xaeZ\xbc\xb7\xa8dnn\xae\xe9v=\xf5jEU;\xc47\x948Q/6\xf8\xec\x19\xb7\x05\x93\'\xa6\xbafqvF\x1eo\x81L\x8c#\xb5\x0fXcQ\x8d@!K\xc1\xa5R\xc8Ff\xefF\x88e\xaeS\x14=\xa4\xe5r0j9\xa4W\x9d\xd3^\xcePf\xefOF\x101s\x13\xe4\x0c.8B]Q5\x06\xefk\xc4)\x88AD\x10c\xa1\x14\x8c\x80\x13\xc1\xe8\x9c^\x9d3\xc8!\xad\x95\xa2\xd4U\xa0\xee\x1a\n\x96\xed\xd5%\x92\x05\xbbh\xe7gH\x89\x12G$EL\x08\x84\xc5\x02\x91j\x8e\xec\xcaAR\xc4\x04J\xc9\xa4\x94)\xc6\x80Ul,`\x0c\xb6\x0e\x902\xc6U\x90\x0ch\x04\x85)\xe9\xc1\x19\x1cI"%+\xc6{\x10\x83\xc3PR\xa4\xa4H\xecG\xfc\x9dwy\xf0\x9f\xff\x16\x9f\xee\x9e\xf3g\xff\xe2\xff"\x0e\x05s|\x8c.N0?\xf9\x84\xf0\xd5\xcf\x18\xbf<\'\x8f[rr`,I\x0b\x0e\x83d\x01\x9bP\t\xc4\xbe\'\x8f\t\x17\x02\xe2\x02\xa5\xc0\xcd\xab\x174W7\xd8\xcd\n\x8b\x031\xf87\xe7\xb4\xd2\xe0\xd5a\x8dcw\x0b\xdb\xdbK\xd6M\x83\x13G\xb0\x96BBKDD()\xceYA\x8b\x90\x8a\x92S\xa4\xa0\xa4\x94\xe6\xb4\x98\x12%\'\x8c\x11$\x17\xb4\x8c\xa8\x08\xd6\xd89\xbb\xa1$ \x89\x99#\xcb\x1a\xac\xadp\xd6\xe0*Gh\x02\xb6\xf68_\x81- \x821\x06k\x0c\x86\x8c7\x0eg\xa0\xae=\x8be\x8d\xfd\xaes\xb6\xa0)\xe1\x05\xda\xd5\x86lk\xfa7\x1dq\xb7\xc3uK\xa2*\xc30\x10\x87-:y\xc2b\x81[l\xb0\xb9\xa0%\xe3\xea\x0e;Nh)\x8c\xe3\x04en\xfc\x8a\x18L\x98\r\x95\x9c\';\xa1\xdb\xdc!\x0f{\x8a\xb1p\xf1\x1a##^\xe6\xf2\x04f.\x19\x18\x94\xb9\x1fQ\x01\xe3\x1d>x\xca\xf8\x86\xf6\xf9\x0b\xda\x1f\xff\x84\xe6\x7fx\xc4\xf4\xbf\xfd)>\xee\xd1\x17\x9f\x93\xa6K\x86\xbaeX\xdf\xa7\\\xed\xb1\xe9\n\x91D1\xca\x94\n\xa9\x18\x16\x08&EH\x19\xf1P\xd2\xa1\xeci"\x8e\x13y|\x83\xef\xb7\x98j\x81\xf6[\xa4m\xe9\xdd\x96\x85X\xaajI\xa8\x1b\xae\xdf\xbe\x80\xd5\x9a\xa3\xd519+\x82\xc1\x98rhM\x84\x98\x12\xf2\xf8\xc9\x03\xedK"\x17\xa5d%\xc6|\x98Y\xf2!E\x17\x8c(F"\xceXp\x9e"BL\x85\xac\x06q\x01\xe3-\xc6\xce\xa9\xda:C\x08\x8e\xb0\xa8\xf1\x8b\x8a\xba]R\xd7\x0eg\xecl`\x0cN\x12N\x94\xe5j\x89w\x16\xe7\xc0\x1a\xf0!Pw\x1d)\x17v\xb7\xb7\x88\xaf(UKz{I\xd9^\xa2\xf5\x9aa\xccL\xfd@\xa2\xa0\xc3@\xb1\x06\xe3*\x82o\xb0M7\xd7\xa4i\xa2 \xf4Sd\x1cGrV\xb2T\xf3\x08\x06\xc4~\xa4\x94L\xb3\xdc`k\xcf\xd4\xaeH\x17o\xc9\xbb\x1d\xa5\x1f\xd0q\xa2\xa4D\xce\x91\x92\x0bY\x85\xa2\x89\x92\xe7\x924\x97fC1`-\x10\x1a\xfc\xc3\xc7\xac\xbe\xf7\x90\x8f\xef?\xe4\x0f\xde\xfc\x15\xff\xf3\xff\xfa/)S!\xcb\x82\x1c*\x8a+\x183a\xdd\\\xaa\xba\xa6\xc2\xc9\x87\xdb\xcfI)a53L\x91\xc9\x1aB5\x8f\x85J$O\x1399\xc2Zp\x9a\x18\xc7\x9e\xa6\xdb`\x9c\xa3T\xca\xb0\xbf\xa1\x1f\'\xaa\xa6\xc1\x89G$ru\xfd\x8a\xc5r\xc9\xbe\xbf$\r7\xb8\xa6E\\G[\x05\x9c\x15l\xb0\xe6Y\xcc\x82\x942\x07, \xa2\x19\xd4\x88\x08*P\x04\x08\x0e\t\x8e,\x16M\x05c=\xb6v\xb8\xe0\xb1\xdea\x9d;\xcc\xaf\x86\xba\xa9\xa9\x17-u\xd3\xe0P\x82+4M\xc5b\xbd\xe4\xf8\xf4\x88n\xd9\xa0N(\xb6b\x9c\x12\xb1\xdf\xcd\x9e$\x8eX\x0c)\x0b\xc6\x84\x19M+\x05\x9b"\xe2=\x16\xe6(*\x8a\xe4\x84\xe4D\xdd\xd4\x18_\x91\x8da\x1a\xd2\xa1\x9bO\xf8Pc\xfd\x1c\xc1\xf5b\x8d\xed:T\xe61\xceY\x8b\xb5\x9e8F\x9an\x81\xf80G\xd14B\x9e\xf0\xdeRU-\x83\x16t\x18)\xc5b\xac\xc1x\x8fT\x01B\x98A\x14k\xe6{\x0e\x85\xdcG\xac\xaf\xf1UM\xfd\xe1\xfb\xb8\xe5\x11\xa6\xea\xc0\x81\x9dn\xf0\xd6\x80\x1dq%"\xaa\x07Dn\xce\x90%\x0fX1T\xce\x92R\xc1[C\xb3\\\x90\xf6{\x8c(!8T\x95i\x1a\x19\x87\x08*x\x1f\x10\xe3g\'-\x9e\xe5\xe6\x1e\x88e\xdcm\xb9\xb9\xb9&\xa6\x84u\x1ek\x9d\x7fv\x80\x04\xb5\x18-\x80A\x10\xb1V\xc4Z\xd4\x19\xd4{\xa4\x0ed\x91\xb9\xbb\xa6 \x95\xc3\x04?#L\x80\xf7n\x86%\xbd\xc3\xd55>\xd4\x18)\x04\xa7tM\xc5\xa2kY.+\x96\xeb\x9a\xd5z\x03x\xe2P\x88\xa3e\xba\xe9a\x8cd\x02\xf6\x10\x11\xde*9%<\x01o36x\x1c\x05Ep)!d\x825x\xb1X\x11\xd4;\x9c\xf1\xd4\xc1\x11\xea\x86\xba\xde\x90S\xc4a\xb1\xa1B\xfb\x11\x8a\xc2\x14\xa1\xdf!&\xd0v\x0b\xaaE\x8b1`)X\x9d\xb0.\xe0\xab\x8e\\`\xdan\xd1d\x10\xe7P\x04\xb5\x02FPq\xf8\xc5\x92\xd2v`;\xf2\xae\'\xc7K\\\xd5!\x95\xa7::\xa2\x88guzJ\xf5\xe0\x1d\xba\xd3%SI\x88\n\xc6e\x9c\x15p\x02\x16\xd4\x82\xc9\x06Q\x83 x\x07\xe38R\xb7-\xde\x05\xf6\xfbkr\x8e,Z\xcb4\x8c\x8c\xfb\x8c\xb1B\x91x\x80|\x0b\xa5\x0c\x0cC$4\x1d>TX1\xdc\\]p3l\xb1^\xec\xb3C[,*\xcc\xc0\xb0\x11\x15o\xc55\x01*\x83zK1f\x9eq\x0f)[\xbc\xc5\xb8\x805\xf3\xe1E\x0b\xc6\x18\xaaj\x0664\xf78cY\xb45\xebu\xc7\xdd\xe3\x96\xb3\xae\xa1\xde\xac\x90b\x18\xdenicbHB\xc4\xcc\x9e]&\xac\xd5\x19\xf1\x1e\xf7\x844\xe2t\xc2\x1a\x8bu\x06\'\x0e\xe2\x1eb\xc4;\xcb\xaaj\x99\x86[\x0c\x06\xeb\x0c5\x99U\xe5\xe9\x96+\x8c\xcc\x00I%\x06*\x8fO\x8a\xe9*\xcc\xae\xc7zCu\xf7\x0e\x955\x18k\xf0\xc1\xe1\xa5`p\xd4]\x83551\x0e\xa0\x82\xab+\xd4Y\x8a(b\x842\xcf\x93(Bwr\xc4\xfaw\x7f\x9b\xee\xd1)\xfb\xcf_#QPo\xa9\xda\x06#\x86*x\x9a\xcd\x92\xf6\xf8\x14\xaa\x16\xbf^!\xaeB\xc5 \xd6\xce\x8d\x95Q\x9c\x01\xab\x05\xc9#\x9a\x05k\x1c\xe3~O\xdd.0U\xcbn\xe8\xd1)\xe2}K?\x0e\x0cc\xc2\x89\xa1\xaa\x97h\xe9\xd9\xdf\xeeI\xd3@\x7fuN)\x91"\xd0-Z\x86\x94\xb0\xde\xba\xef\x0c<\xcf\x98\xc6 \xc1Ih\x026\xb8\xd9kEf\xa3\xe69\xbc\x91\x82\xf5\x15"\x16\xb1s\x07\x1d\xac\xc3Z\x875\x06en\x06\x9a:\xb0\\.8=\xd9pr\xb6\xc4-;\xa6\xa1\xb0}\xbbg\x9a"\xbb\xec(\x19\x0c\x85`\rq\x88\xa4~\x8481\x0c#\xe30\x80\x08j,L\x89\x8f\x16\x037\xfb\x89\x94\xc0\x01k\x11"\x85\xa2\xb0\x10%O\x89\xe4\xfd\xecxi\x02\x12R7X\xe3\x88]\x8d\xa2\x1c\x97Bl[\xf2z\x81\xed\'\xc4[\xacw\xd4)\xf1\xa4\xb1t\xce\xb3\x17\xe6\xe6\xd2Z|S\xe3C\x85ojR\xc9\x1c\xfa#4\x15\x86\xfd\x9e\x94<\xef\xdek\xe953\\\xf6\xa83\xf8n\x83\x15\x8f\xb3B\xbb>\x9a\xfb\x9a\xa2\xd8\x02\xad\xafh6\xa7\xd8\xee\x18$ \x06\xec\xa1Iu(d\xc1\x98\xb9\xb6oo\xaf\xb1j\t\xd6\xb0\x1d\x06*\xe7\x18\x93R\xdb\x82N\x99L\xa1\xaaV$\xcd\x0cS\xc1!\x0c\xfb\x1b\xf6\xfb\x81\xac\xb0^\xae\xb1\xce\xbag\xb3a\xe7\x197{\xc14\x0e\x17,\xce\xcf\x9d\xe6\x0cx\xcc]u\xc9\x051\x06\x13\x02\xd6:\x9c\xcc\x00\x85=DB\xb0\x86\xaaj8[\xd7\xfc\xe0\xfe\x9a\xe5\xbaa\xb5\xe9\xb8{g\xc1}\xe9\x18\xa6B\x9d\x12k\x97\x18F\x80\xcc\x93\xb5\xe3\xd5.2\xf6[\xec~Kk\x13S\xb4\x88\x9d\xf1\xdf1\x82\xe9wL\xdbK2\x86<\xcd\x9d\xe8\xaa\xde\x93\xa2a\x97\x95q\xca\x88\t\x1c\x1f\xad\x98\xc4\x10S\xa6\xb1\x82\xf5\xc2Q]\xb1\xb4\x89\xfd>a\xc7\x11_y\xb2m\x08)\xd1V\x8e:E\xbc\x14\x8eW\x81\xbd\xf3\xf3y\x8c\xc1U5\x04\x03F\x89Sb\x9a"b\x1c\x18\xa5`\xe6\xa9\xe2\xe6\x8aW_\x9d\xe3\xad\',:J\xb6\x98\xe3%&g\x8cZhj\xc4@H\x89\xb4\xdb\xe2\xbd\',k\xaa\xa3;\xf8\xe51Eg\xf8V\xaa\x80u\x0e$cr\xc1`0\xc50\xedn)S\xa2\x18\xcb\x103\xdd\xb2\x9ak\xbd\xcd\xc4\xa88\x0b\x95\xb3\x948\xb0\xed\'B\xb0x\xe3\xb9\xbc\xee)%\xe3\xd4\x18\xd4\x80Z\x8b\xaa\xc1V3\xc4\xe8\xbcE\xacAc>\xa0W3j\xa5\xe5\xbbP\x9f=\xcfy\x835vn\xb6\x9a\x86f\xb1\xe2d\xb1\xe0\xd3\xbb\x15\x8fN\x03\xe7\xc0Y\xe3\xd8\x9e\x8fLR\xa8[CnZ\xfa\x9d\xb0\xd3\x9e\xd4\xef\xf8\xd5\xae\xb0\xd4Hc\x1d\xddY\xc7nT\xe2\xee\x96\xed\x08\x8f\x8f+\x86\x8bW\\\xec\x13Y\x07z\xb3\xa5\x94\xc8\xa8\x9e\xb2_s\xe7\x08^\xf7\x85b\x84\xca\x08\xbbQI\xbe\xe0m\xa1u\xc2\x93\x8d\xe7?\xbc\xde\xb1\xc3q\xf5\xe6\x82\xdeYB\x16\x18vd\xc0jb\xb3\x0c\xb4*D,\x0b/HQ\x96\xa6\xa0\xc6rq=\xf16\xcf\xc8\x90\xf7\x9e\x98\xf4\xd7x\xbb\x00\xaa\x962Ev\xe7W`\xaa\x19\xa3\xae\xaay\xdaH\x05\xfa\x11ckD\nxA|\x8d\x94\x11\xdb\x06\xaa\xfa\x04g\x0b\xa5]@I\x0c\xbb+\xe4\xfa\x02v[t\xd8bu\x8f\xcf\xf3\x18\xa7Cf\xb4\x85\xedu$T5j-\xcb\xf5\x1a\xd3\xef1\x05\xd6\xcb\x0e+#\xbb~b\xb3\x84\xae\xab\xb8\xbe\xb9\xc6\x89\t\x14S\x10o\xf0\xd6a\xea\x80s\x06g\xcb\x01\xfb\x9dWss^\x12D\xc1\x1c\x1a+1\x05\xeb\x03\xc6\xd7\xd4\x8b\x15\x8b\xd5\x9a\x93\xe3\x15w\x02l\x83\xe1k\xed\x08\x8d\xa3O\xca\xb7\xd7\x11\xc9[BS\xb1\xac\x85\x8b}f;D\xee{G?\xee\xb9\x1e\xb6,m\xc3T\xe0\xf9\xb7WX\x97\x98\xde^\xf0\xcde!\r=\xe7o\x07.K\xcd\x07\xef:n\xaev\xbc\xbeU\xf2\xea\x16\x99\x1a\x8a]#\xb5;t\xc9\x86\xb4O\x8cy\xcfm\xcc\\\x0f\x85\xe4\x84\x97\x97#Q\ra\xb1Fm`\xb1\xde\xb0\x1d\'\xd2\xe59\xaf\xf6\x10\x96+\xba\xe0\xd9&%\xf60&%\xc7\x1d1%L\x11\xda\xe0\xc8X\xf6\x87%\x84\xaf\x1b0~^\x92\x98\x894\x8c\xe4\x1c\xc9\xa3\x92\xaf{\xec\x9d0\xa3a\xd7\x97\x94\xc5\x1d\xb2)8oi\xea@\xdcG\xac\x1e\xee\xb9Ya\xaa\x8e`\x95\x9b\xebK\xf2\xd1\x19i\x9c\xe8/\xaf\x89W\xbf\x84\xdb-\xe5\xb6\xc7\xe5\x91*YFk\xc87\x91\x91\x8c\xe9\x85\xf5qK\xca\x03z;Ry\x03\xad\xe7\x06\xc7Rtn@\xed\xd2?su\x83\xeb*|\x15p!\x10\x82\xc7\x85y\x9b\x93PR\x99\xb7>%1\xc3a\xc1\xe3BE\xd5u\xd4\x8b5\xcdz\xc5b\xb9\xa2Y\xb4l\x9a\x8a\xe2\x84\\\x94\xd1\xc24M\\\xf6=WS"\xa5\xc4\xb0\xefy=d\xaew;t\x18\xe9\xbc\xa5\xf6\xc2\xf9\xed\xc0~7\xe1I<\x7fu\xc1\xe5\xf95\xd7\x97=\x97\xd7\x03wV\xa7\xf4\x93\xd0\xa7\x91\xab\x9b\x81\xcb\xe8)I\x99\x92\xe1\xe2\xaag\x8c\x13\xbe\xaa\xb0\xce\xcf\x1b\xaa\x14I\xd3\x88\x8a%\xabe;\x02R\x08\xaea\x19\x0c\xd5\x9d\r\xeb\xca3\r{NONH\xce#.p\xefh\xc1\xdb\xdb\x11\xfak\xfc~@\xc7[\xc4xh\x16\x1c-[\x8c\xf5\xf3Z\xd5Xp\x8e\x9ce\xde`\x15(\x07|^\xf2\xbc>\xb5\xeb5\xa6\xaa\xa8\xc7\x1eo\x1d^\x14\xdd\xf58\x0b\xe4D%B\x89\tc\x85\xaa\t\xf8j\xde\x88\xd5\x9b\r\xcb\x93c\xaa\xc5\x82\x1c\x16\xa8\xf3\x98\x920i\x04\x03\x95\x18\x82S\xacF\x86\x18\x99\xfa\x1d\x0c\x89\x84\x90\xc6B\x9e\x94\xd2\x8f\x8c1q\xd4\x19\xec\xe2\xf4\xe4Y\xa8k\\\x08\xd4\xc1\xe3C\x85s\x1ec\xe6\x91\xa0\x94rX\xebA\xd1y\x16\xb4\xdd\x82\xb0\\S/\x96\xd4M\xcdb\xb1\xe0\xf4\xa4\xe5\xa8\xa9Yv\x81(\x1e\xdb\x18\xd6\xae\xc2\xa9r{\xdbc\xfa\x1d\xa5dz\xa0\x18C\xe7\x94U\x13XJ\xc2\xc4\x01-\xcat\xbd\xe3\xea\xfc\x8a\x8b\xf3=\xd9:\xc6\xfd\x80F!\x90\xb9\xffN\xc3\xf5nG\x9f\xe0Q\xedy\xb8\xb0\xbc\xe8\x1d\x85@)\x89\x9c\x15\xeb\r\xd6\xc0I[A\x11\x92\x9d\xcb\x07FY,[\xde]x\xfe\xf9o\xbf\xcb\xe5n\xe2r2\xecB\xcbq\xe3\xd8j\xe6\xd3w\x8e\xf9\xc1Y\xc7\xa7a\xc7_\xbf\xba\xe5N\xd3\xf2O\xbf\xff\x98\x9b\xd1@\xed\xa0\xaa\x90!\x12\xad\x10lEL\x99\x982Z\x12\x1a#L\x11\xf9\xee\xb3(R/\x08U\x87\x8f\x05\x97\x07\xacQ\xec4a\xe3\x84Q\xc5\xd8y\xec\x12gi\x9a\x80\xb5\x96]\xb0\x9c\x1em8>\xda\xe0\x9c\xa5jk\xa8k\xf6b1I1%a\xb3\xe0\xb5 V(\xc6\xb0Y/\xa8\x83\xc3Z\x08\xc1P\xd7\x96\xba\x02\xa3\x99~\x02\xbb\xb9\xfb\xe0\x99\x0fa.\xfe\xa1\xc6T\xd5\xdc\xd5Q(\xa2\xc44\xe3\xd4\x88\xc3yOh;\xaa\xc5\x82\xd0\xac0\xc1\xd28\xcbq\x08\xdc?^q\xb9\xed\xd9\xef\x94\xca\x1b\x9a\xaaf\xd1u\x98\xce\xd1.\x96T8>I=[\xe3\x90Jx\xbc^sq{CR\xc7\xb7\x177\x18\x12gmB\xfa\x1de\x9f9\xdf\x0e<}\xf8\x0e\xfb\xdd\xc0\xdb\xdd\xc4\xeb\xebH\xca\x8e\xda\x1a\x9e\xae\x03\xb7\xbb\x91k+X\x07\xa1nX\x85\x05\'m\xc0\xa9\xc7\xb75SV<\x86\xd3\x85e\x9f\x05o\x0c\'\xcb5_\xbe\xea\xb9\xb5\x86\xeew\xff\x90\xff\xe6\x0f\xff\x98\xbf\xff\xeaW\xec\xb6[\xcc\xfe\x86\x9b\xcbW\x0c)\xa3U\xc7\xc3G\'\xeco\x12/#,\x8e\x8fpZ\xf8d\xe9(y\xe2N\xa8\xc8\xdb=\xc9\x0b\xa7u\xcb\x98\xc6\x99\x19q\xa0\x0e\xe1+\xecr\x06WL\x1c\xf0\xd3\x1eQ\x08\x05hT3R\xe3\xcc\x7f\xc4_K\xa1h\xc1\x88\x9bSw\xddP-\x17\x84\xaa\xc5z\xcfQ\x1d\xf8\xde\xa3\ron\x951fJT|L\xfc\xe4\xa4\xa1\x9d\xaeH\xdeqt\xdcqtv\x87\xb6n\xf8V<\xb7#\xd8l\xf8\xed\x87\xc7|\xf3\xf6\x86\x1a\xc3\xd5\xed\x15\xd3.\xd2\xb4-\xbfx\xfe\x96o\xdf\xde\x92\x11nw=Ig\xba\x8f\xd5\x823B\xeb\x1c#p)\x15\xc1\x19\xbe\xff\xfe\xbb\xdc\xbbwDu\xfa\x0e\xc7U\xcd\xbex\xeaU\x0bc\xcf\xaa\xaa\xe9\x9c\x90\x06\x831\x96\xe4*Z\xbf\xe0\xac]\xf3\xdf\xfd\xfe\xef\xf3\'\xef=\xe6\x9bo^\xf2\xab\xcf\x7f\xceq3C\x9f\x1f\x1d;\xfe\xee2\xf3\xb3\xad\xb0M\xca+\xafLb\x18\t,\xc6\x9e?\xb8[\xf1\xfav\xe2\xb8\x0e\xdc\xecz\xfe\xf9\xc2\xa3}\xe4\x03\xeb\x90T\xb8u\x9eR\xd5H\xbb\xc0\xac\x97\xd8\xfd5\\\xbf\xa1\xa9:J\xe5\xb1\xc1\xc30Q\x07\xc7f\xb3a7\x0c\xd4\xbe\x02khV-\x0f\xde9\xa6Z\xb4$\x076*\xba\x8b\x0c\xfb\xeb\x99\n\x14\x1a\x8ao((\xe3\xee\x86\xd6X\x02`s"\x08T\x08V\x14\x0fX\xa7L\n\xf6\xe4\xbdw\x9f\xf9Pc\xad\xfcz\xdbcg\x16\x15E\x151\x06g\x1d\xc6\x06\\U\xe3\xdbnfg\xf8\x9a:\x08F\x1a\x8e\x97\x96}\x86:T\x04o\xf8\xfd{+\x1e-*~y\xb3e\xb9\xeap\xc7\xc7L7\xb7\xdc_T\x9c\xa7\xcc\xe4\x1d\xb7cd\x9b\x85\xd7\xbb\x91\xb1\x87\x1f\x9c%\x9e\xbfx\xcb\x97\xdf\xbc\xa2q\x15\x7f\xf4\xc3\x0fy{y3w\xbaf\xa6\xe0T\x95G]`,f&\xe2\xa5\xc2\xc9\x9d\xfb\x9c\x9e\x9d2\xbe}\xc9g_\xbc\xe6\xe8\xfe}\xae^\xbd\xe6\x07\x8f\x8f\xb9\xde\xf6l\x96\xf3(\xb7q\xc2\xeb\x14\x19\xad\xa1\xa70\xdd\xee\xf9\xf7\x0c\xfc?\x7f\xf7\x7f\x13\xaf#w\x9b\x8a\xeb\xfd\xc4\xd6T\xa4\xd0r;\x08O\xda\x8aE\x7f\xc3\xf7O\x02_^\xf7\xec\xa5\xe2\xb37\x89\xd71\xe3\xbc\xe1\xd5\xde\xf0\xd5\x10\xc9\xce\xf1\xf1\xa6\xe6\x0f\x8f2\x7f\xb57\x0cx\xac\xafQ\xef\xa8\xfa-\xd5\xb0\xa7\xbe\x7f\x0f\xa9j\\]a\xf7=\x8b\xe5\x82&\x04v\xfb-\x0b\x17\x90&pr\xb6\xe1h\xb3\xc4\x8507\xbc11M\x89\x1d\x82\xb1\x0e\xc9\x85\\zt\x9a\x08\xd5\x82P{J\x8e\x87\xb1\xaa \xa28#\x87\x05\x11T\x9a\xb0\xc7\xef\xbd\xfbL\xc4\x1e\x96\x04\x87}m)\x14c0\xce\xceuX\x98\xb9R!PW5\x9f\xbcs\xc2\x7f\xf9\xc9\x19\x8d\x08\xe7C\xe6\xe1\xd1\x826\x04\x86\xa8\x98\xa6\xe6\x95\x08\xcfKE^4\xf8\xb3\x16\xb7XP\xd9\xc0\xdf\xfc\xfc9cV\x8e\xba%\x9d1\xf4\xfb\x89\xca\x19v)r\xfe\xfa\x8a\xf7N6\xfc\xe2\xf9\x05\xde\x05b\x12n|\xcd\xd9"\xf0\xc9;\xf7x}u\x0b\xcc\xcb\x8cu[\xf1\xf0d\xc1n7\xd1\xdf\\\xf1\xc5W/\x18.\xb6\xdcL\x03\xd3\xd59\xa7\xab\x96\x0f\x1e\x9d\xb0\xcd\x15\x8fV\x13j\xe0\xdb\xe49Z,\xa9\xcb\x96#"?\xff\xe5s\xce\x7f\xf5\x9c\xbb\xde\xd0\xad\x17|s;/\xca\xc7\xc9\xf2\xb4\x1a\x88S\xa1\xe9\x1a\xfe\xa6\x877\xd7\x85\xbb\x0b\xcbW\xb7\x13C18\x15^\x8dJ\xca\x02b\xb82\x96WX>\xbf\xc8\xbc\xcc\x13E\x05\xbc\x85\xe0\xa9\xa6\x9ej\xea\xe9VG\x98\xb6\xa5\xae\x1b\xf4jK]\xdb\x19\xff\xeeG\xea:p\xbcYsvrDU{\x9cs\xc4q@\x86y\xf6\x1e\x9dE\xab\x0e\xd3\xac\xb1\xed1\xa19\xc1\xd75b\xec\xcc>\xd3\x84\x94x @\xcdD\n/\x06g\x04{\xf7\xe9\xc7\xcf\xacu\x18\xc7\xec5"\x88\x11\xc4\x86\x99\xb5\x88\xce\x88\x0bp\xd4U\x9c\xadW<]W\xfc\xf5\x8b=\x93\x11>\xdc\xb4\xbc\x7f\xb2\xe42\x1a>\xbe\xdf\xd0g\xa1k-\xa1my\xe7\xd1\x92\xef}\xf0\x94\xf7\x9b\x8a\xdb\xed-Z2w\x97+>x\xef\x03\xfe\xee\x8b_\xb2Q\xcf\x933\xe1\xab_]\xf2\xf2\xdbs\xbe\xf8\xea\x15`\x8812\xc5-i\x88\xc4q\xe0\x8d\xd6\xf8< \xd6\xb2\xec:\xde{\xe7\x84\xdd6\x91r\xe2\xac\xc9L\xa9\xf0\xe0t\xc9\xcd0\xb1\xeeZ~\xf7w\x9e\x12\xa7\xb7\x9c\x9c\xdc\xa3Ua\xf05\xc7A\xb9\xb8\x1a\xd8\xf70\x8d@\x1d\xc8u`s\xd4\xb0\x1d\x94A,?>i\xa9\xba\x96\x9fM\x86\xc1z^\xec\xf7\xfc\xde\xbb\xa7|}\xdds\x952\xdeX\xf6C\xe1G\xef,\xf8\xfaj$\x97\xcc\x8f\xba\x8a\xd7c\xe6M\xc9\x88U\xd241\xa64\xd3!4a\xe2\x96&\x8f\xb4\xd1\xd2,7T\xce W7\x98r`\x8f\x88\xb0j[\xee\x9e\x1e\xb3hk\x8c\x95\x99P8&\xca\x18\xc91S\x10\xa4\x08\xc5[\xac\x9f\xf1wg\x1c~^\xf5aDq\xdfQ\xa1T1\x92\x0f4\x05\xb0\x0f>\xfa\xf8\x99\xb3-\xce\x9a\xd9\x1bdF1\xe6D=SYjc89\ntNXU\x96\xcf\xdfFv\xc6\xb3\xcd\x99ES\xb1s\rW\xe3\x887\x86\xb3E\xc3\x7f\xf1\x8f> \x19\xe5\xc7?x\xcaU?\xf2\xcdm\xcf\xedv\xe0~\xbdd\xb7=gQ\xb6\xa4\x9c8\xbf\xd9\xf3\xcb\xcb\x9e\xab]a\xbc\xb8 \xf5\x03\xb9(N,\x1f?h9\xe9,\xd7\xbbB\x9d&\x8e\x965F\x04e\xe2\xdd\xcd1\x9f~\xf2\x94\xb7o^\xf1\x0f\xde\x0b\x94\xad\x92cd,\xf0\xc1\xc3\r\x17\x97W\xbc\xde\n\x9a\xe0\xf4t\xc3\x8bm\xe1\xdd{\x1b\xde\xf4J\xe7\x84;\xde\xf1\xd1\xc60h"6\x0bzW\xb3\xb7\x16\t\x9eTy\xfe\xeajb{[\xd8\xedG>\xbb\x18\xa9e\xe2\xb1\x87\xbf\xbf,\xa4\x98\x19\xf6\x91\x8b\xed\xc0n\xda\xf3Y?1\xaa\xc7;\xe1qW\xb3\xdd+\xbb\xb1\x07U\x8c74@\xeb\xa1\xee\x16\x98\xf5\x06\xc9\t\x9d\n\xf5rA\xb7\xecp\xde\xb2\xd9\xac9^\xaf\tM\xc0\xd4\x16\x83`\xcb|\xa6\x14G\x92fJ\xc9\x14\x03\xe8\x9cA\x9c\xceF\xb5L\xf3\xb2\xe2;\xe3\xa2X\x12\x82""\xd8\x07\xef\x7f\xf4\xcc\xff\xda\x03\xca|\xe1@:\xd4\xachN\xdcY\x0b\x8f\x8f\x17\xe8\xa4<\xda\x08\xfd\xaepY\x94\x87\xab\x8a\x9b\xe2\xc8\x05R\x16\xfa\xa2$\xa3L\xfb\x89?\xfa\xed\xdf\xe4\xb3\xf3\x17\xf4\nW\x97\x03\xe6\xe6\x86\xd7o\xdf\xb2\x08\xca\xed~\xe0\x8b\xcb\xc46\n\xb7\xfb\xc2\xd4oI\xb7W3\x91\xef\xf0\xbf7\r|r\xd7\xf1\xc5\xdbL\xb1B[\x85\x99\x8ab=2\x8c<\x7f\xf5\n\xeb=\xff\xe4\xf7\x1e\xf3\xe9{\x0b\x9a\x02__F\xeen\x96\xc4\xdd\xc4\xa0\x99l\x03]\xed\xb9\xd8ny\xbb\x1f\xf0\xe2X\x92\xb9o\x13k\x9d8"\xe1\x8bat\x9e\xcb,\x9c\xab\xe1\x17\xbb\x81\xa6\x18~b3;M\x9co\rS_\xf8\xea\xe2\x96~\x9c(VXxx\xb1\x9b\xe8\x93\xce{qk\xb9\xd7$\x18\x0b\xdfn\xafX7\x96\t\x83mOXZV\xa1"%G,\x851\x81q\x8eu\xd7\xf0\xe8\xec\x88\x8b\xed\x9e\xa7\xcb%\x1f\xbds\xc2\xcbW_\xf1\x8b\xb7\x81\x9b)\xf3\xf2z\xc7b\x11H\xa1\xe2\xa3\xc7w\xb8\xbb\xe9\xb8\xbd\x9a\xf0\xa1\xe2{\x8fV\xd4#\xbc\x7f\x0cfR\xceJf\xb7\xdbq!\x9e+\x02\x97\xa3r\xbb\x8blcdj\x02\xd7\xc93\xad\xd6\xe4Z\xb8\x13 \x8b\'\x19C\x9f\x0b\xfb4\x1b\xf6{\xa7\x0b\xce\xfb\x91\xab\xc9\xb1\x9d\n\x1flj\xde\xeeG\xa4j\xb1M\xc7\xba\xaai(8\tT\xd5\x1a/\x96zQ\xe3\xacc\x83\xe1x\xb9\xa0mj\x9c\x15|\x15f\xc9\xc0\x98H\xfb\x81\xa2\x90\x932\xc52\x13\x19J\xa6H\x99\r\xc8\xbcp\xb1\xaaX\xc0\x1b8\xe0\x8b\x18#\x18\x12F\x04\xfb\xee\x93\'\xcff\xc2\xfa\xbc)2\xcc9\x1c\xcdd\xcdd P\xd8\xde\xc2\xf5\xce`%\x13M\xc7Y\xf0\xbc\x1c\x13\xef\xae\x02\x7f\xf2\xb1\xb2-\rw\x17\x89\xe3M\xc3E1\x8c\xbef\xabJe\x95\xcb\xdb\x89\xbf\xbdL\xfc\xd3O\x1e\xf3\x8bW\x97\xec\x133\x98b-\xb9(i\x88\xe4\xed-\x17\xe77t\xbe\xe37\xef+\xbf|\x9dxy3\x12\x8b\xa2\x18\x82\xf5\xfc\xf0\x83{\xfc\xe4\xa3\xc7|\xf2\x1bOy\xfd\xfc\x15\xbf\xf7A\xe1\xcd\x08\x7f\xfe\xf3-?\xfc\xfe\xc7\xbcy}I?F\x1e?Z\x11\\\xc5\xdd\x87\x0fy\xf5\xfa\x82X\x0c\xe2\x0cq\xa7|\xb0i9\xd3\x89\xce%\xd6\xb5\xc7\xaf\x1a\xce\'\xcb\xab"\xec\xb1\x8c\x16\x9e\xb6\r?\x07\x86\xba\xc68C\x11e\xb1j\x88\xbeF\xeayTA\x04\xe3,Gu\xc7\r\x96\x983Q\xe0\xcdv`\xca\x16[7,\x8fN\xd84\x81\xb5\xb3Tw\xef\xb0:\xbd\xcb\xb2r\x1cw-\xeb\xa6\xa6\xdb\xac\xe96\xdd\xbc\nu\x16k\x94\xac\x19#f\xe6\x85[\xc7\x90\x0b\xc3\x18\xc9\xb9 :SzE\x15\xa3\x05\xc9y\xe6W\x9727UX$\x0bF\x12V,F*\xec\xfb\xef=}&\x1a\xc1YDg\x03\n3M6\x96D.\x89\x80a\xd2\x828\xe5\xe9\xc2\xb0\x93\xc0\x8d\xa9hk\xc7\xc2\x05>\xdb9\xda\xf5\x82_\xdd*\xcb\xa6\xe6\x9f\xfd\xf8!N#/\xa3\xf0Z=_^D^\\\xee\xf9\xcb\xaf^\x81\x18\x1e\xad+\x8c\xf1\xfc\xe0\xa4\xc5\x8e\x89\x9baD\xa7\x11W2\x7f\xf4\xe3O\xd8\xed\x13\xdf\\\x8e\xa8\x99\x19%\xbe\xb2\xfc\xc3O\xde\xe3\xcd\x9b+r\xcc\xfc\xf4G\x1f\xf3\xf9W\xdf\xf0\x9f<\x8a\x9c\xbf\xdaP\x1d\xad\xf8\xc5/\x9f\xf3\xf0\xc9;|{\xfe\x92\x98\x84\xba]\xb0\xaa\x1d\xe3~\xa2`\xb0R\xf0&\xf3\xa0\xadg\xa5D\xb3&\x8e\x13_\xee&\xbe\xc8\x86Ku\x8c\xbe"6\x15o\x997b|\x17!\xd6Q\x9e~\xca\x87\x7f\xf0\xfb|~\xbb\xc3\\^\xe3c\xc4\x18\xcbmR\xee-=)+S)\xe4`\xaa\x80\x04GR\xa5\x1c\x04\x00R\x94,\x16\x0e\x90\xa8d\xc5\xa8\xfe\x9a~l\xc5\x02\x13N\x14\xc9\x1c(E\xe4\xd9\x1b\x95\xd9{4\x81f\xac\x11\xc6l0b8\x1f\x0bF<\x97C\xe4"\x05h\x84\xd6\x80\x15\xcf\x12\xc3\xcf\xf6\xc2\xf5ma\x1d\x84o\x06\xf87\x9f_\xf1\xabA\xd9\x87\x86pv\x87i\xb8"\x0f\x13CI|zw\xcd\x99\x89\xfc\xdb\xd7{\xbe\xde\xc1\x07\xf7\x8e\xf8\xfa\xe2\x8a\xb3{\xef\xf0\xae]\xb3}\xf35_\xbc\xbc\x98\xf9\xcbf&\x11\x04cx\xb0\x01\x95S\xbe\xf8\xfa\x15\xdf\xbe\xbc\xe4v?\xd27O\xc8\xcb=\x7f\xf5\x97\xbf \x1a\xe5\xeb7W\xd4\xd6\xd165O\x1f=\xc4Hb\x90D\xd3v\xdc=9b\x1a\'\xcec\xe2\xe5\x109\xf5\x1d\x8bj\xc5\xe4,K\xd3\xb2\xde\x15\xc6\\H1qc\x1d\xef\xac+\xde\\\x16\x92\xc2Y]\xf3\xdf\xfe\xf1?\xe6\xbf\xdf,\xf8\x9f\xd6\r\xff\xab\xb6\xe6\xe5\x00\x00 \x00IDAT\xe2\x7fyN\x10%\x1a!*\xac\xad\xf0\xbd\x95\xf0\xbf\xef\xd2\x81\xf9a0.\xe0\xab\x86*\x18\xbc\x14*[\xd3\xd5-\xcd;\xc7\xd8\xe00(.8L\xa8\xb0\x95\x9f\xe1K3\xf3\xc5\xbf#\xf9I\x99\x89\x7f\xceY\xea:`\x814$\xd4\x8c`\x1d\xea3E\xbf\xeb\x9b\xe6\xfa\x1bJ\x07r\x80\x97\xf3\x88}\xef\xfdG\xcf\x0e,\x8eY\nR"\xa2\x13b+\xa2@\xca\x99\xa8\x96A\r\xea*\x8a\x9b\x95t\xa1\xaa\xc0y\xce\x8b%W\x01\xe3\x1c\x93V\\\xe6\x1d\xe7;\xc3\xae\x14\x8a\x14\x9a\xd5\ni,\xc19\x0c\xc2\xf9Txq\x9d\x88)\xb3\x1fznov\x08J\x9a\x06\xbexq\xc3\xe5\xe5[\xb0\xc2.\x0b\xce9\x82w\xdc]/y}\xb1\xe7\x9b\x8b\x1dc\xce\x9c\xbf\xb9\xe0\xfcr\xe0/?{\xc9/\xbe~\xc5\x98FLQ\x82\x08\xdf\xff\xf8\x01\xde\x15v\xdb\x1d\xfb>\xe1|\xa0\xf1\x96\x1f}\xfa\x01A-\x0f\xdf\xbd\xcb0\xecY{\xc7T&\xdeyp\x8c&\xa5kj^\x8e\x89\x8c\xe3\xfa\x80\xe2\xe5\x18\x01\xa8\x8eN\xf8\x1f\x7f\xfa\x9b\x9c\x18\xe1%\x85?\xfd\x8b\x7f\xc7?YO<\xb1\xca\xd7{x=)\xe7\xfd@\xa1P\xb6\x03Y\x04\xbfZ\xb2>9\xa2#\xb1\xb4\x86\xee\xe1\x13\xbaGwi\x8f\x97\xd4\x8b\x1a\xab\xa0)\x12\xba\x9a\xd0\xcc\xbc6c\r\xd6z\xb0nF\x11Ka\x1c\x13%}\'>\x88h\xd2\x99\xb4\x9f2\xa2\xe0\x11\x9c\x82\x17\xc5\x96\x84S\x8b\x14\x831\x19#\x16C\x191$\\)\xd82\xdf\x08\x01c**W!\x801\x19k\x0f\x1c\xe8\x10\xf0\xd6\xe2\x0f\xa0\x88\x15CU\x844\x8c\x0c\xdb-\xb7\xb7\x99\xf3>\xb3+\x10l\xa1\xdb\xbdf\x15"\xc7\xc75\xdeYt*3\xa309\n\x13.N\xdck\x84\xef=\xbaCu$\xec\xea\x05\x17Q\x08\xde\xb1\xacZ~\xfa\xbd\x8f\xf1\x08\xfb\x081\'\xa68\xf2\xfc\xfc\x821O\xc4\x18\x19\x0fB\xb2:XN\xd6\r\xe3\x90\xc8UM\xb4\x96\x12"\xcb\xd6\xb0\xe9<7/\x9f\xb3\x94\x1d\xec\xb6\x9c6\x81\x1cw,\xea\xc2ikqD.\xafnh\xa7\x81\x9b\x9b=%en\xf6\x912M<%2^^\xf1\xc58\x92\xb4\xf0\xe7/\x9e\xd3U\xf0o\x07O\xb3\xe8h\x83\xe1\xe3\x1avj\x18\x8c!\xd9y]\xee\xbc%\x90hT\xf1~I]\x05\xbc\x0f`\x85l\xc0\xb6sD\xba\x98\xd0)\x92S\xc4\x18\xf0\x95\xc1:e&p*\xce\x99\x03g\x0c\xbc\xd8\x19\x92\x14\xf0\xd6\xcck]\x03\xc19\xdc\x81\x99\xe2\xbc%T\x8e\x10:|h\xb0\x1f>\xb8\xff\xcc\xe2\xa0p\x90e&*o\xc16\x94"\x8ci\x06\xb7\x0bf\x06@\x9c9,&\x1c\xdeWXk\xd0\x03G\xc9\xca\\/\xa4\x0e,\xba\x86\'\x9b\x86\xfb\'\x1dC\xd5\x10Sa\xda\x8f\x94\x98)\xb1`\xd3\x9eE\x1aI\xc0uT\xb6i\xc7\x1f\xfd\xd6\x0f\xf9\xf6\xdb\x0brQ\x82s\xdc[\x06\xfe\xeb?\xfe\x1d>\xfb\xe25\x9f<}\xc2\xd1\xa2\xe1\xfc\xf2\x9a\x98!M\x19\xc9\xb3\xd8\xcb\x1d`\xcc?\xfc\xc7?eReH\x86\xba\n\xac\xda\x86\xa3\xae\xe2\xe1\xd9\x82\xb3\xb5\xa7\xf2\x99\xdbm\xc4\xa2\xac\x8f\x96\x1c\x9f\xad\x19J\xc0\x86\x8a\x9doi\xba\x8e\xaf\x87C\xaa\x9e&\x18\x06\xfa\xb7\xd7l\xafo\xf8\xd7Wo\xf9?\xde\xbc\xe6_\xff\xe9\xbf\xe2A\x1cx3\xc1\xe7Sf\x8a\x91\x14\x0b\xd341\xc6\x11-\x8a-\xc2j\xb5d\xed+\xd6\xc6\xd2\xd5-\x95\xadXv\x0b\x82\x9f\xd5\x90\x0epE\xb1n\x06\x96H\x19+\xfc\x9a\xf7\\\xf2\xbc\xadJ\x07]\x98\x8e\xb3\x16\x8c\x9c\xd0i\x9aE|\xaa\xb8\xc2<\xf5\x18\xc5\xe6\x84I\x05s\x18y\r\x82#\xd4\x08\x0eQa\x16\xbb\x82\xa5\xc6\x94B$\xe3\xadaR\x83-\x8a\x96\x08\xc5"F8j\x0c\xd1{\x92\xce\xd4\xd1\xd6z\xee\x1f\xb7\xbc\x8c\x8aw\x9eq\x8a\xbc\xde)m\xec\xf8\xe8\xb4\xe5\x9b\x93z&eOo\xa8\x92\x12J\xe6\xb4\t\x94i\xe4f\xab\xbc\xbb:a\xbc\xb8\xa0Z\xd6\xac\xdd\te\x8at>\xf3\xf5\x97\x9f\xa3d~\xef\xa7\x0f9\xff\xea+~\xf6e\x83\r\x85\x85M\xbc\x1a{|\xf0,\x9b\x86\xcd\xf1\x9a\xcf\xbex\x81\xa9,m\x17h$rg]\xf3\xe9\x07w\xf8\xe8\xbd%\xbe. \x9e\x9f\x7f\x1e\xb9\xbe\xee\xe9\xd6\r7\xc5\xf2\xf3\xf3K\xacoxuy\xc1/{\x87J\x85+\x96\x12\'JL\xec0h.\\\xfe\xc5\xbf\xe3\rBk\r\'g\x1b\xbe\x9d\xf6d\x99\x05\x00/\xf6\xfd,\xd8\x9b&:gX5\x1e_9\xda8\xe0\xb4\xc2W\x15\xf5\xa6\xc3\xd6\x16\xeb\x1c\xaa\x07H\xd1\xcdiy\xd6y)\xe8\x8c\x84\x15\x9dEo\xe4\x82SP?\xb3[\xa3\xe6\x99]l\x14\x93\x0bb\xcd\xfcW\xcc\x8cta\x0e\xe9=`\\!g\x83\xfd\xf0\xfd\x0f\x9e\x15f\t\xa80\xcb\'f\x06^\x01\xb1d)\x8c9\xfd\x9a\xc9\x91\x9d\xa3\n\x8e\xac\x82A(\xb1`\xac%j\xe6:eB\xf0X\xe7\x81\x84s\xf0\xfe\x83S\xaa\xce0\xaa2\xf4\x894\x0ch\xcc,\xd3\xc0\xe3u\xc5\x8f\x1f\xdd\xe5\xcb\xd7\x03?|\xfc\x0e\xff\xfe\xf3/\x98l\x8dx\x8f\xafkRh\xb8\xb8\xe91\x08\xb5,\xf8\xf6\xc5%\xb7\xe3\\B4x\xdae\xcbfs\xcc\x7f\xfa\x0f\x7fB?*\xc6\x19\x82\x83\xf7\xee,8\x0e\xc2\x9dc\xe57~p\x97\xe5\x83\rn13*$\'r\x12\xaa\xb6\xe6\xe5\xde\xf2\xc6\xd6|\xb1\xdd\xf1\xeam\xe1\xcd\xebk\xd2\xb6\xc7\xd9\xc2\xef\xac#\xaf\x87\x82\xb8\x8a,\xb3\xa2\xb1F\xf1)\xf3\xd5\xcd\x1e\x13\x13\xa9(\x1b\xa3\xc4\xa2\xdck\n77\x03&C\t\x96\xa3u\xcb\xd1\xbe\xa7]\xaci\xba%\x8b\xae\xa6\x0e\x9e\xe0\xbb\x8eL}b}\xb4\xa2*;n\xcaH\x9e2\x82RS\x18\x86Y\x12:a\xa8mf\xb7\xedI\xd1\xb2\xef#\x06a\x00\xaa\xd0\xe1\x0f\xe4\xf4\xb2\xea\xa8\xce\x8e\t\x8b\x05\xf1\xb6\xc7&\xc56\x0e\xe2@\xdeG\xd4\x1a\xdc\xa2\x9a\t\x00\xcc\xeaJ\xeb\xcc\x0c9\x16%O\x13vJ\xf8\xa2\xa8\xb3L\xa9Py?\x8b\xf05b\x04\x8cF\x94\t\x88\xa0\t\x8b\x90\xca<\'\xd9\xf7\x9f<~\x86L\x87Fz&d[\xf1\xc8!\x92KQ"\x961\xcd\x82\xae\xac\x16\xe3\x84\xefV\x8c]\xb0l\x1aG]\n\xadq\xd4\xcb\x96\xba\xa9)"\x88&\xf69\xa1y\x8041\x0c\x03\xd3\xb6\xe7\xa8V\xca8\xb0\xbb\xde\xf3\xd5M&\x8b`\x05\xd6]\xc7\xaa\xae\xc1@p\x81\xda{\x8a\x83\xcd\xd1\x8af\xb1\xe4\xe1\xe9\x1a\xdb6|\xf4\xe41\xfbX(\x9a)ef\x884VpT\x9c\xb6+>xX\xd1\x9a\xc0\xe9\x93{\x18"\x12<\xb4\x0b\x08\x1d\xa1^\xd2\x9e\xdd\xe7\xf2\x06z\xf5\xf4y\xe2\xa4\xabx\xbd\xdd\xd24\xc27Q\xd8\x15\xc7/\xaeGF\xcd\xe48\xcf\x9b3{C\xb8\xd7\x08\xaf\x86L?\x8d\xa4)1\x95\x82\x8d=\xbb\xa9\'\xa5Y\x1f}tv\xc4\tJ\xbb\xd8P\xd7\x0bZ\x17h\x9c\xa3^v\x84\xaeB*3\x93\xd7c\xc4!H\x8e\xe8\xed@\xd9\xf6h\x9a\x11(\x83\x92\xa7\x91q\xdf\x93\xa7\t\x13\x0foN@\x0e\xaf\x9a\x98eF&%\x18\xe3L\xe9\x89\x13&FH\xc3\x01\xb0\x02\xfb\xe1\xe3\'\xcf\x90\x8c1\x15z\x98\xa9\xd0YQ\xa8\x92Qk\xc8\x18\x92fb)d\xb5\x883\x18,R2\x9a!b\xf9\xf8\xee\x86\xa6U&\xe3\x889\xf1\x9b\xf7<\xe30\xb22\x91\xef\x9f\xac\xb8\x1a\xb6\x88\xf54Y9^z\xe2m\xcf/\xf7#\x83\x13\x8a\n\xc1W\xdcY-\xf9\xc3\xdf\xfa\x84\x17W[V\xf5LD\xcbSb\xd0\x151t\xdcL\x85\xbb\xc7G\xfcW\xff\xec\x1f\xf0\xcb\xe7\xaf\xe9\xf3\xcc|\xac\x9c\xa3\xb2\x96\xdf\xf8\xf4\t\'\xab\xc0j]1\xde\x0c\x98\xe9\x8a\xaa\xaafl\xddU\x88m\xa0n\xe6\xb3\x8a\xe3\xed>\xf2fw\x03E\xf8\xf6j\xcf\x87O\x9e\xb2\xf6\x81\xbd\x14\x120\x8e\x11tV\xf73&\xb2\t\\G\x18\'\x88\nc.X\xe0\x89\xcf\xbc\xba\x8d\x94\x9c\t\xcb\x8e;\'G\x9ceG\xdd\x1d\xb1X\xad9:>\xa2\xaa\x1cN\x95xu\x03W;\xccn\xc2\xc5\x84\x88\xc3\x05\x81\x94\xc81Q\xc6i\xde&\xa5H\x9e\x12q\x18\x91X\xc8c\xc2\xca\x1c\xd9:\x13\xcf %d\x1c\xb11!q\x9a\x85ui\x96\xf4@\xc2\xaa`?\xfc\xe0\xe3g*z\x90\x8c\xea\x8c\x98p\xe0\x1aYE\xec\xac\\\x88y\x86.\x93\xceDx\xd5\x82\x17\xa5\xa9j\xceZO%\x86J*\xfe\xb3O\xee\xf3\xd9\xf9\x05\xb9\xc0\xdd\xc6\xb1i\x84)\xf6\xd8vC%\xc2{\x9b\x86{G\xc7\xbcz{\xc1\xde.\xc9\xd2\x81\x82\xb5\x15y\x8a|{\xb1e\xb3i\xf8\x93\xdf\xfe\x94\x9f<\xeey}\x9e\xe8\x17+\xde\xff\xd1\xef\xa0*\xac\xdc\xc8\xeb\x97\xaf\xd8n\xf7\x8cy\x04\xe6\x19\xc2z!\r=\x88g\xb9\x88\xac:O\x19G\x9a*\xcc\xd9(TH\xd3">\xcc\x93@\x89\xbc\xb9\x89|3\x8c\xfc\xbf_n\xf9\xe6f\xe4?|{\xc9\xcb}\xcf\x9f|\xfa\x80o.o\xd8\x8d\xf3J\xefN\x1bX\x9a\xc2\x9d`\xb8o\x94\x17cdb~\xa9KJ\x91\xcb\xed4\xd7Gk\xd9\x9c\x9ep\xb7i\xe9DXl\x8eXo\xd6\xb4U\x837\x85\xca\xcb\xbc$\xd0L\xbe\xdd\x11\x87\x89\xa2\x85\xd0\x06L\x1df\x0ev\x9a\xdf}"\xc6\x92\x0f\x8aF\x95y\x8d\xf0\x9d\x10\xdf\xe6\x02)\xa1}\x8f\x19\x06L?R\xc6\x01M\xd3\x01\xe1\x9a\x0e"\xfd\x84+\xff_Qg\xd6\xa3Y\x96\x9d\xe5g\xed\xe1\x9c\xef|SDd\xe4\\YU]\xd5\xd5\xdd\xd5mw\x9b\xc6\xa6\r4\x12\x93l\x84\xc5pi\xae,\xc1/\xe9\xdf\xc0-7\x08!\x81\x84\x04\x82+\xc0\x08l\xcb\xb8mY\xb6U\xd5\xd8=T\x97k\xc8\xca\xac\xac\xcc\xc8\x18\xbe\xe1\x0c{Z\\\xec\x93\xe5\xab\x942\xa5T(\xce9{\xaf\xf5\xae\xf7}\xd6\xdcc\x95X\x15\x14D\x115\x14\x8d\x08M5\x81S\xe50g\x0cV3\x1a\n\x90H\xd6p\xcb$\xbe\xff\xc8\xf3\xde\x17\x03V\x13\xbf\xfb\xfe\x07X,\x97\xed\x8a\xc9\x14\xbe\xb3\xdd\xe0W\x0b\x86\xd2c\xad\xe7\xc3\xe7W\x9c-\x8f\xec\xec\x02\xbb^\xe2\x8e\xb9J\x92(\xa3,\xe8\x9da\xebZ^\xbcxN\xeeV\xac\xcf\x12\x9bA\xb8\xf8\xf4\x03~\xe1\xde\x19\xdf\xfe\xcam\xda\xc5\x86\xa7\xbf\xfdC,{\\\x0b&\t\x9do\x88.\xb3\xcf\x96\x9f=5|\xef\x1bwY\x98\xb6\x16\x8cb\xc1\xfb\n]\xc9\t\x8a\xc5$\xc3\xf10\xd2\x8f\x8eA\xa1Gxq\x88\xecR\xe0\xdf\xfc\xdf\xbf \x95\x1a\x15MEyr\x138)\x99\xd5B\xd8\x89\'\xc5\x81\x92j\x88,\xc7\t\t\tJ\xa1\xeb\xd6\xdcn\x1b\xd6)\xe2\xdb\x8e\xc6(\xce*f\xec\x11\'Xi0\xc6\x90\x1b\x83=\xe9\xc8\xfdD{\xb2AZ\x8bk\x1bH\x1eM\x91|\x9c\xaa\xce\xdc\xf8\xea\x0cM\x19\xab\x89<\xc6\xea\x91\x1e\x02L#~\n\x94i\xa4\x84\t\x13\x13\x84\x99\x14$J)\xd5\xe5\xe1\x8c(&\x1bJ\xd9S\x94\x1a\x15\x05\xa4&\xd3\xbe\xbc\x0f[\x15\xc6\x11\xcc\xcc\xbfZ\xdb\x05c\x16\x0eq\xe4D\x95\x07\xae\xf0\xda\xed\xc0\xffy\xd1\xd0\x9c,\xf1V\xd8.[>:L\xac\xd3\x91\x07\xb7:\xbe\xb9\xee\xf8x\x18\xb9sz\xce\xa7\x07%f!x\x87q\x86\x85j5\x93\xeb\xc8/\xbc\xf1:\'K\xcf{\x9f\xee\xb9}\xef\x1c\x1f2\xcf.G>\xfd\xe2snn`\xd3\xb5\x04Ub\x06\xe7;\x94\x80\x88\xe3\xad\xb7\x1f\xd2\xe4\x88\xc4@)\xca\xfa\xf4\x0c\x95\x1e\xce\xeeB\xeb@\x1d\x84\x1e\xcc\x9a>Dva\xe4\xf2\xd9e\x95\x17\x9d\xe1\xd8\x19\x86\x03ps\xa0\xa4P\xf1\r\xae\xa3Ha\x8fB\x14\xae\xe2\x88Z\x8f\x8b\x89\x12"v\x08\x94\xb1j\xf9mcX\xc5\x89\xd6[\x16bhr\xc1\xf5\x11\xb3\xb2x\xdf\x92R\xd5\x18\xbaEG,=I\xe6\x03\xc8\x9a*IZ\x8b],\x08S&\xe5\x8c\xa8\xad\xa2\x89\x15\x92\xa9\xf2e\x8e\x11b\xc4\x0c#e\x1c\x91iBS\xc0\xcc\x03#J\x9d\x19[\xb15I\xc9\xb8\'\xc7\x91\x94\x03j,\xde\xb5\x18\xebP\xe7\xab\xd7\x1d\x83\x1a\xc59O\xd3hexd\xe10%\xa4\xc9$\x03\x7f\xf8\xe4\x8a\x9bhx\x9a\xcf\xf9\xdb\xef\x9e\xf3\xd3\x1be\xbdq|\xff\xcd\xfb\xb8f\xe2\xc3\x8b\x97\x1c\xfa\x91\x9f\xeez\x1au|\x14\x9e\xf0\xf6Y\xc3\xcf_\x1e\xd1"\xa4\x0c\xde9\x82\xc2q*\x1c\xfa\xb1\xde\xed\x19\xbe\xf1\xd6[\x944\xf0{f\xc7\xf3\x97W\\]\x1d\xc9\xcfn\x98\xf6Gb\xc8,\xb2\xd2-\x97H\xc9\xac\x9a5\x8c/\xb9{\xd2@\xcc\xe8j\xc58\x1dY\x16\xc0\x9c@\t(\x16Q\x98\n\x0c1\x92MK\xe8{B\x94:T+\x13\xd2X\xa6\x04i\x1cI\x9ai\xbc\xe77\xbf\xf7U\x9e=\xdb\xf3\xb3\xdd\xc0\xa3\xe3\x81\xf7C\xc6\x14\xc8)\xa3R\xf0\xcb\x15\x9b[\',[[U\'\x84\xc6{\xdc\xb6\xc3.:\xd4\n\xc6\x9aj\xd0\x07\x18-n\xd9!\xbe\xce\xdd\xc3\x18\xc81 \xf5\x97\x81\xe4\xfa\x90cJX \x8f\x01\x1d{l?\x92\xfb\xa1\xc6Z\xa7@I\xa1\xb6\\\x9agR\x80 \xeaf\x00\x9c\xc1~\xed\xde\xdd\x1fd\xcd\xd8v\x89u\x0bp\xbe\x82R\x80\xa2\xb1z\xb4\xe6\xf3\\E\x88Z\xd9UE\xa1m\x0c\xedr\x8d]\xac\xb9s{\xc5\x93(\xbc\x9c\x84\xef=\xda\xf2\x9d\xbb\xe0\xcd\x9eg\xb1\xe5\x9e_q\x1d3\xbb)s\x93#[\x93\xf1\xfd\x91~w\x85\rG\\\x9c\xd09\xd6\x01\x96\x1777\x1c]\x03^\xf9b\xecy:\x19^\xde\x1c\x19\xfb\x9e~\xe8\x99R"N\x19M\x82\x8e=\xed\xca\xe3rf\xe1\x1b\xd6\x1e\xde\xb9\xdfrk\xbb\xa6 \x84\x08\xca\x88_y(\x06)\xca\xb4\x1fx\xf6r\xc7u/\xfc\xe5\xc5\xc4\x84p=e\xae.vH\x1a\xea\x08F-C\xa8\xf3U\xd5\xc2\xcf/z>\xda\x07.\xf7\x99m\xbbd\x98\x06\x86~DR\xc1\xb4\x8e\xe5\x83;\xdc;;\xe1\xd4(\xdb\xc5\x86\xb6]\xb2h;6g\xa7\xb4m[u\xe7\xc6c\xcc\xabr\xa7\xd4L\xf5\xab\x1e\xb8h\x8d\x87\x8ec}H(E3y\x1c\x99v;\xe2\xeeH9\x1c\x90\xe1H\x1a\xfa\xfaps\x84\x9cp\xaf\xf2\xc6\x14\xac\x08\x98\x8al2\xd6\xe10\x8as\x1b\xd48D\x04\xd5\x84~)l\x04J\xca\x88m\xb0"4%\xb3\xd0\x84\xb5\x10\xb4\x10\x8b%\x0e\x13\xdf\xf8\xca\x03\x9e\x0e\x07Jt\x8c\x87\x03W7\x96\xaf\x9d8\xde\xbf\\\xb0\x97\x1d\x9f[\xe1\xb4u|\xe5\xcd\xfb|\xf8\xf8\x19/\xd3H\xee{\x16M\x83m\x941v\x0c\xc7\x84_\\\xd0n\x96tw\x1fQ\xac\xe7\xdb\xaf?\xe0\xb4\xf1\xfc\xe9\xd3\xe7\x8c\x1a\xc9\xde\x10\x92A\x13\xb4M\xcbW\xdf\xbc\xc3\'?\xfe\x00\xc6\xc0\x9b\x8fNi\xc5\xf0\xe0\xf6]\xb6\xaf-\x19\x9e|\xc8\x943\x83?\xe1\xfe\xe9\x16\xa4E\x10\xc6!\xf3\xe9\xb3\x1b\xfe\xe2\xc9\x9e\x9f<\x0bHP\x8e\xd90`)\xc6\xd1_\x8f\xb8\x85b\xed\n\xa3{\n\x19k[\x8ec\x00,\x94\xcc\xc7/\xf6\x0c1 (\xea\x95\xe6\xe4\x16\xb7\xee\x9cs\xb6lXu\xb7\xb04t\xdd\x06\xdf9\xac\xc9\x18[(\xa6\x86\xd75W\xee\x89\xf7M\xbd\xc3\xd3Ti\n2\xb3\xc44A\x81\x903\xf1\xd0\x93\x8f\x03i\xd7\xa3\xe1X\x1fj\x18*7\xa5\xd4\xb1!\xd4y0\x14\x9c\xb1\x881\xa0u\xe8\x8f\x1a\x9cY\x9d\xa3%cE\xc8)\x92r5\x8bY\x11\xf0]\xc5\xf3\x99\n/3\xc5\xe0\x9d\xa5\x14\xc1\xe4LT\xb8\x1c\x8e\xfc\xef\xbf\xf8\x80\xd2t\xf8e\x87Yl\xf9\xb3!\xf3\xf8\xa7B\xd7\x8e,\xeelp\xdd\x9aO\xaf\x0e<\xefoP\xe31\xd9\x80w@F\xcb\xc8p}`z\xf61\x8dW\xec\xe9)\xea\x1c\xe6\xce\x03v)\xb3qK\xb6Vx\xa9\x81\tK\x14S[\x87rd\xb3\xbc\x8f_\xb6\xe42r=\t\xb7\x97\x85{\'-\xe6\xf4.\xe3\xe3\xcf\xf8\xe2\xf1G\x9c\xbcsJ\x96\x06k\x96P")\xb7<\xb9\xb8\xe6\xfa\x10(d\xfa\x90\xd8\x8d\x96q\x10\xbcQ\x16\xeb\x8e\xddq\xa2\xb1\x8a\x94H1R\xf9\x9d@N\x91\xd7\x17\x96\xd7\xdd\x91\xff\xf5xB\xb2\xd2n\xd6\x9c\xde\xbb\xc7\xed\xcd\x9a\xa5\xb7,O\xcfi\xa2\xd2\xac\xd7t\xce`\xb4FV\xac\x80{%\tK\xcd\x06\x0bB\t\x858\x0c\xb4\x8b\x16k S\x98\xc6\x918?\xd8x\xec)\x87\x03\x9a\x029\xc6:\xf75\xae\xf6\xc0\xa6\x82\xd6\xc4\x9a\xaaW+\x18c\xb1\xaeAU\x11Q\xec\xd7\xdfz\xf8\x83\x92#9\xc7:\x17\x9eyVU\xc5\x9e\x07\x0cb(\x9a\x10\xa3\xa81\xcc\x96\x80\xca\xd6R\xe5\x98\nA\x0bm[\x87\xdc\xde9\xa62\xf1\xe0t\xc3!\tY\x16Xk\x88\xe2I"\x98vE\xb1\x9e\x84c\xda%\x86}\x0f\xbb\x0b\xcc\xb0\xabAhc\xf1\x0b\xcf\x95]\xf0\xe40\xf1\xad\xd3\x15\x8f\xd6\x9e\x9f|~\xc5\xd8\x074C\xe9{\x9e_\x1f(i\xacA\xf3\xae\xe3N\xd7\xd1:E\xe2\xc4\xe1h\xf8\xe4\xb3K&\x02\x8b\xd5\x86\xd5j\x05\xb9\x90b\xa8\xc9\xf9\xe3\xc4\xe5\xe5\xc4\x93\x01\xae\xfb\xc40&$\xc7\x1a\xe4\x12K\xbf\xbfB\xadA\xc5VE\xc8:\x14\xe5\xe5\xfe\xc8GW\x13&d\x8c\xf1\xac\xee\xde\xe1\xfe\xddS\xee\xac\x17\x9c\x9f\x9c\xe0&\xa5\xc3\xb1\xdcl\xe8\x9c\xc3Y\xc5\x96\x82\x1eF\x9cR\xbf:QB\xa9\xf2p\x9cF4\x8c\x98\x1c\x89cO8\x1c\x98\x0e\x07\xc2\xd55\xf9\xb0\'\r=\x9a&J\xc83,\xae\x0e\x19\xaa\xfbF0\x18^9\xae\x8c1\xf5Xv\x0eD\xc8\xd2\xe0\xf28\x81\x98\x1a\xdc\xb2\xcd,=j\x1d*\x94\x99[\xa5\x99"\x91b\xd6X\x91/]\x1ffv\xd5f-h\xae?p\n#9\x18l\xdb\xf2\xe9>#^\xe1\xf8\x8c\xedf\x83k}E\xf7\xf9%c\xb6LCaL\x9e\xc5\xed\xd7\x10\xd3R\xc2\x8e\xb1[\xa3\xb4\xe4]\xc4\xf8=\xe8\x91\xdf{\x12Xm\x17Lc\x85\x97hVd\x7fd\xb9hA\xa1\xf1\x1b\xbav\r\xab\x05\xcf\x8f\x13\xcf\xf7=\xa5i\x19\xcf\xee1\x1e\'\xcew\x13w\xcek\xed\x00\x86\x93\xf5\x8a_|\xfd\x8c\xcf\x9f\xed\x98\xa6\xc4\xd4\xd7\xe3\xf30\x0e\x88\x18\xecxM\xe7<\x03\x96)\x04\x9c\x14r\x16\x9c\x17J\x8e\x94T\x10#\xb4g[Nn\xdff\xbbl\xd9nVt\xcb\x15\r\x8a\xc7Ri\x0f\x06\x92\xc1/;&\x84~\xa8\xceS\x19\x0b\xd2T\x98B9\x8c\x10F\xb2\xb5\xa40\x12\x8fG\xc2\xe1@\x1c\xa6\xda\x12\xe5\x08E\xebl\\|5d\xe4j\xcaR\xcd\xa8\xe4\x99\x80\xe4P3\x93u\x8d \xa5z\xda\x9dt\x1br\x9c\xeag\xef\x97\x08\x19\x89U\xf8x\xc5\xdf0\x08\xde\x9e\x10\x8d\x03\xc0\xfbJ\xb7K!\xa13r\x89\x9c\x89\xe3H\x98z\x1e\x9d4\x9c\xb8\x86\x0f5"#,|\xc38%\xbc\n\xcbEG\xca\x89\x8d(7\xc7\x03f\xbd\xa6\xbb\x7f\x9f\xfc\xa0B\xc3\x0ed\xc6)\xb2\\lIGe\xd8\xdd\xf0b\x7f\xe4\xde\xa3\xbb\x08\xca>D$\x81\xf4\x03\xdb\xa1\xc7\xaf:V\xab%\r\xca2$N;!N\x99\xcb0\x80\xf1\xac\x96\xd5zs\xbc\xb9\xc24\x1bB\xa8S\x97\xc3\xe8xv\x13\xd8\xedF&m\x98\xd4\x90Y\x90\x86=^\x1d8\xc5Z\x8f+B\x9e\n\x85\x11\x1d\x15\x89\xa9:NW[\x96\x0f\x1f\xd0\xde:\xe3t}B\xe7\xa4Nu\x8c\xb0Zm\xaag\xea8\xd0t-*B\xbbXR\xa4A\xf2TO\x8a\xa1\'N\x11B"MGRQ\xc6a\x8f\x0e\xc3\xcc\xc6;\xa5\xd8\x05\x9a\xcdLc\xa91\x11\xb1\x16o;\nU\xb2\x14U\xacU\xb2J\xfdzKa\x18"\xcdn\xe2#9\xe0|\x82U\x9d\xb1:\xdf"\x06r\xce\xe4\x10\t\xbb\xc07OW\xa7\'\x0c\xc50\x0c\x11\xcd\x05\xd1B\x8e\x81\x1c*\xe5\xd6.\x17\xf8\xd7\xdea\xf9\xee\xd7y\xb4\x84\xdb\'\xe749\xd0\xf6\xb1f\x85|\r\x00Y\xd5\x8ai\xee\xc1bi}E7\x0f\xfd\x8e2\x1e11\x90\xc3D\x18z\xd2\x10\xd04ALh\x91\x8az4\x16G\x85\xa7H)\x90G\n\x95\xa5\xa5"\x15\xa1\xe1\xab\xc3\xc08\x8bq\xd5\r\xa2\xa6Zf\xbd\n\xae\xe4\xf9\xe9kAtBX"\xa6\xa0\xa6T\x1b\x0f\x82\x18\x87\xb1-j\x1a \xe3%\xe35\x93b\x830\xf1*\xf2\x9fs\xe2\xd0\x0fDU\x1a\x1f\xd9b\x91\xc5\x8a\x90&\xcadhK\xe2\xb8\xebIc\xe1\xb7\x7f6\xb2\xb8\xbff\xd3,\x18nzR\x01\xd3\xb6\x1cn\x0e\x95/\x19\x03\xa1\x9f\x08!P\x8c\xd4\x10\x9a\xaf\x0c\x90\x94+m\xc7w\x1dS\x86c\xdfs\xdct\xdc\x8c\x81\xf2\xa3\x0fx\xd2g\x0eQ\x01C.\x81L\xcb\xb1\xcf\x1cn\x9e\x93i\xf8\xf9\xa7/\xf8\xe9\xe3\x03\xbb\xd4p\x93\'nFXx\x83\xf3\x9e\xe2\r/\xf7\x03\xae]\xe2\x1b\x8b&\xcb8Ed\xc6v\x8a[\xb3y\xe7\xab\xfc\xd6\xbf\xfaG<\xbc\xb5\xe2\xe7?\xbf`\xbd\xdc\xe0\x0f=4\x11s\xdd\xd3a*\xcf\xa3\xe9*\xc6\xe18\x92\x8e\x17$\x02"\x99\xdc\x1f\xc9}O\xe9\x8f\xe84\x10\xa6@\xc9\xd5(\'\xa5`I\xb5\xfa\xa6\x1e\xc3u2d\xb0\xea)\xd2a\xa9X\'\xe7+\x17E\xac\xa0"d\xa8\x138#4\xa6\xb2C\x9d\xb1ME=\xcb\x12\xd4\xa2&\xa0\xc5a}SK)ik\x83n,E*\xe4\xcc\xa6@c[\xb2\xb7\x15^&\x11\xd5BN\x89\xdc\x8f\x15\x1d\xd8\x15\x96cG\xea\x07\xa6\xfd\x01\xb2\xe5\xefw\xc2t}`\x9az\x1eonS\x02\xdc\\\x1c\x19cB\x16-9e\x861\x11S"\xf6\x81\xe3\xf5@\xde\x1fYv\x86\x97\xd7G\xd2\x14I"hJXg)mC\x7f\x98\xd0|d\xeb\x04\x17\xd7\xfc\xc9aG\xdfz\xae\x0e\x81\x18\'\xfat@\xc3\xc8\xa6s|\xfcx\xe0\xf9\xcd\x15W\xfd\xc8\xd3\xd1\xf1t\xb4D\xab\x08\x13\xb9@c=Q3\xae\xeb\x88)0L\x85\x1c+\x89\xd7\xa4\x84?\xd9\xb2\xfd\xd6\xb7\xf8\x8d\xdf\xf8>\xff\xec\x9bo\x80]\xb3\xd2\x86\xab\x177\x8c\x182\x96\xb6[\x93\x8b\xa7\xb9}\x86\x99v\xe4\xab\x17L/\x1ec\x86]E`(\xc4q$\x87#:\xe5\x8a\xc8\xd7R\x85\x11\'\x90-Z\xa8@\xb8\xd4WPj\xa5\xa3\x83\xdb`\x17\x1b\x9a\xa6\x1a\xeb\x8c\xa9*\xa0k=E+\x058\xcds\xfa\xac\x95\xf3\xed0\x06JB\xed\x9a\x92\xea\xc4\xa7R\xd5\x1db\x028\xa5X_\xabko0\x16\x16\xa6C\x92C\x19\xd1R\xc8!\xd3\xc7\x00\xa5zv\xc72PT\xb9\x91\x9b9\xfeY\xd5\xaa\x1f^f\xfeE\xb3\xe7\xef\xfe\xf3\xaf\xf1\xef\x7f\xe7\xc0\xfb\xd9p\xf3l\xcf\x98\x13\xd9\xf7\x84\xe3\x88_,\x18J&\xef&\xcaa\xc0L=\xe5\xa8\x94\xa0\xa4)@\xce\xf8!\x12\xa2%LB\x9b2]\x98\xb0\xc9\xf1\xd9\xd8s)\xc2\xf3\x18\x88\xfb\\\xe1\xa1} \x9e&^^\x1e9\x94\xc2\xf3\xfd\x91\xcb\xde\xf0\x18\xc7\x13\xcd$#x[}\xcd\xf8\xb6R\xeb\xb2\x92b\xa4\x8cZq\x82\xde"nA{\xf7.\xf7\xbe\xfe\x88\xd7n\xad\xf8\xe82\xf0\xf6\xed\xc2\xa9\x8c\xa4\x94\xb9\xdd\x9dp\xe7\xcd\xfb\xf46s\xf1\xf1c\xfa\x0f\xff\x9c\xfe\xc5s\xcaaO\x0e#%\x0c\x94X;\x00\x11G\xc9\x11o-Ve\x85)\t.\x96P\xed\x1f\xa6@\x8e\x883\xa8V\x1e\x94)\x15q_L\x85\x81;+\xc8\x1cDk\xbd\xaf:\xaa8T@\xc51N\x13%\x05l\xc9\xa4\x94\xd8\x87\n\x06umKQ\xcb\'\xc7\x9e\x7f\x97\'^\xfc\xf7\'\xa4\xedCtH\x1c\xc7\xc0(\x10\xc6\x89\x1c\x13\xbe\x99\x88b\x99B\xc4\x84\x88\xe6@0B\x1c\xf6\xc8\x94\xd1\x9c\xf1!\x80(\xe3>q\xd7\x15\xfe\xc6V\xe8\x8f\x07\xfe\xf88\xb1\x8f\x91\xd2\xb5D\x14)\x89\x8e\xcc~\x1f9N\xcaG\x17\x03\x7f~\x14\xae\xa3pU"\x8eB\xb7\x10H\x9ep\xcc\x1c\x87\x91\xcd\xc6\x11G%\x87j\x0b\x9en\x0e\x98\xed\x9a\xdb\xef\xbeU\xc5\x8a\xcbk>\xfc\xe01\x8b\xaf*i\xd8\x11/\xf6\xfc\xad\xaf\xbf\xcbk\xda\xf3\x07\x7f\xf2\xa7<\xf9\xf8\x05\xfdnG\xd9\xefI\xbb\x1bd\x1a*\xf3\xba.\xa8\xc0\x19\xcb\xc2[\xac\xf78\xa9mS\xc9\x15\xbc\x1eK\xd5\xa5\xc5x\xda\xaeA\xdb-\x10\xc9\xa4\x8ac\xb6\x06\xe3)\xa5k\x18n\x8eU\x84\x9f"Y\x94\xc3n_\xef\xa0\x02\x8d3$W\x17T\xc4a\xa2I\x89\xbcjYde1\x05n\x7f\xe7k<{y\xcd\xc7\xc7\xc0n\x8a\xc8\x90\x90\xc6\x92S\xe2\x8b\xd1\xf2\xe3\xab=\xd34\xf12[\x9eN\x89)WL\x7f\xb7\xa8\x10\xf4\xe8,\xcb\xa6b\x15\xc7C\xacHD\xb1\x90F<-\xcb\xe5\t\xae(\'\xab\r\x8f6+\xee\x9fu\x94\x9bkv\x97\x86|s\xe4\x7f\xfe\xe4\xb7\xd1\x8b\xeb\x8a9\x9e\x06tJ\xe4a@\x8e\x13&\x17\xac\xf7\xb4\x8bfv\xa1R\xd9\xd3\xb9\xc04\x92s\xb5\xfeT\x9e\xb6\xabu\x8f(\xc6:l[\xdb\x9f\x90s\x8d\xa4\x8aa\x8c=R\x941E"\x05\x91\xba\xd7"\x84D\x11a\xd1\xb4U\xb8\xa2T-\xbc\x99\xd7-\xa4\x98P\x81\x9c\x03\xc2\x881\x16M\xa6\x8a\x1f\xa9BG0\x82)\x11k\x1b\x8c\xa9\xc3n\x03`\x95\xd3\x85\xa7\x15\xe1PJ\xfd"c"\x87\xc2\x14\x032$\xa25\xe4\xa6\xe5\xd0:>K#\xe5\x8b\x91\x82`lC\x19\x8eh\xc8\xa8\xb1$2c6L\xc7\x912\x9b\xf2\xdb\xd6\xd3\x1a(\x9a\x19J\xbd\xafn\xa2r\x1d\x95\x0f\xfa\xc0{\xbf\xf3\x1e\x8b\xee\x84\xc1)qL\xb5\x82l\x85\xa4\x82L\n92M\x89`k\xe18\xa4H\x93<9er\xdb\x90\x87=Y3c.\x0c\xe3H\x89\x912\x1cq\xbe\xa3=\x7f@g\xe1,\'^7p_\x85\xe6\xc9KT\xe1f\x1c)\xbb\x1dz\xbd\x83cux\xc8\xec\x97r\xc6T\xff\xb8Mue\x81\xd4\xf5\x02\xb53QPG\x8a\x1e-n&\xdfJ\x95\x19\xa5"\x99\x95D\xc8Z7\xdfH\x9eCy\r)7\x844\xa2\xd6\xb1\xf4\xae\xbe,!\x12\x9b\x84\xba\x8a\xc0*\xa50\xc4\x89C\x08\xb8\xf5\xb2\xc5\x88EtU7\xa7\xccI\xf1:44\x183\x8b\x1fP\xfdX\xaa\x98\x12\xaafM\xc1\x1ap\xe2\xf1\xeaY8K\xeb\x85\xc18z\x11\xa6\x1c\t1\x90\xa6\x04(2\x8d\xc4\xfe\xc8pyI\x14\x8bm\x1a|\xbb$\x1b\x83\xb1\x96\xb1\xf4\x14\xb5\xe4\x90k>V\x0b\xe4\xc2t\xba\x02\xa3P\xa4\x82\\B&\xa0\xa4a@\x8c\xe1"Y\x9a\x98 A\x9aFT3\x8b\xe2\x89\xa9V\xa2\xde9\xb2\x16r,X\x81!\x1b\xca;o\xf1\x8d\xe5\x1d\xde=;\xe1\xdf\xfe\x8f\xff\x86\xc4kD,e7\x90\xfa\x01\xeb\x1a\xdaE\xc3]\x1d\xb9k[\xces\xe2\xd6\xcd%\xcb\x10\xc8N\x18\xb2@\x9c\x90\xdc\xd3L\x19\x8ba5\xc3\xcc\x9c\xad\xb8\xdf2\xd6\xda\x015\xa8V\xf7d\xcai\x9e\xbb\x17h\x16\x18S\x89\xbdN!\xc6\x9e\x98G\x1cK\x8c\x03g\x1b\xb2\x1a2\x13I#\x94\xcc\xe9\xe9\x1ak6\x0c}\x8f\x9f}\xd0%&\xc24 d\x9c\xb5\x18\xe3Y{K\x8a=\xceH\xc2\x9a\x82\x15K;\x8f\x9aJ\xce\x14\x12\xc6\x19\xd4\x81\x95\x0ec\x17\xf3\x17E\xf5\xf1R1\xc2E\xaaN\xdb\xd60\x06\xabRH\xb9*Z\xe34\xb0\x8f#\xd34\x12\xa6\x89P\x12a\x8cL1\xd5}K\xd6\x90\xdd\x0e5B\x16G\xb1J\x91\xb6\xae\xeby\x05\\\x13Ki`\x1c\x07HUI\xca!\x12\xa5\x10\xfa\xca\rQ\xe7\x89\xa3\xab\xb4\xfa)P\xe2\xc4\xd4z\x8aT\r\xc6Y\x87\x9aL\x8au\xff\x91\xa8\xe7\xe4\xd7\xfe)\xff\xfa\xb7\xfe\t\xb7\xac\xe1??{\xc2\xe5\x7f\xf9\x0f\x18QZ\xa3\xac\x9b\x86\xf3u\xc7\xad\x16\xce\x1d\x9c\x94L\x17\x03k\xd3\xb0\n\x13\x9d]\xb0\\.j\xad2M\xa0\tM\x13\xa2\x11\x93\x0c\x1a\x15\x93k\x1f;\x89\x03\xaa\xd3Tl\xa5\xe7\xa7\\\'F\xc6\xd6SQl\xdd\xe7\xb0:;\xa7?\xbcD\x0c5\xeb4\xec\xe8V\x1b\x1a\xdb\xb2Z\xae\xc9E\xd8\xdd\xec\x11\xaa\x08\xe3\xa5\xe2\x16\x8dXD\xaa\xec\x99S\xac\xae\xe8\xf9nw\xad_\xe3\xacA\xd4\x01\x11\xa1Td\x03\xb6\xf6\xc6Q16be\xde]\xa4\xb5eRg1\xb6\xb2\x16\xd5V\xbd\xf6\x15\xeb\xb2\x88P\xd8\x92\x8a\x10JF\x91z\xbf\x85P\r\xe2\xd3\xc80\x1d\x88%\x12s&\x84@LJ\xd22oq\xd1/\xcd\xf4\xc6\t\xdc\x1c\x89)\xd4\xbf+\x8a\xe6j\x12\xb7\xd6\xa0\xfe\x00\xae\x1eq\x8dk*\xb3*%8\xf6x\x07FgF\xb2\x1aZ\x0c\xd68\x9c\xc9\x98?\xfc]~\xffWn\xf3w\x1e\xdd\xe2\xf5\x8b\xa7\xbc\xfe\xeewqy\xc4\x91\xd8\xb6\x1d\xa7m\xc3\xb2mh\x1b\xcf\xc2\xd7\r&\xab\xe5\x82\xaei*0\xb5L\xe4\xd4\x93\xe3\x88\xc6\x01M\xb1\xfa\x9a\x8b`\xc4am\x8b1\x86\xe5\xda!\xd6\xd7\x0cR\xd3\x10\xa6\x84\x04G\x9c\x06\x86\x18\xf0v\x898\xa1Hf\x0cG\xec<\xdch\x16-\xd6Wm\xc1\x18C\xbf\xbbd\xb5Zr\xb6\xee\xe6\xdf\xb1g\xca\x95\x9f\xdd\xb6\x82h\xa6\xdf\xedj1\x87P\xf9\xed\x05\xe7\x96m\x15\xac\x8b\x80ZJ\n`\xeb<\x92\x92\xd1\x12j\xd9\xae\xbeN*l\x0bT\x8b\xad7\xb5\xb2S*\x8e\xb7\x8a\xbd2+*B\xb4\x16LKA(\xc5T\xfc\xcf\x1c\xf0\niO*5\xe0\x9cr\x9e}_\x85i\x8a5\x86\xae\x86b<\xb9TS^H\xa9\xbe\xf1bP\xeb\xc0\x19\xac\xb5\x95\xca\x9e\x12\xae\x80k\\\xed\x06\xa8+zD\xc0\x19\x833\xd5a\xe8\xfd\x82\xd5r3/\x07\x81\xf7\xff\xeb\x1f!\x8f\xb6\xfc\xc6\xaf\xfd=t\xd1\xf2\xe2\xf7\x7f\x07v\x97\xb4\xa5\xe0M\xc1\xd0c\x81V<\x8bV\xe8\xda\x16\xef\xaae\xd7\xe2\xea\x9d;e\x04G1\n\x1aj\x90\xfeU5K\xc2\xf9\x8e\xc5IG&\x92\xe2\x81>\xf4\x14uL\n\xd98r\x0e\xc4\xfe\x1a\x8d\x13\xaa\r\xed\xf2\x84;\xdf\xfc[\xbc\xfc\xfc\xa7\xe8\xe5\x05%\x8eP\n\x8bn\xc3p\x18\xb16c\xbc\xe1\xce\x9b\xe7\xdc\xfb\xee\xaf0\x1c\'\x9e\xfd\xf9\x07\x84\xc33\x8cw\x18,\xde,\xea\xaa\x81Tp\xa6\xc4z\x91\x97\xca,\xd6\xa2(\xb9\xf2\x9eJ@K\x9e7\xaa\xf8\n\xc5\xb6\x0e\x91\xa6\n\xe9\xb9\xba\x02\x9b\xf9bWt\xa6\x9f\x83U\x8b\xd5RW\xce\t\x14\x99O\x06U\xb2\xc9\x14\xab\xa4\x1c(\x9a*\xfbi\xc6\xf5&[\xe9\xb1"JB\xb1\xed\ni:\x8a\xe9\x10;\x1fs\xd6V\xf2\xcf<\xc6$\'DS\xdd\xdcBu}\x8a)\x0839\xc8Y\xbc5\xb4\xebS\xce_{\xc8\xe1\xc5sJ*\x9c\x9cly\xb9\xbb\xe0Vz\x8fi\x9a\x98\x8e\x9fP\xc6\x1d\xaeD\x9c\xa9\xb9,\xaf\x86\xb6l\xaa\x17\\\x13\xb2\xac\xc3\xfc:\xb2[V\x81\xc7\r\xe4RP\xd9 \n1\xec\x80\x11\xdb,\xa11\x18g\xe8\x07a\xb1<\x0fk\x85\xa8\x00\x00\x07\x96IDATaeZV\xcb\x15\xc9x\x8e}\x9d\xa4\x99\x18\x88ZPI\xc8\xb4c\x13>\xe2;\xff\xf8;\xfc\xe8\x87\x1f\x90u\xc1\xe1\x8b\xcf\xd9\x0fG\xbckp\xdePJd\xff\xc5\x05\x0f\x9e=\xe1\xfb\xbf\xfe=\xfe\xdff\xe0\xe3\x1f\x1e\xb9|r\xc0\x9a\xc4\xe9\xc9-\xce\xef\xdfa\x8a\x11g\xc6\x81\\\x94\xac\x11h\xe7DK\x85W\x8bh\xf5\xe8\x1a\x87s\x8b\x9a\x803u\xc1\xd5\x8cV\xc7\xa2P\x12\x86z\x9fT\x90\xb9\xa2\x14L\xae\xad\xcd|\xe0\xa3:/\xb9\xcaJ\x8a\xa9\xea\xa4\x06r\x11L\xaa\x06\xf5R\xaa\xffW\xc5`\xac\xc7i\xc2\x98\x8c:0\xcd\xccw0\xb9\xbe\xc9\xb3vn\xec<8\xb3u\xf5\x9c3`\xac\xd6\x9e\xb2\x1a\x1c\xe8\x1aG\xb30\xf8pM\x97\x8e\xa0\x85\xe9\xc9\x17\xe4\xeb\x0b\xf6\xe9@)\t\x1f\x121\xc9\xfcr\'\xbc\xb13\xe2w\xc2\xe1*\x7f\x8aB\xbb\xf04\x8bS\x9a\x12\x99z\xcb\xb4K5\xe8\xb5:#\'\xa5\\7h\x1aX\x9d\xdf\xc1.W\xa0\xc2\xed\xcd\x12\x01\xb6\xa7\x1d\xaa\x9e[\xf7\x1fq3\x8eh\xd9\xd0,\x17|\xf8g?\xe4\xf8\xf8\x13\xc20\xf0\xb3\xf7\x7f\xcc\xe3O?\xe5p\x18x\xf7{\x7f\x93F\xee \xf1\x16\x9b\xb3-\x97/_\x92\xfb\x1bb\x9c\xf8\xd1\x0f\xdf\'g\xe5\xfc\xe1\x9a\xb6k\xea\xc9b,E\xe1\xec\xec\x04\xdb(\xf6\x97\xdf~\xfd\x07\xaa\xb5_%Q{0j.\xd5\x8a\xc3\xda\x06k[|[\t0\xde\xb6\xb5ry\xc5\xff\xd7\x8cH\xa9;\x07a\xfe\xb7z#\x0b\x8a\xa6\xd9!\x82B\xae\xb6\xcf:\x01\xa9\x1bL\x8c\xd4\tU#u\xc5\x9d\x05l\xa9\x7f:Mx\x11\xbc&\xbc\x06\\I4Zh)\xf8\x92pd\x1a\xc0k-\xf2:\xf1t\xce\xb0\xb0\xe05\xd3\x1aK#\x06\x8f\xad\xff\x0f\xe0b\xaex\xde\x98!\x83\x1a\x87q\x1d\xceux\xd3a]K\xe3\xe7T\xe5L\xaci\\=:\x9b\xf59\xb6\xdbb\xbb\x0ec\x1d\xa5D\x12c-\xfcp\x94v\r\xdb5\xedrM\xe3\xeb*\x99\xc3~O\x9a\xae\xc9\xe1\xa6\xa6\x06W[\x8c\xe9\x18_<\xa5\xc4\x81\xaf}\xf3m\xde\xf8\xf6\x9bl_{\x8b\xe3\xf3\x81a:"\n\xd6(\x8do\xd9=\x7fN\x1c\x06\x16\xd6\xb2\\z\xde\xfa\xe67`\xb5\xe5\xe6\xea\x80\xf6G\xf6/.\xb8zv\xc1\xcd\xc5%)F\x9afA3\xd3\xf8\xb3\x08\xf6\xaf}\xf5\xf5\x1f\x14\r\xd5t=;\xf3\xbc5X\x0b\xdeY|\xd3\xe0|\xdd\x1cf%C\x89\x18M\x942V\x9d\xb4\xa4y+\xa8As\xaci\x83\\\x0b\x8eW;\x0e\xf5U\xd1\xa4u(Q\x1f\xbe\xc1JSE\x16Sa\xd8_\x12~LS\x8d\xf5(\xaa\x13V\xaaW\xbb\x9a\xd9\xc0I\x9c-\xa1\x9e\xc6\xb5\xd5\xa2\xda\xd4k\xc3Y\xc1\x9ajZ\xb0\xd6\xd2.Z\x9cwx\xe7\xf0M3\xd3\xe3\xed,\xd4[\x9av\xc1r\xbbeur\x8bf}\xc2\xf2\xe4\x94nu\x82o\xd75\x8e\xb9\xda\xd2\x9e\xdc\xa1\xdb\xdegqz\x0b\xbf\xde \xafBc!r\xfa\xf0\x01\x8b\xe5\x06\xe7,\xcdj\xcd\xf9\xa3\xd7y\xed\xdb\xdf\x02\x07f\x8a\xb4\x9b%)\r\xd8\x98i\x9a\x8e\xed\x837h\xd6[n.\xae\xe8\x9f\xdf0\x1c\x0fl\x1baa\x84_\xfa\x87\xdf\xe7\xe9\x93\x9f\xf1\xec\xc3\xcf\x89%\x13\xc3\x88u\x9e\xb1?\x90\xb4\xae\x08\xba\xff\xf0\x9c\xb7\xbf\xfd\x0e\xaf?\xdc\xf2\xf9\xa7O\t\xfd@\xec\x87\xba9FL\x1d\x0cyC\xac9\x18\\)\xa96\xd1\xb3i\x8b\x14k\xb3mZ\xc8\x8a\xa1\xae\x9c!\x0f\xe8lx\x87\xba\xe7\xf0\x95E\x04\xf1\x88\xab\xb8\xff\xdaG\xd7lL]\xf7Z\xe1e\x88\x99\xe3\xa9M\x1dP\xcf<\xae\xda\x0e\t\xa5\x04\xd0yj"\xbe.\xbc\xa0\x852PW\x95&\x8cQ4G\xc4.\xab\x87\x8cz\xc24mW\x11P\xb37\tQ\xdaf\xc6"{\x0f\xc6\xe0\x8d\x9bW\xd7\x9a9\xdbT\x97r\x8aq\xe0\x16\xd8\xe5\x02g\x04r"\x87\x88[\x9f\xe1\xe45\xbc\xf3UQ\xb3\xa0\xc6"M]:b\xac\xb2\\7\xf8M\x8bn6,\xc6\x13|\xdbq\xef\xf53\x86p\xe0\xde\xa3G\x1cTh\xef>\xe0\xf2\x8bO\xb9\xfa\xf8\x13\xda\xb3\xdb\xdc}\xe7\xab\xac\xb6g\x9c\x9d\x9e\xf0\xd1\x1f\xbf\xc7\xee\xd9K\xfe\xe0\x93\xdf#\x96\xcc\xaf\xff\xcb\xdf\xe4\xe1\xbd{\\\xddy\xce\x98\x95\xfd\xc5S\xc6)qrv\x97){\x96\xfe\x84\x0f\x7f~\xc5\xcb\x83az\xf9\x84p8\xd0\x1fz\x9cut\x8b\x0e\xb5\xe0]M\x89\x18\xeb\xd0i\xc0Q\xe4K\x90\xa6h\xbd\xdfPK\x8e\x01+\x89\x94\x15\xc137\x90_\xde\xbd\x8a\xcc\xd3\xa7\\7\x9bQc\xa5\xc8<\xc9\xe0\xaf\xc8\xe1%WA\xdfX\x07e\x9cw\xf5\xd4\xadR\xb5\xee\xaacI\x8a\xad\x93Kk0v\x85H\x86\xa8H\x190\x9ak+b\x0cZ\x0c\x86\xa6\xbe\x08Z\xf3S\xce\xd7\xafRD\x11op\xd6\xe2\xc4\xd4\x9f\xd4Z\x10C)\xa9\xce\xb3S\x824\x8f\x13sd:\x8c4q1#\x89\xabq\xad\xd9\xb4ur&\x06\x99&\xa6\xe1\xc04\xec\xd9\x9c\x9e\xe3\xb7\x1br\n\xa4\xb1\xc73\xd2\xde\xba\x85\x9e\xaciT\xb8\xfa\xf8/\xb1\x0b\xc7\xf2\xde=\xfa\x95C\xddH\xb3Y\xe1\xbb5\xdf\xfa\xd5\x7f\xc0\x837\xdf\xa0\xb1\x86\xf1\xec\x94\xc3a\xe2\xd9\x07\x9f0~\xf1\x92\xd8\x1f\xf9\xa3\xff\xf8\x9f\xb8x~`sr\x87\xadXZM\xa8x\xc6\x9cj\x01\xcb\x91\xb3;\xb7\xf1eO\x91\xbaM&\x0e\xca4N\x18"\xcbU\x8b)\x15\x8c\xd6H\xd5\x1a\xecw\xdfz\xe3\x07u\xafn\xcd\xa7\nU\xfd\x11\xaa\x91\xab\x94@\xd6\x81\x9cK-\xe5\xf3\xec P\xa9`2\xad\xc7-\x85\x8a=\xd4B\x9ew\x1e\xd6\xc5\xcd:c\x7f\xea\x8a\x9c\xb9\xc1\x05UJI\xf5h\x9f\xa3\xab\xf9\x95\xf9]Z\x8cw\xa8\xd4\x9dK\x9a\xea\xd7\xadX\x8aH=1\xac\xc3\xba:\xe5\xb2j\xea\x12\xcdRh\x1aO\xbb\\\xd0\xfa\x96\xd9\xbePW\x11\x14\xc5\xc8\xb2\xe2\xf5\x9d\xa79\xd9\xb0\xb9u\x8b\xa6\xf58#\xbc\xf5\x8b\xbf\xc0\xbd7\xdf\xa0s\x8e8\x86\xda\xd3\xc60\x9b\xdd&|\xb7\xe4\xcd_\xf9e\xbe\xf1\xd7\x7f\x89n\xb3F\xc7\x881J\xc9\x890\x1e\xc9c\xe0\xd6\xebo\xa1%qx\xfa9\xbb\xcf\x1f\x13R\xe6\xdd\xaf\xff*w\x1f\xbc\xc6f\xb3\xe4\xee\x83\x15y<\xa2$\xc4\x1bn\xdf\xbd\xcb\x9d\x07\rO~\xf6\x97\x8c\x03\\]]0\xc6\x8cmZ^{\xfb\r\x0e\xd7\x97x\xdfp\xfb\xe1[X\xefx\xf2\xc9c\xa6ab\xf7\xc5\x0b\xa6~@\xb0\xb8\x99\xf8S\xf2_\xf1:\x90\xca\xcc\x0e\xd3D\x8d.\xc8\xab/\xd8\xd4\xfc\xac*x\x83u+b\xcc\xd8\x12\x818\xdf\x8f\xd5\x15X\xfb\x93\xfa*h\xc9\x14\x19\x91\xd4\xd4_\xbcq\xd5\xa0W\xa8\xec\xe4W\x0fW\xb46\xe9s\xbf\xac\xaa\x942"xr]j[g\xaf\xa25{c\xabU\xbfhA\x8aE\r\xb3\x0f\xacz\xf6\x95jA\x8d\xf1\x80\x99\xf7\x07y\x11\xac\xaf3R\xe7Z\xac\xa9\'\x87u\x0e\x91\xf6K\x85\xae\xdd\xae9\xff\xeaWhV\x1b\x96\xc3\xc4\xc9\xc3\xfbhk\xb9\xfa\xecS\xa6q\xe2\xe6\xc5K\xa4@\xbb]s\xfa\xda}D\x94\xfb\x8f\xeep~\xf7\x16\xed\xc3\x87\x0c_y\x93a\xb8\xe2\xe2\xb3\xa7l\xcfo\xd1vk6\xdb-\xbb\x9b5\xf1x\xcd\xf5\xf3\x9e\x85U\x9c\x0b\xd8U\xc3W\xbe\xf96\x8f\x7f\xfc#\xf6/\x12\xcd\xdd\xfb\xdc\xbe\xdb\xb1=\xbb\xc7\x10\x0c\xdb\x93sV\x0f_\xe3\xd9\'\x1fC\xbf\xe7\xf6\xbd{\xc4!pv\xeb\x94>8\xde\xf9\xee[|\xf4\xdeO\xb8r\x86g\x8f?\xe4\xde\x9d\xb7Xx\x03X\xd6\xdb%\x8b\xce\xb3\xbf\xba$\xc5\x11\xc4\x92BO)\x9e\x94\x12\xff\x1f\xe6e\x9eY\xa9\xbd(\x13\x00\x00\x00\x00IEND\xaeB`\x82' + +dok_data_pdf = b'%PDF-1.4\n%\xc3\xa4\xc3\xbc\xc3\xb6\xc3\x9f\n2 0 obj\n<>\nstream\nx\x9cE\x8b;\x0b\xc2@\x10\x84\xfb\xfd\x15[\x0b9g/\xb9G\xe0X0\x9a\x14v\x81\x03\x0b\xb1\xf3\xd1\t\xa6\xf1\xef\xbb\x81\x80|\xcc\x14\xf31p\xc2_\xfa0\x8c\xd0\x07\xe79w\xe22/\x0f\xba\xec\xf8\xbd\x19\xf0\xf2\xa2\xa1R\x88\xa6Rj]\xcf\xf5\xce\xfbIX<\xd7\xe7\xb5@4\xe6\x02\xafR\xd0j\xe3\x0b:\xb5\nF\xb4\xa4u\xcf\x7f\xd9\xe3\x80\xc18\xe2\x84Q\x9b\xb0=\'\xc1\xfa\xcaz\xabg\x1a+\xcd4\xf3\x0f\xcc\xc9"i\nendstream\nendobj\n\n3 0 obj\n131\nendobj\n\n5 0 obj\n<>\nstream\nx\x9c\xe59ip\x1b\xe7u\xdf\xdb\xc5\xc5C\x04@\xe1\xa2 \x11\x0bA\xd4\x05\x82 \tQ\x16uq\xc5\x03\xa4DJ\x04/\x05\x90-\x11 \x01\x12\xb0I\x00\x06@)\xb2\xe3\n\x8e/\x95\xb2b\xc6I\xe4#n\xad\xb6\xa9\xc7M\xdd\xf1\xd2rZ\xd9u":\x8d\xd3\xd3\xb1\xd3\xd8m\x1cG\r;q&\xe9\xc4\x8a\x19GqS\'\x02\xfb\xbeo\x17\x14%\xcb\xc9\xb4\xd3\x7f]rw\xdf\xf7\x8e\xef\xddow\xc9\\f*F\xcaI\x9e\xf0D\x1c\x9d\x8c\xa4\xbd\x9bj\x04B\xc8?\x11\x02\x95\xa3Gs\xc2\xae^\xf3\x0e\x84\xe7\t\xe1\xfey,=>\xf9\xf8_\xddr\x99\x10\xd5\xf3\x84h\x9f\x1f\x9f8>\xb6-y\xc1OHy\x9c\x90\x8a|<\x16\x89\xf6\xdb\xf2u\x84\xac\xfa\t\xee\xb15\x8e\x88O\x14\x8ek\t\xb1\xd3=\xd7\xc5\'s\x9f|\x8bo\xda\x89\xebv\\\xb7O\xa4F#\xb5k5\x16\\\x9f\xa4\xf4\xc9\xc8\'\xd3\x9bU~\x0e\xd7\xcf\xe0ZHF&c\x8e\x16\xbe\x0b\xd7hO\xd9\xd1t*\x9b\x8b\x92u\x8b\x84l\xa0\xf2B:\x13K\xf7<>\xf2\n\xae\xa3\x84\xf03\x88\x03\xfc\xa1G9\x82\x1a\xba\xe6x\x95Z\xa3\xd5\x95\x94\x96\x95\xaf\xa8\xd0\x1b\xc8\xff\xb7C}\x9a\x98I\x97z\x17\xd1\x934\xbb^s\xf0\xcf\x90*\xf2\x18!\x8b\xef\xd2\xd5\xd5k\xa1g\xf1\xc3\xffK+t\xf2\xedQ\xf2\x14y\x9e\x9c&o\x91\xc3\n\xc1O\x02$A\xa6\x10\xb3\xfcx\x99|\x1b\xb1\xf4\x08\x90C\xe4\xcbd\xfac\xb6}\x86\x9cG\xba\xcc\x17&\x0fQOnx\x04\xc8#\xe4\x1c\xf9\xdbk\xb4\x04\xc8$\xb9\x13m\xf9\ny\x0b\x1a\xc8\xdfc\xa9\xa4\xc8\xfb\xa0#w\x93Wp\xd7\xf7\x11\xb7\xffF[q\x15x\x19c\xe0\xd82\xec\xdb\xe4\x8b\xdc)\xb2\x8f{\x07\x17\x8fQ\n\xe7\xe5\x0c\xe4\x1b\xe4\t8\x82;\xe7\xd0\xcf\xd3K\x1e\xef\xfc\xc8\xa6\x0f\x90\xbb\xf0:@\xe2\xe4(\xc2\xecP\xef\xfa\xcd\xf7H\xc9\xe2/\xd0\xab\xbb\xc8>\xf2i\xb2\x87L,\x93x\t\x9e\xe4K1\x7f\x83\xe4I\x8c\xe9\xcb\x0c\xe7-\x12\xb5]\xfc\xad\xdc_r\xdc\x95\xcf\xe1\xe2\xb3d\x1c\xcf\x08\xa0\xef\xdci~\xcf\xc7D\xe8\x7f|\xf0Cd\x05l\xe2kH\xc9\x8d\xa8\xdc\x16\xa2/|\xc85.^\xe6\xd7\x91R2\xb4\xb8P\xc4-v/\xfe\x82\x8f\x14\x92\xaaa\xd5j\xf5.\xd5?\xfe6\x1d\x9a\xcf\xaa&Q\x9a,\xfe\xa8pg!\xaa>\xa0~\n\xb3\xf54!b\xe7\xcd\x87B\xc1\xa1\xc1\x81\xfe\xbe@\xef\x81\xfd=\xdd\xfb\xf6vu\xfa;\xda\xdbZ\xf7\x88-\xbbw\xed\xdc\xb1\xbdy\xdbM[\x9b\x1a\xea\xbdu\x9e\xda\x8d\x1b\xd6\xd7\xacs\xadu:l&\xa3A_\xb1\xa2\xac\xb4D\xa7\xd5\xa8U<\x07\xa4V\x90 \xdc!\xf15\x82\xd1\x1fqu\xb8"]\x9eZ\xa1\xc3\x16o\xf7\xd4v\xb8\xfcaI\x88\x08\x12\xdeT\xeb]]]\x0c\xe5\x8aHBX\x90\xd6\xe3-\xb2\x0c\x1d\x96D\xe4\x1c\xbb\x8eS\x949\xc5%N0\x08;\xc9N\xaa\xc2%H\xaf\xb6\xbb\x84\xf3p\xa8/\x88\xf0\xe9vWH\x90.1x?\x83U\xeb\xd9b\x05.\x9cN\x94`VQk\x85\x0e\xc9\x7f4>\xdd\x11F\x1ba\xb6\xac\xb4\xcd\xd5\x16+\xf5\xd4\x92\xd9\xd22\x04\xcb\x10\x926\xba\xd2\xb3\xb0q70\x80\xdb\xd8\xb1}\x96#\xba\x15T-z\xda\x11\x89J\x81\xbe`G\xbb\xdd\xe9\x0cyj\xf7J\x15\xaevF"mlKI\xd3&i\xd9\x96B\x82\x9aNN\t\xb3\xb5s\xd3\x0f\x9e7\x90\x91\xb0\xbb<\xea\x8aFn\tJ|\x04e\xa7\xf9\x8e\xe9\xe9\x07$\xa3[\xda\xe4j\x976\xdd\xf1\x8e\r=\x8fI\xb5\xae\xf6\x0e\xc9Mw\xed\xee_\xd2\xd3}U%H\xea\x1a\x83K\x98\xfe%Aw\\\x97\xde\xbd\x16\x13Q0\x9a\x1a\xc3/\t\x05%\xaeM\x82\xfe\xa0\x93\x1ev?\xc6zz\xda\xef\x12\xfc\xd3\xe1\xe9\xc8\xf9\xc5\xfc\x88K0\xb8\xa6g\xcb\xcb\xa7\xd3\x1d\x18n\x12\x08\xe2\x16\xe7\x17_\x90o\x97\xec\xa8`\xbd\xb1Rhv\xe16t\x9f\x0eWGX\xf9=\x1a\xb7\xe1\x06\x02\x06\xba\xcb-\x17\xc2`P\x12\xdb\x11\x10#J\xc6:f\xeb\xbd(\x11\tc\xc2\x12\xed,\x99\x92\xd7\x95\x96L\xae\xd6\xa5\xecR\xb3:\x12\x03A&\xa2\x88I\xa66\x89\x84G\x15)\xc9\xdb\xc1\xfaJ\xe8\x98\x0e\xb7\xcb&\xd0\xbd\\}\xc1\x17\x88oq~v\x8b`?\xe7#[H\xa8\x9d2[\xda\xb0\xca\xd6wL\x07\xa3c\x92#l\x8fb\xdf\x8d\tA\xbbS\x12C\x98\xe1\x90+\x18\x0b\xd1\xb2\xc3\x08m\x9a\xb7\xb3\xe2\x08\xb1Z\x19\x0cv\x0f\xb8\xba\xfb\x0e\x05\xb7)\x86\xc8\x04\xba\x9d\xaa\xa6\xe3\xbam\\A\xbb\xbc\r\x16\xa0\xa4\xab\xd1\tA\xce\xce\x87\x90\xd1\x80\x08\xc1\x8f\x80\xabu\'^%m\x8d\x0eO\x03\x06\x9cai\xe1\xb6\xee\x14\x82`\'En4C\xda$t\xc4\xda\x15>\xba\xbefS5-\xa7\xb6\xae\xe2n\x1a\xba\xc4}\xda\xba\xec\xce\x90S><\xb5\x1c\x92\x05E1J\xe8hP\xbb\x8a$\x1cSH\xd0a}\xb6u1\x14\x8d\xa5\x8d\x16\xbd\x10t\xc5\\!W\\\x90\xc4@\x90\xfaF\xc3\xc3\xa2\xac\x04\x83\xc5\\\xc9\xd5\xe05\xabe\xc1\xc20\x11\'\x92\x8b\x0b\x1aL\xc9\xef\xb6/\x0f\xae\xd4\xc9\xd6K\xcb\xae\xeb\xc8{\x8bdaZ\xe7\xea\x1e\x98\xa6\x9b\xbb\x94\r\tZ\xbeW"\xb4\x84\xc5mF;\x9b\x05\xb4\xa1]8{\x05\x03\xb64k\xe8\xe9YQ\xa4\xcd\x1c\xdfN7q\xed\x8dN\xbb\x06\x82;\x197\xce\x93\xbb\xecwP]\x95\xa4\x1b\xba\x07[=\xb58\xdaZg]p\xb2oV\x84\x93\x03\x87\x82/\x18\xf0\xbd\xf0\xe4`\xf09\x0e\xb8\xb6pkhv\x1d\xd2\x82/\x08\xf8\xd0`X\x8eb)\x92.\x04\xba\xa0;\xf5\xe3B\xc7\xf8\xed/\x88\x84\xe4\x19U\xc5\x10l=z\x1e\x08\xc3\xe9\x8a8 \xa3\xe79\x19g\x90\x15\xadg\x8aD\xc2!E%S\xc4"\xb7\nq:\x19\x97g8v\xcc\x12\x1a2\xb1T-\xea\xc4\x12\xb1\x9c[\xc1\xd9g\x81\xa2\x9eC\xcc\x8b\xf8\x1e[\x02\xe4\\9\xac\x00\xfb,J\xf53\xf4y\xc8\xcf\x96\x88v\x99#\x8f\x1c\xa2l\xe1\xc9\xa1\xab\xaa\x87\x0e\x05\xcf\x95\xe3\xd3\xd9\xce\xae\xa8\xa8\x95\x1eX.\xb68&\x1b\x1f+\x1dB\x94\x16\xca\xa7B\xf1\xe9p\x886\x1b\xb1`j\xf0\x17$p\xed\xc64\xb9v\xa3!\x9ar\xa9\xd4\x15k\x95\xca\\\xad\x14\xdfB\xf1-2^C\xf1Z,Q\xb0\x00\x8a\xe71\xf7\x01\th\x05\xdc\x1ctbK\n\xab\xfe\xde>m\xb8D3\x15\xc2\xa12m\xf8\x91\x07#V\x83\xdf\r/\xe3;\xa8\tv\x8a\x17+\xb92N\xc7\x9b-\xe5D\x07%\xbcNWb\xe4K\xf8p\xa8\x84\xaf\xe4\x087\x1c"\x95-\x16\xd0[`\xde\x02\x17,\xf0\x90\x05NX`\xd8\x02\x88\x14\x18\xfe\xb6\x05\x0b\xbcf\x81\xb3\x8c\x96\xb6@\xaf\x05\x1c\x8c \xe3%\x0b<\xc9H)&&Z\xa0\x9e1\x10\x0b\xfc\x80Q\xf3\x0c_\xcf0;\x16\x99\x1eY\xec!F\xe8e\xb4\x05\x86\x97\x8a:d\x01\x81\xc9,\xb0\x8d\xe6\x98\x9a<\xa3\xa2i\xde\xa2\x8e\xc3K\xc7\xed\xc5#\xa3\x1cG\xae\xc3\x7f\x84Bi\xa4\xc5m$>\x1b\xbb\x1a}6\xef\xf0\x91\xc3>c%X\x9b\x8d\xbe\x86zg\xd3MF\xd7Z=\xb8\x8cN\xa3kC\x1d\xb8\xc1h5\xc3\x8e7}W\x0e\xdb\xdbTO\xb4\xdb\xab\xff\xe1\x93\ro6\xd9U\x8f\x98\xbe\r;\n\xaf|[[\xf6\xeb\xdb\xecM\xec\xb5\x8c\x04\x16\xdf\xe5\xfd\xfc+\xf8M\xb0\x9a\x9c\x16\x0fU\x01\xe8W\xe9\xccz\xf3\x9a\xea*\x12\x08\xe9\xab\x1cU\\9_UU^Yi\t\x84*\r\xe5\xea\xbeP\xb9e\xae\x1a\xa4j8[\r3\xd5\x90\xaf\x86t5\x84\xab!P\r\xa4\x1av\xe3M\xac\x86\xfaj\x10\xaa\xc1P\r\x0b\x8c\x0f\x99\x8a\x8e-yu\x18\x9d"\xd4\xa5J\xd2\xcc\xab\xc5\xd7\xd8\xb4\xc5\x0bu\\\x13Z\xdeh5\xbb6\xacw\xa1\xf1&\x8b\xb5\x9a\xe7\xbe3\xfb\x17\xfe?\xab\xf74t\x7f\xf2\xeb\x8f\x85b\xb74\xfe\xd9\xcc\xf8\x17\xbd\x9b\x9b2}C\xfb\x0f|\xeeP\x8b\x0bt\x0f\xce\xac\xa9\xfc\xf1=\xedO\xdd\xb1e\x8d\xb3}\xd4\xff\xa9\x87\x1c\xafNz\x03\xed\xcd\x07V5\xd6\xb5\x1d$\xd4\x1f\x13\xfa\xe3Q\xddM,\xa4S\xdcPZQ\xa1]\xc9\xf3V\x9b\xaa\xbc\xac<\x10*\xd1\x96\xe9M\x84\x18\xfbB\xc4\xf2\xa4\r$\x1b\xb4\xd8\xc0k\xa3.d\x8a\xd5\xe4\xf3\xb1zB\xf3+\x9b\x1b\x1bi\xcc\xd5k\xd77\x19]M-\xe03\xfb\xcc.\xa3\t}\xa0\xe1\x87\x03\xe1\xe1;\xef\x8a\xb5\xfc\xeb\xbf\xee\xa8\xdf>\xe0\xba\xd7\x94\x19\xe7>\xe7\xd9\xf0\xe6\x9b\x83WN\xeci5\xec\xb19\x98==p\x86\x0bs^\xc2\x93\xc7\xc5\t\x9e\xa8U@^\x08\xc1K\xf5jX\xa7\x06\x93\x1aTj\xb8\xac\x86w\xd4\xf0\x86\x1a\x9eW\xc3\x97\xd4p\xaf\x1arjhW\xc3\xe7\xd5\x90W\x03\x97VCX\r\x015\x88j@1A\rD\r\xcd\x0bj\x98S\xc3\xbc\x1a^g\x80\xa4\x86\xb3\x8c=\xcd\xf8N\xa8\xe1\xf0\xd5\xd6)\x96\xd7\xf0\xe1\xc3\xcb\xfb\x89\xbaL\xd3\xd4P\xbf\xb2\xc9i\xee\xe1Lp\xe61V\x13\x07\xb0\xfe\x0f`MXHX\xdciT\x97Y\xd4\x16\xabM\xa7\x0f\x84\xcau\x06\x8b\x897\xf5\x85x\x0b\xb1\xc1n\xd1\x06\xf56\x10l`\xb0\xc1\x82\r^\xb7\xc1Y\x1b\xe4m\x80\xf8gm0L\x03\xbb\xa4\xec\xc8\xe1\xa5\x08\x17k\x9a\x06\xb7\x06\xebX0\xb2b0\xd2b\x10\xe4\xf8\xf2\x07\x1a\x9e9T\xb8\xe9?\xdez\xe0\xecM\xee\x81\\\xe1\xf2\x9f\xfc\xf9\xc3\x13\xcd\xeb6\xc1\xcf\x7fz\xc5Q\xf8\xf0)o!\xfe\xc6W\x9c\xb4W\xbb\xd0\xd6\xdb\xf9\x97\x89\x1d\'\xe7\xa4\xd8b\xd4\xd5\xd4\xa8\x84\xf2\xf2*\x15\x8f\x9f4kK\xd7\xf6\x85lf\xa3q5\xb6\xad\xd1a\xc4\xb65\x1a\x89\xae\xd4\xa2UaM\x9b\x899\x10"\x86\xfc\x06\x18\xde\x00\xe2\x06@\xe0\xf0\xed,,\xb4\x05i-W6+=H\x9a\x95\xaa\xb02\xbb\xe5\xaan\xb4\x98q\xa887`q\x1b\xb7\xec\x86\x16h\xda\xb2\x9e\xcd\x9c\xa6\xad\xa0\xad\xc0V\xa5\x8d\n\xdf~\xfc\xb3S\x85\xc2\xca\xcc\xec\xcf\xf7\x9e}\xf4t\xe7\xbe\xe8\xc0\xdam\x7f\x0c\xe4\x9e\xfb\x87\x1fj\x1fm\xe4_\xfe\xbdO_\xb9\xaf\xcas$\x03\xb6#w\xee\xe1U\x9f\x8b\xdc\xe2\x9dz\xd5U\xa8V\xa9\x8f$%\x87\x8d\xd54~I\xfeH}\x9a\xac!/\x8a\xc7\x89\xc9T\xb5\xa2\xa2\xa2\xa4\xaa\xa4\xda\xb1fU \xb4\x86\x98pa\xad\xc2\xecX\xcd+9N\xad6\xf6\x87\xd4\x86\xb3\x0e\x98w\xc0\x9c\x03\x0c\x0e \x0eh\xc6\xc5\x8c\x03\xd2\x0e\x08; \xe0\x00\xd1\x01\xf5\x0e\x10\x1c\xe0`d$\xe5\x8bT$\xbd\xce$%\x07\x9c]\x86_>\xac3\x99k\x06\xb22\x8b\x8drv\x89\xcf\xc7\xc6r1\xcb\xca\xe82iw\xe3\xe8\x92c\x86\xd3y\x8bk\xadV\x01749\xc1\xaf\xed\xfa\xab\x96;>\x95)\xdcv\xd7SG\xee9Q\x88\x1e{\x10\x1a\xf9\x0f\xe2u\x9bv~\xe6\x81+g\xaa<\x9e*\xee\xc83k\xae\xac\xa4\x90\x9a\xb3y0\xf7\x04s\xff\x1c\xc6\xa5\x0c#\x93\x17\xfb*\xb5\xda5\xc4\xba\xc6Z\xedXU\x12\x08\xad\xb2h*+M&\xbe/d2\xe8\xb1\xf9\xf5Dd\xce\xd0`\xcc\xb0\xb0\xcc\x17\xbd\x94\xbd\x97]\x9f+\xc2\x82\xec\xf1\xf2&*\x96\x86\xe2\xear\x0f\xd1?\x9a|\x8d\xd6\x88\xe5\xbb\x15\xd0#\xa3I\xbb\x95\xbak\xe2\xe8\xec\xe3\n\xf9\xfbw\xe4V\rNM\x7f\xea\xca\xa9\xdf\x07\xaf&\xfa\xe8\xdc\xab\xff\xfe\xe6\xc1\xd7\x0e\xc0\xc2\xf9\xe7\xcd\xe5W\xac\x86\xef\xaa\xeal\x9e\x82\xb4u\xe6\xc0\x7f\xbc{\xa5\xf0_\xeb\x1d\xecYD{\xf19\xec\xc5R\xec\xc6\x17\xc5\xbb\xb1\x1b\x89\x9a`7V\x04B:\x03g\n\x848\x0b6 v\xe3\xbc\r\x02\xac\x1f\xe5f\x9cg\xfd8\xc7\xa6\x1cv\xe5\x0ck\xcc\xb4\r\xc2\xac=e\x91\x1dO2T\x80\xa1\x96:\x99\\+/\xb7\xb4,\x86\xd7k&\xc8\xb5\xcf\xaeb\xb8\x96ZhY\x9f\x83\xc1\x89c\x94\xf6\xb9E\xbbE\x99\xf9\x18(\xfe\xb9B\xd7\x1b\xdf\xfd\xee\xf7\xff\xe5{\xcf\xff\xde\xfd\xf7L\x1d\xbb\xfb\xde<\xbc]0\x16~\xfe\xb3\xdf\xfc\xe7/\xbe\xfb\xf5\x17\xe7\x7f\xf8\xd5o\x106G7\xe0{\x11\xfd;]\x15\xf9\x86\xb8\xbfB\xab\xd5\xe8\x89\xc1`\x06\xcd\n\x9dNc\xe6W\xd9E{\xd8\xce\x9d\xb5\x03\xb1\x0b\x08\x07\xecs\xf6y\xbbf\x97\xc1.\xd99\x83\xbd\x1e\x11a\xfb\xeb\xf6\x05\xbb\x86 \x98\xb6\xcf ~\x0e\x11Z\x1do?\xbf8w.t\xb8\x8b\xdd\xf7\x0f\xc9\xf7\xa6fv\x17\xd7\xba\x1b\xba\xaa\xf0!_E\x0c+t\xe6\x95fZF\x15Z\x15_\xb6\xd2\xac\x01\x1e\x02!^\xbf4\xd6*\xad\xcdK\xb5\x0fn\xf0\xc1;>x\xc3\x07\xdf\xf4\xc1\x97|p\xc6\x07#>\x80\x80\x0f\xda}P\xcf\xf8L>P\xf9 \xbePd|\xde\x079\x1f\x88>\xd8\xc2\xc8H\xbb\xec\x83\xb7}0\xe7\x03\x89\xedq\xaf\x0f\xa2>e\x0b\x99\xc7Pd{\xdd\x07\xdf\xf0\xc1\x9f\xfb`\x86\xb1\xdd\xe6\x83\x1d>\x10\x8a:\xb6\xc9\n\xce\xfa \xec\x83\xc1\xa2\x0e\x13\x93|\x87I~\xde\x07yT/\xba\x97\xd1\xedL\xf6\x1df\x00\'1\x864S\x8fZ\xf5>\xd0\x1d\xf9\xc8\xf3\xf4c\x1a\xe2\xf6\xdbo\xc0\x90\xb9*\xbe\x8c\x89,\x9b+\xca(Ufiq\x9a^-"\xd6Ql\x9aZ\xe9\xb5\n\x96Fj\x05\xa7\xbd:a\xd7_7b\xbb\x9f\x16;\xa6\xd6\xec\x7f\xad}\xe1xa\xe8\xc1\xb3\xab::Z\xcc\xc6\xd3\x85\xd6SCC\xc1{N\x17\x0e\x1e;\x06+\xf9\xb0{\xfb\x96fwk\xe1\xa7\xca\xd0\r>\xa3+]\xa1\xda\xba\xa7\xb8\x1c\x08\xad\xb9REA^\xa8\xf2\xc8\xef\xcb\xfbpF\xfd\x18{s%\x9b\xc3\xbd&U\x19\xa9\xaa2\xa8\x0c\xd5\x8e\x95\x86@h\xa5Y\x1e\xbfZ|\x08k\rU(\xc0Y\xfbpl\xe1 \xee\\\xfe$"\xc5\xe1{\xe3)\x9cY\xfe\x16\xc1\xc2\xa4<\xa5\xaf\x8e\x19\xf9\x8dBC_(*\xf1\x85b\xfd.6\x871\x00\xc0^*\x8c\xf8z\xc1}\xe7\xf6G\n\'\xbe\xf7\xc6DJ\xf3\x87\xd0\x9e+\xfc\xaa\xe0\xc8\xdf{\xfb\xa1P\xa6\xf0\x1b\xff!\xf8\xf7\xff\x04\xb0:\xef\xbbl\xf3|\xf8B\x95\x07^\xfd\xda_o\xe0~ld>b\xafp\x95\xea\x1e|\xd6\x98\xc9\x1f\x88c\xa4\xbc\\c4Z-|\xc9@\x88\xf0`\xe0y\xb3h\xae\x0c\x84\xd0W\xa3\xde\x88\xee\x9aMVPY\xa1\xf9\xb2\x15f\xac\xf8\x12g\x85\xb0\x15\x02V\x10\xad0g\x05\xc9\ng\xd9R\xb0\x82\xc1\n\xc4\n\x0b\x0c\x83\xac\xcb9\xaf\xad"\x1a\x80aV=K\x9f>d\x95\xcd\xf0\xad\xe2g\x82\x12\x00\xf9m[\x9e\xb5\xfc\xd5\xec\xdf)zjE\xb1\xd6#\x96\xfeQ\xa1\xea\xec}\xe0V\xfd@^\x8b\xbf\xde\xbe\x94N`\xbe\x92\xb7.\x95t\x0c\xebw\xfe\x92s\xc8\xff\x93\xf8\xbb\xf6\xd7\xbfU\xfc{3\x9d2\x9a*5\xfdK\xbdn\xe9\x8f\xd0(\xa7u\x16:\xc8\'\x96c\xae9\x8c\x9af\x9c\xe0?$5\xfci\x12\xe0\xd7\x90A\xae\x99\x988\xaa\xee\xcb\xa4\x07q\x07\xf0\xecR\x11b\xc2\x13\'=9\x80\xe7\x06\x15jC97\xc2\xfb\x90\xdf\xcdv\xfa:l\x83\xb3\xf0\x13\xf8\t\xd7\xca=\xca\x97\xf2gT:\xd5\x83\xeaj\xf5V\xcd!\xcd?iE\xa6\xd9H\x1a\xa9\x1f\xcc\x1b\x03\xf1\x92[\x10\xf8\x1b\xfe\x9b8\x19)\xb5\x1a\x92K\xf6\x1d\\\xb2\x15\x90\xf3\xa0\x02sDK\xc6\x14\x98\xc7w\xcbI\x05V!\xcfI\x05V\x93\n\xf2\xa8\x02k\x88\x9e<\xa5\xc0Zr\x07\xf9\x8a\x02\xeb\xf0;\xde\xab\xc0%\xa4\x02\xda\x14\xb8\x14\x92\xd0\xa7\xc0ed5wa\xe9?ru\xdc\xdb\n\xbc\x824\xf1%\n\\AV\xf1\xbb\xa9\xf5*\xfa\x9f\x84g\xf8\xa0\x02\x03\x11T*\x05\xe6H\x85j\x9d\x02\xf3d\xab\xaaQ\x81U\xc8\x13W`5Y\xad:\xa9\xc0\x1aR\xad\xfa\x92\x02k\xc9e\xd5\xd7\x15XG6\xaa\xffR\x81K\xc8j\xf5\xbf)p)\xf7}\xf5\x87\n\\F\xb6\xe9\xfeE\x81\xcb\xc9-%\x15\n\xbc\x82\xdcZr\xab\x02W\x90-%o\xb4\'\xc6\x13\xb9\xc4\x1d\xb1\xa8\x10\x8d\xe4"\xc2h*}<\x93\x18\x8f\xe7\x84\x8d\xa3\x9b\x84\xc6\xfa\x86z\xa13\x95\x1a\x9f\x88\tm\xa9L:\x95\x89\xe4\x12\xa9d]i\xdb\xf5l\x8dB?n\xd1\x15\xc9\xd5\n{\x93\xa3u=\x89\x91\x98\xcc+\x0c\xc42\x89\xb1\xfe\xd8\xf8\xd4D$\xb3\';\x1aKFc\x19\xc1#\\\xcfq\xfd\xfa`,\x93\xa5\x8b\xc6\xba\xfa\xfa\xba\xc6\xab\xd4\xeb\x99\x13Y!"\xe42\x91hl2\x92\xb9MH\x8d]k\x88\x90\x89\x8d\'\xb2\xb9X\x06\x91\x89\xa40T7P\'\x04"\xb9X2\'D\x92QapI\xb0wl,1\x1ac\xc8\xd1X&\x17A\xe6T.\x8e\xa6\xde:\x95Id\xa3\x89Q\xaa-[\xb7\xe4\xc1\xb2p\x0c\xe4bGc\xc2\xfeH.\x17\xcb\xa6\x92\xad\x91,\xeaB\xcb\x06\x13\xc9T\xb6V8\x16O\x8c\xc6\x85c\x91\xac\x10\x8de\x13\xe3I$\x8e\x1c\x17\xae\x95\x11\x90\x1aA_\x92\xc9\xd4Q\xdc\xf2h\xac\x16\xed\x1e\xcb\xc4\xb2\xf1Dr\\\xc8R\x97\x15i!\x17\x8f\xe4\xa8\xd3\x93\xb1\\&1\x1a\x99\x988\x8e9\x9bL\xa3\xd4\x08&\xe9X"\x17G\xc5\x93\xb1\xacp vL\xe8OMF\x92_\xae\x93M\xc1\xd8\x8caP\x85\xc4d:\x93:\xcal\xf4dG3\xb1X\x12\x95E\xa2\x91\x91\xc4D"\x87\xbb\xc5#\x99\xc8(F\x0c\xc3\x96\x18\xcd\xb2\x88` \x84t$\xe9\xe9\x98\xca\xa4\xd21\xb4\xf4\x13\x9d=W\x19\xd1@9\x9a\xd9\xd4\xc4Q\xd4L\xb9\x93\xb1X\x94jD\xb3\x8f\xc6&P\x08\x15O\xa4R\xb7Q\x7f\xc6R\x1944\x9a\x8b{\x96Y>\x96J\xe6P4%D\xa2Qt\x1c\xa3\x95\x1a\x9d\x9a\xa4y\xc20\xe7\x8a\xc6EF3)\xa4\xa5\'"9\xdce2[\x17\xcf\xe5\xd2\xdb\xbd\xdec\xc7\x8e\xd5E\x94\xd4\x8cbf\xeapg\xefo\xa3\xe5\x8e\xa7cJ>2t\x97\xc9\x89\x1eL\x7f\x92\xa6n\x8a\xe5\x97:1\xb0\xb7G\xe8Mc|\xfch\x9c\xa00\xd4\n\xc5\xd2l\xa8kPT`\x18\x13\xe9\\\xb6.\x9b\x98\xa8Ke\xc6\xbd\xbd\xfe\x1e\xd2N\x12d\x1c\xcf\x1c\x9ew\x90\x18\x89\x12\x01\xcf\x08\xae#\x08\x8d\x92\x14I\x93\xe3$\xc3\xb8\xe2\x88\x15\xc8F\xc4n\xc2{#\xa9\'\rx\n\xa4\x13\xb9RH\x9f@y\x81\xb4!\x9cA)z\x8d\xb0}S$I\xea\xf0\xcb\xa3\xedw\xee\xd6\x88P\xbfbE\x17\x93\xaeEh/\xca\x8f\xe2\x0e=(7\x82\xd4\xe5\xfb\nd\x80a\x128g\xa9\xe48\x99B;"\x88\xd9C\xb2(\x15C\x9e(\xe3\x10\x88\x07\xcf\xdf\xb5\xc7\xef\xa2\x1fdPv\x89\xd2\x88v\xd5\xe3O\x1dB7\x92\xfd];\'p/\x81\xc5:\xc7(\xd4\xd6If\xffm\x88K\xa1\xdco\x8b\x88\x80|1\x96\xbf,Rbl\x15e\xbb\xd2\xbd\x87\x90c\x80q\x05\x98$\x8dE\x8eiK2\xae\xc1\x1bh\xecE\x8dc(?\xcarY\xe4\x1ce{\xd3\x9a\x90wN!\x1cW\xa2z+F<\xc3,\x882\xb9\xa2oY\xd4\xfc\xd1\x1c\xdc\xb8:\x06\x98uG\x99\xce\xfd\x0cO\xd7YFk\xc5uV\xf1K\x8e\xd9 \xb3"\x85X\x1a\x8bch\t\xd5\x1bgp\x84\xc53\xca\xa4i\x95%\x15\xc9\x11\xac;\xe1\xb7\xea\x11\x14\xd9\x88\x92\x97$\xd3qT\xb1\x92\xca\xd4*\xf1\x1ec\xd7,\xd3\x9bD\x1d\x02\xb3O\xce\xf2\xb5\xba\x05\x16\xa7\x08\x8b\xba\x9c\xe9I\xa4\xe6\x18\xef(\xe2\'\xf0\xe7\xb8\xd2g\x93\x18\x15Y\xd7\x88\xd2I\xc7X_\xc6\x15\x8f\'\xd9\xbe\x029\x80\xf7c\xac*R,oI\xe7Z\x96\xe3\xabQ\x91\xebfL\xa9T\x81\xc9\xa6\x11N1/\x8aq\xf4\xb0\xdcPOb\xccR\nEX\xef\x8f\xa0\xc4\x04\xd3-\xdb\x16g\xd5\x11a\xb9\x8d)\xb9\xce1\x0f\x8a\xf1\x8a*\x9eR\xab\xd3\x0c\xe3!\x1d\xac.h\xc7\xc7\x94\x98~\x02\'E\xcf\rw\x94#\xb8\xbc6iN&\x98\xbd\xd9e{\'\x99\xb5\xd1%\x1f\xe5hS\xae\tE\x93\xec\xf1\x04\x9bH\xb7-\xe5g\x8c\xd5\x9b\x1c\xd1(\xdb\xcd\xf311\x1fc\xb1\xc9)ZS\xcc\xa2(\xfe\xc8\x19\x97k+\x85\xb2S,\x1fr?\xc9\xd5\x9c\xfbH\xe4",\xbe)E.\xcd\xe6RN\xb1e\x92\xf5G\x9cU`\x9al\xc7wK/ZG\x7f\xeaX\x1d.\xef\x9aQ\xa5g\xea\x14\x9b\xbd\xffk9jW\x9aEpy\x7fd\x96l\x99D\x1b{\x94\xeeO.u\xdd\xd4\xb2\xfe-fb\x00gP\x0f\x9b\x17i\xa5~\xfcJ\xe4\x84\xebv\xa0]s\xfd\xd4l@}\r\xd7y!Wc\x02\xd79fO\x96\xc5\xb2\x8e\xf90\x8e\xf4^\xd4\xd0\xc3\xde\xa3\xe5\xef\x07\'\xdat\x83c\xb6$\xb0g\x04b\x04 \x0e\xe3\xf8)\x89\x9f\x7f\xe4\x00\x0c\x93!\xd8Cv\x81\x88w|\xb5\x87V\xbc\xb7\xe1\x9a\xde\xeb`\x17\xc9#\xdf.\xc4\xef\xc6\xf5N\xc4\xef\xc0\xe1\xe9\xc0k\x0b\x9e\xbdx>\x84\xa7\nO\x99\xa3\x1e9\xbcx\xf7*k\x0f\xaekQ\xe25\xbc\x02;)\xb6\x05\xb1\xf4\xbe\x0f\xd7]x\xefT\xee~\xc4w\xe0\xbdCY\xef\xc55\xdeI\x18\xb4\xf8"\xde\xc2\xae\x17@%\x9e\x83\xf9+\xf0\xda\x15\x10\xae\xc0\x89_C\xe0\xd7\x90\x7f\x7f\xe6}\xee\xe7\x0b\x9b\x1c\xcf.\\X\xe0z\xdf\x1b~\xef\xd9\xf7\xf8\xfa\xf7@\xff\x1e\xe8\xc8%\xc3\xa5\xc0\xa5\xf0\xa5\xf4\xa5\xb3\x974\xa5\xfaw\xa1\x9c\xfc\x14\x8c?\x9c\xdf\xe6\xf8\xc1\xae\x8bC\xff\xb6\xeb\xfbC\xe4"zv\xb1\xfeb\xe0b\xfe\xa2tQ}\x11\xf8\xa1\xef\xf3\x16\x87aN\x98\xab\x9fK\xcf\xe5\xe7^\x9f\x9b\x9f[\x98\xd3\xe5\xbf6\xf35\xee\xab/y\x1d\xfa\x97\x1c/q\x8es\xbd\xe7N\x9c\xe3\xc3O\x83\xfei\xc7\xd3\\\xe0\x8b\xe1/r3O\x80\xfe\t\xc7\x13\xde\'\xf8\xc7\x1f\xabs<\xd6Y\xedx\xe4\xcc\x06\xc7\xfc\x99\x853\x1c\xfd\xa3\xd7\x99\x15F\xffK\xd0\x0b=d\x17\xc6\xf0\xc09~\xd1\xf1\xec\x1e3\xecG\xb7\xf4xu\xe0\xe9\xc5\xb3\x17\xcf\x14\x9e\x0f\xe1\x89\xdf=\xc8\xee\xc0\xd3\x0b=\xe26~\xf8\x0bP\xf6\xb0\xfda\xf7\xc3w>|\xeaau\xfa\xfe\xfc\xfd3\xf7\xf3\xf9\xfbf\xee\xe3\x9e=z\xe1(\x97\rlr\xa4\x92nG\xb2s\xb3\xa3\xcag\x1b\xd2\xfa\xf8!\r\xaa\xa1\x7fj\xdb;R\xb3\xd1\x1f\x1e\x16\x1d\xc3\xc8t\xf3\xa1z\xc7\xa1\xceM\x8e\x95\xbe\xca!5:\xacBF=\xef\xe0[\xf8^>\xc5?\xc4_\xe0\xb5\xba\xfe@\xb5\xa3\x0f\xcf\xf9\xc0B\x80\x13\x03%\xe5~}\xaf\xa3\xd7\xdb\xcb\x9f_\x9c\x17c\xddN\xdcm_z_~\x1f\xbf\xd7\xbf\xc9\xd1\xd5\xb9\xcd\xa1\xefttz;_\xeb\xfcA\xe7{\x9d\x9a\xe1Nx\x12\x7f\xfd\xcf\xfa/\xf8y\xd1\xbf\xc9\xeb\x17\xfd\xd5N\xff\xea.\xfb\x90\xc5g\x1e2\x82~\xc8\xe0\xd3\x0fq\x80\x89\xf6\x91!\xaf~Q\xcf\xe9\xf5\xc3\xfa\x13z\xfa\'?\xc2\xe5-\xa0\x86\xf303;8\xe0vw\x9f\xd7.\xf6wK\xba\xc0\xcd\x12\x9c\x94j\x06\xe8U\xec;$iNJd\xe8\xd0\xcd\xc1Y\x80\xcf\x84\xee;}\x9a\xb4\xae\xe9\x96\x1a\x07\x82RxM\xa8[\x8a" R \x8f\x80a\xcd\xac\x85\xb4\x86\xb2\xd9\x9c\x9b\x1d\xe0v#<\x85W\xe2\x9er#\xf2HV\xc6\x92%:qg!\x8b3*\xcb\x84\xc0M\x19\xe45\xe0\xd5Mi\x88\xa0r\x80\xd2G\xb2\x84^(\xd1-\x0bQ\xe9\xac\xb2\x1d\x13\x96/\x0c\xb0\x1d\xf9o\xaf*\xaby\nendstream\nendobj\n\n6 0 obj\n6486\nendobj\n\n7 0 obj\n<>\nendobj\n\n8 0 obj\n<>\nstream\nx\x9c]\x91\xc9j\xc40\x0c\x86\xefy\n\x1f\xa7\x87!Nf\x87\x10\x98\xa5\x81\x1c\xba\xd0\xb4\x0f\x90\xd8\xca\xd4\xd08\xc6\xf1\x1c\xf2\xf6\xb5\xa4i\x0b=\xd8|\xb2\xfe\xdfhI\xcf\xf5\xa5\xb6&\xa4\xaf~T\r\x04\xd1\x1b\xab=L\xe3\xcd+\x10\x1d\\\x8dM\xb2\\h\xa3\xc2=\xa2[\r\xadK\xd2\xe8m\xe6)\xc0P\xdb~,\x8a$}\x8b\xb9)\xf8Y,\x8ez\xec\xe0!I_\xbc\x06o\xecU,>\xceM\x8c\x9b\x9bs_0\x80\rB&e)4\xf4\xf1\x9f\xa7\xd6=\xb7\x03\xa4\xe4Z\xd6:\xa6M\x98\x97\xd1\xf2\'x\x9f\x1d\x88\x9c\xe2\x8cKQ\xa3\x86\xc9\xb5\n|k\xaf\x90\x14R\x96\xa2\xa8\xaa2\x01\xab\xff\xe5\xb2-[\xba^}\xb6>J\xb3(\x95r\xb3.#\xe7\xc4\xdb\r\xf2\x8ax\xb7B^3\x93fC\x9cK\xe4-\xf3\x05y\xc7^\xd2\xef\x993\xe4\x03\xf3\x1e\xf9\xc8\x9c#\x9f\x98+\xe43\xf3\t\xf9\xc2\xf5\xd0\xfb#\xbf\xd3\xff\x153\xd6\x90I\xe6\x035x\xef\x04[\xc5]\xfc\x8cP\xa8\x9b\xf7q|\xb40\x9a\x1bN\xccX\xf8\xdd\xa9\x1b\x1d\xba\xe8|\x03!"\x90\xd6\nendstream\nendobj\n\n9 0 obj\n<>\nendobj\n\n10 0 obj\n<>\nendobj\n\n11 0 obj\n<>\nendobj\n\n1 0 obj\n<>/Contents 2 0 R>>\nendobj\n\n4 0 obj\n<>\nendobj\n\n12 0 obj\n<>\nendobj\n\n13 0 obj\n<\n/Producer\n/CreationDate(D:20221014121630+02\'00\')>>\nendobj\n\nxref\n0 14\n0000000000 65535 f \n0000007701 00000 n \n0000000019 00000 n \n0000000221 00000 n \n0000007870 00000 n \n0000000241 00000 n \n0000006812 00000 n \n0000006833 00000 n \n0000007028 00000 n \n0000007390 00000 n \n0000007614 00000 n \n0000007646 00000 n \n0000007969 00000 n \n0000008066 00000 n \ntrailer\n<\n ]\n/DocChecksum /9C202A8AB9D42DFE72E8DE0AF3A939C1\n>>\nstartxref\n8241\n%%EOF\n' + +text_data = b'not a valid file - not a valid file - not a valid file - not a valid file - not a valid file - not a valid file - not a valid file' diff --git a/tests/test_line.py b/tests/test_line.py new file mode 100644 index 0000000..28fadd9 --- /dev/null +++ b/tests/test_line.py @@ -0,0 +1,228 @@ +# -*- coding: utf-8 -*- +# This file is part of the cashbook-module from m-ds for Tryton. +# The COPYRIGHT file at the top level of this repository contains the +# full copyright notices and license terms. + +from io import BytesIO +from PIL import Image +from trytond.tests.test_tryton import ModuleTestCase, with_transaction +from trytond.pool import Pool +from trytond.transaction import Transaction +from trytond.exceptions import UserError +from trytond.modules.cashbook.tests import CashbookTestCase +from datetime import date +from decimal import Decimal +from .img_data import img_data_png, dok_data_pdf, text_data + + +class LineTestCase(CashbookTestCase): + 'Test cashbook line module' + module = 'cashbook_media' + + @with_transaction() + def test_media_add_image(self): + """ create cook/line, add png-file + """ + pool = Pool() + Book = pool.get('cashbook.book') + Lines = pool.get('cashbook.line') + + types = self.prep_type() + category = self.prep_category(cattype='in') + company = self.prep_company() + party = self.prep_party() + book, = Book.create([{ + 'name': 'Book 1', + 'btype': types.id, + 'company': company.id, + 'currency': company.currency.id, + 'number_sequ': self.prep_sequence().id, + 'start_date': date(2022, 5, 1), + 'lines': [('create', [{ + 'date': date(2022, 5, 1), + 'description': 'Text 1', + 'category': category.id, + 'bookingtype': 'in', + 'amount': Decimal('1.0'), + 'party': party.id, + },])], + }]) + self.assertEqual(book.name, 'Book 1') + self.assertEqual(len(book.lines), 1) + self.assertEqual(book.state, 'open') + + # add image to line-1 + Lines.write(*[ + [book.lines[0]], + { + 'media': img_data_png, + 'media_name': 'image.png', + }]) + self.assertEqual(book.lines[0].media_size, 18428) + self.assertEqual(book.lines[0].media_mime, 'image/png') + self.assertEqual(book.lines[0].media_name, 'image.png') + + # replace image at line-1 by pdf + Lines.write(*[ + [book.lines[0]], + { + 'media': dok_data_pdf, + }]) + self.assertEqual(book.lines[0].media_size, 8724) + self.assertEqual(book.lines[0].media_mime, 'application/pdf') + self.assertEqual(book.lines[0].media_name, 'image.png') + + # create line with pdf + Book.write(*[ + [book], + { + 'lines': [('create', [{ + 'date': date(2022, 5, 2), + 'description': 'Text 2', + 'category': category.id, + 'bookingtype': 'in', + 'amount': Decimal('1.0'), + 'party': party.id, + 'media': dok_data_pdf, + 'media_name': 'data.pdf', + }])], + } + ]) + self.assertEqual(len(book.lines), 2) + self.assertEqual(book.lines[1].media_size, 8724) + self.assertEqual(book.lines[1].media_mime, 'application/pdf') + self.assertEqual(book.lines[1].media_name, 'data.pdf') + + @with_transaction() + def test_media_add_invalid_file(self): + """ create cook/line, add txt-file + """ + pool = Pool() + Book = pool.get('cashbook.book') + Lines = pool.get('cashbook.line') + + types = self.prep_type() + category = self.prep_category(cattype='in') + company = self.prep_company() + party = self.prep_party() + book, = Book.create([{ + 'name': 'Book 1', + 'btype': types.id, + 'company': company.id, + 'currency': company.currency.id, + 'number_sequ': self.prep_sequence().id, + 'start_date': date(2022, 5, 1), + 'lines': [('create', [{ + 'date': date(2022, 5, 1), + 'description': 'Text 1', + 'category': category.id, + 'bookingtype': 'in', + 'amount': Decimal('1.0'), + 'party': party.id, + },])], + }]) + self.assertEqual(book.name, 'Book 1') + self.assertEqual(len(book.lines), 1) + self.assertEqual(book.state, 'open') + + # add invalid file + self.assertRaisesRegex(UserError, + "The file type 'text/plain' of the record '05/02/2022|Rev|1.00 usd|Text 2 [Cat1]' is not allowed. (allowed: PNG, JPG, PDF)", + Book.write, + *[ + [book], + { + 'lines': [('create', [{ + 'date': date(2022, 5, 2), + 'description': 'Text 2', + 'category': category.id, + 'bookingtype': 'in', + 'amount': Decimal('1.0'), + 'party': party.id, + 'media': text_data, + 'media_name': 'text.txt', + }])], + } + ]) + + # replace image at line-1 by invalid file + self.assertRaisesRegex(UserError, + "The file type 'text/plain' of the record '05/02/2022|Rev|1.00 usd|Text 2 [Cat1]' is not allowed. (allowed: PNG, JPG, PDF)", + Lines.write, + *[ + [book.lines[0]], + { + 'media': text_data, + 'media_name': 'text.txt', + }, + ]) + + @with_transaction() + def test_media_add_big_file(self): + """ create cook/line, add big png-file + """ + pool = Pool() + Book = pool.get('cashbook.book') + Lines = pool.get('cashbook.line') + + types = self.prep_type() + category = self.prep_category(cattype='in') + company = self.prep_company() + party = self.prep_party() + + book, = Book.create([{ + 'name': 'Book 1', + 'btype': types.id, + 'company': company.id, + 'currency': company.currency.id, + 'number_sequ': self.prep_sequence().id, + 'start_date': date(2022, 5, 1), + 'lines': [('create', [{ + 'date': date(2022, 5, 1), + 'description': 'Text 1', + 'category': category.id, + 'bookingtype': 'in', + 'amount': Decimal('1.0'), + 'party': party.id, + },])], + }]) + self.assertEqual(book.name, 'Book 1') + self.assertEqual(len(book.lines), 1) + self.assertEqual(book.state, 'open') + + # construct image + with BytesIO() as fhdl: + img1 = Image.new('RGB', (3200, 1340)) + img1.save(fhdl, 'PNG', optimize=True) + del img1 + + fhdl.seek(0) + img_big_data = fhdl.read() + + # create line with png, should be resized + Book.write(*[ + [book], + { + 'lines': [('create', [{ + 'date': date(2022, 5, 2), + 'description': 'Text 2', + 'category': category.id, + 'bookingtype': 'in', + 'amount': Decimal('1.0'), + 'party': party.id, + 'media': img_big_data, + 'media_name': 'big.png', + }])], + } + ]) + self.assertEqual(len(book.lines), 2) + self.assertEqual(book.lines[1].media_mime, 'image/jpeg') + self.assertEqual(book.lines[1].media_size, 10221) + self.assertEqual(book.lines[1].media_name, 'big.jpg') + + # check image size + with BytesIO(book.lines[1].media) as fhdl: + img2 = Image.open(fhdl, 'r') + self.assertEqual(img2.size, (2000, 837)) + +# end LineTestCase diff --git a/tryton.cfg b/tryton.cfg index fceac5a..f603792 100644 --- a/tryton.cfg +++ b/tryton.cfg @@ -3,3 +3,5 @@ version=6.0.0 depends: cashbook xml: + message.xml + line.xml diff --git a/view/line_form.xml b/view/line_form.xml new file mode 100644 index 0000000..6785333 --- /dev/null +++ b/view/line_form.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + +