From: <Saved by Windows Internet Explorer 7>
Subject: Catholic News | Nuns use high-tech methods to spur vocations to religious life | American Catholic
Date: Thu, 11 Jun 2009 14:21:08 -0400
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C9EA9F.DCB37D60"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.americancatholic.org/news/newsreport.aspx?id=1214

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD id=3DHeaderTag><TITLE>Catholic News | Nuns use high-tech =
methods to spur vocations to religious life | American Catholic</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dutf-8"><!-- This is the ACO JavaScript --><LINK=20
href=3D"http://www.americancatholic.org/gfx/favicon.ico" rel=3D"SHORTCUT =
ICON">
<SCRIPT language=3DJavaScript=20
src=3D"http://www.americancatholic.org/include/ACO_JavaScript.js"></SCRIP=
T>
<LINK href=3D"http://www.americancatholic.org/news/include/news.css" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK=20
href=3D"http://www.americancatholic.org/include/aco_global.css" =
type=3Dtext/css=20
rel=3Dstylesheet>
<STYLE type=3Dtext/css></STYLE>

<SCRIPT>
	function changeFontSize(inc){ =20
	    var span =3D document.getElementsByTagName('span');=20
	    var a =3D document.getElementsByTagName('a');=20
	    for(n=3D0; n<span.length; n++) {   =20
	        if(span[n].style.fontSize) {      =20
	            var size =3D parseInt(span[n].style.fontSize.replace("px", =
""));   =20
	        }=20
	        else {      =20
	            var size =3D 12;   =20
	        }   =20
	        span[n].style.fontSize =3D size+inc + 'px';  =20
	    }
	       =20
	}
</SCRIPT>

<META content=3D"Nuns use high-tech methods to spur vocations to =
religious life"=20
name=3Dkeywords>
<META content=3D"Nuns use high-tech methods to spur vocations to =
religious life"=20
name=3Ddescription>
<SCRIPT type=3Dtext/javascript>
var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
var pageTracker =3D _gat._getTracker("UA-6125825-1");
pageTracker._trackPageview();
</SCRIPT>

