Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » B3 » Helios release was successfully built with b3 aggregator
Helios release was successfully built with b3 aggregator [message #517465] Sun, 28 February 2010 06:45 Go to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Hi all,

FYI, we succeeded in converting the "galileo builder" files for Helios into the new "b3 aggregator" format and building the Helios repository aggregation on our testing machine :-)

Filip
Re: Helios release was successfully built with b3 aggregator [message #517468 is a reply to message #517465] Sun, 28 February 2010 07:41 Go to previous messageGo to next message
Henrik Lindberg is currently offline Henrik Lindberg
Messages: 2499
Registered: July 2009
Senior Member
Cool!
Congrats
- Henrik

Filip Hrbek <filip.hrbek@cloudsmith.com> wrote:
> Hi all,
>
> FYI, we succeeded in converting the "galileo builder" files for Helios
> into the new "b3 aggregator" format and building the Helios repository
> aggregation on our testing machine :-)
>
> Filip
>


--
- henrik
Re: Helios release was successfully built with b3 aggregator [message #520361 is a reply to message #517465] Fri, 12 March 2010 00:37 Go to previous messageGo to next message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> Hi all,
>
> FYI, we succeeded in converting the "galileo builder" files for Helios
> into the new "b3 aggregator" format and building the Helios repository
> aggregation on our testing machine :-)
>
> Filip

This is cool. Any place to see the "converted" files? I'm curious how
different they are? Will string replacements do it? Or is it a DOM
restructure?

What's next? I think I heard there were plans to do the conversion "on
the fly" (so existing .build files could be used, as a transition). Any
truth to that? If so, any outlook?

At this point, I'm mostly interested in see how it works, experimenting,
playing, and testing various things. Any concrete suggestions on how to
get started? (Or, I should say, how to get current).

Thanks,
Re: Helios release was successfully built with b3 aggregator [message #520391 is a reply to message #520361] Fri, 12 March 2010 03:45 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080209040903070004070506
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 7bit

Hi David,

I am including a sample of the latest converted helios build files (from Mar 11th).

I am afraid that it would be rather difficult to define the conversion by string replacements. The new DOM structure is a little bit different.

Regarding the conversion on the fly - that's not possible now. We provide an interactive wizard in the UI instead.

Before converting the files, we must manually modify a label in one of the EMFT contribution (not sure which one now) to make the labels unique.
When the file is converted, we detach one contribution after another into separate files using the context menu and "Detach resource" option.

Well, not trivial but doable. It would be ideal to make it once and then keep the contributions updated in the new format.

You can start playing with it.

You can download it from

http://download.eclipse.org/modeling/emft/b3/updates-3.6 (for IDE) or
http://download.eclipse.org/modeling/emft/b3/headless-3.6 (for headless b3)

To install headless b3 aggregator, use

director -r http://download.eclipse.org/modeling/emft/b3/headless-3.6 -d <destination folder> -p b3 -i org.eclipse.b3.cli.product -i org.eclipse.b3.aggregator.engine.feature.feature.group

Current update sites are built with the integration build from Mar 11th (I hope that I20100311-0100 is correct).
Once the next milestone is out, I'll freeze the build on it to make it more stable.

I am ready to help you!

Regards
Filip


David Williams wrote:
> Filip Hrbek wrote:
>> Hi all,
>>
>> FYI, we succeeded in converting the "galileo builder" files for Helios
>> into the new "b3 aggregator" format and building the Helios repository
>> aggregation on our testing machine :-)
>>
>> Filip
>
> This is cool. Any place to see the "converted" files? I'm curious how
> different they are? Will string replacements do it? Or is it a DOM
> restructure?
>
> What's next? I think I heard there were plans to do the conversion "on
> the fly" (so existing .build files could be used, as a transition). Any
> truth to that? If so, any outlook?
>
> At this point, I'm mostly interested in see how it works, experimenting,
> playing, and testing various things. Any concrete suggestions on how to
> get started? (Or, I should say, how to get current).
>
> Thanks,

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

