mime-version: 1.0
date: Wed, 23 Sep 2009 19:53:30 +1000
x-mimeole: Produced By Microsoft MimeOLE V6.0.6001.18049
from: "Saved by Windows Internet Explorer 7"
subject: Shepparton News
content-type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CA3C87.8643C400"


This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/html;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/feature_1115641.aspx

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www=
.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den xml:lang=3D"en-au"=20
xmlns=3D"http://www.w3.org/1999/xhtml" xmlns:mso=3D"urn:schemas-microsoft-=
com:office:office" xmlns:msdt=3D"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882=
"><HEAD><TITLE>Shepparton News</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Diso-8859-1=
">
<STYLE type=3Dtext/css media=3Dscreen>@import url( /css/master.css );
</STYLE>
<LINK media=3Dscreen href=3D"http://www.sheppnews.com.au/css/sIFR-screen.c=
ss"=20
type=3Dtext/css rel=3Dstylesheet><LINK media=3Dprint=20
href=3D"http://www.sheppnews.com.au/css/print.css" type=3Dtext/css=20
rel=3Dstylesheet><LINK media=3Dall=20
href=3D"http://www.sheppnews.com.au/css/content.css" type=3Dtext/css rel=
=3Dstylesheet><!--[if lt IE 7]>
    <script defer language=3D"JavaScript" type=3D"text/javascript" src=3D"=
/js/pngfix.js"></script>
    <![endif]-->
<SCRIPT src=3D"http://www.sheppnews.com.au/js/master.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.sheppnews.com.au/js/sifr.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.sheppnews.com.au/js/ticker.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.sheppnews.com.au/js/swfobject.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript>AC_FL_RunContent =3D 0;</SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://www.sheppnews.com.au/AC_RunActiveContent.js"></SCRIPT>

<SCRIPT language=3DJavaScript=20
src=3D"http://www.sheppnews.com.au/js/SpryTabbedPanels.js"=20
type=3Dtext/javascript></SCRIPT>

<META content=3D"MSHTML 6.00.6001.18248" name=3DGENERATOR>
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
<mso:ContentType msdt:dt=3D"string">Document</mso:ContentType>
</mso:CustomDocumentProperties>
</xml><![endif]-->
</HEAD>
<BODY id=3Dsec-feature>
<FORM id=3DaspnetForm name=3DaspnetForm=20
action=3Darticle.aspx?id=3D1115641&amp;content=3Dfeature&amp;logout=3D met=
hod=3Dpost>
<DIV><INPUT id=3D__EVENTTARGET type=3Dhidden name=3D__EVENTTARGET> <INPUT=
=20
id=3D__EVENTARGUMENT type=3Dhidden name=3D__EVENTARGUMENT> <INPUT id=3D__V=
IEWSTATE=20
type=3Dhidden=20
value=3D/wEPDwUKMTAxMTgwMjA3OA9kFgJmD2QWAgIBD2QWBgICDw8WAh4LTmF2aWdhdGVVcm=
wFCS9mZWF0dXJlL2RkAggPD2QWAh4Fc3R5bGUFGnRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7=
ZAISDw8WAh4HVmlzaWJsZWdkZBgBBR5fX0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WCA=
UPY3RsMDAkYnRuTG9naW4xBQ9jdGwwMCRidG5TZWFyY2gFIWN0bDAwJENvbnRlbnRQbGFjZUhv=
bGRlciRpbWdWb3RlMQUhY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyJGltZ1ZvdGUyBSFjdGwwMC=
RDb250ZW50UGxhY2VIb2xkZXIkaW1nVm90ZTMFIWN0bDAwJENvbnRlbnRQbGFjZUhvbGRlciRp=
bWdWb3RlNAUhY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyJGltZ1ZvdGU1BTRjdGwwMCRDb250ZW=
50UGxhY2VIb2xkZXIkU3VibWl0Q29tbWVudCRidG5OZXdDb21tZW50MnIwNGHU3VpNbYvnZFRB=
5HKEyqQ=3D=20
name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
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.sheppnews.com.au/WebResource.axd?d=3D3SijMgcdcORObqW3ZJL=
qZg2&amp;t=3D633517254259843750"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.sheppnews.com.au/ScriptResource.axd?d=3DSZxxWxVQthaHDRq4=
IAkrHUYqLrqFdgBrOOjw__WQqbv4jN2d5Y4Aad1r7Bw2-TwuF0WYKHB1ETwebEUHRzmZLVTlXb=
kNUQrhZDMqPDWDMiY1&amp;t=3D633529369534987500"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.sheppnews.com.au/ScriptResource.axd?d=3DSZxxWxVQthaHDRq4=
IAkrHUYqLrqFdgBrOOjw__WQqbv4jN2d5Y4Aad1r7Bw2-TwuF0WYKHB1ETwebEUHRzmZLeX0RW=
dL-UWF2CmbYfcHyTdL-coowE-g2CF9nYkQNktF0&amp;t=3D633529369534987500"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', docume=
nt.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tctl00$Con=
tentPlaceHolder$upPhotos'], [], [], 90);
//]]>
</SCRIPT>

<DIV id=3Dheader><A class=3Dskipper accessKey=3Dz=20
href=3D"http://www.sheppnews.com.au/feature_1115641.aspx#contentStart">ski=
p main=20
navigation</A></DIV>
<DIV id=3Dcontainer>
<DIV id=3DcontainerTop>
<DIV id=3DtopBar><!-- TOP MENU BEGINS -->
<DIV class=3Dholder>
<DIV class=3Dtop_mnu>
<UL><!-- <li><a href=3D"/profile/alerts.aspx?content=3Dnews" accesskey=3D"=
1">ALERTS</a></li> -->
  <LI><A href=3D"http://www.sheppnews.com.au/feeds/?content=3Dnews">FEEDS<=
/A> </LI>
  <LI><A href=3D"http://search.sheppnews.com.au/">ARCHIVES</A> </LI>
  <LI><A href=3D"http://www.localphoto.com.au/">LOCAL PHOTO</A> </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/signup/?content=3Dnews">SUBSC=
RIBE</A>=20
  </LI>
  <LI class=3Dlast><A href=3D"http://www.localrealestate.com.au/">LOCAL RE=
AL=20
  ESTATE</A> </LI></UL><SELECT onchange=3D"location.href =3D this.value;" =
name=3Dsites>=20
  <OPTION value=3D# selected>Our Sites...</OPTION> <OPTION=20
  value=3D"">----------------------------------</OPTION> <OPTION=20
  value=3Dhttp://www.mcphersonmediagroup.com.au/>Mcpherson Media Group</OP=
TION>=20
  <OPTION value=3Dhttp://www.mcmedia.com.au/>Mcpherson Media Internet</OPT=
ION>=20
  <OPTION value=3Dhttp://www.countrynews.com.au/>Country News</OPTION> <OP=
TION=20
  value=3Dhttp://ensign.benalla.net.au/>Benalla Ensign</OPTION> <OPTION=20
  value=3Dhttp://courier.cobram.net.au/>Cobram Courier</OPTION> <OPTION=20
  value=3Dhttp://www.denipastoraltimes.net.au/>Deni Pastoral Times</OPTION=
>=20
  <OPTION value=3Dhttp://www.southernriverinanews.net.au/>Southern Riverin=
a=20
  News</OPTION> <OPTION value=3Dhttp://freepress.kyabram.net.au/>Kyabram F=
ree=20
  Press</OPTION> <OPTION value=3Dhttp://www.rivheraldechuca.net/>Riverine=
=20
  Herald</OPTION> <OPTION value=3Dhttp://www.campaspenews.net/>Campaspe Va=
lley=20
  News</OPTION> <OPTION value=3Dhttp://telegraph.seymour.net.au/>Seymour=20
  Telegraph</OPTION> <OPTION value=3Dhttp://www.mcivortimes.com.au>McIvor=
=20
  Times</OPTION> <OPTION value=3Dhttp://www.snweekly.com.au/>SN Weekly</OP=
TION>=20
  <OPTION value=3Dhttp://www.mateology.com>Mateology</OPTION> <OPTION=20
  value=3Dhttp://www.bidlocal.com.au/>Bid Local</OPTION> <OPTION=20
  value=3Dhttp://www.thelylefile.com.au/>The Lyle File</OPTION></SELECT> <=
/DIV>
<DIV class=3Dlogin><SPAN>SHEPP NEWS LOG IN:</SPAN> <LABEL>email</LABEL><IN=
PUT=20
id=3Dctl00_txtUserName name=3Dctl00$txtUserName> <LABEL>password</LABEL><I=
NPUT=20
id=3Dctl00_txtPassword type=3Dpassword name=3Dctl00$txtPassword> <INPUT cl=
ass=3Dbtn=20
id=3Dctl00_btnLogin1=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDT=
H: 0px; BORDER-RIGHT-WIDTH: 0px"=20
type=3Dimage src=3D"http://www.sheppnews.com.au/images/btn/btn-go.gif"=20
name=3Dctl00$btnLogin1> </DIV></DIV></DIV>
<DIV id=3Dbanner>
<DIV class=3Dholder><A href=3D"http://www.sheppnews.com.au/feature/">
<H1 id=3Dheading title=3D"Shepparton News">Shepparton News </H1></A>
<DIV class=3Drt_menu>
<DIV class=3DdateHold>
<P class=3Dbookmark><IMG class=3DfloatR height=3D26 alt=3DSN=20
src=3D"http://www.sheppnews.com.au/images/logo-sn.png" width=3D57> <A=20
href=3D"http://www.sheppnews.com.au/homepage.aspx">MAKE THIS YOUR=20
HOMEPAGE!</A><BR><SPAN class=3Ddate>Wednesday, 23rd September 2009 | 7:48 =
PM=20
</SPAN></P></DIV>
<DIV class=3Dmenu>
<UL>
  <LI><A id=3Dctl00_lnkMenuHome href=3D"http://www.sheppnews.com.au/">HOME=
</A> </LI>
  <LI><A id=3Dctl00_lnkMenuNews=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?content=3Dnews">NEWS<=
/A> </LI>
  <LI><A id=3Dctl00_lnkMenuSport=20
  href=3D"http://www.sheppnews.com.au/sport/">SPORTS</A> </LI>
  <LI><A id=3Dctl00_lnkMenuOpinion=20
  href=3D"http://www.sheppnews.com.au/opinion/">OPINION</A> </LI>
  <LI><A id=3Dctl00_lnkMenuFeature style=3D"TEXT-DECORATION: underline"=20
  href=3D"http://www.sheppnews.com.au/feature/">FEATURE</A> </LI>
  <LI><A id=3Dctl00_lnkMenuBlog href=3D"http://www.sheppnews.com.au/blog/"=
>BLOGS</A>=20
  </LI>
  <LI><A id=3Dctl00_lnkMenuMedia href=3D"http://www.sheppnews.com.au/media=
/">PHOTOS=20
  &amp; MULTIMEDIA</A> </LI>
  <LI><A id=3Dctl00_lnkMenuPaper=20
  href=3D"http://www.sheppnews.com.au/pdf/pdf.aspx">TODAY'S PAPER</A> </LI>
  <LI class=3Dlast><A href=3D"http://www.localclassies.com.au/">CLASSIFIED=
S</A>=20
</LI></UL></DIV></DIV></DIV></DIV>
<DIV id=3DsrchBar>
<DIV class=3Dholder>
<DIV class=3D"featureMenu menu">
<UL>
  <LI><A href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D37"=
>PEOPLE=20
  PIX</A> </LI>
  <LI><A=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D30">LIFEST=
YLE</A>=20
  </LI>
  <LI><A=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D31">HEALTH=
</A> </LI>
  <LI><A=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D32">BUSINE=
SS</A>=20
  </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D33"=
>YOUTH</A>=20
  </LI>
  <LI><A=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D28">ENTERT=
AINMENT</A>=20
  </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D35"=
>WHAT'S=20
  ON</A> </LI>
  <LI><A=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D34">EDUCAT=
ION</A>=20
  </LI>
  <LI class=3Dlast><A=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D29">RURAL<=
/A>=20
</LI></UL></DIV>
<DIV id=3Dsearch><LABEL for=3DtxtSearch><IMG height=3D8 alt=3Dsearch=20
src=3D"http://www.sheppnews.com.au/images/titles/ttl-srch.gif" width=3D53>=
</LABEL>=20
<INPUT id=3Dctl00_txtSearch name=3Dctl00$txtSearch> <INPUT class=3Dbtn=20
id=3Dctl00_btnSearch=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDT=
H: 0px; BORDER-RIGHT-WIDTH: 0px"=20
type=3Dimage src=3D"http://www.sheppnews.com.au/images/btn/btn-go.gif"=20
name=3Dctl00$btnSearch> <A class=3Dsmall=20
href=3D"http://www.sheppnews.com.au/advancedsearch.aspx">Advanced Search</=
A>=20
</DIV></DIV></DIV></DIV><!-- /End of containerTop with the 3 stripes --><!=
-- Start of the main content container -->
<DIV id=3Dframe>
<DIV id=3Dcontent><A id=3DcontentStart></A><!-- COLUMN LEFT -->
<DIV id=3DcolumnLeft>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>
        /* <![CDATA[ */
        function light(obj, value)
        {
            var objs =3D obj.parentNode.getElementsByTagName("input");
            for (i=3D0; i<5; i++)
            {
                if (i<=3Dvalue)
                {
                    objs[i].src=3Dimg_on.src;
                }
                else
                {
                    objs[i].src=3Dimg_off.src;
                }
            }
        }
        /* ]]> */
        </SCRIPT>

<DIV class=3Dadvertisement></DIV>
<DIV class=3DwideNews>
<P class=3DnewsSection>Wednesday, 23rd September 2009 </P>
<H2 id=3DarticleTitle>Youth program's call for help </H2>
<P class=3DnewsAuthor><SPAN class=3Dauthor>Chloe Warburton=20
<P></SPAN></P></DIV>
<DIV class=3DwideNews>
<DIV class=3DnewsArticle id=3DleftCol2>A program which aims to keep kids o=
ff the=20
streets on a Saturday night by teaching them life skills through basketbal=
l is=20
desperately in need of volunteers.=20
<P>Midnight Basketball is run by Rotary Club of Mooroopna and allows youth=
s to=20
be involved in a sporting competition with their peers on a Saturday night=
 as=20
well as taking part in workshops. </P>
<P>``It's getting the kids in need off the streets on a Saturday night so=
=20
they're not getting in trouble,'' Mooroopna Rotary Club president Barb Joy=
ce=20
said. </P>
<P>``Before they can play basketball, they have to do a workshop _ so for=
=20
instance, if they do a workshop on nutrition then it's all about what to p=
ut in=20
your body. </P>
<P>``The program starts at 6.45 pm on a Saturday night, the kids get a hot=
 meal,=20
do the workshop, learn drills and skills and then play a game with what th=
ey've=20
learnt until around 11.30 pm or 11.45 pm.'' </P>
<P>Vision Australia will also do workshops with the participants and Victo=
ria=20
Police will provide its state basketball team for a game in November. </P>
<P>Awards for the best contributor to the workshop and the games will be a=
warded=20
each night. </P>
<P>Last year's program was a success and while the Greater Shepparton City=
=20
Council is now supporting the program, Mrs Joyce said more volunteers were=
=20
needed to help out. </P>
<P>``Everyone enjoyed it last year and we did a survey afterwards where 10=
0 per=20
cent said they'd come back and do it again,'' Mrs Joyce said. </P>
<P>``We definitely need volunteers though _ if they can only do one or two=
 out=20
of the eight nights that's fine, but we do need 12 people to be committed =
for=20
the full eight weeks as team manager and scorers and other positions.'' </=
P>
<P>L For more details on volunteering or general inquiries, phone Barb Joy=
ce on=20
0427 553 604 or email barliej@bigpond.com. Registration forms for players =
and=20
volunteers are also available at the Commonwealth bank in Wyndham St.</P><=
/DIV><!---leftCol2-->
<DIV id=3DrightCol2>Rate This Article:<BR><INPUT=20
id=3Dctl00_ContentPlaceHolder_imgVote1 onmouseover=3Dlight(this,0);=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDT=
H: 0px; BORDER-RIGHT-WIDTH: 0px"=20
onmouseout=3Dlight(this,-1); type=3Dimage=20
src=3D"http://www.sheppnews.com.au/images/star_off.gif"=20
name=3Dctl00$ContentPlaceHolder$imgVote1> <INPUT=20
id=3Dctl00_ContentPlaceHolder_imgVote2 onmouseover=3Dlight(this,1);=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDT=
H: 0px; BORDER-RIGHT-WIDTH: 0px"=20
onmouseout=3Dlight(this,-1); type=3Dimage=20
src=3D"http://www.sheppnews.com.au/images/star_off.gif"=20
name=3Dctl00$ContentPlaceHolder$imgVote2> <INPUT=20
id=3Dctl00_ContentPlaceHolder_imgVote3 onmouseover=3Dlight(this,2);=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDT=
H: 0px; BORDER-RIGHT-WIDTH: 0px"=20
onmouseout=3Dlight(this,-1); type=3Dimage=20
src=3D"http://www.sheppnews.com.au/images/star_off.gif"=20
name=3Dctl00$ContentPlaceHolder$imgVote3> <INPUT=20
id=3Dctl00_ContentPlaceHolder_imgVote4 onmouseover=3Dlight(this,3);=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDT=
H: 0px; BORDER-RIGHT-WIDTH: 0px"=20
onmouseout=3Dlight(this,-1); type=3Dimage=20
src=3D"http://www.sheppnews.com.au/images/star_off.gif"=20
name=3Dctl00$ContentPlaceHolder$imgVote4> <INPUT=20
id=3Dctl00_ContentPlaceHolder_imgVote5 onmouseover=3Dlight(this,4);=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDT=
H: 0px; BORDER-RIGHT-WIDTH: 0px"=20
onmouseout=3Dlight(this,-1); type=3Dimage=20
src=3D"http://www.sheppnews.com.au/images/star_off.gif"=20
name=3Dctl00$ContentPlaceHolder$imgVote5> <BR>Current Rating: 0 &nbsp; &nb=
sp;=20
&nbsp;=20
<DIV class=3DsnTools><IMG height=3D23 alt=3DSNTools=20
src=3D"http://www.sheppnews.com.au/images/titles/ttl-sntools.gif" width=3D=
222>=20
<UL>
  <LI><A href=3D"http://www.sheppnews.com.au/printerarticle.aspx?id=3D1115=
641">=BB=20
  Print</A> </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/feature_1115641.aspx#comment"=
>=BB=20
  Comment</A> </LI>
  <LI><A=20
  href=3D"mailto:?subject=3DYouth program's call for help &amp;lt;p&amp;gt=
;&amp;body=3Dhttp://www.sheppnews.com.au/article.aspx?id=3D1115641%26linkc=
ode=3D2146368006 %0D%0A%0D%0A[Enter your Message Here]">=BB=20
  Email</A> </LI></UL>
<DIV class=3Dclearer></DIV></DIV>
<DIV id=3Dctl00_ContentPlaceHolder_upPhotos>
<DIV class=3DsnPhotos id=3DArticlePhotos></DIV></DIV>
<DIV class=3Drelated>
<P><IMG height=3D12 alt=3D"Related Stories"=20
src=3D"http://www.sheppnews.com.au/images/titles/ttl-relatedStory.gif"=20
width=3D174></P>
<P class=3Dtaglines><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115641">Youth progr=
am's call=20
for help </A><BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115638"></A><BR><A=
=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115312">Tales of wa=
r heroes=20
are taken to the stage </A><BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115431">A spirit of=
 life left=20
</A></P></DIV></DIV><!-- /rightCol2 --></DIV><!-- /wide-->
<DIV class=3Dclearer></DIV>
<DIV class=3Dhr></DIV>
<DIV>
<DIV id=3DyourComments>
<P class=3DcommentHdr><A id=3Dcomment><IMG class=3DfloatL alt=3D"Your Comm=
ents"=20
src=3D"http://www.sheppnews.com.au/images/titles/ttl-yourcomments.gif"></A=
> no=20
comments | <A=20
href=3D"mailto:abuse@sheppnews.com.au?subject=3DReport Inappropriate Conte=
nt&amp;body=3DName: %0D%0A%0D%0AUsername: %0D%0A%0D%0APhone Number: %0D%0A=
%0D%0AInappropriate Page: http://www.sheppnews.com.au/feature_1115641.aspx=
%0D%0A%0D%0ADescription: [Description of why you think it was inappropriat=
e]%0D%0A%0D%0A">Report=20
Inappropriate Comment</A>=20
<DIV class=3D"">There are no comments on this article yet! Be the first to=
 add you=20
thoughts below. </DIV>
<P></P></DIV>
<DIV class=3D"postComments greyBox">
<P><IMG alt=3D"Post a Comment"=20
src=3D"http://www.sheppnews.com.au/images/titles/ttl-postComment.gif"></P>
<H4>You must be logged in to post comments, <A=20
href=3D"http://www.sheppnews.com.au/signup/">join for free</A>=20
now!</H4></DIV></DIV>
<SCRIPT language=3DJavaScript type=3Dtext/javascript>
        /* <![CDATA[ */
        if (document.images) {
            img_on =3Dnew Image();  img_on.src =3D"/images/star_on.gif";=20
            img_off=3Dnew Image();  img_off.src=3D"/images/star_off.gif";=
=20
        }
               =20
        var so =3D new SWFObject("/swf/mediaPlayer.swf", "Snapshot", "224"=
, "330", "9", "#000000");
        so.addVariable("configXML", "<ConfigXML><Skin method=3D'url'><url>=
/swf/individualstatic.xml?nocache=3D1</url></Skin><Media method=3D'url'><u=
rl>/media/playerxml.aspx?newsid=3D1115641%26duplicate=3D1</url></Media></C=
onfigXML>");
        so.write("ArticlePhotos");
       =20
        /* ]]> */
        </SCRIPT>

<DIV class=3Dclearer></DIV></DIV><!-- /columnLeft--><!-- COLUMN RIGHT -->
<DIV id=3DcolumnRight>
<DIV class=3Dhr></DIV>
<DIV id=3Dservices>
<DIV class=3DsnServices>
<H2 class=3Dheading-snServices title=3D"SN Services">SN Services</H2></DIV>
<UL class=3Dtripcol>
  <LI><A href=3D"http://www.sheppnews.com.au/AboutUs/?content=3Dnews">=BB =
About Us</A>=20
<!--<li><a href=3D"/VIP/?content=3Dnews">=BB SN Rewards</a></li>--></LI>
  <LI><A href=3D"http://photos.sheppnews.com.au/">=BB Photos</A> </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/delivery/?content=3Dnews">=BB=
 Home=20
  Delivery</A> </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/newsindex.aspx?content=3Dnews=
">=BB News=20
  Online</A> </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/Contact/?content=3Dnews">=BB =
Contact=20
  Us</A> </LI>
  <LI><A href=3D"http://www.localclassies.com.au/">=BB Classifieds</A> <!--
					<li><a href=3D"/newsindex.aspx?subcatid=3D48&amp;content=3Dnews">=BB =
Competitions</a></li>
                                    	<li><a href=3D"/cityevents/?content=
=3Dnews">=BB Event Listings</a></li>
				    --></LI></UL>
<DIV class=3Dclearer></DIV></DIV>
<DIV class=3Dadvertisement>
<SCRIPT language=3DJavaScript src=3D"http://ads.shepp.tigerspike.com/adx.j=
s"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
<!--
   if (!document.phpAds_used) document.phpAds_used =3D ',';
   phpAds_random =3D new String (Math.random()); phpAds_random =3D phpAds_=
random.substring(2,11);  =20
   document.write ("<" + "script language=3D'JavaScript' type=3D'text/java=
script' src=3D'");
   document.write ("http://ads.shepp.tigerspike.com/adjs.php?n=3D" + phpAd=
s_random);
   document.write ("&amp;what=3Dzone:112&amp;target=3D_blank ");
   document.write ("&amp;exclude=3D" + document.phpAds_used);
   if (document.referrer)
      document.write ("&amp;referer=3D" + escape(document.referrer));
   document.write ("'><" + "/script>");
//-->
</SCRIPT>
<NOSCRIPT><A href=3D"http://ads.shepp.tigerspike.com/adclick.php?n=3Da7675=
ea2"=20
target=3D_blank><IMG alt=3D""=20
src=3D"http://ads.shepp.tigerspike.com/adview.php?what=3Dzone:112&amp;n=3D=
a7675ea2"></A></NOSCRIPT>=20
</DIV>
<DIV class=3Dhr></DIV>
<DIV class=3DTabbedPanels id=3Dnews1>
<UL>
  <LI class=3DTabbedPanelsTab id=3Dhighrate>Highest Rated </LI>
  <LI class=3DTabbedPanelsTab id=3Dlatestnews>Latest News </LI></UL>
<DIV class=3DTabbedPanelsContentGroup>
<DIV class=3DTabbedPanelsContent>
<P class=3Dtaglines><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1113427">Snub not pr=
aise to=20
motivate Titans </A><BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1113320">Tree battle=
 no Furphy=20
</A>| 1 Photo <BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1113323">City expect=
s benefits=20
out of site </A>| 1 Photo <BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1113331"></A><BR><A=
=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1113346">TAFE expand=
s acting=20
course </A></P></DIV>
<DIV class=3DTabbedPanelsContent>
<P class=3Dtaglines><A href=3D"http://www.sheppnews.com.au/article.aspx?id=
=3D1115881">
<P></A>| 1 Photos <BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115880">City rates =
backdown=20
</A>| 1 Photos <BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115873">Tap water t=
aste=20
survey sent to ensure satisfaction </A>| 1 Photos <BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115850">Chookyard b=
attle won=20
for widow </A>| 2 Photos <BR><A=20
href=3D"http://www.sheppnews.com.au/article.aspx?id=3D1115868">Decision to=
 oil=20
process </A>| 1 Photos </P></DIV></DIV></DIV>
<DIV class=3Dhr></DIV>
<DIV class=3Dadvertisement></DIV>
<H4 class=3Dstrap>Sponsored Links </H4>
<DIV class=3Dadvertisement>
<SCRIPT language=3DJavaScript src=3D"http://ads.shepp.tigerspike.com/adx.j=
s"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
<!--
   if (!document.phpAds_used) document.phpAds_used =3D ',';
   phpAds_random =3D new String (Math.random()); phpAds_random =3D phpAds_=
random.substring(2,11);  =20
   document.write ("<" + "script language=3D'JavaScript' type=3D'text/java=
script' src=3D'");
   document.write ("http://ads.shepp.tigerspike.com/adjs.php?n=3D" + phpAd=
s_random);
   document.write ("&amp;what=3Dzone:113&amp;target=3D_blank ");
   document.write ("&amp;exclude=3D" + document.phpAds_used);
   if (document.referrer)
      document.write ("&amp;referer=3D" + escape(document.referrer));
   document.write ("'><" + "/script>");
//-->
</SCRIPT>
<NOSCRIPT><A href=3D"http://ads.shepp.tigerspike.com/adclick.php?n=3Da7675=
ea2"=20
target=3D_blank><IMG alt=3D""=20
src=3D"http://ads.shepp.tigerspike.com/adview.php?what=3Dzone:113&amp;n=3D=
a7675ea2"></A></NOSCRIPT>
<SCRIPT language=3DJavaScript src=3D"http://ads.shepp.tigerspike.com/adx.j=
s"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
<!--
   if (!document.phpAds_used) document.phpAds_used =3D ',';
   phpAds_random =3D new String (Math.random()); phpAds_random =3D phpAds_=
random.substring(2,11);  =20
   document.write ("<" + "script language=3D'JavaScript' type=3D'text/java=
script' src=3D'");
   document.write ("http://ads.shepp.tigerspike.com/adjs.php?n=3D" + phpAd=
s_random);
   document.write ("&amp;what=3Dzone:114&amp;target=3D_blank ");
   document.write ("&amp;exclude=3D" + document.phpAds_used);
   if (document.referrer)
      document.write ("&amp;referer=3D" + escape(document.referrer));
   document.write ("'><" + "/script>");
//-->
</SCRIPT>
 <NOSCRIPT><A href=3D"http://ads.shepp.tigerspike.com/adclick.php?n=3Da767=
5ea2"=20
target=3D_blank><IMG alt=3D""=20
src=3D"http://ads.shepp.tigerspike.com/adview.php?what=3Dzone:114&amp;n=3D=
a7675ea2"></A></NOSCRIPT>
<SCRIPT language=3DJavaScript src=3D"http://ads.shepp.tigerspike.com/adx.j=
s"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>
<!--
   if (!document.phpAds_used) document.phpAds_used =3D ',';
   phpAds_random =3D new String (Math.random()); phpAds_random =3D phpAds_=
random.substring(2,11);  =20
   document.write ("<" + "script language=3D'JavaScript' type=3D'text/java=
script' src=3D'");
   document.write ("http://ads.shepp.tigerspike.com/adjs.php?n=3D" + phpAd=
s_random);
   document.write ("&amp;what=3Dzone:115&amp;target=3D_blank ");
   document.write ("&amp;exclude=3D" + document.phpAds_used);
   if (document.referrer)
      document.write ("&amp;referer=3D" + escape(document.referrer));
   document.write ("'><" + "/script>");
//-->
</SCRIPT>
 <NOSCRIPT><A href=3D"http://ads.shepp.tigerspike.com/adclick.php?n=3Da767=
5ea2"=20
target=3D_blank><IMG alt=3D""=20
src=3D"http://ads.shepp.tigerspike.com/adview.php?what=3Dzone:115&amp;n=3D=
a7675ea2"></A></NOSCRIPT>=20
</DIV>
<DIV class=3Dhr></DIV></DIV><!--/ColumnRight-->
<DIV class=3Dclearer></DIV></DIV><!-- /content-->
<DIV class=3Dclearer></DIV></DIV><!-- /Frame-->
<DIV class=3Dclearer></DIV><!-- FOOTER BEGINS -->
<DIV id=3Dfooter>
<DIV class=3DHold>
<DIV class=3Dmenu>
<UL>
  <LI><A href=3D"http://www.sheppnews.com.au/news">News</A> </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/blog">Blogs</A> </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/media">Photos &amp; Multimedi=
a</A>=20
  </LI>
  <LI><A=20
  href=3D"http://www.sheppnews.com.au/newsindex.aspx?subcatid=3D37&amp;con=
tent=3Dfeature">People</A>=20
  </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/cityevents">Events</A> </LI>
  <LI><A href=3D"http://www.localclassies.com.au/">Classifieds</A> </LI>
  <LI class=3Dlast><A=20
  href=3D"http://www.sheppnews.com.au/blog/viewblog.aspx?id=3D28">Help</A>=
=20
</LI></UL></DIV>
<DIV class=3Dcopyright>
<UL>
  <LI>Copyright =A92008 McPherson Media. All Right Reserved. </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/aboutus">About Us</A> | </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/usage.aspx">Usage Policy</A> =
| </LI>
  <LI><A href=3D"http://www.sheppnews.com.au/contact">Contact Us</A>=20
</LI></UL></DIV></DIV></DIV><!-- FOOTER ENDS --></DIV>
<SCRIPT src=3D"http://www.google-analytics.com/urchin.js" type=3Dtext/java=
script>
</SCRIPT>

<SCRIPT language=3DJavaScript type=3Dtext/javascript>       =20
        /* <![CDATA[ */
        // google analytics
        _uacct =3D "UA-1939924-1";
        urchinTracker();
       =20
        // spry framework
        new Spry.Widget.TabbedPanels("news1", { defaultTab: 0 });
       =20
        // sifr       =20
        if(typeof sIFR =3D=3D "function"){
	   =20
	    sIFR.replaceElement(named({sSelector:"h2.pageTitle", sFlashSrc:"/fla/=
belizio-black.swf", sColor:"#ffffff", sEmColor:"#000000", sStrongColor:"#8=
888ff", sSpanColor:"#B1AEAE", sLinkColor:"#444444", sBgColor:"#734993", sH=
overColor:"#999999"}));
	   =20
	    }
	    // ticker
	   =20
	       =20
       =20
               =20
        /* ]]> */
        </SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.Application.initialize();
//]]>
</SCRIPT>
</FORM></BODY></HTML>

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/png
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/logo-sn.png

iVBORw0KGgoAAAANSUhEUgAAADkAAAAbCAYAAADGfCe4AAAABGdBTUEAAK/INwWK6QAAABl0RVh0
U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKhSURBVHja1FjRjYJAEF3BS/ylBSyBKwFL
wBK0BC1BStASoAQpQUrQEs5fk4vxZmS4bPbY3RmE5JxkAhF25e28eTO7E+Wx79stgkui/XT5mM0u
6o1sYgGVgacELraMLcEruuI7J+1ZBQuxwJuwmWMn+KbrXall14Mec6FtpwbAFVw2DmC6ZeR7z3sR
LRjbAMwOgG6HmAvHBBrAPX1w/A8YtgnlYKw2JYBIgZXjvQu5bunIQAsAOoeIXl+eCQDG4A+HpzZB
At+Af3WMOVpoGIGfwR9MLxyUxrmKjjHHsKH1rwWeCKKAVF0P4PcreA63C+6CUlQOghhkYaMRtrm6
vq0yox8Y5cG0hNTWagC0JoUdMz8TRxp5LfAIDQI8Y86CuxajHhFkxFBwr/BcGX+ClMH8U0SRioDV
SFv1lzpDg04cZYUF8uKhrOpQ1VQToJoAbom6faxiqDXSFvOtkk4eqB6DzFWmSJ9QVT20ttlS8UpF
YSonF2TJTWBmlMVASQ3XY+VnQDnFXUmuUBx9qtwBFBc7Z5aVlTSSbRlYDBjRSAk/hCxnitYuFLSf
gV7vwOdEm3KAyGbSAULaFmx1pZ2HTq0SwB7alo/yLCaBSYWCpHoArcOmVOwY82+4JSQzPr5uaUub
44PRs7YlxFycwQyA5qFRqhxCx6erZrGnjcN+Fld67smfV+k+mBgGfXOJVLkcq9UT5GcvkCluoZjj
Y08X8yptuWVFDPIp0dS9ZI496N5RJlxbqqRjb5gOUFbcJwOuHpWa8lrLD06y50Rn8/Apsqgutmu1
FsGFTtuwoe1pDJB9y8GBNtOSwyfnO4KyIqJrH3sKBQBcqxHs3tC2GiKSWBc/NVq1DUDiANbuL8uW
oiMalpWztD5PJAdehpq+zUn6jwADAOwhL9+2itZhAAAAAElFTkSuQmCC

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/gif
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/titles/ttl-srch.gif

R0lGODlhNQAIAOYAAIB+f3d1doKAgXh2d9fV1vv5+vj299nX2Pn3+HZ0dYWDhPz6+/r4+bSys4OB
gt3b3KWjpPf19t7c3dza23NxctvZ2oSCg/37/K2rrKOhooaEhYuJiufl5vb09XVzdNPR0ra0tZya
m7y6u9jW18jGx+ro6dLQ0f78/aKgoXRyc+vp6uPh4o+NjrWztK+trpGPkKyqq8C+v+zq6/Xz9J+d
nqCen5ORkru5uv/9/uTi487Mzbm3uO3r7JqYmXBub9XT1OXj5MLAwfDu75COj5WTlKGfoNDOz+bk
5YqIiXJwcZuZmoeFhuHf4N/d3omHiKqoqbKwscPBwm1rbJSSk42LjI6Mjaakpe7s7ZaUlejm5/Px
8sXDxLOxstHP0JmXmLCur8G/wM/NzsTCw25sbeLg4cbExZeVlqmnqPLw8Z2bnIiGh6Sio+nn6MzK
y727vJ6cnb+9vrGvsLq4ubi2t+De3+/t7srIyXp4eYF/gH99fn58fXt5enl3eHx6e317fP/+/yH5
BAAAAAAALAAAAAA1AAgAAAf/gHwxKgUcTAR5H0cfBxIHDyIOfnwtBzF+fRZnIysVFSNhawkDehA5
BkIffwETBBUPGG4PTQQtTx0NdxsmB3sZEgwfZhBdD3d4ATwnfyEDCTYgCFooEDIRVgkgfyoveCQG
exgVODEvIU0GdkQNfyRDHjAEfHjALWliNSZ5eSglIn9g9OzJ0+PPAj9+JPzBsEHICRcO5q26MwEB
HAoCPuC40QeCAQR/jpB4sYfPjwIHdFRQ4CVPChNbbOCog5CPkgURinw5IWPKkD9/MlAAMCCEAg8T
GBAAIULFhQbzbkhY9mfFHgETFuQwQmCJjT1V2LioUaIADAt7ihT4Y4QBhwxJwd78QYMCQAA/eTz0
IfDnQYMGJRg0yAMDQx8FGLL8cUCBTgEuNCrQeLAHioEfD5hcOKCHT40FHfDcbANAz4w/T+7YvYDH
zwQDc/T0GXEBBJ4dKzYkcSBhRopdCG5QsCDigAYgcTDiKYAAC58Mf0L7WSCYRZAInO9AmGABgI4/
UPoAIFBghwUXBjgA4XAFBpISfyIAnbGZAYIIQTJ0MNihjIw/BUSgwQh/kMGCAlHMwAEBOaBAgQF/
8PCHHASAhAAJgQAAOw==

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/gif
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/titles/ttl-sntools.gif

R0lGODlh3gAXAOYAAMTDxPb29v7+/rKysq2trdbW1trZ2XR0dLa1tr29veXl5aqpqaGhoaalpnJx
cd3d3enp6ZCQkIKCgoqJiQQCA9LR0vLy8s3NzWxrbIyMjDk3OPT09OHg4VtZWoSEhCUjJJ6ensvK
yvDw8Ozs7Jubm7m5uUVDRO7u7oeHh5aVlZqamrq6uhUTFFVTVJiYmE9NTnt5enl5eX5+fnh4eH9/
f3Z2doCAgHd3d3p4eYGBgX58ffz8/H99fnx6e/v7+/j4+P39/fn5+Xl3ePr6+oKAgXh2d4F/gHd1
doB+f4ODg4OBgnV1dff393Nyc/r4+fX19YWFhYyKi/Xz9P/9/nVzdPz6+9za2/78/e3r7PPx8p2d
nZuZmvv5+tHP0Pn3+P37/J+fn/Pz8/Hx8YeFhpmXmFFPUEE/QJ2bnIWDhHBwcN/f3+vr66OioqSk
pKurq5OTk7u5ure3t/f19vHv8KGfoNzc3KioqGBeX6+vr8/Oz319fXt7e3p6enx8fP///317fCH5
BAAAAAAALAAAAADeABcAAAf/gBMxfTMzekl9iYqLjI2Oj5CRkpOUlZaXmJmamUl6hX0xE3s1Nnt7
oJupqqusra6vm4OmNjV7ejl6SzY2fKa+v8DBwsPExcbHyMnKy8zNzs58u0u3enygMTS9sNvc3d7f
rXt8NDGDfH8wf+rpfzo6R0VEQj08VD1IQkYwPUVQODo4iDQxgoMHDiFI4v2x1YePjBseYszwUEOG
NRkxbICSYUNGnxvj+MyQQWPUjRwl+9SgMSMGRhoVb2AclI0PlAMxktzY45LQjT56XC6hoUed0aNI
kypdyrSp06dQo6Izyo7dVCFLeOjg0QQGDzB2JsAgUgRdDwdIjiT5w2MJOiNH/6A0SVIE1KkYB27K
qBiBRJsJNWq4jMEnxp4IZ1REKKwHYqIZafagWJLkALloKUC8yVEjxxI+S07mwIBiTw5se5LImCFu
zE6psGPLnk3balWqbHEogYEjSh4mcqZIUfCkAg4KyJF3wNEhOYUPawR4qeLnyRAgfvyMEIQHgoAA
PpgUUBFDTx8abhQI8PFDQAEte2hUGLLDhwA/J8YckDAjRwkxTAggAHEnROTBDCDJsMQKBXCwgh4l
1JEHHg0ZQtuFGGY4m23r4CbEET0EBEAWAuDxBgIhcGEAESawkNwHRGCggYsfmDBFFQAAEMQPP1wA
QHZL4GGBHwossAB2QwwQzf8AaxDJxgBB+AEBAUsMcMEQPwRRQQIzNLSEG0Mm8MYZAAQggGcx6LKE
BGm44J0IbIDgxw9idEKUhnjmqSduHU7VYQ9G/IFQgEywAQMVUUhhgEFmOKcBEUa4eEcRAlgBxRnY
BUHCDXUIIIEIfoiQAEwF/OAHB3x4cMKcA/ThQQgBENmYFkAE4QMDNNyQjQQG+BHGAFDsIQMHTGA0
xhid6SFBldiNcMCPOySwxF57VmutbBz6OZUDSiCxzxPCOSFGHgNUsAAOUJjgHAUtHPEBBR0IwYQB
f4DwwxBD0MFrAAv4wcQTbdSgRwJhDOEHA2384IMFbYiTwAZ+7ABGDlpUtwP/CTPoxIceBfgxhA8b
1IEHAAjI1ISuac5AgwcG7FhCBCL8wIQKr11r881LZcshEm01wUMIT0gH7hVZxFHEEeq+4CJyDrx7
RxJapIDEFkAIsIMWS7hgxwAf+wECRHHsIAATA6wQBHYk7IVAlEMQQAOtOwyBcVAc4SHGDkAsDEQA
IchwwHmGxIfTGQL8YAEKK8z5AGU4N+64zrjhAAMSOoz1WxVOCCCGAGFMoIO6Hbzw4rst8AYiGz/k
TUcfe8yAQN4BqBDUABEHUUICPgzxBB019GF2AEBwyUAY1YFhw7QrNEBDAkzswITHvjYQn0WyJLLC
8wb00XLwoDjuvc2Q/wkQ/xEOcIBAE2AgoMYXYQiQwh/q3gGDBuvegcMf/2yx3g9niEMDA77aQcAk
sLYgSMwOAWiPFmjwrBH4wQd0iIGcosSA49lgBwZIQAn6cKIKPDAMJbCBRPhQAyiUJAkjSF0ECPA8
C8igGt+L4Z7CNxXeLEEHRphCF8awBBwkoVMnIIMOGvWCGL0rOR2gAhH+gAQtsM14HkEBqHaAAFsU
ADtqSM2qmOAGYXnQDwWgwf8U9oO5gWAHBVDAD97ggIw8zA9VFEcfctCEaeXhgSWIwgP8EIQFEMIG
MgykhmiYjrEoYQlL+IITrOAGMiDACVywAgrMQKMX9KAFS4PXH4owATh0If9uO6hAHCJwgxjgwYEK
wIMdziYGApgCARDQTgMGIAbt4GEPBAiBAQVwgRIAQAE7sEIBdqCGBDDADrFUQAbSIINT5CIJdKDP
GiJQAn8Z4BblEaQ2a8MnDhUBITBIghSYgIU5CCBzIYhCGpzzARiMgX7IacH92oCFK/grOyNogCf0
QAAFMAEIQMCgC9KAigVAYAgbwE4FaJaEAhjMPkEIwvPEYwUfQOAJD/TBAxrQJQ8soRAS4EMEwAAG
NqagAS6IQg1G0odtuhQ2hPwDXXrAjwZEQQcp2AIdlIADyYWIB0ZwAA8S0oN0KKEdODCCEjwCEgn8
xCMxQMEEtAAGFNRijiv/JUUE2JCCKPDBITVQTWE+wxI+5CAHb0gBH8YAAhBEQAZNIEUfLEOKuaQB
JrsAiU0OYJ6X+vUpMf3DEXBIBR44AAZH4IEQeKAEBxiBHkKoHAy2Mo8/9CCyRT3CHnhx1Ry0pHV7
cOoMbNAlU+QAFE1oXUMMU4hezCQHXz2ADCxCA1AExSHNtAU5XDJbz5iHBrP96in+StycdRM3lYus
DtChgyQ4gAg6EMJalgCDyfbgCH9AAw564DPDSvcP1hBWSapBlAN0qXfYJMkSYgCF2VoEKAwhiR4a
w5KMEdSz7BUMKEKTiIpEwzKFaUg2ZnCAjhSluAjmk584lI+e4o8Hm+RpqDoOEigYLBZ/ALmfoNpR
li5VYwYOYR1EyMELkZhCJnrgKykCLItBqIyvZn1hY0Lq2lL0YSbksEjvTDFfXfEhCb2YQYKHzCGV
kTAHHgGHkpfM5CZvQwacGUeXxmGDxoD4q1jOspa3zOUue/nLYA6zmMdM5jKb+cxoPjOC9GCDbPQh
A62bQQ3MOt862/nOeM6znvfM5z77+c+ADrSgB03oQhcatitlTQYCAQA7

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/gif
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/titles/ttl-relatedStory.gif

R0lGODlhrgAMAOYAAOr/+f/98+oMNtkYN/KWpehSbLOxsv78/v68xupwhfvFyP7W2cgZOP7y9N3b
3P7a5dVYbPL//dIXQ/vr8v/0/eITQevp6su9w/X09LCtrvu0vdXT1P37/MTCw//5+LGur+TEu/r4
+a6srdWRk8QkQ8W0uveHncogOry8vPz/69BLYuna2uLg4e7IzPn//uZge/T98+aZm+X76Pqotf//
+M3Ky/7k6t7/+KqoqeWmrdoJNugmUdg4Vt5wfqCgoL4TNOXSztgjR/agp/fk3dYSMKyqq8sWLvrH
1vj/99wNLLa0teqMmd6YpP/i4PDu7/7s4/rSz/728KS4reo/af/s6q2rrPH16uvAz+KAjM4DKdM2
S8/MzcQ7Vb0jP8oPNf/85vX97NIpUNjV1ufm5urm6MzV0sfFxsrHyP/w5qelptnX2Ky0tKqvq8XY
zKmnqNHQ0bm3uO+nt+eyruQcP+BDW9nk3sG/wKGvoqasrOi8waqqqvHs38omTMUxRv/+/////yH5
BAAAAAAALAAAAACuAAwAAAf/gCF/foR+IX4chYqIBwcciYx+fweCg3+XHJOZf5ucm4SQhIeFj6CG
o5RIjQd+ETIeAA15VzYNHjAAVjQRSDQBARQwATYALgcNewpHNiEuLn80SEi/ATQeDTQuNy4hHjTf
DQA0MB4BAFEcLtcuHLGztbeX8vIcNDY3EQdRv7cRKGl6qlSBUyQDnA2P3sBJUzBDhg8Qz2wwQLEK
DhRjEh24JKhGFQNVnHAao0SPgSImq3zA8aHDhwxFPuiBaCCNEgcdlHw4qYTNhwtinPCy0YPBHAEV
pkh48SSMDgkSdAwYAFVAkAAecqiAKsFLgjw0AEzh46UCkRMnvOxIsMCDCT46/7roCHIiAQkJAgZU
0FGh7AsAT4oeTbp03rwcBQosiWICQoEZAZD8wQnxg5otcD5uOeCERZGPHcRs2JKmg4U3GQxkQKEG
A6aNnP6pdCDJgp6DZj6oFOPxDGUDetQ42FAlgwUWZ0SIqLKlTImHZ8T1GMAghoIcWH4USPGjQoIE
A5IM6IFlgJEUBPok4SFEyAkifYQEEFJUwAnyKpKcUDFEAZYKAhhRwAhQYPHeABCMsAQEWUAgw3TV
XZddAYbJY0MQ5iGQRxhEaLGANSGo8ZIBhGygREyEHGCRZX6QgYEBdvhxgAE4GLCBIIRMspEabqAw
kx2u2fZGCA7U9AEHGBRhx/8BYnwgwgd+OGEBcU6EwIJDSpDhwgT/GNBGFF0IMIcCKQSwAAkFBCDB
FF+AcIIOYz6hQhBN8PDDAAR4EMV0AtDRQAAavNmFAlHEMYAOOkCBhBVd6GcCGAFEcQIDJyyBhgZQ
hLGdAGKSaSaaFV5ywBJEJOEneESY4MEzDjhUBCK5GWSIHzt94MAYBrDQwRmHFGeAGhzBJokdVbCg
mnF/2ObAHxs4ZEAiBnTgR6sO+dFBDWNkQEaUIuCghAUAHFDGGhnc0YAEDAjAQBgvEJCAEBysCQMQ
6TJwBQ0FCKCBF3MkkcczIwwggBctRIAAgD8owAETRFQgwQN/dlFBBSbg44H/BAMQQQACg6qwXQVG
qMuuu0KE+kcISKggwA9MoNGHDiS0AAAHDshkAApKnIQCBhwcgkNqSighghNOYMBKBm6wKAorHDjx
gRl+2FEQ1CFYEALNTmZgiAU8t+qkHRlAbQEHB4whQhFFWO0CEKl9sMIIRBgR3gkDBEFAAECs4IEG
eBFxxAFHKLAExicgQEMIBBghngkUIPDeCXTQ8R4POdzAgZoCx4CEC1SE1yEdXiCwgAINYBH33HUT
QPbVg7ASQRQI6MXDAgSIB0EDf4iohx5boIBDByyMQitwdtiBgwXHETJTFWqQ7QcLtPlRgwFBmWGA
CEo4gQghb2RNiNF+iCGQ/wjd7zwGBn5Y8IESVVjwRwQriODDB1Es8AIJDOilQxZzNHBALwjIHwNa
4AdrmABkA5BZBEg1BwaYIAItMIoRVAABHfDABFFQBwAkkIQKLCECGKABEeYwAB7sYAcgaEELkOCE
++VvL/ybACs2gggOUAAASygLBAIAgTn8IE+5U82RMECTWflBOUUQAwvggJxn+UEJGUhD9A5ghyPR
qggl0YkI3BA9QjigOB8Q3gGK9BEn1MAMFlDCBtL3pOM5YwNr0IMUrPCCOFBAASYogASvQAEXROAK
JOAUAmABgH2FRwMu8MMBsxCzECjgBwKQAAKoMAUG7AABNoBGBU5gBAIA4P8PSJDADzSmAR0AoQAS
iMIU7IhHPc7BCA4YxSVkRAE0aIEIJIDCDDLGhQU04osUgZYecKCGGiRiRA7AgAMsYAcR+IGIBrDV
9+CAg+d9YAtksMAYOgASM2jvlx+wiSgIISI3kMgCDmABF9MXzSKwIAIusAMePtAGGkhABVEQRxNU
ELcHUOAANODYCFcIgAg84JYDyIEVXNADAHHBA0hwXBIkoAAaqGAOXjDBC1aAhiAYIQgY5MAT0EKE
li0BCjs4QQoqgE998hOWh5AHIQLQg1fGYA88OIt8kKCGKtZkA07g5s3gcBw3ZKAKHXDAG7agBzc4
4Q0nEQEKNvCG3BRhIgb/MIMDaHYGtOnBDCFwghhQ4CQbRW8DZnCIHhxwGRRUwQEOMMOTRHCGOvhO
DxcgB8ZeIAcQEIAHDChAMZoQgwJkzAgvWIINREIALyRBCxogAB+ywIMZ+CEOL5hKBSCQBxMM4AR6
jKzATGUCPDZMAAkSAgRAJgPx8NWvgC1AAyTxB3bIqAVeIAKdmNCXHkxgcwQRSI/GIAYl4AAOHdgA
Ndl3PYiI4CBOUkkVhFYEERhACT4oyBte5IbpmmQ4cDjbB1ACB0eAZLppcJYPqGeHqKahCmzAwwXI
QAEaUIEPWiBBEETJgBc8QB0a6ENZGhiE0NWWAzNQwWcZ0F+FRUCPRGCAsAT4wAQFFHgOUyAACbyQ
sRPwAQt8yBiAoNIdAXxhAPnd7w/6+4AZYmIQK0CAApqAhBZoQAFtgQE3ZPQ9RBBNe88UxSiulgjh
jXMRpUBfIUYRih4feXtO5jErmlFkXWigCWbSABBscEM/uGBRvwADEmDwTxm5YBwLaAEmzRGBgk4D
BjSYQJub0AIgYEMG04hUOyLVCwDAIlLYaAGWF6BlLgNAFLV9hoyiUYx0RGESzQgEADs=

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/gif
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/titles/ttl-yourcomments.gif

R0lGODlhpwAMAOYAAMbDxP3p5vz37PL//ekNNP7+8drY2fy6yKyqq/rBx+R0h9hWbP38/dMbRP/1
++z/+//z88UYPP7e4cRaXP7X2bSys+YnUd6RluKJlv7/+ezs7P/6/swiOtFjduTN0d0IOeOXmtYi
RfPy8vaWoulTbtJLXbGwsK8gO/Vrge7Gy+qXpeZcdu7V2v23vb27vMkoSewYQvn//u20vMsWLbst
TPjTy+pIZPyInN8SM9gRLPL+8K+trvHi2tk3Vf75+NyAif+pufKOnf/s9dwTPdkJLeijreHf4Pn/
+NMTMvTJvqKjo9EaOvn4+PaeqKa2qf/Lz9ITPPCWmPBVe8zJydWboOf56809V94cPfj6/t9Obtik
ndoqTdoYNMHAwNkwSdAaM+mOnskEJ8w4RfFJbe3g5MEONP+ftqOrodLQ0aqoqfpPcLi3uLa0tuw5
Xuno6Nfi3vHn7pyvqeH/86mtsO6BlK63tq+yrbeOnO+9taCoqqemprO4tNRjXeBMYP/+/////yH5
BAAAAAAALAAAAACnAAwAAAf/gH+Cg4SEDCIaGn6LhY2Oj4MbDiweLEIsLIJ+DBBkHh6QoaKjpKWD
DH4bAZ9wfqaNaEo7FQgIfgAItAB+bgA7Owg7LkaLuBUmwQwaabUVaGy/wSY7TlNkAw8bAlowHEgh
ITN8DH8FGDBlV0gEPxIFHktDSDlXJA9YAyg4XwRfDQk0IuCgZw+fPn4z/p1okOPLkgZQ1BHQMWQJ
lwgWUjBIEeHKjCULFuDgwqEfkiVQiHA58ITEDAIfYExYcsGBnxgONvjJ4EOBmgUgIKxYsKLGnwcG
1pjQY2KKHyMu9HQxADWNCQNuXORCw8RIBWBrDPhhgqZCBQMa0Jj4CgANgDN2/yrAGQDhx7oQI5qQ
QGKD0w8xH1YAAcHlhBUKEi6EmMelQYCcFmYg4RKCjgQwIQY2frwhMhcuW4Jc7oEDhwUwKjpwCKEj
iA0iHKBkYUBGRYgvK1SQwLEgCo4ZVxbQ6ZHDgxUiPWR4UJEFiYoN+P4wGeDjwQEoX7yQKVJxhY9D
RqSh8SOiwhoRfqbsSOP06Q4l5/10QdYF1dgK9cl/RSDWwR4nemSSwgtEhPDDERk8AQMJfhzAQRhD
PHGEDlsgAQUKBRRAwhVe4DDEBRnI8IEYQ4RggwA82cChhyCKSOIMJ2YAwRhczKBGAS1QsMAHMfgA
AgE4IDEEBgVkoGICPpAwRP8AAoRAzwUC0IHEAQ3MUEINPjgABAcXkBNDBn48kMEADihABAwKFNAG
hEDE8AcDLqyBQBciGIAAMQzQsoNYDLhRQRp7yjdNF5ssgsAui0RjAANCzBEHG2Q4gMFIUODxhx8O
SIFBDHRwgUMIRyBoAwxQhBBAAVlEoMBvJRSgwBV0EDEDCQMMEEMWM6xqpauw4lAGrba6xAEJAbwA
wgUNxHCEFjNY8EEIS+BxhEspDLAADRnoAAUBQ1BxBAgvHBDBDI31gAEYKDzxAHUQ2ISTA2R4wU8S
LbyQQx88COIGGwik4cIOUzDAhBvBpMEnwcAAwEAXv+zCxCJ6IOpHGrS4AAD/G3mEJYIDInEBxQEO
YOGAA8ousE4DckhCwhdchHvEGEskAdsMNbyAQhRcLEFCBjFssMIXMnNAs80463zEABsswI+JQ9wg
QQoODBAEByOEUAYOHDyxAgcJ/PHEAT1CAcUQYGRAwQESWAEDEURcQQQBVrRQ6wYZ2GSTmDeUVsIR
HRAQgQqu+PGMHjuwoQgvs9y5iQY7IBOwLzvsYl/ki/iRyw5d+FLHFBCQmQUXX0ABta0ZoLgADNxm
E0MJX1xRRrVS4ABBG8CVAEUTQbSeBXQcfzF77bfnbsHuOClNwAtWfNAEDwkI8ccNDTxRRANDELBC
CRwAscH2WEDQQAQNjMAA/wNjPtEDBzAgMdAMWfActQ9IM/AABCS0DUYAPcgKhCYiyLnGeIsQgQmm
IRbE1UIsU6gFoRbBBICNzw+/uApZ7LADMogMAyzDgQxy4oAsYOsHMMABAW4yABLUqAEMiIFINtCp
HOTgBRJQAcuy8CaOcYGFXHAhDFVQuz+IbAE5AAkEQkAFLUQgARtQwcd0YKYQQMELM2hBDBhwhD/4
4AVfQAIYUhiDBHTgCQKQAQb68LYI+AAnA+BZz/6QgM/0IAB0+NQKIGAfy/2igKiYDwLaY4BpmAA9
U/gKGx42MAQAME8H9IMB7HAGAHjgDQlYBwd+sIEevaANG0gBbIbggQH8wf8CLENB1BawBD+wYB8E
6IAPqJDDFcgBUyIxJSpVyUokrOABmFrBPkiggxvgAQUhaIEPinDEDARgDGUYgmQSgMsxZUAgBBhB
BrCwgQREgA5Ri0EAGoCDLYzJBzrIiR8GgD91FIEFFdlCDar4ByNMARomCAs5/qCBLuiBDVjRigmM
QA7GAYMNUwDAPRXhhncCowtGcAPFulABMgjhDhxo2wUSIIUXBGF+dIgAFNQAhAtwYQhWkEAAwLAF
AvjSCkMYQhNA0AYuXOEFKqDA1HJw0pSutKVDeMEFZOoFj/WADlFAwRBOkIQoWCEEamhCAZ4QgRxY
6AB+0AEDMADMMHChD2D/SIEfanACGKCgBS1AwRJO0AQHhCoVUc0ABoZQhnZ0AAo0GIEQ2NkFOdVC
GIt6kxEu5sepzLOdLlhKGtgwFekkRQ8IMAFhIZBAJbABDhsQwgWsILYI9CAIAhCTBIJgBfBFIAIo
CAAbI/CBJUTgBkUogwUCQIMPIOEDFqCBGWgQj9OmdrWtTUlsZ0u9lDZgIbA1g9g+0IAOCMAHKlgC
B14ggwfEgAJb+Cy0wvACMAjBDFuwwAtOoNG/SWBMMahcBjJQgwMcgAUOOEALDhCAMWnigW8ix1/J
4wY3aGCeArvUITTgBhH8VTpMGMQmNsBfN22vAAGoQQKeMNds+GC8EKBAXAISUIAs1YoJ2crA/MZ7
hCpAQAcFgMDRdCCAIm04Ax3+cIjHBOIiQeDDR/CBiAsAYghk9gEOQBHJ1jUAAfTIByUe0wNWYWMW
LFgEEBByeG9yEx882LkO+APPbBUIADs=

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/gif
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/titles/ttl-postComment.gif

R0lGODlhsQAMAOYAAOu4xOzr7Kqoqffy5/jt9MXExdcYNuzh2OyZptdVa/B1jOQONwkFBOZQbUdE
Q+u2uNgYQMkYOdOzrPu1v9n37LSys+Lg4dOIkez06/b29uzg4uWKl/nX19PS0r++voeDgv7z8NAf
OPz7+vqlufDu793b3Ousq9ogRf7t7Oja1u3x8NnIy+QtUO787OXz6vSGm/vs5NgMO/Ps4eQYPcRF
W+zr4OnFxuv68vT688kjRP3l7P7h4ebl5PfHxuL+8fP7+9kJLeby8u1hdeKtsLcvRu7t89ycpfTx
8eSRncsXLs/Ozuz++ezYycU7UNcSMdo3VP358eKDju7w5fCkqvbz+fXl4Oj46+32+eHs6skxUboe
Od1neuRHXP3w+PL09a6trvH28On44eTr49Q1SfTz8/Tn6O/x98gNKbe1tfPO1cFVZvf18Oc8YM4R
OdjW1+Dv484pT+i/vPaSo7GwsLq5ueL59NtFZvOxtePl2un+5ejn5+Hy+dGam9snS+G5t/Hx8SH5
BAAAAAAALAAAAACxAAwAAAf/gH8Bf2R/JH+Gg4V/GSQ8FhZ6jBmIGQF6kAGNJJYkZIeHgoqInoIi
go4ZliJ6mgEkRxkYIBwPExxpADs3N2UDTHE2KWsiR1cqazIyUFI4BCQgB8rNFBgDVTAyb0vP0dM4
LRhSMgPlMGAwVS0tNSgg2RlXWDc4A1ZLb1Ls5VZWMjpHXLjoQoAAGTAoOOgA8aPMDhhQMJgh8KfC
ly8CBFRAI6CAG00k3HiYc/ELnQ6a/pQoUIHkHDRzOijBWEHAlzkabyrRE0pRhg8Mgn4gMygD0S5Y
KOB4kCBHBC052uSYwm7EEy0QYkAQMqSFiwQQQkAAkuMBBRETiETI2uZF0zYz/yJkGbEHrVq2Lxr0
ibEAwlMibfooiJKlTRsIW0DsAAskRA4hcKTCNXxCqpwydYIUOfJHzxA1CRTwMEJjCwIUXor8UeLB
YgUlSmrOURKAhwebbjrcruDmEB0BdNxYcFPgi8w5dFiTpFOATkxCf0Qo0uMgKAMHekSU8qLjB5gH
T4DM4GJCwYkIE6wYgbCgyZQXJ4BkmYICgZAQTuJuqaPjRYQZTkQgxB1yCGGAAW1ooQB//gEooB9I
CHFCDI8h8UIfEWwQxxaVLUDEECgYkUAfMyjwghZPKPBEWE8IwYYWL6BGwjEqoPWEARGsIEdWRHDw
RxCEzHRTLHTQREKRXxTgSf8HGH3BQwkZeWCBUW7E5IYAJfzRmgAekHFlB40YIoIFIihhXVBKHDEI
IiC8gUEDMRgwAx46+LDFAgAcMEMSCyBxRA13tvHEHi7ckcQYSYQFAwZ29HHgAn4QQMEEEbDQhpyL
NvqoH2as8QBbNrhxxxQRKIDCEknsucAJTIDgRw5ctPBCGw/k0QCADeRhQltr1HHEDVhQ4YUUSLA3
hhQKRLDABWFQ9IcbNX1BwpEWoaEHR18o8ccRJZTUgQUkXVRBATKV0MEcFgTgwUVKloCGEtMWEsCY
QAEl1BGnIFLGDTvkcB4bICwhBgJqKOGHAQu0McEfN1wAVwwAWHHHCUJA4IT/AUPYcIICBjgBwQNd
+DCCAVtAcGDGG3f8sQpL4XjCFDv2K0cAOjgxBn4LqCHDCLASm8UQNTSgrB0DDJHFBRoEgAMYOATh
xRE7qLHWCxr0cYYBcVAUgJDZsiTAHAWA+0UFHXBmQUkFqNtkBS3NoYceJRxBQgFfF2BICXoYpQoJ
AQQQ1BH2MnBE3iSoQMAPlCYRQgMEFEEGCi1AoYDiBkwwDxInAPhCoSe8wMbFW7wQQw8hLJDDHVRY
MQIEfNixQBKhj1766Ud8Z8AZTiQwQww+SHBAEGAYoIYC+Z2BxB0zJHBEGiPsAILQMzSg2AhpoBBQ
4UGUsZAJCOdQRRQLGJAA/0UZKKHR+Vx2gIlNrx0Crk3trluSAGikzUgAxX3hASeVHCKvANehQ+AE
0JkMqIAKAbjDWEJgBxV0AQxV2AEKXmCAJORgBH8owgYicIYQbM4PEECCHA4UAjZkIQxyigAArlAo
1iEhLiU8YQoBQAApPKBjQADLCTDwgKxlYAEJOIAdtOKEKMSgAZzQATOEdoIEiAEHOiBDFzLgAhQE
4AfQkAECnNCGBCwmLlFABBmEhIYAFEIP+NIDTdKUgRJESwkWKEAJAlAC1mREAGb8xLq4hAhDCOIP
PJBOdc4UFAfEgkw/IMAO2JOEJ+DADBR4ABwuMIQYzEALEwABCjaQg44BAP8McWgDH/rFJydcoAX5
iUAcWBiHGGzgAB1qwylTGQczqAAAljQAzGIAAggk4ApgWEADfGCDPsSnD1poQBG84AIfWKEBl0rA
DXyggiAEAANHQAEZihCEJXCgCRFoQw9MwJ4THMAHiGDS1zRBBjLEAn8ZKUAhZgIcSGQLX220CB2O
IDcS7NFuZiQEJxrRgevABA2Bo410gkCAGyTACUk4AQfK0IINxGAEVegDENqwgRZUYQtOAMITVICC
iUUBBQkIQVx6sIMFeMwEBIABOV8AgwSkkKUuhYAJJjIBHEXgAQ/YQA9y9wMx9IELNbACAiLQsTY0
IANeuAEGYNCA13HhHF7/WAILQTCvAHihDHcqER7gcIIFTMEFYFjNb3TSgXZOKwMWWKsb3FAkNHSA
BGcblxt4YL7Z8C03znlJB9xQiEUArjoO+AAJPjDI6xAQGUeowwSakIMcTgABWWDDDnzwghy0ZwhI
CMEZfgYG+xjADlEgFRBo8AAFuDQEQgAAAh7KhigMwQCrbe1rheCHKWzBACodzAay0IcEjOAC+XlB
GtawhRCUDokkqE8U+nCxE0TBCDq4AgLX4IIMUIEEANDCCUKQAj5oIQJqAIEVdPCHm4xNI3RohNyM
shKczAE5dyVDXrGFEdoYZY82oZ8H/tjOADSWAQQ4MAM+oAkU/KEOXZhArVUXsJYExOEPBACBBFgQ
g//kbgJL6IIaOuaEHMDAURtAAl8q6IQN2JTCOQjDDAyQ4hUnocUNwA+fUmWAsTRgA/EJQQwmoAIO
sEALwvSEDuyQAyc42Qkh8KIZdECAIOCgDFcIQhom4AcmiGwCI+CAC8jghT6a+cxntgAPXtFHR/Tt
EelCs5znTOc+qsALnzgCATSwghVogAByI7PhUtDnFBhEBXVOtKIXzehGLzoQADs=

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: base64
content-location: http://ads.shepp.tigerspike.com/adview.php?what=zone:112&n=a7675ea2

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: base64
content-location: http://ads.shepp.tigerspike.com/adview.php?what=zone:113&n=a7675ea2

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: base64
content-location: http://ads.shepp.tigerspike.com/adview.php?what=zone:114&n=a7675ea2

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: base64
content-location: http://ads.shepp.tigerspike.com/adview.php?what=zone:115&n=a7675ea2

R0lGODlhAQABAIAAAAQCBAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/gif
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/btn/btn-go.gif

R0lGODlhFgARAOYAAKenp21tbZaWlpSUlGZmZmJiYm9vb11dXcnJyXFxcYiIiM3NzfT09GVlZd/f
36inpeXl5dvb29zc3M7OzmhoaKioqMzMzOjo6NLS0sDAwLa2tmlpacvLy9jY2GRkZLi3tV5eXnt7
e+np6aqpp729vbCwsGpqau/t7quqqMTExNPT09ra2u3t7ePj46Kiorq5t9DQ0La1s7Kxr6CgoIKC
gvX19ZmZmeLi4rm4tq+urJiYmNfX1+zs7Gtra9XV1aGhobGxsdHR0fv7+7Ozs5CQkL6+vsrKyry8
vN3d3efn58fHx66tq7CvrdnX2MnHyLGvsLe3t+7u7nR0dPf19vz6+7WztMLCwqCen7OxstDOz6Oi
oLy6u66urv///6SkpHh4eLW1tenn6MPBwoODg+bk5fHx8fPz88jIyN7e3vj4+Lm5ubu7u8/Pz3d3
d8HBwY6OjtbW1sC+v6mpqZ+fn7W0sv7+/rGwrqysqrm5t6mpp7Cwrvr6+rS0svb29u/v7/Ly8iH5
BAAAAAAALAAAAAAWABEAAAf/gCd7g4SFhnt1aX1dflR9j5CRkn1pZn9Cf1N/m5ydnn8sNTUMDCd+
p6ipqn5/ZTxRDGEsSX4QE3IVQyoMDiJwFQBrSGktFyJkDhdoNg0bNAkJPn8aBlIhBUQLFzcQDhIt
JQQ0RjwRMzcWFCYSEF4gAxASEU07HQoHGh0IETAOLiY6VmBYQSBAPRhZVCwYQ0FNiQQUApyZ40EA
Bg5BehCYgGGBEw4IBFS0wAXEhgUAGihgo0LDgRAWEEwQQ0IJkAANbFToUYBDihANdLj4kmCGkgwI
4rgpYuWOggIeErwBkwKKggAb2vwgkeFIhi14woodSxYPHRwvXnyowqet27dwMPl8wBEjhgwsevLq
3ctXjwwmOewseXKnsOHDiO+geDAiB4oreSJLnkw5z50HjLUEAgA7

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: image/gif
content-transfer-encoding: base64
content-location: http://www.sheppnews.com.au/images/star_off.gif

R0lGODlhFAATAOYAAMMmcMjs8P60cOvCfPzRlLa0oLLQyv7WtP7ucei0cKuDkev8/r7Fv+/Wyf//
i//dceB+dP7y7sOViP/rs7rc26aqpevPvdFieui1kv/RcP7jnv/+e+xmcO7y8t/Cnf75qNytdKiQ
mezr4P/v5Pzmzstkg8rJyf/t3OfZvd3w8s3h4c2ck//8+fvBhMCzoeTFkvHUm+Pi4fitcPPbo/7t
193Yx/7Uqf7nq/T5+/7Qgtrc08OHiv/EcP7lcf7zsPjEoP72dNOBev7/g/PBkuzn0NHX0sSjj+7H
jtPz9/zgxez4+v/wp/jPkvi8cO/d0/vm2///luj19f///76rlvK8cKuyq//netyMdP/WcPbt5/75
9P7/nPzkpM7y9b/Kw86YhsDn6vnZwc3j5vLm3/j////yeP7Onf/37PbTnPHNju7Fk/7+r8nIwc5q
euO5me/v9+vu6f/33v/HgMOyp/D5/f/9pQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAAHAP8ALAAAAAAUABMAAAfdgFKCg4NaWoSIiYNmKGSKj1Inci9RkIo2E2g1jpaDIwRrSx5KnYMH
GlB1ajqPZyM0JEkHZh9CUDduFg1OY1kRUlpMORrEXD5QQkJrNzMzMEcXX2RkRGlLW1sOydsO3Q4D
CibTZCJHVhvo6ellCSFg04Nwag9A9fZAViAVAYodQw8IAgpMUKULJDNYeihcmIABp0QRWmCZOPHB
AyouFjx60iQDDxlBrjTBwmNHikdhBAiAUIBCkRUQBLRR8egHByMGkEyLwqYEAC+KWGCYIuahoBgS
5hgdhAMHpA6EAgEAOw==

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/header.css

#containerTop DIV {
	FONT: 9px/1.4 Arial, Verdana, Helvetica; COLOR: #fff
}
#topBar {
	HEIGHT: 25px; BACKGROUND-COLOR: #7d7b7c
}
#banner {
	HEIGHT: 80px; BACKGROUND-COLOR: #d71635
}
#sec-feature #banner {
	BACKGROUND-COLOR: #734993
}
#sec-sports #banner {
	BACKGROUND-COLOR: #539f32
}
#srchBar {
	HEIGHT: 36px; BACKGROUND-COLOR: #b1adac
}
#sec-feature #srchBar {
	HEIGHT: 36px; BACKGROUND-COLOR: #f4c822
}
#sec-sports #srchBar {
	HEIGHT: 36px; BACKGROUND-COLOR: #f4c822
}
.holder {
	MARGIN: 0px auto; WIDTH: 980px
}
.top_mnu {
	MARGIN-TOP: 0px; FLOAT: left; WIDTH: 500px
}
.top_mnu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.top_mnu UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 6px 5px 0px 0px; PADDING-TOP: 0px
}
.login .top_mnu {
	MARGIN-TOP: 0px; WIDTH: auto
}
#containerTop .top_mnu UL LI A {
	FONT: 9px/1.4 Arial, Verdana, Helvetica; COLOR: #fff
}
.top_mnu SELECT {
	FONT-SIZE: 11px; MARGIN: 3px 0px 0px 5px; WIDTH: 120px; HEIGHT: 16px
}
.login {
	MARGIN-TOP: 3px; FLOAT: right
}
.login SPAN {
	FLOAT: left; MARGIN-RIGHT: 5px
}
.login INPUT {
	FLOAT: left; MARGIN-RIGHT: 5px
}
.login LABEL {
	FLOAT: left; MARGIN-RIGHT: 5px
}
.login SPAN {
	MARGIN-TOP: 2px
}
.login LABEL {
	MARGIN-TOP: 2px
}
.login INPUT {
	MARGIN-LEFT: 0px; WIDTH: 100px; HEIGHT: 14px
}
#banner .rt_menu {
	FLOAT: right; WIDTH: 750px; HEIGHT: 80px
}
#sec-feature #banner .rt_menu {
	WIDTH: 680px
}
#sec-opinion #banner .rt_menu {
	WIDTH: 620px
}
#banner .dateHold {
	HEIGHT: 50px; TEXT-ALIGN: right
}
#banner .weather {
	FLOAT: left; POSITION: absolute; HEIGHT: 65px
}
.weather P {
	FLOAT: left; COLOR: #fff
}
P.weatherRange {
	WIDTH: 65px; LINE-HEIGHT: 1; PADDING-TOP: 22px; TEXT-ALIGN: center
}
P.weatherIcon {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
90px; PADDING-TOP: 0px; POSITION: relative
}
P.currentTemp {
	FONT-WEIGHT: bold; FONT-SIZE: 24px; WIDTH: 100px; LINE-HEIGHT: 1; =
PADDING-TOP: 25px
}
P.bookmark {
	PADDING-RIGHT: 0px; MARGIN-TOP: 5px; PADDING-LEFT: 0px; FONT-SIZE: =
10px; FLOAT: right; PADDING-BOTTOM: 0px; WIDTH: 250px; PADDING-TOP: 0px; =
HEIGHT: 45px
}
P.bookmark IMG {
	FLOAT: right; MARGIN: 0px 0px 5px 10px; VERTICAL-ALIGN: top
}
P.bookmark .date {
	CLEAR: both; FONT-WEIGHT: bold; FONT-SIZE: 11px; FLOAT: right; WIDTH: =
240px; COLOR: #fff; MARGIN-RIGHT: 5px
}
#banner .menu {
	MARGIN-TOP: 0px; FONT-SIZE: 10px; FLOAT: right; COLOR: #fc0
}
#banner .menu UL {
	MARGIN-TOP: 10px; FLOAT: right; HEIGHT: 20px
}
#banner .menu UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px 5px 0px 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#banner .menu A {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #fc0
}
#snticker {
=09
}
#snticker P {
	PADDING-RIGHT: 0px; MARGIN-TOP: 7px; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FONT-SIZE: 14px; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 480px; =
COLOR: #fff; PADDING-TOP: 0px
}
#snticker IMG {
	VERTICAL-ALIGN: middle; MARGIN-RIGHT: 10px
}
#srchBar #search {
	FLOAT: right; WIDTH: 327px; PADDING-TOP: 4px; HEIGHT: 32px; =
BACKGROUND-COLOR: #7d7b7c
}
#search LABEL {
	DISPLAY: block; FLOAT: left; WIDTH: 65px; HEIGHT: 8px
}
#search INPUT {
	FLOAT: left; WIDTH: 217px; HEIGHT: 14px
}
#search .btn {
	MARGIN-LEFT: 5px
}
#search IMG {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 5px 5px 0px; PADDING-TOP: 0px
}
#search .small {
	FONT-SIZE: 9px; FLOAT: right; COLOR: #ccc; MARGIN-RIGHT: 45px
}
#containerTop A {
	COLOR: #fff; TEXT-DECORATION: none
}
#containerTop A:hover {
	TEXT-DECORATION: underline
}
#containerTop INPUT.btn {
	WIDTH: 22px; HEIGHT: 17px
}
.featureMenu {
	FLOAT: left; WIDTH: 650px
}
.featureMenu UL {
	MARGIN: 10px 0px; HEIGHT: 16px
}
.featureMenu UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px 5px 0px 0px; COLOR: #000; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: none
}
.featureMenu LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 9px; COLOR: #000! important
}
.opinionMenu {
	FLOAT: left; WIDTH: 650px
}
.opinionMenu UL {
	MARGIN: 10px; HEIGHT: 16px
}
.opinionMenu UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px 5px 0px 0px; COLOR: #000; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: none
}
.opinionMenu LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000! important
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/content.css

UNKNOWN {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; HEIGHT: 20px
}
SPAN.blogDate {
	FONT-SIZE: 10px; COLOR: #999
}
P.blogLink {
	FONT-WEIGHT: bold; FONT-SIZE: 10px
}
#content P.blogType A {
	MARGIN-LEFT: 10px; COLOR: #999
}
#content P.blogType A.on {
	COLOR: #000
}
.yourSay {
	MARGIN-TOP: 10px
}
.yourSay IMG.thumb {
	FLOAT: right; MARGIN: 0px 0px 10px 10px
}
.yourSay H4 {
	CLEAR: left; MARGIN-TOP: 10px; FONT-SIZE: 16px
}
#content .blogentrytitle A {
	FONT-SIZE: 2em
}
.snapshot {
	WIDTH: 330px; HEIGHT: 430px
}
.snapTitle {
	PADDING-RIGHT: 5px; MARGIN-TOP: 350px; PADDING-LEFT: 5px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, src=3D'images/bg-snapshot.png'); PADDING-BOTTOM: =
5px; WIDTH: 320px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 70px
}
[class].snapTitle {
	BACKGROUND: url(../images/bg-snapshot.png) no-repeat left top
}
.snapTitle P {
	CLEAR: left; COLOR: #fff
}
#content .snapTitle P.snapLnk {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
#content .snapTitle P.snapLnk A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
.snLink {
	PADDING-RIGHT: 5px; MARGIN-TOP: 10px; PADDING-LEFT: 5px; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
#content .snLink A {
	FONT-SIZE: 14px
}
.snLink P {
	COLOR: #999; PADDING-TOP: 0px
}
.snHeadlines {
=09
}
#content P.headlineLinks A {
	COLOR: #999
}
#content P.headlineLinks A.on {
	COLOR: #000
}
.snHeadlines .icons {
	MARGIN: 0px 0px 0px 310px; POSITION: absolute; TEXT-ALIGN: right
}
.snHeadlines .icons IMG {
	MARGIN-TOP: 3px
}
.snHeadlines .icons IMG.padL {
	MARGIN-LEFT: 10px
}
.snToday {
	BACKGROUND-COLOR: #f1f1f1
}
.snTodayHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 10px; COLOR: #fff; PADDING-TOP: 10px; FONT-FAMILY: =
"Times New Roman", Times, serif; HEIGHT: 18px; BACKGROUND-COLOR: #539f32
}
.snTodayHdr IMG {
	VERTICAL-ALIGN: middle; MARGIN-RIGHT: 10px
}
#content .snTodayHdr A {
	FONT-SIZE: 10px; COLOR: #fff; FONT-FAMILY: arial, verdana
}
.todayHold {
	MARGIN-LEFT: 10px
}
.todayCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.todayCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .todayCol P.tdy_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: =
#5b9540; FONT-FAMILY: "Times New Roman", Times, serif
}
#content .todayCol A {
	FONT-SIZE: 11px; COLOR: #693
}
.snSports {
	BACKGROUND-COLOR: #f1f1f1
}
.snSportsHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; HEIGHT: 18px; BACKGROUND-COLOR: #f4c822
}
.snSportsHold {
	MARGIN-LEFT: 10px
}
.snSportsCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.snSportsCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .snSportsCol P.snSports_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: #000; =
FONT-FAMILY: "Times New Roman", Times, serif
}
.snWhatson {
	BACKGROUND-COLOR: #f1f1f1
}
.snWhatsonHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; HEIGHT: 18px; BACKGROUND-COLOR: #f4c822
}
.snWhatsonHold {
	MARGIN-LEFT: 10px
}
.snWhatsonCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.snWhatsonCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .snWhatsonCol P.snWhatson_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: #000; =
FONT-FAMILY: "Times New Roman", Times, serif
}
.snColumnist {
	BACKGROUND-COLOR: #f1f1f1
}
.snColumnistHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 10px; COLOR: #fff; PADDING-TOP: 10px; FONT-FAMILY: =
"Times New Roman", Times, serif; HEIGHT: 18px; BACKGROUND-COLOR: #d71635
}
.snColumnistHdr IMG {
	VERTICAL-ALIGN: middle; MARGIN-RIGHT: 10px
}
.snColumnistHold {
	MARGIN-LEFT: 10px
}
.snColumnistCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.snColumnistCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .snColumnistCol P.snColumnist_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: =
#d71635; FONT-FAMILY: "Times New Roman", Times, serif
}
#leftCol2 .clss1 {
	FLOAT: left; WIDTH: 210px
}
#leftCol2 .clss2 {
	FLOAT: left; WIDTH: 210px
}
#leftCol2 .clss2 {
	FLOAT: right
}
#leftCol2 .clss1 H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 5px 0px; COLOR: #666
}
#leftCol2 .clss2 H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 5px 0px; COLOR: #666
}
#leftCol2 .clss2 H4 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 10px; FONT-WEIGHT: bold
}
#leftCol2 .clss2 .small {
	FONT-SIZE: 9px
}
#leftCol2 .clss2 IMG {
	MARGIN: 10px
}
.snkids {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/titles/ttl-snkids.gif) #f1f1f1 no-repeat left top; =
PADDING-BOTTOM: 10px; WIDTH: 201px; PADDING-TOP: 0px
}
.snkids H2 {
	FLOAT: left; WIDTH: 70px; TEXT-INDENT: -9000px; HEIGHT: 20px
}
#content .kidsLinks {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 7px; HEIGHT: 20px; TEXT-ALIGN: right
}
.snkids H3 {
	FONT-SIZE: 17px; MARGIN: 10px 0px
}
.snkids P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.snkids IMG {
	FLOAT: right; MARGIN: 0px 0px 10px 10px
}
.snkids UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: auto; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.snkids UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 10px 5px 0px 0px; PADDING-TOP: 0px
}
.loginKids H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.loginKids LABEL {
	BORDER-RIGHT: #f1f1f1 1px solid; BORDER-TOP: #f1f1f1 1px solid; =
DISPLAY: block; FLOAT: left; BORDER-LEFT: #f1f1f1 1px solid; WIDTH: =
68px; MARGIN-RIGHT: 5px; BORDER-BOTTOM: #f1f1f1 1px solid
}
.loginKids INPUT {
	BORDER-RIGHT: #f1f1f1 1px solid; BORDER-TOP: #f1f1f1 1px solid; =
DISPLAY: block; FLOAT: left; BORDER-LEFT: #f1f1f1 1px solid; WIDTH: =
68px; MARGIN-RIGHT: 5px; BORDER-BOTTOM: #f1f1f1 1px solid
}
.loginKids FORM P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.loginKids INPUT {
	HEIGHT: 18px
}
.loginKids LABEL {
	FONT-SIZE: 9px
}
#content .kidsLinks A {
	FONT-SIZE: 9px; COLOR: #000
}
P.articleIntro {
	FONT-SIZE: 14px
}
#sec-sports P.articleLinks {
	COLOR: #539f32
}
#sec-feature P.articleLinks {
	COLOR: #734993
}
.headline {
	MARGIN-BOTTOM: 20px
}
.headline .headlineTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
.headline .headlineTitle IMG {
	FLOAT: left; MARGIN: 5px 5px 5px 0px
}
.headline .headlineText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; COLOR: =
#999; PADDING-TOP: 0px
}
.headlineMore {
	FONT-WEIGHT: bold; COLOR: #999
}
.headlineMore SPAN {
	FONT-WEIGHT: normal; FONT-SIZE: 9px; COLOR: #333
}
.oddies IMG {
	MARGIN-BOTTOM: 5px
}
.oddies .oddieText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; COLOR: =
#999; PADDING-TOP: 0px
}
.oddies .oddieText STRONG {
	COLOR: #333
}
.snQuestion H3 {
	COLOR: #414141
}
.question {
	CLEAR: left; MARGIN: 10px 0px
}
.question IMG {
	FLOAT: left; MARGIN: 0px 10px 10px 0px; VERTICAL-ALIGN: middle
}
.questionText {
	COLOR: #999
}
.questionText SPAN {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
#sec-feature #columnLeft {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; WIDTH: 645px
}
#newsFull #columnLeft {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; WIDTH: 645px
}
#sec-opinion #columnLeft {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; WIDTH: 645px
}
BODY.mainSec #columnLeft {
	PADDING-RIGHT: 0px! important; WIDTH: 655px! important; =
BORDER-RIGHT-WIDTH: 0px! important
}
#columnLeft .wideNews {
	MARGIN: 10px 0px
}
#columnLeft .wideNews #leftCol2 {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 10px; WIDTH: 390px; PADDING-TOP: 0px
}
#columnLeft .wideNews #rightCol2 {
	FLOAT: right; MARGIN-LEFT: 5px; WIDTH: 235px
}
.wideNews P {
	FONT: 13px/1.4 Helvetica, Verdana, Arial; COLOR: #333
}
.wideNews P.newsSection {
	FONT-SIZE: 12px; COLOR: #999
}
.wideNews P.newsAuthor {
	FONT-SIZE: 12px; COLOR: #999
}
.wideNews P.newsSection .section {
	FONT-WEIGHT: bold; COLOR: #e11135; MARGIN-RIGHT: 5px
}
.wideNews P.newsAuthor .author {
	FONT-WEIGHT: bold; COLOR: #e11135; MARGIN-RIGHT: 5px
}
#sec-feature P.newsAuthor .author {
	COLOR: #734993
}
#sec-sports P.newsAuthor .author {
	COLOR: #539f32
}
.wideNews H3.newsTagline {
	FONT-WEIGHT: bold; FONT-SIZE: 14px
}
.wideNews .newsArticle P {
	LINE-HEIGHT: 1.2; TEXT-ALIGN: justify
}
.wideNews .commentHdr {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999
}
.commentHdr IMG {
	MARGIN: 2px 10px 0px 0px
}
.wideNews P.commentAuthor {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; COLOR: #000; PADDING-TOP: 10px
}
.wideNews P.commentAuthor .author {
	COLOR: #e11135
}
#sec-feature P.commentAuthor .author {
	COLOR: #734993
}
#sec-sports P.commentAuthor .author {
	COLOR: #539f32
}
.wideNews P.comment {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 0px
}
#wide P.postName {
	FONT: 13px/1.4 Helvetica, Verdana, Arial; COLOR: #333
}
.postComments {
	PADDING-RIGHT: 25px; PADDING-LEFT: 25px; PADDING-BOTTOM: 25px; MARGIN: =
15px 0px; PADDING-TOP: 25px
}
.postComments TEXTAREA {
	BORDER-TOP: #ccc 3px solid; OVERFLOW: scroll; BORDER-LEFT: #ccc 3px =
solid; WIDTH: 600px; HEIGHT: 120px; _overflow: scroll-x
}
.postComments .btnSubmit {
	MARGIN: 10px 0px; WIDTH: 63px; HEIGHT: 19px
}
.snTools {
	WIDTH: 222px; BACKGROUND-COLOR: #f1f1f1
}
.snTools UL {
	MARGIN: 10px; WIDTH: 200px; LIST-STYLE-TYPE: none
}
.snTools LI {
	DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 5px; WIDTH: 100px
}
#content .snTools LI A {
	COLOR: #999
}
.snPhotos {
	MARGIN: 10px 0px; WIDTH: 222px
}
.wideNews .snPhotos P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: =
0px; PADDING-TOP: 5px
}
.wideNews .snPhotos .photoMore {
	COLOR: #c00
}
#sec-feature .snPhotos .photoMore {
	COLOR: #734993
}
#sec-sports .snPhotos .photoMore {
	COLOR: #539f32
}
#multimedia #columnLeft #leftCol {
	FLOAT: left; WIDTH: 312px
}
#multimedia #columnLeft #rightCol {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; FLOAT: right; WIDTH: =
330px
}
#multimedia .pageTitle {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 5px; COLOR: #fff; PADDING-TOP: 5px; HEIGHT: 30px; =
BACKGROUND-COLOR: #d71635; TEXT-ALIGN: right
}
#sec-weather .pageTitle {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 5px; COLOR: #fff; PADDING-TOP: 5px; HEIGHT: 30px; =
BACKGROUND-COLOR: #d71635; TEXT-ALIGN: right
}
#sec-sports .pageTitle {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 5px; COLOR: #fff; PADDING-TOP: 5px; HEIGHT: 30px; =
BACKGROUND-COLOR: #d71635; TEXT-ALIGN: right
}
#multimedia .pageTitle IMG {
	FLOAT: left; MARGIN: 5px 0px 0px 5px
}
#sec-sports .pageTitle {
	BACKGROUND-COLOR: #539f32; TEXT-ALIGN: left
}
#sec-weather .pageTitle {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 5px! important; =
MIN-HEIGHT: 25px; MARGIN-BOTTOM: 15px! important; PADDING-BOTTOM: 0px! =
important; PADDING-TOP: 5px! important; HEIGHT: auto! important; =
TEXT-ALIGN: left; _padding-bottom: 5px
}
.videoIndex {
	CLEAR: left; MARGIN: 10px 0px 30px; HEIGHT: auto! important
}
.videoIndex IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
.videoIndex H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 0px; LINE-HEIGHT: 1
}
.videoIndex P.galleryInfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
.videoIndex P.galleryAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
#content .videoGallery {
	CLEAR: left; MARGIN: 10px 0px 30px; WIDTH: 280px; HEIGHT: auto! =
important
}
#content .videoGallery IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
#content .videoGallery A {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 0px; LINE-HEIGHT: 1
}
#content .videoGallery P.galleryInfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
#content .videoGallery P.galleryAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
#content .staffGallery {
	CLEAR: left; MIN-HEIGHT: 120px; MARGIN: 10px 0px 30px; WIDTH: 280px; =
HEIGHT: auto! important
}
#content .staffGallery IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
#content .staffGallery A {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 0px; LINE-HEIGHT: 1
}
#content .staffGallery A:hover {
	TEXT-DECORATION: underline
}
#content .staffGallery P.galleryInfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
#content .staffGallery P.galleryAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
.featureShot {
	MARGIN: 0px 0px 10px; WIDTH: 297px
}
.feature {
	MIN-HEIGHT: 245px; HEIGHT: auto! important
}
.featureTitle {
	PADDING-RIGHT: 5px; MARGIN-TOP: 180px; PADDING-LEFT: 5px; FONT-SIZE: =
10px; MIN-HEIGHT: 65px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, src=3D'images/bg-snapshot-sm.png'); =
PADDING-BOTTOM: 0px; WIDTH: 287px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px; =
POSITION: absolute; HEIGHT: auto! important
}
.featureTitle STRONG {
	FONT-WEIGHT: normal; FONT-SIZE: 11px
}
.featureTitle .gry {
	COLOR: #ccc
}
[class].featureTitle {
	BACKGROUND: url(../images/bg-snapshot-sm.png) left top
}
.featureTitle {
	CLEAR: left; COLOR: #fff
}
#content .snapTitle P.snapLnk {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
#content .snapTitle P.snapLnk A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
#content .snapshots {
	MIN-HEIGHT: 70px; FLOAT: left; MARGIN: 10px 0px; WIDTH: 160px; HEIGHT: =
auto! important
}
#content .snapshots IMG {
	FLOAT: left; MARGIN-RIGHT: 5px
}
#content .snapshots P {
	FONT-WEIGHT: bold; FONT-SIZE: 11px
}
#content .snapshots A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px
}
#content .snapshots P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
#content .snapshots A {
	MARGIN: 0px; LINE-HEIGHT: 1
}
#content .snapshots P.shotBlurb {
	FONT-WEIGHT: normal
}
#content .snapshots P.galleryInfo {
	FONT-SIZE: 12px; COLOR: #999
}
#content .snapshots P.galleryAuthor {
	CLEAR: left; COLOR: #999
}
.fromNews {
	MARGIN: 10px 0px
}
#content P.photoHeaders {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 10px; COLOR: #666; PADDING-TOP: 10px
}
#content P.photoHeaders SPAN {
	COLOR: #d71635
}
#blog #columnLeft #leftCol2 {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px
}
#blog #columnLeft #rightCol2 {
	WIDTH: 210px
}
#blog .pageTitle {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 10px; COLOR: #fff; PADDING-TOP: 10px; HEIGHT: =
20px; BACKGROUND-COLOR: #d71635
}
.blogHold {
	PADDING-BOTTOM: 10px; MARGIN-LEFT: 10px
}
.blogCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 195px
}
.blogCol H4 {
	COLOR: #d71635
}
.blogCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.blogCol P.dateBlog {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
#content .blogCol A.blog_title {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 5px; COLOR: =
#d71635; FONT-FAMILY: "Times New Roman", Times, serif
}
#content .blogCol .blogAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999
}
#content .blogCol A {
	FONT-SIZE: 11px; COLOR: #d71635
}
.blogList {
	CLEAR: left; MARGIN-BOTTOM: 20px
}
.blogList .blogTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; COLOR: #999; PADDING-TOP: 0px; FONT-FAMILY: =
"Times New Roman", Times
}
.blogList .blogEntry {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px; COLOR: #999; =
PADDING-TOP: 0px
}
.blogList .blogEntry SPAN {
	COLOR: #d71635
}
.blogList .blogEntry IMG {
	FLOAT: left; MARGIN-RIGHT: 5px
}
.blogList .blogIntro {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.blogList .blogAuthor {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 0px; COLOR: #999; PADDING-TOP: 0px
}
#blog .snapshots {
	MARGIN: 20px 0px 0px
}
#blog .snapshots IMG {
	MARGIN-BOTTOM: 5px
}
.blogLinking {
	CLEAR: both; PADDING-TOP: 0px
}
#content .blogLinking A {
	FONT-SIZE: 12px; COLOR: #999
}
DIV.satellite {
	MARGIN: 10px auto; WIDTH: 430px; TEXT-ALIGN: center
}
DIV.synoptic {
	MARGIN: 10px auto; WIDTH: 430px; TEXT-ALIGN: center
}
.currentConditions {
	MARGIN: 10px
}
.currentConditions P {
	FONT-SIZE: 12px; FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 150px; COLOR: =
#000
}
.currentConditions P.tag {
	FONT-WEIGHT: bold; COLOR: #999; FONT-FAMILY: Verdana
}
#sec-weather .todayConditions IMG {
	FLOAT: left; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 10px
}
#sec-weather .todayConditions {
	MARGIN: 10px 20px
}
#sec-weather .todayConditions P {
	CLEAR: both; MIN-HEIGHT: 30px; MARGIN-BOTTOM: 5px; HEIGHT: auto! =
important
}
.weatherArea {
	MARGIN-TOP: -10px; FONT-WEIGHT: bold; WIDTH: 650px; COLOR: #999; =
POSITION: absolute; TEXT-ALIGN: right
}
.weatherArea SPAN {
	FONT-WEIGHT: bold; FONT-SIZE: 20px; TEXT-TRANSFORM: uppercase; COLOR: =
#000; LINE-HEIGHT: 1
}
.today {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MIN-HEIGHT: 50px; MARGIN-BOTTOM: =
5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; HEIGHT: auto! important; =
BACKGROUND-COLOR: #fff
}
.today H3 {
	FLOAT: left
}
.temp {
	FLOAT: left
}
.minTemp {
	FLOAT: left
}
.maxTemp {
	FLOAT: left
}
.minTemp {
	BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-WEIGHT: =
bold; FONT-SIZE: 15px; MIN-HEIGHT: 40px; MARGIN: 5px 0px 0px 5px; =
BORDER-LEFT: #999 1px solid; WIDTH: 40px; COLOR: #d71635; LINE-HEIGHT: =
1.2; BORDER-BOTTOM: #999 1px solid; HEIGHT: auto! important; =
BACKGROUND-COLOR: #dcdcdc; TEXT-ALIGN: center
}
.maxTemp {
	BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-WEIGHT: =
bold; FONT-SIZE: 15px; MIN-HEIGHT: 40px; MARGIN: 5px 0px 0px 5px; =
BORDER-LEFT: #999 1px solid; WIDTH: 40px; COLOR: #d71635; LINE-HEIGHT: =
1.2; BORDER-BOTTOM: #999 1px solid; HEIGHT: auto! important; =
BACKGROUND-COLOR: #dcdcdc; TEXT-ALIGN: center
}
.temp {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 5px 10px 0px 5px; WIDTH: =
95px; COLOR: #d71635; TEXT-ALIGN: center
}
.temp IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
#sec-weather .todayConditions {
	MARGIN: 10px 20px
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/headers.css

H1#heading {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; BACKGROUND-IMAGE: =
url(../images/logo-red.gif); PADDING-BOTTOM: 0px; MARGIN: 5px 0px; =
OVERFLOW: hidden; WIDTH: 205px; PADDING-TOP: 55px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 0px! important
}
#sec-feature H1#heading {
	MARGIN-TOP: 10px; BACKGROUND-IMAGE: url(../images/logo-feature.gif); =
OVERFLOW: hidden; WIDTH: 293px
}
#sec-opinion H1#heading {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND-IMAGE: =
url(../images/logo-opinion.gif); PADDING-BOTTOM: 0px; OVERFLOW: hidden; =
WIDTH: 334px; PADDING-TOP: 69px; HEIGHT: 69px
}
#sec-sports H1#heading {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND-IMAGE: =
url(../images/logo-sports.gif); PADDING-BOTTOM: 0px; OVERFLOW: hidden; =
WIDTH: 211px; PADDING-TOP: 70px; HEIGHT: 70px
}
.newsArticle H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px =
0px; OVERFLOW: visible; LINE-HEIGHT: 1; PADDING-TOP: 0px; HEIGHT: auto! =
important
}
H2.articleTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px =
0px; OVERFLOW: visible; LINE-HEIGHT: 1; PADDING-TOP: 0px; HEIGHT: auto! =
important
}
H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 30px; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 10px; OVERFLOW: hidden; PADDING-TOP: 10px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 0px! important
}
.pageTitle H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 30px; PADDING-BOTTOM: =
0px; MARGIN: 0px 0px 10px; OVERFLOW: hidden; PADDING-TOP: 10px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 0px! important
}
H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN: 5px 0px
}
#sec-weather H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN: 0px; TEXT-TRANSFORM: =
uppercase; COLOR: #d71635
}
#sec-weather #weather1 H3 {
	FONT-SIZE: 15px
}
#sec-weather .currentConditions H3 {
	MARGIN-BOTTOM: 10px; COLOR: #000
}
#sec-weather .today H3 {
	MARGIN-BOTTOM: 10px; COLOR: #000
}
#sec-weather .currentConditions H3 {
	MARGIN-TOP: 40px; FONT-SIZE: 18px! important
}
H4 {
	FONT-SIZE: 14px; MARGIN: 5px 0px 0px
}
H2.heading-snTicker {
	FLOAT: left; BACKGROUND-IMAGE: url(../images/titles/ttl-snticker.gif); =
MARGIN: 7px 10px 0px 0px; WIDTH: 149px; PADDING-TOP: 16px; HEIGHT: 16px
}
H2.heading-blogs {
	FLOAT: left; BACKGROUND-IMAGE: url(../images/titles/ttl-snblogs.gif); =
WIDTH: 97px
}
H2.heading-snBlogs {
	FLOAT: left; BACKGROUND-IMAGE: url(../images/titles/ttl-blogs.gif); =
WIDTH: 137px; PADDING-TOP: 16px; HEIGHT: 16px
}
H2.heading-blogYours {
	BACKGROUND-IMAGE: url(../images/titles/ttl-yours.gif); MARGIN: 10px 0px =
0px 10px; WIDTH: 75px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-blogOurs {
	BACKGROUND-IMAGE: url(../images/titles/ttl-yours.gif); MARGIN: 10px 0px =
0px 10px; WIDTH: 75px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-blogExperts {
	BACKGROUND-IMAGE: url(../images/titles/ttl-yours.gif); MARGIN: 10px 0px =
0px 10px; WIDTH: 75px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-blogOurs {
	BACKGROUND-IMAGE: url(../images/titles/ttl-ours.gif); MARGIN-LEFT: 0px; =
WIDTH: 64px
}
H2.heading-blogExperts {
	BACKGROUND-IMAGE: url(../images/titles/ttl-experts.gif); MARGIN-LEFT: =
0px; WIDTH: 98px
}
H2.heading-Multimedia {
	FLOAT: left; BACKGROUND-IMAGE: =
url(../images/titles/ttl-multimedia.gif); WIDTH: 454px; PADDING-TOP: =
16px; HEIGHT: 16px
}
H2.heading-staffGallery {
	FLOAT: left; BACKGROUND-IMAGE: =
url(../images/titles/ttl-staffGallery.gif); WIDTH: 196px; PADDING-TOP: =
12px; HEIGHT: 12px
}
H2.heading-snVideos {
	FLOAT: left; BACKGROUND-IMAGE: url(../images/titles/ttl-snVideos.gif); =
WIDTH: 106px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-snVideoFeatured {
	FLOAT: left; BACKGROUND-IMAGE: =
url(../images/titles/ttl-snVideoFeatured.gif); WIDTH: 194px; =
PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-shotFeatured {
	FLOAT: left; BACKGROUND-IMAGE: =
url(../images/titles/ttl-shotfeatured.gif); WIDTH: 185px; PADDING-TOP: =
12px; HEIGHT: 12px
}
H2.heading-SNshapshot {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snapshots.gif); =
MARGIN-BOTTOM: 0px; WIDTH: 122px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-fromNews {
	BACKGROUND-IMAGE: url(../images/titles/ttl-fromNews.gif); =
MARGIN-BOTTOM: 0px; WIDTH: 165px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-yoursay {
	BACKGROUND-IMAGE: url(../images/titles/ttl-yourSay.gif); WIDTH: 99px
}
H2.heading-snLink {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snlink.gif); WIDTH: 85px
}
H2.heading-snToday {
	FLOAT: left; BACKGROUND-IMAGE: url(../images/titles/ttl-sntoday.gif); =
WIDTH: 139px; MARGIN-RIGHT: 10px; PADDING-TOP: 16px; HEIGHT: 16px
}
H2.heading-snHeadlines {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snheadlines.gif); WIDTH: =
145px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-snTV {
	BACKGROUND-IMAGE: url(../images/titles/ttl-sntv.gif); WIDTH: 65px; =
PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-snServices {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snservices.gif); WIDTH: =
127px; PADDING-TOP: 11px; HEIGHT: 11px
}
.snServices {
	PADDING-LEFT: 5px; PADDING-TOP: 5px; HEIGHT: 15px; BACKGROUND-COLOR: =
#f4c723
}
H2.heading-snCityGuide {
	BACKGROUND-IMAGE: url(../images/titles/ttl-cityguide.gif); WIDTH: =
138px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-snWeather {
	BACKGROUND-IMAGE: url(../images/titles/ttl-weather.gif); WIDTH: 107px
}
H2.heading-memberLog {
	BACKGROUND-IMAGE: url(../images/titles/ttl-login.gif); WIDTH: 243px; =
PADDING-TOP: 13px; HEIGHT: 13px
}
H2.heading-snTools {
	BACKGROUND-IMAGE: url(../images/titles/ttl-sntools.gif); MARGIN-BOTTOM: =
0px; WIDTH: 222px; PADDING-TOP: 23px; HEIGHT: 23px
}
H2.heading-snRelStories {
	BACKGROUND-IMAGE: url(../images/titles/ttl-relatedStory.gif); =
MARGIN-BOTTOM: 0px; WIDTH: 174px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-snRelLinks {
	BACKGROUND-IMAGE: url(../images/titles/ttl-relatedStory.gif); =
MARGIN-BOTTOM: 0px; WIDTH: 174px; PADDING-TOP: 12px; HEIGHT: 12px
}
#sec-feature H2.heading-snRelStories {
	BACKGROUND-IMAGE: url(../images/titles/ttl-relatedStory-feat.gif)
}
#sec-sports H2.heading-snRelStories {
	BACKGROUND-IMAGE: url(../images/titles/ttl-relatedStory-sport.gif)
}
H2.heading-Snapshots {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snapshots.gif); =
MARGIN-BOTTOM: 0px; WIDTH: 122px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-snRelLinks {
	BACKGROUND-IMAGE: url(../images/titles/ttl-relatedLinks.gif); WIDTH: =
155px
}
H2.heading-sportsHeadlines {
	BACKGROUND-IMAGE: url(../images/titles/ttl-sportsHeadlines.gif); WIDTH: =
215px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-moreHeadlines {
	BACKGROUND-IMAGE: url(../images/titles/ttl-moreHeadlines.gif); WIDTH: =
116px
}
#sec-feature H2.heading-moreHeadlines {
	BACKGROUND-IMAGE: url(../images/titles/ttl-moreHeadlinesFeat.gif)
}
H2.heading-sportsOddies {
	BACKGROUND-IMAGE: url(../images/titles/ttl-sportsOddies.gif); WIDTH: =
178px; PADDING-TOP: 12px; HEIGHT: 12px
}
H2.heading-snSports {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snsports.gif); WIDTH: 149px; =
PADDING-TOP: 15px; HEIGHT: 15px
}
H2.heading-snFootball {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snfootball.gif); MARGIN: 7px =
0px 0px; WIDTH: 183px; PADDING-TOP: 14px; HEIGHT: 14px
}
H2.heading-featureHeadlines {
	BACKGROUND-IMAGE: url(../images/titles/ttl-featureHeadlines.gif); =
WIDTH: 228px; PADDING-TOP: 11px; HEIGHT: 11px
}
H2.heading-whatson {
	BACKGROUND-IMAGE: url(../images/titles/ttl-whatson.gif); WIDTH: 185px; =
PADDING-TOP: 14px; HEIGHT: 14px
}
H2.heading-snquestion {
	BACKGROUND-IMAGE: url(../images/titles/ttl-snquestion.gif); MARGIN: =
10px 0px; WIDTH: 130px; PADDING-TOP: 13px; HEIGHT: 13px
}
H2.heading-columnists {
	BACKGROUND-IMAGE: url(../images/titles/ttl-columnists.gif); WIDTH: =
214px; PADDING-TOP: 15px; HEIGHT: 15px
}
H2.heading-weather {
	BACKGROUND-IMAGE: url(../images/titles/ttl-weatherHdr.gif); WIDTH: =
147px; PADDING-TOP: 15px; HEIGHT: 15px
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/SpryTabbedPanels.css

.TabbedPanels {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 0px
}
.TabbedPanelsTabGroup {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.TabbedPanelsTab {
	FLOAT: left; CURSOR: pointer; TEXT-INDENT: -9000px; LIST-STYLE-TYPE: =
none; POSITION: relative; HEIGHT: 23px; -moz-user-select: none; =
-khtml-user-select: none
}
#sec-weather #columnLeft .TabbedPanelsTab {
	_margin-bottom: -1px
}
.TabbedPanelsTabHover {
=09
}
.TabbedPanelsTabSelected {
=09
}
.TabbedPanels LI#news {
	BACKGROUND: url(../images/nav/tab_news.gif) #fff no-repeat left top; =
WIDTH: 96px
}
.TabbedPanels LI#sports {
	BACKGROUND: url(../images/nav/tab_sports.gif) #fff no-repeat left top; =
WIDTH: 101px
}
.TabbedPanels LI#opinion {
	BACKGROUND: url(../images/nav/tab-opinion.gif) #fff no-repeat left top; =
WIDTH: 111px
}
.TabbedPanels .TabbedPanelsTabSelected#news {
	BACKGROUND: url(../images/nav/tab_news_on.gif) #fff no-repeat left top; =
WIDTH: 96px
}
.TabbedPanels .TabbedPanelsTabSelected#sports {
	BACKGROUND: url(../images/nav/tab_sports_on.gif) #fff no-repeat left =
top; WIDTH: 101px
}
.TabbedPanels .TabbedPanelsTabSelected#opinion {
	BACKGROUND: url(../images/nav/tab-opinion_on.gif) #fff no-repeat left =
top; WIDTH: 111px
}
.TabbedPanels LI#yours {
	BACKGROUND: url(../images/nav/tab_yours.gif) #fff no-repeat left top; =
WIDTH: 94px
}
.TabbedPanels LI#ours {
	BACKGROUND: url(../images/nav/tab_ours.gif) #fff no-repeat left top; =
WIDTH: 90px
}
.TabbedPanels LI#experts {
	BACKGROUND: url(../images/nav/tab_experts.gif) #fff no-repeat left top; =
WIDTH: 121px
}
.TabbedPanels .TabbedPanelsTabSelected#yours {
	BACKGROUND: url(../images/nav/tab_yours_on.gif) #fff no-repeat left =
top; WIDTH: 94px
}
.TabbedPanels .TabbedPanelsTabSelected#ours {
	BACKGROUND: url(../images/nav/tab_ours_on.gif) #fff no-repeat left top; =
WIDTH: 90px
}
.TabbedPanels .TabbedPanelsTabSelected#experts {
	BACKGROUND: url(../images/nav/tab_experts_on.gif) #fff no-repeat left =
top; WIDTH: 121px
}
.TabbedPanels LI#local {
	BACKGROUND: url(../images/nav/tab_local.gif) #fff no-repeat left top; =
WIDTH: 96px
}
.TabbedPanels LI#aus {
	BACKGROUND: url(../images/nav/tab_aus.gif) #fff no-repeat left top; =
WIDTH: 102px
}
.TabbedPanels LI#world {
	BACKGROUND: url(../images/nav/tab_world.gif) #fff no-repeat left top; =
WIDTH: 107px
}
.TabbedPanels .TabbedPanelsTabSelected#local {
	BACKGROUND: url(../images/nav/tab_local_on.gif) #fff no-repeat left =
top; WIDTH: 96px
}
.TabbedPanels .TabbedPanelsTabSelected#aus {
	BACKGROUND: url(../images/nav/tab_aus_on.gif) #fff no-repeat left top; =
WIDTH: 102px
}
.TabbedPanels .TabbedPanelsTabSelected#world {
	BACKGROUND: url(../images/nav/tab_world_on.gif) #fff no-repeat left =
top; WIDTH: 107px
}
.TabbedPanels LI#highrate {
	BACKGROUND: url(../images/nav/tab_highrated.gif) #fff no-repeat left =
top; WIDTH: 141px
}
.TabbedPanels LI#latestnews {
	BACKGROUND: url(../images/nav/tab_latestnews.gif) #fff no-repeat left =
top; WIDTH: 165px
}
.TabbedPanels .TabbedPanelsTabSelected#highrate {
	BACKGROUND: url(../images/nav/tab_highrated_on.gif) #fff no-repeat left =
top; WIDTH: 141px
}
.TabbedPanels .TabbedPanelsTabSelected#latestnews {
	BACKGROUND: url(../images/nav/tab_latestnews_on.gif) #fff no-repeat =
left top; WIDTH: 165px
}
.TabbedPanels LI#weatherSumm {
	BACKGROUND: url(../images/nav/tab_weatherSumm.gif) #fff no-repeat left =
top; WIDTH: 182px; HEIGHT: 28px
}
.TabbedPanels .TabbedPanelsTabSelected#weatherSumm {
	BACKGROUND: url(../images/nav/tab_weatherSumm_on.gif) #fff no-repeat =
left top; WIDTH: 182px; HEIGHT: 28px
}
.TabbedPanels LI#weather7day {
	BACKGROUND: url(../images/nav/tab_weather7day.gif) #fff no-repeat left =
top; WIDTH: 152px; HEIGHT: 28px
}
.TabbedPanels .TabbedPanelsTabSelected#weather7day {
	BACKGROUND: url(../images/nav/tab_weather7day_on.gif) #fff no-repeat =
left top; WIDTH: 152px; HEIGHT: 28px
}
.TabbedPanels LI#weather28day {
	BACKGROUND: url(../images/nav/tab_weather28day.gif) #fff no-repeat left =
top; WIDTH: 117px; HEIGHT: 28px
}
.TabbedPanels .TabbedPanelsTabSelected#weather28day {
	BACKGROUND: url(../images/nav/tab_weather28day_on.gif) #fff no-repeat =
left top; WIDTH: 117px; HEIGHT: 28px
}
#weather1 .TabbedPanelsContent {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #b0adad 24px solid; =
BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid; =
BACKGROUND-COLOR: #ece9e9
}
#weather2 .TabbedPanelsContent {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #b0adad 24px solid; =
BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid; =
BACKGROUND-COLOR: #ece9e9
}
.TabbedPanels LI#satellite {
	BACKGROUND: url(../images/nav/tab_satellite.gif) #fff no-repeat left =
top; WIDTH: 107px; HEIGHT: 27px
}
.TabbedPanels LI#synoptic {
	BACKGROUND: url(../images/nav/tab_synoptic.gif) #fff no-repeat left =
top; WIDTH: 103px; HEIGHT: 27px
}
.TabbedPanels .TabbedPanelsTabSelected#satellite {
	BACKGROUND: url(../images/nav/tab_satellite_on.gif) #fff no-repeat left =
top; WIDTH: 107px; HEIGHT: 27px
}
.TabbedPanels .TabbedPanelsTabSelected#synoptic {
	BACKGROUND: url(../images/nav/tab_synoptic_on.gif) #fff no-repeat left =
top; WIDTH: 103px; HEIGHT: 27px
}
.TabbedPanelsTab A {
=09
}
.TabbedPanelsContentGroup {
	CLEAR: both; MARGIN-BOTTOM: 10px; BORDER-BOTTOM: #ccc 1px solid; =
BACKGROUND-COLOR: #fff
}
.TabbedPanelsContent {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 4px
}
.TabbedPanelsContentVisible {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.TabbedPanelsContent H3 IMG {
	FLOAT: left; MARGIN: 0px 10px 0px 0px
}
.TabbedPanelsContent H3 {
	FONT-SIZE: 18px; MARGIN: 0px
}
.TabbedPanelsContent P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.TabbedPanelsContent P.teaser {
	COLOR: #999
}
#columnRight .TabbedPanelsContent P.taglines {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/rightColumn.css

#MemberLogin {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND-IMAGE: =
url(../images/bg-login.jpg); PADDING-BOTTOM: 10px; PADDING-TOP: 10px; =
HEIGHT: 151px
}
#MemberLogin LABEL {
	DISPLAY: block; FONT-SIZE: 12px; WIDTH: 75px; COLOR: #4d5085; =
MARGIN-RIGHT: 5px; FONT-FAMILY: Verdana; TEXT-ALIGN: right
}
#MemberLogin INPUT {
	MARGIN-BOTTOM: 5px; WIDTH: 100px; HEIGHT: 1.4em; BACKGROUND-COLOR: =
#febd38
}
#MemberLogin INPUT.btn {
	MARGIN-TOP: -2px; MARGIN-LEFT: 80px; WIDTH: 47px; HEIGHT: 15px
}
#MemberLogin P {
	CLEAR: left; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
FONT-SIZE: 9px; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; COLOR: =
#2304b9; LINE-HEIGHT: 1.2; PADDING-TOP: 0px; FONT-FAMILY: arial
}
#MemberLogin P SPAN {
	FONT-WEIGHT: bold; FONT-SIZE: 17px; COLOR: #f21618
}
#columnRight #sntv .tvMedia {
	MARGIN: 5px; TEXT-ALIGN: center
}
#columnRight #services {
	MARGIN: 10px 0px; BACKGROUND-COLOR: #f1f1f1
}
#services UL {
	FLOAT: left; MARGIN: 5px; WIDTH: 90px; LIST-STYLE-TYPE: none
}
#services LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 0px
}
#content #services UL A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #666
}
#cityguide {
=09
}
#cityguide UL {
	FLOAT: left; MARGIN: 5px 0px 5px 5px; WIDTH: 97px; LIST-STYLE-TYPE: =
none
}
#cityguide LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 0px
}
#content #cityguide UL A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c03
}
#weather {
=09
}
#content #weather A {
	FONT-SIZE: 9px; COLOR: #999
}
#weather .weatherToday {
	FLOAT: left; MARGIN: 10px 5px 5px 0px; WIDTH: 48%; LINE-HEIGHT: 1; =
FONT-FAMILY: "Times New Roman", Times, serif
}
#weather .weatherTomorrow {
	FLOAT: left; MARGIN: 10px 5px 5px 0px; WIDTH: 48%; LINE-HEIGHT: 1; =
FONT-FAMILY: "Times New Roman", Times, serif
}
#weather .weatherToday IMG {
	FLOAT: left; MARGIN-RIGHT: 5px
}
#weather .weatherTomorrow IMG {
	FLOAT: left; MARGIN-RIGHT: 5px
}
#content .advertisement {
	MARGIN: 10px 0px
}
#content .columnRight .advertisement {
	MARGIN: 15px 0px
}
#content .advertisement P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; TEXT-TRANSFORM: uppercase; COLOR: #999; PADDING-TOP: 0px; =
FONT-FAMILY: verdana; TEXT-ALIGN: center
}
#content #columnRight .advertisement {
	TEXT-ALIGN: center
}
#content #columnRight .advertisement IMG {
	BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; BORDER-LEFT: =
#000 1px solid; BORDER-BOTTOM: #000 1px solid
}
#content #columnRight .advertisement IMG.nobord {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/overrides.css

.bold {
	FONT-WEIGHT: bold
}
.Hold {
	MARGIN: 0px auto; WIDTH: 980px
}
.top_mnu UL LI {
	BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
#topBar .menu UL LI {
	BORDER-RIGHT: #fc0 1px solid; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; =
MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
#banner .menu UL LI {
	BORDER-RIGHT: #fc0 1px solid; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; =
MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
#topBar .menu UL LI {
	BORDER-RIGHT: #fc0 1px solid
}
#srchBar .menu UL LI {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; =
MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
#footer .menu UL LI {
	BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; =
MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px
}
#container UL LI.last {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.snHeadlines .icons {
	FLOAT: right
}
#columnLeft .wide {
	BACKGROUND: #f3f3f3; MARGIN: 10px 0pt
}
.PresetProfile {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ccc 1px =
solid; MARGIN-TOP: 5px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; =
BORDER-LEFT: #ccc 1px solid; WIDTH: 95%; PADDING-TOP: 2px; =
BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #fff; TEXT-ALIGN: =
center
}
.imageSelect {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0pt; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 0pt; FLOAT: left; PADDING-BOTTOM: 8px; MARGIN: 1% =
6px; BORDER-LEFT: #ccc 1px solid; WIDTH: 30%; PADDING-TOP: 5px; =
BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: center
}
.imageSelect INPUT {
	MARGIN-BOTTOM: 4px
}
.padRt .none {
	PADDING-RIGHT: 10px; MARGIN-RIGHT: 0px
}
TEXTAREA {
	OVERFLOW-Y: scroll; FONT-SIZE: 1.2em; OVERFLOW-X: hidden; FONT-FAMILY: =
Arial,Verdana,Helvetica
}
INPUT {
	FONT-SIZE: 1.2em; FONT-FAMILY: Arial,Verdana,Helvetica
}
.wideinput {
	WIDTH: 95%; BACKGROUND-COLOR: #fff
}
.pageTitle {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; FONT-SIZE: =
1.8em! important; PADDING-BOTTOM: 0px! important; MARGIN: 0px; =
PADDING-TOP: 0px! important; FONT-FAMILY: Georgia; HEIGHT: auto! =
important
}
#articleTitle {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; FONT: 2.8em Georgia, Serif; =
PADDING-TOP: 0px! important; HEIGHT: auto! important
}
#news .pageTitle {
	BACKGROUND: #d71635; COLOR: #fff
}
#news .pageTitle EM {
	COLOR: #000; FONT-STYLE: normal
}
#news .pageTitle SPAN {
	COLOR: #b1adac
}
#feature .pageTitle {
	BACKGROUND: #734993
}
#news .pageTitle EM {
	COLOR: #000; FONT-STYLE: normal
}
#news .pageTitle SPAN {
	COLOR: #b1adac
}
.title {
	FONT-SIZE: 2.2em
}
#yourComments {
	MARGIN-BOTTOM: 1em
}
.greyBox {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; =
PADDING-TOP: 0.25em; BACKGROUND-COLOR: #f1f1f1
}
.clearBox {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 1em; =
PADDING-TOP: 0.25em; BACKGROUND-COLOR: #fff
}
.comment {
	OVERFLOW: hidden; POSITION: relative
}
.comment .text {
	Z-INDEX: 200; MARGIN-RIGHT: 5em
}
.comment .number {
	FONT-SIZE: 12em; Z-INDEX: -1; RIGHT: 0pt; COLOR: #f7f7f7; FONT-FAMILY: =
Georgia,Serif; POSITION: absolute; TOP: -0.55em
}
.list {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; PADDING-BOTTOM: 0.5em; =
PADDING-TOP: 0px
}
#content .list A.head {
	FONT-SIZE: 1.4em; COLOR: #000
}
.altRow {
	BACKGROUND-COLOR: #f6f6f6
}
.rainNil {
	BACKGROUND-COLOR: #f6f6f6
}
.rainLow {
	BACKGROUND-COLOR: #aaffff
}
.rainModerate {
	BACKGROUND-COLOR: #55ffff
}
.rainHigh {
	BACKGROUND-COLOR: #44aaff
}
H3 {
	FONT-WEIGHT: normal; FONT-SIZE: 2em; COLOR: #000; FONT-FAMILY: Georgia, =
Serif
}
H4 {
	FONT-WEIGHT: normal; FONT-SIZE: 1.4em; COLOR: #000; FONT-FAMILY: =
Georgia, Serif
}
#news H4 * {
	FONT-WEIGHT: normal
}
#news H3 * {
	FONT-WEIGHT: normal
}
.strap {
	PADDING-LEFT: 0.5em; COLOR: #fff! important
}
#news .strap {
	BACKGROUND: #d71635
}
#sec-feature .strap {
	BACKGROUND: #734993
}
#sec-sports .strap {
	BACKGROUND: #539f32
}
#sec-opinion .strap {
	BACKGROUND: #d71635
}
#leftCol2 .snHeadlines UL.tripcol LI {
	FLOAT: left; PADDING-BOTTOM: 4px; WIDTH: 33%; MARGIN-RIGHT: 0px; =
LIST-STYLE-TYPE: none
}
#columnRight UL.tripcol LI {
	FLOAT: left; PADDING-BOTTOM: 4px; WIDTH: 33%; MARGIN-RIGHT: 0px; =
LIST-STYLE-TYPE: none
}
#leftCol2 .clss1 {
	WIDTH: 205px! important
}
#leftCol2 .clss2 {
	WIDTH: 205px! important
}
#leftCol2 .clss1 {
	PADDING-RIGHT: 5px! important
}
#leftCol2 .clss2 {
	PADDING-LEFT: 5px! important
}
#columnRight UL.tripcol {
	FLOAT: none; MARGIN: 5px; WIDTH: auto! important
}
.TabbedPanelsContent UL.tripcol LI {
	FLOAT: left; MARGIN-RIGHT: 2em; LIST-STYLE-TYPE: none
}
.TabbedPanelsContent UL.tripcol {
	FLOAT: none; MARGIN: 5px; WIDTH: auto! important
}
.advertisement {
	TEXT-ALIGN: center
}
.advertisement IMG {
	BORDER-TOP-WIDTH: 0px! important; BORDER-LEFT-WIDTH: 0px! important; =
BORDER-BOTTOM-WIDTH: 0px! important; BORDER-RIGHT-WIDTH: 0px! important
}
#MemberLogin LABEL {
	WHITE-SPACE: nowrap
}
#MemberLogin P A {
	FONT-WEIGHT: normal
}
.center {
	TEXT-ALIGN: center
}
.textLayout UL {
	PADDING-LEFT: 2em; MARGIN: auto
}
.contactLabel {
	MIN-WIDTH: 10em; FLOAT: left
}
.searchLabel {
	MIN-WIDTH: 13em; FLOAT: left
}
.advSearch DIV {
	MARGIN: 5px
}
#MemberLogin {
	BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; MARGIN: 0px =
5px; BORDER-LEFT: #999 1px solid; BORDER-BOTTOM: #999 1px solid
}
#MemberLogin #yel-btn {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN-LEFT: 80px; WIDTH: 60px; =
COLOR: #4d5085; HEIGHT: 2em
}
.newBlog {
	WIDTH: 80%
}
H3 A {
	FONT-WEIGHT: normal! important; FONT-SIZE: x-large! important
}
.multimedia {
	FONT-SIZE: 10px; FLOAT: right; COLOR: #fff; MARGIN-RIGHT: 5px; =
TEXT-ALIGN: right
}
.right {
	TEXT-ALIGN: right
}
.selectors LI {
	FLOAT: left; WIDTH: 45%; LIST-STYLE-TYPE: none
}
.selectors H4 {
	CLEAR: left
}
.selectors INPUT {
	MARGIN: 4px
}
.spaceInput INPUT {
	MARGIN: 4px
}
#panelMemberLogin {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; OVERFLOW: hidden; WIDTH: 100%; HEIGHT: 150px; BORDER-RIGHT-WIDTH: =
0px
}
TH {
	FONT-WEIGHT: normal; COLOR: #c00; FONT-FAMILY: Georgia, Serif
}
.vote {
	MARGIN: 0px 5%
}
.multimedia A {
	COLOR: #fff! important
}
.rainForecastHead {
	FONT-WEIGHT: bold; TEXT-ALIGN: right
}
.rainForecastTable TD {
	WIDTH: 14.28%
}
.signupTable TH {
	PADDING-RIGHT: 0px; PADDING-LEFT: 2em; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 5px; COLOR: #000000; PADDING-TOP: 3px; BACKGROUND-COLOR: =
#aaaaaa; TEXT-ALIGN: left
}
.signupTable TD {
	BACKGROUND-COLOR: #f1f1f1
}
.signupTable .signupOption {
	BORDER-RIGHT: #aaaaaa 1px solid; FONT-WEIGHT: bold; WIDTH: 40%
}
.signupTable .signupOption SPAN {
	FONT-WEIGHT: normal; FONT-SIZE: 1em
}
.signupOption INPUT {
	FLOAT: left; MARGIN: 0em 1em 1em
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/css/master.css

@import url( header.css );
@import url( content.css );
@import url( headers.css );
@import url( SpryTabbedPanels.css );
@import url( rightColumn.css );
@import url( overrides.css );
HTML {
	HEIGHT: 100%
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
DIV {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
SELECT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
INPUT {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
H4 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BODY {
	FONT: 11px/1.4 Arial, Verdana, Helvetica; COLOR: #333
}
DIV {
	FONT: 11px/1.4 Arial, Verdana, Helvetica; COLOR: #333
}
P {
	FONT: 11px/1.4 Arial, Verdana, Helvetica; COLOR: #333
}
P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#frame {
	MARGIN: 0px auto; WIDTH: 980px
}
#content {
	MARGIN-TOP: 10px
}
#columnLeft {
	FLOAT: left; WIDTH: 655px
}
#columnRight {
	FLOAT: right; WIDTH: 315px
}
#columnLeft #leftCol {
	FLOAT: left; WIDTH: 312px
}
#columnLeft #leftCol2 {
	FLOAT: left; WIDTH: 312px
}
#columnLeft #rightCol {
	FLOAT: right; WIDTH: 330px
}
#columnLeft #rightCol2 {
	FLOAT: right; WIDTH: 330px
}
#columnLeft #wideCol {
	MARGIN: 10px 0px
}
#columnLeft #wide {
	BACKGROUND: #f3f3f3; MARGIN: 10px 0px
}
#columnLeft #leftCol2 {
	MARGIN: 0px; WIDTH: 428px
}
#columnLeft #rightCol2 {
	WIDTH: 220px
}
#header .skipper {
	DISPLAY: block; BACKGROUND: none transparent scroll repeat 0% 0%; LEFT: =
0px; OVERFLOW: hidden; COLOR: red; TEXT-INDENT: -600em; POSITION: =
absolute; TOP: 0px
}
#header .skipper:focus {
	BACKGROUND: #fff; TEXT-INDENT: 0px
}
#header .skipper:active {
	BACKGROUND: #fff; TEXT-INDENT: 0px
}
A IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.floatL {
	FLOAT: left
}
.floatR {
	FLOAT: right
}
.padme {
	MARGIN: 10px
}
.padL {
	MARGIN-LEFT: 10px
}
.padRt {
	PADDING-RIGHT: 10px
}
.padRtLots {
	MARGIN-RIGHT: 50px
}
.nopad {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
P.ctr {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: center
}
P.small {
	FONT-SIZE: 9px
}
DIV.clearer {
	CLEAR: both; LINE-HEIGHT: 0em; HEIGHT: 1px
}
#content .hr {
	CLEAR: both; LINE-HEIGHT: 0em; HEIGHT: 1px
}
#content .hr {
	BORDER-TOP: #dfdede 1px solid; MARGIN: 5px 0px
}
#content A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c00; TEXT-DECORATION: none
}
#content A:active {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c00; TEXT-DECORATION: none
}
#content A:visited {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c00; TEXT-DECORATION: none
}
#content A:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #c00; TEXT-DECORATION: =
underline
}
#sec-feature #content A {
	COLOR: #734993
}
#sec-feature #content A:hover {
	COLOR: #734993
}
#sec-feature #content A:active {
	COLOR: #734993
}
#sec-feature #content A:visited {
	COLOR: #734993
}
#sec-feature #content A:hover {
	TEXT-DECORATION: underline
}
#sec-sports #content A {
	COLOR: #539f32
}
#sec-sports #content A:hover {
	COLOR: #539f32
}
#sec-sports #content A:active {
	COLOR: #539f32
}
#sec-sports #content A:visited {
	COLOR: #539f32
}
#sec-sports #content A:hover {
	TEXT-DECORATION: underline
}
#content A.blk {
	COLOR: #000! important
}
#content A.gry {
	COLOR: #333! important
}
#content .snTools A {
	COLOR: #999! important
}
.snPhotos .photoMore A.sel {
	COLOR: #999! important
}
#sec-feature INPUT.btn {
	WIDTH: 22px; HEIGHT: 17px
}
:focus {
	-moz-outline-style: none
}
#footer {
	MARGIN-TOP: 20px; HEIGHT: 53px; BACKGROUND-COLOR: #000
}
#footer .menu {
	FLOAT: left; WIDTH: 450px; PADDING-TOP: 10px
}
#footer UL {
	LIST-STYLE-TYPE: none
}
#footer UL LI {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; COLOR: #fff; PADDING-TOP: 0px
}
#footer A {
	FONT-WEIGHT: bold; COLOR: #fff; TEXT-DECORATION: none
}
#footer A:hover {
	FONT-WEIGHT: bold; COLOR: #fff; TEXT-DECORATION: underline
}
#footer .copyright {
	FLOAT: right; WIDTH: 480px; PADDING-TOP: 10px
}
A:hover {
	TEXT-DECORATION: underline
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/css/sIFR-screen.css

.sIFR-flash {
	VISIBILITY: visible! important; MARGIN: 0px
}
.sIFR-replaced {
	VISIBILITY: visible! important
}
SPAN.sIFR-alternate {
	DISPLAY: block; LEFT: 0px; OVERFLOW: hidden; WIDTH: 0px; POSITION: =
absolute; TOP: 0px; HEIGHT: 0px
}
.sIFR-hasFlash .sIFR-alternate {
	VISIBILITY: hidden
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: 7bit
content-location: http://www.sheppnews.com.au/css/print.css

#containerTop {
	DISPLAY: none! important
}
.advertisement {
	DISPLAY: none! important
}
#columnRight {
	DISPLAY: none! important
}
.login {
	DISPLAY: none! important
}
#footer {
	DISPLAY: none! important
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/css/content.css

UNKNOWN {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; HEIGHT: 20px
}
SPAN.blogDate {
	FONT-SIZE: 10px; COLOR: #999
}
P.blogLink {
	FONT-WEIGHT: bold; FONT-SIZE: 10px
}
#content P.blogType A {
	MARGIN-LEFT: 10px; COLOR: #999
}
#content P.blogType A.on {
	COLOR: #000
}
.yourSay {
	MARGIN-TOP: 10px
}
.yourSay IMG.thumb {
	FLOAT: right; MARGIN: 0px 0px 10px 10px
}
.yourSay H4 {
	CLEAR: left; MARGIN-TOP: 10px; FONT-SIZE: 16px
}
#content .blogentrytitle A {
	FONT-SIZE: 2em
}
.snapshot {
	WIDTH: 330px; HEIGHT: 430px
}
.snapTitle {
	PADDING-RIGHT: 5px; MARGIN-TOP: 350px; PADDING-LEFT: 5px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, src=3D'images/bg-snapshot.png'); PADDING-BOTTOM: =
5px; WIDTH: 320px; PADDING-TOP: 5px; POSITION: absolute; HEIGHT: 70px
}
[class].snapTitle {
	BACKGROUND: url(../images/bg-snapshot.png) no-repeat left top
}
.snapTitle P {
	CLEAR: left; COLOR: #fff
}
#content .snapTitle P.snapLnk {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
#content .snapTitle P.snapLnk A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
.snLink {
	PADDING-RIGHT: 5px; MARGIN-TOP: 10px; PADDING-LEFT: 5px; =
PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
#content .snLink A {
	FONT-SIZE: 14px
}
.snLink P {
	COLOR: #999; PADDING-TOP: 0px
}
.snHeadlines {
=09
}
#content P.headlineLinks A {
	COLOR: #999
}
#content P.headlineLinks A.on {
	COLOR: #000
}
.snHeadlines .icons {
	MARGIN: 0px 0px 0px 310px; POSITION: absolute; TEXT-ALIGN: right
}
.snHeadlines .icons IMG {
	MARGIN-TOP: 3px
}
.snHeadlines .icons IMG.padL {
	MARGIN-LEFT: 10px
}
.snToday {
	BACKGROUND-COLOR: #f1f1f1
}
.snTodayHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 10px; COLOR: #fff; PADDING-TOP: 10px; FONT-FAMILY: =
"Times New Roman", Times, serif; HEIGHT: 18px; BACKGROUND-COLOR: #539f32
}
.snTodayHdr IMG {
	VERTICAL-ALIGN: middle; MARGIN-RIGHT: 10px
}
#content .snTodayHdr A {
	FONT-SIZE: 10px; COLOR: #fff; FONT-FAMILY: arial, verdana
}
.todayHold {
	MARGIN-LEFT: 10px
}
.todayCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.todayCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .todayCol P.tdy_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: =
#5b9540; FONT-FAMILY: "Times New Roman", Times, serif
}
#content .todayCol A {
	FONT-SIZE: 11px; COLOR: #693
}
.snSports {
	BACKGROUND-COLOR: #f1f1f1
}
.snSportsHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; HEIGHT: 18px; BACKGROUND-COLOR: #f4c822
}
.snSportsHold {
	MARGIN-LEFT: 10px
}
.snSportsCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.snSportsCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .snSportsCol P.snSports_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: #000; =
FONT-FAMILY: "Times New Roman", Times, serif
}
.snWhatson {
	BACKGROUND-COLOR: #f1f1f1
}
.snWhatsonHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 10px; HEIGHT: 18px; BACKGROUND-COLOR: #f4c822
}
.snWhatsonHold {
	MARGIN-LEFT: 10px
}
.snWhatsonCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.snWhatsonCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .snWhatsonCol P.snWhatson_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: #000; =
FONT-FAMILY: "Times New Roman", Times, serif
}
.snColumnist {
	BACKGROUND-COLOR: #f1f1f1
}
.snColumnistHdr {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 10px; COLOR: #fff; PADDING-TOP: 10px; FONT-FAMILY: =
"Times New Roman", Times, serif; HEIGHT: 18px; BACKGROUND-COLOR: #d71635
}
.snColumnistHdr IMG {
	VERTICAL-ALIGN: middle; MARGIN-RIGHT: 10px
}
.snColumnistHold {
	MARGIN-LEFT: 10px
}
.snColumnistCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 200px
}
.snColumnistCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
#content .snColumnistCol P.snColumnist_title {
	FONT-WEIGHT: bold; FONT-SIZE: 13px; PADDING-BOTTOM: 5px; COLOR: =
#d71635; FONT-FAMILY: "Times New Roman", Times, serif
}
#leftCol2 .clss1 {
	FLOAT: left; WIDTH: 210px
}
#leftCol2 .clss2 {
	FLOAT: left; WIDTH: 210px
}
#leftCol2 .clss2 {
	FLOAT: right
}
#leftCol2 .clss1 H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 5px 0px; COLOR: #666
}
#leftCol2 .clss2 H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 5px 0px; COLOR: #666
}
#leftCol2 .clss2 H4 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 10px; FONT-WEIGHT: bold
}
#leftCol2 .clss2 .small {
	FONT-SIZE: 9px
}
#leftCol2 .clss2 IMG {
	MARGIN: 10px
}
.snkids {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: =
url(../images/titles/ttl-snkids.gif) #f1f1f1 no-repeat left top; =
PADDING-BOTTOM: 10px; WIDTH: 201px; PADDING-TOP: 0px
}
.snkids H2 {
	FLOAT: left; WIDTH: 70px; TEXT-INDENT: -9000px; HEIGHT: 20px
}
#content .kidsLinks {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 7px; HEIGHT: 20px; TEXT-ALIGN: right
}
.snkids H3 {
	FONT-SIZE: 17px; MARGIN: 10px 0px
}
.snkids P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.snkids IMG {
	FLOAT: right; MARGIN: 0px 0px 10px 10px
}
.snkids UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: auto; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.snkids UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 10px 5px 0px 0px; PADDING-TOP: 0px
}
.loginKids H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 10px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.loginKids LABEL {
	BORDER-RIGHT: #f1f1f1 1px solid; BORDER-TOP: #f1f1f1 1px solid; =
DISPLAY: block; FLOAT: left; BORDER-LEFT: #f1f1f1 1px solid; WIDTH: =
68px; MARGIN-RIGHT: 5px; BORDER-BOTTOM: #f1f1f1 1px solid
}
.loginKids INPUT {
	BORDER-RIGHT: #f1f1f1 1px solid; BORDER-TOP: #f1f1f1 1px solid; =
DISPLAY: block; FLOAT: left; BORDER-LEFT: #f1f1f1 1px solid; WIDTH: =
68px; MARGIN-RIGHT: 5px; BORDER-BOTTOM: #f1f1f1 1px solid
}
.loginKids FORM P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.loginKids INPUT {
	HEIGHT: 18px
}
.loginKids LABEL {
	FONT-SIZE: 9px
}
#content .kidsLinks A {
	FONT-SIZE: 9px; COLOR: #000
}
P.articleIntro {
	FONT-SIZE: 14px
}
#sec-sports P.articleLinks {
	COLOR: #539f32
}
#sec-feature P.articleLinks {
	COLOR: #734993
}
.headline {
	MARGIN-BOTTOM: 20px
}
.headline .headlineTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
14px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
.headline .headlineTitle IMG {
	FLOAT: left; MARGIN: 5px 5px 5px 0px
}
.headline .headlineText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; COLOR: =
#999; PADDING-TOP: 0px
}
.headlineMore {
	FONT-WEIGHT: bold; COLOR: #999
}
.headlineMore SPAN {
	FONT-WEIGHT: normal; FONT-SIZE: 9px; COLOR: #333
}
.oddies IMG {
	MARGIN-BOTTOM: 5px
}
.oddies .oddieText {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; COLOR: =
#999; PADDING-TOP: 0px
}
.oddies .oddieText STRONG {
	COLOR: #333
}
.snQuestion H3 {
	COLOR: #414141
}
.question {
	CLEAR: left; MARGIN: 10px 0px
}
.question IMG {
	FLOAT: left; MARGIN: 0px 10px 10px 0px; VERTICAL-ALIGN: middle
}
.questionText {
	COLOR: #999
}
.questionText SPAN {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
#sec-feature #columnLeft {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; WIDTH: 645px
}
#newsFull #columnLeft {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; WIDTH: 645px
}
#sec-opinion #columnLeft {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; WIDTH: 645px
}
BODY.mainSec #columnLeft {
	PADDING-RIGHT: 0px! important; WIDTH: 655px! important; =
BORDER-RIGHT-WIDTH: 0px! important
}
#columnLeft .wideNews {
	MARGIN: 10px 0px
}
#columnLeft .wideNews #leftCol2 {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 10px; WIDTH: 390px; PADDING-TOP: 0px
}
#columnLeft .wideNews #rightCol2 {
	FLOAT: right; MARGIN-LEFT: 5px; WIDTH: 235px
}
.wideNews P {
	FONT: 13px/1.4 Helvetica, Verdana, Arial; COLOR: #333
}
.wideNews P.newsSection {
	FONT-SIZE: 12px; COLOR: #999
}
.wideNews P.newsAuthor {
	FONT-SIZE: 12px; COLOR: #999
}
.wideNews P.newsSection .section {
	FONT-WEIGHT: bold; COLOR: #e11135; MARGIN-RIGHT: 5px
}
.wideNews P.newsAuthor .author {
	FONT-WEIGHT: bold; COLOR: #e11135; MARGIN-RIGHT: 5px
}
#sec-feature P.newsAuthor .author {
	COLOR: #734993
}
#sec-sports P.newsAuthor .author {
	COLOR: #539f32
}
.wideNews H3.newsTagline {
	FONT-WEIGHT: bold; FONT-SIZE: 14px
}
.wideNews .newsArticle P {
	LINE-HEIGHT: 1.2; TEXT-ALIGN: justify
}
.wideNews .commentHdr {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999
}
.commentHdr IMG {
	MARGIN: 2px 10px 0px 0px
}
.wideNews P.commentAuthor {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; COLOR: #000; PADDING-TOP: 10px
}
.wideNews P.commentAuthor .author {
	COLOR: #e11135
}
#sec-feature P.commentAuthor .author {
	COLOR: #734993
}
#sec-sports P.commentAuthor .author {
	COLOR: #539f32
}
.wideNews P.comment {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 0px
}
#wide P.postName {
	FONT: 13px/1.4 Helvetica, Verdana, Arial; COLOR: #333
}
.postComments {
	PADDING-RIGHT: 25px; PADDING-LEFT: 25px; PADDING-BOTTOM: 25px; MARGIN: =
15px 0px; PADDING-TOP: 25px
}
.postComments TEXTAREA {
	BORDER-TOP: #ccc 3px solid; OVERFLOW: scroll; BORDER-LEFT: #ccc 3px =
solid; WIDTH: 600px; HEIGHT: 120px; _overflow: scroll-x
}
.postComments .btnSubmit {
	MARGIN: 10px 0px; WIDTH: 63px; HEIGHT: 19px
}
.snTools {
	WIDTH: 222px; BACKGROUND-COLOR: #f1f1f1
}
.snTools UL {
	MARGIN: 10px; WIDTH: 200px; LIST-STYLE-TYPE: none
}
.snTools LI {
	DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 5px; WIDTH: 100px
}
#content .snTools LI A {
	COLOR: #999
}
.snPhotos {
	MARGIN: 10px 0px; WIDTH: 222px
}
.wideNews .snPhotos P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: =
0px; PADDING-TOP: 5px
}
.wideNews .snPhotos .photoMore {
	COLOR: #c00
}
#sec-feature .snPhotos .photoMore {
	COLOR: #734993
}
#sec-sports .snPhotos .photoMore {
	COLOR: #539f32
}
#multimedia #columnLeft #leftCol {
	FLOAT: left; WIDTH: 312px
}
#multimedia #columnLeft #rightCol {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; FLOAT: right; WIDTH: =
330px
}
#multimedia .pageTitle {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 5px; COLOR: #fff; PADDING-TOP: 5px; HEIGHT: 30px; =
BACKGROUND-COLOR: #d71635; TEXT-ALIGN: right
}
#sec-weather .pageTitle {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 5px; COLOR: #fff; PADDING-TOP: 5px; HEIGHT: 30px; =
BACKGROUND-COLOR: #d71635; TEXT-ALIGN: right
}
#sec-sports .pageTitle {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 5px; COLOR: #fff; PADDING-TOP: 5px; HEIGHT: 30px; =
BACKGROUND-COLOR: #d71635; TEXT-ALIGN: right
}
#multimedia .pageTitle IMG {
	FLOAT: left; MARGIN: 5px 0px 0px 5px
}
#sec-sports .pageTitle {
	BACKGROUND-COLOR: #539f32; TEXT-ALIGN: left
}
#sec-weather .pageTitle {
	PADDING-RIGHT: 0px! important; PADDING-LEFT: 5px! important; =
MIN-HEIGHT: 25px; MARGIN-BOTTOM: 15px! important; PADDING-BOTTOM: 0px! =
important; PADDING-TOP: 5px! important; HEIGHT: auto! important; =
TEXT-ALIGN: left; _padding-bottom: 5px
}
.videoIndex {
	CLEAR: left; MARGIN: 10px 0px 30px; HEIGHT: auto! important
}
.videoIndex IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
.videoIndex H3 {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 0px; LINE-HEIGHT: 1
}
.videoIndex P.galleryInfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
.videoIndex P.galleryAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
#content .videoGallery {
	CLEAR: left; MARGIN: 10px 0px 30px; WIDTH: 280px; HEIGHT: auto! =
important
}
#content .videoGallery IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
#content .videoGallery A {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 0px; LINE-HEIGHT: 1
}
#content .videoGallery P.galleryInfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
#content .videoGallery P.galleryAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
#content .staffGallery {
	CLEAR: left; MIN-HEIGHT: 120px; MARGIN: 10px 0px 30px; WIDTH: 280px; =
HEIGHT: auto! important
}
#content .staffGallery IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
#content .staffGallery A {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 0px; LINE-HEIGHT: 1
}
#content .staffGallery A:hover {
	TEXT-DECORATION: underline
}
#content .staffGallery P.galleryInfo {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
#content .staffGallery P.galleryAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
.featureShot {
	MARGIN: 0px 0px 10px; WIDTH: 297px
}
.feature {
	MIN-HEIGHT: 245px; HEIGHT: auto! important
}
.featureTitle {
	PADDING-RIGHT: 5px; MARGIN-TOP: 180px; PADDING-LEFT: 5px; FONT-SIZE: =
10px; MIN-HEIGHT: 65px; FILTER: =
progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=3Dtrue, =
sizingMethod=3Dscale, src=3D'images/bg-snapshot-sm.png'); =
PADDING-BOTTOM: 0px; WIDTH: 287px; LINE-HEIGHT: 1.2; PADDING-TOP: 0px; =
POSITION: absolute; HEIGHT: auto! important
}
.featureTitle STRONG {
	FONT-WEIGHT: normal; FONT-SIZE: 11px
}
.featureTitle .gry {
	COLOR: #ccc
}
[class].featureTitle {
	BACKGROUND: url(../images/bg-snapshot-sm.png) left top
}
.featureTitle {
	CLEAR: left; COLOR: #fff
}
#content .snapTitle P.snapLnk {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
#content .snapTitle P.snapLnk A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 0px; COLOR: #ccc; PADDING-TOP: 0px
}
#content .snapshots {
	MIN-HEIGHT: 70px; FLOAT: left; MARGIN: 10px 0px; WIDTH: 160px; HEIGHT: =
auto! important
}
#content .snapshots IMG {
	FLOAT: left; MARGIN-RIGHT: 5px
}
#content .snapshots P {
	FONT-WEIGHT: bold; FONT-SIZE: 11px
}
#content .snapshots A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px
}
#content .snapshots P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
LINE-HEIGHT: 1.2; PADDING-TOP: 0px
}
#content .snapshots A {
	MARGIN: 0px; LINE-HEIGHT: 1
}
#content .snapshots P.shotBlurb {
	FONT-WEIGHT: normal
}
#content .snapshots P.galleryInfo {
	FONT-SIZE: 12px; COLOR: #999
}
#content .snapshots P.galleryAuthor {
	CLEAR: left; COLOR: #999
}
.fromNews {
	MARGIN: 10px 0px
}
#content P.photoHeaders {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
15px; PADDING-BOTTOM: 10px; COLOR: #666; PADDING-TOP: 10px
}
#content P.photoHeaders SPAN {
	COLOR: #d71635
}
#blog #columnLeft #leftCol2 {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px
}
#blog #columnLeft #rightCol2 {
	WIDTH: 210px
}
#blog .pageTitle {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: =
10px; PADDING-BOTTOM: 10px; COLOR: #fff; PADDING-TOP: 10px; HEIGHT: =
20px; BACKGROUND-COLOR: #d71635
}
.blogHold {
	PADDING-BOTTOM: 10px; MARGIN-LEFT: 10px
}
.blogCol {
	FLOAT: left; MARGIN: 5px 0px 10px; WIDTH: 195px
}
.blogCol H4 {
	COLOR: #d71635
}
.blogCol P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.blogCol P.dateBlog {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #999
}
#content .blogCol A.blog_title {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; PADDING-BOTTOM: 5px; COLOR: =
#d71635; FONT-FAMILY: "Times New Roman", Times, serif
}
#content .blogCol .blogAuthor {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #999
}
#content .blogCol A {
	FONT-SIZE: 11px; COLOR: #d71635
}
.blogList {
	CLEAR: left; MARGIN-BOTTOM: 20px
}
.blogList .blogTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
13px; PADDING-BOTTOM: 0px; COLOR: #999; PADDING-TOP: 0px; FONT-FAMILY: =
"Times New Roman", Times
}
.blogList .blogEntry {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
12px; PADDING-BOTTOM: 0px; MARGIN: 5px 0px 0px; COLOR: #999; =
PADDING-TOP: 0px
}
.blogList .blogEntry SPAN {
	COLOR: #d71635
}
.blogList .blogEntry IMG {
	FLOAT: left; MARGIN-RIGHT: 5px
}
.blogList .blogIntro {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.blogList .blogAuthor {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 0px; COLOR: #999; PADDING-TOP: 0px
}
#blog .snapshots {
	MARGIN: 20px 0px 0px
}
#blog .snapshots IMG {
	MARGIN-BOTTOM: 5px
}
.blogLinking {
	CLEAR: both; PADDING-TOP: 0px
}
#content .blogLinking A {
	FONT-SIZE: 12px; COLOR: #999
}
DIV.satellite {
	MARGIN: 10px auto; WIDTH: 430px; TEXT-ALIGN: center
}
DIV.synoptic {
	MARGIN: 10px auto; WIDTH: 430px; TEXT-ALIGN: center
}
.currentConditions {
	MARGIN: 10px
}
.currentConditions P {
	FONT-SIZE: 12px; FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 150px; COLOR: =
#000
}
.currentConditions P.tag {
	FONT-WEIGHT: bold; COLOR: #999; FONT-FAMILY: Verdana
}
#sec-weather .todayConditions IMG {
	FLOAT: left; VERTICAL-ALIGN: middle; MARGIN-RIGHT: 10px
}
#sec-weather .todayConditions {
	MARGIN: 10px 20px
}
#sec-weather .todayConditions P {
	CLEAR: both; MIN-HEIGHT: 30px; MARGIN-BOTTOM: 5px; HEIGHT: auto! =
important
}
.weatherArea {
	MARGIN-TOP: -10px; FONT-WEIGHT: bold; WIDTH: 650px; COLOR: #999; =
POSITION: absolute; TEXT-ALIGN: right
}
.weatherArea SPAN {
	FONT-WEIGHT: bold; FONT-SIZE: 20px; TEXT-TRANSFORM: uppercase; COLOR: =
#000; LINE-HEIGHT: 1
}
.today {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MIN-HEIGHT: 50px; MARGIN-BOTTOM: =
5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px; HEIGHT: auto! important; =
BACKGROUND-COLOR: #fff
}
.today H3 {
	FLOAT: left
}
.temp {
	FLOAT: left
}
.minTemp {
	FLOAT: left
}
.maxTemp {
	FLOAT: left
}
.minTemp {
	BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-WEIGHT: =
bold; FONT-SIZE: 15px; MIN-HEIGHT: 40px; MARGIN: 5px 0px 0px 5px; =
BORDER-LEFT: #999 1px solid; WIDTH: 40px; COLOR: #d71635; LINE-HEIGHT: =
1.2; BORDER-BOTTOM: #999 1px solid; HEIGHT: auto! important; =
BACKGROUND-COLOR: #dcdcdc; TEXT-ALIGN: center
}
.maxTemp {
	BORDER-RIGHT: #999 1px solid; BORDER-TOP: #999 1px solid; FONT-WEIGHT: =
bold; FONT-SIZE: 15px; MIN-HEIGHT: 40px; MARGIN: 5px 0px 0px 5px; =
BORDER-LEFT: #999 1px solid; WIDTH: 40px; COLOR: #d71635; LINE-HEIGHT: =
1.2; BORDER-BOTTOM: #999 1px solid; HEIGHT: auto! important; =
BACKGROUND-COLOR: #dcdcdc; TEXT-ALIGN: center
}
.temp {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 5px 10px 0px 5px; WIDTH: =
95px; COLOR: #d71635; TEXT-ALIGN: center
}
.temp IMG {
	FLOAT: left; MARGIN-RIGHT: 10px
}
#sec-weather .todayConditions {
	MARGIN: 10px 20px
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: 7bit
content-location: http://www.sheppnews.com.au/js/master.js

// JavaScript for Shepparton News

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/js/sifr.js

/*	sIFR 2.0.1
	Copyright 2004 - 2005 Mike Davidson, Shaun Inman, Tomas Jogin and Mark =
Wubben

	This software is licensed under the CC-GNU LGPL =
<http://creativecommons.org/licenses/LGPL/2.1/>
*/
function call_functions(tU,cN){setStatus(tU);setFocus(cN);};function =
setStatus(tU){window.status=3Dtypeof(tU)!=3D'undefined'?tU:'';};function =
setFocus(cN){var =
eEs=3Ddocument.getElementsByTagName('embed');eE=3DeEs[cN];if(eE.focus)eE.=
focus();};var hasFlash=3Dfunction(){var =
a=3D6;if(navigator.appVersion.indexOf("MSIE")!=3D-1&&navigator.appVersion=
.indexOf("Windows")>-1){document.write('<script language=3D"VBScript"\> =
\non error resume next \nhasFlash =3D =
(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & '+a+'))) =
\n</script\> \n');if(window.hasFlash!=3Dnull)return =
window.hasFlash}if(navigator.mimeTypes&&navigator.mimeTypes["application/=
x-shockwave-flash"]&&navigator.mimeTypes["application/x-shockwave-flash"]=
.enabledPlugin){var b=3D(navigator.plugins["Shockwave Flash =
2.0"]||navigator.plugins["Shockwave Flash"]).description;return =
parseInt(b.charAt(b.indexOf(".")-1))>=3Da}return =
false}();String.prototype.normalize=3Dfunction(){return =
this.replace(/\s+/g," =
")};if(Array.prototype.push=3D=3Dnull){Array.prototype.push=3Dfunction(){=
var =
i=3D0,a=3Dthis.length,b=3Darguments.length;while(i<b){this[a++]=3Dargumen=
ts[i++]}return =
this.length}}if(!Function.prototype.apply){Function.prototype.apply=3Dfun=
ction(a,b){var c=3D[];var d,e;if(!a)a=3Dwindow;if(!b)b=3D[];for(var =
i=3D0;i<b.length;i++){c[i]=3D"b["+i+"]"}e=3D"a.__applyTemp__("+c.join(","=
)+");";a.__applyTemp__=3Dthis;d=3Deval(e);a.__applyTemp__=3Dnull;return =
d}}function named(a){return new =
named.Arguments(a)}named.Arguments=3Dfunction(a){this.oArgs=3Da};named.Ar=
guments.prototype.constructor=3Dnamed.Arguments;named.extract=3Dfunction(=
a,b){var c,d;var =
i=3Da.length;while(i--){d=3Da[i];if(d!=3Dnull&&d.constructor!=3Dnull&&d.c=
onstructor=3D=3Dnamed.Arguments){c=3Da[i].oArgs;break}}if(c=3D=3Dnull)ret=
urn;for(e in c)if(b[e]!=3Dnull)b[e](c[e]);return};var =
parseSelector=3Dfunction(){var =
a=3D/^([^#.>`]*)(#|\.|\>|\`)(.+)$/;function r(s,t){var =
u=3Ds.split(/\s*\,\s*/);var v=3D[];for(var =
i=3D0;i<u.length;i++)v=3Dv.concat(b(u[i],t));return v}function =
b(c,d,e){c=3Dc.normalize().replace(" ","`");var f=3Dc.match(a);var =
g,h,i,j,k,n;var =
l=3D[];if(f=3D=3Dnull)f=3D[c,c];if(f[1]=3D=3D"")f[1]=3D"*";if(e=3D=3Dnull=
)e=3D"`";if(d=3D=3Dnull)d=3Ddocument;switch(f[2]){case =
"#":k=3Df[3].match(a);if(k=3D=3Dnull)k=3D[null,f[3]];g=3Ddocument.getElem=
entById(k[1]);if(g=3D=3Dnull||(f[1]!=3D"*"&&!o(g,f[1])))return =
l;if(k.length=3D=3D2){l.push(g);return l}return b(k[3],g,k[2]);case =
".":if(e!=3D">")h=3Dm(d,f[1]);else =
h=3Dd.childNodes;for(i=3D0,n=3Dh.length;i<n;i++){g=3Dh[i];if(g.nodeType!=3D=
1)continue;k=3Df[3].match(a);if(k!=3Dnull){if(g.className=3D=3Dnull||g.cl=
assName.match("\\b"+k[1]+"\\b")=3D=3Dnull)continue;j=3Db(k[3],g,k[2]);l=3D=
l.concat(j)}else =
if(g.className!=3Dnull&&g.className.match("\\b"+f[3]+"\\b")!=3Dnull)l.pus=
h(g)}return l;case ">":if(e!=3D">")h=3Dm(d,f[1]);else =
h=3Dd.childNodes;for(i=3D0,n=3Dh.length;i<n;i++){g=3Dh[i];if(g.nodeType!=3D=
1)continue;if(!o(g,f[1]))continue;j=3Db(f[3],g,">");l=3Dl.concat(j)}retur=
n l;case =
"`":h=3Dm(d,f[1]);for(i=3D0,n=3Dh.length;i<n;i++){g=3Dh[i];j=3Db(f[3],g,"=
`");l=3Dl.concat(j)}return l;default:if(e!=3D">")h=3Dm(d,f[1]);else =
h=3Dd.childNodes;for(i=3D0,n=3Dh.length;i<n;i++){g=3Dh[i];if(g.nodeType!=3D=
1)continue;if(!o(g,f[1]))continue;l.push(g)}return l}}function =
m(d,o){if(o=3D=3D"*"&&d.all!=3Dnull)return d.all;return =
d.getElementsByTagName(o)}function o(p,q){return =
q=3D=3D"*"?true:p.nodeName.toLowerCase().replace("html:", =
"")=3D=3Dq.toLowerCase()}return r}();var sIFR=3Dfunction(){var =
a=3D"http://www.w3.org/1999/xhtml";var b=3Dfalse;var c=3Dfalse;var d;var =
ah=3D[];var al=3Ddocument;var ak=3Dal.documentElement;var =
am=3Dwindow;var au=3Dal.addEventListener;var =
av=3Dam.addEventListener;var f=3Dfunction(){var =
g=3Dnavigator.userAgent.toLowerCase();var =
f=3D{a:g.indexOf("applewebkit")>-1,b:g.indexOf("safari")>-1,c:navigator.p=
roduct!=3Dnull&&navigator.product.toLowerCase().indexOf("konqueror")>-1,d=
:g.indexOf("opera")>-1,e:al.contentType!=3Dnull&&al.contentType.indexOf("=
xml")>-1,f:true,g:true,h:null,i:null,j:null,k:null};f.l=3Df.a||f.c;f.m=3D=
!f.a&&navigator.product!=3Dnull&&navigator.product.toLowerCase()=3D=3D"ge=
cko";if(f.m)f.j=3Dnew =
Number(g.match(/.*gecko\/(\d{8}).*/)[1]);f.n=3Dg.indexOf("msie")>-1&&!f.d=
&&!f.l&&!f.m;f.o=3Df.n&&g.match(/.*mac.*/)!=3Dnull;if(f.d)f.i=3Dnew =
Number(g.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]);if(f.n||(f.d&&f.i<7.6))f.g=
=3Dfalse;if(f.a)f.k=3Dnew =
Number(g.match(/.*applewebkit\/(\d+).*/)[1]);if(am.hasFlash&&(!f.n||f.o))=
{var aj=3D(navigator.plugins["Shockwave Flash =
2.0"]||navigator.plugins["Shockwave =
Flash"]).description;f.h=3DparseInt(aj.charAt(aj.indexOf(".")-1))}if(g.ma=
tch(/.*(windows|mac).*/)=3D=3Dnull||f.o||f.c||(f.d&&(g.match(/.*mac.*/)!=3D=
null||f.i<7.6))||(f.b&&f.h<7)||(!f.b&&f.a&&f.k<124)||(f.m&&f.j<20020523))=
f.f=3Dfalse;if(!f.o&&!f.m&&al.createElementNS)try{al.createElementNS(a,"i=
").innerHTML=3D""}catch(e){f.e=3Dtrue}f.p=3Df.c||(f.a&&f.k<312)||f.n;retu=
rn f}();function =
at(){return{bIsWebKit:f.a,bIsSafari:f.b,bIsKonq:f.c,bIsOpera:f.d,bIsXML:f=
.e,bHasTransparencySupport:f.f,bUseDOM:f.g,nFlashVersion:f.h,nOperaVersio=
n:f.i,nGeckoBuildDate:f.j,nWebKitVersion:f.k,bIsKHTML:f.l,bIsGecko:f.m,bI=
sIE:f.n,bIsIEMac:f.o,bUseInnerHTMLHack:f.p}}if(am.hasFlash=3D=3Dfalse||!a=
l.getElementsByTagName||!al.getElementById||(f.e&&f.p))return{UA:at()};fu=
nction =
af(e){if((!k.bAutoInit&&(am.event||e)!=3Dnull)||!l(e))return;b=3Dtrue;for=
(var i=3D0,h=3Dah.length;i<h;i++)j.apply(null,ah[i]);ah=3D[]}var =
k=3Daf;function =
l(e){if(c=3D=3Dfalse||k.bIsDisabled=3D=3Dtrue||((f.e&&f.m||f.l)&&e=3D=3Dn=
ull&&b=3D=3Dfalse)||(al.body=3D=3Dnull||al.getElementsByTagName("body").l=
ength=3D=3D0))return false;return true}function m(n){if(f.n)return =
n.replace(new RegExp("%\d{0}","g"),"%25");return n.replace(new =
RegExp("%(?!\d)","g"),"%25")}function as(p,q){return =
q=3D=3D"*"?true:p.nodeName.toLowerCase().replace("html:", =
"")=3D=3Dq.toLowerCase()}function o(p,q,r,s,t){var u=3D"";var =
v=3Dp.firstChild;var =
w,x,y,z;if(s=3D=3Dnull)s=3D0;if(t=3D=3Dnull)t=3D"";while(v){if(v.nodeType=
=3D=3D3){z=3Dv.nodeValue.replace("<","&lt;");switch(r){case =
"lower":u+=3Dz.toLowerCase();break;case =
"upper":u+=3Dz.toUpperCase();break;default:u+=3Dz}}else =
if(v.nodeType=3D=3D1){if(as(v,"a")&&!v.getAttribute("href")=3D=3Dfalse){i=
f(v.getAttribute("target"))t+=3D"&sifr_url_"+s+"_target=3D"+v.getAttribut=
e("target");t+=3D"&sifr_url_"+s+"=3D"+m(v.getAttribute("href")).replace(/=
&/g,"%26");u+=3D'<a href=3D"asfunction:_root.launchURL,'+s+'">';s++}else =
if(as(v,"em")){u+=3D"=C2";}else if(as(v,"strong")){u+=3D"=CE";}else =
if(as(v,"span")){u+=3D"=D4";}else =
if(as(v,"br"))u+=3D"<br/>";if(v.hasChildNodes()){y=3Do(v,null,r,s,t);u+=3D=
y.u;s=3Dy.s;t=3Dy.t}if(as(v,"a")){u+=3D"</a>"}else =
if(as(v,"em")){u+=3D"=C2";}else if(as(v,"strong")){u+=3D"=CE";}else =
if(as(v,"span")){u+=3D"=D4";}}w=3Dv;v=3Dv.nextSibling;if(q!=3Dnull){x=3Dw=
.parentNode.removeChild(w);q.appendChild(x)}}return{"u":u,"s":s,"t":t}}fu=
nction A(B){if(al.createElementNS&&f.g)return =
al.createElementNS(a,B);return al.createElement(B)}function C(D,E,z){var =
p=3DA("param");p.setAttribute("name",E);p.setAttribute("value",z);D.appen=
dChild(p)}function F(p,G){var H=3Dp.className;if(H=3D=3Dnull)H=3DG;else =
H=3DH.normalize()+(H=3D=3D""?"":" ")+G;p.className=3DH}function =
aq(ar){var =
a=3Dak;if(k.bHideBrowserText=3D=3Dfalse)a=3Dal.getElementsByTagName("body=
")[0];if((k.bHideBrowserText=3D=3Dfalse||ar)&&a)if(a.className=3D=3Dnull|=
|a.className.match(/\bsIFR\-hasFlash\b/)=3D=3Dnull)F(a, =
"sIFR-hasFlash")}function =
j(I,J,K,sEmColor,sStrongColor,sSpanColor,L,M,N,O,P,Q,R,S,r,T){if(!l())ret=
urn =
ah.push(arguments);aq();named.extract(arguments,{sSelector:function(ap){I=
=3Dap},sFlashSrc:function(ap){J=3Dap},sColor:function(ap){K=3Dap},sEmColo=
r:function(ap){sEmColor=3Dap},sStrongColor:function(ap){sStrongColor=3Dap=
},sSpanColor:function(ap){sSpanColor=3Dap},sLinkColor:function(ap){L=3Dap=
},sHoverColor:function(ap){M=3Dap},sBgColor:function(ap){N=3Dap},nPadding=
Top:function(ap){O=3Dap},nPaddingRight:function(ap){P=3Dap},nPaddingBotto=
m:function(ap){Q=3Dap},nPaddingLeft:function(ap){R=3Dap},sFlashVars:funct=
ion(ap){S=3Dap},sCase:function(ap){r=3Dap},sWmode:function(ap){T=3Dap}});=
var U=3DparseSelector(I);if(U.length=3D=3D0)return =
false;if(S!=3Dnull)S=3D"&"+S.normalize();else =
S=3D"";if(K!=3Dnull)S+=3D"&textcolor=3D"+K;if(sEmColor!=3Dnull)S+=3D"&emc=
olor=3D"+sEmColor;if(sStrongColor!=3Dnull)S+=3D"&strongcolor=3D"+sStrongC=
olor;if(sSpanColor!=3Dnull)S+=3D"&spancolor=3D"+sSpanColor;if(M!=3Dnull)S=
+=3D"&hovercolor=3D"+M;if(M!=3Dnull||L!=3Dnull)S+=3D"&linkcolor=3D"+(L||K=
);if(O=3D=3Dnull)O=3D0;if(P=3D=3Dnull)P=3D0;if(Q=3D=3Dnull)Q=3D0;if(R=3D=3D=
null)R=3D0;if(N=3D=3Dnull)N=3D"#FFFFFF";if(T=3D=3D"transparent")if(!f.f)T=
=3D"opaque";else N=3D"transparent";if(T=3D=3Dnull)T=3D"";var =
p,V,W,X,Y,Z,aa,ab,ac;var ad=3Dnull;for(var =
i=3D0,h=3DU.length;i<h;i++){p=3DU[i];if(p.className!=3Dnull&&p.className.=
match(/\bsIFR\-replaced\b/)!=3Dnull)continue;V=3Dp.offsetWidth-R-P;W=3Dp.=
offsetHeight-O-Q;aa=3DA("span");aa.className=3D"sIFR-alternate";ac=3Do(p,=
aa,r);Z=3D"txt=3D"+m(ac.u).replace(/\+/g,"%2B").replace(/&/g,"%26").repla=
ce(/\"/g, "%22").normalize() + S + "&w=3D" + V + "&h=3D" + W + =
ac.t;F(p,"sIFR-replaced");if(ad=3D=3Dnull||!f.g){if(!f.g)p.innerHTML=3D['=
<embed class=3D"sIFR-flash" type=3D"application/x-shockwave-flash" =
src=3D"',J,'" quality=3D"best" wmode=3D"',T,'" bgcolor=3D"',N,'" =
flashvars=3D"',Z,'" width=3D"',V,'" height=3D"',W,'" =
sifr=3D"true"></embed>'].join("");else{if(f.d){ab=3DA("object");ab.setAtt=
ribute("data",J);C(ab,"quality","best");C(ab,"wmode",T);C(ab,"bgcolor",N)=
}else{ab=3DA("embed");ab.setAttribute("src",J);ab.setAttribute("quality",=
"best");ab.setAttribute("flashvars",Z);ab.setAttribute("wmode",T);ab.setA=
ttribute("bgcolor",N)}ab.setAttribute("sifr","true");ab.setAttribute("typ=
e","application/x-shockwave-flash");ab.className=3D"sIFR-flash";if(!f.l||=
!f.e)ad=3Dab.cloneNode(true)}}else =
ab=3Dad.cloneNode(true);if(f.g){if(f.d)C(ab,"flashvars",Z);else =
ab.setAttribute("flashvars",Z);ab.setAttribute("width",V);ab.setAttribute=
("height",W);ab.style.width=3DV+"px";ab.style.height=3DW+"px";p.appendChi=
ld(ab)}p.appendChild(aa);if(f.p)p.innerHTML+=3D""}if(f.n&&k.bFixFragIdBug=
)setTimeout(function(){al.title=3Dd},0)}function =
ai(){d=3Dal.title}function =
ae(){if(k.bIsDisabled=3D=3Dtrue)return;c=3Dtrue;if(k.bHideBrowserText)aq(=
true);if(am.attachEvent)am.attachEvent("onload",af);else =
if(!f.c&&(al.addEventListener||am.addEventListener)){if(f.a&&f.k>=3D132&&=
am.addEventListener)am.addEventListener("load",function(){setTimeout("sIF=
R({})",1)},false);else{if(al.addEventListener)al.addEventListener("load",=
af,false);if(am.addEventListener)am.addEventListener("load",af,false)}}el=
se if(typeof am.onload=3D=3D"function"){var =
ag=3Dam.onload;am.onload=3Dfunction(){ag();af()}}else =
am.onload=3Daf;if(!f.n||am.location.hash=3D=3D"")k.bFixFragIdBug=3Dfalse;=
else =
ai()}k.UA=3Dat();k.bAutoInit=3Dtrue;k.bFixFragIdBug=3Dtrue;k.replaceEleme=
nt=3Dj;k.updateDocumentTitle=3Dai;k.appendToClassName=3DF;k.setup=3Dae;k.=
debug=3Dfunction(){aq(true)};k.debug.replaceNow=3Dfunction(){ae();k()};k.=
bIsDisabled=3Dfalse;k.bHideBrowserText=3Dtrue;return k}();

if(typeof sIFR =3D=3D "function" && !sIFR.UA.bIsIEMac){
	sIFR.setup();
};
------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/js/ticker.js

=0A=
// constant dealies=0A=
var theCharacterTimeout =3D 50;=0A=
var theStoryTimeout     =3D 5000;=0A=
var theWidgetOne        =3D "-";=0A=
var theWidgetTwo        =3D "_";=0A=
var theWidgetNone       =3D "";=0A=
var theLeadString       =3D "";=0A=
=0A=
var theSummaries =3D new Array();=0A=
var theSiteLinks =3D new Array();=0A=
=0A=
var theItemCount =3D 9;=0A=
=0A=
// Ticker startup=0A=
function startTicker()=0A=
{=0A=
    theItemCount =3D theSummaries.length;=0A=
	// Define run time values=0A=
	theCurrentStory     =3D -1;=0A=
	theCurrentLength    =3D 0;=0A=
	// Locate base objects=0A=
	if (document.getElementById) {	=0A=
		    theAnchorObject =3D document.getElementById("tickerAnchor");=0A=
			runTheTicker();   	=0A=
		 }=0A=
	else {=0A=
            =
document.write("<style>.ticki{display:none;}.ticko{border:0px; =
padding:0px;}</style>");=0A=
            return true;=0A=
	}=0A=
}=0A=
// Ticker main run loop=0A=
function runTheTicker()=0A=
{=0A=
	var myTimeout;  =0A=
	// Go for the next story data block=0A=
	if(theCurrentLength =3D=3D 0)=0A=
	{=0A=
		theCurrentStory++;=0A=
		theCurrentStory      =3D theCurrentStory % theItemCount;=0A=
		theStorySummary      =3D =
theSummaries[theCurrentStory].replace(/&quot;/g,'"');		=0A=
		theTargetLink        =3D theSiteLinks[theCurrentStory];=0A=
		theAnchorObject.href =3D theTargetLink;=0A=
		thePrefix 	     =3D "<span class=3D\"tickls\">" + theLeadString + =
"</span>";=0A=
	}=0A=
	// Stuff the current ticker text into the anchor=0A=
	theAnchorObject.innerHTML =3D thePrefix + =0A=
	theStorySummary.substring(0,theCurrentLength) + whatWidget();=0A=
	// Modify the length for the substring and define the timer=0A=
	if(theCurrentLength !=3D theStorySummary.length)=0A=
	{=0A=
		theCurrentLength++;=0A=
		myTimeout =3D theCharacterTimeout;=0A=
	}=0A=
	else=0A=
	{=0A=
		theCurrentLength =3D 0;=0A=
		myTimeout =3D theStoryTimeout;=0A=
	}=0A=
	// Call up the next cycle of the ticker=0A=
	setTimeout("runTheTicker()", myTimeout);=0A=
}=0A=
// Widget generator=0A=
function whatWidget()=0A=
{=0A=
	if(theCurrentLength =3D=3D theStorySummary.length)=0A=
	{=0A=
		return theWidgetNone;=0A=
	}=0A=
=0A=
	if((theCurrentLength % 2) =3D=3D 1)=0A=
	{=0A=
		return theWidgetOne;=0A=
	}=0A=
	else=0A=
	{=0A=
		return theWidgetTwo;=0A=
	}=0A=
}
------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/js/swfobject.js

/**=0A=
 * SWFObject v1.5: Flash Player detection and embed - =
http://blog.deconcept.com/swfobject/=0A=
 *=0A=
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT =
License:=0A=
 * http://www.opensource.org/licenses/mit-license.php=0A=
 *=0A=
 */=0A=
if(typeof deconcept=3D=3D"undefined"){var deconcept=3Dnew =
Object();}if(typeof =
deconcept.util=3D=3D"undefined"){deconcept.util=3Dnew =
Object();}if(typeof =
deconcept.SWFObjectUtil=3D=3D"undefined"){deconcept.SWFObjectUtil=3Dnew =
Object();}deconcept.SWFObject=3Dfunction(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!=
document.getElementById){return;}this.DETECT_KEY=3D_a?_a:"detectflash";th=
is.skipDetect=3Ddeconcept.util.getRequestParameter(this.DETECT_KEY);this.=
params=3Dnew Object();this.variables=3Dnew =
Object();this.attributes=3Dnew =
Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id"=
,id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height=
",h);}if(_5){this.setAttribute("version",new =
deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=3Dd=
econcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&=
&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=3Dtrue;}if(c=
){this.addParam("bgcolor",c);}var =
q=3D_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpress=
Install",false);this.setAttribute("doExpressInstall",false);var =
_c=3D(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.s=
etAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);=
}};deconcept.SWFObject.prototype=3D{useExpressInstall:function(_d){this.x=
iSWFPath=3D!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInsta=
ll",true);},setAttribute:function(_e,_f){this.attributes[_e]=3D_f;},getAt=
tribute:function(_10){return =
this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=3D_12;=
},getParams:function(){return =
this.params;},addVariable:function(_13,_14){this.variables[_13]=3D_14;},g=
etVariable:function(_15){return =
this.variables[_15];},getVariables:function(){return =
this.variables;},getVariablePairs:function(){var _16=3Dnew Array();var =
key;var _18=3Dthis.getVariables();for(key in =
_18){_16[_16.length]=3Dkey+"=3D"+_18[key];}return =
_16;},getSWFHTML:function(){var =
_19=3D"";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.l=
ength){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplay=
erType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19=3D"<embed =
type=3D\"application/x-shockwave-flash\" =
src=3D\""+this.getAttribute("swf")+"\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\"";_19+=3D" =
id=3D\""+this.getAttribute("id")+"\" =
name=3D\""+this.getAttribute("id")+"\" ";var =
_1a=3Dthis.getParams();for(var key in =
_1a){_19+=3D[key]+"=3D\""+_1a[key]+"\" ";}var =
_1c=3Dthis.getVariablePairs().join("&");if(_1c.length>0){_19+=3D"flashvar=
s=3D\""+_1c+"\"";}_19+=3D"/>";}else{if(this.getAttribute("doExpressInstal=
l")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",t=
his.xiSWFPath);}_19=3D"<object id=3D\""+this.getAttribute("id")+"\" =
classid=3D\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\">";_19+=3D"<param =
name=3D\"movie\" value=3D\""+this.getAttribute("swf")+"\" />";var =
_1d=3Dthis.getParams();for(var key in _1d){_19+=3D"<param =
name=3D\""+key+"\" value=3D\""+_1d[key]+"\" />";}var =
_1f=3Dthis.getVariablePairs().join("&");if(_1f.length>0){_19+=3D"<param =
name=3D\"flashvars\" value=3D\""+_1f+"\" />";}_19+=3D"</object>";}return =
_19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var =
_21=3Dnew =
deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21=
)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.=
setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",es=
cape(this.getAttribute("xiRedirectUrl")));document.title=3Ddocument.title=
.slice(0,47)+" - Flash Player =
Installation";this.addVariable("MMdoctitle",document.title);}}if(this.ski=
pDetect||this.getAttribute("doExpressInstall")||this.installedVer.version=
IsValid(this.getAttribute("version"))){var n=3D(typeof =
_20=3D=3D"string")?document.getElementById(_20):_20;n.innerHTML=3Dthis.ge=
tSWFHTML();return =
true;}else{if(this.getAttribute("redirectUrl")!=3D""){document.location.r=
eplace(this.getAttribute("redirectUrl"));}}return =
false;}};deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(){var =
_23=3Dnew =
deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeType=
s.length){var x=3Dnavigator.plugins["Shockwave =
Flash"];if(x&&x.description){_23=3Dnew =
deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replac=
e(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&nav=
igator.userAgent.indexOf("Windows CE")>=3D0){var axo=3D1;var =
_26=3D3;while(axo){try{_26++;axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=3Dnew =
deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=3Dnull;}}}else{try{var =
axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var =
axo=3Dnew ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=3Dnew =
deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess=3D"always";}catch=
(e){if(_23.major=3D=3D6){return _23;}}try{axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=3Dnull=
){_23=3Dnew deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));}}}return =
_23;};deconcept.PlayerVersion=3Dfunction(_29){this.major=3D_29[0]!=3Dnull=
?parseInt(_29[0]):0;this.minor=3D_29[1]!=3Dnull?parseInt(_29[1]):0;this.r=
ev=3D_29[2]!=3Dnull?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototyp=
e.versionIsValid=3Dfunction(fv){if(this.major<fv.major){return =
false;}if(this.major>fv.major){return =
true;}if(this.minor<fv.minor){return =
false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return =
false;}return =
true;};deconcept.util=3D{getRequestParameter:function(_2b){var =
q=3Ddocument.location.search||document.location.hash;if(_2b=3D=3Dnull){re=
turn q;}if(q){var _2d=3Dq.substring(1).split("&");for(var =
i=3D0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("=3D"))=3D=3D=
_2b){return _2d[i].substring((_2d[i].indexOf("=3D")+1));}}}return =
"";}};deconcept.SWFObjectUtil.cleanupSWFs=3Dfunction(){var =
_2f=3Ddocument.getElementsByTagName("OBJECT");for(var =
i=3D_2f.length-1;i>=3D0;i--){_2f[i].style.display=3D"none";for(var x in =
_2f[i]){if(typeof =
_2f[i][x]=3D=3D"function"){_2f[i][x]=3Dfunction(){};}}}};if(deconcept.SWF=
Object.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.pre=
pUnload=3Dfunction(){__flash_unloadHandler=3Dfunction(){};__flash_savedUn=
loadHandler=3Dfunction(){};window.attachEvent("onunload",deconcept.SWFObj=
ectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFO=
bjectUtil.prepUnload);deconcept.unloadSet=3Dtrue;}}if(!document.getElemen=
tById&&document.all){document.getElementById=3Dfunction(id){return =
document.all[id];};}var =
getQueryParamValue=3Ddeconcept.util.getRequestParameter;var =
FlashObject=3Ddeconcept.SWFObject;var SWFObject=3Ddeconcept.SWFObject;
------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/AC_RunActiveContent.js

//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
var isIE  =3D (navigator.appVersion.indexOf("MSIE") !=3D -1) ? true : =
false;
var isWin =3D (navigator.appVersion.toLowerCase().indexOf("win") !=3D =
-1) ? true : false;
var isOpera =3D (navigator.userAgent.indexOf("Opera") !=3D -1) ? true : =
false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't =
in the registry

	try {
		// version will be set for 7.X or greater players
		axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version =3D axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
		=09
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through =
6.0.29,
			// so we have to be careful.=20
		=09
			// default to the first public version
			version =3D "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)	=09
			axo.AllowScriptAccess =3D "always";

			// safe to call for 6.0r47 or greater
			version =3D axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version =3D axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version =3D "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo =3D new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version =3D "WIN 2,0,0,11";
		} catch (e) {
			version =3D -1;
		}
	}
=09
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version =
information
function GetSwfVer(){
	// NS/Opera version >=3D 3 check for Flash plugin in plugin array
	var flashVer =3D -1;
=09
	if (navigator.plugins !=3D null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || =
navigator.plugins["Shockwave Flash"]) {
			var swVer2 =3D navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : =
"";
			var flashDescription =3D navigator.plugins["Shockwave Flash" + =
swVer2].description;
			var descArray =3D flashDescription.split(" ");
			var tempArrayMajor =3D descArray[2].split(".");		=09
			var versionMajor =3D tempArrayMajor[0];
			var versionMinor =3D tempArrayMajor[1];
			var versionRevision =3D descArray[3];
			if (versionRevision =3D=3D "") {
				versionRevision =3D descArray[4];
			}
			if (versionRevision[0] =3D=3D "d") {
				versionRevision =3D versionRevision.substring(1);
			} else if (versionRevision[0] =3D=3D "r") {
				versionRevision =3D versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision =3D versionRevision.substring(0, =
versionRevision.indexOf("d"));
				}
			}
			var flashVer =3D versionMajor + "." + versionMinor + "." + =
versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") !=3D =
-1) flashVer =3D 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") !=3D =
-1) flashVer =3D 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") !=3D -1) =
flashVer =3D 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer =3D ControlVersion();
	}=09
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true =
if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr =3D GetSwfVer();
	if (versionStr =3D=3D -1 ) {
		return false;
	} else if (versionStr !=3D 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         =3D versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        =3D tempArray[1];			// "2,0,0,11"
			versionArray      =3D tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      =3D versionStr.split(".");
		}
		var versionMajor      =3D versionArray[0];
		var versionMinor      =3D versionArray[1];
		var versionRevision   =3D versionArray[2];

        	// is the major.revision >=3D requested major.revision AND the =
minor version >=3D requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor =3D=3D parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor =3D=3D parseFloat(reqMinorVer)) {
				if (versionRevision >=3D parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') !=3D -1)
    return src.replace(/\?/, ext+'?');=20
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)=20
{=20
  var str =3D '';
  if (isIE && isWin && !isOpera)
  {
    str +=3D '<object ';
    for (var i in objAttrs)
    {
      str +=3D i + '=3D"' + objAttrs[i] + '" ';
    }
    str +=3D '>';
    for (var i in params)
    {
      str +=3D '<param name=3D"' + i + '" value=3D"' + params[i] + '" /> =
';
    }
    str +=3D '</object>';
  }
  else
  {
    str +=3D '<embed ';
    for (var i in embedAttrs)
    {
      str +=3D i + '=3D"' + embedAttrs[i] + '" ';
    }
    str +=3D '> </embed>';
  }

  document.write(str);
}

function AC_FL_RunContent(){
  var ret =3D=20
    AC_GetArgs
    (  arguments, ".swf", "movie", =
"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret =3D=20
    AC_GetArgs
    (  arguments, ".dcr", "src", =
"clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret =3D new Object();
  ret.embedAttrs =3D new Object();
  ret.params =3D new Object();
  ret.objAttrs =3D new Object();
  for (var i=3D0; i < args.length; i=3Di+2){
    var currArg =3D args[i].toLowerCase();   =20

    switch (currArg){=09
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] =3D args[i+1];
        break;
      case "src":
      case "movie":=09
        args[i+1] =3D AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] =3D args[i+1];
        ret.params[srcParamName] =3D args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] =3D args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace":=20
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] =3D ret.objAttrs[args[i]] =3D args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] =3D ret.params[args[i]] =3D args[i+1];
    }
  }
  ret.objAttrs["classid"] =3D classid;
  if (mimeType) ret.embedAttrs["type"] =3D mimeType;
  return ret;
}

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/js/SpryTabbedPanels.js

/* SpryTabbedPanels.js - Revision: Spry Preview Release 1.4 */

// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions =
are met:
//
//   * Redistributions of source code must retain the above copyright =
notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright =
notice,
//     this list of conditions and the following disclaimer in the =
documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of =
its
//     contributors may be used to endorse or promote products derived =
from this
//     software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS =
"AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, =
THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR =
PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS =
BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR =
BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER =
IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR =
OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED =
OF THE
// POSSIBILITY OF SUCH DAMAGE.

var Spry;
if (!Spry) Spry =3D {};
if (!Spry.Widget) Spry.Widget =3D {};

Spry.Widget.TabbedPanels =3D function(element, opts)
{
	this.element =3D this.getElement(element);
	this.defaultTab =3D 0; // Show the first panel by default.
	this.bindings =3D [];
	this.tabSelectedClass =3D "TabbedPanelsTabSelected";
	this.tabHoverClass =3D "TabbedPanelsTabHover";
	this.tabFocusedClass =3D "TabbedPanelsTabFocused";
	this.panelVisibleClass =3D "TabbedPanelsContentVisible";
	this.focusElement =3D null;
	this.hasFocus =3D false;
	this.currentTabIndex =3D 0;
	this.enableKeyboardNavigation =3D true;

	Spry.Widget.TabbedPanels.setOptions(this, opts);

	// If the defaultTab is expressed as a number/index, convert
	// it to an element.

	if (typeof (this.defaultTab) =3D=3D "number")
	{
		if (this.defaultTab < 0)
			this.defaultTab =3D 0;
		else
		{
			var count =3D this.getTabbedPanelCount();
			if (this.defaultTab >=3D count)
				this.defaultTab =3D (count > 1) ? (count - 1) : 0;
		}

		this.defaultTab =3D this.getTabs()[this.defaultTab];
	}

	// The defaultTab property is supposed to be the tab element for the =
tab content
	// to show by default. The caller is allowed to pass in the element =
itself or the
	// element's id, so we need to convert the current value to an element =
if necessary.

	if (this.defaultTab)
		this.defaultTab =3D this.getElement(this.defaultTab);

	this.attachBehaviors();
};

Spry.Widget.TabbedPanels.prototype.getElement =3D function(ele)
{
	if (ele && typeof ele =3D=3D "string")
		return document.getElementById(ele);
	return ele;
}

Spry.Widget.TabbedPanels.prototype.getElementChildren =3D =
function(element)
{
	var children =3D [];
	var child =3D element.firstChild;
	while (child)
	{
		if (child.nodeType =3D=3D 1 /* Node.ELEMENT_NODE */)
		    if (child.tagName !=3D "B") /* NMC Added to deal with random b's =
appearing and shitting stuff up */
    			children.push(child);
		child =3D child.nextSibling;
	}
	return children;
};

Spry.Widget.TabbedPanels.prototype.addClassName =3D function(ele, =
className)
{
	if (!ele || !className || (ele.className && ele.className.search(new =
RegExp("\\b" + className + "\\b")) !=3D -1))
		return;
	ele.className +=3D (ele.className ? " " : "") + className;
};

Spry.Widget.TabbedPanels.prototype.removeClassName =3D function(ele, =
className)
{
	if (!ele || !className || (ele.className && ele.className.search(new =
RegExp("\\b" + className + "\\b")) =3D=3D -1))
		return;
	ele.className =3D ele.className.replace(new RegExp("\\s*\\b" + =
className + "\\b", "g"), "");
};

Spry.Widget.TabbedPanels.setOptions =3D function(obj, optionsObj, =
ignoreUndefinedProps)
{
	if (!optionsObj)
		return;
	for (var optionName in optionsObj)
	{
		if (ignoreUndefinedProps && optionsObj[optionName] =3D=3D undefined)
			continue;
		obj[optionName] =3D optionsObj[optionName];
	}
};

Spry.Widget.TabbedPanels.prototype.getTabGroup =3D function()
{
	if (this.element)
	{
		var children =3D this.getElementChildren(this.element);
		if (children.length)
			return children[0];
	}
	return null;
};

Spry.Widget.TabbedPanels.prototype.getTabs =3D function()
{
	var tabs =3D [];
	var tg =3D this.getTabGroup();
	if (tg)
		tabs =3D this.getElementChildren(tg);
	return tabs;
};

Spry.Widget.TabbedPanels.prototype.getContentPanelGroup =3D function()
{
	if (this.element)
	{
		var children =3D this.getElementChildren(this.element);
		if (children.length > 1)
			return children[1];
	}
	return null;
};

Spry.Widget.TabbedPanels.prototype.getContentPanels =3D function()
{
	var panels =3D [];
	var pg =3D this.getContentPanelGroup();
	if (pg)
		panels =3D this.getElementChildren(pg);
	return panels;
};

Spry.Widget.TabbedPanels.prototype.getIndex =3D function(ele, arr)
{
	ele =3D this.getElement(ele);
	if (ele && arr && arr.length)
	{
		for (var i =3D 0; i < arr.length; i++)
		{
			if (ele =3D=3D arr[i])
				return i;
		}
	}
	return -1;
};

Spry.Widget.TabbedPanels.prototype.getTabIndex =3D function(ele)
{
	var i =3D this.getIndex(ele, this.getTabs());
	if (i < 0)
		i =3D this.getIndex(ele, this.getContentPanels());
	return i;
};

Spry.Widget.TabbedPanels.prototype.getCurrentTabIndex =3D function()
{
	return this.currentTabIndex;
};

Spry.Widget.TabbedPanels.prototype.getTabbedPanelCount =3D function(ele)
{
	return Math.min(this.getTabs().length, this.getContentPanels().length);
};

Spry.Widget.TabbedPanels.addEventListener =3D function(element, =
eventType, handler, capture)
{
	try
	{
		if (element.addEventListener)
			element.addEventListener(eventType, handler, capture);
		else if (element.attachEvent)
			element.attachEvent("on" + eventType, handler);
	}
	catch (e) {}
};

Spry.Widget.TabbedPanels.prototype.onTabClick =3D function(e, tab)
{
	this.showPanel(tab);
};

Spry.Widget.TabbedPanels.prototype.onTabMouseOver =3D function(e, tab)
{
	this.addClassName(tab, this.tabHoverClass);
};

Spry.Widget.TabbedPanels.prototype.onTabMouseOut =3D function(e, tab)
{
	this.removeClassName(tab, this.tabHoverClass);
};

Spry.Widget.TabbedPanels.prototype.onTabFocus =3D function(e, tab)
{
	this.hasFocus =3D true;
	this.addClassName(this.element, this.tabFocusedClass);
};

Spry.Widget.TabbedPanels.prototype.onTabBlur =3D function(e, tab)
{
	this.hasFocus =3D false;
	this.removeClassName(this.element, this.tabFocusedClass);
};

Spry.Widget.TabbedPanels.ENTER_KEY =3D 13;
Spry.Widget.TabbedPanels.SPACE_KEY =3D 32;

Spry.Widget.TabbedPanels.prototype.onTabKeyDown =3D function(e, tab)
{
	var key =3D e.keyCode;
	if (!this.hasFocus || (key !=3D Spry.Widget.TabbedPanels.ENTER_KEY && =
key !=3D Spry.Widget.TabbedPanels.SPACE_KEY))
		return true;

	this.showPanel(tab);

	if (e.stopPropagation)
		e.stopPropagation();
	if (e.preventDefault)
		e.preventDefault();

	return false;
};

Spry.Widget.TabbedPanels.prototype.preorderTraversal =3D function(root, =
func)
{
	var stopTraversal =3D false;
	if (root)
	{
		stopTraversal =3D func(root);
		if (root.hasChildNodes())
		{
			var child =3D root.firstChild;
			while (!stopTraversal && child)
			{
				stopTraversal =3D this.preorderTraversal(child, func);
				try { child =3D child.nextSibling; } catch (e) { child =3D null; }
			}
		}
	}
	return stopTraversal;
};

Spry.Widget.TabbedPanels.prototype.addPanelEventListeners =3D =
function(tab, panel)
{
	var self =3D this;
	Spry.Widget.TabbedPanels.addEventListener(tab, "click", function(e) { =
return self.onTabClick(e, tab); }, false);
	Spry.Widget.TabbedPanels.addEventListener(tab, "mouseover", function(e) =
{ return self.onTabMouseOver(e, tab); }, false);
	Spry.Widget.TabbedPanels.addEventListener(tab, "mouseout", function(e) =
{ return self.onTabMouseOut(e, tab); }, false);

	if (this.enableKeyboardNavigation)
	{
		// XXX: IE doesn't allow the setting of tabindex dynamically. This =
means we can't
		// rely on adding the tabindex attribute if it is missing to enable =
keyboard navigation
		// by default.

		// Find the first element within the tab container that has a tabindex =
or the first
		// anchor tag.
	=09
		var tabIndexEle =3D null;
		var tabAnchorEle =3D null;

		this.preorderTraversal(tab, function(node) {
			if (node.nodeType =3D=3D 1 /* NODE.ELEMENT_NODE */)
			{
				var tabIndexAttr =3D tab.attributes.getNamedItem("tabindex");
				if (tabIndexAttr)
				{
					tabIndexEle =3D node;
					return true;
				}
				if (!tabAnchorEle && node.nodeName.toLowerCase() =3D=3D "a")
					tabAnchorEle =3D node;
			}
			return false;
		});

		if (tabIndexEle)
			this.focusElement =3D tabIndexEle;
		else if (tabAnchorEle)
			this.focusElement =3D tabAnchorEle;

		if (this.focusElement)
		{
			Spry.Widget.TabbedPanels.addEventListener(this.focusElement, "focus", =
function(e) { return self.onTabFocus(e, tab); }, false);
			Spry.Widget.TabbedPanels.addEventListener(this.focusElement, "blur", =
function(e) { return self.onTabBlur(e, tab); }, false);
			Spry.Widget.TabbedPanels.addEventListener(this.focusElement, =
"keydown", function(e) { return self.onTabKeyDown(e, tab); }, false);
		}
	}
};

Spry.Widget.TabbedPanels.prototype.showPanel =3D =
function(elementOrIndex)
{
	var tpIndex =3D -1;
=09
	if (typeof elementOrIndex =3D=3D "number")
		tpIndex =3D elementOrIndex;
	else // Must be the element for the tab or content panel.
		tpIndex =3D this.getTabIndex(elementOrIndex);
=09
	if (!tpIndex < 0 || tpIndex >=3D this.getTabbedPanelCount())
		return;

	var tabs =3D this.getTabs();
	var panels =3D this.getContentPanels();

	var numTabbedPanels =3D Math.max(tabs.length, panels.length);

	for (var i =3D 0; i < numTabbedPanels; i++)
	{
		if (i !=3D tpIndex)
		{
			if (tabs[i])
				this.removeClassName(tabs[i], this.tabSelectedClass);
			if (panels[i])
			{
				this.removeClassName(panels[i], this.panelVisibleClass);
				panels[i].style.display =3D "none";
			}
		}
	}

	this.addClassName(tabs[tpIndex], this.tabSelectedClass);
	this.addClassName(panels[tpIndex], this.panelVisibleClass);
	panels[tpIndex].style.display =3D "block";

	this.currentTabIndex =3D tpIndex;
};

Spry.Widget.TabbedPanels.prototype.attachBehaviors =3D function(element)
{
	var tabs =3D this.getTabs();
	var panels =3D this.getContentPanels();
	var panelCount =3D this.getTabbedPanelCount();

	for (var i =3D 0; i < panelCount; i++)
		this.addPanelEventListeners(tabs[i], panels[i]);

	this.showPanel(this.defaultTab);
};

------=_NextPart_000_0000_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/WebResource.axd?d=3SijMgcdcORObqW3ZJLqZg2&t=633517254259843750

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;
    }
}
function WebForm_FireDefaultButton(event, target) {
        if (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") {
            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_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/ScriptResource.axd?d=SZxxWxVQthaHDRq4IAkrHUYqLrqFdgBrOOjw__WQqbv4jN2d5Y4Aad1r7Bw2-TwuF0WYKHB1ETwebEUHRzmZLVTlXbkNUQrhZDMqPDWDMiY1&t=633529369534987500

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.


Function.__typeName =3D 'Function';
Function.__class =3D true;

Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"context" mayBeNull=3D"true"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;


       =20
    return function() {
        var l =3D arguments.length;
        if (l > 0) {
                        var args =3D [];
            for (var i =3D 0; i < l; i++) {
                args[i] =3D arguments[i];
            }
            args[l] =3D context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}

Function.createDelegate =3D function Function$createDelegate(instance, =
method) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;


       =20
    return function() {
        return method.apply(instance, arguments);
    }
}

Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}

Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
                                                                         =
                                                          =20
    var e;

    e =3D Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }

    for (var i=3D0; i < params.length; i++) {
                                var expectedParam =3D =
expectedParams[Math.min(i, expectedParams.length - 1)];

        var paramName =3D expectedParam.name;
        if (expectedParam.parameterArray) {
                        paramName +=3D "[" + (i - expectedParams.length =
+ 1) + "]";
        }

        e =3D Function._validateParameter(params[i], expectedParam, =
paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }


    return null;
}

Function._validateParameterCount =3D function =
Function$_validateParameterCount(params, expectedParams) {
    var maxParams =3D expectedParams.length;
    var minParams =3D 0;
    for (var i=3D0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams =3D Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }

    if (params.length < minParams || params.length > maxParams) {
        var e =3D Error.parameterCount();
        e.popStackFrame();
        return e;
    }

    return null;
}

Function._validateParameter =3D function =
Function$_validateParameter(param, expectedParam, paramName) {
    var e;

    var expectedType =3D expectedParam.type;
    var expectedInteger =3D !!expectedParam.integer;
    var expectedDomElement =3D !!expectedParam.domElement;
    var mayBeNull =3D !!expectedParam.mayBeNull;

    e =3D Function._validateParameterType(param, expectedType, =
expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }

        var expectedElementType =3D expectedParam.elementType;
    var elementMayBeNull =3D !!expectedParam.elementMayBeNull;
    if (expectedType =3D=3D=3D Array && typeof(param) !=3D=3D =
"undefined" && param !=3D=3D null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger =3D !!expectedParam.elementInteger;
        var expectedElementDomElement =3D =
!!expectedParam.elementDomElement;
        for (var i=3D0; i < param.length; i++) {
            var elem =3D param[i];
            e =3D Function._validateParameterType(elem, =
expectedElementType,
                expectedElementInteger, expectedElementDomElement, =
elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }

    return null;
}

Function._validateParameterType =3D function =
Function$_validateParameterType(param, expectedType, expectedInteger, =
expectedDomElement, mayBeNull, paramName) {
    var e;

    if (typeof(param) =3D=3D=3D "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (param =3D=3D=3D null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (expectedType && expectedType.__enum) {
        if (typeof(param) !=3D=3D 'number') {
            e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) =3D=3D=3D 0) {
            var values =3D expectedType.prototype;
            if (!expectedType.__flags || (param =3D=3D=3D 0)) {
                for (var i in values) {
                    if (values[i] =3D=3D=3D param) return null;
                }
            }
            else {
                var v =3D param;
                for (var i in values) {
                    var vali =3D values[i];
                    if (vali =3D=3D=3D 0) continue;
                    if ((vali & param) =3D=3D=3D vali) {
                        v -=3D vali;
                    }
                    if (v =3D=3D=3D 0) return null;
                }
            }
        }
        e =3D Error.argumentOutOfRange(paramName, param, =
String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }

                    if (expectedDomElement && (param !=3D=3D window) && =
(param !=3D=3D document) &&
        !(window.HTMLElement && (param instanceof HTMLElement)) &&
        (typeof(param.nodeName) !=3D=3D 'string')) {

        e =3D Error.argument(paramName, Sys.Res.argumentDomElement);
        e.popStackFrame();
        return e;
    }

        if (expectedType && !expectedType.isInstanceOfType(param)) {
        e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
        e.popStackFrame();
        return e;
    }

    if (expectedType =3D=3D=3D Number && expectedInteger) {
                        if ((param % 1) !=3D=3D 0) {
            e =3D Error.argumentOutOfRange(paramName, param, =
Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }

    return null;
}
Error.__typeName =3D 'Error';
Error.__class =3D true;

Error.create =3D function Error$create(message, errorInfo) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"errorInfo" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Error"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: =
true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


            var e =3D new Error(message);
    e.message =3D message;

    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] =3D errorInfo[v];
        }
    }

    e.popStackFrame();
    return e;
}

Error.argument =3D function Error$argument(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentException: " + (message ? =
message : Sys.Res.argument);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentNull =3D function Error$argumentNull(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentNullException: " + (message ? =
message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentOutOfRange =3D function =
Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualValue" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentOutOfRangeException: " + =
(message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

                if (typeof(actualValue) !=3D=3D "undefined" && =
actualValue !=3D=3D null) {
        displayMessage +=3D "\n" + String.format(Sys.Res.actualValue, =
actualValue);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}

Error.argumentType =3D function Error$argumentType(paramName, =
actualType, expectedType, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"expectedType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualType", type: Type, mayBeNull: true, optional: =
true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage +=3D message;
    }
    else if (actualType && expectedType) {
        displayMessage +=3D
            String.format(Sys.Res.argumentTypeWithTypes, =
actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage +=3D Sys.Res.argumentType;
    }

    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}

Error.argumentUndefined =3D function Error$argumentUndefined(paramName, =
message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentUndefinedException: " + (message =
? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.format =3D function Error$format(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.FormatException: " + (message ? message =
: Sys.Res.format);
    var e =3D Error.create(displayMessage, {name: =
'Sys.FormatException'});
    e.popStackFrame();
    return e;
}

Error.invalidOperation =3D function Error$invalidOperation(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.InvalidOperationException: " + (message =
? message : Sys.Res.invalidOperation);

    var e =3D Error.create(displayMessage, {name: =
'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}

Error.notImplemented =3D function Error$notImplemented(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.NotImplementedException: " + (message ? =
message : Sys.Res.notImplemented);

    var e =3D Error.create(displayMessage, {name: =
'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}

Error.parameterCount =3D function Error$parameterCount(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ParameterCountException: " + (message ? =
message : Sys.Res.parameterCount);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}

Error.prototype.popStackFrame =3D function Error$popStackFrame() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

                           =20
    if (typeof(this.stack) =3D=3D=3D "undefined" || this.stack =3D=3D=3D =
null ||
        typeof(this.fileName) =3D=3D=3D "undefined" || this.fileName =
=3D=3D=3D null ||
        typeof(this.lineNumber) =3D=3D=3D "undefined" || this.lineNumber =
=3D=3D=3D null) {
        return;
    }

    var stackFrames =3D this.stack.split("\n");

                var currentFrame =3D stackFrames[0];
    var pattern =3D this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !=3D=3D "undefined" &&
          currentFrame !=3D=3D null &&
          currentFrame.indexOf(pattern) =3D=3D=3D -1) {
        stackFrames.shift();
        currentFrame =3D stackFrames[0];
    }

    var nextFrame =3D stackFrames[1];

        if (typeof(nextFrame) =3D=3D=3D "undefined" || nextFrame =
=3D=3D=3D null) {
        return;
    }

        var nextFrameParts =3D nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) =3D=3D=3D "undefined" || nextFrameParts =
=3D=3D=3D null) {
        return;
    }

    this.fileName =3D nextFrameParts[1];

        this.lineNumber =3D parseInt(nextFrameParts[2]);

    stackFrames.shift();
    this.stack =3D stackFrames.join("\n");
}
if (!window) this.window =3D this;

window.Type =3D Function;

window.__rootNamespaces =3D [];
window.__registeredTypes =3D {};

Type.__fullyQualifiedIdentifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");

Type.prototype.callBaseMethod =3D function Type$callBaseMethod(instance, =
name, baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    var baseMethod =3D this.getBaseMethod(instance, name);
    if (!baseMethod) throw =
Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}

Type.prototype.getBaseMethod =3D function Type$getBaseMethod(instance, =
name) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Function" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    var baseType =3D this.getBaseType();
    if (baseType) {
        var baseMethod =3D baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }

    return null;
}

Type.prototype.getBaseType =3D function Type$getBaseType() {
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__baseType) =3D=3D=3D "undefined") ? null : =
this.__baseType;
}

Type.prototype.getInterfaces =3D function Type$getInterfaces() {
    /// <returns type=3D"Array" elementType=3D"Type" mayBeNull=3D"false" =
elementMayBeNull=3D"false"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var result =3D [];
    var type =3D this;
    while(type) {
        var interfaces =3D type.__interfaces;
        if (interfaces) {
            for (var i =3D 0, l =3D interfaces.length; i < l; i++) {
                var interfaceType =3D interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] =3D interfaceType;
                }
            }
        }
        type =3D type.__baseType;
    }
    return result;
}

Type.prototype.getName =3D function Type$getName() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__typeName) =3D=3D=3D "undefined") ? "" : =
this.__typeName;
}

Type.prototype.implementsInterface =3D function =
Type$implementsInterface(interfaceType) {
    /// <param name=3D"interfaceType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();

    var interfaceName =3D interfaceType.getName();
    var cache =3D this.__interfaceCache;
    if (cache) {
        var cacheEntry =3D cache[interfaceName];
        if (typeof(cacheEntry) !=3D=3D 'undefined') return cacheEntry;
    }
    else {
        cache =3D this.__interfaceCache =3D {};
    }

    var baseType =3D this;
    while (baseType) {
        var interfaces =3D baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !=3D=3D -1) {
                return cache[interfaceName] =3D true;
            }
        }

        baseType =3D baseType.__baseType;
    }

    return cache[interfaceName] =3D false;
}

Type.prototype.inheritsFrom =3D function Type$inheritsFrom(parentType) {
    /// <param name=3D"parentType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();
    var baseType =3D this.__baseType;
    while (baseType) {
        if (baseType =3D=3D=3D parentType) {
            return true;
        }
        baseType =3D baseType.__baseType;
    }

    return false;
}

Type.prototype.initializeBase =3D function Type$initializeBase(instance, =
baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);

    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }

    return instance;
}

Type.prototype.isImplementedBy =3D function =
Type$isImplementedBy(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.isInstanceOfType =3D function =
Type$isInstanceOfType(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    if (instance instanceof this) return true;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType =3D=3D=3D this) ||
           (instanceType.inheritsFrom && =
instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.registerClass =3D function Type$registerClass(typeName, =
baseType, interfaceTypes) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <param name=3D"baseType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"interfaceTypes" parameterArray=3D"true" =
type=3D"Type"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));

            if ((arguments.length > 1) && (typeof(baseType) =3D=3D=3D =
'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', =
Sys.Res.baseNotAClass);

    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__class =3D true;
    if (baseType) {
        this.__baseType =3D baseType;
        this.__basePrototypePending =3D true;
    }
        if (!window.__classes) window.__classes =3D {};
    window.__classes[typeName.toUpperCase()] =3D this;

                if (interfaceTypes) {
        this.__interfaces =3D [];
        for (var i =3D 2; i < arguments.length; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            this.resolveInheritance();
            for (var methodName in interfaceType.prototype) {
                var method =3D interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] =3D method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    if (this.__basePrototypePending) {
        var baseType =3D this.__baseType;

        baseType.resolveInheritance();

        for (var memberName in baseType.prototype) {
            var memberValue =3D baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] =3D memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}

Type.getRootNamespaces =3D function Type$getRootNamespaces() {
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(window.__rootNamespaces);
}

Type.isClass =3D function Type$isClass(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__class;
}

Type.isInterface =3D function Type$isInterface(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__interface;
}

Type.isNamespace =3D function Type$isNamespace(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(object) =3D=3D=3D 'undefined') || (object =3D=3D=3D =
null)) return false;
    return !!object.__namespace;
}

Type.parse =3D function Type$parse(typeName, ns) {
    /// <param name=3D"typeName" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"ns" optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var fn;
    if (ns) {
        if (!window.__classes) return null;
        fn =3D window.__classes[ns.getName().toUpperCase() + '.' + =
typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses =3D {};
    }
    fn =3D Type.__htClasses[typeName];
    if (!fn) {
        fn =3D eval(typeName);
        if (typeof(fn) !=3D=3D 'function') throw =
Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] =3D fn;
    }
    return fn;
}

Type.registerNamespace =3D function =
Type$registerNamespace(namespacePath) {
    /// <param name=3D"namespacePath" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) =
throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject =3D window;
    var namespaceParts =3D namespacePath.split('.');

    for (var i =3D 0; i < namespaceParts.length; i++) {
        var currentPart =3D namespaceParts[i];
        var ns =3D rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw =
Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, =
namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns =3D rootObject[currentPart] =3D {};
            if (i =3D=3D=3D 0) {
                window.__rootNamespaces[window.__rootNamespaces.length] =
=3D ns;
            }
            ns.__namespace =3D true;
            ns.__typeName =3D namespaceParts.slice(0, i + 1).join('.');
            var parsedName;
            try {
                parsedName =3D eval(ns.__typeName);
            }
            catch(e) {
                parsedName =3D null;
            }
            if (parsedName !=3D=3D ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', =
Sys.Res.invalidNameSpace);
            }
            ns.getName =3D function ns$getName() {return =
this.__typeName;}
        }
        rootObject =3D ns;
    }
}
Object.__typeName =3D 'Object';
Object.__class =3D true;

Object.getType =3D function Object$getType(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    var ctor =3D instance.constructor;
    if (!ctor || (typeof(ctor) !=3D=3D "function") || !ctor.__typeName =
|| (ctor.__typeName =3D=3D=3D 'Object')) {
        return Object;
    }
    return ctor;
}

Object.getTypeName =3D function Object$getTypeName(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    return Object.getType(instance).getName();
}
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;

Boolean.parse =3D function Boolean$parse(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    var v =3D value.trim().toLowerCase();
    if (v =3D=3D=3D 'false') return false;
    if (v =3D=3D=3D 'true') return true;
    throw Error.argumentOutOfRange('value', value, =
Sys.Res.boolTrueOrFalse);
}
Date.__typeName =3D 'Date';
Date.__class =3D true;

Date._appendPreOrPostMatch =3D function =
Date$_appendPreOrPostMatch(preMatch, strBuilder) {
                var quoteCount =3D 0;
    var escaped =3D false;
    for (var i =3D 0, il =3D preMatch.length; i < il; i++) {
        var c =3D preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped =3D false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped =3D !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped =3D false;
            break;
        }
    }
    return quoteCount;
}

Date._expandFormat =3D function Date$_expandFormat(dtf, format) {
        if (!format) {
        format =3D "F";
    }
    if (format.length =3D=3D=3D 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}

Date._expandYear =3D function Date$_expandYear(dtf, year) {
        if (year < 100) {
        var curr =3D new Date().getFullYear();
        year +=3D curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}

Date._getParseRegExp =3D function Date$_getParseRegExp(dtf, format) {
                if (!dtf._parseRegExp) {
        dtf._parseRegExp =3D {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }

        var expFormat =3D Date._expandFormat(dtf, format);
    expFormat =3D expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, =
"\\\\$1");

    var regexp =3D new Sys.StringBuilder("^");
    var groups =3D [];
    var index =3D 0;
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    var match;

        while ((match =3D tokenRegExp.exec(expFormat)) !=3D=3D null) {
        var preMatch =3D expFormat.slice(index, match.index);
        index =3D tokenRegExp.lastIndex;

                quoteCount +=3D Date._appendPreOrPostMatch(preMatch, =
regexp);
        if ((quoteCount%2) =3D=3D=3D 1) {
            regexp.append(match[0]);
            continue;
        }

                switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.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':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
        var regexpStr =3D regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp =3D {'regExp': regexpStr, 'groups': groups};
        dtf._parseRegExp[format] =3D parseRegExp;
    return parseRegExp;
}

Date._getTokenRegExp =3D function Date$_getTokenRegExp() {
        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 =3D function Date$parseLocale(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.CurrentCulture, =
arguments);
}

Date.parseInvariant =3D function Date$parseInvariant(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.InvariantCulture, =
arguments);
}

Date._parse =3D function Date$_parse(value, cultureInfo, args) {
            var custom =3D false;
    for (var i =3D 1, il =3D args.length; i < il; i++) {
        var format =3D args[i];
        if (format) {
            custom =3D true;
            var date =3D Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
        if (! custom) {
        var formats =3D cultureInfo._getDateTimeFormats();
        for (var i =3D 0, il =3D formats.length; i < il; i++) {
            var date =3D Date._parseExact(value, formats[i], =
cultureInfo);
            if (date) return date;
        }
    }
    return null;
}

Date._parseExact =3D function Date$_parseExact(value, format, =
cultureInfo) {
            value =3D value.trim();
    var dtf =3D cultureInfo.dateTimeFormat;

            var parseInfo =3D Date._getParseRegExp(dtf, format);
    var match =3D new RegExp(parseInfo.regExp).exec(value);
        if (match !=3D=3D null) {
        var groups =3D parseInfo.groups;
        var year =3D null, month =3D null, date =3D null, weekDay =3D =
null;
        var hour =3D 0, min =3D 0, sec =3D 0, msec =3D 0, tzMinOffset =
=3D null;
        var pmHour =3D false;
                for (var j =3D 0, jl =3D groups.length; j < jl; j++) {
            var matchGroup =3D match[j+1];
            if (matchGroup) {
                switch (groups[j]) {
                    case 'dd': case 'd':
                                                date =3D =
Date._parseInt(matchGroup);
                                                if ((date < 1) || (date =
> 31)) return null;
                        break;
                    case 'MMMM':
                                                month =3D =
cultureInfo._getMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'MMM':
                                                month =3D =
cultureInfo._getAbbrMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'M': case 'MM':
                                                var month =3D =
Date._parseInt(matchGroup) - 1;
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'y': case 'yy':
                                                year =3D =
Date._expandYear(dtf,Date._parseInt(matchGroup));
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'yyyy':
                                                year =3D =
Date._parseInt(matchGroup);
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'h': case 'hh':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if (hour =3D=3D=3D 12) hour =3D 0;
                        if ((hour < 0) || (hour > 11)) return null;
                        break;
                    case 'H': case 'HH':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if ((hour < 0) || (hour > 23)) return null;
                        break;
                    case 'm': case 'mm':
                                                min =3D =
Date._parseInt(matchGroup);
                        if ((min < 0) || (min > 59)) return null;
                        break;
                    case 's': case 'ss':
                                                sec =3D =
Date._parseInt(matchGroup);
                        if ((sec < 0) || (sec > 59)) return null;
                        break;
                    case 'tt': case 't':
                                                var upperToken =3D =
matchGroup.toUpperCase();
                        pmHour =3D (upperToken =3D=3D=3D =
dtf.PMDesignator.toUpperCase());
                        if (!pmHour && (upperToken !=3D=3D =
dtf.AMDesignator.toUpperCase())) return null;
                        break;
                    case 'f':
                                                msec =3D =
Date._parseInt(matchGroup) * 100;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'ff':
                                                msec =3D =
Date._parseInt(matchGroup) * 10;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'fff':
                                                msec =3D =
Date._parseInt(matchGroup);
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'dddd':
                                                weekDay =3D =
cultureInfo._getDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'ddd':
                                                weekDay =3D =
cultureInfo._getAbbrDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'zzz':
                                                var offsets =3D =
matchGroup.split(/:/);
                        if (offsets.length !=3D=3D 2) return null;
                        var hourOffset =3D Date._parseInt(offsets[0]);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        var minOffset =3D Date._parseInt(offsets[1]);
                        if ((minOffset < 0) || (minOffset > 59)) return =
null;
                        tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                        break;
                    case 'z': case 'zz':
                                                var hourOffset =3D =
Date._parseInt(matchGroup);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        tzMinOffset =3D hourOffset * 60;
                        break;
                }
            }
        }
        var result =3D new Date();
        if (year =3D=3D=3D null) {
            year =3D result.getFullYear();
        }
        if (month =3D=3D=3D null) {
            month =3D result.getMonth();
        }
        if (date =3D=3D=3D null) {
            date =3D result.getDate();
        }
                result.setFullYear(year, month, date);
                if (result.getDate() !=3D=3D date) return null;
                if ((weekDay !=3D=3D null) && (result.getDay() !=3D=3D =
weekDay)) {
            return null;
        }
                if (pmHour && (hour < 12)) {
            hour +=3D 12;
        }
        result.setHours(hour, min, sec, msec);
        if (tzMinOffset !=3D=3D null) {
                        var adjustedMin =3D result.getMinutes() - =
(tzMinOffset + result.getTimezoneOffset());
                                                =
result.setHours(result.getHours() + parseInt(adjustedMin/60), =
adjustedMin%60);
        }
        return result;
    }
}

Date._parseInt =3D function Date$_parseInt(value) {
        return parseInt(value.replace(/^[\s0]+(\d+)$/,"$1"));
}

Date.prototype.format =3D function Date$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}

Date.prototype.localeFormat =3D function Date$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}

Date.prototype._toFormattedString =3D function =
Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

    var dtf =3D cultureInfo.dateTimeFormat;
    format =3D Date._expandFormat(dtf, format);

        var ret =3D new Sys.StringBuilder();
    var hour;

    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }

    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }

    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    for (;;) {

                var index =3D tokenRegExp.lastIndex;

                var ar =3D tokenRegExp.exec(format);

                var preMatch =3D format.slice(index, ar ? ar.index : =
format.length);
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, ret);

        if (!ar) break;

                if ((quoteCount%2) =3D=3D=3D 1) {
            ret.append(ar[0]);
            continue;
        }

        switch (ar[0]) {
        case "dddd":
                        ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
                        =
ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
                        ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
                        ret.append(this.getDate());
            break;
        case "MMMM":
                        ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
                        =
ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
                        ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
                        ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
                        ret.append(this.getFullYear());
            break;
        case "yy":
                        ret.append(addLeadingZero(this.getFullYear() % =
100));
            break;
        case "y":
                        ret.append(this.getFullYear() % 100);
            break;
        case "hh":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(hour);
            break;
        case "HH":
                        ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
                        ret.append(this.getHours());
            break;
        case "mm":
                        ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
                        ret.append(this.getMinutes());
            break;
        case "ss":
                        ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
                        ret.append(this.getSeconds());
            break;
        case "tt":
                        ret.append((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator);
            break;
        case "t":
                        ret.append(((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator).charAt(0));
            break;
        case "f":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2));
            break;
        case "fff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
Math.floor(Math.abs(hour)));
            break;
        case "zz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + =
addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
Number.__typeName =3D 'Number';
Number.__class =3D true;

Number.parseLocale =3D function Number$parseLocale(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant =3D function Number$parseInvariant(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse =3D function Number$_parse(value, cultureInfo) {
            var valueStr =3D value.trim();
    if (valueStr.match(/infinity/i) !=3D=3D null) {
        return parseFloat(valueStr);
    }
    if (valueStr.match(/^0x[a-f0-9]+$/i) !=3D=3D null) {
        return parseInt(valueStr);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var decSeparator =3D numFormat.NumberDecimalSeparator;
    var grpSeparator =3D numFormat.NumberGroupSeparator;

            var numberFormatRegex =3D new RegExp("^[+-]?[\\d\\" + =
grpSeparator + "]*\\" + decSeparator + "?\\d*([eE][+-]?\\d+)?$");
    if (!valueStr.match(numberFormatRegex)) {
        return Number.NaN;
    }

        valueStr =3D valueStr.split(grpSeparator).join("");

        valueStr =3D valueStr.replace(decSeparator, ".");

    return parseFloat(valueStr);
}

Number.prototype.format =3D function Number$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat =3D function Number$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString =3D function =
Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

        var _percentPositivePattern =3D ["n %", "n%", "%n" ];
    var _percentNegativePattern =3D ["-n %", "-n%", "-%n"];
    var _numberNegativePattern =3D ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern =3D ["$n","n$","$ n","n $"];
    var _currencyNegativePattern =3D =
["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n =
$-","$ n-","$ -n","n- $","($ n)","(n $)"];

        function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;

                var numberString =3D number.toString();
        var right =3D "";
        var exponent =3D "";
                var decimalSplit =3D numberString.split('.');
        if (decimalSplit.length > 1) {
            numberString =3D decimalSplit[0];
            right =3D decimalSplit[1];
                        var exponentSplit =3D right.split(/e/i);
            if (exponentSplit.length > 1) {
                right =3D exponentSplit[0];
                exponent =3D "e" + exponentSplit[1];
            }
        }

                if (precision > 0) {
                        var rightDifference =3D right.length - =
precision;
            if (rightDifference > 0) {
                right =3D right.slice(0, precision);
            } else if (rightDifference < 0) {
                for (var i=3D0; i<Math.abs(rightDifference); i++) {
                    right +=3D '0';
                }
            }

                        right =3D decimalChar + right;
        }
        else {             right =3D "";
        }
        right +=3D exponent;

        var stringIndex =3D numberString.length-1;
        var ret =3D "";
        while (stringIndex >=3D 0) {

                        if (curSize =3D=3D=3D 0 || curSize > =
stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep =
+ ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + =
right;
            }

            if (ret.length > 0)
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1) + sep + ret;
            else
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1);

            stringIndex -=3D curSize;

            if (curGroupIndex < groupSizes.length) {
                curSize =3D groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + =
right;
    }
    var nf =3D cultureInfo.numberFormat;

        var number =3D Math.abs(this);

        if (!format)
        format =3D "D";

    var precision =3D -1;
    if (format.length > 1) precision =3D parseInt(format.slice(1));

    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';

                if (precision !=3D=3D -1) {
            var numberStr =3D ""+number;
            var zerosToAdd =3D precision - numberStr.length;
            if (zerosToAdd > 0) {
                for (var i=3D0; i<zerosToAdd; i++) {
                    numberStr =3D '0'+numberStr;
                }
            }
            number =3D numberStr;
        }

                if (this < 0) number =3D -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern =3D =
_currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern =3D =
_currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.CurrencyDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, =
nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern =3D =
_numberNegativePattern[nf.NumberNegativePattern];
        else pattern =3D 'n';
        if (precision =3D=3D=3D -1) precision =3D =
nf.NumberDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.NumberGroupSizes, nf.NumberGroupSeparator, =
nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern =3D =
_percentNegativePattern[nf.PercentNegativePattern];
        else pattern =3D =
_percentPositivePattern[nf.PercentPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.PercentDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.PercentGroupSizes, nf.PercentGroupSeparator, =
nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }

    var regex =3D /n|\$|-|%/g;

        var ret =3D "";

    for (;;) {

                var index =3D regex.lastIndex;

                var ar =3D regex.exec(pattern);

                ret +=3D pattern.slice(index, ar ? ar.index : =
pattern.length);

        if (!ar)
            break;

        switch (ar[0]) {
        case "n":
            ret +=3D number;
            break;
        case "$":
            ret +=3D nf.CurrencySymbol;
            break;
        case "-":
            ret +=3D nf.NegativeSign;
            break;
        case "%":
            ret +=3D nf.PercentSymbol;
            break;
        }
    }

    return ret;
}
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
Array.__typeName =3D 'Array';
Array.__class =3D true;

Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;


        array[array.length] =3D item;
}

Array.addRange =3D function Array$addRange(array, items) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"items" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;


        array.push.apply(array, items);
}

Array.clear =3D function Array$clear(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    array.length =3D 0;
}

Array.clone =3D function Array$clone(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (array.length =3D=3D=3D 1) {
        return [array[0]];
    }
    else {
                        return Array.apply(null, array);
    }
}

Array.contains =3D function Array$contains(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    return (Array.indexOf(array, item) >=3D 0);
}

Array.dequeue =3D function Array$dequeue(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    return array.shift();
}

Array.forEach =3D function Array$forEach(array, method, instance) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"instance" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    for (var i =3D 0, l =3D array.length; i < l; i++) {
        var elt =3D array[i];
        if (typeof(elt) !=3D=3D 'undefined') method.call(instance, elt, =
i, array);
    }
}

Array.indexOf =3D function Array$indexOf(array, item, start) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"start" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if (typeof(item) =3D=3D=3D "undefined") return -1;
    var length =3D array.length;
    if (length !=3D=3D 0) {
                start =3D start - 0;
                if (isNaN(start)) {
            start =3D 0;
        }
        else {
                                    if (isFinite(start)) {
                                start =3D start - (start % 1);
            }
                        if (start < 0) {
                start =3D Math.max(0, length + start);
            }
        }

                for (var i =3D start; i < length; i++) {
            if ((typeof(array[i]) !=3D=3D "undefined") && (array[i] =
=3D=3D=3D item)) {
                return i;
            }
        }
    }
    return -1;
}

Array.insert =3D function Array$insert(array, index, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 0, item);
}

Array.parse =3D function Array$parse(value) {
    /// <param name=3D"value" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    if (!value) return [];
    var v =3D eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', =
Sys.Res.arrayParseBadFormat);
    return v;
}

Array.remove =3D function Array$remove(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    var index =3D Array.indexOf(array, item);
    if (index >=3D 0) {
        array.splice(index, 1);
    }
    return (index >=3D 0);
}

Array.removeAt =3D function Array$removeAt(array, index) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 1);
}
String.__typeName =3D 'String';
String.__class =3D true;

String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <param name=3D"suffix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(this.length - suffix.length) =3D=3D=3D suffix);
}

String.prototype.startsWith =3D function String$startsWith(prefix) {
    /// <param name=3D"prefix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(0, prefix.length) =3D=3D=3D prefix);
}

String.prototype.trim =3D function String$trim() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}

String.prototype.trimEnd =3D function String$trimEnd() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}

String.prototype.trimStart =3D function String$trimStart() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}

String.format =3D function String$format(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(false, arguments);
}

String.localeFormat =3D function String$localeFormat(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(true, arguments);
}

String._toFormattedString =3D function =
String$_toFormattedString(useLocale, args) {
    var result =3D '';
    var format =3D args[0];

    for (var i=3D0;;) {
                var open =3D format.indexOf('{', i);
        var close =3D format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
                        result +=3D format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
                        if (format.charAt(close + 1) !=3D=3D '}') {
                throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
            }
            result +=3D format.slice(i, close + 1);
            i =3D close + 2;
            continue;
        }

                result +=3D format.slice(i, open);
        i =3D open + 1;

                if (format.charAt(i) =3D=3D=3D '{') {
            result +=3D '{';
            i++;
            continue;
        }

                if (close < 0) throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);

       =20
                var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex)) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', =
Sys.Res.stringFormatInvalid);
        var argFormat =3D (colonIndex < 0)? '' : =
brace.substring(colonIndex + 1);

        var arg =3D args[argNumber];
        if (typeof(arg) =3D=3D=3D "undefined" || arg =3D=3D=3D null) {
            arg =3D '';
        }

                if (arg.toFormattedString) {
            result +=3D arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result +=3D arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result +=3D arg.format(argFormat);
        }
        else
            result +=3D arg.toString();

        i =3D close + 1;
    }

    return result;
}

Type.registerNamespace('Sys');
Sys.IDisposable =3D function Sys$IDisposable() {
    throw Error.notImplemented();
}

    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype =3D {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <param name=3D"initialText" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    this._parts =3D (typeof(initialText) !=3D=3D 'undefined' && =
initialText !=3D=3D null && initialText !=3D=3D '') ?
        [initialText.toString()] : [];
    this._value =3D {};
    this._len =3D 0;
}


    function Sys$StringBuilder$append(text) {
        /// <param name=3D"text" mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D text;
    }

    function Sys$StringBuilder$appendLine(text) {
        /// <param name=3D"text" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D
            ((typeof(text) =3D=3D=3D 'undefined') || (text =3D=3D=3D =
null) || (text =3D=3D=3D '')) ?
            '\r\n' : text + '\r\n';
    }

    function Sys$StringBuilder$clear() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }

    function Sys$StringBuilder$isEmpty() {
        /// <returns type=3D"Boolean"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parts.length =3D=3D=3D 0) return true;
        return this.toString() =3D=3D=3D '';
    }



    function Sys$StringBuilder$toString(separator) {
        /// <param name=3D"separator" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        separator =3D separator || '';
        var parts =3D this._parts;
        if (this._len !=3D=3D parts.length) {
            this._value =3D {};
            this._len =3D parts.length;
        }
        var val =3D this._value;
        if (typeof(val[separator]) =3D=3D=3D 'undefined') {
                        if (separator !=3D=3D '') {
                for (var i =3D 0; i < parts.length;) {
                    if ((typeof(parts[i]) =3D=3D=3D 'undefined') || =
(parts[i] =3D=3D=3D '') || (parts[i] =3D=3D=3D null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] =3D this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype =3D {
    append: Sys$StringBuilder$append,

    appendLine: Sys$StringBuilder$appendLine,

    clear: Sys$StringBuilder$clear,

    isEmpty: Sys$StringBuilder$isEmpty,

            toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ];
	   =20
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlHttp =3D new ActiveXObject(progIDs[i]);
                return xmlHttp;
            }
            catch (ex) {
            }
        }
	   =20
        return null;
    }
}

Sys.Browser =3D {};

Sys.Browser.InternetExplorer =3D {};
Sys.Browser.Firefox =3D {};
Sys.Browser.Safari =3D {};
Sys.Browser.Opera =3D {};

Sys.Browser.agent =3D null;
Sys.Browser.hasDebuggerStatement =3D false;
Sys.Browser.name =3D navigator.appName;
Sys.Browser.version =3D parseFloat(navigator.appVersion);

if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent =3D Sys.Browser.InternetExplorer;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Firefox;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Firefox';
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Safari/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Safari\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Opera;
}


Type.registerNamespace('Sys.UI');

Sys._Debug =3D function Sys$_Debug() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}


    function Sys$_Debug$_appendConsole(text) {
                if ((typeof(Debug) !=3D=3D 'undefined') && =
Debug.writeln) {
            Debug.writeln(text);
        }
                if (window.console && window.console.log) {
            window.console.log(text);
        }
                if (window.opera) {
            window.opera.postError(text);
        }
                if (window.debugService) {
            window.debugService.trace(text);
        }
    }

    function Sys$_Debug$_appendTrace(text) {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value +=3D text + '\n';
        }
    }

    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <param name=3D"condition" type=3D"Boolean"></param>
        /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"displayCaller" type=3D"Boolean" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: =
true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;

        if (!condition) {
            message =3D (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, =
this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);

            if (confirm(String.format(Sys.Res.breakIntoDebugger, =
message))) {
                this.fail(message);
            }
        }
    }

    function Sys$_Debug$clearTrace() {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }

    function Sys$_Debug$fail(message) {
        /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;

        this._appendConsole(message);

                if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }

    function Sys$_Debug$trace(text) {
        /// <param name=3D"text"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;

        this._appendConsole(text);
        this._appendTrace(text);
    }

    function Sys$_Debug$traceDump(object, name) {
        /// <param name=3D"object" mayBeNull=3D"true"></param>
        /// <param name=3D"name" type=3D"String" mayBeNull=3D"true" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        var text =3D this._traceDump(object, name, true);
    }

    function Sys$_Debug$_traceDump(object, name, recursive, =
indentationPadding, loopArray) {
        name =3D name? name : 'traceDump';
        indentationPadding =3D indentationPadding? indentationPadding : =
'';
        if (object =3D=3D=3D null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || =
RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + =
object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray =3D [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);

                                                                if =
((object =3D=3D window) || (object =3D=3D=3D document) ||
                    (window.HTMLElement && (object instanceof =
HTMLElement)) ||
                    (typeof(object.nodeName) =3D=3D=3D 'string')) {
                    var tag =3D object.tagName? object.tagName : =
'DomElement';
                    if (object.id) {
                        tag +=3D ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + =
'}');
                }
                                else {
                    var typeName =3D Object.getTypeName(object);
                    this.trace(indentationPadding + name + =
(typeof(typeName) =3D=3D=3D 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding =3D=3D=3D '') || recursive) =
{
                        indentationPadding +=3D "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length =3D object.length;
                            for (i =3D 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + =
']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v =3D object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, =
indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype =3D {

    _appendConsole: Sys$_Debug$_appendConsole,

    _appendTrace: Sys$_Debug$_appendTrace,

    assert: Sys$_Debug$assert,

    clearTrace: Sys$_Debug$clearTrace,

    fail: Sys$_Debug$fail,

    trace: Sys$_Debug$trace,

    traceDump: Sys$_Debug$traceDump,

    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');

Sys.Debug =3D new Sys._Debug();
    Sys.Debug.isDebug =3D true;
function Sys$Enum$parse(value, ignoreCase) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"ignoreCase" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    var values, parsed, val;
    if (ignoreCase) {
        values =3D this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues =3D values =3D {};
            var prototype =3D this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] =3D prototype[name];
            }
        }
    }
    else {
        values =3D this.prototype;
    }
    if (!this.__flags) {
        val =3D (ignoreCase ? value.toLowerCase() : value);
        parsed =3D values[val.trim()];
        if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, =
this.__typeName));
        return parsed;
    }
    else {
        var parts =3D (ignoreCase ? value.toLowerCase() : =
value).split(',');
        var v =3D 0;

        for (var i =3D parts.length - 1; i >=3D 0; i--) {
            var part =3D parts[i].trim();
            parsed =3D values[part];
            if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, =
value.split(',')[i].trim(), this.__typeName));
            v |=3D parsed;
        }
        return v;
    }
}

function Sys$Enum$toString(value) {
    /// <param name=3D"value" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

            if ((typeof(value) =3D=3D=3D 'undefined') || (value =
=3D=3D=3D null)) return this.__string;
    if ((typeof(value) !=3D 'number') || ((value % 1) !=3D=3D 0)) throw =
Error.argumentType('value', Object.getType(value), this);
    var values =3D this.prototype;
    var i;
    if (!this.__flags || (value =3D=3D=3D 0)) {
        for (i in values) {
            if (values[i] =3D=3D=3D value) {
                return i;
            }
        }
    }
    else {
        var sorted =3D this.__sortedValues;
        if (!sorted) {
            sorted =3D [];
            for (i in values) {
                sorted[sorted.length] =3D {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues =3D sorted;
        }
        var parts =3D [];
        var v =3D value;
        for (i =3D sorted.length - 1; i >=3D 0; i--) {
            var kvp =3D sorted[i];
            var vali =3D kvp.value;
            if (vali =3D=3D=3D 0) continue;
            if ((vali & value) =3D=3D=3D vali) {
                parts[parts.length] =3D kvp.key;
                v -=3D vali;
                if (v =3D=3D=3D 0) break;
            }
        }
        if (parts.length && v =3D=3D=3D 0) return =
parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, =
String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}

Type.prototype.registerEnum =3D function Type$registerEnum(name, flags) =
{
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"flags" type=3D"Boolean" =
optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw =
Error.argument('name', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('name', =
Sys.Res.badTypeName);
    if (window.__registeredTypes[name]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
name));
    for (var i in this.prototype) {
        var val =3D this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw =
Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !=3D=3D 'number' || (val % 1) !=3D=3D 0) throw =
Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    for (var i in this.prototype) {
        this[i] =3D this.prototype[i];
    }
    this.__typeName =3D name;
    this.parse =3D Sys$Enum$parse;
    this.__string =3D this.toString();
    this.toString =3D Sys$Enum$toString;
    this.__flags =3D flags;
    this.__enum =3D true;
    window.__registeredTypes[name] =3D true;
}

Type.isEnum =3D function Type$isEnum(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__enum;
}

Type.isFlags =3D function Type$isFlags(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__flags;
}
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}


    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Function"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt || (evt.length =3D=3D=3D 0)) return null;
        evt =3D Array.clone(evt);
        if (!evt._handler) {
            evt._handler =3D function(source, args) {
                for (var i =3D 0, l =3D evt.length; i < l; i++) {
                    evt[i](source, args);
                }
            };
        }
        return evt._handler;
    }

    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] =3D [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype =3D {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,

    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Sys.EventArgs =3D function Sys$EventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');

Sys.EventArgs.Empty =3D new Sys.EventArgs();
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);

    this._cancel =3D false;
}


    function Sys$CancelEventArgs$get_cancel() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._cancel =3D value;
    }
Sys.CancelEventArgs.prototype =3D {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}

Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype =3D {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: =
Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');=

Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <param name=3D"propertyName" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;

    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName =3D propertyName;
}
=20
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype =3D {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs'=
, Sys.EventArgs);
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyDisposing$add_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype =3D {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
Sys.Component =3D function Sys$Component() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}





    function Sys$Component$get_events() {
        /// <value type=3D"Sys.EventHandlerList"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (this._idSet) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet =3D true;
        var oldId =3D this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id =3D value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating =3D true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler =3D this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating =3D false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized =3D true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <param name=3D"propertyName" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;

        if (!this._events) return;
        var handler =3D this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new =
Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype =3D {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, =
Sys.INotifyPropertyChange, Sys.INotifyDisposing);

function Sys$Component$_setProperties(target, properties) {
    /// <param name=3D"target"></param>
    /// <param name=3D"properties"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;

    var current;
    var targetType =3D Object.getType(target);
    var isObject =3D (targetType =3D=3D=3D Object) || (targetType =
=3D=3D=3D Sys.UI.DomElement);
    var isComponent =3D Sys.Component.isInstanceOfType(target) && =
!target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val =3D properties[name];
        var getter =3D isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !=3D=3D 'function') {
                        var targetVal =3D target[name];
            if (!isObject && typeof(targetVal) =3D=3D=3D 'undefined') =
throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, =
name));
            if (!val || (typeof(val) !=3D=3D 'object') || (isObject && =
!targetVal)) {
                target[name] =3D val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter =3D target["set_" + name];
            if (typeof(setter) =3D=3D=3D 'function') {
                                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                                current =3D getter.apply(target);
                if (!(current instanceof Array)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i =3D 0, j =3D current.length, l=3D val.length; =
i < l; i++, j++) {
                    current[j] =3D val[i];
                }
            }
            else if ((typeof(val) =3D=3D=3D 'object') && =
(Object.getType(val) =3D=3D=3D Object)) {
                                current =3D getter.apply(target);
                if ((typeof(current) =3D=3D=3D 'undefined') || (current =
=3D=3D=3D null)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, =
name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                                throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}

function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter =3D component["set_" + name];
        var reference =3D $find(references[name]);
        if (typeof(setter) !=3D=3D 'function') throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
        if (!reference) throw =
Error.invalidOperation(String.format(Sys.Res.referenceNotFound, =
references[name]));
        setter.apply(component, [reference]);
    }
}

var $create =3D Sys.Component.create =3D function =
Sys$Component$create(type, properties, events, references, element) {
    /// <param name=3D"type" type=3D"Type"></param>
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"events" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"references" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Sys.UI.Component"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;

    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', =
String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || =
type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', =
Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', =
Sys.Res.createComponentOnDom);
    var component =3D (element ? new type(element): new type());
    var app =3D Sys.Application;
    var creatingComponents =3D app.get_isCreatingComponents();

    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw =
new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new =
Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }

    app._createdComponents[app._createdComponents.length] =3D component;
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }

    return component;
}
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}




Sys.UI.MouseButton.prototype =3D {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}















Sys.UI.Key.prototype =3D {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton"></field>
    /// <field name=3D"charCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean"></field>
    /// <field name=3D"keyCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean"></field>
    /// <field name=3D"target" domElement=3D"true"></field>
    /// <field name=3D"type" type=3D"String"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;

    var e =3D eventObject;
    this.rawEvent =3D e;
    this.altKey =3D e.altKey;
    if (typeof(e.button) !=3D=3D 'undefined') {
        this.button =3D (typeof(e.which) !=3D=3D 'undefined') ? e.button =
:
            (e.button =3D=3D=3D 4) ? Sys.UI.MouseButton.middleButton :
            (e.button =3D=3D=3D 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (e.type =3D=3D=3D 'keypress') {
        this.charCode =3D e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode =3D=3D=3D 46)) {
        this.keyCode =3D 127;
    }
    else {
        this.keyCode =3D e.keyCode;
    }
    this.clientX =3D e.clientX;
    this.clientY =3D e.clientY;
    this.ctrlKey =3D e.ctrlKey;
    this.target =3D e.target ? e.target : e.srcElement;
    if (this.target) {
        var loc =3D Sys.UI.DomElement.getLocation(this.target);
        this.offsetX =3D (typeof(e.offsetX) !=3D=3D 'undefined') ? =
e.offsetX : window.pageXOffset + (e.clientX || 0) - loc.x;
        this.offsetY =3D (typeof(e.offsetY) !=3D=3D 'undefined') ? =
e.offsetY : window.pageYOffset + (e.clientY || 0) - loc.y;
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
    this.type =3D e.type;
}

    function Sys$UI$DomEvent$preventDefault() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            window.event.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            window.event.cancelBubble =3D true;
        }
    }
Sys.UI.DomEvent.prototype =3D {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');

var $addHandler =3D Sys.UI.DomEvent.addHandler =3D function =
Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    if (!element._events) {
        element._events =3D {};
    }
    var eventCache =3D element._events[eventName];
    if (!eventCache) {
        element._events[eventName] =3D eventCache =3D [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler =3D function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler =3D function() {
            return handler.call(element, new =
Sys.UI.DomEvent(window.event));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] =3D {handler: handler, browserHandler: =
browserHandler};
}

var $addHandlers =3D Sys.UI.DomEvent.addHandlers =3D function =
Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"events" type=3D"Object"></param>
    /// <param name=3D"handlerOwner" optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;

    for (var name in events) {
        var handler =3D events[name];
        if (typeof(handler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler =3D Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}

var $clearHandlers =3D Sys.UI.DomEvent.clearHandlers =3D function =
Sys$UI$DomEvent$clearHandlers(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (element._events) {
        var cache =3D element._events;
        for (var name in cache) {
            var handlers =3D cache[name];
            for (var i =3D handlers.length - 1; i >=3D 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events =3D null;
    }
}

var $removeHandler =3D Sys.UI.DomEvent.removeHandler =3D function =
Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    var browserHandler =3D null;
    if ((typeof(element._events) !=3D=3D 'object') || (element._events =
=3D=3D null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache =3D element._events[eventName];
    if (!(cache instanceof Array)) throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var browserHandler =3D null;
    for (var i =3D 0, l =3D cache.length; i < l; i++) {
        if (cache[i].handler =3D=3D=3D handler) {
            browserHandler =3D cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}

    function Sys$IContainer$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Sys.Component"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype =3D {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");


Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}

    function Sys$_ScriptLoader$dispose() {
        this._stopLoading();
        if(this._events) {
            delete this._events;
        }
        this._scriptLoadedDelegate =3D null;       =20
    }

    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <param name=3D"scriptTimeout" type=3D"Number" =
integer=3D"true"></param>
        /// <param name=3D"allScriptsLoadedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadFailedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadTimeoutCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, =
mayBeNull: true}
        ]);
        if (e) throw e;

        if(this._loading) {
            throw =
Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);
        }
        this._loading =3D true;
        this._allScriptsLoadedCallback =3D allScriptsLoadedCallback;
        this._scriptLoadFailedCallback =3D scriptLoadFailedCallback;
        this._scriptLoadTimeoutCallback =3D scriptLoadTimeoutCallback;
       =20
        this._loadScriptsInternal();
    }

    function Sys$_ScriptLoader$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
       =20
                        if(!this._loading) {
                                    return;
        }

        this._currentTask._notified++;
       =20
        if(Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) {          =20
            if(this._currentTask._notified =3D=3D=3D 1) {
                                                                         =
                                       =
window.setTimeout(Function.createDelegate(this, function() {
                    =
this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }

                            }

    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <param name=3D"scriptAttributes" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }

    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <param name=3D"scriptContent" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }

    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <param name=3D"scriptUrl" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }

    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement =3D document.createElement('SCRIPT');

                        scriptElement.type =3D 'text/javascript';

                for (var attr in queuedScript) {
            scriptElement[attr] =3D queuedScript[attr];
        }
       =20
        return scriptElement;
    }

    function Sys$_ScriptLoader$_loadScriptsInternal() {
                if (this._scriptsToLoad && this._scriptsToLoad.length > =
0) {
            var nextScript =3D Array.dequeue(this._scriptsToLoad);
                        var scriptElement =3D =
this._createScriptElement(nextScript);
           =20
            if (scriptElement.text && Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) {
                                scriptElement.innerHTML =3D =
scriptElement.text;
                delete scriptElement.text;
            }           =20

                                                            if =
(typeof(nextScript.src) =3D=3D=3D "string") {
                                this._currentTask =3D new =
Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                                                                         =
       this._currentTask.execute();
            }
            else {
                                                =
document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);
               =20
                                =
Sys._ScriptLoader._clearScript(scriptElement);

                                                                =
this._loadScriptsInternal();
            }
        }
        else {
                        var callback =3D this._allScriptsLoadedCallback;
            this._stopLoading();
            if(callback) {
                callback(this);
            }
        }
    }

    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
                var callback =3D this._scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopLoading();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
        }
        else {
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, =
multipleCallbacks);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, =
loaded) {
                                if(loaded && =
this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                                this._raiseError(true);
            }
            else {
                                =
Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src);
                this._currentTask.dispose();
                this._currentTask =3D null;
                this._loadScriptsInternal();
            }
        }
        else {
                        this._raiseError(false);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback =3D this._scriptLoadTimeoutCallback;
        this._stopLoading();

        if(callback) {
            callback(this);
        }
    }

    function Sys$_ScriptLoader$_stopLoading() {
        if(this._timeoutCookie) {
            window.clearTimeout(this._timeoutCookie);
            this._timeoutCookie =3D null;
        }

        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }

        this._scriptsToLoad =3D null;
        this._loading =3D null;
       =20
        this._allScriptsLoadedCallback =3D null;
        this._scriptLoadFailedCallback =3D null;
        this._scriptLoadTimeoutCallback =3D null;
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
   =20
    loadScripts: Sys$_ScriptLoader$loadScripts,
   =20
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
   =20
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,

    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,

    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
   =20
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,  =20

    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
   =20
    _raiseError: Sys$_ScriptLoader$_raiseError,
   =20
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
   =20
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
   =20
    _stopLoading: Sys$_ScriptLoader$_stopLoading   =20
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, =
Sys.IDisposable);

Sys._ScriptLoader.getInstance =3D function =
Sys$_ScriptLoader$getInstance() {
    var sl =3D Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl =3D Sys._ScriptLoader._activeInstance =3D new =
Sys._ScriptLoader();
    }
    return sl;
}

Sys._ScriptLoader.isScriptLoaded =3D function =
Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
                    var dummyScript =3D =
document.createElement('script');
    dummyScript.src =3D scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), =
dummyScript.src);
}

Sys._ScriptLoader.readLoadedScripts =3D function =
Sys$_ScriptLoader$readLoadedScripts() {
        if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts =3D Sys._ScriptLoader._referencedScripts =
=3D [];

        var existingScripts =3D document.getElementsByTagName('SCRIPT');
        for (i =3D existingScripts.length - 1; i >=3D 0; i--) {
            var scriptNode =3D existingScripts[i];
            var scriptSrc =3D scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}

Sys._ScriptLoader._clearScript =3D function =
Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
                        =
scriptElement.parentNode.removeChild(scriptElement);
    }
}

Sys._ScriptLoader._errorScriptLoadFailed =3D function =
Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage =3D Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
                errorMessage =3D Sys.Res.scriptLoadFailedDebug;
    }

    var displayMessage =3D "Sys.ScriptLoadFailedException: " + =
String.format(errorMessage, scriptUrl);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}

Sys._ScriptLoader._getLoadedScripts =3D function =
Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts =3D [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}


Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <param name=3D"scriptElement" domElement=3D"true"></param>
    /// <param name=3D"completedCallback" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;

    this._scriptElement =3D scriptElement;
    this._completedCallback =3D completedCallback;
    this._notified =3D 0;
}

    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._scriptElement;
    }

    function Sys$_ScriptLoaderTask$dispose() {
                if(this._disposed) {
                        return;
        }
        this._disposed =3D true;
        this._removeScriptElementHandlers();
                Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement =3D null;
    }

    function Sys$_ScriptLoaderTask$execute() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        =
document.getElementsByTagName('HEAD')[0].appendChild(this._scriptElement)=
;
    }

    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
                this._scriptLoadDelegate =3D =
Function.createDelegate(this, this._scriptLoadHandler);
       =20
        if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState =3D 'loaded';
            $addHandler(this._scriptElement, 'load', =
this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
        }   =20
                        this._scriptErrorDelegate =3D =
Function.createDelegate(this, this._scriptErrorHandler);
        $addHandler(this._scriptElement, 'error', =
this._scriptErrorDelegate);
    }

    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
                if(this._scriptLoadDelegate) {
            var scriptElement =3D this.get_scriptElement();
            if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) =
{
                $removeHandler(scriptElement, 'load', =
this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
            }
            $removeHandler(scriptElement, 'error', =
this._scriptErrorDelegate);
            this._scriptErrorDelegate =3D null;
            this._scriptLoadDelegate =3D null;
        }
    }

    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
                if(this._disposed) {
            return;
        }
       =20
                this._completedCallback(this.get_scriptElement(), =
false);
    }

    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
                if(this._disposed) {
            return;
        }

        var scriptElement =3D this.get_scriptElement();
        if ((scriptElement.readyState !=3D=3D 'loaded') &&
            (scriptElement.readyState !=3D=3D 'complete')) {
            return;
        }
       =20
                                        var _this =3D this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype =3D {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
   =20
    dispose: Sys$_ScriptLoaderTask$dispose,
       =20
    execute: Sys$_ScriptLoaderTask$execute,
      =20
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20

    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
          =20
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <param name=3D"components" type=3D"Array" =
elementType=3D"Sys.Component"></param>
    /// <param name=3D"isPartialLoad" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;

    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components =3D components;
    this._isPartialLoad =3D isPartialLoad;
}
=20
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type=3D"Array" elementType=3D"Sys.Component"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype =3D {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs'=
, Sys.EventArgs);
Sys._Application =3D function Sys$_Application() {
    Sys._Application.initializeBase(this);

    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];

    this._unloadHandlerDelegate =3D Function.createDelegate(this, =
this._unloadHandler);
    this._loadHandlerDelegate =3D Function.createDelegate(this, =
this._loadHandler);

    Sys.UI.DomEvent.addHandler(window, "unload", =
this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", =
this._loadHandlerDelegate);
}




    function Sys$_Application$get_isCreatingComponents() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$add_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, =
id));
        this._components[id] =3D component;
    }
    function Sys$_Application$beginCreateComponents() {
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        if (!this._disposing) {
            this._disposing =3D true;
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler =3D =
this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects =3D =
Array.clone(this._disposableObjects);
            for (var i =3D 0, l =3D disposableObjects.length; i < l; =
i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);

            Sys.UI.DomEvent.removeHandler(window, "unload", =
this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
                this._loadHandlerDelegate =3D null;
            }

            var sl =3D Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }

            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        var components =3D this._secondPassComponents;
        for (var i =3D 0, l =3D components.length; i < l; i++) {
            var component =3D components[i].component;
            Sys$Component$_setReferences(component, =
components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents =3D [];
        this._creatingComponents =3D false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"parent" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"Sys.Component" =
mayBeNull=3D"true"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var res =3D [];
        var components =3D this._components;
        for (var name in components) {
            res[res.length] =3D components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
                                                =
window.setTimeout(Function.createDelegate(this, this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var sl =3D Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] =3D =
object;
        }
    }
    function Sys$_Application$raiseLoad() {
        var h =3D this.get_events().getHandler("load");
        var args =3D new =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), =
!this._initializing);
        if (h) {
            h(this, args);
        }

        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents =3D [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, =
references) {
        this._secondPassComponents[this._secondPassComponents.length] =
=3D {component: component, references: references};
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');

        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_loadHandler() {
                        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,

    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _doInitialize: Sys$_Application$_doInitialize,   =20
    _loadHandler: Sys$_Application$_loadHandler,
    _unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application', Sys.Component, =
Sys.IContainer);

Sys.Application =3D new Sys._Application();

var $find =3D Sys.Application.findComponent;

Type.registerNamespace('Sys.Net');

Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._webRequest =3D null;
    this._resultObject =3D null;
}


    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }

    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'set_webRequest'));
        }

        this._webRequest =3D value;
    }


    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData(=
));
        }
        return this._resultObject;
    }


    function Sys$Net$WebRequestExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype =3D {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,

    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,

        get_started: Sys$Net$WebRequestExecutor$get_started,

    get_responseAvailable: =
Sys$Net$WebRequestExecutor$get_responseAvailable,

    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,

        executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
window.XMLDOM =3D function window$XMLDOM(markup) {
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
        return null;
    }
        else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        } catch (ex) {
            return null;
        }
    }
    return null;
    }

Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    Sys.Net.XMLHttpExecutor.initializeBase(this);

    var _this =3D this;
    this._xmlHttpRequest =3D null;
    this._webRequest =3D null;
    this._responseAvailable =3D false;
    this._timedOut =3D false;
    this._timer =3D null;
    this._aborted =3D false;
    this._started =3D false;

    this._onReadyStateChange =3D function () {
       =20
        if (_this._xmlHttpRequest.readyState =3D=3D=3D 4 ) {

            _this._clearTimer();
            _this._responseAvailable =3D true;
            _this._webRequest.completed(Sys.EventArgs.Empty);
            if (_this._xmlHttpRequest !=3D null) {
                _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                _this._xmlHttpRequest =3D null;
            }
        }
    }

    this._clearTimer =3D function this$_clearTimer() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    }

    this._onTimeout =3D function this$_onTimeout() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut =3D true;
            _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest =3D null;
        }
    }

}



    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }

    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this._responseAvailable;
    }

    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }

    function Sys$Net$XMLHttpExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._webRequest =3D this.get_webRequest();

        if (this._started) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'executeRequest'));
        }
        if (this._webRequest =3D=3D=3D null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }

        var body =3D this._webRequest.get_body();
        var headers =3D this._webRequest.get_headers();
        this._xmlHttpRequest =3D new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange =3D =
this._onReadyStateChange;
        var verb =3D this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, =
this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val =3D headers[header];
                if (typeof(val) !=3D=3D "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }

        if (verb.toLowerCase() =3D=3D=3D "post") {
                        if ((headers =3D=3D=3D null) || =
!headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded');
            }

                        if (!body) {
                body =3D "";
            }
        }

        var timeout =3D this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer =3D =
window.setTimeout(Function.createDelegate(this, this._onTimeout), =
timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started =3D true;
    }

    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getResponseHeader'));
        }

        var result;
        try {
            result =3D this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result =3D "";
        return result;
    }

    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getAllResponseHeaders'));
        }

        return this._xmlHttpRequest.getAllResponseHeaders();
    }

    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_responseData'));
        }

        return this._xmlHttpRequest.responseText;
    }

    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusCode'));
        }

        return this._xmlHttpRequest.status;
    }

    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusText'));
        }

        return this._xmlHttpRequest.statusText;
    }

    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_xml'));
        }

        var xml =3D this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {

                        xml =3D new =
XMLDOM(this._xmlHttpRequest.responseText);

                        if (!xml || !xml.documentElement)
                return null;
        }
                else if (navigator.userAgent.indexOf('MSIE') !=3D=3D -1) =
{
            xml.setProperty('SelectionLanguage', 'XPath');
        }

                if (xml.documentElement.namespaceURI =3D=3D=3D =
"http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
                if (xml.documentElement.firstChild && =
xml.documentElement.firstChild.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        return xml;
    }

    function Sys$Net$XMLHttpExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._started) {
            throw =
Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }

                if (this._aborted || this._responseAvailable || =
this._timedOut)
            return;

        this._aborted =3D true;

        this._clearTimer();

        if (this._xmlHttpRequest && !this._responseAvailable) {

                        this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            this._xmlHttpRequest.abort();

            this._xmlHttpRequest =3D null;
            var handler =3D =
this._webRequest._get_eventHandlerList().getHandler("completed");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
    }
Sys.Net.XMLHttpExecutor.prototype =3D {

    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,

    get_started: Sys$Net$XMLHttpExecutor$get_started,

    get_responseAvailable: =
Sys$Net$XMLHttpExecutor$get_responseAvailable,

    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,

    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,

    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,

    getAllResponseHeaders: =
Sys$Net$XMLHttpExecutor$getAllResponseHeaders,

    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,

    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,

    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,

    get_xml: Sys$Net$XMLHttpExecutor$get_xml,

    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', =
Sys.Net.WebRequestExecutor);
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    this._this =3D this;
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}


    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("invokingRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("completedRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._defaultTimeout =3D value;
    }

    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._defaultExecutorType =3D value;
    }

    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <param name=3D"webRequest" =
type=3D"Sys.Net.WebRequest"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;

        var executor =3D webRequest.get_executor();
                if (!executor) {
           =20
            var failed =3D false;
            try {
                var executorType =3D eval(this._defaultExecutorType);
                executor =3D new executorType();
            } catch (e) {
                failed =3D true;
            }

            if (failed  || =
!Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", =
String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }

            webRequest.set_executor(executor);
        }

                if (executor.get_aborted()) {
            return;
        }

        var evArgs =3D new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler =3D =
this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }

        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype =3D {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: =
Sys$Net$_WebRequestManager$remove_invokingRequest,

    add_completedRequest: =
Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: =
Sys$Net$_WebRequestManager$remove_completedRequest,

    _get_eventHandlerList: =
Sys$Net$_WebRequestManager$_get_eventHandlerList,

    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,

    get_defaultExecutorType: =
Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: =
Sys$Net$_WebRequestManager$set_defaultExecutorType,

    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}

Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');

Sys.Net.WebRequestManager =3D new Sys.Net._WebRequestManager();
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <param name=3D"webRequest" type=3D"Sys.Net.WebRequest"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;

    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest =3D webRequest;
}


    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype =3D {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}

Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEven=
tArgs', Sys.CancelEventArgs);
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._url =3D "";
    this._headers =3D { };
    this._body =3D null;
    this._userContext =3D null;
    this._httpVerb =3D null;
    this._executor =3D null;
    this._invokeCalled =3D false;
    this._timeout =3D 0;
}


    function Sys$Net$WebRequest$add_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().removeHandler("completed", =
handler);
    }

    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <param name=3D"eventArgs" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var handler =3D =
Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRe=
quest");
        if (handler) {
            handler(this._executor, eventArgs);
        }

        handler =3D =
this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }

    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$WebRequest$get_url() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._url =3D value;
    }

    function Sys$Net$WebRequest$get_headers() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }

    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
                if (this._httpVerb =3D=3D=3D null) {
            if (this._body =3D=3D=3D null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (value.length =3D=3D=3D 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }

        this._httpVerb =3D value;
    }

    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._body =3D value;
    }

    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._userContext =3D value;
    }

    function Sys$Net$WebRequest$get_executor() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;

        if (this._executor !=3D=3D null && this._executor.get_started()) =
{
            throw =
Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }

        this._executor =3D value;
        this._executor._set_webRequest(this);
    }

    function Sys$Net$WebRequest$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._timeout =3D=3D=3D 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._timeout =3D value;
    }

    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }

    function Sys$Net$WebRequest$invoke() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }

        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled =3D true;
    }
Sys.Net.WebRequest.prototype =3D {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,

    completed: Sys$Net$WebRequest$completed,

    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,

    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,

    get_headers: Sys$Net$WebRequest$get_headers,

    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,

    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,

    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,

    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,

    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,

    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,

    invoke: Sys$Net$WebRequest$invoke
}

Sys.Net.WebRequest._resolveUrl =3D function =
Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
        if (url && url.indexOf('://') !=3D=3D -1) {
        return url;
    }

        if (!baseUrl || baseUrl.length =3D=3D=3D 0) {
        var baseElement =3D document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > =
0) {
            baseUrl =3D baseElement.href;
        }
        else {
            baseUrl =3D document.URL;
        }
    }

        var qsStart =3D baseUrl.indexOf('?');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    baseUrl =3D baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);

        if (!url || url.length =3D=3D=3D 0) {
        return baseUrl;
    }

        if (url.charAt(0) =3D=3D=3D '/') {
        var slashslash =3D baseUrl.indexOf('://');
        if (slashslash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }

        var nextSlash =3D baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }

        return baseUrl.substr(0, nextSlash) + url;
    }
            else {
        var lastSlash =3D baseUrl.lastIndexOf('/');
        if (lastSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }

        return baseUrl.substr(0, lastSlash+1) + url;
    }
}

Sys.Net.WebRequest._createQueryString =3D function =
Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
        if (!encodeMethod)
        encodeMethod =3D encodeURIComponent;

    var sb =3D new Sys.StringBuilder();

    var i =3D 0;
    for (var arg in queryString) {
        var obj =3D queryString[arg];
        if (typeof(obj) =3D=3D=3D "function") continue;
        var val =3D =
Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !=3D=3D 0) {
            sb.append('&');
        }

        sb.append(arg);
        sb.append('=3D');
        sb.append(encodeMethod(val));

        i++;
    }

    return sb.toString();
}

Sys.Net.WebRequest._createUrl =3D function =
Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }

    var qs =3D Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep =3D '?';
        if (url && url.indexOf('?') !=3D=3D -1)
            sep =3D '&';
        return url + sep + qs;
    } else {
        return url;
    }
}

Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}


    function Sys$Net$WebServiceProxy$set_timeout(value) {
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }

    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <param name=3D"servicePath" type=3D"String"></param>
        /// <param name=3D"methodName" type=3D"String"></param>
        /// <param name=3D"useGet" type=3D"Boolean"></param>
        /// <param name=3D"params"></param>
        /// <param name=3D"onSuccess" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"onFailure" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
        /// <returns type=3D"Sys.Net.WebRequest"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, =
optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;


                if (onSuccess =3D=3D=3D null || typeof onSuccess =
=3D=3D=3D 'undefined') onSuccess =3D =
this.get_defaultSucceededCallback();
        if (onFailure =3D=3D=3D null || typeof onFailure =3D=3D=3D =
'undefined') onFailure =3D this.get_defaultFailedCallback();
        if (userContext =3D=3D=3D null || typeof userContext =3D=3D=3D =
'undefined') userContext =3D this.get_defaultUserContext();
       =20
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype =3D {
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_path: Sys$Net$WebServiceProxy$set_path,
    get_path: Sys$Net$WebServiceProxy$get_path,

    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');

Sys.Net.WebServiceProxy.invoke =3D function =
Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, =
onSuccess, onFailure, userContext, timeout) {
    /// <param name=3D"servicePath" type=3D"String"></param>
    /// <param name=3D"methodName" type=3D"String"></param>
    /// <param name=3D"useGet" type=3D"Boolean" =
optional=3D"true"></param>
    /// <param name=3D"params" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onSuccess" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onFailure" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"timeout" type=3D"Number" =
optional=3D"true"></param>
    /// <returns type=3D"Sys.Net.WebRequest"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: =
true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: =
true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;


        var request =3D new Sys.Net.WebRequest();

    request.get_headers()['Content-Type'] =3D 'application/json; =
charset=3Dutf-8';
    if (!params) params =3D {};
    var urlParams =3D params;
        if (!useGet || !urlParams) urlParams =3D {};
    =
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+methodName,=
 urlParams));

    var body =3D null;
        if (!useGet) {
        body =3D =
Sys.Serialization.JavaScriptSerializer.serialize(params);

                if (body =3D=3D=3D "{}") body =3D "";
    }

        request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();

    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode =3D response.get_statusCode();
            var result =3D null;

            try {
                var contentType =3D =
response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result =3D response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result =3D response.get_xml();
                }
                                else {
                    result =3D response.get_responseData();
                }
            } catch (ex) {
            }

            var error =3D response.getResponseHeader("jsonerror");
            var errorObj =3D (error =3D=3D=3D "true");
            if (errorObj) {
                result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
            }
            if (((statusCode < 200) || (statusCode >=3D 300)) || =
errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result =3D new Sys.Net.WebServiceError(false , =
String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode =3D statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                                        var error;
                    if (result && errorObj) {
                                                error =3D =
result.get_exceptionType() + "-- " + result.get_message();
                    }
                    else {
                                                                        =
error =3D response.get_responseData();
                    }
                    alert(String.format(Sys.Res.webServiceFailed, =
methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg =3D String.format(Sys.Res.webServiceTimedOut, =
methodName);
            }
            else {
                msg =3D String.format(Sys.Res.webServiceFailedNoMsg, =
methodName)
            }
            if (onFailure) {
                onFailure(new =
Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), =
userContext, methodName);
            }
            else {
                                alert(msg);
            }
        }
    }

    return request;
}

Sys.Net.WebServiceProxy._generateTypedConstructor =3D function =
Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
                if (properties) {
            for (var name in properties) {
                this[name] =3D properties[name];
            }
        }
        this.__type =3D type;
    }
}
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <param name=3D"timedOut" type=3D"Boolean"></param>
    /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"stackTrace" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"exceptionType" type=3D"String" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    this._timedOut =3D timedOut;
    this._message =3D message;
    this._stackTrace =3D stackTrace;
    this._exceptionType =3D exceptionType;
    this._statusCode =3D -1;
}


    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._statusCode;
    }

    function Sys$Net$WebServiceError$get_message() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._message;
    }

    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._stackTrace;
    }

    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._exceptionType;
    }
Sys.Net.WebServiceError.prototype =3D {
    get_timedOut: Sys$Net$WebServiceError$get_timedOut,

    get_statusCode: Sys$Net$WebServiceError$get_statusCode,

    get_message: Sys$Net$WebServiceError$get_message,

    get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,

    get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');

Type.registerNamespace('Sys.Services');

Sys.Services._ProfileService =3D function Sys$Services$_ProfileService() =
{
    Sys.Services._ProfileService.initializeBase(this);
    this.properties =3D {};
}
Sys.Services._ProfileService.DefaultWebServicePath =3D '';








    function Sys$Services$_ProfileService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLoadCompletedCallback =3D value;
    }

    function =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultSaveCompletedCallback =3D value;
    }


    function Sys$Services$_ProfileService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_ProfileService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_ProfileService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_ProfileService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_ProfileService$load(propertyNames, =
loadCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"loadCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "loadCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        var parameters =3D {};
        var methodName;
        if(!propertyNames) {
            methodName =3D "GetAllPropertiesForCurrentUser";
        }
        else {
            methodName =3D "GetPropertiesForCurrentUser";
            parameters =3D { properties: =
this._clonePropertyNames(propertyNames) };
        }
                this._invoke(this._get_path(),
                                        methodName,
                                        false,
                                        parameters,
                                        Function.createDelegate(this, =
this._onLoadComplete),
                                        Function.createDelegate(this, =
this._onLoadFailed),                                         =
[loadCompletedCallback, failedCallback, userContext]);
    }

    function Sys$Services$_ProfileService$save(propertyNames, =
saveCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"saveCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "saveCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        var flattenedProperties =3D =
this._flattenProperties(propertyNames, this.properties);
                this._invoke(this._get_path(),
                                        "SetPropertiesForCurrentUser",
                                        false,
                                        { values: flattenedProperties },
                                        Function.createDelegate(this, =
this._onSaveComplete),
                                        Function.createDelegate(this, =
this._onSaveFailed),
                                        [saveCompletedCallback, =
failedCallback, userContext]);
    }


    function Sys$Services$_ProfileService$_clonePropertyNames(arr) {
        var nodups =3D [];
        var seen =3D {};
        for(var i=3D0; i < arr.length; i++) {
            var prop =3D arr[i];
            if(!seen[prop]) { Array.add(nodups, prop); =
seen[prop]=3Dtrue; };
        }
        return nodups;
    }





    function =
Sys$Services$_ProfileService$_flattenProperties(propertyNames, =
properties, groupName) {
        var flattenedProperties =3D {};
        var val;
        var key;
        if(propertyNames && propertyNames.length =3D=3D=3D 0) {
            return flattenedProperties;
        }

        for (var property in properties) {
            val =3D properties[property];
            key =3D groupName ? groupName + "." + property : property;
                        =
if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var groupProperties =3D =
this._flattenProperties(propertyNames, val, key);
                                                                         =
                                       for(var subKey in =
groupProperties) {
                    var subVal =3D groupProperties[subKey];
                    flattenedProperties[subKey] =3D subVal;
                }
            }
            else {
                                if(!propertyNames || =
Array.indexOf(propertyNames, key) !=3D=3D -1) {
                    flattenedProperties[key] =3D val;
                }
            }
        }
        return flattenedProperties;
    }

    function Sys$Services$_ProfileService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D Sys.Services._ProfileService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function Sys$Services$_ProfileService$_onLoadComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "object") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Object"));
        }

        var unflattened =3D this._unflattenProperties(result);
        for(var name in unflattened) {
            this.properties[name] =3D unflattened[name];
        }
       =20
        var userCallback =3D context[0];
        var callback =3D userCallback ? userCallback : =
this._defaultLoadCompletedCallback;
        if(callback) {
            callback(result.length, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onLoadFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onSaveComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "number") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Number"));
        }
       =20
        var userCallback =3D context[0];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultSaveCompletedCallback;
        if(callback) {
            callback(result, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function Sys$Services$_ProfileService$_onSaveFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function =
Sys$Services$_ProfileService$_unflattenProperties(properties) {
        var unflattenedProperties =3D {};
        var dotIndex;
        var val;
        var count =3D 0;
        for(var key in properties) {
            count++;
            val =3D properties[key];

            dotIndex =3D key.indexOf('.');
            if(dotIndex !=3D=3D -1) {
                var groupName =3D key.substr(0, dotIndex);
                key =3D key.substr(dotIndex+1);
                var group =3D unflattenedProperties[groupName];
                if((!group) || =
(!Sys.Services.ProfileGroup.isInstanceOfType(group))) {
                    group =3D new Sys.Services.ProfileGroup();
                    unflattenedProperties[groupName] =3D group;
                }
                group[key] =3D val;
            }
            else {
                unflattenedProperties[key] =3D val;
            }
        }
        properties.length =3D count;
        return unflattenedProperties;
    }
Sys.Services._ProfileService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoadCompletedCallback: null,
    _defaultSaveCompletedCallback: null,
    _path: '',
    _timeout: 0,

    get_defaultFailedCallback: =
Sys$Services$_ProfileService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_ProfileService$set_defaultFailedCallback,

    get_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,

    get_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
    set_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
   =20
   =20
    get_path: Sys$Services$_ProfileService$get_path,
    set_path: Sys$Services$_ProfileService$set_path,
       =20
    get_timeout: Sys$Services$_ProfileService$get_timeout,
    set_timeout: Sys$Services$_ProfileService$set_timeout,
       =20
    load: Sys$Services$_ProfileService$load,

    save: Sys$Services$_ProfileService$save,
   =20
        _clonePropertyNames: =
Sys$Services$_ProfileService$_clonePropertyNames,   =20

                    _flattenProperties: =
Sys$Services$_ProfileService$_flattenProperties,
   =20
    _get_path: Sys$Services$_ProfileService$_get_path,   =20

    _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,
   =20
    _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,
   =20
    _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,
   =20
    _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,
   =20
    _unflattenProperties: =
Sys$Services$_ProfileService$_unflattenProperties
}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService'=
, Sys.Net.WebServiceProxy);
Sys.Services.ProfileService =3D new Sys.Services._ProfileService();

Sys.Services.ProfileGroup =3D function =
Sys$Services$ProfileGroup(properties) {
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "properties", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if(properties) {
        for(var property in properties) {
            this[property] =3D properties[property];
        }
    }
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');








Sys.Services._AuthenticationService =3D function =
Sys$Services$_AuthenticationService() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath =3D '';








    function =
Sys$Services$_AuthenticationService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoginCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(val=
ue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLoginCompletedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLogoutCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(va=
lue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLogoutCompletedCallback =3D value;
    }

    function Sys$Services$_AuthenticationService$get_isLoggedIn() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._authenticated;
    }

    function Sys$Services$_AuthenticationService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_AuthenticationService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_AuthenticationService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_AuthenticationService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_AuthenticationService$login(username, =
password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext) {
        /// <param name=3D"username" type=3D"String" =
mayBeNull=3D"false"></param>
        /// <param name=3D"password" type=3D"String" =
mayBeNull=3D"true"></param>
        /// <param name=3D"isPersistent" type=3D"Boolean" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"customInfo" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"loginCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "username", type: String},
            {name: "password", type: String, mayBeNull: true},
            {name: "isPersistent", type: Boolean, mayBeNull: true, =
optional: true},
            {name: "customInfo", type: String, mayBeNull: true, =
optional: true},
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "loginCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Login", false,
                                        { userName: username, password: =
password, createPersistentCookie: isPersistent },
                                        Function.createDelegate(this, =
this._onLoginComplete),
                                        Function.createDelegate(this, =
this._onLoginFailed),
                                        [username, password, =
isPersistent, redirectUrl, loginCompletedCallback, failedCallback, =
userContext]);
    }

    function Sys$Services$_AuthenticationService$logout(redirectUrl, =
logoutCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"logoutCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "logoutCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Logout", false, {},=20
                                        Function.createDelegate(this, =
this._onLogoutComplete),
                                        Function.createDelegate(this, =
this._onLogoutFailed),
                                        [redirectUrl, =
logoutCompletedCallback, failedCallback, userContext]);
    }

    function Sys$Services$_AuthenticationService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D =
Sys.Services._AuthenticationService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function =
Sys$Services$_AuthenticationService$_onLoginComplete(result, context, =
methodName) {
        if(typeof(result) !=3D=3D "boolean") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Boolean"));
        }
       =20
        var redirectUrl =3D context[3];
        var userCallback =3D context[4];
        var userContext =3D context[6];
        var callback =3D userCallback ? userCallback : =
this._defaultLoginCompletedCallback;
       =20
        if(result) {
            this._authenticated =3D true;

            if(callback) {
                callback(true, userContext, =
"Sys.Services.AuthenticationService.login");
            }
           =20
            if(typeof(redirectUrl) !=3D=3D "undefined" && redirectUrl =
!=3D=3D null) {
                                window.location.href =3D redirectUrl;
            }
        }
        else if (callback) {
            callback(false, userContext, =
"Sys.Services.AuthenticationService.login");
        }
    }

    function Sys$Services$_AuthenticationService$_onLoginFailed(err, =
context, methodName) {
        var userCallback =3D context[5];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[6], =
"Sys.Services.AuthenticationService.login");
        }
    }

    function =
Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, =
methodName) {
        if(result !=3D=3D null) {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "null"));
        }
       =20
        var redirectUrl =3D context[0];
        var userCallback =3D context[1];
        var userContext =3D context[3];
        var callback =3D userCallback ? userCallback : =
this._defaultLogoutCompletedCallback;

        this._authenticated =3D false;
       =20
        if (callback) {
            callback(null, userContext, =
"Sys.Services.AuthenticationService.logout");
        }
       =20
                if(!redirectUrl) {
            window.location.reload();
        }
        else {
            window.location.href =3D redirectUrl;
        }
    }

    function Sys$Services$_AuthenticationService$_onLogoutFailed(err, =
context, methodName) {
        var userCallback =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[3], =
"Sys.Services.AuthenticationService.logout");
        }
    }

    function =
Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {
        this._authenticated =3D authenticated;
    }
Sys.Services._AuthenticationService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoginCompletedCallback: null,
    _defaultLogoutCompletedCallback: null,
    _path: '',
    _timeout: 0,
    _authenticated: false,
   =20
    get_defaultFailedCallback: =
Sys$Services$_AuthenticationService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_AuthenticationService$set_defaultFailedCallback,

    get_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
    set_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,

    get_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
    set_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,

    get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,

    get_path: Sys$Services$_AuthenticationService$get_path,
    set_path: Sys$Services$_AuthenticationService$set_path,
   =20
    get_timeout: Sys$Services$_AuthenticationService$get_timeout,
    set_timeout: Sys$Services$_AuthenticationService$set_timeout,   =20
   =20
    login: Sys$Services$_AuthenticationService$login,
   =20
    logout: Sys$Services$_AuthenticationService$logout,
   =20
    _get_path: Sys$Services$_AuthenticationService$_get_path,
   =20
    _onLoginComplete: =
Sys$Services$_AuthenticationService$_onLoginComplete,
   =20
    _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,
   =20
    _onLogoutComplete: =
Sys$Services$_AuthenticationService$_onLogoutComplete,
   =20
    _onLogoutFailed: =
Sys$Services$_AuthenticationService$_onLogoutFailed,
   =20
    _setAuthenticated: =
Sys$Services$_AuthenticationService$_setAuthenticated   =20
}

Sys.Services._AuthenticationService.registerClass('Sys.Services._Authenti=
cationService', Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService =3D new =
Sys.Services._AuthenticationService();

Type.registerNamespace('Sys.Serialization');


Sys.Serialization.JavaScriptSerializer =3D function =
Sys$Serialization$JavaScriptSerializer() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.J=
avaScriptSerializer');

Sys.Serialization.JavaScriptSerializer._stringRegEx =3D new =
RegExp('["\b\f\n\r\t\\\\\x00-\x1F]', 'i');

Sys.Serialization.JavaScriptSerializer._serializeWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, =
stringBuilder, sort) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
                        if (Array.isInstanceOfType(object)) {
                stringBuilder.append('[');
                for (i =3D 0; i < object.length; ++i) {
                    if (i > 0) {
                        stringBuilder.append(',');
                    }
                    =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], =
stringBuilder);
                }
                stringBuilder.append(']');
            }
            else {
                                                                if =
(Date.isInstanceOfType(object)) {
                    stringBuilder.append('"\\/Date(');
                    stringBuilder.append(object.getTime());
                    stringBuilder.append(')\\/"');
                    break;
                }

                var properties =3D [];
                var propertyCount =3D 0;
                for (var name in object) {
                                        if (name.startsWith('$')) {
                        continue;
                    }
                    properties[propertyCount++] =3D name;
                }
                if (sort) properties.sort();

                stringBuilder.append('{');
                var needComma =3D false;
                for (i=3D0; i<propertyCount; i++) {
                    var value =3D object[properties[i]];
                    if (typeof value !=3D=3D 'undefined' && typeof value =
!=3D=3D 'function') {
                        if (needComma) {
                            stringBuilder.append(',');
                        }
                        else {
                            needComma =3D true;
                        }

                                                =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i=
], stringBuilder, sort);
                        stringBuilder.append(':');
                        =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, =
stringBuilder, sort);
                    }
                }
                stringBuilder.append('}');
            }
        }
        else {
            stringBuilder.append('null');
        }
        break;

    case 'number':
        if (isFinite(object)) {
            stringBuilder.append(String(object));
        }
        else {
            throw =
Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);
        }
        break;

    case 'string':
        stringBuilder.append('"');

                if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari || =
Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)) {
            var length =3D object.length;
            for (i =3D 0; i < length; ++i) {
                var curChar =3D object.charAt(i);
                                if (curChar >=3D ' ') {
                                        if (curChar =3D=3D=3D '\\' || =
curChar =3D=3D=3D '"') {
                        stringBuilder.append('\\');
                    }
                    stringBuilder.append(curChar);
                }
                else {
                    switch (curChar) {
                        case '\b':
                            stringBuilder.append('\\b');
                            break;
                        case '\f':
                            stringBuilder.append('\\f');
                            break;
                        case '\n':
                            stringBuilder.append('\\n');
                            break;
                        case '\r':
                            stringBuilder.append('\\r');
                            break;
                        case '\t':
                            stringBuilder.append('\\t');
                            break;
                        default:
                                                        =
stringBuilder.append('\\u00');
                            if (curChar.charCodeAt() < 16) =
stringBuilder.append('0');
                            =
stringBuilder.append(curChar.charCodeAt().toString(16));
                    }
                }
            }
        } else {
            stringBuilder.append(object);
        }
        stringBuilder.append('"');
        break;

    case 'boolean':
        stringBuilder.append(object.toString());
        break;

    default:
        stringBuilder.append('null');
        break;
    }
}

Sys.Serialization.JavaScriptSerializer.serialize =3D function =
Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    var stringBuilder =3D new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, =
stringBuilder, false);
    return stringBuilder.toString();
}

Sys.Serialization.JavaScriptSerializer.deserialize =3D function =
Sys$Serialization$JavaScriptSerializer$deserialize(data) {
    /// <param name=3D"data" type=3D"String"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "data", type: String}
    ]);
    if (e) throw e;

    if (data.length =3D=3D=3D 0) throw Error.argument('data', =
Sys.Res.cannotDeserializeEmptyString);
                                                           =20
    try {   =20
        var exp =3D data.replace(new =
RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"', 'g'), "$1new =
Date($2)");
        return eval('(' + exp + ')');
    }
    catch (e) {
         throw Error.argument('data', =
Sys.Res.cannotDeserializeInvalidJson);
    }
}

Sys.CultureInfo =3D function Sys$CultureInfo(name, numberFormat, =
dateTimeFormat) {
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"numberFormat" type=3D"Object"></param>
    /// <param name=3D"dateTimeFormat" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;

    this.name =3D name;
    this.numberFormat =3D numberFormat;
    this.dateTimeFormat =3D dateTimeFormat;
}

    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf =3D this.dateTimeFormat;
            this._dateTimeFormats =3D
              [ dtf.MonthDayPattern,
                dtf.YearMonthPattern,
                dtf.ShortDatePattern,
                dtf.ShortTimePattern,
                dtf.LongDatePattern,
                dtf.LongTimePattern,
                dtf.FullDateTimePattern,
                dtf.RFC1123Pattern,
                dtf.SortableDateTimePattern,
                dtf.UniversalSortableDateTimePattern ];
        }
        return this._dateTimeFormats;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths =3D =
this._toUpperArray(this.dateTimeFormat.MonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays =3D =
this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result =3D [];
        for (var i =3D 0, il =3D arr.length; i < il; i++) {
            result[i] =3D this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
                        return value.split("\u00A0").join(' =
').toUpperCase();
    }
Sys.CultureInfo.prototype =3D {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getMonthIndex: Sys$CultureInfo$_getMonthIndex,
    _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,
    _getDayIndex: Sys$CultureInfo$_getDayIndex,
    _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,
    _toUpperArray: Sys$CultureInfo$_toUpperArray,
    _toUpper: Sys$CultureInfo$_toUpper
}
Sys.CultureInfo._parse =3D function Sys$CultureInfo$_parse(value) {
    var cultureInfo =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(value);
    return new Sys.CultureInfo(cultureInfo.name, =
cultureInfo.numberFormat, cultureInfo.dateTimeFormat);
}
Sys.CultureInfo.registerClass('Sys.CultureInfo');

Sys.CultureInfo.InvariantCulture =3D =
Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits=
":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes"=
:[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparat=
or":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePatt=
ern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegat=
ivePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","Nu=
mberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":=
",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","Posi=
tiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","Per=
centGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","Na=
tiveDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution"=
:1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTi=
me":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","Algor=
ithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnl=
y":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"Ful=
lDateTimePattern":"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,"CurrencyDecim=
alSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroup=
Sizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","Currency=
Symbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegative=
Pattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"Negativ=
eInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"=
NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositiveP=
attern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","Percent=
DecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",=
","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","=
2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{=
"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@=
","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarT=
ype":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparat=
or":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dd=
dd, 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 =3D =
Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;

Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;

    this.x =3D x;
    this.y =3D y;
}
Sys.UI.Point.registerClass('Sys.UI.Point');
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"height" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"width" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "height", type: Number, integer: true},
        {name: "width", type: Number, integer: true}
    ]);
    if (e) throw e;

    this.x =3D x;
    this.y =3D y;
    this.height =3D height;
    this.width =3D width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');

Sys.UI.DomElement.addCssClass =3D function =
Sys$UI$DomElement$addCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    if (!Sys.UI.DomElement.containsCssClass(element, className)) {
        if (element.className =3D=3D=3D '') {
            element.className =3D className;
        }
        else {
            element.className +=3D ' ' + className;
        }
    }
}

Sys.UI.DomElement.containsCssClass =3D function =
Sys$UI$DomElement$containsCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    return Array.contains(element.className.split(' '), className);
}

Sys.UI.DomElement.getBounds =3D function =
Sys$UI$DomElement$getBounds(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.Bounds"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    var offset =3D Sys.UI.DomElement.getLocation(element);

    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || =
0, element.offsetHeight || 0);
}

var $get =3D Sys.UI.DomElement.getElementById =3D function =
Sys$UI$DomElement$getElementById(id, element) {
    /// <param name=3D"id" type=3D"String"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns domElement=3D"true" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "id", type: String},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;

    if (!element) return document.getElementById(id);
    if (element.getElementById) return element.getElementById(id);

        var nodeQueue =3D [];
    var childNodes =3D element.childNodes;
    for (var i =3D 0; i < childNodes.length; i++) {
        var node =3D childNodes[i];
        if (node.nodeType =3D=3D 1) {
            nodeQueue[nodeQueue.length] =3D node;
        }
    }

    while (nodeQueue.length) {
        node =3D nodeQueue.shift();
        if (node.id =3D=3D id) {
            return node;
        }
        childNodes =3D node.childNodes;
        for (i =3D 0; i < childNodes.length; i++) {
            node =3D childNodes[i];
            if (node.nodeType =3D=3D 1) {
                nodeQueue[nodeQueue.length] =3D node;
            }
        }
    }

    return null;
}



switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if (element.self || element.nodeType =3D=3D=3D =
9) return new Sys.UI.Point(0,0);

                                                var clientRects =3D =
element.getClientRects();
            if (!clientRects || !clientRects.length) {
                return new Sys.UI.Point(0,0);
            }

            var w =3D element.ownerDocument.parentWindow;
                                                var offsetL =3D =
w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft =
+ 2;
            var offsetT =3D w.screenTop - top.screenTop - =
top.document.documentElement.scrollTop + 2;

                                                                        =
var f =3D w.frameElement || null;
            if (f) {
                                                                         =
       var fstyle =3D f.currentStyle;
                offsetL +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingLeft) || 0) +
                    (parseInt(fstyle.borderLeftWidth) || 0) -
                    element.ownerDocument.documentElement.scrollLeft;
                offsetT +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingTop) || 0) +
                    (parseInt(fstyle.borderTopWidth) || 0) -
                    element.ownerDocument.documentElement.scrollTop;
            }

            var clientRect =3D clientRects[0];

            return new Sys.UI.Point(
                clientRect.left - offsetL,
                clientRect.top - offsetT);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

                                                var offsetX =3D 0;
            var offsetY =3D 0;

            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                var tagName =3D parent.tagName;

                                                                         =
       if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !=3D=3D "BODY") || (!previousStyle || =
previousStyle.position !=3D=3D "absolute"))) {

                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
            }

            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                for (var parent =3D element.parentNode; =
parent; parent =3D parent.parentNode) {
                    tagName =3D parent.tagName;

                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                    }
                    currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                    var parentPosition =3D currentStyle ? =
currentStyle.position : null;

                                        if (parentPosition && =
(parentPosition =3D=3D=3D "absolute")) break;
                }
            }

            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Opera:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

                                                var offsetX =3D 0;
            var offsetY =3D 0;

            var previous =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
parent =3D parent.offsetParent) {

                var tagName =3D parent.tagName;

                offsetX +=3D parent.offsetLeft || 0;
                offsetY +=3D parent.offsetTop || 0;
            }

                        var elementPosition =3D element.style.position;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");

                        for (var parent =3D element.parentNode; parent; =
parent =3D parent.parentNode) {
                tagName =3D parent.tagName;

                if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D "HTML") =
&& (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow =3D=3D=3D "scroll") || =
(parent.style.overflow =3D=3D=3D "auto"))))) {
                                       =20
                    offsetX -=3D (parent.scrollLeft || 0);
                    offsetY -=3D (parent.scrollTop || 0);
                }
                var parentPosition =3D (parent && parent.style) ? =
parent.style.position : null;

                                elementPositioned =3D elementPositioned =
|| (parentPosition && (parentPosition !=3D=3D "static"));
            }


            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    default:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName;
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);

                                                if ((parent.offsetLeft =
|| parent.offsetTop) &&
                    !((tagName =3D=3D=3D "BODY") &&
                    (!previousStyle || previousStyle.position !=3D=3D =
"absolute"))) {

                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }

                                                if (previous !=3D=3D =
null && currentStyle) {
                                                                         =
                                                                   if =
((tagName !=3D=3D "TABLE") && (tagName !=3D=3D "TD") && (tagName !=3D=3D =
"HTML")) {
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName =3D=3D=3D "TABLE" &&
                        (currentStyle.position =3D=3D=3D "relative" || =
currentStyle.position =3D=3D=3D "absolute")) {
                        offsetX +=3D parseInt(currentStyle.marginLeft) =
|| 0;
                        offsetY +=3D parseInt(currentStyle.marginTop) || =
0;
                    }
                }
            }

            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                                                         =
       for (var parent =3D element.parentNode; parent; parent =3D =
parent.parentNode) {
                                                                         =
       tagName =3D parent.tagName;

                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {

                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);

                        currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                }
            }

            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;

}


Sys.UI.DomElement.removeCssClass =3D function =
Sys$UI$DomElement$removeCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    var currentClassName =3D ' ' + element.className + ' ';
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length)).trim();
    }
}

Sys.UI.DomElement.setLocation =3D function =
Sys$UI$DomElement$setLocation(element, x, y) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;

    var style =3D element.style;
    style.position =3D 'absolute';
    style.left =3D x + "px";
    style.top =3D y + "px";
}

Sys.UI.DomElement.toggleCssClass =3D function =
Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    if (Sys.UI.DomElement.containsCssClass(element, className)) {
        Sys.UI.DomElement.removeCssClass(element, className);
    }
    else {
        Sys.UI.DomElement.addCssClass(element, className);
    }
}

Sys.UI.DomElement._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    var w =3D (element.ownerDocument ? element.ownerDocument : =
element.documentElement).defaultView;
    return ((w && (element !=3D=3D w) && w.getComputedStyle) ? =
w.getComputedStyle(element, null) : element.style);
}
Sys.UI.Behavior =3D function Sys$UI$Behavior(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    Sys.UI.Behavior.initializeBase(this);

    this._element =3D element;

    var behaviors =3D element._behaviors;
    if (!behaviors) {
        element._behaviors =3D [this];
    }
    else {
        behaviors[behaviors.length] =3D this;
    }
}


    function Sys$UI$Behavior$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var baseId =3D Sys.UI.Behavior.callBaseMethod(this, 'get_id');
        if (baseId) return baseId;
        if (!this._element || !this._element.id) return '';
        return this._element.id + '$' + this.get_name();
    }
    function Sys$UI$Behavior$get_name() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name =3D Object.getTypeName(this);
        var i =3D name.lastIndexOf('.');
        if (i !=3D -1) name =3D name.substr(i + 1);
        if (!this.get_isInitialized()) this._name =3D name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        if ((value =3D=3D=3D '') || (value.charAt(0) =3D=3D=3D ' ') || =
(value.charAt(value.length - 1) =3D=3D=3D ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !=3D=3D 'undefined')
            throw =
Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, =
value));
        if (this.get_isInitialized()) throw =
Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name =3D value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name =3D this.get_name();
        if (name) this._element[name] =3D this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        if (this._element) {
            var name =3D this.get_name();
            if (name) {
                this._element[name] =3D null;
            }
            Array.remove(this._element._behaviors, this);
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype =3D {
    _name: null,
    get_element: Sys$UI$Behavior$get_element,
    get_id: Sys$UI$Behavior$get_id,
    get_name: Sys$UI$Behavior$get_name,
    set_name: Sys$UI$Behavior$set_name,
    initialize: Sys$UI$Behavior$initialize,
    dispose: Sys$UI$Behavior$dispose
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component);

Sys.UI.Behavior.getBehaviorByName =3D function =
Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Sys.UI.Behavior" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    var b =3D element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}

Sys.UI.Behavior.getBehaviors =3D function =
Sys$UI$Behavior$getBehaviors(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}

Sys.UI.Behavior.getBehaviorsByType =3D function =
Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"type" type=3D"Type"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;

    var behaviors =3D element._behaviors;
    var results =3D [];
    if (behaviors) {
        for (var i =3D 0, l =3D behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] =3D behaviors[i];
            }
        }
    }
    return results;
}
Sys.UI.VisibilityMode =3D function Sys$UI$VisibilityMode() {
    /// <field name=3D"hide" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"collapse" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}



Sys.UI.VisibilityMode.prototype =3D {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");

Sys.UI.Control =3D function Sys$UI$Control(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (typeof(element.control) !=3D 'undefined') throw =
Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);

    this._element =3D element;
    element.control =3D this;

    this._oldDisplayMode =3D this._element.style.display;
    if (!this._oldDisplayMode || (this._oldDisplayMode =3D=3D 'none')) {
        this._oldDisplayMode =3D '';
    }
}




    function Sys$UI$Control$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        throw Error.invalidOperation(Sys.Res.cantSetId);
    }
    function Sys$UI$Control$get_parent() {
        /// <value type=3D"Sys.UI.Control"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parent) {
            return this._parent;
        }
        else {
            var parentElement =3D this._element.parentNode;
            while (parentElement) {
                if (parentElement.control) {
                    return parentElement.control;
                }
                parentElement =3D parentElement.parentNode;
            }
            return null;
        }
    }
    function Sys$UI$Control$set_parent(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.Control}]);
        if (e) throw e;

        var parents =3D [this];
        var current =3D value;
        while (current) {
            if (Array.contains(parents, current)) throw =
Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] =3D current;
            current =3D current.get_parent();
        }
        this._parent =3D value;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type=3D"Sys.UI.VisibilityMode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._visibilityMode;
    }
    function Sys$UI$Control$set_visibilityMode(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.VisibilityMode}]);
        if (e) throw e;

        if (this._visibilityMode !=3D=3D value) {
            this._visibilityMode =3D value;
            if (this.get_visible() =3D=3D=3D false) {
                if (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                    this._element.style.display =3D =
this._oldDisplayMode;
                }
                else {
                    this._element.style.display =3D 'none';
                }
            }
        }
        this._visibilityMode =3D value;
    }
    function Sys$UI$Control$get_visible() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return (this._element.style.visibility !=3D 'hidden');
    }
    function Sys$UI$Control$set_visible(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        if (value !=3D this.get_visible()) {
            this._element.style.visibility =3D value ? 'visible' : =
'hidden';
            if (value || (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
                this._element.style.display =3D this._oldDisplayMode;
            }
            else {
                this._element.style.display =3D 'none';
            }
        }
    }
    function Sys$UI$Control$addCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.addCssClass(this._element, className);
    }
    function Sys$UI$Control$dispose() {
        Sys.UI.Control.callBaseMethod(this, 'dispose');
        if (this._element) {
            this._element.control =3D undefined;
            delete this._element;
        }
    }
    function Sys$UI$Control$initialize() {
        Sys.UI.Control.callBaseMethod(this, 'initialize');
        var elt =3D this._element;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        /// <returns type=3D"Boolean"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        return false;
    }
    function Sys$UI$Control$raiseBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var currentTarget =3D this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget =3D currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.removeCssClass(this._element, className);
    }
    function Sys$UI$Control$toggleCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.toggleCssClass(this._element, className);
    }
Sys.UI.Control.prototype =3D {
    _parent: null,
    _visibilityMode: Sys.UI.VisibilityMode.hide,

    get_element: Sys$UI$Control$get_element,
    get_id: Sys$UI$Control$get_id,
    set_id: Sys$UI$Control$set_id,
    get_parent: Sys$UI$Control$get_parent,
    set_parent: Sys$UI$Control$set_parent,
    get_visibilityMode: Sys$UI$Control$get_visibilityMode,
    set_visibilityMode: Sys$UI$Control$set_visibilityMode,
    get_visible: Sys$UI$Control$get_visible,
    set_visible: Sys$UI$Control$set_visible,
    addCssClass: Sys$UI$Control$addCssClass,
    dispose: Sys$UI$Control$dispose,
    initialize: Sys$UI$Control$initialize,
    onBubbleEvent: Sys$UI$Control$onBubbleEvent,
    raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);

Type.registerNamespace('Sys');
Sys.Res=3D{
"argumentTypeName":"Value is not the name of an existing type.",
"methodRegisteredTwice":"Method {0} has already been registered.",
"cantSetIdAfterInit":"The id property can\u0027t be set on this object =
after initialization.",
"componentCantSetIdAfterAddedToApp":"The id property of a component =
can\u0027t be set after it\u0027s been added to the Application =
object.",
"behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already =
exists or it is the name of an existing property on the target =
element.",
"notATypeName":"Value is not a valid type name.",
"typeShouldBeTypeOrString":"Value is not a valid type or a valid type =
name.",
"boolTrueOrFalse":"Value must be \u0027true\u0027 or =
\u0027false\u0027.",
"stringFormatInvalid":"The format string is invalid.",
"referenceNotFound":"Component \u0027{0}\u0027 was not found.",
"enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t =
be used as an enum value name.",
"eventHandlerNotFound":"Handler not found.",
"circularParentChain":"The chain of control parents can\u0027t have =
circular references.",
"undefinedEvent":"\u0027{0}\u0027 is not an event.",
"notAMethod":"{0} is not a method.",
"propertyUndefined":"\u0027{0}\u0027 is not a property or an existing =
field.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. =
Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable =
\u0027Display a notification about every script error\u0027 under =
advanced settings.\r\n Missing call to =
Sys.Application.notifyScriptLoaded().",
"propertyNotWritable":"\u0027{0}\u0027 is not a writable property.",
"enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum =
value.",
"controlAlreadyDefined":"A control is already associated with the =
element.",
"namespaceContainsObject":"Object {0} already exists and is not a =
namespace.",
"cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a =
function.",
"scriptLoaderAlreadyLoading":"ScriptLoader.loadScripts cannot be called =
while the ScriptLoader is already loading scripts.",
"invalidNameSpace":"Value is not a valid namespace identifier.",
"notAnInterface":"Value is not a valid interface.",
"eventHandlerNotFunction":"Handler must be a function.",
"propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.",
"typeRegisteredTwice":"Type {0} has already been registered.",
"cantSetNameAfterInit":"The name property can\u0027t be set on this =
object after initialization.",
"appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 =
can\u0027t be added to the application.",
"appComponentMustBeInitialized":"Components must be initialized before =
they are added to the Application object.",
"baseNotAClass":"Value is not a class.",
"methodNotFound":"No method found with name \u0027{0}\u0027.",
"arrayParseBadFormat":"Value must be a valid string representation for =
an array. It must start with a \u0027[\u0027 and end with a =
\u0027]\u0027.",
"cantSetId":"The id property can\u0027t be set on this object.",
"stringFormatBraceMismatch":"The format string contains an unmatched =
opening or closing brace.",
"enumValueNotInteger":"An enumeration definition can only contain =
integer values.",
"propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 =
because it returned a null value.",
"componentCantSetIdTwice":"The id property of a component can\u0027t be =
set more than once.",
"createComponentOnDom":"Value must be null for Components that are not =
Controls or Behaviors.",
"createNotComponent":"{0} does not derive from Sys.Component.",
"createNoDom":"Value must not be null for Controls and Behaviors.",
"cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an =
id.",
"badTypeName":"Value is not the name of the type being registered or the =
name is a reserved word.",
"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_01CA3C87.8643C400
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: http://www.sheppnews.com.au/ScriptResource.axd?d=SZxxWxVQthaHDRq4IAkrHUYqLrqFdgBrOOjw__WQqbv4jN2d5Y4Aad1r7Bw2-TwuF0WYKHB1ETwebEUHRzmZLeX0RWdL-UWF2CmbYfcHyTdL-coowE-g2CF9nYkQNktF0&t=633529369534987500

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjaxWebForms.js
// Microsoft AJAX ASP.NET WebForms Framework.


Type.registerNamespace('Sys.WebForms');


Sys.WebForms.BeginRequestEventArgs =3D function =
Sys$WebForms$BeginRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.BeginRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function Sys$WebForms$BeginRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$BeginRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.BeginRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$BeginRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$BeginRequestEventArgs$get_request
}

Sys.WebForms.BeginRequestEventArgs.registerClass('Sys.WebForms.BeginReque=
stEventArgs', Sys.EventArgs);

Sys.WebForms.EndRequestEventArgs =3D function =
Sys$WebForms$EndRequestEventArgs(error, dataItems, response) {
    /// <param name=3D"error" type=3D"Error" mayBeNull=3D"true"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    /// <param name=3D"response" =
type=3D"Sys.Net.WebRequestExecutor"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "error", type: Error, mayBeNull: true},
        {name: "dataItems", type: Object, mayBeNull: true},
        {name: "response", type: Sys.Net.WebRequestExecutor}
    ]);
    if (e) throw e;


    Sys.WebForms.EndRequestEventArgs.initializeBase(this);
    this._errorHandled =3D false;
    this._error =3D error;
        this._dataItems =3D dataItems || new Object();
    this._response =3D response;
}


    function Sys$WebForms$EndRequestEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$EndRequestEventArgs$get_error() {
        /// <value type=3D"Error"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._error;
    }

    function Sys$WebForms$EndRequestEventArgs$get_errorHandled() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._errorHandled;
    }
    function Sys$WebForms$EndRequestEventArgs$set_errorHandled(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._errorHandled =3D value;
    }

    function Sys$WebForms$EndRequestEventArgs$get_response() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._response;
    }
Sys.WebForms.EndRequestEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$EndRequestEventArgs$get_dataItems,

    get_error: Sys$WebForms$EndRequestEventArgs$get_error,

    get_errorHandled: Sys$WebForms$EndRequestEventArgs$get_errorHandled,
    set_errorHandled: Sys$WebForms$EndRequestEventArgs$set_errorHandled,

    get_response: Sys$WebForms$EndRequestEventArgs$get_response
}

Sys.WebForms.EndRequestEventArgs.registerClass('Sys.WebForms.EndRequestEv=
entArgs', Sys.EventArgs);

Sys.WebForms.InitializeRequestEventArgs =3D function =
Sys$WebForms$InitializeRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$InitializeRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.InitializeRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$InitializeRequestEventArgs$get_request
}

Sys.WebForms.InitializeRequestEventArgs.registerClass('Sys.WebForms.Initi=
alizeRequestEventArgs', Sys.CancelEventArgs);

Sys.WebForms.PageLoadedEventArgs =3D function =
Sys$WebForms$PageLoadedEventArgs(panelsUpdated, panelsCreated, =
dataItems) {
    /// <param name=3D"panelsUpdated" type=3D"Array"></param>
    /// <param name=3D"panelsCreated" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdated", type: Array},
        {name: "panelsCreated", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadedEventArgs.initializeBase(this);

    this._panelsUpdated =3D panelsUpdated;
    this._panelsCreated =3D panelsCreated;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadedEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsCreated;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdated;
    }
Sys.WebForms.PageLoadedEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadedEventArgs$get_dataItems,

    get_panelsCreated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsCreated,

    get_panelsUpdated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated
}

Sys.WebForms.PageLoadedEventArgs.registerClass('Sys.WebForms.PageLoadedEv=
entArgs', Sys.EventArgs);

Sys.WebForms.PageLoadingEventArgs =3D function =
Sys$WebForms$PageLoadingEventArgs(panelsUpdating, panelsDeleting, =
dataItems) {
    /// <param name=3D"panelsUpdating" type=3D"Array"></param>
    /// <param name=3D"panelsDeleting" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdating", type: Array},
        {name: "panelsDeleting", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadingEventArgs.initializeBase(this);

    this._panelsUpdating =3D panelsUpdating;
    this._panelsDeleting =3D panelsDeleting;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadingEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsDeleting;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdating;
    }
Sys.WebForms.PageLoadingEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadingEventArgs$get_dataItems,

    get_panelsDeleting: =
Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting,

    get_panelsUpdating: =
Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating
}

Sys.WebForms.PageLoadingEventArgs.registerClass('Sys.WebForms.PageLoading=
EventArgs', Sys.EventArgs);
Sys.WebForms.PageRequestManager =3D function =
Sys$WebForms$PageRequestManager() {
    this._form =3D null;
    this._updatePanelIDs =3D null;
    this._updatePanelClientIDs =3D null;
    this._oldUpdatePanelIDs =3D null;
    this._childUpdatePanelIDs =3D null;
    this._panelsToRefreshIDs =3D null;
    this._updatePanelHasChildrenAsTriggers =3D null;
    this._asyncPostBackControlIDs =3D null;
    this._asyncPostBackControlClientIDs =3D null;
    this._postBackControlIDs =3D null;
    this._postBackControlClientIDs =3D null;
    this._scriptManagerID =3D null;
    this._pageLoadedHandler =3D null;

    this._additionalInput =3D null;
    this._onsubmit =3D null;
    this._onSubmitStatements =3D [];
    this._originalDoPostBack =3D null;
    this._postBackSettings =3D null;
    this._request =3D null;
    this._onFormSubmitHandler =3D null;
    this._onFormElementClickHandler =3D null;
    this._onWindowUnloadHandler =3D null;
    this._asyncPostBackTimeout =3D null;

    this._controlIDToFocus =3D null;
    this._scrollPosition =3D null;
    this._dataItems =3D null;
    this._response =3D null;
    this._processingRequest =3D false;
    this._scriptDisposes =3D {};
}



    function Sys$WebForms$PageRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$WebForms$PageRequestManager$get_isInAsyncPostBack() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request !=3D=3D null;
    }


    function Sys$WebForms$PageRequestManager$add_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("beginRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("beginRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_endRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_endRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("endRequest", =
handler);
    }

    function =
Sys$WebForms$PageRequestManager$add_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("initializeRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("initializeRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoaded(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoaded(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoaded", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoading(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoading(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoading", =
handler);
    }

    function Sys$WebForms$PageRequestManager$abortPostBack() {
        if (!this._processingRequest && this._request) {
            this._request.get_executor().abort();
            this._request =3D null;
        }
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError() =
{
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerTimeoutException: " + =
Sys.WebForms.Res.PRM_TimeoutError;
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerTimeoutException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError(http=
StatusCode, message) {
                var displayMessage =3D message || =
("Sys.WebForms.PageRequestManagerServerErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ServerError, httpStatusCode));
        var e =3D Error.create(displayMessage, {
            name: 'Sys.WebForms.PageRequestManagerServerErrorException',
            httpStatusCode: httpStatusCode
        });
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError(pars=
erErrorMessage) {
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerParserErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ParserError, parserErrorMessage);
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerParserErrorException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPostBackSettings(async, panelID, =
sourceElement) {

        return { async:async, panelID:panelID, =
sourceElement:sourceElement };
    }

    function Sys$WebForms$PageRequestManager$_convertToClientIDs(source, =
destinationIDs, destinationClientIDs) {
        if (source) {
            for (var i =3D 0; i < source.length; i++) {
                Array.add(destinationIDs, source[i]);
                Array.add(destinationClientIDs, =
this._uniqueIDToClientID(source[i]));
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_decodeString(encodedValue) =
{
        return encodedValue.replace(/\\\u00FF\\/g, =
"\u0000").replace(/\u00FF\u00FF/g, "\u00FF");
    }

    function Sys$WebForms$PageRequestManager$_destroyTree(element) {
                if (element.nodeType =3D=3D=3D 1) {
                                    var childNodes =3D =
element.childNodes;
            for (var i =3D childNodes.length - 1; i >=3D 0; i--) {
                var node =3D childNodes[i];
                if (node.nodeType =3D=3D=3D 1) {
                    if (node.dispose && typeof(node.dispose) =3D=3D=3D =
"function") {
                        node.dispose();
                    }
                    else if (node.control && =
typeof(node.control.dispose) =3D=3D=3D "function") {
                        node.control.dispose();
                    }
                    var behaviors =3D =
Sys.UI.Behavior.getBehaviors(node);
                    for (var j =3D behaviors.length - 1; j >=3D 0; j--) =
{
                        behaviors[j].dispose();
                    }
                    this._destroyTree(node);
                }
            }
        }
    }

    function Sys$WebForms$PageRequestManager$dispose() {
        if (this._form) {
            Sys.UI.DomEvent.removeHandler(this._form, 'submit', =
this._onFormSubmitHandler);
            Sys.UI.DomEvent.removeHandler(this._form, 'click', =
this._onFormElementClickHandler);
            Sys.UI.DomEvent.removeHandler(window, 'unload', =
this._onWindowUnloadHandler);
            Sys.UI.DomEvent.removeHandler(window, 'load', =
this._pageLoadedHandler);
        }

        if (this._originalDoPostBack) {
            window.__doPostBack =3D this._originalDoPostBack;
            this._originalDoPostBack =3D null;
        }

        this._form =3D null;
        this._updatePanelIDs =3D null;
        this._oldUpdatePanelIDs =3D null;
        this._childUpdatePanelIDs =3D null;
        this._updatePanelClientIDs =3D null;
        this._asyncPostBackControlIDs =3D null;
        this._asyncPostBackControlClientIDs =3D null;
        this._postBackControlIDs =3D null;
        this._postBackControlClientIDs =3D null;
        this._asyncPostBackTimeout =3D null;
        this._scrollPosition =3D null;
        this._dataItems =3D null;
    }


    function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget, =
eventArgument) {
        this._additionalInput =3D null;

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
        }
        else {
                        var clientID =3D =
this._uniqueIDToClientID(eventTarget);
            var postBackElement =3D document.getElementById(clientID);
            if (!postBackElement) {
                                                                         =
       if (Array.contains(this._asyncPostBackControlIDs, eventTarget)) {
                                        this._postBackSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
eventTarget, null);
                }
                else {
                    if (Array.contains(this._postBackControlIDs, =
eventTarget)) {
                                                this._postBackSettings =
=3D this._createPostBackSettings(false, null, null);
                    }
                    else {
                                                                         =
                       var nearestUniqueIDMatch =3D =
this._findNearestElement(eventTarget);
                        if (nearestUniqueIDMatch) {
                                                                         =
           this._postBackSettings =3D =
this._getPostBackSettings(nearestUniqueIDMatch, eventTarget);
                        }
                        else {
                                                                         =
           this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
                        }
                    }
                }
            }
            else {
                                                this._postBackSettings =
=3D this._getPostBackSettings(postBackElement, eventTarget);
            }
        }

        if (!this._postBackSettings.async) {
                                    form.onsubmit =3D this._onsubmit;
            this._originalDoPostBack(eventTarget, eventArgument);
            form.onsubmit =3D null;
            return;
        }

        form.__EVENTTARGET.value =3D eventTarget;
        form.__EVENTARGUMENT.value =3D eventArgument;
        this._onFormSubmit();
    }

    function Sys$WebForms$PageRequestManager$_elementContains(container, =
element) {
        while (element) {
            if (element =3D=3D=3D container) {
                return true;
            }
            element =3D element.parentNode;
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_endPostBack(error, =
response) {
        this._processingRequest =3D false;

        this._request =3D null;
        this._additionalInput =3D null;

        var handler =3D =
this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled =3D false;
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.EndRequestEventArgs(error, this._dataItems, response);
            handler(this, eventArgs);
            errorHandled =3D eventArgs.get_errorHandled();
        }
        this._dataItems =3D null;
        if (error && !errorHandled) {
            alert(error.message);
        }
    }



    function =
Sys$WebForms$PageRequestManager$_findNearestElement(uniqueID) {
        while (uniqueID.length > 0) {
            var clientID =3D this._uniqueIDToClientID(uniqueID);
            var element =3D document.getElementById(clientID);
            if (element) {
                return element;
            }
            var indexOfLastDollar =3D uniqueID.lastIndexOf('$');
            if (indexOfLastDollar =3D=3D=3D -1) {
                return null;
            }
            uniqueID =3D uniqueID.substring(0, indexOfLastDollar);
        }
        return null;
    }

    function Sys$WebForms$PageRequestManager$_findText(text, location) {
        var startIndex =3D Math.max(0, location - 20);
        var endIndex =3D Math.min(text.length, location + 20);
        return text.substring(startIndex, endIndex);
    }

    function =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad) {
                                                                         =
                                                              =20
        var updated =3D [];
        var created =3D [];

                var oldIDs =3D this._oldUpdatePanelIDs || [];         =
var newIDs =3D this._updatePanelIDs;         var childIDs =3D =
this._childUpdatePanelIDs || [];         var refreshedIDs =3D =
this._panelsToRefreshIDs || [];=20
                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                        for (var i =3D 0; i < newIDs.length; i++) {
            if (initialLoad || Array.indexOf(childIDs, newIDs[i]) =
!=3D=3D -1) {
                Array.add(created, =
document.getElementById(this._uniqueIDToClientID(newIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadedEventArgs(updated, created, =
this._dataItems);
    }

    function Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs() =
{
                                                                         =
                                                              =20
        var updated =3D [];
        var deleted =3D [];

        var oldIDs =3D this._oldUpdatePanelIDs;
        var newIDs =3D this._updatePanelIDs;
        var childIDs =3D this._childUpdatePanelIDs;
        var refreshedIDs =3D this._panelsToRefreshIDs;

                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                for (var i =3D 0; i < oldIDs.length; i++) {
            if (Array.indexOf(refreshedIDs, oldIDs[i]) =3D=3D=3D -1 &&
                (Array.indexOf(newIDs, oldIDs[i]) =3D=3D=3D -1 || =
Array.indexOf(childIDs, oldIDs[i]) > -1)) {
                Array.add(deleted, =
document.getElementById(this._uniqueIDToClientID(oldIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadingEventArgs(updated, deleted, =
this._dataItems);
    }

    function =
Sys$WebForms$PageRequestManager$_getPostBackSettings(element, =
elementUniqueID) {


        var originalElement =3D element;

                        var proposedSettings =3D null;

                        while (element) {
            if (element.id) {
                                if (!proposedSettings && =
Array.contains(this._asyncPostBackControlClientIDs, element.id)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
Array.contains(this._postBackControlClientIDs, element.id)) {
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                    else {
                        var indexOfPanel =3D =
Array.indexOf(this._updatePanelClientIDs, element.id);
                        if (indexOfPanel !=3D=3D -1) {
                                                        if =
(this._updatePanelHasChildrenAsTriggers[indexOfPanel]) {
                                                               =20
                                                                         =
                                                       return =
this._createPostBackSettings(true, this._updatePanelIDs[indexOfPanel] + =
'|' + elementUniqueID, originalElement);
                            }
                            else {
                                                                         =
                       return this._createPostBackSettings(true, =
this._scriptManagerID + '|' + elementUniqueID, originalElement);
                            }
                        }
                    }
                }

                                if (!proposedSettings && =
this._matchesParentIDInList(element.id, =
this._asyncPostBackControlClientIDs)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
this._matchesParentIDInList(element.id, this._postBackControlClientIDs)) =
{
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                }
            }

            element =3D element.parentNode;
        }

                                                if (!proposedSettings) {
                        return this._createPostBackSettings(false, null, =
null);
        }
        else {
            return proposedSettings;
        }
    }

    function Sys$WebForms$PageRequestManager$_getScrollPosition() {
        var d =3D document.documentElement;
        if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
            return {
                x: d.scrollLeft,
                y: d.scrollTop
            };
        }
        else {
            d =3D document.body;
            if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
                return {
                    x: d.scrollLeft,
                    y: d.scrollTop
                };
            }
            else {
                if (this._validPosition(window.pageXOffset) || =
this._validPosition(window.pageYOffset)) {
                    return {
                        x: window.pageXOffset,
                        y: window.pageYOffset
                    };
                }
                else {
                    return {
                        x: 0,
                        y: 0
                    };
                }
            }
        }
    }

    function =
Sys$WebForms$PageRequestManager$_initializeInternal(scriptManagerID, =
formElement) {
        this._scriptManagerID =3D scriptManagerID;

        this._form =3D formElement;

       =20
                this._form._initialAction =3D this._form.action;

        this._onsubmit =3D this._form.onsubmit;
        this._form.onsubmit =3D null;
        this._onFormSubmitHandler =3D Function.createDelegate(this, =
this._onFormSubmit);
        this._onFormElementClickHandler =3D =
Function.createDelegate(this, this._onFormElementClick);
        this._onWindowUnloadHandler =3D Function.createDelegate(this, =
this._onWindowUnload);
        Sys.UI.DomEvent.addHandler(this._form, 'submit', =
this._onFormSubmitHandler);
        Sys.UI.DomEvent.addHandler(this._form, 'click', =
this._onFormElementClickHandler);
        Sys.UI.DomEvent.addHandler(window, 'unload', =
this._onWindowUnloadHandler);

        this._originalDoPostBack =3D window.__doPostBack;
                if (this._originalDoPostBack) {
            window.__doPostBack =3D Function.createDelegate(this, =
this._doPostBack);
        }

        this._pageLoadedHandler =3D Function.createDelegate(this, =
this._pageLoadedInitialLoad);
        Sys.UI.DomEvent.addHandler(window, 'load', =
this._pageLoadedHandler);
    }

    function =
Sys$WebForms$PageRequestManager$_matchesParentIDInList(clientID, =
parentIDList) {
        for (var i =3D 0; i < parentIDList.length; i++) {
            if (clientID.startsWith(parentIDList[i] + "_")) {
                return true;
            }
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_onFormElementClick(evt) {
        var element =3D evt.target;
        if (element.disabled) {
            return;
        }

                this._postBackSettings =3D =
this._getPostBackSettings(element, element.name);


        if (element.name) {
            if (element.tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if (type =3D=3D=3D 'submit') {
                    this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
                }
                else if (type =3D=3D=3D 'image') {
                    var x =3D evt.offsetX;
                    var y =3D evt.offsetY;
                    this._additionalInput =3D element.name + '.x=3D' + x =
+ '&' + element.name + '.y=3D' + y;
                }
            }
            else if ((element.tagName =3D=3D=3D 'BUTTON') && =
(element.name.length !=3D=3D 0) && (element.type =3D=3D=3D 'submit')) {
                this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_onFormSubmit(evt) {
        var continueSubmit =3D true;

                if (this._onsubmit) {
            continueSubmit =3D this._onsubmit();
        }

                if (continueSubmit) {
            for (var i =3D 0; i < this._onSubmitStatements.length; i++) =
{
                if (!this._onSubmitStatements[i]()) {
                    continueSubmit =3D false;
                    break;
                }
            }
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    return;
        }

                        if (!this._postBackSettings.async) {
            return;
        }

                var formBody =3D new Sys.StringBuilder();
        formBody.append(this._scriptManagerID + '=3D' + =
this._postBackSettings.panelID + '&');

        var count =3D form.elements.length;
        for (var i =3D 0; i < count; i++) {
            var element =3D form.elements[i];
            var name =3D element.name;
            if (typeof(name) =3D=3D=3D "undefined" || (name =3D=3D=3D =
null) || (name.length =3D=3D=3D 0)) {
                continue;
            }

            var tagName =3D element.tagName;

            if (tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if ((type =3D=3D=3D 'text') ||
                    (type =3D=3D=3D 'password') ||
                    (type =3D=3D=3D 'hidden') ||
                    (((type =3D=3D=3D 'checkbox') || (type =3D=3D=3D =
'radio')) && element.checked)) {
                    formBody.append(name);
                    formBody.append('=3D');
                    formBody.append(encodeURIComponent(element.value));
                    formBody.append('&');
                }
            }
            else if (tagName =3D=3D=3D 'SELECT') {
                var optionCount =3D element.options.length;
                for (var j =3D 0; j < optionCount; j++) {
                    var option =3D element.options[j];
                    if (option.selected) {
                        formBody.append(name);
                        formBody.append('=3D');
                        =
formBody.append(encodeURIComponent(option.value));
                        formBody.append('&');
                    }
                }
            }
            else if (tagName =3D=3D=3D 'TEXTAREA') {
                formBody.append(name);
                formBody.append('=3D');
                formBody.append(encodeURIComponent(element.value));
                formBody.append('&');
            }
        }

        if (this._additionalInput) {
            formBody.append(this._additionalInput);
            this._additionalInput =3D null;
        }

        var request =3D new Sys.Net.WebRequest();
        request.set_url(form.action);
        request.get_headers()['X-MicrosoftAjax'] =3D 'Delta=3Dtrue';
        request.get_headers()['Cache-Control'] =3D 'no-cache';
        request.set_timeout(this._asyncPostBackTimeout);
        request.add_completed(Function.createDelegate(this, =
this._onFormSubmitCompleted));
        request.set_body(formBody.toString());

        var handler =3D =
this._get_eventHandlerList().getHandler("initializeRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.InitializeRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
            continueSubmit =3D !eventArgs.get_cancel();
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

                this._scrollPosition =3D this._getScrollPosition();


                                this.abortPostBack();

        handler =3D =
this._get_eventHandlerList().getHandler("beginRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.BeginRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
        }

        this._request =3D request;
        request.invoke();

                if (evt) {
            evt.preventDefault();
        }
    }

    function =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, =
eventArgs) {
        this._processingRequest =3D true;

        var delimitByLengthDelimiter =3D '|';
       =20
        if (sender.get_timedOut()) {
            =
this._endPostBack(this._createPageRequestManagerTimeoutError(), sender);
            return;
        }

        if (sender.get_aborted()) {
            this._endPostBack(null, sender);
            return;
        }

                if (!this._request || sender.get_webRequest() !=3D=3D =
this._request) {
            return;
        }

        var errorMessage;
        var delta =3D [];

                if (sender.get_statusCode() !=3D=3D 200) {
            =
this._endPostBack(this._createPageRequestManagerServerError(sender.get_st=
atusCode()), sender);
            return;
        }

                        var reply =3D sender.get_responseData();
        var delimiterIndex, len, type, id, content;
        var replyIndex =3D 0;
        var parserErrorDetails =3D null;

        while (replyIndex < reply.length) {
                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            len =3D parseInt(reply.substring(replyIndex, =
delimiterIndex), 10);
            if ((len % 1) !=3D=3D 0) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            type =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            id =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        if ((replyIndex + len) >=3D reply.length) {
                parserErrorDetails =3D this._findText(reply, =
reply.length);
                break;
            }
            content =3D this._decodeString(reply.substr(replyIndex, =
len));
            replyIndex +=3D len;

                        if (reply.charAt(replyIndex) !=3D=3D =
delimitByLengthDelimiter) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }

            replyIndex++;

            Array.add(delta, {type: type, id: id, content: content});
        }

                if (parserErrorDetails) {
            =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_ParserErrorDetails, parserErrorDetails)), sender);
            return;
        }


        var updatePanelNodes =3D [];
        var hiddenFieldNodes =3D [];
        var arrayDeclarationNodes =3D [];
        var scriptBlockNodes =3D [];
        var expandoNodes =3D [];
        var onSubmitNodes =3D [];
        var dataItemNodes =3D [];
        var dataItemJsonNodes =3D [];
        var scriptDisposeNodes =3D [];
        var asyncPostBackControlIDsNode, postBackControlIDsNode,
            updatePanelIDsNode, asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode, panelsToRefreshNode, =
formActionNode;

                for (var i =3D 0; i < delta.length; i++) {
            var deltaNode =3D delta[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 =3D deltaNode;
                    break;
                case "postBackControlIDs":
                    postBackControlIDsNode =3D deltaNode;
                    break;
                case "updatePanelIDs":
                    updatePanelIDsNode =3D deltaNode;
                    break;
                case "asyncPostBackTimeout":
                    asyncPostBackTimeoutNode =3D deltaNode;
                    break;
                case "childUpdatePanelIDs":
                    childUpdatePanelIDsNode =3D deltaNode;
                    break;
                case "panelsToRefreshIDs":
                    panelsToRefreshNode =3D deltaNode;
                    break;
                case "formAction":
                    formActionNode =3D deltaNode;
                    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 =3D deltaNode.content;
                    return;
                case "error":
                                        =
this._endPostBack(this._createPageRequestManagerServerError(Number.parseI=
nvariant(deltaNode.id), deltaNode.content), sender);
                    return;
                case "pageTitle":
                    document.title =3D deltaNode.content;
                    break;
                case "focus":
                    this._controlIDToFocus =3D deltaNode.content;
                    break;
                default:
                                        =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_UnknownToken, deltaNode.type)), sender);
                    return;
            }
        }

        var i;

                if (asyncPostBackControlIDsNode && =
postBackControlIDsNode &&
            updatePanelIDsNode && panelsToRefreshNode &&
            asyncPostBackTimeoutNode && childUpdatePanelIDsNode) {

            this._oldUpdatePanelIDs =3D this._updatePanelIDs;
            var childUpdatePanelIDsString =3D =
childUpdatePanelIDsNode.content;
            this._childUpdatePanelIDs =3D =
childUpdatePanelIDsString.length ? childUpdatePanelIDsString.split(',') =
: [];

            var asyncPostBackControlIDsArray =3D =
this._splitNodeIntoArray(asyncPostBackControlIDsNode);
            var postBackControlIDsArray =3D =
this._splitNodeIntoArray(postBackControlIDsNode);
            var updatePanelIDsArray =3D =
this._splitNodeIntoArray(updatePanelIDsNode);
            this._panelsToRefreshIDs =3D =
this._splitNodeIntoArray(panelsToRefreshNode);

                                                for (i =3D 0; i < =
this._panelsToRefreshIDs.length; i++) {
                var panelClientID =3D =
this._uniqueIDToClientID(this._panelsToRefreshIDs[i]);
                if (!document.getElementById(panelClientID)) {
                    =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, panelClientID)), sender);
                    return;
                }
            }

            var asyncPostBackTimeout =3D =
asyncPostBackTimeoutNode.content;
            this._updateControls(updatePanelIDsArray, =
asyncPostBackControlIDsArray, postBackControlIDsArray, =
asyncPostBackTimeout);
        }

                this._dataItems =3D {};
        for (i =3D 0; i < dataItemNodes.length; i++) {
            var dataItemNode =3D dataItemNodes[i];
            this._dataItems[dataItemNode.id] =3D dataItemNode.content;
        }
        for (i =3D 0; i < dataItemJsonNodes.length; i++) {
            var dataItemJsonNode =3D dataItemJsonNodes[i];
            this._dataItems[dataItemJsonNode.id] =3D =
eval(dataItemJsonNode.content);
        }


        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoading");
        if (handler) {
            handler(this, this._getPageLoadingEventArgs());
        }


                if (formActionNode) {
            this._form.action =3D formActionNode.content;
                                                =
this._form._initialAction =3D this._form.action;
        }

                                for (i =3D 0; i < =
updatePanelNodes.length; i++) {
            var deltaUpdatePanel =3D updatePanelNodes[i];

            var deltaPanelID =3D deltaUpdatePanel.id;
            var deltaPanelRendering =3D deltaUpdatePanel.content;

            var updatePanelElement =3D =
document.getElementById(deltaPanelID);

            if (!updatePanelElement) {
                =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, deltaPanelID)), sender);
                return;
            }

            this._updatePanel(updatePanelElement, deltaPanelRendering);
        }

                                for (i =3D 0; i < =
scriptDisposeNodes.length; i++) {
            var disposePanelId =3D scriptDisposeNodes[i].id;
            var disposeScript =3D scriptDisposeNodes[i].content;
            this._registerDisposeScript(disposePanelId, disposeScript);
        }

                for (i =3D 0; i < hiddenFieldNodes.length; i++) {
            var id =3D hiddenFieldNodes[i].id;
            var value =3D hiddenFieldNodes[i].content;

            var hiddenFieldElement =3D document.getElementById(id);
            if (!hiddenFieldElement) {
                                hiddenFieldElement =3D =
document.createElement('input');
                hiddenFieldElement.id =3D id;
                hiddenFieldElement.name =3D id;
                hiddenFieldElement.type =3D 'hidden';
                this._form.appendChild(hiddenFieldElement);
            }
            hiddenFieldElement.value =3D value;
        }

                var arrayScript =3D '';
        for (i =3D 0; i < arrayDeclarationNodes.length; i++) {
            arrayScript +=3D =
"Sys.WebForms.PageRequestManager._addArrayElement('" + =
arrayDeclarationNodes[i].id + "', " + arrayDeclarationNodes[i].content + =
");\r\n";
        }

                var expandoScript =3D '';
        for (i =3D 0; i < expandoNodes.length; i++) {
            var propertyReference =3D expandoNodes[i].id;
            var propertyValue =3D expandoNodes[i].content;
            expandoScript +=3D propertyReference + " =3D " + =
propertyValue + "\r\n";
        }

                        Sys._ScriptLoader.readLoadedScripts();

                                Sys.Application.beginCreateComponents();

        var scriptLoader =3D Sys._ScriptLoader.getInstance();

                                        if (arrayScript.length) {
            scriptLoader.queueScriptBlock(arrayScript);
        }
        if (expandoScript.length) {
            scriptLoader.queueScriptBlock(expandoScript);
        }

        for (i =3D 0; i < scriptBlockNodes.length; i++) {
            var scriptBlockType =3D scriptBlockNodes[i].id;
            switch (scriptBlockType) {
                case "ScriptContentNoTags":
                                        =
scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);
                    break;
                case "ScriptContentWithTags":
                                        var scriptTagAttributes;
                    eval("scriptTagAttributes =3D " + =
scriptBlockNodes[i].content);

                                        if (scriptTagAttributes.src && =
Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) {
                        continue;
                    }

                    =
scriptLoader.queueCustomScriptTag(scriptTagAttributes);
                    break;
                case "ScriptPath":
                                        if =
(Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content)) {
                        continue;
                    }

                                        =
scriptLoader.queueScriptReference(scriptBlockNodes[i].content);
                    break;
            }
        }

                        var onSubmitStatementScript =3D '';
        for (var i =3D 0; i < onSubmitNodes.length; i++) {
            if (i =3D=3D=3D 0) {
                onSubmitStatementScript =3D =
'Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStateme=
nts, function() {\r\n';
            }

            onSubmitStatementScript +=3D onSubmitNodes[i].content + =
"\r\n";
        }
        if (onSubmitStatementScript.length) {
            onSubmitStatementScript +=3D "\r\nreturn true;\r\n});\r\n";
            scriptLoader.queueScriptBlock(onSubmitStatementScript);
        }

                this._response =3D sender;

                        scriptLoader.loadScripts(0, =
Function.createDelegate(this, this._scriptsLoadComplete), null, null);

                    }

    function Sys$WebForms$PageRequestManager$_onWindowUnload(evt) {
        this.dispose();
    }

    function Sys$WebForms$PageRequestManager$_pageLoaded(initialLoad) {
        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoaded");
        if (handler) {
            handler(this, this._getPageLoadedEventArgs(initialLoad));
        }
        if (!initialLoad) {
                                    Sys.Application.raiseLoad();
        }
    }

    function Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad(evt) =
{
        this._pageLoaded(true);
    }

    function =
Sys$WebForms$PageRequestManager$_registerDisposeScript(panelID, =
disposeScript) {
        if (!this._scriptDisposes[panelID]) {
            this._scriptDisposes[panelID] =3D [disposeScript];
        }
        else {
            Array.add(this._scriptDisposes[panelID], disposeScript);
        }
    }

    function Sys$WebForms$PageRequestManager$_scriptsLoadComplete() {
                       =20
                                                if =
(window.__theFormPostData) {
            window.__theFormPostData =3D "";
        }
        if (window.__theFormPostCollection) {
            window.__theFormPostCollection =3D [];
        }
        if (window.WebForm_InitCallback) {
            window.WebForm_InitCallback();
        }

                if (this._scrollPosition) {
                        if (window.scrollTo) {
                window.scrollTo(this._scrollPosition.x, =
this._scrollPosition.y);
            }
            this._scrollPosition =3D null;
        }

        Sys.Application.endCreateComponents();

                this._pageLoaded(false);

        this._endPostBack(null, this._response);
        this._response =3D null;

                if (this._controlIDToFocus) {
            var focusTarget;
            var oldContentEditableSetting;
            if (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) {
                                                                         =
       var targetControl =3D $get(this._controlIDToFocus);

                var focusTarget =3D targetControl;
                                if (targetControl && =
(!WebForm_CanFocus(targetControl))) {
                    focusTarget =3D =
WebForm_FindFirstFocusableChild(targetControl);
                }
                                                if (focusTarget && =
(typeof(focusTarget.contentEditable) !=3D=3D "undefined")) {
                    oldContentEditableSetting =3D =
focusTarget.contentEditable;
                    focusTarget.contentEditable =3D false;
                }
                else {
                    focusTarget =3D null;
                }
            }
            WebForm_AutoFocus(this._controlIDToFocus);
            if (focusTarget) {
                                focusTarget.contentEditable =3D =
oldContentEditableSetting;
            }
            this._controlIDToFocus =3D null;
        }
    }

    function Sys$WebForms$PageRequestManager$_splitNodeIntoArray(node) {
        var str =3D node.content;
        var arr =3D str.length ? str.split(',') : [];
        return arr;
    }

    function =
Sys$WebForms$PageRequestManager$_uniqueIDToClientID(uniqueID) {
                return uniqueID.replace(/\$/g, '_');
    }

    function =
Sys$WebForms$PageRequestManager$_updateControls(updatePanelIDs, =
asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout) {
        if (updatePanelIDs) {
                                                this._updatePanelIDs =3D =
new Array(updatePanelIDs.length);
            this._updatePanelClientIDs =3D new =
Array(updatePanelIDs.length);
            this._updatePanelHasChildrenAsTriggers =3D new =
Array(updatePanelIDs.length);
            for (var i =3D 0; i < updatePanelIDs.length; i++) {
                var realPanelID =3D updatePanelIDs[i].substr(1);
                var childrenAsTriggers =3D (updatePanelIDs[i].charAt(0) =
=3D=3D=3D 't');

                                =
this._updatePanelHasChildrenAsTriggers[i] =3D childrenAsTriggers;
                this._updatePanelIDs[i] =3D realPanelID;
                this._updatePanelClientIDs[i] =3D =
this._uniqueIDToClientID(realPanelID);
            }
            this._asyncPostBackTimeout =3D asyncPostBackTimeout * 1000;
        }
        else {
            this._updatePanelIDs =3D [];
            this._updatePanelClientIDs =3D [];
            this._updatePanelHasChildrenAsTriggers =3D [];
            this._asyncPostBackTimeout =3D 0;
        }

        this._asyncPostBackControlIDs =3D [];
        this._asyncPostBackControlClientIDs =3D [];
        this._convertToClientIDs(asyncPostBackControlIDs, =
this._asyncPostBackControlIDs, this._asyncPostBackControlClientIDs);

        this._postBackControlIDs =3D [];
        this._postBackControlClientIDs =3D [];
        this._convertToClientIDs(postBackControlIDs, =
this._postBackControlIDs, this._postBackControlClientIDs);
    }

    function =
Sys$WebForms$PageRequestManager$_updatePanel(updatePanelElement, =
rendering) {

        for (var updatePanelID in this._scriptDisposes) {
            if (this._elementContains(updatePanelElement, =
document.getElementById(updatePanelID))) {
                                var disposeScripts =3D =
this._scriptDisposes[updatePanelID];
                for (var i =3D 0; i < disposeScripts.length; i++) {
                    eval(disposeScripts[i]);
                }

                                delete =
this._scriptDisposes[updatePanelID];
            }
        }

        this._destroyTree(updatePanelElement);

                updatePanelElement.innerHTML =3D rendering;
    }

    function Sys$WebForms$PageRequestManager$_validPosition(position) {
        return (typeof(position) !=3D=3D "undefined") && (position =
!=3D=3D null) && (position !=3D=3D 0);
    }
Sys.WebForms.PageRequestManager.prototype =3D {

    _get_eventHandlerList: =
Sys$WebForms$PageRequestManager$_get_eventHandlerList,

    get_isInAsyncPostBack: =
Sys$WebForms$PageRequestManager$get_isInAsyncPostBack,

        add_beginRequest: =
Sys$WebForms$PageRequestManager$add_beginRequest,
    remove_beginRequest: =
Sys$WebForms$PageRequestManager$remove_beginRequest,

    add_endRequest: Sys$WebForms$PageRequestManager$add_endRequest,
    remove_endRequest: =
Sys$WebForms$PageRequestManager$remove_endRequest,

    add_initializeRequest: =
Sys$WebForms$PageRequestManager$add_initializeRequest,
    remove_initializeRequest: =
Sys$WebForms$PageRequestManager$remove_initializeRequest,

    add_pageLoaded: Sys$WebForms$PageRequestManager$add_pageLoaded,
    remove_pageLoaded: =
Sys$WebForms$PageRequestManager$remove_pageLoaded,

    add_pageLoading: Sys$WebForms$PageRequestManager$add_pageLoading,
    remove_pageLoading: =
Sys$WebForms$PageRequestManager$remove_pageLoading,

    abortPostBack: Sys$WebForms$PageRequestManager$abortPostBack,

    _createPageRequestManagerTimeoutError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError,

    _createPageRequestManagerServerError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError,

    _createPageRequestManagerParserError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError,

    _createPostBackSettings: =
Sys$WebForms$PageRequestManager$_createPostBackSettings,

    _convertToClientIDs: =
Sys$WebForms$PageRequestManager$_convertToClientIDs,

    _decodeString: Sys$WebForms$PageRequestManager$_decodeString,

    _destroyTree: Sys$WebForms$PageRequestManager$_destroyTree,

    dispose: Sys$WebForms$PageRequestManager$dispose,

        _doPostBack: Sys$WebForms$PageRequestManager$_doPostBack,

    _elementContains: Sys$WebForms$PageRequestManager$_elementContains,

    _endPostBack: Sys$WebForms$PageRequestManager$_endPostBack,

            _findNearestElement: =
Sys$WebForms$PageRequestManager$_findNearestElement,

    _findText: Sys$WebForms$PageRequestManager$_findText,

    _getPageLoadedEventArgs: =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs,

    _getPageLoadingEventArgs: =
Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs,

    _getPostBackSettings: =
Sys$WebForms$PageRequestManager$_getPostBackSettings,

    _getScrollPosition: =
Sys$WebForms$PageRequestManager$_getScrollPosition,

    _initializeInternal: =
Sys$WebForms$PageRequestManager$_initializeInternal,

    _matchesParentIDInList: =
Sys$WebForms$PageRequestManager$_matchesParentIDInList,

    _onFormElementClick: =
Sys$WebForms$PageRequestManager$_onFormElementClick,

    _onFormSubmit: Sys$WebForms$PageRequestManager$_onFormSubmit,

    _onFormSubmitCompleted: =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted,

    _onWindowUnload: Sys$WebForms$PageRequestManager$_onWindowUnload,

    _pageLoaded: Sys$WebForms$PageRequestManager$_pageLoaded,

    _pageLoadedInitialLoad: =
Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad,

    _registerDisposeScript: =
Sys$WebForms$PageRequestManager$_registerDisposeScript,

    _scriptsLoadComplete: =
Sys$WebForms$PageRequestManager$_scriptsLoadComplete,

    _splitNodeIntoArray: =
Sys$WebForms$PageRequestManager$_splitNodeIntoArray,

    _uniqueIDToClientID: =
Sys$WebForms$PageRequestManager$_uniqueIDToClientID,

    _updateControls: Sys$WebForms$PageRequestManager$_updateControls,

    _updatePanel: Sys$WebForms$PageRequestManager$_updatePanel,

    _validPosition: Sys$WebForms$PageRequestManager$_validPosition
}

Sys.WebForms.PageRequestManager.getInstance =3D function =
Sys$WebForms$PageRequestManager$getInstance() {
    /// <returns type=3D"Sys.WebForms.PageRequestManager"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Sys.WebForms.PageRequestManager._instance || null;
}

Sys.WebForms.PageRequestManager._addArrayElement =3D function =
Sys$WebForms$PageRequestManager$_addArrayElement(arrayName, arrayValue) =
{
    if (typeof(window[arrayName]) =3D=3D=3D "undefined") {
                window[arrayName] =3D [ arrayValue ];
    }
    else {
                Array.add(window[arrayName], arrayValue);
    }
}

Sys.WebForms.PageRequestManager._initialize =3D function =
Sys$WebForms$PageRequestManager$_initialize(scriptManagerID, =
formElement) {
    if (Sys.WebForms.PageRequestManager.getInstance()) {
        throw =
Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);
    }
    Sys.WebForms.PageRequestManager._instance =3D new =
Sys.WebForms.PageRequestManager();
    =
Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(scriptM=
anagerID, formElement);
}

Sys.WebForms.PageRequestManager.registerClass('Sys.WebForms.PageRequestMa=
nager');
Sys.UI._UpdateProgress =3D function Sys$UI$_UpdateProgress(element) {
    Sys.UI._UpdateProgress.initializeBase(this,[element]);
    this._displayAfter =3D 500;
    this._dynamicLayout =3D true;
    this._associatedUpdatePanelId =3D null;
    this._beginRequestHandlerDelegate =3D null;
    this._startDelegate =3D null;
    this._endRequestHandlerDelegate =3D null;
    this._pageRequestManager =3D null;
    this._timerCookie =3D null;
}

    function Sys$UI$_UpdateProgress$get_displayAfter() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._displayAfter;
    }
    function Sys$UI$_UpdateProgress$set_displayAfter(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._displayAfter =3D value;
    }
    function Sys$UI$_UpdateProgress$get_dynamicLayout() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dynamicLayout;
    }
    function Sys$UI$_UpdateProgress$set_dynamicLayout(value) {
        var e =3D Functi