Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » GMF (Graphical Modeling Framework) » Compartments in 2 step meta model
Compartments in 2 step meta model [message #199057] Sat, 26 July 2008 15:59 Go to next message
Eclipse UserFriend
Originally posted by: ML1984.gmx.de

This is a multi-part message in MIME format.
--------------090202090504070802070701
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

I am a student assistant at university and I would like to ask a question:
Suppose, there are three (meta model = ecore) classes: A, B and C. Objects of
type A reference exactly 1 B Object, objects of type B reference an arbitrary
number of C objects (example given as attachment).

I want to visualize only objects of type A and C. The latter should be nested in
objects of type A via compartments.

How can that be achieved (in the mapping model)?

By creating an object of type A:
- a corresponding object of type B should be created and
- a link between both of them.

I know merging A and B would simplify (and solve) the problem, but the given
meta model is just an easier version of the real project. Merging the two nodes
is not possible in our project.

Thanks in advance,
Mark

--------------090202090504070802070701
Content-Type: text/xml;
name="Test.gmftool"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="Test.gmftool"

<?xml version="1.0" encoding="UTF-8"?>
<gmftool:ToolRegistry xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition">
<palette
title="TestdiagramPalette">
<tools
xsi:type="gmftool:ToolGroup"
title="Testdiagram">
<tools
xsi:type="gmftool:CreationTool"
title="A"
description="Create new A">
<smallIcon
xsi:type="gmftool:DefaultImage"/>
<largeIcon
xsi:type="gmftool:DefaultImage"/>
</tools>
<tools
xsi:type="gmftool:CreationTool"
title="C"
description="Create new C">
<smallIcon
xsi:type="gmftool:DefaultImage"/>
<largeIcon
xsi:type="gmftool:DefaultImage"/>
</tools>
</tools>
</palette>
</gmftool:ToolRegistry>

--------------090202090504070802070701
Content-Type: text/xml;
name="Test.ecore"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="Test.ecore"

<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Testdiagram"
nsURI="test" nsPrefix="">
<eClassifiers xsi:type="ecore:EClass" name="A" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="b" lowerBound="1" eType="#//B"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="B" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="c" upperBound="-1" eType="#//C"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="C" eSuperTypes="#//Element"/>
<eClassifiers xsi:type="ecore:EClass" name="Element"/>
<eClassifiers xsi:type="ecore:EClass" name="Diagram">
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
eType="#//Element"/>
</eClassifiers>
</ecore:EPackage>

--------------090202090504070802070701
Content-Type: text/xml;
name="Test.gmfgraph"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="Test.gmfgraph"

<?xml version="1.0" encoding="UTF-8"?>
<gmfgraph:Canvas xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gmfgraph="http://www.eclipse.org/gmf/2006/GraphicalDefinition" name="Testdiagram">
<figures
name="Default">
<descriptors
name="AFigure">
<actualFigure
xsi:type="gmfgraph:Rectangle"
name="AFigure"/>
</descriptors>
<descriptors
name="CFigure">
<actualFigure
xsi:type="gmfgraph:Rectangle"
name="CFigure"/>
</descriptors>
</figures>
<nodes
name="A"
figure="AFigure"/>
<nodes
name="C"
figure="CFigure"/>
</gmfgraph:Canvas>

--------------090202090504070802070701--
Re: Compartments in 2 step meta model [message #199074 is a reply to message #199057] Sun, 27 July 2008 11:57 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: lwrage.sei.cmu.edu

Hi,

Sorry, I don't have an answer to this question, but I want to do the exect
same thing. I just want to emphasize that this is not a unique situation.

- Lutz

"Mark L." <ML1984@gmx.de> wrote in message
news:g6fhk7$t8l$1@build.eclipse.org...
> Hi,
>
> I am a student assistant at university and I would like to ask a question:
> Suppose, there are three (meta model = ecore) classes: A, B and C. Objects
> of
> type A reference exactly 1 B Object, objects of type B reference an
> arbitrary
> number of C objects (example given as attachment).
>
> I want to visualize only objects of type A and C. The latter should be
> nested in
> objects of type A via compartments.
>
> How can that be achieved (in the mapping model)?
>
> By creating an object of type A:
> - a corresponding object of type B should be created and
> - a link between both of them.
>
> I know merging A and B would simplify (and solve) the problem, but the
> given
> meta model is just an easier version of the real project. Merging the two
> nodes
> is not possible in our project.
>
> Thanks in advance,
> Mark
>


------------------------------------------------------------ --------------------


> <?xml version="1.0" encoding="UTF-8"?>
> <gmftool:ToolRegistry xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:gmftool="http://www.eclipse.org/gmf/2005/ToolDefinition">
> <palette
> title="TestdiagramPalette">
> <tools
> xsi:type="gmftool:ToolGroup"
> title="Testdiagram">
> <tools
> xsi:type="gmftool:CreationTool"
> title="A"
> description="Create new A">
> <smallIcon
> xsi:type="gmftool:DefaultImage"/>
> <largeIcon
> xsi:type="gmftool:DefaultImage"/>
> </tools>
> <tools
> xsi:type="gmftool:CreationTool"
> title="C"
> description="Create new C">
> <smallIcon
> xsi:type="gmftool:DefaultImage"/>
> <largeIcon
> xsi:type="gmftool:DefaultImage"/>
> </tools>
> </tools>
> </palette>
> </gmftool:ToolRegistry>
>


------------------------------------------------------------ --------------------


> <?xml version="1.0" encoding="UTF-8"?>
> <ecore:EPackage xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Testdiagram"
> nsURI="test" nsPrefix="">
> <eClassifiers xsi:type="ecore:EClass" name="A" eSuperTypes="#//Element">
> <eStructuralFeatures xsi:type="ecore:EReference" name="b"
> lowerBound="1" eType="#//B"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="B" eSuperTypes="#//Element">
> <eStructuralFeatures xsi:type="ecore:EReference" name="c"
> upperBound="-1" eType="#//C"/>
> </eClassifiers>
> <eClassifiers xsi:type="ecore:EClass" name="C" eSuperTypes="#//Element"/>
> <eClassifiers xsi:type="ecore:EClass" name="Element"/>
> <eClassifiers xsi:type="ecore:EClass" name="Diagram">
> <eStructuralFeatures xsi:type="ecore:EReference" name="elements"
> upperBound="-1"
> eType="#//Element"/>
> </eClassifiers>
> </ecore:EPackage>
>


------------------------------------------------------------ --------------------


> <?xml version="1.0" encoding="UTF-8"?>
> <gmfgraph:Canvas xmi:version="2.0"
> xmlns:xmi="http://www.omg.org/XMI"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:gmfgraph="http://www.eclipse.org/gmf/2006/GraphicalDefinition"
> name="Testdiagram">
> <figures
> name="Default">
> <descriptors
> name="AFigure">
> <actualFigure
> xsi:type="gmfgraph:Rectangle"
> name="AFigure"/>
> </descriptors>
> <descriptors
> name="CFigure">
> <actualFigure
> xsi:type="gmfgraph:Rectangle"
> name="CFigure"/>
> </descriptors>
> </figures>
> <nodes
> name="A"
> figure="AFigure"/>
> <nodes
> name="C"
> figure="CFigure"/>
> </gmfgraph:Canvas>
>
Re: Compartments in 2 step meta model [message #199129 is a reply to message #199057] Mon, 28 July 2008 10:28 Go to previous messageGo to next message
Alexander Shatalin is currently offline Alexander ShatalinFriend
Messages: 2928
Registered: July 2009
Senior Member
Hello Mark L.,

This situation is not supported by GMF code generator now. Nevertheless you
have following options to solve this problem:
1. Create derived (and transient) reference from A to C and implement corresponding
get/set code + fire appropriate EMF notifications then necessary. As a result
from the model point of view you’ll see C elements as a child of A, the rest
will be hidden by this derived property implementation.
2. Do not change EMF model and create mapping for C meta-model element using
containment reference from A to B (validate action will report error in this
place, but you have to ignore it and generate code). Then you have to modify
GMF-generated code manually in particular – CCreateCommand (create intermediate
B element there if necessary) and ???DiagramUpdater.getA_???SemanticChildren()
method to return proper set of C instances from there.

-----------------
Alex Shatalin
Re: Compartments in 2 step meta model [message #199205 is a reply to message #199129] Mon, 28 July 2008 12:08 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: ML1984.gmx.de

Thanks a lot!

Cheers,
Mark

> Hello Mark L.,
>
> This situation is not supported by GMF code generator now. Nevertheless
> you have following options to solve this problem:
> 1. Create derived (and transient) reference from A to C and implement
> corresponding get/set code + fire appropriate EMF notifications then
> necessary. As a result from the model point of view you’ll see C
> elements as a child of A, the rest will be hidden by this derived
> property implementation.
> 2. Do not change EMF model and create mapping for C meta-model
> element using containment reference from A to B (validate action will
> report error in this place, but you have to ignore it and generate
> code). Then you have to modify GMF-generated code manually in particular
> – CCreateCommand (create intermediate B element there if necessary) and
> ???DiagramUpdater.getA_???SemanticChildren() method to return proper set
> of C instances from there.
>
> -----------------
> Alex Shatalin
Re: Compartments in 2 step meta model [message #199603 is a reply to message #199129] Thu, 31 July 2008 13:03 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: ML1984.gmx.de

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

Hello again.

We have chosen option 1, but it is not working properly. C objects are
can be created within A objects, but you cannot move or resize them
(which is allowed by the mapping model).

There was only a getC() method created in class A, so I did not
implement a set method. What do you mean by saying "fire appropriate EMF
notifications when necessary"?

What could be the reasons for the mentioned misbehaviour?

Cheers,
Mark

PS. Changed methods are marked with "@generated NOT" ...

> Hello Mark L.,
>
> This situation is not supported by GMF code generator now. Nevertheless
> you have following options to solve this problem:
> 1. Create derived (and transient) reference from A to C and implement
> corresponding get/set code + fire appropriate EMF notifications then
> necessary. As a result from the model point of view you’ll see C
> elements as a child of A, the rest will be hidden by this derived
> property implementation.
> 2. Do not change EMF model and create mapping for C meta-model
> element using containment reference from A to B (validate action will
> report error in this place, but you have to ignore it and generate
> code). Then you have to modify GMF-generated code manually in particular
> – CCreateCommand (create intermediate B element there if necessary) and
> ???DiagramUpdater.getA_???SemanticChildren() method to return proper set
> of C instances from there.
>
> -----------------
> Alex Shatalin


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

UEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAAAUAAAAMlN0ZXBUZXN0Ly5jbGFz c3BhdGidkE9P
AjEQxc+a+B02vTMrF+NhV2LMmkAiGFi9ktJOlpE6LdOWwLcH/xCNCRy8zZv8 5r2XqQbbd1ds
UCJ5rlUfrlWBbLwl7mr10j72btXg7uqyMk7HGHRaHsTFj0JOsitWxLZWUYwq PpZfY3maNJ6P
pJcO0DgKEeHNJnA6s1ke0mE0beYPk3F7Pxw30/IvR5xQWDuwuMgdZPq+RIFZ 0my12Nendhew
HOmNnjW9Ptz8o1KwCMYLguA6k6B9drkjjuesfE4hp6PbgvgTrsrfL9wDUEsH CPSlsdLQAAAA
eAEAAFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAAEgAAADJTdGVwVGVzdC8u cHJvamVjdL2S
TWrDMBCF1ynkDsH7SmlXXcg2JCG7lIDTA6jS1FWwfpDkkONXkuUWYwxdlO7m vZmnbyRE6rvs
NjewTmhVFk9oW2xAMc2Fasvi7XJ8fCnqav1AjNVXYP4AjllhfJgO7oooKqF6 bjyYCzhPcNKx
wbSUoHxF8FhFN5/iksAT9d6LjjcGWFRZ7kOUKp6czNK2RcA6YRygK/eIaRsK eqMpAPZnhZCg
tu0j22WNpwbBM8qvuIYDOlElPsKVd/+LbdgnSPon0OyMTx54vreQpwex/NpD Py6Q5pYyceVz
17dCvc4CYx2J339h+r++AFBLBwgROE6C6gAAAJ4CAABQSwMEFAAIAAgAV3j/ OAAAAAAAAAAA
AAAAABoAAAAyU3RlcFRlc3QvYnVpbGQucHJvcGVydGllc3WOMQoCMRBF+4G5 Q8AtNbmAChYK
W2hlaaPJsEayO2GSgN7exG5hne69B8NHWKmt5fgRPzzzHhuaGTfV9a5DQHj4 SfvJhuIoqZ3S
6xuCmt/IjoJZCOfj9bDpL6elFkMZ6uv3GP7HKBxJsqeE8LpL0pbH6ANpFkfS 1iAkLmJJ60pJ
rEHgkmPJP1G3V/EFUEsHCMO5lKSMAAAA8AAAAFBLAwQUAAgACABXeP84AAAA AAAAAAAAAAAA
GwAAADJTdGVwVGVzdC9wbHVnaW4ucHJvcGVydGllc61RQWrDMBC8G/yHIY1v wb2XphCwC4HG
Do4+oNobW1SRhOxEze8rWS20tx6s0+7O7uzsKE0e8Nxqc7eiH6aXNKSPf/JQ Wu+7dZqEaLvA
CzxMo9UdoaMbSW3IPoUqUGhUNUM7cNUTpoFgbIAnQSPeaXJEypfFCCkUgasu NMXZVZZlKKsC
9StYs6tObztWFjg29bFs2L48wTes5sE8Thz4h+eAIvez5g7FL7QBN4YCt541 hFCf5/AsZFwb
JUaeAMzn+P7rGHX/Js2Xs27JT/iPX0sqN/LaC1V5g7EFo3HCwZsmPWD1TXRk vyHnXE6f/GIk
5dr2afIFUEsHCHzcCLj1AAAApgIAAFBLAwQUAAgACABXeP84AAAAAAAAAAAA AAAAFAAAADJT
dGVwVGVzdC9wbHVnaW4ueG1sTU+xbsMgEN0t+R8oygqk6tIB21ulDpU6JHOF 4EpRMCAgVfL3
4WLLyU333r17d09Ol9mTf8jFxTDQV76nBIKOxgU70OPhg73Taew7OYH2LhV4 aN+aFkdt+MJY
3xGpY7pmZ//qiEg8w0bsPs2u7xhbVpI/WxeWCZFwqRDQlqToQh1ozJavFznM v62PGbiFAFlV
MD9J6ZOyQPFSK7lissBW5+zIQGiFUumD1V6Vgvyh8cYpm9XMn/rv1XZbaBe/ ogGPOzM2AtX4
yB1RIsa7uxRbhCWf2ALeAFBLBwgb4Zo+1gAAAGMBAABQSwMEFAAIAAgAV3j/ OAAAAAAAAAAA
AAAAAD0AAAAyU3RlcFRlc3QvLnNldHRpbmdzL29yZy5lY2xpcHNlLmdtZi5i cmlkZ2UudWku
ZGFzaGJvYXJkLnByZWZzpc4xa8MwEAXg3eD/IOhuKWlJisFTUgqFTglkKRRV enIEkk6clP7+
2h3dLkm2O3jv4z2cYMXbJYhHJVbb/kn1aiN2L4ejWCv13DYwweeCLjMcGMmg dN/g4ikNq7YZ
o/u0upy/SLOVlqL26RUJrOuUeCeLMOSgqyOOH71kFLqwgVwfKvIRpco4Z+R8 diPS7/c/eyUG
Q4ylNN48Lbqp+4djnc/e6LCH88nf6M7IUo46Z5/G67WpuLQqUZisezbORNv8 AFBLBwj3eBYW
wQAAACwCAABQSwMEFAAIAAgAV3j/OAAAAAAAAAAAAAAAAB4AAAAyU3RlcFRl c3QvTUVUQS1J
TkYvTUFOSUZFU1QuTUZdkD9PwzAQxfdI+Q5e2LBFOzCk6gLKglpUEcR+Ta7h hP+Esx01/fQ4
TRUCm8/v3fs9ew+WTuiD/ED25GwhVuohz56ibTTK/U2dxfUsvYLBQtx1OrZk x2FWqsEcnaZ6
cqyrgN17ytgIT7bVGFLONnD8XViiF/BnDd4fIHwWQi28tnE8gtn11CD/Qe9c DZouEK5xU7dZ
fMPvSIxNecY6jo7S9sTOGrShEC/QQ1XKlXrMs/LcOQ7yAPUXtOkNY/2GoGUw 93m2HBWZTv+/
S+E6z244OdEL4bhVWGvqPKraMSqONpDBcXupoTmlczJsevJ0JE1hKLaMeC2V yk0+uYPLUAXg
1H36zR9QSwcI/4vuSAUBAADLAQAAUEsDBBQACAAIAFd4/zgAAAAAAAAAAAAA AAAaAAAAMlN0
ZXBUZXN0L21vZGVsL1Rlc3QuZWNvcmW1VF1rwjAUfR/4H0L2rFH3MkqrTKcg bCB+wF6z9LaG
tWlJUuv+/W5rq5ZN0Il5Cc0995x7Tkjd4S6OyBa0kYnyaK/TpQSUSHypQo+u V9P2Mx0OWg8u
iESDM5lz8cVDILtYOoeuPna1HgguJFPGwaJHN9amDmN5nneSOOwkOmQf7zNa Q0wTkj+ViH63
20PY21JsIOZtqYzlSkCDvZyk0QwikqmBkgHioGDps0kBo0TxGMErMNaXPNQ8 rriUWS9mHrVY
QJCZawjkzqN0UJRdGEfcGBlItEhwVsd+p0hThVAWa+oXDGyZpaBXCDEefWRs EkEMyu65Cral
1ZmwmebRFDju8AfpAgLQUJitiD8piZIc9CjJlI9XgzqrsgEVRpWLYolEWS5V oYh+dAaU3SYs
KMnS9CDcbiiPT5St5srIoy7xQcst+PXnuclcdprv1YmP7pX4xcbvZGx83hi7 muz/na/VQ7kt
TNjrm1+ZHmM8hlsPe3myeND4I+HRD1BLBwhTmak3eQEAAMwEAABQSwMEFAAI AAgAV3j/OAAA
AAAAAAAAAAAAACIAAAAyU3RlcFRlc3QvbW9kZWwvVGVzdC5lY29yZV9kaWFn cmFtxVtbk5pI
FH7fqv0PFLuPKoLKoKWbmosmmZ2xMpdMZTeV2iLQCpGLAkbdX5/uVplRuhmE 08kbhX0u/Z3z
fX2mSfpv1r4nfUdR7IbBQFYbTVlCgRXabjAdyB8fR3VDfvPX77/1gzAxE7ym d+Wa08j0pbXv
9lI7jdhhT0Hcw+8HspMk856irFarRuhPG2E0VT7dvk+XxIdLVi26Qms2Vbzs 5sFykG/W3SBO
zMBCeytkhRE6sEOW585jRI2RPyEONGVIlu1t9llzzabYLFoGiesjBW++oSp7 E5nu0LUH8n93
xqodjjpXQ1ub3F3fPjyuO/bbO1lKNnOc0C6gj8x4GSEfBcnHwE0G8gd3jTwZ YydJfctxPTtC
AfW5NUsBHYc2ehHsfr5yptxgBKOtzxJeVZ7XDvGqlHG7GF7xkz17kSz2Gycb D8Usr1eRuULR
A/n92PlTxrlSxONDGCW4hZkuvXIuR66XoIjnNIttiqeyB7QkwE4ewFpFgB14 gB0RADsCAXbz
AG5VBNiFB9gVAbB7CsA5aTvmHGX8E/Xh49BHHtXNF/6o2PeGl54Zx7LkRGgy kB9RnDToD38o
yvmztWduwmVyGeLzIjLdAzdpWhfhMrDj45SyOEprrLFqW5Y2WBU7uxhH+z+1 vb7Bq/liPLa4
XiuoOXabLROUmmPnJRuXywXskt+2ZbkwHttZbIHEBvvOA7iammPn8ADbIgBG AgFGeQBXU3Ps
HB5gJALgySkAn6rmRNNg1fyiqpqTlNhqrrZUquaqfgYh5xhabn9VkXP+FF1J zhmnLpycl52k
c8iQM0eXJwNjgAZTG8b8DCfnZSfpHIBz5ujyADMGaDCAGfMznJyXnaRzAM6Z o8sDzBghAeUc
axofhzJyfllZznFKjNsKIuddg8q5dtaFkXPGSQYg5zMxcj4TKeczeDLMRJDB E6g2nkg59+AB
9kQA7AsE2Bcp5z48wL4IgAPBcs4YhavI+XBrAiDq3ziirreoqLe6KoyoB0JE nf8NoJKohyJF
PYSnRCiCEnOBmjMXKepzeIDnIgBeCAR4IVLUF/AAL0QAHAkW9QBW1HffcQFE PWCLeqfzyqCe
0wzb3I5RoN9heRdPfAw+mNbMnCIWCqmtPWVnMrSnB3XYaLdD7inQbjbbshSH y8hCeV9yzWiK
Ev6fH6/3CC5SgKwkzPKF5JdzNZfT2mGQML0V6brY7QWuN5CTaImef/6KAnse 4k5iBrxHHn74
ji7SVceRGW21XTiQPzdrkqbXpFa3JtVbavPLn5/b7ZqkqlpNMlr4naa1d+/w 0+4d/hW/qxMb
bFKTmmSd/iXtTtoEJ/bD/9fL4v3A+xYksB9IfnD9QLz9mn4gkQv0Q51UvK52 DVxofdcP9ZaR
Fp82SdcAq/2oeO05F8diaz8Crf3ol9V+VKD2GuG4oROKk0dDB6myN7l+/GfU +Ztb5dZRlZl/
ehSs8gljF8nrX25e+uFcW+Rovwmt43/3RGM8ZWNsyMZhpkcawsvZRhtoGypz G3reNkpwjnZL
FrGSnKPesuC8PvXdownCG7GYM89+8lN25jEIS2muDJAzCq02u3ue0kcgnnZt azIrzNPXJzPm
UV2iwUlenmCe0hhieUpDCOYpjfFzeEq7BYyn1Bs8T8+VryDUpOkVoKbxfIAa cAfolT9xrFHn
puABWmBEZsxRJTqa5GVz84IhJo3xlI0BSEwawsvZBgAxaQyVuQ1oYtJuySJW kpjUWxacqsS8
UCwQYtL0GLhmzkz9bM9M8gREzHdv310ahYlZ5C4Dhpgkr65gYtIYYolJQwgm Jo3xc4hJuwWM
mNQbPDHPgYhJ0ytATFVPbxuau9uG7avtTRN5zr1t6Kf/22R/5Ylf/gBQSwcI 1f7XlnUFAACT
MwAAUEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAAAdAAAAMlN0ZXBUZXN0L21v ZGVsL1Rlc3Qu
Z2VubW9kZWzFVElr3DAUvgfyH4x6rjWdQynGntDMUgJNGNoUelXkZ42oFvOk WfLvq8We1JTS
Bgrjk/30bfpsq745aVUcAJ20piHvyhkpwHDbSiMa8u1x8/YDuVlcX9UCjLYt qOoTmPt4U5y0
rM7EeSBeXxXhCnrGVWGxITvv+4rS4/FYWi1Ki4J+v78jAwS4RZiAgCvZO0hA 0B2dz2Zzuo6w
ifYY5e/cMSspEmElEbi3+NwQOv/qoX8E56lDPsgn0FbthTR3q7CnETLQH5gO efNA6t6iB4y4
YHm2D9bluFbCL9G51b2SzHD4DIeY/X2smtv+GaXY+Y0E1bqGdEw5IIvIqbvA liLvYBFts2BN
JwsJGirZMv6DCXBFj9DJUw7aSiaQaVK00vXWsScFW7QH2QJu2FCFxz2Elx6l B43MzW5vaE6T
TZaKORc80lJ6mGLpxxGd8Rtgfo8plO0BfbB7sCbY8Z1ULYIZ7TkGJCzjdJJo EGhIeqrWX6CD
QONQTG3pE6EXcuZn55q+VPSa0m4vU9rtf4i+fFH4F/hagQbjX0daDR/xRUoa zCnk5O7PjaXB
+BfGI5P+dmaG6U9QSwcIPrepSLMBAABxBQAAUEsDBBQACAAIAFd4/zgAAAAA AAAAAAAAAAAb
AAAAMlN0ZXBUZXN0L21vZGVsL1Rlc3QuZ21mZ2Vu5Vltb9s2EP4+oP9BUIGh LVCx7bCXZnYa
V0m6DG7mxW6xbwMtnW1uFKlRtB1v2H/f6Z2SaDlJ06DAisKxeMe74708d7QG b64j7mxAJUyK
ofvSe+E6IAIZMrEcuh9m589/cN8cP/pqsIwWSxBH70CchUxLhV9AUfziXEfs qBLwCgU8+srB
fyhXJEdIHLorreMjQrbbrSejpSfVkvz2/qLJlzT5tt9kbK9evHiJvONpsIKI Pmci0VQE0Nia
W9bYDQFncQKZCCSnYr4jaPF7GQJ3j9Pdg5DRpaJRLslxNixZU35xOnS/f+2W i4BHnVClfU6T
5JJGMHRP821nBaViZRqiKdooNAsyouQs2HU3Xlj5KjFCaqrRkx8ZbM9pgP61 yDCI1caACilY
QHmfcr/LVB8gkGKi5IaFoCaKScX0buiO5bbi2FDOwsw6O99xzlh69motZiyC zIpShOOsFCyG
rueR/H/M10smCAaqChoGzFNr9E8EXukOEqWRI+WjhwHPVh6Tao0UZ3RJaQdw iEDo2S6GWj8m
2pHGlaFbZPR70DSTlfK5NWMa+5+Ax6Ds0c9ptbYNBiWicY+mc7ZcK/iY8xma Ftn6r5h+bMEg
NNSZbgkV3b4KvXMFsJAqGtOdqT2UEWWiNC8/eNvpM0i06bn0uYhV13nBivHw EjmN2NU1ktZl
y1etOvE7FXKDGvEPVMeh+vBtlXGoNvy+qnAcdEu8SqmpM+wC3tlZTAsUUA2+ jPBoYUO3STA3
SKExoAirQ5eQkzJMJ4GMYnRqGt4Eofa43NFfdJ+z7NIzV2mzr+puUXd7Ks+3 1Jyt6iyaLoQo
RHVrDz1t6MgrtEt+K0PEuK8fX49+JM+eZX+dZ87JMu+BEBYrJPsbr+cY/Xyj U4h04FqDCBPH
UtFXEGBTW3IoWP/JpOz5eF0ZkD10rSiWSf1Q2FNY8uRpreB1+0OvWOIloMeY eVO94/DEYm+R
7Yk3vrg8+/30l9lTw7p/78dkxTZIduZScqDCiXYfEhhLrDBfSoWzCRITZ+gs KE/gHrRJjTGA
sNK37mqz+E2BXqs9xu11ySfZt5EsdDA+FoVPemzvmr7PoZbN/cE1PwyyWaJZ kSMogz6uC2sQ
Yfl3UOomnco3ZKd9KgfKFHJSRDlHOMUsv63QEQlaYtP2d28CB6TjhAGpO2y5 pGU8hg3wvW33
5cG2O7pL2x19Ytsd3aXtjvrbrtnoelvgbTr16O6detTs1P+fxju6e+PdN/De cuRtNcjPiC2j
z4EtxWhNivgk9ws0/dKzHcV14EIwzdDhf4NqKunEDW/KhTVT+MvY5h6bGwes prQ83SvzI+Vr
mMYQuO1N82zMqsW+7XBwzIM1XaLYP+iGNu1BixY2H94w9GTecF2K0OYBTa+S PW7tx/sGulfX
LAPMbIj/7WHEH/m1jDuhvyngUzuBKetOXcEUcKBDVP2z1R+q9UZ30EzzDMdr +U2rfMk5RdgZ
utlYaZ4ZIExm+f4ODRU19Tfi/GXe0b4A8Mb5x0j9cjGmHLSG2tKlkuu44aUi jkbtmjAwQGmK
QXIA4WY4LJ8h566FMGWStJYxkIFisc5+4swHAUyKrdPmQ9GWhGwnBLl3e/0b 2tvms9vbKCBz
iM2DUQWwGaxBjOkLCkQAE0Ro40S2XjDFpAipCieNTSZspb8yTTXEGWgXtnn5 VYmb9ZclXsrk
nLbTIW+uKL030W9izT57aBwDVcZP0qZRIzvxTybCBpE8oME40gisSEyMxGKx v4eam2xSH9Lm
WDGEPLG0GDyxkXJrK9JDmqrWHGeFkQjfKRZa7L3K6A4yOB2O3OyrhoQHdTPV K4R6W15MbKTC
zSWpBvYWEOSvW0ihJn8qelv+ANkLpeJB0A1bpu+VGj9EX5USDVjJCCZytX68 tu3BhoOA2w/P
PRr2YONt9PWLt7eKAWl6pRwkPsQhInvpuVhJvKPp3XQF9dSp6fzGSJxvn9F5 C4ZpF6ruRW4n
bIeF+utEy6hHZPYaxFjkdA48hS4cPepaWjCum7egbsfFB5R/nnE2JoyULTk+ NJZ56eSEQ3/G
3L8bFl45t1s2VL8OzjIKukgrHKovy4xIJ3ZszU2uumfnR60vIbi/yKluvhRv kcoXpaUQ6+Wp
TE24xnJPEuOlYD3MlQv9Mf0Zb3JnHSnmpaci9g9W5KS+dRXfu3c0cmLe6owS sx9kQPa++Ebq
f1BLBwgKGFiabQYAAD4fAABQSwMEFAAIAAgAV3j/OAAAAAAAAAAAAAAAAB0A AAAyU3RlcFRl
c3QvbW9kZWwvVGVzdC5nbWZncmFwaLWTX2vCMBTF3wW/Q8m7Rh2MUdqJ1Dlk boPNwd5GSK8x
kD+lidZ9+12trbYT2cvyltzfOffcC4nGO62CLeROWhOTYX9AAjDcptKImHws Z707Mr7vdiKh
VyJn2TpMmNkyF+y0DGvZCGXdToAH3YwLsRiTtfdZSGlRFH2rRd/mgn4+z5uc a3LFzQEbDQZD
ZBfvfA2a9aRxnhkODWmVp6EHrmTm4GCCwN7olj7uMcmZmsJKGukxMQkM0xCT JTifSoZGmtzv
3aOVFJscXNkpOGIoZBvlSwShFBzPZeZtXoMVOpkdDCoUYcb9hqny+UTjGE6G /jtDTb3aN+A4
qFDVpJeMaRWCnqX4Q7Dkv4JVxucVJQ08SZPGZDF/efiavi6v5I7ocenlzdi0 vf9JbV6S7W1c
0iS/NElTw63OWO41GN9ul5xKVztHtPUr8O0HUEsHCCR9rWpJAQAAUQMAAFBL AwQUAAgACABX
eP84AAAAAAAAAAAAAAAAGwAAADJTdGVwVGVzdC9tb2RlbC9UZXN0LmdtZm1h cJVVXW+bMBR9
r9T/ELnPjZNMmyYEaTaaSpWWPSzZtFcXLsQT2Aw7SbtfPzt82KY4W3kC+5zD vfccTHj3XBaT
I9SCchah+XSGJsASnlKWR+j77uH2I7pbXl+FeZmVpAo2pKrU1uS5pEHPWijW 9dVEXUqMiUBt
RmgvZRVgfDqdprzMp7zO8c/No4sTLu707gxbzGZzhf2yTfZQklvKhCQsAYcK Ca/BIUNS0ErA
WQHKTKss8FrDHGLTh5eZN8wPuGwaFUOy5Lz4F/s93inUPWSUUakmhJZaJGQ8 BbFs9MKEM0ko
K4HJByDyUEOzoa99DVmEdiDk9NznDcb3lOQ1KTEUoCkC4U6Inxik8Z4W6bJT CFNeKu0NSLJu
8EZ7VP1TL9eTH3XppKB/oLbJyrJAvlRq9G0g2uK38NtioKXhhNSsC1vKL/aD FAfYVpAgF//E
05cIGb3Pg/2CsPxAcqX3ixyJXYQqIxtOeVjDeRjB+htkUIPJ2+XB4SdrdOot 2O7WzBS/GqrZ
04nyjlhvBnGtalc50qlCHitbrKppVZECpAS80gtiOutvHJebQH1VmfQrKkS1 v3HSkeikqfnY
pISXFamlDlqEVAHnoOv3mmzilQUS/XnRXHU38gZ7QaN9ubvupO3Sd+U1MXFN HPmkmpld+qw8
4rEjPWL3Gy1/u+3zYQUe6332x4OEjx04uHPGCorltxOWFvk/Lg+c7QW9lprM xgZtxxfbZXVH
6LClEJujuptWh20fY8KOxOprrAb91MLNcd1mSOkXo+w2N68IY6Hz/ycMvU2F r9JBeFqeOq/6
rkPs/vrV0l9QSwcIzeqTDGICAAA1CAAAUEsDBBQACAAIAFd4/zgAAAAAAAAA AAAAAAAcAAAA
MlN0ZXBUZXN0L21vZGVsL1Rlc3QuZ21mdG9vbM2TX2vCMBTF3wW/Q8i7Rh2D UVpFHBvCBmNz
sNdQrzGQPyW5rvrtd1t1ttiHwfawPhSae87vnt4k6WxvDfuEELV3GR8PR5yB y/1aO5Xx99XD
4I7Ppv1equwGvTfJil6voHTEcGB7q5Nv74S8/R6jh5AuJlTM+BaxSIQoy3Lo rRr6oMTH87Kt
i21deVPLJqPRmLRPb/kWrBxoF1G6HFrWU6iWHXKjiwg1g+oV51ZUqe9ho51G ysqnFSQtpAFE
OAIZQ40GMr6CiGstVZD25Sg4yslQ9YpnOWWIOsFDQZ7mcB6D3xX8orrGnnnX xC7mIoCsQlds
3pSewPPW4hpiHnSB9Y7UVmAOSja/NKW20Upjlrl3TWtXc5qZ3BlcWqmAiybC yKDgF4hU1P/+
p6NY/GgUi/89iuZXKk5ntLqBousKUuELUEsHCC/yxRxAAQAAwwMAAFBLAwQU AAgACABXeP84
AAAAAAAAAAAAAAAAIAAAADJTdGVwVGVzdC9zcmMvVGVzdGRpYWdyYW0vQS5q YXZhzVXLbtsw
EDxbgP5hmwTwA7V0b1XDlpBDgB6KNveCltYyG4pUScqpEfjfy4cEK2lsuUgP vZHUPoYzO1Q8
m4UBzCDJRb2XtNzqhd/Hzw/c4c1dcWMXcRjUJH8gJcI9Kl1QUkpSfQyDMKBV LaQGIcsIc0Zr
hRFWmygXVSV41GjKotvPVGkXHHfN383nsMaS8nmjUM4LkcN87oGsQGItUSHX RFPBQWxAbxEq
USADsf6BuYZxgtUiWS9WSbxeJLHZjKNjZeTFH3X919r3uDf1NoIx8Uh5CRsk ujEdgUgE1dT2
Qlh88BkN8ykACaOLpyWj/KFPQrS6LlGnYAGlDskhiU3kBUmZS8peJiVx1zOJ 6yP2pcJn7Ee9
9Rcvji26mkx9uOPLL0vkKIm5U6dls2Y0B8o1yg3J0XCOv7RhTcEtw8owD09h MHJqjUyBr2j4
4crJsCOswU6TTob0KAPkwghHuasicYMSeY6RL3RS91Enjl3ctYIj4Vaefq/0 XBOgio815AyJ
fO9LmUSjqUTC2B7UVjSsMP3NLEl3BwIFqlzS2g2ajY2iDmrcwTkxUvbTUjpm ThBzFmzbxql6
rcwETdJp7+gCob+nky7De6PX59OVlg1emXY/GyqxaPdteG8eRm4gRinYIZ5M nUuPwn9D/Zrq
F7ngLZNwhvGamHYtHguG4+ObqPf3PknMTtACvDy+zUuKBr2RDXkDmHkeW0z2 YbJbF2mi/Jtk
K+5rhFd4zw7/ylrZIMb/zV/DiKO/dFQ27CgtCVe0d1CgpLthh7mfYJItrNGy 1mgHiGNYhcFv
UEsHCDwQBf1YAgAAlAcAAFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAAIAAA ADJTdGVwVGVz
dC9zcmMvVGVzdGRpYWdyYW0vQi5qYXZhjVNNb5wwED2DxH+YppE2WRX7nlK0 XZRDpB6qKvfK
wMC6MTayTdtVtP+9/oAuUbtKbmPPzJvnN890u81S2ELRqPGoeX+wZTzTlxfh 8vqhvfYBzdKR
NU+sR3hEY1vOes2Gj1mapXwYlbagdE+wEXw0SHDoSKOGQUkyWS7I/RdubCim y/B3eQ419lzm
k0Gdt6qBPI9EPoPGUaNBaZnlSoLqwB4QBtWiAFX/wMbCpsChLOpyX9C6LKg7 bMgZGWX7D27M
jnHGo8PrlBDqF5c9dMjs5CYC0whmGv2DsL2LHZOILQCF4OXzTnD5tBaB7N/3 aCvwhKrA5FRQ
VzmLurQXdDzT2Bl8ISRZxV+jzh50f3Mby8PTY9ijRM0cvWUtUy14A1xa1B1r EPaAv60TwMC9
wMGJCM9ZmgThEwfwDd1TpQmK/mRiwkXeRdHqrCg0yu2Ay4CisUON0k0Qbpsk onkd/TFUuqoo
oUc8jgj/Eas6zZ0XHZAsa/LBw7x6ZNIvak21epUjcCM3jppApj9EPNft+Glk QhzBHNQkWkfC
WSuyZtCiaTQfg+98LSELX7pwuuAwn9rpoO4FcV9nPM96qz2+V94gyV+HrJE/ XVk94dWcXrkm
CbZJwp8sqhK8eW9uw+88AaWwz9I/UEsHCJpFJkTjAQAAIwQAAFBLAwQUAAgA CABXeP84AAAA
AAAAAAAAAAAAIAAAADJTdGVwVGVzdC9zcmMvVGVzdGRpYWdyYW0vQy5qYXZh ZU/LSgMxFN0H
8g9XLNQOpPkAw2AZXLhz4Q/kcZpGZ5IhSUER/91pQ9Uid3PO4XIesus4o46U TfNHDv5Q+8bl
tXAWV09udQKSs1nbN+1BLyjVBe2znu45O528ON4IQQY+RHEsyMIlS0I09x1l zBkFseoaUqS0
p3oATclhpGReYSutFaZemX5Q0vRKLmS9/XVGdP98f4o+FFxV2/7Bz635rUcd 7jbt/ZzboEdE
1hXuMvRoxmApxIq81xY0EN7rkl7occS0LKBPzr5ISho4+wZQSwcIYQKLa84A AABPAQAAUEsD
BBQACAAIAFd4/zgAAAAAAAAAAAAAAAAmAAAAMlN0ZXBUZXN0L3NyYy9UZXN0 ZGlhZ3JhbS9E
aWFncmFtLmphdmGVVF1v0zAUfU6k/IfLmNStIs47hKhI9GESEgjtfXKTm9TM sSPbAaqp/x1/
0lTQaXvzx73nHp9zkmq9LnJYQ93K6aDYsDdN2FfnB/7w+q67douqyCfaPtIB 4R616RgdFB0/
FHmRs3GSyoBUA8GWs0kjwbEnrRxHKchsGCfbL0yb54qxlQrJ9uvuB7ahsEos 35Ql7HBgopw1
qrKTLZRlYPwJFE4KNQpDDZMCZA9mjzDKDjlIDwarGsem3jWfA+W62jV1ZY9W 5ISPovsHPdxO
YdK9Re0l5/IXEwP0SM1s5wJVCHqe3JOwex86Zh5aAGrOmqcNZ+JxqRmJRN4O aLYcR0teg+OY
Np7dsa5sd/QlQdbVdKK20XjmBVmsvwWr3Ig47eY2NHlpwnJAgYpa4snfecdZ C0wYVD1tEWIr
4G9jBdIQ7YGnIs+8PZmF+Y5WCqG97j8pnzGZkHQ/PSsJD620hjHhjq2DPSoU dhy3GSEB1Mnt
tr7SC+SUdsCHCeE/msYhx9h/MTRZ8tQt7mJakArn6pL3mRfPEQamxcry5EjV uwBrQSxZhZTz
A+i9nHlnudhQhidQ6FC3ik0+sa6WkES7StQupNJdbZRX/ILgLyYeR74uRQ8J 3sUp+5un5ZiP
V0bNeBWvFxnLfMgy/yuoI04Di4/g5tZ/+EeoqhS9Iv8DUEsHCH6buwP8AQAA rQQAAFBLAwQU
AAgACABXeP84AAAAAAAAAAAAAAAAJgAAADJTdGVwVGVzdC9zcmMvVGVzdGRp YWdyYW0vRWxl
bWVudC5qYXZhZVDLTsMwELxb8j8solIhkuMPIIrg0AMnOPADjj1xXWI7sl0J hPh3Qh5AxW12
dnd2ZmVVcUYVNTqO78nZY2mXWl4SM7l7NLtvIDkblX5VFvSCXIxTNil/xxln zo8xFYrJ1tCD
GzNq+H7CMaE+PHUn6DIPyu3wlRDUwbogzhlJmKhJiMXEAyWMCRmhqOJioNhT OYJ8NBgozmK0
b+DbpmsPA/w02MiubeRE7etffQTzT/0n1X3GRY76D35eYl5blFX/5nZZmj0s 0CIgqQKz/ebc
DU6TCwWpVxq0rhLeyuQk0/oH+uDsk6Tc+px9AVBLBwgnX14y6wAAAI4BAABQ SwMEFAAIAAgA
V3j/OAAAAAAAAAAAAAAAADEAAAAyU3RlcFRlc3Qvc3JjL1Rlc3RkaWFncmFt L1Rlc3RkaWFn
cmFtRmFjdG9yeS5qYXZhvZXhjtMwDMc/t1LfwUgnHUxq+wCUia03pH05IdgL pInbhWuTKvGA
CfHupGkm2K3jYHfalypx/rX9s1snn82SGGZQcN3vjWy2NB/3+bHBG2/W4mZY 5EncM/7AGoQN
WhKSNYZ1b5M4iWXXa0OgTZMhb2VvMcOudmttMFt9YJy02Xtlfoj8Kk2hwkaq dGfRpEJzSNMx
i80Woajm4bUir+ZQawPkzJ0W2GZetSbojf4qBVpgwA0ycudIWy28HBnfgtIq ZZUl43wBb5m1
oOvHnnwuqMRpJu8tHsFmf6w/jrUYdQ0qNC4BcSjUrmolB6kITc34kZPABfid XFALh/rAjySO
fH2iUAQrVdMiaeUcWWLK+QnZ1+Mr2ag9W8zoPF30KO3I5x1N5bm+/7xZ3Jcr eHdUC9f0NjvV
rwezVJJev/Ed/430CWln1NAthd9AV1/QNcUBjX25LbCbL4rcPW+fy2V8pH8P NFGIRfikFpdg
LK+FsXwKYxkwlpdglNfCKJ/CKANGeQnGqsUOFV0LZircBFKQBbCwuwTvbvz9 roU3FW4CL8gC
XtidxRtm2uFysbt+uE1QQLV3B9K+1LQLbP8T6+8TMlwB0CCdWgPrT8jz0yGZ xL8AUEsHCD6r
ZS/RAQAAgwcAAFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAAMQAAADJTdGVw VGVzdC9zcmMv
VGVzdGRpYWdyYW0vVGVzdGRpYWdyYW1QYWNrYWdlLmphdmHdWm1vozgQ/pxI +Q++3krd7V3C
vX1rtirQ9BRp21ulrXTfIgKTlCuByHakrVb972eDCQbMSwhwu/elAuPaM888 Mx7PRLu4GA3R
BZrawe4Vu5tnehW9a+mBcPDd3HnHH7TRcGfZL9YG0CMQ6rjWBlvby9FwNHS3 uwBTFODNBGzP
3RGYwHbNngMMk5npWYRcVs36HK1dOW8Ba8Dg2xDurMWa/DAeoxVsXH+8J4DH TmCj8TjS6vEZ
0HR1JTaYaqsrtA4womx4GzjgTcJZc4rswKeW6xNk2TYQEmCSTARqoWD1D9iU IBogDDsMBHwa
7b73oq0QmnruFVj2M7K51j9PNfae/bQGi+4xoGCNqqaCv9/mvli+E/2jYzGp 6OsOkhlTLZYl
hAR8Jw/INYGUDSfS861l0wC/RvNCeNCL6zsfz4Ttz6IvG/ABWxScmBn7lefa yPUp4LVlp5YX
wCP4Qpk4BMWmRl9Hw0FowIGwUswv39rCJBouNOygWMVBRsJBKOLggWLX3yC4 1+9m6CM6k0Q8
C8lULAzZcZ2eFvMOpXpYsvW5XJTJVU+gjnF6WH5ezG7nf3OhVAIRNs0DGvjM 7oRazCc5pWki
avuyqWg1v3941O9NblOZ1CyMeJP8/Dkfdn2Xvv+gUEnyc+Q6B/c//3rtuf5L fv2ZB1sWBfii
aArbK/E+1djz23nk2aeikPXW7MZl09T6/7gBKhZ4/6EQa+bMaPZpdje7f2TQ /q5AiwWnFWBu
dELx3mZBzfLi6EZiLpxncWkJlrTA6DrADjsYlOIvb2f649NitjT/egqV+aUF 0+sHo+vdm1tv
bmi9wsR6AR7xKSVjwbVlR6nBD9HYltGhya3LTkVxNvdhW325NJjoahP/dKxK ZpVKyHMJ7Ukv
s0SvX0/yQ71vD9Rzvlek2G8t+KRx8Emje580mvukUeGTnNgqQ38XBDbKCaxy zPoENvomsFGb
wCqDHUtg80Bgs3sCm80JbFYQmBNA5dD1DW32bWiztqHbyB5uopeDucV790aX Nm5merFABQFu
5vqfC/2OofjHcXFMZIrkmwlnQpPlUtDhoSBfqk9t2dY9EjxWJEvzKG7J6iyA Ce2TbOUjtFUo
rpLXeioZPlUjHMpQJoKUz0wKqKwXcjSqSqEoP76srz4fU/NRCUl42KcSkg5x KZFNOjoLsUon
Jvxz1fUhKcaFQC6NlqDkrl2Mp5k6H/8TPCMBpWOqFFTzJFDNo0Atds/eaCi5 ZwXljBru2Tmn
jO+NU4aaU2V3ijSnjNY41RtsEqcq0DFrcKot9UWuoqj89QNFqqpWBIiYVAOW Q0mwFXBElqPI
bvsBJ5VlFYEjJtUA55D2dhuNxDZShZbI9CLfRoRKSVMFrqxLLmpV3ybSsUvM XyYLlthjHTWz
2LNFkY1ZLg7Rh7hfccjL40ZgW6A227m84SFacxyF/GgOh1ItbmDt+kwGz6Vs P6+oz8mFlzqd
4bJhe5E/FfU6M99Km52ZuXK3M/lU2O4M5dEOAh3XSUpalZ9iEHg/UgCoutYL sE7rDJSbpkyN
4rt63BxocpuPMtEcRgKkOP7xHsGhzzaRL03H4FW3exBzpgW8lDolAUX0ENKq JdeYBsrVK8P2
qqGZ19BsomGTonsXdDdOoLtRi+45TvyfGGEoGGG0y4iyKnYXjDBPYIRZixE5 xFrFq+6vCLrA
Lv1DgiYIyr8kqMIx+T1BCs3MzaMNTOsW2LvANF1jb4KpnBZXYZqU2lOYZi4s DSLXUaX4/gKY
qiCv0jx3R3jjf9+QpuVxHw3/BVBLBwhJSv+ONgUAABQpAABQSwMEFAAIAAgA V3j/OAAAAAAA
AAAAAAAAACkAAAAyU3RlcFRlc3Qvc3JjL1Rlc3RkaWFncmFtL2ltcGwvQUlt cGwuamF2Yb1Y
23LaSBB9hir+oZ1NxcJlxHtMiEGr3aIqFbsMSR5dujQwsZjRagReV4p/37np hgS2s5gXoxlN
d5/u05eR+xcXnTZcwCBg8VNCFst0qNf96obafD8J38uHfqcde8GDt0CYIU9D 4i0Sb2WTVRxd
ddqdtnhgSVp5N7pq3B43bzvN26XnW22/bO6nt/HsdUoi22FRhEFKGC2/Z8nC xiAiMUcbV3M7
YKsVozZlKZk/2V/lDwm835dylh6hV88JKoDuF8LTQ1YwYAnarhN5nO9XqU9N aIoJ9SL3xv8p
vH5ereTJdsvQJzvMNctp6NqKw2gq3F0hTTNnnpfNkebu97P0O+v1wMcFob01 x6QXsgB6vSGM
KEi0KO0opMDmkC4RVizECJjCAucDXA0H/nA06PvDQV8szu1CLdKwolS/ifXv TOiai3Rhj4Qu
YI5euk6Qg5dgYRjDj1pmHRnhiAx/XUeEPtTy3x7JWP6xwHQMEtVYwdkO+kLk 5bKOknVqsv0c
Qd/gV3+uF0gx8QTQrDrXfkQCCGT6gNIK+G8qAsHB1T6pvdxDcQh+ddotRUfL hCXwgiWGsPGi
NWZhPzfQlYNWt+ziOQRFTmgtCc4xQRqgvZfgPQy1lGvy7zVHzMyZnZK3as2S UJjRK+F8K05Y
KtJCYB+Dr9LsdY45xjHneccgEpl8DO+cF3vX70PhoKqkgTOE4Krs5e/jqVqv RlMlkoiNzJQW
X8eYWF1pdlsN8TGNX99sMElIiBUgui8CTmVPCNQig5WgKGAK9UlhfyGi+XgR V6PoLTGb4huD
qZEyLv80tmtjCXyPk2AqAY2B4uP4suHMii+4gTsGFoVj+KQBt3zxJKXUgszB wrL0Hf6zJiJF
ra6RbtWGC9DShlYGtUNWuiT8Uilotcov7ak7u2zidHR/LzyRUC8VPpWOGqF0 Bj4JS+so6mqd
eqsCRZ/HiGNxxPbC0Cof0lq3JRrlsdMwuWEkBF7wZiIsPZRLOBMUZVFvZhR0 DIrI+FKoHhbL
2rlIdIVmGydUVCDHO1yxDVYYark3t7c308nMvf/LHc2+3bn349HUhd5+pqTV XFylWwErc+dF
yFQocnAjQdgbITMQivLRxbODXZ2qY7dDwmMvDZaWSSGQmQaHCkjno3r5ZB2o EqjVhwG/30MF
XAXujbo2fL2Z7eZvPqDMXFWZKkaYjEGQ12e+HWS9ofmWKRRZjq2uNZeQMy7k mr12dNjF+635
NfUb6FtBtRzgwwfwbYPzrIIsb9/mdZnNyoFXY9/LmFN0nVPN132zY6cH7BQj MHF/Slwaan8I
TbNr9OTPZ6YMfySiOMDKz5v9wOO4r1Q/VvgoylLWb6ksD6hwKipKzUWx9HnY NbnatZV643Xu
ZclIeSSo+9BuuyyESiHJ5U/Lq2EL/8bU2iHJZyxCj4rq4CzaYLEhP91mTzEe iy99I3odQeWK
q8dbelPyJPcgR/7WgZ6u41hY5T+8hIpPSG69W1PxeRE8YPiu28yEmuk4rfNg KBJN5Lv8Nvnf
UVf3BmvcLTRelSL7Qhp0/EXjQs/c9/M9cVEaRZFlFf9vGXzOPzSd4SG72/wb wlaRKEWhInTa
GtHMfKN8l5sjUiGnypFo2BNPjb/AeIJp3xDLrIfghNdS/Wj9P5vTr2spB0e+ 3DvLNm3C3VWc
Pu1vQNq7hmBvQdw31Cdzp/0fUEsHCBHlwGPuBAAAZhUAAFBLAwQUAAgACABX eP84AAAAAAAA
AAAAAAAAKQAAADJTdGVwVGVzdC9zcmMvVGVzdGRpYWdyYW0vaW1wbC9CSW1w bC5qYXZhvVZN
b9s4ED3bgP/DpC0SOYipe6K6abRGYaBoF026eyxoaiyzoUiBpJwGRf77UqQ+ 7NjeLBZJLrY4
4sy8eW84VHx6OhrCKSRMlfea5ys7Det42+CN7+bZu/ohHg1Lym5pjnCDxmac 5poWhBeluBgN
R0P3oLTdend1sdec7jdvPP8ZEm3G/UnXlFSWC5IqIZBZruTme6Vzgkzw0iDB YkmYKgoliVSW
L+/Jl/qPM1p7pSvK/4urTzb7zI39t83IlEYySwU15uKJXXNpUUsqZl8XP10F T4cNEMLuVEnr
gBcobQvqad8uY1dG3Gp/NJnAAnMuJ5VBPckUg8kk9MFHCbWsWOfylIFagl0h FCpDAcrjgZME
i2mymF4l8WKaxG5xQvrQKLPdwEkZ/m9crKWTUd1xmcMSqa00GqAa+8SYnQef SgQngETw6e9L
weXtTguSq7n7fZujTaHGlXpAD0nsXJrebuMkcdl392WOEjV12doerxaCM2C1 nuCDAv6yrhoD
swDM2zqYbhP8Hg0HntdBUxujbIUZrKmosOXupEHuMUbjTZQnwHpxQeMSNUqG IJxoJEQ9KNfg
MOH1q0uD2KZsLBsV+7XSmcsXVo6AQamVdfo6/L5rknQKzLdOX+P/RrOdezub J9sRU7M5MFWJ
Ohq7vIOHF8t9+XWNWvMMt6v2Zxnwuu595hctKo2uUSXsTirymbuDRoXxM+8F ITft2SnTNJNH
x5cQMXj/HmQlRGMbOANIvIMDU8TFiFLiu/3MtSl3v3uqu/rxI/Va1JV1NLBX VCeUvTPGAefS
7TL4DQu1xujRhAXlTp6eyewMuDtZzaCZ/3G2J1JhctM23x23bAVRt78jkxo8 xM+539FyE0Vb
ozf5MB0HqcZkQQ1nDd4en0+/Q7E/BuRRkb3TRkGd/6sK0tCMn9BGjxheKCWQ SjfOjBJr7A31
7XRzX+LzkR2YPURejW0DV4enw/HCrF1XZemSmr+plu66M9GbSrrrgd1i9ma8 n9a14pkbQLuk
Nny7A/1Xfbc8A4WBOzcBkDbztjfSLPsoRBT1X1zJh+42TKfjDsbFphy9Do0A 19sCbHm9arcG
Wr9L85jYl+LxACEBQZ/l1YlojyLOzU6TPd+xZHAU7iI4PoYjRriZFaW9P3xS A5o9vDxAHPvP
g9HwH1BLBwgZ9ouQZwMAALwMAABQSwMEFAAIAAgAV3j/OAAAAAAAAAAAAAAA ACkAAAAyU3Rl
cFRlc3Qvc3JjL1Rlc3RkaWFncmFtL2ltcGwvQ0ltcGwuamF2YbWS30rDMBTG r1PoOxxhsD/Q
5gFWyqTsYiAo6Au0yVkXbZOQpKLI3t00oW5z6p1355yEL7/vO6GrVZrACgqm 9LsR7cGVsaeX
gzCc7fhsLGia6Jq91C3CE1rHRd2aus9Fr7t1mqSJL5RxF2fV+sfxWf0QFc8F lGlzZJ3QFnPs
975WBvNt1dXWhnt0or/JMmiwFTIbLJqMKwZZFp3cShjBsEfpaieUBLUHd0Do FccOVPOMzMG8
wL4smrIqaFMW1Dfz/CSNkl8LF3qKSp8i2rQo0dQO+RTU0HSCARuZodp5EsA3 5wUtbCNUmH0h
+kvwkSYkWCN/eSO/05FvJCSgEG2U82aRR5DFMrxE7KDRLJY+UXIcU/2Xtzf3 r2iM4HjBEXcJ
+DiuhoVmojLoBiPh+ofkd8J58c6GTxWRj0Bp8JQmn1BLBwhWqRMAPgEAANIC AABQSwMEFAAI
AAgAV3j/OAAAAAAAAAAAAAAAAC8AAAAyU3RlcFRlc3Qvc3JjL1Rlc3RkaWFn cmFtL2ltcGwv
RGlhZ3JhbUltcGwuamF2Yb1W227bOBB9tgH/w6QtGjmIqfdGdRMkRmEgbRdN dvexoKmxzIYi
BVJyNijy70tR1M2Xpihqv1gSyeGcOWcuDs/ORkM4g4ip7EnzZJVPq++wv+AW 38zjN+VLOBpm
lD3QBOEeTR5zmmiaEp5m4mI0HA3ti9J5b++mel7s3JwJTFHmuzc7739VTrs+ vtM1JUXOBblW
QiDLuZLdfaUTgkzwzCDBdEmYSlMliVQ5Xz6Rz+WDM1paXa8o/xVT52x2y03+ s8PIlEYyuxbU
mIsXTs1ljlpSMfuy+G4jePnakmjiT883SN9tUYGuLK6VzG2oJeN1GC/bNhib wMM6c04mE1hg
wuWkMKgnsWIwmVRZdCWhxOrUdSSDWkK+QkhVjAKUwwOnEabTaDH1ORKFi2kU 2qVT0jpAGW9f
H2XV897euLTyq0cuE1gizQuNBqjG1j3G7yqbQlRGAJHg0x+XgsuHrTSu87Vk 93WCuc9QAyXU
+sOBfI5Ce42vmfruKMzaqrlMUKKmFkFdO8VCcAaszA3oOAL8L7dxGuhI2wbQ HIUfo+HAsT/w
sTPKVhjDmooCa4ZPfWRd9MF4B/5TYG1CgMYlapQMQVihSeVjr8SD/fKUW5cG cQOA3+hQ4r6V
jq3b6ssyNMi0yi0DNiiXcJG/YArob3Ip2LLw2wj7QPquO9JY5krWB6bIUAdj 633wfDAEl1/W
qDWPsU+E6yWAd2UlMfdRo9JoE17Cdqckt9yWLRWG3MyvPn69+nRY4D6xNyTr J6ADzJcQ1ErC
+/cgCyH81qBdB4mPsKdpNdcH/oW4cjq3uc/t7w4qPAPfvs1uZ59mn+/vnIol Gw2BneQ6lrwV
Y1tzCHAu7SmDXzFVaww2RgQoW+J6JuNz4LZofceb35zvuCk1iamz95HnbAVB c77mnFGDv8TZ
O3e85isIemMh+jAd98QekwU1nPkYWswO0hb7rrbIRuCtUSfIxv6oInnq8SPm wQbrC6UEUmm7
p1Fije1COUDvnzI8kAA9tvcRWuLtYG0wNtgOzORdkWXWqfmXamnnswleFdLO K/aA8avxbqrX
ise2020T7TWwjeGfctj9aVp7fNqOgtQ3+609GsdXQgRB+68z+tDOb9+bxg3O i65srVBeobu+
Qj2ro6Z4xfvf0mwyf0yi95BUoWo9H52cuqZxbrYy80D13czCk2pGwtu3cFIv Em5maZY/7a/8
CugOyp4hDDv/bkbD/wFQSwcIuggRxZQDAAAHDgAAUEsDBBQACAAIAFd4/zgA AAAAAAAAAAAA
AAAvAAAAMlN0ZXBUZXN0L3NyYy9UZXN0ZGlhZ3JhbS9pbXBsL0VsZW1lbnRJ bXBsLmphdmG1
kk1qwzAQhdcy+A5TCOQHLB0gxqQULwJpU2guYEsTR61tCVkuLSV3r6zEcdL0 Z9XdaCS9+d6T
2GwWBjCDmCv9bmSxs8lhzS4bvjlailFXsDDQGX/JCoQNNlbIrDBZRWWly3kY hIErlLEXe2mJ
FdZ2/u3mWf140D2XUaagyEupG6RYbV2tDNL0rsya5u9zHRRN1/kzcrvsAVnv +iaKIMdC1lHb
oImE4hBFhwRua+jueuzMSlWD2oLdIVRKYAnKK8I4xiqJ8+ToL2Z5EjPXGtNh ANbiWj7WfdB6
CHhRYI0msyj6mNu8lBx45xWOMzoXgG/Wybre4GzAPR2FjzAg3iz5zS35mZR8 oSIei2ijrBuL
4hxqMvXzSNNqNJOpS5rsu7T/hWCxfkVjpMBLGv8rAJ+6J+N+0VMZtK2p4fqv 0ZW0TrxsaLpK
79OHzQl8D4yd+QuDT1BLBwiUjX5YUgEAAC4DAABQSwMEFAAIAAgAV3j/OAAA AAAAAAAAAAAA
ADoAAAAyU3RlcFRlc3Qvc3JjL1Rlc3RkaWFncmFtL2ltcGwvVGVzdGRpYWdy YW1GYWN0b3J5
SW1wbC5qYXZhvZbNbqMwEMfPRMo7TKNKJalC7k1blRB2FWmbVt28gGMmxLsE kDH90KrvvsY2
gQBRLm0uxJgZ+zczf48zGY36PRjBLU3SD87CrbjX75PDCTV5uQgui8Gk30sJ /UtChBVmImAk
5GTnsF0aTfu9fk8OEi4Ovo3qHxIeOkgjlmbo4G4jxwlHx/cikmXTU1ZP6z9I xUmzZw14etuC
2vF/ECoS/rFohNDtkkZ5yGLHL16e1Vj5TMpcXozHsEY5Pc4z5OMgoTAe67y6 MRQb4g5jQQRL
Ykg2ILYIuyTACG7X94bkdrK+d6rlMA7aiz2EGCMnAoOyKvk6YhRokch6+mvR Ab4LuVgG9ZAr
pi43+NfvWSo4S27qcZQ7Zgo6wA3JIwEbY3gYmqMdjqbDOh6c1YjOUuFZJr6s WJ92kbKYCXuo
gC1hyC2rw1DSd8zegd2eHZZacl5kEJlc1lksf6/cpec7IYoyj/ZAZkUMhlNQ e7IN2N2bXNxB
nEeRobQsjiLncTfRVJl8Fk/1oETQLdj+O8VUqQfLUblcTZQVZpSEdmU53S9n to7x7YhabGX8
Wai7rQAitRzLWsQUSxUbIXxb5Y9R6uCzPEXeifyFJA9Pr8g5C7CiMj0JqEqM rRsZoPop0d6Y
qpyeLHSjBmzDkC/m9rAsHyXZQVMtpefegCmW3sTVYR53mDUcZqccvIaDd8rB /+U/+stVw83X
DeCU83zh/nxxHxvOc21UOpv2cqPPidjy5E1pdRFFGJLI5WFe7LU/DfZgJTWo u9/VAK6hyvaS
7FDK5BoGV8AyiBMBBF5JxAJtrwoxqI7G9+nHaMatCqlL76pGTGQPKkJ0q9NX nlLyvbo2XLNK
L5prprjWhmvW5lqfhcurZKm5PMVFDZfX5qJn4TJ6b6pfM5pXfe8aQ81b+3JI bczOwm6OW/Pw
aXbzqtjN4TXstS+H7MbsLOztngLymLdny3AMot22GBaX+N76K+EDTDnSPX3n bTKv2xz9f1ML
sTuujhaL5fW/D+kTJpPuG7Tf+w9QSwcIrjHcS/8CAAAJDAAAUEsDBBQACAAI AFd4/zgAAAAA
AAAAAAAAAAA6AAAAMlN0ZXBUZXN0L3NyYy9UZXN0ZGlhZ3JhbS9pbXBsL1Rl c3RkaWFncmFt
UGFja2FnZUltcGwuamF2Yc1ZbXPaOBD+TGb4D+rLTKEDpv3atLka4vQ8k0AO SKffGNkWoKux
GUskpZ3891u92JaNTXJNQzKTSWx5tfto9exqV+m9fds8Qm/RRz9ebxO6WPIT 9d4rDsjB127w
Wjz0mkdr7H/HC4KmhPGA4kWCVxZdrcPj5lHzCB7ihBe+naq/x5UfnZCsSMSr PxrPZ9jncbK9
U+5SgTOxxMnCIn5I14xYZDWH5zghljMIMWPHd0nl+vbLjcmcJCTy72FZ+CpT 7KaO66W78aLb
RR5Z0Ki7YSTpBrGPul21M3aExGTpMcxpHKF4jviSoFUckBB99E601o8978TK 1ZEo2FX2eUEi
kmBOgnRfN15IfeQLv6BdlwqkiPzgoIwhE36OqWoa+tU8asjFNfatrlGPtVEC 25BoG+uEXsMA
UhuJsP77CUWbULn0EGa9pzHrP41Zovb5aYxrXu0zPkgITAAyQKBEjGOIx30h 0kEJAGUcIjdA
N5QvlZZfn0Mafb8jI1hjOTXZop2RW+RtpU2dKZXWNG1ejV10jcMNsbRP1ifD mJMPcgaYSIjP
0Q0GDTHy5XpMXYgydE2xHGIiCfhKy1zlR7QifBkH6RJe0YhyJH612rcddLOk /hLhkMVoTZJ5
nKyYmi0kKA7pz0JW0SY74AlwFN8kEZPjhtNSEa1mjuKIgAGAHWwhWYAYsx7I C0bIfbfCmLH/
eHhFhpMZbIQx4ZXy0p1krE6MrbbMcw22Ace2tPYO2j3ALOIOJ1N7OHDawN3G 7aMHjyIJ8uI4
JCIsmAvrhJ37BJQJGakOoDww4BFHQU4QoihQjCMEVIJhqtkkQ03NEx9wtEUx TEoY2qyBXYqF
wMuArMVhYiE0kUeImq1G4SilIpATWAEsgM0pYIaw8nEIzF5IaynZQSeMFmfz lJqQogmgICiI
xTwAA1PhgcDiwfLU0BOAy0h1RIh10Aj8UaE/oCJkw20HJGA0ASxEoxE5RUHN YolyRsJ5Hvuj
eUFAeRtO0oI14YuOWGRuVXpRaVnia4KimKMt4bBaEpkRqlIRTfK8o7w6pwnj OsEo1kjT+Uzp
HJIbFJNAU2RwQfAC8ZsYSEbW7IPefcJxV2Xb2PsXPMMUCwB8Ma8olRpBukuw PxoMvBiWOohR
mc2jbP4bVmVrBZkzEcUY5E+lCfaWyWMAR5KGue/d6Dr2jZSXU+GGAlzhUjyf i3wsOJzB5kvM
pdM1Up3upOcNyH8i8VUlKuUxHX6DGHgClVeWubJcplDUiVUkDFX+6XxRUcip BKnyHGT6VppK
2vpwQK3dSe2dHG2l+c9aEJ5+rZhp6ZW3VYZq9Hpo5HEMhAMy6XPRJKxx2DZq ilfY/IplfarC
LeTbrXuCT5FmNQeQqQbCX7vVwh06P6CI3NSeOql3jLTOkw3JfaYSepZdZMAE mOM0XoRYpV+s
Gprlqt2MZFkQZ+rr1e6hZq76AiffDaxQCdEooL5YCZwbPo7eiESH/CWOFpLC NcbmCSE/SaZZ
87RS9pFPYxVcunaFjbbTSNKYcNaPHgBF1qxKJLN+CUsrF2hrXJKbE6CWDxI4 PIPt3iQE9kx8
aL177FqmGvfgobjfHwh3tutlT3tPtuv9vd7zntOuZ94rI/YP6b0Mhb6xKmEp dMYHRqQv2EqI
Cu3yEzBMo5ppf7E9dCtAfRak223cxJJ2R8uL2pVoi+XoZ1fXB60D9X550zfQ B/Terk/dk1SX
70bdXuqa0q5vscHQrwTisNYNSVo8i/4M6meaV9vehssmRzYhD62TazfxOqYB qiljzDJWOyet
Y49VQZW7rLKiktek8qop0A3WXDNVyOW3kcq+em3ZcuMbeiwLgJYW7yB7Nuvf Q2aQVjRetZ06
HV6qo2/o8Kt1ZN/Ll34FKefcuXCG01S2fEdXkD117S9j+6IGW2FqB2nh2Uxb mBw8Zlyjz62J
m1hcW+gLur13aFlbn4eXDqNm2jSrWHquYbSnbC93hNpnpXAqerMYUkYnYXRx jPAhXolWyL5Q
t2VyiF1Ce09/yA7pcuycud+Mb9AytXYbRx2yfLsm8oIGvE0Sln2eiGuTeCP+ ryFTXY2YHQRI
3u8JASavZ1UOMAJeHV5CaCqE4NDCQdASNwuWWTooxN5vzPH/95xdH5upK01a xwgUoHgtKADU
Uh9NJ8AeggYdyVkuMq9ZbctXgy/tlx30wp3M7P5kOrYHU/XmDqfO+MweOB0E b1+coTO2p87p
LO1/Z4Nze6LCXNnKc0PapnRQukT5Iv4DAOa8l+nje/lTCUogADDDiQvJRL1+ HZ3bU/dc4Rn8
bQ+/OHY/fR1dXI4m7tRRomNnMjr/6gDhRt9cZ6IGr4YTZzrNplwN3X+utPyp M3a/OqdyfDSG
N+e0fmEDc2EDY2F+trB3HdStW9nBFla/rhI9vCp69DN69B+BHv3f9GL/WfGj 5Ee/yo+DzI+D
B/qxZK1wzneQTiKZNf3+Z22WD329xtSmfn8Evux2Jzl5svSZUUi7hpWZVML7 bDiUn3mQ2uNN
4pO85BrrEfOcVHXVLer1qi8am0f/AVBLBwjf1hMuaAcAAC0iAABQSwMEFAAI AAgAV3j/OAAA
AAAAAAAAAAAAAD0AAAAyU3RlcFRlc3Qvc3JjL1Rlc3RkaWFncmFtL3V0aWwv VGVzdGRpYWdy
YW1BZGFwdGVyRmFjdG9yeS5qYXZh7VjdbuI4FL4GiXfwSiM1rUR4gFJUyHSk 3rSrnV701iQH
8E6II9sMi0a8+x7bx5CkhEI706veEMexz8/3nb92cHXV67IrNkxluVFivjAj /z6ob7jNL/fZ
F7sY9LolT3/wObAn0CYTfK74Ml4ZkV/3ur2uWJZSmdq3q+oHqeYxpLkoNcSw nMWpXC5lERfS
iNkmHme8NKCuTzz+YB/CnT/xBh7Kg5ZvPDVSbe5x65gASKWC+O5x+i+kxh0c BOD+6vfZFOai
6K80qH4mU9bvexCfFsCG0xGpYqRrOJiO2EwqZvDzUmaQx+70vWGlkj9FBprx gnG6hcxkMEoV
cAPPz8+WGHxnSzALmTk5wNMFS3OuNZOzplRnHxTZS+tuNdT5q6z/9vT6c3Mo QKH2LHC/muYi
JY2VS3VIGfxnUK9mL5Fmv3rdjgOwQyil6AJk3m5GsRX7z60Ad9q96zTM7ji7 OwivQf5QkTbc
oAsvPfYm0Isjem9o4jhw5IgCJRQpBMADWTPv5B8w3WPeinZ06UDtiBmLqi6w mxtWrPKcPnfq
3w4AEMP9w/en8UNyd20vbPFnW4fhHzArVWi2XmAIgg1joYPjDJe8LNFUPs1h F+VmU+6gki6H
TkHoyQq2yQpLKCxhsmCKlPusMGoFISFEVby1AwSZR6Re6BBZmN7O0CqP/loj f17jyVvzW5A4
wPnt409QCuvBnv+plDlYuzXx/k2qJxQZPZL97lGJBfILo6DKfIgGst/CuGO7 ei3AgwZT7Wvc
jKKwT5pjSGxZiC7jOZg7UofB2TBgr40EzXiu3W4j2Gxx0GthsMJZyFACzF0S Guk2jlZH/SdL
SCV1vjsDh5SRI++p32Q31skC1kfOh9ytEd4JlIfukXIN42hcp3iHn0dgTIej SwewR/h1sZNo
clTs5G1ikyg5KjZ5m9g7Xw8ieh5VQWfepuirZyui51FFX2tF+QxFGcz4KjcJ 6gu5dNwjf+aQ
om17v9r1JypDVD65wiylnHlvrpTcYuRFVisxJqrTHupcqDnVrvmqVadVxx15 PhkIojAgkm0E
K5lRSdU4k36xL2p0Y1eXDqLLbHZXXUG89+3ET0kXv25zUfyojVtjNoTlaDwc 4O/24uSGSAHT
1hhts2faFkdu2NpOVgUOiFrk2JHmBU6xLrT1tZcoDHZFVDRb5ZYoOsHdGdvW bIfEziZ8k1wL
lJ1yW9Y4rsyChKHHmzXfnN4w7c0KaoHk5kA6fm0cahC+S4oaxRaRA53l3fxN HH+TT/5a+Zuc
x9/kY/lLHH/JJ3+t/CXn8Zd8LH+h/1sWaf3JZSuXhNB5jDbHpw/hNYxbllda f/LayishdB6v
zWn1fbz6P8w84tbX30nTu/E6NdIbY3U7Ils2GLT+G6bX/R9QSwcIY09UMhAE AABRFQAAUEsD
BBQACAAIAFd4/zgAAAAAAAAAAAAAAAA1AAAAMlN0ZXBUZXN0L3NyYy9UZXN0 ZGlhZ3JhbS91
dGlsL1Rlc3RkaWFncmFtU3dpdGNoLmphdmHtWEtv2zgQPsuA/8MstkDkIJb3 HD+2tmIsArTZ
ReNDrrQ0ttjIkiBSDYwi/73Dh2Q5fu+m3h58iEOTM8P5Zr4Zku5cXzcbcA29 IM2WOZ9HcmC+
d9Yn9OSH+/CDGnSajYwFz2yOMEEhQ87mOVt4heRxt9loNvgiS3O5tnZdX/jK vjEt7X3iQtZX
0nzuYRDzTKCHixmN0xy9sR8zIbqHpP6efsXAmOuUsH5rt2GKc560C4F5O0wD aLcNxEmE0JsO
Hl+4DKJeZzqAWZqDpNlFGmJ8JYAnEeZcsiRAiDjmLA+ipaeV7yWIIlPeCK0S sDiG7x9jnjzD
72FqjLrWpRZUM6mZeNVGZEpbfEufUZugFIQ4CJjAp6cnFX/6BguUURpqz5AF EQQqEpDOVn7e
aFNCslzyZA60TaQXWSALFq8rmN21AktCyPI0QAyVWpFpga2ItXyRUL6AQZIm 7aQgsDmKIpbA
BY1kkScYGk9eIk5+chMWK2S3FzoG3iozmISbefkocJ1XtfE/hnZGbo4JeSgx LDlZTGMeWMQ1
JZvhyQC+NxuOpoZj8x9QTDE0gYSsNO7sY46z23nnjVeOdsuhMEsKO+1DWZLk 4SYg44H9ohm8
8tPPkcwJyhilR5jcvA3oe3tsIrkRQ7elQ+jwGbh1j6HfB0UKu+ysr23B6+H9 w+Nk+OCPu0qB
ykH9raGmghLba2JPMViapglaVgpDWahRtgtcwpJjHCqOMmmn/2sUzX7alRnP hdyolLJMYLok
p7YiU13EO5gVeNtf1KZVq9EZsM5UgisBD3UzdVs3da3uJQHHJKAq5HoOdDx1 MPXoBnZmRZVN
JUeJSBPJOG1CZUUFVC+aspC25dFoz1HqAZ9Rm76/25JPXVUOxgKtMXXY9oz6 APCxyDCfLDPq
LH1YszteLbnGkvVDD52apsfFeJHJJQH40yw6Ic4YBdunuLr1ANyW6yWUuhna 1P1jB4ILLf8V
LXkiTRwsQfbQ0pwi4NbFSwIqR7b17+GtFXCG5HQf3GFrZddwxpmUCPugzAxd ZtmkC6FcK0+O
NdlxjAtM5JEaOzhnVW0CbJL13OtebKMK2wimCtvoILaROz0Z23Ea74zNr7D5 EChs/kFsvhuc
jO04jXfGNv40/jx+mFQIrTOA9j+htVMHMZc4rOr/gebufvjXl+HnCs2dWQYr ptDYqYNorJxr
VX8mGqt2C+XJtcfMlu7+xTbn9bcD9TLMM7KoXiqrdwywjUvxVQ8Xg2GvQ59X xzTuSUQPFXpV
mjTT5TxNqgNCBaRrxMyU2n3zAfTCaUz+LXhCXXnHtXzH2ZAxlcm06stArzg6 C7de7+sHyTuF
Rr+0Vq/Vvc/q1sats3X4omra/tA6tX43LcP7MxgwujDguNCchQEjd3R2BvgX BhwXmrMwwHf9
szPAHuEXHpwSoLOwobxclfezczPDXocuzDglQGdhRnlRLe+6Z+8Zxttfgxk3 MC1UvtUOBhe9
z6WOEzm/fGHLX5E720J4EncOM6X+pih/1DjIlFfodDZ+z242fgBQSwcIxuij WHoEAAAAGwAA
UEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAAAcAAAAMlN0ZXBUZXN0LmRpYWdy YW0vLmNsYXNz
cGF0aJ2QT08CMRDFz5r4HTa9MysX42FXYsyaQCIYWL2S0k6WkTot05bAtwf/ EI0JHLzNm/zm
vZepBtt3V2xQInmuVR+uVYFsvCXuavXSPvZu1eDu6rIyTscYdFoexMWPQk6y K1bEtlZRjCo+
ll9jeZo0no+klw7QOAoR4c0mcDqzWR7SYTRt5g+TcXs/HDfT8i9HnFBYO7C4 yB1k+r5EgVnS
bLXY16d2F7Ac6Y2eNb0+3PyjUrAIxguC4DqToH12uSOO56x8TiGno9uC+BOu yt8v3ANQSwcI
9KWx0tAAAAB4AQAAUEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAAAaAAAAMlN0 ZXBUZXN0LmRp
YWdyYW0vLm9wdGlvbnN1y7EOgjAQBuC9T/EnzEji7gQLs8T9kKNe0vaaXsvz E42bcf++Dkuh
pyQPzVU0GXYtqC/G9V45L2z1sgn5QhE5NN9Lcq7DqDFqgpg1NvdDh43X5m87 BeM3f4g1Cpin
v3Y4PmSevukEUEsHCNUtqphnAAAAmAAAAFBLAwQUAAgACABXeP84AAAAAAAA AAAAAAAAGgAA
ADJTdGVwVGVzdC5kaWFncmFtLy5wcm9qZWN0vZLPSgMxEMbPCr5D2buJevKQ bkHFmyJsfYAx
GWPK5g+TbPHxTdKsspSCB/E235f58psMEZtPO672SNF4t+6u2VW3Qie9Mk6v u9ft4+Vtt+kv
zkUgv0OZHjBKMiHl7uyeCQcW+5shYdhiTEwZ0ARW8OqXBumtRZd6weequO22 WAVfqLfJjGoI
KItq8j5HwanqNKYnzVCOJkRkO5WY9JQL2EMNIP2MkBNAeirs2DRfGoIfUX7F DQrZEzjznp9+
97/YQX6ghT+BNmdeeealibB1H8TpbR/OywC171SmjPwyTtq456PAXBfi919Y /rMvUEsHCE0o
SDDtAAAApgIAAFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAAIgAAADJTdGVw VGVzdC5kaWFn
cmFtL2J1aWxkLnByb3BlcnRpZXN9T7sOwjAM3PMV+QBwvoChA0gMMDGytKlV GSWxZScSn0/K
hgrcdg+d7iYqQCWmNqP5g4fd3flPUORiYatfjrdhf76evliS2tJ7nzn99ERZ UCuhbSMZzcYF
7W8IWCr1Ze4xqkHkLJQQWGfU9YczbhoRoBPTGBy3Kq2++UQluBdQSwcI8fLD E34AAAD5AAAA
UEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAAAlAAAAMlN0ZXBUZXN0LmRpYWdy YW0vbWVzc2Fn
ZXMucHJvcGVydGllc6VXS28iORC+8yus2Xu02SMShxYkI6SERBMyc0Smu6C9 MXbLNmSY0fz3
rfKjcUOTkOxlJl2uKn+ux1fF4C82f5g8DNmGqy2Xcs+arWMvsLeMq4rtuNyC HczBurEB7oRW
P8Qvbqq5cBJGM3hldMYmgq8N3/QoLuLRva5A3goJj3wNwdorwqccTMCWRjSk NXoCCaVjKzxi
ruaOvQopWamV40KxKlizDZlf9frXG1T8H/hO7T8AzxufR/fQgLqphNPmxhht Rv5fplEq1Lp9
HHiNHvP0FYzTF3s0eilh05dYgn/z04GyrRm9iim+AWZrvZUVq/kO2O+//zBI igF6DFLA++yE
XBB8H5lvYPXWlOA9op7U6xBkL/iE9T1Yi1BHtxzRVcxpJjWvQiBDsBHgGb8h sVGOsVgbdDbn
9iVGKIssNcHBp73E4VhvsJmqO74E+YbD4EqX2w0ohyB2ogKzEBYfLFaCY35G z00VjEte1sBW
/qn9djX6lXCDSUXpGIuL/kPhGqosRAZW+NSa1QIMN2W9ZyuspjLo4WmIcv8N U1VqY7CUpwop
IlTG7+s//cozHYMxVZ3cjaKYCcuUdqzBO9GOYQu8fXu0u8McY0DyXpBBlALc b/6s7F6VtdFK
/IKKCvoJazi4mVNoqWBqbtkSQLUBwU5x6dDurYMz3slXBOirCL/fRUQ2M+yf FJ7csK3cPqPC
YlsYHril1T/UV6jRqRKpTum1RUn6iyPpBU35WT+pPe8P/ZgSlZXxRd7zgUNH 6B+TyBTOnvzh
dMcbTlsuIVn+1sjPORF7NzjbTkAsElcSS86QEY8BnYB510sAMfmwXT5i4qDK ASy5DQVMIQoE
VgZWOO/+m9YuRCN/YYpPdGxQiUHgmQ+46j7zk056xqoF5FonyvjG6JO4bgms gkaULsQhb8bL
bms/unXS84ThR2Kq28/UI31RSQRpvXJsl8tumCrc2kR1ck2U976Arnv/qqyz 4pA71H8+42Kl
2bc8xWFC6AMNt6KYSr381ycYZyxmEKmZB8RpTkSF04m8CKw4wee4wPWe4rUR a6F4JKMv2Bdf
DoxfBeWeNSZyrscYCiEuT2yyNfRoOmeFvbp6xzilweuXfo+iBC/pY9OE69mc mzXEZRFTwiV2
drX3+x7NSI4WNZi47527MMPqL+tse2fUE7pxC8ySKQEJ16TVotbaQiT5Ragx T6vxvNMrnZ4c
5Gqdgm0j02M1HHynokV6KzrFnKQeW6y7669Gb5uF8xAy+aC4Tsw511pGheJY XCG75FRaDMb/
9NiNj8XHduNBUWB7NNw4egFF+hH/TtdmR4NBbCMiWj+hYnZG9Hf7m2OG9bzm mK4QgnYbyAzC
iefrjmmxtM7wkgBYvwbBz8Y3+Xf6YTffN5AFdItNsmIOhX5qYP0l7WM/P3CR Wj85qn/cNXdg
bJaaIA8/HXGsQiCy0ut5Zibn/vQU3ovSr+pOOFxwZPIXpUwG8dCvR/HwVpsN T+aR4LL9NFGe
IBHD315ps/K1iCgLa4V1/LBind0JOuPqrHnCXOxwyaEdvteHHQ7+A1BLBwgM o51TiQQAAHgP
AABQSwMEFAAIAAgAV3j/OAAAAAAAAAAAAAAAACMAAAAyU3RlcFRlc3QuZGlh Z3JhbS9wbHVn
aW4ucHJvcGVydGllc4VUS2vcMBC+61cICj2UIpJcSg8+GKeUQBJMtqHHZWLN OgK9GGnTJr++
kux92Ent045mvm9e/ma93vfK3oPB6heGyNvyZp7ci5JIJbAB4zWOId6Ooa/8 xnYsIXGHhLbD
IHq0SKCHTNcKegIzAYD3CATJruqjOUF0zlrsonI2VM3JnmA8KRuV7at2NCZR 2mukUFv5k5Ss
HsqLf+b5Nc0C8dmAD1WbDH6XLMZQqujotI1xBv4j+XOd1F3Ev1FIDB0pn1tb Btqc6sbydyBH
zOKf3+oNSL6rdwpdp0JVQwgRw5BEDhDBmLIqjoS6bOkWnlCnaqkF0OoNeSLF Eb8dfw98vlMa
mXYgHzC4PXV4nuM2+fkhIEQqxiy8qB5S300ezcbS9BexVKIbkIFJZyCLbC0D N06iPvH2XqbB
xWHksszH4pvsYo47/zot0s6RmeD5gE9Dfcpq9kjxlW+eESOL8PQfkebIyJ+J qkTKhEmxhEPW
o87ONJck16OIKmoUV5uIPjd17HrleJbJa4e1zF4/umX+0kEuMz881vScn+tK /fNTNuWSh09b
/qgCMxghvnosChLjbrffvlePVuJOWZQzSL29vLi4rOqZu9leZXfD2D9QSwcI pYfHF8wBAAA3
BQAAUEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAAAcAAAAMlN0ZXBUZXN0LmRp YWdyYW0vcGx1
Z2luLnhtbO1cW2/bOhJ+dn+FYOC8LLBy28XeACdF6iStgbRrJM3Zx4CWaIcb 3ZaS0+b8+h2K
lEiKlEzKdrbYswHaxBJnOPPNR86Qojz/8CNNgmdMS5JnZ9N34dtpgLMoj0m2 PZvef7v+49+m
H87fzD/gKCFFiWXTP0FTdqdIdluSnb95EwTBHP+ocMbuB0VOsupsmtNtKETD CqM0jHKKww1J
8LeXApfTcybGJD9s080WZwH8wxRVOD6bVnSHWReiRSskLsBPBR+hHfQ6lRdb G9idsooJ2lKU
PojfssdZq7C+NJ+1gi7O4HQDfzNn2mYPBaIlpj4+cQnTIdNs2SZKUFnqxkA/ Id1lFUm5YbVd
FJf5jka4DD99ub4VH65RVOX0RUGBmzAGgh0JcUxAnVcYuYh0h0CTb9LhsPkN dlUhu3HJL1zV
cstLBYkMpYDWL1zjV/ig3CMRIwD7v5zl63+9+8tM6USovAYChFuysZGn3BeG GG/QLqmEf0Z4
3F1SZFNURY8w8u4qht32ZY+aL53mqhV5VlGy3oH+hbtBF1EFrn9EdCHFFapw oE2qwGcntjCj
oI0XXYSMinsZUVJU9QD/RdwOlavT/dwCW8SfCy5vkqpRnOm0AsRwVi3j/vHX 34cEUigfOegy
/P2f5DdEY1cgJ9Dgey3BP0gvW1XN6JmMGjxcKmIkhMnFMPjqB0qLBGZ72dSB kwuKEYsnN1Ax
bt+EoQvCjCEwmARzhSbn0vlLuDqfqfc4oevocOBGhqrIi13xBWc7L84D5Diq 2jEI6iUB4QfF
qKjQOoEAblBSqvQU8Ly/q3DBoGjBuclR3OQAvb3orD8gbNTX4JahMm+t4ELr EzMaRYahjoFW
beMz0LSrBmfM3/I6p1CjGHf3u9yjNkFrnMAwSIymN+yO0T6FSK4RXaHq8WyK YoCBZQoNhhnH
QY51M5jnisafiFZ2FJcZabKDDgebQWAOqDCE5A+hkisH6KW60alRlmw+cSBU EzIi7RqKmAv/
FBeZET1c6Yn9MZi67PrizSiDRpP9PFKTVpSnaZ4xakEt+ExYQHiv4TbJ1yjh Zn1GWZxguqL5
M4mxX9n3qV+Pc2mrpNaisaGZkwb0WwqCFRAP8jgywF5RklNSvYgEeZN/h9bT mdrkV4K/L2P/
uvVcI8P8KsFAqYotQDz8ZpMxn4uXnygqHkmEEtt0bEEdbEbij7NpjBNcYc2x mkKKVUe2dyB3
7DO2RM/Ops5nPD5yuAww4/TshP9Nri4vr8bTFYR/l4xd5/lTiujTT0AELy7A egGETRLcL2/r
O25MUMjAxX6XHIh2VTf8w+3z4sVLoECl+6zozzDPSs8tQ0dKIbCscDoqPfcp GUl6g+2LHv06
xaNHHD2t6g1FVr0zO/kKZ5jsMmB8aW3raAz+vEQV3hUUbzAM5shv15LVqQQl 5DdMB4tRqb2B
bNVeWkodwtURS4ZW2wpt/VwoQMBhpcAVJOYqAap12XvItIUVqRIcOurwg+0T V7HS/NX2O7fY
1zVUFBhRlHXXzp7e9amRGycnQeSi7faooMBIy3BkWQV5otKr58SwLGS/R8Wl oDD+SLY9CBS7
khMjshKdHhUOuoMsWF5k8SdK4oMwGdB0YmBu1Z6PSxZUPaaoOGwE2ZWMxWTo wZKWSMpwJTre
D4l/wnqG2qpkhUSBaUWgswqt1zhurrxYH1E4JDNTXAdBXl/aIqZDVu9GNSWG nU7lI8a8tL5j
f92oElpd01om4qYEMM5TRDK9oB9o/kzKHQTXtTlEgiK1hrJgdKIgfkNrp1Ik kBvyquj+aNkg
AEl9RWAgp99mI7eRZQ6EakLll++wbdOw2atkMkru15YXx7OqncRdTWow8rZH 0HGPPdZWWv8d
VkvisdieiHF3TakxjnWN+DjmCWkdq5JfDEU9ktN+egUamBux++62Hmvw4FJl KMufZiXe6Y1v
7nf69FoCNl0KD0tlECjdu7oLgXQeh9oqvYO+d2DuHlGBF3kCkcnia4j7KcNS d/ZfiYh0sxR+
lq8UkMA3Im0F727sYVHpbF6/alxGOHu8yLAf3+jU1TKvlP+HIrIFh1xdM/Hv Sc6HgG+sLoxA
iAS7zzZboh5YH8mCdsCboN76KnaVONLWB3qW86caIdtKNTZeezXgTdjuHw8J 2ezP0DPZIsiz
tQ8X6xKq36j62lxlm4Z66dyXQIwbo2oWGwXrjUdWyYzay1UFhxe6zSYtu/ur IuX7cEGcZwpY
z5ZH/daAN4cKghKnCO5FnwEaYenh2r/mMTZUH672Kt4OqZ3PVOyPxQblAcoo PnSF3TmhzK7e
vODHBdV+D8VDbECkENqEZNuLsiRlhbJxoPRqcUfnS58KP5h6LTnBIyN2pG8U XEtF0B0hVcrj
GY4qdgIQ+InnUTCsNFF3IHQ5P37osscYRCw38hyD5YNNv9GDK1TzNsjK+9sl PyutudW2YLr1
PYC+vVCRER7++nfj3JTYEGVKa+PZ56H2TyQbOKKrY7Bk0ziOmZ3maS4RYesJ OHYfprhHnBR9
m3/12UneQCtZP9eXugUTEBOlwlc1x0yDZ5Ts4CJ4qlcmGsrKlNJcPm3ALh7e vX1rHnKzBqun
7bEDdXFYiC4OCE7t388UnsXDe+fw9LQ9dngWh4VncUB43o8Mzynm2o8AK2R8 vxMaCQFp8S5B
e45noV7VCMMPorIeO0gxanWj0CxkHF4rYgEB2y9tu7tBC7ZBxitNTI+Daep8 prnb7hDN1xy5
QBTve0FQjitRvNmTdWaeomJO8xUTY00TQzGrTbiE0+qQC7Qrk0tcxOxcGCxI 1NpBwGUSebKX
yOLdtoLisn4fSj6zAV/8yibloUItq5LGPnXBHChOoLHF/EqT1jhn7g1wojZF n65IE2VzRVmg
yEZXraHcDTqbknJAo8th83tKFHHhkQRqpiNlmYF+8sjxAV4vjcSpOe/o8dcq r/5RH3M/RshM
m7zDZqo4SejY213t9hTbS/B7nZRL1BNhVokkE/CL3VfWtJ4gRAzrqx9FAtDr 6xOSRckuFi/J
yssR7+RKeoMq8DqzHgERb3kIw9gENZlMvFTwPcpbU9Foo1rvb0j2JGoKPS11 Pee7O118O+CL
VyhPij0/+OnnJberXYG6eao5M/KBrPS0/asJnwezu7LG5vd+1unb4M0LkB29 9XuQestCLNDP
pllOU5R0nypwweFDIPqe89dOp21UdM0Oh0t69OqHTHSsxr0XDT+Mdc/448ul 9uKzyqOKku0W
0xXjQZez7AjJRCNxJg5OK1eB8GwHLML5pqkk974ypjB50tgBHvWUtB0VLXnb ZYLtpW/LCfJZ
a7561TT/GA8g6v5yqo3YPqjnRQ5JH6rpxSNJYoozSxjaT5PXtXnAtDmv2O5y ChNZ0MXVPr5b
k7jU1BAbyOs940ZoMpeWdVJpCioz7l1yBz38tuM9guLBq7A86CO63Y8j8SYw qFNfGYgCO/Uv
6SOTWHdyPySb2AsQa07hTbuT/Ktklktr18fKLx3t/88yxxh/7tnFfSQOr6js A73jjjkCrOso
J+OPlr1UzU1AD3C/VXGo7xOb4/0Jb2BmQlqZ7jAv9RX4+kzinQk72pw2Frtz tj04p6oubJuI
OprmAgY++y7KE7la9Fi+SCmfkCor0wPDeWNaXbstd6Ku+qLqWOg6b8FZZgyH 4TesxBx6+zyb
lzgRp1/7HD8NdeezgZ7nM0kUK1sdvmIpTQELz3c/axlpY3PS27Jv0dyqHwOY 34YlXnp1e8f4
vohB24L3rulSv+FpV7eSdZjfFz3VwubTW1GpdXTX3/VkecEycPx+q/WIxzpP +EWpykQolp7u
iKchvWIDX3dVRo9AQUukRUQvogj4SkWu2pDtjqIO+CX+9469+3M2vf6zDT5I hOI7Av8DUEsH
CBxf3nVaCwAAblAAAFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAAJgAAADJT dGVwVGVzdC5k
aWFncmFtL01FVEEtSU5GL01BTklGRVNULk1GlZRNb9swDIbvAfIffOltFrYe XfTQbr21Q7AU
u6sy7XGTJZWS3KS/fvRHnASyixS5OHwfkq9ESU/SYAU+5L+BPFpTZN/E1/Xq PppSQ/40qpN4
PUk/ZQNFduV0rNF0fyZlu29erEY1ENfbAO6Za4gSZU2yuck8mlpD4Hq3geIx 8dQC/16j1Fgh
0AR819L7jQx/ikxMwTsVsJXBUpF1bcYuh27CSQqiE34MgYcSmd30tk86m7Ir cOXItlgCnS3o
0Sp28i5Db86NqQ87ZynkG6n+yRrmmwM36x34L+vVor1FbTTj16tf8BqRIB8c FZmlWoDS6DwI
ZQkERROwga5UqoG3kRT4WRV2joFu4xP9byVVUjKiYFMz0RbhLSnBcSNbrLsB faQtm4Sm4m92
uiiIXYOzYrf7MZFqlsbt6rG52inTNNKU/iKY18Wjc0AB0+WcwodBf+zxSH26 7PEIfZafm/FC
DvHlgWS4i/A45n466Zm4MO1gb3pdblr0+IIaw764JYD+cp4RfeYiduYBqos4 q/RwAGdpfiEG
Ln+U7/tt4IteZMN79x9QSwcIJgf/eqMBAAB1BQAAUEsDBBQACAAIAFd4/zgA AAAAAAAAAAAA
AAA4AAAAMlN0ZXBUZXN0LmRpYWdyYW0vaWNvbnMvb2JqMTYvVGVzdGRpYWdy YW1EaWFncmFt
RmlsZS5naWZz93SzsEwUYBBgWMrJ8PT1j/j4+P379/+/P//AgQMNDQ0M/xkY GP4D2f//g1i9
tZ5A9pw5cy5dqnRwcNgywRaINvTbrelxWN7ttKjDeW6r6/Qmt+Zy37pSv+ri gCubMm/trXlw
ov/nrz/ff/7++uP3p6+/P3z9/fbTr1cfft5/+ePO8+//qQcUf7IwMjDYM+gw MDACfcTPwMBW
cGC+gJOOUKuHypHDOXkKnkueONfacM1J/2LOWOl43a9MaGnLuYXZj306w1wW uTnzrnfRXex2
MCqjx00sULyKnyVLRUW8qaWttqPLs7m6l7c/kLsni5eBO1BCtYV1Ea+qRKCk mlrR6pWSgVIb
Nm6Sit4a6MhgDQBQSwcIbmKFrBEBAABTAQAAUEsDBBQACAAIAFd4/zgAAAAA AAAAAAAAAAA3
AAAAMlN0ZXBUZXN0LmRpYWdyYW0vaWNvbnMvd2l6YmFuL05ld1Rlc3RkaWFn cmFtV2l6YXJk
LmdpZs2T+T8UCAPGx7HtiK1kEyqJodGyxuStrNTEZse1mLdylyPjKle0rnwk 6xzmcM2YcU8G
IfcYV2MGYw4Wo3FrMBg3wypr01v/xft8vj8/n+f54fubpcUNY09rgBlgWQrw NV++fNnc+bS5
87GVKeDy57n8OdGKZGPnk4lLuqkrytQ1nU6nk0ikkZEoGAxm7om564371RNj 4Y2z8MbCfbJs
/XPtAvF2gXkOTwmIp4R7wfmOoSTHUKJLeKFLeIH7H8WPoko9vlHiHVOGjHvt /5Ly5FVlcNKb
kKSqZ6k1z1Fvo9H1L3CNL7ANr/KoiXnUtIL29IIObBkd9413OeUMQmUPoZJJ qu4rettf/A0W
uYFT1TpY2z5EZQpae8YYvOn+YSF/Sjw6tSyYWRn/sDor2pyeX19a2xWt7Nx0 Q91yzzB1S7/9
MPP2w4w7Huhfvb6+wP7mk2XxGGvlm23jn+MQREAEEe6F5DuGkRzDiM7hhc7f xhd5RJc+iirx
iC7xji3ziXv9JLEyMLHiWVpNBOptFLo+Pqf5FZ6aiKcmE2lphR1phe0ZxZ2Z JV2ZJZ1YMh1H
pmPL3mHJ73DkdzmUbkJVT3Fdf9FbVnEdq6yRU97Mq2wdrGkfqu0Yqu8aaeoe bWeNd7Enu3nT
rGEhd3R+QCAamlgaHBPxp5bfz6zMiDan5teFS1uzoo317X18FZNU01v0tbCO Vd7Cq+kYovYI
ujiTPX/N9o8IOaNz/Gnx0MTi4NiCYHZFtCqZF2+vbu2LN/ZYI8KBsQX+9PL7 2ZVx4eqHpa0Z
0cbU/Nra9v7q1t/ijd2t3U+bko9L67ui1R3x5t6G5ONe7aO9qYbdub6xntfN jQV5ZXlJxNzY
HFwEFuP98s/C+oYKalMHg/aVPlZLB626lIjrZLI+CGd5fX8N9g8P8wQT4wtf /i+j982Aby4A
gEcAGeB5eF1x9yug0hU3P4iyNEJBy4p0Y/hSZfop3YBpsGFufLKKQdh5S5yH XrKGOVKP3bBg
mX3FsIVUuf0YgNb1riWzd5F6RcCw1fUJ/hK72Mz7dIH/np89wtL8Z/0JIwCC bB+RRmrboYwR
HUssctIgeRONfvwq28OsOce3jsyAmehTjlAkW7I6w6UG17q2hejHHkI3mZRn SvMBAmoo+TH6
N+2yZlkEyJ0K0IqNuRofj046edmiwjrHn1+DoKb9KIcLhJf5sQv1ic7IgR9M Yj4rqP00PxyR
VYmoyY8IdKlxR7v8fk5ZyGuzCYs7MN5zIpDvX/6pK//v9cV63yOmGvqnEGR3 QcThTWfT2nGa
ifyqZtBNwiK8yTv57Mm14APXdhF0Jlr976XZCLkB6ox3NU2ZHdcEg3Mj63ia xz3wUsjsIIMz
kcKIcFWjolDQLbjrMyUEkAumzihf8LzQ4qsSu6NItk6tzpDQM8Gcck09HIjv hWSJGJ7J6nHA
RwnY8I/CzBNGQwD0raMbDzHmZstncOuqKg8QVuBQQJaxzm68jMM1enz2yXsH ZSDcY/wiwA2x
vBhzNjWKLvVm21jHH1SYWp6tUL0CIwYz5OSRbWKoDeSHvTAbaMRzVTXdaAmN U07SaZ0Msz8x
Cci/91DuMklGiOOeZusx4yFHDBsXf5ydT5UuhSghYAzLYNAJQon6P/Tshk5N OUwIR1oE4Mz2
xhu227v4x5DPewQWjSMPl++0QSha+YwTXGQOheP1c8FldthZ6PDgcRy+NKVh uaNVQLRvEspd
WexaGPGqBS3lc30wvCbuYrtnku5W4fgsZ6XlmKqW6xNfCTeYeHTsPAR3vRuH MhxRzqWcbgSf
3+qIE0zpmrUPPdjp+jPzzU6f7WcQF6yRjlJk4/NRDcxWMzd7bmOnjTi/Z1BP nuVqhdsNxuOg
1uxScCiUqRvYzun8mRJlRLSS71h07TXKej+IsCvYfu/0Zvry2N30gB0ZT670 YrjPmpH10eRx
V1uDoVaGPrH4oXWU3/iZIn97Qx6s8zpb+/BfqiC4MVZz7lC9Nrw3sHAiFxbF aqJOPmgcqOO0
ucQZz5kIBg6yTzxxUgD7LhOuvX9td6J1SFbxhaa+yYj7R8v56KMoQOPaAFX0 tL1gCPKO+4A6
Xo+puuHLNCrkL5CXMxumci7Kft7iG7wYKTmnZqSwUWpwcYuhG3jliwCYcdv1 YMnxC91xNeo/
KKkUuazmuH3TZGOv/34/Pbq7TanPK7YzXam33I+2oG/VMBRVOjSkDfu7ZXQS z1KsHoz/sgdj
kJd1mE59DI1QgHKttNwFVInCRUXmyaRTHprkwqNjRqfKFMxVj2rvJJxKhv96 6RdNOXRkj2Ju
a48F2PBVxzkgUFuxVuhs+FxsfTFZVpLlqaF12hJYpoLGyEKh2FQLmJbS1QpY 4h7DjXHuUt2T
hl5gmINKP9D76l5kInJvBz3gl6QoqwvXUpEAz7tN3JlVSf/sPJyWMf0hNxrY 3SI0xOB5ZJ2r
zolmmtCXNCu4QYqjaQihAVtvMpekc5BlHSTJwa+TL06IIQ64kWyKkfrZ+2xr TwgglyB792qi
KlzrprTcBOf+J4V5eYTLk0cVZBHIROY18RNOdcDj2LVmtu1TpFJWyjr/X+lk DPKYUEoqsjzb
vrK3XntQSio+5zqNMPDUqxFveXTKV5CQi0Fegyr/edwP5pDKTejatOn2gF0/ W2XrtbTrG2Q9
cycuVCl8U5KI5oHrSkeNv5c1V+F6gE0/V9hFa+96yh302lVVOESeqNDvTb9Q nXuHnx/NR8Pr
BM2/UxqyW14Xf/ei0m5whQaIvacKv28Br49KJOmg4jnVjj9+J60AnMRm/ruw 6JqgiCJHZ6Ew
cHyhcOxmzBmQMs7J7L7tuHK1RV0NSbHfwVytH1QHCfByd2KWrlISFDRq2OLv IMesxxlq+3Up
ptWQTZqadnapb5T22i02u9dJwQNQV2HzUF1GtTPkmoHlkLw3znASBFlqwhs9 Be0ntmwSNsng
xQy4a3IaSKpHjLjkwLgL/3grJeGtVoTb4niAiRaEphwXkxNgNv+PgDOY9sv3 aalBUYcu9Oad
ahpNbP3Pdf3p0h/CArP0PpUHsNwlwa2NbUqj5D5qVb0+bfccymhg6rb0zHML Wqd7pLzKcAov
t+Yvn5Nx96Ft/bQ/wt7NoCzBtLt7p8fa2wtcRB1jLaHqGhoAk/8BUEsHCCXu YrY1CQAAogkA
AFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAASwAAADJTdGVwVGVzdC5kaWFn cmFtL3NyYy9U
ZXN0ZGlhZ3JhbS9kaWFncmFtL2VkaXQvY29tbWFuZHMvQUNyZWF0ZUNvbW1h bmQuamF2YZ2U
PU/DMBCGZ1fqfzi2pINbZoRElXZgAQQVKzLJNTIkdnAufIr/ju04bVoCqCyJ 4zs/996HU4n0
UeQIK6wpkyI3ouTdGzNJPNVlKVRWn4xH45EsK20ItMk5poWsauRYru1aG+TL pBC18/vd6/L+
AVMadsutm2kUybI9Qm8Vcn+sk8ETg4JwWWCJipJ291CYwafG5rsHu253/4Yp TYKkVvxW4ouv
y3QyGY9gAmc5KjQWmbnP6XhUNfeFTCF1lYF5Gy6IBnwltBnBUEbw4bDMc9ke mHkyC+hdaDSU
Edh8Y0dkrG4qNJH7trrZ599BjCbbLcwg9A1ypEBf6aUdkCiQO3uqFQlpOXAK 0aCc2DHCOopj
d5gxbveS7mjk1TG5hmiLk6omoVLUa3B1D2HZbrzWstmL+VZugH66h0FqjNr6 HVwMP+q+Fn61
W4pA71+p3vqqvXEczy9uVvOLZOk0Llpb9O+2ZHqBa9EUXba+8HZGO019MXNQ +BL8XNV2bDH4
GQld+Rm76VCPdXQKqimKrjVD/xSr/FlmaGpfkm6S7M2s+bmSJEUh3511fnc8 mx23KhiX1tQL
9L2TW9umgPbxBVBLBwi6i/PovAEAAN0EAABQSwMEFAAIAAgAV3j/OAAAAAAA AAAAAAAAAEsA
AAAyU3RlcFRlc3QuZGlhZ3JhbS9zcmMvVGVzdGRpYWdyYW0vZGlhZ3JhbS9l ZGl0L2NvbW1h
bmRzL0NDcmVhdGVDb21tYW5kLmphdmGVk8FOwzAMhs+p1HfwMd0hewCExFT1 wGUgmLhnqVcF
2qSkrgChvTtJm9JtqkC7pI5jf/7tNK1Ub7JC2GFHpZaVk42YvlhqEso2jTRl d5MmaaKb1joC
6yqBqtZthwKbg7etQ1HktexC3N9RD/tXVLQcVvkw1xvSzZhCXy2KIW2SIXKH krCosUFD+ei9
Fubwvff9XsCeRu//MGNJkrZGvGj8GOayXq3SBFZwV6FB55Fl2K7TpO33tVag wmQgH8tF0YCf
hL4jWOoIvgOWDVx2AWYDmUX0OZQvdQS+3ywQGev6Fh0Pe6+bHf8v4iz528IS 4r1BhRTpO1v4
H4RH8nSurCGpPQdugS/KyQIj2jzLQjJjwvvyKZUP6pg+AJ9x2nQkjUJ7gDD3 WJad1xtPfn2Z
mOVG6DEsDql3Zo67ehjDrz7MYrDORxHpp0/qxH4cX5zA++3zbrPNi6Bxw+cL 8csPUEsHCBf0
cuhdAQAAlgMAAFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAAXgAAADJTdGVw VGVzdC5kaWFn
cmFtL3NyYy9UZXN0ZGlhZ3JhbS9kaWFncmFtL2VkaXQvY29tbWFuZHMvVGVz dFJlb3JpZW50
Q29ubmVjdGlvblZpZXdDb21tYW5kLmphdmGdVFFv2jAQfjYS/8Gr+gCIGu21 qNKqjknTOjoV
1D6b5AheHTuyL7TS1P8+nxMgoXTQSVGSO999993dlxQyeZIZ8Dl4TJXMnMzF 5gmpQpHYPJcm
9eNup9tReWEd8t9yLUWJSotb5bF5Yl0mINGq8BAyHQhXGlQ5iO/XqSxQLjSM Twj+5WzmwPuf
1ii07nAK5EuBThovE1TWiPnuXepJ4K5M9tXmUpnD+VnI31SkLgNEZFF3LG6q 5z34UuNxCKKz
GVYb6HrhA88EWwRr9OO4xqKM/U3S7J3hHQx/UPAcVzMaDLodPuBfMjDgJEJK 5qjbKcqFVglP
tPQ+CuAerFNg8MYaA5EngdRMObwghN66Hcb+1RH/Q0VZrMr2yrJYlxVOrYOD 70TBITQXrbjt
Y/kV8aOUe8SVva8LDk1ryGfogsW1XIDuUx+M+bIA19uLiwFDbkqt+4Etez2V MX0uPAO8Xi4D
WUi/KQ2+V5ci4nxNtyveI6PfnIqgNHoNdOhQxLXF8kwteS8mfrqqSFWAzAGW zlDBR+uefCET
qCpScJX6Src6LvYq3tL7UIuNnQakya6BTZt1sfbCT8dfW5Vy30Y+rKO6Hq6U Fw13mO7HazuL
cSK89VPgqZ28QFIiPCpcVb5Kc/t/MF607WFzTsosbU02rBTCx01LpGU2aV/y sym5k5XSacg5
Lv+zMR+Nzqd304vp7ezi8zkVoLFFWBIZGf03a2oqjQ6aSjvAb0ssGv/LK4of IS8eqg+AwIjI
zJYugUqDLDr91rmJmUsX7r1+O6j2bjCrw1p8rS0KA893P1qurebD9RdQSwcI NSQrEGECAAAi
BwAAUEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAABHAAAAMlN0ZXBUZXN0LmRp YWdyYW0vc3Jj
L1Rlc3RkaWFncmFtL2RpYWdyYW0vZWRpdC9oZWxwZXJzL0FFZGl0SGVscGVy LmphdmErSEzO
TkxPVQhJLS5JyUxML0rM1YPRqSmZJXoZqTkFqUXF1rxcvFz6Wlq8XApaCg7p qXmpRYklqSkg
rj4vV0FpUk5mskJyTmJxsYKjK1CfB1ibQmpFSWpeSjEvFycnIRv0QAqcEotT kbRX83LV8nIB
AFBLBwhJvozdcQAAAKQAAABQSwMEFAAIAAgAV3j/OAAAAAAAAAAAAAAAAEcA AAAyU3RlcFRl
c3QuZGlhZ3JhbS9zcmMvVGVzdGRpYWdyYW0vZGlhZ3JhbS9lZGl0L2hlbHBl cnMvQ0VkaXRI
ZWxwZXIuamF2YStITM5OTE9VCEktLknJTEwvSszVg9GpKZklehmpOQWpRcXW vFy8XPpaWrxc
CloKDumpealFiSWpKSCuPi9XQWlSTmayQnJOYnGxgrMrUJ8HWJtCakVJal5K MS8XJychG/RA
CpwSi1ORtFfzctXycgEAUEsHCK84DwZxAAAApAAAAFBLAwQUAAgACABXeP84 AAAAAAAAAAAA
AAAATQAAADJTdGVwVGVzdC5kaWFncmFtL3NyYy9UZXN0ZGlhZ3JhbS9kaWFn cmFtL2VkaXQv
aGVscGVycy9EaWFncmFtRWRpdEhlbHBlci5qYXZhK0hMzk5MT1UISS0uSclM TC9KzNWD0akp
mSV6Gak5BalFxda8XLxc+lpavFwKWgoO6al5qUWJJakpIK4+L1dBaVJOZrJC ck5icbGCC0S7
K1C3B1izQmpFSWpeSjEvFycnIXv0QAqcEotTkbRX83LV8nIBAFBLBwhDPEW2 cwAAAKoAAABQ
SwMEFAAIAAgAV3j/OAAAAAAAAAAAAAAAAE4AAAAyU3RlcFRlc3QuZGlhZ3Jh bS9zcmMvVGVz
dGRpYWdyYW0vZGlhZ3JhbS9lZGl0L2hlbHBlcnMvVGVzdEJhc2VFZGl0SGVs cGVyLmphdmG1
VF1r2zAUfbbB/+FS+pCEVWHPIbDOCczQJiXtS5+KKt/YYrasSTJbGP3vk/wR p463bE0HIZav
dM499+r6SMq+0gThAbWJOU0UzUn7xJgbkmImUelZ4Ac+z2WhDBQqIcgyLjWS JN8SVQrDcySs
yPNC2Ieq11TEJCwsRnODYR2YvYkl+ms02rXZSazxroK6AHL9rI2izCxt6EsV +lcyhd9K2yVN
QoXU4DLDHIXZ1NEzyTaYUcMLoVMuz2Vc2H9V7N5JX8O2wS0qFAzP5YvcBTTX 2XEF/nQyCXyY
wKcEBSrbkti9TgNfls8ZZ8AyqnU1pp+pxu4WAX8YFLGG4wuGn47Yq5i9HrVX cXsNuTa2+wy2
XNAM7o3iIoHlInp4ulvfROHjU7i+vb1eLWAOF26kQBYWtYNmPC9mMJ1ertar q9XN/dXHy9NZ
VWGQ2Qi0gw0JmkhogzRuIqOBRoHt4thV5Xl7IMp2NYdRGx27k8Ry3lH7IaNB NRooZzxzTO6k
PnHyA4gyy+rzXea0y6xL940dF+EEVyi+hdGB1HlNWNdiJZhSiY6wQrzsYekJ mDyC9V2nvSmr
VOB36G+Puupax6Fx3Okd2EpfbTVKWKfj5Y1DUNtBq2vIaQ6GoEnr1J+f89CC 2vxVm3/rUO+v
5LV1tSoGDe2/Jd87XS993wH/KMD+fgFQSwcIE/+d5f4BAABaBwAAUEsDBBQA CAAIAFd4/zgA
AAAAAAAAAAAAAABPAAAAMlN0ZXBUZXN0LmRpYWdyYW0vc3JjL1Rlc3RkaWFn cmFtL2RpYWdy
YW0vZWRpdC9wYXJ0cy9BQUNvbXBhcnRtZW50RWRpdFBhcnQuamF2Ya1V32/a MBB+DhL/gx/T
anK7SXtCk4YCmyLxowLWV2SSS2rNsSPbacem/u87O4ECTTrY9pLE4fLdd999 d5Qs+c5yICsw
NuUs16yguzuk3NKSaWsG/V6/x4tSaUuUzikkgpcGaKrZ04eUxl94XmkYtMZA kdFEFYWSVCrL
sy2duRtPmOVKtn+T4ze6kpYXsGdTcU/I86ETbmykCncoQNox/nCHz5ejKcET DoZGGjwfj+Re
bv8ea6RZPtKq/B9YLxgLJcBcBJT5rhi6AMN/so2AA8Xe6tgRXN3hA7RISWM1 4xLSlVJiw/SE
bVV1hvbYfq8xvefw5C11c33d75Fr8jkHCZpZSN3xpt8rqw3WTBLBjCHDYUur CfywIFNDOqxA
frkEgc8QnKQIfI6gSWIcq4RkXDJBuLTkPl5+G07W8Yh8Ih9vb98PzkVqJRq6 askjXq4cpyAw
VQk69C8QOXj+M7pWFhJ8QzYoODBJHpiZqhRE9MBFqkFGD0zmkIaHk0Xg0TYZ NdhKS5IxYeDM
lHVBS6u5zEkOhwrPWAHhMXLb9nDhdArG4HoxtFWateVWXMaoWTUkcfMK9WFH ptvnBI1bCYv9
DLuDrojvjEMKAnqcYFAX60CoAbtyvO+54RsuuN2GXtldkFekjr20v4+Kp01p I8gYIuznH5dB
eGgg+kaYJ8JxTJkQLwskrCs72Sh0OZ4OZ6s4Wi/mk/G7OkaiY7v/EXa76ain sYViCQXDUU8O
cl51kTmlES3Gw1U8n53SeL2Yz8ccLYZf16PF/O4U9PWG7gZtVy0azuazOMI1 8W+yRUwqiRMr
XlG52Dfoy4WTKhwpnBX0vDs0luEZCXGKd3am+IwDiPnr53qDT5nEWdVoM6+C TEBlpGvdN8CN
Gfe566ReyuddEXj5DVBLBwgZam0SowIAAGcIAABQSwMEFAAIAAgAV3j/OAAA AAAAAAAAAAAA
AEMAAAAyU3RlcFRlc3QuZGlhZ3JhbS9zcmMvVGVzdGRpYWdyYW0vZGlhZ3Jh bS9lZGl0L3Bh
cnRzL0FFZGl0UGFydC5qYXZhpVjdb9tGDH9WgPwP3JtSFEpbbC9L09W1vdVA 4gR2WrRPwUWi
ncMknaY7JXOH/O/jfcln+Xvzg63oyB955I88XiqW/snmCHcoVcbZvGZF4n8x 4yqpWK3kxenJ
6QkvKlErEPU8wTTnlcQkq9nzuywZ/c7nTY0Xu2QmmCpWznM8QHaqyKsrthCN 2iw3x1kyJO9u
ybk9EiLn6WK7zAT/amjr2wVSURSszGTStw/bJXW4Km2Oo0ys94d4sKI2FuUE Jf/BHnI8RLm2
7pN3NTKFu3dTkHxTKl5gm+JU1Gg8eMS8wtrjDHMssFQOrpexSmF9OGrD7a40 dZLpI6twLDLc
k7AdOD46xjkuyr2ROQBriTEROcqjgDpR/8rxuVdmq0E7ANCSnfBmpiQ0xUqp asZLzO6EyB9Y
vbMIAiykZ7Wo0CZ05Fy5ozf7dTWPAicGOGNNrqb8h8narnLdgXKMaimUSWui A2lazfmrV6cn
8Ao+zrHEmkKc6T/PT0+q5oFSBmnOpISeZxTg3wqpRmGNa/CPhosMXtQBjAxi 5CCl9iGFGS9Z
DrxU8HU0/dK7uh8N4BLevnnz9mI/Ui0UdTnMwDVESEVJjpEnJf4X9armBasX ZlcH6NuNtFGJ
dTjhib7OdBiiSDZU4rF5QWjRyxEePQmeQWrY7vjR1g8VU+wMcKIvy/NlacWd Kkv6k2HvbnQz
vp/cXA1fa50oKsnL9cr2mPRxG3MNGOao3GPsag1cQS5VIj6DuCkzamlKd28n GHvBQNKIuvdg
dlCmKGawo7ZD7WhHxwTmfi8hjnfieb+WsFFEJaVWxQco05pXStTxmuQON2KT bvcJewPolqGd
C1+eea+7FjxaKJyYSgzxdTQt7OXGoYI49cR1XhK9GkAROe7fUZ2tBDdqC5nO YX2eaOn23aXh
wiPPs0+LKRIjqII/U+3GGw2ThrH5lcuG5aPBBOec2u0i3KfZqPZmI8RyIEp6 vf66Q0nbM87C
kEQ1qqYuN2/hEsomz+E387Piyq+bFFYkXOZdMXgOBZZf2sflk3PGNIOd6q2K 09AO+kW39mKl
LdaO9nBxWHeYDq9747tRv9sdtufCn+a9kcLCUyBsIvtNJ1e97zdf7qxN1+O6 05vHOT+Hb9++
QYnUElkJ0/4ElAB3junHR/aEtCJonqLqf9CneapsrO2ZpR6ZgmfR5BnkSKzW 5K2xpJrLqAkw
KUo9+kE4qjjDNRbiKRgK4/858ST9m/F42Dfd+HNvPLgaTk0Mjj4busHaGkNb 2GviOVZUyTrP
m1UMD5bm1gyZBtBNrWkZeqFtJ4EeDShEUTJqJDzNdTFsZsjtZHTdm3y/H0x6 fyxj1B4dFswW
8rJ7tUb0zjbP9W1jduXkCs1q2qWXtf0Hx+A1EaLvGLTvSFwr4p3I9jTxmCuX i4OQ6cs8uzVK
8bGsakcoY1vPdGYM8ixywOGE5ELduWjGh/LZDhkdbR2L28BGx3zcET/rjmxH bXk5Mwe7vs3p
wZvdOJvDCtM2isSaLKy6phd+ckgGt0pc3cY/vzl7DeFysHAW5nDJys6eLDsk 2NEfZqKmLsel
6WFgTl0rZ78/iWwBNF4ZkQLVo8ggE6ROTRMyrGiOB0HHEyrFy7mkiQxczGg8 hIJczC2QFEDd
Agq2AMlmmC9ch4T3/EMb5ffn/AMoNgfNa1LmswXwVYeOT4knls1JIOIicLme PhNIu5zQ1myj
u2Ylm9NApdMW/MvDHza+AqQj91olhKB0fsRG0L4NLh6kSRabqr98FUq67M78 Xa2bXccnoDuc
ndVsIpR2RlJ6paQwuY0z6W88tFCiCzM1voqiKSE326PsosmaOSvJNcOYNgkO y+l+JP6wgrjh
Nt0O6JpCXR17LTyit6zFxS+09vzFhvp8+06fE6sJPOt2/20XeR8CW6rbpPyx YIU1X6YVS6ka
4k11+oufNZcOrjHMIlm5lyDrrcoF0ITRSAwjrSTmsyCnOkLHtNLRsoWGMQ5C GrL0p9UItiNz
eIFedT6YYAP0lsL09S9QSwcIypBhZ+QFAADdFAAAUEsDBBQACAAIAFd4/zgA AAAAAAAAAAAA
AABDAAAAMlN0ZXBUZXN0LmRpYWdyYW0vc3JjL1Rlc3RkaWFncmFtL2RpYWdy YW0vZWRpdC9w
YXJ0cy9DRWRpdFBhcnQuamF2YaVXTW/jNhA9K0D+w/SmBAslXfSW7WJd290a cBzDThbZU8BI
Y5soJaoildRb5L93+GXL8kfsNgfZEYdvZt48ztAlS/9kc4R7VDrjbF6xPAmf mHGdlKzS6ub8
7PyM56WsNMhqnmAqeKkwySr2+jFLvlasXPDUmO03GvzO53WFB20mmGpWzAUe YTvVFPqQLWWt
d9vNcZb0KYUxZfCOhRQ8Xe63meBfNfGz3yCVec6KTCVd92W/peG0NO44qsRF f0wEG9tGspig
4j/Ys8BjNlcufIquQqbxcDY52deF5jmudFBz598oIZkuWIkjmeE71B7ACXms Y59IgXvU0wQy
yRDIzIpDJT2csVroKf9hAzqkmQMop2wtpGaayyL5xvHVHoqry8vzM7iEL3Ms sCJ2M/Pv1flZ
WT9TZpAKphR0A1mAf2skocAWjfCPgYssXtQCjCxi5CGViSGFGS+YAF5o+DaY PnSGT4Me/Aof
r69/vnkfqZKajhpm4E8lpLKgwCiSAv/L9rLiOauWNqsj9rtEVqzEhk54oceF oSGKVF1iFdsX
hBa9nRDRi+QZpFboXh8rmZHm4qaD5ICZcRvxgrgWYq3TuCXZZNq/7YzuB92n yd2w/8HsiaKC
ctnfToP4uwON+RSpW1AxGx4u3nedDDvf7x7unU+fa7uVBJyrK3h8fIQCiRpW wLQ7AS3B69l8
XbAXpBWpF1gBe1a6YqkGy4/Trl4wDa+yFhkI1JAuuMgqLIBlGZBrJQvTh6B5 sr3jCnP50uhQ
8f9sEEn3bjTqd+8Hd6OnPzqj3rA/tRycrJE2WXs5dGLZMhdY0lEzdd69xepg 7W7LUddw2C6t
6QGWXO81ihr7qFGRRMmptXDLUUStTO9WyHgyuO1Mvj/1Jp2va47oj88gDmCU Qi3Eyl20cmIy
2z1k4oDz5j4q1HVV+PDc0ttW/n4oAkV7S4LoegX517GfR+DH1Coej21iPALZ zbaAuTHpjkKm
h/3u16jEp6pq1Uqtb9PbbTsMKur6ZTd3PMv+pafV+242U7KbheF0TDS+s3pf xMu4ARZC8X5i
b3bRbt8npb2en43Mx4K+BHc75zRsqG2nSWwEw8pbehFfuMolvbGWw3H8y/XF B2guNxY2uFwr
s5WTU4gK5ZjJijodV7aPgbnqJM7OPX+T2RLkzJnkqBcyg0zSdmqckGFJMx1k AQq15sVc0VgG
zxndFiCnEIUDUhKoY0DOlqDYDMXSd0n4xD+vWP50xT+DZnMw2qbNfLYEvhnQ 6SUJSnM1aZis
BLlVPkukW04oNdfsbllBPxiq2JStcQcPAyecAuXVu3UamqA0Q2Jr6N42LiG0 kzzWZXf9qmnp
q7v3aHg9Ad3nBOYE4AqhTTCKyqsU0eQTZyrcfmihQE8zNb+S2FQgbHpUXbRV s/OSQrOKWRXB
Y/m9X0g/LCdt+KTBTvMiRSOh9h53RTyhv2zxEhZW/jaP+er1DdBQrhU2A9MK xaxBgQE8pdMM
1p2mGZKPwEybZlF/2hw5PsDNu6fvxn7NXdTa6Cc1Q38F94GGC3jrp2YY2w5v C9AjtvprSDMy
bcGeEF7gVC8FxuEncTIcjPpPvbv7i5DaMV4q/kKv4FnStYdubfnyQeFQpkx0 pawyuvibzkWT
gQnlr9vvQwYZBdB6GzJuFWan35Py2LiVE0E78OIDAYV49hGwY0sjPPukx79Q SwcIcVE9kfME
AADkEAAAUEsDBBQACAAIAFd4/zgAAAAAAAAAAAAAAABJAAAAMlN0ZXBUZXN0 LmRpYWdyYW0v
c3JjL1Rlc3RkaWFncmFtL2RpYWdyYW0vZWRpdC9wYXJ0cy9EaWFncmFtRWRp dFBhcnQuamF2
YaWTTUsDMRCGz1nY/zAUD7VoFk8iRbC2PSz0i656lZidLsFssiTZqoj/3WT7 YamoVS9ZZpK8
7zOZ2YrxR1Yg3KB1uWCFYSXdfDEXjlbMONuNozgSZaWNA20KilyKyiItygU1 tXKixO2tWjQX
Ky0FF2jp0AezELzMtcQg9YOQ0o45oRW9E/jUOCedThxBB64KVGiYwzyESRxV 9YMXBi6ZtTBY
ATR+Hhrw2aHKbRwRcihzqJXu67wGBNIwkD0I0lCQNcZCKCbBBnoOmTNCFTCe Doaj+3QAl9AK
b9zqQpIcTaaT08koOz07OlR7rbqyEMrBXZrd9tbK5xfdQ3X2imuHN4alX45D nYTYukLTbhJe
k7z9rGu0Q+4zsNQiB27Qbw9wwWrptq33c9DeNaDfHAu2RChfsJQfs9MOWUL2 holmw3FvcpP2
7+fT0fBkdUb5ir4e581Yrh8idVhmWDI/D3zH7fh3GP2e72ja9/34K0efKa0E Z/IzRJKAwVIv
cWfrnz8hnU1nt7Pr3rzh/ei0X94BUEsHCFFKkMaOAQAAEQQAAFBLAwQUAAgA CABXeP84AAAA
AAAAAAAAAAAATQAAADJTdGVwVGVzdC5kaWFncmFtL3NyYy9UZXN0ZGlhZ3Jh bS9kaWFncmFt
L2VkaXQvcGFydHMvVGVzdEVkaXRQYXJ0RmFjdG9yeS5qYXZhxVbfT+Q2EH4O Ev+D+3JKEDLV
PRa1uu1yqEhUrY4FHk/GmU189dqp7exCT/zvHdtJCLtZNguolWBje8bf/PDM Z1eM/8UKIDOw
LhesMGxB2y/kwtGKGWdPDw8OD8Si0sYRbQoKXIrKAs0NW33M6bkoagPXTkjh BHjt7bqX7A7k
ixoF6AU480DPxAKUFVqNU/8C3DFVSBhWL2BOP2NEf2JAuzXOGXfaPGxXdFpL S6cgpd+izaXm
DD9bNizm1NTKYUBddmsREhzySy9mcO8mK2Zgh4t9oBg/4sxD/i29Nax6Ib/9 zUo75jC19EbA
alj925xxoEuUg+lHOqxtV45e3c62C1ciLwBD9ZGGejo5Ojo8IEfkUwEKDHOQ ++nJ4UFV30nB
CZfM2lCYa4dC0IIErA1nybrou0dOAnSyhp0E8KRBbzcSbgDl7TR9WtfKoavH 5I+7b1hZZKFz
kJk3kCRiTtIwJ0JZLDoOek58Jht54sfEp478TNIoCPqnQWpXwvGSpENN5+uB esGNsDWTF2df
oBAW6zvsTBIsvk6UegtZ1gSdJJzZXZ2MTRWW2jDpzcXV9eTy68XZT9GAAVcb RRS6vh9SdOZ0
D1cm7+DE5PXmp+9gfvqG6CdTvfBDX8jvkYkhvLSpmqR1D4eP/jf8NOCxA66V Aa4LJf6BvNve
NUGsfg/wuLvDjFjiwnqLDRoY1W4nJ+Q3pnIJEQlpi2C/1T08wkshc6JwU2fW khIM9OJUtZQj
I4gcYT1HcrJB8gR70NPYhiCme5PMidW14dBjj7jgmzlenmnWp5KOyLMA+KwI hsymTxvIJnI8
d5BYk9/X8cKmAcAdYI+j0tjkr62HltAHIuhT+qaw4bdoasNWY6wruy4XZNW7 D8cAxFMfTvEA
akv2rhSWdqvI+H27SZOnkcafzGDOu0maPT+5NxhYapETA9KHBelTnITjEMKw NeYTQXxT+kvM
T7Kekq+JKfas0ehdJJbuAYb43G96HgJtuuZXXavcxvlUVw/t9jVtZ5iyEp2c 6cmd1bJGdz1u
o+2baG2HsB7er1SQp1lDfR8+bPEDRxJU4UrM7i/kxzbqxBuhFtwVEkvqe6R7 h6Y+GZQjzaIz
QRx08WXjyuOWafERRM8+n0+uL2dZ1lIu6XVfIpQjbGkwQWsP59BnmNPf8T0r uI3mmjXsvNaC
X5os8YALmJbM3HrzbRL38r7n6rD7FO4rJN7Ue3tEPh5jlvqXSDiEH4JF+Btf JDYY7Mqg8789
8SzrkhxEthMFjPvjUDj0ofnGvMZxCaIo3doNttdt1JBRJKFh2ntPFopNLPdm ny2E3IN7Rjuy
oRz5OjboqGaQZl4J+h9TzHh6GUstb+vPl9rzjd05sjn/57b0//j3L1BLBwi8 LFJyBgQAAFsQ
AABQSwMEFAAIAAgAV3j/OAAAAAAAAAAAAAAAAF0AAAAyU3RlcFRlc3QuZGlh Z3JhbS9zcmMv
VGVzdGRpYWdyYW0vZGlhZ3JhbS9lZGl0L3BvbGljaWVzL0FBQ29tcGFydG1l bnRDYW5vbmlj
YWxFZGl0UG9saWN5LmphdmGdVVFP2zAQfk6l/gfzliJk2MNeViGtakFUYgWt wCsyzjU1OHZk
O7Bu8N/nc5yEVWkRe0mbO999933nu5SMP7EcyA1YlwmWG1bQ5hcy4WippeAC 7Hg4GA5EUWrj
yCN7ZrRyQtKplhK4E1qNe7wXzK6X4PpccweGOW36fJdCPUF2KWxv5C57DdQ6 tMkpcClKCzQv
VtRUyokCWnKVCPwaenTKlFaCM3nmrddo3Yw/TKa0Y0ie3gl4CejHh4fDATkk 33NQyBAyfD0e
DsrqweckXDJryWQy1UXJjCtAuR5kAr8cqMySPt8fxEkCULKFlASoxEtBis05 MFcZsDd6uVF8
bXyi3zD+MLg02vmWQkZQaZKDW0LBPF8+XQuZGVBoT0dYR5IgcfLsH1cPjz6K nJIUTSOMu9B4
jvp/P3QGMh2NMSJk9WVVEk8rH971Ox5ZaUPS5oYQgef67icKSNExqw23ZeaZ GMyQJAj7j8z3
X09OvmxTSbvSR1RERF+FB41p1swufDe8LTJO6tprd0JZlqVpure8hWc/A8uN KH32UZsbw1XI
3Yl0JgGL9aagxBs+DPg+qqgZmt8+0cQHrSUwRYS9MuWaKcjSbmiJ3dLjiKyE YpK0bY2khXL+
1VZMzmcfdeMunvsJuW+p2XT9aDxB9ZqgfRGOr0naJI94nNl9O8lD+YkNM4Go d/Pl7eTyfj77
FhsU9DrYJke5Vo4JZQM+FtSpHTvy+trRPPgvnpEq9rylu2ckjoLKbWgdvOcS rJi08Nk7sHRG
qBzxZ7Bi/hKdM+5v4uZCqHaQY35VSfnp9BDWRO++adKLFUl3rCRyehpgm/na eSwsi/hNiZti
1+H30/m+ie/+X9dfPgrzxfJmspiehY1xP+1TffcyrYXyj79QSwcI8WNA2ZoC AABJBwAAUEsD
BBQACAAIAFd4/zgAAAAAAAAAAAAAAABgAAAAMlN0ZXBUZXN0LmRpYWdyYW0v c3JjL1Rlc3Rk
aWFncmFtL2RpYWdyYW0vZWRpdC9wb2xpY2llcy9BQUNvbXBhcnRtZW50SXRl bVNlbWFudGlj
RWRpdFBvbGljeS5qYXZhhZLBTsMwDIbPqdR3yLHbIRtcp0mUqkO7TBObxBGF 1qsimjQkKTCh
vTt228GATVzSxP39+7MTK4tnWQHfgg+lkpWTWhy/UKogbFOrQoGfxVEcKW0b F3jjKgFFrawH
UcFOFI3W0pReZP1mdl6pd8K1JigNAnAf9hYw1YFw8NJifcx3IAPkNWgw4b6P doUn43Ec8TG/
qcCAQ01Jx0kc2fYJ+XhRS+95miKAlS5Q+jKA3gDiBFXk2MmaGtlzeA+AqHHE 2L89C1LcSg8X
vD4IjXVs7Bcc6+iYdU2AAiN8GA2vIPRdDoHkXM8cJzIie8bUjifnQNH5VZXg esghfYsjxSk+
Xk+nV3w+JxvyYAyv6VSTjAb3zh5V9D9rTJDKkGaBSK1DGZmYtq6PcvbliJ7+ bM4p7Ml+3T80
AcvVZpuusvxo08OljxlCzbrgoVsdoJ2hed3liwcnrQWXGHi7/FS/n+HPCQ+V aKZ9ha7A4O9b
9BV/boXEpD3QFePyCVBLBwgXGPuLeAEAACgDAABQSwMEFAAIAAgAV3j/OAAA AAAAAAAAAAAA
AFQAAAAyU3RlcFRlc3QuZGlhZ3JhbS9zcmMvVGVzdGRpYWdyYW0vZGlhZ3Jh bS9lZGl0L3Bv
bGljaWVzL0FJdGVtU2VtYW50aWNFZGl0UG9saWN5LmphdmGllFtv0zAUx59d qd/BTDwkk+aK
V6pKlK1ApVHQOsYj8pzT1Cyxg+1sVKjfnXNy2bIu6zZ48SU+l79/xyeFVFcy BX4OPiRapk7m
op0h0UEUNtNKgx8PB8OBzgvrAv8pr6Uog87EPICTwbruqXWpAJXpwoOAfIVr 60DMpsbYIIO2
ZtxrmsJKKJvn0iReHNeL51kWtjTJfg+U4UoTdF5LCpsCRCXrNs4JAnB2M8sg BxP+MZqDXyXG
2Y12Vn9+OlpLSCxsAi8wv9BwU5VgdHg4HPBD/i4FQ5WBhLaj4aAoL7GOXGXS ez7FsuVLwBsG
rWZY5a9U5A2H3wGQxXDA2JPvQZDFe+nhkVh/SA6r9LAdQaxSxApnAyj8whva PIXQW4aoFydH
2jHlYWznEXCl+KQbLUnBt7HiMXnIJGkOj9c6S4j3rYVSuzbLNZZBleGBCYHn 1zRMeESbmNJ+
sj5EMb7T8BnjZk1KveIRmdL3TjdEB230g5i/mnBTZhlei49GrxdfFkeL0+XR m9fkz/C+wqNv
TeHcNuKqoHWKLQ1KCVQeYZaPsw/fnSwKcJFBif1siWJcuzsIpTNIT5TmBh1r 4dsXVPLa6oTv
Y/ugUnnS1PAlKDv4uLxbTvgTfMcPqVJVOiHuCtAgJyJ3bFfW8aj96XEdOimr uzowqFY3BqgW
bcRa+gW2Fu7asISEGxrwrrSJyc7URpWFv9FBrXnU14eFdKFqvwvtS5nNT84g 1ch7U3kyRmra
o4iyxG1ehf2651ePcb2YTqlGuKRHUjU0pbuYL79NT3/MT97WSe6DUBUJSrWH BBo1AlkPkgaK
uk9F7WD5PzA7aNQ9Ns+jc/woEfTPk7bz+lutSdhehV06kFftblvPzdQ52rav r2pEHP4CUEsH
CGkRD9SYAgAAtAcAAFBLAwQUAAgACABXeP84AAAAAAAAAAAAAAAAVAAAADJT dGVwVGVzdC5k
aWFncmFtL3NyYy9UZXN0ZGlhZ3JhbS9kaWFncmFtL2VkaXQvcG9saWNpZXMv Q0l0ZW1TZW1h
bnRpY0VkaXRQb2xpY3kuamF2YZ2Ry05CMRCG1z3JeYcugUV5AGJiRDTujJi4 rtOhNJ5ebOcE
ifHdnXJADcFL3PT6zz9f/yYNT9qivMdCxmmbtVeHGY0jlWLnwGGZtU3bOJ9i JhmzVQidSwWV
xZWC6L0Opqj5sJj9SZliH8zPFX6lch/IeVTIa9omZIuMnz6XzJ3jdtGhx0D/ dMv43LPPsdvd
cLx7+XQyaRs5kecWA2ZNaOp22japf+SAJHS6FDm/IfRLZAZysOD4bmt6W4kv hEzbNkL8GrSq
igtd8Buv14ojdjziCEjsiETKkRD4RO7zkBbpZFCjkw+WnMe49hHi6
Re: Compartments in 2 step meta model [message #199696 is a reply to message #199603] Thu, 31 July 2008 14:50 Go to previous messageGo to next message
Alexander Shatalin is currently offline Alexander ShatalinFriend
Messages: 2928
Registered: July 2009
Senior Member
Hello Mark L.,

> There was only a getC() method created in class A, so I did not
This is normal for features with multiplicity more then one - you can cass
getXXX() and then addappropriate element into resulting collection.

> implement a set method. What do you mean by saying "fire appropriate
> EMF notifications when necessary"?
I meant there should be a code listening for all underlying references (used
to get appropriate C instance from the model) and calling eNotify() with
corresponding parameters then necessary (new element C was added to the model
or removed from there).

> What could be the reasons for the mentioned misbehaviour?
I think ResizableEditPolicy supclasses are responsible for resizing/moving
the node on diagram, so you can debug corresponding places in code.

-----------------
Alex Shatalin
Re: Compartments in 2 step meta model [message #199863 is a reply to message #199696] Fri, 01 August 2008 13:06 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: ML1984.gmx.de

>> What do you mean by saying "fire appropriate
>> EMF notifications when necessary"?
> I meant there should be a code listening for all underlying references
> (used to get appropriate C instance from the model) and calling
> eNotify() with corresponding parameters then necessary (new element C
> was added to the model or removed from there).

Hi again.

I'm sorry, but I just don't get it.
Which object has to send notifications in which method?
How can be determined, that there are new C objects?

Best Regards,
Mark
Re: Compartments in 2 step meta model [message #200019 is a reply to message #199863] Mon, 04 August 2008 09:34 Go to previous message
Alexander Shatalin is currently offline Alexander ShatalinFriend
Messages: 2928
Registered: July 2009
Senior Member
Hello Mark L.,

I suppose you have a meta-model like this:

EClass “A” with EReference “b”
EClass “B” with EReference “cs”
EClass C

and you are going to implement derived feature of EClass “A” called “a_cs”.

In this case the method itself should be very simple like: getB.getCs() (in
addition you have to probably wrap these elements into appropriate EMF collection)

In case somebody add/remove C instance to the existing B instance EMF will
fire appropriate notification and custom code should listen for this notification
and fire one indicating the value of derived feature (a_cs) was changed.

You can add “listener” for each EMF object (including particular B instance)
by calling myB.eAdapters().add(<ListenerInstance>)

-----------------
Alex Shatalin
Previous Topic:file: / platform: differences when loading diagram
Next Topic:Modify a label from a figure (rectangle) when a connection is made
Goto Forum:
  


Current Time: Thu Apr 25 07:07:43 GMT 2024

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

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

Back to the top