Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Dynamic Languages Toolkit (DLTK) » Expanding dltk.tcl for java/ctl (jacl)
Expanding dltk.tcl for java/ctl (jacl) [message #22268] Sun, 13 April 2008 19:49 Go to next message
Eclipse UserFriend
Originally posted by: juancarlos.furest.gmail.com

Hello,
I found eclipse suite with the good TCL support but I work a lot with JACL
( Used as scripting language in a PLM solution based on java)...
As soon that I add a jacl keyword like java::new, java::try, etc, I loss
the code information ( and that's normal, I agree :-))
I've tried to access to the sources but couldn't compile from the sources,
nor found any documentation on modifying plugin sources.
Is there a workspace to download or any cvs?

Thanks in advance

Regards
Juan-Carlos Furest
Re: Expanding dltk.tcl for java/ctl (jacl) [message #22302 is a reply to message #22268] Mon, 14 April 2008 05:31 Go to previous messageGo to next message
Andrei Sobolev is currently offline Andrei SobolevFriend
Messages: 72
Registered: July 2009
Member
Hi Juan-Carlos,

Thanks for trying DLTK.
I suppose most interesting for you will be jacl integration which include not only keywords.
If you are interested I could describe how to do it. Our Tcl implementation is very flexible.

For example you could add jacl interpreter support and implement builtin provider, this will allow running of tcl in
jacl, and provide some fake modules for jacl internal modules, etc. For example you could provide namespace java with
all appropriate methods inside.

Also I suppose it will be not very difficult to improve completion and provide proposals for java methods.


If you just want to add keywords please look at org.eclipse.dltk.tcl.core.tclkeywords extension point. Extending of this
point allow to add custom keywords to use in keyword completion and for selection.

Easiest way to obtain source code is to download DLTK SDK from eclipse, and then import plugin sources using eclipse PDE
Plug-ins view functionality.

Or you could get all sources from CVS;

host: dev.eclipse.org
root: /cvsroot/technology/

You need to checkout all plugins from following paths (Checkout of root folder will not work):
org.eclipse.dltk/core/plugins/*
org.eclipse.dltk/tcl/plugins/*
org.eclipse.dltk/xotcl/plugins/*
org.eclipse.dltk/itcl/plugins/*

Best regards,
Andrei Sobolev.


> Hello,
> I found eclipse suite with the good TCL support but I work a lot with JACL
> ( Used as scripting language in a PLM solution based on java)...
> As soon that I add a jacl keyword like java::new, java::try, etc, I loss
> the code information ( and that's normal, I agree :-))
> I've tried to access to the sources but couldn't compile from the
> sources, nor found any documentation on modifying plugin sources.
> Is there a workspace to download or any cvs?
>
> Thanks in advance
>
> Regards
> Juan-Carlos Furest
>
Re: Expanding dltk.tcl for java/ctl (jacl) [message #22331 is a reply to message #22302] Tue, 15 April 2008 04:07 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: juancarlos.furest.gmail.com

Hi Andrey,
Thanks alot for your quick answer.
I will go step by step. First of all, I will add the keywords and learn
how dltk tcl is packed and get confident with eclipse environement.
I surely will have a bunch of questions to ask in a near future.

Best regards
Andrei Sobolev a écrit :
> Hi Juan-Carlos,
>
> Thanks for trying DLTK.
> I suppose most interesting for you will be jacl integration which include not only keywords.
> If you are interested I could describe how to do it. Our Tcl implementation is very flexible.
>
> For example you could add jacl interpreter support and implement builtin provider, this will allow running of tcl in
> jacl, and provide some fake modules for jacl internal modules, etc. For example you could provide namespace java with
> all appropriate methods inside.
>
> Also I suppose it will be not very difficult to improve completion and provide proposals for java methods.
>
>
> If you just want to add keywords please look at org.eclipse.dltk.tcl.core.tclkeywords extension point. Extending of this
> point allow to add custom keywords to use in keyword completion and for selection.
>
> Easiest way to obtain source code is to download DLTK SDK from eclipse, and then import plugin sources using eclipse PDE
> Plug-ins view functionality.
>
> Or you could get all sources from CVS;
>
> host: dev.eclipse.org
> root: /cvsroot/technology/
>
> You need to checkout all plugins from following paths (Checkout of root folder will not work):
> org.eclipse.dltk/core/plugins/*
> org.eclipse.dltk/tcl/plugins/*
> org.eclipse.dltk/xotcl/plugins/*
> org.eclipse.dltk/itcl/plugins/*
>
> Best regards,
> Andrei Sobolev.
>
>
>> Hello,
>> I found eclipse suite with the good TCL support but I work a lot with JACL
>> ( Used as scripting language in a PLM solution based on java)...
>> As soon that I add a jacl keyword like java::new, java::try, etc, I loss
>> the code information ( and that's normal, I agree :-))
>> I've tried to access to the sources but couldn't compile from the
>> sources, nor found any documentation on modifying plugin sources.
>> Is there a workspace to download or any cvs?
>>
>> Thanks in advance
>>
>> Regards
>> Juan-Carlos Furest
>>
Re: Expanding dltk.tcl for java/ctl (jacl) [message #22355 is a reply to message #22302] Thu, 17 April 2008 20:31 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: juancarlos.furest.gmail.com

This is a multi-part message in MIME format.
--------------010202070609090104090605
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrei,
I've tried to build the TCL plugin ( I have 5 errors: four in debug.ui
and one in tcl.testing ) but il seams that the core works. My first
question is about the blocs eg:
java::try {
}
is not recognized as a bloc like if / while etc...

where can I find the big picture of the dltk framework?
I am thinking that I've put my finger in a gear.. ;-)

Best regards

Andrei Sobolev a écrit :
> Hi Juan-Carlos,
>
> Thanks for trying DLTK.
> I suppose most interesting for you will be jacl integration which include not only keywords.
> If you are interested I could describe how to do it. Our Tcl implementation is very flexible.
>
> For example you could add jacl interpreter support and implement builtin provider, this will allow running of tcl in
> jacl, and provide some fake modules for jacl internal modules, etc. For example you could provide namespace java with
> all appropriate methods inside.
>
> Also I suppose it will be not very difficult to improve completion and provide proposals for java methods.
>
>
> If you just want to add keywords please look at org.eclipse.dltk.tcl.core.tclkeywords extension point. Extending of this
> point allow to add custom keywords to use in keyword completion and for selection.
>
> Easiest way to obtain source code is to download DLTK SDK from eclipse, and then import plugin sources using eclipse PDE
> Plug-ins view functionality.
>
> Or you could get all sources from CVS;
>
> host: dev.eclipse.org
> root: /cvsroot/technology/
>
> You need to checkout all plugins from following paths (Checkout of root folder will not work):
> org.eclipse.dltk/core/plugins/*
> org.eclipse.dltk/tcl/plugins/*
> org.eclipse.dltk/xotcl/plugins/*
> org.eclipse.dltk/itcl/plugins/*
>
> Best regards,
> Andrei Sobolev.
>
>
>> Hello,
>> I found eclipse suite with the good TCL support but I work a lot with JACL
>> ( Used as scripting language in a PLM solution based on java)...
>> As soon that I add a jacl keyword like java::new, java::try, etc, I loss
>> the code information ( and that's normal, I agree :-))
>> I've tried to access to the sources but couldn't compile from the
>> sources, nor found any documentation on modifying plugin sources.
>> Is there a workspace to download or any cvs?
>>
>> Thanks in advance
>>
>> Regards
>> Juan-Carlos Furest
>>


--------------010202070609090104090605
Content-Type: application/x-zip-compressed;
name="logs.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="logs.zip"

UEsDBAoAAAAAAGuxkTgAAAAAAAAAAAAAAAAvAAAAb3JnLmVjbGlwc2UuZGx0 ay5jb25zb2xl
LnVpXzEuMC4wLjIwMDgwNDE3MjIwOS9QSwMECgAAAAAAa7GROAAAAAAAAAAA AAAAACwAAABv
cmcuZWNsaXBzZS5kbHRrLmNvbnNvbGVfMS4wLjAuMjAwODA0MTcyMjA5L1BL AwQKAAAAAABr
sZE4AAAAAAAAAAAAAAAAKQAAAG9yZy5lY2xpcHNlLmRsdGsuY29yZV8xLjAu MC4yMDA4MDQx
NzIyMDkvUEsDBAoAAAAAAGuxkTgAAAAAAAAAAAAAAAAtAAAAb3JnLmVjbGlw c2UuZGx0ay5k
ZWJ1Zy51aV8xLjAuMC4yMDA4MDQxNzIyMDkvUEsDBAoAAAAAAGuxkTgAAAAA AAAAAAAAAAAq
AAAAb3JnLmVjbGlwc2UuZGx0ay5kZWJ1Z18xLjAuMC4yMDA4MDQxNzIyMDkv UEsDBAoAAAAA
AGuxkTgAAAAAAAAAAAAAAAAuAAAAb3JnLmVjbGlwc2UuZGx0ay5sYXVuY2hp bmdfMS4wLjAu
MjAwODA0MTcyMjA5L1BLAwQKAAAAAABrsZE4AAAAAAAAAAAAAAAAOgAAAG9y Zy5lY2xpcHNl
LmRsdGsucnVieS5hYnN0cmFjdGRlYnVnZ2VyXzEuMC4wLjIwMDgwNDE3MjIw OS9QSwMECgAA
AAAAa7GROAAAAAAAAAAAAAAAAD0AAABvcmcuZWNsaXBzZS5kbHRrLnJ1Ynku YWN0aXZlc3Rh
dGVkZWJ1Z2dlcl8xLjAuMC4yMDA4MDQxNzIyMDkvUEsDBAoAAAAAAGuxkTgA AAAAAAAAAAAA
AAA3AAAAb3JnLmVjbGlwc2UuZGx0ay5ydWJ5LmJhc2ljZGVidWdnZXJfMS4w LjAuMjAwODA0
MTcyMjA5L1BLAwQKAAAAAABrsZE4AAAAAAAAAAAAAAAALgAAAG9yZy5lY2xp cHNlLmRsdGsu
cnVieS5jb3JlXzEuMC4wLjIwMDgwNDE3MjIwOS9QSwMECgAAAAAAa7GROAAA AAAAAAAAAAAA
ADIAAABvcmcuZWNsaXBzZS5kbHRrLnJ1YnkuZGVidWcudWlfMS4wLjAuMjAw ODA0MTcyMjA5
L1BLAwQKAAAAAABrsZE4AAAAAAAAAAAAAAAALwAAAG9yZy5lY2xpcHNlLmRs dGsucnVieS5k
ZWJ1Z18xLjAuMC4yMDA4MDQxNzIyMDkvUEsDBAoAAAAAAGuxkTgAAAAAAAAA AAAAAAA2AAAA
b3JnLmVjbGlwc2UuZGx0ay5ydWJ5LmZhc3RkZWJ1Z2dlcl8xLjAuMC4yMDA4 MDQxNzIyMDkv
UEsDBAoAAAAAAGuxkTgAAAAAAAAAAAAAAAAzAAAAb3JnLmVjbGlwc2UuZGx0 ay5ydWJ5Lmxh
dW5jaGluZ18xLjAuMC4yMDA4MDQxNzIyMDkvUEsDBAoAAAAAAGuxkTgAAAAA AAAAAAAAAAAs
AAAAb3JnLmVjbGlwc2UuZGx0ay5ydWJ5LnVpXzEuMC4wLjIwMDgwNDE3MjIw OS9QSwMECgAA
AAAAa7GROAAAAAAAAAAAAAAAADwAAABvcmcuZWNsaXBzZS5kbHRrLnRjbC5h Y3RpdmVzdGF0
ZWRlYnVnZ2VyXzEuMC4wLjIwMDgwNDE3MjIwOS9QSwMECgAAAAAAa7GROAAA AAAAAAAAAAAA
AC0AAABvcmcuZWNsaXBzZS5kbHRrLnRjbC5jb3JlXzEuMC4wLjIwMDgwNDE3 MjIwOS9QSwME
CgAAAAAAa7GROAAAAAAAAAAAAAAAADIAAABvcmcuZWNsaXBzZS5kbHRrLnRj bC5sYXVuY2hp
bmdfMS4wLjAuMjAwODA0MTcyMjA5L1BLAwQKAAAAAABrsZE4AAAAAAAAAAAA AAAAMwAAAG9y
Zy5lY2xpcHNlLmRsdGsudGNsLnRjbGNoZWNrZXJfMS4wLjAuMjAwODA0MTcy MjA5L1BLAwQK
AAAAAABrsZE4AAAAAAAAAAAAAAAAOAAAAG9yZy5lY2xpcHNlLmRsdGsudGNs LnRlc3Rpbmcu
dGNsdGVzdF8xLjAuMC4yMDA4MDQxNzIyMDkvUEsDBAoAAAAAAGuxkTgAAAAA AAAAAAAAAAAw
AAAAb3JnLmVjbGlwc2UuZGx0ay50Y2wudGVzdGluZ18xLjAuMC4yMDA4MDQx NzIyMDkvUEsD
BAoAAAAAAGuxkTgAAAAAAAAAAAAAAAArAAAAb3JnLmVjbGlwc2UuZGx0ay50 Y2wudWlfMS4w
LjAuMjAwODA0MTcyMjA5L1BLAwQKAAAAAABrsZE4AAAAAAAAAAAAAAAALAAA AG9yZy5lY2xp
cHNlLmRsdGsudGVzdGluZ18xLjAuMC4yMDA4MDQxNzIyMDkvUEsDBAoAAAAA AGuxkTgAAAAA
AAAAAAAAAAAnAAAAb3JnLmVjbGlwc2UuZGx0ay51aV8xLjAuMC4yMDA4MDQx NzIyMDkvUEsD
BAoAAAAAAGuxkTgAAAAAAAAAAAAAAAA0AAAAb3JnLmVjbGlwc2UuZGx0ay52 YWxpZGF0b3Jz
LmNvcmVfMS4wLjAuMjAwODA0MTcyMjA5L1BLAwQKAAAAAABrsZE4AAAAAAAA AAAAAAAAMgAA
AG9yZy5lY2xpcHNlLmRsdGsudmFsaWRhdG9ycy51aV8xLjAuMC4yMDA4MDQx NzIyMDkvUEsD
BAoAAAAIAGuxkThV1w5ncwAAAHoAAAA7AAAAb3JnLmVjbGlwc2UuZGx0ay5j b25zb2xlLnVp
XzEuMC4wLjIwMDgwNDE3MjIwOS9AZG90LmJpbi5sb2cdybsKwkAQRuE+kHf4 Ie0yTHaEXDoN
KRRs1F6CDrqw4jIrQd/eaHPg8FWoG+IVcQvv+5p77jCMx1NZVBgvMaSs2E3z hOH5SCGqganp
5HwQeTsICXm3WPpYuN1f2G72y1mCZ2b3a0tYx4g/Z5hmtVmvVBZfUEsDBAoA AAAIAGuxkThU
T0g4dAAAAHoAAAA4AAAAb3JnLmVjbGlwc2UuZGx0ay5jb25zb2xlXzEuMC4w LjIwMDgwNDE3
MjIwOS9AZG90LmJpbi5sb2dTVjA01zMw0TOwUDAysjKwtDIxV3B2DQ7h5VJW cE3OySwoTlXw
SixLVHDOzy3IzEktUjDQM7c0jg8yNq7QUTDWM9Yz0gHKFVQWZaZnlCh4OvkC eUUFCkYGBgY6
INJCT8ExJ0cBLF2sUJRanFpUlpqix8sFAFBLAwQKAAAACABrsZE4JOWeZS8F AAAVIwAANQAA
AG9yZy5lY2xpcHNlLmRsdGsuY29yZV8xLjAuMC4yMDA4MDQxNzIyMDkvQGRv dC5iaW4ubG9n
1Zpdb+I4FIavt1L/g6W5oVLXCgT6NeoFpXQ2u9NSQUfVaNldueEAniZOxjZM O79+7STQJEBI
UtJqqESbOD62Hx8fvz7pB1Q/xkYTGyeo0TgzTs+aJ6jTHdzt731AXduhvgD0 J5kT1PFcnzrA
kYGPT83/+qb5dIhMbOLGoSrznzmdTCWyLq7VFfdRwzCMQ/19glHbcVBQLBAH AXwOI7y/9/vy
s79Xx+i+3b+xbj4hytDl2RDCpof3Hn8UPrFh6PEJju7ikSMfse1xGLreCBxd tqyhy4ZB2eXn
u786HpPA5N2zD9eEkQlw/E2PpkYkcigD1cOD/b3fqOt7XKK1bWBgc8o95io7 2Oq+XHxUFVH4
+bfQZ3/vbgqoVJuICsRgrqZhJmCUhNh4P4j1YhCvlCP9QdjIgbIMiyJ8aTGL YPxvszqaqnNJ
fvXWBn7BQNSa8WbcBoEtPRNE1eBFuW3ktbGFLE7NN2RjHmf5FlWeyRlxwnEs TNxyGAMHZoPF
qKTEoT+LIyvleQX6k9cRWzuGvehiSF2H7n40/V0H9GoRPR84kdRj6WWe7aYz JqkL2BpIImei
AO4tzpm0mxfbUaXYLsGR5JZ7as0ILx0O681TDcrndE4koDFV1ZBQvae26ova JD/d9PpddI6M
GKTVTxzOmIIzQqlWIztLIBzICDmeTRznOQnj+B1htIxMGIPel35Hw6i/DkZk JweMk/eEUc+E
cWHdtPtfFYzG62BEdnLAiP99WimYa/1QFGLSWI5yBZb2iPiSPBRVDTnDy9J6 VoSpG+/FyDxN
MfLcCe70+hdtXFCTrvBYaylvnK3vWrsniai9iOlJiaBYbOylnaexVXxaca47 cp4N1nNj27Va
T2IbBBt6H8brnSnHqce6JbwArTycQou5Ce1agScJPcyoMwI+HNic+vIivEph ah41NafPVMgg
Siv1ca76/gO1OSfP+nbtYAkoziEItWhOOA0CikgpFx2OU4PdtaQuM9hA3lla tA6AcHs6sD1f
dT74PkfhvS6bqIfXbU4Zww8sZI2+Wo2bZ/QtMwgjC5GpJvwcRfVw8HshkkUt NviN85052mql
aa7Rtlpv5djVSs9cgz05yp7aePwWNRGYUlrqG9jy8LWTnWBRrfJcslDjXMkw HIURX4VfB9hE
ThezmzG54YO5B1etepxJ6gzDDM4VsaXHn9P6yCyUg4opnSin9cr8QMGM1Gr7 mam9amXndrjN
snBviZx+UeaL5AN2DXjZh0zE1erY7Yg3JVd+vUR0Amu1OjfAqud2JQUTo6mL MPVwt3fVfbLB
16mtLcwSZNbVzz3+0ipWBHprQ7I0KtQp+RviwjWR9rTMuQjch/yRL9dZKLCY m05p2ZuHDmUj
eBpa+jt9/okCmvJjNtMd7o07U8ImoHWQnFKBXXDVGg3rjjxb3Hn9RQ5XYAi1 woD+hOQ+mkKV
2lDTTeXcWRul1fEmSMk1tM6X+vB9BkKFqXtOfH9FUiV8K1geeiFiS+rEsZft UKtLK1E3M0aX
Vs6VkWhs3xlDq/iCCGrHD1FVhu1NbWbSLS3Vq6Ob+fInPtKF1aXBN6C70mbu sFf6IFCKdJHF
/Gu7cAJy6QNJIciudmPKJsOXvInSm/rB9DE08VLInhL+9z/6B0k1TW0+mQXH zw15/zXwosT/
SqsJc0VfAZilDxq2kmtECCrkuk15WRYe1PU/kzigdVQ4p2ktbASvSQaSK7BI eo9RdiK8UVM3
gB0kfW/thqtrZmyypoF87qkHXYFq6uIH4UzZFwf/A1BLAwQKAAAACABrsZE4 TAXj6sYQAABA
AgEAOQAAAG9yZy5lY2xpcHNlLmRsdGsuZGVidWcudWlfMS4wLjAuMjAwODA0 MTcyMjA5L0Bk
b3QuYmluLmxvZ+1da3OjOBb9PKnq/6Cq+eJUeRkDfvZUV006dqc96zwqcWZq dzxLESw7TBNg
hJzu7P75lYRf2NgWGNIXO3Qq7ZiHxD33paMr+BGpDaVSVSpNpGnv1cp7vYrO O3f9dyc/oo7l
2H6A0a/ms4nOvSffdjBBFaXR0o1bXf9WRrqiK1qZ7fNfiD1+pKj78ZL9RXyk VSqVMv/dVNCZ
4yCxO0AEB5g846Hy7uQf8+3diaqg389ur7pXF8h2Ufv9AIdND373yJfANy08 8MhYmX6rDB36
RRnih8lYmdiDgFh87/wcvncg9g7Y3nav/882/+O+e+NMxrar/MVvp2RS5Ngu Rlr99N3JD/aT
7xGKIo2I69suxcQ1HdaQErnMz+wsFG7/kd/enbTtwPImxBzjITItCwfBe9R/ xIi++BhFWkB2
gFyPTo+yHxyMhhN2oMelSIltUdtzEfuxHDNgQqKPCLuUvCzLzxdXCgbrNzax DYGe8sxBqqhq
wyC6rjHpkCg22nfEpiGNTc/878ulN8TODVcxl5pcOOkwksQqtkUgmOnHixnH J33rAj/8zNzc
JMDDqFCr30+oekNIVRlj2vlGsRuwrt547G5K0bPY/nvX/nuCu0N2R/bIxqR0 Wl5IdHkrul+q
HTAcSR3SE6aP3hDFtodGxHtCFDKU9e8IZbPFoeyKY9bdgeP/HA/XFLPQ3zie ZTro2SS2yUXo
+As3QrC54kaWPzfyu/E7i9g+jb+tFRnUqptcNm9v7jMtj2Dl2scuv8nkbnqH i5ldOAuVXEhP
YZZhDk1qDpQ4PfWHWNzWgOInn8kuoLYrJBSv1Vwc/HBDVSrsn9DqqtrQtEpr 8MvQo1FwmzDA
rcmDO6G2o3w23aGDP5kW9cjLPtF4B+CRdg4H9RYI1OsVKdRZGhRgk1iPCveT d+LjneX5WcAv
qwfxLUNXCBbbpNRBrYDQh5qqc4WI2tzItNAHFqe+Rm2xdMphfzPlEzVHWiJX 7OJzlQSGaXku
g2rCL7l6/QOCN0dm49XhTTqiO1STzZH5SIRpNRxVRGMbCsTvDxtiHh8vdpnh ma6FS6dbgN4Q
jI870OZIz4BHXlYPFjzBorVVfuCwtSRH1uj1tURsikWwSfG8/+KMEoveuMzw 8ZwvNt0aNfbI
7FOqX2yHH1hXsemWkRBKz3THE3Z+f3oDx6WkOfJhiZRUTI3NiRlv9uEDT0+W hghHx+yoQHi7
XQAt+4fZUSUuWIV613d3TObuuHRaDt1OkpFDVj5g3qmwL1PjX7LsVcM/0LQ1 olw58oamEEkw
+Mik/8XnMxZ9bzx28JkVo15aawOHNLGVbnhGGzt4zHCU5ok2zs+tX3PbVFxE XjkybjN5hVK6
cLwH0/ltSvMHoS6SVamFkT004xvi/YUtivzp/x9QZ2gz1b2ntmNTEdAjB5Zs 15/EhuuI/Fbm
G2ZXl5x00HKkpKIC+92k1qOYGItVMPWt9GJH6UWOBFQypHTBJ0cn0jAhHmnb puONS6Mbk1Ch
zjZluan49Igdh0eXSyZCJvNAiW/KENeRPSwhMwkS1Rx5p+KiyjaWgqCffkKr EH/fbWcmsyww
IZ0ymmUzs//7j8T7yl11ESbjI6qqK6hze3t9m7miOubEtR7PPXdkj5lsQ60N Y+G59/TkuX3z
YXWqXpcLF2Iqs9ud/ilEfM6+OvfE0JkGmUxqSVca7eoNskyXo/6AOcye87ya 62g5EltpUNhY
LPAWtEO8cqSY0uC1cf5/Da+wCOYzdnzWAsXfaHe4n7HsQC+uPSgg5kjBpAFR PlOOupr7boZu
bxecm1qGgmmOrE0aTOULZe9+76cvyNiB2uLaUGDKkf9IA1NTGqa4qyu99S8v TZdhQbLJQxID
vrlDUBQgR0InjQJsosHSK0AwGxXlpQJplGDeKSBqoOdIU6VQg+rGirokanBB vIk/rxnPHn4p
2KOdgAJ3jlxXGrjVLOD+bAeZlVEmAHjaLBRkc+S7UiCrqlo49y4omztMqe2O AxTMPnyIjio5
6dXGI3Pi0O2VGcVfUaPnWDwFFyhJ1BalM/NGCkDm6bDII7WhLVbbRAf+Su/s /ur8s3F+ffWp
e3F/e9bvXl8Z7e5Z7/qCfXl5yf7qn31cr03O1H8CpiR0WLxSRlAmtE85KEc2 doZIrhcrRgxZ
AWBxUmpLpEgimUQj85k/IID55AWfEIOutB2CYyV0WOSRjPAXtT/isNKsIMg3 CZNQefbntqGg
Mm/fYHD5jvli2K7B2vOITXFgPGF3YhhqZX4xtYzYzwWxh22Tmsqnbq9nfLzu f4619T3ceM6b
ZPlSKFcuey9g8lhM+LHhweLXap4AT7dhMW5qS0wxZaWX+epDYdgUWKRaxhhv yfUzWJ8cphOS
3Vkx9gKoRhUW0aaprUVoG4vfy4EtEtIioUxSmSplpJeRNj0pGqo+X992/319 1T/rxQSsLBxJ
su24wlAVFgOYTg8PJd+twiLtNK2SIF4smfj+plYYNw6LvUuNmGwsl4/XRYzJ sHg7TRNkzzzE
IGt1vDl1h/MjSsJjllHoGTk3+8lzKS8c1aeRV48bJ5YR04RKPDOUYWCVNP1I lF3c2lKk5Te1
EmeLFHFhUYqZa9kWFSpcPIZF/mlaLYF37xl8wYqhpyHvDyAww6IO94Au4TBb PkLPWilgoIbF
nWl6kqzrznhkjnNoVFPNqh2AZcIixfYBL6FpJrDNeTvFM84aMGYrLOMe3QmB 9pjL42f18Tca
l+Tc2e7YwXxviedBZaRuAVraKsElNjVgrM9rYJTGp0bGIkvtLg1GijDkqAHj lcKyTqwwIUwc
jnFS77uC9/EF0Row3ilrRN8iaxzowPipapIxjfGReF8DbNTLyJ04zpEmvzVg 5M/eEOZnqPPW
CmiowHijun7Ek2o1YExQKjDkZ9qrZVR7m2mHqIfASKt6kmKgJa3aH93CuHFg TFVaxGRjtHxs
LmDyXAdGS9XrKafdavznsObZ6sDoqL2xWYu8G8uxc1ybuHsivVgBtA6MxQrX 4ki641qiAW/x
Y2cdGEGVAqzsw2atgGETGOfU1BPgWD82owPGLqUAK3ujKyB/VAfGH7WE8xx9 ssPpL6lJufUZ
cmlLg5d5AKOQssYjjU88kKnROjBWplVPN5FWTzklegBBDxhLkxWCb5GQv6sV FmujV9QoM/Cw
mxoI3a++ibUpcFhswKJt9gdnmbZZzJUYZ73uxZXRuWpvyFBlfW1m4fYAyJwG LDJHrzQSDFVU
LU0RQ/FDbQMWqbMHaLLBNUF0VbUChldY7I4evpVzKJ49pgSY9m3q4JIswPHr JY7JPmHxP7nA
mYflFnAJTAMWRaSH71ZcQD0VlzTYmxZUHJP1wmKZcoM0DwsuYEFCAxbzpIdv npMEt5EiAT4A
C4VFNaWHTNYE5S2wUTwDbALjlsKnX0ui2TpKA2wCY5xSQ5a9AbYKaIDAOKBa IjpBPTb2pwmM
/UkDVx65p1pAy4PF+1Qr1fV3YvJXO1p4s5Ht5Mr5BQr1EsgmLPomESoFfPNC ExaFUg3fzHyk
q7SasMiPdGDIr9JS+dIMpCapFZfONDLYjmtlVhMWE1NVEyU2C03aH93C5C+w iJjUiGU/DCxg
MtqqAHrfdVUTQ/ot745WOpc3/X8Zd/1bpn27xoDvTvZ5C3ULFt1R1ZKoebIH DxbfJ7VgsRlp
wMreHRVwZrUFi+aoVvV09aT60VYEt4CxG1kh+GaeHFxgJEkjyaJ8tXJspHEL GMmSBi5Zu0uS
phfw8fitBqA8vRbWfoaEAxL3/AHJZu2JyJU9U3hY3EItfEHEOqe7mWg/PJ69 BYs9SIJJAWl2
tQKrzqKW6Jl3d9jBFjVMw5k+ldYYecRg6m2ETRvW8hVmRavSAT7hVvx8QK3A 4jReQxuk84fM
tGHtoadJ+1287EStaJDSk/DRB9P0hEmXmuxrcmU+4b3ylPwTFrUCi/+o15Pw WEf2hDq1Aovq
SAFW9qRGAddhqRVYrEa91XwryOGwwGIvEsFSyKECrCqQhr5U3yuKHTrfKHYD Lgw8//QBjTGN
cTKXpstET0qniQfWS25rpVUoOMFiNbLDKdyU+YFhhYs9lFvKJJt4pHGeK10K M8tVJ7r57sBo
DizupVE9bO5FhcW9JBH34WYVKiwKpNEQoPjEo9iiTMhbvMgOD4r+F3GTadxd QfyYCqvao9EQ
EZBgOiFuVOt5MGvjkTlxaOlU2QHgUph7jVi2QYuKYMOwWJJXxV8G33mLhQAT FouSN5iFTGRg
ESSNlqgjECsDAsUcDks7sFgdUszHGt2puBcMcLdttDsf7y+M3tn91fln4+L2 +v7mdHUEkt49
y23HMiBRYVE8zUrlTbEOQ7FgcVlNTd/IkcwWOJXi9p4i6xFbX/DwD/vP5IM0 8FSWCovKygym
5ExVkUGExSo1w9r7ZSfOP3JX3R0yAdgjm7tuKc8r4y6XLxrrJ2GipsEip5oh i3zk5JQGi5xK
AkoRxzUaLB6pGb6dMsC0Q4hHEj7y7cozOq7lDVm+Ni05wpIzJ/KzKPJ1AHG9 KV5pQFRbcmSd
fIJHmGCX3e1AmArr+bjjst84FNC1L+Tz0fGsLytqo2rNJcYimPiYKD7xuODO H02XSbM0r4FK
wDHudK8rbXS5FB7YLTzezG/mfN7uCvbT24mAL+4tC+AXcCisq+bQpOZAidMG f4gVyyN4QPGT
z8AIqO2KrsTrDseTqY6qVNg/oTlVtaFpldbgl6FHt2lOjhTXsuZ8sh2KSc98 wM4N8Z7tIdOE
FV0RqmI/+R6haLnJv0asE8qzjb9iwgarkWuk4KXfnXBFSdiOwB4/sw+TYK0y TsuRg0omw7qQ
YfeJ2QW7wzEbE/izA1k62GfqLfa1cSC8vUdKI3FNvveSeUSeKgal0+njJ34Y mU6AT6cPtRBn
ltbctqzYdyISUKbf1lL2Gtdd8eyIB89zsOmuPT9CHNRx8BMzO3HiHL3g0Zuw GPCAp8bLvAYD
ypy1+dV82WYi2TNB9rQOc4Gz+IaBzX4Hg7MH5k9Mi3YXX3bcZ5t4Lr+130xi 87Qx1uOGy9Rj
tDvs0Kxh1jNFOPMw6xHSCtJP8shkWMstAYmhqpY9F5MjtJo0tHEZnrItqclk fi+NahQg02JJ
TIG0pKoKDzD1kUwg/Mh7Tg9RMsHl6Rdt76s7/WrZoUc9Ml8U4KDnaWuLS81j IYsLa7Ewe8YF
qKy2jE+2iE9cbJsA9ezJjxwF2Npd1710LbHCtZViJdQBOBE9e/4EIq7JRvC7 Bu1rbRRvnK7q
2TM5eQLfTPxqjhWQtPjF8cdn8NlzMkXEPVeHoBXwcQmqnj3lkp9i1NTaas3R 8kBuy7ChqGNC
PXs253vCM1+4EPI3MdUflxfG9cdf74zO1W/d2+ury85VP5t6T3mNWJqyFL2M r+2AqzJFYohq
IY+QxLU3kqyelTH+QrjpInFDaUFNFJ0TBucCvvolqgAQaJ+e/UBM8hKHeV2b rs+wn03+VtsZ
i/H3xHSCUozm/PEnMssofsfD6hqN/Zx/yIBM3fq2Hm3oz6rr3yGZ6PRMyLw4 L6t4QqCmtuEZ
vjVmA57TE3vTB3WEWK5/mRGOcfitNRbTfg64RTCsvjo7FueBt05jyrP0bxMw avXVWbGkeIaB
9YjGP9VX56syhwTAeOdQxzpRVXl1iuty4lDbd3DX9Se0HbJViSbAmdsNBT7T tLACjMkuvNpe
irCxtESu7a1FJlWd13Kwk54CVKoizMvwgjJiWQ36ahKXXTU4/T9QSwMECgAA AAgAa7GROHGh
ja0ZAQAAoAEAADYAAABvcmcuZWNsaXBzZS5kbHRrLmRlYnVnXzEuMC4wLjIw MDgwNDE3MjIw
OS9AZG90LmJpbi5sb2d1UE1rwkAQPTeQ/zDgRcEuMalE7cnaUCzUgwpelpZ1 M41b191lsqb1
33ejRUqh7zDMmzffHRjkLLljyQjSdJKMJ8McZsVqHUcdKKRWrkZ4Fo2AmT04 pZEgYfk4e1tm
2VcfMpaxtB80dyJV7TzMH14CIwdpkiT91o4YTLWGs1wDYY3UYMni6PaKOBow 2EyXi/niCZSB
xwnHy2i+sbSvnZDILVXsJ8pK7fesxO2x4jXJVroWtBJXxiMZofklR1pCjk3g K0nK+SK4R+GV
NYWplEH20R7YFR50YJDmvTi6caQa4THs40Hao/H3IQi/8NoijtY7hHeFuoR/ mp+LQdVgsAnv
IxQlaCuF1qc/TwBHdqvxAN0BfAoyylS9b1BLAwQKAAAACABrsZE4BoTmM0YD AABbFAAAOgAA
AG9yZy5lY2xpcHNlLmRsdGsubGF1bmNoaW5nXzEuMC4wLjIwMDgwNDE3MjIw OS9AZG90LmJp
bi5sb2ftmG1P2zAQx1+vUr/DSbwBqbPSlvI0TRoPZesGTKJMvIlAJjlaD8e2 bKfQbz87hTYp
paItRYzNraLEdny+/8/2XbsC1U0SrJNgC2q1nWqwE2zAfrN9Vi6tQDPiTBmE 77RHYV8minHU
EJDN7frlab1+V4E6qZNaxbWpvmadroXW3rF70gpqQRBU/HWLwC7nkDUb0GhQ 9zAm5dLHYSmX
qgTOd09PWidfgQk42AlxYDo8l/rGKBphKHWH3NeSmNsbwmkqoi4TndDoyDcP X/LNIRMWtaA8
HPVr+Sql0V0P8JoJZpkUZl8KS5lATX57P1epBe4eodrYXiuXPrQOndffqIg5 urkZSzk/khH1
r8JnyA1JOmhbxQ6ra5/cCJArF8VSLp11EbjrzqFHNaNXE6wwAwJ7TnmNNC7q lr+vvbaGp6mw
LMG9lPFYUdttCqv7p2gk7z0Ssx54LVmipLbw9DRIa+qgOTUv5i0DyRedyQhK anAKlPqrQJk4
1XEC69MIRFIjQdFjWooEhSXN0f0xFbSzsPjTdX+G/WmSr78dmRszydzK+Tm3 wDNKm7c5TdTG
2xF1YzZRR0f2vJrOKmk+SDzvZNh4FXXbkWbKtmWqIzyS8iZVvyzj45Gu9pS8 eJV2Bt6abAie
DeFq7kOmIc27gc1d7Qz2cGBpGFJf4sCeDc+iM34uvs2Xx5cLsrkoe59SnPUV TsPmmwiTxC/E
J1QviJbv/1yft5bpcx5XOMIVDg+GIaIxYuOqTD0rHrbIYImkfi8Mtu0hjazU /UUWbLl0wEzk
JueiVQw0itCYHfCaWwcPCnYyyaW978V82henrqP0GbLVLMoyP/eNODXGuw/o D8bJqpMELY2p
pSFRPO24BLIAQsWY+RtaTFQYOwNMZKllOKn38IS7rJLAfXwOH6xXN2u1YDv8 EktbXBTbf8Oi
aGRbpUjgmkYugRd4WyQzyNn/gy1Vg3dJFiaUmTazm6wDmfohx8d/R/CX8Iv8 jcJ/tAD+0e2+
hP8PlkC87on/VCiyv0qkcqwdcRJppBYf6lcFTbACDqLCCdznjuMOT1fGMGas 7TiLTgVaB0dn
P9pIXV7ZzizDtZYJ2He/cEBp6RxIDKy6h1uqhdPDrP0BUEsDBAoAAAAIAGux kTidNHlkGQEA
ANABAABGAAAAb3JnLmVjbGlwc2UuZGx0ay5ydWJ5LmFic3RyYWN0ZGVidWdn ZXJfMS4wLjAu
MjAwODA0MTcyMjA5L0Bkb3QuYmluLmxvZ42QT2vCQBDFzw3kOwx4UbDDmrT+ 68mqFAsVsYKX
0LJJhrh1swmzG1u/fZMqUloofYeBee/H7Oy0oDdAcYNiCEEwFqPxbR+m8+eN 77VgnmhVWoJH
eZAwLfJSaWIQOBiFr+sw/OhCiCEG3Torj6yynYPF/VPdcQmBEKLb1CHCRGv4 ii0wWeIDpeh7
1xf5Xg9hO1kvF8sHUAZm44hOT0fbgve2lAlFBWd4djHVbo9cxUeUsXUsE5dS XGUZcWQ5adDL
gAaNGjT6hU7OxrpOZ2dzpatMGXxrftyWDrQyBP2O712pvCzYwfc1koKpXsM4 lROupNvd1Ryc
9PKXfG+zI/jPRFAWDB3qs1eW0h9Hg5KLWFMO7R68SzbKZJ1PUEsDBAoAAAAI AGuxkTgbsabf
cwAAAHoAAABJAAAAb3JnLmVjbGlwc2UuZGx0ay5ydWJ5LmFjdGl2ZXN0YXRl ZGVidWdnZXJf
MS4wLjAuMjAwODA0MTcyMjA5L0Bkb3QuYmluLmxvZx3JuwrCQBBG4T6Qd/gh 7TJMdoRcOg0p
FGzUXoIOurDiMitB395oc+DwVagb4hVxC+/7mnvpMIzHU1lUGC8xpKzYTfOE 4flIIaqBqenk
fBB5OwgJebdY+li43V/YbvbLWYJnZvdrS1jHiD9nmGa1Wa9UFl9QSwMECgAA AAgAa7GROBux
pt9zAAAAegAAAEMAAABvcmcuZWNsaXBzZS5kbHRrLnJ1YnkuYmFzaWNkZWJ1 Z2dlcl8xLjAu
MC4yMDA4MDQxNzIyMDkvQGRvdC5iaW4ubG9nHcm7CsJAEEbhPpB3+CHtMkx2 hFw6DSkUbNRe
gg66sOIyK0Hf3mhz4PBVqBviFXEL7/uae+kwjMdTWVQYLzGkrNhN84Th+Ugh qoGp6eR8EHk7
CAl5t1j6WLjdX9hu9stZgmdm92tLWMeIP2eYZrVZr1QWX1BLAwQKAAAACABr sZE4jVuc+jYJ
AADHdQAAOgAAAG9yZy5lY2xpcHNlLmRsdGsucnVieS5jb3JlXzEuMC4wLjIw MDgwNDE3MjIw
OS9AZG90LmJpbi5sb2ftnP1z2jgax39uZvI/aLr7A8xSLzav6U5nLpumd7lp 052Q7v6w7O0I
W4AaIXskkYa5uf/9JIsX2zFgwwluiWiHgGXL+PnokR599fIdcDtOvenUu8Dz 3rr1t3UXXF33
7s/PvgPXPsERR+Cf8BGCq3ASYYIYqDudi8afd43GUw00nIbj1WRaNGN4NBbg 5udP8huLgFev
12vqveuAS0JAnMwBQxyxRxQ452dvlq/zM9cBv13e3d7c/h1gCt6/7SN96/5v IXvgEfRRP2Qj
Z37UCYh4cNh0MHP8kKE+Z75KXl6kkvsquR8nT8IAkf4H+IA+YEQC56t6nAoU gGCK5ONXz89e
4UkUMgGe3QRTgRiFJL6R80nldE3QBFHxk7wK6Ne/ir/Oz95j7odTBkcoAND3 Eedvwf0YATGL
EEjeAGAOaCjmJ+EBQSCYyvNCZUTBsC9wSIH87xPIpY3EGMir2CzffM4ECRhA AftORKYjTHnK
olGAtC0FmkT9QN4AU6hu0M87OzaNOv1P16nLfwpzvel2PK9+0f9bEIo0Xe+I dLvF6fYkFl/n
shPcLWwT2Z8O2sYR0V6URXsH6QiZQxtnfzpom8dD67kKbTQdEOxrQ4HlqQA9 CUQDnvKnf6+g
rnu9cEdtHZFmK0FzeVIl1dZFkMk/NdCTRqUjQOEE1eQPlY49HHIk9GeC6EiM q/m0X3wr2z4i
4bYizKcRYpUFSYWwqirbcvWpH1Jp9qkvQpZ0xFRpWRST6unA6xwPXsNT8BgS U0YBRd+SrVll
7n5zzyvcdpbhq2+EqXbyE2La/asx3aWZPLGg5+KIzNrWD40wdet/NajWEdMA DyQPfUJiHD7r
ZrasPmTaQQ8kEOXzbZeVEXQ2Rvgmb3BCfA+kEuXzLaHvWploB7gH0ony4V7k CkVzB0orRfOD
BaSiMlrCiXrsgeSiXKjNi4xepM/aKhitEYasMuQeSBrKpdmqG9SGckrGCYpD 7oHUoXx+jd28
cZ18qz+rMz4n0tT3j5vkXevF7oH0pPxS0LRevC+/A2lLufzazQ06RNIZE45Y PgS2cpOa7XAg
uckEZys8nXnHFJvarQS+uLZ1RkjcSlaa4DafXA9sonso6dzAkIUTIJbtJpoM EDshlMfUlTp1
K+eboXpMNWk3qrZaPfOOKRN13LxqNYluuw8WqVpTOWYq13kaGp5cx8Q7pljU SbaYumcSs/UZ
jsQvLPyKfJFDdz3NYTzvS+eUbR9Psl/pHVMd2hHfrv6ZzvZF4E2hPoCQtBhR 6cfmzMa3sZj0
H+BD4Y9B5Upedv3koyi2ZlbAzeD9QhmC/hgqFvr6AQn9BzCUIU8qIwd8pmQG JvIY4BHy8RD7
AC1SOZClTEJn4TcKIA3AWL4RWWQGMxAx9IjDKU/mX+FVZ4NFDyDKLC16JxPu ZUm9gsSfEihj
vexsg7idu51OkCyhH7G8DBL55PKxZBmWFn4HKunEqizkAfrpueCWNLzyIWkJ mdUjZDi2fyJP
5SjoUXYbJJ1gg6GMqh9TgQmP7dObUQGfvqjv2bGihh0INLoUwKjuUYRwc9Nk Gy4gk32hMCqv
btlul8JrVBcxidf2vs4aRpWQQrWvrn7X0IO+mELS0wz1l2vZNL8BiQTwA3B3 0KStO+eXCKMq
ynFKhHX0NGJTkssyIJUxIRljGUgyfzyLccvQlMj+lTLjs+i0FU9Kv5mP+YXB VJp5ov/IwDR1
vCo7bUqLfhaYLsjmxKTzrArGow1TosUW4yC0zjxut35inaOGKWVhZWN1ni+7 MNItMRfayuEk
Ikg9zTWV7oSyUUSJFcF2Pu9ubYspmWEv7s2Obm4UeL2mTLU5q/WIqfkH1Xl1 UgMjEg4g+RUy
/jv+o7Z58qAlb0oO2Yt8u7sTeRZY2sWDDVP6zkbyPUSQvx68XbphfJMAU6LP Hti7cUUfMfwI
BQJKMH0v84csfmg1DHBNfRJyTEcqrXLZu7+V2cdK6LrJh0UKgw5KV4MNuXfJ jjnkPM0qgp1y
WZDiKJfMMmY3Jcbs422em+nPra1heSLUr81ni6p33d1bS8B6mykZZy/sraS7 3ajS/vsfq9Fw
9Z1/CNmVMm5FM0/6YyQjKxR8oTgG/+rVwh25kNnp4pLnkyUq5u0Vd94o/pbf XQP/W49OYTal
zSwxx0Zn/Ql+wrR/STCUv0v98E/qQO5AbYnNdmxTuptzG5drylP3YokusaRq uPr4blnHz+dv
Zyp5qG5QYLGVrd3zqgDj8lSqMCxLwc9TTIJfMcc5g8tWODFeBRgXzEpTb9bj aDocfE04fOGg
bq3/W9TGNbLyqL36HqgZGlrY62Abl8XKw2429oCt3j2Lex1u41pYedwX8eSJ jWihEEyidfTR
uC9eqca98RdPtGVc5ipNtFXvFiIKfgCv372WXMGPP35/+/n2ze3H3hv3e4s1 E3G3jEtqGjHv
f40PX/buc2dFNJtJOUWtjfYh8T8iuhQq+XNFJC9+TogamRyyksW8gJWVKVrG 1ai0xZRXyCfY
5BN6itjCUJCNuGzd/JAoOaaH6YggldCDQ1TBcRYoUNPNL+WJKqFSTU0nWdkx M9UgzrjgRIOW
cTFHMUxPNFDa1T8WR3JVu5Z7YnMNWqbUE2VdTIeIISqziGtmVRfmTlD0bA/Z dENsShcpg7n0
RHK7Y1hZzKaEkBKYPb1YJRNgLTa/eC37TDKqsjHVM3SmhI1SFXFy0xo1kpTa u0YPT62+842b
2Twoi28eGLZ94OfFwJTkUaYYpGPpeTl4DLGkEATb+BfjbUGbEjvKgG53ckAn hq18GbEKtGX3
qlIObsG3TWkiZcB3u4Ureri/s1v8Cfym9JIS+FsdPS1hCCpoYV8qS4G8MBym QuON7feLD7fb
ppScMiz18oeUgZV8pdaGpEmiVa/ZkjOlLpkmZx0xF+f/gYrV6rqLSlVRVPro L3EjWakma9fM
eq1F9VpcvlhNuFtm/9L242gfRs1Cj5BM1XYRvH8VxgTFHZonXi/SshuzxIHV 54HaKUWGUZAQ
/VkL6jqTOZtYQV+mV9IrMpMlIU9JX+VbUE9v7ycN6aEEZTX9CXLRvxGIKfk/ d8/TRadCMEg5
VkXxRq3jm6vf+sPaCi1jBG0CvcPQ8qaLTNIGyB9+abdBxEJ58oSDivzyDTKK 6YhX/wtQSwME
CgAAAAgAa7GROJ5Y0RFnCAAAGnAAAD4AAABvcmcuZWNsaXBzZS5kbHRrLnJ1 YnkuZGVidWcu
dWlfMS4wLjAuMjAwODA0MTcyMjA5L0Bkb3QuYmluLmxvZ+1db3OiOBx+fZ3p d8jMvtEZL6Ng
a+1NZ85tvVvv2m7Hdrsv1j0HIdpskXABbDs7990vAURAQLSKiLI73fIvgTzP k/zyhGQ/gFoD
VuuwegYE4bxWPRfPwGX7/uH46ANoyyrWDQT+kiYSuCRjHauIgipsNMV+VxRf K0CEIhQq7Jz+
RvHoyQSdjzdsj+pAqFarFf7zDIKWqgL7tAEoMhCdIAUeH/3qbcdHNQi+trq3 nds/AdbA1XkP
OVn3vhL6bOiSjHqEjqB7FCqq+QypNXiDChpYI2jhnkFlfol3I7+kxy/pYc1E VJPUnn1tj13b
ZYdbiqSz439IsknoG/zBX7EkmUDFGgL18vHRL3isE2qCQL52btMEWbZwgtEL ogYcEwWpUKdk
gg1M+MnOJVGtsXbH31gzJZMddTP7jSUOnO2ftW/HR1fYkIlFpRFSgCTLyDDO wcMTAuabjkD8
UwFsAI2Y7i14oCKgWOwuwjEzKZb5tYD9lVXJYJCYT4ClwO7zoaWr1ghrRm++ zCzct7kCJ5wS
1Vqt0aeiKLByp0EmCPliwsk6mNBW0ZiV1bU0QOodP6EguikSLMI/6llyAr2Y L+hrNY69TvFE
MhEwuFhkMMQskSQVyXNnwAXQ0Avg+T1KFEuseGNvL5V9vAhuxZV8PWe4i/G4 R6pHDezNox24
elmEd1jPJznDtWHX5UNQilcEtEsEon8tSTVKkpPcAyvochn8dHErrhBP8wWY IHqARbF8Zax2
WFKNfCEkChwhikyLana1d8nf/tt38DOB7A5ulf1r585yBp4trwRpgf94U1U0 Cfl/b2aOyBXf
+dK5s98j3EDFdjt5vv6+xtX1w99fOjesGFn5G6t1JRZAGMxiHdjNyhSOkcnq a1PqwShAdQVB
mVDUM9FYZ8VnmCz44hlEw88Lh6Ffg1X2xwa/XmsIQrXZ+10hZshnqOYL8dju ZRjxDsfjntVq
lnFJNBaUauaKuKcTcER2heFA9mZTEgdOm3Y1HFHgsHP70O7etq777W73c7cS VxkfkJ0im715
tDZkU8RC8cgOMVIVEEwUDCkZA3MvcM/eOUrCvVHluAcbUHgvU6ybzvX9aZp9 RCmhFcC6LLGh
1ioiL2jjnb1RtBGYU3d4Fio+IbeQ/IvJiAA7sreb4u3ccFcr9SgCcjpOBnT9 DAPGZ7KRIYQF
NUv80+Ske1fL3sRKTQM72tetgYplpxQWDAoA9GoiTTGSSv1nXOywYCswA7I3 yVIzwLE071lh
aKNv38FAMhgVLoBh6YjCETJbEwmrs5SMmNGClfTLauknooDIXEKtRf4xzt5L S1/Zn/pMUQ/Z
T0jioz9YKSdX22nwc9NyaLRz2AVwzN6BWzgGm823IJsZ/1/eIs8JKYTsjbll ibCWT0EOHwWt
xI7sLbtl2XG6Dnb4s7kk7J5Xc0O8WMSIiCfJCxeyN/mW5UKtumSg76ltrLv9 vyRNrhryryH4
z39Nkb0VuDQ7BB87olpkmSLJjEiuFKlK2fm3Aj4PfiDZBK6DUPbTZC1A5wXh 7F3AHUD43fLf
4QYhT8ZfDCGaPkI43Tbej5u/vaNsjAIFAz1PNl/M52un/u9IB4SoSOKVaEvX GQ14SuvGumAQ
58nHi4H4zPtC0R0p8g3xXvUfW91O6+N1u//YaX+dfqjowss9Iab2cnmVajw1 xjPPiOcVHhLO
L/YBHmzP62srmKG+8mCO08PzhnSCqa6nY5fSrHeyzAm4wvZMv0hA1+LwHbru KSb4bM/kiwS+
mdhNdzUTHoNzDy9Tae++ZMXtGXCRyLlzs6Y9LKSqN0TBQ4yoHVf79jcVTxdM mdsz1aLx9Q+V
czhdNbjgOnsLoHX7Wc6EvI4Sxrpiz2gmBmbBuS7R1OgXDPjt+WWRwAtC1OCp D3MP3hmuHqAu
jO9vd9ME1At4OOXflHY+usWN2Oaqxg+QZHuWW3BaSpArZ+8NxDc3ITtlG5/H +THi9uy0JLCb
hyA9I/y356wl4R/w1OeD9aCSwjF7SGfeKNvy/nnh1L49ky0JbcGO/5LiuzJr Pyl5MfhqM6j9
KiPd+xyyYHrcnv2VhJBYiwrUHiXVQg+s8EoTN40KmPBjFQ+3FSvcNCHZLPfO o5d959HJPwri
uEgsl0rdnmuWyIODUqcI1bdnbyUhVD+JVqpzJ18w4VYaI59gM1FqKHe/YHdc qPXteWVJNDip
H4Q6RWh7blcSQqf1g1AzpcH2vK/Enq64SKhz3ub+KDefTlTzLNK1tNFJjIZn NmZWruXsmVLG
yFOy7ZKyA5TJ1s9iwBpERTZ1/sAq+sTKijKSPIfj5mqqpT/4xFnYfnX27hm2 MrohiqWi99Fl
QQ0QlWHe5wzzy9PNGq5n63ClZkQtPSM+60jj4lueBQuQnyZcILSzdbhSoy2k R9sysQo/SZqi
ojXMFlrAgEA+BaJBtjZaahqkXvPLQBKVn+ylv+7tX+9loq+DD2mJEZ1z3hmS dimJerb2Wlp+
sOflBAmKcijJ7jKzgeOl+UVk9lPrJ9kacZvDMuUIVDzK/NFMavEkw+kXCO5s Dbds4Z6DfE8l
na1llx5jcbbG26xtBIb98yKmzbS//bfnCcioVE4ahD401PNMyNa1yzcT0vLC Nw/Eyy1ihbAC
syZb4zBj1rANOnNKvbexry+xth9V7A9lriVtZDFePBCiPmN7+tEVGkqWapYi V6Vbjnlr2BaS
N/IF3Wl1FWd9y9BL7hnF82l01hr2+LNnLJHpLxc8GHJpOz1b4sULTXLHusN8 37GeS+WKo4hA
B2fvnKyTfPqWawd4PZVQyvrEe7Dp59rhujhciRQ1wM6nTVpreP9ri8cr7DZ9 ZBg5UJE8jWM5
quzBaMhJA+iUsBcYG6DEdl4kqjEhGOX/AVBLAwQKAAAACABrsZE40BBGDnMA AAB6AAAAOwAA
AG9yZy5lY2xpcHNlLmRsdGsucnVieS5kZWJ1Z18xLjAuMC4yMDA4MDQxNzIy MDkvQGRvdC5i
aW4ubG9nHcmxCsJAEEXRPpB/eJB2GSY7QmI6DSkUbNRegg5mYcVlVoL+vdHm wuVUqBviFXEL
77uaO2b0w+lcFhWGawwpK/bjPKJ/PlKIamBq1nI5irwdhIS8Wyx9LNynF3bb w3KW4JnZ/doS
NjHizxmmWW3WG5XFF1BLAwQKAAAACABrsZE4jEcKVRQBAADAAQAAQgAAAG9y Zy5lY2xpcHNl
LmRsdGsucnVieS5mYXN0ZGVidWdnZXJfMS4wLjAuMjAwODA0MTcyMjA5L0Bk b3QuYmluLmxv
Z42QQU/CQBCFzzbpf5iECyQ42bZGEE8IaDCRECTh0miWdiwr23Yzu0X597RC iHowvsMkb+eb
edlpQdBDcYWiD2E4CMQg6sNo8rz0vRZMEq2MJXiUOwmjMjdKE4PA3k30uoii zy5EGGHYrXtm
zyrbOJjePdWODYRCiG5T+whDreGrbYHJEu8oRd+7PMv3AoTVcDGbzh5AFTAe xHSMjlclb62R
CcUlZ3h6xVS7LXK13uObtC6ldZVlxLHlpMHOww0WN1j8A7uvzfhk5rrKVIHv zQ/b0oFWBcF1
x/cuVG5KdvA9NimZ6tjCqZxwLt3mtubgqJe/5HvLDcF/NoKyUNCuPnNlKf11 JDBcrjXl0A7g
Q3KhiqxzAFBLAwQKAAAACABrsZE45diGsSkBAADJAQAAPwAAAG9yZy5lY2xp cHNlLmRsdGsu
cnVieS5sYXVuY2hpbmdfMS4wLjAuMjAwODA0MTcyMjA5L0Bkb3QuYmluLmxv Z22QQWvCQBCF
zw3kPwx4UbDDJhG0Qg9WpVhaESt4CS1rHOPWdRNmk7T667tprULbd1j27Xzz hp0GBF0UHRQ9
CMN+IPqiC8Px88L3GjBOtMotwYOsJAyzfa40MQjs3kSv8yj6aEOEEYZtV8sP rNJtAZO7J+c4
h1AI0a7PHsJAa/gqW2CyxBWt0feuz/K9AGE5mE8n03tQBkb9mL5Hx8uMdzaX CcUZp3h6xbUu
dsjl6oBalibZKpPGlpOaOXfWTFwz8YWZO/v442a6TJWZMW2IySQ0MapQUqsj Mb7VP27KArQy
BEGn5XtXG2WkhgtvIXd3C7fwTyymVIxoI0tdNOtm+KOXWr632BLoLHHJlWQl V5pOscqCocrt
m0muf23LIZkj99AM4F2ycWNbn1BLAwQKAAAACABrsZE4TV+Jtm8FAAA6JQAA OAAAAG9yZy5l
Y2xpcHNlLmRsdGsucnVieS51aV8xLjAuMC4yMDA4MDQxNzIyMDkvQGRvdC5i aW4ubG9n7Vlt
U9s4EP58zPAfdmg/JDPBdRzaBDqdORpomxYCQ3Lth6bXEfY6qCiWR5ZDuc79 91vJSciLoUm4
0E5aw4Al2Svp2Uf75kdQrjrujuPWwPP2yu5epQr1w1Z7c+MRHPqCxwnCW9Zn UJe9mAtU4DrV
3crns0rlawkqTsXxSjQWXyvevdDQeHlMLRWD57puyfytObAvBNjhBBQmqPoY OJsb26Nrc6Ps
wIf9s2aj+Rp4BAd7Hcym7nyQ6jKJmY8dqbrOoNcJhL50VHp+7aS8kyjfDI5e MYMdM9jhkUYV
MdGhpwLppz2MNNNcRp0zGj4Y7zlVss8DVM4Xs9cC0yB4hOA9K25u/MF7sVQa ZlYwlO/4UqHz
MuVCcyPpC/r6lWJdI/05vQ/Z9fcy1+bGAU98mZI4DID5PibJHrQvEPR1jJA/ KfAEIqkHj/Nz
gRCk9IY0+GvFfbNloF9fsITg1RdAb6nrfOSdHmoWMM06TizSLo+SCWXEAVoA Ohp7cSegCXiU
oZz3tAXOPP657Lj0Yxji7pSrnufudv4MpJ4khvezEqO8Y5hxLqVAFhHeA0XA C+hh75ye76Le
jwh+LVWhcSwDFIcCjVjn9Ozk7WG9/fnV2f7r48Nmu0hbSzSjh2V4i0LHWPQ/ Xr8Zl8O4ys/K
OK9iGNciMKMukAyi2qnCAEMaDd4zxRmhnhjekbiTsBByFIFpDnjXZD0sFIuL UWlRipDiLmQA
07NCqGQP9JBDpjM4tudkfYgzfr+zchJhwMmyWPYc2tspupTn81wpd5iFOHFe SREQtfZt87WS
aXxf3/VdWzI75c9Oh5TPR4anP5wAu1VDgFhJTWaawM/B2lfINM4O0Hn9NmEl fit2pNhnP16x
NaNYhTpVEUR4lQN2QV/wpGSs8HuOV6gKxRIYeX81rHvAkKVCF4wYukwXOZIQ FVII0qIJp9zE
kmf/PtbBJ4OkVerTYvK212jjV52BUwLbyPZJjamdFNeFd9X14t2dIcYva1zG 72sPqfCTVBsd
H7FzFAdIu2Oz+q+5Y/EnqcAEcTbdMRGfNSJMURfJTwrFj+6nWQuyuWF0KKTP BPQHAetIklEh
9ikgJKcU3A7L7sph0WROLCh1StpaPouimVi8spP5Vt4n/wmJidt9yJD5+AlY QMASH5h4h9dX
UgUJwfRti0fUywT/B7dKsEUHyPwTUsZb/z6HJ08eN0+a282j1nb58XjLm2hV Ht8RvecdJAO4
TQRgekc5q5xQQaYncX27Ksruw+miRdbAx8yq1GUU8i5ZB7P86bD36bxhrxHt vGkfHxn3cWrq
Umbwfm7vO4ZrZrZ1sVvl1dfvFmfC3AmQZULLVzweJq3DFHzlCVDurGvDitUX 7xZmhefZtKjR
iEKpehP1FoiHNy9seJOrm4KpbFi/SbFNFj8H0pjVM0yk6ONc5ZUluXQnncYj 5vyVN7J1k5fW
JRgULtcmPC6vvmz3w7m2dL3ulzZCqy/FLU6MmmeIYRQ/ExIU6BAjpU1bW8Wp qJDeuLdlmJ1u
7QzB6itvD6fv3BP9qwaZE1pefRnOatmXvVjg6DvNCSVHiqxjfdRN5jKWCcWR UxqvjieIjczC
Dj6ZQXjQPno3aNwRLkzqfDKRu2Mh49LnyejKq68s3Q/K3XEoR0l2aKsNbWJ8 kovhkuDdSF04
G159wcbiGGbVLwvioBJ2U/N8Scu8nALwWW0cQHvI4Ygn2j47VeifQC7DzRqV Oya7ETUCLE1w
HsAeqJSTA1jL+sNU4W3fWieO7/Ajf9iIuK5LIRjNaLdsCjvGfucxMNdHTxLx 1tXkzTQHHb0H
Ksgsg2jtu4jWDTNxQUiXxHQ411ygmmCdvGYvgQI1rpiKaIKk+B9QSwMECgAA AAgAa7GROD/h
iKOaAQAAQAMAAEgAAABvcmcuZWNsaXBzZS5kbHRrLnRjbC5hY3RpdmVzdGF0 ZWRlYnVnZ2Vy
XzEuMC4wLjIwMDgwNDE3MjIwOS9AZG90LmJpbi5sb2fFkE1rGzEQhs9d2P8w kMsaHLEfgSRu
WtjGpk3ahMV2mxyWBlk7kdXIWjGSnaa/vpKbmKa0kFt1ENI7DyPNswfFIcsP WH4EZTkq8tFB
BaeT2TxN9mAitLIO4ZxvOJz2K6s0EuTs8Li6mVbV9yFUrGLlMNTsAym59HD2 7iLcyEKZ5/kw
7kcMaq1hW3ZA6JA22LE02d+tNCkYXNXTy7PL96AMjEct/nq6verpzlkusO1J sseUddrfMS80
48KrDTrPPXa4WEuJ1DoSEd61iHAb4PZv8FzoehvPYjx+jKdrY5DYtzh3xj1o ZRCKIh+kyatP
ynngJB28AdGbWyWZRD8TpKyvQ5wNXgfqa1hpsmWVAw7E78E/WGQwxVskNAId +B4khoeU2NYg
4ieTt+CW/Vp3sECwnPgKfUB+YPdc2e/n8n/ps7Sb5h8qmx3RcIl/KD2uotEL bsOgfhmNTsxG
UW9WaHwTos9eacc6FH2H8e6y6NqTMjJrxtc3TT3/MHgSniax08t1B/rk4/DL C32XYKlfaFw5
yEq452TCJ9zgJ1BLAwQKAAAACABrsZE423Iujds4AAC3agMAOQAAAG9yZy5l Y2xpcHNlLmRs
dGsudGNsLmNvcmVfMS4wLjAuMjAwODA0MTcyMjA5L0Bkb3QuYmluLmxvZ+19 aXPjVpLtZ1dE
/QeE5ws15rCJnXS7J6asUj3r1eLqksruF7U4IBKSYEEADYBV0pt5//3dBSuJ 5YIi8iZlqztc
EglwOTdvZp68ufybotqTqTGZzhRN+16dfj+1leOTs/OnT/5NOVn43ip2lf/t fHGU4/B25flu
pEwn9lz/7Z2u340VfaJPtDF5bnUfeVfXiXL642vyV7RStOl0Oqb/nU2UZ76v sKdjJXJjN/ri
LidPn/xH/vP0iTpRfn327s3pm/+leIHy/PuPLn/rj7+G0U28chbuxzC6mqSP TpZ+cjNJFv5k
EUbuxzha0Gfze+izH8mzH504+Xi+8N84ty57jefkCidyEi8MJr/T7zRyEsX3 AlfR9aOnT755
5cWJ8sWJPOfCd9ldyj+UwP2qPIsi554+Ozr6O7nuM/l5+oRd7cWKo0TOVyW5 X7kT5Z176UZu
sCB3JqFy5QZu5C3Ycwq9/IeT/1Ti63DtL5ULV1mRz3LrJuSS/+suq3hoB4WH 0vTzOft5+iS/
pQdk+T3CuOmycTO2cCtdLE2cjEOEpVGqZAmXKRtFM0cxTpzEvXWDhGKXXHvx 5MpNzvIHoeTK
ko2IRRE5JZ/NScJI8QgYBTITL328QIMjUlwvjEp2izAytmRkDJsiU9HdE2e5 HAXkN62Cx+bP
0yfn9BvHzqWb3H+vnF+7CvmO1+FSoff/fPG7u0iOyLf3w+CKAZWQKzIQmfjs T75mslGclVEs
qywG5pI8EH/4/VMrnjiRnUtG1mQWIXKTdRQooxee6y9LF3/4dFRrKMgt5GeS hEx5j6jR2Lq1
drVigsDo6FOnXelexB1+mtc9+yJ87em3hln9ius9HVIUcpu0sf6aRtd/FXlf yPPswyvu3Yqw
g5iuV3mZOIJDWjF1UPbRiADbAav1hU8+dPm60SYaR8p/N4gtADaDMpEmbPR5 CRv29Yh7c1Ig
MqpAAoDCoLyiCQXb2PJumKtXEg2pPo46KK1oQmW27fPhQmVQmtCEytwu7Zgv obdU4uqOYdvD
iek/zfoEbENVABuORZRkgoL3ox8ubgpQNl2S2abSIV8gdtlNZ97tynfB1c5w LKIXMpbaicxF
GPquEyjr2H0bheSbx2EUA8NVgW446rAB3cmdu1gnbiN4mln2dBbXTvThk3Lp cVJGIx9r369x
S0vOI/EDL6mXq9S+W/5SBNXA/eJGSuQ6S4WsjeP79xuoDOf290RFn7XEMph0 FbeCBV2H84R7
omPqtRuuDAns1tKGc5H7QmN3QeMFTKai5EUU3kpUQdowrjN79kcn9hYErddO srh+RbY68VDe
UhyiDbhU7klHYUIIprtkm418s9fOSrn5Sv/LQ68/OfE1+ash8MpgoxeLo0au /uHl+BdR8RrG
v5YAVZ0rxeBLb+sBYXpHHxiHccj7wciZPUNsslono5uvH/74NFZ+5A7C5Pzd +xOBeFlzzIS+
Jo+XjJWumBn9DHuU0mE8+55Sqlm55QzCJTuS48jIOQKoADSMJ8+eFcNGzbGh ZoViQ/+V5VBU
sBnGl8+wYXi8Tzx/S6kVR29fw2hJIVmEt7dOwOTlV/oQmH81jE/eDYG5JRVy DvWH8b739P2b
TBfg4f0w/nc3PkyjXoaRMioCRNkv/+DbphxSyp+cXDvxG/eOAljyM2HDTfow nnkXaNqUETgm
T/xgkUjUWRJ5wdUrBo8/Yj742zBWvlPCy8vYTfjpDfn5TvkjO7COCHhjZetS JbvkJFiOjko3
qmO2HucE9SPBY7chfzAd6ekD8o02SeBGt5CEZCuc1L1QqHAckIy04mht76g6 Qty6sS66N9bF
IWys9AeVXAzIrtrkQp/WaFoWdc2/WatI0GVtF4qai5l4KEjFApVUDEgK26TC YNpiNKJIlFId
jhSalHK0yQW54BC6uOMaokJ8WJbZjPiMI/6affHhMUeGuhz+qllWKd6bhuQY E7n0guUr94vr
x+fh6HW4XFdSfpRb9sh4i9hwXIekebocmqtZxZGK6+cHKlKYri6H6YpD0BKq heO7hhy+q9ns
dCkDiKkpvlsaFRUmRWRIIryz6bYiYokWVBGdpGASVbRxpjlWnp2dvyFWgEVr t/VRkyQOXBAg
iSvO1K0NyiMnAF9ZEq2bmVhz1A1JhGY239I/tSECVFpHkpvPw/cHhpUcB11X izi3zxxDstUq
XmLqEyoVp3xgrSPHbdZ5/UcVi8r1tcCQL0LEDAoaOX6ybha1jYtrz1+m0BAz za6usjgnTqjx
fgsKjBzvWbf6ALPhMQ6LiCnHU9Zttov4sYYSRt6VFzisumWcnnV8+KTEK99L xkoJts78WkhP
z5TjLhtTrUhT6JYm+r2gZEmO62uUchOQASLHMTYMFZ+5NuW4xIbJdstGLJco F/oNWFos/ZZE
QugVcVMII3MEiWfHsn/zErr0ZSoJwhvfW457a1jTrWQm6SIgx3s1LCYCDIXW yDEmT9+U490a
lr0di0mtND274mzpxT/fjArJyiy2Erv0CxGeLBaLgTDRchxhw5625r1wUcSa 92LKcZKNWeEk
B8u4UWEtmRon8vavn8mrncNZc0uOq2wa010IJ6Bet+Q4wqY5Q8/ELTkusclN XtvZHi3h4Gd7
o0vKvRRMB32WHMfZtFhMkONRlavGky4AMOR4zruA0eA5Qx79WXL8bdNmO45D xFuYbLuYmBzM
CmYDOuZpdfUxrTBobEpQzkTImhKUEz5gS82sAX1vETi4wU87uLTvNfDtVcFp QO86xekF+d1p
RkotXEYnulrnaQlp4S+AqAzoK4tBoNmtVINV/ebY1HIOOSzDHtCbFkPOmNZo nWcZVNBKxx7Q
iRbEg1mwyj7qtvNSFZA9oHeddQX56rVoam1e0tRsq539dvbr6fnxT5tYlVwA YtNTj5z3Hshf
/DgMyBN0m2avUoLEWdDWD+6SflEne4GvzkYbAntAx1kIEZOZcgbF5TOfrGBA PugXd6uLInOR
LmgxQ/8cTqxulD2go+7eJW7AS/lPab9g36UU7SR7tNYonLlJCgxrGzeu9MIi IjTmwD99Qi8U
37Pk6t3gGdAzL8NTLmZtAojlM3i3qzBKlK339AImt/yNJ7HrRIvryS19VS+4 mrxOf6GH1wSK
v1eNxO4/T5889+JFuI6cK7LL+Xbnwp0WVFfelh05hEl6nUePIpZrl65V5MYJ WSvG4Mn/CZ2P
CbbJtUIWPbqvh31Cls9ZOonzcbLy11cegbGMymrp8kUgorP6uCRv4AUsRPCx 7mqGIb38N3Uy
Jf+jnaqnhmpr2nT+8b+WYbIhFgOSj75ioTKXYBPqgP9bf2Tw51y0ygIOQ5ey XZhT72PH992i
B1K9N5c2A6L9IC7P2M5958ZrP3dnantMfB66C4c9DFMChKjxJ98IEG047GHo Vk8c09OdCnas
IUfkXo5TixsLuTUYe3HMhiFmfTEu9/CkYrUMf165PDC9Rc2G3byzYZhZT0B4 au//UxbUpCij
Y3LTyd3CXTGT4W4kRm0I2fuAET+WsMDvZ563QqMGlReaKD8H/r1ySx5T4pW7 8C4JZG72LMGX
PJ5cR+FXwkGCpXJN/uMTu3dxr6wi94sXruPy64/io41hFLNhCFtPKOfzjcB2 umXlhvlnw1A3
AGwwhP1nw3CvnuipU0Z/U8wYx80SzD947c3MMZHa2TBMrS+YvL4j62R+yqtD aSvvDN9yt/Ls
6ey5jr7kYpysa2kwdBmfDcOfthYr50yvnYCwnc3VKs21KViXrCrJGRAl2R8m WNQoEFHpAs7m
jRkyzJgmDbkObFaiqFQoEFPpALJylDg6JTe8coKrNbkyv5FqrQLpp9tzIOrv Ki2O6AiI3or3
kFTyHIg2dS140cMwYsxUlgqeA7Gm/eCBQPXOgbhRB2CmyjUGxYqp3S9e7JVD pp2BDUxqeA5E
qrpArczkOT0L19HCTZOp37l/rN04+WUDZqq5+CrUqWShVyjfTl6gl5oeRm0f gBoH4pEdAmOp
WNQ4EBXcDx4Y1DgOOsab+zwaNY6Dz1nzakDCu/OCH9eev+ynvFvuSxdsB1X9 SNUxDj5qm1jU
MQ5aKYgHAnWsTnHwstn0MeljdYqD3fGSsUIh16V4dOji2lt2UsOPTvmqUxyU lB99ItC+6hQH
nRQEBIX6xcGn5sbjUr84WBkfjZir35q81HblW3fDDqr30aldHBSSaDs0ehcH /xNFBIXixcGc
VD7N4vFoXhwETFXVakTZ9d1FD81bc31/xfu41G5lmQca3b61zDyOfxos3Ts3 SuP423m7xRnW
4iRY+OGSppTTkg5pCnmgwe4w+IiINJieHmgM/G5ImkYLki59ICYP0J3LHnwW wwodEPsSgsqq
GT784ZPibmJE+2zwZkk5fmk11kafw36h3qGhBqJtYlDPW0ucq7iibaukDjS+ fjdMZ1pZfKvy
ubW/K8nlENIHRIDEkNI3dGIs3/oC0aFB8MFlfYFYkhiSTM9tgLgxAnC0vUs1 mlr+kAlSmAhW
dXUgyNYiXLpOHHu8uj3rGbs5/qShnVa1qr08j6KuVTGAatAgiIsIZDyFt1RI 4gXkS7HxhQVi
cituVA2CxYCAJeIywmpWDYLXiGBrFO2ykwqYoxED+EiJtwaMAdlxDYLQCGHE bHid0FHz88z3
RyV4epmaVttCX/g49NNQFFgMT4MgNyKw24VoxmXJrEojYCfPKkwQfGUDJvbb 27oJ9HxG4CoK
EyIt7nKHAVEpy6kMR5JOtDUIqoMaZAHLNfQaQNAp4TXgDesxTrVSNQi2JA6U dXgDnFRNAqVp
hpCnVR8YhLoEitMC4byqMpmmqjSezvRjdeDRhmYEUHO6BLbTjJtddDWXPVNV 1SVwlT0gg4Po
6RJITAt45pZGY80IO8awotNyVYjhCUspNSu4IsBu5R/YeZ/HFV2HDdo4Yg8u 3wf8YIv/8F60
i2TtlF7+bRh7iUgaSN+f5tZsWYulus+91QV/TBAnq34ZhbdsvdlSckweTzs3 VYfnel0SZjI1
uAjJS9wlk9hNfr68JP8dLR4gOp0yUbxNzaqfpt+m+OTH/NM9JkGA56OdgqBu CMJ5eOMGL4mL
Ndpaicn5zy9P3vz28vTN89/ev3n55udf3zxQsYiITPGB/qxSA8+gu6SGF0D+ JTWYpQY+nNAp
NfZfRkeCIMAHRToEQeNDVlP/dnFDlo6dtRe3jRK6fSdJeHztRDxj9Wic9089 I4t5tFunhRKL
401V+3XnTu8Q528GfDilE3yrpn15qTstQzfdf0N2L1cN+JDJ3rBBIFnwYZUu 9LgvmaW9seON
hu3NMzoVtsvHygbeu55rDC6v8LGYTsTzUQRloInAvuV/xlmBw5WbnLL5Fwt3 dASxt9EFVTSz
qOu8kRYMNdCFAgRwqdNxgDFQAx1r1vjRTmPSdHkzIpoKpRromKTGM/1vWCz5 5ubrhuOPKWis
GugYlWaxlIJ0QvTNV2JS/6GMstKHI+WmUpeWPn4jVoXWybuwlZipBj6iww9M Sr5NlvHVMphp
L0ldxFjvz5ib+EjMrG4GE3cch3ZtTHy0ZYbBtTHxEZJuXCS7NiY+SjHXKwZ5 Eq8vYl4cQf/y
aJHFz5ejb5Vvj5TvFLVvaQQqg27iIylz6y+DXqwPOrKk8x4VB2/Q0TEqXSt6 kG6H3iQYM3RM
qRdCXSoAzsCh40y6lsd4YzeREfc20fGUbkxq5Qgkzm2hIx86HwBLkMqUf5mD tPhD+AyBhY7L
6PasqNZrORgYepNa6NiMzrucbiLTcjw1OEbo2Et/jBqNJIxyQ8dAdM6ZS0PW eig4pEoOH42Y
q2WQI/c2/OL2xLkV6uIV4dFGxy2Maa1SqDQKUgL6F/1woEYGHcswpgY2I4OO QfTHSLKRQcc3
DD4K/jEZGRsdTTFU/dEaGRsdbzHUWR6e8el//qGw/MYkZFGZ24255QOHr2x0 7MXQtnuicQF6
k1neUSm21WGYQUo6bXT0Zt8gNpqmoZFFR3sMrWi0FkiNPNvo2IogNgiizTY+ 7qFPWzPFMuuM
tq+mjY+i6Mz9DvL+fZd/BKVT6lzVTXw3uEquR0f92/ehOqW28REg3dpagRqM caGIjwRl/YBK
6fKXnk9eL6tKevb2dLQdrygIp0BX488Ds/MZPtoDASs8zvgIj7kRBckVb0fR zOBQ4eM+u0LV
6qN/BgofzfDRIEvP7U+OIu+v1BbReJg92mv8YoaPANlqI6bazofawKjio068 Ezwr0OIG6UxO
zskMHzMShUa+AsRHgXhb+MNllTN8nIZn3haiyHQfB/JAbAo6hmNOzfYyuQJs tJI6R0dwTK2Y
I5QdK2SFL0MHJ+foaIipzUvTAxjb4xHxM/Il2HighnP/4uGsn50Q7xvaUM/R sRdohGUBj47m
mHp7lXG5CgGv/kTHdEwevazCeuvSWVf+dh9o8gwOHNFxG5MXwZf1Au3M+9q7 8wJyd9rUvKQc
ijZPxcFkEt6IK4XBVQA6kmRajCQd0yZTyi1Flv1a2HsCCH9SHBJ2/Q/nwqCg Yz8mn+xQEifm
q2e7lw5sGnbq7V7d9jk6KmTyJOqOjf0mfMGi6vvc4GAbHR9VmqmSN7o2xcd0 5urj2ejaFB93
mm+01y/2OsOIOvds1295+JX93bNf18CbW5uiY1AWrxoucL4IQ991AoX3TU/1 6JYGPX1N3iRT
t/Ta/A8hxAfHGR1hslStlTCVFQlWwqRN0REmSy87+nzWG89qpdJFv2a1Zd/w cShtio4N9QUJ
dKei4zWWPss7wMauEy2uRysnoS/HzcpY4Y++CKMxuePWS87DsXLyr2fH57+9 e//qhDy/CFfu
DvGksmvQ1Dn40nMJqMW7PfL5BNoUHcWzSk0J6xo8Da5f0JEyy9I2o/6yUpSJ FB0sOm0aASpN
WVPRMS3LKs6U6KTB15IlTEXHlXoh1GV74CQNHxfiDT83cJTa7EdT8TGZviiJ eDxwUoePwvCB
Jeyrh8SRi6QrOHwEphdEiIQNH7nhc042kZSs4/D5+L1hEuJ1cIKHjyPYvC6n cE94Els5cthZ
CoWpakdT8TEN265iXCRKl/Mxrui8oV6FZ6hw1/AxFJtFBMqWSSxDExuy+JgN P+7dVMF7EGlk
yOPjQvOtqMWYh46vZAS9NHw0qAdA2+7A0HDhYznzolDfZwPSiR9FbmOznN8n nj+pjE4v5guz
+UB8OC+ds7biQ9SBPFMNHxWaF+z7ixd79MhWlt+u4aM3ouig8NI1fLxnbtWd bciTMHw8pg9C
aPigho6r2NOCYcf5FHYC45K8C1X5pdHsUNKmo2MWtmrgQwkdS7B5+/my37VD 375uViDaTm7P
5EBHRw5sXuZVnaYZhTTZIOW/oxq/uFyAIxAxG1qM0TGKwVGFxriKNzwleefG of+FMIjNDsf1
OpVnPD4nb0G+El0lWQoWnnQ0IGVMc6SyxGZprqAOTzYeigoO30+HZxkNwJn6 Zu0Gz6R7tlym
RwCU+m9szKxW89nZ+RvyJuzIWUTRQYgkPDtpQpZZjtO3LDiSSWVqIGI3dVgy jJWGZE8IxOB5
SBNiLMmzyJomO7iQuXIGdslpBMqyNuBpSANIqlrEOJPwHauslmYADHje8WBY cFgAA55ANCLH
c6tT0PggR7eWmaE6nzHgyUITgpwkbCl1Xn12OGeNBho6oBpVPkCdudGIQlWi AkdKsHSPgBQd
Gv9fLeVdFdZRIwDRw5qTuyRyFsmPfri4iUcUHyhLgIYKaDbjArlvSlzTHk4X BFRonH9tbtVs
Mx7Y2Npokpi3gcah16flki2KV1a5tb3zysxI0nmzhPH2jcBpRT/TGsXV6KQB oCRhVv2+UWoh
27A+rYRJ941YMsVWAjA7fBiN2A49UuIthda77XuX/ybnbKK6JPA04yw3s/WV etXS9gbL3CHu
EIoBnl5AIIdNZcBTjnaUVX66y9KcmKYoaQj24PJ94CVjPqyJ2Pu1U7wguTQS yJju0ihNZcap
Yqn9aK83z0nGBE7CHB95JbIJT8s6xMdguzRyk3UUKKNKS44Pn4629yu5mPxM kpBtnhHdu9Wb
tqMKMdlHo6NP7Rv7ARJYI5JNRi772DxQQb8gUKjChKebHQtvamXWSXbS2qft qeP1ingntXuW
fu2xsmbqZBXGHnMS2icjDapDNsIrY+XPqlTg+Xm7bGnGZgdf9ivPOHJo/wu6 dCwnN38WjJ+b
8Py8C632LtIFgnib+pjw3L0DVFMtNWCpi3NzWIXLxsTsi4QguAUfEOiCvhQL p9YkPg9/coKl
74JVeljwxL4Dk3IQnGLCehe6cZ1OPCs9P2Kk//ja85dwEUwLGwfX+OyWqjCx TVxgSZPXBHcx
ru2LjbZrs2lDahvDiMrjs+hqDRtUt7DR7jS2/tBSJCD0sLFOXdc6rDNrUSa2 n3FtZ2w8T7cP
SVCxMRl9LiSoKVR5EGS32Dw+YcZGlYzp7M+8HNhIlqFa1RB/2jOZwP/Svafd lble4em49Gi5
uUdoTQRpYGVjYyNOBi9BKuDMgnNUQ79zHZ+n5o5KulwQTgg0sVEuQ9dr/Ni8 r/cqci+9OzBG
amPjVEZjWlb5lLomRSuEy9GysXEjwy5CG/Q+gtYFhYV7TCd3RKjIK4XBiD8a h+to4bJTttGR
8p2iggGHjS6ZaX4DVCvksgX/qwtyKhTYWKCpWe3UBGizYKNspqHVjK1Iqzhf ULYWLhz/xTpg
LxGPUotGRxunmaMcTXb6RX4Peg6wAHcdsLE+0yhcB9n9UWxsHEwYnDa1DJav Y2PjTKZZ55bK
7cYww8aETAtfY48ZNoJj2rNmM5EV+1dsQ22q7k4zSyHwxsaYTO78p6OiClzf MiZZQTfVi6Jj
jAaHEhuPsqaF51fay81FU7L2PDYeZfGOR6l8sYhnuWYKbehyho17WJrWKIGN CfdQUoeNkFia
vil1dZ2QcEkcNlJhGQe6dbEREKvJg+a9d2RtWmxEw7JUhDDNsVGN8mQl6f2J 5tg4hjg6Ta4t
LN2fYyMNNm8m23Ji7fbLQMVkG6rQSyQZb3nCygZfK/Sfm5/MxOUePVQHFoc2 gEpQIq2ohUqd
6hWsKEr0361zLTCEJPKFeoQMrSsrUoY1lcgUamHS9TpBkiVGVayACUExjLna trMeN7vUqYFc
fnK7Su7Te9xcsEabygxP+sccmCX0Qte0t4RSkn8HTBIGQEm+k6dPgTlEPxRZ UJ4ByDk+gfDM
o7fkIIyy4smijHKsfPvtzkmKyLxCfQrMYnqtTyntSaou0KfAVGUAlDDoAmDW 0Q9F+y9dAEx1
eq0Pb7xW78HzKHf2gPhy4EIfmEb1Q9/EoomBWdQAKGHQxJj5FR8c+ufWxJgZ Gk+tSLIK6Afr
YVzIY2Z9MwOJFlYxszoxlBBoYRUz95qZf3otrGJmfXML6YmJrmKmeepMRXV6 oquYSZdmzfCd
pOgqZqakW1p5qNdFGPquEyiLa3dx84sTec6F7/7qEfTWyfPQ952oeL0R69dH z20yTAvQeX1I
3smt9ixhN5XbposL9Sv0+csfvbadWw18rGjL/UJ+WcfuUvFpuYx/33w2pKsQ DJC8yo1z5cYf
n786f0k+9U+uv2qYK1bTsptui0XkrZKf18lqnYze8jzvLN9bTs9uXYUgfULA 8YFapRxskXQV
CIQgaNdwCDUdJ6a7GcqrhWBQQiDyrpluOYGHPt7gnqJyPTUIgiUEoqqXy6jJ /QFtDrmp4TLN
BuQBaBDMSQwe0yyb+9QK8IqTD58oTs/WSfjWSa5HZQjbkwHETPLma28a28rH FjGzugZBeOTB
CmxvNQgeJIgm28NnLvEgCWSZEfnJia/JY7nf/vQJvUIcDnJ1DzQgeM7e0GjY kU+fpFf1QCm9
owdSEPRGDCl+6MZQYuaT/lZnPh9mOwk6e5QzNPRAtSvt2jPldcSlrtKVPX2O P9Hegl2cvDWs
iHhb9f2uCxr2ofKmmZltEdIDg2tHNMxjF3Skaks0dCMNLZaRW7orN1iSb+q5 UsVLx0MndgcJ
gbDpaHiHxgerpsEn+rWJT0z94XhUcYIHlyw0lEHjVcLVaeMpJLkWayEIgyOF hg5ovJdTVXae
l3YhsAihYQaaPq0RoQoymwqrm3EODh8auqDpdaT9nDYJY3dz4p7+8QDuXlL8 A1N4HQ2Z0HgY
7rWzUrLrS7aSPFxi8fQicUTI1T+8HP8iDAkaP14Qki6XoR9a6R29EEPj22u8 4CFjpOWdeZRj
OPni+Gs2zSJjiuxY8hsKbOmO/PLuiWGClHVQLluMymxd3uKyHkoCDQPRqmfP qQLmrabC1don
D6bLNyrvmrHCOhevbq7e1A8UbjFsg+oaAw1t0Sx+1psJPT3zSPLNMFaK34WT n5qlmr44l+ix
0hU7I4juFXE8BId3TCuAnRQEpzUWKY4zeGzSwEOWZto2ulUKwLP+xCf1YMMa Dd3Sp/PGsyzq
EP/r9atj7gLjPcsy0HA0XVVbJ/Cl6KEdv6cbaPiark23E5jyUBJ/gdHpKX3h VUS/zWlALvJ9
8rHZvw15TIOyXQMNI9M1E19ihIGGnek8yMQjb1vsDOzY2UBDvgQB6aKrA0e4 DTRkRteqLjf3
+fLY0QfvE/VZ6CjBXiOD8LgoFdxNUKqTaffXTkD+2SqFrhzRiMZXPg9OB01Q cjIERl2be/BY
lAnKQDogtDYh9ApX4zx8i0PmQGnE4ICJUAlAaQRlFe3gqrqBLivEBKUK+8dH piNjghKFLuxM
rJkhJihhGAwmDAIHyjS6kLRRZIeYoGyiAxNDRZ0fYiFiAKphYsoQsRA5/qox P7wcEQuR269x
R6IxgJtOtU5Z/417z5R9bTxXUgTXQsQJNL5Ty+6YF1yGpcMyiCibhciR1wyr Wb7ozFSeZV8n
TxqKAwILkdev8RrKVKOVpatqDUCEDJFHr/G5Fs1CRtHCLGOI3H7Naj/RYwah NtKB0zog4gEa
72rJrMPNFZuYRH4/aoOUbO1R6RmYnY2IJuwJMkjvzkbEHNKOMS3Wl4CKWDHa iKiGxns8pVef
Vt26vCkXS6SmPs0vNG9zp+ZbeM7EdBsRU9Gnag3+NVlSNHOyX6IUNtQRMRp9 WkzhqeRb3jo3
7kv3PjsEfsPGpJb17pgnKpOf0pI9oBldrzWTmLRpI2JfuqphSPuwEXEoQUgk h69tROwqS0yr
Sf2gu54buu59jUnBIuJbumbkCrbeoaW6rPTMOJfb3ZUpTsWJiKrpRp4e5vqS wng2Ih6m8xGs
Wa3SKcv5+nREwam0zuBP0EdbC5EeIqGSOmbMENE63bQqYWbK5Mg7xGkWHqCM zhARNN1irqq3
zcye+f6IA/VQO0VfqahKgxI9TCyMpz3Vx50zrEuyWL3gQe4/woXBRNR4pGyb qIU37v2Y2a9u
9FH6BTNMhMo26lFmIPMAUE52o1uHNeLdTexxrgUmJsdrEql1i9x47XONL4Pf zjCxNWFUGpMf
uPQBsNwZJh7GB6mUMMusGX9oI+Dbb0sjNF2YyBYvf90iF+W12CYZ5WcfSDbE l0sW+cBEBWfl
bLT4PlhcR2FAPzRLgt/0+dLK2jQoP27QO58HLx2YY+Jvs/xUk3Xyd5fZ9TKs 1xwTh+uFTL0F
g7Zic0z0bDbD0ZhojokaiYHSJUaDF+DMEREdY1opqauoeZZmm0TOFzeK3Yqy r/Sx6dc/DMgK
IOIvxlRr0HXjGhapFG7oGMIoIKI0xtQopT2WK1Cqrjl8EuQcEYEx+El9Y+Je GTq8/TjmiHiJ
MWV2Y2Nz9soxQXToOUfEIQxV32rglTEEKqiCqSIYQ2TGFBHRMDS1iatVO8tQ 5Ht3lykZ7eF0
LHFEMOGZW6LYTUSzUW/cewhrRPyJx4IUpHghIiqGNqvJTaq2ZSl3g8r2Johw YSInvBlNR84M
O5LZPVcGp3HBxF+qExdrjMtp+rIVIyPLjGAiNAZqM4KJ1DwIKUjxwsRbKsla bVFTwDCpMcXE
P0zmF7f4u2Omw2jDVYGC8cGlS8XEKXixJf22vDe5hDMLQ8VECkQAqRMZsK2n YiIGJtPoHKns
iJ3vsyYXDd3puaFiIg2mKeoMc9D7usIoHWEVEx2xdCFrkr3cafDj2vOXGOwK JjrBM0vzqbJ5
vW9pUmMFP15fVj+5sXKhwFCMskre/Qdb3oihYiI9djVpXUpRhaFiIjd2fVHF 9kRS/pTAQNJD
lVNM7GmmVxMopfi3mMiSCCBS/VsNEz2aVVtASavNMTRMHGluFNm1oiU5+Px+ DRORmj/OcidD
w0Su5n+VOxULg4lzzR9puZOhIeJkJs8CbNAxXJsfpo5BRIxMngfYUFMmJMk4 BRkR1TKnDerC
33/hHtLVQESxTLWt4Kex1mc/ZT7oyK+GiOuZqiWf/OqI6JwQIFLJr46I5pnq bJvmsU0VT5yY
Dk/jxERYseLzHHREFNBU85nbG4nxzNBt8pE8w3Yrb2zImgtDR8TnTN7LSixJ HmE/W0NHxMFM
PnOxutu93nXSCPc4Jgqm1R8S/Dl9JR0TbzPadQn60QmGjomhmQiOXXRMJEkE ELmeJybiYtbY
osfleRqYaJFpN3iet+n1m85nIMHzNDBRI7OlFfsheJ4GJuLDh1S07fbMBX0R RulrjfJkrKx6
82EHNKh1BSbOxdPj/vJgN8dMGwYomTtf+Me0lJnlxNXkLZSKeU7PEidZx8oF vfR1uHT9E9+9
dYMkHp2eLSJvlbyNQgqbsuL/jhW66RQ3vWqH3g8ba/v0CXtBcYVGL++xP0AZ XjvyVm5KieCH
62jhFrm7DAQZDVwMA5Rp7R8hISn7DNXbxTBAqVYHnFtVpmmirAzKZYBSrj0C IyhZA3MwA5SD
tcNX5AmuSgWfVU7wtlwKClm/bIKypw6g8qJGZmApMSUoEXR+zP4cpXYVBhpQ mtQBjVUnQ6dB
5m9I0FAmKPHZOzy97ODA2soEpSUdUObKPthWU7WV6wV/hNyciDjCvDwIpip5 YpV86HmziYgX
qDz5jsoWjwfxhmc1/m8eLwIRSETEQJ22T6/muKDtdmaYiFiByjNdGJ/Kau/o H0dNQkc7LdyG
y7VftEEbmLWbiLjCQ+GCjniYiIiCyvv3HOpYUsNCxCVUPqkqb9SaOAn5YmkD noJP1IftakuQ
hzYgFiK6oZq1VAycY1iIOIYoJrLJhIWITKj8dC/HizUJPQm+eFEY0Ig4Pdd4 n3h+/DQdikrN
watwQRkG2Z3UZPhf3GW+X0vVgqO9HVPt4ISDtig1LERcR+XTxDK9ynpeE61J vmN8xsx7PKoe
eSinRLlekZWMX4eBR03QLf+36zAEwPhbmGgN7/PQHM2vbZaR97we9NDDwsRt dsapQ9iGNWSY
GI1lt0bLuPczOCKYSMucO94euVFhx99M7fjFGVr+YNnGl2xFcZM4XPk9PUDD xFZ2A61R18Mi
aSPiKtp0mqbt1BFkNlWeEeQxA7eX14Oy5s5GxHQ0XW+S4rHCH201JxIkFxEn eih6coyxjYgh
abpRINhikpPrKPwaKyd3C3fF5p78d1kEh4ULEf3QDEY/qIAxLrkIV/c1CvFh 5C0X5L1vXUR8
Q+PdcDe2JgM16BzhgYgc24i4icb75zaeBNJSQxq/oM/0rKLHhDgiLqPZtVyG Rx0ufPf2nbsK
I/LChCzyX8bKcbh0WfKmckv/CzA2yrARkR2NT3StxDEJXtVAeFz+CwQhRMxG KxKRsvtrUrZa
cyEAEJshYjC6avaseyntVujylxki+qHz49LDLX+ZIWIjujmt0WzZpN2ywLUd +w2+bxGxD93U
DiLba4aIgug8AN3DwVCqEtmzCGRwbBGREt2a59kjQcgr1eqDiVzFDXo6NEPE LMSBwRFenSHi
CLrdng1XnE5jsquIGIPO/eFM7jiTpb998D61kNiHUdbO+EtPgUTEL/S51lRU +C49A+goKMyO
Ch5QUQigQOeYGApvjJpiTl5CcePEu3USNyvhPA/ZndX0BYFhFHBwIuIthmbW JUNVcusqMQQQ
N3GOiIwYWm1kCknZ1xwRCTH0sjpMUzQrwYImXZg2gdlShYOjh4iO7B+9nlZk WKQRkRNDzws5
yTbNLTUHMvSXJ3f8RV+E9Ob0cbf6IEyIYY6IuewPNQnSh4jFDImjtN2NiOQY el74eEs+i4Rk
9zkiitKNxrb7+xkmwd2cIqIV6bBnglFW6bm9FQ+x16c5xUQ2eEdJCnLk3oZf XIrIpmp7CMjF
q0LjXMUcmr5keYanxYTG4zBIHAJ6RIU4iAkQW8mKbPTFLQ12K1ufJnsv9pEm ORc8CZLo/u8V
B1385+mT5168IOaOfFSyIRa01oAvH4O7+iZU8QRhkl7mXfiusly7dI2Iq5uQ NWLJU+T/C9+J
Y0ZbXXZfLdoTsmzO0kmcj5OVv74iDK2yAKuly7FP3NvVxyWNKARsRMLHuqsZ QPTy39TJlPxP
m05nU0O1NW06//hfyzDZFAdojraLOHCvJGUf5WoQuhpdYayL8tJ5QiOlm/yU gYMv5hSa8u20
GLP8kMAPF9JOTswpNGsbDKw6SUuVEsxJijmF5nI7YdlSuFw+YUn3OaKDFnMK zfF2wddgBzBU
TNnhC7NYpULIAXM193sMY06hGd9OaFsp2syWsxYGeXdOtgbbvTnZw93zlMXc nab1Em/Nue9V
g2amu6xaUZ6dvRJZuLoX+Mn1V240PKE3VWiiuhNs81JYqZxXABn7MFVoujkc VM3bHiQ6oh4C
ibTaR0RkL4+2Q5GpHgI343W+mawyz+Fyzf8aLG1jr0Eo9RBIl523IyMgpA7u hl7Il4B7CDAa
9RA42I7YtflWMEr2EEiZrbUq2RxYvEr2EKgZz+UqggHu3cJfL91lTTxB+dvf FJY3R7FJryur
YbCYgnoILOzhwLbGC4ERPwQGNdfb28+1agxNkpLQDoFkqXyybybCWQYtfYtm TwxnEbOpHQJV
U7Vq47Es8EiRe/7q/OUxPZ4iauSVdxE50T07OhplTci++YYF2N6y8qGT12/P /89v796/Ojkb
K2TJIu9infB8qfSnegA1OX1z/Or985Pfnr16NS4FjrK1L+775puaQFIuIlkw qfRGl44fu2Ml
idbusL3PEPygilpqh8CpVZ2R6t7S2LYGf86DV+0QyP2uy90ckW5e7kvPJZuk 9NrKZRTesi33
yCXhEAIQu0pCbzPU6E/3PuPop/HFzz2Gc3oOIZqi8mSMIpRSHBZ2xPwebHAH y4nSYCItUexG
H9PMlTCK2TU0Kc1JFtdvs4drxyJd+PQgltZwpZPgjrJMwAs/XNzQJ4+vyc4U G/rdY01E09X2
6wtVFwcmQNOwOKeXTSvDS2/SqMEqoiHFOFsguiAn5EFqmsIgBsuJ0WBiLr2x MtQCK0Iv0rlx
bEj3rXPjnqSPjRiQY2WxjiLauDmMPSp2Y4W/5RgIRJgwSm8QeeOJrCnys7Pz N+HSpdn3kbNI
KISjQhjHyinT7/RNMvRYQSIR0SiR3xXZ1GEiKr1BVqd2L1HVcuFMoSVu5hJq u+swUZL+IGqV
uQgMgwp4ZUGlUumJyysErDBMHBWscpQADAfuD7SulqYmt2dslvwooDC/DsMX +6NWnYbCyt+5
cSI+ZbBP4YQQTRgu1h/k2bSwT/KSr3WpjOlh8DREEuD2L1JCo86Y1ksZfUCc yy0uiSpgriMl
O+rcbHHUj8NgyViNkEIULFaB2PFIWZE21YpZcPT2H2lEhNYD+JPi7zPvduW7 YOrRQMputOms
ErRI4xM0+XxEbswDTEfEBh/JCmIYSFmNphW2ZcGibQQ3964cfINBqIqWVLLC msrQ92gETS8K
oNwvhFETzDIlR4dyTS69YPmKPXMejhjNJni+ZqMonpNPRVBgyvIIKPhjSKUk nXCqfIrHghiU
uogwi0o8tBQc2I5X4ZfKbSjqjdG3YuSoE12tGejUv1z7PpRelEpJWrHJrcrf /l35QcmlUvlP
5d//xif1AMIklZq0wcSn2lWkB2MxqCGVn7QCOKsAyDSeU6vu8Co4qaTl7KuX LK6Pw9tbJ1g2
7uaSyebRb+YcMj+68AePFIe4iFseNksfA/MUpXISMTDt1vx4NmMGT6FyBV0T gsTErhMtrvkx
uO83oaiX+2rSvv3paoz4SKNT1gg77bFJvx/5Z7zxaNpsc7OB35BDAEwTgskI Iliao0e/c9Z7
tFQIQx7eGDw4NDwQ1GUoeBqiMJ+z4qB+yKV39EIPgqmIoWexqugMMzZMMHIv x8Tk3l64HXwE
4/DAKs4QlKTA+TXNBqLTqZNtLm3064qUeAEfl8zp9K6tkdJl6kzT3Xi7R5Sh aUIwLzERMMVF
IOsQtzcZ6BKCujd8TFIAQSzFpMASl4KfV27gXOyy8h2rnb3wY1phCOYrtsK2 +Aqn240Zzd32
d8dKl9/gMa02BBUXW+1Z79V+gDYXW+1Hp70hYgVCq80nxXiXyog7uj85wZJC TTvzE+c1vKxs
uO4T4L92sgUbqWhbW2aZR6PqCpbX+WgSLnh+88I9DtdB8t13fBv/tYwWbLhk mGUU3amtq8xr
4TbeYaMejn82wnmzCNcjEgTYwFCbILC4EM/+Lq0+P3qoyINo2c3DTibSJjL7 bTRjwUaSWuBW
NZaCllOLMPslzcAvCkOYgLNXmoQlhiOoQB8hd7HQhKlUTcscnHz9tp0b5l92 5Pj+uT1WC03U
SeVZPP/zP0rdgtaFfZoXdgdG8sjjShaauJLKI8wN61wT420lJ/0X+lFHkatr DhhpuvXuvICt
PP2FVfD/4sVeUxhiFYUJ8UHI+pwlzuKGz2ymHygbLUcPxNhTm8dh6RLz23p0 HKTX9/BWAMM2
YNB1kYbhUQUMjwijmla8plPn+Ij1Kzd56d6/IFSIZ42O0nHFS8HJDhzNQdNS bMBwhDiW7Yko
zL2uyiuivBTTBgwNCEPK6zxEc5thUqJsQOosDFTaKK1XFvjtZgo4UAK4DUiG xQG09TwOsbFJ
V+v4etQ5maoty4Lc39l5hRqTfZobG5CtiqPMN/SjQbmKOCCbrCJON3i8VStM kT6mPrvCrma/
5oNLKZT8SfFtzq7/4VxYAgFZlwAe5a4Tbkt6OIQGlMZNHoRMKwUFS563pbGT OvD42OY8MY9V
CPE/huoIu+caX1saLamF0y61hRhV8otZ27sM50qru8pV2SW8M57AMJ/6OIrg D74pP5XFnQ3M
k9LMfbKiz87O66d+6pVSbdq/K5swGLkrn3wAVtk5ymq4Kc0c5xXdebuv4qEg pog3E9Hd15Iv
Z3mc6Pbnyz9H/svRxqFhBQsWWyNOd6SsY3dJp045vn+/uUgDMy+RRSpMQA45 r1neqhM9Ykt0
tFkbCWQ5ZwOTLwGs+BTbAiam8wm5cu/GmXB2nlS2WwAvEMjH3rMZmA1MykSA 1ZqEkIKFRwQH
JlYiSJmPUgQH5k8iwM6aRJBV4EkWvIH5lAA+pvooBW9gOiYA7IwZYCYwdU0H OEBlFdizBy0q
yjEbmMGJ4D0r483TzzjRfYx4D0zxBPBWVaY51oHHOvdScEpwL8lrdyKMCtK5 fGKV9otPqr5R
rfoQwhcx2PIJUtqvsgbsXUQZLdDy2ZXKO53wsymK74t1wDJQ9qmd8QEvn32p vPUHld8WF0QI
aVzQyqdrqjUvQ9vgbRwctFWYwchbfqS9FTuelXJZ0kBj0bTwWdbTZpTSu7oQ Iod4UBY3B2Nx
QwIlKe9nDsbUmsGb13cpk3KQOAdjUnvAo/3oBez8cA7Ghhox4228D63LljUF Iz2NyPF8xSIh
jubV0a6qW51Uy6l1laoViGQ6awrGWJqROlAZA6MgjchZ07p8CInNjq0pGD1o BIV3Lj88cQLz
/huR4+OYDw85+Q69OjUPEzr5Lr6qHqj6l+/gq6VkiC9O5NEiLZqiKsvJt6by nfx+mHSmWUH5
+tZUvq+vGkz/l1Fjm5F1YX+WjNTueZKodqgqnwSkY5AaIf390CCVzxZUTqwe D6TyaYTKuxBt
QfqF/taGJi4g5VMPdVYkhgWlMk94S6zKZxOCYCCwvap8AqFNme1lOPGRWw1b D9eWk08ftOm8
nIfPC4NpDjuHspx9nz7Hn2jPtm+zHkKLISun3lLl0xLDLALtrHmVRDUon5CI ooGBhKjySYhh
FbN1WCE/glHqliafSRg2r9lnEsQtBJGhF/TP8mgs4sPFH37/NFaCMz6BOjgJ lvlfvNLom2/o
g91uct8fVKZJk89UjFl5cvBoc62oUUiXs2ylti7j1/QpEhM3YH0WEUOZmKWB sSXeeCit1Xvn
/rF246S+VFxv7/cSs14G0nvlWBoYPwKErnMPDA8rGNPqAeu8Dlb3zkv4b/Jl EYxxgYAmVf7A
OJg4lCrf19XmGXwz8+4Z337//bci/geyJhqWBsaueoBtdoB9ufb9+3+uHd8j roRY8ibeBQAj
dOILoKnan2gBwChinwUodsAlrXTv6tGDDVQdjF/2AJVXjzNQcyPIcaV/7j7I SwrAYGywB8CW
XdNvgo6Ku/lK/9s9be7z0FP5LB0h3Xo4bg1kGWZWn6Uj5GGazTY7A5CN7Lv5 +uGPT2PlxzD0
XSeYnL97f/KgUeLy5vdZOkKCptlmvcXKIp0H1l3O0jESOq2UHnu3imgomf7L s2OLODJYGFlH
SNUMQ32cVE1HSNUMPhx1a9sLlNWhgxchETOsIvevXOHDgWL5QXnFGNieR8iX TEN7NK59BWwD
mEexo5/6lkfUjVzwcfDnYV6iXOecfh7cizeA2c9eYEHksRvALKgWv7SvQ9rL 78On/HR8lD90
RMjQdnlZdm7HTxBZ5kF6A7+azRMTOVN8eMdCZCeLlgFMxeoXlmc8bO8KTsTc +zHv5SUUNkTJ
wAxgBlYP88zInYMUa5Zbsoi8VboP+INgroEBzJkaYDHrZ0EQbDKYtoY/TK6d +I17RzOXSiX3
hQxCVK5WoQRhVvFH8lU+/nMdJm58tr6IEy9Zs+Y6dV2qs/hUKnDklYjbWVax EBIGwoEEYeFs
PENiMwlOaYpwZjIFlAJngPAaUcj0UvsL9t2ZnkoRHFXaXUCIEwiXEcSGxy0y cZrEbjIq/mBZ
Usp/KOo4Swk+CpXvlMVOOW/NNpW+qYQ2kJYJwnNEF0KvLATN9fv221awUSUK miDkSBBLfpRf
wbL2EBMTglU0QagSR5M4NqnP1m2Av4bREtr6miDsogMLbnXZ1+/OO4c3tyYI NejCaJZjxLbc
160th2m/WSYIb+jAjEcjNlyTXymE0G5JFRtAIkCJFWePjVNqMgb1dwWGUpqA Dn/T18/8/Jxi
dxe7SNA7gG5+I1BGGSiqeZTR4rbpGAiXCgJkAk3w8XlGW+QoFTupWsgC9M8J PFTt1srWVuwB
QAVZgP50w3e32wINSBSQBeso18DExx2JE2iFMujEvevMTWn8wUekLVgXvW4V 7C3G14IxKiNg
wfruNeAZ5uHRZcuCdd/rYJu1hBXBo4oWrMteg4eptxyBpLKF8QjEsmDd/Rro rIZJ4gcAnbKK
wgvfvSW+Iv3rqxMFxMzFR/8fUEsDBAoAAAAIAGuxkTjVMPHQcgAAAHoAAAA+ AAAAb3JnLmVj
bGlwc2UuZGx0ay50Y2wubGF1bmNoaW5nXzEuMC4wLjIwMDgwNDE3MjIwOS9A ZG90LmJpbi5s
b2dTVjA01zMw0TOwUDAysjI0ACIFZ9fgEF4uZQXX5JzMguJUBa/EskQF5/zc gsyc1CIFAz1z
S+P4IGPjCh0FYz1jPSMdoFxBZVFmekaJgqeTL5BXVKBgZGBgoAMiLfQUHHNy FMDSxQpFqcWp
RWWpKXq8XABQSwMECgAAAAgAa7GROAT4Hr1oAQAAlAMAAD8AAABvcmcuZWNs aXBzZS5kbHRr
LnRjbC50Y2xjaGVja2VyXzEuMC4wLjIwMDgwNDE3MjIwOS9AZG90LmJpbi5s b2fVUU1LAzEQ
Pbuw/2HASws1bHcr1t60iij4QS30EpQ0nW5j0yRM0tXinze7FVFQUfDigyRM 3stM5s0udA9Y
1mNZH/J80M0GvRyGp7fjNNmFU6mV8wgXohIwtCunNBJk7OCwuB8VxVMHClaw vBM5tyFVLgKc
H1/GiBzkWZZ16r3P4EhraGgPhB6pwhlLk703pEmXweRodHV+dQbKwMmA47Y0 n1haeickcksl
e71lMx2WLEhdL7lAuUTinmSteXtZa3jkuTIByQjN34nXijvCORIaiZ6PpR5u maE1c1WuSQRl
zY0okT3UzbdEAK0MQrfXb6fJjiNViYBQWTUDj+ESvY/i1vX0AWUA2xxteI5S eI+7r5Am4wXC
CsPCfpKwDXOyKwhREjYO4Zv/gvJgsIpzWnucgbZSaL356Hb+b9zeL75z+zaQ MmV0rQk7sZnQ
+PMb438wg22ZJv1fDwIc2anGlYdWDo+CTCzk2y9QSwMECgAAAAgAa7GROH8n DOQPAgAAMQcA
AEQAAABvcmcuZWNsaXBzZS5kbHRrLnRjbC50ZXN0aW5nLnRjbHRlc3RfMS4w LjAuMjAwODA0
MTcyMjA5L0Bkb3QuYmluLmxvZ92TbWvbMBDHXy+Q73DQNzZkwrGTpc0eIOvC aNkySMz6Ym6G
Yl8dtYpsJCVZ9ul3Uh7WFgodjBF2L2xJ9z9J99PdCbR7LOqw6BTiuN+O+p1X cD6cpM3GCQxz
KWqDcMlXHM6rRS0kaohY7yz5Pk6SHy1IWMLiFvnqjRbl3MLF+8800zXEURS1 3PeUwUBK8G4D
Gg3qFRas2Xh5sGajzeBqMB5djD6CUPChn+H26Oyq0nem5jlmlS7ZbpUV0t4x m0tm0VihSjd2
w8zo3AkP4U6YkTPbCTOhLGrFZbaPSHOZ0j/d+oeqFArZrUs44BYkzaCbhM3G ixtBYfBJGAuq
QANvQeEaBlrzjVsMwtckAm9TsmbDS4UBDpqvwW5qZDDGG9Socoq3FZSoUIvc +/zOb4bvwMyr
pSxghlBzzRdI9xU/sXjIK/6veD226d6ajYP+D0geYp6NMzlmnL3Y4ZxYTQJQ lMJXLpdIPINg
Iha1xAOK0LvD31zvgUznCLLK6UlWXAs+k3hvL2KrcEW9rZE/QtM5ajQdl6wr L8aLIlBVgb6s
pg+MkndlYfgN2k0fHAmqg3lVgAv6MrvF3IZUIbJSpa8mS4p9pfkK/nuN2z1m nGdth1OjXWoF
wWCSjgjot+vQNzCzlW+swLfxzucdhtIMwuunGnr6LHv6kfbnbh/KXecfPRXU uqI+WRgIurDm
WhE3E/4CUEsDBAoAAAAIAGuxkThrQG2KTQMAAE8QAAA8AAAAb3JnLmVjbGlw c2UuZGx0ay50
Y2wudGVzdGluZ18xLjAuMC4yMDA4MDQxNzIyMDkvQGRvdC5iaW4ubG9n3Zdb b9owFMefh8R3
OFJfgsQsIC20bJ3UdWxl60WiaHso3WSSA8lm7Mh2aNm+/I4TKJeVlarThuYH cJzj2+8c/3O8
A9UGq+yyyj7Uas1qpbm7B8ety26xsAOtQMSJQXjPxxyO1SiJBWqosMaB/6Xj +7dl8JnPamV6
l0x0PIwstF+f0ZNOoFapVMrud5/BkRCQvTag0aAeY8iKhed3pVioMvh01Dlv n7+DWMKbZg/z
qXuflP5mEh5gT+khm7ayUNhvzAaCWTQ2lsOe0YEzuOvmDHpk0IulRS256M0s u4Ho5tVTnsog
uoyUtkFq2Ve3SY9bELFEqNb9UrHwLNHxmFuEdneSIASRUgZd1csarq7B0p8p w6XVNCKMVIgl
sJFWNwbabmqdJhbD1m2AiY2VhB80KCyVz08uxUI3QhihjVR4zxpnqyvBQKsR rQ6zVcM6EhAb
kDgmT6cGQxAq4EJMlv1V2zp/HTSW/JUbHys5iIep5hn7HM1Sm3caGwtB1uSq T/LkBiV3VzYp
Ueag+U3mDAYdHKBGGaABq2CIEnUc5I5y5i9br8BEKhUh9BESrjn5m0y+Y7js GX/bPFPz95xn
plwJteXUrE+4DAW2wxdzjGsCOwtAGHMd877AX0eYx6tGvkJjd/to1BdouM4t gSOU9pwcup7F
vSRWev+Ow97WcWhk+tpXSiCXgHJIrW9VKkM4hAEXZhEGPERisftvKNS3jYJf O3AUjrTmk1yJ
KKbjkBQsVylzSHu5gbv3Xq5UhgnasY1KjtECmfk4m4vLXZ+NFabxP1LcRLj/ KuX9raPsZyd2
lS3jYTgFuhyO9ycqDobhA7STJixkLW6Qi/5XDGyJuAglhxlDl6vM+M4Z/mHS i/WDf0D9jL5m
96QrXd5f9UB9McU54wlI2lNXtZ1mugg/4SaiZq+0op3FgjPePFrJ+uWH8scN +VUr/x+09QpQ
LEw7PILntMdjmNKFqNXpXHS2kWimtiZNUHtZmrx67PNPNGmCsToNrNLuqrF+ eG92PSGg9AHH
AU2yiuNf3Dc2BtLIQmwWVixJreceytO0xFzF12yIth16pQclchOxdBPkYlmG h0STwu5PHvUa
JFpRxjUy4FWBLkVKl6FahRuuJSEzpZ9QSwMECgAAAAgAa7GROMePM7ykCgAA OHcAADcAAABv
cmcuZWNsaXBzZS5kbHRrLnRjbC51aV8xLjAuMC4yMDA4MDQxNzIyMDkvQGRv dC5iaW4ubG9n
7V1tb9s4Ev7cAPkPPCywsAGv4Jc4TnoocGmS7vo2yeWS9PphvRfQEu2wkSUd RaXJbve/31CU
HUmWaMk2Xde2W7SWKfHlmWeG5AxJ/YAaHaN+YNSPULP5tlF/e1BHp+e3d/t7 P6Bz06aeT9A/
8RNGp+7IozZhqG50jlv3N63Wcw21jJbRrEGa98Lo8IGj7vtLuGIeatbr9Zr4 98hAJ7aNwmQf
MeIT9kQsY3/vp8lnf69hoE8nN1fdq58RddDZ2x6RRfc+uezR97BJei4bGtGv hmXzR4ObthHQ
ns9MkTZ5QqT1IK1HHU6Yg+0e3HRn2rdkhB1OzWvXp5y6zkfPwnCD8Vk0roI5 sqlDULNV3d97
4zH6BInoF+w/3BKOzIAx4vDxoz56hxzyZZxcqf4dnkGpz39Tn/29uweCBpTY FlJUZ6oo6kNZ
T4A7I9hCtmti235Johf/3tSMJDbDaklEbWLyE8dxORY/3gRAj5MwPYXqwVEc 1dcn0OD1exaG
SRinEMwvPpZvEQBb6whao9URqPVd1ybYQQ/YP/F96vMLoUn9wO4DCwfY9kkc uTTrxqiFzUZP
mFHct0lWZgmY8vl1oBkqYlHuMoHUmWsGI1AF0LDAu8YMlIV6oDNTMAmU6Mhz GUeZRZsuIwZk
eIV5wOJoTYOVg17x3F9hDHySgrG9dtB1VNAF1Di7uPv1Y/cCO8MAD8klduBf Vg7AIjDmlaQC
M/79cGXAnoff0jAeqGAcZyRaGdkB44NrW9QZSrX/mbmBNw+oaYjPqG+6AQPk LIRNk/j+WyRg
5y8eQdNFhui6PLqVCrNgBXC3Kzppzmh4J4K/po19QJE/IKAUe8kG2BgRjqEL wz3Ds4MhBWsX
h8KzSKgpPU5GXs+CAqgT2r9e1t0RK+4bRh3+iEFE/aDRaTbrx71/WC5PSr/z jaV/2JSdm8vB
sAP0GUibYFM5mU6oVNGfiW5vJ9aJWI++tVjDfoWBBWVOONrLEB9/oH4NDQn/ DyVfCKtUa2Jg
8rFrwE9nZIADGwaHkAt8xE/XjAwIjO5McgsFkkq1urjaL2AXTDBFnAUm1CWr cd078swlNjUU
XshWwkWqIdVN4dzxBnFOMRXZYquSmHTWNYvbwU90KCt+bhMxIPOF0NKTo3qh 4UM4zjx/lle3
JqMeF2KabzxWmAlZBa47F8TtxdjQ0O13KMiAZtEB5IDacOEb3Q/hlyjPKzwi 18x9oguzoQQz
8quw7vwoaisaun0pxdhxFDpPFHCLIeROjPli1O3dKajkrWMhxx9/RBUi74La +BzDIModZNvZ
r19Rxq3dyb0gVJNculZgk0wXpMIObLXZT7BDt0Mrxo5rbD4C3lLjMn1+rV1P sJYmRLfrrhRJ
GpHDaYAqT+EcIGEdcoWR9jXMMhE72UvZ6/YulpR9W8h+hLn5INBG71ClopK5 ZEhVzA5j6fAM
9BvEjn6qjvuZqW5kQctRlEsg3QfXQqlK/qv/mZhQuQFzR4hvEeV0uzTXmnI7 a6Sihm63aDlq
yHD5ridajex1uydLyv5gKWZhFDcKy+9+dn1OMXI1V+gMXRNy7YxNwTlyU7eb 1JOE8Hsf6POJ
bZ8RjzgWcUxKfEmPMxgsAHlIerrcKO46fx+AyKgDchIK/gEEK0S36CR5Bk+y C113jhT3pDR1
u0jnZkYxR0qcGXF32kK0KMaJeHEbRAjdzta5CaFcJpYdZVuyrSjqdN1ca6Hb 1zo3OYqt4EqG
YJdlLgr74jfTYOh2rc7Lic7EyaqK16R0tZofhcljxtYbBd3+1bkJELq9vn7N jNdlD+yqKs9G
DgG2fQSp29c5r/iP6lG49m/KeG3cKGfHazPGe2XNxHb3ELpdnt8bQ0p85rY3 m0mlBK10e1O9
ySJZufFnhBm/e/GoMzx1nQEdggREu97brvlYamNGYjz6zI2AU9u4BNEIEs89 FJ3Bi3H+606G
ov6tlm5/5yLibx8K+XMQLno3QX5asNsmMu1uSA0iC9f+D1w2wrwSXb5587p+ 3h/faihLu+e4
79+P5L3i4l6UVJtkKNaK34IoneFvv6M/URcaNSRskgxV4K5MrwwJv8N9II5n 45db+ofYhoD+
WsVOBI2fmVGeSAISgxqSUZ7ffk/HeTZOZbT7ZxdQGblxamflUiLT7kHVIDId Vs4FrWS+0tDF
DFxk8tR2rhZ7ANK7YpjPxaqUyvdvApWfnX2cPSFo6fZOCyYLjTt1GSMhQnIP /vTG7GZe9Orz
AGrxOgEQORoPfGQbv9xdXogtetfigA2RrDtYMVXgMiiRJU/ZZNHS+/C0EYO1 Ws17kGunUW90
fgLx1gE9lpKlbq9ycVnmBp5eG2b8L6DmIw4zMLr/Fhcyt0meSzBNuVvwy9RD tSO/pduRWxzz
49B3Hx7RkqZptOm2NOnjm2UzMl0v9uv2qS5TEpmc/q6NT0IUup2XY1HEtDU8 0+V9YPezjzhq
1Dvx03hiO7vRQP6ft5coYUkm5/CoSo4yLHuIUUu3b26M2g0Bk8dItCDtErNH wm6I79pBxqK0
w5ghFynS8XbCGH65gMarbXTC/GY8rbKsB7p9VXPB0cmEIzoTSwVGDhTjw7ZU QOj2AM0FxFEm
EEpK5EAwkwi6p/Nztb+RN1oN10uAAQ5jCb7RjYKYSzqBKSd3JX6659bz4Ze3 +kS2MHA4HRFo
H/RahaGbgVo8TyVgq5oTlQOsXQSwq8AWqyaGQBH/0nXEeRtzDqOLgZlRnhLa VU1RykGrjDyF
7e2KEKElxlAnHIZW/YDPtf5JfSRYXklKRFc1ASmH6FEJRM/FoLQsmqWQDEtQ oriqyUMpFJvK
Q1LCNsrdZc8m8VLHSS4Jw2T+SghXNegvB2HJxfLzE/IV1JlLDVKcXGOXYvFV BgdrOXv5FuJX
6ZSqROUpmms5Gcr12Ga0NTQkCxymOTskFitgc9SqvZaTv1ULvrhKTbEgT6HW clLZLLFfoy+M
B2HGLcfzjUVnq1SY9Qbp0lpOhFcv8+LalChPqU5rOWVuKud1ovhkc8drYo0o e38hs1UO+OK1
KXpAdHtVc225bFY6vRPrG4p6MKbOeQrjcvIYrmi38fLOd5pl87JKXXcbWDTy 316Vs6AoJVqH
s+PEpgsFOHwcoT2Vl8uLEheJEc+og9I0rsq1UFgNZSis23Xk+he4Y8Jzb/xF vusjUxnEIiN5
km9lvLbIck9h3BXa4SflqXzpqNpS9Tcerc6ueVfWW7wcoIaid0xszDnO7VU5 YL4V0WZxKpdX
22zyEwzR7aP5Qv/AzApXWE58G2dEvCJg+tjv46KDgShTYypH3au9pgrcFE4c 6vYmleCBPPPG
C/o2NSVuKOspBLaHOJafIRTF5tMiBmJrSaDbs1SCBK0w0OEHHhh9T0a0a4Co az9Srlq5VnAw
MFV8ZRw3r6GueAnP+BU8d1GRGyNj3V6uEjJud8ZHC4RyNp6oT3l8x2VlQG0S 20w+p+mO1nZP
Zy+OryLptd0bq94JGuh2fMVoECnWp/CXWwJqaF2DjKaGhrve/5sZBd2+utJs kC8DeX2Z1DT0
8l1S03Zc/R6prZWwbs9feQmHrj9r3DPILxP8K+EUMOinFhJVRvJ/8UZV5QL2 RfU96jLSteqm
6rM1fcdhW8zPofojH1Xg4gtmDnWGfvX/UEsDBAoAAAAIAGuxkTj1QzEaJwUA ACciAAA4AAAA
b3JnLmVjbGlwc2UuZGx0ay50ZXN0aW5nXzEuMC4wLjIwMDgwNDE3MjIwOS9A ZG90LmJpbi5s
b2ftme9P4zYYx18Pif/hmU46FYlFSVooMFUaB727bnCgthov1h0yyZPWOzeO bKeA9s/PdtPS
pD8ubLTq3QiINjh57Hyerx/7efIGvLrj1hz3CHz/xHNPajU4a3a6uztvoBkw mkiEX8mIwBkf
JpShANepH1dv29Xqwz5Unarj7+u25FHQ/kBB692lPhMJ+K7r7pu/Rw6cMga2 WYJAiWKEobO7
89P02N3xHLg5bX9qffoANIbzkx6Ou+7dcPFFJiTAHhd9J/uvEzL1xVEoFY37 PSkC0zi9xTT2
aKxQxIT1JlcNeYis1+rq03YaX1CpMEbhO3+ZZ6sQBYzGCF51b3fnBzpMuFCw rEfnEqUkfWyF
8md9NYyPz18/dne6A4Ty1oFKiHGkmacSwzyx2e/+hui1ccgVZgg1vTNGMVYF hL53YBgmgo6I
QrgW2tiNoNogROPPGWi5I0cposhCWNJjZuiJj0ASAuMBYewxz6a6XWwOZ9m8 S6MIBYZtPXqD
J3++DNO81soQK/RVglxtq8hVc+TuOGdIYojO8S7tNyAiTOIiYOUBWUtluBxs FZfD+iyXjtLT
rW8Hn4WRStHx8R6ogeD3ElpXzYcAE0V5DH/PsysR0BbJcIhqwMMVQ9iDSPCh HgSCekxwiUPy
sW+xJw63yRO1uj/riRGnIcRc0egxu7GLYkhj3RZW9uZ5l6O63OBLMZ39Xl87 35T2PnDF22j0
EQcYmiGfBkaSRbwrV+aJYSelDrG3S6eDDO3XMx7rZ84vPM8W98QZ51QGPBVa 1iGQINAKP4Hu
BPt8lxY5V9ml9I4hhKm+mpudkJ6s9mrQvwEjUiNVA9COEo+LaTtaBiQkivSc hKV9GsucA5IQ
nYAL1HiHSS+0jInpoLfoagsupbee4+ofs1Nza17d993j3i8hV3kpHG2RFOo1 I4XWpZmbTYZD
o2wcfzYWuMDpo8ouO1VXUSRRVTCkiou98kvs/9n3x6++/1chIYvZC4bQCQRN VHM8kELo/n51
5LnbJCS7b3oB6bwGiicHrz+N3woHv0aDFxBLTjjrr2Bo4VwlGC+Vi1dftb80 DJzWJQ7vyu8i
V1d7Zi2WrfN46y9maEwG0aUV61R855Qw3i8Sc3OpZ6tr9CrtLcaEOa10UBlZ pkwtSHlW4Msl
PfM2i7Nk6ZCfm/F46y96ZITHednvFO+viSjmknX3aBatnck6pxNpfEGkek8o w/A9FRMpAz4o
jEMJ2enzSU8pFoa1os8SZL31l0rK0PT8mi0eTYpGUmmoDRgQ2RSCC3klzNOl Wqc6j377FqLM
YsfEVx0odMi+IGkcDHTzjw2IU8ZmF4gZjJYCjIigxMRl21G+pLRCeuuvZqSK Mourg0QEg2as
IzgWYXmuDYR6Xx2QYKB9zkhfNqxCPlIU5sZHg+TsqbViGqeL5py4ClRmzJZm s4FKxISNPtFr
rdRSmbwkKBA6WLZQmAJirhIx0nqUOtJba8614GbFzoz/91rE56/uNPM9vsTG YeGqb59bL/v2
ZZAzsuu+59VvRbVq3q+Igi83UEoo7cvqsXVmBJXMS/IP+qcelp65enPJowLC RYvYijj7Tbpn
A9l+affUbCwqcEoCaECl6JgZ/5mp9e07wt9AtrwBR3yn08TfQKpb3jv2zUMr AwVJ9tnQHjIr
dfb/yrKSV+lF5SmFnZosbMS30lc5v714pjlpPL/o/jb1lpjbVh2u3DXYbNC+ gby2z/us3cHy
RHOh7VXZpu8b9WhHDSVU9Mk9EbF+ILn3D1BLAwQKAAAACABrsZE4RkOQC2oU AACbwQAAMwAA
AG9yZy5lY2xpcHNlLmRsdGsudWlfMS4wLjAuMjAwODA0MTcyMjA5L0Bkb3Qu YmluLmxvZ+1d
a2/juNX+PAPMf2DRLzbgCpbtJM4WAzTjJB2/za2xp4tivQ0Ui7a5I0suJeXS d/vfe0hKsu6i
FMmTm3eRsWWZpJ5zeG48PPwjUg+U7kDpDlGv95Pa/UntodHJZPrp4x/Rydwg Gxuj/9PuNDSy
1htiYIq6ysFh/+a633/ooL7SV3od+G7zSMly5aDxl3P4RDeo1+12O+zvUEFH hoH41zai2Mb0
DuvKp49/Cl6fPqoK+vno+mJ88VdETHT80wyLrmc/W/S7vdHmeGbRpeJdVXTD +a64ZGbTObse
3M2uz4jpYGpqxgxuGOtfNBvrJw8ONm1imeeaqS0xVX5jT9TSHGQQE6PD9qeP H8h6Y1EHJbqZ
WxQrV5RYlDiPx2fTvyUaOzHwGpvO2FxYf4aGkHj960mvTx+nK4xqGRMiNjLx HVDOBSiiuIff
9xqiwVwzjBXBVKPz1eNsBJ+++p/+QfD9lUadGD36e31OERMefWOjz+j44lg5 vr68uhldXv0T
/b79fDa++JuPeYCaYUGX6E6jRLs1MG8igIBiLQZB/xk99oA99pRqpr3A9Jdf keO9ZRiY+B6F
vvr/LadFuC0Vgm07OUAMnhEQwzAQx1RbTiyXzvEZsYHP+fPrcNH/GIcn9Qcx wJKvlPkXgzHa
Zw6U4fd7DcGqE82wlvbscoPN6eMGT7CB5w6IgGP+RS+GqdrPE3IuUZgY+TY+ 08ylCxLEkyNV
5Fm+6MrqSVZK7TcEJ9aJY9HZBK810yHzr6CuDKayiLlMVxr7A642NpTcaQ5G dxbRkaZrG2dq
nZiMXZj8Ha3gKXEr3BpahT50oIUPH66otcHUeRR3n9zBDxFmf9tJrn2aWskk 1xo7K0vuAToo
ZbxttKDWGjnQlAPMiHJwjFJazDHjMZviB81SfGotlwYG64Y97hGfQfGpc1Bo H4zPLR0bntIt
N2kkNH2k9byJMvzhUOWaUjD3HfzgKAvL0IEflPGpeDNxqDt3XIqBse6Ijmlg ztRmT0lAXX50
eaQ4/NGk6GdxrfecoiHlGttcU4o2KuCdCWpeP7LSXu02C6PtialZWCinKoEr 5rmwBmIwH6jd
FDWgX1k2YQ96ClLx27jFTdnFwsZOB7H3BjaXzqqDMhVDQ5I/JuxThsnHFx2Y jGwP4Ckr3dWm
XL/SFL7Gc8ucMxc3RuKemifUNNtRdLiiUY0haSsgrF0DH28vPU2I5Qut4t7z ppralM9XH/hq
b4+hb1gwQZwuGPqTRzDA18rcpRQYbkrW+JwYBrFb7QDnLC+oK2uzq005hRuK wT/B5hwzw51T
bGSZC7J0BbG+wJC/J8wPbrrfWpaBNRPNrfXGwA7Y+w4Djvk+C9BMv4Hxj/4A fpBrGCHJkc5N
MWASTcrC1JTLaM8p2Th34B3OArdm69xZmyNmpiZYZa8XlsS2A4jO0YJAm4iz D48YTMfnJzfH
49PTm+n1yeTr5dkxAKjudf+c6x7mzs0FwYaOcgea1XUEaAlh2ZQzyeT61kc/ urUdqs2diJ+O
6QQkUBL0Az9UszC0pf0ZLbHD3NFT9qnF2m2HAjQZDMh/Ks11TbmAURBOrblr X3LXOsfU9bmN
3ZYIa6CF/y6fuyIcFuap5BiCFkuzTlNuVBS1AAMWeaRrLtRAwjnUMkppVb8H 4QC5DjGUc261
XMIjU7DCpxjUQKX4RGIOHxN7DrYp+KZgE81BNNs/oalv7KT1yrG3HO9mwkND LtxvsfC2Q4kw
ceF/UMI2QOusEKgq+piOugLmGPjdjjZTNoa7JKYdIcRGxxyEGWi9zUyHDkCi sQ5maXcHTuON
qnThPxaA7w7Ug16vezj7i245Ma5oymOsyhX7/fCsSgV/UcAIqZzwtqnclDNa mcqDMJXHV4FV
NAGrETN7JnIhV3rm6eS8EcU7kRGovabc0apAqkMR1l2gVuq0QJ+FRYh+/x39 IfUOBfQ1VzNM
ybTaCv63qxl2a+Ffaqd4omXNJMmZ6Lml0QHFfM/XPVF7TTnD1fmLz9RUzhFr LmnfbLmng4Je
2zmzuC6NDT6kzaN1Fk0f2FgMahwx19qviIGacuifOQO9q/00ZmgqilGdGfi6 LsWOS810O04B
f92/pGNT3DLmHhB3JqfWKdwwNjug4Q24X9zQrnedQIJ9PF2VM1pf1HgjfFt6 rKnAUGXOO+yW
4Ty2WPlyOC8+2rfMeREu3E20LODCM+0WG/4iYZwBRZzMD+ISe2yaTANy1mI2 uIjYAyk9s9cL
5bZTHNvUEJrXomwQrbebIJpgNjsXmeF7HOiHT5vebqKDEuxwwAV1KtpOkd
Re: Expanding dltk.tcl for java/ctl (jacl) [message #22400 is a reply to message #22355] Fri, 18 April 2008 06:04 Go to previous message
Andrei Sobolev is currently offline Andrei SobolevFriend
Messages: 72
Registered: July 2009
Member
Hi Juan-Carlos,

I suppose we need to move this discussion to DLTK dev mailing list.

> I've tried to build the TCL plugin ( I have 5 errors: four in debug.ui
> and one in tcl.testing ) but il seams that the core works.

This is very strange because version from HEAD is always works and always compiles for both eclipse 3.3 and 3.4.

My first
> question is about the blocs eg:
> java::try {
> }
> is not recognized as a bloc like if / while etc...

To make it work you need to extend tcl parser.

For this reason Tcl parser support 2 extension points:
1) org.eclipse.dltk.tcl.core.tclCommandProcessor
This extension allow processing of some tcl command and building of new AST nodes, based of Tcl AST.
For your case you need to create AST node similar to TclCatchStatement or TclWhileStatement and provide processor
similar to TclWhileCommandProcessor, TclCatchCommandProcessor.

2) org.eclipse.dltk.tcl.core.tclCommandDetector
This extension allow to map some special command cases to one command processor. For example this allow mapping of
"java::try" and "try" if "namespace import java::*" statement are present to "java::try" command processor.


>
> where can I find the big picture of the dltk framework?
> I am thinking that I've put my finger in a gear.. ;-)

You could look at Eclipse Wiki for basic DLTK tutorial:
http://wiki.eclipse.org/A_guide_to_building_a_DLTK-based_lan guage_IDE

Best regards,
Andrei Sobolev.

>
> Best regards
>
> Andrei Sobolev a écrit :
>> Hi Juan-Carlos,
>>
>> Thanks for trying DLTK.
>> I suppose most interesting for you will be jacl integration which
>> include not only keywords.
>> If you are interested I could describe how to do it. Our Tcl
>> implementation is very flexible.
>>
>> For example you could add jacl interpreter support and implement
>> builtin provider, this will allow running of tcl in
>> jacl, and provide some fake modules for jacl internal modules, etc.
>> For example you could provide namespace java with
>> all appropriate methods inside.
>>
>> Also I suppose it will be not very difficult to improve completion and
>> provide proposals for java methods.
>>
>>
>> If you just want to add keywords please look at
>> org.eclipse.dltk.tcl.core.tclkeywords extension point. Extending of this
>> point allow to add custom keywords to use in keyword completion and
>> for selection.
>>
>> Easiest way to obtain source code is to download DLTK SDK from
>> eclipse, and then import plugin sources using eclipse PDE
>> Plug-ins view functionality.
>>
>> Or you could get all sources from CVS;
>>
>> host: dev.eclipse.org
>> root: /cvsroot/technology/
>>
>> You need to checkout all plugins from following paths (Checkout of
>> root folder will not work):
>> org.eclipse.dltk/core/plugins/*
>> org.eclipse.dltk/tcl/plugins/*
>> org.eclipse.dltk/xotcl/plugins/*
>> org.eclipse.dltk/itcl/plugins/*
>>
>> Best regards,
>> Andrei Sobolev.
>>
>>
>>> Hello,
>>> I found eclipse suite with the good TCL support but I work a lot with
>>> JACL
>>> ( Used as scripting language in a PLM solution based on java)...
>>> As soon that I add a jacl keyword like java::new, java::try, etc, I loss
>>> the code information ( and that's normal, I agree :-))
>>> I've tried to access to the sources but couldn't compile from the
>>> sources, nor found any documentation on modifying plugin sources.
>>> Is there a workspace to download or any cvs?
>>>
>>> Thanks in advance
>>>
>>> Regards
>>> Juan-Carlos Furest
>>>
>
Previous Topic:DLTK IDE Guide examples - missing getTextTools?
Next Topic:enable and set debug options
Goto Forum:
  


Current Time: Thu Apr 25 09:10:45 GMT 2024

Powered by FUDForum. Page generated in 0.03239 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top