From: "Salvo pelo Microsoft Internet Explorer 7"
Subject: =?iso-8859-1?Q?C=E2mara_Brasileira_do_Livro?=
Date: Thu, 26 Feb 2009 13:33:17 -0300
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0030_01C99816.C888F0D0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049

This is a multi-part message in MIME format.

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>C=C3=A2mara =
Brasileira do Livro</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dutf-8"><LINK media=3Dall=20
href=3D"http://www.cbl.org.br/css/cbl.css" type=3Dtext/css =
rel=3Dstylesheet><LINK=20
media=3Dall href=3D"http://www.cbl.org.br/css/thickbox.css" =
type=3Dtext/css=20
rel=3Dstylesheet>
<SCRIPT src=3D"http://www.cbl.org.br/scripts/scripts.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cbl.org.br/scripts/jquery.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT src=3D"http://www.cbl.org.br/scripts/thickbox.js"=20
type=3Dtext/javascript></SCRIPT>

<META content=3D"MSHTML 6.00.6001.18203" name=3DGENERATOR></HEAD>
<BODY>
<FORM id=3DaspnetForm name=3DaspnetForm=20
onsubmit=3D"javascript:return WebForm_OnSubmit();" action=3DDefault.aspx =

method=3Dpost>
<DIV><INPUT id=3D__EVENTTARGET type=3Dhidden name=3D__EVENTTARGET> =
<INPUT=20
id=3D__EVENTARGUMENT type=3Dhidden name=3D__EVENTARGUMENT> <INPUT =
id=3D__VIEWSTATE=20
type=3Dhidden=20
value=3D/wEPDwUJNzI1NTk2MTEzD2QWAmYPZBYCAgUPZBYGAgQPFgIeB1Zpc2libGVoZAIFD=
2QWCAIBDw8WBB4EVGV4dAUiQ29taXNzw6NvIEVsZWl0b3JhbDogQ09NVU5JQ0FETyAwNR4LTm=
F2aWdhdGVVcmwFJC90ZWxhcy9ub3RpY2lhcy9kZXRhbGhlcy5hc3B4P2lkPTQ2OGRkAgIPFgI=
eC18hSXRlbUNvdW50AgMWBmYPZBYCZg8VBghOb3RpY2lhcwM0NjYKMTAvMDIvMjAwOQhOb3Rp=
Y2lhcwM0NjYsQ29taXNzw6NvIEVsZWl0b3JhbDogSEFCSUxJVEHDh8ODTyBQQVJBIFZPVE9kA=
gEPZBYCZg8VBghOb3RpY2lhcwM0NjMKMDIvMDIvMjAwOQhOb3RpY2lhcwM0NjMiQ29taXNzw6=
NvIEVsZWl0b3JhbDogQ09NVU5JQ0FETyAwNGQCAg9kFgJmDxUGCE5vdGljaWFzAzQwMQoxOS8=
wMS8yMDA5CE5vdGljaWFzAzQwMWlDb21pc3PDo28gRWxlaXRvcmFsOiBSRVRJRklDQcOHw4NP=
IERPIEhPUsOBUklPIENPTlNUQU5URSBOTyBFRElUQUwgREUgQ09OVk9DQcOHw4NPIEVYUEVES=
URPIEVNIDA2LTAxLTIwMDlkAgUPFgIfAwIFFgpmD2QWAmYPFQUDMTIxCjEzLzAzLzIwMDkKMT=
gvMDMvMjAwOQMxMjEiU2Fsw6NvIGRvIExpdnJvIGRlIFBhcmlzIC0gRnJhbsOnYWQCAQ9kFgJ=
mDxUFAzEyMgoyMy8wMy8yMDA5CjI2LzAzLzIwMDkDMTIyI0ZlaXJhIGRvIExpdnJvIGRlIEJv=
bG9nbmEgLSBJdMOhbGlhZAICD2QWAmYPFQUDMTMyCjE3LzA0LzIwMDkKMjYvMDQvMjAwOQMxM=
zIwRmVpcmEgTmFjaW9uYWwgZG8gTGl2cm8gZGUgUG/Dp29zIGRlIENhbGRhcyAtIE1HZAIDD2=
QWAmYPFQUDMTM0CjE3LzA0LzIwMDkKMjYvMDQvMjAwOQMxMzQmQmllbmFsIEludGVybmFjaW9=
uYWwgZG8gTGl2cm8gZGEgQmFoaWFkAgQPZBYCZg8VBQMxMjMKMjAvMDQvMjAwOQoyMi8wNC8y=
MDA5AzEyMydGZWlyYSBkbyBMaXZybyBkZSBMb25kcmVzIC0gUmVpbm8gVW5pZG9kAggPFgIfA=
wICFgRmD2QWAmYPFQQCMTQKMDEvMDMvMjAwOQIxNC5NZXhhLXNlIHF1ZSBsw6EgbyBqb2dvIC=
0gUHJldmlzdG8gcGFyYSBNYXLDp28hZAIBD2QWAmYPFQQCMTIKMTIvMDIvMjAwOQIxMmhMYW7=
Dp2FtZW50byBkbyBsaXZybyBSRVRSQVRPUyBGQUxIQURPUywgZGUgRGFsaWxhIFRlbGVzIFZl=
cmFzIChDb2xlw6fDo28gUG9udGUgVmVsaGEvRXNjcml0dXJhcyBFZGl0b3JhKWQCBg8WAh8DA=
hQWKGYPZBYCZg8VAzMvdGVsYXMvYnVzY2EvRGVmYXVsdC5hc3B4P3R4dEJ1c2NhPW1pbmhhIG=
JpYmxpb3RlY2EBMRBtaW5oYSBiaWJsaW90ZWNhZAIBD2QWAmYPFQMpL3RlbGFzL2J1c2NhL0R=
lZmF1bHQuYXNweD90eHRCdXNjYT1qYWJ1dGkBMQZqYWJ1dGlkAgIPZBYCZg8VAyovdGVsYXMv=
YnVzY2EvRGVmYXVsdC5hc3B4P3R4dEJ1c2NhPWdhbGVyaWEBMQdnYWxlcmlhZAIDD2QWAmYPF=
QM2L3RlbGFzL2J1c2NhL0RlZmF1bHQuYXNweD90eHRCdXNjYT1maWNoYSBjYXRhbG9ncmFmaW=
NhATETZmljaGEgY2F0YWxvZ3JhZmljYWQCBA9kFgJmDxUDKC90ZWxhcy9idXNjYS9EZWZhdWx=
0LmFzcHg/dHh0QnVzY2E9bGl2cm8BMQVsaXZyb2QCBQ9kFgJmDxUDKy90ZWxhcy9idXNjYS9E=
ZWZhdWx0LmFzcHg/dHh0QnVzY2E9ZWRpdG9yYXMBMQhlZGl0b3Jhc2QCBg9kFgJmDxUDNy90Z=
Wxhcy9idXNjYS9EZWZhdWx0LmFzcHg/dHh0QnVzY2E9ZmljaGEgY2F0YWxvZ3LDoWZpY2EBNB=
RmaWNoYSBjYXRhbG9ncsOhZmljYWQCBw9kFgJmDxUDQy90ZWxhcy9idXNjYS9EZWZhdWx0LmF=
zcHg/dHh0QnVzY2E9cHLDqm1pbyBiaWJsaW90ZWNhIG5hY2lvbmFsIDIwMDgBMSBwcsOqbWlv=
IGJpYmxpb3RlY2EgbmFjaW9uYWwgMjAwOGQCCA9kFgJmDxUDOS90ZWxhcy9idXNjYS9EZWZhd=
Wx0LmFzcHg/dHh0QnVzY2E9Q2FydGEgZGUgRXhjbHVzaXZpZGFkZQExFkNhcnRhIGRlIEV4Y2=
x1c2l2aWRhZGVkAgkPZBYCZg8VAykvdGVsYXMvYnVzY2EvRGVmYXVsdC5hc3B4P3R4dEJ1c2N=
hPWJpZW5hbAExBmJpZW5hbGQCCg9kFgJmDxUDKS90ZWxhcy9idXNjYS9EZWZhdWx0LmFzcHg/=
dHh0QnVzY2E9cm9zZWx5ATEGcm9zZWx5ZAILD2QWAmYPFQMrL3RlbGFzL2J1c2NhL0RlZmF1b=
HQuYXNweD90eHRCdXNjYT1wZXNxdWlzYQExCHBlc3F1aXNhZAIMD2QWAmYPFQNML3RlbGFzL2=
J1c2NhL0RlZmF1bHQuYXNweD90eHRCdXNjYT1lbXByZXNhcyBkZSB2ZW5kYSBkZSBsaXZyb3M=
gcG9ydGEgYSBwb3J0YQExKWVtcHJlc2FzIGRlIHZlbmRhIGRlIGxpdnJvcyBwb3J0YSBhIHBv=
cnRhZAIND2QWAmYPFQMtL3RlbGFzL2J1c2NhL0RlZmF1bHQuYXNweD90eHRCdXNjYT1QcmVza=
WRlbnRlATEKUHJlc2lkZW50ZWQCDg9kFgJmDxUDKC90ZWxhcy9idXNjYS9EZWZhdWx0LmFzcH=
g/dHh0QnVzY2E9ZmljaGEBMQVmaWNoYWQCDw9kFgJmDxUDKC90ZWxhcy9idXNjYS9EZWZhdWx=
0LmFzcHg/dHh0QnVzY2E9Q2FydGEBMQVDYXJ0YWQCEA9kFgJmDxUDKC90ZWxhcy9idXNjYS9E=
ZWZhdWx0LmFzcHg/dHh0QnVzY2E9bGl2cm8BMQVsaXZyb2QCEQ9kFgJmDxUDKC90ZWxhcy9id=
XNjYS9EZWZhdWx0LmFzcHg/dHh0QnVzY2E9dGVzdGUBMQV0ZXN0ZWQCEg9kFgJmDxUDJi90ZW=
xhcy9idXNjYS9EZWZhdWx0LmFzcHg/dHh0QnVzY2E9Q0JMATEDQ0JMZAITD2QWAmYPFQMwL3R=
lbGFzL2J1c2NhL0RlZmF1bHQuYXNweD90eHRCdXNjYT1jYXRhbG9nYcOnw6NvATENY2F0YWxv=
Z2HDp8Ojb2QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgUFEWN0bDAwJGltZ=
0J0bkxvZ2luBStjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJGltZ0J0bk1haXNuYW1pZGlhBS=
VjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJGJ0X25ld3NfY2JsBSZjdGwwMCRDb250ZW50UGx=
hY2VIb2xkZXIxJGJ0X3NvY2lvX2NibAUmY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyMSRJbWFn=
ZUJ1dHRvbjQHsAkJh9b9A+G3g4SHu4qQ9wQcFw=3D=3D=20
name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var theForm =3D document.forms['aspnetForm'];
if (!theForm) {
    theForm =3D document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() !=3D false)) {
        theForm.__EVENTTARGET.value =3D eventTarget;
        theForm.__EVENTARGUMENT.value =3D eventArgument;
        theForm.submit();
    }
}
//]]>
</SCRIPT>

<SCRIPT=20
src=3D"http://www.cbl.org.br/WebResource.axd?d=3DlcgGEdgdsaZN2R-k8EldOg2&=
amp;t=3D633706047568593750"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.cbl.org.br/ScriptResource.axd?d=3D9gotqOfbwwi1e3aVgbzBw=
BAzEwTprC1LxK5Y0KdyUKD5bVG9rHYV5TYo8uN4ZPErCiEsV6ic2ZAlONuFQm-a0Q2&amp;t=3D=
633706047568593750"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.cbl.org.br/ScriptResource.axd?d=3Dm13XoSf3XeiTzV5ACzoGT=
hY_cVLsQ6qWhPMzf1WMvpAj3fgs59vAwo1800CaMMWtuEUb5Lhld6A2O1ogmsXgEXUQRgjfuH=
E-gWQAUkkLTbY1&amp;t=3D633175206468437500"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.cbl.org.br/ScriptResource.axd?d=3Dm13XoSf3XeiTzV5ACzoGT=
hY_cVLsQ6qWhPMzf1WMvpAj3fgs59vAwo1800CaMMWtuEUb5Lhld6A2O1ogmsXgEV9_jHircH=
L1JGZgrYHKDpGrBuK9XhW_ZxdstsdO1iPZ0&amp;t=3D633175206468437500"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) =3D=3D "function" && ValidatorOnSubmit() =
=3D=3D false) return false;
return true;
}
//]]>
</SCRIPT>

<DIV><INPUT id=3D__EVENTVALIDATION type=3Dhidden=20
value=3D/wEWYAKmnsTsBALLxYncCwKf3LoXAtPh74ADAvbYnv8MArPH0O4HAvn+isgHArPm6=
e0LAq//u50IAvmPqZQGAvmPqZQGAvmPvfkOAvmPvfkOAvmPkcIJAvmPkcIJAvmP5SYC+Y/lJg=
L5j/mLCwL5j/mLCwL5j83sAwL5j83sAwL5j+GHAQL5j+GHAQL5j/XoCQL5j/XoCQLmmOPDCgL=
mmOPDCgLmmPekBQLmmPekBQLmmMuJDALmmMuJDALmmN/SBALmmN/SBALmmLO3DwLmmLO3DwLm=
mIeYBgLmmIeYBgLmmJv9DgLmmJv9DgLmmO/BCQLmmO/BCQLmmIP5BALmmIP5BALmmJfCDwLmm=
JfCDwLD8YQ1AsPxhDUCw/GYngsCw/GYngsCw/Hs4gMCw/Hs4gMCw/HAxwoCw/HAxwoCw/HUqA=
UCw/HUqAUCw/GojQwCw/GojQwCw/G81gQCw/G81gQCw/GQuw8Cw/GQuw8Cw/Gk0goCw/Gk0go=
Cw/G4twUCw/G4twUCqMumrgYCqMumrgYCqMu68w4CqMu68w4CqMuO1AkCqMuO1AkCqMviOAKo=
y+I4AqjL9p0LAqjL9p0LAqjLyuYDAqjLyuYDAqjL3ssKAqjL3ssKAqjLsqwFAqjLsqwFAqjLx=
kcCqMvGRwKoy9qoCwKoy9qoCwKVpMiDDAKVpMiDDAKVpNzkBAKVpNzkBAKVpLDJDwKVpLDJDw=
KVpISSBgKVpISSBgKArv7uBQLSq/2VCwK9vJX8DJMhm7x3NvEB1anaXn3mYQZnwJ/+=20
name=3D__EVENTVALIDATION> </DIV>
<DIV class=3Dgeral>
<DIV class=3Dtopo><SPAN class=3Dtopo_superior></SPAN>
<H1 title=3D"C=C3=A2mara Brasileira do Livro"><A =
href=3D"http://www.cbl.org.br/">C=C3=A2mara=20
Brasileira do Livro</A></H1>
<UL class=3Dinstitucional>
  <LI class=3Dcadastrese><A title=3DCadastre-se=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/cadastrese/default.aspx=
">Cadastre-se</A>=20
  | </LI>
  <LI class=3Dfale_conosco><A title=3D"Fale Conosco"=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/fale_conosco/default.as=
px">Fale=20
  Conosco</A> | </LI>
  <LI class=3Dlocalizacao><A title=3DLocaliza=C3=A7=C3=A3o=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/localizacao/default.asp=
x">Localiza=C3=A7=C3=A3o</A>=20
  | </LI>
  <LI class=3Dduvidas_frequentes><A title=3D"D=C3=BAvidas =
Freq=C3=BCentes"=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/duvidas_frequentes/defa=
ult.aspx">D=C3=BAvidas=20
  Freq=C3=BCentes</A> </LI></UL>
<FIELDSET>
<OL class=3Dbusca>
  <LI class=3Dcampo><LABEL class=3Dlabel_busca for=3DBusca>Busca</LABEL> =
<INPUT=20
  id=3Dctl00_txtBusca style=3D"FLOAT: left" name=3Dctl00$txtBusca> <SPAN =

  id=3Dctl00_reqBusca=20
  style=3D"DISPLAY: none; FONT-WEIGHT: bold; FONT-SIZE: 14px; FLOAT: =
left; WIDTH: 5px; COLOR: #ffff00; HEIGHT: 5px; TEXT-ALIGN: =
left">*</SPAN>=20

  <LI><A class=3Dbt_busca id=3Dctl00_btnBusca=20
  href=3D'javascript:WebForm_DoPostBackWithOptions(new =
WebForm_PostBackOptions("ctl00$btnBusca", "", true, "Busca", "", false, =
true))'>Busca</A>=20
  </LI></OL></FIELDSET>=20
<UL class=3Dmenu>
  <LI class=3Dlivro></LI>
  <LI class=3Dnoticias><A title=3D"CBL Informa"=20
  =
href=3D"http://www.cbl.org.br/telas/noticias/default.aspx">Not=C3=ADcias<=
/A> </LI>
  <LI class=3Dimprensa><A title=3DImprensa=20
  =
href=3D"http://www.cbl.org.br/telas/imprensa/default.aspx">Imprensa</A> =
</LI>
  <LI class=3Djuridico><A title=3DJur=C3=ADdico=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/duvidas_frequentes/defa=
ult.aspx?idNivel=3DJuridico">Jur=C3=ADdico</A>=20
<!--<li class=3D"forum"><a href=3D"/telas/forum/default.aspx" =
title=3D"F&oacute;rum">F&oacute;rum</a></li>--></LI>
  <LI class=3Descola_do_livro><A title=3D"Escola do Livro"=20
  =
href=3D"http://www.cbl.org.br/telas/escola_do_livro/default.aspx">Escola =
do=20
  Livro</A> </LI>
  <LI class=3Djabuti><A title=3DJabuti =
href=3D"http://www.premiojabuti.com.br/"=20
  target=3D_blank>Jabuti</A> </LI>
  <LI class=3Dbienal_do_livro><A title=3D"Bienal do Livro"=20
  href=3D"http://www.bienaldolivrosp.com.br/" target=3D_blank>Bienal do =
Livro</A>=20
  </LI>
  <LI class=3Dpanorama><A title=3DPanorama=20
  href=3D"http://www.panoramaeditorial.com.br/" =
target=3D_blank>Panorama</A> </LI>
  <LI class=3Deventos><A onmouseover=3D"showmenu('s3');" title=3DEventos =

  onmouseout=3D"hidemenu('s3');"=20
  href=3D"http://www.cbl.org.br/telas/eventos/default.aspx">Eventos</A> =
</LI>
  <LI class=3Dservicos><A onmouseover=3D"showmenu('s2');" =
title=3DServi=C3=A7os=20
  onmouseout=3D"hidemenu('s2');"=20
  =
href=3D"http://www.cbl.org.br/telas/servicos/default.aspx">Servi=C3=A7os<=
/A> </LI>
  <LI class=3Dcbl><A onmouseover=3D"showmenu('s1');" title=3D"A CBL"=20
  onmouseout=3D"hidemenu('s1');"=20
  href=3D"http://www.cbl.org.br/telas/cbl/default.aspx">A CBL</A> =
</LI></UL>
<UL class=3Dsubmenu id=3Ds1 onmouseover=3D"showmenu('s1');" =
style=3D"WIDTH: 130px"=20
onmouseout=3D"hidemenu('s1');">
  <LI><A =
href=3D"http://www.cbl.org.br/telas/cbl/historia.aspx">Hist=C3=B3ria</A> =

  <LI><A =
href=3D"http://www.cbl.org.br/telas/cbl/presidentes.aspx">Presidentes</A>=
=20

  <LI><A =
href=3D"http://www.cbl.org.br/telas/cbl/relatoriogestao.aspx">Relat=C3=B3=
rio=20
  de Gest=C3=A3o</A>=20
  <LI><A =
href=3D"http://www.cbl.org.br/telas/cbl/estatuto.aspx">Estatuto</A>=20
  <LI><A =
href=3D"http://www.cbl.org.br/telas/cbl/associados.aspx">Associados</A>=20
  <LI><A =
href=3D"http://www.cbl.org.br/telas/cbl/diretoria.aspx">Diretoria</A>=20
  </LI></UL>
<UL class=3Dsubmenu id=3Ds2 onmouseover=3D"showmenu('s2');"=20
onmouseout=3D"hidemenu('s2');"><!--<li><a =
href=3D"/telas/servicos/validacao_ficha.aspx">Valida&ccedil;&atilde;o da =
Ficha
                        Catalogr&aacute;fica</a></li>-->
  <LI><A =
href=3D"http://www.cbl.org.br/telas/servicos/empregos.aspx">Empregos</A> =

  <LI><A=20
  =
href=3D"http://www.cbl.org.br/telas/servicos/compras_governamentais.aspx"=
>Compras=20
  Governamentais</A> <!--<li><a =
href=3D"/telas/servicos/comprar_convites.aspx">Comprar =
Convites</a></li>--><!--<li><a =
href=3D"/telas/servicos/inscricoes.aspx">Inscri&ccedil;&otilde;es</a></li=
>-->
  <LI><A =
href=3D"http://www.cbl.org.br/telas/servicos/contabil.aspx">Assessoria=20
  Cont=C3=A1bil</A> </LI></UL>
<UL class=3Dsubmenu id=3Ds3 onmouseover=3D"showmenu('s3');"=20
onmouseout=3D"hidemenu('s3');">
  <LI><A =
href=3D"http://www.cbl.org.br/telas/eventos/eventos.aspx">Pr=C3=B3ximos=20
  Eventos</A>=20
  <LI><A =
href=3D"http://www.cbl.org.br/telas/eventos/galeria.aspx">Galeria de=20
  Eventos</A> </LI></UL>
<DIV class=3Dtopo_inferior>
<P class=3Ddta>S=C3=A3o Paulo, 26 de Fevereiro de 2009 </P>
<P class=3Dhorario>13 :27</P>
<FIELDSET>
<OL class=3Dlogin id=3Dctl00_olLogin>
  <LI style=3D"MARGIN-LEFT: -50px"><LABEL class=3Dcanal_do_associado=20
  for=3D"Canal do Associado">Canal do Associado</LABEL> </LI>
  <LI><LABEL for=3DE-Mail>E-Mail:<SPAN id=3Dctl00_reqLogin=20
  style=3D"DISPLAY: none; COLOR: red">*</SPAN></LABEL> <INPUT =
id=3Dctl00_txtLogin=20
  style=3D"WIDTH: 100px" name=3Dctl00$txtLogin> </LI>
  <LI><LABEL for=3DSenha>Senha:<SPAN id=3Dctl00_reqSenha=20
  style=3D"DISPLAY: none; COLOR: red">*</SPAN></LABEL> <INPUT =
id=3Dctl00_txtSenha=20
  style=3D"WIDTH: 100px" type=3Dpassword name=3Dctl00$txtSenha> </LI>
  <LI><INPUT class=3Dbt_login id=3Dctl00_imgBtnLogin=20
  title=3D"Clique aqui para efetuar o login"=20
  style=3D"BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; =
BORDER-BOTTOM: 0px"=20
  onclick=3D'javascript:WebForm_DoPostBackWithOptions(new =
WebForm_PostBackOptions("ctl00$imgBtnLogin", "", true, "Login", "", =
false, false))'=20
  type=3Dimage =
src=3D"http://www.cbl.org.br/images/conteudo/botoes/bt_login.gif"=20
  name=3Dctl00$imgBtnLogin> </LI>
  <LI class=3Desqueci_senha><A=20
  =
href=3D"http://www.cbl.org.br/telas/restrito/esqueci_minha_senha.aspx">Es=
queci=20
  minha senha</A> </LI></OL></FIELDSET> </DIV></DIV>
<DIV class=3Dmiolo>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ContentPlaceHolder1$Sc=
riptManager1', document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], =
[], 90);
//]]>
</SCRIPT>

<STYLE type=3Dtext/css>* {
	FONT: 10px verdana
}
.gfc-resultsHeader {
=09
}
.gfc-resultsHeader .gfc-title {
	DISPLAY: inline; COLOR: #676767
}
.gfc-tabsArea {
	MARGIN-TOP: 6px
}
.gfc-tabsAreaInvisible {
	DISPLAY: none
}
.gfc-tabHeader {
	PADDING-RIGHT: 6px; DISPLAY: inline; PADDING-LEFT: 6px; CURSOR: =
pointer; MARGIN-RIGHT: 2px
}
.gfc-tabhActive.gfc-tabHeader {
	BORDER-RIGHT: #e9e9e9 1px solid; BORDER-TOP: #2a4dab 2px solid; =
BORDER-LEFT: #e9e9e9 1px solid; COLOR: black
}
.gfc-tabhInactive.gfc-tabHeader {
	BORDER-RIGHT: #e9e9e9 1px solid; BORDER-TOP: #e9e9e9 2px solid; =
BACKGROUND: #e9e9e9; BORDER-LEFT: #e9e9e9 1px solid; COLOR: #676767
}
.gfc-tabdActive.gfc-tabData {
	DISPLAY: block
}
.gfc-tabdInactive.gfc-tabData {
	DISPLAY: none
}
.gfc-tabData .gfc-resultsHeader .gfc-title {
	DISPLAY: none
}
.gfc-resultsbox-visible {
	DISPLAY: block
}
.gfc-resultsbox-invisible {
	DISPLAY: none
}
.gfc-results {
	PADDING-BOTTOM: 0.2em
}
.gfc-result {
	MARGIN-BOTTOM: 10px! important; WIDTH: 270px
}
.ie6 .gfc-result {
	WIDTH: 255px
}
.gfc-result A.gf-title {
	FONT: bold 10px Verdana, Arial, Helvetica, sans-serif; COLOR: #254394; =
TEXT-DECORATION: none
}
.gfc-result A.gf-title:hover {
	TEXT-DECORATION: underline
}
.gf-result .gf-author {
	DISPLAY: inline; FONT: 10px Verdana, Arial, Helvetica, sans-serif; =
COLOR: #3663b9! important; TEXT-DECORATION: none
}
.gf-result .gf-spacer {
	DISPLAY: inline; FONT: 10px Verdana, Arial, Helvetica, sans-serif; =
COLOR: #3663b9! important; TEXT-DECORATION: none
}
.gf-result .gf-relativePublishedDate {
	DISPLAY: inline; FONT: 10px Verdana, Arial, Helvetica, sans-serif; =
COLOR: #3663b9! important; TEXT-DECORATION: none
}
.gf-result .gf-spacer {
	MARGIN-LEFT: 3px; MARGIN-RIGHT: 3px
}
TABLE.gf-branding TD {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
TABLE.gf-branding {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; BORDER-TOP-STYLE: none; PADDING-TOP: 0px; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
TABLE.gf-branding {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; WIDTH: 100%; =
BORDER-BOTTOM: 0px; border-spacing: 0px 0px
}
TD.gf-branding-text {
	VERTICAL-ALIGN: top
}
TD.gf-branding-text DIV.gf-branding-text {
	FONT-SIZE: 11px; PADDING-BOTTOM: 2px; COLOR: #676767; MARGIN-RIGHT: =
2px; TEXT-ALIGN: right
}
TD.gf-branding-img-noclear {
	VERTICAL-ALIGN: bottom; WIDTH: 51px
}
TD.gf-branding-img {
	VERTICAL-ALIGN: bottom; WIDTH: 65px
}
TABLE.gf-branding-vertical TD.gf-branding-text DIV.gf-branding-text {
	MARGIN-RIGHT: 0px; TEXT-ALIGN: center
}
TABLE.gf-branding-vertical TD.gf-branding-img-noclear {
	TEXT-ALIGN: center
}
DIV.gf-branding-img {
	PADDING-TOP: 1px
}
DIV.gf-branding-img-noclear {
	PADDING-TOP: 1px
}
IMG.gf-branding-img {
	PADDING-TOP: 1px
}
IMG.gf-branding-img-noclear {
	PADDING-TOP: 1px
}
IMG.gf-branding-img {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
IMG.gf-branding-img-noclear {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none
}
A.gf-branding-clickable {
	CURSOR: pointer
}
.gf-snippet {
	DISPLAY: none! important
}
</STYLE>

<SCRIPT=20
src=3D"http://www.google.com/jsapi?key=3DABQIAAAAmwzZCcK49rms3ubZgbIUDxSk=
CmXmyQwgTY1AU1MR2jlTx5m7tRTTsr8WhEfqZeC9k1gLi9RnfF-48A"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>

google.load("feeds", "1");


function initialize() {

	var feedControl =3D new google.feeds.FeedControl();
		feedControl.setNumEntries(1);
	=
feedControl.addFeed('http://jbonline.terra.com.br/extra/rsstrjbvar.xml', =
'Jornal do Brasil - Cultura');=0A=
feedControl.addFeed('http://www.estadao.com.br/rss/arteelazer.xml', 'O =
Estado de S. Paulo - Arte & Lazer');=0A=
feedControl.addFeed('http://portal.mec.gov.br/index.php?option=3Dcom_rss&=
feed=3DRSS2.0&no_html=3D1', 'Minist=C3=A9rio da Educa=C3=A7=C3=A3o');=0A=

	feedControl.draw(document.getElementById("feedControl"));

	feedControl.setLinkTarget(google.feeds.LINK_TARGET_BLANK );

=09
}
google.setOnLoadCallback(initialize);

var j, d =3D "", l =3D "", m =3D "", p =3D "", q =3D "", z =3D "",eye =
=3D new Array(), imgs =3D new Array(), tits =3D new Array(), links =3D =
new Array();

function slideShow(t, l, p,indicePaginacao) {

    x =3D document.getElementById('seqSlideShow');
    a =3D document.getElementById('seqSlideLink');
    j =3D l;
    j++;
    if (j =3D=3D imgs.length) j =3D 0;
    x.src =3D imgs[j];
    x.title =3D tits[j];
    a.href =3D links[j];

    for  (i=3D0;i<indicePaginacao;i++)
        document.getElementById("LnkPaginacao"+i).className =3D "";

    document.getElementById("LnkTitulo").innerHTML =3D tits[j];
    document.getElementById("lnkOlho").innerHTML =3D eye[j];
    document.getElementById("LnkPaginacao"+l).className =3D "ativo";
    document.getElementById("lnkOlho").href =3D links[j];
    document.getElementById("LnkTitulo").href =3D links[j];
  =20

    if(p =3D=3D 'n')
        setTimeout("slideShow("+t+","+j+",'n',"+indicePaginacao+")",t);
}

// colocando as informa=C3=A7=C3=B5es das imagens
imgs[imgs.length] =3D =
"/upload/conteudo/imagens/reduzidas/18-02-2009-07-07-30_posse.jpg";=0A=
links[links.length] =3D "/telas/noticias/detalhes.aspx?id=3D496";=0A=
tits[tits.length] =3D "Rosely Boschini =C3=A9 reeleita presidente da CBL =
com 77% dos votos";=0A=
=0A=
eye[eye.length] =3D "Nas elei=C3=A7=C3=B5es realizadas nesta =
quarta-feira na CBL, a chapa =E2=80=9CTrabalho & Seriedade=E2=80=9D, =
liderada pela atual presidente Rosely Boschini, obteve 185 votos dos =
associados, contra 52 votos concedidos =C3=A0 chapa de =
oposi=C3=A7=C3=A3o =E2=80=9CMudan=C3=A7a & =
Participa=C3=A7=C3=A3o=E2=80=9D, comandada por Armando Antongini Filho";=0A=
=0A=


    </SCRIPT>

<DIV class=3Ddestaques>
<SCRIPT type=3Dtext/javascript>
                document.write("<a id=3D'seqSlideLink' =
href=3D'"+links[0]+"'><img id=3D'seqSlideShow' src=3D'"+imgs[0]+"' =
title=3D'"+tits[0]+"' border=3D'0'/></a>");
        </SCRIPT>

<H2 class=3Dtitulo><A id=3DLnkTitulo =
href=3D"http://www.cbl.org.br/#"></A></H2>
<P><A id=3DlnkOlho href=3D"http://www.cbl.org.br/#"></A></P>
<UL>
  <LI><A id=3DLnkPaginacao0 style=3D"CURSOR: pointer"=20
  onclick=3D"slideShow(5000,0,'s',1)">1</A> </LI></UL>
<SCRIPT type=3Dtext/javascript>
                slideShow(7500,0,'n',1);
        </SCRIPT>
</DIV>
<DIV class=3Dlista_destaque>
<H2 class=3Dtitulo_destaque><A =
id=3Dctl00_ContentPlaceHolder1_destaqueTopo=20
href=3D"http://www.cbl.org.br/telas/noticias/detalhes.aspx?id=3D468">Comi=
ss=C3=A3o=20
Eleitoral: COMUNICADO 05</A></H2>
<UL class=3Dlistagem>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/Noticias/detalhes.aspx?Id=3D466">10/0=
2/2009=20
  </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/Noticias/detalhes.aspx?Id=3D466">Comi=
ss=C3=A3o=20
  Eleitoral: HABILITA=C3=87=C3=83O PARA VOTO </A>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/Noticias/detalhes.aspx?Id=3D463">02/0=
2/2009=20
  </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/Noticias/detalhes.aspx?Id=3D463">Comi=
ss=C3=A3o=20
  Eleitoral: COMUNICADO 04 </A>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/Noticias/detalhes.aspx?Id=3D401">19/0=
1/2009=20
  </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/Noticias/detalhes.aspx?Id=3D401">Comi=
ss=C3=A3o=20
  Eleitoral: RETIFICA=C3=87=C3=83O DO HOR=C3=81RIO CONSTANTE NO EDITAL =
DE CONVOCA=C3=87=C3=83O EXPEDIDO=20
  EM 06-01-2009 </A></LI></UL></DIV>
<DIV class=3Dna_midia>
<H2 class=3Dh2_na_midia title=3D"Na M=C3=ADdia">Na M=C3=ADdia</H2>
<UL class=3Dlistagem style=3D"PADDING-TOP: 11px; HEIGHT: 100px">
  <DIV id=3DfeedControl>Loading</DIV><!--
            </ul>   =20
                <li><strong><a =
href=3D"http://www.literaturalivre.com.br/?area=3D9&id=3D1231" =
target=3D"_blank">22.07.2008</a></strong></li>
                <li><a =
href=3D"http://www.literaturalivre.com.br/?area=3D9&id=3D1231" =
class=3D"chamada">Escritor Baiano Distribui livros gr=C3=A1tis na Bienal =
de S=C3=A3o Paulo</a></li>
                <li><strong><a =
href=3D"http://portalimprensa.uol.com.br/portal/livros/2008/07/22/imprens=
a21059.shtml" target=3D"_blank">22.07.2008</a></strong></li>
                <li><a =
href=3D"http://portalimprensa.uol.com.br/portal/livros/2008/07/22/imprens=
a21059.shtml" class=3D"chamada" target=3D"_blank">15=C2=AA =
Conven=C3=A7=C3=A3o Nacional da ABDL foca o tema na venda de livros =
porta-a-porta</a></li>
                <li><strong><a =
href=3D"http://imprensa.quaero.com.br/cidades/15a-convencao-nacional-abdl=
-acontece-em-agosto" target=3D"_blank">22.07.2008</a></strong></li>
                <li><a =
href=3D"http://imprensa.quaero.com.br/cidades/15a-convencao-nacional-abdl=
-acontece-em-agosto" class=3D"chamada" target=3D"_blank">15=C2=AA =
Conven=C3=A7=C3=A3o Nacional ABDL acontece em agosto</a></li>
                <li><strong><a =
href=3D"http://www.publishnews.com.br/default.asp?offSet=3D1" =
target=3D"_blank">22.07.2008</a></strong></li>
                <li><a =
href=3D"http://www.publishnews.com.br/default.asp?offSet=3D1" =
class=3D"chamada" target=3D"_blank">Editoras brasileiras ganham apoio no =
exterior</a></li>
                </ul>
              <input type=3D"image" =
name=3D"ctl00$ContentPlaceHolder1$imgBtnMaisnamidia" =
id=3D"ctl00_ContentPlaceHolder1_imgBtnMaisnamidia" =
class=3D"bt_mais_azul" src=3D"images/conteudo/botoes/bt_mais_azul.jpg" =
style=3D"border-style:None;border-width:0px;" />--></UL><A=20
class=3Dbt_mais_azul =
href=3D"http://www.cbl.org.br/telas/na_midia/default.aspx">Na=20
M=C3=ADdia - Saiba Mais</A> </DIV>
<DIV class=3Deventos>
<H2 class=3Dh2_eventos title=3DEventos>Eventos</H2>
<DIV class=3Dcalendario>
<H2 class=3Dh2_calendario>Calend=C3=A1rio de Eventos</H2>
<DIV style=3D"MARGIN-LEFT: 9px">
<TABLE id=3Dctl00_ContentPlaceHolder1_objCalendario title=3DCalendar=20
style=3D"BORDER-RIGHT: white 1px solid; BORDER-TOP: white 1px solid; =
BORDER-LEFT: white 1px solid; WIDTH: 166px; BORDER-BOTTOM: white 1px =
solid; BORDER-COLLAPSE: collapse"=20
cellSpacing=3D0 cellPadding=3D2 border=3D0>
  <TBODY>
  <TR>
    <TD style=3D"HEIGHT: 30px; BACKGROUND-COLOR: silver" colSpan=3D7>
      <TABLE style=3D"WIDTH: 100%; BORDER-COLLAPSE: collapse" =
cellSpacing=3D0=20
      border=3D0>
        <TBODY>
        <TR>
          <TD style=3D"WIDTH: 15%"><A title=3D"Go to the previous month" =

            style=3D"COLOR: black"=20
            =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'V3288')">&lt;</A></TD>
          <TD style=3D"WIDTH: 70%" align=3Dmiddle>fevereiro de 2009</TD>
          <TD style=3D"WIDTH: 15%" align=3Dright><A title=3D"Go to the =
next month"=20
            style=3D"COLOR: black"=20
            =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'V3347')">&gt;</A></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TH scope=3Dcol align=3Dmiddle abbr=3Ddomingo>dom</TH>
    <TH scope=3Dcol align=3Dmiddle abbr=3Dsegunda-feira>seg</TH>
    <TH scope=3Dcol align=3Dmiddle abbr=3Dter=C3=A7a-feira>ter</TH>
    <TH scope=3Dcol align=3Dmiddle abbr=3Dquarta-feira>qua</TH>
    <TH scope=3Dcol align=3Dmiddle abbr=3Dquinta-feira>qui</TH>
    <TH scope=3Dcol align=3Dmiddle abbr=3Dsexta-feira>sex</TH>
    <TH scope=3Dcol align=3Dmiddle abbr=3Ds=C3=A1bado>s=C3=A1b</TH></TR>
  <TR>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD></TR>
  <TR>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"01 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3319')">1</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"02 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3320')">2</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"03 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3321')">3</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"04 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3322')">4</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"05 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3323')">5</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"06 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3324')">6</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"07 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3325')">7</A></TD></TR>
  <TR>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"08 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3326')">8</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"09 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3327')">9</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"10 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3328')">10</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"11 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3329')">11</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"12 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3330')">12</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"13 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3331')">13</A></TD>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"14 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3332')">14</A></TD></TR>
  <TR>
    <TD style=3D"WIDTH: 14%; BACKGROUND-COLOR: lightblue" =
align=3Dmiddle><A=20
      title=3D"15 de fevereiro" style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3333')">15</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"16 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3334')">16</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"17 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3335')">17</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"18 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3336')">18</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"19 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3337')">19</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"20 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3338')">20</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"21 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3339')">21</A></TD></TR>
  <TR>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"22 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3340')">22</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"23 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3341')">23</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"24 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3342')">24</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"25 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3343')">25</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"26 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3344')">26</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"27 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3345')">27</A></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle><A title=3D"28 de fevereiro" =

      style=3D"COLOR: black"=20
      =
href=3D"javascript:__doPostBack('ctl00$ContentPlaceHolder1$objCalendario'=
,'3346')">28</A></TD></TR>
  <TR>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" align=3Dmiddle></TD>
    <TD style=3D"WIDTH: 14%" =
align=3Dmiddle></TD></TR></TBODY></TABLE></DIV></DIV></DIV>
<DIV class=3Dproximos_eventos>
<H2 class=3Dh2_proximos_eventos title=3D"Pr=C3=B3ximos =
Eventos">Pr=C3=B3ximos Eventos</H2>
<UL class=3Dlistagem>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D121">13/03/2009=20
  - 18/03/2009 </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D121">Sal=C3=A3o=20
  do Livro de Paris - Fran=C3=A7a </A>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D122">23/03/2009=20
  - 26/03/2009 </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D122">Feira=20
  do Livro de Bologna - It=C3=A1lia </A>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D132">17/04/2009=20
  - 26/04/2009 </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D132">Feira=20
  Nacional do Livro de Po=C3=A7os de Caldas - MG </A>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D134">17/04/2009=20
  - 26/04/2009 </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D134">Bienal=20
  Internacional do Livro da Bahia </A>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D123">20/04/2009=20
  - 22/04/2009 </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/eventos/proximos_detalhes.aspx?idEven=
to=3D123">Feira=20
  do Livro de Londres - Reino Unido </A></LI></UL><A =
class=3Dbt_mais_chumbo=20
href=3D"http://www.cbl.org.br/telas/eventos/eventos.aspx">Eventos - =
Saiba Mais</A>=20
</DIV>
<DIV class=3Dcanais>
<H2 class=3Dh2_canais>Canais</H2><INPUT class=3Dfloat_left=20
id=3Dctl00_ContentPlaceHolder1_bt_news_cbl=20
style=3D"BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; =
BORDER-BOTTOM: 0px"=20
type=3Dimage =
src=3D"http://www.cbl.org.br/images/conteudo/botoes/bt_news_cbl.jpg"=20
name=3Dctl00$ContentPlaceHolder1$bt_news_cbl> <A class=3Dbt_forum_cbl=20
href=3D"http://beta.forum.dualtec.com.br/" target=3D_blank>F=C3=B3rum =
CBL</A> <INPUT=20
class=3Dfloat_left id=3Dctl00_ContentPlaceHolder1_bt_socio_cbl=20
style=3D"BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; =
BORDER-BOTTOM: 0px"=20
type=3Dimage =
src=3D"http://www.cbl.org.br/images/conteudo/botoes/bt_socio_cbl.jpg"=20
name=3Dctl00$ContentPlaceHolder1$bt_socio_cbl> </DIV>
<DIV class=3Dacontece>
<H2 class=3Dh2_acontece title=3DAcontece>Acontece</H2>
<UL class=3Dlistagem>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/acontece/detalhes.aspx?id=3D14">01/03=
/2009=20
  </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/acontece/detalhes.aspx?id=3D14">Mexa-=
se que l=C3=A1=20
  o jogo - Previsto para Mar=C3=A7o! </A></LI></UL>
<UL class=3Dlistagem>
  <LI><STRONG><A=20
  =
href=3D"http://www.cbl.org.br/telas/acontece/detalhes.aspx?id=3D12">12/02=
/2009=20
  </A></STRONG>
  <LI><A class=3Dchamada=20
  =
href=3D"http://www.cbl.org.br/telas/acontece/detalhes.aspx?id=3D12">Lan=C3=
=A7amento do=20
  livro RETRATOS FALHADOS, de Dalila Teles Veras (Cole=C3=A7=C3=A3o =
Ponte Velha/Escrituras=20
  Editora) </A></LI></UL><SPAN class=3Dacontece_fundo></SPAN><!--<input =
type=3D"image" name=3D"ctl00$ContentPlaceHolder1$ImageButton4" =
id=3D"ctl00_ContentPlaceHolder1_ImageButton4" class=3D"bt_mais_acontece" =
src=3D"images/conteudo/botoes/bt_mais_acontece.jpg" =
style=3D"border-style:None;border-width:0px;" />--><A=20
class=3Dbt_mais_acontece=20
href=3D"http://www.cbl.org.br/telas/acontece/default.aspx">Acontece - =
Saiba=20
Mais</A> </DIV><!--
        <div class=3D"banners">
            <a href=3D"#"><img src=3D"/upload/banners/banner1.jpg" =
alt=3D"Publicidade" class=3D"banner1" /></a>
            <a href=3D"#"><img src=3D"/upload/banners/banner2.jpg" =
alt=3D"Publicidade" /></a>
        </div>
        -->
<DIV class=3Dbanners id=3Dctl00_ContentPlaceHolder1_Banners><A =
title=3DBanner=20
href=3D"http://www.cbl.org.br/telas/noticias/detalhes.aspx?Id=3D352"><IMG=
=20
title=3DBanner=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
src=3D"http://www.cbl.org.br/upload/publicidade/banner1.jpg"></A><A =
title=3DBanner2=20
href=3D"http://www.cbl.org.br/telas/cbl/associados.aspx"><IMG =
title=3DBanner2=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
src=3D"http://www.cbl.org.br/upload/publicidade/banner12.jpg"></A></DIV>
<DIV class=3Dindice>
<H2 class=3Dh2_indice id=3Dabre_seta =
title=3D=C3=8Dndice>=C3=8Dndice</H2>
<H2 class=3Dh2_indice_fechar id=3Dfecha_seta title=3D=C3=8Dndice=20
style=3D"DISPLAY: none">=C3=8Dndice</H2><A class=3Dindice_fechar =
id=3Dfecha_indice=20
onclick=3D"hidemenu('box_indice'); hidemenu('fecha_indice'); =
showmenu('abre_indice'); showmenu('fecha_seta'); hidemenu('abre_seta'); =
return false;"=20
href=3D"javascript:void(0);">FECHAR</A> <A class=3Dindice_fechar =
id=3Dabre_indice=20
style=3D"DISPLAY: none"=20
onclick=3D"showmenu('box_indice'); showmenu('fecha_indice'); =
hidemenu('abre_indice'); hidemenu('fecha_seta'); showmenu('abre_seta'); =
return false;"=20
href=3D"javascript:void(0);">ABRIR</A> </DIV>
<DIV class=3Dindice_listagem id=3Dbox_indice>
<UL>
  <LI><STRONG>A CBL</STRONG>=20
  <LI><A title=3DHist=C3=B3ria =
href=3D"http://www.cbl.org.br/telas/cbl/historia.aspx">*=20
  Hist=C3=B3ria</A>=20
  <LI><A title=3D"Relat=C3=B3rio de Gest=C3=A3o"=20
  href=3D"http://www.cbl.org.br/telas/cbl/relatoriogestao.aspx">* =
Relat=C3=B3rio de=20
  Gest=C3=A3o</A>=20
  <LI><A title=3DPresidentes=20
  href=3D"http://www.cbl.org.br/telas/cbl/presidentes.aspx">* =
Presidentes</A>=20
  <LI><A href=3D"http://www.cbl.org.br/telas/cbl/diretoria.aspx">* =
Diretoria</A>=20
  <LI><A title=3DEstatuto =
href=3D"http://www.cbl.org.br/telas/cbl/estatuto.aspx">*=20
  Estatuto</A>=20
  <LI><A title=3DAssociados=20
  href=3D"http://www.cbl.org.br/telas/cbl/associados.aspx">* =
Associados</A>=20
  <LI><A title=3DLocaliza=C3=A7=C3=A3o=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/localizacao/default.asp=
x">*=20
  Localiza=C3=A7=C3=A3o</A>=20
  <LI><A title=3D"Fale Conosco"=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/fale_conosco/default.as=
px">*=20
  Fale Conosco</A>=20
  <LI><A title=3DCadastre-se=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/cadastrese/default.aspx=
">*=20
  Cadastre-se</A> </LI></UL>
<UL>
  <LI><STRONG>Servi=C3=A7os</STRONG>=20
  <LI><A =
href=3D"http://www.cbl.org.br/telas/servicos/validacao_ficha.aspx">*=20
  Valida=C3=A7=C3=A3o da Ficha Catalogr=C3=A1fica</A>=20
  <LI><A href=3D"http://www.cbl.org.br/telas/servicos/empregos.aspx">*=20
  Empregos</A>=20
  <LI><A=20
  =
href=3D"http://www.cbl.org.br/telas/servicos/compras_governamentais.aspx"=
>*=20
  Compras Governamentais</A> <!--<li><a =
href=3D"/telas/servicos/comprar_convites.aspx">Comprar =
Convites</a></li>--><!--<li><a =
href=3D"/telas/servicos/inscricoes.aspx">Inscri&ccedil;&otilde;es</a></li=
>-->
  <LI><A href=3D"http://www.cbl.org.br/telas/servicos/contabil.aspx">* =
Assessoria=20
  Cont=C3=A1bil</A>=20
  <LI><A title=3D"Fale com o presidente"=20
  =
href=3D"http://www.cbl.org.br/telas/institucional/fale_conosco/default.as=
px?f=3D1">*=20
  Fale com o presidente</A> </LI></UL>
<UL>
  <LI><STRONG>Publica=C3=A7=C3=B5es e Artigos</STRONG>=20
  <LI><A title=3DPanorama href=3D"http://www.panoramaeditorial.com.br/"=20
  target=3Dblank>* Revista Panorama Editorial</A>=20
  <LI><A title=3DNot=C3=ADcias=20
  href=3D"http://www.cbl.org.br/telas/noticias/default.aspx">* =
Not=C3=ADcias</A>=20
  <LI><A title=3D"Na M=C3=ADdia"=20
  href=3D"http://www.cbl.org.br/telas/na_midia/default.aspx">* Na =
M=C3=ADdia</A>=20
  <LI><A title=3DImprensa=20
  href=3D"http://www.cbl.org.br/telas/imprensa/default.aspx">* =
Imprensa</A>=20
  <LI><A title=3DAcontece=20
  href=3D"http://www.cbl.org.br/telas/acontece/default.aspx">* =
Acontece</A>=20
  <LI><A title=3DEntrevistas=20
  href=3D"http://www.cbl.org.br/telas/entrevistas/default.aspx">* =
Entrevistas</A>=20
  </LI></UL>
<UL style=3D"WIDTH: 320px">
  <LI><STRONG>Eventos e Premia=C3=A7=C3=B5es</STRONG>=20
  <LI><A title=3DAgenda =
href=3D"http://www.cbl.org.br/telas/eventos/eventos.aspx">*=20
  Pr=C3=B3ximos Eventos</A>=20
  <LI><A title=3D"Galeria de Eventos"=20
  href=3D"http://www.cbl.org.br/telas/eventos/galeria.aspx">* Galeria de =

  Eventos</A>=20
  <LI><A title=3DAcontece=20
  href=3D"http://www.cbl.org.br/telas/acontece/default.aspx">* =
Acontece</A> <!--<li><a href=3D"/telas/eventos/galeria.aspx" =
title=3D"Galeria de Eventos">* Feiras Nacionais</a></li>--><!--<li><a =
href=3D"/telas/eventos/galeria.aspx" title=3D"Galeria de Eventos">* =
Feiras Internacionais</a></li>-->
  <LI><A title=3D"Galeria de Eventos"=20
  href=3D"http://www.cbl.org.br/telas/escola_do_livro/default.aspx">* =
Escola do=20
  Livro</A>=20
  <LI><A title=3D"Galeria de Eventos"=20
  href=3D"http://www.cbl.org.br/telas/eventos/eventos_premiacoes.aspx">* =
Encontro=20
  Nacional de Editores e Livreiros</A>=20
  <LI><A title=3D"Galeria de Eventos"=20
  href=3D"http://www.cbl.org.br/telas/eventos/detalhes.aspx?Id=3D304">* =
Jantar de=20
  Confraterniza=C3=A7=C3=A3o de Editores e Livreiros</A>=20
  <LI><A title=3D"Galeria de Eventos"=20
  href=3D"http://www.cbl.org.br/telas/eventos/detalhes.aspx?Id=3D305">* =
Pr=C3=AAmio=20
  CBL-Uni=C3=A3o Latina de Tradu=C3=A7=C3=A3o Especializada</A>=20
  <LI><A title=3D"Bienal do Livro" =
href=3D"http://www.bienaldolivrosp.com.br/"=20
  target=3D_blank>* Bienal do Livro</A>=20
  <LI><A title=3DJabuti href=3D"http://www.premiojabuti.com.br/" =
target=3D_blank>*=20
  Jabuti</A> </LI></UL></DIV></DIV>
<DIV class=3Drodape>
<P><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dminha =
biblioteca"=20
target=3D_blank rel=3Dexterno>minha biblioteca </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Djabuti"=
=20
target=3D_blank rel=3Dexterno>jabuti </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dgaleria=
"=20
target=3D_blank rel=3Dexterno>galeria </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dficha =
catalografica"=20
target=3D_blank rel=3Dexterno>ficha catalografica </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dlivro" =

target=3D_blank rel=3Dexterno>livro </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Deditora=
s"=20
target=3D_blank rel=3Dexterno>editoras </A><A class=3Dsize4=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dficha =
catalogr=C3=A1fica"=20
target=3D_blank rel=3Dexterno>ficha catalogr=C3=A1fica </A><A =
class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dpr=C3=AA=
mio biblioteca nacional 2008"=20
target=3D_blank rel=3Dexterno>pr=C3=AAmio biblioteca nacional 2008 =
</A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3DCarta =
de Exclusividade"=20
target=3D_blank rel=3Dexterno>Carta de Exclusividade </A><A =
class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dbienal"=
=20
target=3D_blank rel=3Dexterno>bienal </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Drosely"=
=20
target=3D_blank rel=3Dexterno>rosely </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dpesquis=
a"=20
target=3D_blank rel=3Dexterno>pesquisa </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dempresa=
s de venda de livros porta a porta"=20
target=3D_blank rel=3Dexterno>empresas de venda de livros porta a porta =
</A><A=20
class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3DPreside=
nte"=20
target=3D_blank rel=3Dexterno>Presidente </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dficha" =

target=3D_blank rel=3Dexterno>ficha </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3DCarta" =

target=3D_blank rel=3Dexterno>Carta </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dlivro" =

target=3D_blank rel=3Dexterno>livro </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dteste" =

target=3D_blank rel=3Dexterno>teste </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3DCBL" =
target=3D_blank=20
rel=3Dexterno>CBL </A><A class=3Dsize1=20
href=3D"http://www.cbl.org.br/telas/busca/Default.aspx?txtBusca=3Dcatalog=
a=C3=A7=C3=A3o"=20
target=3D_blank rel=3Dexterno>cataloga=C3=A7=C3=A3o </A></P>
<DIV id=3DDivResultado style=3D"DISPLAY: none"></DIV></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var Page_Validators =3D  new =
Array(document.getElementById("ctl00_reqBusca"), =
document.getElementById("ctl00_reqLogin"), =
document.getElementById("ctl00_reqSenha"));
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var ctl00_reqBusca =3D document.all ? document.all["ctl00_reqBusca"] : =
document.getElementById("ctl00_reqBusca");
ctl00_reqBusca.controltovalidate =3D "ctl00_txtBusca";
ctl00_reqBusca.focusOnError =3D "t";
ctl00_reqBusca.errormessage =3D "*";
ctl00_reqBusca.display =3D "Dynamic";
ctl00_reqBusca.validationGroup =3D "Busca";
ctl00_reqBusca.evaluationfunction =3D =
"RequiredFieldValidatorEvaluateIsValid";
ctl00_reqBusca.initialvalue =3D "";
var ctl00_reqLogin =3D document.all ? document.all["ctl00_reqLogin"] : =
document.getElementById("ctl00_reqLogin");
ctl00_reqLogin.controltovalidate =3D "ctl00_txtLogin";
ctl00_reqLogin.focusOnError =3D "t";
ctl00_reqLogin.errormessage =3D "*";
ctl00_reqLogin.display =3D "Dynamic";
ctl00_reqLogin.validationGroup =3D "Login";
ctl00_reqLogin.evaluationfunction =3D =
"RequiredFieldValidatorEvaluateIsValid";
ctl00_reqLogin.initialvalue =3D "";
var ctl00_reqSenha =3D document.all ? document.all["ctl00_reqSenha"] : =
document.getElementById("ctl00_reqSenha");
ctl00_reqSenha.controltovalidate =3D "ctl00_txtSenha";
ctl00_reqSenha.focusOnError =3D "t";
ctl00_reqSenha.errormessage =3D "*";
ctl00_reqSenha.display =3D "Dynamic";
ctl00_reqSenha.validationGroup =3D "Login";
ctl00_reqSenha.evaluationfunction =3D =
"RequiredFieldValidatorEvaluateIsValid";
ctl00_reqSenha.initialvalue =3D "";
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[

var Page_ValidationActive =3D false;
if (typeof(ValidatorOnLoad) =3D=3D "function") {
    ValidatorOnLoad();
}

function ValidatorOnSubmit() {
    if (Page_ValidationActive) {
        return ValidatorCommonOnSubmit();
    }
    else {
        return true;
    }
}
       =20
document.getElementById('ctl00_reqBusca').dispose =3D function() {
    Array.remove(Page_Validators, =
document.getElementById('ctl00_reqBusca'));
}

document.getElementById('ctl00_reqLogin').dispose =3D function() {
    Array.remove(Page_Validators, =
document.getElementById('ctl00_reqLogin'));
}

document.getElementById('ctl00_reqSenha').dispose =3D function() {
    Array.remove(Page_Validators, =
document.getElementById('ctl00_reqSenha'));
}
Sys.Application.initialize();
//]]>
</SCRIPT>
</FORM><A class=3Dcreditos=20
href=3D"http://www.cbl.org.br/telas/creditos/default.aspx">Cr=C3=A9ditos =
Web Site=20
CBL</A> </BODY></HTML>

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.cbl.org.br/upload/publicidade/banner1.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc
Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f
Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAPAH0AwERAAIRAQMRAf/EALUAAAAHAQEAAAAAAAAAAAAA
AAABAgMEBQYHCAEAAgMBAQEAAAAAAAAAAAAAAQIAAwQFBgcQAAEDAwIEAwQECwYEBgMAAAECAwQA
EQUSBiExEwdBURRhcSIygZFCI6GxwVJicoIzJBUW0aLCQzQI4fFzg1Njw0RklNQlJxEAAgECBAME
CAQFBQEBAAAAAAECEQMhMRIEQRMFUWEiMvBxgZGhscHRQiMUBvFicjMV4VKC0jQkJf/aAAwDAQAC
EQMRAD8A7pXzQqH4L3RltOcgFC/uPA1r2F3l3oy7wo1l/iFe+rUcIki9BsjGxIsfiH1VXzu0lRxL
iFC4qyM0whlKTzANFpEoGlIAsOAopUIHRIEpIVzAIoNVBQYcjJPFIsfKqZ2IsWURpUR0H4bfXVDs
SqDSyYi+kX5+NbY5FgZokEqWlKSVEADmTwFLKaiqshjtwb/2phnnETJaXZhtoiMgrWSr5RwHC/me
Fcud2Cbln8gK05MyM7vI02ssN4zpvOJuypTmpPE2GrUlv2/Le3jauat7C5lgiz9MXm1N/bY3DGaW
7LXCfdWWUIcslpxaTY9J0fAoHw41otbe3cdHOVezIV2aG1ThYPNQUv8AWUTWyPSbKzq/WxNKHBAx
qCPuW7+0CrlsdssNMfcg4FFnd8dudvShDzOXx0CWoahGedbS7p89HzW9tOtnZy0R9yJQf29ufYu5
UrVgcjAyfSNnUxXW3FI/WSkkj6aD2Nh5wj7kQt1YnHq5sJ+gWpH0zbv8C9waDSsJBsdCVIPhpURV
MukWeFY+pgoJ/lLqP3Mx1B9p1Ck/xco+S7Ne2v1JQIsZtr5H0PDyWLGldnew8soz9ZMSK9lcowvQ
80kH3cPrvWS71LdWnScEVyk0PRM40vhIUG1X4cDa1aNt1q28Lj0sZN8SzafZdF21hY9hvXXtXoTV
YtP2j1FKVYXt9VWt0I2I6rZ5/hFJrjxF1IGhpXFNr+w2qaU8iUTCLbw4oX9CqDjLgwaXwCC3k/Mi
/tTU1SWaBVrgEXI6xZwW9ihQc4vMmqLwYkw2FcUG3uNxSuxF5AdpPIjuY9wcRZf46ontpcCqVlkf
pFsBBSUgcr1RKDWZU4tDEhpNtSU2JPnakogDfp3R4cb2tQoCgtMU2+I8fKjQlBxpkt3ub35jwooI
5RIAi4I86hCEWXBfhwHjSNAEVCAqEJuOiMyCsuXOmwCQbfTWjb2lKtS2zBOtSFJSEOqaQb8SAfZX
N3sqPlxzl8gKKTABYWHIVohGiSWSKxRQoJ1HlRcks2SjGy42Oah9dVPcW1nJe8OlhF9ofaql76yu
IdDE+pa8z9VI+o2VxfuDy5CvXDRo1K0c9PhQ/wAtay8QdEiVHysNDDjK0rKF8QOBsatt9asqLi6l
0FhRiE5OKOSVC3LgKpXVrXeU8vEJWSjkpUNQUk+I8DzpLnU7bo8aruHjGg8MnD/OP1Grl1Kz2v3F
g4nIQj/mge8GrY7+0/xEHEy4quTqT9NXR3Vt5SRB5K0K+VQPuIq5Ti+IRdjT4EqZqvEEHIzDsh4N
NC6zx48AAPGtG2207s1GGYUa9KSAL8wLGvoEItJeocIDUD5UaEoEWRa1qDgmSgSWdJuB+H/hQjbo
SgothRBI4ijpqEXTkBUIJWVJFwLjxpZMDYElZFyLComyIO4vbxpggOoDhz8qBCIZMp26WW9IHAuO
cOPsTzNYneuzwhGne/oLUzu+Nwx9tYN/IyP4qUlJEdpwgBSzwSlKOAqu5ZUPFN636cMhoLU6HnnL
PPzMwh6Uhxa8mn1EtBQ6hwpQdWhspKD0wq1ho+FX2q5E7rm2dKNtJGqg7CmbhxSs2nIaZZS620l1
SnRoT/l8FamviFiedudatptpOOQzRkZGNdMRbOVfcYgukoisx19NTrgTo0hSOolTnmFHjysnnVFy
3chKtPkI0d+7fblY3LtyO7GSplcRKYz7SjcJW2kJKQocDa3HyNdCkrmKeByriozC90t5ZaVk3dob
flrgdAIXm8q1cOIQ4LpYjqI+dY+ZY+Ue00VBW8XiaNtt9WJyrLdu8NNxymscXI09Ki4ia8pbpdcP
MyNdyr31Yt0b5bIzrHa3c0aQ3Mh5RiLkGdK2pDKnUOoUlV7pc0jRx86tW4KXtGemOxfcrJ7ng5HB
bgcbd3Lt5aWpchrgmQysfdv25BRsUq9ovyNaoSqjLchRnUtQvbxphA6hAjyqEG3ozTydLiAoDiL1
VcsxmqSVQNJgcisOJ0uNpWPaBSz21uSo4phoQncFFKtTKlMq80nh+Gubd6LabrBuD7gUGizm4v7t
wSUeSuf4f7ap5O9s+Vq5Hs9PuTEmIblLTqdQlCj9lKr8fqFdO3G41WaSfYhHGomO60t0pSQpabgp
8QRzuKlmcZOieQsViSildvhIB8K1NPgW4janHW7BadV+AKfOq3KSzQrk1mLLeoeXsPGncajNDJZU
lQsjmfmSfyGqnbK9Arpy0n4VpUPJX/Cm0zWTDSSyY4lLhFnEp+gk/jFOk3nQfHiNOwGHB8uk8+FV
zsRYkrSY2nHkLupWpH1Gq47WjxxQisYjBivF1SEpNgeZ5W99UuxLU1Qr5bqLOPfA5pPsB/4U36aX
cHksZ6TnVDRTZZ5CquXKtKYiaHWg8ce/a90n2XP9lW/ppD8lkCSld1Ag8PCw4VmkUsi8LUoBCnmk
81fVxrLc3tqGbxG0MR6yx+7Cr8r3t+KskurJeVVGVsIeoWv4E8VcAf8AnWeE9xOeuKxYzUaUFLiz
AAVqAv5H+yrXtdzPzSSBqihScelSQpT1z+akXNFdLb802Tmdwo45A06SolXHjYWqxdJguLZOYyM+
hptRQBdY4HjyrBu4Wbb0xVWNFyeYyK56ZYOMrbQv7xAcT4jx+irrNyEX4lqQJFqzEhOhK0NhSDx8
a9FZ2m3mk1FNFVXUkycZj02UGgEqHDief11pvdN28cdOHtLpZ9xF/l8Q/Y/Caxf4+z2fFiqohGOi
K1JIUFpVa4V4HiKqh0+1Kqa8SGDOHYPJxQ+o1H0i2+LIIVhfzXvrTVT6N2SINqw0ofKpB+kiq30m
6smveyUB/Kstq0aVW/X4fjqf47dZUfvDQhrNk1y0Qk7Zka8q635MKP8AeTXe6DH85v8Al+qHjmcN
2VuJzCZiDlRqUw06lqQeJGlwEFPvKQbV2Lc3GVT32720btnT+JrA2XercyZeUjYiKvVEx7aZcpaD
8PUkWS3fj4IX/fq7dT4I5nQtqopzlnLBfX07jQ7K2/A3L2vYxcx55lh98r6sdSUuamnOoLFaXB9n
jwq21HVbozB1C87O7co5owWwtr4/cO6J2KlypDbMAvKbWypAcPRe0J1FSFp4jnZNZ7VtOTR19/u5
W7EZpKsvsafvu+lT+3igmzokBHhe/TtVu7yRh/b6Tc69xJ7WbwWY0/amRJblxEvelSvgr4QdbX0f
MKNi5+Fi9W2iqr0PK8yL/t+d17bzPEkhLHP/AKSqm1eDJ12NJwK7shmcXCmZNeQnMxELbCULkOob
BOvkNZF6TbySbqX9ZsSlCGlN+pCO5mWx83uDinYExqWwG2UKcjuJcRq6vIlBIvUvSTmqDdMsSjt5
6k16/Udc3PnEYXEZTKO8EQo5Wi/DUsg6QPprVKVKvsPN7e07lxRXFnnvD5PJYeZityP6ulJkrV1r
my1pUC8OP65Nc+Laake2v27dyErK8yj/AAPTDTzchlqQ0btOpDiFDxChcGujLE8HOLi6HKO+bkMM
4/1zXqIqXQpxjgSpKePyngU/nX8Kw72T0Fm38xzrBxBLfmwmmvRpcCpqH2ka9LaCNSUR2OIcCTwC
Pmrh2Nq7kqnQaOpYLcW2m8QBjiIUFpwRYTsttUNuQ+R8raXOm44pSvmVbn7q7qWkFaiJeFy+44b0
TNenguNPociR4rinyj4bEvOKSyVdTmBwt5mq5w1EcSp2bIzeL2Rm5GCWJ+QkTFlchaFBDb4UG3kp
bURq0IF9d7KVzvV22VIYnPupajAxVuoamzJuoypMp56a4UjWVrc0aiEXQnSLCw4Vmvy8R1dokohR
pD7DwiT5DTrywOgtCVpKkXIC16vh8LfDwqULVIXEd68jqyIbrEpi6StQITa/FKHEfOL2NqlBtQ5/
t3iSm+9O7X1ApZZjL16b2PVeu3e/jZBroWZeE5G6wlielI8tLk4NA/ZJ+q1XJpmap562Vi8BmszM
jZzJqxsVsOLQ8Hmmbr6ltOp4LTy8LVzoRTk6s9turty3Zi7cdUn3VNJ20cnxu4b+Mwkx2fgGVOiR
IvdsthJ6alEfBq12AI58bVZZrrosjF1JRe2UriUbjHu8+AxsQp3QxIkGTkpKGHmVKR0QG2Sm6EhI
WD90OajTbmCpqKuh7mUpct00pM0vbvbOPxe1HcsxIfdk5iAHXm3VILadCFH7sBKVD5/FRqyzBKNe
0x9S3Mp3tLSpGWBzLt7hds5wyk57LKxjTCEFhYfZY1kk6hd5KwbW8Ky2oxk3qZ3uoXrtqMeXHU3n
g38jV9m5GWG6MhChyHJm34wdQZCgQ0qzlmVgckrWONh4Xq3bt6ml5Tn9YjDkxlJJXX6MYae//vbr
dz/quV//AIoqV/NIo/8A59fTM6g85HhZZUpWqyioOAcefiKqhtIQvu4s3Wp5auJxTuBtjHbe3TDx
0STJcZyDaZCy+pBUlTrykkJ0IQLcPG9NfglJU4ntOl7qVy1JyS8P2OlZ2RE7bbDfTjHHZD3W6cRc
ooWrrP24nQlsEISCq1vCtEmrcXQ4diL3m4WrDtp3GT2tsRW68SjcG5c1LDk5xSIXTUkm4JTdRWlw
WKkkaUgWA51VC3qWqTzOhvuoLbT5duMVTMd2juTObW34vZ2Vlqmw1OpYYWu/+akFlaASdN9VlC9u
dGE3Cel5A3O3huNvzorTJZ/UX3A7cYDF4jN7hiz5y5rbypDjDi2uiFyHdakgBpKtP3nD4vpo3bUa
N8Svp3UpyuRttLTkQNi9v9vZ/bYzeSnzY6kSFNaY6m9Fk6dNwpp1XNXnSWbacasv6r1Gdm5oio0p
2DHdtLI7hQojjqmmFQoyFr1AEJ6rgJueHKhuPMi3oz/Ik6Y1Zfw+3PbAzo/p91uvSA4kssJmwlFa
gbhISGtRv5CrVah2/EwXN/uqOsKL+ljHc3eGbnbtZ2bhZBjBRbbkLQopU469yQVDiEpTYkDnelv3
G5aUX9L2luNp37irQkSOzvp4q1YXPyUbiaTqu4UpZWu1ykaUhxF/PWqm5C4PxGb/ADOqVJRjo7DZ
5HKSMFs85bKG0yBABfSpQUrr6QLahfUSr66slgtT4I5sLKu30o5NnBcPk8lh5mK3I/q6cmS4rrXN
lrSoF4cf1yawxbTUj2l+3buQlZXmUf4HoKc5IfLT8PSY0ltLiHDbkoX/ABVl6ir+ultLS1mfPL0N
MnUh/wAteWbuu3vzArnf46c8bkyrWuCJDePio+xqPmrj+Ctdvp1mPCvrF1sStKXneghIDSOLhHif
KqZxV2fLj5I+b7DZKrHRGbBBBPDlXRUUsisdIBFiL0xAkISj5RaoQJ1ehpa/zQSKrvT0xb7EFKrK
EkkknmeJrx7k223xNOQKBAVEQssK6eo419kjUPfXb6LN1cHkxJF0Uh2MUnmg3Hur0mnXCnYMnWJE
IIVWFqjAnUQfhkJPg4Ck+9PEVS8Lifb8+AR8VpIHTII40AXEg8r1ZBVkgonV0a4ltTGBl146GklS
vZ4e+vndizK7LTFVK0ifgIAi5By51OKZVrV9I4Cva9P2KsQp+J5liRwjtVg1bp2/urEtWMsxm3IJ
JtaQ2vW3xPIFSbH2VLMNWpHsOo7jku1L0oT5+zNwbd7U7kyu445jZaS9AYabW428pLCJTHHW0pxN
lGwtf7NF2nGDbzEjv4Xtzbjb8qq/bRnQ+0GUx0TtlBn5CWzDitvOhT8hxLTd1qKEgrWUi5KuFX2G
lDE5PVoSluWoqrOfdnM9iY3cPOPzZ0eNFd9UGX3nUIbXrk3TpUogK1DiLVRYktbOr1WzN7aCSbap
8i4/3CrMSVtJsquQp5Nx42LVWbrgZOg/j9Qfe3bczDyYm+cNqaJCGsopvmldglp//Ar6KG4g14kP
0bdRlWzcxi8vsO/7dX0uYLcmnkhTQA/7S6m0yYf3D/cgZbsntrbm6ZmWazkVUtqI2FtIS661Yldj
xaW2T9NV2IKTdTV1fd3LVuGh0qF3HwmD2z3DwuPwscxYj6WHlNKcddOtT1r3dU4rl7al2CjJUJ07
czu7ebm6v/Q2H+43c/p4eM20wbv5B31D6BzKGiAhP7ThFW7qWFO0wdAsJzdx5RRk9z4bugnY0aBk
tsMxcNhAZQmtusrkJAB1qUlMhajcK4gIvVU4T0Upgjft9ztf1Dmpycp4d3yOo9kdzpzux2W1LC5O
NUYzvG5080E+9NaLEtUDidZ2/LvumUsQd1NpKykJM5jWp9myVBNrhBI1WvcC6bihetKSocyEqMwu
wMxszHzZUZYcxsl5bjEKTOWE9RoG4a1JVobcTzIHzcFDjWSylbZ0ISqjdqj5oBHTlxJDKTduRJbU
txB8PkXZXD7QKSfG9XReoZxM3m92RMdGdxGGlfzfcmRcLJdbKXEtvrSRqVayE6U8EteHjalk9LoB
yoje7L2tEwm2mYCWi24+gLmBRClF1afiuR8P1cPKtMY0VDlzk2zjm68DK2/m5zctA/lslZeZeUFF
tKl/vA6Un5V3uD4cqz3bXE37W9TApG4MlIBiygqPa7SXWkPaQfzHArVo8gay6zoKI6016bU5LkKc
ddISXHClsc7JS22OPGpqGpTE2ParbW5YO7cjmFY9cGJkW0Ny1v2JdaYR90oJuFpcUtRJ1DlwNdC1
GkaHI3d1TeB1LHA/zof9Nf4xVsViZInnntlE2dlt0ZKPutxlGPbQ6povyVRU9XqgCy0raJNr8L1h
tRi5vUe33129Dbw5Va4ZKvAmtz8bhu8EKBsWUp/HPSWGlNtOqebUFW66AslXUQlOo3JNNVK54SvT
K5s2768VHnn3Gx/3FZjEpwEPHMTGF5BiclyRCS6gvoC2lq1LbB1pB1DmPGrd1JaaHO6BalzdVHpp
nwNVsLJ42Z28htRprD8qHjCmVHbcQtxorb4dRKSSn5Dzq2004eww7+3KO4badHI452fgbEzD2RTu
51hthlDfpDIlqiDUSrVpKXGtXC1ZLEYtvUej6rdvwhDlV76KpYbLyUfH95hi9oynJGCdfKNKVqcQ
pkN6nbqPzJQrVpUfIcaa26XKRyKN3Fz2eq8vGSnspEh/7iZLkyQ3GjNSQXXnlpbQkGIkfEpRAHGi
3S6JCDl0+iVX/qdcdye1cxKEeBn4D8t4npR2pDLi1G17BKVlR+gVoaTeDPMT2lyOLjJL1M473nz2
Jlb+wq4M+PLZZjNNvusOocQhaX13SopJCSB51m3ElqR6jo1mcbE9Sar9joPeKMNx9u5M3AvN5JMG
QiWfSLS8FpaGh0JKNQJShZVb2Vfejqi6HJ6XPk7ha1prhiU3a/fO0puyMfAn5ePjpOJcK3UyFpR1
G9SljQVlIN9duHHhyqqDTilWlGW9W2FyV5yinJS7DMQMj/XXfJM7DguYyI806ZGkgdCKBdar8ta7
hN/MUqeu5VZHRlH9NsnGfml9TondeQlXbvc76T8N2wk/qqQn8lX3HWLOF0r/ANEfWVPaCQV9q1OD
j/HLH4W6WxKkDT150v8AsRku+Dsc91MfHkkCO5Dih66tI0F50KurhbhVW586Or0RtbebWdX8jfY7
a/YiFko0yDLx6ZzDiVxlDKuLIcB+H4VSFA8fAitChbWVPeci5uN5JNS1U/p/0MJ3KekbR7xw9wS2
lqxkpbMht0D4VFsaHWweWoAA2qi94bilwOp05q9tJWk/FidKy3cntzCx6825mI8lBT1GobCgZKl2
4J6YOsH9YC1XSnHOpwodLvSnp0v6e8w3fDeLTu28DiYaC07ndGReY1FagiwKE6j5uKH1VVflSKS4
nX6JtFG7KTyhgUO58N3QTsWPAyW2GYuGwgMoTW3WVyEgA61KSmQtRuFcQEXpJwnopTBGzb7na/qH
NTk5Tw7vkdL7N7jTuHYbLZWFy8Yv07nHjp5oJ96adLXb70cHru10Xm1xxNiptSPmFvZWdxazOBKL
WYzIdUkBlsXfc5fojzNYt1eapbj/AHJfDvHjEU2wGEBCePiVeZq6zYVqKSElmL0m1XUAFQACoQbk
i8Z0fomqNyq25eoZZlGK8ijQA1EQW6jRpP2VpCkn2GrLkHGneqgLTDxlIbU8oWLnBPuHjXe6TtnG
Lm+OQsmWsdVnLHkoWru2nSVCW3iMPCy9PlwrNewdApUI8ng1r8WyFfQDx/BWTc4R1f7cQokAG17V
qphUIpKSpVhxJpoxq6IKRLDSG0aiNRHE1tjajFVpiPkJ9Ub/AC8PfSfqe4moz8bKPRm+mEJUjxFr
H6xXlNn1Wdnw0TQE6DsTLRUyg4RpKgUqQrhwPkrlXotv1azcwb0vsYyZD23srZ+2PVL23jVwnpqA
h5an33QQOIsHXHQOfhW+3GKyRpvby5dSU3Wg9k8RjMzh5OD3DHcn42StC3EdVxCiW1pcR8aFoWLK
QDwVTSSaoyqzelblqi6NENez9jK2wdqKxLp29rDvpeu/q1pWHAep1er8wv8APSqEaUpgW/rbnM5l
fH24FS12a7RBSVowDwUghST6uZwI4j/3FLyYdhofVtw/xfBfY0G59qbS3WuKvcGMXKVAKlQyl55o
p12v+6cav8o53p5RUszNY3dy1XQ6VJk5DE5uTCnRRIxUtn078VR+ZuxHE+4+dM8SmNxxepZkHbW1
9obTjSY+38Y5FZnFPqUKeed1lIKRYuuOkcFHlakpGCwRff3dy605utBG3NkbP2uZT23MYuHImI0P
qU++6CL6uTrjoHHytRjBRyQb+7uXUlN1oIzeydl5/Jxctm8UuTlIaUIYfQ++2AEK1J+FtxtJ+LzT
Rlbi3Vks7y7bi4xdExeX2RsnN51ncGUxTknLxwgMvF98ISGiVI+7S6lvgT+Z76krcW6slreXYRcI
ukWWq9clclqa2XoUtBadjEkp0KFiBy5inZni2nVEXZ+w9n7U6527AXCEkJS8lUiQ8CE8vhecdAPt
FVxgo5F9/d3LtNbrT1EfujuqTtfZs/KRWG5Eltshpt4kN3JCfjtY241JOiqU2reuaj2tL3nnSTuj
DTEocmYuVFm/F6mfBciyw6HeDl4spLRCbcghVh5k1z3JSZ6rcftXc234caL+X/sWe2/6CVCyGKXm
cW07kWwiMcyxIgrji2kFOvXGK/aF8a0xtxZxb+23Fr+7HT7V9Dquwu3zGATHyLUaDmZSEq0ZKO8U
qNwAA02UKaTw5nqCr42YrFHPd1vBPA6KMgwI6nnwYwbTqdQ7a6R70lST9Bpmiv1FXMWMskNjEKkR
jfS/IUlpJ8ikfE5Y+emhpI8DiHcHauBiZCU/IzGGwLjjZQ1EbmSXJCV2NnQzFQhazx8UeFV3IJGz
aRuXFSK+RAgdwcBgmWG8PjW5UtlKUKyZilpxawPicS7McdeSFexmhG+kjr2f23vbuK8v/H/sbftl
3c3Jubd/8jyEaMiC/GfksqQVqfb6HTGlblm23NXU+y2m1S3dUsCdY6F+ktxnXzenazpitcWamQlG
oAFKk+w1aecRjF9oe0Lzq3F7feK3FFSz6uWBqUbnlIpOTB8Dox6ruEqKXwX2Lnb+zdmbWWuRtzCI
jSljSZLqlvOhJ5pS46t1YB8goCjGEY5Iov727dVJybIec7edttwZZ7L5jCOv5OSEB95MiS2FdNIQ
n4W3m08EpA4JoShCTq0PZ6jetR0wlRewmbd2jsja6ZgwOJdjDIoS3MCn33NaE6rfvXXbfOfltRjG
MckJf3t27TW609RSp7N9n1ctvPf/AG5n/wCRQ5EOw0rq25/3/BfYv8Btfa21UL/prDNw3HBpdfWV
uOqTfUUlxxTjlr+Gq1PGEY5IzX93cu+eTZWZntv2zzuUfyuWwjr2RlkKkOiTJQFKSkJHwtvISOCR
yTSStwbq0WWupXrcdMZUXsDw/bbtngMmxlsThHWMjGJLDpkyVgFSSk3S48tJ4HxSaChBOqQLvUr1
yLjKVU/UQ1dou0T7q3V7fe6jqitw+rli6lG5PCRbnQduHYPHq24iqKXwRpMRjcVtrGN4zbkMxILb
inS04447cq+YXcW4rj+tTJqKojHf3M7ktUnVlFke23a7MS1TMjtxKZbhKnFRnHY6VKPNRSw4ykk+
dqRqDzRotdUvQVFJ09/zL/GYPDYbGOY/b0BvFR3PnU0B1FEC11qN1KNvFRJpLqrBxj4a8TNe3U7j
rJtla/i4TmJl4TOw1TsLNt1UtrWg/CQbXQpChyHJQrlWbk9qnG4tVvtXAFm9K3JSjgxeJx+2cRhP
5Lt+IqFCLpeLTrjjhKza9lOLdVx0j7VarHUrNzwx8PrDuNzO66ydWQt07V7dbgnIyW5sS5JyKGks
BxD77d0IJUAEtOtDmo+FaNzubMMZ5l+36hdtRpB0XsIMDtR2i6zclnbshpxpQW04uVLACkm4NvUq
/FS2Ltu5lGUfX/Etl1e+8HL4I1Wbbg5Zl2Dm8YzkcW6QUsPJCtJA+YEjgryI4jzrVJ9uKMUb0rbr
F0M3F7XdpYcgSo+2uo+m5SiQ6+81c8eLbrrrf92q1y+CNU+r32qan8CxyWz9hZfLxs3kcM45lIaW
0RlB55LTaWTdtKWkOoasP1KLnB4tFVvqNyEXFOieeRamS5JflInNl6BMQWnIpUSkIULG3LmOdRXs
ccjJG806jG0NmbM2qH/6dgOQPUpSl0LfkPJOn5fheddAPtFSMoLLA1bjf3Ly8brT1FzLlCO3YgLc
XwaSniCfdWPebtWo9snkZV3iIkNSEl1xWp9zitXgPZVWz2elOUnWcs+7uBJDxBHA1qapgVtBcBQA
NrSdV+d6RoVoRSigI1JKfMEfXSyjVNdqCUBBSSPI2rxso0bRpCoVIWkCM3IiNl0EhtZ0+0eXurv7
DbRvWlr/AAtiNloALW5V3ElwFFDgQR4U6zTCswSWFqdK0i4UL0t+1Jyqi2Q0YzikqTp+YEfWLVTL
bykqUAh6A447HZWs2SEgEeZHCrdnOVy3GTHTJJU02kqFh7q2NxjiHAjuPKXw5J8qyTuuQrYWldr2
NvOl0OhKGRD6vtC/trwmorUxX3S/G3sNMpdgyZJjyH45+6WQPzTxT9VarG9u2fK8OwKZZMZVhZAk
I0H89PEf2139v1yEsLip3oNSxaZjuo1oUFJPiK7Vu7GarF1QRwRUCrQiwwmoQSthu1yKDdCCW4oB
1qHE8h5Clisasg8GU2q0YHpkeVEgYYQByqECLCD4UCCgkJ5VCHOu87n8z27K23CCXMrKZUtlC1ht
N0kEJ1EEal2skeNV3I1i0X7SnOjXtr7jzYlQUL2KSLoUk8wpJ0kL9qVAiuPXS2fbLN9X4xmng0Go
Ap0KF0q+x7KVKSGduNPCx7Ey5mGk+pw8uRjHj8xhuqYC/wBdAu0v9pNWq5JHK3PRNrdT5kKv1yXy
Zoh3c34peuZLaniF8TPVQpkJWBq1qQwW0On/AKnDyrRHdtnmr/7Pt1/Kly16nL5yIee7gb03GkHJ
5eQIzqQRDiq9MwAfBSGrav8AuKNV3d2zqbD9sbW2vzfzJf8AKPykULTDLVyygIKvmUBZSv2vGqHd
cj0lraxisF8RfOkcWPCqwNP2v3A3gd6N5R5pTrXpjCGhSAsOzHGtNkrUnVwA4Vq26m14cGeH/eVx
6YQ7D1T6VKkC9zw5q5/TXTjGlOJ4CgBCaHhTUIGYqLcKFCCfRovyqUJQCoaDQA0BERtJ5UahQ4uM
gp5UWRjBhJvekYofokkUCUEphoB5UKADVGSfdQYBsQmwb0rQKC+kkC1LQFBt1tpLSlLISkcbngKW
5JRg9TSRDJ5/ObdgPx2pDpYellQjtIadedd0i6ihhhDjhA8TptXnLu2jelW3HSu3t9mYHNLMhyt0
7Twxx8nJTm0oypCIDi0uKKzex5JOix4HXax4GxprFm5anWUdXe/oSU4pKrzLz+rNptZt7BPZBDWV
YjqluxnErTpZSCVK1lOjgEkkBV67lm7GaBVKWl5kNvuTsNyHBktZBcmNk+qIIZiynVudD95ZtDSl
/D7RV0byS7iK9Gnc+5jk/fGw8fi8fmJGWaTjMovpQHwlxetfinSlKlJtbjqAt40JuKpKuDBOUVSV
cGS5e6NpRM8zgZGQQ1l32TIaiqSv42wCq6VhPTPAcBquaLUa04jNxrTiR8dvPaGTehtwZ4eXkI7s
yGOm6nWwwdLi/iQLaSOSrGqs8itSTy4jcruJsuHtxG4nckhOJdcLDMgodGpxKtJARo18D46aruXd
MapVfBE1Kmp5FgrI46BjV7gnyUohpaEj1NipKWSNQUAkEngfAVl222lGXNn5/kh3KmPALCb22vnJ
QiY+WfWKaEhtl1l6Mtxk/wCYhEhDRcR+km4rpRnGTJCak+8Xgd4ba3BInRcRORMexrnSmpQladC+
X20pvy5puKKkngRSUq04DsXPYaZl5uHiyQ5kcehtyYwEqHTS78h1kBBvbwNJSrogUTdERMdv3aM9
x1qE9IlFha2nnWoM1bSXGr609UM9O4t+dVkHD0TDGUX2+5levuXsVWJXmWpr6sWha23JYhTemhTd
teo9HgEk2JPC/DnVE9Oa+TKpSjSqrT1MkQt6bZmTIkNmS4mTObW/EaejSWFONNfMsdZtHw+R8fCq
1mBUZRPb62cvoSGZy3m55eMQMxpLq19BRS7ZCGlLGgjjcV56/spSm2i1XI0X2Y4/u/Z0TCxs/Oyj
bOFlLDbErS4rWrjdIQlJWLW+K44eNSx06UpePCJJXIpV4GwlZDHwMcqc6spgtthzW2hbh0WvdKGw
pauHkK9JGKiqLJAZRDubsX0mPmLyfSi5V4x8e86xIaS64kpBsVtpsm6x8R+H20dS94muOD7R97uN
suOtbS8gpbyJjmNU01HkvLMtlIW40lLba1KslQN0i3tp1JJD64r5ErLb92ni4eNk5SaqC3knCzCT
IYkNOLWCBYtrbDiB8Q4rSBVs5rSqjyuJJVHJO99qRM7/ACGTkEN5YMKlCKUOXLSElalBQToJCUk6
Qb+yipRTpXEOtJ04lKjuVsxmPFcM19TGQX/+vcbhzVpe6hJSlBQyQVfo8/ZXMs+FNcE8BXdj349z
Jat/7UTkVY5yS+iaiMZrjK4ctJRHCdRdWVNAJSORv9r4fm4Vf3B5irT6M0OEyGOymMjZOA76iHLQ
HY72lSdSFcjpWEqH0itdmCpUsjRqqJ9XjGBr5oZwVAlpg2GpLzrLtyNGpJB4gg2rq9J20L0pRmuH
2HiTJWDfa4sqDqfI8FVq3PQ7kMbb1Ls4jtEBC5EZ26SppwcxyP1VyoXLtiWFYyAWcXPEWTJTf/zE
/lFdza9c4XV7V9iVLZmQy8nW0sLT7Py137N+FxVg0wijYkeyrGkSoumIAG1SoRQIpqjVCUalQBE+
VAgVqlAHHu40yWnccmdDZfUiEwWpbTafjkNqSSoJS6FRXEItdSH+f2LHjVc8mPb8yODR1FTAXYfe
FS0hKQngolSU2TysD8vhXIaoz7R0pf8AzWv6BdKbwVCDCxqTNT7P/TpkZY+W56xxgWYZH6KfxUss
x9t5V6hdQvBa/Dz86gUa/s1h1ZfdwiqjdVmNKRIlu2QPu0J6rWtQClr0uWASdKRb7RvXR2iqj5d+
5PDuLi7ZM9VVtPLgqEBUICoQFQAlSkjmbClbQGwwQU8Dwo1CFQAA8qABNAgRHCpQARTS0BQiS5bb
Kg0hJdkK+VpPP3nyFYdzuo23oitVx8F9ewFBluAt1aXZytZB+FkfIn+2qLexdx6r7r2R4IiRjNw7
Rz7fcCDu3FNszHI8Z2E5BkrU00WnfFK0IdKFA/oG9dBprKgJallQze8O0W5N75WTk87MRF9PA9Li
4sIjQHnFanFqDzbhCeQughRtf4eVBRbzoBannQiyOyWTzmUdy25lhT6cbEifwTy0uLejEhZutAu2
8jgvxNzWWcZwXhQYtt+KmQxhe1maZc22wqeMYjDu5Bx6TFKStKZx4IbS8y43wHA6k8PCs0OpQrSW
BEpYZErNdiDlFsY1uS5G21h4D8fGNIWl2Q/JlEl590utLTxv8yfiH2dNdJY5UoR1r3DU3spuTMtI
lZp5oZGJhmMdDmRnHOomVGc1Nvp1ITYaLJVxuaOiWboRKfGmQMV2eycBzbqMlIUf5PiZcFxMGXKj
OuPyXCtBStjoLKBf4gVC/kazX90rTUXjJ8FmGKkqVoJh9iNxTcPgsFlZSY+Iw3q5KwwoOuuyZBPT
+GQ0tshKTx1X9nHjV9qxJurwqSMZ4J0oaZvYu5kdnndmzXW356WXIcR4LUf4cn7ouKKQdQTztei1
LjmJ4ksaVK1rYO8XHcbk1pjRJ238Q5isQy0644HXX0BCn33FNtlITzCQhXvpavuApS7gduu0mX2T
ujH5CHPMmO7BVGzqXlABbhVrSpnptIKtKyf3hJ9tFSaJqap8S0xm3N1YnuFuDcMSFHlRc23HY0vS
XGC2GL3UEpYfSq+rlcUVKVcKB1yrhSnp3FfsTYe5NsS5zrkQyVSJMmW0oZWc0z98SUpVBS2qKs/p
K99NFyWDp6ewaMpJ4pensI0LtvuZrs9lNlPojomTXZK2HkPOLFpT3WOu7SCjQTbhqv7OVVynKmNC
vXKlHSpZ5nZueaz23s3jkMyZGFxy8e5HdcW00oOIAK+olDp+EjxRxquU6KoXN4UoZaL2Uyq4eChm
c4wzi2J3XlxXno73WmqK/uVI0lSUFVviIuKz2LruVlTAOpqmQ872ez+bx2Cw+aeZh4nb8KQw2iBp
Kn5D10B5SHmlN3U38/jq4pI51pUm+wWMpcaUNvhMBuXH9smsDNDc3LR4yobKg4oJU2LoaU4so1ag
3bV8J401GRN8czHMdmsrkMJtHB5pphUDAJnImht5xSnUSmdCCi7SLOJXZXHgLXueVFVfYGLlhWhF
wHYvcTAx7GSnF1DObkZaTLbkSGZCmnY6GRZ1oIWly7dzpUPfRSl3BWrjTMtt59l8huvJvqkzX2sN
jseqFh2i+uTIW64rWtx5yWl9ZGq3EL12HMVY4t48B2m/UV+U7L7lzfXyOYktpy7eNiRYc1hxwuCZ
E1Dq3UhPwuJVZfv5UjUuNBfFxpl8S3x/a/Noxmx8Qpxkr2tLZlznQtelaUg3Sg6LqJv4gVXaq5yj
hVMZKVFl3kzO7F3PO37mM6xGYTBm4R7CNJU+4lyzq+qHtAaUn5vh06uXG/hV7g64UoR6tXCnp3Gn
7ZYncmE21j8BlIcdpjFxkMNS2pLjq3VI4XLa2GgkW/TNW21JKjoGGrjT09hsdJqyhZQwFfMzMCgi
F5tjpXkf+Lw92n/nXpf2/p8X+/6FkTQK5Jr08ixkab6Lp/xWnT4X5/RbjWHe8jT+bT6/cUzkj0/V
PQ1dP9O1/orxm45Wr8utO8gcb1HVHp9XU/R/LR2vN1/l1qA0kT1XR/idPU8NP5fCva7Xm6PzKau7
0oMh838K1BDN7VHUDAL29tMgobk+q6KvT6et9nXe34Kpv69PgpXvI6mblf1NrOvq/wDbtp/u15bc
fr6+Kvsp9CrxEnG/1H1Brv0vHrW/B9qtex/XVVfL30/iNHUPbr9L/TuR6mm/QXrta/ymvRPLEtR4
8i/6dFuXxW92o2rkXcz7V0r/AM1r+gdqs3AqEI4+ed7v8FMjLHy3PWOx/wDTs/qD8VLLMfbeVeoX
ULwxzFQh2X/bT0fVbkv++vFt+p0z/ivXS2XlPmH7t/8AV7DudbDywKhAVCAqEDqEI7mnrDXytwqq
VK4lbzxAzzVb5b8KEcyRHuFWDBVCAqAYnhQZCNO9X6ZXpbdT287eNvbWTec3l/l5/H2AYxjfR9M9
G/V/zup+8v8ApXrL0/lafB5+NfMAmV0UQDnMe4XoTzJISbUGIFQIVmV9H4/6nw0/4q4PVeTx/udw
yEYn1txo/cfa1cv2aq6Tz64f2+/6ELV31XQc9NbXbhq/JXfvc3Q+XSveGNSHhfT9VfWv6251dTn+
zXL6Ry9b1153f9CxFyLV6MLEK6Wo6rXt+CklTiK6EZzo6vh5eys89PAplQbNvC9UunARhVAC0Xt8
Xye38lWQr7B4942fnOr9i/O1I+8D7xuR0+kdfy+NU3tOnHIRiBpsPLwtSwpTDIVhjnw86biRD/Gr
BxTfM1ZEaI4eXC300ZauFPiWML+L0Hp9O3t1UFzaYafiMshlf8xtx6Fv2qrlzqfg+IGR2P5l65/R
0uppRrvq0242tWO3z/1EqadVMRkTU/zXx6F/2q6C/UfyfEmI8n1/2ul9GqrFz/5PiMqjn8Rb7F/p
pvzv5fiTE//Z

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.cbl.org.br/upload/publicidade/banner12.jpg

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
N6zjMo//2Q==

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.cbl.org.br/images/conteudo/botoes/bt_login.gif

R0lGODlhDgAMAMQAAO78/+3z8eHz/+fn8eXk6tXl9Nbd7cvb/NHY9dbR5cTM47TN9rLB6LG125a3
7J6w2Jut3ZytyY+t03GVz3ySw0d0uE1tqDtpvkJmvjpnuD9mtTtnsC5lwDJgtTtbpv///yH5BAEH
AB8ALAAAAAAOAAwAAAVv4Cd+RJIYw6iK0cZd3qImimIAz+ZhGKM2EEgBIMF0NhvFCNB4RBBETeei
8YkCjMcjEb1wMtaPAeJoBAAVDmdTEQ2AkoKAotZYDp/BIzgATDQeHRV4AloPBQETHRwdFggiBpFy
FBeVdysiFB6AlyMhADs=

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.cbl.org.br/images/conteudo/botoes/bt_news_cbl.jpg

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
C4QfbdWu9rBO7dVeBqOVP20EYiNpC1VYk//Z

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.cbl.org.br/images/conteudo/botoes/bt_socio_cbl.jpg

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
35MjfFpOf//Z

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/css/cbl.css

* {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; FONT: 10px Verdana, Arial, Helvetica, sans-serif; COLOR: =
#000; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; BORDER-RIGHT-WIDTH: 0px
}
A {
	COLOR: #000; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
LI.link_azul A {
	FONT-WEIGHT: normal! important; BACKGROUND: none transparent scroll =
repeat 0% 0%; MARGIN: 15px 25px 0px 0px; COLOR: #2a4dab! important
}
A.link_azul {
	MARGIN: 15px 25px 0px; COLOR: #2a4dab
}
A.link_seta {
	DISPLAY: block; PADDING-LEFT: 12px; FONT-WEIGHT: bold; BACKGROUND: =
url(/images/conteudo/backgrounds/seta.gif) no-repeat left 3px; MARGIN: =
10px 20px; COLOR: #2a4dab
}
P.cadastrados {
	DISPLAY: block; MARGIN-LEFT: 10px; WIDTH: 240px; BORDER-BOTTOM: #ccc =
1px solid; HEIGHT: 25px
}
BODY {
	MARGIN: 0px auto; WIDTH: 1004px; POSITION: relative
}
.topo {
	BACKGROUND: url(/images/usercontrols/topo/topo_fundo.gif) repeat-x left =
top; WIDTH: 1004px
}
.topo SPAN.topo_superior {
	BORDER-TOP: #b4b4b4 1px solid; DISPLAY: block; BACKGROUND: =
url(/images/conteudo/backgrounds/topo_azul.gif) no-repeat 623px top; =
WIDTH: 1004px; BORDER-BOTTOM: #dbe4e1 1px solid; HEIGHT: 6px
}
.ie6 .topo SPAN.topo_superior {
	MARGIN-BOTTOM: -5px; BORDER-BOTTOM-STYLE: none
}
.topo .topo_inferior {
	BORDER-TOP: #ccc 5px solid; BACKGROUND: #f8f8f8; FLOAT: left; WIDTH: =
1004px; BORDER-BOTTOM: #f0f1ef 1px solid; HEIGHT: 26px
}
.topo .topo_inferior P {
	FLOAT: left; MARGIN: 6px 20px; COLOR: #2e5ab3
}
.topo .topo_inferior P.dta {
	PADDING-LEFT: 10px; FLOAT: left; MARGIN: 7px 0px; WIDTH: 217px; COLOR: =
#2e5ab3
}
.topo .topo_inferior P.horario {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 11px; BACKGROUND: =
url(/images/usercontrols/etc/relogio.gif) no-repeat right 3px; MARGIN: =
0px; WIDTH: 55px; PADDING-TOP: 6px; HEIGHT: 20px
}
H1 A {
	DISPLAY: block; BACKGROUND: url(/images/usercontrols/topo/logo.jpg) =
no-repeat left top; FLOAT: left; OVERFLOW: hidden; WIDTH: 297px; =
TEXT-INDENT: -9999px; HEIGHT: 73px
}
H3 {
	MARGIN: 10px 0px 3px; FONT: bold 18px Verdana, Arial, Helvetica, =
sans-serif; COLOR: #2a4dab
}
H4 {
	MARGIN: 10px 0px 3px; FONT: bold 12px Verdana, Arial, Helvetica, =
sans-serif; COLOR: #2a4dab
}
H4 A {
	MARGIN: 10px 0px 3px; FONT: bold 12px Verdana, Arial, Helvetica, =
sans-serif; COLOR: #2a4dab
}
H4 A {
	TEXT-DECORATION: underline
}
H2 {
	OVERFLOW: hidden; TEXT-INDENT: -9999px
}
H2.h2_canais {
	BACKGROUND: url(/images/conteudo/titulos/h2_canais.gif) no-repeat left =
top; MARGIN-BOTTOM: 15px; WIDTH: 210px; HEIGHT: 27px
}
H2.h2_eventos {
	BACKGROUND: url(/images/conteudo/titulos/h2_eventos.gif) no-repeat left =
top; FLOAT: left; WIDTH: 39px; HEIGHT: 220px
}
H2.h2_indice {
	MARGIN-TOP: 5px; BACKGROUND: =
url(/images/conteudo/titulos/h2_indice.gif) no-repeat left top; FLOAT: =
left; MARGIN-LEFT: 15px; WIDTH: 57px; HEIGHT: 15px
}
H2.h2_indice_fechar {
	MARGIN-TOP: 5px; BACKGROUND: =
url(/images/conteudo/titulos/h2_indice_fechar.gif) no-repeat left top; =
FLOAT: left; MARGIN-LEFT: 15px; WIDTH: 57px; HEIGHT: 15px
}
H2.h2_na_midia {
	BACKGROUND: url(/images/conteudo/titulos/h2_na_midia.gif) no-repeat =
left top; FLOAT: left; MARGIN: 10px; WIDTH: 20px; HEIGHT: 193px
}
H2.h2_proximos_eventos {
	BACKGROUND: url(/images/conteudo/titulos/h2_proximos_eventos.gif) =
no-repeat left top; MARGIN: 20px 0px 0px; WIDTH: 94px; HEIGHT: 9px
}
H2.h2_calendario {
	BACKGROUND: url(/images/conteudo/backgrounds/calendario_topo.jpg) =
no-repeat left top; WIDTH: 185px; HEIGHT: 42px
}
STRONG {
	FONT-WEIGHT: bold
}
STRONG A {
	FONT-WEIGHT: bold
}
SPAN.subtitulo {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 15px 0px =
5px; COLOR: #2a4dab
}
SPAN.subtitulo A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 12px; MARGIN: 15px 0px =
5px; COLOR: #2a4dab
}
UL.institucional {
	PADDING-LEFT: 337px; FLOAT: left; WIDTH: 369px; HEIGHT: 14px
}
UL.institucional LI {
	FLOAT: left; OVERFLOW: hidden; TEXT-INDENT: -9999px; HEIGHT: 14px
}
UL.institucional LI A {
	DISPLAY: block; HEIGHT: 14px
}
UL.institucional LI.cadastrese A {
	BACKGROUND: url(/images/usercontrols/menus/cadastrese.gif) no-repeat =
right top; WIDTH: 65px
}
UL.institucional LI.fale_conosco A {
	BACKGROUND: url(/images/usercontrols/menus/fale_conosco.gif) no-repeat =
right top; WIDTH: 78px
}
UL.institucional LI.localizacao A {
	BACKGROUND: url(/images/usercontrols/menus/localizacao.gif) no-repeat =
right top; WIDTH: 71px
}
UL.institucional LI.duvidas_frequentes A {
	BACKGROUND: url(/images/usercontrols/menus/duvidas_frequentes.gif) =
no-repeat right top; WIDTH: 101px
}
UL.menu {
	BACKGROUND: url(/images/usercontrols/menus/fundo_menu.gif) no-repeat =
left top; FLOAT: left; WIDTH: 1004px; HEIGHT: 23px
}
UL.menu LI {
	FLOAT: right; OVERFLOW: hidden; TEXT-INDENT: -9999px; HEIGHT: 23px
}
UL.menu LI A {
	DISPLAY: block; HEIGHT: 23px
}
UL.menu LI.cbl A {
	BACKGROUND: url(/images/usercontrols/menus/a_cbl_sem_forum.gif) =
no-repeat right top; WIDTH: 35px
}
UL.menu LI.servicos A {
	BACKGROUND: url(/images/usercontrols/menus/servicos_sem_forum.gif) =
no-repeat right top; WIDTH: 60px
}
UL.menu LI.bienal_do_livro A {
	BACKGROUND: url(/images/usercontrols/menus/bienal_do_livro.gif) =
no-repeat right top; WIDTH: 96px
}
UL.menu LI.escola_do_livro A {
	BACKGROUND: url(/images/usercontrols/menus/escola_do_livro.gif) =
no-repeat right top; WIDTH: 100px
}
UL.menu LI.eventos A {
	BACKGROUND: url(/images/usercontrols/menus/eventos.gif) no-repeat right =
top; WIDTH: 59px
}
UL.menu LI.forum A {
	BACKGROUND: url(/images/usercontrols/menus/forum.gif) no-repeat right =
top; WIDTH: 49px
}
UL.menu LI.imprensa A {
	BACKGROUND: url(/images/usercontrols/menus/imprensa.gif) no-repeat =
right top; WIDTH: 64px
}
UL.menu LI.jabuti A {
	BACKGROUND: url(/images/usercontrols/menus/jabuti.gif) no-repeat right =
top; WIDTH: 47px
}
UL.menu LI.juridico A {
	BACKGROUND: url(/images/usercontrols/menus/juridico.gif) no-repeat =
right top; WIDTH: 59px
}
UL.menu LI.noticias A {
	BACKGROUND: url(/images/usercontrols/menus/noticias.gif) no-repeat =
right top; WIDTH: 75px
}
UL.menu LI.panorama A {
	BACKGROUND: url(/images/usercontrols/menus/panorama.gif) no-repeat =
right top; WIDTH: 121px
}
UL.menu LI.livro {
	BACKGROUND: url(/images/usercontrols/menus/livro.gif) no-repeat right =
top; FLOAT: right; WIDTH: 55px; HEIGHT: 23px
}
UL.submenu {
	BORDER-RIGHT: #173a84 2px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#173a84 2px solid; DISPLAY: none; PADDING-LEFT: 10px; Z-INDEX: 1000! =
important; LEFT: 0px; PADDING-BOTTOM: 5px; BORDER-LEFT: #173a84 2px =
solid; PADDING-TOP: 10px; BORDER-BOTTOM: #173a84 2px solid; POSITION: =
absolute; TOP: 0px
}
#s1 {
	BACKGROUND: #2c55b1; FILTER: alpha(opacity=3D90); POSITION: absolute; =
TOP: 100px; -moz-opacity: 0.90; opacity: 0.90
}
#s2 {
	BACKGROUND: #2c55b1; FILTER: alpha(opacity=3D90); POSITION: absolute; =
TOP: 100px; -moz-opacity: 0.90; opacity: 0.90
}
#s3 {
	BACKGROUND: #2c55b1; FILTER: alpha(opacity=3D90); POSITION: absolute; =
TOP: 100px; -moz-opacity: 0.90; opacity: 0.90
}
#s4 {
	BACKGROUND: #2c55b1; FILTER: alpha(opacity=3D90); POSITION: absolute; =
TOP: 100px; -moz-opacity: 0.90; opacity: 0.90
}
#s1 {
	LEFT: 234px
}
#s2 {
	LEFT: 272px
}
#s3 {
	LEFT: 334px
}
UL.submenu LI {
	MARGIN-BOTTOM: 5px
}
UL.submenu LI A {
	PADDING-LEFT: 10px; BACKGROUND: =
url(/images/conteudo/backgrounds/seta_transp.gif) no-repeat left 5px; =
COLOR: #fff
}
FIELDSET OL.busca {
	PADDING-BOTTOM: 4px; MARGIN: 35px 0px 0px 375px; WIDTH: 320px; HEIGHT: =
20px
}
.ie6 FIELDSET OL.busca {
	MARGIN: 36px 0px -14px 375px
}
.ff2 FIELDSET OL.busca {
	CLEAR: both; FLOAT: right; MARGIN: 48px 15px 1px 0px
}
FIELDSET OL.busca LI LABEL.label_busca {
	DISPLAY: block; BACKGROUND: url(/images/conteudo/backgrounds/lupa.gif) =
no-repeat right top; FLOAT: left; OVERFLOW: hidden; WIDTH: 60px; =
TEXT-INDENT: -9999px; HEIGHT: 20px
}
FIELDSET OL.busca LI INPUT {
	PADDING-LEFT: 5px; FLOAT: left; MARGIN: 5px 5px 0px 0px; WIDTH: 163px; =
PADDING-TOP: 1px; HEIGHT: 13px
}
FIELDSET OL.busca LI A.bt_busca {
	DISPLAY: block; FONT-WEIGHT: bold; TEXT-TRANSFORM: uppercase; COLOR: =
#fff; PADDING-TOP: 5px
}
FIELDSET OL.busca LI.campo {
	FLOAT: left; WIDTH: 245px
}
FIELDSET OL.login {
	CLEAR: both; BACKGROUND: =
url(/images/conteudo/backgrounds/fundo_login.jpg) no-repeat right top; =
MARGIN-LEFT: 131px; WIDTH: 590px; HEIGHT: 27px
}
.ie6 FIELDSET OL.login {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; MARGIN-LEFT: 86px; WIDTH: 632px; HEIGHT: 28px; BORDER-RIGHT-WIDTH: =
0px
}
.login_feito {
	PADDING-TOP: 8px
}
.login_feito A {
	COLOR: #376fc2
}
.login_feito A:hover {
	TEXT-DECORATION: underline
}
FIELDSET OL.login LI {
	FLOAT: left
}
FIELDSET OL.login LI LABEL {
	DISPLAY: block; FLOAT: left; MARGIN: 7px 5px 0px 10px; COLOR: #898989
}
FIELDSET OL.login LI INPUT {
	BORDER-TOP: #b3b3b3 2px solid; MARGIN-TOP: 6px; DISPLAY: block; FLOAT: =
left; BORDER-LEFT: #999999 1px solid; WIDTH: 100px; HEIGHT: 13px
}
FIELDSET OL.login LI LABEL.canal_do_associado {
	MARGIN-TOP: 11px; DISPLAY: block; BACKGROUND: =
url(/images/conteudo/backgrounds/canal_do_associado.gif) no-repeat left =
top; FLOAT: left; OVERFLOW: hidden; WIDTH: 104px; TEXT-INDENT: -9999px; =
HEIGHT: 7px
}
.ie6 FIELDSET OL.login LI LABEL.canal_do_associado {
	MARGIN-LEFT: 25px
}
FIELDSET OL.login LI INPUT.bt_login {
	MARGIN-LEFT: 5px; WIDTH: 14px; HEIGHT: 12px
}
.esqueci_senha {
	FONT-SIZE: 9px; RIGHT: -10px; FLOAT: right; COLOR: #898989; POSITION: =
relative; TOP: 5px
}
.esqueci_senha A {
	FONT-SIZE: 9px; COLOR: #898989
}
.miolo {
	MARGIN-TOP: 10px; FLOAT: left; WIDTH: 1004px
}
.miolo .destaques {
	FLOAT: left; WIDTH: 509px; MARGIN-RIGHT: 5px; HEIGHT: 180px
}
.miolo .destaques H2.titulo A {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 18px; MARGIN-BOTTOM: =
10px; OVERFLOW: visible; COLOR: #57a7f7; TEXT-INDENT: 0px
}
.miolo .destaques P A {
	FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #000
}
.miolo .destaques IMG {
	FLOAT: left; WIDTH: 215px; MARGIN-RIGHT: 10px; HEIGHT: 160px
}
.miolo .destaques UL {
	CLEAR: both; PADDING-RIGHT: 9px; BACKGROUND: =
url(/images/conteudo/backgrounds/destaque_fundo_new.jpg) no-repeat left =
bottom; WIDTH: 500px; HEIGHT: 20px
}
.miolo .destaques UL LI {
	FLOAT: right; MARGIN: 0px 2px; WIDTH: 13px; HEIGHT: 14px
}
.ie6 .miolo .destaques UL {
	MARGIN-TOP: -2px
}
.miolo .destaques UL LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #2e92f5
}
.miolo .destaques UL LI A.ativo {
	FONT-WEIGHT: bold; COLOR: #666! important
}
.miolo .lista_destaque {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; BACKGROUND: =
url(/images/conteudo/backgrounds/fundo_listagem_destaques.jpg) no-repeat =
right top; FLOAT: left; PADDING-BOTTOM: 15px; WIDTH: 460px; PADDING-TOP: =
15px; HEIGHT: 150px
}
.miolo .lista_destaque H2.titulo_destaque {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: 5px; OVERFLOW: =
visible; COLOR: #fff; TEXT-INDENT: 0px
}
.miolo .lista_destaque H2.titulo_destaque A {
	FONT-WEIGHT: bold; FONT-SIZE: 14px; MARGIN-BOTTOM: 5px; OVERFLOW: =
visible; COLOR: #fff; TEXT-INDENT: 0px
}
.miolo .lista_destaque UL.listagem LI {
	MARGIN-LEFT: 5px
}
.miolo .lista_destaque UL.listagem LI STRONG A {
	MARGIN-TOP: 10px; DISPLAY: block; PADDING-LEFT: 15px; FONT-WEIGHT: =
bold; BACKGROUND: url(/images/conteudo/backgrounds/seta_listagem.gif) =
no-repeat left 3px; COLOR: #fff
}
.ie6 .miolo .lista_destaque UL.listagem LI STRONG A {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: -12px
}
.miolo .lista_destaque UL.listagem LI A.chamada {
	DISPLAY: block; MARGIN-LEFT: 15px; COLOR: #fff
}
.miolo .na_midia {
	CLEAR: both; MARGIN-TOP: 10px; BACKGROUND: #f5f5f5; FLOAT: left; WIDTH: =
311px; POSITION: relative; HEIGHT: 228px
}
.miolo .na_midia UL.listagem {
	FLOAT: left; WIDTH: 260px
}
.miolo .na_midia UL.listagem LI STRONG A {
	MARGIN-TOP: 15px; DISPLAY: block; FONT-WEIGHT: bold; COLOR: #254394
}
.ie6 .miolo .na_midia UL.listagem LI STRONG A {
	MARGIN-BOTTOM: -12px
}
.miolo .na_midia UL.listagem LI A.chamada {
	COLOR: #3663b9
}
.miolo .na_midia .bt_mais_azul {
	MARGIN-TOP: 11px; BACKGROUND: =
url(/images/conteudo/botoes/bt_mais_azul.jpg) no-repeat left bottom; =
FLOAT: right; OVERFLOW: hidden; WIDTH: 41px; TEXT-INDENT: -9999px; =
MARGIN-RIGHT: 1px; HEIGHT: 24px
}
.ie7 .miolo .na_midia .bt_mais_azul {
	RIGHT: 1px; FLOAT: none; MARGIN: 0px; BOTTOM: 0px; POSITION: absolute
}
.gecko .miolo .na_midia .bt_mais_azul {
	RIGHT: 1px; FLOAT: none; MARGIN: 0px; BOTTOM: 0px; POSITION: absolute
}
.miolo .eventos {
	MARGIN-TOP: 10px; BACKGROUND: #f5f5f5; FLOAT: left; WIDTH: 255px; =
HEIGHT: 228px
}
.eventos_internas {
	MARGIN-TOP: 10px; BACKGROUND: #f5f5f5; FLOAT: right! important; WIDTH: =
230px! important; HEIGHT: 228px
}
.miolo .eventos .calendario {
	FLOAT: left; MARGIN: 10px 10px 10px 15px; WIDTH: 185px
}
.miolo .eventos .calendario {
	BACKGROUND: url(/images/conteudo/backgrounds/calendario_fundo.jpg) =
repeat-y left top; MARGIN-BOTTOM: 0px; HEIGHT: 218px
}
.miolo .eventos .calendario P {
	MARGIN-BOTTOM: 10px; COLOR: #747474; TEXT-ALIGN: center
}
.miolo .eventos .calendario TABLE {
	BORDER-TOP-STYLE: none! important; BORDER-RIGHT-STYLE: none! important; =
BORDER-LEFT-STYLE: none! important; BORDER-BOTTOM-STYLE: none! important
}
.miolo .eventos .calendario TABLE TH {
	BACKGROUND: #808080; WIDTH: 154px; COLOR: #e8e8e8; HEIGHT: 20px
}
.miolo .eventos .calendario TABLE TD {
	HEIGHT: 15px
}
.miolo .eventos .calendario SPAN.calendario_separador {
	DISPLAY: block; BACKGROUND: =
url(/images/conteudo/backgrounds/calendario_separador.gif) no-repeat =
left top; MARGIN: 11px 15px; WIDTH: 157px; HEIGHT: 3px
}
.gecko .miolo .eventos .calendario SPAN.calendario_separador {
	MARGIN: 5px 15px 10px
}
.ie6 .miolo .eventos .calendario SPAN.calendario_separador {
	MARGIN: 10px 15px 0px
}
.miolo .eventos .calendario UL {
	MARGIN-LEFT: 28px
}
.gecko .miolo .eventos .calendario UL {
	HEIGHT: 20px
}
.miolo .eventos .calendario UL LI {
	PADDING-LEFT: 5px; FLOAT: left; COLOR: #2c55b1
}
.calendario_ativo {
	BACKGROUND: #0a246a; COLOR: #e9e8e8
}
.miolo .proximos_eventos {
	MARGIN-TOP: 10px; BACKGROUND: #f5f5f5; FLOAT: left; WIDTH: 438px; =
POSITION: relative; HEIGHT: 228px
}
.ie6 .miolo .proximos_eventos {
	MARGIN-TOP: 10px; BACKGROUND: #f5f5f5; FLOAT: left; WIDTH: 430px; =
POSITION: relative; HEIGHT: 228px
}
.miolo .proximos_eventos UL.listagem {
	FLOAT: left
}
.miolo .proximos_eventos UL.listagem LI STRONG A {
	MARGIN-TOP: 15px; DISPLAY: block; FONT-WEIGHT: bold; COLOR: #565656
}
.miolo .proximos_eventos UL.listagem LI A.chamada {
	COLOR: #565656
}
.miolo .proximos_eventos .bt_mais_chumbo {
	RIGHT: 15px; BACKGROUND: =
url(/images/conteudo/botoes/bt_mais_chumbo.jpg) no-repeat left top; =
OVERFLOW: hidden; WIDTH: 41px; BOTTOM: 0px; TEXT-INDENT: -9999px; =
POSITION: absolute; HEIGHT: 24px
}
.miolo .canais {
	MARGIN-TOP: 10px; BACKGROUND: =
url(/images/conteudo/backgrounds/canais_fundo.jpg) repeat-x left 27px; =
FLOAT: left; WIDTH: 210px; MARGIN-RIGHT: 5px; HEIGHT: 130px
}
.miolo .canais INPUT {
	MARGIN: 10px 0px 0px 10px
}
.miolo .acontece {
	MARGIN-TOP: 10px; BACKGROUND: =
url(/images/conteudo/titulos/h2_acontece.jpg) #2e57b1 no-repeat left =
top; FLOAT: left; MARGIN-BOTTOM: 10px; WIDTH: 788px; PADDING-TOP: 10px; =
POSITION: relative; HEIGHT: 120px
}
.ie6 .miolo .acontece {
	MARGIN-BOTTOM: 6px
}
.miolo .acontece .bt_mais_acontece {
	RIGHT: 15px; BACKGROUND: =
url(/images/conteudo/botoes/bt_mais_acontece.jpg) no-repeat left top; =
OVERFLOW: hidden; WIDTH: 41px; BOTTOM: 0px; TEXT-INDENT: -9999px; =
POSITION: absolute; HEIGHT: 23px
}
.miolo .acontece UL {
	PADDING-LEFT: 35px; MIN-HEIGHT: 45px; BACKGROUND: =
url(/images/conteudo/backgrounds/livros.gif) no-repeat left 15px; =
MARGIN-LEFT: 20px; WIDTH: 580px
}
.gecko .miolo .acontece UL {
	BACKGROUND: url(/images/conteudo/backgrounds/livros.gif) no-repeat left =
0px
}
.ie6 .miolo .acontece UL.listagem LI STRONG A {
	MARGIN-TOP: 11px; MARGIN-BOTTOM: -12px
}
.ie6 .miolo .acontece UL {
	HEIGHT: 45px
}
.miolo .acontece UL.listagem LI IMG {
	FLOAT: left
}
.miolo .acontece UL.listagem LI STRONG A {
	MARGIN-TOP: 15px; DISPLAY: block; FONT-WEIGHT: bold; COLOR: #fff
}
.gecko .miolo .acontece UL.listagem LI STRONG A {
	MARGIN-TOP: 10px
}
.ie6 .miolo .acontece UL.listagem LI STRONG A {
	MARGIN-BOTTOM: -9px
}
.miolo .acontece SPAN.acontece_fundo {
	RIGHT: 30px; BACKGROUND: =
url(/images/conteudo/backgrounds/acontece_fundo.jpg) no-repeat right =
top; WIDTH: 131px; POSITION: absolute; TOP: 8px; HEIGHT: 122px
}
.miolo .acontece UL.listagem LI A.chamada {
	COLOR: #fff
}
.miolo .banners {
	FLOAT: left; WIDTH: 1004px; HEIGHT: 60px
}
.miolo .banners IMG {
	FLOAT: left
}
.miolo .banners IMG.banner1 {
	MARGIN-RIGHT: 2px
}
.miolo .indice {
	BORDER-TOP: #2a4dab 1px solid; MARGIN-TOP: 10px; BACKGROUND: =
url(/images/conteudo/backgrounds/fundo_indice.jpg) #2a4dab repeat-x left =
top; FLOAT: left; WIDTH: 1004px; BORDER-BOTTOM: #2a4dab 1px solid; =
HEIGHT: 24px
}
.ie6 .miolo .indice {
	BORDER-BOTTOM-STYLE: none
}
.miolo .indice A.indice_fechar {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FLOAT: left; PADDING-BOTTOM: =
8px; TEXT-TRANSFORM: uppercase; COLOR: #d7e4f4; PADDING-TOP: 8px
}
.miolo .indice_listagem {
	BACKGROUND: url(/images/conteudo/backgrounds/indice_bg.jpg) #376fc2 =
no-repeat right bottom; FLOAT: left; WIDTH: 1004px
}
.miolo .indice_listagem UL {
	FLOAT: left; PADDING-BOTTOM: 15px; MARGIN: 15px 0px 0px 15px; WIDTH: =
200px
}
.miolo .indice_listagem UL LI STRONG {
	DISPLAY: block; FONT-WEIGHT: bold; MARGIN-BOTTOM: 10px; COLOR: #fff
}
.miolo .indice_listagem UL LI A {
	COLOR: #fff
}
.rodape {
	PADDING-RIGHT: 10px; MARGIN-TOP: 10px; PADDING-LEFT: 10px; BACKGROUND: =
url(/images/usercontrols/rodape/rodape_fundo.jpg) repeat-x left top; =
FLOAT: left; PADDING-BOTTOM: 10px; WIDTH: 984px; PADDING-TOP: 10px; =
HEIGHT: 51px; TEXT-ALIGN: center
}
.rodape A {
	COLOR: #345cb3
}
SPAN.breadcrumbs {
	FONT: 10px Verdana, Arial, Helvetica, sans-serif; COLOR: #2a4dab
}
.conteudo_internas {
	PADDING-RIGHT: 10px; PADDING-LEFT: 15px; PADDING-BOTTOM: 10px; WIDTH: =
979px; PADDING-TOP: 0px
}
.conteudo_internas IMG.esquerda {
	FLOAT: left; MARGIN: 8px 8px 8px 0px
}
.conteudo_internas IMG.direita {
	FLOAT: right; MARGIN: 8px 0px 8px 8px
}
.conteudo_internas P {
	MARGIN-BOTTOM: 5px
}
.conteudo_internas DL {
	MARGIN: 15px
}
.conteudo_internas DT {
	FONT-WEIGHT: bold; MARGIN-BOTTOM: 5px
}
.conteudo_internas DD {
	MARGIN: 0px 0px 15px 15px
}
.conteudo_internas UL.listagem_noticias {
	MARGIN: 10px
}
.conteudo_internas UL.listagem_noticias LI {
	MARGIN-BOTTOM: 0px
}
.conteudo_internas UL.listagem_noticias A {
	MARGIN-TOP: 10px; DISPLAY: block; PADDING-LEFT: 10px; FONT-WEIGHT: =
bold; BACKGROUND: url(/images/conteudo/backgrounds/seta_lista.gif) =
no-repeat left 3px; COLOR: #000
}
.ie6 .conteudo_internas UL.listagem_noticias LI STRONG A {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: -12px
}
.conteudo_internas UL.listagem_noticias A.chamada_noticias {
	MARGIN-TOP: 0px; FONT-WEIGHT: normal; BACKGROUND: 0px 50%
}
.botao {
	MARGIN-TOP: 15px
}
FIELDSET.fale_conosco {
	BORDER-RIGHT: #ccc 1px solid; FLOAT: left; WIDTH: 500px
}
FIELDSET.fale_conosco OL LI INPUT {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; =
MARGIN-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 15px
}
FIELDSET.fale_conosco OL LI TEXTAREA {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; =
MARGIN-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 15px
}
FIELDSET.fale_conosco OL LI SELECT {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; =
MARGIN-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 15px
}
FIELDSET.fale_conosco OL LI LABEL {
	DISPLAY: block; FLOAT: left; WIDTH: 85px
}
.gecko FIELDSET.fale_conosco OL LI {
	MARGIN-BOTTOM: 5px! important
}
.endereco {
	PADDING-LEFT: 15px; FLOAT: left; WIDTH: 400px; HEIGHT: 205px
}
.endereco P STRONG {
	FONT-WEIGHT: bold
}
.bordo {
	COLOR: #c9251d
}
UL.diretoria {
	BORDER-RIGHT: #ccc 1px solid; FLOAT: left; WIDTH: 472px; HEIGHT: 355px
}
UL.diretoria_direita {
	PADDING-LEFT: 30px; FLOAT: left; WIDTH: 452px
}
UL.diretoria LI STRONG {
	MARGIN-TOP: 10px; DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 11px; =
MARGIN-BOTTOM: 2px; COLOR: #2a4dab
}
UL.diretoria_direita LI STRONG {
	MARGIN-TOP: 10px; DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 11px; =
MARGIN-BOTTOM: 2px; COLOR: #2a4dab
}
TABLE.tabela_presidentes {
	MARGIN-TOP: 15px; MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 15px
}
TABLE.tabela_presidentes THEAD {
	BACKGROUND: #376fc2; HEIGHT: 20px
}
TABLE.tabela_presidentes THEAD TR TD {
	BORDER-RIGHT: #fff 1px solid; FONT-WEIGHT: bold; COLOR: #fff; =
TEXT-ALIGN: center
}
TABLE.tabela_presidentes TBODY TR TD {
	BORDER-RIGHT: #fff 1px solid; BORDER-BOTTOM: #fff 5px solid; =
TEXT-ALIGN: center
}
TABLE.tabela_presidentes TBODY TR IMG {
	MARGIN: 10px
}
TABLE.tabela_presidentes TBODY TR TD.principais_feitos {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
TABLE.tabela_presidentes TBODY TR {
	BACKGROUND: #f5f5f5
}
TABLE.tabela_presidentes TBODY TR TD UL LI {
	TEXT-ALIGN: left
}
TABLE.tabela_presidentes TFOOT TR TD {
	BACKGROUND: #376fc2; HEIGHT: 10px
}
TABLE.tabela_pesquisas {
	MARGIN-TOP: 15px; MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 15px
}
TABLE.tabela_pesquisas THEAD {
	BACKGROUND: #376fc2; HEIGHT: 20px
}
TABLE.tabela_pesquisas THEAD TR TD {
	BORDER-RIGHT: #fff 1px solid; FONT-WEIGHT: bold; COLOR: #fff; =
TEXT-ALIGN: center
}
TABLE.tabela_pesquisas TBODY TR TD {
	BORDER-RIGHT: #fff 1px solid; BORDER-BOTTOM: #fff 5px solid; HEIGHT: =
25px; TEXT-ALIGN: center
}
TABLE.tabela_pesquisas TBODY TR IMG {
	MARGIN: 10px
}
TABLE.tabela_pesquisas TBODY TR TD.principais_feitos {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
TABLE.tabela_pesquisas TBODY TR {
	BACKGROUND: #f5f5f5
}
TABLE.tabela_pesquisas TBODY TR TD UL LI {
	TEXT-ALIGN: left
}
TABLE.tabela_pesquisas TFOOT TR TD {
	BACKGROUND: #376fc2; HEIGHT: 10px
}
TABLE.tabela_Associados {
	MARGIN-TOP: 15px; MARGIN-BOTTOM: 10px; MARGIN-RIGHT: 15px
}
TABLE.tabela_Associados THEAD {
	BACKGROUND: #376fc2; HEIGHT: 20px
}
TABLE.tabela_Associados THEAD TR TD {
	BORDER-RIGHT: #fff 1px solid; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
COLOR: #fff
}
TABLE.tabela_Associados TBODY TR TD {
	BORDER-RIGHT: #fff 1px solid; PADDING-LEFT: 10px; BORDER-BOTTOM: #fff =
5px solid; HEIGHT: 25px
}
TABLE.tabela_Associados TBODY TR TD.centralizado {
	TEXT-ALIGN: center
}
TABLE.tabela_Associados TBODY TR {
	BACKGROUND: #f5f5f5
}
TABLE.tabela_Associados TFOOT TR TD {
	BACKGROUND: #376fc2; HEIGHT: 5px
}
TABLE.tabela_empregos {
	MARGIN-TOP: 15px
}
TABLE.tabela_empregos THEAD {
	BACKGROUND: #376fc2; HEIGHT: 20px
}
TABLE.tabela_empregos THEAD TR TD {
	BORDER-RIGHT: #fff 2px solid; FONT-WEIGHT: bold; COLOR: #fff; =
TEXT-ALIGN: center! important
}
TABLE.tabela_empregos TBODY TR {
	BACKGROUND: #f5f5f5
}
TABLE.tabela_empregos TBODY TR TD {
	BORDER-RIGHT: #fff 2px solid; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #fff 2px solid; =
TEXT-ALIGN: left
}
TABLE.tabela_acontece TBODY TR TD {
	BORDER-RIGHT: #fff 2px solid; PADDING-RIGHT: 10px; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #fff 2px solid; =
TEXT-ALIGN: left
}
TABLE.tabela_acontece TBODY TR TD {
	HEIGHT: 30px; TEXT-ALIGN: center
}
TABLE.tabela_acontece TBODY TR TD.separa_palestra {
	BORDER-BOTTOM: #eaeaea 2px solid
}
TABLE.tabela_acontece TBODY TR TD.espaco_palestra {
	HEIGHT: 10px
}
TABLE.tabela_empregos TBODY TR TD A {
	COLOR: #2a4dab
}
TABLE.tabela_empregos TBODY TR TD.uf {
	TEXT-ALIGN: center
}
TABLE.tabela_empregos TFOOT TR TD {
	BACKGROUND: #376fc2; HEIGHT: 10px
}
UL.paginacao {
	PADDING-RIGHT: 14px; FLOAT: left
}
.gecko UL.paginacao {
	HEIGHT: 10px
}
UL.paginacao LI {
	PADDING-LEFT: 5px; FLOAT: left
}
UL.paginacao LI A {
	FONT-WEIGHT: bold; FONT-SIZE: 12px; BACKGROUND: none transparent scroll =
repeat 0% 0%; FLOAT: left; COLOR: #2a4dab! important
}
UL.a_z LI A {
	MARGIN-RIGHT: 5px
}
UL.paginacao LI A STRONG {
	FONT-SIZE: 12px; CURSOR: default
}
.paginacao_divisoria {
	MARGIN-TOP: 20px
}
.bt_paginacao {
	FLOAT: left; WIDTH: 14px; PADDING-TOP: 13px; HEIGHT: 9px
}
.paginacao_associados {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
20px; MARGIN: 0px 0px 10px; PADDING-TOP: 0px; BORDER-BOTTOM: #eaeaea 5px =
solid
}
.paginacao_associados .paginacao {
	PADDING-RIGHT: 0px; MARGIN-TOP: 9px
}
.paginacai_associados .paginacao_divisoria {
	DISPLAY: none
}
SPAN.titulo_lista {
	CLEAR: both; DISPLAY: block; FONT-WEIGHT: bold; BACKGROUND: #376fc2; =
WIDTH: 584px; COLOR: #fff
}
.div_associados {
	BORDER-RIGHT: #376fc2 2px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#376fc2 2px solid; DISPLAY: none; PADDING-LEFT: 10px; Z-INDEX: 9999; =
BACKGROUND: #fff; LEFT: 0px; PADDING-BOTTOM: 10px; BORDER-LEFT: #376fc2 =
2px solid; WIDTH: 930px; PADDING-TOP: 10px; BORDER-BOTTOM: #376fc2 2px =
solid; POSITION: absolute; TOP: 0px; HEIGHT: 236px
}
.div_empregos_interna {
	BORDER-RIGHT: #376fc2 2px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#376fc2 2px solid; DISPLAY: none; PADDING-LEFT: 10px; Z-INDEX: 9999; =
BACKGROUND: #fff; LEFT: 0px; PADDING-BOTTOM: 10px; BORDER-LEFT: #376fc2 =
2px solid; WIDTH: 930px; PADDING-TOP: 10px; BORDER-BOTTOM: #376fc2 2px =
solid; POSITION: absolute; TOP: 0px; HEIGHT: 236px
}
.div_novos_associados {
	BORDER-RIGHT: #376fc2 2px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#376fc2 2px solid; DISPLAY: none; PADDING-LEFT: 10px; Z-INDEX: 9999; =
BACKGROUND: #fff; LEFT: 0px; PADDING-BOTTOM: 10px; BORDER-LEFT: #376fc2 =
2px solid; WIDTH: 930px; PADDING-TOP: 10px; BORDER-BOTTOM: #376fc2 2px =
solid; POSITION: absolute; TOP: 0px; HEIGHT: 236px
}
.div_propostas {
	BORDER-RIGHT: #376fc2 2px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#376fc2 2px solid; DISPLAY: none; PADDING-LEFT: 10px; Z-INDEX: 9999; =
BACKGROUND: #fff; LEFT: 0px; PADDING-BOTTOM: 10px; BORDER-LEFT: #376fc2 =
2px solid; WIDTH: 930px; PADDING-TOP: 10px; BORDER-BOTTOM: #376fc2 2px =
solid; POSITION: absolute; TOP: 0px; HEIGHT: 236px
}
.div_empregos_interna {
	WIDTH: 950px; HEIGHT: auto
}
.div_associados H4 {
	MARGIN-TOP: 15px; FONT: bold 14px verdana; COLOR: #376fc2
}
.div_empregos_interna H4 {
	MARGIN-TOP: 15px; FONT: bold 14px verdana; COLOR: #376fc2
}
.div_empregos_interna H4 {
	MARGIN-TOP: 0px
}
.div_associados P STRONG {
	FONT-WEIGHT: bold
}
.div_empregos_interna P STRONG {
	FONT-WEIGHT: bold
}
A.associados_fechar {
	FLOAT: right; FONT: bold 11px verdana; COLOR: #d20000! important
}
UL.lista {
	MARGIN: 15px
}
UL.lista LI {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: =
url(/images/conteudo/backgrounds/seta_lista.gif) no-repeat left 6px; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}
UL.lista_downloads {
	MARGIN: 15px
}
UL.lista_downloads LI {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: =
url(/images/conteudo/backgrounds/seta_lista.gif) no-repeat left 10px; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px; HEIGHT: 25px
}
UL.lista_downloads LI SPAN {
	DISPLAY: block; FLOAT: left; OVERFLOW: hidden; WIDTH: 21px; =
TEXT-INDENT: -9999px; MARGIN-RIGHT: 5px; HEIGHT: 25px
}
UL.lista_downloads LI A {
	DISPLAY: block; PADDING-TOP: 5px
}
UL.lista_downloads LI SPAN.pdf {
	BACKGROUND: url(/images/usercontrols/etc/pdf.jpg) no-repeat left top
}
UL.lista_downloads LI SPAN.word {
	BACKGROUND: url(/images/usercontrols/etc/word.jpg) no-repeat left top
}
UL.lista_downloads LI SPAN.ie {
	BACKGROUND: url(/images/usercontrols/etc/ie.jpg) no-repeat left top
}
FIELDSET.ficha {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 10px; BACKGROUND: #f5f5f5; MARGIN-BOTTOM: 10px; =
PADDING-BOTTOM: 10px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 10px; =
BORDER-BOTTOM: #ccc 1px solid
}
FIELDSET.ficha OL LI {
	DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 5px; WIDTH: 440px; =
MARGIN-RIGHT: 20px
}
FIELDSET.ficha OL LI.divide {
	DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 5px; WIDTH: 440px; =
MARGIN-RIGHT: 20px
}
FIELDSET.ficha OL LI.inteira {
	DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 5px; WIDTH: 440px; =
MARGIN-RIGHT: 20px
}
FIELDSET.ficha OL LI.divide {
	MARGIN: 0px 0px 5px; WIDTH: 220px
}
FIELDSET.ficha OL LI.inteira {
	MARGIN: 0px 0px 5px; WIDTH: 935px
}
FIELDSET.ficha OL LI LABEL {
	FLOAT: none
}
FIELDSET.ficha OL LI INPUT {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
3px; FLOAT: none; MARGIN-BOTTOM: 5px; BORDER-LEFT: #ccc 1px solid; =
BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 15px
}
FIELDSET.ficha OL LI TEXTAREA {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
3px; FLOAT: none; MARGIN-BOTTOM: 5px; BORDER-LEFT: #ccc 1px solid; =
BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 15px
}
FIELDSET.ficha OL LI SELECT {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
3px; FLOAT: none; MARGIN-BOTTOM: 5px; BORDER-LEFT: #ccc 1px solid; =
BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 15px
}
FIELDSET.ficha OL LI SELECT {
	HEIGHT: 19px
}
.gecko FIELDSET.ficha OL LI {
	MARGIN-BOTTOM: 5px! important
}
FIELDSET.ficha A {
	COLOR: #376fc2
}
.mais_campos {
	CLEAR: both; DISPLAY: none
}
SPAN.text_left {
	PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 5px; FONT-SIZE: 9px; =
FLOAT: left; PADDING-BOTTOM: 0px; PADDING-TOP: 3px
}
.ficha_exemplo {
	FLOAT: left; MARGIN: 10px 0px 0px; WIDTH: 150px
}
UL.imprensa {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: #f5f5f5; =
PADDING-BOTTOM: 10px; PADDING-TOP: 5px; BORDER-BOTTOM: #fff 3px solid
}
UL.imprensa LI {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: =
url(/images/conteudo/backgrounds/seta_lista.gif) no-repeat left 6px; =
PADDING-BOTTOM: 3px; MARGIN-LEFT: 2px; PADDING-TOP: 3px
}
UL.imprensa LI.mes {
	DISPLAY: block; FONT-WEIGHT: bold; FONT-SIZE: 11px; BACKGROUND: none =
transparent scroll repeat 0% 0%; MARGIN: 0px 0px 2px -10px; COLOR: =
#2a4dab
}
H4.titulo_imprensa {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #eaeaea; =
MARGIN-BOTTOM: 0px; PADDING-BOTTOM: 5px; WIDTH: 969px; PADDING-TOP: 5px
}
SPAN.mapa_localizacao A {
	MARGIN-TOP: 20px; DISPLAY: block; BACKGROUND: =
url(/images/conteudo/misc/mapa_localizacao_mini.jpg) no-repeat left top; =
MARGIN-BOTTOM: 5px; MARGIN-LEFT: 15px; OVERFLOW: hidden; WIDTH: 146px; =
TEXT-INDENT: -9999px; HEIGHT: 54px
}
SPAN.mapa_localizacao_mini A {
	MARGIN-TOP: 20px; DISPLAY: block; BACKGROUND: =
url(/images/conteudo/misc/mapa_localizacao_filial_mini.jpg) no-repeat =
left top; MARGIN-BOTTOM: 5px; MARGIN-LEFT: 15px; OVERFLOW: hidden; =
WIDTH: 146px; TEXT-INDENT: -9999px; HEIGHT: 54px
}
.veja_mais {
	CLEAR: both; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 15px; BORDER-BOTTOM: =
#eaeaea 2px solid
}
.caixa_texo {
	CLEAR: both; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 15px; BORDER-BOTTOM: =
#eaeaea 2px solid
}
.distribuir {
	CLEAR: both; BACKGROUND: #f5f5f5; PADDING-BOTTOM: 15px; BORDER-BOTTOM: =
#eaeaea 2px solid
}
.veja_mais UL {
	PADDING-LEFT: 15px
}
.caixa_texo UL {
	PADDING-LEFT: 15px
}
.distribuir UL {
	PADDING-LEFT: 15px
}
.caixa_texo UL {
	MARGIN: 10px 0px 0px 20px
}
.veja_mais {
	FLOAT: left
}
.distribuir {
	FLOAT: left
}
.caixa_texo IMG {
	MARGIN: 10px
}
.caixa_texo P {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.caixa_texo P.titulo {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 10px; COLOR: #2a4dab; PADDING-TOP: 10px
}
.coluna_videos {
	BACKGROUND: url(/images/conteudo/backgrounds/videos/miolo.gif) repeat-y =
left top; FLOAT: right; PADDING-BOTTOM: 15px; MARGIN-LEFT: 10px; WIDTH: =
152px; BORDER-BOTTOM: #eaeaea 2px solid
}
.coluna_videos A {
	CURSOR: pointer
}
.coluna_videos SPAN.videos_topo {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FONT-SIZE: 12px; BACKGROUND: =
url(/images/conteudo/backgrounds/videos/topo.gif) no-repeat left top; =
PADDING-BOTTOM: 8px; WIDTH: 152px; COLOR: #2a4dab; PADDING-TOP: 8px; =
HEIGHT: 28px; TEXT-ALIGN: center
}
.coluna_videos .caixa_video SPAN {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 5px
}
.coluna_videos .caixa_video {
	PADDING-LEFT: 2px; MARGIN-BOTTOM: 20px; WIDTH: 152px; POSITION: =
relative
}
.coluna_videos .caixa_video .player {
	DISPLAY: block; BACKGROUND: =
url(/images/conteudo/backgrounds/videos/player.png) no-repeat left =
bottom; LEFT: 2px; MARGIN: 0px 5px; OVERFLOW: hidden; WIDTH: 140px; =
CURSOR: pointer; BOTTOM: 0px; TEXT-INDENT: -9999px; POSITION: absolute; =
HEIGHT: 26px
}
.coluna_videos .caixa_video IMG {
	BORDER-RIGHT: #cdcdcf 1px solid; BORDER-TOP: #cdcdcf 1px solid; MARGIN: =
0px 5px 10px; BORDER-LEFT: #cdcdcf 1px solid; WIDTH: 136px; =
BORDER-BOTTOM: #cdcdcf 1px solid
}
.caixa_fotos {
	CLEAR: both; BACKGROUND: #f5f5f5; MARGIN: 10px 0px; WIDTH: 979px; =
BORDER-BOTTOM: #eaeaea 2px solid
}
.veja_mais {
	CLEAR: both; BACKGROUND: #f5f5f5; MARGIN: 10px 0px; WIDTH: 979px; =
BORDER-BOTTOM: #eaeaea 2px solid
}
.caixa_emprego {
	CLEAR: both; BACKGROUND: #f5f5f5; MARGIN: 10px 0px; WIDTH: 979px; =
BORDER-BOTTOM: #eaeaea 2px solid
}
.caixa_texo {
	CLEAR: both; BACKGROUND: #f5f5f5; MARGIN: 10px 0px; WIDTH: 979px; =
BORDER-BOTTOM: #eaeaea 2px solid
}
.distribuir {
	CLEAR: both; BACKGROUND: #f5f5f5; MARGIN: 10px 0px; WIDTH: 979px; =
BORDER-BOTTOM: #eaeaea 2px solid
}
.veja_mais {
	WIDTH: 800px
}
.distribuir {
	CLEAR: none; FLOAT: right; MARGIN: 10px 0px 10px 10px; WIDTH: 169px
}
.caixa_emprego {
	CLEAR: none; FLOAT: left; MARGIN-LEFT: 115px; WIDTH: 300px; HEIGHT: =
350px; _margin: 0 65px
}
.gecko .caixa_emprego {
	HEIGHT: 380px
}
.caixa_emprego P {
	PADDING-RIGHT: 20px; PADDING-LEFT: 20px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px
}
.caixa_fotos_topo {
	BACKGROUND: url(/images/conteudo/backgrounds/fotos/direita.jpg) #e7e3e7 =
no-repeat right top; HEIGHT: 25px
}
.caixa_emprego_topo {
	BACKGROUND: url(/images/conteudo/backgrounds/fotos/direita.jpg) #e7e3e7 =
no-repeat right top; HEIGHT: 25px
}
.caixa_distribuir_topo {
	BACKGROUND: url(/images/conteudo/backgrounds/fotos/direita.jpg) #e7e3e7 =
no-repeat right top; HEIGHT: 25px
}
SPAN.fotos_titulo {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; FONT-WEIGHT: =
bold; FONT-SIZE: 12px; BACKGROUND: =
url(/images/conteudo/backgrounds/fotos/titulo.jpg) #e7e3e7 no-repeat =
left top; PADDING-BOTTOM: 0px; WIDTH: 500px; COLOR: #2a4dab; =
PADDING-TOP: 6px; HEIGHT: 15px
}
.caixa_emprego SPAN.emprego_titulo {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; FONT-WEIGHT: =
bold; FONT-SIZE: 12px; BACKGROUND: =
url(/images/conteudo/backgrounds/fotos/titulo.jpg) #e7e3e7 no-repeat =
left top; PADDING-BOTTOM: 0px; WIDTH: 500px; COLOR: #2a4dab; =
PADDING-TOP: 6px; HEIGHT: 15px
}
SPAN.distribuir_titulo {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; FONT-WEIGHT: =
bold; FONT-SIZE: 12px; BACKGROUND: =
url(/images/conteudo/backgrounds/fotos/titulo.jpg) #e7e3e7 no-repeat =
left top; PADDING-BOTTOM: 0px; WIDTH: 500px; COLOR: #2a4dab; =
PADDING-TOP: 6px; HEIGHT: 15px
}
SPAN.distribuir_titulo {
	WIDTH: 130px
}
.caixa_emprego SPAN.emprego_titulo {
	WIDTH: 259px; TEXT-ALIGN: center
}
.caixa_fotos UL {
	MARGIN: 15px 11px
}
.caixa_fotos UL LI {
	FLOAT: left; MARGIN: 0px 9px 15px
}
.gecko .caixa_fotos UL LI {
	FLOAT: left; MARGIN: 0px 8px 15px 9px
}
.ie6 .caixa_fotos UL LI {
	FLOAT: left; MARGIN: 0px 7px 15px 8px
}
.caixa_fotos UL LI A IMG {
	BORDER-RIGHT: #cdcdcf 1px solid; BORDER-TOP: #cdcdcf 1px solid; =
BORDER-LEFT: #cdcdcf 1px solid; WIDTH: 100px; BORDER-BOTTOM: #cdcdcf 1px =
solid; HEIGHT: 75px
}
FIELDSET.empregos_form OL LI INPUT {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; =
MARGIN-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 15px
}
FIELDSET.empregos_form OL LI TEXTAREA {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; =
MARGIN-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 15px
}
FIELDSET.empregos_form OL LI SELECT {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; =
MARGIN-BOTTOM: 2px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 15px
}
FIELDSET.empregos_form OL LI LABEL {
	CLEAR: both
}
.gecko FIELDSET.empregos_form OL LI {
	MARGIN-BOTTOM: 5px! important
}
FIELDSET.filtro {
	FLOAT: left; MARGIN-LEFT: 190px; WIDTH: 250px; HEIGHT: 20px
}
FIELDSET.filtro OL LI SELECT {
	MARGIN-TOP: 5px
}
.label_filtro {
	PADDING-RIGHT: 5px; DISPLAY: block; FLOAT: left; FONT: bold 11px =
verdana; WIDTH: 85px; COLOR: #2a4dab; PADDING-TOP: 6px
}
TD.titulo_palestra {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 10px; COLOR: #2a4dab; PADDING-TOP: 10px; =
TEXT-ALIGN: left! important
}
TD.titulo_palestra A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
11px; PADDING-BOTTOM: 10px; COLOR: #2a4dab; PADDING-TOP: 10px; =
TEXT-ALIGN: left! important
}
TD.separa_palestra {
	BORDER-BOTTOM: #eaeaea 2px solid
}
TD.espaco_palestra {
	BACKGROUND: #fff; HEIGHT: 5px
}
A.bt_enviar {
	DISPLAY: block; BACKGROUND: url(/images/conteudo/botoes/enviar.jpg) =
no-repeat left top; FLOAT: right; MARGIN: 10px 20px; OVERFLOW: hidden; =
WIDTH: 52px; TEXT-INDENT: -9999px; HEIGHT: 24px
}
A.bt_voltar {
	DISPLAY: block; BACKGROUND: url(/images/conteudo/botoes/enviar.jpg) =
no-repeat left top; FLOAT: right; MARGIN: 10px 20px; OVERFLOW: hidden; =
WIDTH: 52px; TEXT-INDENT: -9999px; HEIGHT: 24px
}
A.bt_inscrevase {
	DISPLAY: block; BACKGROUND: url(/images/conteudo/botoes/enviar.jpg) =
no-repeat left top; FLOAT: right; MARGIN: 10px 20px; OVERFLOW: hidden; =
WIDTH: 52px; TEXT-INDENT: -9999px; HEIGHT: 24px
}
A.bt_voltar {
	DISPLAY: block; BACKGROUND: url(/images/conteudo/botoes/voltar.jpg) =
no-repeat left top; MARGIN: 10px 476px; TEXT-ALIGN: center! important
}
A.bt_inscrevase {
	BACKGROUND: url(/images/conteudo/botoes/inscricao.jpg) no-repeat left =
top; FLOAT: none; MARGIN: 0px; WIDTH: 86px
}
.bt_forum_cbl {
	DISPLAY: block; BACKGROUND: =
url(/images/conteudo/botoes/bt_forum_cbl.jpg) no-repeat left top; FLOAT: =
left; MARGIN-LEFT: 13px; OVERFLOW: hidden; WIDTH: 67px; TEXT-INDENT: =
-9999px; HEIGHT: 78px
}
.float_left {
	FLOAT: left
}
.ff3 A.bt_inscrevase {
	MARGIN-LEFT: 30px
}
A.palestrantes {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 24; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px; POSITION: relative; TEXT-DECORATION: none
}
A.palestrantes:hover {
	Z-INDEX: 25; BACKGROUND: none transparent scroll repeat 0% 0%
}
A.palestrantes SPAN {
	DISPLAY: none
}
A.palestrantes:hover SPAN {
	BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #999 1px =
solid; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: #fff; LEFT: 85px; =
PADDING-BOTTOM: 10px; BORDER-LEFT: #999 1px solid; WIDTH: 230px; COLOR: =
#000; PADDING-TOP: 10px; BORDER-BOTTOM: #999 1px solid; POSITION: =
absolute; TOP: 10px; TEXT-ALIGN: left
}
.ff3 A.palestrantes:hover SPAN {
	TOP: -100px
}
.distribuir UL LI {
	MARGIN: 14px 0px 0px
}
.distribuir UL LI A {
	PADDING-LEFT: 20px; MARGIN-LEFT: 10px
}
.distribuir UL LI A.delicious {
	BACKGROUND: url(/images/usercontrols/logos/delicious.gif) no-repeat =
left center
}
.distribuir UL LI A.yahoo {
	BACKGROUND: url(/images/usercontrols/logos/yahoo.gif) no-repeat left =
center
}
.distribuir UL LI A.google {
	BACKGROUND: url(/images/usercontrols/logos/google.gif) no-repeat left =
center
}
.distribuir UL LI A.live {
	BACKGROUND: url(/images/usercontrols/logos/live.gif) no-repeat left =
center
}
.distribuir UL LI A.technorati {
	BACKGROUND: url(/images/usercontrols/logos/technorati.gif) no-repeat =
left center
}
A.creditos {
	FLOAT: right; MARGIN: 5px; COLOR: #2a4dab
}
UL.menu_pesquisas {
	PADDING-LEFT: 15px; MARGIN: 15px 0px; BORDER-BOTTOM: #999 1px solid; =
HEIGHT: 23px
}
UL.menu_pesquisas LI {
	FLOAT: left; LIST-STYLE-TYPE: none
}
UL.menu_pesquisas LI A {
	BORDER-RIGHT: #999 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #999 1px =
solid; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 5px; =
BORDER-LEFT: #999 1px solid; COLOR: #2a4dab; MARGIN-RIGHT: 10px; =
PADDING-TOP: 5px; BORDER-BOTTOM: #999 1px
}
UL.menu_pesquisas LI A.menu_on {
	CURSOR: default; BORDER-BOTTOM: #fff 1px solid
}
UL.menu_pesquisas LI A.menu_on:hover {
	COLOR: #2a4dab; TEXT-DECORATION: none
}
UL.menu_pesquisas LI A.menu_off {
	BACKGROUND: #f5f5f5; CURSOR: pointer; BORDER-BOTTOM: #999 1px solid
}
A.link_texto {
	COLOR: #2a4dab; TEXT-DECORATION: underline
}
A.link_texto:hover {
	COLOR: #000
}
A.imprimir {
	BACKGROUND: url(/images/conteudo/botoes/imprimir.jpg) no-repeat left =
top; FLOAT: right; OVERFLOW: hidden; WIDTH: 47px; TEXT-INDENT: -9999px; =
HEIGHT: 49px
}
A.emitir {
	BACKGROUND: url(/images/conteudo/botoes/emitir.jpg) no-repeat left top; =
FLOAT: right; OVERFLOW: hidden; WIDTH: 47px; TEXT-INDENT: -9999px; =
HEIGHT: 49px
}
A.size1 {
	FONT-SIZE: 10px
}
A.size2 {
	FONT-WEIGHT: bold; FONT-SIZE: 12px
}
A.size3 {
	FONT-WEIGHT: bold; FONT-SIZE: 14px
}
A.size4 {
	FONT-WEIGHT: bold; FONT-SIZE: 16px
}
.box_botoes {
	CLEAR: both; PADDING-TOP: 10px
}
.grid_titulo {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: =
10px; FONT-WEIGHT: bold; BACKGROUND: #f5f5f5; BORDER-LEFT: #ccc 1px =
solid; WIDTH: 180px; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 20px; =
TEXT-ALIGN: left
}
.grid_conteudo {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: =
10px; BACKGROUND: #fff; BORDER-LEFT: #ccc 1px solid; WIDTH: 180px; =
BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 20px; TEXT-ALIGN: left
}
TABLE.detalhe_lista TR TD SPAN {
	DISPLAY: block; FONT-WEIGHT: bold; WIDTH: 150px; MARGIN-RIGHT: 10px; =
TEXT-ALIGN: right
}
TABLE.detalhe_lista TR TD INPUT {
	BORDER-RIGHT: #eaeaea 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#eaeaea 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#eaeaea 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #eaeaea 1px solid
}
TABLE.detalhe_lista TR TD TEXTAREA {
	BORDER-RIGHT: #eaeaea 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#eaeaea 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#eaeaea 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #eaeaea 1px solid
}
TABLE.detalhe_lista TR TD SELECT {
	BORDER-RIGHT: #eaeaea 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: =
#eaeaea 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#eaeaea 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #eaeaea 1px solid
}
TABLE.detalhe_lista TR TD TEXTAREA {
	MARGIN: 2px 0px
}
.validacao {
	CLEAR: both; BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 20px; =
BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 20px; PADDING-LEFT: 20px; =
PADDING-BOTTOM: 20px; BORDER-LEFT: #ccc 1px solid; WIDTH: 930px; =
PADDING-TOP: 20px; BORDER-BOTTOM: #ccc 1px solid
}
A.bt_duvida {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; Z-INDEX: 24; =
BACKGROUND: url(/images/conteudo/botoes/duvida.gif) no-repeat left top; =
FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 5px; WIDTH: 15px; =
CURSOR: help; PADDING-TOP: 0px; POSITION: relative; HEIGHT: 15px; =
TEXT-DECORATION: none
}
A.bt_duvida:hover {
	Z-INDEX: 25; BACKGROUND: url(/images/conteudo/botoes/duvida.gif) =
no-repeat left top; WIDTH: 15px; HEIGHT: 15px; TEXT-DECORATION: none
}
A.bt_duvida SPAN {
	DISPLAY: none
}
A.bt_duvida:hover SPAN {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px =
solid; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: #fff; LEFT: 30px; =
PADDING-BOTTOM: 10px; FONT: 10px verdana, helvetica, sans-serif; =
BORDER-LEFT: #ccc 1px solid; WIDTH: 230px; COLOR: #000; PADDING-TOP: =
10px; BORDER-BOTTOM: #ccc 1px solid; POSITION: absolute; TOP: 0px
}
.bt_excluir_carta {
	DISPLAY: block; BACKGROUND: url(/images/conteudo/botoes/delete.gif) =
no-repeat left top; WIDTH: 24px; HEIGHT: 24px
}
.regulamento {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 5px; MARGIN: 15px 0px 10px; =
OVERFLOW: auto; BORDER-LEFT: #ccc 1px solid; WIDTH: 658px; PADDING-TOP: =
5px; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 150px
}
.bt_concordo {
	DISPLAY: block; BACKGROUND: =
url(/images/conteudo/botoes/bt_concordo.jpg) no-repeat left top; FLOAT: =
left; MARGIN-LEFT: 20px; WIDTH: 75px; HEIGHT: 24px
}
.bt_nao_concordo {
	DISPLAY: block; BACKGROUND: =
url(/images/conteudo/botoes/bt_nao_concordo.jpg) no-repeat left top; =
FLOAT: left; MARGIN-LEFT: 230px; WIDTH: 102px; HEIGHT: 24px
}
.div_localizacao {
	BORDER-RIGHT: #000 1px solid; FLOAT: left; MARGIN: 10px 30px; WIDTH: =
300px
}
A.titulo-duvidas {
	PADDING-LEFT: 10px; FONT-SIZE: 12px; BACKGROUND: =
url(/images/conteudo/backgrounds/seta_lista.gif) no-repeat left 3px; =
COLOR: #2a4dab; TEXT-DECORATION: underline
}

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/css/thickbox.css

* {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
#TB_window {
	PADDING-BOTTOM: 10px; FONT: 12px Arial, Helvetica, sans-serif; COLOR: =
#333
}
#TB_secondLine {
	CLEAR: both; FONT: bold 11px Arial, Helvetica, sans-serif; WIDTH: 100%; =
COLOR: #00387f; TEXT-ALIGN: center
}
#TB_secondLine SPAN {
	PADDING-BOTTOM: 3px
}
#TB_window A:link {
	COLOR: #666666
}
#TB_window A:visited {
	COLOR: #666666
}
#TB_window A:hover {
	COLOR: #000
}
#TB_window A:active {
	COLOR: #666666
}
#TB_window A:focus {
	COLOR: #666666
}
#TB_secondLine A {
	COLOR: #00387f! important
}
#TB_secondLine A:hover {
	COLOR: #00387f! important
}
#TB_overlay {
	Z-INDEX: 100; FILTER: alpha(opacity=3D60); LEFT: 0px; WIDTH: 100%; =
POSITION: fixed; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #000; =
-moz-opacity: 0.70; opacity: 0.70
}
* HTML #TB_overlay {
	POSITION: absolute; ; HEIGHT: expression(document.body.scrollHeight > =
document.body.offsetHeight ? document.body.scrollHeight : =
document.body.offsetHeight + 'px')
}
#TB_window {
	BORDER-RIGHT: #00387f 3px solid; BORDER-TOP: #00387f 3px solid; =
DISPLAY: none; Z-INDEX: 102; BACKGROUND: #ffffff; LEFT: 50%; =
BORDER-LEFT: #00387f 3px solid; COLOR: #000000; BORDER-BOTTOM: #00387f =
3px solid; POSITION: fixed; TOP: 50%; TEXT-ALIGN: left
}
* HTML #TB_window {
	; MARGIN-TOP: expression(0 - parseInt(this.offsetHeight / 2) + =
(TBWindowMargin =3D document.documentElement && =
document.documentElement.scrollTop || document.body.scrollTop) + 'px'); =
POSITION: absolute
}
#TB_window IMG#TB_Image {
	DISPLAY: block; MARGIN: 5px auto; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none
}
#TB_caption {
	PADDING-RIGHT: 0px; PADDING-LEFT: 15px; FLOAT: left; PADDING-BOTTOM: =
3px; WIDTH: 100%; PADDING-TOP: 7px
}
#TB_caption H5 {
	DISPLAY: block; FONT-SIZE: 12px; FLOAT: left; WIDTH: 80%
}
#TB_closeWindow {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
10px; COLOR: #00387f; PADDING-TOP: 0px; HEIGHT: 15px
}
#TB_closeWindow A {
	BORDER-RIGHT: #ccc 1px outset; PADDING-RIGHT: 3px; BORDER-TOP: #ccc 1px =
outset; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
BORDER-LEFT: #ccc 1px outset; WIDTH: 60px; PADDING-TOP: 3px; =
BORDER-BOTTOM: #ccc 1px outset; BACKGROUND-COLOR: #e2e2e2
}
#TB_closeAjaxWindow {
	PADDING-RIGHT: 10px; PADDING-LEFT: 0px; FLOAT: right; MARGIN-BOTTOM: =
1px; PADDING-BOTTOM: 5px; COLOR: #00387f; PADDING-TOP: 7px; TEXT-ALIGN: =
right
}
#TB_closeAjaxWindow A {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 2px; COLOR: #00387f! important; PADDING-TOP: 2px
}
#TB_closeWindow A {
	PADDING-RIGHT: 2px; PADDING-LEFT: 2px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 2px; COLOR: #00387f! important; PADDING-TOP: 2px
}
#TB_ajaxWindowTitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FLOAT: left; MARGIN-BOTTOM: =
1px; PADDING-BOTTOM: 5px; PADDING-TOP: 7px
}
#TB_title {
	HEIGHT: 27px; BACKGROUND-COLOR: #e8e8e8
}
#TB_ajaxContent {
	CLEAR: both; PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: =
15px; OVERFLOW: auto; LINE-HEIGHT: 1.4em; PADDING-TOP: 2px; TEXT-ALIGN: =
left
}
.TB_modal#TB_ajaxContent {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; =
PADDING-TOP: 15px
}
#TB_ajaxContent P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#TB_load {
	DISPLAY: none; Z-INDEX: 103; LEFT: 50%; MARGIN: -6px 0px 0px -104px; =
WIDTH: 208px; POSITION: fixed; TOP: 50%; HEIGHT: 13px
}
* HTML #TB_load {
	; MARGIN-TOP: expression(0 - parseInt(this.offsetHeight / 2) + =
(TBWindowMargin =3D document.documentElement && =
document.documentElement.scrollTop || document.body.scrollTop) + 'px'); =
POSITION: absolute
}
#TB_HideSelect {
	Z-INDEX: 99; FILTER: alpha(opacity=3D0); LEFT: 0px; WIDTH: 100%; =
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; POSITION: fixed; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #fff; =
BORDER-BOTTOM-STYLE: none; -moz-opacity: 0; opacity: 0
}
* HTML #TB_HideSelect {
	POSITION: absolute; ; HEIGHT: expression(document.body.scrollHeight > =
document.body.offsetHeight ? document.body.scrollHeight : =
document.body.offsetHeight + 'px')
}
#TB_iframeContent {
	CLEAR: both; MARGIN-TOP: 1px; MARGIN-BOTTOM: -1px; BORDER-TOP-STYLE: =
none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; =
BORDER-BOTTOM-STYLE: none; _margin-bottom: 1px
}

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/scripts/scripts.js

=EF=BB=BFvar isNN =3D (navigator.appName.indexOf("Netscape")!=3D-1);

//alert(navigator.appName.indexOf("Netscape"));
var filter =3D (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
var strPonto =3D ".";
var strBarra =3D "/";
var strTraco =3D "-";

function showmenu(elmnt)
{
    document.getElementById(elmnt).style.display =3D "block";
}
       =20
function hidemenu(elmnt)
{
    document.getElementById(elmnt).style.display =3D "none";     =09
}
       =20
function abre_menu(elmnt)
{
    document.getElementById(elmnt).style.display =3D "block";
    document.getElementById('lnk_'+elmnt).className =3D "menu_on"; 	=09
}
       =20
function esconde_menu(elmnt)
{
    document.getElementById(elmnt).style.display =3D "none";
    document.getElementById('lnk_'+elmnt).className =3D "menu_off";=09
}     =20
       =20
function habilita_campos()
{
    document.getElementById('autores').style.display =3D "block";
    document.getElementById('nascimento').style.display =3D "block";
    document.getElementById('nacionalidade').style.display =3D "block";  =
 =20
}         =20
       =20
/*
CSS Browser Selector v0.2.7
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
var css_browser_selector =3D function() {var =
ua=3Dnavigator.userAgent.toLowerCase(),is=3Dfunction(t){return =
ua.indexOf(t) !=3D =
-1;},h=3Ddocument.getElementsByTagName('html')[0],b=3D(!(/opera|webtv/i.t=
est(ua))&&/msie (\d)/.test(ua))?('ie =
ie'+RegExp.$1):is('firefox/2')?'gecko ff2':is('firefox/3')?'gecko =
ff3':is('gecko/')?'gecko':is('opera/9')?'opera opera9':/opera =
(\d)/.test(ua)?'opera =
opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit =
safari':is('mozilla/')?'gecko':'',os=3D(is('x11')||is('linux'))?' =
linux':is('mac')?' mac':is('win')?' win':'';var c=3Db+os+' js'; =
h.className +=3D h.className?' '+c:c;}();       =20


var objAssociado =3D null;
function showAssociado(elmnt)
{
    hideAssociado();
   =20
    objAssociado =3D document.getElementById(elmnt);
    //objAssociado.style.top =3D document.scrollY;
    //objAssociado.style.left =3D document.scrollX;
    objAssociado.style.display=3D"block";
}
       =20
function hideAssociado()
{
    if(objAssociado !=3D null)
    {
        objAssociado.style.display=3D"none";
    }     =09
}

// Formatando o RG       =20
function Formato_RG(input, e){
	var keyCode =3D (isNN) ? e.which : e.keyCode;

	 if (keyCode !=3D 8){
		if(input.value.length =3D=3D 2){
			input.value =3D input.value+'.';
		}
		if(input.value.length =3D=3D 6){
			input.value =3D input.value+'.';
		}
		else if(input.value.length =3D=3D 10){
			input.value =3D input.value+'-';
		}
	}
}

// Formatando o CPF       =20
function Formato_CPF(input, e){
	var keyCode =3D (isNN) ? e.which : e.keyCode;

	 if (keyCode !=3D 8){
		if(input.value.length =3D=3D 3){
			input.value =3D input.value+'.';
		}
		if(input.value.length =3D=3D 7){
			input.value =3D input.value+'.';
		}
		else if(input.value.length =3D=3D 11){
			input.value =3D input.value+'-';
		}
	}
}

// Formatando o CNPJ
function Formato_CNPJ(input, e)
{
    var keyCode;
   =20
	if (window.event)
		keyCode =3D window.event.keyCode;
	else if (e)
		keyCode =3D e.which;
=09
    if (keyCode !=3D 8)
	{=20
		if(input.value.length =3D=3D 3 || input.value.length =3D=3D 7)
			input.value =3D input.value+'.';
=09
	    if (input.value.length =3D=3D 11)
	        input.value =3D input.value+'/';
	       =20
	    if (input.value.length =3D=3D 16)
	        input.value =3D input.value+'-';
	}
}
       =20
// Formatando o CEP
function Formato_CEP(input, e)
{
    var keyCode;
   =20
	if (window.event)
		keyCode =3D window.event.keyCode;
	else if (e)
		keyCode =3D e.which;
=09
    if (keyCode !=3D 8)
	{=20
		if(input.value.length =3D=3D 5)
			input.value =3D input.value+'-';
	}
}

// Formatando o Fone
function Formato_Fone(input, e)
{
    var keyCode;
   =20
	if (window.event)
		keyCode =3D window.event.keyCode;
	else if (e)
		keyCode =3D e.which;
=09
    if (keyCode !=3D 8)
	{=20
		if(input.value.length =3D=3D 4)
			input.value =3D input.value+'-';
	}
}

// Formatando o Data
function Formato_Data(input, e)
{
    var keyCode;
   =20
	if (window.event)
		keyCode =3D window.event.keyCode;
	else if (e)
		keyCode =3D e.which;
=09
    if (keyCode !=3D 8)
	{=20
		if(input.value.length =3D=3D 2 || input.value.length =3D=3D 5)
			input.value =3D input.value+'/';
	}
}

// Formatando o Hora
function Formato_Hora(input, e)
{
    var keyCode;
   =20
	if (window.event)
		keyCode =3D window.event.keyCode;
	else if (e)
		keyCode =3D e.which;
=09
    if (keyCode !=3D 8)
	{=20
		if(input.value.length =3D=3D 2)
			input.value =3D input.value+':';
	}
}

// Somente numeros
function onlynumber(myfield, e,tolerado)
{
	if (myfield.length =3D=3D0)
		myfield.value=3D0; =20
=09
	var key;
	var keychar;
=09
	if (window.event)
		key =3D window.event.keyCode;
	else if (e)
		key =3D e.which;
	else
		return true;
=09
	keychar =3D String.fromCharCode(key);
=09
	if ((key=3D=3Dnull) || (key=3D=3D0) || (key=3D=3D8) || (key=3D=3D9)|| =
(key=3D=3D13)|| (key=3D=3D27) )
		return true;
	else if ((("0123456789"+tolerado).indexOf(keychar) > -1)){
		if (((myfield.value).indexOf(tolerado) > -1)&&(keychar=3D=3Dtolerado))
			return false;
		else if ((myfield.value.length=3D=3D0)&&(keychar=3D=3Dtolerado))
		{
			myfield.value =3D "0";
			return true;=09
		}
		else
			return true;
	}
	else
		return false;=09
}       =20


function EnviarBuzz(BuzzCloud_Id){
    // paramentros para o m=C3=A9todo //
    var pArea =3D "Atualiza_Qtde_Buzzcloud";
    var pUrl =3D =
"/ajax/conteudo.aspx?Area=3D"+pArea+"&pBuzzCloud_Id=3D"+BuzzCloud_Id;
    var pDivResultado =3D document.getElementById("DivResultado");
  =20
    // m=C3=A9todo para recuperar o retorno ;
    ajax_conteudo(getRequestXml(),pUrl,pDivResultado);
   =20
}

function getRequestXml()
{
    if (window.XMLHttpRequest){
        http_request =3D new XMLHttpRequest();
       =20
        if (http_request.overrideMimeType)=20
            http_request.overrideMimeType('text/xml');
       =20
    }else if (window.ActiveXObject){
        try{
            http_request =3D new ActiveXObject("Msxml2.XMLHTTP");
        }catch (e){
            // Faz nada
        }
       =20
        if(!http_request){
            try{
                http_request=3D new ActiveXObject("Microsoft.XMLHTTP");
            }catch (e){// Faz nada=20
            }
        }
    }
  =20
    if (!http_request)
        alert('Sem suporte h=C3=A1 esta funcionalidade');
    else
        return http_request;
     =20
}

// Conteudo //
function ajax_conteudo(xmlHttp,url,div_resultado)
{      =20
    xmlHttp.onreadystatechange =3D function() =
{ajax_conteudo_ready(xmlHttp,div_resultado);}
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function ajax_conteudo_ready(xmlHttp,div_resultado){
    if (xmlHttp.readyState =3D=3D 4){=20
        if (xmlHttp.status =3D=3D 200){
            retorno =3D xmlHttp.responseText;
           =20
            if(retorno !=3D ""){
                div_resultado.innerHTML =3D "";
                div_resultado.innerHTML =3D retorno;
            }else{=20
                div_resultado.style.display =3D "none";
                div_resultado.innerHTML =3D "";
            }
        }
    }
}

function Formatar_Numero(Valor)
{
	Valor =3D Valor.toString();=09

	if(Valor.indexOf(",",0) >=3D 0 && Valor.indexOf(".",0) >=3D 0)
		Valor =3D Valor.replace(".","").replace(",",".");
	else if(Valor.indexOf(",",0) >=3D 0)
		Valor =3D Valor.replace(",",".");

	var Numero =3D parseFloat(Valor);

=09
=09
	if(Numero)
	{
		var Formatado =3D Math.round(Numero * 100).toString();
		var Qtd =3D Formatado.length - 2;
	=09
		if(Qtd =3D=3D -1)
			Formatado =3D "0,0" + Formatado
		else
			Formatado =3D Formatado.substring(0,Qtd) + "," + =
Formatado.substring(Qtd,Formatado.length)
	=09
		if(Qtd > 3)
		{
			Final =3D Formatado.substring(Qtd,Qtd + 3)
		=09
			for(var i=3D3; i < Qtd ; i=3Di+3)
				Final =3D "." + Formatado.substring(Qtd - i,(Qtd - i) + 3) + Final
		=09
			Final =3D Formatado.substring(0,Qtd - (i-3)) + Final;
		}
		else if(Qtd =3D=3D 0)
			Final =3D "0" + Formatado;
		else
			Final =3D Formatado;

		return Final;
	}
	else
		return "0,00"
}

function AbrirVideo(video)
{
    var player;
   =20
    if (player !=3D null)
    {
        player.close();
    }
=09
	player =3D =
window.open("/upload/conteudo/videos/Player.aspx?Video_Id=3D"+video,"","s=
crollbars=3Dno,location=3Dno,directories=3Dno,status=3Dno,menubar=3Dno,re=
sizable=3Dno,toolbar=3Dno,top=3D"+(screen.height-280)/2+",left=3D"+(scree=
n.width-320)/2+",width=3D320,height=3D280");
}

function Upper(Campo)
{
	if(Campo.value.length !=3D -1)
	{
		if (window.event)
		{
			var key =3D window.event.keyCode;
		=09
			if((key > 96 && key < 123) || (key > 223 && key < 254))
			{
				key =3D key - 32;
				window.event.keyCode =3D key;
			}=09
		}
	}
}

function containsElement(arr, ele) {
var found =3D false, index =3D 0;
while(!found && index < arr.length)
if(arr[index] =3D=3D ele)
found =3D true;
else
index++;
return found;
}
function getIndex(input) {
var index =3D -1, i =3D 0, found =3D false;
while (i < input.form.length && index =3D=3D -1)
if (input.form[i] =3D=3D input)index =3D i;
else i++;
return index;
}

function autoTab(input,len,e) {

var keyCode =3D (isNN) ? e.which : e.keyCode;
var filter =3D (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >=3D len && !containsElement(filter,keyCode)) {
input.value =3D input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
}
------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/scripts/jquery.js

(function(){=0A=
/*=0A=
 * jQuery 1.2.6 - New Wave Javascript=0A=
 *=0A=
 * Copyright (c) 2008 John Resig (jquery.com)=0A=
 * Dual licensed under the MIT (MIT-LICENSE.txt)=0A=
 * and GPL (GPL-LICENSE.txt) licenses.=0A=
 *=0A=
 * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $=0A=
 * $Rev: 5685 $=0A=
 */=0A=
=0A=
// Map over jQuery in case of overwrite=0A=
var _jQuery =3D window.jQuery,=0A=
// Map over the $ in case of overwrite=0A=
	_$ =3D window.$;=0A=
=0A=
var jQuery =3D window.jQuery =3D window.$ =3D function( selector, =
context ) {=0A=
	// The jQuery object is actually just the init constructor 'enhanced'=0A=
	return new jQuery.fn.init( selector, context );=0A=
};=0A=
=0A=
// A simple way to check for HTML strings or ID strings=0A=
// (both of which we optimize for)=0A=
var quickExpr =3D /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,=0A=
=0A=
// Is it a simple selector=0A=
	isSimple =3D /^.[^:#\[\.]*$/,=0A=
=0A=
// Will speed up references to undefined, and allows munging its name.=0A=
	undefined;=0A=
=0A=
jQuery.fn =3D jQuery.prototype =3D {=0A=
	init: function( selector, context ) {=0A=
		// Make sure that a selection was provided=0A=
		selector =3D selector || document;=0A=
=0A=
		// Handle $(DOMElement)=0A=
		if ( selector.nodeType ) {=0A=
			this[0] =3D selector;=0A=
			this.length =3D 1;=0A=
			return this;=0A=
		}=0A=
		// Handle HTML strings=0A=
		if ( typeof selector =3D=3D "string" ) {=0A=
			// Are we dealing with HTML string or an ID?=0A=
			var match =3D quickExpr.exec( selector );=0A=
=0A=
			// Verify a match, and that no context was specified for #id=0A=
			if ( match && (match[1] || !context) ) {=0A=
=0A=
				// HANDLE: $(html) -> $(array)=0A=
				if ( match[1] )=0A=
					selector =3D jQuery.clean( [ match[1] ], context );=0A=
=0A=
				// HANDLE: $("#id")=0A=
				else {=0A=
					var elem =3D document.getElementById( match[3] );=0A=
=0A=
					// Make sure an element was located=0A=
					if ( elem ){=0A=
						// Handle the case where IE and Opera return items=0A=
						// by name instead of ID=0A=
						if ( elem.id !=3D match[3] )=0A=
							return jQuery().find( selector );=0A=
=0A=
						// Otherwise, we inject the element directly into the jQuery object=0A=
						return jQuery( elem );=0A=
					}=0A=
					selector =3D [];=0A=
				}=0A=
=0A=
			// HANDLE: $(expr, [context])=0A=
			// (which is just equivalent to: $(content).find(expr)=0A=
			} else=0A=
				return jQuery( context ).find( selector );=0A=
=0A=
		// HANDLE: $(function)=0A=
		// Shortcut for document ready=0A=
		} else if ( jQuery.isFunction( selector ) )=0A=
			return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( =
selector );=0A=
=0A=
		return this.setArray(jQuery.makeArray(selector));=0A=
	},=0A=
=0A=
	// The current version of jQuery being used=0A=
	jquery: "1.2.6",=0A=
=0A=
	// The number of elements contained in the matched element set=0A=
	size: function() {=0A=
		return this.length;=0A=
	},=0A=
=0A=
	// The number of elements contained in the matched element set=0A=
	length: 0,=0A=
=0A=
	// Get the Nth element in the matched element set OR=0A=
	// Get the whole matched element set as a clean array=0A=
	get: function( num ) {=0A=
		return num =3D=3D undefined ?=0A=
=0A=
			// Return a 'clean' array=0A=
			jQuery.makeArray( this ) :=0A=
=0A=
			// Return just the object=0A=
			this[ num ];=0A=
	},=0A=
=0A=
	// Take an array of elements and push it onto the stack=0A=
	// (returning the new matched element set)=0A=
	pushStack: function( elems ) {=0A=
		// Build a new jQuery matched element set=0A=
		var ret =3D jQuery( elems );=0A=
=0A=
		// Add the old object onto the stack (as a reference)=0A=
		ret.prevObject =3D this;=0A=
=0A=
		// Return the newly-formed element set=0A=
		return ret;=0A=
	},=0A=
=0A=
	// Force the current matched set of elements to become=0A=
	// the specified array of elements (destroying the stack in the process)=0A=
	// You should use pushStack() in order to do this, but maintain the =
stack=0A=
	setArray: function( elems ) {=0A=
		// Resetting the length to 0, then using the native Array push=0A=
		// is a super-fast way to populate an object with array-like properties=0A=
		this.length =3D 0;=0A=
		Array.prototype.push.apply( this, elems );=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	// Execute a callback for every element in the matched set.=0A=
	// (You can seed the arguments with an array of args, but this is=0A=
	// only used internally.)=0A=
	each: function( callback, args ) {=0A=
		return jQuery.each( this, callback, args );=0A=
	},=0A=
=0A=
	// Determine the position of an element within=0A=
	// the matched set of elements=0A=
	index: function( elem ) {=0A=
		var ret =3D -1;=0A=
=0A=
		// Locate the position of the desired element=0A=
		return jQuery.inArray(=0A=
			// If it receives a jQuery object, the first element is used=0A=
			elem && elem.jquery ? elem[0] : elem=0A=
		, this );=0A=
	},=0A=
=0A=
	attr: function( name, value, type ) {=0A=
		var options =3D name;=0A=
=0A=
		// Look for the case where we're accessing a style value=0A=
		if ( name.constructor =3D=3D String )=0A=
			if ( value =3D=3D=3D undefined )=0A=
				return this[0] && jQuery[ type || "attr" ]( this[0], name );=0A=
=0A=
			else {=0A=
				options =3D {};=0A=
				options[ name ] =3D value;=0A=
			}=0A=
=0A=
		// Check to see if we're setting style values=0A=
		return this.each(function(i){=0A=
			// Set all the styles=0A=
			for ( name in options )=0A=
				jQuery.attr(=0A=
					type ?=0A=
						this.style :=0A=
						this,=0A=
					name, jQuery.prop( this, options[ name ], type, i, name )=0A=
				);=0A=
		});=0A=
	},=0A=
=0A=
	css: function( key, value ) {=0A=
		// ignore negative width and height values=0A=
		if ( (key =3D=3D 'width' || key =3D=3D 'height') && parseFloat(value) =
< 0 )=0A=
			value =3D undefined;=0A=
		return this.attr( key, value, "curCSS" );=0A=
	},=0A=
=0A=
	text: function( text ) {=0A=
		if ( typeof text !=3D "object" && text !=3D null )=0A=
			return this.empty().append( (this[0] && this[0].ownerDocument || =
document).createTextNode( text ) );=0A=
=0A=
		var ret =3D "";=0A=
=0A=
		jQuery.each( text || this, function(){=0A=
			jQuery.each( this.childNodes, function(){=0A=
				if ( this.nodeType !=3D 8 )=0A=
					ret +=3D this.nodeType !=3D 1 ?=0A=
						this.nodeValue :=0A=
						jQuery.fn.text( [ this ] );=0A=
			});=0A=
		});=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	wrapAll: function( html ) {=0A=
		if ( this[0] )=0A=
			// The elements to wrap the target around=0A=
			jQuery( html, this[0].ownerDocument )=0A=
				.clone()=0A=
				.insertBefore( this[0] )=0A=
				.map(function(){=0A=
					var elem =3D this;=0A=
=0A=
					while ( elem.firstChild )=0A=
						elem =3D elem.firstChild;=0A=
=0A=
					return elem;=0A=
				})=0A=
				.append(this);=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	wrapInner: function( html ) {=0A=
		return this.each(function(){=0A=
			jQuery( this ).contents().wrapAll( html );=0A=
		});=0A=
	},=0A=
=0A=
	wrap: function( html ) {=0A=
		return this.each(function(){=0A=
			jQuery( this ).wrapAll( html );=0A=
		});=0A=
	},=0A=
=0A=
	append: function() {=0A=
		return this.domManip(arguments, true, false, function(elem){=0A=
			if (this.nodeType =3D=3D 1)=0A=
				this.appendChild( elem );=0A=
		});=0A=
	},=0A=
=0A=
	prepend: function() {=0A=
		return this.domManip(arguments, true, true, function(elem){=0A=
			if (this.nodeType =3D=3D 1)=0A=
				this.insertBefore( elem, this.firstChild );=0A=
		});=0A=
	},=0A=
=0A=
	before: function() {=0A=
		return this.domManip(arguments, false, false, function(elem){=0A=
			this.parentNode.insertBefore( elem, this );=0A=
		});=0A=
	},=0A=
=0A=
	after: function() {=0A=
		return this.domManip(arguments, false, true, function(elem){=0A=
			this.parentNode.insertBefore( elem, this.nextSibling );=0A=
		});=0A=
	},=0A=
=0A=
	end: function() {=0A=
		return this.prevObject || jQuery( [] );=0A=
	},=0A=
=0A=
	find: function( selector ) {=0A=
		var elems =3D jQuery.map(this, function(elem){=0A=
			return jQuery.find( selector, elem );=0A=
		});=0A=
=0A=
		return this.pushStack( /[^+>] [^+>]/.test( selector ) || =
selector.indexOf("..") > -1 ?=0A=
			jQuery.unique( elems ) :=0A=
			elems );=0A=
	},=0A=
=0A=
	clone: function( events ) {=0A=
		// Do the clone=0A=
		var ret =3D this.map(function(){=0A=
			if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) {=0A=
				// IE copies events bound via attachEvent when=0A=
				// using cloneNode. Calling detachEvent on the=0A=
				// clone will also remove the events from the orignal=0A=
				// In order to get around this, we use innerHTML.=0A=
				// Unfortunately, this means some modifications to=0A=
				// attributes in IE that are actually only stored=0A=
				// as properties will not be copied (such as the=0A=
				// the name attribute on an input).=0A=
				var clone =3D this.cloneNode(true),=0A=
					container =3D document.createElement("div");=0A=
				container.appendChild(clone);=0A=
				return jQuery.clean([container.innerHTML])[0];=0A=
			} else=0A=
				return this.cloneNode(true);=0A=
		});=0A=
=0A=
		// Need to set the expando to null on the cloned set if it exists=0A=
		// removeData doesn't work here, IE removes it from the original as =
well=0A=
		// this is primarily for IE but the data expando shouldn't be copied =
over in any browser=0A=
		var clone =3D ret.find("*").andSelf().each(function(){=0A=
			if ( this[ expando ] !=3D undefined )=0A=
				this[ expando ] =3D null;=0A=
		});=0A=
=0A=
		// Copy the events from the original to the clone=0A=
		if ( events =3D=3D=3D true )=0A=
			this.find("*").andSelf().each(function(i){=0A=
				if (this.nodeType =3D=3D 3)=0A=
					return;=0A=
				var events =3D jQuery.data( this, "events" );=0A=
=0A=
				for ( var type in events )=0A=
					for ( var handler in events[ type ] )=0A=
						jQuery.event.add( clone[ i ], type, events[ type ][ handler ], =
events[ type ][ handler ].data );=0A=
			});=0A=
=0A=
		// Return the cloned set=0A=
		return ret;=0A=
	},=0A=
=0A=
	filter: function( selector ) {=0A=
		return this.pushStack(=0A=
			jQuery.isFunction( selector ) &&=0A=
			jQuery.grep(this, function(elem, i){=0A=
				return selector.call( elem, i );=0A=
			}) ||=0A=
=0A=
			jQuery.multiFilter( selector, this ) );=0A=
	},=0A=
=0A=
	not: function( selector ) {=0A=
		if ( selector.constructor =3D=3D String )=0A=
			// test special case where just one selector is passed in=0A=
			if ( isSimple.test( selector ) )=0A=
				return this.pushStack( jQuery.multiFilter( selector, this, true ) );=0A=
			else=0A=
				selector =3D jQuery.multiFilter( selector, this );=0A=
=0A=
		var isArrayLike =3D selector.length && selector[selector.length - 1] =
!=3D=3D undefined && !selector.nodeType;=0A=
		return this.filter(function() {=0A=
			return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this !=3D =
selector;=0A=
		});=0A=
	},=0A=
=0A=
	add: function( selector ) {=0A=
		return this.pushStack( jQuery.unique( jQuery.merge(=0A=
			this.get(),=0A=
			typeof selector =3D=3D 'string' ?=0A=
				jQuery( selector ) :=0A=
				jQuery.makeArray( selector )=0A=
		)));=0A=
	},=0A=
=0A=
	is: function( selector ) {=0A=
		return !!selector && jQuery.multiFilter( selector, this ).length > 0;=0A=
	},=0A=
=0A=
	hasClass: function( selector ) {=0A=
		return this.is( "." + selector );=0A=
	},=0A=
=0A=
	val: function( value ) {=0A=
		if ( value =3D=3D undefined ) {=0A=
=0A=
			if ( this.length ) {=0A=
				var elem =3D this[0];=0A=
=0A=
				// We need to handle select boxes special=0A=
				if ( jQuery.nodeName( elem, "select" ) ) {=0A=
					var index =3D elem.selectedIndex,=0A=
						values =3D [],=0A=
						options =3D elem.options,=0A=
						one =3D elem.type =3D=3D "select-one";=0A=
=0A=
					// Nothing was selected=0A=
					if ( index < 0 )=0A=
						return null;=0A=
=0A=
					// Loop through all the selected options=0A=
					for ( var i =3D one ? index : 0, max =3D one ? index + 1 : =
options.length; i < max; i++ ) {=0A=
						var option =3D options[ i ];=0A=
=0A=
						if ( option.selected ) {=0A=
							// Get the specifc value for the option=0A=
							value =3D jQuery.browser.msie && =
!option.attributes.value.specified ? option.text : option.value;=0A=
=0A=
							// We don't need an array for one selects=0A=
							if ( one )=0A=
								return value;=0A=
=0A=
							// Multi-Selects return an array=0A=
							values.push( value );=0A=
						}=0A=
					}=0A=
=0A=
					return values;=0A=
=0A=
				// Everything else, we just grab the value=0A=
				} else=0A=
					return (this[0].value || "").replace(/\r/g, "");=0A=
=0A=
			}=0A=
=0A=
			return undefined;=0A=
		}=0A=
=0A=
		if( value.constructor =3D=3D Number )=0A=
			value +=3D '';=0A=
=0A=
		return this.each(function(){=0A=
			if ( this.nodeType !=3D 1 )=0A=
				return;=0A=
=0A=
			if ( value.constructor =3D=3D Array && /radio|checkbox/.test( =
this.type ) )=0A=
				this.checked =3D (jQuery.inArray(this.value, value) >=3D 0 ||=0A=
					jQuery.inArray(this.name, value) >=3D 0);=0A=
=0A=
			else if ( jQuery.nodeName( this, "select" ) ) {=0A=
				var values =3D jQuery.makeArray(value);=0A=
=0A=
				jQuery( "option", this ).each(function(){=0A=
					this.selected =3D (jQuery.inArray( this.value, values ) >=3D 0 ||=0A=
						jQuery.inArray( this.text, values ) >=3D 0);=0A=
				});=0A=
=0A=
				if ( !values.length )=0A=
					this.selectedIndex =3D -1;=0A=
=0A=
			} else=0A=
				this.value =3D value;=0A=
		});=0A=
	},=0A=
=0A=
	html: function( value ) {=0A=
		return value =3D=3D undefined ?=0A=
			(this[0] ?=0A=
				this[0].innerHTML :=0A=
				null) :=0A=
			this.empty().append( value );=0A=
	},=0A=
=0A=
	replaceWith: function( value ) {=0A=
		return this.after( value ).remove();=0A=
	},=0A=
=0A=
	eq: function( i ) {=0A=
		return this.slice( i, i + 1 );=0A=
	},=0A=
=0A=
	slice: function() {=0A=
		return this.pushStack( Array.prototype.slice.apply( this, arguments ) =
);=0A=
	},=0A=
=0A=
	map: function( callback ) {=0A=
		return this.pushStack( jQuery.map(this, function(elem, i){=0A=
			return callback.call( elem, i, elem );=0A=
		}));=0A=
	},=0A=
=0A=
	andSelf: function() {=0A=
		return this.add( this.prevObject );=0A=
	},=0A=
=0A=
	data: function( key, value ){=0A=
		var parts =3D key.split(".");=0A=
		parts[1] =3D parts[1] ? "." + parts[1] : "";=0A=
=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);=0A=
=0A=
			if ( data =3D=3D=3D undefined && this.length )=0A=
				data =3D jQuery.data( this[0], key );=0A=
=0A=
			return data =3D=3D=3D undefined && parts[1] ?=0A=
				this.data( parts[0] ) :=0A=
				data;=0A=
		} else=0A=
			return this.trigger("setData" + parts[1] + "!", [parts[0], =
value]).each(function(){=0A=
				jQuery.data( this, key, value );=0A=
			});=0A=
	},=0A=
=0A=
	removeData: function( key ){=0A=
		return this.each(function(){=0A=
			jQuery.removeData( this, key );=0A=
		});=0A=
	},=0A=
=0A=
	domManip: function( args, table, reverse, callback ) {=0A=
		var clone =3D this.length > 1, elems;=0A=
=0A=
		return this.each(function(){=0A=
			if ( !elems ) {=0A=
				elems =3D jQuery.clean( args, this.ownerDocument );=0A=
=0A=
				if ( reverse )=0A=
					elems.reverse();=0A=
			}=0A=
=0A=
			var obj =3D this;=0A=
=0A=
			if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( =
elems[0], "tr" ) )=0A=
				obj =3D this.getElementsByTagName("tbody")[0] || this.appendChild( =
this.ownerDocument.createElement("tbody") );=0A=
=0A=
			var scripts =3D jQuery( [] );=0A=
=0A=
			jQuery.each(elems, function(){=0A=
				var elem =3D clone ?=0A=
					jQuery( this ).clone( true )[0] :=0A=
					this;=0A=
=0A=
				// execute all scripts after the elements have been injected=0A=
				if ( jQuery.nodeName( elem, "script" ) )=0A=
					scripts =3D scripts.add( elem );=0A=
				else {=0A=
					// Remove any inner scripts for later evaluation=0A=
					if ( elem.nodeType =3D=3D 1 )=0A=
						scripts =3D scripts.add( jQuery( "script", elem ).remove() );=0A=
=0A=
					// Inject the elements into the document=0A=
					callback.call( obj, elem );=0A=
				}=0A=
			});=0A=
=0A=
			scripts.each( evalScript );=0A=
		});=0A=
	}=0A=
};=0A=
=0A=
// Give the init function the jQuery prototype for later instantiation=0A=
jQuery.fn.init.prototype =3D jQuery.fn;=0A=
=0A=
function evalScript( i, elem ) {=0A=
	if ( elem.src )=0A=
		jQuery.ajax({=0A=
			url: elem.src,=0A=
			async: false,=0A=
			dataType: "script"=0A=
		});=0A=
=0A=
	else=0A=
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || =
"" );=0A=
=0A=
	if ( elem.parentNode )=0A=
		elem.parentNode.removeChild( elem );=0A=
}=0A=
=0A=
function now(){=0A=
	return +new Date;=0A=
}=0A=
=0A=
jQuery.extend =3D jQuery.fn.extend =3D function() {=0A=
	// copy reference to target object=0A=
	var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options;=0A=
=0A=
	// Handle a deep copy situation=0A=
	if ( target.constructor =3D=3D Boolean ) {=0A=
		deep =3D target;=0A=
		target =3D arguments[1] || {};=0A=
		// skip the boolean and the target=0A=
		i =3D 2;=0A=
	}=0A=
=0A=
	// Handle case when target is a string or something (possible in deep =
copy)=0A=
	if ( typeof target !=3D "object" && typeof target !=3D "function" )=0A=
		target =3D {};=0A=
=0A=
	// extend jQuery itself if only one argument is passed=0A=
	if ( length =3D=3D i ) {=0A=
		target =3D this;=0A=
		--i;=0A=
	}=0A=
=0A=
	for ( ; i < length; i++ )=0A=
		// Only deal with non-null/undefined values=0A=
		if ( (options =3D arguments[ i ]) !=3D null )=0A=
			// Extend the base object=0A=
			for ( var name in options ) {=0A=
				var src =3D target[ name ], copy =3D options[ name ];=0A=
=0A=
				// Prevent never-ending loop=0A=
				if ( target =3D=3D=3D copy )=0A=
					continue;=0A=
=0A=
				// Recurse if we're merging object values=0A=
				if ( deep && copy && typeof copy =3D=3D "object" && !copy.nodeType )=0A=
					target[ name ] =3D jQuery.extend( deep, =0A=
						// Never move original objects, clone them=0A=
						src || ( copy.length !=3D null ? [ ] : { } )=0A=
					, copy );=0A=
=0A=
				// Don't bring in undefined values=0A=
				else if ( copy !=3D=3D undefined )=0A=
					target[ name ] =3D copy;=0A=
=0A=
			}=0A=
=0A=
	// Return the modified object=0A=
	return target;=0A=
};=0A=
=0A=
var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {},=0A=
	// exclude the following css properties to add px=0A=
	exclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i,=0A=
	// cache defaultView=0A=
	defaultView =3D document.defaultView || {};=0A=
=0A=
jQuery.extend({=0A=
	noConflict: function( deep ) {=0A=
		window.$ =3D _$;=0A=
=0A=
		if ( deep )=0A=
			window.jQuery =3D _jQuery;=0A=
=0A=
		return jQuery;=0A=
	},=0A=
=0A=
	// See test/unit/core.js for details concerning this function.=0A=
	isFunction: function( fn ) {=0A=
		return !!fn && typeof fn !=3D "string" && !fn.nodeName &&=0A=
			fn.constructor !=3D Array && /^[\s[]?function/.test( fn + "" );=0A=
	},=0A=
=0A=
	// check if an element is in a (or is an) XML document=0A=
	isXMLDoc: function( elem ) {=0A=
		return elem.documentElement && !elem.body ||=0A=
			elem.tagName && elem.ownerDocument && !elem.ownerDocument.body;=0A=
	},=0A=
=0A=
	// Evalulates a script in a global context=0A=
	globalEval: function( data ) {=0A=
		data =3D jQuery.trim( data );=0A=
=0A=
		if ( data ) {=0A=
			// Inspired by code by Andrea Giammarchi=0A=
			// =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement,=0A=
				script =3D document.createElement("script");=0A=
=0A=
			script.type =3D "text/javascript";=0A=
			if ( jQuery.browser.msie )=0A=
				script.text =3D data;=0A=
			else=0A=
				script.appendChild( document.createTextNode( data ) );=0A=
=0A=
			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709).=0A=
			head.insertBefore( script, head.firstChild );=0A=
			head.removeChild( script );=0A=
		}=0A=
	},=0A=
=0A=
	nodeName: function( elem, name ) {=0A=
		return elem.nodeName && elem.nodeName.toUpperCase() =3D=3D =
name.toUpperCase();=0A=
	},=0A=
=0A=
	cache: {},=0A=
=0A=
	data: function( elem, name, data ) {=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ];=0A=
=0A=
		// Compute a unique ID for the element=0A=
		if ( !id )=0A=
			id =3D elem[ expando ] =3D ++uuid;=0A=
=0A=
		// Only generate the data cache if we're=0A=
		// trying to access or manipulate it=0A=
		if ( name && !jQuery.cache[ id ] )=0A=
			jQuery.cache[ id ] =3D {};=0A=
=0A=
		// Prevent overriding the named cache with undefined values=0A=
		if ( data !=3D=3D undefined )=0A=
			jQuery.cache[ id ][ name ] =3D data;=0A=
=0A=
		// Return the named cache data, or the ID for the element=0A=
		return name ?=0A=
			jQuery.cache[ id ][ name ] :=0A=
			id;=0A=
	},=0A=
=0A=
	removeData: function( elem, name ) {=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ];=0A=
=0A=
		// If we want to remove a specific section of the element's data=0A=
		if ( name ) {=0A=
			if ( jQuery.cache[ id ] ) {=0A=
				// Remove the section of cache data=0A=
				delete jQuery.cache[ id ][ name ];=0A=
=0A=
				// If we've removed all the data, remove the element's cache=0A=
				name =3D "";=0A=
=0A=
				for ( name in jQuery.cache[ id ] )=0A=
					break;=0A=
=0A=
				if ( !name )=0A=
					jQuery.removeData( elem );=0A=
			}=0A=
=0A=
		// Otherwise, we want to remove all of the element's data=0A=
		} else {=0A=
			// Clean up the element expando=0A=
			try {=0A=
				delete elem[ expando ];=0A=
			} catch(e){=0A=
				// IE has trouble directly removing the expando=0A=
				// but it's ok with using removeAttribute=0A=
				if ( elem.removeAttribute )=0A=
					elem.removeAttribute( expando );=0A=
			}=0A=
=0A=
			// Completely remove the data cache=0A=
			delete jQuery.cache[ id ];=0A=
		}=0A=
	},=0A=
=0A=
	// args is for internal usage only=0A=
	each: function( object, callback, args ) {=0A=
		var name, i =3D 0, length =3D object.length;=0A=
=0A=
		if ( args ) {=0A=
			if ( length =3D=3D undefined ) {=0A=
				for ( name in object )=0A=
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false )=0A=
						break;=0A=
			} else=0A=
				for ( ; i < length; )=0A=
					if ( callback.apply( object[ i++ ], args ) =3D=3D=3D false )=0A=
						break;=0A=
=0A=
		// A special, fast, case for the most common use of each=0A=
		} else {=0A=
			if ( length =3D=3D undefined ) {=0A=
				for ( name in object )=0A=
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false )=0A=
						break;=0A=
			} else=0A=
				for ( var value =3D object[0];=0A=
					i < length && callback.call( value, i, value ) !=3D=3D false; value =
=3D object[++i] ){}=0A=
		}=0A=
=0A=
		return object;=0A=
	},=0A=
=0A=
	prop: function( elem, value, type, i, name ) {=0A=
		// Handle executable functions=0A=
		if ( jQuery.isFunction( value ) )=0A=
			value =3D value.call( elem, i );=0A=
=0A=
		// Handle passing in a number to a CSS property=0A=
		return value && value.constructor =3D=3D Number && type =3D=3D =
"curCSS" && !exclude.test( name ) ?=0A=
			value + "px" :=0A=
			value;=0A=
	},=0A=
=0A=
	className: {=0A=
		// internal only, use addClass("class")=0A=
		add: function( elem, classNames ) {=0A=
			jQuery.each((classNames || "").split(/\s+/), function(i, className){=0A=
				if ( elem.nodeType =3D=3D 1 && !jQuery.className.has( =
elem.className, className ) )=0A=
					elem.className +=3D (elem.className ? " " : "") + className;=0A=
			});=0A=
		},=0A=
=0A=
		// internal only, use removeClass("class")=0A=
		remove: function( elem, classNames ) {=0A=
			if (elem.nodeType =3D=3D 1)=0A=
				elem.className =3D classNames !=3D undefined ?=0A=
					jQuery.grep(elem.className.split(/\s+/), function(className){=0A=
						return !jQuery.className.has( classNames, className );=0A=
					}).join(" ") :=0A=
					"";=0A=
		},=0A=
=0A=
		// internal only, use hasClass("class")=0A=
		has: function( elem, className ) {=0A=
			return jQuery.inArray( className, (elem.className || =
elem).toString().split(/\s+/) ) > -1;=0A=
		}=0A=
	},=0A=
=0A=
	// A method for quickly swapping in/out CSS properties to get correct =
calculations=0A=
	swap: function( elem, options, callback ) {=0A=
		var old =3D {};=0A=
		// Remember the old values, and insert the new ones=0A=
		for ( var name in options ) {=0A=
			old[ name ] =3D elem.style[ name ];=0A=
			elem.style[ name ] =3D options[ name ];=0A=
		}=0A=
=0A=
		callback.call( elem );=0A=
=0A=
		// Revert the old values=0A=
		for ( var name in options )=0A=
			elem.style[ name ] =3D old[ name ];=0A=
	},=0A=
=0A=
	css: function( elem, name, force ) {=0A=
		if ( name =3D=3D "width" || name =3D=3D "height" ) {=0A=
			var val, props =3D { position: "absolute", visibility: "hidden", =
display:"block" }, which =3D name =3D=3D "width" ? [ "Left", "Right" ] : =
[ "Top", "Bottom" ];=0A=
=0A=
			function getWH() {=0A=
				val =3D name =3D=3D "width" ? elem.offsetWidth : elem.offsetHeight;=0A=
				var padding =3D 0, border =3D 0;=0A=
				jQuery.each( which, function() {=0A=
					padding +=3D parseFloat(jQuery.curCSS( elem, "padding" + this, =
true)) || 0;=0A=
					border +=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;=0A=
				});=0A=
				val -=3D Math.round(padding + border);=0A=
			}=0A=
=0A=
			if ( jQuery(elem).is(":visible") )=0A=
				getWH();=0A=
			else=0A=
				jQuery.swap( elem, props, getWH );=0A=
=0A=
			return Math.max(0, val);=0A=
		}=0A=
=0A=
		return jQuery.curCSS( elem, name, force );=0A=
	},=0A=
=0A=
	curCSS: function( elem, name, force ) {=0A=
		var ret, style =3D elem.style;=0A=
=0A=
		// A helper method for determining if an element's values are broken=0A=
		function color( elem ) {=0A=
			if ( !jQuery.browser.safari )=0A=
				return false;=0A=
=0A=
			// defaultView is cached=0A=
			var ret =3D defaultView.getComputedStyle( elem, null );=0A=
			return !ret || ret.getPropertyValue("color") =3D=3D "";=0A=
		}=0A=
=0A=
		// We need to handle opacity special in IE=0A=
		if ( name =3D=3D "opacity" && jQuery.browser.msie ) {=0A=
			ret =3D jQuery.attr( style, "opacity" );=0A=
=0A=
			return ret =3D=3D "" ?=0A=
				"1" :=0A=
				ret;=0A=
		}=0A=
		// Opera sometimes will give the wrong display answer, this fixes it, =
see #2037=0A=
		if ( jQuery.browser.opera && name =3D=3D "display" ) {=0A=
			var save =3D style.outline;=0A=
			style.outline =3D "0 solid black";=0A=
			style.outline =3D save;=0A=
		}=0A=
=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( name.match( /float/i ) )=0A=
			name =3D styleFloat;=0A=
=0A=
		if ( !force && style && style[ name ] )=0A=
			ret =3D style[ name ];=0A=
=0A=
		else if ( defaultView.getComputedStyle ) {=0A=
=0A=
			// Only "float" is needed here=0A=
			if ( name.match( /float/i ) )=0A=
				name =3D "float";=0A=
=0A=
			name =3D name.replace( /([A-Z])/g, "-$1" ).toLowerCase();=0A=
=0A=
			var computedStyle =3D defaultView.getComputedStyle( elem, null );=0A=
=0A=
			if ( computedStyle && !color( elem ) )=0A=
				ret =3D computedStyle.getPropertyValue( name );=0A=
=0A=
			// If the element isn't reporting its values properly in Safari=0A=
			// then some display: none elements are involved=0A=
			else {=0A=
				var swap =3D [], stack =3D [], a =3D elem, i =3D 0;=0A=
=0A=
				// Locate all of the parent display: none elements=0A=
				for ( ; a && color(a); a =3D a.parentNode )=0A=
					stack.unshift(a);=0A=
=0A=
				// Go through and make them visible, but in reverse=0A=
				// (It would be better if we knew the exact display type that they =
had)=0A=
				for ( ; i < stack.length; i++ )=0A=
					if ( color( stack[ i ] ) ) {=0A=
						swap[ i ] =3D stack[ i ].style.display;=0A=
						stack[ i ].style.display =3D "block";=0A=
					}=0A=
=0A=
				// Since we flip the display style, we have to handle that=0A=
				// one special, otherwise get the value=0A=
				ret =3D name =3D=3D "display" && swap[ stack.length - 1 ] !=3D null ?=0A=
					"none" :=0A=
					( computedStyle && computedStyle.getPropertyValue( name ) ) || "";=0A=
=0A=
				// Finally, revert the display styles back=0A=
				for ( i =3D 0; i < swap.length; i++ )=0A=
					if ( swap[ i ] !=3D null )=0A=
						stack[ i ].style.display =3D swap[ i ];=0A=
			}=0A=
=0A=
			// We should always get a number back from opacity=0A=
			if ( name =3D=3D "opacity" && ret =3D=3D "" )=0A=
				ret =3D "1";=0A=
=0A=
		} else if ( elem.currentStyle ) {=0A=
			var camelCase =3D name.replace(/\-(\w)/g, function(all, letter){=0A=
				return letter.toUpperCase();=0A=
			});=0A=
=0A=
			ret =3D elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];=0A=
=0A=
			// From the awesome hack by Dean Edwards=0A=
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291=0A=
=0A=
			// If we're not dealing with a regular pixel number=0A=
			// but a number that has a weird ending, we need to convert it to =
pixels=0A=
			if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {=0A=
				// Remember the original values=0A=
				var left =3D style.left, rsLeft =3D elem.runtimeStyle.left;=0A=
=0A=
				// Put in the new values to get a computed value out=0A=
				elem.runtimeStyle.left =3D elem.currentStyle.left;=0A=
				style.left =3D ret || 0;=0A=
				ret =3D style.pixelLeft + "px";=0A=
=0A=
				// Revert the changed values=0A=
				style.left =3D left;=0A=
				elem.runtimeStyle.left =3D rsLeft;=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	clean: function( elems, context ) {=0A=
		var ret =3D [];=0A=
		context =3D context || document;=0A=
		// !context.createElement fails in IE with an error but returns typeof =
'object'=0A=
		if (typeof context.createElement =3D=3D 'undefined')=0A=
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;=0A=
=0A=
		jQuery.each(elems, function(i, elem){=0A=
			if ( !elem )=0A=
				return;=0A=
=0A=
			if ( elem.constructor =3D=3D Number )=0A=
				elem +=3D '';=0A=
=0A=
			// Convert html string into DOM nodes=0A=
			if ( typeof elem =3D=3D "string" ) {=0A=
				// Fix "XHTML"-style tags in all browsers=0A=
				elem =3D elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, =
tag){=0A=
					return =
tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?=0A=
						all :=0A=
						front + "></" + tag + ">";=0A=
				});=0A=
=0A=
				// Trim whitespace, otherwise indexOf won't work as expected=0A=
				var tags =3D jQuery.trim( elem ).toLowerCase(), div =3D =
context.createElement("div");=0A=
=0A=
				var wrap =3D=0A=
					// option or optgroup=0A=
					!tags.indexOf("<opt") &&=0A=
					[ 1, "<select multiple=3D'multiple'>", "</select>" ] ||=0A=
=0A=
					!tags.indexOf("<leg") &&=0A=
					[ 1, "<fieldset>", "</fieldset>" ] ||=0A=
=0A=
					tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&=0A=
					[ 1, "<table>", "</table>" ] ||=0A=
=0A=
					!tags.indexOf("<tr") &&=0A=
					[ 2, "<table><tbody>", "</tbody></table>" ] ||=0A=
=0A=
				 	// <thead> matched above=0A=
					(!tags.indexOf("<td") || !tags.indexOf("<th")) &&=0A=
					[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||=0A=
=0A=
					!tags.indexOf("<col") &&=0A=
					[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||=0A=
=0A=
					// IE can't serialize <link> and <script> tags normally=0A=
					jQuery.browser.msie &&=0A=
					[ 1, "div<div>", "</div>" ] ||=0A=
=0A=
					[ 0, "", "" ];=0A=
=0A=
				// Go to html and back, then peel off extra wrappers=0A=
				div.innerHTML =3D wrap[1] + elem + wrap[2];=0A=
=0A=
				// Move to the right depth=0A=
				while ( wrap[0]-- )=0A=
					div =3D div.lastChild;=0A=
=0A=
				// Remove IE's autoinserted <tbody> from table fragments=0A=
				if ( jQuery.browser.msie ) {=0A=
=0A=
					// String was a <table>, *may* have spurious <tbody>=0A=
					var tbody =3D !tags.indexOf("<table") && tags.indexOf("<tbody") < 0 =
?=0A=
						div.firstChild && div.firstChild.childNodes :=0A=
=0A=
						// String was a bare <thead> or <tfoot>=0A=
						wrap[1] =3D=3D "<table>" && tags.indexOf("<tbody") < 0 ?=0A=
							div.childNodes :=0A=
							[];=0A=
=0A=
					for ( var j =3D tbody.length - 1; j >=3D 0 ; --j )=0A=
						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j =
].childNodes.length )=0A=
							tbody[ j ].parentNode.removeChild( tbody[ j ] );=0A=
=0A=
					// IE completely kills leading whitespace when innerHTML is used=0A=
					if ( /^\s/.test( elem ) )=0A=
						div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), =
div.firstChild );=0A=
=0A=
				}=0A=
=0A=
				elem =3D jQuery.makeArray( div.childNodes );=0A=
			}=0A=
=0A=
			if ( elem.length =3D=3D=3D 0 && (!jQuery.nodeName( elem, "form" ) && =
!jQuery.nodeName( elem, "select" )) )=0A=
				return;=0A=
=0A=
			if ( elem[0] =3D=3D undefined || jQuery.nodeName( elem, "form" ) || =
elem.options )=0A=
				ret.push( elem );=0A=
=0A=
			else=0A=
				ret =3D jQuery.merge( ret, elem );=0A=
=0A=
		});=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	attr: function( elem, name, value ) {=0A=
		// don't set attributes on text and comment nodes=0A=
		if (!elem || elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8)=0A=
			return undefined;=0A=
=0A=
		var notxml =3D !jQuery.isXMLDoc( elem ),=0A=
			// Whether we are setting (or getting)=0A=
			set =3D value !=3D=3D undefined,=0A=
			msie =3D jQuery.browser.msie;=0A=
=0A=
		// Try to normalize/fix the name=0A=
		name =3D notxml && jQuery.props[ name ] || name;=0A=
=0A=
		// Only do all the following if this is a node (faster for style)=0A=
		// IE elem.getAttribute passes even for style=0A=
		if ( elem.tagName ) {=0A=
=0A=
			// These attributes require special treatment=0A=
			var special =3D /href|src|style/.test( name );=0A=
=0A=
			// Safari mis-reports the default selected property of a hidden option=0A=
			// Accessing the parent's selectedIndex property fixes it=0A=
			if ( name =3D=3D "selected" && jQuery.browser.safari )=0A=
				elem.parentNode.selectedIndex;=0A=
=0A=
			// If applicable, access the attribute via the DOM 0 way=0A=
			if ( name in elem && notxml && !special ) {=0A=
				if ( set ){=0A=
					// We can't allow the type property to be changed (since it causes =
problems in IE)=0A=
					if ( name =3D=3D "type" && jQuery.nodeName( elem, "input" ) && =
elem.parentNode )=0A=
						throw "type property can't be changed";=0A=
=0A=
					elem[ name ] =3D value;=0A=
				}=0A=
=0A=
				// browsers index elements by id/name on forms, give priority to =
attributes.=0A=
				if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )=0A=
					return elem.getAttributeNode( name ).nodeValue;=0A=
=0A=
				return elem[ name ];=0A=
			}=0A=
=0A=
			if ( msie && notxml &&  name =3D=3D "style" )=0A=
				return jQuery.attr( elem.style, "cssText", value );=0A=
=0A=
			if ( set )=0A=
				// convert the value to a string (all browsers do this but IE) see =
#1070=0A=
				elem.setAttribute( name, "" + value );=0A=
=0A=
			var attr =3D msie && notxml && special=0A=
					// Some attributes require a special call on IE=0A=
					? elem.getAttribute( name, 2 )=0A=
					: elem.getAttribute( name );=0A=
=0A=
			// Non-existent attributes return null, we normalize to undefined=0A=
			return attr =3D=3D=3D null ? undefined : attr;=0A=
		}=0A=
=0A=
		// elem is actually elem.style ... set the style=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( msie && name =3D=3D "opacity" ) {=0A=
			if ( set ) {=0A=
				// IE has trouble with opacity if it does not have layout=0A=
				// Force it by setting the zoom level=0A=
				elem.zoom =3D 1;=0A=
=0A=
				// Set the alpha filter to set the opacity=0A=
				elem.filter =3D (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) +=0A=
					(parseInt( value ) + '' =3D=3D "NaN" ? "" : "alpha(opacity=3D" + =
value * 100 + ")");=0A=
			}=0A=
=0A=
			return elem.filter && elem.filter.indexOf("opacity=3D") >=3D 0 ?=0A=
				(parseFloat( elem.filter.match(/opacity=3D([^)]*)/)[1] ) / 100) + '':=0A=
				"";=0A=
		}=0A=
=0A=
		name =3D name.replace(/-([a-z])/ig, function(all, letter){=0A=
			return letter.toUpperCase();=0A=
		});=0A=
=0A=
		if ( set )=0A=
			elem[ name ] =3D value;=0A=
=0A=
		return elem[ name ];=0A=
	},=0A=
=0A=
	trim: function( text ) {=0A=
		return (text || "").replace( /^\s+|\s+$/g, "" );=0A=
	},=0A=
=0A=
	makeArray: function( array ) {=0A=
		var ret =3D [];=0A=
=0A=
		if( array !=3D null ){=0A=
			var i =3D array.length;=0A=
			//the window, strings and functions also have 'length'=0A=
			if( i =3D=3D null || array.split || array.setInterval || array.call )=0A=
				ret[0] =3D array;=0A=
			else=0A=
				while( i )=0A=
					ret[--i] =3D array[i];=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	inArray: function( elem, array ) {=0A=
		for ( var i =3D 0, length =3D array.length; i < length; i++ )=0A=
		// Use =3D=3D=3D because on IE, window =3D=3D document=0A=
			if ( array[ i ] =3D=3D=3D elem )=0A=
				return i;=0A=
=0A=
		return -1;=0A=
	},=0A=
=0A=
	merge: function( first, second ) {=0A=
		// We have to loop this way because IE & Opera overwrite the length=0A=
		// expando of getElementsByTagName=0A=
		var i =3D 0, elem, pos =3D first.length;=0A=
		// Also, we need to make sure that the correct elements are being =
returned=0A=
		// (IE returns comment nodes in a '*' query)=0A=
		if ( jQuery.browser.msie ) {=0A=
			while ( elem =3D second[ i++ ] )=0A=
				if ( elem.nodeType !=3D 8 )=0A=
					first[ pos++ ] =3D elem;=0A=
=0A=
		} else=0A=
			while ( elem =3D second[ i++ ] )=0A=
				first[ pos++ ] =3D elem;=0A=
=0A=
		return first;=0A=
	},=0A=
=0A=
	unique: function( array ) {=0A=
		var ret =3D [], done =3D {};=0A=
=0A=
		try {=0A=
=0A=
			for ( var i =3D 0, length =3D array.length; i < length; i++ ) {=0A=
				var id =3D jQuery.data( array[ i ] );=0A=
=0A=
				if ( !done[ id ] ) {=0A=
					done[ id ] =3D true;=0A=
					ret.push( array[ i ] );=0A=
				}=0A=
			}=0A=
=0A=
		} catch( e ) {=0A=
			ret =3D array;=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	grep: function( elems, callback, inv ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Go through the array, only saving the items=0A=
		// that pass the validator function=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ )=0A=
			if ( !inv !=3D !callback( elems[ i ], i ) )=0A=
				ret.push( elems[ i ] );=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	map: function( elems, callback ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Go through the array, translating each of the items to their=0A=
		// new value (or values).=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			var value =3D callback( elems[ i ], i );=0A=
=0A=
			if ( value !=3D null )=0A=
				ret[ ret.length ] =3D value;=0A=
		}=0A=
=0A=
		return ret.concat.apply( [], ret );=0A=
	}=0A=
});=0A=
=0A=
var userAgent =3D navigator.userAgent.toLowerCase();=0A=
=0A=
// Figure out what browser is being used=0A=
jQuery.browser =3D {=0A=
	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || =
[])[1],=0A=
	safari: /webkit/.test( userAgent ),=0A=
	opera: /opera/.test( userAgent ),=0A=
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),=0A=
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( =
userAgent )=0A=
};=0A=
=0A=
var styleFloat =3D jQuery.browser.msie ?=0A=
	"styleFloat" :=0A=
	"cssFloat";=0A=
=0A=
jQuery.extend({=0A=
	// Check to see if the W3C box model is being used=0A=
	boxModel: !jQuery.browser.msie || document.compatMode =3D=3D =
"CSS1Compat",=0A=
=0A=
	props: {=0A=
		"for": "htmlFor",=0A=
		"class": "className",=0A=
		"float": styleFloat,=0A=
		cssFloat: styleFloat,=0A=
		styleFloat: styleFloat,=0A=
		readonly: "readOnly",=0A=
		maxlength: "maxLength",=0A=
		cellspacing: "cellSpacing"=0A=
	}=0A=
});=0A=
=0A=
jQuery.each({=0A=
	parent: function(elem){return elem.parentNode;},=0A=
	parents: function(elem){return jQuery.dir(elem,"parentNode");},=0A=
	next: function(elem){return jQuery.nth(elem,2,"nextSibling");},=0A=
	prev: function(elem){return jQuery.nth(elem,2,"previousSibling");},=0A=
	nextAll: function(elem){return jQuery.dir(elem,"nextSibling");},=0A=
	prevAll: function(elem){return jQuery.dir(elem,"previousSibling");},=0A=
	siblings: function(elem){return =
jQuery.sibling(elem.parentNode.firstChild,elem);},=0A=
	children: function(elem){return jQuery.sibling(elem.firstChild);},=0A=
	contents: function(elem){return =
jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.d=
ocument:jQuery.makeArray(elem.childNodes);}=0A=
}, function(name, fn){=0A=
	jQuery.fn[ name ] =3D function( selector ) {=0A=
		var ret =3D jQuery.map( this, fn );=0A=
=0A=
		if ( selector && typeof selector =3D=3D "string" )=0A=
			ret =3D jQuery.multiFilter( selector, ret );=0A=
=0A=
		return this.pushStack( jQuery.unique( ret ) );=0A=
	};=0A=
});=0A=
=0A=
jQuery.each({=0A=
	appendTo: "append",=0A=
	prependTo: "prepend",=0A=
	insertBefore: "before",=0A=
	insertAfter: "after",=0A=
	replaceAll: "replaceWith"=0A=
}, function(name, original){=0A=
	jQuery.fn[ name ] =3D function() {=0A=
		var args =3D arguments;=0A=
=0A=
		return this.each(function(){=0A=
			for ( var i =3D 0, length =3D args.length; i < length; i++ )=0A=
				jQuery( args[ i ] )[ original ]( this );=0A=
		});=0A=
	};=0A=
});=0A=
=0A=
jQuery.each({=0A=
	removeAttr: function( name ) {=0A=
		jQuery.attr( this, name, "" );=0A=
		if (this.nodeType =3D=3D 1)=0A=
			this.removeAttribute( name );=0A=
	},=0A=
=0A=
	addClass: function( classNames ) {=0A=
		jQuery.className.add( this, classNames );=0A=
	},=0A=
=0A=
	removeClass: function( classNames ) {=0A=
		jQuery.className.remove( this, classNames );=0A=
	},=0A=
=0A=
	toggleClass: function( classNames ) {=0A=
		jQuery.className[ jQuery.className.has( this, classNames ) ? "remove" =
: "add" ]( this, classNames );=0A=
	},=0A=
=0A=
	remove: function( selector ) {=0A=
		if ( !selector || jQuery.filter( selector, [ this ] ).r.length ) {=0A=
			// Prevent memory leaks=0A=
			jQuery( "*", this ).add(this).each(function(){=0A=
				jQuery.event.remove(this);=0A=
				jQuery.removeData(this);=0A=
			});=0A=
			if (this.parentNode)=0A=
				this.parentNode.removeChild( this );=0A=
		}=0A=
	},=0A=
=0A=
	empty: function() {=0A=
		// Remove element nodes and prevent memory leaks=0A=
		jQuery( ">*", this ).remove();=0A=
=0A=
		// Remove any remaining nodes=0A=
		while ( this.firstChild )=0A=
			this.removeChild( this.firstChild );=0A=
	}=0A=
}, function(name, fn){=0A=
	jQuery.fn[ name ] =3D function(){=0A=
		return this.each( fn, arguments );=0A=
	};=0A=
});=0A=
=0A=
jQuery.each([ "Height", "Width" ], function(i, name){=0A=
	var type =3D name.toLowerCase();=0A=
=0A=
	jQuery.fn[ type ] =3D function( size ) {=0A=
		// Get window width or height=0A=
		return this[0] =3D=3D window ?=0A=
			// Opera reports document.body.client[Width/Height] properly in both =
quirks and standards=0A=
			jQuery.browser.opera && document.body[ "client" + name ] ||=0A=
=0A=
			// Safari reports inner[Width/Height] just fine (Mozilla and Opera =
include scroll bar widths)=0A=
			jQuery.browser.safari && window[ "inner" + name ] ||=0A=
=0A=
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode=0A=
			document.compatMode =3D=3D "CSS1Compat" && document.documentElement[ =
"client" + name ] || document.body[ "client" + name ] :=0A=
=0A=
			// Get document width or height=0A=
			this[0] =3D=3D document ?=0A=
				// Either scroll[Width/Height] or offset[Width/Height], whichever is =
greater=0A=
				Math.max(=0A=
					Math.max(document.body["scroll" + name], =
document.documentElement["scroll" + name]),=0A=
					Math.max(document.body["offset" + name], =
document.documentElement["offset" + name])=0A=
				) :=0A=
=0A=
				// Get or set width or height on the element=0A=
				size =3D=3D undefined ?=0A=
					// Get width or height on the element=0A=
					(this.length ? jQuery.css( this[0], type ) : null) :=0A=
=0A=
					// Set the width or height on the element (default to pixels if =
value is unitless)=0A=
					this.css( type, size.constructor =3D=3D String ? size : size + "px" =
);=0A=
	};=0A=
});=0A=
=0A=
// Helper function used by the dimensions and offset modules=0A=
function num(elem, prop) {=0A=
	return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || =
0;=0A=
}var chars =3D jQuery.browser.safari && parseInt(jQuery.browser.version) =
< 417 ?=0A=
		"(?:[\\w*_-]|\\\\.)" :=0A=
		"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",=0A=
	quickChild =3D new RegExp("^>\\s*(" + chars + "+)"),=0A=
	quickID =3D new RegExp("^(" + chars + "+)(#)(" + chars + "+)"),=0A=
	quickClass =3D new RegExp("^([#.]?)(" + chars + "*)");=0A=
=0A=
jQuery.extend({=0A=
	expr: {=0A=
		"": function(a,i,m){return m[2]=3D=3D"*"||jQuery.nodeName(a,m[2]);},=0A=
		"#": function(a,i,m){return a.getAttribute("id")=3D=3Dm[2];},=0A=
		":": {=0A=
			// Position Checks=0A=
			lt: function(a,i,m){return i<m[3]-0;},=0A=
			gt: function(a,i,m){return i>m[3]-0;},=0A=
			nth: function(a,i,m){return m[3]-0=3D=3Di;},=0A=
			eq: function(a,i,m){return m[3]-0=3D=3Di;},=0A=
			first: function(a,i){return i=3D=3D0;},=0A=
			last: function(a,i,m,r){return i=3D=3Dr.length-1;},=0A=
			even: function(a,i){return i%2=3D=3D0;},=0A=
			odd: function(a,i){return i%2;},=0A=
=0A=
			// Child Checks=0A=
			"first-child": function(a){return =
a.parentNode.getElementsByTagName("*")[0]=3D=3Da;},=0A=
			"last-child": function(a){return =
jQuery.nth(a.parentNode.lastChild,1,"previousSibling")=3D=3Da;},=0A=
			"only-child": function(a){return =
!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},=0A=
=0A=
			// Parent Checks=0A=
			parent: function(a){return a.firstChild;},=0A=
			empty: function(a){return !a.firstChild;},=0A=
=0A=
			// Text Check=0A=
			contains: function(a,i,m){return =
(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=3D0;},=0A=
=0A=
			// Visibility=0A=
			visible: function(a){return =
"hidden"!=3Da.type&&jQuery.css(a,"display")!=3D"none"&&jQuery.css(a,"visi=
bility")!=3D"hidden";},=0A=
			hidden: function(a){return =
"hidden"=3D=3Da.type||jQuery.css(a,"display")=3D=3D"none"||jQuery.css(a,"=
visibility")=3D=3D"hidden";},=0A=
=0A=
			// Form attributes=0A=
			enabled: function(a){return !a.disabled;},=0A=
			disabled: function(a){return a.disabled;},=0A=
			checked: function(a){return a.checked;},=0A=
			selected: function(a){return a.selected||jQuery.attr(a,"selected");},=0A=
=0A=
			// Form elements=0A=
			text: function(a){return "text"=3D=3Da.type;},=0A=
			radio: function(a){return "radio"=3D=3Da.type;},=0A=
			checkbox: function(a){return "checkbox"=3D=3Da.type;},=0A=
			file: function(a){return "file"=3D=3Da.type;},=0A=
			password: function(a){return "password"=3D=3Da.type;},=0A=
			submit: function(a){return "submit"=3D=3Da.type;},=0A=
			image: function(a){return "image"=3D=3Da.type;},=0A=
			reset: function(a){return "reset"=3D=3Da.type;},=0A=
			button: function(a){return =
"button"=3D=3Da.type||jQuery.nodeName(a,"button");},=0A=
			input: function(a){return =
/input|select|textarea|button/i.test(a.nodeName);},=0A=
=0A=
			// :has()=0A=
			has: function(a,i,m){return jQuery.find(m[3],a).length;},=0A=
=0A=
			// :header=0A=
			header: function(a){return /h\d/i.test(a.nodeName);},=0A=
=0A=
			// :animated=0A=
			animated: function(a){return =
jQuery.grep(jQuery.timers,function(fn){return a=3D=3Dfn.elem;}).length;}=0A=
		}=0A=
	},=0A=
=0A=
	// The regular expressions that power the parsing engine=0A=
	parse: [=0A=
		// Match: [@value=3D'test'], [@foo]=0A=
		/^(\[) *@?([\w-]+) *([!*$^~=3D]*) *('?"?)(.*?)\4 *\]/,=0A=
=0A=
		// Match: :contains('foo')=0A=
		/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,=0A=
=0A=
		// Match: :even, :last-child, #id, .class=0A=
		new RegExp("^([:.#]*)(" + chars + "+)")=0A=
	],=0A=
=0A=
	multiFilter: function( expr, elems, not ) {=0A=
		var old, cur =3D [];=0A=
=0A=
		while ( expr && expr !=3D old ) {=0A=
			old =3D expr;=0A=
			var f =3D jQuery.filter( expr, elems, not );=0A=
			expr =3D f.t.replace(/^\s*,\s*/, "" );=0A=
			cur =3D not ? elems =3D f.r : jQuery.merge( cur, f.r );=0A=
		}=0A=
=0A=
		return cur;=0A=
	},=0A=
=0A=
	find: function( t, context ) {=0A=
		// Quickly handle non-string expressions=0A=
		if ( typeof t !=3D "string" )=0A=
			return [ t ];=0A=
=0A=
		// check to make sure context is a DOM element or a document=0A=
		if ( context && context.nodeType !=3D 1 && context.nodeType !=3D 9)=0A=
			return [ ];=0A=
=0A=
		// Set the correct context (if none is provided)=0A=
		context =3D context || document;=0A=
=0A=
		// Initialize the search=0A=
		var ret =3D [context], done =3D [], last, nodeName;=0A=
=0A=
		// Continue while a selector expression exists, and while=0A=
		// we're no longer looping upon ourselves=0A=
		while ( t && last !=3D t ) {=0A=
			var r =3D [];=0A=
			last =3D t;=0A=
=0A=
			t =3D jQuery.trim(t);=0A=
=0A=
			var foundToken =3D false,=0A=
=0A=
			// An attempt at speeding up child selectors that=0A=
			// point to a specific element tag=0A=
				re =3D quickChild,=0A=
=0A=
				m =3D re.exec(t);=0A=
=0A=
			if ( m ) {=0A=
				nodeName =3D m[1].toUpperCase();=0A=
=0A=
				// Perform our own iteration and filter=0A=
				for ( var i =3D 0; ret[i]; i++ )=0A=
					for ( var c =3D ret[i].firstChild; c; c =3D c.nextSibling )=0A=
						if ( c.nodeType =3D=3D 1 && (nodeName =3D=3D "*" || =
c.nodeName.toUpperCase() =3D=3D nodeName) )=0A=
							r.push( c );=0A=
=0A=
				ret =3D r;=0A=
				t =3D t.replace( re, "" );=0A=
				if ( t.indexOf(" ") =3D=3D 0 ) continue;=0A=
				foundToken =3D true;=0A=
			} else {=0A=
				re =3D /^([>+~])\s*(\w*)/i;=0A=
=0A=
				if ( (m =3D re.exec(t)) !=3D null ) {=0A=
					r =3D [];=0A=
=0A=
					var merge =3D {};=0A=
					nodeName =3D m[2].toUpperCase();=0A=
					m =3D m[1];=0A=
=0A=
					for ( var j =3D 0, rl =3D ret.length; j < rl; j++ ) {=0A=
						var n =3D m =3D=3D "~" || m =3D=3D "+" ? ret[j].nextSibling : =
ret[j].firstChild;=0A=
						for ( ; n; n =3D n.nextSibling )=0A=
							if ( n.nodeType =3D=3D 1 ) {=0A=
								var id =3D jQuery.data(n);=0A=
=0A=
								if ( m =3D=3D "~" && merge[id] ) break;=0A=
=0A=
								if (!nodeName || n.nodeName.toUpperCase() =3D=3D nodeName ) {=0A=
									if ( m =3D=3D "~" ) merge[id] =3D true;=0A=
									r.push( n );=0A=
								}=0A=
=0A=
								if ( m =3D=3D "+" ) break;=0A=
							}=0A=
					}=0A=
=0A=
					ret =3D r;=0A=
=0A=
					// And remove the token=0A=
					t =3D jQuery.trim( t.replace( re, "" ) );=0A=
					foundToken =3D true;=0A=
				}=0A=
			}=0A=
=0A=
			// See if there's still an expression, and that we haven't already=0A=
			// matched a token=0A=
			if ( t && !foundToken ) {=0A=
				// Handle multiple expressions=0A=
				if ( !t.indexOf(",") ) {=0A=
					// Clean the result set=0A=
					if ( context =3D=3D ret[0] ) ret.shift();=0A=
=0A=
					// Merge the result sets=0A=
					done =3D jQuery.merge( done, ret );=0A=
=0A=
					// Reset the context=0A=
					r =3D ret =3D [context];=0A=
=0A=
					// Touch up the selector string=0A=
					t =3D " " + t.substr(1,t.length);=0A=
=0A=
				} else {=0A=
					// Optimize for the case nodeName#idName=0A=
					var re2 =3D quickID;=0A=
					var m =3D re2.exec(t);=0A=
=0A=
					// Re-organize the results, so that they're consistent=0A=
					if ( m ) {=0A=
						m =3D [ 0, m[2], m[3], m[1] ];=0A=
=0A=
					} else {=0A=
						// Otherwise, do a traditional filter check for=0A=
						// ID, class, and element selectors=0A=
						re2 =3D quickClass;=0A=
						m =3D re2.exec(t);=0A=
					}=0A=
=0A=
					m[2] =3D m[2].replace(/\\/g, "");=0A=
=0A=
					var elem =3D ret[ret.length-1];=0A=
=0A=
					// Try to do a global search by ID, where we can=0A=
					if ( m[1] =3D=3D "#" && elem && elem.getElementById && =
!jQuery.isXMLDoc(elem) ) {=0A=
						// Optimization for HTML document case=0A=
						var oid =3D elem.getElementById(m[2]);=0A=
=0A=
						// Do a quick check for the existence of the actual ID attribute=0A=
						// to avoid selecting by the name attribute in IE=0A=
						// also check to insure id is a string to avoid selecting an =
element with the name of 'id' inside a form=0A=
						if ( (jQuery.browser.msie||jQuery.browser.opera) && oid && typeof =
oid.id =3D=3D "string" && oid.id !=3D m[2] )=0A=
							oid =3D jQuery('[@id=3D"'+m[2]+'"]', elem)[0];=0A=
=0A=
						// Do a quick check for node name (where applicable) so=0A=
						// that div#foo searches will be really fast=0A=
						ret =3D r =3D oid && (!m[3] || jQuery.nodeName(oid, m[3])) ? [oid] =
: [];=0A=
					} else {=0A=
						// We need to find all descendant elements=0A=
						for ( var i =3D 0; ret[i]; i++ ) {=0A=
							// Grab the tag name being searched for=0A=
							var tag =3D m[1] =3D=3D "#" && m[3] ? m[3] : m[1] !=3D "" || m[0] =
=3D=3D "" ? "*" : m[2];=0A=
=0A=
							// Handle IE7 being really dumb about <object>s=0A=
							if ( tag =3D=3D "*" && ret[i].nodeName.toLowerCase() =3D=3D =
"object" )=0A=
								tag =3D "param";=0A=
=0A=
							r =3D jQuery.merge( r, ret[i].getElementsByTagName( tag ));=0A=
						}=0A=
=0A=
						// It's faster to filter by class and be done with it=0A=
						if ( m[1] =3D=3D "." )=0A=
							r =3D jQuery.classFilter( r, m[2] );=0A=
=0A=
						// Same with ID filtering=0A=
						if ( m[1] =3D=3D "#" ) {=0A=
							var tmp =3D [];=0A=
=0A=
							// Try to find the element with the ID=0A=
							for ( var i =3D 0; r[i]; i++ )=0A=
								if ( r[i].getAttribute("id") =3D=3D m[2] ) {=0A=
									tmp =3D [ r[i] ];=0A=
									break;=0A=
								}=0A=
=0A=
							r =3D tmp;=0A=
						}=0A=
=0A=
						ret =3D r;=0A=
					}=0A=
=0A=
					t =3D t.replace( re2, "" );=0A=
				}=0A=
=0A=
			}=0A=
=0A=
			// If a selector string still exists=0A=
			if ( t ) {=0A=
				// Attempt to filter it=0A=
				var val =3D jQuery.filter(t,r);=0A=
				ret =3D r =3D val.r;=0A=
				t =3D jQuery.trim(val.t);=0A=
			}=0A=
		}=0A=
=0A=
		// An error occurred with the selector;=0A=
		// just return an empty set instead=0A=
		if ( t )=0A=
			ret =3D [];=0A=
=0A=
		// Remove the root context=0A=
		if ( ret && context =3D=3D ret[0] )=0A=
			ret.shift();=0A=
=0A=
		// And combine the results=0A=
		done =3D jQuery.merge( done, ret );=0A=
=0A=
		return done;=0A=
	},=0A=
=0A=
	classFilter: function(r,m,not){=0A=
		m =3D " " + m + " ";=0A=
		var tmp =3D [];=0A=
		for ( var i =3D 0; r[i]; i++ ) {=0A=
			var pass =3D (" " + r[i].className + " ").indexOf( m ) >=3D 0;=0A=
			if ( !not && pass || not && !pass )=0A=
				tmp.push( r[i] );=0A=
		}=0A=
		return tmp;=0A=
	},=0A=
=0A=
	filter: function(t,r,not) {=0A=
		var last;=0A=
=0A=
		// Look for common filter expressions=0A=
		while ( t && t !=3D last ) {=0A=
			last =3D t;=0A=
=0A=
			var p =3D jQuery.parse, m;=0A=
=0A=
			for ( var i =3D 0; p[i]; i++ ) {=0A=
				m =3D p[i].exec( t );=0A=
=0A=
				if ( m ) {=0A=
					// Remove what we just matched=0A=
					t =3D t.substring( m[0].length );=0A=
=0A=
					m[2] =3D m[2].replace(/\\/g, "");=0A=
					break;=0A=
				}=0A=
			}=0A=
=0A=
			if ( !m )=0A=
				break;=0A=
=0A=
			// :not() is a special case that can be optimized by=0A=
			// keeping it out of the expression list=0A=
			if ( m[1] =3D=3D ":" && m[2] =3D=3D "not" )=0A=
				// optimize if only one selector found (most common case)=0A=
				r =3D isSimple.test( m[3] ) ?=0A=
					jQuery.filter(m[3], r, true).r :=0A=
					jQuery( r ).not( m[3] );=0A=
=0A=
			// We can get a big speed boost by filtering by class here=0A=
			else if ( m[1] =3D=3D "." )=0A=
				r =3D jQuery.classFilter(r, m[2], not);=0A=
=0A=
			else if ( m[1] =3D=3D "[" ) {=0A=
				var tmp =3D [], type =3D m[3];=0A=
=0A=
				for ( var i =3D 0, rl =3D r.length; i < rl; i++ ) {=0A=
					var a =3D r[i], z =3D a[ jQuery.props[m[2]] || m[2] ];=0A=
=0A=
					if ( z =3D=3D null || /href|src|selected/.test(m[2]) )=0A=
						z =3D jQuery.attr(a,m[2]) || '';=0A=
=0A=
					if ( (type =3D=3D "" && !!z ||=0A=
						 type =3D=3D "=3D" && z =3D=3D m[5] ||=0A=
						 type =3D=3D "!=3D" && z !=3D m[5] ||=0A=
						 type =3D=3D "^=3D" && z && !z.indexOf(m[5]) ||=0A=
						 type =3D=3D "$=3D" && z.substr(z.length - m[5].length) =3D=3D =
m[5] ||=0A=
						 (type =3D=3D "*=3D" || type =3D=3D "~=3D") && z.indexOf(m[5]) =
>=3D 0) ^ not )=0A=
							tmp.push( a );=0A=
				}=0A=
=0A=
				r =3D tmp;=0A=
=0A=
			// We can get a speed boost by handling nth-child here=0A=
			} else if ( m[1] =3D=3D ":" && m[2] =3D=3D "nth-child" ) {=0A=
				var merge =3D {}, tmp =3D [],=0A=
					// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'=0A=
					test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(=0A=
						m[3] =3D=3D "even" && "2n" || m[3] =3D=3D "odd" && "2n+1" ||=0A=
						!/\D/.test(m[3]) && "0n+" + m[3] || m[3]),=0A=
					// calculate the numbers (first)n+(last) including if they are =
negative=0A=
					first =3D (test[1] + (test[2] || 1)) - 0, last =3D test[3] - 0;=0A=
=0A=
				// loop through all the elements left in the jQuery object=0A=
				for ( var i =3D 0, rl =3D r.length; i < rl; i++ ) {=0A=
					var node =3D r[i], parentNode =3D node.parentNode, id =3D =
jQuery.data(parentNode);=0A=
=0A=
					if ( !merge[id] ) {=0A=
						var c =3D 1;=0A=
=0A=
						for ( var n =3D parentNode.firstChild; n; n =3D n.nextSibling )=0A=
							if ( n.nodeType =3D=3D 1 )=0A=
								n.nodeIndex =3D c++;=0A=
=0A=
						merge[id] =3D true;=0A=
					}=0A=
=0A=
					var add =3D false;=0A=
=0A=
					if ( first =3D=3D 0 ) {=0A=
						if ( node.nodeIndex =3D=3D last )=0A=
							add =3D true;=0A=
					} else if ( (node.nodeIndex - last) % first =3D=3D 0 && =
(node.nodeIndex - last) / first >=3D 0 )=0A=
						add =3D true;=0A=
=0A=
					if ( add ^ not )=0A=
						tmp.push( node );=0A=
				}=0A=
=0A=
				r =3D tmp;=0A=
=0A=
			// Otherwise, find the expression to execute=0A=
			} else {=0A=
				var fn =3D jQuery.expr[ m[1] ];=0A=
				if ( typeof fn =3D=3D "object" )=0A=
					fn =3D fn[ m[2] ];=0A=
=0A=
				if ( typeof fn =3D=3D "string" )=0A=
					fn =3D eval("false||function(a,i){return " + fn + ";}");=0A=
=0A=
				// Execute it against the current filter=0A=
				r =3D jQuery.grep( r, function(elem, i){=0A=
					return fn(elem, i, m, r);=0A=
				}, not );=0A=
			}=0A=
		}=0A=
=0A=
		// Return an array of filtered elements (r)=0A=
		// and the modified expression string (t)=0A=
		return { r: r, t: t };=0A=
	},=0A=
=0A=
	dir: function( elem, dir ){=0A=
		var matched =3D [],=0A=
			cur =3D elem[dir];=0A=
		while ( cur && cur !=3D document ) {=0A=
			if ( cur.nodeType =3D=3D 1 )=0A=
				matched.push( cur );=0A=
			cur =3D cur[dir];=0A=
		}=0A=
		return matched;=0A=
	},=0A=
=0A=
	nth: function(cur,result,dir,elem){=0A=
		result =3D result || 1;=0A=
		var num =3D 0;=0A=
=0A=
		for ( ; cur; cur =3D cur[dir] )=0A=
			if ( cur.nodeType =3D=3D 1 && ++num =3D=3D result )=0A=
				break;=0A=
=0A=
		return cur;=0A=
	},=0A=
=0A=
	sibling: function( n, elem ) {=0A=
		var r =3D [];=0A=
=0A=
		for ( ; n; n =3D n.nextSibling ) {=0A=
			if ( n.nodeType =3D=3D 1 && n !=3D elem )=0A=
				r.push( n );=0A=
		}=0A=
=0A=
		return r;=0A=
	}=0A=
});=0A=
/*=0A=
 * A number of helper functions used for managing events.=0A=
 * Many of the ideas behind this code orignated from=0A=
 * Dean Edwards' addEvent library.=0A=
 */=0A=
jQuery.event =3D {=0A=
=0A=
	// Bind an event to an element=0A=
	// Original by Dean Edwards=0A=
	add: function(elem, types, handler, data) {=0A=
		if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )=0A=
			return;=0A=
=0A=
		// For whatever reason, IE has trouble passing the window object=0A=
		// around, causing it to be cloned in the process=0A=
		if ( jQuery.browser.msie && elem.setInterval )=0A=
			elem =3D window;=0A=
=0A=
		// Make sure that the function being executed has a unique ID=0A=
		if ( !handler.guid )=0A=
			handler.guid =3D this.guid++;=0A=
=0A=
		// if data is passed, bind to handler=0A=
		if( data !=3D undefined ) {=0A=
			// Create temporary function pointer to original handler=0A=
			var fn =3D handler;=0A=
=0A=
			// Create unique handler function, wrapped around original handler=0A=
			handler =3D this.proxy( fn, function() {=0A=
				// Pass arguments and context to original handler=0A=
				return fn.apply(this, arguments);=0A=
			});=0A=
=0A=
			// Store data in unique handler=0A=
			handler.data =3D data;=0A=
		}=0A=
=0A=
		// Init the element's event structure=0A=
		var events =3D jQuery.data(elem, "events") || jQuery.data(elem, =
"events", {}),=0A=
			handle =3D jQuery.data(elem, "handle") || jQuery.data(elem, "handle", =
function(){=0A=
				// Handle the second event of a trigger and when=0A=
				// an event is called after a page has unloaded=0A=
				if ( typeof jQuery !=3D "undefined" && !jQuery.event.triggered )=0A=
					return jQuery.event.handle.apply(arguments.callee.elem, arguments);=0A=
			});=0A=
		// Add elem as a property of the handle function=0A=
		// This is to prevent a memory leak with non-native=0A=
		// event in IE.=0A=
		handle.elem =3D elem;=0A=
=0A=
		// Handle multiple events separated by a space=0A=
		// jQuery(...).bind("mouseover mouseout", fn);=0A=
		jQuery.each(types.split(/\s+/), function(index, type) {=0A=
			// Namespaced event handlers=0A=
			var parts =3D type.split(".");=0A=
			type =3D parts[0];=0A=
			handler.type =3D parts[1];=0A=
=0A=
			// Get the current list of functions bound to this event=0A=
			var handlers =3D events[type];=0A=
=0A=
			// Init the event handler queue=0A=
			if (!handlers) {=0A=
				handlers =3D events[type] =3D {};=0A=
=0A=
				// Check for a special event handler=0A=
				// Only use addEventListener/attachEvent if the special=0A=
				// events handler returns false=0A=
				if ( !jQuery.event.special[type] || =
jQuery.event.special[type].setup.call(elem) =3D=3D=3D false ) {=0A=
					// Bind the global event handler to the element=0A=
					if (elem.addEventListener)=0A=
						elem.addEventListener(type, handle, false);=0A=
					else if (elem.attachEvent)=0A=
						elem.attachEvent("on" + type, handle);=0A=
				}=0A=
			}=0A=
=0A=
			// Add the function to the element's handler list=0A=
			handlers[handler.guid] =3D handler;=0A=
=0A=
			// Keep track of which events have been used, for global triggering=0A=
			jQuery.event.global[type] =3D true;=0A=
		});=0A=
=0A=
		// Nullify elem to prevent memory leaks in IE=0A=
		elem =3D null;=0A=
	},=0A=
=0A=
	guid: 1,=0A=
	global: {},=0A=
=0A=
	// Detach an event or set of events from an element=0A=
	remove: function(elem, types, handler) {=0A=
		// don't do events on text and comment nodes=0A=
		if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )=0A=
			return;=0A=
=0A=
		var events =3D jQuery.data(elem, "events"), ret, index;=0A=
=0A=
		if ( events ) {=0A=
			// Unbind all events for the element=0A=
			if ( types =3D=3D undefined || (typeof types =3D=3D "string" && =
types.charAt(0) =3D=3D ".") )=0A=
				for ( var type in events )=0A=
					this.remove( elem, type + (types || "") );=0A=
			else {=0A=
				// types is actually an event object here=0A=
				if ( types.type ) {=0A=
					handler =3D types.handler;=0A=
					types =3D types.type;=0A=
				}=0A=
=0A=
				// Handle multiple events seperated by a space=0A=
				// jQuery(...).unbind("mouseover mouseout", fn);=0A=
				jQuery.each(types.split(/\s+/), function(index, type){=0A=
					// Namespaced event handlers=0A=
					var parts =3D type.split(".");=0A=
					type =3D parts[0];=0A=
=0A=
					if ( events[type] ) {=0A=
						// remove the given handler for the given type=0A=
						if ( handler )=0A=
							delete events[type][handler.guid];=0A=
=0A=
						// remove all handlers for the given type=0A=
						else=0A=
							for ( handler in events[type] )=0A=
								// Handle the removal of namespaced events=0A=
								if ( !parts[1] || events[type][handler].type =3D=3D parts[1] )=0A=
									delete events[type][handler];=0A=
=0A=
						// remove generic event handler if no more handlers exist=0A=
						for ( ret in events[type] ) break;=0A=
						if ( !ret ) {=0A=
							if ( !jQuery.event.special[type] || =
jQuery.event.special[type].teardown.call(elem) =3D=3D=3D false ) {=0A=
								if (elem.removeEventListener)=0A=
									elem.removeEventListener(type, jQuery.data(elem, "handle"), =
false);=0A=
								else if (elem.detachEvent)=0A=
									elem.detachEvent("on" + type, jQuery.data(elem, "handle"));=0A=
							}=0A=
							ret =3D null;=0A=
							delete events[type];=0A=
						}=0A=
					}=0A=
				});=0A=
			}=0A=
=0A=
			// Remove the expando if it's no longer used=0A=
			for ( ret in events ) break;=0A=
			if ( !ret ) {=0A=
				var handle =3D jQuery.data( elem, "handle" );=0A=
				if ( handle ) handle.elem =3D null;=0A=
				jQuery.removeData( elem, "events" );=0A=
				jQuery.removeData( elem, "handle" );=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	trigger: function(type, data, elem, donative, extra) {=0A=
		// Clone the incoming data, if any=0A=
		data =3D jQuery.makeArray(data);=0A=
=0A=
		if ( type.indexOf("!") >=3D 0 ) {=0A=
			type =3D type.slice(0, -1);=0A=
			var exclusive =3D true;=0A=
		}=0A=
=0A=
		// Handle a global trigger=0A=
		if ( !elem ) {=0A=
			// Only trigger if we've ever bound an event for it=0A=
			if ( this.global[type] )=0A=
				jQuery("*").add([window, document]).trigger(type, data);=0A=
=0A=
		// Handle triggering a single element=0A=
		} else {=0A=
			// don't do events on text and comment nodes=0A=
			if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )=0A=
				return undefined;=0A=
=0A=
			var val, ret, fn =3D jQuery.isFunction( elem[ type ] || null ),=0A=
				// Check to see if we need to provide a fake event, or not=0A=
				event =3D !data[0] || !data[0].preventDefault;=0A=
=0A=
			// Pass along a fake event=0A=
			if ( event ) {=0A=
				data.unshift({=0A=
					type: type,=0A=
					target: elem,=0A=
					preventDefault: function(){},=0A=
					stopPropagation: function(){},=0A=
					timeStamp: now()=0A=
				});=0A=
				data[0][expando] =3D true; // no need to fix fake event=0A=
			}=0A=
=0A=
			// Enforce the right trigger type=0A=
			data[0].type =3D type;=0A=
			if ( exclusive )=0A=
				data[0].exclusive =3D true;=0A=
=0A=
			// Trigger the event, it is assumed that "handle" is a function=0A=
			var handle =3D jQuery.data(elem, "handle");=0A=
			if ( handle )=0A=
				val =3D handle.apply( elem, data );=0A=
=0A=
			// Handle triggering native .onfoo handlers (and on links since we =
don't call .click() for links)=0A=
			if ( (!fn || (jQuery.nodeName(elem, 'a') && type =3D=3D "click")) && =
elem["on"+type] && elem["on"+type].apply( elem, data ) =3D=3D=3D false )=0A=
				val =3D false;=0A=
=0A=
			// Extra functions don't get the custom event object=0A=
			if ( event )=0A=
				data.shift();=0A=
=0A=
			// Handle triggering of extra function=0A=
			if ( extra && jQuery.isFunction( extra ) ) {=0A=
				// call the extra function and tack the current return value on the =
end for possible inspection=0A=
				ret =3D extra.apply( elem, val =3D=3D null ? data : data.concat( val =
) );=0A=
				// if anything is returned, give it precedence and have it overwrite =
the previous value=0A=
				if (ret !=3D=3D undefined)=0A=
					val =3D ret;=0A=
			}=0A=
=0A=
			// Trigger the native events (except for clicks on links)=0A=
			if ( fn && donative !=3D=3D false && val !=3D=3D false && =
!(jQuery.nodeName(elem, 'a') && type =3D=3D "click") ) {=0A=
				this.triggered =3D true;=0A=
				try {=0A=
					elem[ type ]();=0A=
				// prevent IE from throwing an error for some hidden elements=0A=
				} catch (e) {}=0A=
			}=0A=
=0A=
			this.triggered =3D false;=0A=
		}=0A=
=0A=
		return val;=0A=
	},=0A=
=0A=
	handle: function(event) {=0A=
		// returned undefined or false=0A=
		var val, ret, namespace, all, handlers;=0A=
=0A=
		event =3D arguments[0] =3D jQuery.event.fix( event || window.event );=0A=
=0A=
		// Namespaced event handlers=0A=
		namespace =3D event.type.split(".");=0A=
		event.type =3D namespace[0];=0A=
		namespace =3D namespace[1];=0A=
		// Cache this now, all =3D true means, any handler=0A=
		all =3D !namespace && !event.exclusive;=0A=
=0A=
		handlers =3D ( jQuery.data(this, "events") || {} )[event.type];=0A=
=0A=
		for ( var j in handlers ) {=0A=
			var handler =3D handlers[j];=0A=
=0A=
			// Filter the functions by class=0A=
			if ( all || handler.type =3D=3D namespace ) {=0A=
				// Pass in a reference to the handler function itself=0A=
				// So that we can later remove it=0A=
				event.handler =3D handler;=0A=
				event.data =3D handler.data;=0A=
=0A=
				ret =3D handler.apply( this, arguments );=0A=
=0A=
				if ( val !=3D=3D false )=0A=
					val =3D ret;=0A=
=0A=
				if ( ret =3D=3D=3D false ) {=0A=
					event.preventDefault();=0A=
					event.stopPropagation();=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return val;=0A=
	},=0A=
=0A=
	fix: function(event) {=0A=
		if ( event[expando] =3D=3D true )=0A=
			return event;=0A=
=0A=
		// store a copy of the original event object=0A=
		// and "clone" to set read-only properties=0A=
		var originalEvent =3D event;=0A=
		event =3D { originalEvent: originalEvent };=0A=
		var props =3D "altKey attrChange attrName bubbles button cancelable =
charCode clientX clientY ctrlKey currentTarget data detail eventPhase =
fromElement handler keyCode metaKey newValue originalTarget pageX pageY =
prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement =
target timeStamp toElement type view wheelDelta which".split(" ");=0A=
		for ( var i=3Dprops.length; i; i-- )=0A=
			event[ props[i] ] =3D originalEvent[ props[i] ];=0A=
=0A=
		// Mark it as fixed=0A=
		event[expando] =3D true;=0A=
=0A=
		// add preventDefault and stopPropagation since=0A=
		// they will not work on the clone=0A=
		event.preventDefault =3D function() {=0A=
			// if preventDefault exists run it on the original event=0A=
			if (originalEvent.preventDefault)=0A=
				originalEvent.preventDefault();=0A=
			// otherwise set the returnValue property of the original event to =
false (IE)=0A=
			originalEvent.returnValue =3D false;=0A=
		};=0A=
		event.stopPropagation =3D function() {=0A=
			// if stopPropagation exists run it on the original event=0A=
			if (originalEvent.stopPropagation)=0A=
				originalEvent.stopPropagation();=0A=
			// otherwise set the cancelBubble property of the original event to =
true (IE)=0A=
			originalEvent.cancelBubble =3D true;=0A=
		};=0A=
=0A=
		// Fix timeStamp=0A=
		event.timeStamp =3D event.timeStamp || now();=0A=
=0A=
		// Fix target property, if necessary=0A=
		if ( !event.target )=0A=
			event.target =3D event.srcElement || document; // Fixes #1925 where =
srcElement might not be defined either=0A=
=0A=
		// check if target is a textnode (safari)=0A=
		if ( event.target.nodeType =3D=3D 3 )=0A=
			event.target =3D event.target.parentNode;=0A=
=0A=
		// Add relatedTarget, if necessary=0A=
		if ( !event.relatedTarget && event.fromElement )=0A=
			event.relatedTarget =3D event.fromElement =3D=3D event.target ? =
event.toElement : event.fromElement;=0A=
=0A=
		// Calculate pageX/Y if missing and clientX/Y available=0A=
		if ( event.pageX =3D=3D null && event.clientX !=3D null ) {=0A=
			var doc =3D document.documentElement, body =3D document.body;=0A=
			event.pageX =3D event.clientX + (doc && doc.scrollLeft || body && =
body.scrollLeft || 0) - (doc.clientLeft || 0);=0A=
			event.pageY =3D event.clientY + (doc && doc.scrollTop || body && =
body.scrollTop || 0) - (doc.clientTop || 0);=0A=
		}=0A=
=0A=
		// Add which for key events=0A=
		if ( !event.which && ((event.charCode || event.charCode =3D=3D=3D 0) ? =
event.charCode : event.keyCode) )=0A=
			event.which =3D event.charCode || event.keyCode;=0A=
=0A=
		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for =
Macs)=0A=
		if ( !event.metaKey && event.ctrlKey )=0A=
			event.metaKey =3D event.ctrlKey;=0A=
=0A=
		// Add which for click: 1 =3D=3D left; 2 =3D=3D middle; 3 =3D=3D right=0A=
		// Note: button is not normalized, so don't use it=0A=
		if ( !event.which && event.button )=0A=
			event.which =3D (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( =
event.button & 4 ? 2 : 0 ) ));=0A=
=0A=
		return event;=0A=
	},=0A=
=0A=
	proxy: function( fn, proxy ){=0A=
		// Set the guid of unique handler to the same of original handler, so =
it can be removed=0A=
		proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || this.guid++;=0A=
		// So proxy can be declared as an argument=0A=
		return proxy;=0A=
	},=0A=
=0A=
	special: {=0A=
		ready: {=0A=
			setup: function() {=0A=
				// Make sure the ready event is setup=0A=
				bindReady();=0A=
				return;=0A=
			},=0A=
=0A=
			teardown: function() { return; }=0A=
		},=0A=
=0A=
		mouseenter: {=0A=
			setup: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).bind("mouseover", =
jQuery.event.special.mouseenter.handler);=0A=
				return true;=0A=
			},=0A=
=0A=
			teardown: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).unbind("mouseover", =
jQuery.event.special.mouseenter.handler);=0A=
				return true;=0A=
			},=0A=
=0A=
			handler: function(event) {=0A=
				// If we actually just moused on to a sub-element, ignore it=0A=
				if ( withinElement(event, this) ) return true;=0A=
				// Execute the right handlers by setting the event type to mouseenter=0A=
				event.type =3D "mouseenter";=0A=
				return jQuery.event.handle.apply(this, arguments);=0A=
			}=0A=
		},=0A=
=0A=
		mouseleave: {=0A=
			setup: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).bind("mouseout", =
jQuery.event.special.mouseleave.handler);=0A=
				return true;=0A=
			},=0A=
=0A=
			teardown: function() {=0A=
				if ( jQuery.browser.msie ) return false;=0A=
				jQuery(this).unbind("mouseout", =
jQuery.event.special.mouseleave.handler);=0A=
				return true;=0A=
			},=0A=
=0A=
			handler: function(event) {=0A=
				// If we actually just moused on to a sub-element, ignore it=0A=
				if ( withinElement(event, this) ) return true;=0A=
				// Execute the right handlers by setting the event type to mouseleave=0A=
				event.type =3D "mouseleave";=0A=
				return jQuery.event.handle.apply(this, arguments);=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
jQuery.fn.extend({=0A=
	bind: function( type, data, fn ) {=0A=
		return type =3D=3D "unload" ? this.one(type, data, fn) : =
this.each(function(){=0A=
			jQuery.event.add( this, type, fn || data, fn && data );=0A=
		});=0A=
	},=0A=
=0A=
	one: function( type, data, fn ) {=0A=
		var one =3D jQuery.event.proxy( fn || data, function(event) {=0A=
			jQuery(this).unbind(event, one);=0A=
			return (fn || data).apply( this, arguments );=0A=
		});=0A=
		return this.each(function(){=0A=
			jQuery.event.add( this, type, one, fn && data);=0A=
		});=0A=
	},=0A=
=0A=
	unbind: function( type, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.event.remove( this, type, fn );=0A=
		});=0A=
	},=0A=
=0A=
	trigger: function( type, data, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.event.trigger( type, data, this, true, fn );=0A=
		});=0A=
	},=0A=
=0A=
	triggerHandler: function( type, data, fn ) {=0A=
		return this[0] && jQuery.event.trigger( type, data, this[0], false, fn =
);=0A=
	},=0A=
=0A=
	toggle: function( fn ) {=0A=
		// Save reference to arguments for access in closure=0A=
		var args =3D arguments, i =3D 1;=0A=
=0A=
		// link all the functions, so any of them can unbind this click handler=0A=
		while( i < args.length )=0A=
			jQuery.event.proxy( fn, args[i++] );=0A=
=0A=
		return this.click( jQuery.event.proxy( fn, function(event) {=0A=
			// Figure out which function to execute=0A=
			this.lastToggle =3D ( this.lastToggle || 0 ) % i;=0A=
=0A=
			// Make sure that clicks stop=0A=
			event.preventDefault();=0A=
=0A=
			// and execute the function=0A=
			return args[ this.lastToggle++ ].apply( this, arguments ) || false;=0A=
		}));=0A=
	},=0A=
=0A=
	hover: function(fnOver, fnOut) {=0A=
		return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut);=0A=
	},=0A=
=0A=
	ready: function(fn) {=0A=
		// Attach the listeners=0A=
		bindReady();=0A=
=0A=
		// If the DOM is already ready=0A=
		if ( jQuery.isReady )=0A=
			// Execute the function immediately=0A=
			fn.call( document, jQuery );=0A=
=0A=
		// Otherwise, remember the function for later=0A=
		else=0A=
			// Add the function to the wait list=0A=
			jQuery.readyList.push( function() { return fn.call(this, jQuery); } );=0A=
=0A=
		return this;=0A=
	}=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	isReady: false,=0A=
	readyList: [],=0A=
	// Handle when the DOM is ready=0A=
	ready: function() {=0A=
		// Make sure that the DOM is not already loaded=0A=
		if ( !jQuery.isReady ) {=0A=
			// Remember that the DOM is ready=0A=
			jQuery.isReady =3D true;=0A=
=0A=
			// If there are functions bound, to execute=0A=
			if ( jQuery.readyList ) {=0A=
				// Execute all of them=0A=
				jQuery.each( jQuery.readyList, function(){=0A=
					this.call( document );=0A=
				});=0A=
=0A=
				// Reset the list of functions=0A=
				jQuery.readyList =3D null;=0A=
			}=0A=
=0A=
			// Trigger any bound ready events=0A=
			jQuery(document).triggerHandler("ready");=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
var readyBound =3D false;=0A=
=0A=
function bindReady(){=0A=
	if ( readyBound ) return;=0A=
	readyBound =3D true;=0A=
=0A=
	// Mozilla, Opera (see further below for it) and webkit nightlies =
currently support this event=0A=
	if ( document.addEventListener && !jQuery.browser.opera)=0A=
		// Use the handy event callback=0A=
		document.addEventListener( "DOMContentLoaded", jQuery.ready, false );=0A=
=0A=
	// If IE is used and is not in a frame=0A=
	// Continually check to see if the document is ready=0A=
	if ( jQuery.browser.msie && window =3D=3D top ) (function(){=0A=
		if (jQuery.isReady) return;=0A=
		try {=0A=
			// If IE is used, use the trick by Diego Perini=0A=
			// http://javascript.nwbox.com/IEContentLoaded/=0A=
			document.documentElement.doScroll("left");=0A=
		} catch( error ) {=0A=
			setTimeout( arguments.callee, 0 );=0A=
			return;=0A=
		}=0A=
		// and execute any waiting functions=0A=
		jQuery.ready();=0A=
	})();=0A=
=0A=
	if ( jQuery.browser.opera )=0A=
		document.addEventListener( "DOMContentLoaded", function () {=0A=
			if (jQuery.isReady) return;=0A=
			for (var i =3D 0; i < document.styleSheets.length; i++)=0A=
				if (document.styleSheets[i].disabled) {=0A=
					setTimeout( arguments.callee, 0 );=0A=
					return;=0A=
				}=0A=
			// and execute any waiting functions=0A=
			jQuery.ready();=0A=
		}, false);=0A=
=0A=
	if ( jQuery.browser.safari ) {=0A=
		var numStyles;=0A=
		(function(){=0A=
			if (jQuery.isReady) return;=0A=
			if ( document.readyState !=3D "loaded" && document.readyState !=3D =
"complete" ) {=0A=
				setTimeout( arguments.callee, 0 );=0A=
				return;=0A=
			}=0A=
			if ( numStyles =3D=3D=3D undefined )=0A=
				numStyles =3D jQuery("style, link[rel=3Dstylesheet]").length;=0A=
			if ( document.styleSheets.length !=3D numStyles ) {=0A=
				setTimeout( arguments.callee, 0 );=0A=
				return;=0A=
			}=0A=
			// and execute any waiting functions=0A=
			jQuery.ready();=0A=
		})();=0A=
	}=0A=
=0A=
	// A fallback to window.onload, that will always work=0A=
	jQuery.event.add( window, "load", jQuery.ready );=0A=
}=0A=
=0A=
jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +=0A=
	"mousedown,mouseup,mousemove,mouseover,mouseout,change,select," +=0A=
	"submit,keydown,keypress,keyup,error").split(","), function(i, name){=0A=
=0A=
	// Handle event binding=0A=
	jQuery.fn[name] =3D function(fn){=0A=
		return fn ? this.bind(name, fn) : this.trigger(name);=0A=
	};=0A=
});=0A=
=0A=
// Checks if an event happened on an element within another element=0A=
// Used in jQuery.event.special.mouseenter and mouseleave handlers=0A=
var withinElement =3D function(event, elem) {=0A=
	// Check if mouse(over|out) are still within the same parent element=0A=
	var parent =3D event.relatedTarget;=0A=
	// Traverse up the tree=0A=
	while ( parent && parent !=3D elem ) try { parent =3D =
parent.parentNode; } catch(error) { parent =3D elem; }=0A=
	// Return true if we actually just moused on to a sub-element=0A=
	return parent =3D=3D elem;=0A=
};=0A=
=0A=
// Prevent memory leaks in IE=0A=
// And prevent errors on refresh with events like mouseover in other =
browsers=0A=
// Window isn't included so as not to unbind existing unload events=0A=
jQuery(window).bind("unload", function() {=0A=
	jQuery("*").add(document).unbind();=0A=
});=0A=
jQuery.fn.extend({=0A=
	// Keep a copy of the old load=0A=
	_load: jQuery.fn.load,=0A=
=0A=
	load: function( url, params, callback ) {=0A=
		if ( typeof url !=3D 'string' )=0A=
			return this._load( url );=0A=
=0A=
		var off =3D url.indexOf(" ");=0A=
		if ( off >=3D 0 ) {=0A=
			var selector =3D url.slice(off, url.length);=0A=
			url =3D url.slice(0, off);=0A=
		}=0A=
=0A=
		callback =3D callback || function(){};=0A=
=0A=
		// Default to a GET request=0A=
		var type =3D "GET";=0A=
=0A=
		// If the second parameter was provided=0A=
		if ( params )=0A=
			// If it's a function=0A=
			if ( jQuery.isFunction( params ) ) {=0A=
				// We assume that it's the callback=0A=
				callback =3D params;=0A=
				params =3D null;=0A=
=0A=
			// Otherwise, build a param string=0A=
			} else {=0A=
				params =3D jQuery.param( params );=0A=
				type =3D "POST";=0A=
			}=0A=
=0A=
		var self =3D this;=0A=
=0A=
		// Request the remote document=0A=
		jQuery.ajax({=0A=
			url: url,=0A=
			type: type,=0A=
			dataType: "html",=0A=
			data: params,=0A=
			complete: function(res, status){=0A=
				// If successful, inject the HTML into all the matched elements=0A=
				if ( status =3D=3D "success" || status =3D=3D "notmodified" )=0A=
					// See if a selector was specified=0A=
					self.html( selector ?=0A=
						// Create a dummy div to hold the results=0A=
						jQuery("<div/>")=0A=
							// inject the contents of the document in, removing the scripts=0A=
							// to avoid any 'Permission Denied' errors in IE=0A=
							.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))=0A=
=0A=
							// Locate the specified elements=0A=
							.find(selector) :=0A=
=0A=
						// If not, just inject the full result=0A=
						res.responseText );=0A=
=0A=
				self.each( callback, [res.responseText, status, res] );=0A=
			}=0A=
		});=0A=
		return this;=0A=
	},=0A=
=0A=
	serialize: function() {=0A=
		return jQuery.param(this.serializeArray());=0A=
	},=0A=
	serializeArray: function() {=0A=
		return this.map(function(){=0A=
			return jQuery.nodeName(this, "form") ?=0A=
				jQuery.makeArray(this.elements) : this;=0A=
		})=0A=
		.filter(function(){=0A=
			return this.name && !this.disabled &&=0A=
				(this.checked || /select|textarea/i.test(this.nodeName) ||=0A=
					/text|hidden|password/i.test(this.type));=0A=
		})=0A=
		.map(function(i, elem){=0A=
			var val =3D jQuery(this).val();=0A=
			return val =3D=3D null ? null :=0A=
				val.constructor =3D=3D Array ?=0A=
					jQuery.map( val, function(val, i){=0A=
						return {name: elem.name, value: val};=0A=
					}) :=0A=
					{name: elem.name, value: val};=0A=
		}).get();=0A=
	}=0A=
});=0A=
=0A=
// Attach a bunch of functions for handling common AJAX events=0A=
jQuery.each( =
"ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(",=
"), function(i,o){=0A=
	jQuery.fn[o] =3D function(f){=0A=
		return this.bind(o, f);=0A=
	};=0A=
});=0A=
=0A=
var jsc =3D now();=0A=
=0A=
jQuery.extend({=0A=
	get: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was ommited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			callback =3D data;=0A=
			data =3D null;=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "GET",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	getScript: function( url, callback ) {=0A=
		return jQuery.get(url, null, callback, "script");=0A=
	},=0A=
=0A=
	getJSON: function( url, data, callback ) {=0A=
		return jQuery.get(url, data, callback, "json");=0A=
	},=0A=
=0A=
	post: function( url, data, callback, type ) {=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			callback =3D data;=0A=
			data =3D {};=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "POST",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	ajaxSetup: function( settings ) {=0A=
		jQuery.extend( jQuery.ajaxSettings, settings );=0A=
	},=0A=
=0A=
	ajaxSettings: {=0A=
		url: location.href,=0A=
		global: true,=0A=
		type: "GET",=0A=
		timeout: 0,=0A=
		contentType: "application/x-www-form-urlencoded",=0A=
		processData: true,=0A=
		async: true,=0A=
		data: null,=0A=
		username: null,=0A=
		password: null,=0A=
		accepts: {=0A=
			xml: "application/xml, text/xml",=0A=
			html: "text/html",=0A=
			script: "text/javascript, application/javascript",=0A=
			json: "application/json, text/javascript",=0A=
			text: "text/plain",=0A=
			_default: "*/*"=0A=
		}=0A=
	},=0A=
=0A=
	// Last-Modified header cache for next request=0A=
	lastModified: {},=0A=
=0A=
	ajax: function( s ) {=0A=
		// Extend the settings, but re-extend 's' so that it can be=0A=
		// checked again later (in the test suite, specifically)=0A=
		s =3D jQuery.extend(true, s, jQuery.extend(true, {}, =
jQuery.ajaxSettings, s));=0A=
=0A=
		var jsonp, jsre =3D /=3D\?(&|$)/g, status, data,=0A=
			type =3D s.type.toUpperCase();=0A=
=0A=
		// convert data if not already a string=0A=
		if ( s.data && s.processData && typeof s.data !=3D "string" )=0A=
			s.data =3D jQuery.param(s.data);=0A=
=0A=
		// Handle JSONP Parameter Callbacks=0A=
		if ( s.dataType =3D=3D "jsonp" ) {=0A=
			if ( type =3D=3D "GET" ) {=0A=
				if ( !s.url.match(jsre) )=0A=
					s.url +=3D (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || =
"callback") + "=3D?";=0A=
			} else if ( !s.data || !s.data.match(jsre) )=0A=
				s.data =3D (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + =
"=3D?";=0A=
			s.dataType =3D "json";=0A=
		}=0A=
=0A=
		// Build temporary JSONP function=0A=
		if ( s.dataType =3D=3D "json" && (s.data && s.data.match(jsre) || =
s.url.match(jsre)) ) {=0A=
			jsonp =3D "jsonp" + jsc++;=0A=
=0A=
			// Replace the =3D? sequence both in the query string and the data=0A=
			if ( s.data )=0A=
				s.data =3D (s.data + "").replace(jsre, "=3D" + jsonp + "$1");=0A=
			s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");=0A=
=0A=
			// We need to make sure=0A=
			// that a JSONP style response is executed properly=0A=
			s.dataType =3D "script";=0A=
=0A=
			// Handle JSONP-style loading=0A=
			window[ jsonp ] =3D function(tmp){=0A=
				data =3D tmp;=0A=
				success();=0A=
				complete();=0A=
				// Garbage collect=0A=
				window[ jsonp ] =3D undefined;=0A=
				try{ delete window[ jsonp ]; } catch(e){}=0A=
				if ( head )=0A=
					head.removeChild( script );=0A=
			};=0A=
		}=0A=
=0A=
		if ( s.dataType =3D=3D "script" && s.cache =3D=3D null )=0A=
			s.cache =3D false;=0A=
=0A=
		if ( s.cache =3D=3D=3D false && type =3D=3D "GET" ) {=0A=
			var ts =3D now();=0A=
			// try replacing _=3D if it is there=0A=
			var ret =3D s.url.replace(/(\?|&)_=3D.*?(&|$)/, "$1_=3D" + ts + "$2");=0A=
			// if nothing was replaced, add timestamp to the end=0A=
			s.url =3D ret + ((ret =3D=3D s.url) ? (s.url.match(/\?/) ? "&" : "?") =
+ "_=3D" + ts : "");=0A=
		}=0A=
=0A=
		// If data is available, append data to url for get requests=0A=
		if ( s.data && type =3D=3D "GET" ) {=0A=
			s.url +=3D (s.url.match(/\?/) ? "&" : "?") + s.data;=0A=
=0A=
			// IE likes to send both get and post data, prevent this=0A=
			s.data =3D null;=0A=
		}=0A=
=0A=
		// Watch for a new set of requests=0A=
		if ( s.global && ! jQuery.active++ )=0A=
			jQuery.event.trigger( "ajaxStart" );=0A=
=0A=
		// Matches an absolute URL, and saves the domain=0A=
		var remote =3D /^(?:\w+:)?\/\/([^\/?#]+)/;=0A=
=0A=
		// If we're requesting a remote document=0A=
		// and trying to load JSON or Script with a GET=0A=
		if ( s.dataType =3D=3D "script" && type =3D=3D "GET"=0A=
				&& remote.test(s.url) && remote.exec(s.url)[1] !=3D location.host ){=0A=
			var head =3D document.getElementsByTagName("head")[0];=0A=
			var script =3D document.createElement("script");=0A=
			script.src =3D s.url;=0A=
			if (s.scriptCharset)=0A=
				script.charset =3D s.scriptCharset;=0A=
=0A=
			// Handle Script loading=0A=
			if ( !jsonp ) {=0A=
				var done =3D false;=0A=
=0A=
				// Attach handlers for all browsers=0A=
				script.onload =3D script.onreadystatechange =3D function(){=0A=
					if ( !done && (!this.readyState ||=0A=
							this.readyState =3D=3D "loaded" || this.readyState =3D=3D =
"complete") ) {=0A=
						done =3D true;=0A=
						success();=0A=
						complete();=0A=
						head.removeChild( script );=0A=
					}=0A=
				};=0A=
			}=0A=
=0A=
			head.appendChild(script);=0A=
=0A=
			// We handle everything using the script element injection=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var requestDone =3D false;=0A=
=0A=
		// Create the request object; Microsoft failed to properly=0A=
		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject =
when it is available=0A=
		var xhr =3D window.ActiveXObject ? new =
ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();=0A=
=0A=
		// Open the socket=0A=
		// Passing null username, generates a login popup on Opera (#2865)=0A=
		if( s.username )=0A=
			xhr.open(type, s.url, s.async, s.username, s.password);=0A=
		else=0A=
			xhr.open(type, s.url, s.async);=0A=
=0A=
		// Need an extra try/catch for cross domain requests in Firefox 3=0A=
		try {=0A=
			// Set the correct header, if data is being sent=0A=
			if ( s.data )=0A=
				xhr.setRequestHeader("Content-Type", s.contentType);=0A=
=0A=
			// Set the If-Modified-Since header, if ifModified mode.=0A=
			if ( s.ifModified )=0A=
				xhr.setRequestHeader("If-Modified-Since",=0A=
					jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );=0A=
=0A=
			// Set header so the called script knows that it's an XMLHttpRequest=0A=
			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");=0A=
=0A=
			// Set the Accepts header for the server, depending on the dataType=0A=
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?=0A=
				s.accepts[ s.dataType ] + ", */*" :=0A=
				s.accepts._default );=0A=
		} catch(e){}=0A=
=0A=
		// Allow custom headers/mimetypes=0A=
		if ( s.beforeSend && s.beforeSend(xhr, s) =3D=3D=3D false ) {=0A=
			// cleanup active request counter=0A=
			s.global && jQuery.active--;=0A=
			// close opended socket=0A=
			xhr.abort();=0A=
			return false;=0A=
		}=0A=
=0A=
		if ( s.global )=0A=
			jQuery.event.trigger("ajaxSend", [xhr, s]);=0A=
=0A=
		// Wait for a response to come back=0A=
		var onreadystatechange =3D function(isTimeout){=0A=
			// The transfer is complete and the data is available, or the request =
timed out=0A=
			if ( !requestDone && xhr && (xhr.readyState =3D=3D 4 || isTimeout =
=3D=3D "timeout") ) {=0A=
				requestDone =3D true;=0A=
=0A=
				// clear poll interval=0A=
				if (ival) {=0A=
					clearInterval(ival);=0A=
					ival =3D null;=0A=
				}=0A=
=0A=
				status =3D isTimeout =3D=3D "timeout" && "timeout" ||=0A=
					!jQuery.httpSuccess( xhr ) && "error" ||=0A=
					s.ifModified && jQuery.httpNotModified( xhr, s.url ) && =
"notmodified" ||=0A=
					"success";=0A=
=0A=
				if ( status =3D=3D "success" ) {=0A=
					// Watch for, and catch, XML document parse errors=0A=
					try {=0A=
						// process the data (runs the xml through httpData regardless of =
callback)=0A=
						data =3D jQuery.httpData( xhr, s.dataType, s.dataFilter );=0A=
					} catch(e) {=0A=
						status =3D "parsererror";=0A=
					}=0A=
				}=0A=
=0A=
				// Make sure that the request was successful or notmodified=0A=
				if ( status =3D=3D "success" ) {=0A=
					// Cache Last-Modified header, if ifModified mode.=0A=
					var modRes;=0A=
					try {=0A=
						modRes =3D xhr.getResponseHeader("Last-Modified");=0A=
					} catch(e) {} // swallow exception thrown by FF if header is not =
available=0A=
=0A=
					if ( s.ifModified && modRes )=0A=
						jQuery.lastModified[s.url] =3D modRes;=0A=
=0A=
					// JSONP handles its own success callback=0A=
					if ( !jsonp )=0A=
						success();=0A=
				} else=0A=
					jQuery.handleError(s, xhr, status);=0A=
=0A=
				// Fire the complete handlers=0A=
				complete();=0A=
=0A=
				// Stop memory leaks=0A=
				if ( s.async )=0A=
					xhr =3D null;=0A=
			}=0A=
		};=0A=
=0A=
		if ( s.async ) {=0A=
			// don't attach the handler to the request, just poll it instead=0A=
			var ival =3D setInterval(onreadystatechange, 13);=0A=
=0A=
			// Timeout checker=0A=
			if ( s.timeout > 0 )=0A=
				setTimeout(function(){=0A=
					// Check to see if the request is still happening=0A=
					if ( xhr ) {=0A=
						// Cancel the request=0A=
						xhr.abort();=0A=
=0A=
						if( !requestDone )=0A=
							onreadystatechange( "timeout" );=0A=
					}=0A=
				}, s.timeout);=0A=
		}=0A=
=0A=
		// Send the data=0A=
		try {=0A=
			xhr.send(s.data);=0A=
		} catch(e) {=0A=
			jQuery.handleError(s, xhr, null, e);=0A=
		}=0A=
=0A=
		// firefox 1.5 doesn't fire statechange for sync requests=0A=
		if ( !s.async )=0A=
			onreadystatechange();=0A=
=0A=
		function success(){=0A=
			// If a local callback was specified, fire it and pass it the data=0A=
			if ( s.success )=0A=
				s.success( data, status );=0A=
=0A=
			// Fire the global callback=0A=
			if ( s.global )=0A=
				jQuery.event.trigger( "ajaxSuccess", [xhr, s] );=0A=
		}=0A=
=0A=
		function complete(){=0A=
			// Process result=0A=
			if ( s.complete )=0A=
				s.complete(xhr, status);=0A=
=0A=
			// The request was completed=0A=
			if ( s.global )=0A=
				jQuery.event.trigger( "ajaxComplete", [xhr, s] );=0A=
=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active )=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
		}=0A=
=0A=
		// return XMLHttpRequest to allow aborting the request etc.=0A=
		return xhr;=0A=
	},=0A=
=0A=
	handleError: function( s, xhr, status, e ) {=0A=
		// If a local callback was specified, fire it=0A=
		if ( s.error ) s.error( xhr, status, e );=0A=
=0A=
		// Fire the global callback=0A=
		if ( s.global )=0A=
			jQuery.event.trigger( "ajaxError", [xhr, s, e] );=0A=
	},=0A=
=0A=
	// Counter for holding the number of active queries=0A=
	active: 0,=0A=
=0A=
	// Determines if an XMLHttpRequest was successful or not=0A=
	httpSuccess: function( xhr ) {=0A=
		try {=0A=
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450=0A=
			return !xhr.status && location.protocol =3D=3D "file:" ||=0A=
				( xhr.status >=3D 200 && xhr.status < 300 ) || xhr.status =3D=3D 304 =
|| xhr.status =3D=3D 1223 ||=0A=
				jQuery.browser.safari && xhr.status =3D=3D undefined;=0A=
		} catch(e){}=0A=
		return false;=0A=
	},=0A=
=0A=
	// Determines if an XMLHttpRequest returns NotModified=0A=
	httpNotModified: function( xhr, url ) {=0A=
		try {=0A=
			var xhrRes =3D xhr.getResponseHeader("Last-Modified");=0A=
=0A=
			// Firefox always returns 200. check Last-Modified date=0A=
			return xhr.status =3D=3D 304 || xhrRes =3D=3D =
jQuery.lastModified[url] ||=0A=
				jQuery.browser.safari && xhr.status =3D=3D undefined;=0A=
		} catch(e){}=0A=
		return false;=0A=
	},=0A=
=0A=
	httpData: function( xhr, type, filter ) {=0A=
		var ct =3D xhr.getResponseHeader("content-type"),=0A=
			xml =3D type =3D=3D "xml" || !type && ct && ct.indexOf("xml") >=3D 0,=0A=
			data =3D xml ? xhr.responseXML : xhr.responseText;=0A=
=0A=
		if ( xml && data.documentElement.tagName =3D=3D "parsererror" )=0A=
			throw "parsererror";=0A=
			=0A=
		// Allow a pre-filtering function to sanitize the response=0A=
		if( filter )=0A=
			data =3D filter( data, type );=0A=
=0A=
		// If the type is "script", eval it in global context=0A=
		if ( type =3D=3D "script" )=0A=
			jQuery.globalEval( data );=0A=
=0A=
		// Get the JavaScript object, if JSON is used.=0A=
		if ( type =3D=3D "json" )=0A=
			data =3D eval("(" + data + ")");=0A=
=0A=
		return data;=0A=
	},=0A=
=0A=
	// Serialize an array of form elements or a set of=0A=
	// key/values into a query string=0A=
	param: function( a ) {=0A=
		var s =3D [];=0A=
=0A=
		// If an array was passed in, assume that it is an array=0A=
		// of form elements=0A=
		if ( a.constructor =3D=3D Array || a.jquery )=0A=
			// Serialize the form elements=0A=
			jQuery.each( a, function(){=0A=
				s.push( encodeURIComponent(this.name) + "=3D" + encodeURIComponent( =
this.value ) );=0A=
			});=0A=
=0A=
		// Otherwise, assume that it's an object of key/value pairs=0A=
		else=0A=
			// Serialize the key/values=0A=
			for ( var j in a )=0A=
				// If the value is an array then the key names need to be repeated=0A=
				if ( a[j] && a[j].constructor =3D=3D Array )=0A=
					jQuery.each( a[j], function(){=0A=
						s.push( encodeURIComponent(j) + "=3D" + encodeURIComponent( this ) =
);=0A=
					});=0A=
				else=0A=
					s.push( encodeURIComponent(j) + "=3D" + encodeURIComponent( =
jQuery.isFunction(a[j]) ? a[j]() : a[j] ) );=0A=
=0A=
		// Return the resulting serialization=0A=
		return s.join("&").replace(/%20/g, "+");=0A=
	}=0A=
=0A=
});=0A=
jQuery.fn.extend({=0A=
	show: function(speed,callback){=0A=
		return speed ?=0A=
			this.animate({=0A=
				height: "show", width: "show", opacity: "show"=0A=
			}, speed, callback) :=0A=
=0A=
			this.filter(":hidden").each(function(){=0A=
				this.style.display =3D this.oldblock || "";=0A=
				if ( jQuery.css(this,"display") =3D=3D "none" ) {=0A=
					var elem =3D jQuery("<" + this.tagName + " />").appendTo("body");=0A=
					this.style.display =3D elem.css("display");=0A=
					// handle an edge condition where css is - div { display:none; } or =
similar=0A=
					if (this.style.display =3D=3D "none")=0A=
						this.style.display =3D "block";=0A=
					elem.remove();=0A=
				}=0A=
			}).end();=0A=
	},=0A=
=0A=
	hide: function(speed,callback){=0A=
		return speed ?=0A=
			this.animate({=0A=
				height: "hide", width: "hide", opacity: "hide"=0A=
			}, speed, callback) :=0A=
=0A=
			this.filter(":visible").each(function(){=0A=
				this.oldblock =3D this.oldblock || jQuery.css(this,"display");=0A=
				this.style.display =3D "none";=0A=
			}).end();=0A=
	},=0A=
=0A=
	// Save the old toggle function=0A=
	_toggle: jQuery.fn.toggle,=0A=
=0A=
	toggle: function( fn, fn2 ){=0A=
		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?=0A=
			this._toggle.apply( this, arguments ) :=0A=
			fn ?=0A=
				this.animate({=0A=
					height: "toggle", width: "toggle", opacity: "toggle"=0A=
				}, fn, fn2) :=0A=
				this.each(function(){=0A=
					jQuery(this)[ jQuery(this).is(":hidden") ? "show" : "hide" ]();=0A=
				});=0A=
	},=0A=
=0A=
	slideDown: function(speed,callback){=0A=
		return this.animate({height: "show"}, speed, callback);=0A=
	},=0A=
=0A=
	slideUp: function(speed,callback){=0A=
		return this.animate({height: "hide"}, speed, callback);=0A=
	},=0A=
=0A=
	slideToggle: function(speed, callback){=0A=
		return this.animate({height: "toggle"}, speed, callback);=0A=
	},=0A=
=0A=
	fadeIn: function(speed, callback){=0A=
		return this.animate({opacity: "show"}, speed, callback);=0A=
	},=0A=
=0A=
	fadeOut: function(speed, callback){=0A=
		return this.animate({opacity: "hide"}, speed, callback);=0A=
	},=0A=
=0A=
	fadeTo: function(speed,to,callback){=0A=
		return this.animate({opacity: to}, speed, callback);=0A=
	},=0A=
=0A=
	animate: function( prop, speed, easing, callback ) {=0A=
		var optall =3D jQuery.speed(speed, easing, callback);=0A=
=0A=
		return this[ optall.queue =3D=3D=3D false ? "each" : "queue" =
](function(){=0A=
			if ( this.nodeType !=3D 1)=0A=
				return false;=0A=
=0A=
			var opt =3D jQuery.extend({}, optall), p,=0A=
				hidden =3D jQuery(this).is(":hidden"), self =3D this;=0A=
=0A=
			for ( p in prop ) {=0A=
				if ( prop[p] =3D=3D "hide" && hidden || prop[p] =3D=3D "show" && =
!hidden )=0A=
					return opt.complete.call(this);=0A=
=0A=
				if ( p =3D=3D "height" || p =3D=3D "width" ) {=0A=
					// Store display property=0A=
					opt.display =3D jQuery.css(this, "display");=0A=
=0A=
					// Make sure that nothing sneaks out=0A=
					opt.overflow =3D this.style.overflow;=0A=
				}=0A=
			}=0A=
=0A=
			if ( opt.overflow !=3D null )=0A=
				this.style.overflow =3D "hidden";=0A=
=0A=
			opt.curAnim =3D jQuery.extend({}, prop);=0A=
=0A=
			jQuery.each( prop, function(name, val){=0A=
				var e =3D new jQuery.fx( self, opt, name );=0A=
=0A=
				if ( /toggle|show|hide/.test(val) )=0A=
					e[ val =3D=3D "toggle" ? hidden ? "show" : "hide" : val ]( prop );=0A=
				else {=0A=
					var parts =3D val.toString().match(/^([+-]=3D)?([\d+-.]+)(.*)$/),=0A=
						start =3D e.cur(true) || 0;=0A=
=0A=
					if ( parts ) {=0A=
						var end =3D parseFloat(parts[2]),=0A=
							unit =3D parts[3] || "px";=0A=
=0A=
						// We need to compute starting value=0A=
						if ( unit !=3D "px" ) {=0A=
							self.style[ name ] =3D (end || 1) + unit;=0A=
							start =3D ((end || 1) / e.cur(true)) * start;=0A=
							self.style[ name ] =3D start + unit;=0A=
						}=0A=
=0A=
						// If a +=3D/-=3D token was provided, we're doing a relative =
animation=0A=
						if ( parts[1] )=0A=
							end =3D ((parts[1] =3D=3D "-=3D" ? -1 : 1) * end) + start;=0A=
=0A=
						e.custom( start, end, unit );=0A=
					} else=0A=
						e.custom( start, val, "" );=0A=
				}=0A=
			});=0A=
=0A=
			// For JS strict compliance=0A=
			return true;=0A=
		});=0A=
	},=0A=
=0A=
	queue: function(type, fn){=0A=
		if ( jQuery.isFunction(type) || ( type && type.constructor =3D=3D =
Array )) {=0A=
			fn =3D type;=0A=
			type =3D "fx";=0A=
		}=0A=
=0A=
		if ( !type || (typeof type =3D=3D "string" && !fn) )=0A=
			return queue( this[0], type );=0A=
=0A=
		return this.each(function(){=0A=
			if ( fn.constructor =3D=3D Array )=0A=
				queue(this, type, fn);=0A=
			else {=0A=
				queue(this, type).push( fn );=0A=
=0A=
				if ( queue(this, type).length =3D=3D 1 )=0A=
					fn.call(this);=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	stop: function(clearQueue, gotoEnd){=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		if (clearQueue)=0A=
			this.queue([]);=0A=
=0A=
		this.each(function(){=0A=
			// go in reverse order so anything added to the queue during the loop =
is ignored=0A=
			for ( var i =3D timers.length - 1; i >=3D 0; i-- )=0A=
				if ( timers[i].elem =3D=3D this ) {=0A=
					if (gotoEnd)=0A=
						// force the next step to be the last=0A=
						timers[i](true);=0A=
					timers.splice(i, 1);=0A=
				}=0A=
		});=0A=
=0A=
		// start the next in the queue if the last step wasn't forced=0A=
		if (!gotoEnd)=0A=
			this.dequeue();=0A=
=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
var queue =3D function( elem, type, array ) {=0A=
	if ( elem ){=0A=
=0A=
		type =3D type || "fx";=0A=
=0A=
		var q =3D jQuery.data( elem, type + "queue" );=0A=
=0A=
		if ( !q || array )=0A=
			q =3D jQuery.data( elem, type + "queue", jQuery.makeArray(array) );=0A=
=0A=
	}=0A=
	return q;=0A=
};=0A=
=0A=
jQuery.fn.dequeue =3D function(type){=0A=
	type =3D type || "fx";=0A=
=0A=
	return this.each(function(){=0A=
		var q =3D queue(this, type);=0A=
=0A=
		q.shift();=0A=
=0A=
		if ( q.length )=0A=
			q[0].call( this );=0A=
	});=0A=
};=0A=
=0A=
jQuery.extend({=0A=
=0A=
	speed: function(speed, easing, fn) {=0A=
		var opt =3D speed && speed.constructor =3D=3D Object ? speed : {=0A=
			complete: fn || !fn && easing ||=0A=
				jQuery.isFunction( speed ) && speed,=0A=
			duration: speed,=0A=
			easing: fn && easing || easing && easing.constructor !=3D Function && =
easing=0A=
		};=0A=
=0A=
		opt.duration =3D (opt.duration && opt.duration.constructor =3D=3D =
Number ?=0A=
			opt.duration :=0A=
			jQuery.fx.speeds[opt.duration]) || jQuery.fx.speeds.def;=0A=
=0A=
		// Queueing=0A=
		opt.old =3D opt.complete;=0A=
		opt.complete =3D function(){=0A=
			if ( opt.queue !=3D=3D false )=0A=
				jQuery(this).dequeue();=0A=
			if ( jQuery.isFunction( opt.old ) )=0A=
				opt.old.call( this );=0A=
		};=0A=
=0A=
		return opt;=0A=
	},=0A=
=0A=
	easing: {=0A=
		linear: function( p, n, firstNum, diff ) {=0A=
			return firstNum + diff * p;=0A=
		},=0A=
		swing: function( p, n, firstNum, diff ) {=0A=
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;=0A=
		}=0A=
	},=0A=
=0A=
	timers: [],=0A=
	timerId: null,=0A=
=0A=
	fx: function( elem, options, prop ){=0A=
		this.options =3D options;=0A=
		this.elem =3D elem;=0A=
		this.prop =3D prop;=0A=
=0A=
		if ( !options.orig )=0A=
			options.orig =3D {};=0A=
	}=0A=
=0A=
});=0A=
=0A=
jQuery.fx.prototype =3D {=0A=
=0A=
	// Simple function for setting a style value=0A=
	update: function(){=0A=
		if ( this.options.step )=0A=
			this.options.step.call( this.elem, this.now, this );=0A=
=0A=
		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );=0A=
=0A=
		// Set display property to block for height/width animations=0A=
		if ( this.prop =3D=3D "height" || this.prop =3D=3D "width" )=0A=
			this.elem.style.display =3D "block";=0A=
	},=0A=
=0A=
	// Get the current size=0A=
	cur: function(force){=0A=
		if ( this.elem[this.prop] !=3D null && this.elem.style[this.prop] =
=3D=3D null )=0A=
			return this.elem[ this.prop ];=0A=
=0A=
		var r =3D parseFloat(jQuery.css(this.elem, this.prop, force));=0A=
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, =
this.prop)) || 0;=0A=
	},=0A=
=0A=
	// Start an animation from one number to another=0A=
	custom: function(from, to, unit){=0A=
		this.startTime =3D now();=0A=
		this.start =3D from;=0A=
		this.end =3D to;=0A=
		this.unit =3D unit || this.unit || "px";=0A=
		this.now =3D this.start;=0A=
		this.pos =3D this.state =3D 0;=0A=
		this.update();=0A=
=0A=
		var self =3D this;=0A=
		function t(gotoEnd){=0A=
			return self.step(gotoEnd);=0A=
		}=0A=
=0A=
		t.elem =3D this.elem;=0A=
=0A=
		jQuery.timers.push(t);=0A=
=0A=
		if ( jQuery.timerId =3D=3D null ) {=0A=
			jQuery.timerId =3D setInterval(function(){=0A=
				var timers =3D jQuery.timers;=0A=
=0A=
				for ( var i =3D 0; i < timers.length; i++ )=0A=
					if ( !timers[i]() )=0A=
						timers.splice(i--, 1);=0A=
=0A=
				if ( !timers.length ) {=0A=
					clearInterval( jQuery.timerId );=0A=
					jQuery.timerId =3D null;=0A=
				}=0A=
			}, 13);=0A=
		}=0A=
	},=0A=
=0A=
	// Simple 'show' function=0A=
	show: function(){=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.attr( this.elem.style, =
this.prop );=0A=
		this.options.show =3D true;=0A=
=0A=
		// Begin the animation=0A=
		this.custom(0, this.cur());=0A=
=0A=
		// Make sure that we start at a small width/height to avoid any=0A=
		// flash of content=0A=
		if ( this.prop =3D=3D "width" || this.prop =3D=3D "height" )=0A=
			this.elem.style[this.prop] =3D "1px";=0A=
=0A=
		// Start by showing the element=0A=
		jQuery(this.elem).show();=0A=
	},=0A=
=0A=
	// Simple 'hide' function=0A=
	hide: function(){=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.attr( this.elem.style, =
this.prop );=0A=
		this.options.hide =3D true;=0A=
=0A=
		// Begin the animation=0A=
		this.custom(this.cur(), 0);=0A=
	},=0A=
=0A=
	// Each step of an animation=0A=
	step: function(gotoEnd){=0A=
		var t =3D now();=0A=
=0A=
		if ( gotoEnd || t > this.options.duration + this.startTime ) {=0A=
			this.now =3D this.end;=0A=
			this.pos =3D this.state =3D 1;=0A=
			this.update();=0A=
=0A=
			this.options.curAnim[ this.prop ] =3D true;=0A=
=0A=
			var done =3D true;=0A=
			for ( var i in this.options.curAnim )=0A=
				if ( this.options.curAnim[i] !=3D=3D true )=0A=
					done =3D false;=0A=
=0A=
			if ( done ) {=0A=
				if ( this.options.display !=3D null ) {=0A=
					// Reset the overflow=0A=
					this.elem.style.overflow =3D this.options.overflow;=0A=
=0A=
					// Reset the display=0A=
					this.elem.style.display =3D this.options.display;=0A=
					if ( jQuery.css(this.elem, "display") =3D=3D "none" )=0A=
						this.elem.style.display =3D "block";=0A=
				}=0A=
=0A=
				// Hide the element if the "hide" operation was done=0A=
				if ( this.options.hide )=0A=
					this.elem.style.display =3D "none";=0A=
=0A=
				// Reset the properties, if the item has been hidden or shown=0A=
				if ( this.options.hide || this.options.show )=0A=
					for ( var p in this.options.curAnim )=0A=
						jQuery.attr(this.elem.style, p, this.options.orig[p]);=0A=
			}=0A=
=0A=
			if ( done )=0A=
				// Execute the complete function=0A=
				this.options.complete.call( this.elem );=0A=
=0A=
			return false;=0A=
		} else {=0A=
			var n =3D t - this.startTime;=0A=
			this.state =3D n / this.options.duration;=0A=
=0A=
			// Perform the easing function, defaults to swing=0A=
			this.pos =3D jQuery.easing[this.options.easing || =
(jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, =
this.options.duration);=0A=
			this.now =3D this.start + ((this.end - this.start) * this.pos);=0A=
=0A=
			// Perform the next step of the animation=0A=
			this.update();=0A=
		}=0A=
=0A=
		return true;=0A=
	}=0A=
=0A=
};=0A=
=0A=
jQuery.extend( jQuery.fx, {=0A=
	speeds:{=0A=
		slow: 600,=0A=
 		fast: 200,=0A=
 		// Default speed=0A=
 		def: 400=0A=
	},=0A=
	step: {=0A=
		scrollLeft: function(fx){=0A=
			fx.elem.scrollLeft =3D fx.now;=0A=
		},=0A=
=0A=
		scrollTop: function(fx){=0A=
			fx.elem.scrollTop =3D fx.now;=0A=
		},=0A=
=0A=
		opacity: function(fx){=0A=
			jQuery.attr(fx.elem.style, "opacity", fx.now);=0A=
		},=0A=
=0A=
		_default: function(fx){=0A=
			fx.elem.style[ fx.prop ] =3D fx.now + fx.unit;=0A=
		}=0A=
	}=0A=
});=0A=
// The Offset Method=0A=
// Originally By Brandon Aaron, part of the Dimension Plugin=0A=
// http://jquery.com/plugins/project/dimensions=0A=
jQuery.fn.offset =3D function() {=0A=
	var left =3D 0, top =3D 0, elem =3D this[0], results;=0A=
=0A=
	if ( elem ) with ( jQuery.browser ) {=0A=
		var parent       =3D elem.parentNode,=0A=
		    offsetChild  =3D elem,=0A=
		    offsetParent =3D elem.offsetParent,=0A=
		    doc          =3D elem.ownerDocument,=0A=
		    safari2      =3D safari && parseInt(version) < 522 && =
!/adobeair/i.test(userAgent),=0A=
		    css          =3D jQuery.curCSS,=0A=
		    fixed        =3D css(elem, "position") =3D=3D "fixed";=0A=
=0A=
		// Use getBoundingClientRect if available=0A=
		if ( elem.getBoundingClientRect ) {=0A=
			var box =3D elem.getBoundingClientRect();=0A=
=0A=
			// Add the document scroll offsets=0A=
			add(box.left + Math.max(doc.documentElement.scrollLeft, =
doc.body.scrollLeft),=0A=
				box.top  + Math.max(doc.documentElement.scrollTop,  =
doc.body.scrollTop));=0A=
=0A=
			// IE adds the HTML element's border, by default it is medium which =
is 2px=0A=
			// IE 6 and 7 quirks mode the border width is overwritable by the =
following css html { border: 0; }=0A=
			// IE 7 standards mode, the border is always 2px=0A=
			// This border/offset is typically represented by the clientLeft and =
clientTop properties=0A=
			// However, in IE6 and 7 quirks mode the clientLeft and clientTop =
properties are not updated when overwriting it via CSS=0A=
			// Therefore this method will be off by 2px in IE while in quirksmode=0A=
			add( -doc.documentElement.clientLeft, -doc.documentElement.clientTop =
);=0A=
=0A=
		// Otherwise loop through the offsetParents and parentNodes=0A=
		} else {=0A=
=0A=
			// Initial element offsets=0A=
			add( elem.offsetLeft, elem.offsetTop );=0A=
=0A=
			// Get parent offsets=0A=
			while ( offsetParent ) {=0A=
				// Add offsetParent offsets=0A=
				add( offsetParent.offsetLeft, offsetParent.offsetTop );=0A=
=0A=
				// Mozilla and Safari > 2 does not include the border on offset =
parents=0A=
				// However Mozilla adds the border for table or table cells=0A=
				if ( mozilla && !/^t(able|d|h)$/i.test(offsetParent.tagName) || =
safari && !safari2 )=0A=
					border( offsetParent );=0A=
=0A=
				// Add the document scroll offsets if position is fixed on any =
offsetParent=0A=
				if ( !fixed && css(offsetParent, "position") =3D=3D "fixed" )=0A=
					fixed =3D true;=0A=
=0A=
				// Set offsetChild to previous offsetParent unless it is the body =
element=0A=
				offsetChild  =3D /^body$/i.test(offsetParent.tagName) ? offsetChild =
: offsetParent;=0A=
				// Get next offsetParent=0A=
				offsetParent =3D offsetParent.offsetParent;=0A=
			}=0A=
=0A=
			// Get parent scroll offsets=0A=
			while ( parent && parent.tagName && =
!/^body|html$/i.test(parent.tagName) ) {=0A=
				// Remove parent scroll UNLESS that parent is inline or a table to =
work around Opera inline/table scrollLeft/Top bug=0A=
				if ( !/^inline|table.*$/i.test(css(parent, "display")) )=0A=
					// Subtract parent scroll offsets=0A=
					add( -parent.scrollLeft, -parent.scrollTop );=0A=
=0A=
				// Mozilla does not add the border for a parent that has overflow =
!=3D visible=0A=
				if ( mozilla && css(parent, "overflow") !=3D "visible" )=0A=
					border( parent );=0A=
=0A=
				// Get next parent=0A=
				parent =3D parent.parentNode;=0A=
			}=0A=
=0A=
			// Safari <=3D 2 doubles body offsets with a fixed position =
element/offsetParent or absolutely positioned offsetChild=0A=
			// Mozilla doubles body offsets with a non-absolutely positioned =
offsetChild=0A=
			if ( (safari2 && (fixed || css(offsetChild, "position") =3D=3D =
"absolute")) ||=0A=
				(mozilla && css(offsetChild, "position") !=3D "absolute") )=0A=
					add( -doc.body.offsetLeft, -doc.body.offsetTop );=0A=
=0A=
			// Add the document scroll offsets if position is fixed=0A=
			if ( fixed )=0A=
				add(Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft),=0A=
					Math.max(doc.documentElement.scrollTop,  doc.body.scrollTop));=0A=
		}=0A=
=0A=
		// Return an object with top and left properties=0A=
		results =3D { top: top, left: left };=0A=
	}=0A=
=0A=
	function border(elem) {=0A=
		add( jQuery.curCSS(elem, "borderLeftWidth", true), jQuery.curCSS(elem, =
"borderTopWidth", true) );=0A=
	}=0A=
=0A=
	function add(l, t) {=0A=
		left +=3D parseInt(l, 10) || 0;=0A=
		top +=3D parseInt(t, 10) || 0;=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
=0A=
jQuery.fn.extend({=0A=
	position: function() {=0A=
		var left =3D 0, top =3D 0, results;=0A=
=0A=
		if ( this[0] ) {=0A=
			// Get *real* offsetParent=0A=
			var offsetParent =3D this.offsetParent(),=0A=
=0A=
			// Get correct offsets=0A=
			offset       =3D this.offset(),=0A=
			parentOffset =3D /^body|html$/i.test(offsetParent[0].tagName) ? { =
top: 0, left: 0 } : offsetParent.offset();=0A=
=0A=
			// Subtract element margins=0A=
			// note: when an element has margin: auto the offsetLeft and =
marginLeft =0A=
			// are the same in Safari causing offset.left to incorrectly be 0=0A=
			offset.top  -=3D num( this, 'marginTop' );=0A=
			offset.left -=3D num( this, 'marginLeft' );=0A=
=0A=
			// Add offsetParent borders=0A=
			parentOffset.top  +=3D num( offsetParent, 'borderTopWidth' );=0A=
			parentOffset.left +=3D num( offsetParent, 'borderLeftWidth' );=0A=
=0A=
			// Subtract the two offsets=0A=
			results =3D {=0A=
				top:  offset.top  - parentOffset.top,=0A=
				left: offset.left - parentOffset.left=0A=
			};=0A=
		}=0A=
=0A=
		return results;=0A=
	},=0A=
=0A=
	offsetParent: function() {=0A=
		var offsetParent =3D this[0].offsetParent;=0A=
		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && =
jQuery.css(offsetParent, 'position') =3D=3D 'static') )=0A=
			offsetParent =3D offsetParent.offsetParent;=0A=
		return jQuery(offsetParent);=0A=
	}=0A=
});=0A=
=0A=
=0A=
// Create scrollLeft and scrollTop methods=0A=
jQuery.each( ['Left', 'Top'], function(i, name) {=0A=
	var method =3D 'scroll' + name;=0A=
	=0A=
	jQuery.fn[ method ] =3D function(val) {=0A=
		if (!this[0]) return;=0A=
=0A=
		return val !=3D undefined ?=0A=
=0A=
			// Set the scroll offset=0A=
			this.each(function() {=0A=
				this =3D=3D window || this =3D=3D document ?=0A=
					window.scrollTo(=0A=
						!i ? val : jQuery(window).scrollLeft(),=0A=
						 i ? val : jQuery(window).scrollTop()=0A=
					) :=0A=
					this[ method ] =3D val;=0A=
			}) :=0A=
=0A=
			// Return the scroll offset=0A=
			this[0] =3D=3D window || this[0] =3D=3D document ?=0A=
				self[ i ? 'pageYOffset' : 'pageXOffset' ] ||=0A=
					jQuery.boxModel && document.documentElement[ method ] ||=0A=
					document.body[ method ] :=0A=
				this[0][ method ];=0A=
	};=0A=
});=0A=
// Create innerHeight, innerWidth, outerHeight and outerWidth methods=0A=
jQuery.each([ "Height", "Width" ], function(i, name){=0A=
=0A=
	var tl =3D i ? "Left"  : "Top",  // top or left=0A=
		br =3D i ? "Right" : "Bottom"; // bottom or right=0A=
=0A=
	// innerHeight and innerWidth=0A=
	jQuery.fn["inner" + name] =3D function(){=0A=
		return this[ name.toLowerCase() ]() +=0A=
			num(this, "padding" + tl) +=0A=
			num(this, "padding" + br);=0A=
	};=0A=
=0A=
	// outerHeight and outerWidth=0A=
	jQuery.fn["outer" + name] =3D function(margin) {=0A=
		return this["inner" + name]() +=0A=
			num(this, "border" + tl + "Width") +=0A=
			num(this, "border" + br + "Width") +=0A=
			(margin ?=0A=
				num(this, "margin" + tl) + num(this, "margin" + br) : 0);=0A=
	};=0A=
=0A=
});})();=0A=

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/scripts/thickbox.js

/*=0A=
 * Thickbox 3.1 - One Box To Rule Them All.=0A=
 * By Cody Lindley (http://www.codylindley.com)=0A=
 * Copyright (c) 2007 cody lindley=0A=
 * Licensed under the MIT License: =
http://www.opensource.org/licenses/mit-license.php=0A=
*/=0A=
		  =0A=
var tb_pathToImage =3D =
"/images/conteudo/backgrounds/loadingAnimation.gif";=0A=
=0A=
/*!!!!!!!!!!!!!!!!! edit below this line at your own risk =
!!!!!!!!!!!!!!!!!!!!!!!*/=0A=
=0A=
//on page load call tb_init=0A=
$(document).ready(function(){   =0A=
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to =
apply thickbox=0A=
	imgLoader =3D new Image();// preload image=0A=
	imgLoader.src =3D tb_pathToImage;=0A=
});=0A=
=0A=
//add thickbox to href & area elements that have a class of .thickbox=0A=
function tb_init(domChunk){=0A=
	$(domChunk).click(function(){=0A=
	var t =3D this.title || this.name || null;=0A=
	var a =3D this.href || this.alt;=0A=
	var g =3D this.rel || false;=0A=
	tb_show(t,a,g);=0A=
	this.blur();=0A=
	return false;=0A=
	});=0A=
}=0A=
=0A=
function tb_show(caption, url, imageGroup) {//function called when the =
user clicks on a thickbox link=0A=
=0A=
	try {=0A=
		if (typeof document.body.style.maxHeight =3D=3D=3D "undefined") {//if =
IE 6=0A=
			$("body","html").css({height: "100%", width: "100%"});=0A=
			$("html").css("overflow","hidden");=0A=
			if (document.getElementById("TB_HideSelect") =3D=3D=3D null) =
{//iframe to hide select elements in ie6=0A=
				$("body").append("<iframe id=3D'TB_HideSelect'></iframe><div =
id=3D'TB_overlay'></div><div id=3D'TB_window'></div>");=0A=
				$("#TB_overlay").click(tb_remove);=0A=
			}=0A=
		}else{//all others=0A=
			if(document.getElementById("TB_overlay") =3D=3D=3D null){=0A=
				$("body").append("<div id=3D'TB_overlay'></div><div =
id=3D'TB_window'></div>");=0A=
				$("#TB_overlay").click(tb_remove);=0A=
			}=0A=
		}=0A=
		=0A=
		if(tb_detectMacXFF()){=0A=
			$("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay =
so hide flash=0A=
		}else{=0A=
			$("#TB_overlay").addClass("TB_overlayBG");//use background and opacity=0A=
		}=0A=
		=0A=
		if(caption=3D=3D=3Dnull){caption=3D"";}=0A=
		$("body").append("<div id=3D'TB_load'><img src=3D'"+imgLoader.src+"' =
/></div>");//add loader to the page=0A=
		$('#TB_load').show();//show loader=0A=
		=0A=
		var baseURL;=0A=
	   if(url.indexOf("?")!=3D=3D-1){ //ff there is a query string involved=0A=
			baseURL =3D url.substr(0, url.indexOf("?"));=0A=
	   }else{ =0A=
	   		baseURL =3D url;=0A=
	   }=0A=
	   =0A=
	   var urlString =3D /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;=0A=
	   var urlType =3D baseURL.toLowerCase().match(urlString);=0A=
=0A=
		if(urlType =3D=3D '.jpg' || urlType =3D=3D '.jpeg' || urlType =3D=3D =
'.png' || urlType =3D=3D '.gif' || urlType =3D=3D '.bmp'){//code to show =
images=0A=
				=0A=
			TB_PrevCaption =3D "";=0A=
			TB_PrevURL =3D "";=0A=
			TB_PrevHTML =3D "";=0A=
			TB_NextCaption =3D "";=0A=
			TB_NextURL =3D "";=0A=
			TB_NextHTML =3D "";=0A=
			TB_imageCount =3D "";=0A=
			TB_FoundURL =3D false;=0A=
			if(imageGroup){=0A=
				TB_TempArray =3D $("a[@rel=3D"+imageGroup+"]").get();=0A=
				for (TB_Counter =3D 0; ((TB_Counter < TB_TempArray.length) && =
(TB_NextHTML =3D=3D=3D "")); TB_Counter++) {=0A=
					var urlTypeTemp =3D =
TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);=0A=
						if (!(TB_TempArray[TB_Counter].href =3D=3D url)) {						=0A=
							if (TB_FoundURL) {=0A=
								TB_NextCaption =3D TB_TempArray[TB_Counter].title;=0A=
								TB_NextURL =3D TB_TempArray[TB_Counter].href;=0A=
								TB_NextHTML =3D "<span id=3D'TB_next' =
style=3D'padding-bottom:10px;'>&nbsp;&nbsp;|&nbsp;&nbsp;<a =
href=3D'#'><strong>Pr&oacute;ximo &gt;</strong></a></span>";=0A=
							} else {=0A=
								TB_PrevCaption =3D TB_TempArray[TB_Counter].title;=0A=
								TB_PrevURL =3D TB_TempArray[TB_Counter].href;=0A=
								TB_PrevHTML =3D "<br /><span id=3D'TB_prev'  =
style=3D'padding-bottom:10px;'>&nbsp;&nbsp;<a href=3D'#'><strong>&lt; =
Anterior</a></strong></span>";=0A=
							}=0A=
						} else {=0A=
							TB_FoundURL =3D true;=0A=
							TB_imageCount =3D"<br />" + (TB_Counter + 1) +" de "+ =
(TB_TempArray.length);											=0A=
						}=0A=
				}=0A=
			}=0A=
=0A=
			imgPreloader =3D new Image();=0A=
			imgPreloader.onload =3D function(){		=0A=
			imgPreloader.onload =3D null;=0A=
				=0A=
			// Resizing large images - orginal by Christian Montoya edited by me.=0A=
			var pagesize =3D tb_getPageSize();=0A=
			var x =3D pagesize[0] - 150;=0A=
			var y =3D pagesize[1] - 150;=0A=
			var imageWidth =3D imgPreloader.width;=0A=
			var imageHeight =3D imgPreloader.height;=0A=
			if (imageWidth > x) {=0A=
				imageHeight =3D imageHeight * (x / imageWidth); =0A=
				imageWidth =3D x; =0A=
				if (imageHeight > y) { =0A=
					imageWidth =3D imageWidth * (y / imageHeight); =0A=
					imageHeight =3D y; =0A=
				}=0A=
			} else if (imageHeight > y) { =0A=
				imageWidth =3D imageWidth * (y / imageHeight); =0A=
				imageHeight =3D y; =0A=
				if (imageWidth > x) { =0A=
					imageHeight =3D imageHeight * (x / imageWidth); =0A=
					imageWidth =3D x;=0A=
				}=0A=
			}=0A=
			// End Resizing=0A=
			=0A=
			TB_WIDTH =3D imageWidth + 30;=0A=
			TB_HEIGHT =3D imageHeight + 60;=0A=
			$("#TB_window").append("<a href=3D'' id=3D'TB_ImageOff' =
title=3D'Close'><img id=3D'TB_Image' src=3D'"+url+"' =
width=3D'"+imageWidth+"' height=3D'"+imageHeight+"' =
alt=3D'"+caption+"'/></a>" + "<div id=3D'TB_caption'>"+caption+"<div =
id=3D'TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + =
"</div></div><div id=3D'TB_closeWindow'><a href=3D'#' =
id=3D'TB_closeWindowButton' title=3D'Fechar' =
style=3D'text-align:center;'>Fechar</a></div>"); 		=0A=
			=0A=
			$("#TB_closeWindowButton").click(tb_remove);=0A=
			=0A=
			if (!(TB_PrevHTML =3D=3D=3D "")) {=0A=
				function goPrev(){=0A=
					=
if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev)=
;}=0A=
					$("#TB_window").remove();=0A=
					$("body").append("<div id=3D'TB_window'></div>");=0A=
					tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);=0A=
					return false;	=0A=
				}=0A=
				$("#TB_prev").click(goPrev);=0A=
			}=0A=
			=0A=
			if (!(TB_NextHTML =3D=3D=3D "")) {		=0A=
				function goNext(){=0A=
					$("#TB_window").remove();=0A=
					$("body").append("<div id=3D'TB_window'></div>");=0A=
					tb_show(TB_NextCaption, TB_NextURL, imageGroup);				=0A=
					return false;	=0A=
				}=0A=
				$("#TB_next").click(goNext);=0A=
				=0A=
			}=0A=
=0A=
			document.onkeydown =3D function(e){ 	=0A=
				if (e =3D=3D null) { // ie=0A=
					keycode =3D event.keyCode;=0A=
				} else { // mozilla=0A=
					keycode =3D e.which;=0A=
				}=0A=
				if(keycode =3D=3D 27){ // close=0A=
					tb_remove();=0A=
				} else if(keycode =3D=3D 190){ // display previous image=0A=
					if(!(TB_NextHTML =3D=3D "")){=0A=
						document.onkeydown =3D "";=0A=
						goNext();=0A=
					}=0A=
				} else if(keycode =3D=3D 188){ // display next image=0A=
					if(!(TB_PrevHTML =3D=3D "")){=0A=
						document.onkeydown =3D "";=0A=
						goPrev();=0A=
					}=0A=
				}	=0A=
			};=0A=
			=0A=
			tb_position();=0A=
			$("#TB_load").remove();=0A=
			$("#TB_ImageOff").click(tb_remove);=0A=
			$("#TB_window").css({display:"block"}); //for safari using css =
instead of show=0A=
			};=0A=
			=0A=
			imgPreloader.src =3D url;=0A=
		}else{//code to show html=0A=
			=0A=
			var queryString =3D url.replace(/^[^\?]+\??/,'');=0A=
			var params =3D tb_parseQuery( queryString );=0A=
=0A=
			TB_WIDTH =3D (params['width']*1) + 30 || 630; //defaults to 630 if no =
paramaters were added to URL=0A=
			TB_HEIGHT =3D (params['height']*1) + 40 || 440; //defaults to 440 if =
no paramaters were added to URL=0A=
			ajaxContentW =3D TB_WIDTH - 30;=0A=
			ajaxContentH =3D TB_HEIGHT - 45;=0A=
			=0A=
			if(url.indexOf('TB_iframe') !=3D -1){// either iframe or ajax window		=0A=
					urlNoQuery =3D url.split('TB_');=0A=
					$("#TB_iframeContent").remove();=0A=
					if(params['modal'] !=3D "true"){//iframe no modal=0A=
						$("#TB_window").append("<div id=3D'TB_title'><div =
id=3D'TB_ajaxWindowTitle'>"+caption+"</div><div =
id=3D'TB_closeAjaxWindow'><a href=3D'#' id=3D'TB_closeWindowButton' =
title=3D'Close'>Fechar</a> ou Tecla Esc</div></div><iframe =
frameborder=3D'0' hspace=3D'0' src=3D'"+urlNoQuery[0]+"' =
id=3D'TB_iframeContent' =
name=3D'TB_iframeContent"+Math.round(Math.random()*1000)+"' =
onload=3D'tb_showIframe()' style=3D'width:"+(ajaxContentW + =
29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");=0A=
					}else{//iframe modal=0A=
					$("#TB_overlay").unbind();=0A=
						$("#TB_window").append("<iframe frameborder=3D'0' hspace=3D'0' =
src=3D'"+urlNoQuery[0]+"' id=3D'TB_iframeContent' =
name=3D'TB_iframeContent"+Math.round(Math.random()*1000)+"' =
onload=3D'tb_showIframe()' style=3D'width:"+(ajaxContentW + =
29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");=0A=
					}=0A=
			}else{// not an iframe, ajax=0A=
					if($("#TB_window").css("display") !=3D "block"){=0A=
						if(params['modal'] !=3D "true"){//ajax no modal=0A=
						$("#TB_window").append("<div id=3D'TB_title'><div =
id=3D'TB_ajaxWindowTitle'>"+caption+"</div><div =
id=3D'TB_closeAjaxWindow'><a href=3D'#' =
id=3D'TB_closeWindowButton'>Fechar</a> ou Tecla Esc</div></div><div =
id=3D'TB_ajaxContent' =
style=3D'width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");=0A=
						}else{//ajax modal=0A=
						$("#TB_overlay").unbind();=0A=
						$("#TB_window").append("<div id=3D'TB_ajaxContent' =
class=3D'TB_modal' =
style=3D'width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");	=0A=
						}=0A=
					}else{//this means the window is already up, we are just loading =
new content via ajax=0A=
						$("#TB_ajaxContent")[0].style.width =3D ajaxContentW +"px";=0A=
						$("#TB_ajaxContent")[0].style.height =3D ajaxContentH +"px";=0A=
						$("#TB_ajaxContent")[0].scrollTop =3D 0;=0A=
						$("#TB_ajaxWindowTitle").html(caption);=0A=
					}=0A=
			}=0A=
					=0A=
			$("#TB_closeWindowButton").click(tb_remove);=0A=
			=0A=
				if(url.indexOf('TB_inline') !=3D -1){	=0A=
					$("#TB_ajaxContent").append($('#' + params['inlineId']).children());=0A=
					$("#TB_window").unload(function () {=0A=
						$('#' + params['inlineId']).append( =
$("#TB_ajaxContent").children() ); // move elements back when you're =
finished=0A=
					});=0A=
					tb_position();=0A=
					$("#TB_load").remove();=0A=
					$("#TB_window").css({display:"block"}); =0A=
				}else if(url.indexOf('TB_iframe') !=3D -1){=0A=
					tb_position();=0A=
					if($.browser.safari){//safari needs help because it will not fire =
iframe onload=0A=
						$("#TB_load").remove();=0A=
						$("#TB_window").css({display:"block"});=0A=
					}=0A=
				}else{=0A=
					$("#TB_ajaxContent").load(url +=3D "&random=3D" + (new =
Date().getTime()),function(){//to do a post change this load method=0A=
						tb_position();=0A=
						$("#TB_load").remove();=0A=
						tb_init("#TB_ajaxContent a.thickbox");=0A=
						$("#TB_window").css({display:"block"});=0A=
					});=0A=
				}=0A=
			=0A=
		}=0A=
=0A=
		if(!params['modal']){=0A=
			document.onkeyup =3D function(e){ 	=0A=
				if (e =3D=3D null) { // ie=0A=
					keycode =3D event.keyCode;=0A=
				} else { // mozilla=0A=
					keycode =3D e.which;=0A=
				}=0A=
				if(keycode =3D=3D 27){ // close=0A=
					tb_remove();=0A=
				}	=0A=
			};=0A=
		}=0A=
		=0A=
	} catch(e) {=0A=
		//nothing here=0A=
	}=0A=
}=0A=
=0A=
//helper functions below=0A=
function tb_showIframe(){=0A=
	$("#TB_load").remove();=0A=
	$("#TB_window").css({display:"block"});=0A=
}=0A=
=0A=
function tb_remove() {=0A=
 	$("#TB_imageOff").unbind("click");=0A=
	$("#TB_closeWindowButton").unbind("click");=0A=
	=
$("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_H=
ideSelect').trigger("unload").unbind().remove();});=0A=
	$("#TB_load").remove();=0A=
	if (typeof document.body.style.maxHeight =3D=3D "undefined") {//if IE 6=0A=
		$("body","html").css({height: "auto", width: "auto"});=0A=
		$("html").css("overflow","");=0A=
	}=0A=
	document.onkeydown =3D "";=0A=
	document.onkeyup =3D "";=0A=
	return false;=0A=
}=0A=
=0A=
function tb_position() {=0A=
$("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) + =
'px', width: TB_WIDTH + 'px'});=0A=
	if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take =
away IE6=0A=
		$("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / 2),10) + =
'px'});=0A=
	}=0A=
}=0A=
=0A=
function tb_parseQuery ( query ) {=0A=
   var Params =3D {};=0A=
   if ( ! query ) {return Params;}// return empty object=0A=
   var Pairs =3D query.split(/[;&]/);=0A=
   for ( var i =3D 0; i < Pairs.length; i++ ) {=0A=
      var KeyVal =3D Pairs[i].split('=3D');=0A=
      if ( ! KeyVal || KeyVal.length !=3D 2 ) {continue;}=0A=
      var key =3D unescape( KeyVal[0] );=0A=
      var val =3D unescape( KeyVal[1] );=0A=
      val =3D val.replace(/\+/g, ' ');=0A=
      Params[key] =3D val;=0A=
   }=0A=
   return Params;=0A=
}=0A=
=0A=
function tb_getPageSize(){=0A=
	var de =3D document.documentElement;=0A=
	var w =3D window.innerWidth || self.innerWidth || (de&&de.clientWidth) =
|| document.body.clientWidth;=0A=
	var h =3D window.innerHeight || self.innerHeight || =
(de&&de.clientHeight) || document.body.clientHeight;=0A=
	arrayPageSize =3D [w,h];=0A=
	return arrayPageSize;=0A=
}=0A=
=0A=
function tb_detectMacXFF() {=0A=
  var userAgent =3D navigator.userAgent.toLowerCase();=0A=
  if (userAgent.indexOf('mac') !=3D -1 && =
userAgent.indexOf('firefox')!=3D-1) {=0A=
    return true;=0A=
  }=0A=
}=0A=
=0A=
=0A=

------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/WebResource.axd?d=lcgGEdgdsaZN2R-k8EldOg2&t=633706047568593750

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_0030_01C99816.C888F0D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/ScriptResource.axd?d=9gotqOfbwwi1e3aVgbzBwBAzEwTprC1LxK5Y0KdyUKD5bVG9rHYV5TYo8uN4ZPErCiEsV6ic2ZAlONuFQm-a0Q2&t=633706047568593750

=EF=BB=BFvar Page_ValidationVer =3D "125";
var Page_IsValid =3D true;
var Page_BlockSubmit =3D false;
var Page_InvalidControlToBeFocused =3D null;
function ValidatorUpdateDisplay(val) {
    if (typeof(val.display) =3D=3D "string") {
        if (val.display =3D=3D "None") {
            return;
        }
        if (val.display =3D=3D "Dynamic") {
            val.style.display =3D val.isvalid ? "none" : "inline";
            return;
        }
    }
    if ((navigator.userAgent.indexOf("Mac") > -1) &&
        (navigator.userAgent.indexOf("MSIE") > -1)) {
        val.style.display =3D "inline";
    }
    val.style.visibility =3D val.isvalid ? "hidden" : "visible";
}
function ValidatorUpdateIsValid() {
    Page_IsValid =3D AllValidatorsValid(Page_Validators);
}
function AllValidatorsValid(validators) {
    if ((typeof(validators) !=3D "undefined") && (validators !=3D null)) =
{
        var i;
        for (i =3D 0; i < validators.length; i++) {
            if (!validators[i].isvalid) {
                return false;
            }
        }
    }
    return true;
}
function ValidatorHookupControlID(controlID, val) {
    if (typeof(controlID) !=3D "string") {
        return;
    }
    var ctrl =3D document.getElementById(controlID);
    if ((typeof(ctrl) !=3D "undefined") && (ctrl !=3D null)) {
        ValidatorHookupControl(ctrl, val);
    }
    else {
        val.isvalid =3D true;
        val.enabled =3D false;
    }
}
function ValidatorHookupControl(control, val) {
    if (typeof(control.tagName) !=3D "string") {
        return; =20
    }
    if (control.tagName !=3D "INPUT" && control.tagName !=3D "TEXTAREA" =
&& control.tagName !=3D "SELECT") {
        var i;
        for (i =3D 0; i < control.childNodes.length; i++) {
            ValidatorHookupControl(control.childNodes[i], val);
        }
        return;
    }
    else {
        if (typeof(control.Validators) =3D=3D "undefined") {
            control.Validators =3D new Array;
            var eventType;
            if (control.type =3D=3D "radio") {
                eventType =3D "onclick";
            } else {
                eventType =3D "onchange";
                if (typeof(val.focusOnError) =3D=3D "string" && =
val.focusOnError =3D=3D "t") {
                    ValidatorHookupEvent(control, "onblur", =
"ValidatedControlOnBlur(event); ");
                }
            }
            ValidatorHookupEvent(control, eventType, =
"ValidatorOnChange(event); ");
            if (control.type =3D=3D "text" ||
                control.type =3D=3D "password" ||
                control.type =3D=3D "file") {
                ValidatorHookupEvent(control, "onkeypress",=20
                    "if (!ValidatedTextBoxOnKeyPress(event)) { =
event.cancelBubble =3D true; if (event.stopPropagation) =
event.stopPropagation(); return false; } ");
            }
        }
        control.Validators[control.Validators.length] =3D val;
    }
}
function ValidatorHookupEvent(control, eventType, functionPrefix) {
    var ev;
    eval("ev =3D control." + eventType + ";");
    if (typeof(ev) =3D=3D "function") {
        ev =3D ev.toString();
        ev =3D ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
    }
    else {
        ev =3D "";
    }
    var func;
    if (navigator.appName.toLowerCase().indexOf('explorer') > -1) {
        func =3D new Function(functionPrefix + " " + ev);
    }
    else {
        func =3D new Function("event", functionPrefix + " " + ev);
    }
    eval("control." + eventType + " =3D func;");
}
function ValidatorGetValue(id) {
    var control;
    control =3D document.getElementById(id);
    if (typeof(control.value) =3D=3D "string") {
        return control.value;
    }
    return ValidatorGetValueRecursive(control);
}
function ValidatorGetValueRecursive(control)
{
    if (typeof(control.value) =3D=3D "string" && (control.type !=3D =
"radio" || control.checked =3D=3D true)) {
        return control.value;
    }
    var i, val;
    for (i =3D 0; i<control.childNodes.length; i++) {
        val =3D ValidatorGetValueRecursive(control.childNodes[i]);
        if (val !=3D "") return val;
    }
    return "";
}
function Page_ClientValidate(validationGroup) {
    Page_InvalidControlToBeFocused =3D null;
    if (typeof(Page_Validators) =3D=3D "undefined") {
        return true;
    }
    var i;
    for (i =3D 0; i < Page_Validators.length; i++) {
        ValidatorValidate(Page_Validators[i], validationGroup, null);
    }
    ValidatorUpdateIsValid();
    ValidationSummaryOnSubmit(validationGroup);
    Page_BlockSubmit =3D !Page_IsValid;
    return Page_IsValid;
}
function ValidatorCommonOnSubmit() {
    Page_InvalidControlToBeFocused =3D null;
    var result =3D !Page_BlockSubmit;
    if ((typeof(window.event) !=3D "undefined") && (window.event !=3D =
null)) {
        window.event.returnValue =3D result;
    }
    Page_BlockSubmit =3D false;
    return result;
}
function ValidatorEnable(val, enable) {
    val.enabled =3D (enable !=3D false);
    ValidatorValidate(val);
    ValidatorUpdateIsValid();
}
function ValidatorOnChange(event) {
    if (!event) {
        event =3D window.event;
    }
    Page_InvalidControlToBeFocused =3D null;
    var targetedControl;
    if ((typeof(event.srcElement) !=3D "undefined") && (event.srcElement =
!=3D null)) {
        targetedControl =3D event.srcElement;
    }
    else {
        targetedControl =3D event.target;
    }
    var vals;
    if (typeof(targetedControl.Validators) !=3D "undefined") {
        vals =3D targetedControl.Validators;
    }
    else {
        if (targetedControl.tagName.toLowerCase() =3D=3D "label") {
            targetedControl =3D =
document.getElementById(targetedControl.htmlFor);
            vals =3D targetedControl.Validators;
        }
    }
    var i;
    for (i =3D 0; i < vals.length; i++) {
        ValidatorValidate(vals[i], null, event);
    }
    ValidatorUpdateIsValid();
}
function ValidatedTextBoxOnKeyPress(event) {
    if (event.keyCode =3D=3D 13) {
        ValidatorOnChange(event);
        var vals;
        if ((typeof(event.srcElement) !=3D "undefined") && =
(event.srcElement !=3D null)) {
            vals =3D event.srcElement.Validators;
        }
        else {
            vals =3D event.target.Validators;
        }
        return AllValidatorsValid(vals);
    }
    return true;
}
function ValidatedControlOnBlur(event) {
    var control;
    if ((typeof(event.srcElement) !=3D "undefined") && (event.srcElement =
!=3D null)) {
        control =3D event.srcElement;
    }
    else {
        control =3D event.target;
    }
    if ((typeof(control) !=3D "undefined") && (control !=3D null) && =
(Page_InvalidControlToBeFocused =3D=3D control)) {
        control.focus();
        Page_InvalidControlToBeFocused =3D null;
    }
}
function ValidatorValidate(val, validationGroup, event) {
    val.isvalid =3D true;
    if ((typeof(val.enabled) =3D=3D "undefined" || val.enabled !=3D =
false) && IsValidationGroupMatch(val, validationGroup)) {
        if (typeof(val.evaluationfunction) =3D=3D "function") {
            val.isvalid =3D val.evaluationfunction(val);
            if (!val.isvalid && Page_InvalidControlToBeFocused =3D=3D =
null &&
                typeof(val.focusOnError) =3D=3D "string" && =
val.focusOnError =3D=3D "t") {
                ValidatorSetFocus(val, event);
            }
        }
    }
    ValidatorUpdateDisplay(val);
}
function ValidatorSetFocus(val, event) {
    var ctrl;
    if (typeof(val.controlhookup) =3D=3D "string") {
        var eventCtrl;
        if ((typeof(event) !=3D "undefined") && (event !=3D null)) {
            if ((typeof(event.srcElement) !=3D "undefined") && =
(event.srcElement !=3D null)) {
                eventCtrl =3D event.srcElement;
            }
            else {
                eventCtrl =3D event.target;
            }
        }
        if ((typeof(eventCtrl) !=3D "undefined") && (eventCtrl !=3D =
null) &&
            (typeof(eventCtrl.id) =3D=3D "string") &&
            (eventCtrl.id =3D=3D val.controlhookup)) {
            ctrl =3D eventCtrl;
        }
    }
    if ((typeof(ctrl) =3D=3D "undefined") || (ctrl =3D=3D null)) {
        ctrl =3D document.getElementById(val.controltovalidate);
    }
    if ((typeof(ctrl) !=3D "undefined") && (ctrl !=3D null) &&
        (ctrl.tagName.toLowerCase() !=3D "table" || (typeof(event) =
=3D=3D "undefined") || (event =3D=3D null)) &&=20
        ((ctrl.tagName.toLowerCase() !=3D "input") || =
(ctrl.type.toLowerCase() !=3D "hidden")) &&
        (typeof(ctrl.disabled) =3D=3D "undefined" || ctrl.disabled =
=3D=3D null || ctrl.disabled =3D=3D false) &&
        (typeof(ctrl.visible) =3D=3D "undefined" || ctrl.visible =3D=3D =
null || ctrl.visible !=3D false) &&
        (IsInVisibleContainer(ctrl))) {
        if ((ctrl.tagName.toLowerCase() =3D=3D "table" && =
(typeof(__nonMSDOMBrowser) =3D=3D "undefined" || __nonMSDOMBrowser)) ||
            (ctrl.tagName.toLowerCase() =3D=3D "span")) {
            var inputElements =3D ctrl.getElementsByTagName("input");
            var lastInputElement  =3D inputElements[inputElements.length =
-1];
            if (lastInputElement !=3D null) {
                ctrl =3D lastInputElement;
            }
        }
        if (typeof(ctrl.focus) !=3D "undefined" && ctrl.focus !=3D null) =
{
            ctrl.focus();
            Page_InvalidControlToBeFocused =3D ctrl;
        }
    }
}
function IsInVisibleContainer(ctrl) {
    if (typeof(ctrl.style) !=3D "undefined" &&
        ( ( typeof(ctrl.style.display) !=3D "undefined" &&
            ctrl.style.display =3D=3D "none") ||
          ( typeof(ctrl.style.visibility) !=3D "undefined" &&
            ctrl.style.visibility =3D=3D "hidden") ) ) {
        return false;
    }
    else if (typeof(ctrl.parentNode) !=3D "undefined" &&
             ctrl.parentNode !=3D null &&
             ctrl.parentNode !=3D ctrl) {
        return IsInVisibleContainer(ctrl.parentNode);
    }
    return true;
}
function IsValidationGroupMatch(control, validationGroup) {
    if ((typeof(validationGroup) =3D=3D "undefined") || (validationGroup =
=3D=3D null)) {
        return true;
    }
    var controlGroup =3D "";
    if (typeof(control.validationGroup) =3D=3D "string") {
        controlGroup =3D control.validationGroup;
    }
    return (controlGroup =3D=3D validationGroup);
}
function ValidatorOnLoad() {
    if (typeof(Page_Validators) =3D=3D "undefined")
        return;
    var i, val;
    for (i =3D 0; i < Page_Validators.length; i++) {
        val =3D Page_Validators[i];
        if (typeof(val.evaluationfunction) =3D=3D "string") {
            eval("val.evaluationfunction =3D " + val.evaluationfunction =
+ ";");
        }
        if (typeof(val.isvalid) =3D=3D "string") {
            if (val.isvalid =3D=3D "False") {
                val.isvalid =3D false;
                Page_IsValid =3D false;
            }
            else {
                val.isvalid =3D true;
            }
        } else {
            val.isvalid =3D true;
        }
        if (typeof(val.enabled) =3D=3D "string") {
            val.enabled =3D (val.enabled !=3D "False");
        }
        if (typeof(val.controltovalidate) =3D=3D "string") {
            ValidatorHookupControlID(val.controltovalidate, val);
        }
        if (typeof(val.controlhookup) =3D=3D "string") {
            ValidatorHookupControlID(val.controlhookup, val);
        }
    }
    Page_ValidationActive =3D true;
}
function ValidatorConvert(op, dataType, val) {
    function GetFullYear(year) {
        var twoDigitCutoffYear =3D val.cutoffyear % 100;
        var cutoffYearCentury =3D val.cutoffyear - twoDigitCutoffYear;
        return ((year > twoDigitCutoffYear) ? (cutoffYearCentury - 100 + =
year) : (cutoffYearCentury + year));
    }
    var num, cleanInput, m, exp;
    if (dataType =3D=3D "Integer") {
        exp =3D /^\s*[-\+]?\d+\s*$/;
        if (op.match(exp) =3D=3D null)
            return null;
        num =3D parseInt(op, 10);
        return (isNaN(num) ? null : num);
    }
    else if(dataType =3D=3D "Double") {
        exp =3D new RegExp("^\\s*([-\\+])?(\\d*)\\" + val.decimalchar + =
"?(\\d*)\\s*$");
        m =3D op.match(exp);
        if (m =3D=3D null)
            return null;
        if (m[2].length =3D=3D 0 && m[3].length =3D=3D 0)
            return null;
        cleanInput =3D (m[1] !=3D null ? m[1] : "") + (m[2].length>0 ? =
m[2] : "0") + (m[3].length>0 ? "." + m[3] : "");
        num =3D parseFloat(cleanInput);
        return (isNaN(num) ? null : num);
    }
    else if (dataType =3D=3D "Currency") {
        var hasDigits =3D (val.digits > 0);
        var beginGroupSize, subsequentGroupSize;
        var groupSizeNum =3D parseInt(val.groupsize, 10);
        if (!isNaN(groupSizeNum) && groupSizeNum > 0) {
            beginGroupSize =3D "{1," + groupSizeNum + "}";
            subsequentGroupSize =3D "{" + groupSizeNum + "}";
        }
        else {
            beginGroupSize =3D subsequentGroupSize =3D "+";
        }
        exp =3D new RegExp("^\\s*([-\\+])?((\\d" + beginGroupSize + =
"(\\" + val.groupchar + "\\d" + subsequentGroupSize + ")+)|\\d*)"
                        + (hasDigits ? "\\" + val.decimalchar + =
"?(\\d{0," + val.digits + "})" : "")
                        + "\\s*$");
        m =3D op.match(exp);
        if (m =3D=3D null)
            return null;
        if (m[2].length =3D=3D 0 && hasDigits && m[5].length =3D=3D 0)
            return null;
        cleanInput =3D (m[1] !=3D null ? m[1] : "") + m[2].replace(new =
RegExp("(\\" + val.groupchar + ")", "g"), "") + ((hasDigits && =
m[5].length > 0) ? "." + m[5] : "");
        num =3D parseFloat(cleanInput);
        return (isNaN(num) ? null : num);
    }
    else if (dataType =3D=3D "Date") {
        var yearFirstExp =3D new =
RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. =
?)(\\d{1,2})\\4(\\d{1,2})\\.?\\s*$");
        m =3D op.match(yearFirstExp);
        var day, month, year;
        if (m !=3D null && (m[2].length =3D=3D 4 || val.dateorder =3D=3D =
"ymd")) {
            day =3D m[6];
            month =3D m[5];
            year =3D (m[2].length =3D=3D 4) ? m[2] : =
GetFullYear(parseInt(m[3], 10))
        }
        else {
            if (val.dateorder =3D=3D "ymd"){
                return null;
            }
            var yearLastExp =3D new RegExp("^\\s*(\\d{1,2})([-/]|\\. =
?)(\\d{1,2})(?:\\s|\\2)((\\d{4})|(\\d{2}))(?:\\s\u0433\\.)?\\s*$");
            m =3D op.match(yearLastExp);
            if (m =3D=3D null) {
                return null;
            }
            if (val.dateorder =3D=3D "mdy") {
                day =3D m[3];
                month =3D m[1];
            }
            else {
                day =3D m[1];
                month =3D m[3];
            }
            year =3D (m[5].length =3D=3D 4) ? m[5] : =
GetFullYear(parseInt(m[6], 10))
        }
        month -=3D 1;
        var date =3D new Date(year, month, day);
        if (year < 100) {
            date.setFullYear(year);
        }
        return (typeof(date) =3D=3D "object" && year =3D=3D =
date.getFullYear() && month =3D=3D date.getMonth() && day =3D=3D =
date.getDate()) ? date.valueOf() : null;
    }
    else {
        return op.toString();
    }
}
function ValidatorCompare(operand1, operand2, operator, val) {
    var dataType =3D val.type;
    var op1, op2;
    if ((op1 =3D ValidatorConvert(operand1, dataType, val)) =3D=3D null)
        return false;
    if (operator =3D=3D "DataTypeCheck")
        return true;
    if ((op2 =3D ValidatorConvert(operand2, dataType, val)) =3D=3D null)
        return true;
    switch (operator) {
        case "NotEqual":
            return (op1 !=3D op2);
        case "GreaterThan":
            return (op1 > op2);
        case "GreaterThanEqual":
            return (op1 >=3D op2);
        case "LessThan":
            return (op1 < op2);
        case "LessThanEqual":
            return (op1 <=3D op2);
        default:
            return (op1 =3D=3D op2);
    }
}
function CompareValidatorEvaluateIsValid(val) {
    var value =3D ValidatorGetValue(val.controltovalidate);
    if (ValidatorTrim(value).length =3D=3D 0)
        return true;
    var compareTo =3D "";
    if ((typeof(val.controltocompare) !=3D "string") ||
        (typeof(document.getElementById(val.controltocompare)) =3D=3D =
"undefined") ||
        (null =3D=3D document.getElementById(val.controltocompare))) {
        if (typeof(val.valuetocompare) =3D=3D "string") {
            compareTo =3D val.valuetocompare;
        }
    }
    else {
        compareTo =3D ValidatorGetValue(val.controltocompare);
    }
    var operator =3D "Equal";
    if (typeof(val.operator) =3D=3D "string") {
        operator =3D val.operator;
    }
    return ValidatorCompare(value, compareTo, operator, val);
}
function CustomValidatorEvaluateIsValid(val) {
    var value =3D "";
    if (typeof(val.controltovalidate) =3D=3D "string") {
        value =3D ValidatorGetValue(val.controltovalidate);
        if ((ValidatorTrim(value).length =3D=3D 0) &&
            ((typeof(val.validateemptytext) !=3D "string") || =
(val.validateemptytext !=3D "true"))) {
            return true;
        }
    }
    var args =3D { Value:value, IsValid:true };
    if (typeof(val.clientvalidationfunction) =3D=3D "string") {
        eval(val.clientvalidationfunction + "(val, args) ;");
    }
    return args.IsValid;
}
function RegularExpressionValidatorEvaluateIsValid(val) {
    var value =3D ValidatorGetValue(val.controltovalidate);
    if (ValidatorTrim(value).length =3D=3D 0)
        return true;
    var rx =3D new RegExp(val.validationexpression);
    var matches =3D rx.exec(value);
    return (matches !=3D null && value =3D=3D matches[0]);
}
function ValidatorTrim(s) {
    var m =3D s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
    return (m =3D=3D null) ? "" : m[1];
}
function RequiredFieldValidatorEvaluateIsValid(val) {
    return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) !=3D =
ValidatorTrim(val.initialvalue))
}
function RangeValidatorEvaluateIsValid(val) {
    var value =3D ValidatorGetValue(val.controltovalidate);
    if (ValidatorTrim(value).length =3D=3D 0)
        return true;
    return (ValidatorCompare(value, val.minimumvalue, =
"GreaterThanEqual", val) &&
            ValidatorCompare(value, val.maximumvalue, "LessThanEqual", =
val));
}
function ValidationSummaryOnSubmit(validationGroup) {
    if (typeof(Page_ValidationSummaries) =3D=3D "undefined")
        return;
    var summary, sums, s;
    for (sums =3D 0; sums < Page_ValidationSummaries.length; sums++) {
        summary =3D Page_ValidationSummaries[sums];
        summary.style.display =3D "none";
        if (!Page_IsValid && IsValidationGroupMatch(summary, =
validationGroup)) {
            var i;
            if (summary.showsummary !=3D "False") {
                summary.style.display =3D "";
                if (typeof(summary.displaymode) !=3D "string") {
                    summary.displaymode =3D "BulletList";
                }
                switch (summary.displaymode) {
                    case "List":
                        headerSep =3D "<br>";
                        first =3D "";
                        pre =3D "";
                        post =3D "<br>";
                        end =3D "";
                        break;
                    case "BulletList":
                    default:
                        headerSep =3D "";
                        first =3D "<ul>";
                        pre =3D "<li>";
                        post =3D "</li>";
                        end =3D "</ul>";
                        break;
                    case "SingleParagraph":
                        headerSep =3D " ";
                        first =3D "";
                        pre =3D "";
                        post =3D " ";
                        end =3D "<br>";
                        break;
                }
                s =3D "";
                if (typeof(summary.headertext) =3D=3D "string") {
                    s +=3D summary.headertext + headerSep;
                }
                s +=3D first;
                for (i=3D0; i<Page_Validators.length; i++) {
                    if (!Page_Validators[i].isvalid && =
typeof(Page_Validators[i].errormessage) =3D=3D "string") {
                        s +=3D pre + Page_Validators[i].errormessage + =
post;
                    }
                }
                s +=3D end;
                summary.innerHTML =3D s;
                window.scrollTo(0,0);
            }
            if (summary.showmessagebox =3D=3D "True") {
                s =3D "";
                if (typeof(summary.headertext) =3D=3D "string") {
                    s +=3D summary.headertext + "\r\n";
                }
                var lastValIndex =3D Page_Validators.length - 1;
                for (i=3D0; i<=3DlastValIndex; i++) {
                    if (!Page_Validators[i].isvalid && =
typeof(Page_Validators[i].errormessage) =3D=3D "string") {
                        switch (summary.displaymode) {
                            case "List":
                                s +=3D Page_Validators[i].errormessage;
                                if (i < lastValIndex) {
                                    s +=3D "\r\n";
                                }
                                break;
                            case "BulletList":
                            default:
                                s +=3D "- " + =
Page_Validators[i].errormessage;
                                if (i < lastValIndex) {
                                    s +=3D "\r\n";
                                }
                                break;
                            case "SingleParagraph":
                                s +=3D Page_Validators[i].errormessage + =
" ";
                                break;
                        }
                    }
                }
                alert(s);
            }
        }
    }
}

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0030_01C99816.C888F0D0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.cbl.org.br/ScriptResource.axd?d=m13XoSf3XeiTzV5ACzoGThY_cVLsQ6qWhPMzf1WMvpAj3fgs59vAwo1800CaMMWtuEUb5Lhld6A2O1ogmsXgEXUQRgjfuHE-gWQAUkkLTbY1&t=633175206468437500

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.


Function.__typeName =3D 'Function';
Function.__class =3D true;

Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"context" mayBeNull=3D"true"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;


       =20
    return function() {
        var l =3D arguments.length;
        if (l > 0) {
                        var args =3D [];
            for (var i =3D 0; i < l; i++) {
                args[i] =3D arguments[i];
            }
            args[l] =3D context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}

Function.createDelegate =3D function Function$createDelegate(instance, =
method) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;


       =20
    return function() {
        return method.apply(instance, arguments);
    }
}

Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}

Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
                                                                         =
                                                          =20
    var e;

    e =3D Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }

    for (var i=3D0; i < params.length; i++) {
                                var expectedParam =3D =
expectedParams[Math.min(i, expectedParams.length - 1)];

        var paramName =3D expectedParam.name;
        if (expectedParam.parameterArray) {
                        paramName +=3D "[" + (i - expectedParams.length =
+ 1) + "]";
        }

        e =3D Function._validateParameter(params[i], expectedParam, =
paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }


    return null;
}

Function._validateParameterCount =3D function =
Function$_validateParameterCount(params, expectedParams) {
    var maxParams =3D expectedParams.length;
    var minParams =3D 0;
    for (var i=3D0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams =3D Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }

    if (params.length < minParams || params.length > maxParams) {
        var e =3D Error.parameterCount();
        e.popStackFrame();
        return e;
    }

    return null;
}

Function._validateParameter =3D function =
Function$_validateParameter(param, expectedParam, paramName) {
    var e;

    var expectedType =3D expectedParam.type;
    var expectedInteger =3D !!expectedParam.integer;
    var expectedDomElement =3D !!expectedParam.domElement;
    var mayBeNull =3D !!expectedParam.mayBeNull;

    e =3D Function._validateParameterType(param, expectedType, =
expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }

        var expectedElementType =3D expectedParam.elementType;
    var elementMayBeNull =3D !!expectedParam.elementMayBeNull;
    if (expectedType =3D=3D=3D Array && typeof(param) !=3D=3D =
"undefined" && param !=3D=3D null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger =3D !!expectedParam.elementInteger;
        var expectedElementDomElement =3D =
!!expectedParam.elementDomElement;
        for (var i=3D0; i < param.length; i++) {
            var elem =3D param[i];
            e =3D Function._validateParameterType(elem, =
expectedElementType,
                expectedElementInteger, expectedElementDomElement, =
elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }

    return null;
}

Function._validateParameterType =3D function =
Function$_validateParameterType(param, expectedType, expectedInteger, =
expectedDomElement, mayBeNull, paramName) {
    var e;

    if (typeof(param) =3D=3D=3D "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (param =3D=3D=3D null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (expectedType && expectedType.__enum) {
        if (typeof(param) !=3D=3D 'number') {
            e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) =3D=3D=3D 0) {
            var values =3D expectedType.prototype;
            if (!expectedType.__flags || (param =3D=3D=3D 0)) {
                for (var i in values) {
                    if (values[i] =3D=3D=3D param) return null;
                }
            }
            else {
                var v =3D param;
                for (var i in values) {
                    var vali =3D values[i];
                    if (vali =3D=3D=3D 0) continue;
                    if ((vali & param) =3D=3D=3D vali) {
                        v -=3D vali;
                    }
                    if (v =3D=3D=3D 0) return null;
                }
            }
        }
        e =3D Error.argumentOutOfRange(paramName, param, =
String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }

                    if (expectedDomElement && (param !=3D=3D window) && =
(param !=3D=3D document) &&
        !(window.HTMLElement && (param instanceof HTMLElement)) &&
        (typeof(param.nodeName) !=3D=3D 'string')) {

        e =3D Error.argument(paramName, Sys.Res.argumentDomElement);
        e.popStackFrame();
        return e;
    }

        if (expectedType && !expectedType.isInstanceOfType(param)) {
        e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
        e.popStackFrame();
        return e;
    }

    if (expectedType =3D=3D=3D Number && expectedInteger) {
                        if ((param % 1) !=3D=3D 0) {
            e =3D Error.argumentOutOfRange(paramName, param, =
Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }

    return null;
}
Error.__typeName =3D 'Error';
Error.__class =3D true;

Error.create =3D function Error$create(message, errorInfo) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"errorInfo" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Error"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: =
true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


            var e =3D new Error(message);
    e.message =3D message;

    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] =3D errorInfo[v];
        }
    }

    e.popStackFrame();
    return e;
}

Error.argument =3D function Error$argument(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentException: " + (message ? =
message : Sys.Res.argument);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentNull =3D function Error$argumentNull(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentNullException: " + (message ? =
message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentOutOfRange =3D function =
Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualValue" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentOutOfRangeException: " + =
(message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

                if (typeof(actualValue) !=3D=3D "undefined" && =
actualValue !=3D=3D null) {
        displayMessage +=3D "\n" + String.format(Sys.Res.actualValue, =
actualValue);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}

Error.argumentType =3D function Error$argumentType(paramName, =
actualType, expectedType, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"expectedType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualType", type: Type, mayBeNull: true, optional: =
true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage +=3D message;
    }
    else if (actualType && expectedType) {
        displayMessage +=3D
            String.format(Sys.Res.argumentTypeWithTypes, =
actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage +=3D Sys.Res.argumentType;
    }

    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}

Error.argumentUndefined =3D function Error$argumentUndefined(paramName, =
message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentUndefinedException: " + (message =
? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.format =3D function Error$format(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.FormatException: " + (message ? message =
: Sys.Res.format);
    var e =3D Error.create(displayMessage, {name: =
'Sys.FormatException'});
    e.popStackFrame();
    return e;
}

Error.invalidOperation =3D function Error$invalidOperation(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.InvalidOperationException: " + (message =
? message : Sys.Res.invalidOperation);

    var e =3D Error.create(displayMessage, {name: =
'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}

Error.notImplemented =3D function Error$notImplemented(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.NotImplementedException: " + (message ? =
message : Sys.Res.notImplemented);

    var e =3D Error.create(displayMessage, {name: =
'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}

Error.parameterCount =3D function Error$parameterCount(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ParameterCountException: " + (message ? =
message : Sys.Res.parameterCount);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}

Error.prototype.popStackFrame =3D function Error$popStackFrame() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

                           =20
    if (typeof(this.stack) =3D=3D=3D "undefined" || this.stack =3D=3D=3D =
null ||
        typeof(this.fileName) =3D=3D=3D "undefined" || this.fileName =
=3D=3D=3D null ||
        typeof(this.lineNumber) =3D=3D=3D "undefined" || this.lineNumber =
=3D=3D=3D null) {
        return;
    }

    var stackFrames =3D this.stack.split("\n");

                var currentFrame =3D stackFrames[0];
    var pattern =3D this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !=3D=3D "undefined" &&
          currentFrame !=3D=3D null &&
          currentFrame.indexOf(pattern) =3D=3D=3D -1) {
        stackFrames.shift();
        currentFrame =3D stackFrames[0];
    }

    var nextFrame =3D stackFrames[1];

        if (typeof(nextFrame) =3D=3D=3D "undefined" || nextFrame =
=3D=3D=3D null) {
        return;
    }

        var nextFrameParts =3D nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) =3D=3D=3D "undefined" || nextFrameParts =
=3D=3D=3D null) {
        return;
    }

    this.fileName =3D nextFrameParts[1];

        this.lineNumber =3D parseInt(nextFrameParts[2]);

    stackFrames.shift();
    this.stack =3D stackFrames.join("\n");
}
if (!window) this.window =3D this;

window.Type =3D Function;

window.__rootNamespaces =3D [];
window.__registeredTypes =3D {};

Type.__fullyQualifiedIdentifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");

Type.prototype.callBaseMethod =3D function Type$callBaseMethod(instance, =
name, baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    var baseMethod =3D this.getBaseMethod(instance, name);
    if (!baseMethod) throw =
Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}

Type.prototype.getBaseMethod =3D function Type$getBaseMethod(instance, =
name) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Function" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    var baseType =3D this.getBaseType();
    if (baseType) {
        var baseMethod =3D baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }

    return null;
}

Type.prototype.getBaseType =3D function Type$getBaseType() {
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__baseType) =3D=3D=3D "undefined") ? null : =
this.__baseType;
}

Type.prototype.getInterfaces =3D function Type$getInterfaces() {
    /// <returns type=3D"Array" elementType=3D"Type" mayBeNull=3D"false" =
elementMayBeNull=3D"false"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var result =3D [];
    var type =3D this;
    while(type) {
        var interfaces =3D type.__interfaces;
        if (interfaces) {
            for (var i =3D 0, l =3D interfaces.length; i < l; i++) {
                var interfaceType =3D interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] =3D interfaceType;
                }
            }
        }
        type =3D type.__baseType;
    }
    return result;
}

Type.prototype.getName =3D function Type$getName() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__typeName) =3D=3D=3D "undefined") ? "" : =
this.__typeName;
}

Type.prototype.implementsInterface =3D function =
Type$implementsInterface(interfaceType) {
    /// <param name=3D"interfaceType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();

    var interfaceName =3D interfaceType.getName();
    var cache =3D this.__interfaceCache;
    if (cache) {
        var cacheEntry =3D cache[interfaceName];
        if (typeof(cacheEntry) !=3D=3D 'undefined') return cacheEntry;
    }
    else {
        cache =3D this.__interfaceCache =3D {};
    }

    var baseType =3D this;
    while (baseType) {
        var interfaces =3D baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !=3D=3D -1) {
                return cache[interfaceName] =3D true;
            }
        }

        baseType =3D baseType.__baseType;
    }

    return cache[interfaceName] =3D false;
}

Type.prototype.inheritsFrom =3D function Type$inheritsFrom(parentType) {
    /// <param name=3D"parentType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();
    var baseType =3D this.__baseType;
    while (baseType) {
        if (baseType =3D=3D=3D parentType) {
            return true;
        }
        baseType =3D baseType.__baseType;
    }

    return false;
}

Type.prototype.initializeBase =3D function Type$initializeBase(instance, =
baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);

    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }

    return instance;
}

Type.prototype.isImplementedBy =3D function =
Type$isImplementedBy(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.isInstanceOfType =3D function =
Type$isInstanceOfType(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    if (instance instanceof this) return true;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType =3D=3D=3D this) ||
           (instanceType.inheritsFrom && =
instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.registerClass =3D function Type$registerClass(typeName, =
baseType, interfaceTypes) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <param name=3D"baseType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"interfaceTypes" parameterArray=3D"true" =
type=3D"Type"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));

            if ((arguments.length > 1) && (typeof(baseType) =3D=3D=3D =
'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', =
Sys.Res.baseNotAClass);

    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__class =3D true;
    if (baseType) {
        this.__baseType =3D baseType;
        this.__basePrototypePending =3D true;
    }
        if (!window.__classes) window.__classes =3D {};
    window.__classes[typeName.toUpperCase()] =3D this;

                if (interfaceTypes) {
        this.__interfaces =3D [];
        for (var i =3D 2; i < arguments.length; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            this.resolveInheritance();
            for (var methodName in interfaceType.prototype) {
                var method =3D interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] =3D method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    if (this.__basePrototypePending) {
        var baseType =3D this.__baseType;

        baseType.resolveInheritance();

        for (var memberName in baseType.prototype) {
            var memberValue =3D baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] =3D memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}

Type.getRootNamespaces =3D function Type$getRootNamespaces() {
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(window.__rootNamespaces);
}

Type.isClass =3D function Type$isClass(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__class;
}

Type.isInterface =3D function Type$isInterface(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__interface;
}

Type.isNamespace =3D function Type$isNamespace(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(object) =3D=3D=3D 'undefined') || (object =3D=3D=3D =
null)) return false;
    return !!object.__namespace;
}

Type.parse =3D function Type$parse(typeName, ns) {
    /// <param name=3D"typeName" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"ns" optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var fn;
    if (ns) {
        if (!window.__classes) return null;
        fn =3D window.__classes[ns.getName().toUpperCase() + '.' + =
typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses =3D {};
    }
    fn =3D Type.__htClasses[typeName];
    if (!fn) {
        fn =3D eval(typeName);
        if (typeof(fn) !=3D=3D 'function') throw =
Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] =3D fn;
    }
    return fn;
}

Type.registerNamespace =3D function =
Type$registerNamespace(namespacePath) {
    /// <param name=3D"namespacePath" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) =
throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject =3D window;
    var namespaceParts =3D namespacePath.split('.');

    for (var i =3D 0; i < namespaceParts.length; i++) {
        var currentPart =3D namespaceParts[i];
        var ns =3D rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw =
Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, =
namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns =3D rootObject[currentPart] =3D {};
            if (i =3D=3D=3D 0) {
                window.__rootNamespaces[window.__rootNamespaces.length] =
=3D ns;
            }
            ns.__namespace =3D true;
            ns.__typeName =3D namespaceParts.slice(0, i + 1).join('.');
            var parsedName;
            try {
                parsedName =3D eval(ns.__typeName);
            }
            catch(e) {
                parsedName =3D null;
            }
            if (parsedName !=3D=3D ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', =
Sys.Res.invalidNameSpace);
            }
            ns.getName =3D function ns$getName() {return =
this.__typeName;}
        }
        rootObject =3D ns;
    }
}
Object.__typeName =3D 'Object';
Object.__class =3D true;

Object.getType =3D function Object$getType(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    var ctor =3D instance.constructor;
    if (!ctor || (typeof(ctor) !=3D=3D "function") || !ctor.__typeName =
|| (ctor.__typeName =3D=3D=3D 'Object')) {
        return Object;
    }
    return ctor;
}

Object.getTypeName =3D function Object$getTypeName(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    return Object.getType(instance).getName();
}
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;

Boolean.parse =3D function Boolean$parse(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    var v =3D value.trim().toLowerCase();
    if (v =3D=3D=3D 'false') return false;
    if (v =3D=3D=3D 'true') return true;
    throw Error.argumentOutOfRange('value', value, =
Sys.Res.boolTrueOrFalse);
}
Date.__typeName =3D 'Date';
Date.__class =3D true;

Date._appendPreOrPostMatch =3D function =
Date$_appendPreOrPostMatch(preMatch, strBuilder) {
                var quoteCount =3D 0;
    var escaped =3D false;
    for (var i =3D 0, il =3D preMatch.length; i < il; i++) {
        var c =3D preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped =3D false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped =3D !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped =3D false;
            break;
        }
    }
    return quoteCount;
}

Date._expandFormat =3D function Date$_expandFormat(dtf, format) {
        if (!format) {
        format =3D "F";
    }
    if (format.length =3D=3D=3D 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}

Date._expandYear =3D function Date$_expandYear(dtf, year) {
        if (year < 100) {
        var curr =3D new Date().getFullYear();
        year +=3D curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}

Date._getParseRegExp =3D function Date$_getParseRegExp(dtf, format) {
                if (!dtf._parseRegExp) {
        dtf._parseRegExp =3D {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }

        var expFormat =3D Date._expandFormat(dtf, format);
    expFormat =3D expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, =
"\\\\$1");

    var regexp =3D new Sys.StringBuilder("^");
    var groups =3D [];
    var index =3D 0;
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    var match;

        while ((match =3D tokenRegExp.exec(expFormat)) !=3D=3D null) {
        var preMatch =3D expFormat.slice(index, match.index);
        index =3D tokenRegExp.lastIndex;

                quoteCount +=3D Date._appendPreOrPostMatch(preMatch, =
regexp);
        if ((quoteCount%2) =3D=3D=3D 1) {
            regexp.append(match[0]);
            continue;
        }

                switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.append("(\\d)");
                break;
            case 'dd': case 'd':
            case 'MM': case 'M':
            case 'yy': case 'y':
            case 'HH': case 'H':
            case 'hh': case 'h':
            case 'mm': case 'm':
            case 'ss': case 's':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
        var regexpStr =3D regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp =3D {'regExp': regexpStr, 'groups': groups};
        dtf._parseRegExp[format] =3D parseRegExp;
    return parseRegExp;
}

Date._getTokenRegExp =3D function Date$_getTokenRegExp() {
        return =
/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|=
zzz|zz|z/g;
}

Date.parseLocale =3D function Date$parseLocale(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.CurrentCulture, =
arguments);
}

Date.parseInvariant =3D function Date$parseInvariant(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.InvariantCulture, =
arguments);
}

Date._parse =3D function Date$_parse(value, cultureInfo, args) {
            var custom =3D false;
    for (var i =3D 1, il =3D args.length; i < il; i++) {
        var format =3D args[i];
        if (format) {
            custom =3D true;
            var date =3D Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
        if (! custom) {
        var formats =3D cultureInfo._getDateTimeFormats();
        for (var i =3D 0, il =3D formats.length; i < il; i++) {
            var date =3D Date._parseExact(value, formats[i], =
cultureInfo);
            if (date) return date;
        }
    }
    return null;
}

Date._parseExact =3D function Date$_parseExact(value, format, =
cultureInfo) {
            value =3D value.trim();
    var dtf =3D cultureInfo.dateTimeFormat;

            var parseInfo =3D Date._getParseRegExp(dtf, format);
    var match =3D new RegExp(parseInfo.regExp).exec(value);
        if (match !=3D=3D null) {
        var groups =3D parseInfo.groups;
        var year =3D null, month =3D null, date =3D null, weekDay =3D =
null;
        var hour =3D 0, min =3D 0, sec =3D 0, msec =3D 0, tzMinOffset =
=3D null;
        var pmHour =3D false;
                for (var j =3D 0, jl =3D groups.length; j < jl; j++) {
            var matchGroup =3D match[j+1];
            if (matchGroup) {
                switch (groups[j]) {
                    case 'dd': case 'd':
                                                date =3D =
Date._parseInt(matchGroup);
                                                if ((date < 1) || (date =
> 31)) return null;
                        break;
                    case 'MMMM':
                                                month =3D =
cultureInfo._getMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'MMM':
                                                month =3D =
cultureInfo._getAbbrMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'M': case 'MM':
                                                var month =3D =
Date._parseInt(matchGroup) - 1;
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'y': case 'yy':
                                                year =3D =
Date._expandYear(dtf,Date._parseInt(matchGroup));
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'yyyy':
                                                year =3D =
Date._parseInt(matchGroup);
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'h': case 'hh':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if (hour =3D=3D=3D 12) hour =3D 0;
                        if ((hour < 0) || (hour > 11)) return null;
                        break;
                    case 'H': case 'HH':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if ((hour < 0) || (hour > 23)) return null;
                        break;
                    case 'm': case 'mm':
                                                min =3D =
Date._parseInt(matchGroup);
                        if ((min < 0) || (min > 59)) return null;
                        break;
                    case 's': case 'ss':
                                                sec =3D =
Date._parseInt(matchGroup);
                        if ((sec < 0) || (sec > 59)) return null;
                        break;
                    case 'tt': case 't':
                                                var upperToken =3D =
matchGroup.toUpperCase();
                        pmHour =3D (upperToken =3D=3D=3D =
dtf.PMDesignator.toUpperCase());
                        if (!pmHour && (upperToken !=3D=3D =
dtf.AMDesignator.toUpperCase())) return null;
                        break;
                    case 'f':
                                                msec =3D =
Date._parseInt(matchGroup) * 100;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'ff':
                                                msec =3D =
Date._parseInt(matchGroup) * 10;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'fff':
                                                msec =3D =
Date._parseInt(matchGroup);
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'dddd':
                                                weekDay =3D =
cultureInfo._getDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'ddd':
                                                weekDay =3D =
cultureInfo._getAbbrDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'zzz':
                                                var offsets =3D =
matchGroup.split(/:/);
                        if (offsets.length !=3D=3D 2) return null;
                        var hourOffset =3D Date._parseInt(offsets[0]);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        var minOffset =3D Date._parseInt(offsets[1]);
                        if ((minOffset < 0) || (minOffset > 59)) return =
null;
                        tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                        break;
                    case 'z': case 'zz':
                                                var hourOffset =3D =
Date._parseInt(matchGroup);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        tzMinOffset =3D hourOffset * 60;
                        break;
                }
            }
        }
        var result =3D new Date();
        if (year =3D=3D=3D null) {
            year =3D result.getFullYear();
        }
        if (month =3D=3D=3D null) {
            month =3D result.getMonth();
        }
        if (date =3D=3D=3D null) {
            date =3D result.getDate();
        }
                result.setFullYear(year, month, date);
                if (result.getDate() !=3D=3D date) return null;
                if ((weekDay !=3D=3D null) && (result.getDay() !=3D=3D =
weekDay)) {
            return null;
        }
                if (pmHour && (hour < 12)) {
            hour +=3D 12;
        }
        result.setHours(hour, min, sec, msec);
        if (tzMinOffset !=3D=3D null) {
                        var adjustedMin =3D result.getMinutes() - =
(tzMinOffset + result.getTimezoneOffset());
                                                =
result.setHours(result.getHours() + parseInt(adjustedMin/60), =
adjustedMin%60);
        }
        return result;
    }
}

Date._parseInt =3D function Date$_parseInt(value) {
        return parseInt(value.replace(/^[\s0]+(\d+)$/,"$1"));
}

Date.prototype.format =3D function Date$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}

Date.prototype.localeFormat =3D function Date$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}

Date.prototype._toFormattedString =3D function =
Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

    var dtf =3D cultureInfo.dateTimeFormat;
    format =3D Date._expandFormat(dtf, format);

        var ret =3D new Sys.StringBuilder();
    var hour;

    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }

    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }

    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    for (;;) {

                var index =3D tokenRegExp.lastIndex;

                var ar =3D tokenRegExp.exec(format);

                var preMatch =3D format.slice(index, ar ? ar.index : =
format.length);
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, ret);

        if (!ar) break;

                if ((quoteCount%2) =3D=3D=3D 1) {
            ret.append(ar[0]);
            continue;
        }

        switch (ar[0]) {
        case "dddd":
                        ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
                        =
ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
                        ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
                        ret.append(this.getDate());
            break;
        case "MMMM":
                        ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
                        =
ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
                        ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
                        ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
                        ret.append(this.getFullYear());
            break;
        case "yy":
                        ret.append(addLeadingZero(this.getFullYear() % =
100));
            break;
        case "y":
                        ret.append(this.getFullYear() % 100);
            break;
        case "hh":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(hour);
            break;
        case "HH":
                        ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
                        ret.append(this.getHours());
            break;
        case "mm":
                        ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
                        ret.append(this.getMinutes());
            break;
        case "ss":
                        ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
                        ret.append(this.getSeconds());
            break;
        case "tt":
                        ret.append((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator);
            break;
        case "t":
                        ret.append(((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator).charAt(0));
            break;
        case "f":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2));
            break;
        case "fff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
Math.floor(Math.abs(hour)));
            break;
        case "zz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + =
addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
Number.__typeName =3D 'Number';
Number.__class =3D true;

Number.parseLocale =3D function Number$parseLocale(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant =3D function Number$parseInvariant(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse =3D function Number$_parse(value, cultureInfo) {
            var valueStr =3D value.trim();
    if (valueStr.match(/infinity/i) !=3D=3D null) {
        return parseFloat(valueStr);
    }
    if (valueStr.match(/^0x[a-f0-9]+$/i) !=3D=3D null) {
        return parseInt(valueStr);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var decSeparator =3D numFormat.NumberDecimalSeparator;
    var grpSeparator =3D numFormat.NumberGroupSeparator;

            var numberFormatRegex =3D new RegExp("^[+-]?[\\d\\" + =
grpSeparator + "]*\\" + decSeparator + "?\\d*([eE][+-]?\\d+)?$");
    if (!valueStr.match(numberFormatRegex)) {
        return Number.NaN;
    }

        valueStr =3D valueStr.split(grpSeparator).join("");

        valueStr =3D valueStr.replace(decSeparator, ".");

    return parseFloat(valueStr);
}

Number.prototype.format =3D function Number$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat =3D function Number$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString =3D function =
Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

        var _percentPositivePattern =3D ["n %", "n%", "%n" ];
    var _percentNegativePattern =3D ["-n %", "-n%", "-%n"];
    var _numberNegativePattern =3D ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern =3D ["$n","n$","$ n","n $"];
    var _currencyNegativePattern =3D =
["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n =
$-","$ n-","$ -n","n- $","($ n)","(n $)"];

        function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;

                var numberString =3D number.toString();
        var right =3D "";
        var exponent =3D "";
                var decimalSplit =3D numberString.split('.');
        if (decimalSplit.length > 1) {
            numberString =3D decimalSplit[0];
            right =3D decimalSplit[1];
                        var exponentSplit =3D right.split(/e/i);
            if (exponentSplit.length > 1) {
                right =3D exponentSplit[0];
                exponent =3D "e" + exponentSplit[1];
            }
        }

                if (precision > 0) {
                        var rightDifference =3D right.length - =
precision;
            if (rightDifference > 0) {
                right =3D right.slice(0, precision);
            } else if (rightDifference < 0) {
                for (var i=3D0; i<Math.abs(rightDifference); i++) {
                    right +=3D '0';
                }
            }

                        right =3D decimalChar + right;
        }
        else {             right =3D "";
        }
        right +=3D exponent;

        var stringIndex =3D numberString.length-1;
        var ret =3D "";
        while (stringIndex >=3D 0) {

                        if (curSize =3D=3D=3D 0 || curSize > =
stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep =
+ ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + =
right;
            }

            if (ret.length > 0)
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1) + sep + ret;
            else
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1);

            stringIndex -=3D curSize;

            if (curGroupIndex < groupSizes.length) {
                curSize =3D groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + =
right;
    }
    var nf =3D cultureInfo.numberFormat;

        var number =3D Math.abs(this);

        if (!format)
        format =3D "D";

    var precision =3D -1;
    if (format.length > 1) precision =3D parseInt(format.slice(1));

    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';

                if (precision !=3D=3D -1) {
            var numberStr =3D ""+number;
            var zerosToAdd =3D precision - numberStr.length;
            if (zerosToAdd > 0) {
                for (var i=3D0; i<zerosToAdd; i++) {
                    numberStr =3D '0'+numberStr;
                }
            }
            number =3D numberStr;
        }

                if (this < 0) number =3D -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern =3D =
_currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern =3D =
_currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.CurrencyDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, =
nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern =3D =
_numberNegativePattern[nf.NumberNegativePattern];
        else pattern =3D 'n';
        if (precision =3D=3D=3D -1) precision =3D =
nf.NumberDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.NumberGroupSizes, nf.NumberGroupSeparator, =
nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern =3D =
_percentNegativePattern[nf.PercentNegativePattern];
        else pattern =3D =
_percentPositivePattern[nf.PercentPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.PercentDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.PercentGroupSizes, nf.PercentGroupSeparator, =
nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }

    var regex =3D /n|\$|-|%/g;

        var ret =3D "";

    for (;;) {

                var index =3D regex.lastIndex;

                var ar =3D regex.exec(pattern);

                ret +=3D pattern.slice(index, ar ? ar.index : =
pattern.length);

        if (!ar)
            break;

        switch (ar[0]) {
        case "n":
            ret +=3D number;
            break;
        case "$":
            ret +=3D nf.CurrencySymbol;
            break;
        case "-":
            ret +=3D nf.NegativeSign;
            break;
        case "%":
            ret +=3D nf.PercentSymbol;
            break;
        }
    }

    return ret;
}
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
Array.__typeName =3D 'Array';
Array.__class =3D true;

Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;


        array[array.length] =3D item;
}

Array.addRange =3D function Array$addRange(array, items) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"items" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;


        array.push.apply(array, items);
}

Array.clear =3D function Array$clear(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    array.length =3D 0;
}

Array.clone =3D function Array$clone(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (array.length =3D=3D=3D 1) {
        return [array[0]];
    }
    else {
                        return Array.apply(null, array);
    }
}

Array.contains =3D function Array$contains(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    return (Array.indexOf(array, item) >=3D 0);
}

Array.dequeue =3D function Array$dequeue(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    return array.shift();
}

Array.forEach =3D function Array$forEach(array, method, instance) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"instance" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    for (var i =3D 0, l =3D array.length; i < l; i++) {
        var elt =3D array[i];
        if (typeof(elt) !=3D=3D 'undefined') method.call(instance, elt, =
i, array);
    }
}

Array.indexOf =3D function Array$indexOf(array, item, start) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"start" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if (typeof(item) =3D=3D=3D "undefined") return -1;
    var length =3D array.length;
    if (length !=3D=3D 0) {
                start =3D start - 0;
                if (isNaN(start)) {
            start =3D 0;
        }
        else {
                                    if (isFinite(start)) {
                                start =3D start - (start % 1);
            }
                        if (start < 0) {
                start =3D Math.max(0, length + start);
            }
        }

                for (var i =3D start; i < length; i++) {
            if ((typeof(array[i]) !=3D=3D "undefined") && (array[i] =
=3D=3D=3D item)) {
                return i;
            }
        }
    }
    return -1;
}

Array.insert =3D function Array$insert(array, index, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 0, item);
}

Array.parse =3D function Array$parse(value) {
    /// <param name=3D"value" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    if (!value) return [];
    var v =3D eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', =
Sys.Res.arrayParseBadFormat);
    return v;
}

Array.remove =3D function Array$remove(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    var index =3D Array.indexOf(array, item);
    if (index >=3D 0) {
        array.splice(index, 1);
    }
    return (index >=3D 0);
}

Array.removeAt =3D function Array$removeAt(array, index) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 1);
}
String.__typeName =3D 'String';
String.__class =3D true;

String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <param name=3D"suffix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(this.length - suffix.length) =3D=3D=3D suffix);
}

String.prototype.startsWith =3D function String$startsWith(prefix) {
    /// <param name=3D"prefix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(0, prefix.length) =3D=3D=3D prefix);
}

String.prototype.trim =3D function String$trim() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}

String.prototype.trimEnd =3D function String$trimEnd() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}

String.prototype.trimStart =3D function String$trimStart() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}

String.format =3D function String$format(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(false, arguments);
}

String.localeFormat =3D function String$localeFormat(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(true, arguments);
}

String._toFormattedString =3D function =
String$_toFormattedString(useLocale, args) {
    var result =3D '';
    var format =3D args[0];

    for (var i=3D0;;) {
                var open =3D format.indexOf('{', i);
        var close =3D format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
                        result +=3D format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
                        if (format.charAt(close + 1) !=3D=3D '}') {
                throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
            }
            result +=3D format.slice(i, close + 1);
            i =3D close + 2;
            continue;
        }

                result +=3D format.slice(i, open);
        i =3D open + 1;

                if (format.charAt(i) =3D=3D=3D '{') {
            result +=3D '{';
            i++;
            continue;
        }

                if (close < 0) throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);

       =20
                var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex)) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', =
Sys.Res.stringFormatInvalid);
        var argFormat =3D (colonIndex < 0)? '' : =
brace.substring(colonIndex + 1);

        var arg =3D args[argNumber];
        if (typeof(arg) =3D=3D=3D "undefined" || arg =3D=3D=3D null) {
            arg =3D '';
        }

                if (arg.toFormattedString) {
            result +=3D arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result +=3D arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result +=3D arg.format(argFormat);
        }
        else
            result +=3D arg.toString();

        i =3D close + 1;
    }

    return result;
}

Type.registerNamespace('Sys');
Sys.IDisposable =3D function Sys$IDisposable() {
    throw Error.notImplemented();
}

    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype =3D {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <param name=3D"initialText" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    this._parts =3D (typeof(initialText) !=3D=3D 'undefined' && =
initialText !=3D=3D null && initialText !=3D=3D '') ?
        [initialText.toString()] : [];
    this._value =3D {};
    this._len =3D 0;
}


    function Sys$StringBuilder$append(text) {
        /// <param name=3D"text" mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D text;
    }

    function Sys$StringBuilder$appendLine(text) {
        /// <param name=3D"text" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D
            ((typeof(text) =3D=3D=3D 'undefined') || (text =3D=3D=3D =
null) || (text =3D=3D=3D '')) ?
            '\r\n' : text + '\r\n';
    }

    function Sys$StringBuilder$clear() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }

    function Sys$StringBuilder$isEmpty() {
        /// <returns type=3D"Boolean"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parts.length =3D=3D=3D 0) return true;
        return this.toString() =3D=3D=3D '';
    }



    function Sys$StringBuilder$toString(separator) {
        /// <param name=3D"separator" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        separator =3D separator || '';
        var parts =3D this._parts;
        if (this._len !=3D=3D parts.length) {
            this._value =3D {};
            this._len =3D parts.length;
        }
        var val =3D this._value;
        if (typeof(val[separator]) =3D=3D=3D 'undefined') {
                        if (separator !=3D=3D '') {
                for (var i =3D 0; i < parts.length;) {
                    if ((typeof(parts[i]) =3D=3D=3D 'undefined') || =
(parts[i] =3D=3D=3D '') || (parts[i] =3D=3D=3D null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] =3D this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype =3D {
    append: Sys$StringBuilder$append,

    appendLine: Sys$StringBuilder$appendLine,

    clear: Sys$StringBuilder$clear,

    isEmpty: Sys$StringBuilder$isEmpty,

            toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ];
	   =20
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlHttp =3D new ActiveXObject(progIDs[i]);
                return xmlHttp;
            }
            catch (ex) {
            }
        }
	   =20
        return null;
    }
}

Sys.Browser =3D {};

Sys.Browser.InternetExplorer =3D {};
Sys.Browser.Firefox =3D {};
Sys.Browser.Safari =3D {};
Sys.Browser.Opera =3D {};

Sys.Browser.agent =3D null;
Sys.Browser.hasDebuggerStatement =3D false;
Sys.Browser.name =3D navigator.appName;
Sys.Browser.version =3D parseFloat(navigator.appVersion);

if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent =3D Sys.Browser.InternetExplorer;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Firefox;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Firefox';
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Safari/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Safari\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Opera;
}


Type.registerNamespace('Sys.UI');

Sys._Debug =3D function Sys$_Debug() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}


    function Sys$_Debug$_appendConsole(text) {
                if ((typeof(Debug) !=3D=3D 'undefined') && =
Debug.writeln) {
            Debug.writeln(text);
        }
                if (window.console && window.console.log) {
            window.console.log(text);
        }
                if (window.opera) {
            window.opera.postError(text);
        }
                if (window.debugService) {
            window.debugService.trace(text);
        }
    }

    function Sys$_Debug$_appendTrace(text) {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value +=3D text + '\n';
        }
    }

    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <param name=3D"condition" type=3D"Boolean"></param>
        /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"displayCaller" type=3D"Boolean" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: =
true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;

        if (!condition) {
            message =3D (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, =
this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);

            if (confirm(String.format(Sys.Res.breakIntoDebugger, =
message))) {
                this.fail(message);
            }
        }
    }

    function Sys$_Debug$clearTrace() {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }

    function Sys$_Debug$fail(message) {
        /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;

        this._appendConsole(message);

                if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }

    function Sys$_Debug$trace(text) {
        /// <param name=3D"text"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;

        this._appendConsole(text);
        this._appendTrace(text);
    }

    function Sys$_Debug$traceDump(object, name) {
        /// <param name=3D"object" mayBeNull=3D"true"></param>
        /// <param name=3D"name" type=3D"String" mayBeNull=3D"true" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        var text =3D this._traceDump(object, name, true);
    }

    function Sys$_Debug$_traceDump(object, name, recursive, =
indentationPadding, loopArray) {
        name =3D name? name : 'traceDump';
        indentationPadding =3D indentationPadding? indentationPadding : =
'';
        if (object =3D=3D=3D null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || =
RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + =
object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray =3D [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);

                                                                if =
((object =3D=3D window) || (object =3D=3D=3D document) ||
                    (window.HTMLElement && (object instanceof =
HTMLElement)) ||
                    (typeof(object.nodeName) =3D=3D=3D 'string')) {
                    var tag =3D object.tagName? object.tagName : =
'DomElement';
                    if (object.id) {
                        tag +=3D ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + =
'}');
                }
                                else {
                    var typeName =3D Object.getTypeName(object);
                    this.trace(indentationPadding + name + =
(typeof(typeName) =3D=3D=3D 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding =3D=3D=3D '') || recursive) =
{
                        indentationPadding +=3D "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length =3D object.length;
                            for (i =3D 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + =
']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v =3D object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, =
indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype =3D {

    _appendConsole: Sys$_Debug$_appendConsole,

    _appendTrace: Sys$_Debug$_appendTrace,

    assert: Sys$_Debug$assert,

    clearTrace: Sys$_Debug$clearTrace,

    fail: Sys$_Debug$fail,

    trace: Sys$_Debug$trace,

    traceDump: Sys$_Debug$traceDump,

    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');

Sys.Debug =3D new Sys._Debug();
    Sys.Debug.isDebug =3D true;
function Sys$Enum$parse(value, ignoreCase) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"ignoreCase" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    var values, parsed, val;
    if (ignoreCase) {
        values =3D this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues =3D values =3D {};
            var prototype =3D this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] =3D prototype[name];
            }
        }
    }
    else {
        values =3D this.prototype;
    }
    if (!this.__flags) {
        val =3D (ignoreCase ? value.toLowerCase() : value);
        parsed =3D values[val.trim()];
        if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, =
this.__typeName));
        return parsed;
    }
    else {
        var parts =3D (ignoreCase ? value.toLowerCase() : =
value).split(',');
        var v =3D 0;

        for (var i =3D parts.length - 1; i >=3D 0; i--) {
            var part =3D parts[i].trim();
            parsed =3D values[part];
            if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, =
value.split(',')[i].trim(), this.__typeName));
            v |=3D parsed;
        }
        return v;
    }
}

function Sys$Enum$toString(value) {
    /// <param name=3D"value" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

            if ((typeof(value) =3D=3D=3D 'undefined') || (value =
=3D=3D=3D null)) return this.__string;
    if ((typeof(value) !=3D 'number') || ((value % 1) !=3D=3D 0)) throw =
Error.argumentType('value', Object.getType(value), this);
    var values =3D this.prototype;
    var i;
    if (!this.__flags || (value =3D=3D=3D 0)) {
        for (i in values) {
            if (values[i] =3D=3D=3D value) {
                return i;
            }
        }
    }
    else {
        var sorted =3D this.__sortedValues;
        if (!sorted) {
            sorted =3D [];
            for (i in values) {
                sorted[sorted.length] =3D {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues =3D sorted;
        }
        var parts =3D [];
        var v =3D value;
        for (i =3D sorted.length - 1; i >=3D 0; i--) {
            var kvp =3D sorted[i];
            var vali =3D kvp.value;
            if (vali =3D=3D=3D 0) continue;
            if ((vali & value) =3D=3D=3D vali) {
                parts[parts.length] =3D kvp.key;
                v -=3D vali;
                if (v =3D=3D=3D 0) break;
            }
        }
        if (parts.length && v =3D=3D=3D 0) return =
parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, =
String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}

Type.prototype.registerEnum =3D function Type$registerEnum(name, flags) =
{
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"flags" type=3D"Boolean" =
optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw =
Error.argument('name', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('name', =
Sys.Res.badTypeName);
    if (window.__registeredTypes[name]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
name));
    for (var i in this.prototype) {
        var val =3D this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw =
Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !=3D=3D 'number' || (val % 1) !=3D=3D 0) throw =
Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    for (var i in this.prototype) {
        this[i] =3D this.prototype[i];
    }
    this.__typeName =3D name;
    this.parse =3D Sys$Enum$parse;
    this.__string =3D this.toString();
    this.toString =3D Sys$Enum$toString;
    this.__flags =3D flags;
    this.__enum =3D true;
    window.__registeredTypes[name] =3D true;
}

Type.isEnum =3D function Type$isEnum(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__enum;
}

Type.isFlags =3D function Type$isFlags(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__flags;
}
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}


    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Function"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt || (evt.length =3D=3D=3D 0)) return null;
        evt =3D Array.clone(evt);
        if (!evt._handler) {
            evt._handler =3D function(source, args) {
                for (var i =3D 0, l =3D evt.length; i < l; i++) {
                    evt[i](source, args);
                }
            };
        }
        return evt._handler;
    }

    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] =3D [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype =3D {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,

    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Sys.EventArgs =3D function Sys$EventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');

Sys.EventArgs.Empty =3D new Sys.EventArgs();
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);

    this._cancel =3D false;
}


    function Sys$CancelEventArgs$get_cancel() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._cancel =3D value;
    }
Sys.CancelEventArgs.prototype =3D {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}

Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype =3D {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: =
Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');=

Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <param name=3D"propertyName" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;

    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName =3D propertyName;
}
=20
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype =3D {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs'=
, Sys.EventArgs);
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyDisposing$add_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype =3D {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
Sys.Component =3D function Sys$Component() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}





    function Sys$Component$get_events() {
        /// <value type=3D"Sys.EventHandlerList"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (this._idSet) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet =3D true;
        var oldId =3D this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id =3D value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating =3D true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler =3D this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating =3D false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized =3D true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <param name=3D"propertyName" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;

        if (!this._events) return;
        var handler =3D this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new =
Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype =3D {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, =
Sys.INotifyPropertyChange, Sys.INotifyDisposing);

function Sys$Component$_setProperties(target, properties) {
    /// <param name=3D"target"></param>
    /// <param name=3D"properties"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;

    var current;
    var targetType =3D Object.getType(target);
    var isObject =3D (targetType =3D=3D=3D Object) || (targetType =
=3D=3D=3D Sys.UI.DomElement);
    var isComponent =3D Sys.Component.isInstanceOfType(target) && =
!target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val =3D properties[name];
        var getter =3D isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !=3D=3D 'function') {
                        var targetVal =3D target[name];
            if (!isObject && typeof(targetVal) =3D=3D=3D 'undefined') =
throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, =
name));
            if (!val || (typeof(val) !=3D=3D 'object') || (isObject && =
!targetVal)) {
                target[name] =3D val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter =3D target["set_" + name];
            if (typeof(setter) =3D=3D=3D 'function') {
                                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                                current =3D getter.apply(target);
                if (!(current instanceof Array)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i =3D 0, j =3D current.length, l=3D val.length; =
i < l; i++, j++) {
                    current[j] =3D val[i];
                }
            }
            else if ((typeof(val) =3D=3D=3D 'object') && =
(Object.getType(val) =3D=3D=3D Object)) {
                                current =3D getter.apply(target);
                if ((typeof(current) =3D=3D=3D 'undefined') || (current =
=3D=3D=3D null)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, =
name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                                throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}

function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter =3D component["set_" + name];
        var reference =3D $find(references[name]);
        if (typeof(setter) !=3D=3D 'function') throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
        if (!reference) throw =
Error.invalidOperation(String.format(Sys.Res.referenceNotFound, =
references[name]));
        setter.apply(component, [reference]);
    }
}

var $create =3D Sys.Component.create =3D function =
Sys$Component$create(type, properties, events, references, element) {
    /// <param name=3D"type" type=3D"Type"></param>
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"events" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"references" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Sys.UI.Component"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;

    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', =
String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || =
type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', =
Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', =
Sys.Res.createComponentOnDom);
    var component =3D (element ? new type(element): new type());
    var app =3D Sys.Application;
    var creatingComponents =3D app.get_isCreatingComponents();

    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw =
new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new =
Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }

    app._createdComponents[app._createdComponents.length] =3D component;
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }

    return component;
}
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}




Sys.UI.MouseButton.prototype =3D {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}















Sys.UI.Key.prototype =3D {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton"></field>
    /// <field name=3D"charCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean"></field>
    /// <field name=3D"keyCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean"></field>
    /// <field name=3D"target" domElement=3D"true"></field>
    /// <field name=3D"type" type=3D"String"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;

    var e =3D eventObject;
    this.rawEvent =3D e;
    this.altKey =3D e.altKey;
    if (typeof(e.button) !=3D=3D 'undefined') {
        this.button =3D (typeof(e.which) !=3D=3D 'undefined') ? e.button =
:
            (e.button =3D=3D=3D 4) ? Sys.UI.MouseButton.middleButton :
            (e.button =3D=3D=3D 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (e.type =3D=3D=3D 'keypress') {
        this.charCode =3D e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode =3D=3D=3D 46)) {
        this.keyCode =3D 127;
    }
    else {
        this.keyCode =3D e.keyCode;
    }
    this.clientX =3D e.clientX;
    this.clientY =3D e.clientY;
    this.ctrlKey =3D e.ctrlKey;
    this.target =3D e.target ? e.target : e.srcElement;
    if (this.target) {
        var loc =3D Sys.UI.DomElement.getLocation(this.target);
        this.offsetX =3D (typeof(e.offsetX) !=3D=3D 'undefined') ? =
e.offsetX : window.pageXOffset + (e.clientX || 0) - loc.x;
        this.offsetY =3D (typeof(e.offsetY) !=3D=3D 'undefined') ? =
e.offsetY : window.pageYOffset + (e.clientY || 0) - loc.y;
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
    this.type =3D e.type;
}

    function Sys$UI$DomEvent$preventDefault() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            window.event.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            window.event.cancelBubble =3D true;
        }
    }
Sys.UI.DomEvent.prototype =3D {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');

var $addHandler =3D Sys.UI.DomEvent.addHandler =3D function =
Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    if (!element._events) {
        element._events =3D {};
    }
    var eventCache =3D element._events[eventName];
    if (!eventCache) {
        element._events[eventName] =3D eventCache =3D [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler =3D function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler =3D function() {
            return handler.call(element, new =
Sys.UI.DomEvent(window.event));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] =3D {handler: handler, browserHandler: =
browserHandler};
}

var $addHandlers =3D Sys.UI.DomEvent.addHandlers =3D function =
Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"events" type=3D"Object"></param>
    /// <param name=3D"handlerOwner" optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;

    for (var name in events) {
        var handler =3D events[name];
        if (typeof(handler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler =3D Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}

var $clearHandlers =3D Sys.UI.DomEvent.clearHandlers =3D function =
Sys$UI$DomEvent$clearHandlers(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (element._events) {
        var cache =3D element._events;
        for (var name in cache) {
            var handlers =3D cache[name];
            for (var i =3D handlers.length - 1; i >=3D 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events =3D null;
    }
}

var $removeHandler =3D Sys.UI.DomEvent.removeHandler =3D function =
Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    var browserHandler =3D null;
    if ((typeof(element._events) !=3D=3D 'object') || (element._events =
=3D=3D null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache =3D element._events[eventName];
    if (!(cache instanceof Array)) throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var browserHandler =3D null;
    for (var i =3D 0, l =3D cache.length; i < l; i++) {
        if (cache[i].handler =3D=3D=3D handler) {
            browserHandler =3D cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}

    function Sys$IContainer$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Sys.Component"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype =3D {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");


Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}

    function Sys$_ScriptLoader$dispose() {
        this._stopLoading();
        if(this._events) {
            delete this._events;
        }
        this._scriptLoadedDelegate =3D null;       =20
    }

    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <param name=3D"scriptTimeout" type=3D"Number" =
integer=3D"true"></param>
        /// <param name=3D"allScriptsLoadedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadFailedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadTimeoutCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, =
mayBeNull: true}
        ]);
        if (e) throw e;

        if(this._loading) {
            throw =
Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);
        }
        this._loading =3D true;
        this._allScriptsLoadedCallback =3D allScriptsLoadedCallback;
        this._scriptLoadFailedCallback =3D scriptLoadFailedCallback;
        this._scriptLoadTimeoutCallback =3D scriptLoadTimeoutCallback;
       =20
        this._loadScriptsInternal();
    }

    function Sys$_ScriptLoader$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
       =20
                        if(!this._loading) {
                                    return;
        }

        this._currentTask._notified++;
       =20
        if(Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) {          =20
            if(this._currentTask._notified =3D=3D=3D 1) {
                                                                         =
                                       =
window.setTimeout(Function.createDelegate(this, function() {
                    =
this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }

                            }

    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <param name=3D"scriptAttributes" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }

    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <param name=3D"scriptContent" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }

    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <param name=3D"scriptUrl" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }

    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement =3D document.createElement('SCRIPT');

                        scriptElement.type =3D 'text/javascript';

                for (var attr in queuedScript) {
            scriptElement[attr] =3D queuedScript[attr];
        }
       =20
        return scriptElement;
    }

    function Sys$_ScriptLoader$_loadScriptsInternal() {
                if (this._scriptsToLoad && this._scriptsToLoad.length > =
0) {
            var nextScript =3D Array.dequeue(this._scriptsToLoad);
                        var scriptElement =3D =
this._createScriptElement(nextScript);
           =20
            if (scriptElement.text && Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) {
                                scriptElement.innerHTML =3D =
scriptElement.text;
                delete scriptElement.text;
            }           =20

                                                            if =
(typeof(nextScript.src) =3D=3D=3D "string") {
                                this._currentTask =3D new =
Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                                                                         =
       this._currentTask.execute();
            }
            else {
                                                =
document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);
               =20
                                =
Sys._ScriptLoader._clearScript(scriptElement);

                                                                =
this._loadScriptsInternal();
            }
        }
        else {
                        var callback =3D this._allScriptsLoadedCallback;
            this._stopLoading();
            if(callback) {
                callback(this);
            }
        }
    }

    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
                var callback =3D this._scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopLoading();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
        }
        else {
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, =
multipleCallbacks);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, =
loaded) {
                                if(loaded && =
this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                                this._raiseError(true);
            }
            else {
                                =
Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src);
                this._currentTask.dispose();
                this._currentTask =3D null;
                this._loadScriptsInternal();
            }
        }
        else {
                        this._raiseError(false);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback =3D this._scriptLoadTimeoutCallback;
        this._stopLoading();

        if(callback) {
            callback(this);
        }
    }

    function Sys$_ScriptLoader$_stopLoading() {
        if(this._timeoutCookie) {
            window.clearTimeout(this._timeoutCookie);
            this._timeoutCookie =3D null;
        }

        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }

        this._scriptsToLoad =3D null;
        this._loading =3D null;
       =20
        this._allScriptsLoadedCallback =3D null;
        this._scriptLoadFailedCallback =3D null;
        this._scriptLoadTimeoutCallback =3D null;
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
   =20
    loadScripts: Sys$_ScriptLoader$loadScripts,
   =20
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
   =20
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,

    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,

    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
   =20
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,  =20

    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
   =20
    _raiseError: Sys$_ScriptLoader$_raiseError,
   =20
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
   =20
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
   =20
    _stopLoading: Sys$_ScriptLoader$_stopLoading   =20
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, =
Sys.IDisposable);

Sys._ScriptLoader.getInstance =3D function =
Sys$_ScriptLoader$getInstance() {
    var sl =3D Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl =3D Sys._ScriptLoader._activeInstance =3D new =
Sys._ScriptLoader();
    }
    return sl;
}

Sys._ScriptLoader.isScriptLoaded =3D function =
Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
                    var dummyScript =3D =
document.createElement('script');
    dummyScript.src =3D scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), =
dummyScript.src);
}

Sys._ScriptLoader.readLoadedScripts =3D function =
Sys$_ScriptLoader$readLoadedScripts() {
        if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts =3D Sys._ScriptLoader._referencedScripts =
=3D [];

        var existingScripts =3D document.getElementsByTagName('SCRIPT');
        for (i =3D existingScripts.length - 1; i >=3D 0; i--) {
            var scriptNode =3D existingScripts[i];
            var scriptSrc =3D scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}

Sys._ScriptLoader._clearScript =3D function =
Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
                        =
scriptElement.parentNode.removeChild(scriptElement);
    }
}

Sys._ScriptLoader._errorScriptLoadFailed =3D function =
Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage =3D Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
                errorMessage =3D Sys.Res.scriptLoadFailedDebug;
    }

    var displayMessage =3D "Sys.ScriptLoadFailedException: " + =
String.format(errorMessage, scriptUrl);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}

Sys._ScriptLoader._getLoadedScripts =3D function =
Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts =3D [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}


Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <param name=3D"scriptElement" domElement=3D"true"></param>
    /// <param name=3D"completedCallback" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;

    this._scriptElement =3D scriptElement;
    this._completedCallback =3D completedCallback;
    this._notified =3D 0;
}

    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._scriptElement;
    }

    function Sys$_ScriptLoaderTask$dispose() {
                if(this._disposed) {
                        return;
        }
        this._disposed =3D true;
        this._removeScriptElementHandlers();
                Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement =3D null;
    }

    function Sys$_ScriptLoaderTask$execute() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        =
document.getElementsByTagName('HEAD')[0].appendChild(this._scriptElement)=
;
    }

    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
                this._scriptLoadDelegate =3D =
Function.createDelegate(this, this._scriptLoadHandler);
       =20
        if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState =3D 'loaded';
            $addHandler(this._scriptElement, 'load', =
this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
        }   =20
                        this._scriptErrorDelegate =3D =
Function.createDelegate(this, this._scriptErrorHandler);
        $addHandler(this._scriptElement, 'error', =
this._scriptErrorDelegate);
    }

    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
                if(this._scriptLoadDelegate) {
            var scriptElement =3D this.get_scriptElement();
            if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) =
{
                $removeHandler(scriptElement, 'load', =
this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
            }
            $removeHandler(scriptElement, 'error', =
this._scriptErrorDelegate);
            this._scriptErrorDelegate =3D null;
            this._scriptLoadDelegate =3D null;
        }
    }

    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
                if(this._disposed) {
            return;
        }
       =20
                this._completedCallback(this.get_scriptElement(), =
false);
    }

    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
                if(this._disposed) {
            return;
        }

        var scriptElement =3D this.get_scriptElement();
        if ((scriptElement.readyState !=3D=3D 'loaded') &&
            (scriptElement.readyState !=3D=3D 'complete')) {
            return;
        }
       =20
                                        var _this =3D this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype =3D {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
   =20
    dispose: Sys$_ScriptLoaderTask$dispose,
       =20
    execute: Sys$_ScriptLoaderTask$execute,
      =20
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20

    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
          =20
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <param name=3D"components" type=3D"Array" =
elementType=3D"Sys.Component"></param>
    /// <param name=3D"isPartialLoad" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;

    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components =3D components;
    this._isPartialLoad =3D isPartialLoad;
}
=20
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type=3D"Array" elementType=3D"Sys.Component"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype =3D {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs'=
, Sys.EventArgs);
Sys._Application =3D function Sys$_Application() {
    Sys._Application.initializeBase(this);

    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];

    this._unloadHandlerDelegate =3D Function.createDelegate(this, =
this._unloadHandler);
    this._loadHandlerDelegate =3D Function.createDelegate(this, =
this._loadHandler);

    Sys.UI.DomEvent.addHandler(window, "unload", =
this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", =
this._loadHandlerDelegate);
}




    function Sys$_Application$get_isCreatingComponents() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$add_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, =
id));
        this._components[id] =3D component;
    }
    function Sys$_Application$beginCreateComponents() {
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        if (!this._disposing) {
            this._disposing =3D true;
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler =3D =
this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects =3D =
Array.clone(this._disposableObjects);
            for (var i =3D 0, l =3D disposableObjects.length; i < l; =
i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);

            Sys.UI.DomEvent.removeHandler(window, "unload", =
this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
                this._loadHandlerDelegate =3D null;
            }

            var sl =3D Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }

            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        var components =3D this._secondPassComponents;
        for (var i =3D 0, l =3D components.length; i < l; i++) {
            var component =3D components[i].component;
            Sys$Component$_setReferences(component, =
components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents =3D [];
        this._creatingComponents =3D false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"parent" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"Sys.Component" =
mayBeNull=3D"true"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var res =3D [];
        var components =3D this._components;
        for (var name in components) {
            res[res.length] =3D components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
                                                =
window.setTimeout(Function.createDelegate(this, this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var sl =3D Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] =3D =
object;
        }
    }
    function Sys$_Application$raiseLoad() {
        var h =3D this.get_events().getHandler("load");
        var args =3D new =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), =
!this._initializing);
        if (h) {
            h(this, args);
        }

        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents =3D [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, =
references) {
        this._secondPassComponents[this._secondPassComponents.length] =
=3D {component: component, references: references};
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');

        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_loadHandler() {
                        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,

    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _doInitialize: Sys$_Application$_doInitialize,   =20
    _loadHandler: Sys$_Application$_loadHandler,
    _unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application', Sys.Component, =
Sys.IContainer);

Sys.Application =3D new Sys._Application();

var $find =3D Sys.Application.findComponent;

Type.registerNamespace('Sys.Net');

Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._webRequest =3D null;
    this._resultObject =3D null;
}


    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }

    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'set_webRequest'));
        }

        this._webRequest =3D value;
    }


    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData(=
));
        }
        return this._resultObject;
    }


    function Sys$Net$WebRequestExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype =3D {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,

    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,

        get_started: Sys$Net$WebRequestExecutor$get_started,

    get_responseAvailable: =
Sys$Net$WebRequestExecutor$get_responseAvailable,

    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,

        executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
window.XMLDOM =3D function window$XMLDOM(markup) {
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
        return null;
    }
        else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        } catch (ex) {
            return null;
        }
    }
    return null;
    }

Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    Sys.Net.XMLHttpExecutor.initializeBase(this);

    var _this =3D this;
    this._xmlHttpRequest =3D null;
    this._webRequest =3D null;
    this._responseAvailable =3D false;
    this._timedOut =3D false;
    this._timer =3D null;
    this._aborted =3D false;
    this._started =3D false;

    this._onReadyStateChange =3D function () {
       =20
        if (_this._xmlHttpRequest.readyState =3D=3D=3D 4 ) {

            _this._clearTimer();
            _this._responseAvailable =3D true;
            _this._webRequest.completed(Sys.EventArgs.Empty);
            if (_this._xmlHttpRequest !=3D null) {
                _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                _this._xmlHttpRequest =3D null;
            }
        }
    }

    this._clearTimer =3D function this$_clearTimer() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    }

    this._onTimeout =3D function this$_onTimeout() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut =3D true;
            _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest =3D null;
        }
    }

}



    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }

    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this._responseAvailable;
    }

    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }

    function Sys$Net$XMLHttpExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._webRequest =3D this.get_webRequest();

        if (this._started) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'executeRequest'));
        }
        if (this._webRequest =3D=3D=3D null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }

        var body =3D this._webRequest.get_body();
        var headers =3D this._webRequest.get_headers();
        this._xmlHttpRequest =3D new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange =3D =
this._onReadyStateChange;
        var verb =3D this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, =
this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val =3D headers[header];
                if (typeof(val) !=3D=3D "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }

        if (verb.toLowerCase() =3D=3D=3D "post") {
                        if ((headers =3D=3D=3D null) || =
!headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded');
            }

                        if (!body) {
                body =3D "";
            }
        }

        var timeout =3D this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer =3D =
window.setTimeout(Function.createDelegate(this, this._onTimeout), =
timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started =3D true;
    }

    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getResponseHeader'));
        }

        var result;
        try {
            result =3D this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result =3D "";
        return result;
    }

    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getAllResponseHeaders'));
        }

        return this._xmlHttpRequest.getAllResponseHeaders();
    }

    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_responseData'));
        }

        return this._xmlHttpRequest.responseText;
    }

    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusCode'));
        }

        return this._xmlHttpRequest.status;
    }

    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusText'));
        }

        return this._xmlHttpRequest.statusText;
    }

    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_xml'));
        }

        var xml =3D this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {

                        xml =3D new =
XMLDOM(this._xmlHttpRequest.responseText);

                        if (!xml || !xml.documentElement)
                return null;
        }
                else if (navigator.userAgent.indexOf('MSIE') !=3D=3D -1) =
{
            xml.setProperty('SelectionLanguage', 'XPath');
        }

                if (xml.documentElement.namespaceURI =3D=3D=3D =
"http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
                if (xml.documentElement.firstChild && =
xml.documentElement.firstChild.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        return xml;
    }

    function Sys$Net$XMLHttpExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._started) {
            throw =
Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }

                if (this._aborted || this._responseAvailable || =
this._timedOut)
            return;

        this._aborted =3D true;

        this._clearTimer();

        if (this._xmlHttpRequest && !this._responseAvailable) {

                        this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            this._xmlHttpRequest.abort();

            this._xmlHttpRequest =3D null;
            var handler =3D =
this._webRequest._get_eventHandlerList().getHandler("completed");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
    }
Sys.Net.XMLHttpExecutor.prototype =3D {

    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,

    get_started: Sys$Net$XMLHttpExecutor$get_started,

    get_responseAvailable: =
Sys$Net$XMLHttpExecutor$get_responseAvailable,

    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,

    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,

    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,

    getAllResponseHeaders: =
Sys$Net$XMLHttpExecutor$getAllResponseHeaders,

    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,

    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,

    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,

    get_xml: Sys$Net$XMLHttpExecutor$get_xml,

    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', =
Sys.Net.WebRequestExecutor);
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    this._this =3D this;
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}


    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("invokingRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("completedRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._defaultTimeout =3D value;
    }

    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._defaultExecutorType =3D value;
    }

    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <param name=3D"webRequest" =
type=3D"Sys.Net.WebRequest"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;

        var executor =3D webRequest.get_executor();
                if (!executor) {
           =20
            var failed =3D false;
            try {
                var executorType =3D eval(this._defaultExecutorType);
                executor =3D new executorType();
            } catch (e) {
                failed =3D true;
            }

            if (failed  || =
!Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", =
String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }

            webRequest.set_executor(executor);
        }

                if (executor.get_aborted()) {
            return;
        }

        var evArgs =3D new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler =3D =
this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }

        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype =3D {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: =
Sys$Net$_WebRequestManager$remove_invokingRequest,

    add_completedRequest: =
Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: =
Sys$Net$_WebRequestManager$remove_completedRequest,

    _get_eventHandlerList: =
Sys$Net$_WebRequestManager$_get_eventHandlerList,

    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,

    get_defaultExecutorType: =
Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: =
Sys$Net$_WebRequestManager$set_defaultExecutorType,

    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}

Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');

Sys.Net.WebRequestManager =3D new Sys.Net._WebRequestManager();
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <param name=3D"webRequest" type=3D"Sys.Net.WebRequest"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;

    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest =3D webRequest;
}


    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype =3D {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}

Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEven=
tArgs', Sys.CancelEventArgs);
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._url =3D "";
    this._headers =3D { };
    this._body =3D null;
    this._userContext =3D null;
    this._httpVerb =3D null;
    this._executor =3D null;
    this._invokeCalled =3D false;
    this._timeout =3D 0;
}


    function Sys$Net$WebRequest$add_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().removeHandler("completed", =
handler);
    }

    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <param name=3D"eventArgs" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var handler =3D =
Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRe=
quest");
        if (handler) {
            handler(this._executor, eventArgs);
        }

        handler =3D =
this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }

    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$WebRequest$get_url() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._url =3D value;
    }

    function Sys$Net$WebRequest$get_headers() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }

    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
                if (this._httpVerb =3D=3D=3D null) {
            if (this._body =3D=3D=3D null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (value.length =3D=3D=3D 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }

        this._httpVerb =3D value;
    }

    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._body =3D value;
    }

    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._userContext =3D value;
    }

    function Sys$Net$WebRequest$get_executor() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;

        if (this._executor !=3D=3D null && this._executor.get_started()) =
{
            throw =
Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }

        this._executor =3D value;
        this._executor._set_webRequest(this);
    }

    function Sys$Net$WebRequest$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._timeout =3D=3D=3D 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._timeout =3D value;
    }

    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }

    function Sys$Net$WebRequest$invoke() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }

        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled =3D true;
    }
Sys.Net.WebRequest.prototype =3D {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,

    completed: Sys$Net$WebRequest$completed,

    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,

    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,

    get_headers: Sys$Net$WebRequest$get_headers,

    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,

    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,

    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,

    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,

    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,

    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,

    invoke: Sys$Net$WebRequest$invoke
}

Sys.Net.WebRequest._resolveUrl =3D function =
Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
        if (url && url.indexOf('://') !=3D=3D -1) {
        return url;
    }

        if (!baseUrl || baseUrl.length =3D=3D=3D 0) {
        var baseElement =3D document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > =
0) {
            baseUrl =3D baseElement.href;
        }
        else {
            baseUrl =3D document.URL;
        }
    }

        var qsStart =3D baseUrl.indexOf('?');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    baseUrl =3D baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);

        if (!url || url.length =3D=3D=3D 0) {
        return baseUrl;
    }

        if (url.charAt(0) =3D=3D=3D '/') {
        var slashslash =3D baseUrl.indexOf('://');
        if (slashslash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }

        var nextSlash =3D baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }

        return baseUrl.substr(0, nextSlash) + url;
    }
            else {
        var lastSlash =3D baseUrl.lastIndexOf('/');
        if (lastSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }

        return baseUrl.substr(0, lastSlash+1) + url;
    }
}

Sys.Net.WebRequest._createQueryString =3D function =
Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
        if (!encodeMethod)
        encodeMethod =3D encodeURIComponent;

    var sb =3D new Sys.StringBuilder();

    var i =3D 0;
    for (var arg in queryString) {
        var obj =3D queryString[arg];
        if (typeof(obj) =3D=3D=3D "function") continue;
        var val =3D =
Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !=3D=3D 0) {
            sb.append('&');
        }

        sb.append(arg);
        sb.append('=3D');
        sb.append(encodeMethod(val));

        i++;
    }

    return sb.toString();
}

Sys.Net.WebRequest._createUrl =3D function =
Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }

    var qs =3D Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep =3D '?';
        if (url && url.indexOf('?') !=3D=3D -1)
            sep =3D '&';
        return url + sep + qs;
    } else {
        return url;
    }
}

Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}


    function Sys$Net$WebServiceProxy$set_timeout(value) {
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }

    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <param name=3D"servicePath" type=3D"String"></param>
        /// <param name=3D"methodName" type=3D"String"></param>
        /// <param name=3D"useGet" type=3D"Boolean"></param>
        /// <param name=3D"params"></param>
        /// <param name=3D"onSuccess" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"onFailure" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
        /// <returns type=3D"Sys.Net.WebRequest"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, =
optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;


                if (onSuccess =3D=3D=3D null || typeof onSuccess =
=3D=3D=3D 'undefined') onSuccess =3D =
this.get_defaultSucceededCallback();
        if (onFailure =3D=3D=3D null || typeof onFailure =3D=3D=3D =
'undefined') onFailure =3D this.get_defaultFailedCallback();
        if (userContext =3D=3D=3D null || typeof userContext =3D=3D=3D =
'undefined') userContext =3D this.get_defaultUserContext();
       =20
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype =3D {
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_path: Sys$Net$WebServiceProxy$set_path,
    get_path: Sys$Net$WebServiceProxy$get_path,

    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');

Sys.Net.WebServiceProxy.invoke =3D function =
Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, =
onSuccess, onFailure, userContext, timeout) {
    /// <param name=3D"servicePath" type=3D"String"></param>
    /// <param name=3D"methodName" type=3D"String"></param>
    /// <param name=3D"useGet" type=3D"Boolean" =
optional=3D"true"></param>
    /// <param name=3D"params" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onSuccess" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onFailure" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"timeout" type=3D"Number" =
optional=3D"true"></param>
    /// <returns type=3D"Sys.Net.WebRequest"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: =
true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: =
true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;


        var request =3D new Sys.Net.WebRequest();

    request.get_headers()['Content-Type'] =3D 'application/json; =
charset=3Dutf-8';
    if (!params) params =3D {};
    var urlParams =3D params;
        if (!useGet || !urlParams) urlParams =3D {};
    =
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+methodName,=
 urlParams));

    var body =3D null;
        if (!useGet) {
        body =3D =
Sys.Serialization.JavaScriptSerializer.serialize(params);

                if (body =3D=3D=3D "{}") body =3D "";
    }

        request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();

    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode =3D response.get_statusCode();
            var result =3D null;

            try {
                var contentType =3D =
response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result =3D response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result =3D response.get_xml();
                }
                                else {
                    result =3D response.get_responseData();
                }
            } catch (ex) {
            }

            var error =3D response.getResponseHeader("jsonerror");
            var errorObj =3D (error =3D=3D=3D "true");
            if (errorObj) {
                result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
            }
            if (((statusCode < 200) || (statusCode >=3D 300)) || =
errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result =3D new Sys.Net.WebServiceError(false , =
String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode =3D statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                                        var error;
                    if (result && errorObj) {
                                                error =3D =
result.get_exceptionType() + "-- " + result.get_message();
                    }
                    else {
                                                                        =
error =3D response.get_responseData();
                    }
                    alert(String.format(Sys.Res.webServiceFailed, =
methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg =3D String.format(Sys.Res.webServiceTimedOut, =
methodName);
            }
            else {
                msg =3D String.format(Sys.Res.webServiceFailedNoMsg, =
methodName)
            }
            if (onFailure) {
                onFailure(new =
Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), =
userContext, methodName);
            }
            else {
                                alert(msg);
            }
        }
    }

    return request;
}

Sys.Net.WebServiceProxy._generateTypedConstructor =3D function =
Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
                if (properties) {
            for (var name in properties) {
                this[name] =3D properties[name];
            }
        }
        this.__type =3D type;
    }
}
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <param name=3D"timedOut" type=3D"Boolean"></param>
    /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"stackTrace" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"exceptionType" type=3D"String" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    this._timedOut =3D timedOut;
    this._message =3D message;
    this._stackTrace =3D stackTrace;
    this._exceptionType =3D exceptionType;
    this._statusCode =3D -1;
}


    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$WebServiceError$get_statusCode()