Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » [Teneo] Hibernate Library Editor Turorial - can't load URI
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114360 is a reply to message #114335] |
Mon, 10 March 2008 08:12 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Gigaplex,
The finally block of everything gives me the feel that an error occured. Have you checked the error
view?
I don't think the way you try to open the database works, eclipse does not know which editor to open
with just this information. The tutorial specifies a different way of doing that, at least it points
to another tutorial, see here: http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html.
You can also use the resource utility to open a db resource without explicitly adding a menu option
somewhere:
http://www.elver.org/hibernate/resource_utility.html
gr. Martin
Gigaplex wrote:
> I went through the library editor tutorial on elver.org and when I go to
> File > Open URI... and type in:
> hibernate://?dsname=library
> or
> ehb://?dsname=library
> or if I put a query at the end,
> it just shows a blank, gray editor. I have a library already in the
> database, so I figured it would be showing that. There are no errors
> showing up. It looks like it just gives up part of the way through.
> Something happens when it tries to create the query in hibernate and
> then it just goes straight to the finally blocks of everything.
>
> Any ideas?
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114418 is a reply to message #114360] |
Mon, 10 March 2008 16:02 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
Martin, I saw that link before but it redirects to a page that has a
long list of tutorials, articles, etc. and it is not clear which one I
need to go to.
In the documentation for eclipse 3.3, there is a tutorial for the
library example and near the end it has a part about running the
tutorial. Is this the tutorial that is meant to be referenced on the
elver.org site?
If that is the tutorial, it instructs you to run the editor as a non-RCP
plugin. I am trying to do RCP, so maybe that is my problem. Does teneo
only work in the non-RCP editor? Or maybe there are further
modifications needed to make it run in the RCP editor?
I will try running it in a non-RCP editor and see if that works but
ultimately, I need to get this working in RCP.
Martin Taal wrote:
> Hi Gigaplex,
> The finally block of everything gives me the feel that an error occured.
> Have you checked the error view?
>
> I don't think the way you try to open the database works, eclipse does
> not know which editor to open with just this information. The tutorial
> specifies a different way of doing that, at least it points to another
> tutorial, see here:
> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html.
>
> You can also use the resource utility to open a db resource without
> explicitly adding a menu option somewhere:
> http://www.elver.org/hibernate/resource_utility.html
>
> gr. Martin
>
> Gigaplex wrote:
>> I went through the library editor tutorial on elver.org and when I go
>> to File > Open URI... and type in:
>> hibernate://?dsname=library
>> or
>> ehb://?dsname=library
>> or if I put a query at the end,
>> it just shows a blank, gray editor. I have a library already in the
>> database, so I figured it would be showing that. There are no errors
>> showing up. It looks like it just gives up part of the way through.
>> Something happens when it tries to create the query in hibernate and
>> then it just goes straight to the finally blocks of everything.
>>
>> Any ideas?
>
>
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114428 is a reply to message #114418] |
Mon, 10 March 2008 16:08 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Gigaplex,
Yes that's the one. You can also use the resourceutility. Note that both methods are just a quick
way of starting the editor. Teneo offers a specific emf resource implementation which works on the
database. This database resource can be used in all the locations were also an EMF resource. So I
guess also for rcp cases.
gr. Martin
Gigaplex wrote:
> Martin, I saw that link before but it redirects to a page that has a
> long list of tutorials, articles, etc. and it is not clear which one I
> need to go to.
>
> In the documentation for eclipse 3.3, there is a tutorial for the
> library example and near the end it has a part about running the
> tutorial. Is this the tutorial that is meant to be referenced on the
> elver.org site?
>
> If that is the tutorial, it instructs you to run the editor as a non-RCP
> plugin. I am trying to do RCP, so maybe that is my problem. Does teneo
> only work in the non-RCP editor? Or maybe there are further
> modifications needed to make it run in the RCP editor?
>
> I will try running it in a non-RCP editor and see if that works but
> ultimately, I need to get this working in RCP.
>
>
> Martin Taal wrote:
>> Hi Gigaplex,
>> The finally block of everything gives me the feel that an error
>> occured. Have you checked the error view?
>>
>> I don't think the way you try to open the database works, eclipse does
>> not know which editor to open with just this information. The tutorial
>> specifies a different way of doing that, at least it points to another
>> tutorial, see here:
>> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html.
>>
>> You can also use the resource utility to open a db resource without
>> explicitly adding a menu option somewhere:
>> http://www.elver.org/hibernate/resource_utility.html
>>
>> gr. Martin
>>
>> Gigaplex wrote:
>>> I went through the library editor tutorial on elver.org and when I go
>>> to File > Open URI... and type in:
>>> hibernate://?dsname=library
>>> or
>>> ehb://?dsname=library
>>> or if I put a query at the end,
>>> it just shows a blank, gray editor. I have a library already in the
>>> database, so I figured it would be showing that. There are no errors
>>> showing up. It looks like it just gives up part of the way through.
>>> Something happens when it tries to create the query in hibernate and
>>> then it just goes straight to the finally blocks of everything.
>>>
>>> Any ideas?
>>
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114638 is a reply to message #114428] |
Thu, 13 March 2008 04:22 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
This is a multi-part message in MIME format.
--------------060809090307090505080901
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Okay, I must be missing something here. I put the RCP library editor
example on hold to try and do it in just a regular plugin. I got it all
set up but I am not seeing where I can open the database at when I run
it. I do just like the tutorial says and go to create a new model and it
asks for a file name. I put the URI in for hibernate
(hibernate://?dsname=library) and it won't let me continue. It says the
file has to end in ".library" but I don't want to store it in a file, I
want to store it in the hibernate database using teneo. Screenshot attached.
Martin Taal wrote:
> Hi Gigaplex,
> Yes that's the one. You can also use the resourceutility. Note that
> both methods are just a quick way of starting the editor. Teneo offers
> a specific emf resource implementation which works on the database.
> This database resource can be used in all the locations were also an
> EMF resource. So I guess also for rcp cases.
>
> gr. Martin
>
> Gigaplex wrote:
>> Martin, I saw that link before but it redirects to a page that has a
>> long list of tutorials, articles, etc. and it is not clear which one
>> I need to go to.
>>
>> In the documentation for eclipse 3.3, there is a tutorial for the
>> library example and near the end it has a part about running the
>> tutorial. Is this the tutorial that is meant to be referenced on the
>> elver.org site?
>>
>> If that is the tutorial, it instructs you to run the editor as a
>> non-RCP plugin. I am trying to do RCP, so maybe that is my problem.
>> Does teneo only work in the non-RCP editor? Or maybe there are
>> further modifications needed to make it run in the RCP editor?
>>
>> I will try running it in a non-RCP editor and see if that works but
>> ultimately, I need to get this working in RCP.
>>
>>
>> Martin Taal wrote:
>>> Hi Gigaplex,
>>> The finally block of everything gives me the feel that an error
>>> occured. Have you checked the error view?
>>>
>>> I don't think the way you try to open the database works, eclipse
>>> does not know which editor to open with just this information. The
>>> tutorial specifies a different way of doing that, at least it points
>>> to another tutorial, see here:
>>> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html.
>>>
>>> You can also use the resource utility to open a db resource without
>>> explicitly adding a menu option somewhere:
>>> http://www.elver.org/hibernate/resource_utility.html
>>>
>>> gr. Martin
>>>
>>> Gigaplex wrote:
>>>> I went through the library editor tutorial on elver.org and when I
>>>> go to File > Open URI... and type in:
>>>> hibernate://?dsname=library
>>>> or
>>>> ehb://?dsname=library
>>>> or if I put a query at the end,
>>>> it just shows a blank, gray editor. I have a library already in the
>>>> database, so I figured it would be showing that. There are no
>>>> errors showing up. It looks like it just gives up part of the way
>>>> through. Something happens when it tries to create the query in
>>>> hibernate and then it just goes straight to the finally blocks of
>>>> everything.
>>>>
>>>> Any ideas?
>>>
>>>
>
>
--------------060809090307090505080901
Content-Type: image/png;
name="library editor.PNG"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="library editor.PNG"
iVBORw0KGgoAAAANSUhEUgAABAIAAAMDCAIAAAC3uSDJAAAAAXNSR0IArs4c 6QAAAARnQU1B
AACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgA ABdwnLpRPAAA
7xVJREFUeF7snQe4FNX5/9f4SzT5/fOLCQnRxBJjiTUGYxKjwRJFsQAiUgTp VXrv5VIvKChF
qtIU6eXSpEiv0ouCF7gXbu+9c+Fy/+/suQzDzOzsmdnZ3Snffd5nn9mzZ075 nNlz3u+cc2Zv
qays9Ehedbue/vVvbvvJ7T+VBv7sf35CH3/yP7d436XfqB9fu+o/DmKAAAiA AAiAAAiAAAiA
AAjoInDt6k2uu/TcyqsV0o9XPILrfq3sSm7O5fnDb1PJhWQAe9VucbjFsOgB 0y4MWRAfsTg5
0msfrUwlm7oy9bO1aWSz1gk2Z0O6trFoMBAAARAAARAAARAAARAAAbMIMIec meif04HSyIFn
zvzIL1MGTbtITj65+lnp0VLzMA3wTtuj7cfGDJp9cdiiRNIAY1ek0ckfR6WT UTbk9H++KYNs
7pZMGAiAAAiAAAiAgGUJsPEaBgIgYEcC1LH4Kja7Ba8qJ6TaQCoSSBswMUBK YMjMuJ5jfiSH
Xy4DSByQBqB5gMFzL9FUwLCFCUwMkI1aniqVBEwY+DU2hwADARAAARAAARAA ARAAARAwhQC7
u+/LyNeXWsTcRNGGzo0fMju+/ycXugw8+Xqj70QlIMwGNOtxgvQByYCB02OZ 0bQASQIyJgmY
KiBJIDMmFW6yr1NGfJkMAwEQsC+B4V8mwUAABEAABEAABCxCQPDGFyYMnR8v ePNzBIdesFlx
gs2sssEzLjEbNOMiLQEiGzglduAnF6TWf8K5noNPN+t07IYMoA+kDOiL/p9E k5EYYCaKAZof
EKYIvGJAxbwlq7L5SUPnJsBAAARsTWAI9TIwEAAB+xIgLwEGAiBgTwKD58Qx E3/FwsfZcXSD
XvDvZ1wU/HOviy/46tcd/QGfXJDbxxcE355s3Ll+Y6KZ9R8R3Xvw6R69jjVr sZ8pAQ/JAAoS
vrtZCchkgLhYqEoJeF1/phBu8hjmxIsVwAEIgIAtCcwWehwYCICATQkI7gIM BEDAJAKfLEva
eCBn+9G8KjuSu11qh3O3H84h23YoZ9t3ZNnbDgo2aVH8oFnC4hpmxhL55Kv4 wdMvCjf4vXf3
P1mcuHG/7pJ8/PnF/hE/9h16howc/t79T6nIAFoUpCoD2OqgqgkByY1/qQC4 ydHxeg/ogEAA
BGxMwHu/AQYCIAACIAACLicwaXHi8u3Z/WZmdv00o8PH6W0i01uNTWs+Kq35 6LSmEYK9P0Kw
hkNT3xuS2mBwat3+KW/2SnyvX8yiqKSP58cxeoEkMpES8d77n7QoYcu3Mes+ Xbp23Lw1I2et
GfbZmiFTVg/8ZPWgT1f3n0i2qt/Hq/p9tKrXuJU9x63sPmZF54hl7Yd81WXs utU/TJgWI8oA
0gDdu+2/eTag/yn6mmYNpOuCqmYDaCaCZMB1JUDev7Ayab5kEkB6+/+6BhDX J+EABEDAdgRc
3umj+iBgdwLiNj8cgAAIBEjg2+9y+s/IGDM/Y9zCjOGfp/efnt57anqPT9O7 T0rrOjGt88dp
nT9K6zg+rcO4tLZjUluOTGk6NKVB/6S3use82+3Y2s1pLPdAE6GVP1OERNZ9 snT97I0bPt+0
7rM1ayctWTth0dpxC6PGzI8aNXfNyC/WjPx8zYjZa4bNXD34s9UDJq/q/fGK LmO+bDt0evtR
UZvSqmSAdypAWwZc3xhACoamAqpkgLDyhwmAKhkgLpq8WQbQTgXhrOvbFHAA AiBgOwJ294FQ
fhAAARAAARAwhcC3B7O7f5oeuTBj/JcZEZ9nDJqR3ndaeu/J6T0+Se82Ma3r x2ldPkr7cHxa
x3Fp7Uanto5I/WBYSqMBSXV7xLza+uCW7RRfmA0IMBFhAwDJgIPZUeMWbPh8 y4Yvtq6bvnbd
p8vWfvz12sivosYuWDN6ftTIuVERc9cM/3zN0NmrB01f3X/Kqj6TVnQb91W7 4Z826UcloV0B
bFGQtgwQNIAw+zA9dsjMi3MXXTgcdfb0qpMHl56YMWr76CFbh/XbNGjQt33H fjdo+rmqLQGi
DPBOBUAG2M7nQ4FBAARAAARAAARAAASUBMj57jghnQTAqC8yhsxM7zs1veen JADSO3+U3iky
vf2YtLaj0lpFpJI1H5badEhq48Ep7/VPrtcz9rW2323dkcESDDCRQZMvkgky IGLO+unr1s9Y
v27yyrUfkQZYGEUCIOKLNcNmrxky0+v9T/UKgE9W9fp4ZY8JK7qMXdQ+YnLT AVQSkgFVSqD/
KY3ZgBsyYN2S6Pj9lxKPJuzb+OOczw5FDP52cN9v+nSP6txxRetWi9p0W9vr 45OCEoAMwNQH
CIAACIAACIAACICA4wh8ezCnXWT6wBnk0GeQBqBJgC4fewXA2LQ2I9NbjEhr NjStyeDUxoNS
Gw5MfW9AaoMBqe/2S36n18U32h/auiPzugy4KRH2v70aL1ki12VAzprhM9d9 unzdpytIA8Qd
P0cpeAXAjNUDP1vVj1YBTVrVc8Kq7uMp/OK+4yu7jl3eecyijqOmfDCYSqIp AwafFr4ed44e
NkTzDoOmx342+8cLm86knU6KP5+1c1vsl/OPD/JqgC4dl7dptahJ47n16k5v 2HJJn0/OKmUA
mxMgi04qIxMfaBqCA5ajaBo5HrtQfCa+lEU4GVtMZnrxDp4ppCyoMIeji6RA KITC6VsxRymo
9ftzpKeYXiokCAJ+CeCGEAiAAAiAAAiAABHYdjCnzdiMPlMz+0zL6PlpRteP Mz4cT5MA6W1G
pbccke7VAGkNBwnef/3+ZGlk7/ZLqd/70hsdDm/dWSUDZIn4UwGVskSYDKBE 1gyZvo4mAT5e
vDbySzER0gA0A7C6D2mAj1Z2ixTDV3YevaLz6K9JBjQfTCXpP/qcz9kAYX/w 6HMDJgjPHCUZ
MHjmxT0LT1xYc/L7XTEH98Vv2hA9e/rB3kwDtFz0fuMvSAPUeu2T/9Qc17Tr xhsPJ54dLwqA
8MoAv16OTKIEQwaQzCBvfum2zNW7s8npZ0pAdPcXfpN++lKJqEOkMoACxXCe iiAOCJhOYPCM
OBgIgAAIgAAIgMC2AzktR9NCoMxekzO6T8roPCGj47iMtqPTW0WkNx+e1nRo WqPBaQ0GCt5/
vX6CvSMogZR3BBlw5NtdWQygLBG/MkCWSJUMOJCzZtCUteO+FPYDjFlAOwFu KIG+n67uPXFV
D2EegL1WfThyVedRKzqP+rrjyKnNB1NJBow+TyZsD1AuCqJQ4euPLwg5Tbs4 dOal00uOnvp8
/4avT6xZ+cO8zw+PGLKJ1gJ5NcDcevVIA0wiDfD0MyNeenP6Tf9RcrMSCNds AI9XFOyyqaav
vOvP5gTEcFILdEwTAjxVQBwQAAEQAAEQAAEQAIHgEWAefNeJGd0mZXqnAjI6 jMsQpgIi0j8Y
lt5kSFrDwWnvDkyr1z+tTr+0t/ul1RWUQMo7fapkACuYLBFy0zUSoW9liQye fEmYDfDKgKjR
87yPBpoXNeKLqKGzbvj9vT66cdxpxKqOw1d1iljZeeTijiOnSWSA8PdhShlA oQPGXBg4Sfhb
MpoBoRKfXX5s63cpZJsPpmzcn7x+b9KaXQkrd8Qv/fbS15svfrnx4rx1MXOi zn+y8Bj9W6pM
CVT9xfHs+Crv1vuPx3Tzm32k2+RLt2dRyMlYIYQd0zsdU4hqTDFBvwfSHMXI u04WsNzpff2B
HBYuxryxgkgSzuJTUVlkOouVlsJZgckOni1k59KBsmAsBdlXsuKxBMXCUC5V y4HYf0TDQAAE
QAAEQMAAAa/nAQMBEAicAC3FaToivdOEjM4fZ3T+KKPT+Iz2Y9PbjPbKgBHp TYalNxyaXn9w
er2B6XUGpL/VP/3t/mn01wF1e8fV7nCU7sFXyYCbEyF/XSMR+laWyOBpl0gJ UElW95sYFfE5
eyhQlPBQIHo26HTZ3MLqLiNXfzhiVSeSAcNXfjhicYcR0z4YJMwGjLlAd/x9 y4BxMSQ1hJxm
xA2ZFXdm+bEDn2yP6E/7AdbSWqDWLb9q0kjYD1Cr1ifP1xxX45kRjzwx4L4H e933l34kA0Qb
9nlilSS42dUWPVqpu7/5cB55vXu/L6Bv6Z2OKUQ1Jr9DLPr0dMDOIg0g5kL3 2umjTAZIJYH0
eNuxfNGPZ0v8F27KIDFA4aIGoGPmuyuVAIWzs1S1h6oUYfFX78nmry9iggAI gAAIgAAIgAAI
BInAtoO5jYelt4vM6Dghg8RAR5IB49LbjElvOSr9g5Hp70ekNxqe/u6wjHpD MuoMSn9rYMZb
A9LfHpD2dp/41wQZUOXRyRIRZIDvROhbeSLT4sk/p0RW9/koatjMqBFzokZ8 HjV8DsmANfQX
AQOniEpgTY8xa7qNXNN5xJoPh5Gt+nD4kg7Dp30wkEoiyIAxF9j2APm/CJM+ GPhRLEkNQQOQ
9zwn/sSio5yzAcPmJzEjMUAyQGrMKWchB88WnUkQ3FxpIIWQ0bfiga+YspR9 fZQmzuKwu/LK
+NKYGseseCyRNXtzxHRYXdhHOmDRZPbl5ky2Q4ApHBZTWhjxo4iF0qG8OCuL aCAAAiAAAiAA
AiAAAsEjsP273IbDMmiXcIfxpAEyO0RmtI/MaDMuo9WYjOajM5qOymgUkdFg REa9YZlvD814
c3DGm4My3hyQ/mafhFodjm/bXeU3yhIRZIDvROhbeSIzk2hWgRJZ3Wv8miGf RY2YLSiB4bNJ
EqwZKp8NiOo+KqrriDWdh675cOjqTkOXtB/6WbMBVJJBkRcHjIth2wMUMmDM hcEfC1MBwuTF
nHhy6Ld/eeLIF/tnDV7fhuYBvM8FqlVrUtU8wOMD/vRgzzvv6XJH9fZvtVkx Yn6KaMPnJkuN
ebcUwrzhLUfy6VgMpONdp4R1NQd/FBbE07FGTGWyLGVfOYrh0uxUyyYrkjS+ eLxsZ87pOEEJ
HD5XTMfiKaL7rloYlh2rHfn3sowoHQqn6QUxnAhsPy7MXez7QUABA4FwEQhe f4qUQQAEQAAE
QMBGBLYfynt3aGbLMZntIjM7kAwYn9l+fGbbyMxW4zJajM1oNiaj8eiMBiMz 60Vk1hme+ebQ
zNpDMmsPSn+9T+IrHU5su377WJaIIAN8J0LfyhOZnThsZhIlsrrnuDWDp0YN m7F2xKy1JAOG
39gbEDVwEpsTKC8pXdt9xNquw6K6DFnz4ZCl7QZPb9afSkJ+PlMCNCGgIgMG TaJdAVUagG7t
T1944eCiI5s+3dGvw9fKtUC/v6fzr6t3eOqFj3pN+3HElyk3TCIJSBuQR/t9 XAk7IGNqQXr8
1bfZoidNxxoxpWJD41iaOIvGbtsrT/FVJFk4nS6eu/2E4KOzEF/JqpZNTFOa OEtt9+lCWa2Z
ZIran8tZZUQDARAAARAAAY1bcuG6oYB8QcABBHYczn9nSOYHozNbj8tsNz5L 9SE/DUZnvjMy
q05E5hsjsmoPy3xtUEatPkn/JRmwL5cRUCbSbkJm2/GZrSMzW4zLbDYus/HY TDERQQbcnMgw
kgGzEymR1T1Grxn0adTQz9YOn0lKQCzM2iFT1g76ZG3/G7uE13Uburbr4DWd Bi1rN2BGs75U
kiGfxJOREmDbA5q12J+VHk3madbpGIWSDKCpAEGfzU8a8WVyxNcpi776cd+i o1FTdg3ovPiV
Vz6q8cxwth/g98I8QIenXvqo/ZjvIpakCfZ1KhkTA+T3kxe7fE/ORu/S/93f F1IguyNOgdu9
K/XZMYvPvqJ36UfVmDfpDan2kBxX+dmSECqAWIzD54v3nanKqMqP98aUniUe s6Kygh2LqTqx
SgZ8mSImS9EoKTFZsZB04smLJfSR6iKmIyZOgXQWiyArwFfbs9kSKZ76Ig4I gAAIgAAIgAAI
gECQCOw4kl9nUOb7o7Jajs1qE6kuA94bm/XOmOy3R2W/EZH92rCsVwdlvtI7 6aUOJ7cfyGOl
UibSdkJ2m/FZrcZntRif1Swyq0lklpgIOfeyRIZ/nkxGiazuFrFmwMSoIVPX DruxFmjt0Gnr
hk5ZO/iTdQM/Xt9/nKgN1nUZtLbTgGVt+89o1odKwmQAzQnQuiAVGUAbAwS1 cV0DjFycMnJJ
2vSvL67/6sSmud8tm7bzrVc/euzxAX9+uNfTL0TW6biq7+xzo5alM6sSA149 sHxvLnm3zF0+
GF3EFAIZHQvLXc4WsYONR/JZeNRBQS3Qu9+YYgSNA3FugR2wmOSyfx8nzAnQ OxWPBVIBqITb
TxXQsTQyO2bxxfJv8a7VIaOqiSlQskxLSJMVy0bRjsVUcaBas3CxeHQKnS5G lhaAlY1CSLTw
VBlxQAAEQAAEQAAEQAAEgkFgx9GCNwdlNYzIajYmq6UPGdAgMvudcdlvj8mu PTK71rDs/w7K
fKl38osdTu44UOXc8iQinWeQJcLm+iiR1V2Hr+k3IWrwJ2uHTo078gOdsm7Y tLXDpq4dOnnd
4EnrBn20fsC49f1GU3j8/sPruwxc27Hf8jZ9ZjTtTSUZOkWQAWS0UVhFBtDX NBVA2dA8ANMA
o5anjl6RPnaVutFXzEQxwPQAnWhrYx65rauAwoMACIAACIAACIAACAROYOfx gjcGZtUfnt14
dFazsVnNI7Obj8v+IDK7WWR208jsxpHZ70Xm1B+XU3dszlujc16PyHl1WPbL A7NeZDLgYD4r
QKCJ0JTCglRKZHWXoWv6jF0z4COvEpgs2JBP1w75ZK2gAT5eN3D8+v5j1vcd ub738PXdB6/v
MmBtx77L2/Se0aw3lWTYZ0lkggwYF+NbBniXA1GJmYvPNEDk6gyZsXBRCSj1 gFQb2OuYyQB7
lRmlBQEQAAEQAAEQAAEQMJ3AzhOFr/XPqDM0o0FEZqNRmU1GZ74/OpMkAVnD MVnvjcmqPyar
7uist0Zl147wTgUMznpxQOYLPRNf7HBix6ECVp4AE2GzHJTIys6DV/WMWN13 3OoBH60ZOHHN
oIlrBn4s2IAJUf0j1/Ybu7bvqHW9RqzrMXRd10FrP+y/pkOfJa17f0Yy4FAB kwF00582AvQe
fFq+N6BqNuDLZJoKGL3kxjyAUgOIIeJEgerMgOktEZoEIQNCwxm5gAAIgAAI gAAIgIDFCWw+
kt9geOIbAxLqDE54Z2jSu8MSyeoPTaw/LLHe0MS6QxPfHpr85tDk2kNSXhuU /MrAlJf7p7zY
O/HFbjF1ex3fcbhKBgSYCJMB9Oj5xX0jF3cZurh7xJJeo5f0Hruk97glvcYu 7TVmac/RS3uM
XN4jYnn3Ycu7Dl3eedDyTgOWd+i7tG2fBa16T+80ikpCzxq6IQOUW4RFGcBm A6QrgnwpAel6
IdmEQOCzMEgBBEAABEAABEAABEAABMJI4LN1mfTXtw2GnHmtx/HavU/V7nXy jV4navc68Uav
U2Sv9zxdq+fpV3t+/0qPH/7b7fRLXU+/2PWHFz88VbfPiSWb0qetzGAlDySR qSvSmQz4LCpj
07cX5vSOnNZ+0IxOQ6Z3HPpZp2GfdRw6w2szOwyZ1X7QrHYDZrftP6tNv1mt +s5u1WdGi97T
O4/asPH8lMXpogwYMMH33gC2RZhM2B6wOKVKDKwQ1gjdcPq9H6UmKjlW2xs7 hnEMAiBgRwLX
d/YHY7sV0gQBEAABEAABuxAYsShlWlQGLciR2/HCnWTHyAqq7GjBzuu2aX/u 1JXpI76iDbfe
Z2kaTmRF+ogFybQxwGsp01brL8m+3Clfpw2bJkwFsNkAdRlATwoS/juM/kJ4 trBXWPhL4IUJ
w7+sUgU0ReDLbnpCE5VyfooDHhOLKoAACIAACIAACIAACIBAWAjI/2HN+9cB gtHaHtG8nn2V
f/9ZwtDPEoZMiydHX2rs6UBSU5EB9FcCAz+K7f/JBbIBn1wYOCV20DThT4UH zxBMkAezvOYV
CSpGEa4b/QeZcCIMBEAABEAABEAABEAABEDAKAHyxgdNFoxu1otG//TlywZO iqV/BmBGjr3U
yPunZwSR9Ruj+BdhyADoFhAAARAAARAAARAAARCwDoHgyYB6Dbbd+BfhvhEx /SbG9psYw4Jg
IAACIAACIAACIAACIAACTiLQj2YDImO79T0GGQC1AwIgAAIgAAIgAAIgAAJu IQAZ4JaWdpJ4
RV1AAARAAARAAARAAAQCJAAZABkAAiAAAiAAAiAAAiAAAq4jYJoMWLl0doCK xNfpwUs5SAUO
JFmqrKvqGwirwM8F6sAZcqYQXtRhzD2MWXM2DaKBAAiAAAi4loBuGcD8VNEI HBvnAhntlGlK
20OavoFcZKUNS0tzlkFX7XRF9ltrmfzgTzwYMTVKy0nSb31ZBP7Cyy5I6fXP kxdnRpzRxBzN
paGsiInp662asgdQNhl/zxNI7py3J3xlEYyseS45xAEBEAABEAABvwSMyADV RAMZ7bTPlX6r
Nxe98f3yMhaBswq6Sqsrst9iG5YBflOW+qz8kU2/xkxMkLM1DVRWb5sGrySG NRKn06wLjq9q
8uPij8lfMFmakAH86BATBEAABEDAIgRMkAGye3J6b5T6cjhkdyLFXGQOqzZH 1bFZVkKlk6Fd
owArKMtOWh1lwZTeuRiiHVlWBb9Xm7LK7BROVtKYYgX9llBXU/q9TqR6Q0ZV eq60VLJrzC8l
kYlM2/BcMKo8ZYT1Xlqq/rHq9aw3ZU7aSpiyakovBl8E/GJXraZYQlnPoPr7 0rgmZW2q2mOo
llAWUzsLY1eaXzKIAAIgAAIgAAKBEDAiA2RDmtQH8jVg+3XWOd1N/kFa2ymU jv2+3Calzyfz
jfgLw++uaTgcvtwO1VIZ87CVTpuqv6ukp93uMi/ZMEaZ0+w3HamDGNTWVKoO VedS9UqTtjj/
FaWsjmrbaZP323FoiAdZyrLcfdXUWP+g9PilTe+rjtq0tcvvl4z0UpRSMr3i PCVBHBAAARAA
ARAwRsCIDJDlJJMBBu57Kb0fntFUb4UDcReUokKXn63KRBqoLJvMz5C5vBoe sGpSfln5cuOU
JVf1n1TdO9m5sjgGrhOlx6xkqM1NdqUZ80p9MfHrmvO0uN+WkkFQeuo87q+u XGQ+t6rX6+v6
UXrwxtpd1smYKwOUifPwUb2WfDWxsSuNpxiIAwIgAAIgAAKGCZgvAwwUxV4y IJAKansDvr71
JRKk4kR2rESqXWxVN86Xc2+WE2aApN9q6nKCjTlnPJerTBKotqC2tOOBI2s1 XzrEWDVVRZcv
/vwygKdeyjg2kgGywiubXu9v0xgxnAUCIAACIAACfgkEUQbwj3Y8fpUvR8pv DTUcR18jtIbb
ZMyj0vCnpa6bFWQA8021fRceV5snjtJttV1r+vK8/coAv9KOB0WA1xVPFtrX p1KHaP+mjP18
eCDzXG+cuDixyHqt4FWcszyIBgIgAAIgAAJ6CZgsA0Qnkl8DSE8RHVBZIPso egP8ibMEpcmq
llAWTTnAqxaMn7Wqx6Asia98ZXVXRSGrJj8iVR9LmaO2RFG2l0aItB11ldP0 1jTmlSrLrH3B
KK9eWb7Kq4vz0vJ7XfnyTXnS16YtS1l6wfhqesPtbkwGaF+TIgFj14C0TWXF U/0lqsLkaQXE
AQEQAAEQAIHgEdAtA4JXFKTsDAK6PHtnVNlvLdzGxG31xQXglwAigAAIgAAI WJAAZIDr/jg6
SFehctYlSBnZLlkX+sQurLL2ZQkgtvvZosAgAAIg4AYCkAGQASAAAiAAAiAA AiAAAiDgOgKQ
Aa5rcjeoW9QRBEAABEAABEAABEBAmwBkAGQACIAACIAACIAACIAACLiOAGSA 65ocyhgEQAAE
QAAEQAAEQAAE/MiASrxAAARAAARAAARAAARAAAQcRwCzAZgNAAEQAAEQAAEQ AAEQAAHXEYAM
cF2TYwoMBEAABEAABEAABEAABCADIANAAARAAARAAARAwO0E8nMTHLfmBRXy SYBJIMgAt//s
IYVBAARAAARAAARcS0Dq/dOxazm4s+KQAZABIAACIAACIAACIOBGAkwDwPt3 pwbAbIAbf/Ou
vdZRcRAAARAAARAAAUZAnASABnDzJYHZACgBEAABEAABEAABEHALgXAJgCNn zs5as2PwrDWW
sk+WbNl9/JRrlQBkgFt+9q69xFFxEAABEAABEAAB6SRA6GcAyNVevPXwxZRM q23aTc8poIK5
VglABkAGgAAIgEDoCBw+sAbuCAiAAAiEhUAYdwLQTXdyuK2mAVh5qGBUvLC0 SNgzhQwI3fAf
9sZ2agHWn97W95uur0577Y0pzevMaD5y86Qd5/c7tbIa9cpdNcaFtbZIlacu PdZh1KY+n+zy
Wx7DMuCLicebvbaAjA785oIIe3bvZhZUFGIu2gdBLQMSBwFOAmHUAFRCWghk TQ3ASkXF48To
sGi6ZcDZEwfWR63IzUwNEMTWmQ8HmAI7nbMX5hwPlKkZK6ReSnGrX2JmLDu9 Zz3bqK7eU4zF
PxN3psOqAc+Nr/dwxMtkdEAfKdBYaqpnRW6fXmdmo7HH/7r6Yu9ZO7vN2Dqy 1+KO785q8fWJ
KBNzEZP65vTmvqu6vjr5jTqTmted1XTkmkm7zuwJRkZimpzXEmmAje/ewZTA wfjsR9rM6DJ5
m5iIgZ+bKYkoyRgoiSpes9KRJs6JWlke0gBx6Zln4lIHzdznVwkYkwHk+td/ 4ZPx/feR0QGn
EtixacfEUasGdllM73Qc1AtVb+J5Xz8/uUfddZPbbJnV4dL2ETyn8zcQ9eSX L5d4rTSoSoAS
v3r16rc79jKjY+UrqAXg4YY4IEAEQqYBfHXOGjKgwwtPqyqELQcO0ljWbOyS EOgHyIB6Dap8
Bk+zTsf6RsT0mxjbb2KM8sezPuqrSeMHU5ME8ruiq+RaRa4pA7m3uxdeP547 V6H2onAWgacv
Zn26+Dq4dwunfpDR0Evp4soXK3OO03sgVPnPrVH3TTHys40a8J+oKyZ5/H8f Xzvi6MNkc3aP
X7R7/PhNER0WdWBiQFdSviIfOH/kzWnvRW7ovjV68eVrefPOtBy5ocnULQPH behOPvqPSedN
yUVMhJz+Nz9vppQcq46sMjcjaWo81xLTAMyUMsDYz00mA4wlQoVp+e8npWpE 7w//0MmDzef1
emtqq3+Pe+fNyS3o+PzFc4YLo91MPKhVUxg3//CPCWmHo5NIBrQa/o12Lvwy IGVR390dHyKj
A/L7B7ffLhopAb+XHPn9JAAWzTvKjI4DVAKffB7FzG/WfiOQBkhf0/hK3nqy fbv2khLwewpF
4G+gEMuAWfO/ZkZjx6W4BKlRCM/Qw1N9WTrGxiZZRqYkwlN4MU7oc9RVPKdG DqUG8NXJK2XA
xOavKU3q8UMGhOCC1D0bkJqaKjTSFT8y4NX+y18bsKL2oJWv9VvaIGJ91xm7 Ri87vuP7NLKN
Ux7YOPUBulDonSzASlKfUlpaVlpWtmPXrnK1F4WzCDx9McUpL78i2sULZ06f OMDEgK5yclIS
0zy/7D+VmfvPLfuPrlyMRV67eu2TtWvSOzu9Rt1axtLRPosc/dpTGo/fNIA0 AF0v9D5lUw+v
DSCjr0xRAq2W9Gw+t0nvxS3olrz3qiyZe6ZV+69q91jUqutXLfus5brFyFn9 IzH7adpBlByU
kSg5aPKBvuVMR280nmuJyQBKmU0IJCemiLMBhn9uUhmgK5Ed03vvntBetHGN X/5x7czko1t0
JcIojVo/lbz/Tot6DFg9kGz+wfnrT28ykA4ncx7ULKm9H/9TNKGcX3x36MfE 9QdiSAa8/eE8
U2QAuf4rm/0pftr7ZHRAH/dsiWezAWT/+Wsnv5WiGYAhPaNEmzB884YNp+p9 0fLJyFr0vvL0
Rr8pSCP0GrVg9dajzEZNWa7rXFlkUQO80W1hefry0kvzaE6AJ0H+BhLGhZJC ZquXzFGdNObJ
0W8cSvnKlavapnf4UGbKyj/riy9FH9o7VHENahpVMCURv4hkEcKSqd5COi++ uTLg8UaTHm8y
5bH3P3vsgzmPtVjwWqtPhs7e883JLO3OWVUGlJdsTTvwGYkB8QAyIMSXn24Z wFm+Tuvju21M
6LMlsf+mxAl7U786mb3lQkFc3uXVH91XUXSyovhUZfHJiqJTFUUnKIQzTdVo 1KcUF5eQCe5+
meDuMyvxuv5MHrAIPH2x9x5SOVlZ2WUy4cD7kefcQGrxw9fPVqZu/WHRvymR orEjmQWSoPLc
Go3epEmAJ+vWeqR2zSd7DiUjJfBIrX+LesDE7GjZjzAPsKrH+E09tp7eyn7V pAToo2gUIfDV
QS9Pqtt06nvvfVpv08lNLJdrlWWrY/p3/er9rou61ZnZ0sRKaUuO3lFmSg5d xSa//2KX+5kA
oHc6ZjLgXEKO9+d2QrBCr/H93M5GDSrKjGEywEAiu8e2vLBzXvKhhWTHV3y8 dtKg/OQfDZSE
NMDTEa+PXD8s6uSKPTE7D1zcm5AbbyAdXTB5Iq/q+qB0oKKPdNbAGfvHfXWs Tnf//rH2bMDu
sY+fmP1cXvRkcv1jx9YSjT6SDBBNe1EQS4Ru/zeqPZ3ZgM4rli37jgTAsu8m MqNjbSVw8ON/
MVu46AuykZ9tIIvwvpOxQB5cGhrgslcDFJ+ZQquDDCSl7eAWFeYyW7V4dvAW 6oh3jtYs/Zzd
P2JTAdKDwIcPpgG2bN9D7ynJccyTDlAGmJKIgVYLV74GiuqMU4LxbNBHe+wb uSM7cnfupwfy
Zh8pXHqm5FBGpd/OWVUGkAY4vSKCFgWxA9IDkAEhvvB0ywDO1Zk3ZgP6Lm0w an2X6btHLTu+
60z6/uiMr0f9gawybeHiUX9YPPIPAVaY+pTCouLCwiJy9wuKikWjQHZM4fQt GU9fTHFIPxw+
enL/waPbd+3/ZsuO1Ws3UQjPudKKcFISTzm+8B+ViavoncmAq99/Z7oMYHkJ UwE9h6YWXjh4
YQ0TA2QU/qd/P/3Iy4IIMcXoTn+9OY17LGpBJsoApgRYILPAJwSeHvPGcwNe +Gf/51YdXiX2
HXRj/s3xzzea2vaVaS1MqQ5LpNaktzUkB00ImJiXrmuJaQB6Z0bH0tkA9nO7 mvoV58/tzJpB
jKR0NkBXIjtGtSABcDn/2+xTi3/cPHNezyYZP2youJykKxFaC0TzAINWD9hx /lvZqlBd6ehq
FJ6f7d6x/yxLm0VGnnrayfFxuwZGR/UkDUB7A5j5VQIaMmBFx3vK8r5jNvyV O9lUALPsHZ9P
+W71qwv7ktGBRr0oEUasT7tF7ZvNZzZvxt5XpjccvLLn4JW9Bq/yvq/sSSG+ 0qFExK9mz19Y
dvmK0ihcF16KLF0LVJ6+gjRA0ZmpmeuaUzhPUjwNxNKhHjs7M5nZikWzxLv1 zEenj3q7dG3J
4dUAZfTO7iLJLPC8pDLgyHc7y8qK2c6HdasXKCc6eEjSWZQIM8OJcGYkKyFl xzRMgDKGJ3fE
IQLmzgMwpN7ZgMmPv//Z481mS2cDtDtnmQwg15+tCKIDZuJHsc/3tSjIc/1l 4p4B7A0weW/A
jjlvnSmslFlM8bXcKxX5V67MG1S98lIEvafs7Kn6QxXbmB1od8H5BYV5+QXk 7ufk5TPLzS8Q
3ymcviXT6IvFfurEyZNFxSVKo3AxDk/Pwr+GlaV26Isa12LnfvdFDWGkjBhy 5chuevebET8l
aVKPdx96MGbNXzv/+ULm0TMpew7ErH6ixxCSB4JCqFuTJg0CbBE6ne70t5jT mJlUBjAlwMIH
eHcOBJjXk2NefWrEPx4b9jStzmfdwebvt/xjTM2nhj5bf06zVz5rZiLDp4do So6ZPj0qsQzG
2svvtcRc/2vleVdyN9G7VAaQHiCjH9qV2NH0Tse+gMz5bJ7X5lIiZBWXM0UZ wJ8IS3zz0GYk
A0gDCDJgyyySAfQx//zmsqzzYkn8tkvTz3u2XtBx/sE5rFm/jd40hTa7bpxA xxlF6X7TCRJq
Kva2sU+Lnjo76Dt1j6gBohPTjl9I1l4X5EsG7B7xuCgwKFly/UUlwDTAM7M6 Tdg8kowOfCkB
aSK0E4DmAYb3X0k2e+oOuv3/8oQ6UqMQ1YaQJkJSZ+rni4tLryiNwv22oxhh 1SctyVZMarl0
/Ae0H4BpgOIfpvBrAErK72+BCQCy5V/NzEiLY0bHzKQLPjWGg0OH9kjNbx0F l7q0yqUmJcBm
ksXtAXQceF6sUjQVQBqA3ouL8+VWdCPEr+oQptApvqb5SkQXHPHGv+j3Kw8C h+O3gdwcIRga
gHjOG/ms6N2tWNBP6ulpdM7K2YANsz4uK1gct2HIvMiR7KBPrZv2CmvvDaB+ HjIg8Mtb92wA
5+rMrbPq0JWRfvkmyyq/VnDlStHVsrLy9Mq4UVfLLyTv6u2rDuJArl1J6kRy cvPIyN2npfxK
E+SBN4K2DGDbiI8dP1FQWCybDaAQCuffZ0wF5qQkVm3vjCcroyftnSlspswc 1Lt816bMQX3o
ePjsVcwCpESn01ZgthuY3P3Hug25kHGU5gRICRy5tGHz6bmPdRPWCGmj5mwR JgNqR1SZ6KCL
P9c96QPpW5IB9OygAOtFS3H+M6k2Pbcn6vhaSp8e40P37F/49NV68xq9PPXd iM3+t1FSATjr
9eQQn5KDpgJe4ZAB/HlJsfi9lpgMqCw+TRqAfPfOC/aTsb0BFMhsdt9qiSn5 0yYv8AWcvpoy
72CAibDE1/dvTGuBaB6ANMDBBaMG1XuJfbx0cFVa9FEqCU+39dqnLd6d0WLe gYXUrDEZsa3m
dWDWbXHPjl92Xn96I6WzQPOmOGez6kItyIART5elRYnW89NdcWkZ8WlpiWmJ sYkXz8ae37pt
F20SeLPzEl/V9CUDto54RBQYlwtOMCUw6a0/khggGUCuf6+1/USjj6rpyxIh JfDhBws7Nl0w
/aMddw949fWZ9V+f+U5t9j6jPoX4TYSKMXHG8vzCcqVROE9TUhwSAIe/O3zo wKF9u/fv2LJ9
7rBGeucBWEZ+fwsUh/r5pPgflbbsyxl0k555537XeYrOrt8KUnbi6iN2QFsR SssuS03bL9eV
V1ZmUnZWMjM6Zh/ZgWja2dG3+XmZfo3HO+eB41dvUART8vJbGHdGCKoMYA4e yQCZp0ed86GV
Kh2UTAbQokTpViXSAHundxAXBX385cpen60ho7GM3lXdfVEGyCYHpPLAVxxl gpgN4J0N4Pwt
bZhej2RAxuXKjPLKzMuVmd73rPLKwquXSyuKyytyK+NGXyu/eGS51upt7XkA VhLqQTKzcsjO
x1wij19pFM4iaMuA4hJh/8CRoyfyC4ryCoronVlefiG9Uzj/BgNORBTtvjF1 yegg+ftlldlH
tk99VDju2als/Yrknh/S8ZAZK/ZfKqJ3jTR5KImn04Zg2g/wl85DzqTuIQ0w dfeIAxdWf3N6
9uJDkX/pMthvyTnz+lPEy38f8BwzmQygyQEW3mJOD4oWYL3OpVz4z7S6tWe9 vfn0JpoHeG58
zX9NfP6dee+89cV79Eif4rLiifP3jpm9Y8inm/qMX9d9tM+lFDz10pYc9BAh v/RYBJ68OJNi
0WhLAFll3sFrl7NJBrzQewnTANfKMihQtLETFmknSxECT4SeC0R7gmkGgBlp AGbs4+5Fnx1a
v3hqvy5+K/j3UXX+Nvy1T3cIswF7Yw/9dVitJ4e+SkYHfx/5RpelQzZH7+60 WFjPFuAl5Lck
sggbSAbELRBtcd+aq3o/JbOVfZ6e1eM1ClRN3KcMGPSIqC4uZ24tz95zJfeQ YIVnye4YV4dN
BTCjj6qJb/WdyOS9nwubg+c1FGx+QzqmEL+JUJEiP1uVlXdZaUI4xzJCpgHI Duw5sOvbnVvW
bV6/LGpa73d0zQPwZCTGoa4+4eIPUlu6cDq7SS+a31vm5J37zZQSyctJZ5ab nUbGjkkJFJeU
MslBB6bkxQY7VYUjC/QrA8TlUhoHfqWLXziswCHLi6c8bosTJA1AGGcNf44c PObaLZk7SPTx
hAOvUQQlbakMIA2g3KpEkwOiDPhq085a/RdoaAAaGpSzASxEVQaIfr+vOQTI AF4ZwLk6c9XU
+nSV5JRXZpcL78zouOhq+eWKgqvXMivjIq9cTdk+/4MAf5nU0aSlZ6ZnZJHR ATP2UWoUqC0D
2MKhI8dOHj564sjRk3RA73Qsmt+VRdKKcFIiDTBtfyS9N1o8kJ4UlHB6KSUS 26l56dfzYjs2
p+P+U5Zu/DG//1SfdxYN0Hvghacf7DSY1gLRPMDBC6v7LGmy5viU+QdHUiDt EKB1QQbSlJ1C
t/mfjPg7M6kMoGMW+PL42o0XtdCYDeAvw1fHV9Gd+OaLOjVb1Pa9BR80XNTs tdkNas95/0gs
XQHmbHVg6dCWA8pIVXLkRUREd2rFjI7NzZfnWqJ1O5VZgt8vNQqR2rDRwtWl YRQh8EQo/SUf
1pNuESYNIP14YM44Hj40G/B8ZL0BqyOp707ITX5xwrsvRL5D9uWh1StOrG/y RbfXP21CcXiS
4o/Dg3pV78fLoiczI0e/LG6WqtFaGr0yYB158BKBsaLbQxrmq1LBSITS1DBt vGwtENnBfQd3
79j97cYtG1asW/XViik96nLuBzDQrzIHNC7mFLPF8z9j9+bFhTp07Nc157ls 2Fod2nuQknie
2YpFM+kjGXn/opmSFyuPoHAundE2v9lRhPTUS9rmNxFOPskJ57TNlIx4CuO2 OMHTAERy8qCa
goN3RfDrRn/02cI5w2RGEbRlgOpWJb0rfJR3+qUhSj2gvaMAMoBXBvCszhRc gU/eo6sk/0pl
3pUb7/Sx+Gr5lWt5167GVcZ/dPlK1vIpjQL8cVInkpKWkZKawd7XbdwqNQpM Tk0XvkrL0JYB
bMbAr3H2WZyUSACM3j5SsB0j6fjVOcIMQO7OrSUzp51t8S4d95y4aO6RrJ6T /NzH1cWQPR3o
/o6DNp/+YuPp2auPT2kw6T8z9g76c4fBbF2Q9F8FdKUsRqa9vy9PqVfba6IM oAMWUntOPdpA
/LJJzwylTA/EHOm7YfQL0xs999H7r85qNnn3FzQP8MwAYQplytcHP5q3O+Kz b/t9tF5jNoCz
mlQFpeQgeTD+zjsrsrKY0TFnapzReK6lfsNXVKauJRs8asXgkXIb4g0cQuGj hHdf+ZqSCCW+
sN1bsi3C0o/0LU/F23454IXx77T4onN+qfDn89ui93RZMviT7cLkQF5pfvMv Or87o1XXpSY/
TYsH9dddHyyLHk8maADvgdI0NADV3ddswIpufxYFBgkADYFB3/piGIRE/uyr JBRO2Wm3ZtKX
/75WNKmy8tCS8R9s/2bbN6s2RH29cvncJZ92V5/N0E6Np4FEd5m8f6YBpB55 sF1z2oEgbi1j
qoM+co4aPL+LKiVwfa5jxWKVZ6HypENFEr1zw4lwZsTEkmiUnajQzCXDUx6X xAnG04Gk6Mb1
/e/sGaNnzxhDRjKAXDvRCq4Kx5F9/6stA1S3Kp06dlH8r0MeSaBx71/2lfb8 AMsLMoBXBvCs
zqTmn/9RY5IBRVflVn6ttOJaVmXi5GsViSUVFRQtwJ+lME+akpaYnErvJACk D4ajfQIUQuHM
tGWAGE37gLPb4qRErn+TFb2aLO/VeEVvsiYregtrhL79pnjS+JON3iAyXcYv GLczrct43U/k
0KBKzwwld/++9oP+1H4QrQWieYDpewY9N/Tx+9oNDLAtxNPpSaBPjn/Z6+u/ zGQAvT83nv5F
+GUKIRlAUwEUIfAHhrIcR688SrOQpRWVnoYz6J2s/JpwbFZ1pOmQ00+rg2jj AS06ogVI0nkA
cULA3DkBnmup+5CoyqSlzHoPXbM//Zovo299YTElEUr8i5a1lVuExR3D9C1P u9CTgh7s/8J7
M1sPWj3yfEasOCSk5KdN3Datyex29C3F4UmKPw4P6nkt7yk7OVDQACcjVE1b A2jIgK/oMUFe
USFoAN8CQ0MDUOIhS4RKSHlxagDhQb6VlfOGNVq7ZM2K+UuXzFlkTAbwNJAo A8jjFzWAuD6H
f6EO/2UjnXmgHQjCk+tuNs5RQ1eO8bHfx8WeDiRlYWLBKycCSYS/zGJMEVeI 8zVQVJueEtR5
AMZkSI/XyMErvirYlKkTyNOjA+bvscAh3VUePyBdFKS6VelCdKb0vw79KgHt JUC+XH8sCpJd
2Lq3CHP+MGZFNqWrRPDJrgpWViHY5WtXKypzKpNnXatMKb92mUIoGmeCvqJR VxKfmEKWkJRC
Tv/J76OZbd+5k4xCKJxF0JYBF+MSlXYpPkkWaG7PRU5/nSXt6yxuT+903Gf9 p1TNjC3rj9R7
iYyOO42dxyxASuLp0gcB0RKge9oMuqftwHvaDqIDs7Jg6dCEwHNThJU/JADI /j7+uefGP/fy
HAppTIH0VeBPCxULTB5/bHFlwZXKZ3p8Ssd0N4JJAopg7myAEtGu2s/mTR5P MwD0zowdU7i5
PLVT6zhgfWXcfLIuA9ftjC/fGVe+M/6KcCC8i1ZO32qkY0oilP7s5q9JtwjT lgDpR/qWk8zI
dZP/OvS11z5p3GrBh0PXjRm7eSK903Hj2e3+OboefcuZjrnRPn33Lq8GGKhq fjUAFcbXbMAX
zX5PaQoawLfA0NYAlHhoEqESUkbaYMV5AK8GYHZoWu/6Sz7/2pgG4G9H6qVV H/gmDTSxJ5fJ
ANnNb/aRv/CcMVmmAaZsSiKcBRajhSVTvYW0dfwQyIBeH75BDh7z6yZMmiwc XK28zNw8r79H
EZQMpTJAdavS4QOXxL87HDdohS8ZoFzbI300nK89AKpxpFlgNoB3NoBn+azg fo364GxhZTnd
l/Xemr1y7VrF1dzK9IWV6fOvVWZcvVZ+xRtO0QL8vQl9SkIyM3L645PSmB09 foyMQsRvtWXA
+k3b132zjd5lJgvk7HY5KZHr3zqqFb3XnNEuQA4GTn/g5afZc0INnMtzCjn6 dMu/9hzB7++w
qgcZHdBHCjRRA1BJaP1PdJGwAZ02n9A7iQG6J8EWBQXbyN0nv5+9MxNDzMqa 51pq3febytjZ
7fp+s+mHYrJvzhRvIqPjM8XfeN/J2vX186+xpiRCtT4ws+/MD2qJRjuGpR/p W34y5Os/Ney1
d2e0aTSnXaPZ7eidjikkSBqABzUVfl6Hv2iY39r5kgGT6v3WqwF8Cgy/GoCy DkEiVELKxW81
08/2Ib9fqgFodRD9TVggGoCzgaiXpse7zZr/NTM6FncFsAMK4ezJ/VaTIkhl gInJ+s3aFIFh
SiJ+iyqNEPocdRXP7pFDoAEI0YfthUdBXhFcO2FvADuosgrhoFN7lVV/sicF kRKgOYFbOz5D
73T87TdnxL87pANaHeR3NsDcCJABvDKAc3XmjAntyT6f2vng/uVFcVMr07+o zFyWnnxk9/Je
FB45vJVoAf7qqE8Rb9iT0y8+MHTpijVsUZD4rbYMiNqwdd/BY/u+8xo7oPeb DygOZy/PSUl8
UlCAEIydTn8nbOxE/rNo2Q95/A+Pf5l2AwvmFQBmrQUSi0G7gdkkgGj0kW0R DsFswHdNapPr
T+/M2LGJswE811LznpubdVu/+rt8wQ7lrf4ub/UhOqZ3OhZCmvfa7LfVTElE mQs9O8hv1hoR
aOXPe7M6vzShyX8/bkrvH3zRy/S1QGLuPKgDqQs7V+Pvw75ofZ+GcWZtkUQy 4haxtUBsHoA0
QPn5YYFoAKo+ZwNRL02Pd/t2x15m4mPfpAecPTkP83DJAJ6yIY6rCIRGAxDS Nq3r+TUleeX/
Boh+/MHdF8T/OmQH9O+H5nr5flODDOCVAfyrM0Pz81OdgfUVqFEkznQ4K2U1 Sspi+/qbMM4K
Wi0aOf10+5+8fzI6MP0xQb7qS3sDyONXmonPC+K8lpp236JhnO1lSiKceVkw GifqAEuuIQMC
TNnxp3M2kLmdOQ9VMUeeyIgDAsEgEDINYLjwGjJA+l+H9HeHNBtAIX4dd3Mj QAbwygDDVwBO
BAEQAAEQgAzANQACIGAuAetrAKrv+C835hWV+PLd2X8dkgCg99BrACoYFc/c RrFLasHaImyX
+qOcIAACIBBKApABoaSNvEDA2QSC/WxQE+ltPXR88dbDF1Myzb2LH3hq6TkF VDAqnomVtVFS
kAFB30Vqo6sBRQUBEAABEAABELA+ARsJABHmkTNnZ63ZQctvLGWfLNmy+/gp 67d4kEoIGQAZ
AAIgAAIgAAIgAAK2IWCLVUBBcluRrLkEIANs87M3t+GRGgiAAAiAAAiAgF0I iLf/2TIY+miX
kqOcViYAGQAZAAIgAAIgAAIBEjiXlXEu+4adz86QWOaF7MwLOTcsJifzumXF 5GTFMsutsou5
WV7LZnaJWd4Ni8vLjsvLES0+L0ew/CpLIAdRYon5uVVWkJtYkJd0syUX5FVZ YX6y11JuttTC
/NTCAsGKBEu72dKLCqusuDC9uDDjJivKLJZYSVHWTVacVVKcLVppcXZpcU6V leSUCpYrtbKS
PMFKRcsvK5VaweUymRVeLrtulwvLLxfdbMXll71Wzqzkyk1WeqW89MoV0cqu XpHa5atXLl+9
KrXyiqsSq7hScZNdpT9OqrJrV+lflG62a/SqJKv6lz2tte5w/a3sT9u0bJAB AXb9OB0EQAAE
QAAEQAAEQAAE7EcAMsB+bWZTxYligwAIgAAIgAAIgAAIWIeAcRlw9vu9K5fO hoGAYwjQJc35
y8TF75hGR0VAAARAwOIEMDZZvIEsXjzt68eIDBB9oDW7MmHGCIgXDf/Pm9ND tXU0hiVcVWC5
a7eIePGHq5DIFwRAAARAwFUEdI1NgT9H37IpwHEydtlrXz+6ZQBzg1btyISZ QgCXtfKyDqMS
oMJoKAF28Rv7HeIsEAABEAABEDBMwO/YpNh8LNuL7JyPcJwMXEW+rh99MoC5 Qcu3ZcBMJ8Aj
9w00vE1PCa+3rfprgQaw6bWEYoMACICAMwhojE0VFVddaHCcdF3YqtePDhnA 3KCl32bAgkfA
76IU/iZvNq/HK1ObtVjQi/8US8W0lBKABrDUtYHCgAAIgIA7CcicBDY23fS4 UumjS91xbKLj
5PiLSslKtwxYvCVdZj36j1EGIsQwAVPUbcPPu/SN6rXwwLheq3s2/LyzHa9s DRnQq0c7DfNV
WV1nqXa1dsSIMoMACIAACISGgK5RRiySrrNUx6ab/9ag7C1/L1l8B3w0xXEK zUWikYuuK8GU
64cS0SEDiPKiTWlKIxkgBu4e/OTe4c9PbXA/vZOpxkcgD4EA1e3DEbW7LOvY ZlHbrss60XHY
L25jBfClBOin4msPE32lIQN0nSXNPbxTE8bo4SwQAAEQAIFQEgjL2CT809nN RiogL6/Sl9G3
ylOcERKg4xTKS0U1r9BfP7plwMKNaUojGSAGbu//eHnJ1s+aPErvOwf9WzW+ CwNFhSetu2qg
NEIgF/Tb09q+N6PZ4KVd6k9vSsdhv7iNFcB0GaBrDgEywFir4SwQAAEQcCcB w25cIGNT1d8h
sz9F9ppfGaA8xYIhIhNp2VQDpRECcZzCftGG/vrRLQPmr09VGskA0aY1vI80 QM/n76R3mhNQ
jW8gMDqpzMBZ5p4SSBnEpqUDVipliGppA7mgG8zs+O/IdxvNstaKII/Hw/9L 05ABujpNlqPe
HxhkAH9LISYIgAAIgIDhRR2BzFRfLiuUGcmArKwKem/UqFGHDu0HDhw4aeKk Lxcu3LBhPQtX
nmIghEZzA2fxnyJ1k9hZyhDV1AJxnMJ7DYf++tEtA+auTVUaaQAxcG2nv4iz Aeu6PK0an/xp
0VQjKAMpPmdMnmjSAvCnzB9TWQapA8qaWfzN07F2mQO5oKlpxGva745hmYPO Pury2nl+P7oS
NHcpDmQATwMhDgiAAAiAQCgJBDg2XS4tkBk5+qmp5czS0q6kpl5JqzoWQgQZ oDiFhmbpSxlB
9RTVaII8kKQv+8i+Ug2UpabtOGmXMBDHKZRNb0pegVw/umXAnKgUpZGvKQau aP3gqvZP0VQA
vZOpxid/WgyXHqtGZoGc0TRSkH5lLDVjZ4n5qrYTBfKU2fAFLcoAnh3DqjLA lGtUmghkgOlI
kSAIgAAIgIB9CQTixpF7UFaaJzNy9OMTSlRnA+ITSilceQoLoQHa11fKcF+R eRLhiUM5+nKc
eApp2HGy3YUUyPWjWwbMWp2iNPI1VcN9BZI/LX4lHot36KVfsUAKkUZjETTi a6Qpnisrm7JI
0hkD2VmyrGUl1EAhayr6yM/N2AUtLtbi2TGsPRsg3idgvxDZXAH/t9L7DdKk lMcUgtkA2/VH
KDAIgAAIgIAuAoG4cTRKlpbkyIwc/QsXCs9fKKJ3hRXRt8pTWAgN0NKvxPFa DJSGiJGVZ8kS
ERNnp7OMxGNfhWHhSsdJO770W2OOk662s0LkQK4f3TJgxspkpZGvKQayBwSJ TwpSjU9+sxgu
PWaBLEQWrhroK74ysjI10ZWXlUSMqSykr2RZUqo1lQUqr2aes8Q4Bi5ocTaA Z8ewbE5Q6uhL
FYIYrnpfX/mtxiSDTEuI6kL8XUEGWKGLQRlAAARAAASCRyAQN45GyZLiLJmR o//997mqswHf
/5BH4cpTWAgNyqpfsXDZt6qBnNF8ZaTMXek4+Sq8argBxyl4DR2klAO5fnTL gGnLk5VGvqYY
SE8Hkj4pSDW+9Ea7GEEWSB+l57JvlSFiuPRbdixNUHmur4JJyyM7FpNVDVdN UBroa27L74nS
CHovaOneAL87hjVmA2QKQemvy+7xK2WDePWrfqXUAyy+C2WA561jt7x9kszz +o+CvRldZe/E
eRrEe5omeVqksvdbWmd4WqR7mqZ6PkgXDuidWZNMmD0J5HiawGxF4P00D8x2 BG7qIel6u7nD
rJ/pESxZeH8r1XuQ7D2gj96QtxI9ryUJRgfCR7JMz2sZnhdPG3byAnHjaJQs LsqUGTn6R49m
Hj0m2LGjXqMDdnwsk75VnsJCaCyWfiUd2dm30giyj+KJykRUz/VVBmm4L8eJ 51wxjl7HyXA7
huvEQK4f3TJgytIkpUmfFETzANInBanGJ39aFi4NYceyOLJA7fiqKUhzVBaA fatMVhquTNZv
RmKm2jtdVCn5CtR1QUtlgN8LVFsGyE735ej7vcEfXhmgsQ1fySfETwpi3v/P Ohbd1rui2uDK
P4wS7IGxlX+ZVFljYmWNzyqfmyJYzemCvTjTp7EIMNsR0GhTfGVNAra7xlBg 1f6TAlnXKr6z
zlZpQld8s1EXTUY99s+6XiUl4KlxwO9Qq4yg9/kwsrGpqDBdZuTo79+fqjob wMKVp7AQGqDF
rzSO2VfSd2mC0hOVafo6S1kkbcfJVxVUw3U5TgZaMLynBHL96JYBny5JUhr5 mmIgPR1I+qQg
1fjkPcvCpSHsWBZH/Kj8lj9EzFRZADFHWUbsFGkWfouqWmXxaqYDFkEZonqi aiD/BW3Wk4KU
vru5MkA5vRCM2QC9P9RQygASAD9pnk4a4Cdd82/re40GFVEJ3D+hkozEwOOT bxipAmbSQByD
AAiAAAhoE6C+lBmLxo6ZN89uu7AuVzQKlH5kN2hEY3012W09Ksg8TQo9zxuf FuAcpOQyoCC1
6GYjR3/HjoQdOxIVJgQKMkBxCgsRfPTrX/k6FqOJEaQxZYn4+ig7RbU8UjeJ RVCG+KqIMpzf
ceJsBftGk62z0PcvwpO+TlQa+ZpiIHtAkPikINX45Ekrw6VreNi3Ygg7Fk9h xxrxxcjSFKQ5
Ss8VU+NJX1kwWdlU60uBolaTRlAN9JWCLJzzgg78SUGiuy9ODrJLXzl1II3g 61vZib60hPjr
MndRkN4fbchkgOflw553EjwNzt/SPpPM0zGbGUmCW7sX39qjnISBp0/Frb0r ydgxvYuB7IAF
/qzXNZpMYDFhIAACQSVwS9drMNsRoEuCysx6VNZzMrulc/lP2l++tVPRre3z b2lV7GlZ4Gnq
fW9WQB+rQlrleJh9kCW807cNM6qWFVEI2XuJnle+99SM0Tvc6IovG5sK81Nk Ro7+pk2XfBl9
qzyFhdCgLP1KuiiIfcteysjSE5VnKc8VQ3yVhMJFH0kaRzVQIxHpV5yOk662 sGPkgGTAR18l
Ko18TdXwcAWSZx941qYkEngxNFLguaB1PSkojFezTDa4UQa8dczT9NINow0A bdKZJCAxwEyQ
BD5M+JZGL9Ha59NIBgMBEAABEPBPoG3WrWStM2nDFc3Kkgl7rpqkCNYwucrI v2dGe7TIaLPW
O3G31InxvEkWfWMrF2mAfx3x3LkiqOOpTAYU5CXJjBz9VavOka1ceW4lO1h1 jv5BjGzVynP0
rfIUl4TwOE5BbTsrJB6QDBi/MMGyJt7jN6WElJop6QQ1EWpL7Wta15OCwnh1 ulkGeJ7eLQwk
JAManK8ypge8SkAUA1VTBB8WeES7PmlAXwmCQXqbit2XgtmMgGSft7jhGwcg AAKmEyAvX2bM
41d4+dcd/evuvvjMBvYIB3L6yWhLQM2jVUYagLp0st8tCN6QKpMB+bkJSiOP f9myH0WjjywO
HZAMUD3FJYF+HafgNZxFUg5IBoybnwCzGgENJaDrSUEWuUClxXDDoqCqMePl w8LTgZgSUMgA
tlhIul6Iuf5CCE0asEcGsYcFsbGN3ceCgQAIgIDVCSQ/3jdjwOK8yKjCyDWi FUSuIcsXbHVe
5Cqy3MiVuZHLcyKXZUcuy6L3x7oneRonsV7up02TO8zITM6+Uqnz1eGzzJ82 8t7jfyfhp+/G
dZiSmpylP5HISz99/qgwCVDjgNCfP7bJ8/DKUMqAvJx4VWO3/5n5iuPacDdP CwQkA0bPjYdZ
kIBT1a0rZMCDi4WRQy4DvA8GvT4bIMoA0fWXeP+p3keIXjfZRLY4o40D6xMQ Vx3gwC4E2PoQ
WAAEHuuR3HdBTs2BmX/vkflk54xHO6Q/3C79gdZpD7ZJu78VWep9LVPva5Hy x6bJf3w/6a7G
Sb9rkHhH3Ut3N/ixx+S4x9rHMPgdpqXHJFf0mVPWamJpwzEldYaX1B5c/N/+ xa8OLH6hj2DP
9xLs712LyP7WueiRdkX3Nc99pmPc6QsFdK6wNesdQQOUx8dkftwnfUir1F4N UzrXSe5QO6n1
f5PavprU8gWyxA+eJ0to9HfBGvwtrs4jMbXuO9ngmdzo0x0iLwkagMmAP2/x UK/+f8OCd2dN
NhuQm30JZoCAUx0nvxdeQDJg5BfxMMsSYNe0kzSuK2TAnSuEkaPm0Z/Uks4G XP9nAO/N/lva
CvsEBKNjuvcvzgCIt/+lMwB2caFQThCwO4EA3F+IB0YgckXOC/0z3o7IqDsy /bXBaS/0TXuu
V9q/uqX+s2vqM11Sn+6c+vSHKU91TPlru+TH2iT9pUXC/e/H/6HBpWpvnr3r zf0Dpnn/TaVB
PM0B9P+ibPKay5+tuzx2SVm/L8q6zyzrNLW0w+TSNp+UtpxY2uLj0vfHlzQa W/LOqJI3hha/
2K/46S4FD3yQ+LcP9tPtf7bQnxLJmtQ/96vJeYs/y5kzNnNSv4zI7hkjO6WP 6JA+tE3aoJZp
g1qk9Xs/tXejlO7vJHd6I6nVi3ENnz752gPfvPW35IzyqtmAJ74LgwzIis2F GSXgPMcpuDJg
xJw4mPUJOOaydpUMEFaaVq0I8k4FtPAKgOvGtq+xHWw3VgGpLgSy/m1vlFCV gN19YheWHzIg
YAKRy7P/0SPtnZHp747KeGNw+sv90v7TK+257mn/6pr2j86pz3yY8vdOKTXa Jz/VNunx1omP
tEh84P2Eexpc+t2bZ//3Pzsjv6AHrFXJgPaTS2duuDxnU/mE5ZcHLyjrPaes 23RSAmXtPxWU
QOtJpc0/Kn0/suTd0SVvDy95ZUDxv7oXPNIy8XevbSHvX5ABbwkyIH1E+7xl M/NXzsmZOyFr
yuDMj3tnjO2WPrJT2vD2pATSh7ROG9A8re/7KT3eTe78dlLbV+Lf/9fpNx9Z /vffCYnQoiAy
kgF/+i7EswE5mRdggRNwjOMUXBkwdFYczEYExMsaB8YISJ9ZZCwFv2fRMyWE qWTaZEabz2g0
Il/K+8fAt7ZKrzc8Yf3X0cdWnDy45MSMkdtHDdk6uO+mFl22P9X62C8/iL9p M4DyuRZwtUEA
BEDA8gRolf9TH6a9MST9raHpr/QXNMCz3UgApD3dMe2p9qlPtEl5vFXyI82T /9I86cGmifc3
SbyvUcLd78ZVfyv6lzV3R36RyB7jQ154k3ElJAAmrbo84quyXrPLOk8ra/dJ aQty/ceVvjeq
pH5EyVtDi98cKiwToqmA53oXPdO14LHWiXfW/lbw4OvQ/wELMiCtbxMSALkL J2VPH5H5Ua+M
0Z3Th7VLG9gitc/7qT3eS+lWP7nTW8md3hSWCbV6MfGD5+IaPXP67cdW/vNO IZF/nhaMyQDa
G/B/w/x2/oFEkI5N2RnnYSYSCKRd7HKuVCro+9+AwTMuwUDAJQRk6y/9Kmxj EXzJgGGfxsTu
vZR4NGHfxh/nfHYoYvC3g/t+06d7VOeOK1q3WlTz/fW/bnr2xp5gyADLuzs3 njyIooIACFwn
ELks5/GO6S/1S/9v/3TSADQJ8PcPSQCkPdEm7dGWqQ81T/lz0+T7Giff2yj5 7veS/kDWIOmu
+vG/f/v8r17aG/lFkigD3h1VMmh+2dCFggbwu0+4Rpeiv32Y/0SbpHve3iaV Aak93s2aMihr
2lDSAKVH99BXqb3fT+3WILlTnaR2ryW1fDmx2XOJ7z9L4YXfrkpoWONSg799 X/eJVc/doyoD
jI0IPGeFZmziKQni2JFAQHsDXOL/oZogQARC09V6/rBNmEp+nmYDvNvdGibf 0iz1xV6Xzmw4
m3Y6Kf581s5tsV/OPz7IqwG6dFzeptWiJo3n1qs7/W9vL7u9yUXZ5mAajZbs K5F6nGxEhA8K
AiBgPoH6yR5YYAQil+U+2i7juV4Zz/fKeLZb+jOd0//WIf2JNumPtkx/uHna n5um3tc45e6G
KXe9l3Jng5Tfv5ty57vJd9ZP/H3dmF+9tC/yixTGn7o42hZM+wF6eucB/MqA Jz8s/uuHBU+0
TZbJANoWnBnZPfOjnjQPICbi1QCvJ7V8iTRAQqNnxPCEd5+89O5fv6+jJgNC u0XYjp4oyhxG
AibIgDCWHlmDQAgIMBUUOhlAU8kveZ9LTSuCGib/pGnaks9OXVhz8vtdMQf3 xW/aED17+sHe
TAO0XPR+4y9IA9R67ZP/1BxX/c2twj/dvJ9WZU1S2BD16apM0eNhIb+4c7T5 PhDuaIIACIBA
YAQil+Y+1Dr9X90zn+2W8Y8uGU93Sv9ru/THWqf/pXn6A83S/vR+2j2NUu96 L/X3DdJ+927q
7+qnVn+XxEBSdZIBLx+InJsqzga8NqiYdgKQBmj/qX8Z8Fin4ic+LKA9x3e/ vV06G5Dc/jXa
CSCsBRrePm1AC9HjT2r9SlLzmolN/nlDA9T9S8I7j8XVf+L7Oo+t+vfdQiLP RguLgh49KS4K
Ct5QFZqxKXjlR8rhJQAZEB3eBkDu1icQNhlAd7YaJt/aLO3ooqOnPt+/4esT a1b+MO/zwyOG
bKK1QF4NMLdePdIAk0gDPP3MiHv/PevW5llkwuogrxhgo1RZ2ZXhX1UpAcgA 6B8QAAHLEqDZ
AJIBf++S8UznzL9/mPG3jhlPtPVOBXyQ/uemafc1Sbu7Ueqd76X9rkFatXfT flM/9bfvplav
TzIg9v9eOhg5N00qA+hpoW0mlbX6uJQ6vfdGldYdWvL6wJKX+xY/16v4me5F T3YpfuTD4gc7
FtO3D3UsfrRTwaNtk/74llcGvFW1N4BkQNrgVmn0XCB679sstft7ot9POwFu aIA6Dya89eeE
Og/FvfPoD28/uvrff6ySAf+Ihgyw/viOEkIGuFEGHD6wxuKXvqVKGB4ZQM+u pqf+kzf/QfrZ
Zce2fpdCtvlgysb9yev3Jq3ZlbByR/zSby99vfnilxsvzlsXMyfq/CcLj12X AVmeJpmiDDj9
Q1pGVun/1KMlRhkSGZBx8lLVP+PQAX2VnldB3w5dUkTH9C47pm8pHAYCIAAC wSNAMuBPzTOe
6pRZ40PBnurglQGt0h9ukf7n5un3NU2/+/203zdO+13DtGrvpf+6Qdpv3iUl kPzbuhd/+fKh
yLnprGDUd/2ndxE9CIgeB9R8giADGowsqTu85PXBxS8PLH6ub/EzvYuf6FH8 l67FD3QuoW//
3Kn4oQ8LHmqTctdbO6pmA+ok0kFi8//Qg4CExwH1b067AlJ6NEjuUlf0/tlB Uv2/JNV7IPHt
PyXW+XN8vYfOvPnQmn/ddUMGsAkB+gexEP5vgMUHd5cXz1K+DWsLyADIgCAS 2D6mOpmBn72l
fiohlQH0WAmaTX4tSVjkSkMaefMfZJ1ZduzAJ9sj+tN+gLW0Fqh1y6+aNBL2 A9Sq9cnzNcfV
eGbEI08MuO/BXr/7c38mA7wTAoISEJ3+9JzyhNQSacjJOEEDbDyQM2/RcTo4 FVO0ZL8we37o
aOL/vJtw8Hy57Hj5mh9+/q+NQnlgoSEA0QUC7iMQuSz/ng8yH2+f9deOWU91 zPprh8zH22Y8
2jrj4ZYZf26RcV/zjLubZfz+/YzfNs74TaOMOxpm3CGIgdRf1437fy8djpxH c55VMuBf3Yvq
jyxpPFZ4NBB1Ze+OFP5E7PUhJS8PKnl+QPEzfYuf6F3ycI+SP3cTZMB9nUvu 71x4f5uU6m94
ZUD9TLbBIPH9f6V2q5/Wu3EaPRqoV+OU7u8KfyLW8XVRCSQ3fiK5wcPJ7/w5 uc69yXXuS6h7
/9k37l/zj+pCIjVjPM+d87AJAXpSULWPDYyDnKc4eFHQ1pkPc0KwSzRL+TaQ AUF0f0NzRe7Z
vVs0XTmG5kIkAXCtIteyMqBXj3YaJuUZNhng1QCeVjmHFh7lnQ1olX9rq3xP swLBmuSIMqDT
F0VllytOXSgUQ8rKr9ExbRK47Y2zdEALh27/76Gy8go6uO3V4+xb8ZjOpZg/ e/s8pQkDARAA
gSARiFxe8IdmWY+0y3qiY/ZfO2Y/2SHr8faZj7bNfLh15gOtM//UMuvu5ll3 fpD126ZZv34/
61eNM3/VKPNXDdJ/VS/hFy8di5xP9z6EDor6rqe7FL01rPi90SWNxnhlwKiS OhEltYeV/Hdo
yX8GlzwzsOTJ/iUP9ym9v5fw7d3dSu7uXHR365Tf1N55XQYI91AS3ns6+cO3 Unu+l9qrUVrP
hvTgoJSudWSzAakNH0599/6Uunen1Lk78e27z752d9TffyMk8nyC5/k4QQY8 cFaYDYAM8N54
1mWkAciFMKAEZkWdfbTHPqlRiK6sgxc5BN4Xv28DGaDvipRdFsz/NuVaMZYU nSXtj3QVRvtC
/HrtXm3jqTXTAMGTATExMYcPH963bx+90zFPkZRx6Nci69PpIwXKYoZUBtx3 WriNRLMBtNOO
yYCWBQunfX/ki/2zBq9vQ/MA3ucC1ao1qWoe4PEBf3qw5533dLmjevuf1dxw a+sSsltaFXua
CiY6/aQKPlkv3PcSQ5QV//kTi7b/IEwRnI4WxlHp+87vUunbKnXBNAYMBEBA RqBJoQcWGIHI
FUW/fz/nwTY5j7anJ4fmPNEx5/EOwvHDbbMfaJv1p9ZZd7fKurNl9m+bZ/+6 Wc7/vZ/zy8bZ
v2yY9f/qJd3+8onIBaQBhCag7uvxDkX0nwB1R5SQAKCP9UkGjCytPaLklREl NYeX/GNoyZOD
Sx8eUHp/X0EG3Nm99M7ORdVbpv7q9V2CB98w31M/jw7i6z1O/wmQ0qUuCYDU Hg1SutcXu83U
9jXZ8bXi/LT37k9754+pde5MevPOH/9bfV2NXwmJvJzmeSleUAJ/jRFkwO+m GhukeM5yzGzA
J59HibZxygMbpz5ALgS9k/nlsHHM78koWpOJR/tNO7B8T2piTvmO0zl0MGLu kRajvqVwv4mE
IIJfGfDDDz/s3Llz06ZN9E7HxorE6dtABhiXAeRzl5eX6fK8NdrSQGp0SkrS BbLEuB9jzp08
c+rQicN7pJMD2mXzKwPOFFb6MlIIfq9LQQOUxVaUxV4ru8jWBcnMbwraJSS/ nwTABe+Ljo8c
OZKcnOw3TdUIsl+LUgPQWaGWATRyCDIgg2kAspr9M3YtOLbp0x39OnytXAv0 +3s6/7p6h9sf
//QnzVJ/0v4yUwJMDIhOPx2TbTgqjHn0olv74mwAHYv24cLLLAK7/U/v7GP3 /htvq/MjSwQW
GgJMyMFAwFUEIleU/rZJ3p9a5T3cLu/RjnkT56Yq7c7WOb9tmfvrFrm//CD3 /72f+4uG2bfX
S/3pyycjv8wTb3881KawZp+i2kOK60YIMqDuyJK3IkpeH1Hy3xEl/xlR8s8R pU8OLX14UNmf
BghdYvUepdU+LLqjedovXt1ZJQMa5tNB3FsPJbaomdyxdkrXuind3rmhATr9 N7X9f9La3HhS
UPo7d6W9XT3p9WrRL96x9slfVMkAUgI0JwAZwDcJ0GvUgtVbj5KtofeP7qso OiFYodeKTlCI
9hBPGkDQDGN+/2jXHf2nH1TKgEfem8/jJHSOWMaMJ7KBONq+Dfn9JAC+977o eNeuXXFxcQZy
oVN4fBvIAIMygHntpssAXQlSGQrys7RNQwnwyICPZ6zQNl+XJnn8V/P3VniN HdC79ICOl/e4
Q/vK1i4hzQAcvP4iDRAdHZ2VlfXjjz/u379/+/bt9E7H/L8c8deiqgFCLQNo BlmQARnC+lSv
BhCcznaXO4yO27bgWNSUXQM6L37llY9qPDOc7Qf4vTAP0OHnT07+WaPoWzuV k5ESIKNTyESn
39PqMrPzycKif3Lxt58VXPydey+tO1FBkuBgTAWLcCr+KoXTDoGfP7mYAumY dhhT/P+hG5/X
E8EBCIAACASDQOSqsjsa5d/TMv+Btvl/aZ+vLgPa5v22df4dLfP/X/OCn7+f f1vD3J/VTbv1
5e8jv6rqo6jXurd54T+7F/23f/EbQ4S7IW8OL609vKTWiJKXI0qeH1HyD5IB w0ofGlx27wBh
Q9Svu5X+skPR/76f+rOXvbMBNKXQUHhGwqVa9yY0+WdSm/8md3xD1AApnWql dnw5td3zaW3+
kdHiSTE8/c1fp7z6yx+f/9+1j/9MSOT1XKEbZ0rg6d2YDdAekVv1mTHysw1k Ed53sq9H/YHs
aupXi0f9YfHIP2iczuYBmAxgSqB297VD5hxetv3SjNVn243b8Ub3Nf9osZjk AY9XQAJg6qL9
TAYMnb6N2aApm/tO3NgzMqrrqJU8iWjE0fZtaAbg2+sv0gAnT55MS0s7ceLE 5s2b16xZQ+90
zF8Av74NZIARGUC+dVlZMbN1qxfIbsDzzA8oT6F0mK7gVwKUSF5OmmiXy0rW b9m2cet2OhAD
A5cBGnMCpBA0rkXy8q9mLGNGx0rzex1r/1RoKoAUM3vt3r37/Pnz5PeTAKB3 9mLHfnMRI7C1
dL7ih3Q2gMmAt1KFFUFeDUD39YV7/J3Knx+cOXP692s/P7R06s43X/no0ccH 3Ptg79//beLt
tTb/rG3GbT0qbu1e+ZPO18hu6VxO5mlfdS+fnHimCpil55azkJ2n6DIWVgHl F1dEfHbq9jpn
KHDSFkEGjBy/kz4OXSN8O2XmwdvfOClNAccgAAJKAp5WV2EBEohcffmXjQrv bFF4X5uCB9oX
qsqA6u0Kq7Ut/FXrwv9tUXhb08KfNsy/tW7GLS//ELmoiOVOvdad7xf+tVPR c72K/jugalJU
9NeVB//XteznbYt+2ij1Jy96ZwM+uOx5X5AHF1+6M77+X+nZoKQEindvpJCU 9q+ktH85pV3N
1DbPprV6Ov2DxzLef5DCSzcvTK/9f8kv/fzHf/406i8/qZIBpARIBjyb4Xni O8gAjeH42w0f
lV2+orR5g6pfiR1N79oaIG5vi6vZW0S7HDuYlIBiNmDfo12+5XEJwjsbQC7N kuuvDRs2nD59
mvx+EgDHr7/oWK8S0PBtIAN0ywByrIuL8rVNWwmIMwmi36884NQSWRmJzMpK i5ZHbTx8/ATZ
6g2b6SMLN0UGZJVXqpq2DKBri1z/K8kzyfze+Ff9ZWrLgL179+7Zs4fmA2ha 4OzZs5mZmfQb
OXDgAIWTKmAvisDzm+eJE1IZQHsD6O7RW/RAnhwmA5gGuLXLFbKfdb1K7v7P el0ju613xW19
rwnWuyqEAkkJkN3S9RoZkwRswQ87Fu3nL+5gx7e9d/Hnf1tKEX7+740/bVvI An/WKpdC2Ed6
FzYHt8qVpYCPIAACMgIkvGEBEoiMKv/fRkW//aDoD62L7m1X+Kf2RWT3tS+6 t33hPe0K/9Cu
6Pftin/brviOtsW/bFX08+bFP3u/6NaGhbfUybzl5TORXxez3MkL/22jwofa FNXoUvTvXkU1
+xbX7FvyfL/if/cv/teA4qcHljwxsPShAaX39S+9q3fpr7uX/W+n0p+2KvpJ g5RbanqfFERa
4gNhKjX2P7+ldUHx79VIbPbvpBY1k1rWTGrxfHKLfye3+FdK86dTmz2R1vih 9PfuoxVBNBWQ
9ur/JtX86dm//2TNw7cIibxdWDUhQDKgxgHIAAMygITB7L7VtMdo8vgrUyZm HOw4v8sdZJWJ
Y+h9+OdHVGTAh9/wDPcUx9iKIM/NL195afs233zzzcaNG2k+gKYFjh07lpqa Sl7N1q1bKZxU
AXtRBM6KcEbDA0N5xQB51fl5mX7NrwzwKyQogl8lQBHSUy6SlRQXLFiyigRA UnoyGR0sWhFF
gfSVKTIg50qlqvmVAaISkMkAWjLEs/Ff+6dCq+WOHj2amJiYkZGRl5dXXFwc GxtLMoCmzKKi
olZ7XzQhwPkb8BstpDLgDydEGSCdChA0QI9yFQ3AlEBfQRgIMqB3ZZV59QAz uGsgAAIgYAsC
kWuv3vZewa+aFvyuRcFdrQr+2Kbg7jYFf2hdSHZnm4LqbQp+26bwjtaFpAF+ 0aLotmZF/9O4
8JYG+Z63afnN95FLSlkdyQv/v3ey726W+0jbvKc65f29S/4zXfNrdC2o0a3g rz0KHutZ8FDP
wvt6FN7Vraha5yJaDnRbq8KfNM3z1EnwPLelSgZ4pxSi//V/F165O/btRy6+ +9Slhn+Pa/xM
XMMacY1qxDf6a0LDx5IaPJT0zn3Jb9+VXLta8iu/THrhtrhnf3LqKc/yBzxV MoApAZIBWBSk
uT1g07pJqrMBFEhf+ZUBuQdbkOtP0ZgSeKzjOlUZQOF+x3oWQZQBemcGRCFg eFHQuXPn6CYm
+TO03TE7O7uwsJBudJIMWLZs2fz58+d6XzQhwFkRzmiQATpkQHZmsl/zKwP8 pkAReGRASsK5
4sK86fO+PnTseGzCJWYx8Rfp4+wvl9JXpsiA/CuVqsYjA5gSUMoAHiXgdzc9 /TxoV8C6deuW
Ll1K73SckpJC2mDbtm1ssRDpac7fgN9oYZQBTAmwRf9sKkAwmgcQpwKuywBt JSBKAhzYhYAt
nDYUEgTMJTBg2dXfNc/8RcPM/2uS+eum9GDQTLJqZM3oY+YdTTN/1Sz7/zXN /sX72bc1yfpp
o+yfNMi+pW6G543EO+rckAHJORWPtLhUrd6lPza8dH/ThIc+iH+4edyDH8Q/ 0CLh/hYJ97ZI
+GPL5Ootkqs1T/m/Zsk/b5LyP++l3FI3wVPr+/vqbhY8eJpSaHU1Obvi2BuP HH222tEX/nji
1ftPvP7QidcfPvHagydff+DUa/efrnXvmVp/PPPf6mdfqnam5v+d/ffPz/zj f0797ZY9j3lW
/Oc+IZH6RVUTAkwG4IGhvpVA1KopxaVXVI2+8jtAk+tfVpzNZAC9s30CNBtA 7zRLcP1JQfse
bce7rF/0/qX7BDj3BpAS0C6wX9+G7mzu2bFnzpR1E4avpHc6jo+PJ21ANzfZ cqGVK3kr4hcd
FgXxCgARpXAPPvWStvmVAckJ57TNrwag8lCchIs/FBXkTJmzkJTArIVLvv/x LBkJADqmkML8
bFNkwC2vDVYaCQNOGaC8CsU/E9D+PwG/PxXy+0kAHLr+omMKoVkCWibEfjC6 9gZo/1rCJQPo
oZzihABbGvSzzpflYkCyIkh1NsDcQRqpgQAIgEDwCDw+/Gr3+cW/ez/2tjpn f17v3C/qRv9v
3R9/IVg02c/rRt9W99zP6p7/nzoXbn3r3E/eOHdL7QueWtF31D3TfUbe433L WME6zis5eT7/
kUZ7f/niN79+dftvan3721pbfvPqlmq1tlV7bfsdtXb8stauX9Taffure2lP 8K0v7rrlxb2e
53fcV3fLiejsDp97Vxa1utphdnHO2ZMbX31k8eO/XPm3X6+o8ZtlT/922d9+ s/Lpaquerra6
xh1r//bLdX/9xYYnb1/72M/WPnLrhr/csvpBz8r/3Jfxw4kO0+iRo5ABvC7W smUz8gvLVY2+
4vRlWTTxeUHk/ZMqYHrA+8DQfY+1XsqZlOHZAJ70/fo25PeTAFi78gQzOqYQ miWgZUK0Iohm
A3TtDeApEmYDeK9URpN8a9GJX7F4jilbhCmduJhTzHg0ACvGxehjzAryMkkM 0HIgmgeY9sVX
9JGFmyIDSirUnxzKKQNUnxZaUXKGmYYS8PtToRkAtvhHfNFMWVJS0o4dO2gq wEQNQLRDLgNo
i7B3b4D3L8Donf4RTDBhWqCoSgyQHvBKAmZs54DM2IjIZhJgtiMQ4BprnA4C tiTQ7upjQ65E
rquIXHeVFghdtyuRa70WJbE15ZFkq8sjV5UP+PLyY30ve9peZVX+aYcr5M1r 7AlW/Ypu/3eY
XfjT1qXCE5A+uPzTFqUdZlT93yJ/UslZV0kD/LRewU17AzAboLkoaOGiL7Ly Lqua8BXf80ZF
DcAeFkQagB3ckAGtvuJMytjeAM7E/fo2NAMwacxGqX320dqLFy/Sgme63Wm6 BqBiQwbokwHi
nXi6Gc/psvu9OCgdXRpAFCSiCJk4Y97eg4fJJs2ct/Dz6SxcI1/OB4bSk4Lo wfGqxiMDhCeH
Zq29krWW3n2ZLyXg96dCv4dpN78oxC9qYxHCIwPqJHreS/Q0SfFa1d8J06bh W9vnV5kgCUQT
Hg0kMxoO2cNMgvFcP6QZfAJ47IztCOC3ZkMC9Fwg755gejqQ8LcD9LTQxiWe JqWC0UHDIuG+
PntnB6LVz/O8nUt/NFb1Le0EYJsBZIZFQf78+NnzF6ZmX1Y1+opz1CaPn54R JH1kUN6Pw2+S
AS3mcSYV3tkAuv3fucUXUqMQzpIbiwYZoFsGMCXAf+feb8MEnhqlsGPPAWY8 4sSvDKD/CCNH
n2QAPWRe1XhkAFV8cZc7lMaeIERGX/mC41cGLFq0iHbMSF8U4he1sQhhkAHC M0PjPDWPel45
ccurJ39SSzDPm9HMbqkTw8zzTpyH1MI7CVXWIP7GMQukb2EgAAKhIfAa/eMH zG4EqKd9K1G9
4V6J8bzkNfpnd2YvnK/6yMLJWAi9P3dOsGejhfd/RAsH9E49OWSAPxkw9fPF CRllqkZf8Y/a
NANASqDw/Fi2V5hs1Hzh/4Pf7LX21S6rH282hzOpQPYG+M3Cr28zduDyQT2/ lhqF+E02kAiQ
AUZkAFMCPA43T9uYkpRMCQQyG8DKzGQAPS5B1ThlgLL65Pr71QB0lt+fCu0E oMkAcUUQHVMI
D20DccImA145IcgArxIQxQCTBDJjEQQT40tOvPGtGA0HlidATQ+zF4GqXx/7 6cHsQyCIlxnJ
APoXYTwpSFMJTJyx/FJamarRV7qGbKYE6L3zpD3TV52VyoDhc7j+Pkyand4n BfEU1a9vQzsB
aCrgk/FrmdExhfCkbDgOZIBBGWCYePBOlG1U0MjI74XIZICxfxHWriCTARrz AOx0nhKS379g
wQISAPQePA1AhQmpDLjrxG3PnK/eOef2hrH8C1IREwRAAARAwCIEcgvLsvPL MnJLPLXzPc+f
99y/zFNtYvCGfqkbJ3PpgpepiSlHfrZKw/RmxOYBHm88WWqDZxzQm06Q4vP4 NuT3D+21hAQA
vQdbA1A1IQOcIwP4r1qeC5E/NV0x2Rohv6eEsYTKskEGWGRwRTFAAARAwLIE RO+fBAAzyAC/
Y73bIljKt2HwIQMgA6xIwFI/FcgAy467KBgIgAAIhJcAef85+VW3/0UBABng Nv+es76W8m0g
A6zo/nJeSQFGs+CFKKuRpUoIGRDeURa5gwAIgIAFCZAAYDMAbAmQ0jAbEKCv 4rzTLeXbQAa4
VwY476cV1BpBBlhwAEaRQAAEQCAsBJj371cDYFFQUMdlJG4WASwKghgAAT8E IAPCMtYiUxAA
ARCwFAHm+lORNBYCSecEMBtglquKdIJHwAQZQEnAQMDBBCADLDUSozAgAAIg EGICUgGgvRDI
IjLAwSMyqmYWAdMWBYX41yjNLnjySDvlMFYZWYeeAGRA6JkjRxAAARCwCAFV DeBrP4BFZEC4
vCPkazsCJswGhPGHGi7cYawysg49AciA0DNHjiAAAiAQdgIyASDOAzAN4FcJ YFFQuJw05MtP
wHIy4NSqwaL57QL462luTL8FQwQnEYAMcFJroi4gAAIg4JeATABQfPZEIKn5 VQKQAea6Xkgt
GASsJQNOrhws/XGeXDlI+7caDCI8afrtQRDBSQSsLAM83hfRFg9sSt5v+f1G sGnFUWwQAAFL
ERA3AVOpxGOl9+93KgBPCuLxphAn7AQsIQOmj5zgtfHl6fPISi7NyDr1ceLu 4efW9abAm22C
tL/whY88BtlXyhDluTxx2FmW6rNQmGATsIgMUPWDwy4DWAGYFBFfqoHazeTX y/cbIdiXAdIH
ARAIGYHC+AMmGvPmeV5+NYBMD6j+XQD+RTjsri0KwE/AEjJgwtBJY6d8V5m/ R9soDsWEDODp
yxDHRAJWlgEyz9vEWnMmBRnACQrRQAAE+AkUXVh3Ke7iqaNn6T0QIy1RtLrl j/u+pgT95i7T
ALI/BzAwIYBFQfzOKGKGi4AlZAD9OPv0nlaZuV7bhDg3vzAb4LdfQ4TACVhZ BihnA2R+ua/p
AjGaeCPfV1LaSkO5JEk1RJkdJSsNlN7sl4WzAmA2IPArGSmAgF0IkNd+LjqR UwBcTMqmmOw9
IS2P3pMy8pPS8+NScilQ0ACrWzIx4Kv6qpMAFDknv4xMuStA/Odg7aVBDpYB I+ZucZKFywW3
Qr5WkQHtOs2uTF6kbUIcHzJA6jcQVtlH1RBloPIsXyfapSdFOU0hYCMZ4Mun V2oDpXOvdL5l
nreqI+5XBvhKJMBwU1oWiYAACFiTALns0XEZUruQkCkaOfdk5OWLRt6/4Pqr GU0pMBmgoQRU
ZQDTAEoZwHYGu3xvAGkAa145BkpFdbGCOx6uMoRCBlAe1DDa741bzau8NIOs VYe5rduTzfO+
C9aK3jt43+nY+63YzIwa+RMiPnYcvBDsDTDwG7P7KTaSAb6ce40m8DVdoLwB ryEDpLf2ZTfv
A3T3NYpn9+sK5QcBEPBFgC0KIhkg9f7ZMdMATAaQ3y/VAyQGmEn1QFp2YdW6 IDUlIH0iEBVG
1AMs3O9sgGv3BkAGhMtrNz3fUMgAnp7urWZfV56fwKxBiy/Xxlf4snebfwUZ wIMUccwi4DwZ
oLoax5eXr7zfLwUrm3/QWGKkSx74nZowq3GRDgiAgAUJ0GyAKABID0jnAaRK QHT3fQkA0gCC
DLiwjm0PqJoWuL5PQNw67GtXgC8ZwDkh4OxFQRa8bIwVCbMBUmnRb1xMv8jY bn2P1WuwrepW
e7NOx/pGxPSbGNtvYow0KgkI5h4Z4y4766WGyyvPDCd7rfHSZWfLlp0pW3b2 snAgvItW9lqj
pdITMRtgCnwkok3AYTKA8/a8ttcuEhP9fjYhIA1X1Q++7u77veuPvQH4nYKA ewhIZYDU7ydJ
wFb8k0lv+bMZAOXSICYD2EbhKjGwuuXG9XMpxNd+AHFnMM9sgJv3BjjmaoQM sIQM+Ge9VZWn
+j/3zqp5+wvI5h4omEdGxwcK5nrfyZ6rv1J22UEGOOZ3aOWKuFkGMOdewwU3 RQZIs1DmpT0d
YeUrB2UDARAwRoDJADYPIO4AFtf/0IHM4/clAEgDpGQVJmUUsHVB0u3C2suB NBYFcU4F2Pp/
A6Qrq1VXoWBRUCCLc/72t78Fcvr/q7+STmfvPKadnVUWBT31ZtTf3lo7dWOW YN9kTt2YOfUb
OqZ3OhZC/vZWlLI3kW4JED0Jzr0BqluEZXsMsEXYWA/usLMsJQOkq2VEH13q rMu8do2lPr6S
kjUfvwyQnijNV7nCRzrVoPTyVeNjNsBhPytUBwQ0CDAZIG4DkB1Inf6jHY7K dgLQRzYJIBrF
F3cJy7YL+1oO5Ji9AbLuVOYg+XIiIQN43GvDcR577LFXXnmF/3Ty+KVOv14Z oJ2dVWQAdQeP
vr5ew1T7CyVEv9euKnees6Rx0H27ikCIZcDPnzlfvXPO7Q1jrQMZLrh12gIl AQE3ECAZoKoB
ZDuA07alkQygd/L4RTEg0wBZeSU0q6CUAV9+PpWWBhFM2bZgnkVBnBMCwt6A mjGeexZ4qk3k
9/n0xpS6cTKXjtPpN+BKYTZAbzNJ4z/44IPPPvtsw4YNORMJUAZoZ2chGWCg a1POBnAyFVcT
Mf9G4yzpJIMYzUBRcYp9CbhcBkAD2PfSRclBwKYEmAyQTgiQAGBrgaS7As5N PLfrpV30rpwB
EMWALxnAlglpaADDewNSMgvJktILrCkDmM8jnSXwtbBCQ0VABujyNmWRH3ro IZIBLVu27Nev
n990xHkA2QH/oiDt7BwiA/xyNDeCTTtWFNsYAcgA6QYAYwxxFgiAAAjwE5DO BrB/BKOdwcqH
gdJUAMkAti5INgnAPpIGIBO3BCjnBHLyS6W3/2XHnP8bwJx+ZpfoMabX3y0i A2QevygDZKug
pbdExWNf90khAwLxKh955JHnn39+0KBBy5YtW7nSzxL/wGWAdnaQAVwbLGTt zd+XIaYDCLhc
BjigBVEFEAABexGQLQpiTwFSrghiGoDe2bogqTEBQEaBTAawLcLb9myZt3Yd TSCM+3wGrQsi
gaFXBoj/HSbz/kkAyMwiMkDmwOiSAb6cXciAQGTAM888U69eva+//vro0aN+ 0wlcBmhnZ28Z
YK9+DaW1KQHIAJs2HIoNAiBgUwLiFmHm+mtPBcgmBEQBwA7ofj89KpS2ASSl 55PTf/y7U6QZ
lm7aQGZABtCuAKn3z278K42FQwbY4vIL/QNDGzRoQFMBO3fu5NEAbGOAaHSK 3i3C2tlBBtji
KkUhw0kAMiCc9JE3CICA+whs27KSef/kuIt/CCB9QBC58sz7Z8YmBDJyi9nt f1EJ5BSUso8k
BtgxJXjq6FmKTFnQHwjwzwaQACDnXqkBpAuBxBVB7MABMgCLgvx66gYiDB48 eP78+TwnyjYA
SAUA/94A7ewgA9zXv6LGOglABugEhuggAAIgEBABmg0QlwAptwSQMBB3BdDy HvFYuh9AcP0L
BNdfMMkGAPrIlMD2vQf9ygDx38GqvP+MAvoLAnEbgLgZQHVCwHazAar7hiED eJx1vXEmTuR9
cpQpMkA7O8iAgLoqnOwGApABbmhl1BEEQMA6BJiDrtwPwJ4Kyh4QxOYBmAxg SoCOycu/SQAU
qOwAZs8OIiWgIQOkAoA9+afq+T8SGSDdDay6LsgKswF6PVTO+NgbwAnK+tEg A6zT76EkFiUA
GWDRhkGxQAAEHEqAVuwwj1/l74Ely4HI72cmXRp0YxLAOxUg2wFMwCiErQ6i XJSLguQCIEsi
ABSzAdJVQNbcIhwkNxQyIEhgQ58sZIBDO1FUyzwCkAHmsURKIAACIOCfAN2n l/438I2/BlPT
ABpKQNQAzPtnRsckD0hgyGSAKABoGwDbCpySVVh1wP4KQM+iIIvsDQiSWwkZ ECSwoU8WMsB/
f4QYLicAGeDyCwDVBwEQCDEBVRkg3RYszgNQoK85AdV5AFEP0NIgUQaIzwBl AoC5/sI7TQV4
ZwNIAChlgHJRkPjgIOs8KShIbiVkQJDAhj5ZyIAQd27Izn4ELCgDLnzzzZ5m bx9u/sah118g
o4Pj3Vsk7ttnP7goMQiAAAgoCChlgGw/AHP9hb8L8JpSCbB9AuLtf9m0ABMD Bw5+cy46kdx9
5TzADQ1wfVGQ6myAxqIgx88GkBJwjIXe+bZOjpAB6IBBwA8Bq8kA8vjJ9Y9r 3Sx7VETpl3PI
6IA+UiB95bc5rfmXwL5KpV1aa9bFbxM4KQJrAmPNFxoO0rIpyxnGS0i7YIHA CWOlAim29Fyp
DCAvX3wWENsTLNMAvpQARaavVAWATAaIkwA3ZgPYcqDrswE3TQgo/jDYyk8K so67iZJYkwBk
gFm9FtJxLAFLyQCaBCB3P3/ihJLxESURgwoH9SUrGTGodEJE9qB+9BVF0G4J mYtgoscQSFK+
vMkQywADVTBwipN+KtoNFww4etO0uAzQ1lHGLhW9iIzlEtSzmAwQBYD0uUCq GsCXEmAnMjGg
LDDNBtDzglRWBIlbAiQyQHs2QLYcyDr/G2BN1xOlsg4ByICgdmVI3AkErCMD aC0QOfp5kWOL
+/cu7NGN4NI7M3ZMX1EEiqbB3ZougrHbyabXxfQEnfAD0KxD6GcD9LaRxWUA o6u3Urqkvu0u
QrbIh80ASP8jzNc8gLg0SLk6SJoIW0QkpSEuCuKcDeDfIuz4vQHW8WJRkgAJ QAbYrodEgUNN
wDoyIObD3pfqNS77eHxBhw5klTt3EgvhgF47d9JB6ccTKML3jVr6YqSxKIK+ Yi/ZubJw8aOv
pJQRVP0wZbJSZ0g7F7GcqtE4UxarKY3vq7JSX01WcdEP1gCoWjXVArCY0oZQ 0pN53tplVuYi
S1CWl4ytr0L6ukjExDWwaDQQZ4P6KrPSpVa99qSQpQXWe10ZYyVFKl4Yvn41 qsWTniWTELKL
M9R9pRn5iY/+lAoAjbVAUg0gmxMQHyQqUxRUTDY5QDLg+I9cewM4twhLVwc5 e29AgK4nTrcO
AcgAM/otpOFoAtaRAaeerZXZrVdhu44FzVoWfCBYFfidO/ObtaLAwrYdKAJF 0ysDeLwHmfcp
8z9krokvv1mZkTRZzixkjpTS+ZPlrlo7ZV4aHpXUqVV6wNquGI9Pr1EjVRkg 87Z5gPhyiFVb
SunNq2bht9i+NIyvBtJVSF/YNVx/XzpBdoXoKoZfVlIXXyqBlFe+rutW9Rrg +SFbv7cO5WwA
kwE8swF6twhb5F+EreNuoiTWJAAZYP0uESUMMwHryIDv7nyseGhEfp1GojE0 wse6guW905gi
fHfn4wZkgC8HQnafUsND0nDiVb/id4l8+aCqhdEoMHMclfn6cme1I3NKHVkh lWlqu608nrS0
/LL0tRWCrwoqXVtfyWo71qqF57yipGXw1WQyD1t52fu6QmRYWDqhYaXMWlXP yH6PPNet7JQw
95uBZb9tzxZz9wZQcdgMgPSdcglwb4C4JcBt/yJsTY8WpTJAADIgsL4KZ7uA gIVkQPVHi1p1
S3rqJWZsURC9xBA6yK/b9Lvqj+qVAaIzp3Q+VL0WpfMnujIajpfMuVS60SyC L4dM9pVf50k7
NeW32lkrczcmA1SbRnRDeZx+fj7SvHSlrJQB2j90X4lrZ6q8inQV0leLaNda o5WNtYJfVjKt
IsvF11WqLUtUf6fOkwHsX8MCfFKQ6Porr2GSAfyzAVUbA+gfxBRPClLdHxze 2YDsjHMwENAm
wDQDZIAL3FhUMTAC1pEBwqKghq1ynq9NxjSA9ICFUwQDi4Jkvr7qR04f3e9d VQ33nTMLXcUz
4E75ck9V3SxdZfbrwQfoB/tNX1u6KHWa39ppswqkOsb8Y20vX1t4aEhZjYpo yABtv1xaQR5Q
vtpOWSlfP+fAOsKQns1mA6Rm4H8DpAJAORVAIZTLke/jpU8KEv45mP4sLN37 Z2HX3X3lgfLv
AmKTctiEgHgQXhlQWpQAAwFtApABIe3UkJl9CYRYBtxe41z1zjm3N4xVEqMt wrEv1Snq1i/7
9fr0Lb0zEyTBzp10UNytH0WgaKq0tb1Y8Sal7FzpvUwNH0vDhVJ1U1STlXpU YgRf5fFVGI0C
s1NkKat+FMssxRK4DJAWQDULZQRlmWXF0K6OhmTSSFlVD/i6QlQbQvRxle2o LLCuQorF1gDI
4+5Li8FTJF/XlV5Wssr6AuWrlaXiQfrT0Lg47dj3koNOf/4lNfrTX13/Iixq APFRodIDdswW
BbH/DNb2+8X7/eTlM5N6/GKg9MCdMuDgx/8SDV64xQlABtixb0SZw0DAOjIg ZcXG43/+d273
PgUdu+bVayQzCqSvjj/6LEXjlwFhAIosQSAkBJS32EOSbRgyUdUAYSiHeVnO /Gom+f1SI0ng
SwmwB4mKjxhiTwWV3f6XfmTFZLMBx787Jaz28d74j0vJFd/Jib943eNX9fKV gRcSsmSBntr5
npoxnnsWeKpNNLBom/MU6aIO8bikMD70tqLjPdJMZR9DXx7kqE0AMsC8Hgsp OZqAdWQAYb7U
fyQ5+nl9BhQPHpHTpLlo9JEC6SuK4Ks1nOcrOPq6Q+UCJQAZECjB8J3vSwb4 UgLaGkBaD/an
wqIMOHrgBHn/ZOT0+zXy8mMSssjdJ4u+lCG1M7HpLFCcKwjvA0ND7wHvHvF4 WdossrzoyWkn
x8ftGhgd1ZMCpRb6UoUyR+pwQpld4HlBBoSvh0POtiJgKRnAlMCeu5+8+FYD ejZoceR4MjqI
ffO9Pfc9/mPb7rZCi8KCAAiAgAoBDRlA0wKyfQKiBqBwqZcvpiv6/bIFQjQb sH3vwYtJ2eTc
y4wcegoR32VO/9nYdDFEeixqALZPIIyzAcUFcSG2rSMeKcv7TsMogmqRyHuW hss+8tfC8Ik8
peIphrkF4MkxwDiQAeh8QYCLgNVkgKAE5nxN/xF24PF/fvubP3131+O0J5g+ UiBXfRAJBEAA
BKxNYNznM2R7A6QfyZtn/wjG/lZMPJZ5+aIkYPf+WY2lB0s3bSAZwATAuehE 8YBcfPqofKdA
cvql7/SRmTgPYJEtwgE6iAZO3zrokbK0KA1bOrA2j8Nt2Jk2fKKByvJUxKxk g5cOZIC1e0GU
zjIELCgDLMMGBQEBEAAB8wkwGcD8eKmJOUm3CzMZIG4JEB190emXbQwQIzAZ QG69AfvhQirT
A1INYJ1/ES7KvxRiW0cyIG6BaPSR2aaR/zjwecuji3uKRh+lZSP3XflRuiNf /FYMZCG6Pkrj
izkqU2DRpO/auagmG2LyhrODDDC/50KKjiQAGeDIZkWlQAAELEuAZIBSAIgh rNjiJACbFpDe
6WfHqg8JlQYalgFMA7AZA+lCINm/iYVxUVBh3qUQ24pufy6LnsxMOI6bxaw8 bd3VvOMVxTGi
/bh1hrRs5GcrP0oD2bEsGs8pLI7ydI0QMRcDpdIoYYjbgjM7yADLdoAomLUI QAZYqz1QGhAA
AacTEGWA6h190ZVnAoBNBShXBImQVB8TRN+SDKATeaYC6F/GKBp7Z0aTALQn mHYVK/9DgImB
8G4RLsy7GGL7quM9ZdHjyVZ0e4gdMCtPjqoo+DHq4/tFkxXM6z3fKC37KA1U hrD40hkD5Sna
3/rNQlkAWY6+yhli7IFkBxng9H4U9TOJAGSASSCRDAiAAAhwERg6fapyRZDy 7r44IaDq8Sv3
BshSYDKA/jqA3Hp6lx6wj6KxCKIGYJMAzNdX/oWwuDQojLMBBbkXQ2xfNPt9 2cmBggY4GXHD
vo8sj1tekfvDyFnrts58mIwOZAUjf1oawj5KA5UhfiPI0uSMr8xU9URlaVmI MtMQN4He7CAD
uDojRAIByABcAyAAAiAQSgJMBijX+bAyiF+xRwbxPCBIda6AZACZUgAoVYF0 EoB2EosCQLzx
L90VwI7DOxtQkBsbYptU77deDTBQauUxc66m76zIPUXef8XVcjKvDLipbF7v +UYI+ygNVIb4
jaB9Ok8WAWYaYvjGsoMMCGWfhrxsTAAywMaNh6KDAAjYkIDqbAATAFJ5QPfy aUKAbQ6WygPV
5wJJI7D489auY7MB2iauBZIJAOlUgEwGMHkQxtmA/JzY0NsXre+T2fYZnS8e Xk+uf3xmKZMB
dEAfZWWTLuBhX1GIGEc8FqOJcVRDZN9K0/GVgq9MVQvGAjWSDT15YzlCBtiw a0SRw0EAMiAc
1JEnCICAewn0mzJZNhUg/Sh9FpB0c7CvJ4QqVxOx1EgG0GwA/ZGwhgwQtwJL ZwCYANBYDhT2
2YC87BjrGPn9py7l5BSWkdEBfQxv2ciJD28BLJI7ZIB7e1jUXBcByABduBAZ BEAABAIkQDJA
9N1VnXjlzIDqc4FkWkK5N4DJAJmJy4TYs4BoHzB5/CmZhWSiABCXA8meDiSd FgjjbEBe9gXr
GJMBonllQBiKJ97aD0vuFswUMiDAbgqnu4UAZIBbWhr1BAEQsAYBUQaw4sjc d1/bBjSUgOre
ADYbcPTACdHEmQGlAJBpAIvPBuRmXbCUkesvmqUK5ubCQAZYo7dDKSxPADLA 8k2EAoIACDiK
QNuRY2Xev1QPSL/y+5xQVSHBUiAZQCZqAHESgGYAaBtAXEoumwG4aR4go2o5 kHRdkK8JgTDO
BmRnnIOBgDYByABHdZqoTPAIQAYEjy1SBgEQAAGRALnmWXklSen5Shkg2xzM /HhfGkD2la9l
ReJsAJsEYNsAmAAgzz4jt4QEAHu/IQauywDx7wKUOwSs8L8BuKhAwC8ByAC/ iBABBAQCkAG4
DkAABEAg2ARy8kuZBrgUd5H+PoyUQAiMPTCUCYALCZkXk7LJ40/LLpJ5/1UT AqQBbDIbEOzG
QvoOIAAZ4IBGRBVCQQAyIBSUkQcIgICLCbD796QEyNKyaSduPt2SJz1ARq65 7EAayL4SHuXp
PSAjh152QN+yQPFd/B8A9hVlwRb5kPfPrGoeIKswhUxcF6SQAcq/EBa3CIf3 fwNcfCmh6rwE
IAN4SSGeywlABrj8AkD1QQAErEZAuRxI+mQhJiq8uqLqQPyYnV+mNNH7l2oA QQxIZIAwD+Bj
NkD532EsJIx7A6zWXiiPBQlABliwUVAkKxKADLBiq6BMIAACriGg+qQgqr1s w4D0o6gEpAek
ClQ1AAXKlEDVoiDN2QDl9gCpHsBsgGsuT7tWFDLAri2HcoeYQIhlwG01oqt3 zrm9YWyIq4ns
QAAEQMAiBDT+K4CVULkJWNXvlwUqZQC5+740AM9sgMaioBuzAfcu8FSbyFyu YNjKpbPFZMVj
i7QjimFlApABVm4dlM1CBCADLNQYKAoIgICjCYirfaS1lAZKlwMpZwNEhcA/ G6CUATceEORv
b4DGf4fdmA2ADHD0FWvfykEG2LftUPKQEoAMCCluZAYCIOB6ArKl/+IMAPPy xXfpx0BmA1SU
QJb3UaHXZQDtChD+PuzmvQF+nxlatTcAMsD117M1AUAGWLNdUCrLEYAMsFyT oEAgAAIuIKCc
BFD9owDlCiJfkkB1b4DP2QCmAQJ/UhBkgAuuVTtWETLAjq2GMoeBAGRAGKAj SxAAARDwEtB2
/VUfEKRLBig3B7N5AOXegKoJAe+jRcX/CPP1mCDsDcD1a3ECkAEWbyAUzyoE IAOs0hIoBwiA
gDsIyHYI+NobwESC8jlCumQAe3aQ/Jmh4lQA32yA6n8JY1GQO65Wu9YSMsCu LYdyh5hAuGQA
PfMBBgIgAAIgYFMCkAEhHqyRnS4CkAG6cCGyewmESwa4lzhqDgIgAAL2JwAZ YP82dHINIAOc
3Lqom4kEwiUDgvGEaaQJAiAAAiAQGgKQASYOxEjKdAKQAaYjRYLOJAAZEJoh E7mAAAiAgJMI
QAY40ydwSq0gA5zSkqhHkAlABjhpYEZdQAAEQCA0BCADgjw4I/mACEAGBIQP J7uHAGRAaIZM
5AICIAACTiIAGeAeP8GONYUMsGOrocxhIAAZ4KSBGXUBARAAgdAQgAwIw4CN LLkJQAZwo0JE
dxOADAjNkIlcQAAEQMBJBCAD3O07WL32kAFWbyGUzyIEIAOcNDCjLiAAAiAQ GgKQARYZxFEM
VQKQAbgwQICLAGRAaIZM5AICIAACTiIAGcA1xCJSmAhABoQJPLK1GwHIACcN zKgLCIAACISG
AGSA3UZ7d5UXMsBd7Y3aGiYAGRCaIRO5gAAIgICTCEAGGB52cWIICEAGhAAy snACAcgAJw3M
qAsIgAAIhIYAZIATPADn1gEywLlti5qZSgAyIDRDJnIBARAAAScRgAwwdShG YiYTgAwwGSiS
cyoByAAnDcyoCwiAAAiEhgBkgFO9AmfUCzLAGe2IWgSdAGRAaIZM5AICIAAC TiIAGRD04RkZ
BEAAMiAAeDjVTQQgA5w0MKMuIAACIBAaApABbvIU7FdXyAD7tRlKHBYCkAGh GTKRCwiAAAg4
iQBkQFiGbGTKSQAygBMUormdAGSAkwZm1AUEQAAEQkMAMsDt3oO16w8ZYO32 QeksQwAywMCQ
6fF4DJylPMWsdEwpjDQRKpivsinDLVsL07EgQRAAAZEAZIBlhnEURIUAZAAu CxDgImBNGcDc
UPGlOvSG0fvkzFo1mjSQM53geR5+S8gjXcJei+DxQcogAAK+CEAGcA2xiBQm ApABYQKPbO1G
wLIywO/oG0bvkzNrv042Zzp+URiO4LeEkAGG2eJEEHA2AcgAu4327iovZIC7 2hu1NUzALjJA
OTkgmytQfqReQHUFi3TFC4vAE015FjtRGi4LUZ3NkAaqznj4mgPhiSyrji9E Yn39llBZR+W5
vlJTFsbZXhFqBwKuIgAZYHjYxYkhIAAZEALIyMIJBCwrA1TdevbDVvruUj9e /FbVub+xsPW6
ANCOJhMJ0qxVM5X6AcqUVVPjqZTGibLTpU65srIaIbKvpMkqS6hdd9UmUKXh KrcJlQUBJxGA
DHCCB+DcOkAGOLdtUTNTCVhWBsjGS79+p+xmOacL7iuaLDvVxKWBSmWiOsnA IwNU7/r7OlGj
1trFUy2wL9efUwbwNIGT3CDUBQTcTAAywNShGImZTAAywGSgSM6pBBwjAzRk g8Z9bo1b1Myp
VfXmtcNVs9N1r13Vt/ArhDhnDHxNPugqod+ZEF8qyM1uE+oOAk4iABngVK/A GfWCDHBGO6IW
QSfgPBmg6z639koVZVKWWhTEIwx8Of26KHHOBsiEhIwtFgU5yQVEXUAAMiDo wzMyCIAAZEAA
8HCqmwhYVgZoL3cRHVPRuRTjK1e2SAdsnmiyOOzGtjg5IL3PzRNT6f6qzjP4 qojUt9bITtWt
16isLDsZIh5isgbSoKTdInCnQAAE7EgAMsBNnoL96goZYL82Q4nDQsCaMsCO g2Kwy4y76cEm
jPRBAAT4CUAGhGXIRqacBCADOEEhmtsJQAbwD3vhjQkZEF7+yB0EQOCmecLa +Z6aMZ57F3iq
TQwemZVLZ4uJi8duH7ZRfw4CkAEckBAFBCorIQOCN4AhZRAAARBwKgHMBsCD sDIByAArtw7K
ZiECkAFOHaRRLxAAARAIHgHIAAsN5CiKggBkAC4KEOAiABkQvGESKYMACICA UwlABnANsYgU
JgKQAWECj2ztRiDEMuD2GtHVO+fc3jDWqUMj6gUCIAACbiAgyIAXYjz3LMTe ALsN+64oL2SA
K5oZlQycAGSAGwZs1BEEQAAEzCUAGRD4+IsUgkcAMiB4bJGyowhYUwaMmLsF BgIgAAIgEEYC
2rIBMsBRroDjKgMZ4LgmRYWCQ8CyMiA41UWqIAACIAAC/gmQ/IAM8I8JMaxK ADLAqi2DclmM
AGSAxRoExQEBEACB8BOADAh/G6AEARCADAgAHk51EwHIADe1NuoKAiAAAlwE IAO4MCGSVQlA
Bli1ZVAuixGADLBYg6A4IAACIBB+ApAB4W8DlCAAApABAcDDqW4iYF8Z4PF4 ZA2lDFG2JE8c
N7U/6goCIAACKgQgA3BZ2JoAZICtmw+FDx0ByIDQsUZOIAACIGATApABNmko FFOdAGQArgwQ
4CIAGcCFCZFAAARAwE0EIAPc1NoOrCtkgAMbFVUKBgEbyQBazyO+CIXso2qI MlB5lq8Tg0Eb
aYIACICALQhABtiimVBIXwQgA3BtgAAXAbvIAOmafnYcvBAucIgEAiAAAs4l ABng3LZ1Rc0g
A1zRzKhk4AQgA5RyInCqSAEEQAAEbE0AMsDWzYfCQwbgGgABLgKQAZABXBcK IoEACLiJAGSA
m1rbgXWFDHBgo6JKwSAAGQAZEIzrCmmCAAjYmgBkgK2bD4WHDMA1AAJcBOwi A6gyyi3CYg19
7RbgOUsZhwscIoEACICAcwlABji3bV1RM8gAVzQzKhk4ARvJAJnTr7fuPH8c xhNHb76IDwIg
AAK2IwAZYLsmQ4GlBCADcD2AABcBG8kA6dNCuermjcRzFk8c/hwREwRAAATs TgAywO4t6PLy
Qwa4/AJA9XkJ2EgG8FYJ8UAABEAABAIjABkQGD+cHWYCkAFhbgBkbxcCkAF2 aSmUEwRAAARC
RgAyIGSokVEwCEAGBIMq0nQggRDLgNtqRFfvnHN7w1j2E/VlNALBQAAEQAAE wkhAu5f21M73
1Iz13LvQU22idsxAvl25dLZ4unjswJEYVTKbAGSA2USRnkMJWFMGBDJs4FwQ AAEQAIFgE4AM
cKhT4JBqQQY4pCFRjWATgAwI9mCJ9EEABEDAeQQgA4I9OiP9QAhABgRCD+e6 iABkgPOGZ9QI
BEAABIJNADLARY6CDasKGWDDRkORw0EAMiDYgyXSBwEQAAHnEYAMCMeIjTx5 CUAG8JJCPJcT
gAxw3vCMGoEACIBAsAlABrjcebB49SEDLN5AKJ5VCFhTBoTx4RjIGgRAAARA gOuBoXhSkFVG
cpRDTgAyANcECHARsKwM4Co9IoEACIAACASBAGRAEKAiydARgAwIHWvkZGsC VpYBwZ7URvog
AAIgAAJKAjSoQQbYemRH4SEDcA2AABcByAA4ASAAAiAAAlICkAFcwyciWZgA ZICFGwdFsxIB
yAAM/yAAAiAAApABVhqZUZZACUAGBEoQ57uEAGQAhn8QAAEQAAHIAJcM+i6p JmSASxoa1QyU
gO1kwMqls8lUf+EYyEEABEAABAIngEVBgY6sOD/cBCADwt0CyN8mBOwrA5gY ECWBgZFvz+7d
ZAZOVJ5iYlKmlAeJgAAIgIBhApABNhnAUUyfBCADcHGAABcBm8oAqQYwpgTI cS8vLzNRBpiY
muHBGyeCAAiAQOAEIAO4hk9EsjAByAALNw6KZiUCNpUB4jyAsTkBpgFMdNxN TzDwgRwpgAAI
gIAxApABVhqlURYjBCADjFDDOS4kYEcZIFsLpFcJkMteVlbMbN3qBWw9j9T8 DpzKUygdpitM
lBZ+i4EIIAACIBAMApABLnQGHFZlyACHNSiqEywC9pIBvjx+fiVAHnxxUb62 aa8UEm/8i36/
8sCstUbBGOCRJgiAAAhoE4AMCNaIi3RDRQAyIFSkkY/NCdhIBsh8ffbIINlT g7T3CZB3np+X
6df8ygC/QoIiQAnA0wIBELApAcgAmw/sKH4lZAAuAhDgImAvGSD18mUygK0U 8isDsjOT/Zpf
GeA3BYoAGWBTBwjFBgEQgAzgGj4RycIEIAMs3DgompUIhFgG3F4junrnnNsb xmoPtCPmbiFI
yjh+ZYDf8Zu88/TUS9rmVwYkJ5zTNmgAvw2BCCAAApYlwC0DYjz3LPBUmxi8 isj6fJaRlYZQ
lMWiBCADLNowKJbVCNhXBmiLBI1hiXx00YlfsXiOKVuEKZ24mFPMoAGC5xMg ZRAAgRAQgAyw
2kiN8uglABmglxjiu5SAfWWA6qIgzgGSPPWEiz+QmeWyUzrQAJzwEQ0EQMDi BCADXOoQOKja
kAEOakxUJZgE3CkDqINgjru5MsCs1CzuIqB4IAACziYAGRDMURdph4IAZEAo KCMPBxBwrQxg
SsAsx93EpJztXqB2IAAC1icAGeCAwd3lVYAMcPkFgOrzEnCzDLD+YIwSggAI gEDoCUAG8I6g
iGdVApABVm0ZlMtiBGwnA8QtAaoHoR8vkSMIgAAIOIwAZIDFBmoURzcByADd yHCCOwnYSwY4
bKxFdUAABEDAggQgA9zpDzip1pABTmpN1CWIBCADLDgGo0ggAAIgEEYCkAFB HHSRdEgIQAaE
BDMysT8ByIAwjrXIGgRAAAQsSAAywP5ju9trABng9isA9eckYGUZwFmFYEQL 18AcjLogTRAA
ARDQS4D+yl27G/TUzvfUxL8I6+WK+CEiABkQItDIxu4EIANUWxAywO4XNsoP AiAQCAHIgEDo
4dywE4AMCHsToAD2IOAeGXBq1SDR/LYNZIBfRIgAAiDgYAKQAQ5uXDdUDTLA Da2MOppAwCUy
4OTKQVJYJ1cO1GYHGWDCtYUkQAAEbEsAMsC2TYeCCwQgA3AdgAAXAWfLgOkj J3htfHn6PLKS
SzOyTn2cuHvYuXW9KPBmmyDl5UsGeDwe2VfKEOW5PHHYWVxthkggAAIgEGQC kAFBBozkg0sA
MiC4fJG6Ywg4WwZMGDJp7JTvKvP3aBvFoZiQAY65qlEREACBAAlABgQIEKeH lwBkQHj5I3fb
EHC2DKBm6N1rWmXmem0T4tz8wmyAba5gFBQEQCAIBCADggAVSYaOAGRA6Fgj J1sTcLwMaNtx
dmXyIm0T4viQAbSeR3xRtyL7qBqiDFSe5etEW19LKDwIgIBjCEAGOKYp3VkR yAB3tjtqrZuA
rWXAyqWC+6793qjlvMpLM8hatp/bqh3ZPO+7YC3pvb33nY6934r4WA8iXdPP joMXgr0Buq9d
nAACIBA0ApABQUOLhENBADIgFJSRhwMI2FoG8PB/s+nXlecnMHu3+Zdr4yt8 Wf0PvoIM4EGK
OCAAAo4nABng+CZ2dgUhA5zdvqidaQRCLgPOVe+cc3vDWO0nctIIZFYNX3xv eeWZYWS1Gi1d
drZs2ZmyZWcvCwfCu2hltRouleaI2QCz+CMdEAABOxLglQH3LvBUmxi8JyzT ZK+YuHhsR54o
c4gJQAaEGDiysysBx8uAf9RdVXmq37/rrZq3v4Bs7oGCeWR0fKBgrved7N/v rJS1H2SAXS9o
lBsEQMAMApABZlBEGmEjABkQNvTI2F4EHC8D/vpG1FNvrp26MUuwbzKnbsyc +g0d0zsdCyFP
vRmlbDLx/pNyi7D0K9XdAqpbhGVnYYuwvX4mKC0IuI0AZIDbWtxh9YUMcFiD ojrBIuB4GUDg
HnltvYapkg3kL8Ck5/L8cZg0TrCaGemCAAiAgB4CkAF6aCGu5QhABliuSVAg axJwgwwwQF45
G6Br8av0GaMaf0HAokkjGCgqTgEBEAAB0wlABpiOFAmGkgBkQChpIy8bE4AM 4JwN0CUDDEe2
8ZWEooMACDiIAGSAgxrTjVWBDHBjq6POBghABkAGGLhscAoIgICzCUAGOLt9 HV87yADHNzEq
aA4ByABzOCIVEAABEHAQAcgABzWmG6sCGeDGVkedDRCADDAADaeAAAiAgLMJ QAY4u30dXzvI
AMc3MSpoDgHIAHM4IhUQAAEQcBAByAAHNaYbqwIZ4MZWR50NEIAMMAANp4AA CICAswlABji7
fR1fO8gAxzcxKmgOAcgAczgiFRAAARBwEAHIAAc1phurAhngxlZHnQ0QgAww AA2ngAAIgICz
CUAGOLt9HV87yADHNzEqaA4ByABzOCIVEAABEHAQAcgABzWmG6sCGeDGVked DRCADDAADaeA
AAiAgLMJQAY4u30dXzvIAMc3MSpoDgHIAHM4IhUQAAEQcBAByAAHNaYbqwIZ 4MZWR50NEIAM
MAANp4AACICAswlABji7fR1fO8gAxzcxKmgOAcgAczgiFRAAARBwEAHIAAc1 phurAhngxlZH
nQ0QgAwwAA2ngAAIgICzCUAGOLt9HV87yADHNzEqaA4ByABzOCIVEAABEHAQ AcgABzWmG6sC
GeDGVkedDRAIsQy47elz1Tvn3N4wlv1EfRmNQAbqglNAAARAAARMIcAnA2I9 9y7wVJuo3Z8H
8u3KpbPF08VjUyqIRJxNADLA2e2L2plGADLANJRICARAAAScQgAywCkt6dJ6 QAa4tOFRbb0E
IAP0EkN8EAABEHA8AcgAxzexsysIGeDs9kXtTCMAGWAaSiQEAiAAAk4hABng lJZ0aT0gA1za
8Ki2XgKQAXqJIT4IgAAIOJ4AZIDjm9jZFYQMcHb7onamEYAMMA0lEgIBEAAB pxCADHBKS7q0
HpABLm14VFsvAcgAvcQQHwRAAAQcTwAywPFN7OwKQgY4u31RO9MIQAaYhhIJ gQAIgIBTCEAG
OKUlXVoPyACXNjyqrZcAZIBeYogPAiAAAo4nABng+CZ2dgUhA5zdvqidaQQg A0xDiYRAAARA
wCkEIAOc0pIurQdkgEsbHtXWSwAyQC8xxAcBEAABxxOADHB8Ezu7gpABzm5f 1M40ApABpqFE
QiAAAiDgFAJWlgHMw4OBgF8CK5fOlsbpNy6mX2Rst77H6jXYxsI9zTod6xsR 029ibL+JMdKo
dCZzj5zyi0Y9QECdAGQArgwQAAEQAAEZAcgAvy4mIlifAGQAejYQ8EMAMgCX CAiAAAiAgC1k
AHl1MBDQRQCzAejcQECLAGQArg8QAAEQAAHrywDr33tGCS1OAIuC0NGBgJwA ZACuCRAAARAA
AcgAi7uwKF7gBCAD0NGBAGQArgEQAAEQAAE/BCy4NyBwLxApuJwAZAA6PhCA DMA1AAIgAAIg
YHsZcPb7vbrWiCOyGwjQVaEhdSAD0PGBAGQArgEQAAEQAAEbywBRADijFUXv XNuFdfmNfM7q
M5i+SEIGOOMng1qYSQB7A8ykibRAAARAwBEELLsoiGmAa9cqnGfQA5y+vt9o vpQAZIAjOidU
wlQCIZYBt9eIrt455/aGsdo/YxqBTK0lEgMBEAABENBBgE8GxHjuXeCpNtGv W2Y4guy570wD
VFRcdbZp39I2DNNVJ6oqAcgAHV0AorqEAGSASxoa1QQBEAABfgIWlAFVGuBq ecV1++2HK2Qm
fuWAA43FLa5y6A1XVgkQMoC/B0BMtxCADHBLS6OeIAACIMBNwLIy4OqVMtFI A8SXVIpGH6Xf
OuDYwdMCvXq00zBfrr+usyADuH/uiOhiApABLm58VB0EQAAE1AlYUAaQV3el vFRq5Pcfz6ok
O5FdeTy7kj7St7vTKmUmO8t2Hx05LUAOva/fHn2lIQN0nSVbVIbZAPR3ICAn ABmAawIEQAAE
QEBGwJoyoPxysdTI719/qWLdpYr1cRXr4iroI317R8OPZCY7K7wfxfvZ0mKo BkojO
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114654 is a reply to message #114638] |
Thu, 13 March 2008 05:23 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
I understand your confusion, Teneo uses a 'trick' to minimize the number of things a user has to do.
In the wizard, just enter a filename ending on library and it should talk to the db. What happens
under the hood is the following:
- the extension library maps to the HibernateResourceFactory (see Resource Factory Setting), so
because the filename ends on library eclipse/emf creates a HibernateResourceFactory
- this means that the editor starts with a HibernateResource (created by the factory).
- the HibernateResource checks the uri and tries to find the datastore name, in this case it will
use the extension 'library' to find the datastore. Which should work as a datastore with this name
has been initialized when the plugin starts (see the tutorial).
To start an editor directly with a hibernate resource, you can do something like this:
final IWorkbenchPage page = window.getActivePage();
page.openEditor(new URIEditorInput("hibernate://?dsname=library",
MyGreatEditor.ID);
Whereby MyGreatEditor is the id under which the generated editor has been registered (see the
org.eclipse.ui.editors extension in the generated editor project).
The mentioned resourceutility basically works like this.
gr. Martin
Gigaplex wrote:
> Okay, I must be missing something here. I put the RCP library editor
> example on hold to try and do it in just a regular plugin. I got it all
> set up but I am not seeing where I can open the database at when I run
> it. I do just like the tutorial says and go to create a new model and it
> asks for a file name. I put the URI in for hibernate
> (hibernate://?dsname=library) and it won't let me continue. It says the
> file has to end in ".library" but I don't want to store it in a file, I
> want to store it in the hibernate database using teneo. Screenshot
> attached.
>
> Martin Taal wrote:
>> Hi Gigaplex,
>> Yes that's the one. You can also use the resourceutility. Note that
>> both methods are just a quick way of starting the editor. Teneo offers
>> a specific emf resource implementation which works on the database.
>> This database resource can be used in all the locations were also an
>> EMF resource. So I guess also for rcp cases.
>>
>> gr. Martin
>>
>> Gigaplex wrote:
>>> Martin, I saw that link before but it redirects to a page that has a
>>> long list of tutorials, articles, etc. and it is not clear which one
>>> I need to go to.
>>>
>>> In the documentation for eclipse 3.3, there is a tutorial for the
>>> library example and near the end it has a part about running the
>>> tutorial. Is this the tutorial that is meant to be referenced on the
>>> elver.org site?
>>>
>>> If that is the tutorial, it instructs you to run the editor as a
>>> non-RCP plugin. I am trying to do RCP, so maybe that is my problem.
>>> Does teneo only work in the non-RCP editor? Or maybe there are
>>> further modifications needed to make it run in the RCP editor?
>>>
>>> I will try running it in a non-RCP editor and see if that works but
>>> ultimately, I need to get this working in RCP.
>>>
>>>
>>> Martin Taal wrote:
>>>> Hi Gigaplex,
>>>> The finally block of everything gives me the feel that an error
>>>> occured. Have you checked the error view?
>>>>
>>>> I don't think the way you try to open the database works, eclipse
>>>> does not know which editor to open with just this information. The
>>>> tutorial specifies a different way of doing that, at least it points
>>>> to another tutorial, see here:
>>>> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html.
>>>>
>>>> You can also use the resource utility to open a db resource without
>>>> explicitly adding a menu option somewhere:
>>>> http://www.elver.org/hibernate/resource_utility.html
>>>>
>>>> gr. Martin
>>>>
>>>> Gigaplex wrote:
>>>>> I went through the library editor tutorial on elver.org and when I
>>>>> go to File > Open URI... and type in:
>>>>> hibernate://?dsname=library
>>>>> or
>>>>> ehb://?dsname=library
>>>>> or if I put a query at the end,
>>>>> it just shows a blank, gray editor. I have a library already in the
>>>>> database, so I figured it would be showing that. There are no
>>>>> errors showing up. It looks like it just gives up part of the way
>>>>> through. Something happens when it tries to create the query in
>>>>> hibernate and then it just goes straight to the finally blocks of
>>>>> everything.
>>>>>
>>>>> Any ideas?
>>>>
>>>>
>>
>>
>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114739 is a reply to message #114654] |
Fri, 14 March 2008 05:52 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
Well now it makes sense :)
So I tried making a new library file called My.library just like in the
tutorial and when I am at the end of the wizard and I click on the
finish button, nothing happens. The wizard doesn't even close - it just
sits there. I am forced to hit cancel :(
The openEditor method you mentioned below is exactly the type of thing I
need. This is what I was trying to do before but remember I wasn't
getting any error message? Well I figured out why. I tracked down the
error the hard way and it is a NoClassDefinitionFound for
antlr/ANTLRException! No wonder :o
So I went into the lib directory of the hibernate I downloaded and there
was an antlr jar in there. I made a plugin project out of it using the
wizard in eclipse, then added it to the model project's dependencies and
set it to reexport. Then when I try to run it, it gives me an error
right off the bat saying it couldn't resolve the antlr bundle and then
closes immediately. I tried importing the jar into all three projects
and adding it to the classpath that way but then it just gives me the
phantom error like before.
Martin Taal wrote:
> I understand your confusion, Teneo uses a 'trick' to minimize the
> number of things a user has to do. In the wizard, just enter a
> filename ending on library and it should talk to the db. What happens
> under the hood is the following:
> - the extension library maps to the HibernateResourceFactory (see
> Resource Factory Setting), so because the filename ends on library
> eclipse/emf creates a HibernateResourceFactory
> - this means that the editor starts with a HibernateResource (created
> by the factory).
> - the HibernateResource checks the uri and tries to find the datastore
> name, in this case it will use the extension 'library' to find the
> datastore. Which should work as a datastore with this name has been
> initialized when the plugin starts (see the tutorial).
>
> To start an editor directly with a hibernate resource, you can do
> something like this:
> final IWorkbenchPage page = window.getActivePage();
> page.openEditor(new
> URIEditorInput("hibernate://?dsname=library",
> MyGreatEditor.ID);
>
> Whereby MyGreatEditor is the id under which the generated editor has
> been registered (see the org.eclipse.ui.editors extension in the
> generated editor project).
>
> The mentioned resourceutility basically works like this.
>
> gr. Martin
>
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114751 is a reply to message #114739] |
Fri, 14 March 2008 06:24 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
To be sure did you use the antlr-2.7.6.jar (because there is also the ant-antlr-1.6.5.jar)?
Did you open the error log view (a different one than the problem view). Most of the time with me it
shows the stack trace.
What you can do to be on the save side is create one plugin project containing all jars in the
hibernate download. Then set the eclipse buddy policy of this plugin to dependent (see the install
section on elver.org) and add this plugin to the dependencies of the model project with re-export set.
The easiest way to test that the dependencies are right is to actually see if you can refer to the
class (like ANTLRException) from a source file.
gr. Martin
Gigaplex wrote:
> Well now it makes sense :)
>
> So I tried making a new library file called My.library just like in the
> tutorial and when I am at the end of the wizard and I click on the
> finish button, nothing happens. The wizard doesn't even close - it just
> sits there. I am forced to hit cancel :(
>
> The openEditor method you mentioned below is exactly the type of thing I
> need. This is what I was trying to do before but remember I wasn't
> getting any error message? Well I figured out why. I tracked down the
> error the hard way and it is a NoClassDefinitionFound for
> antlr/ANTLRException! No wonder :o
>
> So I went into the lib directory of the hibernate I downloaded and there
> was an antlr jar in there. I made a plugin project out of it using the
> wizard in eclipse, then added it to the model project's dependencies and
> set it to reexport. Then when I try to run it, it gives me an error
> right off the bat saying it couldn't resolve the antlr bundle and then
> closes immediately. I tried importing the jar into all three projects
> and adding it to the classpath that way but then it just gives me the
> phantom error like before.
>
>
> Martin Taal wrote:
>> I understand your confusion, Teneo uses a 'trick' to minimize the
>> number of things a user has to do. In the wizard, just enter a
>> filename ending on library and it should talk to the db. What happens
>> under the hood is the following:
>> - the extension library maps to the HibernateResourceFactory (see
>> Resource Factory Setting), so because the filename ends on library
>> eclipse/emf creates a HibernateResourceFactory
>> - this means that the editor starts with a HibernateResource (created
>> by the factory).
>> - the HibernateResource checks the uri and tries to find the datastore
>> name, in this case it will use the extension 'library' to find the
>> datastore. Which should work as a datastore with this name has been
>> initialized when the plugin starts (see the tutorial).
>>
>> To start an editor directly with a hibernate resource, you can do
>> something like this:
>> final IWorkbenchPage page = window.getActivePage();
>> page.openEditor(new
>> URIEditorInput("hibernate://?dsname=library",
>> MyGreatEditor.ID);
>>
>> Whereby MyGreatEditor is the id under which the generated editor has
>> been registered (see the org.eclipse.ui.editors extension in the
>> generated editor project).
>>
>> The mentioned resourceutility basically works like this.
>>
>> gr. Martin
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114764 is a reply to message #114751] |
Fri, 14 March 2008 12:06 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) ![Go to next message Go to next message](theme/Solstice/images/down.png) |
Eclipse User![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=) |
|
|
|
Originally posted by: merks.ca.ibm.com
Martin,
It's also very useful to launch eclipse with -clean -debug because it
will spit out information about what plugins are resolved and more
importantly about which ones are not resolved and why. Looking at the
error log view or at the <workspace>/.metadata/.log file to see this
diagnostic information is a good way to ensure that all the right things
have been installed and are properly available.
Martin Taal wrote:
> To be sure did you use the antlr-2.7.6.jar (because there is also the
> ant-antlr-1.6.5.jar)?
> Did you open the error log view (a different one than the problem
> view). Most of the time with me it shows the stack trace.
> What you can do to be on the save side is create one plugin project
> containing all jars in the hibernate download. Then set the eclipse
> buddy policy of this plugin to dependent (see the install section on
> elver.org) and add this plugin to the dependencies of the model
> project with re-export set.
>
> The easiest way to test that the dependencies are right is to actually
> see if you can refer to the class (like ANTLRException) from a source
> file.
>
> gr. Martin
>
> Gigaplex wrote:
>> Well now it makes sense :)
>>
>> So I tried making a new library file called My.library just like in
>> the tutorial and when I am at the end of the wizard and I click on
>> the finish button, nothing happens. The wizard doesn't even close -
>> it just sits there. I am forced to hit cancel :(
>>
>> The openEditor method you mentioned below is exactly the type of
>> thing I need. This is what I was trying to do before but remember I
>> wasn't getting any error message? Well I figured out why. I tracked
>> down the error the hard way and it is a NoClassDefinitionFound for
>> antlr/ANTLRException! No wonder :o
>>
>> So I went into the lib directory of the hibernate I downloaded and
>> there was an antlr jar in there. I made a plugin project out of it
>> using the wizard in eclipse, then added it to the model project's
>> dependencies and set it to reexport. Then when I try to run it, it
>> gives me an error right off the bat saying it couldn't resolve the
>> antlr bundle and then closes immediately. I tried importing the jar
>> into all three projects and adding it to the classpath that way but
>> then it just gives me the phantom error like before.
>>
>>
>> Martin Taal wrote:
>>> I understand your confusion, Teneo uses a 'trick' to minimize the
>>> number of things a user has to do. In the wizard, just enter a
>>> filename ending on library and it should talk to the db. What
>>> happens under the hood is the following:
>>> - the extension library maps to the HibernateResourceFactory (see
>>> Resource Factory Setting), so because the filename ends on library
>>> eclipse/emf creates a HibernateResourceFactory
>>> - this means that the editor starts with a HibernateResource
>>> (created by the factory).
>>> - the HibernateResource checks the uri and tries to find the
>>> datastore name, in this case it will use the extension 'library' to
>>> find the datastore. Which should work as a datastore with this name
>>> has been initialized when the plugin starts (see the tutorial).
>>>
>>> To start an editor directly with a hibernate resource, you can do
>>> something like this:
>>> final IWorkbenchPage page = window.getActivePage();
>>> page.openEditor(new
>>> URIEditorInput("hibernate://?dsname=library",
>>> MyGreatEditor.ID);
>>>
>>> Whereby MyGreatEditor is the id under which the generated editor has
>>> been registered (see the org.eclipse.ui.editors extension in the
>>> generated editor project).
>>>
>>> The mentioned resourceutility basically works like this.
>>>
>>> gr. Martin
>>>
>
>
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #114888 is a reply to message #114751] |
Mon, 17 March 2008 05:22 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
I had tried to make a hibernate plugin the way the tutorial says but I
had gone wrong somewhere. After an osgi tutorial, I understood how to
create it correctly. I think it may not have worked before because I
only added the hibernate jar during the plugin creation wizard and then
imported the rest later only to add them to the classpath (which didn't
set them to export).
Anyway, I got the hibernate plugin properly created and then the RCP
application started up correctly. It is looking like there will be some
extra modifications needed to get the Open URI menu command to work
right in the RCP version but I am on the right track now.
Thanks for the help!
Martin Taal wrote:
> To be sure did you use the antlr-2.7.6.jar (because there is also the
> ant-antlr-1.6.5.jar)?
> Did you open the error log view (a different one than the problem
> view). Most of the time with me it shows the stack trace.
> What you can do to be on the save side is create one plugin project
> containing all jars in the hibernate download. Then set the eclipse
> buddy policy of this plugin to dependent (see the install section on
> elver.org) and add this plugin to the dependencies of the model
> project with re-export set.
>
> The easiest way to test that the dependencies are right is to actually
> see if you can refer to the class (like ANTLRException) from a source
> file.
>
> gr. Martin
>
> Gigaplex wrote:
>> Well now it makes sense :)
>>
>> So I tried making a new library file called My.library just like in
>> the tutorial and when I am at the end of the wizard and I click on
>> the finish button, nothing happens. The wizard doesn't even close -
>> it just sits there. I am forced to hit cancel :(
>>
>> The openEditor method you mentioned below is exactly the type of
>> thing I need. This is what I was trying to do before but remember I
>> wasn't getting any error message? Well I figured out why. I tracked
>> down the error the hard way and it is a NoClassDefinitionFound for
>> antlr/ANTLRException! No wonder :o
>>
>> So I went into the lib directory of the hibernate I downloaded and
>> there was an antlr jar in there. I made a plugin project out of it
>> using the wizard in eclipse, then added it to the model project's
>> dependencies and set it to reexport. Then when I try to run it, it
>> gives me an error right off the bat saying it couldn't resolve the
>> antlr bundle and then closes immediately. I tried importing the jar
>> into all three projects and adding it to the classpath that way but
>> then it just gives me the phantom error like before.
>>
>>
>> Martin Taal wrote:
>>> I understand your confusion, Teneo uses a 'trick' to minimize the
>>> number of things a user has to do. In the wizard, just enter a
>>> filename ending on library and it should talk to the db. What
>>> happens under the hood is the following:
>>> - the extension library maps to the HibernateResourceFactory (see
>>> Resource Factory Setting), so because the filename ends on library
>>> eclipse/emf creates a HibernateResourceFactory
>>> - this means that the editor starts with a HibernateResource
>>> (created by the factory).
>>> - the HibernateResource checks the uri and tries to find the
>>> datastore name, in this case it will use the extension 'library' to
>>> find the datastore. Which should work as a datastore with this name
>>> has been initialized when the plugin starts (see the tutorial).
>>>
>>> To start an editor directly with a hibernate resource, you can do
>>> something like this:
>>> final IWorkbenchPage page = window.getActivePage();
>>> page.openEditor(new
>>> URIEditorInput("hibernate://?dsname=library",
>>> MyGreatEditor.ID);
>>>
>>> Whereby MyGreatEditor is the id under which the generated editor has
>>> been registered (see the org.eclipse.ui.editors extension in the
>>> generated editor project).
>>>
>>> The mentioned resourceutility basically works like this.
>>>
>>> gr. Martin
>>>
>
>
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615659 is a reply to message #114335] |
Mon, 10 March 2008 08:12 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Gigaplex,
The finally block of everything gives me the feel that an error occured. Have you checked the error
view?
I don't think the way you try to open the database works, eclipse does not know which editor to open
with just this information. The tutorial specifies a different way of doing that, at least it points
to another tutorial, see here: http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html
You can also use the resource utility to open a db resource without explicitly adding a menu option
somewhere:
http://www.elver.org/hibernate/resource_utility.html
gr. Martin
Gigaplex wrote:
> I went through the library editor tutorial on elver.org and when I go to
> File > Open URI... and type in:
> hibernate://?dsname=library
> or
> ehb://?dsname=library
> or if I put a query at the end,
> it just shows a blank, gray editor. I have a library already in the
> database, so I figured it would be showing that. There are no errors
> showing up. It looks like it just gives up part of the way through.
> Something happens when it tries to create the query in hibernate and
> then it just goes straight to the finally blocks of everything.
>
> Any ideas?
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615668 is a reply to message #114360] |
Mon, 10 March 2008 16:02 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
Martin, I saw that link before but it redirects to a page that has a
long list of tutorials, articles, etc. and it is not clear which one I
need to go to.
In the documentation for eclipse 3.3, there is a tutorial for the
library example and near the end it has a part about running the
tutorial. Is this the tutorial that is meant to be referenced on the
elver.org site?
If that is the tutorial, it instructs you to run the editor as a non-RCP
plugin. I am trying to do RCP, so maybe that is my problem. Does teneo
only work in the non-RCP editor? Or maybe there are further
modifications needed to make it run in the RCP editor?
I will try running it in a non-RCP editor and see if that works but
ultimately, I need to get this working in RCP.
Martin Taal wrote:
> Hi Gigaplex,
> The finally block of everything gives me the feel that an error occured.
> Have you checked the error view?
>
> I don't think the way you try to open the database works, eclipse does
> not know which editor to open with just this information. The tutorial
> specifies a different way of doing that, at least it points to another
> tutorial, see here:
> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html
>
> You can also use the resource utility to open a db resource without
> explicitly adding a menu option somewhere:
> http://www.elver.org/hibernate/resource_utility.html
>
> gr. Martin
>
> Gigaplex wrote:
>> I went through the library editor tutorial on elver.org and when I go
>> to File > Open URI... and type in:
>> hibernate://?dsname=library
>> or
>> ehb://?dsname=library
>> or if I put a query at the end,
>> it just shows a blank, gray editor. I have a library already in the
>> database, so I figured it would be showing that. There are no errors
>> showing up. It looks like it just gives up part of the way through.
>> Something happens when it tries to create the query in hibernate and
>> then it just goes straight to the finally blocks of everything.
>>
>> Any ideas?
>
>
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615669 is a reply to message #114418] |
Mon, 10 March 2008 16:08 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
Hi Gigaplex,
Yes that's the one. You can also use the resourceutility. Note that both methods are just a quick
way of starting the editor. Teneo offers a specific emf resource implementation which works on the
database. This database resource can be used in all the locations were also an EMF resource. So I
guess also for rcp cases.
gr. Martin
Gigaplex wrote:
> Martin, I saw that link before but it redirects to a page that has a
> long list of tutorials, articles, etc. and it is not clear which one I
> need to go to.
>
> In the documentation for eclipse 3.3, there is a tutorial for the
> library example and near the end it has a part about running the
> tutorial. Is this the tutorial that is meant to be referenced on the
> elver.org site?
>
> If that is the tutorial, it instructs you to run the editor as a non-RCP
> plugin. I am trying to do RCP, so maybe that is my problem. Does teneo
> only work in the non-RCP editor? Or maybe there are further
> modifications needed to make it run in the RCP editor?
>
> I will try running it in a non-RCP editor and see if that works but
> ultimately, I need to get this working in RCP.
>
>
> Martin Taal wrote:
>> Hi Gigaplex,
>> The finally block of everything gives me the feel that an error
>> occured. Have you checked the error view?
>>
>> I don't think the way you try to open the database works, eclipse does
>> not know which editor to open with just this information. The tutorial
>> specifies a different way of doing that, at least it points to another
>> tutorial, see here:
>> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html
>>
>> You can also use the resource utility to open a db resource without
>> explicitly adding a menu option somewhere:
>> http://www.elver.org/hibernate/resource_utility.html
>>
>> gr. Martin
>>
>> Gigaplex wrote:
>>> I went through the library editor tutorial on elver.org and when I go
>>> to File > Open URI... and type in:
>>> hibernate://?dsname=library
>>> or
>>> ehb://?dsname=library
>>> or if I put a query at the end,
>>> it just shows a blank, gray editor. I have a library already in the
>>> database, so I figured it would be showing that. There are no errors
>>> showing up. It looks like it just gives up part of the way through.
>>> Something happens when it tries to create the query in hibernate and
>>> then it just goes straight to the finally blocks of everything.
>>>
>>> Any ideas?
>>
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615862 is a reply to message #114428] |
Thu, 13 March 2008 04:22 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
This is a multi-part message in MIME format.
--------------060809090307090505080901
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Okay, I must be missing something here. I put the RCP library editor
example on hold to try and do it in just a regular plugin. I got it all
set up but I am not seeing where I can open the database at when I run
it. I do just like the tutorial says and go to create a new model and it
asks for a file name. I put the URI in for hibernate
(hibernate://?dsname=library) and it won't let me continue. It says the
file has to end in ".library" but I don't want to store it in a file, I
want to store it in the hibernate database using teneo. Screenshot attached.
Martin Taal wrote:
> Hi Gigaplex,
> Yes that's the one. You can also use the resourceutility. Note that
> both methods are just a quick way of starting the editor. Teneo offers
> a specific emf resource implementation which works on the database.
> This database resource can be used in all the locations were also an
> EMF resource. So I guess also for rcp cases.
>
> gr. Martin
>
> Gigaplex wrote:
>> Martin, I saw that link before but it redirects to a page that has a
>> long list of tutorials, articles, etc. and it is not clear which one
>> I need to go to.
>>
>> In the documentation for eclipse 3.3, there is a tutorial for the
>> library example and near the end it has a part about running the
>> tutorial. Is this the tutorial that is meant to be referenced on the
>> elver.org site?
>>
>> If that is the tutorial, it instructs you to run the editor as a
>> non-RCP plugin. I am trying to do RCP, so maybe that is my problem.
>> Does teneo only work in the non-RCP editor? Or maybe there are
>> further modifications needed to make it run in the RCP editor?
>>
>> I will try running it in a non-RCP editor and see if that works but
>> ultimately, I need to get this working in RCP.
>>
>>
>> Martin Taal wrote:
>>> Hi Gigaplex,
>>> The finally block of everything gives me the feel that an error
>>> occured. Have you checked the error view?
>>>
>>> I don't think the way you try to open the database works, eclipse
>>> does not know which editor to open with just this information. The
>>> tutorial specifies a different way of doing that, at least it points
>>> to another tutorial, see here:
>>> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html
>>>
>>> You can also use the resource utility to open a db resource without
>>> explicitly adding a menu option somewhere:
>>> http://www.elver.org/hibernate/resource_utility.html
>>>
>>> gr. Martin
>>>
>>> Gigaplex wrote:
>>>> I went through the library editor tutorial on elver.org and when I
>>>> go to File > Open URI... and type in:
>>>> hibernate://?dsname=library
>>>> or
>>>> ehb://?dsname=library
>>>> or if I put a query at the end,
>>>> it just shows a blank, gray editor. I have a library already in the
>>>> database, so I figured it would be showing that. There are no
>>>> errors showing up. It looks like it just gives up part of the way
>>>> through. Something happens when it tries to create the query in
>>>> hibernate and then it just goes straight to the finally blocks of
>>>> everything.
>>>>
>>>> Any ideas?
>>>
>>>
>
>
--------------060809090307090505080901
Content-Type: image/png;
name="library editor.PNG"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="library editor.PNG"
iVBORw0KGgoAAAANSUhEUgAABAIAAAMDCAIAAAC3uSDJAAAAAXNSR0IArs4c 6QAAAARnQU1B
AACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgA ABdwnLpRPAAA
7xVJREFUeF7snQe4FNX5/9f4SzT5/fOLCQnRxBJjiTUGYxKjwRJFsQAiUgTp VXrv5VIvKChF
qtIU6eXSpEiv0ouCF7gXbu+9c+Fy/+/suQzDzOzsmdnZ3Snffd5nn9mzZ075 nNlz3u+cc2Zv
qays9Ehedbue/vVvbvvJ7T+VBv7sf35CH3/yP7d436XfqB9fu+o/DmKAAAiA AAiAAAiAAAiA
AAjoInDt6k2uu/TcyqsV0o9XPILrfq3sSm7O5fnDb1PJhWQAe9VucbjFsOgB 0y4MWRAfsTg5
0msfrUwlm7oy9bO1aWSz1gk2Z0O6trFoMBAAARAAARAAARAAARAAAbMIMIec meif04HSyIFn
zvzIL1MGTbtITj65+lnp0VLzMA3wTtuj7cfGDJp9cdiiRNIAY1ek0ckfR6WT UTbk9H++KYNs
7pZMGAiAAAiAAAiAgGUJsPEaBgIgYEcC1LH4Kja7Ba8qJ6TaQCoSSBswMUBK YMjMuJ5jfiSH
Xy4DSByQBqB5gMFzL9FUwLCFCUwMkI1aniqVBEwY+DU2hwADARAAARAAARAA ARAAARAwhQC7
u+/LyNeXWsTcRNGGzo0fMju+/ycXugw8+Xqj70QlIMwGNOtxgvQByYCB02OZ 0bQASQIyJgmY
KiBJIDMmFW6yr1NGfJkMAwEQsC+B4V8mwUAABEAABEAABCxCQPDGFyYMnR8v ePNzBIdesFlx
gs2sssEzLjEbNOMiLQEiGzglduAnF6TWf8K5noNPN+t07IYMoA+kDOiL/p9E k5EYYCaKAZof
EKYIvGJAxbwlq7L5SUPnJsBAAARsTWAI9TIwEAAB+xIgLwEGAiBgTwKD58Qx E3/FwsfZcXSD
XvDvZ1wU/HOviy/46tcd/QGfXJDbxxcE355s3Ll+Y6KZ9R8R3Xvw6R69jjVr sZ8pAQ/JAAoS
vrtZCchkgLhYqEoJeF1/phBu8hjmxIsVwAEIgIAtCcwWehwYCICATQkI7gIM BEDAJAKfLEva
eCBn+9G8KjuSu11qh3O3H84h23YoZ9t3ZNnbDgo2aVH8oFnC4hpmxhL55Kv4 wdMvCjf4vXf3
P1mcuHG/7pJ8/PnF/hE/9h16howc/t79T6nIAFoUpCoD2OqgqgkByY1/qQC4 ydHxeg/ogEAA
BGxMwHu/AQYCIAACIAACLicwaXHi8u3Z/WZmdv00o8PH6W0i01uNTWs+Kq35 6LSmEYK9P0Kw
hkNT3xuS2mBwat3+KW/2SnyvX8yiqKSP58cxeoEkMpES8d77n7QoYcu3Mes+ Xbp23Lw1I2et
GfbZmiFTVg/8ZPWgT1f3n0i2qt/Hq/p9tKrXuJU9x63sPmZF54hl7Yd81WXs utU/TJgWI8oA
0gDdu+2/eTag/yn6mmYNpOuCqmYDaCaCZMB1JUDev7Ayab5kEkB6+/+6BhDX J+EABEDAdgRc
3umj+iBgdwLiNj8cgAAIBEjg2+9y+s/IGDM/Y9zCjOGfp/efnt57anqPT9O7 T0rrOjGt88dp
nT9K6zg+rcO4tLZjUluOTGk6NKVB/6S3use82+3Y2s1pLPdAE6GVP1OERNZ9 snT97I0bPt+0
7rM1ayctWTth0dpxC6PGzI8aNXfNyC/WjPx8zYjZa4bNXD34s9UDJq/q/fGK LmO+bDt0evtR
UZvSqmSAdypAWwZc3xhACoamAqpkgLDyhwmAKhkgLpq8WQbQTgXhrOvbFHAA AiBgOwJ294FQ
fhAAARAAARAwhcC3B7O7f5oeuTBj/JcZEZ9nDJqR3ndaeu/J6T0+Se82Ma3r x2ldPkr7cHxa
x3Fp7Uanto5I/WBYSqMBSXV7xLza+uCW7RRfmA0IMBFhAwDJgIPZUeMWbPh8 y4Yvtq6bvnbd
p8vWfvz12sivosYuWDN6ftTIuVERc9cM/3zN0NmrB01f3X/Kqj6TVnQb91W7 4Z826UcloV0B
bFGQtgwQNIAw+zA9dsjMi3MXXTgcdfb0qpMHl56YMWr76CFbh/XbNGjQt33H fjdo+rmqLQGi
DPBOBUAG2M7nQ4FBAARAAARAAARAAASUBMj57jghnQTAqC8yhsxM7zs1veen JADSO3+U3iky
vf2YtLaj0lpFpJI1H5badEhq48Ep7/VPrtcz9rW2323dkcESDDCRQZMvkgky IGLO+unr1s9Y
v27yyrUfkQZYGEUCIOKLNcNmrxky0+v9T/UKgE9W9fp4ZY8JK7qMXdQ+YnLT AVQSkgFVSqD/
KY3ZgBsyYN2S6Pj9lxKPJuzb+OOczw5FDP52cN9v+nSP6txxRetWi9p0W9vr 45OCEoAMwNQH
CIAACIAACIAACICA4wh8ezCnXWT6wBnk0GeQBqBJgC4fewXA2LQ2I9NbjEhr NjStyeDUxoNS
Gw5MfW9AaoMBqe/2S36n18U32h/auiPzugy4KRH2v70aL1ki12VAzprhM9d9 unzdpytIA8Qd
P0cpeAXAjNUDP1vVj1YBTVrVc8Kq7uMp/OK+4yu7jl3eecyijqOmfDCYSqIp AwafFr4ed44e
NkTzDoOmx342+8cLm86knU6KP5+1c1vsl/OPD/JqgC4dl7dptahJ47n16k5v 2HJJn0/OKmUA
mxMgi04qIxMfaBqCA5ajaBo5HrtQfCa+lEU4GVtMZnrxDp4ppCyoMIeji6RA KITC6VsxRymo
9ftzpKeYXiokCAJ+CeCGEAiAAAiAAAiAABHYdjCnzdiMPlMz+0zL6PlpRteP Mz4cT5MA6W1G
pbccke7VAGkNBwnef/3+ZGlk7/ZLqd/70hsdDm/dWSUDZIn4UwGVskSYDKBE 1gyZvo4mAT5e
vDbySzER0gA0A7C6D2mAj1Z2ixTDV3YevaLz6K9JBjQfTCXpP/qcz9kAYX/w 6HMDJgjPHCUZ
MHjmxT0LT1xYc/L7XTEH98Vv2hA9e/rB3kwDtFz0fuMvSAPUeu2T/9Qc17Tr xhsPJ54dLwqA
8MoAv16OTKIEQwaQzCBvfum2zNW7s8npZ0pAdPcXfpN++lKJqEOkMoACxXCe iiAOCJhOYPCM
OBgIgAAIgAAIgMC2AzktR9NCoMxekzO6T8roPCGj47iMtqPTW0WkNx+e1nRo WqPBaQ0GCt5/
vX6CvSMogZR3BBlw5NtdWQygLBG/MkCWSJUMOJCzZtCUteO+FPYDjFlAOwFu KIG+n67uPXFV
D2EegL1WfThyVedRKzqP+rrjyKnNB1NJBow+TyZsD1AuCqJQ4euPLwg5Tbs4 dOal00uOnvp8
/4avT6xZ+cO8zw+PGLKJ1gJ5NcDcevVIA0wiDfD0MyNeenP6Tf9RcrMSCNds AI9XFOyyqaav
vOvP5gTEcFILdEwTAjxVQBwQAAEQAAEQAAEQAIHgEWAefNeJGd0mZXqnAjI6 jMsQpgIi0j8Y
lt5kSFrDwWnvDkyr1z+tTr+0t/ul1RWUQMo7fapkACuYLBFy0zUSoW9liQye fEmYDfDKgKjR
87yPBpoXNeKLqKGzbvj9vT66cdxpxKqOw1d1iljZeeTijiOnSWSA8PdhShlA oQPGXBg4Sfhb
MpoBoRKfXX5s63cpZJsPpmzcn7x+b9KaXQkrd8Qv/fbS15svfrnx4rx1MXOi zn+y8Bj9W6pM
CVT9xfHs+Crv1vuPx3Tzm32k2+RLt2dRyMlYIYQd0zsdU4hqTDFBvwfSHMXI u04WsNzpff2B
HBYuxryxgkgSzuJTUVlkOouVlsJZgckOni1k59KBsmAsBdlXsuKxBMXCUC5V y4HYf0TDQAAE
QAAEQMAAAa/nAQMBEAicAC3FaToivdOEjM4fZ3T+KKPT+Iz2Y9PbjPbKgBHp TYalNxyaXn9w
er2B6XUGpL/VP/3t/mn01wF1e8fV7nCU7sFXyYCbEyF/XSMR+laWyOBpl0gJ UElW95sYFfE5
eyhQlPBQIHo26HTZ3MLqLiNXfzhiVSeSAcNXfjhicYcR0z4YJMwGjLlAd/x9 y4BxMSQ1hJxm
xA2ZFXdm+bEDn2yP6E/7AdbSWqDWLb9q0kjYD1Cr1ifP1xxX45kRjzwx4L4H e933l34kA0Qb
9nlilSS42dUWPVqpu7/5cB55vXu/L6Bv6Z2OKUQ1Jr9DLPr0dMDOIg0g5kL3 2umjTAZIJYH0
eNuxfNGPZ0v8F27KIDFA4aIGoGPmuyuVAIWzs1S1h6oUYfFX78nmry9iggAI gAAIgAAIgAAI
BInAtoO5jYelt4vM6Dghg8RAR5IB49LbjElvOSr9g5Hp70ekNxqe/u6wjHpD MuoMSn9rYMZb
A9LfHpD2dp/41wQZUOXRyRIRZIDvROhbeSLT4sk/p0RW9/koatjMqBFzokZ8 HjV8DsmANfQX
AQOniEpgTY8xa7qNXNN5xJoPh5Gt+nD4kg7Dp30wkEoiyIAxF9j2APm/CJM+ GPhRLEkNQQOQ
9zwn/sSio5yzAcPmJzEjMUAyQGrMKWchB88WnUkQ3FxpIIWQ0bfiga+YspR9 fZQmzuKwu/LK
+NKYGseseCyRNXtzxHRYXdhHOmDRZPbl5ky2Q4ApHBZTWhjxo4iF0qG8OCuL aCAAAiAAAiAA
AiAAAsEjsP273IbDMmiXcIfxpAEyO0RmtI/MaDMuo9WYjOajM5qOymgUkdFg REa9YZlvD814
c3DGm4My3hyQ/mafhFodjm/bXeU3yhIRZIDvROhbeSIzk2hWgRJZ3Wv8miGf RY2YLSiB4bNJ
EqwZKp8NiOo+KqrriDWdh675cOjqTkOXtB/6WbMBVJJBkRcHjIth2wMUMmDM hcEfC1MBwuTF
nHhy6Ld/eeLIF/tnDV7fhuYBvM8FqlVrUtU8wOMD/vRgzzvv6XJH9fZvtVkx Yn6KaMPnJkuN
ebcUwrzhLUfy6VgMpONdp4R1NQd/FBbE07FGTGWyLGVfOYrh0uxUyyYrkjS+ eLxsZ87pOEEJ
HD5XTMfiKaL7rloYlh2rHfn3sowoHQqn6QUxnAhsPy7MXez7QUABA4FwEQhe f4qUQQAEQAAE
QMBGBLYfynt3aGbLMZntIjM7kAwYn9l+fGbbyMxW4zJajM1oNiaj8eiMBiMz 60Vk1hme+ebQ
zNpDMmsPSn+9T+IrHU5su377WJaIIAN8J0LfyhOZnThsZhIlsrrnuDWDp0YN m7F2xKy1JAOG
39gbEDVwEpsTKC8pXdt9xNquw6K6DFnz4ZCl7QZPb9afSkJ+PlMCNCGgIgMG TaJdAVUagG7t
T1944eCiI5s+3dGvw9fKtUC/v6fzr6t3eOqFj3pN+3HElyk3TCIJSBuQR/t9 XAk7IGNqQXr8
1bfZoidNxxoxpWJD41iaOIvGbtsrT/FVJFk4nS6eu/2E4KOzEF/JqpZNTFOa OEtt9+lCWa2Z
ZIran8tZZUQDARAAARAAAY1bcuG6oYB8QcABBHYczn9nSOYHozNbj8tsNz5L 9SE/DUZnvjMy
q05E5hsjsmoPy3xtUEatPkn/JRmwL5cRUCbSbkJm2/GZrSMzW4zLbDYus/HY TDERQQbcnMgw
kgGzEymR1T1Grxn0adTQz9YOn0lKQCzM2iFT1g76ZG3/G7uE13Uburbr4DWd Bi1rN2BGs75U
kiGfxJOREmDbA5q12J+VHk3madbpGIWSDKCpAEGfzU8a8WVyxNcpi776cd+i o1FTdg3ovPiV
Vz6q8cxwth/g98I8QIenXvqo/ZjvIpakCfZ1KhkTA+T3kxe7fE/ORu/S/93f F1IguyNOgdu9
K/XZMYvPvqJ36UfVmDfpDan2kBxX+dmSECqAWIzD54v3nanKqMqP98aUniUe s6Kygh2LqTqx
SgZ8mSImS9EoKTFZsZB04smLJfSR6iKmIyZOgXQWiyArwFfbs9kSKZ76Ig4I gAAIgAAIgAAI
gECQCOw4kl9nUOb7o7Jajs1qE6kuA94bm/XOmOy3R2W/EZH92rCsVwdlvtI7 6aUOJ7cfyGOl
UibSdkJ2m/FZrcZntRif1Swyq0lklpgIOfeyRIZ/nkxGiazuFrFmwMSoIVPX DruxFmjt0Gnr
hk5ZO/iTdQM/Xt9/nKgN1nUZtLbTgGVt+89o1odKwmQAzQnQuiAVGUAbAwS1 cV0DjFycMnJJ
2vSvL67/6sSmud8tm7bzrVc/euzxAX9+uNfTL0TW6biq7+xzo5alM6sSA149 sHxvLnm3zF0+
GF3EFAIZHQvLXc4WsYONR/JZeNRBQS3Qu9+YYgSNA3FugR2wmOSyfx8nzAnQ OxWPBVIBqITb
TxXQsTQyO2bxxfJv8a7VIaOqiSlQskxLSJMVy0bRjsVUcaBas3CxeHQKnS5G lhaAlY1CSLTw
VBlxQAAEQAAEQAAEQAAEgkFgx9GCNwdlNYzIajYmq6UPGdAgMvudcdlvj8mu PTK71rDs/w7K
fKl38osdTu44UOXc8iQinWeQJcLm+iiR1V2Hr+k3IWrwJ2uHTo078gOdsm7Y tLXDpq4dOnnd
4EnrBn20fsC49f1GU3j8/sPruwxc27Hf8jZ9ZjTtTSUZOkWQAWS0UVhFBtDX NBVA2dA8ANMA
o5anjl6RPnaVutFXzEQxwPQAnWhrYx65rauAwoMACIAACIAACIAACAROYOfx gjcGZtUfnt14
dFazsVnNI7Obj8v+IDK7WWR208jsxpHZ70Xm1B+XU3dszlujc16PyHl1WPbL A7NeZDLgYD4r
QKCJ0JTCglRKZHWXoWv6jF0z4COvEpgs2JBP1w75ZK2gAT5eN3D8+v5j1vcd ub738PXdB6/v
MmBtx77L2/Se0aw3lWTYZ0lkggwYF+NbBniXA1GJmYvPNEDk6gyZsXBRCSj1 gFQb2OuYyQB7
lRmlBQEQAAEQAAEQAAEQMJ3AzhOFr/XPqDM0o0FEZqNRmU1GZ74/OpMkAVnD MVnvjcmqPyar
7uist0Zl147wTgUMznpxQOYLPRNf7HBix6ECVp4AE2GzHJTIys6DV/WMWN13 3OoBH60ZOHHN
oIlrBn4s2IAJUf0j1/Ybu7bvqHW9RqzrMXRd10FrP+y/pkOfJa17f0Yy4FAB kwF00582AvQe
fFq+N6BqNuDLZJoKGL3kxjyAUgOIIeJEgerMgOktEZoEIQNCwxm5gAAIgAAI gAAIgIDFCWw+
kt9geOIbAxLqDE54Z2jSu8MSyeoPTaw/LLHe0MS6QxPfHpr85tDk2kNSXhuU /MrAlJf7p7zY
O/HFbjF1ex3fcbhKBgSYCJMB9Oj5xX0jF3cZurh7xJJeo5f0Hruk97glvcYu 7TVmac/RS3uM
XN4jYnn3Ycu7Dl3eedDyTgOWd+i7tG2fBa16T+80ikpCzxq6IQOUW4RFGcBm A6QrgnwpAel6
IdmEQOCzMEgBBEAABEAABEAABEAABMJI4LN1mfTXtw2GnHmtx/HavU/V7nXy jV4navc68Uav
U2Sv9zxdq+fpV3t+/0qPH/7b7fRLXU+/2PWHFz88VbfPiSWb0qetzGAlDySR qSvSmQz4LCpj
07cX5vSOnNZ+0IxOQ6Z3HPpZp2GfdRw6w2szOwyZ1X7QrHYDZrftP6tNv1mt +s5u1WdGi97T
O4/asPH8lMXpogwYMMH33gC2RZhM2B6wOKVKDKwQ1gjdcPq9H6UmKjlW2xs7 hnEMAiBgRwLX
d/YHY7sV0gQBEAABEAABuxAYsShlWlQGLciR2/HCnWTHyAqq7GjBzuu2aX/u 1JXpI76iDbfe
Z2kaTmRF+ogFybQxwGsp01brL8m+3Clfpw2bJkwFsNkAdRlATwoS/juM/kJ4 trBXWPhL4IUJ
w7+sUgU0ReDLbnpCE5VyfooDHhOLKoAACIAACIAACIAACIBAWAjI/2HN+9cB gtHaHtG8nn2V
f/9ZwtDPEoZMiydHX2rs6UBSU5EB9FcCAz+K7f/JBbIBn1wYOCV20DThT4UH zxBMkAezvOYV
CSpGEa4b/QeZcCIMBEAABEAABEAABEAABEDAKAHyxgdNFoxu1otG//TlywZO iqV/BmBGjr3U
yPunZwSR9Ruj+BdhyADoFhAAARAAARAAARAAARCwDoHgyYB6Dbbd+BfhvhEx /SbG9psYw4Jg
IAACIAACIAACIAACIAACTiLQj2YDImO79T0GGQC1AwIgAAIgAAIgAAIgAAJu IQAZ4JaWdpJ4
RV1AAARAAARAAARAAAQCJAAZABkAAiAAAiAAAiAAAiAAAq4jYJoMWLl0doCK xNfpwUs5SAUO
JFmqrKvqGwirwM8F6sAZcqYQXtRhzD2MWXM2DaKBAAiAAAi4loBuGcD8VNEI HBvnAhntlGlK
20OavoFcZKUNS0tzlkFX7XRF9ltrmfzgTzwYMTVKy0nSb31ZBP7Cyy5I6fXP kxdnRpzRxBzN
paGsiInp662asgdQNhl/zxNI7py3J3xlEYyseS45xAEBEAABEAABvwSMyADV RAMZ7bTPlX6r
Nxe98f3yMhaBswq6Sqsrst9iG5YBflOW+qz8kU2/xkxMkLM1DVRWb5sGrySG NRKn06wLjq9q
8uPij8lfMFmakAH86BATBEAABEDAIgRMkAGye3J6b5T6cjhkdyLFXGQOqzZH 1bFZVkKlk6Fd
owArKMtOWh1lwZTeuRiiHVlWBb9Xm7LK7BROVtKYYgX9llBXU/q9TqR6Q0ZV eq60VLJrzC8l
kYlM2/BcMKo8ZYT1Xlqq/rHq9aw3ZU7aSpiyakovBl8E/GJXraZYQlnPoPr7 0rgmZW2q2mOo
llAWUzsLY1eaXzKIAAIgAAIgAAKBEDAiA2RDmtQH8jVg+3XWOd1N/kFa2ymU jv2+3Calzyfz
jfgLw++uaTgcvtwO1VIZ87CVTpuqv6ukp93uMi/ZMEaZ0+w3HamDGNTWVKoO VedS9UqTtjj/
FaWsjmrbaZP323FoiAdZyrLcfdXUWP+g9PilTe+rjtq0tcvvl4z0UpRSMr3i PCVBHBAAARAA
ARAwRsCIDJDlJJMBBu57Kb0fntFUb4UDcReUokKXn63KRBqoLJvMz5C5vBoe sGpSfln5cuOU
JVf1n1TdO9m5sjgGrhOlx6xkqM1NdqUZ80p9MfHrmvO0uN+WkkFQeuo87q+u XGQ+t6rX6+v6
UXrwxtpd1smYKwOUifPwUb2WfDWxsSuNpxiIAwIgAAIgAAKGCZgvAwwUxV4y IJAKansDvr71
JRKk4kR2rESqXWxVN86Xc2+WE2aApN9q6nKCjTlnPJerTBKotqC2tOOBI2s1 XzrEWDVVRZcv
/vwygKdeyjg2kgGywiubXu9v0xgxnAUCIAACIAACfgkEUQbwj3Y8fpUvR8pv DTUcR18jtIbb
ZMyj0vCnpa6bFWQA8021fRceV5snjtJttV1r+vK8/coAv9KOB0WA1xVPFtrX p1KHaP+mjP18
eCDzXG+cuDixyHqt4FWcszyIBgIgAAIgAAJ6CZgsA0Qnkl8DSE8RHVBZIPso egP8ibMEpcmq
llAWTTnAqxaMn7Wqx6Asia98ZXVXRSGrJj8iVR9LmaO2RFG2l0aItB11ldP0 1jTmlSrLrH3B
KK9eWb7Kq4vz0vJ7XfnyTXnS16YtS1l6wfhqesPtbkwGaF+TIgFj14C0TWXF U/0lqsLkaQXE
AQEQAAEQAIHgEdAtA4JXFKTsDAK6PHtnVNlvLdzGxG31xQXglwAigAAIgAAI WJAAZIDr/jg6
SFehctYlSBnZLlkX+sQurLL2ZQkgtvvZosAgAAIg4AYCkAGQASAAAiAAAiAA AiAAAiDgOgKQ
Aa5rcjeoW9QRBEAABEAABEAABEBAmwBkAGQACIAACIAACIAACIAACLiOAGSA 65ocyhgEQAAE
QAAEQAAEQAAE/MiASrxAAARAAARAAARAAARAAAQcRwCzAZgNAAEQAAEQAAEQ AAEQAAHXEYAM
cF2TYwoMBEAABEAABEAABEAABCADIANAAARAAARAAARAwO0E8nMTHLfmBRXy SYBJIMgAt//s
IYVBAARAAARAAARcS0Dq/dOxazm4s+KQAZABIAACIAACIAACIOBGAkwDwPt3 pwbAbIAbf/Ou
vdZRcRAAARAAARAAAUZAnASABnDzJYHZACgBEAABEAABEAABEHALgXAJgCNn zs5as2PwrDWW
sk+WbNl9/JRrlQBkgFt+9q69xFFxEAABEAABEAAB6SRA6GcAyNVevPXwxZRM q23aTc8poIK5
VglABkAGgAAIgEDoCBw+sAbuCAiAAAiEhUAYdwLQTXdyuK2mAVh5qGBUvLC0 SNgzhQwI3fAf
9sZ2agHWn97W95uur0577Y0pzevMaD5y86Qd5/c7tbIa9cpdNcaFtbZIlacu PdZh1KY+n+zy
Wx7DMuCLicebvbaAjA785oIIe3bvZhZUFGIu2gdBLQMSBwFOAmHUAFRCWghk TQ3ASkXF48To
sGi6ZcDZEwfWR63IzUwNEMTWmQ8HmAI7nbMX5hwPlKkZK6ReSnGrX2JmLDu9 Zz3bqK7eU4zF
PxN3psOqAc+Nr/dwxMtkdEAfKdBYaqpnRW6fXmdmo7HH/7r6Yu9ZO7vN2Dqy 1+KO785q8fWJ
KBNzEZP65vTmvqu6vjr5jTqTmted1XTkmkm7zuwJRkZimpzXEmmAje/ewZTA wfjsR9rM6DJ5
m5iIgZ+bKYkoyRgoiSpes9KRJs6JWlke0gBx6Zln4lIHzdznVwkYkwHk+td/ 4ZPx/feR0QGn
EtixacfEUasGdllM73Qc1AtVb+J5Xz8/uUfddZPbbJnV4dL2ETyn8zcQ9eSX L5d4rTSoSoAS
v3r16rc79jKjY+UrqAXg4YY4IEAEQqYBfHXOGjKgwwtPqyqELQcO0ljWbOyS EOgHyIB6Dap8
Bk+zTsf6RsT0mxjbb2KM8sezPuqrSeMHU5ME8ruiq+RaRa4pA7m3uxdeP547 V6H2onAWgacv
Zn26+Dq4dwunfpDR0Evp4soXK3OO03sgVPnPrVH3TTHys40a8J+oKyZ5/H8f Xzvi6MNkc3aP
X7R7/PhNER0WdWBiQFdSviIfOH/kzWnvRW7ovjV68eVrefPOtBy5ocnULQPH behOPvqPSedN
yUVMhJz+Nz9vppQcq46sMjcjaWo81xLTAMyUMsDYz00mA4wlQoVp+e8npWpE 7w//0MmDzef1
emtqq3+Pe+fNyS3o+PzFc4YLo91MPKhVUxg3//CPCWmHo5NIBrQa/o12Lvwy IGVR390dHyKj
A/L7B7ffLhopAb+XHPn9JAAWzTvKjI4DVAKffB7FzG/WfiOQBkhf0/hK3nqy fbv2khLwewpF
4G+gEMuAWfO/ZkZjx6W4BKlRCM/Qw1N9WTrGxiZZRqYkwlN4MU7oc9RVPKdG DqUG8NXJK2XA
xOavKU3q8UMGhOCC1D0bkJqaKjTSFT8y4NX+y18bsKL2oJWv9VvaIGJ91xm7 Ri87vuP7NLKN
Ux7YOPUBulDonSzASlKfUlpaVlpWtmPXrnK1F4WzCDx9McUpL78i2sULZ06f OMDEgK5yclIS
0zy/7D+VmfvPLfuPrlyMRV67eu2TtWvSOzu9Rt1axtLRPosc/dpTGo/fNIA0 AF0v9D5lUw+v
DSCjr0xRAq2W9Gw+t0nvxS3olrz3qiyZe6ZV+69q91jUqutXLfus5brFyFn9 IzH7adpBlByU
kSg5aPKBvuVMR280nmuJyQBKmU0IJCemiLMBhn9uUhmgK5Ed03vvntBetHGN X/5x7czko1t0
JcIojVo/lbz/Tot6DFg9kGz+wfnrT28ykA4ncx7ULKm9H/9TNKGcX3x36MfE 9QdiSAa8/eE8
U2QAuf4rm/0pftr7ZHRAH/dsiWezAWT/+Wsnv5WiGYAhPaNEmzB884YNp+p9 0fLJyFr0vvL0
Rr8pSCP0GrVg9dajzEZNWa7rXFlkUQO80W1hefry0kvzaE6AJ0H+BhLGhZJC ZquXzFGdNObJ
0W8cSvnKlavapnf4UGbKyj/riy9FH9o7VHENahpVMCURv4hkEcKSqd5COi++ uTLg8UaTHm8y
5bH3P3vsgzmPtVjwWqtPhs7e883JLO3OWVUGlJdsTTvwGYkB8QAyIMSXn24Z wFm+Tuvju21M
6LMlsf+mxAl7U786mb3lQkFc3uXVH91XUXSyovhUZfHJiqJTFUUnKIQzTdVo 1KcUF5eQCe5+
meDuMyvxuv5MHrAIPH2x9x5SOVlZ2WUy4cD7kefcQGrxw9fPVqZu/WHRvymR orEjmQWSoPLc
Go3epEmAJ+vWeqR2zSd7DiUjJfBIrX+LesDE7GjZjzAPsKrH+E09tp7eyn7V pAToo2gUIfDV
QS9Pqtt06nvvfVpv08lNLJdrlWWrY/p3/er9rou61ZnZ0sRKaUuO3lFmSg5d xSa//2KX+5kA
oHc6ZjLgXEKO9+d2QrBCr/H93M5GDSrKjGEywEAiu8e2vLBzXvKhhWTHV3y8 dtKg/OQfDZSE
NMDTEa+PXD8s6uSKPTE7D1zcm5AbbyAdXTB5Iq/q+qB0oKKPdNbAGfvHfXWs Tnf//rH2bMDu
sY+fmP1cXvRkcv1jx9YSjT6SDBBNe1EQS4Ru/zeqPZ3ZgM4rli37jgTAsu8m MqNjbSVw8ON/
MVu46AuykZ9tIIvwvpOxQB5cGhrgslcDFJ+ZQquDDCSl7eAWFeYyW7V4dvAW 6oh3jtYs/Zzd
P2JTAdKDwIcPpgG2bN9D7ynJccyTDlAGmJKIgVYLV74GiuqMU4LxbNBHe+wb uSM7cnfupwfy
Zh8pXHqm5FBGpd/OWVUGkAY4vSKCFgWxA9IDkAEhvvB0ywDO1Zk3ZgP6Lm0w an2X6btHLTu+
60z6/uiMr0f9gawybeHiUX9YPPIPAVaY+pTCouLCwiJy9wuKikWjQHZM4fQt GU9fTHFIPxw+
enL/waPbd+3/ZsuO1Ws3UQjPudKKcFISTzm+8B+ViavoncmAq99/Z7oMYHkJ UwE9h6YWXjh4
YQ0TA2QU/qd/P/3Iy4IIMcXoTn+9OY17LGpBJsoApgRYILPAJwSeHvPGcwNe +Gf/51YdXiX2
HXRj/s3xzzea2vaVaS1MqQ5LpNaktzUkB00ImJiXrmuJaQB6Z0bH0tkA9nO7 mvoV58/tzJpB
jKR0NkBXIjtGtSABcDn/2+xTi3/cPHNezyYZP2youJykKxFaC0TzAINWD9hx /lvZqlBd6ehq
FJ6f7d6x/yxLm0VGnnrayfFxuwZGR/UkDUB7A5j5VQIaMmBFx3vK8r5jNvyV O9lUALPsHZ9P
+W71qwv7ktGBRr0oEUasT7tF7ZvNZzZvxt5XpjccvLLn4JW9Bq/yvq/sSSG+ 0qFExK9mz19Y
dvmK0ihcF16KLF0LVJ6+gjRA0ZmpmeuaUzhPUjwNxNKhHjs7M5nZikWzxLv1 zEenj3q7dG3J
4dUAZfTO7iLJLPC8pDLgyHc7y8qK2c6HdasXKCc6eEjSWZQIM8OJcGYkKyFl xzRMgDKGJ3fE
IQLmzgMwpN7ZgMmPv//Z481mS2cDtDtnmQwg15+tCKIDZuJHsc/3tSjIc/1l 4p4B7A0weW/A
jjlvnSmslFlM8bXcKxX5V67MG1S98lIEvafs7Kn6QxXbmB1od8H5BYV5+QXk 7ufk5TPLzS8Q
3ymcviXT6IvFfurEyZNFxSVKo3AxDk/Pwr+GlaV26Isa12LnfvdFDWGkjBhy 5chuevebET8l
aVKPdx96MGbNXzv/+ULm0TMpew7ErH6ixxCSB4JCqFuTJg0CbBE6ne70t5jT mJlUBjAlwMIH
eHcOBJjXk2NefWrEPx4b9jStzmfdwebvt/xjTM2nhj5bf06zVz5rZiLDp4do So6ZPj0qsQzG
2svvtcRc/2vleVdyN9G7VAaQHiCjH9qV2NH0Tse+gMz5bJ7X5lIiZBWXM0UZ wJ8IS3zz0GYk
A0gDCDJgyyySAfQx//zmsqzzYkn8tkvTz3u2XtBx/sE5rFm/jd40hTa7bpxA xxlF6X7TCRJq
Kva2sU+Lnjo76Dt1j6gBohPTjl9I1l4X5EsG7B7xuCgwKFly/UUlwDTAM7M6 Tdg8kowOfCkB
aSK0E4DmAYb3X0k2e+oOuv3/8oQ6UqMQ1YaQJkJSZ+rni4tLryiNwv22oxhh 1SctyVZMarl0
/Ae0H4BpgOIfpvBrAErK72+BCQCy5V/NzEiLY0bHzKQLPjWGg0OH9kjNbx0F l7q0yqUmJcBm
ksXtAXQceF6sUjQVQBqA3ouL8+VWdCPEr+oQptApvqb5SkQXHPHGv+j3Kw8C h+O3gdwcIRga
gHjOG/ms6N2tWNBP6ulpdM7K2YANsz4uK1gct2HIvMiR7KBPrZv2CmvvDaB+ HjIg8Mtb92wA
5+rMrbPq0JWRfvkmyyq/VnDlStHVsrLy9Mq4UVfLLyTv6u2rDuJArl1J6kRy cvPIyN2npfxK
E+SBN4K2DGDbiI8dP1FQWCybDaAQCuffZ0wF5qQkVm3vjCcroyftnSlspswc 1Lt816bMQX3o
ePjsVcwCpESn01ZgthuY3P3Hug25kHGU5gRICRy5tGHz6bmPdRPWCGmj5mwR JgNqR1SZ6KCL
P9c96QPpW5IB9OygAOtFS3H+M6k2Pbcn6vhaSp8e40P37F/49NV68xq9PPXd iM3+t1FSATjr
9eQQn5KDpgJe4ZAB/HlJsfi9lpgMqCw+TRqAfPfOC/aTsb0BFMhsdt9qiSn5 0yYv8AWcvpoy
72CAibDE1/dvTGuBaB6ANMDBBaMG1XuJfbx0cFVa9FEqCU+39dqnLd6d0WLe gYXUrDEZsa3m
dWDWbXHPjl92Xn96I6WzQPOmOGez6kItyIART5elRYnW89NdcWkZ8WlpiWmJ sYkXz8ae37pt
F20SeLPzEl/V9CUDto54RBQYlwtOMCUw6a0/khggGUCuf6+1/USjj6rpyxIh JfDhBws7Nl0w
/aMddw949fWZ9V+f+U5t9j6jPoX4TYSKMXHG8vzCcqVROE9TUhwSAIe/O3zo wKF9u/fv2LJ9
7rBGeucBWEZ+fwsUh/r5pPgflbbsyxl0k555537XeYrOrt8KUnbi6iN2QFsR SssuS03bL9eV
V1ZmUnZWMjM6Zh/ZgWja2dG3+XmZfo3HO+eB41dvUART8vJbGHdGCKoMYA4e yQCZp0ed86GV
Kh2UTAbQokTpViXSAHundxAXBX385cpen60ho7GM3lXdfVEGyCYHpPLAVxxl gpgN4J0N4Pwt
bZhej2RAxuXKjPLKzMuVmd73rPLKwquXSyuKyytyK+NGXyu/eGS51upt7XkA VhLqQTKzcsjO
x1wij19pFM4iaMuA4hJh/8CRoyfyC4ryCoronVlefiG9Uzj/BgNORBTtvjF1 yegg+ftlldlH
tk99VDju2als/Yrknh/S8ZAZK/ZfKqJ3jTR5KImn04Zg2g/wl85DzqTuIQ0w dfeIAxdWf3N6
9uJDkX/pMthvyTnz+lPEy38f8BwzmQygyQEW3mJOD4oWYL3OpVz4z7S6tWe9 vfn0JpoHeG58
zX9NfP6dee+89cV79Eif4rLiifP3jpm9Y8inm/qMX9d9tM+lFDz10pYc9BAh v/RYBJ68OJNi
0WhLAFll3sFrl7NJBrzQewnTANfKMihQtLETFmknSxECT4SeC0R7gmkGgBlp AGbs4+5Fnx1a
v3hqvy5+K/j3UXX+Nvy1T3cIswF7Yw/9dVitJ4e+SkYHfx/5RpelQzZH7+60 WFjPFuAl5Lck
sggbSAbELRBtcd+aq3o/JbOVfZ6e1eM1ClRN3KcMGPSIqC4uZ24tz95zJfeQ YIVnye4YV4dN
BTCjj6qJb/WdyOS9nwubg+c1FGx+QzqmEL+JUJEiP1uVlXdZaUI4xzJCpgHI Duw5sOvbnVvW
bV6/LGpa73d0zQPwZCTGoa4+4eIPUlu6cDq7SS+a31vm5J37zZQSyctJZ5ab nUbGjkkJFJeU
MslBB6bkxQY7VYUjC/QrA8TlUhoHfqWLXziswCHLi6c8bosTJA1AGGcNf44c PObaLZk7SPTx
hAOvUQQlbakMIA2g3KpEkwOiDPhq085a/RdoaAAaGpSzASxEVQaIfr+vOQTI AF4ZwLk6c9XU
+nSV5JRXZpcL78zouOhq+eWKgqvXMivjIq9cTdk+/4MAf5nU0aSlZ6ZnZJHR ATP2UWoUqC0D
2MKhI8dOHj564sjRk3RA73Qsmt+VRdKKcFIiDTBtfyS9N1o8kJ4UlHB6KSUS 26l56dfzYjs2
p+P+U5Zu/DG//1SfdxYN0Hvghacf7DSY1gLRPMDBC6v7LGmy5viU+QdHUiDt EKB1QQbSlJ1C
t/mfjPg7M6kMoGMW+PL42o0XtdCYDeAvw1fHV9Gd+OaLOjVb1Pa9BR80XNTs tdkNas95/0gs
XQHmbHVg6dCWA8pIVXLkRUREd2rFjI7NzZfnWqJ1O5VZgt8vNQqR2rDRwtWl YRQh8EQo/SUf
1pNuESYNIP14YM44Hj40G/B8ZL0BqyOp707ITX5xwrsvRL5D9uWh1StOrG/y RbfXP21CcXiS
4o/Dg3pV78fLoiczI0e/LG6WqtFaGr0yYB158BKBsaLbQxrmq1LBSITS1DBt vGwtENnBfQd3
79j97cYtG1asW/XViik96nLuBzDQrzIHNC7mFLPF8z9j9+bFhTp07Nc157ls 2Fod2nuQknie
2YpFM+kjGXn/opmSFyuPoHAundE2v9lRhPTUS9rmNxFOPskJ57TNlIx4CuO2 OMHTAERy8qCa
goN3RfDrRn/02cI5w2RGEbRlgOpWJb0rfJR3+qUhSj2gvaMAMoBXBvCszhRc gU/eo6sk/0pl
3pUb7/Sx+Gr5lWt5167GVcZ/dPlK1vIpjQL8cVInkpKWkZKawd7XbdwqNQpM Tk0XvkrL0JYB
bMbAr3H2WZyUSACM3j5SsB0j6fjVOcIMQO7OrSUzp51t8S4d95y4aO6RrJ6T /NzH1cWQPR3o
/o6DNp/+YuPp2auPT2kw6T8z9g76c4fBbF2Q9F8FdKUsRqa9vy9PqVfba6IM oAMWUntOPdpA
/LJJzwylTA/EHOm7YfQL0xs999H7r85qNnn3FzQP8MwAYQplytcHP5q3O+Kz b/t9tF5jNoCz
mlQFpeQgeTD+zjsrsrKY0TFnapzReK6lfsNXVKauJRs8asXgkXIb4g0cQuGj hHdf+ZqSCCW+
sN1bsi3C0o/0LU/F23454IXx77T4onN+qfDn89ui93RZMviT7cLkQF5pfvMv Or87o1XXpSY/
TYsH9dddHyyLHk8maADvgdI0NADV3ddswIpufxYFBgkADYFB3/piGIRE/uyr JBRO2Wm3ZtKX
/75WNKmy8tCS8R9s/2bbN6s2RH29cvncJZ92V5/N0E6Np4FEd5m8f6YBpB55 sF1z2oEgbi1j
qoM+co4aPL+LKiVwfa5jxWKVZ6HypENFEr1zw4lwZsTEkmiUnajQzCXDUx6X xAnG04Gk6Mb1
/e/sGaNnzxhDRjKAXDvRCq4Kx5F9/6stA1S3Kp06dlH8r0MeSaBx71/2lfb8 AMsLMoBXBvCs
zqTmn/9RY5IBRVflVn6ttOJaVmXi5GsViSUVFRQtwJ+lME+akpaYnErvJACk D4ajfQIUQuHM
tGWAGE37gLPb4qRErn+TFb2aLO/VeEVvsiYregtrhL79pnjS+JON3iAyXcYv GLczrct43U/k
0KBKzwwld/++9oP+1H4QrQWieYDpewY9N/Tx+9oNDLAtxNPpSaBPjn/Z6+u/ zGQAvT83nv5F
+GUKIRlAUwEUIfAHhrIcR688SrOQpRWVnoYz6J2s/JpwbFZ1pOmQ00+rg2jj AS06ogVI0nkA
cULA3DkBnmup+5CoyqSlzHoPXbM//Zovo299YTElEUr8i5a1lVuExR3D9C1P u9CTgh7s/8J7
M1sPWj3yfEasOCSk5KdN3Datyex29C3F4UmKPw4P6nkt7yk7OVDQACcjVE1b A2jIgK/oMUFe
USFoAN8CQ0MDUOIhS4RKSHlxagDhQb6VlfOGNVq7ZM2K+UuXzFlkTAbwNJAo A8jjFzWAuD6H
f6EO/2UjnXmgHQjCk+tuNs5RQ1eO8bHfx8WeDiRlYWLBKycCSYS/zGJMEVeI 8zVQVJueEtR5
AMZkSI/XyMErvirYlKkTyNOjA+bvscAh3VUePyBdFKS6VelCdKb0vw79KgHt JUC+XH8sCpJd
2Lq3CHP+MGZFNqWrRPDJrgpWViHY5WtXKypzKpNnXatMKb92mUIoGmeCvqJR VxKfmEKWkJRC
Tv/J76OZbd+5k4xCKJxF0JYBF+MSlXYpPkkWaG7PRU5/nSXt6yxuT+903Gf9 p1TNjC3rj9R7
iYyOO42dxyxASuLp0gcB0RKge9oMuqftwHvaDqIDs7Jg6dCEwHNThJU/JADI /j7+uefGP/fy
HAppTIH0VeBPCxULTB5/bHFlwZXKZ3p8Ssd0N4JJAopg7myAEtGu2s/mTR5P MwD0zowdU7i5
PLVT6zhgfWXcfLIuA9ftjC/fGVe+M/6KcCC8i1ZO32qkY0oilP7s5q9JtwjT lgDpR/qWk8zI
dZP/OvS11z5p3GrBh0PXjRm7eSK903Hj2e3+OboefcuZjrnRPn33Lq8GGKhq fjUAFcbXbMAX
zX5PaQoawLfA0NYAlHhoEqESUkbaYMV5AK8GYHZoWu/6Sz7/2pgG4G9H6qVV H/gmDTSxJ5fJ
ANnNb/aRv/CcMVmmAaZsSiKcBRajhSVTvYW0dfwQyIBeH75BDh7z6yZMmiwc XK28zNw8r79H
EZQMpTJAdavS4QOXxL87HDdohS8ZoFzbI300nK89AKpxpFlgNoB3NoBn+azg fo364GxhZTnd
l/Xemr1y7VrF1dzK9IWV6fOvVWZcvVZ+xRtO0QL8vQl9SkIyM3L645PSmB09 foyMQsRvtWXA
+k3b132zjd5lJgvk7HY5KZHr3zqqFb3XnNEuQA4GTn/g5afZc0INnMtzCjn6 dMu/9hzB7++w
qgcZHdBHCjRRA1BJaP1PdJGwAZ02n9A7iQG6J8EWBQXbyN0nv5+9MxNDzMqa 51pq3febytjZ
7fp+s+mHYrJvzhRvIqPjM8XfeN/J2vX186+xpiRCtT4ws+/MD2qJRjuGpR/p W34y5Os/Ney1
d2e0aTSnXaPZ7eidjikkSBqABzUVfl6Hv2iY39r5kgGT6v3WqwF8Cgy/GoCy DkEiVELKxW81
08/2Ib9fqgFodRD9TVggGoCzgaiXpse7zZr/NTM6FncFsAMK4ezJ/VaTIkhl gInJ+s3aFIFh
SiJ+iyqNEPocdRXP7pFDoAEI0YfthUdBXhFcO2FvADuosgrhoFN7lVV/sicF kRKgOYFbOz5D
73T87TdnxL87pANaHeR3NsDcCJABvDKAc3XmjAntyT6f2vng/uVFcVMr07+o zFyWnnxk9/Je
FB45vJVoAf7qqE8Rb9iT0y8+MHTpijVsUZD4rbYMiNqwdd/BY/u+8xo7oPeb DygOZy/PSUl8
UlCAEIydTn8nbOxE/rNo2Q95/A+Pf5l2AwvmFQBmrQUSi0G7gdkkgGj0kW0R DsFswHdNapPr
T+/M2LGJswE811LznpubdVu/+rt8wQ7lrf4ub/UhOqZ3OhZCmvfa7LfVTElE mQs9O8hv1hoR
aOXPe7M6vzShyX8/bkrvH3zRy/S1QGLuPKgDqQs7V+Pvw75ofZ+GcWZtkUQy 4haxtUBsHoA0
QPn5YYFoAKo+ZwNRL02Pd/t2x15m4mPfpAecPTkP83DJAJ6yIY6rCIRGAxDS Nq3r+TUleeX/
Boh+/MHdF8T/OmQH9O+H5nr5flODDOCVAfyrM0Pz81OdgfUVqFEkznQ4K2U1 Sspi+/qbMM4K
Wi0aOf10+5+8fzI6MP0xQb7qS3sDyONXmonPC+K8lpp236JhnO1lSiKceVkw GifqAEuuIQMC
TNnxp3M2kLmdOQ9VMUeeyIgDAsEgEDINYLjwGjJA+l+H9HeHNBtAIX4dd3Mj QAbwygDDVwBO
BAEQAAEQgAzANQACIGAuAetrAKrv+C835hWV+PLd2X8dkgCg99BrACoYFc/c RrFLasHaImyX
+qOcIAACIBBKApABoaSNvEDA2QSC/WxQE+ltPXR88dbDF1Myzb2LH3hq6TkF VDAqnomVtVFS
kAFB30Vqo6sBRQUBEAABEAABELA+ARsJABHmkTNnZ63ZQctvLGWfLNmy+/gp 67d4kEoIGQAZ
AAIgAAIgAAIgAAK2IWCLVUBBcluRrLkEIANs87M3t+GRGgiAAAiAAAiAgF0I iLf/2TIY+miX
kqOcViYAGQAZAAIgAAIgAAIBEjiXlXEu+4adz86QWOaF7MwLOTcsJifzumXF 5GTFMsutsou5
WV7LZnaJWd4Ni8vLjsvLES0+L0ew/CpLIAdRYon5uVVWkJtYkJd0syUX5FVZ YX6y11JuttTC
/NTCAsGKBEu72dKLCqusuDC9uDDjJivKLJZYSVHWTVacVVKcLVppcXZpcU6V leSUCpYrtbKS
PMFKRcsvK5VaweUymRVeLrtulwvLLxfdbMXll71Wzqzkyk1WeqW89MoV0cqu XpHa5atXLl+9
KrXyiqsSq7hScZNdpT9OqrJrV+lflG62a/SqJKv6lz2tte5w/a3sT9u0bJAB AXb9OB0EQAAE
QAAEQAAEQAAE7EcAMsB+bWZTxYligwAIgAAIgAAIgAAIWIeAcRlw9vu9K5fO hoGAYwjQJc35
y8TF75hGR0VAAARAwOIEMDZZvIEsXjzt68eIDBB9oDW7MmHGCIgXDf/Pm9ND tXU0hiVcVWC5
a7eIePGHq5DIFwRAAARAwFUEdI1NgT9H37IpwHEydtlrXz+6ZQBzg1btyISZ QgCXtfKyDqMS
oMJoKAF28Rv7HeIsEAABEAABEDBMwO/YpNh8LNuL7JyPcJwMXEW+rh99MoC5 Qcu3ZcBMJ8Aj
9w00vE1PCa+3rfprgQaw6bWEYoMACICAMwhojE0VFVddaHCcdF3YqtePDhnA 3KCl32bAgkfA
76IU/iZvNq/HK1ObtVjQi/8US8W0lBKABrDUtYHCgAAIgIA7CcicBDY23fS4 UumjS91xbKLj
5PiLSslKtwxYvCVdZj36j1EGIsQwAVPUbcPPu/SN6rXwwLheq3s2/LyzHa9s DRnQq0c7DfNV
WV1nqXa1dsSIMoMACIAACISGgK5RRiySrrNUx6ab/9ag7C1/L1l8B3w0xXEK zUWikYuuK8GU
64cS0SEDiPKiTWlKIxkgBu4e/OTe4c9PbXA/vZOpxkcgD4EA1e3DEbW7LOvY ZlHbrss60XHY
L25jBfClBOin4msPE32lIQN0nSXNPbxTE8bo4SwQAAEQAIFQEgjL2CT809nN RiogL6/Sl9G3
ylOcERKg4xTKS0U1r9BfP7plwMKNaUojGSAGbu//eHnJ1s+aPErvOwf9WzW+ CwNFhSetu2qg
NEIgF/Tb09q+N6PZ4KVd6k9vSsdhv7iNFcB0GaBrDgEywFir4SwQAAEQcCcB w25cIGNT1d8h
sz9F9ppfGaA8xYIhIhNp2VQDpRECcZzCftGG/vrRLQPmr09VGskA0aY1vI80 QM/n76R3mhNQ
jW8gMDqpzMBZ5p4SSBnEpqUDVipliGppA7mgG8zs+O/IdxvNstaKII/Hw/9L 05ABujpNlqPe
HxhkAH9LISYIgAAIgIDhRR2BzFRfLiuUGcmArKwKem/UqFGHDu0HDhw4aeKk Lxcu3LBhPQtX
nmIghEZzA2fxnyJ1k9hZyhDV1AJxnMJ7DYf++tEtA+auTVUaaQAxcG2nv4iz Aeu6PK0an/xp
0VQjKAMpPmdMnmjSAvCnzB9TWQapA8qaWfzN07F2mQO5oKlpxGva745hmYPO Pury2nl+P7oS
NHcpDmQATwMhDgiAAAiAQCgJBDg2XS4tkBk5+qmp5czS0q6kpl5JqzoWQgQZ oDiFhmbpSxlB
9RTVaII8kKQv+8i+Ug2UpabtOGmXMBDHKZRNb0pegVw/umXAnKgUpZGvKQau aP3gqvZP0VQA
vZOpxid/WgyXHqtGZoGc0TRSkH5lLDVjZ4n5qrYTBfKU2fAFLcoAnh3DqjLA lGtUmghkgOlI
kSAIgAAIgIB9CQTixpF7UFaaJzNy9OMTSlRnA+ITSilceQoLoQHa11fKcF+R eRLhiUM5+nKc
eApp2HGy3YUUyPWjWwbMWp2iNPI1VcN9BZI/LX4lHot36KVfsUAKkUZjETTi a6Qpnisrm7JI
0hkD2VmyrGUl1EAhayr6yM/N2AUtLtbi2TGsPRsg3idgvxDZXAH/t9L7DdKk lMcUgtkA2/VH
KDAIgAAIgIAuAoG4cTRKlpbkyIwc/QsXCs9fKKJ3hRXRt8pTWAgN0NKvxPFa DJSGiJGVZ8kS
ERNnp7OMxGNfhWHhSsdJO770W2OOk662s0LkQK4f3TJgxspkpZGvKQayBwSJ TwpSjU9+sxgu
PWaBLEQWrhroK74ysjI10ZWXlUSMqSykr2RZUqo1lQUqr2aes8Q4Bi5ocTaA Z8ewbE5Q6uhL
FYIYrnpfX/mtxiSDTEuI6kL8XUEGWKGLQRlAAARAAASCRyAQN45GyZLiLJmR o//997mqswHf
/5BH4cpTWAgNyqpfsXDZt6qBnNF8ZaTMXek4+Sq8argBxyl4DR2klAO5fnTL gGnLk5VGvqYY
SE8Hkj4pSDW+9Ea7GEEWSB+l57JvlSFiuPRbdixNUHmur4JJyyM7FpNVDVdN UBroa27L74nS
CHovaOneAL87hjVmA2QKQemvy+7xK2WDePWrfqXUAyy+C2WA561jt7x9kszz +o+CvRldZe/E
eRrEe5omeVqksvdbWmd4WqR7mqZ6PkgXDuidWZNMmD0J5HiawGxF4P00D8x2 BG7qIel6u7nD
rJ/pESxZeH8r1XuQ7D2gj96QtxI9ryUJRgfCR7JMz2sZnhdPG3byAnHjaJQs LsqUGTn6R49m
Hj0m2LGjXqMDdnwsk75VnsJCaCyWfiUd2dm30giyj+KJykRUz/VVBmm4L8eJ 51wxjl7HyXA7
huvEQK4f3TJgytIkpUmfFETzANInBanGJ39aFi4NYceyOLJA7fiqKUhzVBaA fatMVhquTNZv
RmKm2jtdVCn5CtR1QUtlgN8LVFsGyE735ej7vcEfXhmgsQ1fySfETwpi3v/P Ohbd1rui2uDK
P4wS7IGxlX+ZVFljYmWNzyqfmyJYzemCvTjTp7EIMNsR0GhTfGVNAra7xlBg 1f6TAlnXKr6z
zlZpQld8s1EXTUY99s+6XiUl4KlxwO9Qq4yg9/kwsrGpqDBdZuTo79+fqjob wMKVp7AQGqDF
rzSO2VfSd2mC0hOVafo6S1kkbcfJVxVUw3U5TgZaMLynBHL96JYBny5JUhr5 mmIgPR1I+qQg
1fjkPcvCpSHsWBZH/Kj8lj9EzFRZADFHWUbsFGkWfouqWmXxaqYDFkEZonqi aiD/BW3Wk4KU
vru5MkA5vRCM2QC9P9RQygASAD9pnk4a4Cdd82/re40GFVEJ3D+hkozEwOOT bxipAmbSQByD
AAiAAAhoE6C+lBmLxo6ZN89uu7AuVzQKlH5kN2hEY3012W09Ksg8TQo9zxuf FuAcpOQyoCC1
6GYjR3/HjoQdOxIVJgQKMkBxCgsRfPTrX/k6FqOJEaQxZYn4+ig7RbU8UjeJ RVCG+KqIMpzf
ceJsBftGk62z0PcvwpO+TlQa+ZpiIHtAkPikINX45Ekrw6VreNi3Ygg7Fk9h xxrxxcjSFKQ5
Ss8VU+NJX1kwWdlU60uBolaTRlAN9JWCLJzzgg78SUGiuy9ODrJLXzl1II3g 61vZib60hPjr
MndRkN4fbchkgOflw553EjwNzt/SPpPM0zGbGUmCW7sX39qjnISBp0/Frb0r ydgxvYuB7IAF
/qzXNZpMYDFhIAACQSVwS9drMNsRoEuCysx6VNZzMrulc/lP2l++tVPRre3z b2lV7GlZ4Gnq
fW9WQB+rQlrleJh9kCW807cNM6qWFVEI2XuJnle+99SM0Tvc6IovG5sK81Nk Ro7+pk2XfBl9
qzyFhdCgLP1KuiiIfcteysjSE5VnKc8VQ3yVhMJFH0kaRzVQIxHpV5yOk662 sGPkgGTAR18l
Ko18TdXwcAWSZx941qYkEngxNFLguaB1PSkojFezTDa4UQa8dczT9NINow0A bdKZJCAxwEyQ
BD5M+JZGL9Ha59NIBgMBEAABEPBPoG3WrWStM2nDFc3Kkgl7rpqkCNYwucrI v2dGe7TIaLPW
O3G31InxvEkWfWMrF2mAfx3x3LkiqOOpTAYU5CXJjBz9VavOka1ceW4lO1h1 jv5BjGzVynP0
rfIUl4TwOE5BbTsrJB6QDBi/MMGyJt7jN6WElJop6QQ1EWpL7Wta15OCwnh1 ulkGeJ7eLQwk
JAManK8ypge8SkAUA1VTBB8WeES7PmlAXwmCQXqbit2XgtmMgGSft7jhGwcg AAKmEyAvX2bM
41d4+dcd/evuvvjMBvYIB3L6yWhLQM2jVUYagLp0st8tCN6QKpMB+bkJSiOP f9myH0WjjywO
HZAMUD3FJYF+HafgNZxFUg5IBoybnwCzGgENJaDrSUEWuUClxXDDoqCqMePl w8LTgZgSUMgA
tlhIul6Iuf5CCE0asEcGsYcFsbGN3ceCgQAIgIDVCSQ/3jdjwOK8yKjCyDWi FUSuIcsXbHVe
5Cqy3MiVuZHLcyKXZUcuy6L3x7oneRonsV7up02TO8zITM6+Uqnz1eGzzJ82 8t7jfyfhp+/G
dZiSmpylP5HISz99/qgwCVDjgNCfP7bJ8/DKUMqAvJx4VWO3/5n5iuPacDdP CwQkA0bPjYdZ
kIBT1a0rZMCDi4WRQy4DvA8GvT4bIMoA0fWXeP+p3keIXjfZRLY4o40D6xMQ Vx3gwC4E2PoQ
WAAEHuuR3HdBTs2BmX/vkflk54xHO6Q/3C79gdZpD7ZJu78VWep9LVPva5Hy x6bJf3w/6a7G
Sb9rkHhH3Ut3N/ixx+S4x9rHMPgdpqXHJFf0mVPWamJpwzEldYaX1B5c/N/+ xa8OLH6hj2DP
9xLs712LyP7WueiRdkX3Nc99pmPc6QsFdK6wNesdQQOUx8dkftwnfUir1F4N UzrXSe5QO6n1
f5PavprU8gWyxA+eJ0to9HfBGvwtrs4jMbXuO9ngmdzo0x0iLwkagMmAP2/x UK/+f8OCd2dN
NhuQm30JZoCAUx0nvxdeQDJg5BfxMMsSYNe0kzSuK2TAnSuEkaPm0Z/Uks4G XP9nAO/N/lva
CvsEBKNjuvcvzgCIt/+lMwB2caFQThCwO4EA3F+IB0YgckXOC/0z3o7IqDsy /bXBaS/0TXuu
V9q/uqX+s2vqM11Sn+6c+vSHKU91TPlru+TH2iT9pUXC/e/H/6HBpWpvnr3r zf0Dpnn/TaVB
PM0B9P+ibPKay5+tuzx2SVm/L8q6zyzrNLW0w+TSNp+UtpxY2uLj0vfHlzQa W/LOqJI3hha/
2K/46S4FD3yQ+LcP9tPtf7bQnxLJmtQ/96vJeYs/y5kzNnNSv4zI7hkjO6WP 6JA+tE3aoJZp
g1qk9Xs/tXejlO7vJHd6I6nVi3ENnz752gPfvPW35IzyqtmAJ74LgwzIis2F GSXgPMcpuDJg
xJw4mPUJOOaydpUMEFaaVq0I8k4FtPAKgOvGtq+xHWw3VgGpLgSy/m1vlFCV gN19YheWHzIg
YAKRy7P/0SPtnZHp747KeGNw+sv90v7TK+257mn/6pr2j86pz3yY8vdOKTXa Jz/VNunx1omP
tEh84P2Eexpc+t2bZ//3Pzsjv6AHrFXJgPaTS2duuDxnU/mE5ZcHLyjrPaes 23RSAmXtPxWU
QOtJpc0/Kn0/suTd0SVvDy95ZUDxv7oXPNIy8XevbSHvX5ABbwkyIH1E+7xl M/NXzsmZOyFr
yuDMj3tnjO2WPrJT2vD2pATSh7ROG9A8re/7KT3eTe78dlLbV+Lf/9fpNx9Z /vffCYnQoiAy
kgF/+i7EswE5mRdggRNwjOMUXBkwdFYczEYExMsaB8YISJ9ZZCwFv2fRMyWE qWTaZEabz2g0
Il/K+8fAt7ZKrzc8Yf3X0cdWnDy45MSMkdtHDdk6uO+mFl22P9X62C8/iL9p M4DyuRZwtUEA
BEDA8gRolf9TH6a9MST9raHpr/QXNMCz3UgApD3dMe2p9qlPtEl5vFXyI82T /9I86cGmifc3
SbyvUcLd78ZVfyv6lzV3R36RyB7jQ154k3ElJAAmrbo84quyXrPLOk8ra/dJ aQty/ceVvjeq
pH5EyVtDi98cKiwToqmA53oXPdO14LHWiXfW/lbw4OvQ/wELMiCtbxMSALkL J2VPH5H5Ua+M
0Z3Th7VLG9gitc/7qT3eS+lWP7nTW8md3hSWCbV6MfGD5+IaPXP67cdW/vNO IZF/nhaMyQDa
G/B/w/x2/oFEkI5N2RnnYSYSCKRd7HKuVCro+9+AwTMuwUDAJQRk6y/9Kmxj EXzJgGGfxsTu
vZR4NGHfxh/nfHYoYvC3g/t+06d7VOeOK1q3WlTz/fW/bnr2xp5gyADLuzs3 njyIooIACFwn
ELks5/GO6S/1S/9v/3TSADQJ8PcPSQCkPdEm7dGWqQ81T/lz0+T7Giff2yj5 7veS/kDWIOmu
+vG/f/v8r17aG/lFkigD3h1VMmh+2dCFggbwu0+4Rpeiv32Y/0SbpHve3iaV Aak93s2aMihr
2lDSAKVH99BXqb3fT+3WILlTnaR2ryW1fDmx2XOJ7z9L4YXfrkpoWONSg799 X/eJVc/doyoD
jI0IPGeFZmziKQni2JFAQHsDXOL/oZogQARC09V6/rBNmEp+nmYDvNvdGibf 0iz1xV6Xzmw4
m3Y6Kf581s5tsV/OPz7IqwG6dFzeptWiJo3n1qs7/W9vL7u9yUXZ5mAajZbs K5F6nGxEhA8K
AiBgPoH6yR5YYAQil+U+2i7juV4Zz/fKeLZb+jOd0//WIf2JNumPtkx/uHna n5um3tc45e6G
KXe9l3Jng5Tfv5ty57vJd9ZP/H3dmF+9tC/yixTGn7o42hZM+wF6eucB/MqA Jz8s/uuHBU+0
TZbJANoWnBnZPfOjnjQPICbi1QCvJ7V8iTRAQqNnxPCEd5+89O5fv6+jJgNC u0XYjp4oyhxG
AibIgDCWHlmDQAgIMBUUOhlAU8kveZ9LTSuCGib/pGnaks9OXVhz8vtdMQf3 xW/aED17+sHe
TAO0XPR+4y9IA9R67ZP/1BxX/c2twj/dvJ9WZU1S2BD16apM0eNhIb+4c7T5 PhDuaIIACIBA
YAQil+Y+1Dr9X90zn+2W8Y8uGU93Sv9ru/THWqf/pXn6A83S/vR+2j2NUu96 L/X3DdJ+927q
7+qnVn+XxEBSdZIBLx+InJsqzga8NqiYdgKQBmj/qX8Z8Fin4ic+LKA9x3e/ vV06G5Dc/jXa
CSCsBRrePm1AC9HjT2r9SlLzmolN/nlDA9T9S8I7j8XVf+L7Oo+t+vfdQiLP RguLgh49KS4K
Ct5QFZqxKXjlR8rhJQAZEB3eBkDu1icQNhlAd7YaJt/aLO3ooqOnPt+/4esT a1b+MO/zwyOG
bKK1QF4NMLdePdIAk0gDPP3MiHv/PevW5llkwuogrxhgo1RZ2ZXhX1UpAcgA 6B8QAAHLEqDZ
AJIBf++S8UznzL9/mPG3jhlPtPVOBXyQ/uemafc1Sbu7Ueqd76X9rkFatXfT flM/9bfvplav
TzIg9v9eOhg5N00qA+hpoW0mlbX6uJQ6vfdGldYdWvL6wJKX+xY/16v4me5F T3YpfuTD4gc7
FtO3D3UsfrRTwaNtk/74llcGvFW1N4BkQNrgVmn0XCB679sstft7ot9POwFu aIA6Dya89eeE
Og/FvfPoD28/uvrff6ySAf+Ihgyw/viOEkIGuFEGHD6wxuKXvqVKGB4ZQM+u pqf+kzf/QfrZ
Zce2fpdCtvlgysb9yev3Jq3ZlbByR/zSby99vfnilxsvzlsXMyfq/CcLj12X AVmeJpmiDDj9
Q1pGVun/1KMlRhkSGZBx8lLVP+PQAX2VnldB3w5dUkTH9C47pm8pHAYCIAAC wSNAMuBPzTOe
6pRZ40PBnurglQGt0h9ukf7n5un3NU2/+/203zdO+13DtGrvpf+6Qdpv3iUl kPzbuhd/+fKh
yLnprGDUd/2ndxE9CIgeB9R8giADGowsqTu85PXBxS8PLH6ub/EzvYuf6FH8 l67FD3QuoW//
3Kn4oQ8LHmqTctdbO6pmA+ok0kFi8//Qg4CExwH1b067AlJ6NEjuUlf0/tlB Uv2/JNV7IPHt
PyXW+XN8vYfOvPnQmn/ddUMGsAkB+gexEP5vgMUHd5cXz1K+DWsLyADIgCAS 2D6mOpmBn72l
fiohlQH0WAmaTX4tSVjkSkMaefMfZJ1ZduzAJ9sj+tN+gLW0Fqh1y6+aNBL2 A9Sq9cnzNcfV
eGbEI08MuO/BXr/7c38mA7wTAoISEJ3+9JzyhNQSacjJOEEDbDyQM2/RcTo4 FVO0ZL8we37o
aOL/vJtw8Hy57Hj5mh9+/q+NQnlgoSEA0QUC7iMQuSz/ng8yH2+f9deOWU91 zPprh8zH22Y8
2jrj4ZYZf26RcV/zjLubZfz+/YzfNs74TaOMOxpm3CGIgdRf1437fy8djpxH c55VMuBf3Yvq
jyxpPFZ4NBB1Ze+OFP5E7PUhJS8PKnl+QPEzfYuf6F3ycI+SP3cTZMB9nUvu 71x4f5uU6m94
ZUD9TLbBIPH9f6V2q5/Wu3EaPRqoV+OU7u8KfyLW8XVRCSQ3fiK5wcPJ7/w5 uc69yXXuS6h7
/9k37l/zj+pCIjVjPM+d87AJAXpSULWPDYyDnKc4eFHQ1pkPc0KwSzRL+TaQ AUF0f0NzRe7Z
vVs0XTmG5kIkAXCtIteyMqBXj3YaJuUZNhng1QCeVjmHFh7lnQ1olX9rq3xP swLBmuSIMqDT
F0VllytOXSgUQ8rKr9ExbRK47Y2zdEALh27/76Gy8go6uO3V4+xb8ZjOpZg/ e/s8pQkDARAA
gSARiFxe8IdmWY+0y3qiY/ZfO2Y/2SHr8faZj7bNfLh15gOtM//UMuvu5ll3 fpD126ZZv34/
61eNM3/VKPNXDdJ/VS/hFy8di5xP9z6EDor6rqe7FL01rPi90SWNxnhlwKiS OhEltYeV/Hdo
yX8GlzwzsOTJ/iUP9ym9v5fw7d3dSu7uXHR365Tf1N55XQYI91AS3ns6+cO3 Unu+l9qrUVrP
hvTgoJSudWSzAakNH0599/6Uunen1Lk78e27z752d9TffyMk8nyC5/k4QQY8 cFaYDYAM8N54
1mWkAciFMKAEZkWdfbTHPqlRiK6sgxc5BN4Xv28DGaDvipRdFsz/NuVaMZYU nSXtj3QVRvtC
/HrtXm3jqTXTAMGTATExMYcPH963bx+90zFPkZRx6Nci69PpIwXKYoZUBtx3 WriNRLMBtNOO
yYCWBQunfX/ki/2zBq9vQ/MA3ucC1ao1qWoe4PEBf3qw5533dLmjevuf1dxw a+sSsltaFXua
CiY6/aQKPlkv3PcSQ5QV//kTi7b/IEwRnI4WxlHp+87vUunbKnXBNAYMBEBA RqBJoQcWGIHI
FUW/fz/nwTY5j7anJ4fmPNEx5/EOwvHDbbMfaJv1p9ZZd7fKurNl9m+bZ/+6 Wc7/vZ/zy8bZ
v2yY9f/qJd3+8onIBaQBhCag7uvxDkX0nwB1R5SQAKCP9UkGjCytPaLklREl NYeX/GNoyZOD
Sx8eUHp/X0EG3Nm99M7ORdVbpv7q9V2CB98w31M/jw7i6z1O/wmQ0qUuCYDU Hg1SutcXu83U
9jXZ8bXi/LT37k9754+pde5MevPOH/9bfV2NXwmJvJzmeSleUAJ/jRFkwO+m GhukeM5yzGzA
J59HibZxygMbpz5ALgS9k/nlsHHM78koWpOJR/tNO7B8T2piTvmO0zl0MGLu kRajvqVwv4mE
IIJfGfDDDz/s3Llz06ZN9E7HxorE6dtABhiXAeRzl5eX6fK8NdrSQGp0SkrS BbLEuB9jzp08
c+rQicN7pJMD2mXzKwPOFFb6MlIIfq9LQQOUxVaUxV4ru8jWBcnMbwraJSS/ nwTABe+Ljo8c
OZKcnOw3TdUIsl+LUgPQWaGWATRyCDIgg2kAspr9M3YtOLbp0x39OnytXAv0 +3s6/7p6h9sf
//QnzVJ/0v4yUwJMDIhOPx2TbTgqjHn0olv74mwAHYv24cLLLAK7/U/v7GP3 /htvq/MjSwQW
GgJMyMFAwFUEIleU/rZJ3p9a5T3cLu/RjnkT56Yq7c7WOb9tmfvrFrm//CD3 /72f+4uG2bfX
S/3pyycjv8wTb3881KawZp+i2kOK60YIMqDuyJK3IkpeH1Hy3xEl/xlR8s8R pU8OLX14UNmf
BghdYvUepdU+LLqjedovXt1ZJQMa5tNB3FsPJbaomdyxdkrXuind3rmhATr9 N7X9f9La3HhS
UPo7d6W9XT3p9WrRL96x9slfVMkAUgI0JwAZwDcJ0GvUgtVbj5KtofeP7qso OiFYodeKTlCI
9hBPGkDQDGN+/2jXHf2nH1TKgEfem8/jJHSOWMaMJ7KBONq+Dfn9JAC+977o eNeuXXFxcQZy
oVN4fBvIAIMygHntpssAXQlSGQrys7RNQwnwyICPZ6zQNl+XJnn8V/P3VniN HdC79ICOl/e4
Q/vK1i4hzQAcvP4iDRAdHZ2VlfXjjz/u379/+/bt9E7H/L8c8deiqgFCLQNo BlmQARnC+lSv
BhCcznaXO4yO27bgWNSUXQM6L37llY9qPDOc7Qf4vTAP0OHnT07+WaPoWzuV k5ESIKNTyESn
39PqMrPzycKif3Lxt58VXPydey+tO1FBkuBgTAWLcCr+KoXTDoGfP7mYAumY dhhT/P+hG5/X
E8EBCIAACASDQOSqsjsa5d/TMv+Btvl/aZ+vLgPa5v22df4dLfP/X/OCn7+f f1vD3J/VTbv1
5e8jv6rqo6jXurd54T+7F/23f/EbQ4S7IW8OL609vKTWiJKXI0qeH1HyD5IB w0ofGlx27wBh
Q9Svu5X+skPR/76f+rOXvbMBNKXQUHhGwqVa9yY0+WdSm/8md3xD1AApnWql dnw5td3zaW3+
kdHiSTE8/c1fp7z6yx+f/9+1j/9MSOT1XKEbZ0rg6d2YDdAekVv1mTHysw1k Ed53sq9H/YHs
aupXi0f9YfHIP2iczuYBmAxgSqB297VD5hxetv3SjNVn243b8Ub3Nf9osZjk AY9XQAJg6qL9
TAYMnb6N2aApm/tO3NgzMqrrqJU8iWjE0fZtaAbg2+sv0gAnT55MS0s7ceLE 5s2b16xZQ+90
zF8Av74NZIARGUC+dVlZMbN1qxfIbsDzzA8oT6F0mK7gVwKUSF5OmmiXy0rW b9m2cet2OhAD
A5cBGnMCpBA0rkXy8q9mLGNGx0rzex1r/1RoKoAUM3vt3r37/Pnz5PeTAKB3 9mLHfnMRI7C1
dL7ih3Q2gMmAt1KFFUFeDUD39YV7/J3Knx+cOXP692s/P7R06s43X/no0ccH 3Ptg79//beLt
tTb/rG3GbT0qbu1e+ZPO18hu6VxO5mlfdS+fnHimCpil55azkJ2n6DIWVgHl F1dEfHbq9jpn
KHDSFkEGjBy/kz4OXSN8O2XmwdvfOClNAccgAAJKAp5WV2EBEohcffmXjQrv bFF4X5uCB9oX
qsqA6u0Kq7Ut/FXrwv9tUXhb08KfNsy/tW7GLS//ELmoiOVOvdad7xf+tVPR c72K/jugalJU
9NeVB//XteznbYt+2ij1Jy96ZwM+uOx5X5AHF1+6M77+X+nZoKQEindvpJCU 9q+ktH85pV3N
1DbPprV6Ov2DxzLef5DCSzcvTK/9f8kv/fzHf/406i8/qZIBpARIBjyb4Xni O8gAjeH42w0f
lV2+orR5g6pfiR1N79oaIG5vi6vZW0S7HDuYlIBiNmDfo12+5XEJwjsbQC7N kuuvDRs2nD59
mvx+EgDHr7/oWK8S0PBtIAN0ywByrIuL8rVNWwmIMwmi36884NQSWRmJzMpK i5ZHbTx8/ATZ
6g2b6SMLN0UGZJVXqpq2DKBri1z/K8kzyfze+Ff9ZWrLgL179+7Zs4fmA2ha 4OzZs5mZmfQb
OXDgAIWTKmAvisDzm+eJE1IZQHsD6O7RW/RAnhwmA5gGuLXLFbKfdb1K7v7P el0ju613xW19
rwnWuyqEAkkJkN3S9RoZkwRswQ87Fu3nL+5gx7e9d/Hnf1tKEX7+740/bVvI An/WKpdC2Ed6
FzYHt8qVpYCPIAACMgIkvGEBEoiMKv/fRkW//aDoD62L7m1X+Kf2RWT3tS+6 t33hPe0K/9Cu
6Pftin/brviOtsW/bFX08+bFP3u/6NaGhbfUybzl5TORXxez3MkL/22jwofa FNXoUvTvXkU1
+xbX7FvyfL/if/cv/teA4qcHljwxsPShAaX39S+9q3fpr7uX/W+n0p+2KvpJ g5RbanqfFERa
4gNhKjX2P7+ldUHx79VIbPbvpBY1k1rWTGrxfHKLfye3+FdK86dTmz2R1vih 9PfuoxVBNBWQ
9ur/JtX86dm//2TNw7cIibxdWDUhQDKgxgHIAAMygITB7L7VtMdo8vgrUyZm HOw4v8sdZJWJ
Y+h9+OdHVGTAh9/wDPcUx9iKIM/NL195afs233zzzcaNG2k+gKYFjh07lpqa Sl7N1q1bKZxU
AXtRBM6KcEbDA0N5xQB51fl5mX7NrwzwKyQogl8lQBHSUy6SlRQXLFiyigRA UnoyGR0sWhFF
gfSVKTIg50qlqvmVAaISkMkAWjLEs/Ff+6dCq+WOHj2amJiYkZGRl5dXXFwc GxtLMoCmzKKi
olZ7XzQhwPkb8BstpDLgDydEGSCdChA0QI9yFQ3AlEBfQRgIMqB3ZZV59QAz uGsgAAIgYAsC
kWuv3vZewa+aFvyuRcFdrQr+2Kbg7jYFf2hdSHZnm4LqbQp+26bwjtaFpAF+ 0aLotmZF/9O4
8JYG+Z63afnN95FLSlkdyQv/v3ey726W+0jbvKc65f29S/4zXfNrdC2o0a3g rz0KHutZ8FDP
wvt6FN7Vraha5yJaDnRbq8KfNM3z1EnwPLelSgZ4pxSi//V/F165O/btRy6+ +9Slhn+Pa/xM
XMMacY1qxDf6a0LDx5IaPJT0zn3Jb9+VXLta8iu/THrhtrhnf3LqKc/yBzxV MoApAZIBWBSk
uT1g07pJqrMBFEhf+ZUBuQdbkOtP0ZgSeKzjOlUZQOF+x3oWQZQBemcGRCFg eFHQuXPn6CYm
+TO03TE7O7uwsJBudJIMWLZs2fz58+d6XzQhwFkRzmiQATpkQHZmsl/zKwP8 pkAReGRASsK5
4sK86fO+PnTseGzCJWYx8Rfp4+wvl9JXpsiA/CuVqsYjA5gSUMoAHiXgdzc9 /TxoV8C6deuW
Ll1K73SckpJC2mDbtm1ssRDpac7fgN9oYZQBTAmwRf9sKkAwmgcQpwKuywBt JSBKAhzYhYAt
nDYUEgTMJTBg2dXfNc/8RcPM/2uS+eum9GDQTLJqZM3oY+YdTTN/1Sz7/zXN /sX72bc1yfpp
o+yfNMi+pW6G543EO+rckAHJORWPtLhUrd6lPza8dH/ThIc+iH+4edyDH8Q/ 0CLh/hYJ97ZI
+GPL5Ootkqs1T/m/Zsk/b5LyP++l3FI3wVPr+/vqbhY8eJpSaHU1Obvi2BuP HH222tEX/nji
1ftPvP7QidcfPvHagydff+DUa/efrnXvmVp/PPPf6mdfqnam5v+d/ffPz/zj f0797ZY9j3lW
/Oc+IZH6RVUTAkwG4IGhvpVA1KopxaVXVI2+8jtAk+tfVpzNZAC9s30CNBtA 7zRLcP1JQfse
bce7rF/0/qX7BDj3BpAS0C6wX9+G7mzu2bFnzpR1E4avpHc6jo+PJ21ANzfZ cqGVK3kr4hcd
FgXxCgARpXAPPvWStvmVAckJ57TNrwag8lCchIs/FBXkTJmzkJTArIVLvv/x LBkJADqmkML8
bFNkwC2vDVYaCQNOGaC8CsU/E9D+PwG/PxXy+0kAHLr+omMKoVkCWibEfjC6 9gZo/1rCJQPo
oZzihABbGvSzzpflYkCyIkh1NsDcQRqpgQAIgEDwCDw+/Gr3+cW/ez/2tjpn f17v3C/qRv9v
3R9/IVg02c/rRt9W99zP6p7/nzoXbn3r3E/eOHdL7QueWtF31D3TfUbe433L WME6zis5eT7/
kUZ7f/niN79+dftvan3721pbfvPqlmq1tlV7bfsdtXb8stauX9Taffure2lP 8K0v7rrlxb2e
53fcV3fLiejsDp97Vxa1utphdnHO2ZMbX31k8eO/XPm3X6+o8ZtlT/922d9+ s/Lpaquerra6
xh1r//bLdX/9xYYnb1/72M/WPnLrhr/csvpBz8r/3Jfxw4kO0+iRo5ABvC7W smUz8gvLVY2+
4vRlWTTxeUHk/ZMqYHrA+8DQfY+1XsqZlOHZAJ70/fo25PeTAFi78gQzOqYQ miWgZUK0Iohm
A3TtDeApEmYDeK9URpN8a9GJX7F4jilbhCmduJhTzHg0ACvGxehjzAryMkkM 0HIgmgeY9sVX
9JGFmyIDSirUnxzKKQNUnxZaUXKGmYYS8PtToRkAtvhHfNFMWVJS0o4dO2gq wEQNQLRDLgNo
i7B3b4D3L8Donf4RTDBhWqCoSgyQHvBKAmZs54DM2IjIZhJgtiMQ4BprnA4C tiTQ7upjQ65E
rquIXHeVFghdtyuRa70WJbE15ZFkq8sjV5UP+PLyY30ve9peZVX+aYcr5M1r 7AlW/Ypu/3eY
XfjT1qXCE5A+uPzTFqUdZlT93yJ/UslZV0kD/LRewU17AzAboLkoaOGiL7Ly Lqua8BXf80ZF
DcAeFkQagB3ckAGtvuJMytjeAM7E/fo2NAMwacxGqX320dqLFy/Sgme63Wm6 BqBiQwbokwHi
nXi6Gc/psvu9OCgdXRpAFCSiCJk4Y97eg4fJJs2ct/Dz6SxcI1/OB4bSk4Lo wfGqxiMDhCeH
Zq29krWW3n2ZLyXg96dCv4dpN78oxC9qYxHCIwPqJHreS/Q0SfFa1d8J06bh W9vnV5kgCUQT
Hg0kMxoO2cNMgvFcP6QZfAJ47IztCOC3ZkMC9Fwg755gejqQ8LcD9LTQxiWe JqWC0UHDIuG+
PntnB6LVz/O8nUt/NFb1Le0EYJsBZIZFQf78+NnzF6ZmX1Y1+opz1CaPn54R JH1kUN6Pw2+S
AS3mcSYV3tkAuv3fucUXUqMQzpIbiwYZoFsGMCXAf+feb8MEnhqlsGPPAWY8 4sSvDKD/CCNH
n2QAPWRe1XhkAFV8cZc7lMaeIERGX/mC41cGLFq0iHbMSF8U4he1sQhhkAHC M0PjPDWPel45
ccurJ39SSzDPm9HMbqkTw8zzTpyH1MI7CVXWIP7GMQukb2EgAAKhIfAa/eMH zG4EqKd9K1G9
4V6J8bzkNfpnd2YvnK/6yMLJWAi9P3dOsGejhfd/RAsH9E49OWSAPxkw9fPF CRllqkZf8Y/a
NANASqDw/Fi2V5hs1Hzh/4Pf7LX21S6rH282hzOpQPYG+M3Cr28zduDyQT2/ lhqF+E02kAiQ
AUZkAFMCPA43T9uYkpRMCQQyG8DKzGQAPS5B1ThlgLL65Pr71QB0lt+fCu0E oMkAcUUQHVMI
D20DccImA145IcgArxIQxQCTBDJjEQQT40tOvPGtGA0HlidATQ+zF4GqXx/7 6cHsQyCIlxnJ
APoXYTwpSFMJTJyx/FJamarRV7qGbKYE6L3zpD3TV52VyoDhc7j+Pkyand4n BfEU1a9vQzsB
aCrgk/FrmdExhfCkbDgOZIBBGWCYePBOlG1U0MjI74XIZICxfxHWriCTARrz AOx0nhKS379g
wQISAPQePA1AhQmpDLjrxG3PnK/eOef2hrH8C1IREwRAAARAwCIEcgvLsvPL MnJLPLXzPc+f
99y/zFNtYvCGfqkbJ3PpgpepiSlHfrZKw/RmxOYBHm88WWqDZxzQm06Q4vP4 NuT3D+21hAQA
vQdbA1A1IQOcIwP4r1qeC5E/NV0x2Rohv6eEsYTKskEGWGRwRTFAAARAwLIE RO+fBAAzyAC/
Y73bIljKt2HwIQMgA6xIwFI/FcgAy467KBgIgAAIhJcAef85+VW3/0UBABng Nv+es76W8m0g
A6zo/nJeSQFGs+CFKKuRpUoIGRDeURa5gwAIgIAFCZAAYDMAbAmQ0jAbEKCv 4rzTLeXbQAa4
VwY476cV1BpBBlhwAEaRQAAEQCAsBJj371cDYFFQUMdlJG4WASwKghgAAT8E IAPCMtYiUxAA
ARCwFAHm+lORNBYCSecEMBtglquKdIJHwAQZQEnAQMDBBCADLDUSozAgAAIg EGICUgGgvRDI
IjLAwSMyqmYWAdMWBYX41yjNLnjySDvlMFYZWYeeAGRA6JkjRxAAARCwCAFV DeBrP4BFZEC4
vCPkazsCJswGhPGHGi7cYawysg49AciA0DNHjiAAAiAQdgIyASDOAzAN4FcJ YFFQuJw05MtP
wHIy4NSqwaL57QL462luTL8FQwQnEYAMcFJroi4gAAIg4JeATABQfPZEIKn5 VQKQAea6Xkgt
GASsJQNOrhws/XGeXDlI+7caDCI8afrtQRDBSQSsLAM83hfRFg9sSt5v+f1G sGnFUWwQAAFL
ERA3AVOpxGOl9+93KgBPCuLxphAn7AQsIQOmj5zgtfHl6fPISi7NyDr1ceLu 4efW9abAm22C
tL/whY88BtlXyhDluTxx2FmW6rNQmGATsIgMUPWDwy4DWAGYFBFfqoHazeTX y/cbIdiXAdIH
ARAIGYHC+AMmGvPmeV5+NYBMD6j+XQD+RTjsri0KwE/AEjJgwtBJY6d8V5m/ R9soDsWEDODp
yxDHRAJWlgEyz9vEWnMmBRnACQrRQAAE+AkUXVh3Ke7iqaNn6T0QIy1RtLrl j/u+pgT95i7T
ALI/BzAwIYBFQfzOKGKGi4AlZAD9OPv0nlaZuV7bhDg3vzAb4LdfQ4TACVhZ BihnA2R+ua/p
AjGaeCPfV1LaSkO5JEk1RJkdJSsNlN7sl4WzAmA2IPArGSmAgF0IkNd+LjqR UwBcTMqmmOw9
IS2P3pMy8pPS8+NScilQ0ACrWzIx4Kv6qpMAFDknv4xMuStA/Odg7aVBDpYB I+ZucZKFywW3
Qr5WkQHtOs2uTF6kbUIcHzJA6jcQVtlH1RBloPIsXyfapSdFOU0hYCMZ4Mun V2oDpXOvdL5l
nreqI+5XBvhKJMBwU1oWiYAACFiTALns0XEZUruQkCkaOfdk5OWLRt6/4Pqr GU0pMBmgoQRU
ZQDTAEoZwHYGu3xvAGkAa145BkpFdbGCOx6uMoRCBlAe1DDa741bzau8NIOs VYe5rduTzfO+
C9aK3jt43+nY+63YzIwa+RMiPnYcvBDsDTDwG7P7KTaSAb6ce40m8DVdoLwB ryEDpLf2ZTfv
A3T3NYpn9+sK5QcBEPBFgC0KIhkg9f7ZMdMATAaQ3y/VAyQGmEn1QFp2YdW6 IDUlIH0iEBVG
1AMs3O9sgGv3BkAGhMtrNz3fUMgAnp7urWZfV56fwKxBiy/Xxlf4snebfwUZ wIMUccwi4DwZ
oLoax5eXr7zfLwUrm3/QWGKkSx74nZowq3GRDgiAgAUJ0GyAKABID0jnAaRK QHT3fQkA0gCC
DLiwjm0PqJoWuL5PQNw67GtXgC8ZwDkh4OxFQRa8bIwVCbMBUmnRb1xMv8jY bn2P1WuwrepW
e7NOx/pGxPSbGNtvYow0KgkI5h4Z4y4766WGyyvPDCd7rfHSZWfLlp0pW3b2 snAgvItW9lqj
pdITMRtgCnwkok3AYTKA8/a8ttcuEhP9fjYhIA1X1Q++7u77veuPvQH4nYKA ewhIZYDU7ydJ
wFb8k0lv+bMZAOXSICYD2EbhKjGwuuXG9XMpxNd+AHFnMM9sgJv3BjjmaoQM sIQM+Ge9VZWn
+j/3zqp5+wvI5h4omEdGxwcK5nrfyZ6rv1J22UEGOOZ3aOWKuFkGMOdewwU3 RQZIs1DmpT0d
YeUrB2UDARAwRoDJADYPIO4AFtf/0IHM4/clAEgDpGQVJmUUsHVB0u3C2suB NBYFcU4F2Pp/
A6Qrq1VXoWBRUCCLc/72t78Fcvr/q7+STmfvPKadnVUWBT31ZtTf3lo7dWOW YN9kTt2YOfUb
OqZ3OhZC/vZWlLI3kW4JED0Jzr0BqluEZXsMsEXYWA/usLMsJQOkq2VEH13q rMu8do2lPr6S
kjUfvwyQnijNV7nCRzrVoPTyVeNjNsBhPytUBwQ0CDAZIG4DkB1Inf6jHY7K dgLQRzYJIBrF
F3cJy7YL+1oO5Ji9AbLuVOYg+XIiIQN43GvDcR577LFXXnmF/3Ty+KVOv14Z oJ2dVWQAdQeP
vr5ew1T7CyVEv9euKnees6Rx0H27ikCIZcDPnzlfvXPO7Q1jrQMZLrh12gIl AQE3ECAZoKoB
ZDuA07alkQygd/L4RTEg0wBZeSU0q6CUAV9+PpWWBhFM2bZgnkVBnBMCwt6A mjGeexZ4qk3k
9/n0xpS6cTKXjtPpN+BKYTZAbzNJ4z/44IPPPvtsw4YNORMJUAZoZ2chGWCg a1POBnAyFVcT
Mf9G4yzpJIMYzUBRcYp9CbhcBkAD2PfSRclBwKYEmAyQTgiQAGBrgaS7As5N PLfrpV30rpwB
EMWALxnAlglpaADDewNSMgvJktILrCkDmM8jnSXwtbBCQ0VABujyNmWRH3ro IZIBLVu27Nev
n990xHkA2QH/oiDt7BwiA/xyNDeCTTtWFNsYAcgA6QYAYwxxFgiAAAjwE5DO BrB/BKOdwcqH
gdJUAMkAti5INgnAPpIGIBO3BCjnBHLyS6W3/2XHnP8bwJx+ZpfoMabX3y0i A2QevygDZKug
pbdExWNf90khAwLxKh955JHnn39+0KBBy5YtW7nSzxL/wGWAdnaQAVwbLGTt zd+XIaYDCLhc
BjigBVEFEAABexGQLQpiTwFSrghiGoDe2bogqTEBQEaBTAawLcLb9myZt3Yd TSCM+3wGrQsi
gaFXBoj/HSbz/kkAyMwiMkDmwOiSAb6cXciAQGTAM888U69eva+//vro0aN+ 0wlcBmhnZ28Z
YK9+DaW1KQHIAJs2HIoNAiBgUwLiFmHm+mtPBcgmBEQBwA7ofj89KpS2ASSl 55PTf/y7U6QZ
lm7aQGZABtCuAKn3z278K42FQwbY4vIL/QNDGzRoQFMBO3fu5NEAbGOAaHSK 3i3C2tlBBtji
KkUhw0kAMiCc9JE3CICA+whs27KSef/kuIt/CCB9QBC58sz7Z8YmBDJyi9nt f1EJ5BSUso8k
BtgxJXjq6FmKTFnQHwjwzwaQACDnXqkBpAuBxBVB7MABMgCLgvx66gYiDB48 eP78+TwnyjYA
SAUA/94A7ewgA9zXv6LGOglABugEhuggAAIgEBABmg0QlwAptwSQMBB3BdDy HvFYuh9AcP0L
BNdfMMkGAPrIlMD2vQf9ygDx38GqvP+MAvoLAnEbgLgZQHVCwHazAar7hiED eJx1vXEmTuR9
cpQpMkA7O8iAgLoqnOwGApABbmhl1BEEQMA6BJiDrtwPwJ4Kyh4QxOYBmAxg SoCOycu/SQAU
qOwAZs8OIiWgIQOkAoA9+afq+T8SGSDdDay6LsgKswF6PVTO+NgbwAnK+tEg A6zT76EkFiUA
GWDRhkGxQAAEHEqAVuwwj1/l74Ely4HI72cmXRp0YxLAOxUg2wFMwCiErQ6i XJSLguQCIEsi
ABSzAdJVQNbcIhwkNxQyIEhgQ58sZIBDO1FUyzwCkAHmsURKIAACIOCfAN2n l/438I2/BlPT
ABpKQNQAzPtnRsckD0hgyGSAKABoGwDbCpySVVh1wP4KQM+iIIvsDQiSWwkZ ECSwoU8WMsB/
f4QYLicAGeDyCwDVBwEQCDEBVRkg3RYszgNQoK85AdV5AFEP0NIgUQaIzwBl AoC5/sI7TQV4
ZwNIAChlgHJRkPjgIOs8KShIbiVkQJDAhj5ZyIAQd27Izn4ELCgDLnzzzZ5m bx9u/sah118g
o4Pj3Vsk7ttnP7goMQiAAAgoCChlgGw/AHP9hb8L8JpSCbB9AuLtf9m0ABMD Bw5+cy46kdx9
5TzADQ1wfVGQ6myAxqIgx88GkBJwjIXe+bZOjpAB6IBBwA8Bq8kA8vjJ9Y9r 3Sx7VETpl3PI
6IA+UiB95bc5rfmXwL5KpV1aa9bFbxM4KQJrAmPNFxoO0rIpyxnGS0i7YIHA CWOlAim29Fyp
DCAvX3wWENsTLNMAvpQARaavVAWATAaIkwA3ZgPYcqDrswE3TQgo/jDYyk8K so67iZJYkwBk
gFm9FtJxLAFLyQCaBCB3P3/ihJLxESURgwoH9SUrGTGodEJE9qB+9BVF0G4J mYtgoscQSFK+
vMkQywADVTBwipN+KtoNFww4etO0uAzQ1lHGLhW9iIzlEtSzmAwQBYD0uUCq GsCXEmAnMjGg
LDDNBtDzglRWBIlbAiQyQHs2QLYcyDr/G2BN1xOlsg4ByICgdmVI3AkErCMD aC0QOfp5kWOL
+/cu7NGN4NI7M3ZMX1EEiqbB3ZougrHbyabXxfQEnfAD0KxD6GcD9LaRxWUA o6u3Urqkvu0u
QrbIh80ASP8jzNc8gLg0SLk6SJoIW0QkpSEuCuKcDeDfIuz4vQHW8WJRkgAJ QAbYrodEgUNN
wDoyIObD3pfqNS77eHxBhw5klTt3EgvhgF47d9JB6ccTKML3jVr6YqSxKIK+ Yi/ZubJw8aOv
pJQRVP0wZbJSZ0g7F7GcqtE4UxarKY3vq7JSX01WcdEP1gCoWjXVArCY0oZQ 0pN53tplVuYi
S1CWl4ytr0L6ukjExDWwaDQQZ4P6KrPSpVa99qSQpQXWe10ZYyVFKl4Yvn41 qsWTniWTELKL
M9R9pRn5iY/+lAoAjbVAUg0gmxMQHyQqUxRUTDY5QDLg+I9cewM4twhLVwc5 e29AgK4nTrcO
AcgAM/otpOFoAtaRAaeerZXZrVdhu44FzVoWfCBYFfidO/ObtaLAwrYdKAJF 0ysDeLwHmfcp
8z9krokvv1mZkTRZzixkjpTS+ZPlrlo7ZV4aHpXUqVV6wNquGI9Pr1EjVRkg 87Z5gPhyiFVb
SunNq2bht9i+NIyvBtJVSF/YNVx/XzpBdoXoKoZfVlIXXyqBlFe+rutW9Rrg +SFbv7cO5WwA
kwE8swF6twhb5F+EreNuoiTWJAAZYP0uESUMMwHryIDv7nyseGhEfp1GojE0 wse6guW905gi
fHfn4wZkgC8HQnafUsND0nDiVb/id4l8+aCqhdEoMHMclfn6cme1I3NKHVkh lWlqu608nrS0
/LL0tRWCrwoqXVtfyWo71qqF57yipGXw1WQyD1t52fu6QmRYWDqhYaXMWlXP yH6PPNet7JQw
95uBZb9tzxZz9wZQcdgMgPSdcglwb4C4JcBt/yJsTY8WpTJAADIgsL4KZ7uA gIVkQPVHi1p1
S3rqJWZsURC9xBA6yK/b9Lvqj+qVAaIzp3Q+VL0WpfMnujIajpfMuVS60SyC L4dM9pVf50k7
NeW32lkrczcmA1SbRnRDeZx+fj7SvHSlrJQB2j90X4lrZ6q8inQV0leLaNda o5WNtYJfVjKt
IsvF11WqLUtUf6fOkwHsX8MCfFKQ6Porr2GSAfyzAVUbA+gfxBRPClLdHxze 2YDsjHMwENAm
wDQDZIAL3FhUMTAC1pEBwqKghq1ynq9NxjSA9ICFUwQDi4Jkvr7qR04f3e9d VQ33nTMLXcUz
4E75ck9V3SxdZfbrwQfoB/tNX1u6KHWa39ppswqkOsb8Y20vX1t4aEhZjYpo yABtv1xaQR5Q
vtpOWSlfP+fAOsKQns1mA6Rm4H8DpAJAORVAIZTLke/jpU8KEv45mP4sLN37 Z2HX3X3lgfLv
AmKTctiEgHgQXhlQWpQAAwFtApABIe3UkJl9CYRYBtxe41z1zjm3N4xVEqMt wrEv1Snq1i/7
9fr0Lb0zEyTBzp10UNytH0WgaKq0tb1Y8Sal7FzpvUwNH0vDhVJ1U1STlXpU YgRf5fFVGI0C
s1NkKat+FMssxRK4DJAWQDULZQRlmWXF0K6OhmTSSFlVD/i6QlQbQvRxle2o LLCuQorF1gDI
4+5Li8FTJF/XlV5Wssr6AuWrlaXiQfrT0Lg47dj3koNOf/4lNfrTX13/Iixq APFRodIDdswW
BbH/DNb2+8X7/eTlM5N6/GKg9MCdMuDgx/8SDV64xQlABtixb0SZw0DAOjIg ZcXG43/+d273
PgUdu+bVayQzCqSvjj/6LEXjlwFhAIosQSAkBJS32EOSbRgyUdUAYSiHeVnO /Gom+f1SI0ng
SwmwB4mKjxhiTwWV3f6XfmTFZLMBx787Jaz28d74j0vJFd/Jib943eNX9fKV gRcSsmSBntr5
npoxnnsWeKpNNLBom/MU6aIO8bikMD70tqLjPdJMZR9DXx7kqE0AMsC8Hgsp OZqAdWQAYb7U
fyQ5+nl9BhQPHpHTpLlo9JEC6SuK4Ks1nOcrOPq6Q+UCJQAZECjB8J3vSwb4 UgLaGkBaD/an
wqIMOHrgBHn/ZOT0+zXy8mMSssjdJ4u+lCG1M7HpLFCcKwjvA0ND7wHvHvF4 WdossrzoyWkn
x8ftGhgd1ZMCpRb6UoUyR+pwQpld4HlBBoSvh0POtiJgKRnAlMCeu5+8+FYD ejZoceR4MjqI
ffO9Pfc9/mPb7rZCi8KCAAiAgAoBDRlA0wKyfQKiBqBwqZcvpiv6/bIFQjQb sH3vwYtJ2eTc
y4wcegoR32VO/9nYdDFEeixqALZPIIyzAcUFcSG2rSMeKcv7TsMogmqRyHuW hss+8tfC8Ik8
peIphrkF4MkxwDiQAeh8QYCLgNVkgKAE5nxN/xF24PF/fvubP3131+O0J5g+ UiBXfRAJBEAA
BKxNYNznM2R7A6QfyZtn/wjG/lZMPJZ5+aIkYPf+WY2lB0s3bSAZwATAuehE 8YBcfPqofKdA
cvql7/SRmTgPYJEtwgE6iAZO3zrokbK0KA1bOrA2j8Nt2Jk2fKKByvJUxKxk g5cOZIC1e0GU
zjIELCgDLMMGBQEBEAAB8wkwGcD8eKmJOUm3CzMZIG4JEB190emXbQwQIzAZ QG69AfvhQirT
A1INYJ1/ES7KvxRiW0cyIG6BaPSR2aaR/zjwecuji3uKRh+lZSP3XflRuiNf /FYMZCG6Pkrj
izkqU2DRpO/auagmG2LyhrODDDC/50KKjiQAGeDIZkWlQAAELEuAZIBSAIgh rNjiJACbFpDe
6WfHqg8JlQYalgFMA7AZA+lCINm/iYVxUVBh3qUQ24pufy6LnsxMOI6bxaw8 bd3VvOMVxTGi
/bh1hrRs5GcrP0oD2bEsGs8pLI7ydI0QMRcDpdIoYYjbgjM7yADLdoAomLUI QAZYqz1QGhAA
AacTEGWA6h190ZVnAoBNBShXBImQVB8TRN+SDKATeaYC6F/GKBp7Z0aTALQn mHYVK/9DgImB
8G4RLsy7GGL7quM9ZdHjyVZ0e4gdMCtPjqoo+DHq4/tFkxXM6z3fKC37KA1U hrD40hkD5Sna
3/rNQlkAWY6+yhli7IFkBxng9H4U9TOJAGSASSCRDAiAAAhwERg6fapyRZDy 7r44IaDq8Sv3
BshSYDKA/jqA3Hp6lx6wj6KxCKIGYJMAzNdX/oWwuDQojLMBBbkXQ2xfNPt9 2cmBggY4GXHD
vo8sj1tekfvDyFnrts58mIwOZAUjf1oawj5KA5UhfiPI0uSMr8xU9URlaVmI MtMQN4He7CAD
uDojRAIByABcAyAAAiAQSgJMBijX+bAyiF+xRwbxPCBIda6AZACZUgAoVYF0 EoB2EosCQLzx
L90VwI7DOxtQkBsbYptU77deDTBQauUxc66m76zIPUXef8XVcjKvDLipbF7v +UYI+ygNVIb4
jaB9Ok8WAWYaYvjGsoMMCGWfhrxsTAAywMaNh6KDAAjYkIDqbAATAFJ5QPfy aUKAbQ6WygPV
5wJJI7D489auY7MB2iauBZIJAOlUgEwGMHkQxtmA/JzY0NsXre+T2fYZnS8e Xk+uf3xmKZMB
dEAfZWWTLuBhX1GIGEc8FqOJcVRDZN9K0/GVgq9MVQvGAjWSDT15YzlCBtiw a0SRw0EAMiAc
1JEnCICAewn0mzJZNhUg/Sh9FpB0c7CvJ4QqVxOx1EgG0GwA/ZGwhgwQtwJL ZwCYANBYDhT2
2YC87BjrGPn9py7l5BSWkdEBfQxv2ciJD28BLJI7ZIB7e1jUXBcByABduBAZ BEAABAIkQDJA
9N1VnXjlzIDqc4FkWkK5N4DJAJmJy4TYs4BoHzB5/CmZhWSiABCXA8meDiSd FgjjbEBe9gXr
GJMBonllQBiKJ97aD0vuFswUMiDAbgqnu4UAZIBbWhr1BAEQsAYBUQaw4sjc d1/bBjSUgOre
ADYbcPTACdHEmQGlAJBpAIvPBuRmXbCUkesvmqUK5ubCQAZYo7dDKSxPADLA 8k2EAoIACDiK
QNuRY2Xev1QPSL/y+5xQVSHBUiAZQCZqAHESgGYAaBtAXEoumwG4aR4go2o5 kHRdkK8JgTDO
BmRnnIOBgDYByABHdZqoTPAIQAYEjy1SBgEQAAGRALnmWXklSen5Shkg2xzM /HhfGkD2la9l
ReJsAJsEYNsAmAAgzz4jt4QEAHu/IQauywDx7wKUOwSs8L8BuKhAwC8ByAC/ iBABBAQCkAG4
DkAABEAg2ARy8kuZBrgUd5H+PoyUQAiMPTCUCYALCZkXk7LJ40/LLpJ5/1UT AqQBbDIbEOzG
QvoOIAAZ4IBGRBVCQQAyIBSUkQcIgICLCbD796QEyNKyaSduPt2SJz1ARq65 7EAayL4SHuXp
PSAjh152QN+yQPFd/B8A9hVlwRb5kPfPrGoeIKswhUxcF6SQAcq/EBa3CIf3 fwNcfCmh6rwE
IAN4SSGeywlABrj8AkD1QQAErEZAuRxI+mQhJiq8uqLqQPyYnV+mNNH7l2oA QQxIZIAwD+Bj
NkD532EsJIx7A6zWXiiPBQlABliwUVAkKxKADLBiq6BMIAACriGg+qQgqr1s w4D0o6gEpAek
ClQ1AAXKlEDVoiDN2QDl9gCpHsBsgGsuT7tWFDLAri2HcoeYQIhlwG01oqt3 zrm9YWyIq4ns
QAAEQMAiBDT+K4CVULkJWNXvlwUqZQC5+740AM9sgMaioBuzAfcu8FSbyFyu YNjKpbPFZMVj
i7QjimFlApABVm4dlM1CBCADLNQYKAoIgICjCYirfaS1lAZKlwMpZwNEhcA/ G6CUATceEORv
b4DGf4fdmA2ADHD0FWvfykEG2LftUPKQEoAMCCluZAYCIOB6ArKl/+IMAPPy xXfpx0BmA1SU
QJb3UaHXZQDtChD+PuzmvQF+nxlatTcAMsD117M1AUAGWLNdUCrLEYAMsFyT oEAgAAIuIKCc
BFD9owDlCiJfkkB1b4DP2QCmAQJ/UhBkgAuuVTtWETLAjq2GMoeBAGRAGKAj SxAAARDwEtB2
/VUfEKRLBig3B7N5AOXegKoJAe+jRcX/CPP1mCDsDcD1a3ECkAEWbyAUzyoE IAOs0hIoBwiA
gDsIyHYI+NobwESC8jlCumQAe3aQ/Jmh4lQA32yA6n8JY1GQO65Wu9YSMsCu LYdyh5hAuGQA
PfMBBgIgAAIgYFMCkAEhHqyRnS4CkAG6cCGyewmESwa4lzhqDgIgAAL2JwAZ YP82dHINIAOc
3Lqom4kEwiUDgvGEaaQJAiAAAiAQGgKQASYOxEjKdAKQAaYjRYLOJAAZEJoh E7mAAAiAgJMI
QAY40ydwSq0gA5zSkqhHkAlABjhpYEZdQAAEQCA0BCADgjw4I/mACEAGBIQP J7uHAGRAaIZM
5AICIAACTiIAGeAeP8GONYUMsGOrocxhIAAZ4KSBGXUBARAAgdAQgAwIw4CN LLkJQAZwo0JE
dxOADAjNkIlcQAAEQMBJBCAD3O07WL32kAFWbyGUzyIEIAOcNDCjLiAAAiAQ GgKQARYZxFEM
VQKQAbgwQICLAGRAaIZM5AICIAACTiIAGcA1xCJSmAhABoQJPLK1GwHIACcN zKgLCIAACISG
AGSA3UZ7d5UXMsBd7Y3aGiYAGRCaIRO5gAAIgICTCEAGGB52cWIICEAGhAAy snACAcgAJw3M
qAsIgAAIhIYAZIATPADn1gEywLlti5qZSgAyIDRDJnIBARAAAScRgAwwdShG YiYTgAwwGSiS
cyoByAAnDcyoCwiAAAiEhgBkgFO9AmfUCzLAGe2IWgSdAGRAaIZM5AICIAAC TiIAGRD04RkZ
BEAAMiAAeDjVTQQgA5w0MKMuIAACIBAaApABbvIU7FdXyAD7tRlKHBYCkAGh GTKRCwiAAAg4
iQBkQFiGbGTKSQAygBMUormdAGSAkwZm1AUEQAAEQkMAMsDt3oO16w8ZYO32 QeksQwAywMCQ
6fF4DJylPMWsdEwpjDQRKpivsinDLVsL07EgQRAAAZEAZIBlhnEURIUAZAAu CxDgImBNGcDc
UPGlOvSG0fvkzFo1mjSQM53geR5+S8gjXcJei+DxQcogAAK+CEAGcA2xiBQm ApABYQKPbO1G
wLIywO/oG0bvkzNrv042Zzp+URiO4LeEkAGG2eJEEHA2AcgAu4327iovZIC7 2hu1NUzALjJA
OTkgmytQfqReQHUFi3TFC4vAE015FjtRGi4LUZ3NkAaqznj4mgPhiSyrji9E Yn39llBZR+W5
vlJTFsbZXhFqBwKuIgAZYHjYxYkhIAAZEALIyMIJBCwrA1TdevbDVvruUj9e /FbVub+xsPW6
ANCOJhMJ0qxVM5X6AcqUVVPjqZTGibLTpU65srIaIbKvpMkqS6hdd9UmUKXh KrcJlQUBJxGA
DHCCB+DcOkAGOLdtUTNTCVhWBsjGS79+p+xmOacL7iuaLDvVxKWBSmWiOsnA IwNU7/r7OlGj
1trFUy2wL9efUwbwNIGT3CDUBQTcTAAywNShGImZTAAywGSgSM6pBBwjAzRk g8Z9bo1b1Myp
VfXmtcNVs9N1r13Vt/ArhDhnDHxNPugqod+ZEF8qyM1uE+oOAk4iABngVK/A GfWCDHBGO6IW
QSfgPBmg6z639koVZVKWWhTEIwx8Of26KHHOBsiEhIwtFgU5yQVEXUAAMiDo wzMyCIAAZEAA
8HCqmwhYVgZoL3cRHVPRuRTjK1e2SAdsnmiyOOzGtjg5IL3PzRNT6f6qzjP4 qojUt9bITtWt
16isLDsZIh5isgbSoKTdInCnQAAE7EgAMsBNnoL96goZYL82Q4nDQsCaMsCO g2Kwy4y76cEm
jPRBAAT4CUAGhGXIRqacBCADOEEhmtsJQAbwD3vhjQkZEF7+yB0EQOCmecLa +Z6aMZ57F3iq
TQwemZVLZ4uJi8duH7ZRfw4CkAEckBAFBCorIQOCN4AhZRAAARBwKgHMBsCD sDIByAArtw7K
ZiECkAFOHaRRLxAAARAIHgHIAAsN5CiKggBkAC4KEOAiABkQvGESKYMACICA UwlABnANsYgU
JgKQAWECj2ztRiDEMuD2GtHVO+fc3jDWqUMj6gUCIAACbiAgyIAXYjz3LMTe ALsN+64oL2SA
K5oZlQycAGSAGwZs1BEEQAAEzCUAGRD4+IsUgkcAMiB4bJGyowhYUwaMmLsF BgIgAAIgEEYC
2rIBMsBRroDjKgMZ4LgmRYWCQ8CyMiA41UWqIAACIAAC/gmQ/IAM8I8JMaxK ADLAqi2DclmM
AGSAxRoExQEBEACB8BOADAh/G6AEARCADAgAHk51EwHIADe1NuoKAiAAAlwE IAO4MCGSVQlA
Bli1ZVAuixGADLBYg6A4IAACIBB+ApAB4W8DlCAAApABAcDDqW4iYF8Z4PF4 ZA2lDFG2JE8c
N7U/6goCIAACKgQgA3BZ2JoAZICtmw+FDx0ByIDQsUZOIAACIGATApABNmko FFOdAGQArgwQ
4CIAGcCFCZFAAARAwE0EIAPc1NoOrCtkgAMbFVUKBgEbyQBazyO+CIXso2qI MlB5lq8Tg0Eb
aYIACICALQhABtiimVBIXwQgA3BtgAAXAbvIAOmafnYcvBAucIgEAiAAAs4l ABng3LZ1Rc0g
A1zRzKhk4AQgA5RyInCqSAEEQAAEbE0AMsDWzYfCQwbgGgABLgKQAZABXBcK IoEACLiJAGSA
m1rbgXWFDHBgo6JKwSAAGQAZEIzrCmmCAAjYmgBkgK2bD4WHDMA1AAJcBOwi A6gyyi3CYg19
7RbgOUsZhwscIoEACICAcwlABji3bV1RM8gAVzQzKhk4ARvJAJnTr7fuPH8c xhNHb76IDwIg
AAK2IwAZYLsmQ4GlBCADcD2AABcBG8kA6dNCuermjcRzFk8c/hwREwRAAATs TgAywO4t6PLy
Qwa4/AJA9XkJ2EgG8FYJ8UAABEAABAIjABkQGD+cHWYCkAFhbgBkbxcCkAF2 aSmUEwRAAARC
RgAyIGSokVEwCEAGBIMq0nQggRDLgNtqRFfvnHN7w1j2E/VlNALBQAAEQAAE wkhAu5f21M73
1Iz13LvQU22idsxAvl25dLZ4unjswJEYVTKbAGSA2USRnkMJWFMGBDJs4FwQ AAEQAIFgE4AM
cKhT4JBqQQY4pCFRjWATgAwI9mCJ9EEABEDAeQQgA4I9OiP9QAhABgRCD+e6 iABkgPOGZ9QI
BEAABIJNADLARY6CDasKGWDDRkORw0EAMiDYgyXSBwEQAAHnEYAMCMeIjTx5 CUAG8JJCPJcT
gAxw3vCMGoEACIBAsAlABrjcebB49SEDLN5AKJ5VCFhTBoTx4RjIGgRAAARA gOuBoXhSkFVG
cpRDTgAyANcECHARsKwM4Co9IoEACIAACASBAGRAEKAiydARgAwIHWvkZGsC VpYBwZ7URvog
AAIgAAJKAjSoQQbYemRH4SEDcA2AABcByAA4ASAAAiAAAlICkAFcwyciWZgA ZICFGwdFsxIB
yAAM/yAAAiAAApABVhqZUZZACUAGBEoQ57uEAGQAhn8QAAEQAAHIAJcM+i6p JmSASxoa1QyU
gO1kwMqls8lUf+EYyEEABEAABAIngEVBgY6sOD/cBCADwt0CyN8mBOwrA5gY ECWBgZFvz+7d
ZAZOVJ5iYlKmlAeJgAAIgIBhApABNhnAUUyfBCADcHGAABcBm8oAqQYwpgTI cS8vLzNRBpiY
muHBGyeCAAiAQOAEIAO4hk9EsjAByAALNw6KZiUCNpUB4jyAsTkBpgFMdNxN TzDwgRwpgAAI
gIAxApABVhqlURYjBCADjFDDOS4kYEcZIFsLpFcJkMteVlbMbN3qBWw9j9T8 DpzKUygdpitM
lBZ+i4EIIAACIBAMApABLnQGHFZlyACHNSiqEywC9pIBvjx+fiVAHnxxUb62 aa8UEm/8i36/
8sCstUbBGOCRJgiAAAhoE4AMCNaIi3RDRQAyIFSkkY/NCdhIBsh8ffbIINlT g7T3CZB3np+X
6df8ygC/QoIiQAnA0wIBELApAcgAmw/sKH4lZAAuAhDgImAvGSD18mUygK0U 8isDsjOT/Zpf
GeA3BYoAGWBTBwjFBgEQgAzgGj4RycIEIAMs3DgompUIhFgG3F4junrnnNsb xmoPtCPmbiFI
yjh+ZYDf8Zu88/TUS9rmVwYkJ5zTNmgAvw2BCCAAApYlwC0DYjz3LPBUmxi8 isj6fJaRlYZQ
lMWiBCADLNowKJbVCNhXBmiLBI1hiXx00YlfsXiOKVuEKZ24mFPMoAGC5xMg ZRAAgRAQgAyw
2kiN8uglABmglxjiu5SAfWWA6qIgzgGSPPWEiz+QmeWyUzrQAJzwEQ0EQMDi BCADXOoQOKja
kAEOakxUJZgE3CkDqINgjru5MsCs1CzuIqB4IAACziYAGRDMURdph4IAZEAo KCMPBxBwrQxg
SsAsx93EpJztXqB2IAAC1icAGeCAwd3lVYAMcPkFgOrzEnCzDLD+YIwSggAI gEDoCUAG8I6g
iGdVApABVm0ZlMtiBGwnA8QtAaoHoR8vkSMIgAAIOIwAZIDFBmoURzcByADd yHCCOwnYSwY4
bKxFdUAABEDAggQgA9zpDzip1pABTmpN1CWIBCADLDgGo0ggAAIgEEYCkAFB HHSRdEgIQAaE
BDMysT8ByIAwjrXIGgRAAAQsSAAywP5ju9trABng9isA9eckYGUZwFmFYEQL 18AcjLogTRAA
ARDQS4D+yl27G/TUzvfUxL8I6+WK+CEiABkQItDIxu4EIANUWxAywO4XNsoP AiAQCAHIgEDo
4dywE4AMCHsToAD2IOAeGXBq1SDR/LYNZIBfRIgAAiDgYAKQAQ5uXDdUDTLA Da2MOppAwCUy
4OTKQVJYJ1cO1GYHGWDCtYUkQAAEbEsAMsC2TYeCCwQgA3AdgAAXAWfLgOkj J3htfHn6PLKS
SzOyTn2cuHvYuXW9KPBmmyDl5UsGeDwe2VfKEOW5PHHYWVxthkggAAIgEGQC kAFBBozkg0sA
MiC4fJG6Ywg4WwZMGDJp7JTvKvP3aBvFoZiQAY65qlEREACBAAlABgQIEKeH lwBkQHj5I3fb
EHC2DKBm6N1rWmXmem0T4tz8wmyAba5gFBQEQCAIBCADggAVSYaOAGRA6Fgj J1sTcLwMaNtx
dmXyIm0T4viQAbSeR3xRtyL7qBqiDFSe5etEW19LKDwIgIBjCEAGOKYp3VkR yAB3tjtqrZuA
rWXAyqWC+6793qjlvMpLM8hatp/bqh3ZPO+7YC3pvb33nY6934r4WA8iXdPP joMXgr0Buq9d
nAACIBA0ApABQUOLhENBADIgFJSRhwMI2FoG8PB/s+nXlecnMHu3+Zdr4yt8 Wf0PvoIM4EGK
OCAAAo4nABng+CZ2dgUhA5zdvqidaQRCLgPOVe+cc3vDWO0nctIIZFYNX3xv eeWZYWS1Gi1d
drZs2ZmyZWcvCwfCu2hltRouleaI2QCz+CMdEAABOxLglQH3LvBUmxi8JyzT ZK+YuHhsR54o
c4gJQAaEGDiysysBx8uAf9RdVXmq37/rrZq3v4Bs7oGCeWR0fKBgrved7N/v rJS1H2SAXS9o
lBsEQMAMApABZlBEGmEjABkQNvTI2F4EHC8D/vpG1FNvrp26MUuwbzKnbsyc +g0d0zsdCyFP
vRmlbDLx/pNyi7D0K9XdAqpbhGVnYYuwvX4mKC0IuI0AZIDbWtxh9YUMcFiD ojrBIuB4GUDg
HnltvYapkg3kL8Ck5/L8cZg0TrCaGemCAAiAgB4CkAF6aCGu5QhABliuSVAg axJwgwwwQF45
G6Br8av0GaMaf0HAokkjGCgqTgEBEAAB0wlABpiOFAmGkgBkQChpIy8bE4AM 4JwN0CUDDEe2
8ZWEooMACDiIAGSAgxrTjVWBDHBjq6POBghABkAGGLhscAoIgICzCUAGOLt9 HV87yADHNzEq
aA4ByABzOCIVEAABEHAQAcgABzWmG6sCGeDGVkedDRCADDAADaeAAAiAgLMJ QAY4u30dXzvI
AMc3MSpoDgHIAHM4IhUQAAEQcBAByAAHNaYbqwIZ4MZWR50NEIAMMAANp4AA CICAswlABji7
fR1fO8gAxzcxKmgOAcgAczgiFRAAARBwEAHIAAc1phurAhngxlZHnQ0QgAww AA2ngAAIgICz
CUAGOLt9HV87yADHNzEqaA4ByABzOCIVEAABEHAQAcgABzWmG6sCGeDGVked DRCADDAADaeA
AAiAgLMJQAY4u30dXzvIAMc3MSpoDgHIAHM4IhUQAAEQcBAByAAHNaYbqwIZ 4MZWR50NEIAM
MAANp4AACICAswlABji7fR1fO8gAxzcxKmgOAcgAczgiFRAAARBwEAHIAAc1 phurAhngxlZH
nQ0QgAwwAA2ngAAIgICzCUAGOLt9HV87yADHNzEqaA4ByABzOCIVEAABEHAQ AcgABzWmG6sC
GeDGVkedDRAIsQy47elz1Tvn3N4wlv1EfRmNQAbqglNAAARAAARMIcAnA2I9 9y7wVJuo3Z8H
8u3KpbPF08VjUyqIRJxNADLA2e2L2plGADLANJRICARAAAScQgAywCkt6dJ6 QAa4tOFRbb0E
IAP0EkN8EAABEHA8AcgAxzexsysIGeDs9kXtTCMAGWAaSiQEAiAAAk4hABng lJZ0aT0gA1za
8Ki2XgKQAXqJIT4IgAAIOJ4AZIDjm9jZFYQMcHb7onamEYAMMA0lEgIBEAAB pxCADHBKS7q0
HpABLm14VFsvAcgAvcQQHwRAAAQcTwAywPFN7OwKQgY4u31RO9MIQAaYhhIJ gQAIgIBTCEAG
OKUlXVoPyACXNjyqrZcAZIBeYogPAiAAAo4nABng+CZ2dgUhA5zdvqidaQQg A0xDiYRAAARA
wCkEIAOc0pIurQdkgEsbHtXWSwAyQC8xxAcBEAABxxOADHB8Ezu7gpABzm5f 1M40ApABpqFE
QiAAAiDgFAJWlgHMw4OBgF8CK5fOlsbpNy6mX2Rst77H6jXYxsI9zTod6xsR 029ibL+JMdKo
dCZzj5zyi0Y9QECdAGQArgwQAAEQAAEZAcgAvy4mIlifAGQAejYQ8EMAMgCX CAiAAAiAgC1k
AHl1MBDQRQCzAejcQECLAGQArg8QAAEQAAHrywDr33tGCS1OAIuC0NGBgJwA ZACuCRAAARAA
AcgAi7uwKF7gBCAD0NGBAGQArgEQAAEQAAE/BCy4NyBwLxApuJwAZAA6PhCA DMA1AAIgAAIg
YHsZcPb7vbrWiCOyGwjQVaEhdSAD0PGBAGQArgEQAAEQAAEbywBRADijFUXv XNuFdfmNfM7q
M5i+SEIGOOMng1qYSQB7A8ykibRAAARAwBEELLsoiGmAa9cqnGfQA5y+vt9o vpQAZIAjOidU
wlQCIZYBt9eIrt455/aGsdo/YxqBTK0lEgMBEAABENBBgE8GxHjuXeCpNtGv W2Y4guy570wD
VFRcdbZp39I2DNNVJ6oqAcgAHV0AorqEAGSASxoa1QQBEAABfgIWlAFVGuBq ecV1++2HK2Qm
fuWAA43FLa5y6A1XVgkQMoC/B0BMtxCADHBLS6OeIAACIMBNwLIy4OqVMtFI A8SXVIpGH6Xf
OuDYwdMCvXq00zBfrr+usyADuH/uiOhiApABLm58VB0EQAAE1AlYUAaQV3el vFRq5Pcfz6ok
O5FdeTy7kj7St7vTKmUmO8t2Hx05LUAOva/fHn2lIQN0nSVbVIbZAPR3ICAn ABmAawIEQAAE
QEBGwJoyoPxysdTI719/qWLdpYr1cRXr4iroI317R8OPZCY7K7wfxfvZ0mKo BkojOE8J
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615865 is a reply to message #114638] |
Thu, 13 March 2008 05:23 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
I understand your confusion, Teneo uses a 'trick' to minimize the number of things a user has to do.
In the wizard, just enter a filename ending on library and it should talk to the db. What happens
under the hood is the following:
- the extension library maps to the HibernateResourceFactory (see Resource Factory Setting), so
because the filename ends on library eclipse/emf creates a HibernateResourceFactory
- this means that the editor starts with a HibernateResource (created by the factory).
- the HibernateResource checks the uri and tries to find the datastore name, in this case it will
use the extension 'library' to find the datastore. Which should work as a datastore with this name
has been initialized when the plugin starts (see the tutorial).
To start an editor directly with a hibernate resource, you can do something like this:
final IWorkbenchPage page = window.getActivePage();
page.openEditor(new URIEditorInput("hibernate://?dsname=library",
MyGreatEditor.ID);
Whereby MyGreatEditor is the id under which the generated editor has been registered (see the
org.eclipse.ui.editors extension in the generated editor project).
The mentioned resourceutility basically works like this.
gr. Martin
Gigaplex wrote:
> Okay, I must be missing something here. I put the RCP library editor
> example on hold to try and do it in just a regular plugin. I got it all
> set up but I am not seeing where I can open the database at when I run
> it. I do just like the tutorial says and go to create a new model and it
> asks for a file name. I put the URI in for hibernate
> (hibernate://?dsname=library) and it won't let me continue. It says the
> file has to end in ".library" but I don't want to store it in a file, I
> want to store it in the hibernate database using teneo. Screenshot
> attached.
>
> Martin Taal wrote:
>> Hi Gigaplex,
>> Yes that's the one. You can also use the resourceutility. Note that
>> both methods are just a quick way of starting the editor. Teneo offers
>> a specific emf resource implementation which works on the database.
>> This database resource can be used in all the locations were also an
>> EMF resource. So I guess also for rcp cases.
>>
>> gr. Martin
>>
>> Gigaplex wrote:
>>> Martin, I saw that link before but it redirects to a page that has a
>>> long list of tutorials, articles, etc. and it is not clear which one
>>> I need to go to.
>>>
>>> In the documentation for eclipse 3.3, there is a tutorial for the
>>> library example and near the end it has a part about running the
>>> tutorial. Is this the tutorial that is meant to be referenced on the
>>> elver.org site?
>>>
>>> If that is the tutorial, it instructs you to run the editor as a
>>> non-RCP plugin. I am trying to do RCP, so maybe that is my problem.
>>> Does teneo only work in the non-RCP editor? Or maybe there are
>>> further modifications needed to make it run in the RCP editor?
>>>
>>> I will try running it in a non-RCP editor and see if that works but
>>> ultimately, I need to get this working in RCP.
>>>
>>>
>>> Martin Taal wrote:
>>>> Hi Gigaplex,
>>>> The finally block of everything gives me the feel that an error
>>>> occured. Have you checked the error view?
>>>>
>>>> I don't think the way you try to open the database works, eclipse
>>>> does not know which editor to open with just this information. The
>>>> tutorial specifies a different way of doing that, at least it points
>>>> to another tutorial, see here:
>>>> http://www.elver.org/hibernate/tutorialtwo/tutorial2_2.html
>>>>
>>>> You can also use the resource utility to open a db resource without
>>>> explicitly adding a menu option somewhere:
>>>> http://www.elver.org/hibernate/resource_utility.html
>>>>
>>>> gr. Martin
>>>>
>>>> Gigaplex wrote:
>>>>> I went through the library editor tutorial on elver.org and when I
>>>>> go to File > Open URI... and type in:
>>>>> hibernate://?dsname=library
>>>>> or
>>>>> ehb://?dsname=library
>>>>> or if I put a query at the end,
>>>>> it just shows a blank, gray editor. I have a library already in the
>>>>> database, so I figured it would be showing that. There are no
>>>>> errors showing up. It looks like it just gives up part of the way
>>>>> through. Something happens when it tries to create the query in
>>>>> hibernate and then it just goes straight to the finally blocks of
>>>>> everything.
>>>>>
>>>>> Any ideas?
>>>>
>>>>
>>
>>
>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615876 is a reply to message #114654] |
Fri, 14 March 2008 05:52 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
Well now it makes sense :)
So I tried making a new library file called My.library just like in the
tutorial and when I am at the end of the wizard and I click on the
finish button, nothing happens. The wizard doesn't even close - it just
sits there. I am forced to hit cancel :(
The openEditor method you mentioned below is exactly the type of thing I
need. This is what I was trying to do before but remember I wasn't
getting any error message? Well I figured out why. I tracked down the
error the hard way and it is a NoClassDefinitionFound for
antlr/ANTLRException! No wonder :o
So I went into the lib directory of the hibernate I downloaded and there
was an antlr jar in there. I made a plugin project out of it using the
wizard in eclipse, then added it to the model project's dependencies and
set it to reexport. Then when I try to run it, it gives me an error
right off the bat saying it couldn't resolve the antlr bundle and then
closes immediately. I tried importing the jar into all three projects
and adding it to the classpath that way but then it just gives me the
phantom error like before.
Martin Taal wrote:
> I understand your confusion, Teneo uses a 'trick' to minimize the
> number of things a user has to do. In the wizard, just enter a
> filename ending on library and it should talk to the db. What happens
> under the hood is the following:
> - the extension library maps to the HibernateResourceFactory (see
> Resource Factory Setting), so because the filename ends on library
> eclipse/emf creates a HibernateResourceFactory
> - this means that the editor starts with a HibernateResource (created
> by the factory).
> - the HibernateResource checks the uri and tries to find the datastore
> name, in this case it will use the extension 'library' to find the
> datastore. Which should work as a datastore with this name has been
> initialized when the plugin starts (see the tutorial).
>
> To start an editor directly with a hibernate resource, you can do
> something like this:
> final IWorkbenchPage page = window.getActivePage();
> page.openEditor(new
> URIEditorInput("hibernate://?dsname=library",
> MyGreatEditor.ID);
>
> Whereby MyGreatEditor is the id under which the generated editor has
> been registered (see the org.eclipse.ui.editors extension in the
> generated editor project).
>
> The mentioned resourceutility basically works like this.
>
> gr. Martin
>
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615877 is a reply to message #114739] |
Fri, 14 March 2008 06:24 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Martin Taal![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=mtaal%40springsite.com) Messages: 5468 Registered: July 2009 |
Senior Member |
|
|
To be sure did you use the antlr-2.7.6.jar (because there is also the ant-antlr-1.6.5.jar)?
Did you open the error log view (a different one than the problem view). Most of the time with me it
shows the stack trace.
What you can do to be on the save side is create one plugin project containing all jars in the
hibernate download. Then set the eclipse buddy policy of this plugin to dependent (see the install
section on elver.org) and add this plugin to the dependencies of the model project with re-export set.
The easiest way to test that the dependencies are right is to actually see if you can refer to the
class (like ANTLRException) from a source file.
gr. Martin
Gigaplex wrote:
> Well now it makes sense :)
>
> So I tried making a new library file called My.library just like in the
> tutorial and when I am at the end of the wizard and I click on the
> finish button, nothing happens. The wizard doesn't even close - it just
> sits there. I am forced to hit cancel :(
>
> The openEditor method you mentioned below is exactly the type of thing I
> need. This is what I was trying to do before but remember I wasn't
> getting any error message? Well I figured out why. I tracked down the
> error the hard way and it is a NoClassDefinitionFound for
> antlr/ANTLRException! No wonder :o
>
> So I went into the lib directory of the hibernate I downloaded and there
> was an antlr jar in there. I made a plugin project out of it using the
> wizard in eclipse, then added it to the model project's dependencies and
> set it to reexport. Then when I try to run it, it gives me an error
> right off the bat saying it couldn't resolve the antlr bundle and then
> closes immediately. I tried importing the jar into all three projects
> and adding it to the classpath that way but then it just gives me the
> phantom error like before.
>
>
> Martin Taal wrote:
>> I understand your confusion, Teneo uses a 'trick' to minimize the
>> number of things a user has to do. In the wizard, just enter a
>> filename ending on library and it should talk to the db. What happens
>> under the hood is the following:
>> - the extension library maps to the HibernateResourceFactory (see
>> Resource Factory Setting), so because the filename ends on library
>> eclipse/emf creates a HibernateResourceFactory
>> - this means that the editor starts with a HibernateResource (created
>> by the factory).
>> - the HibernateResource checks the uri and tries to find the datastore
>> name, in this case it will use the extension 'library' to find the
>> datastore. Which should work as a datastore with this name has been
>> initialized when the plugin starts (see the tutorial).
>>
>> To start an editor directly with a hibernate resource, you can do
>> something like this:
>> final IWorkbenchPage page = window.getActivePage();
>> page.openEditor(new
>> URIEditorInput("hibernate://?dsname=library",
>> MyGreatEditor.ID);
>>
>> Whereby MyGreatEditor is the id under which the generated editor has
>> been registered (see the org.eclipse.ui.editors extension in the
>> generated editor project).
>>
>> The mentioned resourceutility basically works like this.
>>
>> gr. Martin
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615879 is a reply to message #114751] |
Fri, 14 March 2008 12:06 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Ed Merks![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=ed.merks%40gmail.com) Messages: 33196 Registered: July 2009 |
Senior Member |
|
|
Martin,
It's also very useful to launch eclipse with -clean -debug because it
will spit out information about what plugins are resolved and more
importantly about which ones are not resolved and why. Looking at the
error log view or at the <workspace>/.metadata/.log file to see this
diagnostic information is a good way to ensure that all the right things
have been installed and are properly available.
Martin Taal wrote:
> To be sure did you use the antlr-2.7.6.jar (because there is also the
> ant-antlr-1.6.5.jar)?
> Did you open the error log view (a different one than the problem
> view). Most of the time with me it shows the stack trace.
> What you can do to be on the save side is create one plugin project
> containing all jars in the hibernate download. Then set the eclipse
> buddy policy of this plugin to dependent (see the install section on
> elver.org) and add this plugin to the dependencies of the model
> project with re-export set.
>
> The easiest way to test that the dependencies are right is to actually
> see if you can refer to the class (like ANTLRException) from a source
> file.
>
> gr. Martin
>
> Gigaplex wrote:
>> Well now it makes sense :)
>>
>> So I tried making a new library file called My.library just like in
>> the tutorial and when I am at the end of the wizard and I click on
>> the finish button, nothing happens. The wizard doesn't even close -
>> it just sits there. I am forced to hit cancel :(
>>
>> The openEditor method you mentioned below is exactly the type of
>> thing I need. This is what I was trying to do before but remember I
>> wasn't getting any error message? Well I figured out why. I tracked
>> down the error the hard way and it is a NoClassDefinitionFound for
>> antlr/ANTLRException! No wonder :o
>>
>> So I went into the lib directory of the hibernate I downloaded and
>> there was an antlr jar in there. I made a plugin project out of it
>> using the wizard in eclipse, then added it to the model project's
>> dependencies and set it to reexport. Then when I try to run it, it
>> gives me an error right off the bat saying it couldn't resolve the
>> antlr bundle and then closes immediately. I tried importing the jar
>> into all three projects and adding it to the classpath that way but
>> then it just gives me the phantom error like before.
>>
>>
>> Martin Taal wrote:
>>> I understand your confusion, Teneo uses a 'trick' to minimize the
>>> number of things a user has to do. In the wizard, just enter a
>>> filename ending on library and it should talk to the db. What
>>> happens under the hood is the following:
>>> - the extension library maps to the HibernateResourceFactory (see
>>> Resource Factory Setting), so because the filename ends on library
>>> eclipse/emf creates a HibernateResourceFactory
>>> - this means that the editor starts with a HibernateResource
>>> (created by the factory).
>>> - the HibernateResource checks the uri and tries to find the
>>> datastore name, in this case it will use the extension 'library' to
>>> find the datastore. Which should work as a datastore with this name
>>> has been initialized when the plugin starts (see the tutorial).
>>>
>>> To start an editor directly with a hibernate resource, you can do
>>> something like this:
>>> final IWorkbenchPage page = window.getActivePage();
>>> page.openEditor(new
>>> URIEditorInput("hibernate://?dsname=library",
>>> MyGreatEditor.ID);
>>>
>>> Whereby MyGreatEditor is the id under which the generated editor has
>>> been registered (see the org.eclipse.ui.editors extension in the
>>> generated editor project).
>>>
>>> The mentioned resourceutility basically works like this.
>>>
>>> gr. Martin
>>>
>
>
Ed Merks
Professional Support: https://www.macromodeling.com/
|
|
|
Re: [Teneo] Hibernate Library Editor Turorial - can't load URI [message #615896 is a reply to message #114751] |
Mon, 17 March 2008 05:22 ![Go to previous message Go to previous message](theme/Solstice/images/up.png) |
Jeff Lins![Friend of Eclipse Friend](/donate/web-api/friends_decorator.php?email=gigaplex08%40gmail.com) Messages: 39 Registered: July 2009 |
Member |
|
|
I had tried to make a hibernate plugin the way the tutorial says but I
had gone wrong somewhere. After an osgi tutorial, I understood how to
create it correctly. I think it may not have worked before because I
only added the hibernate jar during the plugin creation wizard and then
imported the rest later only to add them to the classpath (which didn't
set them to export).
Anyway, I got the hibernate plugin properly created and then the RCP
application started up correctly. It is looking like there will be some
extra modifications needed to get the Open URI menu command to work
right in the RCP version but I am on the right track now.
Thanks for the help!
Martin Taal wrote:
> To be sure did you use the antlr-2.7.6.jar (because there is also the
> ant-antlr-1.6.5.jar)?
> Did you open the error log view (a different one than the problem
> view). Most of the time with me it shows the stack trace.
> What you can do to be on the save side is create one plugin project
> containing all jars in the hibernate download. Then set the eclipse
> buddy policy of this plugin to dependent (see the install section on
> elver.org) and add this plugin to the dependencies of the model
> project with re-export set.
>
> The easiest way to test that the dependencies are right is to actually
> see if you can refer to the class (like ANTLRException) from a source
> file.
>
> gr. Martin
>
> Gigaplex wrote:
>> Well now it makes sense :)
>>
>> So I tried making a new library file called My.library just like in
>> the tutorial and when I am at the end of the wizard and I click on
>> the finish button, nothing happens. The wizard doesn't even close -
>> it just sits there. I am forced to hit cancel :(
>>
>> The openEditor method you mentioned below is exactly the type of
>> thing I need. This is what I was trying to do before but remember I
>> wasn't getting any error message? Well I figured out why. I tracked
>> down the error the hard way and it is a NoClassDefinitionFound for
>> antlr/ANTLRException! No wonder :o
>>
>> So I went into the lib directory of the hibernate I downloaded and
>> there was an antlr jar in there. I made a plugin project out of it
>> using the wizard in eclipse, then added it to the model project's
>> dependencies and set it to reexport. Then when I try to run it, it
>> gives me an error right off the bat saying it couldn't resolve the
>> antlr bundle and then closes immediately. I tried importing the jar
>> into all three projects and adding it to the classpath that way but
>> then it just gives me the phantom error like before.
>>
>>
>> Martin Taal wrote:
>>> I understand your confusion, Teneo uses a 'trick' to minimize the
>>> number of things a user has to do. In the wizard, just enter a
>>> filename ending on library and it should talk to the db. What
>>> happens under the hood is the following:
>>> - the extension library maps to the HibernateResourceFactory (see
>>> Resource Factory Setting), so because the filename ends on library
>>> eclipse/emf creates a HibernateResourceFactory
>>> - this means that the editor starts with a HibernateResource
>>> (created by the factory).
>>> - the HibernateResource checks the uri and tries to find the
>>> datastore name, in this case it will use the extension 'library' to
>>> find the datastore. Which should work as a datastore with this name
>>> has been initialized when the plugin starts (see the tutorial).
>>>
>>> To start an editor directly with a hibernate resource, you can do
>>> something like this:
>>> final IWorkbenchPage page = window.getActivePage();
>>> page.openEditor(new
>>> URIEditorInput("hibernate://?dsname=library",
>>> MyGreatEditor.ID);
>>>
>>> Whereby MyGreatEditor is the id under which the generated editor has
>>> been registered (see the org.eclipse.ui.editors extension in the
>>> generated editor project).
>>>
>>> The mentioned resourceutility basically works like this.
>>>
>>> gr. Martin
>>>
>
>
|
|
|
Goto Forum:
Current Time: Fri Aug 16 19:40:46 GMT 2024
Powered by FUDForum. Page generated in 0.05353 seconds
|