Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Plugin Development Environment (PDE) » Context help in a wizard
Context help in a wizard [message #38972] Thu, 01 January 2009 14:05 Go to next message
hotzst is currently offline hotzstFriend
Messages: 6
Registered: July 2009
Junior Member
This is a multi-part message in MIME format.
--------------060605050903050901030401
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi

I programed a wizard that creates Java classes. The wizard has several
pages. The first is an extension of
org.eclipse.jdt.ui.wizards.NewTypeWizardPage.
It would be neat to have some context sensitive help that can show the
user specific help to the current page or even the focused field. For
the first page this works. All further pages are extended from WizardPage.
To get the help working I followed the steps described here:
http://www.macrobug.com/blog/2007/09/27/displaying-help-in-w izards-in-eclipse/
This did not work for me so made a simple example that is attached.
Drilling down to the IContext instance I found that the objects are
there though the elements/attributes are null. I figure the problem lies
somewhere in the setup of my help.
If someone could point me in the right direction that would be great.

Andy

--------------060605050903050901030401
Content-Type: application/zip;
name="WizardHelp.zip"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="WizardHelp.zip"

UEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAAAVAAAAV2l6YXJkSGVscC8uY2xh c3NwYXRolZDB
agIxEIbP9SmW3J2tl+JhVyllCxXUoluvJSbDOm06iZNE6tvrQqVFaKG3+Ydv Pn6mmn5+uOKA
EslzrUZwqwpk4y1xV6uX9nE4VtPJoDJOxxh02k0GN98BOcmxeCe2tTKeVdEv a+WlAzSOQkR4
swmczmx2ZyPMVs3rw3LR3j8tmlV5zREnFNYOLG5zB5m+LlFgnTRbLXYzb48B y5k+6HUzHMGd
Kv/bKFgE4wVBcJ9J0D673BHHP0xRzMXUj7+DPqeQ04XdEvdsVf743glQSwcI SUr7ts4AAABx
AQAAUEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAAATAAAAV2l6YXJkSGVscC8u cHJvamVjdL2S
QUsDMRCFz/ZXlL2b6M1DugUV8aIIVTzHZFxTkkmYZIv4653dTYtbEQTB23tv 3uSDJGr9Hvxy
B5RdxFVzLs6aJaCJ1mG3ap4eb04vmnW7UIniFky5hmzIpcLldnGiUAdon92H JnsLPik5Bjww
MQTA0iq5VxzWM/Kg5Vfz0jtvNwkMm+queE2jHYKKidQJMN6lDGJrizCRWOid HvtABzgvaOr6
gZonK2deyWPCb5DJgrjT6F4hl8t/I27MGwT9Z14N6hUzqvQEU3XS38APvu8c 3o/DgTuWfujP
XgOPV/aScYdXn32jT1BLBwhH5fxg5wAAAIMCAABQSwMEFAAIAAgAc3OfOQAA AAAAAAAAAAAA
AC8AAABXaXphcmRIZWxwLy5zZXR0aW5ncy9vcmcuZWNsaXBzZS5qZHQuY29y ZS5wcmVmc5WO
vQrCMACE9z5FwD00VooUOqmDm4PgHJNrieSPS+rz20FndTlu+D7uNjdYcYQR nRJKDW0/dDtx
OF3Ftm33DYx3uUBmYgIRDYp8gsWlOKomcZYf4mGrNIlYI2TnwbVYzIiyas6o F6/rlBhGJfuv
Ysje6XXsBzgz3T2C1KWA9WwRq5scOIJM/FFGXMKfakkL3wdfUEsHCJHByb2S AAAAQwEAAFBL
AwQUAAgACABzc585AAAAAAAAAAAAAAAAHwAAAFdpemFyZEhlbHAvTUVUQS1J TkYvTUFOSUZF
U1QuTUZtkU9rwzAMxe/5FKbnRTQr7ODSwwqBMegoC2xn11YTDcfu/Cc0/fRz 1qbdQq/6vSfp
SRthaI8+5B/oPFnDWQHzbB2N0phvLvDKHkfyJlrk7JNOwqkX1Ae21bHOyYy8 6tud1SSnuiXz
ZGqNIXVbBRdxNPwdf1vgWQbqRLCOM9mAFw0FDyGmAgkNTWoIV8mtk1GDofpV Z+/4Hclhfqac
WVcDSk0HjxDpIftXkNYhuGgCtThBX3shEQIew10PehudRD+BkQAVpe3uAFLT GUOg5e4cozsf
ZDVbwAKKeTEb810CqfKIMoYkKU1HzpoWTeDsVXSiKvMCniY3TMLt8JGeMy1O ffYDUEsHCHeC
pSMDAQAA+QEAAFBLAwQUAAgACABzc585AAAAAAAAAAAAAAAANgAAAFdpemFy ZEhlbHAvYmlu
L2NoL3NhaGl0cy90dXRvcmlhbC9oZWxwL0FjdGl2YXRvci5jbGFzc6WSXU8T QRSG36GlS9cF
tAiKiAgItEUdPy5rjAiiTRpCROqlGZZhO7jd3czOIvFX+XGB8cIf4I8ynlkq IBow8Wb3nHfO
POdrvv/4+g3AA9xx0Mcw7Xd4KjrKpNxkJtZKhLwjw4Qv+UbtCVIcFBnmYx1w 6YcqSSXPFE/C
LFARX9pKjRa+2Wyu5wJDeb21+by59qa5wlBp7Yo9wUMRBXzDaBUFDYbB5ThK jYhMW4SZHECZ
wX2t3gu9/YLSMpSSHmm2dW5phCs9UpEyjxkK1Vqbobgcb0sXBVz04GGQYbil IrmWdbekfiW2
Qmmrin0RtgXxyO+JRdNRKUM/VaYNw1y1ZRuO00DxHS268l2s3/KnWbQdSqrf yH3TsOncZ/u+
TIyilhxcZRg5bvjoxFZzzcNljJbBcN2DiwsMjn+IYZg5PxXVl5o4saRpD1MY pcyBNCtyR2Rh
Xm7tn4ZVoUvNrgjkikx9rRJSGZ5U/1xTrXVy37s7wpdcyzTONBmnCA2X2lrw UEWNYVz9friq
4+6vp/HyL4n+MzUNJhGmQ+PYyANWlV3m0FHPdy0e01Rggd58H8bRjxJ5Tu4N 0CpoGWT3k0bP
hb5D5D2kP7Nq/QDDH/PQS/R16Q+MoogxVMjyDoMwkiOY3TBFjJFdJO9Kjlol xd5y64sHGK9/
xsQxbygvapIIN1CmrVrm2GF0j2mtSTq15UydRWcEthlunqbPU/QC0atn0suY wWyv+Vt5V5Tl
EyY+HNFKuXovp1hGmeLmejfuk2JPncpA/QvmT19qnBiWgzqpdliLedTtn1BL BwhMa3+LVQIA
AI4EAABQSwMEFAAIAAgAc3OfOQAAAAAAAAAAAAAAAEYAAABXaXphcmRIZWxw L2Jpbi9jaC9z
YWhpdHMvdHV0b3JpYWwvaGVscC9lZGl0b3JzL011bHRpUGFnZUVkaXRvciQx LmNsYXNzlVJd
axQxFD1pt512OrZrrfX7kwW3KxhXfRAUUcoWhK0ILX2V7MxlJ5ImyyTb/i6h VfDBH+CPEm/S
feqL7sBM7j1z7jm5N/n95+cvAC/wOMOCQL+spVe1Dl6GaXCNVkbWZCaSKs2p l/tTE/RnNaZB
Ajr9DC2BJ64ZSyqNnniS/jRIOiHLGgdkqAza2Q+VmgRqBJZDrX3nOTsN57R6 w8VvtdXhncCr
7tzVO0cCrV1X0SoE1gosYTnHIq4UyLAusNiNhI2htvRpejyi5lCNDAlsDl2p zJFiA85nYCs2
IfBy3k10+tzE+qmuxhQuRkOVQK87/Nf4BjHnFnJs42aGGwJyTusCt2Kbmaew 52wQWEoefHT/
aS6QH7hpU9KejiPYuqT/7Ks6UTzAgS2N89qO9ynUrirwMNqulQ2pQJHeFyg+ WkvNrlHek2cC
T5+voGi346FwtMBvhhXGVzl6zXlE8t7Tc/78QPEtcTYilv5wM/iCNkcFxxG9 is2EX8PWTOU9
r5G70jtD/h3XL2sodhwlje0L3kwjRrdxJ+3xbqq5h/u8tpj3AI9SvUiu/PwF UEsHCBr3VtKq
AQAATQMAAFBLAwQUAAgACABzc585AAAAAAAAAAAAAAAARgAAAFdpemFyZEhl bHAvYmluL2No
L3NhaGl0cy90dXRvcmlhbC9oZWxwL2VkaXRvcnMvTXVsdGlQYWdlRWRpdG9y JDIuY2xhc3Od
VW13E1UQfiYbujTZtjEW8aXQFAJsUmAhIL6EihoLBtNSm9pK69tmc0kW1t24 u6n+AP+EH/3k
Z8+RajxHRD3HD/4C/4sHde4m5SXQxJhzdu/duc/MMzN3ZvLH3z/eAVBAQ0WM cNZqGoHZtMPA
CNuh59umYzSF0zJE3ebPwFhqO6G9YjbEYiTIFlTECamb5rZpOKbbMK7Vbgor VDFGSD+QrrZd
16w5gjAWNu0ge4apKiNyFQnj26aTFdvCDaW+5zcMYTl2KxCG5fnC8EXgtX1L BEZ5tbctNZle
LEoV1h+7aLt2+BpB6COzj0yXWyfES15djIMwpUHFfrl7SsM4EgkoeFpDEtME RZfQqYrtiuX2
pzXhr3VTla54lumsm+wbf/eEcZk/wrlR/c8WOH7Fb7sJvIBDKmYIxogmNBzG LEFtiLBqh+zL
MT33SFbatlHe8PxbNeFazRXTj2DFJOZwVMURwtxQsIYsjnHkTHH/bMN2697n hKOD2Log5jqB
nAqdMDsEqiGPecJ+ZpIRckqP6LmtQeE0RFHm7pSG0zBY07T46qNS3hq9mh4L ZRcYii9CY41f
PWACZ3FORYFw/L9paDiPFwmTHFhXUHZbbe6X2Sek7yFAUcVLnOM+RIvvxbhs O+IhZAIX8IqG
V1Hs1oI8JmT7zPd3iETx9SzgkgpuwMwwrIbX8QYhIe/H9+RMIZwYwtEDMk0J iyre4hIfsWk1
XMYVQpJZd08J+hDaXSTzlvGOiqt9edzDTQ0VLPFMEp+1TYfr74Be6R+jxdxm EtfwrooVwqGB
talhFVXO1w2u7u5lEYr6wBvfqx5kMxYl73sa1rHB6bAcLxC7VjN7WY30NnOb hH2tbktlhjUU
gWx+yuy4uG+DMDOIgTBRDU3r1pLZimaiiuusXo2y263F6b5uOy3zyhN20ZWB 2G5jSYRNr66h
DkZP+Y/UQZ1wXv9fw14ru67wS44ZBCJAhme9ws8+xFIpOfyBVFqOfv67jfGT hManE7xb4G+F
16n8/G1M5k/eRir/PdLfRsAD/E5EChwkfsIzvJOKDMdBPBvJn8N0z9SfbCjO q8h/h8kdPN9B
htDBcUJFWfgGV6X4B5zcwZm7uLCDlzu4SGBhqoM3JfDtGL7C3PxM4QGwg+UY lll0Kt7BmoKN
L2M0M3/n6392pINK5OBhjg/4GWncZad+4Yh+xQp+wxZ/1/F75HS+61jP6TSq eB/X2e1pRm4y
MsZrEh/gQ7b5ESMmoNzDQRUf018oyQR9EuXDRI3XOA9iCzei3FCUDf79C1BL BwhQW8bQwgMA
AMwIAABQSwMEFAAIAAgAc3OfOQAAAAAAAAAAAAAAAEQAAABXaXphcmRIZWxw L2Jpbi9jaC9z
YWhpdHMvdHV0b3JpYWwvaGVscC9lZGl0b3JzL011bHRpUGFnZUVkaXRvci5j bGFzc51YCXgU
53l+P2nFSKuRQAKBxGFkTml1LGAHbMRpSeC1VxhbMiAwxsPuSBqz2l3vzAoE hly24zZp0jZ2
4jpHnaYJaZu0TgMriOIcbeM0aZurR3olTZq2idMmPdLLbW33/WdGq9VqJcB6 Hu1c331//1de
/fRnAWyRJzSUCcKxkbBtjFiOHXayTipjGYnwiJlIh824xUc73JdNONZBY9js dV9oCAg2pjLD
YTOWsNK2Gc5a4bSRcYoBD/KdhgWCLYXAsVTGDGdMO5XNxEw7HLnPv+0eMZLD ZtSyHTNpZgQL
PPaClmgRrym5HPOMEx7gj8euSxAYSiUdweoZGPZpJzycMdIjVswO7yOAAlS4 grWzAGNZ20mN
hvud8YQZV7QJvGCHlbScXYLyltZDxO1Oxc0gylGnowa1QSxGg4YlgtA8ak5p aR9MZIetpI6l
WCbQh03ncCpzyk4bMVPQ2tIanc9UedCuajRhhYblgvXXhaBjJVYJmox4fC57 b2uZl3dptC5l
kIVRK2keyI6eNDMDxskEFamPpmJG4pDBWOKz/zLgjFi2YHP0BuONHqiOZUzD MdW7TRrWCTZc
X0gEsRZ1VWC46tBQGeRdq44Q2gS1NL0HFEmmsypoioxPqpECgC6F3KGjE2GB RjsqYQQ7ZkVn
ZDr4u+Yl2BpR4m3WsQW3CCopz4DlKEMtoSQPG2NGOEFTMxQzVnLYZf8GHVux jeawTUexH3CD
eGlLZDZ46yGFcLuO7aD9NBLvtxzSXl9CSxUlJ81kbETJrMAYXjuxWwND/uZr AuvYg72e/P10
Y4I4RTxUXp224gSwwy5IVyW6CdabyaQyza5rKXJz0mRMxZuVC5tN33292K9h n6C5SAzFPMKk
7D0TM9OOlWJC3YmIoEpJ4RhOloG2rmQ2ZZOONWqGIx4UzXo3+jREixLp4SEm TTjO0EwN22FX
0B73QccB3EM+qbSZdF8LRlquoe1s75R4c01JW6lehZWMm2cEwnuhN9cU+3KW Xej8GhKIneoz
0n4eFiTTZg2Hi3xcKH53ajSdsuljFUuDOo7imFezullFDcstG8UBVRKfZj6E 46pcPshcnNte
0wiR1kMaHiohW8IYT2Wd8P6MFY+6t0GcQJ2iH9MRB/WrYnZ4n1jg5+blgTBR qkiAfh3BvYJg
MjvanUpkR5O2hocFN82FfUfWcVLJICwc1zDK6jGPnD2GYwSRQEoZIM1C2BJR XBPI6LAV19oR
VsGzyqaJ/rThUs3qGMNpOi+vjKIiaGgpiJ17Tj5sxpQKlRgnFa80N6sW19nZ qaic0/EozjP/
ScUrFjPw87VCwxtZmG+wLq/bHMQFvFkp9RbBrS03XNdVjbLwmI7H8QSrHmtq v5mgQgzb6bbU
MduD5piZVMlVDOwXvSdVkf4Zlf/zxFnSyaQSzKlKvJ1eP5hhPmccy2TZqIpN BWGp+WB2pHI+
SExF2yzwWdFK8KAaUrz4YWGbk4MHQfiy4TjzYD7SKjRmdsktGt4zd/LssxKJ qeR5GnUafqkE
7KxJKIhncFw10/frqIauHj+o45fxnNeQlFP9Rt9yVIXkrzDuDmbMMcs8PY9p pmWZqYGtXPlR
HWvUhCX4mI77vbtf1/EUakk7btl0galGoU/o+E0136zMmKOpMbP0rKJGtud1 /IZCXhBP9Rtj
lLWz1NQzVXkZFsMcgey+VDIfsIJLOi4j5/WaXn9GXc2Unm8QqMYVfFrDVcHy uaF0fBK/TcVG
PXaCthuQjR3Y02mvrZh9TscLqFV3m9VPqxL8d3X8Hr5IQHrLH3qa5xpf/BGF 093K+fRiNA+n
nFSfkTmlknXj/DOkB+ab8Ss6/kBVQ1Xh9jKPx1y3B/FH+JqGr3KsKWJrxal1 T6+OL+Hrgu7r
n7vmlIJhMOoLvu56MBjZahGYZ+hzh6drWjSY785sMt8q6h0KgTlhFiBV4i9o 2khyzEhY8Wb3
1fbmPqZn80mzuRhYzUx/pWryeRXv39bxx/gTCu7Vs7l82e8VsmqzcCBeNa8i HPst24u3vYlE
6rQZd/ejo1QvTT96qadE+Acdf4e08vgPdbykkq/KTmXU2hNntdWT5mnl94g3 2CzMzEjduNtX
rn8t6VWdgTauxk/wLxr+mcvtDSLr+Ff8mzcwD4ynTVcnzun/jv/U8B8l2vxU te5hMWJF0/Ff
+G+VFKbTYw4ZbHhqBpl7QvLRujT8z+towFuCeBn/p5z9isC88Qb8OiyrTPGa zulT6EfDHk/G
es+YMcGywrnivmwyqVqBG+0VbrtWe9+NcvPmFjXOaLKAw+5cRlQQ3nQelAqp pD2kiuDXGsuV
Ms9ItS661Hge3+eeHpRaX2aeHwRlodRpsog5Mi+gLvWymGnlk/YmuA0trcfm p++2c6VKgy5L
ZZnXXtUH1clUkb0efGpHCk26LJcVzH+1r5Qe1mejssfLKh1VCFJRPK+s1KzL zfnA9mJWGWGt
sjXX8f2zbZ0n28MJIFZUFecUmaw26BKQjSX9N9MLbikdyvu+uIiXjhDVJ4fy vpg9lcyWSpOO
EtPRLDju8hLWZZNsFixWVkrFsqOMYvbpMbYu9pjw7NVb7bpecrK1FSF0qdOB 1mq5VbZq8gYO
AzeAq8s2uc0LvKlPgq2lVocZEnlbr3uGkifZVS3bZYcmXUVLeClYXXaqo4xy stVkt6DJ5Zd1
rIS/agykTplJ66yZqZS9jMbmqmCNfvOetevWP7gh1NLacWJn20MXjh0/d75r +8Y17Z07doV3
P/pAUHZJt4qzHne+uI5dmvuM7KMXprnvzWSMcZU9QenlskiKEV3uUrJWJamB KxY/SVSXPjlA
DbiLzLFrHVXYB3W5F9/n7DJicADLmC4BOyj9cr8mA4J6F881DrfJhEEn6XJI DnsuiSRtx0iq
A7+lUyc9M0CZ+4NyTBP20oZpHdRXb9+xdXlAjqumzj6qTg2j01BKya5oIdZo 2sgY3vSqyQnu
We5HK+Vb63CGvT8TlAeVXXrlJH0oMaV7pHW29po6dFhUbHAiy7AuI2rTrDit 6FUKd+fahJU0
O23T5x+UhCQ1GZ1JYJyz+aguKUl7tvE3sXFVJ0t4tsS5GIWmcW3VtTnlnDWV NFldxtxDNSfl
i8hl5RzLhZcw3ipcP5sY48GZClHBiuic8Ts9LPlzTEO0RLQpqLhXLf2jumgp 4xNMLAprxNgK
7XWbBMdexzJ9/afkwX631arBkeFQRKhTSci5LJLkytSdMGzbtHEzp7dy/lfw t0ydpAK8skG4
Vy6DvC7i9xrU8nchn/bwvfBaG5rAoiuoD11FYxn3GwV/k3pPSsB2BNBFrB1Y zSfdw0Az+am/
NXlqlwhXxuvO0CTWDk5g/WVsCIUu8SeHlhzad4RWqKccNuVw60U0Rvn+tqvY QSffIW059FzB
XYc/6ZJfh42ckMtdIUKuAt1UoAeNfLsR+9CCO7EZEdyCu3Ar7sZt2E/x+lwB m12hd/oCNlK0
g7iXVFuwBPehn3cDfK9xY9fQu4S39+c1+DE1WMCrMYlDg5TuSPkEHohO4gS1 Mfra2nM42V5x
GUOTsAbb+O3UgUkkBgMTSG4PNAX45ZGOpkAOTkf9mRzOdkziwiAt+6Yc3hqi fm/bWhFqqKj/
WWo/beKtNCwoUQ3FaMAhLMdhajGIVhyldsdwOx7Abhyn3ieohYkjGMJDGHY1 3eUJ62taQyrv
wM9RlQZE8U68ixxaaZmfxy/QIregE7+Id1PBIwwJZZEK4jyVV/3DfA7wurtI 9aep+ns91enW
Zwbb6soxgWcv43305fvKc/iAq9qu0Kr6D81QbI0bf6MUK0mBUlQsTXEeodts bIND4bOuEiGP
bV6JLXklQlTiw6S2jZSUwOWE/NW8wN28qlCpobAf4f9F/v/aNPt6l+xZ/p4j +qMM2/MF4Vvj
sxN10FCcDF4ifLwM9N1vFSfDY7Te48R/okQyiDoa8Kn1EEslgx6ijT7VdhUT hYkVdL+9nTH9
DpfOUg82n1Q6JvEZV8EX8vINuWlNw7oUoyT5WUGonNfPC2j6EO++oO5+Z5rP UtfL72acPEWa
T2MZ3kMO7y3gucbnuQArmRMvujy/hN/3ed7ta7FQ8fyyp8oV/GGxUd5PNh/g /QcLCC/MK7MQ
38A3XcLccvntT/kuwKdel8UpUlA0Gtu/gD97FjWT6B2s//MJ/OXnQm3tE/hr xau8wKUfoZgf
RR0uUpmPFSR8Y55fI76Dv3Ed04jv4nvkOODSkDq+/Ft839et3Q+gssDH8+os cN98osC3ZT7Z
gNqPfcwjeausmMDfr6h4DhqD7wfFkn6KVrlEV1+mZSbmsMyP3NLky6c8/Y/4 J5/LCaIr8OX0
649Z1Z9D/RX8dBIvD4baJvC/Obw6zdBzw2fI7AU04csFzJbnmS2XMimfZtbE eA3kg+uLbtdg
LZyUisF8XZ4QLdqm8jwnwZzU5mRJW04a+9pfRDh0SVa+iKC65OSm0KQsHPQA V7dPyJrLslI9
eV/XT8u5gdkDfJXu+xpl/Drr/DdYl7+JMENjK4MjwuAYwLcK3Hq/L38deqRF WinuOmyWkLT5
btVR9go4e1do0r6Kzy9NqcQp1yvmT7pNRzq9y5arcksZrsrtguik7BpsWyx7 JuSOvknpHZyQ
/QcuQu9oz8mdObn7MK/3PPvaTzuuyH1X5MikPEiIh7YHyrdWXMTqpkBHQ0VO jM9LPCdDTYHF
Yl2RU7x9jCthRUdOHvnQa99RRmBHECcnp6etcAfbMBikjfg2vfU9avRdrGdk djA2NzHObud1
D37AnvZDFr6X2BV+hDgjI8X7c2xSb8NPCur/k76FmpCSMzJO7dcjJmflHC3U gWPyqJwn34O4
TS7IG2mTfrTIm9z6r+y3DIFXsUmTuCa7NOmtfAUrNc5mKxZVypvlLX50rPdT pULZ8PmibAm7
sqhYK5O3ur+PyeNuEpThAry/l73L/wNQSwcIl8+PdHQOAADUIAAAUEsDBBQA CAAIAHNznzkA
AAAAAAAAAAAAAABRAAAAV2l6YXJkSGVscC9iaW4vY2gvc2FoaXRzL3R1dG9y aWFsL2hlbHAv
ZWRpdG9ycy9NdWx0aVBhZ2VFZGl0b3JDb250cmlidXRvciQxLmNsYXNzpVPL bhMxFD1uQtOE
aRsClDcJECCAwJQNiFZFKLSiUlpVSpWunRl34sqxo7GHIv6KBQKx4AP4KMT1 JIuKx6YdaWbu
Pb73nPuQf/76/gPACzyoYI5hPR5xJ0bKO+5zbzMlNB9JPeEyUeQ6vpNrr/ZE KjcLoGuNz9Qw
hLZXKygzNG2WchlrNXGSHx2KWHIRe2UNf1v8GOb9SLn2cxLrnV5tjXjWlVF+ g+FN5yxEjwYM
5a5NZBUM5yOcw3wNJSxGqGCJodQJAcs9ZeRuPh7KbF8MtWRo9Gws9ECQFvkz sBxaY9g4Qz3t
VWqtlOVmAZdJ5UB9ElnynnJbezpPnyrCrzCs9MV4omVrOtPW5kcZ514mNVzD jQquMzz8ew0J
VWFT0pbOkfK7wo1wE7eoPzuRZtsc2mwsplva6vROUrhjz49VkkpqqU+t6LXe kfgguBYm5X0q
3qT/QMLoan2bZ7HcUmFAzf83/ixkUyWbJtbWUfaO9CObVHCX4fXp5xmhHda4 GGdSeDmdF60o
2jZGZl0tnJMOLVp9ia4Bq9fD/smao7eCBcKrZL0iPyC1x0++0Ocros9FzHLA ihNGefuokxWR
HdALaBT4RSzNWF6SRjirssalxso3XP2TZECCBydIqjOSEm4XkU0qFCjjDu7h fpHFijh6fgNQ
SwcI59xbaPEBAADIAwAAUEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAABPAAAA V2l6YXJkSGVs
cC9iaW4vY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvZWRpdG9ycy9NdWx0aVBh Z2VFZGl0b3JD
b250cmlidXRvci5jbGFzc6VXW3cb1RX+jqxkZHkSjAOJgWCbkBBbciICMYEo hPgiG8WSbSLF
1IRgxtLEnkTWiNEoCbTQK/TCpYVeoaXQlia9UNqkiRMn3B9KFw+srr71pU/w zA9oF4vvzEzk
iWwnJiwva/bsvc+3z9n7O/uc+fCzc28DuA3vKQgIbM9NxcralGGXY3bFNi1D K8Sm9EIppucN
vpZj6UrBNka0ST3hKHrNom0ZE9JVQVBgm2lNxvRcwSiV9VjFiJU0y64d052z DbPYo/kHCzRq
VB/2XEY4TGBtqgYtOWeNC6hlbbpU0F04gZsu8j54QMvpMc2xxVwXDlm+wyga 9k6BuvaOUYFg
r5nXw6jDChX1CIchcJWKRoQFVuQsXbM98DL1KaOoD1WmJ3Qrq00UdIGmlJnT CqMac8R3Txm0
pwx670hdeR45zfpJ3b6wrP3ttVmw9aO2CxNLZim7CPHUQe2wFitoxclYhljF yXjH4hlJeilp
QDOuV3CdwIYlRVFxLW4QuKP9iqKxAC6kwMYlrkog5IIk+2TK50VlpTK2ljuU 1kpOCRSsE2i7
3Ew4quym+LAuiyDQOi/NfrJ1jNaTG7eoWIblkiXtKjoQIUq1UKQz697S3jEP Zs4er0cnNivY
JLC+xsudXtljaj9fTetRFTHcypz1JVKJbILxa7EXHBUPM8ptKm7HVoFlnGAy L3ANJzYvd/W4
A3cq2CawdUnFcMOQqmVbK9plOb1WmY3tkhWrG7ADOxXcLXD94ilQcQ92Caxm 9gcK5oRWcE33
asV8QSctti1ArMvzSpanEz0qemW+gnuH+obl2hJS0SpNAyrudUx7Eq5pt1Q4 ppSKtDTV9e7N
SsuwfHcs96nY4wzqHR4Zk6asVDimURX3S9Oyke5MNiFtY1Lj2PapeFDawhmW rTc73p1KSYeH
pNpxeFiF5uD2J4f6pCknFTTpmFRwQODmmvwZeT2W7EvUcGNKYoR6hocH0917 BmX2D6o4JHtX
Y6WUr/Yul5jBktNRw5pPN7+9+qiqoMQ2duVdbP2WMExYsq8y1D3tX6Yhuruv okJBKIQjcss7
nb/NnW8Yj+KrCh7jJr7MCaDia3hcQCH7JKsFrl2oj42G8HVS9KIYbbZpFtps oySDfVPFtyTO
SolDfdYoSbgwvoOnFDwpcF1NYkcKmn3AtKb3JlV8F9/j0cVteb9pHZrQi7kp gRsXaBtVM3v0
D/CMgqfn4845qXgWz/GUIm5mSrP0fHKaqWTm2xaA9nvEQ/iRwNXJ9MD4cM/u zHi2OzM4ns2Q
Ty/gJwp+TJpcariKn+JnbMyyzUhFn17OWUbJafG7lnhIWHrZrFgUahDiMte/ UPEiXmKE8gIR
Yu1fBE6e+I25C7zSs2ZaL1YEIguBXGgw0iWtFQkkxyv4dU3rvsjb5xzCq6yy S+W2W6QhjJfx
W7kdHg/hNR7xWp5G2b0bcAx/UHC85ghedB4q/og/kXwlSy/pxXzWHLDMCjdr 9xdrndUNJs9W
W5/m8uRMXlfxF7zBdsj5cUaXyk21+XJHTbtzqz3XF08mW9K0k/5V/orI3cT2 I7DpUoE9L39d
TgusW3RARmf301iJME5hRQPO4pyCWZ7iSw0hc3J+EbpdMp9n8ToJtvSlyFPD IW+/IW+TrYs3
xc2y1qRYsljUrd6CVi7rZdzENlnH23yAf7ypOBJ7Jp/LaeENl78NfIvzKfis j5yByv+VJxzX
q/m70gFYiyBu5MAWNPFNdZ2xCtfwGZSHvQe0j6Okf2P0AyjiOMLRzlmsCeBv 1NU5eMudsesd
nDbX18OR0lpGEY7UglZitVHmd0ioX3HWcjMHOoHEp1xPkMZPIqewIXoMwROR 6GlsiMxgY7rz
H/hX9D00v8jw76L5OL9DhjpPIjqDLZFNJ9E1g7tmEa8Ddd2ers+n6/d0SZ9u 0NMN+XQjni7j
0+31dF/x6R7wdPt9unFPN+HT5T2dfFbVszAETlSzd5LXBSDKSnQy/5tZnVuZ vS1Yw9vdRnSh
nbeHzdjG3y4W9U7eAe5CD7ZjN+VhakaoGcXdeIhyDjuR5/XrIHbBonwE3ThK 7yd4SXqK8tPo
wzNIsO/34yXKr2AAr/KWdAxJvEH570Q9hUGcQwrvU/6A96R/YggfMdJ/KP+X 0T7mBUlWOuIW
q1rpT1BwmLAK/8Y0iqz0RrzlVL/OqXkjgvX/xw0KduxS0Pw/2gLyM8xj2RGi SZZ0Rc7DHCNf
HzkNm0Swmw7P4KgjPDGDb0jhLL49i+/zuPjhLJ4PYAY/n6N2C6kFZEnnMVL4 Ab7vwzpeyrbw
uRX7fVTv8iYu8Ev8ypvEFKcq6dtyHi+PNb1yBr9JR5t+x4L9nmWToWfx5wDm ojU5KRjnIh4m
msalTvg2QUs1NS34K7cLNz7fT1AKUD7JZLtRs/QO8NkcPY9TY2cwM4szAUTd eG/647kbN48V
vEauwQEn1mp3bDVWM2O9ReQA3nbGvYN3+ZRpNh07PgdQSwcI7AH5gzwHAAAO EAAAUEsDBBQA
CAAIAHNznzkAAAAAAAAAAAAAAABGAAAAV2l6YXJkSGVscC9iaW4vY2gvc2Fo aXRzL3R1dG9y
aWFsL2hlbHAvd2l6YXJkcy9TYW1wbGVOZXdXaXphcmQkMS5jbGFzc7VUW08T QRT+hlYWyiLl
IuIFQaxYWmBEvKOgICRNAI0loL4Ny9Aubnea2S0YX/0x+moCwUui7/4o45lB AUWNfbDN7jlz
5ty+c9kvXz98AnAFUw4aGMa8Mo9E2Y8jHtdipX0R8LIMqnzLfyn0WsSLolIN 5KLcWrGCzJiD
JEN6Q2wKHoiwxB+ubkgvdtBIzpQucekFfjWSfGNdeJKrqtQi9lXIC49rYShW A7nix+VHWpW0
jCKGxrjsR5nLZDxfZyoTDO2bIsh4KoyFH0q9KCqSoWP+ILdirP2wRIquUVz3 ydrqNN7xQz+e
ZHiSrTvqUfdHJUPLDMkZtSabQbVy4aDJcB0umpEyXJeLFqRSSKDbhYuTDIms MWqbJyCLtcqq
1EumVgaO8kSwLCgxOn8XJk3RGMbrTT4zRrVI6FrIMJqdP9wtT2nJ6SL2K5IX frRnQVGZlLZ4
UrMvPFk1rYwc9DPkD1BruR7QDPBCuEnJGpUloUsy3rdIYQAZBxcYeJ0Zu7iI QYYm4XmUj5mT
V/+nZXVVI4U+ZE3jhhh6soecLZW12jI9IqUW5DHiYJhh6J99uxg1w5BcU6F0 QGgH/2g6Q4f9
AjM4lT0P1Jg6oDAwGqe/jMJPUUi9tRgL7/mCqNpJdHCDofM38GlciqqmPTnn m0PXLx0ZNSY0
7bOhF6iIyr8g47KiZt/BXYpB34x1pStztKRR2a7GM1rhQkg7PhOIKJIR+mmJ EvQcQyKdNvsF
pDvMdlnaYiga6HHRSlrHiZumc5JoVy6/g7bc8A7acyM76Mzt4sRbq91D75S1 otQwgVPWnhkb
nMYZKz+LXtI4R3ySTn3W8xvijeeR3DY53ia/2+jMv8P51+he+Ii+p8O7uPR5 Mf8eOYaRz3v0
rQ2URic40V76gwCZFAYMGEzSzRQFvkc39yngNDKYwSDRYTywqfWTPgX9nprh xuizTsWmMozj
Kvm/RtIWJIoOeMHB9SYyuGmR3sJti2CAUE5a1MzipN83UEsHCPlbpFTtAgAA IAYAAFBLAwQU
AAgACABzc585AAAAAAAAAAAAAAAARgAAAFdpemFyZEhlbHAvYmluL2NoL3Nh aGl0cy90dXRv
cmlhbC9oZWxwL3dpemFyZHMvU2FtcGxlTmV3V2l6YXJkJDIuY2xhc3OVVF1P E0EUPdNWFsoC
tSCCUPmqWgqyfPhdQBEhadJiQ5UmPjlsh3Zg2W12p0B49M/4TCIRfPAH+KPU uwsBA4amm+zu
zNxzz7lz59759fvHTwCzeKshxDBjVg2PV6XyDFVXjiu5ZVSFVTP25SF3y55R 5Ls1S6yJ/VKw
kJzVEGGIbfM9bljcrhjvN7eFqTS0MMQvV9frts03LcHQoqrSS06TVK5JrQxD 6x63klvS5xnN
OW7FEKYla54wTMcVhis8p+6awjOyq4QhfMu8tKVaZNhINa3WmH98gyGy7JRF Gxi6dGho9Ue3
dbQhGkUY3Tra0cMQTvnQrpy0xVp9d1O4H85yEc85Jrc2OAVD8/PFiJ8ghrlm A07O0obDbt2O
YgAJDYMM/f9uoS6NgsXVluPufszquI8hBr0iVMlxdzaFbVYZEqnx3BWX7IU5 044RjGkYvc57
CdKRxAOGPuJdMpXcExeWkrTLzj7D2E0aZyBSeoRxDSmGoQZQHWlMMHRc6BV4 hXI4cpOID8lE
8RiGhimG3itAWRZG9t2KjmnMMESdmrBXypIOgOFzqgFr45r5dD2wM/YCd1VG wxzD8NVTI0uW
ynjlwBQ1JR2baqQWbHOoQTiUmKLi5k6e14Li0vCCDvlGH9pxMQh4NeiynitF NuW3NJXyim1a
jiftSl6oqlPWsMBgNFmwOl7jDfV02VmlLvWo/tZTucsro6hc4s/8Z+V6kuu2 krt0bAXXqVDG
vbxj+zkNOlTP2rZwly3uecLDMDVomN5bCMVifscCsbjfr3QJhuhth07WDhot 0DxM/670xDE6
05PHiKW/I34UAO/QNxo4UMLgopdGviPBcRd9wXo/es6pvhCRT5U4wb1TDDOc 4iFDbiL9DbHI
CSZLXxHJHxG4k1wH6DIOBwK9FCVQJwpFln2yHGAQh4FYbyCeOBfrJNkneEoM z2jWjdAfAoc0
MA3P/c8siPJlEPkrZOgfwTwWsRTsggVx0/MXUEsHCLT0z1fmAgAADAYAAFBL AwQUAAgACABz
c585AAAAAAAAAAAAAAAARAAAAFdpemFyZEhlbHAvYmluL2NoL3NhaGl0cy90 dXRvcmlhbC9o
ZWxwL3dpemFyZHMvU2FtcGxlTmV3V2l6YXJkLmNsYXNztVgJfBxVGf+/ZJPZ bKaHgdKuFNgW
2m42x7ZFrgTRNm3pQpLWprZNAXG6+5IdutlZZmablkNUKCogKgICVlE8EK1I BRJClMNbxBMU
D7wPvBXvC/D/ZnaTzWaTNPVnm8zx5vu+933/73x57PkHHwKwWoQ0VAnEk+m4 Y6RN14m7edey
TSMTT8tMLj5oXmLYKSfeYwzkMrJbDm73FjQEBE6w7P64TGbMnCPjF/UZSVkg jxeJagXCpUR5
M54YkyEQyBn9UuCUzlnuvpls7QJ1jszIpGtaWYHlnZOV2WPKQWk78URPkY5M tWeaWdM9S6A6
2riNKnRYKRlCNebpqIcegsCLdDTgKIGFjnS7pUw5m22r35aO02WR07LJFN3Z uE2RLtBxjCKd
T9KNVHjNHsPMGLsyNGpep5mV3fmBXdLe6q80dFpJI7PNoHl8LywG3LTpCKya LQS0JGikPCQc
DccJnHwEGNbRhBN01CEUwmIsUQgsFWiMHh6WjdsU/0k6NAQVGMt1rEBUQCvo NYWkQogkSlyp
HDEnJ+0+yx7YQPc4ac89O5VWzTpa0EqI+6XbYWVdg7Da3cYAxR8dbey8yNhj xDNGtj/e49pm
tr9d8azUsUrx1JNng0mjSa7hZMI8S5BOWhXCapyigDlVYEd01l6arN/kFT+U TtdxBtoE9FI7
BVpo40wYjpG31+NMnKXhpYT+sJl0vAwvJ952nml0enTnzgr7WXSOoZweT2zJ Z7MqdLebbrqY
GJ4Ja7FOQ4dA07iBtuxTwRJPZPcw9BX/VsOmfev3JmVOvepYjw3MDK6VfWH6 TfDu1rRtDap9
2xVYG3UkcA5TgCw9dEBGYEkZUM6gS4tTJKBXFEl7EJ0CNett27JD6MZmDZsE jqqwhY5XqOgJ
kbeL1jFCQ+jBKzVsFVgxGZwUo8Dqd+IF2nXeq45t2M4SReSy3pYCG6IzKHh4 waKhV+D48Q+J
rCttO59zZaoEvTnJibnSMFkU4esrJIdAlZVjDTkC1wsIskc6p1eIZC2dswgM 0s+xpZEpsWhB
xWggXY9rJHd3GTmvomroY60ot1UDK8qqWRtHhFJWsSBtiR6OfyYgmLRsGWde ueaAjCfK2ohX
9UJjBrKKD7CGTsnewZcxYg0WE6R887V5M5OSdhAXM/A6CJ/LxUgIWTiqgrnE sIINKnez2KNj
EHvZHo0cIzalCk8F0klLhS3blYhLdFyq8iboWv7HelyOKzS8pqwaTYuKjtfi dVR/l+w3GRTO
boFjKmiSUFpfif0arhKITZYuHStvJ6UT31J82pzJU6KOq/EGv8hut+zdTo5R oPpUYwW/jclI
jJGywL4J12q4RmDZYTHouA5vZkvkflssy51cz6fkVOTtGt4icNyU4G023HQI 18Opxw24UcPb
KyI9hXAdN+FmRmCfmU11STWnsK5Gp4tf7tY+vfZFtInTLbhNw62cDw6HXsc7 EWPwyb2m4zIT
3jUDvmPNK4jb2ebHXiNLg3gvJ7ilkZQlnUjWciOeyFbVNN6n4/0qCRpcVT0m 5FM9DuCDOu7E
h3xfqaFBYN3/iIaS4rWrD+v4CA5SL9UNlLIy6zKQpTFQ0uZMi+Uwly98IIJ3 KwQ/xto60x6K
9JCOj+NeYuH44wN3YPlaH60ou6zHz1SmlPz7dQxhmC5Kqrrig1NR9KwkhzCC UQ0PFvvwRGE6
PgGdLTuZsRypislDOh7GI1RikIEs1QEiykIQxKcEjt1EaFW5Uy0twkEyIlOm qn+tra2K9TM6
Pqucr/BRZUV1vRA+jy9q+EJZik1qzDoew5f8eWCd6eQyxj6BE6cZNwpEzN4v H8HIuTqEx/FV
VbC/JrDtCEbOGUNS4f4NPKnhibIzXAUjdHwT32I9Npx92eT6vTKpIrakHhfb pjeYfLvUj5tK
erc2UDw6Nc0iPuhf2yualZimKpnsP8Vv5afCKasV7UuOj9wrpmUaH7apXp9X J5bODDlj1ikk
/IKKeRPELwT2buVhMMIfNy0j6phKZ/sBnSyktBfZsdaBnPTX3bThRpy0lc+k IrtkhHmRanEs
m6MX+T0xm22pzm4RddSOWH3e2kA+45ot3orKEsvW8EuBxUW91u5z5RrbNvaV KBiCxK91/Aa/
9aduReOoBGw8b20Iz+D3KmD/wGSNnrdWDTbBosYa/lQWZROczuHNzTtB/IX5 5QewOkeH8Cz+
piT+XeCsaKJC/592FhsfD1WoZ/BPJepf7CnTFXRfE28q0wb8Ud7zmlqt7OMy TqKhfCbQPXEb
9UcPFaO7ZDaZbp/2bO3a+aSbt2Wq9JTN6BwssrPQTSNbYOVsxas/IyQZp85J KwWu/P8ccGfZ
EoSo1WHiIkZEj5dEfjc+umzrVrUPR7lElsnYkTEcRzpYwm5bzd8aVPG/hiDA ex1CvAe5Xg+d
1zl8W891wfu82DDmxgJDmK8uRx/yGBby2oAAr8t4XU4BKzAXUSziiu6zIYwX 806HjIk8h7Tq
26LYKBb3xu7D8cOI3I8TY3w8cQjLxmXPpZJAnFJW8n1VidxFY3IbEfPlihDN qeVawpfT1Onf
412jWN0ba2oexku6Y0M4LVDdMoL2AMeYSFug+mBbIEyL1rTV8NvZDeeGa4bQ 9QC2VB8MHKQa
x9KkGHZ491Ye3qs9xVqJEHAGsWrDfLTz69mk2ohmnrdbaeBKnIvT0En0uvhl k6f4RuJM5QqK
B7EGO3EeVZ9POefzSe3VigvwKu7RzLcL8WoCpQy/EAafTiPlLiRpZIr8x6H6 BW4Z0CA0SO+n
Xz3u6NCwdhHZGRm87iapQjvjIfQ0meu48mTLKLK9Dblh2M1DyA9hX80ILqvG A3j9CN4ooCAZ
xfW9TcN46wjeVoW2mjAp3iFwK+rDNY/iwG1YHPNkvJsymiij4T2+oGHcEa55 BAfaasO1SkSz
J+IDFKExgu5qC4a1EXxUCWoIa+FgIEBf3FNDX8z1Xvl2XwDh4BAeuBM1bcGW wAg+WYWWhkdH
8OkqKBcN4XOjeLw3FtaG8ZUhfL1AcohW5jm53omnCk46h7EJwqkAXEIwVxPG dYTwAgKYYp3O
E7FLkcZ+YnUjkbodA+TO4i7kcA8uJho2R4zL8ATnIuXA833sCg5UT74D1ZPv QPX0HXyX+y/B
vfgenib2q3EHvo8feG7L4Yf4EWM0T41+jJ8wIC6lq3+KnzEclFPPRO1z6s9D N2i4ZdHzOFXD
AQ13axgJvaCStMTXl/tEPoFafkpwf07PhRw7lzoofeY1/LxzFM/00kW/Gsbv 7ilLrf18u4pP
V3sGHuOzFAysZqr90TOwSh0IyoOJMGqejIWjeLZXa/hzdZMYxl+ZbBnl9H88 XLbVtWS6hs/X
eVtFfNYxLBfi395Wc4nxf/CcV3SexwsFazbyXdHXxprvx/Hj9SHkKXwTsb25 RGrtmNRawSrp
eagWdYKlbn5QVIvAJFOifFZVLMgq0TIsasZ3qPW4d3jS1V5VQvOuQVHn1b4q +tf/97h/+y9Q
SwcILsqWZTQKAAAxGAAAUEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAABKAAAA V2l6YXJkSGVs
cC9iaW4vY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvd2l6YXJkcy9TYW1wbGVO ZXdXaXphcmRQ
YWdlJDEuY2xhc3OdUmtrE0EUPdPEJllXG6vW+n5tNUZwrSIWFCkuFYS0Ci31 82Rz3UyZ7ISd
SaP+K0FR/OAP8EeJd6b5pCKShWHvnLn33HMfP35++w7gAdYaWBB4lA9TK4fK 2dRNnKmU1OmQ
9Didqg+yGth0V47GmnZo+iYAr2VByXoDdYH2gTyUqZZlkb7qH1DuGlgUWDNV kVKu1dhSaqcu
pUMqmX3bDNTb9z1lHZVUCSy6obLJfVbQm0PCEyZ4qkrlnglsdOZiuLMvUM/M gFoQOBGjgWaE
GpZitNAWqHW8w1JPlbQzGfWp2pN9TQLLPZNLvS85Cd9nYN0XI/B4HiHJOhcT jUJ79uidE7jd
6f2ziVv+wvojrOJCA+cFHs6RN8ZFRAJNmedkwyQEV5L8T2rWu2smVU4vlK9+ 9S/s9/xycP+2
ylwbq8pim9zQDGLcwE1ud16RdJSZ0lVGC9z6s+KpGhTEeTMzGjOBOxpY/LLk 7cm0tJYsrvHk
anyOQbTbfoC82At8WogYPc7WBt89EnXvfkbc/YKTH4PPKY+FFx+9iWW2YrY9 ehpnAn4WKzOW
Tf5732b3E+KvOPc7x3POnQWOlSO/GYe3LuFyUHklxFxlzUCdB3cdSYgXISt/ vwBQSwcIZmig
AdQBAACZAwAAUEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAABKAAAAV2l6YXJk SGVscC9iaW4v
Y2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvd2l6YXJkcy9TYW1wbGVOZXdXaXph cmRQYWdlJDIu
Y2xhc3OdUm1rE0EQfqaNvfS8trFqre9vwcYInkbEgiJKqPgSixCpn7d3Q25l c3vcbhrwXwmK
4gd/gD9KnLvkkwpKFm535rmZ59mZ2R8/v30H0MP1AEuE+0kWO5Vp72I/8bbU ysQZmyKe6g+q
TF08VOPC8D5P39XAGzXidi9Ag7Bjy1HMidGF49hNfcxHnAvPkA0nXtv8aaoK zyVhxWfate+I
2mABuYdC8Ejn2j8m7HYWYrh5QGj0bcqrIByPcAwrIZaxFiHAOmG5UwVsDHTO +5PxIZdv1aFh
wubAJsocKBERfw42qmIIDxa5SLsnxaxPdTpiP2sTp4RuZ/CvVu5VvpQRYgvb Ac4Q7i0gH+Es
moSmShJ2rn2XQFLQzn+qE8KhnZQJP9NVH7b/InD7vTpS0sm9PDHW6Xz0mn1m 0whXcJWwlpSs
PPdt7ktrCDf+rHvWGhf37bgQAj8bXfQiz7nsG+UcO+GSickTplarGqRYS/IF aAq+Ktau+BUS
dm99lu0Loo91zEaF1X9I8p6jJVYkdoWewGaNn8SpOcsTOavYZvcTwq84/TvH S1F8VXNszeLm
HJV1DufrO16ocy7ikpwNibuMa3U+1aqyfgFQSwcIvWolSsUBAACNAwAAUEsD BBQACAAIAHNz
nzkAAAAAAAAAAAAAAABKAAAAV2l6YXJkSGVscC9iaW4vY2gvc2FoaXRzL3R1 dG9yaWFsL2hl
bHAvd2l6YXJkcy9TYW1wbGVOZXdXaXphcmRQYWdlJDMuY2xhc3OdUmtrE0EU PdPEbrKuNlat
9f3aaozgikEsKCKECsK2Cqnx82Rz3UzZ7ISdSaP+K0FR/OAP8EeJd6b5pCKS hWHvnLn33HMf
P35++w7gAbYCrAg8zMaJkWNlTWJnVldKFsmYimkyVx9kNTJJX06mBe3R/I0H Xsmc4m6AukDr
QB7KpJBlnrwcHlBmA6wKbOkqTygr1NRQYuY2oUMqmX1Xj9Tb96kylkqqBFbt WJn4PitIl5Dw
mAmeqFLZpwLb7aUY7gwE6j09oiYETkQI0AhRw1qEJloCtbZzWEtVSXuzyZCq fTksSGA91Zks
BpKT8H0B1l0xAo+WERJ3uZhw4tuzT++swO12+s8m7rgL6w+xiQsBzgt0l8gb 4SJCgYbMMjJ+
EoIrif8nNevt61mV0XPlqt/8C/s9txzcv50yK7RRZb5LdqxHEW7gJrc7q0ha 6unSVroQuPVn
xXM1yonz9vRkygT2aGDRi5K3p1dIY8jgGk+uxucYRKvlBsiLvcKniZDR42xt 890hYefuZ0Sd
Lzj50fuccph/cdF9rLMVse3Q0zjj8bPYWLA847/zbXQ+IfqKc79zvObcA8+x ceS34HDWJVz2
Kq/4mKusGajz4K4j9vHCZ+XvF1BLBwgKMt0p0wEAAJkDAABQSwMEFAAIAAgA c3OfOQAAAAAA
AAAAAAAAAEgAAABXaXphcmRIZWxwL2Jpbi9jaC9zYWhpdHMvdHV0b3JpYWwv aGVscC93aXph
cmRzL1NhbXBsZU5ld1dpemFyZFBhZ2UuY2xhc3OdWAl8FOUV/3/JktlsBnMh Icqx3MnmWO4j
URADyNokRIJgENHJ7iQZ2MuZWULwarUtXrUiWoV6YD2w3rSwIUYt9lBrtbWt vexN7/tubYva
/ze72UAuUuDHzsz3vet77//e9x6vvffciwDmiXMUZAnMD3b4La3DsC2/nbBj pqGF/R16OO7v
NHZqZsjyN2uReFhv1Ds3OgtNWruuwCUwPWa2+/Vg2Ihbun9rmxbU0yz+fkKB scFY1NaMqG6u
13fYApPrT2SzOm0yhdp1apf7tQLuNiOsp2hzLT2sB20jFhWYVT9Y3XZD79RN yx9o7qMjf845
RtSwlwmUl42OpXyDgKsuFtLdOEPA05kx3oNsFKjwoFDgzLL6rdp2zR/Wou3+ Zts0ou1kdKNY
YHxDImwbVXFyeFeFDLrQu5pH8IBcKsZLbrel2+sNO0wVEwS2rO8wLG9Kjzdo 6pqtW17NG9U7
vfLs3LE7vL7qSFz30g161KKVXrtDs71BLept1b2xuB7VQ97WLnJF+pXrjvJq qfgsFWdLxWdQ
8UrdCppGXJ41l1uTVLiRK5Bfz6A0JiKtjIzWGmaoiupjQS28QSME+J1edNk0 VmBh/WnApFaG
3zlfHUFgxsIMY9mw8a+LReIxy7B1OlbBTIGpp6T0YAZmywiVCcwejeSAFO0b QnRY64olbP8F
phGqd149KEelFF0lkF1WvkGq8quYg7kOLu0UFbNgeLUpEp4ml7Lmq1iAhcRX NBGpi4UTkSi9
KgJya7GKJXIrf7tu2gZD0BzXggSYghqGa3jprXrYg6WY7ca5Anmz6voSrUau LldxnkSAIqFH
GCk4X2DiSLnnwQrMlghZpWIMchRcIDBlBD+t1GzNg9UISC9dSKSUBaSbVqBe RQMaGfuMmyTp
gBxa27qV+eeEuonwOg10zZjrwVqsk9qbBZaUnRZCUxZfrGIDNgoUaqFQQyxk tHXVGxYzTzcF
fIMDrG/Xo9RyMqVzlBYWuOF8fH7CtmNRDy6REdtMFJ1vxjotvbq6Wq4tV3D5 afphngdbsE4K
aVURREhgHM+RKXD9R6ka9iiDiJ3i1iZhJWuZN6pF9BqJjQ4VisTG1tO0db4H hrRVIKIiKpPL
I8s1eY2dTsmMq7hSLo8NcS3WXtdBsOghuWOpsJEgA2GVqSczRsp6h8ap7zlx zeRBma6jKBIM
TebSImu4L9MHsQ4qGmQdE5Z5ycwZoSyQgJRZ7YzU1JGEyrSRN1qrgxwB77Ay U9iqzcP1+LCC
G+iX0Vx9Kj6Cj7JEGNaqSNzucgrdJgU3ClSPxG6biaCdMPV+iOVhF25WcQtu ZRmwGElHVEAu
36bi47idxY12rjZMy14V1iNOKMaVlQ+uBwruGGB8MGbqflO3YgkzqFP9uvSr gjsFZo5EmSmI
ediNT6i4G/cwtLSjKQ2GclowKgF07B7sU/FJ3MuUkCdJhMNNmt0hMG1IGYmo bUR0f0DSkPl+
7FfwwIDaMJhSxYP4FLsFO5bqMAb6KN13yIq13I1HBFT2DJfLnkE2C9L1loTe nBH7nsHRI8Sy
Y61bZQMwKB68V0fpIqZss60FtzVocad1UPCUQMFAgbSZGR0K66nip+BZAf+J ChKGP5X5qQR2
ZGcsXensyGLwGRWfxSH6isFoZtXhsacOiMSJ+eGQ0HFJHFHQzaI+wpn6AGY1 hRPtBpOkB8/R
bMrZGDO3Wbyb9VNDJ0PK6D+PFxW8cAqwZhhUfA5HmZTUty4Ws2XVHqUqSV7r xucFSlMe628p
M/XMg2fwRXllfklg8/C1M+WvUUZ+01CtsVT0iopXnZIgG1a58JqKr+D1VBLS zWxdZVdQfulQ
deCrA3qfk9JFZosHb2A/q2MKLgJz6/9PHMnSaqatKB7CBomzb6n4tszJgvbU pePIaeRtKLUX
5OF7+L6Ct4mHUUdIxQ/wQ95ibUY01KDL9ltgTdmpasjIEOiDrGPyj1X8RJrs 1CkGP2XtMfxc
wc9OyshUrFT8QsYoJ6xH2+0ON37Fe2b1SZjhjGHZcu6w4nrQaDNS1/FvVPxW NphqIh5ih8/c
txOWrLS/V/EHKVEieH1XnDPPn4jIoUTqO9htSJa/qPirvIlUw1oR5Ikso1XO Sn8XmNBkxmQw
MjZ0moatObv/FDg705wMZeMxvKPi3/gPTTH1eNjJ2/FldXVDltRjOK7iXbwn r8NoSN+xls3P
mLJAoDzgZp+OksGatrNnkVpEliqyBQfivLBm2YE+ZtkOB+R2jioU4ZZTQ6LV Stf1M7k52Aq3
8LAUs5RLNlUVYwUH0gL9yoQWtgLtUQa9TrP0YYbRTW5RwA7fsbN/bOwzdhql Ths4RQ8Lo/QU
LpFz8q2QViazLmZzXKS5zuQgRIkqJkg45LM7W2WaMbOBYXSGaCHOUsXZYmJq T3aBstUK67a8
sco2yfZMifQRrxBTVOGV8HXg4/w3QF5cN9tiZmQNm0uPmC5mKmIGETUg25vC mi2pLg6oYpaY
3V+xW/VokBf1pAFllCyBzHZtnigXFYrwDZbbT6SKSiE7U8qVpjR3sVWOCFQO Fuy0wf2M/dQM
sZ+5X90mOyFJlSfmivmKmCdQNloZqlggHZ0XMiyCuktuMF6akzcz5vS/zpWu X6LiaafLbnYi
K9HBpBqiM6+WQabTAlGmZx2RbOkWphL52QD/ZcmRkG9Zsv13nm7k8plHCo/z q/JrM9ez+Jzg
KxrbjXxfUVES43xFJUmU+ioOY+JBh3Myf8dTHlBBWZXkrEIRqlECP6Y4e44M eKkfzpvUJbNw
GqanNIl7ya9w7+1ezGipyO7GrIZelLd0o6KxsiqJ6qqcw5hXVZB7GIt6sbSl khS1Na5SV9E5
SSzz9WJFS2Wh29WNusNY2YvVLYXZ6MaamjG+Q1hZOiaJD8iXXqxt8XXjoiTW 9+KSlsoCdzc2
1eSU5hRdmsRlpTm92CL3r0hCO1mJPkhJ+wAl7X1KuGFIIduohI8w/8V8lUmY /b5qpQeAhfTz
IvppMf20BBM54k9DDT1XiwU4F3VYxmF4OWfA89DOodzCBdiJNWzAG3AHGrEX TXgMF+EQ1uEF
NON1Ur6JFryFTbzDLnX8vibl0Yzf38Z2dDrxfRM7+JZF7a+ii3KzqfcpXIWr 4aLWW3ANrmU8
LGq+Dh9kTLPkaJeOVBG/XJRm8bATX4YuHz34kMA+tMj3l7BrL9bKt6PYVV/R g5tYFh6G6yBf
PybQUPkSdu9FNR979iKv8ij2NB7AWD539+AugUYZqKoe7BXs0+4T7PAekl4t epgvBx3oShcu
wljHkcWcjychhJnQCbY2zKHJi9FB523FKmyjsyLYSOMNDqEm/0q3LHCgaqXd MhMr8SgO8HCL
MY8u/TSPdyG17MDj/N1IF6XeniBtCVzHMUfBruOYqODJ48hVsOcdFJLl6T7/ UFiOk2M1vXim
xZfEwSM43INeJl7RS934Qn1FEi/vw2Q+vtxQ+aJrP4rliSuz5x3FG0l87aRj znJycif9fRW1
XM3j7qQR13DvWmbOdShndJbiBudY3pTW9LFKuP8mvk6bpjP/voFv0kZ5BDfE cSxV2Ltlybk8
HdPrqUE65fE+W3vxhrT9rW58pwffzUI9P37UIFeS+Ok+eHxFv+zGrw9WvIx8 hvV3vNVyrnWW
/+gs9+DPEg/8/pv8ruxj+ofzVbC5wJ/Evwr8riT+e79cfz+1Xp0UYtmkrAcw pXKS64qkGCOT
r1jkJkXePuT5ikW+pPMJ+ZvxkcncAW7myW5hXt2MUtzK9dtQxjm1GrcTFndg Pse95biTkLiL
uXQ3MX4PLmYObeAEeBnuJYjuI4geQAL76ekH6emH6NWHcSMeYTfzKCkOcOUx rjxBgDx5Aowe
T/u7lHQ7RCH9OZm9UpEopn9vwGwxjnmezb1icSbXXE4MxkF5F34FuxUcy8/J H1tynISkZ/uV
xlA4XXeLfRVJMd5X8QoU1wG4spOitP/gZzgBf4ZmPEuUHjyh1BZnUr5YTKJa kUZvVqMC8b6s
Q3xSufOUdZgtcVrzPKcuEycSlEkx+dlM1cpx1g85atQUTVqNkP3pEPztQ/Af GYpfTM1kTx2p
5V7hETGtR5SxkRfVPWJOFvrLZ+rcvWR/HgUsfv0CC1MCC9xiIUtiSuDMtEFj ZCE+OMCamxzm
LIdl0VAsYvFAlq4+FmSJpc5vjajl8yxatRapP1vSTyP1+B9QSwcIbcyUY0IM AAChGQAAUEsD
BBQACAAIAHNznzkAAAAAAAAAAAAAAAAbAAAAV2l6YXJkSGVscC9idWlsZC5w cm9wZXJ0aWVz
K84vLUpO1dNTsFUoLkrW58ovLSkoLQHzkzLz9LmAhF5mXnJOaUpqMVCsIKc0 HShSkZujE8Ol
gAp8XUMcdT393PQxpfQwhTKT8/OK9bkAUEsHCAIgyKNOAAAAgAAAAFBLAwQU AAgACABzc585
AAAAAAAAAAAAAAAAGgAAAFdpemFyZEhlbHAvY29udGV4dEhlbHAueG1sTY7B DsIgEETv/YrN
3i325gHorfED6gcorJaEAgFi+vlujQ3uaTIz+zJy3FYPb8rFxaBw6M8IFEy0 LrwU3ubpdMFR
d9LEUGmrRXfwvcMAcFbhQj7hEXFoqZjsUmWmnlwuFa7ckOLfb+0akzOwZHoy qa5e7LihZ4kA
/v4gr7BRUOyvUvwG8DbRxn0AUEsHCDd1/i+KAAAAzwAAAFBLAwQUAAgACABz c585AAAAAAAA
AAAAAAAAGQAAAFdpemFyZEhlbHAvaHRtbC9oZWxwMS5odG1tj01OwzAQhfc9 xeB9MkTdUEhS
ibSoSAUqSAUsQ+zEbt0kxNMm5WBcgIvh/IgVK78Zvfe+sT9vDxpOojaqLALm uZcMRJGWXBV5
wLbxnXPFYB5O/IvFUxS/b5YgyQY229v1fQTMQXydRoiLeAFvq/hhDbYBXqhW KSEuHxkwSVRd
IzZN4zZTt6xzjJ+x7Vq8LjZKx/QZlxNnltZD7GWFCf4p8Gaz2ZDrvSLh9jkI SqDzOuLzqE4B
i8qCREFOfK4Eg3SYAkaiJeyyN5DKpDaCgvGbaFtIkRbhSugKPB+HaeLjyPgo +bkjen8OKyd+
FfLM7PY6l4qbfS0h51kp6qMCmdmFll/cKJ3o0giZWSGafi/Pe80N2JT++U7b 087HqoONlP7I
8BdQSwcIYY61niMBAAChAQAAUEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAAAZ AAAAV2l6YXJk
SGVscC9odG1sL2hlbHAyLmh0bW1Py1KDMBTd9yuu2UPEbqwCnZHWqTP1MUpH XQJ5QVJAkpb2
x/gBfsxAGVeucs/NeV1/edorONJG51UZIM+9RkDLrCJ5yQO0ix+dWwTLcOZf rV6j+PttDcJY
wdvuYfsUAXIw/pxHGK/iFXxt4uctWAf4ME2eGYzXLwiQMKa+w7htW7edu1XD cfyOT4OLN8im
0dGjxiWGIJs2hthmpQ7+MfAWi8VFN3JpQuyzpyaBgevQn0N+DFBUlYaWxonP NUWQXVCADD0Z
PGjvIRNJo6kJpjOxdTG5UTTcUFXDjY8vaObjKSOtyHlI9P4Ydpz5dcg4k4oU XBeScADJhSas
kIoLIJr3HfSdVpIwDnav+k5Iu9RSCdZ3SktQ9sMiaPMDZ5CwlBSpItaNpX2X aDnwEsESonPB
QAnu43roNRUa7wl/AVBLBwh4QRqMPgEAAMwBAABQSwMEFAAIAAgAc3OfOQAA AAAAAAAAAAAA
ABsAAABXaXphcmRIZWxwL2ljb25zL3NhbXBsZS5naWZz93SzsEwUYBBg+M7A 4GrneGbDtT9f
/t+c9+f8rjvfnv/f2Xz71MpnL5688XAIvHTqdrbL3MroefNrzyztObFy3s6u 3B3bpj2vSpu1
dubZqpwJEeYTXU2SS6LmBdjn+jklr5pwNd69Z8Wsg/LcXoH2ZUHuGVXZswI9 kneuufz8ydtI
9+Yor8YIr8rjG/4e2XE/1qerIXfLmsWHly3a4GpU421T7mFVFOzSkBg4McK3 auu6kxGe3TE+
E6L9WhsK1ztZR96+/tLLtibMoyvKp+/po48eVm2BzhMyk7qK87qj/KbGBc+N CZgeHzwnMqAj
JqSlrKh7wZxt587cfP7sTXLkwquXHz198jrAozsxYlFs2IxQv+kpseuTY9Ym Ra9IiFqUnrAs
JW5zWNCs5ISlmemrliz99ujR+0ePXoRHrs8v3OPusyi/4nZxzd2o+CWFpSsr Wt9XtX8sb3pT
Wv+itP5ZSd3j4tqH5c1PZy16M2nGBc+gGZUdX8rbPlR3fq3q+Fze8ra85VVh zdWOqT/rOu/n
VRzqmPl3xrK/hrY14Ulznj57/f//f4ZRMHBA8ScLIwNDA4MOiAPKEwwcWxgY OWU8Niw42MxR
7dOwYcEhVj5lvmcKCQqHeuXtojwCAjZ4MziwnjhwUulpJ58AB0eVSMCxfjEN 55Y3BR8bFnQw
JvzK2XloCYegnIEGz5HmdH8Zy+IXcwyDj/vNtqlky3og9Ix7mmbIqojOpCcn AsxrLnR4Lk7j
nW1Y/mVPpXHBMUZR2YwrHonObhwMOhz/HAuV2liFVH1qPBpSPA+qaUgZfGhQ ZO5T8OKrinyY
cJhbwXOOwp0zlcUODAzWAFBLBwiQ2/OgeAIAANcDAABQSwMEFAAIAAgAc3Of OQAAAAAAAAAA
AAAAABUAAABXaXphcmRIZWxwL3BsdWdpbi54bWydVMtOwzAQvOcrLN/r8Lhw SNJDBeICQgLE
2STbdCXHsWKHFr4eP/JoWhrU+hDJu7OzsztWkuWuEuQLGo21TOk1u6IEZF4X KMuUvr89LO7o
MouSJeQClYYRestufEaJtkSZRREhJIGdAeny7haOqlGalNZNyToO1iKDAk3d aJp1wCQExjJ7
JK8gpa+8UgLIUysMLhQvgdx7KJ1gh8Y6pZWCaRJzJ9h9daw9HStxPcXYpGnw s7XMK8G1pck3
TPMNGs2MiyIXbANC9dKZV/RiBQU9q5HggPkiuoMJipRu8Yc3xWzNsM04IPzd XvrlZOeZJGH7
4Zvu+ZRzA2XdfJ92qi85GiAkHu0Ae0J7viESxvyD/ugFkDWKS5zuOk4EneNY UKhZmPe5X9Ks
Y6dqxkUExD+OedoTuuisnV6Fe+SWa7TTO9oFJ/Ldam2nkHIbYvY/MZ0w3iM5 Uh0lcf9j+AVQ
SwcIPFeab1wBAABjBAAAUEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAAA1AAAA V2l6YXJkSGVs
cC9zcmMvY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvQWN0aXZhdG9yLmphdmGt VNtu1DAQfU6+
wiovuyvqfMAKqYXlEoRQBVR9RK4zSYZ6bcuXbQH135nE2WwTFrUgHqJE4zln zhnPxAp5Ixpg
suVetBg8DzEYh0LxFpRd5zlurXGBGddwkAqtB/6tFhK4A2+io49ySwwb8NKh Jez6GCQityo2
qPn5tQ9OyHBZXvSBSbrxDfLaiS3cGnfDX0ZdKXhldIC7QFqK1SpnK/alBUYM uBNUjkklvGeS
kpxRngU67EqdomYKa7L2XSogWJHbeK1QDoDzkYC4QVcUmSljP/M8K4q+3J6x 3OTZQOODCPSq
UQvFPgeHumEXHy7flh+/lhv2gp1c4Q/hqnfUxpP1gcm3wkHFUBNeSyA61+mA Pd9Blx36kxGW
jGeDc3JKOqOklC5WjIJG5GJJ0rP7rmaCLbTRp+/FTlRGLvvImQd44gU9I2Eu LB67nuVUzM5g
xRJyktZfVJdOF+XMrWev7yTYgKZrd5b5aMHxhNtnUgeypI26Glr06/9qzth/ 9EbAv7E2WtBR
qfUDr8TzwGpylqx9ghCdTjP929ywlHPm+qQ/5RTzeT3MVwNhA7WIKqSByQam ce6OSRGaYbfv
rBoXntX0dOXTQY2K1jP0kQZ3oHv8foEcKJKxo40SoT2YsII638fSAg+HE3fz ukftzX5GnclZ
aDHsaldj4huneW+c2aYhWYxr/Tyh+t7c578AUEsHCCGLI9ELAgAAPQUAAFBL AwQUAAgACABz
c585AAAAAAAAAAAAAAAAQwAAAFdpemFyZEhlbHAvc3JjL2NoL3NhaGl0cy90 dXRvcmlhbC9o
ZWxwL2VkaXRvcnMvTXVsdGlQYWdlRWRpdG9yLmphdmGlGdt227jxWfoKRD1t KMdBbLdPsZ3W
a2uz2uNcTuRTP8RpCpOwhJgiWAKU4s26396ZAUhCFBm7Wb0IBGYGc7+QuYhv xVyyeMGNWChr
uC2tLpRI+UKmOZeJgkdzOBwO1TLXhWVfxEpwpfnMFiqbXxbKyuJw49DKr5af 6jQVgLp5VFqV
8pOiEHfnytiOM0STsVU6Mx2n7s4LfSsz9RteW4HoYs5lnKrcSB7rQvJCGl0W sTR8+kYUtwGL
3wP94JenC5HN5WQlM/sDeCiazB53ZYVp3qflXGXfQSkzq5aST98Xeg745o3O VKjfEOPLjYgl
T8CKem74pCh0cUYPndBmbfns8qL3LC6N1UtQ/l0qkwswbi+kRI0ZPpPehieJ yG2PIrrg+zWO
0PNC5AsVG/6zfizUmbCiFzIVd7q0/GeVpue0fAjydaGSx1BEuAcorlUylyD6 T6W1utvsIdip
hnMDofYg5JkyObDxIBxpp98nSsV3+g58TnBxjv4wSXo9EcBzUZCSpQObZnmP XirYN2Vq1XvI
Sg7hPez1wasEIuJsAongxc7OkO2wk4zJr2KZp5KZhV5DtmDwx6xmcSGFlUyw JZJ/nmPWc5Jw
RLxYKFOjLoRhf2UIYl7i4VGZvqL/VL0ixD0Wg/6EygwQzCTEe8JQHSHFGnif iTTVa8PAI4gT
yhLMLiS7ASqsNICtMrqPHWygHpAUhmDXukhMDbeHKwMqAVw4kAXhvXCMvhjm 5XWqYhanwhjW
UiiICfkp2dpHRTOFClhiWLKetPZtOByAtkFjMpR5U4w9jlwM8kKtUOuNl3jo w4AIKSFeaCOz
Gn9/Ex+9leAO25c7f27pcBO5SVyEckgUhgPQ1yn5hOlyisoXOAIiMafQlsqi Mfs2HAxMmUtY
A+VBK6FzYO5SF7cmh4wcjblIkm6tRhYcECncb7PnDa5vyA+2WN0l4DUkvUXo lhv+6IRYaZX4
QEAZ9jz7trij/4EX/Rhceh3YzEk2UGADlSXyKwCAHEgh8hwwEDMI72jsMIy0 CIWUIsLcrRgC
+AtlU+kh71ksLLAfoQ9OobBNvsYyx5LApONxEFQxrnOZ0XOEJwMgNoPcCOrF FfQtaTTepZMR
QTmRMRdsh+rIAWZlmrqVJCJW2NJUzPUbZf9RRvl/wr/HVPtkKmCmrgRg6mrl 7FWfRCDAqfMD
9MpdBsWdv333dkLSNMWJuXLl0Zt9Z+6aPAcr+gOHQMe+1GXlElq2cgked8wO MDoHrqSRbH7p
LnAPUU23gy8srmyeBBzhTlQt+E+T19O3b6dvXxPGPOELaFV/Q1HTWS4yx8Jg 0Fzd8E6E5sl4
+5y8c+SikRIN53xEcJug4PJ1o1JHLfLZbnd8VFUpgyzp0pSDlEm02fEw6oM8 FgYNcuGD7h4d
cEyK7Yq/WpsE3RFvI+gXITlZJc3oe+nl4FGe3FQjX3qoB+h22QOvhz/ssU2D tumxzf6jPJaC
3mE2FaHtjr98np1+eHd+zn6nx3/6x5oAksZEJ64hd92I1Mg/Zhu5UnLdZxjU MzUhvbapq1Oh
LXkWaxnBeCNsJP3DjY399sZB1OIHi+1RrBP5qqNjOHpBJ03jIChtE8fQUhEB hzzFQngts3gR
4i2lXeiEJdC3QgdgMFlWabpqNInGrLymbgZAluLO9zCt6kzCe0pe8AfqcSGX eiUfKMmuvvOa
8KZ2ZmLlbbVlnqeGJTouUSudnGrEjdojHVu6fydAXVmjvTH3GBXAjzDCoLcV mQawgt0o3+Cw
k9RoVuZJ7XcULTfAjGs+gAD4/C5gJgEY2LfrKoU9AJHFcqcLkC3XgAhPSHrD uk9Nv2ZOKu+d
Bg1q3aOEikEj+YhoUNtRt9fXfQCQa1ua461mhvTMokxnz38VKwHaHJOEb7z7 wlAiCuzFMxZw
2yHaXFvtXklE/tUE+DP++VZS2hOoDCuKRC8ZTDg8QAsF362QHxmxE9fVPhC0 LiaJUryQ8S3a
WlgyHtmWKfQhWBsrslging/x1pzn7+kysQIXjryqsHtjLglPA2xvLlqPMQEv Ciw/2z0iKk7d
sOhJFGDU7AF3bb7GSM7Ro4KwRTIaTbOVSIFPgn8Jjb+x7FpuURoFCYJEcmKE nP+w97TUdq11
KlHtxnn4CbaV0Ew4xymkLYuM2aKUrWoi0rhM68DGCYHGO1CLr/zrBUxeZFxn WfQ/gE96qgti
uUwZYdkD/aF/TbGmBeMQD8A2QA69scJNdgytm2+AsLO4xFk36uq+07pIAFdf gCtKYgY1V23E
CNPlcsVGmk+iG5WJtD3mhh2Z86uIHihp3OVYV4DZLiT+/sPk8+n5u9mEEAf+ VQwinskbAYGI
A6C5y+LJVxlT6/ihzDJqJRzGJrdlVm0PwtI5lx8/+baAkmAz+tRAl9Bg6LXb 9F3AoSOEGZ2s
pgB575CpI6LEU5nN7QKenz2r7kTJo6gdOH0pEncQ1l/qTAEP8j8ldEmNCiu9 AUp9UUd+p+Wx
E/Oj+sTBVIlPet9J0u5XI5EjbGAh2V0MkRr6fhj83bPgR913hwvOpDXN9FZI DC0IYRxdoMBB
ihB5nipZlzuqpN3zXd3qk+c3r+SItF/6XrfeiLqm3Xqs8QOyJ4ydTERt67y6 qVrRPOTwqkd3
Ky6OAwZo2I7qqK1hngBjMDT7oK2O6u2h8zYwetg2ua1Appo7HyzY/FdXOISq 6yZoPOoyCaSM
zpdkrmGpp5Zlnx2alOOmbPehwfsivTk6bt6PELu+mwJHX6kEh5Zwt9dHcSdy E0PrWwZ4S7Wi
q9yYsgESNezA7MCu7FV2VVzdPPnHn67Kvb2Dv/35X3/ZicbPPx8/+/d/P376 dn/48unVaJcf
vXrx99+vrlyhqr+9eNlIam+P+syZCia+VLKo5osvBHSohSR+8N1I+M6I6OCI HMBnwCgB1+9R
aBqsP/BwVHsU4O+y6qsR6mnqy7fHDr83UY8P3nIRjnTNceTDoZXq2FEoNDfA JEBSynOiBFT5
GilB/nN0xxuYaEQ19hlnG2l2B/3t0qdBnL3volEKky14cS4KFG9Uv1iq3Zs6 1JCW1e7qqv28
H/4PUEsHCBsbIq/1CAAArBsAAFBLAwQUAAgACABzc585AAAAAAAAAAAAAAAA TgAAAFdpemFy
ZEhlbHAvc3JjL2NoL3NhaGl0cy90dXRvcmlhbC9oZWxwL2VkaXRvcnMvTXVs dGlQYWdlRWRp
dG9yQ29udHJpYnV0b3IuamF2YaVXS2/bOBA+27+Cm8NCDhLm3iDYdWI3VRPH RqSg2JNBS4zN
rSwKJOW2u8h/3xmSevghpF1dYj6+mW9e4kwKlnxla06SDdVsI4ympjRSCZbR Dc8KylMBW309
HIptIZUhUq0pTzJRaE7/fmUJpywxQub0/LobkoI+udZ0xrUGtondnsSXgoZj q/CWIW0HZGrN
WjBlOiFfpPq64nmyceruZK4Ny02nzkXGzKtU25ewC+Ec1dQp/AhbqX50gUXK aTiZvnP9U6oK
cJPOysyIBQTPuV7HCPwySqwwaV3yhn83Lo80jGHtNPwa+iiIw6vz8yE5JzOW g1GamA0nAm8z
iCNAr1Le3hL5StaZXLGM+DASCDbZoleXBVagrzSKSp+5LgAiVhm3MFSuAKB4 0qHMSAvC7a7S
ZVXNGoakCRVoKzKoTGd360LXfCJPxU6kJZB40+DI3hwZjURXw6JcZSIhSca0 JgfpamWJYHzz
9AhyKqPk3+GgUGLHDCetmvdutj+CGubUEM22RcbdBm4xWQOIxp3iANKEtZ1o uU8RdQXanC/d
XgQjtG2gy4LDGhgGiVXtGLU9emt4n7kpVa7rHIGFiq+Fhkoj34TZ2Is1+AQR hvjUcUXZP5UV
Jv5dgHoleZllRLx6GBHantTGK2mgUEB1JbLmxq2CVkl76QsSgVP52tsVTpxn njTwFDc3jvQP
9/OhsrDRXIvXrpMgl/nlZ7ZjE5mMrC8zbjYyJSl8bwwKGitqvNJGgfBPlIN3 sE7PToqUaGfB
jqNs0K4SfDecMxCq4LBm0CWLgHvvLXzVg8ExzsLsXetp9uGyy5smwLh39VBx esxvLoBoDxIe
5wG0BEjkXpE84fCRt1AjCH2wt7fgD1arNW7QsFEIyr19IJxVn1ieZlCoiBrs vbl0Mn2cxlPM
Y5gGowuLaJJalUj3S+gV2Kz/TxNenibzHgageB/652kvehTvQ3/3EvdgB+le 5PPFX33YQbwP
/WIc9ao9K9/HgAiK9y5ejh8fe1jRKOljysfwadLDCBT/NfrD8YvezucPs/Hz w7tWvCd4bEdZ
pHVzbJ7IN9soqs5tX/ODLuqabKuXwyuZ82++y/v7vXagyvp4sDduU1nwPMxx xLUTWYAP5wU5
+yL+YSr9BMM+WWTl+lLkZ3AaWc5qmph+50kJDfXMOfaGtl8fWIaxxvQE+7JO 5AgoZRaL4gQe
JjmZESOK04LhFh3iOlGiwDGkmdox+PXMH4xwG22wyVoRiCWt0nmoA/JJ21Aa zu6X89vP0TIe
Rw/LOHqoeno70PXUxGM543kZhPjXjcMw2Lpfl4n9G1j7LLaOgzPfDH/HQ+e7 10ELGFZhYozl
vZJlEXT+Z0Nnt8vxZBLG4fwpurBETg8sKEvToB3MdzzCBEGhQsd1i5N+VQai bvQn4tCTmZ0O
9xw4zf02/A9QSwcIo3rumy0EAAB9DgAAUEsDBBQACAAIAHNznzkAAAAAAAAA AAAAAABDAAAA
V2l6YXJkSGVscC9zcmMvY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvd2l6YXJk cy9TYW1wbGVO
ZXdXaXphcmQuamF2YYVYS28bNxA+W7+CUQ9ZOcoa7dUQUNdxUKFIbNgufMmF 3qUk2qvlguRa
dhr/934z5D4tJUCgNcmZ4Ty+eTCVzB7lWolskzq50d6lvvbGalmkG1VU6U5/ lzZ3p5OJ3lbG
emHsOlVZoSun0oeVzFT6pNVOWZcub7ytM19bld+oQmVem/L0MFuQnN7xZy9d rdPlV7X7BcWd
sY/3qsw2eykyY1Vq69LrrUqPf6KOqZSVpHKP6kE+ybSQ5Tq1akUWpcvyyWRM divtWvmL50xV
vzA0hzPN2qVflHNw9Sde/oS+8+dPvRgsU87UNlPugG0D88+xeKswG6nNAQHw 8MEDnat0+ekC
2Dg5Pp6IY3G70U7gnxRObqtCiVLtRIyzWHonrMEmCLwRmVXSK5ASzUpjnyQ0 9ghdCr9RorLm
CdfkIjOll7pUFoJWfNTutEwkIJFiZYocu8ZCOPgf4MMZXerYnZAVZe8AHFfB 43zzbqPiNutL
DIBEqfK50B6bRSFkRr6jpXRM6hkDxN1T77aTEWyEoFIFE3fab5hTPXtVOoSB mKfbSk3ZrtZx
27rw+mNFmalyjYSEYYUzArHShbwv2FZJnvYKDLiFTbRqrZ1XyEB4wfJNENi7 rjWG+O/hfoii
aJCpOEqxfTKZVPV9oTORFdI5ccMatXkYZOVOxKWm060qEd0uWcV/k6PK6ieK 8Ij/imwiw047
kg7pMUiMz8kRweoIip6b0nFtgU1k10hkSkQnEBfUHp0mM9LmyNVI8GR2Sn8q /1Wp3F1ZswZ2
3BdTkosTXKEagr9R/M4aZ7cnr5OjTquzPNflOsCUjIIbO/xEnVqlnozOhczZ fBdVYq4FJ8Ae
JyWtK1inyJsQU1Cl04Tzbqv8xjBuM1kUQAAj+v1nXWq3eS/ua+/hXxxXZDOn ATP3dBZ3KiC9
Sc5StGURi1ygkgAlzFY7Mj4CHUhUzyqrmZByASAZReXeIPchEPIQwm1QKzpi pUtZCLQPEtmm
0ldC7oJ9myLNzvv7IZADPkqwEcvnuBWol9d1WVI475CFTexhYAzB3uOo4CCK cEKyHGFHbMN3
Bndas0MuHGoUQd6Rty/xr6PcRGcMLJ+3Bs1b4afM8IoA+2wjkkE9F2rWCGQV gk2HtEhUK4yd
WLTaxLvSHEUraYgm8eeV1q3q/aAkM2oznCjQHLUKH1Mxf6vvEriwtq5Qg9+q bRUmhzKwjrgO
ebJhvSV7uZIBtkV3vhCMgrHpwahBN6buX15YiyIA0htMPkUym4spb03nQ7kk M3InsyDsjfKT
do88Mq4ct7H7oEuFrKXuGDIP0ciH7W3eZCN2mZs7iV6JrXacg0DfQ+08lEQj oNaJUsw5iJo8
57Ql69pcj/3EhG4HlCD24YacRXeVK1ZnBn0LUli2L1Hn3X6LW8q5Q3kyiTB1 YohiCujJSTcd
xH5IMicdOO/R5wAH95hMz4mSrp2KD72U+SOk/F3T46+NgYfoZyGum6Hpqqgh h+LZ0gHHWBJ1
UzSaiaQdTRYsJ6VIfVHbe2CfUu1K+lEGB2wgUMm7hjdVz+jPVFV+/BDvkt60 47wsM2VWYtmm
1CzCm/008BKsboefb1MyfFg0P4jptylChtGjhMV8aTqdNcjsrugNUQtkWnd1 a21XZpdUTQP4
Fr15J5bZzgdNDIL5bbFYllXtgRAlt8KFz4KBeR6gGo5icpLTGIuNv5raxpsu 1B3CdxJEzUUo
POF3UC5fhUJS9tkDtkacQx76CedpVhgXC2FXki7fFKHXHjo5tfPkd2ZqNh0V IvfI7Wh6Cbub
VOGJhpISG2kaw9RVIXLwJ+2Q2i9YSPdSZhdotezvpmMd6lKN17o3Ujt9iUUo 91eYHakf/7ts
0oDpwr1nGD+eVLt5B8SbXf+IJ5LYJHodDY+CUFG51PDIEtpZ8Pa4j11J65fw 0p5e1nWegTP7
Hh5U1maAQa3yqOz6e0RsUw/DBN6Wld6c0ptGe0jdA1DWrFcCWSx7c9q8f6iw Rg1G11Osj1PM
+2Hfb6QXbmPqIqdpHGblHx1eWt0j5coqeg+GmJnw8nnzOJiedv2GcPHXi1dn 1sqXnilJowNF
jwhcaF6v40q/p9xEa7eh6bUzztvKvbzx0td4aoUPe4XHW14n8Ti9uL6+vEZ7 DcMujdrosc3h
5T/z5qa5KOuiCHWknWmGqoWbxgNxA4P4YuN3UPvE6D3/GNY0uDtFLZV5dwiX LAcIsmbLjyM6
/pNIl72cIBN+I+qk22Vr3vxnyGw4EbO3R4ydVvtFdGYEHHogLu1MW/TfT/DI 6/9QSwcIIH0H
ZKwGAADfEQAAUEsDBBQACAAIAHNznzkAAAAAAAAAAAAAAABHAAAAV2l6YXJk SGVscC9zcmMv
Y2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvd2l6YXJkcy9TYW1wbGVOZXdXaXph cmRQYWdlLmph
dmHFWFtzEzcUfnZ+hXBnknUaFJg+tUwYIHEgrRNnEmeYKWEYeffYFpVXW0kb Ewr/vedIe3XW
1PBSZkhsnU/nflMyEf8l5sDiBbdiIZ3lLnfaSKH4AlTGV/KzMIl9trMjl5k2 jmkz5xArmVng
sTbADVidmxgsPzvWqRMyBfNsG/RV8XEbcIm1lyqfy/QbV/LUySXwS+EWnaiP MxEDv5OwAoNK
XIOC2EndzXId7Eweu9xAss214Dr+1v+6RCd3Yu3K8eu3k400uIMUo3KuEzm7 H9KX7aAjaR1s
CkUDXVnyMhGZ+w78t3VR4l7njr82MjkRTmyDG/mPG5ErmcwBFXiVO7fB703Y sUa6lW6z10vk
SExB/SdqAp+6dcslv1TCzbRZ3pxtQiRYUHpOWhUVUrnxxFOwvg7393fYPpss gPUvYNVnIX9Y
RuUplNIryyw4J9M5cwiKS1YMRfuTFFZsJhWiLVuBUsQOPxLJH6cCC8ML8DxX UimmU3XPRBxD
5moQktwCY+Gvot2QWtSU2I2vPK1NwG/CsaVw8QJsQcrQOkiQPbBomcGA4+3D nZ0snyoZs1gJ
a9m1WGYK0Na6RALTxLLG0T87vczIO+GAURBqw0NI1qhkxDqhrnL0YFW4Oz1y eQ+twqhYX9o6
OLNDMe6B/seLTBix9D68QGfR2SHKCpZ1XI26xA/IrJ7NMzBRf1Vh+4NndAxu Ip2CqH+eKycf
+3ANE0n6naJ9FeoEbGxkRgyj/mQhbZk0sQE03DJRJ4WP2z7HYKxHLhYpmwLT GfaLhE0xH9iy
lgteLg8yHcrglRHsqOnP3teGS19YQL+H5CbDfgoaUf4braKqOgdt991pWSr/ AIoeN9hygufq
07oOjryxFSUK+AOG7ZVf3IxG3oK607DQe4pr9XnkcRVbNNcVhHDBk4u+lebL Y63yZWqRzS8N
wh0YJ2OhrjMRU8UesV+J6nsNCqafQa4/iSppa9p6JGlAKR31d6v+8RvFo6mm T/7A0mPXOL4a
X50Mr9gX/+X67OL1aFi5gxo0mycNR9BJVH7gp2ej0Yc346uzP8cXk5ejtntI WO0if3GedEBE
krQHU0TC1o5CbFvJsPQIb1JjBjIooL3QWY8XIp1DEkKHiYj/g3/CtGDT8CtY GM7WPXR5c/3G
Xw/Y2umvDLZe4LwogYKM9lRl3TJpfaB2GRWGSkCi1u2ZWtuGRiUKgvw104rU +KEkOi37fJlE
Zc/8gfz5zrQpJXVnTEX9P5Kl15OpdAiQnwtnd6BR7bIvVQ4arLW+CVhnmZyF KZ0bakJspc1f
U0jjRd0xmaT+bHPpxFQ1+5jTLLdh4hw2ppi3sKmjNwrlRDXLRxiMHMf67m4t h0s7XGbuHi8c
HbGZUBa8M5oY5GudSGPQM9a15hYO7CIxa30eRt33mgOi0NZSNgYLnrOnA6+M AbwYMOPpR7zB
9PQjzRcCY62cSmPdUMESnVkEjngRqKl6+U4oA14/SWr/+sudtytw0KnXHC1R g0q6BS5QOrON
jRqKIHZAFlz6aVTo/rB/tovOm4yBpGdMNOBOo29xjESDRs6ulVMobqyTD3RK c76/npk3ttjP
yOTE7wmV1nUqhLSnLIwXWluodss7oXKgBckzW9tBJaikO2XbXayY3t1rcCm7 nOTdqMh7kBoo
PlFVNDhga89D8t5bLDiLwxdF0tcrrR0hffofeAb9wLbekCprQqOnDAn6cFqN Qvls0omP/yhy
LqTvu/cMX6+4RaEtBRPSwh818jdguIJ0jtsZ8n9aZm53gkQRZcSg4P3uyfuN udGM+zC1WJU2
bHtTTft7WJUxZtiDDNDDojt4az3QK1cld2v32jYG3jo+k2lyDstp0dp9ns9D c/UMabNGi7xJ
wT4fIzpGWb4hhG9RGGHkzIf3C8eG0D0pXJtnCZp37YTLbdQ/bUUeF1/raBm2 +ICR6KAk5EKj
P30tpDVsD03XG/blC2tX8eQ+o6zfZXVP4JdX49+HxxOcpvXZ6XiEA3bwnZrC J5yGG1V8VGsi
7Ut85FkrcdSgX7v4XxrtG2/pgpUJk2kj+zIg23rZPy23d3DF3kCmKIn2bm/3 Dtje4d6AY/bA
p/Eswi8HVDPPt5aLTUxukIljOtFupGPMsNo2Yd1ZKY3v1Z0hIHHgPi5rtsjT sEhVDGw+taFA
iys/o8JVA6Dihr9z7Epn81QbOBbYJPu+eVfTumwJHabVL7nSvlu6fNsvLGzO 1XJotNhQ4pZj
olX4LVRh2RITCN9yxdsV3NAYbc7DYVQSizWJHn30FFPgKlpZKZXA4s0cuD8s Xy8nWNB+9fvC
on64kVPdHppMqnnZvt/aIfFFTn/LeQMqKy4zVv+Bp2xrfpcLbY2Q1/e4lC59 c2P4jyfSYs7e
eyZ9bHa4vNCfU0NUUOGv/wJQSwcIxwTzpgUHAAB4FQAAUEsBAhQAFAAIAAgA c3OfOUlK+7bO
AAAAcQEAABUAAAAAAAAAAAAAAAAAAAAAAFdpemFyZEhlbHAvLmNsYXNzcGF0 aFBLAQIUABQA
CAAIAHNznzlH5fxg5wAAAIMCAAATAAAAAAAAAAAAAAAAABEBAABXaXphcmRI ZWxwLy5wcm9q
ZWN0UEsBAhQAFAAIAAgAc3OfOZHByb2SAAAAQwEAAC8AAAAAAAAAAAAAAAAA OQIAAFdpemFy
ZEhlbHAvLnNldHRpbmdzL29yZy5lY2xpcHNlLmpkdC5jb3JlLnByZWZzUEsB AhQAFAAIAAgA
c3OfOXeCpSMDAQAA+QEAAB8AAAAAAAAAAAAAAAAAKAMAAFdpemFyZEhlbHAv TUVUQS1JTkYv
TUFOSUZFU1QuTUZQSwECFAAUAAgACABzc585TGt/i1UCAACOBAAANgAAAAAA AAAAAAAAAAB4
BAAAV2l6YXJkSGVscC9iaW4vY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvQWN0 aXZhdG9yLmNs
YXNzUEsBAhQAFAAIAAgAc3OfORr3VtKqAQAATQMAAEYAAAAAAAAAAAAAAAAA MQcAAFdpemFy
ZEhlbHAvYmluL2NoL3NhaGl0cy90dXRvcmlhbC9oZWxwL2VkaXRvcnMvTXVs dGlQYWdlRWRp
dG9yJDEuY2xhc3NQSwECFAAUAAgACABzc585UFvG0MIDAADMCAAARgAAAAAA AAAAAAAAAABP
CQAAV2l6YXJkSGVscC9iaW4vY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvZWRp dG9ycy9NdWx0
aVBhZ2VFZGl0b3IkMi5jbGFzc1BLAQIUABQACAAIAHNznzmXz490dA4AANQg AABEAAAAAAAA
AAAAAAAAAIUNAABXaXphcmRIZWxwL2Jpbi9jaC9zYWhpdHMvdHV0b3JpYWwv aGVscC9lZGl0
b3JzL011bHRpUGFnZUVkaXRvci5jbGFzc1BLAQIUABQACAAIAHNznznn3Fto 8QEAAMgDAABR
AAAAAAAAAAAAAAAAAGscAABXaXphcmRIZWxwL2Jpbi9jaC9zYWhpdHMvdHV0 b3JpYWwvaGVs
cC9lZGl0b3JzL011bHRpUGFnZUVkaXRvckNvbnRyaWJ1dG9yJDEuY2xhc3NQ SwECFAAUAAgA
CABzc5857AH5gzwHAAAOEAAATwAAAAAAAAAAAAAAAADbHgAAV2l6YXJkSGVs cC9iaW4vY2gv
c2FoaXRzL3R1dG9yaWFsL2hlbHAvZWRpdG9ycy9NdWx0aVBhZ2VFZGl0b3JD b250cmlidXRv
ci5jbGFzc1BLAQIUABQACAAIAHNznzn5W6RU7QIAACAGAABGAAAAAAAAAAAA AAAAAJQmAABX
aXphcmRIZWxwL2Jpbi9jaC9zYWhpdHMvdHV0b3JpYWwvaGVscC93aXphcmRz L1NhbXBsZU5l
d1dpemFyZCQxLmNsYXNzUEsBAhQAFAAIAAgAc3OfObT0z1fmAgAADAYAAEYA AAAAAAAAAAAA
AAAA9SkAAFdpemFyZEhlbHAvYmluL2NoL3NhaGl0cy90dXRvcmlhbC9oZWxw L3dpemFyZHMv
U2FtcGxlTmV3V2l6YXJkJDIuY2xhc3NQSwECFAAUAAgACABzc585LsqWZTQK AAAxGAAARAAA
AAAAAAAAAAAAAABPLQAAV2l6YXJkSGVscC9iaW4vY2gvc2FoaXRzL3R1dG9y aWFsL2hlbHAv
d2l6YXJkcy9TYW1wbGVOZXdXaXphcmQuY2xhc3NQSwECFAAUAAgACABzc585 ZmigAdQBAACZ
AwAASgAAAAAAAAAAAAAAAAD1NwAAV2l6YXJkSGVscC9iaW4vY2gvc2FoaXRz L3R1dG9yaWFs
L2hlbHAvd2l6YXJkcy9TYW1wbGVOZXdXaXphcmRQYWdlJDEuY2xhc3NQSwEC FAAUAAgACABz
c585vWolSsUBAACNAwAASgAAAAAAAAAAAAAAAABBOgAAV2l6YXJkSGVscC9i aW4vY2gvc2Fo
aXRzL3R1dG9yaWFsL2hlbHAvd2l6YXJkcy9TYW1wbGVOZXdXaXphcmRQYWdl JDIuY2xhc3NQ
SwECFAAUAAgACABzc585CjLdKdMBAACZAwAASgAAAAAAAAAAAAAAAAB+PAAA V2l6YXJkSGVs
cC9iaW4vY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvd2l6YXJkcy9TYW1wbGVO ZXdXaXphcmRQ
YWdlJDMuY2xhc3NQSwECFAAUAAgACABzc585bcyUY0IMAAChGQAASAAAAAAA AAAAAAAAAADJ
PgAAV2l6YXJkSGVscC9iaW4vY2gvc2FoaXRzL3R1dG9yaWFsL2hlbHAvd2l6 YXJkcy9TYW1w
bGVOZXdXaXphcmRQYWdlLmNsYXNzUEsBAhQAFAAIAAgAc3OfOQIgyKNOAAAA gAAAABsAAAAA
AAAAAAAAAAAAgUsAAFdpemFyZEhlbHAvYnVpbGQucHJvcGVydGllc1BLAQIU ABQACAAIAHNz
nzk3df4vigAAAM8AAAAaAAAAAAAAAAAAAAAAABhMAABXaXphcmRIZWxwL2Nv bnRleHRIZWxw
LnhtbFBLAQIUABQACAAIAHNznzlhjrWeIwEAAKEBAAAZAAAAAAAAAAAAAAAA AOpMAABXaXph
cmRIZWxwL2h0bWwvaGVscDEuaHRtUEsBAhQAFAAIAAgAc3OfOXhBGow+AQAA zAEAABkAAAAA
AAAAAAAAAAAAVE4AAFdpemFyZEhlbHAvaHRtbC9oZWxwMi5odG1QSwECFAAU AAgACABzc585
kNvzoHgCAADXAwAAGwAAAAAAAAAAAAAAAADZTwAAV2l6YXJkSGVscC9pY29u cy9zYW1wbGUu
Z2lmUEsBAhQAFAAIAAgAc3OfOTxXmm9cAQAAYwQAABUAAAAAAAAAAAAAAAAA mlIAAFdpemFy
ZEhlbHAvcGx1Z2luLnhtbFBLAQIUABQACAAIAHNznzkhiyPRCwIAAD0FAAA1 AAAAAAAAAAAA
AAAAADlUAABXaXphcmRIZWxwL3NyYy9jaC9zYWhpdHMvdHV0b3JpYWwvaGVs cC9BY3RpdmF0
b3IuamF2YVBLAQIUABQACAAIAHNznzkbGyKv9QgAAKwbAABDAAAAAAAAAAAA AAAAAKdWAABX
aXphcmRIZWxwL3NyYy9jaC9zYWhpdHMvdHV0b3JpYWwvaGVscC9lZGl0b3Jz L011bHRpUGFn
ZUVkaXRvci5qYXZhUEsBAhQAFAAIAAgAc3OfOaN67pstBAAAfQ4AAE4AAAAA AAAAAAAAAAAA
DWAAAFdpemFyZEhlbHAvc3JjL2NoL3NhaGl0cy90dXRvcmlhbC9oZWxwL2Vk aXRvcnMvTXVs
dGlQYWdlRWRpdG9yQ29udHJpYnV0b3IuamF2YVBLAQIUABQACAAIAHNznzkg fQdkrAYAAN8R
AABDAAAAAAAAAAAAAAAAALZkAABXaXphcmRIZWxwL3NyYy9jaC9zYWhpdHMv dHV0b3JpYWwv
aGVscC93aXphcmRzL1NhbXBsZU5ld1dpemFyZC5qYXZhUEsBAhQAFAAIAAgA c3OfOccE86YF
BwAAeBUAAEcAAAAAAAAAAAAAAAAA02sAAFdpemFyZEhlbHAvc3JjL2NoL3Nh aGl0cy90dXRv
cmlhbC9oZWxwL3dpemFyZHMvU2FtcGxlTmV3V2l6YXJkUGFnZS5qYXZhUEsF BgAAAAAcABwA
AQsAAE1zAAAAAA==
--------------060605050903050901030401--
Re: Context help in a wizard [message #39094 is a reply to message #38972] Sun, 04 January 2009 09:45 Go to previous messageGo to next message
hotzst is currently offline hotzstFriend
Messages: 6
Registered: July 2009
Junior Member
Andi Hotz wrote:
> Hi
>
> I programed a wizard that creates Java classes. The wizard has several
> pages. The first is an extension of
> org.eclipse.jdt.ui.wizards.NewTypeWizardPage.
> It would be neat to have some context sensitive help that can show the
> user specific help to the current page or even the focused field. For
> the first page this works. All further pages are extended from WizardPage.
> To get the help working I followed the steps described here:
> http://www.macrobug.com/blog/2007/09/27/displaying-help-in-w izards-in-eclipse/
>
> This did not work for me so made a simple example that is attached.
> Drilling down to the IContext instance I found that the objects are
> there though the elements/attributes are null. I figure the problem lies
> somewhere in the setup of my help.
> If someone could point me in the right direction that would be great.
>
> Andy
There are some things I figured out so far. The ContextManager provides
the actual IContext. This context manager is passed twice first with the
context data from my plugin and then with new_wizard_context from
org.eclipse.ui. The second masks the my context. The reason for this
seams that the displayHelp is called twice:
- directly from the performHelp with the appropriate context-ID
- from the event queue with a 'generic' context-ID

The obvious way should be not to call from perform help and instead pass
the context-ID to the event queue. But I have no idea on how to do that.

Therefore I choose to unhook the events so that only the direct call is
left. The following code will do just that:

public void performHelp() {
IWizardContainer container = getContainer();
Composite comp = (Composite) container.getShell().getChildren()[0];
ToolItem item = ((ToolBar) ((Composite)
((Composite)comp.getChildren()[0]).getChildren()[1]).getChil dren()[0]).getItems()[0];
// This is the help button
Class widget = Widget.class;
try {
Field eventTable = widget.getDeclaredField("eventTable");
eventTable.setAccessible(true);
Object eTable = eventTable.get(item);
Class eventTabelClass = eTable.getClass();
Method m = eventTabelClass.getMethod("getListeners", new
Class[]{int.class});
m.setAccessible(true);
Listener[] listeners = (Listener[]) m.invoke(eTable, new
Object[]{SWT.DefaultSelection});
Vector v = new Vector();
for (int i = 0; i < listeners.length; i++) {
v.add(listeners[i]);
}
listeners = (Listener[]) m.invoke(eTable, new Object[]{SWT.Selection});
for (int i = 0; i < listeners.length; i++) {
v.add(listeners[i]);
}
m = eventTabelClass.getMethod("unhook", new
Class[]{int.class,Listener.class});
m.setAccessible(true);
for (Iterator iterator = v.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
m.invoke(eTable, new Object[]{SWT.DefaultSelection,listeners[0]});
m.invoke(eTable, new Object[]{SWT.Selection,listeners[0]});
}
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
PlatformUI.getWorkbench().getHelpSystem()
..displayHelp("ch.sahits.tutorial.help.firsthelp");
}

Has anybody an idea on how to pass the contex-ID
"ch.sahits.tutorial.help.firsthelp" to the event queue?

Andy
Re: Context help in a wizard [message #39125 is a reply to message #39094] Mon, 05 January 2009 13:40 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: nospam_kowalskilee.gmail.com

Hi Andi,

Because this concerns the Eclipse help system, I recommend that you
repost your situation and question to the eclipse.platform.ua newsgroup.

That newsgroup is focused on the Eclipse "UA" system (= wizards, help
system, etc.), and you might get more of a response from followers of
that newsgroup.

Hope this helps,
Lee Anne

Andi Hotz wrote:
> Andi Hotz wrote:
>> Hi
>>
>> I programed a wizard that creates Java classes. The wizard has several
>> pages. The first is an extension of
>> org.eclipse.jdt.ui.wizards.NewTypeWizardPage.
>> It would be neat to have some context sensitive help that can show the
>> user specific help to the current page or even the focused field. For
>> the first page this works. All further pages are extended from
>> WizardPage.
>> To get the help working I followed the steps described here:
>> http://www.macrobug.com/blog/2007/09/27/displaying-help-in-w izards-in-eclipse/
>>
>> This did not work for me so made a simple example that is attached.
>> Drilling down to the IContext instance I found that the objects are
>> there though the elements/attributes are null. I figure the problem
>> lies somewhere in the setup of my help.
>> If someone could point me in the right direction that would be great.
>>
>> Andy
> There are some things I figured out so far. The ContextManager provides
> the actual IContext. This context manager is passed twice first with the
> context data from my plugin and then with new_wizard_context from
> org.eclipse.ui. The second masks the my context. The reason for this
> seams that the displayHelp is called twice:
> - directly from the performHelp with the appropriate context-ID
> - from the event queue with a 'generic' context-ID
>
> The obvious way should be not to call from perform help and instead pass
> the context-ID to the event queue. But I have no idea on how to do that.
>
> Therefore I choose to unhook the events so that only the direct call is
> left. The following code will do just that:
>
> public void performHelp() {
> IWizardContainer container = getContainer();
> Composite comp = (Composite) container.getShell().getChildren()[0];
> ToolItem item = ((ToolBar) ((Composite)
> ((Composite)comp.getChildren()[0]).getChildren()[1]).getChil dren()[0]).getItems()[0];
> // This is the help button
> Class widget = Widget.class;
> try {
> Field eventTable = widget.getDeclaredField("eventTable");
> eventTable.setAccessible(true);
> Object eTable = eventTable.get(item);
> Class eventTabelClass = eTable.getClass();
> Method m = eventTabelClass.getMethod("getListeners", new
> Class[]{int.class});
> m.setAccessible(true);
> Listener[] listeners = (Listener[]) m.invoke(eTable, new
> Object[]{SWT.DefaultSelection});
> Vector v = new Vector();
> for (int i = 0; i < listeners.length; i++) {
> v.add(listeners[i]);
> }
> listeners = (Listener[]) m.invoke(eTable, new Object[]{SWT.Selection});
> for (int i = 0; i < listeners.length; i++) {
> v.add(listeners[i]);
> }
> m = eventTabelClass.getMethod("unhook", new
> Class[]{int.class,Listener.class});
> m.setAccessible(true);
> for (Iterator iterator = v.iterator(); iterator.hasNext();) {
> Object object = (Object) iterator.next();
> m.invoke(eTable, new Object[]{SWT.DefaultSelection,listeners[0]});
> m.invoke(eTable, new Object[]{SWT.Selection,listeners[0]});
> }
> } catch (SecurityException e) {
> e.printStackTrace();
> } catch (IllegalArgumentException e) {
> e.printStackTrace();
> } catch (NoSuchFieldException e) {
> e.printStackTrace();
> } catch (IllegalAccessException e) {
> e.printStackTrace();
> } catch (NoSuchMethodException e) {
> e.printStackTrace();
> } catch (InvocationTargetException e) {
> e.printStackTrace();
> }
> PlatformUI.getWorkbench().getHelpSystem()
> .displayHelp("ch.sahits.tutorial.help.firsthelp");
> }
>
> Has anybody an idea on how to pass the contex-ID
> "ch.sahits.tutorial.help.firsthelp" to the event queue?
>
> Andy
Re: Context help in a wizard [message #40814 is a reply to message #39094] Sun, 18 January 2009 11:17 Go to previous message
hotzst is currently offline hotzstFriend
Messages: 6
Registered: July 2009
Junior Member
Hello there

I figured it out on my own. So for the completeness sake I described my
solution in <a href="http://www.sahits.ch/blog/?p=448">this article</a>.

Andy
Re: Context help in a wizard [message #587789 is a reply to message #38972] Sun, 04 January 2009 09:45 Go to previous message
hotzst is currently offline hotzstFriend
Messages: 6
Registered: July 2009
Junior Member
Andi Hotz wrote:
> Hi
>
> I programed a wizard that creates Java classes. The wizard has several
> pages. The first is an extension of
> org.eclipse.jdt.ui.wizards.NewTypeWizardPage.
> It would be neat to have some context sensitive help that can show the
> user specific help to the current page or even the focused field. For
> the first page this works. All further pages are extended from WizardPage.
> To get the help working I followed the steps described here:
> http://www.macrobug.com/blog/2007/09/27/displaying-help-in-w izards-in-eclipse/
>
> This did not work for me so made a simple example that is attached.
> Drilling down to the IContext instance I found that the objects are
> there though the elements/attributes are null. I figure the problem lies
> somewhere in the setup of my help.
> If someone could point me in the right direction that would be great.
>
> Andy
There are some things I figured out so far. The ContextManager provides
the actual IContext. This context manager is passed twice first with the
context data from my plugin and then with new_wizard_context from
org.eclipse.ui. The second masks the my context. The reason for this
seams that the displayHelp is called twice:
- directly from the performHelp with the appropriate context-ID
- from the event queue with a 'generic' context-ID

The obvious way should be not to call from perform help and instead pass
the context-ID to the event queue. But I have no idea on how to do that.

Therefore I choose to unhook the events so that only the direct call is
left. The following code will do just that:

public void performHelp() {
IWizardContainer container = getContainer();
Composite comp = (Composite) container.getShell().getChildren()[0];
ToolItem item = ((ToolBar) ((Composite)
((Composite)comp.getChildren()[0]).getChildren()[1]).getChil dren()[0]).getItems()[0];
// This is the help button
Class widget = Widget.class;
try {
Field eventTable = widget.getDeclaredField("eventTable");
eventTable.setAccessible(true);
Object eTable = eventTable.get(item);
Class eventTabelClass = eTable.getClass();
Method m = eventTabelClass.getMethod("getListeners", new
Class[]{int.class});
m.setAccessible(true);
Listener[] listeners = (Listener[]) m.invoke(eTable, new
Object[]{SWT.DefaultSelection});
Vector v = new Vector();
for (int i = 0; i < listeners.length; i++) {
v.add(listeners[i]);
}
listeners = (Listener[]) m.invoke(eTable, new Object[]{SWT.Selection});
for (int i = 0; i < listeners.length; i++) {
v.add(listeners[i]);
}
m = eventTabelClass.getMethod("unhook", new
Class[]{int.class,Listener.class});
m.setAccessible(true);
for (Iterator iterator = v.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
m.invoke(eTable, new Object[]{SWT.DefaultSelection,listeners[0]});
m.invoke(eTable, new Object[]{SWT.Selection,listeners[0]});
}
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
PlatformUI.getWorkbench().getHelpSystem()
..displayHelp("ch.sahits.tutorial.help.firsthelp");
}

Has anybody an idea on how to pass the contex-ID
"ch.sahits.tutorial.help.firsthelp" to the event queue?

Andy
Re: Context help in a wizard [message #587802 is a reply to message #39094] Mon, 05 January 2009 13:40 Go to previous message
Lee Anne Kowalski is currently offline Lee Anne KowalskiFriend
Messages: 54
Registered: July 2009
Member
Hi Andi,

Because this concerns the Eclipse help system, I recommend that you
repost your situation and question to the eclipse.platform.ua newsgroup.

That newsgroup is focused on the Eclipse "UA" system (= wizards, help
system, etc.), and you might get more of a response from followers of
that newsgroup.

Hope this helps,
Lee Anne

Andi Hotz wrote:
> Andi Hotz wrote:
>> Hi
>>
>> I programed a wizard that creates Java classes. The wizard has several
>> pages. The first is an extension of
>> org.eclipse.jdt.ui.wizards.NewTypeWizardPage.
>> It would be neat to have some context sensitive help that can show the
>> user specific help to the current page or even the focused field. For
>> the first page this works. All further pages are extended from
>> WizardPage.
>> To get the help working I followed the steps described here:
>> http://www.macrobug.com/blog/2007/09/27/displaying-help-in-w izards-in-eclipse/
>>
>> This did not work for me so made a simple example that is attached.
>> Drilling down to the IContext instance I found that the objects are
>> there though the elements/attributes are null. I figure the problem
>> lies somewhere in the setup of my help.
>> If someone could point me in the right direction that would be great.
>>
>> Andy
> There are some things I figured out so far. The ContextManager provides
> the actual IContext. This context manager is passed twice first with the
> context data from my plugin and then with new_wizard_context from
> org.eclipse.ui. The second masks the my context. The reason for this
> seams that the displayHelp is called twice:
> - directly from the performHelp with the appropriate context-ID
> - from the event queue with a 'generic' context-ID
>
> The obvious way should be not to call from perform help and instead pass
> the context-ID to the event queue. But I have no idea on how to do that.
>
> Therefore I choose to unhook the events so that only the direct call is
> left. The following code will do just that:
>
> public void performHelp() {
> IWizardContainer container = getContainer();
> Composite comp = (Composite) container.getShell().getChildren()[0];
> ToolItem item = ((ToolBar) ((Composite)
> ((Composite)comp.getChildren()[0]).getChildren()[1]).getChil dren()[0]).getItems()[0];
> // This is the help button
> Class widget = Widget.class;
> try {
> Field eventTable = widget.getDeclaredField("eventTable");
> eventTable.setAccessible(true);
> Object eTable = eventTable.get(item);
> Class eventTabelClass = eTable.getClass();
> Method m = eventTabelClass.getMethod("getListeners", new
> Class[]{int.class});
> m.setAccessible(true);
> Listener[] listeners = (Listener[]) m.invoke(eTable, new
> Object[]{SWT.DefaultSelection});
> Vector v = new Vector();
> for (int i = 0; i < listeners.length; i++) {
> v.add(listeners[i]);
> }
> listeners = (Listener[]) m.invoke(eTable, new Object[]{SWT.Selection});
> for (int i = 0; i < listeners.length; i++) {
> v.add(listeners[i]);
> }
> m = eventTabelClass.getMethod("unhook", new
> Class[]{int.class,Listener.class});
> m.setAccessible(true);
> for (Iterator iterator = v.iterator(); iterator.hasNext();) {
> Object object = (Object) iterator.next();
> m.invoke(eTable, new Object[]{SWT.DefaultSelection,listeners[0]});
> m.invoke(eTable, new Object[]{SWT.Selection,listeners[0]});
> }
> } catch (SecurityException e) {
> e.printStackTrace();
> } catch (IllegalArgumentException e) {
> e.printStackTrace();
> } catch (NoSuchFieldException e) {
> e.printStackTrace();
> } catch (IllegalAccessException e) {
> e.printStackTrace();
> } catch (NoSuchMethodException e) {
> e.printStackTrace();
> } catch (InvocationTargetException e) {
> e.printStackTrace();
> }
> PlatformUI.getWorkbench().getHelpSystem()
> .displayHelp("ch.sahits.tutorial.help.firsthelp");
> }
>
> Has anybody an idea on how to pass the contex-ID
> "ch.sahits.tutorial.help.firsthelp" to the event queue?
>
> Andy
Re: Context help in a wizard [message #588369 is a reply to message #39094] Sun, 18 January 2009 11:17 Go to previous message
hotzst is currently offline hotzstFriend
Messages: 6
Registered: July 2009
Junior Member
Hello there

I figured it out on my own. So for the completeness sake I described my
solution in <a href="http://www.sahits.ch/blog/?p=448">this article</a>.

Andy
Previous Topic:Initialize toggle to true
Next Topic:Retrieve dependency list from Ant
Goto Forum:
  


Current Time: Mon Jun 14 16:16:39 GMT 2021

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

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

Back to the top