Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » taking advantage of Java 5.0's support for covariant return types. (2nd example)
taking advantage of Java 5.0's support for covariant return types. (2nd example) [message #414986] Tue, 27 November 2007 14:53 Go to next message
Philipp Kutter is currently offline Philipp KutterFriend
Messages: 306
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------000005090405000309020809
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi, Ed.
Thanks a lot for your replies on the first thread.

I think in the meantime I found what I looked for, and I want to
share the example.

Rather then sharing one getter/setter, and trying to specialize it with
operations, like in Christians example, I do the contrary.

I define the getter/setters in the subclasses, and I define an operation
to access them in the superclass. The full example is attached.

For the many featured version, I need to do exactly what Christian did,
a return type with many=false, and type is EList<? extends OpSuper12>.

Of course, I'd prefer to see many=true and type "? extends OpSuper12",
but you explained that you do not support this.


For the single valued version, it just works smoothly.

Is it a correct understanding, that the following signatures

public interface Super12 extends EObject {
* @model kind="operation" many="false"
EList<? extends OppSuper12> getRefMany();

* @model kind="operation"
OppSuper12 getRefSingle();



public interface Sub1 extends Super12 {
* @model opposite="opMany"
EList<Opp1> getRefMany();

* @model opposite="opSingle"
Opp1 getRefSingle();

void setRefSingle(Opp1 value);



public interface Opp1 extends OppSuper12 {
* @model opposite="refMany"
EList<Sub1> getOpMany();

* @model opposite="refSingle"
Sub1 getOpSingle();

void setOpSingle(Sub1 value);


Means that both getRefMany and getRefSingle take advantage of Covariant
return type overriding, and that both where not possible before Java 1.5??

Thanks a lot in advance,
Philipp



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

UEsDBBQACAAIAGN8ezcAAAAAAAAAAAAAAAAhAAAAb3JnLmV4YW1wbGVzLmNv dmFyaWFudC8u
Y2xhc3NwYXRonZBPTwIxEMXPmvgdNr0zKxfjYVdizJpAIhhYvZLSTpaROi3T lsC3B/8QjQkc
vM2b/Oa9l6kG23dXbFAiea5VH65VgWy8Je5q9dI+9m7V4O7qsjJOxxh0Wh7E xY9CTrIrVsS2
VlGMKj6WX2N5mjSej6SXDtA4ChHhzSZwOrNZHtJhNG3mD5Nxez8cN9PyL0ec UFg7sLjIHWT6
vkSBWdJstdjXp3YXsBzpjZ41vT7c/KNSsAjGC4LgOpOgfXa5I47nrHxOIaej 24L4E67K3y/c
A1BLBwj0pbHS0AAAAHgBAABQSwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAAAB8A AABvcmcuZXhh
bXBsZXMuY292YXJpYW50Ly5wcm9qZWN0vZLBTgMhEIbPmvgOzd4FvXmg20SN N41J9QFGGFca
GAiwmz6+QFl10zTxYLzN/8/8fJMJYrO3ZjVhiNrRurtmV90KSTqlaVh3ry8P lzfdpr84Fz64
Hcp0j1EG7VOezu6ZILDYuzAw3IP1BiOTboKggZLgtVmmpLMWKfWCz1Vx25Ox Cr5Qb6M2autR
FtXkXY4Cqer8BEujfUS2UymzQy5gghrA8L1CTkAYxsKOTfOlIfgR5Vdcr5A9 Aul3jOn2f7Fb
+YEW/gTanPnkmZfGgG36IE5f+9AvC9S5U5my8rMZB01PR4G5LsSvv7D8bJ9Q SwcIzmzLhewA
AACrAgAAUEsDBBQACAAIAGN8ezcAAAAAAAAAAAAAAAArAAAAb3JnLmV4YW1w bGVzLmNvdmFy
aWFudC9NRVRBLUlORi9NQU5JRkVTVC5NRn2QPU/DMBCG90j5D1nYsEUZGFJ1 ocqCWlQRif3q
XMMJf4SzEyX99bhNCAEJNtvP67vnbg+WTuiDeEX25GyereRdmjy2ttIo9hOd 4f2MnsFgnt00
uq3JXi4zKQdzdJrUmHBcS+zBNBq9VK4DJrBhnXmytcYQi24Ct9+/lx4Lk60G 7w8Q3vJMLrK2
cnyxYNdRhfzDY+cUaDpDuJYbRWf4gh8tMVZFj6q9JArbETtr0IY8e4IOykKs 5EOaFH3jOIgD
qHeofw+0/RroNk3+IJLiwz84dtdpMvmIUW/qojQ1HuPWGCW3NpDBudDE0Jzi OQbWHXk6kqYw
5BtGvFpH+zEndnAeygAchxvX/QlQSwcIPxeNYAkBAAD5AQAAUEsDBBQACAAI AGN8ezcAAAAA
AAAAAAAAAABIAAAAb3JnLmV4YW1wbGVzLmNvdmFyaWFudC9iaW4vb3JnL2V4 YW1wbGVzL0Nv
dmFyaWFudC9Db3ZhcmlhbnRGYWN0b3J5LmNsYXNzjVJbSwJBGD1T1qZZWna/ aFcygjZ9NYKQ
BEEs2PB93L5ka3WXaVfqZ0Uv0UM/oB8VfbNIdiFzYeZ88+05Z4aZ8/b+8gqg iB0DIwJ7nmqZ
dC/bvkt3ZtnrSuXITtCvKtIOPPVgICaQvpFdabqy0zLPmzdkBwbGBbKRhe06 /h2Z1L7m2lNk
nvWUAnGq1q3L03r5TGC/NuSGJYGJYzbtOMGJwGh+vyEQK3tXlMAUUgamBY7+ sHK48cuvys0k
0phhG20qcJAf/jBxCGSSMDAhkKo5HaqH7SapS9l0SWC25tnSbWgJr3vNhK1I BmSFzYJA7u+9
NKH0lV78j17s0899f7C7JnyjD3bXBKanP+lW6JMqsGh3oKhHY2mmRcHnrwtp 38oWDXfXPbI+
reWFyqaKo+9x/udjHOoUcu44FTzGeCzrh+FQ6zmOBHcmeXXAqD/jGcknzD5y OYI5nhOMwArG
kcF81NXhXsBihEtsp3EFqxGuYT3CLHIRbmCTNQJbkXL7A1BLBwjjFwq1fgEA AFADAABQSwME
FAAIAAgAY3x7NwAAAAAAAAAAAAAAAFEAAABvcmcuZXhhbXBsZXMuY292YXJp YW50L2Jpbi9v
cmcvZXhhbXBsZXMvQ292YXJpYW50L0NvdmFyaWFudFBhY2thZ2UkTGl0ZXJh bHMuY2xhc3ON
VDtUE0EUvRORkGQIAb/4/6CCv5j1L4pCDIqGJBLAv+smDjG4bHI2waO9vb1W tnZipYWVlcfS
2tLSxsbK43uzC1k8Bw85J/vue3Pn3jc7s/Plz8dPAAzYYYQEjtXcSlI9s+bq tmok07Wnllu1
nGYLFazyE6ui+rLVpnItuxFGm0Bi1npqJW3LqSTzpVlVbgq0FadGUgI7slqw bFfrDZVUczOE
a65KZtK21WgMCsSZZ5oTmVFzfDh3W2DPSjMm1IxylVNWNCvRmlUcy13JZjxD wxsxlo/EWyXP
oi1fKFBvnRxMM1/wy11L+ZImVQyPaPxDNJYRw8WpQmYiRdwYjZlLWcd5WodT bQ4JrOkfmCbF
dO2RiqAXW8PYInBgla9bYhu2C0TUWK44OZxLk+VAdpVzB2Nkt1NiF3ZToxXV LM6XaPW7+gf+
vzcRCOyVWIt2FtgnsR8HaO2+gEnbMW45zwX6VhZqbRmLDUiE0cFihyQOs1h3 QKxYdSq2Yt5R
iYjHOyaRCnRt8OhxiajX0kmJUwEVY7nKGYmYp3JOYjDQurHYOrMuSEiPdVHi 0qJXvl5P8eiI
RKfndVkiwxpxf9TM1xclrkjEPYkxiWtMSrRIrX6yEl0eLSeRDzjpVd2QSHhO RYnJgJMRcJqW
6PYkbkncDjgZy5zuSvR4tPsSD9gpqldeV25Kmz2UWOeZlSTKTOj0dAIcOnLr 0U4vLVt1VG5+
rqTcSatkK4GebK1s2dN8xij3i9Fibd4tq9EqJxv+PYJH+X4QkGOOo1x9ulSD Po7FO4Rs6Pug
WyhOLdF5I9TLR0XHiB+jfj3m59KPnX497uddfkz49W4/7/HjOr++XkfqAhuw keImyn5R5N/r
BWz+gB0C77FHwz6G/RoeZHhEwyRDQ8MTDE9reJbheQ2HGA5rmGY4quFVhtc1 HGdY0HCC4ZSG
Nxne0fAeQ1NDi+Gjd9ReCDP0HKKlQrxFTCxgo/hI2/gZh8VXnBbfMCK+k/YP 3BI/URa/4YSA
56EOvAj14GVoG16JN6hoJf4/1s8qZilGwZvRiyftkb9QSwcIUfhP8xUDAAAb BgAAUEsDBBQA
CAAIAGN8ezcAAAAAAAAAAAAAAABIAAAAb3JnLmV4YW1wbGVzLmNvdmFyaWFu dC9iaW4vb3Jn
L2V4YW1wbGVzL0NvdmFyaWFudC9Db3ZhcmlhbnRQYWNrYWdlLmNsYXNzjVRr c9JAFL3bV4BC
odRq8VGrVttabdr4bmuVYqhRCEigo58yAbeYmgYmhI79WY5fHD/4A/xRjnfD FtLFzpQZuHvO
vefcZfcmf/7++g0AClQkGCGw1PKaMv1mHbUd2pFzrWPLsy3XH6zKVuOr1aQS jBFIHVrHluxY
blMu1Q9pw5dggsB8YNFw7HaHyvToANctj8oqVxIYp3q2qBJIFwZ6w/dst7lF IJFruR0fG+1b
TpdGYJJAtN+cgER1w6xVtAhMYf8vvt/elOVQPsby5Yqa1z6ikGq6Uc3qOWy2 UrjgP8M9SEat
rFY2FAJEG8XDwb86yykzr2artYpq5ko1vcqSQGDMqO1uEJhiwTSxuVnM6p9w fwPC0PS9gsrq
Cf7xgB9yGuk5KT2hEhb2zJWweTogzpgQmCyVyybfKrMcJ5AJUWL5GOZw4wkW TLNU5tbJPj7t
ng6Y/6iDLqM9C0WwUIYshjYQ2cY5cW1/h8Do8so+euZan2kMNuCRBHgQ6+dc mo3E0M1pSMbh
MTxBG2ZKYHX54tcexYt8FocUTOPuC7ZL9e5RnXpVq+5QNquthuXsMwliTkpN 6hvdOp7gwmmj
4bHPOVang0OV5MVmhR4ULfeEwOL5IqyhHnUbbBqnQ0IDH5JQZ6WfVcLZZIjr tWL1pXabDSlf
maV2L5UaEGF3pJR+tSJWK6HqWNCtTT32wCR6+T6eQdw/6rzV8FveycXuhRfj AcSMVtdr0LzN
us2KF7fGXiIE4prrUi84bNqRoHz+7IgGiwXbp57ldHAcT5f4GsOJxO84zEEG JIjgOsqeUYgh
jodwAnFSyOMQ4ToDaZjp85cQz4bwZcRXBDwn4EwIX0V0LYSvI74h5OcF/U0h vyDob4XwbcR3
BP2iUH9XyN8T/JeE+uUQXkF8X9CvCvoHZ/QpPNWHsIaMjMwqRvaRfsL6D3j6 PSh6jr8xjABb
MIGSFwHLXtibyLC4DS+DuMPjK86/5jjL4y7ncxy/4VHlfJ7jPR7fcl7j8R28 D3oXgt8i6MHO
CJTw+2Ei+g9QSwcIoWwvZQgDAABnBwAAUEsDBBQACAAIAGN8ezcAAAAAAAAA AAAAAAA8AAAA
b3JnLmV4YW1wbGVzLmNvdmFyaWFudC9iaW4vb3JnL2V4YW1wbGVzL0NvdmFy aWFudC9PcHAx
LmNsYXNzjZC9TsMwFIWPWyCk5afMDMCA1C5Y6VrUhZ8pKEMkdjcykSvHthy7 gldj4AF4KMRN
JCSWIIY7nHvPObr6Pr/ePwAscZZgxHBufc3lq2icli2/szvhlTCBF85lCfYY ZluxE1wLU/Ni
s5VVSHDAcDUcK6OTPlsypLUMhXsS5o3her7I+0illWsll80Lr2zTWMNjUJo/ 5KoNK8qUqjYi
RC8Z7v+Tuc0HPinjJlutqXLav1EqU2sqvfgpHUiQv/3tv5z/aV88M0xKG30l H1XnTztwNx0z
osQwptkn3GMimeCQVEpqhAnpKY7QET7GCe0YTvvL7BtQSwcIToB9Q/IAAACh AQAAUEsDBBQA
CAAIAGN8ezcAAAAAAAAAAAAAAAA8AAAAb3JnLmV4YW1wbGVzLmNvdmFyaWFu dC9iaW4vb3Jn
L2V4YW1wbGVzL0NvdmFyaWFudC9PcHAyLmNsYXNzjZC9TsMwFIWPWyCk5afM DMCA1C5YZC1i
gXYKymCJ3Y1M5MqxLcep4NUYeAAeCnETCYkliOEO595zjq6+z6/3DwAZzhKM GM5dqLh6lbU3
quEPbieDljbywvsswR7DbCt3khtpK15stqqMCQ4YroZjovUq3GYMaaVi4Z+k fWO4ni/yPlIa
7RvFVf3CS1fXzvI2asNXuW7ikjJCV1bGNiiGx/9k7vKBT0S7yZb3VDnt3xDa VoZKL35KBxLk
b377L+d/2hfPDBPh2lCqte78aQfupmNGlBjGNPuEe0wkExySSkmNMCE9xRE6 wsc4oR3DaX+Z
fQNQSwcIi8GJh/IAAAChAQAAUEsDBBQACAAIAGN8ezcAAAAAAAAAAAAAAABC AAAAb3JnLmV4
YW1wbGVzLmNvdmFyaWFudC9iaW4vb3JnL2V4YW1wbGVzL0NvdmFyaWFudC9P cHBTdXBlcjEy
LmNsYXNzO/Vv1z4GBgYjBk52BiZGBsX8onT91IrE3IKc1GJ95/yyxKLMxLwS ff+CguDSgtQi
QyN2BhZGBoGsxLJE/ZzEvHR9/6Ss1OQSdgY2RgZZsObknMyC4lT91Nw0IDu/ KFXfFaKEkYEr
OL+0KDnVLTMnlZGBH2GkHsg0oH5GBmYgZmUAAUYGdiDJxMABAFBLBwiapF9D iwAAAKEAAABQ
SwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAAADwAAABvcmcuZXhhbXBsZXMuY292 YXJpYW50L2Jp
bi9vcmcvZXhhbXBsZXMvQ292YXJpYW50L1N1YjEuY2xhc3ONkL1OwzAUhY9b aEgppcxIwILU
LljpWsTCzxRUiUjsbuRarhzbcpwKXo2BB+ChEDdFDAxBDB6Ofb+j6+/j8+0d wBwnCXoMpy4o
Ll9E5Y2s+a3biqCFjbxoVlmCPYbJRmwFN8IqvlxtZBkTDBjOOjEvQzZnGCoZ n+T6UdhXhsvp
LN8BpdG+llxWa166qnKWN1Ebfp/rOi4Y0kIrK2ITJMPdf5jrvGOPpffZ4oYq R997FNoqQ63n
P60dCAH1L+Bi+uf87Jm+WrgmlPJBt/NpK+6qdUaWGPp09kl3n0wmOKCUUuph SPkQI7SGjzCm
O4bj3cvkC1BLBwjd9n7y8gAAAKEBAABQSwMEFAAIAAgAY3x7NwAAAAAAAAAA AAAAADwAAABv
cmcuZXhhbXBsZXMuY292YXJpYW50L2Jpbi9vcmcvZXhhbXBsZXMvQ292YXJp YW50L1N1YjIu
Y2xhc3ONkE1LAzEQht+06rpr1XoW1IvQXgzuVenFj1Ol4IL3dJmGlGw2ZLNF /5oHf4A/Spyt
ePDQ4mHIwOSZd3g+v94/AOQ4SdATOK2DlvSqKm+pkXf1SgWjXJRFO88T7AgM l2qlpFVOy9l8
SWVMsCdwthHzFK5zgYGm+EyLwjhtSeB8NJ5uQGbe5zcMNH+Ai9HW/+MXgewn 4km5N4HL34DS
Gt+QpGohy7qqaifbaKx8mJomckxaGO1UbANn3P+Hud16x4RXZkXdhpIeTXd3 2om76pyxJYE+
1y7r7rPJBPvojKbI1u8BBjw95GkPR9wdr7vhN1BLBwjwImMh7wAAAKEBAABQ SwMEFAAIAAgA
Y3x7NwAAAAAAAAAAAAAAAD8AAABvcmcuZXhhbXBsZXMuY292YXJpYW50L2Jp bi9vcmcvZXhh
bXBsZXMvQ292YXJpYW50L1N1cGVyMTIuY2xhc3ONUMtKA0EQrImPNXE1/oDe BEVwMNdILhIv
WQm4XzAunWHC7MwwOxv01zz4AfkosTfJQQTFQ0NX0dVU1frz/QPACMMMPYEL H7WkV1UHS418
8CsVjXJJlm2geDfKsC9wtlQrJa1yWs5fllSlDIcC5xtlZU1oSFK94N1HktPt icBAU3qmxZNy
bwKXV9fFz/vK17V3sk3GymlhmjQW6JdGO5XaSAKz/2jub4pfEsxD2IUYT/hz vrVTGqctfTP0
p5BTlL6NFT2aTpTv+NuuEK5AYI/ngOvscU0Zjhj1O4QB42PkvAucbJjTL1BL BwgpDi+65gAA
AHkBAABQSwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAAAFEAAABvcmcuZXhhbXBs ZXMuY292YXJp
YW50L2Jpbi9vcmcvZXhhbXBsZXMvQ292YXJpYW50L2ltcGwvQ292YXJpYW50 RmFjdG9yeUlt
cGwuY2xhc3OVlll300YUx/8TgmUrYmlCoCwFNwnEcQIGs7TFFEiCad2YJI3T tKGrYg+OQJZc
WQ6hG6V0L92/RZ9SHpJDc05LX/rQD9XTO2N5aRTbqc+RrJHu/3fvaO7Vnb// +e13AHH8rKCD
4aTt5GN8WS8UTV6KjdtLumPolhsz6EZ9eFXPurZzJ0U3FXQyDEpV1jSKJR7j hRt0bTu8Ikr+
xzhQNfa72Ehn6DQsw2UYjgylt6hJkGjczvEQurBDgdY0tOS0nr2l5/nADM8b Jde5o2EndjEE
U5OZ2dHJ8SSD57S9NBHEEwy7F123eD5WD6mLYujRsAe9DF157iZr8zoTSd/U l/SYqVv5WMZ1
DCufaOqtOrMQ9mG/gicZIptbFs1y3rBiSTGYltdiTgcYok3QfkFCJSeHNDyF wwzbTDvP0NsY
69TCTZ51E0NzKhjCGp5GH0PgglimiySIDM0pGGDoqSuSy1ledA3bYtiVNiw+ WS4scGdWXzA5
Q3fazurmnHhdNPZu9riL3J8K/ycDQrzutDe9SSxksyPj0ipe04vSq4ptCFPq uItGiSHezFfT
IiBgIOtw3aX4L0WareS4qZdKzRfae7ldVItnFJxmONSKo+EsztFLpcSSY+OG wZ3UFbkKKbE8
z2p4DucZ1EpgmfLCKYYjzUtJGCSE8IKG53GxURhvJ4xL4WUNoxirCaeKxdYe hYEUXtGQxNVG
YWuPwkAKX9SQwktUezVhplzkzimSH20p98wSCtIMffUUSZkmz+vmqJMvF7jl 1jJGwSTDvo1F
O1Y2zBx3gpimCp9d5OGsWInwoIprmBHVkdlQP9VanxOL/IqGObzKoNASTuoF Sp09FLPPWMDm
NVzH65RkerHIrRzD8U2/IE3io+/TmwwHB8NGKWzZblgPL+mmkatEK/NG+Hhb wzsinKBrV9Qq
JjBDPrnML4bDrfNaAc1goFXliAwT1aIiJ6utJFPyWMtqq2oIf7M9Pl7BG1V8 fAv4uIe32+BF
tlbwlsTbMr1b46sawrvt8V70pSq+bfRVDeHpExltY+rlfMXJsnCi2g0FM9LO VYOevnc94sNT
tfE64tZatWcsC/hjDffwidcfa5S+SLveSzP+dAs7iRpRJX59cIUXHZ6lDwZV 0v6ZsuUaBT5n
lAzqBKMWVYguSp4yfm9DRdU11Inv42sN3+CB6DW+DcMWpk4xZOyyk+VXDdHy 9m/WU04I3wxa
yrK4I0uMlxT8SHXY+tVQBVc3JvQFon5Ax3ba4akIQUGQRiEa3UMHXQEDD6F2 736E7g48xvaJ
6F/YEV2ZeIi90VUcXAebX8ORFWnZQzuZfqIdpesDCNC5j7YX/ejGAD0ZRC8i OIQojtGTvUTf
STaDdA/0RMEQPQGG6aBt5qyCfoWgtH3wwjlN/8LJ9ugaRn6liw7pR6V/4Aw6 qdkJrlYxwnGc
oH+GGE56gD/prrDNDz8CleUvdIlLqPzE7I953k/ScdZ7dp7m+MwKnRLidEmc xsXphZV1TMyv
49p899QaXibiLMMqXut+g06reGsN+h8kr7yKwzQh4CJGCHkKl3GOemACY3Q1 Tk0tWXsdFJoX
trhaQJYCFwEFERjpFD8aU7/2pjNGCqFR15GjJbiRHl7Z8FKmSDndQFc9epBG eSzK90lt3M8z
iHfLz5sn5fUmPBMFyaPu7udZxCv6eVlS5prw3oUjedT0/bwS8cp+XoGUVhPe Em5LHu0F/Lxl
4r3n590m5XIT3vv4QPI+xEceL+7lZ5DS4+5j3K/TAvL+vYb0DHqkED4j/TZ8 Ltf8C8/2S/mE
Ck/aAp0P8dVG2gNJ65DHt/L8Hb6XMdKXEj/gp0DoX1BLBwj+l1SYXQUAALcN AABQSwMEFAAI
AAgAY3x7NwAAAAAAAAAAAAAAAFEAAABvcmcuZXhhbXBsZXMuY292YXJpYW50 L2Jpbi9vcmcv
ZXhhbXBsZXMvQ292YXJpYW50L2ltcGwvQ292YXJpYW50UGFja2FnZUltcGwu Y2xhc3OVVwt8
U9UZ/39J2qTtgUIKbhUEQaBNSokNDwctG1BajJYWG1q0oHib3raBNol5IKAb 6Jxuyl5ubGNz
bO7FnNvkIWWV4VC3ucncC/ee29iDvXWbe7gH6nfuI7mmN2mX/O6953yP//le 57vnPvXSI48C
CFKZGw7C5fHkQEDdqQwnhtRUoDm+Q0lGlVg6EGVCbrpBiWxXBtQQE91wEWo0 rchQNJFSA+pw
P4/jSVVXanmVcKkpPHaJfHRCeSrT29DSPKSkUoRZbfaL6PxGXTpoSpfHE4kG 6yTLmZTKJNRk
Q3Y+hZnhV5M80VQoFk2rfQTqIZRFU81JVdHmk3RWVBmK7pZzTxMbxITXE5y1 vm6Cqznep5aB
cJHAZFQSKtuiMbU9M9yrJjcqvUPslrctHlGGuqWzPDeIpU0ajAcz2KTBdDqx IpCLSBkuwWw3
Zk0geK1KJB1P7hK4FHPYdDXUHt64ur25heBrm6BuYzmcuEygGvMIS2vbtik7 lMCQEhsIhNPJ
aGygsVAmTH1ftwzAAgE3PHJUK1Cmj/wC5fpooUCFPlokIPTR5QKT9FFQYAoq 5WiJwFQZRld6
MMqpCRZyomCBcmW4ZGgJdbXjh8BQbCzDCjS50Viwts2yntepDkRTaRnxleAq 8IwJ+PiqjRW8
2iqB1VhDqBhQ0y3ZLbDEJvzj4XL+CGtl/qrkqFVgHaoI0yNaERtCzfFYWo2l U1IiJHCVlKiO
ZkvbRqpNYL2UKu1Pquputq0qPaiO3bSTwmkerlcSWmG7cQ1v3eL2Etzsc5j3 OuHS2oLemfu8
0hDe2qn2r1diuwjzCiuxjJpUYxGVY7wJ17lxLWFmsQUEerCZd6/MAsc7E0ln kspQK0cuk1S5
AOfbrBWJDw/HY4FMOsrtro1Tyotdj61u3ECYM66wwI1QuH3wipyk2pDPkvGO 3m1qJN3oRoRD
M56LhKmW0IS5VIZysQ1muUErt9JC04Mp5Tu4eRImG6OtHQmdNSVHsKIzKZiV DuZLBy3S5dpq
Wq/lQtH52XkVz/Nb0cQ2ba5vETiBaWR0NLMhhWKptKIFaG7hSrGC3CywE7y4 0LeM+V6YI5NT
tDql8i0Ct+KN7L+hbMnP3Nri6iFftwd7uG1nXZOAtwncjjdzrFNqul0ZVmWV 2HSFbin7FoE7
pWyFlE1tSKr90Z2S/laBt0m6R6N3dYbkdrhHYJ8s9slascs8bNyVULXN/g6B GMKyjN8l8G7c
y/Wp9PXlrWxUp69HarxXII6wG+8jzCiQMFmaHnyAG7IcSaUPCnwI93FhyM5j hrlvnChZLBhD
MILR09MzgUwdFNiILjn6qMAgwnL0MYEoujz4BMc7qe8JSf6UwCF8mkOlGWpJ 6ZmCxuZaT1FL
ov1RNVlQxAIy9jU8hhIKjYlNj/mbQIuUjn5GoE+PyWcFtslIfJ7rMWl2DDcO F81v0IOjen6D
EuNhgX4dbURgux7hLwgM67RHBAb00RcFhtDlxqOFwWXj8eA0g8uRVHpcoBNh D77M76S41nQ8
+CqXeDxh2vq1onBs61M6nGbrNwRUWcDfNF9Ydg5qvcqDb3N1ZCff1RtbZ65a nhH4Hr7PLY73
TEsHiynpaDzGrWG8yp5AodgkvUhys4s3ysPUDwV+hB9zX9O42dfvvELaFil+ pf0UP3PjWe5i
40sL/By/4LqRjUV7yREuK9x61yppRXYerQB/KfAr/JpPyUb7XKfG1GQ0Ivl8 UikeQD1EBdex
QGlLnZdL/ZZPqoVNs6pU4Pf4oxt/KBwBi7TAn2Rrle/cFjlfnRzIDMujlER5 TuB5/IW7CXfj
lq4E52hNPBPj9lpT0D+rIXqr/5vAC/i72ZIsVVY4SLlqmNgyHvyTi0WvbXNP vWieaWz3VHZT
/Ic3RW4u7f2fwAW8xPbqie1UU/FMUrbQlf/HGTdpaAVMdT4QOuIJTsn4PrPk QEORarf6LmWD
8raY/QhrK7VG5RGm2u4bY5G0nyMVijGCVonyqOgxz/eYw+47+Srh7yCH/Cri L26H/CbSnuXG
s8J4CuM5SXuWy89IbT7FeE7VntOY60UVo07jmY+f8lfiPIbpRzSx12jKDr5H 4OLPwddqVHlV
Z9X2ambx57/fe/FRzDyBuX46jvnyViNvPnmrk7d6eQv4ncfRIG+Lc2v4eRVg M7uzgE2tZ+wl
vFYjf7KuwVyEUEMzsJCa0YAtmg1CXxFLsYyfZbgCrzOsOciIktd+FNMPYOpR LPdePIo3OHAa
JYdzs8dABzAlNz+E8pOg606g+TToahcHwD+CFr6u5Otq/2FGdGqWzuLQgw9n 07AHTbgNq3AH
1uIuXIm70cZHIdO6Jg5su2ZdB18eOKfNbHVjA3P4fWPYGuCntLXE/zDmH84G o1Qj7rc4WmI4
SvKsYSivNBytksqj6ObqGMUW6WdvPtRBC1RVFqqvCJSrENQhWyjV1qWafOXD ti7129pRU9yl
UVs7BopAFXTpcVuoQVuXfPnKZ2xditra4Svu0jO2dmwrAlXQpWdtobbbulSX r3ze1qUhWzvq
irv0vK0dw0WgCrr0oi1UzNal+jxlIluX4rbKgXzlclvlBG4ylIOGsoc7RfI0 LsnXr7Loe7L6
67L982Wjf+7jxRsOwHXE75IN0u8cwQ7ZR+Wm5PFubeDSBi6NVSMpNSarRmeV aCyfpPhMlk9n
lWqsOkmpM1l1Osutser9fo82CBzJ9rtWflWA5sNDCzCJfLiI/JhNdailejTQ IqygAJqpAW0U
RBctxg20FAO0DAm6gr9+l+N2asQ91GSJwT4jBh3aGuRh4lVmMJxTuW2WcPyW sW2LzWAs9nvf
NIK92v0OfsuM4C69U91N4KC/fRTvdGCTvtPzST6T9J4sqS6fJMG8+73vdzo5 Ggd4PoIP8/UR
vu73fpycDu9+Zun/EXxSE3jAEHjQ+zlyusYIsC3eh7xHLIjH+DrO1wld4aEx iKOGwEl9yXwB
dsV7yvslC+L9fD0mbfU+IRVOjUF80BB4wPsVuWS+AEfC+6T36xbEk3ydkabo iE+OQTxhCBzT
EfMFeOt5n/Z+y2Ui8py833G6XDw/2ybnPxjFT/hDDufWM8pv2heO4neEejMP nBJmrXDVV3Mf
+LMD/rqFI/irhiN53n8YUBp0wPsv779N42VR/HdTrmzv5PMSaD2XbTuX7TWo ok5UU5hLtwdB
2owW2oJr6XpspxtxCym4j3pxivrwNKl4jvqpkgZpNkVpFW0jhYboJhqmeylG xyhBT1CSzlKK
zlGazlOGXqAddIFudpTQTkcF7XbMolsdi2iPYynt1cp+iV7RetnTWT5Kvaw1 pXO8YYgccNB5
bCAnj5x0AcvJxSNXbns4qER2FColefKQp+AVLO4pLXsFUEsHCBSgMd7ZCQAA dxkAAFBLAwQU
AAgACABjfHs3AAAAAAAAAAAAAAAARQAAAG9yZy5leGFtcGxlcy5jb3Zhcmlh bnQvYmluL29y
Zy9leGFtcGxlcy9Db3ZhcmlhbnQvaW1wbC9PcHAxSW1wbC5jbGFzc72Ye3BU Vx3Hvyd7w+Zx
oRBegYRXIbC5m2SBYAQCNDQNdGlCYkJDob5uNpfkwubudneTgo/a1tZn6cPa ItX6qAKdDuME
p00Mzjj84VAf/zvq6Oi/jo6O/tla9fs792azzZtxamaSe/bc3/mdz+95zuaX /775UwC78XoY
RQrbUpmBmHPeHkonnWysNTViZ1zby8VcTsQ60+ldcQ7CMBSsBSR7htNOZtdu X36JQtUc8qJU
YUkq3WF7FxS2tmu5RNJNZ52YM3QmlkgNDaW82HDOTcba2t1srlmhtMcd8Ozc cMZRuHfhFQfa
59i8Z7hvV/MhKixJpXtcbyBJfRvmFSbqAddzc4cUQpHaXgWjNdXvlCGEFSaW YpnCXe2u5xwf
HupzMifsPtFY0Z5K2MleUcPPwaSRG3SzCtvn2u19Hue2ptOTs3NuojVpZ7lu c6R2ht1OIpVx
Ym1aorkU61AVxnqFnXPskB912Ylz9oCzrd3NORk7mTVRjQ0k7OzqYmg2zr8P gzHg5DqD8NXM
gjVbAO9bjNxCYSuFwt0mwigJY5vC0dk5fX2dfWedRO6kmxuMeyNOJut0O9lU coQx11ttE/zg
TRjb505X2boMWxGRaNcqHIy0n7VH7FjS9gZivkfm8Ffco3c9OxmgNMfjkj5L GdXEuQ47HaRF
uXbmZC5umnTTHD4QDzSYKIdZjhrsNLELu5nMTjzblUmdv6Bz9HQYexiYRUGV UV+TiQ9jL8kC
FzmBqvsjizRszsQM3ssm+000C+pq53gq555xE0ztlNftPDLsZpz+MA4q1M2u RddFW+EqKZAy
HMA9EpIWha7FgsbjBbEL5mbO1PYK8L0mWnGfQtgHpj9iM7cJMtjTErFCxmaJ dXkq2T8V2x2L
pFRY3mdn3cTRwsTwp3oKp56IzJsqdwDbOmi73ixhXGhFOR5ARxjt9M0dLjVx HJ3MVru//44d
e5qO9ZxHpxxhDGUH2CF33TE/m6xXMMnSmiNEs+cg15dnCyOyef6I1PaWoxEP mTgF2rDMyTem
odQIV7+66DReuAN9ELFuxEdNfEzQyyfRD/f3S618wsT9iEs22Cb65Ews6Xez aTuXGFR4ZvFm
ffBWCK1jYiM2hTGgEJnnBMnjyXFRjjNwTZzFOdqmS/GwZO5IZJaG8v+wIoQh iUVCLjK5QSfT
5pGm9Iyjr0hxti0VF+SMiawgl2tkP9Fk8bDkIBcbDpuMwtpI/PTp2pmmiLcu mIiiTkafNnFU
RiF81sQIHmVvzPgHBrdjVpSI705cSEtFOj2id01kloYrVfAUvhDG0wpbFrwS mPii5FNxIunY
mTC+rLBKa9QSralkkirpF1H5VRPP4CLva2wqh5NJhXVBdKbJsoOIOc+ZeBC9 Ys4LJp7AkzSA
XaXXTg7rG9wMbip2HvSyYpcRidfqlZdMfB0vyZt4tmfyzWmB+aaJb8l5F3az bUPp3AWR/raJ
b+CyQllPajiTcI640jOWTl75GmRHdqS45zkZXdZONozvKzT/D9cchv59F52r PIYWeTukPybv
h9hCf4X4W4wiGHL/4riU3yKKUMbPvI1wvJQj3of55i5+auRT8VlsjWP5DS1a wb9lfAJtFD2C
lRyZvhBWYTWfBtZgbaCgIVBg/AiVo/n1S/RcZ8FaI1irpKgp5WNt1jpOElVk qq03seVtrLR+
gq2nKmqsUGgcO97CFpkW3SGtexmfwENcc4oUDxfsUR3sYWlZJYisiQD0Kr0h RnVSW/1tHJHH
BGIKl7FfxrfQ2G5Z0TF86BZq3kK9zEWvYKM1hn2XsZZMB05Zy0uNqLwYx6Ex HJbRFNdGEgH9
5HFQxaLegQHEMIgmuDiGpOZc4yMEnFV830YPK01cDPUuBZVUb8Acy0cn2KnQ u8OzREZJgw8W
/5A8xXzukcXHrajYpG3Zpk0xjPoozdhv1L2N0nVGxzWYdeuMCRwrwsm6KavW czfgMWr6HLPi
caxgDW7Ck/xi+pTef4+/R7C/jLoCpj34CLpJXKytNKlvE1f04ARzwdJxLHoP tWHUhHHgHZ2q
rPOA/ff8LFHu096+gjbV4YdtdRAqy6ioqZvAyWJ0RG+jIjo19TCnrGjdGD7e UXcbWznzSYVr
WO/bvtIKjI9G/RjeyFvawAIBLnLnZ2npc7T0eX6feIFx/Bpj+CIOsoccw8u0 6hJsdgixfrNP
mbe+L7C+DC2B9b6lxf/C1jAeqFj+DorW8D2PhMDSm/SPwWd39RtaQxz+j3hw LX+3k7v/Fs5E
mayDIYzOdEO9dgMDzLytp9mjVrSaCZqcHsPXUIkf0JqrtPQa+V6nNW9oKyyf IG9FNzydlTJK
Ia1ztlvbE9L2LIFRuaxSvuOcytvxEnWIlqbAjvp57HhE7FAFrLkp1gqt5U2y jpH1x2S9WcDY
lGdsyjM25RmbChiLEapcJoXCEzBAvBQgNlb5iNY0xGpBHK2+jBIOzo/yz6dG rarqDeP4zBTf
Gp3vPyPfbWzAz7Edv2CT+VUBY2OesVGTKT16jPVTpEePczTlR6PEoATPtQDy Ct9JTrUEkHun
QcYEcgKfZ8/goO4WvjSBr7Bkb1gc14zh2RtWVd04np/K67uZ0cCvSfwbHhC/ ZTX+DjtZYXvx
B+zDH3EP/lSQyy15+pY8fQsr4MUgl8Wva6VYeaAGyE/zlZjWECDvmIa8JY98 w1I+4ThengL0
G+efCfgXAv6VwH+jjr8jgn8wjf5Z0Dgb8nANAdwkUim7p5zaAdLFAGnSi/um ITXIkXIbK+Qx
gVcUXkGxcT103a8uf0jIV69Py8t3CfkePfgf7FeqAGym1wSM/bdylSpRFPkO pHl/F9/TqorY
WF5jMcr/gq7g2pLS/wJQSwcIxUoKfFYIAADuEwAAUEsDBBQACAAIAGN8ezcA AAAAAAAAAAAA
AABFAAAAb3JnLmV4YW1wbGVzLmNvdmFyaWFudC9iaW4vb3JnL2V4YW1wbGVz L0NvdmFyaWFu
dC9pbXBsL09wcDJJbXBsLmNsYXNzvZh7cFRXHce/J3vD5nGhEF6BhFchsLmb ZIFgBAI0NA10
aUJiQkOhvm42l+TC5u52d5OCj9rW1mfpw9oi1fqoAp0O4wSnTQzOOPzhUB// O+ro6L+Ojo7+
2Vr1+zv3ZrPNm3FqZpJ79tzf+Z3P73nO5pf/vvlTALvxehhFCttSmYGYc94e SiedbKw1NWJn
XNvLxVxOxDrT6d1xDsIwFKwFJHuG005mVyC/RKFqDnlRqrAkle6wvQsKW9u1 XCLpprNOzBk6
E0ukhoZSXmw45yZjbe1uNtesUNrjDnh2bjjjKNy78IoD7XNs3jPct7v5EBWW pNI9rjeQpL4N
8woT9YDrublDCqFIba+C0Zrqd8oQwgoTS7FM4a5213OODw/1OZkTdp9orGhP Jexkr6jh52DS
yA26WYXtc+32Po9zW9Ppydk5N9GatLNctzlSO8NuJ5HKOLE2LdFcinWoCmO9 ws45dsiPuuzE
OXvA2dbu5pyMncyaqMYGEnZ2dTE0G+ffh8EYcHKdQfhqZsGaLYD3LUZuobCV QuFuE2GUhLFN
4ejsnL6+zr6zTiJ30s0Nxr0RJ5N1up1sKjnCmOuttgl+8CaM7XOnq2xdhq2I SLRrFQ5G2s/a
I3YsaXsDMd8jc/gr7tG7np0MUJrjcUmfpYxq4lyHnQ7Solw7czIXN026aQ4f iAcaTJTDLEcN
dprYBUasxIlnuzKp8xd0jp4OYw8DsyioMuprMvFh7CVZ4CInUHV/ZJGGzZmY wXvZZL+JZkFd
7RxP5dwzboKpnfK6nUeG3YzTH8ZBhbrZtei6aCtcJQVShgO4R0LSotC1WNB4 vCB2wdzMmdpe
Ab7XRCvuUwj7wPRHbOY2QQZ7WiJWyNgssS5PJfunYrtjkZQKy/vsrJs4WpgY /lRP4dQTkXlT
5Q5gWwdt15sljAutKMcD6Aijnb65w6UmjqOT2Wr399+xY0/TsZ7z6JQjjKHs ADvkrjvmZ5P1
CiZZWnOEaPYc5PrybGFENs8fkdrecjTiIROnQBuWOfnGNJQa4epXF53GC3eg DyLWjfioiY8J
evkk+uH+fqmVT5i4H3HJBttEn5yJJf1uNm3nEoMKzyzerA/eCqF1TGzEpjAG FCLznCB5PDku
ynEGromzOEfbdCkelswdiczSUP4fVoQwJLFIyEUmN+hk2jzSlJ5x9BUpzral 4oKcMZEV5HKN
7CeaLB6WHORiw2GTUVgbiZ8+XTvTFPHWBRNR1Mno0yaOyiiEz5oYwaPsjRn/ wOB2zIoS8d2J
C2mpSKdH9K6JzNJwpQqewhfCeFphy4JXAhNflHwqTiQdOxPGlxVWaY1aojWV TFIl/SIqv2ri
GVzkfY1N5XAyqbAuiM40WXYQMec5Ew+iV8x5wcQTeJIGsKv02slhfYObwU3F zoNeVuwyIvFa
vfKSia/jJXkTz/ZMvjktMN808S0578Jutm0onbsg0t828Q1cVijrSQ1nEs4R V3rG0skrX4Ps
yI4U9zwno8vayYbxfYXm/+Gaw9C/76JzlcfQIm+H9Mfk/RBb6K8Qf4tRBEPu XxyX8ltEEcr4
mbcRjpdyxPsw39zFT418Kj6LrXEsv6FFK/i3jE+gjaJHsJIj0xfCKqzm08Aa rA0UNAQKjB+h
cjS/fome6yxYawRrlRQ1pXyszVrHSaKKTLX1Jra8jZXWT7D1VEWNFTLGseMt bJFp0R3Supfx
CTzENadI8XDBHtXBHpaWVYLImghAr9IbYlQntdXfxhF5TCCmcBn7ZXwLje2W FR3Dh26h5i3U
y1z0CjZaY9h3GWvJdOCUtbzUiMqLcRwaw2EZTXFtJBHQTx4HVSzqHRhADINo gotjSGrONT5C
wFnF9230sNLExVDvUlBJ9QbMsXx0gp0KvTs8S2SUNPhg8Q/JU8znHll83IqK TdqWbdoUw6iP
0oz9Rt3bKF1ndFyDWbfOmMCxIpysm7JqPXcDHqOmzzErHscK1uAmPMkvpk/p /ff4ewT7y6gr
YNqDj6CbxMXaSpP6NnFFD04wFywdx6L3UBtGTRgH3tGpyjoP2H/PzxLlPu3t K2hTHX7YVgeh
skIVNXUTOFmMjuhtVESnph7mlBWtG8PHO+puYytnPqlwDet921dagfHRqB/D G3lLG1ggwEXu
/CwtfY6WPs/vEy8wjl9jDF/EQfaQY3iZVl2CzQ4h1m/2KfPW9wXWl6ElsN63 tPhf2BrGAxXL
30HRGr7nkRBYepP+Mfjsrn5Da4jD/xEPruXvdnL338KZKJN1MITRmW6o125g gJm39TR71IpW
M0GT02P4GirxA1pzlZZeI9/rtOYNbYXlE+St6Ians1JGKaR1znZre0LaniUw KpdVynecU3k7
XqIO0dIU2FE/jx2PiB2qgDU3xVqhtbxJ1jGy/pisNwsYm/KMTXnGpjxjUwFj MUKVy6RQeAIG
iJcCxMYqH9GahlgtiKPVl1HCwflR/vnUqFVVvWEcn5niW6Pz/Wfku40N+Dm2 4xdsMr8qYGzM
MzZqMqVHj7F+ivTocY6m/GiUGJTguRZAXuE7yamWAHLvNMiYQE7g8+wZHNTd wpcm8BWW7A2L
45oxPHvDqqobx/NTeX03Mxr4NYl/wwPit6zG32EnK2wv/oB9+CPuwZ8Kcrkl T9+Sp29hBbwY
5LL4da0UKw/UAPlpvhLTGgLkHdOQt+SRb1jKJxzHy1OAfuP8MwH/QsC/Evhv 1PF3RPAPptE/
CxpnQx6uIYCbRCpl95RTO0C6GCBNenHfNKQGOVJuY4U8JvCKwisoNq6HrvvV 5Q8J+er1aXn5
LiHfowf/g/1KFYDN9JqAsf9WrlIliiLfgTTv7+J7WlURG8trLEb5X9AVXFtS +l9QSwcI4iYL
LFQIAADuEwAAUEsDBBQACAAIAGN8ezcAAAAAAAAAAAAAAABLAAAAb3JnLmV4 YW1wbGVzLmNv
dmFyaWFudC9iaW4vb3JnL2V4YW1wbGVzL0NvdmFyaWFudC9pbXBsL09wcFN1 cGVyMTJJbXBs
LmNsYXNzjVLJTsJQFD0PKxWsEzhPgcSoEEMdlhg3BBOTRoioW/OoV31a2qYt xs9SNyYu/AA/
yngpiJqocdF3h55z7j3te317fgGwjWUdCYGiF1yadCdbvkOhWfFuZaCkG5mK G2bN9xttn4Kt
7QMudWgCqzHedpQfkkmtC869gLrwaq15TXbUxSYF8r9of8oKJHeVq6I9gYH1 wqmAVvHOKY0B
DBvQMSQwZimXDtutJgXHsumQQMbybOmcdrS47jW16EqFAhvW/+2UBQxqRDJS dsWRIbNz6wXr
Z3vVGFFOIYspHZMCm7/M6Wd1ad/IS1qxVESBdEID05gRGK7V62eNk3r1qGN+ +e9xAumG1w5s
2lcdj9nv+5eu5a1kDweuS0FMoFDHosDaP3cTGPrYDnnwH+BnkK9GAlrn23OV 4mqHo+A4WHxC
+iF+bfCZ5gjkGJrHCGdGF4RRjHHUMI6JnkCpJ6A9InPf5yfjXvELV+txE5iN zznMx3PYOBaw
lEy9A1BLBwjsZIy2eAEAALoCAABQSwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAA AEUAAABvcmcu
ZXhhbXBsZXMuY292YXJpYW50L2Jpbi9vcmcvZXhhbXBsZXMvQ292YXJpYW50 L2ltcGwvU3Vi
MUltcGwuY2xhc3O9mGtQW8cVx/+LLhaPa2JjG7DBDwIYcSWQMS61DXbABDty wLjIxoH0dZEu
cG0hKZIgpo+8mvQZ59E0cZ02fcZ2mvF0oJNAcWc6/tAhfXzvtJ122q+ddtpp PyZN23P2LkKA
BHg6qWfEXe3dPfv7n3P27Mq//PftnwI4iB+4kSdQG0uM+q3L5ng8YiX9XbFJ M2Gb0ZTfpg5/
cGK4OUANNzSB+rVHxq1E80Fn8CaByhyD2aKAO2GN9JrRKYGaHjkwFLHjSctv jY/4Q7Hx8VjU
P5GyI/7uHjuZahMoDNqjUTM1kbAETqw/o70nx+p98Xhz23E2SABBOzoaIYO7 1xwtsKndjtqp
4wIuT8OAgNYVC1tFcGGrjs0oEbinx45aZybGh63EOXOYLZb2xEJmZIDN0HfV qaXG7KTA/lyr
LXM4LatbwZSZskNdETNJ8/Z5GlYJt0KxhOXvliPaCrETlW7sEjiQY4V066wZ umSOWrU9dspK
mJGkjirsJsLg+RMUnD1rryNQNGql+hcDWJeFK1sI79/IuPUCVwiBe3W4UeBG rcCp7KCOvb7h
i1YodcFOjQWik1YiafVbyVhkkoIul6plfPXGjf25M5aXLkINPBzuBoFjnp6L 5qTpj5jRUb/j
khwOC0TJvVEzolDaAgHOn80U1tClXjOu8kJ3vLmYjXsX/ZTDCeyCJh3F0ItR hwM6mnFQoMAK
JM8mYpenZJYOuXGIIrMhqiKy16rjwzhMaMpHljL1gGeDynKmpnrPixzV0cao O6wzsZQ9Yoco
uWPRfuuRCTthhd04JuDLbkXujO7MWbxFitCO+zgmHQJnNwoaCGQET/Wt7mkY YOATOrpwPxUr
B5j84V+9jErhqBzhz2Rs42DrsUg4I7j1G8QU2DpsJu3QqWWp4fQFl/U96Vkz W+6Ct2vMtKNZ
IrnejGI8iF43esg9dzlVxxn0UcKa4fBd+3aIfBu1Hs3whDaeHKU62XzXAthS RidtrxxRyp6H
PD+5LCb71o5Jw0AxWvCQjkGQihIrXZ7GY5M0+7UN5/L6deiDiHYLPqrjY4xe vIjeGQ7zhvmE
jgcQ4HwwdQzz0VgQtpNxMxUaE3h247I+eBVMa+nYg71ujAp41jhH0nh8aBRj BLaOi7hE2uRu
7OTcnfRkqSr/DxUujHMsQkQTS41Zie4o0RSOWPKqFKDaJQKMnNCRZORiiewk Gk+e4BykyZpF
hUag3BMYGmpYLYW9NaXDCx+3Pq3jFLdc+KyOSTwqb3Py1KDlKCsK2HfnpuK8 Ja0g2y3zZKm6
vAuexufdeEaget2LgY4vcD7lhyKWmXDjSwLbpUU5oisWiZBJ8gub/IqOZ3GF rm1UVjojEYGd
KjorxlINYTnP6ziPAZbzoo4n8RQJoLoyYEYm5EVuFTcZts5Hk6xL8wQa5Myr Or6Gl/lNIBlc
fDPEMN/Q8U0+9Nx2sns8npri0d/S8XVcy7g5Za0T6kLN161gbCIRsk7aXFs2 L94Qm5iMSk8g
GrUScvtbSTdeF2j7Hy5FlCLLrkU3c9/6V14myW+L10lUk19d9MlHHjS+rVG7 kH5z5KGIvtPV
hdol1KLrM725h7610FPQM9+Yw5YZObSU/hbRE+imoSexjVq6MwjbsYOeGspQ rgw0KQPaj1Ax
nZ6/Sfb1ZczV1FzBm59GOVj7pI0LhMpjqoy3UP0Othk/Qc1gaZ3hcs2h/m1U czfbdknbJfQE
HqI5g0TxcMYaVWoNQ44VjEh7R4HeIG+wqD6y1riAk/yYh1/gGo5y+w5aegzD O4sP3UHd22jk
Pu917DFmceQayompfdDYUqh5+cUcjs+ik1tLXHuICAgTj4VK2vz1GIUfY2iF jdOISM4yB0Fx
VtL7bvKwkMT5EO/RQMG7XDH709FRK2V6dyJLZAQfBGryD4knn56HePIZw8ua pJZaKUXTGr0k
46jmeweFO7Xem9B9O7V5nM7DBd+Sql20GvAYWXqcsuIJbKW9uhdP0c/Yp+X6 h5w11PrcOquY
DuEj6CfifKlSJ3t7aUYQ5ygXDBnHvPfR4EadG+3vylSleqDYf0/fOcrD0tvX 0S16nbDtUKEy
tNI63zwu5KPXu4BS71LXw9RleH2z+HivbwE11PNJgZvY5WjfZijxXq8Tw5m0 0ibaIMAVWvk5
Uvo8KX2Bfn28SHH8KsXwJRyjWnMar5CqqzCpkrD6fQ5lWv2wUl+EDqXeUZr/ L9S48WDplneR
V0bv6ehQSm+TfzR69le9KS0E4PxjD5bTZz9xh+9gxEvJOubC9Go3NEo3UIAp bxtJ9rThraIE
jayM4fdQgddJzQ1SepP43iA1b0oVhkOQVtGPqMxKbsUQlznbL/W4pJ5N0CpK KvgH0WBax8tk
g620Kh2Na+h4hHWIDNbUEmuptPIWsc4S64+J9XYGY2uasTXN2JpmbM1gzIer ooQ3Cp2UCvGq
QmypdBCNFYhVjDhddQ0F1Lg8TX8+NW1UVu2ew2eW+Mpkvv+M+BawGz/HfvyC isyvMhhb0owt
kkzI1mO0f/Jk6wlqLflRK9BoBJ1/CvI6veOc6lCQh1dA+hlyHp+jmkEN3x18 cR5fpi07Y1C7
bhbPzRiVvjm8sJTX91JGA78m4t/QAfFb2o2/wwHaYYfxBxzBH3Ef/pSRyx1p +o40fQftgJdU
LrNfy3mz0sGrkJ+hVyytSSHXr0CuTiPPGMIhnMMrS4BO4fwzAf6FAP9KwH8j G3+HB/+gNPpn
RuFsSsM1KbhFpEKqnny6K6QrCmnRi0dWIDXxkbKArfyYx6sCryJfu+W65ewu p0mQr91akZfv
EeT75MH/4KgQGWCrvcZgVH8rtosCsaWTUuTbCq0uXdM5ybC8pjs28+TnO/Lv d2nf8up5VIu+
T9nB/9t0A29sKvwvUEsHCJVZjPdxCAAATxQAAFBLAwQUAAgACABjfHs3AAAA AAAAAAAAAAAA
RQAAAG9yZy5leGFtcGxlcy5jb3ZhcmlhbnQvYmluL29yZy9leGFtcGxlcy9D b3ZhcmlhbnQv
aW1wbC9TdWIySW1wbC5jbGFzc72YbVBcVxnH/4e9y7JwQxOSEBJeQgOU5e7C lhCxgTRCCElX
IaRsQgxNay/LBW6y3N3uLjT4VtM2bW1TW7Uxplpfm6R2Mk7itCBxxskHh4z6 3dGxjn51dHT0
Y2vV5zn3sizLLpBxLDO79+x5ec7veT3n8qt/3/o5gN34kQcFAvWxxHjQOKtP xqNGMtgTm9YT
pm6lgiZ1BMNTI7tD1PBAEWhcfWbcSLQ6kwsFKvNMZokC3oQxFjat8aghUN2X Z+pAPL67U8BD
c/t1a0agzp4ZiZrxpBE0JseCkdjkZMwKTqXMaLC3z0ymaL43bI5bemoqQbIP rL1i36rb7yeB
hftMy0ztF3D5moYElJ7YqFEMFzap2IBSgXv6TMs4MjU5YiSO6SOsUllfLKJH h1gQ/XY6ldSE
mRS4L99+ywxO26pGOKWnzEhPVE/Sulpf0wpljEgsYQR75YxOL7aj0oMdAvfn 2SHdOqpHzujj
Rn2fmTISejSpogrVRBg+foCcU7P6PkQ2bqQGlxy4c5Esjw29ELhXhQdFJahD gwf1+cODF6i4
D40CRUYoeTQROzsjDT/sQZNAQ26ykEV6WHq0d2DktBFJFdOGfhUBNAtsMAaN ZCw6bTiiHvLl
0S5LRmdeazvjvElQxf2MutU4EkuZY2aE/BWzBo0npsyEMeoBGTOQW4p0dm/m KvZ6MVqxh6Pq
YwJH1wsaCvWd1qf1YFS3xoNO38qepiEG/riKB7CXcsoGJnsEV27jpIglZwQz GTs5/tVYdDTD
+43rxCRXUDxHzvTrcSchNo3oSTNyeFks2X3hZX3nfKuG113w90zoppXDs2ut KEE3ejw4QOa6
y6UqDqKXAlgfHb1rWw+TrS3jyQxLKJPJcSoFrXetAEvK6BRoyeO13HHJ65PL fFK7uk+ahkrg
wxEVAzgqUGqErGkjkaRUnIxN0+o31h3bGYFsV5+PxNs+DKoIM3rJInr36Cgn 0HEV+/EJjocT
Kj7N1b9o1EzG9VRkQqDYrov2YdWQo17nOq4OrmfeWocUl9hHVXhR7MFnBA7n tq4tzzbtCTM1
kfYKF0hyrNyqnvGdkWI8Bp3r0YjAg761fZGvQHHZuLB+n///XcyuNFScBB0r 4wK+VeyVxmPj
lGAMporTOEOOl6WqmxN72pejBH8UWrgwyYEaIZpYasJI9FpE4x0z5PUndFBA hBg5oSLJyCUS
2c5CXjzFCUqLFYOqsMA2X2h4uGmlKmytGRU12Mmtz6l4kFsufEHFNJ6UNzR5 xNJ2VLOK2HbH
ZuJcr4wwyy335Tii7APpWRWfQl8JnsMLHjxP94Q1U0HFlznt3JGooSc8eElg i5QtZ/TEolES
ThZikS+r+ApeoQscVd/uaFRgu+OnrLlUalmdr6o4h6dJASq6Q3p0Sl7kVnCT OOO4lWS9FF+I
tXDhkorXcJFHQsnw4sgwI3xLxbf5huAxk72T8dQMz/6Oim/ickaFyJnWzoWa 9isOx6YSEeOQ
yYV3w+INsYXJqC6HLMtIyHw0kh68KdD5PyQ/hUhG+ntwLf+tP/sySXZbvE7i XvKsiz5uFEDh
ix+9byhcnaivhNoFUFFKPXR9pp57qKeNnoKebm0OG2/KKWX0XUxPoJemHsJm aqn2JGzBVimy
HNscAS2OAOUnqLiRXl8o+wYy1irOWsHh7Ky9SoC8z4D2DmoXcIgf89glcBkd 3L4NX5+m+Weh
3Ubdu6jlPv8V1GizaLmMbdrP0HpS2+h1+XlgDm2zaOcWY7gkRg3ZAHRcbKaK U4lhNOIRBHEK
7XgUn8TjEq/cRnDwKmm8A50EuE8qLD6giYITz2EOpg3m7JSpsJnDWIIPLmfx j4nHTc89vPiI
5medpC71UhXF1ewnNTqUwB14tyv916AGtivz6CrAicCSVjtoNyBBkpLkqBQ2 YYrwpunN8qzc
f4+9h7M/tw6RoYVsHcZDROyWWhaRvJ20IkQqKlLfUhR8iCYP6jxofV+uoSLh sL8n5wMj0tpX
6HbVb7ttq+MqTSmrC8yj341+/wLK/EtdD1OX5g/M4lh/YAHcQ+fSNeywdd+s Ocr7/bYPb6Y1
bZFRe452fpo0fYY0fZbeZM6TH58jHz5PbnmB2F/Ew3gJOi5I7WttyrT2I472 xehytLc1df+L
1ewu2/g+CsppnM4kGrOz5BGp8QnyFlutihQ8dUdyPnayrI5I5/D4uzjF3Ute KZX7vkZrLlJy
XMqIhCqHZZ+cKzhz6OhwzHqLnKHQc7DqbYkbgv3HC7fRp2OlkZulkSl8KCua yag3yI6jtzHm
p4EJF25o/qrmOUSzA+YHqMCb5PAr9LJzlUL8LTLd2xJTswnSJhuEJVOAWzHE ZYIMSuO5pBKF
UCoqvFxCBtJ6XCQZLKXd0aM5S48aTWSzPpFmTS2xlkkp7xDrLLH+lELgVgZj e5qxPc3YnmZs
z2B0w1VRyIh0UjqIlxzEtkobUctCbKi6jCLiO8uQn5WkN7TKquo5fH6Jr1wm 1y+Ib4HK7R16
Zf4l/Ph1BmNbmrFNkgnZ+iKekoxt+BK1luxYpCg0g84/B/IKjXEgdTmQD2RB 1moBcvssnrnJ
fPM4L8AN6nxxHheoUNzUKgNzeHUpiXbJY+A3RPxbSo7fEfXvifQ9kvwH7MUf qTj9KSNxutL0
XWn6LnwNX3cSh+1axCFMB6+DfJ6GWLUWB7kxC7laE8t4iXAO31gCtKv0nwnw L6jGX+n330jG
3+lt4B8URv/MqNItabgWB24Ryc03cTrdHaSXHaRFK+7NQtplZ5Vbue66zmm8 gE38mMfrAq87
3QT5xvWsuPyAID+kEvQfdAiRAbbSagxGxb6iSGwRG7tJp+86aA3pA4QjDcsP EFtmgfx8T35/
n/KWdy+gV4IfUnTwf5uu4q1C738BUEsHCPpKrjFyCAAATxQAAFBLAwQUAAgA CABjfHs3AAAA
AAAAAAAAAAAASAAAAG9yZy5leGFtcGxlcy5jb3ZhcmlhbnQvYmluL29yZy9l eGFtcGxlcy9D
b3ZhcmlhbnQvaW1wbC9TdXBlcjEySW1wbC5jbGFzc41T227TQBA9m7pxkhp6 4Q4lbSG9gagh
vCCl6ksUpApDqppW4nHjbt0tztqy11X5K+ClEkjwzkchxo6JotKUyrJ3dnXO mT0z41+/v/0A
0MSqiRLDahj7tjjl/SgQid0OT3gsudK2pAPbTSMRv2huU2zCYFjJwV4go0TY on9IcRiLAbbT
7R0LTw+wZYb6GOFCk6G8KZXUWwwTa+v7DEY7PBA1TGDKgokKw7QjlXiX9nsi fs97gWCYc0KP
B/uZEO2LQ0MfyYRh3bmikRaDJVzNtfTaAU+IurhWkP8x1skRrSpu4JaJmwzP xyQZRjvc+8h9
0XCkFjEPEgu3cYfBdPd2OruZ6/rlqRhqvtC74vAtV58Yli+4mhf2+6GyUy2p 6I5MNJGqrvQV
12lMBXlzFc7m03H16kZRUa3WVsvEQxqRY37C7YAr395TSRpFYazFQZcwVMRQ dU49EWVBDfOY
ouoODLhS+Vl/hhYuTUW+3TCNPfFaZqSZkYZtZOlJdlspEedVEomJ5fGje74Z DJW/7TCWQPNG
7yT9AgY9NGm0q9LuJa2M1sknZ6h9oaAEi741WoHHBG3gGkXWAITrmM4lZjBb CGwUAsZXzH0e
8sv52bMRrlFwGe7iHqHu59gHuUaTogxT+Y75D2eo/zyn82pEpzLUWcBicYf/ 8dsX8EtYyr+P
yGXml9G0N7BSrv4BUEsHCDhPsEAJAgAAKgQAAFBLAwQUAAgACABjfHs3AAAA AAAAAAAAAAAA
VgAAAG9yZy5leGFtcGxlcy5jb3ZhcmlhbnQvYmluL29yZy9leGFtcGxlcy9D b3ZhcmlhbnQv
dXRpbC9Db3ZhcmlhbnRBZGFwdGVyRmFjdG9yeSQxLmNsYXNznZZrU9NAFIbf BaRQVwEveEVQ
UVtQYgsIWkSxgqBV1CLe+GBIFwiTJp009fKvdMbLjB/8Af4ox7NLKFKT9NJO 283uvs++5+xJ
tr///PwFII21GNoYJh13UxMf9WLJEmUt67zXXVO3Pa3imdbe5VxBL3nCXdAN z3E/Dadi6GAY
bUia/2B6xhZDp7dlloev04q5FpbMEGDGtE1vlmE60RIhucrQkXUKohsMBzkO oDOOdhziiOEw
Q3tCTujJmbZ4UimuC3dFX7cEw5GcY+jWqkTStd/ZIYNhmGrFyHCKguky9LLI V9ZTDAuh4cjx
THJn1LDMUlloorihGU6x6Nia7XjmxifNh2fi6MfJGE4wjLdgiuMUTjP0Ga7Q PWXMH2dIJhq1
QHvkrG8Lw2MYiIxpL/50nfjTTcU/xHF+fxjpahhRjtK7jpZLpcgdkeNNObrM ceUfR1Jf35Fa
Zc9RZI7keFOOrnJc2++ogRypVeiu2dm1knBTZGopYuPUlKZ8pTnGpa9ju3un EFVrQ/XWYjjs
56tqMBeVtVY8TnPclB5PVHNXa/NiAytSHgtiQ69YXpYMMywm/rMgDMcV2vyy upuasjjLceef
NPqIqr/BOksxpOoV/7b+Xtcs3d7UfE2cnqdZjosYjlL7D7NA9QLHURxjmGig ogIBSxwa6GwZ
r5/KQH2OI4OZOsGHrr7MkcRIneBD1c85BnCODpPGqjWQ8YJjEjcY4nmn4hpi wZSH1NmQZ/2Y
RDB0581NW/cqLk1dbewg2znLZxosx1mqpp5527CcsmlvPhbellNg4Eu2Ldys pZfLoozrZL6d
/o6w3l55IFOrhz4xdFF/N7Wm0UZvID4y+o2+foB/oas2NSuuRhjpltBLLU5t 2duHI6qfSsqn
zNCvnNs18hXx7zj+ucroVJqc0vfvzPH1snUGZ2mcyf0JJg3Wkp6Gki4oEt0k waRLtaSVUFJC
kajigkmjtaRXoaQxRdLULgSQUrWktVDShCJRDQaTpmpJ70JJtxQpowgBpNu1 pEIo6S5V1Rxl
fM4nXfZrqXNk9Dvu1XKY4tA4aY7ifpBmPkqj4UGQZjFKk8HDIM2jKE0Sj4M0 T6I0A1SXAZpn
UZpJ5IM0K6EadGBVtV5Sxcnf13ijevvp+626M5lS0OsvUEsHCCEps+hdAwAA hQwAAFBLAwQU
AAgACABjfHs3AAAAAAAAAAAAAAAAVAAAAG9yZy5leGFtcGxlcy5jb3Zhcmlh bnQvYmluL29y
Zy9leGFtcGxlcy9Db3ZhcmlhbnQvdXRpbC9Db3ZhcmlhbnRBZGFwdGVyRmFj dG9yeS5jbGFz
c51VSW/TQBh9k6QxSQ0pS1uWlLWFLBQTyp7SUkJLi0IBpaoEt6k7BENiR44D 9Mgv4MyBKxc4
sKOChOCExJX/A3yeuOkSF1xkyZ75Zt773rz5Zvzj16cvAE7gqoIQw5BllzXx iFdrFVHXCtYD
bhvcdLSGY1SWu2PzvOYIe4LrjmUvKIgwnJJAvWLU6kIT1TuablWrlqmZlmPc WdAMItRWw6Yo
xKBWrXlRucH1+7wsGNLFdQS0Wt7UPEOnhJYeGo5+l2FwPeRq6c3phI6VjLLJ nYZNWWc3gh0u
/n2p3irzI5QkOmyYhjPCEE6lZxkiBVIcRxgJFZ1QFWxdMm5jjvfn4ujCdpdk B8PZVDD5qzny
6dkYGHpUKNjktnaq6EA0ht1IKtjDcCTgTqjoQ5T8FFPTpZmx6cI4Q6JomGK6 UZ0T9gyfq5DD
24qWziuzLpD6XjDi3DXq5MB/yWfYXHJIwTVe8+i6jLo3OGHZMws1CnWnivf4 A65VuFnWrs/d
E7qTT99WcJihb+0uCt2yhTbenNWJAaRUpJGhTRSFCq+T0P2pdNveeyg5I9+J ozimYJAh+bd5
KjQcp/otC2e8VfkH1ydfLvmoJdW5fratiwzRbcEd4RnFcDP1j1Kddj8G1Wp7 av+ajuM0zio4
w5DdwIlRcQ7nGTbNW0uHdahd2Sr7SVDb+hQMMwwE0klGOdwmexkCW8CwtWlf qTGXa/GkfXbF
35qV+BMtvBe7XqvlfGLL83YsYWvCzi2He1tT1454AM+vVjheshq2LiYM90Ak 1zk7x1xv6eqd
Mk1hy4oUdRygKyBMf4IQ5D1ArYh7M1A0JqNxeph7a9F7M0WqNM7o25f5iC2Z z+i6RY1t79H9
Br3fEXuDXW/R+5omhLGX3rslZZpAk0Q/RddXBj3IIolB7KMRtUmG/SQEONiM /KZhpsgRhkPo
91IvkJwQfTNZyvUcHZGX2W8YeIo92a8YWMQRhkVkGZYGw/S0dPRQdlA9KjhP CxsmHReQwqjU
0NNk9TS4rRz9GJlU04FwLMmoM4STnoyCJyOReYduN/UHnPqK/Ctpl5srKpXb K7gTLe4E5R2B
SziKix7hUdknNFvL8XiFRyGPg2EsAPKJL/JSAOQzX2QhAPKFL/JyAOSiL3I8 APK7L3IiAPKn
DzKEK/I9SZUKWfhdctfwB1BLBwi7XNzLbwMAAC8JAABQSwMEFAAIAAgAY3x7 NwAAAAAAAAAA
AAAAAEwAAABvcmcuZXhhbXBsZXMuY292YXJpYW50L2Jpbi9vcmcvZXhhbXBs ZXMvQ292YXJp
YW50L3V0aWwvQ292YXJpYW50U3dpdGNoLmNsYXNzpVfZc1NVGP+dpDS0vdBS WS07VNKN0ICi
bcVCCVIpKZCI7Hib3rYp2cgCFGR1Xx98Ukcf5EEHnyqOOPigODrD4IzLH+Dy whu+Ozhuv3Pu
zW1achPQzuTe73znu79vP+frt39//gUAP173wCXQkkwP+4wTejwVMzK+nuQx PR3VE1lfLhuN
TSxDx6PZyIgHFQJ1o/ox3RfTE8O+/oFRI5IV0OLJQSO2Q48c0YcNgaY+B0yb skQ7BSq7oolo
doOA29u0W6Cih0jVcKNGgwfTqyAwQ8M0VFahFrM8qBNYdZfgGupRKVBl9AZD 4Y3BnoBAbV80
YQRz8QEjHdYHYjS1vi8Z0WO75YdcW8yK7Eg0I9Dm5Eax0NCVuZOxxlJ5PP+9 AHWFw50biDYj
lKUf2/WUBTJ9MGkKCKz1moCRWDSVMXxGfIh0Mm34AmZCOpv6puaIgFWh6HBC z+bSBFtZFoFW
1GAJlnmwVGBRSWENy7GCmTR6YnqGcVvqbXJCVxKd1cxqo4b78YDATkdLTNn/ 4ml1dsQI5Gtz
SRkEgU3/0wQVqha0edAqsLAUlIbV8NE+oyeZyOqsxbTAMudoWQokeLvGhl3L Ch42sgoqOhQ1
0r2bVd/0yoA+KAP6kMA6b++9x0yqeFjDI+gQmEkVgVAuxR5hCTOfjUUsjCTj 8WTCLOBAXzQj
IbqwwYNHCaDg1Zbc0fAYugU80UwgnsqOKYv3SYs3aehBg0DNoDGk52LZHj1j SJSAhi14nHI0
RGCOt7d4OcskWxW3uHQCqcIodKiub7KFFFgzhdVVGlE2aGP5QLMyPOgXaHDo /1BuoF1GYqeG
XQixxyMMgWQKtHudDg25XyyHEuhJDbvxFP01gehyu1+WhDOWEikG58Hekob7 pb79Gg7g4ITh
/jKGO2g67KypP5VSIdI1DCBiaZLMUprkvlOIeC8MYZhVagHZUVpfCq5koKIl zVeBOqIhhviE
+SUDJfeLa0qy1kun0oOjPFPKOsI7OzLpGBG9vPcyqvQWlaw8HvRpI8N2lZdn kb6UIP7SIH4p
llQ5dBRTKTTFSqGpUPFwyeTdWlqu1Hn8JgvCsOIuks6jiJ0ssLxMTyqhyqR1 8ZSU9lvSzkJm
DZcXyiM1lm9yJee9qzJXotWhZC4dMbZE5fwxe8qcslrmnnBd4Y47y2DDnSws Yxu4OXiy9ORA
R6qGNIc8Pqu4OsK34HtW82eovgztOqouY+Yn0D4mswL38VnPN9DKZxuqeZfW YQ1mk6OZH2IO
5vI9bxJnPt8LTM4//EB41I7gZdkAFxaSdmGRMmAXzXNJyeaWq1jMyfgKVo5z 7Va6K9V3HUrf
XFPO0iepVfByf0KzZmmukFOOradJ6fmBiNKPbqppFqCrH6BW6lwj0HoF68ZJ rhcItl0Fk/A2
aprJ3fgh6pvb3Fex2YVraGm1bDPjsphhBAKQF+d89HJu20Z7+hid7bx8n1A2 N5s6bZu7sZWS
QlHSepec9ii7jdbNs33stvww9/q4J2M5A+75f2KeB11Bj3KGk4ft5HbppOs7 UtNknBs+Uupu
w/wjj+qAIH85/t7l72v+fmm9hmCwue0KdnRULKi4jmpJh/O0jICkxym2R4nt Kyd2SIk9XSA2
WExsRImNlhNLBB0VpYLFv1LURJJOMk3AXoZ6P8v3ANbhIMN7iEE9jH5ebmFE uDOIYRjI8I46
hihOYRQX2Blv8PZ4B3G8hxQu4iguIY1PKfUVsvgGx3EDJ/AjxvATtfyK07iJ M7iFs/gd5/AH
EWQBvMX/oGS+rQIglSaCUJRZAG0c5LPMipu2NVD/cVoeJu8Ekd20Lc87Rd5J Pt1EzvMukvcM
NbtpW553g5rO0Ao3bau1eDfJO4fz5N2yebLctsoSVtbJcjP1X+Defpu6YFOX bMrEldQtm5IF
2o9Z3r9kgcr6rLkNl1rsKVwcKlyMFC4SXOTplEnTMg5odok/q/p4K7myR1xi 6inxZsEp4bI7
zoXnGNzCU8JluSvkFGWjP18G/X1H9DEHdE5ONvoLZdDHHdFPOaBzsLHRXyyD /qUj+mkHdM6z
NvpLZdC/d0Q/64DOUdBGf7kM+s+O6Ocd0HvuuGOc0X9zRPcWRXfhFfV81cJ/ 7V9QSwcIM9IX
pS8GAADYEQAAUEsDBBQACAAIAGN8ezcAAAAAAAAAAAAAAAAnAAAAb3JnLmV4 YW1wbGVzLmNv
dmFyaWFudC9idWlsZC5wcm9wZXJ0aWVzdY4xCgIxEEX7gblDwC01uYAKFgpb aGVpo8mwRrI7
YZKA3t7EbmGd7r0Hw0dYqa3l+BE/PPMeG5oZN9X1rkNAePhJ+8mG4iipndLr G4Ka38iOglkI
5+P1sOkvp6UWQxnq6/cY/scoHEmyp4TwukvSlsfoA2kWR9LWICQuYknrSkms QeCSY8k/UbdX
8QVQSwcIw7mUpIwAAADwAAAAUEsDBBQACAAIAGN8ezcAAAAAAAAAAAAAAAAs AAAAb3JnLmV4
YW1wbGVzLmNvdmFyaWFudC9tb2RlbC9Db3ZhcmlhbnQuZWNvcmXNVt9vmzAQ fq/U/8HynhMH
pkkdglRbl02RWqUKrbRXl16oNTDINk363+9MDIGMbNWSTuMFcT++7+67MxBe bvKMPIPSopAR
9cYTSkAmxaOQaUTn8WJ0cfHh48ijl9PzsxCSQkEwu+XJD54C2eQiaFN9TD0/ I3ghotQBOiP6
ZEwZMLZer8dFno4LlbLvN3PahOh+yPp9HeFPJh6GXcfJE+R8JKQ2XCbQQ68r 6SVDkolSQ40A
+cqi+GxmwyiRPMfgq+KZK8GlcUhS3y/nLcbOi45bBSux6aZMbU4IVxnXWqwE dk2w/MC8lIjs
dKmdDVtcPXioZVyVoO4wSkf0HWP1o+dv4SxgbFSVmErx7CtwvMMA7hJWoMBK 4LCxuhsuXyip
SoT7XFTyMaI4pC2oveCuBkDGRVnaOvBWaGF2NlaUNQY7upQYdyVDwx5np5gh cpe1pQ9ZV9m/
0dp/Q60HG/R/16C/3+C/GrU/MGq/P+ojtXb7tKc1Wk8jtyv1Ne26E9Zr19pY o9mR0rcj3Oc8
NPiG/JSr7Wb6f8j9y3ZZ2xvLfficNeSnfZNsVSX8QRvFExNR7AV2Ki/Qzw1+ 8bTLSMEsnQDT
ptIQvoEEJRLbCOnQt6RfuOG181VfMGx2NrsW2uwoLIkF+KTSKgdpdMdjffft QPv8/eVhXTx2
ABAdnXYaJVhHij+pM/gC7ddw/DHp4iFa71cFTT8BUEsHCKccALYUAgAA6ggA AFBLAwQUAAgA
CABjfHs3AAAAAAAAAAAAAAAALgAAAG9yZy5leGFtcGxlcy5jb3ZhcmlhbnQv bW9kZWwvQ292
YXJpYW50LmVjb3JlZGnFW1tzmzgYfd+Z/Q8M+2qHi7FjZ+J2mtbZOonTTd1c mp2dDAEFq+E2
mMR1fv1Kn7ENRphgkHnoxaBPOjo6OvqQ4Pjjb8cWXlEwxZ7bF5UDWRSQa3gm dq2+eP3jtNkV
P374849jE+tWoDvToy/Rf4TfDj5aBao0kFTlTo/I9b44CUP/SJJms9mB51gH XmBJd6Phqsg0
WWTWghKqLCuk2MXYmCBHb2J3GuqugZZRZjIo9HxDnyITQr8MJWUNYQl2S/mo xDIKH2GzLz7Y
P9GVdmY+Dsw5vr0Ibt6wPsAzUdCNEL+iKGhZ7j5VjhAlCMeOZyJbmAToqS9+ 9l71AOtueIAM
L0B/SaK0KGTGaVy3na5T8L0pDoFkuUGwTvEbIgMlyw3yRxRc3UGxZkThFaOZ 7wUhLa60egtM
pEE/8HwUhPN4g78vZEZnn9G8L/q6hU69wNHDS9ICqVa3X0hDn7SoA9k1MroA NUY9vsVmOFnV
19Xk3Ar97RV+RdiahKsaFaXbza2yvaXXIz2wsJvo9djRbVtY3MirW8liNIL7 w/Ojipa1q7kU
KDmcnnhh6DnFq81h9gI9hcUrzeI2qvQ7Ha3CtapZrHoBRm6o0wmyqo7KP9Bx uK50SvzEDbEx
gqlJ7OconPuIYjoajE7H8bsnATYttOkJDKb8AE2XTVMc1tphwAFQsJjzByjq +XIqEjzkrkNi
c0yCFJQSyJdXDY+0i11kJrvyd6D7k0tSMIbecQ3bYJC3dhWl11A76spY2nKj qcSgEgeeeAGZ
F+s6z51b3Tp7eyN13jqjq/NA9izFEgWLtj8g7C3L+JtlhIebb/ZzOlZ4CG7O 3j4xrs9Gr5es
63cjuffz7E3ewCCtgZcZc2CN5cWJMTfRk/5ih2uy8kdWGr88KnGUzAHeYYjT Ao2jSk8qCMqa
qmgcBi9G+BLo9inSyb9o+GU9WeP4K+DZZKkzj+fiTG/hWlqRvTP/ZkYysJV/ M8t/t/KvVM0/
QwU188+4UmQ8mn+fs5K4uOUV9ryLT8ORkeN5UIbheXdXg8Mhw8O+Tq/mVsrD hIfhcPjPkHH9
Tj6xrvh5HqWNl+epVXseBVvY82hQ/Z5HULT5eZ66H8+jnSjseTSofs+jKPh5 3q78l/O8wefh
0zPDnmKe12m01V7hNO++3jRPv+5ddO95WR6wxuhhecv75vtVp3kANkV1zpSD oHa6h/u1PIrC
Zqmzgim3wTQ/y4NOpMWSz7+dHrQ9Wx6gYKigZv7LWd7pafe0u93yesTzWkrh NC/H83inebp3
onW5pXlAGy/PqzrNA7BFPQ+Cavc8iqLHz/P2k+ZBJ4p6HgTV7nmAgp/n7SnN GyQ7xU63RGHh
ZJlbc0JWLleNpUDlu1D9rj0Eidwb6e68hLVQFr89/kJGeH2zgXvCmKL0Jj1X udAfkS0KL1/w
4iCqL7bbcRQ7tMYwXnrT0AMTu7qNw3m60ZZGJsj6Z/MwjmGmz30Pu+H0w7/N 1mFD0LSG0GzR
v1S19d+xtL6fGaIq7WVMW2WElJMse7WMSZa9syJkLcXVSBYq5yVZlUp2jF3L RtWLliI3C4lW
lRP6ae0uYWh7FwlrWoZm20R6JC0T2l2qWKWXq1gaoKq9KEKTK9cr+8m1bosF VFyytqXF8tIr
IGfM/2y9trq7KxRaY8zrXIUqh4lJoqgZgtWI7LQWkZ8CFqvlCpYGEGFHEVq3 csGyHzvqNlhA
xUuwKr+cAHAXkqtWwlChtV3kuuHpzdgJ+sYKr/UWDtvUOu+0WAhR5c4ypsPK I8pplr0NuGmy
KfkIWUfP1WgWUHHbDpToix88JAuwi0m2RBoLrfGVLKSi1Dej9PQdko0yXjmK 0Q4rlyx7h7pu
yQIqnpLllRYA8GKi7ewuWmhtJ9F2kmlBLyuPVenTE1nhwTuVTn4eqy4e0RYR GiuPKKdX9q7j
ZlrA0GvGSXc1egVU6fOcinYfuVkswPbTsLPVethKPnSVyGmh8Ta78e1PXb0E BjVLvE3YNOjA
gk8NV37HxoG2MFwliuGQ17K3x+sWMKDiKWBehgvAC0l4Y8FOrtc7NL6LhNtK EkOGgjuQ4BIx
tql+VZYYGQGQL9AIjZVhlDudujaufowY6o2dTimdhtKRi5xO3TTb5x6j0vjp FPvFSN4vD0F3
uUyL8YuPAqXqgyXAm54N2w82IIih4v0eLFEUlyxlVfL+yibZ/M6WoB9pyeQP wSXDxfZ7tgQo
GELY9xAUI9y0W78GDO6YH5g0lYQblaYMGt+NsveTJlko/J7aGcphkCHjYry2 HvzOVV28QuN7
4jWVmhRntuoD0YzPAPJ36zOW0nethmPs+DZKjMtgQeQmsneviAKtfOg+eX1x 6E5QgBdfvknV
kMRe+vN3iPmTRJHVRNLGLP758ByylBRL2ORuo9MqlLDB64s5CRv7FUferwFB d3k9x/DJ2QBy
0ZwNgmrP2SiKe045G5NvfmkbdKVo2gZBtadtgIJT2lZ6FMpZfMZ70vm70xkO VZ3FQwOs7Gj/
62CGo+bvKPEniSLjtQ4eS8uPzcnP9Y/Vl/zk6v9QSwcIZIt/U3EHAAAHQAAA UEsDBBQACAAI
AGN8ezcAAAAAAAAAAAAAAAAvAAAAb3JnLmV4YW1wbGVzLmNvdmFyaWFudC9t b2RlbC9Db3Zh
cmlhbnQuZ2VubW9kZWzNVstu2zAQvAfIPxDsuaKtQ1EYlnNw4iJA3RhxCvRK UyuZKCUSJP3Q
33clUUqVGg3a5CCdRO7OcHa4oji/OReKHME6qcuETqMJJVAKncoyT+j3p9XH z/RmcX01z6Es
dApq9gXKdf1CzoWc9cAYgddXBB/kK90Mgwnde29mjJ1Op0gXeaRtzn6s72lI AaEtDJJAKGkc
NIlQZCyeTGJ2V6cNuDspr2M7rZQ0gFtpQXhtq4QyzIvgzAujwEVCH7mVvPTM WRHWahAbdchl
eX+b0Mv5gfgbL7CS5fOsLIy2HmyPDOpQWdTFIvitMqGRGbECvsKxLu1TvRNC m8rKfO9XElTq
Eppx5YAuasw8Q7TM2wIX/dot65wNok0+2rbh4ifPwRFjIZPngeQddxDiw2op SaUz2vGdgo3V
R5mCXfHgo7eHrgRCmqV7jheSPrBWd6tkqbhzKKQJNYMLALY97KYdqsWtgPuD RWCpvcyqzhEi
LAZguZcq7eeM1Qasr7Zo93KvpQAXBLfLBq6ENqPZ3SNkYLH5gVxWwtC0NS8r ykYlaYufqoJe
1Jw92/s/hsejMTy+UN04RA264E2GPxgzkg6vlTBtRtTgQdF79jdSjqS/ayWj szv+Z7tl0Zz1
Qc5rhwtqnb7w/wHnuMc7RNi6fvwXBpTkHy+exW9ge+c264pt+Rq27u9bX6fY H/cpnP0FUEsH
CNWRaVYLAgAAjQkAAFBLAwQUAAgACABjfHs3AAAAAAAAAAAAAAAAKAAAAG9y Zy5leGFtcGxl
cy5jb3ZhcmlhbnQvcGx1Z2luLnByb3BlcnRpZXOtUUFugzAQvCPxh1EabhW5 V02lqFApUgIR
4QMu3oBVx7YMgeb3tXErtbce8Gl3Z3d2dhxHD3hutLlb0XbDS+zTzZ/cl9Z7 vo4jH20XeJ6n
1mg0J3AaSWpD9slXgUyjKGs0HVMtYegIxnp4ENTjnYaJSLmy6CGFIjDFfVOY XSVJgrzIUL6h
rnbF+bCr8wynqjzlVb3Pz3ANq3kwDRNH9uE4oGj6WXOHYld6BDOGPLeeNfhQ X+bwImRYGyQG
Hg/M57j+Wx90/yZNl7NuyU/4j19LKjfy1gpVOIOxxasemRVMDTg656RDrR4F J/uNT9OU0ie7
Gkmptm0cfQFQSwcI90j1DfkAAACrAgAAUEsDBBQACAAIAGN8ezcAAAAAAAAA AAAAAAAhAAAA
b3JnLmV4YW1wbGVzLmNvdmFyaWFudC9wbHVnaW4ueG1sTU/BasUgELwH8g9b eVe1pZdSTHIo
FHoo9NCei5itT55RUd8j/ftqEpLuaWdnZmdXDPNk4YYxGe868sDuCaBTfjRO d+Tr85U+kaFv
GzGgsiYkPLSPRVupQt5R2jYglA+/0ehz7ivi/2EZnN7GU9tQulqCvWrjVgYE zhldXQvBG5c7
4qNmWyLD6af0PiLT6DDKjON3kOoiNZKaVEpsGFZY6hoNdEDOOYdnzl/8TUYj XSaHQlmZUtUs
WbOcgsXEduXRfWxZu7Oc8e5HtNU81ebYX09cRgR4v2QJvj+3fs731/8AUEsH CO0qMerhAAAA
fQEAAFBLAwQUAAgACABjfHs3AAAAAAAAAAAAAAAARwAAAG9yZy5leGFtcGxl cy5jb3Zhcmlh
bnQvc3JjL29yZy9leGFtcGxlcy9Db3ZhcmlhbnQvQ292YXJpYW50RmFjdG9y eS5qYXZhvZXN
bpwwEMfPIPEOUylS2pUAhWvpKlWUSHtJq25ewJiBdQO2ZZskq6rvXmO8QWWh arbV3obxfPx/
M8hOV6sohBXkVMi9YvXOrIfv9HeHc15syoveSKNQEvpIagSh6gRfSCsb1MmN eCKKEW4+RmEU
slYKZYYI2jCpMcG2srZQmNzeEWqE2rvI9CDiXRxDgTXjcadRxaWgEMeDoIcd Ql6sfVqeFmuo
hAJj3a0osUlc1MaAVOKJlaiBAFVIjD1HsxOlC0dCd8AFj0mhjbK1gDZEaxDV tJLTgrw8VnKt
cYl7tL4O8xkSauSorJLyMLyuaBgFxg2qilCE1zSPB/hibG8NhzHBjygM3JgC PwvNeN2gEdyW
0YZwW8VDVENKMsQuzjRYhgwmogOnOjhWubnfPny+v7mFT0sDsT9Bk0wTN72T cWbef3D7H8m+
oekU73fH8RlE8R3tiizXsKXLHNv1tiuu8tQal/9KqFyzN/WamUof4/+03jwR KTsjUvYXSNmI
lJ2C9EXKs23pqNcMUh/jkXrzRKSzbemo1zxSNiKduiXYdhLV1TnJZlvOA/rI EdM7FmH7C/Dw
NulO9i8QllDs7QHT/+tq9JRv6fWn69S/FVCjmfo8509I0+klGoW/AFBLBwje rayX2wEAALwH
AABQSwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAAAEcAAABvcmcuZXhhbXBsZXMu Y292YXJpYW50
L3NyYy9vcmcvZXhhbXBsZXMvQ292YXJpYW50L0NvdmFyaWFudFBhY2thZ2Uu amF2Yd1b227j
NhB9tgH/A5sukN20sWu2fWm8QS51CgMbx7AToH0SJJl21JUlgaKLDRb595K6 m7qQsi5O/BLI
EkXOHJ45Q1KTwdlZrwvOwEi3nRdsrJ/Jpf97sHvDu/lhsvzALga9rqPqX9U1 AjZe99E3deOY
yO3f2v+p2FAtctHr9rrGxrEx8VvopuG4qI82K3ptY9Qf35qq616IWs38YYTt 5miFMLJ05I08
CJ364fwcaGhtWOdbF+Hzpa2D83PfwcdnBEbaZTDAaKBdgpWNAaG3N/YSmX2v 1YQA3baIalgu
UHUdua6N3bghIiqwtX+RTlxAbICRg5GLLOKPvjX9oQAYmcYlUvVnoDOvfx4N 6G/+0QqpZIsp
oisgaoqs7Sb1RLWW/otLlVpFXhwUtxgNQls8SJC1TANy5aK86Yyv7lSd2PjF f8HDCXw1rOXn
k4APJ/6TNbIQVglahmzZaqahA8MiCK9UHYGowwB/gL4RapULwhkH33vdjjeP nWCyQsZZ6gb1
/du589vJ97TD2dfxDOwsCDasNUDT6/sx+AxOIgNPPEblm+I6zJ+n+aRBmxYK 7Z9Z9UyI88dg
UNK4hhFbKLP5+G7ytxA2l7Y3EbEtSgSXqDRaGdlJbHP9RqZ5NpkuHq+nt2yS c8hOlcbs8y9O
2E3DMsjHTxmeJYQAGMtIH06/X5mG9bVwoMXWQXgIWf9ghDaXwe/RgF6/nvoq UBWXgsjmbZB8
IwueH9eIBD19/JQ7I1QDwOJpNp4PIZ2C3zLApOKmIcyo4RK81akoqmaojm7I mFMeq5qg2jUY
XNl4SRNLpvnK3fj68Wk+Vm4fnqaP1Jlf6maGNkzQQhu2zAl/9MqE0IZCNtwM c9ALc2ISOYYG
Tdw044N71XphmTsgAA4XAcA0XNIOE26GikLVT7m/nv5Dncimxk/7OLfw1DLL vXY9W0ymf30Z
F/g2rBjDAbFbDWDqHB+9ee7B2qM6KfZa20qv1SPzmljjb5jAZ5HjrRMfShL/ nSoWlFKsylF9
gLR8k87JLUX1g+PwCzl6CxxiMbdrSsVAjzsThPvDbKbEy7rfK5GHR65FDiXc aHp5R70cJsnS
7vIuHL06P0TLOwopW95lBVyBWD44h9dKZrmiPMxCqcwnR+lcQN07bJqLfIuy XJF31ZJBRO52
Azm9xCtysf6EsJMKWs8BNam/hO4zwf/1XUY3POLohi1G9yHSdDo/i6M76eQc UVcslz/H9+bS
80MU5mzjyh/NVPUde0YV2bS7Ze6LA5w1zo1g/ysMiM5pLuQxYvd2g1YGMKYq dB/Egt/DLt4T
NY1flr0pC2QBTbgR6SN7ReLEK/5UFcKuRD3tDb888r4uRdiHMtUu+qcZw5eE 3n+zHvDDvkrA
L6sQkD/maU0hYBlUoZxCwEYpCo+EolBI0aJFVYqicE+K7iXQ8DgEGgoEuvwE lBZoKYVgOyN+
/9+OQsR7MglEWWMJhfAPAxqlKBvC35lEDI32EociaNIAWTRjH1L0FByp7NKT NVbCjprS5tjg
hDQn9jgHUObd0cuhnqPL++De1MqB7an4k4PWdEF+5cAay+lClZWDpC7AI9AF WKwL8mmLNW5D
F+Ax6AIU6UJp3JvbUXhfRTIKhdraVyS+ykgtxbz2UruL4CtTA1KaRC39Va41 XQVl0YtNlxNZ
GQxXfgEnvVYJ0DGivfkPwpK86HAvrIKtC5z9Ri6q6QuKUZn3/L0UBoUe/IlW hkXHNw1CxzLz
CnyZ4YkSX69br66WXeUV+XLPCqt8ubbJMt/4UW6dr2fPIDKoXKFkXJr7JQSB VeAGAHYyPogE
YNVc0lY8V0V+iaKJr2qTai8sa0vBGeAZRmZQ3BaVnfa5s9YyAMvWkYQkqwHP TM/ijJeqf0v5
ye+d9/Q3/3PKIZyNvqpkurub/OuPIEH5WPMRBGuKICgbQTADangcjOJrzVJu VmPUm5QMWCgZ
qeO2miNIXHfTcAQlSm8qRVB0YCGKoKACZwfo5FndHoQSfcBvj098kU7KS24b vJ+zb0Et0iU7
Wb42mn3EVS3Nx04t2Sfa1EvETir7JM+z3nvswKLY4Y+Q3nXswOLYSR/b1L5y k/tHr8bXb8na
4IpLuLgyWLyKC2uDuXy/c2RRv1yVqcpuXrtqBJ+rzJbQMSVnDtInR6/s7ytI /KNpMHiv+z9Q
SwcIwXPJd1gGAAAwPgAAUEsDBBQACAAIAGN8ezcAAAAAAAAAAAAAAAA7AAAA b3JnLmV4YW1w
bGVzLmNvdmFyaWFudC9zcmMvb3JnL2V4YW1wbGVzL0NvdmFyaWFudC9PcHAx LmphdmHNVdFu
2jAUfQaJf7hrK0HRSMQetwwxTXuotImq7H1ykpvg1bEt26FFFf8+O05KCg1d 2SbtzY59zz05
59gOx+NBH8YQJUJuFM1XZubn4dMP1ceLq/TCDcJBX5LkluQIQuUB3pNCMtTB Z7EmihJuPgz6
gz4tpFDG70gYlRoDLLIgEUUheFAayoIvX6n2m8OGx5vJBGLMKZ+UGtUkFQlM Jp7TJ1AoFWrk
hhgqOIgMzAqhECkyEPFPTAwMIyxmUTxbSDmNwngWhXY+DHbgyNMDaL8qfZvv FjITjIk7ynPI
kJjSNgWiEHQp3T9h+t5XlMyXAESMzh7mjPLbDkkCR+g8R7OQ3wjfgKO5kODG FcVtFFqIE9CW
liXDBs/P9hGjsGEahXL3x3ONXQ7uRtfead9MTkeXvrQS3Q9z5KiIVaXJRhkz mgDlBlVGEgRX
B3hvrPTaTZalRDV9Bw+Dfq8yvmdhbtDqzHXl6JqwEht7d47WajWm2jhkqJDb DszmKPA4zj43
hURYAtx45xzWRiIcV3VZxtNtjXNlgGqIaUqVzZWNG2FAeArUIgobA00Nuh3D lyGddjeYPfpu
xy3jh3XDzuj3mnBWtOrMI+Eunm2N2nHaF8cy5UOrCUOi3nokW2eFUUgY24Be iZKltr09TV4u
AinqRFFZHTW3NwgapmHDpuNEuaW5qgzt8PMY17rLKen84U+XC+lLEHvG1AX1 XVL7+/FM+dWz
erkV9V6V9V51hUUObAaPp3t0WV1qrwt3c3QP4/3PEtm6O1wm25fH30xlC7ft 9f8XyeeJtvN4
rnd37sgp+RtJOxLWGuh1cfVF3YH1692RdVDQejsO0rpE81xU//xFOhT1eLyO WCmJIkVN0LHj
eHeyp0+06JRtLWgK+/b7nl7ALYRh9dYN+r8AUEsHCLDYuNunAgAAVwkAAFBL AwQUAAgACABj
fHs3AAAAAAAAAAAAAAAAOwAAAG9yZy5leGFtcGxlcy5jb3ZhcmlhbnQvc3Jj L29yZy9leGFt
cGxlcy9Db3ZhcmlhbnQvT3BwMi5qYXZhzVXRbtowFH0GiX+4aytB0Ug0HrcM MU17qLSJqux9
cpKb4NWxLduhRRX/PjtOSgoNXdkm7c2Ofc89OefYDsfjQR/GECVCbhTNV2bm 5+HTD9XHi6v0
wg3CQV+S5JbkCELlAd6TQjLUwWexJooSbj4M+oM+LaRQxu9IGJUaAyyyIBFF IXhQGsqCL1+p
9pvDhsebyQRizCmflBrVJBUJTCae0ydQKBVq5IYYKjiIDMwKoRApMhDxT0wM DCMsZlE8W0g5
jcJ4FoV2Pgx24MjTA2i/Kn2b7xYyE4yJO8pzyJCY0jYFohB0Kd0/YfreV5TM lwBEjM4e5ozy
2w5JAkfoPEezkN8I34CjuZDgxhXFbRRaiBPQlpYlwwbPz/YRo7BhGoVy98dz jV0O7kbX3mnf
TE5Hl760Et0Pc+SoiFWlyUYZM5oA5QZVRhIEVwd4b6z02k2WpUT1bgoPg36v Mr5nYW7Q6sx1
5eiasBIbe3eO1mo1pto4ZKiQ2w7M5ijwOM4+N4VEWALceOcc1kYiHFd1WcbT bY1zZYBqiGlK
lc2VjRthQHgK1CIKGwNNDbodw5chnXY3mD36bsct44d1w87o95pwVrTqzCPh Lp5tjdpx2hfH
MuVDqwlDot56JFtnhVFIGNuAXomSpba9PU1eLgIp6kRRWR01tzcIGqZhw6bj RLmluaoM7fDz
GNe6yynp/OFPlwvpSxB7xtQF9V1S+/vxTPnVs3q5FfVelfVedYVFDmwGj6d7 dFldaq8Ld3N0
D+P9zxLZujtcJtuXx99MZQu37fX/F8nnibbzeK53d+7IKfkbSTsS1hrodXH1 Rd2B9evdkXVQ
0Ho7DtK6RPNcVP/8RToU9Xi8jlgpiSJFTdCx43h3sqdPtOiUbS1oCvv2+55e wC2EYfXWDfq/
AFBLBwi61No1pwIAAFcJAABQSwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAAAEEA AABvcmcuZXhh
bXBsZXMuY292YXJpYW50L3NyYy9vcmcvZXhhbXBsZXMvQ292YXJpYW50L09w cFN1cGVyMTIu
amF2YXVQwUrEMBS8F/IPT1xYLaRBr5aiiAdPK/gFaTqbjbZJSFJZEf/d2uxa RfY2b5j3ZuaJ
smQFlVQr59+D0bvU5Fn8JWZy9ditvoFghZfqVWqQC7rCXg6+R6zu3ZsMRtp0 wwpWmMG7kLJC
9cZHVBi2E3YB1cOmfYHKQnHMcMY5tdDG8jEi8M4p4jznuaMAHxBhk0zGWXJb SjvQ4Dr05OZj
tK4xNHXbbLyn59EjXF3Xom1qMdHravGA7f45/JS8jThVa0FPuf65RprMDl4X l/nAnClDDYsg
E7rj28a2N4qMTQhbqUDLNmGfpmCRDq+hD1Z8khC/JKz4AlBLBwhuKpGH9gAA AK8BAABQSwME
FAAIAAgAY3x7NwAAAAAAAAAAAAAAADsAAABvcmcuZXhhbXBsZXMuY292YXJp YW50L3NyYy9v
cmcvZXhhbXBsZXMvQ292YXJpYW50L1N1YjEuamF2Yc2VUU/bMBSFn1up/+EO kFrQmog9blnF
NO0BaRMI9j45yU3q4diW7QAV4r/vOk5oSkkZiEl7i2P73JtzPjvx0dFkDEeQ ZEqvDC+XbhHG
8eaL5uXBaX7gH+LJWLPsipUIypQR3rJKC7TRV3XNDGfSfZqMJ2NeaWVcWJEJ ri1GWBVRpqpK
yah2XETfvnMbFsddH+/mc0ix5HJeWzTzXGUwn4eevoBBbdCidMxxJUEV4JYI lcpRgEp/Y+Zg
mmC1SNLFZZ0eJ3G6SGIaT6O1OMp8SzrM6lDmJ0kWSgh1w2UJBTJXU1FgBsHW 2n8T5h/DjlqE
LQCJ4Iu7E8Hl1YAlkW9ov0R3gcUPJlfg+6Rn8IOmyfskJpHX6F1SowIfFMPw sWYSd90msV5/
9YnFoRTXT+chbV/Ol50dhq2N8eGxRImGkTMdH3UqeAZcOjQFyxD8PsBbR/Zb Gmg0xx/gbjIe
NcmPSOMCyWhpm0ivmaixy7eLdO1WFysBUaBBSfqCSIqCkA/QDyFTVF66kJ0X W2mE3a6eaX18
3+qcOuAWUp5zQ2QRcEwAkzlwUlQEguUO/Yrp85LeuTP9kPuZ7sU+bcsNoj/q 4GyaaplHJj2e
fYs2aHrsDTUqp2SJQGbeBynaSL4YZEKswC5VLXKqT8cpuMUgR5sZrpuz5tdG Uddq3LUzcKT8
1IlpAh3Ic2ezbZnXsPmrPV+e0ec0NpNp17e3SZvv5z3VTO61sz3ORw3oo+YO S7zUAtbHe3bY
XGsvpLs7udt8/yske1cHQdm/Od4Uy55wP+v/kMmnO+0DuW97l+7MW/kXqO3C tVV6EbBhzyCy
YXoYWi8E/Z/HFq+X6J6C9S3+Sdu+7mZsR5yaGVa1Lfr+JN68PtdNPwa9u1Y8 hy0GQtng4j3E
cfPDm4z/AFBLBwhkry+KpgIAAGAJAABQSwMEFAAIAAgAY3x7NwAAAAAAAAAA AAAAADsAAABv
cmcuZXhhbXBsZXMuY292YXJpYW50L3NyYy9vcmcvZXhhbXBsZXMvQ292YXJp YW50L1N1YjIu
amF2Yc1WXU/bMBR9bqX+hztAKqA10Xjcsopp2gPSJhDd++QkN8HDsS3bKVSo /33+SJq0XRgw
Ju0tju1zj+85Pkl8ejoZwykkmZArRcsbMw/jePuFf3l0kR+5h3gyliS7JSWC UGWE96SSDHX0
WSyJooSbD5PxZEwrKZQJKzJGpcYIqyLKRFUJHtWGsujLV6rD4rjl8WY2gxRL yme1RjXLRQaz
WeD0CRRKhRq5IYYKDqIAc4NQiRwZiPQnZgamCVbzJJ0v6vQsidN5EtvxNOrA ked70GFWhjLf
LWQhGBN3lJdQIDG1LQpEIehaujNh/j7sqFnYApAwOn84Z5TfDrQkcoQOSzTX WCwsMENwTO0I
wtATXSexBXoJ5jfCVxtEN9jFS+KWbRLL7tTnGodU7J6ugtqulCt5fBK2+saH xxI5KmI70/qj
ThnNgHKDqiAZgtsHeG9s+7UdSFTvzuBhMh555UcW4xpto7n2ki4Jq7HVt5W0 36tWWGuJAhXy
DKOAcmGAakhpTpW1g3UJYUB4DtRoEFY9TQ26FdPHO3sppe/speyJdSm3tJo2 JQc9O2pd5Yk1
ZkXCna/6Z9sxQe9QlimfGsgYEvU24Nhd1okKCWMr0DeiZrktbi+B8g0jkKPO FJX+hri1UdTy
jFsuAxfBTZ0rL8OACsNMmxreToe6Z/Nj18qT3uwzzfajQ3oCyq5uzY4mIhr9 Px6IZvqgme/Z
d+T9O3JA0L+uxyc+qDq/LtD8zqyvkQL7fX3cY4/IKYkiVUPR8eN493Jdt/sx 2LuloDnseSCU
3e3ik259yLP9Ow/Mfj8ahi623RAyYUOHm5DYDmwlEf5829f/KkA2yWzjowvm Vw2PDexub/7H
/BgkG/1dSDjc50WE2zEYEG5yOB78n0vioObQfYCbjFhDHPsP3mT8C1BLBwgI E4vqrAIAAGAJ
AABQSwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAAAD4AAABvcmcuZXhhbXBsZXMu Y292YXJpYW50
L3NyYy9vcmcvZXhhbXBsZXMvQ292YXJpYW50L1N1cGVyMTIuamF2YbWR30rD MBSHr1voOxzr
YH+gCXprVxXZhaAo7gnS9LSLa5OQpLIhvrtd022obHfeJScnv3znC53NohBm kHKlt0ZUK5f5
Pf1Z6Iujx2K0W9Ao1IyvWYWgTEVwwxpdoyUP6oMZwaS7icIoFI1WxvkOXgtt kWBTEq6aRknS
OlGTxZOwZ5uRK4Nk8ZK/I/eNdA98kSSQYyVk0lo0SaE4JImHvweD2qBF6ZgT SoIqwa0QGlVg
DaoPg3GKTZbm2bLVaK6uU5pnKe1KY3LMR1n8ST/YuLN4av7j6tV7uqzQDQ9N pv62h2G5dYZx
N4+daTH2RxVKNMxhsZfd5rXgIKRDUzKOMEQBblyHaGEQBJ9RGPSCgnOGgtPj BUeytZDFPFZ6
R9I5jKFhcjuPS1bbHWfwCzToSYP+R9PbA9mL1gNsBp2DNyyfu5jJtP/Lf2M9 iXfEGWiWQlY1
DjxfQOnebRR+A1BLBwhoBhm9XAEAABsDAABQSwMEFAAIAAgAY3x7NwAAAAAA AAAAAAAAAFAA
AABvcmcuZXhhbXBsZXMuY292YXJpYW50L3NyYy9vcmcvZXhhbXBsZXMvQ292 YXJpYW50L2lt
cGwvQ292YXJpYW50RmFjdG9yeUltcGwuamF2Yb2WTW/iQAyGz0HiP7ioUgMV QeRY2qpdykpc
CirteTVMTMhuSKLJpB9a9b/vfCZA0rKHlgsMjj1+bL8zZNDrtVvQg0uaZm8s Ctf8Wv8e7BqU
8XQanMrFoN3KCP1DQoSUhR6+kk0WY+6N02fCIpJwLxKGUbvVbolFyrh2o3GU 5ejhZiXWKUNv
Mo5Jno8Oec2Wv5Hyg25zjXQ4rYTzJj8J5Sl7m/4XaRYXYZR4E/ljrta1mHoT espnYDt80u/D
EkVov8iR9YOUQr+vu32bgITCDSac8ChNIF0BXyNs0gBjuFxeG9rLwfLaq7bD JKhvdhNigoxw
DOysimUcUaCy2VDibdUP+MrFVjlsN6UiqgfB33bLUYU5IuGYociWK+AAV6SI OayM425Zng74
sBXOx4U5e5U5qjTH1JbL/WmdM0oi7nYVrsMNt+PU3AR5zXYF7r6tazXmPQj4 XGzoTe8Xj7f3
44kXIrfdcztrzrOLwaCM73RHoDJHK3Cbkp1cQVLEsSF1HIa8YEkT10g5vMtP 9UEJp2twJ68U
M6UctCu72ZZoK9w4Dd3Kc1RuZxIn+NKoFFe5vktd1+dPhIoTMYmEotWvkcG3 zb2ZUReeFxmy
RuAv5LiZPSNjUYAVk7mvgKq2uPqSA1RfFu0lUlPTRqkdtYhWEbLpndu1o6Mk x6pGK77F04/h
BZhJ6SyLYjnUpX4S5NeD/M+DZvP5fqZZlh3IJIL2M4mgw5l+LZ7mk4dhQ+xC TnJY7mDumAt9
VPiapS9KsNM4xpDEtyws5I1THgm38yikqK+/sw6cQ9X2e7JBoZdz6JxBlEOS ciDwTOIo0P5q
Ip3qfHyfkIx45CB3ZqqVINfqUs7l8ytVrrWZtpimSYfvlXxF6u8IqST1Lalf kfqNpP5RSKVk
d9SrSeVakabyuSa1tl1S6XAsUn/nyJSkviX1K9KGnkqHY5GaU9lwTEtqY7Hs NqKsYOt5rQ7z
7CjV7F9HIG/kPZstyxC6+8+78g2g9P1K7AAzhrTkbvwbutv2+eClaKu45ppq tzLa94WynHfY
eq3Z+tNtt/4BUEsHCHQQY8AXAwAASgwAAFBLAwQUAAgACABjfHs3AAAAAAAA AAAAAAAAUAAA
AG9yZy5leGFtcGxlcy5jb3ZhcmlhbnQvc3JjL29yZy9leGFtcGxlcy9Db3Zh cmlhbnQvaW1w
bC9Db3ZhcmlhbnRQYWNrYWdlSW1wbC5qYXZhzVrfk9o4En5mqvgftJOtWkgx ZvG+ZZLcEuLk
XDUDc5hJ7T1Rxhbgi7FdlpkJu5X//Vo/bMmywb7LzgwvlCWrW92trz9JbYav X3cv0Gv01ouT
Qxpsttl73h6WO1jnz7b/M30Ydi8S1/vqbjCK042Bv7m7JMTEmMQPbhq4UWYE 0HHdvehewEOc
ZnyYFwYJwQbereE5TrFhTUKXkOumUZ9xhNPAWxwS3Dh2luDUzYI4ahx5xz1o HDfHa5ziyMPN
/lCvC8V2XQiqkSqePrleFqeH69YC9Q5UBWZJMmozyGwzyNlDgEfNQ539qnlS GNRGUz5j92KY
o/Wnqyu0wpsgutoTnF75sYeurjhyxxGi64B3OMoYElC8RtkWo13s4xC9Xb0X gXs7XL03pDoc
+VVlv28o9twM+znu96sw8JBHgYv0paBLjvC3DFQRpOJAWlQVQn91LzrMsc4p zzrH7exohnaY
pZ0kDR6gA/EsQwRWRDy+Q9E+5OB8ppnNl5k5Bui/2Mwv5DPh+fJibjvN809S DDIEuZCqEclc
INdTSTpAKdhKMqBhHz0G2ZZr+ev3MIi+NtC7MWei6QFVer6j1YHNKfYyrjXf 2O7nNnpwwz02
RFiS99M4w2+YBEyRYi9Djy5oiJHH/FF1oYCgh8BlXYTSkMe1rDnJox3OtrGf u/AqiIIM0Z9e
//sAPW4Db4vckMQIQrmO0x3h0nRE4IbBnyVeE1MOIBIQqGyfRoT1K0HLhwg1 axRHGCYAs/0D
EBYMI8YPQoNg3HYpdInmPe4VnjpLWBFF8hUPVyMw6zi612ek22Gp0hO6B0jf ig1sT53FeDqx
+gDgzvcnTyKOFLSK4xDT3CA2+AjL9w5wExJcn0UyO+DRjXyJEsxxUE4mBHiC 7kBAiuUbl6Mv
3OiAYhBKCdonADEORQCnjxO6qxkIOWwv49K8Fw5HAc3mFDwAB8g6AJshtzw3 BHhv2Gw54kEn
9JalsxyfBOIJVmDkx1QOjAFReMDgPMy8UPT4EDJcnxbUjyCCeNTo9wOat+Fh ACOgNwVbsLCG
Egs3tUioICM4XEsCmK1LA3i0YUsvzUZjMaBOyllZFLmWrfuAURRn6IAz8BZH appyPgpSST48
qusgJZlgGY4aNrWUZMHBckIqBJoiBQsUFyh7jAFkOCFvxOrjzL3ilBuv/gOR IRwFYHyZXLhK
YUG+SrA+whhoKDMNEAkYpUeF/C+kbq4d0GdKj9dAolwTrC1he4EbMRjK2NvR Q+wpvCeh8BiA
uTSk7npNSZliuDA727oZC7qwVHAei7xi8t/BfnUkxSMm0m8SA07gCFiwVsFj 3Ipjw2oIg59C
BV9UTpScGjnHAdn3ciLpi/0B9XSRfoWkjZz7jA3O8rcVOUP43Ofc1BkO0WyV uQA1gJHYFlWo
Knttp/b0DItecedd1V46tt9raXRuY3HYAADVTv6P6iGhQeMbFOHHI3tMHhOF xrN0j2WkOIEX
bMISxHczN88POqwmHsYRUEnFdgGpImUL5ceUnoChVHzrpl8VO+HoE0R+4FEv YI/w3OgXSmrI
27rRhsG1dqp1ivGfuNArMFkz8ol3XZ5E4qAKy0vvrHnaCKPkpel5bCmKDbk9 S+i5BUbT7OrJ
kX1pI8OoAyDzYJAbfoKl36cYVpC+6P361KeYUz44sI+H+G/wYvRMXqioMKuo MF8SFWbbiJrn
jAuzHbZb+fDsqKBFNc1uWWx4gXhSe5azpCGc0sQzhIRwoRHXbZ14CUzoTCHL QC8TULMVJs6X
JoQLbTBxnjwhqmGVDUSpkT0/SuuN0mt3z2KXXnOhFup9+rrr7/t0ycWzLY74 vWcq2chazUSc
tE8Wa3iNs/7WrVy3tWJHXqzZ7N3Uhyng3C3qCPmdl5ZV4NobyEvyap+x2gSr Hfzo9fbo8j3E
gY+O3EfU+6cITn4BvWZvlJDVXozYRxZWJvZFXWQtsrnLinfK9wxuAm/2nPsP PM87orvgiZ4U
GiA6bLmcW5+Wt+Ppv/8nAceefr6x8gtM6fuGbol5XLGpKDZ1xa1FcuOpSOl7 R8mS2d3dsZhI
oQGiw5bL2d2pkNSOL0ek9PVDt+NYRKQQ02u2sKM6Xl+Z8rcIbXHurPnIVGzW P13oli8VkWfl
Flsp4x3hl5hWZcVHiJPfCYqqpaQhQTfdvCbIOedc6eZEpUIveYmYabRTjmaZ epTSiVKqIjib
ujta9xnfiuykXeQuxevgGysH3UEu2n8o7+7ndq9aHRPUlh0SzOrPEG2ckuK1 Q6vC8Z5+P2Zb
wpFhY9/nZwg6gLBPUJwry8TIz0J0HP3vBD0Dub7fo7VTQz2aCKO1q1ZLMf00 fkxMPXYUkq0m
1CWrK6VuFPkWcY1AB5xpxN9B+Es1lIAE0CCSu0Tz8Gx4/PmSNi4H6CfbWY4/ OIv5eLLgLXu6
sOafxhNrgKD12Zpa8/HC+rjM64XLyc3YcbinbCJJXJXSzgApvo70dnGEB3NS LgIW0c+qA/Tr
AF2NyiZT48DOqWNbU2Hrl9nNeGHfcFMn/xxPP1vjD7RJX05mt3czx17wt3PL md18sQDOsz9s
y+FD7qeOtVhwEda0/3UvpD9ac/uL9ZH1z+bQsj42+Zwf5hu9lgOp37ylen6O jldxZSq4MlVc
mU+DK/NojE293TrG5lnF+JTjNQlV53aLhDovnzVclc5g8FzgijaeAFcaD8m9 YDXS2+oqXMZJ
XXRVi88iuidcrmbSMaeVVIqT2kw6O7+rqDIVVJkqqp6CrbRkVAJq6u12qDqv nD3hci2qap1u
harz8ruyByq3KkqtrKnshKx9ybT8v+iiU8r//sKxDw72cP6TXboVPICXEOh5 sQPwcCo+6sup
/hMZbUbyhqj099ifnvJPnfRga90EJMsPvWUVZr0KPnQzYuK0Z5xu9jt+xWFH 441Zp+23em3H
T+Ab04CrinWfQO8HeuvobX5TgCuDFycD8DcP9MnA1s1WBLrAb0Ooq7zklGeR 2lWOklD6EaYq
39TgKhHvUw/LEsRc9Ki3O14N+I6Gw7r/AnQv/gtQSwcIPyjHBN4IAABnLwAA UEsDBBQACAAI
AGN8ezcAAAAAAAAAAAAAAABEAAAAb3JnLmV4YW1wbGVzLmNvdmFyaWFudC9z cmMvb3JnL2V4
YW1wbGVzL0NvdmFyaWFudC9pbXBsL09wcDFJbXBsLmphdmHNWFtP20gYfU6k /IehWxUbEUfs
I5gUtptFkShBmLbaJzSxvyRTJmOvxwmgiv++c/FlbOdCuIS+QDzX851zvm/G 7uzttZpoD7l+
GD3EZDxJuvq5U25QjR/7wUf5o9NqRti/xWNAYTx24B5PIwrc+RLOcUwwSxwi Go5azVZT/Ajj
BP3Ec+zMEkLFGErBT0jIzH61jE9JxMGB6cjxw+k0ZA4LEzJ6cC7kP+LjdNbG c75MMHnKdgpg
75zwZNVg8MMYnN4XijlfjkaP6rMEYoZpbzD8KaJev6wkzumZ4PsVKhfP09D1 Lj9IMumzOcQc
roCHdE7YOItq/SI55IU81KXOf11qSxytmzCIooO1g7zZ8EBt3skMutNuoyGM CWvPOMTtIPRR
u63NesqQ5A2mwBLFGQpHKJkAmoYBUBQqVtCuC9OuO+zK/d3OsOt2xPOuU6wO LKiv7Ub6/7VY
biS8G94JNtEIcDKLgSMcQ7E3BId6zozqSQi5lHR/nVDCbleliuJECv3HGJJB 9BWzByTRDiIk
fyukj25HrPWSZT2BnEK2sH6qLu12MuxuJyoy/2QMDGIsIszyfzakxEe+TAKU bYPgPhEkqgZv
FkF88KdqzgnSQ9GvVrOhdG2kxPrYn0CA5pjOINNuN42voMSy66TsohhGEAPz AVFhWEcvutQt
jeViy64TDlDaMW02wlfPYRyITfWTYKMRxWEiPCZiUGnjSvt2UagWUTbeNF6t ThGxqZYR8+uF
m224ccAyVBGpnl+J9dm4ytuXN8zcJsiRRmpw6TTLFls3Ht9s+5OBqKcxCaAs tjoEEHiy7Pjq
IUMVgygQDFWro3NORHnFlDuDy8uDt8Wc5qjpSDOXFEwyQpa2KTo+RmxGadrR yFoRgzu07mRx
5Ni0R29lyb+Oqg/7wt9E/K1xISm4uRlc3nw9vfh3Qb/37S/Rf9X7Rw1QCku6 cnLz/Hp7EpXL
y5lp8JdW1h3NIPr0KU8IB/r8Mg7vBeEZsZU7AQppkNfmY2RVum0jtZQqxUiJ yU6FAL2JsZam
qwbQHJECUmPAvHNcwX8zItJdgNYjGrr7wVJmqF5PLK2v2exc9bzB+ffeKtW9 /sXZuRhhQNrP
ibNT/I910Qs+tiP7EHPin9W1fw9AtWutRucZ6BRmoVPBaX3SlI95GoWu3yUP lixnOM5Y9Cgz
/zLfpN6qeQUxoyGrLk8xlNe73thMBmAjHWTwRbXTTyVYRwgoB9Xj4CCwzL56 FZLDtqL9PCQB
4iuUNmqS0aqyvpLyix2BNCeLC4diS1eDdKy1tFbZouxlx8Q0nIO15AAoCnwm n3lqKJMWYCoh
PQWPyU0O6VQo+lI86Y613CulXQW/mrNj2s4JCI9w4k8sw1XKemsr8sb1+Inp UwrApO+t71fi
fSESL1T8B46Z2JFbH2ZMXJL9Wwg+2NUL2LJaaEpcO2bFJTvusWAfEZZkL3D9 v9dUR35HhD7I
ysdnGeRjIdPqG82hdmdaJgx3qgtZBV/XrvR/7trGbc12lNdkYEUghsHWwNHy HhbH/ZLMfofU
zvip5ZK+3yyK1qy+6vZfyu1ihiFyPnlLrwjrHJqS97ubdKEJU+wv9uEy4aUf nyZ3Dcm7K57q
COK6aFUkHIYhBczEy7u6sBcN8tvb9UMEr66mId3zqkQK1UbmgtkleEH6ntX6 F2gnqTFoyenI
afj9Thp18wKvrmkqtzgov8tvOa+noCGdqJmA45xvs0dcTk8ptazio7r7Of8I p17D7RxaSa7N
7cBrlXnFykr1VG6vLHdp1lZTU4v4jfGqjNtQ7RVpl6f1asp1jEUcW6c6q2zQ 57WkefUql36o
Mj6+7Ogmh/DeNEqeVf0q7/bZ6kvPI+4tZvwRdTrZB8tW839QSwcIyAVwpHwF AABuGwAAUEsD
BBQACAAIAGN8ezcAAAAAAAAAAAAAAABEAAAAb3JnLmV4YW1wbGVzLmNvdmFy aWFudC9zcmMv
b3JnL2V4YW1wbGVzL0NvdmFyaWFudC9pbXBsL09wcDJJbXBsLmphdmHNWFtP 20gYfU6k/Ieh
WxUbEUfLI5gUtptFkShBmLbaJzSxvyRTJmOvxwmgiv++c/FlbOdCuIS+QDzX 851zvm/G7uzt
tZpoD7l+GD3EZDxJuvq5U25QjR/7wUf5o9NqRti/xWNAYTx24B5PIwrc+RLO cUwwSxwiGo5a
zVZT/AjjBP3Ec+zMEkLFGErBT0jIzH61jE9JxMGB6cjxw+k0ZA4LEzJ6cC7k P+LjdNbGc75M
MHnKdgpg75zwZNVg8MMYnN4XijlfjkaP6rMEYoZpbzD8KaJev6wkzumZ4PsV KhfP09D1Lj9I
MumzOcQcroCHdE7YOItq/SI55IU81KXOf11qSxytmzCIooO1g7zZ8EBt3skM utNuoyGMCWvP
OMTtIPRRu63NesqQ5A2mwBLFGQpHKJkAmoYBUBQqVtCuC9OuO+zK/d3OsOt2 xPOuU6wOLKiv
7Ub6/7VYbiS8G94JNtEIcDKLgSMcQ7E3BId6zozqSQi5lHR/nVDCbleliuJE Cv3HGJJB9BWz
ByTRDiIkfyukj25HrPWSZT2BnEK2sH6qLu12MuxuJyoy/2QMDGIsIszyfzak xEe+TAKUbYPg
PhEkqgZvFkH8p27OCdJD0a9Ws6F0baTE+tifQIDmmM4g0243ja+gxLLrpOyi GEYQA/MBUWFY
Ry+61C2N5WLLrhMOUNoxbTbCV89hHIhN9ZNgoxHFYSI8JmJQaeNK+3ZRqBZR Nt40Xq1OEbGp
lhHz64WbbbhxwDJUEameX4n12bjK25c3zNwmyJFGanDpNMsWWzce32z7k4Go pzEJoCy2OgQQ
eLLs+OohQxWDKBAMVaujc05EecWUO4PLy4O3xZzmqOlIM5cUTDJClrYpOj5G bEZp2tHIWhGD
O7TuZHHk2LRHb2XJv46qD/vC30T8rXEhKbi5GVzefD29+HdBv/ftL9F/1ftH DVAKS7pycvP8
ensSlcvLmWnwl1bWHc0g+vQpTwgH+vwyDu8F4RmxlTsBCmmQ1+ZjZFW6bSO1 lCrFSInJToUA
vYmxlqarBtAckQJSY8C8c1zBfzMi0l2A1iMauvvBUmaoXk8sra/Z7Fz1vMH5 994q1b3+xdm5
GGFA2s+Js1P8j3XRCz62I/sQc+Kf1bV/D0C1a61G5xnoFGahU8FpfdKUj3ka ha7fJQ+WLGc4
zlj0KDP/Mt+k3qp5BTGjIasuTzGU17ve2EwGYCMdZPBFtdNPJVhHCCgH1ePg ILDMvnoVksO2
ov08JAHiK5Q2apLRqrK+kvKLHYE0J4sLh2JLV4N0rLW0Vtmi7GXHxDScg7Xk ACgKfCafeWoo
kxZgKiE9BY/JTQ7pVCj6UjzpjrXcK6VdBb+as2PazgkIj3DiTyzDVcp6ayvy xvX4ielTCsCk
763vV+J9IRIvVPwHjpnYkVsfZkxckv1bCD7Y1QvYslpoSlw7ZsUlO+6xYB8R lmQvcP2/11RH
fkeEPsjKx2cZ5GMh0+obzaF2Z1omDHeqC1kFX9eu9H/u2sZtzXaU12RgRSCG wdbA0fIeFsf9
ksx+h9TO+Knlkr7fLIrWrL7q9l/K7WKGIXI+eUuvCOscmpL3u5t0oQlT7C/2 4TLhpR+fJncN
ybsrnuoI4rpoVSQchiEFzMTLu7qwFw3y29v1QwSvrqYh3fOqRArVRuaC2SV4 Qfqe1foXaCep
MWjJ6chp+P1OGnXzAq+uaSq3OCi/y285r6egIZ2omYDjnG+zR1xOTym1rOKj uvs5/winXsPt
HFpJrs3twGuVecXKSvVUbq8sd2nWVlNTi/iN8aqM21DtFWmXp/VqynWMRRxb pzqrbNDntaR5
9SqXfqgyPr7s6CaH8N40Sp5V/Srv9tnqS88j7i1m/BF1OtkHy1bzf1BLBwgA X8WMewUAAG4b
AABQSwMEFAAIAAgAY3x7NwAAAAAAAAAAAAAAAEoAAABvcmcuZXhhbXBsZXMu Y292YXJpYW50
L3NyYy9vcmcvZXhhbXBsZXMvQ292YXJpYW50L2ltcGwvT3BwU3VwZXIxMklt cGwuamF2YbWS
TWvDMAyGzwnkP2hQWFuIw3ZtCB2lh8IgYWXn4SRq6i2xjeOUjtH/PjtZln5s 62k3Wch6H71S
MJ16LkwhzIR8V6zY6qh7B6eJNjla5SMbBJ4rafZGCwShCoJ7WskSa7IQO6oY 5Zowk5h5ruea
QCjdlWUlkzUSrDYmFgrJclHSur5eZ7uRZZy+YqZXP3W+BPiOkg50du1DLOW6 kaju7tvuQe/L
je9DigXjflOj8nORge93Hj1wsGRYIddUM8FBbEBvESqRYwmi5YXbEKsoTCMj AF8KYZBGYWDS
t2QQQZ5fSoSyX4cc1jAvkKOiGvN+GU1asgwy6yYMg1irAPfadK7hyL6B+rga PjzXacd2/prb
+Z3XOWNzWjhHKqGNMuZnaONJK+nUNjWeGNudg7X+XyDm8Q6VYjmeAHUHCLi2 +8vaR0+lUDeK
w/kdkUemTeuyJnGSvKyfk+VTezEd+gGC4HRIz/0EUEsHCO/+jTpkAQAAYgMA AFBLAwQUAAgA
CABjfHs3AAAAAAAAAAAAAAAARAAAAG9yZy5leGFtcGxlcy5jb3ZhcmlhbnQv c3JjL29yZy9l
eGFtcGxlcy9Db3ZhcmlhbnQvaW1wbC9TdWIxSW1wbC5qYXZhzVhbT9tKEH5O pPyHpacqNiKO
OI9gUignB0WiBBHaqk9oY0+SLZu1j9cJoIr/fvbiy/qShGvoC8R7mZ35vm9m x+7s7LSaaAe5
XhDeR2Qyjbv6uVMcUIMf+/5H+aPTaobYu8ETQEE0ceAOz0IK3DkJFjgimMUO EQMHrWarKX4E
UYx+4QV25jGhYg2l4MUkYOa8MuNREnJwYDZ2vGA2C5jDgpiM751z+Y94ONn1 5D0nU0wec5xy
sHdGeLxqMXhBBE7vhGLOl3ujV/VZDBHDtDcY/RJRrzcrgXN6pvP9EpT1+7Tr +pQfJJ722QIi
DpfAA7ogbJJGtd5I5nItDlWqs18XWhIH6zYMwnBv7aLhfLSnDu+kAt1qt9EI JoS15xyith94
qN3WYj1mSOIGM2CxwgwFYxRPAc0CHygKFCpo24VZ1x11pWm3M+q6HfG87eTW gflV226o/18J
c2Oh3eBWoInGgON5BBzhCPKzwd/Xe+ZUb0LIpaT7+4gSdrMqVVS4kui/JhBf wvgrZvdIuit+
I/mgfH1wO8LaiwwPhfMUMtP6sWzc7aT+u50wz/6jCTCIsIgyrQHzESUe8mQi oPQgBHexAFIO
hBDt/a3GMoT0OvS71WwoYhsJsh72puCjBaZzSMnbTsIzMLHsGlS2UQRjiIB5 gKjQrKPNLhVM
YznfcuqIAxTPTMaN8NVzEPniVP0k0GiEURALnYkwVOq4Uudd6Zu0orT85Jg1 P0bUJmFG3K8Y
cnrkk4OW4UqPtIFSvM/2rHh+8cRUcgIfKagGl4qzbHF04+HNjj8aiMIaER+K jKvbAMFQ1h9P
PaReRSAqBUPlMumcEVFnMeXO8NuXvbf1OUlUU5aFnFJ+kjGyErGiw0PE5pQm M41sGDG4Retu
GUeuTWb0aZb866g6sStkTsTfChwShevry96/11+Pz3/WLBhcXIgFgws1r0iW iGX45nn29kAq
qZcy1MQwqbJbGkX06VOeFw70+UUU3AnYU3RLPQIKqJ9X6kNkleZtM8c0Ofla 6Zmd8AH6HNOc
hq3qZmFN4pZaBWYncgn/zYlIfuG6XtHQ0/eWkkW5abE00+awc9kbDs6+91by P+yfn56JJaZT
uzmCdhLEQ40Cclw2o4ER5sQ7rRHCu7hUaXm1f0PTP+W2oMtAtrptxic8CUSt LymyKE
Re: taking advantage of Java 5.0's support for covariant return types. (2nd example) [message #414995 is a reply to message #414986] Tue, 27 November 2007 21:01 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33141
Registered: July 2009
Senior Member
Philipp,

Comments below.


Philipp W. Kutter wrote:
> Hi, Ed.
> Thanks a lot for your replies on the first thread.
>
> I think in the meantime I found what I looked for, and I want to
> share the example.
>
> Rather then sharing one getter/setter, and trying to specialize it with
> operations, like in Christians example, I do the contrary.
>
> I define the getter/setters in the subclasses, and I define an operation
> to access them in the superclass. The full example is attached.
>
> For the many featured version, I need to do exactly what Christian did,
> a return type with many=false, and type is EList<? extends OpSuper12>.
>
> Of course, I'd prefer to see many=true and type "? extends OpSuper12",
> but you explained that you do not support this.
>
>
> For the single valued version, it just works smoothly.
>
> Is it a correct understanding, that the following signatures
>
> public interface Super12 extends EObject {
> * @model kind="operation" many="false"
> EList<? extends OppSuper12> getRefMany();
>
> * @model kind="operation"
> OppSuper12 getRefSingle();
>
>
>
> public interface Sub1 extends Super12 {
> * @model opposite="opMany"
> EList<Opp1> getRefMany();
>
> * @model opposite="opSingle"
> Opp1 getRefSingle();
>
> void setRefSingle(Opp1 value);
>
>
>
> public interface Opp1 extends OppSuper12 {
> * @model opposite="refMany"
> EList<Sub1> getOpMany();
>
> * @model opposite="refSingle"
> Sub1 getOpSingle();
>
> void setOpSingle(Sub1 value);
>
>
> Means that both getRefMany and getRefSingle take advantage of
> Covariant return type overriding, and that both where not possible
> before Java 1.5??
The List one was possible before Java 5.0 because they'd all be
java.util.List but the ability to have a different return type is new to
5.0 and that's what allows the non-list form to work.
>
> Thanks a lot in advance,
> Philipp
>
>


Ed Merks
Professional Support: https://www.macromodeling.com/
3rd example.. [message #415052 is a reply to message #414986] Wed, 28 November 2007 16:51 Go to previous message
Philipp Kutter is currently offline Philipp KutterFriend
Messages: 306
Registered: July 2009
Senior Member
... is in post further below, under
"emf error detected; override with covariant...."

Philipp
Previous Topic:emf error detected; override with covariant return type over two levels of inheritance does not work
Next Topic:Add element to EList
Goto Forum:
  


Current Time: Thu Apr 25 20:04:58 GMT 2024

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

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

Back to the top