UEsDBBQAAgAIAEBaazzfmwCvjwEAAGcEAAAVAAAAaGVsaW9zLkFDVEYuYjNh Z2dyY29u3ZQx
b9swEIX3AvkPAoPCG0nJQwtDalIYSOChQJFmCBB0oKgzzYbkCSQVpf31PdmW 3QxZurWbQL57
730HUPXVi3fFM8RkMTSs5JIVEDR2NpiGff623mzY1aeLd7UyJoJRGeNqjSFH 2w6ZRooXb1en
8WoaJ8OQVnTesF3O/UqIcRw5esMxGvHwZTNLzpavlKCd7RPs1e1SVLKU4iwV VHFKcaoFRw3X
9zeM+hVFHaHHZEliIRUOtcr7TkfnDsfgUHWv7DPoXUCH5qdQOm+F5B+Ftw5S xgBJsKKDpKPt
D05TVnG+PsRS8BZUHiKFBuWhYWR8Cplc+bNNg3L2174QT90TP05wE3Ho2bz+ OxUMzUv+gVf8
buKWlVyWsiznKAojLDAHxl2ELfGBs5h4u5x2dCnEtR6on1+fdI+2g5Dt1kJs FrcQICr3vpJf
h0j7Avq6R3Rp8Z2JGUjMRH9HOFjed/n/hxzTPwZZiz/fyOFI02MmvLc7HO8f wSvrmsUTNVAE
e/2j57b1XKM/BtbijX8E3f0GUEsDBBQAAgAIAEBaazxvyXYZfwEAAKcCAAAY AAAAaGVsaW9z
LkFtYWxnYW0uYjNhZ2dyY29udVJNbxshEL1X6n9A9OCTYe3EaWJ5m8Q++eBK SQ6tFPXAwpgg
AbMCNk7/fcfeXac5RNyYN+8LVrdvwbNXSNlhrPlMVJxB1GhctDW/f9pst/z2 x9cvK2VtAqsK
puUGY0mu6QqtsLfgluf1+XGdCGNe0n3NX0ppl1IeDgeBwQpMVv7ebUfIO+UH JGjv2gwndHMh
59Wsku9QSRaPKl414MlhUN6qwMkiY6sELWZHKAeZedSqnGwN5AYP0aMyHxQC GvAUVqqeSXat
UQWyzEU1HiRnBrJOru2pBj32dJqynfOQC0bIvQPysAdVukT6UQWoOWmc9QYJ YVzWSKX9FQNY
2IRdy8d3eFTRwukx6LweC6hm85vq+/xqejmd3uB6cb1YXK9/LR7WP0ddUqa4 YPvsLwn2lJuS
YRbNxbG+b1Le6Y7Mhs0Z9+wMxOL2DlI92Q1NTP5wOYaRY5q+X/l/wf2Vps+g dPlccpg/Q1DO
1xMNJjktmtTFO2wAxT4Ngiv5yR+j2T9QSwMEFAACAAgAQFprPLgta2zGDQAA xl8AAA0AAABo
ZWxpb3MuYjNhZ2dy7Vzfc+I4En6/qvsfVNzDztZkzECSmdmpyR0EmExmQsIG dpO9qytKtoXR
YEs+SYaQv/5aNsEEDMZYk33ZlwS33Z9+tb7ulmR/+tdD4KMpEZJydlapWW8r iDCHu5R5Z5Vm
v3V5WfnXP//+t0/Y8wTxsOLiY3P5Ez0E9ONSua6VAY7JjyA/q4yVCj9Wq7PZ zOKBZ3HhVe+7
l0+PpIDPniSOT0NJ4qft42r9be1tNX20ChXUpdgR9d0AS0VAu1ptOJwp7Cj5 HxJg6p/95OIp
dYcz6vsUB7IRSYvageXw4Kf/VpCPbeKfVb4Qn3K5wLrlXAESD1U1jGyfOtVx fLsa3xVERr6C
ZyVhblxCRYmIVJCah+SsclmBHkLoE9RiRL1IYAX9IREPif7JvP4cKhqcVQLs cPlQQTPKXD57
kjrc4bhSLQ+BsHDGVBFHRQJq9fDh3fDdyb7APmXRBq6nJqX112oVho5pyJ0N 3f/RVKgEtaNE
fSzICOwztgWr87+IMv5g2cfaIuHBf1Qre2gtLLqgVvfz8FWLC/JzUcXW54Ia 3fZgeN9vF9S6
6BQtpxlg38NB8Y4YDFs33V7ztlO0YfXusDm4Kqj16++DwuUMhl87g0Ma1r28 PkzvrmhntLHC
A859WVDvjtiHqHXn/pwV1Gm1i/ZFu9/uDQfdw7SKGsZXPMXDOy4mI5/PhrpT gKyKFn01+DYE
R9k9Kah42+wV1OhHduyap0Wpp9kaFJ3anV5v+Fu7VVDrPHImAWXaix/Ajq32 zWFMfEXZ5IDy
Bp3rTtESzy9vC5MJCbiYD5sM+/NHIoavus1BUR8w6A16BziB37pX9QPUblpX w2OIyw7o0tvm
dR/M7fLm+gDt35tXl+3mgcq//ta5/eMAnm+2Wp2rwnZw0f18QFn3veZ1+xDv cHnd7twXtRno
lPtB5/4gCu4OvhZlpxkX7ojKcUG9XmEfUXwu9AtrdB4UZAbEHXZcqkPY4WeB AwJNnAxfdTqf
i87fKx35Dg9yu7xNpcOLVv+CqqL+iBKGt+noVAwx6IGzyjcaoC6nAtLKJHGa BHDVcPBTRrZF
D+wYnevcCw0IDpbacWIHGV2uft/hSqErMqNyqSx9fQnJYhByyOTUDnWIbrOK x0yNOZuP88vf
AkCFHfl+Y5HlSh4JhxxQDZvPJzy/EouIOwvCIa6gjmWLiDW4Tbg1EltAIIpG EEVngSwSbCuk
EGjkwNxil0xQe8oFnqTDGV9aQt9reFq2a0iJ8Mgcneu2p2OadIXNhY+Zu0Mb CBVBkJ7VjJD4
LtnPJgdIR+yZIIzABBHJ0CrqYF/ykZphQXIR7zqZg+z75M2ENiB7Dai0XLIF 455iPgfOQRfR
UvfBixrwSITVrtL/4KD1lWLmLRXn3/XlHrptPRHR3WKF5fn8zFp42TYqdIK+ gfEAfS4xAjqx
JomsobCcKB7usgpFRiPCUA+6gPipXSRiME0t3gPndzqFpqNvfKU3pnQ6get8 y2jzyEN9Z4zJ
iKRU58qFpCG4Bw3K7c72fCIVThvhJtcwHIFeENvWh1iAz0E3NhHjyF4pP4hv WPzpRkMvpQhI
CMSuEcGRgO48hz9sBWskwvcnx42AKy64j3c2hVHio3MsbP6IEXhC5qTzlU2m 3ruTfXA6wE+o
5XOmRzCtCAGxs49+ayyoVHpM+xi7qWHARYOyERcBVmBpEaNvcORJOxLe9kmm 87bsSUoeGg9c
kF3Us1UZRoPMc9VvsT9CYOaCwRimxqknSCLa253cRsSl0JnoCxHQfJbOOTFe SPbGuvS4gEYJ
6qeDS0Fm2bGsEcLoCIgbdhjuN/DBWPAIfY4mkYvTEGEhb3wPc+bdHZ4zgs4J Vjxty0wLGysL
ydvnzSSS6BvD0eqkmcTXe/fDYMwDLNEXoGtPrLCYiuVAPC62JNkR5UAem2Uc MLphqOshnTeM
qO2mGc+TC5jaz6aI5YGkAd7V8XMcEIoT26wqBAoD+RBfE8b2brwjDIjWQ1c0 HQGf7uFCmtr8
oevOI2e80nE4EYMdaXFD4nAnSUAzEYykB6GdAr5d6QS4YwXpnRykrxxIq6VN Zwnx3YktKZf9
IQlGOnfO6sPvEGE5k/0wIJHOgmgCx0CnwCBcei72+TQ3UuosPDNLIy3iNmaJ yAqIFU122UOa
lWdVB0ItCEc8EUGfQuS1u1cvInBgU45cgno48tM57iU3LMgmMOO5LWpT4nEg cuau2LmrhTKW
5QLc+NrvoTvuj5b6PJZZM5A1ZLz9sH2W/VtyXwHTcDWev+mscN6jvmHZyQ0C xJeHBBlsVrcK
Pm88kp0h7BbNgOoww8/TvhDEQ3dYyRWq9KxZLIhzokjtnOfnRI3RgNo2VSoN +NRCkB/q3VAJ
U/VLJHwyT4dgHF83QoiQBJGysL4WWguQPBtoMsUp+IsBj/yArCZ1WtzwI4bF G+4QzHbHm+EY
A0pb4JDg6Blh6xuWm9zIyYc62andEsXmmv9UDkrMoTN0A3Y8BjtM+2UhaEBo Mca7Ml3NLuhb
JBSe8GnaJ5NEkq9/TR3w9MDigqdWwWy4sgKK85O6MZ5B8E4weNm0E3jY8Dj3 drquOL5DTUbl
o/M4T5nOwU+i3MK7WKkxhcr3+Xgl/1hILQnSHH5Lg8wWDsKUFZZyK5bH84vw EBq0wgtAgTxo
gZOEsIkSiagLgQ8dUb2p3eUu0fsLy+3qVOBCSCB0jqk33WMxiEaUUS05Qg54 z+QXMCOCmI6G
QLxagkZPq1ISvSKWZyGg+yPtdo7Qhf4Fqb7+M/g5VoVkAWoo5ijQZTypgKM7 gkQaHrzvt3+2
kq1vaM0ISoXMYa9tzCqYVcglVXG7rbfVxpO29XbRO1sRM3Yry8CtrcyWrdn6 EnpZvIy19TKQ
Oxbdy8Jmr8aXRd1Ypi/VoZv7tGXhMrYDykCu7T2Xq93G5ndpy1nfASsDmLnf UHY4NnZMSjZ5
Y6O9NN7G1kwZxIwTFaUrmHHUonwnrp1yKGuIa1u/LwdXMwtXz7Xpze2cUlOk EJzh2uX3XYFN
tJeksqeKf6quR2x7xHE9ndjgINAL9FeYeRH2iFwGdVvuPovw4m1ApDjCvs9n cG8KWWYYQBFo
RiElkyFxoDAHMBcAR0hC7oAgrtVHVuJYrvX6dV6ktnlMbUefHOd18tpZnjJ2 kXUCaQfee8N4
H/Lw1jaYd0Cd5EFt2fgtY+3FIWvmIX/Jg8w+F1WmkoUR68YRj40j5hpQr13U 0R7EajCFIP/T
maAml5hlOh3UTqlpyXB7PJnNdtCgMMllCZoRG+Ew9KmTHNU9gtzU8SN9SD2G 7Mf6i3Lu+/Gf
9hH6Moivk3+tfh/y1n7vCHW+ngMCVEwSMaWO5su4br0mlAulV4zSx1vDdGSa LuuG8Y4N450a
xnv30u6m+JR8Mc9VEC+XfdYOqb7krDAOaHqe1UxPtJrpmVY7MQ1oeu7WTE/e 2vsyXlAfqbex
JJmOL/tmtq+Ll29J7IWwAw5JIgyxvUvQFEOhao74CLkLPJm35Jp50L/MVCwK WCpfGhCp4o7o
ERGf0WB6X2DRp9k3M/o0ksTVHUuDUPApQQoUdbCgdcNUN68rB/uH9vnrXftj 1Qxi1Q1iHRvE
OjGIdWoQ65355OfYPOSpecgPPyCR/BHJ6Q/ITpeu+SDG6nKb+gl5A9VDPpHp DnKe2sFhiwUf
FKQIboKwmhLleoXNN6VK+YRCcDWzcPW94NbeSSjd2v3xaobx6nt235Xh0b0y 1d79FwMNriue
mIM6NTygx2X4psV94BSevLW85Jc1aXacOeL6zChyVp9FNlEzQtgTz+hzykaX inOtY+NV0VJb
HAXAjNasbhLs2CTYiUmwU5Ng70yCvTcJlhsNZb9dW8ZyCyPmGsnapwBKeYSi K9W5Q7v+zlmp
ncP9sUote18QRgT2US8S+g0yFBPrkoK33M2i4jFWyMGae5Mwz55nZfx7E/L6 G9ulzhTsj1Uz
iJVLn1teFi/T1OKQNfOQP6Dh+cRQyIHn1jD3wwgvl2m8eOJSlBfzTydsfkqh VDyU9zmBPwu8
9iccfzR+5szg3o7B5UGDq4MGFweLr8vUzUP+gBMYP2DF8L1ZAj8xS4rmjzWc mveBJ+Ysu1TI
2L9pZq4HbsgzwsQRF2jlOQgEc+LAvrntir45Ouqbo6O+OTrqm9uq6Jvbqeib 26jYH+q9OagP
5qB+MWiiJs09396zPm3zo/hl4QluB2igX3VVqOdjpfc3UUt/5oTBk2mGut/D z5loTCWkqnHZ
87RkGSeqPJJogYkUccaM+9ybJ+mtVuNBwJk/T3JcypCIQDsgSDqEaXWgOMED dNvq6dVJEtjE
dZNND300iwgkoUALDcYEOcsKaiD1rFZYEBAmh4e1MmTV+AloziOx3tojJLAa AzxUlCVPXLY7
eUn2xhdvSkX5m5+SLAWX/WWzl4WsmYesm4c8Ng95Yh7y9AXX9naf2qoVihoK Up9xLq2bBjw2
O5PzF5DWvhhYJgIowlilDu2cR5IyfWzpEljY96lHmEOO0C0UJpbnblrj+HM0 6RutBbWyt7Sm
VEbYp4/aAyy+6bJ8CZbEh6bexJ+8YfEh4jB5PaLX/oxc7kRB7E90MTz2B/rl Xv1eha6YFysn
DmpzbTb5LEjuwmyB0Xxr0DJMWlndINaxQawTg1inZYw/Tu/XtgKeyZ4Z7sqd OL9rVVuvX6PB
yvm0nuAjGr/p/ddBpL8OIq0Y4qdq5kf44c7/AVBLAwQUAAIACABAWms820Ns wUECAABqCQAA
FQAAAGhlbGlvcy5CSVJULmIzYWdncmNvbu1WW2/TMBR+R+I/REHTnhonadeu VcPWdl3ppg0U
igSbeHCTU9fgS7CdtfDrOVkvYxKTKOylEooUOcfnfDdLSbonSym8OzCWa5X4 URD6HqhM51yx
xO+9H4zH/snrly+6lDEDjDptOgOtnOHT0uGIt5S8sx2Pq3EEVLaD9cSfO1d0 CFksFoGWLNCG
kY9X403LA+SjTsgELyzcd0/rJA6jkDy0EpRYsQg6BZH4/XE68VGf53UNFNpy bOFgPaEz6u41
rZFzvVBC0/wxPDeOlEVOHdRwFEgcNGtcOTBcEt/LwWaGFyucislb760YkXMG 1JUG+RSVkPiI
ucWvsIP1fsCMLgt/k3NKFYMqrSZ6uYvDsB3FUVhr58Ow3RtdwPKOxum3/LgY it5wJLPehG8Y
kRONAVu5nBuYoUMQXNtgWq9SekXIaVZap+Vg23fLc1COzziY5LBfWq7A2oM4 HKMbITjDA4eD
eICVFDM0Ds8e11TleB/M6X3h8LNPNq7JxvafxpBZ1Fjslka9EbUW9Sjq4RXv uf0K5B9DaNUb
+x1CrrO/9d5uRPvtHZZUFgJ28986b31qDc5u0rNh/+LDxdv9jsDq0mTw/4W4 SkNbxgNTogYJ
gc2/7pbLUatfOz5y5+Hl9eWPsD1tRjy/etMvbtLr0fPlMlwJTidoekINA4eL d4K6mTayCkLL
Qivst09H0SW/fpVXpQx/H2jmnha13r8FSblIDpesPMXnElUGmZZbsp2BFoI/ D9D3LxwP5jdY
XfLEbxLu/QRQSwMEFAACAAgAQFprPHYzMSWOAQAAzwUAABwAAABoZWxpb3Mu QnVja21pbnN0
ZXIuYjNhZ2dyY29u1ZRNayMxDIbvhf4H47LktOM0vYWZNrs5LDkUFtpDofSg sZWJqD8GfyT9
+at8J4dSetucbORXeh8Jo/rhw1mxxJgo+EbeVkMp0OtgyHeN/PU0nc3kw/31 VQ1dF7GDHOJ4
GnyO1JbMKeLD0fiQPlqnc0Gfxhxv5CLnfqzUarWqguuqEDv18jjbS44lz5So LfUJN+r2To2G
t0N1lCpGXLtYaNE28nfR7458yhglYwpRR+xDIlYSJmGDhrxB2xmYsPI2gDlz ySHYpNpjKVV6
AxnTzwVaCklJYTDpSP221ompeCSLKQePaevPBG3xhoPCg8NGssHB7MSiKlRp 6KElS5lRpdqn
zxFyiV/m6xCx2mkPZxdD6fcgXIu7x247ikXEOY9h01DV3q0neqPURBemd9OD 7pUM+kxzwtgM
/qDHCPbHaPi3RB4r8u15PazB25FX7YG/28AyXTS/gyX6i+6gN5f9g1JpN6tn +T+2UavTTbQN
ad6coPPnDLv3V3RAthnkRXCQJhkMVAl3XrX6ZBfz2z9QSwMEFAACAAgAQFpr PAyQ9ksbAgAA
jgkAABQAAABoZWxpb3MuQ0RULmIzYWdncmNvbt2WTY/TMBCG70j8hygI9Wan 7VJQ1bBF3Usl
VkILB6QVQo49cS38EfzRln/PpJ+7oFZ0t71wsSL79fPOjJOJR9dLo7M5+KCc LfMuKfIMLHdC
WVnmHz5PptP8+v3LFyMmpQfJovPDibPRqypF3JItjRrutvfa7Qi0YYjzZT6L sRlSulgsiDOS
OC/p19vpVrJHPlIC16oJsFJXfdorugXdSymG2LpoVoEu88nNlxzDy7KRh8YF hQoFIdOOs7gK
aQMWbmG1Y+IRPTqnA+Ui0tQIFiHQGWjlAs0zAYF71awZaJJtFGsztKuSFRqd LDNQ5kjbkZFH
uPNAmFrm29LeMStR94a04bcpFTh0r4p+Tk8gamXTRZhEscHVRcBNwy/CXb4b XIr7/eylMIy7
cO6D+2nPTQxOM6/CmakLZfu9U5g1sJj8QWijWaydN2SjI9K71Pxp8LZtE08z OJW7wSIYmw7I
dQeaeaix+6z6Can6bQN7RemYpxCdmex090qAjapW4MvOJ++kZ8Zg733dKz6i YWISQufbPnS6
jf1fi9U7nk736WWSNhER6uP83t/nfLZy3bpKacBKMStwvIG54rB+AO0ag8rn lE5AlSRJihgw
zv/6b/PULFk+Ix6zjHA8y8EFX/5nZTmiD3//6ymO1xTG4+FoNuv3YJjSZWeu 5j+clWPOiKoM
9i6z8zuZJQKfMajBj/GTxhI+oI3ogasUrv0GUEsDBBQAAgAIAEBaazyustwm zAEAABEEAAAa
AAAAaGVsaW9zLkRhdGFUb29scy5iM2FnZ3Jjb27FU9Fu0zAUfUfiHyIj1KfF TorUtUrYqpZB
KmCDFQaaUOUkN56ZEwfbabt9PTdrkzGJPUw88JTk3nPPOfc4jo62pfLWYKzU VUwCnxEPqkzn
shIxmZ7PkoQcvX7+LOJCGBDcaTOZ6coZmTYOR7xtKSf9eNiOI2FlJ1iPyZVz 9YTSzWbj61L4
2gj67UPSQe4pHyAhU7K2cIdOhzRkAaP3UIoWWxXFU1AxmXPHl1orS9Ck50UG am0l4iRYT+mM
uztje/pcbyqlef5AI0cK11L0bXwzurb046qpsQt2FfiHxMvBZkbWO8b58szD qrdH7OTRQAHc
NQbFK15CTFCgF+uFfJtf+3tg/xRGNzXpjuIzrwS053GI665DxsZBEL4KhgE7 GJ2OOTuZs+Tr
p8XidLpcL7Ozi1/h6OK7bDobaARXB7HL4cpAgRmAktr66bAN8wWlx1ljnS5n Pe5S5lA5WUgw
8aANNuUWXoZsDmtQui6xOfhBaLcp7VZ90upQ8VRBy/WPKSTj0cHJm/Gi+HJ9 8257y4YzsZqe
37L3b4v/l0JE//wBd6UMrwvP3OMG9v1LKLlU8WArmmP8btCRn+myF3sy0c1P ifn9hSuij9xm
7P0GUEsDBBQAAgAIAEBaazz66LQhWQIAAFUIAAAbAAAAaGVsaW9zLkRMVEtf Mi4wTTQuYjNh
Z2dyY29uzZZfb5swFMXfJ+07IKapT8YYgkiisJYRWrVL1a7t/rWaIgduiRVj R8aU5NvPSZq0
1dYp6/oQ8YLM8Tn3d4249PZnJbfuQFVMisgmjmtbIDKZM1FEdnyZHB/b+x/e vunRolBQUC1V
N5FCKzaqtdlizUrW3Wz3FtuNoai6Zj2yx1pPuxg3TePIsnCkKvD30+O15MHy iRIyzqYVLNUj
H3sucfGDFJsSFymcjoBHdn9w9ckysact21RpWT0FU1kxI2RQWVxmVC8ru/fP ZSO4pPmTEA3Z
WEguiznOuZ7geppTDRXK4Q4ba1RpOuKAbSuHKlNsunLcJAerZJN9C1TXyuQK WkJkG+9NzsLY
yaQC517kFErWU3vd+gsqClg20Fx3nut23A4JEQlIG4UDhNI4lmdfvl6m1/OP 9HB8tM40qQYR
ihXvWMGtYQXOZOWM/EXX3mF8kNWVlmWy0d2wHIRmtwxUtHcEAhTl7z33vFam d2DurqTk1d5P
G6/J8BptW1RVj+bbo4a+u0BtofDIoA7Tyek5/5yMm/g6mFy8Huq5koWiZWne bQM5MHXUtID/
A9UZ35KTuC4hAfI84psjdVGa+M3lNfuWikEqW+LHbnPO5Pakj080QGg4ScPO WThIBn5y2D/Z
bU72MswWQh0ZB2E/SNon3jAZxruNqSp42WEuKNtB0DaUcdzu7/p3qJzzufg7 KfkTKUEobHxC
hqTjt18PMpHcDC6pllPpebAefjzGVkuZmbo008/n3j+/gZIyHu1RDrODmZk4 uZk75Sbr331E
rmD+m1MPP/NHYFJ+AVBLAwQUAAIACABAWms8+gM0SvgBAADjBQAAGQAAAGhl bGlvcy5EU0RQ
X01USi5iM2FnZ3Jjb27VlF1v2jAUhu8n7T9EniauiBPCR4PI2pWPClSqaqVa tWoXTnxwvTm2
ZTuA9utnCNBVU6Vxt95Ekc973vc85+IMzjelCFZgLFcyQ3EYoQBkoSiXLEOf 74bTKTr/9P7d
gDBmgBGnTH+opDM8r5xvCTYl7x/bW9t2byht379n6Mk53cd4vV6HqmShMgw/ zKcHybPlCyUU
gmsLO3We4FYUR/hZiv2I2xRBchAZGt2NboP5Yob8jEEwMKCV5V7GwQZCFcTt 5tq7U7WWQhH6
IoJaqnHpfuBKU+LA7gJibB3JBWAUULCF4bo28knBrh7c1+o61ycvgbjK+FRJ SsiQdz6mePNw
Xw6ZUZVGh4V/IZLBbuthHK5aUZRGaXwWd9txs/e1N+qNJxPX/ZY3idbUzh7U Ic3neTRgNeeT
gaVnBMGVDfNku6sPGF8UlXWqHB51j5yCdHzJwWSNucq5gI+tiEjqvyNY8QLq HxBKl17Z+I7w
gQ4f8P4R19KfpyO3m600guH0fpbfDEdadYtf0Vx1F6p9Vb0ZctiQUguwp+N3 m9Elm6WpSc24
HBeL8Zth1pWwxJxOnDTjM9tLkuvkujPrTC47/wnxAP95R+qnwh89UrjXp9nX H6EkXGQN5qcj
KxV6HZHqgm1fw0KVx9STHSn3oNbzcPmX3QC/cp997TdQSwMEFAACAAgAQFpr PHEVUi5uAgAA
SgcAABgAAABoZWxpb3MuRFNEUF9UTS5iM2FnZ3Jjb27tVdtO20AQfa/Uf7Bc VTzZ69iATRQX
oiQlqRJKS1QhUB/W9sQs7MXsrgnw9R2TCyBBaVElXqooXidz9pyZM+txZ/da cOcKtGFKpm7L
D1wHZK4KJsvU7R71RiN399P7dx1alhpKapVu95S0mmW1xS3OtWDt9faw2Y6E 0rTx/9Q9s7Zq
EzKfz30lSl/pkhxPRivIPeUjJOScVQbu0FlEwqAVkHsowRQbFU4z4KnbP+of OtOJiyk6TkdD
pQxDFAPjcJVTe5fWkrxQc8kVLR4pFKaoiBWkrgpqwZDID5m0oJkgrlOAyTWr FizTiYNBZ7SI
LhRRcwbU1hr1JBWQusi55tf4XYb9Uqu6cldOf6eyRDDyYTVXTYlB2EpCXLx4 HMcDncwv6beD
wfnYjn5cXg6r4bB7652vRFEWa4NyUeiZhhkWCZwp42dR49UHQvby2lglemvc KStAWjZjoNON
icoYh49hQGWB1z5csRwWN8BVJRC58dMl/0xvHyRoylHhsNbYpEZrqhQ3D1Q6 ZOXlH3pbG+TM
m+6Y3/vc8vET3Dkd7ARbYRxG6HTU6saJiaNoHPXjYbwTRf/9XftrhY/nXDBJ uW+Ki5fOcbDy
F5coaLWCzS0vPvA+D8re1tdbL5rqW+9YhydVNhsfDr68ldGvtqAZJvylQxb4 Dy0I0YJtLzlJ
bpL+rO8NtneS7v6wuxmFofuWfe+Qh2PyicEJkmYcitSdUW7Aff0gFdgZzF3i r6dn6WQNWCbb
yfHdgo/082Ys46cgKOPpRnFzYSzlezQXTRbrqv+aSFBtmfRVBvqsxsvenMlC M2yxnyux5O2Q
Z16DGPsFUEsDBBQAAgAIAEBaazxIJHO9kwEAABIEAAAZAAAAaGVsaW9zLkRT RFBfVE1MLmIz
YWdncmNvbtWTUWvbMBSF3wf7D0Jj5M1ynK5jwV47kpdAA6PtYFD2IEs3qqik ayQ56c/fTR27
K6ywwV72Yomrc79zj5Dri0fv2B5ishgaPi9KziAo1DaYhn+5WW02/OLz2ze1 NCaCkRnjcoUh
R9v2mVrYo7fLqb06thMwpCXVG36fc7cU4nA4FOhNgdGI79vNKHlGvlCCcrZL 8KRuF6Iq56V4
lgoa8ejiZAuu4eub9Vd2u73iNCNjdYQOkyWZhcQcKpmf5jrRNR6CQ6lfWOik O5G9E32nZYYk
ymIhONOQVLTd0H/rrxiV2bdBMpiR3Q5k7iNZBemh4YSb0EQsTsfTaiL2HR9v +1oGQ03EpURV
WX4qz+cfKtqMeDKgAGCGNPcRdpQEnMVUtIvjjbwT4lL1KaNfTbo7qyFku7MQ m9kWW+vgfVXK
oOm7hr1VMGzAYedJOfvBxRhHjHn+MF/SD/95xlr8+mKGkqLnLVV+fZrT+R14 aV0z28Xu49ni
0iNB0MlCoZ8M/xoWHvbm/OwfwSBapX7HqsUrvzOd/QRQSwMEFAACAAgAQFpr PJIGgieDAQAA
8QIAABQAAABoZWxpb3MuRUNGLmIzYWdncmNvbq2SPU/DMBCGdyT+Q2SEOmGn qWCoEj4UFakD
EoIOSIjBdS6uJdsX2Q7h53Nt+gEDG5t1fu953zu7vPtyNvuEEA36ik15zjLw ChvjdcUeXuvl
kt3dnp+VUusAWiYM8xp9CmbdJ2rJvpyZH9uLbTsBfZxTvWKblLq5EMMwcHSa Y9Di7Wl5kJyQ
v5SgrOki7NTrmSjyaS5OUkERty5WrsFWbFE/MoqXZWWADqMhhYGYWVQy7SLt wQ0O3qJsftFD
EqBaMeOF2IA1GAUBgHcFyxqIKphuZJBJ1neNTBBHM7JrQaY+kJWXDipGuCOa mFxhAL7XcB2w
79hhyy/Sa+ogV5rkczteXhT51fSmuD7QiU/5QY/DbAK0NMguIV/Ptru4EOJe 9TGhq4+6d9OA
T6Y1EKpJjZY2hGG3hckHE/9GXoxTvqwui3wlg4ZEh2crU4vB0bFG16Enffxh W4rDvsbHEj9f
aywp+lVSpb9D7e/fwUljq0m0MJhIZbKLZEcrd3vHUvzxW+nuG1BLAwQUAAIA CABAWms8C/U4
NLMCAABiBwAAGAAAAGhlbGlvcy5FY2xpcHNlLmIzYWdncmNvbs1VXU/bMBR9 n7T/EGWaeEri
Ji1Jq3ZQ2qaUBlYYYwU0TU7iuqZxHOyEdvz63X4ypsG6jUl7i+zjc8+598Su 7814ot0RqZhI
G3rJRLpG0kjELKUNvfmh1evpe+9ev6pjSiWhOBey1hJpLllY5HBEm3FW2xy3 58eBMFU1WG/o
4zzPapY1nU5NwakpJLWGx7015IHyEZJECcsUWaBDx7JRCVkPUAskzqskOCRJ Q+8swTpI1LS6
JJlQDFCMKC0REc4XslbksZimicDxowqrb6vIYpwTZTnmrtEzwoIlsbJ0LSYq kixb8qyKaTiN
tc5twVIx0wCvcZYQlYuUqKUOUJJJERdRrrQUc9LQodKmqoonJouJvu76GU4p QIAInPXmdpGD
qgbyUFW3tuDLEpyPhOT/hhTU/h7piOC8kOQp56ttk0pRZD9nvlswl+yK4Z66 3GgPruwr/pXG
A3HUbXclmp3brRZlh7sfcb8/LTvjSr/dFjdbSYju1PMSSqa9lICqyCuVDffA df1O5CnfbXbd
vndVPjzpVtZzhmIQMkKXiRtLMoK0kYQJZYbOPLRvLGs/KiAcvLXBXcOg0pyN GJGNnZZIIMpC
LqK68/nBhLV2sYWrLCZbNhZcVR1kuKE78Tux35nZw0n5S0Cbu0H7vfNytrok JRInb200KCT8
lAS+zoVI1J9avInz7bPjIM8oeQh83ntD/+zAPz6PSVve+mJwKOmIlivIdl/O 7EAKKjHncGeC
zQD0FJgS9TfTxBkz83m/TAKjlZhyKPfL6KJNB2zbNtwWpNevHtHgWH0KxuPm EAXBfzxisrxS
zcw2C0WkWbDn/do/+PU8t+tfCD8KRsG9EZ4MLk4vA6d/uVJTt75/HpZLETxl eH4DPtWA1f41
4ZgljZ0JF0zuR9hkITcjwVdW69YTzyPsfQNQSwMEFAACAAgAQFprPJmED0Cc AQAAbQcAABwA
AABoZWxpb3MuRWNsaXBzZUxpbmsuYjNhZ2dyY29u5VU9b9swEN0L9D8ILApP EWWlaABDSlIY
HQy0QJFmCBB0oKkzzZbkCUcqcv99T7bkJAiydIwnnch37+M4XHW18y57AIoW Qy3meSEyCBob
G0wtvvxcrlbi6vL9u0oZQ2BUQlosMSSy6y5xS7bzdnFsL4d2Jgxxwee12KbU LqTs+z5Hb3Ik
I+++rybII+UzJGhn2wh79PpclsW8kI9QyRYHFafW4Grx9QD+ZsMfwTazrCJo MVpGWoiZQ63S
3too0GAfHKrmmQolOf465pFb/mA8syGBoX27FFkDUZNtD2QvVFl3Ayp1xJpB eagF8x412mE+
MfFcIf/dqnyE5oawa8U0/RsVDAwzHBI+DLGLeXlxRp8/lfNJhXU4EJhDui3B hpPt7ebr82FI
H6S81l1M6JdH3L1tICS7sUD1bLR+c/uxLG4VGUhc/HAqbZA8l0v0LQbGx9kv Iadwckr3H2kj
dsTl6YT2uPt7anFP7pFjgyeW9o08cSWfbojDkeaNpnR63dR4fw9eWVfPgKzO TW/DNZLSDnKN
flSs5Cubku/+AVBLAwQUAAIACABAWms8DIgND4YBAADEAwAAFQAAAGhlbGlv cy5FR2l0LmIz
YWdncmNvbr2TT0/bQBDF75X6HaztIbddOxFUjWwIiqoqh16KkCohDpv1ZDOw 3rF21w3l0zOO
4wAHJBAS15k3v3lv/5Tn943L/kGISL4ShcxFBt5Qjd5W4uJyuVqJ87OvX0pt bQCrE4X5knwK
uO4Sj2T3Dc6P49N+nIE+zrleiW1K7Vyp3W4nqbGSglV/f69GyRPyhRKMwzbC Xr2eqWle5OpJ
qthiv8XpNbhK/PyFSbC/LCsDtBSRJQgxc2R02ns6kGvaeUe6foEHi0l1ba0T RCWyGqIJ2A5z
PTm7GnrDBt6xAZ26wHyvG6gEM468W2bJQ1/aQF0rxnP9o71ldS5P2XufJ58W 36dF8WPkMpnt
gh28bwNs2Dc4pCjXsz77N6UWpouJmuVRd401+IQbhFBNluT4RCjsQ09uhBod q9HyGyLAeyLM
8pPiJP/8CKV6ftFDyfCL1Ca9vvfQv4ZGo6smkdqFJbIOpKHmuOvdHKM9xgfz 8P9uYfvKx2iN
TmmLOspIW7+Iun2GK9UrH5B7j1BLAwQUAAIACABAWms8xGe/zGMBAACJAgAA GwAAAGhlbGlv
cy5FTUZfKENvcmUpLmIzYWdncmNvbnVSy24CIRTdN+k/ELqw3YCPpE2MU21M m7hw026amC4Y
uCIpjwkw6uf3jjOjdeGGEDj3vGA2PzpL9hCTCb6gIzakBLwMynhd0Lev5WpF 56/3dzOhdQQt
cojTZfA5mrLOOEKOzkzP4+NmHAl9muJ5QXc5V1POD4cDC06zEDX/Xq96yIXy CgnSmirBCV1O
+Hg4GvILlKPFRsWKEmxB39cf5HEZIjxRdEnILEIVkkGggURskCKfnHX8Khy8 DUJdibigwGJe
Dm7L60qJDIk7YyHl4HFLiYIko6laqoskuYBaddTfgsh1RG0vHBQU+c9aSM+S +mUdhOkY6or2
5X8Kr6Gp8BkD7pvUQ1xGz5OXnhvZMQ7oNtsuwhZzofOQWDlpGnrgfCFrNOSW Z9zGKPDZbA3E
YrDukg5+KO8N895x2x//X2B7JPG9hcy3Jbv7DThhbDFQYm+USwspmCkdk8F1 ejN+4xfh3R9Q
SwMEFAACAAgAQFprPClLV5eDAQAADwQAABgAAABoZWxpb3MuRU1GX0NETy5i M2FnZ3Jjb27N
kzFv2zAQhfcC/Q8EO3gKj7ZaFDGkJoWTAh6MAu5SwMhAi2eGLUUKJBXn5/cU S049GEg2r+S7
9953IMub58axJ4zJBl/xqZCcoa+Dtt5U/PuvxXLJb759/FAqYyIalUOcL4LP 0W67TCPsubHz
4/isHydDn+Z0XvHHnNs5wH6/F6ExIkQDv1fLUfJqeaLE2tk24Yt6W8BMTiW8 SoEq9ilObdFV
/H71gy3ufnKqyFgZsQ3JkspiYi7UKr/UGsx12HsXlD5JaIJGR7CAzQ5qHaBr tcqYoBASONOY
6mjbg88QxtboUCVMh1TK3aHKXaRMrxqsOPkeMzzmz39E0n/FIBImhq7l487X yhsaKXoq8dTD
ymIqr+SX2dfRngKIBM0B6zHijpCodEhiW/Sb+QRwW3cph2Zx1G2sRp/tzmKs JqsBcvLAYewM
Y+k3QNBuBO3m/RjTaykvDwPb9rIxSvj/JR+Oavp1qs7nI4f7DTbKumqSMmFi vKUHfEWPUGgc
8ko485fp7h9QSwMEFAACAAgAQFprPK2eoa6mAQAA/AIAABoAAABoZWxpb3Mu RU1GX1FVRVJZ
LmIzYWdncmNvbpWST1PbMBDF753pd/Coh5yQbEPoJBND2jS0YSYdoEPLn+lB ljeyBksykkzI
t+8Gxw4cOPSmkd6+375dTU6fdRU9gfPKmowkNCYRGGELZWRGvvyaLRbk9OTj hwmX0oHkwbrx
zJrgVN4ELImetRr35em2HA2NH+N9RsoQ6jFj6/WaWi2pdZLdLBedZG/5Rgmi UrWHF3V+yNI4
idleyrDFLaXiOVQZmS/Posvr+dUtwSajaOKgtl6hToGPKit4eGlsZ1/Ytaks L94wtC2gwrgM
9Io1dcEDeKZVBT5Yg0cSFeCFU3Vr1ROjvaaFI34FPDQO0YZryAja9yh0p48N uA31xQPdCal0
tqlJt4ArbiRst3CEIZ/SOB4laTI8SI7To4Pjz9++ytHw+9nmfH7+4/Hi8vef i5931/UijIYd
HzvAxCDb+KWDFUbHcNbT/HA7w0+MTUWDTetZr7tXBZigVgpcNljuhjH4S1gX inWp2hGz1zNu
rwT+CC7C+8jd+z1orqpskGOtx+yNF+WDnXpeU2F1z/xvP25Cac2mnApOVa5f mU3YOx8X3/4B
UEsDBBQAAgAIAEBaazzdpNBpyQEAAOQDAAAaAAAAaGVsaW9zLkVNRl9URU5F Ty5iM2FnZ3Jj
b269k19v2jAUxd8n7TtE3gNP2CSwiqFkpUJho126Fab1nybkxJfUqmNntin9 +LuUENZJldaX
vVnXx+fcn30dHz9WKngA66TRCQlpjwSgCyOkLhNyspjMZuT449s3MS9LCyX3 xo4mRnsr87XH
I8FjJUft8Wh7HA21G2E9IXfe1yPGNpsNNVVJjS3ZVTbbSw6Wz5RQKFk7eFLn fRb1wh47SBm2
uE1RPAeVkDSbBt/T8/QrwSaDILZQGydRJ8EFyhTcPzXW2Auz0cpw8SyjMgIU 4jKoVmxdC+7B
sUoqcN5oXJJAgCusrHdWbWJw0OzCMX4F3K8tRmteQULQvo1Cd+pBg6FO3NNG SEtr1jXZP8Cc
6xK2rxDSiD5Evd6HMAqPwnAQdgfR++FwOjn7kpXX19nZDzEf5FdmmS4X6XQf jw0gMJQ7+jsL
KyRHNuNo3t9e4TvGxsUae64mre5WCtBeriTYpJM1d9H5Sdieie2hXgXZVNDs /l+A8U3/Au6H
4XCQDo4ubpan3y7m+aJ7cjP/JS4vP30+/5/AMftzpnalAn8AL/zLkc3+LVRc qqRTec7VGBRS
b0euDXu1kfNQ12DHOJBdDZ4KaLxi9sIHxb3fUEsDBBQAAgAIAEBaazwMrfd4 pwEAAAgDAAAg
AAAAaGVsaW9zLkVNRl9UUkFOU0FDVElPTi5iM2FnZ3Jjb26VUs9P2zAUvk/a /xCZQ0+1k3RT
RdVAq2qTKq3AKIdtaAfHeXW8xnZmOxT463khSYFJHHbxwf7e9+t5fn6vq+gO nFfWZCShMYnA
CFsoIzOy3K7Wa3J+9vHDnEvpQPJg3WxlTXAqbwKORPdazY7jaTuOhMbP8D4j ZQj1jLHD4UCt
ltQ6yX5s1gPkhfINEkSlag/P6HzC0jiJ2QuUocVWpeI5VBn5svka3VwvL7bL 1c368oKg1Sia
O6itV4hW4KPKCh6e7fUihT2YyvLijZK2BVQYmoHesaYueADPlAnglGYkKsAL p+qO5x/RqId1
4ii/Ax4ah9KGa8gI0h+lkJ0Gx43nouWivtjTHk6ls01NhmVccyOh3cgnDHyX xvFpkiafx3hM
xtPp9Nv4dPnr8jHeJOLq75+tkebn/jEW39PBBfrA3CC7EkoHOywAI1pP80nb 5wljC9H4YPXq
iLtVBZigdgpcNtr0lYx+EzZEY0O2rmj2uunuSuDvwHDvS/bvt6C5qrJRjrMe szdelHu78Lym
wuqj5n/zcRNKax7KheBU5foV2Zy984nx7QlQSwMEFAACAAgAQFprPNp7G46k AQAABQMAAB8A
AABoZWxpb3MuRU1GX1ZBTElEQVRJT04uYjNhZ2dyY29ulVJLbxMxEL4j8R9W 5pBT7DzaVERZ
mihQtIIUaBBCVBy83onX1I+V7U3Kv2c2u5s2hx64znzzvezF9aPRyR58UM6m ZExHJAErXKGs
TMlqu84ycv3u9asFl9KD5NH5+drZ6FVeRzxJHo2an84nzTkS2jDHeUrKGKs5 Y4fDgTojqfOS
/dxkPeSJ8gwJQqsqwBGdT9lkNB6xJyhDi42K5jnolHzY3CQ/Vp+z96vv2Zdb gk6TZOGhckEh
WEFItBM8Ht11GoU7WO14cSZkXAEaMzMwO1ZXBY8QmLIRvDKMJAUE4VXV8pxr Jh2q1Ub1HfBY
e1S23EBKkP2khOR0z7Uqjo5oKB5oh6bSu7oi/UvccSuheY4LTLtvKhhNJhfD 8ezyaji7yoZv
Z9uPd9PL7a369VVY88380Z9m9c2qN4E2MDXItoLSww7jY0AXaD5tynzD2FLU ITqzPuHuVQE2
qp0Cnw42XSGD34T1yVgfra2ZPe+5HQn8GlzElyW7/T0YrnQ6yPE2YPY6iPLB LQOvqHDmpPnf
fNzG0tm/5VJwqnLzjGzBXvjBuPsHUEsDBBQAAgAIAEBaazx3n5oPcAEAAJUC AAAdAAAAaGVs
aW9zLkVNRlRfQ09NUEFSRS5iM2FnZ3Jjb251ks1O6zAQhfdX4h0ss+jODkVs qoYfVSB1UXEF
LK5UsXDsibGwPZHtUB7/TkjSwgJlY9ln5jtnJuubz+DZB6TsMNb8QlScQdRo XLQ1v3vebLf8
5vrsz1pZm8Cqgmm1wViSa/pCJewzuNWxfDmUU8OYV3Rf87dSupWUh8NBYLAC k5X/dttZcmr5
Qwnauy7Dl7q5lMvqopInqSSLA8WrBnzN73cPL2zzuPt793TPySdj6wQdZkdS B5l51Kp8eZsI
Bg/RozI/MAENeEosIbSy74wqkGVwHnLBSEfODGSdXDe2IujMZCfViCcDLajS J4JHFaDmBDjC
qL/QGDqVQGTzLiapsAn7js97eFLRwrCMIevHMIBqSd/VVTUziEK5wI4h3xK0 FJAiYBbN5TCs
cylvdU/Gwuao2zsDsbjWQaoXuyny4pXL2bicnY+DlN8nOV5pWr3S5Xfk9L6H oJyvFxpMclo0
qY+32ACKNk3Atfzlj6K3/1BLAwQUAAIACABAWms8XJ5H/HgBAACaAgAAGwAA AGhlbGlvcy5F
TUZUX0lOREVYLmIzYWdncmNvbnWSP2/bMBDF9wD9DgQ7eAopKS3gGlaTwkkA De6QdAgQdKDF
M3MI/wgkFfvj9xRJdjNkIQjy3f3eO3J9fXSWvUFMGHzNS1FwBr4NGr2p+a/H TdPw659fLtbK
mAhG5RBXm+BzxF2fqYQdHa5O5dVQTg19WtF5zV9y7lZSHg4HEZwRIRr5tG1m ybnlByW0FrsE
7+rdlayKspBnqSSLA8WqHdia323v/7Dm9+3dEyeXjK0jdCEhCRESs6FV+d3Z 1F+Hg7dB6Q8Q
FzRYyivB7fOwoNdwlH2nVYYkHVpIOXjacqYhtRG7sSnBWTNo2Vkz2iAje1C5 j2TCKwc1J9AJ
SggxY0TSr2LSChND3/H5OR6UN1RZiCVFfquK4kdZld/L6ttyhhCGAoIZ075E 2FNSyhKS2F0N
M/sq5U3bkzO3OemeUYPPuEeI9WI7ZV/85XJ2Lmfr40Tl/yMdj1r6AarNnyOn +2dwCm29UNbC
5SveYAaHSWiYcGv5ybeiu39QSwMEFAACAAgAQFprPKN4JGxuAQAAmQIAABoA AABoZWxpb3Mu
RU1GVF9NSU5ULmIzYWdncmNvbnWSvW7CMBSF90p9B8sd2OwQpiJSqFArMdCh ZaiEOhjnxlj1
T2Q7hMfvhSRQBrbIPvd851xnNj9aQw4QovauoGOWUQJO+lI7VdDXr+VqRecv jw8zoVQAJZIP
06V3Kehdk3CEHK2eXsbz0zgaujjF84LuU6qnnLdty7xVzAfFv9erQXK1vFGC NLqOcFbvJjzP
xhm/SjlGPFGM2IEp6Nv6fUPWq48NxZCEzALUPmrUaYjEeCnSOVhvX/rWGS/K G4b1JRisy8FW
iTd1KRJEbrWBmLzDT0pKiDLouvO6IMlV09GRX4FITUC2ExYKiv4XFtozq11i sfxlvY6p4Jua
Dg/wKZzCqYw9Y8nDqXmWZ3k+nmQDABHYCVRXcB+gwnIY30e2m5y29MT5QjaY yi4vuq0uwSVd
aQjFaN3XHf1QPqTmQ+xuifz/FrsjiW8uZLqP7O+3YIU2xah2gMqwOJdPWgoT fZVagZWltz17
xu/8VXj3B1BLAwQUAAIACABAWms8BVOaC2oBAACNAgAAGQAAAGhlbGlvcy5F TUZUX01XRS5i
M2FnZ3Jjb251kjtvwjAUhfdK/Q+WOzDVDo+hQqRQISoxsLSVWgl1MPHFWPgR 2Q7h5/dCEigD
8mLZ597vnGtPpkdryAFC1N7ltM8ySsAVXmqncvr2OV8u6fT18WEilAqgRPJh PPcuBb2pEpaQ
o9XjS/ngVI4NXRzjeU53KZVjzuu6Zt4q5oPiP6tlJ7m2vFFCYXQZ4azeDPkg 62f8KuVo8UQx
YgMmp4vV+xdZfS8oeiRkEqD0UaNMQyTGFyKdfbXdpa+d8ULeIKyXYDAtB7tN 3NbAq1KKBJFb
bSAm73BLiYRYBF02/ToquUoaA2hhCyJVAfFOWMgpIi44JDAEsCj3rJUxFXxV 0u4FPoRTWJSx
F0x5OEXPBrhG2ajrjwRMBaqJuAuwxXgYwEe2GZ7G9MT5rKjQlJ1fdGstwSW9 1RDy3qoN3Pul
vDPNO9fNGPn/OTZHBT66KNJ9ZHu/Biu0yXvCGHje65lOYHVkElrchN/5SXj3 B1BLAwQUAAIA
CABAWms8cVqtPI0BAAAGAwAAGAAAAGhlbGlvcy5FUFBfVURDLmIzYWdncmNv bpVSS4vbMBC+
F/ofjErJzbKzlzbE3ZR0WXIohO0uFMIeFHmiiEoao0ed/PuO149kKXtYdLAs ffM9ZrS8PVmT
/QUfNLqKlXnBMnASa+1Uxb7/Wm827Pbbxw9LoZQHJSL6xRpd9HqfIpVkJ6sX U/m8KydCFxZ0
XrFjjM2C87Ztc7QqR6/475+bEXKhfIUEaXQT4AW9v+Hzoiz4BcrJYqdixB5M xe622+zpx5qR
xSxbemgwaEJpCJlBKeKLrYG8xtYZFPUrhQjy6NCgOnNoGp6aWkQIpFJabSBE dP0frYfOSlHO
v5Zl+YWzrIYgvW56jc7IUNybITsHEDF5suKEhYqR3CRNWnkKQgFViHwATl/l MTVsHMuDcAq6
2fxnYlQiLcoKqg9+9HCg0GA0hnx/0/XuE+crmSiNXU+4na7BRX3Q4KvZPTjw wnyeF9vkqYlA
u0dEE2bPjI95+Bio7za/bnd/JOlpCBnf9jDc78AKbapZK84OVlfzmOTeTWX/ OJHAj2QBk5eQ
S7QD5ZK/8YTp7h9QSwMEFAACAAgAQFprPJ8ABZfvAQAAswQAABgAAABoZWxp b3MuRXF1aW5v
eC5iM2FnZ3Jjb27NVFtr2zAUfh/sPxiNkSdbig1zE+K1JSRd2BpGVspG2YNs nTiiuriSnOTn
7yRx0hVSxp62N2F953yXc6zR5VaraA3OS2sK0k8YicBUVkhTF+T623g2I5cf 374Z8bp2UPNg
3XBsTXCybAOWRFsth6fydFeODY0f4veCrEJohpRuNpvE6jqxrqbfb2dHyHPL F0iolGw87NFl
RlPWZ/QZSlHijkXxElRBJk+tNHZLUGIUjRw01ktESfCRshUPe1ldc2E3Rlku XjB0Z9o2ggfw
NEs+xLO4bKUSnpJIgK+cbA59JgdsxI2IOuII8ZGWCnywBvxBBypZAg+tQxWG aygIMp1Y4VCZ
ePGYdLCkdrZtyHEOC25qLMLW6HWdMjZggzSL85t8EeeqfbLX5epTumW3P8ov 8/zzOlvoIzFS
o2uoDxGsHCzRPihpfVJmuxTfUXpVtahWj0+4BynABLmU4IpeZ3Jx9z5ld9zV EPDwVfGwtE7j
cWx1g1ZN8L2fhB790qPhvwhgA3yNa/bnIPYj74K46OdxPojjyf39dD6dzm8m /5f1Ef19Cf/p
WjpQwD2cdrJxVrRVODcSVzX7MUhxfglnu7+QZWwQsws26Lyfs1rh28B3HK/l 390/gOZSFb1H
baW7qngiS51UVnfBjugr7w3e/QJQSwMEFAACAAgAQFprPPFY0wieAQAAxAIA ADEAAABoZWxp
b3MuRXh0ZW5kZWRfRWRpdGluZ19GcmFtZXdvcmtfKEVFRikuYjNhZ2dyY29u dZJfa9swFMXf
B/sOQnvI9hDJSVrIQrx2Cw7kIX3YoAzKKLJ1rYjpj5Hk2h9/N7WdrA99M9K5 53fOtbZ3vTXk
BULU3uV0wTJKwFVeaqdy+v3X7nCgd98+ftgKpQIokXzY7LxLQZdtwhHSW725 jC/P42jo4gbP
c3pKqdlw3nUd81YxHxT/fTxMkqvlGyVURjcRXtXlii+zRcavUo4RzxQjSjA5 LfoEToIkhdQJ
M5N9EBY6H/6Sz0Wx/0IxOyHbAI2PGsc1RGJ8JdJr3pEqfeeMF/IN2noJBh05 2DpxgJq3jRQJ
IrfaQEze4SclEmIVdDP4IZFcbwc20msQqQ1Idpgtp+h+IaE5Q28GMrFRxlTw bUOnn/JTOIVD
GVtj8ZfzNrLl4ja7WWXzxTrO97sf8+daPPT6+fH49XF9uy9W6/5mOcERj21B DdVPAWqsjcV8
ZOXqvNZPnN9XLSa2u4vuSUtwSdcaQj47jouY/aF8asSnSsN6+f/7HY4qfCSi Su8jx/snsEKb
fBYTNCfhgJW+rU6Q7n0JntVhpG75Ow8Q7/4BUEsDBBQAAgAIAEBaazxfwv0R pAEAAEUDAAAU
AAAAaGVsaW9zLkdFRi5iM2FnZ3Jjb26lk1FP2zAQx98n7TtY3gNPtdNWo6xK RqtuKwHaFYqA
bdqD41wTC8cX2Q6Fffq5NIUhNG3TXvxw97/f/+5sx4d3lSa3YJ1Ck9AuiygB IzFXpkjoeDlJ
U3r4/vWrWBSFhUJ4tMMJGm9V1vhQQu4qNXws723KA9C4YYgntPS+HnK+Xq8Z VgVDW/DrWbqT
PCGfKUFqVTt4UGd93ou6EX+S8tDixkWLDHRCpx8/0dAeIbGFGp0KCgWOaJTC P7TUgnNcG40i
f0b3iNrxAla8qXPhwXFlPFhVcUpycNKqegsJLqRNbd2C3wqEb2zwMqKChAbe IzsQmctvWCth
hcWmprstnwtThII+2w+T3G7Gi8LR6Ub9qDOYDs4747dXc7E4m4qTq+NZJtL5 2aVcnqaU/4X1
D3D+z95d1nvpvT941zmYfD45/TA+ms+/zi4vlkeLMr++OPiyaL1j/uuWtyEZ XoOQ3pHSwirs
G7RCx7L+5srecD7a5b9BJZRO9oTxJZr7ciQFU1nFJFZ733f8f4UpmzVaj9rp HTZWwv8RRYb3
N/iyuZj/5geE3E9QSwMEFAACAAgAQFprPL/I+QCCAQAAlAIAABQAAABoZWxp b3MuR01GLmIz
YWdncmNvbnWSMW/bMBCF9wL5DwI7eDIp2UXcGlaT1mgKA3WGdmkRdKDIM81Y 5AkkFTn99TlH
ktMMWXnv3rvvSauro6uzBwjRoi9ZwXOWgVeorTcl+/Jrvdmwq88X71bSmABG JgzLNfoUbNUm
WsmOzi7P67PTOhn6uKT3ku1TapZCdF3H0RmOwYjf280oebF8pQRV2ybCs7qa i1le5OJFKujE
U0otK6hL9n17w+i8LFsFaDBaUliIWY1KpueTBmONna9R6lfuDjXUBCqM24m2 0TJBFNYnCNYJ
lmmIKtim96GgbBj1gRS5A5naQHFeOigZWZ7tyZFHfeCDhJuAbcPGon9Kb+BU 15xgHmZ5/qmY
FZfTYvHh43SxXtxOv/44uj9+fjh0j/dG42Xzb/rtcLMYkymb+MD0sPsAOwIl FIy8mp+6ei/E
tWpjQrc+6+6sBp/szkIoJ9sBffKXiRFHjDx9oeL/RvsnRV9eqvR25DC/Aydt XU6kT3v0j/tr
JbmtHFfohsCVeOOHotkTUEsDBBQAAgAIAEBaazw0NTgsiQEAAKMCAAAmAAAA aGVsaW9zLkph
dmFfV29ya2Zsb3dfVG9vbGluZy5iM2FnZ3Jjb251Uktr3DAQvhf6H4RK2dNa tkMJXdZNyh7K
BgIlCaQQehjbY60aWWP0WCf/vrPxepMcchOab76XtL546q3Yow+GXCWLLJcC XUOtcbqSP283
2628+PH50xq09qghkl9tyEVv6hR5RTz1ZnVaLw/rTOjCiu8ruYtxWCk1jmNG vc7Ia/XnejtD
XinfIbGxZgj4gq7PVJkXuXqFKrZ4ULFQo63kFexB3JN/7CyN4o7IsnHJhoVY exwoGN4xGISl
BuKLyaNUS6OzBO07vYjNzpEl/az+jVGloYWISyZBJUWLofFmmFiu7u+ER4sQ MEx6rNghxORZ
zUGPlWTGEzvTZcdxpj2lQc6t34DTDM6zc062L/P8e1GW5bL4VuTLm5maydk/ 6inMzmPHQdAa
Cll9dmjni1KXTQqR+s0J92BadNF0Bn21+IUOPdivZf47eS4G+XToKyz+SjUH UHOCqUH1tsLp
quHHhyZ+7OE4f8AejK0WAaC9NK4j33P/j1lyZglJhzpxOS0exdfqg//Fs/9Q SwMEFAACAAgA
QFprPOzHOyFGAgAAaw8AABwAAABoZWxpb3MuTGludXhfVG9vbHMuYjNhZ2dy Y29u7ZdNi9sw
EIbvhf4H41JyquV8tKUh7m7JoQS2sLRbKCw9KPJEFitrjCQn2X/fkfO5lK0J 3bBNCbkk9mje
ed6ZWNboYlnqaA7WKTRZ3E3SOAIjMFdGZvGnb+PJJL74+PLFiEtpQXKPdjhG 462a1p6WRMtS
DbfLe2E5JTRuSNezuPC+GjK2WCwSLGWCVrIfXyabkF3KB5EgtKocNNHTPuul 3ZTtQhmVGFQ0
n4LO4itl6mV0g6hdTGVG0chChU5RpAIXaRTcN6WtBXJcGI08f6DiQRQGNcp7 pkM+H9Kxusq5
hzcFaIWOxVEOTlhVrdLt6Ubfm8C1PlUwA+5rS+qGl5DFpLBV26VPRO4TXntc /VqvSaTFuoo3
DfnKjYTGVvoEI9J+2ks/DAYbLVIjQJAr2sLCjEibgpNpP5j2irFLUTuP5Xgb d6tyMF7NFNis
c21RWl6W1O/XvfSKBGsuwXV+xmzDwzZAhwNqNS2QYP7MR2ynyFeE6mlq2pr3 Lnl/JLjPYMBy
TWDXtaWxB/rWzOQT4MnK4qytb2+P1rcbcJ5ouMkDHdgZ2pIbAXtkfy/S/Iuf 0DOqsM2xNOme
4DBgGAaloY2uf56HfdtsVbY5NiDPTm8eAlitEsjDRvt/Irp756H0vDrP/GHb IteadtyqeL4n
4fH2/DknNmXy9pE/z8T+u4TAebtl3bNlO8u090Y+32vzv+TZiO2f6VaXBJ1B ufCP667v30LJ
lc464RBSoPaXFvKC+0RguRU8OBm/q63nd/h7shF75JxM934BUEsDBBQAAgAI AEBaazyXSFp6
ZQEAAIoCAAAYAAAAaGVsaW9zLk0yTV9BVEwuYjNhZ2dyY29udZK9boMwFIX3 Sn0Hyx2y2SRZ
WgRNokyRytJ2qFR1MHDjWPUPsk3I4/cSIGmGLAjZ557vnAvZ6mQ0OYIPytmc zllCCdjK1crK
nG4+trsdXb0+PmRCSg9SROfTrbPRq7KNOEJORqWX8UU/joY2pHie00OMTcp5 13XMGcmcl/yr
2E2Sq+WNEiqtmgBndbnki2Se8KuUY8SeokUJOqfFoiCbzzeKEQnJPDQuKFQp CES7SsRzrNG8
dp3VTtQ3BONq0FiWm4XhbVOLCIEbpSFEZ/GVkhpC5VUzWI08clUMaITvQcTW I9gKAzlF8wsI
vZmImoX6l40yJr1rGzqt/l1YiUNL1tc79p2T/vGcvEz+SMA+IIdyBw97LIbR XWDlst/PE+fr
qsVQZnvRfasabFR7BT6fFWPV2Q/lU2g+pR4WyP9vcDiq8GuLKt5HjvffYITS +axTWithWIPM
sHYlOLb3IzLjd34jvPsDUEsDBBQAAgAIAEBaazwfADZHawEAAJACAAAcAAAA aGVsaW9zLk0y
VF9BQ0NFTEVPLmIzYWdncmNvbnWST0sDMRDF74LfIcRDb8m6hYKlq5Wlh4JF UA+CeMgm0zSY
P0uSbfvxnbq7rR4kl5C8md97kywejs6SPcRkgq/oLSsoAS+DMl5X9PG1Xq/p w/311UJoHUGL
HOK8Dj5H03QZS8jRmfm5vDyVY0Of5nhe0V3O7Zzzw+HAgtMsRM3fN+tRcmn5 RwnSmjbBj7qZ
8rK4LfhFytHiiWJFA7aim/KNPNb16mn1TNEmIYsIbUgGlQYSsUGK/GNtAKhw 8DYI9YfiggKL
gbkrM+9aJTIk7oyFlIPHLSUKkoym7Vv9YpKLqsejgS2I3EWEe+Ggogg4w4SU YCGwpL7YIGM6
hq6l4xO8CK+xqGB3GHN/yl6UuGbT2dgfCZgJdB9wF2GL4dB+SKyZnuZ0w/lS dmjK1Wfdh1Hg
s9kaiNVkM8SdfFI+muaj636I/PcU+yOJry5k/h853H+AE8ZWEwkqGsma2Pll aDD0Ng7ABf/n
M+HdN1BLAwQUAAIACABAWms8O5Es04UBAACdAgAAGAAAAGhlbGlvcy5NMlRf SkVULmIzYWdn
cmNvbnWSX2/TMBTF35H4DpZ56NPsNC1oVA1bVUAUVoGgQkgTQo5965n5T2Q7 68Sn382StOxh
D5Ei+9z7O+fIy4t7Z8kdxGSCr+iUFZSAl0EZryu6+rHebOjFu5cvlkLrCFrk EBfr4HM0dZtx
hNw7sziOl904LvRpgecVvcm5WXB+OBxYcJqFqPmv7WaUnFY+UYK0pknwqK5n vCymBT9JOVrs
KFbUYCu6LXfk84cdRYuELCM0IRlUGUjEBinyo61huQoHb4NQTwguKLAYlrsy 87ZRIkPizlhI
OXj8pURBktE0/aqBR06KHo3wPYjcRgR74aCiuPwI+guZJXXLBgnTMbQNHWv/ LryGrvsu2l1Z
FG+n3Tcvp2fz8uz8zWq2/Vdcvf/67dPPq9uPf77s5qvZ6xGLYIwJus98E2GP eTFRSKyedbW9
4vxStujVrY+6a6PAZ7M3EKvJdmhg8pvyMQsfw/S98v+L7Y8kPgIh8/PI4f4a nDC2mjRgFcRL
KZipHZPBDbglf+ZloZUHUEsDBBQAAgAIAEBaazyfJtqlaQEAAI4CAAAaAAAA aGVsaW9zLk0y
VF9YUEFORC5iM2FnZ3Jjb251UktPAjEQvpv4H5p64GS7rJoYsisSvHDAGPVA QjyU7VAa+9i0
XeHnO7AP9EB6aTrffI+ZFtODNeQHQtTelXTMMkrAVV5qp0o6+5gvFnT6dH1V CKUCKJF8mMy9
S0FvmoQt5GD1ZGjPj+1I6OIE30u6S6mecL7f75m3ivmg+Gq56CFnyn9IqIyu I5zQmzueZ+OM
n6EcLR5VjNiAKeky/ySrt9nrC0WThBQBah814jREYnwl0slYRy/93hkv5D8N 6yUYjMttnvih
Fk7yppYiQeRWG4jJO7xSIiFWQdct4aBLzpjWAprYgkhNQANOWCgpigyCJ34W 5TfrQEwF39S0
X8G7cApbMvaIMX+O2bMcz/39Q8+O/JgKVBtxF2CL8TCAj2xzd5zTDefPVYOW 7HzArbUEl/RW
QyhHyy7w6Ivy3jLvPbdj5H/n2D5VuHVRpcuSXX0NVmhTjoQxcPutn3UCqyOT 0MkV/MJXwtov
UEsDBBQAAgAIAEBaazxAzzWWwAEAAGsDAAAcAAAAaGVsaW9zLk1EVF9PQ0xf My4wLmIzYWdn
cmNvbq1TS2sbMRC+F/ofFpXik6W1t8HF7DZ2XZo61DQkJk0JpcjSWBHWY5G0 tn9+Z+NnDjkU
ehMz38z3mN3ycmtNtoYQtXcV6dGcZOCEl9qpiozvJtMpufz09k3JlQqgePJh OPEuBb1oEo5k
W6uHx/F+O44LXRxivSJPKdVDxjabDfVWUR8Ue5hND5DTyhdIEEbXEZ7Ri4L1 817OTlCGElsW
wxdgKjL7Ms9+TL5nBdZQZpaVAWofNSI1xMx4wdOztD2B9BtnPJcvWKyXYNAw szIxLwwr/uSs
qSVPEJnVBmLyDp8kkxBF0PVu5Rl3FsAAjxB3IlDGEnhqAkpw3EJFkOZEKQzl xtAoV3QPoyr4
piaHQ9xyp3CoaK3SdZtA3usPeh/6eXdw3e2OPz8Mrvj89mtzd3/x85tYX/+6 9x+XNwdypEfb
oHYZPAVYon906CNdFG2U7xgbiQZd2ckR96gluKSXGkLVme0T6fwm7L8tvQIH gZv3/fymCXgk
wNfcexPPWEp2CG53TXZ+zl1J4OfHRXpdw77/CJZrU3XGBrbcSQh0qiQ3fj1S bYMKb4/E/7wU
5GijDUa0ohZos9pvKtkr/wn2/gJQSwMEFAACAAgAQFprPNeAUCJnAQAAhQIA ABkAAABoZWxp
b3MuTURUX1VNTDIuYjNhZ2dyY29udZI7T8MwFIV3JP6DZYZudpKWgaqBorJU ogsPCQkxOPat
a/Ajsh3Kz+eWJC0MbJF97vnOuc7i5stZ8gkxmeBrWrKCEvAyKON1TW8fV+s1 vbk+P1sIrSNo
kUOcr4LP0TRdxhHy5cz8OF4dxtHQpzme13SXczvnfL/fs+A0C1Hzl816lJws /yhBWtMm+FE3
U14VZcFPUo4RDxQrGrA13dw9kefNfUUxIyGLCG1IBmUGErFBivyTa3BXYe9t EOoPwgUFFtty
pzLvWiUyJO6MhZSDx09KFCQZTdtbjUBykvRspG9B5C4i2QsHNUX3I6lztmJJ fbBBw3QMXUvH
zT8Ir3Fiyg7tPquiuCqrclbOZpejOdpjG9B9tV2ELdbC4CGxZnpYzwXnS9lh Irc66l6NAp/N
1kCsJ5uh6OSN8jExHyP36+O/99cfSXxsIfP/yOH+FZwwtp68N7GTH0spmGkc k8ENuAX/5w/C
u29QSwMEFAACAAgAQFprPDHT8QZgAQAAgwIAABgAAABoZWxpb3MuTURUX1hT RC5iM2FnZ3Jj
b251UstuAiEU3TfpPxC6cAc+EpsYp9roxoWb2oWJ6YKBK5LymACjfn7vODPa LrohBM49L5gv
rs6SM8Rkgi/oiA0pAS+DMl4X9H232mzo4u35aS60jqBFDnG2Cj5HU9YZR8jV mdl9fNyMI6FP
Mzwv6Cnnasb55XJhwWkWoub77aaHPCj/IEFaUyW4ocsJHw9HQ/6AcrTYqFhR gi3odv1J9rs1
RYuEzCNUIRlEGUjEBinyzVZHrsLF2yDUHwUXFFgMy8EdeV0pkSFxZyykHDxu KVGQZDRVS9Xp
kQeilUbxI4hcRxT2wkFBkfwudE2KJfXNOgjTMdQV7Wv/EF5DU94Uo52bvENc RtPJa8+N7JgF
dBvsFOGIodB2SKycNN28cL6UNRpyqzvuYBT4bI4GYjHYdjEHX5T3hnnvuC2P /26vPZL40kLm
/yW7+wM4YWwxUOJslEtLKZgpHZPBdXpz/s//wbsfUEsDBBQAAgAIAEBaazxY ulDmoAEAAOAD
AAAmAAAAaGVsaW9zLk1lbW9yeV9BbmFseXplcl8oTUFUKS5iM2FnZ3Jjb27V U81r2zAUvw/2
PxiNke0wS0nHtgZ7bchh5BAYWwuDsoMiv8gCWc88yXOzv34vH3Y/oLAee7KQ fp9PcnFx2/js
D1B0GEoxzZXIIBisXLClWPxcrlbi4uvrV4W2lsDqhDRfYkjkNl1iSnbbuPlI n+3pLBjinPdL
UafUzqXs+z7HxuZIVv5arwbIneQDJBjv2ggH9OZMztRUyTuo5Ih7F6834Eux hgZply2C9ru/
QNm79eLqveDAWVYQtBgdcxzEzKPR6RDyZFVhHzzq6oFfAlMH9Gh3stFJWu2d B5RdW+kEH1gM
pMgqiIZce1R7HOD6AI3HCBxiCzp1xAGCbqAUbDIaskN+Oh6/lrBrxXAhP3Sw TFL5Fy49U+pc
fZp+Vucf1SDPBlwL7LFjTbDlfuAdxnxzth/aGykvTRcTNssRd+MqCMltHVA5 +QYBSPu3M/W9
I54X8OoK0cfJbyGHEnJo8Z+tTK3pZXYr5P1Xc9wy/N61SU9nOJ3fQKOdLyc6 VASaEZ2pIVxG
3eYGm9Hz2XpAvQs8V7LQuxRN/UiykE/8nNzoH1BLAwQUAAIACABAWms8uORO 13wBAAA6BAAA
GAAAAGhlbGlvcy5Nb0Rpc2NvLmIzYWdncmNvbt1TO0/DMBDekfgPkRm62YEy VFXCQ2Xp0AUW
JMTgOFfXyPZFttP253NukxYGBjbEEiV3332Pi13d750tthCiQV+za16yArzC 1nhds8eXxXLJ
7u8uLyqpdQAtE4b5An0KpukTjRR7Z+an8Zs8ToQ+zqles01K3VyI3W7H0WmO QYvX1XKEnCm/
IUFZ00U4oJupuCmvS3GGCrKYVaxswNZshU8mKmRksSiqAB1GQygDsbCoZDrY Gshb3HmLsv2m
4LAFS2GFdil/ZDbRd61MEIUzFmJCT6+saCGqYLoj5aBbnBFHC2RiDTL1gQx4 6aBmJHISJA0+
aHDj10HGFHqV0XyY4jpg37HxjzxLr4mj5DNKnTdR5sdsejuqkR6lBH2MvAmw prgUCCNvpnlr
V0I8qJ4susUJ92Za8MmsDYR6shoWMHlnYowgxgy/zPQht3JMEv9HJDqqfzlI Jb6e+WNJ0f2U
Kv0sOfTfwElj64lvAvWdkQ86F7hCNwhW4odrT71PUEsDBBQAAgAIAEBaazzy nB8m0AEAAHAK
AAAWAAAAaGVsaW9zLk15bHluLmIzYWdncmNvbt1WTW+cMBS8V+p/QO5hT7HZ Jb2soEm1pz3k
0qpSpaiqDH54XfyBbBM2/fV9wLJppKZK2lMQEkj2vJk3YzDOr45GJ3fgg3K2 IGuakgRs5YSy
siAfP+/2e3L14e2bnEvpQfLo/HbnbPSq7CKWJEejtufyzVCOhDZscbwghxjb LWN931NnJHVe
sq83+xnyQPkICZVWbYARXWZsk65T9gBl2OKgonkJuiA39/reEmwwSXIPrQsK MQpCol3F49jU
iVq43mrHxSP+6JwOzAwkrGsFj8AOoJULjCQCQuVVO5GMOsmXERImPVSsgcfO o5rlBgqCjGf2
kfP7CUDnp/Sua8mc9yduJZZl9BI97Qej6Sa9vMBbegHZcZZBIfQCcjJ28FCj qbFLWmZDMu8Y
u666EJ3ZnXG3SoCNqlbgi9XOaczL+TGR1TfCZgNsdvBcR7Ts5E+FbIuyVol4 svdXN+/pBq9X
slAVfqVwjAt8BVsBC3T1g9/xBdpSi1ysCNws0FavGvX8TWNNs9djLYjmPxeM vTjGQfQfI5zE
cvb7mWYaGvZ1XsWnAz3N34LhShcroxraoGgEex15aKJr8d9gzmm+mBCZ6hpw G8YjIug/cObs
icMizv0CUEsDBBQAAgAIAEBaazw8D65B0wEAAMwDAAAUAAAAaGVsaW9zLlBE VC5iM2FnZ3Jj
b26tk99P2zAQx98n7X+IPKE+ESfpJo0qGbCCpqIWCkMDCe3Bsa+uhX9EttMy /vpdSFtgEg+T
eHES+3vfz935Uh4+GJ2swAflbEXyNCMJWO6EsrIixz/Hkwk5/PbxQ8mk9CBZ dH40djZ6VbcR
Q5IHo0a78KILR0MbRrhfkWWMzYjS9XqdOiNT5yW9nU22kmfLV0rgWjUBntT1 kBZZntFnKcUU
O4pmNeiKzE+uCaaXJKWHxgWFCgUh0Y6z+JTSxli4tdWOiVfu0TkdaCMibRvB IgRapAU1SkOI
zuInSQQE7lXTeyEs8aCBBQg9FbkLYLH1yLTMQEXQd8dolk0axH26kaTSu7Yh 225fMSuh6xl2
LV0VWXaQ53mRZ1m2/2W4//Xz5fHs+9n4anl+fn/ziz9mHKbs4EJswYjGGkH2 BS89LLBY0MqF
tB52/fpE6RFvsRIz3unulAAb1UKBrwY3UO8V470iu51N+xdmBa5nbMXwcXqK ywmsQLvGYNTg
N6Hvxv4BFjzTSJi3Hi8O8O26u453pcy9k54Zg8OM/lNseMskvGSUdHt//RTR l2PUb3Ecd8bj
2xlszu/AMKWrgXd/jh7BipQ7syP9t4tRfMlA/+tU0jd+RDz7C1BLAwQUAAIA CABkfms8TRb5
W5YBAAB1BQAAFAAAAGhlbGlvcy5QVFAuYjNhZ2dyY29u1ZRBi9swEIXvhf4H o1Jyk7LZW7C7
W3IogRYC3UNh6UG2J4pA0pjRqN6f33HiZLuHXdpDD7nJmjfvfWPQ1HdPMVS/ gLLH1KgbvVQV
pA57n1yjPn/fbLfq7tP7d7V1jsBZRlpvMDH5trC0VE/Rry/tq6ldDFNey32j DszD2phxHDVG
p5Gc+fFte5Y8W75QQhf8kOGobm/NanmzNM9SI4hTSrAthEbtHnZK8KqqJhgw e1F4yFXAzvIR
aTbucUwBbf/CnRFDNgMPpgy9ZcjmAMFjNqrqIXfkh5OHhFSz4hQmcXuwXEii ko3QKLG7WIuh
nsvaEZbh3CRtggXuxHgg2AvfMVG3t9OIH4y570pmjJuL7tH3kNjvPVCz+AIJ yIaPq+WukMwL
cnqYplj8VOaMZs5sf8lKEJFBk3xeEzbwftRsy3X9656vh/eATDb9L94doSMb o2waIf1qkyvW
wRu0tfnzjZ+uOtlFtuPXCeb6I0TrQ7NwerScMUkhDoWBpkVwifxnO/Zt65nz fcnat1GL62xW
m1c2ptR+A1BLAwQUAAIACABAWms8Jka1p5wBAAD5AgAAFAAAAGhlbGlvcy5R VlQuYjNhZ2dy
Y29ulVJLaxsxEL4X+h8W9eCTpfWatMR4Gxf34oJbNw0hEErQrsaysKTZSlpv 8u87G7+SQw65
iZlvvheaXj06m+0gRIO+ZCOeswx8jcp4XbJvf+aLBbv6+vHDVGodQMuEYTJH n4Kp2kQn2aMz
k9N50Z8ToY8Tmpdsk1IzEaLrOo5Ocwxa3C0XR8iZ8hUSamuaCM/oaiyKfJSL M1SQxV7Fygps
yX7f3jCyl2XTAA1GQwgDMbNYy/Rs6UCssPMWpXrF7lCBpaDCFU782yV0VrSN kgmicMZCTOjp
yTIFsQ6m2TOS5K/svN7Lk4E1yNQGEvfSQclI4CRG/Jz4qQTLo9ryA5TrgG3D jvVfS6/pcNwH
5Lsizy9HRX4xzOk1/HL9efj953CV6yWOze3Nw2rVPRQ/Li+61ebogDxQatD7 CjYB1hSfAmLk
1bhv8JMQs7ol225+wt0bBT6ZtYFQDpaHQgZ/mTjGEsdc+5rFy573o5r+g6zT 25KH/T04aWw5
UDsMcsuDVLCd6X7Ga3QnzXfzxQqftjirMFjp1QuuqXjj19LuP1BLAwQUAAIA CABAWms8P0bQ
r8UBAAB1BAAAFAAAAGhlbGlvcy5SQVAuYjNhZ2dyY29urZRBa9tAEIXvhf4H sSX4VK0s92Ss
JsHxwW0DwTE0EHpYSeP10t0dMbuy03/fUSQ7CdQHl1xWi+bNN/MeSLPLJ2eT HVAw6AsxTjOR
gK+wNl4X4vp+vlyKy68fP8yU1gRaRaTpHH0kU7aRW5InZ6bH9rxrZ6APU35f iG2MzVTK/X6f
otMpkpYPt8uD5AX5RgmVNU2AZ3U5kXk2zuSLVPKK3RSrSrCFWF3fCV4vSWYE DQbDCgMhsVip
+LzSAK5x7y2q+g2doiTVMHEiI6Jly1IkNYSKTNN3Mz5Z96XkOOBPP5FnbkDF lnieVw4Kwcwj
n8HpAE0HWaoJ20Yc0l4pr6GLfMKOOpcZH5/H+ZfswOcJbAN072lLsGE/YA2G tJx0kXyS8qpq
Q0Q3P+oeTQ0+mo0BKkY/obzI5xd59nD7o78oX/P5Te0UPxYLPm5gBxYbx12j X0IevMmDuT5e
+Trf90icWt7Swb8SX/Wl5P7m+3+kPoDTUP8+M/l88n7JL/qNVmtOeK1IQ+TL nVVxg+T4OkfX
oGd9OC/0ij8+VcXTSw31R3DK2GJEIQL5EkhfDSEFbKmCtEJ3nHw+dQtETnl/ EjqTJ/4YXPsL
UEsDBBQAAgAIAEBaazzDCpVkmgEAAMIDAAAWAAAAaGVsaW9zLlJpZW5hLmIz YWdncmNvbt1T
wWrcMBC9F/oPQqXsoSA5DrksdtPi9rCUhbKbQyCUIFuzWlFJYyQ5m8/v2F5v mkMuPRaBEDNP
7817tqrbZ+/YE8RkMdT8ShScQehQ22Bq/nXfbDb89vP7d5UyJoJRGeO6wZCj bYdMV9izt+vL
9XK8ToQhrale82PO/VrK0+kk0BuB0cj77WaBvFC+QkLnbJ9gQrfXsiyuCvkC lTTiqOJUC67m
OwtBcRqQsSpCj8kSxkJiDjuVp6HO1BpPwaHSr/hjlnFkkOXIKrY3cui1yiA5 05C6aPuZY5Jh
+28/2Ce2V753kGZRkj2AykMkyaA81JxoLxITt2gH67Q4w0SHtCX9+1IwEYee L99gp4KBKUla
T6P5grbH8rGgtb1ZVEmX/IGZzR4jHMgoOItJtNdjWh+k/NINKaNvLrgHqyFk e7AQ69X3ecbd
3ceyuFPRQKbDT6fyAaOnY4O+x0D4tPrF5WJWLm7/0X2aw/tfAqjk3z/dXOro eaguvz3Uuf8A
XllXr5pjtClbFURD4SD1fQ9IKQkNZ+VKvvH8qPcHUEsDBBQAAgAIAEBaazy3 PwXi+AEAAL4M
AAAUAAAAaGVsaW9zLlNUUC5iM2FnZ3Jjb27dl7Fu2zAQhvcCfQeBReEppOyg i2ElDtzFQ9Ei
zhAg6EBRZ4kAySNIKo7fvidbcpIhgItMlgYJIo//z4+SjqfF7Ys12TOEqNEV bMpzloFTWGlX
F+xus1qv2e3N1y8LWdcBapkwzFfoUtBlm2hI9mL1/DR81g0nQRfn1F6wJiU/ F2K323G0NcdQ
i8df6yHkVfJdJCijfYRDdHktZvk0F6+hgqbYuRhZginY5uEPo+ll2SKAx6gp QkPMDCqZDlPq
hSvcOYOyeqcekxetr2SCKBowGiPLKogqaH8cvPl9lz0gmpjdD+r7ox0ZbkGm NpCZkxYKRoIn
cRLmpbeO9zGnax2w9WxY73vpaugWndaNd5w5nej4MXiQC3FAfYRqAmwJ6DBR Xl53a/JNiKVq
Y0K7OsU96Qpc0lsNoZgQwfdZ/hOewaC31D75y8RAIAaEM5GikucRzfj0AomC jN1bM0K01NKd
24+QjDIJVN13GUcIF8FKclEjQdOWK3yTOsaRFIlqhKmeqEJL0naEj+vsbexi oDwarfbnQl1I
uiiDdF0ZelElx0K8rUOPTYrqZanSx959/xOle22KCTZtMLBf+oBU9cZIWdOe HP9fTUfteC9Z
d22f06MdCbWDpWmdDFeoQLrPCcYEvpEOeBWkB9kusQSkaqxXXIgPfj2o7x9Q SwMEFAACAAgA
QFprPA+OhgumAQAAGQUAABsAAABoZWxpb3MuU3VidmVyc2l2ZS5iM2FnZ3Jj b27dVDtv2zAQ
3gv0Pwjs4CmkZA9tDSkPePLQpVkKBB0o6kxfQfEEPuz43/dsyXYzZEiALF15 330vgqzvnntX
7CBEJN+ISpaiAG+oQ28b8fC4Wq/F3e3nT7W2NoDVicJyRT4FbHPileK5x+Vl fX5cZ0Ifl3ze
iG1Kw1Kp/X4vqbeSglW/fqzPkCvlCyQYh0OEE7pdqHlZleoKVWzxqOJ0C64R j7k9qe9AsMui
qAMMFJGBCLFwZHQ6OZv4O9p7R7p7IZLAbD05sgcVL3SqlF9VHjqd4Ib5QImi g2gCDiPhVbgY
UXE0wBY2oFMOLO91D41giYtcAt3LuPNywkgbKA/ifAE/tbe8wdLym1zPy/J7 Vc4XN9WiLM/s
zM+ZwI4BtwE2HA4cUpTt4ljTF6XuTY6J+tUF94Qd+IQbhNDMVuS4PAqnZma/ hTr7Vmfjbwni
XfWOMOotEjymHAxItJ5YJmQHUf7p0kcL9wd3+I+uamrxg0vLKI0edIsOE+d5 t1yt/n3K45Hh
n0eb9HqZ0/wJeo2umSF3Ktsc0NH9QE4HVj4++anKWr3yq/HsL1BLAwQUAAIA CABAWms8qX+h
x8QBAADbBQAAGgAAAGhlbGlvcy5Td29yZGZpc2guYjNhZ2dyY29u5VTNa9sw FL8P9j8YjZHT
JMdhsAa7H2SD5VA2mh4GZQfZfpbFJD0jKXG7v34vceyujB7KLqU9SUg//T6e pJef3VqT7MAH
ja5gc56yBFyFtXaqYBeb1XrNzk7fvsmlUh6UjOiXK3TR63Ib6Uhya/VyOp7t jxOhC0taL1gb
Y7cUou97jlZx9Er8uFyPkHvKB0iojO4CHNDlQmTpPBX3UEEW9ypGlmAKtunR 140OLSOTSZJ7
6DBowmkIicFKxoOxI32NvTMo6wcaPoowsggPBmSAIFowGgNLagiV191AM6kl Xw/byaU2ECI6
CIM+OWhAxq0ndSctFIwUJrVJhkdEQxXmR/A0Ko/bjo33cSWdIoqUn/CM7/aF SOfZp/Rk8XFU
Iz2KCGrI23poKOvBGi8X+6K9E+K82pJFu5pwN7oGF3WjwRezzbeL91n6GXZg sLO0PvvJxJhF
jGGeFC7Uv55BsC+Dr6trinctvYJIk+9Gxga9pekKbUcX52L4/8T0NnWI/u6V xQ7SdvT+X0jq
XPzdPIalilqdrOLjpo77N2ClNsWMfjWl5j2a5jxgB17yGibJJ9P9DmgiLwFj e/eBPug/nLl4
pC9TxD9QSwMEFAACAAgAQFprPPSl6n19AQAA7gIAABoAAABoZWxpb3MuVE1G X1hURVhULmIz
YWdncmNvbq1SS0sDMRC+C/6HEJGeTNaKKGXXVopKDwXRHgriIbuZTUPzWJKs 7c936m4fHrxJ
LiH55nvMTD7eWkO+IETtXUGvWUYJuMpL7VRBH9+nsxkdP5yf5UKpAEokH0ZT 71LQZZuwhGyt
Hh3Kh7tyJHRxhO8FXaXUjDjfbDbMW8V8UHw5n+0hR8pfSKiMbiL8oMsbPsyu M36EcrS4UzGi
BFPQxfyZLBdPywVFk4TkARofNeI0RGJ8JdKPsZ5e+o0zXshfGtZLMBiXJ1vz tpEiQeRWG4jJ
O7xSIiFWQTcd1UGRHDGdOMrXIFIbUNoJCwVF+oPUNsE2sSjXrAcxFXzb0H3z 34RTWJKxewz4
tUudDfHc3d7u2ZEf84Dqwq0C1BgMrfvIyptdhy44n1QtWrLTA+5DS3BJ1xpC MZj3UQeflP8b
6Qs4CMJcDrPXNmD3AW8L7008Ucn5vjPdmPjpnLqnCrdKVOlvD/3/B1ihTTEQ xsDVWk90Aqsj
k9DL5fyPVcW/b1BLAwQUAAIACABAWms8H8DJXrECAADFCgAAFQAAAGhlbGlv cy5UUFRQLmIz
YWdncmNvbs2WXW/aMBSG7yftP0SZpl5h5wuSIFgXCAVWtWKFIrZqQiYxwW1i Z45DaH/9HKBf
66rRSWhcEKTknPOe5+i8iRvHqyRWlphnhNGmqgNNVTANWEho1FS9YbvfV48/ vX/XQFHEcYQE
4/U2o4KTWS5kirJKSP0h3SjTZUGa1eX9proQIq1DWBQFYEkEGI/g5Kx/H/JY 8lkkDmKSZngd
PTOhoekafAyFssVSJUYzHDfV0WA0UGV/itLgOGUZkSEEZ0rMAiTWPW0rh6yg MUPhs/IiFSnM
0xAJnMEFjgnLoKqEOAs4STfpI5wJOQsF0VAZYD5nPEE0wBtNqTrLaRhLQYoS 3FRl0QeBsjhI
YyTKHIACUBA6Jcg01Pt5XyAaySQLWMDQDLAsUTXdcHVX01T4jwo4qVlivxIk ne9PICY0X+15
ThuNPU9qC/LmWc0xEjnfQYPnVJAEg20CiDjL05ditjTMVkq3SqmKndvLE890 bnimubSTTAv3
Tru+q0wZDu8XWzYiHYSjjZ0WHM+lldYOATOztOMHCD8HeSZY0n6IuyIhlj3N CebNo9I5Hw1N
Gkden1jn6McjK7yH3RU+YXRtcRrtil99iT+yJxWbG+Mzlk2X36KbUIs5KQbD A2eXLymxK7Xc
sJJac3VD1zbUPbtj2/aYn5u9y9Ov1z+rN753utRbt8vpoYNzFOBdyU1gan9g 906cC3uCJs54
0HXOh18uz8MxR9/b3oGzzwgXb1hxw9HlX6Vq+F3b8RznJHWFY1lnVqfWt2qW deC0hfy92c9V
U7edvtPutvRW3HWchTfwh23sdw4cFq9QksqPyd+J5Rr/vtG+3fJ7jtvpDbuG 53S7ru+3O7Wq
8T+ZG/DpGWxzK5CHRRSI11vYPr/CCSJx8+g6QLcUfw4QILMEBCzZyjXgKydQ +ewXUEsDBBQA
AgAIAEBaazyecz+8/wMAAMgUAAAZAAAAaGVsaW9zLldlYlRvb2xzLmIzYWdn cmNvbu1YW2/i
RhR+r9T/gKhWefIdMzgK3cUGh2uJIAlsVhUa24MzxPZYnjFm99fvcYBsUnUl kvShrsoI27LP
me+cj3PDFx93cVTbkoxTlrTrmqzWayTxWUCTsF3vzJ3BoP7x919/ucBhmJEQ C5adOywRGfVy
ASq1XUzPn9T1Uh02TPg53G/X74VIzxWlKAqZxaHMslBZTgZHkR9bvpAkfkRT Th6lPUPRVU1V
fogqYGKJEmGPRO36gnjXjEW8DjbWahcZSRmnIEYJr0XMx+LRrsPuASuSiOHg BURBPFHuoNBE
kDB71FDqtYBwP6PpXh9Qao8wNUPWa08gX/eogLsmWOQZYCY4Ju067PuEUXAh A8Yqp/JB6ukc
ZixP60f2ZzgJQRcQwMOtrqqWpmlN1TRUCU2R7a5ue5N1c8Eb28uOZnbRfXJ9 c5NOjjaAFeAu
Cfe+32dkDX6TiDIue0bJ32+K8snPuWCx8yT3hQYkEXRNSdY+Ay8/6M4HXV1O xvsLnARwHOIt
hlOvB4cu2ZKIpTFonf1ZV47+K0cCTiBkA4SAOsnSjHLyJl5UraEamikhD7n9 KXfnI/220GcT
Zxk1l9L113m8YtXjJRWnMaHLxp4JTVUNWPCR0ARd9wrXQXyGG3O0GC2yz7SS oVFwGe8o1x+T
8jRCNBmWeqQEskZDJlDSktzutHs36w5uup9nq+l6WlQyKA7XEU0e3hEgCLXs 0A6HVnfQGTsT
y7LsasYH8VIcEhKUFfhUPsp1iA4daUhFUsNAlsVss2WaTtPR9YZeSTY2fC3j FPv3RIaenNAA
upvAIc/TlGXidHoOlVU1NSTpEC2FoWkdrWk0K8dK2W9hvnhLX1GbRhkghoT6 qONeed1dHg8u
hwz5BC3mbGPtFuk/2FeuMgbzRhzDqAWuj8GcHAKbP3O8UqRveCBOrdf6s/qk aRBrEnJQy+0R
1xqG43k+kW6LqRs1/if778gWqexD0ns0ogJs+AvZyom/l8/imCXyOs3Y5vQU QVpTa0E/MRDq
oBZHhmkYTaiiQ9uuZKngJANnVzjAKYyk/PWzqK62JFPrsc6Di1DY6ttzv5o1 k0enT1vHaLDK
bqpbEoKR021F7iCdfVOz26tdR32Yi/iqNxndVbKvvkgOkmAvIuWW8uZZjXtb rjRsc2g5lSTl
kCuv7qyHscsyIVA6DddeWTsXX7Lt8nLkO4vJSDdMs8qEvK94wPduP2/phmb9 J3ggO/H64csq
By+E+m6PO/4ftpPZwWjWsDutqv5Ned8rnwGMoP28l43pdvRNtYvGsucNln1w bfsvJORCef7q
bX/LZ4nAvvi5ZYfnX0iMadQ+C/CWBquCRhHFMf+Uc5l6cVmJD7AXyk9eQsKz 71BLAQIUABQA
AgAIAEBaazzfmwCvjwEAAGcEAAAVAAAAAAAAAAEAIAAAAAAAAABoZWxpb3Mu QUNURi5iM2Fn
Z3Jjb25QSwECFAAUAAIACABAWms8b8l2GX8BAACnAgAAGAAAAAAAAAABACAA AADCAQAAaGVs
aW9zLkFtYWxnYW0uYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPLgta2zGDQAA xl8AAA0AAAAA
AAAAAQAgAAAAdwMAAGhlbGlvcy5iM2FnZ3JQSwECFAAUAAIACABAWms820Ns wUECAABqCQAA
FQAAAAAAAAABACAAAABoEQAAaGVsaW9zLkJJUlQuYjNhZ2dyY29uUEsBAhQA FAACAAgAQFpr
PHYzMSWOAQAAzwUAABwAAAAAAAAAAQAgAAAA3BMAAGhlbGlvcy5CdWNrbWlu c3Rlci5iM2Fn
Z3Jjb25QSwECFAAUAAIACABAWms8DJD2SxsCAACOCQAAFAAAAAAAAAABACAA AACkFQAAaGVs
aW9zLkNEVC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8rrLcJswBAAARBAAA GgAAAAAAAAAB
ACAAAADxFwAAaGVsaW9zLkRhdGFUb29scy5iM2FnZ3Jjb25QSwECFAAUAAIA CABAWms8+ui0
IVkCAABVCAAAGwAAAAAAAAABACAAAAD1GQAAaGVsaW9zLkRMVEtfMi4wTTQu YjNhZ2dyY29u
UEsBAhQAFAACAAgAQFprPPoDNEr4AQAA4wUAABkAAAAAAAAAAQAgAAAAhxwA AGhlbGlvcy5E
U0RQX01USi5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8cRVSLm4CAABKBwAA GAAAAAAAAAAB
ACAAAAC2HgAAaGVsaW9zLkRTRFBfVE0uYjNhZ2dyY29uUEsBAhQAFAACAAgA QFprPEgkc72T
AQAAEgQAABkAAAAAAAAAAQAgAAAAWiEAAGhlbGlvcy5EU0RQX1RNTC5iM2Fn Z3Jjb25QSwEC
FAAUAAIACABAWms8kgaCJ4MBAADxAgAAFAAAAAAAAAABACAAAAAkIwAAaGVs aW9zLkVDRi5i
M2FnZ3Jjb25QSwECFAAUAAIACABAWms8C/U4NLMCAABiBwAAGAAAAAAAAAAB ACAAAADZJAAA
aGVsaW9zLkVjbGlwc2UuYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPJmED0Cc AQAAbQcAABwA
AAAAAAAAAQAgAAAAwicAAGhlbGlvcy5FY2xpcHNlTGluay5iM2FnZ3Jjb25Q SwECFAAUAAIA
CABAWms8DIgND4YBAADEAwAAFQAAAAAAAAABACAAAACYKQAAaGVsaW9zLkVH aXQuYjNhZ2dy
Y29uUEsBAhQAFAACAAgAQFprPMRnv8xjAQAAiQIAABsAAAAAAAAAAQAgAAAA USsAAGhlbGlv
cy5FTUZfKENvcmUpLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazwpS1eXgwEA AA8EAAAYAAAA
AAAAAAEAIAAAAO0sAABoZWxpb3MuRU1GX0NETy5iM2FnZ3Jjb25QSwECFAAU AAIACABAWms8
rZ6hrqYBAAD8AgAAGgAAAAAAAAABACAAAACmLgAAaGVsaW9zLkVNRl9RVUVS WS5iM2FnZ3Jj
b25QSwECFAAUAAIACABAWms83aTQackBAADkAwAAGgAAAAAAAAABACAAAACE MAAAaGVsaW9z
LkVNRl9URU5FTy5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8DK33eKcBAAAI AwAAIAAAAAAA
AAABACAAAACFMgAAaGVsaW9zLkVNRl9UUkFOU0FDVElPTi5iM2FnZ3Jjb25Q SwECFAAUAAIA
CABAWms82nsbjqQBAAAFAwAAHwAAAAAAAAABACAAAABqNAAAaGVsaW9zLkVN Rl9WQUxJREFU
SU9OLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazx3n5oPcAEAAJUCAAAdAAAA AAAAAAEAIAAA
AEs2AABoZWxpb3MuRU1GVF9DT01QQVJFLmIzYWdncmNvblBLAQIUABQAAgAI AEBaazxcnkf8
eAEAAJoCAAAbAAAAAAAAAAEAIAAAAPY3AABoZWxpb3MuRU1GVF9JTkRFWC5i M2FnZ3Jjb25Q
SwECFAAUAAIACABAWms8o3gkbG4BAACZAgAAGgAAAAAAAAABACAAAACnOQAA aGVsaW9zLkVN
RlRfTUlOVC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8BVOaC2oBAACNAgAA GQAAAAAAAAAB
ACAAAABNOwAAaGVsaW9zLkVNRlRfTVdFLmIzYWdncmNvblBLAQIUABQAAgAI AEBaazxxWq08
jQEAAAYDAAAYAAAAAAAAAAEAIAAAAO48AABoZWxpb3MuRVBQX1VEQy5iM2Fn Z3Jjb25QSwEC
FAAUAAIACABAWms8nwAFl+8BAACzBAAAGAAAAAAAAAABACAAAACxPgAAaGVs aW9zLkVxdWlu
b3guYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPPFY0wieAQAAxAIAADEAAAAA AAAAAQAgAAAA
1kAAAGhlbGlvcy5FeHRlbmRlZF9FZGl0aW5nX0ZyYW1ld29ya18oRUVGKS5i M2FnZ3Jjb25Q
SwECFAAUAAIACABAWms8X8L9EaQBAABFAwAAFAAAAAAAAAABACAAAADDQgAA aGVsaW9zLkdF
Ri5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8v8j5AIIBAACUAgAAFAAAAAAA AAABACAAAACZ
RAAAaGVsaW9zLkdNRi5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8NDU4LIkB AACjAgAAJgAA
AAAAAAABACAAAABNRgAAaGVsaW9zLkphdmFfV29ya2Zsb3dfVG9vbGluZy5i M2FnZ3Jjb25Q
SwECFAAUAAIACABAWms87Mc7IUYCAABrDwAAHAAAAAAAAAABACAAAAAaSAAA aGVsaW9zLkxp
bnV4X1Rvb2xzLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazyXSFp6ZQEAAIoC AAAYAAAAAAAA
AAEAIAAAAJpKAABoZWxpb3MuTTJNX0FUTC5iM2FnZ3Jjb25QSwECFAAUAAIA CABAWms8HwA2
R2sBAACQAgAAHAAAAAAAAAABACAAAAA1TAAAaGVsaW9zLk0yVF9BQ0NFTEVP LmIzYWdncmNv
blBLAQIUABQAAgAIAEBaazw7kSzThQEAAJ0CAAAYAAAAAAAAAAEAIAAAANpN AABoZWxpb3Mu
TTJUX0pFVC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8nybapWkBAACOAgAA GgAAAAAAAAAB
ACAAAACVTwAAaGVsaW9zLk0yVF9YUEFORC5iM2FnZ3Jjb25QSwECFAAUAAIA CABAWms8QM81
lsABAABrAwAAHAAAAAAAAAABACAAAAA2UQAAaGVsaW9zLk1EVF9PQ0xfMy4w LmIzYWdncmNv
blBLAQIUABQAAgAIAEBaazzXgFAiZwEAAIUCAAAZAAAAAAAAAAEAIAAAADBT AABoZWxpb3Mu
TURUX1VNTDIuYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPDHT8QZgAQAAgwIA ABgAAAAAAAAA
AQAgAAAAzlQAAGhlbGlvcy5NRFRfWFNELmIzYWdncmNvblBLAQIUABQAAgAI AEBaazxYulDm
oAEAAOADAAAmAAAAAAAAAAEAIAAAAGRWAABoZWxpb3MuTWVtb3J5X0FuYWx5 emVyXyhNQVQp
LmIzYWdncmNvblBLAQIUABQAAgAIAEBaazy45E7XfAEAADoEAAAYAAAAAAAA AAEAIAAAAEhY
AABoZWxpb3MuTW9EaXNjby5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms88pwf JtABAABwCgAA
FgAAAAAAAAABACAAAAD6WQAAaGVsaW9zLk15bHluLmIzYWdncmNvblBLAQIU ABQAAgAIAEBa
azw8D65B0wEAAMwDAAAUAAAAAAAAAAEAIAAAAP5bAABoZWxpb3MuUERULmIz YWdncmNvblBL
AQIUABQAAgAIAGR+azxNFvlblgEAAHUFAAAUAAAAAAAAAAEAIAAAAANeAABo ZWxpb3MuUFRQ
LmIzYWdncmNvblBLAQIUABQAAgAIAEBaazwmRrWnnAEAAPkCAAAUAAAAAAAA AAEAIAAAAMtf
AABoZWxpb3MuUVZULmIzYWdncmNvblBLAQIUABQAAgAIAEBaazw/RtCvxQEA AHUEAAAUAAAA
AAAAAAEAIAAAAJlhAABoZWxpb3MuUkFQLmIzYWdncmNvblBLAQIUABQAAgAI AEBaazzDCpVk
mgEAAMIDAAAWAAAAAAAAAAEAIAAAAJBjAABoZWxpb3MuUmllbmEuYjNhZ2dy Y29uUEsBAhQA
FAACAAgAQFprPLc/BeL4AQAAvgwAABQAAAAAAAAAAQAgAAAAXmUAAGhlbGlv cy5TVFAuYjNh
Z2dyY29uUEsBAhQAFAACAAgAQFprPA+OhgumAQAAGQUAABsAAAAAAAAAAQAg AAAAiGcAAGhl
bGlvcy5TdWJ2ZXJzaXZlLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazypf6HH xAEAANsFAAAa
AAAAAAAAAAEAIAAAAGdpAABoZWxpb3MuU3dvcmRmaXNoLmIzYWdncmNvblBL AQIUABQAAgAI
AEBaazz0pep9fQEAAO4CAAAaAAAAAAAAAAEAIAAAAGNrAABoZWxpb3MuVE1G X1hURVhULmIz
YWdncmNvblBLAQIUABQAAgAIAEBaazwfwMlesQIAAMUKAAAVAAAAAAAAAAEA IAAAABhtAABo
ZWxpb3MuVFBUUC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8nnM/vP8DAADI FAAAGQAAAAAA
AAABACAAAAD8bwAAaGVsaW9zLldlYlRvb2xzLmIzYWdncmNvblBLBQYAAAAA NQA1ALsOAAAy
dAAAAAA=
--------------080209040903070004070506--
Re: Helios release was successfully built with b3 aggregator [message #520402 is a reply to message #520391] Fri, 12 March 2010 04:37 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
On 03/12/2010 09:45 AM, Filip Hrbek wrote:
> Regarding the conversion on the fly - that's not possible now. We
> provide an interactive wizard in the UI instead.
>
How difficult is it to automate this process and provide sane defaults so that the current .build files can be used 'as
is' without manual intervention?

I think that's important if we want to try using the new aggregator in parallel with the old one during a test period.
We can't expect the contributors to maintain two set of files, or even add the extra burden of converting using an UI.

- thomas
Re: Helios release was successfully built with b3 aggregator [message #520440 is a reply to message #520402] Fri, 12 March 2010 06:49 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Thomas,

I am thinking about the same. I think it is worth implementing for the convenience.
Transformation from old galileo builds into new b3 builds has no interactive questions, so there is no problem with the defaults.

All we'll have to do is renaming on of the contribution (the format requires a unique set of labels).

I'll into this and I'll inform you when done.

Filip

Thomas Hallgren wrote:
> On 03/12/2010 09:45 AM, Filip Hrbek wrote:
>> Regarding the conversion on the fly - that's not possible now. We
>> provide an interactive wizard in the UI instead.
>>
> How difficult is it to automate this process and provide sane defaults
> so that the current .build files can be used 'as is' without manual
> intervention?
>
> I think that's important if we want to try using the new aggregator in
> parallel with the old one during a test period. We can't expect the
> contributors to maintain two set of files, or even add the extra burden
> of converting using an UI.
>
> - thomas
Re: Helios release was successfully built with b3 aggregator [message #520664 is a reply to message #520440] Sat, 13 March 2010 17:59 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Good news: on-the-fly model transformation has been implemented in headless mode! This should enable David easy testing of the new tool.
All that's left is to build it with the latest milestone and test.

I'll let you know when everything is ready.

Filip

Filip Hrbek wrote:
> Thomas,
>
> I am thinking about the same. I think it is worth implementing for the
> convenience.
> Transformation from old galileo builds into new b3 builds has no
> interactive questions, so there is no problem with the defaults.
>
> All we'll have to do is renaming on of the contribution (the format
> requires a unique set of labels).
>
> I'll into this and I'll inform you when done.
>
> Filip
>
> Thomas Hallgren wrote:
>> On 03/12/2010 09:45 AM, Filip Hrbek wrote:
>>> Regarding the conversion on the fly - that's not possible now. We
>>> provide an interactive wizard in the UI instead.
>>>
>> How difficult is it to automate this process and provide sane defaults
>> so that the current .build files can be used 'as is' without manual
>> intervention?
>>
>> I think that's important if we want to try using the new aggregator in
>> parallel with the old one during a test period. We can't expect the
>> contributors to maintain two set of files, or even add the extra
>> burden of converting using an UI.
>>
>> - thomas
Re: Helios release was successfully built with b3 aggregator [message #521032 is a reply to message #520361] Tue, 16 March 2010 00:48 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Hi David,

the b3 aggregator is ready for testing on your side. I have implemented the on-the-fly transformation of obsolete files in the headless mode so you can try to run the old galileo builder in parallel with the new b3 aggregator at the same time, on the same build files. Once the galileo builder is completely replaced with the b3 aggregator, it is recommended to transform the old files into the format permanently.

For interactive viewing/editing the build files, you can use the b3 aggregator editor which can be installed from http://download.eclipse.org/modeling/emft/b3/updates-3.6 (compatible with Eclipse 3.6M6).

For headless run, you can use b3 aggregator with command line interface from http://download.eclipse.org/modeling/emft/b3/headless-3.6

Use following commadn to install the headless variation:

director -r http://download.eclipse.org/modeling/emft/b3/headless-3.6 -d <target installation directory> -p b3 -i org.eclipse.b3.cli.product -i org.eclipse.b3.aggregator.engine.feature.feature.group

To run the headless b3 aggregator, run "<target installation directory>/b3 aggregate" which will print out the usage (options are very similar to galileo builder's).


Steps that need to be taken to make the transformation successful
============================================================ =====
The transformation checks the model integrity. Therefore we need to make a few modifications to the original build files before we run the transformation (regardless whether on-the-fly or persistent):

1. Rename contribution label in emft-emfindex.build (e.g. to 'EMFT EMF INDEX') to make all contribution labels unique
2. Comment out all occurrences of references to contributions that are commented out (currently pdt.build and dsdp-sequoyah.build) in helios.build

After making these changes the transformation should run smoothly.

However, when I try to run the build, I get an error (see below). This should be fixed in the dependencies of individual projects that are included in the aggregation.

Regards
Filip

This is the error:

Cannot complete the install because of a conflicting dependency.
[0]Software being installed: all.contributed.content.feature.group 1.0.0
[0]Only one of the following can be installed at once:
[0.2]Java Development Tools JUnit runtime support 3.4.200.v20091207-1800 (org.eclipse.jdt.junit.runtime 3.4.200.v20091207-1800)
[0.2]Java Development Tools JUnit runtime support 3.4.100.v20090914-0800 (org.eclipse.jdt.junit.runtime 3.4.100.v20090914-0800)
[0.2]Java Development Tools JUnit runtime support 3.4.200.v20100124-2000 (org.eclipse.jdt.junit.runtime 3.4.200.v20100124-2000)
[0.2]Java Development Tools JUnit runtime support 3.4.200.v20100308-1800 (org.eclipse.jdt.junit.runtime 3.4.200.v20100308-1800)
[0.2]Java Development Tools JUnit runtime support 3.4.100.v20090803-1800 (org.eclipse.jdt.junit.runtime 3.4.100.v20090803-1800)
[0.2]Java Development Tools JUnit runtime support 3.4.100.v20091026-1200 (org.eclipse.jdt.junit.runtime 3.4.100.v20091026-1200)
[0]Cannot satisfy dependency:
[0.2]From: all.contributed.content.feature.group 1.0.0
[0.2]To: org.eclipse.jdt.feature.group 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027
[0]Cannot satisfy dependency:
[0.2]From: all.contributed.content.feature.group 1.0.0
[0.2]To: org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223
[0]Cannot satisfy dependency:
[0.2]From: Eclipse Java Development Tools 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027 (org.eclipse.jdt.feature.group 3.6.0.v20100
308-1800-7z8XFRBFMTdeDrqFpIInkeg45027)
[0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100308-1800]
[0]Cannot satisfy dependency:
[0.2]From: Rich Ajax Platform (RAP) Runtime SDK 1.3.0.20100201-1223 (org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223)
[0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100124-2000]
Re: Helios release was successfully built with b3 aggregator [message #527135 is a reply to message #521032] Wed, 14 April 2010 04:13 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Hi David,

what is the status of Helios build with the b3 aggregator? Are there any issues that should be solved?

Thanks,

Filip


Filip Hrbek wrote:
> Hi David,
>
> the b3 aggregator is ready for testing on your side. I have implemented
> the on-the-fly transformation of obsolete files in the headless mode so
> you can try to run the old galileo builder in parallel with the new b3
> aggregator at the same time, on the same build files. Once the galileo
> builder is completely replaced with the b3 aggregator, it is recommended
> to transform the old files into the format permanently.
>
> For interactive viewing/editing the build files, you can use the b3
> aggregator editor which can be installed from
> http://download.eclipse.org/modeling/emft/b3/updates-3.6 (compatible
> with Eclipse 3.6M6).
>
> For headless run, you can use b3 aggregator with command line interface
> from http://download.eclipse.org/modeling/emft/b3/headless-3.6
>
> Use following commadn to install the headless variation:
>
> director -r http://download.eclipse.org/modeling/emft/b3/headless-3.6 -d
> <target installation directory> -p b3 -i org.eclipse.b3.cli.product -i
> org.eclipse.b3.aggregator.engine.feature.feature.group
>
> To run the headless b3 aggregator, run "<target installation
> directory>/b3 aggregate" which will print out the usage (options are
> very similar to galileo builder's).
>
>
> Steps that need to be taken to make the transformation successful
> ============================================================ =====
> The transformation checks the model integrity. Therefore we need to make
> a few modifications to the original build files before we run the
> transformation (regardless whether on-the-fly or persistent):
>
> 1. Rename contribution label in emft-emfindex.build (e.g. to 'EMFT EMF
> INDEX') to make all contribution labels unique
> 2. Comment out all occurrences of references to contributions that are
> commented out (currently pdt.build and dsdp-sequoyah.build) in helios.build
>
> After making these changes the transformation should run smoothly.
>
> However, when I try to run the build, I get an error (see below). This
> should be fixed in the dependencies of individual projects that are
> included in the aggregation.
>
> Regards
> Filip
>
> This is the error:
>
> Cannot complete the install because of a conflicting dependency.
> [0]Software being installed: all.contributed.content.feature.group 1.0.0
> [0]Only one of the following can be installed at once:
> [0.2]Java Development Tools JUnit runtime support 3.4.200.v20091207-1800
> (org.eclipse.jdt.junit.runtime 3.4.200.v20091207-1800)
> [0.2]Java Development Tools JUnit runtime support 3.4.100.v20090914-0800
> (org.eclipse.jdt.junit.runtime 3.4.100.v20090914-0800)
> [0.2]Java Development Tools JUnit runtime support 3.4.200.v20100124-2000
> (org.eclipse.jdt.junit.runtime 3.4.200.v20100124-2000)
> [0.2]Java Development Tools JUnit runtime support 3.4.200.v20100308-1800
> (org.eclipse.jdt.junit.runtime 3.4.200.v20100308-1800)
> [0.2]Java Development Tools JUnit runtime support 3.4.100.v20090803-1800
> (org.eclipse.jdt.junit.runtime 3.4.100.v20090803-1800)
> [0.2]Java Development Tools JUnit runtime support 3.4.100.v20091026-1200
> (org.eclipse.jdt.junit.runtime 3.4.100.v20091026-1200)
> [0]Cannot satisfy dependency:
> [0.2]From: all.contributed.content.feature.group 1.0.0
> [0.2]To: org.eclipse.jdt.feature.group
> 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027
> [0]Cannot satisfy dependency:
> [0.2]From: all.contributed.content.feature.group 1.0.0
> [0.2]To: org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223
> [0]Cannot satisfy dependency:
> [0.2]From: Eclipse Java Development Tools
> 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027
> (org.eclipse.jdt.feature.group 3.6.0.v20100
> 308-1800-7z8XFRBFMTdeDrqFpIInkeg45027)
> [0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100308-1800]
> [0]Cannot satisfy dependency:
> [0.2]From: Rich Ajax Platform (RAP) Runtime SDK 1.3.0.20100201-1223
> (org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223)
> [0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100124-2000]
Re: Helios release was successfully built with b3 aggregator [message #528024 is a reply to message #527135] Sun, 18 April 2010 17:06 Go to previous messageGo to next message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> Hi David,
>
> what is the status of Helios build with the b3 aggregator? Are there any
> issues that should be solved?
>

I took a few hours to start looking into this new aggregator.
I wanted to get/see the IDE version first, before trying to do anything
headless. I used 3.6 M6 as my base and installed aggregator from
http://download.eclipse.org/modeling/emft/b3/updates-3.6/

The transformation of helios.build seemed to go well. (After I fixed one
contribution, so they all had distinct labels). Just the one file was
"transformed", helios.build to helios.b3aggr and it seemed to just
"pull in" all the data it needed, from the other .build files. That's
probably fine and well ... but did sort of expect it to "transform" them
all, and helios.build would still refer to individual ones by reference.
But ... that's a side issue that doesn't matter for now.

Now, next, is where I have some problems. Essentially I seem to always
get "Unable to load repository ...." messages.
If I 'build', 'verify', almost anything, I get that message .... and
always a different repository named.

At first I thought maybe I just needed to wait, and let it finish
downloading all the metadata it was obviously trying to download. (many
many jobs still running in progress view).
Eventually some red-X's showed up on some of the repos, and I could
click "reload repository" and the red-X would go away. But, still
'verify' or 'build' results in the "unable to load .... ".

So ... am I on right level? Is post M6 base required? If it "works for
you" I can hope a bug with the logs ... but, thought I'd report "first
experience" here, in case I'm way off base and going about it all wrong.

Much thanks,
Re: Helios release was successfully built with b3 aggregator [message #528030 is a reply to message #528024] Sun, 18 April 2010 18:32 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Thanks you for your first experience report!

The M6 base should be ok. However, a lot of refactoring has been done recently which means that I should retest everything from scratch (starting with clean M6 Eclipse IDE, installing the aggregator from current update site, and testing the helios.build which is quite different from my small testing samples...)

For headless run I realize that there may be problems before https://bugs.eclipse.org/bugs/show_bug.cgi?id=305863 is published (targeted to M7). But I don't think that there were any problems in the IDE.

I'll check it (very soon) and I will see if it now works for me or not (it used to work before but...)

Regarding the conversion - yes, the conversion does not automatically create referenced files but stores everything in one file. It is then possible to detach all contributions (on by one) manually in the editor (context menu -> Detach).
For testing purpose it is ok to run the aggregation from the single converted file, or using the on-the-fly conversion in headless mode. We can also consider automatic conversion into detached contributions but I am not sure if it is really necessary.

Filip

David Williams wrote:
> I took a few hours to start looking into this new aggregator.
> I wanted to get/see the IDE version first, before trying to do anything
> headless. I used 3.6 M6 as my base and installed aggregator from
> http://download.eclipse.org/modeling/emft/b3/updates-3.6/
>
> The transformation of helios.build seemed to go well. (After I fixed one
> contribution, so they all had distinct labels). Just the one file was
> "transformed", helios.build to helios.b3aggr and it seemed to just
> "pull in" all the data it needed, from the other .build files. That's
> probably fine and well ... but did sort of expect it to "transform" them
> all, and helios.build would still refer to individual ones by reference.
> But ... that's a side issue that doesn't matter for now.
>
> Now, next, is where I have some problems. Essentially I seem to always
> get "Unable to load repository ...." messages.
> If I 'build', 'verify', almost anything, I get that message .... and
> always a different repository named.
>
> At first I thought maybe I just needed to wait, and let it finish
> downloading all the metadata it was obviously trying to download. (many
> many jobs still running in progress view).
> Eventually some red-X's showed up on some of the repos, and I could
> click "reload repository" and the red-X would go away. But, still
> 'verify' or 'build' results in the "unable to load .... ".
>
> So ... am I on right level? Is post M6 base required? If it "works for
> you" I can hope a bug with the logs ... but, thought I'd report "first
> experience" here, in case I'm way off base and going about it all wrong.
>
> Much thanks,
Re: Helios release was successfully built with b3 aggregator [message #528451 is a reply to message #528030] Tue, 20 April 2010 10:36 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
I fixed (hopefully) all the bugs that prevented you from running the aggregator on the helios.build in M6 IDE.

Now I am building the update site (with some problems in the hudson build...). Once the site is ready,
I will retest everything once more in a fresh Eclipse IDE installation.

I still expect problems in the headless run for the bug in org.eclise.equinox.common. If it is really the case
I will provide a patch for the headless installation. From M7 on the problem should be gone.

Stay tuned, I'll let you know when everything works perfectly for me.

Filip


Filip Hrbek wrote:
> Thanks you for your first experience report!
>
> The M6 base should be ok. However, a lot of refactoring has been done
> recently which means that I should retest everything from scratch
> (starting with clean M6 Eclipse IDE, installing the aggregator from
> current update site, and testing the helios.build which is quite
> different from my small testing samples...)
>
> For headless run I realize that there may be problems before
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=305863 is published
> (targeted to M7). But I don't think that there were any problems in the
> IDE.
>
> I'll check it (very soon) and I will see if it now works for me or not
> (it used to work before but...)
>
> Regarding the conversion - yes, the conversion does not automatically
> create referenced files but stores everything in one file. It is then
> possible to detach all contributions (on by one) manually in the editor
> (context menu -> Detach).
> For testing purpose it is ok to run the aggregation from the single
> converted file, or using the on-the-fly conversion in headless mode. We
> can also consider automatic conversion into detached contributions but I
> am not sure if it is really necessary.
>
> Filip
>
> David Williams wrote:
>> I took a few hours to start looking into this new aggregator.
>> I wanted to get/see the IDE version first, before trying to do anything
>> headless. I used 3.6 M6 as my base and installed aggregator from
>> http://download.eclipse.org/modeling/emft/b3/updates-3.6/
>>
>> The transformation of helios.build seemed to go well. (After I fixed one
>> contribution, so they all had distinct labels). Just the one file was
>> "transformed", helios.build to helios.b3aggr and it seemed to just
>> "pull in" all the data it needed, from the other .build files. That's
>> probably fine and well ... but did sort of expect it to "transform" them
>> all, and helios.build would still refer to individual ones by reference.
>> But ... that's a side issue that doesn't matter for now.
>>
>> Now, next, is where I have some problems. Essentially I seem to always
>> get "Unable to load repository ...." messages.
>> If I 'build', 'verify', almost anything, I get that message .... and
>> always a different repository named.
>>
>> At first I thought maybe I just needed to wait, and let it finish
>> downloading all the metadata it was obviously trying to download. (many
>> many jobs still running in progress view).
>> Eventually some red-X's showed up on some of the repos, and I could
>> click "reload repository" and the red-X would go away. But, still
>> 'verify' or 'build' results in the "unable to load .... ".
>>
>> So ... am I on right level? Is post M6 base required? If it "works for
>> you" I can hope a bug with the logs ... but, thought I'd report "first
>> experience" here, in case I'm way off base and going about it all wrong.
>>
>> Much thanks,
>
Re: Helios release was successfully built with b3 aggregator [message #528923 is a reply to message #528451] Thu, 22 April 2010 08:11 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
David,

the update site is ready.

Sorry for the delay but we had some problems with hudson build at eclipse.

I tried to load, verify and build the whole helios in my Eclipse IDE. Everything worked fine.
I also tried to run a headless build which worked fine too in spite of that I expected possible problems in initial loading of the repositories.
If you get errors in headless mode while loading the repositories, let me know. Replacing the bundle org.eclipse.equinox.common with a newer version
should help.

Please, try it now and let me know if everything is ok.

Regards
Filip


Filip Hrbek wrote:
> I fixed (hopefully) all the bugs that prevented you from running the
> aggregator on the helios.build in M6 IDE.
>
> Now I am building the update site (with some problems in the hudson
> build...). Once the site is ready,
> I will retest everything once more in a fresh Eclipse IDE installation.
>
> I still expect problems in the headless run for the bug in
> org.eclise.equinox.common. If it is really the case
> I will provide a patch for the headless installation. From M7 on the
> problem should be gone.
>
> Stay tuned, I'll let you know when everything works perfectly for me.
>
> Filip
>
>
> Filip Hrbek wrote:
>> Thanks you for your first experience report!
>>
>> The M6 base should be ok. However, a lot of refactoring has been done
>> recently which means that I should retest everything from scratch
>> (starting with clean M6 Eclipse IDE, installing the aggregator from
>> current update site, and testing the helios.build which is quite
>> different from my small testing samples...)
>>
>> For headless run I realize that there may be problems before
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=305863 is published
>> (targeted to M7). But I don't think that there were any problems in the
>> IDE.
>>
>> I'll check it (very soon) and I will see if it now works for me or not
>> (it used to work before but...)
>>
>> Regarding the conversion - yes, the conversion does not automatically
>> create referenced files but stores everything in one file. It is then
>> possible to detach all contributions (on by one) manually in the editor
>> (context menu -> Detach).
>> For testing purpose it is ok to run the aggregation from the single
>> converted file, or using the on-the-fly conversion in headless mode. We
>> can also consider automatic conversion into detached contributions but I
>> am not sure if it is really necessary.
>>
>> Filip
>>
>> David Williams wrote:
>>> I took a few hours to start looking into this new aggregator.
>>> I wanted to get/see the IDE version first, before trying to do anything
>>> headless. I used 3.6 M6 as my base and installed aggregator from
>>> http://download.eclipse.org/modeling/emft/b3/updates-3.6/
>>>
>>> The transformation of helios.build seemed to go well. (After I fixed one
>>> contribution, so they all had distinct labels). Just the one file was
>>> "transformed", helios.build to helios.b3aggr and it seemed to just
>>> "pull in" all the data it needed, from the other .build files. That's
>>> probably fine and well ... but did sort of expect it to "transform" them
>>> all, and helios.build would still refer to individual ones by reference.
>>> But ... that's a side issue that doesn't matter for now.
>>>
>>> Now, next, is where I have some problems. Essentially I seem to always
>>> get "Unable to load repository ...." messages.
>>> If I 'build', 'verify', almost anything, I get that message .... and
>>> always a different repository named.
>>>
>>> At first I thought maybe I just needed to wait, and let it finish
>>> downloading all the metadata it was obviously trying to download. (many
>>> many jobs still running in progress view).
>>> Eventually some red-X's showed up on some of the repos, and I could
>>> click "reload repository" and the red-X would go away. But, still
>>> 'verify' or 'build' results in the "unable to load .... ".
>>>
>>> So ... am I on right level? Is post M6 base required? If it "works for
>>> you" I can hope a bug with the logs ... but, thought I'd report "first
>>> experience" here, in case I'm way off base and going about it all wrong.
>>>
>>> Much thanks,
>>
>
Re: Helios release was successfully built with b3 aggregator [message #529493 is a reply to message #528923] Mon, 26 April 2010 02:45 Go to previous messageGo to next message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> David,
>
> the update site is ready.
>

I had success ... at least at trying it out. Seemed to work in my
workspace (but, didn't really check the results, just saying it ran).

But, headless, I had more trouble.

But first the small things

What happened to following options? Are there other ways to specify
them? As part of model? I'm just curious at this point, but suspect I'll
need to know more detail later.

-packedStrategy copy
-trustedContributions Eclipse,Equinox
-logLevel DEBUG

Is there a "how to use" wiki, like the galileo builder?
http://wiki.eclipse.org/Buckminster_Galileo_Builder
I've lost the link if so, but might be nice to describe "what's
different" from previous builder.

Ok, worse, I could not get the batch version to install. Either your
repo has changed from the directions I got, or, more likely, I didn't
understand your directions. Is is supposed to be installed into an
existing Eclipse? Or as a stand-alone product? Here's some console log,
if that helps you figure out what mistake I'm making. It ends with
"unable to load repository" ... but ... nothings obviously wrong, the
little bit I looked.



Configuration location:
file:/home/shared/helios/prereqs/eclipse/configuration/
Framework located:

file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
Framework classpath:

file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
Debug options:
file:/home/shared/helios/org.eclipse.helios.tools/.options not found
Time to load bundles: 10
Starting application: 2363
!SESSION 2010-04-26 02:47:52.377
-----------------------------------------------
eclipse.buildId=I20100312-1448
java.fullversion=J2RE 1.6.0 IBM J9 2.4 Linux x86-32
jvmxi3260-20081105_25433 (JIT enabled, AOT enabled)
J9VM - 20081105_025433_lHdSMr
JIT - r9_20081031_1330
GC - 20081027_AB
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -application org.eclipse.equinox.p2.director
-repository http://download.eclipse.org/modeling/emft/b3/headless-3.6/
-d /home/shared/helios/prereqs/eclipse -p b3 -i
org.eclipse.b3.cli.product -i
org.eclipse.b3.aggregator.engine.feature.feature.group
Command-line arguments: -os linux -ws gtk -arch x86 -consolelog -data
../workspace-getAggregator -debug -application
org.eclipse.equinox.p2.director -repository
http://download.eclipse.org/modeling/emft/b3/headless-3.6/ -d
/home/shared/helios/prereqs/eclipse -p b3 -i org.eclipse.b3.cli.product
-i org.eclipse.b3.aggregator.engine.feature.feature.group

!ENTRY org.eclipse.equinox.p2.artifact.repository 4 1000 2010-04-26
02:47:57.185
!MESSAGE No repository found at
http://download.eclipse.org/modeling/emft/b3/headless-3.6/

!ENTRY org.eclipse.equinox.p2.repository 4 1002 2010-04-26 02:47:57.808
!MESSAGE Unable to read repository at
http://download.eclipse.org/modeling/emft/b3/headless-3.6/co ntent.jar
!STACK 0
java.util.NoSuchElementException
at java.util.TreeMap.firstKey(TreeMap.java:4251)
at java.util.TreeMap$NavigableSubMap.values(TreeMap.java:3042)
at
org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.getRecentSpeed(ProgressStatistics.java:101)
at
org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.report(ProgressStatistics.java:126)
at
org.eclipse.equinox.internal.p2.repository.FileReader.handle TransferEvent(FileReader.java:156)
at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.fireReceiveStartEvent(AbstractRetrieveFileTr ansfer.java:660)
at
org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientR etrieveFileTransfer.openStreams(HttpClientRetrieveFileTransf er.java:715)
at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:878)
at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:565)
at
org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocol RetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAda pter.java:98)
at
org.eclipse.equinox.internal.p2.repository.FileReader.sendRe trieveRequest(FileReader.java:336)
at
org.eclipse.equinox.internal.p2.repository.FileReader.readIn to(FileReader.java:282)
at
org.eclipse.equinox.internal.p2.repository.RepositoryTranspo rt.download(RepositoryTransport.java:71)
at
org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.updateCache(CacheManager.java:406)
at
org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.createCache(CacheManager.java:208)
at
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.getLocalFile(SimpleMetadataRepositor yFactory.java:63)
at
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.load(SimpleMetadataRepositoryFactory .java:85)
at
org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.factoryLoad(MetadataRepositoryManager.java :57)
at
org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:713)
at
org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:661)
at
org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:96)
at
org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:92)
at
org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.initializeRepositories(DirectorApplication.java:394)
at
org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.run(DirectorApplication.java:769)
at
org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.start(DirectorApplication.java:913)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:45)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1406)
Installation failed.
Unable to load repositories.
Application failed, log file location:
/home/shared/helios/org.eclipse.helios.tools/workspace-getAg gregator/.metadata/.log

!ENTRY org.eclipse.equinox.p2.core 4 0 2010-04-26 02:48:54.989
!MESSAGE Unable to load repositories.
Re: Helios release was successfully built with b3 aggregator [message #529550 is a reply to message #529493] Mon, 26 April 2010 06:45 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
David,

see comments inside.

Filip

David Williams wrote:
> Filip Hrbek wrote:
>
> What happened to following options? Are there other ways to specify
> them? As part of model? I'm just curious at this point, but suspect I'll
> need to know more detail later.
>
> -packedStrategy copy
This can be set in the model on the top node (Aggregator).


> -trustedContributions Eclipse,Equinox
This can be set in the model on each mapped repository (property "Mirror Artifacts", change value to false).

Using these options needs converting the model first and then modifying appropriate properties (currently there's no way of running it in the on-the-fly conversion mode).

> -logLevel DEBUG
Currently the standard Eclipse logger is used. No logging output is provided to the console unless "-consoleLog" option is used.
This may change in future since (at least in my view) it would be useful to provide filtered output to the console (as it used to be with the buckminster logger).


>
> Is there a "how to use" wiki, like the galileo builder?
> http://wiki.eclipse.org/Buckminster_Galileo_Builder
> I've lost the link if so, but might be nice to describe "what's
> different" from previous builder.
This is our debt. There's a new wiki page but it is under construction (with contents only copied from the Galileo Builder but not updated).


>
> Ok, worse, I could not get the batch version to install. Either your
> repo has changed from the directions I got, or, more likely, I didn't
> understand your directions. Is is supposed to be installed into an
> existing Eclipse? Or as a stand-alone product? Here's some console log,
> if that helps you figure out what mistake I'm making. It ends with
> "unable to load repository" ... but ... nothings obviously wrong, the
> little bit I looked.
>

I think that you understand my directions. The b3 aggregator is a standalone product, there's no need to pre-install Eclipse at all.
I can't reproduce the error though. The repository exists and I am able to install the headless aggregator from it.
I looked into the java source code where it crashes (TreeMap.java) but it is completely different from yours (much less lines in Sun's implementation), so perhaps this is an IBM java specific problem.
Are you able to install anything else than b3 aggregator with the director application?

>
>
> Configuration location:
> file:/home/shared/helios/prereqs/eclipse/configuration/
> Framework located:
>
> file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
>
> Framework classpath:
>
> file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
>
> Debug options:
> file:/home/shared/helios/org.eclipse.helios.tools/.options not found
> Time to load bundles: 10
> Starting application: 2363
> !SESSION 2010-04-26 02:47:52.377
> -----------------------------------------------
> eclipse.buildId=I20100312-1448
> java.fullversion=J2RE 1.6.0 IBM J9 2.4 Linux x86-32
> jvmxi3260-20081105_25433 (JIT enabled, AOT enabled)
> J9VM - 20081105_025433_lHdSMr
> JIT - r9_20081031_1330
> GC - 20081027_AB
> BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
> Framework arguments: -application org.eclipse.equinox.p2.director
> -repository http://download.eclipse.org/modeling/emft/b3/headless-3.6/
> -d /home/shared/helios/prereqs/eclipse -p b3 -i
> org.eclipse.b3.cli.product -i
> org.eclipse.b3.aggregator.engine.feature.feature.group
> Command-line arguments: -os linux -ws gtk -arch x86 -consolelog -data
> ./workspace-getAggregator -debug -application
> org.eclipse.equinox.p2.director -repository
> http://download.eclipse.org/modeling/emft/b3/headless-3.6/ -d
> /home/shared/helios/prereqs/eclipse -p b3 -i org.eclipse.b3.cli.product
> -i org.eclipse.b3.aggregator.engine.feature.feature.group
>
> !ENTRY org.eclipse.equinox.p2.artifact.repository 4 1000 2010-04-26
> 02:47:57.185
> !MESSAGE No repository found at
> http://download.eclipse.org/modeling/emft/b3/headless-3.6/
>
> !ENTRY org.eclipse.equinox.p2.repository 4 1002 2010-04-26 02:47:57.808
> !MESSAGE Unable to read repository at
> http://download.eclipse.org/modeling/emft/b3/headless-3.6/co ntent.jar
> !STACK 0
> java.util.NoSuchElementException
> at java.util.TreeMap.firstKey(TreeMap.java:4251)
> at java.util.TreeMap$NavigableSubMap.values(TreeMap.java:3042)
> at
> org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.getRecentSpeed(ProgressStatistics.java:101)
>
> at
> org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.report(ProgressStatistics.java:126)
>
> at
> org.eclipse.equinox.internal.p2.repository.FileReader.handle TransferEvent(FileReader.java:156)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.fireReceiveStartEvent(AbstractRetrieveFileTr ansfer.java:660)
>
> at
> org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientR etrieveFileTransfer.openStreams(HttpClientRetrieveFileTransf er.java:715)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:878)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:565)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocol RetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAda pter.java:98)
>
> at
> org.eclipse.equinox.internal.p2.repository.FileReader.sendRe trieveRequest(FileReader.java:336)
>
> at
> org.eclipse.equinox.internal.p2.repository.FileReader.readIn to(FileReader.java:282)
>
> at
> org.eclipse.equinox.internal.p2.repository.RepositoryTranspo rt.download(RepositoryTransport.java:71)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.updateCache(CacheManager.java:406)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.createCache(CacheManager.java:208)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.getLocalFile(SimpleMetadataRepositor yFactory.java:63)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.load(SimpleMetadataRepositoryFactory .java:85)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.factoryLoad(MetadataRepositoryManager.java :57)
>
> at
> org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:713)
>
> at
> org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:661)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:96)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:92)
>
> at
> org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.initializeRepositories(DirectorApplication.java:394)
>
> at
> org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.run(DirectorApplication.java:769)
>
> at
> org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.start(DirectorApplication.java:913)
>
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:196)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:45)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:37)
>
> at java.lang.reflect.Method.invoke(Method.java:599)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1406)
> Installation failed.
> Unable to load repositories.
> Application failed, log file location:
> /home/shared/helios/org.eclipse.helios.tools/workspace-getAg gregator/.metadata/.log
>
>
> !ENTRY org.eclipse.equinox.p2.core 4 0 2010-04-26 02:48:54.989
> !MESSAGE Unable to load repositories.
Re: Helios release was successfully built with b3 aggregator [message #529581 is a reply to message #529550] Mon, 26 April 2010 09:28 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
I will add backward compatibility support for -packedStrategy and -trustedContribution options. If present, they will override persistent model settings.

I'll let you know when it's ready on our update site.

Filip

Filip Hrbek wrote:
> David,
>
> see comments inside.
>
> Filip
>
> David Williams wrote:
>> Filip Hrbek wrote:
>>
>> What happened to following options? Are there other ways to specify
>> them? As part of model? I'm just curious at this point, but suspect I'll
>> need to know more detail later.
>>
>> -packedStrategy copy
> This can be set in the model on the top node (Aggregator).
>
>
>> -trustedContributions Eclipse,Equinox
> This can be set in the model on each mapped repository (property "Mirror
> Artifacts", change value to false).
>
> Using these options needs converting the model first and then modifying
> appropriate properties (currently there's no way of running it in the
> on-the-fly conversion mode).
>
Re: Helios release was successfully built with b3 aggregator [message #529609 is a reply to message #529550] Mon, 26 April 2010 10:15 Go to previous messageGo to next message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
>
> I think that you understand my directions. The b3 aggregator is a
> standalone product, there's no need to pre-install Eclipse at all.
> I can't reproduce the error though. The repository exists and I am able
> to install the headless aggregator from it.
> I looked into the java source code where it crashes (TreeMap.java) but
> it is completely different from yours (much less lines in Sun's
> implementation), so perhaps this is an IBM java specific problem.
> Are you able to install anything else than b3 aggregator with the
> director application?
>

Since you mentioned "VM" I noticed I was using Java 6, I dropped
back to Java 5, and I don't get the same error, but ... seems
to hang, not literally, but its been running for a hour without
completing :(

I opened bug 310456
https://bugs.eclipse.org/bugs/show_bug.cgi?id=310456
to capture some stack traces ... but, I'll try other VMs
later today ... maybe a more recent version of Eclipse.
Re: Helios release was successfully built with b3 aggregator [message #529708 is a reply to message #529609] Mon, 26 April 2010 16:23 Go to previous messageGo to next message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
I finally got b3 installed. When I invoke just "b3" I get

java.lang.IllegalStateException: Unable to acquire application service.
Ensure that the org.eclipse.core.runtime bundle is resolved and started
(see config.ini).

I notice in your b3.bat file, you directly launch from equinox launcher.
Would that matter? I haven't tried it yet, I'm just curious as I don't
recall seeing that _required_ before ... so, partially just curious.
Re: Helios release was successfully built with b3 aggregator [message #529808 is a reply to message #529708] Tue, 27 April 2010 06:16 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
The update site is now ready and contains following enhancements:

1) Backward compatibility support for --trustedContributions and --packedStrategy options (now with double dashes though)
2) Support for logging to console controllable with option --logLevel (and logging to eclipse log controllable with option --eclipseLogLevel)

Use "b3 aggregate" to see all available option.

Regarding IllegalStateException, I have no idea what it is. It works for me on 3 different computers (Windows XP, CentOS, and even on Eclipse Build machine in my home directory).

What does your eclipse log (in configuration folder) say?

What happens if you run

b3 -console -noexit

and then you list bundles with "ss"?


Regarding the "b3[.bat]" script, the idea is taken from buckminster. It provides better control over what happens if you launch the product and it also provides more convenient environment on windows (unlike eclipse.exe or eclipsec.exe it is strictly headless).
Notice that the launcher is executed with java that is mapped to the "java" command in your command line. Which version of java are you using?

Filip

David Williams wrote:
>
> I finally got b3 installed. When I invoke just "b3" I get
>
> java.lang.IllegalStateException: Unable to acquire application service.
> Ensure that the org.eclipse.core.runtime bundle is resolved and started
> (see config.ini).
>
> I notice in your b3.bat file, you directly launch from equinox launcher.
> Would that matter? I haven't tried it yet, I'm just curious as I don't
> recall seeing that _required_ before ... so, partially just curious.
>
>
Re: Helios release was successfully built with b3 aggregator [message #529923 is a reply to message #529808] Tue, 27 April 2010 12:58 Go to previous messageGo to next message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> The update site is now ready and contains following enhancements:
>

Great, thanks for making these quick improvements.

>
> What does your eclipse log (in configuration folder) say?
>
> What happens if you run
>
> b3 -console -noexit
>
> and then you list bundles with "ss"?
>

Rather than paste here, I'll open a bug.

Not that it is a bug ... just seems a better place
to document long lists and debug output.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=310666

Probably some obvious setup/config issues I'm missing/forgetting about.
Re: Helios release was successfully built with b3 aggregator [message #530128 is a reply to message #529923] Wed, 28 April 2010 10:56 Go to previous messageGo to next message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
So, when you switched the director application, does it work now? Are there any new issues?

I've just tried to verify the build model (which is a few days old though) and it looks good (all repositories are reachable/readable and the verification succeeded).

Filip

David Williams wrote:
> Filip Hrbek wrote:
>> The update site is now ready and contains following enhancements:
>>
>
> Great, thanks for making these quick improvements.
>
>>
>> What does your eclipse log (in configuration folder) say?
>>
>> What happens if you run
>>
>> b3 -console -noexit
>>
>> and then you list bundles with "ss"?
>>
>
> Rather than paste here, I'll open a bug.
>
> Not that it is a bug ... just seems a better place
> to document long lists and debug output.
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=310666
>
> Probably some obvious setup/config issues I'm missing/forgetting about.
Re: Helios release was successfully built with b3 aggregator [message #530215 is a reply to message #530128] Wed, 28 April 2010 16:49 Go to previous message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> So, when you switched the director application, does it work now? Are
> there any new issues?
>
> I've just tried to verify the build model (which is a few days old
> though) and it looks good (all repositories are reachable/readable and
> the verification succeeded).
>
> Filip
>

Its working well enough to give me error messages! :)

The "old" builder had succeeded a few hours earlier, so not sure if
something has changed ... or, if there's something special about
"emf.rap"? I didn't investigate. I'll need to set things up so I do both
build, close in time, (or ... in parallel?) to make sure I'm getting the
same build files, and hitting the same repositories ... and might be end
of week before I can get back to it. Just wanted to let you know there
was progress, and I'm not waiting on you. Thanks much for your help
and quick turn around.

= = = =

Build failed! Exception was org.eclipse.core.runtime.CoreException:
Cannot complete the install because one or more required items could not
be found.
Cannot complete the install because one or more required items could not
be found.
[0]Software being installed: all.contributed.content.feature.group 1.0.0
[0]Missing requirement: all.contributed.content.feature.group 1.0.0
requires 'org.eclipse.emf.rap.sdk.feature.group
2.6.0.v201003151457-7P84-F9SxVAMWNJdU0DxEaXUfez0' but it could not be found
Re: Helios release was successfully built with b3 aggregator [message #600301 is a reply to message #517465] Sun, 28 February 2010 07:41 Go to previous message
Henrik Lindberg is currently offline Henrik Lindberg
Messages: 2499
Registered: July 2009
Senior Member
Cool!
Congrats
- Henrik

Filip Hrbek <filip.hrbek@cloudsmith.com> wrote:
> Hi all,
>
> FYI, we succeeded in converting the "galileo builder" files for Helios
> into the new "b3 aggregator" format and building the Helios repository
> aggregation on our testing machine :-)
>
> Filip
>


--
- henrik
Re: Helios release was successfully built with b3 aggregator [message #602653 is a reply to message #517465] Fri, 12 March 2010 00:37 Go to previous message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> Hi all,
>
> FYI, we succeeded in converting the "galileo builder" files for Helios
> into the new "b3 aggregator" format and building the Helios repository
> aggregation on our testing machine :-)
>
> Filip

This is cool. Any place to see the "converted" files? I'm curious how
different they are? Will string replacements do it? Or is it a DOM
restructure?

What's next? I think I heard there were plans to do the conversion "on
the fly" (so existing .build files could be used, as a transition). Any
truth to that? If so, any outlook?

At this point, I'm mostly interested in see how it works, experimenting,
playing, and testing various things. Any concrete suggestions on how to
get started? (Or, I should say, how to get current).

Thanks,
Re: Helios release was successfully built with b3 aggregator [message #602657 is a reply to message #520361] Fri, 12 March 2010 03:45 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080209040903070004070506
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 7bit

Hi David,

I am including a sample of the latest converted helios build files (from Mar 11th).

I am afraid that it would be rather difficult to define the conversion by string replacements. The new DOM structure is a little bit different.

Regarding the conversion on the fly - that's not possible now. We provide an interactive wizard in the UI instead.

Before converting the files, we must manually modify a label in one of the EMFT contribution (not sure which one now) to make the labels unique.
When the file is converted, we detach one contribution after another into separate files using the context menu and "Detach resource" option.

Well, not trivial but doable. It would be ideal to make it once and then keep the contributions updated in the new format.

You can start playing with it.

You can download it from

http://download.eclipse.org/modeling/emft/b3/updates-3.6 (for IDE) or
http://download.eclipse.org/modeling/emft/b3/headless-3.6 (for headless b3)

To install headless b3 aggregator, use

director -r http://download.eclipse.org/modeling/emft/b3/headless-3.6 -d <destination folder> -p b3 -i org.eclipse.b3.cli.product -i org.eclipse.b3.aggregator.engine.feature.feature.group

Current update sites are built with the integration build from Mar 11th (I hope that I20100311-0100 is correct).
Once the next milestone is out, I'll freeze the build on it to make it more stable.

I am ready to help you!

Regards
Filip


David Williams wrote:
> Filip Hrbek wrote:
>> Hi all,
>>
>> FYI, we succeeded in converting the "galileo builder" files for Helios
>> into the new "b3 aggregator" format and building the Helios repository
>> aggregation on our testing machine :-)
>>
>> Filip
>
> This is cool. Any place to see the "converted" files? I'm curious how
> different they are? Will string replacements do it? Or is it a DOM
> restructure?
>
> What's next? I think I heard there were plans to do the conversion "on
> the fly" (so existing .build files could be used, as a transition). Any
> truth to that? If so, any outlook?
>
> At this point, I'm mostly interested in see how it works, experimenting,
> playing, and testing various things. Any concrete suggestions on how to
> get started? (Or, I should say, how to get current).
>
> Thanks,

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

UEsDBBQAAgAIAEBaazzfmwCvjwEAAGcEAAAVAAAAaGVsaW9zLkFDVEYuYjNh Z2dyY29u3ZQx
b9swEIX3AvkPAoPCG0nJQwtDalIYSOChQJFmCBB0oKgzzYbkCSQVpf31PdmW 3QxZurWbQL57
730HUPXVi3fFM8RkMTSs5JIVEDR2NpiGff623mzY1aeLd7UyJoJRGeNqjSFH 2w6ZRooXb1en
8WoaJ8OQVnTesF3O/UqIcRw5esMxGvHwZTNLzpavlKCd7RPs1e1SVLKU4iwV VHFKcaoFRw3X
9zeM+hVFHaHHZEliIRUOtcr7TkfnDsfgUHWv7DPoXUCH5qdQOm+F5B+Ftw5S xgBJsKKDpKPt
D05TVnG+PsRS8BZUHiKFBuWhYWR8Cplc+bNNg3L2174QT90TP05wE3Ho2bz+ OxUMzUv+gVf8
buKWlVyWsiznKAojLDAHxl2ELfGBs5h4u5x2dCnEtR6on1+fdI+2g5Dt1kJs FrcQICr3vpJf
h0j7Avq6R3Rp8Z2JGUjMRH9HOFjed/n/hxzTPwZZiz/fyOFI02MmvLc7HO8f wSvrmsUTNVAE
e/2j57b1XKM/BtbijX8E3f0GUEsDBBQAAgAIAEBaazxvyXYZfwEAAKcCAAAY AAAAaGVsaW9z
LkFtYWxnYW0uYjNhZ2dyY29udVJNbxshEL1X6n9A9OCTYe3EaWJ5m8Q++eBK SQ6tFPXAwpgg
AbMCNk7/fcfeXac5RNyYN+8LVrdvwbNXSNlhrPlMVJxB1GhctDW/f9pst/z2 x9cvK2VtAqsK
puUGY0mu6QqtsLfgluf1+XGdCGNe0n3NX0ppl1IeDgeBwQpMVv7ebUfIO+UH JGjv2gwndHMh
59Wsku9QSRaPKl414MlhUN6qwMkiY6sELWZHKAeZedSqnGwN5AYP0aMyHxQC GvAUVqqeSXat
UQWyzEU1HiRnBrJOru2pBj32dJqynfOQC0bIvQPysAdVukT6UQWoOWmc9QYJ YVzWSKX9FQNY
2IRdy8d3eFTRwukx6LweC6hm85vq+/xqejmd3uB6cb1YXK9/LR7WP0ddUqa4 YPvsLwn2lJuS
YRbNxbG+b1Le6Y7Mhs0Z9+wMxOL2DlI92Q1NTP5wOYaRY5q+X/l/wf2Vps+g dPlccpg/Q1DO
1xMNJjktmtTFO2wAxT4Ngiv5yR+j2T9QSwMEFAACAAgAQFprPLgta2zGDQAA xl8AAA0AAABo
ZWxpb3MuYjNhZ2dy7Vzfc+I4En6/qvsfVNzDztZkzECSmdmpyR0EmExmQsIG dpO9qytKtoXR
YEs+SYaQv/5aNsEEDMZYk33ZlwS33Z9+tb7ulmR/+tdD4KMpEZJydlapWW8r iDCHu5R5Z5Vm
v3V5WfnXP//+t0/Y8wTxsOLiY3P5Ez0E9ONSua6VAY7JjyA/q4yVCj9Wq7PZ zOKBZ3HhVe+7
l0+PpIDPniSOT0NJ4qft42r9be1tNX20ChXUpdgR9d0AS0VAu1ptOJwp7Cj5 HxJg6p/95OIp
dYcz6vsUB7IRSYvageXw4Kf/VpCPbeKfVb4Qn3K5wLrlXAESD1U1jGyfOtVx fLsa3xVERr6C
ZyVhblxCRYmIVJCah+SsclmBHkLoE9RiRL1IYAX9IREPif7JvP4cKhqcVQLs cPlQQTPKXD57
kjrc4bhSLQ+BsHDGVBFHRQJq9fDh3fDdyb7APmXRBq6nJqX112oVho5pyJ0N 3f/RVKgEtaNE
fSzICOwztgWr87+IMv5g2cfaIuHBf1Qre2gtLLqgVvfz8FWLC/JzUcXW54Ia 3fZgeN9vF9S6
6BQtpxlg38NB8Y4YDFs33V7ztlO0YfXusDm4Kqj16++DwuUMhl87g0Ma1r28 PkzvrmhntLHC
A859WVDvjtiHqHXn/pwV1Gm1i/ZFu9/uDQfdw7SKGsZXPMXDOy4mI5/PhrpT gKyKFn01+DYE
R9k9Kah42+wV1OhHduyap0Wpp9kaFJ3anV5v+Fu7VVDrPHImAWXaix/Ajq32 zWFMfEXZ5IDy
Bp3rTtESzy9vC5MJCbiYD5sM+/NHIoavus1BUR8w6A16BziB37pX9QPUblpX w2OIyw7o0tvm
dR/M7fLm+gDt35tXl+3mgcq//ta5/eMAnm+2Wp2rwnZw0f18QFn3veZ1+xDv cHnd7twXtRno
lPtB5/4gCu4OvhZlpxkX7ojKcUG9XmEfUXwu9AtrdB4UZAbEHXZcqkPY4WeB AwJNnAxfdTqf
i87fKx35Dg9yu7xNpcOLVv+CqqL+iBKGt+noVAwx6IGzyjcaoC6nAtLKJHGa BHDVcPBTRrZF
D+wYnevcCw0IDpbacWIHGV2uft/hSqErMqNyqSx9fQnJYhByyOTUDnWIbrOK x0yNOZuP88vf
AkCFHfl+Y5HlSh4JhxxQDZvPJzy/EouIOwvCIa6gjmWLiDW4Tbg1EltAIIpG EEVngSwSbCuk
EGjkwNxil0xQe8oFnqTDGV9aQt9reFq2a0iJ8Mgcneu2p2OadIXNhY+Zu0Mb CBVBkJ7VjJD4
LtnPJgdIR+yZIIzABBHJ0CrqYF/ykZphQXIR7zqZg+z75M2ENiB7Dai0XLIF 455iPgfOQRfR
UvfBixrwSITVrtL/4KD1lWLmLRXn3/XlHrptPRHR3WKF5fn8zFp42TYqdIK+ gfEAfS4xAjqx
JomsobCcKB7usgpFRiPCUA+6gPipXSRiME0t3gPndzqFpqNvfKU3pnQ6get8 y2jzyEN9Z4zJ
iKRU58qFpCG4Bw3K7c72fCIVThvhJtcwHIFeENvWh1iAz0E3NhHjyF4pP4hv WPzpRkMvpQhI
CMSuEcGRgO48hz9sBWskwvcnx42AKy64j3c2hVHio3MsbP6IEXhC5qTzlU2m 3ruTfXA6wE+o
5XOmRzCtCAGxs49+ayyoVHpM+xi7qWHARYOyERcBVmBpEaNvcORJOxLe9kmm 87bsSUoeGg9c
kF3Us1UZRoPMc9VvsT9CYOaCwRimxqknSCLa253cRsSl0JnoCxHQfJbOOTFe SPbGuvS4gEYJ
6qeDS0Fm2bGsEcLoCIgbdhjuN/DBWPAIfY4mkYvTEGEhb3wPc+bdHZ4zgs4J Vjxty0wLGysL
ydvnzSSS6BvD0eqkmcTXe/fDYMwDLNEXoGtPrLCYiuVAPC62JNkR5UAem2Uc MLphqOshnTeM
qO2mGc+TC5jaz6aI5YGkAd7V8XMcEIoT26wqBAoD+RBfE8b2brwjDIjWQ1c0 HQGf7uFCmtr8
oevOI2e80nE4EYMdaXFD4nAnSUAzEYykB6GdAr5d6QS4YwXpnRykrxxIq6VN Zwnx3YktKZf9
IQlGOnfO6sPvEGE5k/0wIJHOgmgCx0CnwCBcei72+TQ3UuosPDNLIy3iNmaJ yAqIFU122UOa
lWdVB0ItCEc8EUGfQuS1u1cvInBgU45cgno48tM57iU3LMgmMOO5LWpT4nEg cuau2LmrhTKW
5QLc+NrvoTvuj5b6PJZZM5A1ZLz9sH2W/VtyXwHTcDWev+mscN6jvmHZyQ0C xJeHBBlsVrcK
Pm88kp0h7BbNgOoww8/TvhDEQ3dYyRWq9KxZLIhzokjtnOfnRI3RgNo2VSoN +NRCkB/q3VAJ
U/VLJHwyT4dgHF83QoiQBJGysL4WWguQPBtoMsUp+IsBj/yArCZ1WtzwI4bF G+4QzHbHm+EY
A0pb4JDg6Blh6xuWm9zIyYc62andEsXmmv9UDkrMoTN0A3Y8BjtM+2UhaEBo Mca7Ml3NLuhb
JBSe8GnaJ5NEkq9/TR3w9MDigqdWwWy4sgKK85O6MZ5B8E4weNm0E3jY8Dj3 drquOL5DTUbl
o/M4T5nOwU+i3MK7WKkxhcr3+Xgl/1hILQnSHH5Lg8wWDsKUFZZyK5bH84vw EBq0wgtAgTxo
gZOEsIkSiagLgQ8dUb2p3eUu0fsLy+3qVOBCSCB0jqk33WMxiEaUUS05Qg54 z+QXMCOCmI6G
QLxagkZPq1ISvSKWZyGg+yPtdo7Qhf4Fqb7+M/g5VoVkAWoo5ijQZTypgKM7 gkQaHrzvt3+2
kq1vaM0ISoXMYa9tzCqYVcglVXG7rbfVxpO29XbRO1sRM3Yry8CtrcyWrdn6 EnpZvIy19TKQ
Oxbdy8Jmr8aXRd1Ypi/VoZv7tGXhMrYDykCu7T2Xq93G5ndpy1nfASsDmLnf UHY4NnZMSjZ5
Y6O9NN7G1kwZxIwTFaUrmHHUonwnrp1yKGuIa1u/LwdXMwtXz7Xpze2cUlOk EJzh2uX3XYFN
tJeksqeKf6quR2x7xHE9ndjgINAL9FeYeRH2iFwGdVvuPovw4m1ApDjCvs9n cG8KWWYYQBFo
RiElkyFxoDAHMBcAR0hC7oAgrtVHVuJYrvX6dV6ktnlMbUefHOd18tpZnjJ2 kXUCaQfee8N4
H/Lw1jaYd0Cd5EFt2fgtY+3FIWvmIX/Jg8w+F1WmkoUR68YRj40j5hpQr13U 0R7EajCFIP/T
maAml5hlOh3UTqlpyXB7PJnNdtCgMMllCZoRG+Ew9KmTHNU9gtzU8SN9SD2G 7Mf6i3Lu+/Gf
9hH6Moivk3+tfh/y1n7vCHW+ngMCVEwSMaWO5su4br0mlAulV4zSx1vDdGSa LuuG8Y4N450a
xnv30u6m+JR8Mc9VEC+XfdYOqb7krDAOaHqe1UxPtJrpmVY7MQ1oeu7WTE/e 2vsyXlAfqbex
JJmOL/tmtq+Ll29J7IWwAw5JIgyxvUvQFEOhao74CLkLPJm35Jp50L/MVCwK WCpfGhCp4o7o
ERGf0WB6X2DRp9k3M/o0ksTVHUuDUPApQQoUdbCgdcNUN68rB/uH9vnrXftj 1Qxi1Q1iHRvE
OjGIdWoQ65355OfYPOSpecgPPyCR/BHJ6Q/ITpeu+SDG6nKb+gl5A9VDPpHp DnKe2sFhiwUf
FKQIboKwmhLleoXNN6VK+YRCcDWzcPW94NbeSSjd2v3xaobx6nt235Xh0b0y 1d79FwMNriue
mIM6NTygx2X4psV94BSevLW85Jc1aXacOeL6zChyVp9FNlEzQtgTz+hzykaX inOtY+NV0VJb
HAXAjNasbhLs2CTYiUmwU5Ng70yCvTcJlhsNZb9dW8ZyCyPmGsnapwBKeYSi K9W5Q7v+zlmp
ncP9sUote18QRgT2US8S+g0yFBPrkoK33M2i4jFWyMGae5Mwz55nZfx7E/L6 G9ulzhTsj1Uz
iJVLn1teFi/T1OKQNfOQP6Dh+cRQyIHn1jD3wwgvl2m8eOJSlBfzTydsfkqh VDyU9zmBPwu8
9iccfzR+5szg3o7B5UGDq4MGFweLr8vUzUP+gBMYP2DF8L1ZAj8xS4rmjzWc mveBJ+Ysu1TI
2L9pZq4HbsgzwsQRF2jlOQgEc+LAvrntir45Ouqbo6O+OTrqm9uq6Jvbqeib 26jYH+q9OagP
5qB+MWiiJs09396zPm3zo/hl4QluB2igX3VVqOdjpfc3UUt/5oTBk2mGut/D z5loTCWkqnHZ
87RkGSeqPJJogYkUccaM+9ybJ+mtVuNBwJk/T3JcypCIQDsgSDqEaXWgOMED dNvq6dVJEtjE
dZNND300iwgkoUALDcYEOcsKaiD1rFZYEBAmh4e1MmTV+AloziOx3tojJLAa AzxUlCVPXLY7
eUn2xhdvSkX5m5+SLAWX/WWzl4WsmYesm4c8Ng95Yh7y9AXX9naf2qoVihoK Up9xLq2bBjw2
O5PzF5DWvhhYJgIowlilDu2cR5IyfWzpEljY96lHmEOO0C0UJpbnblrj+HM0 6RutBbWyt7Sm
VEbYp4/aAyy+6bJ8CZbEh6bexJ+8YfEh4jB5PaLX/oxc7kRB7E90MTz2B/rl Xv1eha6YFysn
DmpzbTb5LEjuwmyB0Xxr0DJMWlndINaxQawTg1inZYw/Tu/XtgKeyZ4Z7sqd OL9rVVuvX6PB
yvm0nuAjGr/p/ddBpL8OIq0Y4qdq5kf44c7/AVBLAwQUAAIACABAWms820Ns wUECAABqCQAA
FQAAAGhlbGlvcy5CSVJULmIzYWdncmNvbu1WW2/TMBR+R+I/REHTnhonadeu VcPWdl3ppg0U
igSbeHCTU9fgS7CdtfDrOVkvYxKTKOylEooUOcfnfDdLSbonSym8OzCWa5X4 URD6HqhM51yx
xO+9H4zH/snrly+6lDEDjDptOgOtnOHT0uGIt5S8sx2Pq3EEVLaD9cSfO1d0 CFksFoGWLNCG
kY9X403LA+SjTsgELyzcd0/rJA6jkDy0EpRYsQg6BZH4/XE68VGf53UNFNpy bOFgPaEz6u41
rZFzvVBC0/wxPDeOlEVOHdRwFEgcNGtcOTBcEt/LwWaGFyucislb760YkXMG 1JUG+RSVkPiI
ucWvsIP1fsCMLgt/k3NKFYMqrSZ6uYvDsB3FUVhr58Ow3RtdwPKOxum3/LgY it5wJLPehG8Y
kRONAVu5nBuYoUMQXNtgWq9SekXIaVZap+Vg23fLc1COzziY5LBfWq7A2oM4 HKMbITjDA4eD
eICVFDM0Ds8e11TleB/M6X3h8LNPNq7JxvafxpBZ1Fjslka9EbUW9Sjq4RXv uf0K5B9DaNUb
+x1CrrO/9d5uRPvtHZZUFgJ28986b31qDc5u0rNh/+LDxdv9jsDq0mTw/4W4 SkNbxgNTogYJ
gc2/7pbLUatfOz5y5+Hl9eWPsD1tRjy/etMvbtLr0fPlMlwJTidoekINA4eL d4K6mTayCkLL
Qivst09H0SW/fpVXpQx/H2jmnha13r8FSblIDpesPMXnElUGmZZbsp2BFoI/ D9D3LxwP5jdY
XfLEbxLu/QRQSwMEFAACAAgAQFprPHYzMSWOAQAAzwUAABwAAABoZWxpb3Mu QnVja21pbnN0
ZXIuYjNhZ2dyY29u1ZRNayMxDIbvhf4H47LktOM0vYWZNrs5LDkUFtpDofSg sZWJqD8GfyT9
+at8J4dSetucbORXeh8Jo/rhw1mxxJgo+EbeVkMp0OtgyHeN/PU0nc3kw/31 VQ1dF7GDHOJ4
GnyO1JbMKeLD0fiQPlqnc0Gfxhxv5CLnfqzUarWqguuqEDv18jjbS44lz5So LfUJN+r2To2G
t0N1lCpGXLtYaNE28nfR7458yhglYwpRR+xDIlYSJmGDhrxB2xmYsPI2gDlz ySHYpNpjKVV6
AxnTzwVaCklJYTDpSP221ompeCSLKQePaevPBG3xhoPCg8NGssHB7MSiKlRp 6KElS5lRpdqn
zxFyiV/m6xCx2mkPZxdD6fcgXIu7x247ikXEOY9h01DV3q0neqPURBemd9OD 7pUM+kxzwtgM
/qDHCPbHaPi3RB4r8u15PazB25FX7YG/28AyXTS/gyX6i+6gN5f9g1JpN6tn +T+2UavTTbQN
ad6coPPnDLv3V3RAthnkRXCQJhkMVAl3XrX6ZBfz2z9QSwMEFAACAAgAQFpr PAyQ9ksbAgAA
jgkAABQAAABoZWxpb3MuQ0RULmIzYWdncmNvbt2WTY/TMBCG70j8hygI9Wan 7VJQ1bBF3Usl
VkILB6QVQo49cS38EfzRln/PpJ+7oFZ0t71wsSL79fPOjJOJR9dLo7M5+KCc LfMuKfIMLHdC
WVnmHz5PptP8+v3LFyMmpQfJovPDibPRqypF3JItjRrutvfa7Qi0YYjzZT6L sRlSulgsiDOS
OC/p19vpVrJHPlIC16oJsFJXfdorugXdSymG2LpoVoEu88nNlxzDy7KRh8YF hQoFIdOOs7gK
aQMWbmG1Y+IRPTqnA+Ui0tQIFiHQGWjlAs0zAYF71awZaJJtFGsztKuSFRqd LDNQ5kjbkZFH
uPNAmFrm29LeMStR94a04bcpFTh0r4p+Tk8gamXTRZhEscHVRcBNwy/CXb4b XIr7/eylMIy7
cO6D+2nPTQxOM6/CmakLZfu9U5g1sJj8QWijWaydN2SjI9K71Pxp8LZtE08z OJW7wSIYmw7I
dQeaeaix+6z6Can6bQN7RemYpxCdmex090qAjapW4MvOJ++kZ8Zg733dKz6i YWISQufbPnS6
jf1fi9U7nk736WWSNhER6uP83t/nfLZy3bpKacBKMStwvIG54rB+AO0ag8rn lE5AlSRJihgw
zv/6b/PULFk+Ix6zjHA8y8EFX/5nZTmiD3//6ymO1xTG4+FoNuv3YJjSZWeu 5j+clWPOiKoM
9i6z8zuZJQKfMajBj/GTxhI+oI3ogasUrv0GUEsDBBQAAgAIAEBaazyustwm zAEAABEEAAAa
AAAAaGVsaW9zLkRhdGFUb29scy5iM2FnZ3Jjb27FU9Fu0zAUfUfiHyIj1KfF TorUtUrYqpZB
KmCDFQaaUOUkN56ZEwfbabt9PTdrkzGJPUw88JTk3nPPOfc4jo62pfLWYKzU VUwCnxEPqkzn
shIxmZ7PkoQcvX7+LOJCGBDcaTOZ6coZmTYOR7xtKSf9eNiOI2FlJ1iPyZVz 9YTSzWbj61L4
2gj67UPSQe4pHyAhU7K2cIdOhzRkAaP3UIoWWxXFU1AxmXPHl1orS9Ck50UG am0l4iRYT+mM
uztje/pcbyqlef5AI0cK11L0bXwzurb046qpsQt2FfiHxMvBZkbWO8b58szD qrdH7OTRQAHc
NQbFK15CTFCgF+uFfJtf+3tg/xRGNzXpjuIzrwS053GI665DxsZBEL4KhgE7 GJ2OOTuZs+Tr
p8XidLpcL7Ozi1/h6OK7bDobaARXB7HL4cpAgRmAktr66bAN8wWlx1ljnS5n Pe5S5lA5WUgw
8aANNuUWXoZsDmtQui6xOfhBaLcp7VZ90upQ8VRBy/WPKSTj0cHJm/Gi+HJ9 8257y4YzsZqe
37L3b4v/l0JE//wBd6UMrwvP3OMG9v1LKLlU8WArmmP8btCRn+myF3sy0c1P ifn9hSuij9xm
7P0GUEsDBBQAAgAIAEBaazz66LQhWQIAAFUIAAAbAAAAaGVsaW9zLkRMVEtf Mi4wTTQuYjNh
Z2dyY29uzZZfb5swFMXfJ+07IKapT8YYgkiisJYRWrVL1a7t/rWaIgduiRVj R8aU5NvPSZq0
1dYp6/oQ8YLM8Tn3d4249PZnJbfuQFVMisgmjmtbIDKZM1FEdnyZHB/b+x/e vunRolBQUC1V
N5FCKzaqtdlizUrW3Wz3FtuNoai6Zj2yx1pPuxg3TePIsnCkKvD30+O15MHy iRIyzqYVLNUj
H3sucfGDFJsSFymcjoBHdn9w9ckysact21RpWT0FU1kxI2RQWVxmVC8ru/fP ZSO4pPmTEA3Z
WEguiznOuZ7geppTDRXK4Q4ba1RpOuKAbSuHKlNsunLcJAerZJN9C1TXyuQK WkJkG+9NzsLY
yaQC517kFErWU3vd+gsqClg20Fx3nut23A4JEQlIG4UDhNI4lmdfvl6m1/OP 9HB8tM40qQYR
ihXvWMGtYQXOZOWM/EXX3mF8kNWVlmWy0d2wHIRmtwxUtHcEAhTl7z33vFam d2DurqTk1d5P
G6/J8BptW1RVj+bbo4a+u0BtofDIoA7Tyek5/5yMm/g6mFy8Huq5koWiZWne bQM5MHXUtID/
A9UZ35KTuC4hAfI84psjdVGa+M3lNfuWikEqW+LHbnPO5Pakj080QGg4ScPO WThIBn5y2D/Z
bU72MswWQh0ZB2E/SNon3jAZxruNqSp42WEuKNtB0DaUcdzu7/p3qJzzufg7 KfkTKUEobHxC
hqTjt18PMpHcDC6pllPpebAefjzGVkuZmbo008/n3j+/gZIyHu1RDrODmZk4 uZk75Sbr331E
rmD+m1MPP/NHYFJ+AVBLAwQUAAIACABAWms8+gM0SvgBAADjBQAAGQAAAGhl bGlvcy5EU0RQ
X01USi5iM2FnZ3Jjb27VlF1v2jAUhu8n7T9EniauiBPCR4PI2pWPClSqaqVa tWoXTnxwvTm2
ZTuA9utnCNBVU6Vxt95Ekc973vc85+IMzjelCFZgLFcyQ3EYoQBkoSiXLEOf 74bTKTr/9P7d
gDBmgBGnTH+opDM8r5xvCTYl7x/bW9t2byht379n6Mk53cd4vV6HqmShMgw/ zKcHybPlCyUU
gmsLO3We4FYUR/hZiv2I2xRBchAZGt2NboP5Yob8jEEwMKCV5V7GwQZCFcTt 5tq7U7WWQhH6
IoJaqnHpfuBKU+LA7gJibB3JBWAUULCF4bo28knBrh7c1+o61ycvgbjK+FRJ SsiQdz6mePNw
Xw6ZUZVGh4V/IZLBbuthHK5aUZRGaXwWd9txs/e1N+qNJxPX/ZY3idbUzh7U Ic3neTRgNeeT
gaVnBMGVDfNku6sPGF8UlXWqHB51j5yCdHzJwWSNucq5gI+tiEjqvyNY8QLq HxBKl17Z+I7w
gQ4f8P4R19KfpyO3m600guH0fpbfDEdadYtf0Vx1F6p9Vb0ZctiQUguwp+N3 m9Elm6WpSc24
HBeL8Zth1pWwxJxOnDTjM9tLkuvkujPrTC47/wnxAP95R+qnwh89UrjXp9nX H6EkXGQN5qcj
KxV6HZHqgm1fw0KVx9STHSn3oNbzcPmX3QC/cp997TdQSwMEFAACAAgAQFpr PHEVUi5uAgAA
SgcAABgAAABoZWxpb3MuRFNEUF9UTS5iM2FnZ3Jjb27tVdtO20AQfa/Uf7Bc VTzZ69iATRQX
oiQlqRJKS1QhUB/W9sQs7MXsrgnw9R2TCyBBaVElXqooXidz9pyZM+txZ/da cOcKtGFKpm7L
D1wHZK4KJsvU7R71RiN399P7dx1alhpKapVu95S0mmW1xS3OtWDt9faw2Y6E 0rTx/9Q9s7Zq
EzKfz30lSl/pkhxPRivIPeUjJOScVQbu0FlEwqAVkHsowRQbFU4z4KnbP+of OtOJiyk6TkdD
pQxDFAPjcJVTe5fWkrxQc8kVLR4pFKaoiBWkrgpqwZDID5m0oJkgrlOAyTWr FizTiYNBZ7SI
LhRRcwbU1hr1JBWQusi55tf4XYb9Uqu6cldOf6eyRDDyYTVXTYlB2EpCXLx4 HMcDncwv6beD
wfnYjn5cXg6r4bB7652vRFEWa4NyUeiZhhkWCZwp42dR49UHQvby2lglemvc KStAWjZjoNON
icoYh49hQGWB1z5csRwWN8BVJRC58dMl/0xvHyRoylHhsNbYpEZrqhQ3D1Q6 ZOXlH3pbG+TM
m+6Y3/vc8vET3Dkd7ARbYRxG6HTU6saJiaNoHPXjYbwTRf/9XftrhY/nXDBJ uW+Ki5fOcbDy
F5coaLWCzS0vPvA+D8re1tdbL5rqW+9YhydVNhsfDr68ldGvtqAZJvylQxb4 Dy0I0YJtLzlJ
bpL+rO8NtneS7v6wuxmFofuWfe+Qh2PyicEJkmYcitSdUW7Aff0gFdgZzF3i r6dn6WQNWCbb
yfHdgo/082Ys46cgKOPpRnFzYSzlezQXTRbrqv+aSFBtmfRVBvqsxsvenMlC M2yxnyux5O2Q
Z16DGPsFUEsDBBQAAgAIAEBaazxIJHO9kwEAABIEAAAZAAAAaGVsaW9zLkRT RFBfVE1MLmIz
YWdncmNvbtWTUWvbMBSF3wf7D0Jj5M1ynK5jwV47kpdAA6PtYFD2IEs3qqik ayQ56c/fTR27
K6ywwV72Yomrc79zj5Dri0fv2B5ishgaPi9KziAo1DaYhn+5WW02/OLz2ze1 NCaCkRnjcoUh
R9v2mVrYo7fLqb06thMwpCXVG36fc7cU4nA4FOhNgdGI79vNKHlGvlCCcrZL 8KRuF6Iq56V4
lgoa8ejiZAuu4eub9Vd2u73iNCNjdYQOkyWZhcQcKpmf5jrRNR6CQ6lfWOik O5G9E32nZYYk
ymIhONOQVLTd0H/rrxiV2bdBMpiR3Q5k7iNZBemh4YSb0EQsTsfTaiL2HR9v +1oGQ03EpURV
WX4qz+cfKtqMeDKgAGCGNPcRdpQEnMVUtIvjjbwT4lL1KaNfTbo7qyFku7MQ m9kWW+vgfVXK
oOm7hr1VMGzAYedJOfvBxRhHjHn+MF/SD/95xlr8+mKGkqLnLVV+fZrT+R14 aV0z28Xu49ni
0iNB0MlCoZ8M/xoWHvbm/OwfwSBapX7HqsUrvzOd/QRQSwMEFAACAAgAQFpr PJIGgieDAQAA
8QIAABQAAABoZWxpb3MuRUNGLmIzYWdncmNvbq2SPU/DMBCGdyT+Q2SEOmGn qWCoEj4UFakD
EoIOSIjBdS6uJdsX2Q7h53Nt+gEDG5t1fu953zu7vPtyNvuEEA36ik15zjLw ChvjdcUeXuvl
kt3dnp+VUusAWiYM8xp9CmbdJ2rJvpyZH9uLbTsBfZxTvWKblLq5EMMwcHSa Y9Di7Wl5kJyQ
v5SgrOki7NTrmSjyaS5OUkERty5WrsFWbFE/MoqXZWWADqMhhYGYWVQy7SLt wQ0O3qJsftFD
EqBaMeOF2IA1GAUBgHcFyxqIKphuZJBJ1neNTBBHM7JrQaY+kJWXDipGuCOa mFxhAL7XcB2w
79hhyy/Sa+ogV5rkczteXhT51fSmuD7QiU/5QY/DbAK0NMguIV/Ptru4EOJe 9TGhq4+6d9OA
T6Y1EKpJjZY2hGG3hckHE/9GXoxTvqwui3wlg4ZEh2crU4vB0bFG16Enffxh W4rDvsbHEj9f
aywp+lVSpb9D7e/fwUljq0m0MJhIZbKLZEcrd3vHUvzxW+nuG1BLAwQUAAIA CABAWms8C/U4
NLMCAABiBwAAGAAAAGhlbGlvcy5FY2xpcHNlLmIzYWdncmNvbs1VXU/bMBR9 n7T/EGWaeEri
Ji1Jq3ZQ2qaUBlYYYwU0TU7iuqZxHOyEdvz63X4ypsG6jUl7i+zjc8+598Su 7814ot0RqZhI
G3rJRLpG0kjELKUNvfmh1evpe+9ev6pjSiWhOBey1hJpLllY5HBEm3FW2xy3 58eBMFU1WG/o
4zzPapY1nU5NwakpJLWGx7015IHyEZJECcsUWaBDx7JRCVkPUAskzqskOCRJ Q+8swTpI1LS6
JJlQDFCMKC0REc4XslbksZimicDxowqrb6vIYpwTZTnmrtEzwoIlsbJ0LSYq kixb8qyKaTiN
tc5twVIx0wCvcZYQlYuUqKUOUJJJERdRrrQUc9LQodKmqoonJouJvu76GU4p QIAInPXmdpGD
qgbyUFW3tuDLEpyPhOT/hhTU/h7piOC8kOQp56ttk0pRZD9nvlswl+yK4Z66 3GgPruwr/pXG
A3HUbXclmp3brRZlh7sfcb8/LTvjSr/dFjdbSYju1PMSSqa9lICqyCuVDffA df1O5CnfbXbd
vndVPjzpVtZzhmIQMkKXiRtLMoK0kYQJZYbOPLRvLGs/KiAcvLXBXcOg0pyN GJGNnZZIIMpC
LqK68/nBhLV2sYWrLCZbNhZcVR1kuKE78Tux35nZw0n5S0Cbu0H7vfNytrok JRInb200KCT8
lAS+zoVI1J9avInz7bPjIM8oeQh83ntD/+zAPz6PSVve+mJwKOmIlivIdl/O 7EAKKjHncGeC
zQD0FJgS9TfTxBkz83m/TAKjlZhyKPfL6KJNB2zbNtwWpNevHtHgWH0KxuPm EAXBfzxisrxS
zcw2C0WkWbDn/do/+PU8t+tfCD8KRsG9EZ4MLk4vA6d/uVJTt75/HpZLETxl eH4DPtWA1f41
4ZgljZ0JF0zuR9hkITcjwVdW69YTzyPsfQNQSwMEFAACAAgAQFprPJmED0Cc AQAAbQcAABwA
AABoZWxpb3MuRWNsaXBzZUxpbmsuYjNhZ2dyY29u5VU9b9swEN0L9D8ILApP EWWlaABDSlIY
HQy0QJFmCBB0oKkzzZbkCUcqcv99T7bkJAiydIwnnch37+M4XHW18y57AIoW Qy3meSEyCBob
G0wtvvxcrlbi6vL9u0oZQ2BUQlosMSSy6y5xS7bzdnFsL4d2Jgxxwee12KbU LqTs+z5Hb3Ik
I+++rybII+UzJGhn2wh79PpclsW8kI9QyRYHFafW4Grx9QD+ZsMfwTazrCJo MVpGWoiZQ63S
3too0GAfHKrmmQolOf465pFb/mA8syGBoX27FFkDUZNtD2QvVFl3Ayp1xJpB eagF8x412mE+
MfFcIf/dqnyE5oawa8U0/RsVDAwzHBI+DLGLeXlxRp8/lfNJhXU4EJhDui3B hpPt7ebr82FI
H6S81l1M6JdH3L1tICS7sUD1bLR+c/uxLG4VGUhc/HAqbZA8l0v0LQbGx9kv Iadwckr3H2kj
dsTl6YT2uPt7anFP7pFjgyeW9o08cSWfbojDkeaNpnR63dR4fw9eWVfPgKzO TW/DNZLSDnKN
flSs5Cubku/+AVBLAwQUAAIACABAWms8DIgND4YBAADEAwAAFQAAAGhlbGlv cy5FR2l0LmIz
YWdncmNvbr2TT0/bQBDF75X6HaztIbddOxFUjWwIiqoqh16KkCohDpv1ZDOw 3rF21w3l0zOO
4wAHJBAS15k3v3lv/5Tn943L/kGISL4ShcxFBt5Qjd5W4uJyuVqJ87OvX0pt bQCrE4X5knwK
uO4Sj2T3Dc6P49N+nIE+zrleiW1K7Vyp3W4nqbGSglV/f69GyRPyhRKMwzbC Xr2eqWle5OpJ
qthiv8XpNbhK/PyFSbC/LCsDtBSRJQgxc2R02ns6kGvaeUe6foEHi0l1ba0T RCWyGqIJ2A5z
PTm7GnrDBt6xAZ26wHyvG6gEM468W2bJQ1/aQF0rxnP9o71ldS5P2XufJ58W 36dF8WPkMpnt
gh28bwNs2Dc4pCjXsz77N6UWpouJmuVRd401+IQbhFBNluT4RCjsQ09uhBod q9HyGyLAeyLM
8pPiJP/8CKV6ftFDyfCL1Ca9vvfQv4ZGo6smkdqFJbIOpKHmuOvdHKM9xgfz 8P9uYfvKx2iN
TmmLOspIW7+Iun2GK9UrH5B7j1BLAwQUAAIACABAWms8xGe/zGMBAACJAgAA GwAAAGhlbGlv
cy5FTUZfKENvcmUpLmIzYWdncmNvbnVSy24CIRTdN+k/ELqw3YCPpE2MU21M m7hw026amC4Y
uCIpjwkw6uf3jjOjdeGGEDj3vGA2PzpL9hCTCb6gIzakBLwMynhd0Lev5WpF 56/3dzOhdQQt
cojTZfA5mrLOOEKOzkzP4+NmHAl9muJ5QXc5V1POD4cDC06zEDX/Xq96yIXy CgnSmirBCV1O
+Hg4GvILlKPFRsWKEmxB39cf5HEZIjxRdEnILEIVkkGggURskCKfnHX8Khy8 DUJdibigwGJe
Dm7L60qJDIk7YyHl4HFLiYIko6laqoskuYBaddTfgsh1RG0vHBQU+c9aSM+S +mUdhOkY6or2
5X8Kr6Gp8BkD7pvUQ1xGz5OXnhvZMQ7oNtsuwhZzofOQWDlpGnrgfCFrNOSW Z9zGKPDZbA3E
YrDukg5+KO8N895x2x//X2B7JPG9hcy3Jbv7DThhbDFQYm+USwspmCkdk8F1 ejN+4xfh3R9Q
SwMEFAACAAgAQFprPClLV5eDAQAADwQAABgAAABoZWxpb3MuRU1GX0NETy5i M2FnZ3Jjb27N
kzFv2zAQhfcC/Q8EO3gKj7ZaFDGkJoWTAh6MAu5SwMhAi2eGLUUKJBXn5/cU S049GEg2r+S7
9953IMub58axJ4zJBl/xqZCcoa+Dtt5U/PuvxXLJb759/FAqYyIalUOcL4LP 0W67TCPsubHz
4/isHydDn+Z0XvHHnNs5wH6/F6ExIkQDv1fLUfJqeaLE2tk24Yt6W8BMTiW8 SoEq9ilObdFV
/H71gy3ufnKqyFgZsQ3JkspiYi7UKr/UGsx12HsXlD5JaIJGR7CAzQ5qHaBr tcqYoBASONOY
6mjbg88QxtboUCVMh1TK3aHKXaRMrxqsOPkeMzzmz39E0n/FIBImhq7l487X yhsaKXoq8dTD
ymIqr+SX2dfRngKIBM0B6zHijpCodEhiW/Sb+QRwW3cph2Zx1G2sRp/tzmKs JqsBcvLAYewM
Y+k3QNBuBO3m/RjTaykvDwPb9rIxSvj/JR+Oavp1qs7nI4f7DTbKumqSMmFi vKUHfEWPUGgc
8ko485fp7h9QSwMEFAACAAgAQFprPK2eoa6mAQAA/AIAABoAAABoZWxpb3Mu RU1GX1FVRVJZ
LmIzYWdncmNvbpWST1PbMBDF753pd/Coh5yQbEPoJBND2jS0YSYdoEPLn+lB ljeyBksykkzI
t+8Gxw4cOPSmkd6+375dTU6fdRU9gfPKmowkNCYRGGELZWRGvvyaLRbk9OTj hwmX0oHkwbrx
zJrgVN4ELImetRr35em2HA2NH+N9RsoQ6jFj6/WaWi2pdZLdLBedZG/5Rgmi UrWHF3V+yNI4
idleyrDFLaXiOVQZmS/Posvr+dUtwSajaOKgtl6hToGPKit4eGlsZ1/Ytaks L94wtC2gwrgM
9Io1dcEDeKZVBT5Yg0cSFeCFU3Vr1ROjvaaFI34FPDQO0YZryAja9yh0p48N uA31xQPdCal0
tqlJt4ArbiRst3CEIZ/SOB4laTI8SI7To4Pjz9++ytHw+9nmfH7+4/Hi8vef i5931/UijIYd
HzvAxCDb+KWDFUbHcNbT/HA7w0+MTUWDTetZr7tXBZigVgpcNljuhjH4S1gX inWp2hGz1zNu
rwT+CC7C+8jd+z1orqpskGOtx+yNF+WDnXpeU2F1z/xvP25Cac2mnApOVa5f mU3YOx8X3/4B
UEsDBBQAAgAIAEBaazzdpNBpyQEAAOQDAAAaAAAAaGVsaW9zLkVNRl9URU5F Ty5iM2FnZ3Jj
b269k19v2jAUxd8n7TtE3gNP2CSwiqFkpUJho126Fab1nybkxJfUqmNntin9 +LuUENZJldaX
vVnXx+fcn30dHz9WKngA66TRCQlpjwSgCyOkLhNyspjMZuT449s3MS9LCyX3 xo4mRnsr87XH
I8FjJUft8Wh7HA21G2E9IXfe1yPGNpsNNVVJjS3ZVTbbSw6Wz5RQKFk7eFLn fRb1wh47SBm2
uE1RPAeVkDSbBt/T8/QrwSaDILZQGydRJ8EFyhTcPzXW2Auz0cpw8SyjMgIU 4jKoVmxdC+7B
sUoqcN5oXJJAgCusrHdWbWJw0OzCMX4F3K8tRmteQULQvo1Cd+pBg6FO3NNG SEtr1jXZP8Cc
6xK2rxDSiD5Evd6HMAqPwnAQdgfR++FwOjn7kpXX19nZDzEf5FdmmS4X6XQf jw0gMJQ7+jsL
KyRHNuNo3t9e4TvGxsUae64mre5WCtBeriTYpJM1d9H5Sdieie2hXgXZVNDs /l+A8U3/Au6H
4XCQDo4ubpan3y7m+aJ7cjP/JS4vP30+/5/AMftzpnalAn8AL/zLkc3+LVRc qqRTec7VGBRS
b0euDXu1kfNQ12DHOJBdDZ4KaLxi9sIHxb3fUEsDBBQAAgAIAEBaazwMrfd4 pwEAAAgDAAAg
AAAAaGVsaW9zLkVNRl9UUkFOU0FDVElPTi5iM2FnZ3Jjb26VUs9P2zAUvk/a /xCZQ0+1k3RT
RdVAq2qTKq3AKIdtaAfHeXW8xnZmOxT463khSYFJHHbxwf7e9+t5fn6vq+gO nFfWZCShMYnA
CFsoIzOy3K7Wa3J+9vHDnEvpQPJg3WxlTXAqbwKORPdazY7jaTuOhMbP8D4j ZQj1jLHD4UCt
ltQ6yX5s1gPkhfINEkSlag/P6HzC0jiJ2QuUocVWpeI5VBn5svka3VwvL7bL 1c368oKg1Sia
O6itV4hW4KPKCh6e7fUihT2YyvLijZK2BVQYmoHesaYueADPlAnglGYkKsAL p+qO5x/RqId1
4ii/Ax4ah9KGa8gI0h+lkJ0Gx43nouWivtjTHk6ls01NhmVccyOh3cgnDHyX xvFpkiafx3hM
xtPp9Nv4dPnr8jHeJOLq75+tkebn/jEW39PBBfrA3CC7EkoHOywAI1pP80nb 5wljC9H4YPXq
iLtVBZigdgpcNtr0lYx+EzZEY0O2rmj2uunuSuDvwHDvS/bvt6C5qrJRjrMe szdelHu78Lym
wuqj5n/zcRNKax7KheBU5foV2Zy984nx7QlQSwMEFAACAAgAQFprPNp7G46k AQAABQMAAB8A
AABoZWxpb3MuRU1GX1ZBTElEQVRJT04uYjNhZ2dyY29ulVJLbxMxEL4j8R9W 5pBT7DzaVERZ
mihQtIIUaBBCVBy83onX1I+V7U3Kv2c2u5s2hx64znzzvezF9aPRyR58UM6m ZExHJAErXKGs
TMlqu84ycv3u9asFl9KD5NH5+drZ6FVeRzxJHo2an84nzTkS2jDHeUrKGKs5 Y4fDgTojqfOS
/dxkPeSJ8gwJQqsqwBGdT9lkNB6xJyhDi42K5jnolHzY3CQ/Vp+z96vv2Zdb gk6TZOGhckEh
WEFItBM8Ht11GoU7WO14cSZkXAEaMzMwO1ZXBY8QmLIRvDKMJAUE4VXV8pxr Jh2q1Ub1HfBY
e1S23EBKkP2khOR0z7Uqjo5oKB5oh6bSu7oi/UvccSuheY4LTLtvKhhNJhfD 8ezyaji7yoZv
Z9uPd9PL7a369VVY88380Z9m9c2qN4E2MDXItoLSww7jY0AXaD5tynzD2FLU ITqzPuHuVQE2
qp0Cnw42XSGD34T1yVgfra2ZPe+5HQn8GlzElyW7/T0YrnQ6yPE2YPY6iPLB LQOvqHDmpPnf
fNzG0tm/5VJwqnLzjGzBXvjBuPsHUEsDBBQAAgAIAEBaazx3n5oPcAEAAJUC AAAdAAAAaGVs
aW9zLkVNRlRfQ09NUEFSRS5iM2FnZ3Jjb251ks1O6zAQhfdX4h0ss+jODkVs qoYfVSB1UXEF
LK5UsXDsibGwPZHtUB7/TkjSwgJlY9ln5jtnJuubz+DZB6TsMNb8QlScQdRo XLQ1v3vebLf8
5vrsz1pZm8Cqgmm1wViSa/pCJewzuNWxfDmUU8OYV3Rf87dSupWUh8NBYLAC k5X/dttZcmr5
Qwnauy7Dl7q5lMvqopInqSSLA8WrBnzN73cPL2zzuPt793TPySdj6wQdZkdS B5l51Kp8eZsI
Bg/RozI/MAENeEosIbSy74wqkGVwHnLBSEfODGSdXDe2IujMZCfViCcDLajS J4JHFaDmBDjC
qL/QGDqVQGTzLiapsAn7js97eFLRwrCMIevHMIBqSd/VVTUziEK5wI4h3xK0 FJAiYBbN5TCs
cylvdU/Gwuao2zsDsbjWQaoXuyny4pXL2bicnY+DlN8nOV5pWr3S5Xfk9L6H oJyvFxpMclo0
qY+32ACKNk3Atfzlj6K3/1BLAwQUAAIACABAWms8XJ5H/HgBAACaAgAAGwAA AGhlbGlvcy5F
TUZUX0lOREVYLmIzYWdncmNvbnWSP2/bMBDF9wD9DgQ7eAopKS3gGlaTwkkA De6QdAgQdKDF
M3MI/wgkFfvj9xRJdjNkIQjy3f3eO3J9fXSWvUFMGHzNS1FwBr4NGr2p+a/H TdPw659fLtbK
mAhG5RBXm+BzxF2fqYQdHa5O5dVQTg19WtF5zV9y7lZSHg4HEZwRIRr5tG1m ybnlByW0FrsE
7+rdlayKspBnqSSLA8WqHdia323v/7Dm9+3dEyeXjK0jdCEhCRESs6FV+d3Z 1F+Hg7dB6Q8Q
FzRYyivB7fOwoNdwlH2nVYYkHVpIOXjacqYhtRG7sSnBWTNo2Vkz2iAje1C5 j2TCKwc1J9AJ
SggxY0TSr2LSChND3/H5OR6UN1RZiCVFfquK4kdZld/L6ttyhhCGAoIZ075E 2FNSyhKS2F0N
M/sq5U3bkzO3OemeUYPPuEeI9WI7ZV/85XJ2Lmfr40Tl/yMdj1r6AarNnyOn +2dwCm29UNbC
5SveYAaHSWiYcGv5ybeiu39QSwMEFAACAAgAQFprPKN4JGxuAQAAmQIAABoA AABoZWxpb3Mu
RU1GVF9NSU5ULmIzYWdncmNvbnWSvW7CMBSF90p9B8sd2OwQpiJSqFArMdCh ZaiEOhjnxlj1
T2Q7hMfvhSRQBrbIPvd851xnNj9aQw4QovauoGOWUQJO+lI7VdDXr+VqRecv jw8zoVQAJZIP
06V3Kehdk3CEHK2eXsbz0zgaujjF84LuU6qnnLdty7xVzAfFv9erQXK1vFGC NLqOcFbvJjzP
xhm/SjlGPFGM2IEp6Nv6fUPWq48NxZCEzALUPmrUaYjEeCnSOVhvX/rWGS/K G4b1JRisy8FW
iTd1KRJEbrWBmLzDT0pKiDLouvO6IMlV09GRX4FITUC2ExYKiv4XFtozq11i sfxlvY6p4Jua
Dg/wKZzCqYw9Y8nDqXmWZ3k+nmQDABHYCVRXcB+gwnIY30e2m5y29MT5QjaY yi4vuq0uwSVd
aQjFaN3XHf1QPqTmQ+xuifz/FrsjiW8uZLqP7O+3YIU2xah2gMqwOJdPWgoT fZVagZWltz17
xu/8VXj3B1BLAwQUAAIACABAWms8BVOaC2oBAACNAgAAGQAAAGhlbGlvcy5F TUZUX01XRS5i
M2FnZ3Jjb251kjtvwjAUhfdK/Q+WOzDVDo+hQqRQISoxsLSVWgl1MPHFWPgR 2Q7h5/dCEigD
8mLZ597vnGtPpkdryAFC1N7ltM8ySsAVXmqncvr2OV8u6fT18WEilAqgRPJh PPcuBb2pEpaQ
o9XjS/ngVI4NXRzjeU53KZVjzuu6Zt4q5oPiP6tlJ7m2vFFCYXQZ4azeDPkg 62f8KuVo8UQx
YgMmp4vV+xdZfS8oeiRkEqD0UaNMQyTGFyKdfbXdpa+d8ULeIKyXYDAtB7tN 3NbAq1KKBJFb
bSAm73BLiYRYBF02/ToquUoaA2hhCyJVAfFOWMgpIi44JDAEsCj3rJUxFXxV 0u4FPoRTWJSx
F0x5OEXPBrhG2ajrjwRMBaqJuAuwxXgYwEe2GZ7G9MT5rKjQlJ1fdGstwSW9 1RDy3qoN3Pul
vDPNO9fNGPn/OTZHBT66KNJ9ZHu/Biu0yXvCGHje65lOYHVkElrchN/5SXj3 B1BLAwQUAAIA
CABAWms8cVqtPI0BAAAGAwAAGAAAAGhlbGlvcy5FUFBfVURDLmIzYWdncmNv bpVSS4vbMBC+
F/ofjErJzbKzlzbE3ZR0WXIohO0uFMIeFHmiiEoao0ed/PuO149kKXtYdLAs ffM9ZrS8PVmT
/QUfNLqKlXnBMnASa+1Uxb7/Wm827Pbbxw9LoZQHJSL6xRpd9HqfIpVkJ6sX U/m8KydCFxZ0
XrFjjM2C87Ztc7QqR6/475+bEXKhfIUEaXQT4AW9v+Hzoiz4BcrJYqdixB5M xe622+zpx5qR
xSxbemgwaEJpCJlBKeKLrYG8xtYZFPUrhQjy6NCgOnNoGp6aWkQIpFJabSBE dP0frYfOSlHO
v5Zl+YWzrIYgvW56jc7IUNybITsHEDF5suKEhYqR3CRNWnkKQgFViHwATl/l MTVsHMuDcAq6
2fxnYlQiLcoKqg9+9HCg0GA0hnx/0/XuE+crmSiNXU+4na7BRX3Q4KvZPTjw wnyeF9vkqYlA
u0dEE2bPjI95+Bio7za/bnd/JOlpCBnf9jDc78AKbapZK84OVlfzmOTeTWX/ OJHAj2QBk5eQ
S7QD5ZK/8YTp7h9QSwMEFAACAAgAQFprPJ8ABZfvAQAAswQAABgAAABoZWxp b3MuRXF1aW5v
eC5iM2FnZ3Jjb27NVFtr2zAUfh/sPxiNkSdbig1zE+K1JSRd2BpGVspG2YNs nTiiuriSnOTn
7yRx0hVSxp62N2F953yXc6zR5VaraA3OS2sK0k8YicBUVkhTF+T623g2I5cf 374Z8bp2UPNg
3XBsTXCybAOWRFsth6fydFeODY0f4veCrEJohpRuNpvE6jqxrqbfb2dHyHPL F0iolGw87NFl
RlPWZ/QZSlHijkXxElRBJk+tNHZLUGIUjRw01ktESfCRshUPe1ldc2E3Rlku XjB0Z9o2ggfw
NEs+xLO4bKUSnpJIgK+cbA59JgdsxI2IOuII8ZGWCnywBvxBBypZAg+tQxWG aygIMp1Y4VCZ
ePGYdLCkdrZtyHEOC25qLMLW6HWdMjZggzSL85t8EeeqfbLX5epTumW3P8ov 8/zzOlvoIzFS
o2uoDxGsHCzRPihpfVJmuxTfUXpVtahWj0+4BynABLmU4IpeZ3Jx9z5ld9zV EPDwVfGwtE7j
cWx1g1ZN8L2fhB790qPhvwhgA3yNa/bnIPYj74K46OdxPojjyf39dD6dzm8m /5f1Ef19Cf/p
WjpQwD2cdrJxVrRVODcSVzX7MUhxfglnu7+QZWwQsws26Lyfs1rh28B3HK/l 390/gOZSFb1H
baW7qngiS51UVnfBjugr7w3e/QJQSwMEFAACAAgAQFprPPFY0wieAQAAxAIA ADEAAABoZWxp
b3MuRXh0ZW5kZWRfRWRpdGluZ19GcmFtZXdvcmtfKEVFRikuYjNhZ2dyY29u dZJfa9swFMXf
B/sOQnvI9hDJSVrIQrx2Cw7kIX3YoAzKKLJ1rYjpj5Hk2h9/N7WdrA99M9K5 53fOtbZ3vTXk
BULU3uV0wTJKwFVeaqdy+v3X7nCgd98+ftgKpQIokXzY7LxLQZdtwhHSW725 jC/P42jo4gbP
c3pKqdlw3nUd81YxHxT/fTxMkqvlGyVURjcRXtXlii+zRcavUo4RzxQjSjA5 LfoEToIkhdQJ
M5N9EBY6H/6Sz0Wx/0IxOyHbAI2PGsc1RGJ8JdJr3pEqfeeMF/IN2noJBh05 2DpxgJq3jRQJ
IrfaQEze4SclEmIVdDP4IZFcbwc20msQqQ1Idpgtp+h+IaE5Q28GMrFRxlTw bUOnn/JTOIVD
GVtj8ZfzNrLl4ja7WWXzxTrO97sf8+daPPT6+fH49XF9uy9W6/5mOcERj21B DdVPAWqsjcV8
ZOXqvNZPnN9XLSa2u4vuSUtwSdcaQj47jouY/aF8asSnSsN6+f/7HY4qfCSi Su8jx/snsEKb
fBYTNCfhgJW+rU6Q7n0JntVhpG75Ow8Q7/4BUEsDBBQAAgAIAEBaazxfwv0R pAEAAEUDAAAU
AAAAaGVsaW9zLkdFRi5iM2FnZ3Jjb26lk1FP2zAQx98n7TtY3gNPtdNWo6xK RqtuKwHaFYqA
bdqD41wTC8cX2Q6Fffq5NIUhNG3TXvxw97/f/+5sx4d3lSa3YJ1Ck9AuiygB IzFXpkjoeDlJ
U3r4/vWrWBSFhUJ4tMMJGm9V1vhQQu4qNXws723KA9C4YYgntPS+HnK+Xq8Z VgVDW/DrWbqT
PCGfKUFqVTt4UGd93ou6EX+S8tDixkWLDHRCpx8/0dAeIbGFGp0KCgWOaJTC P7TUgnNcG40i
f0b3iNrxAla8qXPhwXFlPFhVcUpycNKqegsJLqRNbd2C3wqEb2zwMqKChAbe IzsQmctvWCth
hcWmprstnwtThII+2w+T3G7Gi8LR6Ub9qDOYDs4747dXc7E4m4qTq+NZJtL5 2aVcnqaU/4X1
D3D+z95d1nvpvT941zmYfD45/TA+ms+/zi4vlkeLMr++OPiyaL1j/uuWtyEZ XoOQ3pHSwirs
G7RCx7L+5srecD7a5b9BJZRO9oTxJZr7ciQFU1nFJFZ733f8f4UpmzVaj9rp HTZWwv8RRYb3
N/iyuZj/5geE3E9QSwMEFAACAAgAQFprPL/I+QCCAQAAlAIAABQAAABoZWxp b3MuR01GLmIz
YWdncmNvbnWSMW/bMBCF9wL5DwI7eDIp2UXcGlaT1mgKA3WGdmkRdKDIM81Y 5AkkFTn99TlH
ktMMWXnv3rvvSauro6uzBwjRoi9ZwXOWgVeorTcl+/Jrvdmwq88X71bSmABG JgzLNfoUbNUm
WsmOzi7P67PTOhn6uKT3ku1TapZCdF3H0RmOwYjf280oebF8pQRV2ybCs7qa i1le5OJFKujE
U0otK6hL9n17w+i8LFsFaDBaUliIWY1KpueTBmONna9R6lfuDjXUBCqM24m2 0TJBFNYnCNYJ
lmmIKtim96GgbBj1gRS5A5naQHFeOigZWZ7tyZFHfeCDhJuAbcPGon9Kb+BU 15xgHmZ5/qmY
FZfTYvHh43SxXtxOv/44uj9+fjh0j/dG42Xzb/rtcLMYkymb+MD0sPsAOwIl FIy8mp+6ei/E
tWpjQrc+6+6sBp/szkIoJ9sBffKXiRFHjDx9oeL/RvsnRV9eqvR25DC/Aydt XU6kT3v0j/tr
JbmtHFfohsCVeOOHotkTUEsDBBQAAgAIAEBaazw0NTgsiQEAAKMCAAAmAAAA aGVsaW9zLkph
dmFfV29ya2Zsb3dfVG9vbGluZy5iM2FnZ3Jjb251Uktr3DAQvhf6H4RK2dNa tkMJXdZNyh7K
BgIlCaQQehjbY60aWWP0WCf/vrPxepMcchOab76XtL546q3Yow+GXCWLLJcC XUOtcbqSP283
2628+PH50xq09qghkl9tyEVv6hR5RTz1ZnVaLw/rTOjCiu8ruYtxWCk1jmNG vc7Ia/XnejtD
XinfIbGxZgj4gq7PVJkXuXqFKrZ4ULFQo63kFexB3JN/7CyN4o7IsnHJhoVY exwoGN4xGISl
BuKLyaNUS6OzBO07vYjNzpEl/az+jVGloYWISyZBJUWLofFmmFiu7u+ER4sQ MEx6rNghxORZ
zUGPlWTGEzvTZcdxpj2lQc6t34DTDM6zc062L/P8e1GW5bL4VuTLm5maydk/ 6inMzmPHQdAa
Cll9dmjni1KXTQqR+s0J92BadNF0Bn21+IUOPdivZf47eS4G+XToKyz+SjUH UHOCqUH1tsLp
quHHhyZ+7OE4f8AejK0WAaC9NK4j33P/j1lyZglJhzpxOS0exdfqg//Fs/9Q SwMEFAACAAgA
QFprPOzHOyFGAgAAaw8AABwAAABoZWxpb3MuTGludXhfVG9vbHMuYjNhZ2dy Y29u7ZdNi9sw
EIbvhf4H41JyquV8tKUh7m7JoQS2sLRbKCw9KPJEFitrjCQn2X/fkfO5lK0J 3bBNCbkk9mje
ed6ZWNboYlnqaA7WKTRZ3E3SOAIjMFdGZvGnb+PJJL74+PLFiEtpQXKPdjhG 462a1p6WRMtS
DbfLe2E5JTRuSNezuPC+GjK2WCwSLGWCVrIfXyabkF3KB5EgtKocNNHTPuul 3ZTtQhmVGFQ0
n4LO4itl6mV0g6hdTGVG0chChU5RpAIXaRTcN6WtBXJcGI08f6DiQRQGNcp7 pkM+H9Kxusq5
hzcFaIWOxVEOTlhVrdLt6Ubfm8C1PlUwA+5rS+qGl5DFpLBV26VPRO4TXntc /VqvSaTFuoo3
DfnKjYTGVvoEI9J+2ks/DAYbLVIjQJAr2sLCjEibgpNpP5j2irFLUTuP5Xgb d6tyMF7NFNis
c21RWl6W1O/XvfSKBGsuwXV+xmzDwzZAhwNqNS2QYP7MR2ynyFeE6mlq2pr3 Lnl/JLjPYMBy
TWDXtaWxB/rWzOQT4MnK4qytb2+P1rcbcJ5ouMkDHdgZ2pIbAXtkfy/S/Iuf 0DOqsM2xNOme
4DBgGAaloY2uf56HfdtsVbY5NiDPTm8eAlitEsjDRvt/Irp756H0vDrP/GHb IteadtyqeL4n
4fH2/DknNmXy9pE/z8T+u4TAebtl3bNlO8u090Y+32vzv+TZiO2f6VaXBJ1B ufCP667v30LJ
lc464RBSoPaXFvKC+0RguRU8OBm/q63nd/h7shF75JxM934BUEsDBBQAAgAI AEBaazyXSFp6
ZQEAAIoCAAAYAAAAaGVsaW9zLk0yTV9BVEwuYjNhZ2dyY29udZK9boMwFIX3 Sn0Hyx2y2SRZ
WgRNokyRytJ2qFR1MHDjWPUPsk3I4/cSIGmGLAjZ557vnAvZ6mQ0OYIPytmc zllCCdjK1crK
nG4+trsdXb0+PmRCSg9SROfTrbPRq7KNOEJORqWX8UU/joY2pHie00OMTcp5 13XMGcmcl/yr
2E2Sq+WNEiqtmgBndbnki2Se8KuUY8SeokUJOqfFoiCbzzeKEQnJPDQuKFQp CES7SsRzrNG8
dp3VTtQ3BONq0FiWm4XhbVOLCIEbpSFEZ/GVkhpC5VUzWI08clUMaITvQcTW I9gKAzlF8wsI
vZmImoX6l40yJr1rGzqt/l1YiUNL1tc79p2T/vGcvEz+SMA+IIdyBw97LIbR XWDlst/PE+fr
qsVQZnvRfasabFR7BT6fFWPV2Q/lU2g+pR4WyP9vcDiq8GuLKt5HjvffYITS +axTWithWIPM
sHYlOLb3IzLjd34jvPsDUEsDBBQAAgAIAEBaazwfADZHawEAAJACAAAcAAAA aGVsaW9zLk0y
VF9BQ0NFTEVPLmIzYWdncmNvbnWST0sDMRDF74LfIcRDb8m6hYKlq5Wlh4JF UA+CeMgm0zSY
P0uSbfvxnbq7rR4kl5C8md97kywejs6SPcRkgq/oLSsoAS+DMl5X9PG1Xq/p w/311UJoHUGL
HOK8Dj5H03QZS8jRmfm5vDyVY0Of5nhe0V3O7Zzzw+HAgtMsRM3fN+tRcmn5 RwnSmjbBj7qZ
8rK4LfhFytHiiWJFA7aim/KNPNb16mn1TNEmIYsIbUgGlQYSsUGK/GNtAKhw 8DYI9YfiggKL
gbkrM+9aJTIk7oyFlIPHLSUKkoym7Vv9YpKLqsejgS2I3EWEe+Ggogg4w4SU YCGwpL7YIGM6
hq6l4xO8CK+xqGB3GHN/yl6UuGbT2dgfCZgJdB9wF2GL4dB+SKyZnuZ0w/lS dmjK1Wfdh1Hg
s9kaiNVkM8SdfFI+muaj636I/PcU+yOJry5k/h853H+AE8ZWEwkqGsma2Pll aDD0Ng7ABf/n
M+HdN1BLAwQUAAIACABAWms8O5Es04UBAACdAgAAGAAAAGhlbGlvcy5NMlRf SkVULmIzYWdn
cmNvbnWSX2/TMBTF35H4DpZ56NPsNC1oVA1bVUAUVoGgQkgTQo5965n5T2Q7 68Sn382StOxh
D5Ei+9z7O+fIy4t7Z8kdxGSCr+iUFZSAl0EZryu6+rHebOjFu5cvlkLrCFrk EBfr4HM0dZtx
hNw7sziOl904LvRpgecVvcm5WXB+OBxYcJqFqPmv7WaUnFY+UYK0pknwqK5n vCymBT9JOVrs
KFbUYCu6LXfk84cdRYuELCM0IRlUGUjEBinyo61huQoHb4NQTwguKLAYlrsy 87ZRIkPizlhI
OXj8pURBktE0/aqBR06KHo3wPYjcRgR74aCiuPwI+guZJXXLBgnTMbQNHWv/ LryGrvsu2l1Z
FG+n3Tcvp2fz8uz8zWq2/Vdcvf/67dPPq9uPf77s5qvZ6xGLYIwJus98E2GP eTFRSKyedbW9
4vxStujVrY+6a6PAZ7M3EKvJdmhg8pvyMQsfw/S98v+L7Y8kPgIh8/PI4f4a nDC2mjRgFcRL
KZipHZPBDbglf+ZloZUHUEsDBBQAAgAIAEBaazyfJtqlaQEAAI4CAAAaAAAA aGVsaW9zLk0y
VF9YUEFORC5iM2FnZ3Jjb251UktPAjEQvpv4H5p64GS7rJoYsisSvHDAGPVA QjyU7VAa+9i0
XeHnO7AP9EB6aTrffI+ZFtODNeQHQtTelXTMMkrAVV5qp0o6+5gvFnT6dH1V CKUCKJF8mMy9
S0FvmoQt5GD1ZGjPj+1I6OIE30u6S6mecL7f75m3ivmg+Gq56CFnyn9IqIyu I5zQmzueZ+OM
n6EcLR5VjNiAKeky/ySrt9nrC0WThBQBah814jREYnwl0slYRy/93hkv5D8N 6yUYjMttnvih
Fk7yppYiQeRWG4jJO7xSIiFWQdct4aBLzpjWAprYgkhNQANOWCgpigyCJ34W 5TfrQEwF39S0
X8G7cApbMvaIMX+O2bMcz/39Q8+O/JgKVBtxF2CL8TCAj2xzd5zTDefPVYOW 7HzArbUEl/RW
QyhHyy7w6Ivy3jLvPbdj5H/n2D5VuHVRpcuSXX0NVmhTjoQxcPutn3UCqyOT 0MkV/MJXwtov
UEsDBBQAAgAIAEBaazxAzzWWwAEAAGsDAAAcAAAAaGVsaW9zLk1EVF9PQ0xf My4wLmIzYWdn
cmNvbq1TS2sbMRC+F/ofFpXik6W1t8HF7DZ2XZo61DQkJk0JpcjSWBHWY5G0 tn9+Z+NnDjkU
ehMz38z3mN3ycmtNtoYQtXcV6dGcZOCEl9qpiozvJtMpufz09k3JlQqgePJh OPEuBb1oEo5k
W6uHx/F+O44LXRxivSJPKdVDxjabDfVWUR8Ue5hND5DTyhdIEEbXEZ7Ri4L1 817OTlCGElsW
wxdgKjL7Ms9+TL5nBdZQZpaVAWofNSI1xMx4wdOztD2B9BtnPJcvWKyXYNAw szIxLwwr/uSs
qSVPEJnVBmLyDp8kkxBF0PVu5Rl3FsAAjxB3IlDGEnhqAkpw3EJFkOZEKQzl xtAoV3QPoyr4
piaHQ9xyp3CoaK3SdZtA3usPeh/6eXdw3e2OPz8Mrvj89mtzd3/x85tYX/+6 9x+XNwdypEfb
oHYZPAVYon906CNdFG2U7xgbiQZd2ckR96gluKSXGkLVme0T6fwm7L8tvQIH gZv3/fymCXgk
wNfcexPPWEp2CG53TXZ+zl1J4OfHRXpdw77/CJZrU3XGBrbcSQh0qiQ3fj1S bYMKb4/E/7wU
5GijDUa0ohZos9pvKtkr/wn2/gJQSwMEFAACAAgAQFprPNeAUCJnAQAAhQIA ABkAAABoZWxp
b3MuTURUX1VNTDIuYjNhZ2dyY29udZI7T8MwFIV3JP6DZYZudpKWgaqBorJU ogsPCQkxOPat
a/Ajsh3Kz+eWJC0MbJF97vnOuc7i5stZ8gkxmeBrWrKCEvAyKON1TW8fV+s1 vbk+P1sIrSNo
kUOcr4LP0TRdxhHy5cz8OF4dxtHQpzme13SXczvnfL/fs+A0C1Hzl816lJws /yhBWtMm+FE3
U14VZcFPUo4RDxQrGrA13dw9kefNfUUxIyGLCG1IBmUGErFBivyTa3BXYe9t EOoPwgUFFtty
pzLvWiUyJO6MhZSDx09KFCQZTdtbjUBykvRspG9B5C4i2QsHNUX3I6lztmJJ fbBBw3QMXUvH
zT8Ir3Fiyg7tPquiuCqrclbOZpejOdpjG9B9tV2ELdbC4CGxZnpYzwXnS9lh Irc66l6NAp/N
1kCsJ5uh6OSN8jExHyP36+O/99cfSXxsIfP/yOH+FZwwtp68N7GTH0spmGkc k8ENuAX/5w/C
u29QSwMEFAACAAgAQFprPDHT8QZgAQAAgwIAABgAAABoZWxpb3MuTURUX1hT RC5iM2FnZ3Jj
b251UstuAiEU3TfpPxC6cAc+EpsYp9roxoWb2oWJ6YKBK5LymACjfn7vODPa LrohBM49L5gv
rs6SM8Rkgi/oiA0pAS+DMl4X9H232mzo4u35aS60jqBFDnG2Cj5HU9YZR8jV mdl9fNyMI6FP
Mzwv6Cnnasb55XJhwWkWoub77aaHPCj/IEFaUyW4ocsJHw9HQ/6AcrTYqFhR gi3odv1J9rs1
RYuEzCNUIRlEGUjEBinyzVZHrsLF2yDUHwUXFFgMy8EdeV0pkSFxZyykHDxu KVGQZDRVS9Xp
kQeilUbxI4hcRxT2wkFBkfwudE2KJfXNOgjTMdQV7Wv/EF5DU94Uo52bvENc RtPJa8+N7JgF
dBvsFOGIodB2SKycNN28cL6UNRpyqzvuYBT4bI4GYjHYdjEHX5T3hnnvuC2P /26vPZL40kLm
/yW7+wM4YWwxUOJslEtLKZgpHZPBdXpz/s//wbsfUEsDBBQAAgAIAEBaazxY ulDmoAEAAOAD
AAAmAAAAaGVsaW9zLk1lbW9yeV9BbmFseXplcl8oTUFUKS5iM2FnZ3Jjb27V U81r2zAUvw/2
PxiNke0wS0nHtgZ7bchh5BAYWwuDsoMiv8gCWc88yXOzv34vH3Y/oLAee7KQ fp9PcnFx2/js
D1B0GEoxzZXIIBisXLClWPxcrlbi4uvrV4W2lsDqhDRfYkjkNl1iSnbbuPlI n+3pLBjinPdL
UafUzqXs+z7HxuZIVv5arwbIneQDJBjv2ggH9OZMztRUyTuo5Ih7F6834Eux hgZply2C9ru/
QNm79eLqveDAWVYQtBgdcxzEzKPR6RDyZFVhHzzq6oFfAlMH9Gh3stFJWu2d B5RdW+kEH1gM
pMgqiIZce1R7HOD6AI3HCBxiCzp1xAGCbqAUbDIaskN+Oh6/lrBrxXAhP3Sw TFL5Fy49U+pc
fZp+Vucf1SDPBlwL7LFjTbDlfuAdxnxzth/aGykvTRcTNssRd+MqCMltHVA5 +QYBSPu3M/W9
I54X8OoK0cfJbyGHEnJo8Z+tTK3pZXYr5P1Xc9wy/N61SU9nOJ3fQKOdLyc6 VASaEZ2pIVxG
3eYGm9Hz2XpAvQs8V7LQuxRN/UiykE/8nNzoH1BLAwQUAAIACABAWms8uORO 13wBAAA6BAAA
GAAAAGhlbGlvcy5Nb0Rpc2NvLmIzYWdncmNvbt1TO0/DMBDekfgPkRm62YEy VFXCQ2Xp0AUW
JMTgOFfXyPZFttP253NukxYGBjbEEiV3332Pi13d750tthCiQV+za16yArzC 1nhds8eXxXLJ
7u8uLyqpdQAtE4b5An0KpukTjRR7Z+an8Zs8ToQ+zqles01K3VyI3W7H0WmO QYvX1XKEnCm/
IUFZ00U4oJupuCmvS3GGCrKYVaxswNZshU8mKmRksSiqAB1GQygDsbCoZDrY Gshb3HmLsv2m
4LAFS2GFdil/ZDbRd61MEIUzFmJCT6+saCGqYLoj5aBbnBFHC2RiDTL1gQx4 6aBmJHISJA0+
aHDj10HGFHqV0XyY4jpg37HxjzxLr4mj5DNKnTdR5sdsejuqkR6lBH2MvAmw prgUCCNvpnlr
V0I8qJ4susUJ92Za8MmsDYR6shoWMHlnYowgxgy/zPQht3JMEv9HJDqqfzlI Jb6e+WNJ0f2U
Kv0sOfTfwElj64lvAvWdkQ86F7hCNwhW4odrT71PUEsDBBQAAgAIAEBaazzy nB8m0AEAAHAK
AAAWAAAAaGVsaW9zLk15bHluLmIzYWdncmNvbt1WTW+cMBS8V+p/QO5hT7HZ Jb2soEm1pz3k
0qpSpaiqDH54XfyBbBM2/fV9wLJppKZK2lMQEkj2vJk3YzDOr45GJ3fgg3K2 IGuakgRs5YSy
siAfP+/2e3L14e2bnEvpQfLo/HbnbPSq7CKWJEejtufyzVCOhDZscbwghxjb LWN931NnJHVe
sq83+xnyQPkICZVWbYARXWZsk65T9gBl2OKgonkJuiA39/reEmwwSXIPrQsK MQpCol3F49jU
iVq43mrHxSP+6JwOzAwkrGsFj8AOoJULjCQCQuVVO5GMOsmXERImPVSsgcfO o5rlBgqCjGf2
kfP7CUDnp/Sua8mc9yduJZZl9BI97Qej6Sa9vMBbegHZcZZBIfQCcjJ28FCj qbFLWmZDMu8Y
u666EJ3ZnXG3SoCNqlbgi9XOaczL+TGR1TfCZgNsdvBcR7Ts5E+FbIuyVol4 svdXN+/pBq9X
slAVfqVwjAt8BVsBC3T1g9/xBdpSi1ysCNws0FavGvX8TWNNs9djLYjmPxeM vTjGQfQfI5zE
cvb7mWYaGvZ1XsWnAz3N34LhShcroxraoGgEex15aKJr8d9gzmm+mBCZ6hpw G8YjIug/cObs
icMizv0CUEsDBBQAAgAIAEBaazw8D65B0wEAAMwDAAAUAAAAaGVsaW9zLlBE VC5iM2FnZ3Jj
b26tk99P2zAQx98n7X+IPKE+ESfpJo0qGbCCpqIWCkMDCe3Bsa+uhX9EttMy /vpdSFtgEg+T
eHES+3vfz935Uh4+GJ2swAflbEXyNCMJWO6EsrIixz/Hkwk5/PbxQ8mk9CBZ dH40djZ6VbcR
Q5IHo0a78KILR0MbRrhfkWWMzYjS9XqdOiNT5yW9nU22kmfLV0rgWjUBntT1 kBZZntFnKcUU
O4pmNeiKzE+uCaaXJKWHxgWFCgUh0Y6z+JTSxli4tdWOiVfu0TkdaCMibRvB IgRapAU1SkOI
zuInSQQE7lXTeyEs8aCBBQg9FbkLYLH1yLTMQEXQd8dolk0axH26kaTSu7Yh 225fMSuh6xl2
LV0VWXaQ53mRZ1m2/2W4//Xz5fHs+9n4anl+fn/ziz9mHKbs4EJswYjGGkH2 BS89LLBY0MqF
tB52/fpE6RFvsRIz3unulAAb1UKBrwY3UO8V470iu51N+xdmBa5nbMXwcXqK ywmsQLvGYNTg
N6Hvxv4BFjzTSJi3Hi8O8O26u453pcy9k54Zg8OM/lNseMskvGSUdHt//RTR l2PUb3Ecd8bj
2xlszu/AMKWrgXd/jh7BipQ7syP9t4tRfMlA/+tU0jd+RDz7C1BLAwQUAAIA CABkfms8TRb5
W5YBAAB1BQAAFAAAAGhlbGlvcy5QVFAuYjNhZ2dyY29u1ZRBi9swEIXvhf4H o1Jyk7LZW7C7
W3IogRYC3UNh6UG2J4pA0pjRqN6f33HiZLuHXdpDD7nJmjfvfWPQ1HdPMVS/ gLLH1KgbvVQV
pA57n1yjPn/fbLfq7tP7d7V1jsBZRlpvMDH5trC0VE/Rry/tq6ldDFNey32j DszD2phxHDVG
p5Gc+fFte5Y8W75QQhf8kOGobm/NanmzNM9SI4hTSrAthEbtHnZK8KqqJhgw e1F4yFXAzvIR
aTbucUwBbf/CnRFDNgMPpgy9ZcjmAMFjNqrqIXfkh5OHhFSz4hQmcXuwXEii ko3QKLG7WIuh
nsvaEZbh3CRtggXuxHgg2AvfMVG3t9OIH4y570pmjJuL7tH3kNjvPVCz+AIJ yIaPq+WukMwL
cnqYplj8VOaMZs5sf8lKEJFBk3xeEzbwftRsy3X9656vh/eATDb9L94doSMb o2waIf1qkyvW
wRu0tfnzjZ+uOtlFtuPXCeb6I0TrQ7NwerScMUkhDoWBpkVwifxnO/Zt65nz fcnat1GL62xW
m1c2ptR+A1BLAwQUAAIACABAWms8Jka1p5wBAAD5AgAAFAAAAGhlbGlvcy5R VlQuYjNhZ2dy
Y29ulVJLaxsxEL4X+h8W9eCTpfWatMR4Gxf34oJbNw0hEErQrsaysKTZSlpv 8u87G7+SQw65
iZlvvheaXj06m+0gRIO+ZCOeswx8jcp4XbJvf+aLBbv6+vHDVGodQMuEYTJH n4Kp2kQn2aMz
k9N50Z8ToY8Tmpdsk1IzEaLrOo5Ocwxa3C0XR8iZ8hUSamuaCM/oaiyKfJSL M1SQxV7Fygps
yX7f3jCyl2XTAA1GQwgDMbNYy/Rs6UCssPMWpXrF7lCBpaDCFU782yV0VrSN kgmicMZCTOjp
yTIFsQ6m2TOS5K/svN7Lk4E1yNQGEvfSQclI4CRG/Jz4qQTLo9ryA5TrgG3D jvVfS6/pcNwH
5Lsizy9HRX4xzOk1/HL9efj953CV6yWOze3Nw2rVPRQ/Li+61ebogDxQatD7 CjYB1hSfAmLk
1bhv8JMQs7ol225+wt0bBT6ZtYFQDpaHQgZ/mTjGEsdc+5rFy573o5r+g6zT 25KH/T04aWw5
UDsMcsuDVLCd6X7Ga3QnzXfzxQqftjirMFjp1QuuqXjj19LuP1BLAwQUAAIA CABAWms8P0bQ
r8UBAAB1BAAAFAAAAGhlbGlvcy5SQVAuYjNhZ2dyY29urZRBa9tAEIXvhf4H sSX4VK0s92Ss
JsHxwW0DwTE0EHpYSeP10t0dMbuy03/fUSQ7CdQHl1xWi+bNN/MeSLPLJ2eT HVAw6AsxTjOR
gK+wNl4X4vp+vlyKy68fP8yU1gRaRaTpHH0kU7aRW5InZ6bH9rxrZ6APU35f iG2MzVTK/X6f
otMpkpYPt8uD5AX5RgmVNU2AZ3U5kXk2zuSLVPKK3RSrSrCFWF3fCV4vSWYE DQbDCgMhsVip
+LzSAK5x7y2q+g2doiTVMHEiI6Jly1IkNYSKTNN3Mz5Z96XkOOBPP5FnbkDF lnieVw4Kwcwj
n8HpAE0HWaoJ20Yc0l4pr6GLfMKOOpcZH5/H+ZfswOcJbAN072lLsGE/YA2G tJx0kXyS8qpq
Q0Q3P+oeTQ0+mo0BKkY/obzI5xd59nD7o78oX/P5Te0UPxYLPm5gBxYbx12j X0IevMmDuT5e
+Trf90icWt7Swb8SX/Wl5P7m+3+kPoDTUP8+M/l88n7JL/qNVmtOeK1IQ+TL nVVxg+T4OkfX
oGd9OC/0ij8+VcXTSw31R3DK2GJEIQL5EkhfDSEFbKmCtEJ3nHw+dQtETnl/ EjqTJ/4YXPsL
UEsDBBQAAgAIAEBaazzDCpVkmgEAAMIDAAAWAAAAaGVsaW9zLlJpZW5hLmIz YWdncmNvbt1T
wWrcMBC9F/oPQqXsoSA5DrksdtPi9rCUhbKbQyCUIFuzWlFJYyQ5m8/v2F5v mkMuPRaBEDNP
7817tqrbZ+/YE8RkMdT8ShScQehQ22Bq/nXfbDb89vP7d5UyJoJRGeO6wZCj bYdMV9izt+vL
9XK8ToQhrale82PO/VrK0+kk0BuB0cj77WaBvFC+QkLnbJ9gQrfXsiyuCvkC lTTiqOJUC67m
OwtBcRqQsSpCj8kSxkJiDjuVp6HO1BpPwaHSr/hjlnFkkOXIKrY3cui1yiA5 05C6aPuZY5Jh
+28/2Ce2V753kGZRkj2AykMkyaA81JxoLxITt2gH67Q4w0SHtCX9+1IwEYee L99gp4KBKUla
T6P5grbH8rGgtb1ZVEmX/IGZzR4jHMgoOItJtNdjWh+k/NINKaNvLrgHqyFk e7AQ69X3ecbd
3ceyuFPRQKbDT6fyAaOnY4O+x0D4tPrF5WJWLm7/0X2aw/tfAqjk3z/dXOro eaguvz3Uuf8A
XllXr5pjtClbFURD4SD1fQ9IKQkNZ+VKvvH8qPcHUEsDBBQAAgAIAEBaazy3 PwXi+AEAAL4M
AAAUAAAAaGVsaW9zLlNUUC5iM2FnZ3Jjb27dl7Fu2zAQhvcCfQeBReEppOyg i2ElDtzFQ9Ei
zhAg6EBRZ4kAySNIKo7fvidbcpIhgItMlgYJIo//z4+SjqfF7Ys12TOEqNEV bMpzloFTWGlX
F+xus1qv2e3N1y8LWdcBapkwzFfoUtBlm2hI9mL1/DR81g0nQRfn1F6wJiU/ F2K323G0NcdQ
i8df6yHkVfJdJCijfYRDdHktZvk0F6+hgqbYuRhZginY5uEPo+ll2SKAx6gp QkPMDCqZDlPq
hSvcOYOyeqcekxetr2SCKBowGiPLKogqaH8cvPl9lz0gmpjdD+r7ox0ZbkGm NpCZkxYKRoIn
cRLmpbeO9zGnax2w9WxY73vpaugWndaNd5w5nej4MXiQC3FAfYRqAmwJ6DBR Xl53a/JNiKVq
Y0K7OsU96Qpc0lsNoZgQwfdZ/hOewaC31D75y8RAIAaEM5GikucRzfj0AomC jN1bM0K01NKd
24+QjDIJVN13GUcIF8FKclEjQdOWK3yTOsaRFIlqhKmeqEJL0naEj+vsbexi oDwarfbnQl1I
uiiDdF0ZelElx0K8rUOPTYrqZanSx959/xOle22KCTZtMLBf+oBU9cZIWdOe HP9fTUfteC9Z
d22f06MdCbWDpWmdDFeoQLrPCcYEvpEOeBWkB9kusQSkaqxXXIgPfj2o7x9Q SwMEFAACAAgA
QFprPA+OhgumAQAAGQUAABsAAABoZWxpb3MuU3VidmVyc2l2ZS5iM2FnZ3Jj b27dVDtv2zAQ
3gv0Pwjs4CmkZA9tDSkPePLQpVkKBB0o6kxfQfEEPuz43/dsyXYzZEiALF15 330vgqzvnntX
7CBEJN+ISpaiAG+oQ28b8fC4Wq/F3e3nT7W2NoDVicJyRT4FbHPileK5x+Vl fX5cZ0Ifl3ze
iG1Kw1Kp/X4vqbeSglW/fqzPkCvlCyQYh0OEE7pdqHlZleoKVWzxqOJ0C64R j7k9qe9AsMui
qAMMFJGBCLFwZHQ6OZv4O9p7R7p7IZLAbD05sgcVL3SqlF9VHjqd4Ib5QImi g2gCDiPhVbgY
UXE0wBY2oFMOLO91D41giYtcAt3LuPNywkgbKA/ifAE/tbe8wdLym1zPy/J7 Vc4XN9WiLM/s
zM+ZwI4BtwE2HA4cUpTt4ljTF6XuTY6J+tUF94Qd+IQbhNDMVuS4PAqnZma/ hTr7Vmfjbwni
XfWOMOotEjymHAxItJ5YJmQHUf7p0kcL9wd3+I+uamrxg0vLKI0edIsOE+d5 t1yt/n3K45Hh
n0eb9HqZ0/wJeo2umSF3Ktsc0NH9QE4HVj4++anKWr3yq/HsL1BLAwQUAAIA CABAWms8qX+h
x8QBAADbBQAAGgAAAGhlbGlvcy5Td29yZGZpc2guYjNhZ2dyY29u5VTNa9sw FL8P9j8YjZHT
JMdhsAa7H2SD5VA2mh4GZQfZfpbFJD0jKXG7v34vceyujB7KLqU9SUg//T6e pJef3VqT7MAH
ja5gc56yBFyFtXaqYBeb1XrNzk7fvsmlUh6UjOiXK3TR63Ib6Uhya/VyOp7t jxOhC0taL1gb
Y7cUou97jlZx9Er8uFyPkHvKB0iojO4CHNDlQmTpPBX3UEEW9ypGlmAKtunR 140OLSOTSZJ7
6DBowmkIicFKxoOxI32NvTMo6wcaPoowsggPBmSAIFowGgNLagiV191AM6kl Xw/byaU2ECI6
CIM+OWhAxq0ndSctFIwUJrVJhkdEQxXmR/A0Ko/bjo33cSWdIoqUn/CM7/aF SOfZp/Rk8XFU
Iz2KCGrI23poKOvBGi8X+6K9E+K82pJFu5pwN7oGF3WjwRezzbeL91n6GXZg sLO0PvvJxJhF
jGGeFC7Uv55BsC+Dr6trinctvYJIk+9Gxga9pekKbUcX52L4/8T0NnWI/u6V xQ7SdvT+X0jq
XPzdPIalilqdrOLjpo77N2ClNsWMfjWl5j2a5jxgB17yGibJJ9P9DmgiLwFj e/eBPug/nLl4
pC9TxD9QSwMEFAACAAgAQFprPPSl6n19AQAA7gIAABoAAABoZWxpb3MuVE1G X1hURVhULmIz
YWdncmNvbq1SS0sDMRC+C/6HEJGeTNaKKGXXVopKDwXRHgriIbuZTUPzWJKs 7c936m4fHrxJ
LiH55nvMTD7eWkO+IETtXUGvWUYJuMpL7VRBH9+nsxkdP5yf5UKpAEokH0ZT 71LQZZuwhGyt
Hh3Kh7tyJHRxhO8FXaXUjDjfbDbMW8V8UHw5n+0hR8pfSKiMbiL8oMsbPsyu M36EcrS4UzGi
BFPQxfyZLBdPywVFk4TkARofNeI0RGJ8JdKPsZ5e+o0zXshfGtZLMBiXJ1vz tpEiQeRWG4jJ
O7xSIiFWQTcd1UGRHDGdOMrXIFIbUNoJCwVF+oPUNsE2sSjXrAcxFXzb0H3z 34RTWJKxewz4
tUudDfHc3d7u2ZEf84Dqwq0C1BgMrfvIyptdhy44n1QtWrLTA+5DS3BJ1xpC MZj3UQeflP8b
6Qs4CMJcDrPXNmD3AW8L7008Ucn5vjPdmPjpnLqnCrdKVOlvD/3/B1ihTTEQ xsDVWk90Aqsj
k9DL5fyPVcW/b1BLAwQUAAIACABAWms8H8DJXrECAADFCgAAFQAAAGhlbGlv cy5UUFRQLmIz
YWdncmNvbs2WXW/aMBSG7yftP0SZpl5h5wuSIFgXCAVWtWKFIrZqQiYxwW1i Z45DaH/9HKBf
66rRSWhcEKTknPOe5+i8iRvHqyRWlphnhNGmqgNNVTANWEho1FS9YbvfV48/ vX/XQFHEcYQE
4/U2o4KTWS5kirJKSP0h3SjTZUGa1eX9proQIq1DWBQFYEkEGI/g5Kx/H/JY 8lkkDmKSZngd
PTOhoekafAyFssVSJUYzHDfV0WA0UGV/itLgOGUZkSEEZ0rMAiTWPW0rh6yg MUPhs/IiFSnM
0xAJnMEFjgnLoKqEOAs4STfpI5wJOQsF0VAZYD5nPEE0wBtNqTrLaRhLQYoS 3FRl0QeBsjhI
YyTKHIACUBA6Jcg01Pt5XyAaySQLWMDQDLAsUTXdcHVX01T4jwo4qVlivxIk ne9PICY0X+15
ThuNPU9qC/LmWc0xEjnfQYPnVJAEg20CiDjL05ditjTMVkq3SqmKndvLE890 bnimubSTTAv3
Tru+q0wZDu8XWzYiHYSjjZ0WHM+lldYOATOztOMHCD8HeSZY0n6IuyIhlj3N CebNo9I5Hw1N
Gkden1jn6McjK7yH3RU+YXRtcRrtil99iT+yJxWbG+Mzlk2X36KbUIs5KQbD A2eXLymxK7Xc
sJJac3VD1zbUPbtj2/aYn5u9y9Ov1z+rN753utRbt8vpoYNzFOBdyU1gan9g 906cC3uCJs54
0HXOh18uz8MxR9/b3oGzzwgXb1hxw9HlX6Vq+F3b8RznJHWFY1lnVqfWt2qW deC0hfy92c9V
U7edvtPutvRW3HWchTfwh23sdw4cFq9QksqPyd+J5Rr/vtG+3fJ7jtvpDbuG 53S7ru+3O7Wq
8T+ZG/DpGWxzK5CHRRSI11vYPr/CCSJx8+g6QLcUfw4QILMEBCzZyjXgKydQ +ewXUEsDBBQA
AgAIAEBaazyecz+8/wMAAMgUAAAZAAAAaGVsaW9zLldlYlRvb2xzLmIzYWdn cmNvbu1YW2/i
RhR+r9T/gKhWefIdMzgK3cUGh2uJIAlsVhUa24MzxPZYnjFm99fvcYBsUnUl kvShrsoI27LP
me+cj3PDFx93cVTbkoxTlrTrmqzWayTxWUCTsF3vzJ3BoP7x919/ucBhmJEQ C5adOywRGfVy
ASq1XUzPn9T1Uh02TPg53G/X74VIzxWlKAqZxaHMslBZTgZHkR9bvpAkfkRT Th6lPUPRVU1V
fogqYGKJEmGPRO36gnjXjEW8DjbWahcZSRmnIEYJr0XMx+LRrsPuASuSiOHg BURBPFHuoNBE
kDB71FDqtYBwP6PpXh9Qao8wNUPWa08gX/eogLsmWOQZYCY4Ju067PuEUXAh A8Yqp/JB6ukc
ZixP60f2ZzgJQRcQwMOtrqqWpmlN1TRUCU2R7a5ue5N1c8Eb28uOZnbRfXJ9 c5NOjjaAFeAu
Cfe+32dkDX6TiDIue0bJ32+K8snPuWCx8yT3hQYkEXRNSdY+Ay8/6M4HXV1O xvsLnARwHOIt
hlOvB4cu2ZKIpTFonf1ZV47+K0cCTiBkA4SAOsnSjHLyJl5UraEamikhD7n9 KXfnI/220GcT
Zxk1l9L113m8YtXjJRWnMaHLxp4JTVUNWPCR0ARd9wrXQXyGG3O0GC2yz7SS oVFwGe8o1x+T
8jRCNBmWeqQEskZDJlDSktzutHs36w5uup9nq+l6WlQyKA7XEU0e3hEgCLXs 0A6HVnfQGTsT
y7LsasYH8VIcEhKUFfhUPsp1iA4daUhFUsNAlsVss2WaTtPR9YZeSTY2fC3j FPv3RIaenNAA
upvAIc/TlGXidHoOlVU1NSTpEC2FoWkdrWk0K8dK2W9hvnhLX1GbRhkghoT6 qONeed1dHg8u
hwz5BC3mbGPtFuk/2FeuMgbzRhzDqAWuj8GcHAKbP3O8UqRveCBOrdf6s/qk aRBrEnJQy+0R
1xqG43k+kW6LqRs1/if778gWqexD0ns0ogJs+AvZyom/l8/imCXyOs3Y5vQU QVpTa0E/MRDq
oBZHhmkYTaiiQ9uuZKngJANnVzjAKYyk/PWzqK62JFPrsc6Di1DY6ttzv5o1 k0enT1vHaLDK
bqpbEoKR021F7iCdfVOz26tdR32Yi/iqNxndVbKvvkgOkmAvIuWW8uZZjXtb rjRsc2g5lSTl
kCuv7qyHscsyIVA6DddeWTsXX7Lt8nLkO4vJSDdMs8qEvK94wPduP2/phmb9 J3ggO/H64csq
By+E+m6PO/4ftpPZwWjWsDutqv5Ned8rnwGMoP28l43pdvRNtYvGsucNln1w bfsvJORCef7q
bX/LZ4nAvvi5ZYfnX0iMadQ+C/CWBquCRhHFMf+Uc5l6cVmJD7AXyk9eQsKz 71BLAQIUABQA
AgAIAEBaazzfmwCvjwEAAGcEAAAVAAAAAAAAAAEAIAAAAAAAAABoZWxpb3Mu QUNURi5iM2Fn
Z3Jjb25QSwECFAAUAAIACABAWms8b8l2GX8BAACnAgAAGAAAAAAAAAABACAA AADCAQAAaGVs
aW9zLkFtYWxnYW0uYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPLgta2zGDQAA xl8AAA0AAAAA
AAAAAQAgAAAAdwMAAGhlbGlvcy5iM2FnZ3JQSwECFAAUAAIACABAWms820Ns wUECAABqCQAA
FQAAAAAAAAABACAAAABoEQAAaGVsaW9zLkJJUlQuYjNhZ2dyY29uUEsBAhQA FAACAAgAQFpr
PHYzMSWOAQAAzwUAABwAAAAAAAAAAQAgAAAA3BMAAGhlbGlvcy5CdWNrbWlu c3Rlci5iM2Fn
Z3Jjb25QSwECFAAUAAIACABAWms8DJD2SxsCAACOCQAAFAAAAAAAAAABACAA AACkFQAAaGVs
aW9zLkNEVC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8rrLcJswBAAARBAAA GgAAAAAAAAAB
ACAAAADxFwAAaGVsaW9zLkRhdGFUb29scy5iM2FnZ3Jjb25QSwECFAAUAAIA CABAWms8+ui0
IVkCAABVCAAAGwAAAAAAAAABACAAAAD1GQAAaGVsaW9zLkRMVEtfMi4wTTQu YjNhZ2dyY29u
UEsBAhQAFAACAAgAQFprPPoDNEr4AQAA4wUAABkAAAAAAAAAAQAgAAAAhxwA AGhlbGlvcy5E
U0RQX01USi5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8cRVSLm4CAABKBwAA GAAAAAAAAAAB
ACAAAAC2HgAAaGVsaW9zLkRTRFBfVE0uYjNhZ2dyY29uUEsBAhQAFAACAAgA QFprPEgkc72T
AQAAEgQAABkAAAAAAAAAAQAgAAAAWiEAAGhlbGlvcy5EU0RQX1RNTC5iM2Fn Z3Jjb25QSwEC
FAAUAAIACABAWms8kgaCJ4MBAADxAgAAFAAAAAAAAAABACAAAAAkIwAAaGVs aW9zLkVDRi5i
M2FnZ3Jjb25QSwECFAAUAAIACABAWms8C/U4NLMCAABiBwAAGAAAAAAAAAAB ACAAAADZJAAA
aGVsaW9zLkVjbGlwc2UuYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPJmED0Cc AQAAbQcAABwA
AAAAAAAAAQAgAAAAwicAAGhlbGlvcy5FY2xpcHNlTGluay5iM2FnZ3Jjb25Q SwECFAAUAAIA
CABAWms8DIgND4YBAADEAwAAFQAAAAAAAAABACAAAACYKQAAaGVsaW9zLkVH aXQuYjNhZ2dy
Y29uUEsBAhQAFAACAAgAQFprPMRnv8xjAQAAiQIAABsAAAAAAAAAAQAgAAAA USsAAGhlbGlv
cy5FTUZfKENvcmUpLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazwpS1eXgwEA AA8EAAAYAAAA
AAAAAAEAIAAAAO0sAABoZWxpb3MuRU1GX0NETy5iM2FnZ3Jjb25QSwECFAAU AAIACABAWms8
rZ6hrqYBAAD8AgAAGgAAAAAAAAABACAAAACmLgAAaGVsaW9zLkVNRl9RVUVS WS5iM2FnZ3Jj
b25QSwECFAAUAAIACABAWms83aTQackBAADkAwAAGgAAAAAAAAABACAAAACE MAAAaGVsaW9z
LkVNRl9URU5FTy5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8DK33eKcBAAAI AwAAIAAAAAAA
AAABACAAAACFMgAAaGVsaW9zLkVNRl9UUkFOU0FDVElPTi5iM2FnZ3Jjb25Q SwECFAAUAAIA
CABAWms82nsbjqQBAAAFAwAAHwAAAAAAAAABACAAAABqNAAAaGVsaW9zLkVN Rl9WQUxJREFU
SU9OLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazx3n5oPcAEAAJUCAAAdAAAA AAAAAAEAIAAA
AEs2AABoZWxpb3MuRU1GVF9DT01QQVJFLmIzYWdncmNvblBLAQIUABQAAgAI AEBaazxcnkf8
eAEAAJoCAAAbAAAAAAAAAAEAIAAAAPY3AABoZWxpb3MuRU1GVF9JTkRFWC5i M2FnZ3Jjb25Q
SwECFAAUAAIACABAWms8o3gkbG4BAACZAgAAGgAAAAAAAAABACAAAACnOQAA aGVsaW9zLkVN
RlRfTUlOVC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8BVOaC2oBAACNAgAA GQAAAAAAAAAB
ACAAAABNOwAAaGVsaW9zLkVNRlRfTVdFLmIzYWdncmNvblBLAQIUABQAAgAI AEBaazxxWq08
jQEAAAYDAAAYAAAAAAAAAAEAIAAAAO48AABoZWxpb3MuRVBQX1VEQy5iM2Fn Z3Jjb25QSwEC
FAAUAAIACABAWms8nwAFl+8BAACzBAAAGAAAAAAAAAABACAAAACxPgAAaGVs aW9zLkVxdWlu
b3guYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPPFY0wieAQAAxAIAADEAAAAA AAAAAQAgAAAA
1kAAAGhlbGlvcy5FeHRlbmRlZF9FZGl0aW5nX0ZyYW1ld29ya18oRUVGKS5i M2FnZ3Jjb25Q
SwECFAAUAAIACABAWms8X8L9EaQBAABFAwAAFAAAAAAAAAABACAAAADDQgAA aGVsaW9zLkdF
Ri5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8v8j5AIIBAACUAgAAFAAAAAAA AAABACAAAACZ
RAAAaGVsaW9zLkdNRi5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8NDU4LIkB AACjAgAAJgAA
AAAAAAABACAAAABNRgAAaGVsaW9zLkphdmFfV29ya2Zsb3dfVG9vbGluZy5i M2FnZ3Jjb25Q
SwECFAAUAAIACABAWms87Mc7IUYCAABrDwAAHAAAAAAAAAABACAAAAAaSAAA aGVsaW9zLkxp
bnV4X1Rvb2xzLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazyXSFp6ZQEAAIoC AAAYAAAAAAAA
AAEAIAAAAJpKAABoZWxpb3MuTTJNX0FUTC5iM2FnZ3Jjb25QSwECFAAUAAIA CABAWms8HwA2
R2sBAACQAgAAHAAAAAAAAAABACAAAAA1TAAAaGVsaW9zLk0yVF9BQ0NFTEVP LmIzYWdncmNv
blBLAQIUABQAAgAIAEBaazw7kSzThQEAAJ0CAAAYAAAAAAAAAAEAIAAAANpN AABoZWxpb3Mu
TTJUX0pFVC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8nybapWkBAACOAgAA GgAAAAAAAAAB
ACAAAACVTwAAaGVsaW9zLk0yVF9YUEFORC5iM2FnZ3Jjb25QSwECFAAUAAIA CABAWms8QM81
lsABAABrAwAAHAAAAAAAAAABACAAAAA2UQAAaGVsaW9zLk1EVF9PQ0xfMy4w LmIzYWdncmNv
blBLAQIUABQAAgAIAEBaazzXgFAiZwEAAIUCAAAZAAAAAAAAAAEAIAAAADBT AABoZWxpb3Mu
TURUX1VNTDIuYjNhZ2dyY29uUEsBAhQAFAACAAgAQFprPDHT8QZgAQAAgwIA ABgAAAAAAAAA
AQAgAAAAzlQAAGhlbGlvcy5NRFRfWFNELmIzYWdncmNvblBLAQIUABQAAgAI AEBaazxYulDm
oAEAAOADAAAmAAAAAAAAAAEAIAAAAGRWAABoZWxpb3MuTWVtb3J5X0FuYWx5 emVyXyhNQVQp
LmIzYWdncmNvblBLAQIUABQAAgAIAEBaazy45E7XfAEAADoEAAAYAAAAAAAA AAEAIAAAAEhY
AABoZWxpb3MuTW9EaXNjby5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms88pwf JtABAABwCgAA
FgAAAAAAAAABACAAAAD6WQAAaGVsaW9zLk15bHluLmIzYWdncmNvblBLAQIU ABQAAgAIAEBa
azw8D65B0wEAAMwDAAAUAAAAAAAAAAEAIAAAAP5bAABoZWxpb3MuUERULmIz YWdncmNvblBL
AQIUABQAAgAIAGR+azxNFvlblgEAAHUFAAAUAAAAAAAAAAEAIAAAAANeAABo ZWxpb3MuUFRQ
LmIzYWdncmNvblBLAQIUABQAAgAIAEBaazwmRrWnnAEAAPkCAAAUAAAAAAAA AAEAIAAAAMtf
AABoZWxpb3MuUVZULmIzYWdncmNvblBLAQIUABQAAgAIAEBaazw/RtCvxQEA AHUEAAAUAAAA
AAAAAAEAIAAAAJlhAABoZWxpb3MuUkFQLmIzYWdncmNvblBLAQIUABQAAgAI AEBaazzDCpVk
mgEAAMIDAAAWAAAAAAAAAAEAIAAAAJBjAABoZWxpb3MuUmllbmEuYjNhZ2dy Y29uUEsBAhQA
FAACAAgAQFprPLc/BeL4AQAAvgwAABQAAAAAAAAAAQAgAAAAXmUAAGhlbGlv cy5TVFAuYjNh
Z2dyY29uUEsBAhQAFAACAAgAQFprPA+OhgumAQAAGQUAABsAAAAAAAAAAQAg AAAAiGcAAGhl
bGlvcy5TdWJ2ZXJzaXZlLmIzYWdncmNvblBLAQIUABQAAgAIAEBaazypf6HH xAEAANsFAAAa
AAAAAAAAAAEAIAAAAGdpAABoZWxpb3MuU3dvcmRmaXNoLmIzYWdncmNvblBL AQIUABQAAgAI
AEBaazz0pep9fQEAAO4CAAAaAAAAAAAAAAEAIAAAAGNrAABoZWxpb3MuVE1G X1hURVhULmIz
YWdncmNvblBLAQIUABQAAgAIAEBaazwfwMlesQIAAMUKAAAVAAAAAAAAAAEA IAAAABhtAABo
ZWxpb3MuVFBUUC5iM2FnZ3Jjb25QSwECFAAUAAIACABAWms8nnM/vP8DAADI FAAAGQAAAAAA
AAABACAAAAD8bwAAaGVsaW9zLldlYlRvb2xzLmIzYWdncmNvblBLBQYAAAAA NQA1ALsOAAAy
dAAAAAA=
--------------080209040903070004070506--
Re: Helios release was successfully built with b3 aggregator [message #603380 is a reply to message #520391] Fri, 12 March 2010 04:37 Go to previous message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
On 03/12/2010 09:45 AM, Filip Hrbek wrote:
> Regarding the conversion on the fly - that's not possible now. We
> provide an interactive wizard in the UI instead.
>
How difficult is it to automate this process and provide sane defaults so that the current .build files can be used 'as
is' without manual intervention?

I think that's important if we want to try using the new aggregator in parallel with the old one during a test period.
We can't expect the contributors to maintain two set of files, or even add the extra burden of converting using an UI.

- thomas
Re: Helios release was successfully built with b3 aggregator [message #603382 is a reply to message #520402] Fri, 12 March 2010 06:49 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Thomas,

I am thinking about the same. I think it is worth implementing for the convenience.
Transformation from old galileo builds into new b3 builds has no interactive questions, so there is no problem with the defaults.

All we'll have to do is renaming on of the contribution (the format requires a unique set of labels).

I'll into this and I'll inform you when done.

Filip

Thomas Hallgren wrote:
> On 03/12/2010 09:45 AM, Filip Hrbek wrote:
>> Regarding the conversion on the fly - that's not possible now. We
>> provide an interactive wizard in the UI instead.
>>
> How difficult is it to automate this process and provide sane defaults
> so that the current .build files can be used 'as is' without manual
> intervention?
>
> I think that's important if we want to try using the new aggregator in
> parallel with the old one during a test period. We can't expect the
> contributors to maintain two set of files, or even add the extra burden
> of converting using an UI.
>
> - thomas
Re: Helios release was successfully built with b3 aggregator [message #603391 is a reply to message #520440] Sat, 13 March 2010 17:59 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Good news: on-the-fly model transformation has been implemented in headless mode! This should enable David easy testing of the new tool.
All that's left is to build it with the latest milestone and test.

I'll let you know when everything is ready.

Filip

Filip Hrbek wrote:
> Thomas,
>
> I am thinking about the same. I think it is worth implementing for the
> convenience.
> Transformation from old galileo builds into new b3 builds has no
> interactive questions, so there is no problem with the defaults.
>
> All we'll have to do is renaming on of the contribution (the format
> requires a unique set of labels).
>
> I'll into this and I'll inform you when done.
>
> Filip
>
> Thomas Hallgren wrote:
>> On 03/12/2010 09:45 AM, Filip Hrbek wrote:
>>> Regarding the conversion on the fly - that's not possible now. We
>>> provide an interactive wizard in the UI instead.
>>>
>> How difficult is it to automate this process and provide sane defaults
>> so that the current .build files can be used 'as is' without manual
>> intervention?
>>
>> I think that's important if we want to try using the new aggregator in
>> parallel with the old one during a test period. We can't expect the
>> contributors to maintain two set of files, or even add the extra
>> burden of converting using an UI.
>>
>> - thomas
Re: Helios release was successfully built with b3 aggregator [message #603409 is a reply to message #520361] Tue, 16 March 2010 05:39 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Hi David,

the b3 aggregator is ready for testing on your side. I have implemented the on-the-fly transformation of obsolete files in the headless mode so you can try to run the old galileo builder in parallel with the new b3 aggregator at the same time, on the same build files. Once the galileo builder is completely replaced with the b3 aggregator, it is recommended to transform the old files into the format permanently.

For interactive viewing/editing the build files, you can use the b3 aggregator editor which can be installed from http://download.eclipse.org/modeling/emft/b3/updates-3.6 (compatible with Eclipse 3.6M6).

For headless run, you can use b3 aggregator with command line interface from http://download.eclipse.org/modeling/emft/b3/headless-3.6

Use following commadn to install the headless variation:

director -r http://download.eclipse.org/modeling/emft/b3/headless-3.6 -d <target installation directory> -p b3 -i org.eclipse.b3.cli.product -i org.eclipse.b3.aggregator.engine.feature.feature.group

To run the headless b3 aggregator, run "<target installation directory>/b3 aggregate" which will print out the usage (options are very similar to galileo builder's).


Steps that need to be taken to make the transformation successful
============================================================ =====
The transformation checks the model integrity. Therefore we need to make a few modifications to the original build files before we run the transformation (regardless whether on-the-fly or persistent):

1. Rename contribution label in emft-emfindex.build (e.g. to 'EMFT EMF INDEX') to make all contribution labels unique
2. Comment out all occurrences of references to contributions that are commented out (currently pdt.build and dsdp-sequoyah.build) in helios.build

After making these changes the transformation should run smoothly.

However, when I try to run the build, I get an error (see below). This should be fixed in the dependencies of individual projects that are included in the aggregation.

Regards
Filip

This is the error:

Cannot complete the install because of a conflicting dependency.
[0]Software being installed: all.contributed.content.feature.group 1.0.0
[0]Only one of the following can be installed at once:
[0.2]Java Development Tools JUnit runtime support 3.4.200.v20091207-1800 (org.eclipse.jdt.junit.runtime 3.4.200.v20091207-1800)
[0.2]Java Development Tools JUnit runtime support 3.4.100.v20090914-0800 (org.eclipse.jdt.junit.runtime 3.4.100.v20090914-0800)
[0.2]Java Development Tools JUnit runtime support 3.4.200.v20100124-2000 (org.eclipse.jdt.junit.runtime 3.4.200.v20100124-2000)
[0.2]Java Development Tools JUnit runtime support 3.4.200.v20100308-1800 (org.eclipse.jdt.junit.runtime 3.4.200.v20100308-1800)
[0.2]Java Development Tools JUnit runtime support 3.4.100.v20090803-1800 (org.eclipse.jdt.junit.runtime 3.4.100.v20090803-1800)
[0.2]Java Development Tools JUnit runtime support 3.4.100.v20091026-1200 (org.eclipse.jdt.junit.runtime 3.4.100.v20091026-1200)
[0]Cannot satisfy dependency:
[0.2]From: all.contributed.content.feature.group 1.0.0
[0.2]To: org.eclipse.jdt.feature.group 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027
[0]Cannot satisfy dependency:
[0.2]From: all.contributed.content.feature.group 1.0.0
[0.2]To: org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223
[0]Cannot satisfy dependency:
[0.2]From: Eclipse Java Development Tools 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027 (org.eclipse.jdt.feature.group 3.6.0.v20100
308-1800-7z8XFRBFMTdeDrqFpIInkeg45027)
[0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100308-1800]
[0]Cannot satisfy dependency:
[0.2]From: Rich Ajax Platform (RAP) Runtime SDK 1.3.0.20100201-1223 (org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223)
[0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100124-2000]
Re: Helios release was successfully built with b3 aggregator [message #603476 is a reply to message #603409] Wed, 14 April 2010 04:13 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Hi David,

what is the status of Helios build with the b3 aggregator? Are there any issues that should be solved?

Thanks,

Filip


Filip Hrbek wrote:
> Hi David,
>
> the b3 aggregator is ready for testing on your side. I have implemented
> the on-the-fly transformation of obsolete files in the headless mode so
> you can try to run the old galileo builder in parallel with the new b3
> aggregator at the same time, on the same build files. Once the galileo
> builder is completely replaced with the b3 aggregator, it is recommended
> to transform the old files into the format permanently.
>
> For interactive viewing/editing the build files, you can use the b3
> aggregator editor which can be installed from
> http://download.eclipse.org/modeling/emft/b3/updates-3.6 (compatible
> with Eclipse 3.6M6).
>
> For headless run, you can use b3 aggregator with command line interface
> from http://download.eclipse.org/modeling/emft/b3/headless-3.6
>
> Use following commadn to install the headless variation:
>
> director -r http://download.eclipse.org/modeling/emft/b3/headless-3.6 -d
> <target installation directory> -p b3 -i org.eclipse.b3.cli.product -i
> org.eclipse.b3.aggregator.engine.feature.feature.group
>
> To run the headless b3 aggregator, run "<target installation
> directory>/b3 aggregate" which will print out the usage (options are
> very similar to galileo builder's).
>
>
> Steps that need to be taken to make the transformation successful
> ============================================================ =====
> The transformation checks the model integrity. Therefore we need to make
> a few modifications to the original build files before we run the
> transformation (regardless whether on-the-fly or persistent):
>
> 1. Rename contribution label in emft-emfindex.build (e.g. to 'EMFT EMF
> INDEX') to make all contribution labels unique
> 2. Comment out all occurrences of references to contributions that are
> commented out (currently pdt.build and dsdp-sequoyah.build) in helios.build
>
> After making these changes the transformation should run smoothly.
>
> However, when I try to run the build, I get an error (see below). This
> should be fixed in the dependencies of individual projects that are
> included in the aggregation.
>
> Regards
> Filip
>
> This is the error:
>
> Cannot complete the install because of a conflicting dependency.
> [0]Software being installed: all.contributed.content.feature.group 1.0.0
> [0]Only one of the following can be installed at once:
> [0.2]Java Development Tools JUnit runtime support 3.4.200.v20091207-1800
> (org.eclipse.jdt.junit.runtime 3.4.200.v20091207-1800)
> [0.2]Java Development Tools JUnit runtime support 3.4.100.v20090914-0800
> (org.eclipse.jdt.junit.runtime 3.4.100.v20090914-0800)
> [0.2]Java Development Tools JUnit runtime support 3.4.200.v20100124-2000
> (org.eclipse.jdt.junit.runtime 3.4.200.v20100124-2000)
> [0.2]Java Development Tools JUnit runtime support 3.4.200.v20100308-1800
> (org.eclipse.jdt.junit.runtime 3.4.200.v20100308-1800)
> [0.2]Java Development Tools JUnit runtime support 3.4.100.v20090803-1800
> (org.eclipse.jdt.junit.runtime 3.4.100.v20090803-1800)
> [0.2]Java Development Tools JUnit runtime support 3.4.100.v20091026-1200
> (org.eclipse.jdt.junit.runtime 3.4.100.v20091026-1200)
> [0]Cannot satisfy dependency:
> [0.2]From: all.contributed.content.feature.group 1.0.0
> [0.2]To: org.eclipse.jdt.feature.group
> 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027
> [0]Cannot satisfy dependency:
> [0.2]From: all.contributed.content.feature.group 1.0.0
> [0.2]To: org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223
> [0]Cannot satisfy dependency:
> [0.2]From: Eclipse Java Development Tools
> 3.6.0.v20100308-1800-7z8XFRBFMTdeDrqFpIInkeg45027
> (org.eclipse.jdt.feature.group 3.6.0.v20100
> 308-1800-7z8XFRBFMTdeDrqFpIInkeg45027)
> [0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100308-1800]
> [0]Cannot satisfy dependency:
> [0.2]From: Rich Ajax Platform (RAP) Runtime SDK 1.3.0.20100201-1223
> (org.eclipse.rap.runtime.sdk.feature.group 1.3.0.20100201-1223)
> [0.2]To: org.eclipse.jdt.junit.runtime [3.4.200.v20100124-2000]
Re: Helios release was successfully built with b3 aggregator [message #603742 is a reply to message #527135] Sun, 18 April 2010 17:06 Go to previous message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> Hi David,
>
> what is the status of Helios build with the b3 aggregator? Are there any
> issues that should be solved?
>

I took a few hours to start looking into this new aggregator.
I wanted to get/see the IDE version first, before trying to do anything
headless. I used 3.6 M6 as my base and installed aggregator from
http://download.eclipse.org/modeling/emft/b3/updates-3.6/

The transformation of helios.build seemed to go well. (After I fixed one
contribution, so they all had distinct labels). Just the one file was
"transformed", helios.build to helios.b3aggr and it seemed to just
"pull in" all the data it needed, from the other .build files. That's
probably fine and well ... but did sort of expect it to "transform" them
all, and helios.build would still refer to individual ones by reference.
But ... that's a side issue that doesn't matter for now.

Now, next, is where I have some problems. Essentially I seem to always
get "Unable to load repository ...." messages.
If I 'build', 'verify', almost anything, I get that message .... and
always a different repository named.

At first I thought maybe I just needed to wait, and let it finish
downloading all the metadata it was obviously trying to download. (many
many jobs still running in progress view).
Eventually some red-X's showed up on some of the repos, and I could
click "reload repository" and the red-X would go away. But, still
'verify' or 'build' results in the "unable to load .... ".

So ... am I on right level? Is post M6 base required? If it "works for
you" I can hope a bug with the logs ... but, thought I'd report "first
experience" here, in case I'm way off base and going about it all wrong.

Much thanks,
Re: Helios release was successfully built with b3 aggregator [message #603746 is a reply to message #528024] Sun, 18 April 2010 18:32 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
Thanks you for your first experience report!

The M6 base should be ok. However, a lot of refactoring has been done recently which means that I should retest everything from scratch (starting with clean M6 Eclipse IDE, installing the aggregator from current update site, and testing the helios.build which is quite different from my small testing samples...)

For headless run I realize that there may be problems before https://bugs.eclipse.org/bugs/show_bug.cgi?id=305863 is published (targeted to M7). But I don't think that there were any problems in the IDE.

I'll check it (very soon) and I will see if it now works for me or not (it used to work before but...)

Regarding the conversion - yes, the conversion does not automatically create referenced files but stores everything in one file. It is then possible to detach all contributions (on by one) manually in the editor (context menu -> Detach).
For testing purpose it is ok to run the aggregation from the single converted file, or using the on-the-fly conversion in headless mode. We can also consider automatic conversion into detached contributions but I am not sure if it is really necessary.

Filip

David Williams wrote:
> I took a few hours to start looking into this new aggregator.
> I wanted to get/see the IDE version first, before trying to do anything
> headless. I used 3.6 M6 as my base and installed aggregator from
> http://download.eclipse.org/modeling/emft/b3/updates-3.6/
>
> The transformation of helios.build seemed to go well. (After I fixed one
> contribution, so they all had distinct labels). Just the one file was
> "transformed", helios.build to helios.b3aggr and it seemed to just
> "pull in" all the data it needed, from the other .build files. That's
> probably fine and well ... but did sort of expect it to "transform" them
> all, and helios.build would still refer to individual ones by reference.
> But ... that's a side issue that doesn't matter for now.
>
> Now, next, is where I have some problems. Essentially I seem to always
> get "Unable to load repository ...." messages.
> If I 'build', 'verify', almost anything, I get that message .... and
> always a different repository named.
>
> At first I thought maybe I just needed to wait, and let it finish
> downloading all the metadata it was obviously trying to download. (many
> many jobs still running in progress view).
> Eventually some red-X's showed up on some of the repos, and I could
> click "reload repository" and the red-X would go away. But, still
> 'verify' or 'build' results in the "unable to load .... ".
>
> So ... am I on right level? Is post M6 base required? If it "works for
> you" I can hope a bug with the logs ... but, thought I'd report "first
> experience" here, in case I'm way off base and going about it all wrong.
>
> Much thanks,
Re: Helios release was successfully built with b3 aggregator [message #603751 is a reply to message #528030] Tue, 20 April 2010 10:36 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
I fixed (hopefully) all the bugs that prevented you from running the aggregator on the helios.build in M6 IDE.

Now I am building the update site (with some problems in the hudson build...). Once the site is ready,
I will retest everything once more in a fresh Eclipse IDE installation.

I still expect problems in the headless run for the bug in org.eclise.equinox.common. If it is really the case
I will provide a patch for the headless installation. From M7 on the problem should be gone.

Stay tuned, I'll let you know when everything works perfectly for me.

Filip


Filip Hrbek wrote:
> Thanks you for your first experience report!
>
> The M6 base should be ok. However, a lot of refactoring has been done
> recently which means that I should retest everything from scratch
> (starting with clean M6 Eclipse IDE, installing the aggregator from
> current update site, and testing the helios.build which is quite
> different from my small testing samples...)
>
> For headless run I realize that there may be problems before
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=305863 is published
> (targeted to M7). But I don't think that there were any problems in the
> IDE.
>
> I'll check it (very soon) and I will see if it now works for me or not
> (it used to work before but...)
>
> Regarding the conversion - yes, the conversion does not automatically
> create referenced files but stores everything in one file. It is then
> possible to detach all contributions (on by one) manually in the editor
> (context menu -> Detach).
> For testing purpose it is ok to run the aggregation from the single
> converted file, or using the on-the-fly conversion in headless mode. We
> can also consider automatic conversion into detached contributions but I
> am not sure if it is really necessary.
>
> Filip
>
> David Williams wrote:
>> I took a few hours to start looking into this new aggregator.
>> I wanted to get/see the IDE version first, before trying to do anything
>> headless. I used 3.6 M6 as my base and installed aggregator from
>> http://download.eclipse.org/modeling/emft/b3/updates-3.6/
>>
>> The transformation of helios.build seemed to go well. (After I fixed one
>> contribution, so they all had distinct labels). Just the one file was
>> "transformed", helios.build to helios.b3aggr and it seemed to just
>> "pull in" all the data it needed, from the other .build files. That's
>> probably fine and well ... but did sort of expect it to "transform" them
>> all, and helios.build would still refer to individual ones by reference.
>> But ... that's a side issue that doesn't matter for now.
>>
>> Now, next, is where I have some problems. Essentially I seem to always
>> get "Unable to load repository ...." messages.
>> If I 'build', 'verify', almost anything, I get that message .... and
>> always a different repository named.
>>
>> At first I thought maybe I just needed to wait, and let it finish
>> downloading all the metadata it was obviously trying to download. (many
>> many jobs still running in progress view).
>> Eventually some red-X's showed up on some of the repos, and I could
>> click "reload repository" and the red-X would go away. But, still
>> 'verify' or 'build' results in the "unable to load .... ".
>>
>> So ... am I on right level? Is post M6 base required? If it "works for
>> you" I can hope a bug with the logs ... but, thought I'd report "first
>> experience" here, in case I'm way off base and going about it all wrong.
>>
>> Much thanks,
>
Re: Helios release was successfully built with b3 aggregator [message #603762 is a reply to message #528451] Thu, 22 April 2010 08:11 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
David,

the update site is ready.

Sorry for the delay but we had some problems with hudson build at eclipse.

I tried to load, verify and build the whole helios in my Eclipse IDE. Everything worked fine.
I also tried to run a headless build which worked fine too in spite of that I expected possible problems in initial loading of the repositories.
If you get errors in headless mode while loading the repositories, let me know. Replacing the bundle org.eclipse.equinox.common with a newer version
should help.

Please, try it now and let me know if everything is ok.

Regards
Filip


Filip Hrbek wrote:
> I fixed (hopefully) all the bugs that prevented you from running the
> aggregator on the helios.build in M6 IDE.
>
> Now I am building the update site (with some problems in the hudson
> build...). Once the site is ready,
> I will retest everything once more in a fresh Eclipse IDE installation.
>
> I still expect problems in the headless run for the bug in
> org.eclise.equinox.common. If it is really the case
> I will provide a patch for the headless installation. From M7 on the
> problem should be gone.
>
> Stay tuned, I'll let you know when everything works perfectly for me.
>
> Filip
>
>
> Filip Hrbek wrote:
>> Thanks you for your first experience report!
>>
>> The M6 base should be ok. However, a lot of refactoring has been done
>> recently which means that I should retest everything from scratch
>> (starting with clean M6 Eclipse IDE, installing the aggregator from
>> current update site, and testing the helios.build which is quite
>> different from my small testing samples...)
>>
>> For headless run I realize that there may be problems before
>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=305863 is published
>> (targeted to M7). But I don't think that there were any problems in the
>> IDE.
>>
>> I'll check it (very soon) and I will see if it now works for me or not
>> (it used to work before but...)
>>
>> Regarding the conversion - yes, the conversion does not automatically
>> create referenced files but stores everything in one file. It is then
>> possible to detach all contributions (on by one) manually in the editor
>> (context menu -> Detach).
>> For testing purpose it is ok to run the aggregation from the single
>> converted file, or using the on-the-fly conversion in headless mode. We
>> can also consider automatic conversion into detached contributions but I
>> am not sure if it is really necessary.
>>
>> Filip
>>
>> David Williams wrote:
>>> I took a few hours to start looking into this new aggregator.
>>> I wanted to get/see the IDE version first, before trying to do anything
>>> headless. I used 3.6 M6 as my base and installed aggregator from
>>> http://download.eclipse.org/modeling/emft/b3/updates-3.6/
>>>
>>> The transformation of helios.build seemed to go well. (After I fixed one
>>> contribution, so they all had distinct labels). Just the one file was
>>> "transformed", helios.build to helios.b3aggr and it seemed to just
>>> "pull in" all the data it needed, from the other .build files. That's
>>> probably fine and well ... but did sort of expect it to "transform" them
>>> all, and helios.build would still refer to individual ones by reference.
>>> But ... that's a side issue that doesn't matter for now.
>>>
>>> Now, next, is where I have some problems. Essentially I seem to always
>>> get "Unable to load repository ...." messages.
>>> If I 'build', 'verify', almost anything, I get that message .... and
>>> always a different repository named.
>>>
>>> At first I thought maybe I just needed to wait, and let it finish
>>> downloading all the metadata it was obviously trying to download. (many
>>> many jobs still running in progress view).
>>> Eventually some red-X's showed up on some of the repos, and I could
>>> click "reload repository" and the red-X would go away. But, still
>>> 'verify' or 'build' results in the "unable to load .... ".
>>>
>>> So ... am I on right level? Is post M6 base required? If it "works for
>>> you" I can hope a bug with the logs ... but, thought I'd report "first
>>> experience" here, in case I'm way off base and going about it all wrong.
>>>
>>> Much thanks,
>>
>
Re: Helios release was successfully built with b3 aggregator [message #606011 is a reply to message #528923] Mon, 26 April 2010 02:45 Go to previous message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
Filip Hrbek wrote:
> David,
>
> the update site is ready.
>

I had success ... at least at trying it out. Seemed to work in my
workspace (but, didn't really check the results, just saying it ran).

But, headless, I had more trouble.

But first the small things

What happened to following options? Are there other ways to specify
them? As part of model? I'm just curious at this point, but suspect I'll
need to know more detail later.

-packedStrategy copy
-trustedContributions Eclipse,Equinox
-logLevel DEBUG

Is there a "how to use" wiki, like the galileo builder?
http://wiki.eclipse.org/Buckminster_Galileo_Builder
I've lost the link if so, but might be nice to describe "what's
different" from previous builder.

Ok, worse, I could not get the batch version to install. Either your
repo has changed from the directions I got, or, more likely, I didn't
understand your directions. Is is supposed to be installed into an
existing Eclipse? Or as a stand-alone product? Here's some console log,
if that helps you figure out what mistake I'm making. It ends with
"unable to load repository" ... but ... nothings obviously wrong, the
little bit I looked.



Configuration location:
file:/home/shared/helios/prereqs/eclipse/configuration/
Framework located:

file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
Framework classpath:

file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
Debug options:
file:/home/shared/helios/org.eclipse.helios.tools/.options not found
Time to load bundles: 10
Starting application: 2363
!SESSION 2010-04-26 02:47:52.377
-----------------------------------------------
eclipse.buildId=I20100312-1448
java.fullversion=J2RE 1.6.0 IBM J9 2.4 Linux x86-32
jvmxi3260-20081105_25433 (JIT enabled, AOT enabled)
J9VM - 20081105_025433_lHdSMr
JIT - r9_20081031_1330
GC - 20081027_AB
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -application org.eclipse.equinox.p2.director
-repository http://download.eclipse.org/modeling/emft/b3/headless-3.6/
-d /home/shared/helios/prereqs/eclipse -p b3 -i
org.eclipse.b3.cli.product -i
org.eclipse.b3.aggregator.engine.feature.feature.group
Command-line arguments: -os linux -ws gtk -arch x86 -consolelog -data
../workspace-getAggregator -debug -application
org.eclipse.equinox.p2.director -repository
http://download.eclipse.org/modeling/emft/b3/headless-3.6/ -d
/home/shared/helios/prereqs/eclipse -p b3 -i org.eclipse.b3.cli.product
-i org.eclipse.b3.aggregator.engine.feature.feature.group

!ENTRY org.eclipse.equinox.p2.artifact.repository 4 1000 2010-04-26
02:47:57.185
!MESSAGE No repository found at
http://download.eclipse.org/modeling/emft/b3/headless-3.6/

!ENTRY org.eclipse.equinox.p2.repository 4 1002 2010-04-26 02:47:57.808
!MESSAGE Unable to read repository at
http://download.eclipse.org/modeling/emft/b3/headless-3.6/co ntent.jar
!STACK 0
java.util.NoSuchElementException
at java.util.TreeMap.firstKey(TreeMap.java:4251)
at java.util.TreeMap$NavigableSubMap.values(TreeMap.java:3042)
at
org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.getRecentSpeed(ProgressStatistics.java:101)
at
org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.report(ProgressStatistics.java:126)
at
org.eclipse.equinox.internal.p2.repository.FileReader.handle TransferEvent(FileReader.java:156)
at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.fireReceiveStartEvent(AbstractRetrieveFileTr ansfer.java:660)
at
org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientR etrieveFileTransfer.openStreams(HttpClientRetrieveFileTransf er.java:715)
at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:878)
at
org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:565)
at
org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocol RetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAda pter.java:98)
at
org.eclipse.equinox.internal.p2.repository.FileReader.sendRe trieveRequest(FileReader.java:336)
at
org.eclipse.equinox.internal.p2.repository.FileReader.readIn to(FileReader.java:282)
at
org.eclipse.equinox.internal.p2.repository.RepositoryTranspo rt.download(RepositoryTransport.java:71)
at
org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.updateCache(CacheManager.java:406)
at
org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.createCache(CacheManager.java:208)
at
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.getLocalFile(SimpleMetadataRepositor yFactory.java:63)
at
org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.load(SimpleMetadataRepositoryFactory .java:85)
at
org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.factoryLoad(MetadataRepositoryManager.java :57)
at
org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:713)
at
org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:661)
at
org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:96)
at
org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:92)
at
org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.initializeRepositories(DirectorApplication.java:394)
at
org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.run(DirectorApplication.java:769)
at
org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.start(DirectorApplication.java:913)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:45)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:599)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1406)
Installation failed.
Unable to load repositories.
Application failed, log file location:
/home/shared/helios/org.eclipse.helios.tools/workspace-getAg gregator/.metadata/.log

!ENTRY org.eclipse.equinox.p2.core 4 0 2010-04-26 02:48:54.989
!MESSAGE Unable to load repositories.
Re: Helios release was successfully built with b3 aggregator [message #606016 is a reply to message #529493] Mon, 26 April 2010 06:45 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
David,

see comments inside.

Filip

David Williams wrote:
> Filip Hrbek wrote:
>
> What happened to following options? Are there other ways to specify
> them? As part of model? I'm just curious at this point, but suspect I'll
> need to know more detail later.
>
> -packedStrategy copy
This can be set in the model on the top node (Aggregator).


> -trustedContributions Eclipse,Equinox
This can be set in the model on each mapped repository (property "Mirror Artifacts", change value to false).

Using these options needs converting the model first and then modifying appropriate properties (currently there's no way of running it in the on-the-fly conversion mode).

> -logLevel DEBUG
Currently the standard Eclipse logger is used. No logging output is provided to the console unless "-consoleLog" option is used.
This may change in future since (at least in my view) it would be useful to provide filtered output to the console (as it used to be with the buckminster logger).


>
> Is there a "how to use" wiki, like the galileo builder?
> http://wiki.eclipse.org/Buckminster_Galileo_Builder
> I've lost the link if so, but might be nice to describe "what's
> different" from previous builder.
This is our debt. There's a new wiki page but it is under construction (with contents only copied from the Galileo Builder but not updated).


>
> Ok, worse, I could not get the batch version to install. Either your
> repo has changed from the directions I got, or, more likely, I didn't
> understand your directions. Is is supposed to be installed into an
> existing Eclipse? Or as a stand-alone product? Here's some console log,
> if that helps you figure out what mistake I'm making. It ends with
> "unable to load repository" ... but ... nothings obviously wrong, the
> little bit I looked.
>

I think that you understand my directions. The b3 aggregator is a standalone product, there's no need to pre-install Eclipse at all.
I can't reproduce the error though. The repository exists and I am able to install the headless aggregator from it.
I looked into the java source code where it crashes (TreeMap.java) but it is completely different from yours (much less lines in Sun's implementation), so perhaps this is an IBM java specific problem.
Are you able to install anything else than b3 aggregator with the director application?

>
>
> Configuration location:
> file:/home/shared/helios/prereqs/eclipse/configuration/
> Framework located:
>
> file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
>
> Framework classpath:
>
> file:/home/shared/helios/prereqs/eclipse/plugins/org.eclipse .osgi_3.6.0.v20100301.jar
>
> Debug options:
> file:/home/shared/helios/org.eclipse.helios.tools/.options not found
> Time to load bundles: 10
> Starting application: 2363
> !SESSION 2010-04-26 02:47:52.377
> -----------------------------------------------
> eclipse.buildId=I20100312-1448
> java.fullversion=J2RE 1.6.0 IBM J9 2.4 Linux x86-32
> jvmxi3260-20081105_25433 (JIT enabled, AOT enabled)
> J9VM - 20081105_025433_lHdSMr
> JIT - r9_20081031_1330
> GC - 20081027_AB
> BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
> Framework arguments: -application org.eclipse.equinox.p2.director
> -repository http://download.eclipse.org/modeling/emft/b3/headless-3.6/
> -d /home/shared/helios/prereqs/eclipse -p b3 -i
> org.eclipse.b3.cli.product -i
> org.eclipse.b3.aggregator.engine.feature.feature.group
> Command-line arguments: -os linux -ws gtk -arch x86 -consolelog -data
> ./workspace-getAggregator -debug -application
> org.eclipse.equinox.p2.director -repository
> http://download.eclipse.org/modeling/emft/b3/headless-3.6/ -d
> /home/shared/helios/prereqs/eclipse -p b3 -i org.eclipse.b3.cli.product
> -i org.eclipse.b3.aggregator.engine.feature.feature.group
>
> !ENTRY org.eclipse.equinox.p2.artifact.repository 4 1000 2010-04-26
> 02:47:57.185
> !MESSAGE No repository found at
> http://download.eclipse.org/modeling/emft/b3/headless-3.6/
>
> !ENTRY org.eclipse.equinox.p2.repository 4 1002 2010-04-26 02:47:57.808
> !MESSAGE Unable to read repository at
> http://download.eclipse.org/modeling/emft/b3/headless-3.6/co ntent.jar
> !STACK 0
> java.util.NoSuchElementException
> at java.util.TreeMap.firstKey(TreeMap.java:4251)
> at java.util.TreeMap$NavigableSubMap.values(TreeMap.java:3042)
> at
> org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.getRecentSpeed(ProgressStatistics.java:101)
>
> at
> org.eclipse.equinox.internal.p2.repository.ProgressStatistic s.report(ProgressStatistics.java:126)
>
> at
> org.eclipse.equinox.internal.p2.repository.FileReader.handle TransferEvent(FileReader.java:156)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.fireReceiveStartEvent(AbstractRetrieveFileTr ansfer.java:660)
>
> at
> org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientR etrieveFileTransfer.openStreams(HttpClientRetrieveFileTransf er.java:715)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:878)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetri eveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTran sfer.java:565)
>
> at
> org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocol RetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAda pter.java:98)
>
> at
> org.eclipse.equinox.internal.p2.repository.FileReader.sendRe trieveRequest(FileReader.java:336)
>
> at
> org.eclipse.equinox.internal.p2.repository.FileReader.readIn to(FileReader.java:282)
>
> at
> org.eclipse.equinox.internal.p2.repository.RepositoryTranspo rt.download(RepositoryTransport.java:71)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.updateCache(CacheManager.java:406)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.CacheMan ager.createCache(CacheManager.java:208)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.getLocalFile(SimpleMetadataRepositor yFactory.java:63)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.SimpleMe tadataRepositoryFactory.load(SimpleMetadataRepositoryFactory .java:85)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.factoryLoad(MetadataRepositoryManager.java :57)
>
> at
> org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:713)
>
> at
> org.eclipse.equinox.internal.p2.repository.helpers.AbstractR epositoryManager.loadRepository(AbstractRepositoryManager.ja va:661)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:96)
>
> at
> org.eclipse.equinox.internal.p2.metadata.repository.Metadata RepositoryManager.loadRepository(MetadataRepositoryManager.j ava:92)
>
> at
> org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.initializeRepositories(DirectorApplication.java:394)
>
> at
> org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.run(DirectorApplication.java:769)
>
> at
> org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.start(DirectorApplication.java:913)
>
> at
> org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:196)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
>
> at
> org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
>
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:45)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:37)
>
> at java.lang.reflect.Method.invoke(Method.java:599)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1406)
> Installation failed.
> Unable to load repositories.
> Application failed, log file location:
> /home/shared/helios/org.eclipse.helios.tools/workspace-getAg gregator/.metadata/.log
>
>
> !ENTRY org.eclipse.equinox.p2.core 4 0 2010-04-26 02:48:54.989
> !MESSAGE Unable to load repositories.
Re: Helios release was successfully built with b3 aggregator [message #606022 is a reply to message #529550] Mon, 26 April 2010 09:28 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
I will add backward compatibility support for -packedStrategy and -trustedContribution options. If present, they will override persistent model settings.

I'll let you know when it's ready on our update site.

Filip

Filip Hrbek wrote:
> David,
>
> see comments inside.
>
> Filip
>
> David Williams wrote:
>> Filip Hrbek wrote:
>>
>> What happened to following options? Are there other ways to specify
>> them? As part of model? I'm just curious at this point, but suspect I'll
>> need to know more detail later.
>>
>> -packedStrategy copy
> This can be set in the model on the top node (Aggregator).
>
>
>> -trustedContributions Eclipse,Equinox
> This can be set in the model on each mapped repository (property "Mirror
> Artifacts", change value to false).
>
> Using these options needs converting the model first and then modifying
> appropriate properties (currently there's no way of running it in the
> on-the-fly conversion mode).
>
Re: Helios release was successfully built with b3 aggregator [message #606028 is a reply to message #529550] Mon, 26 April 2010 10:15 Go to previous message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
>
> I think that you understand my directions. The b3 aggregator is a
> standalone product, there's no need to pre-install Eclipse at all.
> I can't reproduce the error though. The repository exists and I am able
> to install the headless aggregator from it.
> I looked into the java source code where it crashes (TreeMap.java) but
> it is completely different from yours (much less lines in Sun's
> implementation), so perhaps this is an IBM java specific problem.
> Are you able to install anything else than b3 aggregator with the
> director application?
>

Since you mentioned "VM" I noticed I was using Java 6, I dropped
back to Java 5, and I don't get the same error, but ... seems
to hang, not literally, but its been running for a hour without
completing :(

I opened bug 310456
https://bugs.eclipse.org/bugs/show_bug.cgi?id=310456
to capture some stack traces ... but, I'll try other VMs
later today ... maybe a more recent version of Eclipse.
Re: Helios release was successfully built with b3 aggregator [message #606036 is a reply to message #529609] Mon, 26 April 2010 16:23 Go to previous message
David Williams is currently offline David Williams
Messages: 176
Registered: July 2009
Senior Member
I finally got b3 installed. When I invoke just "b3" I get

java.lang.IllegalStateException: Unable to acquire application service.
Ensure that the org.eclipse.core.runtime bundle is resolved and started
(see config.ini).

I notice in your b3.bat file, you directly launch from equinox launcher.
Would that matter? I haven't tried it yet, I'm just curious as I don't
recall seeing that _required_ before ... so, partially just curious.
Re: Helios release was successfully built with b3 aggregator [message #606065 is a reply to message #529708] Tue, 27 April 2010 06:16 Go to previous message
Filip Hrbek is currently offline Filip Hrbek
Messages: 233
Registered: July 2009
Senior Member
The update site is now ready and contains following enhancements:

1) Backward compatibility support for --trustedContributions and --packedStrategy options (now with double dashes though)
2) Support for logging to console controllable with option --logLevel (and logging to eclipse log controllable with option --eclipseLogLevel)

Use "b3 aggregate" to see all available option.

Regarding IllegalStateException, I have no idea what it is. It works for me on 3 different computers (Windows XP, CentOS, and even on Eclipse Build machine in my home directory).

What does your eclipse log (in configuration folder) say?

What happens if you run

b3 -console -noexit

and then you list bundles with "ss"?


Regarding the "b3[.bat]" script, the idea is taken from buckminster. It provides better control over what happens if you launch the product and it also provides more convenient environment on windows (unlike eclipse.exe or eclipsec.exe it is strictly headless).
Notice that the launcher is executed with java that is mapped to the "java" command in your command line. Which version of java are you using?

Filip

David Williams wrote:
>
> I finally got b3 installed. When I invoke just "b3" I get
>
> java.lang.IllegalStateException: Unable to acquire application service.
> Ensure that the org.eclipse.core.runtime bundle is resolved and started
> (see config.ini).
>
> I notice in your b3.bat file, you directly launch from equinox launcher.
> Would that matter? I haven't tried it yet, I'm just curious as I don't
> recall seeing that _required_ before ... so, partially just curious.
>
>
Previous Topic:branches concrete syntax
Next Topic:Initial documentation of b3 aggregator and b3 command line interface
Goto Forum:
  


Current Time: Wed Aug 27 21:14:03 EDT 2014

Powered by FUDForum. Page generated in 0.03498 seconds