From: <Saved by Windows Internet Explorer 7>
Subject: Researchers turbocharge Cat 7 data throughput - Networking - www.itnews.com.au
Date: Thu, 15 Nov 2007 18:23:20 -0500
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C827B4.99EB7280"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/News/NewsStory.aspx?story=65151

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD =
id=3Dctl00_Head1><TITLE>Researchers turbocharge Cat 7 data throughput - =
Networking - www.itnews.com.au</TITLE>
<META http-equiv=3Drefresh content=3D900>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META=20
content=3D"IT news for Australian businesses, with news and analysis on =
security software, linux and open source, business software, networking, =
windows and all other IT areas. "=20
name=3Ddescription>
<META=20
content=3D"IT news, IT jobs, IT events, software downloads, linux, =
networking, software, hardware, mobile, enterprise, Windows, broadband, =
apple, ipod, Google, business software, telecommunications, government, =
internet technology, yahoo, facebook, virus, search engine, voip."=20
name=3Dkeywords><LINK id=3Dctl00_globalCssLink media=3Dscreen=20
href=3D"http://www.itnews.com.au/StyleSheet/global.css" type=3Dtext/css=20
rel=3Dstylesheet><LINK id=3Dctl00_printCssLink media=3Dprint=20
href=3D"http://www.itnews.com.au/StyleSheet/print.css" type=3Dtext/css=20
rel=3Dstylesheet><LINK href=3D"../favicon.ico" =
type=3Dimage/vnd.microsoft.icon=20
rel=3D"shortcut icon"><LINK href=3D"../favicon.ico" =
type=3Dimage/vnd.microsoft.icon=20
rel=3Dicon><LINK title=3DiTnews =
href=3D"http://www.itnews.com.au/Rss/rss.aspx"=20
type=3Dapplication/rss+xml rel=3Dalternate>
<SCRIPT language=3Djavascript =
src=3D"http://www.itnews.com.au/Scripts/dhtml.js"=20
type=3Dtext/javascript></SCRIPT>
<!-- MediaOne --><!-- BEGIN: SectionID -->
<SCRIPT language=3Djavascript type=3Dtext/javascript>
<!--
_m1SecID=3D"000000347-001";
_m1IsActive=3D1;
_m1PosV=3D3;
_m1PosH=3D1;
_m1PosX=3D0;
_m1PosY=3D20;
// -->
</SCRIPT>
<LINK=20
href=3D"/WebResource.axd?d=3DNDctnbmiXLHJoSCmP0IV5Rzuvdp9a3zjPvgG4RLcADqb=
MLRN8-k1L7RyVnTbYayi0&amp;t=3D633306372960000000"=20
type=3Dtext/css rel=3Dstylesheet>
<STYLE type=3Dtext/css>.ctl00_tabMenu_ITNewsMenu_0 {
	DISPLAY: none; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: =
0px; BACKGROUND-COLOR: white
}
.ctl00_tabMenu_ITNewsMenu_1 {
	TEXT-DECORATION: none
}
.ctl00_tabMenu_ITNewsMenu_2 {
=09
}
.ctl00_tabMenu_ITNewsSubMenu_0 {
	DISPLAY: none; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: =
0px; BACKGROUND-COLOR: white
}
.ctl00_tabMenu_ITNewsSubMenu_1 {
	TEXT-DECORATION: none
}
.ctl00_tabMenu_ITNewsSubMenu_2 {
=09
}
</STYLE>

<META content=3D"MSHTML 6.00.6000.16544" name=3DGENERATOR></HEAD>
<BODY id=3Dctl00_MainMasterPageBody>
<FORM id=3DaspnetForm name=3DaspnetForm =
action=3D/News/NewsStory.aspx?story=3D65151=20
method=3Dpost>
<DIV><INPUT id=3D__EVENTTARGET type=3Dhidden name=3D__EVENTTARGET> =
<INPUT=20
id=3D__EVENTARGUMENT type=3Dhidden name=3D__EVENTARGUMENT> <INPUT =
id=3D__VIEWSTATE=20
type=3Dhidden=20
value=3D/wEPDwULLTIxNDIyMTY5NTIPFgQeBENJSUQCr/cFHgtOZXdzU3RvcnlJZAL//AMWA=
mYPZBYEAgEPZBYEAgUPFgIeBGhyZWYFFi9TdHlsZVNoZWV0L2dsb2JhbC5jc3NkAgYPFgIfAg=
UVL1N0eWxlU2hlZXQvcHJpbnQuY3NzZAIDD2QWAgIDEGRkFlICAQ9kFgJmDxYCHgRUZXh0ZWQ=
CAg8WAh4Dc3JjBRYvSW1hZ2VzL3ByaW50LWxvZ28uZ2lmZAIDDxYCHwQFGi9JbWFnZXMvaGF5=
bWFya2V0LWxvZ28uZ2lmZAIEDxYCHwQFFy9JbWFnZXMvaGVhZGVyLWxvZ28uZ2lmZAIFD2QWA=
mYPFgIfAwUePGRpdiBpZD0icGhfQWRDb250cm9sMiI+PC9kaXY+ZAIGD2QWAmYPZBYCAgEPFg=
IeC18hSXRlbUNvdW50Ag8WHmYPZBYCAgEPDxYEHgtOYXZpZ2F0ZVVybAUzL05ld3MvNjUxNTA=
sZGVsbC1wb2ludHMtdG8taGlkZGVuLWRhdGEtY2VudHJlcy5hc3B4HwMFJERlbGwgcG9pbnRz=
IHRvICdoaWRkZW4gZGF0YSBjZW50cmVzJ2RkAgEPZBYCAgEPDxYEHwYFPi9OZXdzLzY1MTUxL=
HJlc2VhcmNoZXJzLXR1cmJvY2hhcmdlLWNhdC03LWRhdGEtdGhyb3VnaHB1dC5hc3B4HwMFLV=
Jlc2VhcmNoZXJzIHR1cmJvY2hhcmdlIENhdCA3IGRhdGEgdGhyb3VnaHB1dGRkAgIPZBYCAgE=
PDxYEHwYFLS9OZXdzLzY1MTUyLGlibS1mbG9hdHMtY2xvdWQtc3RhcnRlci1raXQuYXNweB8D=
BRxJQk0gZmxvYXRzIGNsb3VkIHN0YXJ0ZXIga2l0ZGQCAw9kFgICAQ8PFgQfBgU6L05ld3MvN=
jUxNTMsbWljcm9zb2Z0LXVudmVpbHMtd2luZG93cy1ocGMtc2VydmVyLTIwMDguYXNweB8DBS=
lNaWNyb3NvZnQgdW52ZWlscyBXaW5kb3dzIEhQQyBTZXJ2ZXIgMjAwOGRkAgQPZBYCAgEPDxY=
EHwYFNS9OZXdzLzY1MTU0LGRhdGEtYnJlYWNoZXMtYXJlLWV2ZXJ5ZGF5LWluY2lkZW50cy5h=
c3B4HwMFJkRhdGEgYnJlYWNoZXMgYXJlICdldmVyeWRheSBpbmNpZGVudHMnZGQCBQ9kFgICA=
Q8PFgQfBgU7L05ld3MvNjUxNTUsZHV0Y2gtdGVlbi1hcnJlc3RlZC1mb3ItaGFiYm8taG90ZW=
wtdGhlZnRzLmFzcHgfAwUqRHV0Y2ggdGVlbiBhcnJlc3RlZCBmb3IgSGFiYm8gSG90ZWwgdGh=
lZnRzZGQCBg9kFgICAQ8PFgQfBgU8L05ld3MvNjUxNDksZ2FtZXdvcmxkLW5pbnRlbmRvLXNv=
bnktcm9sbC1vdXQtYmlnLXRpdGxlcy5hc3B4HwMFLUdhbWV3b3JsZDogTmludGVuZG8sIFNvb=
nkgcm9sbCBvdXQgYmlnIHRpdGxlc2RkAgcPZBYCAgEPDxYEHwYFSi9OZXdzLzY1MTQ3LG9yYW=
NsZXMtZWxsaXNvbi12aXJ0dWFsaXNhdGlvbi1hcHBsaWNhdGlvbnMtd2UtZ290LWl0LWFsbC5=
hc3B4HwMFPU9yYWNsZSdzIEVsbGlzb246IFZpcnR1YWxpc2F0aW9uLCBhcHBsaWNhdGlvbnMs=
IHdlIGdvdCBpdCBhbGxkZAIID2QWAgIBDw8WBB8GBVQvTmV3cy82NTE0OCxidXNpbmVzcy1pb=
nRlbGxpZ2VuY2UtY29uc29saWRhdGlvbi13b24ta2lsbC1pbm5vdmF0aW9uLWNsYWltLWV4ZW=
NzLmFzcHgfAwVFQnVzaW5lc3MgaW50ZWxsaWdlbmNlIGNvbnNvbGlkYXRpb24gd29uJyBraWx=
sIGlubm92YXRpb24sIGNsYWltIGV4ZWNzZGQCCQ9kFgICAQ8PFgQfBgUvL05ld3MvNjUxNDIs=
bm9ydGVsLWRpdmVzLWludG8tc29hLXdpdGgtaWJtLmFzcHgfAwUeTm9ydGVsIGRpdmVzIGlud=
G8gU09BIHdpdGggSUJNZGQCCg9kFgICAQ8PFgQfBgU4L05ld3MvNjUxNDUsdXMtdGFsa3MtdX=
AtYmlvbWV0cmljLWJvcmRlci1wcm90ZWN0aW9uLmFzcHgfAwUnVVMgdGFsa3MgdXAgYmlvbWV=
0cmljIGJvcmRlciBwcm90ZWN0aW9uZGQCCw9kFgICAQ8PFgQfBgU1L05ld3MvNjUxMzcsbGFy=
cnktZWxsaXNvbi1sZXZlbHMtZ3Vucy1hdC1yZWQtaGF0LmFzcHgfAwUkTGFycnkgRWxsaXNvb=
iBsZXZlbHMgZ3VucyBhdCBSZWQgSGF0ZGQCDA9kFgICAQ8PFgQfBgVAL05ld3MvNjUxMjQsZ2=
9vZ2xlLWFubm91bmNlcy1uZXctY291bnRyeS1nbS1rYXJpbS10ZW1zYW1hbmkuYXNweB8DBTB=
Hb29nbGUgYW5ub3VuY2VzIG5ldyBjb3VudHJ5IEdNOiBLYXJpbSBUZW1zYW1hbmlkZAIND2QW=
AgIBDw8WBB8GBUgvTmV3cy82NTEyMCx0ZWxzdHJhLWxhdW5jaGVzLWF1c3RyYWxpYXMtZmlyc=
3Qtdm9pY2UtdG8tdGV4dC1zZXJ2aWNlLmFzcHgfAwU5VGVsc3RyYSBsYXVuY2hlcyBBdXN0cm=
FsaWEncyBmaXJzdCB2b2ljZSB0byB0ZXh0IHNlcnZpY2UgZGQCDg9kFgICAQ8PFgQfBgVEL05=
ld3MvNjUxMTQsbWljaGFlbC1kZWxsLWdvaW5nLWdyZWVuLWlzLWtleS10by1pbmR1c3RyeXMt=
ZnV0dXJlLmFzcHgfAwU1TWljaGFlbCBEZWxsOiBHb2luZyBncmVlbiBpcyBrZXkgdG8gaW5kd=
XN0cnkncyBmdXR1cmVkZAIHD2QWBAIBEDwrAA0CAA9kFgIeEENzc1NlbGVjdG9yQ2xhc3MFEU=
JlZ2luaW5nTWVudUN1cnZlDBQrAAkFHzA6MCwwOjEsMDoyLDA6MywwOjQsMDo1LDA6NiwwOjc=
UKwACFgYfAwUESG9tZR4FVmFsdWUFC3ByZXYtYWN0aXZlHwYFDS9EZWZhdWx0LmFzcHhkFCsA=
AhYGHwMFBE5ld3MfCAUGYWN0aXZlHwYFIy9OZXdzQ2F0ZWdvcnkvMzEsQnJlYWtpbmcrTmV3c=
y5hc3B4ZBQrAAIWBh8DBQhQcm9kdWN0cx8IZR8GBQovUHJvZHVjdHMvZBQrAAIWBh8DBQhGZW=
F0dXJlcx8IZR8GBQovRmVhdHVyZXMvZBQrAAIWBh8DBQZFdmVudHMfCGUfBgUIL0V2ZW50cy9=
kFCsAAhYGHwMFC1doaXRlcGFwZXJzHwhlHwYFDS9XaGl0ZVBhcGVycy9kFCsAAhYGHwMFBEpv=
YnMfCGUfBgUGL0pvYnMvZBQrAAIWBh8DBQlEb3dubG9hZHMfCGUfBgULL0Rvd25sb2Fkcy9kZ=
GQCAxA8KwANAQwUKwAOBTYwOjAsMDoxLDA6MiwwOjMsMDo0LDA6NSwwOjYsMDo3LDA6OCwwOj=
ksMDoxMCwwOjExLDA6MTIUKwACFgYfAwUNQnJlYWtpbmcgTmV3cx8IZR8GBSMvTmV3c0NhdGV=
nb3J5LzMxLEJyZWFraW5nK05ld3MuYXNweGQUKwACFgYfAwUIU2VjdXJpdHkfCGUfBgUeL05l=
d3NDYXRlZ29yeS8zMixTZWN1cml0eS5hc3B4ZBQrAAIWBh8DBQhIYXJkd2FyZR8IZR8GBR4vT=
mV3c0NhdGVnb3J5LzMzLEhhcmR3YXJlLmFzcHhkFCsAAhYGHwMFCEludGVybmV0HwhlHwYFHi=
9OZXdzQ2F0ZWdvcnkvMzQsSW50ZXJuZXQuYXNweGQUKwACFgYfAwUSVGVsZWNvbW11bmljYXR=
pb25zHwhlHwYFKC9OZXdzQ2F0ZWdvcnkvMzUsVGVsZWNvbW11bmljYXRpb25zLmFzcHhkFCsA=
AhYGHwMFCFNvZnR3YXJlHwhlHwYFHi9OZXdzQ2F0ZWdvcnkvMzYsU29mdHdhcmUuYXNweGQUK=
wACFgYfAwUIQnVzaW5lc3MfCGUfBgUeL05ld3NDYXRlZ29yeS8zNyxCdXNpbmVzcy5hc3B4ZB=
QrAAIWBh8DBQdTdG9yYWdlHwhlHwYFHS9OZXdzQ2F0ZWdvcnkvMzgsU3RvcmFnZS5hc3B4ZBQ=
rAAIWBh8DBRFPcGVyYXRpbmcgU3lzdGVtcx8IZR8GBScvTmV3c0NhdGVnb3J5LzQwLE9wZXJh=
dGluZytTeXN0ZW1zLmFzcHhkFCsAAhYGHwMFCE1vYmlsaXR5HwhlHwYFHi9OZXdzQ2F0ZWdvc=
nkvNDMsTW9iaWxpdHkuYXNweGQUKwACFgYfAwUUTGludXggJiBPcGVuIFNvdXJjZSAfCGUfBg=
UrL05ld3NDYXRlZ29yeS8yMDUsTGludXgrLStPcGVuK1NvdXJjZSsuYXNweGQUKwACFgYfAwU=
KTmV0d29ya2luZx8IZR8GBSEvTmV3c0NhdGVnb3J5LzIwNyxOZXR3b3JraW5nLmFzcHhkFCsA=
AhYGHwMFD0JyaWVmaW5nIENlbnRyZR8IZR8GBRwvQnJpZWZpbmdDZW50cmUvRGVmYXVsdC5hc=
3B4ZGRkAggPZBYEAgMPEA8WBB4UQXBwZW5kRGF0YUJvdW5kSXRlbXNnHgtfIURhdGFCb3VuZG=
dkDxYNZgIBAgICAwIEAgUCBgIHAggCCQIKAgsCDBYNEAUKQWxsIGlUbmV3cwUKQWxsIGlUbmV=
3c2cQBQ1CcmVha2luZyBOZXdzBQIzMWcQBQhTZWN1cml0eQUCMzJnEAUISGFyZHdhcmUFAjMz=
ZxAFCEludGVybmV0BQIzNGcQBRJUZWxlY29tbXVuaWNhdGlvbnMFAjM1ZxAFCFNvZnR3YXJlB=
QIzNmcQBQhCdXNpbmVzcwUCMzdnEAUHU3RvcmFnZQUCMzhnEAURT3BlcmF0aW5nIFN5c3RlbX=
MFAjQwZxAFCE1vYmlsaXR5BQI0M2cQBRRMaW51eCAmIE9wZW4gU291cmNlIAUDMjA1ZxAFCk5=
ldHdvcmtpbmcFAzIwN2dkZAIFDw8WAh4ISW1hZ2VVcmwFEi9JbWFnZXMvZ29fYnRuLmdpZmRk=
AgkPZBYEAgEPD2QWAh4Hb25mb2N1cwU5aWYodGhpcy52YWx1ZT09J2VudGVyIHlvdXIgZW1ha=
WwgYWRkcmVzcycpIHRoaXMudmFsdWU9Jyc7ZAIDDw8WAh8LBRcvSW1hZ2VzL3NpZ24tdXBfYn=
RuLmdpZmRkAgoPDxYEHgpSZW5kZXJUeXBlCylzVXNlckNvbnRyb2xzX1Nwb25zb3JlZENvbnR=
lbnRDb250cm9sK1JlbmRlclR5cGUsIGl0bmV3c19zaXRlLCBWZXJzaW9uPTAuMC4wLjAsIEN1=
bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbAAeDEhhc1J1bk9mU2l0ZWdkFgJmD=
xYCHwMF5gE8YSBocmVmPSJodHRwOi8vYWQuZG91YmxlY2xpY2submV0L2NsazsxNTAxODMyMz=
I7ODAyODA2Mzt2P2h0dHA6Ly93d3cuaXRuZXdzLmNvbS5hdS9zdXJ2ZXlzL2NoZWNrcG9pbnQ=
vIiB0YXJnZXQ9Il9ibGFuayIgY2xhc3M9InNwb25zb3JlZC1saW5rIj48aW1nIHNyYz0iaHR0=
cDovL3d3dy5pdG5ld3MuY29tLmF1L2Fkcy9IT1VTRS9USjk5NTVfQ2tQdF8xNjN4MzhfMS5na=
WYiIGJvcmRlcj0iMCI+PC9hPmQCDQ8PFgQfCwUcL2ltYWdlcy9ib2R5dGV4dC1yc3NpY29uLm=
dpZh8GBQUvUlNTL2RkAg4PFgIfAgUTL1NpdGVEaXJlY3RvcnkuYXNweGQCDw9kFhYCAQ8PFgI=
fAwUtUmVzZWFyY2hlcnMgdHVyYm9jaGFyZ2UgQ2F0IDcgZGF0YSB0aHJvdWdocHV0ZGQCBQ8W=
Ah8FAgEWAgIBD2QWAgIBDw8WBB8DBQ1Sb2JlcnQgSmFxdWVzHwYFLS9GZWVkYmFjay9GZWVkY=
mFjay5hc3B4P1BJRD05MzkyMyZTdG9yeT02NTE1MWRkAgcPDxYCHwMFGDE2IE5vdmVtYmVyID=
IwMDcgMDc6MTdBTWRkAgkPDxYCHwMFsQI8YSBocmVmPSIvU2VhcmNoL0RlZmF1bHQuYXNweD9=
xdWVyeT1yZXNlYXJjaGVycyI+cmVzZWFyY2hlcnM8L2E+ICB8IDxhIGhyZWY9Ii9TZWFyY2gv=
RGVmYXVsdC5hc3B4P3F1ZXJ5PXR1cmJvY2hhcmdlIj50dXJib2NoYXJnZTwvYT4gIHwgPGEga=
HJlZj0iL1NlYXJjaC9EZWZhdWx0LmFzcHg/cXVlcnk9Y2F0Ij5jYXQ8L2E+ICB8IDxhIGhyZW=
Y9Ii9TZWFyY2gvRGVmYXVsdC5hc3B4P3F1ZXJ5PWRhdGEiPmRhdGE8L2E+ICB8IDxhIGhyZWY=
9Ii9TZWFyY2gvRGVmYXVsdC5hc3B4P3F1ZXJ5PXRocm91Z2hwdXQiPnRocm91Z2hwdXQ8L2E+=
IGRkAg0PFgIeB1Zpc2libGVoZAIPD2QWAgIBDxYCHwUCBRYKAgEPZBYCAgEPDxYCHwYFOH4vT=
mV3cy81OTgwOCxuZXctbGFzZXItcHJvbWlzZXMtdG8tdHVyYm9jaGFyZ2UtZGF0YS5hc3B4ZB=
YCZg8PFgIfAwUmTmV3IGxhc2VyIHByb21pc2VzIHRvIHR1cmJvY2hhcmdlIGRhdGFkZAICD2Q=
WAgIBDw8WAh8GBWN+L05ld3MvNTY1NDQsZGF0YXN0ZWFsaW5nLXRyb2phbi1kaXNjbG9zdXJl=
LWZydXN0cmF0ZXMtcmVzZWFyY2hlcnMtdmVuZG9ycy1hbmQtbGF3LWVuZm9yY2VtZW50LmFzc=
HhkFgJmDw8WAh8DBVREYXRhLXN0ZWFsaW5nIHRyb2phbiBkaXNjbG9zdXJlIGZydXN0cmF0ZX=
MgcmVzZWFyY2hlcnMsIHZlbmRvcnMsIGFuZCBsYXcgZW5mb3JjZW1lbnRkZAIDD2QWAgIBDw8=
WAh8GBUt+L05ld3MvNTM0MDAsd2ViLXNlY3VyaXR5LWJyZWFjaC1sZXRzLWNhdC1vdXQtb2Yt=
YmFnaGRhZC1lbWJhc3N5LXBsYW5zLmFzcHhkFgJmDw8WAh8DBTlXZWIgc2VjdXJpdHkgYnJlY=
WNoIGxldHMgY2F0IG91dCBvZiBCYWdoZGFkIEVtYmFzc3kgcGxhbnNkZAIED2QWAgIBDw8WAh=
8GBTF+L05ld3MvMjgwMDIseWFob28tYW5kLWNoYW5uZWwtNy1qb2luLWZvcmNlcy5hc3B4ZBY=
CZg8PFgIfAwUgWWFob28hIGFuZCBDaGFubmVsIDcgam9pbiBmb3JjZXNkZAIFD2QWAgIBDw8W=
Ah8GBTp+L05ld3MvNDQyNTYsY29tcHV0ZXItcmVzZWFyY2hlcnMtd29yay1vbi1hdXRvLXNhZ=
mV0eS5hc3B4ZBYCZg8PFgIfAwUoQ29tcHV0ZXIgUmVzZWFyY2hlcnMgV29yayBPbiBBdXRvIF=
NhZmV0eWRkAhEPDxYCHwMFfEVuZ2luZWVycyBhdCBQZW5uIFN0YXRlIFVuaXZlcnNpdHkgaGF=
2ZSBzdWNjZXNzZnVsbHkgYm9vc3RlZCB0aGUgZGF0YSB0cmFuc21pc3Npb24gcmF0ZXMgb2Yg=
Q2F0LTcgY29wcGVyIGNhYmxlcyB0byAxMDBHYnBzLi5kZAITDw8WAh8DBboLVGhlIHJlc2Vhc=
mNoZXJzIG1vZGVsbGVkIHRoZSBjYWJsZSB3aXRoIGFsbCBpdHMgYXR0cmlidXRlcywgaW5jbH=
VkaW5nIGNyb3NzdGFsaywgdXNpbmcgaW5mb3JtYXRpb24gb24gc3BlY2lmaWNhdGlvbnMgYW5=
kIGNoYXJhY3RlcmlzdGljcyBmcm9tIGNhYmxpbmcgc3lzdGVtcyBmaXJtIE5leGFucy48YnIv=
Pjxici8+QSB0cmFuc21pdHRlci9yZWNlaXZlciB3YXMgdGhlbiBlcXVpcHBlZCB3aXRoIGFuI=
GludGVyZmVyZW5jZSBjYW5jZWxsZXIgdGhhdCBjb3VsZCB0cmFuc2ZlciB1cCB0byAxMDAgZ2=
lnYWJpdHMgdXNpbmcgZXJyb3IgY29ycmVjdGluZyBhbmQgZXF1YWxpc2luZyBhcHByb2FjaGV=
zLjxici8+PGJyLz4iV29ya2luZyB3aXRoIE5leGFucyB3ZSBoYXZlIGV4YW1pbmVkIHRoZSBw=
b3NzaWJpbGl0eSBvZiBzZW5kaW5nIGRpZ2l0YWwgZGF0YSBhdCBhIHJhdGUgb2YgMTAwR2Jwc=
yBvdmVyIDEwMG0gb2YgQ2F0LTcgY29wcGVyIGNhYmxlLCIgc2FpZCBNb2hzZW4gS2F2ZWhyYW=
QsIGEgcHJvZmVzc29yIG9mIGVsZWN0cmljYWwgZW5naW5lZXJpbmcgYXQgUGVubiBTdGF0ZS4=
8YnIvPjxici8+UHJvZmVzc29yIEthdmVocmFkIGV4cGxhaW5lZCB0aGF0IGFsbCB0cmFuc21p=
c3Npb24gY2FibGVzIGFyZSBsaW1pdGVkIGJ5IHRoZSBkaXN0YW5jZSB0aGV5IGNhbiB0cmFuc=
21pdCBkYXRhIHdpdGhvdXQgZGVncmFkYXRpb24gb2YgdGhlIHNpZ25hbC48YnIvPjxici8+Qm=
Vmb3JlIGVycm9ycyBhbmQgaW50ZXJmZXJlbmNlIG1ha2UgdGhlIHNpZ25hbHMgbm9uLXJlY29=
2ZXJhYmxlLCBjYWJsZSBzeXN0ZW1zIHVzZSByZXBlYXRlcnMgc2ltaWxhciB0byBjb21wdXRl=
ciBtb2RlbXMgdG8gY2FwdHVyZSwgY29ycmVjdCBvciByZWNvdmVyIGRhdGEsIGFuZCByZXNlb=
mQgaXQuPGJyLz48YnIvPlRoZSBkaXN0YW5jZSBiZXR3ZWVuIHJlcGVhdGVycyBkZXBlbmRzIG=
9uIHRoZSBjYWJsZSBhbmQgdGhlIGFwcHJvYWNoIHVzZWQgYnkgdGhlIG1vZGVtIHRvIGNvcnJ=
lY3QgZXJyb3JzLjxici8+PGJyLz5FdGhlcm5ldCBjYWJsZSBsaWtlIENhdC03IGNvbXByaXNl=
cyBmb3VyIHBhaXJzIG9mIHR3aXN0ZWQgd2lyZXMgc2hpZWxkZWQgdG8gcmVkdWNlIGNyb3Nzd=
GFsay4gQ2F0LTcgaXMgaGVhdmllciB3aXJlIHdpdGggYmV0dGVyIHNoaWVsZGluZyB0aGFuIE=
NhdC01IGNhYmxlLiA8YnIvPjxici8+VGhlIGFtb3VudCBvZiBkYXRhIGVuY29tcGFzc2VkIGJ=
5IDEwMCBnaWdhYml0cyBpcyAiYW1hemluZyIsIGFjY29yZGluZyB0byB0aGUgcmVzZWFyY2hl=
cnMuPGJyLz48YnIvPlRoZSBFbmN5Y2xvcGFlZGlhIEJyaXRhbm5pY2EgY29udGFpbnMgMUdCI=
G9mIGluZm9ybWF0aW9uLiBBIHJhdGUgb2YgMTAwR2JwcyBvdmVyIDEwMG0gaXMgdGhlIGVxdW=
l2YWxlbnQgb2YgbW9yZSB0aGFuIDEyIEVuY3ljbG9wYWVkaWEgQnJpdGFubmljYSBzZXRzIGR=
lbGl2ZXJlZCBldmVyeSBzZWNvbmQuIDxici8+PGJyLz5kZAIVDw8WAh8DBVA8YSBocmVmPSJo=
dHRwOi8vd3d3LnZudW5ldC5jb20iIHRhcmdldD0iX2JsYW5rIj5Db3B5cmlnaHQgwqkgMjAwN=
yB2bnVuZXQuY29tPC9hPmRkAhkPEGRkFgBkAh0PDxYIHg1Db250ZW50SXRlbUlkAq/3BR4GU2=
l0ZUlkAgMeIlJlcG9ydE9mZmVuc2l2ZUNvbW1lbnRFbWFpbEFkZHJlc3MFFGVkaXRvckBpdG5=
ld3MuY29tLmF1HgpUb3RhbFBhZ2VzAgFkFgJmD2QWAgIBD2QWAmYPZBYGAgMPDxYCHwsFGi9J=
bWFnZXMvYWRkX2NvbW1lbnRfMTYuZ2lmZGQCBw9kFgICBA9kFgRmD2QWAgIBD2QWAgIBDw8WA=
h8DZGRkAgEPZBYCAgEPZBYCAgEPDxYCHwNkZGQCCQ9kFgQCAQ8PFgIfAwUMQ29tbWVudHMgKD=
ApZGQCAw8WAh8PZ2QCEQ9kFgJmDxYCHwMFHjxkaXYgaWQ9InBoX0FkQ29udHJvbDEiPjwvZGl=
2PmQCEg9kFgICAQ9kFggCAQ9kFgICAQ8WAh8DBbYGPHVsPjxsaT48YSBocmVmPSIvTmV3cy82=
NTE1MCxkZWxsLXBvaW50cy10by1oaWRkZW4tZGF0YS1jZW50cmVzLmFzcHgiIHRpdGxlPSJEZ=
WxsIHBvaW50cyB0byAnaGlkZGVuIGRhdGEgY2VudHJlcyciPkRlbGwgcG9pbnRzIHRvICdoaW=
RkZW4gZGF0YSBjZW50cmVzJzwvYT48L2xpPjxsaT48YSBocmVmPSIvTmV3cy82NTE1MSxyZXN=
lYXJjaGVycy10dXJib2NoYXJnZS1jYXQtNy1kYXRhLXRocm91Z2hwdXQuYXNweCIgdGl0bGU9=
IlJlc2VhcmNoZXJzIHR1cmJvY2hhcmdlIENhdCA3IGRhdGEgdGhyb3VnaHB1dCI+UmVzZWFyY=
2hlcnMgdHVyYm9jaGFyZ2UgQ2F0IDcgZGF0YSB0aHJvdWdocHV0PC9hPjwvbGk+PGxpPjxhIG=
hyZWY9Ii9OZXdzLzY1MTU0LGRhdGEtYnJlYWNoZXMtYXJlLWV2ZXJ5ZGF5LWluY2lkZW50cy5=
hc3B4IiB0aXRsZT0iRGF0YSBicmVhY2hlcyBhcmUgJ2V2ZXJ5ZGF5IGluY2lkZW50cyciPkRh=
dGEgYnJlYWNoZXMgYXJlICdldmVyeWRheSBpbmNpZGVudHMnPC9hPjwvbGk+PGxpPjxhIGhyZ=
WY9Ii9OZXdzLzY1MTU1LGR1dGNoLXRlZW4tYXJyZXN0ZWQtZm9yLWhhYmJvLWhvdGVsLXRoZW=
Z0cy5hc3B4IiB0aXRsZT0iRHV0Y2ggdGVlbiBhcnJlc3RlZCBmb3IgSGFiYm8gSG90ZWwgdGh=
lZnRzIj5EdXRjaCB0ZWVuIGFycmVzdGVkIGZvciBIYWJibyBIb3RlbCB0aGVmdHM8L2E+PC9s=
aT48bGk+PGEgaHJlZj0iL05ld3MvNjUxNTIsaWJtLWZsb2F0cy1jbG91ZC1zdGFydGVyLWtpd=
C5hc3B4IiB0aXRsZT0iSUJNIGZsb2F0cyBjbG91ZCBzdGFydGVyIGtpdCI+SUJNIGZsb2F0cy=
BjbG91ZCBzdGFydGVyIGtpdDwvYT48L2xpPjwvdWw+ZAICDxYCHwMFmAc8dWw+PGxpPjxzcGF=
uPjxhIGhyZWY9Ii9OZXdzLzY0OTMxLHB1YmxpYy10YWtlcy1vbi1ibGV0Y2hsZXlzLWNvbG9z=
c3VzLmFzcHgiIHRpdGxlPSJQdWJsaWMgdGFrZXMgb24gQmxldGNobGV5J3MgQ29sb3NzdXMiP=
lB1YmxpYyB0YWtlcyBvbiBCbGV0Y2hsZXkncyBDb2xvc3N1czwvYT48L3NwYW4+PC9saT48bG=
k+PHNwYW4+PGEgaHJlZj0iL05ld3MvNjQ3Mjksb25saW5lLXRyYW5zbGF0b3Itc3BhcmtzLWR=
pcGxvbWF0aWMtcm93LmFzcHgiIHRpdGxlPSJPbmxpbmUgdHJhbnNsYXRvciBzcGFya3MgZGlw=
bG9tYXRpYyByb3ciPk9ubGluZSB0cmFuc2xhdG9yIHNwYXJrcyBkaXBsb21hdGljIHJvdzwvY=
T48L3NwYW4+PC9saT48bGk+PHNwYW4+PGEgaHJlZj0iL05ld3MvNjQ1NjAsY2FuY2VyYnVzdG=
Vycy10YXAtaW50by1ncmlkLWNvbXB1dGluZy5hc3B4IiB0aXRsZT0iQ2FuY2VyLWJ1c3RlcnM=
gdGFwIGludG8gZ3JpZCBjb21wdXRpbmciPkNhbmNlci1idXN0ZXJzIHRhcCBpbnRvIGdyaWQg=
Y29tcHV0aW5nPC9hPjwvc3Bhbj48L2xpPjxsaT48c3Bhbj48YSBocmVmPSIvTmV3cy82NTA5N=
yxpaW5ldC1jdXRzLXRoZS1jb3JkLWFuZC1kZWxpdmVycy1uYXRpb253aWRlLW5ha2VkLWRzbC=
5hc3B4IiB0aXRsZT0iaWlOZXQgY3V0cyB0aGUgY29yZCBhbmQgZGVsaXZlcnMgbmF0aW9uLXd=
pZGUgTmFrZWQgRFNMIj5paU5ldCBjdXRzIHRoZSBjb3JkIGFuZCBkZWxpdmVycyBuYXRpb24t=
d2lkZSBOYWtlZCBEU0w8L2E+PC9zcGFuPjwvbGk+PGxpPjxzcGFuPjxhIGhyZWY9Ii9OZXdzL=
zYzNzU2LHRlY2gtcGF5LWFwcHJvYWNoZXMtYWxsdGltZS1oaWdoLmFzcHgiIHRpdGxlPSJUZW=
NoIHBheSBhcHByb2FjaGVzIGFsbC10aW1lIGhpZ2giPlRlY2ggcGF5IGFwcHJvYWNoZXMgYWx=
sLXRpbWUgaGlnaDwvYT48L3NwYW4+PC9saT48L3VsPmQCAw8WAh8FAgUWCgIBD2QWBgIBDw8W=
Ah8DBQ3CoFs8Yj4xNzwvYj5dZGQCAg8VAgU2NDcyOQU2NDcyOWQCAw8PFgQfBgU4L05ld3MvN=
jQ3Mjksb25saW5lLXRyYW5zbGF0b3Itc3BhcmtzLWRpcGxvbWF0aWMtcm93LmFzcHgfAwUnT2=
5saW5lIHRyYW5zbGF0b3Igc3BhcmtzIGRpcGxvbWF0aWMgcm93ZGQCAg9kFgYCAQ8PFgIfAwU=
MwqBbPGI+OTwvYj5dZGQCAg8VAgU2NDQyMwU2NDQyM2QCAw8PFgQfBgVML05ld3MvNjQ0MjMs=
bmV2ZXJtaW5kLWdvb2dsZS1lYXJ0aC1oZXJl4oCZcy10aGUtbnN3LWRlcGFydG1lbnQtb2Ytb=
GFuZHMuYXNweB8DBTxOZXZlcm1pbmQgR29vZ2xlIEVhcnRoLCBoZXJl4oCZcyB0aGUgTlNXIE=
RlcGFydG1lbnQgb2YgTGFuZHNkZAIDD2QWBgIBDw8WAh8DBQzCoFs8Yj41PC9iPl1kZAICDxU=
CBTY0MjM3BTY0MjM3ZAIDDw8WBB8GBTYvTmV3cy82NDIzNyx3aHktbGludXgtd2lsbC1zdWNj=
ZWVkLW9uLXRoZS1kZXNrdG9wLmFzcHgfAwUlV2h5IExpbnV4IHdpbGwgc3VjY2VlZCBvbiB0a=
GUgZGVza3RvcGRkAgQPZBYGAgEPDxYCHwMFDMKgWzxiPjM8L2I+XWRkAgIPFQIFNjQ2MTEFNj=
Q2MTFkAgMPDxYEHwYFQy9OZXdzLzY0NjExLHNlbmF0b3JzLWJhdHRsZS1vdmVyLWxhdGVzdC1=
vZWNkLWJyb2FkYmFuZC1yYW5raW5nLmFzcHgfAwUyU2VuYXRvcnMgYmF0dGxlIG92ZXIgbGF0=
ZXN0IE9FQ0QgYnJvYWRiYW5kIHJhbmtpbmdkZAIFD2QWBgIBDw8WAh8DBQzCoFs8Yj4yPC9iP=
l1kZAICDxUCBTY0Mzk2BTY0Mzk2ZAIDDw8WBB8GBTQvTmV3cy82NDM5NixjcmF6eS1qb2huLX=
RoZS1saWZlLWJlaGluZC10aGUtbmFtZS5hc3B4HwMFJENyYXp5IEpvaG46IFRoZSBsaWZlIGJ=
laGluZCB0aGUgbmFtZWRkAgQPFgIfAwUQTGF0ZXN0Q2xpY2tlZCgpO2QCEw8PFgIfDmdkFgJm=
DxYCHwMFjQo8b2JqZWN0IGNsYXNzaWQ9ImNsc2lkOmQyN2NkYjZlLWFlNmQtMTFjZi05NmI4L=
TQ0NDU1MzU0MDAwMCIgY29kZWJhc2U9Imh0dHA6Ly9mcGRvd25sb2FkLm1hY3JvbWVkaWEuY2=
9tL3B1Yi9zaG9ja3dhdmUvY2Ficy9mbGFzaC9zd2ZsYXNoLmNhYiN2ZXJzaW9uPTYsMCwwLDA=
iIGlkPSJPYmplY3QxIiBhbGlnbj0ibWlkZGxlIiBib3JkZXI9JzAnIHdpZHRoPSczMDAnIGhl=
aWdodD0nMTYwJz48cGFyYW0gbmFtZT0iYWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJzYW1lR=
G9tYWluIiAvPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9J2h0dHA6Ly93d3cuaXRuZXdzLm=
NvbS5hdS9hZHMvSE9VU0UvcXVhbnR1bV93aGl0ZXBhcGVycy5zd2Y/Y2xpY2tUYWc9aHR0cDo=
vL3d3dy5pdG5ld3MuY29tLmF1L1doaXRlUGFwZXJzL3F1YW50dW0vcXVhbnR1bXdoaXRlcGFw=
ZXIuaHRtbCcgLz48cGFyYW0gbmFtZT0icXVhbGl0eSIgdmFsdWU9ImhpZ2giIC8+PHBhcmFtI=
G5hbWU9ImJnY29sb3IiIHZhbHVlPSIjZmZmZmZmIiAvPjxwYXJhbSBuYW1lPSJ3bW9kZSIgdm=
FsdWU9Im9wYXF1ZSIgLz48ZW1iZWQgd21vZGU9Im9wYXF1ZSIgc3JjPSdodHRwOi8vd3d3Lml=
0bmV3cy5jb20uYXUvYWRzL0hPVVNFL3F1YW50dW1fd2hpdGVwYXBlcnMuc3dmP2NsaWNrVGFn=
PWh0dHA6Ly93d3cuaXRuZXdzLmNvbS5hdS9XaGl0ZVBhcGVycy9xdWFudHVtL3F1YW50dW13a=
Gl0ZXBhcGVyLmh0bWwnIHF1YWxpdHk9ImhpZ2giIGJnY29sb3I9IiNmZmZmZmYiIG5hbWU9Im=
ZsYXNoX3ByZXZpZXciIGFsaWduPSJtaWRkbGUiIGFsbG93U2NyaXB0QWNjZXNzPSJzYW1lRG9=
tYWluIiB0eXBlPSJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaCIgcGx1Z2luc3BhZ2U9=
Imh0dHA6Ly93d3cubWFjcm9tZWRpYS5jb20vZ28vZ2V0Zmxhc2hwbGF5ZXIiIGJvcmRlcj0nM=
Ccgd2lkdGg9JzMwMCcgaGVpZ2h0PScxNjAnLz48YnIvPjwvb2JqZWN0PiZuYnNwOzxici8+PG=
RpdiBhbGlnbj0iY2VudGVyIiBzdHlsZT0ibWFyZ2luLWJvdHRvbToxMHB4OyI+PGEgaHJlZj0=
iaHR0cDovL2JhY2tvZmZpY2UuYWpiLmNvbS5hdS9nZW5lcmljL2Nsa190aHJ1LmFzcHg/ZD1o=
dHRwOi8vd3d3Lml0bmV3cy5jb20uYXUvc3VydmV5cy9jaGVja3BvaW50LyZzPVByb21vYm94X=
2NoZWNrcG9pbnQiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL3d3dy5pdG5ld3=
MuY29tLmF1L2Fkcy9IT1VTRS9DaGVja3BvaW50XzMwMHgxNTBfZHJpdmVyLmdpZiIgYWx0PSJ=
DaGVja3BvaW50IiBzdHlsZT0iYm9yZGVyOjA7IiAvPjwvYT48L2Rpdj5kAhQPZBYCAgEPZBYC=
Zg9kFgRmD2QWAmYPFgIfBQIBFgJmD2QWCGYPFQF2RG8geW91IHRoaW5rIEdvb2dsZSdzIG5ld=
yBtb2JpbGUgcGxhdGZvcm0sICdBbmRyb2lkJywgd2lsbCByZXZvbHV0aW9uaXNlIGhvdyBwZW=
9wbGUgaW50ZXJhY3Qgd2l0aCB0aGVpciBtb2JpbGUgcGhvbmVzP2QCAQ9kFghmDxUBAzEwOGQ=
CAQ8QDxYCHwpnZBAVAwNZZXMCTm8xTW9iaWxlIHBob25lcyBzaG91bGQgb25seSBiZSB1c2Vk=
IGZvciBwaG9uZSBjYWxscxUDAzQ3MAM0NzEDNDcyFCsDA2dnZ2RkAgIPFQMDMTA4AzEwOAMxM=
DhkAgMPFgIfD2cWAmYPFQIDMTA4AzEwOGQCAw9kFgJmDxUBAzEwOGQCBQ9kFgRmDxYCHwMF7g=
w8dGFibGUgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCI+Cjx0cj48dGQgYWxpZ249ImxlZnQiIHd=
pZHRoPSIxJSIgdmFsaWduPSJib3R0b20iPk5vPC90ZD48L3RyPgo8dHI+PHRkIGFsaWduPSJs=
ZWZ0IiB2YWxpZ249ImJvdHRvbSIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyI+PHNwYW4gc=
3R5bGU9InBhZGRpbmctbGVmdDozcHg7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL1BvbGxfQm=
VnaW4uZ2lmKSByZXBlYXQteCBib3R0b20gbGVmdDsiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHl=
sZT0icGFkZGluZy1sZWZ0OjU3LjhweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvUG9sbF9N=
aWRkbGUuZ2lmKSByZXBlYXQteCBib3R0b20gbGVmdDsiPiZuYnNwOzwvc3Bhbj48c3BhbiBzd=
HlsZT0icGFkZGluZy1sZWZ0OjNweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvUG9sbF9Fbm=
QuZ2lmKSByZXBlYXQteCBib3R0b20gbGVmdDsiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0=
icGFkZGluZy1sZWZ0OjVweDtmb250LXdlaWdodDpib2xkOyI+MzQlPC9zcGFuPjwvdGQ+Cjwv=
dHI+Cjx0cj48dGQgYWxpZ249ImxlZnQiIHdpZHRoPSIxJSIgdmFsaWduPSJib3R0b20iPlllc=
zwvdGQ+PC90cj4KPHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJib3R0b20iIHN0eWxlPS=
JwYWRkaW5nLWxlZnQ6MTBweDsiPjxzcGFuIHN0eWxlPSJwYWRkaW5nLWxlZnQ6M3B4O2JhY2t=
ncm91bmQ6dXJsKC4uL2ltYWdlcy9Qb2xsX0JlZ2luLmdpZikgcmVwZWF0LXggYm90dG9tIGxl=
ZnQ7Ij4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9InBhZGRpbmctbGVmdDo1Ni4xcHg7YmFja=
2dyb3VuZDp1cmwoLi4vaW1hZ2VzL1BvbGxfTWlkZGxlLmdpZikgcmVwZWF0LXggYm90dG9tIG=
xlZnQ7Ij4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9InBhZGRpbmctbGVmdDozcHg7YmFja2d=
yb3VuZDp1cmwoLi4vaW1hZ2VzL1BvbGxfRW5kLmdpZikgcmVwZWF0LXggYm90dG9tIGxlZnQ7=
Ij4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9InBhZGRpbmctbGVmdDo1cHg7Zm9udC13ZWlna=
HQ6Ym9sZDsiPjMzJTwvc3Bhbj48L3RkPgo8L3RyPgo8dHI+PHRkIGFsaWduPSJsZWZ0IiB3aW=
R0aD0iMSUiIHZhbGlnbj0iYm90dG9tIj5Nb2JpbGUgcGhvbmVzIHNob3VsZCBvbmx5IGJlIHV=
zZWQgZm9yIHBob25lIGNhbGxzPC90ZD48L3RyPgo8dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxp=
Z249ImJvdHRvbSIgc3R5bGU9InBhZGRpbmctbGVmdDoxMHB4OyI+PHNwYW4gc3R5bGU9InBhZ=
GRpbmctbGVmdDozcHg7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL1BvbGxfQmVnaW4uZ2lmKS=
ByZXBlYXQteCBib3R0b20gbGVmdDsiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0icGFkZGl=
uZy1sZWZ0OjU2LjFweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvUG9sbF9NaWRkbGUuZ2lm=
KSByZXBlYXQteCBib3R0b20gbGVmdDsiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0icGFkZ=
GluZy1sZWZ0OjNweDtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvUG9sbF9FbmQuZ2lmKSByZX=
BlYXQteCBib3R0b20gbGVmdDsiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0icGFkZGluZy1=
sZWZ0OjVweDtmb250LXdlaWdodDpib2xkOyI+MzMlPC9zcGFuPjwvdGQ+CjwvdHI+CjwvdGFi=
bGU+CmQCAQ9kFgJmDxUDAzEwOAMxMDgDMTA4ZAICDxYCHw9nZAIVD2QWAmYPFgIfAwUiPGRpd=
iBpZD0icGhfU2Vjb25kSXNsYW5kQWQiPjwvZGl2PmQCFg9kFgICAw9kFgICAw8WAh8DBYQhPG=
RpdiBjbGFzcz0ic3RvcnkiPjx0YWJsZSB3aWR0aD0iMTAwJSI+PHRyPjx0ZCB3aWR0aD0iNTA=
iIHZhbGlnbj0idG9wIj48YSBocmVmPSJodHRwOi8vd3d3LnNlY3VyZWNvbXB1dGluZy5uZXQu=
YXUvcmV2aWV3LzUyMzYsbm93ZWxsLWdyb3VwLXNweWZvcmNlYWwtdjIwLmFzcHgiIHRhcmdld=
D0iX2JsYW5rIiB0aXRsZT0iTm93ZWxsIEdyb3VwIFNweUZvcmNlLUFsLCB2Mi4wIj48aW1nIH=
NyYz0iaHR0cDovL2JhY2tvZmZpY2UuYWpiLmNvbS5hdS91dGlscy9pbWdyZXNpemVyLmFzcHg=
/dz01MCZuPWh0dHA6Ly9iYWNrb2ZmaWNlLmFqYi5jb20uYXUvaW1hZ2VzL0R5bmFtaWNJbWFn=
ZXMvUHJvZHVjdC9Hcm91cC0xX05vd2VsbC5naWYiLz48L2E+PC90ZD48dGQgdmFsaWduPSJ0b=
3AiPjxkaXYgY2xhc3M9InByb2R1Y3RMaW5rIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDJweDsiPj=
xhIGhyZWY9Imh0dHA6Ly93d3cuc2VjdXJlY29tcHV0aW5nLm5ldC5hdS9yZXZpZXcvNTIzNix=
ub3dlbGwtZ3JvdXAtc3B5Zm9yY2VhbC12MjAuYXNweCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxl=
PSJOb3dlbGwgR3JvdXAgU3B5Rm9yY2UtQWwsIHYyLjAiPk5vd2VsbCBHcm91cCBTcHlGb3JjZ=
S1BbCwgdjIuMDwvYT48L2Rpdj4KPGltZyBzcmM9Ii4uL2ltYWdlcy9zdGFyc180LmdpZiIgYW=
x0PSJTdGFyIFJhdGluZyIgLz48YnIgLz5UaGlzIGlzLCBjZXJ0YWlubHksIHRoZSBtb3N0IHV=
udXN1YWwgcHJvZHVjdCBpbiB0aGlzIGdyb3VwLiBTcHlGb3JjZS1BSSBpcyB0b3V0ZWQgYXMg=
4oCcLi4uYSBjb3VudGVyLWVzcGlvbmFnZS4uLjwvdGQ+PC90cj48dHI+PHRkIGNvbHNwYW49J=
zInIHN0eWxlPSdwYWRkaW5nLWJvdHRvbToxMHB4O3BhZGRpbmctdG9wOjEwcHg7Jz48aW1nIH=
NyYz0nL2ltYWdlcy9saXN0LWRpdmlkZXItc21hbGwuanBnJyAvPjwvdGQ+PC90cj48dHI+PHR=
kIHdpZHRoPSI1MCIgdmFsaWduPSJ0b3AiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2VjdXJlY29t=
cHV0aW5nLm5ldC5hdS9yZXZpZXcvNTIzNyxvYWtsZXktbmV0d29ya3Mtc3VyZXZpZXctdjUwL=
mFzcHgiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iT2FrbGV5IE5ldHdvcmtzIFN1cmVWaWV3LC=
B2NS4wIj48aW1nIHNyYz0iaHR0cDovL2JhY2tvZmZpY2UuYWpiLmNvbS5hdS91dGlscy9pbWd=
yZXNpemVyLmFzcHg/dz01MCZuPWh0dHA6Ly9iYWNrb2ZmaWNlLmFqYi5jb20uYXUvaW1hZ2Vz=
L0R5bmFtaWNJbWFnZXMvUHJvZHVjdC9Hcm91cC0xX09ha2xleS5naWYiLz48L2E+PC90ZD48d=
GQgdmFsaWduPSJ0b3AiPjxkaXYgY2xhc3M9InByb2R1Y3RMaW5rIiBzdHlsZT0ibWFyZ2luLW=
xlZnQ6IDJweDsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2VjdXJlY29tcHV0aW5nLm5ldC5hdS9=
yZXZpZXcvNTIzNyxvYWtsZXktbmV0d29ya3Mtc3VyZXZpZXctdjUwLmFzcHgiIHRhcmdldD0i=
X2JsYW5rIiB0aXRsZT0iT2FrbGV5IE5ldHdvcmtzIFN1cmVWaWV3LCB2NS4wIj5PYWtsZXkgT=
mV0d29ya3MgU3VyZVZpZXcsIHY1LjA8L2E+PC9kaXY+CjxpbWcgc3JjPSIuLi9pbWFnZXMvc3=
RhcnNfNS5naWYiIGFsdD0iU3RhciBSYXRpbmciIC8+PGJyIC8+T2FrbGV5IE5ldHdvcmtzIFN=
1cmVWaWV3IGFwcGxpYW5jZSBvZmZlcnMgdmVyeSBjb21wbGV0ZSBleHRydXNpb24gcHJldmVu=
dGlvbiB3aXRoIGEgdHdpc3QuIEFsb25nIHdpdGggdGhlLi4uPC90ZD48L3RyPjx0cj48dGQgY=
29sc3Bhbj0nMicgc3R5bGU9J3BhZGRpbmctYm90dG9tOjEwcHg7cGFkZGluZy10b3A6MTBweD=
snPjxpbWcgc3JjPScvaW1hZ2VzL2xpc3QtZGl2aWRlci1zbWFsbC5qcGcnIC8+PC90ZD48L3R=
yPjx0cj48dGQgd2lkdGg9IjUwIiB2YWxpZ249InRvcCI+PGEgaHJlZj0iaHR0cDovL3d3dy5z=
ZWN1cmVjb21wdXRpbmcubmV0LmF1L3Jldmlldy81MjM4LHB1cmVmaWxlLXYzMTMuYXNweCIgd=
GFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJQdXJlRmlsZSBWMy4xLjMgIj48aW1nIHNyYz0iaHR0cD=
ovL2JhY2tvZmZpY2UuYWpiLmNvbS5hdS91dGlscy9pbWdyZXNpemVyLmFzcHg/dz01MCZuPWh=
0dHA6Ly9iYWNrb2ZmaWNlLmFqYi5jb20uYXUvaW1hZ2VzL0R5bmFtaWNJbWFnZXMvUHJvZHVj=
dC9Hcm91cC0xX1B1cmlGaWxlLmdpZiIvPjwvYT48L3RkPjx0ZCB2YWxpZ249InRvcCI+PGRpd=
iBjbGFzcz0icHJvZHVjdExpbmsiIHN0eWxlPSJtYXJnaW4tbGVmdDogMnB4OyI+PGEgaHJlZj=
0iaHR0cDovL3d3dy5zZWN1cmVjb21wdXRpbmcubmV0LmF1L3Jldmlldy81MjM4LHB1cmVmaWx=
lLXYzMTMuYXNweCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJQdXJlRmlsZSBWMy4xLjMgIj5Q=
dXJlRmlsZSBWMy4xLjMgPC9hPjwvZGl2Pgo8aW1nIHNyYz0iLi4vaW1hZ2VzL3N0YXJzXzQuZ=
2lmIiBhbHQ9IlN0YXIgUmF0aW5nIiAvPjxiciAvPlRoaXMgcHJvZHVjdCBpcyBub3QsIGluIH=
RoZSBzdHJpY3Rlc3Qgc2Vuc2Ugb2YgdGhlIHRlcm0sIGFuIGV4dHJ1c2lvbiBkZXRlY3Rpb24=
gcHJvZHVjdC4gUmF0aGVyLCBpdCBpcyBhbi4uLjwvdGQ+PC90cj48dHI+PHRkIGNvbHNwYW49=
JzInIHN0eWxlPSdwYWRkaW5nLWJvdHRvbToxMHB4O3BhZGRpbmctdG9wOjEwcHg7Jz48aW1nI=
HNyYz0nL2ltYWdlcy9saXN0LWRpdmlkZXItc21hbGwuanBnJyAvPjwvdGQ+PC90cj48dHI+PH=
RkIHdpZHRoPSI1MCIgdmFsaWduPSJ0b3AiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc2VjdXJlY29=
tcHV0aW5nLm5ldC5hdS9yZXZpZXcvNTIzOSx0dW1ibGV3ZWVkLW1haWxnYXRlLXYzNS5hc3B4=
IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9IlR1bWJsZXdlZWQgTWFpbEdhdGUgVjMuNSAiPjxpb=
Wcgc3JjPSJodHRwOi8vYmFja29mZmljZS5hamIuY29tLmF1L3V0aWxzL2ltZ3Jlc2l6ZXIuYX=
NweD93PTUwJm49aHR0cDovL2JhY2tvZmZpY2UuYWpiLmNvbS5hdS9pbWFnZXMvRHluYW1pY0l=
tYWdlcy9Qcm9kdWN0L0dyb3VwLTFfVHVtYmxld2VlZDEuZ2lmIi8+PC9hPjwvdGQ+PHRkIHZh=
bGlnbj0idG9wIj48ZGl2IGNsYXNzPSJwcm9kdWN0TGluayIgc3R5bGU9Im1hcmdpbi1sZWZ0O=
iAycHg7Ij48YSBocmVmPSJodHRwOi8vd3d3LnNlY3VyZWNvbXB1dGluZy5uZXQuYXUvcmV2aW=
V3LzUyMzksdHVtYmxld2VlZC1tYWlsZ2F0ZS12MzUuYXNweCIgdGFyZ2V0PSJfYmxhbmsiIHR=
pdGxlPSJUdW1ibGV3ZWVkIE1haWxHYXRlIFYzLjUgIj5UdW1ibGV3ZWVkIE1haWxHYXRlIFYz=
LjUgPC9hPjwvZGl2Pgo8aW1nIHNyYz0iLi4vaW1hZ2VzL3N0YXJzXzUuZ2lmIiBhbHQ9IlN0Y=
XIgUmF0aW5nIiAvPjxiciAvPlRoaXMgcHJvZHVjdCBpcyBhIHdob2xlIGxvdCBtb3JlIHRoYW=
4gYSBkYXRhIGxlYWthZ2UgcHJldmVudGlvbiB0b29sLiBJdCBpcyBhbiBlbnRpcmUgZW1haWw=
gZ2F0ZXdheSB0aGF0Li4uPC90ZD48L3RyPjx0cj48dGQgY29sc3Bhbj0nMicgc3R5bGU9J3Bh=
ZGRpbmctYm90dG9tOjEwcHg7cGFkZGluZy10b3A6MTBweDsnPjxpbWcgc3JjPScvaW1hZ2VzL=
2xpc3QtZGl2aWRlci1zbWFsbC5qcGcnIC8+PC90ZD48L3RyPjx0cj48dGQgd2lkdGg9IjUwIi=
B2YWxpZ249InRvcCI+PGEgaHJlZj0iaHR0cDovL3d3dy5zZWN1cmVjb21wdXRpbmcubmV0LmF=
1L3Jldmlldy81MTM0LGNhLXNlY3VyZS1jb250ZW50LW1hbmFnZXIuYXNweCIgdGFyZ2V0PSJf=
YmxhbmsiIHRpdGxlPSJDQSBTZWN1cmUgQ29udGVudCBNYW5hZ2VyIj48aW1nIHNyYz0iaHR0c=
DovL2JhY2tvZmZpY2UuYWpiLmNvbS5hdS91dGlscy9pbWdyZXNpemVyLmFzcHg/dz01MCZuPW=
h0dHA6Ly9iYWNrb2ZmaWNlLmFqYi5jb20uYXUvaW1hZ2VzL0R5bmFtaWNJbWFnZXMvUHJvZHV=
jdC9jYS5qcGciLz48L2E+PC90ZD48dGQgdmFsaWduPSJ0b3AiPjxkaXYgY2xhc3M9InByb2R1=
Y3RMaW5rIiBzdHlsZT0ibWFyZ2luLWxlZnQ6IDJweDsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuc=
2VjdXJlY29tcHV0aW5nLm5ldC5hdS9yZXZpZXcvNTEzNCxjYS1zZWN1cmUtY29udGVudC1tYW=
5hZ2VyLmFzcHgiIHRhcmdldD0iX2JsYW5rIiB0aXRsZT0iQ0EgU2VjdXJlIENvbnRlbnQgTWF=
uYWdlciI+Q0EgU2VjdXJlIENvbnRlbnQgTWFuYWdlcjwvYT48L2Rpdj4KPGltZyBzcmM9Ii4u=
L2ltYWdlcy9zdGFyc180LmdpZiIgYWx0PSJTdGFyIFJhdGluZyIgLz48YnIgLz5UaGUgb2ZmZ=
XJpbmcgZnJvbSBDQSBpcyBhIHNvZnR3YXJlLWJhc2VkIHByb2R1Y3QgdGhhdCBydW5zIG9uIH=
RvcCBvZiBXaW5kb3dzIFNlcnZlciAyMDAzLiBUaGlzIGRldmljZS4uLjwvdGQ+PC90cj48L3R=
hYmxlPjwvZGl2PmQCFw9kFgJmD2QWBGYPDxYCHwsFFi9JbWFnZXMvdG9wLXRvcGljcy5naWZk=
ZAICDxYCHwUCDxYeAgEPZBYGZg8VAQU0NTQ3M2QCAQ8PFgIfCwUiL2ltYWdlcy9ob21lLWxhd=
GVzdG5ld3MtYnVsbGV0LmdpZmRkAgMPDxYCHwYFIS9TZWFyY2gvRGVmYXVsdC5hc3B4P3F1ZX=
J5PW9ubGluZWQWAmYPFQEGb25saW5lZAIDD2QWBmYPFQEFMjMxMzFkAgEPDxYCHwsFIi9pbWF=
nZXMvaG9tZS1sYXRlc3RuZXdzLWJ1bGxldC5naWZkZAIDDw8WAh8GBSQvU2VhcmNoL0RlZmF1=
bHQuYXNweD9xdWVyeT1jb21wdXRpbmdkFgJmDxUBCWNvbXB1dGluZ2QCBQ9kFgZmDxUBBTIyO=
DMyZAIBDw8WAh8LBSIvaW1hZ2VzL2hvbWUtbGF0ZXN0bmV3cy1idWxsZXQuZ2lmZGQCAw8PFg=
IfBgUfL1NlYXJjaC9EZWZhdWx0LmFzcHg/cXVlcnk9Z3JpZGQWAmYPFQEEZ3JpZGQCBw9kFgZ=
mDxUBBDk0ODZkAgEPDxYCHwsFIi9pbWFnZXMvaG9tZS1sYXRlc3RuZXdzLWJ1bGxldC5naWZk=
ZAIDDw8WAh8GBSAvU2VhcmNoL0RlZmF1bHQuYXNweD9xdWVyeT1saW51eGQWAmYPFQEFbGlud=
XhkAgkPZBYGZg8VAQQ1ODk0ZAIBDw8WAh8LBSIvaW1hZ2VzL2hvbWUtbGF0ZXN0bmV3cy1idW=
xsZXQuZ2lmZGQCAw8PFgIfBgUjL1NlYXJjaC9EZWZhdWx0LmFzcHg/cXVlcnk9c2VjdXJpdHl=
kFgJmDxUBCHNlY3VyaXR5ZAILD2QWBmYPFQEENTgwNGQCAQ8PFgIfCwUiL2ltYWdlcy9ob21l=
LWxhdGVzdG5ld3MtYnVsbGV0LmdpZmRkAgMPDxYCHwYFJC9TZWFyY2gvRGVmYXVsdC5hc3B4P=
3F1ZXJ5PW1pY3Jvc29mdGQWAmYPFQEJbWljcm9zb2Z0ZAIND2QWBmYPFQEENDk3NWQCAQ8PFg=
IfCwUiL2ltYWdlcy9ob21lLWxhdGVzdG5ld3MtYnVsbGV0LmdpZmRkAgMPDxYCHwYFHi9TZWF=
yY2gvRGVmYXVsdC5hc3B4P3F1ZXJ5PXdlYmQWAmYPFQEDd2ViZAIPD2QWBmYPFQEENDUxNWQC=
AQ8PFgIfCwUiL2ltYWdlcy9ob21lLWxhdGVzdG5ld3MtYnVsbGV0LmdpZmRkAgMPDxYCHwYFI=
S9TZWFyY2gvRGVmYXVsdC5hc3B4P3F1ZXJ5PWdvb2dsZWQWAmYPFQEGZ29vZ2xlZAIRD2QWBm=
YPFQEEMzkxNmQCAQ8PFgIfCwUiL2ltYWdlcy9ob21lLWxhdGVzdG5ld3MtYnVsbGV0LmdpZmR=
kAgMPDxYCHwYFHy9TZWFyY2gvRGVmYXVsdC5hc3B4P3F1ZXJ5PWhpZ2hkFgJmDxUBBGhpZ2hk=
AhMPZBYGZg8VAQQzNTk0ZAIBDw8WAh8LBSIvaW1hZ2VzL2hvbWUtbGF0ZXN0bmV3cy1idWxsZ=
XQuZ2lmZGQCAw8PFgIfBgUfL1NlYXJjaC9EZWZhdWx0LmFzcHg/cXVlcnk9ZGF0YWQWAmYPFQ=
EEZGF0YWQCFQ9kFgZmDxUBBDMyMzVkAgEPDxYCHwsFIi9pbWFnZXMvaG9tZS1sYXRlc3RuZXd=
zLWJ1bGxldC5naWZkZAIDDw8WAh8GBSIvU2VhcmNoL0RlZmF1bHQuYXNweD9xdWVyeT1zZXJ2=
ZXJzZBYCZg8VAQdzZXJ2ZXJzZAIXD2QWBmYPFQEEMjk1MmQCAQ8PFgIfCwUiL2ltYWdlcy9ob=
21lLWxhdGVzdG5ld3MtYnVsbGV0LmdpZmRkAgMPDxYCHwYFIy9TZWFyY2gvRGVmYXVsdC5hc3=
B4P3F1ZXJ5PXNvZnR3YXJlZBYCZg8VAQhzb2Z0d2FyZWQCGQ9kFgZmDxUBBDI4OTlkAgEPDxY=
CHwsFIi9pbWFnZXMvaG9tZS1sYXRlc3RuZXdzLWJ1bGxldC5naWZkZAIDDw8WAh8GBSQvU2Vh=
cmNoL0RlZmF1bHQuYXNweD9xdWVyeT1icm9hZGJhbmRkFgJmDxUBCWJyb2FkYmFuZGQCGw9kF=
gZmDxUBBDI3NDBkAgEPDxYCHwsFIi9pbWFnZXMvaG9tZS1sYXRlc3RuZXdzLWJ1bGxldC5naW=
ZkZAIDDw8WAh8GBSkvU2VhcmNoL0RlZmF1bHQuYXNweD9xdWVyeT1zZW1pY29uZHVjdG9yc2Q=
WAmYPFQEOc2VtaWNvbmR1Y3RvcnNkAh0PZBYGZg8VAQQyNDIyZAIBDw8WAh8LBSIvaW1hZ2Vz=
L2hvbWUtbGF0ZXN0bmV3cy1idWxsZXQuZ2lmZGQCAw8PFgIfBgUiL1NlYXJjaC9EZWZhdWx0L=
mFzcHg/cXVlcnk9d2luZG93c2QWAmYPFQEHd2luZG93c2QCGA9kFgJmDxYCHwMFHjxkaXYgaW=
Q9InBoX0FkQ29udHJvbDMiPjwvZGl2PmQCGQ8PFgIfDQsrBAJkFgJmDxYCHwNlZAIbD2QWAmY=
PFgIfAwX4AzxkaXYgaWQ9IkFkQ29udHJvbDIiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxTQ1JJ=
UFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPiBpZiAod2luZG93Lm9yZCA9PT0gdW5kZWZpbmVkK=
SAgb3JkID0gTWF0aC5yYW5kb20oKSoxMDAwMDAwMDAwMDAwMDAwMDsKZG9jdW1lbnQud3JpdG=
UoJzxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiIFNSQz0iaHR0cDovL2FkLmF1LmRvdWJ=
sZWNsaWNrLm5ldC9hZGovaXRuZXdzL250dztzZWM9bnR3O3RpbGU9MTt0eXBlPXJvYWRibG9j=
aztwb3M9bGVhZDtzej03Mjh4OTA7b3JkPScgKyBvcmQgKyAnPyI+PC9TQ1InICsgJ0lQVD4nK=
TsKPC9TQ1JJUFQ+PC9kaXY+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHR5cGU9In=
RleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwaF9BZENvbnRyb2w=
yIikuaW5uZXJIVE1MID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIkFkQ29udHJvbDIiKS5p=
bm5lckhUTUw7Cjwvc2NyaXB0PmQCHA9kFgJmDxYCHwMF/gM8ZGl2IGlkPSJBZENvbnRyb2wxI=
iBzdHlsZT0iZGlzcGxheTpub25lIj48U0NSSVBUIExBTkdVQUdFPSJKYXZhU2NyaXB0Ij4gaW=
YgKHdpbmRvdy5vcmQgPT09IHVuZGVmaW5lZCkgIG9yZCA9IE1hdGgucmFuZG9tKCkqMTAwMDA=
wMDAwMDAwMDAwMDA7CmRvY3VtZW50LndyaXRlKCc8U0NSSVBUIExBTkdVQUdFPSJKYXZhU2Ny=
aXB0IiBTUkM9Imh0dHA6Ly9hZC5hdS5kb3VibGVjbGljay5uZXQvYWRqL2l0bmV3cy9udHc7c=
2VjPW50dztwb3M9c3RvO3RpbGU9Mjt0eXBlPXJvYWRibG9jaztsb2M9MTtzej0zMDB4MjUwO2=
9yZD0nICsgb3JkICsgJz8iPjwvU0NSJyArICdJUFQ+Jyk7CjwvU0NSSVBUPjwvZGl2Pgo8c2N=
yaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpkb2N1=
bWVudC5nZXRFbGVtZW50QnlJZCgicGhfQWRDb250cm9sMSIpLmlubmVySFRNTCA9IGRvY3VtZ=
W50LmdldEVsZW1lbnRCeUlkKCJBZENvbnRyb2wxIikuaW5uZXJIVE1MOwo8L3NjcmlwdD5kAh=
0PZBYCZg8WAh8DBYoEPGRpdiBpZD0iU2Vjb25kSXNsYW5kQWQiIHN0eWxlPSJkaXNwbGF5Om5=
vbmUiPjxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPiBpZiAod2luZG93Lm9yZCA9PT0g=
dW5kZWZpbmVkKSAgb3JkID0gTWF0aC5yYW5kb20oKSoxMDAwMDAwMDAwMDAwMDAwMDsKZG9jd=
W1lbnQud3JpdGUoJzxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiIFNSQz0iaHR0cDovL2=
FkLmF1LmRvdWJsZWNsaWNrLm5ldC9hZGovaXRuZXdzL250dztzZWM9bnR3O3Bvcz1zdG87dGl=
sZT00O3R5cGU9cm9hZGJsb2NrO2xvYz0yO3N6PTMwMHgyNTA7b3JkPScgKyBvcmQgKyAnPyI+=
PC9TQ1InICsgJ0lQVD4nKTsKPC9TQ1JJUFQ+PC9kaXY+CjxzY3JpcHQgbGFuZ3VhZ2U9Ikphd=
mFTY3JpcHQiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmRvY3VtZW50LmdldEVsZW1lbnRCeU=
lkKCJwaF9TZWNvbmRJc2xhbmRBZCIpLmlubmVySFRNTCA9IGRvY3VtZW50LmdldEVsZW1lbnR=
CeUlkKCJTZWNvbmRJc2xhbmRBZCIpLmlubmVySFRNTDsKPC9zY3JpcHQ+ZAIeD2QWAmYPFgIf=
AwX5AzxkaXYgaWQ9IkFkQ29udHJvbDMiIHN0eWxlPSJkaXNwbGF5Om5vbmUiPjxTQ1JJUFQgT=
EFOR1VBR0U9IkphdmFTY3JpcHQiPiBpZiAod2luZG93Lm9yZCA9PT0gdW5kZWZpbmVkKSAgb3=
JkID0gTWF0aC5yYW5kb20oKSoxMDAwMDAwMDAwMDAwMDAwMDsKZG9jdW1lbnQud3JpdGUoJzx=
TQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiIFNSQz0iaHR0cDovL2FkLmF1LmRvdWJsZWNs=
aWNrLm5ldC9hZGovaXRuZXdzL250dztzZWM9bnR3O3RpbGU9Mzt0eXBlPXJvYWRibG9jaztwb=
3M9c2t5Mjtzej0xMjB4NjAwO29yZD0nICsgb3JkICsgJz8iPjwvU0NSJyArICdJUFQ+Jyk7Cj=
wvU0NSSVBUPjwvZGl2Pgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh=
0L2phdmFzY3JpcHQiPgpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGhfQWRDb250cm9sMyIp=
LmlubmVySFRNTCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJBZENvbnRyb2wzIikuaW5uZ=
XJIVE1MOwo8L3NjcmlwdD5kAh8PZBYCAgIPFgIfBQIDFgYCAQ9kFgJmDxUBjwI8YSBocmVmPS=
JodHRwOi8vYWQuZG91YmxlY2xpY2submV0L2NsazsxNTU3Nzk2ODE7ODAyODA2Mzt0P2h0dHA=
6Ly9ldmVudHJlZy5jb20vZGV2ZWxvcGVyc2VtaW5hcnMvP0NQSUQ9RU1DLVBOTkdRMjA3LTQ1=
JmNwPUVNQy1QTk5HUTIwNy00NSIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJzcG9uc29yZWQtb=
GluayI+VHdvIERheXMgb2YgRnJlZSBIYW5kcy1PbiBCbGFja0JlcnJ5IERldmVsb3BlcnMgVH=
JhaW5pbmcgaW4gQXVzdHJhbGlhISBTZWF0cyBhcmUgbGltaXRlZC48L2E+ZAICD2QWAmYPFQG=
tAjxhIGhyZWY9Imh0dHA6Ly9iYWNrb2ZmaWNlLmFqYi5jb20uYXUvZ2VuZXJpYy9jbGtfdGhy=
dS5hc3B4P2Q9aHR0cDovL3d3dy5pdG5ld3MuY29tLmF1L1doaXRlUGFwZXJzL3F1YW50dW0vc=
XVhbnR1bXdoaXRlcGFwZXIuaHRtbCZzPVByb21vX2xpbmtfcXVhbnR1bV93aGl0ZXBhcGVycy=
IgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJzcG9uc29yZWQtbGluayI+Q2xpY2sgSGVyZSB0byB=
kb3dubG9hZCBmcmVlIHdoaXRlcGFwZXJzIG9uOiA8Yj5EYXRhIEJhY2t1cCwgUmVjb3Zlcnkg=
YW5kIEFyY2hpdmUgU29sdXRpb25zPC9iPjwvYT5kAgMPZBYCZg8VAfEBPGEgaHJlZj0iaHR0c=
DovL2FkLmRvdWJsZWNsaWNrLm5ldC9jbGs7MTQ1MDM3Nzk1OzgwMjgwNjM7bD9odHRwOi8vY2=
xrLmF0ZG10LmNvbS9PQVQvZ28vaHltcmF0ZWwwNTUwMDAwMDM2b2F0L2RpcmVjdC8wMS8iIHR=
hcmdldD0iX2JsYW5rIiBjbGFzcz0ic3BvbnNvcmVkLWxpbmsiPlRlbHN0cmEgVHVyYm8gNyBT=
ZXJpZXMgLSBHZXQgRE9VQkxFIHRoZSBkYXRhIGFsbG93YW5jZSBmb3IgdGhlIGZpcnN0IDMgb=
W9udGhzPC9hPmQCIA9kFgICAQ8WAh4Hb25jbGljawV7d2luZG93Lm9wZW4oJy9NYXJrZXRQbG=
FjZS9BYm91dE1hcmtldFBsYWNlLmh0bWwnLCdBYm91dE1hcmtldFBsYWNlJywnaGVpZ2h0PTI=
wMCx3aWR0aD0zMDAsc2Nyb2xsYmFycz1ubyx0b3A9MjAwLGxlZnQ9NTAwJyk7ZAIhDxYCHwIF=
IC9BYm91dFVzL1NpdGVJbmZvLmFzcHg/SW5mb0lEPTE3ZAIiDxYCHwIFFi9OZXdzL05ld3NBc=
mNoaXZlLmFzcHhkAiMPFgIfAgUYL05ld3NsZXR0ZXIvQXJjaGl2ZS5hc3B4ZAIkDxYCHwIFHy=
9GZWVkYmFjay9GZWVkYmFjay5hc3B4P05QQ0lEPTJkAiUPFgIfAgURL1N5bmRpY2F0aW9uLmF=
zcHhkAiYPFgIfAgUgL0Fib3V0VXMvU2l0ZUluZm8uYXNweD9JbmZvSUQ9MThkAicPFgIfAgUg=
L0Fib3V0VXMvU2l0ZUluZm8uYXNweD9JbmZvSUQ9MTlkAikPFgIfAgUfL0Fib3V0VXMvU2l0Z=
UluZm8uYXNweD9JbmZvSUQ9OGQCKg8WAh8CBR8vQWJvdXRVcy9TaXRlSW5mby5hc3B4P0luZm=
9JRD0xZAIrDxYCHwMFfDxpbWcgc3JjPSIvdC5hc3B4P3U9JmM9OTcxOTkmcz0zJnI9Jm49JTJ=
mTmV3cyUyZk5ld3NTdG9yeS5hc3B4JnE9c3RvcnklM2Q2NTE1MSIgd2lkdGg9IjEiIGhlaWdo=
dD0iMSIgc3R5bGU9ImRpc3BsYXk6bm9uZSIgLz5kAiwPZBYCZg8WAh8DBU08c2NyaXB0IHNyY=
z0naHR0cDovL3ZzMjAwNjA4MTcuY29tL2NsaWVudHMvY21waS9pdG5fbXNfMjAwNzExMDEuan=
MnPjwvc2NyaXB0PmQCLg8WAh8DBRFpdG5ld3MtTmV0d29ya2luZ2QCLw8WAh8DBRFpdG5ld3M=
tTmV0d29ya2luZ2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgIFEmN0bDAw=
JFNlYXJjaEJ1dHRvbgUSY3RsMDAkU2lnbnVwQnV0dG9uoDZNvyM4/Re77T3DfY8qV4v9/h0=3D=
=20
name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
<!--
var theForm =3D document.forms['aspnetForm'];
if (!theForm) {
    theForm =3D document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() !=3D false)) {
        theForm.__EVENTTARGET.value =3D eventTarget;
        theForm.__EVENTARGUMENT.value =3D eventArgument;
        theForm.submit();
    }
}
// -->
</SCRIPT>

<SCRIPT=20
src=3D"http://www.itnews.com.au/WebResource.axd?d=3Di1rM4KKuSynl72SBnGgfz=
A2&amp;t=3D632943654197453955"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.itnews.com.au/WebResource.axd?d=3Ds5ks9t68TsNRDRMSobfci=
2sNlVK9YuHZFnh8NBYER4y9fGqGhnhhziO3BuGQuxgKOKJCR7JFEZ-q09inWKqqFg2&amp;t=3D=
633306373130000000"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"" type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.itnews.com.au/Scripts/SoushItnewsMarketPlace.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.itnews.com.au/ScriptResource.axd?d=3DHldmj3GwU3VRJaiaGC=
9l-2BtuxGN8sGSePD4ewsVfd6SlnaqswlPpSmXjZUo2ftcOILmhJazYsi-cdZJHijOy53ioUb=
BpPyWHPgVvJ_xNmI1&amp;t=3D633196817341848165"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.itnews.com.au/ScriptResource.axd?d=3DHldmj3GwU3VRJaiaGC=
9l-2BtuxGN8sGSePD4ewsVfd6SlnaqswlPpSmXjZUo2ftcOILmhJazYsi-cdZJHijOy8Qe9lh=
NQSAY8nFfDSCwVCs1&amp;t=3D633196817341848165"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', =
document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tctl00$le=
ftColumnContentPlaceHolder$UserCommentControl$upComment'], [], [], 90);
//]]>
</SCRIPT>

<DIV id=3Dprintlogo><IMG id=3Dctl00_printLogoImage alt=3D"ITNews Print =
Logo"=20
src=3D"http://www.itnews.com.au/Images/print-logo.gif"> </DIV>
<DIV id=3Dwrapper>
<DIV id=3Dhaymarketchannel><A href=3D"http://www.haymarketmedia.com.au/" =

target=3D_blank><IMG id=3Dctl00_haymarketLogoImage alt=3Dhaymarket=20
src=3D"http://www.itnews.com.au/Images/haymarket-logo.gif" =
border=3D0></A>=20
<DIV id=3Dlinks><A href=3D"http://www.atomicmpc.com.au/" =
target=3D_blank>Atomic=20
MPC</A> | <A href=3D"http://www.crn.com.au/" target=3D_blank>CRN =
Australia</A> | <A=20
href=3D"http://www.itnews.com.au/" target=3D_blank>iTnews</A> | <A=20
href=3D"http://www.pcauthority.com.au/" target=3D_blank>PC Authority</A> =
| <A=20
href=3D"http://business.pcauthority.com.au/" target=3D_blank>PC =
Authority Business=20
Centre</A> | <A href=3D"http://www.securecomputing.net.au/" =
target=3D_blank>SC=20
Magazine</A> | <A href=3D"http://www.haymarketmedia.com.au/careers.aspx" =

target=3D_blank>Careers</A> </DIV></DIV>
<DIV id=3Dheader><A href=3D"http://www.itnews.com.au/"><IMG class=3Dlogo =

id=3Dctl00_headerLogoImage alt=3D"ITnews - Breaking IT for Australian =
Business"=20
src=3D"http://www.itnews.com.au/Images/header-logo.gif" border=3D0></A>=20
<DIV id=3Dbannerad>
<DIV id=3Dph_AdControl2></DIV></DIV>
<DIV id=3Dmarquee>
<MARQUEE onmouseover=3Dthis.stop(); onmouseout=3Dthis.start(); =
scrollAmount=3D2=20
scrollDelay=3D50><SPAN class=3Dmarq-healine>TODAY ON =
iTnews.com.au:&nbsp;&nbsp;<A=20
href=3D"http://ad.doubleclick.net/clk;134617518;12023436;w?http://edm.sym=
antec.com/ep/haymarket/"=20
target=3D_blank><IMG=20
style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
alt=3DSymantec=20
src=3D"http://www.itnews.com.au/images/ticker_SYMAendpoint_16px_lo.gif"><=
/A></SPAN>=20
&nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl00_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65150,dell-points-to-hidden-data-ce=
ntres.aspx">Dell=20
points to 'hidden data centres'</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl01_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65151,researchers-turbocharge-cat-7=
-data-throughput.aspx">Researchers=20
turbocharge Cat 7 data throughput</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl02_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65152,ibm-floats-cloud-starter-kit.=
aspx">IBM=20
floats cloud starter kit</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl03_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65153,microsoft-unveils-windows-hpc=
-server-2008.aspx">Microsoft=20
unveils Windows HPC Server 2008</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl04_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65154,data-breaches-are-everyday-in=
cidents.aspx">Data=20
breaches are 'everyday incidents'</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl05_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65155,dutch-teen-arrested-for-habbo=
-hotel-thefts.aspx">Dutch=20
teen arrested for Habbo Hotel thefts</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl06_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65149,gameworld-nintendo-sony-roll-=
out-big-titles.aspx">Gameworld:=20
Nintendo, Sony roll out big titles</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl07_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65147,oracles-ellison-virtualisatio=
n-applications-we-got-it-all.aspx">Oracle's=20
Ellison: Virtualisation, applications, we got it all</A> =
&nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl08_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65148,business-intelligence-consoli=
dation-won-kill-innovation-claim-execs.aspx">Business=20
intelligence consolidation won' kill innovation, claim execs</A>=20
&nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl09_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65142,nortel-dives-into-soa-with-ib=
m.aspx">Nortel=20
dives into SOA with IBM</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl10_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65145,us-talks-up-biometric-border-=
protection.aspx">US=20
talks up biometric border protection</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl11_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65137,larry-ellison-levels-guns-at-=
red-hat.aspx">Larry=20
Ellison levels guns at Red Hat</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl12_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65124,google-announces-new-country-=
gm-karim-temsamani.aspx">Google=20
announces new country GM: Karim Temsamani</A> &nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl13_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65120,telstra-launches-australias-f=
irst-voice-to-text-service.aspx">Telstra=20
launches Australia's first voice to text service </A>&nbsp;&nbsp;<IMG=20
src=3D"http://www.itnews.com.au/images/red_triangle_nl.gif">&nbsp;<A=20
class=3Dmarq-healine=20
id=3Dctl00_NewsTicker1_rpt_newsmarquee_ctl14_MarqueeArticleHyperLink=20
href=3D"http://www.itnews.com.au/News/65114,michael-dell-going-green-is-k=
ey-to-industrys-future.aspx">Michael=20
Dell: Going green is key to industry's future</A></MARQUEE></DIV>
<DIV id=3Dnav>
<DIV class=3DBeginingMenuCurve id=3Dctl00_tabMenu_ITNewsMenu>
<DIV class=3DAspNet-Menu-Horizontal>
<UL class=3DAspNet-Menu>
  <LI class=3Dprev-active><A class=3DAspNet-Menu-Link=20
  href=3D"http://www.itnews.com.au/Default.aspx">Home</A> </LI>
  <LI class=3Dactive><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/31,Breaking+News.aspx">News=
</A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  href=3D"http://www.itnews.com.au/Products/">Products</A> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  href=3D"http://www.itnews.com.au/Features/">Features</A> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  href=3D"http://www.itnews.com.au/Events/">Events</A> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  href=3D"http://www.itnews.com.au/WhitePapers/">Whitepapers</A> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  href=3D"http://www.itnews.com.au/Jobs/">Jobs</A> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link-Last=20
  href=3D"http://www.itnews.com.au/Downloads/">Downloads</A> =
</LI></UL></DIV></DIV>
<DIV id=3DnavImage></DIV></DIV>
<DIV id=3Dnav-2ndlevel>
<DIV class=3DAspNet-Menu-Horizontal id=3Dctl00_tabMenu_ITNewsSubMenu>
<UL class=3DAspNet-Menu>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/31,Breaking+News.aspx">Brea=
king=20
  News</A> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/32,Security.aspx">Security<=
/A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/33,Hardware.aspx">Hardware<=
/A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/34,Internet.aspx">Internet<=
/A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/35,Telecommunications.aspx"=
>Telecommunications</A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/36,Software.aspx">Software<=
/A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/37,Business.aspx">Business<=
/A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/38,Storage.aspx">Storage</A=
> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/40,Operating+Systems.aspx">=
Operating=20
  Systems</A> </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/43,Mobility.aspx">Mobility<=
/A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/205,Linux+-+Open+Source+.as=
px">Linux=20
  &amp; Open Source </A></LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link=20
  =
href=3D"http://www.itnews.com.au/NewsCategory/207,Networking.aspx">Networ=
king</A>=20
  </LI>
  <LI class=3DAspNet-Menu-Leaf><A class=3DAspNet-Menu-Link-Last=20
  href=3D"http://www.itnews.com.au/BriefingCentre/Default.aspx">Briefing =

  Centre</A> </LI></UL></DIV></DIV></DIV>
<DIV id=3Dheader-toolbar>
<DIV id=3Dsearch>
<P>Search:</P>
<DIV=20
onkeypress=3D"javascript:return WebForm_FireDefaultButton(event, =
'ctl00_SearchButton')"><INPUT=20
class=3Dsearch id=3Dctl00_SearchTextBox name=3Dctl00$SearchTextBox> =
<SELECT=20
class=3Dsearch-filter id=3Dctl00_searchFilterDropDownList=20
name=3Dctl00$searchFilterDropDownList> <OPTION value=3D"All iTnews" =
selected>All=20
  iTnews</OPTION> <OPTION value=3D31>Breaking News</OPTION> <OPTION=20
  value=3D32>Security</OPTION> <OPTION value=3D33>Hardware</OPTION> =
<OPTION=20
  value=3D34>Internet</OPTION> <OPTION =
value=3D35>Telecommunications</OPTION>=20
  <OPTION value=3D36>Software</OPTION> <OPTION =
value=3D37>Business</OPTION> <OPTION=20
  value=3D38>Storage</OPTION> <OPTION value=3D40>Operating =
Systems</OPTION> <OPTION=20
  value=3D43>Mobility</OPTION> <OPTION value=3D205>Linux &amp; Open =
Source</OPTION>=20
  <OPTION value=3D207>Networking</OPTION></SELECT> <INPUT =
class=3Dsearch-btn=20
id=3Dctl00_SearchButton=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
type=3Dimage src=3D"http://www.itnews.com.au/Images/go_btn.gif"=20
name=3Dctl00$SearchButton> </DIV></DIV>
<DIV id=3Dsignup>
<P>Newsletter:</P>
<DIV=20
onkeypress=3D"javascript:return WebForm_FireDefaultButton(event, =
'ctl00_SignupButton')"><INPUT=20
class=3Dregister id=3Dctl00_SignupTextBox=20
onfocus=3D"if(this.value=3D=3D'enter your email address') =
this.value=3D'';"=20
value=3D"enter your email address" name=3Dctl00$SignupTextBox> <INPUT=20
class=3Dregister-btn id=3Dctl00_SignupButton=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
type=3Dimage src=3D"http://www.itnews.com.au/Images/sign-up_btn.gif"=20
name=3Dctl00$SignupButton> </DIV></DIV>
<DIV id=3Dbanner><A class=3Dsponsored-link=20
href=3D"http://ad.doubleclick.net/clk;150183232;8028063;v?http://www.itne=
ws.com.au/surveys/checkpoint/"=20
target=3D_blank><IMG=20
src=3D"http://www.itnews.com.au/ads/HOUSE/TJ9955_CkPt_163x38_1.gif" =
border=3D0></A>=20
</DIV></DIV>
<DIV class=3DtitleDivWrap id=3DwrapThisBarDiv>
<DIV id=3Dtitle>
<P><SPAN id=3Dctl00_itnewsSiteMapPath><A=20
href=3D"http://www.itnews.com.au/News/NewsStory.aspx?story=3D65151#ctl00_=
itnewsSiteMapPath_SkipLink"><IMG=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
height=3D0 alt=3D"Skip Navigation Links"=20
src=3D"http://www.itnews.com.au/WebResource.axd?d=3DhPtSrZSiqqIQXVIued8yd=
Q2&amp;t=3D632943654197453955"=20
width=3D0></A><SPAN><A title=3D"ITNews Main Page"=20
style=3D"FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #666666; =
FONT-FAMILY: Arial; TEXT-DECORATION: none"=20
href=3D"http://www.itnews.com.au/Default.aspx">Home</A></SPAN><SPAN=20
style=3D"FONT-SIZE: 9px; COLOR: dimgray; FONT-FAMILY: Arial"> &gt; =
</SPAN><SPAN><A=20
title=3D"News Main Page"=20
style=3D"FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #666666; =
FONT-FAMILY: Arial; TEXT-DECORATION: none"=20
href=3D"http://www.itnews.com.au/News/Default.aspx">News</A></SPAN><SPAN =

style=3D"FONT-SIZE: 9px; COLOR: dimgray; FONT-FAMILY: Arial"> &gt; =
</SPAN><SPAN><A=20
title=3DNetworking=20
style=3D"FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #666666; =
FONT-FAMILY: Arial; TEXT-DECORATION: none"=20
href=3D"http://www.itnews.com.au/NewsCategory/207,Networking.aspx">Networ=
king</A></SPAN><SPAN=20
style=3D"FONT-SIZE: 9px; COLOR: dimgray; FONT-FAMILY: Arial"> &gt; =
</SPAN><SPAN=20
style=3D"FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #666666; =
FONT-FAMILY: Arial; TEXT-DECORATION: none">Researchers=20
turbocharge Cat 7 data throughput</SPAN><A=20
id=3Dctl00_itnewsSiteMapPath_SkipLink></A></SPAN> </P><A class=3Drssfeed =

id=3Dctl00_RSSLink title=3D"RSS Feed"=20
style=3D"DISPLAY: inline-block; WIDTH: 14px; HEIGHT: 14px"=20
href=3D"http://www.itnews.com.au/RSS/"><IMG title=3D"RSS Feed"=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
src=3D"http://www.itnews.com.au/images/bodytext-rssicon.gif"></A>=20
<DIV class=3Dsitetools><A id=3Dctl00_siteMapLink title=3D"Site Map"=20
href=3D"http://www.itnews.com.au/SiteDirectory.aspx">Site Map</A>=20
|</DIV></DIV></DIV>
<DIV id=3Dbodytext>
<DIV id=3Dmaintext style=3D"FONT-SIZE: 110%">
<H1><SPAN =
id=3Dctl00_leftColumnContentPlaceHolder_HeadingLabel>Researchers=20
turbocharge Cat 7 data throughput</SPAN></H1>
<SCRIPT src=3D"http://www.itnews.com.au/Scripts/prototype.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>

function TextLarge()
{
    $("maintext").style.fontSize =3D "150%";
}

function TextNormal()
{
    $("maintext").style.fontSize =3D "110%";
}

</SCRIPT>

<DIV class=3Ditem id=3Drelated_tools>
<UL class=3Dtools>
  <LI class=3Dshare><A class=3Dshare-this=20
  =
href=3D"http://www.itnews.com.au/News/NewsStory.aspx?story=3D65151#"><IMG=
=20
  height=3D22 alt=3D"Share this"=20
  src=3D"http://www.itnews.com.au/images/page-tools-share.gif" =
width=3D31=20
  border=3D0></A>=20
  <DIV style=3D"CLEAR: both"></DIV>
  <UL>
    <LI class=3Ddigg><A=20
    =
onclick=3D"window.open('http://digg.com/submit?phase=3D2&amp;url=3D'+enco=
deURIComponent(location.href)+'&amp;title=3D'+encodeURIComponent(document=
.title))"=20
    href=3D"javascript:void(0);">Digg</A>=20
    <LI class=3Dreddit><A=20
    =
onclick=3D"window.open('http://reddit.com/submit?url=3D'+encodeURICompone=
nt(location.href)+'&amp;title=3D'+encodeURIComponent(document.title))"=20
    href=3D"javascript:void(0);">Reddit</A>=20
    <LI class=3Dnetscape><A=20
    =
onclick=3D"window.open('http://www.netscape.com/submit/?U=3D'+encodeURICo=
mponent(location.href)+'&amp;T=3D'+encodeURIComponent(document.title))"=20
    href=3D"javascript:void(0);">Netscape</A>=20
    <LI class=3Ddelicious><A=20
    =
onclick=3D"window.open('http://del.icio.us/post?v=3D4;url=3D'+encodeURICo=
mponent(location.href)+';title=3D'+encodeURIComponent(document.title))"=20
    href=3D"javascript:void(0);">Del.ico.ous</A>=20
    <LI class=3Dtechnorati><A=20
    =
onclick=3D"window.open('http://technorati.com/faves?add=3D'+encodeURIComp=
onent(location.href))"=20
    href=3D"javascript:void(0);">Technorati</A>=20
    <LI class=3Dstumble><A=20
    =
onclick=3D"window.open('http://www.stumbleupon.com/submit?url=3D'+encodeU=
RIComponent(location.href)+'&amp;title=3D'+encodeURIComponent(document.ti=
tle))"=20
    href=3D"javascript:void(0);">Stumble It!</A>=20
    <LI class=3Dlast><A=20
    =
onclick=3D"window.open('http://slashdot.org/bookmark.pl?url=3D'+encodeURI=
Component(location.href)+'&amp;title=3D'+encodeURIComponent(document.titl=
e))"=20
    href=3D"javascript:void(0);">Slashdot</A> </LI></UL></LI>
  <LI><A =
href=3D"http://www.itnews.com.au/Tools/Email.aspx?CIID=3D97199"><IMG=20
  height=3D22 alt=3D"Email a Friend"=20
  src=3D"http://www.itnews.com.au/images/page-tools-friend.gif" =
width=3D31=20
  border=3D0></A> </LI>
  <LI><A href=3D"http://www.itnews.com.au/Tools/Print.aspx?CIID=3D97199" =

  target=3D_blank><IMG height=3D22 alt=3D"Print Page"=20
  src=3D"http://www.itnews.com.au/images/page-tools-print.gif" =
width=3D30=20
  border=3D0></A> </LI>
  <LI><A =
href=3D"http://www.itnews.com.au/News/NewsStory.aspx?story=3D65151#"><IMG=
=20
  onclick=3Djavascript:TextNormal() height=3D22 alt=3D"Decrease font =
size"=20
  src=3D"http://www.itnews.com.au/images/page-tools-decrease.gif" =
width=3D26=20
  border=3D0></A> </LI>
  <LI><A =
href=3D"http://www.itnews.com.au/News/NewsStory.aspx?story=3D65151#"><IMG=
=20
  onclick=3Djavascript:TextLarge() height=3D22 alt=3D"Increase Font =
Size"=20
  src=3D"http://www.itnews.com.au/images/page-tools-increase.gif" =
width=3D26=20
  border=3D0></A> </LI></UL></DIV>
<P><EM>By <!-- Neil's original code. Left here just in case we do not =
wish use the hyperlink anymore (see below).--><!-- This is the hyperlink =
that replaces the code above. --><!-- All data binding information has =
been placed in one location, the repeater's AuthorRepeater_ItemDataBound =
event. --><A=20
id=3Dctl00_leftColumnContentPlaceHolder_AuthorRepeater_ctl01_authorNameHy=
perLink=20
href=3D"http://www.itnews.com.au/Feedback/Feedback.aspx?PID=3D93923&amp;S=
tory=3D65151">Robert=20
Jaques</A> </EM><BR><SPAN =
id=3Dctl00_leftColumnContentPlaceHolder_DateLabel>16=20
November 2007 07:17AM</SPAN><BR><STRONG>Tags: </STRONG><SPAN=20
id=3Dctl00_leftColumnContentPlaceHolder_TagsLabel><A=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dresearchers"=
>researchers</A>=20
| <A=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dturbocharge"=
>turbocharge</A>=20
| <A =
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dcat">cat</A>=
 | <A=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Ddata">data</=
A> | <A=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dthroughput">=
throughput</A>=20
</SPAN></P>
<DIV style=3D"FLOAT: right; MARGIN: 0px 0px 5px 10px; WIDTH: 220px">
<DIV style=3D"CLEAR: both">
<DIV class=3D"box-gradient small">
<DIV class=3Dcontent>
<DIV class=3Dtitle>
<H1 class=3Dsmall>Related Articles</H1></DIV>
<DIV class=3Dlinks>
<UL>
  <LI><A=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl01_RelatedLink=20
  =
href=3D"http://www.itnews.com.au/News/59808,new-laser-promises-to-turboch=
arge-data.aspx"><SPAN=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl01_Foo>New=20
  laser promises to turbocharge data</SPAN></A>=20
  <LI><A=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl02_RelatedLink=20
  =
href=3D"http://www.itnews.com.au/News/56544,datastealing-trojan-disclosur=
e-frustrates-researchers-vendors-and-law-enforcement.aspx"><SPAN=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl02_Foo>Data-stealing=20
  trojan disclosure frustrates researchers, vendors, and law=20
  enforcement</SPAN></A>=20
  <LI><A=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl03_RelatedLink=20
  =
href=3D"http://www.itnews.com.au/News/53400,web-security-breach-lets-cat-=
out-of-baghdad-embassy-plans.aspx"><SPAN=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl03_Foo>Web=20
  security breach lets cat out of Baghdad Embassy plans</SPAN></A>=20
  <LI><A=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl04_RelatedLink=20
  =
href=3D"http://www.itnews.com.au/News/28002,yahoo-and-channel-7-join-forc=
es.aspx"><SPAN=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl04_Foo>Yahoo!=20
  and Channel 7 join forces</SPAN></A>=20
  <LI><A=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl05_RelatedLink=20
  =
href=3D"http://www.itnews.com.au/News/44256,computer-researchers-work-on-=
auto-safety.aspx"><SPAN=20
  =
id=3Dctl00_leftColumnContentPlaceHolder_RelatedArticles_RelatedRepeater_c=
tl05_Foo>Computer=20
  Researchers Work On Auto Safety</SPAN></A>=20
</LI></UL></DIV></DIV></DIV></DIV></DIV>
<P class=3Dfirst_paragraph><SPAN =
id=3Dctl00_leftColumnContentPlaceHolder_IntroLabel=20
style=3D"FONT-WEIGHT: bold">Engineers at Penn State University have =
successfully=20
boosted the data transmission rates of Cat-7 copper cables to=20
100Gbps..</SPAN></P>
<P><SPAN id=3Dctl00_leftColumnContentPlaceHolder_ContentLabel>The =
researchers=20
modelled the cable with all its attributes, including crosstalk, using=20
information on specifications and characteristics from cabling systems =
firm=20
Nexans.<BR><BR>A transmitter/receiver was then equipped with an =
interference=20
canceller that could transfer up to 100 gigabits using error correcting =
and=20
equalising approaches.<BR><BR>"Working with Nexans we have examined the=20
possibility of sending digital data at a rate of 100Gbps over 100m of =
Cat-7=20
copper cable," said Mohsen Kavehrad, a professor of electrical =
engineering at=20
Penn State.<BR><BR>Professor Kavehrad explained that all transmission =
cables are=20
limited by the distance they can transmit data without degradation of =
the=20
signal.<BR><BR>Before errors and interference make the signals =
non-recoverable,=20
cable systems use repeaters similar to computer modems to capture, =
correct or=20
recover data, and resend it.<BR><BR>The distance between repeaters =
depends on=20
the cable and the approach used by the modem to correct =
errors.<BR><BR>Ethernet=20
cable like Cat-7 comprises four pairs of twisted wires shielded to =
reduce=20
crosstalk. Cat-7 is heavier wire with better shielding than Cat-5 cable. =

<BR><BR>The amount of data encompassed by 100 gigabits is "amazing", =
according=20
to the researchers.<BR><BR>The Encyclopaedia Britannica contains 1GB of=20
information. A rate of 100Gbps over 100m is the equivalent of more than =
12=20
Encyclopaedia Britannica sets delivered every second. =
<BR><BR></SPAN></P>
<P><SPAN id=3Dctl00_leftColumnContentPlaceHolder_SourceLabel><A=20
href=3D"http://www.vnunet.com/" target=3D_blank>Copyright =C2=A9 2007=20
vnunet.com</A></SPAN></P>
<DIV style=3D"FLOAT: right">
<P>&nbsp; &nbsp; </P></DIV></DIV>
<DIV id=3Dctl00_leftColumnContentPlaceHolder_UserCommentControl_wrapDiv=20
style=3D"CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 490px; PADDING-TOP: 0px">
<DIV =
id=3Dctl00_leftColumnContentPlaceHolder_UserCommentControl_upComment><SPA=
N=20
id=3Dctl00_leftColumnContentPlaceHolder_UserCommentControl_errorLabel=20
style=3D"DISPLAY: inline-block; FONT-WEIGHT: bold; FONT-SIZE: 8pt; =
WIDTH: 490px; COLOR: steelblue; FONT-FAMILY: Arial"></SPAN><BR><BR>
<DIV class=3DaddCommentHeader=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; FONT-SIZE: 12px; =
PADDING-BOTTOM: 5px; WIDTH: 490px; PADDING-TOP: 5px; FONT-FAMILY: Arial; =
HEIGHT: 15px; BACKGROUND-COLOR: #ffffff"><IMG=20
id=3Dctl00_leftColumnContentPlaceHolder_UserCommentControl_addCommentImag=
e=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
src=3D"http://www.itnews.com.au/Images/add_comment_16.gif"> <A=20
id=3Dctl00_leftColumnContentPlaceHolder_UserCommentControl_addCommentLink=
Button=20
style=3D"FONT-WEIGHT: bold; COLOR: #13458c"=20
href=3D"javascript:__doPostBack('ctl00$leftColumnContentPlaceHolder$UserC=
ommentControl$addCommentLinkButton','')">Add=20
Comment &gt;&gt;</A> </DIV><BR></DIV></DIV><BR><INPUT=20
id=3Dctl00_leftColumnContentPlaceHolder_authorUrlHiddenField =
type=3Dhidden=20
name=3Dctl00$leftColumnContentPlaceHolder$authorUrlHiddenField> </DIV>
<DIV id=3Dcol-mid>
<DIV id=3Dph_AdControl1></DIV><BR>
<SCRIPT src=3D"http://www.itnews.com.au/Scripts/prototype.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT =
src=3D"http://www.itnews.com.au/Scripts/scriptaculous/scriptaculous.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript type=3Dtext/javascript>

function ShowIntro(itemNumber)
{
    //$("slideintro_" + itemNumber).show();
    //$("slideintro_" + itemNumber).toggle();
    //Effect.SlideDown("slideintro_" + itemNumber, { duration: 0.2 } );
    //Effect.BlindDown("slideintro_" + itemNumber);
}

function HideIntro(itemNumber)
{
    //$("slideintro_" + itemNumber).hide();
}

function DiscussedClicked()
{
    $("viewedcontent").hide();
    $("discussedcontent").show();
    =
$('ctl00_belowIslandContentPlaceHolder_MostPopularControl_latestcontent')=
.hide();
   =20
    $("viewedtab").className =3D "bluetab";
    $("discussedtab").className =3D "bluetab active";
    =
$('ctl00_belowIslandContentPlaceHolder_MostPopularControl_latesttab').cla=
ssName =3D "bluetab";
}

function ViewedClicked()
{
    $("discussedcontent").hide();
    $("viewedcontent").show();
    =
$('ctl00_belowIslandContentPlaceHolder_MostPopularControl_latestcontent')=
.hide();

    $("discussedtab").className =3D "bluetab";
    $("viewedtab").className =3D "bluetab active";
    =
$('ctl00_belowIslandContentPlaceHolder_MostPopularControl_latesttab').cla=
ssName =3D "bluetab";
}

function LatestClicked()
{
    $("discussedcontent").hide();
    $("viewedcontent").hide();
    =
$('ctl00_belowIslandContentPlaceHolder_MostPopularControl_latestcontent')=
.show();

    $("discussedtab").className =3D "bluetab";
    $("viewedtab").className =3D "bluetab";
    =
$('ctl00_belowIslandContentPlaceHolder_MostPopularControl_latesttab').cla=
ssName =3D "bluetab active";
}

</SCRIPT>

<DIV class=3Dbox-gradient>
<DIV class=3Dnav>
<UL class=3Dtabnav>
  <LI class=3Dbluetab=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_latesttab><A =

  href=3D"javascript:LatestClicked();">Latest News</A> </LI>
  <LI class=3Dbluetab id=3Dviewedtab><A =
href=3D"javascript:ViewedClicked();">Most=20
  Read</A> </LI>
  <LI class=3D"bluetab active" id=3Ddiscussedtab><A=20
  href=3D"javascript:DiscussedClicked();">Feedback</A> </LI></UL></DIV>
<DIV class=3Dclearing></DIV>
<DIV class=3Dcontent=20
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_latestcontent=
><!-- <div class=3D"title blue"><h1>Latest News</h1></div> -->
<DIV class=3Dlinks>
<UL>
  <LI><A title=3D"Dell points to 'hidden data centres'"=20
  =
href=3D"http://www.itnews.com.au/News/65150,dell-points-to-hidden-data-ce=
ntres.aspx">Dell=20
  points to 'hidden data centres'</A>
  <LI><A title=3D"Researchers turbocharge Cat 7 data throughput"=20
  =
href=3D"http://www.itnews.com.au/News/65151,researchers-turbocharge-cat-7=
-data-throughput.aspx">Researchers=20
  turbocharge Cat 7 data throughput</A>
  <LI><A title=3D"Data breaches are 'everyday incidents'"=20
  =
href=3D"http://www.itnews.com.au/News/65154,data-breaches-are-everyday-in=
cidents.aspx">Data=20
  breaches are 'everyday incidents'</A>
  <LI><A title=3D"Dutch teen arrested for Habbo Hotel thefts"=20
  =
href=3D"http://www.itnews.com.au/News/65155,dutch-teen-arrested-for-habbo=
-hotel-thefts.aspx">Dutch=20
  teen arrested for Habbo Hotel thefts</A>
  <LI><A title=3D"IBM floats cloud starter kit"=20
  =
href=3D"http://www.itnews.com.au/News/65152,ibm-floats-cloud-starter-kit.=
aspx">IBM=20
  floats cloud starter kit</A></LI></UL></DIV></DIV>
<DIV class=3Dcontent id=3Dviewedcontent><!-- <div class=3D"title =
blue"><h1>Most Viewed News</h1></div> -->
<DIV class=3Dlinks>
<UL>
  <LI><SPAN><A title=3D"Public takes on Bletchley's Colossus"=20
  =
href=3D"http://www.itnews.com.au/News/64931,public-takes-on-bletchleys-co=
lossus.aspx">Public=20
  takes on Bletchley's Colossus</A></SPAN>
  <LI><SPAN><A title=3D"Online translator sparks diplomatic row"=20
  =
href=3D"http://www.itnews.com.au/News/64729,online-translator-sparks-dipl=
omatic-row.aspx">Online=20
  translator sparks diplomatic row</A></SPAN>
  <LI><SPAN><A title=3D"Cancer-busters tap into grid computing"=20
  =
href=3D"http://www.itnews.com.au/News/64560,cancerbusters-tap-into-grid-c=
omputing.aspx">Cancer-busters=20
  tap into grid computing</A></SPAN>
  <LI><SPAN><A title=3D"iiNet cuts the cord and delivers nation-wide =
Naked DSL"=20
  =
href=3D"http://www.itnews.com.au/News/65097,iinet-cuts-the-cord-and-deliv=
ers-nationwide-naked-dsl.aspx">iiNet=20
  cuts the cord and delivers nation-wide Naked DSL</A></SPAN>
  <LI><SPAN><A title=3D"Tech pay approaches all-time high"=20
  =
href=3D"http://www.itnews.com.au/News/63756,tech-pay-approaches-alltime-h=
igh.aspx">Tech=20
  pay approaches all-time high</A></SPAN></LI></UL></DIV></DIV>
<DIV class=3Dcontent id=3Ddiscussedcontent><!-- <div class=3D"title =
blue"><h1>Most Discussed News</h1></div> -->
<DIV class=3Dlinks>
<UL>
  <LI><SPAN style=3D"FLOAT: right"><SPAN=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl01_ArticleComments>&nbsp;[<B>17</B>]</SPAN>=20
  </SPAN><SPAN onmouseover=3Djavascript:ShowIntro(64729)=20
  onmouseout=3Djavascript:HideIntro(64729)><A=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl01_ArticleHyperLink=20
  =
href=3D"http://www.itnews.com.au/News/64729,online-translator-sparks-dipl=
omatic-row.aspx">Online=20
  translator sparks diplomatic row</A> </SPAN>
  <LI><SPAN style=3D"FLOAT: right"><SPAN=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl02_ArticleComments>&nbsp;[<B>9</B>]</SPAN>=20
  </SPAN><SPAN onmouseover=3Djavascript:ShowIntro(64423)=20
  onmouseout=3Djavascript:HideIntro(64423)><A=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl02_ArticleHyperLink=20
  =
href=3D"http://www.itnews.com.au/News/64423,nevermind-google-earth-here%e=
2%80%99s-the-nsw-department-of-lands.aspx">Nevermind=20
  Google Earth, here=E2=80=99s the NSW Department of Lands</A> </SPAN>
  <LI><SPAN style=3D"FLOAT: right"><SPAN=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl03_ArticleComments>&nbsp;[<B>5</B>]</SPAN>=20
  </SPAN><SPAN onmouseover=3Djavascript:ShowIntro(64237)=20
  onmouseout=3Djavascript:HideIntro(64237)><A=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl03_ArticleHyperLink=20
  =
href=3D"http://www.itnews.com.au/News/64237,why-linux-will-succeed-on-the=
-desktop.aspx">Why=20
  Linux will succeed on the desktop</A> </SPAN>
  <LI><SPAN style=3D"FLOAT: right"><SPAN=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl04_ArticleComments>&nbsp;[<B>3</B>]</SPAN>=20
  </SPAN><SPAN onmouseover=3Djavascript:ShowIntro(64611)=20
  onmouseout=3Djavascript:HideIntro(64611)><A=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl04_ArticleHyperLink=20
  =
href=3D"http://www.itnews.com.au/News/64611,senators-battle-over-latest-o=
ecd-broadband-ranking.aspx">Senators=20
  battle over latest OECD broadband ranking</A> </SPAN>
  <LI><SPAN style=3D"FLOAT: right"><SPAN=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl05_ArticleComments>&nbsp;[<B>2</B>]</SPAN>=20
  </SPAN><SPAN onmouseover=3Djavascript:ShowIntro(64396)=20
  onmouseout=3Djavascript:HideIntro(64396)><A=20
  =
id=3Dctl00_belowIslandContentPlaceHolder_MostPopularControl_ArticleRepeat=
er_ctl05_ArticleHyperLink=20
  =
href=3D"http://www.itnews.com.au/News/64396,crazy-john-the-life-behind-th=
e-name.aspx">Crazy=20
  John: The life behind the name</A> </SPAN></LI></UL></DIV></DIV></DIV>
<SCRIPT type=3Dtext/javascript>

  LatestClicked();
 =20
</SCRIPT>

<OBJECT id=3DObject1=20
codeBase=3Dhttp://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swfl=
ash.cab#version=3D6,0,0,0=20
height=3D160 width=3D300 align=3Dmiddle border=3D0=20
classid=3Dclsid:d27cdb6e-ae6d-11cf-96b8-444553540000><PARAM =
NAME=3D"allowScriptAccess" VALUE=3D"sameDomain"><PARAM NAME=3D"movie" =
VALUE=3D"http://www.itnews.com.au/ads/HOUSE/quantum_whitepapers.swf?click=
Tag=3Dhttp://www.itnews.com.au/WhitePapers/quantum/quantumwhitepaper.html=
"><PARAM NAME=3D"quality" VALUE=3D"high"><PARAM NAME=3D"bgcolor" =
VALUE=3D"#ffffff"><PARAM NAME=3D"wmode" VALUE=3D"opaque">
<embed wmode=3D"opaque"=20
src=3D'http://www.itnews.com.au/ads/HOUSE/quantum_whitepapers.swf?clickTa=
g=3Dhttp://www.itnews.com.au/WhitePapers/quantum/quantumwhitepaper.html' =

quality=3D"high" bgcolor=3D"#ffffff" name=3D"flash_preview" =
align=3D"middle"=20
allowScriptAccess=3D"sameDomain" type=3D"application/x-shockwave-flash"=20
pluginspage=3D"http://www.macromedia.com/go/getflashplayer" border=3D'0' =
width=3D'300'=20
height=3D'160'/><br/></OBJECT>&nbsp;<BR>
<DIV style=3D"MARGIN-BOTTOM: 10px" align=3Dcenter><A=20
href=3D"http://backoffice.ajb.com.au/generic/clk_thru.aspx?d=3Dhttp://www=
.itnews.com.au/surveys/checkpoint/&amp;s=3DPromobox_checkpoint"=20
target=3D_blank><IMG=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3DCheckpoint=20
src=3D"http://www.itnews.com.au/ads/HOUSE/Checkpoint_300x150_driver.gif">=
</A></DIV>
<SCRIPT language=3Djavascript type=3Dtext/javascript>
   =20
    var xmlHttp;
   =20
    =0A=

array_108 =3D =
"ctl00$middleColumnContentPlaceHolder$Poll1$rp_polls$ctl00$rbl_poll_quest=
ions";
   =20
    function CheckCookies()
    {
        =0A=

if (getCookie("Poll108") !=3D null) HideVoting(108);
    }
   =20
    function HideVoting(pollID)
    {
        if (document.getElementById("div_poll_" + pollID) !=3D null)
        {
            document.getElementById("div_poll_" + pollID).style.display =
=3D "none";
        }
        if (document.getElementById("div_poll_votenow_" + pollID) !=3D =
null)
        {
            document.getElementById("div_poll_votenow_" + =
pollID).style.display =3D "none";
        }
        if (document.getElementById("div_poll_results_" + pollID) !=3D =
null)
        {
            document.getElementById("div_poll_results_" + =
pollID).style.display =3D "block";
        }
    }
   =20
    function Vote(pollID, poll_options_id)
    {
        document.getElementById("btn_submit_poll_" + pollID).disabled =
=3D true;
        document.getElementById("btn_submit_poll_" + pollID).value =3D =
"Voting...";
        document.getElementById("hdn_voted_poll").value =3D pollID;
       =20
        var poll_options =3D =
document.getElementsByName(poll_options_id);
        var voteID =3D 0;
       =20
        for(var i=3D0;i<poll_options.length;i++)=20
	    {
		    if ((poll_options[i].type =3D=3D "radio") && =
poll_options[i].checked)
			{
			    voteID =3D  poll_options[i].value;
			}
	    }
	   =20
	    var siteID =3D 3;
	    var length =3D "170";
	    var begin =3D "../images/Poll_Begin.gif";
	    var end =3D "../images/Poll_End.gif";
	    var bg =3D "url(../images/Poll_Middle.gif) repeat-x bottom left";
	   =20
        xmlHttp=3DGetXmlHttpObject();
        if (xmlHttp=3D=3Dnull)
        {
            alert ("Browser does not support HTTP Request");
            return;
        }
       =20
        var url=3D'/UserControls/PollAjax.aspx';
        var post_string =3D "siteID=3D" + escape(siteID);
        post_string +=3D "&pollID=3D" + escape(pollID);
        post_string +=3D "&voteID=3D" + escape(voteID);
        post_string +=3D "&length=3D" + escape(length);
        post_string +=3D "&begin=3D" + escape(begin);
        post_string +=3D "&end=3D" + escape(end);
        post_string +=3D "&bg=3D" + escape(bg);
       =20
        xmlHttp.onreadystatechange=3DstateChangedPoll;
        xmlHttp.open("POST",url,true);
        xmlHttp.setRequestHeader("Content-type", =
"application/x-www-form-urlencoded");
        xmlHttp.send(post_string);
    }
   =20
    // What to do after vote has been submitted
    function stateChangedPoll()
    {
        if (xmlHttp.readyState=3D=3D4 || =
xmlHttp.readyState=3D=3D"complete")
        {
            var voted_poll_id =3D =
document.getElementById("hdn_voted_poll").value;
           =20
            var results =3D xmlHttp.responseText;
           =20
            var start_string =3D "<!--START_" + "RESULTS-->";
            var end_string =3D "<!--END_" + "RESULTS-->";
           =20
            var start_index =3D results.indexOf(start_string) + =
start_string.length;
            var end_index =3D results.indexOf(end_string);
           =20
            results =3D results.substring(start_index,end_index)
           =20
            document.getElementById("div_poll_" + =
voted_poll_id).innerHTML =3D results;
        }
    }
     =20
    function GetXmlHttpObject()
    {
        var objXMLHttp=3Dnull;
        if (window.XMLHttpRequest)
        {
            objXMLHttp=3Dnew XMLHttpRequest();
        }
        else if (window.ActiveXObject)
        {
            objXMLHttp=3Dnew ActiveXObject("Microsoft.XMLHTTP");
        }
        return objXMLHttp;
    }
   =20
    function ShowDiv(id)
    {
        if (document.getElementById(id) !=3D null)
        {
            document.getElementById(id).style.display =3D "block";
        }
    }
   =20
    function HideDiv(id)
    {
        if (document.getElementById(id) !=3D null)
        {
            document.getElementById(id).style.display =3D "none";
        }
    }
   =20
    function getCookie(NameOfCookie)
    { if (document.cookie.length > 0)
    { begin =3D document.cookie.indexOf(NameOfCookie+"=3D");
    if (begin !=3D -1)
    { begin +=3D NameOfCookie.length+1;
    end =3D document.cookie.indexOf(";", begin);
    if (end =3D=3D -1) end =3D document.cookie.length;
    return unescape(document.cookie.substring(begin, end)); }
    }
    return null;
    }
   =20
   =20
</SCRIPT>

<DIV class=3Dbox-gradient>
<DIV class=3Dcontent>
<DIV class=3D"title blue">
<H1>Poll</H1></DIV><INPUT id=3Dhdn_voted_poll type=3Dhidden>=20
<DIV id=3Dpoll>
<H2>Do you think Google's new mobile platform, 'Android', will =
revolutionise how=20
people interact with their mobile phones?</H2>
<DIV id=3Ddiv_poll_108>
<TABLE=20
id=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_rbl_poll_q=
uestions=20
border=3D0>
  <TBODY>
  <TR>
    <TD><INPUT=20
      =
id=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_rbl_poll_q=
uestions_0=20
      type=3Dradio CHECKED value=3D470=20
      =
name=3Dctl00$middleColumnContentPlaceHolder$Poll1$rp_polls$ctl00$rbl_poll=
_questions><LABEL=20
      =
for=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_rbl_poll_=
questions_0>Yes</LABEL></TD></TR>
  <TR>
    <TD><INPUT=20
      =
id=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_rbl_poll_q=
uestions_1=20
      type=3Dradio value=3D471=20
      =
name=3Dctl00$middleColumnContentPlaceHolder$Poll1$rp_polls$ctl00$rbl_poll=
_questions><LABEL=20
      =
for=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_rbl_poll_=
questions_1>No</LABEL></TD></TR>
  <TR>
    <TD><INPUT=20
      =
id=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_rbl_poll_q=
uestions_2=20
      type=3Dradio value=3D472=20
      =
name=3Dctl00$middleColumnContentPlaceHolder$Poll1$rp_polls$ctl00$rbl_poll=
_questions><LABEL=20
      =
for=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_rbl_poll_=
questions_2>Mobile=20
      phones should only be used for phone =
calls</LABEL></TD></TR></TBODY></TABLE>
<DIV style=3D"TEXT-ALIGN: center"><INPUT class=3Dbutton =
id=3Dbtn_submit_poll_108 onclick=3D"Vote(108, array_108);" type=3Dbutton =
value=3D"vote now">=20
</DIV>
<DIV style=3D"TEXT-ALIGN: center"><A style=3D"CURSOR: pointer"=20
onclick=3D"ShowDiv('div_poll_results_108');HideDiv('div_poll_108');">View=
=20
Results</A></DIV><INPUT=20
id=3Dctl00_middleColumnContentPlaceHolder_Poll1_rp_polls_ctl00_hdn_poll_i=
d=20
type=3Dhidden value=3D108=20
name=3Dctl00$middleColumnContentPlaceHolder$Poll1$rp_polls$ctl00$hdn_poll=
_id>=20
<BR></DIV>
<DIV id=3Ddiv_poll_results_108 style=3D"DISPLAY: none">
<TABLE width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dbottom align=3Dleft width=3D"1%">No</TD></TR>
  <TR>
    <TD style=3D"PADDING-LEFT: 10px" vAlign=3Dbottom align=3Dleft><SPAN=20
      style=3D"PADDING-LEFT: 3px; BACKGROUND: =
url(../images/Poll_Begin.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 57px; BACKGROUND: =
url(../images/Poll_Middle.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 3px; BACKGROUND: =
url(../images/Poll_End.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 5px; FONT-WEIGHT: =
bold">34%</SPAN></TD></TR>
  <TR>
    <TD vAlign=3Dbottom align=3Dleft width=3D"1%">Yes</TD></TR>
  <TR>
    <TD style=3D"PADDING-LEFT: 10px" vAlign=3Dbottom align=3Dleft><SPAN=20
      style=3D"PADDING-LEFT: 3px; BACKGROUND: =
url(../images/Poll_Begin.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 56px; BACKGROUND: =
url(../images/Poll_Middle.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 3px; BACKGROUND: =
url(../images/Poll_End.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 5px; FONT-WEIGHT: =
bold">33%</SPAN></TD></TR>
  <TR>
    <TD vAlign=3Dbottom align=3Dleft width=3D"1%">Mobile phones should =
only be used=20
      for phone calls</TD></TR>
  <TR>
    <TD style=3D"PADDING-LEFT: 10px" vAlign=3Dbottom align=3Dleft><SPAN=20
      style=3D"PADDING-LEFT: 3px; BACKGROUND: =
url(../images/Poll_Begin.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 56px; BACKGROUND: =
url(../images/Poll_Middle.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 3px; BACKGROUND: =
url(../images/Poll_End.gif) repeat-x left bottom">&nbsp;</SPAN><SPAN=20
      style=3D"PADDING-LEFT: 5px; FONT-WEIGHT: =
bold">33%</SPAN></TD></TR></TBODY></TABLE>
<DIV id=3Ddiv_poll_votenow_108 style=3D"TEXT-ALIGN: center"><A=20
style=3D"CURSOR: pointer"=20
onclick=3D"ShowDiv('div_poll_108');HideDiv('div_poll_results_108');">Vote=
=20
Now</A></DIV><BR></DIV></DIV>
<DIV style=3D"PADDING-TOP: 8px; TEXT-ALIGN: center"><A=20
href=3D"http://www.itnews.com.au/Polls/Default.aspx">View previous =
polls</A>=20
</DIV></DIV></DIV>
<SCRIPT language=3Djavascript type=3Dtext/javascript>

    // Do check after html has loaded
    CheckCookies();
   =20
</SCRIPT>

<DIV id=3Dph_SecondIslandAd></DIV>
<DIV class=3Dbox-gradient>
<DIV class=3D"tab bluetab">
<H1>Tags</H1></DIV>
<DIV class=3D"content tagcloud"><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Damd">amd =
</A><A=20
style=3D"FONT-SIZE: 11pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dapple">apple=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dattack">atta=
ck </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dbroadband">b=
roadband=20
</A><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dbusiness">bu=
siness=20
</A><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dchannel">cha=
nnel </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dchina">china=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dcisco">cisco=
 </A><A=20
style=3D"FONT-SIZE: 9pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Ddata">data =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Ddell">dell =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dfrom">from =
</A><A=20
style=3D"FONT-SIZE: 12pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dgoogle">goog=
le </A><A=20
style=3D"FONT-SIZE: 10pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dhp">hp =
</A><A=20
style=3D"FONT-SIZE: 12pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dibm">ibm =
</A><A=20
style=3D"FONT-SIZE: 10pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dintel">intel=
 </A><A=20
style=3D"FONT-SIZE: 10pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dinternet">in=
ternet=20
</A><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dlaunches">la=
unches=20
</A><A style=3D"FONT-SIZE: 10pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dlinux">linux=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dmanagement">=
management=20
</A><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dmarket">mark=
et </A><A=20
style=3D"FONT-SIZE: 28pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dmicrosoft">m=
icrosoft=20
</A><A style=3D"FONT-SIZE: 12pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dmobile">mobi=
le </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dmore">more =
</A><A=20
style=3D"FONT-SIZE: 12pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dnew">new =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Doffice">offi=
ce </A><A=20
style=3D"FONT-SIZE: 10pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Donline">onli=
ne </A><A=20
style=3D"FONT-SIZE: 9pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dopen">open =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Doracle">orac=
le </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dout">out =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dover">over =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dpc">pc =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dphone">phone=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsales">sales=
 </A><A=20
style=3D"FONT-SIZE: 9pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsearch">sear=
ch </A><A=20
style=3D"FONT-SIZE: 14pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsecurity">se=
curity=20
</A><A style=3D"FONT-SIZE: 9pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dserver">serv=
er </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dservice">ser=
vice </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dservices">se=
rvices=20
</A><A style=3D"FONT-SIZE: 11pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsoftware">so=
ftware=20
</A><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsony">sony =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsource">sour=
ce </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dspam">spam =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dstorage">sto=
rage </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsun">sun =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsymantec">sy=
mantec=20
</A><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dtakes">takes=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dunveils">unv=
eils </A><A=20
style=3D"FONT-SIZE: 12pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dup">up =
</A><A=20
style=3D"FONT-SIZE: 10pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dus">us =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dusers">users=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dvideo">video=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dvirus">virus=
 </A><A=20
style=3D"FONT-SIZE: 9pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dvista">vista=
 </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dvoip">voip =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dvulnerabilit=
y">vulnerability=20
</A><A style=3D"FONT-SIZE: 10pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dweb">web =
</A><A=20
style=3D"FONT-SIZE: 11pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dwindows">win=
dows </A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dwireless">wi=
reless=20
</A><A style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dworm">worm =
</A><A=20
style=3D"FONT-SIZE: 8pt"=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dyahoo">yahoo=
=20
</A></DIV></DIV></DIV>
<DIV id=3Dcol-right>
<DIV id=3Dtoptopics style=3D"PADDING-LEFT: 9px; TEXT-ALIGN: left"><IMG=20
class=3Dpromoboxtop id=3Dctl00_TopTopics1_ImgTopTopicsHeader=20
style=3D"BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; =
BORDER-BOTTOM: 0px"=20
alt=3DTopTopics src=3D"http://www.itnews.com.au/Images/top-topics.gif">=20
<DIV id=3Dpromobox style=3D"TEXT-ALIGN: left">
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(45473)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl01_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl01_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Donline">onli=
ne</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(23131)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl03_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl03_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dcomputing">c=
omputing</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(22832)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl05_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl05_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dgrid">grid</=
A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(9486)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl07_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl07_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dlinux">linux=
</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(5894)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl09_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl09_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsecurity">se=
curity</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(5804)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl11_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl11_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dmicrosoft">m=
icrosoft</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(4975)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl13_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl13_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dweb">web</A>=
=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(4515)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl15_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl15_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dgoogle">goog=
le</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(3916)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl17_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl17_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dhigh">high</=
A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(3594)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl19_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl19_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Ddata">data</=
A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(3235)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl21_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl21_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dservers">ser=
vers</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(2952)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl23_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl23_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsoftware">so=
ftware</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(2899)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl25_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl25_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dbroadband">b=
roadband</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(2740)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl27_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl27_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dsemiconducto=
rs">semiconductors</A>=20
</SPAN></DIV>
<DIV=20
style=3D"PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; =
PADDING-TOP: 7px; BORDER-BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR: =
#f1f1f1; TEXT-ALIGN: left"><SPAN=20
style=3D"FLOAT: right">(2422)</SPAN> <SPAN><IMG=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl29_Image2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D- =
src=3D"http://www.itnews.com.au/images/home-latestnews-bullet.gif"> =
&nbsp;<A=20
id=3Dctl00_TopTopics1_rpTopTopics_ctl29_ArticleHyperLink=20
href=3D"http://www.itnews.com.au/Search/Default.aspx?query=3Dwindows">win=
dows</A>=20
</SPAN></DIV></DIV></DIV>
<DIV id=3Dph_AdControl3></DIV><BR></DIV></DIV>
<DIV id=3Dfooter>
<DIV id=3DAdControl2 style=3D"DISPLAY: none">
<SCRIPT language=3DJavaScript> if (window.ord =3D=3D=3D undefined)  ord =
=3D Math.random()*10000000000000000;=0A=
document.write('<SCRIPT LANGUAGE=3D"JavaScript" =
SRC=3D"http://ad.au.doubleclick.net/adj/itnews/ntw;sec=3Dntw;tile=3D1;typ=
e=3Droadblock;pos=3Dlead;sz=3D728x90;ord=3D' + ord + '?"></SCR' + =
'IPT>');=0A=
</SCRIPT>
</DIV>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>=0A=
document.getElementById("ph_AdControl2").innerHTML =3D =
document.getElementById("AdControl2").innerHTML;=0A=
</SCRIPT>

<DIV id=3DAdControl1 style=3D"DISPLAY: none">
<SCRIPT language=3DJavaScript> if (window.ord =3D=3D=3D undefined)  ord =
=3D Math.random()*10000000000000000;=0A=
document.write('<SCRIPT LANGUAGE=3D"JavaScript" =
SRC=3D"http://ad.au.doubleclick.net/adj/itnews/ntw;sec=3Dntw;pos=3Dsto;ti=
le=3D2;type=3Droadblock;loc=3D1;sz=3D300x250;ord=3D' + ord + '?"></SCR' =
+ 'IPT>');=0A=
</SCRIPT>
</DIV>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>=0A=
document.getElementById("ph_AdControl1").innerHTML =3D =
document.getElementById("AdControl1").innerHTML;=0A=
</SCRIPT>

<DIV id=3DSecondIslandAd style=3D"DISPLAY: none">
<SCRIPT language=3DJavaScript> if (window.ord =3D=3D=3D undefined)  ord =
=3D Math.random()*10000000000000000;=0A=
document.write('<SCRIPT LANGUAGE=3D"JavaScript" =
SRC=3D"http://ad.au.doubleclick.net/adj/itnews/ntw;sec=3Dntw;pos=3Dsto;ti=
le=3D4;type=3Droadblock;loc=3D2;sz=3D300x250;ord=3D' + ord + '?"></SCR' =
+ 'IPT>');=0A=
</SCRIPT>
</DIV>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>=0A=
document.getElementById("ph_SecondIslandAd").innerHTML =3D =
document.getElementById("SecondIslandAd").innerHTML;=0A=
</SCRIPT>

<DIV id=3DAdControl3 style=3D"DISPLAY: none">
<SCRIPT language=3DJavaScript> if (window.ord =3D=3D=3D undefined)  ord =
=3D Math.random()*10000000000000000;=0A=
document.write('<SCRIPT LANGUAGE=3D"JavaScript" =
SRC=3D"http://ad.au.doubleclick.net/adj/itnews/ntw;sec=3Dntw;tile=3D3;typ=
e=3Droadblock;pos=3Dsky2;sz=3D120x600;ord=3D' + ord + '?"></SCR' + =
'IPT>');=0A=
</SCRIPT>
</DIV>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>=0A=
document.getElementById("ph_AdControl3").innerHTML =3D =
document.getElementById("AdControl3").innerHTML;=0A=
</SCRIPT>

<DIV class=3Dsponsoredlinks id=3DsponsoredLinksDiv>
<H1>Sponsored Links</H1>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" align=3Dcenter =
border=3D0>
  <TBODY>
  <TR>
    <TD>
      <UL>
        <LI><A class=3Dsponsored-link=20
        =
href=3D"http://ad.doubleclick.net/clk;155779681;8028063;t?http://eventreg=
.com/developerseminars/?CPID=3DEMC-PNNGQ207-45&amp;cp=3DEMC-PNNGQ207-45" =

        target=3D_blank>Two Days of Free Hands-On BlackBerry Developers =
Training=20
        in Australia! Seats are limited.</A> </LI></UL>
      <UL>
        <LI><A class=3Dsponsored-link=20
        =
href=3D"http://backoffice.ajb.com.au/generic/clk_thru.aspx?d=3Dhttp://www=
.itnews.com.au/WhitePapers/quantum/quantumwhitepaper.html&amp;s=3DPromo_l=
ink_quantum_whitepapers"=20
        target=3D_blank>Click Here to download free whitepapers on: =
<B>Data=20
        Backup, Recovery and Archive Solutions</B></A> </LI></UL>
      <UL>
        <LI><A class=3Dsponsored-link=20
        =
href=3D"http://ad.doubleclick.net/clk;145037795;8028063;l?http://clk.atdm=
t.com/OAT/go/hymratel0550000036oat/direct/01/"=20
        target=3D_blank>Telstra Turbo 7 Series - Get DOUBLE the data =
allowance for=20
        the first 3 months</A> =
</LI></UL></TD></TR></TBODY></TABLE><BR><BR>
<H1>Marketplace</H1>
<SCRIPT src=3D"http://adsm.soush.com/p7913803984903610644/t16/ads.js"=20
type=3Dtext/javascript></SCRIPT>

<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%" border=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dbottom align=3Dright>
      <DIV=20
      style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #999; LINE-HEIGHT: 1; =
PADDING-TOP: 0px"><A=20
      class=3Dsponsored-links-about=20
      id=3Dctl00_MarketPlaceContentControl1_aboutMarketPlaceLink=20
      =
onclick=3D"window.open('/MarketPlace/AboutMarketPlace.html','AboutMarketP=
lace','height=3D200,width=3D300,scrollbars=3Dno,top=3D200,left=3D500');" =

      href=3D"javascript:void(0)">About Marketplace Links</A>=20
</DIV></TD></TR></TBODY></TABLE><BR><BR></DIV>
<DIV class=3Dtools style=3D"VERTICAL-ALIGN: middle"><A =
id=3Dctl00_aboutUsLink=20
style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.itnews.com.au/AboutUs/SiteInfo.aspx?InfoID=3D17">About=
 Us</A> |=20
<A id=3Dctl00_newsArchiveLink style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.itnews.com.au/News/NewsArchive.aspx">News Archive</A> =
| <A=20
id=3Dctl00_newsWireArchiveLink style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.itnews.com.au/Newsletter/Archive.aspx">NewsWire =
Archive</A> |=20
<A id=3Dctl00_feedbackLink style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.itnews.com.au/Feedback/Feedback.aspx?NPCID=3D2">Feedba=
ck</A> | <A=20
style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.haymarketmedia.com.au/advertise">Advertise</A> | <A=20
style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.haymarketmedia.com.au/members.aspx">Newsletters</A> | =
<A=20
style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.haymarketmedia.com.au/careers.aspx">Haymarket =
Jobs</A> | <A=20
id=3Dctl00_syndicationLink style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.itnews.com.au/Syndication.aspx">Syndication</A> | <A=20
id=3Dctl00_contactUsLink style=3D"FONT-WEIGHT: bold"=20
href=3D"http://www.itnews.com.au/AboutUs/SiteInfo.aspx?InfoID=3D18">Conta=
ct Us</A>=20
</DIV>
<DIV class=3Dtext>
<P style=3D"TEXT-ALIGN: center"><A id=3Dctl00_copyrightLink=20
style=3D"FONT-WEIGHT: normal"=20
href=3D"http://www.itnews.com.au/AboutUs/SiteInfo.aspx?InfoID=3D19">Copyr=
ight</A> =C2=A9=20
2007 <A id=3Dctl00_haymarketMediaLink=20
href=3D"http://www.haymarketmedia.com.au/">Haymarket Media</A>. Hosted =
by <A=20
href=3D"http://www.macquarietelecom.com/hosting/">Macquarie Telecom.</A> =
</P>
<P style=3D"TEXT-ALIGN: center">This material may not be published, =
broadcast,=20
rewritten or redistributed in any form without prior authorisation. </P>
<P style=3D"TEXT-ALIGN: center">Your use of this website constitutes =
acceptance of=20
Haymarket Media's <A id=3Dctl00_privacyPolicyLink=20
href=3D"http://www.itnews.com.au/AboutUs/SiteInfo.aspx?InfoID=3D8">Privac=
y=20
Policy</A> and <A id=3Dctl00_termsLink=20
href=3D"http://www.itnews.com.au/AboutUs/SiteInfo.aspx?InfoID=3D1">Terms =
&amp;=20
Conditions</A> </P></DIV></DIV><IMG style=3D"DISPLAY: none" height=3D1=20
src=3D"http://www.itnews.com.au/t.aspx?u=3D&amp;c=3D97199&amp;s=3D3&amp;r=
=3D&amp;n=3D%2fNews%2fNewsStory.aspx&amp;q=3Dstory%3d65151"=20
width=3D1>
<SCRIPT =
src=3D"http://vs20060817.com/clients/cmpi/itn_ms_20071101.js"></SCRIPT>
 <!-- BEGIN: M1ACV Release 2.1.1 --><!-- (c)2002-2007, MediaOne Network =
Inc. All Rights Reserved. -->
<DIV id=3DM1DIV name=3D"M1DIV"></DIV><IMG id=3DM1IMG height=3D0=20
src=3D"http://acvs.mediaonenetwork.net/client/pixel.gif" width=3D0 =
border=3D0=20
name=3DM1IMG>
<SCRIPT language=3Djavascript=20
src=3D"http://acvs.mediaonenetwork.net/client/acv211.js" =
type=3Dtext/javascript>
          </SCRIPT>
 <NOSCRIPT><IMG height=3D0 alt=3D"" src=3D"" width=3D0 border=3D0> =
</NOSCRIPT><!-- END: M1ACV --><!-- START SiteCensus Measurement V5.1 =
--><!-- COPYRIGHT 2003 NetRatings Inc. -->
<SCRIPT language=3DJavaScript type=3Dtext/javascript>
        <!--
            var ckRef=3Ddocument.referrer; // vs added this line
            if(ckRef && ckRef.indexOf('/clients/')=3D=3D-1 || !ckRef)=20
            { //vs added this line=20
               var _rsCI=3D"ajb-au";
               var _rsCG=3D"itnews-Networking";
               var _rsDT=3D0;
               var _rsDU=3D0;
               var _rsDO=3D1;
               var _rsX6=3D0;
               var _rsSI=3Descape(window.location);
               var =
_rsLP=3Dlocation.protocol.indexOf('https')>-1?'https:':'http:';
               var _rsRP=3Descape(document.referrer);
               var _rsND=3D_rsLP+'//secure-au.imrworldwide.com/';

               if (parseInt(navigator.appVersion)>=3D4)
               {
                  var _rsRD=3D(new Date()).getTime();
                  var _rsSE=3D0;
                  var _rsSV=3D"";
                  var _rsSM=3D0;
                  _rsCL=3D'<scr'+'ipt language=3D"JavaScript" =
type=3D"text/javascript" src=3D"'+_rsND+'v51.js"><\/scr'+'ipt>';
               }
               else
               {
                  _rsCL=3D'<img =
src=3D"'+_rsND+'cgi-bin/m?ci=3D'+_rsCI+'&cg=3D'+_rsCG+'&si=3D'+_rsSI+'&rp=
=3D'+_rsRP+'">';
               }
               document.write(_rsCL);
            } // vs added this line=20
        //-->
        </SCRIPT>
<NOSCRIPT><!-- Dont forget to fix this part as well... cg=3Ditnews-job =
--><IMG=20
alt=3D""=20
src=3D"http://secure-au.imrworldwide.com/cgi-bin/m?ci=3Dajb-au&amp;cg=3Di=
tnews-Networking">=20
</NOSCRIPT><!-- END SiteCensus Measurement V5.1 -->
<SCRIPT src=3D"http://www.itnews.com.au/Scripts/iefix.js"=20
type=3Dtext/javascript></SCRIPT>

<DIV><INPUT id=3D__EVENTVALIDATION type=3Dhidden=20
value=3D/wEWGQLu97qzBwLA+qfrDAKig/TiBwKvrpi/DAKvrpy/DAKvrqC/DAKvrqS/DAKvr=
qi/DAKvrqy/DAKvrrC/DAKvrvS8DAKurpS/DAKurqC/DAKN/dz2DgLHz6CcAgK07NioCwLWyp=
yOCQKgibyNDQLHoJCYAgKTjKv9AQLWq6MFArGS3fMOAqyF/9gEAvCF0rwLAtWbq+EBKqYuTtO=
VkN/yTlSm09Z8x+Xpt10=3D=20
name=3D__EVENTVALIDATION> </DIV>
<SCRIPT type=3Dtext/javascript>
<!--
Sys.Application.initialize();
// -->
</SCRIPT>
</FORM><!-- BEGIN GOOGLE ANALYTICS -->
<SCRIPT src=3D"http://www.google-analytics.com/urchin.js" =
type=3Dtext/javascript>
    </SCRIPT>

<SCRIPT type=3Dtext/javascript>
    _uacct =3D "UA-2960788-1";
    urchinTracker();
    </SCRIPT>
<!-- END GOOGLE ANALYTICS --></BODY></HTML>

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/Images/print-logo.gif

R0lGODlhUgAiAOYAAP////z6/Pz29Pz2/PT2/PTy/PTy9Pzu7Ozu9Ozq9Ozm9OTm9Pze3OTi7OTe
7Nze7PzS1Nza7NzW5NTW5NTS5NTO5MzK5MzG3MTC3Py2tMS+3PyytMS63Ly61Ly21PympLyy1LSy
1LSu1LSuzPyenPyanLSqzKyqzKymzKyizPyKjKSexKSaxJyaxJyWxJySvJySxJyOvJSOvJSKvJSG
vIyCtIx+tIR+tIR6tIR2tPxWVHxyrHxurHRqpHRqrHRmpPxGRPxCRGxipGxepGxapGRanGRWnGRS
nFxSnPwuLFxOnPwqLPwmJFRKlFRGlPweHFRClExClEw+lEw+jPwSFEw6jEQ6jEQ2jPwKDEQyjEQy
hDwuhDwqhDQmhDQihDQifDQefCwefCwafCwWfCQWfCQWdCQSdCQOdBwOdBwKdAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAHAP8ALAAAAABSACIAAAf/gACCg4SFhoeIiYqLjI2Oj5CRjgw6S0EkAClOm5ydTiCSoaKFAkxY
p1gfNWmsra5pLKOyoRmop0Crr6+xs72OG7ZYQbm6rby+yIkHT7YlI0VFWq9V0B3J14gQQVRJKoTE
rCnY45DgaeLk6QAJGO3tEYPm6AAmLPYsDxYzMx4BhAMaWNQYGAMFPAAY7rGwACDgPQoAOiicICiB
CRkDa8QQgaDQiFc84r2al8VVyVZV/NEzUywNDgA0XOUAUMRVDQBKXIUAUONMsTLWBn10FVKQvEEn
W7YQBKYlqwYoXPUA4MTVDgBSXFHA4DTNFUJDWxXlORJpVyMAGnRNY8KCqyIA/6y4EgJgiysCM9aC
BSnSFUlXV664sgKAwisQXFyxQODKCYDErZAACNMqDNlWVk682ku0b6u/rUyYMInQleWarWgAYMkq
CwAxrqAAcBXlMquQm4XyNVpWUNI0I8Kmcc21Mk2bAKq08jLbpIG5ttPgdsVZrOdwZlsFJ12c1Wnk
R1qJYewKjAJXNqIPad6q+u3r57Kz2t6KuCszLOS2urnDlVpXZEjgygrRdYGAO+24Jx18oM0nnH1d
3RSDK91B1l0aHACQlytf1PDAIcItyJtf8gH3YGkRAgCCX6yAEUU4/gFQQUs/LODRbtHF55sr9LWG
olM3TYAeK1cYwYoNrqikQf8XxYyBgYJjHbWjdideSEZwWI4gAQAEuDIEK034wMqXrHBBSAE3sOZK
F1AyWGKPw/2YhmWI2MXKFGMimQaerChhCAI1lJGbICFG2RsAv8EJoXcAvAANNCMIQuacrOwAg3et
XIVQRjV4YBh1unU24mdvVmnacfsJcukrNET1SgyjLjgoAIW6OaWD3J2KGis3RaQLCx3oIkKs07UX
qnWx6ogoj6Yat2savZ73ygluvcJQdMWy0mayDZpI2qetNMAnKy4MMsYrGjigS0fROfHArLVyWypp
/zk1j3JaFfDKGIOs6tS2OXarqCCwOVXBIES8osBqrlQxyIW6MHfse/Le6m1Pfao65ecgOLziD5Ot
EEHID04ROMgFj0JjMq0pF/GkIDTwIDMPFVQwMw+qCRKBCz48+gMOI6gkCAY3vwTTzcMSYkENP/hc
w8HqRC311NcEAgA7

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/Images/haymarket-logo.gif

R0lGODlhUAAUAPcAAP//////zP//mf//Zv//M///AP/M///MzP/Mmf/MZv/MM//MAP+Z//+ZzP+Z
mf+ZZv+ZM/+ZAP9m//9mzP9mmf9mZv9mM/9mAP8z//8zzP8zmf8zZv8zM/8zAP8A//8AzP8Amf8A
Zv8AM/8AAMz//8z/zMz/mcz/Zsz/M8z/AMzM/8zMzMzMmczMZszMM8zMAMyZ/8yZzMyZmcyZZsyZ
M8yZAMxm/8xmzMxmmcxmZsxmM8xmAMwz/8wzzMwzmcwzZswzM8wzAMwA/8wAzMwAmcwAZswAM8wA
AJn//5n/zJn/mZn/Zpn/M5n/AJnM/5nMzJnMmZnMZpnMM5nMAJmZ/5mZzJmZmZmZZpmZM5mZAJlm
/5lmzJlmmZlmZplmM5lmAJkz/5kzzJkzmZkzZpkzM5kzAJkA/5kAzJkAmZkAZpkAM5kAAGb//2b/
zGb/mWb/Zmb/M2b/AGbM/2bMzGbMmWbMZmbMM2bMAGaZ/2aZzGaZmWaZZmaZM2aZAGZm/2ZmzGZm
mWZmZmZmM2ZmAGYz/2YzzGYzmWYzZmYzM2YzAGYA/2YAzGYAmWYAZmYAM2YAADP//zP/zDP/mTP/
ZjP/MzP/ADPM/zPMzDPMmTPMZjPMMzPMADOZ/zOZzDOZmTOZZjOZMzOZADNm/zNmzDNmmTNmZjNm
MzNmADMz/zMzzDMzmTMzZjMzMzMzADMA/zMAzDMAmTMAZjMAMzMAAAD//wD/zAD/mQD/ZgD/MwD/
AADM/wDMzADMmQDMZgDMMwDMAACZ/wCZzACZmQCZZgCZMwCZAABm/wBmzABmmQBmZgBmMwBmAAAz
/wAzzAAzmQAzZgAzMwAzAAAA/wAAzAAAmQAAZgAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAABQABQA
AAj/ACtwGNiBzLODCBMqXMiwocOHEBtaGEFxhMGIGDNq3IhwYsWLHEOKDOmRIsiRKFNKrGhRpcuU
gEh1ZHlSDwmZLzlaAYATY6kqemZ+TKiHZ06OVYxCrFLlIKlSQk0S5blqVcKqVg9WRZj12VavXcF+
9ar1WVKcXbEiXKEi7MGSLREWVQEAQNNnK+oCUEGqWhUSBwEBAPSsKIAVOw/3Faz3rooVeQHtLLWK
btW8dZ88S3xYIdyae/XklamnihUrJFQ8ewIg8GBShw0/KbriWanTpQEEJQGAxBNSZyPj1Z3bCmy7
QRN+ngrIGmw91YAzzbsqqWtARUv5BbBqu1VATJM22K2bNWne5CRWlColuEo1yAyXyzX6fFVdyOSt
PxOMHYD2pFYBmNRjdI1X20FJkXcQXXqtYBV8C8l3UFEyPcffhNwlRZiGFG4HFYAQPgOAZiMiJF5n
z6jAFyk9URchTQntVKFu9h2GGWV1MdhfX0l9yN1OkOVFomYIckdbYTZCtlhmnsGIECAOevUEYcA9
YWUVVlWHX0xRAvLEd0TqYaWVGya335eFrSCTl2Pi5OVdUcUV0lZnHYWShBsxVhecdpLkJEerACJo
T336OVShiEY0UQcdyJnoowsFBAA7

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/Images/header-logo.gif

R0lGODlhngBUAPcAAP////j3+/j49/T08/Px+PHv9+/v7uvr6uzp9Ofm7+bm5ePi5OPj4uPf7uHe
7N7e3t7e5dvc2trY5NnX5tfX1dbW3NHT1tPT0cvS3dPQ2NLP39DO3s/O1szMzMPM38zH3MrI0MjF
3MbG1cbEz8XFxMPDwLzC0sHCv7vC0cC+1cK+1cK90bm/zby8zr6+vL27xru8uby4x7q20Le2zre0
xLWzvrS0t6u0xrO0sbKwvLKwxa6uxaivwK6sva+st66urKysqamot6alvqqlvaelrpumvJuluaWj
tqWkpqKfvaKgtaGfraGfpZigtJuas56brJyapJuWuJuXrJmYnJmWpZSUs5eWnZWTr4uVr5SSpZOP
rYmRqI+QlZGOpY6NpI2Ml4yMnYyKrH2KpomGpYWEpHyHpIWDloWCm3qEnoF9noB9mHx6lHt5nXB9
nHp7hW98m3l1mnl1lHZ0mWt0k3Ryk3Ryg3JxjWFwkmtrkGBtkWtqjV9sjmpohWlpfF5qimhki2Zl
e1xmhmZjimNkg2Bdc19cfVNghVtaglpbelBcgFpablpYc05Ze1hWdFdTeeYrTVNTc0dUfFFQaUVR
elFOddcpSkpLckxKa0NLcsMoSDtIc+QaREdHYjlGbkJCY0FCakJBXKImRjhBa+QSQT48ZDU+Zjs7
ZDo6WjA7aTk6Uy84ZjQ4WpccQTY0W3YkQy02YdIHPeMANzAxUzExWuEAMioyWzAxTCcxYeAAKd4A
GS0uUt4AE9wACCUuXssAKNUACM4ACHMWOcEAMCkpSioqRCMqWSkpUcYACL0AEiEpQr8ACCIoVCMm
SEYcPTweQLQACK4AESAjUKwACCIiSh0hSiEiOyEgQ6EACJcAED4WOJYACTUYO4gALBseQo8ADYgA
FyEaQBodOh4cNUIPLRoaQn4AE0wMMBkZMxkYOnUAF2kAGBcUOCQSL2AAHRgTMRQVMTYKIyoMKxMS
LhISK0oAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHALcALAAAAACeAFQA
AAj/AG8JHEiwoMGDCBMqXMiwocOHECMidBaq0qOLmVyBk8ixo8ePIEPeagZr1KaTJ0exAsfSksuX
MGPKdGlKpM2bOB1uE0Yrls+fPoMJJAAggNGjSJMmBaDDWM6nUHNyw0W1qlVf4HQVAMC1q9evYJlO
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

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/ticker_SYMAendpoint_16px_lo.gif

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
m/70qFdVSgofAJSDgx+CKBblWxMQADs=

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/red_triangle_nl.gif

R0lGODlhBQAJAIAAAP///+7u7iH5BAEAAAAALAAAAAAFAAkAAAIMDA5hp9v2YlJsJQQKADs=

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/ads/HOUSE/TJ9955_CkPt_163x38_1.gif

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

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/WebResource.axd?d=hPtSrZSiqqIQXVIued8ydQ2&t=632943654197453955

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/bodytext-rssicon.gif

R0lGODlhDgAOAPcAAP/////+/P/9+/778/379P758fz46vz15vz16Pzu5Pnq1Pnp0fjoz/bi0vbj
v/PctfPXzPPZrOHb1/TXuODa1d3Z1vPWq/HUwNzW1PDHje/DiO6/e+y9eu26ieq5ley0eOmvm+ms
kumtYOqsWuelVeehXOeiR+ihTtOih+edZ9WegdKafeGTatKUduOSUMiUfdGTdOKQS+GNVciRd+SL
NeONJs+KbuKFOtyEWOKCG+KBE+J/Ktp5VNp4XuF6F910Pd92ANVuYt9wINltSOBvEt9uAN5qANtq
AOFnANpoANxlANFkGdtjAN1iANliANpiAN9hAN1hAN1gAN1fANNfD9RfC+BcAMVhG9xdAN1dAN1c
ANBeEd1bANBcEN1aAN5ZAOBYANRbANdaANNcANJbENxWAMVbD9ZUHdZWAN5UAMRaDtxTANBVEtxU
AM9UFMZZAN1SAM5SGNNUANNTANJSD9pRAN1PANxPAMNUFMRVEdhQAMpQINBQDNpPAM5NEtpLANlL
AM9LFNVLAM1JF8JMFb5LHcxIFdRGANpEANJECstFGMBJENhDANdDAMxEDdVCANo+AMpAEtY9AMc/
Fck+F9c6ANU5ANI6AMk7Gtc3ANQ4AMU7GdU4AL49BdQ2AMU2Fsw3ANU0AMY1FM8wAM0xAMYwE80v
AMkrAM4nAM8lAMYoAMQmC88iANAhAMcaAMoMAMYAAMgAAMkAAMMAAMUAAMQAAMIAAb4AALwAAL8A
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAHAP8ALAAAAAAOAA4A
AAjcACu8KNRpESE8eNSoeXNlBgYUqlSBAjXqkiA0aJwcCbNizyscFzzEYNJIz5OTT7Y4YiVDAQAA
DE5kyWJEyx05cTQ9akNEBAIAGYzAgcOIjptKNzrQKFMkAgANfyxZCsQGUgkABB7oaGIBgItWrQaR
sSMlB4cBB3xEMdAgkSxFVL7U4cLFRIEJklIA4EGLUpU0NRxsWPMhwI8zAkDMEjUGzAgACwAJARDC
VAIItlYtQQKExA5Oh1gMcdUjSK5PKrBgQZQpE6pYsG/JbiEBRpc5fPwYihQJU6lNNigEBAA7

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/page-tools-share.gif

R0lGODlhHwAWAMQAAHd8hYqQmLa3uszT1YmPl290fZKYoK62vGFlb6KpsFdaZeXq6Xh9hpuiqVxf
amhsdmdrdVteaZOZoamwt5qhqKiwtqivtoCFjjQ1OklMVLa2s////wAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAAfABYAQAWloCaOZGme5KauQua6TUy9rrDe4q2rWBQ5DsxulxuuMovkImPEaXYZgJQx
rUoBTOKzyW0Wu2BnNzOZVCxZ7vdICLgDbfgbnhZzMRDI4yHsrocCGIIYNn5bYYh/Oy0vhWqHRhkH
kwd1Roo6GQmbCZZDihkDogMGpRIGEqMDnhugF6+wsbGsioGDGAW5BbeEn5BDGAjCCH2PXRgKyQrF
Xr+IjyjR0iMhADs=

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/page-tools-friend.gif

R0lGODlhHwAWAKIEAMbGxCcoJba2s////w8iYgAAAAAAAAAAACH5BAEAAAQALAAAAAAfABYAQANj
KLrc/muQSWcINd9MheTWJY4YSHhmqk4oGADAi8lwybVrXuG6zmskUupHecU0NRMxBGs6N6BlT/mZ
5qTWDDbbqWpWNq23InMdo+Ni02Y839KW2Hoe3sEJbeeTyl1t+xCBgg0JADs=

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/page-tools-print.gif

R0lGODlhHgAWAKIAAP///8bGxLa2s/8AACcoJQAAAAAAAAAAACH5BAEHAAAALAAAAAAeABYAAANV
KLrc/grISau9QODNpe5g9YXkSIKmRawsy6UUsckYPMmtS1+2tKubHgCXwwVnyBqmWDxeCIGodBr4
UXrQFVVqnWC31K5nycwpTyEh+rpGtTuQuJyRAAA7

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/page-tools-decrease.gif

R0lGODlhGgAWAJEAALa2s/8AACcoJQAAACH5BAEHAAEALAAAAAAaABYAAAI+hI+pGe0P4wOy2kCv
dnnr7llgKI2RgH4aKqhWmooX3MovW1emEwd9tGv0fpAgqWE8JknLUNPz3EQ/i6rVUAAAOw==

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/page-tools-increase.gif

R0lGODlhGgAWAJEAALa2s/8AACcoJQAAACH5BAEHAAEALAAAAAAaABYAAAJChI+pGe0P4wOy2kCv
dnnr7lmgJJSfVgrnla6VaYqsGlfjU9fR7aS+/FI1dBBegEjkBCHJhjGkhAKlkqfUCl1ot4cCADs=

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/Images/add_comment_16.gif

R0lGODlhEAAQAMQAAABWANzd3DOMxYLpXjnBKbu7u6+vrnh4eOT//6jU/3u75QCJAGaZZvb29omJ
iczMzP/x3P///2+1b1jQP5n2beTk5cbGxf//1P///wAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUU
ABgALAAAAAAQABAAAAV4IFYZR2mWimJUolNBUSxHCqK4K1Q9fP8oCRupQawYjxVgUHEgOp+ShURA
bRIt2OzisiCWnIFwILqgLKTf4nExaLcX6UZhXpAAAJO75LAi+ngLBF0jFS5PTgwADIUsIydPJSsY
k5QYVg18lZqWXgabmk2Zn5UknpshADs=

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/ads/HOUSE/Checkpoint_300x150_driver.gif

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
GZiCOZiE6ZcCBgAWgJSBAAA7

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/Images/top-topics.gif

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

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/images/home-latestnews-bullet.gif

R0lGODlhBAAMALMAAP////DExe68vuy1t+moq9pqctVTX8QAIMYAJsIAGL4ACL0AALgAAAAAAAAA
AAAAACH5BAEHAAAALAAAAAAEAAwAAAQWEMhJKyBzDcnOZkxigEfBIAGgpIAwRQA7

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/t.aspx?u=&c=97199&s=3&r=&n=%2fNews%2fNewsStory.aspx&q=story%3d65151

R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://acvs.mediaonenetwork.net/client/pixel.gif

R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://secure-au.imrworldwide.com/cgi-bin/m?ci=ajb-au&cg=itnews-Networking

R0lGODlhAQABAPAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOwA=

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/Images/go_btn.gif

R0lGODlhHQASAOYAAOfn5tXW1Orq6fLy8oaGhvHx8d7e3N/f3SIACCUACPX19f7+/svLyTIyMuDg
3y4uLiQACCMACMrKyiAAB+vr69nZ2GRkZKqqqSEACCIiIrm5ue/v7nx8eyEhIUNDQ2ZmZmBgYB8f
H5mZmd3d3WhoZ4GBgbq6uUpKSrKysdjY13t7ez4+Perq6pubmh4eHYaGhWFhYe7u7oB+eg8PD0RE
RMDAv8LCwtra2js7O0FBQaioqBEREcnJyPj49yAACIdZWk1NTejo5/v7+42MiM3Ny/z8/IiJhdfX
1QAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAAAAAALAAAAAAdABIAAAfygBNIg4SFhoeHMhNJjI2Oj5CQQz6RlZaNQxiXm5KanJ9JQwiQMR+E
H40iGYM0I5KjjkUNDTdFEhkERTpIuRQeHSxCwkKhsI0aOxRFyxq5DbnLQh0Ew8SijwQey9vLSBLb
QhYW1aERjAroJTkDAzCEA0g27AMFICAF+AXljAL9FzMVggi8gCTIAw4CgwAIoQKAQwChIPDrZ/CB
iSA8gBRsgQRhhRUhUjyEOERiDwcoDxwgQegECpUvXAzCUcOATZsLhiRIsiGAzyNAgwodSjTnzp4/
iSpVajRJEAZQiUidSrWq1SI6QX0a8sOI169gw4odGwgAOw==

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.itnews.com.au/Images/sign-up_btn.gif

R0lGODlhOQASANUAAPX19YqKihEREURERIiIiLu7u+7u7nx8fBAQEJmZmRISEvv7+8zMzD4+Pqur
qyIiIh8fH93d3Xd3d4ODg+bm5tbW1mJiYjMzM05OTm1tbf7+/l1dXVlZWYyMjKSkpLS0tNTU1FVV
VfHx8aqqqkFBQTs7O5ubm319fR4eHvz8/GhoaC0tLS8vLyEhIefn54aGhpOTk3BwcLKysvf397q6
utDQ0N/f38rKyunp6YeHh9XV1WZmZgAAAP///wAAAAAAACH5BAAAAAAALAAAAAA5ABIAAAb/QARv
SCwaj8ikcnlC9J7QqHRKrVqvAed1y+1Ws96wGKsdm80BwZRADBl6u8EzcRleCk/eDvpIRAcEUDt7
RQJ+UWlSDDx4BhcScHIjPIFwAm9DeD19f5VwhJoElz0LCz2JUSMCEVJxPYBREgw9PBIPT5xQsE+D
tJoGPKylp2pSAzwXO7ORvlSMIYG5T7ufzT2ib8OoANzdExY8EwAWJAA8HwAgROLnIAggLTDdACTi
3BYW5kQI6AAiIsSe4BhIcOABCDg2NMDR4EDBhjh4OMBxoAGEDgUxZCCIYUPEiQVxUKBwSoHAgRkg
3ECJIeFCEzwcUoTgUOJAFjwwEjxIA4cDcAQYbYYcWbLHDBtIbXAgUqKG0hJIPawYgkICUh4ekMrg
8SIp0qVDVFzN6tVGhAgaApg0oKOt27dw48qdSxduhQpp19bdy7fv27t5e7i4Qbiw4cOIEytefJgB
gxRqz0gWEyBGjsuYM2vezLmz5885ggAAOw==

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/StyleSheet/global.css

BODY {
	BACKGROUND-POSITION: center 50%; FONT-SIZE: 0.7em; BACKGROUND-IMAGE: =
url(../images/body-background.gif); MARGIN: 0px; BACKGROUND-REPEAT: =
repeat-y; FONT-FAMILY: Arial, sans-serif, Helvetica; BACKGROUND-COLOR: =
#8d8e8a
}
* HTML BODY {
	MARGIN-LEFT: 1px
}
A {
	COLOR: #13458b; TEXT-DECORATION: none
}
.tabledata TD {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px; TEXT-ALIGN: left
}
.tabledata TH {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 2px; COLOR: #000000; PADDING-TOP: 2px; =
BORDER-BOTTOM: #a9aaa6 1px solid; TEXT-ALIGN: left
}
.tabledata TR.alternaterow {
	BACKGROUND-COLOR: #dfdfde
}
A:hover {
	TEXT-DECORATION: underline
}
#printlogo {
	DISPLAY: none
}
#wrapper {
	DISPLAY: block; MARGIN-LEFT: auto; WIDTH: 1000px; MARGIN-RIGHT: auto
}
#haymarketchannel {
	FONT-SIZE: 100%; BACKGROUND-IMAGE: =
url(../images/haymarketchannel-background.gif); COLOR: #4b4b47; HEIGHT: =
20px; TEXT-ALIGN: right
}
#haymarketchannel #links {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 2px
}
#haymarketchannel A {
	COLOR: #4b4b47; TEXT-DECORATION: none
}
#haymarketchannel A:hover {
	TEXT-DECORATION: underline
}
#haymarketchannel IMG {
	FLOAT: left
}
#header {
	FLOAT: left; BACKGROUND-IMAGE: url(../images/header-bg.gif); =
BACKGROUND-REPEAT: repeat-x
}
#header #bannerad {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
0px; PADDING-TOP: 14px; HEIGHT: 76px
}
#header .logo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 45px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 17px
}
#header-toolbar {
	BORDER-TOP: #cccccc 1px solid; WIDTH: 1000px; BORDER-BOTTOM: #545551 =
1px solid; HEIGHT: 38px; _height: 35px
}
#header-toolbar #search {
	BORDER-RIGHT: #545551 1px solid; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/header-toolbar-background-search.gif); WIDTH: 532px; =
HEIGHT: 38px; _height: 35px
}
#header-toolbar #search P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 14px; FONT-WEIGHT: bold; FONT-SIZE: =
105%; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #ffffff; =
LINE-HEIGHT: 38px; PADDING-TOP: 0px; _height: 35px
}
#header-toolbar #search .search {
	FONT-SIZE: 10px; FLOAT: left; MARGIN: 10px 3px 0px 10px; WIDTH: 289px; =
LINE-HEIGHT: 11px; HEIGHT: 12px
}
#header-toolbar #search .search-filter {
	FONT-SIZE: 10px; FLOAT: left; MARGIN: 10px 3px 0px; WIDTH: 110px; =
LINE-HEIGHT: 11px; HEIGHT: 18px
}
#header-toolbar #search .search-btn {
	MARGIN: 10px 5px 0px 4px
}
#header-toolbar #signup {
	BORDER-RIGHT: #545551 1px solid; FLOAT: left; BACKGROUND-IMAGE: =
url(../Images/sign-up_blue-bg.gif); BORDER-LEFT: #d4cbc2 1px solid; =
WIDTH: 300px; HEIGHT: 38px; _height: 35px
}
#header-toolbar #signup P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: =
105%; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #ffffff; =
LINE-HEIGHT: 38px; PADDING-TOP: 0px; _height: 35px
}
#header-toolbar #signup .register {
	FONT-SIZE: 10px; FLOAT: left; MARGIN: 11px 3px 0px 6px; WIDTH: 138px; =
LINE-HEIGHT: 11px; HEIGHT: 11px
}
#header-toolbar #signup .register-btn {
	MARGIN: 10px 0px 0px 3px
}
#header-toolbar #banner {
	FLOAT: left; BORDER-LEFT: #d4cbc2 1px solid; WIDTH: 163px; HEIGHT: =
38px; _height: 35px
}
#marquee {
	CLEAR: right; PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
FONT-SIZE: 110%; FLOAT: right; PADDING-BOTTOM: 0px; MARGIN: 23px 5px =
0px; WIDTH: 293px; COLOR: #ffffff; PADDING-TOP: 0px
}
#marquee A {
	COLOR: #ffffff; MARGIN-RIGHT: 9px; TEXT-DECORATION: none
}
#marquee A:hover {
	TEXT-DECORATION: underline
}
#bodytext {
	PADDING-RIGHT: 2px; PADDING-LEFT: 14px; FLOAT: left; PADDING-BOTTOM: =
0px; WIDTH: 516px; PADDING-TOP: 0px
}
#title {
	BACKGROUND-IMAGE: url(../images/bodytext-titlebg-long.gif); MARGIN: 0px =
2px 0px 15px; WIDTH: 972px; HEIGHT: 24px
}
#title P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #666666; =
PADDING-TOP: 6px
}
#title .sitetools {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FLOAT: right; =
PADDING-BOTTOM: 0px; COLOR: #666666; PADDING-TOP: 5px
}
#title .rssfeed {
	PADDING-RIGHT: 10px; PADDING-LEFT: 1px; FLOAT: right; PADDING-BOTTOM: =
0px; PADDING-TOP: 6px
}
#title .sitetools A {
	COLOR: #666666; TEXT-DECORATION: none
}
#title .sitetools A:hover {
	TEXT-DECORATION: underline
}
.titleDivWrap {
	CLEAR: left; BACKGROUND-IMAGE: url(../images/bodytext-bg.gif); WIDTH: =
1000px; BACKGROUND-REPEAT: repeat-x; HEIGHT: 24px
}
#nav {
	CLEAR: left; FONT-WEIGHT: bold; FONT-SIZE: 120%; FLOAT: left; MARGIN: =
18px 0px 0px 4px; OVERFLOW: visible; WIDTH: 685px; HEIGHT: 27px
}
#navImage {
	BACKGROUND: url(../images/menu-rightcurve.gif) no-repeat right top; =
FLOAT: left; MARGIN: -2px 0px 0px; WIDTH: 8px; HEIGHT: 120%
}
HTML >  BODY #nav {
	MARGIN: 15px 0px 0px 7px
}
HTML >  BODY #nav LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 11px; BACKGROUND: =
url(../images/menu-repeater.gif); FLOAT: left; PADDING-BOTTOM: 0px; =
MARGIN: -2px 0px 0px; PADDING-TOP: 0px
}
#nav .BeginingMenuCurve {
	BACKGROUND: url(../images/menu-leftcurve.gif) no-repeat 0px -2px; =
FLOAT: left; MARGIN: 0px 0px 2px; HEIGHT: 120%
}
#nav .AspNet-Menu-Horizontal-Selected {
	BACKGROUND: url(../images/menu-highlightleftcurve.gif) no-repeat left =
top; HEIGHT: 100%
}
#nav .BeginingMenuNoCurve {
	MARGIN: -2px 0px 0px; HEIGHT: 120%
}
#nav A.AspNet-Menu-Link-Last {
	PADDING-RIGHT: 18px; DISPLAY: block; PADDING-LEFT: 4px; FONT-WEIGHT: =
bold; BACKGROUND: url(../images/menu-repeater.gif); FLOAT: left; =
PADDING-BOTTOM: 4px; WIDTH: auto; COLOR: #ffffff; PADDING-TOP: 9px; =
TEXT-DECORATION: none
}
#nav LI.prev-active A {
	PADDING-RIGHT: 18px; DISPLAY: block; PADDING-LEFT: 4px; FONT-WEIGHT: =
bold; BACKGROUND: url(../images/menu-repeater.gif); FLOAT: left; =
PADDING-BOTTOM: 4px; WIDTH: auto; COLOR: #ffffff; PADDING-TOP: 9px; =
TEXT-DECORATION: none
}
#nav A.AspNet-Menu-Link-Hover {
	PADDING-RIGHT: 18px; DISPLAY: block; PADDING-LEFT: 4px; FONT-WEIGHT: =
bold; BACKGROUND: url(../images/menu-rightcurve.gif) no-repeat right =
top; FLOAT: left; PADDING-BOTTOM: 4px; WIDTH: auto; COLOR: #d7d7d7; =
PADDING-TOP: 9px; TEXT-DECORATION: none
}
#nav UL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: none
}
#nav LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 11px; BACKGROUND: =
url(../images/menu-repeater.gif); FLOAT: left; PADDING-BOTTOM: 0px; =
MARGIN: -2px 0px 0px; PADDING-TOP: 0px
}
#nav A.AspNet-Menu-Link {
	PADDING-RIGHT: 18px; DISPLAY: block; PADDING-LEFT: 4px; FONT-WEIGHT: =
bold; BACKGROUND: url(../images/menu-right.gif) no-repeat right top; =
FLOAT: left; PADDING-BOTTOM: 4px; WIDTH: auto; COLOR: #ffffff; =
PADDING-TOP: 9px; TEXT-DECORATION: none
}
#nav > UL A {
	WIDTH: auto
}
#nav A {
	FLOAT: none
}
#nav A:hover {
	COLOR: #fff
}
#nav LI:hover {
	COLOR: #000
}
#nav LI.over {
	COLOR: #000
}
#nav LI.active {
	BACKGROUND: url(../images/menu-highlightleftcurve.gif) no-repeat left =
top; COLOR: #000
}
#nav LI:hover A {
	COLOR: #ffffff; TEXT-DECORATION: underline
}
#nav LI A:hover {
	COLOR: #ffffff; TEXT-DECORATION: underline
}
#nav LI.active A {
	BACKGROUND: url(../images/menu-highlightrightcurvefull.gif) no-repeat =
right top; COLOR: #000
}
#nav LI.active A:hover {
	COLOR: #000
}
#maintext {
	MARGIN-RIGHT: 10px
}
#maintext H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 180%; PADDING-BOTTOM: =
18px; PADDING-TOP: 5px; BORDER-BOTTOM: #c1c2bf 1px solid
}
#maintext H1 SPAN {
	COLOR: #000000
}
#maintext EM A {
	FONT-WEIGHT: bold
}
#maintext #copyright A {
	FONT-WEIGHT: bold
}
* + HTML UL.tools {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px -5px; LINE-HEIGHT: 22px; =
PADDING-TOP: 0px
}
UL.tools {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px -8px; LINE-HEIGHT: 22px; =
PADDING-TOP: 0px
}
UL.audio {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 95px; LINE-HEIGHT: 22px; =
PADDING-TOP: 0px
}
.audio LI {
	FLOAT: left; LIST-STYLE-TYPE: none
}
.tools LI {
	FLOAT: left; LIST-STYLE-TYPE: none
}
.audio LI UL LI {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
FONT-SIZE: 9pt; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
BORDER-LEFT: #ccc 1px solid
}
.tools LI UL LI {
	BORDER-RIGHT: #ccc 1px solid; PADDING-LEFT: 12px; FONT-SIZE: 9pt; =
FLOAT: none; MARGIN: 0px; BORDER-LEFT: #ccc 1px solid
}
.tools LI UL LI.digg {
	BACKGROUND: url(../images/page-tools-icon-digg.gif) no-repeat 5% 50%
}
.tools LI UL LI.reddit {
	BACKGROUND: url(../images/page-tools-icon-reddit.gif) no-repeat 5% 50%
}
.tools LI UL LI.netscape {
	BACKGROUND: url(../images/page-tools-icon-netscape.gif) no-repeat 5% =
50%
}
.tools LI UL LI.delicious {
	BACKGROUND: url(../images/page-tools-icon-delicious.gif) no-repeat 5% =
50%
}
.tools LI UL LI.technorati {
	BACKGROUND: url(../images/page-tools-icon-technorati.gif) no-repeat 5% =
50%
}
.tools LI UL LI.stumble {
	BACKGROUND: url(../images/page-tools-icon-stumble.gif) no-repeat 5% 50%
}
.tools LI UL LI.last {
	BACKGROUND: url(../images/page-tools-icon-slashdot.gif) no-repeat 5% =
50%; BORDER-BOTTOM: #ccc 1px solid
}
.tools LI UL LI A {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; WIDTH: =
110px; PADDING-TOP: 15px
}
.spacing {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; WIDTH: =
80px; PADDING-TOP: 2px
}
LI.share {
	OVERFLOW: hidden
}
LI.share:hover .share-this {
	BACKGROUND: #fff no-repeat 0px 0px
}
LI.share .share-this {
	BACKGROUND-POSITION: 5px 50%; Z-INDEX: 500; WIDTH: 50px
}
LI.share UL {
	CLEAR: both; BORDER-RIGHT: #ebebeb 2px solid; PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; Z-INDEX: 400; BACKGROUND: #fff; LEFT: -999em; =
PADDING-BOTTOM: 0px; MARGIN: -3px 0px 0px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #ebebeb 2px solid; POSITION: absolute
}
LI.share:hover UL {
	LEFT: auto
}
LI.iehover UL {
	LEFT: auto
}
LI.listen {
	OVERFLOW: hidden
}
LI.listen:hover .listen-this {
	BACKGROUND: #fff no-repeat 0px 0px
}
* HTML LI.listen .listen-this {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: 5px 50%; PADDING-LEFT: 0px; =
Z-INDEX: 500; PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 60px; =
PADDING-TOP: 0px
}
LI.listen .listen-this {
	BACKGROUND-POSITION: 5px 50%; Z-INDEX: 500; WIDTH: 50px
}
* + HTML LI.listen UL {
	CLEAR: both; BORDER-RIGHT: #ebebeb 2px solid; PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; Z-INDEX: 400; BACKGROUND: #fff; LEFT: -999em; =
PADDING-BOTTOM: 0px; MARGIN: -3px 0px 0px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #ebebeb 2px solid; POSITION: absolute
}
LI.listen UL {
	CLEAR: both; BORDER-RIGHT: #ebebeb 2px solid; PADDING-RIGHT: 0px; =
PADDING-LEFT: 0px; Z-INDEX: 400; BACKGROUND: #fff; LEFT: -999em; =
PADDING-BOTTOM: 0px; MARGIN: -3px 0px 0px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #ebebeb 2px solid; POSITION: absolute
}
LI.listen:hover UL {
	LEFT: auto
}
LI.iehover UL {
	LEFT: auto
}
LI.listen UL LI {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MARGIN: 0px
}
#copyright {
	BORDER-BOTTOM: #c1c2bf 1px solid
}
#copyright IMG {
	PADDING-RIGHT: 10px; FLOAT: left; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none
}
#copyright P {
	MARGIN-BOTTOM: 0px; PADDING-TOP: 5px
}
.contentitem {
	MARGIN: 5px 0px 10px; TEXT-ALIGN: center
}
* HTML .first_paragraph {
	WIDTH: 255px
}
.first_paragraph {
	WIDTH: 276px
}
.box-gradient {
	MARGIN-TOP: 10px; MARGIN-BOTTOM: 7px; WIDTH: 507px
}
.box-gradient H1 {
	FONT-SIZE: 100%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px
}
.box-gradient EM A {
	FONT-WEIGHT: normal
}
.box-gradient .tab {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/tab-left.gif) no-repeat left -100px; PADDING-BOTTOM: 3px; =
MARGIN: 0px 0px 0px -3px; PADDING-TOP: 4px; HEIGHT: 14px
}
.box-gradient .tab-news {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: auto; PADDING-TOP: 0px; HEIGHT: 19px
}
* HTML .box-gradient .tab-news {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: auto; PADDING-TOP: 0px; HEIGHT: 17px
}
.box-gradient .tab H1 {
	PADDING-RIGHT: 13px; DISPLAY: inline; PADDING-LEFT: 3px; FONT-WEIGHT: =
bold; FONT-SIZE: 11px; BACKGROUND: url(../images/tab-right.gif) =
no-repeat right -100px; PADDING-BOTTOM: 3px; MARGIN: 0px; =
TEXT-TRANSFORM: uppercase; COLOR: #ffffff; PADDING-TOP: 4px; =
FONT-FAMILY: Arial, Sans-Serif; LETTER-SPACING: 0px
}
.box-gradient .tab IMG {
	BORDER-RIGHT: 0pt; BORDER-TOP: 0pt; FLOAT: right; MARGIN: 0pt; =
BORDER-LEFT: 0pt; BORDER-BOTTOM: 0pt
}
.box-gradient .tab-news H1 {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; BACKGROUND: url(../images/tab-bg.gif) repeat-x left top; FLOAT: =
left; PADDING-BOTTOM: 0px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; =
COLOR: #ffffff; PADDING-TOP: 3px; FONT-FAMILY: Arial, Sans-Serif; =
LETTER-SPACING: 0px; HEIGHT: 16px
}
.box-gradient .bluetab.tab {
	BACKGROUND: url(../images/tab-left_blue.gif) no-repeat left -100px
}
.box-gradient .bluetab.tab H1 {
	BACKGROUND: url(../images/tab-right_blue.gif) no-repeat right -100px
}
.box-gradient .tab H2 {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 5px; FONT-WEIGHT: =
100; FONT-SIZE: 100%; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #a6a6a3; =
PADDING-TOP: 8px
}
.box-gradient .content {
	BORDER-RIGHT: #bbbcb9 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#bbbcb9 1px solid; PADDING-LEFT: 10px; FONT-SIZE: 12px; BACKGROUND: =
url(../images/box-gradient-large.gif) #fff no-repeat center top; =
PADDING-BOTTOM: 10px; OVERFLOW: visible; BORDER-LEFT: #bbbcb9 1px solid; =
PADDING-TOP: 10px; BORDER-BOTTOM: #bbbcb9 1px solid
}
#wrapper #bodytext .box-gradient .nobg.content {
	BACKGROUND: #fff
}
#wrapper #col-mid .box-gradient .nobg.content {
	BACKGROUND: #fff
}
.box-gradient .promo-top {
	PADDING-BOTTOM: 6px; BORDER-BOTTOM: #a9aaa6 1px solid
}
.box-gradient .promo-top .blurb {
	FLOAT: left; WIDTH: 299px
}
.box-gradient .promo-top .blurb H1 {
	FONT-SIZE: 19px; MARGIN: 0px
}
.box-gradient .promo-top .blurb P {
	MARGIN: 8px 0px; LINE-HEIGHT: 130%; FONT-FAMILY: Arial, sans-serif, =
Verdana, Helvetica
}
.box-gradient .promo-top .blurb P A {
	FONT-SIZE: 11px
}
.box-gradient .promo-top IMG {
	BORDER-RIGHT: #c5c5c3 1px solid; BORDER-TOP: #c5c5c3 1px solid; FLOAT: =
right; BORDER-LEFT: #c5c5c3 1px solid; WIDTH: 170px; BORDER-BOTTOM: =
#c5c5c3 1px solid
}
.box-gradient .articleitem-large {
	CLEAR: both; MARGIN: 12px 0px
}
.box-gradient .articleitem-large .blurb H1 {
	FONT-SIZE: 15px; MARGIN: 0px 0px 5px
}
.box-gradient .articleitem-large .blurb P {
	FONT-SIZE: 12px; MARGIN: 5px 0px; FONT-FAMILY: Arial, sans-serif, =
Verdana, Helvetica
}
.box-gradient .articleitem-large .blurb P A {
	FONT-SIZE: 11px
}
.box-gradient .articleitem-large IMG {
	BORDER-RIGHT: #c5c5c3 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
#c5c5c3 1px solid; PADDING-LEFT: 1px; FLOAT: left; PADDING-BOTTOM: 1px; =
BORDER-LEFT: #c5c5c3 1px solid; MARGIN-RIGHT: 12px; PADDING-TOP: 1px; =
BORDER-BOTTOM: #c5c5c3 1px solid; BACKGROUND-COLOR: #ffffff
}
.box-gradient .articleitem-large .blurb {
	FLOAT: right; WIDTH: 410px
}
.articleitem-large A H1 SPAN {
	COLOR: #13458b
}
.item-imgright A H1 SPAN {
	COLOR: #13458b
}
.text A H1 {
	COLOR: #13458b
}
.blurb A H1 {
	COLOR: #13458b
}
.content .links {
	FLOAT: none
}
.content .links UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.content .links LI {
	PADDING-LEFT: 12px; FONT-SIZE: 12px; BACKGROUND-IMAGE: =
url(../images/home-latestnews-bullet.gif); PADDING-BOTTOM: 5px; MARGIN: =
0px; LINE-HEIGHT: 130%; BACKGROUND-REPEAT: no-repeat; LIST-STYLE-TYPE: =
none
}
.content .links LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.box-gradient .nav UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: =
none
}
.box-gradient .nav LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; FONT-WEIGHT: =
bold; FONT-SIZE: 12px; BACKGROUND: url(../images/tab-left.gif) no-repeat =
left top; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px -1px 0px -3px; =
TEXT-TRANSFORM: capitalize; PADDING-TOP: 0px; FONT-FAMILY: Arial, sans =
serif
}
.box-gradient .nav LI A {
	PADDING-RIGHT: 14px; DISPLAY: block; PADDING-LEFT: 3px; BACKGROUND: =
url(../images/tab-right.gif) no-repeat right top; FLOAT: left; =
PADDING-BOTTOM: 3px; PADDING-TOP: 4px
}
.GreenTabStyle .ajax__tab_outer {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; BACKGROUND: url(../images/tab-left_green.gif) no-repeat left top; =
PADDING-BOTTOM: 0px; MARGIN: 0px -1px 0px -3px; TEXT-TRANSFORM: =
capitalize; PADDING-TOP: 0px; FONT-FAMILY: Arial, sans serif
}
.GreenTabStyle .ajax__tab_inner {
	PADDING-RIGHT: 14px; PADDING-LEFT: 3px; BACKGROUND: =
url(../images/tab-right_green.gif) no-repeat right top; PADDING-BOTTOM: =
3px; PADDING-TOP: 4px
}
.GreenTabStyle .ajax__tab_inner {
	COLOR: #000; TEXT-DECORATION: none
}
.GreenTabStyle .ajax__tab_active .ajax__tab_inner {
	BACKGROUND-POSITION: 100% -100px; COLOR: #fff
}
.GreenTabStyle .ajax__tab_active .ajax__tab_outer {
	BACKGROUND-POSITION: 0% -100px; COLOR: #fff
}
.GreenTabStyle .ajax__tab_hover .ajax__tab_outer {
	TEXT-DECORATION: underline
}
.GreenTabStyle .ajax__tab_hover .ajax__tab_inner {
	TEXT-DECORATION: underline
}
.box-gradient .nav LI.bluetab {
	BACKGROUND: url(../images/tab-left_blue.gif) no-repeat left top
}
.box-gradient .nav LI.bluetab A {
	BACKGROUND: url(../images/tab-right_blue.gif) no-repeat right top
}
.box-gradient .nav LI:hover {
	TEXT-DECORATION: underline
}
.box-gradient .nav LI.over {
	TEXT-DECORATION: underline
}
.box-gradient .nav LI.active {
	BACKGROUND-POSITION: 0% -100px; COLOR: #fff
}
.box-gradient .nav LI:hover A {
	TEXT-DECORATION: underline
}
.box-gradient .nav LI A:hover {
	TEXT-DECORATION: underline
}
.box-gradient .nav LI.active A {
	BACKGROUND-POSITION: 100% -100px; COLOR: #fff
}
.box-gradient .nav LI A {
	COLOR: #000; TEXT-DECORATION: none
}
.box-gradient .text {
	PADDING-LEFT: 12px; FLOAT: left; WIDTH: 275px
}
.box-gradient .text H1 {
	FONT-SIZE: 110%; MARGIN: 0px; TEXT-TRANSFORM: uppercase
}
.box-gradient .text P {
	MARGIN: 5px 0px
}
.box-gradient .text P A {
	FONT-SIZE: 11px
}
.box-gradient .text UL {
	PADDING-LEFT: 18px; LIST-STYLE-IMAGE: =
url(../images/home-latestnews-bullet.gif); MARGIN: 0px
}
.box-gradient .text LI {
	PADDING-LEFT: 0px; FONT-SIZE: 12px; LINE-HEIGHT: 130%
}
.box-gradient .text LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
.box-gradient .promo-left {
	BORDER-RIGHT: #c1c2bf 1px solid; PADDING-RIGHT: 12px; PADDING-LEFT: =
0px; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 178px; PADDING-TOP: 0px; =
FONT-FAMILY: Arial, sans-serif, Verdana, Helvetica
}
.box-gradient .promo-left H1 {
	FONT-SIZE: 100%; MARGIN: 10px 0px 5px; COLOR: #26008d
}
.box-gradient .promo-left P {
	MARGIN: 0px
}
.content .title {
	PADDING-RIGHT: 16px; PADDING-LEFT: 0px; BACKGROUND: =
url(../images/red-headingbg.gif) repeat-x left top; PADDING-BOTTOM: 0px; =
MARGIN: -8px -8px 5px; WIDTH: 100%; PADDING-TOP: 0px
}
.content .title H1 {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; FONT-WEIGHT: =
bold; FONT-SIZE: 12px; BACKGROUND: none transparent scroll repeat 0% 0%; =
PADDING-BOTTOM: 3px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; COLOR: =
#ffffff; PADDING-TOP: 2px; FONT-FAMILY: Arial, sans-serif, Verdana, =
Helvetica
}
.content .blue {
	BACKGROUND: url(../images/blue-headingbg.gif) repeat-x
}
.content .green {
	BACKGROUND: url(../images/green-headingbg.gif) repeat-x
}
.content .productsitem {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
10px; PADDING-TOP: 10px
}
.content .productsitem IMG {
	FLOAT: left; MARGIN-RIGHT: 15px
}
.content .productsitem P {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 2px 0px
}
.content .productsitem A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #13458b; TEXT-DECORATION: =
none
}
.content .productsitem P A:hover {
	TEXT-DECORATION: underline
}
.content .downloaditem {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
5px; PADDING-TOP: 8px
}
.content .downloaditem IMG {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 1px
}
.content .downloaditem .description H2 {
	FONT-SIZE: 100%; MARGIN: 0px
}
.content .downloaditem .description H2 A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #13458b; TEXT-DECORATION: =
none
}
.content .downloaditem .description H2 A:hover {
	TEXT-DECORATION: underline
}
.content .downloaditem .description {
	FONT-SIZE: 11px; FLOAT: left; MARGIN: 0px; WIDTH: 240px
}
.content .downloaditem .description P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#col-mid .box-gradient {
	WIDTH: 300px
}
#bodytext .small.box-gradient {
	WIDTH: 100%
}
#bodytext .box-gradient H1.small {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 10px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 100%; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 3px; PADDING-TOP: 2px; BORDER-RIGHT-WIDTH: 0px
}
#col-mid .box-gradient .content {
	BACKGROUND: url(../images/box-gradient-small.gif) #fff no-repeat
}
.content:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
.content {
	HEIGHT: 1%
}
.box-stroke {
	MARGIN: 0px 0px 10px; WIDTH: 507px
}
.box-stroke .tab {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/tab-left.gif) no-repeat left -100px; PADDING-BOTTOM: 1px; =
MARGIN: 0px 0px -1px -3px; PADDING-TOP: 4px
}
.box-stroke .tab H1 {
	PADDING-RIGHT: 12px; DISPLAY: inline; PADDING-LEFT: 3px; FONT-WEIGHT: =
bold; FONT-SIZE: 12px; BACKGROUND: url(../images/tab-right.gif) =
no-repeat right -100px; PADDING-BOTTOM: 1px; TEXT-TRANSFORM: uppercase; =
COLOR: #ffffff; PADDING-TOP: 4px; FONT-FAMILY: Arial, sans serif
}
.box-stroke .tab H2 {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 5px; FONT-WEIGHT: =
100; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #999999; =
PADDING-TOP: 8px; FONT-FAMILY: Arial, sans serif
}
.box-stroke .content {
	PADDING-RIGHT: 0px; BORDER-TOP: #bd0014 1px solid; MARGIN-TOP: 1px; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px; BORDER-BOTTOM: =
#a9aaa6 1px solid
}
.content H2 {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 10px 0px; COLOR: #000000
}
.content P {
	MARGIN: 5px 0px
}
.content .articleitem-small {
	FLOAT: left; MARGIN: 10px 4px 5px; WIDTH: 220px
}
.content .articleitem-small .description {
	FLOAT: left; WIDTH: 155px
}
.content .articleitem-small .description H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; FLOAT: none; BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; MARGIN: =
0px 0px 4px; TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; =
LINE-HEIGHT: 130%; PADDING-TOP: 0px
}
.content .articleitem-small H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; FLOAT: none; BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; MARGIN: =
0px 0px 4px; TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; =
LINE-HEIGHT: 130%; PADDING-TOP: 0px
}
.content .articleitem-small .description P {
	FONT-SIZE: 11px; MARGIN: 0px
}
.content .articleitem-small IMG {
	BORDER-RIGHT: #c1c2bf 1px solid; BORDER-TOP: #c1c2bf 1px solid; FLOAT: =
left; BORDER-LEFT: #c1c2bf 1px solid; MARGIN-RIGHT: 10px; BORDER-BOTTOM: =
#c1c2bf 1px solid
}
.blog.title {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: left top; PADDING-LEFT: 0px; =
Z-INDEX: 100; BACKGROUND-IMAGE: url(../images/mid-blog-headerbg.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 34px
}
.blog.title H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
130%; PADDING-BOTTOM: 0px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; =
COLOR: #000; PADDING-TOP: 12px
}
#col-mid #blog .content {
	BORDER-RIGHT: #c8c9c6 1px solid; BORDER-TOP: #c8c9c6 1px; FLOAT: left; =
BACKGROUND-IMAGE: url(../images/box-gradient-small.gif); PADDING-BOTTOM: =
3px; BORDER-LEFT: #c8c9c6 1px solid; WIDTH: 298px; MARGIN-RIGHT: 2px; =
PADDING-TOP: 13px; BORDER-BOTTOM: #c8c9c6 1px solid; BACKGROUND-REPEAT: =
repeat-x
}
.blogitem.content {
	BORDER-TOP-WIDTH: 0px; BACKGROUND-POSITION: left -2px; MARGIN: 0px
}
#col-mid .box-gradient .blogitem.content {
	BORDER-TOP-WIDTH: 0px; BACKGROUND-POSITION: left -2px; MARGIN: 0px
}
.blogitem.content H1 {
	FONT-SIZE: 180%; MARGIN: 0px 0px 1px; TEXT-TRANSFORM: uppercase; COLOR: =
#b8001d
}
.blogitem.content H3 {
	FONT-WEIGHT: 100; FONT-SIZE: 110%; MARGIN: 0px; COLOR: #888985
}
.blogitem.content H4 {
	FONT-SIZE: 100%; MARGIN: 15px 0px 5px; COLOR: #26008d; FONT-FAMILY: =
Arial, sans-serif, Verdana, Helvetica
}
.content .rightcol {
	FLOAT: right; WIDTH: 75%
}
.blogitem.content IMG {
	BORDER-RIGHT: #b2b3b0 1px solid; BORDER-TOP: #b2b3b0 1px solid; =
BORDER-LEFT: #b2b3b0 1px solid; BORDER-BOTTOM: #b2b3b0 1px solid
}
.content .item-imgright {
	PADDING-RIGHT: 0px; MARGIN-TOP: 4px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; PADDING-TOP: 8px
}
.content .item-imgright H1 {
	FONT-SIZE: 110%; MARGIN: 0px 0px 5px
}
.content .item-imgright P {
	MARGIN: 5px 0px; FONT-FAMILY: Arial, sans-serif, Verdana, Helvetica
}
.content .item-imgright IMG {
	PADDING-LEFT: 15px; FLOAT: right
}
.content .marketitem {
	MARGIN-TOP: 10px; FONT-SIZE: 100%; MARGIN-BOTTOM: 15px; FONT-FAMILY: =
Arial, sans-serif, Verdana, Helvetica
}
.content .marketitem H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; =
BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
TEXT-TRANSFORM: none; PADDING-TOP: 0px
}
.content .marketitem P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px =
0px; PADDING-TOP: 0px
}
.content .marketitem P A {
	COLOR: #545551
}
.content .about {
	BORDER-TOP: #c0c0be 1px solid; MARGIN-TOP: 10px; FONT-WEIGHT: bold; =
FONT-SIZE: 90%; PADDING-TOP: 4px; FONT-FAMILY: Arial, sans-serif, =
Verdana, Helvetica; TEXT-ALIGN: right
}
.content .item {
	CLEAR: both; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.content UL.rss {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.content UL.rss LI {
	FONT-WEIGHT: bold; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/page-tools-rssicon.gif); MARGIN-BOTTOM: 5px; LINE-HEIGHT: =
10px; BACKGROUND-REPEAT: no-repeat; LIST-STYLE-TYPE: none
}
.content UL.rss LI A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; MARGIN: 0px; WIDTH: 72px; PADDING-TOP: 4px
}
HTML >  BODY .content UL.rss LI A {
=09
}
.content UL.tools {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 0px 95px; LINE-HEIGHT: 22px; PADDING-TOP: 0px
}
HTML >  BODY .content UL.tools {
=09
}
.content UL.tools LI {
	FLOAT: left; LIST-STYLE-TYPE: none
}
HTML >  BODY .content UL.tools LI {
=09
}
.content UL.tools LI A {
	BACKGROUND-COLOR: #ffffff
}
.content UL.tools LI A:hover {
	FLOAT: left; BACKGROUND-COLOR: #eaeaea
}
.content .twocol-left {
	PADDING-RIGHT: 6px; FLOAT: left; WIDTH: 48%
}
.content .twocol-right {
	PADDING-LEFT: 6px; FLOAT: left; WIDTH: 48%
}
HR {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; MARGIN: 0.3em 0px 0.6em; COLOR: #c5c5c3; HEIGHT: 1px; =
BACKGROUND-COLOR: #c5c5c3; BORDER-RIGHT-WIDTH: 0px
}
HR.dotted {
	BORDER-TOP: #c5c5c3 1px dotted
}
* HTML HR.dotted {
=09
}
#col-mid {
	PADDING-RIGHT: 4px; FLOAT: left; WIDTH: 300px; PADDING-TOP: 32px
}
#col-right {
	PADDING-RIGHT: 0px; FLOAT: left; WIDTH: 150px; PADDING-TOP: 32px; =
TEXT-ALIGN: center
}
* HTML #col-right IMG.promoboxtop {
	MARGIN-BOTTOM: -3px
}
#col-right #promobox {
	BORDER-RIGHT: #9c9c99 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#9c9c99 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px =
0px 10px; BORDER-LEFT: #9c9c99 1px solid; WIDTH: 131px; PADDING-TOP: =
0px; BORDER-BOTTOM: #9c9c99 1px solid; TEXT-ALIGN: center; =
_padding-bottom: 2px
}
#col-right #promobox H1 {
	FONT-SIZE: 110%; MARGIN: 6px 7px; COLOR: #2c00a3; TEXT-ALIGN: left
}
#col-right #promobox P {
	FONT-SIZE: 12px; MARGIN: 0px 7px 5px; TEXT-ALIGN: left
}
#col-right #promobox A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #13458b
}
#col-right #promobox A:hover {
=09
}
#nav-2ndlevel {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 100%; FLOAT: left; =
BACKGROUND-IMAGE: url(../images/nav-2ndlevelbg.gif); WIDTH: 1000px; =
BORDER-BOTTOM: #a7a7a7 1px solid
}
#nav-2ndlevel UL {
	PADDING-LEFT: 4px; MARGIN: 0px; LIST-STYLE-TYPE: none; HEIGHT: 27px
}
#nav-2ndlevel LI {
	FLOAT: left
}
#nav-2ndlevel LI A {
	PADDING-RIGHT: 7px; BACKGROUND-POSITION: right 50%; DISPLAY: block; =
PADDING-LEFT: 4px; BACKGROUND-IMAGE: =
url(../images/nav-2ndlevelline.gif); PADDING-BOTTOM: 6px; COLOR: =
#4c4c48; PADDING-TOP: 7px; BACKGROUND-REPEAT: no-repeat; =
TEXT-DECORATION: none
}
#nav-2ndlevel LI A:hover {
	TEXT-DECORATION: underline
}
#sponsoredlinks {
	CLEAR: both; PADDING-RIGHT: 10px; MARGIN-TOP: 10px; PADDING-LEFT: 15px; =
BACKGROUND-IMAGE: url(../images/home-sponserlinks-bg.gif); =
PADDING-BOTTOM: 5px; PADDING-TOP: 10px; BACKGROUND-REPEAT: repeat-x; =
TEXT-ALIGN: left
}
#sponsoredlinks H1 {
	FONT-SIZE: 110%; MARGIN: 0px 0px 10px; TEXT-TRANSFORM: uppercase
}
#sponsoredlinks UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 20px; LIST-STYLE-IMAGE: =
url(../images/home-sponserlinks-bullet.gif); PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#sponsoredlinks LI {
	FONT-WEIGHT: bold; PADDING-BOTTOM: 5px
}
.sponsoredlinks {
	CLEAR: both; PADDING-RIGHT: 10px; MARGIN-TOP: 0px; PADDING-LEFT: 15px; =
BACKGROUND-IMAGE: url(../images/home-sponserlinks-bg.gif); =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-REPEAT: repeat-x; =
TEXT-ALIGN: left
}
.sponsoredlinks H1 {
	FONT-SIZE: 110%; MARGIN: 0px 0px 10px; TEXT-TRANSFORM: uppercase; =
COLOR: #000000
}
.sponsoredlinks UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 20px; LIST-STYLE-IMAGE: =
url(../images/home-sponserlinks-bullet.gif); PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.sponsoredlinks LI {
	FONT-WEIGHT: bold; PADDING-BOTTOM: 5px
}
#footer {
	CLEAR: both; MARGIN-LEFT: auto; WIDTH: 1000px; MARGIN-RIGHT: auto; =
FONT-FAMILY: Arial, sans-serif, Verdana, Helvetica; TEXT-ALIGN: center
}
*:first-child + HTML #footer {
	PADDING-LEFT: 1px
}
#footer .tools {
	BACKGROUND-POSITION: 50% top; BORDER-TOP: #898a86 1px solid; =
BACKGROUND-IMAGE: url(../images/footer-toolsbg.gif); COLOR: #13458b; =
LINE-HEIGHT: 20px; BACKGROUND-REPEAT: repeat-x
}
#footer .tools A {
	COLOR: #13458b; TEXT-DECORATION: none
}
#footer .tools A:hover {
	TEXT-DECORATION: underline
}
#footer .text {
	PADDING-RIGHT: 0px; BORDER-TOP: #868488 1px solid; PADDING-LEFT: 0px; =
FLOAT: left; BACKGROUND-IMAGE: url(../images/footer-textbg.gif); =
PADDING-BOTTOM: 10px; WIDTH: 100%; COLOR: #ffffff; PADDING-TOP: 10px; =
BACKGROUND-REPEAT: repeat-x
}
#footer .text P {
	MARGIN: 0px; COLOR: #ffffff
}
#footer .text A {
	FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none
}
#footer .text A:hover {
	TEXT-DECORATION: underline
}
.clearing {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; LINE-HEIGHT: 0; PADDING-TOP: 0px; HEIGHT: 0px
}
* HTML .clearing {
	DISPLAY: inline
}
.searchfilter H2 {
	FONT-SIZE: 110%; TEXT-TRANSFORM: uppercase; COLOR: black
}
.searchfilter H2 .clearfilter {
	PADDING-LEFT: 10px; FONT-SIZE: 80%
}
.searchfilter .content .links .activeCategoryHighlight A {
	FONT-WEIGHT: bold
}
.searchfilter .activeCategoryHighlight {
	FONT-WEIGHT: bold
}
.searchfilter .content .links LI.activeCategoryHighlight {
	BACKGROUND-IMAGE: url(../images/home-latestnews-bullet.gif)
}
.searchfilter .content .links LI A {
	FONT-WEIGHT: normal
}
.searchfilter .content .links LI {
	BACKGROUND-IMAGE: url(../images/home-sponserlinks-bullet.gif)
}
.searchfilter UL LI A {
	MARGIN-RIGHT: 7px
}
.searchresults .item-imgright B {
	BACKGROUND-COLOR: yellow
}
#col-mid .ad {
=09
}
.artCaption {
	FONT-STYLE: italic
}
.paging {
	PADDING-BOTTOM: 1px; MARGIN: 10px auto; TEXT-ALIGN: center
}
.paging A {
	CURSOR: pointer
}
.paging .selectedPage {
	BORDER-RIGHT: #c3c3c3 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: =
#c3c3c3 1px solid; PADDING-LEFT: 6px; FONT-WEIGHT: bold; PADDING-BOTTOM: =
1px; BORDER-LEFT: #c3c3c3 1px solid; PADDING-TOP: 1px; BORDER-BOTTOM: =
#c3c3c3 1px solid
}
.unselectedPage {
	BORDER-RIGHT: #c3c3c3 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: =
#c3c3c3 1px solid; PADDING-LEFT: 6px; FONT-WEIGHT: bold; PADDING-BOTTOM: =
1px; BORDER-LEFT: #c3c3c3 1px solid; PADDING-TOP: 1px; BORDER-BOTTOM: =
#c3c3c3 1px solid
}
.paging .selectedPage {
	BACKGROUND: url(../images/red-headingbg.gif) repeat-x; COLOR: white
}
.paging .unselectedPage {
	COLOR: #c3c3c3; BACKGROUND-COLOR: white
}
.newsListDate {
	PADDING-RIGHT: 12px; FLOAT: left; WIDTH: 70px; COLOR: #777777
}
.newsListHeading {
	PADDING-RIGHT: 12px; FONT-WEIGHT: bold; FLOAT: left; WIDTH: 385px
}
.earlierNews {
	MARGIN-TOP: 8px; FONT-WEIGHT: bold
}
A IMG {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
TABLE.form TR TH {
	PADDING-RIGHT: 10px; TEXT-ALIGN: left
}
TABLE.form TR TH {
	PADDING-BOTTOM: 5px; VERTICAL-ALIGN: top
}
TABLE.form TR TD {
	PADDING-BOTTOM: 5px; VERTICAL-ALIGN: top
}
TABLE.form TR TH ABBR {
	COLOR: maroon
}
SPAN#RequiredFootnote {
	COLOR: maroon
}
DIV#details IMG {
	FLOAT: left; MARGIN-RIGHT: 15px
}
#details {
	BORDER-TOP: #dddddd 1px solid; FLOAT: left; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; BORDER-BOTTOM: #dddddd 1px solid
}
DIV#details DIV {
	FLOAT: left
}
DIV#details H4 {
	MARGIN: 0px
}
.tagcloud {
	TEXT-ALIGN: center
}
.tagcloud A {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
VERTICAL-ALIGN: middle; PADDING-TOP: 2px
}
#poll {
	FONT-SIZE: 8pt; BORDER-BOTTOM: #cccccc 1px dotted
}
#poll H2 {
	FONT-SIZE: 8pt
}
.newsimage {
	BORDER-RIGHT: gray 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: gray 1px =
solid; PADDING-LEFT: 0px; FLOAT: right; MARGIN-BOTTOM: 12px; =
PADDING-BOTTOM: 2px; BORDER-LEFT: gray 1px solid; WIDTH: 218px; =
PADDING-TOP: 2px; BORDER-BOTTOM: gray 1px solid; BACKGROUND-COLOR: =
white; TEXT-ALIGN: center
}
.newsimage-source {
	FONT-SIZE: 8px; COLOR: #666666; PADDING-TOP: 5px; TEXT-ALIGN: right
}
.hotproducts {
	CLEAR: both
}
.hotproducts IMG {
	FLOAT: left
}
.hotproducts .text {
	FLOAT: right; WIDTH: 369px
}
.content .hotproduct .image {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#cccccc 1px solid; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: 5px; =
MARGIN: 0px 0px 12px 12px; BORDER-LEFT: #cccccc 1px solid; PADDING-TOP: =
0px; BORDER-BOTTOM: #cccccc 1px solid; TEXT-ALIGN: center
}
.content .hotproduct .row {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px
}
.content .hotproduct .left {
	FONT-WEIGHT: bold; FLOAT: left; WIDTH: 75px
}
.content .hotproduct .right {
	PADDING-LEFT: 12px; FLOAT: left
}
.content .hotproduct H2 {
	CLEAR: both; PADDING-TOP: 15px
}
.content .hotproduct .section {
	PADDING-BOTTOM: 10px
}
.content .hotproduct .moreinfo {
	CLEAR: both; MARGIN-TOP: 40px
}
.FilterDeleteImage {
	PADDING-LEFT: 10px
}
#news-stories P {
	MARGIN: 5px 10px 0px 0px
}
#news-stories .order {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#special-reports .blurb H1 {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 15px; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: =
0px
}
#special-reports IMG {
	FLOAT: left; MARGIN: 5px 12px 0px 7px
}
#special-reports .blurb {
	MARGIN-TOP: 3px; FLOAT: left; WIDTH: 715px
}
.separator {
	CLEAR: both; MARGIN-BOTTOM: 10px; BORDER-BOTTOM: #cccccc 1px dotted
}

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/StyleSheet/print.css

BODY {
	FONT-SIZE: 0.7em; MARGIN: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND-COLOR: #ffffff
}
* HTML BODY {
	MARGIN-LEFT: 1px
}
A {
	COLOR: #26008d; TEXT-DECORATION: none
}
.tabledata TD {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px; TEXT-ALIGN: left
}
.tabledata TH {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; COLOR: =
#26008d; PADDING-TOP: 2px; BORDER-BOTTOM: #a9aaa6 1px solid; TEXT-ALIGN: =
left
}
.tabledata TR.alternaterow {
	BACKGROUND-COLOR: #dfdfde
}
A:hover {
	TEXT-DECORATION: underline
}
#printlogo {
	DISPLAY: none
}
#wrapper {
	MARGIN-LEFT: auto; WIDTH: 100%; MARGIN-RIGHT: auto
}
#haymarketchannel {
	FONT-SIZE: 100%; BACKGROUND-IMAGE: =
url(../images/haymarketchannel-background.gif); COLOR: #4b4b47; HEIGHT: =
19px; TEXT-ALIGN: right
}
#haymarketchannel #links {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 2px
}
#haymarketchannel A {
	COLOR: #4b4b47; TEXT-DECORATION: none
}
#haymarketchannel A:hover {
	TEXT-DECORATION: underline
}
#haymarketchannel IMG {
	FLOAT: left
}
#header_print {
	FLOAT: left; BACKGROUND-IMAGE: =
url(../images/header-print-background.gif); WIDTH: 100%; =
BACKGROUND-REPEAT: repeat-x
}
#header_print #buttons {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FLOAT: right; PADDING-BOTTOM: =
14px; PADDING-TOP: 14px; TEXT-ALIGN: right
}
#buttons_bottom {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FLOAT: right; PADDING-BOTTOM: =
14px; PADDING-TOP: 14px; TEXT-ALIGN: right
}
#header_print .logo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 45px; FLOAT: left; PADDING-BOTTOM: =
15px; PADDING-TOP: 17px
}
#header-toolbar {
	BORDER-TOP: #cccccc 1px solid; BORDER-BOTTOM: #545551 1px solid; =
HEIGHT: 38px
}
#header-toolbar #search {
	BORDER-RIGHT: #545551 1px solid; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/header-toolbar-background-search.gif); WIDTH: 545px; =
HEIGHT: 38px
}
#header-toolbar #search P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 14px; FONT-WEIGHT: bold; FONT-SIZE: =
105%; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #000000; =
LINE-HEIGHT: 38px; PADDING-TOP: 0px
}
#header-toolbar #search .search {
	FONT-SIZE: 10px; FLOAT: left; MARGIN: 10px 3px 0px 10px; WIDTH: 275px; =
LINE-HEIGHT: 11px; HEIGHT: 12px
}
#header-toolbar #search .search-btn {
	MARGIN: 10px 5px 0px 4px
}
#header-toolbar #signup {
	BORDER-RIGHT: #545551 1px solid; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/header-toolbar-background-signup.gif); BORDER-LEFT: =
#d4cbc2 1px solid; WIDTH: 298px
}
#header-toolbar #signup P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 14px; FONT-WEIGHT: bold; FONT-SIZE: =
105%; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #ffffff; =
LINE-HEIGHT: 38px; PADDING-TOP: 0px
}
#header-toolbar #signup .register {
	FONT-SIZE: 10px; FLOAT: left; MARGIN: 11px 3px 0px 10px; WIDTH: 145px; =
LINE-HEIGHT: 11px; HEIGHT: 11px
}
#header-toolbar #signup .register-btn {
	MARGIN: 10px 5px 0px 2px
}
#header-toolbar #banner {
	FLOAT: left; BORDER-LEFT: #d4cbc2 1px solid
}
#marquee {
	CLEAR: right; FONT-WEIGHT: bold; FONT-SIZE: 110%; FLOAT: right; MARGIN: =
20px 7px 5px 5px; WIDTH: 300px; COLOR: #ffffff
}
#marquee A {
	COLOR: #ffffff; MARGIN-RIGHT: 9px; TEXT-DECORATION: none
}
#marquee A:hover {
	TEXT-DECORATION: underline
}
#bodytext {
	PADDING-RIGHT: 0px; PADDING-LEFT: 20px; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/bodytext-bg.gif); PADDING-BOTTOM: 0px; WIDTH: 98%; =
PADDING-TOP: 0px; BACKGROUND-REPEAT: repeat-x
}
#title {
	BACKGROUND-IMAGE: url(../images/bodytext-titlebg.gif); WIDTH: 507px; =
HEIGHT: 24px
}
#title P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 14px; FONT-WEIGHT: bold; FONT-SIZE: =
115%; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 4px
}
#title .sitetools {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FLOAT: right; =
PADDING-BOTTOM: 0px; COLOR: #de6b00; PADDING-TOP: 5px
}
#title .rssfeed {
	PADDING-RIGHT: 10px; PADDING-LEFT: 2px; FLOAT: right; PADDING-BOTTOM: =
0px; PADDING-TOP: 4px
}
#title .sitetools A {
	COLOR: #de6b00; TEXT-DECORATION: none
}
#title .sitetools A:hover {
	TEXT-DECORATION: underline
}
#nav {
	CLEAR: both; FONT-WEIGHT: bold; FONT-SIZE: 120%; FLOAT: left; MARGIN: =
15px 0px 0px 4px; OVERFLOW: visible; WIDTH: 675px
}
HTML >  BODY #nav {
	MARGIN: 12px 0px 0px 7px
}
#nav UL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: none
}
#nav LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 11px; BACKGROUND: =
url(../images/nav-left.gif) no-repeat left top; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px -10px 0px 0px; PADDING-TOP: 0px
}
#nav A {
	PADDING-RIGHT: 18px; DISPLAY: block; PADDING-LEFT: 4px; FONT-WEIGHT: =
bold; BACKGROUND: url(../images/nav-right.gif) no-repeat right top; =
FLOAT: left; PADDING-BOTTOM: 6px; WIDTH: auto; COLOR: #d7d7d7; =
PADDING-TOP: 8px; TEXT-DECORATION: none
}
#nav > UL A {
	WIDTH: auto
}
#nav A {
	FLOAT: none
}
#nav A:hover {
	COLOR: #fff
}
#nav LI:hover {
	BACKGROUND-POSITION: 0% -100px; COLOR: #000
}
#nav LI.over {
	BACKGROUND-POSITION: 0% -100px; COLOR: #000
}
#nav LI.active {
	BACKGROUND-POSITION: 0% -100px; COLOR: #000
}
#nav LI:hover A {
	BACKGROUND-POSITION: 100% -100px; COLOR: #000
}
#nav LI A:hover {
	BACKGROUND-POSITION: 100% -100px; COLOR: #000
}
#nav LI.active A {
	BACKGROUND-POSITION: 100% -100px; COLOR: #000
}
#maintext {
	MARGIN-RIGHT: 10px
}
#maintext H1 {
	MARGIN-TOP: 18px; FONT-SIZE: 180%; PADDING-BOTTOM: 18px; BORDER-BOTTOM: =
#c1c2bf 1px solid
}
#maintext EM A {
	FONT-WEIGHT: bold
}
#maintext #copyright A {
	FONT-WEIGHT: bold
}
#copyright {
	BORDER-BOTTOM: #c1c2bf 1px solid
}
#copyright IMG {
	PADDING-RIGHT: 10px; FLOAT: left; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none
}
#copyright P {
	MARGIN-BOTTOM: 0px; PADDING-TOP: 5px
}
.contentitem {
	MARGIN: 5px 0px 10px; TEXT-ALIGN: center
}
.box-gradient {
	MARGIN-TOP: 10px; MARGIN-BOTTOM: 7px; WIDTH: 507px
}
.box-gradient H1 {
	FONT-SIZE: 100%; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px
}
.box-gradient EM A {
	FONT-WEIGHT: normal
}
.box-gradient .tab {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/tab-left.gif) no-repeat left top; PADDING-BOTTOM: 3px; =
MARGIN: 0px 0px 0px -4px; PADDING-TOP: 4px
}
.box-gradient .tab H1 {
	PADDING-RIGHT: 23px; DISPLAY: inline; PADDING-LEFT: 3px; FONT-SIZE: =
100%; BACKGROUND: url(../images/tab-right.gif) no-repeat right top; =
PADDING-BOTTOM: 3px; TEXT-TRANSFORM: uppercase; COLOR: #ffffff; =
PADDING-TOP: 4px
}
.box-gradient .tab H2 {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 5px; FONT-WEIGHT: =
100; FONT-SIZE: 100%; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #a6a6a3; =
PADDING-TOP: 8px
}
.box-gradient .content {
	BORDER-RIGHT: #bbbcb9 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#bbbcb9 1px solid; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/box-gradient-large.gif) #fff no-repeat center top; =
PADDING-BOTTOM: 10px; OVERFLOW: visible; BORDER-LEFT: #bbbcb9 1px solid; =
PADDING-TOP: 10px; BORDER-BOTTOM: #bbbcb9 1px solid
}
#wrapper #bodytext .box-gradient .nobg.content {
	BACKGROUND: #fff
}
#wrapper #col-mid .box-gradient .nobg.content {
	BACKGROUND: #fff
}
.box-gradient .promo-top {
	PADDING-BOTTOM: 6px; BORDER-BOTTOM: #a9aaa6 1px solid
}
.box-gradient .promo-top H1 {
	FONT-SIZE: 170%; MARGIN: 0px
}
.box-gradient .promo-top P {
	FONT-SIZE: 100%; MARGIN: 8px 0px; LINE-HEIGHT: 130%; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.box-gradient .promo-top IMG {
	PADDING-LEFT: 12px; FLOAT: right
}
.box-gradient .articleitem-large {
	CLEAR: both; MARGIN: 12px 0px
}
.box-gradient .articleitem-large H1 {
	FONT-SIZE: 130%; MARGIN: 0px 0px 5px
}
.box-gradient .articleitem-large P {
	MARGIN: 5px 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
.box-gradient .articleitem-large IMG {
	BORDER-RIGHT: #c5c5c3 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: =
#c5c5c3 1px solid; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: 2px; =
BORDER-LEFT: #c5c5c3 1px solid; MARGIN-RIGHT: 12px; PADDING-TOP: 2px; =
BORDER-BOTTOM: #c5c5c3 1px solid; BACKGROUND-COLOR: #ffffff
}
.content .links {
	FLOAT: none; WIDTH: 100%
}
.content .links UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.content .links LI {
	PADDING-LEFT: 12px; BACKGROUND-IMAGE: =
url(../images/home-latestnews-bullet.gif); PADDING-BOTTOM: 5px; MARGIN: =
0px; LINE-HEIGHT: 130%; BACKGROUND-REPEAT: no-repeat; LIST-STYLE-TYPE: =
none
}
.content .links LI A {
	FONT-WEIGHT: bold
}
.box-gradient .nav UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: =
none
}
.box-gradient .nav LI {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/tab-left.gif) no-repeat left top; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px -7px 0px -3px; PADDING-TOP: 0px
}
.box-gradient .nav LI A {
	PADDING-RIGHT: 17px; DISPLAY: block; PADDING-LEFT: 3px; BACKGROUND: =
url(../images/tab-right.gif) no-repeat right top; FLOAT: left; =
PADDING-BOTTOM: 3px; PADDING-TOP: 4px
}
.box-gradient .nav LI:hover {
	BACKGROUND-POSITION: 0% -100px; COLOR: #000
}
.box-gradient .nav LI.over {
	BACKGROUND-POSITION: 0% -100px; COLOR: #000
}
.box-gradient .nav LI.active {
	BACKGROUND-POSITION: 0% -100px; COLOR: #000
}
.box-gradient .nav LI:hover A {
	BACKGROUND-POSITION: 100% -100px; COLOR: #000
}
.box-gradient .nav LI A:hover {
	BACKGROUND-POSITION: 100% -100px; COLOR: #000
}
.box-gradient .nav LI.active A {
	BACKGROUND-POSITION: 100% -100px; COLOR: #000
}
.box-gradient .nav LI A {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.box-gradient .text {
	PADDING-LEFT: 12px; FLOAT: left; WIDTH: 275px
}
.box-gradient .text H1 {
	FONT-SIZE: 110%; MARGIN: 0px; TEXT-TRANSFORM: uppercase
}
.box-gradient .text P {
	MARGIN: 5px 0px
}
.box-gradient .text UL {
	PADDING-LEFT: 18px; LIST-STYLE-IMAGE: =
url(../images/home-latestnews-bullet.gif); MARGIN: 0px
}
.box-gradient .text LI {
	PADDING-LEFT: 0px; LINE-HEIGHT: 130%
}
.box-gradient .promo-left {
	BORDER-RIGHT: #c1c2bf 1px solid; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 185px; PADDING-TOP: 0px; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
.box-gradient .promo-left H1 {
	FONT-SIZE: 100%; MARGIN: 10px 0px 5px; COLOR: #26008d
}
.box-gradient .promo-left P {
	MARGIN: 0px
}
.content .title {
	PADDING-RIGHT: 16px; PADDING-LEFT: 0px; BACKGROUND: =
url(../images/red-headingbg.gif) repeat-x left top; PADDING-BOTTOM: 0px; =
MARGIN: -8px -8px 5px; WIDTH: 100%; PADDING-TOP: 0px
}
.content .title H1 {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; FONT-SIZE: =
110%; BACKGROUND: none transparent scroll repeat 0% 0%; PADDING-BOTTOM: =
3px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; COLOR: #ffffff; =
PADDING-TOP: 2px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
.content .blue.title {
	BACKGROUND: url(../images/blue-headingbg.gif) repeat-x
}
.content .productsitem {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
10px; PADDING-TOP: 10px
}
.content .productsitem IMG {
	FLOAT: left; MARGIN-RIGHT: 15px
}
.content .productsitem P {
	FONT-WEIGHT: bold; MARGIN: 2px 0px
}
.content .productsitem A {
	COLOR: #26008d; TEXT-DECORATION: none
}
.content .productsitem P A:hover {
	TEXT-DECORATION: underline
}
.content .downloaditem {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
5px; PADDING-TOP: 8px
}
.content .downloaditem IMG {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 1px
}
.content .downloaditem H2 {
	FONT-SIZE: 100%; MARGIN: 0px
}
.content .downloaditem H2 A {
	COLOR: #26008d; TEXT-DECORATION: none
}
.content .downloaditem H2 A:hover {
	COLOR: #26008d; TEXT-DECORATION: underline
}
.content .downloaditem P {
	MARGIN: 0px
}
#col-mid .box-gradient {
	WIDTH: 300px
}
#col-mid .box-gradient .content {
	BACKGROUND: url(../images/box-gradient-small.gif) #fff no-repeat
}
.content:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
.content {
	HEIGHT: 1%
}
.box-stroke {
	MARGIN: 0px 0px 10px; WIDTH: 507px
}
.box-stroke .tab {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/tab-left.gif) no-repeat left top; PADDING-BOTTOM: 3px; =
MARGIN: 0px 0px 1px -4px; PADDING-TOP: 4px
}
.box-stroke .tab H1 {
	PADDING-RIGHT: 23px; DISPLAY: inline; PADDING-LEFT: 3px; FONT-SIZE: =
100%; BACKGROUND: url(../images/tab-right.gif) no-repeat right top; =
PADDING-BOTTOM: 3px; TEXT-TRANSFORM: uppercase; COLOR: #ffffff; =
PADDING-TOP: 4px
}
.box-stroke .tab H2 {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 5px; FONT-WEIGHT: =
100; FONT-SIZE: 100%; PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #a6a6a3; =
PADDING-TOP: 8px
}
.box-stroke .content {
	PADDING-RIGHT: 0px; BORDER-TOP: #bd0014 1px solid; MARGIN-TOP: 1px; =
PADDING-LEFT: 0px; PADDING-BOTTOM: 8px; PADDING-TOP: 8px; BORDER-BOTTOM: =
#a9aaa6 1px solid
}
.content H2 {
	FONT-SIZE: 160%; MARGIN: 10px 0px; COLOR: #311699
}
.content P {
	MARGIN: 5px 0px
}
.content .articleitem-small {
	FLOAT: left; MARGIN: 10px 4px 5px; WIDTH: 240px
}
.content .articleitem-small H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 1em; FLOAT: none; =
BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 4px; =
TEXT-TRANSFORM: none; COLOR: #b8001d; TEXT-INDENT: 0px; LINE-HEIGHT: =
130%; PADDING-TOP: 0px
}
.content .articleitem-small P {
	MARGIN: 0px
}
.content .articleitem-small IMG {
	BORDER-RIGHT: #c1c2bf 1px solid; BORDER-TOP: #c1c2bf 1px solid; FLOAT: =
left; BORDER-LEFT: #c1c2bf 1px solid; MARGIN-RIGHT: 10px; BORDER-BOTTOM: =
#c1c2bf 1px solid
}
.blog.title {
	PADDING-RIGHT: 0px; BACKGROUND-POSITION: left top; PADDING-LEFT: 0px; =
Z-INDEX: 100; BACKGROUND-IMAGE: url(../images/mid-blog-headerbg.gif); =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 34px
}
.blog.title H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
130%; PADDING-BOTTOM: 0px; MARGIN: 0px; TEXT-TRANSFORM: uppercase; =
COLOR: #000; PADDING-TOP: 12px
}
#col-mid #blog .content {
	BORDER-RIGHT: #c8c9c6 1px solid; BORDER-TOP: #c8c9c6 1px; FLOAT: left; =
BACKGROUND-IMAGE: url(../images/box-gradient-small.gif); PADDING-BOTTOM: =
3px; BORDER-LEFT: #c8c9c6 1px solid; WIDTH: 298px; MARGIN-RIGHT: 2px; =
PADDING-TOP: 13px; BORDER-BOTTOM: #c8c9c6 1px solid; BACKGROUND-REPEAT: =
repeat-x
}
.blogitem.content {
	BORDER-TOP-WIDTH: 0px; BACKGROUND-POSITION: left -2px; MARGIN: 0px
}
#col-mid .box-gradient .blogitem.content {
	BORDER-TOP-WIDTH: 0px; BACKGROUND-POSITION: left -2px; MARGIN: 0px
}
.blogitem.content H1 {
	FONT-SIZE: 180%; MARGIN: 0px 0px 1px; TEXT-TRANSFORM: uppercase; COLOR: =
#b8001d
}
.blogitem.content H3 {
	FONT-WEIGHT: 100; FONT-SIZE: 110%; MARGIN: 0px; COLOR: #888985
}
.blogitem.content H4 {
	FONT-SIZE: 100%; MARGIN: 15px 0px 5px; COLOR: #26008d; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.content .rightcol {
	FLOAT: right; WIDTH: 75%
}
.blogitem.content IMG {
	BORDER-RIGHT: #b2b3b0 1px solid; BORDER-TOP: #b2b3b0 1px solid; =
BORDER-LEFT: #b2b3b0 1px solid; BORDER-BOTTOM: #b2b3b0 1px solid
}
.content .item-imgright {
	PADDING-RIGHT: 0px; MARGIN-TOP: 4px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; PADDING-TOP: 8px
}
.content .item-imgright H1 {
	FONT-SIZE: 110%; MARGIN: 0px 0px 5px
}
.content .item-imgright P {
	MARGIN: 5px 0px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif
}
.content .item-imgright IMG {
	PADDING-LEFT: 15px; FLOAT: right
}
.content .marketitem {
	MARGIN-TOP: 10px; FONT-SIZE: 100%; MARGIN-BOTTOM: 15px; FONT-FAMILY: =
Verdana, Arial, Helvetica, sans-serif
}
.content .marketitem H1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; =
BACKGROUND-IMAGE: none; PADDING-BOTTOM: 0px; MARGIN: 0px; =
TEXT-TRANSFORM: none; PADDING-TOP: 0px
}
.content .marketitem P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 3px =
0px; PADDING-TOP: 0px
}
.content .marketitem P A {
	COLOR: #545551
}
.content .about {
	BORDER-TOP: #c0c0be 1px solid; MARGIN-TOP: 10px; FONT-WEIGHT: bold; =
FONT-SIZE: 90%; PADDING-TOP: 4px; FONT-FAMILY: Verdana, Arial, =
Helvetica, sans-serif; TEXT-ALIGN: right
}
.content .item {
	CLEAR: both; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.content UL.rss {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.content UL.rss LI {
	FONT-WEIGHT: bold; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/page-tools-rssicon.gif); MARGIN-BOTTOM: 5px; LINE-HEIGHT: =
10px; BACKGROUND-REPEAT: no-repeat; LIST-STYLE-TYPE: none
}
.content UL.rss LI A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; MARGIN: 0px; WIDTH: 72px; PADDING-TOP: 4px
}
HTML >  BODY .content UL.rss LI A {
=09
}
.content UL.tools {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 0px 95px; LINE-HEIGHT: 22px; PADDING-TOP: 0px
}
HTML >  BODY .content UL.tools {
=09
}
.content UL.tools LI {
	FLOAT: left; LIST-STYLE-TYPE: none
}
HTML >  BODY .content UL.tools LI {
=09
}
.content UL.tools LI A {
	BACKGROUND-COLOR: #ffffff
}
.content UL.tools LI A:hover {
	FLOAT: left; BACKGROUND-COLOR: #eaeaea
}
.content .twocol {
	FLOAT: left; WIDTH: 50%
}
HR {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; MARGIN: 0.3em 0px 0.6em; COLOR: #c5c5c3; HEIGHT: 1px; =
BACKGROUND-COLOR: #c5c5c3; BORDER-RIGHT-WIDTH: 0px
}
HR.dotted {
	BORDER-TOP: #c5c5c3 1px dotted
}
* HTML HR.dotted {
=09
}
#col-mid {
	PADDING-RIGHT: 10px; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/bodytext-bg.gif); WIDTH: 300px; BACKGROUND-REPEAT: =
repeat-x
}
#col-right {
	PADDING-RIGHT: 9px; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/bodytext-bg.gif); WIDTH: 143px; PADDING-TOP: 12px; =
BACKGROUND-REPEAT: repeat-x
}
* HTML #col-right IMG.promoboxtop {
	MARGIN-BOTTOM: -3px
}
#col-right #promobox {
	BORDER-RIGHT: #9c9c99 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#9c9c99 1px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: 0px 0px =
10px; BORDER-LEFT: #9c9c99 1px solid; WIDTH: 131px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #9c9c99 1px solid; TEXT-ALIGN: center; _padding-bottom: =
2px
}
#col-right #promobox H1 {
	FONT-SIZE: 110%; MARGIN: 6px 7px; COLOR: #2c00a3; TEXT-ALIGN: left
}
#col-right #promobox P {
	MARGIN: 0px 7px 5px; TEXT-ALIGN: left
}
#col-right #promobox A {
	COLOR: #26008d
}
#col-right #promobox A:hover {
	COLOR: #130046
}
#nav-2ndlevel {
	CLEAR: both; DISPLAY: block; FONT-SIZE: 100%; FLOAT: left; =
BACKGROUND-IMAGE: url(../images/nav-2ndlevelbg.gif); WIDTH: 100%; =
BORDER-BOTTOM: #a7a7a7 1px solid
}
#nav-2ndlevel UL {
	PADDING-LEFT: 4px; MARGIN: 0px; LIST-STYLE-TYPE: none; HEIGHT: 27px
}
#nav-2ndlevel LI {
	FLOAT: left
}
#nav-2ndlevel LI A {
	PADDING-RIGHT: 9px; BACKGROUND-POSITION: right 50%; DISPLAY: block; =
PADDING-LEFT: 6px; BACKGROUND-IMAGE: =
url(../images/nav-2ndlevelline.gif); PADDING-BOTTOM: 6px; COLOR: =
#4c4c48; PADDING-TOP: 7px; BACKGROUND-REPEAT: no-repeat; =
TEXT-DECORATION: none
}
#nav-2ndlevel LI A:hover {
	TEXT-DECORATION: underline
}
#sponsoredlinks {
	CLEAR: both; PADDING-RIGHT: 10px; MARGIN-TOP: 10px; PADDING-LEFT: 15px; =
BACKGROUND-IMAGE: url(../images/home-sponserlinks-bg.gif); =
PADDING-BOTTOM: 5px; PADDING-TOP: 10px; BACKGROUND-REPEAT: repeat-x; =
TEXT-ALIGN: left
}
#sponsoredlinks H1 {
	FONT-SIZE: 110%; MARGIN: 0px 0px 10px; TEXT-TRANSFORM: uppercase
}
#sponsoredlinks UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 20px; LIST-STYLE-IMAGE: =
url(../images/home-sponserlinks-bullet.gif); PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; _padding-left: =
16px
}
#sponsoredlinks LI {
	FONT-WEIGHT: bold; PADDING-BOTTOM: 5px
}
#footer {
	CLEAR: both; MARGIN-LEFT: auto; WIDTH: 100%; MARGIN-RIGHT: auto; =
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center
}
*:first-child + HTML #footer {
	PADDING-LEFT: 1px
}
#footer .tools {
	BACKGROUND-POSITION: 50% top; BORDER-TOP: #898a86 1px solid; =
BACKGROUND-IMAGE: url(../images/footer-toolsbg.gif); COLOR: #180056; =
LINE-HEIGHT: 20px; BACKGROUND-REPEAT: repeat-x
}
#footer .tools A {
	COLOR: #180056; TEXT-DECORATION: none
}
#footer .tools A:hover {
	TEXT-DECORATION: underline
}
#footer .text {
	PADDING-RIGHT: 0px; BORDER-TOP: #868488 1px solid; PADDING-LEFT: 0px; =
FLOAT: left; BACKGROUND-IMAGE: url(../images/footer-textbg.gif); =
PADDING-BOTTOM: 12px; WIDTH: 100%; COLOR: #ffffff; PADDING-TOP: 12px; =
BACKGROUND-REPEAT: repeat-x
}
#footer .text P {
	MARGIN: 0px
}
#footer .text A {
	FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none
}
#footer .text A:hover {
	TEXT-DECORATION: underline
}
.clearing {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; LINE-HEIGHT: 0; PADDING-TOP: 0px; HEIGHT: 0px
}
* HTML .clearing {
	DISPLAY: inline
}
.searchfilter H2 {
	FONT-SIZE: 110%; TEXT-TRANSFORM: uppercase; COLOR: black
}
.searchfilter H2 .clearfilter {
	PADDING-LEFT: 10px; FONT-SIZE: 80%
}
.searchfilter .content .links .activeCategoryHighlight A {
	FONT-WEIGHT: bold
}
.searchfilter .activeCategoryHighlight {
	FONT-WEIGHT: bold
}
.searchfilter .content .links LI.activeCategoryHighlight {
	BACKGROUND-IMAGE: url(../images/home-latestnews-bullet.gif)
}
.searchfilter .content .links LI A {
	FONT-WEIGHT: normal
}
.searchfilter .content .links LI {
	BACKGROUND-IMAGE: url(../images/home-sponserlinks-bullet.gif)
}
.searchfilter UL LI A {
	MARGIN-RIGHT: 7px
}
.searchresults .item-imgright B {
	BACKGROUND-COLOR: yellow
}
#col-mid .ad {
	MARGIN-TOP: 10px; PADDING-TOP: 10px
}
.artCaption {
	FONT-STYLE: italic
}

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/Scripts/dhtml.js

navHover =3D function() {=0A=
	if (document.getElementById("related_tools") !=3D null)=0A=
	{=0A=
	    var lis =3D =
document.getElementById("related_tools").getElementsByTagName("LI");=0A=
	    for (var i=3D0; i<lis.length; i++) {=0A=
		    lis[i].onmouseover=3Dfunction() {=0A=
			    this.className+=3D" iehover";=0A=
		    }=0A=
		    lis[i].onmouseout=3Dfunction() {=0A=
			    this.className=3Dthis.className.replace(new RegExp(" =
iehover\\b"), "");=0A=
		    }=0A=
	    }=0A=
	}=0A=
}=0A=
window.onload =3D navHover;
------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/WebResource.axd?d=i1rM4KKuSynl72SBnGgfzA2&t=632943654197453955

function WebForm_PostBackOptions(eventTarget, eventArgument, validation, =
validationGroup, actionUrl, trackFocus, clientSubmit) {
    this.eventTarget =3D eventTarget;
    this.eventArgument =3D eventArgument;
    this.validation =3D validation;
    this.validationGroup =3D validationGroup;
    this.actionUrl =3D actionUrl;
    this.trackFocus =3D trackFocus;
    this.clientSubmit =3D clientSubmit;
}
function WebForm_DoPostBackWithOptions(options) {
    var validationResult =3D true;
    if (options.validation) {
        if (typeof(Page_ClientValidate) =3D=3D 'function') {
            validationResult =3D =
Page_ClientValidate(options.validationGroup);
        }
    }
    if (validationResult) {
        if ((typeof(options.actionUrl) !=3D "undefined") && =
(options.actionUrl !=3D null) && (options.actionUrl.length > 0)) {
            theForm.action =3D options.actionUrl;
        }
        if (options.trackFocus) {
            var lastFocus =3D theForm.elements["__LASTFOCUS"];
            if ((typeof(lastFocus) !=3D "undefined") && (lastFocus !=3D =
null)) {
                if (typeof(document.activeElement) =3D=3D "undefined") {
                    lastFocus.value =3D options.eventTarget;
                }
                else {
                    var active =3D document.activeElement;
                    if ((typeof(active) !=3D "undefined") && (active =
!=3D null)) {
                        if ((typeof(active.id) !=3D "undefined") && =
(active.id !=3D null) && (active.id.length > 0)) {
                            lastFocus.value =3D active.id;
                        }
                        else if (typeof(active.name) !=3D "undefined") {
                            lastFocus.value =3D active.name;
                        }
                    }
                }
            }
        }
    }
    if (options.clientSubmit) {
        __doPostBack(options.eventTarget, options.eventArgument);
    }
}
var __pendingCallbacks =3D new Array();
var __synchronousCallBackIndex =3D -1;
function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, =
context, errorCallback, useAsync) {
    var postData =3D __theFormPostData +
                "__CALLBACKID=3D" + WebForm_EncodeCallback(eventTarget) =
+
                "&__CALLBACKPARAM=3D" + =
WebForm_EncodeCallback(eventArgument);
    if (theForm["__EVENTVALIDATION"]) {
        postData +=3D "&__EVENTVALIDATION=3D" + =
WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
    }
    var xmlRequest,e;
    try {
        xmlRequest =3D new XMLHttpRequest();
    }
    catch(e) {
        try {
            xmlRequest =3D new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        }
    }
    var setRequestHeaderMethodExists =3D true;
    try {
        setRequestHeaderMethodExists =3D (xmlRequest && =
xmlRequest.setRequestHeader);
    }
    catch(e) {}
    var callback =3D new Object();
    callback.eventCallback =3D eventCallback;
    callback.context =3D context;
    callback.errorCallback =3D errorCallback;
    callback.async =3D useAsync;
    var callbackIndex =3D =
WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
    if (!useAsync) {
        if (__synchronousCallBackIndex !=3D -1) {
            __pendingCallbacks[__synchronousCallBackIndex] =3D null;
        }
        __synchronousCallBackIndex =3D callbackIndex;
    }
    if (setRequestHeaderMethodExists) {
        xmlRequest.onreadystatechange =3D WebForm_CallbackComplete;
        callback.xmlRequest =3D xmlRequest;
        xmlRequest.open("POST", theForm.action, true);
        xmlRequest.setRequestHeader("Content-Type", =
"application/x-www-form-urlencoded");
        xmlRequest.send(postData);
        return;
    }
    callback.xmlRequest =3D new Object();
    var callbackFrameID =3D "__CALLBACKFRAME" + callbackIndex;
    var xmlRequestFrame =3D document.frames[callbackFrameID];
    if (!xmlRequestFrame) {
        xmlRequestFrame =3D document.createElement("IFRAME");
        xmlRequestFrame.width =3D "1";
        xmlRequestFrame.height =3D "1";
        xmlRequestFrame.frameBorder =3D "0";
        xmlRequestFrame.id =3D callbackFrameID;
        xmlRequestFrame.name =3D callbackFrameID;
        xmlRequestFrame.style.position =3D "absolute";
        xmlRequestFrame.style.top =3D "-100px"
        xmlRequestFrame.style.left =3D "-100px";
        try {
            if (callBackFrameUrl) {
                xmlRequestFrame.src =3D callBackFrameUrl;
            }
        }
        catch(e) {}
        document.body.appendChild(xmlRequestFrame);
    }
    var interval =3D window.setInterval(function() {
        xmlRequestFrame =3D document.frames[callbackFrameID];
        if (xmlRequestFrame && xmlRequestFrame.document) {
            window.clearInterval(interval);
            xmlRequestFrame.document.write("");
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.write('<html><body><form =
method=3D"post"><input type=3D"hidden" name=3D"__CALLBACKLOADSCRIPT" =
value=3D"t"></form></body></html>');
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.forms[0].action =3D theForm.action;
            var count =3D __theFormPostCollection.length;
            var element;
            for (var i =3D 0; i < count; i++) {
                element =3D __theFormPostCollection[i];
                if (element) {
                    var fieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                    fieldElement.type =3D "hidden";
                    fieldElement.name =3D element.name;
                    fieldElement.value =3D element.value;
                    =
xmlRequestFrame.document.forms[0].appendChild(fieldElement);
                }
            }
            var callbackIdFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIdFieldElement.type =3D "hidden";
            callbackIdFieldElement.name =3D "__CALLBACKID";
            callbackIdFieldElement.value =3D eventTarget;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
            var callbackParamFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackParamFieldElement.type =3D "hidden";
            callbackParamFieldElement.name =3D "__CALLBACKPARAM";
            callbackParamFieldElement.value =3D eventArgument;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);=

            if (theForm["__EVENTVALIDATION"]) {
                var callbackValidationFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                callbackValidationFieldElement.type =3D "hidden";
                callbackValidationFieldElement.name =3D =
"__EVENTVALIDATION";
                callbackValidationFieldElement.value =3D =
theForm["__EVENTVALIDATION"].value;
                =
xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElem=
ent);
            }
            var callbackIndexFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIndexFieldElement.type =3D "hidden";
            callbackIndexFieldElement.name =3D "__CALLBACKINDEX";
            callbackIndexFieldElement.value =3D callbackIndex;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);=

            xmlRequestFrame.document.forms[0].submit();
        }
    }, 10);
}
function WebForm_CallbackComplete() {
    for (i =3D 0; i < __pendingCallbacks.length; i++) {
        callbackObject =3D __pendingCallbacks[i];
        if (callbackObject && callbackObject.xmlRequest && =
(callbackObject.xmlRequest.readyState =3D=3D 4)) {
            WebForm_ExecuteCallback(callbackObject);
            if (!__pendingCallbacks[i].async) {
                __synchronousCallBackIndex =3D -1;
            }
            __pendingCallbacks[i] =3D null;
            var callbackFrameID =3D "__CALLBACKFRAME" + i;
            var xmlRequestFrame =3D =
document.getElementById(callbackFrameID);
            if (xmlRequestFrame) {
                xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
            }
        }
    }
}
function WebForm_ExecuteCallback(callbackObject) {
    var response =3D callbackObject.xmlRequest.responseText;
    if (response.charAt(0) =3D=3D "s") {
        if ((typeof(callbackObject.eventCallback) !=3D "undefined") && =
(callbackObject.eventCallback !=3D null)) {
            callbackObject.eventCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else if (response.charAt(0) =3D=3D "e") {
        if ((typeof(callbackObject.errorCallback) !=3D "undefined") && =
(callbackObject.errorCallback !=3D null)) {
            callbackObject.errorCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else {
        var separatorIndex =3D response.indexOf("|");
        if (separatorIndex !=3D -1) {
            var validationFieldLength =3D parseInt(response.substring(0, =
separatorIndex));
            if (!isNaN(validationFieldLength)) {
                var validationField =3D =
response.substring(separatorIndex + 1, separatorIndex + =
validationFieldLength + 1);
                if (validationField !=3D "") {
                    var validationFieldElement =3D =
theForm["__EVENTVALIDATION"];
                    if (!validationFieldElement) {
                        validationFieldElement =3D =
document.createElement("INPUT");
                        validationFieldElement.type =3D "hidden";
                        validationFieldElement.name =3D =
"__EVENTVALIDATION";
                        theForm.appendChild(validationFieldElement);
                    }
                    validationFieldElement.value =3D validationField;
                }
                if ((typeof(callbackObject.eventCallback) !=3D =
"undefined") && (callbackObject.eventCallback !=3D null)) {
                    =
callbackObject.eventCallback(response.substring(separatorIndex + =
validationFieldLength + 1), callbackObject.context);
                }
            }
        }
    }
}
function WebForm_FillFirstAvailableSlot(array, element) {
    var i;
    for (i =3D 0; i < array.length; i++) {
        if (!array[i]) break;
    }
    array[i] =3D element;
    return i;
}
var __nonMSDOMBrowser =3D =
(window.navigator.appName.toLowerCase().indexOf('explorer') =3D=3D -1);
var __theFormPostData =3D "";
var __theFormPostCollection =3D new Array();
function WebForm_InitCallback() {
    var count =3D theForm.elements.length;
    var element;
    for (var i =3D 0; i < count; i++) {
        element =3D theForm.elements[i];
        var tagName =3D element.tagName.toLowerCase();
        if (tagName =3D=3D "input") {
            var type =3D element.type;
            if ((type =3D=3D "text" || type =3D=3D "hidden" || type =
=3D=3D "password" ||
                ((type =3D=3D "checkbox" || type =3D=3D "radio") && =
element.checked)) &&
                (element.id !=3D "__EVENTVALIDATION")) {
                WebForm_InitCallbackAddField(element.name, =
element.value);
            }
        }
        else if (tagName =3D=3D "select") {
            var selectCount =3D element.options.length;
            for (var j =3D 0; j < selectCount; j++) {
                var selectChild =3D element.options[j];
                if (selectChild.selected =3D=3D true) {
                    WebForm_InitCallbackAddField(element.name, =
element.value);
                }
            }
        }
        else if (tagName =3D=3D "textarea") {
            WebForm_InitCallbackAddField(element.name, element.value);
        }
    }
}
function WebForm_InitCallbackAddField(name, value) {
    var nameValue =3D new Object();
    nameValue.name =3D name;
    nameValue.value =3D value;
    __theFormPostCollection[__theFormPostCollection.length] =3D =
nameValue;
    __theFormPostData +=3D name + "=3D" + WebForm_EncodeCallback(value) =
+ "&";
}
function WebForm_EncodeCallback(parameter) {
    if (encodeURIComponent) {
        return encodeURIComponent(parameter);
    }
    else {
        return escape(parameter);
    }
}
var __disabledControlArray =3D new Array();
function WebForm_ReEnableControls() {
    if (typeof(__enabledControlArray) =3D=3D 'undefined') {
        return false;
    }
    var disabledIndex =3D 0;
    for (var i =3D 0; i < __enabledControlArray.length; i++) {
        var c;
        if (__nonMSDOMBrowser) {
            c =3D document.getElementById(__enabledControlArray[i]);
        }
        else {
            c =3D document.all[__enabledControlArray[i]];
        }
        if ((typeof(c) !=3D "undefined") && (c !=3D null) && (c.disabled =
=3D=3D true)) {
            c.disabled =3D false;
            __disabledControlArray[disabledIndex++] =3D c;
        }
    }
    setTimeout("WebForm_ReDisableControls()", 0);
    return true;
}
function WebForm_ReDisableControls() {
    for (var i =3D 0; i < __disabledControlArray.length; i++) {
        __disabledControlArray[i].disabled =3D true;
    }
}
var __defaultFired =3D false;
function WebForm_FireDefaultButton(event, target) {
    if (!__defaultFired && event.keyCode =3D=3D 13 && !(event.srcElement =
&& (event.srcElement.tagName.toLowerCase() =3D=3D "textarea"))) {
        var defaultButton;
        if (__nonMSDOMBrowser) {
            defaultButton =3D document.getElementById(target);
        }
        else {
            defaultButton =3D document.all[target];
        }
        if (defaultButton && typeof(defaultButton.click) !=3D =
"undefined") {
            __defaultFired =3D true;
            defaultButton.click();
            event.cancelBubble =3D true;
            if (event.stopPropagation) event.stopPropagation();
            return false;
        }
    }
    return true;
}
function WebForm_GetScrollX() {
    if (__nonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
function WebForm_GetScrollY() {
    if (__nonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
function WebForm_SaveScrollPositionSubmit() {
    if (__nonMSDOMBrowser) {
        theForm.elements['__SCROLLPOSITIONY'].value =3D =
window.pageYOffset;
        theForm.elements['__SCROLLPOSITIONX'].value =3D =
window.pageXOffset;
    }
    else {
        theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
        theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    }
    if ((typeof(this.oldSubmit) !=3D "undefined") && (this.oldSubmit =
!=3D null)) {
        return this.oldSubmit();
    }
    return true;
}
function WebForm_SaveScrollPositionOnSubmit() {
    theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
    theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    if ((typeof(this.oldOnSubmit) !=3D "undefined") && (this.oldOnSubmit =
!=3D null)) {
        return this.oldOnSubmit();
    }
    return true;
}
function WebForm_RestoreScrollPosition() {
    if (__nonMSDOMBrowser) {
        window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, =
theForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
        window.scrollTo(theForm.__SCROLLPOSITIONX.value, =
theForm.__SCROLLPOSITIONY.value);
    }
    if ((typeof(theForm.oldOnLoad) !=3D "undefined") && =
(theForm.oldOnLoad !=3D null)) {
        return theForm.oldOnLoad();
    }
    return true;
}
function WebForm_TextBoxKeyHandler(event) {
    if (event.keyCode =3D=3D 13) {
        var target;
        if (__nonMSDOMBrowser) {
            target =3D event.target;
        }
        else {
            target =3D event.srcElement;
        }
        if ((typeof(target) !=3D "undefined") && (target !=3D null)) {
            if (typeof(target.onchange) !=3D "undefined") {
                target.onchange();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_AppendToClassName(element, className) {
    var current =3D element.className;
    if (current) {
        if (current.charAt(current.length - 1) !=3D ' ') {
            current +=3D ' ';
        }
        current +=3D className;
    }
    else {
        current =3D className;
    }
    element.className =3D current;
}
function WebForm_RemoveClassName(element, className) {
    var current =3D element.className;
    if (current) {
        if (current.substring(current.length - className.length - 1, =
current.length) =3D=3D ' ' + className) {
            element.className =3D current.substring(0, current.length - =
className.length - 1);
            return;
        }
        if (current =3D=3D className) {
            element.className =3D "";
            return;
        }
        var index =3D current.indexOf(' ' + className + ' ');
        if (index !=3D -1) {
            element.className =3D current.substring(0, index) + =
current.substring(index + className.length + 2, current.length);
            return;
        }
        if (current.substring(0, className.length) =3D=3D className + ' =
') {
            element.className =3D current.substring(className.length + =
1, current.length);
        }
    }
}
function WebForm_GetElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    }
    else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}
function WebForm_GetElementByTagName(element, tagName) {
    var elements =3D WebForm_GetElementsByTagName(element, tagName);
    if (elements && elements.length > 0) {
        return elements[0];
    }
    else return null;
}
function WebForm_GetElementsByTagName(element, tagName) {
    if (element && tagName) {
        if (element.getElementsByTagName) {
            return element.getElementsByTagName(tagName);
        }
        if (element.all && element.all.tags) {
            return element.all.tags(tagName);
        }
    }
    return null;
}
function WebForm_GetElementDir(element) {
    if (element) {
        if (element.dir) {
            return element.dir;
        }
        return WebForm_GetElementDir(element.parentNode);
    }
    return "ltr";
}
function WebForm_GetElementPosition(element) {
    var result =3D new Object();
    result.x =3D 0;
    result.y =3D 0;
    result.width =3D 0;
    result.height =3D 0;
    if (element.offsetParent) {
        result.x =3D element.offsetLeft;
        result.y =3D element.offsetTop;
        var parent =3D element.offsetParent;
        while (parent) {
            result.x +=3D parent.offsetLeft;
            result.y +=3D parent.offsetTop;
            var parentTagName =3D parent.tagName.toLowerCase();
            if (parentTagName !=3D "table" &&
                parentTagName !=3D "body" &&=20
                parentTagName !=3D "html" &&=20
                parentTagName !=3D "div" &&=20
                parent.clientTop &&=20
                parent.clientLeft) {
                result.x +=3D parent.clientLeft;
                result.y +=3D parent.clientTop;
            }
            parent =3D parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x =3D element.left;
        result.y =3D element.top;
    }
    else {
        if (element.x) {
            result.x =3D element.x;
        }
        if (element.y) {
            result.y =3D element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width =3D element.offsetWidth;
        result.height =3D element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && =
element.style.pixelHeight) {
        result.width =3D element.style.pixelWidth;
        result.height =3D element.style.pixelHeight;
    }
    return result;
}
function WebForm_GetParentByTagName(element, tagName) {
    var parent =3D element.parentNode;
    var upperTagName =3D tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() !=3D upperTagName)) {
        parent =3D parent.parentNode ? parent.parentNode : =
parent.parentElement;
    }
    return parent;
}
function WebForm_SetElementHeight(element, height) {
    if (element && element.style) {
        element.style.height =3D height + "px";
    }
}
function WebForm_SetElementWidth(element, width) {
    if (element && element.style) {
        element.style.width =3D width + "px";
    }
}
function WebForm_SetElementX(element, x) {
    if (element && element.style) {
        element.style.left =3D x + "px";
    }
}
function WebForm_SetElementY(element, y) {
    if (element && element.style) {
        element.style.top =3D y + "px";
    }
}

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/WebResource.axd?d=s5ks9t68TsNRDRMSobfci2sNlVK9YuHZFnh8NBYER4y9fGqGhnhhziO3BuGQuxgKOKJCR7JFEZ-q09inWKqqFg2&t=633306373130000000

function CanHaveClass__CssFriendlyAdapters(element)
{
    return ((element !=3D null) && (element.className !=3D null));
}

function HasAnyClass__CssFriendlyAdapters(element)
{
    return (CanHaveClass__CssFriendlyAdapters(element) && =
(element.className.length > 0));
}

function HasClass__CssFriendlyAdapters(element, specificClass)
{
    return (HasAnyClass__CssFriendlyAdapters(element) && =
(element.className.indexOf(specificClass) > -1));
}

function AddClass__CssFriendlyAdapters(element, classToAdd)
{
    if (HasAnyClass__CssFriendlyAdapters(element))
    {
        if (!HasClass__CssFriendlyAdapters(element, classToAdd))
        {
            element.className =3D element.className + " " + classToAdd;
        }
    }
    else if (CanHaveClass__CssFriendlyAdapters(element))
    {
        element.className =3D classToAdd;
    }
}

function AddClassUpward__CssFriendlyAdapters(startElement, =
stopParentClass, classToAdd)
{
    var elementOrParent =3D startElement;
    while ((elementOrParent !=3D null) && =
(!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass)))
    {
        AddClass__CssFriendlyAdapters(elementOrParent, classToAdd);
        elementOrParent =3D elementOrParent.parentNode;
    }   =20
}

function SwapClass__CssFriendlyAdapters(element, oldClass, newClass)
{
    if (HasAnyClass__CssFriendlyAdapters(element))
    {
        element.className =3D element.className.replace(new =
RegExp(oldClass, "gi"), newClass);
    }
}

function SwapOrAddClass__CssFriendlyAdapters(element, oldClass, =
newClass)
{
    if (HasClass__CssFriendlyAdapters(element, oldClass))
    {
        SwapClass__CssFriendlyAdapters(element, oldClass, newClass);
    }
    else
    {
        AddClass__CssFriendlyAdapters(element, newClass);
    }
}

function RemoveClass__CssFriendlyAdapters(element, classToRemove)
{
    SwapClass__CssFriendlyAdapters(element, classToRemove, "");
}

function RemoveClassUpward__CssFriendlyAdapters(startElement, =
stopParentClass, classToRemove)
{
    var elementOrParent =3D startElement;
    while ((elementOrParent !=3D null) && =
(!HasClass__CssFriendlyAdapters(elementOrParent, topmostClass)))
    {
        RemoveClass__CssFriendlyAdapters(elementOrParent, =
classToRemove);
        elementOrParent =3D elementOrParent.parentNode;
    }   =20
}

function IsEnterKey()
{
    var retVal =3D false;
    var keycode =3D 0;
    if ((typeof(window.event) !=3D "undefined") && (window.event !=3D =
null))
    {
        keycode =3D window.event.keyCode;
    }
    else if ((typeof(e) !=3D "undefined") && (e !=3D null))
    {
        keycode =3D e.which;
    }
    if (keycode =3D=3D 13)
    {
        retVal =3D true;
    }
    return retVal;
}

/* Derived from http://simonwillison.net/2004/May/26/addLoadEvent/ */
function addLoadEvent( func )=20
{
	var oldonload =3D window.onload;
=09
	if ( typeof window.onload !=3D 'function' )=20
	{
		window.onload =3D func;
	}
	else
	{
		window.onload =3D function() {
			if (oldonload) { oldonload(); }
			func();
		}
	}
}

------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/Scripts/SoushItnewsMarketPlace.js

=EF=BB=BF// JScript File

try {if (ga) {}} catch(e) {as=3D0; ga=3D0; gn=3D0;}

function get_ads() {
ad_config =3D '2144386754';
ad_client =3D 'itnews';
ad_testmode =3D '0';
url =3D document.location.href;url =3D url.replace(/\?.+/, "");
def_kw =3D 'notebook computer,computer hardware,computer,laptop,game';
try { if (ad_keywords =3D=3D '') { ad_keywords =3D def_kw; }} catch(e) { =
ad_keywords =3D def_kw; }
document.write('<script language=3D"JavaScript" =
src=3D"http://ads.soush.com/d/getadsctxt.php?f=3D'+ad_config+'&c=3D'+ad_c=
lient+'&k=3D'+ad_keywords+'&t=3D'+ad_testmode+'&u=3D'+url+'"></scr'+'ipt>=
');
return;
}

function get_ads_done(ads) { ga =3D ads.length; if (ga>0) { =
display_ads(gn); } return; }

function show_ads(na) {
gn =3D na;
if (ga =3D=3D 0) { get_ads(); }
else { display_ads(gn); }
}

function display_ads(na)
{
if (as >=3D ga) { as =3D 0; }
    ae =3D as + na;

if (ae > ga) { ae =3D ga; }
    html=3D'<table cellpadding=3D"0" cellspacing=3D"0" border=3D"0" =
width=3D"100%" >';
   =20
for (i=3Das; i<ae; i++)=20
{
    html+=3D
    '<tr><td><ul><li>' +
    '<a class=3D"sponsored-link" href=3D"' + ads[i].url + '" =
onmouseout=3D"window.status=3D\' \'; return true;" =
onmouseover=3D"window.status=3D\'go to ' + ads[i].visible_url + '\'; =
return true;" target=3D"_blank">' +
    '<b>' + ads[i].title + '</b><br />' +
    '<div style=3D"color:#000;font-size:11px;">' + ads[i].description + =
'</div>' +
    '<div style=3D"color:#666;font-size:11px;">' + ads[i].visible_url + =
'</div>' +=20
    '</a></li></ul></td></tr>';
}

html +=3D '</table>';

document.write(html);
as =3D ae;
return;
}
------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/ScriptResource.axd?d=Hldmj3GwU3VRJaiaGC9l-2BtuxGN8sGSePD4ewsVfd6SlnaqswlPpSmXjZUo2ftcOILmhJazYsi-cdZJHijOy53ioUbBpPyWHPgVvJ_xNmI1&t=633196817341848165

=EF=BB=BF//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjax.js
Function.__typeName=3D"Function";Function.__class=3Dtrue;Function.createC=
allback=3Dfunction(b,a){return function(){var =
e=3Darguments.length;if(e>0){var d=3D[];for(var =
c=3D0;c<e;c++)d[c]=3Darguments[c];d[e]=3Da;return b.apply(this,d)}return =
b.call(this,a)}};Function.createDelegate=3Dfunction(a,b){return =
function(){return =
b.apply(a,arguments)}};Function.emptyFunction=3DFunction.emptyMethod=3Dfu=
nction(){};Function._validateParams=3Dfunction(e,c){var =
a;a=3DFunction._validateParameterCount(e,c);if(a){a.popStackFrame();retur=
n a}for(var b=3D0;b<e.length;b++){var =
d=3Dc[Math.min(b,c.length-1)],f=3Dd.name;if(d.parameterArray)f+=3D"["+(b-=
c.length+1)+"]";a=3DFunction._validateParameter(e[b],d,f);if(a){a.popStac=
kFrame();return a}}return =
null};Function._validateParameterCount=3Dfunction(e,a){var =
c=3Da.length,d=3D0;for(var =
b=3D0;b<a.length;b++)if(a[b].parameterArray)c=3DNumber.MAX_VALUE;else =
if(!a[b].optional)d++;if(e.length<d||e.length>c){var =
f=3DError.parameterCount();f.popStackFrame();return f}return =
null};Function._validateParameter=3Dfunction(c,a,h){var =
b,g=3Da.type,l=3D!!a.integer,k=3D!!a.domElement,m=3D!!a.mayBeNull;b=3DFun=
ction._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return =
b}var =
e=3Da.elementType,f=3D!!a.elementMayBeNull;if(g=3D=3D=3DArray&&typeof =
c!=3D=3D"undefined"&&c!=3D=3Dnull&&(e||!f)){var =
j=3D!!a.elementInteger,i=3D!!a.elementDomElement;for(var =
d=3D0;d<c.length;d++){var =
n=3Dc[d];b=3DFunction._validateParameterType(n,e,j,i,f,h+"["+d+"]");if(b)=
{b.popStackFrame();return b}}}return =
null};Function._validateParameterType=3Dfunction(b,c,k,j,h,d){var =
a;if(typeof b=3D=3D=3D"undefined")if(h)return =
null;else{a=3DError.argumentUndefined(d);a.popStackFrame();return =
a}if(b=3D=3D=3Dnull)if(h)return =
null;else{a=3DError.argumentNull(d);a.popStackFrame();return =
a}if(c&&c.__enum){if(typeof =
b!=3D=3D"number"){a=3DError.argumentType(d,Object.getType(b),c);a.popStac=
kFrame();return a}if(b%1=3D=3D=3D0){var =
e=3Dc.prototype;if(!c.__flags||b=3D=3D=3D0){for(var g in =
e)if(e[g]=3D=3D=3Db)return null}else{var i=3Db;for(var g in e){var =
f=3De[g];if(f=3D=3D=3D0)continue;if((f&b)=3D=3D=3Df)i-=3Df;if(i=3D=3D=3D0=
)return =
null}}}a=3DError.argumentOutOfRange(d,b,String.format(Sys.Res.enumInvalid=
Value,b,c.getName()));a.popStackFrame();return =
a}if(j&&b!=3D=3Dwindow&&b!=3D=3Ddocument&&!(window.HTMLElement&&b =
instanceof HTMLElement)&&typeof =
b.nodeName!=3D=3D"string"){a=3DError.argument(d,Sys.Res.argumentDomElemen=
t);a.popStackFrame();return =
a}if(c&&!c.isInstanceOfType(b)){a=3DError.argumentType(d,Object.getType(b=
),c);a.popStackFrame();return =
a}if(c=3D=3D=3DNumber&&k)if(b%1!=3D=3D0){a=3DError.argumentOutOfRange(d,b=
,Sys.Res.argumentInteger);a.popStackFrame();return a}return =
null};Error.__typeName=3D"Error";Error.__class=3Dtrue;Error.create=3Dfunc=
tion(d,b){var a=3Dnew Error(d);a.message=3Dd;if(b)for(var c in =
b)a[c]=3Db[c];a.popStackFrame();return =
a};Error.argument=3Dfunction(a,c){var b=3D"Sys.ArgumentException: =
"+(c?c:Sys.Res.argument);if(a)b+=3D"\n"+String.format(Sys.Res.paramName,a=
);var =
d=3DError.create(b,{name:"Sys.ArgumentException",paramName:a});d.popStack=
Frame();return d};Error.argumentNull=3Dfunction(a,c){var =
b=3D"Sys.ArgumentNullException: =
"+(c?c:Sys.Res.argumentNull);if(a)b+=3D"\n"+String.format(Sys.Res.paramNa=
me,a);var =
d=3DError.create(b,{name:"Sys.ArgumentNullException",paramName:a});d.popS=
tackFrame();return d};Error.argumentOutOfRange=3Dfunction(c,a,d){var =
b=3D"Sys.ArgumentOutOfRangeException: =
"+(d?d:Sys.Res.argumentOutOfRange);if(c)b+=3D"\n"+String.format(Sys.Res.p=
aramName,c);if(typeof =
a!=3D=3D"undefined"&&a!=3D=3Dnull)b+=3D"\n"+String.format(Sys.Res.actualV=
alue,a);var =
e=3DError.create(b,{name:"Sys.ArgumentOutOfRangeException",paramName:c,ac=
tualValue:a});e.popStackFrame();return =
e};Error.argumentType=3Dfunction(d,c,b,e){var =
a=3D"Sys.ArgumentTypeException: ";if(e)a+=3De;else =
if(c&&b)a+=3DString.format(Sys.Res.argumentTypeWithTypes,c.getName(),b.ge=
tName());else =
a+=3DSys.Res.argumentType;if(d)a+=3D"\n"+String.format(Sys.Res.paramName,=
d);var =
f=3DError.create(a,{name:"Sys.ArgumentTypeException",paramName:d,actualTy=
pe:c,expectedType:b});f.popStackFrame();return =
f};Error.argumentUndefined=3Dfunction(a,c){var =
b=3D"Sys.ArgumentUndefinedException: =
"+(c?c:Sys.Res.argumentUndefined);if(a)b+=3D"\n"+String.format(Sys.Res.pa=
ramName,a);var =
d=3DError.create(b,{name:"Sys.ArgumentUndefinedException",paramName:a});d=
.popStackFrame();return d};Error.format=3Dfunction(a){var =
c=3D"Sys.FormatException: =
"+(a?a:Sys.Res.format),b=3DError.create(c,{name:"Sys.FormatException"});b=
.popStackFrame();return b};Error.invalidOperation=3Dfunction(a){var =
c=3D"Sys.InvalidOperationException: =
"+(a?a:Sys.Res.invalidOperation),b=3DError.create(c,{name:"Sys.InvalidOpe=
rationException"});b.popStackFrame();return =
b};Error.notImplemented=3Dfunction(a){var =
c=3D"Sys.NotImplementedException: =
"+(a?a:Sys.Res.notImplemented),b=3DError.create(c,{name:"Sys.NotImplement=
edException"});b.popStackFrame();return =
b};Error.parameterCount=3Dfunction(a){var =
c=3D"Sys.ParameterCountException: =
"+(a?a:Sys.Res.parameterCount),b=3DError.create(c,{name:"Sys.ParameterCou=
ntException"});b.popStackFrame();return =
b};Error.prototype.popStackFrame=3Dfunction(){if(typeof =
this.stack=3D=3D=3D"undefined"||this.stack=3D=3D=3Dnull||typeof =
this.fileName=3D=3D=3D"undefined"||this.fileName=3D=3D=3Dnull||typeof =
this.lineNumber=3D=3D=3D"undefined"||this.lineNumber=3D=3D=3Dnull)return;=
var =
a=3Dthis.stack.split("\n"),c=3Da[0],e=3Dthis.fileName+":"+this.lineNumber=
;while(typeof =
c!=3D=3D"undefined"&&c!=3D=3Dnull&&c.indexOf(e)=3D=3D=3D-1){a.shift();c=3D=
a[0]}var d=3Da[1];if(typeof =
d=3D=3D=3D"undefined"||d=3D=3D=3Dnull)return;var =
b=3Dd.match(/@(.*):(\d+)$/);if(typeof =
b=3D=3D=3D"undefined"||b=3D=3D=3Dnull)return;this.fileName=3Db[1];this.li=
neNumber=3DparseInt(b[2]);a.shift();this.stack=3Da.join("\n")};if(!window=
)this.window=3Dthis;window.Type=3DFunction;window.__rootNamespaces=3D[];w=
indow.__registeredTypes=3D{};Type.prototype.callBaseMethod=3Dfunction(a,d=
,b){var c=3Dthis.getBaseMethod(a,d);if(!b)return c.apply(a);else return =
c.apply(a,b)};Type.prototype.getBaseMethod=3Dfunction(d,c){var =
b=3Dthis.getBaseType();if(b){var a=3Db.prototype[c];return a instanceof =
Function?a:null}return =
null};Type.prototype.getBaseType=3Dfunction(){return typeof =
this.__baseType=3D=3D=3D"undefined"?null:this.__baseType};Type.prototype.=
getInterfaces=3Dfunction(){var a=3D[],b=3Dthis;while(b){var =
c=3Db.__interfaces;if(c)for(var d=3D0,f=3Dc.length;d<f;d++){var =
e=3Dc[d];if(!Array.contains(a,e))a[a.length]=3De}b=3Db.__baseType}return =
a};Type.prototype.getName=3Dfunction(){return typeof =
this.__typeName=3D=3D=3D"undefined"?"":this.__typeName};Type.prototype.im=
plementsInterface=3Dfunction(d){this.resolveInheritance();var =
c=3Dd.getName(),a=3Dthis.__interfaceCache;if(a){var e=3Da[c];if(typeof =
e!=3D=3D"undefined")return e}else a=3Dthis.__interfaceCache=3D{};var =
b=3Dthis;while(b){var =
f=3Db.__interfaces;if(f)if(Array.indexOf(f,d)!=3D=3D-1)return =
a[c]=3Dtrue;b=3Db.__baseType}return =
a[c]=3Dfalse};Type.prototype.inheritsFrom=3Dfunction(b){this.resolveInher=
itance();var a=3Dthis.__baseType;while(a){if(a=3D=3D=3Db)return =
true;a=3Da.__baseType}return =
false};Type.prototype.initializeBase=3Dfunction(a,b){this.resolveInherita=
nce();if(this.__baseType)if(!b)this.__baseType.apply(a);else =
this.__baseType.apply(a,b);return =
a};Type.prototype.isImplementedBy=3Dfunction(a){if(typeof =
a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;var =
b=3DObject.getType(a);return =
!!(b.implementsInterface&&b.implementsInterface(this))};Type.prototype.is=
InstanceOfType=3Dfunction(b){if(typeof =
b=3D=3D=3D"undefined"||b=3D=3D=3Dnull)return false;if(b instanceof =
this)return true;var a=3DObject.getType(b);return =
!!(a=3D=3D=3Dthis)||a.inheritsFrom&&a.inheritsFrom(this)||a.implementsInt=
erface&&a.implementsInterface(this)};Type.prototype.registerClass=3Dfunct=
ion(c,b,d){this.prototype.constructor=3Dthis;this.__typeName=3Dc;this.__c=
lass=3Dtrue;if(b){this.__baseType=3Db;this.__basePrototypePending=3Dtrue}=
if(!window.__classes)window.__classes=3D{};window.__classes[c.toUpperCase=
()]=3Dthis;if(d){this.__interfaces=3D[];for(var =
a=3D2;a<arguments.length;a++){var =
e=3Darguments[a];this.__interfaces.push(e)}}return =
this};Type.prototype.registerInterface=3Dfunction(a){this.prototype.const=
ructor=3Dthis;this.__typeName=3Da;this.__interface=3Dtrue;return =
this};Type.prototype.resolveInheritance=3Dfunction(){if(this.__baseProtot=
ypePending){var b=3Dthis.__baseType;b.resolveInheritance();for(var a in =
b.prototype){var =
c=3Db.prototype[a];if(!this.prototype[a])this.prototype[a]=3Dc}delete =
this.__basePrototypePending}};Type.getRootNamespaces=3Dfunction(){return =
Array.clone(window.__rootNamespaces)};Type.isClass=3Dfunction(a){if(typeo=
f a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return =
!!a.__class};Type.isInterface=3Dfunction(a){if(typeof =
a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return =
!!a.__interface};Type.isNamespace=3Dfunction(a){if(typeof =
a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return =
!!a.__namespace};Type.parse=3Dfunction(typeName,ns){var =
fn;if(ns){if(!window.__classes)return =
null;fn=3Dwindow.__classes[ns.getName().toUpperCase()+"."+typeName.toUppe=
rCase()];return fn||null}if(!typeName)return =
null;if(!Type.__htClasses)Type.__htClasses=3D{};fn=3DType.__htClasses[typ=
eName];if(!fn){fn=3Deval(typeName);Type.__htClasses[typeName]=3Dfn}return=
 fn};Type.registerNamespace=3Dfunction(f){var =
d=3Dwindow,c=3Df.split(".");for(var b=3D0;b<c.length;b++){var =
e=3Dc[b],a=3Dd[e];if(!a){a=3Dd[e]=3D{};if(b=3D=3D=3D0)window.__rootNamesp=
aces[window.__rootNamespaces.length]=3Da;a.__namespace=3Dtrue;a.__typeNam=
e=3Dc.slice(0,b+1).join(".");a.getName=3Dfunction(){return =
this.__typeName}}d=3Da}};Object.__typeName=3D"Object";Object.__class=3Dtr=
ue;Object.getType=3Dfunction(b){var a=3Db.constructor;if(!a||typeof =
a!=3D=3D"function"||!a.__typeName||a.__typeName=3D=3D=3D"Object")return =
Object;return a};Object.getTypeName=3Dfunction(a){return =
Object.getType(a).getName()};Boolean.__typeName=3D"Boolean";Boolean.__cla=
ss=3Dtrue;Boolean.parse=3Dfunction(b){var =
a=3Db.trim().toLowerCase();if(a=3D=3D=3D"false")return =
false;if(a=3D=3D=3D"true")return =
true};Date.__typeName=3D"Date";Date.__class=3Dtrue;Date._appendPreOrPostM=
atch=3Dfunction(e,b){var d=3D0,a=3Dfalse;for(var =
c=3D0,g=3De.length;c<g;c++){var f=3De.charAt(c);switch(f){case =
"'":if(a)b.append("'");else d++;a=3Dfalse;break;case =
"\\":if(a)b.append("\\");a=3D!a;break;default:b.append(f);a=3Dfalse;break=
}}return =
d};Date._expandFormat=3Dfunction(a,b){if(!b)b=3D"F";if(b.length=3D=3D=3D1=
)switch(b){case "d":return a.ShortDatePattern;case "D":return =
a.LongDatePattern;case "t":return a.ShortTimePattern;case "T":return =
a.LongTimePattern;case "F":return a.FullDateTimePattern;case "M":case =
"m":return a.MonthDayPattern;case "s":return =
a.SortableDateTimePattern;case "Y":case "y":return =
a.YearMonthPattern;default:throw =
Error.format(Sys.Res.formatInvalidString)}return =
b};Date._expandYear=3Dfunction(c,a){if(a<100){var b=3D(new =
Date).getFullYear();a+=3Db-b%100;if(a>c.Calendar.TwoDigitYearMax)return =
a-100}return =
a};Date._getParseRegExp=3Dfunction(b,e){if(!b._parseRegExp)b._parseRegExp=
=3D{};else if(b._parseRegExp[e])return b._parseRegExp[e];var =
c=3DDate._expandFormat(b,e);c=3Dc.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])=
/g,"\\\\$1");var a=3Dnew =
Sys.StringBuilder("^"),j=3D[],f=3D0,i=3D0,h=3DDate._getTokenRegExp(),d;wh=
ile((d=3Dh.exec(c))!=3D=3Dnull){var =
l=3Dc.slice(f,d.index);f=3Dh.lastIndex;i+=3DDate._appendPreOrPostMatch(l,=
a);if(i%2=3D=3D=3D1){a.append(d[0]);continue}switch(d[0]){case =
"dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case =
"tt":case "t":a.append("(\\D*)");break;case =
"yyyy":a.append("(\\d{4})");break;case =
"fff":a.append("(\\d{3})");break;case =
"ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case =
"dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case =
"H":case "hh":case "h":case "mm":case "m":case "ss":case =
"s":a.append("(\\d\\d?)");break;case =
"zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case =
"z":a.append("([+-]?\\d\\d?)");break}Array.add(j,d[0])}Date._appendPreOrP=
ostMatch(c.slice(f),a);a.append("$");var =
k=3Da.toString().replace(/\s+/g,"\\s+"),g=3D{"regExp":k,"groups":j};b._pa=
rseRegExp[e]=3Dg;return g};Date._getTokenRegExp=3Dfunction(){return =
/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|=
zzz|zz|z/g};Date.parseLocale=3Dfunction(a){return =
Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvari=
ant=3Dfunction(a){return =
Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=3D=
function(g,c,h){var e=3Dfalse;for(var a=3D1,i=3Dh.length;a<i;a++){var =
f=3Dh[a];if(f){e=3Dtrue;var b=3DDate._parseExact(g,f,c);if(b)return =
b}}if(!e){var d=3Dc._getDateTimeFormats();for(var =
a=3D0,i=3Dd.length;a<i;a++){var =
b=3DDate._parseExact(g,d[a],c);if(b)return b}}return =
null};Date._parseExact=3Dfunction(s,y,j){s=3Ds.trim();var =
m=3Dj.dateTimeFormat,v=3DDate._getParseRegExp(m,y),x=3D(new =
RegExp(v.regExp)).exec(s);if(x!=3D=3Dnull){var =
w=3Dv.groups,f=3Dnull,c=3Dnull,h=3Dnull,g=3Dnull,d=3D0,n=3D0,o=3D0,e=3D0,=
k=3Dnull,r=3Dfalse;for(var p=3D0,z=3Dw.length;p<z;p++){var =
a=3Dx[p+1];if(a)switch(w[p]){case "dd":case =
"d":h=3DDate._parseInt(a);if(h<1||h>31)return null;break;case =
"MMMM":c=3Dj._getMonthIndex(a);if(c<0||c>11)return null;break;case =
"MMM":c=3Dj._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case =
"M":case "MM":var c=3DDate._parseInt(a)-1;if(c<0||c>11)return =
null;break;case "y":case =
"yy":f=3DDate._expandYear(m,Date._parseInt(a));if(f<0||f>9999)return =
null;break;case "yyyy":f=3DDate._parseInt(a);if(f<0||f>9999)return =
null;break;case "h":case =
"hh":d=3DDate._parseInt(a);if(d=3D=3D=3D12)d=3D0;if(d<0||d>11)return =
null;break;case "H":case "HH":d=3DDate._parseInt(a);if(d<0||d>23)return =
null;break;case "m":case "mm":n=3DDate._parseInt(a);if(n<0||n>59)return =
null;break;case "s":case "ss":o=3DDate._parseInt(a);if(o<0||o>59)return =
null;break;case "tt":case "t":var =
u=3Da.toUpperCase();r=3Du=3D=3D=3Dm.PMDesignator.toUpperCase();if(!r&&u!=3D=
=3Dm.AMDesignator.toUpperCase())return null;break;case =
"f":e=3DDate._parseInt(a)*100;if(e<0||e>999)return null;break;case =
"ff":e=3DDate._parseInt(a)*10;if(e<0||e>999)return null;break;case =
"fff":e=3DDate._parseInt(a);if(e<0||e>999)return null;break;case =
"dddd":g=3Dj._getDayIndex(a);if(g<0||g>6)return null;break;case =
"ddd":g=3Dj._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case =
"zzz":var q=3Da.split(/:/);if(q.length!=3D=3D2)return null;var =
i=3DDate._parseInt(q[0]);if(i<-12||i>13)return null;var =
l=3DDate._parseInt(q[1]);if(l<0||l>59)return =
null;k=3Di*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var =
i=3DDate._parseInt(a);if(i<-12||i>13)return null;k=3Di*60;break}}var =
b=3Dnew =
Date;if(f=3D=3D=3Dnull)f=3Db.getFullYear();if(c=3D=3D=3Dnull)c=3Db.getMon=
th();if(h=3D=3D=3Dnull)h=3Db.getDate();b.setFullYear(f,c,h);if(b.getDate(=
)!=3D=3Dh)return null;if(g!=3D=3Dnull&&b.getDay()!=3D=3Dg)return =
null;if(r&&d<12)d+=3D12;b.setHours(d,n,o,e);if(k!=3D=3Dnull){var =
t=3Db.getMinutes()-(k+b.getTimezoneOffset());b.setHours(b.getHours()+pars=
eInt(t/60),t%60)}return b}};Date._parseInt=3Dfunction(a){return =
parseInt(a.replace(/^[\s0]+(\d+)$/,"$1"))};Date.prototype.format=3Dfuncti=
on(a){return =
this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototy=
pe.localeFormat=3Dfunction(a){return =
this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype=
._toFormattedString=3Dfunction(e,h){if(!e||e.length=3D=3D=3D0||e=3D=3D=3D=
"i")if(h&&h.name.length>0)return this.toLocaleString();else return =
this.toString();var d=3Dh.dateTimeFormat;e=3DDate._expandFormat(d,e);var =
a=3Dnew Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return =
a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return =
"0"+a;return a.toString()}var =
j=3D0,i=3DDate._getTokenRegExp();for(;true;){var =
l=3Di.lastIndex,f=3Di.exec(e),k=3De.slice(l,f?f.index:e.length);j+=3DDate=
._appendPreOrPostMatch(k,a);if(!f)break;if(j%2=3D=3D=3D1){a.append(f[0]);=
continue}switch(f[0]){case =
"dddd":a.append(d.DayNames[this.getDay()]);break;case =
"ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case =
"dd":a.append(c(this.getDate()));break;case =
"d":a.append(this.getDate());break;case =
"MMMM":a.append(d.MonthNames[this.getMonth()]);break;case =
"MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case =
"MM":a.append(c(this.getMonth()+1));break;case =
"M":a.append(this.getMonth()+1);break;case =
"yyyy":a.append(this.getFullYear());break;case =
"yy":a.append(c(this.getFullYear()%100));break;case =
"y":a.append(this.getFullYear()%100);break;case =
"hh":b=3Dthis.getHours()%12;if(b=3D=3D=3D0)b=3D12;a.append(c(b));break;ca=
se =
"h":b=3Dthis.getHours()%12;if(b=3D=3D=3D0)b=3D12;a.append(b);break;case =
"HH":a.append(c(this.getHours()));break;case =
"H":a.append(this.getHours());break;case =
"mm":a.append(c(this.getMinutes()));break;case =
"m":a.append(this.getMinutes());break;case =
"ss":a.append(c(this.getSeconds()));break;case =
"s":a.append(this.getSeconds());break;case =
"tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;cas=
e =
"t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0)=
);break;case =
"f":a.append(g(this.getMilliseconds()).charAt(0));break;case =
"ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case =
"fff":a.append(g(this.getMilliseconds()));break;case =
"z":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+Math.floor(=
Math.abs(b)));break;case =
"zz":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+c(Math.flo=
or(Math.abs(b))));break;case =
"zzz":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+c(Math.fl=
oor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)=
));break}}return =
a.toString()};Number.__typeName=3D"Number";Number.__class=3Dtrue;Number.p=
arseLocale=3Dfunction(a){return =
Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=3D=
function(a){return =
Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=3Dfuncti=
on(g,f){var a=3Dg.trim();if(a.match(/infinity/i)!=3D=3Dnull)return =
parseFloat(a);if(a.match(/^0x[a-f0-9]+$/i)!=3D=3Dnull)return =
parseInt(a);var =
d=3Df.numberFormat,b=3Dd.NumberDecimalSeparator,c=3Dd.NumberGroupSeparato=
r,e=3Dnew =
RegExp("^[+-]?[\\d\\"+c+"]*\\"+b+"?\\d*([eE][+-]?\\d+)?$");if(!a.match(e)=
)return Number.NaN;a=3Da.split(c).join("");a=3Da.replace(b,".");return =
parseFloat(a)};Number.prototype.format=3Dfunction(a){return =
this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.proto=
type.localeFormat=3Dfunction(a){return =
this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototy=
pe._toFormattedString=3Dfunction(d,j){if(!d||d.length=3D=3D=3D0||d=3D=3D=3D=
"i")if(j&&j.name.length>0)return this.toLocaleString();else return =
this.toString();var q=3D["n %","n%","%n"],p=3D["-n =
%","-n%","-%n"],r=3D["(n)","-n","- n","n-","n -"],o=3D["$n","n$","$ =
n","n $"],n=3D["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n =
$","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function =
i(p,k,j,l,o){var =
e=3Dj[0],g=3D1,c=3Dp.toString(),a=3D"",m=3D"",i=3Dc.split(".");if(i.lengt=
h>1){c=3Di[0];a=3Di[1];var =
h=3Da.split(/e/i);if(h.length>1){a=3Dh[0];m=3D"e"+h[1]}}if(k>0){var =
f=3Da.length-k;if(f>0)a=3Da.slice(0,k);else if(f<0)for(var =
n=3D0;n<Math.abs(f);n++)a+=3D"0";a=3Do+a}else a=3D"";a+=3Dm;var =
b=3Dc.length-1,d=3D"";while(b>=3D0){if(e=3D=3D=3D0||e>b)if(d.length>0)ret=
urn c.slice(0,b+1)+l+d+a;else return =
c.slice(0,b+1)+a;if(d.length>0)d=3Dc.slice(b-e+1,b+1)+l+d;else =
d=3Dc.slice(b-e+1,b+1);b-=3De;if(g<j.length){e=3Dj[g];g++}}return =
c.slice(0,b+1)+l+d+a}var =
a=3Dj.numberFormat,e=3DMath.abs(this);if(!d)d=3D"D";var =
b=3D-1;if(d.length>1)b=3DparseInt(d.slice(1));var =
c;switch(d.charAt(0)){case "d":case "D":c=3D"n";if(b!=3D=3D-1){var =
g=3D""+e,k=3Db-g.length;if(k>0)for(var =
m=3D0;m<k;m++)g=3D"0"+g;e=3Dg}if(this<0)e=3D-e;break;case "c":case =
"C":if(this<0)c=3Dn[a.CurrencyNegativePattern];else =
c=3Do[a.CurrencyPositivePattern];if(b=3D=3D=3D-1)b=3Da.CurrencyDecimalDig=
its;e=3Di(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,=
a.CurrencyDecimalSeparator);break;case "n":case =
"N":if(this<0)c=3Dr[a.NumberNegativePattern];else =
c=3D"n";if(b=3D=3D=3D-1)b=3Da.NumberDecimalDigits;e=3Di(Math.abs(this),b,=
a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break=
;case "p":case "P":if(this<0)c=3Dp[a.PercentNegativePattern];else =
c=3Dq[a.PercentPositivePattern];if(b=3D=3D=3D-1)b=3Da.PercentDecimalDigit=
s;e=3Di(Math.abs(this),b,a.PercentGroupSizes,a.PercentGroupSeparator,a.Pe=
rcentDecimalSeparator);break;default:throw =
Error.format(Sys.Res.formatBadFormatSpecifier)}var =
l=3D/n|\$|-|%/g,f=3D"";for(;true;){var =
s=3Dl.lastIndex,h=3Dl.exec(c);f+=3Dc.slice(s,h?h.index:c.length);if(!h)br=
eak;switch(h[0]){case "n":f+=3De;break;case =
"$":f+=3Da.CurrencySymbol;break;case "-":f+=3Da.NegativeSign;break;case =
"%":f+=3Da.PercentSymbol;break}}return =
f};RegExp.__typeName=3D"RegExp";RegExp.__class=3Dtrue;Array.__typeName=3D=
"Array";Array.__class=3Dtrue;Array.add=3DArray.enqueue=3Dfunction(a,b){a[=
a.length]=3Db};Array.addRange=3Dfunction(a,b){a.push.apply(a,b)};Array.cl=
ear=3Dfunction(a){a.length=3D0};Array.clone=3Dfunction(a){if(a.length=3D=3D=
=3D1)return [a[0]];else return =
Array.apply(null,a)};Array.contains=3Dfunction(a,b){return =
Array.indexOf(a,b)>=3D0};Array.dequeue=3Dfunction(a){return =
a.shift()};Array.forEach=3Dfunction(b,e,d){for(var =
a=3D0,f=3Db.length;a<f;a++){var c=3Db[a];if(typeof =
c!=3D=3D"undefined")e.call(d,c,a,b)}};Array.indexOf=3Dfunction(d,e,a){if(=
typeof e=3D=3D=3D"undefined")return -1;var =
c=3Dd.length;if(c!=3D=3D0){a=3Da-0;if(isNaN(a))a=3D0;else{if(isFinite(a))=
a=3Da-a%1;if(a<0)a=3DMath.max(0,c+a)}for(var b=3Da;b<c;b++)if(typeof =
d[b]!=3D=3D"undefined"&&d[b]=3D=3D=3De)return b}return =
-1};Array.insert=3Dfunction(a,b,c){a.splice(b,0,c)};Array.parse=3Dfunctio=
n(value){if(!value)return [];return =
eval(value)};Array.remove=3Dfunction(b,c){var =
a=3DArray.indexOf(b,c);if(a>=3D0)b.splice(a,1);return =
a>=3D0};Array.removeAt=3Dfunction(a,b){a.splice(b,1)};String.__typeName=3D=
"String";String.__class=3Dtrue;String.prototype.endsWith=3Dfunction(a){re=
turn =
this.substr(this.length-a.length)=3D=3D=3Da};String.prototype.startsWith=3D=
function(a){return =
this.substr(0,a.length)=3D=3D=3Da};String.prototype.trim=3Dfunction(){ret=
urn =
this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=3Dfunction(){retu=
rn =
this.replace(/\s+$/,"")};String.prototype.trimStart=3Dfunction(){return =
this.replace(/^\s+/,"")};String.format=3Dfunction(){return =
String._toFormattedString(false,arguments)};String.localeFormat=3Dfunctio=
n(){return =
String._toFormattedString(true,arguments)};String._toFormattedString=3Dfu=
nction(l,j){var c=3D"",e=3Dj[0];for(var a=3D0;true;){var =
f=3De.indexOf("{",a),d=3De.indexOf("}",a);if(f<0&&d<0){c+=3De.slice(a);br=
eak}if(d>0&&(d<f||f<0)){c+=3De.slice(a,d+1);a=3Dd+2;continue}c+=3De.slice=
(a,f);a=3Df+1;if(e.charAt(a)=3D=3D=3D"{"){c+=3D"{";a++;continue}if(d<0)br=
eak;var =
h=3De.substring(a,d),g=3Dh.indexOf(":"),k=3DparseInt(g<0?h:h.substring(0,=
g))+1,i=3Dg<0?"":h.substring(g+1),b=3Dj[k];if(typeof =
b=3D=3D=3D"undefined"||b=3D=3D=3Dnull)b=3D"";if(b.toFormattedString)c+=3D=
b.toFormattedString(i);else =
if(l&&b.localeFormat)c+=3Db.localeFormat(i);else =
if(b.format)c+=3Db.format(i);else c+=3Db.toString();a=3Dd+1}return =
c};Type.registerNamespace("Sys");Sys.IDisposable=3Dfunction(){};Sys.IDisp=
osable.prototype=3D{};Sys.IDisposable.registerInterface("Sys.IDisposable"=
);Sys.StringBuilder=3Dfunction(a){this._parts=3Dtypeof =
a!=3D=3D"undefined"&&a!=3D=3Dnull&&a!=3D=3D""?[a.toString()]:[];this._val=
ue=3D{};this._len=3D0};Sys.StringBuilder.prototype=3D{append:function(a){=
this._parts[this._parts.length]=3Da},appendLine:function(a){this._parts[t=
his._parts.length]=3Dtypeof =
a=3D=3D=3D"undefined"||a=3D=3D=3Dnull||a=3D=3D=3D""?"\r\n":a+"\r\n"},clea=
r:function(){this._parts=3D[];this._value=3D{};this._len=3D0},isEmpty:fun=
ction(){if(this._parts.length=3D=3D=3D0)return true;return =
this.toString()=3D=3D=3D""},toString:function(a){a=3Da||"";var =
b=3Dthis._parts;if(this._len!=3D=3Db.length){this._value=3D{};this._len=3D=
b.length}var d=3Dthis._value;if(typeof =
d[a]=3D=3D=3D"undefined"){if(a!=3D=3D"")for(var =
c=3D0;c<b.length;)if(typeof =
b[c]=3D=3D=3D"undefined"||b[c]=3D=3D=3D""||b[c]=3D=3D=3Dnull)b.splice(c,1=
);else c++;d[a]=3Dthis._parts.join(a)}return =
d[a]}};Sys.StringBuilder.registerClass("Sys.StringBuilder");if(!window.XM=
LHttpRequest)window.XMLHttpRequest=3Dfunction(){var =
b=3D["Msxml2.XMLHTTP","Microsoft.XMLHTTP"];for(var =
a=3D0;a<b.length;a++)try{var c=3Dnew ActiveXObject(b[a]);return =
c}catch(d){}return =
null};Sys.Browser=3D{};Sys.Browser.InternetExplorer=3D{};Sys.Browser.Fire=
fox=3D{};Sys.Browser.Safari=3D{};Sys.Browser.Opera=3D{};Sys.Browser.agent=
=3Dnull;Sys.Browser.hasDebuggerStatement=3Dfalse;Sys.Browser.name=3Dnavig=
ator.appName;Sys.Browser.version=3DparseFloat(navigator.appVersion);if(na=
vigator.userAgent.indexOf(" MSIE =
")>-1){Sys.Browser.agent=3DSys.Browser.InternetExplorer;Sys.Browser.versi=
on=3DparseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);Sys.Browser.hasDebuggerStatement=3Dtrue}else =
if(navigator.userAgent.indexOf(" =
Firefox/")>-1){Sys.Browser.agent=3DSys.Browser.Firefox;Sys.Browser.versio=
n=3DparseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.B=
rowser.name=3D"Firefox";Sys.Browser.hasDebuggerStatement=3Dtrue}else =
if(navigator.userAgent.indexOf(" =
Safari/")>-1){Sys.Browser.agent=3DSys.Browser.Safari;Sys.Browser.version=3D=
parseFloat(navigator.userAgent.match(/Safari\/(\d+\.\d+)/)[1]);Sys.Browse=
r.name=3D"Safari"}else =
if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=3DSys.Brows=
er.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=3Dfunction(){};Sys._=
Debug.prototype=3D{_appendConsole:function(a){if(typeof =
Debug!=3D=3D"undefined"&&Debug.writeln)Debug.writeln(a);if(window.console=
&&window.console.log)window.console.log(a);if(window.opera)window.opera.p=
ostError(a);if(window.debugService)window.debugService.trace(a)},_appendT=
race:function(b){var =
a=3Ddocument.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()=
=3D=3D=3D"TEXTAREA")a.value+=3Db+"\n"},assert:function(c,a,b){if(!c){a=3D=
b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.ass=
ert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.forma=
t(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var =
a=3Ddocument.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()=
=3D=3D=3D"TEXTAREA")a.value=3D""},fail:function(message){this._appendCons=
ole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:=
function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:functi=
on(a,b){var =
c=3Dthis._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=3Dc?c:"tr=
aceDump";b=3Db?b:"";if(a=3D=3D=3Dnull){this.trace(b+c+": =
null");return}switch(typeof a){case "undefined":this.trace(b+c+": =
Undefined");break;case "number":case "string":case =
"boolean":this.trace(b+c+": =
"+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a=
)){this.trace(b+c+": "+a.toString());break}if(!d)d=3D[];else =
if(Array.contains(d,a)){this.trace(b+c+": =
...");return}Array.add(d,a);if(a=3D=3Dwindow||a=3D=3D=3Ddocument||window.=
HTMLElement&&a instanceof HTMLElement||typeof =
a.nodeName=3D=3D=3D"string"){var =
k=3Da.tagName?a.tagName:"DomElement";if(a.id)k+=3D" - =
"+a.id;this.trace(b+c+" {"+k+"}")}else{var =
i=3DObject.getTypeName(a);this.trace(b+c+(typeof i=3D=3D=3D"string"?" =
{"+i+"}":""));if(b=3D=3D=3D""||f){b+=3D"    ";var =
e,j,l,g,h;if(Array.isInstanceOfType(a)){j=3Da.length;for(e=3D0;e<j;e++)th=
is._traceDump(a[e],"["+e+"]",f,b,d)}else for(g in =
a){h=3Da[g];if(!Function.isInstanceOfType(h))this._traceDump(h,g,f,b,d)}}=
}Array.remove(d,a)}}};Sys._Debug.registerClass("Sys._Debug");Sys.Debug=3D=
new Sys._Debug;Sys.Debug.isDebug=3Dfalse;function =
Sys$Enum$parse(c,e){var =
a,b,i;if(e){a=3Dthis.__lowerCaseValues;if(!a){this.__lowerCaseValues=3Da=3D=
{};var g=3Dthis.prototype;for(var f in g)a[f.toLowerCase()]=3Dg[f]}}else =
a=3Dthis.prototype;if(!this.__flags){i=3De?c.toLowerCase():c;b=3Da[i.trim=
()];if(typeof b!=3D=3D"number")throw =
Error.argument("value",String.format(Sys.Res.enumInvalidValue,c,this.__ty=
peName));return b}else{var =
h=3D(e?c.toLowerCase():c).split(","),j=3D0;for(var =
d=3Dh.length-1;d>=3D0;d--){var k=3Dh[d].trim();b=3Da[k];if(typeof =
b!=3D=3D"number")throw =
Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(","=
)[d].trim(),this.__typeName));j|=3Db}return j}}function =
Sys$Enum$toString(c){if(typeof =
c=3D=3D=3D"undefined"||c=3D=3D=3Dnull)return this.__string;var =
d=3Dthis.prototype,a;if(!this.__flags||c=3D=3D=3D0){for(a in =
d)if(d[a]=3D=3D=3Dc)return a}else{var =
b=3Dthis.__sortedValues;if(!b){b=3D[];for(a in =
d)b[b.length]=3D{key:a,value:d[a]};b.sort(function(a,b){return =
a.value-b.value});this.__sortedValues=3Db}var =
e=3D[],g=3Dc;for(a=3Db.length-1;a>=3D0;a--){var =
h=3Db[a],f=3Dh.value;if(f=3D=3D=3D0)continue;if((f&c)=3D=3D=3Df){e[e.leng=
th]=3Dh.key;g-=3Df;if(g=3D=3D=3D0)break}}if(e.length&&g=3D=3D=3D0)return =
e.reverse().join(", ")}return =
""}Type.prototype.registerEnum=3Dfunction(c,b){for(var a in =
this.prototype)this[a]=3Dthis.prototype[a];this.__typeName=3Dc;this.parse=
=3DSys$Enum$parse;this.__string=3Dthis.toString();this.toString=3DSys$Enu=
m$toString;this.__flags=3Db;this.__enum=3Dtrue};Type.isEnum=3Dfunction(a)=
{if(typeof a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return =
!!a.__enum};Type.isFlags=3Dfunction(a){if(typeof =
a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return =
!!a.__flags};Sys.EventHandlerList=3Dfunction(){this._list=3D{}};Sys.Event=
HandlerList.prototype=3D{addHandler:function(b,a){Array.add(this._getEven=
t(b,true),a)},removeHandler:function(c,b){var =
a=3Dthis._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function=
(b){var a=3Dthis._getEvent(b);if(!a||a.length=3D=3D=3D0)return =
null;a=3DArray.clone(a);if(!a._handler)a._handler=3Dfunction(c,d){for(var=
 b=3D0,e=3Da.length;b<e;b++)a[b](c,d)};return =
a._handler},_getEvent:function(a,b){if(!this._list[a]){if(!b)return =
null;this._list[a]=3D[]}return =
this._list[a]}};Sys.EventHandlerList.registerClass("Sys.EventHandlerList"=
);Sys.EventArgs=3Dfunction(){};Sys.EventArgs.registerClass("Sys.EventArgs=
");Sys.EventArgs.Empty=3Dnew =
Sys.EventArgs;Sys.CancelEventArgs=3Dfunction(){Sys.CancelEventArgs.initia=
lizeBase(this);this._cancel=3Dfalse};Sys.CancelEventArgs.prototype=3D{get=
_cancel:function(){return =
this._cancel},set_cancel:function(a){this._cancel=3Da}};Sys.CancelEventAr=
gs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Sys.INotifyProperty=
Change=3Dfunction(){};Sys.INotifyPropertyChange.prototype=3D{};Sys.INotif=
yPropertyChange.registerInterface("Sys.INotifyPropertyChange");Sys.Proper=
tyChangedEventArgs=3Dfunction(a){Sys.PropertyChangedEventArgs.initializeB=
ase(this);this._propertyName=3Da};Sys.PropertyChangedEventArgs.prototype=3D=
{get_propertyName:function(){return =
this._propertyName}};Sys.PropertyChangedEventArgs.registerClass("Sys.Prop=
ertyChangedEventArgs",Sys.EventArgs);Sys.INotifyDisposing=3Dfunction(){};=
Sys.INotifyDisposing.prototype=3D{};Sys.INotifyDisposing.registerInterfac=
e("Sys.INotifyDisposing");Sys.Component=3Dfunction(){if(Sys.Application)S=
ys.Application.registerDisposableObject(this)};Sys.Component.prototype=3D=
{_id:null,_initialized:false,_updating:false,get_events:function(){if(!th=
is._events)this._events=3Dnew Sys.EventHandlerList;return =
this._events},get_id:function(){return =
this._id},set_id:function(a){this._id=3Da},get_isInitialized:function(){r=
eturn this._initialized},get_isUpdating:function(){return =
this._updating},add_disposing:function(a){this.get_events().addHandler("d=
isposing",a)},remove_disposing:function(a){this.get_events().removeHandle=
r("disposing",a)},add_propertyChanged:function(a){this.get_events().addHa=
ndler("propertyChanged",a)},remove_propertyChanged:function(a){this.get_e=
vents().removeHandler("propertyChanged",a)},beginUpdate:function(){this._=
updating=3Dtrue},dispose:function(){if(this._events){var =
a=3Dthis._events.getHandler("disposing");if(a)a(this,Sys.EventArgs.Empty)=
}delete =
this._events;Sys.Application.unregisterDisposableObject(this);Sys.Applica=
tion.removeComponent(this)},endUpdate:function(){this._updating=3Dfalse;i=
f(!this._initialized)this.initialize();this.updated()},initialize:functio=
n(){this._initialized=3Dtrue},raisePropertyChanged:function(b){if(!this._=
events)return;var =
a=3Dthis._events.getHandler("propertyChanged");if(a)a(this,new =
Sys.PropertyChangedEventArgs(b))},updated:function(){}};Sys.Component.reg=
isterClass("Sys.Component",null,Sys.IDisposable,Sys.INotifyPropertyChange=
,Sys.INotifyDisposing);function Sys$Component$_setProperties(a,i){var =
d,j=3DObject.getType(a),e=3Dj=3D=3D=3DObject||j=3D=3D=3DSys.UI.DomElement=
,h=3DSys.Component.isInstanceOfType(a)&&!a.get_isUpdating();if(h)a.beginU=
pdate();for(var c in i){var b=3Di[c],f=3De?null:a["get_"+c];if(e||typeof =
f!=3D=3D"function"){var k=3Da[c];if(!b||typeof =
b!=3D=3D"object"||e&&!k)a[c]=3Db;else =
Sys$Component$_setProperties(k,b)}else{var l=3Da["set_"+c];if(typeof =
l=3D=3D=3D"function")l.apply(a,[b]);else if(b instanceof =
Array){d=3Df.apply(a);for(var =
g=3D0,m=3Dd.length,n=3Db.length;g<n;g++,m++)d[m]=3Db[g]}else if(typeof =
b=3D=3D=3D"object"&&Object.getType(b)=3D=3D=3DObject){d=3Df.apply(a);Sys$=
Component$_setProperties(d,b)}}}if(h)a.endUpdate()}function =
Sys$Component$_setReferences(c,b){for(var a in b){var =
e=3Dc["set_"+a],d=3D$find(b[a]);e.apply(c,[d])}}var =
$create=3DSys.Component.create=3Dfunction(h,f,d,c,g){var a=3Dg?new =
h(g):new =
h,b=3DSys.Application,i=3Db.get_isCreatingComponents();a.beginUpdate();if=
(f)Sys$Component$_setProperties(a,f);if(d)for(var e in =
d)a["add_"+e](d[e]);b._createdComponents[b._createdComponents.length]=3Da=
;if(a.get_id())b.addComponent(a);if(i)if(c)b._addComponentToSecondPass(a,=
c);else =
a.endUpdate();else{if(c)Sys$Component$_setReferences(a,c);a.endUpdate()}r=
eturn a};Sys.UI.MouseButton=3Dfunction(){throw =
Error.notImplemented()};Sys.UI.MouseButton.prototype=3D{leftButton:0,midd=
leButton:1,rightButton:2};Sys.UI.MouseButton.registerEnum("Sys.UI.MouseBu=
tton");Sys.UI.Key=3Dfunction(){throw =
Error.notImplemented()};Sys.UI.Key.prototype=3D{backspace:8,tab:9,enter:1=
3,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,righ=
t:39,down:40,del:127};Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.DomEve=
nt=3Dfunction(c){var =
a=3Dc;this.rawEvent=3Da;this.altKey=3Da.altKey;if(typeof =
a.button!=3D=3D"undefined")this.button=3Dtypeof =
a.which!=3D=3D"undefined"?a.button:a.button=3D=3D=3D4?Sys.UI.MouseButton.=
middleButton:a.button=3D=3D=3D2?Sys.UI.MouseButton.rightButton:Sys.UI.Mou=
seButton.leftButton;if(a.type=3D=3D=3D"keypress")this.charCode=3Da.charCo=
de||a.keyCode;else =
if(a.keyCode&&a.keyCode=3D=3D=3D46)this.keyCode=3D127;else =
this.keyCode=3Da.keyCode;this.clientX=3Da.clientX;this.clientY=3Da.client=
Y;this.ctrlKey=3Da.ctrlKey;this.target=3Da.target?a.target:a.srcElement;i=
f(this.target){var =
b=3DSys.UI.DomElement.getLocation(this.target);this.offsetX=3Dtypeof =
a.offsetX!=3D=3D"undefined"?a.offsetX:window.pageXOffset+(a.clientX||0)-b=
.x;this.offsetY=3Dtypeof =
a.offsetY!=3D=3D"undefined"?a.offsetY:window.pageYOffset+(a.clientY||0)-b=
.y}this.screenX=3Da.screenX;this.screenY=3Da.screenY;this.shiftKey=3Da.sh=
iftKey;this.type=3Da.type};Sys.UI.DomEvent.prototype=3D{preventDefault:fu=
nction(){if(this.rawEvent.preventDefault)this.rawEvent.preventDefault();e=
lse =
if(window.event)window.event.returnValue=3Dfalse},stopPropagation:functio=
n(){if(this.rawEvent.stopPropagation)this.rawEvent.stopPropagation();else=
 =
if(window.event)window.event.cancelBubble=3Dtrue}};Sys.UI.DomEvent.regist=
erClass("Sys.UI.DomEvent");var =
$addHandler=3DSys.UI.DomEvent.addHandler=3Dfunction(a,d,e){if(!a._events)=
a._events=3D{};var c=3Da._events[d];if(!c)a._events[d]=3Dc=3D[];var =
b;if(a.addEventListener){b=3Dfunction(b){return e.call(a,new =
Sys.UI.DomEvent(b))};a.addEventListener(d,b,false)}else =
if(a.attachEvent){b=3Dfunction(){return e.call(a,new =
Sys.UI.DomEvent(window.event))};a.attachEvent("on"+d,b)}c[c.length]=3D{ha=
ndler:e,browserHandler:b}},$addHandlers=3DSys.UI.DomEvent.addHandlers=3Df=
unction(e,d,c){for(var b in d){var =
a=3Dd[b];if(c)a=3DFunction.createDelegate(c,a);$addHandler(e,b,a)}},$clea=
rHandlers=3DSys.UI.DomEvent.clearHandlers=3Dfunction(a){if(a._events){var=
 e=3Da._events;for(var b in e){var d=3De[b];for(var =
c=3Dd.length-1;c>=3D0;c--)$removeHandler(a,b,d[c].handler)}a._events=3Dnu=
ll}},$removeHandler=3DSys.UI.DomEvent.removeHandler=3Dfunction(a,e,f){var=
 d=3Dnull,c=3Da._events[e],d=3Dnull;for(var =
b=3D0,g=3Dc.length;b<g;b++)if(c[b].handler=3D=3D=3Df){d=3Dc[b].browserHan=
dler;break}if(a.removeEventListener)a.removeEventListener(e,d,false);else=
 =
if(a.detachEvent)a.detachEvent("on"+e,d);c.splice(b,1)};Sys.IContainer=3D=
function(){};Sys.IContainer.prototype=3D{};Sys.IContainer.registerInterfa=
ce("Sys.IContainer");Sys._ScriptLoader=3Dfunction(){this._scriptsToLoad=3D=
null;this._scriptLoadedDelegate=3DFunction.createDelegate(this,this._scri=
ptLoadedHandler)};Sys._ScriptLoader.prototype=3D{dispose:function(){this.=
_stopLoading();if(this._events)delete =
this._events;this._scriptLoadedDelegate=3Dnull},loadScripts:function(a,c,=
d,b){this._loading=3Dtrue;this._allScriptsLoadedCallback=3Dc;this._script=
LoadFailedCallback=3Dd;this._scriptLoadTimeoutCallback=3Db;if(a>0)this._t=
imeoutCookie=3Dwindow.setTimeout(Function.createDelegate(this,this._scrip=
tLoadTimeoutHandler),a*1000);this._loadScriptsInternal()},notifyScriptLoa=
ded:function(){if(!this._loading)return;this._currentTask._notified++;if(=
Sys.Browser.agent=3D=3D=3DSys.Browser.Safari)if(this._currentTask._notifi=
ed=3D=3D=3D1)window.setTimeout(Function.createDelegate(this,function(){th=
is._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)}=
,queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsTo=
Load=3D[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){=
if(!this._scriptsToLoad)this._scriptsToLoad=3D[];Array.add(this._scriptsT=
oLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad=
)this._scriptsToLoad=3D[];Array.add(this._scriptsToLoad,{src:a})},_create=
ScriptElement:function(c){var =
a=3Ddocument.createElement("SCRIPT");a.type=3D"text/javascript";for(var =
b in c)a[b]=3Dc[b];return =
a},_loadScriptsInternal:function(){if(this._scriptsToLoad&&this._scriptsT=
oLoad.length>0){var =
b=3DArray.dequeue(this._scriptsToLoad),a=3Dthis._createScriptElement(b);i=
f(a.text&&Sys.Browser.agent=3D=3D=3DSys.Browser.Safari){a.innerHTML=3Da.t=
ext;delete a.text}if(typeof =
b.src=3D=3D=3D"string"){this._currentTask=3Dnew =
Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.exe=
cute()}else{document.getElementsByTagName("HEAD")[0].appendChild(a);Sys._=
ScriptLoader._clearScript(a);this._loadScriptsInternal()}}else{var =
c=3Dthis._allScriptsLoadedCallback;this._stopLoading();if(c)c(this)}},_ra=
iseError:function(a){var =
c=3Dthis._scriptLoadFailedCallback,b=3Dthis._currentTask.get_scriptElemen=
t();this._stopLoading();if(c)c(this,b,a);else throw =
Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)},_scriptLoadedHandler:f=
unction(a,b){if(b&&this._currentTask._notified)if(this._currentTask._noti=
fied>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoaded=
Scripts(),a.src);this._currentTask.dispose();this._currentTask=3Dnull;thi=
s._loadScriptsInternal()}else =
this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var =
a=3Dthis._scriptLoadTimeoutCallback;this._stopLoading();if(a)a(this)},_st=
opLoading:function(){if(this._timeoutCookie){window.clearTimeout(this._ti=
meoutCookie);this._timeoutCookie=3Dnull}if(this._currentTask){this._curre=
ntTask.dispose();this._currentTask=3Dnull}this._scriptsToLoad=3Dnull;this=
._loading=3Dnull;this._allScriptsLoadedCallback=3Dnull;this._scriptLoadFa=
iledCallback=3Dnull;this._scriptLoadTimeoutCallback=3Dnull}};Sys._ScriptL=
oader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._Script=
Loader.getInstance=3Dfunction(){var =
a=3DSys._ScriptLoader._activeInstance;if(!a)a=3DSys._ScriptLoader._active=
Instance=3Dnew Sys._ScriptLoader;return =
a};Sys._ScriptLoader.isScriptLoaded=3Dfunction(b){var =
a=3Ddocument.createElement("script");a.src=3Db;return =
Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptL=
oader.readLoadedScripts=3Dfunction(){if(!Sys._ScriptLoader._referencedScr=
ipts){var =
b=3DSys._ScriptLoader._referencedScripts=3D[],c=3Ddocument.getElementsByT=
agName("SCRIPT");for(i=3Dc.length-1;i>=3D0;i--){var =
d=3Dc[i],a=3Dd.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};=
Sys._ScriptLoader._clearScript=3Dfunction(a){if(!Sys.Debug.isDebug)a.pare=
ntNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=3Dfunctio=
n(b,d){var a;if(d)a=3DSys.Res.scriptLoadMultipleCallbacks;else =
a=3DSys.Res.scriptLoadFailed;var e=3D"Sys.ScriptLoadFailedException: =
"+String.format(a,b),c=3DError.create(e,{name:"Sys.ScriptLoadFailedExcept=
ion","scriptUrl":b});c.popStackFrame();return =
c};Sys._ScriptLoader._getLoadedScripts=3Dfunction(){if(!Sys._ScriptLoader=
._referencedScripts){Sys._ScriptLoader._referencedScripts=3D[];Sys._Scrip=
tLoader.readLoadedScripts()}return =
Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=3Dfunction(b,=
a){this._scriptElement=3Db;this._completedCallback=3Da;this._notified=3D0=
};Sys._ScriptLoaderTask.prototype=3D{get_scriptElement:function(){return =
this._scriptElement},dispose:function(){if(this._disposed)return;this._di=
sposed=3Dtrue;this._removeScriptElementHandlers();Sys._ScriptLoader._clea=
rScript(this._scriptElement);this._scriptElement=3Dnull},execute:function=
(){this._addScriptElementHandlers();document.getElementsByTagName("HEAD")=
[0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(=
){this._scriptLoadDelegate=3DFunction.createDelegate(this,this._scriptLoa=
dHandler);if(Sys.Browser.agent!=3D=3DSys.Browser.InternetExplorer){this._=
scriptElement.readyState=3D"loaded";$addHandler(this._scriptElement,"load=
",this._scriptLoadDelegate)}else =
$addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelega=
te);this._scriptErrorDelegate=3DFunction.createDelegate(this,this._script=
ErrorHandler);$addHandler(this._scriptElement,"error",this._scriptErrorDe=
legate)},_removeScriptElementHandlers:function(){if(this._scriptLoadDeleg=
ate){var =
a=3Dthis.get_scriptElement();if(Sys.Browser.agent!=3D=3DSys.Browser.Inter=
netExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else =
$removeHandler(a,"readystatechange",this._scriptLoadDelegate);$removeHand=
ler(a,"error",this._scriptErrorDelegate);this._scriptErrorDelegate=3Dnull=
;this._scriptLoadDelegate=3Dnull}},_scriptErrorHandler:function(){if(this=
._disposed)return;this._completedCallback(this.get_scriptElement(),false)=
},_scriptLoadHandler:function(){if(this._disposed)return;var =
a=3Dthis.get_scriptElement();if(a.readyState!=3D=3D"loaded"&&a.readyState=
!=3D=3D"complete")return;var =
b=3Dthis;window.setTimeout(function(){b._completedCallback(a,true)},0)}};=
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDis=
posable);Sys.ApplicationLoadEventArgs=3Dfunction(b,a){Sys.ApplicationLoad=
EventArgs.initializeBase(this);this._components=3Db;this._isPartialLoad=3D=
a};Sys.ApplicationLoadEventArgs.prototype=3D{get_components:function(){re=
turn this._components},get_isPartialLoad:function(){return =
this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.App=
licationLoadEventArgs",Sys.EventArgs);Sys._Application=3Dfunction(){Sys._=
Application.initializeBase(this);this._disposableObjects=3D[];this._compo=
nents=3D{};this._createdComponents=3D[];this._secondPassComponents=3D[];t=
his._unloadHandlerDelegate=3DFunction.createDelegate(this,this._unloadHan=
dler);this._loadHandlerDelegate=3DFunction.createDelegate(this,this._load=
Handler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDe=
legate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegat=
e)};Sys._Application.prototype=3D{_creatingComponents:false,_disposing:fa=
lse,get_isCreatingComponents:function(){return =
this._creatingComponents},add_load:function(a){this.get_events().addHandl=
er("load",a)},remove_load:function(a){this.get_events().removeHandler("lo=
ad",a)},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Em=
pty);else =
this.get_events().addHandler("init",a)},remove_init:function(a){this.get_=
events().removeHandler("init",a)},add_unload:function(a){this.get_events(=
).addHandler("unload",a)},remove_unload:function(a){this.get_events().rem=
oveHandler("unload",a)},addComponent:function(a){this._components[a.get_i=
d()]=3Da},beginCreateComponents:function(){this._creatingComponents=3Dtru=
e},dispose:function(){if(!this._disposing){this._disposing=3Dtrue;if(wind=
ow.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var =
c=3Dthis.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empt=
y);var b=3DArray.clone(this._disposableObjects);for(var =
a=3D0,e=3Db.length;a<e;a++)b[a].dispose();Array.clear(this._disposableObj=
ects);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDe=
legate);if(this._loadHandlerDelegate){Sys.UI.DomEvent.removeHandler(windo=
w,"load",this._loadHandlerDelegate);this._loadHandlerDelegate=3Dnull}var =
d=3DSys._ScriptLoader.getInstance();if(d)d.dispose();Sys._Application.cal=
lBaseMethod(this,"dispose")}},endCreateComponents:function(){var =
b=3Dthis._secondPassComponents;for(var a=3D0,d=3Db.length;a<d;a++){var =
c=3Db[a].component;Sys$Component$_setReferences(c,b[a].references);c.endU=
pdate()}this._secondPassComponents=3D[];this._creatingComponents=3Dfalse}=
,findComponent:function(b,a){return =
a?Sys.IContainer.isInstanceOfType(a)?a.findComponent(b):a[b]||null:Sys.Ap=
plication._components[b]||null},getComponents:function(){var =
a=3D[],b=3Dthis._components;for(var c in b)a[a.length]=3Db[c];return =
a},initialize:function(){if(!this._initialized&&!this._initializing){this=
._initializing=3Dtrue;window.setTimeout(Function.createDelegate(this,this=
._doInitialize),0)}},notifyScriptLoaded:function(){var =
a=3DSys._ScriptLoader.getInstance();if(a)a.notifyScriptLoaded()},register=
DisposableObject:function(a){if(!this._disposing)this._disposableObjects[=
this._disposableObjects.length]=3Da},raiseLoad:function(){var =
b=3Dthis.get_events().getHandler("load"),a=3Dnew =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!this._=
initializing);if(b)b(this,a);if(window.pageLoad)window.pageLoad(this,a);t=
his._createdComponents=3D[]},removeComponent:function(b){var =
a=3Db.get_id();if(a)delete =
this._components[a]},unregisterDisposableObject:function(a){if(!this._dis=
posing)Array.remove(this._disposableObjects,a)},_addComponentToSecondPass=
:function(b,a){this._secondPassComponents[this._secondPassComponents.leng=
th]=3D{component:b,references:a}},_doInitialize:function(){Sys._Applicati=
on.callBaseMethod(this,"initialize");var =
a=3Dthis.get_events().getHandler("init");if(a){this.beginCreateComponents=
();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}this.raiseLoad(=
);this._initializing=3Dfalse},_loadHandler:function(){if(this._loadHandle=
rDelegate){Sys.UI.DomEvent.removeHandler(window,"load",this._loadHandlerD=
elegate);this._loadHandlerDelegate=3Dnull}this.initialize()},_unloadHandl=
er:function(){this.dispose()}};Sys._Application.registerClass("Sys._Appli=
cation",Sys.Component,Sys.IContainer);Sys.Application=3Dnew =
Sys._Application;var =
$find=3DSys.Application.findComponent;Type.registerNamespace("Sys.Net");S=
ys.Net.WebRequestExecutor=3Dfunction(){this._webRequest=3Dnull;this._resu=
ltObject=3Dnull};Sys.Net.WebRequestExecutor.prototype=3D{get_webRequest:f=
unction(){return =
this._webRequest},_set_webRequest:function(a){this._webRequest=3Da},get_s=
tarted:function(){throw =
Error.notImplemented()},get_responseAvailable:function(){throw =
Error.notImplemented()},get_timedOut:function(){throw =
Error.notImplemented()},get_aborted:function(){throw =
Error.notImplemented()},get_responseData:function(){throw =
Error.notImplemented()},get_statusCode:function(){throw =
Error.notImplemented()},get_statusText:function(){throw =
Error.notImplemented()},get_xml:function(){throw =
Error.notImplemented()},get_object:function(){if(!this._resultObject)this=
._resultObject=3DSys.Serialization.JavaScriptSerializer.deserialize(this.=
get_responseData());return =
this._resultObject},executeRequest:function(){throw =
Error.notImplemented()},abort:function(){throw =
Error.notImplemented()},getResponseHeader:function(){throw =
Error.notImplemented()},getAllResponseHeaders:function(){throw =
Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Ne=
t.WebRequestExecutor");window.XMLDOM=3Dfunction(d){if(!window.DOMParser){=
var c=3D["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var =
b=3D0;b<c.length;b++)try{var a=3Dnew =
ActiveXObject(c[b]);a.async=3Dfalse;a.loadXML(d);a.setProperty("Selection=
Language","XPath");return a}catch(f){}return null}else try{var e=3Dnew =
window.DOMParser;return e.parseFromString(d,"text/xml")}catch(f){return =
null}return =
null};Sys.Net.XMLHttpExecutor=3Dfunction(){Sys.Net.XMLHttpExecutor.initia=
lizeBase(this);var =
a=3Dthis;this._xmlHttpRequest=3Dnull;this._webRequest=3Dnull;this._respon=
seAvailable=3Dfalse;this._timedOut=3Dfalse;this._timer=3Dnull;this._abort=
ed=3Dfalse;this._started=3Dfalse;this._onReadyStateChange=3Dfunction(){if=
(a._xmlHttpRequest.readyState=3D=3D=3D4){a._clearTimer();a._responseAvail=
able=3Dtrue;a._webRequest.completed(Sys.EventArgs.Empty);if(a._xmlHttpReq=
uest!=3Dnull){a._xmlHttpRequest.onreadystatechange=3DFunction.emptyMethod=
;a._xmlHttpRequest=3Dnull}}};this._clearTimer=3Dfunction(){if(a._timer!=3D=
null){window.clearTimeout(a._timer);a._timer=3Dnull}};this._onTimeout=3Df=
unction(){if(!a._responseAvailable){a._clearTimer();a._timedOut=3Dtrue;a.=
_xmlHttpRequest.onreadystatechange=3DFunction.emptyMethod;a._xmlHttpReque=
st.abort();a._webRequest.completed(Sys.EventArgs.Empty);a._xmlHttpRequest=
=3Dnull}}};Sys.Net.XMLHttpExecutor.prototype=3D{get_timedOut:function(){r=
eturn this._timedOut},get_started:function(){return =
this._started},get_responseAvailable:function(){return =
this._responseAvailable},get_aborted:function(){return =
this._aborted},executeRequest:function(){this._webRequest=3Dthis.get_webR=
equest();var =
c=3Dthis._webRequest.get_body(),a=3Dthis._webRequest.get_headers();this._=
xmlHttpRequest=3Dnew =
XMLHttpRequest;this._xmlHttpRequest.onreadystatechange=3Dthis._onReadySta=
teChange;var =
e=3Dthis._webRequest.get_httpVerb();this._xmlHttpRequest.open(e,this._web=
Request.getResolvedUrl(),true);if(a)for(var b in a){var =
f=3Da[b];if(typeof =
f!=3D=3D"function")this._xmlHttpRequest.setRequestHeader(b,f)}if(e.toLowe=
rCase()=3D=3D=3D"post"){if(a=3D=3D=3Dnull||!a["Content-Type"])this._xmlHt=
tpRequest.setRequestHeader("Content-Type","application/x-www-form-urlenco=
ded");if(!c)c=3D""}var =
d=3Dthis._webRequest.get_timeout();if(d>0)this._timer=3Dwindow.setTimeout=
(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.se=
nd(c);this._started=3Dtrue},getResponseHeader:function(b){var =
a;try{a=3Dthis._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a=3D"=
";return a},getAllResponseHeaders:function(){return =
this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function()=
{return =
this._xmlHttpRequest.responseText},get_statusCode:function(){return =
this._xmlHttpRequest.status},get_statusText:function(){return =
this._xmlHttpRequest.statusText},get_xml:function(){var =
a=3Dthis._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=3Dnew =
XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)retur=
n null}else =
if(navigator.userAgent.indexOf("MSIE")!=3D=3D-1)a.setProperty("SelectionL=
anguage","XPath");if(a.documentElement.namespaceURI=3D=3D=3D"http://www.m=
ozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName=3D=3D=
=3D"parsererror")return =
null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagNam=
e=3D=3D=3D"parsererror")return null;return =
a},abort:function(){if(this._aborted||this._responseAvailable||this._time=
dOut)return;this._aborted=3Dtrue;this._clearTimer();if(this._xmlHttpReque=
st&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=3DF=
unction.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=3Dn=
ull;var =
a=3Dthis._webRequest._get_eventHandlerList().getHandler("completed");if(a=
)a(this,Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sy=
s.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestMan=
ager=3Dfunction(){this._this=3Dthis;this._defaultTimeout=3D0;this._defaul=
tExecutorType=3D"Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.pro=
totype=3D{add_invokingRequest:function(a){this._get_eventHandlerList().ad=
dHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._g=
et_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRe=
quest:function(a){this._get_eventHandlerList().addHandler("completedReque=
st",a)},remove_completedRequest:function(a){this._get_eventHandlerList().=
removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(=
!this._events)this._events=3Dnew Sys.EventHandlerList;return =
this._events},get_defaultTimeout:function(){return =
this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=
=3Da},get_defaultExecutorType:function(){return =
this._defaultExecutorType},set_defaultExecutorType:function(a){this._defa=
ultExecutorType=3Da},executeRequest:function(webRequest){var =
executor=3DwebRequest.get_executor();if(!executor){var =
failed=3Dfalse;try{var =
executorType=3Deval(this._defaultExecutorType);executor=3Dnew =
executorType}catch(a){failed=3Dtrue}webRequest.set_executor(executor)}if(=
executor.get_aborted())return;var evArgs=3Dnew =
Sys.Net.NetworkRequestEventArgs(webRequest),handler=3Dthis._get_eventHand=
lerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);i=
f(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestMan=
ager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManage=
r=3Dnew =
Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=3Dfunction(a){=
Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=3Da=
};Sys.Net.NetworkRequestEventArgs.prototype=3D{get_webRequest:function(){=
return =
this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net=
.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=3Dfunct=
ion(){this._url=3D"";this._headers=3D{};this._body=3Dnull;this._userConte=
xt=3Dnull;this._httpVerb=3Dnull;this._executor=3Dnull;this._invokeCalled=3D=
false;this._timeout=3D0};Sys.Net.WebRequest.prototype=3D{add_completed:fu=
nction(a){this._get_eventHandlerList().addHandler("completed",a)},remove_=
completed:function(a){this._get_eventHandlerList().removeHandler("complet=
ed",a)},completed:function(b){var =
a=3DSys.Net.WebRequestManager._get_eventHandlerList().getHandler("complet=
edRequest");if(a)a(this._executor,b);a=3Dthis._get_eventHandlerList().get=
Handler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:func=
tion(){if(!this._events)this._events=3Dnew Sys.EventHandlerList;return =
this._events},get_url:function(){return =
this._url},set_url:function(a){this._url=3Da},get_headers:function(){retu=
rn =
this._headers},get_httpVerb:function(){if(this._httpVerb=3D=3D=3Dnull){if=
(this._body=3D=3D=3Dnull)return "GET";return "POST"}return =
this._httpVerb},set_httpVerb:function(a){this._httpVerb=3Da},get_body:fun=
ction(){return =
this._body},set_body:function(a){this._body=3Da},get_userContext:function=
(){return =
this._userContext},set_userContext:function(a){this._userContext=3Da},get=
_executor:function(){return =
this._executor},set_executor:function(a){this._executor=3Da;this._executo=
r._set_webRequest(this)},get_timeout:function(){if(this._timeout=3D=3D=3D=
0)return Sys.Net.WebRequestManager.get_defaultTimeout();return =
this._timeout},set_timeout:function(a){this._timeout=3Da},getResolvedUrl:=
function(){return =
Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebR=
equestManager.executeRequest(this);this._invokeCalled=3Dtrue}};Sys.Net.We=
bRequest._resolveUrl=3Dfunction(b,a){if(b&&b.indexOf("://")!=3D=3D-1)retu=
rn b;if(!a||a.length=3D=3D=3D0){var =
c=3Ddocument.getElementsByTagName("base")[0];if(c&&c.href&&c.href.length>=
0)a=3Dc.href;else a=3Ddocument.URL}var =
d=3Da.indexOf("?");if(d!=3D=3D-1)a=3Da.substr(0,d);a=3Da.substr(0,a.lastI=
ndexOf("/")+1);if(!b||b.length=3D=3D=3D0)return =
a;if(b.charAt(0)=3D=3D=3D"/"){var =
e=3Da.indexOf("://"),g=3Da.indexOf("/",e+3);return =
a.substr(0,g)+b}else{var f=3Da.lastIndexOf("/");return =
a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=3Dfunction(d,b)=
{if(!b)b=3DencodeURIComponent;var a=3Dnew =
Sys.StringBuilder,f=3D0;for(var c in d){var e=3Dd[c];if(typeof =
e=3D=3D=3D"function")continue;var =
g=3DSys.Serialization.JavaScriptSerializer.serialize(e);if(f!=3D=3D0)a.ap=
pend("&");a.append(c);a.append("=3D");a.append(b(g));f++}return =
a.toString()};Sys.Net.WebRequest._createUrl=3Dfunction(a,b){if(!b)return =
a;var d=3DSys.Net.WebRequest._createQueryString(b);if(d.length>0){var =
c=3D"?";if(a&&a.indexOf("?")!=3D=3D-1)c=3D"&";return a+c+d}else return =
a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServ=
iceProxy=3Dfunction(){};Sys.Net.WebServiceProxy.prototype=3D{set_timeout:=
function(a){this._timeout=3Da},get_timeout:function(){return =
this._timeout},set_defaultUserContext:function(a){this._userContext=3Da},=
get_defaultUserContext:function(){return =
this._userContext},set_defaultSucceededCallback:function(a){this._succeed=
ed=3Da},get_defaultSucceededCallback:function(){return =
this._succeeded},set_defaultFailedCallback:function(a){this._failed=3Da},=
get_defaultFailedCallback:function(){return =
this._failed},set_path:function(a){this._path=3Da},get_path:function(){re=
turn =
this._path},_invoke:function(d,e,g,f,c,b,a){if(c=3D=3D=3Dnull||typeof =
c=3D=3D=3D"undefined")c=3Dthis.get_defaultSucceededCallback();if(b=3D=3D=3D=
null||typeof =
b=3D=3D=3D"undefined")b=3Dthis.get_defaultFailedCallback();if(a=3D=3D=3Dn=
ull||typeof =
a=3D=3D=3D"undefined")a=3Dthis.get_defaultUserContext();return =
Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Ne=
t.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebSer=
viceProxy.invoke=3Dfunction(k,a,j,d,i,c,f,h){var b=3Dnew =
Sys.Net.WebRequest;b.get_headers()["Content-Type"]=3D"application/json; =
charset=3Dutf-8";if(!d)d=3D{};var =
g=3Dd;if(!j||!g)g=3D{};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+a,g)=
);var =
e=3Dnull;if(!j){e=3DSys.Serialization.JavaScriptSerializer.serialize(d);i=
f(e=3D=3D=3D"{}")e=3D""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_=
timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var =
e=3Dd.get_statusCode(),b=3Dnull;try{var =
j=3Dd.getResponseHeader("Content-Type");if(j.startsWith("application/json=
"))b=3Dd.get_object();else =
if(j.startsWith("text/xml"))b=3Dd.get_xml();else =
b=3Dd.get_responseData()}catch(m){}var =
k=3Dd.getResponseHeader("jsonerror"),g=3Dk=3D=3D=3D"true";if(g)b=3Dnew =
Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType);if(=
e<200||e>=3D300||g){if(c){if(!b||!g)b=3Dnew =
Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg=
,a),"","");b._statusCode=3De;c(b,f,a)}}else if(i)i(b,f,a)}else{var =
h;if(d.get_timedOut())h=3DString.format(Sys.Res.webServiceTimedOut,a);els=
e h=3DString.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new =
Sys.Net.WebServiceError(d.get_timedOut(),h,"",""),f,a)}}return =
b};Sys.Net.WebServiceProxy._generateTypedConstructor=3Dfunction(a){return=
 function(b){if(b)for(var c in =
b)this[c]=3Db[c];this.__type=3Da}};Sys.Net.WebServiceError=3Dfunction(c,d=
,b,a){this._timedOut=3Dc;this._message=3Dd;this._stackTrace=3Db;this._exc=
eptionType=3Da;this._statusCode=3D-1};Sys.Net.WebServiceError.prototype=3D=
{get_timedOut:function(){return =
this._timedOut},get_statusCode:function(){return =
this._statusCode},get_message:function(){return =
this._message},get_stackTrace:function(){return =
this._stackTrace},get_exceptionType:function(){return =
this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebS=
erviceError");Type.registerNamespace("Sys.Services");Sys.Services._Profil=
eService=3Dfunction(){Sys.Services._ProfileService.initializeBase(this);t=
his.properties=3D{}};Sys.Services._ProfileService.DefaultWebServicePath=3D=
"";Sys.Services._ProfileService.prototype=3D{_defaultFailedCallback:null,=
_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_pa=
th:"",_timeout:0,get_defaultFailedCallback:function(){return =
this._defaultFailedCallback},set_defaultFailedCallback:function(a){this._=
defaultFailedCallback=3Da},get_defaultLoadCompletedCallback:function(){re=
turn =
this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:func=
tion(a){this._defaultLoadCompletedCallback=3Da},get_defaultSaveCompletedC=
allback:function(){return =
this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:func=
tion(a){this._defaultSaveCompletedCallback=3Da},get_path:function(){retur=
n =
this._path},set_path:function(a){if(!a||!a.length)a=3D"";this._path=3Da},=
get_timeout:function(){return =
this._timeout},set_timeout:function(a){this._timeout=3Da},load:function(b=
,d,e,f){var =
c=3D{},a;if(!b)a=3D"GetAllPropertiesForCurrentUser";else{a=3D"GetProperti=
esForCurrentUser";c=3D{properties:this._clonePropertyNames(b)}}this._invo=
ke(this._get_path(),a,false,c,Function.createDelegate(this,this._onLoadCo=
mplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:f=
unction(d,a,c,e){var =
b=3Dthis._flattenProperties(d,this.properties);this._invoke(this._get_pat=
h(),"SetPropertiesForCurrentUser",false,{values:b},Function.createDelegat=
e(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFai=
led),[a,c,e])},_clonePropertyNames:function(e){var c=3D[],d=3D{};for(var =
b=3D0;b<e.length;b++){var =
a=3De[b];if(!d[a]){Array.add(c,a);d[a]=3Dtrue}}return =
c},_flattenProperties:function(a,h,i){var =
b=3D{},e,d;if(a&&a.length=3D=3D=3D0)return b;for(var c in =
h){e=3Dh[c];d=3Di?i+"."+c:c;if(Sys.Services.ProfileGroup.isInstanceOfType=
(e)){var g=3Dthis._flattenProperties(a,e,d);for(var f in g){var =
j=3Dg[f];b[f]=3Dj}}else =
if(!a||Array.indexOf(a,d)!=3D=3D-1)b[d]=3De}return =
b},_get_path:function(){var =
a=3Dthis.get_path();if(!a.length)a=3DSys.Services._ProfileService.Default=
WebServicePath;if(!a||!a.length)throw =
Error.invalidOperation(Sys.Res.servicePathNotSet);return =
a},_onLoadComplete:function(a,f,g){if(typeof a!=3D=3D"object")throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
g,"Object"));var d=3Dthis._unflattenProperties(a);for(var b in =
d)this.properties[b]=3Dd[b];var =
c=3Df[0],e=3Dc?c:this._defaultLoadCompletedCallback;if(e)e(a.length,f[2],=
"Sys.Services.ProfileService.load")},_onLoadFailed:function(d,c){var =
a=3Dc[1],b=3Da?a:this._defaultFailedCallback;if(b)b(d,c[2],"Sys.Services.=
ProfileService.load")},_onSaveComplete:function(d,c,f){if(typeof =
d!=3D=3D"number")throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
f,"Number"));var =
a=3Dc[0],e=3Dc[2],b=3Da?a:this._defaultSaveCompletedCallback;if(b)b(d,e,"=
Sys.Services.ProfileService.save")},_onSaveFailed:function(e,c){var =
a=3Dc[1],d=3Dc[2],b=3Da?a:this._defaultFailedCallback;if(b)b(e,d,"Sys.Ser=
vices.ProfileService.save")},_unflattenProperties:function(e){var =
c=3D{},d,f,h=3D0;for(var a in =
e){h++;f=3De[a];d=3Da.indexOf(".");if(d!=3D=3D-1){var =
g=3Da.substr(0,d);a=3Da.substr(d+1);var =
b=3Dc[g];if(!b||!Sys.Services.ProfileGroup.isInstanceOfType(b)){b=3Dnew =
Sys.Services.ProfileGroup;c[g]=3Db}b[a]=3Df}else =
c[a]=3Df}e.length=3Dh;return =
c}};Sys.Services._ProfileService.registerClass("Sys.Services._ProfileServ=
ice",Sys.Net.WebServiceProxy);Sys.Services.ProfileService=3Dnew =
Sys.Services._ProfileService;Sys.Services.ProfileGroup=3Dfunction(a){if(a=
)for(var b in =
a)this[b]=3Da[b]};Sys.Services.ProfileGroup.registerClass("Sys.Services.P=
rofileGroup");Sys.Services._AuthenticationService=3Dfunction(){Sys.Servic=
es._AuthenticationService.initializeBase(this)};Sys.Services._Authenticat=
ionService.DefaultWebServicePath=3D"";Sys.Services._AuthenticationService=
.prototype=3D{_defaultFailedCallback:null,_defaultLoginCompletedCallback:=
null,_defaultLogoutCompletedCallback:null,_path:"",_timeout:0,_authentica=
ted:false,get_defaultFailedCallback:function(){return =
this._defaultFailedCallback},set_defaultFailedCallback:function(a){this._=
defaultFailedCallback=3Da},get_defaultLoginCompletedCallback:function(){r=
eturn =
this._defaultLoginCompletedCallback},set_defaultLoginCompletedCallback:fu=
nction(a){this._defaultLoginCompletedCallback=3Da},get_defaultLogoutCompl=
etedCallback:function(){return =
this._defaultLogoutCompletedCallback},set_defaultLogoutCompletedCallback:=
function(a){this._defaultLogoutCompletedCallback=3Da},get_isLoggedIn:func=
tion(){return this._authenticated},get_path:function(){return =
this._path},set_path:function(a){if(!a||!a.length)a=3D"";this._path=3Da},=
get_timeout:function(){return =
this._timeout},set_timeout:function(a){this._timeout=3Da},login:function(=
c,b,a,h,f,d,e,g){this._invoke(this._get_path(),"Login",false,{userName:c,=
password:b,createPersistentCookie:a},Function.createDelegate(this,this._o=
nLoginComplete),Function.createDelegate(this,this._onLoginFailed),[c,b,a,=
f,d,e,g])},logout:function(c,a,b,d){this._invoke(this._get_path(),"Logout=
",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.=
createDelegate(this,this._onLogoutFailed),[c,a,b,d])},_get_path:function(=
){var =
a=3Dthis.get_path();if(!a.length)a=3DSys.Services._AuthenticationService.=
DefaultWebServicePath;if(!a||!a.length)throw =
Error.invalidOperation(Sys.Res.servicePathNotSet);return =
a},_onLoginComplete:function(f,c,g){if(typeof f!=3D=3D"boolean")throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
g,"Boolean"));var =
b=3Dc[3],d=3Dc[4],e=3Dc[6],a=3Dd?d:this._defaultLoginCompletedCallback;if=
(f){this._authenticated=3Dtrue;if(a)a(true,e,"Sys.Services.Authentication=
Service.login");if(typeof =
b!=3D=3D"undefined"&&b!=3D=3Dnull)window.location.href=3Db}else =
if(a)a(false,e,"Sys.Services.AuthenticationService.login")},_onLoginFaile=
d:function(d,c){var =
a=3Dc[5],b=3Da?a:this._defaultFailedCallback;if(b)b(d,c[6],"Sys.Services.=
AuthenticationService.login")},_onLogoutComplete:function(g,a,f){if(g!=3D=
=3Dnull)throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
f,"null"));var =
c=3Da[0],b=3Da[1],e=3Da[3],d=3Db?b:this._defaultLogoutCompletedCallback;t=
his._authenticated=3Dfalse;if(d)d(null,e,"Sys.Services.AuthenticationServ=
ice.logout");if(!c)window.location.reload();else =
window.location.href=3Dc},_onLogoutFailed:function(d,c){var =
a=3Dc[2],b=3Da?a:this._defaultFailedCallback;if(b)b(d,c[3],"Sys.Services.=
AuthenticationService.logout")},_setAuthenticated:function(a){this._authe=
nticated=3Da}};Sys.Services._AuthenticationService.registerClass("Sys.Ser=
vices._AuthenticationService",Sys.Net.WebServiceProxy);Sys.Services.Authe=
nticationService=3Dnew =
Sys.Services._AuthenticationService;Type.registerNamespace("Sys.Serializa=
tion");Sys.Serialization.JavaScriptSerializer=3Dfunction(){};Sys.Serializ=
ation.JavaScriptSerializer.registerClass("Sys.Serialization.JavaScriptSer=
ializer");Sys.Serialization.JavaScriptSerializer._stringRegEx=3Dnew =
RegExp('["\b\f\n\r\t\\\\\x00-\x1F]',"i");Sys.Serialization.JavaScriptSeri=
alizer._serializeWithBuilder=3Dfunction(b,a,h){var c;switch(typeof =
b){case =
"object":if(b)if(Array.isInstanceOfType(b)){a.append("[");for(c=3D0;c<b.l=
ength;++c){if(c>0)a.append(",");Sys.Serialization.JavaScriptSerializer._s=
erializeWithBuilder(b[c],a)}a.append("]")}else{if(Date.isInstanceOfType(b=
)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}va=
r e=3D[],i=3D0;for(var g in =
b){if(g.startsWith("$"))continue;e[i++]=3Dg}if(h)e.sort();a.append("{");v=
ar j=3Dfalse;for(c=3D0;c<i;c++){var f=3Db[e[c]];if(typeof =
f!=3D=3D"undefined"&&typeof f!=3D=3D"function"){if(j)a.append(",");else =
j=3Dtrue;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(e[c=
],a,h);a.append(":");Sys.Serialization.JavaScriptSerializer._serializeWit=
hBuilder(f,a,h)}}a.append("}")}else a.append("null");break;case =
"number":if(isFinite(b))a.append(String(b));else throw =
Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);break;cas=
e =
"string":a.append('"');if(Sys.Browser.agent=3D=3D=3DSys.Browser.Safari||S=
ys.Serialization.JavaScriptSerializer._stringRegEx.test(b)){var =
k=3Db.length;for(c=3D0;c<k;++c){var d=3Db.charAt(c);if(d>=3D" =
"){if(d=3D=3D=3D"\\"||d=3D=3D=3D'"')a.append("\\");a.append(d)}else =
switch(d){case "\b":a.append("\\b");break;case =
"\f":a.append("\\f");break;case "\n":a.append("\\n");break;case =
"\r":a.append("\\r");break;case =
"\t":a.append("\\t");break;default:a.append("\\u00");if(d.charCodeAt()<16=
)a.append("0");a.append(d.charCodeAt().toString(16))}}}else =
a.append(b);a.append('"');break;case =
"boolean":a.append(b.toString());break;default:a.append("null");break}};S=
ys.Serialization.JavaScriptSerializer.serialize=3Dfunction(b){var =
a=3Dnew =
Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBu=
ilder(b,a,false);return =
a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=3Dfuncti=
on(data){if(data.length=3D=3D=3D0)throw =
Error.argument("data",Sys.Res.cannotDeserializeEmptyString);try{var =
exp=3Ddata.replace(new =
RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"',"g"),"$1new =
Date($2)");return eval("("+exp+")")}catch(a){throw =
Error.argument("data",Sys.Res.cannotDeserializeInvalidJson)}};Sys.Culture=
Info=3Dfunction(c,b,a){this.name=3Dc;this.numberFormat=3Db;this.dateTimeF=
ormat=3Da};Sys.CultureInfo.prototype=3D{_getDateTimeFormats:function(){if=
(!this._dateTimeFormats){var =
a=3Dthis.dateTimeFormat;this._dateTimeFormats=3D[a.MonthDayPattern,a.Year=
MonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.Lo=
ngTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePa=
ttern,a.UniversalSortableDateTimePattern]}return =
this._dateTimeFormats},_getMonthIndex:function(a){if(!this._upperMonths)t=
his._upperMonths=3Dthis._toUpperArray(this.dateTimeFormat.MonthNames);ret=
urn =
Array.indexOf(this._upperMonths,this._toUpper(a))},_getAbbrMonthIndex:fun=
ction(a){if(!this._upperAbbrMonths)this._upperAbbrMonths=3Dthis._toUpperA=
rray(this.dateTimeFormat.AbbreviatedMonthNames);return =
Array.indexOf(this._upperMonths,this._toUpper(a))},_getDayIndex:function(=
a){if(!this._upperDays)this._upperDays=3Dthis._toUpperArray(this.dateTime=
Format.DayNames);return =
Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:functio=
n(a){if(!this._upperAbbrDays)this._upperAbbrDays=3Dthis._toUpperArray(thi=
s.dateTimeFormat.AbbreviatedDayNames);return =
Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:functi=
on(c){var b=3D[];for(var =
a=3D0,d=3Dc.length;a<d;a++)b[a]=3Dthis._toUpper(c[a]);return =
b},_toUpper:function(a){return a.split("\u00A0").join(" =
").toUpperCase()}};Sys.CultureInfo._parse=3Dfunction(b){var =
a=3DSys.Serialization.JavaScriptSerializer.deserialize(b);return new =
Sys.CultureInfo(a.name,a.numberFormat,a.dateTimeFormat)};Sys.CultureInfo.=
registerClass("Sys.CultureInfo");Sys.CultureInfo.InvariantCulture=3DSys.C=
ultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits":2,"=
CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],=
"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":"=
,","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":=
0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePa=
ttern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberD=
ecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","=
CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveS=
ign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentG=
roupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeD=
igits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"=
dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"=
@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmT=
ype":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":tr=
ue},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDate=
TimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, dd =
MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","Sort=
ableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSepar=
ator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd =
HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy =
MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":true,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}');if(typeof =
__cultureInfo=3D=3D=3D"undefined")var =
__cultureInfo=3D'{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":=
2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":=
[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparato=
r":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0=
,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePat=
tern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDe=
cimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","C=
urrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSi=
gn":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","PercentGr=
oupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDi=
gits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"d=
ateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@=
-62135568000000@","MaxSupportedDateTime":"@253402300799999@","AlgorithmTy=
pe":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":fal=
se},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDate=
TimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, =
MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm =
tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","=
TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd=
 HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, =
yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":false,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}';Sys.CultureInfo.CurrentCulture=3DS=
ys.CultureInfo._parse(__cultureInfo);delete =
__cultureInfo;Sys.UI.Point=3Dfunction(a,b){this.x=3Da;this.y=3Db};Sys.UI.=
Point.registerClass("Sys.UI.Point");Sys.UI.Bounds=3Dfunction(c,d,b,a){thi=
s.x=3Dc;this.y=3Dd;this.height=3Da;this.width=3Db};Sys.UI.Bounds.register=
Class("Sys.UI.Bounds");Sys.UI.DomElement=3Dfunction(){};Sys.UI.DomElement=
.registerClass("Sys.UI.DomElement");Sys.UI.DomElement.addCssClass=3Dfunct=
ion(a,b){if(!Sys.UI.DomElement.containsCssClass(a,b))if(a.className=3D=3D=
=3D"")a.className=3Db;else a.className+=3D" =
"+b};Sys.UI.DomElement.containsCssClass=3Dfunction(b,a){return =
Array.contains(b.className.split(" =
"),a)};Sys.UI.DomElement.getBounds=3Dfunction(a){var =
b=3DSys.UI.DomElement.getLocation(a);return new =
Sys.UI.Bounds(b.x,b.y,a.offsetWidth||0,a.offsetHeight||0)};var =
$get=3DSys.UI.DomElement.getElementById=3Dfunction(f,e){if(!e)return =
document.getElementById(f);if(e.getElementById)return =
e.getElementById(f);var c=3D[],d=3De.childNodes;for(var =
b=3D0;b<d.length;b++){var =
a=3Dd[b];if(a.nodeType=3D=3D1)c[c.length]=3Da}while(c.length){a=3Dc.shift=
();if(a.id=3D=3Df)return =
a;d=3Da.childNodes;for(b=3D0;b<d.length;b++){a=3Dd[b];if(a.nodeType=3D=3D=
1)c[c.length]=3Da}}return null};switch(Sys.Browser.agent){case =
Sys.Browser.InternetExplorer:Sys.UI.DomElement.getLocation=3Dfunction =
Sys$UI$DomElement$getLocation(a){if(a.self||a.nodeType=3D=3D=3D9)return =
new Sys.UI.Point(0,0);var d=3Da.getClientRects();if(!d||!d.length)return =
new Sys.UI.Point(0,0);var =
e=3Da.ownerDocument.parentWindow,g=3De.screenLeft-top.screenLeft-top.docu=
ment.documentElement.scrollLeft+2,h=3De.screenTop-top.screenTop-top.docum=
ent.documentElement.scrollTop+2,c=3De.frameElement||null;if(c){var =
b=3Dc.currentStyle;g+=3D(c.frameBorder||1)*2+(parseInt(b.paddingLeft)||0)=
+(parseInt(b.borderLeftWidth)||0)-a.ownerDocument.documentElement.scrollL=
eft;h+=3D(c.frameBorder||1)*2+(parseInt(b.paddingTop)||0)+(parseInt(b.bor=
derTopWidth)||0)-a.ownerDocument.documentElement.scrollTop}var =
f=3Dd[0];return new Sys.UI.Point(f.left-g,f.top-h)};break;case =
Sys.Browser.Safari:Sys.UI.DomElement.getLocation=3Dfunction(c){if(c.windo=
w&&c.window=3D=3D=3Dc||c.nodeType=3D=3D=3D9)return new =
Sys.UI.Point(0,0);var g=3D0,h=3D0,j=3Dnull,f=3Dnull,b;for(var =
a=3Dc;a;j=3Da,(f=3Db,a=3Da.offsetParent)){b=3DSys.UI.DomElement._getCurre=
ntStyle(a);var =
e=3Da.tagName;if((a.offsetLeft||a.offsetTop)&&(e!=3D=3D"BODY"||(!f||f.pos=
ition!=3D=3D"absolute"))){g+=3Da.offsetLeft;h+=3Da.offsetTop}}b=3DSys.UI.=
DomElement._getCurrentStyle(c);var =
d=3Db?b.position:null,k=3Dd&&d!=3D=3D"static";if(!d||d!=3D=3D"absolute")f=
or(var =
a=3Dc.parentNode;a;a=3Da.parentNode){e=3Da.tagName;if(e!=3D=3D"BODY"&&e!=3D=
=3D"HTML"&&(a.scrollLeft||a.scrollTop)){g-=3Da.scrollLeft||0;h-=3Da.scrol=
lTop||0}b=3DSys.UI.DomElement._getCurrentStyle(a);var =
i=3Db?b.position:null;if(i&&i=3D=3D=3D"absolute")break}return new =
Sys.UI.Point(g,h)};break;case =
Sys.Browser.Opera:Sys.UI.DomElement.getLocation=3Dfunction(b){if(b.window=
&&b.window=3D=3D=3Db||b.nodeType=3D=3D=3D9)return new =
Sys.UI.Point(0,0);var d=3D0,e=3D0,i=3Dnull;for(var =
a=3Db;a;i=3Da,a=3Da.offsetParent){var =
f=3Da.tagName;d+=3Da.offsetLeft||0;e+=3Da.offsetTop||0}var =
g=3Db.style.position,c=3Dg&&g!=3D=3D"static";for(var =
a=3Db.parentNode;a;a=3Da.parentNode){f=3Da.tagName;if(f!=3D=3D"BODY"&&f!=3D=
=3D"HTML"&&(a.scrollLeft||a.scrollTop)&&(c&&(a.style.overflow=3D=3D=3D"sc=
roll"||a.style.overflow=3D=3D=3D"auto"))){d-=3Da.scrollLeft||0;e-=3Da.scr=
ollTop||0}var =
h=3Da&&a.style?a.style.position:null;c=3Dc||h&&h!=3D=3D"static"}return =
new =
Sys.UI.Point(d,e)};break;default:Sys.UI.DomElement.getLocation=3Dfunction=
(d){if(d.window&&d.window=3D=3D=3Dd||d.nodeType=3D=3D=3D9)return new =
Sys.UI.Point(0,0);var e=3D0,f=3D0,i=3Dnull,h=3Dnull,b=3Dnull;for(var =
a=3Dd;a;i=3Da,(h=3Db,a=3Da.offsetParent)){var =
c=3Da.tagName;b=3DSys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft|=
|a.offsetTop)&&!(c=3D=3D=3D"BODY"&&(!h||h.position!=3D=3D"absolute"))){e+=
=3Da.offsetLeft;f+=3Da.offsetTop}if(i!=3D=3Dnull&&b){if(c!=3D=3D"TABLE"&&=
c!=3D=3D"TD"&&c!=3D=3D"HTML"){e+=3DparseInt(b.borderLeftWidth)||0;f+=3Dpa=
rseInt(b.borderTopWidth)||0}if(c=3D=3D=3D"TABLE"&&(b.position=3D=3D=3D"re=
lative"||b.position=3D=3D=3D"absolute")){e+=3DparseInt(b.marginLeft)||0;f=
+=3DparseInt(b.marginTop)||0}}}b=3DSys.UI.DomElement._getCurrentStyle(d);=
var =
g=3Db?b.position:null,j=3Dg&&g!=3D=3D"static";if(!g||g!=3D=3D"absolute")f=
or(var =
a=3Dd.parentNode;a;a=3Da.parentNode){c=3Da.tagName;if(c!=3D=3D"BODY"&&c!=3D=
=3D"HTML"&&(a.scrollLeft||a.scrollTop)){e-=3Da.scrollLeft||0;f-=3Da.scrol=
lTop||0;b=3DSys.UI.DomElement._getCurrentStyle(a);e+=3DparseInt(b.borderL=
eftWidth)||0;f+=3DparseInt(b.borderTopWidth)||0}}return new =
Sys.UI.Point(e,f)};break}Sys.UI.DomElement.removeCssClass=3Dfunction(d,c)=
{var a=3D" "+d.className+" ",b=3Da.indexOf(" "+c+" =
");if(b>=3D0)d.className=3D(a.substr(0,b)+" =
"+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.setLocati=
on=3Dfunction(b,c,d){var =
a=3Db.style;a.position=3D"absolute";a.left=3Dc+"px";a.top=3Dd+"px"};Sys.U=
I.DomElement.toggleCssClass=3Dfunction(b,a){if(Sys.UI.DomElement.contains=
CssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else =
Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement._getCurrentStyle=3D=
function(a){var =
b=3D(a.ownerDocument?a.ownerDocument:a.documentElement).defaultView;retur=
n =
b&&a!=3D=3Db&&b.getComputedStyle?b.getComputedStyle(a,null):a.style};Sys.=
UI.Behavior=3Dfunction(b){Sys.UI.Behavior.initializeBase(this);this._elem=
ent=3Db;var a=3Db._behaviors;if(!a)b._behaviors=3D[this];else =
a[a.length]=3Dthis};Sys.UI.Behavior.prototype=3D{_name:null,get_element:f=
unction(){return this._element},get_id:function(){var =
a=3DSys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return =
a;if(!this._element||!this._element.id)return "";return =
this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)r=
eturn this._name;var =
a=3DObject.getTypeName(this),b=3Da.lastIndexOf(".");if(b!=3D-1)a=3Da.subs=
tr(b+1);if(!this.get_isInitialized())this._name=3Da;return =
a},set_name:function(a){this._name=3Da},initialize:function(){Sys.UI.Beha=
vior.callBaseMethod(this,"initialize");var =
a=3Dthis.get_name();if(a)this._element[a]=3Dthis},dispose:function(){Sys.=
UI.Behavior.callBaseMethod(this,"dispose");if(this._element){var =
a=3Dthis.get_name();if(a)this._element[a]=3Dnull;Array.remove(this._eleme=
nt._behaviors,this);delete =
this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Comp=
onent);Sys.UI.Behavior.getBehaviorByName=3Dfunction(b,c){var =
a=3Db[c];return =
a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehavio=
rs=3Dfunction(a){if(!a._behaviors)return [];return =
Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=3Dfunction(=
d,e){var a=3Dd._behaviors,c=3D[];if(a)for(var =
b=3D0,f=3Da.length;b<f;b++)if(e.isInstanceOfType(a[b]))c[c.length]=3Da[b]=
;return c};Sys.UI.VisibilityMode=3Dfunction(){throw =
Error.notImplemented()};Sys.UI.VisibilityMode.prototype=3D{hide:0,collaps=
e:1};Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.C=
ontrol=3Dfunction(a){Sys.UI.Control.initializeBase(this);this._element=3D=
a;a.control=3Dthis;this._oldDisplayMode=3Dthis._element.style.display;if(=
!this._oldDisplayMode||this._oldDisplayMode=3D=3D"none")this._oldDisplayM=
ode=3D""};Sys.UI.Control.prototype=3D{_parent:null,_visibilityMode:Sys.UI=
.VisibilityMode.hide,get_element:function(){return =
this._element},get_id:function(){if(!this._element)return "";return =
this._element.id},set_id:function(){throw =
Error.invalidOperation(Sys.Res.cantSetId)},get_parent:function(){if(this.=
_parent)return this._parent;else{var =
a=3Dthis._element.parentNode;while(a){if(a.control)return =
a.control;a=3Da.parentNode}return =
null}},set_parent:function(a){this._parent=3Da},get_visibilityMode:functi=
on(){return =
this._visibilityMode},set_visibilityMode:function(a){if(this._visibilityM=
ode!=3D=3Da){this._visibilityMode=3Da;if(this.get_visible()=3D=3D=3Dfalse=
)if(this._visibilityMode=3D=3D=3DSys.UI.VisibilityMode.hide)this._element=
.style.display=3Dthis._oldDisplayMode;else =
this._element.style.display=3D"none"}this._visibilityMode=3Da},get_visibl=
e:function(){return =
this._element.style.visibility!=3D"hidden"},set_visible:function(a){if(a!=
=3Dthis.get_visible()){this._element.style.visibility=3Da?"visible":"hidd=
en";if(a||this._visibilityMode=3D=3D=3DSys.UI.VisibilityMode.hide)this._e=
lement.style.display=3Dthis._oldDisplayMode;else =
this._element.style.display=3D"none"}},addCssClass:function(a){Sys.UI.Dom=
Element.addCssClass(this._element,a)},dispose:function(){Sys.UI.Control.c=
allBaseMethod(this,"dispose");if(this._element){this._element.control=3Du=
ndefined;delete =
this._element}},initialize:function(){Sys.UI.Control.callBaseMethod(this,=
"initialize");var a=3Dthis._element},onBubbleEvent:function(){return =
false},raiseBubbleEvent:function(b,c){var =
a=3Dthis.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=3Da.get_p=
arent()}},removeCssClass:function(a){Sys.UI.DomElement.removeCssClass(thi=
s._element,a)},toggleCssClass:function(a){Sys.UI.DomElement.toggleCssClas=
s(this._element,a)}};Sys.UI.Control.registerClass("Sys.UI.Control",Sys.Co=
mponent)
Type.registerNamespace('Sys');
Sys.Res=3D{
"argumentInteger":"Value must be an integer.",
"scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains =
multiple calls to Sys.Application.notifyScriptLoaded(). Only one is =
allowed.",
"invokeCalledTwice":"Cannot call invoke more than once.",
"webServiceFailed":"The server method \u0027{0}\u0027 failed with the =
following error: {1}",
"argumentType":"Object cannot be converted to the required type.",
"argumentNull":"Value cannot be null.",
"controlCantSetId":"The id property can\u0027t be set on a control.",
"formatBadFormatSpecifier":"Format specifier was invalid.",
"webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.",
"argumentDomElement":"Value must be a DOM element.",
"invalidExecutorType":"Could not create a valid =
Sys.Net.WebRequestExecutor from: {0}.",
"cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is =
false.",
"actualValue":"Actual value was {0}.",
"enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.",
"scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.",
"parameterCount":"Parameter count mismatch.",
"cannotDeserializeEmptyString":"Cannot deserialize empty string.",
"formatInvalidString":"Input string was not in a correct format.",
"invalidTimeout":"Value must be greater than or equal to zero.",
"cannotAbortBeforeStart":"Cannot abort when executor has not started.",
"argument":"Value does not fall within the expected range.",
"cannotDeserializeInvalidJson":"Cannot deserialize. The data does not =
correspond to valid JSON.",
"invalidHttpVerb":"httpVerb cannot be set to an empty or null string.",
"nullWebRequest":"Cannot call executeRequest with a null webRequest.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"cannotSerializeNonFiniteNumbers":"Cannot serialize non finite =
numbers.",
"argumentUndefined":"Value cannot be undefined.",
"webServiceInvalidReturnType":"The server method \u0027{0}\u0027 =
returned an invalid type. Expected type: {1}",
"servicePathNotSet":"The path to the web service has not been set.",
"argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be =
converted to type \u0027{1}\u0027.",
"cannotCallOnceStarted":"Cannot call {0} once started.",
"badBaseUrl1":"Base URL does not contain ://.",
"badBaseUrl2":"Base URL does not contain another /.",
"badBaseUrl3":"Cannot find last / in base URL.",
"setExecutorAfterActive":"Cannot set executor after it has become =
active.",
"paramName":"Parameter name: {0}",
"cannotCallOutsideHandler":"Cannot call {0} outside of a completed event =
handler.",
"format":"One of the identified items was in an invalid format.",
"assertFailedCaller":"Assertion Failed: {0}\r\nat {1}",
"argumentOutOfRange":"Specified argument was out of the range of valid =
values.",
"webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.",
"notImplemented":"The method or operation is not implemented.",
"assertFailed":"Assertion Failed: {0}",
"invalidOperation":"Operation is not valid due to the current state of =
the object.",
"breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"
};

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/ScriptResource.axd?d=Hldmj3GwU3VRJaiaGC9l-2BtuxGN8sGSePD4ewsVfd6SlnaqswlPpSmXjZUo2ftcOILmhJazYsi-cdZJHijOy8Qe9lhNQSAY8nFfDSCwVCs1&t=633196817341848165

=EF=BB=BF//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxWebForms.js
Type.registerNamespace("Sys.WebForms");Sys.WebForms.BeginRequestEventArgs=
=3Dfunction(b,a){Sys.WebForms.BeginRequestEventArgs.initializeBase(this);=
this._request=3Db;this._postBackElement=3Da};Sys.WebForms.BeginRequestEve=
ntArgs.prototype=3D{get_postBackElement:function(){return =
this._postBackElement},get_request:function(){return =
this._request}};Sys.WebForms.BeginRequestEventArgs.registerClass("Sys.Web=
Forms.BeginRequestEventArgs",Sys.EventArgs);Sys.WebForms.EndRequestEventA=
rgs=3Dfunction(c,a,b){Sys.WebForms.EndRequestEventArgs.initializeBase(thi=
s);this._errorHandled=3Dfalse;this._error=3Dc;this._dataItems=3Da||new =
Object;this._response=3Db};Sys.WebForms.EndRequestEventArgs.prototype=3D{=
get_dataItems:function(){return =
this._dataItems},get_error:function(){return =
this._error},get_errorHandled:function(){return =
this._errorHandled},set_errorHandled:function(a){this._errorHandled=3Da},=
get_response:function(){return =
this._response}};Sys.WebForms.EndRequestEventArgs.registerClass("Sys.WebF=
orms.EndRequestEventArgs",Sys.EventArgs);Sys.WebForms.InitializeRequestEv=
entArgs=3Dfunction(b,a){Sys.WebForms.InitializeRequestEventArgs.initializ=
eBase(this);this._request=3Db;this._postBackElement=3Da};Sys.WebForms.Ini=
tializeRequestEventArgs.prototype=3D{get_postBackElement:function(){retur=
n this._postBackElement},get_request:function(){return =
this._request}};Sys.WebForms.InitializeRequestEventArgs.registerClass("Sy=
s.WebForms.InitializeRequestEventArgs",Sys.CancelEventArgs);Sys.WebForms.=
PageLoadedEventArgs=3Dfunction(b,a,c){Sys.WebForms.PageLoadedEventArgs.in=
itializeBase(this);this._panelsUpdated=3Db;this._panelsCreated=3Da;this._=
dataItems=3Dc||new =
Object};Sys.WebForms.PageLoadedEventArgs.prototype=3D{get_dataItems:funct=
ion(){return this._dataItems},get_panelsCreated:function(){return =
this._panelsCreated},get_panelsUpdated:function(){return =
this._panelsUpdated}};Sys.WebForms.PageLoadedEventArgs.registerClass("Sys=
.WebForms.PageLoadedEventArgs",Sys.EventArgs);Sys.WebForms.PageLoadingEve=
ntArgs=3Dfunction(b,a,c){Sys.WebForms.PageLoadingEventArgs.initializeBase=
(this);this._panelsUpdating=3Db;this._panelsDeleting=3Da;this._dataItems=3D=
c||new =
Object};Sys.WebForms.PageLoadingEventArgs.prototype=3D{get_dataItems:func=
tion(){return this._dataItems},get_panelsDeleting:function(){return =
this._panelsDeleting},get_panelsUpdating:function(){return =
this._panelsUpdating}};Sys.WebForms.PageLoadingEventArgs.registerClass("S=
ys.WebForms.PageLoadingEventArgs",Sys.EventArgs);Sys.WebForms.PageRequest=
Manager=3Dfunction(){this._form=3Dnull;this._updatePanelIDs=3Dnull;this._=
updatePanelClientIDs=3Dnull;this._oldUpdatePanelIDs=3Dnull;this._childUpd=
atePanelIDs=3Dnull;this._panelsToRefreshIDs=3Dnull;this._updatePanelHasCh=
ildrenAsTriggers=3Dnull;this._asyncPostBackControlIDs=3Dnull;this._asyncP=
ostBackControlClientIDs=3Dnull;this._postBackControlIDs=3Dnull;this._post=
BackControlClientIDs=3Dnull;this._scriptManagerID=3Dnull;this._pageLoaded=
Handler=3Dnull;this._additionalInput=3Dnull;this._onsubmit=3Dnull;this._o=
nSubmitStatements=3D[];this._originalDoPostBack=3Dnull;this._postBackSett=
ings=3Dnull;this._request=3Dnull;this._onFormSubmitHandler=3Dnull;this._o=
nFormElementClickHandler=3Dnull;this._onWindowUnloadHandler=3Dnull;this._=
asyncPostBackTimeout=3Dnull;this._controlIDToFocus=3Dnull;this._scrollPos=
ition=3Dnull;this._dataItems=3Dnull;this._response=3Dnull;this._processin=
gRequest=3Dfalse;this._scriptDisposes=3D{}};Sys.WebForms.PageRequestManag=
er.prototype=3D{_get_eventHandlerList:function(){if(!this._events)this._e=
vents=3Dnew Sys.EventHandlerList;return =
this._events},get_isInAsyncPostBack:function(){return =
this._request!=3D=3Dnull},add_beginRequest:function(a){this._get_eventHan=
dlerList().addHandler("beginRequest",a)},remove_beginRequest:function(a){=
this._get_eventHandlerList().removeHandler("beginRequest",a)},add_endRequ=
est:function(a){this._get_eventHandlerList().addHandler("endRequest",a)},=
remove_endRequest:function(a){this._get_eventHandlerList().removeHandler(=
"endRequest",a)},add_initializeRequest:function(a){this._get_eventHandler=
List().addHandler("initializeRequest",a)},remove_initializeRequest:functi=
on(a){this._get_eventHandlerList().removeHandler("initializeRequest",a)},=
add_pageLoaded:function(a){this._get_eventHandlerList().addHandler("pageL=
oaded",a)},remove_pageLoaded:function(a){this._get_eventHandlerList().rem=
oveHandler("pageLoaded",a)},add_pageLoading:function(a){this._get_eventHa=
ndlerList().addHandler("pageLoading",a)},remove_pageLoading:function(a){t=
his._get_eventHandlerList().removeHandler("pageLoading",a)},abortPostBack=
:function(){if(!this._processingRequest&&this._request){this._request.get=
_executor().abort();this._request=3Dnull}},_createPageRequestManagerTimeo=
utError:function(){var =
b=3D"Sys.WebForms.PageRequestManagerTimeoutException: =
"+Sys.WebForms.Res.PRM_TimeoutError,a=3DError.create(b,{name:"Sys.WebForm=
s.PageRequestManagerTimeoutException"});a.popStackFrame();return =
a},_createPageRequestManagerServerError:function(a,d){var =
c=3Dd||"Sys.WebForms.PageRequestManagerServerErrorException: =
"+String.format(Sys.WebForms.Res.PRM_ServerError,a),b=3DError.create(c,{n=
ame:"Sys.WebForms.PageRequestManagerServerErrorException",httpStatusCode:=
a});b.popStackFrame();return =
b},_createPageRequestManagerParserError:function(b){var =
c=3D"Sys.WebForms.PageRequestManagerParserErrorException: =
"+String.format(Sys.WebForms.Res.PRM_ParserError,b),a=3DError.create(c,{n=
ame:"Sys.WebForms.PageRequestManagerParserErrorException"});a.popStackFra=
me();return a},_createPostBackSettings:function(c,b,a){return =
{async:c,panelID:b,sourceElement:a}},_convertToClientIDs:function(a,d,c){=
if(a)for(var =
b=3D0;b<a.length;b++){Array.add(d,a[b]);Array.add(c,this._uniqueIDToClien=
tID(a[b]))}},_decodeString:function(a){return =
a.replace(/\\\u00FF\\/g,"\x00").replace(/\u00FF\u00FF/g,"\u00FF")},_destr=
oyTree:function(f){if(f.nodeType=3D=3D=3D1){var d=3Df.childNodes;for(var =
b=3Dd.length-1;b>=3D0;b--){var =
a=3Dd[b];if(a.nodeType=3D=3D=3D1){if(a.dispose&&typeof =
a.dispose=3D=3D=3D"function")a.dispose();else if(a.control&&typeof =
a.control.dispose=3D=3D=3D"function")a.control.dispose();var =
e=3DSys.UI.Behavior.getBehaviors(a);for(var =
c=3De.length-1;c>=3D0;c--)e[c].dispose();this._destroyTree(a)}}}},dispose=
:function(){if(this._form){Sys.UI.DomEvent.removeHandler(this._form,"subm=
it",this._onFormSubmitHandler);Sys.UI.DomEvent.removeHandler(this._form,"=
click",this._onFormElementClickHandler);Sys.UI.DomEvent.removeHandler(win=
dow,"unload",this._onWindowUnloadHandler);Sys.UI.DomEvent.removeHandler(w=
indow,"load",this._pageLoadedHandler)}if(this._originalDoPostBack){window=
.__doPostBack=3Dthis._originalDoPostBack;this._originalDoPostBack=3Dnull}=
this._form=3Dnull;this._updatePanelIDs=3Dnull;this._oldUpdatePanelIDs=3Dn=
ull;this._childUpdatePanelIDs=3Dnull;this._updatePanelClientIDs=3Dnull;th=
is._asyncPostBackControlIDs=3Dnull;this._asyncPostBackControlClientIDs=3D=
null;this._postBackControlIDs=3Dnull;this._postBackControlClientIDs=3Dnul=
l;this._asyncPostBackTimeout=3Dnull;this._scrollPosition=3Dnull;this._dat=
aItems=3Dnull},_doPostBack:function(a,e){this._additionalInput=3Dnull;var=
 =
b=3Dthis._form;if(b.action!=3D=3Db._initialAction)this._postBackSettings=3D=
this._createPostBackSettings(false,null,null);else{var =
f=3Dthis._uniqueIDToClientID(a),d=3Ddocument.getElementById(f);if(!d)if(A=
rray.contains(this._asyncPostBackControlIDs,a))this._postBackSettings=3Dt=
his._createPostBackSettings(true,this._scriptManagerID+"|"+a,null);else =
if(Array.contains(this._postBackControlIDs,a))this._postBackSettings=3Dth=
is._createPostBackSettings(false,null,null);else{var =
c=3Dthis._findNearestElement(a);if(c)this._postBackSettings=3Dthis._getPo=
stBackSettings(c,a);else =
this._postBackSettings=3Dthis._createPostBackSettings(false,null,null)}el=
se =
this._postBackSettings=3Dthis._getPostBackSettings(d,a)}if(!this._postBac=
kSettings.async){b.onsubmit=3Dthis._onsubmit;this._originalDoPostBack(a,e=
);b.onsubmit=3Dnull;return}b.__EVENTTARGET.value=3Da;b.__EVENTARGUMENT.va=
lue=3De;this._onFormSubmit()},_elementContains:function(b,a){while(a){if(=
a=3D=3D=3Db)return true;a=3Da.parentNode}return =
false},_endPostBack:function(a,e){this._processingRequest=3Dfalse;this._r=
equest=3Dnull;this._additionalInput=3Dnull;var =
d=3Dthis._get_eventHandlerList().getHandler("endRequest"),b=3Dfalse;if(d)=
{var c=3Dnew =
Sys.WebForms.EndRequestEventArgs(a,this._dataItems,e);d(this,c);b=3Dc.get=
_errorHandled()}this._dataItems=3Dnull;if(a&&!b)alert(a.message)},_findNe=
arestElement:function(a){while(a.length>0){var =
d=3Dthis._uniqueIDToClientID(a),c=3Ddocument.getElementById(d);if(c)retur=
n c;var b=3Da.lastIndexOf("$");if(b=3D=3D=3D-1)return =
null;a=3Da.substring(0,b)}return null},_findText:function(b,a){var =
c=3DMath.max(0,a-20),d=3DMath.min(b.length,a+20);return =
b.substring(c,d)},_getPageLoadedEventArgs:function(f){var =
e=3D[],d=3D[],h=3Dthis._oldUpdatePanelIDs||[],b=3Dthis._updatePanelIDs,g=3D=
this._childUpdatePanelIDs||[],c=3Dthis._panelsToRefreshIDs||[];for(var =
a=3D0;a<c.length;a++)Array.add(e,document.getElementById(this._uniqueIDTo=
ClientID(c[a])));for(var =
a=3D0;a<b.length;a++)if(f||Array.indexOf(g,b[a])!=3D=3D-1)Array.add(d,doc=
ument.getElementById(this._uniqueIDToClientID(b[a])));return new =
Sys.WebForms.PageLoadedEventArgs(e,d,this._dataItems)},_getPageLoadingEve=
ntArgs:function(){var =
e=3D[],d=3D[],b=3Dthis._oldUpdatePanelIDs,g=3Dthis._updatePanelIDs,f=3Dth=
is._childUpdatePanelIDs,c=3Dthis._panelsToRefreshIDs;for(var =
a=3D0;a<c.length;a++)Array.add(e,document.getElementById(this._uniqueIDTo=
ClientID(c[a])));for(var =
a=3D0;a<b.length;a++)if(Array.indexOf(c,b[a])=3D=3D=3D-1&&(Array.indexOf(=
g,b[a])=3D=3D=3D-1||Array.indexOf(f,b[a])>-1))Array.add(d,document.getEle=
mentById(this._uniqueIDToClientID(b[a])));return new =
Sys.WebForms.PageLoadingEventArgs(e,d,this._dataItems)},_getPostBackSetti=
ngs:function(a,c){var =
d=3Da,b=3Dnull;while(a){if(a.id){if(!b&&Array.contains(this._asyncPostBac=
kControlClientIDs,a.id))b=3Dthis._createPostBackSettings(true,this._scrip=
tManagerID+"|"+c,d);else =
if(!b&&Array.contains(this._postBackControlClientIDs,a.id))return =
this._createPostBackSettings(false,null,null);else{var =
e=3DArray.indexOf(this._updatePanelClientIDs,a.id);if(e!=3D=3D-1)if(this.=
_updatePanelHasChildrenAsTriggers[e])return =
this._createPostBackSettings(true,this._updatePanelIDs[e]+"|"+c,d);else =
return =
this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d)}if(!b&&t=
his._matchesParentIDInList(a.id,this._asyncPostBackControlClientIDs))b=3D=
this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d);else =
if(!b&&this._matchesParentIDInList(a.id,this._postBackControlClientIDs))r=
eturn =
this._createPostBackSettings(false,null,null)}a=3Da.parentNode}if(!b)retu=
rn this._createPostBackSettings(false,null,null);else return =
b},_getScrollPosition:function(){var =
a=3Ddocument.documentElement;if(a&&(this._validPosition(a.scrollLeft)||th=
is._validPosition(a.scrollTop)))return =
{x:a.scrollLeft,y:a.scrollTop};else{a=3Ddocument.body;if(a&&(this._validP=
osition(a.scrollLeft)||this._validPosition(a.scrollTop)))return =
{x:a.scrollLeft,y:a.scrollTop};else =
if(this._validPosition(window.pageXOffset)||this._validPosition(window.pa=
geYOffset))return {x:window.pageXOffset,y:window.pageYOffset};else =
return =
{x:0,y:0}}},_initializeInternal:function(a,b){this._scriptManagerID=3Da;t=
his._form=3Db;this._form._initialAction=3Dthis._form.action;this._onsubmi=
t=3Dthis._form.onsubmit;this._form.onsubmit=3Dnull;this._onFormSubmitHand=
ler=3DFunction.createDelegate(this,this._onFormSubmit);this._onFormElemen=
tClickHandler=3DFunction.createDelegate(this,this._onFormElementClick);th=
is._onWindowUnloadHandler=3DFunction.createDelegate(this,this._onWindowUn=
load);Sys.UI.DomEvent.addHandler(this._form,"submit",this._onFormSubmitHa=
ndler);Sys.UI.DomEvent.addHandler(this._form,"click",this._onFormElementC=
lickHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._onWindowUnl=
oadHandler);this._originalDoPostBack=3Dwindow.__doPostBack;if(this._origi=
nalDoPostBack)window.__doPostBack=3DFunction.createDelegate(this,this._do=
PostBack);this._pageLoadedHandler=3DFunction.createDelegate(this,this._pa=
geLoadedInitialLoad);Sys.UI.DomEvent.addHandler(window,"load",this._pageL=
oadedHandler)},_matchesParentIDInList:function(c,b){for(var =
a=3D0;a<b.length;a++)if(c.startsWith(b[a]+"_"))return true;return =
false},_onFormElementClick:function(b){var =
a=3Db.target;if(a.disabled)return;this._postBackSettings=3Dthis._getPostB=
ackSettings(a,a.name);if(a.name)if(a.tagName=3D=3D=3D"INPUT"){var =
c=3Da.type;if(c=3D=3D=3D"submit")this._additionalInput=3Da.name+"=3D"+enc=
odeURIComponent(a.value);else if(c=3D=3D=3D"image"){var =
d=3Db.offsetX,e=3Db.offsetY;this._additionalInput=3Da.name+".x=3D"+d+"&"+=
a.name+".y=3D"+e}}else =
if(a.tagName=3D=3D=3D"BUTTON"&&a.name.length!=3D=3D0&&a.type=3D=3D=3D"sub=
mit")this._additionalInput=3Da.name+"=3D"+encodeURIComponent(a.value)},_o=
nFormSubmit:function(f){var =
d=3Dtrue;if(this._onsubmit)d=3Dthis._onsubmit();if(d)for(var =
g=3D0;g<this._onSubmitStatements.length;g++)if(!this._onSubmitStatements[=
g]()){d=3Dfalse;break}if(!d){if(f)f.preventDefault();return}var =
i=3Dthis._form;if(i.action!=3D=3Di._initialAction)return;if(!this._postBa=
ckSettings.async)return;var a=3Dnew =
Sys.StringBuilder;a.append(this._scriptManagerID+"=3D"+this._postBackSett=
ings.panelID+"&");var p=3Di.elements.length;for(var g=3D0;g<p;g++){var =
c=3Di.elements[g],e=3Dc.name;if(typeof =
e=3D=3D=3D"undefined"||e=3D=3D=3Dnull||e.length=3D=3D=3D0)continue;var =
l=3Dc.tagName;if(l=3D=3D=3D"INPUT"){var =
j=3Dc.type;if(j=3D=3D=3D"text"||j=3D=3D=3D"password"||j=3D=3D=3D"hidden"|=
|(j=3D=3D=3D"checkbox"||j=3D=3D=3D"radio")&&c.checked){a.append(e);a.appe=
nd("=3D");a.append(encodeURIComponent(c.value));a.append("&")}}else =
if(l=3D=3D=3D"SELECT"){var o=3Dc.options.length;for(var =
m=3D0;m<o;m++){var =
n=3Dc.options[m];if(n.selected){a.append(e);a.append("=3D");a.append(enco=
deURIComponent(n.value));a.append("&")}}}else =
if(l=3D=3D=3D"TEXTAREA"){a.append(e);a.append("=3D");a.append(encodeURICo=
mponent(c.value));a.append("&")}}if(this._additionalInput){a.append(this.=
_additionalInput);this._additionalInput=3Dnull}var b=3Dnew =
Sys.Net.WebRequest;b.set_url(i.action);b.get_headers()["X-MicrosoftAjax"]=
=3D"Delta=3Dtrue";b.get_headers()["Cache-Control"]=3D"no-cache";b.set_tim=
eout(this._asyncPostBackTimeout);b.add_completed(Function.createDelegate(=
this,this._onFormSubmitCompleted));b.set_body(a.toString());var =
h=3Dthis._get_eventHandlerList().getHandler("initializeRequest");if(h){va=
r k=3Dnew =
Sys.WebForms.InitializeRequestEventArgs(b,this._postBackSettings.sourceEl=
ement);h(this,k);d=3D!k.get_cancel()}if(!d){if(f)f.preventDefault();retur=
n}this._scrollPosition=3Dthis._getScrollPosition();this.abortPostBack();h=
=3Dthis._get_eventHandlerList().getHandler("beginRequest");if(h){var =
k=3Dnew =
Sys.WebForms.BeginRequestEventArgs(b,this._postBackSettings.sourceElement=
);h(this,k)}this._request=3Db;b.invoke();if(f)f.preventDefault()},_onForm=
SubmitCompleted:function(sender,eventArgs){this._processingRequest=3Dtrue=
;var =
delimitByLengthDelimiter=3D"|";if(sender.get_timedOut()){this._endPostBac=
k(this._createPageRequestManagerTimeoutError(),sender);return}if(sender.g=
et_aborted()){this._endPostBack(null,sender);return}if(!this._request||se=
nder.get_webRequest()!=3D=3Dthis._request)return;var =
errorMessage,delta=3D[];if(sender.get_statusCode()!=3D=3D200){this._endPo=
stBack(this._createPageRequestManagerServerError(sender.get_statusCode())=
,sender);return}var =
reply=3Dsender.get_responseData(),delimiterIndex,len,type,id,content,repl=
yIndex=3D0,parserErrorDetails=3Dnull;while(replyIndex<reply.length){delim=
iterIndex=3Dreply.indexOf(delimitByLengthDelimiter,replyIndex);if(delimit=
erIndex=3D=3D=3D-1){parserErrorDetails=3Dthis._findText(reply,replyIndex)=
;break}len=3DparseInt(reply.substring(replyIndex,delimiterIndex),10);if(l=
en%1!=3D=3D0){parserErrorDetails=3Dthis._findText(reply,replyIndex);break=
}replyIndex=3DdelimiterIndex+1;delimiterIndex=3Dreply.indexOf(delimitByLe=
ngthDelimiter,replyIndex);if(delimiterIndex=3D=3D=3D-1){parserErrorDetail=
s=3Dthis._findText(reply,replyIndex);break}type=3Dreply.substring(replyIn=
dex,delimiterIndex);replyIndex=3DdelimiterIndex+1;delimiterIndex=3Dreply.=
indexOf(delimitByLengthDelimiter,replyIndex);if(delimiterIndex=3D=3D=3D-1=
){parserErrorDetails=3Dthis._findText(reply,replyIndex);break}id=3Dreply.=
substring(replyIndex,delimiterIndex);replyIndex=3DdelimiterIndex+1;if(rep=
lyIndex+len>=3Dreply.length){parserErrorDetails=3Dthis._findText(reply,re=
ply.length);break}content=3Dthis._decodeString(reply.substr(replyIndex,le=
n));replyIndex+=3Dlen;if(reply.charAt(replyIndex)!=3D=3DdelimitByLengthDe=
limiter){parserErrorDetails=3Dthis._findText(reply,replyIndex);break}repl=
yIndex++;Array.add(delta,{type:type,id:id,content:content})}if(parserErro=
rDetails){this._endPostBack(this._createPageRequestManagerParserError(Str=
ing.format(Sys.WebForms.Res.PRM_ParserErrorDetails,parserErrorDetails)),s=
ender);return}var =
updatePanelNodes=3D[],hiddenFieldNodes=3D[],arrayDeclarationNodes=3D[],sc=
riptBlockNodes=3D[],expandoNodes=3D[],onSubmitNodes=3D[],dataItemNodes=3D=
[],dataItemJsonNodes=3D[],scriptDisposeNodes=3D[],asyncPostBackControlIDs=
Node,postBackControlIDsNode,updatePanelIDsNode,asyncPostBackTimeoutNode,c=
hildUpdatePanelIDsNode,panelsToRefreshNode,formActionNode;for(var =
i=3D0;i<delta.length;i++){var =
deltaNode=3Ddelta[i];switch(deltaNode.type){case =
"updatePanel":Array.add(updatePanelNodes,deltaNode);break;case =
"hiddenField":Array.add(hiddenFieldNodes,deltaNode);break;case =
"arrayDeclaration":Array.add(arrayDeclarationNodes,deltaNode);break;case =
"scriptBlock":Array.add(scriptBlockNodes,deltaNode);break;case =
"expando":Array.add(expandoNodes,deltaNode);break;case =
"onSubmit":Array.add(onSubmitNodes,deltaNode);break;case =
"asyncPostBackControlIDs":asyncPostBackControlIDsNode=3DdeltaNode;break;c=
ase "postBackControlIDs":postBackControlIDsNode=3DdeltaNode;break;case =
"updatePanelIDs":updatePanelIDsNode=3DdeltaNode;break;case =
"asyncPostBackTimeout":asyncPostBackTimeoutNode=3DdeltaNode;break;case =
"childUpdatePanelIDs":childUpdatePanelIDsNode=3DdeltaNode;break;case =
"panelsToRefreshIDs":panelsToRefreshNode=3DdeltaNode;break;case =
"formAction":formActionNode=3DdeltaNode;break;case =
"dataItem":Array.add(dataItemNodes,deltaNode);break;case =
"dataItemJson":Array.add(dataItemJsonNodes,deltaNode);break;case =
"scriptDispose":Array.add(scriptDisposeNodes,deltaNode);break;case =
"pageRedirect":window.location.href=3DdeltaNode.content;return;case =
"error":this._endPostBack(this._createPageRequestManagerServerError(Numbe=
r.parseInvariant(deltaNode.id),deltaNode.content),sender);return;case =
"pageTitle":document.title=3DdeltaNode.content;break;case =
"focus":this._controlIDToFocus=3DdeltaNode.content;break;default:this._en=
dPostBack(this._createPageRequestManagerParserError(String.format(Sys.Web=
Forms.Res.PRM_UnknownToken,deltaNode.type)),sender);return}}var =
i;if(asyncPostBackControlIDsNode&&postBackControlIDsNode&&updatePanelIDsN=
ode&&panelsToRefreshNode&&asyncPostBackTimeoutNode&&childUpdatePanelIDsNo=
de){this._oldUpdatePanelIDs=3Dthis._updatePanelIDs;var =
childUpdatePanelIDsString=3DchildUpdatePanelIDsNode.content;this._childUp=
datePanelIDs=3DchildUpdatePanelIDsString.length?childUpdatePanelIDsString=
.split(","):[];var =
asyncPostBackControlIDsArray=3Dthis._splitNodeIntoArray(asyncPostBackCont=
rolIDsNode),postBackControlIDsArray=3Dthis._splitNodeIntoArray(postBackCo=
ntrolIDsNode),updatePanelIDsArray=3Dthis._splitNodeIntoArray(updatePanelI=
DsNode);this._panelsToRefreshIDs=3Dthis._splitNodeIntoArray(panelsToRefre=
shNode);for(i=3D0;i<this._panelsToRefreshIDs.length;i++){var =
panelClientID=3Dthis._uniqueIDToClientID(this._panelsToRefreshIDs[i]);if(=
!document.getElementById(panelClientID)){this._endPostBack(Error.invalidO=
peration(String.format(Sys.WebForms.Res.PRM_MissingPanel,panelClientID)),=
sender);return}}var =
asyncPostBackTimeout=3DasyncPostBackTimeoutNode.content;this._updateContr=
ols(updatePanelIDsArray,asyncPostBackControlIDsArray,postBackControlIDsAr=
ray,asyncPostBackTimeout)}this._dataItems=3D{};for(i=3D0;i<dataItemNodes.=
length;i++){var =
dataItemNode=3DdataItemNodes[i];this._dataItems[dataItemNode.id]=3DdataIt=
emNode.content}for(i=3D0;i<dataItemJsonNodes.length;i++){var =
dataItemJsonNode=3DdataItemJsonNodes[i];this._dataItems[dataItemJsonNode.=
id]=3Deval(dataItemJsonNode.content)}var =
handler=3Dthis._get_eventHandlerList().getHandler("pageLoading");if(handl=
er)handler(this,this._getPageLoadingEventArgs());if(formActionNode){this.=
_form.action=3DformActionNode.content;this._form._initialAction=3Dthis._f=
orm.action}for(i=3D0;i<updatePanelNodes.length;i++){var =
deltaUpdatePanel=3DupdatePanelNodes[i],deltaPanelID=3DdeltaUpdatePanel.id=
,deltaPanelRendering=3DdeltaUpdatePanel.content,updatePanelElement=3Ddocu=
ment.getElementById(deltaPanelID);if(!updatePanelElement){this._endPostBa=
ck(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel=
,deltaPanelID)),sender);return}this._updatePanel(updatePanelElement,delta=
PanelRendering)}for(i=3D0;i<scriptDisposeNodes.length;i++){var =
disposePanelId=3DscriptDisposeNodes[i].id,disposeScript=3DscriptDisposeNo=
des[i].content;this._registerDisposeScript(disposePanelId,disposeScript)}=
for(i=3D0;i<hiddenFieldNodes.length;i++){var =
id=3DhiddenFieldNodes[i].id,value=3DhiddenFieldNodes[i].content,hiddenFie=
ldElement=3Ddocument.getElementById(id);if(!hiddenFieldElement){hiddenFie=
ldElement=3Ddocument.createElement("input");hiddenFieldElement.id=3Did;hi=
ddenFieldElement.name=3Did;hiddenFieldElement.type=3D"hidden";this._form.=
appendChild(hiddenFieldElement)}hiddenFieldElement.value=3Dvalue}var =
arrayScript=3D"";for(i=3D0;i<arrayDeclarationNodes.length;i++)arrayScript=
+=3D"Sys.WebForms.PageRequestManager._addArrayElement('"+arrayDeclaration=
Nodes[i].id+"', "+arrayDeclarationNodes[i].content+");\r\n";var =
expandoScript=3D"";for(i=3D0;i<expandoNodes.length;i++){var =
propertyReference=3DexpandoNodes[i].id,propertyValue=3DexpandoNodes[i].co=
ntent;expandoScript+=3DpropertyReference+" =3D =
"+propertyValue+"\r\n"}Sys._ScriptLoader.readLoadedScripts();Sys.Applicat=
ion.beginCreateComponents();var =
scriptLoader=3DSys._ScriptLoader.getInstance();if(arrayScript.length)scri=
ptLoader.queueScriptBlock(arrayScript);if(expandoScript.length)scriptLoad=
er.queueScriptBlock(expandoScript);for(i=3D0;i<scriptBlockNodes.length;i+=
+){var =
scriptBlockType=3DscriptBlockNodes[i].id;switch(scriptBlockType){case =
"ScriptContentNoTags":scriptLoader.queueScriptBlock(scriptBlockNodes[i].c=
ontent);break;case "ScriptContentWithTags":var =
scriptTagAttributes;eval("scriptTagAttributes =3D =
"+scriptBlockNodes[i].content);if(scriptTagAttributes.src&&Sys._ScriptLoa=
der.isScriptLoaded(scriptTagAttributes.src))continue;scriptLoader.queueCu=
stomScriptTag(scriptTagAttributes);break;case =
"ScriptPath":if(Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].cont=
ent))continue;scriptLoader.queueScriptReference(scriptBlockNodes[i].conte=
nt);break}}var onSubmitStatementScript=3D"";for(var =
i=3D0;i<onSubmitNodes.length;i++){if(i=3D=3D=3D0)onSubmitStatementScript=3D=
"Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStateme=
nts, function() =
{\r\n";onSubmitStatementScript+=3DonSubmitNodes[i].content+"\r\n"}if(onSu=
bmitStatementScript.length){onSubmitStatementScript+=3D"\r\nreturn =
true;\r\n});\r\n";scriptLoader.queueScriptBlock(onSubmitStatementScript)}=
this._response=3Dsender;scriptLoader.loadScripts(0,Function.createDelegat=
e(this,this._scriptsLoadComplete),null,null)},_onWindowUnload:function(){=
this.dispose()},_pageLoaded:function(a){var =
b=3Dthis._get_eventHandlerList().getHandler("pageLoaded");if(b)b(this,thi=
s._getPageLoadedEventArgs(a));if(!a)Sys.Application.raiseLoad()},_pageLoa=
dedInitialLoad:function(){this._pageLoaded(true)},_registerDisposeScript:=
function(a,b){if(!this._scriptDisposes[a])this._scriptDisposes[a]=3D[b];e=
lse =
Array.add(this._scriptDisposes[a],b)},_scriptsLoadComplete:function(){if(=
window.__theFormPostData)window.__theFormPostData=3D"";if(window.__theFor=
mPostCollection)window.__theFormPostCollection=3D[];if(window.WebForm_Ini=
tCallback)window.WebForm_InitCallback();if(this._scrollPosition){if(windo=
w.scrollTo)window.scrollTo(this._scrollPosition.x,this._scrollPosition.y)=
;this._scrollPosition=3Dnull}Sys.Application.endCreateComponents();this._=
pageLoaded(false);this._endPostBack(null,this._response);this._response=3D=
null;if(this._controlIDToFocus){var =
a,c;if(Sys.Browser.agent=3D=3D=3DSys.Browser.InternetExplorer){var =
b=3D$get(this._controlIDToFocus),a=3Db;if(b&&!WebForm_CanFocus(b))a=3DWeb=
Form_FindFirstFocusableChild(b);if(a&&typeof =
a.contentEditable!=3D=3D"undefined"){c=3Da.contentEditable;a.contentEdita=
ble=3Dfalse}else =
a=3Dnull}WebForm_AutoFocus(this._controlIDToFocus);if(a)a.contentEditable=
=3Dc;this._controlIDToFocus=3Dnull}},_splitNodeIntoArray:function(b){var =
a=3Db.content,c=3Da.length?a.split(","):[];return =
c},_uniqueIDToClientID:function(a){return =
a.replace(/\$/g,"_")},_updateControls:function(a,d,g,e){if(a){this._updat=
ePanelIDs=3Dnew Array(a.length);this._updatePanelClientIDs=3Dnew =
Array(a.length);this._updatePanelHasChildrenAsTriggers=3Dnew =
Array(a.length);for(var b=3D0;b<a.length;b++){var =
c=3Da[b].substr(1),f=3Da[b].charAt(0)=3D=3D=3D"t";this._updatePanelHasChi=
ldrenAsTriggers[b]=3Df;this._updatePanelIDs[b]=3Dc;this._updatePanelClien=
tIDs[b]=3Dthis._uniqueIDToClientID(c)}this._asyncPostBackTimeout=3De*1000=
}else{this._updatePanelIDs=3D[];this._updatePanelClientIDs=3D[];this._upd=
atePanelHasChildrenAsTriggers=3D[];this._asyncPostBackTimeout=3D0}this._a=
syncPostBackControlIDs=3D[];this._asyncPostBackControlClientIDs=3D[];this=
._convertToClientIDs(d,this._asyncPostBackControlIDs,this._asyncPostBackC=
ontrolClientIDs);this._postBackControlIDs=3D[];this._postBackControlClien=
tIDs=3D[];this._convertToClientIDs(g,this._postBackControlIDs,this._postB=
ackControlClientIDs)},_updatePanel:function(updatePanelElement,rendering)=
{for(var updatePanelID in =
this._scriptDisposes)if(this._elementContains(updatePanelElement,document=
.getElementById(updatePanelID))){var =
disposeScripts=3Dthis._scriptDisposes[updatePanelID];for(var =
i=3D0;i<disposeScripts.length;i++)eval(disposeScripts[i]);delete =
this._scriptDisposes[updatePanelID]}this._destroyTree(updatePanelElement)=
;updatePanelElement.innerHTML=3Drendering},_validPosition:function(a){ret=
urn typeof =
a!=3D=3D"undefined"&&a!=3D=3Dnull&&a!=3D=3D0}};Sys.WebForms.PageRequestMa=
nager.getInstance=3Dfunction(){return =
Sys.WebForms.PageRequestManager._instance||null};Sys.WebForms.PageRequest=
Manager._addArrayElement=3Dfunction(a,b){if(typeof =
window[a]=3D=3D=3D"undefined")window[a]=3D[b];else =
Array.add(window[a],b)};Sys.WebForms.PageRequestManager._initialize=3Dfun=
ction(a,b){if(Sys.WebForms.PageRequestManager.getInstance())throw =
Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);Sys.WebF=
orms.PageRequestManager._instance=3Dnew =
Sys.WebForms.PageRequestManager;Sys.WebForms.PageRequestManager.getInstan=
ce()._initializeInternal(a,b)};Sys.WebForms.PageRequestManager.registerCl=
ass("Sys.WebForms.PageRequestManager");Sys.UI._UpdateProgress=3Dfunction(=
a){Sys.UI._UpdateProgress.initializeBase(this,[a]);this._displayAfter=3D5=
00;this._dynamicLayout=3Dtrue;this._associatedUpdatePanelId=3Dnull;this._=
beginRequestHandlerDelegate=3Dnull;this._startDelegate=3Dnull;this._endRe=
questHandlerDelegate=3Dnull;this._pageRequestManager=3Dnull;this._timerCo=
okie=3Dnull};Sys.UI._UpdateProgress.prototype=3D{get_displayAfter:functio=
n(){return =
this._displayAfter},set_displayAfter:function(a){this._displayAfter=3Da},=
get_dynamicLayout:function(){return =
this._dynamicLayout},set_dynamicLayout:function(a){this._dynamicLayout=3D=
a},get_associatedUpdatePanelId:function(){return =
this._associatedUpdatePanelId},set_associatedUpdatePanelId:function(a){th=
is._associatedUpdatePanelId=3Da},_handleBeginRequest:function(d,c){var =
a=3Dc.get_postBackElement(),b=3D!this._associatedUpdatePanelId;while(!b&&=
a){if(a.id&&this._associatedUpdatePanelId=3D=3D=3Da.id)b=3Dtrue;a=3Da.par=
entNode}if(b)this._timerCookie=3Dwindow.setTimeout(this._startDelegate,th=
is._displayAfter)},_startRequest:function(){if(this._pageRequestManager.g=
et_isInAsyncPostBack())if(this._dynamicLayout)this.get_element().style.di=
splay=3D"block";else =
this.get_element().style.visibility=3D"visible";this._timerCookie=3Dnull}=
,_handleEndRequest:function(){if(this._dynamicLayout)this.get_element().s=
tyle.display=3D"none";else =
this.get_element().style.visibility=3D"hidden";if(this._timerCookie){wind=
ow.clearTimeout(this._timerCookie);this._timerCookie=3Dnull}},dispose:fun=
ction(){if(this._pageRequestManager!=3D=3Dnull){this._pageRequestManager.=
remove_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestM=
anager.remove_endRequest(this._endRequestHandlerDelegate)}Sys.UI._UpdateP=
rogress.callBaseMethod(this,"dispose")},initialize:function(){Sys.UI._Upd=
ateProgress.callBaseMethod(this,"initialize");this._beginRequestHandlerDe=
legate=3DFunction.createDelegate(this,this._handleBeginRequest);this._end=
RequestHandlerDelegate=3DFunction.createDelegate(this,this._handleEndRequ=
est);this._startDelegate=3DFunction.createDelegate(this,this._startReques=
t);if(Sys.WebForms&&Sys.WebForms.PageRequestManager)this._pageRequestMana=
ger=3DSys.WebForms.PageRequestManager.getInstance();if(this._pageRequestM=
anager!=3D=3Dnull){this._pageRequestManager.add_beginRequest(this._beginR=
equestHandlerDelegate);this._pageRequestManager.add_endRequest(this._endR=
equestHandlerDelegate)}}};Sys.UI._UpdateProgress.registerClass("Sys.UI._U=
pdateProgress",Sys.UI.Control)
Type.registerNamespace('Sys.WebForms');
Sys.WebForms.Res=3D{
"PRM_UnknownToken":"Unknown token: \u0027{0}\u0027.",
"PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. =
If it is being updated dynamically then it must be inside another =
UpdatePanel.",
"PRM_ServerError":"An unknown error occurred while processing the =
request on the server. The status code returned from the server was: =
{0}",
"PRM_ParserError":"The message received from the server could not be =
parsed. Common causes for this error are when the response is modified =
by calls to Response.Write(), response filters, HttpModules, or server =
trace is enabled.\r\nDetails: {0}",
"PRM_TimeoutError":"The server request timed out.",
"PRM_ParserErrorDetails":"Error parsing near \u0027{0}\u0027.",
"PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized =
more than once."
};

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/Scripts/prototype.js

/*  Prototype JavaScript framework, version 1.5.1=0A=
 *  (c) 2005-2007 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://www.prototypejs.org/=0A=
 *=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.5.1',=0A=
=0A=
  Browser: {=0A=
    IE:     !!(window.attachEvent && !window.opera),=0A=
    Opera:  !!window.opera,=0A=
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A=
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && =
navigator.userAgent.indexOf('KHTML') =3D=3D -1=0A=
  },=0A=
=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate,=0A=
    ElementExtensions: !!window.HTMLElement,=0A=
    SpecificElementExtensions:=0A=
      (document.createElement('div').__proto__ !=3D=3D=0A=
       document.createElement('form').__proto__)=0A=
  },=0A=
=0A=
  ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>',=0A=
  JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,=0A=
=0A=
  emptyFunction: function() { },=0A=
  K: function(x) { return x }=0A=
}=0A=
=0A=
var Class =3D {=0A=
  create: function() {=0A=
    return function() {=0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
var Abstract =3D new Object();=0A=
=0A=
Object.extend =3D function(destination, source) {=0A=
  for (var property in source) {=0A=
    destination[property] =3D source[property];=0A=
  }=0A=
  return destination;=0A=
}=0A=
=0A=
Object.extend(Object, {=0A=
  inspect: function(object) {=0A=
    try {=0A=
      if (object =3D=3D=3D undefined) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : object.toString();=0A=
    } catch (e) {=0A=
      if (e instanceof RangeError) return '...';=0A=
      throw e;=0A=
    }=0A=
  },=0A=
=0A=
  toJSON: function(object) {=0A=
    var type =3D typeof object;=0A=
    switch(type) {=0A=
      case 'undefined':=0A=
      case 'function':=0A=
      case 'unknown': return;=0A=
      case 'boolean': return object.toString();=0A=
    }=0A=
    if (object =3D=3D=3D null) return 'null';=0A=
    if (object.toJSON) return object.toJSON();=0A=
    if (object.ownerDocument =3D=3D=3D document) return;=0A=
    var results =3D [];=0A=
    for (var property in object) {=0A=
      var value =3D Object.toJSON(object[property]);=0A=
      if (value !=3D=3D undefined)=0A=
        results.push(property.toJSON() + ': ' + value);=0A=
    }=0A=
    return '{' + results.join(', ') + '}';=0A=
  },=0A=
=0A=
  keys: function(object) {=0A=
    var keys =3D [];=0A=
    for (var property in object)=0A=
      keys.push(property);=0A=
    return keys;=0A=
  },=0A=
=0A=
  values: function(object) {=0A=
    var values =3D [];=0A=
    for (var property in object)=0A=
      values.push(object[property]);=0A=
    return values;=0A=
  },=0A=
=0A=
  clone: function(object) {=0A=
    return Object.extend({}, object);=0A=
  }=0A=
});=0A=
=0A=
Function.prototype.bind =3D function() {=0A=
  var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A=
  return function() {=0A=
    return __method.apply(object, args.concat($A(arguments)));=0A=
  }=0A=
}=0A=
=0A=
Function.prototype.bindAsEventListener =3D function(object) {=0A=
  var __method =3D this, args =3D $A(arguments), object =3D args.shift();=0A=
  return function(event) {=0A=
    return __method.apply(object, [event || window.event].concat(args));=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Number.prototype, {=0A=
  toColorPart: function() {=0A=
    return this.toPaddedString(2, 16);=0A=
  },=0A=
=0A=
  succ: function() {=0A=
    return this + 1;=0A=
  },=0A=
=0A=
  times: function(iterator) {=0A=
    $R(0, this, true).each(iterator);=0A=
    return this;=0A=
  },=0A=
=0A=
  toPaddedString: function(length, radix) {=0A=
    var string =3D this.toString(radix || 10);=0A=
    return '0'.times(length - string.length) + string;=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    return isFinite(this) ? this.toString() : 'null';=0A=
  }=0A=
});=0A=
=0A=
Date.prototype.toJSON =3D function() {=0A=
  return '"' + this.getFullYear() + '-' +=0A=
    (this.getMonth() + 1).toPaddedString(2) + '-' +=0A=
    this.getDate().toPaddedString(2) + 'T' +=0A=
    this.getHours().toPaddedString(2) + ':' +=0A=
    this.getMinutes().toPaddedString(2) + ':' +=0A=
    this.getSeconds().toPaddedString(2) + '"';=0A=
};=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) {}=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var PeriodicalExecuter =3D Class.create();=0A=
PeriodicalExecuter.prototype =3D {=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    if (!this.timer) return;=0A=
    clearInterval(this.timer);=0A=
    this.timer =3D null;=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try {=0A=
        this.currentlyExecuting =3D true;=0A=
        this.callback(this);=0A=
      } finally {=0A=
        this.currentlyExecuting =3D false;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
Object.extend(String, {=0A=
  interpret: function(value) {=0A=
    return value =3D=3D null ? '' : String(value);=0A=
  },=0A=
  specialChar: {=0A=
    '\b': '\\b',=0A=
    '\t': '\\t',=0A=
    '\n': '\\n',=0A=
    '\f': '\\f',=0A=
    '\r': '\\r',=0A=
    '\\': '\\\\'=0A=
  }=0A=
});=0A=
=0A=
Object.extend(String.prototype, {=0A=
  gsub: function(pattern, replacement) {=0A=
    var result =3D '', source =3D this, match;=0A=
    replacement =3D arguments.callee.prepareReplacement(replacement);=0A=
=0A=
    while (source.length > 0) {=0A=
      if (match =3D source.match(pattern)) {=0A=
        result +=3D source.slice(0, match.index);=0A=
        result +=3D String.interpret(replacement(match));=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  },=0A=
=0A=
  sub: function(pattern, replacement, count) {=0A=
    replacement =3D this.gsub.prepareReplacement(replacement);=0A=
    count =3D count =3D=3D=3D undefined ? 1 : count;=0A=
=0A=
    return this.gsub(pattern, function(match) {=0A=
      if (--count < 0) return match[0];=0A=
      return replacement(match);=0A=
    });=0A=
  },=0A=
=0A=
  scan: function(pattern, iterator) {=0A=
    this.gsub(pattern, iterator);=0A=
    return this;=0A=
  },=0A=
=0A=
  truncate: function(length, truncation) {=0A=
    length =3D length || 30;=0A=
    truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation;=0A=
    return this.length > length ?=0A=
      this.slice(0, length - truncation.length) + truncation : this;=0A=
  },=0A=
=0A=
  strip: function() {=0A=
    return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
  },=0A=
=0A=
  stripTags: function() {=0A=
    return this.replace(/<\/?[^>]+>/gi, '');=0A=
  },=0A=
=0A=
  stripScripts: function() {=0A=
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A=
  },=0A=
=0A=
  extractScripts: function() {=0A=
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A=
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
    return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
      return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
    });=0A=
  },=0A=
=0A=
  evalScripts: function() {=0A=
    return this.extractScripts().map(function(script) { return =
eval(script) });=0A=
  },=0A=
=0A=
  escapeHTML: function() {=0A=
    var self =3D arguments.callee;=0A=
    self.text.data =3D this;=0A=
    return self.div.innerHTML;=0A=
  },=0A=
=0A=
  unescapeHTML: function() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D this.stripTags();=0A=
    return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A=
      $A(div.childNodes).inject('', function(memo, node) { return =
memo+node.nodeValue }) :=0A=
      div.childNodes[0].nodeValue) : '';=0A=
  },=0A=
=0A=
  toQueryParams: function(separator) {=0A=
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
    if (!match) return {};=0A=
=0A=
    return match[1].split(separator || '&').inject({}, function(hash, =
pair) {=0A=
      if ((pair =3D pair.split('=3D'))[0]) {=0A=
        var key =3D decodeURIComponent(pair.shift());=0A=
        var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A=
        if (value !=3D undefined) value =3D decodeURIComponent(value);=0A=
=0A=
        if (key in hash) {=0A=
          if (hash[key].constructor !=3D Array) hash[key] =3D =
[hash[key]];=0A=
          hash[key].push(value);=0A=
        }=0A=
        else hash[key] =3D value;=0A=
      }=0A=
      return hash;=0A=
    });=0A=
  },=0A=
=0A=
  toArray: function() {=0A=
    return this.split('');=0A=
  },=0A=
=0A=
  succ: function() {=0A=
    return this.slice(0, this.length - 1) +=0A=
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
  },=0A=
=0A=
  times: function(count) {=0A=
    var result =3D '';=0A=
    for (var i =3D 0; i < count; i++) result +=3D this;=0A=
    return result;=0A=
  },=0A=
=0A=
  camelize: function() {=0A=
    var parts =3D this.split('-'), len =3D parts.length;=0A=
    if (len =3D=3D 1) return parts[0];=0A=
=0A=
    var camelized =3D this.charAt(0) =3D=3D '-'=0A=
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A=
      : parts[0];=0A=
=0A=
    for (var i =3D 1; i < len; i++)=0A=
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);=0A=
=0A=
    return camelized;=0A=
  },=0A=
=0A=
  capitalize: function() {=0A=
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
  },=0A=
=0A=
  underscore: function() {=0A=
    return this.gsub(/::/, =
'/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{=
1}_#{2}').gsub(/-/,'_').toLowerCase();=0A=
  },=0A=
=0A=
  dasherize: function() {=0A=
    return this.gsub(/_/,'-');=0A=
  },=0A=
=0A=
  inspect: function(useDoubleQuotes) {=0A=
    var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {=0A=
      var character =3D String.specialChar[match[0]];=0A=
      return character ? character : '\\u00' + =
match[0].charCodeAt().toPaddedString(2, 16);=0A=
    });=0A=
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';=0A=
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    return this.inspect(true);=0A=
  },=0A=
=0A=
  unfilterJSON: function(filter) {=0A=
    return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A=
  },=0A=
=0A=
  evalJSON: function(sanitize) {=0A=
    var json =3D this.unfilterJSON();=0A=
    try {=0A=
      if (!sanitize || =
(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u =
\n\r\t])+?$/.test(json)))=0A=
        return eval('(' + json + ')');=0A=
    } catch (e) { }=0A=
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A=
  },=0A=
=0A=
  include: function(pattern) {=0A=
    return this.indexOf(pattern) > -1;=0A=
  },=0A=
=0A=
  startsWith: function(pattern) {=0A=
    return this.indexOf(pattern) =3D=3D=3D 0;=0A=
  },=0A=
=0A=
  endsWith: function(pattern) {=0A=
    var d =3D this.length - pattern.length;=0A=
    return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A=
  },=0A=
=0A=
  empty: function() {=0A=
    return this =3D=3D '';=0A=
  },=0A=
=0A=
  blank: function() {=0A=
    return /^\s*$/.test(this);=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.Browser.WebKit || Prototype.Browser.IE) =
Object.extend(String.prototype, {=0A=
  escapeHTML: function() {=0A=
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');=0A=
  },=0A=
  unescapeHTML: function() {=0A=
    return =
this.replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;/g,'>');=0A=
  }=0A=
});=0A=
=0A=
String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A=
  if (typeof replacement =3D=3D 'function') return replacement;=0A=
  var template =3D new Template(replacement);=0A=
  return function(match) { return template.evaluate(match) };=0A=
}=0A=
=0A=
String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A=
=0A=
Object.extend(String.prototype.escapeHTML, {=0A=
  div:  document.createElement('div'),=0A=
  text: document.createTextNode('')=0A=
});=0A=
=0A=
with (String.prototype.escapeHTML) div.appendChild(text);=0A=
=0A=
var Template =3D Class.create();=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
Template.prototype =3D {=0A=
  initialize: function(template, pattern) {=0A=
    this.template =3D template.toString();=0A=
    this.pattern  =3D pattern || Template.Pattern;=0A=
  },=0A=
=0A=
  evaluate: function(object) {=0A=
    return this.template.gsub(this.pattern, function(match) {=0A=
      var before =3D match[1];=0A=
      if (before =3D=3D '\\') return match[2];=0A=
      return before + String.interpret(object[match[3]]);=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
var $break =3D {}, $continue =3D new Error('"throw $continue" is =
deprecated, use "return" instead');=0A=
=0A=
var Enumerable =3D {=0A=
  each: function(iterator) {=0A=
    var index =3D 0;=0A=
    try {=0A=
      this._each(function(value) {=0A=
        iterator(value, index++);=0A=
      });=0A=
    } catch (e) {=0A=
      if (e !=3D $break) throw e;=0A=
    }=0A=
    return this;=0A=
  },=0A=
=0A=
  eachSlice: function(number, iterator) {=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
    while ((index +=3D number) < array.length)=0A=
      slices.push(array.slice(index, index+number));=0A=
    return slices.map(iterator);=0A=
  },=0A=
=0A=
  all: function(iterator) {=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!(iterator || Prototype.K)(value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  any: function(iterator) {=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!(iterator || Prototype.K)(value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  collect: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push((iterator || Prototype.K)(value, index));=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  detect: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  findAll: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  grep: function(pattern, iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      var stringValue =3D value.toString();=0A=
      if (stringValue.match(pattern))=0A=
        results.push((iterator || Prototype.K)(value, index));=0A=
    })=0A=
    return results;=0A=
  },=0A=
=0A=
  include: function(object) {=0A=
    var found =3D false;=0A=
    this.each(function(value) {=0A=
      if (value =3D=3D object) {=0A=
        found =3D true;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return found;=0A=
  },=0A=
=0A=
  inGroupsOf: function(number, fillWith) {=0A=
    fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith;=0A=
    return this.eachSlice(number, function(slice) {=0A=
      while(slice.length < number) slice.push(fillWith);=0A=
      return slice;=0A=
    });=0A=
  },=0A=
=0A=
  inject: function(memo, iterator) {=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator(memo, value, index);=0A=
    });=0A=
    return memo;=0A=
  },=0A=
=0A=
  invoke: function(method) {=0A=
    var args =3D $A(arguments).slice(1);=0A=
    return this.map(function(value) {=0A=
      return value[method].apply(value, args);=0A=
    });=0A=
  },=0A=
=0A=
  max: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D (iterator || Prototype.K)(value, index);=0A=
      if (result =3D=3D undefined || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  min: function(iterator) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D (iterator || Prototype.K)(value, index);=0A=
      if (result =3D=3D undefined || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  partition: function(iterator) {=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      ((iterator || Prototype.K)(value, index) ?=0A=
        trues : falses).push(value);=0A=
    });=0A=
    return [trues, falses];=0A=
  },=0A=
=0A=
  pluck: function(property) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(value[property]);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  reject: function(iterator) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  sortBy: function(iterator) {=0A=
    return this.map(function(value, index) {=0A=
      return {value: value, criteria: iterator(value, index)};=0A=
    }).sort(function(left, right) {=0A=
      var a =3D left.criteria, b =3D right.criteria;=0A=
      return a < b ? -1 : a > b ? 1 : 0;=0A=
    }).pluck('value');=0A=
  },=0A=
=0A=
  toArray: function() {=0A=
    return this.map();=0A=
  },=0A=
=0A=
  zip: function() {=0A=
    var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
    if (typeof args.last() =3D=3D 'function')=0A=
      iterator =3D args.pop();=0A=
=0A=
    var collections =3D [this].concat(args).map($A);=0A=
    return this.map(function(value, index) {=0A=
      return iterator(collections.pluck(index));=0A=
    });=0A=
  },=0A=
=0A=
  size: function() {=0A=
    return this.toArray().length;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Enumerable, {=0A=
  map:     Enumerable.collect,=0A=
  find:    Enumerable.detect,=0A=
  select:  Enumerable.findAll,=0A=
  member:  Enumerable.include,=0A=
  entries: Enumerable.toArray=0A=
});=0A=
var $A =3D Array.from =3D function(iterable) {=0A=
  if (!iterable) return [];=0A=
  if (iterable.toArray) {=0A=
    return iterable.toArray();=0A=
  } else {=0A=
    var results =3D [];=0A=
    for (var i =3D 0, length =3D iterable.length; i < length; i++)=0A=
      results.push(iterable[i]);=0A=
    return results;=0A=
  }=0A=
}=0A=
=0A=
if (Prototype.Browser.WebKit) {=0A=
  $A =3D Array.from =3D function(iterable) {=0A=
    if (!iterable) return [];=0A=
    if (!(typeof iterable =3D=3D 'function' && iterable =3D=3D '[object =
NodeList]') &&=0A=
      iterable.toArray) {=0A=
      return iterable.toArray();=0A=
    } else {=0A=
      var results =3D [];=0A=
      for (var i =3D 0, length =3D iterable.length; i < length; i++)=0A=
        results.push(iterable[i]);=0A=
      return results;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Object.extend(Array.prototype, Enumerable);=0A=
=0A=
if (!Array.prototype._reverse)=0A=
  Array.prototype._reverse =3D Array.prototype.reverse;=0A=
=0A=
Object.extend(Array.prototype, {=0A=
  _each: function(iterator) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      iterator(this[i]);=0A=
  },=0A=
=0A=
  clear: function() {=0A=
    this.length =3D 0;=0A=
    return this;=0A=
  },=0A=
=0A=
  first: function() {=0A=
    return this[0];=0A=
  },=0A=
=0A=
  last: function() {=0A=
    return this[this.length - 1];=0A=
  },=0A=
=0A=
  compact: function() {=0A=
    return this.select(function(value) {=0A=
      return value !=3D null;=0A=
    });=0A=
  },=0A=
=0A=
  flatten: function() {=0A=
    return this.inject([], function(array, value) {=0A=
      return array.concat(value && value.constructor =3D=3D Array ?=0A=
        value.flatten() : [value]);=0A=
    });=0A=
  },=0A=
=0A=
  without: function() {=0A=
    var values =3D $A(arguments);=0A=
    return this.select(function(value) {=0A=
      return !values.include(value);=0A=
    });=0A=
  },=0A=
=0A=
  indexOf: function(object) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      if (this[i] =3D=3D object) return i;=0A=
    return -1;=0A=
  },=0A=
=0A=
  reverse: function(inline) {=0A=
    return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A=
  },=0A=
=0A=
  reduce: function() {=0A=
    return this.length > 1 ? this : this[0];=0A=
  },=0A=
=0A=
  uniq: function(sorted) {=0A=
    return this.inject([], function(array, value, index) {=0A=
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))=0A=
        array.push(value);=0A=
      return array;=0A=
    });=0A=
  },=0A=
=0A=
  clone: function() {=0A=
    return [].concat(this);=0A=
  },=0A=
=0A=
  size: function() {=0A=
    return this.length;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    var results =3D [];=0A=
    this.each(function(object) {=0A=
      var value =3D Object.toJSON(object);=0A=
      if (value !=3D=3D undefined) results.push(value);=0A=
    });=0A=
    return '[' + results.join(', ') + ']';=0A=
  }=0A=
});=0A=
=0A=
Array.prototype.toArray =3D Array.prototype.clone;=0A=
=0A=
function $w(string) {=0A=
  string =3D string.strip();=0A=
  return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
if (Prototype.Browser.Opera){=0A=
  Array.prototype.concat =3D function() {=0A=
    var array =3D [];=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++) =
array.push(this[i]);=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      if (arguments[i].constructor =3D=3D Array) {=0A=
        for (var j =3D 0, arrayLength =3D arguments[i].length; j < =
arrayLength; j++)=0A=
          array.push(arguments[i][j]);=0A=
      } else {=0A=
        array.push(arguments[i]);=0A=
      }=0A=
    }=0A=
    return array;=0A=
  }=0A=
}=0A=
var Hash =3D function(object) {=0A=
  if (object instanceof Hash) this.merge(object);=0A=
  else Object.extend(this, object || {});=0A=
};=0A=
=0A=
Object.extend(Hash, {=0A=
  toQueryString: function(obj) {=0A=
    var parts =3D [];=0A=
    parts.add =3D arguments.callee.addPair;=0A=
=0A=
    this.prototype._each.call(obj, function(pair) {=0A=
      if (!pair.key) return;=0A=
      var value =3D pair.value;=0A=
=0A=
      if (value && typeof value =3D=3D 'object') {=0A=
        if (value.constructor =3D=3D Array) value.each(function(value) {=0A=
          parts.add(pair.key, value);=0A=
        });=0A=
        return;=0A=
      }=0A=
      parts.add(pair.key, value);=0A=
    });=0A=
=0A=
    return parts.join('&');=0A=
  },=0A=
=0A=
  toJSON: function(object) {=0A=
    var results =3D [];=0A=
    this.prototype._each.call(object, function(pair) {=0A=
      var value =3D Object.toJSON(pair.value);=0A=
      if (value !=3D=3D undefined) results.push(pair.key.toJSON() + ': ' =
+ value);=0A=
    });=0A=
    return '{' + results.join(', ') + '}';=0A=
  }=0A=
});=0A=
=0A=
Hash.toQueryString.addPair =3D function(key, value, prefix) {=0A=
  key =3D encodeURIComponent(key);=0A=
  if (value =3D=3D=3D undefined) this.push(key);=0A=
  else this.push(key + '=3D' + (value =3D=3D null ? '' : =
encodeURIComponent(value)));=0A=
}=0A=
=0A=
Object.extend(Hash.prototype, Enumerable);=0A=
Object.extend(Hash.prototype, {=0A=
  _each: function(iterator) {=0A=
    for (var key in this) {=0A=
      var value =3D this[key];=0A=
      if (value && value =3D=3D Hash.prototype[key]) continue;=0A=
=0A=
      var pair =3D [key, value];=0A=
      pair.key =3D key;=0A=
      pair.value =3D value;=0A=
      iterator(pair);=0A=
    }=0A=
  },=0A=
=0A=
  keys: function() {=0A=
    return this.pluck('key');=0A=
  },=0A=
=0A=
  values: function() {=0A=
    return this.pluck('value');=0A=
  },=0A=
=0A=
  merge: function(hash) {=0A=
    return $H(hash).inject(this, function(mergedHash, pair) {=0A=
      mergedHash[pair.key] =3D pair.value;=0A=
      return mergedHash;=0A=
    });=0A=
  },=0A=
=0A=
  remove: function() {=0A=
    var result;=0A=
    for(var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var value =3D this[arguments[i]];=0A=
      if (value !=3D=3D undefined){=0A=
        if (result =3D=3D=3D undefined) result =3D value;=0A=
        else {=0A=
          if (result.constructor !=3D Array) result =3D [result];=0A=
          result.push(value)=0A=
        }=0A=
      }=0A=
      delete this[arguments[i]];=0A=
    }=0A=
    return result;=0A=
  },=0A=
=0A=
  toQueryString: function() {=0A=
    return Hash.toQueryString(this);=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return '#<Hash:{' + this.map(function(pair) {=0A=
      return pair.map(Object.inspect).join(': ');=0A=
    }).join(', ') + '}>';=0A=
  },=0A=
=0A=
  toJSON: function() {=0A=
    return Hash.toJSON(this);=0A=
  }=0A=
});=0A=
=0A=
function $H(object) {=0A=
  if (object instanceof Hash) return object;=0A=
  return new Hash(object);=0A=
};=0A=
=0A=
// Safari iterates over shadowed properties=0A=
if (function() {=0A=
  var i =3D 0, Test =3D function(value) { this.key =3D value };=0A=
  Test.prototype.key =3D 'foo';=0A=
  for (var property in new Test('bar')) i++;=0A=
  return i > 1;=0A=
}()) Hash.prototype._each =3D function(iterator) {=0A=
  var cache =3D [];=0A=
  for (var key in this) {=0A=
    var value =3D this[key];=0A=
    if ((value && value =3D=3D Hash.prototype[key]) || =
cache.include(key)) continue;=0A=
    cache.push(key);=0A=
    var pair =3D [key, value];=0A=
    pair.key =3D key;=0A=
    pair.value =3D value;=0A=
    iterator(pair);=0A=
  }=0A=
};=0A=
ObjectRange =3D Class.create();=0A=
Object.extend(ObjectRange.prototype, Enumerable);=0A=
Object.extend(ObjectRange.prototype, {=0A=
  initialize: function(start, end, exclusive) {=0A=
    this.start =3D start;=0A=
    this.end =3D end;=0A=
    this.exclusive =3D exclusive;=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    var value =3D this.start;=0A=
    while (this.include(value)) {=0A=
      iterator(value);=0A=
      value =3D value.succ();=0A=
    }=0A=
  },=0A=
=0A=
  include: function(value) {=0A=
    if (value < this.start)=0A=
      return false;=0A=
    if (this.exclusive)=0A=
      return value < this.end;=0A=
    return value <=3D this.end;=0A=
  }=0A=
});=0A=
=0A=
var $R =3D function(start, end, exclusive) {=0A=
  return new ObjectRange(start, end, exclusive);=0A=
}=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new XMLHttpRequest()},=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A=
    ) || false;=0A=
  },=0A=
=0A=
  activeRequestCount: 0=0A=
}=0A=
=0A=
Ajax.Responders =3D {=0A=
  responders: [],=0A=
=0A=
  _each: function(iterator) {=0A=
    this.responders._each(iterator);=0A=
  },=0A=
=0A=
  register: function(responder) {=0A=
    if (!this.include(responder))=0A=
      this.responders.push(responder);=0A=
  },=0A=
=0A=
  unregister: function(responder) {=0A=
    this.responders =3D this.responders.without(responder);=0A=
  },=0A=
=0A=
  dispatch: function(callback, request, transport, json) {=0A=
    this.each(function(responder) {=0A=
      if (typeof responder[callback] =3D=3D 'function') {=0A=
        try {=0A=
          responder[callback].apply(responder, [request, transport, =
json]);=0A=
        } catch (e) {}=0A=
      }=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
  onCreate: function() {=0A=
    Ajax.activeRequestCount++;=0A=
  },=0A=
  onComplete: function() {=0A=
    Ajax.activeRequestCount--;=0A=
  }=0A=
});=0A=
=0A=
Ajax.Base =3D function() {};=0A=
Ajax.Base.prototype =3D {=0A=
  setOptions: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      contentType:  'application/x-www-form-urlencoded',=0A=
      encoding:     'UTF-8',=0A=
      parameters:   ''=0A=
    }=0A=
    Object.extend(this.options, options || {});=0A=
=0A=
    this.options.method =3D this.options.method.toLowerCase();=0A=
    if (typeof this.options.parameters =3D=3D 'string')=0A=
      this.options.parameters =3D =
this.options.parameters.toQueryParams();=0A=
  }=0A=
}=0A=
=0A=
Ajax.Request =3D Class.create();=0A=
Ajax.Request.Events =3D=0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), {=0A=
  _complete: false,=0A=
=0A=
  initialize: function(url, options) {=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    this.url =3D url;=0A=
    this.method =3D this.options.method;=0A=
    var params =3D Object.clone(this.options.parameters);=0A=
=0A=
    if (!['get', 'post'].include(this.method)) {=0A=
      // simulate other verbs over post=0A=
      params['_method'] =3D this.method;=0A=
      this.method =3D 'post';=0A=
    }=0A=
=0A=
    this.parameters =3D params;=0A=
=0A=
    if (params =3D Hash.toQueryString(params)) {=0A=
      // when GET, append parameters to URL=0A=
      if (this.method =3D=3D 'get')=0A=
        this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A=
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A=
        params +=3D '&_=3D';=0A=
    }=0A=
=0A=
    try {=0A=
      if (this.options.onCreate) this.options.onCreate(this.transport);=0A=
      Ajax.Responders.dispatch('onCreate', this, this.transport);=0A=
=0A=
      this.transport.open(this.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous);=0A=
=0A=
      if (this.options.asynchronous)=0A=
        setTimeout(function() { this.respondToReadyState(1) =
}.bind(this), 10);=0A=
=0A=
      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
      this.setRequestHeaders();=0A=
=0A=
      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;=0A=
      this.transport.send(this.body);=0A=
=0A=
      /* Force Firefox to handle ready state 4 for synchronous requests =
*/=0A=
      if (!this.options.asynchronous && this.transport.overrideMimeType)=0A=
        this.onStateChange();=0A=
=0A=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    // user-defined headers=0A=
    if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
      var extras =3D this.options.requestHeaders;=0A=
=0A=
      if (typeof extras.push =3D=3D 'function')=0A=
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    return !this.transport.status=0A=
        || (this.transport.status >=3D 200 && this.transport.status < =
300);=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var state =3D Ajax.Request.Events[readyState];=0A=
    var transport =3D this.transport, json =3D this.evalJSON();=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      try {=0A=
        this._complete =3D true;=0A=
        (this.options['on' + this.transport.status]=0A=
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A=
         || Prototype.emptyFunction)(transport, json);=0A=
      } catch (e) {=0A=
        this.dispatchException(e);=0A=
      }=0A=
=0A=
      var contentType =3D this.getHeader('Content-type');=0A=
      if (contentType && contentType.strip().=0A=
        match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i))=0A=
          this.evalResponse();=0A=
    }=0A=
=0A=
    try {=0A=
      (this.options['on' + state] || Prototype.emptyFunction)(transport, =
json);=0A=
      Ajax.Responders.dispatch('on' + state, this, transport, json);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      // avoid memory leak in MSIE: clean up=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
    }=0A=
  },=0A=
=0A=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name);=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  evalJSON: function() {=0A=
    try {=0A=
      var json =3D this.getHeader('X-JSON');=0A=
      return json ? json.evalJSON() : null;=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  evalResponse: function() {=0A=
    try {=0A=
      return eval((this.transport.responseText || '').unfilterJSON());=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  dispatchException: function(exception) {=0A=
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
    Ajax.Responders.dispatch('onException', this, exception);=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create();=0A=
=0A=
Object.extend(Object.extend(Ajax.Updater.prototype, =
Ajax.Request.prototype), {=0A=
  initialize: function(container, url, options) {=0A=
    this.container =3D {=0A=
      success: (container.success || container),=0A=
      failure: (container.failure || (container.success ? null : =
container))=0A=
    }=0A=
=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.setOptions(options);=0A=
=0A=
    var onComplete =3D this.options.onComplete || =
Prototype.emptyFunction;=0A=
    this.options.onComplete =3D (function(transport, param) {=0A=
      this.updateContent();=0A=
      onComplete(transport, param);=0A=
    }).bind(this);=0A=
=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  updateContent: function() {=0A=
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'];=0A=
    var response =3D this.transport.responseText;=0A=
=0A=
    if (!this.options.evalScripts) response =3D response.stripScripts();=0A=
=0A=
    if (receiver =3D $(receiver)) {=0A=
      if (this.options.insertion)=0A=
        new this.options.insertion(receiver, response);=0A=
      else=0A=
        receiver.update(response);=0A=
    }=0A=
=0A=
    if (this.success()) {=0A=
      if (this.onComplete)=0A=
        setTimeout(this.onComplete.bind(this), 10);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create();=0A=
Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), {=0A=
  initialize: function(container, url, options) {=0A=
    this.setOptions(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D (this.options.decay || 1);=0A=
=0A=
    this.updater =3D {};=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.options.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(request) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (request.responseText =3D=3D this.lastText ?=0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D request.responseText;=0A=
    }=0A=
    this.timer =3D setTimeout(this.onTimerEvent.bind(this),=0A=
      this.decay * this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
function $(element) {=0A=
  if (arguments.length > 1) {=0A=
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)=0A=
      elements.push($(arguments[i]));=0A=
    return elements;=0A=
  }=0A=
  if (typeof element =3D=3D 'string')=0A=
    element =3D document.getElementById(element);=0A=
  return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
  document._getElementsByXPath =3D function(expression, parentElement) {=0A=
    var results =3D [];=0A=
    var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A=
      results.push(query.snapshotItem(i));=0A=
    return results;=0A=
  };=0A=
=0A=
  document.getElementsByClassName =3D function(className, parentElement) =
{=0A=
    var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + =
" ')]";=0A=
    return document._getElementsByXPath(q, parentElement);=0A=
  }=0A=
=0A=
} else document.getElementsByClassName =3D function(className, =
parentElement) {=0A=
  var children =3D ($(parentElement) || =
document.body).getElementsByTagName('*');=0A=
  var elements =3D [], child;=0A=
  for (var i =3D 0, length =3D children.length; i < length; i++) {=0A=
    child =3D children[i];=0A=
    if (Element.hasClassName(child, className))=0A=
      elements.push(Element.extend(child));=0A=
  }=0A=
  return elements;=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Element) var Element =3D {};=0A=
=0A=
Element.extend =3D function(element) {=0A=
  var F =3D Prototype.BrowserFeatures;=0A=
  if (!element || !element.tagName || element.nodeType =3D=3D 3 ||=0A=
   element._extended || F.SpecificElementExtensions || element =3D=3D =
window)=0A=
    return element;=0A=
=0A=
  var methods =3D {}, tagName =3D element.tagName, cache =3D =
Element.extend.cache,=0A=
   T =3D Element.Methods.ByTag;=0A=
=0A=
  // extend methods for all tags (Safari doesn't need this)=0A=
  if (!F.ElementExtensions) {=0A=
    Object.extend(methods, Element.Methods),=0A=
    Object.extend(methods, Element.Methods.Simulated);=0A=
  }=0A=
=0A=
  // extend methods for specific tags=0A=
  if (T[tagName]) Object.extend(methods, T[tagName]);=0A=
=0A=
  for (var property in methods) {=0A=
    var value =3D methods[property];=0A=
    if (typeof value =3D=3D 'function' && !(property in element))=0A=
      element[property] =3D cache.findOrStore(value);=0A=
  }=0A=
=0A=
  element._extended =3D Prototype.emptyFunction;=0A=
  return element;=0A=
};=0A=
=0A=
Element.extend.cache =3D {=0A=
  findOrStore: function(value) {=0A=
    return this[value] =3D this[value] || function() {=0A=
      return value.apply(null, [this].concat($A(arguments)));=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
Element.Methods =3D {=0A=
  visible: function(element) {=0A=
    return $(element).style.display !=3D 'none';=0A=
  },=0A=
=0A=
  toggle: function(element) {=0A=
    element =3D $(element);=0A=
    Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
    return element;=0A=
  },=0A=
=0A=
  hide: function(element) {=0A=
    $(element).style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(element) {=0A=
    $(element).style.display =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
    return element;=0A=
  },=0A=
=0A=
  update: function(element, html) {=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    $(element).innerHTML =3D html.stripScripts();=0A=
    setTimeout(function() {html.evalScripts()}, 10);=0A=
    return element;=0A=
  },=0A=
=0A=
  replace: function(element, html) {=0A=
    element =3D $(element);=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    if (element.outerHTML) {=0A=
      element.outerHTML =3D html.stripScripts();=0A=
    } else {=0A=
      var range =3D element.ownerDocument.createRange();=0A=
      range.selectNodeContents(element);=0A=
      element.parentNode.replaceChild(=0A=
        range.createContextualFragment(html.stripScripts()), element);=0A=
    }=0A=
    setTimeout(function() {html.evalScripts()}, 10);=0A=
    return element;=0A=
  },=0A=
=0A=
  inspect: function(element) {=0A=
    element =3D $(element);=0A=
    var result =3D '<' + element.tagName.toLowerCase();=0A=
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
      var property =3D pair.first(), attribute =3D pair.last();=0A=
      var value =3D (element[property] || '').toString();=0A=
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
    });=0A=
    return result + '>';=0A=
  },=0A=
=0A=
  recursivelyCollect: function(element, property) {=0A=
    element =3D $(element);=0A=
    var elements =3D [];=0A=
    while (element =3D element[property])=0A=
      if (element.nodeType =3D=3D 1)=0A=
        elements.push(Element.extend(element));=0A=
    return elements;=0A=
  },=0A=
=0A=
  ancestors: function(element) {=0A=
    return $(element).recursivelyCollect('parentNode');=0A=
  },=0A=
=0A=
  descendants: function(element) {=0A=
    return $A($(element).getElementsByTagName('*')).each(Element.extend);=0A=
  },=0A=
=0A=
  firstDescendant: function(element) {=0A=
    element =3D $(element).firstChild;=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    return $(element);=0A=
  },=0A=
=0A=
  immediateDescendants: function(element) {=0A=
    if (!(element =3D $(element).firstChild)) return [];=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    if (element) return [element].concat($(element).nextSiblings());=0A=
    return [];=0A=
  },=0A=
=0A=
  previousSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return $(element).recursivelyCollect('nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return =
element.previousSiblings().reverse().concat(element.nextSiblings());=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    if (typeof selector =3D=3D 'string')=0A=
      selector =3D new Selector(selector);=0A=
    return selector.match($(element));=0A=
  },=0A=
=0A=
  up: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return $(element.parentNode);=0A=
    var ancestors =3D element.ancestors();=0A=
    return expression ? Selector.findElement(ancestors, expression, =
index) :=0A=
      ancestors[index || 0];=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
    var descendants =3D element.descendants();=0A=
    return expression ? Selector.findElement(descendants, expression, =
index) :=0A=
      descendants[index || 0];=0A=
  },=0A=
=0A=
  previous: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));=0A=
    var previousSiblings =3D element.previousSiblings();=0A=
    return expression ? Selector.findElement(previousSiblings, =
expression, index) :=0A=
      previousSiblings[index || 0];=0A=
  },=0A=
=0A=
  next: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));=0A=
    var nextSiblings =3D element.nextSiblings();=0A=
    return expression ? Selector.findElement(nextSiblings, expression, =
index) :=0A=
      nextSiblings[index || 0];=0A=
  },=0A=
=0A=
  getElementsBySelector: function() {=0A=
    var args =3D $A(arguments), element =3D $(args.shift());=0A=
    return Selector.findChildElements(element, args);=0A=
  },=0A=
=0A=
  getElementsByClassName: function(element, className) {=0A=
    return document.getElementsByClassName(className, element);=0A=
  },=0A=
=0A=
  readAttribute: function(element, name) {=0A=
    element =3D $(element);=0A=
    if (Prototype.Browser.IE) {=0A=
      if (!element.attributes) return null;=0A=
      var t =3D Element._attributeTranslations;=0A=
      if (t.values[name]) return t.values[name](element, name);=0A=
      if (t.names[name])  name =3D t.names[name];=0A=
      var attribute =3D element.attributes[name];=0A=
      return attribute ? attribute.nodeValue : null;=0A=
    }=0A=
    return element.getAttribute(name);=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    return $(element).getDimensions().height;=0A=
  },=0A=
=0A=
  getWidth: function(element) {=0A=
    return $(element).getDimensions().width;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    if (elementClassName.length =3D=3D 0) return false;=0A=
    if (elementClassName =3D=3D className ||=0A=
        elementClassName.match(new RegExp("(^|\\s)" + className + =
"(\\s|$)")))=0A=
      return true;=0A=
    return false;=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element).add(className);=0A=
    return element;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element).remove(className);=0A=
    return element;=0A=
  },=0A=
=0A=
  toggleClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    Element.classNames(element)[element.hasClassName(className) ? =
'remove' : 'add'](className);=0A=
    return element;=0A=
  },=0A=
=0A=
  observe: function() {=0A=
    Event.observe.apply(Event, arguments);=0A=
    return $A(arguments).first();=0A=
  },=0A=
=0A=
  stopObserving: function() {=0A=
    Event.stopObserving.apply(Event, arguments);=0A=
    return $A(arguments).first();=0A=
  },=0A=
=0A=
  // removes whitespace-only text node children=0A=
  cleanWhitespace: function(element) {=0A=
    element =3D $(element);=0A=
    var node =3D element.firstChild;=0A=
    while (node) {=0A=
      var nextNode =3D node.nextSibling;=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
        element.removeChild(node);=0A=
      node =3D nextNode;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  empty: function(element) {=0A=
    return $(element).innerHTML.blank();=0A=
  },=0A=
=0A=
  descendantOf: function(element, ancestor) {=0A=
    element =3D $(element), ancestor =3D $(ancestor);=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=0A=
    return false;=0A=
  },=0A=
=0A=
  scrollTo: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Position.cumulativeOffset(element);=0A=
    window.scrollTo(pos[0], pos[1]);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value) {=0A=
      var css =3D document.defaultView.getComputedStyle(element, null);=0A=
      value =3D css ? css[style] : null;=0A=
    }=0A=
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A=
    return value =3D=3D 'auto' ? null : value;=0A=
  },=0A=
=0A=
  getOpacity: function(element) {=0A=
    return $(element).getStyle('opacity');=0A=
  },=0A=
=0A=
  setStyle: function(element, styles, camelized) {=0A=
    element =3D $(element);=0A=
    var elementStyle =3D element.style;=0A=
=0A=
    for (var property in styles)=0A=
      if (property =3D=3D 'opacity') element.setOpacity(styles[property])=0A=
      else=0A=
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?=0A=
          (elementStyle.styleFloat =3D=3D=3D undefined ? 'cssFloat' : =
'styleFloat') :=0A=
          (camelized ? property : property.camelize())] =3D =
styles[property];=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  setOpacity: function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  },=0A=
=0A=
  getDimensions: function(element) {=0A=
    element =3D $(element);=0A=
    var display =3D $(element).getStyle('display');=0A=
    if (display !=3D 'none' && display !=3D null) // Safari bug=0A=
      return {width: element.offsetWidth, height: element.offsetHeight};=0A=
=0A=
    // All *Width and *Height properties give 0 on elements with display =
none,=0A=
    // so enable the element temporarily=0A=
    var els =3D element.style;=0A=
    var originalVisibility =3D els.visibility;=0A=
    var originalPosition =3D els.position;=0A=
    var originalDisplay =3D els.display;=0A=
    els.visibility =3D 'hidden';=0A=
    els.position =3D 'absolute';=0A=
    els.display =3D 'block';=0A=
    var originalWidth =3D element.clientWidth;=0A=
    var originalHeight =3D element.clientHeight;=0A=
    els.display =3D originalDisplay;=0A=
    els.position =3D originalPosition;=0A=
    els.visibility =3D originalVisibility;=0A=
    return {width: originalWidth, height: originalHeight};=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      // Opera returns the offset relative to the positioning context, =
when an=0A=
      // element is position relative but top and left have not been =
defined=0A=
      if (window.opera) {=0A=
        element.style.top =3D 0;=0A=
        element.style.left =3D 0;=0A=
      }=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  undoPositioned: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._madePositioned) {=0A=
      element._madePositioned =3D undefined;=0A=
      element.style.position =3D=0A=
        element.style.top =3D=0A=
        element.style.left =3D=0A=
        element.style.bottom =3D=0A=
        element.style.right =3D '';=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  makeClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._overflow) return element;=0A=
    element._overflow =3D element.style.overflow || 'auto';=0A=
    if ((Element.getStyle(element, 'overflow') || 'visible') !=3D =
'hidden')=0A=
      element.style.overflow =3D 'hidden';=0A=
    return element;=0A=
  },=0A=
=0A=
  undoClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element._overflow) return element;=0A=
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;=0A=
    element._overflow =3D null;=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.Methods, {=0A=
  childOf: Element.Methods.descendantOf,=0A=
  childElements: Element.Methods.immediateDescendants=0A=
});=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
  Element.Methods._getStyle =3D Element.Methods.getStyle;=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    switch(style) {=0A=
      case 'left':=0A=
      case 'top':=0A=
      case 'right':=0A=
      case 'bottom':=0A=
        if (Element._getStyle(element, 'position') =3D=3D 'static') =
return null;=0A=
      default: return Element._getStyle(element, style);=0A=
    }=0A=
  };=0A=
}=0A=
else if (Prototype.Browser.IE) {=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];=0A=
=0A=
    if (style =3D=3D 'opacity') {=0A=
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
        if (value[1]) return parseFloat(value[1]) / 100;=0A=
      return 1.0;=0A=
    }=0A=
=0A=
    if (value =3D=3D 'auto') {=0A=
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))=0A=
        return element['offset'+style.capitalize()] + 'px';=0A=
      return null;=0A=
    }=0A=
    return value;=0A=
  };=0A=
=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    var filter =3D element.getStyle('filter'), style =3D element.style;=0A=
    if (value =3D=3D 1 || value =3D=3D=3D '') {=0A=
      style.filter =3D filter.replace(/alpha\([^\)]*\)/gi,'');=0A=
      return element;=0A=
    } else if (value < 0.00001) value =3D 0;=0A=
    style.filter =3D filter.replace(/alpha\([^\)]*\)/gi, '') +=0A=
      'alpha(opacity=3D' + (value * 100) + ')';=0A=
    return element;=0A=
  };=0A=
=0A=
  // IE is missing .innerHTML support for TABLE-related elements=0A=
  Element.Methods.update =3D function(element, html) {=0A=
    element =3D $(element);=0A=
    html =3D typeof html =3D=3D 'undefined' ? '' : html.toString();=0A=
    var tagName =3D element.tagName.toUpperCase();=0A=
    if (['THEAD','TBODY','TR','TD'].include(tagName)) {=0A=
      var div =3D document.createElement('div');=0A=
      switch (tagName) {=0A=
        case 'THEAD':=0A=
        case 'TBODY':=0A=
          div.innerHTML =3D '<table><tbody>' +  html.stripScripts() + =
'</tbody></table>';=0A=
          depth =3D 2;=0A=
          break;=0A=
        case 'TR':=0A=
          div.innerHTML =3D '<table><tbody><tr>' +  html.stripScripts() =
+ '</tr></tbody></table>';=0A=
          depth =3D 3;=0A=
          break;=0A=
        case 'TD':=0A=
          div.innerHTML =3D '<table><tbody><tr><td>' +  =
html.stripScripts() + '</td></tr></tbody></table>';=0A=
          depth =3D 4;=0A=
      }=0A=
      $A(element.childNodes).each(function(node) { =
element.removeChild(node) });=0A=
      depth.times(function() { div =3D div.firstChild });=0A=
      $A(div.childNodes).each(function(node) { element.appendChild(node) =
});=0A=
    } else {=0A=
      element.innerHTML =3D html.stripScripts();=0A=
    }=0A=
    setTimeout(function() { html.evalScripts() }, 10);=0A=
    return element;=0A=
  }=0A=
}=0A=
else if (Prototype.Browser.Gecko) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A=
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
Element._attributeTranslations =3D {=0A=
  names: {=0A=
    colspan:   "colSpan",=0A=
    rowspan:   "rowSpan",=0A=
    valign:    "vAlign",=0A=
    datetime:  "dateTime",=0A=
    accesskey: "accessKey",=0A=
    tabindex:  "tabIndex",=0A=
    enctype:   "encType",=0A=
    maxlength: "maxLength",=0A=
    readonly:  "readOnly",=0A=
    longdesc:  "longDesc"=0A=
  },=0A=
  values: {=0A=
    _getAttr: function(element, attribute) {=0A=
      return element.getAttribute(attribute, 2);=0A=
    },=0A=
    _flag: function(element, attribute) {=0A=
      return $(element).hasAttribute(attribute) ? attribute : null;=0A=
    },=0A=
    style: function(element) {=0A=
      return element.style.cssText.toLowerCase();=0A=
    },=0A=
    title: function(element) {=0A=
      var node =3D element.getAttributeNode('title');=0A=
      return node.specified ? node.nodeValue : null;=0A=
    }=0A=
  }=0A=
};=0A=
=0A=
(function() {=0A=
  Object.extend(this, {=0A=
    href: this._getAttr,=0A=
    src:  this._getAttr,=0A=
    type: this._getAttr,=0A=
    disabled: this._flag,=0A=
    checked:  this._flag,=0A=
    readonly: this._flag,=0A=
    multiple: this._flag=0A=
  });=0A=
}).call(Element._attributeTranslations.values);=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    var t =3D Element._attributeTranslations, node;=0A=
    attribute =3D t.names[attribute] || attribute;=0A=
    node =3D $(element).getAttributeNode(attribute);=0A=
    return node && node.specified;=0A=
  }=0A=
};=0A=
=0A=
Element.Methods.ByTag =3D {};=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
if (!Prototype.BrowserFeatures.ElementExtensions &&=0A=
 document.createElement('div').__proto__) {=0A=
  window.HTMLElement =3D {};=0A=
  window.HTMLElement.prototype =3D =
document.createElement('div').__proto__;=0A=
  Prototype.BrowserFeatures.ElementExtensions =3D true;=0A=
}=0A=
=0A=
Element.hasAttribute =3D function(element, attribute) {=0A=
  if (element.hasAttribute) return element.hasAttribute(attribute);=0A=
  return Element.Methods.Simulated.hasAttribute(element, attribute);=0A=
};=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A=
=0A=
  if (!methods) {=0A=
    Object.extend(Form, Form.Methods);=0A=
    Object.extend(Form.Element, Form.Element.Methods);=0A=
    Object.extend(Element.Methods.ByTag, {=0A=
      "FORM":     Object.clone(Form.Methods),=0A=
      "INPUT":    Object.clone(Form.Element.Methods),=0A=
      "SELECT":   Object.clone(Form.Element.Methods),=0A=
      "TEXTAREA": Object.clone(Form.Element.Methods)=0A=
    });=0A=
  }=0A=
=0A=
  if (arguments.length =3D=3D 2) {=0A=
    var tagName =3D methods;=0A=
    methods =3D arguments[1];=0A=
  }=0A=
=0A=
  if (!tagName) Object.extend(Element.Methods, methods || {});=0A=
  else {=0A=
    if (tagName.constructor =3D=3D Array) tagName.each(extend);=0A=
    else extend(tagName);=0A=
  }=0A=
=0A=
  function extend(tagName) {=0A=
    tagName =3D tagName.toUpperCase();=0A=
    if (!Element.Methods.ByTag[tagName])=0A=
      Element.Methods.ByTag[tagName] =3D {};=0A=
    Object.extend(Element.Methods.ByTag[tagName], methods);=0A=
  }=0A=
=0A=
  function copy(methods, destination, onlyIfAbsent) {=0A=
    onlyIfAbsent =3D onlyIfAbsent || false;=0A=
    var cache =3D Element.extend.cache;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (!onlyIfAbsent || !(property in destination))=0A=
        destination[property] =3D cache.findOrStore(value);=0A=
    }=0A=
  }=0A=
=0A=
  function findDOMClass(tagName) {=0A=
    var klass;=0A=
    var trans =3D {=0A=
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A=
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",=0A=
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",=0A=
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A=
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":=0A=
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A=
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":=0A=
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A=
      "FrameSet", "IFRAME": "IFrame"=0A=
    };=0A=
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
=0A=
    window[klass] =3D {};=0A=
    window[klass].prototype =3D =
document.createElement(tagName).__proto__;=0A=
    return window[klass];=0A=
  }=0A=
=0A=
  if (F.ElementExtensions) {=0A=
    copy(Element.Methods, HTMLElement.prototype);=0A=
    copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A=
  }=0A=
=0A=
  if (F.SpecificElementExtensions) {=0A=
    for (var tag in Element.Methods.ByTag) {=0A=
      var klass =3D findDOMClass(tag);=0A=
      if (typeof klass =3D=3D "undefined") continue;=0A=
      copy(T[tag], klass.prototype);=0A=
    }=0A=
  }=0A=
=0A=
  Object.extend(Element, Element.Methods);=0A=
  delete Element.ByTag;=0A=
};=0A=
=0A=
var Toggle =3D { display: Element.toggle };=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.Insertion =3D function(adjacency) {=0A=
  this.adjacency =3D adjacency;=0A=
}=0A=
=0A=
Abstract.Insertion.prototype =3D {=0A=
  initialize: function(element, content) {=0A=
    this.element =3D $(element);=0A=
    this.content =3D content.stripScripts();=0A=
=0A=
    if (this.adjacency && this.element.insertAdjacentHTML) {=0A=
      try {=0A=
        this.element.insertAdjacentHTML(this.adjacency, this.content);=0A=
      } catch (e) {=0A=
        var tagName =3D this.element.tagName.toUpperCase();=0A=
        if (['TBODY', 'TR'].include(tagName)) {=0A=
          this.insertContent(this.contentFromAnonymousTable());=0A=
        } else {=0A=
          throw e;=0A=
        }=0A=
      }=0A=
    } else {=0A=
      this.range =3D this.element.ownerDocument.createRange();=0A=
      if (this.initializeRange) this.initializeRange();=0A=
      =
this.insertContent([this.range.createContextualFragment(this.content)]);=0A=
    }=0A=
=0A=
    setTimeout(function() {content.evalScripts()}, 10);=0A=
  },=0A=
=0A=
  contentFromAnonymousTable: function() {=0A=
    var div =3D document.createElement('div');=0A=
    div.innerHTML =3D '<table><tbody>' + this.content + =
'</tbody></table>';=0A=
    return $A(div.childNodes[0].childNodes[0].childNodes);=0A=
  }=0A=
}=0A=
=0A=
var Insertion =3D new Object();=0A=
=0A=
Insertion.Before =3D Class.create();=0A=
Insertion.Before.prototype =3D Object.extend(new =
Abstract.Insertion('beforeBegin'), {=0A=
  initializeRange: function() {=0A=
    this.range.setStartBefore(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.parentNode.insertBefore(fragment, this.element);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.Top =3D Class.create();=0A=
Insertion.Top.prototype =3D Object.extend(new =
Abstract.Insertion('afterBegin'), {=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(true);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.reverse(false).each((function(fragment) {=0A=
      this.element.insertBefore(fragment, this.element.firstChild);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.Bottom =3D Class.create();=0A=
Insertion.Bottom.prototype =3D Object.extend(new =
Abstract.Insertion('beforeEnd'), {=0A=
  initializeRange: function() {=0A=
    this.range.selectNodeContents(this.element);=0A=
    this.range.collapse(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.appendChild(fragment);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
Insertion.After =3D Class.create();=0A=
Insertion.After.prototype =3D Object.extend(new =
Abstract.Insertion('afterEnd'), {=0A=
  initializeRange: function() {=0A=
    this.range.setStartAfter(this.element);=0A=
  },=0A=
=0A=
  insertContent: function(fragments) {=0A=
    fragments.each((function(fragment) {=0A=
      this.element.parentNode.insertBefore(fragment,=0A=
        this.element.nextSibling);=0A=
    }).bind(this));=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    this.element.className.split(/\s+/).select(function(name) {=0A=
      return name.length > 0;=0A=
    })._each(iterator);=0A=
  },=0A=
=0A=
  set: function(className) {=0A=
    this.element.className =3D className;=0A=
  },=0A=
=0A=
  add: function(classNameToAdd) {=0A=
    if (this.include(classNameToAdd)) return;=0A=
    this.set($A(this).concat(classNameToAdd).join(' '));=0A=
  },=0A=
=0A=
  remove: function(classNameToRemove) {=0A=
    if (!this.include(classNameToRemove)) return;=0A=
    this.set($A(this).without(classNameToRemove).join(' '));=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return $A(this).join(' ');=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
/* Portions of the Selector class are derived from Jack Slocum=E2=80=99s =
DomQuery,=0A=
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style=0A=
 * license.  Please see http://www.yui-ext.com/ for more information. */=0A=
=0A=
var Selector =3D Class.create();=0A=
=0A=
Selector.prototype =3D {=0A=
  initialize: function(expression) {=0A=
    this.expression =3D expression.strip();=0A=
    this.compileMatcher();=0A=
  },=0A=
=0A=
  compileMatcher: function() {=0A=
    // Selectors with namespaced attributes can't use the XPath version=0A=
    if (Prototype.BrowserFeatures.XPath && =
!(/\[[\w-]*?:/).test(this.expression))=0A=
      return this.compileXPathMatcher();=0A=
=0A=
    var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,=0A=
        c =3D Selector.criteria, le, p, m;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.matcher =3D Selector._cache[e]; return;=0A=
    }=0A=
    this.matcher =3D ["this.matcher =3D function(root) {",=0A=
                    "var r =3D root, h =3D Selector.handlers, c =3D =
false, n;"];=0A=
=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i in ps) {=0A=
        p =3D ps[i];=0A=
        if (m =3D e.match(p)) {=0A=
          this.matcher.push(typeof c[i] =3D=3D 'function' ? c[i](m) :=0A=
    	      new Template(c[i]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.matcher.push("return h.unique(n);\n}");=0A=
    eval(this.matcher.join('\n'));=0A=
    Selector._cache[this.expression] =3D this.matcher;=0A=
  },=0A=
=0A=
  compileXPathMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns,=0A=
        x =3D Selector.xpath, le,  m;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.xpath =3D Selector._cache[e]; return;=0A=
    }=0A=
=0A=
    this.matcher =3D ['.//*'];=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i in ps) {=0A=
        if (m =3D e.match(ps[i])) {=0A=
          this.matcher.push(typeof x[i] =3D=3D 'function' ? x[i](m) :=0A=
            new Template(x[i]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.xpath =3D this.matcher.join('');=0A=
    Selector._cache[this.expression] =3D this.xpath;=0A=
  },=0A=
=0A=
  findElements: function(root) {=0A=
    root =3D root || document;=0A=
    if (this.xpath) return document._getElementsByXPath(this.xpath, =
root);=0A=
    return this.matcher(root);=0A=
  },=0A=
=0A=
  match: function(element) {=0A=
    return this.findElements(document).include(element);=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return this.expression;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return "#<Selector:" + this.expression.inspect() + ">";=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Selector, {=0A=
  _cache: {},=0A=
=0A=
  xpath: {=0A=
    descendant:   "//*",=0A=
    child:        "/*",=0A=
    adjacent:     "/following-sibling::*[1]",=0A=
    laterSibling: '/following-sibling::*',=0A=
    tagName:      function(m) {=0A=
      if (m[1] =3D=3D '*') return '';=0A=
      return "[local-name()=3D'" + m[1].toLowerCase() +=0A=
             "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A=
    },=0A=
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A=
    id:           "[@id=3D'#{1}']",=0A=
    attrPresence: "[@#{1}]",=0A=
    attr: function(m) {=0A=
      m[3] =3D m[5] || m[6];=0A=
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      var h =3D Selector.xpath.pseudos[m[1]];=0A=
      if (!h) return '';=0A=
      if (typeof h =3D=3D=3D 'function') return h(m);=0A=
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A=
    },=0A=
    operators: {=0A=
      '=3D':  "[@#{1}=3D'#{3}']",=0A=
      '!=3D': "[@#{1}!=3D'#{3}']",=0A=
      '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A=
      '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",=0A=
      '*=3D': "[contains(@#{1}, '#{3}')]",=0A=
      '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A=
      '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A=
    },=0A=
    pseudos: {=0A=
      'first-child': '[not(preceding-sibling::*)]',=0A=
      'last-child':  '[not(following-sibling::*)]',=0A=
      'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',=0A=
      'empty':       "[count(*) =3D 0 and (count(text()) =3D 0 or =
translate(text(), ' \t\r\n', '') =3D '')]",=0A=
      'checked':     "[@checked]",=0A=
      'disabled':    "[@disabled]",=0A=
      'enabled':     "[not(@disabled)]",=0A=
      'not': function(m) {=0A=
        var e =3D m[6], p =3D Selector.patterns,=0A=
            x =3D Selector.xpath, le, m, v;=0A=
=0A=
        var exclusion =3D [];=0A=
        while (e && le !=3D e && (/\S/).test(e)) {=0A=
          le =3D e;=0A=
          for (var i in p) {=0A=
            if (m =3D e.match(p[i])) {=0A=
              v =3D typeof x[i] =3D=3D 'function' ? x[i](m) : new =
Template(x[i]).evaluate(m);=0A=
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A=
              e =3D e.replace(m[0], '');=0A=
              break;=0A=
            }=0A=
          }=0A=
        }=0A=
        return "[not(" + exclusion.join(" and ") + ")]";=0A=
      },=0A=
      'nth-child':      function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-last-child': function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-of-type':    function(m) {=0A=
        return Selector.xpath.pseudos.nth("position() ", m);=0A=
      },=0A=
      'nth-last-of-type': function(m) {=0A=
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", =
m);=0A=
      },=0A=
      'first-of-type':  function(m) {=0A=
        m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A=
      },=0A=
      'last-of-type':   function(m) {=0A=
        m[6] =3D "1"; return =
Selector.xpath.pseudos['nth-last-of-type'](m);=0A=
      },=0A=
      'only-of-type':   function(m) {=0A=
        var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + =
p['last-of-type'](m);=0A=
      },=0A=
      nth: function(fragment, m) {=0A=
        var mm, formula =3D m[6], predicate;=0A=
        if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
        if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
        if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A=
          return '[' + fragment + "=3D " + mm[1] + ']';=0A=
        if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A=
          if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A=
          var a =3D mm[1] ? Number(mm[1]) : 1;=0A=
          var b =3D mm[2] ? Number(mm[2]) : 0;=0A=
          predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A=
          "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A=
          return new Template(predicate).evaluate({=0A=
            fragment: fragment, a: a, b: b });=0A=
        }=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  criteria: {=0A=
    tagName:      'n =3D h.tagName(n, r, "#{1}", c);   c =3D false;',=0A=
    className:    'n =3D h.className(n, r, "#{1}", c); c =3D false;',=0A=
    id:           'n =3D h.id(n, r, "#{1}", c);        c =3D false;',=0A=
    attrPresence: 'n =3D h.attrPresence(n, r, "#{1}"); c =3D false;',=0A=
    attr: function(m) {=0A=
      m[3] =3D (m[5] || m[6]);=0A=
      return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}"); c =
=3D false;').evaluate(m);=0A=
    },=0A=
    pseudo:       function(m) {=0A=
      if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A=
      return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c =
=3D false;').evaluate(m);=0A=
    },=0A=
    descendant:   'c =3D "descendant";',=0A=
    child:        'c =3D "child";',=0A=
    adjacent:     'c =3D "adjacent";',=0A=
    laterSibling: 'c =3D "laterSibling";'=0A=
  },=0A=
=0A=
  patterns: {=0A=
    // combinators must be listed first=0A=
    // (and descendant needs to be last combinator)=0A=
    laterSibling: /^\s*~\s*/,=0A=
    child:        /^\s*>\s*/,=0A=
    adjacent:     /^\s*\+\s*/,=0A=
    descendant:   /^\s/,=0A=
=0A=
    // selectors follow=0A=
    tagName:      /^\s*(\*|[\w\-]+)(\b|$)?/,=0A=
    id:           /^#([\w\-\*]+)(\b|$)/,=0A=
    className:    /^\.([\w\-\*]+)(\b|$)/,=0A=
    pseudo:       =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|\s|(?=3D:))/,=0A=
    attrPresence: /^\[([\w]+)\]/,=0A=
    attr:         =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\]]*?)\4|([^'"][^=
\]]*?)))?\]/=0A=
  },=0A=
=0A=
  handlers: {=0A=
    // UTILITY FUNCTIONS=0A=
    // joins two collections=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        a.push(node);=0A=
      return a;=0A=
    },=0A=
=0A=
    // marks an array of nodes for counting=0A=
    mark: function(nodes) {=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._counted =3D true;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    unmark: function(nodes) {=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._counted =3D undefined;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    // mark each child node with its position (for nth calls)=0A=
    // "ofType" flag indicates whether we're indexing for nth-of-type=0A=
    // rather than nth-child=0A=
    index: function(parentNode, reverse, ofType) {=0A=
      parentNode._counted =3D true;=0A=
      if (reverse) {=0A=
        for (var nodes =3D parentNode.childNodes, i =3D nodes.length - =
1, j =3D 1; i >=3D 0; i--) {=0A=
          node =3D nodes[i];=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) =
node.nodeIndex =3D j++;=0A=
        }=0A=
      } else {=0A=
        for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node =
=3D nodes[i]; i++)=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || node._counted)) =
node.nodeIndex =3D j++;=0A=
      }=0A=
    },=0A=
=0A=
    // filters out duplicates and extends all nodes=0A=
    unique: function(nodes) {=0A=
      if (nodes.length =3D=3D 0) return nodes;=0A=
      var results =3D [], n;=0A=
      for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A=
        if (!(n =3D nodes[i])._counted) {=0A=
          n._counted =3D true;=0A=
          results.push(Element.extend(n));=0A=
        }=0A=
      return Selector.handlers.unmark(results);=0A=
    },=0A=
=0A=
    // COMBINATOR FUNCTIONS=0A=
    descendant: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, node.getElementsByTagName('*'));=0A=
      return results;=0A=
    },=0A=
=0A=
    child: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        for (var j =3D 0, children =3D [], child; child =3D =
node.childNodes[j]; j++)=0A=
          if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') =
results.push(child);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    adjacent: function(nodes) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        var next =3D this.nextElementSibling(node);=0A=
        if (next) results.push(next);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    laterSibling: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, Element.nextSiblings(node));=0A=
      return results;=0A=
    },=0A=
=0A=
    nextElementSibling: function(node) {=0A=
      while (node =3D node.nextSibling)=0A=
	      if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    previousElementSibling: function(node) {=0A=
      while (node =3D node.previousSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    // TOKEN FUNCTIONS=0A=
    tagName: function(nodes, root, tagName, combinator) {=0A=
      tagName =3D tagName.toUpperCase();=0A=
      var results =3D [], h =3D Selector.handlers;=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          // fastlane for ordinary descendant combinators=0A=
          if (combinator =3D=3D "descendant") {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              h.concat(results, node.getElementsByTagName(tagName));=0A=
            return results;=0A=
          } else nodes =3D this[combinator](nodes);=0A=
          if (tagName =3D=3D "*") return nodes;=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName.toUpperCase() =3D=3D tagName) =
results.push(node);=0A=
        return results;=0A=
      } else return root.getElementsByTagName(tagName);=0A=
    },=0A=
=0A=
    id: function(nodes, root, id, combinator) {=0A=
      var targetNode =3D $(id), h =3D Selector.handlers;=0A=
      if (!nodes && root =3D=3D document) return targetNode ? =
[targetNode] : [];=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D 'child') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (targetNode.parentNode =3D=3D node) return [targetNode];=0A=
          } else if (combinator =3D=3D 'descendant') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Element.descendantOf(targetNode, node)) return =
[targetNode];=0A=
          } else if (combinator =3D=3D 'adjacent') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Selector.handlers.previousElementSibling(targetNode) =
=3D=3D node)=0A=
                return [targetNode];=0A=
          } else nodes =3D h[combinator](nodes);=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node =3D=3D targetNode) return [targetNode];=0A=
        return [];=0A=
      }=0A=
      return (targetNode && Element.descendantOf(targetNode, root)) ? =
[targetNode] : [];=0A=
    },=0A=
=0A=
    className: function(nodes, root, className, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      return Selector.handlers.byClassName(nodes, root, className);=0A=
    },=0A=
=0A=
    byClassName: function(nodes, root, className) {=0A=
      if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A=
      var needle =3D ' ' + className + ' ';=0A=
      for (var i =3D 0, results =3D [], node, nodeClassName; node =3D =
nodes[i]; i++) {=0A=
        nodeClassName =3D node.className;=0A=
        if (nodeClassName.length =3D=3D 0) continue;=0A=
        if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' =
').include(needle))=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    attrPresence: function(nodes, root, attr) {=0A=
      var results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        if (Element.hasAttribute(node, attr)) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    attr: function(nodes, root, attr, value, operator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      var handler =3D Selector.operators[operator], results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        var nodeValue =3D Element.readAttribute(node, attr);=0A=
        if (nodeValue =3D=3D=3D null) continue;=0A=
        if (handler(nodeValue, value)) results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    pseudo: function(nodes, name, value, root, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      return Selector.pseudos[name](nodes, value, root);=0A=
    }=0A=
  },=0A=
=0A=
  pseudos: {=0A=
    'first-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.previousElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'last-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.nextElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'only-child': function(nodes, value, root) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
    'nth-child':        function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root);=0A=
    },=0A=
    'nth-last-child':   function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true);=0A=
    },=0A=
    'nth-of-type':      function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, false, true);=0A=
    },=0A=
    'nth-last-of-type': function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true, true);=0A=
    },=0A=
    'first-of-type':    function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, false, true);=0A=
    },=0A=
    'last-of-type':     function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, true, true);=0A=
    },=0A=
    'only-of-type':     function(nodes, formula, root) {=0A=
      var p =3D Selector.pseudos;=0A=
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), =
formula, root);=0A=
    },=0A=
=0A=
    // handles the an+b logic=0A=
    getIndices: function(a, b, total) {=0A=
      if (a =3D=3D 0) return b > 0 ? [b] : [];=0A=
      return $R(1, total).inject([], function(memo, i) {=0A=
        if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A=
        return memo;=0A=
      });=0A=
    },=0A=
=0A=
    // handles nth(-last)-child, nth(-last)-of-type, and =
(first|last)-of-type=0A=
    nth: function(nodes, formula, root, reverse, ofType) {=0A=
      if (nodes.length =3D=3D 0) return [];=0A=
      if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
      if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
      var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A=
      h.mark(nodes);=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        if (!node.parentNode._counted) {=0A=
          h.index(node.parentNode, reverse, ofType);=0A=
          indexed.push(node.parentNode);=0A=
        }=0A=
      }=0A=
      if (formula.match(/^\d+$/)) { // just a number=0A=
        formula =3D Number(formula);=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.nodeIndex =3D=3D formula) results.push(node);=0A=
      } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // =
an+b=0A=
        if (m[1] =3D=3D "-") m[1] =3D -1;=0A=
        var a =3D m[1] ? Number(m[1]) : 1;=0A=
        var b =3D m[2] ? Number(m[2]) : 0;=0A=
        var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A=
        for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; =
i++) {=0A=
          for (var j =3D 0; j < l; j++)=0A=
            if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A=
        }=0A=
      }=0A=
      h.unmark(nodes);=0A=
      h.unmark(indexed);=0A=
      return results;=0A=
    },=0A=
=0A=
    'empty': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        // IE treats comments as element nodes=0A=
        if (node.tagName =3D=3D '!' || (node.firstChild && =
!node.innerHTML.match(/^\s*$/))) continue;=0A=
        results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    'not': function(nodes, selector, root) {=0A=
      var h =3D Selector.handlers, selectorType, m;=0A=
      var exclusions =3D new Selector(selector).findElements(root);=0A=
      h.mark(exclusions);=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node._counted) results.push(node);=0A=
      h.unmark(exclusions);=0A=
      return results;=0A=
    },=0A=
=0A=
    'enabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node.disabled) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'disabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.disabled) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'checked': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.checked) results.push(node);=0A=
      return results;=0A=
    }=0A=
  },=0A=
=0A=
  operators: {=0A=
    '=3D':  function(nv, v) { return nv =3D=3D v; },=0A=
    '!=3D': function(nv, v) { return nv !=3D v; },=0A=
    '^=3D': function(nv, v) { return nv.startsWith(v); },=0A=
    '$=3D': function(nv, v) { return nv.endsWith(v); },=0A=
    '*=3D': function(nv, v) { return nv.include(v); },=0A=
    '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + =
' '); },=0A=
    '|=3D': function(nv, v) { return ('-' + nv.toUpperCase() + =
'-').include('-' + v.toUpperCase() + '-'); }=0A=
  },=0A=
=0A=
  matchElements: function(elements, expression) {=0A=
    var matches =3D new Selector(expression).findElements(), h =3D =
Selector.handlers;=0A=
    h.mark(matches);=0A=
    for (var i =3D 0, results =3D [], element; element =3D elements[i]; =
i++)=0A=
      if (element._counted) results.push(element);=0A=
    h.unmark(matches);=0A=
    return results;=0A=
  },=0A=
=0A=
  findElement: function(elements, expression, index) {=0A=
    if (typeof expression =3D=3D 'number') {=0A=
      index =3D expression; expression =3D false;=0A=
    }=0A=
    return Selector.matchElements(elements, expression || '*')[index || =
0];=0A=
  },=0A=
=0A=
  findChildElements: function(element, expressions) {=0A=
    var exprs =3D expressions.join(','), expressions =3D [];=0A=
    exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {=0A=
      expressions.push(m[1].strip());=0A=
    });=0A=
    var results =3D [], h =3D Selector.handlers;=0A=
    for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A=
      selector =3D new Selector(expressions[i].strip());=0A=
      h.concat(results, selector.findElements(element));=0A=
    }=0A=
    return (l > 1) ? h.unique(results) : results;=0A=
  }=0A=
});=0A=
=0A=
function $$() {=0A=
  return Selector.findChildElements(document, $A(arguments));=0A=
}=0A=
var Form =3D {=0A=
  reset: function(form) {=0A=
    $(form).reset();=0A=
    return form;=0A=
  },=0A=
=0A=
  serializeElements: function(elements, getHash) {=0A=
    var data =3D elements.inject({}, function(result, element) {=0A=
      if (!element.disabled && element.name) {=0A=
        var key =3D element.name, value =3D $(element).getValue();=0A=
        if (value !=3D null) {=0A=
         	if (key in result) {=0A=
            if (result[key].constructor !=3D Array) result[key] =3D =
[result[key]];=0A=
            result[key].push(value);=0A=
          }=0A=
          else result[key] =3D value;=0A=
        }=0A=
      }=0A=
      return result;=0A=
    });=0A=
=0A=
    return getHash ? data : Hash.toQueryString(data);=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form, getHash) {=0A=
    return Form.serializeElements(Form.getElements(form), getHash);=0A=
  },=0A=
=0A=
  getElements: function(form) {=0A=
    return $A($(form).getElementsByTagName('*')).inject([],=0A=
      function(elements, child) {=0A=
        if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A=
          elements.push(Element.extend(child));=0A=
        return elements;=0A=
      }=0A=
    );=0A=
  },=0A=
=0A=
  getInputs: function(form, typeName, name) {=0A=
    form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
    if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))=0A=
        continue;=0A=
      matchingInputs.push(Element.extend(input));=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('disable');=0A=
    return form;=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('enable');=0A=
    return form;=0A=
  },=0A=
=0A=
  findFirstElement: function(form) {=0A=
    return $(form).getElements().find(function(element) {=0A=
      return element.type !=3D 'hidden' && !element.disabled &&=0A=
        ['input', 'select', =
'textarea'].include(element.tagName.toLowerCase());=0A=
    });=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    form =3D $(form);=0A=
    form.findFirstElement().activate();=0A=
    return form;=0A=
  },=0A=
=0A=
  request: function(form, options) {=0A=
    form =3D $(form), options =3D Object.clone(options || {});=0A=
=0A=
    var params =3D options.parameters;=0A=
    options.parameters =3D form.serialize(true);=0A=
=0A=
    if (params) {=0A=
      if (typeof params =3D=3D 'string') params =3D =
params.toQueryParams();=0A=
      Object.extend(options.parameters, params);=0A=
    }=0A=
=0A=
    if (form.hasAttribute('method') && !options.method)=0A=
      options.method =3D form.method;=0A=
=0A=
    return new Ajax.Request(form.readAttribute('action'), options);=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element =3D {=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
    return element;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    $(element).select();=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Methods =3D {=0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element.disabled && element.name) {=0A=
      var value =3D element.getValue();=0A=
      if (value !=3D undefined) {=0A=
        var pair =3D {};=0A=
        pair[element.name] =3D value;=0A=
        return Hash.toQueryString(pair);=0A=
      }=0A=
    }=0A=
    return '';=0A=
  },=0A=
=0A=
  getValue: function(element) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    return Form.Element.Serializers[method](element);=0A=
  },=0A=
=0A=
  clear: function(element) {=0A=
    $(element).value =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  present: function(element) {=0A=
    return $(element).value !=3D '';=0A=
  },=0A=
=0A=
  activate: function(element) {=0A=
    element =3D $(element);=0A=
    try {=0A=
      element.focus();=0A=
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||=0A=
        !['button', 'reset', 'submit'].include(element.type)))=0A=
        element.select();=0A=
    } catch (e) {}=0A=
    return element;=0A=
  },=0A=
=0A=
  disable: function(element) {=0A=
    element =3D $(element);=0A=
    element.blur();=0A=
    element.disabled =3D true;=0A=
    return element;=0A=
  },=0A=
=0A=
  enable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D false;=0A=
    return element;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Field =3D Form.Element;=0A=
var $F =3D Form.Element.Methods.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D {=0A=
  input: function(element) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'checkbox':=0A=
      case 'radio':=0A=
        return Form.Element.Serializers.inputSelector(element);=0A=
      default:=0A=
        return Form.Element.Serializers.textarea(element);=0A=
    }=0A=
  },=0A=
=0A=
  inputSelector: function(element) {=0A=
    return element.checked ? element.value : null;=0A=
  },=0A=
=0A=
  textarea: function(element) {=0A=
    return element.value;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    return this[element.type =3D=3D 'select-one' ?=0A=
      'selectOne' : 'selectMany'](element);=0A=
  },=0A=
=0A=
  selectOne: function(element) {=0A=
    var index =3D element.selectedIndex;=0A=
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;=0A=
  },=0A=
=0A=
  selectMany: function(element) {=0A=
    var values, length =3D element.length;=0A=
    if (!length) return null;=0A=
=0A=
    for (var i =3D 0, values =3D []; i < length; i++) {=0A=
      var opt =3D element.options[i];=0A=
      if (opt.selected) values.push(this.optionValue(opt));=0A=
    }=0A=
    return values;=0A=
  },=0A=
=0A=
  optionValue: function(opt) {=0A=
    // extend element because hasAttribute may not be native=0A=
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;=0A=
  }=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.TimedObserver =3D function() {}=0A=
Abstract.TimedObserver.prototype =3D {=0A=
  initialize: function(element, frequency, callback) {=0A=
    this.frequency =3D frequency;=0A=
    this.element   =3D $(element);=0A=
    this.callback  =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    setInterval(this.onTimerEvent.bind(this), this.frequency * 1000);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    var changed =3D ('string' =3D=3D typeof this.lastValue && 'string' =
=3D=3D typeof value=0A=
      ? this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value));=0A=
    if (changed) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Form.Element.Observer =3D Class.create();=0A=
Form.Element.Observer.prototype =3D Object.extend(new =
Abstract.TimedObserver(), {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create();=0A=
Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D function() {}=0A=
Abstract.EventObserver.prototype =3D {=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
=0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
=0A=
  registerFormCallbacks: function() {=0A=
    =
Form.getElements(this.element).each(this.registerCallback.bind(this));=0A=
  },=0A=
=0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':=0A=
        case 'radio':=0A=
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
        default:=0A=
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
      }=0A=
    }=0A=
  }=0A=
}=0A=
=0A=
Form.Element.EventObserver =3D Class.create();=0A=
Form.Element.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create();=0A=
Form.EventObserver.prototype =3D Object.extend(new =
Abstract.EventObserver(), {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
if (!window.Event) {=0A=
  var Event =3D new Object();=0A=
}=0A=
=0A=
Object.extend(Event, {=0A=
  KEY_BACKSPACE: 8,=0A=
  KEY_TAB:       9,=0A=
  KEY_RETURN:   13,=0A=
  KEY_ESC:      27,=0A=
  KEY_LEFT:     37,=0A=
  KEY_UP:       38,=0A=
  KEY_RIGHT:    39,=0A=
  KEY_DOWN:     40,=0A=
  KEY_DELETE:   46,=0A=
  KEY_HOME:     36,=0A=
  KEY_END:      35,=0A=
  KEY_PAGEUP:   33,=0A=
  KEY_PAGEDOWN: 34,=0A=
=0A=
  element: function(event) {=0A=
    return $(event.target || event.srcElement);=0A=
  },=0A=
=0A=
  isLeftClick: function(event) {=0A=
    return (((event.which) && (event.which =3D=3D 1)) ||=0A=
            ((event.button) && (event.button =3D=3D 1)));=0A=
  },=0A=
=0A=
  pointerX: function(event) {=0A=
    return event.pageX || (event.clientX +=0A=
      (document.documentElement.scrollLeft || document.body.scrollLeft));=0A=
  },=0A=
=0A=
  pointerY: function(event) {=0A=
    return event.pageY || (event.clientY +=0A=
      (document.documentElement.scrollTop || document.body.scrollTop));=0A=
  },=0A=
=0A=
  stop: function(event) {=0A=
    if (event.preventDefault) {=0A=
      event.preventDefault();=0A=
      event.stopPropagation();=0A=
    } else {=0A=
      event.returnValue =3D false;=0A=
      event.cancelBubble =3D true;=0A=
    }=0A=
  },=0A=
=0A=
  // find the first node with the given tagName, starting from the=0A=
  // node the event was triggered on; traverses the DOM upwards=0A=
  findElement: function(event, tagName) {=0A=
    var element =3D Event.element(event);=0A=
    while (element.parentNode && (!element.tagName ||=0A=
        (element.tagName.toUpperCase() !=3D tagName.toUpperCase())))=0A=
      element =3D element.parentNode;=0A=
    return element;=0A=
  },=0A=
=0A=
  observers: false,=0A=
=0A=
  _observeAndCache: function(element, name, observer, useCapture) {=0A=
    if (!this.observers) this.observers =3D [];=0A=
    if (element.addEventListener) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.addEventListener(name, observer, useCapture);=0A=
    } else if (element.attachEvent) {=0A=
      this.observers.push([element, name, observer, useCapture]);=0A=
      element.attachEvent('on' + name, observer);=0A=
    }=0A=
  },=0A=
=0A=
  unloadCache: function() {=0A=
    if (!Event.observers) return;=0A=
    for (var i =3D 0, length =3D Event.observers.length; i < length; =
i++) {=0A=
      Event.stopObserving.apply(this, Event.observers[i]);=0A=
      Event.observers[i][0] =3D null;=0A=
    }=0A=
    Event.observers =3D false;=0A=
  },=0A=
=0A=
  observe: function(element, name, observer, useCapture) {=0A=
    element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
=0A=
    if (name =3D=3D 'keypress' &&=0A=
      (Prototype.Browser.WebKit || element.attachEvent))=0A=
      name =3D 'keydown';=0A=
=0A=
    Event._observeAndCache(element, name, observer, useCapture);=0A=
  },=0A=
=0A=
  stopObserving: function(element, name, observer, useCapture) {=0A=
    element =3D $(element);=0A=
    useCapture =3D useCapture || false;=0A=
=0A=
    if (name =3D=3D 'keypress' &&=0A=
        (Prototype.Browser.WebKit || element.attachEvent))=0A=
      name =3D 'keydown';=0A=
=0A=
    if (element.removeEventListener) {=0A=
      element.removeEventListener(name, observer, useCapture);=0A=
    } else if (element.detachEvent) {=0A=
      try {=0A=
        element.detachEvent('on' + name, observer);=0A=
      } catch (e) {}=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
/* prevent memory leaks in IE */=0A=
if (Prototype.Browser.IE)=0A=
  Event.observe(window, 'unload', Event.unloadCache, false);=0A=
var Position =3D {=0A=
  // set to true if needed, warning: firefox performance problems=0A=
  // NOT neeeded for page scrolling, only if draggable contained in=0A=
  // scrollable elements=0A=
  includeScrollOffsets: false,=0A=
=0A=
  // must be called before calling withinIncludingScrolloffset, every =
time the=0A=
  // page is scrolled=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset=0A=
                || document.documentElement.scrollLeft=0A=
                || document.body.scrollLeft=0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset=0A=
                || document.documentElement.scrollTop=0A=
                || document.body.scrollTop=0A=
                || 0;=0A=
  },=0A=
=0A=
  realOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0;=0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  cumulativeOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  positionedOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
      if (element) {=0A=
        if(element.tagName=3D=3D'BODY') break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p =3D=3D 'relative' || p =3D=3D 'absolute') break;=0A=
      }=0A=
    } while (element);=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  offsetParent: function(element) {=0A=
    if (element.offsetParent) return element.offsetParent;=0A=
    if (element =3D=3D document.body) return element;=0A=
=0A=
    while ((element =3D element.parentNode) && element !=3D =
document.body)=0A=
      if (Element.getStyle(element, 'position') !=3D 'static')=0A=
        return element;=0A=
=0A=
    return document.body;=0A=
  },=0A=
=0A=
  // caches x/y coordinate pair to use with overlap=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] &&=0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D this.realOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D this.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] &&=0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  // within must be called directly before=0A=
  overlap: function(mode, element) {=0A=
    if (!mode) return 0;=0A=
    if (mode =3D=3D 'vertical')=0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
  page: function(forElement) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
=0A=
    var element =3D forElement;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
=0A=
      // Safari fix=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element,'position')=3D=3D'absolute') break;=0A=
=0A=
    } while (element =3D element.offsetParent);=0A=
=0A=
    element =3D forElement;=0A=
    do {=0A=
      if (!window.opera || element.tagName=3D=3D'BODY') {=0A=
        valueT -=3D element.scrollTop  || 0;=0A=
        valueL -=3D element.scrollLeft || 0;=0A=
      }=0A=
    } while (element =3D element.parentNode);=0A=
=0A=
    return [valueL, valueT];=0A=
  },=0A=
=0A=
  clone: function(source, target) {=0A=
    var options =3D Object.extend({=0A=
      setLeft:    true,=0A=
      setTop:     true,=0A=
      setWidth:   true,=0A=
      setHeight:  true,=0A=
      offsetTop:  0,=0A=
      offsetLeft: 0=0A=
    }, arguments[2] || {})=0A=
=0A=
    // find page position of source=0A=
    source =3D $(source);=0A=
    var p =3D Position.page(source);=0A=
=0A=
    // find coordinate system to use=0A=
    target =3D $(target);=0A=
    var delta =3D [0, 0];=0A=
    var parent =3D null;=0A=
    // delta [0,0] will do fine with position: fixed elements,=0A=
    // position:absolute needs offsetParent deltas=0A=
    if (Element.getStyle(target,'position') =3D=3D 'absolute') {=0A=
      parent =3D Position.offsetParent(target);=0A=
      delta =3D Position.page(parent);=0A=
    }=0A=
=0A=
    // correct by body offsets (fixes Safari)=0A=
    if (parent =3D=3D document.body) {=0A=
      delta[0] -=3D document.body.offsetLeft;=0A=
      delta[1] -=3D document.body.offsetTop;=0A=
    }=0A=
=0A=
    // set position=0A=
    if(options.setLeft)   target.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
    if(options.setTop)    target.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
    if(options.setWidth)  target.style.width =3D source.offsetWidth + =
'px';=0A=
    if(options.setHeight) target.style.height =3D source.offsetHeight + =
'px';=0A=
  },=0A=
=0A=
  absolutize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.style.position =3D=3D 'absolute') return;=0A=
    Position.prepare();=0A=
=0A=
    var offsets =3D Position.positionedOffset(element);=0A=
    var top     =3D offsets[1];=0A=
    var left    =3D offsets[0];=0A=
    var width   =3D element.clientWidth;=0A=
    var height  =3D element.clientHeight;=0A=
=0A=
    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);=0A=
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);=0A=
    element._originalWidth  =3D element.style.width;=0A=
    element._originalHeight =3D element.style.height;=0A=
=0A=
    element.style.position =3D 'absolute';=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.width  =3D width + 'px';=0A=
    element.style.height =3D height + 'px';=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    element =3D $(element);=0A=
    if (element.style.position =3D=3D 'relative') return;=0A=
    Position.prepare();=0A=
=0A=
    element.style.position =3D 'relative';=0A=
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);=0A=
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);=0A=
=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.height =3D element._originalHeight;=0A=
    element.style.width  =3D element._originalWidth;=0A=
  }=0A=
}=0A=
=0A=
// Safari returns margins on body which is incorrect if the child is =
absolutely=0A=
// positioned.  For performance reasons, redefine =
Position.cumulativeOffset for=0A=
// KHTML/WebKit only.=0A=
if (Prototype.Browser.WebKit) {=0A=
  Position.cumulativeOffset =3D function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
=0A=
    return [valueL, valueT];=0A=
  }=0A=
}=0A=
=0A=
Element.addMethods();
------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.itnews.com.au/Scripts/scriptaculous/scriptaculous.js

// script.aculo.us scriptaculous.js v1.7.1_beta3, Fri May 25 17:19:41 =
+0200 2007=0A=
=0A=
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
// =0A=
// Permission is hereby granted, free of charge, to any person obtaining=0A=
// a copy of this software and associated documentation files (the=0A=
// "Software"), to deal in the Software without restriction, including=0A=
// without limitation the rights to use, copy, modify, merge, publish,=0A=
// distribute, sublicense, and/or sell copies of the Software, and to=0A=
// permit persons to whom the Software is furnished to do so, subject to=0A=
// the following conditions:=0A=
// =0A=
// The above copyright notice and this permission notice shall be=0A=
// included in all copies or substantial portions of the Software.=0A=
//=0A=
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A=
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A=
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A=
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE=0A=
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION=0A=
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION=0A=
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.=0A=
//=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
var Scriptaculous =3D {=0A=
  Version: '1.7.1_beta3',=0A=
  require: function(libraryName) {=0A=
    // inserting via DOM fails in Safari 2.0, so brute force approach=0A=
    document.write('<script type=3D"text/javascript" =
src=3D"'+libraryName+'"></script>');=0A=
  },=0A=
  REQUIRED_PROTOTYPE: '1.5.1',=0A=
  load: function() {=0A=
    function convertVersionString(versionString){=0A=
      var r =3D versionString.split('.');=0A=
      return parseInt(r[0])*100000 + parseInt(r[1])*1000 + =
parseInt(r[2]);=0A=
    }=0A=
 =0A=
    if((typeof Prototype=3D=3D'undefined') || =0A=
       (typeof Element =3D=3D 'undefined') || =0A=
       (typeof Element.Methods=3D=3D'undefined') ||=0A=
       (convertVersionString(Prototype.Version) < =0A=
        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))=0A=
       throw("script.aculo.us requires the Prototype JavaScript =
framework >=3D " +=0A=
        Scriptaculous.REQUIRED_PROTOTYPE);=0A=
    =0A=
    $A(document.getElementsByTagName("script")).findAll( function(s) {=0A=
      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))=0A=
    }).each( function(s) {=0A=
      var path =3D s.src.replace(/scriptaculous\.js(\?.*)?$/,'');=0A=
      var includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A=
      (includes ? includes[1] : =
'builder,effects,dragdrop,controls,slider,sound').split(',').each(=0A=
       function(include) { Scriptaculous.require(path+include+'.js') });=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
Scriptaculous.load();
------=_NextPart_000_0000_01C827B4.99EB7280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://adsm.soush.com/p7913803984903610644/t16/ads.js


function encode_utf8(_1){=0A=
var _2=3D"";=0A=
for(var n=3D0;n<_1.length;n++){=0A=
var c=3D_1.charCodeAt(n);=0A=
if(c<128){=0A=
_2+=3DString.fromCharCode(c);=0A=
}else{=0A=
if((c>127)&&(c<2048)){=0A=
_2+=3DString.fromCharCode((c>>6)|192);=0A=
_2+=3DString.fromCharCode((c&63)|128);=0A=
}else{=0A=
_2+=3DString.fromCharCode((c>>12)|224);=0A=
_2+=3DString.fromCharCode(((c>>6)&63)|128);=0A=
_2+=3DString.fromCharCode((c&63)|128);=0A=
}=0A=
}=0A=
}=0A=
return _2;=0A=
}=0A=
function mooter_encode_url(_5){=0A=
if(_5){=0A=
_5=3Dencode_utf8(_5);=0A=
_5=3DencodeURIComponent(_5);=0A=
_5=3D_5.substring(0,1023);=0A=
}=0A=
return _5;=0A=
}=0A=
function mooter_detect_page_url(){=0A=
var w=3Dwindow;=0A=
var _7=3Dw.location;=0A=
if(w.location=3D=3Dtop.location){=0A=
_7=3Dw.location.toString();=0A=
}else{=0A=
try{=0A=
_7=3Dw.top.location.toString();=0A=
}=0A=
catch(e){=0A=
_7=3Ddocument.referrer;=0A=
}=0A=
}=0A=
_7=3Dmooter_encode_url(_7);=0A=
return _7;=0A=
}=0A=
function get_page_url(){=0A=
var _8=3Dmooter_encode_url(window.mooter_page_url);=0A=
if(!_8){=0A=
_8=3Dmooter_detect_page_url();=0A=
}=0A=
if(_8){=0A=
_8=3D_8.replace(/%[0-9]?$/,"");=0A=
}=0A=
return _8;=0A=
}=0A=
function get_ad_unit_num(){=0A=
try{=0A=
return inc_ad_unit(top);=0A=
}=0A=
catch(e){=0A=
return inc_ad_unit(window);=0A=
}=0A=
}=0A=
function inc_ad_unit(w){=0A=
return =
(w.mooter_ad_unit_num?++w.mooter_ad_unit_num:w.mooter_ad_unit_num=3D1);=0A=
}=0A=
function get_page_view_id(){=0A=
try{=0A=
return next_page_id(window.top);=0A=
}=0A=
catch(e){=0A=
return next_page_id(window);=0A=
}=0A=
}=0A=
function next_page_id(w){=0A=
if(!w.mooter_page_view_id){=0A=
w.mooter_page_view_id=3Dnext_random_int(1,Math.pow(10,17));=0A=
}=0A=
return w.mooter_page_view_id;=0A=
}=0A=
function next_random_int(_b,_c){=0A=
return Math.floor(Math.random()*(_c-_b+1)+_b);=0A=
}=0A=
function src_url(_d,_e){=0A=
var _f=3D"http://adsm.soush.com:80/ads/"+_e+"?";=0A=
for(var _10 in _d){=0A=
if(_d[_10]){=0A=
_f+=3D_10+"=3D"+_d[_10]+"&";=0A=
}=0A=
}=0A=
return _f.substring(0,_f.length-1);=0A=
}=0A=
function esc(_11){=0A=
return _11?escape(_11):_11;=0A=
}=0A=
function write_iframe(_12,_13){=0A=
function valid(_14){=0A=
if(_14>3){=0A=
return false;=0A=
}=0A=
var _15=3Ddocument.body;=0A=
return !_15||(_15.clientWidth>0&&_15.clientHeight>0);=0A=
}=0A=
if(valid(_12.ad_unit)){=0A=
document.write("<iframe name=3D\"mooter_ads\" scrolling=3D\"no\" =
frameborder=3D\"0\" marginheight=3D\"0\" marginwidth=3D\"0\"  =
width=3D\""+_12.width+"\" height=3D\""+_12.height+"\" =
src=3D\""+src_url(_12,_13)+"\"></iframe>");=0A=
}=0A=
}=0A=
function timezoneOffset(){=0A=
return (new Date()