Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gaJp8-0003i8-Lv for pgadmin-hackers@arkaria.postgresql.org; Fri, 21 Dec 2018 12:22:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gaJp7-0002B8-Cq for pgadmin-hackers@arkaria.postgresql.org; Fri, 21 Dec 2018 12:22:37 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gaJp6-0002B1-Mx for pgadmin-hackers@lists.postgresql.org; Fri, 21 Dec 2018 12:22:37 +0000 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gaJp3-000704-GZ for pgadmin-hackers@postgresql.org; Fri, 21 Dec 2018 12:22:36 +0000 Received: by mail-wm1-x341.google.com with SMTP id a62so5132742wmh.4 for ; Fri, 21 Dec 2018 04:22:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin-org.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=fQE6boF0FfFAVKgW1Mnvaaze2JnIeYSS9cXcXzL1HPE=; b=zqOgziA7B2eMiCCLilUNCcDkPyMfCpnmQ48Y+Sp8XdvBzdxDqi8ZjO7ARAEVpOzNbg JFnhZ7SE/cDCwcBhtRDwETa+z+mTDwdQ4tiAOWKoBdtdQMP0SvmwhLJFyIPFDpC5UPG0 yA3v+dlyCyVisb+RR72w5Dk/o0cCLXK2pCpialqhI2oNK1SROjposM5Ih2FH5siKIq3R o1BGhs6dfd0XA5y2wmskdEy11MWwznxJj24o42KCdtxWnAsCAytA0fZ9UF/6+3EWy3u+ vxyc911agtYYgGwUUCLvGsTUR+uYin+FUyXsBke9KXqiIpiZKgtvq6kscvsNeq3kOFXu grLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=fQE6boF0FfFAVKgW1Mnvaaze2JnIeYSS9cXcXzL1HPE=; b=LJE0SM1knHpIobDNhoypMRoWQxQFD6EYLJ5g885RsBF7DCTYyXwoyGxu6s4yUw7JBb n6AmEnjyljXVbeFCuOgXuQcBg1Vd7qN4YVJYZ8v+ZJtw5VChem2mvMWRod0Y8n3GtTOW 7B1uG+KyOvKwEa4iPe6A5FtvHMl0nWqS0pLvdFfRii1tbheWK1c5Al5R4QsVspRGbBxe gOODYp3wyuUFrCSkElg3+Vdlof2SYp6Xon7FjORGSqtTISv4APgKCkc0EVKhCqzHt/Pg SmuabQbwd4eprIbnQmUvDmfhOaGxqS3fIUyWjGxuEGC42osD/z/MeX2Jpv2P3opiAfws z8dg== X-Gm-Message-State: AA+aEWY3KTxCKDvYYysPcEJSJTUdbsM6QXAST1FHMqvO1xk/ZJDmJOYH jC3U+WJsafrSTyjtLx48UoaI5eFCpBbND6aOF/g/kQ== X-Google-Smtp-Source: ALg8bN6anWiA4aKOcKkiKQO7GMrkWK1IjbaMG68ykrK2Snk8xSykSkn/jWTkQx8uBqTq+fQdJtVkR0cZxlXx5VWcNjM= X-Received: by 2002:a1c:91d1:: with SMTP id t200mr2631089wmd.111.1545394952188; Fri, 21 Dec 2018 04:22:32 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Dave Page Date: Fri, 21 Dec 2018 12:22:20 +0000 Message-ID: Subject: Re: [pgAdmin4][Patch] - RM 3780 pgAdmin4 lacks ability to specify NULL values in CSV export To: Akshay Joshi Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000002a0d1e057d874d61" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000002a0d1e057d874d61 Content-Type: multipart/alternative; boundary="0000000000002a0d1a057d874d5f" --0000000000002a0d1a057d874d5f Content-Type: text/plain; charset="UTF-8" Sorry! Here is is. On Fri, Dec 21, 2018 at 12:12 PM Akshay Joshi wrote: > Hi Dave > > Can you please attached the updated patch with your changes. I'll try to > fix the exception. > > On Fri, Dec 21, 2018 at 3:57 AM Dave Page wrote: > >> Hi >> >> Here's an updated patch as I've tweaked some of the wording. The >> screenshot probably isn't the right resolution, but as we're replacing them >> anyway it doesn't seem overly important. Feel free to fix if you like :-) >> >> With quoting set to either All or Strings, everything looks good. With it >> set to None, I still get an exception (below). The query I'm using is this: >> >> SELECT NULL::text, 1234::int, 'Foo bar'::text, E'Foo\nBar'::text >> >> Field separator: , >> Quote character: " >> Replace null's with: NULL >> >> Steps: >> >> 1) Run pgAdmin in Desktop mode. I'm running from within PyuCharms, using >> the venv detailed below. >> 2) Open the Query Tool on a PostgreSQL 9.6.10 database, running on MacOS >> 10.14.1 >> 3) Run the above query, wit quoting set to All and check the result in >> the grid. >> 4) Download the CSV file and check. >> 5) Open Preferences and set quoting to Strings. >> 6) Download the CSV file and check. >> 7) Open Preferences and set quoting to None. >> 8) Download the CSV file *exception occurs*. >> >> >> System info: >> >> (pgadmin4) dpage@hal:*~/git/pgadmin4*$ python --version >> >> Python 3.6.7 >> >> (pgadmin4) dpage@hal:*~/git/pgadmin4*$ pip freeze >> >> alabaster==0.7.11 >> >> alembic==1.0.0 >> >> asn1crypto==0.24.0 >> >> Babel==2.6.0 >> >> bcrypt==3.1.4 >> >> blinker==1.4 >> >> certifi==2018.8.24 >> >> cffi==1.11.5 >> >> chardet==3.0.4 >> >> chromedriver-installer==0.0.6 >> >> click==6.7 >> >> cryptography==2.3 >> >> docutils==0.14 >> >> extras==1.0.0 >> >> fixtures==3.0.0 >> >> Flask==0.12.4 >> >> Flask-BabelEx==0.9.3 >> >> Flask-Gravatar==0.5.0 >> >> Flask-HTMLmin==1.3.2 >> >> Flask-Login==0.3.2 >> >> Flask-Mail==0.9.1 >> >> Flask-Migrate==2.1.1 >> >> Flask-Paranoid==0.2.0 >> >> Flask-Principal==0.4.0 >> >> Flask-Security==3.0.0 >> >> Flask-SQLAlchemy==2.3.2 >> >> Flask-WTF==0.14.2 >> >> html5lib==1.0.1 >> >> htmlmin==0.1.12 >> >> idna==2.7 >> >> imagesize==1.1.0 >> >> itsdangerous==0.24 >> >> Jinja2==2.10 >> >> linecache2==1.0.0 >> >> Mako==1.0.7 >> >> MarkupSafe==1.0 >> >> packaging==18.0 >> >> paramiko==2.4.1 >> >> passlib==1.7.1 >> >> pbr==3.1.1 >> >> psutil==5.4.8 >> >> psycopg2==2.7.5 >> >> pyasn1==0.4.4 >> >> pycodestyle==2.3.1 >> >> pycparser==2.18 >> >> pycrypto==2.6.1 >> >> Pygments==2.2.0 >> >> PyNaCl==1.2.1 >> >> pyparsing==2.2.2 >> >> pyperclip==1.6.4 >> >> pyrsistent==0.14.2 >> >> python-dateutil==2.7.3 >> >> python-editor==1.0.3 >> >> python-mimeparse==1.6.0 >> >> pytz==2018.3 >> >> requests==2.19.1 >> >> selenium==3.14.1 >> >> simplejson==3.13.2 >> >> six==1.11.0 >> >> snowballstemmer==1.2.1 >> >> speaklater==1.3 >> >> Sphinx==1.8.2 >> >> sphinxcontrib-websupport==1.1.0 >> >> SQLAlchemy==1.2.10 >> >> sqlparse==0.2.4 >> >> sshtunnel==0.1.4 >> >> testscenarios==0.5.0 >> >> testtools==2.3.0 >> >> traceback2==1.4.0 >> >> unittest2==1.1.0 >> >> urllib3==1.23 >> >> webencodings==0.5.1 >> >> Werkzeug==0.14.1 >> >> WTForms==2.1 >> >> Exception: >> >> 2018-12-21 11:47:28,995: SQL pgadmin: Execute (with server cursor) for >> server #2 - CONN:8760231 (Query-id: 8649354): >> SELECT NULL::text, 1234::int, 'Foo bar'::text, E'Foo\nBar'::text >> 2018-12-21 11:47:29,001: INFO werkzeug: 127.0.0.1 - - [21/Dec/2018 >> 11:47:29] "GET >> /sqleditor/query_tool/download/2133388?query=SELECT%20NULL%3A%3Atext%2C%201234%3A%3Aint%2C%20%27Foo%20bar%27%3A%3Atext%2C%20E%27Foo%5CnBar%27%3A%3Atext&filename=data-1545392848979.csv >> HTTP/1.1" 500 - >> 2018-12-21 11:47:29,003: ERROR werkzeug: Error on request: >> Traceback (most recent call last): >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py", >> line 270, in run_wsgi >> execute(self.server.app) >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py", >> line 260, in execute >> for data in application_iter: >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/wsgi.py", >> line 870, in __next__ >> return self._next() >> File >> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/wrappers.py", >> line 82, in _iter_encoded >> for item in iterable: >> File >> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py", >> line 848, in gen >> csv_writer.writerows(results) >> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 761, in >> writerows >> return self.writer.writerows(map(self._dict_to_list, rowdicts)) >> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 268, in >> writerows >> self.writerow(row) >> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 261, in >> writerow >> row = [self.strategy.prepare(field, only=only) for field in row] >> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 261, in >> >> row = [self.strategy.prepare(field, only=only) for field in row] >> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 142, in >> prepare >> raise Error('No escapechar is set') >> _csv.Error: No escapechar is set >> >> On Thu, Dec 20, 2018 at 1:05 PM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Hi Dave >>> >>> On Thu, Dec 20, 2018 at 5:12 PM Akshay Joshi < >>> akshay.joshi@enterprisedb.com> wrote: >>> >>>> >>>> >>>> On Thu, Dec 20, 2018 at 4:48 PM Dave Page wrote: >>>> >>>>> Hi >>>>> >>>>> On Thu, Dec 20, 2018 at 10:09 AM Akshay Joshi < >>>>> akshay.joshi@enterprisedb.com> wrote: >>>>> >>>>>> Hi Dave >>>>>> >>>>>> On Thu, Dec 20, 2018 at 3:08 PM Dave Page wrote: >>>>>> >>>>>>> Hi >>>>>>> >>>>>>> When testing with quoting set to None, quote = " and delimiter = , I >>>>>>> get the following exception when I try to download: >>>>>>> >>>>>>> 2018-12-20 09:34:02,547: SQL pgadmin: Execute (with server cursor) >>>>>>> for server #2 - CONN:354106 (Query-id: 4121147): >>>>>>> SELECT NULL::text, 1234::int, 'Foo bar'::text, E'Foo\nBar'::text >>>>>>> 2018-12-20 09:34:02,570: INFO werkzeug: 127.0.0.1 - - [20/Dec/2018 >>>>>>> 09:34:02] "GET >>>>>>> /sqleditor/query_tool/download/5610522?query=SELECT%20NULL%3A%3Atext%2C%201234%3A%3Aint%2C%20%27Foo%20bar%27%3A%3Atext%2C%20E%27Foo%5CnBar%27%3A%3Atext&filename=data-1545298442530.csv >>>>>>> HTTP/1.1" 500 - >>>>>>> 2018-12-20 09:34:02,572: ERROR werkzeug: Error on request: >>>>>>> Traceback (most recent call last): >>>>>>> File >>>>>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py", >>>>>>> line 270, in run_wsgi >>>>>>> execute(self.server.app) >>>>>>> File >>>>>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py", >>>>>>> line 260, in execute >>>>>>> for data in application_iter: >>>>>>> File >>>>>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/wsgi.py", >>>>>>> line 870, in __next__ >>>>>>> return self._next() >>>>>>> File >>>>>>> "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/wrappers.py", >>>>>>> line 82, in _iter_encoded >>>>>>> for item in iterable: >>>>>>> File >>>>>>> "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psycopg2/connection.py", >>>>>>> line 820, in gen >>>>>>> csv_writer.writerows(results) >>>>>>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line >>>>>>> 748, in writerows >>>>>>> return self.writer.writerows(map(self._dict_to_list, rowdicts)) >>>>>>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line >>>>>>> 256, in writerows >>>>>>> self.writerow(row) >>>>>>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line >>>>>>> 249, in writerow >>>>>>> row = [self.strategy.prepare(field, only=only) for field in row] >>>>>>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line >>>>>>> 249, in >>>>>>> row = [self.strategy.prepare(field, only=only) for field in row] >>>>>>> File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line >>>>>>> 136, in prepare >>>>>>> raise Error('No escapechar is set') >>>>>>> _csv.Error: No escapechar is set >>>>>>> >>>>>> >>>>>> Not able to reproduce the above issue. I have tested it with the >>>>>> same setting as you mentioned. Please refer all the attached screenshots. >>>>>> Please specify the steps if they are different. >>>>>> >>>>>>> >>>>>>> When I have quoting set to All, the first column is returned as "" >>>>>>> >>>>>>> dpage@hal:*~/Downloads*$ more data-1545298598112.csv >>>>>>> >>>>>>> "text","int4","text-2","text-3" >>>>>>> >>>>>>> "","1234","Foo bar","Foo >>>>>>> >>>>>>> Bar" >>>>>>> >>>>>>> Isn't the point for it to be NULL? >>>>>>> >>>>>> >>>>>> while quoting is set to ALL, all the data types has been quoted, >>>>>> so I thought null values should be replaced by "" instead of blank. But if >>>>>> you think null values shouldn't be quoted even if user select quote ALL, >>>>>> I'll fix it and resend the patch. >>>>>> >>>>> >>>>> So how would you distinguish NULL from an empty string? Isn't that >>>>> exactly what the bug is about? >>>>> >>>>> I still think we need a "Replace NULLs with" config option, and >>>>> regardless of quoting settings we always replace NULL values with whatever >>>>> that is set to - for which the user could then choose options like: >>>>> >>>>> NULL >>>>> "NULL" >>>>> "" >>>>> '' >>>>> >>>>> >>>>> We would never quote the NULL replacement value - if the user wanted >>>>> it to be quoted, they would include the quotes in the configured string. >>>>> >>>> >>>> >>>> OK, Will work on it and send the modified patch again. >>>> >>> >>> Attached is the modified patch as per your suggestion. >>> >>>> >>>>> >>>>>> >>>>>>> On Tue, Dec 18, 2018 at 11:13 AM Akshay Joshi < >>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Dave >>>>>>>> >>>>>>>> Attached is the modified patch to fix review comments. >>>>>>>> >>>>>>>> On Tue, Dec 18, 2018 at 3:00 PM Akshay Joshi < >>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Dec 18, 2018 at 2:49 PM Dave Page >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hi >>>>>>>>>> >>>>>>>>>> On Tue, Dec 18, 2018 at 3:45 AM Akshay Joshi < >>>>>>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Hackers, >>>>>>>>>>> >>>>>>>>>>> Attached is the patch to fix RM #3780 pgAdmin4 lacks ability to >>>>>>>>>>> specify NULL values in CSV export. >>>>>>>>>>> >>>>>>>>>>> Please review it. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> A few points; >>>>>>>>>> >>>>>>>>>> - You've included code from backports.csv, but per the licence >>>>>>>>>> you need to include a description of the changes made. >>>>>>>>>> >>>>>>>>> >>>>>>>>> Sure. In that case I'll copy the complete file and will do >>>>>>>>> my changes which is of two lines only. With my patch I have remove all the >>>>>>>>> unwanted code from backport.csv. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> - Shouldn't backports.csv be removed from requirements.txt, or is >>>>>>>>>> it used elsewhere? >>>>>>>>>> >>>>>>>>> >>>>>>>>> Yes. Will do that. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> - If the previous point is true, then I'm fairly sure there is >>>>>>>>>> code in one or more of the many package build scripts that adds an >>>>>>>>>> __init__.py file to backports.csv in the venv that's created. >>>>>>>>>> >>>>>>>>> >>>>>>>>> I'll remove that code as well. >>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Dave Page >>>>>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>>>>> Twitter: @pgsnake >>>>>>>>>> >>>>>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>>>>> The Enterprise PostgreSQL Company >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> *Akshay Joshi* >>>>>>>>> >>>>>>>>> *Sr. Software Architect * >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> *Akshay Joshi* >>>>>>>> >>>>>>>> *Sr. Software Architect * >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Dave Page >>>>>>> Blog: http://pgsnake.blogspot.com >>>>>>> Twitter: @pgsnake >>>>>>> >>>>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>>>> The Enterprise PostgreSQL Company >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Akshay Joshi* >>>>>> >>>>>> *Sr. Software Architect * >>>>>> >>>>>> >>>>>> >>>>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>>>>> >>>>> >>>>> >>>>> -- >>>>> Dave Page >>>>> Blog: http://pgsnake.blogspot.com >>>>> Twitter: @pgsnake >>>>> >>>>> EnterpriseDB UK: http://www.enterprisedb.com >>>>> The Enterprise PostgreSQL Company >>>>> >>>> >>>> >>>> -- >>>> *Akshay Joshi* >>>> >>>> *Sr. Software Architect * >>>> >>>> >>>> >>>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>>> >>> >>> >>> -- >>> *Akshay Joshi* >>> >>> *Sr. Software Architect * >>> >>> >>> >>> *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* >>> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > > -- > *Akshay Joshi* > > *Sr. Software Architect * > > > > *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* > -- Dave Page Blog: http://pgsnake.blogspot.com Twitter: @pgsnake EnterpriseDB UK: http://www.enterprisedb.com The Enterprise PostgreSQL Company --0000000000002a0d1a057d874d5f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Sorry! Here is is.

On Fri, Dec 21, 2018 at 12:12 PM Akshay Joshi <akshay.joshi@enterprisedb.com>= wrote:
Hi Dave

Can you please attached= the updated patch with your changes. I'll try to fix the exception.

On Fri, Dec 21= , 2018 at 3:57 AM Dave Page <dpage@pgadmin.org> wrote:
Hi

Here's an updated patch as = I've tweaked some of the wording. The screenshot probably isn't the= right resolution, but as we're replacing them anyway it doesn't se= em overly important. Feel free to fix if you like :-)

<= div>With quoting set to either All or Strings, everything looks good. With = it set to None, I still get an exception (below). The query I'm using i= s this:

SELECT NULL::text, 1234::int, 'Foo bar= '::text, E'Foo\nBar'::text

Field s= eparator: ,
Quote character: "
Replace null's = with: NULL

Steps:

1) Run = pgAdmin in Desktop mode. I'm running from within PyuCharms, using the v= env detailed below.
2) Open the Query Tool on a PostgreSQL 9.6.10= database, running on MacOS 10.14.1
3) Run the above query, wit q= uoting set to All and check the result in the grid.
4) Download t= he CSV file and check.
5) Open Preferences and set quoting to Str= ings.
6) Download the CSV file and check.
7) Open Prefe= rences and set quoting to None.
8) Download the CSV file *excepti= on occurs*.


System info:
=

(pgadmin4) dpage= @<= span class=3D"gmail-m_-6796796050964945676gmail-m_-5991412030039016026gmail= -s3" style=3D"font-variant-ligatures:no-common-ligatures;color:rgb(88,229,6= 4)">hal:~/git/pgadmin4$ python --version

Python 3.6.7

(pgadmin4) dpage= @<= span class=3D"gmail-m_-6796796050964945676gmail-m_-5991412030039016026gmail= -s3" style=3D"font-variant-ligatures:no-common-ligatures;color:rgb(88,229,6= 4)">hal:~/git/pgadmin4$ pip freeze

alabaster=3D=3D0.7.11

alembic=3D=3D1.0.0

asn1crypto=3D=3D0.24.0

Babel=3D=3D2.6.0

bcrypt=3D=3D3.1.4

blinker=3D=3D1.4

certifi=3D=3D2018.8.24

cffi=3D=3D1.11.5

chardet=3D=3D3.0.4

chromedriver-installer=3D=3D0.0= .6

click=3D=3D6.7

cryptography=3D=3D2.3

docutils=3D=3D0.14

extras=3D=3D1.0.0

fixtures=3D=3D3.0.0

Flask=3D=3D0.12.4

Flask-BabelEx=3D=3D0.9.3=

Flask-Gravatar=3D=3D0.5.0

Flask-HTMLmin=3D=3D1.3.2=

Flask-Login=3D=3D0.3.2

Flask-Mail=3D=3D0.9.1

Flask-Migrate=3D=3D2.1.1=

Flask-Paranoid=3D=3D0.2.0

Flask-Principal=3D=3D0.4.0

Flask-Security=3D=3D3.0.0

Flask-SQLAlchemy=3D=3D2.3.2

Flask-WTF=3D=3D0.14.2

html5lib=3D=3D1.0.1

htmlmin=3D=3D0.1.12

idna=3D=3D2.7

imagesize=3D=3D1.1.0

itsdangerous=3D=3D0.24

Jinja2=3D=3D2.10

linecache2=3D=3D1.0.0

Mako=3D=3D1.0.7

MarkupSafe=3D=3D1.0

packaging=3D=3D18.0

paramiko=3D=3D2.4.1

passlib=3D=3D1.7.1

pbr=3D=3D3.1.1

psutil=3D=3D5.4.8

psycopg2=3D=3D2.7.5

pyasn1=3D=3D0.4.4

pycodestyle=3D=3D2.3.1

pycparser=3D=3D2.18

pycrypto=3D=3D2.6.1

Pygments=3D=3D2.2.0

PyNaCl=3D=3D1.2.1

pyparsing=3D=3D2.2.2

pyperclip=3D=3D1.6.4

pyrsistent=3D=3D0.14.2

python-dateutil=3D=3D2.7.3

python-editor=3D=3D1.0.3=

python-mimeparse=3D=3D1.6.0

pytz=3D=3D2018.3

requests=3D=3D2.19.1

selenium=3D=3D3.14.1

simplejson=3D=3D3.13.2

six=3D=3D1.11.0

snowballstemmer=3D=3D1.2.1

speaklater=3D=3D1.3

Sphinx=3D=3D1.8.2

sphinxcontrib-websupport=3D=3D1= .1.0

SQLAlchemy=3D=3D1.2.10

sqlparse=3D=3D0.2.4

sshtunnel=3D=3D0.1.4

testscenarios=3D=3D0.5.0=

testtools=3D=3D2.3.0

traceback2=3D=3D1.4.0

unittest2=3D=3D1.1.0

urllib3=3D=3D1.23

webencodings=3D=3D0.5.1<= /p>

Werkzeug=3D=3D0.14.1

WTForms=3D=3D2.1


Exception:

= 2018-12-21 11:47:28,995: SQL pg= admin: Execute (with server cur= sor) for server #2 - CONN:8760231 (Query-id: 8649354):
SELECT NUL= L::text, 1234::int, 'Foo bar'::text, E'Foo\nBar'::text
2018-12-21 11:47:29,001: INFO werkzeug: 127.0.0.1 - - [2= 1/Dec/2018 11:47:29] "GET /sqleditor/query_tool/download/2133388?query= =3DSELECT%20NULL%3A%3Atext%2C%201234%3A%3Aint%2C%20%27Foo%20bar%27%3A%3Atex= t%2C%20E%27Foo%5CnBar%27%3A%3Atext&filename=3Ddata-1545392848979.csv HT= TP/1.1" 500 -
2018-12-21 11:47:29,003: ERROR werkzeug:= Error on request:
Traceback (most recent call last):
=C2=A0 File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/si= te-packages/werkzeug/serving.py", line 270, in run_wsgi
=C2= =A0 =C2=A0 execute(self.server.app)
=C2=A0 File "/Users/dpag= e/.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py&quo= t;, line 260, in execute
=C2=A0 =C2=A0 for data in application_it= er:
=C2=A0 File "/Users/dpage/.virtualenvs/pgadmin4/lib/pyth= on3.6/site-packages/werkzeug/wsgi.py", line 870, in __next__
=C2=A0 =C2=A0 return self._next()
=C2=A0 File "/Users/dpage= /.virtualenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/wrappers.py&quo= t;, line 82, in _iter_encoded
=C2=A0 =C2=A0 for item in iterable:=
=C2=A0 File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/dr= iver/psycopg2/connection.py", line 848, in gen
=C2=A0 =C2=A0= csv_writer.writerows(results)
=C2=A0 File "/Users/dpage/git= /pgadmin4/web/pgadmin/utils/csv.py", line 761, in writerows
= =C2=A0 =C2=A0 return self.writer.writerows(map(self._dict_to_list, rowdicts= ))
=C2=A0 File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/= csv.py", line 268, in writerows
=C2=A0 =C2=A0 self.writerow(= row)
=C2=A0 File "/Users/dpage/git/pgadmin4/web/pgadmin/util= s/csv.py", line 261, in writerow
=C2=A0 =C2=A0 row =3D [self= .strategy.prepare(field, only=3Donly) for field in row]
=C2=A0 Fi= le "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 261= , in <listcomp>
=C2=A0 =C2=A0 row =3D [self.strategy.prepar= e(field, only=3Donly) for field in row]
=C2=A0 File "/Users/= dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 142, in prepare
=C2=A0 =C2=A0 raise Error('No escapechar is set')
= _csv.Error: No escapechar is set

=
On Thu, Dec 20, 2018 at 1:05 PM Akshay Joshi <akshay.joshi@en= terprisedb.com> wrote:
Hi=C2=A0Dave

On Thu, Dec 20, 2018 at 5:12 PM Aksh= ay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Thu, Dec 20, 2018 at = 4:48 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

On Thu, Dec 20, 2018 at 10:09 AM Akshay Joshi <akshay.joshi@enter= prisedb.com> wrote:
Hi Dave

On Thu, Dec 20, 2018 at 3:08 PM Dave Page &l= t;dpage@pgadmin.org<= /a>> wrote:
<= div dir=3D"ltr">
Hi

When testing with qu= oting set to None, quote =3D " and delimiter =3D , I get the following= exception when I try to download:

2018-12-20= 09:34:02,547: SQL pgadmin: Execute (with server cursor) for s= erver #2 - CONN:354106 (Query-id: 4121147):
SELECT NULL::text, 12= 34::int, 'Foo bar'::text, E'Foo\nBar'::text
2018-= 12-20 09:34:02,570: INFO werkze= ug: 127.0.0.1 - - [20/Dec/2018 = 09:34:02] "GET /sqleditor/query_tool/download/5610522?query=3DSELECT%2= 0NULL%3A%3Atext%2C%201234%3A%3Aint%2C%20%27Foo%20bar%27%3A%3Atext%2C%20E%27= Foo%5CnBar%27%3A%3Atext&filename=3Ddata-1545298442530.csv HTTP/1.1"= ; 500 -
2018-12-20 09:34:02,572: ERROR werkzeug: Err= or on request:
Traceback (most recent call last):
=C2= =A0 File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site-packag= es/werkzeug/serving.py", line 270, in run_wsgi
=C2=A0 =C2=A0= execute(self.server.app)
=C2=A0 File "/Users/dpage/.virtual= envs/pgadmin4/lib/python3.6/site-packages/werkzeug/serving.py", line 2= 60, in execute
=C2=A0 =C2=A0 for data in application_iter:
<= div>=C2=A0 File "/Users/dpage/.virtualenvs/pgadmin4/lib/python3.6/site= -packages/werkzeug/wsgi.py", line 870, in __next__
=C2=A0 = =C2=A0 return self._next()
=C2=A0 File "/Users/dpage/.virtua= lenvs/pgadmin4/lib/python3.6/site-packages/werkzeug/wrappers.py", line= 82, in _iter_encoded
=C2=A0 =C2=A0 for item in iterable:
=C2=A0 File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/driver/psy= copg2/connection.py", line 820, in gen
=C2=A0 =C2=A0 csv_wri= ter.writerows(results)
=C2=A0 File "/Users/dpage/git/pgadmin= 4/web/pgadmin/utils/csv.py", line 748, in writerows
=C2=A0 = =C2=A0 return self.writer.writerows(map(self._dict_to_list, rowdicts))
=C2=A0 File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py&= quot;, line 256, in writerows
=C2=A0 =C2=A0 self.writerow(row)
=C2=A0 File "/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.p= y", line 249, in writerow
=C2=A0 =C2=A0 row =3D [self.strate= gy.prepare(field, only=3Donly) for field in row]
=C2=A0 File &quo= t;/Users/dpage/git/pgadmin4/web/pgadmin/utils/csv.py", line 249, in &l= t;listcomp>
=C2=A0 =C2=A0 row =3D [self.strategy.prepare(field= , only=3Donly) for field in row]
=C2=A0 File "/Users/dpage/g= it/pgadmin4/web/pgadmin/utils/csv.py", line 136, in prepare
= =C2=A0 =C2=A0 raise Error('No escapechar is set')
_csv.Er= ror: No escapechar is set





Hi=C2=A0Dave
Attached is the modified patch to fix review comments.

On Tue, Dec 18, 2018= at 3:00 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
=


On Tue, = Dec 18, 2018 at 2:49 PM Dave Page <dpage@pgadmin.org> wrote:
Hi

On Tue, Dec 18, 2018 at 3:45 AM Akshay Joshi= <aks= hay.joshi@enterprisedb.com> wrote:
Hi Hackers,
Attached is the patch to fix RM #3780=C2=A0pgAdmin4 lacks a= bility to specify NULL values in CSV export.<= /div>

Please review it.

A few points;

- You've inclu= ded code from backports.csv, but per the licence you need to include a desc= ription of the changes made.

<= div>=C2=A0 =C2=A0 =C2=A0 Sure. In that case I'll copy the complete file= and will do my changes which is of two lines only. With my patch I have re= move all the unwanted code from backport.csv.=C2=A0 =C2=A0 =C2=A0=C2=A0

- Shouldn't backports.csv be r= emoved from requirements.txt, or is it used elsewhere?

=C2=A0 =C2=A0 =C2=A0Yes. Will do that.=C2=A0<= /div>

- If the previous point is true= , then I'm fairly sure there is code in one or more of the many package= build scripts that adds an __init__.py file to backports.csv in the venv t= hat's created.

=C2=A0= =C2=A0 I'll remove that code as well.=C2=A0=C2=A0
=C2=A0
--
Dave Page
Blog: http://pgsnake.blogsp= ot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
T= he Enterprise PostgreSQL Company


--
Aks= hay Joshi
Sr. Software Architect

<= /div>
<= span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;= border-collapse:collapse">
Phone: +91 20-3058-9517
Mobile: +9= 1 976-788-8246


--
Akshay Joshi=
Sr. Softwa= re Architect

<= br>
Phone: +91 20-3058-9517
Mobile: +91 976-788-8246


--
Dave = Page
Blog: htt= p://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: <= a href=3D"http://www.enterprisedb.com" target=3D"_blank">http://www.enterpr= isedb.com
The Enterprise PostgreSQL Company


--
Akshay Jos= hi
Sr. Software Architect


Phone: +91 20-3058-9517
Mobile: +91 976-7= 88-8246


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake
<= br>EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
=


--
Akshay Joshi
Sr. Software Architect


Phone: +91 20-3058-9517=
Mobile: +91 976-788-8246


--
=
Akshay Joshi
Sr. Software Architect


Phone: +91 20-3058-9517
Mobile: +91 976-788-824= 6


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

Ent= erpriseDB UK: htt= p://www.enterprisedb.com
The Enterprise PostgreSQL Company
=

--
Akshay = Joshi
Sr. Software Architect


Phone: +91 20-3058-9517
Mobile: +91 97= 6-788-8246


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @p= gsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL = Company
--0000000000002a0d1a057d874d5f-- --0000000000002a0d1e057d874d61 Content-Type: application/octet-stream; name="RM_3780_v4.patch" Content-Disposition: attachment; filename="RM_3780_v4.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jpy08ugr0 SW5kZXg6IHBrZy9waXAvc2V0dXBfcGlwLnB5CklERUEgYWRkaXRpb25hbCBpbmZvOgpTdWJzeXN0 ZW06IGNvbS5pbnRlbGxpai5vcGVuYXBpLmRpZmYuaW1wbC5wYXRjaC5DaGFyc2V0RVAKPCs+VVRG LTgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gcGtnL3BpcC9zZXR1cF9waXAucHkJKHJldmlzaW9uIGEwMDBkYzZm NjBjYzRiY2Y1MjdlY2FiMjY0Y2E5MjYxZTVjODE3MmYpCisrKyBwa2cvcGlwL3NldHVwX3BpcC5w eQkoZGF0ZSAxNTQ1MzkyMjIyMDAwKQpAQCAtOTYsNyArOTYsNiBAQAogICAgICAgICAgICAgIkZs YXNrLUJhYmVsRXg9PTAuOS4zIgogICAgICAgICBdLAogICAgICAgICAiOnB5dGhvbl92ZXJzaW9u PD0nMi43JyI6IFsKLSAgICAgICAgICAgICJiYWNrcG9ydHMuY3N2PT0xLjAuNSIsCiAgICAgICAg ICAgICAiaW1wb3J0bGliPT0xLjAuMyIKICAgICAgICAgXSwKICAgICAgICAgIjpweXRob25fdmVy c2lvbj49JzIuNyciOiBbCkluZGV4OiB3ZWIvcGdhZG1pbi91dGlscy9jc3YucHkKSURFQSBhZGRp dGlvbmFsIGluZm86ClN1YnN5c3RlbTogY29tLmludGVsbGlqLm9wZW5hcGkuZGlmZi5pbXBsLnBh dGNoLkNoYXJzZXRFUAo8Kz5VVEYtOAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3ZWIvcGdhZG1pbi91dGlscy9j c3YucHkJKGRhdGUgMTU0NTM5MjIyMjAwMCkKKysrIHdlYi9wZ2FkbWluL3V0aWxzL2Nzdi5weQko ZGF0ZSAxNTQ1MzkyMjIyMDAwKQpAQCAtMCwwICsxLDc2MSBAQAorIiIiCitQWVRIT04gU09GVFdB UkUgRk9VTkRBVElPTiBMSUNFTlNFIFZFUlNJT04gMgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KKworMS4gVGhpcyBMSUNFTlNFIEFHUkVFTUVOVCBpcyBiZXR3 ZWVuIHRoZSBQeXRob24gU29mdHdhcmUgRm91bmRhdGlvbgorKCJQU0YiKSwgYW5kIHRoZSBJbmRp dmlkdWFsIG9yIE9yZ2FuaXphdGlvbiAoIkxpY2Vuc2VlIikgYWNjZXNzaW5nIGFuZAorb3RoZXJ3 aXNlIHVzaW5nIHRoaXMgc29mdHdhcmUgKCJQeXRob24iKSBpbiBzb3VyY2Ugb3IgYmluYXJ5IGZv cm0gYW5kCitpdHMgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uLgorCisyLiBTdWJqZWN0IHRvIHRo ZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UgQWdyZWVtZW50LCBQU0YgaGVy ZWJ5CitncmFudHMgTGljZW5zZWUgYSBub25leGNsdXNpdmUsIHJveWFsdHktZnJlZSwgd29ybGQt d2lkZSBsaWNlbnNlIHRvIHJlcHJvZHVjZSwKK2FuYWx5emUsIHRlc3QsIHBlcmZvcm0gYW5kL29y IGRpc3BsYXkgcHVibGljbHksIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcywKK2Rpc3RyaWJ1dGUs IGFuZCBvdGhlcndpc2UgdXNlIFB5dGhvbiBhbG9uZSBvciBpbiBhbnkgZGVyaXZhdGl2ZSB2ZXJz aW9uLAorcHJvdmlkZWQsIGhvd2V2ZXIsIHRoYXQgUFNGJ3MgTGljZW5zZSBBZ3JlZW1lbnQgYW5k IFBTRidzIG5vdGljZSBvZiBjb3B5cmlnaHQsCitpLmUuLCAiQ29weXJpZ2h0IChjKSAyMDAxLCAy MDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LDIwMTAKKzIwMTEs IDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYsIDIwMTcgUHl0aG9uIFNvZnR3YXJlIEZvdW5k YXRpb247IEFsbCBSaWdodHMKK1Jlc2VydmVkIiBhcmUgcmV0YWluZWQgaW4gUHl0aG9uIGFsb25l IG9yIGluIGFueSBkZXJpdmF0aXZlIHZlcnNpb24gcHJlcGFyZWQgYnkKK0xpY2Vuc2VlLgorCisz LiBJbiB0aGUgZXZlbnQgTGljZW5zZWUgcHJlcGFyZXMgYSBkZXJpdmF0aXZlIHdvcmsgdGhhdCBp cyBiYXNlZCBvbgorb3IgaW5jb3Jwb3JhdGVzIFB5dGhvbiBvciBhbnkgcGFydCB0aGVyZW9mLCBh bmQgd2FudHMgdG8gbWFrZQordGhlIGRlcml2YXRpdmUgd29yayBhdmFpbGFibGUgdG8gb3RoZXJz IGFzIHByb3ZpZGVkIGhlcmVpbiwgdGhlbgorTGljZW5zZWUgaGVyZWJ5IGFncmVlcyB0byBpbmNs dWRlIGluIGFueSBzdWNoIHdvcmsgYSBicmllZiBzdW1tYXJ5IG9mCit0aGUgY2hhbmdlcyBtYWRl IHRvIFB5dGhvbi4KKworNC4gUFNGIGlzIG1ha2luZyBQeXRob24gYXZhaWxhYmxlIHRvIExpY2Vu c2VlIG9uIGFuICJBUyBJUyIKK2Jhc2lzLiAgUFNGIE1BS0VTIE5PIFJFUFJFU0VOVEFUSU9OUyBP UiBXQVJSQU5USUVTLCBFWFBSRVNTIE9SCitJTVBMSUVELiAgQlkgV0FZIE9GIEVYQU1QTEUsIEJV VCBOT1QgTElNSVRBVElPTiwgUFNGIE1BS0VTIE5PIEFORAorRElTQ0xBSU1TIEFOWSBSRVBSRVNF TlRBVElPTiBPUiBXQVJSQU5UWSBPRiBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUworRk9SIEFO WSBQQVJUSUNVTEFSIFBVUlBPU0UgT1IgVEhBVCBUSEUgVVNFIE9GIFBZVEhPTiBXSUxMIE5PVAor SU5GUklOR0UgQU5ZIFRISVJEIFBBUlRZIFJJR0hUUy4KKworNS4gUFNGIFNIQUxMIE5PVCBCRSBM SUFCTEUgVE8gTElDRU5TRUUgT1IgQU5ZIE9USEVSIFVTRVJTIE9GIFBZVEhPTgorRk9SIEFOWSBJ TkNJREVOVEFMLCBTUEVDSUFMLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgTE9TUyBBUwor QSBSRVNVTFQgT0YgTU9ESUZZSU5HLCBESVNUUklCVVRJTkcsIE9SIE9USEVSV0lTRSBVU0lORyBQ WVRIT04sCitPUiBBTlkgREVSSVZBVElWRSBUSEVSRU9GLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF IFBPU1NJQklMSVRZIFRIRVJFT0YuCisKKzYuIFRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgd2lsbCBh dXRvbWF0aWNhbGx5IHRlcm1pbmF0ZSB1cG9uIGEgbWF0ZXJpYWwKK2JyZWFjaCBvZiBpdHMgdGVy bXMgYW5kIGNvbmRpdGlvbnMuCisKKzcuIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIEFncmVlbWVu dCBzaGFsbCBiZSBkZWVtZWQgdG8gY3JlYXRlIGFueQorcmVsYXRpb25zaGlwIG9mIGFnZW5jeSwg cGFydG5lcnNoaXAsIG9yIGpvaW50IHZlbnR1cmUgYmV0d2VlbiBQU0YgYW5kCitMaWNlbnNlZS4g IFRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2Ug UFNGCit0cmFkZW1hcmtzIG9yIHRyYWRlIG5hbWUgaW4gYSB0cmFkZW1hcmsgc2Vuc2UgdG8gZW5k b3JzZSBvciBwcm9tb3RlCitwcm9kdWN0cyBvciBzZXJ2aWNlcyBvZiBMaWNlbnNlZSwgb3IgYW55 IHRoaXJkIHBhcnR5LgorCis4LiBCeSBjb3B5aW5nLCBpbnN0YWxsaW5nIG9yIG90aGVyd2lzZSB1 c2luZyBQeXRob24sIExpY2Vuc2VlCithZ3JlZXMgdG8gYmUgYm91bmQgYnkgdGhlIHRlcm1zIGFu ZCBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZQorQWdyZWVtZW50LgorIiIiCisKKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKyMgQ2hhbmdlczoKKyMgQWRkZWQgbmV3IHBhcmFtZXRlciBpbiBkaWFsZWN0 ICdyZXBsYWNlX251bGxzX3dpdGgnIHRvIGNvbXBhcmUgaXQgYWdhaW5zdAorIyB0aGUgdmFsdWUg dG8gYmUgcXVvdGVkIG9yIG5vdC4KKyMgSGFuZGxlIHRoZSBudWxsIHZhbHVlIGlmIHZhbHVlIGlz IE5vbmUgb3IgZXF1YWwgdG8KKyMgJ3JlcGxhY2VfbnVsbHNfd2l0aCcgdGhlbiBpdCByZXByZXNl bnRzIHRoZSBudWxsIHZhbHVlLCBzbyBubyBuZWVkIHRvCisjIHF1b3RlIGl0LgorIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHVuaWNvZGVfbGl0ZXJhbHMsIGFi c29sdXRlX2ltcG9ydAorCitfX2FsbF9fID0gWyJRVU9URV9NSU5JTUFMIiwgIlFVT1RFX0FMTCIs ICJRVU9URV9OT05OVU1FUklDIiwgIlFVT1RFX05PTkUiLAorICAgICAgICAgICAiRXJyb3IiLCAi RGlhbGVjdCIsICJfX2RvY19fIiwgImV4Y2VsIiwgImV4Y2VsX3RhYiIsCisgICAgICAgICAgICJm aWVsZF9zaXplX2xpbWl0IiwgInJlYWRlciIsICJ3cml0ZXIiLCAicmVnaXN0ZXJfZGlhbGVjdCIs CisgICAgICAgICAgICJnZXRfZGlhbGVjdCIsICJsaXN0X2RpYWxlY3RzIiwgInVucmVnaXN0ZXJf ZGlhbGVjdCIsCisgICAgICAgICAgICJfX3ZlcnNpb25fXyIsICJEaWN0UmVhZGVyIiwgIkRpY3RX cml0ZXIiXQorCitpbXBvcnQgcmUKK2ltcG9ydCBudW1iZXJzCitmcm9tIGlvIGltcG9ydCBTdHJp bmdJTworZnJvbSBjc3YgaW1wb3J0ICgKKyAgICBRVU9URV9NSU5JTUFMLCBRVU9URV9BTEwsIFFV T1RFX05PTk5VTUVSSUMsIFFVT1RFX05PTkUsCisgICAgX192ZXJzaW9uX18sIF9fZG9jX18sIEVy cm9yLCBmaWVsZF9zaXplX2xpbWl0LAorKQorCisjIFN0dWZmIG5lZWRlZCBmcm9tIHNpeAoraW1w b3J0IHN5cworUFkzID0gc3lzLnZlcnNpb25faW5mb1swXSA9PSAzCitpZiBQWTM6CisgICAgc3Ry aW5nX3R5cGVzID0gc3RyCisgICAgdGV4dF90eXBlID0gc3RyCisgICAgYmluYXJ5X3R5cGUgPSBi eXRlcworICAgIHVuaWNociA9IGNocgorZWxzZToKKyAgICBzdHJpbmdfdHlwZXMgPSBiYXNlc3Ry aW5nCisgICAgdGV4dF90eXBlID0gdW5pY29kZQorICAgIGJpbmFyeV90eXBlID0gc3RyCisKKwor Y2xhc3MgUXVvdGVTdHJhdGVneShvYmplY3QpOgorICAgIHF1b3RpbmcgPSBOb25lCisKKyAgICBk ZWYgX19pbml0X18oc2VsZiwgZGlhbGVjdCk6CisgICAgICAgIGlmIHNlbGYucXVvdGluZyBpcyBu b3QgTm9uZToKKyAgICAgICAgICAgIGFzc2VydCBkaWFsZWN0LnF1b3RpbmcgPT0gc2VsZi5xdW90 aW5nCisgICAgICAgIHNlbGYuZGlhbGVjdCA9IGRpYWxlY3QKKyAgICAgICAgc2VsZi5zZXR1cCgp CisKKyAgICAgICAgZXNjYXBlX3BhdHRlcm5fcXVvdGVkID0gcicoe3F1b3RlY2hhcn0pJy5mb3Jt YXQoCisgICAgICAgICAgICBxdW90ZWNoYXI9cmUuZXNjYXBlKHNlbGYuZGlhbGVjdC5xdW90ZWNo YXIgb3IgJyInKSkKKyAgICAgICAgZXNjYXBlX3BhdHRlcm5fdW5xdW90ZWQgPSByJyhbe3NwZWNp YWxjaGFyc31dKScuZm9ybWF0KAorICAgICAgICAgICAgc3BlY2lhbGNoYXJzPXJlLmVzY2FwZShz ZWxmLnNwZWNpYWxjaGFycykpCisKKyAgICAgICAgc2VsZi5lc2NhcGVfcmVfcXVvdGVkID0gcmUu Y29tcGlsZShlc2NhcGVfcGF0dGVybl9xdW90ZWQpCisgICAgICAgIHNlbGYuZXNjYXBlX3JlX3Vu cXVvdGVkID0gcmUuY29tcGlsZShlc2NhcGVfcGF0dGVybl91bnF1b3RlZCkKKworICAgIGRlZiBz ZXR1cChzZWxmKToKKyAgICAgICAgIiIiT3B0aW9uYWwgbWV0aG9kIGZvciBzdHJhdGVneS13aWRl IG9wdGltaXphdGlvbnMuIiIiCisKKyAgICBkZWYgcXVvdGVkKHNlbGYsIGZpZWxkPU5vbmUsIHJh d19maWVsZD1Ob25lLCBvbmx5PU5vbmUpOgorICAgICAgICAiIiJEZXRlcm1pbmUgd2hldGhlciB0 aGlzIGZpZWxkIHNob3VsZCBiZSBxdW90ZWQuIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVu dGVkRXJyb3IoCisgICAgICAgICAgICAncXVvdGVkIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgYSBz dWJjbGFzcycpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc3BlY2lhbGNoYXJzKHNlbGYpOgor ICAgICAgICAiIiJUaGUgc3BlY2lhbCBjaGFyYWN0ZXJzIHRoYXQgbmVlZCB0byBiZSBlc2NhcGVk LiIiIgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yKAorICAgICAgICAgICAgJ3Nw ZWNpYWxjaGFycyBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IGEgc3ViY2xhc3MnKQorCisgICAgZGVm IGVzY2FwZV9yZShzZWxmLCBxdW90ZWQ9Tm9uZSk6CisgICAgICAgIGlmIHF1b3RlZDoKKyAgICAg ICAgICAgIHJldHVybiBzZWxmLmVzY2FwZV9yZV9xdW90ZWQKKyAgICAgICAgcmV0dXJuIHNlbGYu ZXNjYXBlX3JlX3VucXVvdGVkCisKKyAgICBkZWYgZXNjYXBlY2hhcihzZWxmLCBxdW90ZWQ9Tm9u ZSk6CisgICAgICAgIGlmIHF1b3RlZCBhbmQgc2VsZi5kaWFsZWN0LmRvdWJsZXF1b3RlOgorICAg ICAgICAgICAgcmV0dXJuIHNlbGYuZGlhbGVjdC5xdW90ZWNoYXIKKyAgICAgICAgcmV0dXJuIHNl bGYuZGlhbGVjdC5lc2NhcGVjaGFyCisKKyAgICBkZWYgcHJlcGFyZShzZWxmLCByYXdfZmllbGQs IG9ubHk9Tm9uZSk6CisgICAgICAgIGZpZWxkID0gdGV4dF90eXBlKHJhd19maWVsZCBpZiByYXdf ZmllbGQgaXMgbm90IE5vbmUgZWxzZSAnJykKKyAgICAgICAgcXVvdGVkID0gc2VsZi5xdW90ZWQo ZmllbGQ9ZmllbGQsIHJhd19maWVsZD1yYXdfZmllbGQsIG9ubHk9b25seSkKKworICAgICAgICBl c2NhcGVfcmUgPSBzZWxmLmVzY2FwZV9yZShxdW90ZWQ9cXVvdGVkKQorICAgICAgICBlc2NhcGVj aGFyID0gc2VsZi5lc2NhcGVjaGFyKHF1b3RlZD1xdW90ZWQpCisKKyAgICAgICAgaWYgZXNjYXBl X3JlLnNlYXJjaChmaWVsZCk6CisgICAgICAgICAgICBlc2NhcGVjaGFyID0gJ1xcXFwnIGlmIGVz Y2FwZWNoYXIgPT0gJ1xcJyBlbHNlIGVzY2FwZWNoYXIKKyAgICAgICAgICAgIGlmIG5vdCBlc2Nh cGVjaGFyOgorICAgICAgICAgICAgICAgIHJhaXNlIEVycm9yKCdObyBlc2NhcGVjaGFyIGlzIHNl dCcpCisgICAgICAgICAgICBlc2NhcGVfcmVwbGFjZSA9IHIne2VzY2FwZWNoYXJ9XDEnLmZvcm1h dChlc2NhcGVjaGFyPWVzY2FwZWNoYXIpCisgICAgICAgICAgICBmaWVsZCA9IGVzY2FwZV9yZS5z dWIoZXNjYXBlX3JlcGxhY2UsIGZpZWxkKQorCisgICAgICAgIGlmIHF1b3RlZDoKKyAgICAgICAg ICAgIGZpZWxkID0gJ3txdW90ZWNoYXJ9e2ZpZWxkfXtxdW90ZWNoYXJ9Jy5mb3JtYXQoCisgICAg ICAgICAgICAgICAgcXVvdGVjaGFyPXNlbGYuZGlhbGVjdC5xdW90ZWNoYXIsIGZpZWxkPWZpZWxk KQorCisgICAgICAgIHJldHVybiBmaWVsZAorCisKK2NsYXNzIFF1b3RlTWluaW1hbFN0cmF0ZWd5 KFF1b3RlU3RyYXRlZ3kpOgorICAgIHF1b3RpbmcgPSBRVU9URV9NSU5JTUFMCisKKyAgICBkZWYg c2V0dXAoc2VsZik6CisgICAgICAgIHNlbGYucXVvdGVkX3JlID0gcmUuY29tcGlsZShyJ1t7c3Bl Y2lhbGNoYXJzfV0nLmZvcm1hdCgKKyAgICAgICAgICAgIHNwZWNpYWxjaGFycz1yZS5lc2NhcGUo c2VsZi5zcGVjaWFsY2hhcnMpKSkKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBzcGVjaWFsY2hh cnMoc2VsZik6CisgICAgICAgIHJldHVybiAoCisgICAgICAgICAgICBzZWxmLmRpYWxlY3QubGlu ZXRlcm1pbmF0b3IgKworICAgICAgICAgICAgc2VsZi5kaWFsZWN0LnF1b3RlY2hhciArCisgICAg ICAgICAgICBzZWxmLmRpYWxlY3QuZGVsaW1pdGVyICsKKyAgICAgICAgICAgIChzZWxmLmRpYWxl Y3QuZXNjYXBlY2hhciBvciAnJykKKyAgICAgICAgKQorCisgICAgZGVmIHF1b3RlZChzZWxmLCBm aWVsZCwgb25seSwgKiprd2FyZ3MpOgorICAgICAgICBpZiBmaWVsZCA9PSBzZWxmLmRpYWxlY3Qu cXVvdGVjaGFyIGFuZCBub3Qgc2VsZi5kaWFsZWN0LmRvdWJsZXF1b3RlOgorICAgICAgICAgICAg IyBJZiB0aGUgb25seSBjaGFyYWN0ZXIgaW4gdGhlIGZpZWxkIGlzIHRoZSBxdW90ZWNoYXIsIGFu ZAorICAgICAgICAgICAgIyBkb3VibGVxdW90ZSBpcyBmYWxzZSwgdGhlbiBqdXN0IGVzY2FwZSB3 aXRob3V0IG91dGVyIHF1b3Rlcy4KKyAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBy ZXR1cm4gZmllbGQgPT0gJycgYW5kIG9ubHkgb3IgYm9vbChzZWxmLnF1b3RlZF9yZS5zZWFyY2go ZmllbGQpKQorCisKK2NsYXNzIFF1b3RlQWxsU3RyYXRlZ3koUXVvdGVTdHJhdGVneSk6CisgICAg cXVvdGluZyA9IFFVT1RFX0FMTAorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHNwZWNpYWxjaGFy cyhzZWxmKToKKyAgICAgICAgcmV0dXJuIHNlbGYuZGlhbGVjdC5xdW90ZWNoYXIKKworICAgIGRl ZiBxdW90ZWQoc2VsZiwgcmF3X2ZpZWxkLCAqKmt3YXJncyk6CisgICAgICAgICMgSGFuZGxlIHRo ZSBudWxsIHZhbHVlIGlmIHJhd19maWVsZCBpcyBOb25lIG9yIGVxdWFsIHRvCisgICAgICAgICMg cmVwbGFjZV9udWxsc193aXRoIHRoZW4gaXQgcmVwcmVzZW50cyB0aGUgbnVsbCB2YWx1ZSwgc28g bm8gbmVlZCB0bworICAgICAgICAjIHF1b3RlIGl0LgorICAgICAgICBpZiByYXdfZmllbGQgaXMg Tm9uZSBvciByYXdfZmllbGQgPT0gc2VsZi5kaWFsZWN0LnJlcGxhY2VfbnVsbHNfd2l0aDoKKyAg ICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQorCisKK2NsYXNzIFF1 b3RlTm9ubnVtZXJpY1N0cmF0ZWd5KFF1b3RlU3RyYXRlZ3kpOgorICAgIHF1b3RpbmcgPSBRVU9U RV9OT05OVU1FUklDCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc3BlY2lhbGNoYXJzKHNlbGYp OgorICAgICAgICByZXR1cm4gKAorICAgICAgICAgICAgc2VsZi5kaWFsZWN0LmxpbmV0ZXJtaW5h dG9yICsKKyAgICAgICAgICAgIHNlbGYuZGlhbGVjdC5xdW90ZWNoYXIgKworICAgICAgICAgICAg c2VsZi5kaWFsZWN0LmRlbGltaXRlciArCisgICAgICAgICAgICAoc2VsZi5kaWFsZWN0LmVzY2Fw ZWNoYXIgb3IgJycpCisgICAgICAgICkKKworICAgIGRlZiBxdW90ZWQoc2VsZiwgcmF3X2ZpZWxk LCAqKmt3YXJncyk6CisgICAgICAgICMgSGFuZGxlIHRoZSBudWxsIHZhbHVlIGlmIHJhd19maWVs ZCBpcyBOb25lIG9yIGVxdWFsIHRvCisgICAgICAgICMgcmVwbGFjZV9udWxsc193aXRoIHRoZW4g aXQgcmVwcmVzZW50cyB0aGUgbnVsbCB2YWx1ZSwgc28gbm8gbmVlZCB0bworICAgICAgICAjIHF1 b3RlIGl0LgorICAgICAgICBpZiByYXdfZmllbGQgaXMgTm9uZSBvciByYXdfZmllbGQgPT0gc2Vs Zi5kaWFsZWN0LnJlcGxhY2VfbnVsbHNfd2l0aDoKKyAgICAgICAgICAgIHJldHVybiBGYWxzZQor ICAgICAgICByZXR1cm4gbm90IGlzaW5zdGFuY2UocmF3X2ZpZWxkLCBudW1iZXJzLk51bWJlcikK KworCitjbGFzcyBRdW90ZU5vbmVTdHJhdGVneShRdW90ZVN0cmF0ZWd5KToKKyAgICBxdW90aW5n ID0gUVVPVEVfTk9ORQorCisgICAgQHByb3BlcnR5CisgICAgZGVmIHNwZWNpYWxjaGFycyhzZWxm KToKKyAgICAgICAgcmV0dXJuICgKKyAgICAgICAgICAgIHNlbGYuZGlhbGVjdC5saW5ldGVybWlu YXRvciArCisgICAgICAgICAgICAoc2VsZi5kaWFsZWN0LnF1b3RlY2hhciBvciAnJykgKworICAg ICAgICAgICAgc2VsZi5kaWFsZWN0LmRlbGltaXRlciArCisgICAgICAgICAgICAoc2VsZi5kaWFs ZWN0LmVzY2FwZWNoYXIgb3IgJycpCisgICAgICAgICkKKworICAgIGRlZiBxdW90ZWQoc2VsZiwg ZmllbGQsIG9ubHksICoqa3dhcmdzKToKKyAgICAgICAgaWYgZmllbGQgPT0gJycgYW5kIG9ubHk6 CisgICAgICAgICAgICByYWlzZSBFcnJvcignc2luZ2xlIGVtcHR5IGZpZWxkIHJlY29yZCBtdXN0 IGJlIHF1b3RlZCcpCisgICAgICAgIHJldHVybiBGYWxzZQorCisKK2NsYXNzIHdyaXRlcihvYmpl Y3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBmaWxlb2JqLCBkaWFsZWN0PSdleGNlbCcsICoq Zm10cGFyYW1zKToKKyAgICAgICAgaWYgZmlsZW9iaiBpcyBOb25lOgorICAgICAgICAgICAgcmFp c2UgVHlwZUVycm9yKCdmaWxlb2JqIG11c3QgYmUgZmlsZS1saWtlLCBub3QgTm9uZScpCisKKyAg ICAgICAgc2VsZi5maWxlb2JqID0gZmlsZW9iagorCisgICAgICAgIGlmIGlzaW5zdGFuY2UoZGlh bGVjdCwgdGV4dF90eXBlKToKKyAgICAgICAgICAgIGRpYWxlY3QgPSBnZXRfZGlhbGVjdChkaWFs ZWN0KQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuZGlhbGVjdCA9IERpYWxlY3Qu Y29tYmluZShkaWFsZWN0LCBmbXRwYXJhbXMpCisgICAgICAgIGV4Y2VwdCBFcnJvciBhcyBlOgor ICAgICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCplLmFyZ3MpCisKKyAgICAgICAgc3RyYXRlZ2ll cyA9IHsKKyAgICAgICAgICAgIFFVT1RFX01JTklNQUw6IFF1b3RlTWluaW1hbFN0cmF0ZWd5LAor ICAgICAgICAgICAgUVVPVEVfQUxMOiBRdW90ZUFsbFN0cmF0ZWd5LAorICAgICAgICAgICAgUVVP VEVfTk9OTlVNRVJJQzogUXVvdGVOb25udW1lcmljU3RyYXRlZ3ksCisgICAgICAgICAgICBRVU9U RV9OT05FOiBRdW90ZU5vbmVTdHJhdGVneSwKKyAgICAgICAgfQorICAgICAgICBzZWxmLnN0cmF0 ZWd5ID0gc3RyYXRlZ2llc1tzZWxmLmRpYWxlY3QucXVvdGluZ10oc2VsZi5kaWFsZWN0KQorCisg ICAgZGVmIHdyaXRlcm93KHNlbGYsIHJvdyk6CisgICAgICAgIGlmIHJvdyBpcyBOb25lOgorICAg ICAgICAgICAgcmFpc2UgRXJyb3IoJ3JvdyBtdXN0IGJlIGFuIGl0ZXJhYmxlJykKKworICAgICAg ICByb3cgPSBsaXN0KHJvdykKKyAgICAgICAgb25seSA9IGxlbihyb3cpID09IDEKKyAgICAgICAg cm93ID0gW3NlbGYuc3RyYXRlZ3kucHJlcGFyZShmaWVsZCwgb25seT1vbmx5KSBmb3IgZmllbGQg aW4gcm93XQorCisgICAgICAgIGxpbmUgPSBzZWxmLmRpYWxlY3QuZGVsaW1pdGVyLmpvaW4ocm93 KSArIHNlbGYuZGlhbGVjdC5saW5ldGVybWluYXRvcgorICAgICAgICByZXR1cm4gc2VsZi5maWxl b2JqLndyaXRlKGxpbmUpCisKKyAgICBkZWYgd3JpdGVyb3dzKHNlbGYsIHJvd3MpOgorICAgICAg ICBmb3Igcm93IGluIHJvd3M6CisgICAgICAgICAgICBzZWxmLndyaXRlcm93KHJvdykKKworCitT VEFSVF9SRUNPUkQgPSAwCitTVEFSVF9GSUVMRCA9IDEKK0VTQ0FQRURfQ0hBUiA9IDIKK0lOX0ZJ RUxEID0gMworSU5fUVVPVEVEX0ZJRUxEID0gNAorRVNDQVBFX0lOX1FVT1RFRF9GSUVMRCA9IDUK K1FVT1RFX0lOX1FVT1RFRF9GSUVMRCA9IDYKK0VBVF9DUk5MID0gNworQUZURVJfRVNDQVBFRF9D Uk5MID0gOAorCisKK2NsYXNzIHJlYWRlcihvYmplY3QpOgorICAgIGRlZiBfX2luaXRfXyhzZWxm LCBmaWxlb2JqLCBkaWFsZWN0PSdleGNlbCcsICoqZm10cGFyYW1zKToKKyAgICAgICAgc2VsZi5p bnB1dF9pdGVyID0gaXRlcihmaWxlb2JqKQorCisgICAgICAgIGlmIGlzaW5zdGFuY2UoZGlhbGVj dCwgdGV4dF90eXBlKToKKyAgICAgICAgICAgIGRpYWxlY3QgPSBnZXRfZGlhbGVjdChkaWFsZWN0 KQorCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHNlbGYuZGlhbGVjdCA9IERpYWxlY3QuY29t YmluZShkaWFsZWN0LCBmbXRwYXJhbXMpCisgICAgICAgIGV4Y2VwdCBFcnJvciBhcyBlOgorICAg ICAgICAgICAgcmFpc2UgVHlwZUVycm9yKCplLmFyZ3MpCisKKyAgICAgICAgc2VsZi5maWVsZHMg PSBOb25lCisgICAgICAgIHNlbGYuZmllbGQgPSBOb25lCisgICAgICAgIHNlbGYubGluZV9udW0g PSAwCisKKyAgICBkZWYgcGFyc2VfcmVzZXQoc2VsZik6CisgICAgICAgIHNlbGYuZmllbGRzID0g W10KKyAgICAgICAgc2VsZi5maWVsZCA9IFtdCisgICAgICAgIHNlbGYuc3RhdGUgPSBTVEFSVF9S RUNPUkQKKyAgICAgICAgc2VsZi5udW1lcmljX2ZpZWxkID0gRmFsc2UKKworICAgIGRlZiBwYXJz ZV9zYXZlX2ZpZWxkKHNlbGYpOgorICAgICAgICBmaWVsZCA9ICcnLmpvaW4oc2VsZi5maWVsZCkK KyAgICAgICAgc2VsZi5maWVsZCA9IFtdCisgICAgICAgIGlmIHNlbGYubnVtZXJpY19maWVsZDoK KyAgICAgICAgICAgIGZpZWxkID0gZmxvYXQoZmllbGQpCisgICAgICAgICAgICBzZWxmLm51bWVy aWNfZmllbGQgPSBGYWxzZQorICAgICAgICBzZWxmLmZpZWxkcy5hcHBlbmQoZmllbGQpCisKKyAg ICBkZWYgcGFyc2VfYWRkX2NoYXIoc2VsZiwgYyk6CisgICAgICAgIGlmIGxlbihzZWxmLmZpZWxk KSA+PSBmaWVsZF9zaXplX2xpbWl0KCk6CisgICAgICAgICAgICByYWlzZSBFcnJvcignZmllbGQg c2l6ZSBsaW1pdCBleGNlZWRlZCcpCisgICAgICAgIHNlbGYuZmllbGQuYXBwZW5kKGMpCisKKyAg ICBkZWYgcGFyc2VfcHJvY2Vzc19jaGFyKHNlbGYsIGMpOgorICAgICAgICBzd2l0Y2ggPSB7Cisg ICAgICAgICAgICBTVEFSVF9SRUNPUkQ6IHNlbGYuX3BhcnNlX3N0YXJ0X3JlY29yZCwKKyAgICAg ICAgICAgIFNUQVJUX0ZJRUxEOiBzZWxmLl9wYXJzZV9zdGFydF9maWVsZCwKKyAgICAgICAgICAg IEVTQ0FQRURfQ0hBUjogc2VsZi5fcGFyc2VfZXNjYXBlZF9jaGFyLAorICAgICAgICAgICAgQUZU RVJfRVNDQVBFRF9DUk5MOiBzZWxmLl9wYXJzZV9hZnRlcl9lc2NhcGVkX2NybmwsCisgICAgICAg ICAgICBJTl9GSUVMRDogc2VsZi5fcGFyc2VfaW5fZmllbGQsCisgICAgICAgICAgICBJTl9RVU9U RURfRklFTEQ6IHNlbGYuX3BhcnNlX2luX3F1b3RlZF9maWVsZCwKKyAgICAgICAgICAgIEVTQ0FQ RV9JTl9RVU9URURfRklFTEQ6IHNlbGYuX3BhcnNlX2VzY2FwZV9pbl9xdW90ZWRfZmllbGQsCisg ICAgICAgICAgICBRVU9URV9JTl9RVU9URURfRklFTEQ6IHNlbGYuX3BhcnNlX3F1b3RlX2luX3F1 b3RlZF9maWVsZCwKKyAgICAgICAgICAgIEVBVF9DUk5MOiBzZWxmLl9wYXJzZV9lYXRfY3JubCwK KyAgICAgICAgfQorICAgICAgICByZXR1cm4gc3dpdGNoW3NlbGYuc3RhdGVdKGMpCisKKyAgICBk ZWYgX3BhcnNlX3N0YXJ0X3JlY29yZChzZWxmLCBjKToKKyAgICAgICAgaWYgYyA9PSAnXDAnOgor ICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGVsaWYgYyA9PSAnXG4nIG9yIGMgPT0gJ1xyJzoK KyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBFQVRfQ1JOTAorICAgICAgICAgICAgcmV0dXJuCisK KyAgICAgICAgc2VsZi5zdGF0ZSA9IFNUQVJUX0ZJRUxECisgICAgICAgIHJldHVybiBzZWxmLl9w YXJzZV9zdGFydF9maWVsZChjKQorCisgICAgZGVmIF9wYXJzZV9zdGFydF9maWVsZChzZWxmLCBj KToKKyAgICAgICAgaWYgYyA9PSAnXG4nIG9yIGMgPT0gJ1xyJyBvciBjID09ICdcMCc6CisgICAg ICAgICAgICBzZWxmLnBhcnNlX3NhdmVfZmllbGQoKQorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9 IFNUQVJUX1JFQ09SRCBpZiBjID09ICdcMCcgZWxzZSBFQVRfQ1JOTAorICAgICAgICBlbGlmIChj ID09IHNlbGYuZGlhbGVjdC5xdW90ZWNoYXIgYW5kCisgICAgICAgICAgICAgIHNlbGYuZGlhbGVj dC5xdW90aW5nICE9IFFVT1RFX05PTkUpOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IElOX1FV T1RFRF9GSUVMRAorICAgICAgICBlbGlmIGMgPT0gc2VsZi5kaWFsZWN0LmVzY2FwZWNoYXI6Cisg ICAgICAgICAgICBzZWxmLnN0YXRlID0gRVNDQVBFRF9DSEFSCisgICAgICAgIGVsaWYgYyA9PSAn ICcgYW5kIHNlbGYuZGlhbGVjdC5za2lwaW5pdGlhbHNwYWNlOgorICAgICAgICAgICAgcGFzcyAg IyBJZ25vcmUgc3BhY2UgYXQgc3RhcnQgb2YgZmllbGQKKyAgICAgICAgZWxpZiBjID09IHNlbGYu ZGlhbGVjdC5kZWxpbWl0ZXI6CisgICAgICAgICAgICAjIFNhdmUgZW1wdHkgZmllbGQKKyAgICAg ICAgICAgIHNlbGYucGFyc2Vfc2F2ZV9maWVsZCgpCisgICAgICAgIGVsc2U6CisgICAgICAgICAg ICAjIEJlZ2luIG5ldyB1bnF1b3RlZCBmaWVsZAorICAgICAgICAgICAgaWYgc2VsZi5kaWFsZWN0 LnF1b3RpbmcgPT0gUVVPVEVfTk9OTlVNRVJJQzoKKyAgICAgICAgICAgICAgICBzZWxmLm51bWVy aWNfZmllbGQgPSBUcnVlCisgICAgICAgICAgICBzZWxmLnBhcnNlX2FkZF9jaGFyKGMpCisgICAg ICAgICAgICBzZWxmLnN0YXRlID0gSU5fRklFTEQKKworICAgIGRlZiBfcGFyc2VfZXNjYXBlZF9j aGFyKHNlbGYsIGMpOgorICAgICAgICBpZiBjID09ICdcbicgb3IgYyA9PSAnXHInOgorICAgICAg ICAgICAgc2VsZi5wYXJzZV9hZGRfY2hhcihjKQorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IEFG VEVSX0VTQ0FQRURfQ1JOTAorICAgICAgICAgICAgcmV0dXJuCisgICAgICAgIGlmIGMgPT0gJ1ww JzoKKyAgICAgICAgICAgIGMgPSAnXG4nCisgICAgICAgIHNlbGYucGFyc2VfYWRkX2NoYXIoYykK KyAgICAgICAgc2VsZi5zdGF0ZSA9IElOX0ZJRUxECisKKyAgICBkZWYgX3BhcnNlX2FmdGVyX2Vz Y2FwZWRfY3JubChzZWxmLCBjKToKKyAgICAgICAgaWYgYyA9PSAnXDAnOgorICAgICAgICAgICAg cmV0dXJuCisgICAgICAgIHJldHVybiBzZWxmLl9wYXJzZV9pbl9maWVsZChjKQorCisgICAgZGVm IF9wYXJzZV9pbl9maWVsZChzZWxmLCBjKToKKyAgICAgICAgIyBJbiB1bnF1b3RlZCBmaWVsZAor ICAgICAgICBpZiBjID09ICdcbicgb3IgYyA9PSAnXHInIG9yIGMgPT0gJ1wwJzoKKyAgICAgICAg ICAgICMgRW5kIG9mIGxpbmUgLSByZXR1cm4gW2ZpZWxkc10KKyAgICAgICAgICAgIHNlbGYucGFy c2Vfc2F2ZV9maWVsZCgpCisgICAgICAgICAgICBzZWxmLnN0YXRlID0gU1RBUlRfUkVDT1JEIGlm IGMgPT0gJ1wwJyBlbHNlIEVBVF9DUk5MCisgICAgICAgIGVsaWYgYyA9PSBzZWxmLmRpYWxlY3Qu ZXNjYXBlY2hhcjoKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBFU0NBUEVEX0NIQVIKKyAgICAg ICAgZWxpZiBjID09IHNlbGYuZGlhbGVjdC5kZWxpbWl0ZXI6CisgICAgICAgICAgICBzZWxmLnBh cnNlX3NhdmVfZmllbGQoKQorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IFNUQVJUX0ZJRUxECisg ICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIE5vcm1hbCBjaGFyYWN0ZXIgLSBzYXZlIGluIGZp ZWxkCisgICAgICAgICAgICBzZWxmLnBhcnNlX2FkZF9jaGFyKGMpCisKKyAgICBkZWYgX3BhcnNl X2luX3F1b3RlZF9maWVsZChzZWxmLCBjKToKKyAgICAgICAgaWYgYyA9PSAnXDAnOgorICAgICAg ICAgICAgcGFzcworICAgICAgICBlbGlmIGMgPT0gc2VsZi5kaWFsZWN0LmVzY2FwZWNoYXI6Cisg ICAgICAgICAgICBzZWxmLnN0YXRlID0gRVNDQVBFX0lOX1FVT1RFRF9GSUVMRAorICAgICAgICBl bGlmIChjID09IHNlbGYuZGlhbGVjdC5xdW90ZWNoYXIgYW5kCisgICAgICAgICAgICAgIHNlbGYu ZGlhbGVjdC5xdW90aW5nICE9IFFVT1RFX05PTkUpOgorICAgICAgICAgICAgaWYgc2VsZi5kaWFs ZWN0LmRvdWJsZXF1b3RlOgorICAgICAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBRVU9URV9JTl9R VU9URURfRklFTEQKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2VsZi5zdGF0 ZSA9IElOX0ZJRUxECisgICAgICAgIGVsc2U6CisgICAgICAgICAgICBzZWxmLnBhcnNlX2FkZF9j aGFyKGMpCisKKyAgICBkZWYgX3BhcnNlX2VzY2FwZV9pbl9xdW90ZWRfZmllbGQoc2VsZiwgYyk6 CisgICAgICAgIGlmIGMgPT0gJ1wwJzoKKyAgICAgICAgICAgIGMgPSAnXG4nCisKKyAgICAgICAg c2VsZi5wYXJzZV9hZGRfY2hhcihjKQorICAgICAgICBzZWxmLnN0YXRlID0gSU5fUVVPVEVEX0ZJ RUxECisKKyAgICBkZWYgX3BhcnNlX3F1b3RlX2luX3F1b3RlZF9maWVsZChzZWxmLCBjKToKKyAg ICAgICAgaWYgKHNlbGYuZGlhbGVjdC5xdW90aW5nICE9IFFVT1RFX05PTkUgYW5kCisgICAgICAg ICAgICAgICAgYyA9PSBzZWxmLmRpYWxlY3QucXVvdGVjaGFyKToKKyAgICAgICAgICAgICMgc2F2 ZSAiIiBhcyAiCisgICAgICAgICAgICBzZWxmLnBhcnNlX2FkZF9jaGFyKGMpCisgICAgICAgICAg ICBzZWxmLnN0YXRlID0gSU5fUVVPVEVEX0ZJRUxECisgICAgICAgIGVsaWYgYyA9PSBzZWxmLmRp YWxlY3QuZGVsaW1pdGVyOgorICAgICAgICAgICAgc2VsZi5wYXJzZV9zYXZlX2ZpZWxkKCkKKyAg ICAgICAgICAgIHNlbGYuc3RhdGUgPSBTVEFSVF9GSUVMRAorICAgICAgICBlbGlmIGMgPT0gJ1xu JyBvciBjID09ICdccicgb3IgYyA9PSAnXDAnOgorICAgICAgICAgICAgIyBFbmQgb2YgbGluZSA9 IHJldHVybiBbZmllbGRzXQorICAgICAgICAgICAgc2VsZi5wYXJzZV9zYXZlX2ZpZWxkKCkKKyAg ICAgICAgICAgIHNlbGYuc3RhdGUgPSBTVEFSVF9SRUNPUkQgaWYgYyA9PSAnXDAnIGVsc2UgRUFU X0NSTkwKKyAgICAgICAgZWxpZiBub3Qgc2VsZi5kaWFsZWN0LnN0cmljdDoKKyAgICAgICAgICAg IHNlbGYucGFyc2VfYWRkX2NoYXIoYykKKyAgICAgICAgICAgIHNlbGYuc3RhdGUgPSBJTl9GSUVM RAorICAgICAgICBlbHNlOgorICAgICAgICAgICAgIyBpbGxlZ2FsCisgICAgICAgICAgICByYWlz ZSBFcnJvcigie2RlbGltaXRlcn0nIGV4cGVjdGVkIGFmdGVyICd7cXVvdGVjaGFyfSIuZm9ybWF0 KAorICAgICAgICAgICAgICAgIGRlbGltaXRlcj1zZWxmLmRpYWxlY3QuZGVsaW1pdGVyLAorICAg ICAgICAgICAgICAgIHF1b3RlY2hhcj1zZWxmLmRpYWxlY3QucXVvdGVjaGFyLAorICAgICAgICAg ICAgKSkKKworICAgIGRlZiBfcGFyc2VfZWF0X2Nybmwoc2VsZiwgYyk6CisgICAgICAgIGlmIGMg PT0gJ1xuJyBvciBjID09ICdccic6CisgICAgICAgICAgICBwYXNzCisgICAgICAgIGVsaWYgYyA9 PSAnXDAnOgorICAgICAgICAgICAgc2VsZi5zdGF0ZSA9IFNUQVJUX1JFQ09SRAorICAgICAgICBl bHNlOgorICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ25ldy1saW5lIGNoYXJhY3RlciBzZWVuIGlu IHVucXVvdGVkIGZpZWxkIC0gZG8geW91ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICduZWVk IHRvIG9wZW4gdGhlIGZpbGUgaW4gdW5pdmVyc2FsLW5ld2xpbmUgbW9kZT8nKQorCisgICAgZGVm IF9faXRlcl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gc2VsZgorCisgICAgZGVmIF9fbmV4dF9f KHNlbGYpOgorICAgICAgICBzZWxmLnBhcnNlX3Jlc2V0KCkKKworICAgICAgICB3aGlsZSBUcnVl OgorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIGxpbmVvYmogPSBuZXh0KHNlbGYu aW5wdXRfaXRlcikKKyAgICAgICAgICAgIGV4Y2VwdCBTdG9wSXRlcmF0aW9uOgorICAgICAgICAg ICAgICAgIGlmIGxlbihzZWxmLmZpZWxkKSAhPSAwIG9yIHNlbGYuc3RhdGUgPT0gSU5fUVVPVEVE X0ZJRUxEOgorICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLmRpYWxlY3Quc3RyaWN0OgorICAg ICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ3VuZXhwZWN0ZWQgZW5kIG9mIGRhdGEn KQorICAgICAgICAgICAgICAgICAgICBzZWxmLnBhcnNlX3NhdmVfZmllbGQoKQorICAgICAgICAg ICAgICAgIGlmIHNlbGYuZmllbGRzOgorICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAg ICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGxpbmVvYmos IHRleHRfdHlwZSk6CisgICAgICAgICAgICAgICAgdHlwID0gdHlwZShsaW5lb2JqKQorICAgICAg ICAgICAgICAgIHR5cF9uYW1lID0gJ2J5dGVzJyBpZiB0eXAgPT0gYnl0ZXMgZWxzZSB0eXAuX19u YW1lX18KKyAgICAgICAgICAgICAgICBlcnJfc3RyID0gKCdpdGVyYXRvciBzaG91bGQgcmV0dXJu IHN0cmluZ3MsIG5vdCB7MH0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAnIChkaWQgeW91 IG9wZW4gdGhlIGZpbGUgaW4gdGV4dCBtb2RlPyknKQorICAgICAgICAgICAgICAgIHJhaXNlIEVy cm9yKGVycl9zdHIuZm9ybWF0KHR5cF9uYW1lKSkKKworICAgICAgICAgICAgc2VsZi5saW5lX251 bSArPSAxCisgICAgICAgICAgICBmb3IgYyBpbiBsaW5lb2JqOgorICAgICAgICAgICAgICAgIGlm IGMgPT0gJ1wwJzoKKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXJyb3IoJ2xpbmUgY29udGFp bnMgTlVMTCBieXRlJykKKyAgICAgICAgICAgICAgICBzZWxmLnBhcnNlX3Byb2Nlc3NfY2hhcihj KQorCisgICAgICAgICAgICBzZWxmLnBhcnNlX3Byb2Nlc3NfY2hhcignXDAnKQorCisgICAgICAg ICAgICBpZiBzZWxmLnN0YXRlID09IFNUQVJUX1JFQ09SRDoKKyAgICAgICAgICAgICAgICBicmVh aworCisgICAgICAgIGZpZWxkcyA9IHNlbGYuZmllbGRzCisgICAgICAgIHNlbGYuZmllbGRzID0g Tm9uZQorICAgICAgICByZXR1cm4gZmllbGRzCisKKyAgICBuZXh0ID0gX19uZXh0X18KKworCitf ZGlhbGVjdF9yZWdpc3RyeSA9IHt9CisKKworZGVmIHJlZ2lzdGVyX2RpYWxlY3QobmFtZSwgZGlh bGVjdD0nZXhjZWwnLCAqKmZtdHBhcmFtcyk6CisgICAgaWYgbm90IGlzaW5zdGFuY2UobmFtZSwg dGV4dF90eXBlKToKKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCcibmFtZSIgbXVzdCBiZSBhIHN0 cmluZycpCisKKyAgICBkaWFsZWN0ID0gRGlhbGVjdC5leHRlbmQoZGlhbGVjdCwgZm10cGFyYW1z KQorCisgICAgdHJ5OgorICAgICAgICBEaWFsZWN0LnZhbGlkYXRlKGRpYWxlY3QpCisgICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ2RpYWxlY3QgaXMg aW52YWxpZCcpCisKKyAgICBhc3NlcnQgbmFtZSBub3QgaW4gX2RpYWxlY3RfcmVnaXN0cnkKKyAg ICBfZGlhbGVjdF9yZWdpc3RyeVtuYW1lXSA9IGRpYWxlY3QKKworCitkZWYgdW5yZWdpc3Rlcl9k aWFsZWN0KG5hbWUpOgorICAgIHRyeToKKyAgICAgICAgX2RpYWxlY3RfcmVnaXN0cnkucG9wKG5h bWUpCisgICAgZXhjZXB0IEtleUVycm9yOgorICAgICAgICByYWlzZSBFcnJvcignIntuYW1lfSIg bm90IGEgcmVnaXN0ZXJlZCBkaWFsZWN0Jy5mb3JtYXQobmFtZT1uYW1lKSkKKworCitkZWYgZ2V0 X2RpYWxlY3QobmFtZSk6CisgICAgdHJ5OgorICAgICAgICByZXR1cm4gX2RpYWxlY3RfcmVnaXN0 cnlbbmFtZV0KKyAgICBleGNlcHQgS2V5RXJyb3I6CisgICAgICAgIHJhaXNlIEVycm9yKCdDb3Vs ZCBub3QgZmluZCBkaWFsZWN0IHswfScuZm9ybWF0KG5hbWUpKQorCisKK2RlZiBsaXN0X2RpYWxl Y3RzKCk6CisgICAgcmV0dXJuIGxpc3QoX2RpYWxlY3RfcmVnaXN0cnkpCisKKworY2xhc3MgRGlh bGVjdChvYmplY3QpOgorICAgICIiIkRlc2NyaWJlIGEgQ1NWIGRpYWxlY3QuCisgICAgVGhpcyBt dXN0IGJlIHN1YmNsYXNzZWQgKHNlZSBjc3YuZXhjZWwpLiAgVmFsaWQgYXR0cmlidXRlcyBhcmU6 CisgICAgZGVsaW1pdGVyLCBxdW90ZWNoYXIsIGVzY2FwZWNoYXIsIGRvdWJsZXF1b3RlLCBza2lw aW5pdGlhbHNwYWNlLAorICAgIGxpbmV0ZXJtaW5hdG9yLCBxdW90aW5nLCBzdHJpY3QuCisgICAg IiIiCisgICAgX25hbWUgPSAiIgorICAgIF92YWxpZCA9IEZhbHNlCisgICAgIyBwbGFjZWhvbGRl cnMKKyAgICBkZWxpbWl0ZXIgPSBOb25lCisgICAgcXVvdGVjaGFyID0gTm9uZQorICAgIGVzY2Fw ZWNoYXIgPSBOb25lCisgICAgZG91YmxlcXVvdGUgPSBOb25lCisgICAgc2tpcGluaXRpYWxzcGFj ZSA9IE5vbmUKKyAgICBsaW5ldGVybWluYXRvciA9IE5vbmUKKyAgICBxdW90aW5nID0gTm9uZQor ICAgIHN0cmljdCA9IE5vbmUKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2Vs Zi52YWxpZGF0ZShzZWxmKQorICAgICAgICBpZiBzZWxmLl9fY2xhc3NfXyAhPSBEaWFsZWN0Ogor ICAgICAgICAgICAgc2VsZi5fdmFsaWQgPSBUcnVlCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBk ZWYgdmFsaWRhdGUoY2xzLCBkaWFsZWN0KToKKyAgICAgICAgZGlhbGVjdCA9IGNscy5leHRlbmQo ZGlhbGVjdCkKKworICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkaWFsZWN0LnF1b3RpbmcsIGlu dCk6CisgICAgICAgICAgICByYWlzZSBFcnJvcignInF1b3RpbmciIG11c3QgYmUgYW4gaW50ZWdl cicpCisKKyAgICAgICAgaWYgZGlhbGVjdC5kZWxpbWl0ZXIgaXMgTm9uZToKKyAgICAgICAgICAg IHJhaXNlIEVycm9yKCdkZWxpbWl0ZXIgbXVzdCBiZSBzZXQnKQorICAgICAgICBjbHMudmFsaWRh dGVfdGV4dChkaWFsZWN0LCAnZGVsaW1pdGVyJykKKworICAgICAgICBpZiBkaWFsZWN0LmxpbmV0 ZXJtaW5hdG9yIGlzIE5vbmU6CisgICAgICAgICAgICByYWlzZSBFcnJvcignbGluZXRlcm1pbmF0 b3IgbXVzdCBiZSBzZXQnKQorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShkaWFsZWN0LmxpbmV0 ZXJtaW5hdG9yLCB0ZXh0X3R5cGUpOgorICAgICAgICAgICAgcmFpc2UgRXJyb3IoJyJsaW5ldGVy bWluYXRvciIgbXVzdCBiZSBhIHN0cmluZycpCisKKyAgICAgICAgaWYgZGlhbGVjdC5xdW90aW5n IG5vdCBpbiBbCisgICAgICAgICAgICAgICAgUVVPVEVfTk9ORSwgUVVPVEVfTUlOSU1BTCwgUVVP VEVfTk9OTlVNRVJJQywgUVVPVEVfQUxMXToKKyAgICAgICAgICAgIHJhaXNlIEVycm9yKCdJbnZh bGlkIHF1b3Rpbmcgc3BlY2lmaWVkJykKKworICAgICAgICBpZiBkaWFsZWN0LnF1b3RpbmcgIT0g UVVPVEVfTk9ORToKKyAgICAgICAgICAgIGlmIGRpYWxlY3QucXVvdGVjaGFyIGlzIE5vbmUgYW5k IGRpYWxlY3QuZXNjYXBlY2hhciBpcyBOb25lOgorICAgICAgICAgICAgICAgIHJhaXNlIEVycm9y KCdxdW90ZWNoYXIgbXVzdCBiZSBzZXQgaWYgcXVvdGluZyBlbmFibGVkJykKKyAgICAgICAgICAg IGlmIGRpYWxlY3QucXVvdGVjaGFyIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGNscy52 YWxpZGF0ZV90ZXh0KGRpYWxlY3QsICdxdW90ZWNoYXInKQorCisgICAgQHN0YXRpY21ldGhvZAor ICAgIGRlZiB2YWxpZGF0ZV90ZXh0KGRpYWxlY3QsIGF0dHIpOgorICAgICAgICB2YWwgPSBnZXRh dHRyKGRpYWxlY3QsIGF0dHIpCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHZhbCwgdGV4dF90 eXBlKToKKyAgICAgICAgICAgIGlmIHR5cGUodmFsKSA9PSBieXRlczoKKyAgICAgICAgICAgICAg ICByYWlzZSBFcnJvcignInswfSIgbXVzdCBiZSBzdHJpbmcsIG5vdCBieXRlcycuZm9ybWF0KGF0 dHIpKQorICAgICAgICAgICAgcmFpc2UgRXJyb3IoJyJ7MH0iIG11c3QgYmUgc3RyaW5nLCBub3Qg ezF9Jy5mb3JtYXQoCisgICAgICAgICAgICAgICAgYXR0ciwgdHlwZSh2YWwpLl9fbmFtZV9fKSkK KworICAgICAgICBpZiBsZW4odmFsKSAhPSAxOgorICAgICAgICAgICAgcmFpc2UgRXJyb3IoJyJ7 MH0iIG11c3QgYmUgYSAxLWNoYXJhY3RlciBzdHJpbmcnLmZvcm1hdChhdHRyKSkKKworICAgIEBz dGF0aWNtZXRob2QKKyAgICBkZWYgZGVmYXVsdHMoKToKKyAgICAgICAgcmV0dXJuIHsKKyAgICAg ICAgICAgICdkZWxpbWl0ZXInOiAnLCcsCisgICAgICAgICAgICAnZG91YmxlcXVvdGUnOiBUcnVl LAorICAgICAgICAgICAgJ2VzY2FwZWNoYXInOiBOb25lLAorICAgICAgICAgICAgJ2xpbmV0ZXJt aW5hdG9yJzogJ1xyXG4nLAorICAgICAgICAgICAgJ3F1b3RlY2hhcic6ICciJywKKyAgICAgICAg ICAgICdxdW90aW5nJzogUVVPVEVfTUlOSU1BTCwKKyAgICAgICAgICAgICdza2lwaW5pdGlhbHNw YWNlJzogRmFsc2UsCisgICAgICAgICAgICAnc3RyaWN0JzogRmFsc2UsCisgICAgICAgICAgICAn cmVwbGFjZV9udWxsc193aXRoJzogTm9uZQorICAgICAgICB9CisKKyAgICBAY2xhc3NtZXRob2QK KyAgICBkZWYgZXh0ZW5kKGNscywgZGlhbGVjdCwgZm10cGFyYW1zPU5vbmUpOgorICAgICAgICBp ZiBpc2luc3RhbmNlKGRpYWxlY3QsIHN0cmluZ190eXBlcyk6CisgICAgICAgICAgICBkaWFsZWN0 ID0gZ2V0X2RpYWxlY3QoZGlhbGVjdCkKKworICAgICAgICBpZiBmbXRwYXJhbXMgaXMgTm9uZToK KyAgICAgICAgICAgIHJldHVybiBkaWFsZWN0CisKKyAgICAgICAgZGVmYXVsdHMgPSBjbHMuZGVm YXVsdHMoKQorCisgICAgICAgIGlmIGFueShwYXJhbSBub3QgaW4gZGVmYXVsdHMgZm9yIHBhcmFt IGluIGZtdHBhcmFtcyk6CisgICAgICAgICAgICByYWlzZSBUeXBlRXJyb3IoJ0ludmFsaWQgZm10 cGFyYW0nKQorCisgICAgICAgIHNwZWNpZmllZCA9IGRpY3QoCisgICAgICAgICAgICAoYXR0ciwg Z2V0YXR0cihkaWFsZWN0LCBhdHRyLCBOb25lKSkKKyAgICAgICAgICAgIGZvciBhdHRyIGluIGNs cy5kZWZhdWx0cygpCisgICAgICAgICkKKworICAgICAgICBzcGVjaWZpZWQudXBkYXRlKGZtdHBh cmFtcykKKyAgICAgICAgcmV0dXJuIHR5cGUoc3RyKCdFeHRlbmRlZERpYWxlY3QnKSwgKGNscywp LCBzcGVjaWZpZWQpCisKKyAgICBAY2xhc3NtZXRob2QKKyAgICBkZWYgY29tYmluZShjbHMsIGRp YWxlY3QsIGZtdHBhcmFtcyk6CisgICAgICAgICIiIkNyZWF0ZSBhIG5ldyBkaWFsZWN0IHdpdGgg ZGVmYXVsdHMgYW5kIGFkZGVkIHBhcmFtZXRlcnMuIiIiCisgICAgICAgIGRpYWxlY3QgPSBjbHMu ZXh0ZW5kKGRpYWxlY3QsIGZtdHBhcmFtcykKKyAgICAgICAgZGVmYXVsdHMgPSBjbHMuZGVmYXVs dHMoKQorICAgICAgICBzcGVjaWZpZWQgPSBkaWN0KAorICAgICAgICAgICAgKGF0dHIsIGdldGF0 dHIoZGlhbGVjdCwgYXR0ciwgTm9uZSkpCisgICAgICAgICAgICBmb3IgYXR0ciBpbiBkZWZhdWx0 cworICAgICAgICAgICAgaWYgZ2V0YXR0cihkaWFsZWN0LCBhdHRyLCBOb25lKSBpcyBub3QgTm9u ZSBvcgorICAgICAgICAgICAgYXR0ciBpbiBbJ3F1b3RlY2hhcicsICdkZWxpbWl0ZXInLCAnbGlu ZXRlcm1pbmF0b3InLCAncXVvdGluZyddCisgICAgICAgICkKKworICAgICAgICBkZWZhdWx0cy51 cGRhdGUoc3BlY2lmaWVkKQorICAgICAgICBkaWFsZWN0ID0gdHlwZShzdHIoJ0NvbWJpbmVkRGlh bGVjdCcpLCAoY2xzLCksIGRlZmF1bHRzKQorICAgICAgICBjbHMudmFsaWRhdGUoZGlhbGVjdCkK KyAgICAgICAgcmV0dXJuIGRpYWxlY3QoKQorCisgICAgZGVmIF9fZGVsYXR0cl9fKHNlbGYsIGF0 dHIpOgorICAgICAgICBpZiBzZWxmLl92YWxpZDoKKyAgICAgICAgICAgIHJhaXNlIEF0dHJpYnV0 ZUVycm9yKCdkaWFsZWN0IGlzIGltbXV0YWJsZS4nKQorICAgICAgICBzdXBlcihEaWFsZWN0LCBz ZWxmKS5fX2RlbGF0dHJfXyhhdHRyKQorCisgICAgZGVmIF9fc2V0YXR0cl9fKHNlbGYsIGF0dHIs IHZhbHVlKToKKyAgICAgICAgaWYgc2VsZi5fdmFsaWQ6CisgICAgICAgICAgICByYWlzZSBBdHRy aWJ1dGVFcnJvcignZGlhbGVjdCBpcyBpbW11dGFibGUuJykKKyAgICAgICAgc3VwZXIoRGlhbGVj dCwgc2VsZikuX19zZXRhdHRyX18oYXR0ciwgdmFsdWUpCisKKworY2xhc3MgZXhjZWwoRGlhbGVj dCk6CisgICAgIiIiRGVzY3JpYmUgdGhlIHVzdWFsIHByb3BlcnRpZXMgb2YgRXhjZWwtZ2VuZXJh dGVkIENTViBmaWxlcy4iIiIKKyAgICBkZWxpbWl0ZXIgPSAnLCcKKyAgICBxdW90ZWNoYXIgPSAn IicKKyAgICBkb3VibGVxdW90ZSA9IFRydWUKKyAgICBza2lwaW5pdGlhbHNwYWNlID0gRmFsc2UK KyAgICBsaW5ldGVybWluYXRvciA9ICdcclxuJworICAgIHF1b3RpbmcgPSBRVU9URV9NSU5JTUFM CisKKworcmVnaXN0ZXJfZGlhbGVjdCgiZXhjZWwiLCBleGNlbCkKKworCitjbGFzcyBleGNlbF90 YWIoZXhjZWwpOgorICAgICIiIkRlc2NyaWJlIHRoZSB1c3VhbCBwcm9wZXJ0aWVzIG9mIEV4Y2Vs LWdlbmVyYXRlZCBUQUItZGVsaW1pdGVkIGZpbGVzLiIiIgorICAgIGRlbGltaXRlciA9ICdcdCcK KworCityZWdpc3Rlcl9kaWFsZWN0KCJleGNlbC10YWIiLCBleGNlbF90YWIpCisKKworY2xhc3Mg dW5peF9kaWFsZWN0KERpYWxlY3QpOgorICAgICIiIkRlc2NyaWJlIHRoZSB1c3VhbCBwcm9wZXJ0 aWVzIG9mIFVuaXgtZ2VuZXJhdGVkIENTViBmaWxlcy4iIiIKKyAgICBkZWxpbWl0ZXIgPSAnLCcK KyAgICBxdW90ZWNoYXIgPSAnIicKKyAgICBkb3VibGVxdW90ZSA9IFRydWUKKyAgICBza2lwaW5p dGlhbHNwYWNlID0gRmFsc2UKKyAgICBsaW5ldGVybWluYXRvciA9ICdcbicKKyAgICBxdW90aW5n ID0gUVVPVEVfQUxMCisKKworcmVnaXN0ZXJfZGlhbGVjdCgidW5peCIsIHVuaXhfZGlhbGVjdCkK KworCitjbGFzcyBEaWN0UmVhZGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIGYs IGZpZWxkbmFtZXM9Tm9uZSwgcmVzdGtleT1Ob25lLCByZXN0dmFsPU5vbmUsCisgICAgICAgICAg ICAgICAgIGRpYWxlY3Q9ImV4Y2VsIiwgKmFyZ3MsICoqa3dkcyk6CisgICAgICAgIHNlbGYuX2Zp ZWxkbmFtZXMgPSBmaWVsZG5hbWVzICAgIyBsaXN0IG9mIGtleXMgZm9yIHRoZSBkaWN0CisgICAg ICAgIHNlbGYucmVzdGtleSA9IHJlc3RrZXkgICAgICAgICAgIyBrZXkgdG8gY2F0Y2ggbG9uZyBy b3dzCisgICAgICAgIHNlbGYucmVzdHZhbCA9IHJlc3R2YWwgICAgICAgICAgIyBkZWZhdWx0IHZh bHVlIGZvciBzaG9ydCByb3dzCisgICAgICAgIHNlbGYucmVhZGVyID0gcmVhZGVyKGYsIGRpYWxl Y3QsICphcmdzLCAqKmt3ZHMpCisgICAgICAgIHNlbGYuZGlhbGVjdCA9IGRpYWxlY3QKKyAgICAg ICAgc2VsZi5saW5lX251bSA9IDAKKworICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKKyAgICAgICAg cmV0dXJuIHNlbGYKKworICAgIEBwcm9wZXJ0eQorICAgIGRlZiBmaWVsZG5hbWVzKHNlbGYpOgor ICAgICAgICBpZiBzZWxmLl9maWVsZG5hbWVzIGlzIE5vbmU6CisgICAgICAgICAgICB0cnk6Cisg ICAgICAgICAgICAgICAgc2VsZi5fZmllbGRuYW1lcyA9IG5leHQoc2VsZi5yZWFkZXIpCisgICAg ICAgICAgICBleGNlcHQgU3RvcEl0ZXJhdGlvbjoKKyAgICAgICAgICAgICAgICBwYXNzCisgICAg ICAgIHNlbGYubGluZV9udW0gPSBzZWxmLnJlYWRlci5saW5lX251bQorICAgICAgICByZXR1cm4g c2VsZi5fZmllbGRuYW1lcworCisgICAgQGZpZWxkbmFtZXMuc2V0dGVyCisgICAgZGVmIGZpZWxk bmFtZXMoc2VsZiwgdmFsdWUpOgorICAgICAgICBzZWxmLl9maWVsZG5hbWVzID0gdmFsdWUKKwor ICAgIGRlZiBfX25leHRfXyhzZWxmKToKKyAgICAgICAgaWYgc2VsZi5saW5lX251bSA9PSAwOgor ICAgICAgICAgICAgIyBVc2VkIG9ubHkgZm9yIGl0cyBzaWRlIGVmZmVjdC4KKyAgICAgICAgICAg IHNlbGYuZmllbGRuYW1lcworICAgICAgICByb3cgPSBuZXh0KHNlbGYucmVhZGVyKQorICAgICAg ICBzZWxmLmxpbmVfbnVtID0gc2VsZi5yZWFkZXIubGluZV9udW0KKworICAgICAgICAjIHVubGlr ZSB0aGUgYmFzaWMgcmVhZGVyLCB3ZSBwcmVmZXIgbm90IHRvIHJldHVybiBibGFua3MsCisgICAg ICAgICMgYmVjYXVzZSB3ZSB3aWxsIHR5cGljYWxseSB3aW5kIHVwIHdpdGggYSBkaWN0IGZ1bGwg b2YgTm9uZQorICAgICAgICAjIHZhbHVlcworICAgICAgICB3aGlsZSByb3cgPT0gW106CisgICAg ICAgICAgICByb3cgPSBuZXh0KHNlbGYucmVhZGVyKQorICAgICAgICBkID0gZGljdCh6aXAoc2Vs Zi5maWVsZG5hbWVzLCByb3cpKQorICAgICAgICBsZiA9IGxlbihzZWxmLmZpZWxkbmFtZXMpCisg ICAgICAgIGxyID0gbGVuKHJvdykKKyAgICAgICAgaWYgbGYgPCBscjoKKyAgICAgICAgICAgIGRb c2VsZi5yZXN0a2V5XSA9IHJvd1tsZjpdCisgICAgICAgIGVsaWYgbGYgPiBscjoKKyAgICAgICAg ICAgIGZvciBrZXkgaW4gc2VsZi5maWVsZG5hbWVzW2xyOl06CisgICAgICAgICAgICAgICAgZFtr ZXldID0gc2VsZi5yZXN0dmFsCisgICAgICAgIHJldHVybiBkCisKKyAgICBuZXh0ID0gX19uZXh0 X18KKworCitjbGFzcyBEaWN0V3JpdGVyKG9iamVjdCk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYs IGYsIGZpZWxkbmFtZXMsIHJlc3R2YWw9IiIsIGV4dHJhc2FjdGlvbj0icmFpc2UiLAorICAgICAg ICAgICAgICAgICBkaWFsZWN0PSJleGNlbCIsICphcmdzLCAqKmt3ZHMpOgorICAgICAgICBzZWxm LmZpZWxkbmFtZXMgPSBmaWVsZG5hbWVzICAgICMgbGlzdCBvZiBrZXlzIGZvciB0aGUgZGljdAor ICAgICAgICBzZWxmLnJlc3R2YWwgPSByZXN0dmFsICAgICAgICAgICMgZm9yIHdyaXRpbmcgc2hv cnQgZGljdHMKKyAgICAgICAgaWYgZXh0cmFzYWN0aW9uLmxvd2VyKCkgbm90IGluICgicmFpc2Ui LCAiaWdub3JlIik6CisgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJleHRyYXNhY3Rpb24g KCVzKSBtdXN0IGJlICdyYWlzZScgb3IgJ2lnbm9yZSciCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICUgZXh0cmFzYWN0aW9uKQorICAgICAgICBzZWxmLmV4dHJhc2FjdGlvbiA9IGV4dHJh c2FjdGlvbgorICAgICAgICBzZWxmLndyaXRlciA9IHdyaXRlcihmLCBkaWFsZWN0LCAqYXJncywg Kiprd2RzKQorCisgICAgZGVmIHdyaXRlaGVhZGVyKHNlbGYpOgorICAgICAgICBoZWFkZXIgPSBk aWN0KHppcChzZWxmLmZpZWxkbmFtZXMsIHNlbGYuZmllbGRuYW1lcykpCisgICAgICAgIHNlbGYu d3JpdGVyb3coaGVhZGVyKQorCisgICAgZGVmIF9kaWN0X3RvX2xpc3Qoc2VsZiwgcm93ZGljdCk6 CisgICAgICAgIGlmIHNlbGYuZXh0cmFzYWN0aW9uID09ICJyYWlzZSI6CisgICAgICAgICAgICB3 cm9uZ19maWVsZHMgPSBbayBmb3IgayBpbiByb3dkaWN0IGlmIGsgbm90IGluIHNlbGYuZmllbGRu YW1lc10KKyAgICAgICAgICAgIGlmIHdyb25nX2ZpZWxkczoKKyAgICAgICAgICAgICAgICByYWlz ZSBWYWx1ZUVycm9yKCJkaWN0IGNvbnRhaW5zIGZpZWxkcyBub3QgaW4gZmllbGRuYW1lczogIiAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLCAiLmpvaW4oW3JlcHIoeCkgZm9y IHggaW4gd3JvbmdfZmllbGRzXSkpCisgICAgICAgIHJldHVybiAocm93ZGljdC5nZXQoa2V5LCBz ZWxmLnJlc3R2YWwpIGZvciBrZXkgaW4gc2VsZi5maWVsZG5hbWVzKQorCisgICAgZGVmIHdyaXRl cm93KHNlbGYsIHJvd2RpY3QpOgorICAgICAgICByZXR1cm4gc2VsZi53cml0ZXIud3JpdGVyb3co c2VsZi5fZGljdF90b19saXN0KHJvd2RpY3QpKQorCisgICAgZGVmIHdyaXRlcm93cyhzZWxmLCBy b3dkaWN0cyk6CisgICAgICAgIHJldHVybiBzZWxmLndyaXRlci53cml0ZXJvd3MobWFwKHNlbGYu X2RpY3RfdG9fbGlzdCwgcm93ZGljdHMpKQpJbmRleDogcGtnL21hYy9idWlsZC5zaApJREVBIGFk ZGl0aW9uYWwgaW5mbzoKU3Vic3lzdGVtOiBjb20uaW50ZWxsaWoub3BlbmFwaS5kaWZmLmltcGwu cGF0Y2guQ2hhcnNldEVQCjwrPlVURi04Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBrZy9tYWMvYnVpbGQuc2gJ KHJldmlzaW9uIGEwMDBkYzZmNjBjYzRiY2Y1MjdlY2FiMjY0Y2E5MjYxZTVjODE3MmYpCisrKyBw a2cvbWFjL2J1aWxkLnNoCShkYXRlIDE1NDUzOTIyMjIwMDApCkBAIC0xNDQsMTEgKzE0NCw2IEBA CiAgICAgaWYgdGVzdCAtZCAkRElSX1BZTU9EVUxFU19QQVRIOyB0aGVuCiAgICAgICAgIGxuIC1z ICQoYmFzZW5hbWUgJERJUl9QWU1PRFVMRVNfUEFUSCkgJERJUl9QWU1PRFVMRVNfUEFUSC8uLi9w eXRob24KICAgICBmaQotCi0gICAgIyBGaXggdGhlIGJhY2twb3J0cyBtb2R1bGUgd2hpY2ggd2ls bCBoYXZlIG5vIF9faW5pdF9fLnB5IGZpbGUKLSAgICBpZiBbICIkUFlUSE9OX1ZFUlNJT04iIC1s dCAiMzAiIF07IHRoZW4KLSAgICAgICAgdG91Y2ggJEJVSUxEUk9PVC8kVklSVFVBTEVOVi9saWIv cHl0aG9uL3NpdGUtcGFja2FnZXMvYmFja3BvcnRzL19faW5pdF9fLnB5Ci0gICAgZmkKIH0KIAog X2J1aWxkX3J1bnRpbWUoKSB7CkluZGV4OiB3ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29w ZzIvY29ubmVjdGlvbi5weQpJREVBIGFkZGl0aW9uYWwgaW5mbzoKU3Vic3lzdGVtOiBjb20uaW50 ZWxsaWoub3BlbmFwaS5kaWZmLmltcGwucGF0Y2guQ2hhcnNldEVQCjwrPlVURi04Cj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tIHdlYi9wZ2FkbWluL3V0aWxzL2RyaXZlci9wc3ljb3BnMi9jb25uZWN0aW9uLnB5CShy ZXZpc2lvbiBhMDAwZGM2ZjYwY2M0YmNmNTI3ZWNhYjI2NGNhOTI2MWU1YzgxNzJmKQorKysgd2Vi L3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL2Nvbm5lY3Rpb24ucHkJKGRhdGUgMTU0NTM5 MjIyMjAwMCkKQEAgLTM3LDE2ICszNywxMyBAQAogICAgIHJlZ2lzdGVyX3N0cmluZ190eXBlY2Fz dGVycywgcmVnaXN0ZXJfYmluYXJ5X3R5cGVjYXN0ZXJzLCBcCiAgICAgcmVnaXN0ZXJfYXJyYXlf dG9fc3RyaW5nX3R5cGVjYXN0ZXJzLCBBTExfSlNPTl9UWVBFUwogZnJvbSAuZW5jb2RpbmcgaW1w b3J0IGdldEVuY29kaW5nCitmcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IGNzdgogCiBpZiBzeXMu dmVyc2lvbl9pbmZvIDwgKDMsKToKLSAgICAjIFB5dGhvbjIgaW4tYnVpbHQgY3N2IG1vZHVsZSBk byBub3QgaGFuZGxlIHVuaWNvZGUKLSAgICAjIGJhY2twb3J0cy5jc3YgbW9kdWxlIHBvcnRlZCBm cm9tIFBZMyBjc3YgbW9kdWxlIGZvciB1bmljb2RlIGhhbmRsaW5nCi0gICAgZnJvbSBiYWNrcG9y dHMgaW1wb3J0IGNzdgogICAgIGZyb20gU3RyaW5nSU8gaW1wb3J0IFN0cmluZ0lPCiAgICAgSVNf UFkyID0gVHJ1ZQogZWxzZToKICAgICBmcm9tIGlvIGltcG9ydCBTdHJpbmdJTwotICAgIGltcG9y dCBjc3YKICAgICBJU19QWTIgPSBGYWxzZQogCiBfID0gZ2V0dGV4dApAQCAtNzY1LDcgKzc2Miwz MSBAQAogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgIHJldHVybiBuZXdfcmVzdWx0cwog Ci0gICAgICAgIGRlZiBnZW4ocXVvdGU9J3N0cmluZ3MnLCBxdW90ZV9jaGFyPSInIiwgZmllbGRf c2VwYXJhdG9yPScsJyk6CisgICAgICAgIGRlZiBoYW5kbGVfbnVsbF92YWx1ZXMocmVzdWx0cywg cmVwbGFjZV9udWxsc193aXRoKToKKyAgICAgICAgICAgICIiIgorICAgICAgICAgICAgVGhpcyBm dW5jdGlvbiBpcyB1c2VkIHRvIHJlcGxhY2UgbnVsbCB2YWx1ZXMgd2l0aCB0aGUgZ2l2ZW4gc3Ry aW5nCisKKyAgICAgICAgICAgIDpwYXJhbSByZXN1bHRzOgorICAgICAgICAgICAgOnBhcmFtIHJl cGxhY2VfbnVsbHNfd2l0aDogbnVsbCB2YWx1ZXMgd2lsbCBiZSByZXBsYWNlZCBieSB0aGlzCisg ICAgICAgICAgICBzdHJpbmcuCisgICAgICAgICAgICA6cmV0dXJuOiBtb2RpZmllZCByZXN1bHQK KyAgICAgICAgICAgICIiIgorCisgICAgICAgICAgICB0ZW1wX3Jlc3VsdHMgPSBbXQorICAgICAg ICAgICAgZm9yIHJvdyBpbiByZXN1bHRzOgorICAgICAgICAgICAgICAgIHJlcyA9IGRpY3QoKQor ICAgICAgICAgICAgICAgIGZvciBrLCB2IGluIHJvdy5pdGVtcygpOgorICAgICAgICAgICAgICAg ICAgICBpZiB2IGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgICAgICByZXNba10gPSByZXBs YWNlX251bGxzX3dpdGgKKyAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg ICAgICAgICAgIHJlc1trXSA9IHYKKyAgICAgICAgICAgICAgICB0ZW1wX3Jlc3VsdHMuYXBwZW5k KHJlcykKKyAgICAgICAgICAgIHJlc3VsdHMgPSB0ZW1wX3Jlc3VsdHMKKworICAgICAgICAgICAg cmV0dXJuIHJlc3VsdHMKKworICAgICAgICBkZWYgZ2VuKHF1b3RlPSdzdHJpbmdzJywgcXVvdGVf Y2hhcj0iJyIsIGZpZWxkX3NlcGFyYXRvcj0nLCcsCisgICAgICAgICAgICAgICAgcmVwbGFjZV9u dWxsc193aXRoPU5vbmUpOgogCiAgICAgICAgICAgICByZXN1bHRzID0gY3VyLmZldGNobWFueShy ZWNvcmRzKQogICAgICAgICAgICAgaWYgbm90IHJlc3VsdHM6CkBAIC04MTUsMTEgKzgzNiwxNSBA QAogICAgICAgICAgICAgY3N2X3dyaXRlciA9IGNzdi5EaWN0V3JpdGVyKAogICAgICAgICAgICAg ICAgIHJlc19pbywgZmllbGRuYW1lcz1oZWFkZXIsIGRlbGltaXRlcj1maWVsZF9zZXBhcmF0b3Is CiAgICAgICAgICAgICAgICAgcXVvdGluZz1xdW90ZSwKLSAgICAgICAgICAgICAgICBxdW90ZWNo YXI9cXVvdGVfY2hhcgorICAgICAgICAgICAgICAgIHF1b3RlY2hhcj1xdW90ZV9jaGFyLAorICAg ICAgICAgICAgICAgIHJlcGxhY2VfbnVsbHNfd2l0aD1yZXBsYWNlX251bGxzX3dpdGgKICAgICAg ICAgICAgICkKIAogICAgICAgICAgICAgY3N2X3dyaXRlci53cml0ZWhlYWRlcigpCiAgICAgICAg ICAgICByZXN1bHRzID0gaGFuZGxlX2pzb25fZGF0YShqc29uX2NvbHVtbnMsIHJlc3VsdHMpCisg ICAgICAgICAgICAjIFJlcGxhY2UgdGhlIG51bGwgdmFsdWVzIHdpdGggZ2l2ZW4gc3RyaW5nIGlm IGNvbmZpZ3VyZWQuCisgICAgICAgICAgICBpZiByZXBsYWNlX251bGxzX3dpdGggaXMgbm90IE5v bmU6CisgICAgICAgICAgICAgICAgcmVzdWx0cyA9IGhhbmRsZV9udWxsX3ZhbHVlcyhyZXN1bHRz LCByZXBsYWNlX251bGxzX3dpdGgpCiAgICAgICAgICAgICBjc3Zfd3JpdGVyLndyaXRlcm93cyhy ZXN1bHRzKQogCiAgICAgICAgICAgICB5aWVsZCByZXNfaW8uZ2V0dmFsdWUoKQpAQCAtODM2LDEz ICs4NjEsMTcgQEAKICAgICAgICAgICAgICAgICBjc3Zfd3JpdGVyID0gY3N2LkRpY3RXcml0ZXIo CiAgICAgICAgICAgICAgICAgICAgIHJlc19pbywgZmllbGRuYW1lcz1oZWFkZXIsIGRlbGltaXRl cj1maWVsZF9zZXBhcmF0b3IsCiAgICAgICAgICAgICAgICAgICAgIHF1b3Rpbmc9cXVvdGUsCi0g ICAgICAgICAgICAgICAgICAgIHF1b3RlY2hhcj1xdW90ZV9jaGFyCisgICAgICAgICAgICAgICAg ICAgIHF1b3RlY2hhcj1xdW90ZV9jaGFyLAorICAgICAgICAgICAgICAgICAgICByZXBsYWNlX251 bGxzX3dpdGg9cmVwbGFjZV9udWxsc193aXRoCiAgICAgICAgICAgICAgICAgKQogCiAgICAgICAg ICAgICAgICAgaWYgSVNfUFkyOgogICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gY29udmVy dF9rZXlzX3RvX3VuaWNvZGUocmVzdWx0cywgY29ubl9lbmNvZGluZykKIAogICAgICAgICAgICAg ICAgIHJlc3VsdHMgPSBoYW5kbGVfanNvbl9kYXRhKGpzb25fY29sdW1ucywgcmVzdWx0cykKKyAg ICAgICAgICAgICAgICAjIFJlcGxhY2UgdGhlIG51bGwgdmFsdWVzIHdpdGggZ2l2ZW4gc3RyaW5n IGlmIGNvbmZpZ3VyZWQuCisgICAgICAgICAgICAgICAgaWYgcmVwbGFjZV9udWxsc193aXRoIGlz IG5vdCBOb25lOgorICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gaGFuZGxlX251bGxfdmFs dWVzKHJlc3VsdHMsIHJlcGxhY2VfbnVsbHNfd2l0aCkKICAgICAgICAgICAgICAgICBjc3Zfd3Jp dGVyLndyaXRlcm93cyhyZXN1bHRzKQogICAgICAgICAgICAgICAgIHlpZWxkIHJlc19pby5nZXR2 YWx1ZSgpCiAKSW5kZXg6IE1ha2UuYmF0CklERUEgYWRkaXRpb25hbCBpbmZvOgpTdWJzeXN0ZW06 IGNvbS5pbnRlbGxpai5vcGVuYXBpLmRpZmYuaW1wbC5wYXRjaC5DaGFyc2V0RVAKPCs+VVRGLTgK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gTWFrZS5iYXQJKHJldmlzaW9uIGEwMDBkYzZmNjBjYzRiY2Y1MjdlY2Fi MjY0Y2E5MjYxZTVjODE3MmYpCisrKyBNYWtlLmJhdAkoZGF0ZSAxNTQ1MzkyMjIyMDAwKQpAQCAt MjU1LDExICsyNTUsNiBAQAogICAgIEVDSE8gUmVtb3ZpbmcgU3BoaW54CiAgICAgQ0FMTCBwaXAg dW5pbnN0YWxsIC15IHNwaGlueCBQeWdtZW50cyBhbGFiYXN0ZXIgY29sb3JhbWEgZG9jdXRpbHMg aW1hZ2VzaXplIHJlcXVlc3RzIHNub3diYWxsc3RlbW1lcgogCi0gICAgSUYgJVBZVEhPTl9NQUpP UiUgPT0gMiAoCi0gICAgICAgIEVDSE8gRml4aW5nIGJhY2twb3J0cy5jc3YgZm9yIFB5dGhvbiAy IGJ5IGFkZGluZyBtaXNzaW5nIF9faW5pdF9fLnB5Ci0gICAgICAgIHR5cGUgbnVsID4+ICIlUEdC VUlMRFBBVEglXCVWSVJUVUFMRU5WJVxMaWJcc2l0ZS1wYWNrYWdlc1xiYWNrcG9ydHNcX19pbml0 X18ucHkiCi0gICAgKQotICAgIAogICAgIElGICVQWVRIT05fTUFKT1IlID09IDMgKAogICAgICAg ICBFQ0hPIEZpeGluZyBQeUNyeXB0byBtb2R1bGUgZm9yIFB5dGhvbiAzLi4uCiAgICAgICAgIENB TEwgIiVQWVRIT05fSE9NRSVccHl0aG9uIiAiJVdEJVxwa2dcd2luMzJccmVwbGFjZS5weSIgIi1p IiAiJVBHQlVJTERQQVRIJVwlVklSVFVBTEVOViVcTGliXHNpdGUtcGFja2FnZXNcQ3J5cHRvXFJh bmRvbVxPU1JOR1xudC5weSIgIi1vIiAiJVBHQlVJTERQQVRIJVwlVklSVFVBTEVOViVcTGliXHNp dGUtcGFja2FnZXNcQ3J5cHRvXFJhbmRvbVxPU1JOR1xudC5weS5uZXciICItcyIgImltcG9ydCB3 aW5yYW5kb20iIC1yICJmcm9tIC4gaW1wb3J0IHdpbnJhbmRvbSIKSW5kZXg6IHJlcXVpcmVtZW50 cy50eHQKSURFQSBhZGRpdGlvbmFsIGluZm86ClN1YnN5c3RlbTogY29tLmludGVsbGlqLm9wZW5h cGkuZGlmZi5pbXBsLnBhdGNoLkNoYXJzZXRFUAo8Kz5VVEYtOAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZXF1 aXJlbWVudHMudHh0CShyZXZpc2lvbiBhMDAwZGM2ZjYwY2M0YmNmNTI3ZWNhYjI2NGNhOTI2MWU1 YzgxNzJmKQorKysgcmVxdWlyZW1lbnRzLnR4dAkoZGF0ZSAxNTQ1MzkyMjIyMDAwKQpAQCAtNDQs NyArNDQsNiBAQAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCiAjIE1vZHVsZXMgc3BlY2lmaWNhbGx5IHJlcXVpcmVkIGZvciBQ eXRob24yLjcgb3IgbGVzc2VyIHZlcnNpb24KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotYmFja3BvcnRzLmNzdj09MS4wLjU7 ICAgICAgICAgICBweXRob25fdmVyc2lvbiA8PSAnMi43JwogaW1wb3J0bGliPT0xLjAuMzsgICAg ICAgICAgICAgICBweXRob25fdmVyc2lvbiA8PSAnMi43JwogCiAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKSW5kZXg6IGRvY3Mv ZW5fVVMvcHJlZmVyZW5jZXMucnN0CklERUEgYWRkaXRpb25hbCBpbmZvOgpTdWJzeXN0ZW06IGNv bS5pbnRlbGxpai5vcGVuYXBpLmRpZmYuaW1wbC5wYXRjaC5DaGFyc2V0RVAKPCs+VVRGLTgKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZG9jcy9lbl9VUy9wcmVmZXJlbmNlcy5yc3QJKHJldmlzaW9uIGEwMDBkYzZm NjBjYzRiY2Y1MjdlY2FiMjY0Y2E5MjYxZTVjODE3MmYpCisrKyBkb2NzL2VuX1VTL3ByZWZlcmVu Y2VzLnJzdAkoZGF0ZSAxNTQ1MzkyNDc3MDAwKQpAQCAtMTQ2LDYgKzE0Niw3IEBACiAqIFVzZSB0 aGUgKkNTViBmaWVsZCBzZXBhcmF0b3IqIGRyb3AtZG93biBsaXN0Ym94IHRvIHNwZWNpZnkgdGhl IHNlcGFyYXRvciBjaGFyYWN0ZXIgdGhhdCB3aWxsIGJlIHVzZWQgaW4gQ1NWIG91dHB1dC4KICog VXNlIHRoZSAqQ1NWIHF1b3RlIGNoYXJhY3RlciogZHJvcC1kb3duIGxpc3Rib3ggdG8gc3BlY2lm eSB0aGUgcXVvdGUgY2hhcmFjdGVyIHRoYXQgd2lsbCBiZSB1c2VkIGluIENTViBvdXRwdXQuCiAq IFVzZSB0aGUgKkNTViBxdW90aW5nKiBkcm9wLWRvd24gbGlzdGJveCB0byBzZWxlY3QgdGhlIGZp ZWxkcyB0aGF0IHdpbGwgYmUgcXVvdGVkIGluIHRoZSBDU1Ygb3V0cHV0OyBzZWxlY3QgKlN0cmlu Z3MqLCAqQWxsKiwgb3IgKk5vbmUqLgorKiBVc2UgdGhlICpSZXBsYWNlIG51bGwgdmFsdWVzIHdp dGgqIG9wdGlvbiB0byByZXBsYWNlIG51bGwgdmFsdWVzIHdpdGggc3BlY2lmaWVkIHN0cmluZyBp biB0aGUgb3V0cHV0IGZpbGUuIERlZmF1bHQgaXMgc2V0IHRvICdOVUxMJy4KIAogLi4gaW1hZ2U6 OiBpbWFnZXMvcHJlZmVyZW5jZXNfc3FsX2Rpc3BsYXkucG5nCiAgICAgOmFsdDogUHJlZmVyZW5j ZXMgZGlhbG9nIHNxbGVkaXRvciBkaXNwbGF5IG9wdGlvbnMKSW5kZXg6IHdlYi9wZ2FkbWluL3Rv b2xzL3NxbGVkaXRvci91dGlscy9xdWVyeV90b29sX3ByZWZlcmVuY2VzLnB5CklERUEgYWRkaXRp b25hbCBpbmZvOgpTdWJzeXN0ZW06IGNvbS5pbnRlbGxpai5vcGVuYXBpLmRpZmYuaW1wbC5wYXRj aC5DaGFyc2V0RVAKPCs+VVRGLTgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gd2ViL3BnYWRtaW4vdG9vbHMvc3Fs ZWRpdG9yL3V0aWxzL3F1ZXJ5X3Rvb2xfcHJlZmVyZW5jZXMucHkJKHJldmlzaW9uIGEwMDBkYzZm NjBjYzRiY2Y1MjdlY2FiMjY0Y2E5MjYxZTVjODE3MmYpCisrKyB3ZWIvcGdhZG1pbi90b29scy9z cWxlZGl0b3IvdXRpbHMvcXVlcnlfdG9vbF9wcmVmZXJlbmNlcy5weQkoZGF0ZSAxNTQ1MzkyNDc3 MDAwKQpAQCAtMTk4LDYgKzE5OCwxNiBAQAogICAgICAgICB9CiAgICAgKQogCisgICAgc2VsZi5y ZXBsYWNlX251bGxzX3dpdGggPSBzZWxmLnByZWZlcmVuY2UucmVnaXN0ZXIoCisgICAgICAgICdD U1Zfb3V0cHV0JywgJ2Nzdl9yZXBsYWNlX251bGxzX3dpdGgnLAorICAgICAgICBnZXR0ZXh0KCJS ZXBsYWNlIG51bGwgdmFsdWVzIHdpdGgiKSwgJ3RleHQnLCAnTlVMTCcsCisgICAgICAgIGNhdGVn b3J5X2xhYmVsPWdldHRleHQoJ0NTViBvdXRwdXQnKSwKKyAgICAgICAgaGVscF9zdHI9Z2V0dGV4 dCgnU3BlY2lmaWVzIHRoZSBzdHJpbmcgdGhhdCByZXByZXNlbnRzIGEgbnVsbCB2YWx1ZSAnCisg ICAgICAgICAgICAgICAgICAgICAgICAgJ3doaWxlIGRvd25sb2FkaW5nIHF1ZXJ5IHJlc3VsdHMg YXMgQ1NWLiBZb3UgY2FuICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAnc3BlY2lmeSBhbnkg YXJiaXRyYXJ5IHN0cmluZyB0byByZXByZXNlbnQgYSAnCisgICAgICAgICAgICAgICAgICAgICAg ICAgJ251bGwgdmFsdWUsIHdpdGggcXVvdGVzIGlmIGRlc2lyZWQuJykKKyAgICApCisKICAgICBz ZWxmLnJlc3VsdHNfZ3JpZF9xdW90aW5nID0gc2VsZi5wcmVmZXJlbmNlLnJlZ2lzdGVyKAogICAg ICAgICAnUmVzdWx0c19ncmlkJywgJ3Jlc3VsdHNfZ3JpZF9xdW90aW5nJywKICAgICAgICAgZ2V0 dGV4dCgiUmVzdWx0IGNvcHkgcXVvdGluZyIpLCAnb3B0aW9ucycsICdzdHJpbmdzJywKSW5kZXg6 IHdlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weQpJREVBIGFkZGl0aW9uYWwg aW5mbzoKU3Vic3lzdGVtOiBjb20uaW50ZWxsaWoub3BlbmFwaS5kaWZmLmltcGwucGF0Y2guQ2hh cnNldEVQCjwrPlVURi04Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHdlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRv ci9fX2luaXRfXy5weQkocmV2aXNpb24gYTAwMGRjNmY2MGNjNGJjZjUyN2VjYWIyNjRjYTkyNjFl NWM4MTcyZikKKysrIHdlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRvci9fX2luaXRfXy5weQkoZGF0 ZSAxNTQ1MzkyMjIyMDAwKQpAQCAtMTQzNCw3ICsxNDM0LDggQEAKICAgICAgICAgICAgICAgICAg ICAgZ2VuKAogICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGU9Ymx1ZXByaW50LmNzdl9xdW90 aW5nLmdldCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgcXVvdGVfY2hhcj1ibHVlcHJpbnQu Y3N2X3F1b3RlX2NoYXIuZ2V0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZF9zZXBh cmF0b3I9Ymx1ZXByaW50LmNzdl9maWVsZF9zZXBhcmF0b3IuZ2V0KCkKKyAgICAgICAgICAgICAg ICAgICAgICAgIGZpZWxkX3NlcGFyYXRvcj1ibHVlcHJpbnQuY3N2X2ZpZWxkX3NlcGFyYXRvci5n ZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VfbnVsbHNfd2l0aD1ibHVlcHJp bnQucmVwbGFjZV9udWxsc193aXRoLmdldCgpCiAgICAgICAgICAgICAgICAgICAgICksCiAgICAg ICAgICAgICAgICAgICAgIG1pbWV0eXBlPSd0ZXh0L2NzdicKICAgICAgICAgICAgICAgICApCmRp ZmYgLS1naXQgZG9jcy9lbl9VUy9pbWFnZXMvcHJlZmVyZW5jZXNfc3FsX2Nzdl9vdXRwdXQucG5n IGRvY3MvZW5fVVMvaW1hZ2VzL3ByZWZlcmVuY2VzX3NxbF9jc3Zfb3V0cHV0LnBuZwppbmRleCA0 OGRlZTljNjJhODc2NDBhZjUwODVjZWZhZDlkYmQ0MDA5MTJjODY3Li5lZTM0NzVkNTdjZTk4NjVj ZmUxNTUyZjNlYmUwOWZhYzk2NzY3NTE5CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA3MTUyMQp6 YyR7PjYxemMySF94OColIWJxM1dGZjxDMShrWUZnQVN4bDxBa3NDR0xyNiM/cklNbHxOX1I3S2dN b0MxR3o9aEoKei14PEJ7ejVlZ3ohfSVmMW9QRXlUWXd4fCpeRV8qOSFaaHdHNSNVbmVmPFBidzY9 aXUlNUN7cVpmZ3IqI1l+VVRSCnoocVN5ey1QPVleUEQ0ZGI0ekEoc1V9XktqMHREaVNIOFZFOHVF TkY5VlBheHorfGtRPDRjRk8yR2MrX3ApM343LQp6KXIpRnx3LX5wPSh+fFl8cnp3ZjJufmBNUkhF ayVeOD1scEdwNCZTb1BydG57XkZGJk9SUGZTU2kmZDwwKkJ8VjAKemA+XyowNzhXeTNPbHBjfE4o IUYmQjR8WGNeTzZGcSVwTnttdWNHIVhzNmA1RjkhP0lYZ1BCaShpQHFfZzV5OU9fCnpsWTNoclQ0 YmQyX354cGg1cl8oTElkKjYmcEB8LUh4UldhRW5vSyFQMlhgbjkzaSsqQnA+WjZnSVRWWW1RTmdZ Zgp6ZWE5OzxsaUIqPjYkTGZFR1kpWSNGTV92e214REsxZlJhfi1lfkRpdEB2VC1vbDNaKyY7PXhz bV9nMyo3QWBtJkQKemhtRTRyNiZhOzBXeShzODB6QTZ2Tnt0PDsmIUQlMjxXfEk0KG00S2l0ak5X cWlNeCREUHt1aHVEQWFmJHZGZldmCnpSR3wrTVIkJEF1cHlWeklZOzBkIT58bmJeVCsocFQ4QTdY KkhyWV80Nnc0PTJsTn1MMC1vbllfXllhcEZFVWFTfAp6P0JFOG5eWWluJXJTdFFLYVF7ODV4aXVM PTVRflMrYmM4Sl81aWx2MlkjISppPmZCS2lHanApeEhaZ1pGd2N0a0IKeklmNWA+NShxS2lNPmA4 dzZGOT18aU1AKiRMWHpwJTY9Sn44bjc0VkQ7Sis/JHdVdVBqeHVYRz5iOHhuUjN2JUQmCno9NEZ6 P2d+UTx6JmdQYjRuKH5UJkgzeG9eV1VfWDNicmo+X0AkbTVBXzdMRTlhSkomJTZCUU5aO3BPTXk9 ZjQ0NQp6YWxfQFF5e2lmMGhQP34oQDA8TVpLSnBlV1gzalFfdH5MKCNhTG4lfXJWZWhkbDF4bTBV R3d8dl9rJTFESHZjQHkKei1zUGBoMFIhYTBlOFIpVyZDN0Y5R2dsa1N8NCVjX0MlPkNYe25KaFli MkJqdzgtJkZaVTNuV2ozd3N4IVlmXiYzCnp7MVFBRGVzVzw7b3FzOyg7fXNEMnYjSEw3TykqXiZR K0t3cDBJY050dEM8QVBmOFA2Xy1GV19HeFprdEZeVmhVVQp6O1kjclFKO2hTRSVpbnpqS3Are0Fp dXxueTI9SDFlUFYkNCs/VFQ7fihIan1pJVNAdTdwPHdoSTcmZFJmbzgmNyEKelY1fTgoal9iamtO NWFUdGpSQ0pxNSEmUGxAREZmRyZASipTPFkzbW9mTyVIc3FkaHheZW8xbGg2NXQ9SVhRTHBeCnpZ QTxOeFRsUjVrVmZNI1FBTXR0KGV6dkRNRTFkSSghOXRQJGRDOG95Nio/X353R2ZNYTI4VWtwKVR0 TDtnayhrJQp6ej8rRSs8d1dGVnAjT2QwZzF9RWUzTFlFZEZabCtyV1NpR3tqVVFWWmk4SHw9fDkk MSRGKmNuTiReO3VAYW56Y0gKek5JKyFlT1BNZFk+QFhRNTFiVCkmS1BSanNNK1BQI3tAMlNONHds OGotSGNhfmkzIV9OXy1+aXNRPX07RG0+Q2s4CnpEQTJgJl9HTz1UaElTQ2dPaWZ1dnMkVmRvR2Qz aGEjIXxqUE9eZShHcFVOOUVrWGFqS3pien0hOXdwM3MoRFZIMgp6d2ZJanBvOHg4ZVNJP0BOclN4 TCN6Z0BOS0VoNH1lckpGZDBuZDlOVjJZP3hhSm41M0p5eSl0ezJlcWA8RXkmTWsKejZ4UjRCX2VY cVF3dTVhPyMjKnA3VD16RjdNemwwREZDNCV1WjJJemFCKkAwYk15dU1AaEV1PU5HMmIzfUgkNSVR CnotZ1lTOCY1cWwhaEZQeTR2X2dAezItblZhaUBvMzteVXB5dUFlYlZ1KnJOTiNDYF5XaWxHci0x b09yNVNKUVVxZAp6MT0oQVJSZyFAVWlMcVdWSWJQMnxxRmBiUEZleipPalZicTFfYVpSKU0yVkdw PXs5WFlnRihhWF9oUW1LZEpaJWQKejh5JjlQNip3TWx3azhKQUlkan44bVRVVDZaZUxIdmgyRWBS VXtiZ1o/NFNqPzZAKFF0QTU5Rn17QkhEQ25TfUhICnpgLW0mb2V8cDUtbm80dktBMmtMWilMVGJ8 ZFVEWClaZWA8amJuQE1PRjVHQ0w2WWU7MmQzVXtkWitIRk1ydUp9Zwp6KzRBMX5WRTxjODd4ZXM2 MHhJQVZVYW5QdFN+KzZORyRjYlM/fiMhMjM0LUQoRiVjT3NTI3dveiY1ODcrZihwTlMKemZ3OFV4 RT0jTTVkXjArdFB4YztlO15SbTc9X0VPeFlLd1AhdGcpKTNubHM9ZTd0Q3FFVUY2NikrbnJhIytZ OC14CnppKyFvKD1BQ2dkOXh9QzBvPEIwd2h3eUtkSjlRSHRpIzZrYzRxNDJ3e2t+I2xpPHlEaURZ Ml8qP35lc3JSUEd3Ugp6O19JRnxuOHROcXpXLXRaemsjUDJTP0lsZillQUJJTUROVjFkUk1HME90 OS1pMiExek8xb2F0Pl85R3lgO3VoX0MKens1SFhQNTw5KWUoNDwtRlNYPmBmYWkhbktJdnBNOCV1 M1dqKj0rUXFuSERXWThTe21MVk9IaytERDdMKlp0N2B6CnpxNjJJPFZOMFghPT9Zb1h3Qy1wNkc9 Zk9tXzxyPWA7bl9CIXdVU0hRX01scSV8NHh4NXE7aUxoUkhOU2U9X2ozewp6SCtneSRlTjxTY19I WjQoWDYlQG4tT0IteV4yMVhuUXhhZn5ePiVaUG1WVSNEIUxGcTFtUW89Z2Zpbztfc2pyVzwKenVH P3wpJEQ2TjJ0aGxfbnxLVlE3ZDZaK309UmBnSGg2VGkmKnZoeFQzOTghP2lkWmJkYCFtJlRnNGZP Rzg5JUohCnpVb0JPJnpOQzBiZnx7N3pgPjNeUWB5SFZwYn5xYlZtbyM9YkhJK31oTWtDKTR8NWFK bUMyNU9AbSZOTTdJeH1zegp6WGVLTUNzZlFUO0dkcDBDUD04ZHAtUGw/ZmRzPDwlXng1IVRpN2sy WTwrbT8jLVBjRX00REkwa25QM1puY25qJioKemVmV3I3e0R0JUg9WTBkbVRlWlNJUFZZN1JfWFhs QDt9XipgPXZGXnd1JFdPVXkoKzM+WCpOU340eS1Za2omYURACnpZPkp6e3VNQFk2NiVTYmk4KUI8 bF4pentmRWxNQGMyYWROZEc5bnJfIXgqRW5qey1JTzUkTX5udThIJHE9I3R9OQp6V3NIZ08+fWwl eWM3KVdhY3J6QStTKGRqbWJEdFZrcDZQUXo/Pm9Ya25WXzg/eShOVG5WIzlaWUMoSyFKJDRoTnEK ekJ3VC1aSnpKR0lhZEN0Zz5FK0Y5MU1mbXFlcUJyT0BJO3pNWmg8XyFFZUE7QSY0YkZCIWxjIWMh OH51KCs2NDhMCnp5YlBWYTcjeUcoYmgzMlItI2Y8Ql91cnFVTWw/PV4tMCgzQ1gyNFJecHRjQnRP ZHJaOUh5Y3AzTDdkcllsVDIhbgp6O3MwRmBHU0ZGODhEQ19AbDwoTnt0Mlo5QS1qMFhta3JPK0oq Wlphc2ZUZVdkMWY7OWNXOFJlcWx+NFFUK00pfHYKelpVd1d+enFtdCVFOWZSPGY0YlVXI3FTX0gx aWhRfWduMlIpPCFpcXxSdlJvN0Z1T0B9bGw7SjBmPz10RzBjKzdtCnpqfXBkQmIjdnE/fDglZFRu eFp7Y2BNaTxfMD9HYSVANHI1ZzF1X3FYKH1MN040ZjRoIyNUTHZEZCVzc24mX0R0QAp6QSFmX3wr S0tuXyU/eiN9WkRHPnpPazxYSjt8Mlcwd1NKZ3FyayRxcVRraVZ3XypNRGA/eHtScFlObHVeUD8l d1YKejshamI5WntMRzMhR3tJJjJOYDlWVTlqNiNqRUN8SytEUUY1UFMjJEtBc3M9MFBxY3Z8P1Nh OHBKcT8lWSlpRDRpCno5amNCRWQycyhNeSt3JG0hcVpaRUBLWk11cShDan45UlleVFQqNHUxTkdG TUF4SERVKWp1NmpQYkpTSTJOVSFeTgp6WFF9P0BpfEBFZ1dRdmZaYEg4YkZJNyRgTjR7S3tiPDxt Iy1mRW94SXFORHlCXktnYXlmQnRrYDlWeThjdj5QNGgKek81bjc1IUZJPTQ2YiE+ckUrek5iOUZ0 eGYqN0NFT1FnQHlFR1ApfEA5bytwPHtsfEhSe0EmWkhtdSZhb2VFV153CnooNEg8VURfSDJoUkFZ VWlgWjNFJUdtTkJgQ202SiRtISl+bGlVVTU5TndKY0pwMVUteUV0bkJPak8lPCFgNjRmIwp6MF93 KSVIbW5eXjxUMlZ2Z3FkMylVcHYlfkVJP3JldWFuSDRmUyZRXjsoTShPNiktJWBaYnMmMG9+RjFi bFVRTCgKeiNNTVgqI2RTcE1JJlojYm40fSpQXyFPPHl1VGZvaEVFI3I/eWhZVHxTSkNicUlJekVQ UngySH5DXmJOXkM7aGNmCnpsJWs4RyZ8Ql85eThkZVM2NHc1ey1KI1VJekE5XjxFUTA/QWUzP2NA Yk9HTHtuI04qaU0kKyE7a1kwJnA/Pk02Jgp6aCFWMlZhUElyYkBOfjFmLXEya1N8RlV4UWtoYnxw cCgyT1pwU01tOWNYcUIpJEdtVjNIe0REKXslbjlIdUZzR3wKelBAc25NdkQjcURASWRnKTh7eStl K3dhM1BAIUJQfUAwKUthfDVQQCp7eiVHKF5NYmdPMjJ6QyNldGcpUyRmWXxRCnoya2xFMDl9O3F5 VG5pX3d6VDtoWk9TVUd2P0lLZzJsTnF9cXg4fll3PG96U2M5Y1AtZnMoKCg9e3x1d0Ehdn19NAp6 ZWNaZEsyQE9RdFc0LTgmMHhzMjR1Kk5+Rz5AKGEyOCNtQ1h0aEc0JTtjPUFjY2c/QmAhR3RWfj4l PTkqSFk1U14KekpFWGc+Y00tP1goSXRka2FCYVk0QEE3RX1FWXhWM3Q9K2Z4Y2xyZTI2JXtCbHE+ d2U8bVl2bTVuay1ndlJ1PXlTCnomUCRvcy16TDJMKFIhKXJWOXFfTlk/SyRQUjYpaHoocWdhVG19 blMyU2RgPyN6T2Z7dV5oJChBWFVvS01lZEBsdAp6VGZafnF3dndeOHpqWVZYMVYlJGNUVldfa2I2 NXZ+amxvNEFAK2t7KW1qMlVyVER6Vl93WjE1WGY5QTlRTUw1VS0KeiFWaklfK31GOyEyeHpLN2kt V00kKjJkV0dVIXVEUjd7bGZuQWlEVkFMbn58UUZjPio0PFhMWGF5Tjk8K1dTe1p4CnpAZipncnEp ITNCPW1WbFRtX1ckeSUtY2kxIyhuK3MpQWZKZiFVJUg8IU4mc340TyFuaTxsKlYwSXpgP0pYLWUt bQp6ZWJZIWp7PnpORkE+Qnpse1IwSitGM14qUF5aaiN2ITM/WW0ldVZiK3ohPWxZNEEwSSNwRV5H Xnk4R3x9SC1zcSQKejNJKVFTV2pGPG8oRC0+UT92P0E1OHxTVXo2elR6IUllN29GLUVsWmwwPHVU KGJWM2B0JEsoJSRgY1dlMzZYVnN2Cnp5cG85O2tENEsxX1NjVSQ4LSUtOXsqQURiV1g2TCpQb2Q9 Rk1CJDJRVm8rZWtuKnhMR2BmQWQ1a0xfUUdpSzd4YQp6RCtKfEdsNCgzR3c0VHFBTHhvXzt1UTw2 fCNJQ0hTe0Z8Z08jaDY3UWlLSi1GVHpwVFlabXZBUCFhMGZyVzY4R1AKemN9LV8mbUZEemxOZTlD Pmo/KTI1YC1QPloqbWBLR19UUlQpakxCaklGe0E3JXJzJjtUKUZzWGtZUWV+NkxoK3UjCnowd2Fn az1UfU1xX2JJO0ohTXZXSlpDSGR3QipGVzU/RF8/RTEqVStAemZ1bHMreGZXMnRiTWZVOFElSmtr emQmPgp6TEVCTD5iJjElZEFGbHQ2T3FqPX5LPSpQT1FUdXJoYXhAMXM8IzNMZHYodnxPSHRVYzNJ d1gwbUtmXnoxPC1IPUgKejZCfGZua29LKmVRUEhTIXdoJXZAZV97OUtqbCN5cztiT1lPe3BgREwk S29DdnJTST4mcmRHdH1RRFgyWiZDQE11CnpvQWxuZlY+PyEhcl5sWk1UdkcwUj0mWEg3UFgyZ3JK eXAyckdKREUmcUR+aDRrK2dUcz08XkZZXl5xKkpsZXAwMgp6UkJZOUk4T19EaCQxTFM8ZD59O0l3 PkRDZTNRPD1FYilFR0pQcHk0P0dGM2tqT3ZHVUN2ZUBVUW5yN2hDZEw9bCgKenVVQndyeFMyP0xq b2dpVlUoZGQoXj9RTClMO2Ftc0gjXnQ7d3B1Q2pIJEwzVTh0MXokKSVwMiQ2MVV5eUBxUHVMCnpT KF53XmtsKSEoeD5sWDFufDhLI2Z1Wn5JeVFFUW9mVFp+UWQlPEltV15qS2hVNFN2UkZaPEtGS282 WWlNR3NzWAp6VVIkZ3RrPmdKVllrTUNxQjtgRkJERiFeTGchbD0lSW5TYHBHeFBjPD9Ta0BsZm8r MCNQVksoYipaZGFHY2QkaUgKemU+UUEtRXY5LUBJfGtUfGx+YWAqTGAmYF5lK3FmeT1jUCE5Um5Y JmljRFVGI2hTWjA/N0lxTS0jcUFUe2woN0ImCnpHMnY3SFpvfSFgPnJ8aDs1cXJzOUpubCtWbDtv YnlTY3ozTUMoJmt6YyNpWjF7NUQxJSk/eUEqUi1jTkNuSVdXPwp6N3pTM3drNVNMI15APnp9ajNx MTAjdC1YQWtZcWd2RkVsPUAjeGcxN25sdU9SP0c3MTxkenxaKlNXPURqd0AxPWcKemQ1ay1TTHtq b0tKdFpAU2k3ZHE1JiRhJllyVm9ZJCZvdHNOeFNIVXdyQEZATkQ4dUVFSzBGOXElK2xFNHQhMWM+ CnpEKnRRJGd+JUt3K0xiQH57Jj1qPSMtOzgyUlJjbG1DOTl2KklzZVEjRl43SS1PYWhOeTgpNSNW KjRzKGZObjkkLQp6X0BPUTFrNyUhaTlhOyhiMC1Kb31CTm18dXtNJmJxI1RWQEFlWGRkUmZ4V01W REBhKnk+JiYlOXRePjFQM2g8ajYKem8lMyZaI2UxZEI0JFBQek92ZnRHSX1PRSg4fjxHVGFgJGpe dmFhVG4oUigkaiNSVE43T3BRIWctQkZAVnJUNGdFCnplKnhLakNALVl2PEB4TEhgUy1yQmU5dGph ei09ZDJOWlBFak0qZU5mUDk8YVF3KXVsc1dpO2FAc141LTZUQXR1ewp6ZD9FZl5JJTJaZE0mbHEp JEc1UEJUWGZKYnh1MjV5XnY2ckJWKU0/PkJuSDVBTGRHYk5VYUApRGNPY3hkc1U7aGAKenRxenN9 LWxGPTVnQCVSUFV4LSoxKV5RQ1BpPH1QLWNWODxzc0J5MkY2UzVvQzBtZl9xeHp6OzF3VVFXIXEh cztJCno/WTg7QFZFXnVVQDd9JHVAO1V3T3hIeUtQWGViS2lzSWt5K0sxS2U3biE0XzlxdzxwKEgj SkZAcHoqJkkrVj5fYAp6enNfUXU/aCZ7dlV9JmZlVFhGIyh4RD9zbjh3QXwkMkR2TndRLSZkaVds emhLWXRtOzJhfSlTZFRXMmlmS1Z7UjkKeiN+VT5+ckE7eWJZU1o2dDs1TWtQeXZ+OXp2NkA+RmFS cndiY09jKGpPdzRfNHNZflpoaEVnPkJWMTxKYnZsV1UmCnppUG1KWjtrQDRBaz19Mmc0XmpJQ0xq UTJlRzFzQmp2bEEqPnlSfT0jQ3VGSUw0IWs7PUhzMnttJlUrb2BIdSU7KAp6e0dpZTMhSXk5Nj1+ PXlsM3ZaWEglbXFsREBeJDQocSYhc2ZDRj1QQ0NzJl40RD9BVXpkNWg2Zm4tTX1CQX1WTyQKejIh TT95cSpVIzAxQURYUXlecnxOcWx6YT88Yk9PPDZJJCNRJSY0QTVrIztedT0+MWFfZFpmNzVEcGE4 ZUklP3cmCnpoPlpabmxVVHg7S2BqNHs5aGx8JjM8d3t7QCEoNzM8UWRmMjdYYm5SfDRJVnphV2dh Z0NIU01tTU8qTVRDYTgyVQp6IXhKVkFjT1BFaFA1OCt8JEI1ejQkUjNheiVTOGZ9Smx0TG1oPCUj Tj5rb3wtajVrUyF0Nlp7Ky1ZQnQqMDZSYT0KenBoaWdaLXVSK3JVeTRuZypNNTFMcX1RKHEoOVls JlE1N2pYaUQpK1QrNVBAdWNYXlJETiNFM1ZGZ05VeCh4dn5+Cnp5KHc2VzlaYjFZTiNATzF3fVY0 VzgjQU8rNSE4QSN8M2JhfGBvb1Zwel9OezhQJihkU1U5OWRiWDM7aSRgbVBBeQp6V19SV0xgZzk7 c2N7Z2BXUGVQZ1htIUBFUnN5R1Z+e3JpPVVDVjxtMk95b35Ja2wzaTRUbCp8V1IwZzJTbmd1RH4K elpGXjN3K3p3NlF1Vkh7fDhUcTtWanJtSEkzbmZHYGYpZGp2PkpmVmFFflBxNFJMKUs4fDY/Wk9P KT9KWiVeUmZhCnpCciF7U3Z2a29iO1llN0VCOFlXb1pfSkAwakVzRiRwa0tsYXp5dDBTWEQyKVRT fDJuUkUyZ3JQaCReQGkwVHlWQgp6THl5UWYxK0xzJU8hdW9VNChHMSF6e0hJcUxvZDdjSDElZ2tz e2piKnY+aCVxZEF+eSZLYCVLUEMzUiQ3R1pSY0IKellmJX4mZG4reWgjaCZoTSUyUip2PTUkZnx5 enxpcWZqQDBgP1VyIypHVCVNK2t8QHoxbDtaMjktP2srUHBGLSFVCnpHTn1QM2M1NkM+IU1FXk1B b2o/Wkx4V3ZBeTt0cylZbm0tfXVZfkwjMTJNXm83LTBBb3NiWCUkZnJNZm1SNSZZeAp6ZEEzUyla dDxLbygqYnlFcDk8PW9IJUBQdlFzUXZlQUl3Zil0MmpxRDZPRTtNT3hnJW9fQmF+aT5gKGJNeXZ4 b1cKelEoO2R2TjhsbmRyNGc2b2Q1azlTaVl9MXJtMEhMMGJRSyVhQjhxa19HZDU7STgwPE92Q1BR UTJJayQhRlBrUXg3CnpXfUNKPz8/WjE1bj8qblMqb2Z1dTM8ITRCPC05UzdtcDUoVjRFIz1hX2Ny fmAkRVpZcnNXJTVxPUtFZClILWFAZwp6JkdWeGBHSyNxMUlpMHdCQzBxSEVrPWU+VHtpPzZ1dWli a1M8Zy04RmstdGBkeWl3OD9OdSY0WihKUjJnXi03KGUKenhPbVZMMHg+UXZsMV9ZWll0eyROPz53 KE8pYypDST5LTmRlWlJYbWVfWjFRKz5TUG9Da0s5Xz01NmY4RXB7MyhTCnpiaDAoVVdOTXNmQWYl Rms9fVVWfUNkKWJpcFd1VVBiWmtOMzxuVUsxS3A0RTZkQWU1OFU7SDNQeDghfTkhXztLZQp6Pn5S eVlEezdNY0JBX3o/NnNZZ29Nc2A0dE9LclpyN2oqfiVhTj0wTkJ8UTg8dGJuRkZiQGV7U1ZoUyg0 UWs+ZVQKejZ6ZCF0dmxgRG9ke3NPQEoyZnk4V2wjfmFBRSRndyF2bj05THZYe1QlKXU2Mzh7PHso dHlpPX4wdm14NTc+SVc1CnphdShFQFpyMUtaamxGcj5wRHNPeFBEVlNVeiZNcD55aDJTa0ZjNF9i P3Z8KHpsUTZgUDkwPjcoNXJtViYwa018Pwp6QHpXPyVjNGkpQ3J+Nmg8eFBINmlKeyFnXlc+Xnx4 eWF2fndZcl5Ba1R9Ujx5S3tuYXJDaEdKcm8mSmVWaFptdVUKemR+V1Qwe2lYVWZrTSZWTypPWn1E ITAoKTgzS1IoTTRZNX5DUFVUfClaV3Q+SGV+JlNRSHFJYHFDcVRmZ0g9MH0jCnolV0AjRnNZamFj Jj04RiteTzd3QnVBZn1TXllDTVFDYSp3Ti14SyNyM0JjPWY8QTg1LWBfUytqQkwlcDtQamBvQQp6 OSF+VGVyaWkrJWBReSsjOXVpYyRFfUxURTVjWCpIcj16QCMkSTkmbkdqM3NoKCNRO09UbChCcyRL ZU5uQ2pINVAKem52THBpVWE2bGUtQEFLSDh1bXRRJnojNVZlUUhkV1REJX07KnB0dksjbU00XnBS fXNQNU1iakwpTXopQzxtbi0+Cnp0bVRHRXU7ZTV6QHokZmp7KE5hZnlmeTNQVjx9Xzk0MU9td0kq bERXWn45XlRsS2JOPnNmfGRsdHV0ZmQlZmR+SAp6KWsoSDhldCZ3PEp5Q3poUl9TcnhtPzZUMkY8 TmpCPD1OVHNXPnBqYG9CcyU0PkJtV2lvO0hTNXREWW5zNmlgUj8KenslYmsoX0lvfEVXLSFEYFBX SVklSCY0YTJgfHBGdT9KZUpRbEpMNSVKZkp2TV9YV2l0al5qUSoxKXdlMChtZjxvCno1NUNsTUpC e1NuMHN0YmlXZCl7TjVEbzRlMmhrTTEwbERjRU8oKkt2SktkSUU3Xms/fWM+SS1VV0EmWiRMUlk0 KQp6Y2kkST1JM35jdzZtV09XOHVeX3I7SW1HNz8/a0hsOS1RdF5WSHAzKGY8MGI9QkxFdFcpK1Jp ci0xZklXMl5CX34KenRJZHEyYHlPNUUtbFI7VTNkQUFtOCpxSz1XJTJSPFAlM3wpK2kqJTs7JWc3 IUpnRitXKFo0dnU8TEA2QUVXZCRWCnoyWChFZ0xSXlJmTV54ISZUe3ljRlpANiZSUm4te3xnfnw5 YnFhd3NfVFhRdSVoWSg1cmpCISEqK28pUVUjZkRsUQp6OV9HKU0tK2dpJU9oN1pQaFR5Vk97OC18 KXMlODdfZWRPeWMlZlooYXNAVkteNEJTMVJVQ3VNNm9ubGdyZGt6NGIKejVqNForJlc5UyM3Q3lR ZGBGZm00anp8SUlwYnNgWGhMT21wLTFQOXQwUnwoMDU3TGtCS0Y4eSFvJVVAe1VTT1krCnpzVnJR UCl0S35MeV4kbzJ7MCFhMzFFSylDNHl+Sz9gMElkTFkmN2lsTDB5MndEOC0tYVVLKi1RKnVuV0Y/ a2hjKgp6clBVTldhXnhLRmVwNkxie05kNXZIfWNDeytBdSslUjFXMGZzeV9fPzdfKzI4bzx5eGY/ KE5lU3ErPCgtUWwlPTQKek5YR3ckWnQ+Z2poeTV5NHtUb3N9WGFSeGZQWT48fSUpfjR9IT4wRTRm QVhEPDc9JFo8ZzdOc2I9QU5za05iazR5CnpPNGw1bHM8RClVKU56QWVgbyhYR3h2ZE9TNzx0Yik8 N3RHdl8zTDFjbU4xPVohX3A9YFh5JWVxI0ZCKip3fl9UWQp6QShhI256Q25wTV5oVzE5VWtGZz9p Jil+djliQkduNEVQZktvJEY1b15ieDgjJFA5PDJ0U3Z+eWtRSD59RipjV2IKempJbDBMczhvY092 XnZWWHhlK0FUYCFiSjNreEY9U0U/UWRaZz5BdjdwSHRFUldwe2E1Wjk5fnxLRlpYJHBBe3xUCnol LSE3UiQrRjZIRF9JYDhPIz4hWmlyMSlEckpPdjg7UDJ3dmBwSjwmeHA7Q1lYZ2dTbUBVR1cwdWk5 QD82WElLKwp6I3w8cmdnZTspdy1tNn5DY2JPODctJWJfeDVYKFlZUUg5fS01Syt3ais8SmljYDkm I30mbHM0I3clZ0R6S35taGgKeiNWaWpaO3RiZzMhanpOPU1GNFVgYWZhSCYrbjJrUmVUT0d5WmE7 S14/QjFhNkFRMkJ9NnY+KGZyb2BvN1VZQENSCnpubWMpU3VWUzdQNGg4R2hkNnRFcjZLUzxRUXVC cUwoYHpVcSRmfkd5ejlZU2dPaEh3IXtIaDxYcnIoVzVgLTJxTwp6ckg8IXdXQnk9KypEPVY1SUwt S2FMMTRDSUl4bGF3LVE5Z0xWNFkxZ2l8aXRaX2YpREo4eCUrdzZfYXJgMDFXVT0KekBSe0I9dSN3 Z2BgczIpY2JtRWpiO3xkMlRpVGQjPHhMdzFWbE5uazE1KFZpYEg3ekJFVUREb35sOUZecEx6ODFJ CnpSaXFgYmxFMVZzcSU0NT5LKnE0anhoVX4qZD1Yc1g4RjZvJVlnemRlYHQhTyFxSz0tUDx7UVR3 QyNMQmAkNnZnPwp6NCF8bGlje3p7fHMqSFokY1lKekZPVTd4aHQ4TyFXRCRYcDM3ZHpnKTI/UWZV M3Y5Sm1aK1czYU8/UEh3QVd7KWIKemhSST49bCZDV0VxanIlXz1Lej1xdyh5ajlpUWQtJiNZayVW T0lZfXFMQHgmYFlFZm1KUShuP3gxWn1lTzFqKGJ0CnpnQnl6aCRpTU1aYlRQI1lLekQ/RTBnXnEl SkNeOG1vN1hRdm9QeX1kb3dWRDNoOzBkJSQtNlduX011NXdiRDF+QQp6WnxTUFA8JTN0T1hQVT1Z YjB6REN6WjltZ2UwcT4zPHhfb01Deik+RUJ2cUd9ekJKSU91bV52WkRmfj9VWip5Qy0KeklNR2h5 WU1fTTk7X0RIbSolKzFLKT84fCRTIzFOaWdoJjd5MXJ5UyhTVmphNFNzT3czZyM1MmBZd0o5RWNo aFh9Cno2LUFlK2B6K2JBMzRYSW9Gc35rNndCd0NeVHlFUUAtUjAkRiNxSHtxQDFKVjY1dS1oLTZB N0ghVm9CI3syfmgwbAp6ZGAofDJjanZKKT5GZ29qcW9EU1k8Skd9QGdWaW5AQjY9OU10blpsZV4t ekNld2t3PWtLYSt5V0NwcUNNQ0xkKHUKej17OGluJlV8T1NCT0lQeno0N1dAZSpfSXRyMWo5Vml1 KVNUKn1vQmdvVygoSGZnYEokO3ZiMiZQRFN7cjBSQWI8CnpWZ2RtRD9+NXJSOEE3Sz5IKSpjRFct M1hkIzhKTjl3bm4qdUdTb0dHS1pQZ29KY3ZzRUlaZkxxNUVkdjZUY1kragp6I002Pz0+QWFPI01q MGQhUGZFZjhnUHdTQmM7fEJUZTJNPm90YDN2UCpVRWQ7KTRPRjV7Vi1xPktRQDFoP2ArMEcKeiVB SjctVypFeS1RPj9zdVQ0bFplYkslUzZZZWRgbip3O05qREVqRW4jcUE0Xio+VGt3PUJQWE45YlZS RlVATWohCnotKThROCUpYzdLJDw9TW0kYTFfcm4+MDA+ZTR0Sm1fUkxGeE9RI1VrSXkoIU5OeDkr Rlh+QGV4RWdTTGRTeih8Kwp6cEdZJnNnJGwyVjU8bllkbjNeRk92N3ZqODZMY2J1OEZmRnVzJmIz IWlkZHhVaGV3UihJekBUcVFqbmU8Pk8rRjQKelYraDI/NEpoe35mej88Z1ZrTGBaPShSNUJTMmIz dyMlS3M7UGpRcmV1ZH0zPDswb01XIXglUGdCZmt7T0I2dH1zCnpaTEY7KjY4YzlITSlNaHtwTEBw aGlNdm08XylUflAte317eipyZEc8c1ZHaXFUYkNEd1BrIXtndzc7YH5fTDRrYQp6RTglQUwqcVV1 NlBea0FpS2creiVmQGVFYlV1UFJ3SWpUJWBGN0MxTWdoajx7RklAcn1NNkgoMCVRJTE/M2AlNVUK ekNpNElGRWNBOFVlSjt8MzBZOzdiQ3BMTnw/dHlkPEx+UlgyMkJAQlNVak5fdEhEWH1zd0klX3pU dkNyPmxuJXxeCnpIY3pnZER7NVY+NXA8SktPNi1vNCZBR0Z6VUFsZnFFcDhLOy1PTjRJdEZJVm9N TDxveSMmQSk9Km53bzJwJWJ6ewp6czU2aWNUWFRSYz55P2tCOUVSdCpNK1c5UHd7QkI0dFU4Skp1 V3ZGZ28mN0AtZ0hRbEZ4OWhEWUNgVE1fNHdtfVQKemFUPEotWjs0JEwpaXBNPkxeSlBsZHw2a2g0 dzBzfjJ7fn1fZWZAJDI+MW9sT3hjZ21CWnhHQ1dqc2clNEdxWChTCnpiTjY1Uyp6R2MhREJrYUZ3 XnA5fWAyJEArKisxOF9ALUlHSkVDNypUQCVXPDVVTHV8cG50V3pfOUE/aW0/MCl4ewp6Njhud0NQ VCVzUXR8X2xnTncwJk01UjMlcHpMMjJaPHtZOzJkKlF0V2ZnYHtLdEFsRihYJj1NP1N1bilYeyp8 WTYKekZCe2UwdlEqYjAwRDYzYD1USWtAcnBvXyllWUVVVFohJXZxeSpJaiVZWDxXMmBwUUtXN2pa IXRvLUUlIyYwYnh7CnpHVnteP0JFP2FZNm1hSjtPSD9RRjYtbnsmLT4rUkhXcypZdmhXdjNzcFE7 JXpURz1YP21Ib3lGTypVYnVzaX5FSAp6UVFrcjI3cGVWO0BCM3k8bHs5fVBfIykhWWlYcll7WF5y WnhVTWVjT3NpWVQzKSt+Jn42XiFzTjB0Yk03UlZxS3kKelR0eDVWcTBpZ0tJNCNqK0lrbXZwNSQj ej18MTtAYnhLRm9gVWlzclB5VyFGaV9zdk4lIWB3ZXxjRk1TclhMdUNGCnorWk5yIWpTb05SRU5p bHdacnNQJWtRJSZYQG4kVWk+QWNBbTA1LWFiPyt1JmYwY19FUClvYjV6Rmp1JFNiTjh8TQp6TGl+ Tng+TXo8eEp7QjAmMiFqJmRBQVM2LTl1UEJ0QlMwPWMmTW5KcUFDITV6Sj1UZUIwK3dzNWh1cnQ4 e3xyb0AKemJoeWxgQjJUeGJRTF5Te299WTQwOD9yTHBvfE51ZWBxJjwhXyF7cj1SeSVgU3JReT9z RTdgT1RXOTJ0b3h6a2MtCnpubk02OGR3Ujg+Xj5VODUlTVVkZzBaWCtXSkQ7PHxNSW9FN1o8QUxT QTJ7dTtqcUQ4PmA3SiFTRn00bChkeUpBPQp6b1I9bTBZcShiKzIjN0lNPGIkJlU2PEJsTyZWQXs+ UWlkNXdRc2Jyb3RFKmBTaH5UaD92cURmN1BpJCREYnNxcVIKej9EWXVyNDxCemZJSSFNcyomcm4w ZTAhcTVJakhBUWNJVU93Zj0jR2cyd35hc3g5cjZuMHQycEpkcVdvS2kwcmFpCnpjPTFrckNGR0F9 aEJESE1CRik0ITBoc05vKVcreislLVp0KF5AXiFjeU5VQCoySCU1QmpOfi1JQ01ofD1VOS1sSQp6 ay1ZYCYkQXtWT3JZIVkmdFBGSjRwUHdDVFgjMVktWTlGXnRwT0p7WSZqUyROQmE4c0BvSE1eTFBw PX1saXs1TEUKelBrY1RgUFg5RzlBI1UlQkMrb2NRMEJWb1hRcihaJkQ/OytBX3t+Rz5iX2V5YDBr RSVreFY+T0VTXkU/dE5RX2NoCnpyST10ODNPb2chWUZDPk56SyZMTlpJU0xANmV4NjBrOVBCUE9E dSh+S1dBdWMwbXlzfUZod2F3KTVsMmYoZzNedQp6QE1OYXg4SFBWVFRJZnAxUXdZREJTIzttdTdl bjZNJERQYCVpWkRGdkRUVSpqPSMkQ1g1em9DZjgtUlAyMGp6JFEKeiMtWXsocD9lZCthanJ6fWxz bSZrVyg0WmJsXkE+bT5UdCVSYEk/R2M3VzwtOTBGSmwqTFMzclVISU1NdWV0TE8xCnpoRD5HIylP a1hmXk4rP2cxNFghcHVAfklLRVpVeEY5UHY5fGxhdyp2Z2I7TWM7YTZgSVolb3ZUaUVxfUwyfGda eAp6VTZCU1RvS35eOSU0PSFBYFp7eklvOyVSYjh2Zlo4cjNneHJrTmZIOEMrJnxhP0NIZE8wZHBB fk1vPFo/MFUqQnUKekt1RiZiWDZuQG17cUpRZGpzVS16dHF2Nzx0UkxhXmk+LTJINWYwcitsTmhO Iy1Wb09nWUttJnw5PU5BODA8Y0NDCnowX3ZORXsjWkRWMDA2dDVXYVI1fk5EXj9td087Z1lpanQy S0QtKjxWVyhXKGNvQyY3RW0mMyp0bjxPXjB1UnBYKgp6YXhtX1VWfDcxMi00X3BSMTAxPE5wSVAt cl49aHVlUkRFI2NebTJCKHlDUDgmTEgpcmpwN3RVejBtNFU7Y0I0MWoKekRkc3hVQil1WmAwJVEl YkBWUyVwb3h8TGd6cVkxJVo+dW8oZlh0S3xkezVXJVljYHlSaC1pZCpzSSZ1eTl2bDYpCnpadEkp YEBRS3EyeVlnLT9faUNMT3YrV0tmP3xDfWV2TVdrKjFtUnwhV1B0PSE0UlVxKEZ4aT40dWN8elBA am0ydwp6UCZyVl5oTWA4PllhelJwMjs4MmQ8Q2trK3ZYc1ExQzYlTUVYN25UQWgoOzYmVXQtP2Ar cSowTlQ3M3RHOHBpTDwKend1Yjl2JTA2NUJyWWBNUHZXVmJgTmRjeVQybWQ/NDJDWDlzdFl8N0B5 N31eRGZuSjZFaGw2Q1pENW94fHtoRVc+CnphSiMwVSVsWV8zKmx8UiZqUTJpMXhSI3dFS3RIPFd5 eHF4T0dqaH4pRlV9fkVNITFnKDd3eVBsUCtjblU9KWwlJgp6OztUcFBDMF9EQFB1bCYhWTluOExf bVRaU0tDPnxDR1RAJWtVN2x9XzV8WnxrPm56PUF3Y1JhP1YlTnRpIzEmfFYKemVEJnZfI3RJezs+ fXMpLWl4bHMlXlRENEJXUCVKR0wtdTkpV2k0QXRFYSMmb3d2fjxNXkE3PGNpWWFRXlAhS18zCnpR Y0w4VW5DeGAhU3Z+KF4tTHpAK28yWDk+NiE+X3QoMkNQMklgS3o8eHorJXhlbU9GX0lgMl4jdTdQ SXg2V3dlXwp6bXcrPiYjeyhTIXgxfWF3anE/R0dYRj00NW59blo4akJrcFpwcXJiK2kpcD5nWllL c3JrbnVFfTZicFF3MksjI2kKej88PEVzJnxkcysrfVhRPDJgT0k5JTx1fDEjVzEkM3NtV2dDUnpX WDRFVzRaKis4PDZlb05SbHliazFHb2IpTjZ3CnpEJXErJEB6TzBjek5LdWtEQWckOS1JWipeXlFp UGdjJnQmOD45Zz9HY0clfjkxTSNWI0ZARXVsWFo3b1NJK0tqYQp6Q0pZcCgkXnJjU0p5TDEtJUYq PGF2ZnIpUTxBVX5JaTJXM3xVVzR0aSpBaTY1ekEoUDAqckF9WWdyXnZndWBPLVkKem10dmZ0YzVH dX4hPnc8IUdMUkZzUV8/VD5JITdQcHprJSNIOFdYXjRkIzA3QkV0eTd7VjtQRSRJcmNrJVdvTTdU CnpKRndWN1VxelJFMTt+aD88Jk0pamt3LVVzNXJaTTU9alJJI2tPTCVXeT1KcTEpdzFmfGVBc0lI MFchdUw5bSpXIwp6WG4jJmcrUUNlRzJTI0E1bjErVDE2PUtVP1ZoWmJAJDdFcmMpJT1yQlFsUEIj M2c8eFZhKH1vTDBEbW89Y0lpdEgKekcwMiQhQS1aMXJaRWZvTyVwO1Y3aSZ0V3JAZk44SlI0JWtY NWFvb1Jzb3hBek5POT5DPD1haGx6ZCl8e08yPkBDCnpkPmUqRklHKG0rT31+Rl98NFZlaktiQWcw Mlg9cSM/fiVPQ3dZMzZzaTxVYUYmUiMwVW1DPG1fViF5Pk9nQyVgLQp6a2sjRnhFXjJ+WngkYDJL JGlxVnhQb3ZMPVlNKlZASC13TipjRzE4ak5aUzBvLTdVQDZMPFhJUEpNLXxSMHtjRlEKekAwMTA1 Wkt9WiFrLSpqN0d5Yjk8MzRKeSVmRmVXZ2hrSnYrMWVOUVdmVSFXYlg7QSNqQUByVWYlPjNfeEdW ZUhaCnpwYHhKdnhtd2M7MGVJWkphZ2VYdG1DYmxwRGQ5Ul9XNClCT2YjNUJGaXw1cmVZPlFzRSNA IUQ2ejwtP21MRChrVgp6QyMxNHdJdztzd09JTnF2eVEmVkBudFozKyo9SFhGQSVEbTg2WGdzSSNn aFlpJWVYcGQkPnk8M1BXNDJ3TVkhRygKenE0c1haSUFTakhFe1cxSTBmcHRzJVAqRXk0VVZfQTgy aSQ3an5wOVU7YT4lM2MyRD9sPEJje3hyLXpwK187WUNJCno+JVY+VHF+RDN8NURQOGFxMmhTRjJv Xj4jPGhMVmI0JiplOTwhV01zLWpWcDIlOGJxQHE+P2FjKHVnSUFMcFQhKQp6M1FLUj5ZQEdnKCsm e2VXcnRGN3lfcTBvUTdkYjQ5K2JrOWNpe0NNZmcyS0lkRzEhN2p3ezkqb2d4KHFWdEl6KCMKelZ3 ezMwMz85YVkmNndYUCgoMTc+WUZwNmpOKXZ5NTZwb00wSmJwJGpZdSE7MFl1eU95K2BQbztVVEFM MzReeVBwCnp4LW52dWBAO1gkVTd6SD1iJCMyM1Z3SU4xaCl8UGhTXj4pbGxCPGVANm58OVF1d2VQ R3JJe2RwPl4xSDlTPkVWUgp6R0IyP1I3QTRzQElsQ0hXLShTJnZtRyExUiQ/NEgqITgpKXBPND1G eEJ5PEV6YCpTXlNLQklwcDU9Vmp6Jm9VcjsKekViQGY/RGw7ZXZueV55e3UoWElwRj1zM14/KE5k bUVHbHMyQVBzbXBkVnA8X0hBZlk2RFh0fSVqUXled0Q3PTtyCnolc05WdyhxWWxLb2c1VUthUyNf emhERmtaT1Y9RGkpTmN3eVdkJWMlazUmMHZERmR3ZjBLYV5IemMoeXZGKm1zQgp6aUJPZCQlTkNq TzYkLTVmR3MzaUhDNFg9JChtVGtASUlefE9tcE1EMEkmM0h9NnMzZyY5NGw1NEI9Jk0/dWIyanIK emVLIUBPKSl4QW10e1FSNiEpdk9xbFl2UCgpUjJXbHZVKGooamJEPSNvfDhOQUgwaSYoZEZadGx1 VFNnVVBianRvCnp4MXUjM1FJKWtQbVF+aENWM040UykmQD4majlAYGI+JH4me19JKkhVIyQofFN4 XjR7NXVnTUghSCRNPGozZVhzQAp6MiRWZXwpQHFqVkhAaWVrPmN4YSRiWDFjZmtqTyR7YXttY0Bo TkYhS3QhMCFsWiFYVm1xPzZQKUA2SGNvYDBfcSEKenM8PWNVZG5yS0coXio8ZUQjeEl2VHlGIyM5 aFB4I2NDRG5weXZrKjxuKVRrNnozMCgjd2dJcnZjLXhFLWoxaSR6CnpXZl9qQHZhWTxFcnR3YyNh PGEkMEpTTHdtaWJmTTBiJEttMytrXlNOa3FWQWdAUEN7NjwhSEwjaFZvZHcmdkV0NAp6YzlyUHor WlZXQktNUUw4cW42NXA2cj9NP1lhNEZOakRfKCtKe3d7QEw9Vll5PDl6QXFRZFlEK2V4MF9PXlR6 XmIKejtMPnZ2bk1URGVkSClERGp0QnNPeGZseDF4SCtCIUQ0PFRZZTdXMVFLVyU7NiQoU1hTQnsk XzNvaCUpaUhkKjNuCnphVitnWGAqO2FLZSR5P1FBa09LcT4xUn1FJlZ0Jm50VCtteVkrdE1APj9j d2hMMzVCcDVza3RzOTNCYjEhOTJhaQp6Mm9PZ1gkSU5gNHZFVEM3Y2w5R2BWX3V0ZUxrcGVMYD8y UClGcm5ASj1YNUViQmF1TENkX0w/SHc/U1J8b2NxKmAKenBIYjBiWk1kV19YWUhsVEo3UDRCJEh+ PDM7P250akBoPlhfKmslMzRZWF43RXo/ZiNOel83JnQzaGJ3PHl4aH1aCnpnLUlmM00ydkVSe2BK WlZmazZ6T0RyK1VwbiV8YmBXRl9JKXlwalMta2JTZTtjOyN4TF5uQSojZ1AhP3BqY1VsQQp6KEJz UGdhaHNufExfVlJYT15OI0t2QW9MUHs3JkJnOTtVWUM8PmwhT2hCUlhWN1hwYCghRmt4VTVeaCFf RnAjN2kKelQhSGk0Plh9T3BBbzRaa3RzUmJmMEkwaSNUYHZsYWAjQD9ZUXlWWmRKP18lKTdBOWE1 YSVRNWtQIVUzV1Jsb01+Cno8dDdqK29IciFOKDZqVH1xUWBfPSgqNVZVWTRNKmdJV3FfMFJtcyg2 SCRCdWdTWGpaYThxSkJXMEEtVG96ViorOQp6RG9oaiVgcnxaV0coUVA0OXNmWjJ4NERsPSQhbUYq JE9RSkphJHlRfFNrSHlJR0JXTmFeRU1oXzMlM08lZm1HeD0KemAoPkNPJGk3MkFIK0NjR14zZTty OWVYb0E7UT1CVjJjTDJwfDdNV3ApMzU7P3F4WE1TJSpkRXQ0JnBxVTNIR21ACnp5a1dFbT4pQG17 O0RJb3FyNklZTU1OZkJyb1RyOHNoTEE9d2cpQFMqZXxHYVVqT1B7bXpscT1faShXayokaGp9fgp6 K141dT11MUVIVFY7bkQoaG9pVj53dzx+MXlrdTVFMUZjM1dmcEExV2N6LUpEQH1zZntUaz91Pkpr YCZlWG99RDMKendaenJ9dU1SJDY/eiZmaHVqIVFrYiZBPHcrR25pTSooPiQ0a255SHhWbShWUXZp dWhtUjZ1aERXPDRYaj82bylBCnpSUSY/eFQ2SXRlQU1RfFBBRER3dWA9M0VFakZ9ayFRWWlXTG0/ WkptfEZQbjNKYlZMQWZHbm5oMVh8NzdxYXFDJQp6SERxT2hPQHEyYlBxQi1gO1FnNihsO3RlTmdg PCF3UHc3b1B3P1E+RHw3NDFMS15ZT3lnQCRJRipVV0I4Tj9kTXcKenJpOyRfe042enRGfWF5Rnl3 ZT1jP29ZQWpSN09PeCFaZ0IpUHRmMzNOVDkjJUd8X0d5Jjw7SnNNSDlvaThnVXFDCnpCfXhJYT0+ bGtzUiZeVzFKSH5LUl5LJi1abVMyJEFVQitqV2A3blpfT19qRGIye0YxZVdje2JHNihiQzNUcjg8 QQp6aSQ3ZSFAYjxwI15yYnoxQjZUSXEwR1ZWVXFXYmdxOSt9O1ZRKUllRHg/SDNgTDgzJUVReW95 Tys5U2NZKFpqRUYKemU9WTMzUWIjZyV0cjJlK28mQiF3THh7SE1vTylyM09KeTZHOT5ZeCQkMkNi anY/O20+VH5FLVo3KWZuV1h9ckt2Cnp4eDx8OWNVQmVOPXorc2BiXzxMdCVkczE7Ym1HM25rUio5 SHwzY0pJXjJzblMjbTh3Zj0mYX5XbEs7R0VnaXlOZwp6a3hoJkhuQDk/V1hxYDVpcUk7PzJlfktI fEFZQ0xlbmhyQH5vQi1TY2IjM2hxOEV1K1E9cWdTMGV8VjdfJjklPyoKejRTfDJLVzhRMyk1WT81 eVN3bSR6d1IyeHheODRBcjk4blN7ZURwRFJ6K3h+PjFXYE9jeDdWaj5yIUtKLTFPVkFDCnpWVCh2 PUxGZkR9c2w/T1E0KXNvfEd7TSkrKk5Dc208VXtsfmJzQDE9dXRGUXp0TFZTeD5JJGY7c3wlME0p eTJAcAp6PXoyOEtENUkzPGtwUmM2bEp+OFRubGtOSm55am4yS2tZLSlhLU5tNCRQJVB5dGMrR1Vi S0tlUUBeSyNtY3FyLV8Kel5KZzl7dCZEVWpGNjFodWZHQXpaNzFWTCMwczV2KTtxflYzMktBSTBm SEFHNWRRM1hDNXNrS1IkVyVnKE4mblBSCnpQSlJpSio5KWopJkxeY0psPng4fW8/WTNqLU1QQytn Xkd+ay1wcDxDMlpROExiUk9kfmk5Yzl3QkluJlcqNW1JRAp6O1QwYCVuSkQ+O2tDdT99OXxfRiQ7 fHF1Rlh+Y2BXdVRmUzlqcmNZWmhUMFZYbHN5JUlnIXgzN3hLIWRQJSU3ejQKel9rVl9hbH5EVnFw VDJpNkA2UDZGKmA3MDEkR19TSkElOCtqI2ViSStLZSN8K2ROWiZIKHRONCZxPVFYZT5udnNhCnpu JlhYPDlaWF88UmJZO302UnZ0UXU5akU0QGtQS15UcDR8bVBvbFpgQmBePWRHJHVaX0M1Vk1BKlJh bCRMeG93Qwp6MF5KQWkkOzQ+JXFAK3wkRWRvclV5XitGYDlDQXBVa0FKdzNjPiV+WHs9fj5wR0pR Z3xacE1XWTUxcjt+Izg1M1IKekJOTG0xdVBMVHMmWWZRIU41YSVXTiloIVEqQmspcT9WZTxRWlNL Kj03NSV9VytkV2JSTWglbksoJk8xPnQlO3RjCnpZOVF5TCNRT2p+elpeZWtKa31HTTY9Y1FFXjFX RyhRTGBhZ0greiQxOHhNRWd2fj00MD9QYEdBT04ofXdPdy1vcQp6am88anomQ3N3MGtHbTljKD9v MlArSFdxSzE+QDxTMlIwcFJtcztQbW51bnpzUlhNLUk4fHZVKnlqQUd5SkQmYSoKenRuI0lPKSVK SHVOPSk9K15MX2xsa1VXYUNeT0FKO1o5eSEociU8U3x3S2YhJjdmanlqJFA1eG1tVGI+UmUoe3gt CnpOUXszeTN2SjBSM0lMPzUoTWFwbHJhUkpjT219TyhNQnZQdlc9Mj0+S3xiR28+bElTTDsyU3w5 PiNoaHw1JT5XIwp6VXduR2IjTEN6NUVkeCNpSGZBUklXOThpYUNIUiRgMElfR2gtbFhONlJHak9n dm8wclVuQ3ByV1ArfnZ0ZyM+TCYKelBYfFowLXUwdkIwIzwjY2R9ZUx0a0pXTDApb34jIUooe3Bz bTxsVWs8bE9vbD9pTjlUZV5pZGNBTzI0e3s7bTh5Cnp3VFdKKzJBRkBpUFd3a3NwIXAjWil5Ylpv VmpFfkFNT2h6UU5DYj1MKFE2eWJvaFQmUWMmcW5rKWNFNXp4KUtufAp6WEBLWiNCLVRBSVNFRzFZ K0J0ZDArYWRod2pxejwwZGk8fnxvbVVZTik4PTBjdDZnKD1vYntUWjlkTl80I31BV3wKekJqaW5D cz9LZzM8MEM4UFQhI3dJVyRJRmdFdmJKVUI9SkFGSDloX0Q7Z2haSGhrTTdiK192I003I3dtR3ww a0ZwCnpDVzZ2SDUrJVI7cG19cmZkQSpeYkNFQUNrQHk1RHxleTlhYVpJbG14ZGUkQCV0O3B2eDYy bV57TjcqVVAmd2JGMQp6STZAeyhQJX1JOUNBX1BaRXhQKTBuZ3ZGX2hwbC1HZVYjdWt2NTUhIT5X QH1GKzBBI3Z3bXJ2e14hKHwjOGRELXEKelcjNVNqKm1+fmE8PDc0dXhvUWk8ZWhaRHRncGhadDM1 RC0+aUhhO2ZZMVIwQnRudGBYaUhnZGhfKE9HOHszVH4yCnorLUlvUnc4QWgjJGV4WnYlPjZvSnVn TU4jSkRTUENlMWpVeTtUVDYtUTsqSGJpNEx2fWlgQnRBTVRrclVEN1NPcwp6b2hwVWJeMUd5ODx1 YlFWRnF3WTJWMEA+Y1glZmVvWEI1PGBQSypQRz9iMnM2NWdeKFUlWTk3cz1jNUpsQn0pVT4KeiFJ XnlSMHtZaDktcFN1djUkWDRxVjBFeV5EKGtEYEtrSCFIMHBiKmJqYk4zJDJpaDUoeW9FeiY/bEkr NHZBZ29VCnpgYFNzcFFFdHtHYTZgNGxENnRpZSpFZW5BV2AwRCtXJnBtbHpGS2Mqb1dZblNuY3cw JDl3KXBNdjxhPy0jdn5jfQp6aiFAeEstP1RReWxuMHRiIzlYOX5lPGE0Sjw3JVExaUZ3PEN4PFJl SE0rdyhme1Yrbn5WIUdlbiF8fXdxIzJiM20KenlCIWBARXQqXzw8eTtUJE5gWk1TeTVnTzVKRlIr PlAwa2RPS34xa19gejNaRj94YyErZT99O0F5akY2P1orRnBRCnojQVNeOSh5QHh+RC10VlQ4blN4 Nig9WUFkYk0mKUZfU3U7c3p5R2xCX3lIITk/JE9Qdm5tR0ooYENBP1U1YzJ5agp6diFAdDRHQE89 bUdQOGhxS3M+MnBadjFoVjstbz5wJUZ5JkdgcXEhcHsqVEhZazZAQ09wUl4weTdrNGl6b3o/WEoK ek1iTGwzSygzIyheN008UDxLM1ppc0hIRGlkQjZtN1hUc0EhS2tGWGtYeSR1PSZiWmFyK2hGdFVK QDtoIytXXkI/CnohVmRPVyohWUQpY0I4e0hBcSpRQFMxSDlAS1g5X203ejZBKTw8YHZVeyF8NXhl UCFlUyNjcUdJS3VMZEREIXZgQgp6V1hYTmFFSmNFYipBQ0AwIXVGLWI3VHYrTW1qYlojOGhtfTt2 ampIc0A0ZWpPKGF1bDdWQEYkWFg/SndmVHNlN2EKenIobzx5cUVxRGs/QV5vTEY2bUNTclg4YGRz ZkR4SCNVezx6NyZVWHVOPnVHJUNwPWAlbTx6b1J3P0FoZiZpYU12CnohSX0zSWhIdTYwR2gpck9I WVEqPGImS1J7elBycl5fYEJ5PElEIUEqN3N3ZGJla2JvdGp7QFVLQ2t6WWkqMjZFVgp6XmZ6YjJX RzhmOHB5dT82UTVSJUVXU35xVzlNc0ZeP3UpK0BEI2ZjY1VIQEFHU0FTKS1pWFZRbVlrdUViP3pL T3EKelZyXkQrKlg8OHcodW5sbVd3fD9mYjMpSypre0lPJCR1SH16NjMhMyoweXFBIWVePH0pWWh9 aiVWR3NVYHZrZiotCnprb2xXMilpei16cFduJEJXeDc5ZTFkRGR9KSZHfHhrb2l9UmZJfj9wKlpT ZV9nUjx9fG14JjJBTUR4Nl95QnFsWQp6byNXdWhmZDFgUGUmP0poUiM2WXR8MjdQcTlvWW5DaXYx JGBjbGE9OE1VfCpaSmRPTmF0KkpaWnh2UDRDTnVBbUwKek5lTH03ZSEze0xNNlFvWFYkRzlpSTcp TC18TXc3eSVuSTIqZDlXdUFvbyRnY2Jeekp6OUszUENqPiRtJk59NiVlCnpnRzE9dGxRQXtLQUdI aFlGKlU/enJealB5bDNzaHFXMGxTZXhBbkBPPXpkX3BxKG1BNmFZQ1pYZWl6bG5OVylHNQp6a2cx RFpZfVFXYjEkZyV4bDlDZSVLSEh0X0xpWGQ4VClWRWFlfjZkdGY5MXBhUmxSQD5VdmBDNFl4clBt JlRoRVMKeldOK25EIUc/T2AjdzVxdHdgX0h5LU1SOEhgeDM4PkR0NmFnSSs2fF5zUWJuXiklVVNX Uz52Tit3KWZwWGo4ITtQCnowOHhZMDs8ekFjKCs1JncqO2BEZUYyVk89Q2FHcCl3Q3E8QV5yU0xz KFJ5Uk4lQnctSElgQUxjd0F9aERmPHhQTgp6ZklZYmlBV30/dTtsfEh9QnFNdHh6dGJgUjlYaCNw Rm9zbVJWOUdqKD49SFAmJWRnJmVHfjV6S0NVLX19NCt1O2YKekM7bTl9KjBjXjIpcSlTQUdCWl9Q dXhTQ1k2bXR5Q1ptaGdGZnE7cz8xeWdeZC0ybSorO0NwamxsbyRsI3tXa2E8CnpDTUJ9XjBJOzI0 cnNxKDlfYGJ8O1oxQ3w9ejgkN1FiRD12YUI+emhrakQteDBaX2wzWVVIbVhkdig8PEY7QjBxdwp6 c05YSE5BOUZzI00pMmB+PEQ/aXNvQyoheE09YklxSGxiND9qeCg+Q3NKY19wSnxqbGtmUXotTjdN d1orOXdHUW0KemxyQl56MV9mTWZqQ2RiT0NCVE13Ym8+WDtBO3JgUyZzJChpbGFoPz92XmA1SGtJ bW0tIzF5c0xlJE1iMEtMSUA1CnpkaTgzNE54amM4SDh5QS07UWkoST9+MWwhJmI0NlJFOU5rU3tm fVYmbGBLQCZLITF3cHc/dUEoI30yaHkqYX5nQQp6aXtHYDQpK0dvdjkpI311WlB4QVVqfDNDWTxO fCl6e2VRVT16YEUxNmoyezJ7VEwyO2QlVilmbl5lUHY4R1dffCYKem9De1JtN0IzNGNsUiFjUFFg KXhJP3wxZz8rUHd8N0JXOCQtRUs9N3VMTyYzanAhaiZCcmhoUDNjV3lqZzNFKXhgCnpoS1M1bmkp ZWJ1QypSKVIqO311ZTU7R2YoempsQUVqbUUqJWcyS1F4bVZpTUBxVEFaZ0A2LSkqJmYmUDt7TXRB VQp6YCQ1JDk3JV9QU0RCV2pJN2FoTiswR0NKaF9oOFFhNUp7a3NUTWFsb2YxYWRnY0BGWk5zb1M1 ViotSDRKNSg9emkKekx0WFUmeEpeM15oNFgwZSlRZ2M7T2kxbW0qWiFve2R1X2otUCNgZj8rezBa VWw0Rz5lPX1rLWdeQG07OFJgMHdQCnpEbDRjej5lODtUcFF6VCZRakZBfTFWX0xDTFlLcHQpaEIo bk1QeFFlbVAhOVNucXIlTCtfOU5Kc318d0pgUVNzMAp6R0BUUG9VTEp0NU19RzlhSFZEUEMlT0dE RSZ9eU1zZEo5YHFmTik0cmYrdX5DP1MzVjNtMUNKVVQwSmdEUSRlND4KenE3eU5OemRwZzhRfnNJ d1JucX1AO35zcjlpe3FVVSghWXYrUDVxSz4hdU5YeGh4RS01RTB8bWdIWC1kJmd5bS1hCnphc0g/ RnlfMjIoZSVJYXpEdUVQWDRLeGVBYk8/aVFXZGdVc1hxM2RaXjFlWTkxYDBYMVFeRjNUY0E4TElo bH1aQgp6NTQ4PWhKalE1az91IVIhYX1OaEg8d0NlSmxeSnx+Iz01UEtlbX1VO0w+NSpLTHxBJSRY ZlhBK3lJb2BgdiRwYEwKek5sWi1xQShobTQmVSNIK2d5NWdSJl9FYCNVaXdYK3o3YCF0PiQjTXZz TFJBK0ZOZjN+QnkteFNFeC0zKGpjUnFjCnpEMnMzUDAwYDQhN1VMQzluPVoyLTd5eHd0KSV8VEo+ QWU3RmV3KGk+ZW9PSUNLT3xHMUFQZ0hrJTY+SlQ7eUZ5PAp6KmYzeSFZdz9YO1JAcDs8bTFITUpR MVVmaEJrYlctayV5MUtHS18mfjVpPShiQUNNLXVZPVNjTno4fWlme1dlPFIKejtOYWE/SCFacFlw bGROXmVgJCh3KTdtVjtESjJPVUh1YmI4bX01MFgpSHFFLSR0Zj5mRDk/UDQqTTszdlZ7IylNCnpG ViRZPHdaeFNFX0dQcHFjKTJsOT4yQnM2ZUohVHk4U3RiPHQ+Rn5NWSQte14hNFV4NzVYb1lxUzRn cjdCTDBGYwp6RHs7VkBxKDIpR2A0Y0RiVDNhMzlEY1lfLV8oMSR2TiZHTW5iblp8fihXJTBvSSk4 UlBBMDJEKyYtc0grUz4pbzEKel5GcjZOPlNuMUljZjtiJlpRQShDRH1eTj5yblBRfms5KE5YMDlV SCQ/T1RhUyNBViprPHN6b1g+VCY4JHlkbWRTCnpkbzBEeVZMTz1ubEN5Yk9DTGNfSGEyaF9Nenwo a3E7UFJ6PnFedmJ9MXByUiM/fik5aSgrRF5LY2NJSiVzWFJWVAp6cTR7IztoUkxyTWZfPmxlUVhs WUE4Pk1lUGBBbSF5MkdLKSU0bnB2ezFVclE8SCNDK15GSihvJHc7fEQ8cUk2fj0Keig7ZmorK0Bw LVNWQWJvMmNXUnc5MktZISNMRE5AeVg+akJ+IUl4ezFGYyp9dUc2elhPa15kQWBaM3NGWkUqfXVY Cnp5bH5YOUpmVHdPaklVaT12OXM3T3liWDtaZjAxJCVmUFopRThiQUNhTGFDXzJefHkkR0Ajbzl0 ZlhFb3YkcVhOQwp6b089YEF2fCU7c2d2Q31PSnFiMUpBVlI0enNZKTAxdVNvflExPC11eGh1PTs0 Uz8jdVpWeGUyXndsZCk0YmYkfTIKelkhbUt2MVAkc0RjX1RCRSN6bz85JlpPfjF7PDNnKXN6SktP bzZlbFp7YiFyUkJ8aj1BSiNDanJeO2Fvd0pUa2B8CnpRWnM/fVklQWc2IUxAT3cyJTNtJWlBUzVj ZD9mO28mJHJxYyh3OWprJGJSJl5lNmcmNTdmMCUoYWoyTz9SdG5sZQp6THNPUnhOeUN9dj5nO3Ih OXM0VGUyQWR8M0E/QEwqS1dNN3NDNFFrU2JaXlR1TV4wQXElSExKMFZeRDdubk5raF4KeitWS1lL U18qK3JpSTNZcm1kRDk8UipLTytgV2BBQkEofUpLYTFNYjtVbyNAWnBDJTk8TjwxZlNpfj1vXk0l VzRuCnpjKFl1Sl8oOWJ1PjNHWlhAQkAxcXFEZVUyUEFeeTk1bVU+MW1UXiQlRWMwMThIaXZ7UjZ5 P2k9KWE7SCtFck4wNAp6TzhvcFJ4OGMmdUNBI2A/andFb09GeF5lNyg+UDJqRTxlXi1BV2tESHsp VjI9ZUo4Wm4+endIWjlOJj8wVzIhMX0KemZiOHF+KTlKJnR6Mi02NHBvSWR8OEYkKUFoQT0/LXtO eCtgKUE/QkFFOTs5YGttY29OP3ppfnJTR1NFM2pCa1RqCnppaFE1cGB4KXh9YXBzQFgtei1YJHQ+ QkopdHJSOSFRLVUhUzV9e2JMXk9hNj4jcWwjTXtha2JjP2l9RW1qZlRZKAp6bW5nai0oTnkobDRK Pi19KTB2fk5hT15OfXRvVVpGel51O18mMnh9Xzh6cEd+WDxpO3IhXnV8KlcyP2F7TCNBT2MKejc4 PGJXOD9XNyExcXN7R0BGKWU/USR+THtKdyVEdERYMGNZZ3B+MyooJj56MkhPVGU3Ki1HQ2A2Uj58 NT9UYThzCnolK3ojdit+ODwqP2p3VzkreHVyVWBrUVUpcTh1N0dDVGFyandBODg3UCtzaiZLelkh dj1DUGNVcGchVUUkN0dObwp6P34jQFZrUilsdXFOaCR5bHh7S3FVSHtXVDFmMy0kMm8pa3J5VXdk SS15OHw1LSRkWEEoU1dfRl5lamN8Tlo8Jm0KenVUcU4wSDVOXzE5KzU2czQ0cSlZeDtsaVRaeXA0 ZklzPHw7UVNYTzI2RkYxS2NwQ31xNkUqUmY4KGFtN2k5V1M8Cnp3U19rc3k2eGdQO2c1N2NaaFhW QiE8KDQ4ZjsxNXBiYVNeUTBQTzBvQnwrbTs9diVDclNyKXkxeXRJO0NTa3cxaAp6ZSNmb2QyIU5a JiYtQWlCais+VCg1R1hVRks7MmRfWmU9KUBVbnFyRHIkJDdpUjZLYDk/dTU0dHZZI00qJTVsYUkK ekN6eE5OfElkUEIrK1BMOXY1dzV3N1EmdHcqQGVtWUdWJnRPI3VXUWVSdj5KVTx0fEAtUVF0THpu VnthRFJQbXV9Cno9UGF7a1JPJTV9MTNSK3lROUZJJntqODc3c09yfihCRj95b2x5dzVzbFMlUGtv ME8qKVYjeng1a3tmP3VVYy1zVAp6O3oxa31mMGU2O3RuaipjMFVWZHx2TnJKJT0xZj14M21tKDR5 djZleV9vMVhVUEJZRl5kMHclP0Y2STQ9Ml9ObSEKeko1Q1RfPUE4I2YzZ2ghQTY0UVNNWV5uWDko IztId0hkMFM3PEBieHY0aTQ1PnReaG5vbV83bU1KaU81SzVMZms2Cnp7RXUxI0c9a0FtUkdnOEtS Vz9GdXEoOFJZWm1pbGEqUkx8c0Q+RFA8KkAmQ2c0MTgxWj1IX2VUUT1MNTxxR3htcAp6PT9eNzNL S1l3NmtRWX4hPGFAY3hCOFotUXpWKGVRZHtNdFItJUZPYHZyVWhSbz5IMDtEcnUqRWsqZzgrMj5S RCkKenZiYWE3U2BMM3hYPFB8UlFaZTlAPyQheHxocVgtY0pkNlhxU3F1WDlDen1sQW9rfGlVSF8y P2t0dUxHe1ZNfWJQCnpDa3kwPkZKNiEhZVd5PiFAe0h5ZUowZU10P2k1QCkpNk9LJnV7Mj9hRys3 QGNeUGg1LXZLVTVyMDRUYHZxQDBeRgp6NU9BZipEdUZGVkZvYnFyOX5HNUBzbSE2SjViST9fZG9L TzFVak8mK2FvcWxXUklGSGJmQ2BpTlFwenhEQFhkQGsKektpPGU2bmFhX3R1KCNLaCN8THEwPWV1 QHk2aCZtamBDMGJnJntZTUh3MFJBR29ZQj16V2VDUn52ZkJlVnNzeWl9Cnp4OUlrLV5WMlFRd1JT TnEwVUp6OCUkNX5IOHluO3dIXjhuQHxBZ3Z5MzEqZSkzWHZsN0tTIXlGfDN8O1BzXiNkeAp6TVE8 S1R7JmlPdE41fThpJU1wanlrOX5UQDdPNyZNbmB4eH5WXzlzbDFRPW9ZfEplRXBzM15EZ2RtNXk+ T1MpNigKek1uWFlBS3RkV3NLKVEkU1A2LWp8MjVHNFFoVkN1Xz1AXmlQcCZSfSlkY1hWSy1+WVI3 eHQ2WncwKjNjSj1RKD5uCnomKSltMiY0cE5lKFVGNkdVNHJed1V4eSVfP05XazJRflU0fjx8VnlV Yi1nP2tNPmJzfiY7S3YyIXV5QElAaSN8PQp6SzAmUzh6dGt1My07a35wPUJ3O1JHIUkmRElSQ3JJ PUozTnNwWlFiNTxOdSVNX190JTdBd0V3NWlxbTdPZyhaRHkKeiRQSWNUaUVQe2I7ZDgpK0JpSj9r Vj92eFJBWn5aVmVgeGV7P1FXcUVkb0dxcmJwSHcqSD5PX1NwbyZRO0d8dEhnCnp2eEJ6eXUtOT9f aT1OUkR1WVVzOUE4KW1PITlIJCZuOz1lLUlgUWRoUlRwKipFRSFAVlNGVCh3TStPUn1gRzR5PAp6 dCk+ZCFFUjI+SVVxUk5pVDBHQ2dMO2M0ajl+Yk1Qa2t0cWk5KUBASEIkUHdfKTBkQF98Rj5uWlp3 Kl5tOHdFaXkKemRJeDF3KTR0YzZCdDxPbGAjJmRPWEo4N0c+JVRrMkRnUVhkT1FIREg/UEFWaSFO N2ZLKTl9SWpYdHx8YUJ8fkpVCnolMCN3VmReSDNEMUBgWkBNbCVkX3t9UFdLcn5LVFh0MnJwbml+ VE4oQm1UcCNYQF5Oa1JUVT9CRXVoXk1DUHNzVwp6IztvXjUkKG49djtzaW0yWX15cXpXbEY3PDZT LT0wUlZIMCFqXk4oV3NueSZsdUhPUVZANHVidHBaPD9DeV5sWUAKel9Ze2dpIX1rM1Z2Qy07V3BA bH4kaWtQenVgWT5rbDZ5cDlqKjh1alh7ZWMhWUB1X2p3anFBK3k8ZUlLd3hgSD1DCnoyZ0Z0ZFEz Z0tpeHdUZ0R5c2t4dElqbXokI3tjMngjeX0hZzU1Pi1HV2ZuaGFjM0VEMmdVdVlEMylaVkVfRGF3 Pwp6Q1BHcGlnJj4jYSNrX1VwVHpTTHROOWFEUGd8KC1rRy1QaU9Oe092el5fXm9kVWJoUjR4QjdU QlorX08zbldnZioKelREeVNhOy0pPClZJjM9dU8/SD9eJUNXN3tkRnl3Y2Z3c1A1aTAkMD5vPGty USt2fEVXI2VqeEswdVkxPFVoVm5mCnpkdn5uUkhVOU05OHNHT1hZNU9TUVRiPUUoQzY8bXAlLXR7 fGNReHA7Zz1RNDE3ZXRvcEh9Ymo2RmtqSHVYUWUpfQp6WTd+O2I2Nlc2ekNaY3JnIz96YGFZKkYp WmdLJF9iZ0JuSE1NfUBiMzIwdE12Z1Z1P3x0NyFnRmhuam9KPzZPLT0KekJrJHZvS2NAOVFtI3F4 PGNPemUpTCNlY183OEg3RV9kYUshPXZJVjRuT3JhP0A/VGJXeCtIZShTVD1ic2dsTm9RCnpWT2p1 XipsezwzOW5EeDZHNnR+X1YjZzsxWU88eV9fODxTMmhWJkIkJEBKdjZUWWIlbTx+bGg9ZzQ+fCFO OHw3bQp6TzNoZz9WIUFgO2xiSGV+a31nKm9JWkJneUExSWZFKzBkWmFkQ08rRCFyKU5NP19KJFRx SXFzOGVsSHd7bFIqSVMKeilXbiZOaVpqM2Rga3YqTnBeJk9qPWQ2KzZmZUs4MCRkJGpFcUBodz5s PENSIzB8en0kOyR9TUAmKSpDYW98RlktCnp0VnB7RXc8Y3pTQjxeKWwzdi1rSThwfUU9e2Exemta SFV3YEhOMDF6SjgrVHpHO1k8WSY5bnpTT35eNDxAOXBaaAp6KGhCcT9LMkZZJk9wams9QiFOPXQ7 X2A/bUBVJjFgZmlzUDwoKCFyKSF3Pn57SlhgI3h0TmZZTnd6TGA9T31tKnQKem5mTGJ4QFF2ej5V bmhwUUNFUig/QGdycGxsKy1hd3pOY0JzZ3B6PmtUVXMhO0F1MV82JXJWPFg8KHwmfXFSSmBvCnpr M0B2bDw0TH4jKz1uNXBAX01XXmZyWX4qdVlgdVktUEZJZ1p+JjdVKEJVYiZRR0dPKGVxQ2ZUKklU KnwjS0lyKgp6VSNDKDEoZyl8JkRTQ2hjKWd8OGQ8SEd2c0dRdFFATmFyT09HJiZpYEc2bDJrS3x2 Uj1ARUZDb3pEPXdBVUZmWUoKelBkYVYwbSozZmgwQG5taENPb31EWSVRJHp0I3lXRSRWbUw8Y0RH SitLdUVaTFRjJEcrTGpVYUprQTU8RWgrO2RnCnpmMWxLfHJ8RH13QnUySDg0Xzk1LVZpMmpAKWdU PDF3fVNTfGA8VGVsSkFvS25San0hXjJTKmFPayVYcWdVenZSYQp6YSZZd1I+RE8oIzJqcCtkNEt2 OEs3e0hJQXt9OUl7ZH1eOylZUEtEaiQyeSFWdSkzRXU2K3Fkckw9IXJWb3tDTigKeiFBSDIhaGtN WDNUWSR8e1MqTXt6KyZUNShXcDA+TFRzK2B0UWk8Q1kzVnt4eCV6c3l7Q1cmX19SJVhRSnJuSXRe CnpvTmRUMT48KyZCaWEjcE9hU2Itc29ZdXUjaDM7S31CbWdFUiVSWWRDd3Y2dSZpaEE3MkBfUHJ9 T1p2PDMrTjVoWgp6KUwyVys/KFFaU2I9ST9QKlRfMENhSCU0JC1fRE8jUnRBJDslfTZDSG5oIS0x QG57aVZ7OHBSP0Z3cHJrIV4hJngKenYxdSNrOGtWc0MxR09jPzVmREc1TEp6YEZTTCtZdWdsb3o8 KFNVMWw9JUlpXnY/a0lmWTJGb3pnX21zcFZhbyVTCnp3ez5fMz4lb3MpQ15YP0IhZTFrSEI2QX1W MC18eE1gKGUmUThEaEZ+PylmaktSQCR6eCZoTE07VEJtfitaWkgkUQp6O1leZE93ZjNtUilLJiQ9 TH1icGVTTyQqOzR5aVRzS0MkbE92UlduX0BAbVRyP3E1ZVZaNXdWb3w3c2V8dWVrfE0KemFzfHJD bGclTzdFc3V3fGdfUXx6SmtwUGg5aWtILWhMN3BPXldYUDVkRmVtb3k9MCg9YjNHO3VwR0s0TjBi JUZECnpKX2I8YjU2WCt6Tjl1byk/Y2wlUnNyck5CP14/RzExaFM4PllNMkw4WWh6KmJ3PVM+fHtj cHZDbUlATUJtdSVsUQp6JmZrYUVhX1FlUDV6Kk9Ue21jX0ltU1AmQjdgXmA7Zj1KXjJ2RUFRNj5h OCpWY1h1TnZ8Q0psX0JRQ08rXk1BSH4KekprMzlCXkVtZEF5fXpeaysqZj1vZH5WS080eT81dV9m byp4cmNKSChFM0hkaGpUYHQyS3Uwcn56VjhrNXVQdkdSCnokQFBFXklrcm5wJnArMGIrKHtAPEM4 N1cwbFpFe0VUUHI9aSohX2w8UFolSDxNY2x+dlR2d35jcTQkTDBgTnRucwp6Jl9pd3hkaTFBUElh YW1xSyh8Yk0peTBMbUVVZWVNR2dae0FjZXZPJTEqO1IjTGFrJjthLXI0eTxsdyEkKjtifWsKek1H VTFkLXcmSEIzeD8jQ3Q/fSVDeTAyTjR8Nyl5M1p6SWBsTGQhPUFmVWRXTiFxO2kob3JkKWB4X2pk fUxIRm1nCnpNeXdPPXUxK2hzcX5lfm4oNEZDTl88PSZlcmI8SWEqbkRNQyROaXJ0UkN2VUhaNlJP ZSVVP2wlTitYailKM09rKwp6JlNYSjNea0R6cEstOCt4d344WCsjOyZgKFNnX1lTe1dWaFZlU00r PS08e1kjRy1yYHozbG19ZCZlWF99TEFJVysKekVvcCgwbDIpTjFIfFJrJFEpOGk4WVMzSk5EZ31n fCF+OUZ1KDM0PU0mQ2pwWXNJOFRWK2koJEVeM0lgNEUjTUIpCnpnIyhrdGxsN3ZIcy1fRl5EJjBO PUFDWFhGQyRucTJePG98VVFxMz9RYHJQUW5Mcjs/d2liWE0+el5Ee2g8Z3xHNwp6cWE/OGZpbzg+ SWJBKzs3Q1NNKmQhVigyd1dfVCpWWUN4PU5vQTEzJVVvMkpYP3JqajEoQHchIWJUfl5Gc1RQXmwK ejMtKWN8RV9QNnM7fDllZkxaUClEdXh5Jm9vTyZ7d3VvK2Zmb1clVSg8bUNRRnFOPjBSSzM5czda KTN+SkFiWlhmCnpEMnhaem01fC1LO3crTnZqfWN0OWd0Wl48JiEkd31IYTtuYyRwNl50QHJvcW1l RH1sU2IqPCRAPWtBWFptQFAwaQp6dC0jdCtAe2E3OFd4TjRrRWhKfmBUQF4tKHA9WmhVbT45VGlI NHIxUEMrRUtUc0NBKD9uaFlINF9qdkN2M1hiTl8KekNJMTBqWD93Z3M4bjJ1RzJqJk87IT1qXjIr aGhuYGpjeTFVaDAyY1QpPTsjJEQzezNlYGE1alFjNWB1SC01bWdICnohTGJVbDxuPlAkQz5gOUxq eHw3bUZGQ3FCXmNeaG15MyMqK2IoYSVIeX1MTnZjNlh3clM4Vz1DTWFJWFZkQXtzKgp6UkE8cl5P NGRlP0xDakk1Szwme0BNKjVkMVpwbkZUdzJyKzMqIWdxbztaeUpfaTtlQWtFd0JEdk4hKkYzU3Vk dEcKejYoWmIwKmJ0TzU7PWdAflFASSFTcllUNHNXej4xdDE0KHdzc3dtP0Y2Y0lSWXQkM2V+Nnc2 fjBfUVRwNTIzd0QxCnoyRilgPE4xSEhkV1ZLbkpoemh0aiMoRDQtclpTMGF5SVJOYWYtWXhVRDQ2 RXpNd0VeNjxHdyQpQHhaYXshbXhXPgp6WDdBNEcwIXxkYXA/NjE5OWtra21FPHsmKGwte21WXkAz THcqIXdgaVB8VyNFZXY4PUt7aX0tdms3a1E4PlByYl4KeiQqOSkwQnhKQHJBc3lueXU/bE1ReG4k SVppUG5HMkgpUV9hVlZOfH5fKE5FKjhpYERHLXRhS3xtZVdDNnBzJFopCnp8TjlWXkd4YC0ySzxf eEFzX2pBN2dab3gwcn0jI15aMW1pUjQ+NF5JSCt5Ukl1c24kKz14PHM5ZCZKK053MEF5PQp6eU9v cDs9YTZTO1k/IXJYYUcyYzQ9WTBBJSlNUjdYVikrQz4ocyFNSEpHJC12SnF+bT5zaWZsM3ZSQmMo Y3h+OT8Kek5tZ0BOKj5kcmZKPzshdXdqRX1Qc3J4d25KMTRfS1kmY3oqVXd2OUUxNy13UkRyOzZ7 MEQ3RSRBbzxZWWZ5RGhKCnpuJD5sMCN1YT1CZWU7JlgkSUQrPHEpQ15jWXM+Qkt4VVpSKV9ZfDlr UCRgPDFoK1dJJnZRck9rNDZTayleKGJUdwp6QmA9Ty04OE1wTVNEcGR+RzBBJXV4aj83ZGJkKk97 PHEwTW5zR20xcmI8X1c7fDlBcV4+I3c5b1p5P1YySHEyeX4KenlyI1RoTiFRJlVAQW9ycjgyKEF6 U2lhZz8xPE8hQjtGb341PlJWdFFfKHQ8fSFAKGVQWGJzJGx7XkQqcDZFMTB9CnpgaXEqNXN2fE0w PStXI1BjQTVDVUhKKEA3ZDJ3WT5HR3E3bz5rO0x2OGo9c0xzWlgkKldjaj05cTVEPUJtYn4rUAp6 QGpSJjAoRzdqb0JGcEYzVkdqcENfWGlOKCNlbmgoNnY/fCYtcE5YO1JSIUg9OD1jWEEmNWxNdm1Q TUltY242I0EKemJMIVJDelI4bnNUcD54SSRBMntlRSVAJjJDIUM8bVd2YDE3ITQpQzFVemFPPk40 X2dnUSNobjE0KDtHfTNoQzhPCnphVlZ0UGoyM3ZqOWBqMmRsSVNKRldIVFIzOGdPQzw1bHYxX1d2 b1pSIXlvP1dJWW8+XjUpKi10d308MUdRaEd4PQp6TWlwMjB4KSNEKnViYy0hbzF6WCZ1Q3V+JXNM TzROaXdUWDd5Sj4lO3pLLTlzJTFgb2U8Njh5ZGkhWFdNYz1rZnsKeipsT09lSlBhNH0yMy12PlhB JG5aWXYrKiF2YEcydUU8JnJgeXpgajIxeCF+S3dXY3RxcG9aJk1EZiNQKm5UJEpBCnprbDJhPkh9 RHA8SyhqPnNqYWduUSomfiRTV341Mip8TE8qVnBaWl5JPykxeXlhd1grX2FrQSYkUHFlMX04aD1T awp6OVlOZWNxZVF7TTg5cFEjK1N7PH5JbUckQS19Uzg3cHhGJnRAUCEzTTt7QFNBRXl3aHE+d19Y RiNQZzw5QzZfaXwKekwxcih2QyVRSHJ7S2ZoMlZaNS1EMUZnSiRKU2N+Ymc7YnZ4czc3TCowZFFN WjBBVXUjclRHQmByNjR6b3g1cD4zCnpLWUFhOyFXN1ZaSVhnezR2OGdebmY3YWZeZShXTFZLUz8k VnJTP0plO1A1SzVJe3BNVEtSPldgOWMzODlCeT9+TAp6Z14jfHNqNHxSSDRgbj55JDx0Tj5hfTsr fHtOUTZYM2ZvPj5jZ3FqXlk3Q1o5YkkrKiNVJW4/IU8wI1FYVUQmWWIKelhxcVBwJn04eVlsUiE3 KyhXVDtEOHh9aEMhRTZvVz9eIz5uI1VFUntweTZWdmhNdndLYWNKPkFeb3ElU3ghKj9PCnpoY3oz OWFaaFdhU0Iwfm14WEwzYTZPTW8lLUd7QFo3flN5dGdkclk7K2wzTn05Z0FtckY8PlF5QWN1ZDVD LUJMRAp6UHYoWWJwVEwmS2ooaGshSjxIdTFodE82PyojbjE5Y3krS15vTUlxYHF6OEZGemtkS2ky ZCkxeDVuQExLYjArQnkKei0mWGFlXk5TWntAJDFZM3JFc0VSTGpOfj89fDk2byF1aXUpZjdveWxD ekJyaEpmYnhvPURzbntATDVsTnYlVW8tCnpKczw0KmJ6LVpeaC0jdTFRXkwwQlZ9Jntvbn54OzRp NjZxc3p9LUR1YG9RdFY4b3NuWE9mdWZAaFFjT0h2OFE0QAp6Tj5GJTYoMmZUQVglPEszXygwbD10 NiVXTylYfmVMbW9Oe207KHApamRiYUpzSmRzKHxFc1Vqdzx4PlgpIUttXkAKejFwY1Zoc0BhWmlS SGspSGNFOCl2QClCIUJGYWo7SyUjfXVvR3RhR25KV2xzWmlaWSFsanUqMzVMS2xCd21BdEZfCnpj RHRPWWk4QmsoS1RNUyNEPm53YlBsajdPek5RbDEmSk5Qb0FtekVEbnlhQD5Zc1JTPVZPZ0ZDMktX dl83YzAmZAp6UzxsZX5eY2JaMGhBcGQ7eT82YDN6PD1VPEtDTkFXOVc3PyRfZXFmWSVCLXlpeDY4 SGFxUmtPTktDYlhINlVzTVIKektOZlFLWUltYUZjX28kYiZgYCNrITNYaF9KfnN3K0AqRShta31a IVpGNEtEcGZ8ejN9RUMxMHMqPUw4MXwzVGp+CnppP0pzJjEtVWtBTXxMdmJlJCNZUk4pNEY+bj8j fU50VXJ7PDsmWDhXY344fXB5cVRBZ0NPKHRXR3NFTlR1KXZEfQp6XkZXYUprPk17ITQ+cH5fUGV3 VnZuZ2JjPSlOcytWKGVOZGdpJlNYQF4kOSlrNC1HT3VJYzZQXmF+JSVicGtsJFoKejZ2OSVPXnN3 VmA1IVEkQUNxMU07WSZfNW9QPn4lVHYkUSotK0VlMz9kMzVOKGsrXz1IVU43XnEje35BY1ErODI+ CnohWD5QKGd7bTw1YFhWfmZwS1dmWTd6d1FKbClmJGZ6fk9Oaj1YWGNIcGNhJlZDPH1sP0E7QEJn emhQTTtNZGNCagp6ZiU0VXglT2pmU3BYa21icm5XQjglJHEmV2NTcX44M0pgKDxAISoyc215dDxu eDckPWxgQGYtcVA/S2Z7QWNPNWcKekBSZnklb25NfHt0b2ttPzIwbkJXK21+OWxjP0V4aFBAanFf UUhNSWojVmNPRXMmZ2pJUyZQaEpEXyVVTUhic009CnplM1khMUY0WSN6PEo8ZzRVK3lPajYxd15E dWw9PkJxZXxienpHUXpQNUZKOVNCSSQmTzw+UWY1TXdUKVNBZigyMAp6YX1yJmVDeHR0WTNpcSor YlE0TTVaMEMpI2B2K1NYSV42ZShyPS1nSWlKSnE2QW1nemBASGxTNjJzeEpWeXlTPW8KekhLcl8q V3NrM0U4MGYwRnBPb3BlYzIyU3QybipVSVk0SElxbT9hISg0MCE+QXZARFNrTnh3NDsmV3RmMS16 WlJSCnppYTl0KVRabnRLRHMrKGp1KU9UTVUqWi1lRFp5Uyo7K3ZmXjFtWVR2Ki1QPTVgMmFFaXZC ei1WKU4lc05zSyM4Ngp6ZjFEZV9sZDdCSVZSQS1HSHNBY3twbndhM2VqXnJeRF5sNnhsYj9FbERU dFp5YjFpWFJkJnxmNXE2WjYmR2ZuMmQKekhhPkwtVD1AbSFiJSFhY149P3QraypyOCtqa1ErPThp JWh2SzlUMihXK2ojM1ZMM0w4SCQmX3F6OXNGNHFKQktTCno/KyU9JFR2cmZePCplKzlATFN7UCY7 Ukl3Rn49fFFXMHRPYXRYKTYpWDs/cWxVQHg/KztsKzF4bnNOMVZOKyQ0aQp6MXJnVUlhaHdPb3Zr V1FtQ19VJG81S3w3TGtreWYtQihjPURKMEArdnBUblI9N1ZDeTVIaVA0PmZ4UkRSeyhOYkEKemV+ VW5FdGo+S0c0dGNvVVUtQEV1dlF6X1Q/UjZ9eml4QHF1YyU0NEAoXnxDO0pmLU93Pk5MSm9nUWhD eUMwK0o8CnpLc142PzktSUJ3XmwrQ19Sd0Z3O2BHKCluc29eJllJIyUoTHRTY0lPSiEtfFNSKWVA dTVnKCV6OWg3dzVqVz5yXwp6dERXJkNUK2VQIzxqS0ROZ2djdk1RQSVWaFdCRmVhNk9WITVzUUwp Rnl3X2kzVXVUVDRpfn1tO0tVTkY0MFdwe2EKeiY3YmZyaE5ackYrQ2hmJSFCRnVeIUpEN0E5WTkp QHE8aHN4UiRVR3BKJU17JiN5c1NKT2hsXmhlVCtea0ZFQS12CnotPEktTWpBNGw/P0wwZENRajtz Y3E0Wk9pSyErJE9iWlllR0JrYz0obHFePD80YlBzVzBjSDlla3tvMk54dz4tdgp6X3VRJDV1fXN8 UG93IVhEO3BxVi1GV31tI1JMQ3NAUzBCSHtYZiFiUHlrPDtkNUMwPnRidldJTUI+bXdHIyZMQncK elhjRVA0UWV0QH1yUkhGPHU/Q0E7Pn1Tcy1JQ21KND5LWURZajdBJXAkX1J2Ml5vYnw5cigtOGpO VylAQDFmaCVnCnp0ZE5za0pyNE4wbFlTdT9rVGlsOVB2UD51NTQma0JmZ2E4dDBUWiROVWYhQVc7 PEI+X3R9QFZ9IUJgQWtAcihTdgp6I2clZWdvMGNCbCZvcmIyVVdOOCQlRjIxLWZSPmxFJX53cT05 ITdRbEk3Ql8zTFlJem0+bkw3NEwyV2kzRXl6djwKemBuQ3hTYXFXPDNzZ3U1X14wXk03O2l8bXRg flNKfT8tLTg1X1c9PiVKMiowbUU/eW49Jmh2ZGR4VTh3VkR6biFvCnp1dkRgN0lfc15eWS1ZbUd7 X1MhRTIybUsxOXtfIW4wI3l3PldUaFl9IStlTXtZZkthX3ojPUotJnpwYVhDalprUAp6ZkxYflc0 aH1GWm81S0YoOHxWTS01TF4kPyk0cEFLY0sqTEQweDJYWHJUO1F3Skx6cWF6ck1NQClMTGhWJkZ0 WSkKejs2TCZTU1lgan5HZTFFS0NvMTNsbFVBSGg3WGI3NGYzMmZYdWlvM09gNVQ8VUd5WGtaYEhM WHlwakxTUE07SUg/CnotdG81ZD1sVypwe15qJCU0S215KEB1UG8tQTJWUzZWQE9oOVN3YGR8RXsx PilpeXNoUVFUPm5MbFU1TXZSU0tLUQp6PnBkRk5LUzJgaU42VSQ2QTYjUG9hWnRHOzFTNzZLYE56 aX5odT9tbXlBYjhOYG5QRiEwdTImWllxSW9wQkdUM0gKekExY25UUWowbjhnTHZfaU0tM3dYSkpW MldmQVV4UzBeUiZWMXxBOF9DKTBBRiNid21HMiZMRWN2LTg/cnxHUCUkCnpzdyNpP0ooJU1CZENo dSVMWk9UJDN7T01odjJHOXcpXyZ0d3JqayVJbCV+KElTQXI1Q1pxd1FTQDwjV3E1bT9qYwp6U0Ng eVo+Y1hmIVZXclJuN1BoeElRKDw1Jj5WQ0w1aXxIISlaPmJZeDIme1d9PEl3WSFnNzNYektOe1J8 WlM2QnIKek5JTjNjOWM9NlhGKGlkQD4kanleQmRgcGRRN0VsbmZLaEtPM1Z+V0VWT1l1bGtITz89 dXI/PyQ9UjJUKSZ+bFRqCnpidXF8Y3RAQnNxIUZXems0MygmV0NhZSh2Kz1JcFppRj0tKld6NUZA U3AqKm1lenlBRDhlKWtAejFacmJAZiZ2Vwp6OTd0Zmk9JTxoUzhBNCljTngtQ0JnXldTYDZVeSlT cnNwVjc/YFNzdFlgK2g1aEc2akRgejxmckRge2JTY2BiZj8KenZgNHNIYT9nNjVDOXk9Y1VxMDVr ezgzUXckaXg5T1FHeFJ5LXx8LUBPMV9sKih1Myo3KEVHUnRTZ0YqRmU3OWBtCnpHezlLejI9MENI akhFaUkoUm9ZNnI8MF5ZeDI2fEhOTzA8d1A/MFdyWmIzTXFwV15qa3VqUGZaVSk1SWFSdWA3agp6 e0xTOCVZb2oqYjdBbHshaTNpUWtvYzFTPndYUFdNI3MzVTJOfVhxUEUjYCgoYEU3Zm4kcGshMy1o PXh7dTNAc1oKejI/ZCV1NyFPRT5fNFRoRFBobT0rKGw+ZGJ1bnRGV1Q+Y1VKMFZNYWVGRFduYVV3 VkE/d0R1R3VVbn1UI3VseDQ0CnpSRHw5Y081UVV9Sm5aOD5jNzxaaWZJT1YoOEFmMG9xSnZvT3Jm b1Z7OXwpRWAyKyZjZjx1QypaQj9pOXNPfjtZQQp6cU1jfW5fXz5AWj9xI3pLXjF2SkZSRTZubk1q ZEU7Q0VvUEdrYHhMSEBqSVRUK1pJdn5Sc3tpO191ZmwmYj5rZS0KekIhckwyPG50YnN5VXtQUDdk ZHd2JVlVUElwbT1VUVF4PjFZcG5lWStKSnhAZyk7OCsjKHZ7Zi16bHw8QlVWY2BhCnpkeHEtUU0m bztCdk52MDRCeSY/S1olVTg1PEFlUlU2anhzR3Ftcm9NWCordisxWjVLcDV9c2RmbTt7OUohLWZe cgp6MD1Eek9TJnl4WkUhQm5IPkN5dXo7Y3BtQld+Ym80PjQqT0ZDXm18U3tlJGc3ZUh8Pk1adWl0 LXk3Jnp9NnNMVlEKemE5P3UwKmVTe2k5Z0hPNXdpOEAoTmxmT0Bvdml6bW5GKSo4dGZHXlAxa1I8 LSltWjQyczI0MEU+VGxFaUg0TXdBCnpnYT50fmhAV2QtTitOYCR1aVFTNEV2TDQ3SnVpUUpqN1lM dkJ9YCQtUUQlJiZBZEZENmllSmxCOGd2KipidXRSNAp6WClOM2A/PGFrakQ1IypUaU1PTz5jdjB2 dTZyVkg5X1I8UCtle159WFJPZmZ3Sm14O1g8Kmt+cmJfejF3XjFpSVAKekFZWm1WWHFvbFF2P3p+ QjBCVG5uNSpkRCRrMEdEaSVKUT8qdnV+K1chWURaTkklP1RrSHFWYX1xfVQpVmthRT9wCnpJenBo WWxTcCh2YTZMYFQhPko9PHR0aVdQS0tKTSo1VEF0eTdtNyVpbm5fNVRBalckTXdyaD8wcUU4Y2xv WC16QAp6UWh6QiFgdzshZ3NsNCt1bGZVRWYmMFp6OWtCcV8kY3xmRytWUHpkYzVgOWowQiVHdVV4 NUMlV1J6aHQqbHI9K3YKek1GJn5JKlEqSWlULURHPWJsV3YqbVRsNCV4K1h6UlRacCpkX1ZfU1VY KFMxZ15fUmJeVi1zN2NGbGNzMj5wYF5gCnpPKCMzN3A/eH10JGM7dColcHMlZTskVDZQZUY5cGp3 blpYTmV+cHw8cFp5c1ZzbVZRbypodlk0cGdYVkchZiZEOAp6N1NgeWpjbUBkMWFPQD4+VGsqTVU0 RGYpKDdRPUVER0N4a04kST9oSHZ4ZTttQGRNSyh7ZEB0UUJWVjVqej9AfncKemtzcD5OMFpsblND N3tHK0ExM09YeG1zQFZZUTd7aUxAPm0yZ2xANnwpXkVxMmR5QHJHJEEpeTdCXnBKY0pKfk9gCnpT SzhYe2NVMWtIRzxILVp0flk4Z3NvXn5ZLTQ1b2JiPVREVilsYHpPNmM2VT5HRDQhUW9SdiR2X0Zf dVYtd2VEUgp6d0dedGFZYEopTVk0P0ZgcjMwMTUyNk1NREdlRz5hO15nNShVUlgwR3g0Nzc/NCRf eX1tSnxBU3pQc3hgRypzKFEKenNSOFp0d05feFVPQjVYSF5qYDdgb2tiUXpPMndkX2tPKWFPen0q M35VUlFWcnVpLVFwRndtZ2hQKjw2R24hLTlPCnpwMHpwcEhoRVNTP0NlSHpyWi1QQlh9ZSRSVEcx T3FoJl5FRys0ZGB+XiNlPzR6Ki11UTRMcmEzUllkTSs+WkIzWAp6RUMjNnhQcGBZPEpfQilecmsl bz5ZT311RGZXY2gzRDFFUEBDNFI7UCktUSU5KCtjJVhUPV5MeyZxIyZWYSUzc2kKenNTRURyeD0p YHslMERmMWxWQUUtSj93Tk9rSWIhbFNqMkR3RWsoXjE5ZkIqfmlFZD1CM00rJjtgJkdmTEArQzBt Cnp3M1NKb0NgXyZqUT4xJEsrcUs8YSlVdVgwP21xUXxPQE1haFY8YmFPMzRFYzVyQlpUMz9FTWFm U0k2X3IrbkMhQgp6M3pFeH1seF9ZJm55M2ZqdWlTb0UyTnQmbjRlcXVDTStXb1duaD1DdTB+JG8q c2x3TD5OZzY2b2ltVndxREs2KjQKekZCaWR1VmtUJGNSTDlMXj9MclMzeHYzOW5SJFhHKzl3Wkpw eWwmeUlUMEoqQ2hEaWYyO1Z7d19gbmJFaG9eOFFHCnomRT1seGIqPlh0azRmQnFAb1JYbzBMVTVS JnImI2luSSRvJXphQmZ8PmFwO3kmO25FV0AhXylWbUlHKXNrS0MpMwp6d0JXY1YoRyEkKiQjIXtl K3B0N3oqbWErfXF1YUg1S2c+Vm9HRzt9JXdGcmpBc0x2OXFHaThPQGpOTFBnPD9Hd2gKellEQFN+ JnVyUzglMU94cWtRazgxJVhJbEkpLUlqdnQxZUNodz5wVEVNTz00WnhFcTg4UXBCZXZQPFRNc15s UTx2CnpreGdWMEpaZkNTP1A3QlJrJmdoUmFVQm0yJGE+MTN4fSo2VDBwUUVLe2heJW43cX5CRWwt d3g2cWBpa2IxMV9uMwp6OzxAUUk8OzJVenRNdz5Aek5reUJFRDRgWmx8JUNzZ0leTCNMISF5Z2JQ KVhtREQ5XjleSHtReyFuRy09PW4xRDwKemBBNE18e3JGTndpSEBqSCMkNThaNj5BUGVePFpoVXI9 UChZejFkJWRAP09+dl9SXit8YWBwQWFRdGVJM2tPaG9hCnp1YWdHaHF3RzVXOGd8QHRWaC19Vjle QzBWejh6JCoxT29kfXVWSkFSV2wodDBEQHF0QWRMbDFPO3wtQl5Da3VpPQp6T1Z1PHJ3NUF1aW17 OD17RDVZP0BGOG59NzZnXlNnSSkpejY0anZ5TWRtLT5SOFI4O1NtX0pMNWw4e305XkpFTVUKemYj Qkc5TDYwMjckUEtXUlV5d2w4Xk5sZFJAITk/IWZ2O30kLXlnczxqfUQ5MSFOPVZaMVdTYjdtWiVp T1hYM0RjCnpANDtSZDsqMHhRZyk2YmtNUTRIY3trV3BnellrJnJtbUxPdmVHXjBwWGd5ZloyO0Fm QSNwQkxAUT53KlRCJFI3bAp6T3EmfVU/fHVITXlhTDBqTld1ckQyJFJ9TW1WLUU+KUNpcjEmOyRe KC1aXl5UO1dKYFBsVCRXZkJ9Q2FwQU1WN0EKek42NGA7PGg9VXMmfTYxYVcqfklAYTghN1VHUjI8 b0JhNz96NWpsJHt3ISF2ZDlAPH5QNiNldG5Fe0t2NWFSfS1kCnphajtrTDFEQnpTcF5qSEBLczhC SGxHajA5M2ZLakBDbD8oMXM0VlBUJk9lSiVgTiZeR0NSU3VsZCFDRGxSPF89Sgp6Ym9aTVFTUi13 UyZEKVRmPTtWKlFfNGk1QGt4VGQtYX5vfWVScT9uOyFsRGgzYTlGWHgyV2hLaXUxXkdZQ1IrJDAK enM7dXx8blkzRmI+KCVsaFYoWDNBWCpzZkNnXlk1VUVIbnN1aGY4aHUybGpTcSE+NXRiVChpOEpX VU9aJUA7QHphCnpLemFSPWomY2pgZV54Jl8+YiRRQEIoaU9sQEJLfTBHWXs4ZDVsQitJTFZxVm9v eTlqXi0hfGVCe3M9eFA5VHd7Qgp6XzI4LTZCcn57aThoX0Izd1VMQHNpblRGVkd9YXxAazdiQmJs QVJPbUNyd3w1azhlNHE5dVVHbjFWWmIpTGxNK3YKekReX2N1MFl6JkJeZ2I4c2xaVzZkQmpiPnxi OEwkaEFSSVdiWk5HMjQmanUlPEtUfEtzbU0jaG17WCNDfVY5WnU1Cno9RlgqfHBISm4yc1YrXmdq NkFQSSFaclItZ24lSyMyNTR7Y3hoRHZ5bFFac14jWlpedFZrOG9DKGRaYldCUCNSegp6YlE7SFZo cz5SJiR3TS1LVXRTSmtxcnhqak0qYEhKai1uTyU2JEhpX3Y1fiRBcDJJSHRjfi0yXmt1NC1mdGp5 QCMKemhZKiE1Tn57eTYoWHEtZEhyQ1NuOTlHakstUX5zfDZfRjhwQSlwbUJscSlYJUBsVEZuMnFF cmxxfHJCMWhrfXE3CnpPMn4tVjRPRXomPksoTTQyajFodEQjKU1SLTh0MGdAJm49RCZ0S2IhYntH b35tQU1qUjdOIVR9aXVjQDM0aDI2VQp6UD94cT9JeDJLWj1FcG8rIUNFY31Ldi1AdTE4KlRIV3E+ S2dzUjU5Snp5S0d2c15TK29NRl4kKFleMj5sdnloRXkKeiopWiZxWXkkRkxKUk04dTJWYDF8dnVq VWxtRFdVbU5sJV8+eURMR2U5Mk4kKT1efVZzPmVybFVGT0VrQ2shJGM9Cno7PElGX2NXPlRPUmlT WS1KaztLWElQJGJpKnh1SFlsUylvQFpoVUtLJE4hOThIZEU1PmtsPTt8e2glWEQxUmJsNAp6VmtE U08+Syg+PzJQQjxyOFYxWihNSkFtY0RFSC0zdGU7TFVtQ2gmXkFPV19US3FDWmgwKFh8RyE2Rmcm THJVPzMKejwlfHgwSXglODxgK3h+bkZfSS1UVnhTVC1kS2c1RkN0TWtzeHtQJn5IISZXXmtFVjsw b1pDbGotYiU5cXhFYHM9CnpMK2MpUEdBKDsxYSNKZzJmN2UwPHM0NlREWUgjMVhzUnxBV0BUMS18 QmxlVDttfkNpYXhUYWZiPWM2KGxsRTd5ewp6R040STZGZk5DPzZubWUoJlp2ZTJHKXJRKG4oSnJa ajYlUXN4Y1hAV3lKdl9QNlooOXojbUwyNiZuNlU3SmhrS3kKelUrZzd8TTlyfFQxIylLPUFtQyZ7 NT9DYSZCbn48LSMqRjN4KzFzdlIzMVZZPjF2RCVxUTxMMkdkUDVoe1BtKXxwCnpxJGE+b3BVeyhy Tn45Yn40OzJLOTZTckhzOG9nfkpjPWZWfVc4P3whdyU4TjVfT21FYkdqR2oobV85e1ZRdUhUfQp6 QHBNQGAodUAzM0sjampUNFhgdzE/PmQ5NHl8JGQ2czVSKl5NdSNKKHQhPHF7ZGQ+NTcxZzI1OER0 RnxMTUNWY2YKejVNfVJ0RmxoJkJAc1pFaXFoXlQ2SSFBdVM7Ti1LJFNiZ3xRKW1ZcXcxU204Kyps NmkhcnJqPFUrTTktMV5VKmBuCnpzdmxpQVE1fiooTH1QPzZmS3tmI2VlYyNkd1N6bDhNbCslZUp3 M3YoWFdoYCg0Ukh4bmRIcWYjZX4oaUZuMnRpRgp6ZU9aQWlrfWdhI0g8RTxQITJ3X2MlKCpTdFA4 Q1hSdXJWdj07PTdFZF9Za0lkYXBkVz10Zm5pJEprclpZamghMXEKel5oYSlHc1g4Z1JXaX5vT2lI ZmJ5c0B8YHVzRVBvbipSe3ljKipGLT0wbEwpKkNjTTJ9P09zN0B2LXYlTlgzQnsjCnoqNnNIOVE4 VHVBVWd9UmNNI1IwVUBYUS1Be2dtZyFlfUpjb1ZCWjU0eHpUJFFoY1dOe0JhZUAhKUtjUWtFeHwz KQp6OWM0eXQ5O2xrS3ZSI1d4IWAoSjxvOCZYa2JFI08zdG5EZXJzLXdlMHgtQT9mYHVZNyNmPXR5 bW1eRnxZKE9SY2sKemluZWMlRjYyajBUIzV2ckV5NTVoJENyeUJLfTtWTGpeKHF3PE0kRHNYaTNT czNFclAxJVlLTk48O2x6Z0hSeUY3Cnp0QTk+MVVqfStMYHR8Wio2X0p7RXJMaVQoT01wWCpBJmIz KGR5THZHPmE5YCg+cEBLYExKUEh0azRxN3VZdThhMAp6M0hDS0ZHYzhnbFJkNGohQD5UZjclPlp0 el9kUHorVVZSdTVfY25uPWErKVV2THFEVC1iVTV4dG5gNT9gamN+WmcKelJkcEtAI1MpJEIwd1BC KGJjZVBvbUNEZUhGPC0mKWpUdlYmR1RhXktjMml9Z14jfiY5ZXt+Pj1LIyFyQjwpUCtECnpNY0gk SzZhKHopeDM4NVFqfXNLTyQ1Ji1pSVkldlQ9S3VLZWlyKm10PzBJbShEVklVb05acUphbT90fDl7 RUQpcQp6K2ooRHAtTEhqVTxEbnk/STRob3NnUyF+KzhMNThGO3h+fWdsWkRlXzAjZXg9eiVoYk4q IStsTWtIUTh0NjBfVz0KenJwXy1ib08mekc7MEJDP09GV2Nnajc1K1I4OzZaWG1Ad0grVSQlO144 eyMxOXBRa3BBZiF2Slp1R2NUTm9EMUwpCnozKDNfYmVsPmtaIVA2ajB6Jj0/d1hFYTF8X25oJkEx WSszTTk9c1VDM2tgfCM1cStOfU8lUiRgeWlxRFJGSCo1cgp6V3d4ckVfU0IjdkZNWi1kOStiYnNO V3hDVF5xXi1jWUYtdEk3aVB0WGlRciVuKjk3aFpuQGR7eD1JLTxMcSNUZz8KenM0ZX4rcHMjcGpW WlkwcjsmMil7XzI8XmtOJFN8JU5PcWxEa0RgaERSVH1SWlphRFM+P0ApWkVGODgySDlfMFlOCnow UGduOEpUS0BWZjd0dW8laFFsJXVVYnc1OU5QaFFncjgkY0IkO2pjUUpPQXU+cFJZRSpSYGs5Pn16 VXdAe0ZGOQp6Rlg5diR6KmgyT2oyQFpFJitxZVhJajh0VC1MZHd9YytMYTcwOzwqMTwhYmQpR3lO SmZwTz5YfDZ9e0tCTWxAJksKejgtcWt8ZU8xUWkpRj9iWEhWY3RSSmdFIUZ6bURGQCVlfGFoITk+ cDIoaUtDPClnOTU9bmMkZj94UlBifCNGbXEoCnpJR3cxUElRWHRsJnw8am9yJnA3bDB2R2dGI010 blEqVDlfdWFqOUd0KCR2bUpKZFRmSCN5ekkoVzk+WCMhekN9aQp6KVRtZzEjQUhOdEY4QigtOzJ5 NjQ3NXBJUFJ1UDhASVRHUWAwTGRmMkgmeShWIVZ3IzY3V0lIQ3NndG1gKk0oX3oKelBGaSU2dkUy QmQ0e3F9TnN7MUVaWCpvc0E4JTVeSzJULWtQak5qekh1RjZDVk9yWmI5IUdAdVN2V2tXbnJoaVVC CnpxYyZPTEUkVnt6e3pfWjEjVSF+cWE2fkhZSWZAI1Iwfk43LVMkZDwkSWF2WkdqPTduPnFHJTYo Nm55d2F3RElCLQp6KDhuJWRxRnZSNGhCdyM0VTRMJW9PUnlRRkU4VHNqeXdmYm1EN2YpcChGXmso RX1ePVBiPE45cT8rKXlqP3tIWFgKemJZejNYdldzUURhTDFZayFqdFlmNlVydzEhalF3eExYVmF9 SnF8dk9XWTI2YT4qI3NNcUxZQ3EjYD91eF5fYDtKCno9YXtvPEErSGJsZVhYalpNbENsZGp1fDlf K1NEJmsjQUtnUkpgJFJOZGBPemh1Zk1QNTFmPnZVcypBfSZhMjRyNwp6WThlUzNFRjh4STtNNWwp ZkctPkQ4ZSVrPzkhIzZvaTIyRSFTO3lYR1FUT0t3T3opcz9EZENyPihiYjUrIXRuRVMKej89X2J7 JkFEdChnNnpDZD5wQmBeVl4/RU9zVUkhbSt8UCk4T21VQHcjPWNkemlgZ3soeXN4OHNralV+MGh6 c0JoCnpLaWNxRGJzMXlAdXBZKnQ5WnE5bkMhbDlnYkt2Vlp3NzYzUyhZTnVQbSs5N1l2aDNedzFn OVh6P31KbyM8K1kxcQp6KCs4VlVPVmZ7fGBZcFUycEdwNGdhWXAjSEpXMVNFNTlObjQpakJ6ciN0 QD05Zm5JUldZMCVxZ3BPKUAxaX18OWkKeiRocyN6eFZHPmxJPlotSXVYS09yelImZndWcVR1a1Z2 UnFKNiVTSEVWTWFyTEdVJkJtLTZ4O09VNiliMXRPTWtACnpGLU16ITlyZWZ0KVVsPFV3SVN8IUB6 a0coTVg4ZnIhKz5PN3JUVj1XaVBkNVpNcng8LUheP1clQnhHJSRGX0k4IQp6alEtQGVxKm81eUhE QVNGIUU8aj1TUE5mRDl0N1YkUHc3THUmYyU4fCFtP0doWCFpQ3pwX1pDLWB+LTc3d1JARkQKem56 ZEtGZ1NUd0FDcURuJGxwSCtAP3FyeWI4LVR7XmFNcFByUEooemk0R0JhPSpDcGd3VWlkfmcpTFJS ODU+JH10CnpNUFhsUEpRNTNHJEdxTjZLQj15dmIjeEdhaDFEOVU0dHVmbUtKeDskVlEwRktfPEZL cih9cF9CTUhaYVluUW9WfAp6Vm0/TjRyVWtkd2BXTllvcyVWM0ZeS3BKenUkTWNje0QqTn14PmIx aG8+cF5SNVU/WFNtNSgtWXB7dGNXbzdtb1gKelhPeWs4ISRTUT5vaXE1X0EwOCNjeWk5I35yMkFj dXpOVW9lWDI+WFcySllmWGJAY2JpUT1nNzRxIXUzQnUxRkVmCnphYSE0bFhnUDhXOzFTUmBxcEsl clI3bVNSaG0tSDFlX1VSPyhjPEZIN3J2QD9nckteIz5BaCtkZFo2OzhhM184Xgp6YXtRUGA0clZ7 WUBXS3s1R0xSRHtacXxyYj8+a0I2X2teYzE2KitSNUItUD1JZX4pYUJXUXxTYiVifDEzZWUoaiQK ekc5PDg1b3J6UUdIXnV1UW1oKUFIYXdMaEMtLXF9aTR+fSg1WXA9cXlINElTKy1jWWFTTEJ4Y3pa JikkKERpb2ViCnpKLWxIcz1JdEEjakg1N3pIPmJDfk83TUd9NHpyfXJVMTszSkdEa2UxS31KMUR0 S1p+PUVFMT9uVDwyNVZZMXF3awp6V3o4dChOKTJreGhTWTEhVzFQLWFvQVJUOVRUUGw/PnhTSFpA ZHxXPCpESCpFKEtaPFclI2cjKzg9WE1EM30tZHUKemRhUFRPPlhVbT9SQmVQIT1NQ0Fnb1ExIVBT NUheNER4TjJGTGojKW1zeWJoYkhvMmpXMl95O1N6cn1we20zdX1yCnorWkdqTFJvSSo9JFhudWtD dUIjZiFfPnROUFJYbWdRXm9nPDtaO2RIayo+Zno7Kns4KGI5JlFlPER0MEEkK1VIcQp6V3FSN0Bw OE1YQFIxMlFqNmFePzIwfkRUTWM4cH00bURyYlV5PHY2Sml8UVJZcWF0aWlZS357Y28zSzh1VzMt UmgKel42OC0mQmRSUEwoPU4wV3Y5YSh4QilMJUBvSkRjazxqOyhBdHV+NHhMUUpMRFU9Jmc0cjx0 bG0zenludHMmZVIlCnpWWWt2PnBCWmlVbHZROSZ4ciZBUiV6S3BDS2NxdjRLbkwrZGEhQGRAUWJj OEEpN2Vzc29PO0BXQUJ7Wk1UclNecgp6WlFJSkohcHQmNyRqN20mT3d7ayU2MzR2NFAwVXxMJEhF UTMyNldfeEdxJVAqdDBJPnAkdnQlPkpWYDR9cFYtcz0KemlQaGpDO18wfVMrSV81bGN6Yk5eYllO emNQY1lhZDtVSTA/JV4hfn5vSnAzN1JMWGgyVFJBfDs8VTh6ens2NEtoCnpocXw2Nm8tfl51UWFI NjYwIzlpQk4lJDc/cX1aJVlDPDc8KU5LbWlFV0hhej5lTio8KmpvYzAydzBXeHcqZms/Ugp6Vnso U294O0E0PWlGP0lre1kqcGpCIXFMJTE0UVBhQ3ZUel91NkU9d0kjVT4pMlJjXyVsby1Ua2RmNXVW YnthR0gKemwpdEhzaTFUOTZeRXo4JithKkVmOVJ3PWRhdjhOYShYNUd3c3NxSztYU1Q/OHJka0lp bSQ4NjVlTU0tUkZaQWRRCnpsM0trI0c+QT45SUBLe3xkTF4rWjV+PiQmeUI9QChDUm5KcTNkRk4j T145aXAzMjBiQCN2aSV3aTd6Wl8/ekRRSgp6QlljMVZIdGF2PzFIKHY4U21gX1FiU35TY3VEakpw OXwleTg/fSVpLVcwe2hZeyRmKmxXLUhSemN0VXxpdkJHdU0KeldKQ1I9Skg/dDdTRzYrVWhvY2Zl XzUkP2A2TFMyZXxHOUI1PVN0PEhueGFWWHolMjEjKlhJQj8wb2ZTKXM1ejBZCno+eXhiVjx5YGJJ V3lrRXJTMDZXe2RJPjdgNyFJRTQ+QmFTQ3hpcihRTXtobEN0dW5qd19SakpnRD9wPDRfU2sheAp6 YEp3dEVhaWNWVCVoK1Q3OXEoWTBIRXZkPTtxa2tFU0QmMH5fUHh7U3ZyfTt6dyVxYkh4aUN+XmtE fDx0azRsWSQKelp4dkg+X3JicmJqVz97bmxqb3RjdW48ODZLa1hYaFV4I0o1Xlk/ZzNsTEtEZyVR Mj5obFlHYGt8MmBGVVIyJTdUCnozeUVDLUhQUWd+STNpYFV6bG5fPHclKnpgRUYpcit0T3Z2b01D QSYtQVhNXnIha35ySlBvRThmRjAoKD1qa2lxZwp6e3dHYSk2e1VsNiNrP01VX2BOcjk5R1UmT3gq V2ZISiNwc0JfVEZMKjZLVShPNFFmb0VsOzFgQXFjSmU2TVFAUT0KelhKT0p2aDxVNihzVzJYP2Ah TXBnYWpmeylEYVJ8XkA8MSYoXztOZm9jcn5IfHZAJTxTY2w1QCMxbHBlZWNrPCtsCnopOylfaHU4 c0lqV3I/LXVVeHJMLWJfbWVsYDVrQHM7eE4mX1VBfGV5NUJ2V3p5bm5rKTg7VzFRQkFzdiVVO1BO Uwp6dW8qPT8zTWx7K3ludE9MMXpjJSp0KyUmT3F6eUV9cWt2dH13Qm9kRS0qKFNOPWg/JmhGVUVv QXA7Q3ImYUlnSEkKemxJWGAxXn5WUzxzPlJifitiLTBAdF5mejgjZF4hPHpEXlR4OCtrclVTVVow KCNOQjJ5bCleMkBpdHRANE5hZiRgCnpJbnFlQHMjcSo2R2FMYiNKe1AqVGAhIT1XaGxgQkA0eSNn b0d2I1Jgc3I8fUptUTtWYFZndzlJdVduYGUpa3s4SAp6KFZLbU1gRzI8Ukp8RXt9WW1wPHNxXkE2 QVNEMF8/VlVxdjBoeDFDZW8pYlhkZjNnNT40O3BUfXJxP2VzKz9UN1AKenhTQ2lqYllYXisrbHZL ej1nXld0WDdJVHxAPXp7X0J1bmEheTdCSTA9LV88VGh9JTwhaHspYzl8TGY2MV8kak5zCno9aTlY Izwqe3pxPHpLSzZZYmM0Iz9JPiMrYz1yfHcwTkFUK1lsV0YoMVlFWSZGMU8tVHpkanFkWVRZRSh2 c3ZANgp6KVQhPndhI318NmVvUyNqckY4SzNJcW80alQjVnZ3d2UtN1BTbXxgSWFvUFBidXdEQlVt UTYkRHZHSis/X09OK0QKelY4STZMZCg/YSs7VTBUKjxoQz19UUBgWTx4OFFxd2FMfHMzUX5Pc21k M3Z0dDVOODhTITh9KX1sQ2olKWRYeWM2Cno/UX1+PyEoJUszKEVscyFlTDR6bUJ+eC1VTnlEYSgl SDhFQzB0SmcpWHNpfVRAQHx8YyReRlJAWnRGezxIZWE5SAp6KTJ6cStXdD0kNDJjVGBzYEFqYEAq e1Z5YWgjb3U+Z21BZGhJbC0+VHlTUXc3Nm5FUDI2VENnJnYpSWFUSCFKfioKenNGNFA9LUVER1Ra MEUmPTIwUnxlYFRhITE1bko2d3RuQXJrQFRTYD5EYXN0d1dkUU1VeDEzRyNWQldLVnhZPXYrCnop bWQtSHsybnlhaEBwPnNUbi11S1JZRHY+VWZFMHM4LTMtS2N3cUhwOUF+NjE4U0peQWxEMGBvSlkw Y21TLXs/dAp6RGl2S0JrdjItbDdWRWlrUUghRlB5bVYmY0JaNGQ1UkcmZW4zMCNWSlJxdjFLX0Jg JnNzUVhiVysjdilXdVh5VzkKelQmKUh6Tm82PnwhaEVQSUNoYD1UIV5FYzB3dnwyQiV3TUNUKiR5 dno5b2VRQnhUVDhyRERCLUl3T3d7QjklJm8tCno1Vl5JRmNmO2I/MWlVVjZNOStVe0VZLW1oQXop KWFMIWF9dnVwOXVHcm49cmBOMWdydmNDU3UyOXo4NWg0UiZqMAp6R3hYSVJNRHZmTGYmRVRMMVBA XjB5KWI/N1ZjWCphMVNzJWxDaW8yfTA3djRnb2kmK2s5Q3BjNntyZHJZQFkwRm8KejxFZit5Wn5I QUc8Rmd+V1dvXm0odnFZRlljQmFCVzZxZH1NRStoUXlNZDxLUitvSykwRlJzQlhQRiNTd2MoMDsp CnopVU1AUkReMWVSbWxWNjtAQCF8eTtBVHpRbVZwaihIbEAxb011Q2RSUD9qZD5XYEMpPFZRKVcj YEN+dUllSTloNwp6Tl5vI3k7c0k+NktCUzZ5SURJeyMoPjRVM1hSekIkST0/Km1eejNrIylEWG1H UjQjdm52dXdaQT58V2BlSXZrKCgKemBeblFxdDNrM25leC0pNEJiaUNMQ0klQTE2Vyg7X2Q4T1Eo XjR1e2FnV0Rkdz5zTWZTelYtU1NoNUpgel97JXY5Cno4ZHg2MkxTTikjSC1UeiElRWl1OXBCa2tO PSh1LU85c2tIVTFtMjlvV29Fdj97d1ZnYXh7bz8lKGpTfHM/XnZaaAp6QSpqQzMzbEcqcHd1OGh5 d2BmPiR0SEJjWiopRE9qTzs2R1gtNmJEX1A7dU8+RGFzbFFKRlpMe0NvQkZgNXAkKz8KenhIandB M2NHQTBiQGxie2dXUT5CQWkqejg8RiFeKDRxMkNJJWEqfDxkSlBxKUZKUCh2QDk/MCUyVSZ4UE4t SCtXCno1bWdkMGlJSTE4R1pjVHZLYjJqQz4pIzV3QnJ2cHYmRilfZCV5bVFQIWthaUhFYEZOMTRm RlFwN3NTeX47RHApKQp6cyNDQF8lZzJ4bDVBfF8yRVVwS3hiNEJQZTdgZyVeU0VxNjcoJTA3ZC1i c0tPKHc8cVp1bEU8UXpAa2RaezJtYEoKemlYYHNgSm01M0VQWF5ZMHB3bm90d0U3cXt6SDZ7TUFV djg3T0g+X3tGMmR8bDAhaFl+USg5IVdldHc8RypGIzI4CnpqRUtecnRkWU1HNU41aUZmb01Hci1J NSFHUVdJeCR5K0hwP1IxNz9pPyhlTjFyYGJyTmVHdkA5ZmlzaHBSKlMmdQp6UVZpMGtXMEheRnow YyNld35YSjFEXj04QFZlb0BBZEVTam4qZmsjcmtSVHNHcG9gITJubSE5PSFfdSg0ekIrMiEKejxJ MFFXP0gtQG0zNDZsPzd9c0p8MiphaypteTd7WiphMzZjMzErOEVkaWZMMWlydExfTXN4YWU1Nm0+ SkNVUWdlCnpyMUVTY1FhQ0E0UTVhbzcxRWBUZz5sVXdBVXAqcmYqM2w3R05FYGMxLVJJKnw2RWxI b2hBWW9GUT1DZ1JsQGk2YQp6VjY2RCVwbmhTcksjQVAzUWYrPGtHdFRJbXFmQTxVV3okeHM3a09z SVQoSDxEZ2AyJEteQk1VfVBMXldlaWphSX0KekYkVlliO1V9QThDdmxHeipJOSFsQGxrUEhQUlU1 I0ZXKkBKZVgmJGlOaVA7TCM4ZlNaQWtzVEtqN0RCI0p3dHNSCnorLXIme1hTeExZTXZwaHpYRCgx eXYhQ2c4PXMwRWNSblkhJF9pVHs4NT54ekw+JSkhcHRpMHZJbn52cl49czZXbAp6Sj1pP2I/N3Q8 ZSRzPmhOcUc1ZF5QTG5yRmJmUTExe1d4KXp5RmU8T3kxTm5MbF5fdFV6SkxMKSNvent3QUtjc3EK ejliK0JmYTBQRzBAaldmdWArZk9mT2I5VD1AellwT1R6eXxub0k5R0NLeFAyNnl0Rzl7YFE/anlV cUt3UXVuTnIkCnphQ01fJXQ0WFA2MHNnMTRKP3V4Yk10LWlkUD8lJEd5RCV8KVdrSl5tIUtRNWsz N1R9Pyl7REg3cmtedCheMkkybAp6TlBRZWNNQllRa0FxLUM4JEJgQSR5Xy08VzczOUl7I0tAbylH MWJwe3gmNiRlQlJPbDdrUDNNbmJ9UVp6RD47KU8Kekx4dUNBUD0zITRkPSVFVCZgeTQwQ2tTIzlD MihoJWNkQGdye1JiWjI7STN8RjRMUGtlSSRLPH04bj8/WjN2KiNNCnprelZtazRgVCQ7aSVodnhv SUpeeFhVXzdUYmR9aS09TX5CWXt8WDhDMzNMU1NlPUR1e3U1SVlpXkpUQyVkI2I0Swp6JlJ3TUlP LUluLT42bTAzSEcwRmI8KkZ3TjRTKXMmPkJPakBTQWF1VldFbXBjJGt3K1FNNTFFaTIxU3dtMWVm PUAKemglSU5peWZYUm41Xl9rLVFCbG1abUohIVVeXn1YV0l1c1hpNigpKjVuOTZ3cERyR18+TXpQ RTlzWHhObVVfJio1CnpKbWp0THk2eCsxIVN9YTJ7MkdRPEIkSkspUHNBQXNpWnQtWnN4PT0qXnll cjEwNX0pQig/YlNQbGkmX2k4Y1pWbQp6R3dGVkFZSUA5M1IjZTF5Z0VCT1RqM3xTK2xqbmk+N1ZG JitEaVB+KCpETHh+YyVlPWk0eExaeks3eTZGVExATTMKei1vcl57eXdRZHBtUXwlKmdkJkY5YH4y QkM7YHAmNXt1dE19TT15bEcmPHkkYkN0eDZCT2JPeTgzMU9tPyRpe2xhCnpzZzJAc1EqLThmODFl WG85ezV9PyYwO01JOWZkUzBPeUg3cVlOKCN8U1ZsUjcoaExVSWo3Y29payh7NzhHaVoySAp6VVk/ SCMxaWpzaklMVHFqQHlYSzxVKUZIQnY3KF5OO3hQJS1BUVYzdm1vMzwzKDM3YXIlPkJfPmdQX0lZ cmVeeFMKejhLPDhobHNVOzhXe0hBbldacUFJYDV5UWtrXkFqRChtQ2x7Xiowc3pteH1jT3ZpeElF dUIhNUZ6Q29lX05+UmUxCnpvcDJAfFcqfD9kTjZ4fGJhbHR7bG5ATFFUNStlcmFwNk1PeEpNY1Ux P2c+Zn09PHoyJk0hT3psXyN0Yz9hN3pANQp6JEBJb14kKzNAJE9VVU8yTXJlTiZ7M3pHe25Ka2pK M0hPUkczNDRPfmlNaGhneil5eWlRKGtpMHIoPkptPVFKX2cKek8oWG5ZLU19R1VVdkY3TjxpZyQy MlZaeHUoNkEofmd7c0hoTW9KUCZwbi1yRSNtPyY9MzxUJDJHT2hVcElZb0coCnokOTxlOUs0N3tU eSpfTHtPMjU9VV5GKD18eXpII2B2VzApV01KQEhGO30mXmY9SlZpR3ktKEJLalJvQzg1JjxMOQp6 NSM1Jjskd2NYdTB7SERwJGpLeFIkYnYza2sjS0BFKWdwOHNnXmE/SCRvbi1SIz55RHZWbEVtMTA/ U2t3KU5DY0kKellwSElfTXxWKWJxbnpQO3YqUm1CQih8WCpBU2xnTjZgcWR9PEhZdSowV1RBU29i YTgkPTZMdkdeKHR+WUk/N2R2CnpObXBwV0dXMkVnUCpNYkZKdHFQWVlEZz40NS1vRDlITGpXQHBf QlVvWF9uOW9sT195b3FvZkxHdDUpfXJPUl5LUQp6JjwhST92aHp+V01TX0dNKFlrMFpVeWZKMWB6 N2JuNGhFeFhBfFN2NXtrYElsR0UmblUqT297eldpJSprWXV+VksKejB9Qko7b2slNk5eQHs+eS1Q bE8/Zm8yX1cmeHUmN0cmKVEqT309PGoxU0FVK1ZZYUp4KDZTSio1T3VDZkQrdSY+CnpNWT9OaTJD NylHWlIwa30yMFo1XlZxd29NVEgrND9eMVghVXU0K35wc3VYR3ojM0JkZllaQGN0I0clZ1FZbVVE fQp6em5udXUhN0ZLfU9MclNTTFpUWWc8WV8te3dyY0FwMHZaPW1WVzUwNnE0OTQ7YTh3OSE3clJ6 KU4pN0BCMXNETFYKemMtbUY9UWppZW1ISTNoKmtEJiZ3WF56OFZVcG1fJjF2UDRwSkd3fEM+P0s9 RTJJeUc8VVNfdXxBfHNZKVdgaTkxCno1UmohS0NBbmMyJWp9Tko7KyFgTmB7aH5UI1hCS0tDZjhh a3JrIW1RYyZ6RUZLQylEcUhwJXxidCtodnZHYWxhdwp6RClKVCUzQGAoNU92Jj4rPz0ydjVgUEJ0 TCs+fktjR1lzaXk2dHNNTnBrREpLViRvR1VuXj4xd2lHREMpZGN4NkIKelYoZ0lON1V8U0lNSzR2 YHhgcWRFRUckT2x0XzhRUkFHKXozWnNtYzFlaDlMa2E1NjhfU1pNLX5wQW9WNk8/SlpjCnpVai0r N2kxRXozXmJtNExuMGtqWHw4JGl9N29vPiNYTiYzKkx8T1Z8aTlVNkd2I0d0NVVUKSNJXkVUQCZz NkAzeQp6aVo+YVo8SmpjPmlzdWRtOWJNYktnTyppezY3eGQ2QllXKU4pPWozI2FRIzQ+ZlNYMk9m JjA+ZlhMU190UlV9TVMKemxTT1pwY09Db0tycUQpPUorSEdgTl9yTGgoQEh5LVVYMDM/ZCMlR2Jz MlhLIyM4TXBqKWx9SjdnWXVaZDxLbj1qCnpLM0Qham89MjNPdm1ke30yfGkxbXk1S1MoJm53SjxM ayspS2ZFd1czTklQK0lWdSgmaUB0fVQqayk/bUJ7Qkc1bAp6eCN+O05AckhOeTRAS2xiYkFiJD1V KEZpe05fUTJ2bkB2KVZoeExlWmlLVCtRMSU/UTZ7LVZGS1VaPjhoPm5feCoKemMwS2xITWRaNzc8 MClLQ098Snw3b31iTmZPaDc1MmcpNXB9V18wSXVlJkFhS3Rtb3RjV3ZGUTZfaShAfGlHISp4CnpZ P1pFbGtkbDVkP2xXS0RZUE9IOFFtYEFAPnxNKm57RSplYzFTRHI5Uil1LUIzMSV5XyFtM3R6UU89 fE1RZmVwPwp6Z194dmJUbGtyWkpfIXFMZEptaXVyV1FPMV9iKz9MYlEmRGpiaHh8MXUrfT8kI19G SFBCJCFlJCRYaHo5YTJPYWYKensyVjFaOz5YelMtQHwpQ3VSfXg3d1BxZUtBME0pZ1JXTD45KlVT T00kSjg7KypJKlVCOFNaMGEqTiY2cSpIeSNvCnp4P3d+U2w0VXx+ano2M0ZNYXUhSTw8MFJJQ3hZ TTtZTihOXkQlRitPSCUoWGNsdnJ1YipFd0h3dEJPZVh0dVE4Ngp6UWxfNE88NGliPFRFQWVCdmpu QSEzZzR5JWhsRHM1ZH13KHAjIXYrVHphPnAoQXJLPzB7X2VxKUE5OVlWTF96RX4KekE3KnNSTFhO citre199dSVtdGpqa3MjY3ZmPXRHQitgPmlxPHxNRyVhZkFTcitjUjNwSjFnRG9FbGtSZHI2YHlK CnpgcTI5enJYQk1gOyQ4UGE2aDhWMFRgXzY3e19jbmVoXjJKKkUmQk1YKyF7SXtibENjUmxqVUM0 bCU2TVh0UUhefgp6Z30rWXJyZzsxVUcrV1haPlY9TElXK1FYWUwpQ3xJTnZ2ZkNCN3RhMFRPTXRN TiRebTkoIVdJODB2fGc/ZHhjJCkKenc3NlMoe2RuNXYme3NHekRSOFU/JD5oO2pGcHpJeXstT24q IXhLeT5aRiNnMFV3cmZeVC1eKiVmVi1yTG4ob1FzCnpwQ0haTWFaSkRJUngxN312KFBtWjFYPz9j LUs0PGFvcEkmOSZXd31MWihXaHVsaGhDYz18UngpczhIeSZFQFJ1LQp6cFd4dCU2K2pUeXNKYjtI V2YqNzAzRX5qQjtsd3NgQCVAPE8kSVIhTWp6RSZCTzwtZ2tsd1JMaiorTFdaZ3p4blMKeiU4dHt1 VyokV0ZLRFRGbDUxP2AwNCNyfVJQRCp9NThPKSFLczlsQEdme01SNUNPJmw8I0UwU0YhMEczSm4j cjdWCnowb2Y8eD51Y2J4dWc0RFNJZFo3YyZMR1kzQXE9Y1lmRFNHeTNFa3dUK3pYd0gpUyp0U0Ve cCNyPzxlTHVtdHM3RQp6SFZ8aU5zNV5sa2F6LUJ8ZUQ1UndHPk56b0Z3cEBRe0o4emspRk0ob09R UXxpPSN4OHxjaD9hfTxNe190eFhYJXMKellBaHUwMkVXaHA5JCQtZDJsKGhEe2UxSU90WVR7fXha e09AYmhUNndjajc4dDFwOWZtUjhGaXFxVENEUD42YU1mCnpWQG1TX0tkfkwjKntpZX5Qazctdkk5 RCg+IShYakJ1QSNfSyhyM0FSQVM/NFNObl4hUXRaPSU1JT1yJFdac3hYPAp6WnQkVEVLUW1eK2lw RCM4dllpSGJqPUU/ODQqSU9HT3F3KGBYRCszekt2R0VoYlkwIUBVRnQ1XiQ1bVJ4aT1FcXoKemtF cTlJYjgmcSFsTCNyZ0dtK1V3M1gtR0U1eDBCYlMlPnNpQD1LSVJ4TD5FOHFLVl5TdmJyNlZqd3R6 T1NaYCFECnpjWjFBZGFafGZqKyEkQiZCP1l2emNWVF5TYy0/eXJpVTtLRmJXaW9XdE1hdSslbitR JWoxJVd4IWZReHc3a05meAp6Zl8yV1FPKGR6Z2BAKypDMVc9eEZGTnl9M3wyKVhlP3hNO1BGO3lF OGY3enN1ZGI9JiZobiFFQTQ0Qks/STxZLTEKelczLTFUQE9JOCk4YUFkSiU7KWJnWDVpeiNQTl5S aEtQc0EybExTdUVobHRWU0lyY1E8VTdGPmIpNUhiJiU7U0w+CnozVi1tWmJVeDI9M2spUFJWO2RB KlR1ZkJOPyopMFNqfH5BUjI5biVyQDZ5TVRuMGtOZUFKeE5GJjJAPVktdzdNUwp6eTQydHxCcV9h MilwN21mRnNBc2gqb0h3S2R5S31sUD5STDdfVHRicWFEWTtWVVV4dVJ5MEUrPExJZCZUWWM8MiYK ejJrRGBhPXZsWihffVhqVnJfI1VoQ245OT17RTBKRWE4QXFBaF9CS3owQVE/e3E1YDhvdCleWEJ8 NSluSlZqUXl9CnpYdyt+VkN0RitKb3Z+KGNsWVVeYnJTXkByN21+Xl9YR3BfU05yO1JaUiVLNSpE Z2dYVWt0MUtabXtlXiQpPC0xUAp6ZDlLVCNWJkRqKWw8OEZBd1dlenJOPjZtYyNkUj01KiZVQn5w PEYzPyE/b3ZYPiVgJEQtR2FLdns0RWt9SHYwKCQKemRALSNCVVF5a2tWQV94WUtqODE7NTdCPj9V WGc0TWlYWiltfEozKllHND5XdlJpJDZwSTJ7NX4oaGBiRGhhdztpCno3SyleKGJjdTkjSCVMaCst Mz08Oy1RNmtPLUVwYVYkP3FKO2BPUz5ufE0mZ1puI0lnNEY2Vy19cDhmOXFKYlVrVgp6S1dOUl40 eH1HcExlaF9kQVpneUItYV49JHg5XlpYYFg9ND9GeWBpRHVfa2VISH5rYnp3eko1XjlYcCMzRzlD MCYKemFAZGJMJjxfR3IpbWVQaTB+JFRATnd4REl6TTstVzdwMDBHUXAwflR1ODQpbWo8YXp1bEhe SC1sWkxfcSl3MmduCnotcCYoNyR4cUlubFp0Mj9GMj9tKTJiJjNuaFR2aT1TMWRlVl9aPWpkYW5H dThPZmFKaUBPKj4yQDItfCVeXm1mdwp6blZJfTFEcE1jZykjbyhmVkRGMFRnPFpNP2NjSCFrUkhA TGB1QTtjSlB1NFckeThDWk16WTArdzJ1NVAlVHA3V3sKensyS1kjNz5GOyVGdWY3X1kkaGF6dnVN ZjFZRVMoPl5eXnVhak5yTmx4USo0MSUpO3htUSVAVG4/R3pWS14qdzBTCnp5QTxqUzh3Q3ROUHQ5 PVMqeD9uezQoczhveXc/Tj9kNj59SCQxYldXbX4oeGN7bFFGI2s5KWczKDBTe3MpOWsqUAp6ZEQ9 eDFVTSh5JXZfSXt1NWB7Z3MkMipJeDdTOHpsMXh2Zk5Lb3lwN0I0eUI9RmdpN1pfSUVWKTdLS1kl YE96WGoKekBEPVIwZEBPTCQoJHdOSXMoWnw0dH5zc282SnFDK1U8dmFJIWVlViE7MyFETEN5OEw8 dEROQj9XOURRbG9rPnFQCnpGR3phTko8ciRxaTZ7aFdfOF5fSmdYWmhhZUQmZ2gkSWlOZiR8fHMr TVZ2TTdMYzIxMSpVd05na3ZySnN2VVlaKwp6SF8keDgkVHNRaEtPbk1pQWV9aGZRfDZ1T0spT3RS Kis1NEBKYjxXcl89WWNANnFXU2o1VjQxU2dwQDEraiRBdnAKemNIPn4rMmlqUWNZNjFPKlBkfElm dXIpT3JxOGRkYVByTDhNMT57flBHR2V6eXthREMrakF4cFE9PXx0cndQKiEzCnpzbTJISVVMOWl9 TDNePml5VVVqbDxhXm9VI3BAfn40U0YlSk4qXz1xQldSZlVXU08mSlMhNmklQUlzZDglYEM+TQp6 Q0JeRnx2QXElYTxlPWY9MSU9cjclQzBLJG4qaUs9aSlxXk4hNWJyPFc7NGFiSmtZQHQ9TGI9Y0NU PVJjc2E+XmwKemM0eitpPSsqLWk1PS1HSTlTeVk5Q3Y9MilZYkN7dTwpSWB5JXNhY35LOVl9fFlL O1olK1UwVlRfKkIqfTNyIUJrCnpJKz89YGlkOGNWRyFAMFpkKjU+d1Q1KTZ9ZDJfYGU0T0A2fHpo T2FJSW9hZXFqMWJidj5BKDglezk8V1FXVDFnbAp6XypNTD07UlhCOVlyUF9kVEZzekZUc24pbDQ4 cjJ0NkJQYkR3TmcqKSpxNHh6dyplVFphelBrJExOOUshK3d0YH4KellqfXpBblV4Xn5ZelMycEw+ Zlc7JGExYjErMyloOUJaO3RpKXVgVjkxb3RNZjYmbUlJREs5bSZiXmJvYih+c0h1Cnp1dDVhPEg1 YWtudHBUZyFeP0h1e2pHLXJPSUdmeUFzKkI+P3JmPTc3WVlycTRrYGVKZXRgMUd7VHYmclNPPTkw Xwp6cmA7KjtycUg+OGw9YWx7SW5TPDh0JEBnQlQtempUQ0IjbV5Xa241Z2JCV1ZWcD9+a1FSdzUh fHFVM14tTzE9NUkKej94X2whcH14UWxSQV5AZ2RuK0h8TChiakFmcj8zTkY5cWxMIXYxd0Znb1Jh dVIwJlA5Nzc7YCZBKE9PaHJybUleCnpAbE8xe3I9YHYrKTNUMzNAe0NNIW1me19CQ05TKk5oQl5g TWVENjB8Mys5a240WncqYDZWUlhVWHtgNEA0ayF0Tgp6bTdTbndMM0lmYHkkYW5MSU9HX0xGdF83 KTJlRnNQPklaQCRKSW12X2ApJklrXkB8VDw3bDJwSENte3MmezZhbVAKei15YEE8bmZzeTJxQi19 KHhleX1ZezNKfC1HYCg8fEdhQXckKmprTDl5UShCKT9LPzt0aTdGJl9TeTR2RGtzT3NBCnpYbS1e KURXQl9qUGNIOEUpQlJeSVBNM1N0RWwoc1VNOTFCMUAlYHkxdXVkWFJwaD5SWFBJaFFsI2JWZVc/ ZjhnTgp6OXpwQ29uITZHZ0Jkci0yPXVaZkB7bERNWSpWUEEmQ1A4X2E/dUYyVEhxQ21TfEpVNktx Z0J9KFAze2lJdCh8Rm8KelpCRylxRG1KSmlVMGN+MV8jUj58LUB9JGVhaWFScG5Hb3VQIzIjeC1f PmAkbmFmaD98Tm9QdlpPNnxTZj5QPFdECnpSSlp6NmRMfSNQUEBiOWlZT1RHcjRAI3ZaVmNyWiZH SSNybD9OXmlISDJCSF58TU0jd0JRemF6dHtneXd0YmJlMAp6aU4wflMmOSRyT2dAXnpmSU1Eby1Q a2tkUVIhKjleLSk4Wl9obV9FVypaRVIrUy1qUyNjaHtgSTEwZHByXj47aCEKejw5aD5sS2pZby1N dElMVzZfdDhtYD9AVXpoN205X189K18rMWY5PzIobyNCbDtjb0NhcElkWmU+TiQ7KmxlLUY5Cnpj RXc9RkUle1FkQzVpeC1zamdzYXIjME88cm9Makstbk43SiNXYTsrOVElYXxsMVFVdlUhUTstTGlH VFZoREtkKQp6dmJoejRVN2BAZjlmI2FhVU5ROERwd284XngtXiFyPjwxVD12WXBMR3E2ZjdeWm1X aXwkJnRFWlVwN2JrKSEtNmQKekVqdUBuQk1lSkFCeyZNTzlRQkRqNCZCQE47MTs3VldTKzRIM3ds Nl91PSZfeikmLSRPUDxtUGV2M0c+MEh2K2QpCnpZJGkwe1oqPjUtemsoIXtEKH1fSzdyUXVATHx0 Nn1UJk57aG1jV1MhY2RwJkB7cHh1fGpIfFMtZnN3KUoodUJ8aAp6M0QkX2M0JXU2USVpalpASyl4 UXJxSU42ZHpGJFZpeER8ZDZTcyhGVTsteHx9I1pEa3Z3KGxLc1ZXOE5pLVgjcmwKei1EZ0EhM29I JVc5UGhBQzVGNE5QUCtJelNxP0EldVJgdWs4Z3gkUC05RiMzcm9DPml2Pkdiei05cnI+NGpsSU1V CnpxJFVLU0VfS0U5WUhAQD9JJFJpXkB2QVV8PUk5Jj0qeD54YzZLXk03aWx7LUAoP1QzMVhMNDkp YytUejFROzltSwp6OSpsc0djTEVGXkNAfVc5ZDkjeFk2dG9AT09BTXBXeGl8VnlmdkgkXldpaiEp Z2hXTEg/WSU/LUgkJSZ4dTEqTkMKemo1K3QoQEAqQys3czMlI3k1X3Z5JjIjeUJCWjNReVl3VFJl Xm1PRyFaYUQtdUZDTHphWiNAMkN3eF5qfCRBRFhDCnotfSRVYmQkUEIrJVpFS3A2YEpwVHNwSHN0 JWZVSCQ5Km0wOSFxRlJ2PmxFWUZaKlRQST05PH0rQDU9KVdIK3BsMQp6JlpJTnFIS3NfRSg+OUI7 R0x6eHR7aGs7R0tPI2czI3k3djdYV0Q8KSM1UF9kKmVic3QoSj5kd1J2XitCWT0oVEUKemU4Pmky djU5LXRAcGsmPDtAOTREJkZsO1lXdjFCdnZTbG52aU50elpsbU88Kj4/WWFJcVIhZ1BjQFF9KyUj WF9UCnojUmReQ0RzcipHViUjX0U9PVc1QjFySzhDOEhuKVZadXxYZWY2dS1qdFVjbS0pNjYqQiE8 fjgpSjNzMlpQP256awp6TDM4NyR5dD5RRSpkaTQ8d0NIVDVwcHRsNDRia19IakhjNVpQK2ZPJW1Z OG4pVG5zRjBgLUFlX29pQzZUPDxVX0EKekJuZUszP1VLPGdmSko4NmQqYExtMXhlJCklKkozUzYl IzJ+JXUxVUlYVHw+fWdZKlhGRXJaJX53KlFuSy1eR1ppCno7T0Y8Jmt0Y0RYfEZDaj12dk9TPztz PmRGdnApaDB2P2M2QW58eWFRQk9BT3JzMGopSUdtXmg/MUd8bVcmbTUxcAp6UkIlNFNhMzhwaStY djtuMDd+QC1eOT12NSVoWTt8V0dpWkFjUHFjd2VCZUVoRGkoUVVwP1kwOGxtO3BNc3xYTi0KejNS dDFxZnFCTjByUWoqQk50M0U9cXFGVUBHSH1lYE5fUkJqbExTRz5RWEVuYW5rbmhaMjNAWmdmI2wo YjU0fW5MCnpgcHlnIz0qbjNhZCE1UzhwITRaXld+bWJsViRudHpvVExCP1h2X05GUUJ3Qn1GYDl6 QU5uXno0a21rMHN4NTgmegp6b1UjMTJ4ajQ1VV9nN2tQNTtHd21QZ3pRWFhPeGJ6OSkhUkFZY09e XlVlcUp+dU1kM0xeVWp5cVQ/QHBob3J8am4KeiFZWFNPVjlaMVhIfiZ8JGVhakQpbjYqcGhiWk87 M0xyMnRJbyV6ckFudkI9X2xYcnJQWFk1eGdIKXJlV1VMUXhRCnp5QSleejN5dnQyNy0kPCQ2Y0B5 cil7YXh3WlJTPVBIVCZYXnE+QUFoNHlPNVNtKDk4eSEmVmNrRWNhYXsyKj5QSwp6PEJlbURPVT0h bGYjbUAxdXk1UnRKfFQrdTVMRFJ7cXE0dVo5Y0E8VEo9WVczMFNeeGpYTXxMcHt4ZjBBeStqSXAK ell5c2tQaUY4X19KblooOSohOSEzMCM5Nl9GPnM4ej9iXncjRC1ZVWNKRSp5YXd0dWtGUT1+dFhw KlVPWEppUU4hCnpnQEQ3YzJOUSl8WWZEVUxYVn5oX0VvfDg/XkhpJkJLdjVaOG9RYVIybDNOWXYp V3h9flJURz9qMCRLc1l0UUhNbQp6WWttOzVTdn0lQCpZRUx8R1RzPC1tOUN3UG5QViVscmFLdSkp OE0lRUdMenxJZzZnWndHaklrVkkwPTcwRDJtVjgKeiEweGk8V1g3XntQNTVHNnkwblh9WU9JNGso SjFTRWo+UmV7NSorKGIra2JLO3pXTVRTZUYjVUlkK158KSVlbWQ4CnpeezhyJlowZGBWOGJ7a2oh UjdSamI2RWJybSpCRGN1ajY5RFZzQSZCN1k7aFRvJDZxTlZANT9pVGZpRyZCKzhiRwp6PWl9Q0Qj bnplOyk+TSRNPypnbCEqaSlPTWRBcnFeRFVgZ19wVlVZMD41VWhyckB2diRMYFdKYzFeQVJ3b3kp fSYKelQoe0xrKkJSZnV3NnVFOy0lRnFXejE4a0t7WTJec2l7e2p3MEV+Qk88Xz4hO15uPTJVVGxF Wnhka2tsTE99TmA+CnpwOzh1Oz5kcl51U2VBZm9SR2MpbFFNKCN4d1NGIUAjdWUhMjlAOVghNGRW RTlEZ19qPEtWWU0rdkZzQlpvZEpsTAp6P1FQVkNYeCMqVHVzQztNMWBaS0ZTfDRmeXdadj9OKUd0 K05FKHJnNVdFT0JBb0ApcmNjSmpqfDtTfVBOOX11blcKej56LUB5b0lYWHc5JGVSKCREQmlENGs4 SWRrPksyOzxhTGN4dWY3NGNTNyQjZ28zZVBWSHg3PVQzWiYjOExEZCNWCnprbyE5eV4pMz5ETzhh RVdHQzFEIzYxRWRSbkVWdm9hbjJuKjRsKXwpZjU3cyNFOT8+NGRiT18ybChgczU1UWx7SAp6cV4x dzAoVTJyaGlRd15BUXhOWThzakwyWF4kfCpxPFRfQ0JOfnVfSHpJVn5SZXU0KSlyRFomNlR2aF4z XmNSQjgKekEhamwkKztkR1E4Mkk8cEYrOUs8ZSF+Y01kK0V8eTsjY0w4REhTaT9RWlZETk5qNEgx RU9nbykmcCs9KSp2SjhuCno5NG05WklGZkpURUJnNmYqfUg4RngpZHRDYi1JflgpPCkmblVFen04 YT1KY21BQkh2U2Q9a0gzQTxGVnQhUlZpZAp6bzYjIVl4ODBmSVdxRFRQYTVRK1UkMF99akV0PXJ+ UjU8KEdDNyRlN0U0Y2xZdkZlcCFQMzwyajdfYilQSSgtdjIKem91O3lkSiM4dVdOeHMlODVLUjJi PXBHQEozPzFKWFc2VkhKVD1LYEt3eG07cDskajc9KTZ5djI7P3dQKFpAeCg2CnpQMFVQaUZ0Q2Uz eTs2OXM1eGBuJTdVOFRTRDB9O3Zfc3d4QntfVCVlRENAVUJrVHFKP1Y8aj4rR1poMEhySGJSUwp6 K352MlNRNmFNSVZDKThkR2IkYzxHMChQM0RTIWs7YXc5MktscCRgWT4/P01zRnMmWXR5Zll7R3or JmtvXmBxXmAKejZZMUBWXipwVHd2NFFHUUhBaW52emVIO2s4NDtRYTIjSCE2JmNFZ2ppX3B9cGV6 X3haRUBMSS1kYWp+KSsoa0hoCnokTElDfStFUkJfdiRaQVEmO2o+K0BNZ1JtYyFmcF8mMy0xeV5r fFQjUGRIZGp7VCYrPEMwVmdtOWJ4VmclJEo7Vwp6YjBmOzgqNzFkakV+Z3o4WmlRNUNCeiQmaFU3 NHxldVhaZCM/al49MWF5fns1M0NxNWswX09eLTM4a0xCLT9tV2EKejZvP2ppMkBkTCVxJHBvWTM1 Ykt4UF9ZZE8/UV9ucDIwUyszLV41eiNSNmkmR213dHsmNyNLZXV1c3tjfSE/PVdxCnoleyVGXl9i d1d4dFpKYylvRXx0NyshOXJ2ZEU+eiRWYSEqSDNGfndZZjsmOyFkbElXeWNeLWZ4PUdBdD80V1FI QQp6JXFlNEFvPj1lT3s5T1J0el5mbWVzakBZRj5lbyVMdDV9an57VU9DNGZmJjdkcippVyVCWjM0 Xmxke19oIU5eNjEKeldHcjlIcVkrMGhUUXYxcHtpJDtFMkR+VmIqMDU0ZzMxVjVoI2gtfCsqWkZ3 NyVecW9+aSZfbmJNOChXcWREVj56Cno/TylAMkBhUkh6a2Z7WWp3V31XSDtmSyg1JkNpejsmPE5s Z0pxdCR8U1I2M3NeUlplPmQ5d1BzY2pEXjI/PCE0Xwp6I1BgIWM+MGVMJV5EZjdTV3trN19IdEwr YGBGN00pPk1YLTtqbX5OY1E0IUxlREh3QzF1N0MqPzlCdXEkZW9MSXMKeiFIUjRhKXt7K1h4ZzBM ZnJ8bmlKR3xQX0YyUWtxVVJVJDUyekclQCFsaDBHelg2dVFwK3BXOHJGeyEoLSRyTmFoCnpqT2hL fThWP0h+bTNXfTt5YTgzVlVzSV93dW5XbElAYSQ5e05OTGdaPV9ZakUxLW9RYUVxbDAzc01kcnBf ay1Wdgp6ZGxXVypIKytgRmY8bnh1cGhwK0BUN319N3FJWmBXK3hsMlJEdTBodmw+TmE8I2tLXk5A cndWYCluYGZmQCNkKUoKejxxRSl+LWJ6ITZ1OXhHXkJlKCZzWnh5UmBkZE9HKC11dEhUOFpJP3Az SXpuVEF0cXAmY1ozVilQRmklYUU9S0Q4CnpQa3VjS2pYPVpQa15TKEJQI1RBITQ/eTUlaGg8fj8m bGh7a0N7LV9uKXlFYE9hcnc3NjdOITUxUXo7e2VgSHxlSQp6P1h9WElIdzN+PCRCSilEMGVGMTNs UGp0KHlpUjNReUYzNDt8Tm93eDZ2OzBXRXpEWlZsez0qK2grVWJGanx+b2wKenh2TFNPZkctbjFp WHIwLU43cVMybDBGM1p3R295SmZhVFZTZW44LVRoN0lXI2pCV1JwZ0NqJSFFWGppSzdhVDtiCno4 ezI8cEdTd0xtdWhDOFV1UytQRDVvSFgrNWVaOFlfeT9PVXlDKW1NYCQjNERINmRhbSl9e25aaVB2 d15gdV9oTwp6Z3hPRlYzPXA3PlVaSS1XJHxlWFZWanQ8aFgmQ0tgZGVFZml1JTdQRyMwK251ISF4 antAR1d0JDgjdjwqbyFTWDYKekxWTmd8WjBXNGEqfDxMdWJFRFFQPyQqeV9UN1ZWVWV8X3l3VTww X0U8OElFclRlbkJTelBYX2NOI0A1K3dRaXRuCnozT0VOQEp3SS0+NHpAeVoyRG9fM1BYbio2UGcz cF97Zit1UUdAcFIqM0JYcS1WOW5PSmVFdzZvcng4Jnszam5jbgp6ZnEyVSpaejJ8U1RPVUJ+NGl5 WGlFIVNWTnAlM1Yxd0QmUmc+fiM3UGpHdW5PRjJFJGJLWHlPWFh5R1FpYSVuZigKeiZEKG0pQ0tj KTEpZCMpWSkqRWthdEhCO0kwOFBNTnxJKHJjSk9UWF9lSiVqQnJlbkJgNGR+O296T3QmPDNKQk88 Cno5RjB6dlBNVH5rMnJQJW00ZmNaM2J0TDZFN0krTUUrWElVWUJkLUYkaCtFKVRLdjdSTFB7KEZW X3pEJmJqI3dEVQp6bCV9M15JX1N4PFQ8dHluRFg7RTVwR3J9ODRoZilpKyR0RlBAczhQV0M/Z1E7 bndubit1JCUkXz5UKG98YmlsVHEKekYjdlBpUEI7VERAdkQ5QXpHVGM4MEooYEg7dGBlPjE5QGlo KjtGZ2IzJGR2TCNfVVAqY1hgaSYpd05taHFue3ZGCnpIcXIjcFhtbFYyUHBgZT1SXj9ge0NiXk4h aWYqRnckWDs0RzsyYyNiTCNWWDl3RTdZUkRNSkJSSE5NbWxJK1hofQp6PT0jaj1OP09wOHUoNGM8 JWJRb2p2MHlII3FYbU1sbXJuZXJZcEw1YCNIYjIjTisqfkUxT1g0MUM3K2tqNlUrMGYKektOWHlG SW1NZkNeWmFifj5TbUs1MEo2Yzg8N1RlcyhFWGlyMEw8eHdhYXxCUD1lY3V4PVBkaXFVTmZRZW42 aGImCnpIaD5Ga19EYHtKMXJLRnR1fTJAY1VWK25wR2ZERn5IRm8td0opTiZFUEQtMEBAe2pHIUh5 TUx+ck5WTlJUc3dIQgp6dCp3bjZfUUZxO0ViMnlte1ZkaUhPfFFVI0x9dDUmVE0mO3xCc2g8JShz dEtHLTM2OG9EbHx6WTdYYVNNSHMmRSUKekxidXMoQSkmYjgzREI0eE0hX2hQSkA3fn1od1k0Zz05 Z1VuODFtSUpOV2J8VzdTTmEzdW5TSnVVe0ZFQkNlXnEmCnpKdH5TZHNxQmMtYWVLSGxfP28+V2BL ZUZrQ1NYRl9WYXgtRENEI1ltPUk+d3RJfDx0MEBTdGM1VCl7PkNoaWZmNAp6QHdeK2RubS1VY1VE NF9selZpVFJAQHk/TjdAUz90Z0xafihnbnRXQlZZLUluck85KzxpNSEjMChNYmUyZzx0fjUKeiZK VzhKayN4Pnw0aXkhZCpsd0BeTnl6IXMlQyFAMDRNTilud2FHdm96JVdMK3hURCo8cn4qaXJyPXhZ QkcqYzw4CnpILTtZJnFrWV5GakRUJklQTz1IcTBOQTNVTDEtTm1eI1YxR3N4MGp8QH1WP1QxUWY9 X1Vucjh+czIyN3VfOFFSbgp6NEtFeHZ3UjJEWDI8aUVyQlUwVDJCYkEmSSlEWWB9WnIyVmdpMisz MFRxYVpIe2paNm51S09xdCUjVHohRD0mdn0Kek09VmhrNEt3ckF2PyR4Y0RWZXo7WFM7UCg/dkhh WCVHKGR4RGlJYWhfc1EhJl5vWWNKQmElSmxCJnheUyo7NzthCnpqRjxKOzxHRCtwO0teYTs2anhz RD41bSs+bnUmYENscDI1eSpkbStPQklGelZ7SzNKfVIrQXJjMmlhUVhxOSNlOQp6e2EqUkRFZkFX M3QheFMmLSlANTcrWE0/OVczY04zb1ExOzcoKFFid2N1MHp2NjQqSS1zd3h+WWk1eT9BT2hRYjwK eig2JVFeMHVxQEBjRWNJZHJCS2ohWUVJTkxsTnlrYmNDbU5BZ2ZNMFlgQ2EkbXMtT29hbiNZJEp4 eSRMUiFeVVUxCnpMLXY/ZlZXdUUjdWBAV1VfTnF5aE47NSRxMFJjZH5kVz9ud1kqJVZSdSUlRzVk TVVtRWR1VXdLcGp3clVGXmB6Ygp6ZTUxRHNufj1DMCpsSHMtP0B8IXRjKm9UQmR8enpoIyMjQkFF Jjx3cyF0d3FgNXZqLVhVTDIoUkFIVWlPVkxxKSoKej9GYGEkU3VuMjs8aWNEKm10I3dMcTkjTXw0 RUBTLXJQfmtmKWcmN3VxeGxlI24mVVFDOCFVKV89T3VxMDwja1ZNCnp7ZmwyZXZgNFdzVnAoZE5h ejtDT3hqUiNYVn5UakNDe1RAQntxOGlzPV9ZNDN0bypvYjhscEljJVp8dSRrPElWTQp6Z1Y/d1dr bThsPkRlUkBfKE8/TG89NihZPmhOSH4mN0deZVdoLTRKRyt3KzhWT3BHRCZENWo4Qz1pO0Q3OCYz dSEKejJmYzcyaHAlcVpSVTtPQWQ2SiFJZXZFSmU+Yk1zcDAheiRWSSlHLXRwJlpgVDh0d34teFJ9 STwmdCR4eSlfN3lWCnpaU3gxYyNsRXliazVpSlczNEA8cXgyKi10Vld9N3REI1VPfUdQZ30oRGc+ WH43UVY1emVLKmRXeFpLX3lNT1hFUwp6TGpqMFgzbzU1YzU8KDlXdVokRm1WSytxSG54KlF4KkIq X2smcEsxaTBoYD9fR2dgK0BKSFo+YWhvcz87bjYqd0QKenI/cmlFM2pyaV82dmI3OWlrRHg/bnM5 fXVhN3R6MENQaXM8aW0ycUxhSD1QWUp8Mk47SGhwVUc0NFlgUD15TzIzCnpJNkpXJkxSTF9wK3NN a1oqK2RQeWFYeVI4IWlUfChiXnZPRURvZ0FFVDtIUGVDYjNGMF5FXk92WXl6bT5OUjNkcgp6O2lA ejVKI2s9b3I7cygqTkA0bl9gfnVrZ1FvS2xjITFrQyR8Q3g4KTd4VWVoVlU3fGBYI0JjR1M5d30x e1FqTFEKelNybGhgPnBNWHZ1PGc9dlRpM2s0VHd9ajJyRHllVyFOV1Fabm1eY3ZuJiZBbytTfits dTB9cyF5P0lkfVFSbm1tCno1QjBeSGRBPD9jZGFPSCVOcVk1IWNWbGpqYTwxdnBQIW87ZW5ja2x0 QF4jU15TeSYyd2UyKys0VzhUQzJ7YXxfWAp6UGFmLT8oWCNmNCFZZGBUP0ZlPWA4V3Q8WUtpYyVh eHU2aVVEQnV6TVUlRD1RTS0wfndiaiFifCRXN3xpOGpmSUUKeno1bDVPeiNzYVNKRUBVY0BBfGx0 Ylk8ZFJWYiZqdz1sWm8kUFAwQTM2b0liSTJ7PF57OHN7PHR8MDlyJWdEMzVDCnpRQkw1TktPVGs8 Y09aXlg+TCh8VEBiY3cjdzF4a1k9WSUrPHRkcEJIJCZKTkYpWnVWIzk8QSZPQE9vM1gtMW9lPQp6 O1VUbjd6Yk5Xd0x6RyllQF8+SSlOZnczVXlhM2B4PWlWJWJ7Ryg3enEkRkZFTkYyXjUyITM1aSt6 e3A3VHY4SWUKejB9ciRxZTt2enNRSCh8Tz1LNzdxNWQ0TVZ4UXNFR0JDY2ImS3BHKE8oZ2VHYTUz cyNgZDNfZmZoeSVNPWdiTUx6CnpHMkolPkk0MiFFMDEpSVJmTW9Fak82Q3JuUjNqc3BZT3pPb0l+ MC1oO2t0dHgjeX4xTDIjMCpmPj5HPjJveCQ9bgp6dTNYUXMqKUFGVmJlMXomVHZGQG87Qzsze3R4 JSpCMng+JSo2emROYFVXRDVTK0poaS14P3MmbGkzWG5qaFhAeWEKemgmO1g8ZmtyemokO1RHNk1J NEA2WCY4RXdyOHprWTEmdTRjQHYrM0NnWHlvMGkrWj89ejtxJiYhYGRCQ3tTY2gyCnomOF4pVFIm MklCNFc0ZyFgZHF9U3MoT0ZKMGJXe0R7TVUmTD4zTVA8NkMtZDBnVkhVKTJZKUx1OUF5KElUfV5Q RAp6MEJ9eHx2b1Z+VGJIbGg1VCg5JkYxeXR3WSo2RUhhbyt8MXlYV3krcDJtPHYzd2w1KUY+XjU1 a1pBd30xYkYjclIKekFfcU1AWEJ3PzMtbUZUKzkycmI7MExze2I3SFc0SCZERmI/RT1NUiZeeiFj LSR6QDk2SDBlJSl2KVp3JGRibFVjCnppKSR+QWx9VzshO3NBKGdhfHY1akY0RX5TMHZ1b281Wm4x YS08TVljUGxBOUcmUFVRLTVsJE1ITyVGbF96PEVmVgp6eD5CVGwoRVlgMmE2dDgkLVA2T1pAdUJj NjtQUCpMeX4ydmBUKD4rSEJ2ZU1FMm98LUVnMkJ7czheTWRkPkxNSk0KejZuITVQZ2BCfld1NyU7 dUB8QUtSQV85UXo2cG9ZZypzU1otXnRzMFFQU3ZpQj1PSUEpIyh7VTVaOH1AYUhVXi16CnpeOzxW VS01UDR3Xjh2UVh3WSM9WCZBeTw1aTZFYE9Ybzdod25iMVVib2dKLTI2aHtNVHdQfDY7e29eQEwr eypsPQp6VXM5enhXaXUwIXk1JD1gdlpsZ05zYnpERVdoQVYyWFFtbHVpUjR1QEwxYk5VajBveEJu ZXwlTVA1aDI4ZH5yd14KellxT3BuSW5rZnwpY0Vvb19RflN8VXxfYXdONzhXaXBhMWhEbiYkfDlm Xzg/eFooTX40RkdEQHspbT4rPHhEQUhlCnpgRH1OTGBoP0UxYDQ3UmlXKmB6aWNDOCNYanB3c0Ew eXhWdDtReTx2UUduYXlDKCY3R19VblpOfDh4U2R5KTZ8Jgp6b1pVe3Y+ZU83S0N7RzBSY2p0Y1Vv QmJFS2A4SnxtNXY7Nz87KTxpV3M+WXs+Pit8Y0MpfChTXjRXOTg5bm4xS0QKejAkNVFHRmBMUi11 a0xIQ21leHRyeD9pKi1rYjl6aTQ/eiNXYUxpKCk8YEZvWlNRT1BiP1N5aVNhRDwyTiUxSGNyCnpY ez18Z3E7V2N6dVZiUFNrPHErPnV5VDczMEVXSGZzR2ZWRUBCbzxmMVJHfnI2JF9pYVRsa1puYHJP blgpb2pxawp6M3FHUE9iR2loX1l3M25kVzA2aWFTUiZYdXV8VWhGRUNScTtURyNgJSZXQFE5ZCs2 a2teeWJqa0QrWGhERWk8K08KekpYQVg0YU9EJEd7ZEhCczFGNWtLUkx+Slh1XkgxdVooNksoI0Re WjchcUk/bWhZJiNQMWBPPUFuRCRQbzFSY2Z6CnpTZzA5I1UtQlcjY300YU5jMUEoQVc3WmBtZWNh cHwlXkhOTXQ1bEM4RHFNc05FRHIxWHN8V1JjX1k8OFVleVhrKQp6TjVeQVkhND53UFZ5MShWNDlq OGtKJFdVazxHc2FUVlgzT20mYnVxPlJXe3A/dzRZa2x4UEFSZlA8MyVVSXFsKWsKemw0OTNKWGA5 eFBkTDdqdTt4bitqU05wcS03KjktcWEoSXtLTFZnXjB0KlF5NDdvZ2hVIUpDeW5TXiR4aGZyNzBy CnooMFROLSooYFo+JEU3Yn5QaktDVFgzMUFBKTtPTSZnOEYhSXAyNnMlWSp+RHNYNHhtJSV4Pzdj O0pLZyQjd0dSQQp6VnVkazBRfjxfUSYhdVJfeU4jOzVQVE87dnhqamMkd19oZio0UWp6bFJlIW0r WSY9dDRwKTR7R0lmXjwwWns4c1QKemxLVFd+VlFuJXFhKH5xdTc0YnB8O1prOHhKcCl+JUxSVGQ1 Yi1yJkE2I31zeCtENmtTOUxvbVckOCFpZ0gzLTItCno/K0BGS1R0ST17RUY9S2xYbDBMR1pSWFdZ MDVISzZobDBDMTNSP35kSldSdUw8YzR8ezwtWjVPZDBsSkA7ZFQ9Mgp6IXR8Qz1SNDQ/STNNYnB0 P0M3VV8pZSh9ZlhDYml1OVZXN2smalgwWkhHTD5vR0FQVn5ebD9+UjZ0ZHA0S0duMVUKejtJKlp+ LUR9MjRnWT12aDAzVEhlanNEeChTdmpTVSp6Z3NTRjhob0kwbjRMKHZAeUhJeiMmTHlpVk80bVl6 fiFlCnpFUFIlSUo0eX0mWHtMKDd5UitITUEmaEUrT0RaWmRjNik3NEpQR2dfIXYzeTQ4eVhoI2pR blYpcXZXQC0lR3s2SAp6QTJMI0tsS2JQIVdpQnZTNiFLfFVaZTNoZSVPTi1SVXJwfk5WdGw1flly bHtYTTtMNjlxc2N7P2QrZlJQQnBrdTMKems2VTM/TVdgZDM3fWxHSExlbVRVS0IlYklKcSNmUGpf VWhjNnRHNEhrOzN9c2AtRExYJllRdz5adj99NEhkZTQoCnpxa29ERm9ERUJaMXA2eiUoQD8qT0N4 TFQ7JmV3bTE9PHU/SztoYj4zcUZ3Qi0tQGAmU3NeSjhyd2B3NUVYZ1M3VQp6dXlHMH1EWTNXQD1N RlgjZSUwZ3prXkN1VkU1Jn0/aDhLMzE+SGYpVFJleXRmQ2tpTTNxP3xVWHpGV1kxKnptflQKejwt ZUFvSlY/cz5VTzNvRldCT20mdVh9PzQ8KTB1P2Nhcl9gaW9wYjR1JEtBdGU1R0BkVCh6dkZWfnhQ Sl5tKzduCnp1e0UjPUpTRGNSQFdBJSgxazsxbXc8Xz8pbWM5cDVSSlNIUSlWSDdgT29EWHE3VTxu KUBVOWhFcTJ1TVpfPU9VQwp6KzNVXzFzKihSKSotST0wa0UxQ1M+dUw3SEB8NFh0YFNgUzw8Qikj QEw5NnYmI31fQn0+QG9yc2kqeXQtclEoZU0KejwxZ0hxdUEyTnojQFZPPSZjX0BgNmBLVWgwOTlM czBpYSktdVBCPiFuRkl4YUNqb1R5dDAtNnA0aGFQakBOcnEpCnoxdUokTitXci09T0xyNzw0X2t3 JmNPZkRVT0k0UHV5KVhEKW1LSWlxbz9mckwkfUQzMV5gTyNEWUdmaDFKZz5IPQp6Zko+SmleenUo dSthRE5CNnpoWUVrRzMhe3ZqVjFnS34wbjYhUG81TEB3UE1pU2l+JTV0Rj5vNHtRTVYoTCkhfWgK ej80e0RlN21zdTswMkVeXz9naT5EJWd7V2xOVipqelV8JmN2QkBFbnw0ZDclKyYxcGUobHokJjVH flRUX3VeRDl0Cno1Q2Y8P1RLdmUqdV91T1dOMV5vYWVYaHpuPFAwMzA+Tzx8YTdLWW1saVp5aC04 ITdoc3g1bXhpJiFZOHJIVXR3VQp6WUU/VVhQay1kUVQkfCMwLVF9c19xKX0waVFQcDstV3UkYzY7 e2g7RmhlUTQtQU1wUithYXV2KDdCcSlKbyRuKDYKenspe05JXk5eI2hmVjByNVpzTk1GNGB1cTg9 YktPSFhPZUFfOGlENlBmbUBzbVcwYWVNJCpWajYjMkZrUDJhSE1fCno9VGJFWmA+SFVWTjROTDN5 aW4pVWd2aztebEdmPEZZX2hLZGNpPj1ic1UofDAyJn08amFGZ2stNkh+WiZLKlItTAp6SXUlLTs9 KHdmZW9iLVMqZTZpYl87Tig+PDBDbktCRH1GUV57dzZ6TDB4UyR4OENmeU9UPnp0JTtNMlkrTjUk ZTkKenw0NFh0YVdYcl5IZmgtPip5TjExNGo+QjRHanZMO2tmT1BoJkN4I2xUYzlrbVc7eWdsdkQ1 Z1YpPGhHfXRka1p2CnorTHBDIVlCMGZXIUIyK0s5ZGJ1cmFkQk49e1dfVUExJFNPT1pQRyZxPGZ6 IS1PfipYN25udEEkRjJaZzIqXjItYQp6RzJifT5nPXhTZUxTV29neWZ7N0RFPyoyez1BeGJ6XlBt P01ZRVkjUDVTR0lSJi03JndnV1YxS2s9Zy0xYHNrbyYKelBIUHxxZX58SEhzckJnM1QtQ3w8SVo4 eVcxJHFOMVd9USFSNTVZMzF5aV45LVR1MSNKSDc+P0liO1lKO2N6eyQzCnpXOWl0biZuQHtPMTdp RWc5aVE3RFleU1p8cF9tUFR3VEA5YUFJZmV7U0N3QGcwcX1wQy1FJHNAKFJBMjgzdlBWfgp6bXhu e3JJfDd6bFY1elc3YnhqeTtKJUVJclROdFdhUTFgQH0zJHNffiUhcT18PktteGFLQ2Rtb3NXRlhe aGgxTnwKek9RLUgmY1luJkZpYDhaJlQ5O2Y3cXh4MkF3aC1IZXw4KkNPYHp3KUNASXBqVT03WFo/ VjRDMGoydzMlOzBRU28hCnorVVdVUm1WUkl9cE9JTiFsRntHLXY2ZlBkKFQhaXc1UkY0RGtAeCk5 PFVSUXs7bFkrNHYmbTE8Tmt9QHFvWWN3bwp6JSolfCUyUU0jQT5pRElSWVJUKTFRRkJlbEB7ezkl N3g+QWktbFNAS2dfISklLSRQfm4hRyhKc0Rrd1p7VipZR0YKelNNKjY1c3JDX1U8VH52YUlpaXRh UiopNUxwK0J5KzgrRTh0QTlwcDZaUX4yaGE9dCYkPjQ5Q2kqb1k3I2VQQkwpCnp4fHY1VXRsQlRj ZTZjdGY/QzVkXzA8MGF5M15KfHxHXnJ9Y1A9P2BmZVcpI25aLWFwWjcxcWR7cSptalFwMylzUQp6 Z0chPEA3ZSlwbU4tU0psMFV7XzlrfDcjUjNxd31HJVBTXlVjVyozV3JCe210V2lRWStLWjJTeHhA IUQzVFdoYFMKejBRaHVQXnJSRyRobSE/M2tBeUlnc2dHbjhRWCRxRmtUJmJlQT5ySypDMig4Qm8m eVp9OzJ8QGp1VjtmcHZOJUVgCnpEN2EqQGpwVSs7NXByWFc4QSl+LTMpWSMyKGpKaXo5MTR9OCs1 NyUxakdFPjFTfns+Uz1JaXA7RSM4M2VXd25CYQp6d2p5bTMofSYmM3ZiX0NASXh0cndpNE9LK09o PSp2OTYpN2RBJUNQRWx5VjFrO2wleUdlM2Y/bjNrdWA2RTAzKnsKejtqSHdwTlUyeSRGN3F6U3N8 M2ZORmBMP0tOUm8kJFFAbi1seD1qYVMtYil8ezIpZS0oYFApWnVvUUVgK1ctRH4hCnpOfTNxYGUx aWNfWSQ2aSpFQitKN1ZFSkZxNH5VP1E1ZDAkUGRfOEcqeys8UFpsQVJ0U2B3JCpgS207VEI2MjEm Iwp6TmZIQmBpamY4QHs7ekM5ejB3YWR5NmF4fnxNJClPLSlfS1FIUT9hP21ORm8hMGdwYXpQRXsw dkIlZGZnWXlsbz4Kekc3eks1eU5mX3FBQS1mIXVDenlDVEFvYnZUeDdEOyptIUBUclBTZmJWQThB IVhCKWEwVC1MPjJIKVpoaU0+djs+CnpSUTFfVDYmTWJjMGc5KG17eT9pJFZKSmZ+OWkjbn5CdDR3 OXB5MzJsSX1nUj0jczxLTzIqQkkpS3lAdUprT0t9bgp6QHVVJXlVWEVaPmpwMnp5Zn0xSz5xUilS JWdlYiVoNVVXQl5RVmVWenZlZzVOPyUoQztDaz9XNHZLPiEkeipaR28KenJAZ3JiWnNVblo7R3wl JXhPOGM7TihYUlReamB4Snp9X0hHe21pbVJ4MzRybyZgfkxYbXtyOW9sd1NIfi1vUGd+CnpVK2Uz cERDK008N2VKIWV4N1plVHk3K2ozMW49fEozZXFgMU8yJSZUWl9SbmtaM3NJLSZDV0ttQHtJYkVM fDV1MAp6JXFFUz9EKWJRbSlLZHQ4MCE9RmtUdjlIQkZnYzl3TUImLXtRZ0xnJnN0KVZ2O092SipR WSFTUy1DOVN4S3pMYSoKejV0TUY3Rjg8c2RmTlkhQURRPUE3UEElNSR5OCV1LVFraXpIV0ted2Fy NitkczZAQzFZTS1zLXxGNXVQayFBXyVTCnotMn0zX041KXJzT31KJk13JG5jO2A0QGE/d192TUBX d2dOcGdFX1NJaG5+UWVSMGFhIVEwfkM+O3VFK2YtS2h8fQp6QX0peF9YTFQ9TUJOZXpAb1F+dXVe VFl9e1M0dXs0RztFQ0lZX2NXdFNedURELT50ajR2O281WklQZjB7b0QraF8KelczJlJaTnVyKSsy SzZBUDlVLWhBKHJFVUAyZ2dIaiNLQ187MHl+c2okUnByUFJSOXtrM2gtfj5eU28tS2NBV3goCnpx QT51WEZmeV56UChOP2twKn5wKG5QZyNQMWZ9TXRDRXE9c19hY2x0S3tVajttWXd8ZCZ0O15AJXkm ZF4zeiNwcQp6WUE/NklBbm84NzJ3bF8qMlNmbEJzdy1Lc29TJSZBQ1gjdWNKMmo0Pz8lYD1uQWor WkQhZDdDUEJHPSV0Zj8pPXYKent+YkthciU2KUJzOzZlfEdYP0N8c05NfitSVVlBZXA0djlyLWxS I0RGKTdfOUR5Vl8lajUhQ3EyK1V5SjM1XzBpCnpGb14/ZjhmYEVvd3N6blp5KWZfcTl5SEhJRitm ZFJlWjl7cyU8an1ec0BlYCY/d1ghK19RY180MnRXVnZGNjs5Rgp6eiZ1JjMqPDlUNiZ5OS0qVWhL PEZraG1NWHt5U2FGKmRYSzgxQk1JNXxBaDt7SzJ9UiVVWVVSN0B7PjtTSEV6X0IKem9MLT9pMy16 bmw9VXFNMUk4PUMweTdAQ3BIIyFXVnhvN2BMNz1sb0M3KCZaOHsxIU57ZzdPeXV1djhNVU0pfnBa CnpkS3dkKXRwSXYtUyU4QyllVEJmfDJTMl80JTlIK2h7V0kkfW9IWGl9LSlZbmpvVStreSh4X08h KTJOWEA8YXd7Wgp6ZTFwNWM4WmpNRlp0PlR+REVLaUkhRml2eiNEQ1Nqc1NwOEwpJGhSXjJrKF9Y YCVSUWN7LTJqMktMNX1ydWgjJUsKenF5NzdDZXprPjRXPEx2OGchN3BqfDhUfEJJbTQwYzAmZ3I1 Oz9BVk9QWmF6JSsySChfYUJrUG1zTyMoZWxsSiVECnpESn5qTG1nYURvJlA8aWd4O1JkTDJ3PV4m LUpMbEcyWS1gQ3tuWjxxKWNMYSZASEI/Wl4xMFh0ZjshISNYODsrMwp6cE9xRHt8Q2B8QEshMShj MFNuPF5qVUwjPjxBRlJnWWomVkkxLUN0OTJ+dyFJSWh0cllWXyN+dUszSX5GT0t8SkQKelFTKlch dmVUZlU/Xjd9OUs0YFchXkAhK1dWJHt3e1VqZktxM3JAUDJLTCV3bFJ9KT1wPCVxWHtuPitALSZ9 VGZGCnolUF8pdlc0TlBxIWhtXm1ybHpWVj5IJSRhUCZIVncyYX47KHZ0WHxQdTw8Qz4weVp4Sk0x ezk9aDZBd3g9I21vUAp6K0VsQSR3WiUjZyhRdjgydTgxTncpeWdyVXYjckl7aHQoKjJSJT4kdClD X0hmK0ZldDspbD80MFRsJWFAI2ImVFAKemZCKWU4a08/P0UtNEp8KTZ3aXFkT0pBWVk0ezJzaTFx OUpMS28hQTJhPDB4N0xBVWkrPDFCLSl6elhYbTA5K3xkCnpXXkU+b09PSG1CQyNOYmJ4NTEkWVNu U210cE1VNU5XcE12SFA7YG1pRT87cDRgMWtTVSopRTBXVUp1WGdSRCRhegp6WSlgNHpjNikrcj5W eUk7IUdhTmwrajIkMUBvKyRGYCpfbVNSdCtuekZNYFRgWCRsQyVUZShOKFUobDlRdmt6QUwKeiVL UWxGRTlGNEswamg7bFFWMlF9QyNTKGwhdVd+XmZ0S3gocFROSEdxPm5JPitHK0pIdSs4dTFNZEg8 WVc+c3hrCnpUQz9LWnFVS25oYSNebVhkN2dZOyFtcC1WITAmbm9VX09NLTgwT1ZYWD04Nj5OKyhq aSpheHVSNyFKPnJoR2ZqNgp6MF5vdUI3O2pNNyVefSpsNDVVMGFGJCpGUVJlQUcwM0ByS1lSMGRK PEQqKzdFeEhGOEE0V1FyKWB9eUZMUHYlemIKejc9UmY8K012Z0ctIyF9I05ORShneUFNSkZJQG07 RVJSTzBBPj89YjRTSHI0d0s+QlV8V3h3NEtXeiFPSCtKdyswCnpSRXRNTHIkNnIxTTQ3MjZnO0Ju IS00OVZ1d0ImI2I7SWk4UVE3IzdkIXo/KFlzRU0kPzN3VCZ2THgzWDhtVmk/dQp6KVNVTDgrcD99 N1o7ckNGJlR3ZXQ0fWNtN3chd25PVzsyTWwrciFvRExfY35PKTt2MjFCPTk9PW04aGs3QFdKY3MK empSJFV+ST1tRnEzKHpneDYra01+WDZ4N29ufjQ9REcrPmJCYmhhamtnamRqUjhxWF9HXjs2QVpv c0s2ZD11PzF0CnorNTlKcCR+P2xrZ2UjRUc3cW40UDszU21SKnpHVHZROXBrayVXWFdSQXQ+KUtr Tk8zdG4oUUdhNmBsbUloNV5iRAp6RTt3fnZxUU9jNmp6PHs7PjMmJDdNYDhyVCl6JS1NYG5eOzNM aXlhe3JUVndJbkxhbmxFSXRjUm1TSS1xTjxqP04KemMoJD47UlEkKmhKTFAoSChSI31yPmBMc302 eUI+eFc+dDQhSWQzRHV5TWNkWWpWUDRkOSlfNmwwQTlxVXAkNDU/Cno9TXNLQG04fmgqblVpQ15J YnQkVVpKMWtlVSlfR0ZtLUVDR2g/NkdvVHYoMCl8NUkjU0hxRmZ7O2lMPHVIVmx6RAp6QiRFSm95 Rlg7Jngpe2gpM1ZeMFRue2pRRCUjUnY0TkdxX18qU3A9RWVafXNgPSVDe0MhJlZBR3lUTW9WNzNf M1kKem48Rzd2IUU7TFI2cUpAfFd0Z0VLUmVfTkNVaH1hfnN7RH1HSXRtYmFkLS1PQ2R5JiV7cCE8 dXtCRWx7fiZLYjlvCnotWU9KKUBJSldWPiZVbnladTt9Ykl9P1llUj5tRkBgZXZXPSYtWT1eVWlK S001QEREZSEjQylNPVdMcXp1Um5IdAp6cjMyP1RtQm57OHdWP0xAayNjcnRkWnAzZWZ2UT0lZWtI RlQ/M1JDVGN9Z1JSTj56ZUcqe2J9TWxpanMhK05TRlYKemltekglNDNhcT0hbTRHdW45dlBiQnNe VHJiUUN1KUk5MnoqNV9WQlQpSUJOJWl2Z3t3LVBgUTcmXzshWkRffiFpCnomTnVuMmV2WVpRQiFH dH1LNylSWFheMCVya1o9djA1RWgwMmp5ZU99akRZVC08IVd6X3kmNjJBdUF6JG16a0ZnMgp6YkJP cUw3Nl5vM0I9Q2pEWX5hZmZHMEU5cV94Z0Q1UFhGWEtWSz1mNTtCbEFHLXZqalNeTkB0QVVWclcl fDRNNWYKei1IXlM2Kk83UGtfYSpMVEp2RTJkSGBxZSgmb3gtc1RIdGpqektpe2hNUXBzOFB2QnNZ Km5ia1JBc2NaSXZfOTF3Cno0IS10QWN9RUl3I296eTBAYz1ROUkmQXxSfDdGJV5hQ3JEbDtxJCM+ dCFOdUg3bm5BJW9zfX09X342MiNuMTgtWQp6WCpBKm55ej9OLV9rT1d1MGkrdkBDdXklampVcldU M2N4KEJsKShObzwkQDItemp5NmFabkE7eT4xYmBCRGR2Jj4KemhxTFhuTUNWSmBZSUBeM0pYLVlA e1dzMWJPcTZGXkl0eFRqMW1iUyZXfWxQbUMzdjwzT3xpeklCO0tOdms9eC09Cno1MWhvTjYrcHNY M0x0YT1mbkE7bTdSMypkRGkoZlNQM04kSzlPdHVSOGB5SD4qJH58Rm1CSTVRbzU0WDJnKiomeAp6 MWxab2ImUk84PFFHKC02MFU4ZHVtcnZjPDQhX3wqaXVhX2hYZyR+eXRXO3ZLZD5rd1FkOHZpdGV0 QmBgR2s/KHYKeio1SlQtYyQxVzE/eTJAez1RN0wlbz1HVHkqMVA5PCplUVpvYl91WFJGR2JDeVYw NDZzK01UeVIxX0tzKT1WMVVhCnpfTCY/QXdBcjVVdF4hOzNhX1RObSE0XlM5ME9LPyshb2RKfD9p KFYlb2pNY0okQldhV29ZIz9UJE13aiNPTXdhYwp6JFo5U1pOQWtjciZ3YDAraHxoMGJvSWhVZnIr UGtoK042fTFnOzQ0TSlaVGRoUU14YlU9fChgTEJueCVpc2FWfHQKekJDUGRsWVlecTtFc1Z7YU5L KG54YSUma2xUYVNzKnkqWDkyRT1nVVI9fitmSyprdVMzZSk1QVdeOXhXNStJWHFgCnpPU0gjP24m WS1NQz54aHN2R0Y1bzMhdGpxcSpDYmNtZ0ApTUghZ3NBZ3tqS35IQCsyJWdpXmFlOF8ybmheWipD Vwp6YGM4ZFIpaSQyPkZCIThIMFd8SnV0RCFmVlI9Xz4qfERCYClySjJyUmNgYkUlUyF9bikySTV6 PCRQUUx8RUdPZ24KenRVSylrclQkMyV5X0d9KUlVVDNlUm8jUkdpZFEtfHcqbXIzQzs8KW1DdTJz JGc9ZldacX04U3w/eTBmbEtYbTN3CnpBYE4lWDZhbFg1an5+N08/KilsVkMldiNrU15ENyhEKG0r MD9eZGdiVEVYb3ghMnh+TyN0T2NTdkI0V3VJQ0MlRQp6ay0rSHJIYXJqUW1XJlBENTBMK15BI3Zw ZmV5Zk1gcyhwWEU2eHI9ODF+QEp5PXJfR2xwXiRabEx2UWVaKTBALUAKemQwOUF3O2BVI145eG1y akxBdmhxLXFRWm49bHR6T05uUSNaUmBWRl9GQGdUeTU9UCFlPUt3VnJgNmYlTj8wUnY4Cnpne2hY XyRmQSY2cENKK2Iwb2U5Vjtoa2o8dWlMaV9DJnRue2xxM3tWaXcwQ2h7VkJVOTk4Xlo2ayE7MXFU TnZQKAp6bkREVCR2OUVObXZ5Q1Q5WjItXkB3I3Q2dHk3Y0ZKVV40WiVZT2ZKWF4kX2UkMXNsZ1Vl ckJ5NjMmV05PIUFeX2wKenVhfkVyZEIoJXZXWiQ1S2A2YUxzVD0lJG96ZEYjbHAzMTlRaHU1NUxX RjdCUj9Ne0hMMEFOPUs9bU5udVJJdEJLCnpGX3JiZWByXz1RM2A3X2dNO2t4ODBPVUAjNlpzQlBX fkY9VzNCM0I7WW1eY0h5QmY9IztXazUoSm1iRmp2e1BYUwp6PlpOa2hmPEhtXllpWXJ3RiNoNGNJ ekB0bmpsbl5TVTJJaD5RO0NvQ3prKXBAeWBGUTtnd24tQyU8cyFCIUpHe14Kem15MjdrcE44YVd1 RUJIcnM/MyZwUFdHS1hhQCVaKDdvTml0NWdOQ3t5T2l0Vnd1cktvbH1JVnlTZ1A3bnpMbWV2CnpQ REdWMEsta3p9IXRpSVhldllheWBZYTdvTEcod003bEY4MnxDM0loLTNHX189PGEpKkE4QTZEVG9a Sm9selJuRgp6cmU+UjBfcDM3akc8UDw4WStYNH1YPkItT1d0LVBra1p0b2RHO3xxUXBhXzI9V15u LVJFRlg9aytqYTs2Rlg4KzkKem9TMylZV0pIMERlcVhtWSZZWlhKQ0szalg4XlhWU0clKERgKGFo Tm1LQiV9bil7aG8pUHpmekBPRkFuJXM7eyEkCno8O0hPX2VxNUNheFo4R1Y7ZnMkcWNXM0w9Zmg5 XjBySStzZkxNenM3VnFvdz8tJUw4NUAxNHVwSHFSP0BAdmp3QAp6dDEqXipKIys1cFIzWEh5TzZ8 IXtlViNkPFM+TnlvMmRzd0ghNUxXZm9UdVkxaEd3RF5Dd3ZaP3k+WXhjPHlSUyEKenZFQTAycWp7 MCpMeiFMR182Sko8PD5JbG5LYmZ7SVZoelJxPDk7IWdOPH5UeVE1MTtjX0UhUSZiVFVqZyEjI0Zw CnotQGwwV3EkVldQK09Ca3BXUiFieF5ZLUk4aXwoT2IwNHB2ezgwTGlvZmhUJGhSRn44REhCNDJQ M3VrKXd2RHBgMgp6cndUQSFpLWwlUFAtd1lCNytfPUk1aXM3PlAyb2g+JUw9bFZxKW4xRkZfTm9U VmJ8SjZgaCg5N3IrX3p7Wm9iJT4KekBmZ1EjJT5meGVVNjJ3eCRlc1YqOSEmQHtsMjlQVlc5eUEj eUVFdlUmOU8wc3lnPXZlMkdmYis/YDxDKks3Nj5mCnpTVj9kTnlzMEk/JDgjcGBGU2Y8MXhpQ00/ bCMwKW1KYUJIS3cyZX04b0Y0ZHNUc0dzNylka0Q4djNsRVJKTHt+PQp6Ykk2cSEjTylncHohfHgy Mzs1I2d5VHpCNG0rbkQpRz1GfFNVTkAydUR3NCUxMF5kRCNpVm08OG4yezJ9dUZsM00KekM/Y256 NUVVb3ZJQDd5WXR0UFUrKDJAP3NfQ2t8c3pCNWorRVNZelA8VHwwMV93Pn03KURfckJKdHs4em1m UkZkCno1dyt0WUIjKCoqQlVxS1UrYE14c2xGckBfbVNGPXNXT2pJI3VhKVB6SiV0JDRCKU5GTE5Y ZVR4STM3M3tyISRAbAp6d3lFfG9nWUx+KzlJbmFvUzRxK05gdWwmS0NeM3hIK01YeTA0UUd+KkZ7 WWZUYGBBSWlwSTU2WExWYDZfWGBSS0oKemslfTViUyhYMzdKLSRPZl4tYTNDJmRWI1hlZD9xYmYl U3pMbEBxYCtSfDMmMC1AQnNgZm1EQWRZMUsrU2Mje0o2CnpRS0VKNF9adm9jfDZDTCtyMTR6Kns7 WEE7NmwmJm1DcCR3e2d2fWBTUyUtTTtuT0g3RTlyN3pvT3c1I25eQWRBWQp6eTZxTmYwRSU9K0oh cENhSVhtOW9qUVZRVThEfDE7JTQrQ0JmWDw7PzVRbEdZYTNtPHFzcklkKHNSXmIkZHA5VyYKemxr b215PlNLTjdTdT9YUCowUUx3VFk3c2J3ITFTcmZrLXQ5di1rN3U0fEUzal5oMkl6M2g1PHpkSHdn KysoaCFSCnp5ZEpNcT1fKzlEPjEmdEJJKGBxVyNTfkhCJmtTNStsKkBSVHszSThkdXNCbXlvcTNJ dz8qNHNvZlRZbWZ6MXlmdgp6WjBRN1NzVDNeS2pWeDRsP3N5PypyTipZRnAwKm43Xz9ASVlqJHdW UWRuZ3VpRzxTcVZRQFduTGUpLVpEbWFTSTkKeipSYD4+YEd7K3NnMnpmJFFuSXJCSnwtZHhvKFJK NEFDTj5obj42S0RTNjh6b3MzITNwM3pIN2RISFp9cDE9Q0ckCnpmYzVPSGlJT2V9NjA8cypFRT1+ SlJeP0tvUWMobVBWdTc9KkJGTTB1Yk9wKW9EM343KkxfO2piIX0qQVp2S0o4QQp6e2ZCOCh1IUwr NkJiPVA3Yns4WEBKaFcxR0pnYG17UUI3OVEjTVlENk5nOWxMcGR+UjVwaEk3PjNGPmJhak9oUXEK ekh7Z2VSSFFTc20mREA3a2o2RD0wYSZvM0dVJW4ockV3N0RQXzZiSSZaZFE9fmBTRWs2eHN6Y3hr d0E/MHlkKGpWCnpZaTd5PFQjTj9LNUN3JTMhfT0tMGZCJT85N3o7ez9xNDcrXzw8ZkYpezZDaWtt WnsyWio0PDRjN3o0d345KElBZwp6Mj5hdnJjPHB9d2UxTnhNUDYtQTYxeTFKQkUzM35oSkA9aWlk QU1pd3lDTmI8aihmPGVZRW01SyNNaG4tVG5MKGUKekw4djwkZCk8fFcwUUh7XyRCVnpta0I3SExi c2lUSDg1NkBxTW49Wl9wcStDUlkkK3ZxSCFBM090VEpxXkBgbzlRCnpUJW54YkxfdylVN3RVUGZH TSFOWTNtVCpCMlRpIWJGVTdfRSlramdEdTRFPVNiWT5jNHQ1JUtsV3tRM1YtODxtIQp6eDNyQUB4 Y3lyeWg7XyhfeXhSQDduWjIqPEN6Njh3e0p3eWJyZmJHblBJbHxBVHpLc3ZBMHpBYDh5JWR3ejNu dzgKekdsdWZRX3dHRmRUczkzcEtLfTZvP213MzZNbFFIcWFtUkMyYTtzXzg5aWpBSHttRDwkP2Ut VFNVRj55WiYrN28qCnoxXzQ7YV8hLX0kVEVvIz85YWpKPDZPZlM1WiU+dipmflJZNXptfTRVc01A Vm5XX3E4XkBHazNwSU17N2dKTDNFbAp6bkl3anVpQWZ2P29WNy1JdF5qYGQqeXg0MWF0VUBJOVBV Z2pBTVo+djNweU56MDFtdzM7Jl90byFHblJZQktAS0oKeldMeVNlZFgmcz56dEkzLUk9bSUtcSlO VkZZaj4oYmo/WlJgMGY9d2w4SzkxeD44al9SMj1WOzM1allnd0ZCZStfCnpCXjZeVClNXn1UJG9P cnhMY2teJjZxIWVUaDF5K1BtUU8hbmY4bilVWCROPTt0R3Q/aGBWP1QkRGN0d3xlQ00+Xwp6SkVz P2ZDWDV2ZUZxNEslbW1NNmZfOWFJNDM3dHRlOUJ0NGNxaFdgRDZRelpteDVnZ3VubEVfTzxrPkdT Rjd7bDQKek19ZiVDMFMqekV0eF8+fmQjSlVOSkVhNk0yV1MzZCk+WFkmYnwreVpOMTEqb0xveVQk elZsNSElVXtIKEkqdn5QCnorIUp0Zi00KVY3fEQwbCVrMWtvVz1AVnFtNlc1PSsofFlYXmh8djxm ZGA/JF5KVG9EbkFGcC1ATUJAe24heShxZwp6KTEwayF6VFhhREtsWWEmS2MtMjxeWmk3QHZudXU/ PmhDe09kZ1Z6blUxPzItNkNgbFomM1BaO1llYTtPNnQjZXoKek9vSHBCejFEWWtCMzghKzU3ZCEj Qyl6KUAxMlNrJkAzalBGYGZgXlE4QCN0Xzw5QV4jQjxlMiMmWWgrPWtUTTg+CnpIUTM+aGJjO2Jo LXxCKCgqK0hMaDxVcCN9WWNNcWpGdXgzVUxEJFEzaUFhTX5YYn1IU05VOENweFNybSheXiNHRQp6 YW4pRz5MfikpYkRITUZMU1BiTTVfZThAPDB8Py1vdzNxbm5sVnkxPFYwJXR2a1YkYG5vJClhND9a LTBXVkdNVUIKek9PMT5BSGUxSndiaFNyd1JhWXZ3Kz4raCNhLVB9KisqZk0yaVN5KX1hLXh1UG4j O3YkcH18azRzJmp6bCMtOGQ2CnpUMWAmK3FNUlo5WTEpdTV6X2J5djNhR3dpUip5amREMUkwQ19W QkZTTzdZeF43NGpqKzhvaHpMITlQMkh4TXZJZwp6TGVnYTdybUVRaW85bDsmQ3V3Ym1haDh4fTJU Qmk5SXZnfjsjWXlvQThlIXs9dW9BLTtTYjhCMTsoUVdkMz9JcGIKempodD5eXzwtWnRiKXYzJWN4 SGBXQFpSUk5YckBhJTN5TWVgIW5yfG9kWjI2VGBkLXkoSyVDc21FSH5DViZoJF5XCnolZTwhPihC R3o4ZXYxfiNzayRVeWEmXzRDPmYhX2ZATThaVT9FWEdya0tIR34tRzdVaV8meShIeT9Ffj94PFhz Xwp6WmxnRVdZYiZjX3ZKNndvJHdLWGJONSZKdzZENCZlXnNfYSNHbSlFSSFJbDsjeldtZ3EraTdY e0JBK1VlKVp8JFgKeiZOdnZTWkI4T3VSZUJyXmNvUDxoU0U2fUR0ajB8eHs7YkxFd0k2QCtobSQ9 K2F6Ukk4REBDOEJffUxQNkc5WDZYCnpBO35qK2tJUF48I05nK1Q9d1A8dk9zcllgcjxETChLMGQh MTkpNFJDO2RYRmdUX0MoX2VeNjxjUC17O2tDXiVnJAp6REtkKD1IZVFyQEsmTnh8aU5ZaVZGYy1o eHYoWXFkTCYlWHNDfnZHUXg5Tj0wM2tFJUk5RjRVYDReVmA9TFZUMzgKelUhIXFyeWw4dC1FU1FS R3ZhJnM/X28hP2BON3V8fl97WTF+I21TflBDIV5MTk56JSQtZTd2ZWZAa2VPNngmZWUxCnpqOEZL ODY5OyklJWU/ZjRtbHZQT0lKLU14ZTNUK1NPUGV4S2ZHUCNselVVTERlZXMjWUB9ZmpEUGslNyZS ZmZFMwp6Q1loZER2VW9WdEYkSFMyO2kwbnA2MSFaK1hHVXA/KWd+V1lvPW9TT25GPCF1Tmd5dFZm dktyU20pNUt2VV9tfjgKeiQwMHRLSEtgODxUP34kRzFAWlNYSyV5VCMtX1VheF4rZlpGSU17MiN0 KHRuX2lDITUyY0lScHNTcSp6JENoIVRtCnp7fUNRIUk4ZEo0S0E3UHcmS3dnejZ8WHd+RHdRYjIz aXhYc1AybSZXIVNCZUdjNGAxSipfTWtENzcmPG4rVlo2MAp6d3o3OEpIWG9oeXY7PnhOKWlBRUMj OCE9Qnd+STBXZU0xP3kqbEcwJERlZ2ROXjdJbypQN3hZSFR4ampGYm54YloKenFxdEo3NnVhNVk1 V0NLe2c2Y2FWYyFATHYrOV5HfC18TjFnUlRBdC1DdTFvWDM9WGk0U2RyaWVlRUlMUFZrKCNwCno0 QUJvPVVHOz9tYzZ5OyRvSD9vZFJFZVVhUn1fSSY/cUc5Jj5ubkhldj9zISlOfT8qdkwyWXYtWFF5 e20/RD0hOwp6OCVTJlJJTXtZcnpgc30lWTIzc157JWlkbmJpWTh5JUF4TGFALTt8ZHJGPyRrNWJP K0NNeXo5bEheUDV4NkBnISUKemZeLUM8eT1nfUF6M1M/Zz4qOyE/Oz4hSEp8SVl2fDUqYk58byV7 U3h7ODlIZXs8c1JBYHg5UzRpdjkmMyZiOVc5Cnp1RUJANUd+S2dFUj9rRmVEMFZOeWN4PCYmP2o9 WmsrNGt1amAkO3VrUTMkWkZAZmpwYm1VWEtpTSQhVlQmYW58Qwp6aVAxUUpmKXBvdzQ4TVNZdTVh KE1CSTA/dHhrcU1oVygyfjdaJTA3V0VDKjlIS1lPOWJ3T0F5eGsmKWZDPGZpKHsKeis7IV4/WCRh UDNnSSQqdzZ2ZEI/Jnt6JWdkIUR5U2plflc+UG93Rnw1PzxHSHNRQ2V2PzZmfU1KfGpsVzI+JGF4 Cno4NnIrail2RWdkOFN8VCFMJCl2c2JaWlV3Q3EjaVJXP0J7Pisodlk+dTs4WWZ6SS10TDJoSXx5 Q2prUzRkbU0yUgp6KFAycm9TNlVkN0ZoTTtHb3BsS1ZPK2A3WV9+MT97ey00bjdKJjNHSzB4fGxO X3dMRU5iNSNYWlFFQX0qaUxaPTYKekJtfHhDT3pkJnE5JiVeYy01VGZvOFdVcD5zYyMlN3tSO25M PX1+JXVGZ3Z8OGloOFEhYn1re1deUF5tYHw5JWFGCnoySSFuRDQ0O1ZAdEB9eXtfakN0bXpOKHsm UHFRNjg5XkJiKiZeYTZheypsKlYkcnJuM1RXNVZGSW8tLT1gZXA5IQp6dStxWkcmWCkoYyFDKEZJ PmYqa34xK2h8ZWVtWE1icWBXZGRVPzA1dClIXyZWT2p1RXxzLUVeVjBQVyVHKDBWaykKenA1SlYz NHNrcWpaIzR5YjFfSEE8QTVDPHtla3Mhdz5HJWN4eTVHNHR0cnQwKjxGYENqUW1mTmhqJDtwMTxQ LXtICnp5c31ybTZnKHBJJWR3ZyNAfGFqLWQhSm57YWEma3c8RUpVWilyRENgI21iIWYjaFY+fSRZ OW5rPndRdj01NXNqXgp6ZylYcGxeakV4emNZOSpXaWk2aSVfdFVmPENoWjxRK3pHVHpkdEZBZzUq Sn4pVEpRNGEtb3JOemhnK0xwWE5QKFoKenp3ZkBAdH5eUzYoejEyblAmb3F8RTBQd3RYSWdodkBh KHpScT51N0BXX3tCbF9kakAlOCN8SnsmTkdxbzAheX5PCnpnSDl+enVHZnE3VzE8THhpcGRNIV4z P2FLXy1NRWNlaWpfNCVocjA+PU9gViNIKG5ZV3BlQHVvZHcoYHtaZU50OQp6SX4lKzBZXlhKezxv WV51dnZNNXghYHgrbzxLWTl5M053MyooWDRhVDZEbGdNc21mLWpsa0ZNTnVSKVpZd0NGUH4Kemkk d00mLUEjaXomUkNYeD1yNkZ0KjtvNngmTGxWQTU9QFdrPEhRcylaRmN6Vk0hdVZNViYkMTBZeChU SkxHdClnCnp8Nk5YNE5lMiVTODxPYDhgenZZd0VLNEA7ZTl3UEIzK3pxM3FoVWtXO15+Q3Y/bE1I ZXIkb1Q4UXVPXzdadlpNNAp6dWhaRDBCbm9ibWkwPVl8e1U8QWtrakEwbCZiVm1tcyUqLW5VSFE2 WFRVWGZCMEpROUAkO3BPZ1hvO2IjPjIjckQKek9qK2wtK0t+PmNRYiZaa1llYUdKQlZOYXEmJG9y Kl53ZCkrRiEjXjhEX3FMMyElVFAlenRVZ3JZUXFkI19gYl4pCnptRU0qRCpMKGttZ3YwSnJuQTVz Iztwfj9hKkNKdUFRUWRiVk1PdG1LR3xnTT01Z2w+dGkoNip9M1EzWDtwSkdNNgp6em5TclRyV2tM QHs3TG1jZCZtYmc/KDl+RkJvK1hQbUlGeEN4XkxGakJyPld7VVpFPHdjQ3ZKbkt+REhXQkJTT2kK eipHZ3wocjFzbj5DfD1DKllQR0toNCtDbUdiVjVLKGUqY0pxdERzTXIhcTRaWHhLO0dTaz16VF9W IWEyTD03KihKCnooJkJ9fHUlZHhmZDM4PUQoTShTNFRFaSUocylmRSFITndrIVlRJEtGXjRXN3Nk MmlERnkqXz0/YW5LT1ZTYmgxUQp6Q31vQlVZK1olR0JhdHNLckckZUk/dEhXQUJudz9rS1dsIXRj ZE8+QnM1dXk/MiVPSG45QUN6dShsYzxkI3NZd00KenZDKX12az1EbjBxeEdNPSNLQTNMY2B+dkR4 SyFPJVlfS0l2JllwVnYrKi0/dyYhNGVacnpJd2pEN1pfNSpMXj9YCnpZPnRrZD9ORSR8RkRFMkFx cC1OWVl+diV3QSU3SXw/SGp8dWNaNT92bns0KWhlOWZsPW1qNk5WNENUS2RPTiVkcAp6SXk5YUhE O3JQd1JxPlo8e2lhaFJjSF9+NGZXITRHY3xZYXF7JDlzYUV2RVh4PVVDbURAXiMmdCRhKmh+Xllm SG8KekNDLTUqJCErOVpDSSVqZW53cHZeZEJud0UqKk5TcFRzPXhRX3NeUjVnfmJTcld7K2NzenN0 YHFSWWVzbHU9TFlECnpLKT1INE17fHdtdnJnMFFpZGFkVkxfdmZle0txMiM/ejhyST9vNTJzJj5w WnhnSCtoPSlvcj85QSZ3XnRDKSp7YQp6O2FARUBNTVlOIWtTNU5xZFBja01sfG1BbWxDMzJYb048 eU88Y2UlbSZtMnwqbUM8Snp2blRAKWRsTWIhZHlwTloKeilKMzYjTU9zVFU9K3M8Xyk+YUxEIVh8 fkRpMGFPfnZsU1RNLUA/U2w1Njsqa3dmSTs/TmljPkhKUitRcGVSXnhkCnotP2hrJj84TEthMUJR byUmaV9YXjZUJCVlbWRHbWFnLX0/Y0Z8bTVyUHojY25QMz5OYzImKXllQ1JLOTBybThnYgp6Tz9z K0NRKVAtKVQ3QkNBYWM5JVhFRz1kYmZ+Yk41KUxZPWZeb3huMEwkdlhRKmVKP05VUng7PmE8Zj9I WnMlMEgKemVGRGgzWm9tQDBTcE5TaD4mZ1M2ZGNVYF5NVTxUPVE5X2ZnTH1oRnZXRFN2aCZrYFpC Wl5QaElXWnktJHZLUGpoCno+e144RVdEU0ViNytaRCpeU2loMkAzUj41cnxacjs/fHNqRSZodEZ5 eXl1IVA7VSNUTlJQdzN6QzNvbEpgbF8qOAp6SlUra2F4bzEmOUZCRkh8Skd0d2UlJlh0WWFQPmtk YnJ6UkR1Q3woY3cxJDQ8N01gbXZvaHhiWiVHQVBzdno3fWAKemxsREFGUFYmOG1qalJvQktpcntD XyNUT0RpZjcmRTVVdFRPbzMkQWx4QE5GNU19UCYxQW5MQElvO2BjVVRLUXo0Cnp0aEBQfWk2PmJH Zj5aSTxrKkhtKjNUSVFiMHFqY1N0RXtQRiRwYWsjVlpreVE8JjsrNj1OV3BIO3wzPnVtWWF1Twp6 SDBIJnBxJTMtaGZBV0hBZSUlPHVTfH4oPzdESnRJMGAtPT1oXiFwIypMSmZIKk9qOCYrVFpjLWMt S3xocXcwTE0Kej95R0IwPnA+VjRMKTR4NHBSemctdE0wb350R0JeYz5iQWZCez8lZHkjQWhDI3BD NkxadX5QKlhCTEF4YCFZQWxNCnpxTjF3ITNpMF5Xb2djX0MxRmp+b1FhRnpDWHQ7K0MwLSE5KCFp YVBARFdzeVhXWCVhQkwqejAraGdAU08/YiVxTgp6cUZWZ3lGdE0yMUp5bGU9d0RATXtAKElOPjBp OzJ1bjlhdi1Te1JweExgPER0PUVqem50JDItVUlIVFlOeHtfPDwKemRTKj5tcCVsbDE/RGhXLXZQ ZldgZHU8SlE5V0wrOEU7MUpwPm1abl5zTHllZTlVcTQ1OXVXR0dEOVBRMSlCNlMhCnpFWWo/V283 QVElbyVwPlVrQTk7Uio2fjU+ZS1UKDdnYjRzPyhTfV5hRGFRSk5GSUc5RT4lWWxMe2Z4aSpwam9o dgp6PX5BWFk5cGVqdmQ3I0xTakk3WnVFdHszNiZASXpuaHR+SVIzR24kdXJNdk1IVWxtNGxMY34m aUMmbkpaK3Q9eH0KekIjZmo/NDRvbnFwdiprbDdOTHNXLSk9TXIjfU9oQzItb0JlbWMmZ0NpSGgo cjRKUj45N3V2WihMJWVxJUlkcDJTCnokfX1EJF5QbCtjTEBlZnFGeWptJitTZHlaNm1vaFBlP24k RlZyYWMtTT4tP3pvbFpmQmMtbj5qUUl1Qks4SnJiUAp6TkxHO2A8e2IwM2dISyRfJHQ0N3dxXk4l b3NZRG58SztTKy1KJDwyWlcyNClSPUxLNE1gdmBVeGYqVX1NOGQkcVAKekQ+LT05eUArZ3ApTXhA d3ZFVmAwM3M4Nmctezx6emBgNVAhVmIzKSlBMmQxd2YhbDd3dHYwVCVURm5wdUVqVlhCCnorNWY5 bnl0OWJDKmB6V1RqTV8reit4eEwrRSRuP2NEbEZwWGRne0RmXnZmKWpHPTZEYDVsJjA2M2pFPF90 YU92cQp6cHJVeFZ6WkQwek8hTTZ3JWYwe0Z2SXo7e2BUM0g4KlJtJjVNKVNSbjBORERYP3IweDd3 PTJGeyN9JnRPS1h6cmoKelJ6KzFjKzt6VDMjKGpDenM7ZTVHKWxVbFdIKHBUM2ZudThpTlhuZTE/ dC0wY2pMSWZfUl9sZkIyS2tkTG1RRmtrCnp7eSYhNzdxcShZcnQqSXdING1FPjwrZVBrZWFuOD4+ fTtDMmhnd0J4QHhyKFZTfk94OGZYUFptTXlaPk4xTUxeMgp6e1NIMllAQSNRSllRIUphaXI1WFJy aDZ8IVVBaGk0YzwhZ1A5XygjY3dNNFJPKjB8YXgtPmBWJHgtfFR0VlJ4RUoKeiV6ZiFxVFk3Qmxx ZXpkSHY1YGFQWjk8ZXhhciRxO3JFK00hYVBxREBkU3R4WmV4JDYtQUFoN2VhKypidXxHaUVUCnpl Y0JHbiVoZWRkUzgzYVN1VlR1aSZoeSNMNnRqXnN0M2hhenFqNmxPYiFTUiFPcEd9KDV1WitCXmt3 LV9NZXd7ZAp6OVo/dncwS0k/XjNecUR6OzcleDxRWldCTEUpOHcjYHU1NT13eSg4bkBzOUoxViEw cGtSLVp4eTgjaiE7TnFNeTIKemteMm4meWE8VXZpe3dJbkFRc2hWUXNhaUAwU31waCRxaD9aVmFw S0o0NUBLQFkmPW1+QXA5PCYkPkBQNVYtIWpVCnozSGFQUXdHVFliJldBPkM/bW5PU2JjIVJzXlkh aTVFQDBEfEcrcnBRWjkrez1Fd01qT1VCJXdNNVRTYmVnQ2tsSAp6RnZ+YXFHPXhOK0oxNkQpNW4m UVViJkJSOUJWcyZMTyZrO3c1Um9VQ1JOI0coYjh6fnNGPiVxKHJpcj1TYHhlQ14KemdnOyNNcEI7 SWUoUGA8c0tCTUhLOGpQbm9lQG01fmZuaXlxVy1fQlA1eEtvbzwlbCpCYWhnb3N0byNjVThlM1p4 CnpaXy1hQE1NKmhKSWhiaFdRISUrT3slRChkQ2YwVCRxYkdCUGNGeGZfNnw7JStEYXR6I2dRNjZv RT9Rc3Bfd0BXJgp6VmJnbmU1TT9UKXtxQTkjPnViUVl6WHlfMFVBY1Z1diZjK18tQGRLNUk8VCVD c3J+fThkRE5aO3pmSlE8Pi1PZWUKelRPWitMeERAMl8qeWc+N2JsNDwzT1JCKmE8WE4jIzZHcFJ1 T2gkQGwpUWBKK2g4RmVQNVBFZlA2NEpne0o1clRJCnplcH43OSE9KURUM0pmLThhTlZQKig5cDdP dWhFX3VHVDF4TERfNmVHUnome2tlJmU7M1MkcVMyY2haXmElMiFAUgp6KkpQV0dzKWVIKytrc3xT Rl9ucGRRanFFWHR1eSEyYXxpVkhjSzw1fDE9UjZuWUs7X1MxN1FoOUpeX25zX1BDQ3MKemk8WW5L Z2ttXzZKYCtvVUxAQUFPRlhAdjVpNV8+U2koK1pRUyNOI3xTOTIwZExZIURCcjlVZSp3PCU2U1N8 Zm9lCnpFQmBzejFmYnhZdmk3O0hnUnlGdDlPR0t8eCUqX1khRHFLcHE4THRpITckTDcpSmFAIVZt SD5zMU4jdi1QSl5wTQp6UzI+I01TM09Nd1V1MmhqQEFSJF8xdU5scGB4cCp4Zjh5flZqYD8tTEVj VTdzMkhRPSElVENkJSZQQlhGaExWNE4Kemc0NGVGUn1aLTA/SWNFTTR0b1pgdGNaWXt4Nm1YcyEy fVZqYCl+S3pHZHNKMTRyQDcpMn5oeGwrY347dUU9UiQ4CnpneDdUY2JNcmYlK2I0VztEfHIzLVd6 SlVyMmsoTGpxWT9BSmxQPmNkPFg2OStBIVkyb0krMTJ8UUwtOVhERXAwUQp6MiUmd01mZFFHOHBO cDdIXnZNO2JZWShIWlh9XjE9VWhsby1ZJEBSfERsJEBPcjwtVkhYPSRrbElHR3Q+ejRZZ1AKem9s c3NyVD5+fnBHY2F5TysmWig2MnxvYmEqTExVeFZnOERXQXM2bUEhOGMhQGg/XiNpdD5zK0FiPmA5 c1loUSQpCnpQMFFnbk9VJUVfI0htWiZ6PH5uKSZWLU5wbGZnbzBYPSYtUzA3YT9hcHx8Yk40QEdW TE1UV1FhRTF4NzdyKkVfZAp6TVk0OzN8NTJjb15LYHQlY3xjcFk0U2EyeUZKYXo8bGxHNHgpUVA0 R1pCSkV6OU1LKVV2ZVFHMzgjNDhHa09FJUAKekRKSlE/WTIhN1VweGZiI0MhPUMrTUt2Qj55TiZp Tzd1IzhgTFZ5M0J6LVA2IUkzVm5eWkomSklKYUIyT3kxIW5wCnpLKEYqfElFUzxlbjlUc3NFPmZQ bWdCYz9GNnc5cSp4d2slQlg0ODlfMGVKX0F2JF5ZY2tjMU8ycTFjcmFnYGRYOwp6UD9PKERkWXBo PXs+a3BKS0dVWjhSKnVyO3FrZyR7QUhaPi1oOTMmUyNPUFp0aF51KnsqVCRVRW80WUwyPzY0TzkK ei1MKXllcElKeCY+bDIlIWxCNWokR34+YGdJTVQxTHpoQjx4UCRCJT5sPUZsYWg2QkdGOTR9LSNh YmZYQ0teKVheCnp2TUhjVGZCMXh7Kl52ST5iKD9UVzhNV3tJUEA/b2ZpalB9XmhNKUAte2VyeyhE RU9zMDA1KXtQMGp7WiVfMG4yWgp6PDYpOyU/KW1tYWZqRmYmOTtIVyotb15fVyFgaG82dVd2ZyhI R01EaFFZJWt3MWIxPTs/MX14PCZ5PjdhSismeDkKellAOXg1SCgwMnpTIV5XTS0tYGE9QExFTVhF O2VAUVB7OG5tPD5AUWdJWE4lNCpRR1opWmQhajJBU1ckVGVvbj5HCnp3SjNyKTUhOX56JCVaWF8r UyF9fCZ7ZllIUz9rVUtzODtTUHVPbkVDWTRFUCRMSipBPFpRNW4wbk8zQDlRUFNldAp6NiZOO3RQ WVFfOUhZSiQ9czwxWH56ak9qSG8wOSY2ZFRoQkdHO0BeYUViYz5rQ0p1cnhkTW0hdURZXiNjdCQ8 Q14KemBYMUhyIzFIa1RJVyphZyNQendxIStoMH5mJHhRVWxMcj15YDtlZWhHPk9hdDJDc1VGcC1g eDFrJTFfTi09MiRiCnpxe24xO3I+Q2NkIURCQWMkT2F2dU1qck5XczU3fG8kSzVGcEFUY3A5Q0xD S0ckdjVlbG5SJXdCcmM1QFJoeSU+JQp6MEIjWElGV2R7RHooLVEpaSNac1BnXitXNj85elRsZyRw PEx6cEsoODZEeT95YzZVOC1aI01EeGptOzF1b1lLTUEKelJuNj1XT0Q1OHU9fWllNEI1Q3VzTlA7 IW17TnAoIV44bU1GI2EtTV9yYnlfQzg3PT1qXjVwKGlOPzZhVlM1Ml4rCnpKJEE1WWtPeklAOX5K KXloJTI5SFQpb0tGYiFYbFhgcXM0dnw3MnAqcXFeX2tCOChXUHY7WHpJI0N2P31KJWw2ZAp6VWl9 QUhjZWh9OCZKKCZMR1I9UWV5I1dWSVVOJEZtU2pLO3BWJDNnPnhIRSk0a3I/e1YwNFZyVHNEdWRO MnZVRlkKejRYIWtQbmU3fER0Sl9gPlp0e1NDMms8Q3VvWmVqTXg3dH01WFl0dlNIPzE9TkxjWHs3 OV84RU1IfUZuLWVRVUBSCnptem9oeUlLP3x1e35PP19JZExmZTBvVUZoQ1MmPXI3eWZXMzJNQ25U K2VgWW1TSkxPZjFTMWVWX2dzfFY+JjIjeAp6Q0xqKllYeTJjRT9SWjV7dW5UaUFWcyRWVCV5RVVB bzRlTHRLT05vWi0/O1IlTn5tMlRSZ1BkY28mOV5vPGgtYUAKejFtaF9nY3Z8c0NKSkx8aVkoPU5t eGZsYm0qeGVhJFFXcGxjIUdAOEFgc0YrZFIhJXBMUHI3THEpWmQqLUMzaHotCnpeNSlHdGpEMzc/ KFJXUUlTPXpxPWExKjByYkFZZFFaZWpPT2UxNGlLK29heVIleml9SnJPc3ooVyZLeF9eci1lbwp6 d00oOW4mdk5CPEwqaFYldHJxQkYhNSN3NmF+LVU+Rn5HSEY4JnAyWT9KKW9IcUI8NHE2YGMpaTk/ ZCo4YzItSTYKejNQZE4hOWwqOU4pVTNqQzBQKjFsYD1lYkRiQyZib1VWPyh6VzRxJCZkd3tkSCEr MT5HY3tjcVFISmdZY2E2ZE9GCnpGTSl8YERhNjY8dnhSfjhOZV8jU151Ym1vME9BZnFKT3lDQl5T SWxQNjJMfThve2tPc3hwIXU2PkQ5VXlSWEN6Mgp6Qi0mZUp4SHsqRiRFei1ZZzxebippQ3YjPFJ7 P0lFMSpVVD1peXRmdU1hJG1hT2x+fF9TTHV5bXZ9bFBHWjQ4KUQKeiZ2P0tOYl9UV1JgYH07KlBe ZyNmbTR3dH5DakYyN1olJkYhN2JpWEBCUHFrVkg+Z3pzT1c/N0dITntebXg5KkdgCno5QGZLY1ct RztBNWY7fGA7UDhfTj58elMweGFVJlUqbXVGITtKIUI+Y2Z9N0Q4VURuOXdTOGlaUHNkP21vQDwk NAp6MFp3WkY2dDNuKSlCbCUqQzFxensoSkZRYFUhQUN6LTxXclVgVEdNX0g1WSR0eGJvQjNUWGB4 bSpaSnJsI20wc3AKenluZ1dETDc1dj9yfXdjKGFnPXR0cEl5Q1okZVpwPUVsOTxiQlg9NzRqWW5U OGRmX2lfXnwqPXJtOVNFfkR6enxKCnpebT1LZVRwYF9TaitMUURRQU9vdS1kNkdwOFYqNlE7Z3dD KFdLcT9HdW5iTXcoLVAtZDx2MHV3WW5oOTcwR2J6cAp6QjNCbXs3RlA4ZGwtdn0qYXBRcj1CKjw3 N2B0emRkd255I1dfRVU/VFRtUTxTLWY5c2dYPFpCK3Qpd2l6Vzc+WDsKelU8MG16PSZwbmY4fVAw U2MhVnMjQlclcE88P1dfZCt4NVVoNFc8bzBqfl51KEcrQTYqYX5pNGhEailPMUV4KE9HCnpJMUU0 T2dDbjxWNDMqQmVmejFKQiRkPFJOeXZ3QlYyUUt9UzE3KXJpJFUlSnRQQ1g/Tz5RTkhaUFZkRHZD TyNkIwp6SmRrUFVfRmtsO3k5OWo3VG8qTF5lVHVWS1Q7LVlvcm4rMyRic2p2UldfKFRxR2h4XjUz eHc8Q3t2dn0pO1JyLU0KeitNI05rMkxNJlY3KzJDREw4Kk1NRTF9RStQdVMtN0JAN31IWVRURWZj dz8hVSkoYHJIXmglbVlQckxwbFRsJVAzCnp3ZFpycTtFLWNjWjZ0RktUJjZRY0cpRmFBeFdQbk9p b2spWEBLMDhZekd9Vy1ediM9RHt7V1R7d19kU2g7TTN4RQp6d1JaY0Y5bjUxVClpd20lPEh2cCgj YkpDSz8kaGVfMUcla2RDdV9fP3teTGN0OGQqdX4rMkU+SiFGJjFqKDx2MVMKejRGTFdhZ3R+TkFx NWIjQDNKVGAzYFhNbTRNTjc3Y2VSQVhtcnUoUFkqMmVfYk9SXjY2U1BnJFpUZURBRWVkYWpoCno4 ckstR3olbDxwKSlKPF80I1c9I3JJKztGc3pIVntIVjdiWUBPNEdfdlBWcVRlYXYpMEVac2RDPyh3 JGskcGs+Zgp6Tn1sa3Q7aXFfMi1WM0p5WlpGQUAqLUorWWdNREYoblM9X3A1REU9ezZjVXZpbW5S PV89JTRSfXVeM348PzdyeTcKelpQKGVVU0QmMzdkYjI7TTVackZwPWR9KV9IYGB0c04lc0ViKjRt Zj01WURIIWhxdDc8SHJCUk13PTA2NUtUajUwCnpyPStCYDdIbEFnajhAdGBXLUBRNl5jWWglc01f M2dPPTgtMTN1KHk5al9fSUA4SCVBITBiNW16emZTeEd0c2NfYQp6dSZHWkFWKDsyfENMfXhWZE9y fSZ0fGdjbkh6KiVPKzcqRX1fMWtMfTN1fHxHYiopRylVS3tzN3Z0cXlfWFFfX34KekdlfG9pPSRP ZXFoMz5aP2U9QXwhcypZSylgKEBHfWFlTHdfJSVJNnpBVSU/fiM1KUpLejA1Y0k4WVBQeDUxeiQt CnpfSmIrSWVmSGhQQT8pYHZsXlFWfSRyaiQjbTZ1UShgPVl5PE4tUH1xZ040YmcrbyU5aVZ9Jk5l ejU+Vzc3cGs4QAp6V1RBcFE/YjsrJXBLcCZ2JGkmRHNDOXRjbFRoTnh2PG9ySV51fG5VQ0B2cWBK NmM8JDtjTiVlfi01ST9GRm1uJGUKenMkcjhTWnZzeFNVd1JXcDFaPDl3JUNtdGh3TXBnISMoRENh dDd2cHlqaCkhPnFNRlkqcXpANGhnREtieDBJKStMCnorUFBKTXpnY3NAUnJUTl9FQ3VxU3IxdllZ b3RuPUw0V2UrfWZ1VSsjNGdIYjJeeCtrNWx8KyQjUWlCaW4oOXhfUwp6TX5JVWVFWmxAO3A2YmpR UU84cVktP0krZUgwdztzamhnRWprO0ZZdkB8dShlOT8zakE4WEtaWEFpKERLSzJgSkYKelFAe2RM VClLYUY1ZE5IOyRNcmtYcl9hUFM0VFh3dVQ4O3FJI15kRmRxZUpPRiNAJUwzTlFrdkp2UkRaME0p aTcmCnpTbEhfNTdnNytHdVFVMXpLT0g5MkBoQX1OT0dmRUY5fmNJXlc8S0JaIz0ySilwPVJzQE17 R0tmPkdhYGpIUk9rYAp6ZDJTOHAlOCNHcmtnXlp0VEhOfHtpYkdGLWtGY1ZgRHVBfS07NVlUTSh1 ZGZNTWNpTyUtRzAjLTdZOXFNaDh0JEgKeit5QUphZFU+Y0JHOUlfUlladnZRVlduSHJjSipVb1Vq NjJaa147TUQle1IlNk4+dFhWIVhiOHA3Nn1BRWAkZHNjCnpqKHUzeUxuOEwpKForcjdwdmI/Ujhs cF40NXE9Sj47PUdsOyZYVXsrKFlLWT9HWlBDcTFjRj1fJG1walR1R0ZZagp6P0E2eUYmSjh9cEty aWxseW0hcCkkKSstbkJ9bnZ0WkU1KlFsay0wbitSVDhmJCZYJj57M3dNUjRSTjd5dHhscWwKej41 NEZCViRYUzVkdUszbj13NHxhQyg+a2ZuR0k4eFIpd0c+dygtTSF0S1FmZWFscEZpZD1hWHh0R1J7 NUF6YWF0Cno2cSZQTjM0ajxNTWRuV2Y5dlB3cGcwazlBKz5AaUBTbE15bjgrcXV4VEw3ND13JT1K XjhMeGYpWkYjMEd1OUZlNgp6diQxcG5KRU9fZ3c/Yz9eSTJALXdLZXMreFVyY3NGaV59QnU3b0c4 aU5NRyZfQyhNRE9LKE0+cyN8Q00qOURPMkQKejllRFgpQFJ4YnVCKjlBdnsjZHZzJWsobWZnJlA0 ejlSPn15MUQ7PEoqOyNnJj5qVG1KaFh0fEtrQCMoKSg1U0hnCnoweFdMYGYtN355P3lFNXwjQ3Rt M1hON1Y8STVVdENeS25rVFptTH52entkOGo3QzsxYiVZJXByTkFeLX52WFZtJQp6OStiOVJZfWNa SlRNOzVfYyN7WEA5X2o4PWQ5QFEtYX4oWEY0JGBJbXUrSDtZQEFJJDlOckQyO1B0UUs+O0ZPZCEK emoqWDRBTF5tS31RJlgzVz9qTyhZMlZ9REI5P3A5dW1ybmc8RllUKz0qQjhgSzExVGBlJnRsY1Qk I2VJcWdPMjlBCnpkJS1eWjx2a09Vbnd+NTZsO2hSMVJ8R21PRX1xQExPM1FaNWNFQzxpOEdSSU1R WE0pSlJgKzI9bCVnazdoVThecgp6V1ktb2FhP3BmPyZWWiNUWlpQN3dIWmEya0lZV0dhZWstQFB0 bnJER2MtfUQhTFc4aEl4UWpaZXZ5cTFRWmRwLXwKemVATmcmaWd6X0hpNCNNZzZ5IWReM1Y1OSVv bVdKVFRfbD88PXJpRU94Ozsrc2EtbHZCYWNARGBESyN8aUt8SVRiCno5X3kwcVdPRzV6a3hkclVC TX1QbHJlU2FCY1JObWE5dG8tND5BNCFSX3BEcTBIS345eGhNb2w/R0QkRHQ+LX5fXgp6dW51blRx ZUE8N2Feaz5lQkZJXlc0ITgyZio1bWNzV3xXTEd5K3J6S0J8T014aFRUPHVAU2xsSXNnd3kmSH43 dVcKem9WM3dEODtOIVpSaH4pVikzZypIIS12T0NwUyo+bGVmaE1MS2YjfG5oYEc3R2FLSDFFbmAz eVlLKEMmZigydm1eCnprMVB2QWRPKE9GNkFwS2QrdE4lWnlnQzJ2YGhlRFdqKzVTWSg4dkQxbzBn O04lZmp2fVFMKlZVRj8/SUl4bjMlcQp6eFc7I05UTXxFeFNJVnwtNUdPbmVQM0NOaDVhTGZ2Y3Vp OXkoT3IpfVJJOENIKlNMdEVfaTtJeHZjPUJLZUhmVCYKensrWGlrQ1ltOz5aaSNiSjI/PEI/R0RS Tld7VzY+LXd7TThgbSo5PHFXMzgldz9XVFdlJVk2fWN5U2FUbHR8NnZUCnpCdlJufEN1SD1SUS1M U20yST9gU0t9WWlgWVRnOHF6NVhoWHlGJV9JPVBwd2E+VTVGX1pGRzlOVjdEfkImZDgteAp6UlAq ejFsS0d1TEdPOXJKMEpoXyFkRmgkYD5mJjwwSntmWnE7cC1qU2JONzw3ezZlZTU/Tkg3dXtIcElG NSVTK0IKelpzfWJNS0w7KFBrelM7eT8pakNGO2VHRWRaWmx5cVpYJSYpeCo0JXZCSyRsLSg3fERE LUBgSHVyZkVLZGZTXzhxCnpzWXE+VENxZU1mbzk9bTZyXnRaMnQqdmRZUnczJTV1K1IxcVFrc0o3 YytFVlM0Q20jOHlFblRLaGVUKHtCfUNrYwp6czg9KyFsJGl2VTY1ZnQ3YWElNmR2cy0/N2tDLVZ9 eikkYjQyc3EqbypgVGBEYGV4YkVvP05mLWtXSTN2R0JHcX0KemokR2llUWVsMjM8fHBRJVQ9OWc5 VGltdDZrPTEzeGJsRDZeNHNwIyFDV00tM280JFJ6V1ZQJmxDXi0xPnJJREM+Cno+SlFWM2hsX35x b0ZBcWFjKHFPMGcpVGo+N3h4ejZOQWlBZFBqdkFiZ2ZrKTluNWlWM0NYeEtjSDl2bEFHfmlhXgp6 dFVGV007PyQqfTtFfE9xKCoyIVBqe0xgJjdtbE1CXnl2JWtieGNpU28hPEZqXiojciNwe2VSQlJY aEZARSorYXwKemNJdTdrRjZ4IW47XlM/MStAaGMxYVlgPj54ZVZGYXhoZ1NoOHI1eTMtPG5lVy1E MEZIbDB3YFhYPE1Sd0ZpZlpSCnpEezNAWG1XJktuSlU4cm1aIV52NEN7T0l4cnx2bX4kcWczUj5C PEJfVmspc0F4OH5GT19rdkUlYyNhOFVXUnBMcgp6Y3I1Y1VETSgoJHA/IV9GclN8XkgmSmdFKSZp NjJTJX5AQ1JwMGYyOVJrRTIrQnVWX1Y4bHtpcU0/T0J3O3kwKkoKekJ0THVNRCh0Uz1UdF9rd1o4 WSNYUmdmPXlZenNUPmsob0h4b2lZMU9eUDhTSSNTNlooZWFJX15XfUNHMFVRZiZ3CnojQDM+KEtL ISFDRGFaOEJkX2gmVVliUGtUZT9ncFlsalNJXlIyeEIkenQpTk1zVHAhMWgzSz5mV1omSFdKdk9X Owp6aldCUk91ejI7dTZONDd+TTVIYypUPXVVdTZnZH5Je2NkeGZBJER6KSYpSSR8JF5BcThBeD5V ZT1OZGxCQ3d0U2gKek1wQDY1Um1yNEVoaEYrZlFPI2tAT2ZCaVdiNWJAQngwMmxLY1h+R2pqZ3BF S3deQTZoQF5sNF9zKW8kWD1aeDJgCno9cEhQdVlLfWZMQSkmXiY7fDBaRWowQFFFc3c+QiZSQSU+ YU1KMjwoUnFyQmwxLSt3R2w3O2N5V05TfXYrXz1GKgp6ayhvdE88R09HZUplfnRKJlpDWWQycHdm Q2NRN3tqc1F1O1chcmQpK3VLTVRGe3Q9Y25nfG8oNXNBbUg8Rkw4VV8KejxpIzchcnVaX2A7JG85 O2QoazUrS1FhUilkZm8/NmQpWWwtK1dGO3xlRVJmY0ttfGp+e3ApWkFhIT0qYS02MmtSCnpYcUlg Sl9CRXF8R0pURDtWT0BRY1JnKDhpJGspZDhHVyFMelZie3RpbHhlalZFdlBmWjd7WSFpMVpBWVZC I3N2fAp6bnI+O0IpWFRgc2hfOWEyNW0oPXY7PH5jPEIwWUJaNlhRcjxSbm4zX182ITNsZ0BDXjFs T3ZDXlJLMll0YHw5ZTkKejN4e1o8Zn0/TXdsI09yZTVYKDhrQTElM3ZRfkFWUT1RWj5qZTUpQ3E8 enpyKyVjVChNRCVEQklBKEBGd3R3TlB2CnpTdi0/PVIwYGdHSmZ0WE9ENkR6O0xPKVU2WT04UkVg VTgxKzdQXlhpdFJuQn14UHJ0NzwxMnNDYjVHXjMlQTlpQwp6cU1tdG5oSjMhbjl8SS1VKj14Zk5E azxOc3RIZkBKbXB3SFclWHN4X25HeU5ycmdVazBQeF9JdyRIZWtFYzNPYn4Kemd7WUtZWSFgYXFw UHBBfU1HNmA3JUxEd2dfUl5hLV5mJTMtbXdYbnkjSjJaKlR7X3J1R2BgVllSfilJKkp6SX1BCnpi dmFsSWtJR1NQZUJJRitENjJLbXM0PlI5eUhpRj1KVXU8Rkk+Nnp4YmZiRF8hYmorbmd+b0JnSzNi WT1XcHhDOAp6KVZ0aWh3PkZXIW8rQnB4Sj9aP214NDF5dDxMPWlrJjZnIV5sWjMke3ZHWEpWYTcl VzMwOGN4NmVQUHdYTigwQlgKei1XJHFwKCV2fTY+dUxeWEZJJERtan1MNDBiKX52KmJ+UnAmb2tB P2l5fDlvKC1qeHNZelY+LW0/YHdqdGEpRncwCnp3diZDfnE0SGdYPW89PUFKNT9AdURvNjNWbz4w eEE4Wmw7KmhDMFUzQE9VbGtRMCtgX1NfcXFIJDA1cXN5Ynd7Vwp6KGZlcGxZQ0F4c1dOSkB7dip8 WTVQMyFQZk5ndGdXa0pYRWx2Q3ktfUJOQ2M7ZmNeYn0mflM8Und7SDloSGZWN1MKeiZvLTsjRFQo NCQlVFAoTVh2MVZ7c0BAb3goPSUrNilPTnBzX1N1YlpwRi1WUWlIb1I+WV87R2hQV3RVcG5LKXBg CnpWQVRAUEY7cnZaJUlaRmJLMENSUFNjQTtXRWV3UmZwMUA2b0A/RyMrUTVTemQ0NDsxI24yXyRO OFFHQm48PCV7WQp6azAtKDlKajdzKSleanRxOGxERUt2RyRuQjhMVFRNKnx7b29yflJ6ZWpaTmUp PnQ2Vjx1fWB9RmxJVz5YQkReVXAKejNPMGVBU0ZCbUkxWHdWTTl3UEtPZFI9Y3NacUtjJXNjIUZR ajwpVl8zKmMtVTU0S1ZrPWBwK1I+YkVOa2MpfjcoCnooUihZYDZnTXJjeTBgSms4aGpWe2x+YFJA KDQ9Knc7I0heQG1uKD4oX35FbWxma1BgdW8zU2wqWF8xTVhiREIjcwp6b3RaenRkbG1Mb3F5MFRa elYwWkZLdUUwY1UjbGVNVVJKd2hVUCNfNk5GR0E1VWQ5ZUd1Jj1EekRlcWE3OXo0NEwKenk2dlQt JlBTdWZYJHM9X3JENlJAcTF2QD9sMVh0JVBNQkNoV301K1Z7LXdLaG0rbz8xQjBOKUpNRTl5PlFy QX1kCnplVzh+KXlzZ3pxRD4jM2VaaFp7LUtCdytpTFFxX2khPEdSbTMzRiZVMj5yUEZqbWlhR1oo YUE1d35HVGRLV35oYAp6ZEcoUDF3ZGVranNqdlgmdEMqQiluQyshKWdSSmxoNXdZdTIwI0Z8dVpT TWZ5P1BGdFpQaSMpTTt1ZSlHWnArKGwKekFGbFQ+S0hnPWZeR1F0cnZ9cXkzd1BrKWN5RSFhLSQp UVN4dUhfLW97cFN7Wk4rRFRrekxwYjQ4eV9JWHZZWnVxCnpIeUYlJTtJZmAwV29xMXtlakM3IT5C XjheYl4wQyt6Nld0bDlzWkl+P1dMUiNeaGNOJlR6MGNpWCVFRlgjI2FqTQp6I09BMSozVVA8TVAo aGNmJT4yK188KVUmdU00c1k3I3IlWipoKSM/JnlaZS1UKiZPWkZlTypjWCo9T29FOSk5QTsKeiEm P0VKalZXWUE5KGNRbylPflpVTUQyayR5UzRXcztgMS13UnlAb3hSUzd+aENVfGMmaWhQMzl1ZFRL OD1qZVU4Cno9UjZTRHRtKDFoRF5+NFpuZCU8RHN2aGRVQyRBKiFydUBXVExXfUp5Zj1oSmJzRVNm Pi10ZGdPPGVsI35FfUtVaQp6Um9XenI/OVBjNzlPZUVoZjwpPzRufHg9UylAdjJZMD9eNX1yMkE/ RXRwSiF4TC0zIXc0Uio+NUE5JDtGLTBrck0KemkwQVFJIVYoN3BvPHpEcTBKTT4pJjVYamhtTnNz eWAoNnJHUHUpc1VQLWs+ajlnbFBtQyUrVHhKRDcySGd9PVJICnpXbzlPVCQrKFIxeXg1byhJKWk7 VlhYcWs2SlUrZjdObyt6ZCZqbH40SD5yTGFZQmFwcmsjfHUlYVkyfSFKS0RZUAp6ZmVDWE1qZGV9 eUdCVkxMVXkmfHF0OFpRUWZ9XzJucUBSU3NqI0k7SUxEal5xVDNyfmtjdHpnX2hvM1dMZz4rYCkK eihTIz17bWRNPU1DN3xedE0qTzwqcCZlND9oTEgjYkhMTFRhSnR9P2RYR1h2OW1ZLSQqJGkpN3pi fEo2YUd0SnopCnpyc2JRdko1OHB7Xk1+cElXRyZCT3FudnE0P2RyOUUmRWdFQ2k2SVRqRn58QWYk OGg0dFcpN0NhWGorUGpDTSRnfAp6JllweF4yfHt2M2B8JUVkdlJOP1N2PFdIUWoxcTljWXlFTG5B Sz98RlJINlc2bjlId2dDeng2YGE2d3xQe0RKTD4KenRPWkwqTF9gN3R4MUNIP01eNDx3anh3WWVX YkFPRyh6Jl8je0otQl8lfWN2akloKXwpUnh7P1laOX5pRVVIJCVuCnooK2JBPXkkbXU8KyZ1LWV2 eVhXZEFKMTM7fDcyOF5EV0NQfFNadUgoN1BZd1N5Z2MjQSorUUtoQWFKQkFUa0ZQPgp6Vi1CKSs/ YDkpe3g5N3lENzkjVnFkanJqdXlvTy08VXN4cHVVUnd8KEk0UT9RMyRzMCE9eDlFS24hTWVnRk1s ODQKenFyQzliXmxLNGpSRlZlQWEldTlxX0ReNnZWViorYUg2XipeSHE9ZGFvU2I0fWBoR2B5a0h4 JDxaOFMocE1UaiFwCnpkU1NOWCRGb3B5NlN7bWhjMHFNbDBZMTB5QHtJWE5Cc3RNJF40Nz5lbFZw eD1AI1YpQzUwYko2LXJhe2N2MTEtPgp6dnEkKDxLR2Rwb09Gd0pvMERRaz9iMGB6Kno8YkBzU0I2 ZSEyemZRZCUleS1kYVMhRTczZzJiNWJLampMPUolVVkKemglKyZnNHRDVDRsZXNNIWN8dyhGQXVX VXc4N3YjdXkwO3w/NzxNcXx3VFJOdm1IYGt0eSE+JUA9JDRxck4tOWBKCno8RXlFcSNWc0p2U3hB QFp2VXlXalNRUm9ASDhSQzwha304MkFYcVhZWXF9PD9gYXxvMHJqbkJEbHIlS0FHZVNacgpmcHFr a3Noa08xYEB7QiYzN2Z1VGkwVXNyS0hNISF1V2BYfCl1YGtGVgoK --0000000000002a0d1e057d874d61--