<META content=3D"MSHTML 6.00.6000.16825" name=3DGENERATOR></HEAD>
<BODY text=3D#000000 vLink=3D#777777 aLink=3D#f5b600 link=3D#0363a3 =
bgColor=3D#ffffff=20
leftMargin=3D0 =
background=3Dhttp://www.americancatholic.org/gfx/archive/AR_bkgrd.jpg=20
topMargin=3D0 marginheight=3D"0" marginwidth=3D"0">
<FORM id=3Dform1 name=3Dform1 action=3Dnewsreport.aspx?id=3D1214 =
method=3Dpost>
<DIV><INPUT id=3D__EVENTTARGET type=3Dhidden name=3D__EVENTTARGET> =
<INPUT=20
id=3D__EVENTARGUMENT type=3Dhidden name=3D__EVENTARGUMENT> <INPUT =
id=3D__VIEWSTATE=20
type=3Dhidden =
value=3D/wEPDwUKMTgyNzI5NDE1MWRksoom6SNFO3TFO0KdKNXQ9tKqZ5Y=3D=20
name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var theForm =3D document.forms['form1'];
if (!theForm) {
    theForm =3D document.form1;
}
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.americancatholic.org/WebResource.axd?d=3D2rusah-3EFe-vy=
Eyjg5m0Q2&amp;t=3D633718345159880000"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.americancatholic.org/ScriptResource.axd?d=3D1tdQKmo3VjK=
NilSv7B9gatgFgMoRT-PU5jMr2rKCCFuDsIWPk9mENl765GkZxSDOZ92QdrcgdVy4jOP2FM_5=
-7qRhi4pT-TK-kG9m45JVuc1&amp;t=3Dffffffffe8a8b911"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
if (typeof(Sys) =3D=3D=3D 'undefined') throw new Error('ASP.NET Ajax =
client-side framework failed to load.');
//]]>
</SCRIPT>

<SCRIPT=20
src=3D"http://www.americancatholic.org/ScriptResource.axd?d=3D1tdQKmo3VjK=
NilSv7B9gatgFgMoRT-PU5jMr2rKCCFuDsIWPk9mENl765GkZxSDOGAyaldLAheBxrrqR01dA=
sV04zVDkJ4D3MLPIkfffV9OiCrd_9D1xOv9u5oe5H0o40&amp;t=3Dffffffffe8a8b911"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.americancatholic.org/ScriptResource.axd?d=3DGKl3qRG6f8t=
ng3OgFKV-tfEprLg3vA184FRh7nbqP9HkeTtD3qoPAdoPBRzHRMJ0Yq42BYBtGjGEWGP9BZgD=
wi5rVtZK13Iee___QTiIvoo1&amp;t=3Dffffffff977b3548"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.americancatholic.org/ScriptResource.axd?d=3DGKl3qRG6f8t=
ng3OgFKV-tfEprLg3vA184FRh7nbqP9FliPHQBB4ecBKKOou4mMfYyb7mIvACGOuVs3zVyZv8=
gozDR72j0npX2BnLAcZOZa01&amp;t=3Dffffffff977b3548"=20
type=3Dtext/javascript></SCRIPT>

<DIV><INPUT id=3D__EVENTVALIDATION type=3Dhidden=20
value=3D/wEWAgKOiJS6BwK0oeesDOWuz2DOaX2AC5ss2KdTnmQJmuuJ =
name=3D__EVENTVALIDATION>=20
</DIV>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D706 border=3D0 =
valign=3D"top">
  <TBODY>
  <TR>
    <TD vAlign=3Dtop width=3D130><!-- This is the ACO Navigation menu of =
the Left side of each page --><NOINDEX>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D130 align=3Dleft =
border=3D0=20
      valign=3D"top">
        <SCRIPT language=3DJavaScript>
	function newWindow(URL){
	win =3D window.open(URL, "win", =
"width=3D125,height=3D360,toolbar=3Dno,directories=3Dno,status=3Dno,menub=
ar=3Dno,scrollbars=3Dno");
	win.moveTo(10,40);
	}
</SCRIPT>

        <TBODY>
        <TR height=3D6>
          <TD vAlign=3Dtop width=3D130 height=3D6><IMG height=3D125=20
            src=3D"http://www.americancatholic.org/gfx/subscribeto.gif" =
width=3D130=20
            useMap=3D#Map border=3D0> <A=20
            href=3D"http://www.americancatholic.org/default.asp"><IMG =
height=3D48=20
            src=3D"http://www.americancatholic.org/gfx/aco_logo_sm.jpg" =
width=3D130=20
            border=3D0></A>
            <OBJECT id=3Dnav_archive=20
            =
codeBase=3Dhttp://download.macromedia.com/pub/shockwave/cabs/flash/swflas=
h.cab#version=3D7,0,69,0=20
            height=3D340 width=3D130=20
            classid=3Dclsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM =
NAME=3D"movie" VALUE=3D"../Flash/nav_archive.swf"><PARAM =
NAME=3D"quality" VALUE=3D"high"><PARAM NAME=3D"bgcolor" =
VALUE=3D"#FFFFFF">
                         <EMBED src=3D"/Flash/nav_archive.swf" =
quality=3Dhigh=20
            bgcolor=3D#FFFFFF  WIDTH=3D130 HEIGHT=3D340=20
            TYPE=3D"application/x-shockwave-flash"=20
            =
PLUGINSPAGE=3D"http://www.macromedia.com/go/getflashplayer"></EMBED>  =20
              </OBJECT></TD></TR></TBODY></TABLE><MAP name=3DMap><AREA=20
        onmouseover=3D"status=3D'FREE subscription to &quot;Friar =
Jack=E2=80=99s E-Spirations&quot;'; return true;"=20
        onclick=3D"openSubscribe('../e-news/e-newsletter.asp');return =
false;"=20
        onmouseout=3D"status=3D' '; return true;" shape=3DRECT =
coords=3D2,1,128,124=20
        =
href=3D"http://www.americancatholic.org/e-news/e-newsletter.asp"></MAP></=
NOINDEX></TD>
    <TD vAlign=3Dtop><IMG height=3D125=20
      =
src=3D"http://www.americancatholic.org/news/gfx/WE_hdr_newsfeature.jpg"=20
      width=3D446>=20
      <TABLE cellSpacing=3D5 cellPadding=3D5 width=3D446 border=3D0>
        <TBODY>
        <TR>
          <TD vAlign=3Dtop align=3Dleft>
            <SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ScriptManager1', =
document.getElementById('form1'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tUpdatePa=
nel1'], ['Rating1'], [], 90);
//]]>
</SCRIPT>
            <SPAN class=3Dbodytextnomargin id=3DGoogleBlurbLabel=20
            style=3D"FONT-STYLE: italic">With an estimated 184 million =
adults=20
            using the Internet and 75 percent of 18- to 34-year-olds =
having a=20
            Facebook or MySpace account, the Sisters of the Society of =
the Holy=20
            Child Jesus are going high-tech to spread information about =
their=20
            order and the call to a religious vocation.</SPAN></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><SPAN class=3Dtitle2 =
id=3DTitleLabel>Nuns use=20
            high-tech methods to spur vocations to religious life</SPAN> =
</TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft>
            <DIV style=3D"FLOAT: left"><IMG style=3D"VERTICAL-ALIGN: =
text-bottom"=20
            =
src=3D"http://www.americancatholic.org/news/gfx/emailsymbol.gif"=20
            border=3D0> <A class=3DemailLinkForNews id=3DEmailHyperLink=20
            href=3D"mailto:?subject=3DInteresting News Article: Nuns use =
high-tech methods to spur vocations to religious life&amp;body=3DWith an =
estimated 184 million adults using the Internet and 75 percent of 18- to =
34-year-olds having a Facebook or MySpace account, the Sisters of the =
Society of the Holy Child Jesus are going high-tech to spread =
information about their order and the call to a religious vocation. =
Click this URL to read the full article: =
http://www.americancatholic.org/news/newsreport.aspx?id=3D1214">Email</A>=
=20
            <B>|</B> <IMG style=3D"VERTICAL-ALIGN: text-bottom"=20
            =
src=3D"http://www.americancatholic.org/news/gfx/printsymbol.gif"=20
            border=3D0> <A class=3DprintLinkForNews id=3DPrintHyperLink=20
            =
href=3D"http://www.americancatholic.org/news/news2print/newsreport.aspx?i=
d=3D1214"=20
            target=3D_blank>Print</A> <B>|</B> <B =
class=3Dbodytextnomargin>Size:</B>=20
            <A class=3DtypeLargeLinkForNews style=3D"FONT-SIZE: 16px"=20
            onclick=3DchangeFontSize(2)>A</A> <A =
class=3DtypeSmallerLinkForNews=20
            style=3D"FONT-SIZE: 12px" onclick=3DchangeFontSize(-2)>A</A> =
<B>|</B> <A=20
            class=3Dbodytextnomargin>
            <SCRIPT=20
            =
src=3D"http://w.sharethis.com/widget/?tabs=3Dweb%2Cpost%2Cemail&amp;chars=
et=3Dutf-8&amp;style=3Ddefault&amp;publisher=3Dc47dde23-1dd6-487d-84df-eb=
e995b1dc05"=20
            type=3Dtext/javascript></SCRIPT>
            </A><B>|</B> <B =
class=3Dbodytextnomargin>Rate:&nbsp;&nbsp;</B> </DIV>
            <DIV style=3D"FLOAT: left">
            <DIV id=3DUpdatePanel1>
            <DIV class=3DratingStar id=3DRating1 style=3D"FLOAT: =
left"><INPUT=20
            id=3DRating1_RatingExtender_ClientState type=3Dhidden =
value=3D0=20
            name=3DRating1_RatingExtender_ClientState> <A id=3DRating1_A =
title=3D0=20
            style=3D"TEXT-DECORATION: none"=20
            =
href=3D"http://www.americancatholic.org/news/newsreport.aspx?id=3D1214#">=
<SPAN=20
            class=3D"ratingItem Empty" id=3DRating1_Star_1=20
            style=3D"FLOAT: left">&nbsp;</SPAN><SPAN class=3D"ratingItem =
Empty"=20
            id=3DRating1_Star_2 style=3D"FLOAT: left">&nbsp;</SPAN><SPAN =

            class=3D"ratingItem Empty" id=3DRating1_Star_3=20
            style=3D"FLOAT: left">&nbsp;</SPAN><SPAN class=3D"ratingItem =
Empty"=20
            id=3DRating1_Star_4 style=3D"FLOAT: left">&nbsp;</SPAN><SPAN =

            class=3D"ratingItem Empty" id=3DRating1_Star_5=20
            style=3D"FLOAT: left">&nbsp;</SPAN></A> </DIV><BR><SPAN=20
            class=3DLabelNumberOfRatesAndAverage=20
            id=3DLabelNumberOfRatesAndAverage>No rating</SPAN> =
</DIV></DIV></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><SPAN class=3Dbodytextnomargin=20
            id=3DAuthorLabel>By Carmen Blanco</SPAN><SPAN =
class=3Dbodytextnomargin=20
            id=3DSourceLabel><BR>Catholic News Service</SPAN></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><SPAN =
class=3DnewstimestampArticle=20
            id=3DDateLabel>Wednesday, June 10, 2009</SPAN></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dleft><SPAN class=3Dnewstextnomargin=20
            id=3DNewsReportLabel>WASHINGTON (CNS)=E2=80=94With an =
estimated 184 million=20
            adults using the Internet and 75 percent of 18- to =
34-year-olds=20
            having a Facebook or MySpace account, the Sisters of the =
Society of=20
            the Holy Child Jesus are going high-tech to spread =
information about=20
            their order and the call to a religious vocation. <BR>&nbsp; =
<BR>In=20
            response to the decrease in number of women answering the =
call to=20
            sisterhood, religious orders are using a variety of =
technological=20
            ways as outreach. <BR>&nbsp; <BR>Three sisters of the =
society each=20
            use a different method to extend their reach beyond the =
church door=20
            and are painting a more modern picture of what it means to =
be a=20
            woman religious. <BR>&nbsp; <BR>For the past two years, =
Sister Mary=20
            Ann Buckley has been serving in Chile, ministering to =
migrant women.=20
            She helped expand the society's reach in Latin America with =
the=20
            development of a Spanish-language Web site. <BR>&nbsp; =
<BR>The=20
            society's site (www.shcj.org) provides information about the =
order's=20
            founder, Mother Cornelia Connelly, the sisters' overall =
mission and=20
            gives information about joining the order. <BR>&nbsp; =
<BR>Sister=20
            Buckley not only maintains the Spanish Web site, but she =
shoots and=20
            uploads video clips to the Web and provides occasional =
theological=20
            reflections on her blog. <BR>&nbsp; <BR>Sister Buckley's =
computer=20
            skills are largely self-taught. <BR>&nbsp; <BR>"I don't =
really know=20
            a lot," she said modestly. "Just the basics. I've been =
teaching=20
            myself how to use iMovie on my Mac to edit some clips. =
<BR>&nbsp;=20
            <BR>"It's just a basic program though. I do use Adobe for =
PhotoShop=20
            and I keep on saying that I'm going to learn Dreamweaver but =
I keep=20
            putting it off. It looks a bit hard," she told Catholic News =
Service=20
            in a telephone interview. <BR>&nbsp; <BR>Sister Buckley =
pointed out=20
            that Mother Cornelia had a fondness for the arts and =
insisted that=20
            the modes of creative expression be a part of school =
curriculum.=20
            <BR>&nbsp; <BR>Sister Margaret Mary Bell added that the =
society=20
            encourages its members to use their creativity and adapt to =
the ways=20
            society is changing in order to understand and communicate =
with=20
            others. <BR>&nbsp; <BR>"Although we're small, the SHCJ is =
very=20
            interested in and open to using different technologies and=20
            encourages us to use our personal creativity to develop ways =
to=20
            spread the gospel," Sister Bell said. <BR>&nbsp; <BR>Sister =
Pat=20
            Phillips recently wrapped up production on a 30-minute DVD =
called=20
            "Jesus Calls Women," a film about different religious =
orders.=20
            <BR>&nbsp; <BR>Sister Phillips, the executive director of =
Wordnet=20
            Productions Inc. in California, conducted focus groups and=20
            interviews with young adults to target a demographic of 18 =
to=20
            34-year-old women. Sister Phillips was introduced to Larry =
Jilk, a=20
            retired banker, who agreed to fund the project. One of =
Jilk's=20
            hobbies is promoting religious vocations among women. =
<BR>&nbsp;=20
            <BR>"Some would say its serendipitous that we met. Others =
would say=20
            it's the power of God. For me, the point is that it =
happened,"=20
            Sister Phillips told CNS. "I thought it was...strange that a =
man was=20
            so interested in vocation for women but he told me, 'You =
always see=20
            things about men contributing to the priesthood, but I want =
people=20
            to know that sisters are doing amazing things too.'" =
<BR>&nbsp;=20
            <BR>Sister Phillips is distributing 10,000 copies of the =
film and=20
            recently had it dubbed in Spanish. It is advertised on three =
Web=20
            sites, through campus ministries and at parishes. She hopes =
to make=20
            more films and also wants to get a one-minute ad to show in =
movie=20
            theaters. <BR>&nbsp; <BR>According to Church statistics the =
number=20
            of women religious has declined by 65 percent since 1965. =
Much=20
            debate surrounds the cause of the decline, with such factors =
as=20
            declining family size, materialism, secularism and the 1960s =

            feminism movement cited. <BR>&nbsp; <BR>All three of the =
sisters=20
            interviewed by CNS attended Catholic schools and credit =
their=20
            exposure to the women religious teaching at their schools as =
helping=20
            them decide on joining the order. All agree that the =
scarcity of=20
            women religious in schools today may be a contributing =
factor to the=20
            decline in interest in religious life. <BR>&nbsp; <BR>"Most =
of us=20
            entered the order after high school," Sister Bell told CNS.=20
            <BR>&nbsp; <BR>Sister Phillips said, "When I was growing up, =
you=20
            either went on to college and got married or you joined the=20
            sisterhood. Now, women have more choices and opportunities =
and what=20
            we are seeing is not only a decline in the number of sisters =
but=20
            that women are joining at a later age." <BR>&nbsp; <BR>She =
added=20
            that today's society and culture do not really encourage =
religious=20
            vocations. <BR>&nbsp; <BR>Sister Bell uses videoconferencing =
to keep=20
            the sisters connected to each other. So, while Sister =
Buckley is in=20
            Chile, she can still be present for activities such as =
spiritual=20
            retreats, meetings and presentations. While the reach of the =
society=20
            is expanding continentally, Sister Bell is narrowing the =
geographic=20
            gap and allowing a steady flow of communication between the=20
            sisters.</SPAN></TD></TR></TBODY></TABLE><BR>
      <DIV class=3Dreturntofeature>Return to the most recent <A =
id=3DHyperLinkReturn=20
      =
href=3D"http://www.americancatholic.org/news/newslist.aspx?categoryid=3D4=
4">Vocations</A>=20
      News Features</DIV><!-- LEFT-FLOAT-BUTTON (120x90)-->
      <DIV id=3DACOLEFTFLOATBUTTON style=3D"Z-INDEX: 1000000; POSITION: =
absolute"=20
      align=3Dcenter><!-- VC active -->
      <SCRIPT language=3DJavaScript>
<!--
// ValueParameters
ValueHost =3D "hs0004326";
ValueLoaded =3D false;
ValueID =3D "pagebuster";
ValueVersion =3D "1.2";
ValueBannerType =3D "std";
var ValueWidths_Heights =3D new Array("120x90");

ValueNoText =3D 1;
ValueHCat =3D "RONH";
ValueBannerSizeOrder =3D  "listed";

//-->
</SCRIPT>

      <SCRIPT language=3DJavascript=20
      src=3D"http://ads.aco.valueclick.net/jsmaster"></SCRIPT>

      <SCRIPT language=3DJavaScript>
<!--
if (ValueLoaded) ValueShowAd();
//-->
</SCRIPT>
      <NOSCRIPT><A=20
      =
href=3D"http://ads.aco.valueclick.net/redirect?host=3Dhs0004326&amp;t=3Ds=
td&amp;b=3D3453718836&amp;noscript=3D1&amp;v=3D0;hcat=3DRONH;msizes=3D120=
x90;bso=3Dlisted"=20
      target=3D_top><IMG height=3D90 alt=3D"Click here to visit our =
sponsor"=20
      =
src=3D"http://ads.aco.valueclick.net/cycle?host=3Dhs0004326&amp;t=3Dstd&a=
mp;b=3D3453718836&amp;noscript=3D1;hcat=3DRONH;msizes=3D120x90;bso=3Dlist=
ed"=20
      width=3D120 border=3D0></A> </NOSCRIPT><!-- vc active --></DIV>
      <SCRIPT language=3Djavascript1.2>
// Set the positioning variables:
// Negative numbers are relative to right (whereX) or bottom (whereY)
// Positive numbers are relative to left (whereX) or (whereY) top
var whereX =3D 5;
var whereY =3D -100;
var nn=3D(navigator.appName.indexOf("Netscape")!=3D-1);
var dD=3Ddocument,dH=3DdD.html,dB=3DdD.body,px=3DdD.layers?'':'px';
function floatSS(iX,iY,id){
var =
L=3DdD.getElementById?dD.getElementById(id):dD.all?dD.all[id]:dD.layers[i=
d];	=09
this[id+'O']=3DL;if(dD.layers)L.style=3DL;L.nX=3DL.iX=3DiX;L.nY=3DL.iY=3D=
iY;
L.P=3Dfunction(x,y){this.style.left=3Dx+px;this.style.top=3Dy+px;};L.Fss=3D=
function(){var pX, pY;=09
pX=3D(this.iX =
>=3D0)?0:nn?innerWidth:nn&&dH.clientWidth?dH.clientWidth:dB.clientWidth;	=

pY=3Dnn?pageYOffset:nn&&dH.scrollTop?dH.scrollTop:dB.scrollTop;=09
if(this.iY<0)pY+=3Dnn?innerHeight:nn&&dH.clientHeight?dH.clientHeight:dB.=
clientHeight;=09
this.nX+=3D.1*(pX+this.iX-this.nX);this.nY+=3D.1*(pY+this.iY-this.nY);thi=
s.P(this.nX,this.nY);
setTimeout(this.id+'O.Fss()',33);};return L;}
floatSS(whereX,whereY,'ACOLEFTFLOATBUTTON').Fss();
</SCRIPT>

      <DIV><IMG height=3D30 =
src=3D"http://www.americancatholic.org/gfx/spacer.gif"=20
      width=3D10 border=3D0></DIV><!-- BELOW-CONTENT-LARGE-RECTANGLE -->
      <DIV =
align=3Dcenter><!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
XXXX--><!-- VC active -->
      <SCRIPT language=3DJavaScript>
<!--
// ValueParameters
ValueHost =3D "hs0004326";
ValueLoaded =3D false;
ValueID =3D "pagebuster";
ValueVersion =3D "1.2";
ValueBannerType =3D "std";
var ValueWidths_Heights =3D new Array("336x280");

ValueNoText =3D 1;
ValueHCat =3D "BRRO";
var ValueKeyCodes =3D new Array("klocation336x280ad=3DBCLR");
ValueBannerSizeOrder =3D  "listed";

//-->
</SCRIPT>

      <SCRIPT language=3DJavascript=20
      src=3D"http://ads.aco.valueclick.net/jsmaster"></SCRIPT>

      <SCRIPT language=3DJavaScript>
<!--
if (ValueLoaded) ValueShowAd();
//-->
</SCRIPT>
      <NOSCRIPT><A=20
      =
href=3D"http://ads.aco.valueclick.net/redirect?host=3Dhs0004326&amp;t=3Ds=
td&amp;b=3D3453718836&amp;noscript=3D1&amp;v=3D0;hcat=3DBRRO;klocation336=
x280ad=3DBCLR;msizes=3D336x280;bso=3Dlisted"=20
      target=3D_top><IMG height=3D280 alt=3D"Click here to visit our =
sponsor"=20
      =
src=3D"http://ads.aco.valueclick.net/cycle?host=3Dhs0004326&amp;t=3Dstd&a=
mp;b=3D3453718836&amp;noscript=3D1;hcat=3DBRRO;klocation336x280ad=3DBCLR;=
msizes=3D336x280;bso=3Dlisted"=20
      width=3D336 border=3D0></A> </NOSCRIPT><!-- vc active =
--><!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--></DIV=
>
      <DIV><IMG height=3D30 =
src=3D"http://www.americancatholic.org/gfx/spacer.gif"=20
      width=3D10 border=3D0></DIV><!-- This is the bottom copyright and =
e-mail links for all ACO pages, included from file =
/include/ACO_footer.inc --><NOINDEX>
      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D430 align=3Dcenter =
border=3D0>
        <TBODY>
        <TR>
          <TD>
            <DIV=20
            style=3D"FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: =
10px; COLOR: #000000; MARGIN-RIGHT: 10px; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: center"><A=20
            href=3D"http://ads.americancatholic.org/">Advertise</A> | <A =

            =
href=3D"https://www.americancatholic.org/donate/donate.asp">Donate</A>=20
            | <A=20
            =
href=3D"http://www.americancatholic.org/ContactUs/default.asp">Contact=20
            Us</A> | <A=20
            =
href=3D"http://www.americancatholic.org/About/sitemap.asp">Sitemap</A></D=
IV><BR>
            <DIV=20
            style=3D"FONT-WEIGHT: normal; FONT-SIZE: 10px; MARGIN-LEFT: =
10px; COLOR: #000000; MARGIN-RIGHT: 10px; FONT-STYLE: italic; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: center">An=20
            <A=20
            =
href=3D"http://www.americancatholic.org/default.asp">AmericanCatholic.org=
</A>=20
            Web Site from the <A href=3D"http://www.franciscan.org/"=20
            target=3D_blank>Franciscans</A> and <BR><A=20
            href=3D"http://catalog.americancatholic.org/" =
target=3D_blank>St.=20
            Anthony Messenger Press</A> &nbsp;&nbsp;&nbsp; =
=C2=A91996-2009 <A=20
            =
href=3D"http://www.americancatholic.org/About/Copyright.asp">Copyright</A=
>=20
            <BR><BR></DIV>
            <DIV=20
            style=3D"FONT-WEIGHT: normal; FONT-SIZE: 10px; MARGIN-LEFT: =
10px; COLOR: #000000; MARGIN-RIGHT: 10px; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: center"><A=20
            =
href=3D"http://www.americancatholic.org/news/newsreport.aspx?id=3D1214#to=
p">return=20
            to top</A> =
</DIV><BR><BR></TD></TR></TBODY></TABLE></NOINDEX>
      <DIV class=3Dbodytext>&nbsp;</DIV></TD>
    <TD vAlign=3Dtop width=3D5 height=3D6><IMG height=3D10=20
      src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D5 =
border=3D0>=20
      <IMG height=3D5 =
src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D5=20
      border=3D0> <IMG height=3D5=20
      src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D5> =
</TD>
    <TD vAlign=3Dtop width=3D125 height=3D6><!-- This is the Search =
Engine for every page at ACO --><!-- This is the Search Engine for =
articles and products, included from file /include/aco_search.inc =
--><NOINDEX>
      <SCRIPT language=3Djavascript>
		   <!--
			   var mac =3D navigator.appVersion.indexOf("Mac")>-1
			   var opera =3D navigator.userAgent.indexOf("Opera")>-1
			 //-->
  </SCRIPT>

      <TABLE cellSpacing=3D0 cellPadding=3D0 width=3D219 border=3D0>
        <TBODY>
        <TR><!--  If NN4 then make the background color =3D =
(bgcolor=3D"E7DF8C")-->
          <SCRIPT language=3Djavascript>
					   <!--=20
						   if (navigator.appName =3D=3D "Netscape" && =
parseFloat(navigator.appVersion) < 5.00 && !mac) {
						     document.write("<TD ROWSPAN=3D\"10\" bgcolor=3D\"E7DF8C\" =
valign=3D\"top\"><a name=3D\"top\"><IMG =
SRC=3D\"..\/gfx\/search\/aco_search_anthony_illus.gif\" WIDTH=3D\"73\" =
HEIGHT=3D\"134\" alt=3D\"St\. Anthony, Help Me Find\.\.\.\"></a></TD>")
						   } else {
						     document.write("<TD ROWSPAN=3D\"10\" valign=3D\"top\"><a =
name=3D\"top\"><IMG =
SRC=3D\"..\/gfx\/search\/aco_search_anthony_illus.gif\" WIDTH=3D\"73\" =
HEIGHT=3D\"134\" alt=3D\"St\. Anthony, Help Me Find\.\.\.\"></a></TD>")
						   }
						 //-->
			   </SCRIPT>

          <TD vAlign=3Dtop bgColor=3D#e7df8c><IMG height=3D31=20
            =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_stanthony.gi=
f"=20
            width=3D141></TD>
          <TD><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR>
          <TD vAlign=3Dtop bgColor=3D#e7df8c><IMG height=3D15=20
            =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_helpmefind.g=
if"=20
            width=3D141></TD>
          <TD><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR>
          <TD vAlign=3Dtop bgColor=3D#e7df8c><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_spacer_1.gif=
"=20
            width=3D141></TD>
          <TD><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR>
          <TD vAlign=3Dtop bgColor=3D#e7df8c><IMG height=3D8=20
            =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_products.gif=
"=20
            width=3D141></TD>
          <TD><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR height=3D16 width=3D"141"><!--POWERED BY GOOGLE Search form =
for Catalog.AmericanCatholic.org --><!-- Form tags are outside the table =
cell to keep the table from creating extra space on certain browsers. =
--><FORM=20
          method=3D"get" =
action=3D"http://search.americancatholic.org/search"=20
          name=3D"indexCatSearch">
          <TD vAlign=3Dtop bgColor=3D#e7df8c>
            <TABLE height=3D16 cellSpacing=3D0 cellPadding=3D0 =
width=3D46 border=3D0>
              <TBODY>
              <TR>
                <TD bgColor=3D#e7df8c>
                  <SCRIPT language=3Djavascript>
			   <!--
				   if (navigator.appName =3D=3D "Netscape" && =
parseFloat(navigator.appVersion) < 5.00 && !mac) {
					document.write("<input type=3D\"text\" size=3D\"11\" name=3D\"q\" =
value=3D\"\">")
				   } else if (navigator.appName =3D=3D "Netscape" && =
parseFloat(navigator.appVersion) >=3D 5.00) {
					document.write("<input type=3D\"text\" size=3D\"17\" =
style=3D\"font-size:10px;height:18px\" name=3D\"q\" value=3D\"\">")
				   } else {
					document.write("<input type=3D\"text\" size=3D\"15\" =
style=3D\"font-size:10px;height:18px\" name=3D\"q\" value=3D\"\">")
				   }
				 //-->
				</SCRIPT>
                  <INPUT type=3Dhidden value=3Dlatin1 name=3Die> <INPUT =
type=3Dhidden=20
                  value=3Dlatin1 name=3Doe> <INPUT type=3Dhidden =
name=3Dlr> <INPUT=20
                  type=3Dhidden value=3Dsamp name=3Dsite> <INPUT =
type=3Dhidden=20
                  value=3Dxml_no_dtd name=3Doutput> <INPUT type=3Dhidden =
value=3Dsamp=20
                  name=3Dclient> <INPUT type=3Dhidden=20
                  =
value=3Dhttp://catalog.americancatholic.org/ccatalogsearch.xslt=20
                  name=3Dproxystylesheet> <INPUT type=3Dhidden =
value=3Dccatalog=20
                  name=3Drestrict> </TD>
                <TD bgColor=3D#e7df8c>&nbsp;<A onclick=3D"return true;"=20
                  =
href=3D"javascript:document.forms['indexCatSearch'].submit();"><IMG=20
                  height=3D16 alt=3DFind=20
                  =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_Find.gif"=20
                  width=3D33 align=3DabsMiddle border=3D0=20
              =
name=3DbtnSearch></A>&nbsp;</TD></TR></TBODY></TABLE></TD></FORM>
          <TD vAlign=3Dtop><IMG height=3D4=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR>
          <TD vAlign=3Dtop bgColor=3D#e7df8c><IMG height=3D4=20
            =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_spacer_2.gif=
"=20
            width=3D141></TD>
          <TD><IMG height=3D4=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR>
          <TD vAlign=3Dtop bgColor=3D#e7df8c><IMG height=3D8=20
            =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_articles.gif=
"=20
            width=3D141></TD>
          <TD><IMG height=3D4=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR height=3D16 width=3D"141"><!--POWERED BY GOOGLE Search form =
for AmericanCatholic.org --><!-- Form tags are outside the table cell to =
keep the table from creating extra space on certain browsers. -->
          <FORM name=3DArticles =
action=3Dhttp://search.americancatholic.org/search=20
          method=3Dget>
          <TD vAlign=3Dtop bgColor=3D#e7df8c>
            <TABLE height=3D16 cellSpacing=3D0 cellPadding=3D0 =
width=3D46 border=3D0>
              <TBODY>
              <TR>
                <TD bgColor=3D#e7df8c>
                  <SCRIPT language=3Djavascript>
					   <!--
						   if (navigator.appName =3D=3D "Netscape" && =
parseFloat(navigator.appVersion) < 5.00 && !mac) {
							document.write("<input type=3D\"text\" size=3D\"11\" name=3D\"q\" =
maxlength=3D\"50\" value=3D\"\">")
						   } else if (navigator.appName =3D=3D "Netscape" && =
parseFloat(navigator.appVersion) >=3D 5.00) {
							document.write("<input type=3D\"text\" size=3D\"17\" =
style=3D\"font-size:10px;height:18px\" name=3D\"q\" maxlength=3D\"50\" =
value=3D\"\">")
						   } else {
							document.write("<input type=3D\"text\" size=3D\"15\" =
style=3D\"font-size:10px;height:18px\" name=3D\"q\" maxlength=3D\"50\" =
value=3D\"\">")
						   }
						 //-->
			   </SCRIPT>
                  <INPUT type=3Dhidden value=3Dlatin1 name=3Die> <INPUT =
type=3Dhidden=20
                  value=3Dlatin1 name=3Doe> <INPUT type=3Dhidden =
name=3Dlr> <INPUT=20
                  type=3Dhidden value=3Dsamp name=3Dsite> <INPUT =
type=3Dhidden=20
                  value=3Dxml_no_dtd name=3Doutput> <INPUT type=3Dhidden =
value=3Dsamp=20
                  name=3Dclient> <INPUT type=3Dhidden=20
                  value=3Dhttp://www.americancatholic.org/acosearch.xslt =

                  name=3Dproxystylesheet> <INPUT type=3Dhidden =
value=3Daco=20
                  name=3Drestrict> </TD>
                <TD bgColor=3D#e7df8c>&nbsp;<A onclick=3D"return true;"=20
                  =
href=3D"javascript:document.forms['Articles'].submit();"><IMG=20
                  height=3D16 alt=3DFIND=20
                  =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_Find.gif"=20
                  width=3D33 align=3DabsMiddle border=3D0=20
              =
name=3DbtnSearch></A></TD></TR></TBODY></TABLE></TD></FORM>
          <TD><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR>
          <TD vAlign=3Dtop bgColor=3D#e7df8c><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/aco_search_spacer_3.gif=
"=20
            width=3D141></TD>
          <TD><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR>
        <TR><!--  If NN4 then make the background color =3D =
(bgcolor=3D"E7DF8C")-->
          <SCRIPT language=3Djavascript>
					   <!--
						   if (navigator.appName =3D=3D "Netscape" && =
parseFloat(navigator.appVersion) < 5.00 && !mac) {
						    document.write("<TD bgcolor=3D\"E7DF8C\"><IMG =
SRC=3D\"..\/gfx\/search\/spacer.gif\" WIDTH=3D\"5\" =
HEIGHT=3D\"5\"></TD>")
						   } else {
						    document.write("<TD><IMG SRC=3D\"..\/gfx\/search\/spacer.gif\" =
WIDTH=3D\"5\" HEIGHT=3D\"5\"></TD>")
						   }
						 //-->
			   </SCRIPT>

          <TD><IMG height=3D5=20
            =
src=3D"http://www.americancatholic.org/gfx/search/spacer.gif"=20
          width=3D5></TD></TR></TBODY></TABLE><!-- End  --></NOINDEX>
      <DIV><IMG height=3D10 =
src=3D"http://www.americancatholic.org/gfx/spacer.gif"=20
      width=3D10 border=3D0></DIV>
      <DIV align=3Dleft><!-- MICRO-BAR --><!-- VC active -->
      <SCRIPT language=3DJavaScript>
<!--
// ValueParameters
ValueHost =3D "hs0004326";
ValueLoaded =3D false;
ValueID =3D "pagebuster";
ValueVersion =3D "1.2";
ValueBannerType =3D "std";
var ValueWidths_Heights =3D new Array("88x31");

ValueNoText =3D 1;
ValueHCat =3D "";
ValueBannerSizeOrder =3D  "listed";

//-->
</SCRIPT>

      <SCRIPT language=3DJavascript=20
      src=3D"http://ads.aco.valueclick.net/jsmaster"></SCRIPT>

      <SCRIPT language=3DJavaScript>
<!--
if (ValueLoaded) ValueShowAd();
//-->
</SCRIPT>
      <NOSCRIPT><A=20
      =
href=3D"http://ads.aco.valueclick.net/redirect?host=3Dhs0004326&amp;t=3Ds=
td&amp;b=3D3453718836&amp;noscript=3D1&amp;v=3D0;msizes=3D88x31;bso=3Dlis=
ted"=20
      target=3D_top><IMG height=3D31 alt=3D"Click here to visit our =
sponsor"=20
      =
src=3D"http://ads.aco.valueclick.net/cycle?host=3Dhs0004326&amp;t=3Dstd&a=
mp;b=3D3453718836&amp;noscript=3D1;msizes=3D88x31;bso=3Dlisted"=20
      width=3D88 border=3D0></A> </NOSCRIPT><!-- vc active --></DIV>
      <DIV><IMG height=3D10 =
src=3D"http://www.americancatholic.org/gfx/spacer.gif"=20
      width=3D10 border=3D0></DIV>
      <DIV align=3Dleft><!-- RECTANGLE =
(180x150)--><!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
X--><!-- VC active -->
      <SCRIPT language=3DJavaScript>
<!--
// ValueParameters
ValueHost =3D "hs0004326";
ValueLoaded =3D false;
ValueID =3D "pagebuster";
ValueVersion =3D "1.2";
ValueBannerType =3D "std";
var ValueWidths_Heights =3D new Array("180x150");

ValueNoText =3D 1;
ValueHCat =3D "RONH";
ValueBannerSizeOrder =3D  "listed";

//-->
</SCRIPT>

      <SCRIPT language=3DJavascript=20
      src=3D"http://ads.aco.valueclick.net/jsmaster"></SCRIPT>

      <SCRIPT language=3DJavaScript>
<!--
if (ValueLoaded) ValueShowAd();
//-->
</SCRIPT>
      <NOSCRIPT><A=20
      =
href=3D"http://ads.aco.valueclick.net/redirect?host=3Dhs0004326&amp;t=3Ds=
td&amp;b=3D3453718836&amp;noscript=3D1&amp;v=3D0;hcat=3DRONH;msizes=3D180=
x150;bso=3Dlisted"=20
      target=3D_top><IMG height=3D150 alt=3D"Click here to visit our =
sponsor"=20
      =
src=3D"http://ads.aco.valueclick.net/cycle?host=3Dhs0004326&amp;t=3Dstd&a=
mp;b=3D3453718836&amp;noscript=3D1;hcat=3DRONH;msizes=3D180x150;bso=3Dlis=
ted"=20
      width=3D180 border=3D0></A> </NOSCRIPT><!-- vc active =
--><!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--></DIV=
>
      <DIV><IMG height=3D10 =
src=3D"http://www.americancatholic.org/gfx/spacer.gif"=20
      width=3D10 border=3D0></DIV>
      <DIV align=3Dleft><!-- WIDE-SKYSCRAPER =
(160x600)--><!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
X--><!-- VC active -->
      <SCRIPT language=3DJavaScript>
<!--
// ValueParameters
ValueHost =3D "hs0004326";
ValueLoaded =3D false;
ValueID =3D "pagebuster";
ValueVersion =3D "1.2";
ValueBannerType =3D "std";
var ValueWidths_Heights =3D new Array("160x600");

ValueNoText =3D 1;
ValueHCat =3D "RONH";
ValueBannerSizeOrder =3D  "listed";

//-->
</SCRIPT>

      <SCRIPT language=3DJavascript=20
      src=3D"http://ads.aco.valueclick.net/jsmaster"></SCRIPT>

      <SCRIPT language=3DJavaScript>
<!--
if (ValueLoaded) ValueShowAd();
//-->
</SCRIPT>
      <NOSCRIPT><A=20
      =
href=3D"http://ads.aco.valueclick.net/redirect?host=3Dhs0004326&amp;t=3Ds=
td&amp;b=3D3453718836&amp;noscript=3D1&amp;v=3D0;hcat=3DRONH;msizes=3D160=
x600;bso=3Dlisted"=20
      target=3D_top><IMG height=3D600 alt=3D"Click here to visit our =
sponsor"=20
      =
src=3D"http://ads.aco.valueclick.net/cycle?host=3Dhs0004326&amp;t=3Dstd&a=
mp;b=3D3453718836&amp;noscript=3D1;hcat=3DRONH;msizes=3D160x600;bso=3Dlis=
ted"=20
      width=3D160 border=3D0></A> </NOSCRIPT><!-- vc active =
--><!--XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX--></DIV=
>
      <DIV><IMG height=3D10 =
src=3D"http://www.americancatholic.org/gfx/spacer.gif"=20
      width=3D10 border=3D0></DIV></TD></TR></TBODY></TABLE>
<DIV class=3Dbodytext><A =
href=3D"http://www.americancatholic.org/default.asp"><IMG=20
height=3D1 src=3D"http://www.americancatholic.org/gfx/spacer.gif" =
width=3D1=20
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/Features/SaintofDay/default.asp">=
<IMG=20
height=3D1 src=3D"http://www.americancatholic.org/gfx/spacer.gif" =
width=3D1=20
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/Features/Minute/default.asp"><IMG=
 height=3D1=20
src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D1 =
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/Features/DailyNews/todays.asp"><I=
MG=20
height=3D1 src=3D"http://www.americancatholic.org/gfx/spacer.gif" =
width=3D1=20
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/Features/DailyQuestion/default.as=
p"><IMG=20
height=3D1 src=3D"http://www.americancatholic.org/gfx/spacer.gif" =
width=3D1=20
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/UpdateYourFaith/default.asp"><IMG=
 height=3D1=20
src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D1 =
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/Newsletters/CU.asp"><IMG =
height=3D1=20
src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D1 =
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/Newsletters/SFS.asp"><IMG =
height=3D1=20
src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D1 =
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/Newsletters/YU.asp"><IMG =
height=3D1=20
src=3D"http://www.americancatholic.org/gfx/spacer.gif" width=3D1 =
border=3D0></A> <A=20
href=3D"http://www.americancatholic.org/PrayerIntentions/default.asp"><IM=
G=20
height=3D1 src=3D"http://www.americancatholic.org/gfx/spacer.gif" =
width=3D1=20
border=3D0></A> <A =
href=3D"http://www.americancatholic.org/About/default.asp"><IMG=20
height=3D1 src=3D"http://www.americancatholic.org/gfx/spacer.gif" =
width=3D1=20
border=3D0></A> <A =
href=3D"http://www.americancatholic.org/About/SiteMap.asp"><IMG=20
height=3D1 src=3D"http://www.americancatholic.org/gfx/spacer.gif" =
width=3D1=20
border=3D0></A></DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[

WebForm_InitCallback();Sys.Application.initialize();
Sys.Application.add_init(function() {
    $create(AjaxControlToolkit.RatingBehavior, =
{"AutoPostBack":true,"CallbackID":"Rating1","ClientStateFieldID":"Rating1=
_RatingExtender_ClientState","EmptyStarCssClass":"Empty","FilledStarCssCl=
ass":"Filled","StarCssClass":"ratingItem","WaitingStarCssClass":"Saved","=
id":"Rating1_RatingExtender"}, null, null, $get("Rating1"));
});
//]]>
</SCRIPT>
</FORM></BODY></HTML>

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/subscribeto.gif

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAfQCCAwERAAIRAQMRAf/EALsAAAICAwEAAAAAAAAAAAAA
AAQHAAMBAgYFAQACAwEBAAAAAAAAAAAAAAAAAQIDBQQGEAACAQMCBAMEBQgFBw0AAAABAgMRBAUA
EiExEwZBIgdRYTIUcYFCIxWRobHBkjMkFlJygsIl8OFDdJS0F2KyU3ODo7PDRNQ1RYURAAEDAQQF
BgwGAgIDAAAAAAEAEQIDITESBEFRYYEicZGhsTIU8MHR4WKSstITJAUVQlJygsIj4mPxNKJD0//a
AAwDAQACEQMRAD8Adnd3fmSxGZvrKCa1ggs4LabdNbyTuWuDKPszwCg6J1i5j6hWjUlGAiREi9/y
g+NddLLiQBtcrl/+NGZRP31hO/8Aqk8I/wB6m1zn6lmvy0//ACPkXUMlBvxdCg9ccuCK2tgw8fNM
v6m0vuGb/wBfNL3ku5Q9LoWX9c8qKbLKxbhxrLMvH6kbUxn8zpwerL3lHuQ2qhfXbuMt58XjFWnC
l3cMd3+zrw1KWfr6DD1T76Bko7UUPXPI7eNjZFqDlNMBXx/0eoj6hmdODml5Uzko7Vqvrpldx3WF
iF4UpPMT7/8ARDR9wzHocx95Hco7USvrhIR5oLdT7jIw/SukfqGa/wBfNL3kDJR0utT63TilIrY8
eIpIOH7R0h9QzX+vml7yDko7VsPW+TaawW5bw/eAfp1L7hmfQ5pe8o9yCEuPXTMBW+Xx9g7U8nUn
mQE++kT00xn8w1ph6p95S7lHaqP+O3c/D/C8Xz4/xdzy/wBn1MZ6trj6h/8Aol3KO1bR+u3cRJ6m
Lxij7JW7uG/LW3XRLP1msMX/AEn30u5DarT655fZwsrDf7DLNT8uzVRz+Zf8Dfpl7yl3KO1VL66d
xkrusMYB9uk9wSPZT7oV0znszoMPVl76l3Kn6XQunwXqDnstk8Eix2KWORupre8Ves021LOa4QxM
Sqg74QG3A+Wvjq/J5+rKrgqCLSBbC+jW/Kuatl4xBIexMPWyuNJD1WKvm844FGRbGEnwIWKSQf8A
i68xX/7NXlj7I8i18u2CO/rSv0LrXsxdm9zS2qXUdi7W8iCVHDJxRhuBpury0sQVZqxdnU/k/uY2
q3S4+R4HUOrJtYlSKghVJbl7tGII+LF2dU4ztnO5OBp7G0aeJHMbMCoowAJHmI8GGgkBOVSIvVkP
aPcc11cWkdkzXFrs68e5Bt6g3JxLUNQPDRiCRqxZ3QmTxGSxc6wX8Bgldd6qSDVSSK+UnxGgF1KM
hK5B6akpoQpoQpoQpoQpoQpoQpoQmh6XlWyfb0ZFStxdTKfYVs5I/wDzdGX/AO1TP6+oeRcmZbBL
d1p369OshJD1QB/EO4WPI3VsAPosouP59eYzA+aqfs6itbLHgjv60r9C7Ezs7MkPaWEk/GJsZOlg
GghhLj5hxDGQpKEUoaDj7dVi9ccBxGx7V7VmshlwcqXTq0GPMhsF4C4+7ReZIXykjnqKrOnlXh4K
7tn7Rzt1kWnsIZMlI83yx2zRFmiO1eHDzHaeHLUjerJjiAFtip7KubSSPumU3Vy9ksSUumatwIVS
bzBiPjC8uGiWhOqDw61xefubSfIMbO6ubu0VVEUl226TlVhyHDdqYXRAFrV03cF3a9t29ribPH28
q3Fqsl1eTJveQyVB2NUUpSo/yrEWqmAM7SVTiuybW9wfzEoure+a3kuY5G6Xy7Kp8oCV63mFPMRT
QZWpyrES2L0bfG4CGXtNrWMme4cs5ZFAkWnnaTmahqbR7NJzaomUuJ0NedoYvLSzT4q4mW4/EWtb
oTqmwEkszRheNF8Knj7tPEyYqmN+pA33bPb8tjkHw95PLd4obrpJ1UI6g0YxkAUpTx0wSpCpJw4v
XuZewSTIZtYqRiPFREIqRmp50qynbxHhTUQVXE2DlXN9wYXt3DpJYPcXU2bhRGcqqC23OA23j5+C
tXUgSVbCcpW6FzepK5ND0nBObwh8Al8Sf7EQpooj5mlyy9krjzJ4ZbutO/Xp1kpIepsge+7jWoPT
vrdKDmP4C3bif7WvN5qLZmZ1iHjWplbhv60r9QXcvSymfv8AJWlja3OwRY6PpW+wUO3aq+Y1NTRB
pAMoRgASdaIk7vzT3OPuA6JJjFEdttWg20CkNx41C8dGEJfCFu1FWnqB3HatcNE8W65lM0pMSirl
VTkKeCDSwhRNCJWIe/8AuKK9ubxZI+tdLGstUBFIgQoA8PiOjCEzRizLz853Fk83NHLfurNEpRAi
7QATU8NMBlKEBG5G2/euRTHJY3FvbXiwoUtpriPfLEKUGxqjkOWlhUTSDujJe6s7jobWK7sLcXDW
QhgupEPVa1eoTiG9x0YQoinE3HShcb3VlxDjrGC0iuprCXfZt0y81OP3dVNdvHw9mgxUpUxadaqt
u5c0lpdG2iCqbsX81wisenIWAUVqVCluHm56GCDTD26mVmU71yN/ZTWq21taC6IN5Jbx7HmINfO1
T46BFEaQBda3HeWRnlvZWihDX1utpJQN5Y14VXzfFowoFIBti1yPdtzkbEwXlnay3RRY2yBjPzBV
TUeYHn79AiiNIA2FeFqStTQ9JpAO4MLFUAtBkH2+J2iAcP29ToRevTOqUvYkuHNdk7k79ekWWkX6
joVyXdR3VD5G2YLSlP8ADLVf7uvOZuT5mY1Rh/JauVHDHf1paarXamN29iMRb9t2d61gmSN3vFwo
haedpKlUjjpRYgtPMxOqybVyTkTIh2XN2mJw0lzBcfNLDO92inCyI7Oqm4CGNpDQGiceI1J1cZHo
vXTXePwl+2csHsbaxix1zarHdwoEkCzy7ZCzceAAPDlqLlUiRDF3dTum0xWLs5oo8JHK1qyPDPFC
6pFGGFDPO1RMXP2afXojaimSTer4sB2bPcRXQaOP5srk4YKDatvCg6kRHKhYsSPd7tDlLHMWbkFB
ZY3K9uXMlhjoLe5kW4nZp7d6bFc7OhOu1F2qKU9v5y4qRJjK0o9cTZZDK2bzpHPPbYS2ktreYFoy
xZwWZV4sF/o+NdJ1HEQD+paYiXHR972i22K+T69vIBO8bQLIVBJkigPwfARzrTTNyJA4C5Xn4l7h
u2u5bcYlFu1kjZ7IRtUdRuWznSMDcv5dM3hSl2o2o67xGEx+FSOPFLkoprUSRSQxO07Nt3PK9z8M
ajwUV0nLqIkSb2QnTwcFx23ay4pJY7mziubqSKIySuREx4qoqw3Hc/ifoFNFtqlxcRfSvB75xxtM
lBIsdvFDcwrJELaJoFIqRVonJKHUolWUZOFzmpK5Mv0oQ/zTgZA1ALTJqVpz3G1PP+zqyhJq1Ma5
H2JLizQ4ZHk609NejWUkn6oEG5z9DUi+gB938Bbn9evN5kDvFT9vUtTK9mO/rSs1BdyLs8vlbJHj
s7ya3ST41ikZAT7aA89JlExBvCHWeZZhOHYTKwcSVO7cDWtfbXTTZXNksiwuA1zKwuyDdVdj1Std
u/j5qV8dDIwhby5rLzWotJb2d7ZRQQtIxSg5ChOkyQgHdkMJ5htpI3kUxrxPBGruUe47j+XTTZEL
l8qtkbFbyYWZ4G3DtsoeY21pTSZLCHdlj8VyfzEVx83N14FEcMu9tyIvJVNeA9w0MjCFmbL5We5S
6mvJpLmLjFM0jF1/qmvD6tDIEQzMomWyaTzTpdSrNcgrcSByDIG5hvboZGELMWay8NqbSK9njtjw
MKyMEoeYoDoZBgHdlquVyazQzLdzCW3QR27h2BRFFAq8eAp4DQyMIVd3e3l5MZ7uZ55iADJIxZqD
kKnTTAAuVOhNNP0jI/GsStePQviB9HQH69Ty4HeKZ2y9krhzXZluTs16RZaSXqehW77hYk0e9gIB
/wBQgHD3cNebzR+Zn+3qK1cr2Y7+tcXhPT/vbNY2DK4/HI+MudzRXElxEjFFYqWKVJHwnhrR+2+l
0edV9/8AR6fMh58CIclk7RpyYsbM8LzLGWLbJCgfYCSF8tTx4axM3W+DIRAckkXtd49QWhTOKLoS
LG3MqiVBug3BTIpBNC23dsJDUqfEaU81CJY9pvE99ylhW8mGyCKziImIVKsSoJUMV3ba1pUcfZqE
c7SJZ7d/KyeErS8xl1bX5siBJPUKojIbcSaClNSo5qE6fxLo7bEjFiyvtcDeS3PSlpCvTaUyEqVK
pwIU12k1NKV1VV+oQjHEOK0BrdO5+hMQK1x2FnvljkR1WJ7iO2LEioMhpuCkgmmnmc7GkSCC4gZc
yBF1WcRkRIkZhO6QMVNVpRfiq1aLtrxry1YM5SIJe7x3cr6EsJWIcbMcgtlcVgcnzEipA27q0qK1
Hv0TzMfh/EjxDwCGtZbyYtyYmtZFnhm3bJDSOhSm5W3mgI3Dx8dRjmgHxjCY777mbwsTwqqTHXsb
bXiKkKzmtPhQkMa+6n+VdWRzNOQcHSBz3JMUNq9JTQhTQhNL0kQnOYd6miwX4I+zxEHP38OGp5c/
30+WXslcWa7Mt3Wnbr0iykmvVoAS5UDm08LH67ZB/d15nMn5qp+zqK1csGjE8vWq+1vVHtnt/ti0
wES3txFaxtGJ3giVm3szE7RcU5trY+4U9R8N65+4z1hcDeZizk7hyGTSKUx3FzLcW5EnRkUPIXUN
QSDkfMB9R1g52marsQASbw9+8WrUpDDEA6At07k2wGPoMCwoUSTbDXqCTcItp83Cld2s+X0x5Pi6
OLss2J7tNysxoWXMdSbq9Gn3EkFN3/SFzu5eG/lrohk2iz/iEuZvIliWsmUU5MX8cO1m4zRs24MW
BD0IClQQeHMj26ccp/V8MnkLc3L49SMVrrY5WFIDbW9uY4Csgo8m9t8oUFiwVRQBBQU1HukjLFKT
ycXBgwfadetGJYxmUjs9m+Ey9O4iuY9r7PNETwNVaoIOpZrKmq7FnjKJsftbwiMmW+OzTWcCQ9Le
oaUuagMRKIqbdysFZWhBBodQzOR+LIyduz0Yr7Q4OJmsQJMqY7+JMmLwRM0YNTG0m5zVdpJkI5nn
Xbq2WXJpYHD62s5n8aHtdEwZuKAiOGB4rZUZU2S0mDOVLP1dlKnYFNE5aoqZGU7ZSBk4vjwsHYYX
utJvvTElL/Mi5tZlWqvczF3Q8diBV8u6grvZQT/VGjL5LBME3Ri3KbdGwFhylBk68nWioKaEKaEJ
tekIAu8cx5/xKj641P8Ad06B+YpcsvZK4s0OGR5OtOXXpllJMerFTc5c0pSaAD3/AMOp/XrzWZHz
NTkh1FamV7Md64XCen/e2axsGVx+OR8Zc7miuJLiJGKKxUsUqSPhPDWl9t9Lo86h3/0enzIS7wq2
2UyNpJcAW+Omkhkudp82xyi7UrzanKv16x8zU+HLCBik5A0XaVoUziiChVsJ5Vkltx1YYyfNVVYh
RUnYTu4DifZqBzEYkCVkj4XqTI2Xtu/QSAbXkjdF2qy0IdWIO6tAfLSnPXLD6nTLXgEHQdDaG23q
WAoNcXkGiaUQNsTdWtA3k+KinzHb40HDXSc1TBbFb5brduhRwlXTYa4VlSGszsacBQAdJZSSSfAP
x1VDOxIJlYP8jHxJ4VRFj53vPlW2xuAWdmIKqqrvZiVrwC8eGrp5iIhjvHWXZudJrVacYJXijsZG
upJN3k6ZjPkXcSKkgigPjXVYzWEE1BhAbS99ieHUq/wu/wClJMIiY4925lKngpozCh4qDzI4an3q
niEXtPj8ey9LCVdDgclJLFG0fT6pKqzkABlXdtbj5TTwOqp5+kASC7f8Wa0xErH4JfsAY030A6hq
gVSzOoG7dQ16ZodPv1MXltV+oHVtRhK1XDZJo3fokBK7lYqG8rbDRCdx83l4DnqRztIEB7+a577r
rUYSh7m2mtpOnMu16VoCGFPpUkaup1YzDxuSIZVasSTY9JK/O4sU4VuTX/sgP16lQHzFLll7JXDm
uzLd1pz69KstJr1ZKmXK05i4hDfT8tGf1681mT8zU/Z1FaeUuHhpVfa3qj2z2/2xaYCJb24itY2j
E7wRKzb2ZidouKc21r/cKeo+G9U9xnrC4DIZm2uMxlbgRNJY5G4lmETERyANKXQ1G8K4De8aws3T
+JPHE4ZAltN+gjzrTpDDEA6lLfOw29pJbRQSKjJNGqiaikTIUDSLs87Lu4HhrhqZCU5iRkHeJ7Nv
CXsL2A6rVaJKm6y0cyUWAo7SRSykvuBaNSp2jaKA19p1ZSyhibS4YgWaCX1+RIyVz52N5xdNbH5q
IyfLuJKKod2cb12+YqXPiPfquOQIjgEuAs9ltgAsL2O23YniWDnQymN7esTgrKoehKmJI+B28DWL
dXTGQYuJWi6z0pHX6TIxIOG8SC8M0EVISChhkbdVGXawZgF5g8wBrpnRM4YZHivcWWguNai9qM/H
ESJIYYpBEizKBLN1CDNC0XlIRQqrurSn165u4kkykQ5Mbot2ZCVtpclvMpYlWMwDjUs3iYtECsbo
4RTViwMihavtLGnmp7tT7n/aZg37H2WF7H02PtSxWMrrnPrPdxXTQMJEYs6dT7ujAhhGoUbN1a1O
411XS+nmEDDFYRqt2OXtbcmZ2oe6ykc1l8pHCUjBj2MzhjSIzUBoq1r1/wA3v1dSypjUxkubdDX4
Np/L0pGVjL0XzUEqXFzJIgkm6pSBVcXEZeUyKqzAbSg9vP3a4o5GUTGABaLW2YS0Wcxd36NqliXk
5K9S8nWVIunRQpJKs7GpO52VUBPGnLWjlqBpxYl7dw2ByetQkXQmuhJNr0hK/OY4H4qXJH0BEB/T
qWXPzFPll7JXBm7juTl16VZiR3qXcCS/7mjBJMGQt0NRwFcdbPQfta85mw2ZnyQ/ktXKnhjv61x+
E9P+9s1jYMrj8cj4y53NFcSXESMUVipYpUkfCeGtD7b6XR51X3/0enzIS6wc8WWyWPhfrHGtOGkp
t3rA+wttqaV9msfNVY0ZNLTLCtCmcQB2KoYi56MUrcFnieaIChNEbbQ8RSuqDnI4iB+GQB3qeFaz
YfJQmkkBBG+oqpp01LuDQ8CFUmh04ZylK6WrpLDpSwlZgxN3NbSXChVjjjEw3Mo3IXMfCp/pKdFT
NwjMR0ktvZ/GECJVc+OvbeFZpoikTEAMacCRUBgOKkjjx1Onmac5YYlz4c6CCroMLeTNYhAKX5YR
MeQ2MVbd9FK/RqqpnYRE3/8AXfvFnkTETYqkxl+8LzLCxjj3bjwr5PiIHMhfGnLVks1TEhEm0+O7
n0JYSibbAXsiu8qmJFWM8gx+9lSNQVqCCd+4V501RV+oU4kAWm3oiT4mTECqpcPdxrbMNjfNKzRj
eoI2sy+ap4fBX/PqyGdgcV/BfYdQ8qMJVkWBvXClwE3TpAVqpeslNpC1G4HcKU1Cf1CmHa3hMtLW
PzXIwFDfht98t8z0W6NN27hXbWm7bXdt99Kav7zTxYX4vHq5diWEqyTC5SMhWgILMEpVTRiKjdQ+
XgK8dQjnaRulofw1p4ShZoZIZGjkFHXmKg/nHDXRCYkHFyimX6TXAXuTCQVNZLbIuBTh5PlhUn+1
q7Lj+6mfSPsSXFmjwy3J469GspIn1Fr+Kd28P/s7bj/+Xaa8/nR8xL9MeuS1cr2Y7+tG9reqPbPb
/bFpgIlvbiK1jaMTvBErNvZmJ2i4pzbWl9wp6j4b1z9xnrC4G+zqtmcrfWasovrl5oWegZUM/WCs
o3DjRa8dYOboxrTc9l5WcoI6iVqUnjEDYtTn2YOGgBq0nSAagRHVFCDgeCiIU1x/bwGaWp7LyHL7
8RVmNaxZsJLcM0G5LmaSR1D0IWWOSNlB2njSXgfzac8i4iBK2MQLtIMSDf6N3SliWJMtbND8utsy
24t/lwvVBeomaYPu2U5txG38mnHKTEsWIYsWK6zsiLM+zXzoxLXK5cZBVZomSau5zvHTqa7tkYVd
u4mpJJOpZTJ/BNhePJbvLl20XIlJ1kZydIDDEoRRHHGhrUoU+JlP/Lqaj36XcYmWIl7SeV7husZG
JW3OeS4t5YWtyis0jRBJAqgSOzhZKLucIzkr5gNV0sgYSEhJ7ncagBZa0XAtsKZmsx52BJ5bn5Vj
dXBRp36vkLJMkxKrs4biniT+rSlkJGIhi4Iu3DbbExtL6H1BGJaQZuKMwu0D9WFJIhJHLsYK8jSA
odjbXDOfN7PDUp5ElxiDSILGL2gAW22iy7XpQJK1u4Y2u0uXt2YxS280Q6orWBFQ7zs828J4Uofb
qA+nEQMRIWxmDZ+Yk2W2M+19iMdqG/Fo9m/oH5zofLdbf5On0+l+72/Fs4V3e+ldX90Lti4MWJmt
d8V73Ps3pYluubpc3M3SZfmJUl8km1l2buAbaee/2aicjwxi44YkWjW23YjEgr65S5unmSMRK9KI
KeAAqaBRU0qaAcddNCkYQESX8N/WkS6YXpTX+bu3+H/o8px9nG0125cf2Q/X/Ca4c12Zbk9tegWU
kX6jxhMh3UeNZMlbua8v/jLVeH7OvP5yT5iQ1Rj/ACWnlRYPDSlpqhd6mhCmhCmhCmhCmhCmhCmh
CmhCmhCmhCmhCmhCmhCZfpPGD3VgpeNVtMmg9nmNoeP7Gr8tJqsBrkfYkuDNiw7k9NegWYkf6myI
1/3Iq/El7bB6e02EB/QdeazT95qPqh41rZbsx39aWGorsXcdi3Fs2OksISLXJzz/AHd3Jb/MRyrs
/csfs+3mNQkuasC76Fi37OsmyuFtboMWvTeC/MZAXfblgNlBQLVdGJBqliRsRsuIwmWOEsJobhby
fFwiK9ip0EKIzeYU4ndUN9Wk5CQkYudqAj7OxN5YWBx8pld3gS/uhKp6RmNGDQlQfioE48dPEpfF
IJdVWuG7Zu8tdWa213bxWMNy0zPIpZzDQBgNooeJNPo0OUzOQD2Wr18HBjzY4+fpyG2uLPKbbcBG
kEaSrtVOALPt9teOkVXMlzyhBWfZmHyT2d5arcW9rNHO8llKyiVjBQARuwpRi3jy08SkapDgrne5
rTDWt6iYt3aNkBl3HfGG5HpSUUutQeNNSDq2mSRau+tsFgP5xtZrZkhvIY+rdWTjySiSFgJI/DcG
PmH1/TW5ZcxnLBavBtO18G3yEF1HdTXeX3OlzBTpQ1YgAihrT7WpYirDUla2hW2/YOJvBBJBehFl
2xLGzAlpoZGF1ThyEaVXRiQaxGjw0LyM3Piv5bjt8etIlyE3TduLtGq+UlqDnu5aYvU4A4rdS5nU
lcmf6TyIO4MIh+NocgV9tAsFf06lQf49PVil7Elx5nsy3daeGvSrJSM9So3XKd0MwAV761KEDiQM
fAOP1jXms0fmp/ph/Ja+W7Ed/WlnqK616OP7izeOt3t7K8kghkNWRTwqeFRXkfo0iAoSgDeFZad0
9w2duLe2v5Y4QxcLUHzMSTxIJ4k1+njowhBpxOhaQdx52CwOPhvZUsyCvSB4AHmAeYB9x0MEGnEl
2WJ+485PZw2ct7I1tBt6UdaU2fDxFCdvhXQwQKcQXZWz919w3FOtfSPSN4RWnwSU3jl4056MIQKc
RoQ0WZysItBFcvGLHf8AKbTTp9Q1elP6R510MmYDnVs/cmdnvor6W9lN1CKRSA02g8wAKDj48OOh
gkKcQGZU5PL5LJzLNf3DXEijapalAPcBQDQAycYgXLFxlslcXiXs1w7Xce3ZMDtZdnw0pTloZAiA
GRFr3NnrW1e1t76WK3cklFPLdxO081r7tDBI04kuyDjvbuJUWOZ0EZdkAJFDIoVyP6yih01JgsNe
XbWiWbSsbWNzIkJJ2h2FCQNCGDuqdCaZnpTG57lwMgA2LBkVZqcQWW3pT8mpUD/fSHpH2JLkzHYl
u6089elWQk36hLcSZnuBbiSztcestr0pSk1zPJIbVN/UTdbJGFG0Ltdq8+B4a8vm7MxUwWy4Xewd
mzCz7Xdlp5d8Md/Wl+UwqKKTRTN9o9J4R+TqTa5nr6oDeT4gu3RpdZEmDrxt4yPdMwI/7o6QFfXD
mPlSO9YlmwoB6VnE5p5d106cffS3fU4xq6THmPvKPEqkuccS2/H26DhtpeyN9Na2i6lKNTRIeqfe
TD6USZu3gDSzUnwrdMB/u51EfFa3D0otWqTYAk9SzQCvDbdMeHt4244+7QRV1x5j5UWokN2gRxjd
W/6zcP8AmLqJFbXHmPlTD6Vpu7UBHkJHj56f3TpgVtceY+VLiWxftHbwiYt4DqUH5emdMitrjzHy
qPGg7i4xAB+XsIXNRTqXjqCPHlatpiNTSY+qfeUi6q+Zs6j/AA21p4/x8v8A7PUxCX5h6v8Ami1b
R3OOI+9x1uhr9m+kfh9domiUZ6JD1f8AJIYlZJNhtn3dpEX9jXLgV+kW51U1Z74tyH3lK1aRzY0y
DqWcCx0G4rdSE18aA240zGr+aPqn3k+dMX0+eT+YsCMfDafIMl58wWll+YSkQ/djp9N9zdOtSu0V
+LwtyT94p/E7XFhw3dn8T2jYz7VxZnsncnHr1SzF/9k=

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/aco_logo_sm.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/7QroUGhvdG9zaG9wIDMuMAA4QklNA+kAAAAAAHgAAwAAAEgA
SAAAAAAC2AIo/+H/4gL5AkYDRwUoA/wAAgAAAEgASAAAAAAC2AIoAAEAAABkAAAAAQADAwMAAAAB
Jw8AAQABAAAAAAAAAAAAAAAAYAgAGQGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4
QklNA+0AAAAAABAASAAAAAEAAQBIAAAAAQABOEJJTQQNAAAAAAAEAAAAeDhCSU0D8wAAAAAACAAA
AAAAAAAAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9m
ZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAAB
AC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA////
/////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////
////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBBQA
AAAAAAQAAAACOEJJTQQMAAAAAAjUAAAAAQAAAHAAAAApAAABUAAANdAAAAi4ABgAAf/Y/+AAEEpG
SUYAAQIBAEgASAAA//4AJkZpbGUgd3JpdHRlbiBieSBBZG9iZSBQaG90b3Nob3CoIDUuMP/uAA5B
ZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwM
DAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIACkAcAMBIgACEQEDEQH/3QAEAAf/
xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYH
CAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFD
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
LSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5n
IENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBD
b25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAA
AAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAA
AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUA
CgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACV
AJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsB
MgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gID
AgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYD
IQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+
BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicG
NwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgy
CEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEK
mAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1A
DVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQ
YRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPF
E+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kX
rhfSF/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshva
HAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg
mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWX
Jccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIr
NitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zES
MUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3
nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5g
PqA+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF
3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2T
TdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJW
D1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69
Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+lo
P2iWaOxpQ2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHw
cktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8
gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7
h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS
45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6u
nx2fi5/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKr
davprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZ
uNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjG
RsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ
1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvj
Y+Pr5HPk/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM
8xnzp/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf////4AJkZpbGUg
d3JpdHRlbiBieSBBZG9iZSBQaG90b3Nob3CoIDUuMP/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJ
CAwJCQwRCwoLERUPDAwPFRgTExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM
DAwBDQsLDQ4NEA4OEBQODg4UFA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwM
DAwMDAwMDAwMDP/AABEIADAAggMBIgACEQEDEQH/3QAEAAn/xAE/AAABBQEBAQEBAQAAAAAAAAAD
AAECBAUGBwgJCgsBAAEFAQEBAQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwz
AQACEQMEIRIxBUFRYRMicYEyBhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXC
o3Q2F9JV4mXys4TD03Xj80YnlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3
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

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/news/gfx/WE_hdr_newsfeature.jpg

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
ABD/ABL/APZ//9k=

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/news/gfx/emailsymbol.gif

R0lGODlhIQAUAOYAAAoKCg8PDwQEBOLi4gcHBzQ0NIKCggAAADU1Na2trW1tbTc3N8HBwdDQ0O7u
7m9vb25ubqWlpY6OjpmZmYiIiPLy8s3NzYeHh9fX119fX5qamqGhoSsrKxEREf7+/qenp+rq6p2d
ncDAwMvLy319fZiYmGFhYWxsbLe3t9TU1IODg4WFha+vr/z8/GpqakJCQgYGBtLS0t7e3sXFxcPD
w7S0tHFxcSIiIiEhIV1dXX9/f3NzcycnJ3Z2dvf39/X19VlZWZ+fn05OTkdHR9vb2yAgIJubm7q6
unt7e/Dw8IyMjFNTU0NDQ7y8vODg4IaGhouLi2dnZ+Pj48zMzFVVVe/v787OzjIyMr+/v6ioqC0t
LWlpaZSUlJaWljw8PMbGxmNjY8LCwra2tvr6+vb29uXl5fT09HR0dKSkpGtra9ra2sjIyMnJyYSE
hEFBQbi4uLm5ubCwsLGxsVdXV93d3XBwcJ6envv7+0VFRRUVFVpaWltbWxoaGl5eXv///////yH5
BAEAAH8ALAAAAAAhABQAAAf/gH+Cg4SFhoeIiYqLjI2Oj5CCIVmUlZaXmFmKL3kFnp+goAijCFcw
Bok+RRlBWWtkfrGys7NOAGKIDQoCGVxKdSdHtLIeHwsLMzMERIcyEC4CUBtyI1gPJ1OydywXDiYH
BxglN2aHdAYvHRE1ET1pbygQOxISSFsMHgsHHS1ReIgJDLjhoWJFCRFfzthoYoEBHDsKaCThEYCJ
Hy8QDjnQYAKHkBgN4tgAU0PEExIXKLQxUKUFCBAVKvAxckjNhBR8JsyyoMAFCzY00DyQ8GNWAwFh
EqUQwGDYiC4rKGjAMCxBgDKJrEoZxpWWDi1jEDlQwaGr2VhUliSyMmeIgbdwGuPKjcuBRKINPAQQ
2Mu3r1++MA5oikS4cKRAADs=

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/news/gfx/printsymbol.gif

R0lGODlhFQAWAOZrAAQEBA4ODg0NDcHBwRoaGgMDAwwMDNXV1RkZGQYGBgoKChUVFcfHxwICAm5u
buTk5DAwMAsLCxYWFhEREVxcXNnZ2YKCgnFxcWNjYx8fH2JiYm9vb8jIyMTExAgICOvr6zY2Nl9f
X9bW1oqKipqampCQkAUFBXp6eltbW3Nzc2pqat7e3vLy8vz8/EdHR9zc3EBAQKurqxAQECYmJr+/
v/f397a2ttPT05iYmOjo6BQUFCoqKk5OTn19fXZ2dv39/Tw8PDs7Ozg4OFRUVJKSkj8/P8PDw+Hh
4WhoaOXl5czMzHR0dIaGhoiIiC8vLzIyMmtraygoKBsbGw8PD2ZmZjExMezs7E1NTYWFhUpKSrOz
s2RkZNTU1MDAwJ2dnRISEhcXF/j4+AEBAWFhYbCwsIuLi8nJyWBgYO/v7ysrK////////wAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5
BAEAAGsALAAAAAAVABYAAAf8gGuCg4SFhoeIiYMyBgYRjQYeGoqCAAOXmBo7lGsBap+gZRCcAqCg
FqOUnqZqFkKKKRcKrGpMEhcnhxkTEyC0WgkSCTOFT0hqLRS0MSNqLARYhBFhHWQwHAzZDGY9Z10P
SgmDGENqJSABBOoECFITCCFcagiDYC60+GpWC2OCDQpAKISgAsXBBoMOVGyhgMKJAh2CTNx48CHf
J4pocCyo9EKNlygNPAAYOVJBgSAd1BDZuKZAEjUriiypcECEiAMHKmTBkEMNCZYNeBygkaYGPhtV
KnBAIEGQEQAFxPjI9+MLgAYRDBU4YjHDlUNNCkwREICsALMBEqTiRCkQADs=

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ads.aco.valueclick.net/cycle?host=hs0004326&t=std&b=3453718836&noscript=1;hcat=RONH;msizes=120x90;bso=listed

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
+awAD81gA6njX5reMAH/2Q==

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/spacer.gif

R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOwICVAEAOw==

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ads.aco.valueclick.net/cycle?host=hs0004326&t=std&b=3453718836&noscript=1;hcat=BRRO;klocation336x280ad=BCLR;msizes=336x280;bso=listed

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
AP/Z

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_stanthony.gif

R0lGODlhjQAfALMAAMSmYtO+dN3PgKFtN+LXhrqWVaZ1PcmuaNjHeqt9Q862br+eW7WOT7CGSZxl
MeffjCH5BAAAAAAALAAAAACNAB8AAAT/8MlJq7046827/2AojmRpnmiqrmzrvnAsz3Rt33iu73zv
/8CgcEisIQKEWLKFAAAWRQ+hMHBYDYDl5AA4FQInLqVhbUQ5gqp17UhMAFVzSdAuwR1yCRl/3uzZ
VgoTe3kjDFYHJIRjZX0ZdFYDYAIMXRIICVYJAQgjAWsGWhICAQCJpQACFJianHplBFwHohMCsqoU
BAFiAk6dEwQKv5cKtB+fVxiAfCJ/DpZvZQVsiRLLcnsGag4Dww8Czni4D8gOB2wFEofMEtMODCOQ
V6kU5WuFHgqRkaIAy2ud7DV6EG7NgAkItrHpJkEgmy7+rOCSBy1EwQSCyAEwMK8aCI7m//ZAiTbv
T5dSILFU+9Ng4xowD0A6MNBgm4GGBhe440NAzciIA4xJKehgJMGBISKaQbBmXEQHuEDmWTQo2bc1
Xc5ZSdduzSmvXa1IWBBJAkijJAJQAYSLKoieVmC6gyfhaVV2bo+yw/rA3U0KINOVg2n3KiJ9ElUc
2GYpr4enDSJnilt3zd2pSPXm4et40eDKYsM2WMe1hLenjTM/IFDRQpp/90A7uEy79gO+ZLlpgVuU
3EvZExzCJNGzwYFd2zLukQQsU2kLO2Gbe1BY813mr/ZaObkmgSoBkx2A+Uzd8l3VIsIDOig7EIHw
z2utiS/vZnW3TwNZt7Y9+z855FX3AI9i+pXgUCTDvVbWA1oxZMEfw02wkxPm7ffNNuy5xddq6nW3
RIAVmmWVCQKstQYD3jzAigOlLZaiBFNkgs8oZVAYmoUqTsaVhv29IRMW9fxW3o2GTacCKRFaoMs4
q6GBwTgCMKmiUKsFgAsCtCRJASlSrpZilNDx48iYJFBE5pkh7NQlmmwqGdkA8bUppwwRAAA7

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/spacer.gif

R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_helpmefind.gif

R0lGODlhjQAPALMAAOLXht3PgNjHesmuaKFtN6t9Q6Z1Pb+eW862brqWVbWOT8SmYrCGSdO+dJxl
MeffjCH5BAAAAAAALAAAAACNAA8AAAT/8MlJq7046w22/2CoDckhBQsjYALjiEjVhEtdB4OzgEPB
iMCgxfV7NByO2eX4ChkCEwAhhKwOFo4BCFsUekVECVOJWqyMyAegMQDcLgJHYnJIRq8xC9LAYCxw
WgIDOAtKEggLA3VdX40bLgUNDVh2OVUKa2lHBQRWFpRQAUg7DwKdSAVnE6MTXA+QVTsALlUOjI64
Q7VVDaI6loWaqA0JDgQdFLRzxQ4FEgZyDZ23SAkNK66QxA4GD1gEiEi3ueSvu0gNddadJkxoDsjQ
WhRInTmnAAjcAQW2yKtVfmTT8e6BPAmLyimUEOZdA1gGlLg7MoUhwQn6CFDSAS2cAQIazC/sYWBi
4A536CS4Wliu4Zg6DjCVKsgEihQHeRD662QAgAIHB/Q1W6EKIClvtsydTNOP1M8fs1ZElZBgHssP
LtEF6KRgwcdML5gYWNDPGYWmSLVgcVY2hR16F5H+cLH0BaUDP5O6OLbXTcqrHrLaEQBNnICJ9QxT
8KVl1iEkAWZVMZBTAiuVegm6ewAzZlJTgQg0LjAHsAcBUCSsqXAYGYAzE4sudq069YleSxr8C5Ba
gOuiayLb/kfctPHNxpMrv4rC0PLn0KNLnw4kAgA7

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_spacer_1.gif

R0lGODlhjQAHAIAAAOffjAAAACH5BAAAAAAALAAAAACNAAcAAAIdhI+py+0Po5y02ouz3rz7D4bi
SJbmiabqyrbu2xYAOw==

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_products.gif

R0lGODlhjQAIALMAAOffjOLXht3PgNjHetO+dM62bsmuaMSmYr+eW7qWVbWOT7CGSat9Q6Z1PaFt
N5xlMSH5BAQUAP8ALAAAAACNAAgAAAT/ECDnEiAvI8A3B9mTBMCgPA3XHKVDfMCSMdzRPEzBhSMs
o6/fYsApMFAswCGz4hgeTijAKAKcQgDDTSGAeb9g7/NgMFweBwIx+3jtEktzw4FIdNFnN2exYiEe
CzYPOiJxPgwEDCkLORVTSDIbSwQJeEs1UAJIFgeVcJoKBUlhpKRLC24YegA3KTsHAWgFbTAiBJM+
CxyxCrsNNGixozG6E8QADL2KJFYPAZcxKdCXE8wcqiUoZqXcYAFHD70YGVEY2yi/z1IfIRmrCw4L
BtiYIA3pPvEPG/AMDkR4rrWZBoXgMRj0KqGw1q3hlCMDMKQBEOCeDVciHDRQ14Vdglu0uz7wSaNp
FB8QCTQyHKmDGERWujAJgHbSoAJXH+iVODHMIakACAicECCRAMgFjPCgWQLLQQ4DAFnoPBgDjVCl
B5jmyjUAkJJwR79SwjOGwK8zCm4JdHNA1INtPkuN23cmA7yYrBwIQ7bRgIMMJPBMRfohwA+6IFgs
E4n32IQXf+ySWIJkFzgHLSPTyEPxLyCGcUkR6PiFdEc3pC+c3rXmw4DWHIhaQ+1lAEPbFK0FGN0t
opfdzALAfh26WwQAOw==

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_Find.gif

R0lGODlhIQAQAMQAAKNvP+vg1sqtkfj18bCEWr2YdtfBrd7MupxmMsSjg/Lq5NfCreXWyLaOaM6a
Mc6aYzEAAP///5xlMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAAhABAAAAWj4COOZGmepYOuLAk5jiTPdG3fEvTGeO/nu5/QpoPNGpFkgTBoSAyzRETG
SAYKtCJPgjQIGkhn5ACQCKYSxrVKmGmPESc3LrECzlSGBDCAyt4ySAF6YXUBEQMHaAx6aY1ARoER
CwJzYl8DSRIIjHt9bkGScoURlQQKi2sRbX+hlqJ1lXsBVFZYoJF7DWV7rHIyvD2AQ8RaOsfIycrL
yA7Mz9DJIQA7

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_spacer_2.gif

R0lGODlhjQAEAIAAAOffjAAAACH5BAAAAAAALAAAAACNAAQAAAIWhI+py+0Po5y02ouz3rz7D4bi
SJZHAQA7

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_articles.gif

R0lGODlhjQAIALMAAOffjOLXht3PgNjHetO+dM62bsmuaMSmYr+eW7qWVbWOT7CGSat9Q6Z1PaFt
N5xlMSH5BAQUAP8ALAAAAACNAAgAAAT/ECDnEiAvI8A3B9mTBMCgPA3XHKVDfMCSMdzRPEzBhSPM
FS+O7LEYAByhBWBVOqWWrN2sxMAFfdisNmt4HAyGi5dgBHSvosMj3HAgEgIQC3ONrVgIou2hS6+x
DUpCORUCBzJfcktucIo7CQQvDQ0ECCRbmJkwagtBdDA3T3IBXgUPdSIEanULgqQKHAENNF6kUR9d
fzFKDLAAah+lpzBewbcUB5eay1sBVQ+wGBkcZ7ooswHAxCHDHwsOCwafNQ8gkwzKKgkJT98MDmXa
cvI7tyEvuS7M+1oFVQMYDryQtWLSIwcNsj2IEwzSKhgLVhAQUExIChEI06lZ96fVP3LGndQwrNeQ
wCVD0PipjIWAwAkBASNxWlCFhRc1yRzkMGCk2DghgmKMOWHzAM4PARC2ohCg1QAiIOsl3dlzwYE+
kEyCMWVhJT9pDzaA/Ra0jS0ADBIaQPKAhM9uQJEOCUsy7aWHZry0kqBPXrG1GdxmsJnBgVAUZbx+
HeljJMMgjCdyCBIgMYcBlgHAVAa5MYw4A0gEODmyjmRNMBWrjAAAOw==

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/search/aco_search_spacer_3.gif

R0lGODlhjQAFAIAAAOffjAAAACH5BAAAAAAALAAAAACNAAUAAAIZhI+py+0Po5y02ouz3rz7D4bi
SJbmiaZGAQA7

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ads.aco.valueclick.net/cycle?host=hs0004326&t=std&b=3453718836&noscript=1;msizes=88x31;bso=listed

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

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ads.aco.valueclick.net/cycle?host=hs0004326&t=std&b=3453718836&noscript=1;hcat=RONH;msizes=180x150;bso=listed

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAlgC0AwERAAIRAQMRAf/EAKcAAAEEAwEAAAAAAAAAAAAA
AAMEBQYHAAECCAEAAgMBAQEAAAAAAAAAAAAAAAIBAwQFBgcQAAIBAwIEBQEGAwYDCQEAAAECAxEE
BQASITETBkFRIhQHYXGBkTIjFaGxQlJisjNDFsGSk/CCosJTY4MkF0QRAAICAQMCBAMGBQUBAAAA
AAABEQIDIRIEMUFRYSITcYEFkaHBMiMUsdHhQmLwUjMkBvH/2gAMAwEAAhEDEQA/AIprsnzEzQBs
DQB0BoJO1GoJOwNAwRRqBgijQSEUaBkFVdQSgijQMgqrqBkgqrqBkFVdQOFVdAyQZV1AyQZF1AyQ
VV0MZIKq6gdIMq6gYMi6BkgqLqB0gm3hqCYKi1sPMks7ahx0fZ/cGTu7K3up7R7WKwaZWJEtw7Bu
TLUCNCaHVV53JHR4qqsN7NJtRHz/AKI3jMdje4cHmJltEscph7cXqS2+4RTRBgrxvGxYKwrVWWn1
GobdWvBk4sdc2O7jbeinTugN/hc5FjsPjZ8XDBNcde4tplCi6lQn1dc7vSse003UoK11KspbkTJg
yKtKuqTcteL+PwEk3beUivVswsU0rQi5EkE0csIhIr1GlVtiqKcSx4abeoK3xrq23R6To1EeMhH7
ZyiXklrSFuhEk81yk0bW6RSU2u0wOwA1pzrXUb1Az410400U9VH2iluzu4Y7y7tWtayWMBup2DoY
+js6gdHB2vuUVXbxOo9xDvh5E2o/Kp+QGHA5SW3sriGAypkXlitAhDM7QU6npHFQu7mdTuQiwXaT
S/NMfLqOMPZfcEtzaQQQJO17E01vLDLG8RRGKsTIDtFGFKaV5EXrhZG0kp3arXQS5HD3+MeGO9RY
5J4hMqB1dgrEijhSdrcOKnjqVZPoV5MNqRu7qROq6kVIKq6BkXD8admYHIdopcZSwiuZLieRkkcU
cIpCABhRqVU+OsebI1bRno/pvDx3wzdJy2Ot58Q9pT1MAntCeXTk3D8JA+kWexff6ThfSV8/5jPc
fCoAJtcqa/0rLD/Mqw/lp1yPIz2+jeFvuGi6+J+6YOMPQuh/7cm0/g4X+enWepnt9KyrpDGi67T7
ks6m4xtwoHNlQuv4puGmV0+5ntxctetWIDGyNtcFG8VYUP4HTFcQFVdQMkGRdAyQVV0oyQZV0DoJ
t4agmCnRraeXJktgq9gw2UN7ZC8u8gbu7ha7gV0ijh6cO4FvN3NPDVM+ufI6ez/rqqdZdpfqXSNP
xEwytnhe3b3FY6YXWTyu1Mjexg9GOCM7hBCSAXLtxd6U8BXnqdrs5fRCe7XFjdKubX6vtHgvxJHf
z9LuSxOBy2Od8LjI7eKO4dRbyjYBcRF5KRu0rSyFhXl414arS9LlPVmzJaMtfbtX0US16PxWumss
GV7evMd3PbYOa0xpuJLFkimmEUbxRgtcpC8nEp16MB4gDRqmp16kP27VyLG61nb1fbvE9pElvbY6
bsi5xdlf2wvFyiTXjyuIBLbiHakidTaXWN2bhSvjTTNvdLXYrrWrwOlbKd8vtKjz8GL7XuDF33ej
zNcG2w8GNmx1tPKOPSjs3hRyn9p2NQvPjTSujVfOfxLa8ils8zFFR1+W2Dfa2UtLg5W1R4LXZjXt
MHFeuI4gruDMGeqgSTLUsa8eXLRevT46k8XKnuWi9EVn7/mzjBZFbLMTX1zkIZJMXjphYrFRYVuG
UxxQwCgVtpkLVA51PHnospUR1ZGDJtu7Oy9NXHhPRJfaRZF+8niT5nz1aYEgqroHQUCg1AyPQGNv
LXtX45hyF2jG2xmP93dLHTftVOrJtDFQW4mgrx1zsjmzPZ8Om3FVeRIba9jmsobt1a3SZFcRzbVd
d4qFahIB+/SGkUAgio4g8joAzQBmgANxZWdyKXEEcw8pFVh/EHUzAtqJ9VI03HZHas5JbHRqT4xl
o/8AAQNMslvEz24eJ/2jZc/GWCept5Z7c+W4Ov4MK/x0yzMpt9Oo+jaGu4+ML1Km2vY5B4CRSh/F
d2n94pt9NfZjbP2P3HBU+2EwHjE6t/A7TqVkRTbh5F2Ef7Fmd/T9jP1PLpt/Omm3Ir9m/SGUcNbj
yQ8YPt2XK/uFLiO1bHWsl5MkqvuMcQ4gUUitSB6iOekteINODjvJu1jam/sG1RpihHYGgkIB+OoG
CKugYIq6gkKq6BoCKuoGCqugZIKq6gdCq0t2nuYYFFWmkSMDzLsB/wAdQ2PSstIu35Wg63ZZxEXA
5W8x+NUf3J7uJJB/0t2uYe5Sg6wxjy/fPcq5FVm/ZmtLTHWsihliimt1nedVPDdNI5Qt5JTz0AM1
xlpO3p/kC1s5CmIxWPhv7ONOC2t3cQzGSCKn5QxjjlCjkX4c9ADsO6lW67WwdlkevkLuYxZEzIes
0NvaSSyuyOEZS0iKN1PHQAs7c7uucjns1iL23SBrGRnxk6khbq1RjDI9CTRobhGjf/un+rQA9YLJ
nK4ezyXRa3F5EsyQuQxCuKrUjhxWh0AMeD76kymHfMLh7kY9JbmLqwtHOWFrM8LyJGrLIys0ZKhV
LEeGgCRY/IWWRsbe/sZluLO6jWa3nQ1V0cVVh9x0AKNAGaAM0AeUvjq1tLnvDHpeQpNaxF7icSE7
QluhmLekitOnyPDz11Mr9LPAfTqJ5q7lK6/ZqPOPylhd4Lu3O3cftGyD29p04C7NK08zXMoDSs+0
sIhU8gPDw0jTTqkaceWtseXJbTdC07y5fX4HcnauJvs1b28UAx1rY4aPJZdFlPF2XqBOpMTtZxJG
pY8BxNNG9peOsEvi0vkSS2quPdbX59/ihk7gmwMkVhFjbeOK7hjcZGe3MvQkctVBGJiznYvBn4bj
yGnpPcy8h42kqrVdYmPv/iPdibGy7Xw1MRBez5i/kEi3BkZpEt9kS7ChjKbnlag4/fpHLs9eiNVN
tcVPSrO9u/lp+IXPdu4XDtmMlAnurK3yJx2LtZGYpvSPqTNIykMyx/lArxPM8NRW7cLyGz8emPfZ
a1VttV97n4dBZc4DAL3Fd2Mdiwkmw5vI7dZH22117UzlVBqzcaUDHhXx1Cs4nzLbcfH7jql1pMeD
2yCi7axNrDhbq4/WhikuW7gYk7ALYxloUof7/TFObHU725+4VcalVRvXV7/lGn4fEJBju3cYljfZ
OCOSDIRPeSWbyO0qQyM4ghhVGU7qAEySGnlqG7PRDVx46Ray0spjvHZL+bORB2/Yds4u+nxxuL69
e5AWSZgGjSkYkbaBQK9dqj7zoluzUkbcdMVbOs2tPcjiLw8/rqwxoccLdx2OVtL2VDIltKspQeJQ
1H8dZ+Tk2Y3Y3/TcPuZ6V8/4akiT5E7inzmPvMmlpe21k7NFDR4FDupQS0pNSRVY0NTSppz1wq8x
ye5fHRYH772NlbyHIR5ZbDLGEI7xTdGVowSelIrDbIFZjtqppx20qdbK56tdTM8Vl2GLvLK9lpg5
+34rm5j9/cRT310ltNcmYpJG7dWZ9inqCMITu4LwFKDQ89UCxWZIM/7SLujEdy3mQs48XjrW7gto
nkCvJc3fSIZWPpNEiK0/vV1Y7pKRVVsrjP8AcF9F29jLzHY+4HcWM9yzTKVlgmTIFveQl4Wk9JZx
IhP9SLqn9ypLPZcFp47uPDw9ijL20gSwsLIn1+kp7eOm1gaUPp1bS6spRXasOBu7AucV278T4S7v
bqNLO1xsVxdXO4Fd8idWShFdzGRzQDiTpxSHY7F5GHt7sLBZDHPLc3V9fZm5xe5Y3jtwJ50hJcqo
6bXkQKk8xTQSSrvPuaXt3tEQYYrYZWS0nvLeG+kDPBDAOrLUOz7n9QjRQx4n+yp0ED9m89cwXmAt
Me0RkzNy8e6VWcCGO1luGdQrJx/TUffoAb/963v+0f3n2Ke79/8AtvT6h6G73/sfcdTbu6X+py5c
ProA83YXL3eJu2urVY3keGW3ZZl3rsnQxv6aj+k669qyfOcOZ43K8GvtO58xfXOPNjKVMLXLXchC
gM0rII+NOG1VFFAHDUKqmSbZrWrtfSZ+Y8DvrNNlrjJSR20hu7c2dzamECCSAqq7GCkMfyDjurw0
ntKINP76+92caqGo0gaZ7i4vZY16aLt/Tgt4UCKtTXaqjiak8zUnz06UGe1nZ/yJj3Ne3mFtu37G
1iijnsbBWW+FHljuJ2aSdUIYqpUsOO3cDyOqaKZZ0uTe2JUqomteveX1GKy7gvLfFvi3ihurMzi6
jS4UsY59u3epDLzHMNUHy1Y6y5MtM7VNkJqZ18Tqz7gy1vlpctHcF8jMJRJcN6mrMpRm+2h4eWod
E1HYmnIuru8+rXX4mfut82ITEb6WSTtclBzaRlVasfEDbw0bVMh7ttmz+2ZFz9xX0tpaQPFAZbKL
28F4Y6ziIE7U3ElfTuNDtr9dRtRa+RZpKF6VE94A3WQubuCzgl2iKxh6FuqilF3FyT5ks1SdCUC2
yOySf9qhAlXUkJBVFOOuX9VvGNLxZ3//AD+Oczt/tr/E2TT7PCmuAexOJYreT/NginHh1UWSg+m4
GmmrdoV1TAiOa3I9mqRLT1Isl1DU/wDwyBR/yatWbxEePwCIqVZRE1usorKEljuULcf9O5gY8+Z3
aPcqDox37b7dx8slpNeRLJ7i89ukkMcVsyIEDTSM0ShfQrA8R56att0eDcC2UDvZWUtjbR39rl5I
CltLeiNVO2iymOJSpO39RvFh48AdRRbVKfaQs50aHDtnu2yfLvcZTD201shVrW6jgtxcJNz3UXbu
qeFQoI1qx8p9ym+Bdg+S+Ru3shnocg1lk8e9jHPaw5VSi7VlZGlUQsJkNTEtSRUU1Z+6XgJ7D8RG
PkbE3MmaiNiuVjvgkEVzcXNuGa3ERQJs5rtYs1NvEsTXR+58g9nzBZHKYiK27ZfNXjXuPxGKuMe8
1h7hLl7yeOKFZkCqDH+lE/HfwLeOrPfqL7TA/wD6tF/+Y/sWw/7k2ftVegel0v8AL99t27adH17K
fn9NKaPerEke05KmA13j5iEUaCTtRqBgqroJFmPxlzdmT28Y2Qp1J5WISONK03O7UA4mg8zy0rcF
uPE7dOxI+3uzLu47ltcdkQiW21LudhLHte1KGTdGwb1BgtKry8dV3yemUbePw28qrbp169uug3ZX
J5C8ZLe6eJo7Vn6CwrFsRZCDtV4h6lFOHE001apFOXLa2jjTwj8BGq6krQZV1AyCqugZIKq6gdI6
fhQa4f1a/qqvI9Z/53HFL28Wl9n/ANOaivlXXJPRGVr4aANAitP46CDOR8xoJCpdXCwvAkriCQhp
IQSEYjhUjlqZcQRAqbM5Bra4tyymO5EKykou7bbrtjUGnpAB8NT7jhojYhveKGQhZ4knUGux1DCv
2HUKzXQlqQS2bCKka26tzIhlvLV/oPS0yH8NaFkTKXRoO7XnT/U9y4HAjrWl4P8AluI43025EQD/
AG/f+r7VT47/AGEkR+97GVv8Opkg11Y67Nw38un7rJbv+n0+p/HUgRkDXqz5QEUagYIq6CQirqBk
SfEpBcdn5CwiuYbe+e+t55UnkWIPbxxuooWI3bJGqQOOq7fmTN2JJ4bVTStuT1caQPdplbR7rK3t
qxezw2DGOspmG0u77YA9DxG5pHYDy1W69F4s1UyqbWXSmPav4fzIWi0AHlq45qQZV0DIKq6gZIKi
6gZBlXQOkDlIVyW/KOf3CuvNfULTmflB7f6NTbxq+cv7zz9D3/3RaZW4vLa/leOWV3FvOerGVLEh
drcqD+zTWp8ejUNFiy2TmSy+1fkiDNWN51bYx5Kyhac2cJ39ZEHExV41rwIOsOXjbWvBmrHm3LzE
Vh8ydvzEC9tLmzP9obZl++m1v4aa3DsujkVcldyTRd6dqyWIvhk4BalxGZGYqQ547SpG6vHy1Q8N
5iNS33axMj4CCQwoVpWo5cdVFhgIJ4fboAwHmB+OpA35H8NQBsNx8vCugDmS2tZnRpYg7JxRqsrD
7GUqw/HT1u0K6pizZB09vUuq0/L7242fhu3fdu0/vC+2QtRr2R8kCKugYKo1BKCKNAyQVUJBNKgc
z5agZIkWYhNhicdawGERZGBLu4eHq7pSjukZk6tKU9VAoA8ePDVddW/I25lspVKPUp76+EyM6rpz
OgqrqBkgqrqBkgyLoGSCquoGGfP3gtcTkLrkIYJnB+oQ015bI9+VvxsfQePT28NV4VPPfbiWj5mz
F7F1rNWL3cVC26JFLPwXjXaOGulkna46mWnXUd+xQsvf1g9grw2wuHlRGarLAoZtrEc/TwOq8/8A
xuR8X51ADG4x+6u8JrcS9H3s1xMZQu7ao3OOHD6DU2t7dJ8CK132Jb2x8UX1rnopc3HbXmNjR2Ko
7EGXkgKEKSPHy1nyctOvp6l1OO09eg7fJPfV7hJI8ZjHEV7JGsryhVYxruoAAajiqnw1XxsCtq+g
+fK66IcvjjujJ9w4m5nyPTM9vP0g0a7KqUDCorSuk5OJUaSGw5HZajh3P3xg+3Qi3rNJdSDdHawg
FytabjUgKPtOkxYLX6D3yqvUT9sfIOB7hlNtBvt70AkW09AXUcyhBIag5jU5ePamr6EY8ysO3+5M
AuTfFyX8K5BKbrZ3CsCwqB6qAmngDqtY7RMaDb1MTqOQYE8GB4V4GulHO6+Hj56AGDDWCX+VsrF5
RAl1PHC07UogkYKWNfKuvbWcKT5Lhx77qsxLgmU+Ex6rd4wYmO2ycuSTHYPrmXqvGSUkmk9YD7fS
Q23bU0GqVZ9Z0jU6dsNda7Ytv21mZ82/9QJstb9q4+G+xSQrdXsVzHDZXMLsZisbUneZ6mIdTkiK
vp8dTV2cMry1xUVqRNk1DXXzntr2XYdr/EdqWvcOXtYrMSwY2wkecb5OnDNHEqAKSdzu1w4qTwHl
pFazS82acmHDXJZJaVr9jj73I2mWK07Fs4fZRNPlbqVjIWl3MLVRGj0DgV3ytw/L9NN1t8CmVXAl
Cm1n49tPxHfK4OCfL5Np2U2PblnaWmxnEavOI1RYy/gOpvZqcfAcTpK20XmaMuBO9p/LjrVfOP5y
DsIe1b7Kystqq2lpjWku5VMiQe4RSplSMkyEdR0CrXjz1L3JfMjGsVrvTRU16xPjHXqahwNnf2OC
trK36F1k7udEuZGLO0EW1S7rXaPVuNF8qfXRuabnsRXBW9aKqh2s9fJG507VUJYlVjPvVX3sRaR0
tF9LtK1dju/MBB6dC3dSbLF+X/Lr5ef9BVJiLYZmGxubeztGNuz2UiSSNa3bMf0CzliQGFRzFTz1
G7SSx4lvVWqrTTwt4DRl0MWRuUa0WxeJtklojFlRlFGoSWNCePPUXtFG/ISuPdmVY2+pKCs/lHJi
07RuowaSXzpboPoW3P8A+FTrzfFrN58D3OdxUqPAYnuK+mlkwkMsk0C0kkhYIVWQFabiV/MKjXRy
XqvzGOlbPoTbtHtHIdu2WT7hy8Yt57a0mW1tyQzAsnFyVJAr+UDWbLmV2q18S/HjdU7Mhna3cN52
9eSZG2t0uJOkYd0u7Ym8g1O2nE7fPWnLjV1DKMd3VyXB2R3qe4bG8uri1FmtowDOrFoyu0sSGIHE
U4jXNzYNjSTmTbiy7k2Ux3Bl5cxmrzJSEn3EhMan+mMcEX7lprp46bapGG9tzksz4UdTh8klKbbl
CzeYMY/lTWHm/mXwNXG6Mh9pD/vP5CZblitvczOz7SQRbwA7VU+FVUDWmz9vHoUpb7iq9xS4z5Rt
obCB7e0W+t+hRGCAELuVCeY56Wt92LXwJdYyaeIL5PC3nfc1vbIDKVgg2gAbpWUUqfE+oCup4umP
UM+txHi8F3diO4rQmwvYpYrhEkMIcBk3AOokWq7SPGtKaa16Wq9ULWtlboz0JtFa/wBNefhrkHRG
ztjFW+Sygtp5lhCxySxKzIvWkjXckIaT0KZDwq3DXtb2hHyrjYle8Nx+Pl8yRdw5Ks1vnpbRcR3R
BdRt0YnEkcyoNwlMZLdPYVVacmrw1XSvbrU28jJqsjWzKn9vnHb8Rqvu5Li9vvdi0tbas63U0MEZ
VJZVbdukJZmIr/TWmnVIUGe/JdrTCWs6d2dW/ceRifKSgRPNl+N1I6BiCZOqdgPpHq+h1DotPImv
Istz0m/X7ZC/7iv2sMdY7IhBjTuionqf9XrUkatSN3gKaNilvxG/cW21rpFf5zqLl7xyb3GRluYL
e5iygHurSRCIqq5dWUIysCGYmtft0vtrTyLlzLN2bSe7quwlXMXnTvY6RgXyRwy7UC7Y43DqkYWg
UVUanaVrLaGv93+tBdb9z5SE4swiKP8AaOFsQnFuJJ6hPE13HhpXRa+ZdXk2W2P7OgRc+/vOuLCz
WAly1kIiYWMgIZmq2+vHgd3Dw0bfMlZ/VMVjwjQ7izkv6gltLaeNkSOGORCRCsRJQRUYMB6jUEmv
jo2krM+6T/CPAb8hcTyie6mcvLI26WRq1LMePIHnXWXm224WbvpdXfkpvzZR3zJlGlytnjF/y7WL
rvx5vMaD8FX+OuXw66NnqOTbWCTfEtglv2oLmlJL2eSRm81Q7F/wnVHLtN48C3jqKh/lHIx2vaFz
FvCy3jJAiV4sNwZ6D6BeOo4tZun4E57RUafiC1gjwV5PNsre3PTRJNvqEKDkG58X1ZzH6l5CcdaB
vlLJSYnAR46wt1t4cm7i4mjAQACjMtFp6pPE+Q1HFrutL7E53Chdyq7GCykhvXuZxE8MBe1jNayy
llUKKeSktrfZvSDIkiffFmUgse3+4pGJ6lsguTX8u0RsF4+e4aycqk2qaMFoTEnwzamTP3l2w429
ttB/vSuB/JTqea/Sl5kcZayXEdxIU8ePAH665xtKDzWZjj+QLrLCM3UdvfGQRE7dwhNAKgNQennr
rUp+ml5HOtb1z5lldofJ9pn8kuNmtPZXEisYW6u9ZGXjsHpU1pU/drFm4zopmTVjz7nBN+t/Tsam
7Zv2nbu2b6V5fl1VseyfMfd6oI+FB58deyPlEBUQDgBTQMkFVdQMkFVdQMgqrqBgqroHQZF1AyCo
uoGSDKugZIKq6gdIFf3DxW7RqSBKKPSvEAg04fXXM+qW9CXizv8A0LH67W8F/Eoj5T7dv7fMyZkb
p7S9oSyqSISiqgRzx5+GsvFyJ1290drkUcyWd2pZGx7axlqRtaO3j3jkQzjc38W1gy2mzZrxqKoh
nzDBd3H7PDb27zMWmoY0Z2rRPT6QeflrVw2lMmfkqYKxuYbq2lFvdJJBJGdwilDIV3f1bW5V89bk
09UZXoO/c1vnbS1xNtlGja3jti1g0UgkDRSPvLMQTxJP4arxOrba+Y901EhI+xe4hjLjKXNq1tZQ
QNOHcruagBUBK7qNXnqHnrMJ6h7VokVduOy9kd17DRytorHzQyEEaXJ/yV+Y1PyWFPYHddlgMbm2
uG/WeONrOKtGkk9SUH2bgT9NRyMTu1BOHIqpi34xzOfN9eyzXEtxjbK0lkn60rFI3puQjcfzMyn7
q6Xk0rC8WxsFnPkJPiiO0n7kuZr54+NtINkpUB2mYBhRvzemtRqeW2q6C8eN2path2t25ZXy3tpj
YLe6QUSaNaFQQR6RyFQeesFstmobNax1TmCX/t8n+zPedE9f3vuNlDXp7uh5Vps+mt3t/oT5mL3f
+xHl/Uh6jXpD5ugqrqBkFVdAyCqulGQVV0DJBUXUDoMq6BkgyrqBkgqrqBkgyroY6Q35Z/1UStKC
p+/XE+qWmyXgj1H0LHGO1vF/wG8+RPA+GuWdw34ceWoAwEgakBNfYzG3o23trDdACg6savw+m4V1
NbNdGQ6p9Ssu8+zO68p3PvitBJjD04LR4WVUit1oKFSQVpUk8Nb8Oala9dTJlxWdvIsPuKwmm7av
7CyjLzPavDbx1FW9O1RU6xY7etN+JpuvS0iJ/HfZGRsLfJJnLeMW2ShSM2pYMxALFt23gp4608jO
m1t7FOHE1M9xnyHw3lFu6Y69hktGJ9U+5HReFAdobcfs1ZXmKNUI+M+zJSnYUeL7Py2KxUrT31/G
d00tFLsBwQcgopUffrP7+66b6Iu9qKtLuVzF8ad6Srxxuyh/1JIlP+LW18mniZfYv4E5+PrHv7EX
q2WRtRJipCWknlnEjwhEO0R0duBNOFNZc9sdlKepfirdOH0PQv7ev+2/abf/AOau3j+am/z/ALWu
ls/Rj/E5W/8AXn/L+hVCrrrnhkFVdA6CqulGSCqugZBUXUDJBkXQMkGVdQOkFVdQMkGVdDGSCquo
HSI/lpWW+kaTdHGpCq7I4WgH9qm3XnuYnbK2ex+mpUwVXz+0AksMjmOORHkH5kVlY+fIGusjTOhK
CEEGhBGlJNE8dAGxwrXQBugoOOgDRNTXnokDYbiTSmgDZY+WoA3UEVIr9NBJ0FU8OX36CB1wOGuc
pfxWlspYGrTP/THGoqzsfAcPx1ZixO9oQmTIqqWWPRacvT5fTXoo0g81PcpVV1vPJJBVXUDIKq6g
ZIKq6gdIMq6BkGVdQMgqLqBkgyroHSCouoGSDJGWIVfzMaD7Tw1A6Rcz9qYCaxW1uLGF/wBNY2kC
BZPSBxEi0YGo511z7UT7Hqsc1SS7DVffFnZN5arBJj1UqSVmXjJVhStW3A+dKUrpPZrA/uMbLv4a
7d/bGt8dJLb3goY7mVmmWo51jqoof7tNV24tWh657Iru4+N++455YYsULnpSbBOsqxRtwruUPuNP
+xprI+KzQs6Gxu3e4Uu5bJ8Zc++goZbWONpXAIqGHT3KVNeddVPj2mB/eqJb62vLFH97Z3VoUFXE
8EkYAH1IpoeFrqT7iYkhnEkXUjVpBWhCULfgSNL7TJ3o7e4jVSZFkiA/txSLw/AjQ8TDejccySLv
jYOp5MOI0lqx1HTkJpQMXceA+86CSwvjLJ20NnmLIr/9qWJZI5aD8gOxlr+b+sHy10fp7UtHP535
ZJBThrrHGKWVdbTyiCquoGCquoGSDKugdIMq6gZIKi6GMkGVdQMkFVdQOkGVdQMkO3bdp7nO2ENK
gzIzD6Idx/gulu4Ro49Jul5l06xnoxrzozTxKmNXaVaN3kDKGYLKu6Nd3KqVqfu8dQyUIv3TuRMe
8t3apDc+4VY1iRpB7dVEkhNCfUVDKvH81NAQgdr3vbSELc2c1s1CZAdr7NpfduoeQEda/VfE6JJ2
ipO7MS95HAJAsbo7PNJVArqxAj4jiTsc8+G36jRJEDV8hZWxk7anghnjmkllijKIwcirluIFf/Sb
8NY+faMTNHFXrIt8Z4S1vM3d3FzCk0EMCjpSIrKZGeqPRgeKhTT7dZfp9Zbkv5bhIstMFhUkSVLC
3SSMlkZYkUhiCK8B9ddXYvAwbmRfuf4uwuShVsZFFjrsNVnRSI2ViN1UWgqKcKapy8dWRZjzOpBe
5PivOYp4XspGysM5MeyKHptHJ/SWJkeqn7NZcnEjpqX15E9RJP8AFvyFDGHW0s7ncNxVJmjZaCu2
hEgJ+w6j9oyf3COuxLG8TK3Mk9vLbmCNonVxQCQuAUJ8SNuruFidbszc7JNETmnDXTOUUyq62nlQ
qroGSCquoGSDKuoGSCouhjQGVdQOkFVdQNAZF0DJBlXSjolHx9bmTuON6cIYpHP3jZ/5tV5XobuD
WcnwLS1mO2ZoAzQAOeKCSJxOqNEVIkDgFSp/MDXhTz0AQP8Acu171o7i6xfR6yLde4UyRjYZGFq5
2DjvhheXyABGlG1GL5Qgxcc1raRzzdZk93PvA/y3RbeIV2hgT02ovnXhrBz7tJJGriqZYf4zxGTl
wV/cY67ZXlvEKSyl1V1gjLKqsN1UMrjd/dqNPwl6W+gvJeqLNsEu4bONL2YTXFTukoBWrEqOAUGg
oK0FdbjKKdAGaAM0AR3uqWstvF5Kzn7zQfy09DNneqQx04acoKbVdbTyqQVF1A6DIugZIKq6gZIM
q6gZIKq6gdIMq6BkgqLqBkgyrqB0Tr4ztf1L66PgEiU/bVj/ACGqczOn9Or1ZK8nm7fHTKs6MYhG
800q8RGiUFSOfHVB1DpM7i2fYZumx3EdQMgIRQzMGICkBWBrXQAsSaJ6hHViOBAIPEaAOyARQ8Qe
Y0AIbnB4i54z2cTt6fVtAb0gqvqFDwViPsJHjogJKo+UrKCbuSYQ+iQxwiZiWIqgJUheXoBFBy1x
+bk/U+COhxq+gk3Z3aE0XaFkmPvGsmuZfc3J2kmSLcSkO5GjZQF4AjW/ir9NMy5362O9hgO4hkrU
ZO8W9x1qWnR2Y9Uz7Si7l2Uou4kUbgdaIKpEtpcd72Ea+7ha6YRWqKgKuDKEkWXeygkb2VWZuQqB
5nRqGgvwvcl7kc0bSW0a1RbUTtGWVgu9vRuqEfeUoSortrx4nQmDRI9SQRPPSdTJyDmECoPwr/x1
ZXoZMrmw304aYrKcWmth5ZBl26BkFWmoGQZaagdBVpoGQZaagZBlpqB0FWmoGQVaagZFlfHYhGFl
2Gshnbqjy9KgD8NUZep2OBGz5kll9v8A6uzw/NT7ueqjcMV8O0SIhKVX9F+iYd/+RQ9Tb06+in5v
pT6aAA39niHx1uEv5Yrc2rCzMaFmETNFtaiKH9LbOfEitfHQAa7t7w5ieS2umF1+gxhCybPbqybk
rtKbnO71V4eXM6AOrZe509uN/VUrF1zKE4EiRpaU2NwIRR9tdAFVd23GWbN3j3lqEuzLtkiRwQFC
ABlJPI8CPGn11weSv1bSdTB+RFx4ORP2mzWGJhAsMQieq0Zdgowo1fxGu1jjao6Qc287nI46sFM0
AZwr9dAGaAIXflzfXBcUbqNUffq1GK/VgNSKf//Z

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://ads.aco.valueclick.net/cycle?host=hs0004326&t=std&b=3453718836&noscript=1;hcat=RONH;msizes=160x600;bso=listed

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

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.americancatholic.org/gfx/archive/AR_bkgrd.jpg

/9j/4AAQSkZJRgABAgEASABIAAD/7QVAUGhvdG9zaG9wIDMuMAA4QklNA+kAAAAAAHgAAwAAAEgA
SAAAAAAC2AIo/+H/4gL5AkYDRwUoA/wAAgAAAEgASAAAAAAC2AIoAAEAAABkAAAAAQADAwMAAAAB
Jw8AAQABAAAAAAAAAAAAAAAAYAgAGQGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4
QklNA+0AAAAAABAASAAAAAEAAQBIAAAAAQABOEJJTQQNAAAAAAAEAAAAeDhCSU0D8wAAAAAACAAA
AAAAAAAAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9m
ZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAAB
AC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA////
/////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////
////////////////////////A+gAADhCSU0ECAAAAAAAkgAAAAEAAAJAAAACQAAAABoAALtwAAAA
ts8AAABIAAAAAA+hAAAAAAABAAAQPwAAAAAAAQAASKAAAABfgAAAAAGgAQAAOh0AAAAAYAD///DA
AQAAD6AB///4YAEAABDgAAAAR2AA///2gAEAAB4eAP///jsBAAAr4AD///pVAQAAF0AA///84AH/
//SjAQAAPUAAOEJJTQQUAAAAAAAEAAAAAjhCSU0EDAAAAAACqgAAAAEAAABwAAAACQAAAVAAAAvQ
AAACjgAYAAH/2P/gABBKRklGAAECAQBIAEgAAP/+ACZGaWxlIHdyaXR0ZW4gYnkgQWRvYmUgUGhv
dG9zaG9wqCA1LjD/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMV
ExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQO
Dg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAAJAHAD
ASIAAhEBAxEB/90ABAAH/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEB
AQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYU
kaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5Sk
hbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQAC
EQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RF
VTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMB
AAIRAxEAPwD1VUL/AOfs+I/6lqvrOyP5+z4j/qWJmTYeaCxjskkOUh9EfL8qjQpW8P6D/wCt/wB9
aqit4X82/wDrfwanQ3UGwkkkpVykkkklKSSSSUpJJJJT/9k4QklNBAYAAAAAAAf//wAAAAEBAP/i
DFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BN
U0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAA
bHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJA
AAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkA
AAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJU
UkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21w
YW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5
NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABY
WVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAA
A5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVD
IGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklFQyA2
MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAALklFQyA2
MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAAAAAAAAAAAAAAAAAA
AAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYt
Mi4xAAAAAAAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIu
MQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwAD
XJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAC
jwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBA
AEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA
0ADVANsA4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8
AYMBiwGSAZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcC
cQJ6AoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+A4oDlgOi
A64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2BMQE0wThBPAE/gUNBRwF
KwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYnBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1
BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfSB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJ
JQk6CU8JZAl5CY8JpAm6Cc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuY
C7ALyAvhC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5JDmQO
fw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1ERMRMRFPEW0RjBGq
EckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPlFAYUJxRJFGoUixStFM4U8BUSFTQV
VhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcdF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlF
GWsZkRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkd
wx3sHhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKC
Iq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn
3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12
Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCkMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38z
uDPxNCs0ZTSeNNg1EzVNNYc1wjX9Njc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2
OnQ6sjrvOy07azuqO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlB
akGsQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgFSEtIkUjX
SR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63TwBPSU+TT91QJ1BxULtR
BlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXCVg9WXFapVvdXRFeSV+BYL1h9WMtZGllp
WbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1Ykli
nGLwY0Njl2PrZEBklGTpZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/
bFdsr20IbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWFdeF2
Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL
/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1
l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj
5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1
sOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++
Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2
zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHa
dtr724DcBdyK3RDdlt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG
6dDqW+rl63Dr++yG7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5
OPnH+lf65/t3/Af8mP0p/br+S/7c/23////+ACZGaWxlIHdyaXR0ZW4gYnkgQWRvYmUgUGhvdG9z
aG9wqCA1LjD/7gAOQWRvYmUAZIAAAAAB/9sAhAASDg4WEBYjFRUjLCIbIiwnHBwcHCciFxcXFxci
EQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMARQWFh0ZHSIYGCIUDg4OFBQODg4O
FBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAB9BdwDASIA
AhEBAxEB/90ABABe/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAA
AAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGx
QiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSV
xNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMh
MRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0
ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIR
AxEAPwDuEkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUgs+kUMqdv0io8phWq5STBKE
lLpSlwlKSlk6SaUlLkpikl3SUpLhKNUikpdIpglCSl0uUuyYJKXlME/KXCSluU8pcJklKShIpApK
WSTkJBJS4SCRSCCluEoTlNwipUp+UuUoSUsU/ZMEklL9kycpdklLJymThJTFJOUgElLhNwnSSUqE
0wlwnmUlK5SShNwkpfsl2TJykpYJdk/ZN2SUvymTpikpZOkn4SUtwnBTBJJS5CRSCSSm0kkknrlJ
JJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkk
kpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSl
JJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkk
kkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSS
lJJJJKUkkkkpSSSSSn//0O4SSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSCz6RQ+ES
z6RUOUxapKExTwkpSSSYmUlKJSjVJOkpQ5SCQSCSlJinCXCSlgnTJykpSZJOkpQSSSKSlu6SSchJ
SkycpcJKVykEydJS3dOm7p0lKOqaU6aZSUvCaUuE/KSlcpJQmCSlykUyfukpYpd05TFJS5S4STJK
VwnISSKSlphPCaUuElK1CeZSlKElKSKYJJKXPCYpykUlLFOmKdJSuyZIpBJS4TFOEo1SUsU/KYpJ
KbaSSSeuUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJK
UkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSS
SSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJ
KUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpS
SSSSlJJJJKUkkkkpSSSSSlJJJJKf/9HuEkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSS
Ugs+kVDhSt+kVFMK1aUkk6SlikEuyQSUocp0wT9klKCYJwmCSlEpJQn4SUtCcpk6SlpSlIpBJS/C
ZIpJKUnCYJwkpdNymlPwkpbul3ThMkpRTpFIpKUExCcJFJSwKeE3KXCSl5SS5TEJKX7pBMnCSld0
3dOEgkpbun7pk5SUrhOm5SSUskCkUuUlLxKZLUJ5SUqUvNKEh4JKV3SPKQSCSljykU/dMUlLlLzS
7JgkpdOo8JykpYJJHRJJTbSSST1ykkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJ
JJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkkl
KSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJ
JJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkk
lKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJT/AP/S7hJJJJSkkkklKSSSSUpJJJJS
kkkklKSSSSUpJJJJSkkkklNe36RUQpW/SKgEwrV+6Yp0ySlFP2TFOkpQSSCSSlJJBNCSl5TcJ+E3
KSlwmKdMUlLlIJBJJSyXCSXKSlcJ0gkElK4SShNykpfsmT9kuySlJJBJBSydN2ThFS0JApcJcpKX
S4TQQnlJS0pcJ4TJKXSCRSQUsn7JdkuyKlJcpuE6SlJoTpuElKBT8pcpQkpSaU8pcpKUUgmT9klK
CXdJIJKUEgkEySl/IpJcpFJS3KRT8Jh4pKbaSSSeuUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKU
kkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSS
SSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJK
UkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSS
SSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKf//T7hJJJJSkkkkl
KSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklNe36RUAp2fSKhKYVq/ZMnKRSUopJFJBSgm7pBOipSa
U8JSkpaEuUuU4SUpMU/dIpKUEku6RSUsEhokU/KSlQkkkdElLFOmTpKUOEgkEu6SlBJIpJKWSSKR
KSl0yQKchJSpSTSnhJS0JBOmKSld05SS7pKUUuyR5SKSlJBJJJSuEkkklLJ5SITSkpdKEoSSUtwk
nlMkpcpdku6RSUocJBIpBJSo1SSCblJS/KRSS4SU2kkkk9cpJJJJSkkkklKSSSSUpJJJJSkkkklK
SSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJ
JJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkkl
KSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJ
JJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSU//1O4SSSSU
pJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJTXt+kVABTs+kVBMK1cpJin7JKUUkkwSUoJJ0o
SUtylCeU3KSlJ4SCRSUpJME6Sld0im7pFJSk6XKbhJS6U+KSZJS6XKQ4SlJS3dOUxSCSlzqkmT8J
KWSCdNCSlRKQKcpoSUvCbhJPKSlSkklCSluE40TJJKXCbukUgkpfhJKUikpUpJfBJJSkuU3KfhJS
oTSnBS5SUpNEJ4TJKUnCbySSUopymCfhJSpSnwSTBJS6SSXKSm0kkknrlJJJJKUkkkkpSSSSSlJJ
JJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkk
pSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJ
JJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkk
kpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSn
/9XuEkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSU17fpFQ4RLdHFDTCtX7JdkwSSUqU
uE/CZJS6UJJuUlL6BNylEJ0lKTeSdMkpcaJBJMNElK7pJwmSUrhOCkCmhJS6XKaU/KSlJcJdkgEl
LFJOmKSlcpSn4CYJKXhJKEgkpSXKQCSSliUk/CZJS8JinCYpKUkUylyElKTBIJ0lK5SSIS7JKVwk
lwmlJS5KaEgEiUlLhIcpuE5SUt3Tpk6Slk/mkm4SUqE6UJcpKUkkAkElKSmEpTQkptpJJJ65SSSS
SlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKU
kkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSS
SSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJK
UkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSSSSSlJJJJKUkkkkpSS
SSSlJJJJKUkkkkp//9buEkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSU17B7ioFTt+k
UNMWrhP5pkikpSSSSSl4TSkmSUylKFFOkpWqUp9UklLSn5STBJS6ZLVJJSolPKZL4pKXTEJJapKX
7JuU/ZMkpeUw1T6pJKWKQSSSUulKQlIpKUUuE6ZJSolMU5SCSlHRLsmTpKYpwkmSUuU8pJJKWOic
8Jk/ZJSoSTapJKXlNwn+CZJSk/kmCfVJSjomlJOkpaSnKSQSUoFIpapklLhMAnCZJS6UpkklNtJJ
JPXKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSS
UpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSk
kkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSS
SUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJSkkkklKSSSSUpJJJJS
kkkklKSSSSUpJJJJSkkkklP/2Q==

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.americancatholic.org/news/include/news.css

A:link {
	COLOR: #000000; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #000000; TEXT-DECORATION: underline
}
A:active {
	COLOR: #006699; TEXT-DECORATION: none
}
A:hover {
	COLOR: #006699; TEXT-DECORATION: none
}
INPUT.press {
	BORDER-RIGHT: #000000 3px solid; BORDER-TOP: #cc9999 2px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 3px 0px 6px; BORDER-LEFT: =
#cc9999 2px solid; CURSOR: hand; COLOR: white; BORDER-BOTTOM: #000000 =
3px solid; FONT-FAMILY: Arial,Helvetica,sans-serif; BACKGROUND-COLOR: =
#660000
}
.author {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 9px; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.bodytext {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 12px 9px 15px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.bodytextnomargin {
	MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-BOTTOM: =
0px; TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; =
LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.bodylinks {
	FONT-WEIGHT: normal; FONT-SIZE: 14px; MARGIN: 3px 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
.bodyLinksFrom {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 3px 9px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
14px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.fromText {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 0px; TEXT-TRANSFORM: none; =
COLOR: #804040; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none
}
.booklink {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 9px; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: right; TEXT-DECORATION: none
}
.credits {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 9px; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.date {
	FONT-WEIGHT: 600; FONT-SIZE: 11px; TEXT-TRANSFORM: uppercase; COLOR: =
#000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif; LETTER-SPACING: 0px; =
TEXT-ALIGN: center; TEXT-DECORATION: none
}
.googleblurb {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 3px 9px 6px; =
TEXT-TRANSFORM: none; COLOR: #000000; LINE-HEIGHT: normal; FONT-STYLE: =
italic; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
INPUT.search {
	BORDER-RIGHT: #330000 2px solid; BORDER-TOP: #3399cc 2px solid; =
MARGIN-TOP: 3px; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-BOTTOM: 3px; =
BORDER-LEFT: #3399cc 2px solid; CURSOR: hand; COLOR: #ffffff; =
BORDER-BOTTOM: #330000 2px solid; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND-COLOR: #006699
}
.subtitle {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN-LEFT: 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 9px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.subhead {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN-LEFT: 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 9px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.title {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 9px 9px 12px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.textboxCaption {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 0px 6px 3px 3px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.textboxSubhead {
	FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN: 3px 9px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.NEW {
	FONT-WEIGHT: bold; COLOR: #cc0000; FONT-STYLE: italic
}
.quickscan {
	FONT-WEIGHT: normal; FONT-SIZE: 9px; MARGIN: 3px 9px; TEXT-TRANSFORM: =
uppercase; COLOR: #ffffff; TEXT-INDENT: 0px; LINE-HEIGHT: normal; =
FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.quickscanlist {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 3px 9px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.returntofeature {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 12px 9px 3px 16px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 0px; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.twitterfornews {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 12px 9px 3px 13px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
LETTER-SPACING: 0px; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.tellafriend {
	FONT-WEIGHT: 600; FONT-SIZE: 10px; TEXT-TRANSFORM: uppercase; COLOR: =
#999933; TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif; LETTER-SPACING: 0px; =
TEXT-ALIGN: center; TEXT-DECORATION: none
}
.Prayertext {
	FONT-WEIGHT: normal; FONT-SIZE: 14px; MARGIN: 0px 9px 0px 20px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.PostPrayer {
	FONT-WEIGHT: normal; FONT-SIZE: 14px; MARGIN: 0px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: center; =
TEXT-DECORATION: none
}
.titlebig {
	FONT-WEIGHT: bold; FONT-SIZE: 24px; MARGIN: 9px 9px 0px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.titlemedium {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 15px 9px 0px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.title2 {
	MARGIN-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 14px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
.latestNewsTitles {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: 0px; COLOR: #000000; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left
}
.backgroundNewsTitles {
	MARGIN-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-BOTTOM: =
0px; TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; =
LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.backgroundsource {
	MARGIN-TOP: 4px; FONT-SIZE: 11px; VERTICAL-ALIGN: top; TEXT-TRANSFORM: =
none; COLOR: gray; TEXT-INDENT: 0px; LINE-HEIGHT: 13px; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
.newstimestamp {
	FONT-SIZE: 11px; TEXT-TRANSFORM: none; COLOR: gray; TEXT-INDENT: 0px; =
FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; POSITION: =
relative; TOP: 0px; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.newstimestampArticle {
	FONT-SIZE: 12px; TEXT-TRANSFORM: none; COLOR: black; TEXT-INDENT: 0px; =
LINE-HEIGHT: 8px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; POSITION: relative; TOP: -10px; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
.backgroundsourceForSpecialPage {
	MARGIN-TOP: 4px; FONT-SIZE: 11px; MARGIN-LEFT: 9px; VERTICAL-ALIGN: =
top; TEXT-TRANSFORM: none; COLOR: gray; TEXT-INDENT: 0px; LINE-HEIGHT: =
13px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.columntitle {
	MARGIN-TOP: 0px; FONT-SIZE: 14px; TEXT-TRANSFORM: none; COLOR: #000000; =
TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.creditssmall {
	FONT-WEIGHT: normal; FONT-SIZE: 9px; MARGIN-LEFT: 0px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 9px; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.smallgoogleblurb {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 3px 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; LINE-HEIGHT: normal; FONT-STYLE: italic; =
FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
.Wilkesbodylinks {
	FONT-WEIGHT: normal; FONT-SIZE: 16px; MARGIN: 3px 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
.smallbodytext {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 12px 9px 15px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Wilkestitle {
	FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN: 12px 9px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Wilkesbyline {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 0px 9px 15px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Wilkesdate {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; MARGIN: 12px 9px 15px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Benedictbodylinks {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN: 3px 9px; TEXT-TRANSFORM: =
none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-ALIGN: left; =
TEXT-DECORATION: none
}
.textboxSubhead2 {
	FONT-WEIGHT: normal; FONT-SIZE: 15px; MARGIN: 3px 9px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.archiveLink {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 9px 9px 0px 0px; =
TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; LINE-HEIGHT: =
normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif; =
TEXT-ALIGN: left; TEXT-DECORATION: none
}
.MoreTopCatholicNews {
	FONT-SIZE: 12px; MARGIN: 0px; TEXT-TRANSFORM: none; COLOR: #000000; =
TEXT-INDENT: 0px; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.archivedsearchtable {
	MARGIN-LEFT: 12px
}
.categorydescription {
	FONT-SIZE: 12px; LINE-HEIGHT: 1.5; FONT-STYLE: italic; FONT-FAMILY: =
Arial, Helvetica, sans-serif
}
.emailLinkForNews {
	FONT-SIZE: 12px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none
}
.printLinkForNews {
	FONT-SIZE: 12px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-DECORATION: none
}
.typeLargeLinkForNews {
	FONT-SIZE: 12px; CURSOR: pointer; FONT-STYLE: normal; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
}
.typeSmallerLinkForNews {
	FONT-SIZE: 12px; CURSOR: pointer; FONT-STYLE: normal; FONT-FAMILY: =
Arial, Helvetica, sans-serif; TEXT-DECORATION: underline
}
.typeLinkForNews {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; CURSOR: pointer; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif; TEXT-DECORATION: none
}
.newstextnomargin {
	MARGIN-TOP: 0px; FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-BOTTOM: =
0px; TEXT-TRANSFORM: none; COLOR: #000000; TEXT-INDENT: 0px; =
LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, =
sans-serif; TEXT-ALIGN: justify; TEXT-DECORATION: none
}
.ratingStar {
	PADDING-TOP: 7px
}
.ratingStar .ratingItem {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 0pt; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 13px; CURSOR: pointer; =
PADDING-TOP: 0px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 12px
}
.ratingStar .Filled {
	BACKGROUND-IMAGE: url(/gfx/rating/ratingStarFilled.png)
}
.ratingStar .Empty {
	BACKGROUND-IMAGE: url(/gfx/rating/ratingStarEmpty.png)
}
.ratingStar .Saved {
	BACKGROUND-IMAGE: url(/gfx/rating/ratingStarSaved.png)
}
.LabelNumberOfRatesAndAverage {
	FONT-SIZE: 10px; FONT-FAMILY: Arial, Helvetica, sans-serif
}

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.americancatholic.org/include/aco_global.css

A:link {
	COLOR: #000000; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #000000; TEXT-DECORATION: underline
}
A:active {
	COLOR: #003399; TEXT-DECORATION: none
}
A:hover {
	COLOR: #003399; TEXT-DECORATION: none
}
TD.redHead {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; COLOR: =
#990000; PADDING-TOP: 3px
}
HR.white {
	COLOR: #ffffff
}
HR.black {
	COLOR: #000000
}
INPUT.press {
	BORDER-RIGHT: #330000 2px solid; BORDER-TOP: #cc9966 2px solid; =
MARGIN-TOP: 3px; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN-BOTTOM: 3px; =
BORDER-LEFT: #cc9933 2px solid; CURSOR: hand; COLOR: #ffffff; =
BORDER-BOTTOM: #330000 2px solid; FONT-FAMILY: =
Arial,Helvetica,Geneva,Swiss,SunSans-Regular,sans-serif; =
BACKGROUND-COLOR: #996633
}
LI {
	FONT-SIZE: 12px; MARGIN: 5px 10px 5px 5px; COLOR: black; LINE-HEIGHT: =
normal; FONT-FAMILY: Arial, Helvetica, Geneva, Swiss, SunSans-Regular, =
sans-serif
}
P {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: 9px; COLOR: #000000; =
LINE-HEIGHT: normal; MARGIN-RIGHT: 9px; FONT-FAMILY: Arial, Helvetica, =
Geneva, Swiss, SunSans-Regular, sans-serif
}
P.sidebar {
	BORDER-RIGHT: #ffcc99 3px solid; BORDER-TOP: #ffffff 3px solid; =
FONT-WEIGHT: bold; FONT-SIZE: 10pt; BACKGROUND: #ffeedd; BORDER-LEFT: =
#ffffff 3px solid; COLOR: #6633cc; BORDER-BOTTOM: #3366cc 3px solid; =
FONT-FAMILY: Comic Sans MS, Verdana, Tahoma, Arial; TEXT-ALIGN: center
}
P.title {
	BORDER-RIGHT: #ff9966 4px solid; BORDER-TOP: #ffeedd 4px solid; =
FONT-WEIGHT: normal; FONT-SIZE: 14pt; BACKGROUND: #ffcc99; BORDER-LEFT: =
#ffeedd 4px solid; COLOR: #990000; BORDER-BOTTOM: #ff9966 4px solid; =
FONT-FAMILY: Comic Sans MS, Verdana, Tahoma, Arial
}
.text {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: 9px; COLOR: #000000; =
LINE-HEIGHT: normal; MARGIN-RIGHT: 9px; FONT-FAMILY: Arial, Helvetica, =
Geneva, Swiss, SunSans-Regular, sans-serif
}
.quickscan {
	FONT-SIZE: 9px; COLOR: white; LINE-HEIGHT: normal; FONT-FAMILY: Arial, =
Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif
}
.qs-list {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: 9px; COLOR: #306; =
LINE-HEIGHT: normal; MARGIN-RIGHT: 9px; FONT-STYLE: normal; FONT-FAMILY: =
Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif
}
.qs_list {
	FONT-WEIGHT: normal; FONT-SIZE: 12px; MARGIN-LEFT: 10px; COLOR: #306; =
LINE-HEIGHT: normal; MARGIN-RIGHT: 5px; FONT-STYLE: normal; FONT-FAMILY: =
Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif
}
.author {
	BORDER-RIGHT: #ffcc99 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#ffffff 1px solid; PADDING-LEFT: 3px; FONT-WEIGHT: normal; FONT-SIZE: =
11px; BACKGROUND: #ffeedd; PADDING-BOTTOM: 3px; BORDER-LEFT: #ffffff 1px =
solid; WIDTH: 100%; COLOR: #990000; PADDING-TOP: 3px; BORDER-BOTTOM: =
#ffcc99 1px solid; FONT-FAMILY: Verdana, Tahoma, Arial; TEXT-ALIGN: left
}
.authors {
	FONT-SIZE: 12px; MARGIN: 5px; COLOR: black; TEXT-INDENT: 10px; =
LINE-HEIGHT: normal; FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica, =
Geneva, Swiss, SunSans-Regular, sans-serif
}
.heading {
	FONT-WEIGHT: bold; FONT-SIZE: 16px; MARGIN: 10px 5px 5px; COLOR: =
#330066; LINE-HEIGHT: normal; FONT-FAMILY: Arial, Helvetica, Geneva, =
Swiss, SunSans-Regular, sans-serif
}
.subheads {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt; MARGIN-LEFT: 5pt; COLOR: #306; =
LINE-HEIGHT: normal; MARGIN-RIGHT: 5pt; FONT-FAMILY: Arial, Helvetica, =
Geneva, Swiss, SunSans-Regular, sans-serif
}
.text-bold {
	FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN: 5pt; COLOR: black; =
LINE-HEIGHT: normal; FONT-FAMILY: Arial, Helvetica, Geneva, Swiss, =
SunSans-Regular, sans-serif
}
.caption {
	FONT-WEIGHT: bold; FONT-SIZE: 10px; MARGIN-LEFT: 5px; COLOR: #330066; =
LINE-HEIGHT: normal; MARGIN-RIGHT: 5px; FONT-FAMILY: Arial, Helvetica, =
Geneva, Swiss, SunSans-Regular, sans-serif
}
.captionSAMO {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN-LEFT: 3px; COLOR: #000000; =
LINE-HEIGHT: normal; MARGIN-RIGHT: 3px; FONT-FAMILY: Arial, Helvetica, =
Geneva, Swiss, SunSans-Regular, sans-serif
}
.creditSAMO {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 7px 0px 7px 5px; COLOR: =
#330066; LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-FAMILY: Arial, =
Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; TEXT-ALIGN: right
}
.smallcredit {
	FONT-SIZE: 11px; MARGIN: 5px; COLOR: black; LINE-HEIGHT: normal; =
FONT-STYLE: italic; FONT-FAMILY: Arial, Helvetica, Geneva, Swiss, =
SunSans-Regular, sans-serif
}
A.LinkEngineBlue {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #000066; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.LinkEngineBlue:hover {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #990000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
A.LinkEngineBlue:active {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #990000; FONT-FAMILY: Arial, =
Helvetica, sans-serif; TEXT-DECORATION: none
}
.helvSmallRed {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #990000; FONT-STYLE: =
normal; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.helvSmallBlack {
	FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #000000; LINE-HEIGHT: =
14px; FONT-STYLE: normal; FONT-FAMILY: Arial, Helvetica, sans-serif
}
.helvBoldBlueHead {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000066; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.HelvSubHedBlack {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; COLOR: #000000; FONT-STYLE: normal; =
FONT-FAMILY: Arial, Helvetica, sans-serif
}
.arial10margin10 {
	FONT-SIZE: 10pt; MARGIN-LEFT: 10pt; COLOR: black; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 10pt; FONT-FAMILY: Arial, Helvetica, Geneva, Swiss, =
SunSans-Regular, sans-serif
}
.PalatinoMargin5 {
	FONT-SIZE: 12pt; MARGIN-LEFT: 5pt; COLOR: black; LINE-HEIGHT: normal; =
MARGIN-RIGHT: 5pt; FONT-FAMILY: Palatino, Times, "Times New Roman"
}
.EDCHeader {
	FONT-WEIGHT: bold; FONT-SIZE: 12pt; MARGIN: 0px 5pt -1px; COLOR: =
#cc6600; LINE-HEIGHT: normal; FONT-FAMILY: Arial, Helvetica, Geneva, =
Swiss, SunSans-Regular, sans-serif
}
.SODIncludeText {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN: 1px 3px; COLOR: #ff9966; =
LINE-HEIGHT: normal; FONT-FAMILY: Arial, Helvetica, Geneva, Swiss, =
SunSans-Regular, sans-serif
}
.marginR10L10 {
	MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.marginR5L5 {
	MARGIN-LEFT: 5px; MARGIN-RIGHT: 5px
}

------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.americancatholic.org/include/ACO_JavaScript.js

// +------------------------------------------------------------+
// | Created 011/04/2003              Last Modified 03/23/2007  |
// | Web Site:                 http://www.AmericanCatholic.org  |
// +------------------------------------------------------------+
// | Contains all the scripts for the ACO.                      |
// | Less clutter on pages				                        |
// |                                                            |
// |                            								|
// +------------------------------------------------------------+
/*-- When Google AdSense was added in late September 2003 the Remove =
Frames function interfered with it.
 All the global JavaScripts that were contained in ACO_JavaScript.inc=20
  reside here for the 20 or so Google AdSense pages.*/


// THIS FUNCTION DOESN"T WORK WITH GOOGLE ADSENSE=20
/* <SCRIPT LANGUAGE=3D"JavaScript">
<!-- Javascript to keep site out of frames
setTimeout ("RemoveFrames()", 5000);
function RemoveFrames() {
  if (parent.frames.length) {
    top.location.href=3D document.location;	}
  }
 End Commented JavaScript -->
</script>
*/


// "SUBSCRIBE TO E-NEWSLETTERS POPUP" Script begins
<!--
var eSubscribe;
var eURL;
var winWidth;
var winHeight;
var options;

function openSubscribe(eURL) {
winWidth =3D 752;
winHeight =3D 209;
options =3D "width=3D" + winWidth + ",height=3D" + winHeight + =
",scrollbars=3Dno,resizable=3Dyes,menubar=3Dno,status=3Dno,toolbar=3Dno,l=
ocation=3Dno,directories=3Dno";
 if (eURL) { =20
  if (!eSubscribe || eSubscribe.closed){
    eSubscribe =3D window.open(eURL,'eSubscribewin', options);  // Open =
a new window and show the specified page
    eSubscribe.focus();
	eSubscribe.moveTo(10,40);  =20
   									  }
  else{
    eSubscribe.close();
	eSubscribe =3D window.open(eURL,'eSubscribewin', options);  // Open a =
new window and show the specified page
    eSubscribe.focus();
	eSubscribe.moveTo(10,40);
  	  }
 	    }
}

// Script Ends -->
// +------------------------------------------------------------+

=20
// +------------------------------------------------------------+
// "openEmailForm" Script begins
var objEmailForm;
var fmURL;
var fmWinWidth;
var fmWinHeight;
var fmOptions;

function openEmailForm(fmURL) {
fmWinWidth =3D 440;
fmWinHeight =3D 520;
var fmOptions =3D "width=3D" + fmWinWidth + ",height=3D" + fmWinHeight + =
",scrollbars=3Dno,resizable=3Dyes,menubar=3Dno,status=3Dno,toolbar=3Dno,l=
ocation=3Dno,directories=3Dno";
 if (fmURL) { =20
  if (!objEmailForm || objEmailForm.closed){
    objEmailForm =3D window.open(fmURL,'EmailFormwin', fmOptions);  // =
Open a new window and show the specified page
    objEmailForm.focus();
	objEmailForm.moveTo(140,250);  =20
   									  }
  else{
    objEmailForm.close();
	objEmailForm =3D window.open(fmURL,'EmailFormwin', fmOptions);  // Open =
a new window and show the specified page
    objEmailForm.focus();
	objEmailForm.moveTo(140,250);
  	  }
 	    }
}

// Script Ends -->
// +------------------------------------------------------------+

//CHECKS EmailForm FORM starts the checking of the form data
function CheckEmailForm(objForm)
{
	if (IsEmailFormComplete("EmailForm") =3D=3D true)
		return true;
    else
		return false;
}
//**************END FUNCTION****************************


/********Validates Email Form********************************
DESCRIPTION: IS FORM COMPLETE? Loops through all the form elements =
validating data..

PARAMETERS:
   FormName - form name=20
   ElemName - form element name
   FormOk - boolean=20

RETURNS:
   True if valid, otherwise false.
*************************************************/

function IsEmailFormComplete(FormName)
{
var x =3D 0;
var FormOk =3D true;

while ((x < document.forms[FormName].elements.length) && (FormOk))
   {  //if NO value in text box, and the form element isn't required or =
hidden element
      //&& (document.forms[FormName].elements[x].name!=3D'expire_month') =
&& (document.forms[FormName].elements[x].name!=3D'expire_year')
     if ((document.forms[FormName].elements[x].value =3D=3D '') && =
(document.forms[FormName].elements[x].name!=3D'emailto') && =
(document.forms[FormName].elements[x].name!=3D'CAPTCHABox') && =
(document.forms[FormName].elements[x].name!=3D'form_action'))=20
     {
        if (document.forms[FormName].elements[x].name =3D=3D =
'emailfrom')
		{
				alert('Please type your e-mail address and then try again.')
		}
        if (document.forms[FormName].elements[x].name =3D=3D =
'emailfrom_confirm')
		{
				alert('Please type your e-mail confirmation address and then try =
again.')
		}
        if (document.forms[FormName].elements[x].name =3D=3D 'subject')
		{
				alert('Please type your subject and then try again.')
		}
        if (document.forms[FormName].elements[x].name =3D=3D 'message')
		{
				alert('Please type your message and then try again.')
		}
        document.forms[FormName].elements[x].focus();
        FormOk =3D false;
     }
	 else // the field is not empty but needs further checking =
-------------------------------
	 {
		if (document.forms[FormName].elements[x].name =3D=3D 'emailfrom')
		{
		        FormOk =3D =
IsEmailValid(FormName,document.forms[FormName].elements[x].name)
		}
		if (document.forms[FormName].elements[x].name =3D=3D =
'emailfrom_confirm')
		{       =20
			if (document.forms[FormName].emailfrom.value !=3D =
document.forms[FormName].emailfrom_confirm.value)
				{
					alert('The e-mail addresses don\'t match! Please try again.');
					 FormOk =3D false;
				} else {
					 FormOk =3D true;
				}
		}
}
     x ++
   }
return FormOk
}
//**************END FUNCTION****************************



//CHECKS FeedbackForm FORM starts the checking of the form data
function CheckFeedbackForm(objForm)
{
	if (validateFeedbackForm("FeedbackForm") =3D=3D true)
		return true;
    else
		return false;
}
//**************END FUNCTION****************************


/********Validates Feedback Form********************************
DESCRIPTION: IS FORM COMPLETE?=20
Is there a comment and a valid e-maill address on the feedback <form>
	/Feedback/default.asp.

PARAMETERS:
   FormName - form name=20
   ElemName - form element name

RETURNS:
   True if valid, otherwise false.
*************************************************/
function validateFeedbackForm(FormName) {
		var FeedbackFormOK =3D false;
	=09
		if (document.forms[0].elements['feedback'].value.length<1)
		        {
				alert("You forgot to add your comment.");
				}
		else if ((document.forms[0].elements['email'].value.length<1))
		        {
				alert('Please type your e-mail address and then try again.');
				}
				//IsEmailValid(FormName,document.forms[FormName].elements[x].name)
		else if ((IsEmailValid('FeedbackForm', =
document.forms[0].elements['email'].name)=3D=3Dfalse))
		        {
				 FeedbackFormOK =3D true;
				}
		//else=20
			//    {
				//document.forms[0].submit();
			//    }
}
//**************END FUNCTION****************************


/******** Counts characters in a textbox =
********************************
DESCRIPTION: Counts textbox characters for length. Truncates to correct =
user-defined max limit.
e.g.,
onKeyDown=3D"textCounter(this.form.feedback,this.form.remainder,400);" =
onKeyUp=3D"textCounter(this.form.feedback,this.form.remainder,400);
<input type=3D"HIDDEN" name=3D"remainder" value=3D"400">

PARAMETERS:
   textarea - form's textarea element name=20
   countfield - remainder defined in a HIDDEN form element
   maxlimit - maximum number of characters

RETURNS:
   If valid no alert box, otherwise truncates user-defined max limit.
*************************************************/
function textCounter(textarea, countfield, maxlimit) {
	    if (textarea.value.length > maxlimit)         // if too long...trim =
it!=09
		 {
		 textarea.value =3D textarea.value.substring(0, maxlimit);
		 alert('You have input too many characters into the text box! \nThere =
is a maximum of '+(maxlimit)+' characters. Please, try again.');
        }
		else 		// otherwise, update 'characters left' counter
		{
		countfield.value =3D maxlimit - textarea.value.length;
	    }
	}
//**************END FUNCTION****************************



/******** Validates Length and IsNumeric of other_textbox =
********************************
DESCRIPTION: Validates other_textbox textbox for length and custom =
IsNumber() function below
			Has to be a number between 10 and 1000.
PARAMETERS:
   FormName - form name=20
   ElemName - form element name


RETURNS:
   True if valid, otherwise false.
*************************************************/
function ValidNumericLength(FormName,ElemName) {
var iTextBox =3D document.forms[FormName].elements[ElemName].value; =
//value of other_textbox text box
if (isNumber(iTextBox)=3D=3Dfalse)
  {
    alert("Error... not a number! \nPlease type in a donation amount =
between 1 and 1000 dollars. \nJust the number with no dollar sign, =
please.");
    return false;
  }
else
  {
	  if (parseInt(iTextBox) < 1 || parseInt(iTextBox) > 1000)
	  {
		alert("Please type in a donation amount between 1 and 1000 dollars. =
\nJust a whole number with no dollar sign, please.");
        =
document.forms[FormName].elements[ElemName].value=3DparseInt(iTextBox); =
//(Sender or Recipient) e-mail text box excised of all spaces
		return false;
	  }
  }
 =20
  return true;
}
//**************END FUNCTION****************************


//************ TRIM FUNCTIONS **************************
// Description: Trim functions trim strings of spaces
//     on (1)both ends, (2)left, (3)right and (4)All spaces=20
//     whether on the ends or between characters in the string.=20
//    =20
// Returns:String
//
// Trim(i_value);
function Trim(String) {
 if (String =3D=3D null) {
    return (false);
   }
    return String.replace(/(^\s+)|(\s+$)/g,"");
   }
// TrimAllDashes(i_value);
function TrimAllDashes(str) {
 if (str =3D=3D null) {
    return (false);
   }
    return str.replace(/(\-+)/g,"");
   }

// TrimAll(i_value);
function TrimAll(str) {
 if (str =3D=3D null) {
    return (false);
   }
    return str.replace(/(\s+)/g,"");
   }

// TrimLeft(i_value);
function trimLeft(str) {
	// remove all spaces on left
	var newstr =3D str.replace(/[ ]*/,"");
	return (newstr);
}

// TrimRight(i_value);
function trimRight(str)=20
{
	// remove all spaces on right
	var newstr =3D str.replace(/[ ]*$/,"");
	return (newstr);
}

// TrimBOTH(i_value);   !!!// Trim(i_value); above is better!!!
function trimBoth(str) {
	// reomve all spaces on both side
	var newstr =3D trimRight(trimLeft(str));
	return (newstr);
}
//**************END FUNCTIONS****************************


/**************** EMAIL VALIDATION FUNCTION *************
DESCRIPTION: validates email

TECH NOTES:
-------------------------------------------------------------------------=
----
These "regexpFilter" variables use the RegExp object and its functions =
to find patterns
created with a sequence of characters and symbols
var regexpFilter =3D=20
				//   /............/ creates a new RegExp object
				// ^ Start of a string.=20
			 	// ^.  -Match Any character at beginning of string
				// $ End of a string.=20
				// . Any character (except \n newline)=20
				// | Alternation.=20
				// {...} Explicit quantifier notation.=20
            	// .{2,4}$  -At least two characters but no more than four =
at the end of the string
				// [...] Explicit set of characters to match.=20
				// (...) Logical grouping of part of an expression.=20
				// * 0 or more of previous expression.=20
				// + 1 or more of previous expression.=20
				// ? 0 or 1 of previous expression; also forces minimal matching =
when an expression might match several strings within a search string.=20
				// \ Preceding one of the above, it makes it a literal instead of a =
special character. Preceding a special matching character, see below.=20
            	// \.  -a period (.)
				// . Matches any character except \n. If modified by the Singleline =
option, a period character matches any character. For more information, =
see Regular Expression Options.=20
				// [aeiou] Matches any single character included in the specified =
set of characters.=20
				// [^aeiou] Matches any single character not in the specified set of =
characters.=20
				// [0-9a-fA-F] Use of a hyphen (=96) allows specification of =
contiguous character ranges.=20
				// \w Matches any word character. Equivalent to the Unicode =
character categories [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]. If =
ECMAScript-compliant behavior is specified with the ECMAScript option, =
\w is equivalent to [a-zA-Z_0-9].=20
				// \W Matches any nonword character. Equivalent to the Unicode =
categories [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]. If =
ECMAScript-compliant behavior is specified with the ECMAScript option, =
\W is equivalent to [^a-zA-Z_0-9].=20
				// \s Matches any white-space character. Equivalent to the Unicode =
character categories [\f\n\r\t\v\x85\p{Z}]. If ECMAScript-compliant =
behavior is specified with the ECMAScript option, \s is equivalent to [ =
\f\n\r\t\v].=20
				// \S Matches any non-white-space character. Equivalent to the =
Unicode character categories [^\f\n\r\t\v\x85\p{Z}]. If =
ECMAScript-compliant behavior is specified with the ECMAScript option, =
\S is equivalent to [^ \f\n\r\t\v].=20
				// \d Matches any decimal digit. Equivalent to \p{Nd} for Unicode =
and [0-9] for non-Unicode, ECMAScript behavior.=20
				// \D Matches any nondigit. Equivalent to \P{Nd} for Unicode and =
[^0-9] for non-Unicode, ECMAScript behavior.=20
-------------------------------------------------------------------------=
----
PARAMETERS: FormName, ElemName

RETURNS: EmailOk
   True if valid, otherwise false.
*************************************************/
function IsEmailValid(FormName,ElemName)
{
var EmailOk  =3D true;
var strTextBox =3D document.forms[FormName].elements[ElemName].value; =
//value of Sender or Recipient text box

var regexpFilter =3D =
/^([a-zA-Z0-9_\+\&\-])+(\.([a-zA-Z0-9_\+\&\-])+)*@((\[(((([0-1])?([0-9])?=
[0-9])|(2[0-4][0-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0=
-9])|(2[0-5][0-5])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5=
])))\.(((([0-1])?([0-9])?[0-9])|(2[0-4][0-9])|(2[0-5][0-5]))\]))|((([a-zA=
-Z0-9])+(([\-])+([a-zA-Z0-9])+)*\.)+([a-zA-Z])+(([\-])+([a-zA-Z0-9])+)*))=
$/;
				// modified from http://regexlib.com/RETester.aspx?regexp_id=3D284
			=09
strTextBox=3DTrimAll(strTextBox); //value of Sender e-mail or Recipient =
e-mail text box excised of all spaces
document.forms[FormName].elements[ElemName].value=3DstrTextBox; =
//(Sender or Recipient) e-mail text box excised of all spaces
//strTextBox=3DdropSpaces(strTextBox)
// Checks for the general format of e-mail addresses (x@x.xx or x@x.xxx)
if (!regexpFilter.test(strTextBox))=20
	{
      alert('Please enter a valid e-mail address. \n\nExample: =
stanthony@americancatholic.org')
      EmailOk =3D false;
	}
return (EmailOk);
}
//**************END FUNCTION****************************


/********   MACROMEDIA  functions   ********************************/
<!--
function MM_preloadImages() { //v3.0
  var d=3Ddocument; if(d.images){ if(!d.MM_p) d.MM_p=3Dnew Array();
    var i,j=3Dd.MM_p.length,a=3DMM_preloadImages.arguments; for(i=3D0; =
i<a.length; i++)
    if (a[i].indexOf("#")!=3D0){ d.MM_p[j]=3Dnew Image; =
d.MM_p[j++].src=3Da[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=3Ddocument.MM_sr; =
for(i=3D0;a&&i<a.length&&(x=3Da[i])&&x.oSrc;i++) x.src=3Dx.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=3Ddocument; =
if((p=3Dn.indexOf("?"))>0&&parent.frames.length) {
    d=3Dparent.frames[n.substring(p+1)].document; n=3Dn.substring(0,p);}
  if(!(x=3Dd[n])&&d.all) x=3Dd.all[n]; for =
(i=3D0;!x&&i<d.forms.length;i++) x=3Dd.forms[i][n];
  for(i=3D0;!x&&d.layers&&i<d.layers.length;i++) =
x=3DMM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=3Dd.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=3D0,x,a=3DMM_swapImage.arguments; document.MM_sr=3Dnew Array; =
for(i=3D0;i<(a.length-2);i+=3D3)
   if ((x=3DMM_findObj(a[i]))!=3Dnull){document.MM_sr[j++]=3Dx; =
if(!x.oSrc) x.oSrc=3Dx.src; x.src=3Da[i+2];}
}



// +------------------------------------------------------------+
        //NS resize bug fix
         if(!window.saveInnerWidth) {
       window.onresize =3D resizeIt;
       window.saveInnerWidth =3D window.innerWidth;
       window.saveInnerHeight =3D window.innerHeight;
     }
// +------------------------------------------------------------+
     function resizeIt() {
         if (saveInnerWidth < window.innerWidth ||=20
             saveInnerWidth > window.innerWidth ||=20
             saveInnerHeight > window.innerHeight ||=20
             saveInnerHeight < window.innerHeight )=20
         {
             window.history.go(0);
         }
     }
// +------------------------------------------------------------+

/********   END  functions   ********************************/
//-->


------=_NextPart_000_0000_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.americancatholic.org/WebResource.axd?d=2rusah-3EFe-vyEyjg5m0Q2&t=633718345159880000

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; charset=3Dutf-8");
        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 (var 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 WebForm_EncodeCallback(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) {
        var src =3D event.srcElement || event.target;
        if (!src || (src.tagName.toLowerCase() !=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_TrimString(value) {
    return value.replace(/^\s+|\s+$/g, '')
}
function WebForm_AppendToClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index =3D=3D=3D -1) {
        element.className =3D (element.className =3D=3D=3D '') ? =
className : element.className + ' ' + className;
    }
}
function WebForm_RemoveClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D =
WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.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_01C9EA9F.DCB37D60
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.americancatholic.org/ScriptResource.axd?d=1tdQKmo3VjKNilSv7B9gatgFgMoRT-PU5jMr2rKCCFuDsIWPk9mENl765GkZxSDOZ92QdrcgdVy4jOP2FM_5-7qRhi4pT-TK-kG9m45JVuc1&t=ffffffffe8a8b911

=EF=BB=BF// Name:        MicrosoftAjax.debug.js
// Assembly:    System.Web.Extensions
// Version:     3.5.0.0
// FileVersion: 3.5.30729.196
//-----------------------------------------------------------------------=

// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.
=20
Function.__typeName =3D 'Function';
Function.__class =3D true;
Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <summary locid=3D"M:J#Function.createCallback" />
    /// <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;
    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) {
    /// <summary locid=3D"M:J#Function.createDelegate" />
    /// <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;
    return function() {
        return method.apply(instance, arguments);
    }
}
Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    /// <summary locid=3D"M:J#Function.emptyMethod" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
    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) {
        var val;
        if (typeof(param.nodeType) !=3D=3D 'number') {
            var doc =3D param.ownerDocument || param.document || param;
            if (doc !=3D param) {
                var w =3D doc.defaultView || doc.parentWindow;
                val =3D (w !=3D param) && !(w.document && param.document =
&& (w.document =3D=3D=3D param.document));
            }
            else {
                val =3D (typeof(doc.body) =3D=3D=3D 'undefined');
            }
        }
        else {
            val =3D (param.nodeType =3D=3D=3D 3);
        }
        if (val) {
            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;
}
=20
Error.__typeName =3D 'Error';
Error.__class =3D true;
Error.create =3D function Error$create(message, errorInfo) {
    /// <summary locid=3D"M:J#Error.create" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.argument" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.argumentNull" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.argumentOutOfRange" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.argumentType" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.argumentUndefined" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.format" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.invalidOperation" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.notImplemented" />
    /// <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) {
    /// <summary locid=3D"M:J#Error.parameterCount" />
    /// <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() {
    /// <summary locid=3D"M:J#checkParam" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    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");
}
=20
Object.__typeName =3D 'Object';
Object.__class =3D true;
Object.getType =3D function Object$getType(instance) {
    /// <summary locid=3D"M:J#Object.getType" />
    /// <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) {
    /// <summary locid=3D"M:J#Object.getTypeName" />
    /// <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();
}
=20
String.__typeName =3D 'String';
String.__class =3D true;
String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <summary locid=3D"M:J#String.endsWith" />
    /// <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) {
    /// <summary locid=3D"M:J#String.startsWith" />
    /// <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() {
    /// <summary locid=3D"M:J#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() {
    /// <summary locid=3D"M:J#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() {
    /// <summary locid=3D"M:J#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) {
    /// <summary locid=3D"M:J#String.format" />
    /// <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) {
    /// <summary locid=3D"M:J#String.localeFormat" />
    /// <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);
        var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex), 10) + 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;
}
=20
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;
Boolean.parse =3D function Boolean$parse(value) {
    /// <summary locid=3D"M:J#Boolean.parse" />
    /// <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);
}
=20
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) {
    /// <summary locid=3D"M:J#Date.parseLocale" />
    /// <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) {
    /// <summary locid=3D"M:J#Date.parseInvariant" />
    /// <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=3D null) return null;
   =20
    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 parseInt(matchGroup, 10);
                    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 parseInt(matchGroup, 10) - 1;
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'y': case 'yy':
                    year =3D Date._expandYear(dtf,parseInt(matchGroup, =
10));
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'yyyy':
                    year =3D parseInt(matchGroup, 10);
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'h': case 'hh':
                    hour =3D parseInt(matchGroup, 10);
                    if (hour =3D=3D=3D 12) hour =3D 0;
                    if ((hour < 0) || (hour > 11)) return null;
                    break;
                case 'H': case 'HH':
                    hour =3D parseInt(matchGroup, 10);
                    if ((hour < 0) || (hour > 23)) return null;
                    break;
                case 'm': case 'mm':
                    min =3D parseInt(matchGroup, 10);
                    if ((min < 0) || (min > 59)) return null;
                    break;
                case 's': case 'ss':
                    sec =3D parseInt(matchGroup, 10);
                    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 parseInt(matchGroup, 10) * 100;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'ff':
                    msec =3D parseInt(matchGroup, 10) * 10;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'fff':
                    msec =3D parseInt(matchGroup, 10);
                    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 parseInt(offsets[0], 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return =
null;
                    var minOffset =3D parseInt(offsets[1], 10);
                    if ((minOffset < 0) || (minOffset > 59)) return =
null;
                    tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                    break;
                case 'z': case 'zz':
                    var hourOffset =3D parseInt(matchGroup, 10);
                    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, =
10), adjustedMin%60);
    }
    return result;
}
Date.prototype.format =3D function Date$format(format) {
    /// <summary locid=3D"M:J#Date.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) {
    /// <summary locid=3D"M:J#Date.localeFormat" />
    /// <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();
}
=20
Number.__typeName =3D 'Number';
Number.__class =3D true;
Number.parseLocale =3D function Number$parseLocale(value) {
    /// <summary locid=3D"M:J#Number.parseLocale" />
    /// <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) {
    /// <summary locid=3D"M:J#Number.parseInvariant" />
    /// <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) {
    value =3D value.trim();
   =20
    if (value.match(/^[+-]?infinity$/i)) {
        return parseFloat(value);
    }
    if (value.match(/^0x[a-f0-9]+$/i)) {
        return parseInt(value);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, numFormat.NumberNegativePattern);
    var sign =3D signInfo[0];
    var num =3D signInfo[1];
   =20
    if ((sign =3D=3D=3D '') && (numFormat.NumberNegativePattern !=3D=3D =
1)) {
        signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, 1);
        sign =3D signInfo[0];
        num =3D signInfo[1];
    }
    if (sign =3D=3D=3D '') sign =3D '+';
   =20
    var exponent;
    var intAndFraction;
    var exponentPos =3D num.indexOf('e');
    if (exponentPos < 0) exponentPos =3D num.indexOf('E');
    if (exponentPos < 0) {
        intAndFraction =3D num;
        exponent =3D null;
    }
    else {
        intAndFraction =3D num.substr(0, exponentPos);
        exponent =3D num.substr(exponentPos + 1);
    }
   =20
    var integer;
    var fraction;
    var decimalPos =3D =
intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
    if (decimalPos < 0) {
        integer =3D intAndFraction;
        fraction =3D null;
    }
    else {
        integer =3D intAndFraction.substr(0, decimalPos);
        fraction =3D intAndFraction.substr(decimalPos + =
numFormat.NumberDecimalSeparator.length);
    }
   =20
    integer =3D integer.split(numFormat.NumberGroupSeparator).join('');
    var altNumGroupSeparator =3D =
numFormat.NumberGroupSeparator.replace(/\u00A0/g, " ");
    if (numFormat.NumberGroupSeparator !=3D=3D altNumGroupSeparator) {
        integer =3D integer.split(altNumGroupSeparator).join('');
    }
   =20
    var p =3D sign + integer;
    if (fraction !=3D=3D null) {
        p +=3D '.' + fraction;
    }
    if (exponent !=3D=3D null) {
        var expSignInfo =3D Number._parseNumberNegativePattern(exponent, =
numFormat, 1);
        if (expSignInfo[0] =3D=3D=3D '') {
            expSignInfo[0] =3D '+';
        }
        p +=3D 'e' + expSignInfo[0] + expSignInfo[1];
    }
    if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {
        return parseFloat(p);
    }
    return Number.NaN;
}
Number._parseNumberNegativePattern =3D function =
Number$_parseNumberNegativePattern(value, numFormat, =
numberNegativePattern) {
    var neg =3D numFormat.NegativeSign;
    var pos =3D numFormat.PositiveSign;   =20
    switch (numberNegativePattern) {
        case 4:=20
            neg =3D ' ' + neg;
            pos =3D ' ' + pos;
        case 3:=20
            if (value.endsWith(neg)) {
                return ['-', value.substr(0, value.length - =
neg.length)];
            }
            else if (value.endsWith(pos)) {
                return ['+', value.substr(0, value.length - =
pos.length)];
            }
            break;
        case 2:=20
            neg +=3D ' ';
            pos +=3D ' ';
        case 1:=20
            if (value.startsWith(neg)) {
                return ['-', value.substr(neg.length)];
            }
            else if (value.startsWith(pos)) {
                return ['+', value.substr(pos.length)];
            }
            break;
        case 0:=20
            if (value.startsWith('(') && value.endsWith(')')) {
                return ['-', value.substr(1, value.length - 2)];
            }
            break;
    }
    return ['', value];
}
Number.prototype.format =3D function Number$format(format) {
    /// <summary locid=3D"M:J#Number.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) {
    /// <summary locid=3D"M:J#Number.localeFormat" />
    /// <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();
        }
    }
   =20
    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 zeroPad(str, count, left) {
        for (var l=3Dstr.length; l < count; l++) {
            str =3D (left ? ('0' + str) : (str + '0'));
        }
        return str;
    }
   =20
    function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;
        var factor =3D Math.pow(10, precision);
        var rounded =3D (Math.round(number * factor) / factor);
        if (!isFinite(rounded)) {
            rounded =3D number;
        }
        number =3D rounded;
       =20
        var numberString =3D number.toString();
        var right =3D "";
        var exponent;
       =20
       =20
        var split =3D numberString.split(/e/i);
        numberString =3D split[0];
        exponent =3D (split.length > 1 ? parseInt(split[1]) : 0);
        split =3D numberString.split('.');
        numberString =3D split[0];
        right =3D split.length > 1 ? split[1] : "";
       =20
        var l;
        if (exponent > 0) {
            right =3D zeroPad(right, exponent, false);
            numberString +=3D right.slice(0, exponent);
            right =3D right.substr(exponent);
        }
        else if (exponent < 0) {
            exponent =3D -exponent;
            numberString =3D zeroPad(numberString, exponent+1, true);
            right =3D numberString.slice(-exponent, numberString.length) =
+ right;
            numberString =3D numberString.slice(0, -exponent);
        }
        if (precision > 0) {
            if (right.length > precision) {
                right =3D right.slice(0, precision);
            }
            else {
                right =3D zeroPad(right, precision, false);
            }
            right =3D decimalChar + right;
        }
        else {=20
            right =3D "";
        }
        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), 10);
    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';
        if (precision !=3D=3D -1) {
            number =3D zeroPad(""+number, precision, true);
        }
        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) * 100, 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;
}
=20
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
=20
Array.__typeName =3D 'Array';
Array.__class =3D true;
Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <summary locid=3D"M:J#Array.enqueue" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.addRange" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.clear" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.clone" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.contains" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.dequeue" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.forEach" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.indexOf" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.insert" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.parse" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.remove" />
    /// <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) {
    /// <summary locid=3D"M:J#Array.removeAt" />
    /// <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);
}
=20
if (!window) this.window =3D this;
window.Type =3D Function;
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) {
    /// <summary locid=3D"M:J#Type.callBaseMethod" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.getBaseMethod" />
    /// <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() {
    /// <summary locid=3D"M:J#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() {
    /// <summary locid=3D"M:J#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() {
    /// <summary locid=3D"M:J#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) {
    /// <summary locid=3D"M:J#Type.implementsInterface" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.inheritsFrom" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.initializeBase" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.isImplementedBy" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.isInstanceOfType" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.registerClass" />
    /// <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 (Sys.__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;
    }
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    if (interfaceTypes) {
        this.__interfaces =3D [];
        this.resolveInheritance();
        for (var i =3D 2, l =3D arguments.length; i < l; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            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);
        }
    }
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <summary locid=3D"M:J#Type.registerInterface" />
    /// <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 (Sys.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    /// <summary locid=3D"M:J#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() {
    /// <summary locid=3D"M:J#Type.getRootNamespaces" />
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(Sys.__rootNamespaces);
}
Type.isClass =3D function Type$isClass(type) {
    /// <summary locid=3D"M:J#Type.isClass" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.isInterface" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.isNamespace" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.parse" />
    /// <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) {
        fn =3D Sys.__upperCaseTypes[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) {
    /// <summary locid=3D"M:J#Type.registerNamespace" />
    /// <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 {
                __namespace: true,
                __typeName: namespaceParts.slice(0, i + 1).join('.')
            };
            if (i =3D=3D=3D 0) {
                Sys.__rootNamespaces[Sys.__rootNamespaces.length] =3D =
ns;
            }
            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;
    }
}
window.Sys =3D {
    __namespace: true,
    __typeName: "Sys",
    getName: function() {return "Sys";},
    __upperCaseTypes: {}
};
Sys.__rootNamespaces =3D [Sys];
Sys.__registeredTypes =3D {};
=20
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');
=20
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <summary locid=3D"M:J#Sys.StringBuilder.#ctor" />
    /// <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) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.append" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.appendLine" />
        /// <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() {
        /// <summary locid=3D"M:J#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() {
        /// <summary locid=3D"M:J#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) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.toString" />
        /// <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');
=20
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                return new ActiveXObject(progIDs[i]);
            }
            catch (ex) {
            }
        }
        return null;
    }
}
=20
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);
Sys.Browser.documentMode =3D 0;
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]);
    if (Sys.Browser.version >=3D 8) {
        if (document.documentMode >=3D 7) {
            Sys.Browser.documentMode =3D document.documentMode;   =20
        }
    }
    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(' AppleWebKit/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
AppleWebKit\/(\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');
=20
Sys._Debug =3D function Sys$_Debug() {
    /// <summary locid=3D"M:J#Sys.Debug.#ctor" />
    /// <field name=3D"isDebug" type=3D"Boolean" =
locid=3D"F:J#Sys.Debug.isDebug"></field>
    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) {
        /// <summary locid=3D"M:J#Sys.Debug.assert" />
        /// <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() {
        /// <summary locid=3D"M:J#Sys.Debug.clearTrace" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }
    function Sys$_Debug$fail(message) {
        /// <summary locid=3D"M:J#Sys.Debug.fail" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.Debug.trace" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.Debug.traceDump" />
        /// <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;
=20
function Sys$Enum$parse(value, ignoreCase) {
    /// <summary locid=3D"M:J#Sys.Enum.parse" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.Enum.toString" />
    /// <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) =
{
    /// <summary locid=3D"M:J#Sys.UI.LineType.#ctor" />
    /// <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 (Sys.__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));
    }
    Sys.__upperCaseTypes[name.toUpperCase()] =3D this;
    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;
    Sys.__registeredTypes[name] =3D true;
}
Type.isEnum =3D function Type$isEnum(type) {
    /// <summary locid=3D"M:J#Type.isEnum" />
    /// <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) {
    /// <summary locid=3D"M:J#Type.isFlags" />
    /// <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;
}
=20
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    /// <summary locid=3D"M:J#Sys.EventHandlerList.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}
    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.addHandler" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.removeHandler" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.getHandler" />
        /// <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);
        return function(source, args) {
            for (var i =3D 0, l =3D evt.length; i < l; i++) {
                evt[i](source, args);
            }
        };
    }
    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');
=20
Sys.EventArgs =3D function Sys$EventArgs() {
    /// <summary locid=3D"M:J#Sys.EventArgs.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty =3D new Sys.EventArgs();
=20
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    /// <summary locid=3D"M:J#Sys.CancelEventArgs.#ctor" />
    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" =
locid=3D"P:J#Sys.CancelEventArgs.cancel"></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);
=20
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    /// <summary locid=3D"M:J#Sys.INotifyPropertyChange.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyPropertyChange.propertyChanged" =
/>
    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');=

=20
Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <summary locid=3D"M:J#Sys.PropertyChangedEventArgs.#ctor" />
    /// <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" =
locid=3D"P:J#Sys.PropertyChangedEventArgs.propertyName"></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);
=20
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    /// <summary locid=3D"M:J#Sys.INotifyDisposing.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyDisposing$add_disposing(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyDisposing.disposing" />
    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");
=20
Sys.Component =3D function Sys$Component() {
    /// <summary locid=3D"M:J#Sys.Component.#ctor" />
    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" =
locid=3D"P:J#Sys.Component.events"></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" =
locid=3D"P:J#Sys.Component.id"></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" =
locid=3D"P:J#Sys.Component.isInitialized"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Component.isUpdating"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        /// <summary locid=3D"E:J#Sys.Component.disposing" />
        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) {
        /// <summary locid=3D"E:J#Sys.Component.propertyChanged" />
        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) {
        /// <summary locid=3D"M:J#Sys.Component.raisePropertyChanged" />
        /// <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) {
    /// <summary locid=3D"M:J#Sys.Component._setProperties" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.Component.create" />
    /// <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]);
        }
    }
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        app._createdComponents[app._createdComponents.length] =3D =
component;
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }
    return component;
}
=20
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <summary locid=3D"M:J#Sys.UI.MouseButton.#ctor" />
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.leftButton"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.middleButton"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.rightButton"></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");
=20
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <summary locid=3D"M:J#Sys.UI.Key.#ctor" />
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.backspace"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.tab"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.enter"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.esc"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.space"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageUp"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageDown"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.end"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.home"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.left"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.up"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.right"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.down"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.del"></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");
=20
Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <summary locid=3D"M:J#Sys.UI.Point.#ctor" />
    /// <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" =
locid=3D"F:J#Sys.UI.Point.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Point.y"></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');
=20
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <summary locid=3D"M:J#Sys.UI.Bounds.#ctor" />
    /// <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" =
locid=3D"F:J#Sys.UI.Bounds.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.y"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.height"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.width"></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');
=20
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.#ctor" />
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.altKey"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton" =
locid=3D"F:J#Sys.UI.DomEvent.button"></field>
    /// <field name=3D"charCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.charCode"></field>
    /// <field name=3D"clientX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientX"></field>
    /// <field name=3D"clientY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientY"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.ctrlKey"></field>
    /// <field name=3D"keyCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.keyCode"></field>
    /// <field name=3D"offsetX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetX"></field>
    /// <field name=3D"offsetY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetY"></field>
    /// <field name=3D"screenX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenX"></field>
    /// <field name=3D"screenY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenY"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.shiftKey"></field>
    /// <field name=3D"target" =
locid=3D"F:J#Sys.UI.DomEvent.target"></field>
    /// <field name=3D"type" type=3D"String" =
locid=3D"F:J#Sys.UI.DomEvent.type"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;
    var e =3D eventObject;
    var etype =3D this.type =3D e.type.toLowerCase();
    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 (etype =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 (!etype.startsWith('key')) {
        if ((typeof(e.offsetX) !=3D=3D 'undefined') && =
(typeof(e.offsetY) !=3D=3D 'undefined')) {
            this.offsetX =3D e.offsetX;
            this.offsetY =3D e.offsetY;
        }
        else if (this.target && (this.target.nodeType !=3D=3D 3) && =
(typeof(e.clientX) =3D=3D=3D 'number')) {
            var loc =3D Sys.UI.DomElement.getLocation(this.target);
            var w =3D Sys.UI.DomElement._getWindow(this.target);
            this.offsetX =3D (w.pageXOffset || 0) + e.clientX - loc.x;
            this.offsetY =3D (w.pageYOffset || 0) + e.clientY - loc.y;
        }
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
}
    function Sys$UI$DomEvent$preventDefault() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.preventDefault" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            this.rawEvent.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.stopPropagation" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            this.rawEvent.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) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandler" />
    /// <param name=3D"element"></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"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (eventName =3D=3D=3D "error") throw =
Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
    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() {
            var e =3D {};
            try {e =3D Sys.UI.DomElement._getWindow(element).event} =
catch(ex) {}
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        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) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandlers" />
    /// <param name=3D"element"></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"},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    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) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.clearHandlers" />
    /// <param name=3D"element"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    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) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.removeHandler" />
    /// <param name=3D"element"></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"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    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);
    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.UI.DomEvent._ensureDomNode =3D function =
Sys$UI$DomEvent$_ensureDomNode(element) {
    if (element.tagName && (element.tagName.toUpperCase() =3D=3D=3D =
"SCRIPT")) return;
   =20
    var doc =3D element.ownerDocument || element.document || element;
    if ((typeof(element.document) !=3D=3D 'object') && (element !=3D =
doc) && (typeof(element.nodeType) !=3D=3D 'number')) {
        throw Error.argument("element", Sys.Res.argumentDomNode);
    }
}
=20
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.#ctor" />
    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) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.addCssClass" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.containsCssClass" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getBounds" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getElementById" />
    /// <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) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <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 clientRect =3D element.getBoundingClientRect();
            if (!clientRect) {
                return new Sys.UI.Point(0,0);
            }
            var documentElement =3D =
element.ownerDocument.documentElement;
            var offsetX =3D clientRect.left - 2 + =
documentElement.scrollLeft,
                offsetY =3D clientRect.top - 2 + =
documentElement.scrollTop;
           =20
            try {
                var f =3D =
element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset =3D (f.frameBorder =3D=3D=3D "0" || =
f.frameBorder =3D=3D=3D "no") ? 2 : 0;
                    offsetX +=3D offset;
                    offsetY +=3D offset;
                }
            }
            catch(ex) {
            }   =20
           =20
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <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 ? =
parent.tagName.toUpperCase() : null;
                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;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    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) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <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 ? =
parent.tagName.toUpperCase() : null;
                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"))))) {
                    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) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <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 ? =
parent.tagName.toUpperCase() : null;
                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;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    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);
                        if (currentStyle) {
                            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) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.removeCssClass" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setLocation" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.toggleCssClass" />
    /// <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.getVisibilityMode =3D function =
Sys$UI$DomElement$getVisibilityMode(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.VisibilityMode"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    return (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) ?
        Sys.UI.VisibilityMode.hide :
        Sys.UI.VisibilityMode.collapse;
}
Sys.UI.DomElement.setVisibilityMode =3D function =
Sys$UI$DomElement$setVisibilityMode(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Sys.UI.VisibilityMode"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Sys.UI.VisibilityMode}
    ]);
    if (e) throw e;
    Sys.UI.DomElement._ensureOldDisplayMode(element);
    if (element._visibilityMode !=3D=3D value) {
        element._visibilityMode =3D value;
        if (Sys.UI.DomElement.getVisible(element) =3D=3D=3D false) {
            if (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                element.style.display =3D element._oldDisplayMode;
            }
            else {
                element.style.display =3D 'none';
            }
        }
        element._visibilityMode =3D value;
    }
}
Sys.UI.DomElement.getVisible =3D function =
Sys$UI$DomElement$getVisible(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
    if (!style) return true;
    return (style.visibility !=3D=3D 'hidden') && (style.display !=3D=3D =
'none');
}
Sys.UI.DomElement.setVisible =3D function =
Sys$UI$DomElement$setVisible(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Boolean}
    ]);
    if (e) throw e;
    if (value !=3D=3D Sys.UI.DomElement.getVisible(element)) {
        Sys.UI.DomElement._ensureOldDisplayMode(element);
        element.style.visibility =3D value ? 'visible' : 'hidden';
        if (value || (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
            element.style.display =3D element._oldDisplayMode;
        }
        else {
            element.style.display =3D 'none';
        }
    }
}
Sys.UI.DomElement._ensureOldDisplayMode =3D function =
Sys$UI$DomElement$_ensureOldDisplayMode(element) {
    if (!element._oldDisplayMode) {
        var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
        element._oldDisplayMode =3D style ? style.display : null;
        if (!element._oldDisplayMode || element._oldDisplayMode =
=3D=3D=3D 'none') {
            switch(element.tagName.toUpperCase()) {
                case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': =
case 'BODY': case 'COL':
                case 'COLGROUP': case 'DD': case 'DL': case 'DT': case =
'FIELDSET': case 'FORM':
                case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': =
case 'H6': case 'HR':
                case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': =
case 'TABLE': case 'TD':
                case 'TH': case 'TR': case 'UL':
                    element._oldDisplayMode =3D 'block';
                    break;
                case 'LI':
                    element._oldDisplayMode =3D 'list-item';
                    break;
                default:
                    element._oldDisplayMode =3D 'inline';
            }
        }
    }
}
Sys.UI.DomElement._getWindow =3D function =
Sys$UI$DomElement$_getWindow(element) {
    var doc =3D element.ownerDocument || element.document || element;
    return doc.defaultView || doc.parentWindow;
}
Sys.UI.DomElement._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    if (element.nodeType =3D=3D=3D 3) return null;
    var w =3D Sys.UI.DomElement._getWindow(element);
    if (element.documentElement) element =3D element.documentElement;
    var computedStyle =3D (w && (element !=3D=3D w) && =
w.getComputedStyle) ?
        w.getComputedStyle(element, null) :
        element.currentStyle || element.style;
    if (!computedStyle && (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) && element.style) {
        var oldDisplay =3D element.style.display;
        var oldPosition =3D element.style.position;
        element.style.position =3D 'absolute';
        element.style.display =3D 'block';
        var style =3D w.getComputedStyle(element, null);
        element.style.display =3D oldDisplay;
        element.style.position =3D oldPosition;
        computedStyle =3D {};
        for (var n in style) {
            computedStyle[n] =3D style[n];
        }
        computedStyle.display =3D 'none';
    }
    return computedStyle;
}
=20
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}
    function Sys$IContainer$addComponent(component) {
        /// <summary locid=3D"M:J#Sys.IContainer.addComponent" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.IContainer.removeComponent" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.IContainer.findComponent" />
        /// <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() {
        /// <summary locid=3D"M:J#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");
=20
Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._sessions =3D [];
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}
    function Sys$_ScriptLoader$dispose() {
        this._stopSession();
        this._loading =3D false;
        if(this._events) {
            delete this._events;
        }
        this._sessions =3D null;
        this._currentSession =3D null;
        this._scriptLoadedDelegate =3D null;       =20
    }
    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.loadScripts" />
        /// <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;
        var session =3D {
            allScriptsLoadedCallback: allScriptsLoadedCallback,
            scriptLoadFailedCallback: scriptLoadFailedCallback,
            scriptLoadTimeoutCallback: scriptLoadTimeoutCallback,
            scriptsToLoad: this._scriptsToLoad,
            scriptTimeout: scriptTimeout };
        this._scriptsToLoad =3D null;
        this._sessions[this._sessions.length] =3D session;
       =20
        if (!this._loading) {
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#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) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueCustomScriptTag" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.queueScriptBlock" />
        /// <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) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueScriptReference" />
        /// <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() {
        var session =3D this._currentSession;
        if (session.scriptsToLoad && session.scriptsToLoad.length > 0) {
            var nextScript =3D Array.dequeue(session.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 {
                var headElements =3D =
document.getElementsByTagName('head');
                if (headElements.length =3D=3D=3D 0) {
                     throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
                }
                else {
                     headElements[0].appendChild(scriptElement);
                }
               =20
               =20
                Sys._ScriptLoader._clearScript(scriptElement);
                this._loadScriptsInternal();
            }
        }
        else {
            this._stopSession();
            var callback =3D session.allScriptsLoadedCallback;
            if(callback) {
                callback(this);
            }
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$_nextSession() {
        if (this._sessions.length =3D=3D=3D 0) {
            this._loading =3D false;
            this._currentSession =3D null;
            return;
        }
        this._loading =3D true;
       =20
        var session =3D Array.dequeue(this._sessions);
        this._currentSession =3D session;
        this._loadScriptsInternal();
    }
    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
        var callback =3D this._currentSession.scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopSession();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
            this._nextSession();
        }
        else {
            this._loading =3D false;
            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._currentSession.scriptLoadTimeoutCallback;
        this._stopSession();
        if(callback) {
            callback(this);
        }
        this._nextSession();
    }
    function Sys$_ScriptLoader$_stopSession() {
        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
    loadScripts: Sys$_ScriptLoader$loadScripts,
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,
    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,
    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,
    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
    _nextSession: Sys$_ScriptLoader$_nextSession,
    _raiseError: Sys$_ScriptLoader$_raiseError,
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
    _stopSession: Sys$_ScriptLoader$_stopSession   =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;
}
=20
Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.#ctor" />
    /// <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" =
locid=3D"P:J#Sys._ScriptLoaderTask.scriptElement"></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() {
        /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.execute" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        var headElements =3D document.getElementsByTagName('head');
        if (headElements.length =3D=3D=3D 0) {
             throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
        }
        else {
             headElements[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
        if (this._scriptElement.addEventListener) {
            this._scriptErrorDelegate =3D Function.createDelegate(this, =
this._scriptErrorHandler);
            this._scriptElement.addEventListener('error', =
this._scriptErrorDelegate, false);
        }
    }
    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);
            }
            if (this._scriptErrorDelegate) {
                this._scriptElement.removeEventListener('error', =
this._scriptErrorDelegate, false);
                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,
    dispose: Sys$_ScriptLoaderTask$dispose,
    execute: Sys$_ScriptLoaderTask$execute,
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20
    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
=20
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <summary locid=3D"M:J#Sys.ApplicationLoadEventArgs.#ctor" />
    /// <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" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.components"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></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.HistoryEventArgs =3D function Sys$HistoryEventArgs(state) {
    /// <summary locid=3D"M:J#Sys.HistoryEventArgs.#ctor" />
    /// <param name=3D"state" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "state", type: Object}
    ]);
    if (e) throw e;
    Sys.HistoryEventArgs.initializeBase(this);
    this._state =3D state;
}
    function Sys$HistoryEventArgs$get_state() {
        /// <value type=3D"Object" =
locid=3D"P:J#Sys.HistoryEventArgs.state"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._state;
    }
Sys.HistoryEventArgs.prototype =3D {
    get_state: Sys$HistoryEventArgs$get_state
}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', =
Sys.EventArgs);
=20
Sys._Application =3D function Sys$_Application() {
    /// <summary locid=3D"M:J#Sys.Application.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys._Application.initializeBase(this);
    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];
    this._appLoadHandler =3D null;
    this._beginRequestHandler =3D null;
    this._clientId =3D null;
    this._currentEntry =3D '';
    this._endRequestHandler =3D null;
    this._history =3D null;
    this._enableHistory =3D false;
    this._historyEnabledInScriptManager =3D false;
    this._historyFrame =3D null;
    this._historyInitialized =3D false;
    this._historyInitialLength =3D 0;
    this._historyLength =3D 0;
    this._historyPointIsNew =3D false;
    this._ignoreTimer =3D false;
    this._initialState =3D null;
    this._state =3D {};
    this._timerCookie =3D 0;
    this._timerHandler =3D null;
    this._uniqueId =3D null;
    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" =
locid=3D"P:J#Sys.Application.isCreatingComponents"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$get_stateString() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Application.stateString"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var hash =3D window.location.hash;
        if (this._isSafari2()) {
            var history =3D this._getHistory();
            if (history) {
                hash =3D history[window.history.length - =
this._historyInitialLength];
            }
        }
        if ((hash.length > 0) && (hash.charAt(0) =3D=3D=3D '#')) {
            hash =3D hash.substring(1);
        }
        if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Firefox) {
            hash =3D this._serializeState(this._deserializeState(hash, =
true));
        }
        return hash;
    }
    function Sys$_Application$get_enableHistory() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Application.enableHistory"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._enableHistory;
    }
    function Sys$_Application$set_enableHistory(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        if (this._initialized && !this._initializing) {
            throw =
Error.invalidOperation(Sys.Res.historyCannotEnableHistory);
        }
        else if (this._historyEnabledInScriptManager && !value) {
            throw =
Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);
        }
        this._enableHistory =3D value;
    }
    function Sys$_Application$add_init(handler) {
        /// <summary locid=3D"E:J#Sys.Application.init" />
        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_load(handler) {
        /// <summary locid=3D"E:J#Sys.Application.load" />
        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_navigate(handler) {
        /// <summary locid=3D"E:J#Sys.Application.navigate" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("navigate", handler);
    }
    function Sys$_Application$remove_navigate(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("navigate", handler);
    }
    function Sys$_Application$add_unload(handler) {
        /// <summary locid=3D"E:J#Sys.Application.unload" />
        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) {
        /// <summary locid=3D"M:J#Sys.Application.addComponent" />
        /// <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$addHistoryPoint(state, title) {
        /// <summary locid=3D"M:J#Sys.Application.addHistoryPoint" />
        /// <param name=3D"state" type=3D"Object"></param>
        /// <param name=3D"title" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "state", type: Object},
            {name: "title", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        if (!this._enableHistory) throw =
Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDis=
abled);
        for (var n in state) {
            var v =3D state[n];
            var t =3D typeof(v);
            if ((v !=3D=3D null) && ((t =3D=3D=3D 'object') || (t =
=3D=3D=3D 'function') || (t =3D=3D=3D 'undefined'))) {
                throw Error.argument('state', =
Sys.Res.stateMustBeStringDictionary);
            }
        }
        this._ensureHistory();
        var initialState =3D this._state;
        for (var key in state) {
            var value =3D state[key];
            if (value =3D=3D=3D null) {
                if (typeof(initialState[key]) !=3D=3D 'undefined') {
                    delete initialState[key];
                }
            }
            else {
                initialState[key] =3D value;
            }
        }
        var entry =3D this._serializeState(initialState);
        this._historyPointIsNew =3D true;
        this._setState(entry, title);
        this._raiseNavigate();
    }
    function Sys$_Application$beginCreateComponents() {
        /// <summary locid=3D"M:J#Sys.Application.beginCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        /// <summary locid=3D"M:J#Sys.Application.dispose" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._disposing) {
            this._disposing =3D true;
            if (this._timerCookie) {
                window.clearTimeout(this._timerCookie);
                delete this._timerCookie;
            }
            if (this._endRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._end=
RequestHandler);
                delete this._endRequestHandler;
            }
            if (this._beginRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._b=
eginRequestHandler);
                delete this._beginRequestHandler;
            }
            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() {
        /// <summary locid=3D"M:J#Sys.Application.endCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        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) {
        /// <summary locid=3D"M:J#Sys.Application.findComponent" />
        /// <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() {
        /// <summary locid=3D"M:J#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() {
        /// <summary locid=3D"M:J#Sys.Application.initialize" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
            window.setTimeout(Function.createDelegate(this, =
this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#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) {
        /// <summary =
locid=3D"M:J#Sys.Application.registerDisposableObject" />
        /// <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() {
        /// <summary locid=3D"M:J#Sys.Application.raiseLoad" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        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) {
        /// <summary locid=3D"M:J#Sys.Application.removeComponent" />
        /// <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$setServerId(clientId, uniqueId) {
        /// <summary locid=3D"M:J#Sys.Application.setServerId" />
        /// <param name=3D"clientId" type=3D"String"></param>
        /// <param name=3D"uniqueId" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "clientId", type: String},
            {name: "uniqueId", type: String}
        ]);
        if (e) throw e;
        this._clientId =3D clientId;
        this._uniqueId =3D uniqueId;
    }
    function Sys$_Application$setServerState(value) {
        /// <summary locid=3D"M:J#Sys.Application.setServerState" />
        /// <param name=3D"value" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "value", type: String}
        ]);
        if (e) throw e;
        this._ensureHistory();
        this._state.__s =3D value;
        this._updateHiddenField(value);
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <summary =
locid=3D"M:J#Sys.Application.unregisterDisposableObject" />
        /// <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$_deserializeState(entry, skipDecodeUri) {
        var result =3D {};
        entry =3D entry || '';
        var serverSeparator =3D entry.indexOf('&&');
        if ((serverSeparator !=3D=3D -1) && (serverSeparator + 2 < =
entry.length)) {
            result.__s =3D entry.substr(serverSeparator + 2);
            entry =3D entry.substr(0, serverSeparator);
        }
        var tokens =3D entry.split('&');
        for (var i =3D 0, l =3D tokens.length; i < l; i++) {
            var token =3D tokens[i];
            var equal =3D token.indexOf('=3D');
            if ((equal !=3D=3D -1) && (equal + 1 < token.length)) {
                var name =3D token.substr(0, equal);
                var value =3D token.substr(equal + 1);
                result[name] =3D skipDecodeUri ? value : =
decodeURIComponent(value);
            }
        }
        return result;
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');
       =20
        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        if (Sys.WebForms) {
            this._beginRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerBeginRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._begi=
nRequestHandler);
            this._endRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerEndRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endReq=
uestHandler);
        }
       =20
        var loadedEntry =3D this.get_stateString();
        if (loadedEntry !=3D=3D this._currentEntry) {
            this._navigate(loadedEntry);
        }
=20
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_enableHistoryInScriptManager() {
        this._enableHistory =3D true;
        this._historyEnabledInScriptManager =3D true;
    }
    function Sys$_Application$_ensureHistory() {
        if (!this._historyInitialized && this._enableHistory) {
            if ((Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) {
                this._historyFrame =3D =
document.getElementById('__historyFrame');
                if (!this._historyFrame) throw =
Error.invalidOperation(Sys.Res.historyMissingFrame);
                this._ignoreIFrame =3D true;
            }
            if (this._isSafari2()) {
                var historyElement =3D =
document.getElementById('__history');
                if (!historyElement) throw =
Error.invalidOperation(Sys.Res.historyMissingHiddenInput);
                this._setHistory([window.location.hash]);
                this._historyInitialLength =3D window.history.length;
            }
           =20
            this._timerHandler =3D Function.createDelegate(this, =
this._onIdle);
            this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
           =20
            try {
                this._initialState =3D =
this._deserializeState(this.get_stateString());
            } catch(e) {}
           =20
            this._historyInitialized =3D true;
        }
    }
    function Sys$_Application$_getHistory() {
        var historyElement =3D document.getElementById('__history');
        if (!historyElement) return '';
        var v =3D historyElement.value;
        return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, =
true) : '';
    }
    function Sys$_Application$_isSafari2() {
        return (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) &&
            (Sys.Browser.version <=3D 419.3);
    }
    function Sys$_Application$_loadHandler() {
        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_navigate(entry) {
        this._ensureHistory();
        var state =3D this._deserializeState(entry);
       =20
        if (this._uniqueId) {
            var oldServerEntry =3D this._state.__s || '';
            var newServerEntry =3D state.__s || '';
            if (newServerEntry !=3D=3D oldServerEntry) {
                this._updateHiddenField(newServerEntry);
                __doPostBack(this._uniqueId, newServerEntry);
                this._state =3D state;
                return;
            }
        }
        this._setState(entry);
        this._state =3D state;
        this._raiseNavigate();
    }
    function Sys$_Application$_onIdle() {
        delete this._timerCookie;
       =20
        var entry =3D this.get_stateString();
        if (entry !=3D=3D this._currentEntry) {
            if (!this._ignoreTimer) {
                this._historyPointIsNew =3D false;
                this._navigate(entry);
                this._historyLength =3D window.history.length;
            }
        }
        else {
            this._ignoreTimer =3D false;
        }
        this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
    }
    function Sys$_Application$_onIFrameLoad(entry) {
        this._ensureHistory();
        if (!this._ignoreIFrame) {
            this._historyPointIsNew =3D false;
            this._navigate(entry);
        }
        this._ignoreIFrame =3D false;
    }
    function Sys$_Application$_onPageRequestManagerBeginRequest(sender, =
args) {
        this._ignoreTimer =3D true;
    }
    function Sys$_Application$_onPageRequestManagerEndRequest(sender, =
args) {
        var dataItem =3D args.get_dataItems()[this._clientId];
        var eventTarget =3D document.getElementById("__EVENTTARGET");
        if (eventTarget && eventTarget.value =3D=3D=3D this._uniqueId) {
            eventTarget.value =3D '';
        }
        if (typeof(dataItem) !=3D=3D 'undefined') {
            this.setServerState(dataItem);
            this._historyPointIsNew =3D true;
        }
        else {
            this._ignoreTimer =3D false;
        }
        var entry =3D this._serializeState(this._state);
        if (entry !=3D=3D this._currentEntry) {
            this._ignoreTimer =3D true;
            this._setState(entry);
            this._raiseNavigate();
        }
    }
    function Sys$_Application$_raiseNavigate() {
        var h =3D this.get_events().getHandler("navigate");
        var stateClone =3D {};
        for (var key in this._state) {
            if (key !=3D=3D '__s') {
                stateClone[key] =3D this._state[key];
            }
        }
        var args =3D new Sys.HistoryEventArgs(stateClone);
        if (h) {
            h(this, args);
        }
    }
    function Sys$_Application$_serializeState(state) {
        var serialized =3D [];
        for (var key in state) {
            var value =3D state[key];
            if (key =3D=3D=3D '__s') {
                var serverState =3D value;
            }
            else {
                if (key.indexOf('=3D') !=3D=3D -1) throw =
Error.argument('state', Sys.Res.stateFieldNameInvalid);
                serialized[serialized.length] =3D key + '=3D' + =
encodeURIComponent(value);
            }
        }
        return serialized.join('&') + (serverState ? '&&' + serverState =
: '');
    }
    function Sys$_Application$_setHistory(historyArray) {
        var historyElement =3D document.getElementById('__history');
        if (historyElement) {
            historyElement.value =3D =
Sys.Serialization.JavaScriptSerializer.serialize(historyArray);
        }
    }
    function Sys$_Application$_setState(entry, title) {
        entry =3D entry || '';
        if (entry !=3D=3D this._currentEntry) {
            if (window.theForm) {
                var action =3D window.theForm.action;
                var hashIndex =3D action.indexOf('#');
                window.theForm.action =3D ((hashIndex !=3D=3D -1) ? =
action.substring(0, hashIndex) : action) + '#' + entry;
            }
           =20
            if (this._historyFrame && this._historyPointIsNew) {
                this._ignoreIFrame =3D true;
                this._historyPointIsNew =3D false;
                var frameDoc =3D =
this._historyFrame.contentWindow.document;
                frameDoc.open("javascript:'<html></html>'");
                frameDoc.write("<html><head><title>" + (title || =
document.title) +
                    "</title><scri" + "pt =
type=3D\"text/javascript\">parent.Sys.Application._onIFrameLoad('" +=20
                    entry + "');</scri" + =
"pt></head><body></body></html>");
                frameDoc.close();
            }
            this._ignoreTimer =3D false;
            var currentHash =3D this.get_stateString();
            this._currentEntry =3D entry;
            if (entry !=3D=3D currentHash) {
                var loc =3D document.location;
                if (loc.href.length - loc.hash.length + entry.length > =
1024) {
                    throw =
Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars);
                }
                if (this._isSafari2()) {
                    var history =3D this._getHistory();
                    history[window.history.length - =
this._historyInitialLength + 1] =3D entry;
                    this._setHistory(history);
                    this._historyLength =3D window.history.length + 1;
                    var form =3D document.createElement('form');
                    form.method =3D 'get';
                    form.action =3D '#' + entry;
                    document.appendChild(form);
                    form.submit();
                    document.removeChild(form);
                }
                else {
                    window.location.hash =3D entry;
                }
                if ((typeof(title) !=3D=3D 'undefined') && (title =
!=3D=3D null)) {
                    document.title =3D title;
                }
            }
        }
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
    function Sys$_Application$_updateHiddenField(value) {
        if (this._clientId) {
            var serverStateField =3D =
document.getElementById(this._clientId);
            if (serverStateField) {
                serverStateField.value =3D value;
            }
        }
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,
    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    get_stateString: Sys$_Application$get_stateString,
    get_enableHistory: Sys$_Application$get_enableHistory,
    set_enableHistory: Sys$_Application$set_enableHistory,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_navigate: Sys$_Application$add_navigate,
    remove_navigate: Sys$_Application$remove_navigate,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    addHistoryPoint: Sys$_Application$addHistoryPoint,
    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,
    setServerId: Sys$_Application$setServerId,
    setServerState: Sys$_Application$setServerState,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _deserializeState: Sys$_Application$_deserializeState,
    _doInitialize: Sys$_Application$_doInitialize,
    _enableHistoryInScriptManager: =
Sys$_Application$_enableHistoryInScriptManager,   =20
    _ensureHistory: Sys$_Application$_ensureHistory,
    _getHistory: Sys$_Application$_getHistory,
    _isSafari2: Sys$_Application$_isSafari2,
    _loadHandler: Sys$_Application$_loadHandler,
    _navigate: Sys$_Application$_navigate,
    _onIdle: Sys$_Application$_onIdle,
    _onIFrameLoad: Sys$_Application$_onIFrameLoad,
    _onPageRequestManagerBeginRequest: =
Sys$_Application$_onPageRequestManagerBeginRequest,
    _onPageRequestManagerEndRequest: =
Sys$_Application$_onPageRequestManagerEndRequest,
    _raiseNavigate: Sys$_Application$_raiseNavigate,
    _serializeState: Sys$_Application$_serializeState,
    _setHistory: Sys$_Application$_setHistory,
    _setState: Sys$_Application$_setState,
    _unloadHandler: Sys$_Application$_unloadHandler,
    _updateHiddenField: Sys$_Application$_updateHiddenField
}
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');
=20
Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.#ctor" />
    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" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.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" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseData"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusText"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value locid=3D"P:J#Sys.Net.WebRequestExecutor.xml"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value =
locid=3D"P:J#Sys.Net.WebRequestExecutor.object"></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() {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.executeRequest" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.abort" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />
        /// <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() {
        /// <summary =
locid=3D"M:J#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');
=20
Sys.Net.XMLDOM =3D function Sys$Net$XMLDOM(markup) {
    /// <summary locid=3D"M:J#Sys.Net.XMLDOM.#ctor" />
    /// <param name=3D"markup" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "markup", type: String}
    ]);
    if (e) throw e;
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
    }
    else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        }
        catch (ex) {
        }
    }
    return null;
}
Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.XMLHttpExecutor.#ctor" />
    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 ) {
            try {
                if (typeof(_this._xmlHttpRequest.status) =3D=3D=3D =
"undefined") {
                    return;
                }
            }
            catch(ex) {
                return;
            }
           =20
            _this._clearTimer();
            _this._responseAvailable =3D true;
            try {
                _this._webRequest.completed(Sys.EventArgs.Empty);
            }
            finally {
                if (_this._xmlHttpRequest !=3D null) {
                    _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                    _this._xmlHttpRequest =3D null;
                }
            }
        }
    });
    this._clearTimer =3D (function() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    });
    this._onTimeout =3D (function() {
        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" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }
    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._responseAvailable;
    }
    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }
    function Sys$Net$XMLHttpExecutor$executeRequest() {
        /// <summary =
locid=3D"M:J#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; charset=3Dutf-8');
            }
            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) {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" />
        /// <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() {
        /// <summary =
locid=3D"M:J#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" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseData"></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" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusCode"></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'));
        }
        var result =3D 0;
        try {
            result =3D this._xmlHttpRequest.status;
        }
        catch(ex) {
        }
        return result;
    }
    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusText"></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 locid=3D"P:J#Sys.Net.XMLHttpExecutor.xml"></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 Sys.Net.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() {
        /// <summary locid=3D"M:J#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();
           =20
            this._xmlHttpRequest =3D null;           =20
            this._webRequest.completed(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);
