Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » UML2 » A suggestion for user-friendly typing
A suggestion for user-friendly typing [message #470149] Thu, 08 February 2007 00:37 Go to next message
Nicolas Rouquette is currently offline Nicolas RouquetteFriend
Messages: 157
Registered: July 2009
Senior Member
In both 2.0.x and 2.1M4 builds of UML2, the property view allows
the user to choose the type of a typed element (e.g., a property)
using a drop-down list of all available types.

With primitive types, this list is very confusing because
it has many entries with the same suffix (e.g., "String").

There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
that sometimes help disambiguate which is which but that may not be enough.

In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
ambiguously designates:

pathmap://UML_METAMODELS/UML.metamodel.uml#String
pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString

The suggestion I offer involves segmenting the type URI
using the registered pathmap aliases to make the URIs
precise and user-friendly.

Segmenting and grouping types by common prefix or suffix
would enable a user to navigate down to the desired
type more quickly than the current drop-down list scheme.

Grouping from left to right might look like this:

pathmap://UML_METAMODELS/
|-> UML.metamodel#String
|-> Ecore.metamodel#String
pathmap://UML_Libraries/
|-> UMLPrimitiveTypes.library.uml#String
pathmap://MY_LIB/
|-> foo.uml#String

Let's be democratic. Some users might prefer
grouping from right to left
to get something like this:

String
|-> UMLPrimitiveTypesLibrary.uml ...
|-> Ecore.metamodel.uml ...
|-> foo.uml ...


-- Nicolas.
Re: A suggestion for user-friendly typing [message #470153 is a reply to message #470149] Thu, 08 February 2007 01:37 Go to previous messageGo to next message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Nicolas,

I agree that this is an area that can be improved upon.
Raise a bugzilla or better yet contribute a patch ;) and it will be looked
into.

Cheers,

- James.


"Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
news:eqdrd0$kue$1@utils.eclipse.org...
> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
> the user to choose the type of a typed element (e.g., a property)
> using a drop-down list of all available types.
>
> With primitive types, this list is very confusing because
> it has many entries with the same suffix (e.g., "String").
>
> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
> that sometimes help disambiguate which is which but that may not be
> enough.
>
> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
> ambiguously designates:
>
> pathmap://UML_METAMODELS/UML.metamodel.uml#String
> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>
> The suggestion I offer involves segmenting the type URI
> using the registered pathmap aliases to make the URIs
> precise and user-friendly.
>
> Segmenting and grouping types by common prefix or suffix
> would enable a user to navigate down to the desired
> type more quickly than the current drop-down list scheme.
>
> Grouping from left to right might look like this:
>
> pathmap://UML_METAMODELS/
> |-> UML.metamodel#String
> |-> Ecore.metamodel#String
> pathmap://UML_Libraries/
> |-> UMLPrimitiveTypes.library.uml#String
> pathmap://MY_LIB/
> |-> foo.uml#String
>
> Let's be democratic. Some users might prefer
> grouping from right to left
> to get something like this:
>
> String
> |-> UMLPrimitiveTypesLibrary.uml ...
> |-> Ecore.metamodel.uml ...
> |-> foo.uml ...
>
>
> -- Nicolas.
Re: A suggestion for user-friendly typing [message #470167 is a reply to message #470149] Thu, 08 February 2007 14:13 Go to previous messageGo to next message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Nicolas,

I'm a little confused... The drop-down list shows a list of qualified names
for me, i.e. I see:

uml::String (the String primitive type from the UML metamodel)
UMLPrimitiveTypes::String (the String primitive type from the UML primitive
types library)

Are you not seeing the qualified names? Regardless, I agree that this can be
improved - ideally it would also enforce visibility rules (for example, you
shouldn't be able to select primitive types from the metamodels since they
are private)...

Kenn

"Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
news:eqdrd0$kue$1@utils.eclipse.org...
> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
> the user to choose the type of a typed element (e.g., a property)
> using a drop-down list of all available types.
>
> With primitive types, this list is very confusing because
> it has many entries with the same suffix (e.g., "String").
>
> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
> that sometimes help disambiguate which is which but that may not be
> enough.
>
> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
> ambiguously designates:
>
> pathmap://UML_METAMODELS/UML.metamodel.uml#String
> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>
> The suggestion I offer involves segmenting the type URI
> using the registered pathmap aliases to make the URIs
> precise and user-friendly.
>
> Segmenting and grouping types by common prefix or suffix
> would enable a user to navigate down to the desired
> type more quickly than the current drop-down list scheme.
>
> Grouping from left to right might look like this:
>
> pathmap://UML_METAMODELS/
> |-> UML.metamodel#String
> |-> Ecore.metamodel#String
> pathmap://UML_Libraries/
> |-> UMLPrimitiveTypes.library.uml#String
> pathmap://MY_LIB/
> |-> foo.uml#String
>
> Let's be democratic. Some users might prefer
> grouping from right to left
> to get something like this:
>
> String
> |-> UMLPrimitiveTypesLibrary.uml ...
> |-> Ecore.metamodel.uml ...
> |-> foo.uml ...
>
>
> -- Nicolas.
Re: A suggestion for user-friendly typing [message #470212 is a reply to message #470167] Thu, 08 February 2007 21:20 Go to previous messageGo to next message
Nicolas Rouquette is currently offline Nicolas RouquetteFriend
Messages: 157
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030109070707090204040805
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Kenn,

I understand your confusion.

With Eclipse 3.2.1 + UML2.0.2, the list shows what you describe.
However, with Eclispe 3.3M4 + UML2.1M4, the list shows what I described
(see screenshot).

-- Nicolas.

Kenn Hussey wrote:
> Nicolas,
>
> I'm a little confused... The drop-down list shows a list of qualified names
> for me, i.e. I see:
>
> uml::String (the String primitive type from the UML metamodel)
> UMLPrimitiveTypes::String (the String primitive type from the UML primitive
> types library)
>
> Are you not seeing the qualified names? Regardless, I agree that this can be
> improved - ideally it would also enforce visibility rules (for example, you
> shouldn't be able to select primitive types from the metamodels since they
> are private)...
>
> Kenn
>
> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
> news:eqdrd0$kue$1@utils.eclipse.org...
>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>> the user to choose the type of a typed element (e.g., a property)
>> using a drop-down list of all available types.
>>
>> With primitive types, this list is very confusing because
>> it has many entries with the same suffix (e.g., "String").
>>
>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>> that sometimes help disambiguate which is which but that may not be
>> enough.
>>
>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>> ambiguously designates:
>>
>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>
>> The suggestion I offer involves segmenting the type URI
>> using the registered pathmap aliases to make the URIs
>> precise and user-friendly.
>>
>> Segmenting and grouping types by common prefix or suffix
>> would enable a user to navigate down to the desired
>> type more quickly than the current drop-down list scheme.
>>
>> Grouping from left to right might look like this:
>>
>> pathmap://UML_METAMODELS/
>> |-> UML.metamodel#String
>> |-> Ecore.metamodel#String
>> pathmap://UML_Libraries/
>> |-> UMLPrimitiveTypes.library.uml#String
>> pathmap://MY_LIB/
>> |-> foo.uml#String
>>
>> Let's be democratic. Some users might prefer
>> grouping from right to left
>> to get something like this:
>>
>> String
>> |-> UMLPrimitiveTypesLibrary.uml ...
>> |-> Ecore.metamodel.uml ...
>> |-> foo.uml ...
>>
>>
>> -- Nicolas.
>
>


--------------030109070707090204040805
Content-Type: image/jpeg;
name="uml21M4-property-types.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="uml21M4-property-types.jpg"

/9j/4AAQSkZJRgABAQEAXQBcAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcH Bw8LCwkMEQ8S
EhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcG Bw4ICA4eFBEU
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e Hh4eHh7/wAAR
CAMmBTADASIAAhEBAxEB/8QAHQABAAIDAQEBAQAAAAAAAAAAAAUGAwQHAggB Cf/EAGsQAAED
AwICBQMIEg0JBwIDCQECAwQABREGEhMhBxQiMUEVUWEWMlNVlJWh0xcjNTZW V3FzdIGRkpOx
srPS1DM0N0JSVGN1lqLR4fAIJGJmo6S0weIlQ2RydoLjRfEmRIS1wsNGgzhH xGX/xAAaAQEA
AwEBAQAAAAAAAAAAAAAAAQIDBAUG/8QAMhEBAAIBAgQEBQMEAwEBAAAAAAEC EQMSBCExURMU
QbEFMlJhkSJx8EKBodEzYvHB4f/aAAwDAQACEQMRAD8A4VeeAuyTo7YCuDFc UQGyA2eGobcn
BPcOdfcV00D0cRZb6B0eaMAStQSnyBE7gfS3XwrNZuMuy3aU0wramMtThCOS E7TnJxyyAa+8
+ktm4LRJetzKnnm3HMISUgnn/pJUPgr0OKrFtWtZnDHhYzlQmn+hzyyLXI6P 9IxnFOcNK3NP
Q9pVnGM7OVS+pdFaHYeiNxtDaNjhxDilKGnYJJwU49c3j98a5CiNqfUGqW7U 3oudHJdAdlPs
x0obGeatyo/P7Rrvepvlcq3pKsYZdGc48W/SKz4/h9PRmuyev3y0pabZzCne o7SH0J6Q/o3b
fi6eo7SH0J6Q/o3bfi6sHE/lP9p/104n8p/tP+uuDK6v+o7SH0J6Q/o3bfi6 eo7SH0J6Q/o3
bfi6sHE/lP8Aaf8AXTifyn+0/wCumRX/AFHaQ+hPSH9G7b8XT1HaQ+hPSH9G 7b8XVg4n8p/t
P+unE/lP9p/10yK/6jtIfQnpD+jdt+Lp6jtIfQnpD+jdt+LqwcT+U/2n/XTi fyn+0/66ZFf9
R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/AK6cT+U/2n/XTIr/AKjt IfQnpD+jdt+L
p6jtIfQnpD+jdt+LqwcT+U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2k PoT0h/Ru2/F1
YOJ/Kf7T/rpxP5T/AGn/AF0yK/6jtIfQnpD+jdt+Lp6jtIfQnpD+jdt+Lqwc T+U/2n/XTify
n+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/rpxP5T/af9 dMiv+o7SH0J6
Q/o3bfi6eo7SH0J6Q/o3bfi6sHE/lP8Aaf8AXTifyn+0/wCumRX/AFHaQ+hP SH9G7b8XT1Ha
Q+hPSH9G7b8XVg4n8p/tP+unE/lP9p/10yK/6jtIfQnpD+jdt+Lp6jtIfQnp D+jdt+LqwcT+
U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/ AK6cT+U/2n/X
TIos5jozg3F23ytP6UbfZUhLv/4ThFCCsApysM7RkHz1t2ax6HuomGPpDSyO qSnIrnE0zbRl
aMZI+V8xz5GtQ6eN41nqMXB6Y1bnVxFFsYS1L2tjkVE5ISR+9V9Wo56JPZiO yeozFhjV6pqk
IbJWpnn20p3ZUOfePu0zItfqO0h9CekP6N234unqO0h9CekP6N234uqfJauJ 03dHXYcxmO9q
QyJUdWUuPRjtyAN3aycd2c4POpLQ6W5V41P5KcftTDioqWVICNze1ByAlSik fUOcZ8D3MiWu
OmNGwYa5S9G6YeSjHYY0tb3FnJA5JDeT3/crY9R2kPoT0h/Ru2/F1Ha5t1yO iLlG8pTrw86p
koQpDZUMOpJwG8Z5c+YPd4VBautMqRM1hOahSnJIVCXBWgKJKglIUpGFdojG MjOOfdTIsd30
/oS02924T9MaSajNY3rGmLevGSAOSWiTzI8K07fC6N501MJnTmlUSFAlDb+k 4TKlAebeyM/a
qR6UGpEvQtwjxW3ZDyuFtbaytSsOoJwAok8hnurRvD72pbzZEwYE9hEGYmU9 JlMqYCUp/eJ3
qyd3Lu81MiU9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1VbVAuTeq+NPMpqam5 Kc6y3EW5xmTy
CC8HNqUYPcRyxW7Cts9nUz+n+A4LL10XNL2Tw8Yzws7sfsm04znAJpkTvqO0 h9CekP6N234u
tCz2PQ91Ewx9IaWT1SU5Fc4mmbaMrRjJHyvmOfI1CWqBcm9Vh6eZTU1FyU4J LcRbnGZPIILw
c2pRg9xHLFen4N0NjuqERpRZXqVx+SynIXIi7hu2jdlQPLu78d9MyLR6jtIf QnpD+jdt+Lp6
jtIfQnpD+jdt+LqmXyO8xo7VK2I78S0OvxTBjOAtlOFo4hCCrKQTjHL7lbpg uqkakdtFvmxL
e7ZnGVNOoUlT8khXaCVKyo45Z55J8c0yLN6jtIfQnpD+jdt+Lp6jtIfQnpD+ jdt+LqpNacR1
pDarfI4Lmm9zoJXhckEYCu1zWPBJ5jA5cq1p1uuz7Vt8pNS1x1WhtlpfVXJC 4zwHaOxKwUL7
u0R4YxTIu3qO0h9CekP6N234usPqY0P13qXqa0b1nh8Xhepy27tmcbscPuzy qA1BaX7jd33J
MeVLCdMbUOKQob3wpRAI3Ht887ckg+FZdP29bOr7LcptudK3bE0hcgtElEkA bis7spVs7OTj
zUzIsHqO0h9CekP6N234unqO0h9CekP6N234upO6R5cvh9VvUq37M7uBwlb8 4xneVd2PDHfW
eEl1iKhp6c7KcTnLrikhSufiEqA+4KZEL6jtIfQnpD+jdt+Lp6jtIfQnpD+j dt+LqgQ9qX7J
HlxH/LgvyVzJSjkOgKUeSt3aAGO4YGDzGecjebfcnJt2HU5jl9duSXLbOSFF DTGU4HE3bUgJ
3Ag+fxpkW71HaQ+hPSH9G7b8XT1HaQ+hPSH9G7b8XUHe7fcW9Uy7dDZdVbb+ ltUp1BO1kpOH
cndgb0DHM8ya2+kJ9246XvNnhwJ6nI5jBJDRKHQXEK+V4Wd20DngcqZEj6jt IfQnpD+jdt+L
p6jtIfQnpD+jdt+LqCTGk2iTq9MG1PSoqkRlR45UvY+Sghwg7sqPicEk4xUf bIbyompYLzFw
gQpbUdbHUoTiEg9y9rZWTnONyc5IycCmRbfUdpD6E9If0btvxdPUdpD6E9If 0btvxdQVmfuE
TSF4Yb0+2620QGG0Mrj9b3ABRLRVuBA8w545Vj0lLkWSVfZK7VPENaY7sePD hOICjzSvY2pf
I5IJGc4BOBTIsPqO0f8AQnpD+jdt+Lp6jtIfQnpD+jdt+LrRtFrbe1/f7jMi uEJXFVEdcJCS
Q1hRT2wCR3Zycd3KonSEeZb746xAivPNvtOlc+ZEXHfaUeaUqUVYdycd3mpk WT1HaQ+hPSH9
G7b8XT1HaQ+hPSH9G7b8XVY0DBnRbzEcmCXGmoQ6iZ/mjgTIJ5hS3y5tXggE EY78VvawWi/W
u2T+r3RhSFOrTEkW9byVEdnDraVkp86T6SaZEz6jtIfQnpD+jdt+Lry9pLRj LK3ndK6QShCS
pROm7byA5k/sdQl3TcZlp029cbU8m3tFQuFujKU5gbcNdgK3KSMZKfDOOdS1 wMNWl4trtrDk
Ni4PCMhhaS0UoUol3sFeR2As8x4imR7j6U0ZIjtyGtKaRLbiAtJOmrck4IyO RayPt1k9R2kP
oT0h/Ru2/F1ozrU3P6SUPS4q3YbdoSErJPD4geJCc78Egc8Z9OPGoO1QLk3q sPTzKamouSnB
JbiLc4zJ5BBeDm1KMHuI5YpkWr1HaQ+hPSH9G7b8XT1HaQ+hPSH9G7b8XVfj MPwteKlQ4b88
yZiuM7KirbVGScglt/dtUjHcnPca0bzb7k5Nuw6nMcvrtyS5bZyQooaYynA4 m7akBO4EHz+N
Mi3eo7SH0J6Q/o3bfi6eo7R/0J6Q/o3bfi6qOtWLj1jV8dm2TpPlJMNTC2Wy tBDYSFZIUeYI
7uZ8eQqwWi1tu6/v9xmRlkJXFVEdWSEkhrCik7wCR3Z547uVMje9R2kPoT0h /Ru2/F09R2kP
oT0h/Ru2/F1BaOihhxSLnbpfqk4j2bg40pSCSFYUHd23btIGPgrV0FBnRbzE cmCXGmIQ6iZ/
mjgTIJ5hS3y5tXggEEY78UyLP6jtIfQnpD+jdt+LrUm2DQcNTyZGmdIoLMdU lzGmLera2nvP
Jr4O8+AqK0Ow/bdSFqNDfkRn0OF6dLirjyG8ncEqUVAO5OByqUnJcuFp1XNa 3Orejuw46Unc
pSW21JwBuycuKc5c88qZGCz2zo+u69kHS2ml/K+IFOaQhtJKeXMKWyAe8dxr buWmdFwLdJnP
aS0mpqMyt1YRpq2lRCQScDh9/Ko/SUi4eptdsamXoThbQhlMyHwGo7iUYASv Cc4JHeTyH1a1
bVEiJ0hcY7VlnMXtVpebkuuR17n1lOCAvdhZUrmAM/UpkSdvsWipyo4a0Zpt KX4iZSHF6Vtw
QEq7klXDxv8A9HOa3/UdpD6E9If0btvxdVSVFltNPvOx3220aK4ClqSQA4M5 QTu9d/o9/orL
o6KVXrT8q2QpcRtq3kXJ90KQl8ltOwAlWF4PPl3DHmwGRZvUdpD6E9If0btv xdPUdpD6E9If
0btvxdVvSEeZb746xAivPNvtOlc+ZEXHfaUeaUqUVYdycd3mrxoGDOi3mI5M EuNNQh1Ez/NH
AmQTzClvlzavBAIIx34pkTsnT+hI1wiW97TGkUyZm/gI9TFvO7YMq5hrAwPO RWrOt3RzBRPX
K07pJCbeWxKI0rAVsK8be5ntZyO7OPGl4lyJlz01qdq23JMaIqSl9hbR6w2F p2A8MLKsZGeX
gRWjcosy4W/UlwTBlBu4S4XBZcQQ6tLamwpRRuyByJ5juHhTI3p1u6OINqj3 STp/SCIkkpDK
xpeAoq3DI5Bonu9HLxrai6f0JJuEyAzpjSKpMPZx0epi3jbvGU8y1g5HmJqr XvTd4asM+G4y
p+Hb3Am1IbWHFrS4+hRO1KiQUpBHd3E/VqeiT1WjXWpJEqFdFsy+q8FyPEdd SvY1hXNJxyJx
3mmQFv6OfKSbcrTelESFOFpO/SkFKFLHekLLO0n6hrfe0xolmSxGc0tpEOvl QbSNM2452jJ7
muXLz1HSbibxqphq5QLu1EgTB1NKYbhQ66OQeWvOEpBJxg+knwqeir65qyXI LmW4DCYyDv8A
368LX+//AIIa+GmRoW7TGjZ0JuUjRumGUrzhD+lre2sYOOaS3kd1bHqO0h9C ekP6N234uqjY
I9wt0DRct22zl9TE1DzSGzxGy4SEZSVDaD5zgV+aesz8iLo+LcrfIDLQuHWW 1pUkI3KykL5j
APmOM+mmRb/UdpD6E9If0btvxdaGn7Foe92hi5xNIaWQy+CUpd0zbUqGFEcx wz4ioPSlplQ1
aTlmJLbkpdlNylr35Q32whKsq7Ke7A5Dn45qc6PJL9s0tYrVKg3BDz4f3HhE IY2rUr5ZlY2Z
B5ZHOmRv+o7SH0J6Q/o3bfi6eo7SH0J6Q/o3bfi6qOkGLi1N0hDftk5jyaqa mQ6tshtJUlWM
Hd3HI58gc8s1i01p3Dekus2+UguJlIuG7enCcEoS52htSTjAOAc+OaZFkm2P Q8S72+1uaQ0s
Xp4dLSk6ZtpSOGkE7jw+XI8q3/UdpD6E9If0btvxdVjTEK4MzdJB2LKQiIu4 pWVpUA0k+sBJ
PZBHdnGfDNRWi4pft2l3LZCltz2pRclTCFJb6uFL3I3lW055DaMc8+fmyL56 jtH/AEJ6Q/o3
bfi6eo7SH0J6Q/o3bfi6h9O2h5LOpprbC2Lo5PmiE86opICh2VJyoDBP74A5 x3nFaGl7atVz
tLbdslRkJhOtXwyEFCJKlJwASpWHO1k5HgftUyNu2Q9DXFlqRG0JY1Rnngy0 96k7cUr5kbuS
CUpBScqUAO6t2z2PQ91Ewx9IaWT1SU5Fc4mmbaMrRjJHyvmOfI1AWWzvRtH6 VCLa6zLF5ael
gNFKwlKnQFrGcgAEcyByI50mW+7m2z9kV9UY6kffkMKbUrjMnGFbAsFxOeeA efnOKZkW71Ha
Q+hPSH9G7b8XT1HaQ+hPSH9G7b8XWDSEiLZtPq69curRzKXwetpMQICu0G0p cczgc8Z/5Vp6
0ebuciySmQu8WRt9zrjURfHC1bcIJSlZyAc5pkY4dt0LK4vB0Vp5XCuCrevb pS3KwtPeo4bO
Ef6RxUv6jtIfQnpD+jdt+LqowIE1MKMlFumMJGr+sBtSFZQzg4We160d27u/ 0qyXxU93VDc1
qyux3It2b3vsx3VuuxwQCriBeCkj94AcecUyLV6jtIfQnpD+jdt+Lp6jtH/Q npD+jdt+Lqga
v2pb1G1cIj710eno6pJzuSGCtGxAVu82eyATzz4ZFxtFrbd1/qC4zIyyEriq iOrJCSQ1hRSd
4BI7s88d3KmRveo7SH0J6Q/o3bfi6eo7SH0J6Q/o3bfi6qtnVPVrG13I2R22 hT0huYGY7oPa
SdnEcK8ODODuAAHnrW01p3Dekus2+UguJlIuG7enCcEoS52htSTjAOAc+OaZ Fz9R2kPoT0h/
Ru2/F09R2kPoT0h/Ru2/F156OW5ETSjEaSl5hTbrqUodJSUp4itvIrHLGMcq 34EGfHlJdf1J
PmNjOWnUsJSrl50YPw0yIC82ro+tDsdmdpjSyXJO7goa0nBdKtuN3JDJ7sit uBpjRU6IiVH0
npXhrzt4mlre2rkcc0qaBHd4itLpAEr1SadmMLuSG4/WuJIhMcdbW5CQOXaH Pu5+nzV41IZF
wjWKQ61c7haWnVi4MuMqQ86duEKU0CCQFAkgADn3UyNibY9DxLvb7Y5pDSxe nh0tKTpm2lI4
aQTuPD5cjyrPbtMaNnQm5SNG6YZSvOEP6Wt7axg45pLeR3VqmO0dR6TetcCR GgMJm5SWVNhn
ckY3Aq7GTnGcZqrwY6Y8PREa7QZSkobn8aMG1FzBOcFAIUR3HHLI8DTIvXqO 0h9CekP6N234
unqO0h9CekP6N234uqu1a33NDuRZflGJHVdFvQ46GFPqbZ5lCHGgrOzvyMeI pNavUvR9ub8l
JjRo888eIy2vDzIzhZZ3hWCTko5GmRaPUdpD6E9If0btvxdRYt/RybmbanTm lFyEucJWzSkF
SEr/AIJWGdoPoJqU0E0qLZFsl+QW+sLU0h1hUfhpODsShTmdoycZqFJlwtXp Vp5q6tokzibk
w+yUxVDOFvJWVY3HGRg8+X1KZGN4dGDTz7TmndMgx3VMvLGjohQhaTggrDG3 4akVWTo/EqDG
9Tmj1OT0rVG2aZt6kuBIBJ3BrA5Ed5GfCo2yXFy1Najhv2i6yHZV1lOsoREc LbqFYAJXkJwc
Hnk8vPUdI0zeBbtK2cPvMPtRZqXZDR3JYK0ghKlA4AOdvhnnjNMiz27Tmhrg yp+HpfSLrSVq
b3+pm3gEpODglrtDPiMitn1HaQ+hPSH9G7b8XWbRs59+zIjyoC7dIifKHGcF LfZ5AtkrAUk+
iprifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/AK6c T+U/2n/XTIr/
AKjtIfQnpD+jdt+Lp6jtIfQnpD+jdt+LqwcT+U/2n/XTifyn+0/66ZFf9R2k PoT0h/Ru2/F0
9R2kPoT0h/Ru2/F1YOJ/Kf7T/rpxP5T/AGn/AF0yK/6jtIfQnpD+jdt+Lp6j tIfQnpD+jdt+
LqwcT+U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ /Kf7T/rpxP5T
/af9dMiv+o7SH0J6Q/o3bfi6eo7SH0J6Q/o3bfi6sHE/lP8Aaf8AXTifyn+0 /wCumRX/AFHa
Q+hPSH9G7b8XT1HaQ+hPSH9G7b8XVg4n8p/tP+unE/lP9p/10yK/6jtIfQnp D+jdt+Lp6jtI
fQnpD+jdt+LqwcT+U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h /Ru2/F1YOJ/K
f7T/AK6cT+U/2n/XTIr/AKjtIfQnpD+jdt+Lp6jtIfQnpD+jdt+LqwcT+U/2 n/XTifyn+0/6
6ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/rpxP5T/AGn/AF0y IJjSGjkyo4Vo
7R7qVPtoUg6ct+CFKAPrW89xq2/I+6PfpeaM/o/E+LqPSvMiMN+f85Z5b8/9 4n/TP4qy9I+u
2tEiCXdLaovomcTnZYAk8HZt/ZO0Nud3Lz7VeanMbfyPuj36XmjP6PxPi6g9 dWToy0hpeTf5
vRjpqaywtpsR4Omobj7q3HUtIShJQMkqWnlmtXSPS9E1FqKLZk6E13ajJKgJ dytIZjt4SVdt
e84zjA5d5Aqa6YG3nNEFbEaTJLF0tslxuOwt5zhtTmHHCEIBUrCEqOACeVRz HKH9f9FEZhyT
L/ydrtFjNJK3X3tCQkobQBkqUfAAZJNdga0F0dONJcR0e6MKVDIPqfifF1T+ kPV9jvHRvqKy
2226jduE60SYsZs6auCAt1bKkpG5TASnJI5kgDxNdPtwxBaBGOzUzI5Jpi+9 BF70pdtRO6K0
lZmrKtTd1i3PTcRqTCUFFIS42EE5URhITkqPZHaBSI3V8To81J/k637WFg6O rHZy9aJDsYv6
eiR5TWAoJWChJ25A3JUlXcUkGud6w6PdZdLGqbl0lw9Kw7GuEtsW6yXSLteu iWVHJlgkBKlg
bQDyKQlJISA4rrWsL2vUP+TDqG6PWOdY5DtmkB+BMbKHWVgFKgQQCRkEgkDK SDgZxSSHzvao
e16Whxp5s8lNjiDsnz4zkDKT9XwqDsipXWnHny4UtqStZUrA5H+3FTkFyL5f lyRIYIcSlKFJ
dSd2An08jmq1aVPxbuhsrSO2A4lJStJBIyO/Hd5u6vo3mJy9obuLUmUyrhSE 7SlGQjzcj6cY
+7UbaXeqtyBKCXVqSQjBC9hwQef2xy51Lyps1a3Yu5JYdcRlpKBuOcYJJTzx j7gFR1yt7sNj
rSmFtoKjw0g4C8k8zn6hoPExphtIabbPeOKsfwj348/2610hppTrTmQkjds7 kgJ84xzqxaTt
bL8Uuzw6OKrhsgnB3YKicjzAcvDvqDu0dbd06qqO0lI2h4I5lR+7n8VB6Mku XphtlzalK+SQ
DzOMcuVWK5RnTcogajFaXebqkKISME8zzx3Z+GoGTaHkATm5KEhS8BKULHd3 E5Oc1jubshuQ
ywhT7hDfaCQSFA5zyz6KCShtLjXK4JceLSFjcgrBA5Edx+3UNd46UKDIDi1I VkkgI3FQHPPj
nFbMdCpUdxlpCUu8PI3IHPOeRJPL7nmrO+y4GioJM51ptAOxJOV5OeQ58vOf uUHiA41bnGS/
G3IcSQ+1y545Dngc+f1PuVuTLi221ILMN0AgFs4KwAfMT3EfU81QUjriVKcU 0tXMLUFgk5Pg
PQOVTGnBb5DUp6TFeedjJ3BLi8A53fc5D00ESLg7KdcU9IUoBBKd7SVbcd1b 1glJduBS5w32
1KTgL8OWPqk+bnUq7DgjTaZqbYhUlw/LW0OK281HOOfLIGB5s+NRd0iM2u47 orClMhCVrQCS
QckDB+qM8/TQZUMqaRKcUlccFxam9hJKgCc955947u/NYHkMNKjzG5C9pb7T W0gqUP8AHwVp
29xbsxhDsdbsZx0IBWCAAojIyKsNyjQY9sQZLKYZbe2sHer5YjnnkSc8sHPn IoKqwqU3p28q
aLaWVxFpcUs8gNp5d/eeWPTiv6PzWmesPuuuuJ3SHEgJbCu4g+ceev50XVnb pic2yZAaEd1x
SR60nwzy545fcr+i91/f/Zb3/wC7Xl/EPmh18P0lr7Ifs7/4EfpVrTbdaphQ ZDsolGQkpSUE
ZxnmlY8w+5UNrTUkbS1mRcpMKZO4spiI0xEDfEcdecS2gDiKSkdpQ5lQxWqN VraZiG5aeuVp
kTH3WGI8x+JvVsZU7u+VvLBSQhQwnKgQSUhParz3Qm/IVj9luH4Rz4ynkKx+ y3D8I58ZUFpz
WtluWnNOXO4zrfaZV/hMSY0J+YgOKLiEq2IztKyN2OQ5+arPQavkKx+y3D8I 58ZTyFY/Zbh+
Ec+MrNKeTGiuyFglDSCtQHfgDPKq3ofV7mqoMa5NaXvdstsuImXGmTlxeG6h QSUgJafWsEhW
e0kDkckHAIT3kKx+y3D8I58ZTyFY/Zbh+Ec+Mqn3HpO0+xeHIkCTBu0Ri0y7 jIkwrgyrhFhb
KS0cqCATxs5UtIG3n35E5YNY6avt6udltd4hyLlbHlMy4qXU8RBSE7jtzkpB WElQ5BWU94Io
JTyFY/Zbh+Ec+Mp5Csfstw/COfGVtVW9Qa0sti1fY9M3JT7Uu9h3qjuwcEKQ UDapWcpKitIT
ywTyzkjITXkKx+y3D8I58ZTyFY/Zbh+Ec+MqKb1fYki8uTprVsYs88QZMic6 hlouFlp0bVFW
MbXUjng5B5eJkbfeLRcVNJt91gy1OsCQ2GJCFlbROA4MHmnII3d2aJZPIVj9 luH4Rz4ynkKx
+y3D8I58ZUfC1RZpkyc0xNjKjworUtyWJLSmeGsuDOQskAcJWSoAeYnCsfsL VelpsORNh6ls
0mNGbS7IeanNrQ0hRUApSgrCQSlQBP8ABPmNBv8AkKx+y3D8I58ZTyFY/Zbh +Ec+Mqv3HpF0
NARa3ZGqrOI90ecZiSEzG1MrU2kqXlYO0AYAyT3qSO9QqajXuyybu/Z413t7 1yjp3PQ25KFP
NDlzUgHcBzHePGiGbyFY/Zbh+Ec+Mp5Csfstw/COfGVtVE6sv8HTVkXdZ6Xn G0uNsoaZRucd
ccWlDaEgkDKlKA5kDnzIFEtzyFY/Zbh+Ec+Mp5Csfstw/COfGVGxtTRG7K9d b/Ge0wwy7w1i
7vMNY7sHehxSMHOB2u8Gs9y1Lp22W+Pcblf7VChSQCxIkTG223cjI2qUQFcu fKiG35Csfstw
/COfGU8hWP2W4fhHPjK1nNQWFqa1BcvdtRLe4fCYVKQHF8Tdw9qc5O7arGO/ acdxqD1N0g2C
1JDcG42y6TEXGJClRWZ6OJGD8hDJWsDJG0rzggZxjI76JWXyFY/Zbh+Ec+Mp 5Csfstw/COfG
V5s91td5hCbaLlDuMUqKQ9FfS6jcORG5JIyK3KIavkKx+y3D8I58ZTyFY/Zb h+Ec+Mqpau6S
bbpq7XKFKst6lM2qIzMuMyMhlTMZp1S0pUoKcDiv2NZOxCsAVYo+pdOSFPpY v9qdMZtbr4RM
bJaQhRQpSsHsgKSpJJ7iCO8UG35Csfstw/COfGU8hWP2W4fhHPjKjZGrLENL TtSwLjDutuht
LccdhS2VpOwZKd5WEA/+ZQA8SK3F3yyovDVmcu9vRdHUcRuEqSgPrTjOQjO4 jkeYHhQZvIVj
9luH4Rz4ynkKx+y3D8I58ZUJqjXujdNNTlXjUlrjvQWS8/F60gyAnljDWdxJ yMDHPI89Tdpu
Vvu9vauNqnRZ8N7PDkRnUuNrwSDhSSQcEEfVBoMMvTGmpjCo8tEqQyr1zbpW pJ+qC5ivyDpX
S8FgR4TUmKyDkNs7kJz9QOYqRqgt9J8ZVtlXg6S1P5FivvsvXJLUdxtPBcU2 4vhoeL20KQrn
w+4ZxQXTyFY/Zbh+Ec+Mp5Csfstw/COfGVGsaqsrr8sGbHbixYTE5cxyQ0GS y9v2Kzu3JHYJ
yoAHIwTg4ztal047Y131vUFpXaUEhc5Mxsx0kHHNzO0c+XfQbfkKx+y3D8I5 8ZTyFY/Zbh+E
c+MqPTq7SiofXE6nspjFZb4wntbN4b4pTu3YyG+3j+Dz7udZDqbTYuUa2HUF pE6UhK48brjf
FeSoZSUIzlQI5ggUG55Csfstw/COfGU8hWP2W4fhHPjKjzq7SgeWydT2UOto ccWgz2tyUtqK
VqI3cglSVAnwIIPdUnb5sO4wmp1vlsTIrydzT7DgcbcT50qHIj6lEvHkKx+y 3D8I58ZTyFY/
Zbh+Ec+MraqkSekq2R9RP2l6y3pMePdmbQ7cg2yYyZTqW1IQQHOJg8VA3bMZ PfRCzzNMaamR
1RpiJUhheNzbpWtJwcjILmO8A1m8hWP2W4fhHPjKxIvVnWhhaLtAUmQ64wyR IQQ443u4iE8+
ak8Ne4DmNis9xrHaNQ2C8PrYtF8tlwdQ0h5SIstDqktrGULISThJBBB7jRLZ 8hWP2W4fhHPj
KeQrH7LcPwjnxlbVRGq9RW7TVtbm3AvLLz6I0ZhhsuPSHl+tbQkd6jg+gAEk gAmg3fIVj9lu
H4Rz4ynkKx+y3D8I58ZVTuvSCu0wTKumitURCp9iOw2sRFF9x51LSEpUmQUA 7lj1yk4Ga3bR
rSNK1AzYLpZbvYLlJbW7FZuCGimSlGCvY4y44glIIJTuzjnjFEJ/yFY/Zbh+ Ec+Mp5Csfstw
/COfGVUW+kyzrjoufku8jT63wwm+FlvqZJXsCvX8XhlXLiFGzxzjnVov1wl2 2Gh+HY7heXFO
BBYhLYStIwTuJecbTjkByJPMcsZIDAxozR0eaqaxCW1KVnc8hBSs578qDma3 fIVj9luH4Rz4
yqzpLXse/wAGRc3rBdbJao/HS5cLm9EQylbLpacQdj61AhSVcykJ7J58xmad 1PppqyIvjuob
Si1OHaicqa2GFHJGA5naeYPj4UG55Csfstw/COfGU8hWP2W4fhHPjKh7frfS c/VC9NQ7/b3r
qmO1ISwmQkl1DiFLSUc+32E7ztzhJSTyUDVioNXyFY/Zbh+Ec+Mp5Csfstw/ COfGVqXS/Q7d
f7RZpDb/ABrsXkx3EpHDC20bylRzkEpCiMA+tV3eNftfSXp652Ny7Qm5rrSb ybOG9iAtbwWB
uGVY2bTxMkg7BnGeVBa/IVj9luH4Rz4ynkKx+y3D8I58ZURD1rpd63wJcm+W yAqaww+2xJnM
BwB4EtjsrKSVYUAUkhW04JxWt0i66sujbFcZkmbb3blFhOS2La5NQ09JCEk4 SDlWDg8wk0Ss
HkKx+y3D8I58ZTyFY/Zbh+Ec+MrWl6gsUO5xrVNvVti3CUAWIj0pCHnc8htQ TlXPzCsir1Zk
pStV2gJSqX1JJMlABkZxwRz/AGTPLb358KIZfIVj9luH4Rz4ynkKx+y3D8I5 8ZWSNKiyVvIj
SWXlMOcJ4NrCi2vAO1WO44Uk4PPBHnrNRLV8hWP2W4fhHPjK8L05p1x1t1fX VONEltRUslGR
g4PE5cuVaNr1LBuLl+Qw1JSbHLMWTvSkb1hlt3KMHmNriRzxzB+rWG0a005c LRYri5dItvN9
jNSIEaa+20+6HEhQSEbu0rtAEJzzohL+QrH7LcPwjnxlPIVj9luH4Rz4yoC3 a2tTk6+x7rIh
WhFruarehyTLSkSCmM3IUobsYwlxWRzwEE5x3T9quNvu0Fufa58WfEdzw34z yXG14ODhSSQe
dEnkKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj9luH4Rz4ynkKx+y3D8I58Z W1SmRq+QrH7L
cPwjnxlPIVj9luH4Rz4ytqlMjV8hWP2W4fhHPjK8Mac06w0GmOutNgkhKFLS Bk5PIOec5rdp
TI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1SmRpP6d08+yth8zXWnElC0LWspUkj BBBc5g0Z07p9
llDLJmtttpCUIQtYSkDkAAHOQrdpTI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1S mRq+QrH7LcPw
jnxlPIVj9luH4Rz4ytqlMjV8hWP2W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfs tw/COfGV4a05
p1krLXXWy4revapY3K85+WczyHOt2lMjV8hWP2W4fhHPjKeQrH7LcPwjnxlb VKZGr5Csfstw
/COfGU8hWP2W4fhHPjK2qUyNXyFY/Zbh+Ec+Mp5Csfstw/COfGVtUpkavkKx +y3D8I58ZWGH
pjTUOMiNDRKjsIzsbaK0JTk55AOYHOpClBq+QrH7LcPwjnxlPIVj9luH4Rz4 ytqlMjV8hWP2
W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfstw/COfGU8hWP2W4fhHPjK2qUyNXy FY/Zbh+Ec+Mp
5Csfstw/COfGVtUpkRCtGaOXPE9UJapgOQ+UEuA/+biZrd8hWP2W4fhHPjK2 qUyNXyFY/Zbh
+Ec+Mp5Csfstw/COfGVtUpkavkKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj 9luH4Rz4ynkK
x+y3D8I58ZW1SmRq+QrH7LcPwjnxlYXdMaadksyXUSlvsbuC4orKm9wwraeJ kZHfjvqQpQav
kKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1S mRq+QrH7LcPw
jnxlPIVj9luH4Rz4ytqlMjV8hWP2W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfs tw/COfGU8hWP
2W4fhHPjK2qUyNXyFY/Zbh+Ec+Mp5Csfstw/COfGVtUpkavkKx+y3D8I58ZT yFY/Zbh+Ec+M
rapTI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1SmRq+QrH7LcPwjnxlPIVj9luH4 Rz4ytqlMjV8h
WP2W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfstw/COfGU8hWP2W4fhHPjK2qUy NXyFY/Zbh+Ec
+Mp5Csfstw/COfGVtUpkavkKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj9lu H4Rz4ynkKx+y
3D8I58ZW1SmRq+QrH7LcPwjnxlPIVj9luH4Rz4ytqlMjXbslkQ4hwOTSpCgp O5SlDIOQcFzH
fW8pqCoYU68r6rCf0qw0oMoYtwOQt0H7HT+lXoohEYL7/wCBH6VYKVAy8C3f w3fc6f0q9BEI
DAffx9ZH6VYKUGYNwRnDzwz5mE/pVyjpxvsaVorpH03HjuDyZpxuSt9eE8RT /WBtCRnASGQc
557iMDGT1GuHdLP/APmT/wBJ2/8A/wB2pHzFGfRBmgIQThxJ3KV9seFeoyur 3FT3DWlIJJKl
4SR4ZxjPhyr9nRn1GMl8R0FaThTY5qwB3+BP99bLdoTIhuqjyGFBpIUpRSoE d5z3HPLzE19I
8st8tybLQp4vFCVjABK8ehIqZthQ6uPHVIDjZUVLSpW0I5k5JI5n/HjUXbbC 83LYeVMaKeJt
BjLyc4JPPHLkK2pMOAm3uOJBTLCMq4j2NuFEEDAHj56CU1ZOitGLJt6YjiIa tyAVHv8AHuPJ
WR3HNflwipukxq6WtUORKLHy6MmUjek4787sHGQnu81Qb2x21Bpkbz3LTgeu PPly7PM/48Wj
m0NasiIbeBGF5GSSewr0YoNuQ+iKliFLYebDZ+WpOFbDzznmPOefPljv5V6n 292dId8mgLWW
y0UlaUq8+Bk5x9r8VSs2K3qS1tvtOMie0kJcCBgE9+MkZ78keHf9WoXSchz1 VMsOyFPHCglZ
GMjYTigxQYjsUtrWA6XG0JCWVocBGSDzGR/geel7trEKQUIWtsqdStSnBhIz z25A7/HwGPt1
J2tpUJbctLhlONjBWte0NHz9/I/V84qEuZUYshbinUOqfCl8bt7id3Pu5eg+ n00GS3xQHH2p
TiEpUSpKisjPLkQa2bTI8nXJ6IqKytCshxRcVuIGcbufmPhjurE0GlyrarrC ylaO2opG0AAE
+bx8a9utoNwd3tr27lbnt+M9+0E4Pf56DIi6NlKIxjM8AuL2hBX8r5naeefH zmsV3luyZMlU
xlhsKbIStCVZUM5/hec5+39qtFUcSEqBk7GUKOWyo9rzY5cz8FZIz4nMLbS4 YrrLZwMlRUke
B5UGuVqjuwXiypxtpRU2lBwDg5HPB83Opu7zFXKEiE7CcWtSQ40QcrZJByO7 mPRy83mxqw4b
KraEqmlDpSpRSkDAwrHMfUxW29aeo2V0yHAh57tJCEpKz34Jwe4Z8KCNfU03 oy5pEhaltw3U
KTs8+QOeftfbr+h11/f/AGW9/wDu1/Oae6pNhurXWElXVnRs3g8jk196a71D e7Zcup2nRN2v
yeK664/GlxGm0EkAI+WupUVdnJ7OMEYJOQPL+IfNDr4fpKqdPaYTmjYDM+4w 7fHVfLepx2Rc
UQsIRIQ45tdUtBCwhC1Dad3Z7PMVGyGLNqGbplvQt7jahi2afIfnrRfBPcjp dhSW0Fa3HVLw
pagAMnx8AcTfqv1l9Ke/++du/WKeq/WX0p7/AO+du/WK890ucROjfVEezRId xj6gdjTtNW22
y49okW8OR3Y7ZCkLVJBwncdwW0vO7dy7jXfx3VR/VfrL6U9/987d+sU9V+sv pT3/AN87d+sU
Fq1C60xYLi9IeaYZbiuqcddcCEISEElSlEgJAHMknArgfR1MtF16NHuju0XB 6PqSdpxUBLju
rI06Op9LBBDLTcx1SE+uPYbSAkHuwBXUvVfrL6U9/wDfO3frFPVfrL6U9/8A fO3frFBRtX6Y
1fqaPNXH0P5IxoydZ2WlTYxUt9a45bbGxZARhC9pJ8DkJ5Zv+h7ddrRq3VjU y2OiFcrgm4xZ
yXWy2odWjtFop3cQLBaUfW7ceOeVYfVfrL6U9/8AfO3frFPVfrL6U9/987d+ sUyLxXKulZOk
pWvYcLVt+s1sgu6dmsLMq5sx3m3HJEVTLiErUFZBYcUlYGApvvzU76r9ZfSn v/vnbv1inqv1
l9Ke/wDvnbv1igonR25rORpu6zbfMtl+ff1VmZPs0uJIccjohMtB9restIdU ptBUlZykKVhJ
ymvUfReu7dpG2KssExtQxZ1zguuOyGQFQZrzjgkAoIB4aiyvbhJyhYCcEZvP qv1l9Ke/++du
/WKeq/WX0p7/AO+du/WKZFO1xouTa4uoHIceJHsUa22JuOmVKbaakNwpLq3W FqJ7AKChO5WE
kq78ZxisF1vupLzrbU+k7NG3yY9pjMgSI8gOcJ14vFK0qLCnktuAgbykHZk9 4F29V+svpT3/
AN87d+sU9V+svpT3/wB87d+sUyKZatM6xt2oE3p2wXGeGNUqu2xcmGmQ+w9b TGV61aGw4hYy
odkEHslRzW9oHRN7s+p7ci8DUEpNsuE6TGltuwOorEjikqWAkSiohwZSdw3g HJAFWX1X6y+l
Pf8A3zt36xT1X6y+lPf/AHzt36xTIvFQ2tYzczTUqI/p46hYeAQ7bwttJdTk ZILikpyO8ZUO
Y5EGoD1X6y+lPf8A3zt36xT1X6y+lPf/AHzt36xUCmnR2ulWy0zS7ekItN7k SYMDrkV+4Mw1
scNCeI/vZW4hRWQFKOELxvyBWC+3FrR1lsWll3duzR3o81yU3dLla27k2XXS W9wWrghgkug8
JKiAlKQORq8+q/WX0p7/AO+du/WKeq/WX0p7/wC+du/WKnIqPQDbDLQu6oXA eSxpm2WRM2JO
jy+HIjh4PJC2lqxyUyvmRkKRnmCB5h6S1C50Y2PQczR+Dap9v61J6xHVGmtN S21POJG/edyE
qWoLSCTkDcauHqv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv1imRu6Bs020XXV7k mImPHuF863D2
qSQtoxY6CrCT2e22sYODyz4g1a6o/qv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv 1ioFT1GjQa+m
S/va11DZI0YW63NtxJV+Qwlx1Cn3FJej8UbwAtpQDiSO1keNZ7fpC4Teht6J AiwnZMu+OXlL
aH21NXFjyiZDYLiSUkOMhABJxgpBwM4svqv1l9Ke/wDvnbv1inqv1l9Ke/8A vnbv1ipyKN0j
pfY0x0iXS7RU2J7U1rbg2u1yJDKpMp9ttxJUEtqUlS1l1CQlKlHDYz5hJeoi 9ta5mOTU6gmW
6Vf494YdgPQEsIKA2AH+KkSBt2FOG1KCkchgkirP6r9ZfSnv/vnbv1inqv1l 9Ke/++du/WKZ
FWf0nqZOhtbaITp8uvXd25SI14EhngvmQVrbDgKuIHBuDZ7BThIO7FdVskmT MtUeTMtsi2SF
p+WRZC21rbIOMEtqUk92RgnkR3HIFT9V+svpT3/3zt36xT1X6y+lPf8A3zt3 6xQXivnvTfSJ
bbTom5aVjy9PmdImXEszpGpbaIQTIkvLQtW2Qp0gJcBKeHnkR6a6Z6r9ZfSn v/vnbv1inqv1
l9Ke/wDvnbv1igqGnLHebba50zQzsG/QfIVlttvnMyGHkSequvokFvK9nESl WU7yE78DPIio
yfa75pzjagv0RXU4+rm7yEXKfCYMttcEMY3BSWkvNuJ34O1JwMKUeddC9V+s vpT3/wB87d+s
U9V+svpT3/3zt36xTIomhrRN1Rf42pm7KwLWrWsi5qw6242GvJgZS6lXc58v AGUbhuBIJA3V
N9IVp1zdr86GLVIft8G826fCRFXEQ3IZZcaW5vU4oO8fKXAkDYjaB2jzFWD1 X6y+lPf/AHzt
36xT1X6y+lPf/fO3frFMiuWDQlzjq0mqXZI4MLVV1uc4lTStrbvXOA6efaPb YxjKh2c428rl
0WWm4WTSJt9yj9XfFyuDyW96VYbdmPONnKSRzQtJx4ZwcHlWh6r9ZfSnv/vn bv1inqv1l9Ke
/wDvnbv1imULxXzveJNgtOur/qVWp9POXSFqkSG7RK1FHSiSwIzLLh4S3Qhq QhaXClSglWUb
ScEY6h6r9ZfSnv8A75279Yp6r9ZfSnv/AL5279YpCVLsFh1TJd02zHsrTtng 3m63JN0bnsLb
ksS25imFtBKiSk9YQCTg5IIBTlQnOjTR92sM7Q637W3DbtukHIE/YtvsS1Li rKTtPaJLbp3D
IznnzGZj1X6y+lPf/fO3frFPVfrL6U9/987d+sUyheKp/SZZLtcTYbxYmWJV wsVyE1ER5zhp
koLTjS0BWMJVtcJSTyyOffmtf1X6y+lPf/fO3frFPVfrL6U9/wDfO3frFQlF 68c1bqawxmo+
hLpFXCusCcWnpsPivBmU24tKAl4o9alRypSeeB41ty7bfNYawsdxuNhk2C2W XrDoTLkMrkyH
XWVMgAMrWlKEpWsklWSdox3mtn1X6y+lPf8A3zt36xT1X6y+lPf/AHzt36xU iqq03rB3oob6
KnNP7QIybYu9iSz1XqqSE8UI3cXiFses2Y3fvsc67CkbUhI8BjnVI9V+svpT 3/3zt36xT1X6
y+lPf/fO3frFBXH9E6lf6KG7Q2lyLco2o37oGEOslTzXlB19AClBbe4oUlSQ sEbgkKA548v6
UuKNLPSYto1iu9m9LucZ56VbEyo8kxw3xdqFCOWiMpUjmTuUcZNWX1X6y+lP f/fO3frFPVfr
L6U9/wDfO3frFMjDpK3ant+vV3O82tDwutit8eXKhuNhmNKj8cuJKFKC9ii6 NpSFenHfV+qj
+q/WX0p7/wC+du/WKeq/WX0p7/75279YoIz/AChpzMHScKVFvNmt+oIU5uda G7jcGYofWg7H
UpU6pI/Y3Vg/+Yeeue2N3R9m16hmPrrSC9MxbU3IYX5di5XckRepY28TP7CC rcRjKhzzmuq+
q/WX0p7/AO+du/WKeq/WX0p7/wC+du/WKZHPo3RzqUaDvsJ6xtm5v6CttniZ eZKusttvh1oK
3YThRa55CTywTjlJa+0xq1+D0i2mBpYXk6nbS5DnGWw2lrbGQ2GlhagoKSpB UnAKSV8ynmat
/qv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv1imRWtXaS1JJ9W1niWUzBql9hyLd uO0lEEJZabw4
FKDmW1NqWjYlWSr96c1ra16PtSXPU+oOox2za9pvtpWXkj/tgNttoTgnKQOE VFR5Zd7+Rq3e
q/WX0p7/AO+du/WKeq/WX0p7/wC+du/WKZEr0c2uba9KMC6tBq6zHHZ09AWF 7H3llxaNw5EI
3bARywkYqx1R/VfrL6U9/wDfO3frFPVfrL6U9/8AfO3frFQKEDoROotfL1Dr eFbpkm7uGMwz
rJUMKSmMy2d7TUhICg4haTvSFdnB5YqJ03om7XDSkB1qRdbrabppq325/wBT 062ucJ2MlSHE
Fx/cNoXkhTK8hQVy5A11P1X6y+lPf/fO3frFPVfrL6U9/wDfO3frFTkUjUdr ulp6QbfMk2Mz
xO1s7Nhxg61ufbTZtm5O5QSlQW2sgKKeaR3ZBroHRjaLjbWb9OuUPyeu8Xh2 4Nwi4lao6FIb
QEqKCU7lFsrO0kZWeZ761vVfrL6U9/8AfO3frFPVfrL6U9/987d+sUF4pVH9 V+svpT3/AN87
d+sU9V+svpT3/wB87d+sVAvFKo/qv1l9Ke/++du/WKeq/WX0p7/75279YoLx SqP6r9ZfSnv/
AL5279Yp6r9ZfSnv/vnbv1igvFKo/qv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv 1igvFKo/qv1l
9Ke/++du/WKeq/WX0p7/AO+du/WKC8Uqj+q/WX0p7/75279Yp6r9ZfSnv/vn bv1igvFKo/qv
1l9Ke/8Avnbv1inqv1l9Ke/++du/WKC8Uqj+q/WX0p7/AO+du/WKeq/WX0p7 /wC+du/WKC8U
qj+q/WX0p7/75279Yp6r9ZfSnv8A75279YoLxSqP6r9ZfSnv/vnbv1inqv1l 9Ke/++du/WKC
8Uqj+q/WX0p7/wC+du/WKeq/WX0p7/75279YoLxSqP6r9ZfSnv8A75279Yp6 r9ZfSnv/AL52
79YoLxSqP6r9ZfSnv/vnbv1inqv1l9Ke/wDvnbv1igvFKo/qv1l9Ke/++du/ WKeq/WX0p7/7
5279YoLxSqP6r9ZfSnv/AL5279Yp6r9ZfSnv/vnbv1igvFKo/qv1l9Ke/wDv nbv1inqv1l9K
e/8Avnbv1igvFKo/qv1l9Ke/++du/WKeq/WX0p7/AO+du/WKC8Uqj+q/WX0p 7/75279Yp6r9
ZfSnv/vnbv1igvFKo/qv1l9Ke/8Avnbv1inqv1l9Ke/++du/WKC8Uqj+q/WX 0p7/AO+du/WK
eq/WX0p7/wC+du/WKC8Uqj+q/WX0p7/75279Yp6r9ZfSnv8A75279YoLxSqP 6r9ZfSnv/vnb
v1inqv1l9Ke/++du/WKC8Uqj+q/WX0p7/wC+du/WKeq/WX0p7/75279YoLxS qP6r9ZfSnv8A
75279Yp6r9ZfSnv/AL5279YoLxSqP6r9ZfSnv/vnbv1inqv1l9Ke/wDvnbv1 igvFKo/qv1l9
Ke/++du/WKeq/WX0p7/75279YoLxSqP6r9ZfSnv/AL5279Yp6r9ZfSnv/vnb v1igvFKo/qv1
l9Ke/wDvnbv1inqv1l9Ke/8Avnbv1igvFKo/qv1l9Ke/++du/WKeq/WX0p7/ AO+du/WKC8Uq
j+q/WX0p7/75279Yp6r9ZfSnv/vnbv1igvFKo/qv1l9Ke/8Avnbv1inqv1l9 Ke/++du/WKC8
Uqj+q/WX0p7/AO+du/WKzI1LrlbYc+RLfUoPcpd2tqAfqZkDNBcqVTvVJrf6 VN39+7X+s09U
mt/pU3f37tf6zU4FxpVO9Umt/pU3f37tf6zT1Sa3+lTd/fu1/rNMC40qneqT W/0qbv792v8A
WaeqTW/0qbv792v9ZpgXGlU71Sa3+lTd/fu1/rNPVJrf6VN39+7X+s0wLjSq d6pNb/Spu/v3
a/1mnqk1v9Km7+/dr/WaYFxpVO9Umt/pU3f37tf6zT1Sa3+lTd/fu1/rNMC4 0qneqTW/0qbv
792v9Zp6pNb/AEqbv792v9ZpgXGlU71Sa3+lTd/fu1/rNPVJrf6VN39+7X+s 0wLjSqd6pNb/
AEqbv792v9Zp6pNb/Spu/v3a/wBZpgXGuHdLP/8AmT/0nb//APdroHqk1v8A Spu/v3a/1muf
9IsPUTmkulXUV705IsbE/TcaPHbfmRn1LUz1orPyhxYAw6j12M5OO6g+drxw I0GPGQGHJUcB
K1qUoAHAyE+B+35vP3NMtrbgXYOIIy0OylYB7l9x54+rUzqCFb94uDUeMsLG 1xB5ELBAzz/u
7s88moqa5Ngsre2IjF3CSylhJyPDPLKq+keWwPONtQI0mAhxmRHbIUeFuI3K AAUrbjzgfVqQ
uUiJIHHdbUpLiMLLYGTg9wB+oPu1qSXVdSejNNMB9wJKg0yEgqBzjl3nxrO1 DYuTbCBJW1IL
e8pcbIGAeXPJ5n7dBi0/5PkPvuthTT2Nze9WQlQPLPoqTsKXI95hIeeakuOu vFS0rCtmEnln
z/U8xqGLJtURyQ2FPS1O4OACgJxnu5885+190YGL3NhtcRBjoeWorQUsI3DP eckcs/48aDzY
5T1olCbEQX+1wlj96tJwSM+Hhz9H2quptTTuoYF8hIASvf1jt+dBAOPPnkcf c7zUJBiwp9l4
kttporTuCmyhoEg9xAAGeffjPwVrOXC6Q4YNskLaZbThQUAsqIHM88gDv7u/ xoMUV1CGH4yM
kSAg8RIVhRB7iB347/8AGK9lD8ae63KlKW0tIKiRnKueASOY5ZFYbRFDVoE5 1ClKKyiOFJ5b
sd/I8/7/AEV4adeTMU2y4obTtWCgnPL0d3LNB6uEzbAQUQ2QsLLaFIJOM9/M HmTjxrbhPrXa
48eO6zGeVtS6tStpAB5AZ59xx9X4P1bo8jByNAS7hW1JWghWeYBxnn45yfHO K1Lg8lmUWERz
sWQRxWxuScZ8e7+4UGveJKnZj7TqklpvcEgqGVKH776prY03HDNwmNraXs6q pJJ7+eK1Hp6X
XksjDm4hO7aEcz3nOfTmpt1hiI/GnIecS5twWW3hyIGByBB58qD8sDUdh95+ SAGwVhCVBSs9
o+AqaZSbpJ43VHmXW2kBKUoUQkBPJIznPd3D/nVQnB1DgjrdfKnlHtJBPPOc czz76lNLsrF5
DGxx1LAwH+ME43HnlJz4jkBjuoKTeP2lLzt/Yl+tOR3Gv6XyW+NeHGc7d8gp zjOMqxX847qV
RtOyOIshS47iAMd/ZOfx1/SD/wDmD/8AV/8A79eX8Q+arr4fpKLivpkNrcSk hKXXGxnvISsp
z9vGcVlrSs37Tc+yX/zy6inLdrG53yY5abiw1b2HkN8JbqEq/Y0KPewo96v4 X3K4tLT8S23M
R+7TV1PDjOJn9lipUbe7XeorSpLrC5SUxwptbMxtvgLSpsqJ3NnJ2hw7gCNu 5G0E5VE6615p
nQNuhzNYXNcFmSrhIfRBfcbU4BkpJbSsIJGSAo5ICsZ2nHLTW3at9LHyt9v6 K37rRSoTROq7
FrOxJvmnJTsu3LcU22+uK6wHCnkopDiUlQB5bhkZBGcggSE3gquFrZktodYd kqS424kKSsBl
wgEHkeYB+qBXRWuZwpM4jLbpWlZbrpJqww4sxizJdEdKZDa2Wwd5T29wx35z n7datiDbbrTT
bKGP+y4jjqEICAXFcUKUQP3xwMn0DzVOyMTMT0Ui+ZiMJelYZ0huJCflu/sb LanFdoDkkZPM
kAd3iQKrc6buXLWu2KSpTykkOAhaAAkbstpO3OzdzII2cyktkxoisz0XmYha qyRm+NIbazt3
rCc4zjJxVdsVzc4qYklqUVOuDY66sYC1NqWpGFBC8gpVyKB4gBO1bbVlt3zQ jfXU/jFRMTE4
kictOK+mQ2txKSEpdcbGe8hKynP28ZxWWtKzftNz7Jf/ADy6pHSNcrgbrEtL d4hxmnZ8ctMK
tqxIccRh1sNrW6lt4F1LaVbQNgWNxHM0iMq6l4pGZdEpVJjXjUdou5hXO2tX J+fJdcHUpwKE
JShKUtMh0JBUAhSlpUpH79Sd2ShMhr/XmltBQ4szVdwdt8aU4WmnhDfeQVgZ 2lTaFBJIyQDj
OFYzg4jr0KXi8ZhZqVCaJ1XYtZ2JN805Kdl25bim231xXWA4U8lFIcSkqAPL cMjIIzkECA6X
dSKscOBES+7G64talutrKVbEAZSCOYJKk8x4A+eq3vFKzaVdbVjSpN5XqlUn Xuj4OnNPR9V2
gtQ0cBCpDiXUsPJUpI7SV8ircf3nPmeQIOBvQdWwovR96qr2663FitLMx5mO t4jhrKFubG0q
VtykqOBhKck8gTWWlrTeZrauJhnpa82vstGJ6rRSqdoDpO0Tr2ZKi6Su7tyc iNhyQRAkNobB
OEgrW2lOTzwnOThRAwDj96XLzKsmlEvxUPEvSUMrU0SFJSQpRwR3Z2gZ9Na3 tsrMy11dSNOk
3n0XClc86QfJGkJtnl2F5LVxlMtuPQWkEkjaDuWR4KPLCsnJyPR0OqaWpN8x MYmFNHW8SZr6
wVkjN8aQ21nbvWE5xnGTiudWjpn6ObtqlrS9vvct29OyDGEI2iYl1LiSdyVB TQ2bcHcVYCQC
TgA10i3fNCN9dT+MVs3acV9MhtbiUkJS642M95CVlOft4zistaVm/abn2S/+ eXUbrTUMWw2t
52QmQVFpRSGilBVywAFq7KSVFIyc4znGcA6aOjfWvFKRmZRMxHVP0r50sGs9 WWfUqJz9267b
3XQJMR+claAgkZ2FaiUkeGDX0S0sONpcSFAKAI3JKTz84PMfUNdHGcFqcJaI t6kWiej1StW6
zW4ENUh0LIHZG1BV2j3Zx3DNcB1XrDUcnUrl209eZUOKhwlhl2chaVpB71t7 i3g9+AOQOMk8
6twnw7V4qs2r0RNqx1l9EV5kLSzb5sxWSIsdT20fviMcvR399Q+iL0rUGmIV 0caS086jDqUn
cgLHJW1XcRkHuz5u8GpW6fO5efsFf4xXFek0tNbdYSy0pVX1pdIiuje7TZan ISZkWRDhtOo+
WPPlKk7MJJ2nIIweZPmxznTpN7xWPWcK6l4pSbT6LRSqy1HuUBi3NOw5LDjq GExXVvDaygNr
3NrRw924ZRuTkFeAoFAbVss1c2lreJa0YmMTj92tq7Yie5Sq9qK9RIV5i296 9tW8rYceWNzZ
X3pCCQoHAJ38/HB81V+zahgybLvF2VdNjsviNiYhDiFFTvDcyUnsAqRt9aG+ yrtJHZy1+MjS
zG2ZmG9OFtasWz1dBpWGEl9MVsSVJU8B2iOfw4GT6cDPfgdwhtVXGU3cLRYr dIRFm3d8tNvr
SFBtKcbiAe9XMYyMd58MHp3fp3S49S8acTMp+lUVF10vb7yu3x9SXO7SWZaW ZUWS8o8ZIWN4
Qk7woDacowkrBwk/vVTSr3HsOil6gvzz7cGMwH3VpQuW401gc1FpGV4zkqCc AZJyAVHGnEbt
WdPbPTr6Gleupp7omM9srBXmQtLNvmzFZIix1PbR++Ixy9Hf31UNAdJ2idez JUXSV3duTkRs
OSCIEhtDYJwkFa20pyeeE5ycKIGAcWy6fO5efsFf4xXQuy0pXPuk6Lqu6aat lxsbAkRX1F1y
M2wXVJQpPysqSCSvlzICcJJA7WN1TSaW1a6VpxuWikzEz2dBpXFoWtLvYlG3 qbnqciPFoxVs
pAWd3NJBG8E89oSQACnkrHa7TVIvW1rVr6OXR4mmtNor6FKwTZTURniOZJJ2 oQnmpavMPT8A
AJOACahFzIdzcUJ6g0th5K0QHWUOl1A8QMlJJVgHkSkZxgqSsYcVxMcPXdMZ /wDn7y7dHRnV
nCxV5lLSw3EVzUqTIUyB4JCWyvOftYxWrZ47ka3oZdCUkLWoJT3ISVkpT9oE D7VZ7p+xWf7O
d/MGt6W3Vi2MZZ2jbaYen3mWG+I+6hpG5Kdy1ADJIAHPxJIA9JrHDmRJiCuJ KYkJGMqacCgM
pCh3ecEH6hBrV1Crbbk8++THTjz5eQMenOcYwrOcbV52Kimn5C54mIDq1sYQ 6pCypTiSd+zY
Edo4Wkjn3rSQpRVmRM8kLNStSLcYkl/gNLWHNpWEraUjckHBKdwG4c0nlnkt B7lJJjoGrbDO
uyLTElPuzluFsMCI9v3DvBG3ljBznuwc91THPoTyTlasW5W6U4luNPivrUnc lLbyVEjCTkAH
uwtB+ooecVtGqfEcdl223MIK3FqjtOsqS8UlJCB2woIWTzdTzBcJLg9fvPWI nuQuFKjo11j7
GW5CnUOq2oKlMKSgqPIdrG3BO3HPnvb/AIac6l51ZYLPNMK5TVx3wkK2mO4Q Qe4ghOCPqeII
8KmJz0MYTlK/EklCVKbcb3JCtrjZQoAjIylQBB9BGazWyNAmQFh5ALzrriC5 gFacKKRtUQSj
AA9bjnk95Jrn4jia6ERM+rTT0p1GKlY3wwqKqRbZcuWtK2iULawktrWBvHYB Kdu4hQOOz3nB
qu6/15pbQUOLM1XcXbfGlOFpp4Q33kFYGdpU2hQSSMkA4zhWM4OL6WtGrE4h F9OadVmrzKWl
huIrmpUmQpkDwSEtlec/axiobROq7FrOxJvmnJTsu3LcU22+uK6wHCnkopDi UlQB5bhkZBGc
ggS10/YrP9nO/mDWqjLWCHMiTWy7DlMSUDGVNOBYGUhQ5jzpUk/UIPjUfq6Q GrE+xwFvLmJM
VtICcFbgKRuKgUgZ5cwckhISpSgk6KpqxflhCXt0uMkNutBKjlHEUc8lqwS6 gggLBUtHritP
Wab43RVbbyystK07ZIXI4+9aVbHABjHIFCFeBP8ACyPQRgqGFqj4GrbDOuyL TElPuzluFsMC
I9v3DvBG3ljBznuwc91aYUTleWnG3UIW0tLiXACgpOQoHbjHnzvRj/zJ84r9 UQEkkgADJJqr
R4DEaQq5FB4jrSWVv8V1WUjaNxQScJVkeBI35O/iqD6MepKzh1orQgOIKlpK kjcMqACSSPOM
LQf/AHDzivdQ9ud3XRCd6jlp04U5uJ5tnmd6s+uznteuznt8R/HedWWCzzTC uU1cd8JCtpju
EEHuIITgj6niCPCkxicCcpX4kkoSpTbje5IVtcbKFAEZGUqAIPoIzVUu97u8 XWEeGzEdXAIK
FK4JCCflZKiojPZyO0DsAcJOQ26plEZMrZSodudOjPy0yIkiUnibmlNqaSkJ 2c04UpJThSFj
tekkpCXEtycV9qSzxWlZTuUg+dKkkpUk+YgggjwINVi0SmYwy0rC4txyYzAj FAkvpUtKl+tb
QkgKWe7ONyRtHMkjuGVD9NnvEOZKTCVElxXHEraXLnOJcHytIUCA2oDKgpWB gDdyA7q5tXi9
PTvtn+/2a10bWjLLSoe66it9m03Nv13U7HhwC4Ja2WXJHD4ayhagltJUUApJ 3beSRuIABxDa
A6TtE69mSoukru7cnIjYckEQJDaGwThIK1tpTk88Jzk4UQMA46aWi9YtXpLO Yms4lcaVq3WW
YUIvpbDiytDTaCvaFLWsISCcE4yodwUrzJUcAxstVxnqZaUUw2g5vLkWWStQ wrb/AN3g81NH
HMEnGHEqQl6JtEciIynKVoWma7ILkeSlPWGAkqW2PlbqVZ2rTzOM4OU5OPAq SULXpQNW2Gdd
kWmJKfdnLcLYYER7fuHeCNvLGDnPdg57qtE5jMImMJylKUClKUClKUClKUCl KUClKUClKUCl
KUClKUClKUClKUClKUClKUClKUClKUClKUClKUClKUClK9stqeeQ0gZUo4FB njoQ0wqU6kKz
2WkkZBV4kjzCsDri3VlbisqNZp7iVPBts5baGxHp85+2cmtapClKgdYovz6L bD07MbizJMzY
pS1JSCgNOKIyptwDmkfvfDwqaVi1ornGe6t7bazOM4T1Krtltuqk2syrwo3J lqWUvstPoWtb
bbm1eAmOjcnsqy3jcscgR61Ujptb7tmjPPqUeI2laAp0OrCSAQFLAAWfSAPN zxuOV7zTX8HG
eWc+i1MX09/+PVyvSl06TdSWld2j6ys8FlUyUw2wuw8ZSUsyHGgSsPpBJDef WjvqW6t0pfR/
ZP6NH9ZqM6KZ8W39Hrb0x3htqu1ySDtKufXpB8AfMas1tXfHri/xY4DXAekB lzsqQ22pI7JA
OVEKBwTjPiBW86c10ratuVY/nLupvjfFI6yjOrdKX0f2T+jR/WadW6Uvo/sn 9Gj+s1n19fpV
h0Nfb5Cjf53bYjzqESWlcMuIBykkEBQBBB2q+3VEtfSBfpesbbbzcbVcbV17 huXG1xyliWOp
SXVNDetztIU02SUL/fAHHMVjpalNWsXpOYaWrNZxMLp1bpS+j+yf0aP6zTq3 Sl9H9k/o0f1m
vLGvrEuFb5rwlRo06xuXxLrqE4ajIDRUF4UTvw6nkMjkefdnJYtYs3S+xrO7 ZLxbZMqC5PYM
xtoJWyhTaSew4ogkup7JAI55A5Zuh56t0pfR/ZP6NH9Zp1bpS+j+yf0aP6zU hri7qsGjrve0
FIVBiOPjLXEGUpJ9buTu+puT9UVEOdIFsbvL9tVbbsUxrkzbH5YZRwG3nktl vnv3EEuJTyBI
PeACCQz9W6Uvo/sn9Gj+s06t0pfR/ZP6NH9Zr813eL1AuenLXZHbew9d5zkd b0yMt9LaUsOO
5CEuNkklsD13jUd6sZ+nrzNtetFQChm2LubM+A0tCHGkLShaC0pS1BYK0YAU rdu8CKCS6t0p
fR/ZP6NH9Zp1bpS+j+yf0aP6zW/pzULN5kzIarfOts6GG1PRZiUBwIcBKF5Q pSSDtUO/IKSC
BU1UD90FF1Shqc/qXUkS7bVNIYRGtgiJRneVFWXFlR7KcYIA55zkYstaWn/2 jL+utficrdog
qj9P37imsP5pf/JNXiqP0/fuKaw/ml/8k0S+Ob2lPWZIQMnfu2qBOcnPgPgr G880Ix2uZXhJ
UClRAIByMgVozi24ttSklJUohSs+Y4JPKs0ZTzjjsVJCUlYCW+4EZ519K8tt LeZcUlpiXsS4
M7VhY2jx7h+KpLTjTL05bUcp4baNu5xWMkHzebu5f4Ot1O4qnONxWUtuJBUe 0MJRjvJzgfbN
ftgfeiTI8YoUStXbWpW4Zzg93eKDEh9CYiQ6244pMgoO5XIkA8+7z1GRnBIl PSOChOxJXncc
Aeb/AJVP3a4piFDTDcVY35SopO9BOf3x9H3POK82yClxpTankLMlO3Y4vlz/ AHwVz5jl6KCO
YuiGoSIjsdakhJ4Sm1nBJx4cvNit12RblRmlBHDUzlW1QUd4+76e78VY3bHw 7jwOsMpQwndw
ivt5z9zzfdFatsitzro+zIfS1uSpIWXArH2qDJcJZfaiS0PONMNp28JBO0bT ywnP+OVeGJMW
fPdkyPlKBt2pQjvJ5YPPH2/8D0Ex1scKK6lxtkHiADOeXeMpBPw1o22G5Jlh EUuuo3AEIyDj
n3+b++glXesJjlTikMoaXz24WTnuwMDBrBdpLTKpKCxxNywncpWMDaO7zVuy 1LmRVl5xTEji
pCdyCQcfUHd934a0noQkl5t18hxoguL2cicd/wBz/lQYrWEoeggoZSl90ZQs BWRkDlkHGfu1
ZIr6l6ilsBKiltsEqKRgEhPLPePqeg1GMW6NMiobQrL8fKUHmAvxGOeO/wBP 9tQy5dyQl/iz
piXW1YKeKoDvoNh56OXQ+h1R4ju5sYOU+FSejXw1MUhZcCS6hCVFWdx3VpRo 6JkFmfLlNNbX
ShTjm9aieXIDmSf7KsNjtDKH0qStbqmn0OBRICVJyTnwOe/l6KCO15siafci xglazDdLrqUg
KKSlWRyAwMpH1fhr7+//AJg//V//AL9fz3vkhD2nZQlMqExEJ5O5okgfK1HC j9T6vj5+f9Ap
za3bm+02Vha3lJSULKVZKvAjmD6a8v4h81XXw/SUTZv2m59kv/nl1v6YmGBc Lm1KhyOFIkJd
afSUFGOE2nBG7dnKT4VrQW47TBajEltDi0klZV2gs7uZ5ntZ51nrzufo6JiJ 6smrLy5Jtdwt
8S0T31uxnW2HW1MhsLUgpBO5wK8fN5++ovUlktWo7FLsd8gtTrdMb4b7Do5K HeOY5gggEKGC
CAQQQDUhSqUpFZmfWVpnMYYoUaNChsw4cdqNGYbS0yy0gIQ2hIwlKUjkAAAA B3VG6lLrRt8p
tl51EeUVucJtS1BJacTnakEnmpPcPHzVJRHHHmOMttCEqccSjC9xIQtSMnkM ElJ5c+WOdZa2
077LRZS1d0Yc/uFxuS4LrzES7m4KedLahGmgISCstnaCGzyCBjac57Q9casd gkOS73PkmPKb
aMZhCVPx1tbiFPEgbwM43D7tTtK31OJ31mMdWVdHbMTlqXlp5+0TGY+7jOML S3tJB3FJAwQp
J7/9JP1R31Qly7st0KXph9TmRz4Cyc9jGDw0/wChj1uNqfWbP816RSsaX2+j Wa5UfS67m/eI
aVWZ2DFaUpxauGptP7FtAwUo86PD96kbRtCI9/t3zQjfXU/jFYK/FDIIClpz 4oUUqHpBHMH0
iotbdOSIw07N+03Psl/88uozWthjXyLHVOkSWo8BS5SeqtlT4dDakJWggE5S FrIASVFWwgjG
FTcVhqMyGWQoIBJ7SiokkkkknmeZNZarE4LRFoxLntj0Tc7sm2z9dSIU1bbS HX7emKC2t/h4
y4SpSVFOVetABISc4AFW696fs9800/py8Qk3C1yGAw6zIWpZWkYwSsnduBAI XncCAc5GalKV
EREcoV09KunGKsUKNGhQ2YcOO1GjMNpaZZaQEIbQkYSlKRyAAAAA7qrfSPpN GqrWy22WUzIy
yplToO0gjCkk4OAcA5weaRVppVbVi0Yk1dOurSaW6S5fquz641jcIke4wkQ7 fDbSiO0482pl
BSMFZ2qUpSj/AOUeblXQtP2xizWaLbI5yhhGCojBWo81KPpKiT9ut6lVppRS Zt6yx0eFppWm
+ZmZ9ZROltN2HS1uct2nbTEtcR2Q5JW1HbCUqcWcqV+IAdwSEpGEpAG9coMW 5QXYU1lL0d0Y
Wg+P9h9NbFK0mM9XTMRMYlybpB01Ps0qNcLBCnXl+Q4DIU8OKpGxSFJHZQSQ oApO4EY5HI3I
XJdFMvVLt7uDd3sztugOILyUlkoQHMNoASOGgDklRO0AZPMZypfR6Vzxw8Rf dE/2eho8bTR4
OeFrpx68/XMz1/dExdN2GLqmZqiPaYjV6mx0RpM1LYDrjaD2Uk/cye8hCAch CcTtu+aEb66n
8YrBX4oZBAUtOfFCilQ9II5g+kV0OBp2b9pufZL/AOeXWnq3T8TUFolQnstO vMqbS8hRQtOQ
cYUOYwefo+7mUisNRmQyyFBAJPaUVEkkkkk8zzJrLWmlqX0rRak4mBx3SfRJ eo2oGpeoNQCR
AjOhxthh1wqfwcgOE42jzgZz3V2BtCW20toSEoSMJSBgAeYV6pV9fiNTXnN5 yjEMMyKxLZ4U
htK094yPWnzj01xy59D1+e1A6YOpRGtDrqnCFOuLeaBUTtSk8sY7sq5d3dXa awz3+qwZEnZv
4LSnNucZwM4zVtHi9bRrNaTykxDBY7ZFs9rj26GlQaZbSjco7lLIAG5R8Scd 9bF0+dy8/YK/
xisy0ONLLbwQHEHasIVlII78EgZH2hWGXHblR1R3i5wljC0ocUjcPMdpGR6D yrnmZmcyMtVF
FxlR3jAlx77GZiypLgMNMnEjiuqWk7meW0JUk9+7dkdkAhdupWmletLZtXOP /P8A6res2jET
hV+C1eVJYjNXtnhncZMqTLRweRGWw4oblkEgciBkk55JVaKUqdbV8SeUYhGn TZHXKGvkO5ru
cOfbEQnVMNPNLbkuKQCFlByCEq5jZ5vGoOzWjUvU48STDtkJlq5KkrW3IUpw pD5WcAIwQod2
VA4VzAORV1pXFbh6Wtunq66cTetdsFV/WdjlXREGda5Dca7W18SIjjgygnxS rv5HA548B4Zq
wUraYzGHLqUjUrNbOeSrRqO+iZCe03Z7Ci4uJcuE1ratx0g57I3KwScnuA58 /Mb9EYaixWYr
CNjTKEtoT5kgYA+5RDji5bzQbRw2W21KWV9olZXgAY7uweefNyrLUVrFWejw 9dLMxzlE6W03
YdLW5y3adtMS1xHZDklbUdsJSpxZypX4gB3BISkYSkASN0+dy8/YK/xistYp cduVHVHeLnCW
MLShxSNw8x2kZHoPKrN2WqXbY11RbosG96bfuQhsoYbQlcdyP2AE8QBxwEqV jOVJBSDgAdoq
ulK4+L4HT4rG+ZjHZ0aHE20M7YjmrUGxw5cpmS5p2LaW4zgcQkMMh5xxJyk7 myQlAODgHKj3
4Awuy0rE844l+My02hannCk7l7QkJQpZPccnCDgefxFacNwunw1NlFNbWtrW zZtRLfZZJdfv
KESFpBQwgoOWwQMqChzCiR64EEYGMcyatpywvxrxIuc5eVIU6xESSCrhFfJa yBjcQlPIYAyf
PhNkpVq6Fa2mYnr/AD/Hp2V8S2MFYrp+xWf7Od/MGstYnY7bkhp9ZcKmSS2O IrakkEE7c4zg
kZxmtlGO5w0T4S4q3XWgoghbZG5JBBB5ggjIGQQQRyIIJFQc2FdoipLcFpyW H1BaHCpsbRtS
gpVuOM+uO7aoYKiUqO9D9lpVbV3RhMThWtLRZvlBct1iTFjpZLfDkOFS1uEp K1Y/8yVZUSrc
pSlJPaU49YIsWLGnSp7EVluZKbS09ICe2pCf3ufMeWfPtSDyArLSprXbGIJn MlV1dmkW8x1Q
lyJrbaFNFtxSN4CinB3EAEAAg7tyjkntlTiXbFSkxmMIicSqMSPqSVNjplxn 2Gg8h1xxchvb
hKt5G1GV5O4jG84JXuUsbzItDsOG9NiTZERh9+G4XIy3EBXDWRjcPqcj9UJP eBWalRWu1NrZ
fqlKUoqUSpROSSeZNRrsOYI8thiS0WXm3glC2zuCnAr98D3BSv4Pdy9NSNKz 1tDT1oiLxnHN
bT1baedso26uKuDLwTp3hTHGyhqUtLO5pWMJVuCioYPPI58uVetSWS1ajsUu x3yC1Ot0xvhv
sOjkod4ORzBBAIUMEEAgggGpClU4bhacNExWZnPdbV1p1MZhihRo0KGzDhx2 o0ZhtLTLLSAh
DaEjCUpSOQAAAAHdS6fsVn+znfzBo844l+My02hannCk7l7QkJQpZPccnCDg efxFHY7bkhp9
ZcKmSS2OIrakkEE7c4zgkZxmulkwXoKVbXW0sJkJcKUONqbDiVNqUAvKTkEb SrwV/wCVXrTX
rPDnpiPGXbHGHlrUlYdf6wVoAVtyopVkDLnLtZJWSXC4oybbSpiYic45o590 fZUPt9bDyFoy
/wBnd49hAJHaP74K5+JycrzxF7cWLFjTpU9iKy3MlNpaekBPbUhP73PmPLPn 2pB5AVlpSZ5j
xIZakMOMPtIdacSUONrSFJUkjBBB7wR4VU02l2RPRb34SSw3MefdDjILXCWX tuCU7FE8T1vh
uVu5FXWLfSqWpFpiVothoRYLrM1Mlcnedi0qSArmVFJzzUfEL78+uzncVqc2 XYcN6bEmyIjD
78NwuRluICuGsjG4fU5H6oSe8Cs1KvMzKr9UpSlFSiVKJySTzJqPu9uE5CHG nerzGclh8Anb
zBKVAEFSCUpyMg5SlSSlSUqTv0qsxExiUxOOcK5bLVcZAddnyJVvUl0Btlhx pSdqQ3zB2ZAy
hWDyONhw2UtoamrZERAhNxW3HHAjJK3CNyiSSTyAA5k8kgJHcAAABs0qK0iv RM2mWCZGRJbS
CtbbiFb2nWzhbS+YCknz8yMHIIJBBBIMdGtk2RIlyLvNklxx0cIRJ8hpsICE J9YFAJJUFKxz
xuxuPfUxSsdThNHVvF71zML01r0rtrLFFYajMJZZTtQnJ5kkkk5JJPMkkkkn mSSTUdpbTdh0
tbnLdp20xLXEdkOSVtR2wlKnFnKlfiAHcEhKRhKQBLUreIiIxDOZzOZeH2m3 2VMvIC21jCkn
uIqFmWEpdirtz76FJdPHMiW66FNltSTlKyoLOSDzxkqWSSFrSudpS1Yt1TEz DFGYbjtcNvce
ZUpSjlSlHvUT4k+ekWLFjTpU9iKy3MlNpaekBPbUhP73PmPLPn2pB5AVlpUo KUpQKUpQKUpQ
KUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQ K24PyuPJkdxC
NiFek+H3M1qVtv8Ayu3MN9xcJcOPEdwz9w/dqYGpSlKgKib+2/1q0yW4UyY1 Gmlx9uI+lp3Y
WXU5SorR++Un98OWalqUQiLRKt0eItE3o9uMl5Uh9ziuJhOrUlTq1J3KW/uJ CSAc55jvNZtM
R5ETTdsiy0cOQzDabdRkHasIAIyOR557qkaUnnOSOTkHRJEizOj9tqXGZkNi 63JQS62FAHr0
jng+PM1MWuyXCLPc33JaYSW32mwhZU4628sLUlZUCU42hOQSo9+U91WrSWkr Pp2xN2tlc98J
defW4t5A3LddW6vACOSdy1YHMgYBJPMyvk22exy/w6f0KvN5nTtpTzrPWEbY 3Rf1hQtW6Zj3
zSN4sLLiIS7pFXHck8PiKyoEb1cwVnmTzOT56/b/AKcRdp9ikqlcJFpkOPFs N54oXHdZ25z2
ccTOefdjxzV88m2z2OX+HT+hTybbPY5f4dP6FZ0pWkbaxiF5mbTmXFI3Re+i 2iHdL+5dIkfT
r9iYjMxEsKDK+FtVuKz8sAaAJPZJwcJwc+tH2DVFx1V5T1gwXYbFnetgZlxo 6A+HVtFWW23X
QRhrCipQB3DCQAc9p8m2z2OX+HT+hTybbPY5f4dP6FWyq5pe+j/TknTF5s9l tNqsTt0hORFy
olvbQpKVDHMJ27gDzxkVik6G4wuI8qbeu6giXn9r52cDq/yr13Pd1f13LG7u OOfUPJts9jl/
h0/oU8m2z2OX+HT+hQc91np6feZtkn2y5xoEu0S1yWzIhqkNubmVtFJSlxs9 zhOd3eKjJ2gE
3xF1d1VdfKUy4QDbwuPGDDUZkqC8NoKlnJWEqJUpWdqR3DFdV8m2z2OX+HT+ hTybbPY5f4dP
6FBy/T2j51jts1i1ydOW2XILO2TbtPpj5ShWVcRIcIcJSVAHshJUSB4VNTYN +c8o9VvzEfjO
sqh7oIX1ZCdvESe0OJvwrB5bd3jjndvJts9jl/h0/oU8m2z2OX+HT+hQYtP/ ALRl/XWvxOVu
1+MNRozDjUdDw4ikqUXHAruB7sJH8Kv2oCqP0/fuKaw/ml/8k1eKo/T9+4pr D+aX/wAk0S+L
bihCHHWFpWUNAFKyrJ588cx5/wAVYo7i1RwoDe6o8NO3O458O7vr3KStyE3t d3rxtWlQ7WBz
A8fq1rxkKW1wlNKI3bwBkFX1OXOvpXlrnNjLmGZHg9mQFIcfaIwX04wlQJ7w O7HdnPjjMJAt
0ti7InONoDKHEpUeKnKSeXMDmPHvxW3a2noRjLceQQ++jYwAQoDxJ83ZyPDv rI5IbTeXWHY7
MSMtwbtqXCVdrs95Pjig1LvbxLlcFh9CVkpI4pCU45j12ceFSNmjtCZBaWEP PNp27Q4QMbR2
gQMEZxz5fDWF+KyiY+p9xK2WjtysKSoJ78pOO0e7l8NTExIiWZ2db1tpkvgN pJVtKdwzgAj0
d/1eVBr6rRGZvz0nAb2tALCSVKydowR9rwqs2CKty6LbW4jDrZRvGAMnB7ji peM0h+PLbDji
pZb7HEVhRH74pB+1/g1X41vceiiYzvW4HASg4HLPLn/jxoN5FteQ06o5adjk jhbcF0483hSz
QH2mJJ4uwLZw5lW3ZnPfn7de5LyoN4U2046VIaKlgnHaPhgd/hW8HEvwpKUR mXUlCApCcpyA
o+A5934udBoS2ZdvbFtTEUd5DiVp5pKT/pc81tpw47JO/O9IOe88x3476wra U4d3WkKZaSCl
LSV5bSk8hkjJ8ceNaMxuZBSlaSsmQnejYThIwO8ef/HooJO2NBccyGo7iUxp KilwdoK7Jz+P
NRU5TspLjmxLbjiiop5Hx7s1vxluGKlDsl9amiT8rKlZyPDl41+KjcVpiQeL 8sUQ2CSQkfvi
eXf4/wD2NBsaZaZlWYIccKXYz5wgAZOR38yPGpOaifGaVDcfWtxZSQAgHanA GB6O/wC1UO5F
ix3XULU6lnaHysJ55Faz10ak2xoSdwdSpSm1ElQznn+M0Gvf1tN2C4Nx1KCy ysrQ6olSOzzP
rRnIJ8f7K/ot/wDzB/8Aq/8A9+v5wahjvKiTJK43VW+rugBwpQVEN+CTgnwr +j//APMH/wCr
/wD368v4h81XXw/SUHZv2m59kv8A55dYntqpEniuPAJWAAHlIATw/QUjHNZz nwJ3dncxls37
Tc+yX/zy6qurrdKmTnptueVHnwH97KgANwU20pQydvfwxzzjseuGzfH4aOmI i0xEzhI3STco
1xYRbZUfjP5a4MouLGSVdrA5jaQo4ATnapJCQD1awQmnWYjTT8lyU6hIC3lp SlSz5yEgAfaF
c8MNxDcV2+IlyJC5CDw46cK9djh8gAD2E4xt5t4wgN/5tedOrnOWaOu47usk HcVICVFO47So
DHMpwTyTzz2UetFLWmbYmGdb/qmjbgfM1j65I/4l2tF7CpEriuPAJUAMPKQA nh58CkY5rOc+
BO7s7mN6B8zWPrkj/iXapur7dKmTnp1ueVHnwH97KgANwU20pQJO3v4Y55x2 PXDZvj3o0isW
mImcNi/XabbrrEj259DkmUoMmO+HHAncsjiEDBSEq3eAztUnCQFdWtMJp1mI 00/JclOoSAt5
aUpUs+chIAH2hVAtFqkx1Jm3M8e4SJkfdlA+VJDyMIGE8sbBnCR+x9yOGBG6 LU3ieUymdsfp
rOURqV9+OwHWGXn9jS1lptwoKwCndggp7WwrwCoefljiNwku53CPY1T5Sjbp jb2EoW4twLUn
cFDaSncCoOYB29kc+HtPVpLWENu4BuE6ShLjLiuIB60oW0tJzy7ikK9cn1ue zt4rVZtFquxn
ok3yUXxD7MdBSAMp/fnG3GNgxnaQW8nh8MdW6NGlZrumXPqWmJxELhpY3R+3 dfuskKdmYeRG
Q3tRFQQMNglIWo49cV8yrOAkYSN25kiGrClJBUgKKVFJ2lQCuY7hjPPKcfwk euGDTKdmnLYj
Zs2w2ht27cdgcsbU4+ptT9Qd1er6st27eB615k583yxPP0Y785TjGdyMbhz9 btfRovvDguqc
TKijhrUtx6SQlvkSc4WMYy5n1uNi/WbQWNXRk+6XjfLkyh1SMpUdCUslJkq5 HiqKkgjAIACQ
nnuKgknht1T1OXWO6LM3OcRYkLDgGAlSUp/7oetKcFGf3oGwnsFGIt20k0hl FwbbZSyhMoJS
hKNoASy0kADankMYx4YxhGOGiZiZrzhpatKTis5/1/tKz1LTBkKaKgsNKKSk ZOccsYSrn/7T
9Q91RaDJD6QGxwtwwpM51RxnkQMHJwGeWVZ3n1+R1rfvXKzTTt3/AObudnbu z2TyxtVn6m1X
1D3Vz67WO8pnymbVNWiBcnC4+MJVw1KUSsj1xO7iHu3Z389+/wDzpScR0yrW kXnnbCe0rcbl
dLi7GbnoXb4CweOhsqMncCEt71bgUpxncCVHKeZSA47bq5noa4vxbg02xHK+ sFDDkVKE72kh
RUVbuZJSXCtRUSDxM5KlIXJtV+0XYr5e4tyuDTgLav8AOEMnb1lIB2pUfDng bhz25HmIyi8X
nK967ZxHRYqh9U3SdaIzM2PBEuKheZmF4WhvHeAcD0kk4GBnCSpaJjDYAS0y 0w2kBKG2kBCE
JAwAAOQAFaF6cuaYqW7SwyuS6rZxXj8rYGOa1AEFWPBI7zgEpGSIt0RpzG6M w8Q73b5r0dqC
6ZKnmy6Qgc2kAkZcBwUdpJTtPa3BQx2VYkqq0TTzummkSrDxJKgkCbGcUB1v H79PclDoHIAY
SUgI7ICSiyxnUvx23kpcSlxIUEuIKVAEZwUnmD6DzpXPqtqRWJzToxXMkQ1Y UpIKkBRSopO0
qAVzHcMZ55Tj+Ej1wpy9TtuGS71aS3b0haTMMxXZI353IJTtweJkZSQEnkja eq2nUb6Itpck
uHahpxtalfwQHEkqz4Y785TjGdyMbhym4JsDk3iRJD7kcFSeptxCsEk80pUC nYQW+RG3bwzz
QGv816tGIms5c15nLqOl5smZAX1pxt5bTmwPISoB0bUqCsFI59rBwBzByEHK Eyb7rTDC333E
NNNpK1rWoBKUjmSSe4AVWujdEtuzyUTo6I76ZASptCAkJCWm0pHJKRkAAHHc RjDeOEiav1v8
qWp6Dxiype0pcCc7VJUFJPge8DuIUPApOCMNTlM4Xjo0r/qKFbYHHbdDynA6 lpbYC0BSMhW4
lSU8lciNwwAonCULUmu6Im3iXdWZCXZsiG6XG5K3SVtbk7ipSCojbhwgckj1 xSUDbtjw7dih
BF08n3xy6SYa0IajRmChTa1LSgqGw9sAICeW1IU2cqQG2+DeNBNvtaSgtyWX mXEhfYdQUKA3
q25ScbcjBxhAA5BDY7CcMW34tyb1mPCz6p2oedqewxEub7rCcebUUFhuQguF eVDbjPLBQvJO
AnYskgJURMVxdUuFdVrlPPXCO0uUHno0eU04pSnEOOFKVOcJbRSuOvmrdtAG dhZHV+qmnN6z
MejmtqRS0ZTrt7u90vcp60uTnH2FBbTLYOxKMqShLjZUEglW4EK58zkoUg9W v1++Yc/7Gc/J
NaGj7XAgwOuQHJq25yG3QJPZUhOwbU7MDacHxGRyT61KUp3798w5/wBjOfkm uetZrnLo1L1t
P6eiUuPzQk/XVfjNUDU+qGIsiK5cHJcS2P8AFCFNKKFDbyK3O4gEb+QIKQkk 4IWqNf7j80JP
11X4zXItZWCfefJtmQ/Ht7kFDiHHHlbQEZbKCjG3d2W8ggoA4fe3sBi6xnE4 6q6UUm8RfotU
W6ttteVLddDcISTiQ2t3cUAk5OTgoUCFEhQGMKBCQlQj2yucaY0dbbEh63Wq Q9LuElAbkPuK
wGWwQCdqduz1gAAwrKAkbOGBG6PU29M9VbRWLTtnk57r/UcyBdn2mm5KTBaD zJadUhJJQtW5
YylKh2T2VdnCVHIwtbGT1T3KRc2+PMTAaR1dRjMMlS3ippDpSS6gbdxUU7js CUNukncFcHR6
YY6GF+UW1uQkpZCpLhf2NyhvSNnIg7kgblKyjsgcxsDrEZofS8fUSypxEpi0 x0bHVMSNpkSQ
oBSQtKUkpSEAHaEbVbQNqmktx2hp7d17zy9Fta8Witaxzh0/TlyVdrOzPWyh laytK0Id4iQp
Kik4VgEjKT3hJ84ScgertMcjBplhIL75IQpacoQAMqUrmAcDwyM95KUhS07M SPHhxGYkRhqP
HYQltpppAShtCRgJSByAAAAAqM1CVxpEW5BBLTAWh5Q70JUUnd4EAFCTncAM AnbgONxXE2Zz
yhXbVeLfPQG3bxOizSO0l6QU8+1nGdqfZPBB7KuTew9Ws9jlyHVSIUzCpEUg KX3cRJzhRTgE
HkQeQGQeSSFIRyW5aZciWwXWdNYSylSG1oYXktJJSnPLZgpKDnBSE8LPYDY6 pfeiyUubapL6
nm3Ux3BBQpCVALDIxu7kjPPaQEjBSQQjAaa21tkTiFdOt5rula437cuH1uL+ ORWrdpKUFET5
cFOp3lSAoJCErQlWVj1vJfnTyydycFSdqN+3Lh9bi/jkVFargRJMdmW8hzjx nEBt1t1bakJU
4jd2kkHHIHmUgFKVbkFIWnLTxujK1s45IybfYbASJvWLa3ISvY/KuDaEcgsk 8nQceuPIJxz9
ZtPVpjTMyTLguCW4084y5ww80DtdG1KgrmAM9rBxyyDyQcoTTYdvuEJyAiC1 IiKitPNKdltI
cR2ilRICHUFABYGANoG395szFsmgYfk+2SIPf1d1tndw9m7ZHaR3BIx63GPD GMIxw0aXjlJG
3ETnn2SOprp5Fsci6Fjjpj7VKRv25SVAE5wQMAk5OE8uZSMqELe7hLjbBBju TVl9YeQmSvKE
FbgHcvsg4c7RIA2KyU7SY1kuUKLcYTkKY0HWHANyckEEHIII5pUCAQRgggEE EVzpcR+0Xfyw
Zl3uimy6yhIytSyHFBRWpPZSkbAoDI7SCcoDX+atOtbVmM4llqTaJ5dFug3Y G8IjNS48qO+s
oCUvbnGl7VqOc4yDw1jbgEFKsABK0MzSvmlb/rj3/DPVR9L2+PAulufjuTQJ L20olJ4ak7WH
QE7cIweyRjb+8xtARtj3hXzSt/1x7/hnqztExjdGJbRt/pnMMtVaTd4sdCWV mbJkpjh6QhuQ
QW0kKypZUpATk8T+D3K9ZsPVrTXO0WdBlC5KYcdRJYaLraSEY2IAwclGBhsf wdpR+82f5rXN
orM1jLPUmYxhYdM3R2ZPWluQiVCkJceaUd3EZUlYSpCsjzk8jtIKVAAdptmx 1S9F2xFsu7bT
bAaCmZDhbCeTWVMp2DsjGAgD976zGOxw2LpVr55Zjmtp5281b6QrrKs1nYns yH4sZuSFTZDU
YPcJgIWoqUCcJTuCQVHkAeZQMuIw9Gtzud2tc6XcTOKDLAhqlxw0tTHBaKVY CEAgkqOcHmTk
IILTfObnfY0/pFQq5x9LXSQ5dG7Q1FfiLfdaYbmODentqS2vOFEgHcY4JxtX 1fbt0+32jXUJ
Vmi6ZiPGe9aRDt8BKFmOX0tlbi2ySFpEZKUpHLDaioYCurRqaU6cxM+qfGrt xh2WtBch5Tsp
BdSyhlxISQntEbAsklWBg8x5sJV2h21M79VO/XVq1SLgtbbylcZtYQ2jBVuQ 2AcnYO9PeVD1
hO8bN0e2lXMq3nEMkC/pj3LqjyZbsd2SIrTzhSo8bKwoeBIynu2jaQrkkJWh m0Vx+12+cVSL
47PmpuzcfyaH1dULLb6AH1qIUhCdgUykKUkIKQOYRsCY3UrFc494tiLhFS4l la3EJDgAV2Fq
QcgE45pPI8x3EA5ApbMWmJnmmtqzyhjvkO7Sg0bVeE25SN2/fFS8lfcRkEgj BGDg80qUOR2q
TVzP1HZ78luXNvV6jNdlbcexJCXcp5YcCgMglrJxtypz96DwbRfL7abIGlXW YmKl3dsUtCik
7cZyQMDAO45/ehSu5KiOd3d206o1Upq1LsbsiVgNdYdmtOlSW+ZITtSFjaTj IVmLjO5GWN9K
JmOccv2Z6kxE8p5/u6DYL0LuX9tqusJLW3CpsYs8TdkjaCcnkEk5AxuAPaCk plaq2gtPy7Gu
cqTDtkRMjh7G4L77g7O48+IcDAUEDaB2UDuG1CJnUcuXBscyTAjOSZiWyI7S GeKVOHkjKdyc
jcRntJAGSSBzGVojdirSsztzKu3nV0lmXdRbkMvxo6BCiENb1yLkSr5U2N4D qUjG/mjZtVlX
JfDtcFx1yMgSSx1pCUiQllZUlDm0EgE4OOfLIBwRVLsOnpZvLESYmQYluZTI ffcOet3JzBU9
uI+XBAxtJSlKDgAHaA1IaUs1/t9yTKuM8OokMKVJQl9S8P7yQDuGFdlWNyQ1 6wDbs4aGtL1p
jlKKzOeazK+aVv8Arj3/AAz1at/uCrXaXZ6WOPwijcjft7JUATnGBgEnJwOX MpGVDaV80rf9
ce/4Z6tHVMV2ZYpDDDfEd7C0JB5kpWFcu7ny5YKTnGFIOFDntnbOG1cboy5/ eZF1usmRJ9Uz
0BGzdwoanEJaQAoHJUpPhuBJ2nIWTtKSYtzsGpGZrjbEtSGn5Eh1qNhC0pWU ISsoyoevAKuz
nJCFEhJStCKDMhmLHdW/AmRozTe8u9WcbSjG3HbIQEgfK+fZxhP7HsHVpro/ sN0Ve0Xm5R34
7DbZXHSv5UpS1JDeVNgAgbE+tUE/vOyMIbY49C2pNubTiNSkT4dY58nRKqc6 /wBxav7kfg8J
ppQbTHITxHQTniZJCcYScdpIwVZIIWpi2VDagdEeWxI4ZJRHeO5KeYALasA8 v4OfXD1ueW3i
tdu2bTEROGdbRXOYywXS6vwMutOpkCMkuSWXFoQrhAHKgSE4UNijzwMheQkb +r2CuTRG7q3K
vE65R+Ap+EtQUkkBAAOE89m0pCB4pxw89jZiL1mtLxyicKzXbOM5KUpWYUpS gUpSgUpSgUpS
gUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpS gUpSgUpSgUpS
gUpSgUpSg/UjKgB4nFbV1P8AnqkeLaUoP1QMGvFubS5LQFjKE5WoecDmaxPu KdeW6o5KlEk1
KHilKVCSlKUClKUClKUClKUClKUClKUClKUClKUClKUCqP0/fuKaw/ml/wDJ NXiqP0/fuKaw
/ml/8k0HxOhqUsqebjKW4kbVKScgH6g8cVntKdmxbym0qbVlpCiNx8/LzfV9 PmrG5IUgGVxN
y1pASFKzjwIrJ5LfbWlc2S0yraFIQtZ3qHMjkASO7zV9K8tv3Zole/IJWDg5 558+ft99bVtb
ZurDjYUwlMZSStDi1JUQPMR6R3/dxWq8wGo7a5K0KddRhpxtzKVcwDndzBHL z1jsqOpGZxX2
QsbTs3gE4OTy7vEf4FBsXyO68XZUlDbSXFBCQCoFXmOD3eHwVFvuvSAkqbWl mOnCThQJJ5D/
ABy76krjdY8uIqI7HQ4lC9yXEqG5PhzPcfgqLuDrUac8ltt5K1J2q+WAciB3 YH1PGgwhTsae
Xmt5CTzOM8sc6mrZcWY5E51DS23MoUjarCAOeADyJzz+7WqxH2xHiEvOKUpA KzzwMnu5cufL
NZTDlqtclMthBcQflZJGRgdw50Gs489JeLiJKnflmStIIJSBnB+Cttb4O26S XgpwoUgpGSQo
Y5nz9/o7q0IaUtRZIZcKlq7III58s/8APz14hw35MUtNrG1BK1hWBt8OWe/u 89BZG47AtKyV
xHJEptIb2lzGzlnPL+/lURqCIjbGZir4620BCtgPI49b3eGDz7qkmQymytvd YbUpllPZ4qSn
I7/Tyz9TxrHJDCnXXEtuMuPsb1N7x2RjGe7I7h4UEY7FYEdEZ1S0OIQVlQTh IHh3kc+/4azN
yXVPtMIjcNKDtZdVnkO7OfqeYVEyXHW9rCVLQhvO3td+T31YLe1JUFCCDuba bORy7JB557sm
gy3vbHglhLqErbOUq7ypPeQod4yTn6lRjTElb+zY4tLyghKf9HGScHwrbnxz 11LzqUNFTRUs
JI5qGOXoNaT7PCvPBfkKSBkDluwMH6nmFBk1al5Vuur8uO2FEPJaKkcynbyU PgwRX9Cpy3Gr
m+4yUBxDylIK05SCFcsgEZH2xX89tS3V2Tp6V1ttlbnV3QhwtkKwpKsnPLnk kf8A3r+h/wD/
ADB/+r//AH68v4h81XXw/SUZaITyI6meIhxYUt1a+Tae0snxPLmrHfR6wwn3 y+9BtjjpUFFa
y0VEjbg5J7/laPvE+YU08pSrfPUolSi6+SSeZPWayV58Tjo6GBvTdsbSlLds tKAkoICQyMFB
QUn7RbbI82xPmFb3VHf4bH4dH9tYKUmcjMxb3WIjLJeirUC6o7X04G95awOZ HMBQz6a1XrDC
ffL70G2OOlQUVrLRUSNuDknv+Vo+8T5hWSlInAwNaatjSkKbtlpQpG0oKQyC nbsxjzY4beP/
ACJ8wre6o7/DY/Do/trBSkznqEqzsSloXKjwH1N+sLi2lFPaSrlk8uaUn6qQ fAVro0zakbdl
qtCdmNuAyNuNmMfU4bf3ifMK2KVMWmBkYt/V2G2GExGmm0hCEIebSlKQMAAA 8gB4Uftwfb4b
6IjqNwVtW62oZBBBwT3ggEekVjpUDXRpm1o27LXaE7cbcBkYxsxj6nDbx/5E +YVsQrQxBaLU
KPAjNnBKWVtIHJISOQPglKR9QAeFKVM2mRlft/HZWw+mK604koWhbzZSpJGC CCeYNaS9M2te
7fa7QrfndkMndnfnP1eI5n/zq85rYpURMx0HmJY4kR9x+JDt0d1wYcW0ppKl DcVYJB59pSj9
VRPjWz1R3+Gx+HR/bWClEs/VHf4bH4dH9tOqO/w2Pw6P7awUqBn6o7/DY/Do /tp1R3+Gx+HR
/bWCvEdZcQ+VY+VyS0MeYNtq+7lZ+CpGd+3B9vhvoiOo3BW1brahkEEHBPeC AR6RUNdLbpyz
MR3psG0MIdlR4bG1ttRU86600ygBOTzWGhnuG0E4CciVqndKv7T0x/6usv8A x7NTEzCFxhWh
iC0WoUeBGbOCUsraQDhISOQPglKR9QAeFZ1Q3FJKVKjkHkQX0c/hrBSoyMEL TdthPJfhW20x
nUp2pWyGUKAwlOAR4YQgfUSnzCt7qjv8Nj8Oj+2sFeIqy7EbeVgKUp0HHd2X loHwJH280zkx
htdUd/hsfh0f21FahVaGXrbbrz1J1dwlcKEwsJe4jzba3sgDONqWlK3HABA5 5IB3qo+v/wB0
Po4/naX/APs6TTIukZhiLGajRmW2GGkBttttISlCQMBIA5AAcsV4uEdUuBIi oWhCnmlNhS87
QSCMnGTisjziWmVurCylCSohCCpWB5gMkn0DnUVD1RYpiGXY9wStl55LLb3D UG1LVnakLI25
Vgbefa3IxnenLEycoT01aXJj7iDlKnFEHzgmtR+NHfKS/HadKfW70BWOYVyz 6UpP1QPNWWlQ
MUWNGitcKLHaYb5dltASOQCRyHmAA+oAPCstaF6u8CzsNPXBx1tDrgaQUMLc ys5wnCATkkYA
8SQkZJAO/U8+o1JbEB+ZHTJiNPvpBcZUpjeWwlSSVZwdva2c+XPb44rbrE38 1f8A9C7+eYrL
UJKVrdfieVPJfGBmcDrBaAJIb3bQo+AyQQM9+1WO442aIaqbbbkuJcTAipWn G1QZTkY24548
NiPvE+YVmisMRYzUaMy2wwygNtNNpCUoSBgJAHIADlgVkpQeWWti5TxcR8uD KUoGdw2cUknl
jHbHj568vssvt8N9pt1G4K2rSFDIIIOD4ggEekVFXrUlus8sMTipCflZcdC0 YaC+JtUpO7dj
5UrJCSAASeylRTMJIUkKSQQeYI8annA0EWSzI27LRb07cbcRkDGNmMcvDht4 /wDInzCtmFDh
wWi1CisRmzglLLYQDhISOQ8yUpH1AB4VnpSbTIVpu2q2Ovl922w3HVK3lamE lRVlJznHflCP
vE+YVuVozbtb4cpEV+Rh9YTtbShS1HccJGEg8zhRA8QhZ7kKIRn0HqJa7ZEd S7Et0OO4lO1K
mmEpIGEjAIHdhCB9RI8wraS1vlx3i4hCWS4o5zlWWXEADA78rHfjlmvVKTMz 1CtBNlsySkpt
MBJTjbiOjljZjHLw4bf3ifMK36UiZjoNSHbLbCcDkO3xIywnYFNMpQQnCRjI HdhCBj/RT5hW
3SlJnIxtPIccdbRvJaUErOwhOSAcA4wTgg8u7I89ZKxQv2KZ9nK/MMVqT578 eQppqMHcNhYP
yzJJ38sJQrPNKRyye0BjcptLhKQrDMixZrBjzIzMlkqSstuoC07kqCknB5ZC gCPMQDUTcNQd
Stq7i7GR1dh9KJGHu2lCwkoUhOMrUd6OxyJydm/KN8xGfZkx25MZ5t5h1AW2 42oKStJGQoEc
iCOeaYnqjKOh2iwIjO22LZoLUZp1ClsohpS1xEpRsIG3aVJSG8Y5gBPdyqQi Ro8OM3FiMNR2
GkhLbTSAlCEjuAA5AUhfsUz7OV+YYqPTKuzN7lR3o0eTGcSlcFuMcPbUgB0u Fagn1yk42nOD
Vq1m88kWmK85StKitMzJlwhPTJL1veYckLMNUQqI4AOEhzP/AHgIUFAcgRit iyeVfJbPlvqX
X+1xep7uF64427ufrcZz45qLVmuYn0Itlu0pWOTIYjNF2S82y2O9bigkD7Zq IjPRLJStHr3W
H2WbYYkpTqFuBapG1vagpB7SUqycrHLHnrPAkGTHLikBCkuLbWEq3DchZScH AyMpOOQq06do
rumOSsXiZxDKlrfLjvFxCEslxRznKssuIAGB35WO/HLNeqVr3J9cW3SZLbZc Wy0paUAZKiAT
is7WisTM+i8RmcM5AIIIBB7wa/aj7bPblTH2GLhEuLTTaF9YjJwjKisFHrlc xtB7/wB8OVSF
Z6OtXWpF69JWvSaTtkrTuTFvWG35sRp8tqSlsqY4igVLTgJGCclSUHl4gHwF blYpH7LD+zov
59FaqtRNjsqQkJs9vSE424jI5Y2Y8PDho+8T5hUhSoM6ngJQwtxCmkP7C0px 5lIWFKbTkErw
ccVJwOZGCAdyN9oiZRmITlY5DyGG+I5vxuSkBCCpRKiAAAASSSQOVQ2ndUW+ +qQmGhY3pWRu
eZJ7AaKuSVkkfLk4UAUkDcCUrbUuYkfssP7Oi/n0VExMdSJyy0pSoSUqKcvH Ev6bRAj9aW1h
U93ftRFSU5SknB3OKyCEeCTuJGU7pWpmMIKVqzbhDhPRmpT3CVKc4TJUk7VL xySVYwCfAEjJ
5DJrV1BeE2xDLDDBmXKUSmHDSraXSMZUo4OxtOQVLIOMgAFRSlSImTKUpX4g qKElYAVjmAcg
H6tYC++qYuLFt8mWtttLiy0WwEhRUB65Q/gmkVm04gmYiMy2KVixdPaC4ffs fGUhvolQ2ZTY
UEPNpcSFd4BGRmptS1eqItFukstaNyu9utsGZOnyRGiQhmS+4kpbbGASSrGO QIJ8wIzit6qD
04/uIa8+x5P/AAzNVWZvkvdF/wBHlg92Jp8l7ov+jywe7E10W63WLbVRkyg9 /nLyWWyhlSkh
SlBI3KAwnmod5Ho7q/LpebdbHEtzH1IUpBXhLSl7UDvWraDtSP4RwPTUmHO/ kvdF/wBHlg92
Jp8l7ov+jywe7E10O43q2W9SEypJBWguDY2pzCB3rVtB2p/0jgemvabrAXPE FMjc8TgYSraT
t37d2Nu7b2sZzjnQw5z8l7ov+jywe7E0+S90X/R5YPdia6bEksS2y7HXxEBR RuAIBIODg+Iz
4jlWaoMOWfJe6L/o8sHuxNPkvdF/0eWD3Ymup0onDlnyXui/6PLB7sTT5L3R f9Hlg92JrqdK
GHLPkvdF/wBHlg92Jp8l7ov+jywe7E11OlDDlnyXui/6PLB7sTT5L3Rf9Hlg 92JrqdKGHLPk
vdF/0eWD3YmnyXui/wCjywe7E11OlDDlnyXui/6PLB7sTT5L3Rf9Hlg92Jrq dKGHLPkvdF/0
eWD3YmrPpG+2XVtveuOm7pDucNl3guSGHQWw5gK2bjyKgCCQOYBGe8VbKxT/ AJkr+yx+bqUS
0OqO/wANj8Oj+2nVHf4bH4dH9tYKVA1pU+FGvceyuymvKEmM7KaZQoLJabU2 laiU5Awp1A5k
E5OM4ONmqPO/d7s//pef/wAVDq8UClKUClKUClKUClKUClKUClKUG3D+VRH5 I9eMNp9G7OT9
wY+3WpW3K+VwYzaeQcBcV6Tkj/l8JrUqQpSlQFKUoFKUoFKUoFKUoFKUoFKU oFKUoFKUoFKU
oFUfp+/cU1h/NL/5Jq8VR+n79xTWH80v/kmg+OLhGjw5zDS2kFtt9O7skgIy PDJzkejxprAS
G7uHCMIWkcNSgD3d+Ce7n+Ot7UYdlvRpjSAgbMOdkAlOTj7Xfz9IqEj3KUpB ZcKHIyTu2uoC
wjlgYyPgr6V5bdtkg+VWXXiuSjiJS0kq3oGSM8s58O7FbN2jqRdbi69sDSFE LWWeZB7sfiqP
kuPussBzaGm15b2NjBHiQEjHM15n3BcorZ3R20OEBfYKckdxPLwoNWQttK1s qBSErCklAA5f
21kClOXgBbh54BJPhisExTa5SShaRgAKWkHBI8an9G7kXJxDq0uJLRUnAG4j Kee7GQPR3UEg
zMMOelxa5RSlOVLXnasEchgcvE/4NRUiYDBLCQ9u6wOwokBKSP4OPNjxreZt C5FkVPddjpUj
LnDIVuACSRgYPfgnPIVDFp9ccSQrJCSkIBPrvDAIoMSw0qW4w4tbay4VZaRg Dl3cyCKnbUG0
R7sE8Tssp3ApyQM93L/3eNYLGz1q5MpDLzyhuwEYOcDGPPy9BrxqmTscS61E dQp1BS6XVbge
15scu/z/AIqDPabegwA91jawBv5JIIGAo8j9ruNYpcVfDl3AuKcDrRKVodJS Dz7PgeWPGsto
mhemnXJfJpDyWzt5bUZQPT5zWO9iVGjtx4pa6iobmVJJJWSMnKs9/MkY5YPo 5BHht5VobdLT
5UXSkABR8D3c/RUki6rjRFtqacTuUHAFBRUgdx+pnn/gVrRXnG7WiMl1ohKy sBKk+c5x4nBx
Ww6IrDgW06lRlkLJyBgeBHp8aBKlPOzpD7MZSkbEnctK1k9xOO7ny5fV760b yuO3cly1IW4p
xORt5JCtv1Tmtyzx5PWY0BpTynHXSXNoKilOQOf2uf1M1t6ltLVuvierSZux 5O7tNkgHmCkk
csjA+D6tBTr2x/mk9YGxIZURgcj2fDwr+lf/APMH/wCr/wD36/m/qGK3Ftc5 KAtbWx3YSPEJ
Iz9T6tf0blO9Xu7r5Qtzhvle1GNysKzgZIGfqkV5fxD5quvh+ktDTnzNnfXH /wDiah9TxA46
zOUzCmoitOKXCl42OA4ysZyAoY5Egjme7vrK9f7LpTTkmfqi6Q7LHddWlCpk hCApa3itKAc4
KtoJwM8gT4GqxI6U+iKStC5ertKylI9Z1hxp3b9TcDivPh0pa/XdbVmVLtap bBj21qWlhttp
LTaFJyjibxnmBjag55Gtp964IuklQuS+C1f2be2yGkbS2rghRJxk/shIxjn3 kjlUDJ6VuiWS
+X5OsNLSHduwLddaWQnzAkch9SvSOljonbShLesdLNpQ6l5KUOtBIWkJCVYA xkbE4PhtFTmE
LHZpMk3aTEnvSFvlLjzKUFsx+CHAkEYTvChlIIUe88qmKocbpX6Jo3FMbWOl 2FPHLq2nWkqc
557ShzPPz1k+S90X/R5YPdiahK8Uqj/Je6L/AKPLB7sTT5L3Rf8AR5YPdiag XilUf5L3Rf8A
R5YPdiafJe6L/o8sHuxNBeKVR/kvdF/0eWD3YmnyXui/6PLB7sTQXilUf5L3 Rf8AR5YPdiaf
Je6L/o8sHuxNBeKVR/kvdF/0eWD3YmnyXui/6PLB7sTQXilUf5L3Rf8AR5YP diafJe6L/o8s
HuxNBeKVR/kvdF/0eWD3YmnyXui/6PLB7sTQXiteO229FnsvNocbXNWlaFjK VAsMAgg94qn/
ACXui/6PLB7sTXlrpc6Lm0uBOvLD8sdLpzMT3lCE/cwgfDQZbL0bWSFqZ66S j1qA3tXFgOAl
JcJOQ4T65CcAgd6sgHkDuy9K5KoumlHGTq6ynkMD9vs1r/Je6L/o8sHuxNVn pC6Tejy5saea
g60sTymdT2iQ7iagBDSJrSlrJJ5JSkEk+ABPcKnOUOnahjvSrYplkBRLjZW2 V7OKgLBW3u8N
yQR9utXTTak3K9BuC3BiNuR0tx21IKUOFKysAIJSDgNkgE9+TzJquyOlfook tFqTrTTUhokE
tuyG1pOPODyNe2+lzosaYQwzrbTbDKM7W2ZDbaE578JTgUF5rSMOLcNPphTW EPx3lSErQruI
6y79w+II5g86qnyXui/6PLB7sTXlnpc6LmmEMp15YSlJWRmYnPaWpZ+FR+1i oS29F6AtVgus
i6SXBcXkOYt7bqAUspwDxFjuUsEkDwGN3eQE62v/AN0Po4/naX/+zpNPkvdF /wBHlg92Jqv3
bW2kdU9JnR9G07qS2XR9i5y1uNxpCVqSk2+SNxA54zyz6RUzOUOsVxK3LKOj a1y5Qal29m7l
b0baVLeK/WgKClZCtyspHNzeMKez/nHanmm3mVsvNocacSUrQtOUqB5EEHvF akez2iO6h2Pa
4LTiFlaFojpSUqO7JBA5E718/wDSV5zV6X2wrauW9SlKzXVe9pNw15ZYBGGo LTlwX2iklX7G
nHnwVHO3ngkFSUna7aK02rVa2ppmt22GiUTkvJYSF57XPdjP79f36vOa3KtM 5wiIYm/mr/8A
oXfzzFepDzMeO5IkOtsstJK3HHFBKUJAySSeQAHjRptw3BTwbWW0wnEqWB2Q S6yQCfOcH7ho
6028jY62hxOQrCk5GQQQfqggH7VVHN7oq7Q0Q9cPw22UolqfkltexzqriW0B KkqQCBtQkner
AKQVBvkWOkODisKS26psrSQlxGCU5HIjII+6CK8dVi9WbjdWZ4De3Y1sG1O0 gpwO4YIGPNgV
7YaaYZQyy2hpptIShCEgJSByAAHcKva2URGEHpW3amZmS5Gor8mTGbUW4jDL LaS/yB4iyE5S
kZxtByVA88DKp+lKqlzjUTgCnrhd5Ri3hh5CkNoCSmO2hfETtKsApOzdxMpy UkkoKCI2z0eC
8xr+7ElpeZgrhdYZjKPJgKcIQNmBw84XhJCOXhy4bFznWyBOkRZEuK287FXv ZUoetPI/bGQl
WDy3JSrvSkjbq+/ljCNvNXHbXqp7VSS3qTq9jUC678oaLzeCPlSMp7ROeSj3 AHOcDdZFbdx2
ghOeQJycV+UqiWg7eLcIUqWzLYkpioUpxLLyCRgqGOZABylSeZHMEeBqnWKK 7qHVqLwuI11a
Ks9YcVkodfSMBKByzsUlJ3EcihO4bwEsXNFptSIiYiLZCTGStC0tBhIQFIxt ITjGRtTg+GB5
q2YzDMaO3HjMtsstJCG220hKUJAwAAOQAHhVotEROEYmUJqyFqeSqMvTd2bi rK0tutPIRswT
jibikkYzkjxA5cxhU5HYMaO1HVNdnOISA5JcQlBdV4qCUgBI8w5nGMkmvdKq lqXCI/K2cC5y
4O3OeAlo784796Fd3ox31EXqwXKbbXYzepLgVrKdpdQwAghQO7stBWU43DBB yBzHeLFSrV1J
rjHsiaxPVXNeWrVFw0i7D0lqZdmvjaQqPMdjtOodUkesdSpBASrxKACk4IBA KVRnQ5bdfwtL
JkdI+ovKl6lbXFRm47DbUFOOTYU0hO9fPtKyU5ACeQKl3alVylihfsUz7OV+ YYqA1SysTm1q
EbhSwiKkukAcQoeACiWlgA79gKsgle3BClNvWGK24hiQpba0pcmqUgkYChwW RkecZBH1Qa/J
UdiVGcjSmW32HUlDjbiQpK0nkQQeRB81TWcTkmMqihpLsd9uS+xLhSmEraS0 6VsOtKSRn96l
YVsQSBuHawQoqPHnNMPceG4ril3tN4PE38iy2rkeIvlzyO0cg53OZ4i/2Pp6 0RmGmY8VTKGk
bAEPLTvG4q7ZByskqXkqyTxF5zvVndgw2Yba0McUhat6i48twk4AJyok88ZP nJJPMkmZmJhE
Ze4X7FM+zlfmGKrV+sin70pUe4yxLmFDyQ9NW20w00psOIb2DKeICAfT2u9I qzxW3EMSFLbW
lLk1SkEjAUOCyMjzjII+qDUauwwnrhMlzi7cESS2UxpZDrMcoSU5aSR2d2cn zmr6N407bpV1
a7owhLdcYqd1xsjJixI0RDs5iQlxrithCggthSe0sBGN4O1SQEkqwko96n07 qb1BrtGj9Xzb
demMuRbhOQ3KLqsqPDe3oV2DnG5I3Jwk9oApVKw9OW1gumQhVx3SFvtddCXe rhWPlbWR2EDA
wkd1bdkt/ku1swOuzZ3C3fL5jvEdXlRPaVgZxnA9AFW1r0tH6VdOton9SrdD lt1/C0smR0j6
i8qXqVtcVGbjsNtQU45NhTSE718+0rJTkAJ5AqXabm3MK4kmAGFPxni4EPLK UrBQtBG4A49f
nuPdj01u0rGtprOYaWrmMK3NgvyZKF3Mx40udNIQ4w+7hlIYGRlJbUrPBHLk OY78Vu22OfJ0
+0x5imFMLUymXHGVpUtCV8QB3eCoFzPa3AkZIOcVIzIsaYwWJcdmQ0SCUOoC knHoNIcSJCZ4
MOMzGaznY02EJz58Ctr6++m2WddPbbMOZ9F1g6YYerbm/r7XTVyssRwtW9iN AjNmcCkEOuFL
YU2E5xsByVg89oBc6Rdlut2qW4wVh1LCy2UAlQVtOMAJXzz/AKKv/Ke6tqvD 7LUhhxh9pDrT
iShxtaQpKkkYIIPeCPCsInnzaz0VxyDIamz3vVhdsOy+zGjssOlkltJ4QSWl q9aN2BjsnJBO
VK2NNxZiXUSHRDDSWlNFTIUFur3AErBSCFDacg5IJNZF6Xs6ZztxhRUQLg68 XlTI6EB3cU7V
c1AjBHeMYJJV386krdETCiCOl113tLWpbhG5SlKKlE4AHeT3AVpqeHasT6x/ b2YxpzN8y5hq
HTfTK/0oseR+kPquipG5+Rm3xFSYmCMx0bmjv3Z7CznaArduKU8TqUj9lh/Z 0X8+isteFtuO
vw0tNrcUJsdRCRk4DyCT9QAEn0Cs272ap3RvIhzzMks8ZTzXCRuKXA3tWy2o hOXHEnKwtQwo
8lhQKkuBxy41HtWiI3s2u3A7NuN099WdvDxnK+f7EnOe/K853r3TE4iYVmOb HsZjX6JHjpbZ
QuPKdLSCEhSi60pS9oWMncokq2K5qPaRuwvfkfssP7Oi/n0Vgh26PEcStpyY opRsHFmOujG1
CeYWognDaeZ55Kj3rUTsrbcdfhpabW4oTY6iEjJwHkEn6gAJPoFRMph7NVK/ t3C7Xu4Q7NeO
C9Ft6UFtLjiQ0+pxK0kqSNiVbUjkrecLSdgSSHLbWpabdDtUJMOCzwmgpSjl RUpalHKlKUol
SlEkkqJJJOSaQMNkiToqrgudJ4/WJi3WRvUrhtYSEp54A9bnCQAM/vjlapGl KhKu60QxOFts
jkhoGdLHEjqSpReZR2nBhIJx60biUgEpyTkIVH2k3azaghx9QXJx6MthcWG/ uJbdWVpKUuHl
h3CSAVBW4EAEKCuLZ2LdDYuUm5Ns/wCdyUpS66pRUdqR2UjJ7KRknaMDJUcZ JJ26tnlhXAK8
WVNxVqOd5PfiNERGN/HYU5ntu4xhacfDXusDkRtUkyEuymXVICFKYkuNbkgk gHaoZ7z92rad
orOZRes2jELDwtS/x20e4HPjq5tqK26munRxHj6P1F5BvSYrTkWSqO280tQR +xuJWhWEK/hJ
G5JweYBSq0dXV/H7r75P/p17jstx47bDKdrbaQhAznAAwBVtTUi0claUmvVT ehy26/haWTI6
R9ReVL1K2uKjNx2G2oKccmwppCd6+faVkpyAE8gVL1+nH9xDXn2PJ/4Zmr9V K6ZYE+Z0Oaxh
xIUmRJmtPoistNKUt9SmGUJShIGVEq7IAzk8u+smsLfrp0phQm0R5b6uvxnS GIrjuENvIUon
Yk4wMnn345ZrVuS3WLzNuIgzJTFwtjbTARGWVBaS4dik4yjPEHNWAMHOMVbN rnsD/wCBV/ZT
a57A/wDgVf2UFHjQ5lj7MqJJml2yR4aCw0pz5a2FhSDgdkK3g7jgcjk0csUp mzsxYsZ0z4kB
Jed3qCXXkscMJQM43KA2lY5hPIHJyLxtc9gf/Aq/sptc9gf/AAKv7KCJ0wqQ YTrbqXQy07sj
KcY4KlNhCe9GBjCioDkOQH1ala/drnsD/wCBV/ZTa57A/wDgVf2US/KV+7XP YH/wKv7KbXPY
H/wKv7KgflK/drnsD/4FX9lNrnsD/wCBV/ZQflK/drnsD/4FX9lNrnsD/wCB V/ZQflK/drns
D/4FX9lNrnsD/wCBV/ZQflK/drnsD/4FX9lNrnsD/wCBV/ZQflK/drnsD/4F X9lNrnsD/wCB
V/ZQflYp/wAyV/ZY/N1m2uewP/gVf2VXtdas0zpOzsHU99gWYy5R6uma8GlO hKBuKUq5kDIy
RyGR5xUwiUXq7TsHUlsMSWNjqMlh9IyppX/MHxHj6CARi0Rpa3aXtIbbSiTc 5CQZcsp7vHhN
55hAPee9RGTywBC/Je6L/o8sHuxNPkvdF/0eWD3YmmUE793uz/8Apef/AMVD q8Vy6yaq03qn
p0tr+nL5AurbGmZyHjFfS5wyZUMjOO7P/I+auo1CSlKUClKUClKUClKUClKU Cs0NnjyEtk4T
3qPmA5k1hHM4Fbbn+axywP2dz9l8dqfAfV8//wB6kYpj3HkKcAwnuSPMByAr DSlQFKUoFKUo
FKUoFKUoFKUoFKUo
Re: A suggestion for user-friendly typing [message #470215 is a reply to message #470153] Thu, 08 February 2007 21:44 Go to previous messageGo to next message
Nicolas Rouquette is currently offline Nicolas RouquetteFriend
Messages: 157
Registered: July 2009
Senior Member
James,

I can certainly raise a bugzilla issue but where?
The problem isn't specific to UML2; I used UML2
to illustrate the problem itself. A variation
of that problem occurs in, e.g., the use of
the property view for EMF models.

e.g., load org.eclipse.uml2.uml/model/UML.ecore

Towards the top, look at Comment/body.
It has an "EType" property. The list of types
shows things like:

String [java.lang.String]
EString [java.lang.String]
EString [java.lang.String]

Are the last two entries duplicates for the same type
or are their types distinct (e.g., because they come from different
namespaces even though they designate the same datatype, java.lang.String).

Or are the 3 actually the same thing -- java.lang.String
and the duplicates and name variations something inconsequential
w.r.t. EMF?

The point here is that I don't know where is the best place
to log this problem because it is not clear which mechanisms
are implicated in the user-level behavior I've described.

-- Nicolas.

James Bruck wrote:
> Hi Nicolas,
>
> I agree that this is an area that can be improved upon.
> Raise a bugzilla or better yet contribute a patch ;) and it will be looked
> into.
>
> Cheers,
>
> - James.
>
>
> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
> news:eqdrd0$kue$1@utils.eclipse.org...
>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>> the user to choose the type of a typed element (e.g., a property)
>> using a drop-down list of all available types.
>>
>> With primitive types, this list is very confusing because
>> it has many entries with the same suffix (e.g., "String").
>>
>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>> that sometimes help disambiguate which is which but that may not be
>> enough.
>>
>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>> ambiguously designates:
>>
>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>
>> The suggestion I offer involves segmenting the type URI
>> using the registered pathmap aliases to make the URIs
>> precise and user-friendly.
>>
>> Segmenting and grouping types by common prefix or suffix
>> would enable a user to navigate down to the desired
>> type more quickly than the current drop-down list scheme.
>>
>> Grouping from left to right might look like this:
>>
>> pathmap://UML_METAMODELS/
>> |-> UML.metamodel#String
>> |-> Ecore.metamodel#String
>> pathmap://UML_Libraries/
>> |-> UMLPrimitiveTypes.library.uml#String
>> pathmap://MY_LIB/
>> |-> foo.uml#String
>>
>> Let's be democratic. Some users might prefer
>> grouping from right to left
>> to get something like this:
>>
>> String
>> |-> UMLPrimitiveTypesLibrary.uml ...
>> |-> Ecore.metamodel.uml ...
>> |-> foo.uml ...
>>
>>
>> -- Nicolas.
>
>
Re: A suggestion for user-friendly typing [message #470219 is a reply to message #470215] Thu, 08 February 2007 21:56 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33141
Registered: July 2009
Senior Member
Nicolas,

Each model is responsible for its own labels. We've recently added
support (that was contributed) so that you can start to type and the
list of choices is filtered down to entries that match the prefix you've
typed. For this reason, starting the label with the simple name, not a
qualified name or prefixed name, works best. In an Ecore model, it's
possible to refer directly to the Ecore Ecore model at
platform:/plugins/org.eclipse.emf.ecore/model/Ecore.ecore or at the
static instance denoted by the nsURI
http://www.eclipse.org/emf/2002/Ecore. So a model that's showing two
versions of EString must be explicitly referencing
platform:/plugins/org.eclipse.emf.ecore/model/Ecore.ecore, which most
models don't need to do (unless they are literally extending Ecore
itself, which we recommend against). So generally I'd expect to see
duplicates only when different models use the same names. I could see
that adding a "from blah blah blah" suffix would help make this more
clear, so feel free to request that in a bugzilla; I'm not yet sure how
to implement such qualification only in the case of ambiguity since I
think it would be noisy to always do it...


Nicolas Rouquette wrote:
> James,
>
> I can certainly raise a bugzilla issue but where?
> The problem isn't specific to UML2; I used UML2
> to illustrate the problem itself. A variation
> of that problem occurs in, e.g., the use of
> the property view for EMF models.
>
> e.g., load org.eclipse.uml2.uml/model/UML.ecore
>
> Towards the top, look at Comment/body.
> It has an "EType" property. The list of types
> shows things like:
>
> String [java.lang.String]
> EString [java.lang.String]
> EString [java.lang.String]
>
> Are the last two entries duplicates for the same type
> or are their types distinct (e.g., because they come from different
> namespaces even though they designate the same datatype, java.lang.String).
>
> Or are the 3 actually the same thing -- java.lang.String
> and the duplicates and name variations something inconsequential
> w.r.t. EMF?
>
> The point here is that I don't know where is the best place
> to log this problem because it is not clear which mechanisms
> are implicated in the user-level behavior I've described.
>
> -- Nicolas.
>
> James Bruck wrote:
>
>> Hi Nicolas,
>>
>> I agree that this is an area that can be improved upon.
>> Raise a bugzilla or better yet contribute a patch ;) and it will be looked
>> into.
>>
>> Cheers,
>>
>> - James.
>>
>>
>> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
>> news:eqdrd0$kue$1@utils.eclipse.org...
>>
>>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>>> the user to choose the type of a typed element (e.g., a property)
>>> using a drop-down list of all available types.
>>>
>>> With primitive types, this list is very confusing because
>>> it has many entries with the same suffix (e.g., "String").
>>>
>>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>>> that sometimes help disambiguate which is which but that may not be
>>> enough.
>>>
>>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>>> ambiguously designates:
>>>
>>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>>
>>> The suggestion I offer involves segmenting the type URI
>>> using the registered pathmap aliases to make the URIs
>>> precise and user-friendly.
>>>
>>> Segmenting and grouping types by common prefix or suffix
>>> would enable a user to navigate down to the desired
>>> type more quickly than the current drop-down list scheme.
>>>
>>> Grouping from left to right might look like this:
>>>
>>> pathmap://UML_METAMODELS/
>>> |-> UML.metamodel#String
>>> |-> Ecore.metamodel#String
>>> pathmap://UML_Libraries/
>>> |-> UMLPrimitiveTypes.library.uml#String
>>> pathmap://MY_LIB/
>>> |-> foo.uml#String
>>>
>>> Let's be democratic. Some users might prefer
>>> grouping from right to left
>>> to get something like this:
>>>
>>> String
>>> |-> UMLPrimitiveTypesLibrary.uml ...
>>> |-> Ecore.metamodel.uml ...
>>> |-> foo.uml ...
>>>
>>>
>>> -- Nicolas.
>>>
>>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: A suggestion for user-friendly typing [message #470235 is a reply to message #470212] Fri, 09 February 2007 21:44 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Nicolas,

I just tried with the latest bits, and still see the qualified names.
Anyhow, you opened the enhancement request (thanks), so we'll take it from
there.

Kenn

"Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
news:eqg46h$tst$1@utils.eclipse.org...
> Kenn,
>
> I understand your confusion.
>
> With Eclipse 3.2.1 + UML2.0.2, the list shows what you describe.
> However, with Eclispe 3.3M4 + UML2.1M4, the list shows what I described
> (see screenshot).
>
> -- Nicolas.
>
> Kenn Hussey wrote:
>> Nicolas,
>>
>> I'm a little confused... The drop-down list shows a list of qualified
>> names
>> for me, i.e. I see:
>>
>> uml::String (the String primitive type from the UML metamodel)
>> UMLPrimitiveTypes::String (the String primitive type from the UML
>> primitive
>> types library)
>>
>> Are you not seeing the qualified names? Regardless, I agree that this can
>> be
>> improved - ideally it would also enforce visibility rules (for example,
>> you
>> shouldn't be able to select primitive types from the metamodels since
>> they
>> are private)...
>>
>> Kenn
>>
>> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
>> news:eqdrd0$kue$1@utils.eclipse.org...
>>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>>> the user to choose the type of a typed element (e.g., a property)
>>> using a drop-down list of all available types.
>>>
>>> With primitive types, this list is very confusing because
>>> it has many entries with the same suffix (e.g., "String").
>>>
>>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>>> that sometimes help disambiguate which is which but that may not be
>>> enough.
>>>
>>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>>> ambiguously designates:
>>>
>>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>>
>>> The suggestion I offer involves segmenting the type URI
>>> using the registered pathmap aliases to make the URIs
>>> precise and user-friendly.
>>>
>>> Segmenting and grouping types by common prefix or suffix
>>> would enable a user to navigate down to the desired
>>> type more quickly than the current drop-down list scheme.
>>>
>>> Grouping from left to right might look like this:
>>>
>>> pathmap://UML_METAMODELS/
>>> |-> UML.metamodel#String
>>> |-> Ecore.metamodel#String
>>> pathmap://UML_Libraries/
>>> |-> UMLPrimitiveTypes.library.uml#String
>>> pathmap://MY_LIB/
>>> |-> foo.uml#String
>>>
>>> Let's be democratic. Some users might prefer
>>> grouping from right to left
>>> to get something like this:
>>>
>>> String
>>> |-> UMLPrimitiveTypesLibrary.uml ...
>>> |-> Ecore.metamodel.uml ...
>>> |-> foo.uml ...
>>>
>>>
>>> -- Nicolas.
>>
>>
>
>
Re: A suggestion for user-friendly typing [message #583157 is a reply to message #470149] Thu, 08 February 2007 01:37 Go to previous message
james bruck is currently offline james bruckFriend
Messages: 1724
Registered: July 2009
Senior Member
Hi Nicolas,

I agree that this is an area that can be improved upon.
Raise a bugzilla or better yet contribute a patch ;) and it will be looked
into.

Cheers,

- James.


"Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
news:eqdrd0$kue$1@utils.eclipse.org...
> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
> the user to choose the type of a typed element (e.g., a property)
> using a drop-down list of all available types.
>
> With primitive types, this list is very confusing because
> it has many entries with the same suffix (e.g., "String").
>
> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
> that sometimes help disambiguate which is which but that may not be
> enough.
>
> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
> ambiguously designates:
>
> pathmap://UML_METAMODELS/UML.metamodel.uml#String
> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>
> The suggestion I offer involves segmenting the type URI
> using the registered pathmap aliases to make the URIs
> precise and user-friendly.
>
> Segmenting and grouping types by common prefix or suffix
> would enable a user to navigate down to the desired
> type more quickly than the current drop-down list scheme.
>
> Grouping from left to right might look like this:
>
> pathmap://UML_METAMODELS/
> |-> UML.metamodel#String
> |-> Ecore.metamodel#String
> pathmap://UML_Libraries/
> |-> UMLPrimitiveTypes.library.uml#String
> pathmap://MY_LIB/
> |-> foo.uml#String
>
> Let's be democratic. Some users might prefer
> grouping from right to left
> to get something like this:
>
> String
> |-> UMLPrimitiveTypesLibrary.uml ...
> |-> Ecore.metamodel.uml ...
> |-> foo.uml ...
>
>
> -- Nicolas.
Re: A suggestion for user-friendly typing [message #583250 is a reply to message #470149] Thu, 08 February 2007 14:13 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Nicolas,

I'm a little confused... The drop-down list shows a list of qualified names
for me, i.e. I see:

uml::String (the String primitive type from the UML metamodel)
UMLPrimitiveTypes::String (the String primitive type from the UML primitive
types library)

Are you not seeing the qualified names? Regardless, I agree that this can be
improved - ideally it would also enforce visibility rules (for example, you
shouldn't be able to select primitive types from the metamodels since they
are private)...

Kenn

"Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
news:eqdrd0$kue$1@utils.eclipse.org...
> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
> the user to choose the type of a typed element (e.g., a property)
> using a drop-down list of all available types.
>
> With primitive types, this list is very confusing because
> it has many entries with the same suffix (e.g., "String").
>
> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
> that sometimes help disambiguate which is which but that may not be
> enough.
>
> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
> ambiguously designates:
>
> pathmap://UML_METAMODELS/UML.metamodel.uml#String
> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>
> The suggestion I offer involves segmenting the type URI
> using the registered pathmap aliases to make the URIs
> precise and user-friendly.
>
> Segmenting and grouping types by common prefix or suffix
> would enable a user to navigate down to the desired
> type more quickly than the current drop-down list scheme.
>
> Grouping from left to right might look like this:
>
> pathmap://UML_METAMODELS/
> |-> UML.metamodel#String
> |-> Ecore.metamodel#String
> pathmap://UML_Libraries/
> |-> UMLPrimitiveTypes.library.uml#String
> pathmap://MY_LIB/
> |-> foo.uml#String
>
> Let's be democratic. Some users might prefer
> grouping from right to left
> to get something like this:
>
> String
> |-> UMLPrimitiveTypesLibrary.uml ...
> |-> Ecore.metamodel.uml ...
> |-> foo.uml ...
>
>
> -- Nicolas.
Re: A suggestion for user-friendly typing [message #583326 is a reply to message #470167] Thu, 08 February 2007 21:20 Go to previous message
Nicolas Rouquette is currently offline Nicolas RouquetteFriend
Messages: 157
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030109070707090204040805
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Kenn,

I understand your confusion.

With Eclipse 3.2.1 + UML2.0.2, the list shows what you describe.
However, with Eclispe 3.3M4 + UML2.1M4, the list shows what I described
(see screenshot).

-- Nicolas.

Kenn Hussey wrote:
> Nicolas,
>
> I'm a little confused... The drop-down list shows a list of qualified names
> for me, i.e. I see:
>
> uml::String (the String primitive type from the UML metamodel)
> UMLPrimitiveTypes::String (the String primitive type from the UML primitive
> types library)
>
> Are you not seeing the qualified names? Regardless, I agree that this can be
> improved - ideally it would also enforce visibility rules (for example, you
> shouldn't be able to select primitive types from the metamodels since they
> are private)...
>
> Kenn
>
> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
> news:eqdrd0$kue$1@utils.eclipse.org...
>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>> the user to choose the type of a typed element (e.g., a property)
>> using a drop-down list of all available types.
>>
>> With primitive types, this list is very confusing because
>> it has many entries with the same suffix (e.g., "String").
>>
>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>> that sometimes help disambiguate which is which but that may not be
>> enough.
>>
>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>> ambiguously designates:
>>
>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>
>> The suggestion I offer involves segmenting the type URI
>> using the registered pathmap aliases to make the URIs
>> precise and user-friendly.
>>
>> Segmenting and grouping types by common prefix or suffix
>> would enable a user to navigate down to the desired
>> type more quickly than the current drop-down list scheme.
>>
>> Grouping from left to right might look like this:
>>
>> pathmap://UML_METAMODELS/
>> |-> UML.metamodel#String
>> |-> Ecore.metamodel#String
>> pathmap://UML_Libraries/
>> |-> UMLPrimitiveTypes.library.uml#String
>> pathmap://MY_LIB/
>> |-> foo.uml#String
>>
>> Let's be democratic. Some users might prefer
>> grouping from right to left
>> to get something like this:
>>
>> String
>> |-> UMLPrimitiveTypesLibrary.uml ...
>> |-> Ecore.metamodel.uml ...
>> |-> foo.uml ...
>>
>>
>> -- Nicolas.
>
>


--------------030109070707090204040805
Content-Type: image/jpeg;
name="uml21M4-property-types.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="uml21M4-property-types.jpg"

/9j/4AAQSkZJRgABAQEAXQBcAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcH Bw8LCwkMEQ8S
EhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcG Bw4ICA4eFBEU
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4e Hh4eHh7/wAAR
CAMmBTADASIAAhEBAxEB/8QAHQABAAIDAQEBAQAAAAAAAAAAAAUGAwQHAggB Cf/EAGsQAAED
AwICBQMIEg0JBwIDCQECAwQABREGEhMhBxQiMUEVUWEWMlNVlJWh0xcjNTZW V3FzdIGRkpOx
srPS1DM0N0JSVGN1lqLR4fAIJGJmo6S0weIlQ2RydoLjRfEmRIS1wsNGgzhH xGX/xAAaAQEA
AwEBAQAAAAAAAAAAAAAAAQIDBAUG/8QAMhEBAAIBAgQEBQMEAwEBAAAAAAEC EQMSBCExURMU
QbEFMlJhkSJx8EKBodEzYvHB4f/aAAwDAQACEQMRAD8A4VeeAuyTo7YCuDFc UQGyA2eGobcn
BPcOdfcV00D0cRZb6B0eaMAStQSnyBE7gfS3XwrNZuMuy3aU0wramMtThCOS E7TnJxyyAa+8
+ktm4LRJetzKnnm3HMISUgnn/pJUPgr0OKrFtWtZnDHhYzlQmn+hzyyLXI6P 9IxnFOcNK3NP
Q9pVnGM7OVS+pdFaHYeiNxtDaNjhxDilKGnYJJwU49c3j98a5CiNqfUGqW7U 3oudHJdAdlPs
x0obGeatyo/P7Rrvepvlcq3pKsYZdGc48W/SKz4/h9PRmuyev3y0pabZzCne o7SH0J6Q/o3b
fi6eo7SH0J6Q/o3bfi6sHE/lP9p/104n8p/tP+uuDK6v+o7SH0J6Q/o3bfi6 eo7SH0J6Q/o3
bfi6sHE/lP8Aaf8AXTifyn+0/wCumRX/AFHaQ+hPSH9G7b8XT1HaQ+hPSH9G 7b8XVg4n8p/t
P+unE/lP9p/10yK/6jtIfQnpD+jdt+Lp6jtIfQnpD+jdt+LqwcT+U/2n/XTi fyn+0/66ZFf9
R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/AK6cT+U/2n/XTIr/AKjt IfQnpD+jdt+L
p6jtIfQnpD+jdt+LqwcT+U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2k PoT0h/Ru2/F1
YOJ/Kf7T/rpxP5T/AGn/AF0yK/6jtIfQnpD+jdt+Lp6jtIfQnpD+jdt+Lqwc T+U/2n/XTify
n+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/rpxP5T/af9 dMiv+o7SH0J6
Q/o3bfi6eo7SH0J6Q/o3bfi6sHE/lP8Aaf8AXTifyn+0/wCumRX/AFHaQ+hP SH9G7b8XT1Ha
Q+hPSH9G7b8XVg4n8p/tP+unE/lP9p/10yK/6jtIfQnpD+jdt+Lp6jtIfQnp D+jdt+LqwcT+
U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/ AK6cT+U/2n/X
TIos5jozg3F23ytP6UbfZUhLv/4ThFCCsApysM7RkHz1t2ax6HuomGPpDSyO qSnIrnE0zbRl
aMZI+V8xz5GtQ6eN41nqMXB6Y1bnVxFFsYS1L2tjkVE5ISR+9V9Wo56JPZiO yeozFhjV6pqk
IbJWpnn20p3ZUOfePu0zItfqO0h9CekP6N234unqO0h9CekP6N234uqfJauJ 03dHXYcxmO9q
QyJUdWUuPRjtyAN3aycd2c4POpLQ6W5V41P5KcftTDioqWVICNze1ByAlSik fUOcZ8D3MiWu
OmNGwYa5S9G6YeSjHYY0tb3FnJA5JDeT3/crY9R2kPoT0h/Ru2/F1Ha5t1yO iLlG8pTrw86p
koQpDZUMOpJwG8Z5c+YPd4VBautMqRM1hOahSnJIVCXBWgKJKglIUpGFdojG MjOOfdTIsd30
/oS02924T9MaSajNY3rGmLevGSAOSWiTzI8K07fC6N501MJnTmlUSFAlDb+k 4TKlAebeyM/a
qR6UGpEvQtwjxW3ZDyuFtbaytSsOoJwAok8hnurRvD72pbzZEwYE9hEGYmU9 JlMqYCUp/eJ3
qyd3Lu81MiU9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1VbVAuTeq+NPMpqam5 Kc6y3EW5xmTy
CC8HNqUYPcRyxW7Cts9nUz+n+A4LL10XNL2Tw8Yzws7sfsm04znAJpkTvqO0 h9CekP6N234u
tCz2PQ91Ewx9IaWT1SU5Fc4mmbaMrRjJHyvmOfI1CWqBcm9Vh6eZTU1FyU4J LcRbnGZPIILw
c2pRg9xHLFen4N0NjuqERpRZXqVx+SynIXIi7hu2jdlQPLu78d9MyLR6jtIf QnpD+jdt+Lp6
jtIfQnpD+jdt+LqmXyO8xo7VK2I78S0OvxTBjOAtlOFo4hCCrKQTjHL7lbpg uqkakdtFvmxL
e7ZnGVNOoUlT8khXaCVKyo45Z55J8c0yLN6jtIfQnpD+jdt+Lp6jtIfQnpD+ jdt+LqpNacR1
pDarfI4Lmm9zoJXhckEYCu1zWPBJ5jA5cq1p1uuz7Vt8pNS1x1WhtlpfVXJC 4zwHaOxKwUL7
u0R4YxTIu3qO0h9CekP6N234usPqY0P13qXqa0b1nh8Xhepy27tmcbscPuzy qA1BaX7jd33J
MeVLCdMbUOKQob3wpRAI3Ht887ckg+FZdP29bOr7LcptudK3bE0hcgtElEkA bis7spVs7OTj
zUzIsHqO0h9CekP6N234unqO0h9CekP6N234upO6R5cvh9VvUq37M7uBwlb8 4xneVd2PDHfW
eEl1iKhp6c7KcTnLrikhSufiEqA+4KZEL6jtIfQnpD+jdt+Lp6jtIfQnpD+j dt+LqgQ9qX7J
HlxH/LgvyVzJSjkOgKUeSt3aAGO4YGDzGecjebfcnJt2HU5jl9duSXLbOSFF DTGU4HE3bUgJ
3Ag+fxpkW71HaQ+hPSH9G7b8XT1HaQ+hPSH9G7b8XUHe7fcW9Uy7dDZdVbb+ ltUp1BO1kpOH
cndgb0DHM8ya2+kJ9246XvNnhwJ6nI5jBJDRKHQXEK+V4Wd20DngcqZEj6jt IfQnpD+jdt+L
p6jtIfQnpD+jdt+LqCTGk2iTq9MG1PSoqkRlR45UvY+Sghwg7sqPicEk4xUf bIbyompYLzFw
gQpbUdbHUoTiEg9y9rZWTnONyc5IycCmRbfUdpD6E9If0btvxdPUdpD6E9If 0btvxdQVmfuE
TSF4Yb0+2620QGG0Mrj9b3ABRLRVuBA8w545Vj0lLkWSVfZK7VPENaY7sePD hOICjzSvY2pf
I5IJGc4BOBTIsPqO0f8AQnpD+jdt+Lp6jtIfQnpD+jdt+LrRtFrbe1/f7jMi uEJXFVEdcJCS
Q1hRT2wCR3Zycd3KonSEeZb746xAivPNvtOlc+ZEXHfaUeaUqUVYdycd3mpk WT1HaQ+hPSH9
G7b8XT1HaQ+hPSH9G7b8XVY0DBnRbzEcmCXGmoQ6iZ/mjgTIJ5hS3y5tXggE EY78VvawWi/W
u2T+r3RhSFOrTEkW9byVEdnDraVkp86T6SaZEz6jtIfQnpD+jdt+Lry9pLRj LK3ndK6QShCS
pROm7byA5k/sdQl3TcZlp029cbU8m3tFQuFujKU5gbcNdgK3KSMZKfDOOdS1 wMNWl4trtrDk
Ni4PCMhhaS0UoUol3sFeR2As8x4imR7j6U0ZIjtyGtKaRLbiAtJOmrck4IyO RayPt1k9R2kP
oT0h/Ru2/F1ozrU3P6SUPS4q3YbdoSErJPD4geJCc78Egc8Z9OPGoO1QLk3q sPTzKamouSnB
JbiLc4zJ5BBeDm1KMHuI5YpkWr1HaQ+hPSH9G7b8XT1HaQ+hPSH9G7b8XVfj MPwteKlQ4b88
yZiuM7KirbVGScglt/dtUjHcnPca0bzb7k5Nuw6nMcvrtyS5bZyQooaYynA4 m7akBO4EHz+N
Mi3eo7SH0J6Q/o3bfi6eo7R/0J6Q/o3bfi6qOtWLj1jV8dm2TpPlJMNTC2Wy tBDYSFZIUeYI
7uZ8eQqwWi1tu6/v9xmRlkJXFVEdWSEkhrCik7wCR3Z547uVMje9R2kPoT0h /Ru2/F09R2kP
oT0h/Ru2/F1BaOihhxSLnbpfqk4j2bg40pSCSFYUHd23btIGPgrV0FBnRbzE cmCXGmIQ6iZ/
mjgTIJ5hS3y5tXggEEY78UyLP6jtIfQnpD+jdt+LrUm2DQcNTyZGmdIoLMdU lzGmLera2nvP
Jr4O8+AqK0Ow/bdSFqNDfkRn0OF6dLirjyG8ncEqUVAO5OByqUnJcuFp1XNa 3Orejuw46Unc
pSW21JwBuycuKc5c88qZGCz2zo+u69kHS2ml/K+IFOaQhtJKeXMKWyAe8dxr buWmdFwLdJnP
aS0mpqMyt1YRpq2lRCQScDh9/Ko/SUi4eptdsamXoThbQhlMyHwGo7iUYASv Cc4JHeTyH1a1
bVEiJ0hcY7VlnMXtVpebkuuR17n1lOCAvdhZUrmAM/UpkSdvsWipyo4a0Zpt KX4iZSHF6Vtw
QEq7klXDxv8A9HOa3/UdpD6E9If0btvxdVSVFltNPvOx3220aK4ClqSQA4M5 QTu9d/o9/orL
o6KVXrT8q2QpcRtq3kXJ90KQl8ltOwAlWF4PPl3DHmwGRZvUdpD6E9If0btv xdPUdpD6E9If
0btvxdVvSEeZb746xAivPNvtOlc+ZEXHfaUeaUqUVYdycd3mrxoGDOi3mI5M EuNNQh1Ez/NH
AmQTzClvlzavBAIIx34pkTsnT+hI1wiW97TGkUyZm/gI9TFvO7YMq5hrAwPO RWrOt3RzBRPX
K07pJCbeWxKI0rAVsK8be5ntZyO7OPGl4lyJlz01qdq23JMaIqSl9hbR6w2F p2A8MLKsZGeX
gRWjcosy4W/UlwTBlBu4S4XBZcQQ6tLamwpRRuyByJ5juHhTI3p1u6OINqj3 STp/SCIkkpDK
xpeAoq3DI5Bonu9HLxrai6f0JJuEyAzpjSKpMPZx0epi3jbvGU8y1g5HmJqr XvTd4asM+G4y
p+Hb3Am1IbWHFrS4+hRO1KiQUpBHd3E/VqeiT1WjXWpJEqFdFsy+q8FyPEdd SvY1hXNJxyJx
3mmQFv6OfKSbcrTelESFOFpO/SkFKFLHekLLO0n6hrfe0xolmSxGc0tpEOvl QbSNM2452jJ7
muXLz1HSbibxqphq5QLu1EgTB1NKYbhQ66OQeWvOEpBJxg+knwqeir65qyXI LmW4DCYyDv8A
368LX+//AIIa+GmRoW7TGjZ0JuUjRumGUrzhD+lre2sYOOaS3kd1bHqO0h9C ekP6N234uqjY
I9wt0DRct22zl9TE1DzSGzxGy4SEZSVDaD5zgV+aesz8iLo+LcrfIDLQuHWW 1pUkI3KykL5j
APmOM+mmRb/UdpD6E9If0btvxdaGn7Foe92hi5xNIaWQy+CUpd0zbUqGFEcx wz4ioPSlplQ1
aTlmJLbkpdlNylr35Q32whKsq7Ke7A5Dn45qc6PJL9s0tYrVKg3BDz4f3HhE IY2rUr5ZlY2Z
B5ZHOmRv+o7SH0J6Q/o3bfi6eo7SH0J6Q/o3bfi6qOkGLi1N0hDftk5jyaqa mQ6tshtJUlWM
Hd3HI58gc8s1i01p3Dekus2+UguJlIuG7enCcEoS52htSTjAOAc+OaZFkm2P Q8S72+1uaQ0s
Xp4dLSk6ZtpSOGkE7jw+XI8q3/UdpD6E9If0btvxdVjTEK4MzdJB2LKQiIu4 pWVpUA0k+sBJ
PZBHdnGfDNRWi4pft2l3LZCltz2pRclTCFJb6uFL3I3lW055DaMc8+fmyL56 jtH/AEJ6Q/o3
bfi6eo7SH0J6Q/o3bfi6h9O2h5LOpprbC2Lo5PmiE86opICh2VJyoDBP74A5 x3nFaGl7atVz
tLbdslRkJhOtXwyEFCJKlJwASpWHO1k5HgftUyNu2Q9DXFlqRG0JY1Rnngy0 96k7cUr5kbuS
CUpBScqUAO6t2z2PQ91Ewx9IaWT1SU5Fc4mmbaMrRjJHyvmOfI1AWWzvRtH6 VCLa6zLF5ael
gNFKwlKnQFrGcgAEcyByI50mW+7m2z9kV9UY6kffkMKbUrjMnGFbAsFxOeeA efnOKZkW71Ha
Q+hPSH9G7b8XT1HaQ+hPSH9G7b8XWDSEiLZtPq69curRzKXwetpMQICu0G0p cczgc8Z/5Vp6
0ebuciySmQu8WRt9zrjURfHC1bcIJSlZyAc5pkY4dt0LK4vB0Vp5XCuCrevb pS3KwtPeo4bO
Ef6RxUv6jtIfQnpD+jdt+LqowIE1MKMlFumMJGr+sBtSFZQzg4We160d27u/ 0qyXxU93VDc1
qyux3It2b3vsx3VuuxwQCriBeCkj94AcecUyLV6jtIfQnpD+jdt+Lp6jtH/Q npD+jdt+Lqga
v2pb1G1cIj710eno6pJzuSGCtGxAVu82eyATzz4ZFxtFrbd1/qC4zIyyEriq iOrJCSQ1hRSd
4BI7s88d3KmRveo7SH0J6Q/o3bfi6eo7SH0J6Q/o3bfi6qtnVPVrG13I2R22 hT0huYGY7oPa
SdnEcK8ODODuAAHnrW01p3Dekus2+UguJlIuG7enCcEoS52htSTjAOAc+OaZ Fz9R2kPoT0h/
Ru2/F09R2kPoT0h/Ru2/F156OW5ETSjEaSl5hTbrqUodJSUp4itvIrHLGMcq 34EGfHlJdf1J
PmNjOWnUsJSrl50YPw0yIC82ro+tDsdmdpjSyXJO7goa0nBdKtuN3JDJ7sit uBpjRU6IiVH0
npXhrzt4mlre2rkcc0qaBHd4itLpAEr1SadmMLuSG4/WuJIhMcdbW5CQOXaH Pu5+nzV41IZF
wjWKQ61c7haWnVi4MuMqQ86duEKU0CCQFAkgADn3UyNibY9DxLvb7Y5pDSxe nh0tKTpm2lI4
aQTuPD5cjyrPbtMaNnQm5SNG6YZSvOEP6Wt7axg45pLeR3VqmO0dR6TetcCR GgMJm5SWVNhn
ckY3Aq7GTnGcZqrwY6Y8PREa7QZSkobn8aMG1FzBOcFAIUR3HHLI8DTIvXqO 0h9CekP6N234
unqO0h9CekP6N234uqu1a33NDuRZflGJHVdFvQ46GFPqbZ5lCHGgrOzvyMeI pNavUvR9ub8l
JjRo888eIy2vDzIzhZZ3hWCTko5GmRaPUdpD6E9If0btvxdRYt/RybmbanTm lFyEucJWzSkF
SEr/AIJWGdoPoJqU0E0qLZFsl+QW+sLU0h1hUfhpODsShTmdoycZqFJlwtXp Vp5q6tokzibk
w+yUxVDOFvJWVY3HGRg8+X1KZGN4dGDTz7TmndMgx3VMvLGjohQhaTggrDG3 4akVWTo/EqDG
9Tmj1OT0rVG2aZt6kuBIBJ3BrA5Ed5GfCo2yXFy1Najhv2i6yHZV1lOsoREc LbqFYAJXkJwc
Hnk8vPUdI0zeBbtK2cPvMPtRZqXZDR3JYK0ghKlA4AOdvhnnjNMiz27Tmhrg yp+HpfSLrSVq
b3+pm3gEpODglrtDPiMitn1HaQ+hPSH9G7b8XWbRs59+zIjyoC7dIifKHGcF LfZ5AtkrAUk+
iprifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/AK6c T+U/2n/XTIr/
AKjtIfQnpD+jdt+Lp6jtIfQnpD+jdt+LqwcT+U/2n/XTifyn+0/66ZFf9R2k PoT0h/Ru2/F0
9R2kPoT0h/Ru2/F1YOJ/Kf7T/rpxP5T/AGn/AF0yK/6jtIfQnpD+jdt+Lp6j tIfQnpD+jdt+
LqwcT+U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ /Kf7T/rpxP5T
/af9dMiv+o7SH0J6Q/o3bfi6eo7SH0J6Q/o3bfi6sHE/lP8Aaf8AXTifyn+0 /wCumRX/AFHa
Q+hPSH9G7b8XT1HaQ+hPSH9G7b8XVg4n8p/tP+unE/lP9p/10yK/6jtIfQnp D+jdt+Lp6jtI
fQnpD+jdt+LqwcT+U/2n/XTifyn+0/66ZFf9R2kPoT0h/Ru2/F09R2kPoT0h /Ru2/F1YOJ/K
f7T/AK6cT+U/2n/XTIr/AKjtIfQnpD+jdt+Lp6jtIfQnpD+jdt+LqwcT+U/2 n/XTifyn+0/6
6ZFf9R2kPoT0h/Ru2/F09R2kPoT0h/Ru2/F1YOJ/Kf7T/rpxP5T/AGn/AF0y IJjSGjkyo4Vo
7R7qVPtoUg6ct+CFKAPrW89xq2/I+6PfpeaM/o/E+LqPSvMiMN+f85Z5b8/9 4n/TP4qy9I+u
2tEiCXdLaovomcTnZYAk8HZt/ZO0Nud3Lz7VeanMbfyPuj36XmjP6PxPi6g9 dWToy0hpeTf5
vRjpqaywtpsR4Omobj7q3HUtIShJQMkqWnlmtXSPS9E1FqKLZk6E13ajJKgJ dytIZjt4SVdt
e84zjA5d5Aqa6YG3nNEFbEaTJLF0tslxuOwt5zhtTmHHCEIBUrCEqOACeVRz HKH9f9FEZhyT
L/ydrtFjNJK3X3tCQkobQBkqUfAAZJNdga0F0dONJcR0e6MKVDIPqfifF1T+ kPV9jvHRvqKy
2226jduE60SYsZs6auCAt1bKkpG5TASnJI5kgDxNdPtwxBaBGOzUzI5Jpi+9 BF70pdtRO6K0
lZmrKtTd1i3PTcRqTCUFFIS42EE5URhITkqPZHaBSI3V8To81J/k637WFg6O rHZy9aJDsYv6
eiR5TWAoJWChJ25A3JUlXcUkGud6w6PdZdLGqbl0lw9Kw7GuEtsW6yXSLteu iWVHJlgkBKlg
bQDyKQlJISA4rrWsL2vUP+TDqG6PWOdY5DtmkB+BMbKHWVgFKgQQCRkEgkDK SDgZxSSHzvao
e16Whxp5s8lNjiDsnz4zkDKT9XwqDsipXWnHny4UtqStZUrA5H+3FTkFyL5f lyRIYIcSlKFJ
dSd2An08jmq1aVPxbuhsrSO2A4lJStJBIyO/Hd5u6vo3mJy9obuLUmUyrhSE 7SlGQjzcj6cY
+7UbaXeqtyBKCXVqSQjBC9hwQef2xy51Lyps1a3Yu5JYdcRlpKBuOcYJJTzx j7gFR1yt7sNj
rSmFtoKjw0g4C8k8zn6hoPExphtIabbPeOKsfwj348/2610hppTrTmQkjds7 kgJ84xzqxaTt
bL8Uuzw6OKrhsgnB3YKicjzAcvDvqDu0dbd06qqO0lI2h4I5lR+7n8VB6Mku XphtlzalK+SQ
DzOMcuVWK5RnTcogajFaXebqkKISME8zzx3Z+GoGTaHkATm5KEhS8BKULHd3 E5Oc1jubshuQ
ywhT7hDfaCQSFA5zyz6KCShtLjXK4JceLSFjcgrBA5Edx+3UNd46UKDIDi1I VkkgI3FQHPPj
nFbMdCpUdxlpCUu8PI3IHPOeRJPL7nmrO+y4GioJM51ptAOxJOV5OeQ58vOf uUHiA41bnGS/
G3IcSQ+1y545Dngc+f1PuVuTLi221ILMN0AgFs4KwAfMT3EfU81QUjriVKcU 0tXMLUFgk5Pg
PQOVTGnBb5DUp6TFeedjJ3BLi8A53fc5D00ESLg7KdcU9IUoBBKd7SVbcd1b 1glJduBS5w32
1KTgL8OWPqk+bnUq7DgjTaZqbYhUlw/LW0OK281HOOfLIGB5s+NRd0iM2u47 orClMhCVrQCS
QckDB+qM8/TQZUMqaRKcUlccFxam9hJKgCc955947u/NYHkMNKjzG5C9pb7T W0gqUP8AHwVp
29xbsxhDsdbsZx0IBWCAAojIyKsNyjQY9sQZLKYZbe2sHer5YjnnkSc8sHPn IoKqwqU3p28q
aLaWVxFpcUs8gNp5d/eeWPTiv6PzWmesPuuuuJ3SHEgJbCu4g+ceev50XVnb pic2yZAaEd1x
SR60nwzy545fcr+i91/f/Zb3/wC7Xl/EPmh18P0lr7Ifs7/4EfpVrTbdaphQ ZDsolGQkpSUE
ZxnmlY8w+5UNrTUkbS1mRcpMKZO4spiI0xEDfEcdecS2gDiKSkdpQ5lQxWqN VraZiG5aeuVp
kTH3WGI8x+JvVsZU7u+VvLBSQhQwnKgQSUhParz3Qm/IVj9luH4Rz4ynkKx+ y3D8I58ZUFpz
WtluWnNOXO4zrfaZV/hMSY0J+YgOKLiEq2IztKyN2OQ5+arPQavkKx+y3D8I 58ZTyFY/Zbh+
Ec+MrNKeTGiuyFglDSCtQHfgDPKq3ofV7mqoMa5NaXvdstsuImXGmTlxeG6h QSUgJafWsEhW
e0kDkckHAIT3kKx+y3D8I58ZTyFY/Zbh+Ec+Mqn3HpO0+xeHIkCTBu0Ri0y7 jIkwrgyrhFhb
KS0cqCATxs5UtIG3n35E5YNY6avt6udltd4hyLlbHlMy4qXU8RBSE7jtzkpB WElQ5BWU94Io
JTyFY/Zbh+Ec+Mp5Csfstw/COfGVtVW9Qa0sti1fY9M3JT7Uu9h3qjuwcEKQ UDapWcpKitIT
ywTyzkjITXkKx+y3D8I58ZTyFY/Zbh+Ec+MqKb1fYki8uTprVsYs88QZMic6 hlouFlp0bVFW
MbXUjng5B5eJkbfeLRcVNJt91gy1OsCQ2GJCFlbROA4MHmnII3d2aJZPIVj9 luH4Rz4ynkKx
+y3D8I58ZUfC1RZpkyc0xNjKjworUtyWJLSmeGsuDOQskAcJWSoAeYnCsfsL VelpsORNh6ls
0mNGbS7IeanNrQ0hRUApSgrCQSlQBP8ABPmNBv8AkKx+y3D8I58ZTyFY/Zbh +Ec+Mqv3HpF0
NARa3ZGqrOI90ecZiSEzG1MrU2kqXlYO0AYAyT3qSO9QqajXuyybu/Z413t7 1yjp3PQ25KFP
NDlzUgHcBzHePGiGbyFY/Zbh+Ec+Mp5Csfstw/COfGVtVE6sv8HTVkXdZ6Xn G0uNsoaZRucd
ccWlDaEgkDKlKA5kDnzIFEtzyFY/Zbh+Ec+Mp5Csfstw/COfGVGxtTRG7K9d b/Ge0wwy7w1i
7vMNY7sHehxSMHOB2u8Gs9y1Lp22W+Pcblf7VChSQCxIkTG223cjI2qUQFcu fKiG35Csfstw
/COfGU8hWP2W4fhHPjK1nNQWFqa1BcvdtRLe4fCYVKQHF8Tdw9qc5O7arGO/ acdxqD1N0g2C
1JDcG42y6TEXGJClRWZ6OJGD8hDJWsDJG0rzggZxjI76JWXyFY/Zbh+Ec+Mp 5Csfstw/COfG
V5s91td5hCbaLlDuMUqKQ9FfS6jcORG5JIyK3KIavkKx+y3D8I58ZTyFY/Zb h+Ec+Mqpau6S
bbpq7XKFKst6lM2qIzMuMyMhlTMZp1S0pUoKcDiv2NZOxCsAVYo+pdOSFPpY v9qdMZtbr4RM
bJaQhRQpSsHsgKSpJJ7iCO8UG35Csfstw/COfGU8hWP2W4fhHPjKjZGrLENL TtSwLjDutuht
LccdhS2VpOwZKd5WEA/+ZQA8SK3F3yyovDVmcu9vRdHUcRuEqSgPrTjOQjO4 jkeYHhQZvIVj
9luH4Rz4ynkKx+y3D8I58ZUJqjXujdNNTlXjUlrjvQWS8/F60gyAnljDWdxJ yMDHPI89Tdpu
Vvu9vauNqnRZ8N7PDkRnUuNrwSDhSSQcEEfVBoMMvTGmpjCo8tEqQyr1zbpW pJ+qC5ivyDpX
S8FgR4TUmKyDkNs7kJz9QOYqRqgt9J8ZVtlXg6S1P5FivvsvXJLUdxtPBcU2 4vhoeL20KQrn
w+4ZxQXTyFY/Zbh+Ec+Mp5Csfstw/COfGVGsaqsrr8sGbHbixYTE5cxyQ0GS y9v2Kzu3JHYJ
yoAHIwTg4ztal047Y131vUFpXaUEhc5Mxsx0kHHNzO0c+XfQbfkKx+y3D8I5 8ZTyFY/Zbh+E
c+MqPTq7SiofXE6nspjFZb4wntbN4b4pTu3YyG+3j+Dz7udZDqbTYuUa2HUF pE6UhK48brjf
FeSoZSUIzlQI5ggUG55Csfstw/COfGU8hWP2W4fhHPjKjzq7SgeWydT2UOto ccWgz2tyUtqK
VqI3cglSVAnwIIPdUnb5sO4wmp1vlsTIrydzT7DgcbcT50qHIj6lEvHkKx+y 3D8I58ZTyFY/
Zbh+Ec+MraqkSekq2R9RP2l6y3pMePdmbQ7cg2yYyZTqW1IQQHOJg8VA3bMZ PfRCzzNMaamR
1RpiJUhheNzbpWtJwcjILmO8A1m8hWP2W4fhHPjKxIvVnWhhaLtAUmQ64wyR IQQ443u4iE8+
ak8Ne4DmNis9xrHaNQ2C8PrYtF8tlwdQ0h5SIstDqktrGULISThJBBB7jRLZ 8hWP2W4fhHPj
KeQrH7LcPwjnxlbVRGq9RW7TVtbm3AvLLz6I0ZhhsuPSHl+tbQkd6jg+gAEk gAmg3fIVj9lu
H4Rz4ynkKx+y3D8I58ZVTuvSCu0wTKumitURCp9iOw2sRFF9x51LSEpUmQUA 7lj1yk4Ga3bR
rSNK1AzYLpZbvYLlJbW7FZuCGimSlGCvY4y44glIIJTuzjnjFEJ/yFY/Zbh+ Ec+Mp5Csfstw
/COfGVUW+kyzrjoufku8jT63wwm+FlvqZJXsCvX8XhlXLiFGzxzjnVov1wl2 2Gh+HY7heXFO
BBYhLYStIwTuJecbTjkByJPMcsZIDAxozR0eaqaxCW1KVnc8hBSs578qDma3 fIVj9luH4Rz4
yqzpLXse/wAGRc3rBdbJao/HS5cLm9EQylbLpacQdj61AhSVcykJ7J58xmad 1PppqyIvjuob
Si1OHaicqa2GFHJGA5naeYPj4UG55Csfstw/COfGU8hWP2W4fhHPjKh7frfS c/VC9NQ7/b3r
qmO1ISwmQkl1DiFLSUc+32E7ztzhJSTyUDVioNXyFY/Zbh+Ec+Mp5Csfstw/ COfGVqXS/Q7d
f7RZpDb/ABrsXkx3EpHDC20bylRzkEpCiMA+tV3eNftfSXp652Ny7Qm5rrSb ybOG9iAtbwWB
uGVY2bTxMkg7BnGeVBa/IVj9luH4Rz4ynkKx+y3D8I58ZURD1rpd63wJcm+W yAqaww+2xJnM
BwB4EtjsrKSVYUAUkhW04JxWt0i66sujbFcZkmbb3blFhOS2La5NQ09JCEk4 SDlWDg8wk0Ss
HkKx+y3D8I58ZTyFY/Zbh+Ec+MrWl6gsUO5xrVNvVti3CUAWIj0pCHnc8htQ TlXPzCsir1Zk
pStV2gJSqX1JJMlABkZxwRz/AGTPLb358KIZfIVj9luH4Rz4ynkKx+y3D8I5 8ZWSNKiyVvIj
SWXlMOcJ4NrCi2vAO1WO44Uk4PPBHnrNRLV8hWP2W4fhHPjK8L05p1x1t1fX VONEltRUslGR
g4PE5cuVaNr1LBuLl+Qw1JSbHLMWTvSkb1hlt3KMHmNriRzxzB+rWG0a005c LRYri5dItvN9
jNSIEaa+20+6HEhQSEbu0rtAEJzzohL+QrH7LcPwjnxlPIVj9luH4Rz4yoC3 a2tTk6+x7rIh
WhFruarehyTLSkSCmM3IUobsYwlxWRzwEE5x3T9quNvu0Fufa58WfEdzw34z yXG14ODhSSQe
dEnkKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj9luH4Rz4ynkKx+y3D8I58Z W1SmRq+QrH7L
cPwjnxlPIVj9luH4Rz4ytqlMjV8hWP2W4fhHPjK8Mac06w0GmOutNgkhKFLS Bk5PIOec5rdp
TI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1SmRpP6d08+yth8zXWnElC0LWspUkj BBBc5g0Z07p9
llDLJmtttpCUIQtYSkDkAAHOQrdpTI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1S mRq+QrH7LcPw
jnxlPIVj9luH4Rz4ytqlMjV8hWP2W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfs tw/COfGV4a05
p1krLXXWy4revapY3K85+WczyHOt2lMjV8hWP2W4fhHPjKeQrH7LcPwjnxlb VKZGr5Csfstw
/COfGU8hWP2W4fhHPjK2qUyNXyFY/Zbh+Ec+Mp5Csfstw/COfGVtUpkavkKx +y3D8I58ZWGH
pjTUOMiNDRKjsIzsbaK0JTk55AOYHOpClBq+QrH7LcPwjnxlPIVj9luH4Rz4 ytqlMjV8hWP2
W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfstw/COfGU8hWP2W4fhHPjK2qUyNXy FY/Zbh+Ec+Mp
5Csfstw/COfGVtUpkRCtGaOXPE9UJapgOQ+UEuA/+biZrd8hWP2W4fhHPjK2 qUyNXyFY/Zbh
+Ec+Mp5Csfstw/COfGVtUpkavkKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj 9luH4Rz4ynkK
x+y3D8I58ZW1SmRq+QrH7LcPwjnxlYXdMaadksyXUSlvsbuC4orKm9wwraeJ kZHfjvqQpQav
kKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1S mRq+QrH7LcPw
jnxlPIVj9luH4Rz4ytqlMjV8hWP2W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfs tw/COfGU8hWP
2W4fhHPjK2qUyNXyFY/Zbh+Ec+Mp5Csfstw/COfGVtUpkavkKx+y3D8I58ZT yFY/Zbh+Ec+M
rapTI1fIVj9luH4Rz4ynkKx+y3D8I58ZW1SmRq+QrH7LcPwjnxlPIVj9luH4 Rz4ytqlMjV8h
WP2W4fhHPjKeQrH7LcPwjnxlbVKZGr5Csfstw/COfGU8hWP2W4fhHPjK2qUy NXyFY/Zbh+Ec
+Mp5Csfstw/COfGVtUpkavkKx+y3D8I58ZTyFY/Zbh+Ec+MrapTI1fIVj9lu H4Rz4ynkKx+y
3D8I58ZW1SmRq+QrH7LcPwjnxlPIVj9luH4Rz4ytqlMjXbslkQ4hwOTSpCgp O5SlDIOQcFzH
fW8pqCoYU68r6rCf0qw0oMoYtwOQt0H7HT+lXoohEYL7/wCBH6VYKVAy8C3f w3fc6f0q9BEI
DAffx9ZH6VYKUGYNwRnDzwz5mE/pVyjpxvsaVorpH03HjuDyZpxuSt9eE8RT /WBtCRnASGQc
557iMDGT1GuHdLP/APmT/wBJ2/8A/wB2pHzFGfRBmgIQThxJ3KV9seFeoyur 3FT3DWlIJJKl
4SR4ZxjPhyr9nRn1GMl8R0FaThTY5qwB3+BP99bLdoTIhuqjyGFBpIUpRSoE d5z3HPLzE19I
8st8tybLQp4vFCVjABK8ehIqZthQ6uPHVIDjZUVLSpW0I5k5JI5n/HjUXbbC 83LYeVMaKeJt
BjLyc4JPPHLkK2pMOAm3uOJBTLCMq4j2NuFEEDAHj56CU1ZOitGLJt6YjiIa tyAVHv8AHuPJ
WR3HNflwipukxq6WtUORKLHy6MmUjek4787sHGQnu81Qb2x21Bpkbz3LTgeu PPly7PM/48Wj
m0NasiIbeBGF5GSSewr0YoNuQ+iKliFLYebDZ+WpOFbDzznmPOefPljv5V6n 292dId8mgLWW
y0UlaUq8+Bk5x9r8VSs2K3qS1tvtOMie0kJcCBgE9+MkZ78keHf9WoXSchz1 VMsOyFPHCglZ
GMjYTigxQYjsUtrWA6XG0JCWVocBGSDzGR/geel7trEKQUIWtsqdStSnBhIz z25A7/HwGPt1
J2tpUJbctLhlONjBWte0NHz9/I/V84qEuZUYshbinUOqfCl8bt7id3Pu5eg+ n00GS3xQHH2p
TiEpUSpKisjPLkQa2bTI8nXJ6IqKytCshxRcVuIGcbufmPhjurE0GlyrarrC ylaO2opG0AAE
+bx8a9utoNwd3tr27lbnt+M9+0E4Pf56DIi6NlKIxjM8AuL2hBX8r5naeefH zmsV3luyZMlU
xlhsKbIStCVZUM5/hec5+39qtFUcSEqBk7GUKOWyo9rzY5cz8FZIz4nMLbS4 YrrLZwMlRUke
B5UGuVqjuwXiypxtpRU2lBwDg5HPB83Opu7zFXKEiE7CcWtSQ40QcrZJByO7 mPRy83mxqw4b
KraEqmlDpSpRSkDAwrHMfUxW29aeo2V0yHAh57tJCEpKz34Jwe4Z8KCNfU03 oy5pEhaltw3U
KTs8+QOeftfbr+h11/f/AGW9/wDu1/Oae6pNhurXWElXVnRs3g8jk196a71D e7Zcup2nRN2v
yeK664/GlxGm0EkAI+WupUVdnJ7OMEYJOQPL+IfNDr4fpKqdPaYTmjYDM+4w 7fHVfLepx2Rc
UQsIRIQ45tdUtBCwhC1Dad3Z7PMVGyGLNqGbplvQt7jahi2afIfnrRfBPcjp dhSW0Fa3HVLw
pagAMnx8AcTfqv1l9Ke/++du/WKeq/WX0p7/AO+du/WK890ucROjfVEezRId xj6gdjTtNW22
y49okW8OR3Y7ZCkLVJBwncdwW0vO7dy7jXfx3VR/VfrL6U9/987d+sU9V+sv pT3/AN87d+sU
Fq1C60xYLi9IeaYZbiuqcddcCEISEElSlEgJAHMknArgfR1MtF16NHuju0XB 6PqSdpxUBLju
rI06Op9LBBDLTcx1SE+uPYbSAkHuwBXUvVfrL6U9/wDfO3frFPVfrL6U9/8A fO3frFBRtX6Y
1fqaPNXH0P5IxoydZ2WlTYxUt9a45bbGxZARhC9pJ8DkJ5Zv+h7ddrRq3VjU y2OiFcrgm4xZ
yXWy2odWjtFop3cQLBaUfW7ceOeVYfVfrL6U9/8AfO3frFPVfrL6U9/987d+ sUyLxXKulZOk
pWvYcLVt+s1sgu6dmsLMq5sx3m3HJEVTLiErUFZBYcUlYGApvvzU76r9ZfSn v/vnbv1inqv1
l9Ke/wDvnbv1igonR25rORpu6zbfMtl+ff1VmZPs0uJIccjohMtB9restIdU ptBUlZykKVhJ
ymvUfReu7dpG2KssExtQxZ1zguuOyGQFQZrzjgkAoIB4aiyvbhJyhYCcEZvP qv1l9Ke/++du
/WKeq/WX0p7/AO+du/WKZFO1xouTa4uoHIceJHsUa22JuOmVKbaakNwpLq3W FqJ7AKChO5WE
kq78ZxisF1vupLzrbU+k7NG3yY9pjMgSI8gOcJ14vFK0qLCnktuAgbykHZk9 4F29V+svpT3/
AN87d+sU9V+svpT3/wB87d+sUyKZatM6xt2oE3p2wXGeGNUqu2xcmGmQ+w9b TGV61aGw4hYy
odkEHslRzW9oHRN7s+p7ci8DUEpNsuE6TGltuwOorEjikqWAkSiohwZSdw3g HJAFWX1X6y+l
Pf8A3zt36xT1X6y+lPf/AHzt36xTIvFQ2tYzczTUqI/p46hYeAQ7bwttJdTk ZILikpyO8ZUO
Y5EGoD1X6y+lPf8A3zt36xT1X6y+lPf/AHzt36xUCmnR2ulWy0zS7ekItN7k SYMDrkV+4Mw1
scNCeI/vZW4hRWQFKOELxvyBWC+3FrR1lsWll3duzR3o81yU3dLla27k2XXS W9wWrghgkug8
JKiAlKQORq8+q/WX0p7/AO+du/WKeq/WX0p7/wC+du/WKnIqPQDbDLQu6oXA eSxpm2WRM2JO
jy+HIjh4PJC2lqxyUyvmRkKRnmCB5h6S1C50Y2PQczR+Dap9v61J6xHVGmtN S21POJG/edyE
qWoLSCTkDcauHqv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv1imRu6Bs020XXV7k mImPHuF863D2
qSQtoxY6CrCT2e22sYODyz4g1a6o/qv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv 1ioFT1GjQa+m
S/va11DZI0YW63NtxJV+Qwlx1Cn3FJej8UbwAtpQDiSO1keNZ7fpC4Teht6J AiwnZMu+OXlL
aH21NXFjyiZDYLiSUkOMhABJxgpBwM4svqv1l9Ke/wDvnbv1inqv1l9Ke/8A vnbv1ipyKN0j
pfY0x0iXS7RU2J7U1rbg2u1yJDKpMp9ttxJUEtqUlS1l1CQlKlHDYz5hJeoi 9ta5mOTU6gmW
6Vf494YdgPQEsIKA2AH+KkSBt2FOG1KCkchgkirP6r9ZfSnv/vnbv1inqv1l 9Ke/++du/WKZ
FWf0nqZOhtbaITp8uvXd25SI14EhngvmQVrbDgKuIHBuDZ7BThIO7FdVskmT MtUeTMtsi2SF
p+WRZC21rbIOMEtqUk92RgnkR3HIFT9V+svpT3/3zt36xT1X6y+lPf8A3zt3 6xQXivnvTfSJ
bbTom5aVjy9PmdImXEszpGpbaIQTIkvLQtW2Qp0gJcBKeHnkR6a6Z6r9ZfSn v/vnbv1inqv1
l9Ke/wDvnbv1igqGnLHebba50zQzsG/QfIVlttvnMyGHkSequvokFvK9nESl WU7yE78DPIio
yfa75pzjagv0RXU4+rm7yEXKfCYMttcEMY3BSWkvNuJ34O1JwMKUeddC9V+s vpT3/wB87d+s
U9V+svpT3/3zt36xTIomhrRN1Rf42pm7KwLWrWsi5qw6242GvJgZS6lXc58v AGUbhuBIJA3V
N9IVp1zdr86GLVIft8G826fCRFXEQ3IZZcaW5vU4oO8fKXAkDYjaB2jzFWD1 X6y+lPf/AHzt
36xT1X6y+lPf/fO3frFMiuWDQlzjq0mqXZI4MLVV1uc4lTStrbvXOA6efaPb YxjKh2c428rl
0WWm4WTSJt9yj9XfFyuDyW96VYbdmPONnKSRzQtJx4ZwcHlWh6r9ZfSnv/vn bv1inqv1l9Ke
/wDvnbv1imULxXzveJNgtOur/qVWp9POXSFqkSG7RK1FHSiSwIzLLh4S3Qhq QhaXClSglWUb
ScEY6h6r9ZfSnv8A75279Yp6r9ZfSnv/AL5279YpCVLsFh1TJd02zHsrTtng 3m63JN0bnsLb
ksS25imFtBKiSk9YQCTg5IIBTlQnOjTR92sM7Q637W3DbtukHIE/YtvsS1Li rKTtPaJLbp3D
IznnzGZj1X6y+lPf/fO3frFPVfrL6U9/987d+sUyheKp/SZZLtcTYbxYmWJV wsVyE1ER5zhp
koLTjS0BWMJVtcJSTyyOffmtf1X6y+lPf/fO3frFPVfrL6U9/wDfO3frFQlF 68c1bqawxmo+
hLpFXCusCcWnpsPivBmU24tKAl4o9alRypSeeB41ty7bfNYawsdxuNhk2C2W XrDoTLkMrkyH
XWVMgAMrWlKEpWsklWSdox3mtn1X6y+lPf8A3zt36xT1X6y+lPf/AHzt36xU iqq03rB3oob6
KnNP7QIybYu9iSz1XqqSE8UI3cXiFses2Y3fvsc67CkbUhI8BjnVI9V+svpT 3/3zt36xT1X6
y+lPf/fO3frFBXH9E6lf6KG7Q2lyLco2o37oGEOslTzXlB19AClBbe4oUlSQ sEbgkKA548v6
UuKNLPSYto1iu9m9LucZ56VbEyo8kxw3xdqFCOWiMpUjmTuUcZNWX1X6y+lP f/fO3frFPVfr
L6U9/wDfO3frFMjDpK3ant+vV3O82tDwutit8eXKhuNhmNKj8cuJKFKC9ii6 NpSFenHfV+qj
+q/WX0p7/wC+du/WKeq/WX0p7/75279YoIz/AChpzMHScKVFvNmt+oIU5uda G7jcGYofWg7H
UpU6pI/Y3Vg/+Yeeue2N3R9m16hmPrrSC9MxbU3IYX5di5XckRepY28TP7CC rcRjKhzzmuq+
q/WX0p7/AO+du/WKeq/WX0p7/wC+du/WKZHPo3RzqUaDvsJ6xtm5v6CttniZ eZKusttvh1oK
3YThRa55CTywTjlJa+0xq1+D0i2mBpYXk6nbS5DnGWw2lrbGQ2GlhagoKSpB UnAKSV8ynmat
/qv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv1imRWtXaS1JJ9W1niWUzBql9hyLd uO0lEEJZabw4
FKDmW1NqWjYlWSr96c1ra16PtSXPU+oOox2za9pvtpWXkj/tgNttoTgnKQOE VFR5Zd7+Rq3e
q/WX0p7/AO+du/WKeq/WX0p7/wC+du/WKZEr0c2uba9KMC6tBq6zHHZ09AWF 7H3llxaNw5EI
3bARywkYqx1R/VfrL6U9/wDfO3frFPVfrL6U9/8AfO3frFQKEDoROotfL1Dr eFbpkm7uGMwz
rJUMKSmMy2d7TUhICg4haTvSFdnB5YqJ03om7XDSkB1qRdbrabppq325/wBT 062ucJ2MlSHE
Fx/cNoXkhTK8hQVy5A11P1X6y+lPf/fO3frFPVfrL6U9/wDfO3frFTkUjUdr ulp6QbfMk2Mz
xO1s7Nhxg61ufbTZtm5O5QSlQW2sgKKeaR3ZBroHRjaLjbWb9OuUPyeu8Xh2 4Nwi4lao6FIb
QEqKCU7lFsrO0kZWeZ761vVfrL6U9/8AfO3frFPVfrL6U9/987d+sUF4pVH9 V+svpT3/AN87
d+sU9V+svpT3/wB87d+sVAvFKo/qv1l9Ke/++du/WKeq/WX0p7/75279YoLx SqP6r9ZfSnv/
AL5279Yp6r9ZfSnv/vnbv1igvFKo/qv1l9Ke/wDvnbv1inqv1l9Ke/8Avnbv 1igvFKo/qv1l
9Ke/++du/WKeq/WX0p7/AO+du/WKC8Uqj+q/WX0p7/75279Yp6r9ZfSnv/vn bv1igvFKo/qv
1l9Ke/8Avnbv1inqv1l9Ke/++du/WKC8Uqj+q/WX0p7/AO+du/WKeq/WX0p7 /wC+du/WKC8U
qj+q/WX0p7/75279Yp6r9ZfSnv8A75279YoLxSqP6r9ZfSnv/vnbv1inqv1l 9Ke/++du/WKC
8Uqj+q/WX0p7/wC+du/WKeq/WX0p7/75279YoLxSqP6r9ZfSnv8A75279Yp6 r9ZfSnv/AL52
79YoLxSqP6r9ZfSnv/vnbv1inqv1l9Ke/wDvnbv1igvFKo/qv1l9Ke/++du/ WKeq/WX0p7/7
5279YoLxSqP6r9ZfSnv/AL5279Yp6r9ZfSnv/vnbv1igvFKo/qv1l9Ke/wDv nbv1inqv1l9K
e/8Avnbv1igvFKo/qv1l9Ke/++du/WKeq/WX0p7/AO+du/WKC8Uqj+q/WX0p 7/75279Yp6r9
ZfSnv/vnbv1igvFKo/qv1l9Ke/8Avnbv1inqv1l9Ke/++du/WKC8Uqj+q/WX 0p7/AO+du/WK
eq/WX0p7/wC+du/WKC8Uqj+q/WX0p7/75279Yp6r9ZfSnv8A75279YoLxSqP 6r9ZfSnv/vnb
v1inqv1l9Ke/++du/WKC8Uqj+q/WX0p7/wC+du/WKeq/WX0p7/75279YoLxS qP6r9ZfSnv8A
75279Yp6r9ZfSnv/AL5279YoLxSqP6r9ZfSnv/vnbv1inqv1l9Ke/wDvnbv1 igvFKo/qv1l9
Ke/++du/WKeq/WX0p7/75279YoLxSqP6r9ZfSnv/AL5279Yp6r9ZfSnv/vnb v1igvFKo/qv1
l9Ke/wDvnbv1inqv1l9Ke/8Avnbv1igvFKo/qv1l9Ke/++du/WKeq/WX0p7/ AO+du/WKC8Uq
j+q/WX0p7/75279Yp6r9ZfSnv/vnbv1igvFKo/qv1l9Ke/8Avnbv1inqv1l9 Ke/++du/WKC8
Uqj+q/WX0p7/AO+du/WKzI1LrlbYc+RLfUoPcpd2tqAfqZkDNBcqVTvVJrf6 VN39+7X+s09U
mt/pU3f37tf6zU4FxpVO9Umt/pU3f37tf6zT1Sa3+lTd/fu1/rNMC40qneqT W/0qbv792v8A
WaeqTW/0qbv792v9ZpgXGlU71Sa3+lTd/fu1/rNPVJrf6VN39+7X+s0wLjSq d6pNb/Spu/v3
a/1mnqk1v9Km7+/dr/WaYFxpVO9Umt/pU3f37tf6zT1Sa3+lTd/fu1/rNMC4 0qneqTW/0qbv
792v9Zp6pNb/AEqbv792v9ZpgXGlU71Sa3+lTd/fu1/rNPVJrf6VN39+7X+s 0wLjSqd6pNb/
AEqbv792v9Zp6pNb/Spu/v3a/wBZpgXGuHdLP/8AmT/0nb//APdroHqk1v8A Spu/v3a/1muf
9IsPUTmkulXUV705IsbE/TcaPHbfmRn1LUz1orPyhxYAw6j12M5OO6g+drxw I0GPGQGHJUcB
K1qUoAHAyE+B+35vP3NMtrbgXYOIIy0OylYB7l9x54+rUzqCFb94uDUeMsLG 1xB5ELBAzz/u
7s88moqa5Ngsre2IjF3CSylhJyPDPLKq+keWwPONtQI0mAhxmRHbIUeFuI3K AAUrbjzgfVqQ
uUiJIHHdbUpLiMLLYGTg9wB+oPu1qSXVdSejNNMB9wJKg0yEgqBzjl3nxrO1 DYuTbCBJW1IL
e8pcbIGAeXPJ5n7dBi0/5PkPvuthTT2Nze9WQlQPLPoqTsKXI95hIeeakuOu vFS0rCtmEnln
z/U8xqGLJtURyQ2FPS1O4OACgJxnu5885+190YGL3NhtcRBjoeWorQUsI3DP eckcs/48aDzY
5T1olCbEQX+1wlj96tJwSM+Hhz9H2quptTTuoYF8hIASvf1jt+dBAOPPnkcf c7zUJBiwp9l4
kttporTuCmyhoEg9xAAGeffjPwVrOXC6Q4YNskLaZbThQUAsqIHM88gDv7u/ xoMUV1CGH4yM
kSAg8RIVhRB7iB347/8AGK9lD8ae63KlKW0tIKiRnKueASOY5ZFYbRFDVoE5 1ClKKyiOFJ5b
sd/I8/7/AEV4adeTMU2y4obTtWCgnPL0d3LNB6uEzbAQUQ2QsLLaFIJOM9/M HmTjxrbhPrXa
48eO6zGeVtS6tStpAB5AZ59xx9X4P1bo8jByNAS7hW1JWghWeYBxnn45yfHO K1Lg8lmUWERz
sWQRxWxuScZ8e7+4UGveJKnZj7TqklpvcEgqGVKH776prY03HDNwmNraXs6q pJJ7+eK1Hp6X
XksjDm4hO7aEcz3nOfTmpt1hiI/GnIecS5twWW3hyIGByBB58qD8sDUdh95+ SAGwVhCVBSs9
o+AqaZSbpJ43VHmXW2kBKUoUQkBPJIznPd3D/nVQnB1DgjrdfKnlHtJBPPOc czz76lNLsrF5
DGxx1LAwH+ME43HnlJz4jkBjuoKTeP2lLzt/Yl+tOR3Gv6XyW+NeHGc7d8gp zjOMqxX847qV
RtOyOIshS47iAMd/ZOfx1/SD/wDmD/8AV/8A79eX8Q+arr4fpKLivpkNrcSk hKXXGxnvISsp
z9vGcVlrSs37Tc+yX/zy6inLdrG53yY5abiw1b2HkN8JbqEq/Y0KPewo96v4 X3K4tLT8S23M
R+7TV1PDjOJn9lipUbe7XeorSpLrC5SUxwptbMxtvgLSpsqJ3NnJ2hw7gCNu 5G0E5VE6615p
nQNuhzNYXNcFmSrhIfRBfcbU4BkpJbSsIJGSAo5ICsZ2nHLTW3at9LHyt9v6 K37rRSoTROq7
FrOxJvmnJTsu3LcU22+uK6wHCnkopDiUlQB5bhkZBGcggSE3gquFrZktodYd kqS424kKSsBl
wgEHkeYB+qBXRWuZwpM4jLbpWlZbrpJqww4sxizJdEdKZDa2Wwd5T29wx35z n7datiDbbrTT
bKGP+y4jjqEICAXFcUKUQP3xwMn0DzVOyMTMT0Ui+ZiMJelYZ0huJCflu/sb LanFdoDkkZPM
kAd3iQKrc6buXLWu2KSpTykkOAhaAAkbstpO3OzdzII2cyktkxoisz0XmYha qyRm+NIbazt3
rCc4zjJxVdsVzc4qYklqUVOuDY66sYC1NqWpGFBC8gpVyKB4gBO1bbVlt3zQ jfXU/jFRMTE4
kictOK+mQ2txKSEpdcbGe8hKynP28ZxWWtKzftNz7Jf/ADy6pHSNcrgbrEtL d4hxmnZ8ctMK
tqxIccRh1sNrW6lt4F1LaVbQNgWNxHM0iMq6l4pGZdEpVJjXjUdou5hXO2tX J+fJdcHUpwKE
JShKUtMh0JBUAhSlpUpH79Sd2ShMhr/XmltBQ4szVdwdt8aU4WmnhDfeQVgZ 2lTaFBJIyQDj
OFYzg4jr0KXi8ZhZqVCaJ1XYtZ2JN805Kdl25bim231xXWA4U8lFIcSkqAPL cMjIIzkECA6X
dSKscOBES+7G64talutrKVbEAZSCOYJKk8x4A+eq3vFKzaVdbVjSpN5XqlUn Xuj4OnNPR9V2
gtQ0cBCpDiXUsPJUpI7SV8ircf3nPmeQIOBvQdWwovR96qr2663FitLMx5mO t4jhrKFubG0q
VtykqOBhKck8gTWWlrTeZrauJhnpa82vstGJ6rRSqdoDpO0Tr2ZKi6Su7tyc iNhyQRAkNobB
OEgrW2lOTzwnOThRAwDj96XLzKsmlEvxUPEvSUMrU0SFJSQpRwR3Z2gZ9Na3 tsrMy11dSNOk
3n0XClc86QfJGkJtnl2F5LVxlMtuPQWkEkjaDuWR4KPLCsnJyPR0OqaWpN8x MYmFNHW8SZr6
wVkjN8aQ21nbvWE5xnGTiudWjpn6ObtqlrS9vvct29OyDGEI2iYl1LiSdyVB TQ2bcHcVYCQC
TgA10i3fNCN9dT+MVs3acV9MhtbiUkJS642M95CVlOft4zistaVm/abn2S/+ eXUbrTUMWw2t
52QmQVFpRSGilBVywAFq7KSVFIyc4znGcA6aOjfWvFKRmZRMxHVP0r50sGs9 WWfUqJz9267b
3XQJMR+claAgkZ2FaiUkeGDX0S0sONpcSFAKAI3JKTz84PMfUNdHGcFqcJaI t6kWiej1StW6
zW4ENUh0LIHZG1BV2j3Zx3DNcB1XrDUcnUrl209eZUOKhwlhl2chaVpB71t7 i3g9+AOQOMk8
6twnw7V4qs2r0RNqx1l9EV5kLSzb5sxWSIsdT20fviMcvR399Q+iL0rUGmIV 0caS086jDqUn
cgLHJW1XcRkHuz5u8GpW6fO5efsFf4xXFek0tNbdYSy0pVX1pdIiuje7TZan ISZkWRDhtOo+
WPPlKk7MJJ2nIIweZPmxznTpN7xWPWcK6l4pSbT6LRSqy1HuUBi3NOw5LDjq GExXVvDaygNr
3NrRw924ZRuTkFeAoFAbVss1c2lreJa0YmMTj92tq7Yie5Sq9qK9RIV5i296 9tW8rYceWNzZ
X3pCCQoHAJ38/HB81V+zahgybLvF2VdNjsviNiYhDiFFTvDcyUnsAqRt9aG+ yrtJHZy1+MjS
zG2ZmG9OFtasWz1dBpWGEl9MVsSVJU8B2iOfw4GT6cDPfgdwhtVXGU3cLRYr dIRFm3d8tNvr
SFBtKcbiAe9XMYyMd58MHp3fp3S49S8acTMp+lUVF10vb7yu3x9SXO7SWZaW ZUWS8o8ZIWN4
Qk7woDacowkrBwk/vVTSr3HsOil6gvzz7cGMwH3VpQuW401gc1FpGV4zkqCc AZJyAVHGnEbt
WdPbPTr6Gleupp7omM9srBXmQtLNvmzFZIix1PbR++Ixy9Hf31UNAdJ2idez JUXSV3duTkRs
OSCIEhtDYJwkFa20pyeeE5ycKIGAcWy6fO5efsFf4xXQuy0pXPuk6Lqu6aat lxsbAkRX1F1y
M2wXVJQpPysqSCSvlzICcJJA7WN1TSaW1a6VpxuWikzEz2dBpXFoWtLvYlG3 qbnqciPFoxVs
pAWd3NJBG8E89oSQACnkrHa7TVIvW1rVr6OXR4mmtNor6FKwTZTURniOZJJ2 oQnmpavMPT8A
AJOACahFzIdzcUJ6g0th5K0QHWUOl1A8QMlJJVgHkSkZxgqSsYcVxMcPXdMZ /wDn7y7dHRnV
nCxV5lLSw3EVzUqTIUyB4JCWyvOftYxWrZ47ka3oZdCUkLWoJT3ISVkpT9oE D7VZ7p+xWf7O
d/MGt6W3Vi2MZZ2jbaYen3mWG+I+6hpG5Kdy1ADJIAHPxJIA9JrHDmRJiCuJ KYkJGMqacCgM
pCh3ecEH6hBrV1Crbbk8++THTjz5eQMenOcYwrOcbV52Kimn5C54mIDq1sYQ 6pCypTiSd+zY
Edo4Wkjn3rSQpRVmRM8kLNStSLcYkl/gNLWHNpWEraUjckHBKdwG4c0nlnkt B7lJJjoGrbDO
uyLTElPuzluFsMCI9v3DvBG3ljBznuwc91THPoTyTlasW5W6U4luNPivrUnc lLbyVEjCTkAH
uwtB+ooecVtGqfEcdl223MIK3FqjtOsqS8UlJCB2woIWTzdTzBcJLg9fvPWI nuQuFKjo11j7
GW5CnUOq2oKlMKSgqPIdrG3BO3HPnvb/AIac6l51ZYLPNMK5TVx3wkK2mO4Q Qe4ghOCPqeII
8KmJz0MYTlK/EklCVKbcb3JCtrjZQoAjIylQBB9BGazWyNAmQFh5ALzrriC5 gFacKKRtUQSj
AA9bjnk95Jrn4jia6ERM+rTT0p1GKlY3wwqKqRbZcuWtK2iULawktrWBvHYB Kdu4hQOOz3nB
qu6/15pbQUOLM1XcXbfGlOFpp4Q33kFYGdpU2hQSSMkA4zhWM4OL6WtGrE4h F9OadVmrzKWl
huIrmpUmQpkDwSEtlec/axiobROq7FrOxJvmnJTsu3LcU22+uK6wHCnkopDi UlQB5bhkZBGc
ggS10/YrP9nO/mDWqjLWCHMiTWy7DlMSUDGVNOBYGUhQ5jzpUk/UIPjUfq6Q GrE+xwFvLmJM
VtICcFbgKRuKgUgZ5cwckhISpSgk6KpqxflhCXt0uMkNutBKjlHEUc8lqwS6 gggLBUtHritP
Wab43RVbbyystK07ZIXI4+9aVbHABjHIFCFeBP8ACyPQRgqGFqj4GrbDOuyL TElPuzluFsMC
I9v3DvBG3ljBznuwc91aYUTleWnG3UIW0tLiXACgpOQoHbjHnzvRj/zJ84r9 UQEkkgADJJqr
R4DEaQq5FB4jrSWVv8V1WUjaNxQScJVkeBI35O/iqD6MepKzh1orQgOIKlpK kjcMqACSSPOM
LQf/AHDzivdQ9ud3XRCd6jlp04U5uJ5tnmd6s+uznteuznt8R/HedWWCzzTC uU1cd8JCtpju
EEHuIITgj6niCPCkxicCcpX4kkoSpTbje5IVtcbKFAEZGUqAIPoIzVUu97u8 XWEeGzEdXAIK
FK4JCCflZKiojPZyO0DsAcJOQ26plEZMrZSodudOjPy0yIkiUnibmlNqaSkJ 2c04UpJThSFj
tekkpCXEtycV9qSzxWlZTuUg+dKkkpUk+YgggjwINVi0SmYwy0rC4txyYzAj FAkvpUtKl+tb
QkgKWe7ONyRtHMkjuGVD9NnvEOZKTCVElxXHEraXLnOJcHytIUCA2oDKgpWB gDdyA7q5tXi9
PTvtn+/2a10bWjLLSoe66it9m03Nv13U7HhwC4Ja2WXJHD4ayhagltJUUApJ 3beSRuIABxDa
A6TtE69mSoukru7cnIjYckEQJDaGwThIK1tpTk88Jzk4UQMA46aWi9YtXpLO Yms4lcaVq3WW
YUIvpbDiytDTaCvaFLWsISCcE4yodwUrzJUcAxstVxnqZaUUw2g5vLkWWStQ wrb/AN3g81NH
HMEnGHEqQl6JtEciIynKVoWma7ILkeSlPWGAkqW2PlbqVZ2rTzOM4OU5OPAq SULXpQNW2Gdd
kWmJKfdnLcLYYER7fuHeCNvLGDnPdg57qtE5jMImMJylKUClKUClKUClKUCl KUClKUClKUCl
KUClKUClKUClKUClKUClKUClKUClKUClKUClKUClKUClK9stqeeQ0gZUo4FB njoQ0wqU6kKz
2WkkZBV4kjzCsDri3VlbisqNZp7iVPBts5baGxHp85+2cmtapClKgdYovz6L bD07MbizJMzY
pS1JSCgNOKIyptwDmkfvfDwqaVi1ornGe6t7bazOM4T1Krtltuqk2syrwo3J lqWUvstPoWtb
bbm1eAmOjcnsqy3jcscgR61Ujptb7tmjPPqUeI2laAp0OrCSAQFLAAWfSAPN zxuOV7zTX8HG
eWc+i1MX09/+PVyvSl06TdSWld2j6ys8FlUyUw2wuw8ZSUsyHGgSsPpBJDef WjvqW6t0pfR/
ZP6NH9ZqM6KZ8W39Hrb0x3htqu1ySDtKufXpB8AfMas1tXfHri/xY4DXAekB lzsqQ22pI7JA
OVEKBwTjPiBW86c10ratuVY/nLupvjfFI6yjOrdKX0f2T+jR/WadW6Uvo/sn 9Gj+s1n19fpV
h0Nfb5Cjf53bYjzqESWlcMuIBykkEBQBBB2q+3VEtfSBfpesbbbzcbVcbV17 huXG1xyliWOp
SXVNDetztIU02SUL/fAHHMVjpalNWsXpOYaWrNZxMLp1bpS+j+yf0aP6zTq3 Sl9H9k/o0f1m
vLGvrEuFb5rwlRo06xuXxLrqE4ajIDRUF4UTvw6nkMjkefdnJYtYs3S+xrO7 ZLxbZMqC5PYM
xtoJWyhTaSew4ogkup7JAI55A5Zuh56t0pfR/ZP6NH9Zp1bpS+j+yf0aP6zU hri7qsGjrve0
FIVBiOPjLXEGUpJ9buTu+puT9UVEOdIFsbvL9tVbbsUxrkzbH5YZRwG3nktl vnv3EEuJTyBI
PeACCQz9W6Uvo/sn9Gj+s06t0pfR/ZP6NH9Zr813eL1AuenLXZHbew9d5zkd b0yMt9LaUsOO
5CEuNkklsD13jUd6sZ+nrzNtetFQChm2LubM+A0tCHGkLShaC0pS1BYK0YAU rdu8CKCS6t0p
fR/ZP6NH9Zp1bpS+j+yf0aP6zW/pzULN5kzIarfOts6GG1PRZiUBwIcBKF5Q pSSDtUO/IKSC
BU1UD90FF1Shqc/qXUkS7bVNIYRGtgiJRneVFWXFlR7KcYIA55zkYstaWn/2 jL+utficrdog
qj9P37imsP5pf/JNXiqP0/fuKaw/ml/8k0S+Ob2lPWZIQMnfu2qBOcnPgPgr G880Ix2uZXhJ
UClRAIByMgVozi24ttSklJUohSs+Y4JPKs0ZTzjjsVJCUlYCW+4EZ519K8tt LeZcUlpiXsS4
M7VhY2jx7h+KpLTjTL05bUcp4baNu5xWMkHzebu5f4Ot1O4qnONxWUtuJBUe 0MJRjvJzgfbN
ftgfeiTI8YoUStXbWpW4Zzg93eKDEh9CYiQ6244pMgoO5XIkA8+7z1GRnBIl PSOChOxJXncc
Aeb/AJVP3a4piFDTDcVY35SopO9BOf3x9H3POK82yClxpTankLMlO3Y4vlz/ AHwVz5jl6KCO
YuiGoSIjsdakhJ4Sm1nBJx4cvNit12RblRmlBHDUzlW1QUd4+76e78VY3bHw 7jwOsMpQwndw
ivt5z9zzfdFatsitzro+zIfS1uSpIWXArH2qDJcJZfaiS0PONMNp28JBO0bT ywnP+OVeGJMW
fPdkyPlKBt2pQjvJ5YPPH2/8D0Ex1scKK6lxtkHiADOeXeMpBPw1o22G5Jlh EUuuo3AEIyDj
n3+b++glXesJjlTikMoaXz24WTnuwMDBrBdpLTKpKCxxNywncpWMDaO7zVuy 1LmRVl5xTEji
pCdyCQcfUHd934a0noQkl5t18hxoguL2cicd/wBz/lQYrWEoeggoZSl90ZQs BWRkDlkHGfu1
ZIr6l6ilsBKiltsEqKRgEhPLPePqeg1GMW6NMiobQrL8fKUHmAvxGOeO/wBP 9tQy5dyQl/iz
piXW1YKeKoDvoNh56OXQ+h1R4ju5sYOU+FSejXw1MUhZcCS6hCVFWdx3VpRo 6JkFmfLlNNbX
ShTjm9aieXIDmSf7KsNjtDKH0qStbqmn0OBRICVJyTnwOe/l6KCO15siafci xglazDdLrqUg
KKSlWRyAwMpH1fhr7+//AJg//V//AL9fz3vkhD2nZQlMqExEJ5O5okgfK1HC j9T6vj5+f9Ap
za3bm+02Vha3lJSULKVZKvAjmD6a8v4h81XXw/SUTZv2m59kv/nl1v6YmGBc Lm1KhyOFIkJd
afSUFGOE2nBG7dnKT4VrQW47TBajEltDi0klZV2gs7uZ5ntZ51nrzufo6JiJ 6smrLy5Jtdwt
8S0T31uxnW2HW1MhsLUgpBO5wK8fN5++ovUlktWo7FLsd8gtTrdMb4b7Do5K HeOY5gggEKGC
CAQQQDUhSqUpFZmfWVpnMYYoUaNChsw4cdqNGYbS0yy0gIQ2hIwlKUjkAAAA B3VG6lLrRt8p
tl51EeUVucJtS1BJacTnakEnmpPcPHzVJRHHHmOMttCEqccSjC9xIQtSMnkM ElJ5c+WOdZa2
077LRZS1d0Yc/uFxuS4LrzES7m4KedLahGmgISCstnaCGzyCBjac57Q9casd gkOS73PkmPKb
aMZhCVPx1tbiFPEgbwM43D7tTtK31OJ31mMdWVdHbMTlqXlp5+0TGY+7jOML S3tJB3FJAwQp
J7/9JP1R31Qly7st0KXph9TmRz4Cyc9jGDw0/wChj1uNqfWbP816RSsaX2+j Wa5UfS67m/eI
aVWZ2DFaUpxauGptP7FtAwUo86PD96kbRtCI9/t3zQjfXU/jFYK/FDIIClpz 4oUUqHpBHMH0
iotbdOSIw07N+03Psl/88uozWthjXyLHVOkSWo8BS5SeqtlT4dDakJWggE5S FrIASVFWwgjG
FTcVhqMyGWQoIBJ7SiokkkkknmeZNZarE4LRFoxLntj0Tc7sm2z9dSIU1bbS HX7emKC2t/h4
y4SpSVFOVetABISc4AFW696fs9800/py8Qk3C1yGAw6zIWpZWkYwSsnduBAI XncCAc5GalKV
EREcoV09KunGKsUKNGhQ2YcOO1GjMNpaZZaQEIbQkYSlKRyAAAAA7qrfSPpN GqrWy22WUzIy
yplToO0gjCkk4OAcA5weaRVppVbVi0Yk1dOurSaW6S5fquz641jcIke4wkQ7 fDbSiO0482pl
BSMFZ2qUpSj/AOUeblXQtP2xizWaLbI5yhhGCojBWo81KPpKiT9ut6lVppRS Zt6yx0eFppWm
+ZmZ9ZROltN2HS1uct2nbTEtcR2Q5JW1HbCUqcWcqV+IAdwSEpGEpAG9coMW 5QXYU1lL0d0Y
Wg+P9h9NbFK0mM9XTMRMYlybpB01Ps0qNcLBCnXl+Q4DIU8OKpGxSFJHZQSQ oApO4EY5HI3I
XJdFMvVLt7uDd3sztugOILyUlkoQHMNoASOGgDklRO0AZPMZypfR6Vzxw8Rf dE/2eho8bTR4
OeFrpx68/XMz1/dExdN2GLqmZqiPaYjV6mx0RpM1LYDrjaD2Uk/cye8hCAch CcTtu+aEb66n
8YrBX4oZBAUtOfFCilQ9II5g+kV0OBp2b9pufZL/AOeXWnq3T8TUFolQnstO vMqbS8hRQtOQ
cYUOYwefo+7mUisNRmQyyFBAJPaUVEkkkkk8zzJrLWmlqX0rRak4mBx3SfRJ eo2oGpeoNQCR
AjOhxthh1wqfwcgOE42jzgZz3V2BtCW20toSEoSMJSBgAeYV6pV9fiNTXnN5 yjEMMyKxLZ4U
htK094yPWnzj01xy59D1+e1A6YOpRGtDrqnCFOuLeaBUTtSk8sY7sq5d3dXa awz3+qwZEnZv
4LSnNucZwM4zVtHi9bRrNaTykxDBY7ZFs9rj26GlQaZbSjco7lLIAG5R8Scd 9bF0+dy8/YK/
xisy0ONLLbwQHEHasIVlII78EgZH2hWGXHblR1R3i5wljC0ocUjcPMdpGR6D yrnmZmcyMtVF
FxlR3jAlx77GZiypLgMNMnEjiuqWk7meW0JUk9+7dkdkAhdupWmletLZtXOP /P8A6res2jET
hV+C1eVJYjNXtnhncZMqTLRweRGWw4oblkEgciBkk55JVaKUqdbV8SeUYhGn TZHXKGvkO5ru
cOfbEQnVMNPNLbkuKQCFlByCEq5jZ5vGoOzWjUvU48STDtkJlq5KkrW3IUpw pD5WcAIwQod2
VA4VzAORV1pXFbh6Wtunq66cTetdsFV/WdjlXREGda5Dca7W18SIjjgygnxS rv5HA548B4Zq
wUraYzGHLqUjUrNbOeSrRqO+iZCe03Z7Ci4uJcuE1ratx0g57I3KwScnuA58 /Mb9EYaixWYr
CNjTKEtoT5kgYA+5RDji5bzQbRw2W21KWV9olZXgAY7uweefNyrLUVrFWejw 9dLMxzlE6W03
YdLW5y3adtMS1xHZDklbUdsJSpxZypX4gB3BISkYSkASN0+dy8/YK/xistYp cduVHVHeLnCW
MLShxSNw8x2kZHoPKrN2WqXbY11RbosG96bfuQhsoYbQlcdyP2AE8QBxwEqV jOVJBSDgAdoq
ulK4+L4HT4rG+ZjHZ0aHE20M7YjmrUGxw5cpmS5p2LaW4zgcQkMMh5xxJyk7 myQlAODgHKj3
4Awuy0rE844l+My02hannCk7l7QkJQpZPccnCDgefxFacNwunw1NlFNbWtrW zZtRLfZZJdfv
KESFpBQwgoOWwQMqChzCiR64EEYGMcyatpywvxrxIuc5eVIU6xESSCrhFfJa yBjcQlPIYAyf
PhNkpVq6Fa2mYnr/AD/Hp2V8S2MFYrp+xWf7Od/MGstYnY7bkhp9ZcKmSS2O IrakkEE7c4zg
kZxmtlGO5w0T4S4q3XWgoghbZG5JBBB5ggjIGQQQRyIIJFQc2FdoipLcFpyW H1BaHCpsbRtS
gpVuOM+uO7aoYKiUqO9D9lpVbV3RhMThWtLRZvlBct1iTFjpZLfDkOFS1uEp K1Y/8yVZUSrc
pSlJPaU49YIsWLGnSp7EVluZKbS09ICe2pCf3ufMeWfPtSDyArLSprXbGIJn MlV1dmkW8x1Q
lyJrbaFNFtxSN4CinB3EAEAAg7tyjkntlTiXbFSkxmMIicSqMSPqSVNjplxn 2Gg8h1xxchvb
hKt5G1GV5O4jG84JXuUsbzItDsOG9NiTZERh9+G4XIy3EBXDWRjcPqcj9UJP eBWalRWu1NrZ
fqlKUoqUSpROSSeZNRrsOYI8thiS0WXm3glC2zuCnAr98D3BSv4Pdy9NSNKz 1tDT1oiLxnHN
bT1baedso26uKuDLwTp3hTHGyhqUtLO5pWMJVuCioYPPI58uVetSWS1ajsUu x3yC1Ot0xvhv
sOjkod4ORzBBAIUMEEAgggGpClU4bhacNExWZnPdbV1p1MZhihRo0KGzDhx2 o0ZhtLTLLSAh
DaEjCUpSOQAAAAHdS6fsVn+znfzBo844l+My02hannCk7l7QkJQpZPccnCDg efxFHY7bkhp9
ZcKmSS2OIrakkEE7c4zgkZxmulkwXoKVbXW0sJkJcKUONqbDiVNqUAvKTkEb SrwV/wCVXrTX
rPDnpiPGXbHGHlrUlYdf6wVoAVtyopVkDLnLtZJWSXC4oybbSpiYic45o590 fZUPt9bDyFoy
/wBnd49hAJHaP74K5+JycrzxF7cWLFjTpU9iKy3MlNpaekBPbUhP73PmPLPn 2pB5AVlpSZ5j
xIZakMOMPtIdacSUONrSFJUkjBBB7wR4VU02l2RPRb34SSw3MefdDjILXCWX tuCU7FE8T1vh
uVu5FXWLfSqWpFpiVothoRYLrM1Mlcnedi0qSArmVFJzzUfEL78+uzncVqc2 XYcN6bEmyIjD
78NwuRluICuGsjG4fU5H6oSe8Cs1KvMzKr9UpSlFSiVKJySTzJqPu9uE5CHG nerzGclh8Anb
zBKVAEFSCUpyMg5SlSSlSUqTv0qsxExiUxOOcK5bLVcZAddnyJVvUl0Btlhx pSdqQ3zB2ZAy
hWDyONhw2UtoamrZERAhNxW3HHAjJK3CNyiSSTyAA5k8kgJHcAAABs0qK0iv RM2mWCZGRJbS
CtbbiFb2nWzhbS+YCknz8yMHIIJBBBIMdGtk2RIlyLvNklxx0cIRJ8hpsICE J9YFAJJUFKxz
xuxuPfUxSsdThNHVvF71zML01r0rtrLFFYajMJZZTtQnJ5kkkk5JJPMkkkkn mSSTUdpbTdh0
tbnLdp20xLXEdkOSVtR2wlKnFnKlfiAHcEhKRhKQBLUreIiIxDOZzOZeH2m3 2VMvIC21jCkn
uIqFmWEpdirtz76FJdPHMiW66FNltSTlKyoLOSDzxkqWSSFrSudpS1Yt1TEz DFGYbjtcNvce
ZUpSjlSlHvUT4k+ekWLFjTpU9iKy3MlNpaekBPbUhP73PmPLPn2pB5AVlpUo KUpQKUpQKUpQ
KUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQKUpQ K24PyuPJkdxC
NiFek+H3M1qVtv8Ayu3MN9xcJcOPEdwz9w/dqYGpSlKgKib+2/1q0yW4UyY1 Gmlx9uI+lp3Y
WXU5SorR++Un98OWalqUQiLRKt0eItE3o9uMl5Uh9ziuJhOrUlTq1J3KW/uJ CSAc55jvNZtM
R5ETTdsiy0cOQzDabdRkHasIAIyOR557qkaUnnOSOTkHRJEizOj9tqXGZkNi 63JQS62FAHr0
jng+PM1MWuyXCLPc33JaYSW32mwhZU4628sLUlZUCU42hOQSo9+U91WrSWkr Pp2xN2tlc98J
defW4t5A3LddW6vACOSdy1YHMgYBJPMyvk22exy/w6f0KvN5nTtpTzrPWEbY 3Rf1hQtW6Zj3
zSN4sLLiIS7pFXHck8PiKyoEb1cwVnmTzOT56/b/AKcRdp9ikqlcJFpkOPFs N54oXHdZ25z2
ccTOefdjxzV88m2z2OX+HT+hTybbPY5f4dP6FZ0pWkbaxiF5mbTmXFI3Re+i 2iHdL+5dIkfT
r9iYjMxEsKDK+FtVuKz8sAaAJPZJwcJwc+tH2DVFx1V5T1gwXYbFnetgZlxo 6A+HVtFWW23X
QRhrCipQB3DCQAc9p8m2z2OX+HT+hTybbPY5f4dP6FWyq5pe+j/TknTF5s9l tNqsTt0hORFy
olvbQpKVDHMJ27gDzxkVik6G4wuI8qbeu6giXn9r52cDq/yr13Pd1f13LG7u OOfUPJts9jl/
h0/oU8m2z2OX+HT+hQc91np6feZtkn2y5xoEu0S1yWzIhqkNubmVtFJSlxs9 zhOd3eKjJ2gE
3xF1d1VdfKUy4QDbwuPGDDUZkqC8NoKlnJWEqJUpWdqR3DFdV8m2z2OX+HT+ hTybbPY5f4dP
6FBy/T2j51jts1i1ydOW2XILO2TbtPpj5ShWVcRIcIcJSVAHshJUSB4VNTYN +c8o9VvzEfjO
sqh7oIX1ZCdvESe0OJvwrB5bd3jjndvJts9jl/h0/oU8m2z2OX+HT+hQYtP/ ALRl/XWvxOVu
1+MNRozDjUdDw4ikqUXHAruB7sJH8Kv2oCqP0/fuKaw/ml/8k1eKo/T9+4pr D+aX/wAk0S+L
bihCHHWFpWUNAFKyrJ588cx5/wAVYo7i1RwoDe6o8NO3O458O7vr3KStyE3t d3rxtWlQ7WBz
A8fq1rxkKW1wlNKI3bwBkFX1OXOvpXlrnNjLmGZHg9mQFIcfaIwX04wlQJ7w O7HdnPjjMJAt
0ti7InONoDKHEpUeKnKSeXMDmPHvxW3a2noRjLceQQ++jYwAQoDxJ83ZyPDv rI5IbTeXWHY7
MSMtwbtqXCVdrs95Pjig1LvbxLlcFh9CVkpI4pCU45j12ceFSNmjtCZBaWEP PNp27Q4QMbR2
gQMEZxz5fDWF+KyiY+p9xK2WjtysKSoJ78pOO0e7l8NTExIiWZ2db1tpkvgN pJVtKdwzgAj0
d/1eVBr6rRGZvz0nAb2tALCSVKydowR9rwqs2CKty6LbW4jDrZRvGAMnB7ji peM0h+PLbDji
pZb7HEVhRH74pB+1/g1X41vceiiYzvW4HASg4HLPLn/jxoN5FteQ06o5adjk jhbcF0483hSz
QH2mJJ4uwLZw5lW3ZnPfn7de5LyoN4U2046VIaKlgnHaPhgd/hW8HEvwpKUR mXUlCApCcpyA
o+A5934udBoS2ZdvbFtTEUd5DiVp5pKT/pc81tpw47JO/O9IOe88x3476wra U4d3WkKZaSCl
LSV5bSk8hkjJ8ceNaMxuZBSlaSsmQnejYThIwO8ef/HooJO2NBccyGo7iUxp KilwdoK7Jz+P
NRU5TspLjmxLbjiiop5Hx7s1vxluGKlDsl9amiT8rKlZyPDl41+KjcVpiQeL 8sUQ2CSQkfvi
eXf4/wD2NBsaZaZlWYIccKXYz5wgAZOR38yPGpOaifGaVDcfWtxZSQAgHanA GB6O/wC1UO5F
ix3XULU6lnaHysJ55Faz10ak2xoSdwdSpSm1ElQznn+M0Gvf1tN2C4Nx1KCy ysrQ6olSOzzP
rRnIJ8f7K/ot/wDzB/8Aq/8A9+v5wahjvKiTJK43VW+rugBwpQVEN+CTgnwr +j//APMH/wCr
/wD368v4h81XXw/SUHZv2m59kv8A55dYntqpEniuPAJWAAHlIATw/QUjHNZz nwJ3dncxls37
Tc+yX/zy6qurrdKmTnptueVHnwH97KgANwU20pQydvfwxzzjseuGzfH4aOmI i0xEzhI3STco
1xYRbZUfjP5a4MouLGSVdrA5jaQo4ATnapJCQD1awQmnWYjTT8lyU6hIC3lp SlSz5yEgAfaF
c8MNxDcV2+IlyJC5CDw46cK9djh8gAD2E4xt5t4wgN/5tedOrnOWaOu47usk HcVICVFO47So
DHMpwTyTzz2UetFLWmbYmGdb/qmjbgfM1j65I/4l2tF7CpEriuPAJUAMPKQA nh58CkY5rOc+
BO7s7mN6B8zWPrkj/iXapur7dKmTnp1ueVHnwH97KgANwU20pQJO3v4Y55x2 PXDZvj3o0isW
mImcNi/XabbrrEj259DkmUoMmO+HHAncsjiEDBSEq3eAztUnCQFdWtMJp1mI 00/JclOoSAt5
aUpUs+chIAH2hVAtFqkx1Jm3M8e4SJkfdlA+VJDyMIGE8sbBnCR+x9yOGBG6 LU3ieUymdsfp
rOURqV9+OwHWGXn9jS1lptwoKwCndggp7WwrwCoefljiNwku53CPY1T5Sjbp jb2EoW4twLUn
cFDaSncCoOYB29kc+HtPVpLWENu4BuE6ShLjLiuIB60oW0tJzy7ikK9cn1ue zt4rVZtFquxn
ok3yUXxD7MdBSAMp/fnG3GNgxnaQW8nh8MdW6NGlZrumXPqWmJxELhpY3R+3 dfuskKdmYeRG
Q3tRFQQMNglIWo49cV8yrOAkYSN25kiGrClJBUgKKVFJ2lQCuY7hjPPKcfwk euGDTKdmnLYj
Zs2w2ht27cdgcsbU4+ptT9Qd1er6st27eB615k583yxPP0Y785TjGdyMbhz9 btfRovvDguqc
TKijhrUtx6SQlvkSc4WMYy5n1uNi/WbQWNXRk+6XjfLkyh1SMpUdCUslJkq5 HiqKkgjAIACQ
nnuKgknht1T1OXWO6LM3OcRYkLDgGAlSUp/7oetKcFGf3oGwnsFGIt20k0hl FwbbZSyhMoJS
hKNoASy0kADankMYx4YxhGOGiZiZrzhpatKTis5/1/tKz1LTBkKaKgsNKKSk ZOccsYSrn/7T
9Q91RaDJD6QGxwtwwpM51RxnkQMHJwGeWVZ3n1+R1rfvXKzTTt3/AObudnbu z2TyxtVn6m1X
1D3Vz67WO8pnymbVNWiBcnC4+MJVw1KUSsj1xO7iHu3Z389+/wDzpScR0yrW kXnnbCe0rcbl
dLi7GbnoXb4CweOhsqMncCEt71bgUpxncCVHKeZSA47bq5noa4vxbg02xHK+ sFDDkVKE72kh
RUVbuZJSXCtRUSDxM5KlIXJtV+0XYr5e4tyuDTgLav8AOEMnb1lIB2pUfDng bhz25HmIyi8X
nK967ZxHRYqh9U3SdaIzM2PBEuKheZmF4WhvHeAcD0kk4GBnCSpaJjDYAS0y 0w2kBKG2kBCE
JAwAAOQAFaF6cuaYqW7SwyuS6rZxXj8rYGOa1AEFWPBI7zgEpGSIt0RpzG6M w8Q73b5r0dqC
6ZKnmy6Qgc2kAkZcBwUdpJTtPa3BQx2VYkqq0TTzummkSrDxJKgkCbGcUB1v H79PclDoHIAY
SUgI7ICSiyxnUvx23kpcSlxIUEuIKVAEZwUnmD6DzpXPqtqRWJzToxXMkQ1Y UpIKkBRSopO0
qAVzHcMZ55Tj+Ej1wpy9TtuGS71aS3b0haTMMxXZI353IJTtweJkZSQEnkja eq2nUb6Itpck
uHahpxtalfwQHEkqz4Y785TjGdyMbhym4JsDk3iRJD7kcFSeptxCsEk80pUC nYQW+RG3bwzz
QGv816tGIms5c15nLqOl5smZAX1pxt5bTmwPISoB0bUqCsFI59rBwBzByEHK Eyb7rTDC333E
NNNpK1rWoBKUjmSSe4AVWujdEtuzyUTo6I76ZASptCAkJCWm0pHJKRkAAHHc RjDeOEiav1v8
qWp6Dxiype0pcCc7VJUFJPge8DuIUPApOCMNTlM4Xjo0r/qKFbYHHbdDynA6 lpbYC0BSMhW4
lSU8lciNwwAonCULUmu6Im3iXdWZCXZsiG6XG5K3SVtbk7ipSCojbhwgckj1 xSUDbtjw7dih
BF08n3xy6SYa0IajRmChTa1LSgqGw9sAICeW1IU2cqQG2+DeNBNvtaSgtyWX mXEhfYdQUKA3
q25ScbcjBxhAA5BDY7CcMW34tyb1mPCz6p2oedqewxEub7rCcebUUFhuQguF eVDbjPLBQvJO
AnYskgJURMVxdUuFdVrlPPXCO0uUHno0eU04pSnEOOFKVOcJbRSuOvmrdtAG dhZHV+qmnN6z
MejmtqRS0ZTrt7u90vcp60uTnH2FBbTLYOxKMqShLjZUEglW4EK58zkoUg9W v1++Yc/7Gc/J
NaGj7XAgwOuQHJq25yG3QJPZUhOwbU7MDacHxGRyT61KUp3798w5/wBjOfkm uetZrnLo1L1t
P6eiUuPzQk/XVfjNUDU+qGIsiK5cHJcS2P8AFCFNKKFDbyK3O4gEb+QIKQkk 4IWqNf7j80JP
11X4zXItZWCfefJtmQ/Ht7kFDiHHHlbQEZbKCjG3d2W8ggoA4fe3sBi6xnE4 6q6UUm8RfotU
W6ttteVLddDcISTiQ2t3cUAk5OTgoUCFEhQGMKBCQlQj2yucaY0dbbEh63Wq Q9LuElAbkPuK
wGWwQCdqduz1gAAwrKAkbOGBG6PU29M9VbRWLTtnk57r/UcyBdn2mm5KTBaD zJadUhJJQtW5
YylKh2T2VdnCVHIwtbGT1T3KRc2+PMTAaR1dRjMMlS3ippDpSS6gbdxUU7js CUNukncFcHR6
YY6GF+UW1uQkpZCpLhf2NyhvSNnIg7kgblKyjsgcxsDrEZofS8fUSypxEpi0 x0bHVMSNpkSQ
oBSQtKUkpSEAHaEbVbQNqmktx2hp7d17zy9Fta8Witaxzh0/TlyVdrOzPWyh laytK0Id4iQp
Kik4VgEjKT3hJ84ScgertMcjBplhIL75IQpacoQAMqUrmAcDwyM95KUhS07M SPHhxGYkRhqP
HYQltpppAShtCRgJSByAAAAAqM1CVxpEW5BBLTAWh5Q70JUUnd4EAFCTncAM AnbgONxXE2Zz
yhXbVeLfPQG3bxOizSO0l6QU8+1nGdqfZPBB7KuTew9Ws9jlyHVSIUzCpEUg KX3cRJzhRTgE
HkQeQGQeSSFIRyW5aZciWwXWdNYSylSG1oYXktJJSnPLZgpKDnBSE8LPYDY6 pfeiyUubapL6
nm3Ux3BBQpCVALDIxu7kjPPaQEjBSQQjAaa21tkTiFdOt5rula437cuH1uL+ ORWrdpKUFET5
cFOp3lSAoJCErQlWVj1vJfnTyydycFSdqN+3Lh9bi/jkVFargRJMdmW8hzjx nEBt1t1bakJU
4jd2kkHHIHmUgFKVbkFIWnLTxujK1s45IybfYbASJvWLa3ISvY/KuDaEcgsk 8nQceuPIJxz9
ZtPVpjTMyTLguCW4084y5ww80DtdG1KgrmAM9rBxyyDyQcoTTYdvuEJyAiC1 IiKitPNKdltI
cR2ilRICHUFABYGANoG395szFsmgYfk+2SIPf1d1tndw9m7ZHaR3BIx63GPD GMIxw0aXjlJG
3ETnn2SOprp5Fsci6Fjjpj7VKRv25SVAE5wQMAk5OE8uZSMqELe7hLjbBBju TVl9YeQmSvKE
FbgHcvsg4c7RIA2KyU7SY1kuUKLcYTkKY0HWHANyckEEHIII5pUCAQRgggEE EVzpcR+0Xfyw
Zl3uimy6yhIytSyHFBRWpPZSkbAoDI7SCcoDX+atOtbVmM4llqTaJ5dFug3Y G8IjNS48qO+s
oCUvbnGl7VqOc4yDw1jbgEFKsABK0MzSvmlb/rj3/DPVR9L2+PAulufjuTQJ L20olJ4ak7WH
QE7cIweyRjb+8xtARtj3hXzSt/1x7/hnqztExjdGJbRt/pnMMtVaTd4sdCWV mbJkpjh6QhuQ
QW0kKypZUpATk8T+D3K9ZsPVrTXO0WdBlC5KYcdRJYaLraSEY2IAwclGBhsf wdpR+82f5rXN
orM1jLPUmYxhYdM3R2ZPWluQiVCkJceaUd3EZUlYSpCsjzk8jtIKVAAdptmx 1S9F2xFsu7bT
bAaCmZDhbCeTWVMp2DsjGAgD976zGOxw2LpVr55Zjmtp5281b6QrrKs1nYns yH4sZuSFTZDU
YPcJgIWoqUCcJTuCQVHkAeZQMuIw9Gtzud2tc6XcTOKDLAhqlxw0tTHBaKVY CEAgkqOcHmTk
IILTfObnfY0/pFQq5x9LXSQ5dG7Q1FfiLfdaYbmODentqS2vOFEgHcY4JxtX 1fbt0+32jXUJ
Vmi6ZiPGe9aRDt8BKFmOX0tlbi2ySFpEZKUpHLDaioYCurRqaU6cxM+qfGrt xh2WtBch5Tsp
BdSyhlxISQntEbAsklWBg8x5sJV2h21M79VO/XVq1SLgtbbylcZtYQ2jBVuQ 2AcnYO9PeVD1
hO8bN0e2lXMq3nEMkC/pj3LqjyZbsd2SIrTzhSo8bKwoeBIynu2jaQrkkJWh m0Vx+12+cVSL
47PmpuzcfyaH1dULLb6AH1qIUhCdgUykKUkIKQOYRsCY3UrFc494tiLhFS4l la3EJDgAV2Fq
QcgE45pPI8x3EA5ApbMWmJnmmtqzyhjvkO7Sg0bVeE25SN2/fFS8lfcRkEgj BGDg80qUOR2q
TVzP1HZ78luXNvV6jNdlbcexJCXcp5YcCgMglrJxtypz96DwbRfL7abIGlXW YmKl3dsUtCik
7cZyQMDAO45/ehSu5KiOd3d206o1Upq1LsbsiVgNdYdmtOlSW+ZITtSFjaTj IVmLjO5GWN9K
JmOccv2Z6kxE8p5/u6DYL0LuX9tqusJLW3CpsYs8TdkjaCcnkEk5AxuAPaCk plaq2gtPy7Gu
cqTDtkRMjh7G4L77g7O48+IcDAUEDaB2UDuG1CJnUcuXBscyTAjOSZiWyI7S GeKVOHkjKdyc
jcRntJAGSSBzGVojdirSsztzKu3nV0lmXdRbkMvxo6BCiENb1yLkSr5U2N4D qUjG/mjZtVlX
JfDtcFx1yMgSSx1pCUiQllZUlDm0EgE4OOfLIBwRVLsOnpZvLESYmQYluZTI ffcOet3JzBU9
uI+XBAxtJSlKDgAHaA1IaUs1/t9yTKuM8OokMKVJQl9S8P7yQDuGFdlWNyQ1 6wDbs4aGtL1p
jlKKzOeazK+aVv8Arj3/AAz1at/uCrXaXZ6WOPwijcjft7JUATnGBgEnJwOX MpGVDaV80rf9
ce/4Z6tHVMV2ZYpDDDfEd7C0JB5kpWFcu7ny5YKTnGFIOFDntnbOG1cboy5/ eZF1usmRJ9Uz
0BGzdwoanEJaQAoHJUpPhuBJ2nIWTtKSYtzsGpGZrjbEtSGn5Eh1qNhC0pWU ISsoyoevAKuz
nJCFEhJStCKDMhmLHdW/AmRozTe8u9WcbSjG3HbIQEgfK+fZxhP7HsHVpro/ sN0Ve0Xm5R34
7DbZXHSv5UpS1JDeVNgAgbE+tUE/vOyMIbY49C2pNubTiNSkT4dY58nRKqc6 /wBxav7kfg8J
ppQbTHITxHQTniZJCcYScdpIwVZIIWpi2VDagdEeWxI4ZJRHeO5KeYALasA8 v4OfXD1ueW3i
tdu2bTEROGdbRXOYywXS6vwMutOpkCMkuSWXFoQrhAHKgSE4UNijzwMheQkb +r2CuTRG7q3K
vE65R+Ap+EtQUkkBAAOE89m0pCB4pxw89jZiL1mtLxyicKzXbOM5KUpWYUpS gUpSgUpSgUpS
gUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpSgUpS gUpSgUpSgUpS
gUpSgUpSg/UjKgB4nFbV1P8AnqkeLaUoP1QMGvFubS5LQFjKE5WoecDmaxPu KdeW6o5KlEk1
KHilKVCSlKUClKUClKUClKUClKUClKUClKUClKUClKUCqP0/fuKaw/ml/wDJ NXiqP0/fuKaw
/ml/8k0HxOhqUsqebjKW4kbVKScgH6g8cVntKdmxbym0qbVlpCiNx8/LzfV9 PmrG5IUgGVxN
y1pASFKzjwIrJ5LfbWlc2S0yraFIQtZ3qHMjkASO7zV9K8tv3Zole/IJWDg5 558+ft99bVtb
ZurDjYUwlMZSStDi1JUQPMR6R3/dxWq8wGo7a5K0KddRhpxtzKVcwDndzBHL z1jsqOpGZxX2
QsbTs3gE4OTy7vEf4FBsXyO68XZUlDbSXFBCQCoFXmOD3eHwVFvuvSAkqbWl mOnCThQJJ5D/
ABy76krjdY8uIqI7HQ4lC9yXEqG5PhzPcfgqLuDrUac8ltt5K1J2q+WAciB3 YH1PGgwhTsae
Xmt5CTzOM8sc6mrZcWY5E51DS23MoUjarCAOeADyJzz+7WqxH2xHiEvOKUpA KzzwMnu5cufL
NZTDlqtclMthBcQflZJGRgdw50Gs489JeLiJKnflmStIIJSBnB+Cttb4O26S XgpwoUgpGSQo
Y5nz9/o7q0IaUtRZIZcKlq7III58s/8APz14hw35MUtNrG1BK1hWBt8OWe/u 89BZG47AtKyV
xHJEptIb2lzGzlnPL+/lURqCIjbGZir4620BCtgPI49b3eGDz7qkmQymytvd YbUpllPZ4qSn
I7/Tyz9TxrHJDCnXXEtuMuPsb1N7x2RjGe7I7h4UEY7FYEdEZ1S0OIQVlQTh IHh3kc+/4azN
yXVPtMIjcNKDtZdVnkO7OfqeYVEyXHW9rCVLQhvO3td+T31YLe1JUFCCDuba bORy7JB557sm
gy3vbHglhLqErbOUq7ypPeQod4yTn6lRjTElb+zY4tLyghKf9HGScHwrbnxz 11LzqUNFTRUs
JI5qGOXoNaT7PCvPBfkKSBkDluwMH6nmFBk1al5Vuur8uO2FEPJaKkcynbyU PgwRX9Cpy3Gr
m+4yUBxDylIK05SCFcsgEZH2xX89tS3V2Tp6V1ttlbnV3QhwtkKwpKsnPLnk kf8A3r+h/wD/
ADB/+r//AH68v4h81XXw/SUZaITyI6meIhxYUt1a+Tae0snxPLmrHfR6wwn3 y+9BtjjpUFFa
y0VEjbg5J7/laPvE+YU08pSrfPUolSi6+SSeZPWayV58Tjo6GBvTdsbSlLds tKAkoICQyMFB
QUn7RbbI82xPmFb3VHf4bH4dH9tYKUmcjMxb3WIjLJeirUC6o7X04G95awOZ HMBQz6a1XrDC
ffL70G2OOlQUVrLRUSNuDknv+Vo+8T5hWSlInAwNaatjSkKbtlpQpG0oKQyC nbsxjzY4beP/
ACJ8wre6o7/DY/Do/trBSkznqEqzsSloXKjwH1N+sLi2lFPaSrlk8uaUn6qQ fAVro0zakbdl
qtCdmNuAyNuNmMfU4bf3ifMK2KVMWmBkYt/V2G2GExGmm0hCEIebSlKQMAAA 8gB4Uftwfb4b
6IjqNwVtW62oZBBBwT3ggEekVjpUDXRpm1o27LXaE7cbcBkYxsxj6nDbx/5E +YVsQrQxBaLU
KPAjNnBKWVtIHJISOQPglKR9QAeFKVM2mRlft/HZWw+mK604koWhbzZSpJGC CCeYNaS9M2te
7fa7QrfndkMndnfnP1eI5n/zq85rYpURMx0HmJY4kR9x+JDt0d1wYcW0ppKl DcVYJB59pSj9
VRPjWz1R3+Gx+HR/bWClEs/VHf4bH4dH9tOqO/w2Pw6P7awUqBn6o7/DY/Do /tp1R3+Gx+HR
/bWCvEdZcQ+VY+VyS0MeYNtq+7lZ+CpGd+3B9vhvoiOo3BW1brahkEEHBPeC AR6RUNdLbpyz
MR3psG0MIdlR4bG1ttRU86600ygBOTzWGhnuG0E4CciVqndKv7T0x/6usv8A x7NTEzCFxhWh
iC0WoUeBGbOCUsraQDhISOQPglKR9QAeFZ1Q3FJKVKjkHkQX0c/hrBSoyMEL TdthPJfhW20x
nUp2pWyGUKAwlOAR4YQgfUSnzCt7qjv8Nj8Oj+2sFeIqy7EbeVgKUp0HHd2X loHwJH280zkx
htdUd/hsfh0f21FahVaGXrbbrz1J1dwlcKEwsJe4jzba3sgDONqWlK3HABA5 5IB3qo+v/wB0
Po4/naX/APs6TTIukZhiLGajRmW2GGkBttttISlCQMBIA5AAcsV4uEdUuBIi oWhCnmlNhS87
QSCMnGTisjziWmVurCylCSohCCpWB5gMkn0DnUVD1RYpiGXY9wStl55LLb3D UG1LVnakLI25
Vgbefa3IxnenLEycoT01aXJj7iDlKnFEHzgmtR+NHfKS/HadKfW70BWOYVyz 6UpP1QPNWWlQ
MUWNGitcKLHaYb5dltASOQCRyHmAA+oAPCstaF6u8CzsNPXBx1tDrgaQUMLc ys5wnCATkkYA
8SQkZJAO/U8+o1JbEB+ZHTJiNPvpBcZUpjeWwlSSVZwdva2c+XPb44rbrE38 1f8A9C7+eYrL
UJKVrdfieVPJfGBmcDrBaAJIb3bQo+AyQQM9+1WO442aIaqbbbkuJcTAipWn G1QZTkY24548
NiPvE+YVmisMRYzUaMy2wwygNtNNpCUoSBgJAHIADlgVkpQeWWti5TxcR8uD KUoGdw2cUknl
jHbHj568vssvt8N9pt1G4K2rSFDIIIOD4ggEekVFXrUlus8sMTipCflZcdC0 YaC+JtUpO7dj
5UrJCSAASeylRTMJIUkKSQQeYI8annA0EWSzI27LRb07cbcRkDGNmMcvDht4 /wDInzCtmFDh
wWi1CisRmzglLLYQDhISOQ8yUpH1AB4VnpSbTIVpu2q2Ovl922w3HVK3lamE lRVlJznHflCP
vE+YVuVozbtb4cpEV+Rh9YTtbShS1HccJGEg8zhRA8QhZ7kKIRn0HqJa7ZEd S7Et0OO4lO1K
mmEpIGEjAIHdhCB9RI8wraS1vlx3i4hCWS4o5zlWWXEADA78rHfjlmvVKTMz 1CtBNlsySkpt
MBJTjbiOjljZjHLw4bf3ifMK36UiZjoNSHbLbCcDkO3xIywnYFNMpQQnCRjI HdhCBj/RT5hW
3SlJnIxtPIccdbRvJaUErOwhOSAcA4wTgg8u7I89ZKxQv2KZ9nK/MMVqT578 eQppqMHcNhYP
yzJJ38sJQrPNKRyye0BjcptLhKQrDMixZrBjzIzMlkqSstuoC07kqCknB5ZC gCPMQDUTcNQd
Stq7i7GR1dh9KJGHu2lCwkoUhOMrUd6OxyJydm/KN8xGfZkx25MZ5t5h1AW2 42oKStJGQoEc
iCOeaYnqjKOh2iwIjO22LZoLUZp1ClsohpS1xEpRsIG3aVJSG8Y5gBPdyqQi Ro8OM3FiMNR2
GkhLbTSAlCEjuAA5AUhfsUz7OV+YYqPTKuzN7lR3o0eTGcSlcFuMcPbUgB0u Fagn1yk42nOD
Vq1m88kWmK85StKitMzJlwhPTJL1veYckLMNUQqI4AOEhzP/AHgIUFAcgRit iyeVfJbPlvqX
X+1xep7uF64427ufrcZz45qLVmuYn0Itlu0pWOTIYjNF2S82y2O9bigkD7Zq IjPRLJStHr3W
H2WbYYkpTqFuBapG1vagpB7SUqycrHLHnrPAkGTHLikBCkuLbWEq3DchZScH AyMpOOQq06do
rumOSsXiZxDKlrfLjvFxCEslxRznKssuIAGB35WO/HLNeqVr3J9cW3SZLbZc Wy0paUAZKiAT
is7WisTM+i8RmcM5AIIIBB7wa/aj7bPblTH2GLhEuLTTaF9YjJwjKisFHrlc xtB7/wB8OVSF
Z6OtXWpF69JWvSaTtkrTuTFvWG35sRp8tqSlsqY4igVLTgJGCclSUHl4gHwF blYpH7LD+zov
59FaqtRNjsqQkJs9vSE424jI5Y2Y8PDho+8T5hUhSoM6ngJQwtxCmkP7C0px 5lIWFKbTkErw
ccVJwOZGCAdyN9oiZRmITlY5DyGG+I5vxuSkBCCpRKiAAAASSSQOVQ2ndUW+ +qQmGhY3pWRu
eZJ7AaKuSVkkfLk4UAUkDcCUrbUuYkfssP7Oi/n0VExMdSJyy0pSoSUqKcvH Ev6bRAj9aW1h
U93ftRFSU5SknB3OKyCEeCTuJGU7pWpmMIKVqzbhDhPRmpT3CVKc4TJUk7VL xySVYwCfAEjJ
5DJrV1BeE2xDLDDBmXKUSmHDSraXSMZUo4OxtOQVLIOMgAFRSlSImTKUpX4g qKElYAVjmAcg
H6tYC++qYuLFt8mWtttLiy0WwEhRUB65Q/gmkVm04gmYiMy2KVixdPaC4ffs fGUhvolQ2ZTY
UEPNpcSFd4BGRmptS1eqItFukstaNyu9utsGZOnyRGiQhmS+4kpbbGASSrGO QIJ8wIzit6qD
04/uIa8+x5P/AAzNVWZvkvdF/wBHlg92Jp8l7ov+jywe7E10W63WLbVRkyg9 /nLyWWyhlSkh
SlBI3KAwnmod5Ho7q/LpebdbHEtzH1IUpBXhLSl7UDvWraDtSP4RwPTUmHO/ kvdF/wBHlg92
Jp8l7ov+jywe7E10O43q2W9SEypJBWguDY2pzCB3rVtB2p/0jgemvabrAXPE FMjc8TgYSraT
t37d2Nu7b2sZzjnQw5z8l7ov+jywe7E0+S90X/R5YPdia6bEksS2y7HXxEBR RuAIBIODg+Iz
4jlWaoMOWfJe6L/o8sHuxNPkvdF/0eWD3Ymup0onDlnyXui/6PLB7sTT5L3R f9Hlg92JrqdK
GHLPkvdF/wBHlg92Jp8l7ov+jywe7E11OlDDlnyXui/6PLB7sTT5L3Rf9Hlg 92JrqdKGHLPk
vdF/0eWD3YmnyXui/wCjywe7E11OlDDlnyXui/6PLB7sTT5L3Rf9Hlg92Jrq dKGHLPkvdF/0
eWD3YmrPpG+2XVtveuOm7pDucNl3guSGHQWw5gK2bjyKgCCQOYBGe8VbKxT/ AJkr+yx+bqUS
0OqO/wANj8Oj+2nVHf4bH4dH9tYKVA1pU+FGvceyuymvKEmM7KaZQoLJabU2 laiU5Awp1A5k
E5OM4ONmqPO/d7s//pef/wAVDq8UClKUClKUClKUClKUClKUClKUG3D+VRH5 I9eMNp9G7OT9
wY+3WpW3K+VwYzaeQcBcV6Tkj/l8JrUqQpSlQFKUoFKUoFKUoFKUoFKUoFKU oFKUoFKUoFKU
oFUfp+/cU1h/NL/5Jq8VR+n79xTWH80v/kmg+OLhGjw5zDS2kFtt9O7skgIy PDJzkejxprAS
G7uHCMIWkcNSgD3d+Ce7n+Ot7UYdlvRpjSAgbMOdkAlOTj7Xfz9IqEj3KUpB ZcKHIyTu2uoC
wjlgYyPgr6V5bdtkg+VWXXiuSjiJS0kq3oGSM8s58O7FbN2jqRdbi69sDSFE LWWeZB7sfiqP
kuPussBzaGm15b2NjBHiQEjHM15n3BcorZ3R20OEBfYKckdxPLwoNWQttK1s qBSErCklAA5f
21kClOXgBbh54BJPhisExTa5SShaRgAKWkHBI8an9G7kXJxDq0uJLRUnAG4j Kee7GQPR3UEg
zMMOelxa5RSlOVLXnasEchgcvE/4NRUiYDBLCQ9u6wOwokBKSP4OPNjxreZt C5FkVPddjpUj
LnDIVuACSRgYPfgnPIVDFp9ccSQrJCSkIBPrvDAIoMSw0qW4w4tbay4VZaRg Dl3cyCKnbUG0
R7sE8Tssp3ApyQM93L/3eNYLGz1q5MpDLzyhuwEYOcDGPPy9BrxqmTscS61E dQp1BS6XVbge
15scu/z/AIqDPabegwA91jawBv5JIIGAo8j9ruNYpcVfDl3AuKcDrRKVodJS Dz7PgeWPGsto
mhemnXJfJpDyWzt5bUZQPT5zWO9iVGjtx4pa6iobmVJJJWSMnKs9/MkY5YPo 5BHht5VobdLT
5UXSkABR8D3c/RUki6rjRFtqacTuUHAFBRUgdx+pnn/gVrRXnG7WiMl1ohKy sBKk+c5x4nBx
Ww6IrDgW06lRlkLJyBgeBHp8aBKlPOzpD7MZSkbEnctK1k9xOO7ny5fV760b yuO3cly1IW4p
xORt5JCtv1Tmtyzx5PWY0BpTynHXSXNoKilOQOf2uf1M1t6ltLVuvierSZux 5O7tNkgHmCkk
csjA+D6tBTr2x/mk9YGxIZURgcj2fDwr+lf/APMH/wCr/wD36/m/qGK3Ftc5 KAtbWx3YSPEJ
Iz9T6tf0blO9Xu7r5Qtzhvle1GNysKzgZIGfqkV5fxD5quvh+ktDTnzNnfXH /wDiah9TxA46
zOUzCmoitOKXCl42OA4ysZyAoY5Egjme7vrK9f7LpTTkmfqi6Q7LHddWlCpk hCApa3itKAc4
KtoJwM8gT4GqxI6U+iKStC5ertKylI9Z1hxp3b9TcDivPh0pa/XdbVmVLtap bBj21qWlhttp
LTaFJyjibxnmBjag55Gtp964IuklQuS+C1f2be2yGkbS2rghRJxk/shIxjn3 kjlUDJ6VuiWS
+X5OsNLSHduwLddaWQnzAkch9SvSOljonbShLesdLNpQ6l5KUOtBIWkJCVYA xkbE4PhtFTmE
LHZpMk3aTEnvSFvlLjzKUFsx+CHAkEYTvChlIIUe88qmKocbpX6Jo3FMbWOl 2FPHLq2nWkqc
557ShzPPz1k+S90X/R5YPdiahK8Uqj/Je6L/AKPLB7sTT5L3Rf8AR5YPdiag XilUf5L3Rf8A
R5YPdiafJe6L/o8sHuxNBeKVR/kvdF/0eWD3YmnyXui/6PLB7sTQXilUf5L3 Rf8AR5YPdiaf
Je6L/o8sHuxNBeKVR/kvdF/0eWD3YmnyXui/6PLB7sTQXilUf5L3Rf8AR5YP diafJe6L/o8s
HuxNBeKVR/kvdF/0eWD3YmnyXui/6PLB7sTQXiteO229FnsvNocbXNWlaFjK VAsMAgg94qn/
ACXui/6PLB7sTXlrpc6Lm0uBOvLD8sdLpzMT3lCE/cwgfDQZbL0bWSFqZ66S j1qA3tXFgOAl
JcJOQ4T65CcAgd6sgHkDuy9K5KoumlHGTq6ynkMD9vs1r/Je6L/o8sHuxNVn pC6Tejy5saea
g60sTymdT2iQ7iagBDSJrSlrJJ5JSkEk+ABPcKnOUOnahjvSrYplkBRLjZW2 V7OKgLBW3u8N
yQR9utXTTak3K9BuC3BiNuR0tx21IKUOFKysAIJSDgNkgE9+TzJquyOlfook tFqTrTTUhokE
tuyG1pOPODyNe2+lzosaYQwzrbTbDKM7W2ZDbaE578JTgUF5rSMOLcNPphTW EPx3lSErQruI
6y79w+II5g86qnyXui/6PLB7sTXlnpc6LmmEMp15YSlJWRmYnPaWpZ+FR+1i oS29F6AtVgus
i6SXBcXkOYt7bqAUspwDxFjuUsEkDwGN3eQE62v/AN0Po4/naX/+zpNPkvdF /wBHlg92Jqv3
bW2kdU9JnR9G07qS2XR9i5y1uNxpCVqSk2+SNxA54zyz6RUzOUOsVxK3LKOj a1y5Qal29m7l
b0baVLeK/WgKClZCtyspHNzeMKez/nHanmm3mVsvNocacSUrQtOUqB5EEHvF akez2iO6h2Pa
4LTiFlaFojpSUqO7JBA5E718/wDSV5zV6X2wrauW9SlKzXVe9pNw15ZYBGGo LTlwX2iklX7G
nHnwVHO3ngkFSUna7aK02rVa2ppmt22GiUTkvJYSF57XPdjP79f36vOa3KtM 5wiIYm/mr/8A
oXfzzFepDzMeO5IkOtsstJK3HHFBKUJAySSeQAHjRptw3BTwbWW0wnEqWB2Q S6yQCfOcH7ho
6028jY62hxOQrCk5GQQQfqggH7VVHN7oq7Q0Q9cPw22UolqfkltexzqriW0B KkqQCBtQkner
AKQVBvkWOkODisKS26psrSQlxGCU5HIjII+6CK8dVi9WbjdWZ4De3Y1sG1O0 gpwO4YIGPNgV
7YaaYZQyy2hpptIShCEgJSByAAHcKva2URGEHpW3amZmS5Gor8mTGbUW4jDL LaS/yB4iyE5S
kZxtByVA88DKp+lKqlzjUTgCnrhd5Ri3hh5CkNoCSmO2hfETtKsApOzdxMpy UkkoKCI2z0eC
8xr+7ElpeZgrhdYZjKPJgKcIQNmBw84XhJCOXhy4bFznWyBOkRZEuK287FXv ZUoetPI/bGQl
WDy3JSrvSkjbq+/ljCNvNXHbXqp7VSS3qTq9jUC678oaLzeCPlSMp7ROeSj3 AHOcDdZFbdx2
ghOeQJycV+UqiWg7eLcIUqWzLYkpioUpxLLyCRgqGOZABylSeZHMEeBqnWKK 7qHVqLwuI11a
Ks9YcVkodfSMBKByzsUlJ3EcihO4bwEsXNFptSIiYiLZCTGStC0tBhIQFIxt ITjGRtTg+GB5
q2YzDMaO3HjMtsstJCG220hKUJAwAAOQAHhVotEROEYmUJqyFqeSqMvTd2bi rK0tutPIRswT
jibikkYzkjxA5cxhU5HYMaO1HVNdnOISA5JcQlBdV4qCUgBI8w5nGMkmvdKq lqXCI/K2cC5y
4O3OeAlo784796Fd3ox31EXqwXKbbXYzepLgVrKdpdQwAghQO7stBWU43DBB yBzHeLFSrV1J
rjHsiaxPVXNeWrVFw0i7D0lqZdmvjaQqPMdjtOodUkesdSpBASrxKACk4IBA KVRnQ5bdfwtL
JkdI+ovKl6lbXFRm47DbUFOOTYU0hO9fPtKyU5ACeQKl3alVylihfsUz7OV+ YYqA1SysTm1q
EbhSwiKkukAcQoeACiWlgA79gKsgle3BClNvWGK24hiQpba0pcmqUgkYChwW RkecZBH1Qa/J
UdiVGcjSmW32HUlDjbiQpK0nkQQeRB81TWcTkmMqihpLsd9uS+xLhSmEraS0 6VsOtKSRn96l
YVsQSBuHawQoqPHnNMPceG4ril3tN4PE38iy2rkeIvlzyO0cg53OZ4i/2Pp6 0RmGmY8VTKGk
bAEPLTvG4q7ZByskqXkqyTxF5zvVndgw2Yba0McUhat6i48twk4AJyok88ZP nJJPMkmZmJhE
Ze4X7FM+zlfmGKrV+sin70pUe4yxLmFDyQ9NW20w00psOIb2DKeICAfT2u9I qzxW3EMSFLbW
lLk1SkEjAUOCyMjzjII+qDUauwwnrhMlzi7cESS2UxpZDrMcoSU5aSR2d2cn zmr6N407bpV1
a7owhLdcYqd1xsjJixI0RDs5iQlxrithCggthSe0sBGN4O1SQEkqwko96n07 qb1BrtGj9Xzb
demMuRbhOQ3KLqsqPDe3oV2DnG5I3Jwk9oApVKw9OW1gumQhVx3SFvtddCXe rhWPlbWR2EDA
wkd1bdkt/ku1swOuzZ3C3fL5jvEdXlRPaVgZxnA9AFW1r0tH6VdOton9SrdD lt1/C0smR0j6
i8qXqVtcVGbjsNtQU45NhTSE718+0rJTkAJ5AqXabm3MK4kmAGFPxni4EPLK UrBQtBG4A49f
nuPdj01u0rGtprOYaWrmMK3NgvyZKF3Mx40udNIQ4w+7hlIYGRlJbUrPBHLk OY78Vu22OfJ0
+0x5imFMLUymXHGVpUtCV8QB3eCoFzPa3AkZIOcVIzIsaYwWJcdmQ0SCUOoC knHoNIcSJCZ4
MOMzGaznY02EJz58Ctr6++m2WddPbbMOZ9F1g6YYerbm/r7XTVyssRwtW9iN AjNmcCkEOuFL
YU2E5xsByVg89oBc6Rdlut2qW4wVh1LCy2UAlQVtOMAJXzz/AKKv/Ke6tqvD 7LUhhxh9pDrT
iShxtaQpKkkYIIPeCPCsInnzaz0VxyDIamz3vVhdsOy+zGjssOlkltJ4QSWl q9aN2BjsnJBO
VK2NNxZiXUSHRDDSWlNFTIUFur3AErBSCFDacg5IJNZF6Xs6ZztxhRUQLg68 XlTI6EB3cU7V
c1AjBHeMYJJV386krdETCiCOl113tLWpbhG5SlKKlE4AHeT3AVpqeHasT6x/ b2YxpzN8y5hq
HTfTK/0oseR+kPquipG5+Rm3xFSYmCMx0bmjv3Z7CznaArduKU8TqUj9lh/Z 0X8+isteFtuO
vw0tNrcUJsdRCRk4DyCT9QAEn0Cs272ap3RvIhzzMks8ZTzXCRuKXA3tWy2o hOXHEnKwtQwo
8lhQKkuBxy41HtWiI3s2u3A7NuN099WdvDxnK+f7EnOe/K853r3TE4iYVmOb HsZjX6JHjpbZ
QuPKdLSCEhSi60pS9oWMncokq2K5qPaRuwvfkfssP7Oi/n0Vgh26PEcStpyY opRsHFmOujG1
CeYWognDaeZ55Kj3rUTsrbcdfhpabW4oTY6iEjJwHkEn6gAJPoFRMph7NVK/ t3C7Xu4Q7NeO
C9Ft6UFtLjiQ0+pxK0kqSNiVbUjkrecLSdgSSHLbWpabdDtUJMOCzwmgpSjl RUpalHKlKUol
SlEkkqJJJOSaQMNkiToqrgudJ4/WJi3WRvUrhtYSEp54A9bnCQAM/vjlapGl KhKu60QxOFts
jkhoGdLHEjqSpReZR2nBhIJx60biUgEpyTkIVH2k3azaghx9QXJx6MthcWG/ uJbdWVpKUuHl
h3CSAVBW4EAEKCuLZ2LdDYuUm5Ns/wCdyUpS66pRUdqR2UjJ7KRknaMDJUcZ JJ26tnlhXAK8
WVNxVqOd5PfiNERGN/HYU5ntu4xhacfDXusDkRtUkyEuymXVICFKYkuNbkgk gHaoZ7z92rad
orOZRes2jELDwtS/x20e4HPjq5tqK26munRxHj6P1F5BvSYrTkWSqO280tQR +xuJWhWEK/hJ
G5JweYBSq0dXV/H7r75P/p17jstx47bDKdrbaQhAznAAwBVtTUi0claUmvVT ehy26/haWTI6
R9ReVL1K2uKjNx2G2oKccmwppCd6+faVkpyAE8gVL1+nH9xDXn2PJ/4Zmr9V K6ZYE+Z0Oaxh
xIUmRJmtPoistNKUt9SmGUJShIGVEq7IAzk8u+smsLfrp0phQm0R5b6uvxnS GIrjuENvIUon
Yk4wMnn345ZrVuS3WLzNuIgzJTFwtjbTARGWVBaS4dik4yjPEHNWAMHOMVbN rnsD/wCBV/ZT
a57A/wDgVf2UFHjQ5lj7MqJJml2yR4aCw0pz5a2FhSDgdkK3g7jgcjk0csUp mzsxYsZ0z4kB
Jed3qCXXkscMJQM43KA2lY5hPIHJyLxtc9gf/Aq/sptc9gf/AAKv7KCJ0wqQ YTrbqXQy07sj
KcY4KlNhCe9GBjCioDkOQH1ala/drnsD/wCBV/ZTa57A/wDgVf2US/KV+7XP YH/wKv7KbXPY
H/wKv7KgflK/drnsD/4FX9lNrnsD/wCBV/ZQflK/drnsD/4FX9lNrnsD/wCB V/ZQflK/drns
D/4FX9lNrnsD/wCBV/ZQflK/drnsD/4FX9lNrnsD/wCBV/ZQflK/drnsD/4F X9lNrnsD/wCB
V/ZQflYp/wAyV/ZY/N1m2uewP/gVf2VXtdas0zpOzsHU99gWYy5R6uma8GlO hKBuKUq5kDIy
RyGR5xUwiUXq7TsHUlsMSWNjqMlh9IyppX/MHxHj6CARi0Rpa3aXtIbbSiTc 5CQZcsp7vHhN
55hAPee9RGTywBC/Je6L/o8sHuxNPkvdF/0eWD3YmmUE793uz/8Apef/AMVD q8Vy6yaq03qn
p0tr+nL5AurbGmZyHjFfS5wyZUMjOO7P/I+auo1CSlKUClKUClKUClKUClKU Cs0NnjyEtk4T
3qPmA5k1hHM4Fbbn+axywP2dz9l8dqfAfV8//wB6kYpj3HkKcAwnuSPMByAr DSlQFKUoFKUo
FKUoFKUoFKUoFKUo
Re: A suggestion for user-friendly typing [message #586658 is a reply to message #470153] Thu, 08 February 2007 21:44 Go to previous message
Nicolas Rouquette is currently offline Nicolas RouquetteFriend
Messages: 157
Registered: July 2009
Senior Member
James,

I can certainly raise a bugzilla issue but where?
The problem isn't specific to UML2; I used UML2
to illustrate the problem itself. A variation
of that problem occurs in, e.g., the use of
the property view for EMF models.

e.g., load org.eclipse.uml2.uml/model/UML.ecore

Towards the top, look at Comment/body.
It has an "EType" property. The list of types
shows things like:

String [java.lang.String]
EString [java.lang.String]
EString [java.lang.String]

Are the last two entries duplicates for the same type
or are their types distinct (e.g., because they come from different
namespaces even though they designate the same datatype, java.lang.String).

Or are the 3 actually the same thing -- java.lang.String
and the duplicates and name variations something inconsequential
w.r.t. EMF?

The point here is that I don't know where is the best place
to log this problem because it is not clear which mechanisms
are implicated in the user-level behavior I've described.

-- Nicolas.

James Bruck wrote:
> Hi Nicolas,
>
> I agree that this is an area that can be improved upon.
> Raise a bugzilla or better yet contribute a patch ;) and it will be looked
> into.
>
> Cheers,
>
> - James.
>
>
> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
> news:eqdrd0$kue$1@utils.eclipse.org...
>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>> the user to choose the type of a typed element (e.g., a property)
>> using a drop-down list of all available types.
>>
>> With primitive types, this list is very confusing because
>> it has many entries with the same suffix (e.g., "String").
>>
>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>> that sometimes help disambiguate which is which but that may not be
>> enough.
>>
>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>> ambiguously designates:
>>
>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>
>> The suggestion I offer involves segmenting the type URI
>> using the registered pathmap aliases to make the URIs
>> precise and user-friendly.
>>
>> Segmenting and grouping types by common prefix or suffix
>> would enable a user to navigate down to the desired
>> type more quickly than the current drop-down list scheme.
>>
>> Grouping from left to right might look like this:
>>
>> pathmap://UML_METAMODELS/
>> |-> UML.metamodel#String
>> |-> Ecore.metamodel#String
>> pathmap://UML_Libraries/
>> |-> UMLPrimitiveTypes.library.uml#String
>> pathmap://MY_LIB/
>> |-> foo.uml#String
>>
>> Let's be democratic. Some users might prefer
>> grouping from right to left
>> to get something like this:
>>
>> String
>> |-> UMLPrimitiveTypesLibrary.uml ...
>> |-> Ecore.metamodel.uml ...
>> |-> foo.uml ...
>>
>>
>> -- Nicolas.
>
>
Re: A suggestion for user-friendly typing [message #586673 is a reply to message #470215] Thu, 08 February 2007 21:56 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33141
Registered: July 2009
Senior Member
Nicolas,

Each model is responsible for its own labels. We've recently added
support (that was contributed) so that you can start to type and the
list of choices is filtered down to entries that match the prefix you've
typed. For this reason, starting the label with the simple name, not a
qualified name or prefixed name, works best. In an Ecore model, it's
possible to refer directly to the Ecore Ecore model at
platform:/plugins/org.eclipse.emf.ecore/model/Ecore.ecore or at the
static instance denoted by the nsURI
http://www.eclipse.org/emf/2002/Ecore So a model that's showing two
versions of EString must be explicitly referencing
platform:/plugins/org.eclipse.emf.ecore/model/Ecore.ecore, which most
models don't need to do (unless they are literally extending Ecore
itself, which we recommend against). So generally I'd expect to see
duplicates only when different models use the same names. I could see
that adding a "from blah blah blah" suffix would help make this more
clear, so feel free to request that in a bugzilla; I'm not yet sure how
to implement such qualification only in the case of ambiguity since I
think it would be noisy to always do it...


Nicolas Rouquette wrote:
> James,
>
> I can certainly raise a bugzilla issue but where?
> The problem isn't specific to UML2; I used UML2
> to illustrate the problem itself. A variation
> of that problem occurs in, e.g., the use of
> the property view for EMF models.
>
> e.g., load org.eclipse.uml2.uml/model/UML.ecore
>
> Towards the top, look at Comment/body.
> It has an "EType" property. The list of types
> shows things like:
>
> String [java.lang.String]
> EString [java.lang.String]
> EString [java.lang.String]
>
> Are the last two entries duplicates for the same type
> or are their types distinct (e.g., because they come from different
> namespaces even though they designate the same datatype, java.lang.String).
>
> Or are the 3 actually the same thing -- java.lang.String
> and the duplicates and name variations something inconsequential
> w.r.t. EMF?
>
> The point here is that I don't know where is the best place
> to log this problem because it is not clear which mechanisms
> are implicated in the user-level behavior I've described.
>
> -- Nicolas.
>
> James Bruck wrote:
>
>> Hi Nicolas,
>>
>> I agree that this is an area that can be improved upon.
>> Raise a bugzilla or better yet contribute a patch ;) and it will be looked
>> into.
>>
>> Cheers,
>>
>> - James.
>>
>>
>> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
>> news:eqdrd0$kue$1@utils.eclipse.org...
>>
>>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>>> the user to choose the type of a typed element (e.g., a property)
>>> using a drop-down list of all available types.
>>>
>>> With primitive types, this list is very confusing because
>>> it has many entries with the same suffix (e.g., "String").
>>>
>>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>>> that sometimes help disambiguate which is which but that may not be
>>> enough.
>>>
>>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>>> ambiguously designates:
>>>
>>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>>
>>> The suggestion I offer involves segmenting the type URI
>>> using the registered pathmap aliases to make the URIs
>>> precise and user-friendly.
>>>
>>> Segmenting and grouping types by common prefix or suffix
>>> would enable a user to navigate down to the desired
>>> type more quickly than the current drop-down list scheme.
>>>
>>> Grouping from left to right might look like this:
>>>
>>> pathmap://UML_METAMODELS/
>>> |-> UML.metamodel#String
>>> |-> Ecore.metamodel#String
>>> pathmap://UML_Libraries/
>>> |-> UMLPrimitiveTypes.library.uml#String
>>> pathmap://MY_LIB/
>>> |-> foo.uml#String
>>>
>>> Let's be democratic. Some users might prefer
>>> grouping from right to left
>>> to get something like this:
>>>
>>> String
>>> |-> UMLPrimitiveTypesLibrary.uml ...
>>> |-> Ecore.metamodel.uml ...
>>> |-> foo.uml ...
>>>
>>>
>>> -- Nicolas.
>>>
>>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: A suggestion for user-friendly typing [message #586784 is a reply to message #470212] Fri, 09 February 2007 21:44 Go to previous message
Kenn Hussey is currently offline Kenn HusseyFriend
Messages: 1620
Registered: July 2009
Senior Member
Nicolas,

I just tried with the latest bits, and still see the qualified names.
Anyhow, you opened the enhancement request (thanks), so we'll take it from
there.

Kenn

"Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
news:eqg46h$tst$1@utils.eclipse.org...
> Kenn,
>
> I understand your confusion.
>
> With Eclipse 3.2.1 + UML2.0.2, the list shows what you describe.
> However, with Eclispe 3.3M4 + UML2.1M4, the list shows what I described
> (see screenshot).
>
> -- Nicolas.
>
> Kenn Hussey wrote:
>> Nicolas,
>>
>> I'm a little confused... The drop-down list shows a list of qualified
>> names
>> for me, i.e. I see:
>>
>> uml::String (the String primitive type from the UML metamodel)
>> UMLPrimitiveTypes::String (the String primitive type from the UML
>> primitive
>> types library)
>>
>> Are you not seeing the qualified names? Regardless, I agree that this can
>> be
>> improved - ideally it would also enforce visibility rules (for example,
>> you
>> shouldn't be able to select primitive types from the metamodels since
>> they
>> are private)...
>>
>> Kenn
>>
>> "Nicolas Rouquette" <nicolas.rouquette@jpl.nasa.gov> wrote in message
>> news:eqdrd0$kue$1@utils.eclipse.org...
>>> In both 2.0.x and 2.1M4 builds of UML2, the property view allows
>>> the user to choose the type of a typed element (e.g., a property)
>>> using a drop-down list of all available types.
>>>
>>> With primitive types, this list is very confusing because
>>> it has many entries with the same suffix (e.g., "String").
>>>
>>> There are some name prefixes like "<<eDataType>>" and "<Primitive Type>"
>>> that sometimes help disambiguate which is which but that may not be
>>> enough.
>>>
>>> In UML2 2.0.x and 2.1M4, "<<eDataType>> <Primitive Type> String"
>>> ambiguously designates:
>>>
>>> pathmap://UML_METAMODELS/UML.metamodel.uml#String
>>> pathmap://UML_METAMODELS/Ecore.metamodel.uml#EString
>>>
>>> The suggestion I offer involves segmenting the type URI
>>> using the registered pathmap aliases to make the URIs
>>> precise and user-friendly.
>>>
>>> Segmenting and grouping types by common prefix or suffix
>>> would enable a user to navigate down to the desired
>>> type more quickly than the current drop-down list scheme.
>>>
>>> Grouping from left to right might look like this:
>>>
>>> pathmap://UML_METAMODELS/
>>> |-> UML.metamodel#String
>>> |-> Ecore.metamodel#String
>>> pathmap://UML_Libraries/
>>> |-> UMLPrimitiveTypes.library.uml#String
>>> pathmap://MY_LIB/
>>> |-> foo.uml#String
>>>
>>> Let's be democratic. Some users might prefer
>>> grouping from right to left
>>> to get something like this:
>>>
>>> String
>>> |-> UMLPrimitiveTypesLibrary.uml ...
>>> |-> Ecore.metamodel.uml ...
>>> |-> foo.uml ...
>>>
>>>
>>> -- Nicolas.
>>
>>
>
>
Previous Topic:Profile with enumeration in same file as model -> ClassCastException
Next Topic:[Announce] MDT UML2 2.1.0 I200702091416 is available
Goto Forum:
  


Current Time: Thu Apr 25 16:58:59 GMT 2024

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

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

Back to the top