=20
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    /// <summary locid=3D"P:J#Sys.Net.WebRequestManager.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}
    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.invokingRequest" />
        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) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.completedRequest" />
        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" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultTimeout"></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" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultExecutorType"></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) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestManager.executeRequest" />
        /// <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) {
            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();
=20
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <summary locid=3D"M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />
    /// <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" =
locid=3D"P:J#Sys.Net.NetworkRequestEventArgs.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);
=20
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequest.#ctor" />
    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) {
    /// <summary locid=3D"E:J#Sys.Net.WebRequest.completed" />
    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) {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.completed" />
        /// <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" =
locid=3D"P:J#Sys.Net.WebRequest.url"></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 locid=3D"P:J#Sys.Net.WebRequest.headers"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }
    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequest.httpVerb"></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" =
locid=3D"P:J#Sys.Net.WebRequest.body"></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" =
locid=3D"P:J#Sys.Net.WebRequest.userContext"></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" =
locid=3D"P:J#Sys.Net.WebRequest.executor"></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" =
locid=3D"P:J#Sys.Net.WebRequest.timeout"></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() {
        /// <summary locid=3D"M:J#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() {
        /// <summary locid=3D"M:J#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);
    }
    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');
=20
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebServiceProxy.timeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$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$WebServiceProxy$get_defaultUserContext() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceProxy.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy._invoke" />
        /// <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 {
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_path: Sys$Net$WebServiceProxy$get_path,
    set_path: Sys$Net$WebServiceProxy$set_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) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy.invoke" />
    /// <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+"/"+encodeURICo=
mponent(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;
          =20
            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) {
                if (result) {
                    result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
                }
            }
            else if (contentType.startsWith("application/json")) {
                if (!result || typeof(result.d) =3D=3D=3D "undefined") {
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName));
                }
                result =3D result.d;
            }
            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();
                    }
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
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 {
                throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, msg);
            }
        }
    }
    return request;
}
Sys.Net.WebServiceProxy._createFailedError =3D function =
Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {
    var displayMessage =3D "Sys.Net.WebServiceFailedException: " + =
errorMessage;
    var e =3D Error.create(displayMessage, { 'name': =
'Sys.Net.WebServiceFailedException', 'methodName': methodName });
    e.popStackFrame();
    return e;
}
Sys.Net.WebServiceProxy._defaultFailedCallback =3D function =
Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {
    var error =3D err.get_exceptionType() + "-- " + err.get_message();
    throw Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceFailed, methodName, error));
}
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;
    }
}
=20
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceError.#ctor" />
    /// <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" =
locid=3D"P:J#Sys.Net.WebServiceError.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D