From: <Salvato da Windows Internet Explorer 8>
Subject: ALBOSCUOLE - Associazione Nazionale di Giornalismo Scolastico
Date: Fri, 5 Feb 2010 12:42:20 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0159_01CAA660.A87FCEE0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/Articoli.aspx?cod=16560veg3dj45aoxxjc551gji4naj883-265220

=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>ALBOSCUOLE - =
Associazione Nazionale di Giornalismo Scolastico</TITLE>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<META content=3DItalian http-equiv=3Dcontent-language>
<META content=3Dno-cache http-equiv=3Dpragma>
<META content=3D0 http-equiv=3Dexpires>
<META name=3Dkeywords=20
content=3D"BLOG, ALBOSCUOLE, associazione, nazionale, giornalismo, =
scolastico, scuola, istruzione, didattica, studio, informazioni, =
attivit=C3=A0 scolastiche, orientamento, scuole italiane statali e =
private, centri di formazione professionale, facolt=C3=A0 universitarie, =
studenti, professori, normativa scolastica, gite scolastiche, musei, =
TARGA, ARGENTO, PRESIDENTE, REPUBBLICA">
<META name=3Ddescription=20
content=3D"ALBOSCUOLE Associazione Nazionale di Giornalismo Scolastico - =
TARGA D'ARGENTO DEL PRESIDENTE DELLA REPUBBLICA">
<META name=3Drevisit-after content=3D"1 Days">
<META name=3Daudience content=3Dall>
<META name=3Drobots content=3Dall>
<META name=3Dlanguage content=3DIT>
<META name=3DRATING content=3Dgeneral>
<META name=3DAuthor content=3DAlboscuole>
<META name=3DOWNER content=3D"Associazione Alboscuole">
<META name=3Dcopyright=20
content=3D"alboscuole.it - Associazione Nazionale di Giornalismo =
Scolastico">
<META content=3Da.guerrini@alboscuole.it http-equiv=3Dreply-to><LINK=20
title=3D"Cerca articoli su Alboscuole" rel=3Dsearch=20
type=3Dapplication/opensearchdescription+xml =
href=3D"/feed/search.xml"><LINK=20
rel=3D"shortcut icon" type=3Dimage/x-icon =
href=3D"Albo_IMG/albo.ico"><LINK=20
title=3D"Alboscuole.it - Rassegna Stampa" rel=3Dalternate =
type=3Dapplication/rss+xml=20
href=3D"feedRSS.aspx"><LINK title=3D"Alboscuole.it - Rassegna Stampa =
Elementari"=20
rel=3Dalternate type=3Dapplication/rss+xml=20
href=3D"feed/alboArt.aspx?tp=3Delementari"><LINK=20
title=3D"Alboscuole.it - Rassegna Stampa Medie" rel=3Dalternate=20
type=3Dapplication/rss+xml href=3D"feed/alboArt.aspx?tp=3Dmedie"><LINK=20
title=3D"Alboscuole.it - Rassegna Stampa Superiori" rel=3Dalternate=20
type=3Dapplication/rss+xml =
href=3D"feed/alboArt.aspx?tp=3Dsuperiori"><LINK=20
rel=3Dstylesheet type=3Dtext/css =
href=3D"http://www.alboscuole.it/css/screen.css"=20
media=3D"screen, projection"><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.alboscuole.it/css/print.css" media=3Dprint><LINK =
title=3D"Feed RSS"=20
rel=3Dalternate type=3Dapplication/rss+xml href=3D"#1">
<SCRIPT language=3Djavascript type=3Dtext/javascript=20
src=3D"http://www.alboscuole.it/css/WebSite.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.alboscuole.it/public/mediaplayer/swfobject.js"></SCRIPT=
>

<STYLE type=3Dtext/css>.nolink A {
	COLOR: black; TEXT-DECORATION: none
}
.nolink A:hover {
	COLOR: black; TEXT-DECORATION: none
}
</STYLE>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18876"></HEAD>
<BODY id=3Dctl00_bodyMaster>
<FORM id=3DaspnetForm method=3Dpost name=3DaspnetForm=20
action=3DArticoli.aspx?cod=3D16560veg3dj45aoxxjc551gji4naj883-265220>
<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
value=3D/wEPDwULLTEyMTU3OTQyMTQPZBYCZg9kFgICAw9kFgICAQ9kFggCAQ8WAh4HVmlza=
WJsZWcWAgIBDw8WAh4EVGV4dAXZATxsaT48YSBocmVmPSJhcnRpY29saS5hc3B4Ij5BcmNoaX=
ZpbyBBcnRpY29saTwvYT48L2xpPjxsaT48YSBocmVmPSJnaW9ybmFsaS5hc3B4Ij5BcmNoaXZ=
pbyBHaW9ybmFsaTwvYT48L2xpPjxsaT48YSBocmVmPSJyZWRhdHRvcmkuYXNweCI+QXJjaGl2=
aW8gR2lvcm5hbGlzdGk8L2E+PC9saT48bGk+PGEgaHJlZj0ic3RhdGlzdGljaGUuYXNweCI+U=
3RhdGlzdGljaGU8L2E+PC9saT5kZAIFD2QWAmYPDxYCHwFlZGQCBg9kFgICAQ9kFgYCAQ8PFg=
IfAQWCATxzdHJvbmc+TWVldGluZyBOYXppb25hbGUgQWxib3NjdW9sZSAyMDEwPC9zdHJvbmc=
+ICZuYnNwOyA8YSBocmVmPSJwZ0luZm8uYXNweD9JRD05MzMxNyZwZz1QIj5vbi1saW5lIGls=
IHByb2dyYW1tYTwvYT48YnIgLz48YnIgLz5kZAIDDw8WAh8AaGQWAgIJDzwrAA0AZAIFD2QWA=
gIBDw8WAh8BBdEEPHAgY2xhc3M9ImRhdGFwdWIiPjA0LzAyLzIwMTAgLSAxOS4xNTwvcD48aD=
E+bm90aXppZSBtdXNpY2FsaS4uLiBwZXIgY2hpIMOoIGZ1b3JpIGRhbCBjb3JvPC9oMT48aW1=
nIHNyYz0iY29uc29sbGUvaW1nLmFzcHg/Y29kPTE2OTA1dmVnM2RqNDVhb3h4amM1NTFnamk0=
bmFqNTctMjY1MjIxIiBhbGlnbj0icmlnaHQiIGJvcmRlcj0iMCIgY2xhc3M9ImxlZ2dpYXJ0a=
WNvbG8iPjxwPg0KNSBmZWJicmFpbywgaCAxNy4zMC4NCg0KDQpQcmVzc28gbGEgc2FsYSBDb2=
5zaWxpYXJlIGRlbCBDb211bmUgZGkgUGVzY2FyYSwgc2kgZXNpYmlyJmFncmF2ZTsgaWwgY29=
ybyBkZWwgbm9zdHJvIExpY2VvLCBjdXJhdG8gZSBkaXJldHRvIGRhbGxhIHByb2Yuc3NhIEdh=
YnJpZWxsYSBDaWFmZmFyaW5pLiANCg0KDQpMJ29jY2FzaW9uZSAmZWdyYXZlOyBkYXRhIGRhb=
GxhIGNlbGVicmF6aW9uZSBkZWxsYSBHaW9ybmF0YSBkZWxsYSBNZW1vcmlhLCBvcmdhbml6em=
F0YSBkYWxsJ2Fzc29jaWF6aW9uZSBBU1NPIE9ubHVzLiBMJ2luaXppYXRpdmEgaGEgdW4gbm9=
tZSBjdXJpb3NvIGUgaW50ZXJlc3NhbnRlOiBQZXJjb3JzbyBzZW5zb3JpYWxlLi4uDQoNCjwv=
cD5kZAIHD2QWBAIDD2QWAgIBDw8WAh8BBeIFPHAgaWQ9InZpZGVvMSI+PGEgaHJlZj0iaHR0c=
DovL3d3dy5tYWNyb21lZGlhLmNvbS9nby9nZXRmbGFzaHBsYXllciI+R2V0IHRoZSBGbGFzaC=
BQbGF5ZXI8L2E+IHRvIHNlZSB0aGlzIHBsYXllci48L3A+PHNjcmlwdCB0eXBlPSJ0ZXh0L2p=
hdmFzY3JpcHQiPgl2YXIgczEgPSBuZXcgU1dGT2JqZWN0KCJodHRwOi8vd3d3LmFsYm9zY3Vv=
bGUuaXQvcHVibGljL21lZGlhcGxheWVyL3BsYXllci5zd2YiLCAicGx5IiwgIjMwMCIsICIyN=
DMiLCAiOSIsICIjRkZGRkZGIik7IAlzMS5hZGRQYXJhbSgiYWxsb3dmdWxsc2NyZWVuIiwgIm=
ZhbHNlIik7IAlzMS5hZGRQYXJhbSgiYWxsb3dzY3JpcHRhY2Nlc3MiLCAiYWx3YXlzIik7IAl=
zMS5hZGRQYXJhbSgiZmxhc2h2YXJzIiwgImZpbGU9aHR0cDovL3d3dy5hbGJvc2N1b2xlLml0=
L3B1YmxpYy90ZzI0L3B1bnRhdGFfMjMuZmx2JmltYWdlPWh0dHA6Ly93d3cuYWxib3NjdW9sZ=
S5pdC9wdWJsaWMvdGcyNC9wdW50YXRhXzIzLmpwZyIpOyAJczEud3JpdGUoInZpZGVvMSIpOy=
A8L3NjcmlwdD5UZWxlLXZpc2l0YXRvcmkgZGkgaWVyaSBuLiAyNS4yNjI8YnIgLz5FZGl6aW9=
uZSBzZXR0aW1hbmFsZSBkZWwgVEcyNCBuLiA8c3Ryb25nPjIzPC9zdHJvbmc+IGluIG9uZGEg=
PGJyIC8+ZGEgbWFydGVkw6wgMTYgZ2l1IDIwMDk8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBya=
WdodCI+PGEgaHJlZj0iL1RHMjRfQXJjaGl2aW8uYXNweCI+YXJjaGl2aW88L2E+PC9kaXY+ZG=
QCBQ9kFgQCAQ9kFgQCAQ88KwANAGQCAw88KwANAGQCAw8PFgIfAGdkFgQCAg8PFgIfAQXuAjx=
kaXYgY2xhc3M9ImdyaWRfMSBhbHBoYSI+PGltZyBjbGFzcz0icGljY29sYSIgc3JjPSJpbWdG=
b3RvLmFzcHg/Q1I9MTE3MzBrZmN6MmQ0NWJna2dpNHJhcHdwZ3AyYXE4NDMtMTg5MDg2IiBhb=
HQ9ImZvdG8gcmVkYXR0b3JlIiB0aXRsZT0iIiAvPjwvZGl2PjxkaXYgY2xhc3M9ImdyaWRfMy=
BvbWVnYSI+PHA+PGEgaHJlZj0iYXJ0aWNvbGkuYXNweD9DUj0xMTczMGtmY3oyZDQ1YmdrZ2k=
0cmFwd3BncDJhcTg0My0xODkwODYiPjxzdHJvbmc+c2lsdmlhIGRpIHBhb2xvPC9zdHJvbmc+=
PC9hPjxiciAvPlJlc3BvbnNhYmlsZSBFZGl0b3JpYWxlPGJyIC8+RG9jZW50ZTxiciAvPkFyd=
Gljb2xpIHB1YmJsaWNhdGk6IDQzPGJyIC8+PC9wPjwvZGl2PmRkAgQPDxYCHwEF4wU8cD48YS=
BocmVmPSJhcnRpY29saS5hc3B4P0NJPTI2NjhreXQ0dHRxM3N5bGNjcjQ1NTE1cXlpNDUyNTk=
tMTg4OTYyIj48c3Ryb25nPkxlb1JlcG9ydDwvc3Ryb25nPjwvYT48L3A+PHA+PGEgaHJlZj0i=
cHJlbWlvLmFzcHg/Q0k9MjY2OGt5dDR0dHEzc3lsY2NyNDU1MTVxeWk0NTI1OS0xODg5NjImY=
W5ubz0yMDA5Ij4yMDA5IDxpbWcgc3R5bGU9InZlcnRpY2FsLWFsaWduOiB0b3AiIHNyYz0iQW=
xib19JbWcvY29jY2FyZGFfU21hbGwucG5nIiBhbHQ9IlZpbmNpdG9yZSIgdGl0bGU9IiIgYm9=
yZGVyPSIwIiAvPjwvYT4gJm5ic3A7PC9wPjxwPlZpc2l0ZSB0b3RhbGk6IDxzdHJvbmc+MTMu=
MTE2PC9zdHJvbmc+PGJyIC8+QXJ0aWNvbGkgcHViYmxpY2F0aTogPHN0cm9uZz40NTE8L3N0c=
m9uZz48YnIgLz5EYXRhIGFkZXNpb25lOiA8c3Ryb25nPjIyLzAxLzIwMDk8L3N0cm9uZz48L3=
A+PHA+RGlyaWdlbnRlOiA8c3Ryb25nPlBhc3F1YWxlIFNvZmk8L3N0cm9uZz48YnIgLz5Eb2N=
lbnRlOiA8c3Ryb25nPlNpbHZpYSBEaSBQYW9sbzwvc3Ryb25nPjwvcD48cD5TY2llbnRpZmlj=
bzxiciAvPjxzdHJvbmc+TGVvbmFyZG8gZGEgVmluY2k8L3N0cm9uZz48YnIgLz5QZXNjYXJhI=
ChQRSk8L3A+PHA+TGVnZ2kgaWwgR2lvcm5hbGU6PGJyIC8+PGEgaHJlZj0iSHR0cDovL3d3dy=
5hbGJvc2N1b2xlLml0L2xlb3JlcG9ydCIgdGFyZ2V0PSJfYmxhbmsiPnd3dy5hbGJvc2N1b2x=
lLml0L2xlb3JlcG9ydDwvYT48L3A+ZGQYAwUvY3RsMDAkQ29udGVudF9TcGFsbGFEWCRjbnRU=
T1AkR1ZpZXdUT1BSZWRhdHRvcmkPZ2QFL2N0bDAwJENvbnRlbnRfU3BhbGxhRFgkY250VE9QJ=
EdWaWV3VE9QUmVkYXppb25pD2dkBR9jdGwwMCRDb250ZW50X1BhZ2luYSRHVkFydGljb2xpD2=
dkBeK3Qc7r/yhwYDT8u//L/mIE72k=3D=20
type=3Dhidden 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 type=3Dtext/javascript=20
src=3D"http://www.alboscuole.it/WebResource.axd?d=3DmQ3DtViwGHt_4TR2Ej8NG=
g2&amp;t=3D633739919971222506"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.alboscuole.it/ScriptResource.axd?d=3DjZGAjiCOXFpAYXzYGx=
svc9fLo2ClM2cJYPzS6f3MtyCHZl0F0Zh4O1XYtZ73DoUt11yHP5VHO2XJnWoV7SoAz2_lZnp=
pN4XqfE9qY_bIZxs1&amp;t=3Dffffffffd9360524"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
if (typeof(Sys) =3D=3D=3D 'undefined') throw new Error('Impossibile =
caricare il framework lato client di ASP.NET Ajax.');
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.alboscuole.it/ScriptResource.axd?d=3DjZGAjiCOXFpAYXzYGx=
svc9fLo2ClM2cJYPzS6f3MtyCHZl0F0Zh4O1XYtZ73DoUtsEmURJl-lVL-xYaV2Lj7JhO5zD8=
VTDcOplPDYd0X22PzlQnvrlAog__SCTj9twVd0&amp;t=3Dffffffffd9360524"></SCRIPT=
>

<DIV><INPUT id=3D__EVENTVALIDATION=20
value=3D/wEWBAKD6IzdCQLYhpyhDQL1sPiYAgKCxP2JD95kRrww8D2sqtXRdJURUG2iwT6F =

type=3Dhidden name=3D__EVENTVALIDATION> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', =
document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], =
[], 90);
//]]>
</SCRIPT>

<DIV id=3Dbg_top></DIV>
<DIV class=3D"container_12 clearfix">
<DIV id=3Dheader class=3Dgrid_12>
<DIV id=3Dlogo class=3D"grid_5 alpha">
<P id=3Dtitolo><IMG title=3D"" alt=3DALBOSCUOLE=20
src=3D"http://www.alboscuole.it/img/albo_logo.gif"> <A=20
href=3D"http://www.alboscuole.it/">AlboScuole</A></P>
<P id=3Dsottotitolo>ASSOCIAZIONE NAZIONALE GIORNALISMO SCOLASTICO</P>
<P class=3Dhide>www.alboscuole.it</P>
<P class=3Dnoview><A=20
href=3D"http://www.alboscuole.it/Articoli.aspx?cod=3D16560veg3dj45aoxxjc5=
51gji4naj883-265220#maincontent">ALBOSCUOLE=20
Associazione Nazionale di Giornalismo Scolastico - TARGA D'ARGENTO DEL=20
PRESIDENTE DELLA REPUBBLICA</A></P></DIV>
<DIV id=3Dnavmain>
<UL>
  <LI><A id=3Dtg24 =
href=3D"http://www.alboscuole.it/TG24_CL.aspx">Cronaca=20
  Locale</A></LI>
  <LI><A id=3Dgiornali =
href=3D"http://www.alboscuole.it/giornali.aspx">Giornali=20
  d'Istituto</A></LI>
  <LI><A id=3Dpremio =
href=3D"http://www.alboscuole.it/premio.aspx">Meeting=20
  Nazionale</A></LI>
  <LI><A id=3Doscar href=3D"http://www.albopress.it/" =
target=3D_blank>Circolo=20
  Albopress</A></LI>
  <LI><A id=3Dbenemerite =
href=3D"http://www.alboscuole.it/benemerite.aspx">Scuole=20
  Benemerite</A></LI></UL></DIV>
<DIV id=3Dnastro></DIV></DIV><!-- header -->
<DIV id=3Dlinkmain class=3Dgrid_12>
<UL>
  <LI><A href=3D"http://www.alboscuole.it/">Home</A></LI>
  <LI><A =
href=3D"http://www.alboscuole.it/info.aspx">Informazioni</A></LI>
  <LI><A =
href=3D"http://www.alboscuole.it/contatti.aspx">Contatti</A></LI>
  <LI><A href=3D"http://www.alboscuole.it/adesione.aspx">Registrazione =
Gratuita=20
  Giornale</A></LI></UL></DIV>
<DIV class=3Dclear></DIV>
<DIV id=3Dmenu class=3Dgrid_2>
<UL id=3Dctl00_ul_Navigazione class=3Dnavigazione><SPAN=20
  id=3Dctl00_lblLINKNazigazione>
  <LI><A href=3D"http://www.alboscuole.it/articoli.aspx">Archivio=20
Articoli</A></LI>
  <LI><A href=3D"http://www.alboscuole.it/giornali.aspx">Archivio=20
Giornali</A></LI>
  <LI><A href=3D"http://www.alboscuole.it/redattori.aspx">Archivio=20
  Giornalisti</A></LI>
  <LI><A=20
  =
href=3D"http://www.alboscuole.it/statistiche.aspx">Statistiche</A></LI></=
SPAN></UL><A=20
href=3D"http://www.alboscuole.it/targa.aspx"><IMG=20
alt=3D"TARGA DEL PRESIDENTE DELLA REPUBBLICA"=20
src=3D"http://www.alboscuole.it/img/targa.png"></A>=20
<DIV id=3Dlogin class=3D"giallo inner">
<H4>Gestione Giornale</H4>
<P><LABEL for=3Dcodice>codice:</LABEL><BR><INPUT id=3Dctl00_codice =
type=3Dtext=20
name=3Dctl00$codice></P>
<P><LABEL for=3Dpassword>password:</LABEL><BR><INPUT id=3Dctl00_password =

type=3Dpassword name=3Dctl00$password></P>
<P><INPUT id=3Dctl00_cmdLogin value=3DEntra type=3Dsubmit =
name=3Dctl00$cmdLogin>=20
</P></DIV>
<DIV>
<P><A href=3D"http://www.lavocedellascuola.it/" target=3D_blank><IMG =
border=3D0=20
src=3D"http://www.alboscuole.it/img/B_VOCE_140.PNG"></A> </P></DIV>
<DIV>
<P><A href=3D"http://www.alboscuole.it/donazione.aspx"><IMG border=3D0=20
src=3D"http://www.alboscuole.it/img/donazioni.gif"></A> </P></DIV>
<DIV>
<P><A href=3D"http://www.infokronos.it/" target=3D_blank><IMG border=3D0 =

src=3D"http://www.alboscuole.it/img/infokronos.gif"></A> </P></DIV>
<DIV>
<P><A href=3D"http://www.alboscuole.it/filo_diretto.aspx"><IMG =
border=3D0=20
src=3D"http://www.alboscuole.it/img/filo_diretto.gif"></A> =
</P></DIV><SPAN=20
id=3Dctl00_WebPageSX_lblWebPage></SPAN></DIV><!-- menu -->
<DIV id=3Dctl00_main class=3D"grid_6 main"><A =
name=3Dmaincontent></A><SPAN=20
id=3Dctl00_Content_Pagina_lblInfo><STRONG>Meeting Nazionale Alboscuole=20
2010</STRONG> &nbsp; <A=20
href=3D"http://www.alboscuole.it/pgInfo.aspx?ID=3D93317&amp;pg=3DP">on-li=
ne il=20
programma</A><BR><BR></SPAN>
<DIV id=3Dctl00_Content_Pagina_pnlArticolo><SPAN=20
id=3Dctl00_Content_Pagina_lblArticolo>
<P class=3Ddatapub>04/02/2010 - 19.15</P>
<H1>notizie musicali... per chi =C3=A8 fuori dal coro</H1><IMG =
class=3Dleggiarticolo=20
border=3D0 align=3Dright=20
src=3D"http://www.alboscuole.it/consolle/img.aspx?cod=3D16905veg3dj45aoxx=
jc551gji4naj57-265221">
<P>5 febbraio, h 17.30. Presso la sala Consiliare del Comune di Pescara, =
si=20
esibir=C3=A0 il coro del nostro Liceo, curato e diretto dalla prof.ssa =
Gabriella=20
Ciaffarini. L'occasione =C3=A8 data dalla celebrazione della Giornata =
della Memoria,=20
organizzata dall'associazione ASSO Onlus. L'iniziativa ha un nome =
curioso e=20
interessante: Percorso sensoriale... </P></SPAN></DIV></DIV><!-- main =
-->
<DIV id=3Dctl00_sub class=3D"grid_4 sub">
<P id=3Dctl00_P_Banner><!--
                <a href=3D"/TG24_CL.aspx">
                    <img src=3D"img/ban_cronacalocale.jpg" alt=3D"TG24 - =
Cronaca locale" title=3D"TG24 Cronaca locale - diventa reporter" /></a>
                --><!-- banner flash dire.it --><!--
                    <object data=3D"img/dire.sf" =
type=3D"application/x-shockwave-flash" width=3D"300" height=3D"104">
                        <param name=3D"movie" value=3D"img/dire.swf" />
                        <param name=3D"flashvars" =
value=3D"clickTAG=3Dhttp://www.alboscuole.it/pgInfo.aspx?ID=3D93329&pg=3D=
I">
                        <img src=3D"img/direscuola.jpg" width=3D"300" =
height=3D"104" alt=3D"DireScuola" title=3D"DireScuola" />
                    </object>--><!-- banner flash dire.it --><A=20
href=3D"http://www.albopress.it/" target=3D_blank><IMG border=3D0=20
src=3D"http://www.alboscuole.it/img/Albopress_H.gif"></A>=20
<H3>ASPETTANDO IL MEETING 2010</H3>
<P>
<OBJECT width=3D300 height=3D247><PARAM NAME=3D"movie" =
VALUE=3D"http://www.youtube.com/v/S_KBh3GTqwo&amp;hl=3Dit&amp;fs=3D1&amp;=
rel=3D0"><PARAM NAME=3D"allowFullScreen" VALUE=3D"true"><PARAM =
NAME=3D"allowscriptaccess" VALUE=3D"always">
                                                                         =
       =20
                                       <embed=20
src=3D"http://www.youtube.com/v/S_KBh3GTqwo&hl=3Dit&fs=3D1&rel=3D0"=20
type=3D"application/x-shockwave-flash"                           =20
allowscriptaccess=3D"always" allowfullscreen=3D"true" width=3D"300"=20
height=3D"247"></embed>                    </OBJECT></P>
<P></P>
<H2 id=3Dctl00_Content_SpallaDX_cntRedattore_autore>Autore</H2><SPAN=20
id=3Dctl00_Content_SpallaDX_cntRedattore_lblRedattore>
<DIV class=3D"grid_1 alpha"><IMG class=3Dpiccola title=3D"" alt=3D"foto =
redattore"=20
src=3D"http://www.alboscuole.it/imgFoto.aspx?CR=3D11730kfcz2d45bgkgi4rapw=
pgp2aq843-189086"></DIV>
<DIV class=3D"grid_3 omega">
<P><A=20
href=3D"http://www.alboscuole.it/articoli.aspx?CR=3D11730kfcz2d45bgkgi4ra=
pwpgp2aq843-189086"><STRONG>silvia=20
di paolo</STRONG></A><BR>Responsabile Editoriale<BR>Docente<BR>Articoli=20
pubblicati: 43<BR></P></DIV></SPAN>
<DIV class=3Dclear></DIV>
<H2>Giornale</H2><SPAN =
id=3Dctl00_Content_SpallaDX_cntRedattore_lblGiornale>
<P><A=20
href=3D"http://www.alboscuole.it/articoli.aspx?CI=3D2668kyt4ttq3sylccr455=
15qyi45259-188962"><STRONG>LeoReport</STRONG></A></P>
<P><A=20
href=3D"http://www.alboscuole.it/premio.aspx?CI=3D2668kyt4ttq3sylccr45515=
qyi45259-188962&amp;anno=3D2009">2009=20
<IMG style=3D"VERTICAL-ALIGN: top" title=3D"" border=3D0 alt=3DVincitore =

src=3D"http://www.alboscuole.it/Albo_Img/coccarda_Small.png"></A> =
&nbsp;</P>
<P>Visite totali: <STRONG>13.116</STRONG><BR>Articoli pubblicati:=20
<STRONG>451</STRONG><BR>Data adesione: <STRONG>22/01/2009</STRONG></P>
<P>Dirigente: <STRONG>Pasquale Sofi</STRONG><BR>Docente: <STRONG>Silvia =
Di=20
Paolo</STRONG></P>
<P>Scientifico<BR><STRONG>Leonardo da Vinci</STRONG><BR>Pescara (PE)</P>
<P>Leggi il Giornale:<BR><A href=3D"http://www.alboscuole.it/leoreport"=20
target=3D_blank>www.alboscuole.it/leoreport</A></P></SPAN></DIV><!-- sub =
-->
<DIV id=3Dfooter class=3Dgrid_12>
<P><A href=3D"http://www.alboscuole.it/">Home</A> =E2=80=A2 <A=20
href=3D"http://www.alboscuole.it/info.aspx">Informazioni</A> =E2=80=A2 =
<A=20
href=3D"http://www.alboscuole.it/contatti.aspx">Contatti</A> =E2=80=A2 =
<A=20
href=3D"http://www.alboscuole.it/adesione.aspx">Registrazione Gratuita=20
Giornale</A> =E2=80=A2 <A href=3D"http://www.alboscuole.it/FeedRSS.aspx" =

target=3D_blank>Feed RSS</A> <BR>AlboScuole =E2=80=94 Associazione =
Nazionale di=20
Giornalismo Scolastico =E2=80=94 CF: 90071740568<BR>Aggregatore dei =
Giornali d'Istituto=20
online Italiani =E2=80=94 <A=20
href=3D"http://www.alboscuole.it/informativa.aspx">Informativa =
Privacy</A>=20
</P></DIV><!-- footer --></DIV><!-- end .container_12 -->
<DIV id=3Dbg_bottom></DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.Application.initialize();
//]]>
</SCRIPT>
</FORM></BODY></HTML>

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/img/albo_logo.gif

R0lGODdhTQBDAPcAAERVZv////7+/kVWZ0dYaEtcbN3g401dbfj4+fn6+kpaa/z8/UhZavb3+GNx
f3SBjunr7WBufWZ0gmd1g1BgcFFhcfX29+/w8t/i5bG4v1tqeVRkc2x5hvv7+8/T12RygJ2mr2Fw
fuPm6KautszQ1XB9ilppeJ+osHeDj+rs7rO6wfP09e3v8dzf4lZldO7w8U5ebrvBx+Xn6V1seoeS
na61vNLW2rW8wsHGzHOAjK20vHyIlOzu77zCyMTJzlZmdZCapKOrs9TY3HWCjm98icnO09nc4Obo
6/Dy815tfMzR1nqGkpukramxudba3YWQm9fb3+Lk5/Lz9NPX22p4hXaCj6qyuXJ/jIGMmHuHk2l2
hHmFkYSPmn6KlWt4hqSstZWfqZihqq+2vquzu1lod8jN0ri+xaCpso6Yo1JiceDj5pWeqJagqVVk
dIiTnpGbpa62vdre4ZylrlNjc4KNmH2Jlbm/xXeEkICMl8PIzmx6h83S1qGqsoOOmrK5wKOstKiw
uMvQ1I2XoXiEkXF+i5Odp+jq7Nrd4LS7wm16iLa9xMXK0FxreomUnoqVoFNiclhndquyuqWttWVz
gZmirI2YooqUn+vt77nAxpKcpsLIzd7h5PT19sfM0YuWoFdmdu3u8EZXaKevt8/U2I+Zo4yWoYKO
mb3DydHV2V5se8TKz56nsKy0u9ve4n+Kln+Ll09fb7C3vpOcp/Hy9IqVn8bL0JSeqGd1glBgb8rP
1JSep9DU2Wp3hefp6217iLe+xHN/jIyWoL/Fy1tqeFRkdHSAjYCLl6CoscDGy/Dx8piiq+Xo6uHk
5r7EyoOOmUxcbbrAx5qjrGh2hFVldM7S10laaml3hW57iF9ufAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAATQBDAAAI/wABCBxI
sKDBgwd9EeIgsI6DIQAU4EJIsaLFixYXyjkAQFkdBQCGLAk1R6AiBUNAYlzJ0mIERgIlAXAgCwCu
OjLpMBQ4iU5IgQo4thzKUoGkOXAEZlAwx+cQQksiAplUsg4jBb4AcJATgRDRrxc5yBoLYE6dnRQV
LEkJICkAmRHByv050MocS2BpAPBVUwEclXNbKpBDpiyAJTDBhuLgFYCcxIGH+lXQJzLBIXgHKiBg
WaADyGW1DBxSp/PAOXeyAoggBzCZ0mCXJIALVBIcOiVNF+RI5oYC2ACABKhJVEuAAI0H0mH0EbBu
gQf+9gE86TjalXNSBJARqqCDSc8RMv9a4hyAkO3lLco57rOggvThgRocclxOS+2bAAiNT7TkqAAN
wKeZIlEZFwAHcBzI31CMBJCBFgsEUBplB9EQgCKOBXACNAGAIuCCFMkQQBFgBHCDYykcxCEJAJwi
iSTHRQViS0scd4ocUADwnwMGnSdERPQFAMiMRClynCXgHRFAZgRtsl1E2h3yIZEIKSBigACAcqFB
ToICQB8ARhCYAoUVNIkcN8ChjJgh8YiRFh0EAAYAswQwSo/HAVCEhENcR9QQ+QlEwBzCbHfKKcwE
cMgZR0B00RxLgHlIlgEwY1AeAAKQQh/rWTEXCcgBBUUA9g3kS6IBOGqRLAFAUUqAInr/WZsCGXS4
GqsBgDZUBMcJI9AZAdRi0AGJqloRr4pOosCoMgBgyRyEBCAJqynScRyGYBFQ63ElaaeXQdUZW5GR
AUADAKZC8EpDtA3USIILDRynq2ANaBnAGQocR1tBUIhLEbzHoWBFAHBwuO5xFkqyrVtgydIAB8el
oEC8DbhZkBX+UlRiq5akGq9VNgrDSLwp5AYWMyf+FwAdoAawAnADfdaSynXIYe2Bc0QMQB0AytKB
xUPRJybPAdgA8XEBCFNYd0PN0QAdIioDAIe5AhBvAApYwQwhWrJJVBF3CqRdAA50jHQDkijANEs5
z+IAFEAAcMhxIJ0XgBZzDAbg2i01/yhjhiaGMoS9x4FiCd8YaXkSSPHKOnCqAmmZB1hwyADYHAkA
qLZfSB8nBCOIj6t5d8dNDkB1oRrIJL3EDXTKca070HLhXl8UZGk5L7ksGTYEUBKuahPFqi9aTFK8
FmZbStASIh63yZQEKaClW4rOAaMMWsBlpDDFE8VMA0iAAkr44l8trgJUB/B3RXNokWARJhGiZK8D
gTrJESy2JPRBuJpeUMv7oggcGuCLBSgvO8eZWwDiBgASwAFigWJJLcLmnokdp0yXOQ7DKvIfOJyh
WVM7jgwS5LKSQCRBEcSI3wSoL4M0KADfssh/mmUf1AXgFL5AGsPmpryVZEBiFDGQh/8K0rEGmIyD
dBPI6xAGAFQZUSDxmtRKyNCADR7EXqXiSZ1iaJGW8UgBEdIcAG62wLIcZxRzOCJC5tC7UXxoDvZK
gBwsYYkbdKABq0sLGcgFkRppcCCjGpEZA5AHYVAQIUCAwiYWaYMACgQOilykJDdRBDmokSK1gMJ6
AnCHthzniQBghBZIFpHjWEE7yaESRRwAIDBBrndLIo/cZuGwAEBxOFo6hSotQkIDMUQ7kphbSRLU
AFnUAiTa4YCWsLTLgyigTgvIF9baYgnt5A9ZwxEICVagAFTBrJkDuUPhmghCOlwNLSSUFgCsIBOV
mQucF3Nei6S2SUJGr3kBsEKZHgf/QngC8jjCusoNOgcegowSaXBxpe9Oga9mAsqCAZAaAMjVQoOQ
MQCliMg5tXNMVXIgXrkjGwAGirRDFqQUnTshwlrmPxAxQkubYGWrOtI5IUxpcJ8kg9NgWE8rhocR
85ME6pbggKsRbEoOWMIcZDE3KCigRIR44XEqE59QuGBsZGMlhmqxnQw44Ad+KgirQHGUObgJLpj6
5CUtowAFzpQRpXpPHTIgojy6J5ANyAMNjmjDpMWHoqECCg1qESeAXuSlnQsACUqRG1wdp3aWOZq+
QMKIGxj1OE6FXijdejY4cAQIV/NpYAoVgA7YxyiJPaNmNSOHFaQWFKL5wRlssMHQ7BFlE0KQBEwI
gdWzyWK1u7EECS4LyuilkSW2NQjhMGvJyDBiCCJhEyNoAAgS9HYWUGBoH7QAGAX0RA6KGMX3kHaE
UdxAFoQoyRygiwIH7Kcz4CXBJi6b2gYIIQ9cBRAorgaKTRyCvvWFAgny4ILwKGB2qS1cBtgSkT11
bhNooYnKEvxH/tyhFmE8zgoqqRpTzW0TfWBEBFYRL2iYjClAEAbhFjAKOIhmRgr4jhYwGD0SLoUg
jJjbLOwakbz5UzxOyqczW4atH2OEDPYSLVBIq2QjEyQUCswiReQQr7A6mSAcOIQiXnwRMkxLNwEB
ADs=

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/img/targa.png

iVBORw0KGgoAAAANSUhEUgAAAIwAAAA/CAMAAAAFQNDXAAADAFBMVEXn5+f39/fv7+/9/f2ampq0
tLWtrK3Ly8uUlJSkpKXFxcWLi4uEhIRra2u+vb7/AABzc3N7e3wqKirf399kZGRTU1MAvwI6Ojpa
WlvW1tZBQUEXFxewsLGop6pKSkohISETExMxMTGgn6GpqKoJCQldw17+x8d123bmr6+hoKKxsLKY
l5mIh4j5cHCQj5CZmJrQSUqPj5FZwFteXmDUS0zosrKZmJh3d3jDwsGHh4hwb29JpEt4d3j+iIiE
3oVERUZdxF9mZme5ubqAf3+Af4DJQEDS0dHiq6zhoqPLyslYVlfASUrnnZ6I4YnCwcJIrknnsLGf
KipWVljIUlO6ubrPRUabJSbKVFROpk9nZmdz2XRvb3A9Pj993H65urtmZ2d+f4GYIiOQj4/ETlCI
h4ehoaBQqFKlLy+xsLBDqUU7oTy6uLhfXmBSq1OpqKg+pUDCwcGhoKC5LzCpqajs7Ozs7Ozs7Ozs
7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs
7Ozt9f7//wD/////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/wAAAwAHAAAABAAIAAAAAwAGAAAAAwALAAAAAwAJAAAABgACAAAAAwAFAAAAAwAKAAAAAwAHAAAA
BAAAAAAAAwAGAAAAAwALAAAAAwAJAAAABAAQAAAAAwAFAAAAAwAKAAAAAwAHAAAABAAIAAAAAwAG
AAAAAwALAAAuAHECAADoAuToAuQAAwAFAAAAAwAKAAAAAwAHAAAABAAAAAAAAwAGAAAAAwALAAAA
AwAJAAAABAAQAAAAAwAFAAAAAwAKAAAAAwAHAAAABAAIAAAAAwAGAAAAAwALAAAAAwAJAAAABwAS
AABaBJoBCAAbAIP4XynpAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAJO0lEQVR4nM2aiZfbthGHCQgA
AQKgAR7moUdS0m6Truz4qFNfcZO4SdomaZs2Se/7vu///73OgNRKWu+u7bxE9u+tKBIkyI8zgxlA
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
M4QBnJdAyPF/+C7oIbFv/0gAAAAASUVORK5CYII=

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/img/B_VOCE_140.PNG

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
z6byCStJoCxlZ5LZbKYt6WQUaQa2VTKbas9nCo6VYlCa7FQi19s5dPPq9P/+v3779MlLCZ3NZ7tS
iXwqkc1nOhw7zWRZ2k4nM9lMey5dcKy0Qq2AGCmhkpcvzBw7ck2C3MjW/SePj//oe2+XV+T2rcXz
p2+tzPuMCcdK5tKFbLqQcrIKLUZtW8m2TEFj5jvf+skPvvc6GhWCFBRbXp1OH7929O2xc6dvW+gE
dbp2ee7Khenikj89UT576k5piTpyfSknw6gV6aSdzqXa8+mOVCJtcaKyKudO3f74xM2ewlCCOv/6
r86+99bHjSrkcz0ppz2bak87OYW2pVPZVHsuU0hoR6FWZKecfCadz6TympVCslUyk8pnU22OnWZk
hcRICsM7Y6JQQBEhNM9JxKQsK+E46Z7ensOH9587f+HShavXrkzt2jF04fzZW+OTrmu2DA3vHd2F
5M3cmT514qyddPbufWxoy9blpZUTH348NTm5bWTr6OgenUzO3V0+fuyo23Cf+NzowGCP5+LVC1NX
rpy8fGVs28hj+/buuzOxcunSlcGBgUa9evv27b2juweHeoql5UsXz96dXbR1av+B/Z09ScQagM/A
tpW07eTgQN9zX/61N35+/Pbt2ZXlkqWthJ3Q7GiVnr87feL4SSOyffvQ7j07625ldaH81x8dXbhb
rVeC5577TQ6vQSAzW17dn5mc6+jorlUbc3NLWidtO2lZjmZlKSeb7pidrnz/O29sHsju3bsNwZqa
Wj556iPXbezbt333np1KOZbtpFL13bu3bt9mXbp0c+zKnaEtm113PJVMriyv5Nsy+/Y/tryw+OaJ
D+r1xuFnDra35xQnPz5xdnJyMplWh59+IpF0lhcbJ058VCmXDx4a7evPAzQAkIyhGF4XXvQjTaRj
3F64tROD5weLC7PMNLB58M7E3WNHPt6944mF2carP3r78oXpubvlH778s4zTm0/2vPXzD2ani2+/
efrcx7f37X326uXJD46crJfpp6+8N3mrurKEr/35m8tztfMf3/7Wv3rdrSVz6Z65mbsJKzFzp/jm
z8/8+SvvHD929cg7F9/4q1NuVf/VT99myAz27z7+wfVXfvhWpejaSmsii5EQRUzCpsX5FWOCfL6t
UOgIOY6IahX87r9+bWJ8yW8kX3n5rauX7tYr9K+//eOTH13v79tRXKlVq42Mk1KEmgAFapV6wk72
9/dUyuXp23cTOg0CKAIIzFyt1laWqxM3l1/90Ru3xxcW7ta/+62/XJg14KW+861Xr1yYyCTzIALg
MxutiUkSdnJ6cvmdvz79V699dOzo5Q+OXpwYX/nJK+/Nz3hTdyqv/uAXXo0/OHLhrTfO7Nz2+N3p
yvtHTq0u1b73b17zaqnHdjz18nd+urJU0sSaSDPFoCiAGFDJTCHwE5kQjFy+eOOf/dPvllfLL730
3P59O8R4w1uGdmwfqBTN8nx9cnxh9vbqmVPXZmdqA5t2PP3U4eWF4rkz1yZuLDaq+olDh7duGR67
fPvdt88ODW596skD169MXTg3cePa3O1bi3v3jAwNdHx86tyNa5NegxpVw0C7doxkM223b82Vi7V0
Mnlw//akk65XaeLmXb9hFBNHB3BgrY8ePfGn/9u/9Bvu1776Oz1daRV6VNE6dWLsxrWZzf29e/fs
nppceeuNU3cnK1cvXs9ns/v2jc7OFt99+0MBtFgr5sD1iisro7t3DGwqlIrLU3fmElYSgRBBEyEE
iDIyMjQ6uuPKxRuXL02N3yyeOnV9aGDgsV1bJyZmzn58s1YWrSwT8KVLk2+//d701I0D+3d2d+aL
xdVkOm1ZyOifPnnxzOnx4a2jo7sPXrp4c2XBP/7BlbGrd6cmS7/25G9sGdo+eWfu2tjM1Uuz6VTh
mc9/IWU7TMiEipiJQhQchJg9haAIGSm+i0W93b1feOZx1/VnpieSSe7p6fM8+dN/9j1L2YxJzYl8
NktgHT925nvf/dH8/FJfz6bOts7pybsvf+9Hx94/kXCyi/Nlr8GXLo6/887R6ek7y4slhITvETMi
ur7nWpotrYNAhgb7Bwa6LUsZg5a2Dj7++J+/8tcfnzyHopAsRFaIEdwOBQIzNLj1+edftB394fH3
5+dWURgFAdXN6zOWSre1pTMpmzF5Z2LBsbNiUIxva/F8j5lsbRGhZm7UGzPTM88++/kdO4ZLq8Wp
yQUmHUOvCQC0Ul2d6UKb5Qdm/m5xbrbElLS0nUzauXRuab62ulJTrI0Ps1NzhULuj//TP/zSlw6n
HBK/kcumvv715//u3/1GuVT1GvTxqY9Pnfhg/u7d6em5fK4DRL3+2huvvvoXmhM9XZsUJcbGxv/s
X35n8s6M46QUsqJoTwodrIYoOpIZIERgDPWdKRQyhx7f/vLLfPXq7cuX787dnfngyJnde/b09fZc
vjRBLPv2b/n93//6qz/+xfkL857vDfRv/ebvPb+6vHTh/NXFpZm2tgJjPvCltzv35ef3Pvel/QOb
t81M18bGxv7yL99SXPvD//BrBw+MHHnvmohYtqWYwIhW9tKie/T9kxO3xl944as3bqyuFpeYhFAE
gZEY0Jigv7/96cM7j7x38tyFaydPXDABUwi3BCEUSytmCs8AQ0Ntv/7rX7h86eqPf/zKU58b+epX
vwimRgKKtddonDp5qVy0l5dLzE5x1V9crLPSsTc4dCWwGEAjYnwRQVThBRREQgzDK6gV7N2z5Ykn
dtoJSWUsIx6gSOAPbO4Y2ZZjNPV6fWCwbf/o6Etf+fzgwJa9o7uZ/SPvfbi8vPATNv/Ff/VHf/AH
X335+z+9dePO3NzUrl39jz++VYGPGHBo3SFiCMJTyDpWdwSG0Ad0jQFmAcN3Z5avXLxRrfqDAwMo
HrE03Nrp0+fTKfgH/8N/eWD/3pXl8jvvHDlz5tTf+49/72//7W+KkZWlFcWMUG9rU4cfH2Ks3By/
ePPm5XQ6MTq678DBJz/3uacKhTRhgOgD+AgBka8VTk/PXb8+kcnmCu1tzIbJOLalNWtmjSEK0WcK
0klgFEbwPQ8REHymoK+3YEyjUi5JYBC9zs7M0tLqnYmJZ575jZHhnV949qktQ5sUaY0KgKqVqlI8
MjK8eXNPWz5TLlcmJiZtRYQ+EojxGrWS16iBgLa4r69QKDiNRhHJJfTL5ZVszs7nk2IazF57u9XZ
pZlLKA2ikEIPpS6+5PMWc6OzkPzc53aDlOdmb/zge//it1944u//yX/W3dU5OTn98798KzDlP/n7
f/Tss4fFp4XZRQLiEAMJCCCKBIhI0ACEx11UJJ5brlTmvNqyrVFrb2H+7tLi1MBA59tvT3344THX
hXJlcXrqVibbOHnyo/7+LY4jCcc7eGDXubMnatVaPt+rVaOjYB0+vPPYsd6PT5946+jAlcvjWiWn
ZrzLl8eXl10i7xe/WPnKS79VXK3Va0uBV0Jp1Ksr1Rp096QcB26N33j3vXcW5qZKpeULZy8U2nbb
lmJF9dpSvb5y4cLlxYWFS5fOJZP680+Pvvbaj8uVed9fffbZ/W+++fLlS2Mm4CCYf/7Lf3Dx0tVb
43c99wKgQgyOHTv5R3/ny93d6XK5Mj1189CBrV/6jV23JvJXLh+/eXP82tgFY0q1ypLnljs6Eps3
Z996603LoqHB3kOPj/i+NTSQunL58txcytayb+/mbNZUKnPVyqL4VYZAkVgM4tWr5UW3UST0fa/y
xS8cOHH8+IfH3t+2rfedN9/53a9/reFWPnj/g9HRz9dri/v3DY+M9P3wlVe/9rvfSCYx8Ivbd2y2
VOhaYGYGIf7K1766Y/t2AUEKMfxIyMlkamRk6+jekb7eXEchOzIyPDIysH/fSGdnbsvQ4OcPP9XV
kR/ZtunJJ3b393ZPTd7p7Mp+6UvPHNi3Y3Nfd71eKZUXDz+179efPdTdkx8Z2ZRIqNXV4u5dO55+
+unllcblCxPGUM1tzM3crVXrj+0eefzgjt27B/r7Cu2F9l07tu7bNzI8vKm9LfPEocd3bB8eGOja
sb23qzMbajDLdnbtfmxgU18qZe/f/9jvvPTFLUOFpENbh4f27B4e2JTftXM4ROm89MIXRvftSqfT
Z89eXV6qapWcnl0orS4V2q09u4d9zyOUndu3trUlnYR0d3UMDA5s3za4bdumkW39O7YPDA72PH5g
d6E96zj6xRe/sGtXXz6X3Ll9WIyvFL34wrOHDu5kMoVCbu+ekV07B9MZDRKgoFaqv79/z+iOzf1t
Ck0+n92xbVhpLhWLhw7uGxke2rt3r+8Hiwuzu3Zs/q0vHR4e7uvr61tcXGQ0L/7WM7t3b9baRwyD
53Dz2nX8V//mz55/4QWBwDSPvsK+j0aImBSJH5ggIESwLd1wXQGw7WS10kAyjqPEBMVilRWnUg4R
oIFqza279VQqkbCUERCgerXuNvxMLu165n/+x99u7xj6w//oK8tF95/843+aTll//Mff7O5yROpI
GPhgBLVmAGg06rblmABdv6F1oFUAAAjs+mwCbcRHBGZOJKzAqwWBHxiMUoYwl8v1IDC5dCow+tjx
K9/+9g//p3/0Dz3jHz169eUf/It/+N//J3v3Drl+3QQBKx3a3IHhwEcgIgQxAXOIkVduPWi4Xiqt
mAIUFLRK5boxQSbtKBIvMEGAIoFiIA4AAgA2AQdGAElRgGgQFaKuVBtuw8vkEkTAZNdqjWq1nkjY
jqNBfEEulWvgQyaTRqoLeKG3xW8EP3v9L/DPvvOtF198Mbot3rx8HYUtmr7R6DdEFBQxQqRCYBpA
5D8PgiD2DodgEhMivKIdmAgEEPRb7545efpaJuMY8G1tf/6pJ7dt60aqhpWjLFWBIFJ8u5nibB8m
dPvHIc8o+GHCBHsYOywlwrMAIhrw/cTcXP3lH7ySSieYlBdY20f6vvDsXiAXwGAEyYqRYEhrmSki
mIcgIBKLBGICgBBbhQBgTHSFPU4WYVr84xQmmJAgSnIROqwRwIgBEJDQ+BCBCAcHCISISIExENYB
RAGv4b/+2muKBDSjAJkw9wPFkdbojn7Lffi1tDYIEFLcRMmE94Wabn9BgCayBUBAAhBECp55eu/o
YyNu0ECSlJNMp1NMjRCbEMbCDYZX7mMC1qJhjNRM9LAW2OFWwqJvIUyNCICW8vt6nb/3d75Sq1UR
mdnK59Ja+RJn2aQIp9YSKcIN4RAB8REQovsAUeYPbobsm6miQgZqjZRwa54rwbXYa5SnoAVhEM6S
4QgiRWGimFC9qfBOkkQe4/tkWnlQVp4mm4eLtZZ3BwSjZGzSxJ/EvGmSNqZ7UwJOiP4wxgshbRjl
vgN+KKgCw7vprb0/Ip1UAGA6CwmERBgdNOKLmPXZ2h6YIujhWZTWhcUlxARhM8PVhm/j8KkgRkAt
elTDiJGdrxAMRRwaycKGJcEoV8Y9S9VKQSueKQKZhUk+JYZINNEAIsbDKOmJcAyBw3UR0Qcma1rr
6P7Zfe6LMhCUQOKcHwwUI9RMSwCTYiBmHB16SA6hB6Cd1iXuWUMIxXgzWoPZhTGDh+fFCldEKQVG
FIAw0VrOp1aEAzwA+fAp0weH24hpRj8Z1sG11lIerZWRyLSg77AVtoe47o79Pd9uxHvc+15oDV0T
vWdEATEYATE/6QAfViHKxUsPTNxM1EoYRptUC24EwQ/vpwaBQURjBNcL9mcuR3sbosD65GEbETOt
mMEm0WHhHjjhRuUTVVuTDGhZhjhnpuAGItHcQ3AQc7w8bCD3DDZKYhPFMzFOjAwI0kwier9ZMnEK
ppb3GzB/iADgeR4ikud5QfAJNe9nw2HJp05A/f/UpzXL6mdqhxqNhogQCC0sLLQiTx6eSRGE1hLN
PgK4a9Zio0KCLYm97m32M62/+WVyeAuBEAlRPBy6PxuJoInzat9nOUyE4aW16GoLYvIBT3wJ4KFz
jojh0pDv+9PTU0S0PiXo/1ce8zeZfPp+FvLDF2lqcsbzPPrm33rp6pXrvhc0Nf6DVF8kAb8M2z6M
udYLVnidRj7rBLYS+SDRD+u01DR439yUa/nc5Fe8JxDek4V9bdmEisXi7Ozs73/jd8i2rd/9nd88
c+Y8oQrPTp/4cPD/iu3jV4JS/hXu3NFZhJj5+PGPXNfTWlN4K/HCxatjY9cpvHL4UDFsGRUKkHym
HbJVbppcGyv3UHHfRw4+pYQ9VPTx0fcRHrhX3UP8Z+WP5gUsZDr24YnJqZlv/q2XiDD6vyoaDe/l
H/1seOvAY4/tyuVyzPwwy2UNyB+hD395g6+Zev4RzgNZN+kAn8x4+XcshCifxZBbN5Ox9vJ9f25h
4fz58zPTd7/x7/+2bWto/V9fXM/77vdfU4rh/3/+r358P/j933vJ0tGd4v9zABq+CuQvr97tAAAA
AElFTkSuQmCC

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/img/donazioni.gif

R0lGODlhjAB+APcAAP////fz50ttjf///56amv703P/x1v/dnf/56P/jqf+3SXSDk2eDnP/CZfrp
y//uzP/Ogd2xefDGmPfOoP7sxP7ovf6sLr/M1/7ktfDt5Fx6l/rpxf2vOM7X4O7z9VNzkZmsv22I
n4yhtdjf5a69y9/m65aYmWqHovPvUfX8/eru76ikpGJ9mfKwSvb49u6xUvewQn6VrE9aWXSOpvfZ
qTpNVvTx5cTDwfXuXnB8ejZARrG1sDZljv/WiObl4+/huNrWvn6NlKW3xtbUzqmsoWJzeOnflH2E
e/jlvtjt9+bhyMjIsEZ6pmFlWmSSti9wr1M2Tj9KSbS0oa/L5O3kisng7ExHNDg9VfTmT62rrNqk
TufioszKxSY9Sv7Ned7azMOSSFNkaMU4QK6LTOb5/pWZjJKUg/KyX/TraoKbs05mf3BYK+fcvExu
nWpwav3BU+yqQf2zQdPDR1BGKe++eUyHuVODrLaIPIZxRFBQRsmzN0JUZ/jUTyxPg+7Wpf/aldfL
psC8su/my8Hn/Om/h5aipvHjYM/w+oyVmsrUi8hBHWY1UrTF09n0/fbuOenl1i5bhk1lc+7OoKzV
7E1gkF5NJys2NWZaRdfOtf3FXJN8Sz49LJi70jVrouzWY52GUquei8ueTpo9Wnuy0t7UiDNMZ/rL
u+XiTfO7bLbE0bOvlChEV/rz4rPk9dPFVujMXubnd4KLg9fNcbG0T8Wyh355aNTVWc2TXvPqds+k
ZqXG5A5KguCOSYZmLS1Nlf/12MW8oGecxJSKY1N8okRDjXyiv+2nOqiAPcyTOq1EKZXC4enSuP78
+Kw+S/767ffcmf/ZnIU7UXjF7KqOZL2hcJVvQbva6d+PK5CMcstSK9FYOrylLM5bTIQ/afC1rFxU
Oda3iF2856qpeNcwLbiIbcPBaNScODxFhsY7L4plYjhFrC+QxevMS709WdFzSY9fe7hPReOpl/7k
3iOd3+iws2mpz0xDX9Hdev791mtNV//q8f3g1uxxOcFfb/rX1FlCeiwAAAAAjAB+AAAI/wABCBxI
kKCPIVkQBVnAsKHDhxAjSpxIsaLFixUZhEAUyEfBjyBBZrgRJAQDBiw+CFjJsqXLlzBjypxJs6ZN
mx9YsFiwI0PInwN9ZFmQ8qbRo0iTKr3JgkEWj0ALurhBdKnVq1izxmQR5IaLqAIzmGChtazZs0Y/
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

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/img/infokronos.gif

R0lGODlhjAA/APcAAP///83Nzf7+/vf399XV1e/v79/f35mZmefn58XFxb29vQAAAL8AAKSkpLW1
taysrIyMjDo6OpWVlTAwMEhISBISEioqKlNTU0JCQltbW2lpaXt7e4SEhAkJCSEhIWJiYsxMTN2s
rM9iYtWDg9iUlM1UVOijo9ympteKinR0dN62tsMYGMxDQ8UhIccwMObV1RkZGd7FxcIUFOC8vObc
3MsuLsk/P+HQ0Mg4OOzp6c9bWwKyBPXY2McrK+eLi/8AAN11dRyuHtR1dYzMje0aGuXMzNNubtFs
bOSVldN6etmmpt/V1e+8vN2entmcnNViYt6Li8Ozs+y1teTAwNc9PSurLMENDeMpKcAHB7O+s9F6
evfe3vDCwvPPz+CEhOO5uT6oP5y2nJPClMSWltZbW914eMKcnJa2l5b3DCX8D5L3DIv7D373DNL6
D1z3DBn6Dzn3DJH5Dxn3DDn5D/v2DKT4D8f2DD/4D3D2DAr4D/j1DNX3D3/1DLv3D/v0DLv3D2z0
DLv3DwToDD/4DwToDMr5D03pDE/7D6PqDM78DwjsDEz+D2ztDKf/D8/uDOAAEDLwDDsCELvxDDkD
EPXyDNkDEOHzDHkEEMz0DMoEEJ31DMoEEFL2DMoEEJP2DKEEEMj2DFAEEPH2DP4DEBr3DKEDEDz3
DDcDEFX3DLwCEG/3DE8CEID3DO4BEIb3DI0BEI33DD4BEJL3DAEBEJb3DAEBEGP5DLQOEGP5DLQO
EJb3DKcOEJb3DIoOEJT3DF4OEJD3DDIOEIv3DAAOEIf3DMcNEIP3DIkNEH/3DEwNEHb3DA4NEGn3
DNAMEFz3DIEMEE33DCEMEDv3DIcLEBn3DOgKEOL2DEMKEJb2DJ4JEEv2DBcJEO31DK0IEHz1DOkG
EIPzDBAFEHjxDCQDEFzvDDcBEEDtDE//D1PrDGz9D5bpDAgAEK/mDDECEDDkDOYDEBjiDJsFEADg
DGwHEMPdDFkJEGLbDBYKEHnaDNMKEL7ZDJALEDLZDE0MEKXYDO8MECH5BAEAAAAALAAAAACMAD8A
AAj/AAEIPECwoMGDCBMqXMiwocOHECNCFEiRoAIEAjJq3Mixo8ePIEOKHEmypMmPCBQQrHiAwMmX
MGPKnDmTwEoABxLQ3Mmzp8+SCQ7gPDDgp9GjSGUOKKgzqdOnUDkGPWAgqtWrRg0QLDCgq9evYMOK
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
9777/e9/p0hAAAA7

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/img/filo_diretto.gif

R0lGODlheACXAPcAAP///8DAwOjo6Onp6efn5/39/ebm5v7+/vz8/Orq6vDw8MHBwfj4+Pf39/v7
++Xl5fr6+u/v7/b29vn5+fX19evr6+7u7vHx8fT09O3t7ezs7ODg4OPj497e3uHh4eTk5OLi4sLC
wt3d3dzc3N/f3////8fHx9vb28XFxcTExMPDw8nJydra2vLy8sbGxtnZ2cjIyNbW1tjY2M/Pz8rK
ytfX19XV1dHR0fPz89PT09LS0svLy9TU1M3NzdDQ0M7OzszMzAAAALm5ubu7u7KyshAQECYmJgkJ
CbCwsKOjo7W1tZqamr6+vi0tLQsLC66urre3t0RERCAgIKWlpZeXlxkZGRQUFDY2Nl1dXWFhYXFx
cQICAqysrHNzc09PT35+fj09PXh4eCsrKxsbGx0dHU1NTUJCQlZWVo6OjlhYWIGBgQcHB6CgoJ6e
ng4ODiIiIjs7OykpKbGxsTQ0NEtLSzg4OCQkJHp6elFRUb+/vzk5OVpaWhISEicnJ4WFhRcXF5+f
n2ZmZkhISIODg2NjY0ZGRpWVlQoKCnV1dWxsbHx8fDAwMDU1NV9fXz4+PmhoaB4eHi8vL5OTk5yc
nLy8vEVFRSMjI1RUVFJSUqqqqhUVFVtbWzIyMg8PD4yMjLi4uF5eXgUFBaKiopGRkZmZmSwsLAwM
DLa2tqenp4iIiISEhG5ubnt7ezExMYCAgGpqah8fH0FBQVdXV3d3d6ampn9/f6ioqAgICJiYmJaW
lrq6un19fa2trbS0tL29vYuLiyEhIT8/P6SkpDw8PC4uLpKSkm9vb6urq6GhoTc3NyoqKkpKSg0N
DUdHRzMzM1VVVWRkZGtrayUlJYeHh3JychEREUxMTHR0dIaGhhgYGBMTE6mpqVlZWRYWFhoaGnZ2
dnl5eZubm6+vr2dnZ2BgYGVlZVBQUImJiVNTU4qKip2dnawkDhxYDGUkDhBYDC8kDhBYDBQjDhBY
DBMiDmBYDCwhDv9YDCwhDgtbDCgjDhZbDJ0kDhxbDIklDhxbDMQlDiH5BAEAAAAALAAAAAB4AJcA
AAj/AAkIHBiBQMGBAg8iXFiiYcMGDiNCjOhwokSKFilevDgxY8eHDzv8iNCgZIMIMVxEKNHgRwyL
BmMqRDhzYcwOLEGCzLixp0aOOT/mrLgz6NCJKV24+LFUKQGHBJYa7FAzplWbWJ8O3Vr0p1edX73y
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

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/consolle/img.aspx?cod=16905veg3dj45aoxxjc551gji4naj57-265221

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAEsANADASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0Wijr
RX5oe8FeCfG3/kcbT/rwT/0N697rwX42/wDI42n/AF4J/wChvXsZH/vfyZzYv+GeaUUUV9meUFFF
FABRXZ+CvDVj4jtbo3J2NBcQQFwxzictGrYyM7H2H3zzxWrD8OtFubu1toNfmke7uTBE0cUMqLtE
Jfc6Slc/vuNpI45IoA83or0CTwP4eieFD4hnY3Fw0MJhgimU7EhdwXSUruxKcYJHy4JBpbvRfDGm
69pUkzBdJntsk3XmqGc2kUis/llmGZJRkLwAKAPPqK9B03wlpOp3WtW9xIloYL1Eilgk/dJF5U8h
wZnTr5ajLkYq1/whvhmMg/brqdLeC5ad4Y1ZJVX7VslRhJgn9wp2/dPqc0AeaUV37eB9DW5tbc6z
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
cdB659hXLUUfV6ad0g9pIKKKK2IP/9k=

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/img/Albopress_H.gif

R0lGODlhLAFkAAAAACwAAAAALAFkAIfAoHDAqHDg2LDAmFjIqHDAoGjYsHjYyJjQqGDIuKDAqHig
eDiwiEiogEDIsICwkGDYuIjAmGDIsIioiFCoiECYsLi4oIDo2MjYwIigiFDIoGC4kEjg0KC4iEiw
mHDQuIDYwJioiFjo0KCokFiwmGC4kFCwmGigeEDQyKjY2NhoiJjQsIDQuJjIqGjQsHCggFDIqGDY
wKDIyMjg0LDQsHjImFiokGDY0LiwkFDYwKiggEDAoFjIuIjguIDAyNDgyKCImKjg4ODYyLjQqHDg
2MjQ2NCggEjIsJDg0LjQqGjIuJDo6NCQqLDQ0NDAqIC4oHDIoFjQwKjY2NCwkFjAsJDgyKiosLiw
uMCYeEDAyMjYyLDw6Oi4oHjo2LCwoHDYyKCQoLCYeEjg2LiwwMDw4MjAmFDIuJiouLiwwMjAqIiY
cDjIqHjo2MDg0KjY4Njo0LDAyNi4mHDw8OjAkEjA0NDQ0Njo4NDQwKDY0LC4mGjQuKBQcIjgyJjA
sIjgwIjgwJiImLDo6OC4wMjgwJCAmKi4qIDAoHiosMDg2NCwuMjYwJDg2MCgiFi4wNDYuJCYqLjo
4Njw8PBogJiAkKjY4ODI0Njg6OiwiEDY2OBYcJDYyKi4yMiIoLBogKBYeJDQwJiouMjY0MBgeJjo
6PBYeJjw8Pjw6NDw6NiouMDImFDo2LiIoKjo4MjQ2NjQuJDo2NBwiJjA0NigsLjw4NCQqLj48Oig
qLi4qHjgyJCYqLDI0NB4kKjo6OjQuIjQ2OBQcJDg0MB4kKDg4OhoiKDg4NiYgEi4yNCgsMCQoLhg
gJjAmEjI0Mjo0KjY4OiwkGjYuICwwNDQyLCAmLCQcDjo6NjgwICYeDhwiKD4+PDw+PjI0OD48PC4
wMBgeJDYuHiYsMBIaIjw6ODw8OD48ODw8NhIcIjo8PDo4MD/////BgAAAAAAAAAEAQAAAAAAAP//
//8dAAAANIAAAAAAAAAAAAAA/////wYAAAAAAAAABAEAAAAAAAD/////HgAAAHWAAAAI/wDBCRxI
sKDBgwgTKlzIsKHDhxAjShRHsaLFixgzatzIsaPHjyBDbpRIsqTJkyhTphTJsqXLlzBbqpxJs6bN
mwZj6tzJs+dInECDCh1a0KfRo0hDEl3KtKnJpFDFsdKkCckiO6cy3qnKKmtUj07Dih1b9OtRJGaQ
aNF0h4USJSxQ4FmE5EmUO0r6ODlyR8tVsxfJCh5MFLBRPJq2yQkXjhokOxcW3dB0xAljapCBacGr
14mSO0i6RiVMujRNwz1P4bkRbhGR10TsUKul+C46SEQgydmmuLEdIkg0sZDgxEkfFn7thOs5lFas
ZpYGHoslrJJposLMmYs1FPXHO5+24v+xesGOqayn/GLmrVjcIjnUWDzRgk5LODt0b9xYdAodOmy9
YbbIZpVxsdcdN7CynEsoNeOff8cYVIl/5gxkjn/WmYTGgxyaUwkt1wl0IToZBuWdR66ccgpkdCHG
1icSKCEbJByiQ4Qc2ITDxQXooOAfgIpRA8w2NzhhhhZEhIPNfwHaAYwmZsRxw0sneVJjMxJSaCGG
J21YI4clljZiidJA4wuWp5240Sl3YPNaeZCEQ5sctdihCTWnUFPjjf49EU6PX8qhhAk2PBCHgQo8
wYUECNqBI5NcWOXEE05MCdJJtHzpSUETolOhiFxq+GWNgFyX3XYDGaNlmmpmZCc2iwD/uJgdyrEw
HAty5FkjK7UAE4UJcshxw5fh9PHEIlH04UEIGTxg4BFHpPHEE2Ys+YANxWChbQZ3XGpSp6M8CCJB
nX4KzphdirvLLpx0io4xIRqkqqc1taoRK1psYweHcuwL4CJ31HLKnw/2u004WjixzWP+saKKnEQc
QcWPikECzB1OPJBBCFz0gUI4chhhzTQkT6NGCEh8ZNIvD4LiIImcrnquf74A0kglvoCSTEG7oIFz
JcfsPJCX6EgyEMuhgqL0L5k8Mi44hECDcyy0/EKQJ9P54ksl0EgzkCSg4OxLLGgMk9AxSoOYDCiW
+FeK0pyoZG9GdPXLL43b2NgmEVoo/7dkY0suYsY2wFwwgyJllJEKFBoAEMVtQkCS94PY9CvEEU+E
UIwaJZeMBRcqlyTNg9eA8qDVA5W75aiRiDJQLKM+MvSDRg/0YIYPGpPNuwLBXqMwmQjkSSRfwgvO
NaMikxC6u4xqPEqoqXjKOW0wQ4b0Kvo1MIfhnAIJCzw48Tg6B+MXnJIXKKEJNlrQkLgy8MMPBQ1f
4AGMr3qYEUWSXzoxcuckY4QWvPITksyrFOBonn+8ljqZjWhUoBDIMUbln2sIhGi1E8jtNFgj6zyC
gmgQyAe/FCFw+K5Gu1gelxRYoxCuBDBs+IQmQPCMGj4DBF/I4RckUJ5acOgUcvjRgP8o+J8b5AEY
t2lB/JYYPxfsq2B2MEOswkEEamDDDP8DoBqwkAEb3MIMeLADRkxCPJghjXcNpBeo/AMHWjxid+hA
04hKQYue5e6CtBtIJzYIji9BAxwvM8cwMgGHVUHDP6MQhSeSsQuhvawSnvCEJAiBuoOgyxOc8IXb
OMEJs73QLGx4Txts+IwuzMIOs2CTchbBSlYioXx20AISiOgfJ9AIHRpgIhPLoIglcQgYeiJCIUIQ
AiMA0HNO6JcWjmCDQojRIiVBnn/G1alIkMuBoQKHJtExCnBYyT8uBEfb4ohHDBnDGJUoRcs4yMba
PeiPCTwdOOZljgwO5GW+2BRD0CX/EHrWCzDnYMMpftADGzIjlItgAw/6MypI4AEvRCBijvzkHwjo
kolDYEWNWMMvD2Sxc1igwjZ8GQUlEJAiJTGdf1wHjhGiw4ICUd0aS6S6b6JDdjH1jzDKScFSCO1B
cCDIg0qhHXX6Z1Mu9ZQxUiiQQj7IEmiwp0H4OU+ZyQ2gbJAKBwr6DA6cgjbb+EQQKYiN9NxyVHaQ
wBPGioSLLrEGVdgowR60CCwccxpY4JgWlmQGM4yRJOMkUSUq8TJ0RDCnapwZzBBbIZviFByd2ik4
iPYlczC1j/55HmYpuKlfFPZBJZTEAx902alm05+s+kpA5UARgj7DD8/4AAR6sQYf/34JG07azFzR
qoSxxsCt8YPCDDhEuC1sAxFxkkMkJnDXDEThKujYgv7+GpFk0JKbaTQXVWv6oMdGlqfGUBooHlHa
zWr2QZFohnrXGzyBEKIRDzTXLzgBhzIu1pKnteonVZtVJZFhEKTk6iwoeB/hTG5UctjM5EBQBrcm
bghs+CERIhEOKpjAC2lIQAY4B0AjpOEGW0CHHY5gKWhKJKkUrJ1MFVsiYejUm+sUiIvJOdk8JuSO
AzGqZhNCtINsE020UFoJWZwq/UIPhosQhx1Y8QYAk7KGg9htweQAMFriYT6+xAYM3AqFFYDgAspd
UmzI1xgi3MAMXMjAXfE6sYglOf8wEtkmOjhJZ5Wio4QrHlEzdkEIomWojKUAxDUmmFmeSrUgOBZI
IHfhCVFcAxlMHQYgJBG8Q6IjG+4lhCistk1fMHZ1JZpXNiTRiUqeJDUqMoWqVz0LVswgwrVgAy6e
TMof+PJB20DCQ+9AS2ykIaIPqkKDdUkALRhbCMBQjhCosY0ocMEDR/gNMMzAYS1yIcHRpu5DMvEg
TxPkjN7OMxHjBg47fwmmGFRIoltKQe6Ue1RokjOH4Cnu+1IWHYS4qk7OEVBV+FsVMwi4Ktjwamyo
gta0PseXaoEwTdBSDrb8YS/cx0QaMDRHZrYPEULAORPcaBseWPM0bACwI2REIpz/AK1B5Lypen8p
qAL5hbs4NOR037jQBDkhh7qpzVHlGxxw5JBPPz3TgUizu/qOyQ9SPQtTdI8VUCc4G2rBDIQ/2Q+2
/dGKtDAsCgqLojUSBwGYCIUfHJhDWngByUyQgGjcodrHxEIf+nryiNDinMY4NCDwbsFjnDOcj0Dn
en2BhvKCQxrGOFPOYCoQTuCdpQjB+9MGQojEN8MXcDgGTAcNB8VDg/G7AMVzLg8KyAfeGOFEwzmH
fDxjqBcOhicJT9pQizbwwQ98sJ6KGMMGJMyCD1Z/sio4VAvEsGAREgVGH8ZKfAIwYANLbMHwvxQN
tU8jDVFwxkePeTIuoKDu8Qq///gPMvtaQMCGPfgB1KE+AxC4NvivfcYgbo2OWlCjb0QkEq6+pIoy
nOAElwB9ylAGECAOX0IFdjUNWiAHHgB3d2UND5Ay2jZ+FBh+PDEDsxBgSyc9B2dDfsBVT9YDVdcD
DIUOcmBmdyBl/tFqbNAHUXB2JjgEytAA02ANOhCAytACEcYh1GADJVMICZCAIkcyNiCBcFaBSBgi
PMEGb/Bkg6AKs9Bqo2RDP+BktMYGH0gGBUMEmtBbo4IEH/ABBRADBigHAIcNbdBgHcBhNsgAZQAC
SvIgUWB902AERuCAa5YB3zeBSdiHgsETrDCFHqgK5zELVWdDb8AMsEVritgDWv/oH60hHPT3ILWg
CDVQBgSgCG2gCFCQCqqgRMqwASfQOTY4BRYQBXawJNU3hCJnBN3Ch34Yi07BE6agCosIZawQhbPQ
hDXUA6rQBbdISoMAWzuIDq0RBSxARLPgAg2WOMMmg/FDAWtmBB6QAIhADYUghKzYOa4IfrL4jU2x
E6bAhMHIB2SgizPggV3wA/D3DMV4CovAFhIFAgMAXPCzAdvXOWFgAkdQCMWwjccUAlrgjeBYkELh
EqdgCmRABgqpCn9wdYPwB28wC+lYQ9UwjO1YjK3RFxJ1BxEwbMDFAA2Qj55jBNoIkNPgAaxAkDgh
CrtgagrhkjApEJ2QQjJpkAT/UZP/9BGnMAsLyYKqcA7MwI4IVw188AbA144BpnD/MRUsMEsUtA13
IAEtAJLxMwdzcJUMQJIoeVdyd1IVEZOJ5wuyo0kSMUGxdxBo6WPoAA5rmRC/MJaPFX5m+Zan5hGn
QAZQx5BN1z1YqJSASUp8cHEXoAUsEFGTCIl9oAVsAAEguQENoAM60AAU8HyQCXfWgIddaQMldoQG
IQqlUAqJYAwIxAlz6RB2uRCpORB1iQ5pKRC+UArHkAjc0TysVxpmuQvHMJMT4REKaQrjgA3jkJep
1AXVEJjIqQpZdgFdqAmKIFtVwCsPEg4KgHzh4AhQUAaimEXWYIOXwACj6Dkn/9mVasAFS6ARCaEq
TOU6j5AICWQM0uALm5YIvpAIVrMLsVCfVrOWopB4xtAJPBMLsaCe4NAJiWefPeeWrtlSWrObQoUm
/YQOZMmgvuCgj/AImbSbiec1/bkLGypCDQqTmTShLYWhvmAMMJmbxiAKHfqhBXqgvEkQPHkeS1IL
tSAOZHAOSYmcSukH44BrlAEAVZk4UNACH/ADs4BbT/BEUtELOnBXamANJ/BR3dmVAIQFJoeeCFEK
PMeabUlozdAJzSCao7AuEpoIpYAlaPkLXHoMo1AKkCcK3DQvL1kKsXAMdpqgaLkLozCbN0UQmuQL
TOUgoxALfOqnZclNDpKm4f/ikjSjTi7Zp4nwp9LxLqrinpo0Cg5ym61pphIamr/ApneapwoBElE4
DgLDcMuxozwKf2xAf+GABAVglQMIBUkAASBgCGdlBybAlVYKkHpYQAYhoQXRmnGzRyX0C7BjNZPa
CWj5QV4zOo8FreAwqbvwQZzgoW3ZqQMhp5r1C9sEL7ZJEN7ac6GKDtwxOmbqntLarWgkEGmqaAik
SVZDrOuSQp3aPO75rHOmrQsBEgw5UkuSl2QQjK1qdTGQAzGwsJqgBTFQjw4GBQOgCFjxA3kwnr+6
mW/GkjmGQID6pQvaPJelNY3nmmg5QQIhp0M2QftpshKqNZ7WqaIgZ95Grg7/UpN3Bg4z220J2kcR
IrLjaps7SzNCVUKq0rPE+iB66prjerIvS7Kl+hE0SjmnYIsH245UoQmfMAOswAYMZo+12gItUAK+
mrHb6AHPxLG9M2cCga8gm0J75J6huqzVig6iwK/RyrYihA5eY60fBKBeqqC6iQ71WrMFKhDW2rSE
20cx25Y+G0/rCg4pxwksy7gEEa+A1E1mabkfK7iKe63oALgMARIJmXUC8wbHebUYeYUXcAECJQ6m
8AFgu0QbsACaabYAaQQsIKwFAZpx5CBLO6gSWqajMwqaxB1oCZqlEJujUEnKO6auCZp9agzc0akf
RJvEajuXR04sY7zXCzuN/6tBP8u0/jGmpfAL35u9iPu7f7q56gubb/u50ut37pYQITELP/ojZMAH
IIhwBltrVkhKpnARbAAFsws/c6ADt4u721iEvFsQ6GsMx5BClJtAx8BSvzAdOLULo0luuuk6dxsL
jwCTHpoIzgrCx1ChFPyzF9xSxoChDNS2tDnCAiENxxA3gQfDkltCE6yzF6yviWDCIvTCnBDDjWcM
icBUFdxS5DYQFfzBdwu3LXy3KvyvAGuADyIOItC/V8eqpOQHbzBrtDbAFXEKiHPAM1i2DDyEaPvA
OIkT49qHIXE9HDIOVht8GBB8frCIwXhSrJBLB7yVa4y7XnCeWvrGQtEJvv/QxEgYEgl5a6cgxlbn
BwEcfLdnQyf1A7TqVrU7yLj7BIastog8yiUhEmRgW//Vjhd5sIPADANsCqAIthugwJ5stk8AliZG
yrp8lyCxkugwDl5sdVyMnH4QiAecwAtcyzXoDK9wBCZgAmnABUbABbgclrt8zbI3x9NTyVfbjukX
y7vkjGUgyMosclhABLcmB3fgRdWMUtj8zg8hEqzAv4FZDf+LnEnARLPcABuwAx8AAjQABRSgxrW8
Rc0UDdRADZhzC+0sDvD80KMLEucgyaRUDSC4x4PwA0EZzLS2ujbEjPr8pFhAAkfQV0/wjwBpDdqi
LWusBjYQBcbB0G4M0TT/DQ4gwQbc/Ax80AVNNgh8oAqsQMYD1QM9gNGDwMVdwAqL6A0gvUs4gLEl
w5XWkAEmUAj6k40EvWZqUAw2wAWfUAgNPTdiPdZkTRGpjHCqYNbikNbicA4UcQpv8APMQIinMM/C
p9TP4A1JsMnKoAG9wAVQjQUac5IuzXxE4gQm8ALakpnbiAXFYAQZ4AFOcAtRINNlfdmYLdZ3nHBZ
sZJsrWoUcR4JSRGbXUN/8AMGkATZeVFlQAOsgAQmgLEjYGYeoI1YwGu4dj9yMG1cMAJYwDlqEKXd
qdIjczIeUAgIcgRcYAa3sCCZ/dzQbRb7e8+tfA5dUIsUQQ4rOdoqArtE/0lKCLDJVgkFIEARizBM
GfDbJbOk4gDY3HgDyVU5oQBsxpgAJiAy2vICIWADHvBseZUBkE0o+u1F0V3gBo4UpsAMg5C6vfiB
r5XRZJxK3J0Vm73Hz+ACQ1qrjPM+ZZBRFsEKV5aAt50VNsCd/H0LVNAXN9B24UA8OQIMXBACJkAp
RxAFQhAbnLkZw2IHXKAETlAIBx7kQq4TZKCIVKgKRv4MvvjWQf3WOMqquABbftAGLgAFjOMC3uAN
q03eWjECRvACtyBGp6BmnqMJ8KgFZuAEHvAA1BIF+yEbR9AH1GA5CRDNTvACRwIMQQQJXMAKKADk
Qx7ogh4SbwBbg0AGFP9xiHzg1hTBCoguPW9w0RjZA+fgB95gAKSUnR2+khgRDjfwGc9kB3SIV35l
EXZwB/pTIHvxzPtjB4EQRNtwCiMQBWZABcF0yyjgBJlNDcSwE0Uw6EFui37A1uLABq8FdRVhCttt
CucQwHtcUMV8i3JN5QOIASGxCMYU1bpuEUtQFWXMN08wApQyd3cQDfNtA+FwYDdwC+KQ6zARCMtg
C7KgC4EQE7rAUp6QC7AAC0Dg3BZxBcEgCcHQ6xQRCEDgxIQgCdegCxWRBQl/DU3gE1ZwDZNU7xQh
CxRPCBZf1lkwCQof8Rwx1G9AQF3wDG0gFRXh6OJQ19+t5D7NB3JdsDb/tN00oAypYO0ggQfZTjJY
UOoV0e1GWBFm0AesgB8okObGYQT6owWhMG1KIA4w7RIGXxCZkAUwAQt7sAuMJxCw4O/icAUEkQkE
zw3gIAm70F4DwfBNUBAgLw6oYAu2sAwtkQsEkQz1zgQEIQkbfxGyAPe/bhZrTxBtnxFWS+yqwAd8
MAsoH9qineQ19NNkwAZk/N18wAZd0IwuoPgX0ZPr17Uz4AS2/QkDdw5R91wYUetp+9YXMAF3EC19
oBcDGfUsUQSbMgmg4AuowFSDHxLEADXYFQzoIAybQvAVcQ2eIAzZEAzgwA0UkW91wLeQhQ4gwgTi
AAbRb/25QBGwQBBX/8ASnnANXLozv/79pcALrvP3FhEIkAcOVv8V1j8h2L8ROlpDb1AR/kbGnF7G
qgBgFu4HWQUQ4lidEidOVbVnCSG4UNYQSpWCEcWxgfDB4oohGhhYm9ZxGhYNLYa4oLGChoNFEgua
OWJHZcEHBU/ZWXTDJQonL3Wq9PTLBzqgQAGBA3Pl0TVCtpqI4wYm1xkw1zgJKigl1zVwhNCNAhds
qydw12wVETcmFzhPo9AFA/cIFaFM4OqgkwauErpH4CaJY9sKHa2s4rKA2+UrrydbtoCcCZRF8ZmC
Y45OsiUjLLpsycAJCnQ5kqiuq85cJYTKCjhAvjiBk7RM3JWoRcMRU/9si9C1XNSK2AoWzJYUcYFQ
rboWzAo1YrJuA9HsF0zgl6ZU4Ur47AfBl2RUkqH+bBAzDm+wYxd3DtegH3ySlGmoDMoPlec+QKGh
CMMQ9ht0qPGoo337OQpISSWWXHopJp1QSGMnBvNCBZ1IHtmFkEoAA+dCDLvKMMNcstgDQ624AicZ
sDDcgy0MPdEMnF8ynKuuX7ACB7LTfhnmwisCiQsMdATZkMUMr5ExwxaTAQ0cYsSRZERSftzwGHRQ
SXHDa0okcsM9rBjyQk/i2tBGHFU6RZUf/EjIDz+YIU+iNcurzg8O2DBFp1PIOGeWH6BQpowWVmhB
DJWqgAKKGcQ5BYL/MsqAYr/+NICCvYbKCGBAicxQwkCVSNgJhT4Y3EkSUSLB68dfHvEFHUpQaVGS
So4hpJVIGjkyGR9GiUWWrVirxJhfQPFlqLAqacQTHypZco9jKBGmAr/qQsUXQsBhQpzTfI22w7aa
2cowT3yp5MJuvL2w1FObUXXESuAAiyxJkqnEB0/2aMSHa3yIpBKsjhEGHUtUQwsUS8yBQ8ZjKqHQ
l7gI0QYdTI7BkBZKSqlkFxYBHsUH0BLxZRJwclGJlUGe8eM7Vc6Z09OIzjHzTD5UaTMiVRRpIdEk
BJihhXPiA0GRgQRoQQNFHNDBo49A+OEDRVf4wBVKIzLDDEwlMmEn/006RVklooBakpNHWgTnp0h8
yQYdHwjjt5Sg0GAREwjNAYqrEEVJBB1jLsRVVrWifQSofYGqyy9ZpKUWHL/yyuUKcOZO+xqgLmQc
nQuNgdAXtGPpCjMVwGF3Fwgl+UWYbCwJipI9fgoq8LsqgQbCG+9SyxJPAEHHHFD2BQUcWlBFhZJE
wJE8FjQs4fhUw8Vko2QyXkb5lHO64ANNP/jQ7qVTXIAUijYM+mAW6udkhYYyaBDDAyyIxiIKU8Bv
gRU2UGh6JTOW0GnqBK2+uiBi2mL4wqXy18oczVwDbbvgHDoCtzdKoAYdvBBFOdCQq7hxjhdguQsn
RJG3PVBiVLtw2//fDCi40xSuYym4EI98dBnIodBskViSCtA2Ca9kI3Ob69zn6BajSJRCM1CSEjg4
gY5KfOhBUroLL66RjF9oMFqSiAQvMjHEDPklWhgiXsfud0WJmIIV5+Ci8k7xARrQ4AMHIMgpWOEp
UxwNBLcon/nu8EUYHEAcdtAEEV7yNPndcVP2u18R9JdAcCyFhHsr24VOBQbOsVAvnYPSCUOUla2I
4hds44QkzGGOTFwQHYRIhjkisaIXEe6D0wrhqDwWOBM6rnEqJCSGnBPDGSopkZ7b12oyIbqh8PBC
UGrVMRoBRLugw2Ej8uQhjqEvdEwid6XwAYokN4pErKiKHsNiNe//xwps2kF5OmEFHiRggjaqgT/T
KEZKWKGKOYVDm3dkQR5VEjWJcMqaWUMHVnJhhRZBSW0X+gkiO7dIFuoSknCLZOLQgYa9NQIcmuSk
OWB3oVACDoSiLF4TsnbCx6kScvrEUD9hqTlZ1rCW4LglOnIZpV3yyxcr9QXqhHmhTmaDpd4ixR4e
ITp0HOJfoipFtKZpTaAGlUFEKIQNXsCRaRihDyYIgQ1yckUzfIIa1UTBEazpiVChdFye2FsrLrQH
0RFilgCVBC8v9EOCjgI0nGvGT1bD0E6uBRx7OJUHA0dKilrRoqlE4ZIKqD9fYGhfgPgoDVloQ1vi
EhwC5eiG7jLM/05+0kk2RYcwvOYJydXtp0LlLGepgYc7sMQJTtDCEoiwiEXA01OfeCNVrVpNIIDj
gWQ7BihG8Y1hoO0Yu3igMDwx1kl07hpjQwUtRJdW0ExydphcaN6C+atY+E2Udx2cCD1GQh6NAhBD
CQIQj6EWyDExSruYG+wKG9LDjrSkJ6UEIAgIIWQQ8BFseSyG7uIDAkojL48AQyZ+aFlUTOIXD1Lo
Zjt7YKCG4xQzUS0WNaGFbe6EFe+7GjF+8YtfBiUSFDsG2oAivBUuKbiKVBzZRoHcCylOoc3dJGHA
a4m72HWi1i3IHjyBUx/tDSh02NeFHiGqD0frvJKYJWJJqljxov/0QUFBB8Xq242w9A0oZTtEUEqx
Gr98+EYGRnCXvXy/BX/ZU4hjDTJ267WF0uIY0kCzkDC0iyER4hgcc3NYhvTbXawoLLv40Ige8YhM
kGIXcUnGLsAii8EROS6IFsdzSIEMWhxpF7sFxzCGJAo1A6LNMkqBkux8oWHswmtC6nMy+FuiZJgZ
ECsqNFhyEa09TPobQ5r0I470C0AcgxNeUzQ4GC1mYAdb2CgrgpXGhYotgQMWZ8HQkjAUjD47qYTP
SdEZgpTsH3kiScTwElqSFBwUjQvKPwJCsiXB7AsBITLSFkW0JeFsLsEbQ2j2hBvCQe0MGZtF8kYL
vac6bIAHHOD/uhhDYrIQiILowgq2QIUuEO6GK8hCF+KAuMTFQQ1B2ELiEW9CCjhekCbIwhbc2DY3
bJGFhItcEI4RBDFY/u/gOGYTCJdIEUQ+hkA0JjEEt7g4FG6LMzhcHMSI+MQjUnFdYPzkgVB6FsLh
88Rw4+m6EPnIUxAOx5A8IikwuS2sMHFioCIxV5iqFKpOFZ3PXOBrZ3vb3f52uMdd7nOne93tfne8
513ve+d73/3+d8AHXvCDJ3zh7x6OKwDhEUYPKtFlQHOBIx4IQLAC5IEdDhlcwQ1dbsIVmvD0l+ji
EUC4AuglEg4rAAEMjNdJ5z/f+NE/4tuGF6oUgHO/LckAi4GQ/0KSAselzQecGPL2hOW9TIwjWbGz
4b6G8S2DoWu8JPc7Yb7xK2wlbdMeqClwtiiW4ikp6CUWyOjKFQVRIqwM4yjQAThbjmGJZiyJ9V5+
Dhho0aLbB9VHk3iEZlChkmhBg1gAC9YLv0kYv/J7if3rP3D4v2qSkkeIBbb4NbzrPCt4vKFrAiuw
giZAOI+TARmwgivoNIkIhBC8QBX4hdtAiyYQhJYTBw3swEBogufIHR+5BmIIQUHoNBP0vCu4wM6I
nRWpshuUCAvswBKUAUGwQAyMwQ3stBa0gh3MH9kxB0pYklwQhAv8No8TwU4jBi3kQPzRQA70wCvI
PEkCCqwwOv8T3EAMnMEflIHZs0Cf+gtwsIWtEwTQ0KA1PMLBsMGwMMIfrEPAIIQzFEFimMEN/L4U
CEHPs4XNsENbaEQR/D65IwZYyBAVkIVuG5Ep2hBqEgcp6MTLAKQM0TMVyJwLAUQ0uxC4+JG4AETW
AIUbCQb8yUQMyQSjG0VYxMUM8UWYAocKGBUnQQV8c8UNCQZU6MRk+MSHyQuQ4kUMSQZu0DOSQgVM
3JBJOIa4sIKC4IYM4UOS+hFAjL6hA0a94EZY7ERCQLcLiQtBsMPku5BgmD23s7BfoAXgkRFReBY0
qIuwOAZMa5UWmRZ8fIRKQINd6AZQWKDd6oZjABZpOAZno4X/VrGFHnEcXxFIHwMESUADY6CYekEH
X6DIa6C0vcBHfTQGgES52HoEjxRAgJSGb5AEY6A2QDCGSvgG0JCGU/EBaJSGRqiQUUODnWyRfvQF
VOg+fwTIk5QEULidR/iGFimCg0xIimERhDSG+xsXfUQDrJjIJYGMMWANkNwFcczHWGDJVczI6FPJ
fQQHsWwL98KXhfqGkjySa0ADpZSReLSQvexLFrE+gaOv0dELIAOKwMkdKaubX2i0ryFJSsAXJgNL
kryQv5QtDcvISYgES9CGSBCGPRwFIIuEa2ACJmOCchSH2PoJX9Agh/EEccAKSiDNoBiKeNwXHzEd
vhGF2bpM/1yhhFP5ll3wTNC8hm4QhkjQBkv4BsRkssWsLFQBB3HUhedwzclcKCkjmwu5C6BIoMy0
hUD4hSSDkHqKzNd8qdU0zO+MRMCoTVGJNCnzEVzRMI7JzPoEikjgGHV7O3AAApK8sOeooLCIhFHI
R1S5BiYqBdAoAqyIBEACC8YBJMYJLPcUhVIwTU/QIB+5C6zYG4eBzV94ICmRxdX8z4z8hSA4UCSh
TWEaMHSwnHikhDwDUF9oEclxGCgBjAuihBb5iV34hlG5MMY5IQpCh9W4BgNF0EjghBupzgeN0AZE
h95JoiazUQF1zztchin1kdypJwD1ERU90BPF0l94jszUIP968YQH6Z1mvCDJyh0Z/Qs41Qw5ZZG3
0wX9+T2SGgVe8Bo+lMXqjJa7oARa+JAJVSUL/UvGKSRAPLFESAQ4yEhxBEQTdUs93ZtKiFS1WEMX
xYpEzczF+qCLGlXAmNBIPRVa0IpSEIROQAu3qQSOyQQ/BdR6kkXqPE9dIFRUOdRgQpEHooW94VMt
TYzIRBE+1FROvVVM3dMMSdPzBIdJDTfOKaRQ/YtqVSVAylODAowimU5DYtYTqk5w9E1R+ZZEvYxF
/YsibcvzgxA4iFc4eI5KzchLvUE9bUhfkNdhAQdd+NRS1NJuvRDZ8ZEdhSRhkNeB8SENyoZouYZK
QJtDSAb/cAWHU7kGXCXXhUKDcwUHtpGRuaGFkAWSYoXEhZERPtRXfvWEctTTkfUaaJWRjwWSHzoh
UZjOv6zZC7lZQLJHgctUunGcXMWKGwMgQdXVVQCSkhIScE3UbmFXfsFMSjUHfqtXL81I3HHLvdKq
eQsHF42WH/oWUd2buhlVKTlYxvGqK9GfEwpYcSzaZMhYpFVa0bmGX4JGOkBSshXa8ITEeMyLa3Cb
a+CRHnqYZt3bsNBScQSHu72QTmAcS7iQ4BJbqI3cRfoWcHi7cGANt4mFSkigB6GERmCb3jlaT02G
ZvgGWjCHCQIrunmEGwMiSojPPfCLSvBOHwldWvgGgxna/6z1Ea/ghUYghNXcg2TgBXQABU5Ag0Ka
zVyNBGNA3sARVUlAXmOQHKo11e4kG054lmRABWPghBxNDTXjztAdXSr9XQyBUtRVXdaNnQUaSpLc
A0uK0c8tVj39IeFF3no63uRd3rIpx82tX88FTztcXNmJFV8whj1InUZA3tX4ywYGogdG0kB8u+cg
BErIhlEYpu/aimP4EE6whGGqBEvInH/1nUjIBkqQETAgTYcBhFHIBji4qYdlG0oAAxLeJbUYBWOx
C0rQjBHuoUQwUEIYYYeJvrOAWMywhMDZA+fVII6NhN5pQEuAtWAZG7sEB2SwhNVAC2MQFUuoGw3e
CrVhFf8IqYQmWaweDmEf2uHuDGJ/xYowZmEZ4QQNgt4S0WAOdhhUuOI7FAewQIVIiAQ0AJgAuovQ
CRwkDsQM3uAOtmJCleMPeT9UGQrMEhVK+OI/jpZMRpUvRrm3owZn07dfsJJowxI3KEsWKZE9+JAL
mzd94xJp6wlp+5JWVD5nO2UM8ZhPjeUfGYNS9hpS3GV9s+V5I2ZYRuUM6cQ9oAZW5uW58hJkfjda
/hGU0wVYzuWtchKPIeVrlrY9yAJq/hJXdhJpzpK5A4MjEYUxcFCwIM8x0AXP8QTVAw1JEGVhHpdr
0AViEDC0AAMgAAtPWBJRgIrkkgRPsGd45pJJAAJ8PoP/azhlIMgCfqxnIIA5WYA3SYCMKI7Wgz4D
g2a0jd7ZSSCGfRYFMBAMz9lZMJiEElFpdnZoYpCCKtm3ecZoYoBo1tDnXe7nnT4SSVjpRmtnIBjp
iPhXpFyS1ijpC5GEjaZomJvphTrqhboGfEa5f0a/ZciClvaEfhbphZIFr24RsJ6/uMs5lQgE0xOH
tra+nGvrcLA8mqPrto4ItcbriHhrmrtrvM7rgnA/UGgRUS4IuDY+45trul7sl2Dr01vrxnbsEjxs
vX6JuTbsyYY8vzZsyOvsyD49xAZt7RttBtmEDJEE0k5t1V5tzsqCSThNwmRt2Z5t2q5t275t3M5t
3d5tDN7ubd/+beAObqAKCAA7

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/imgFoto.aspx?CR=11730kfcz2d45bgkgi4rapwpgp2aq843-189086

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACWAJYDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3uiii
kIKKKKACiub8ReO/D3hgmK/v1a7xkWkH7yY56HaOg9zge9eSeIvit4g15ZLfTk/saxbIyjbrl192
6Jkf3ckf3qmU1HcuNOUtkereKfiF4e8Inyr+5eW9ZdyWdqnmSsPp0X/gRFcBc/HHUJZP+Jf4ajji
9by6wx/BQcV5gkaxlmAJZzud2JLMfUk8k/Wn1hKu+h1Rwy+0z0uD43aqjE3Xh21kXsILwg/+PLXQ
aT8avDt5KItTt73SHIH7y4QPET6b0Jx9SAK8UopKvLqN4aL2PqnT9TsNWtFutOvILqBhkSQuGH6V
br5KtvNsLoXenXM9jcj/AJa2shjJ5zzjgjjoQa7XS/i14u01FjuxY6tGvVplMMpH+8uV/HbWsa0X
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
FFFAH//Z

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.alboscuole.it/Albo_Img/coccarda_Small.png

iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQBAMAAADUulMJAAAAB3RJTUUH2QYRESAG/wNqzQAAAAlw
SFlzAAAOdAAADnQBaySz1gAAAARnQU1BAACxjwv8YQUAAAAwUExURf////Du7f7+/QUH/fUSG/4w
MPpkZPivr+LQ3wvjDWFj+fqKioTxhTgCx0nqSnkChgPjsjEAAAABdFJOUwBA5thmAAAAf0lEQVR4
2mNgYNjGkM0AAqEuoUCSPc2pXCWtgIE7ukhJfesGBg4nJQkllQYGtiCdmYdUExhShDRnTlJ0Y2hN
0pv5SC0CJH8GJM8eKKSkKArUFxIkqOq6gYGBy9tlywKggc1f7vpbAOnFxsbGVgwMHMbGq4yNGxi4
jI0ZjI0XAABcKx5hrgH2DgAAAABJRU5ErkJggg==

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/reset.css

HTML {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
BODY {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
DIV {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
SPAN {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
APPLET {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
OBJECT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
IFRAME {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
H1 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
H2 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
H3 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
H4 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
H5 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
H6 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
P {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
BLOCKQUOTE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
PRE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
ABBR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
ACRONYM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
ADDRESS {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
BIG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
CITE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
CODE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
DEL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
DFN {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
EM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
FONT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
INS {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
KBD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
Q {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
S {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
SAMP {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
SMALL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
STRIKE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
STRONG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
SUB {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
SUP {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
TT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
VAR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
B {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
U {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
I {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
CENTER {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
DL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
DT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
DD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
OL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
UL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
LI {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
FIELDSET {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
FORM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
LABEL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
LEGEND {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
TABLE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
CAPTION {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
TBODY {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
TFOOT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
THEAD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
TR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
TH {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
TD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
BODY {
	LINE-HEIGHT: 1
}
OL {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
UL {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
BLOCKQUOTE {
	QUOTES: none
}
Q {
	QUOTES: none
}
BLOCKQUOTE:before {
	CONTENT: none
}
BLOCKQUOTE:after {
	CONTENT: none
}
Q:before {
	CONTENT: none
}
Q:after {
	CONTENT: none
}
:focus {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px
}
INS {
	TEXT-DECORATION: none
}
DEL {
	TEXT-DECORATION: line-through
}
TABLE {
	BORDER-SPACING: 0; BORDER-COLLAPSE: collapse
}

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/960.css

.container_12 {
	WIDTH: 960px; MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
.container_16 {
	WIDTH: 960px; MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
.grid_1 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_2 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_3 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_4 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_5 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_6 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_7 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_8 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_9 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_10 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_11 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_12 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_13 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_14 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_15 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.grid_16 {
	DISPLAY: inline; FLOAT: left; MARGIN-LEFT: 10px; MARGIN-RIGHT: 10px
}
.container_12 .grid_3 {
	WIDTH: 220px
}
.container_16 .grid_4 {
	WIDTH: 220px
}
.container_12 .grid_6 {
	WIDTH: 460px
}
.container_16 .grid_8 {
	WIDTH: 460px
}
.container_12 .grid_9 {
	WIDTH: 700px
}
.container_16 .grid_12 {
	WIDTH: 700px
}
.container_12 .grid_12 {
	WIDTH: 940px
}
.container_16 .grid_16 {
	WIDTH: 940px
}
.alpha {
	MARGIN-LEFT: 0px
}
.omega {
	MARGIN-RIGHT: 0px
}
.container_12 .grid_1 {
	WIDTH: 60px
}
.container_12 .grid_2 {
	WIDTH: 140px
}
.container_12 .grid_4 {
	WIDTH: 300px
}
.container_12 .grid_5 {
	WIDTH: 380px
}
.container_12 .grid_7 {
	WIDTH: 540px
}
.container_12 .grid_8 {
	WIDTH: 620px
}
.container_12 .grid_10 {
	WIDTH: 780px
}
.container_12 .grid_11 {
	WIDTH: 860px
}
.container_16 .grid_1 {
	WIDTH: 40px
}
.container_16 .grid_2 {
	WIDTH: 100px
}
.container_16 .grid_3 {
	WIDTH: 160px
}
.container_16 .grid_5 {
	WIDTH: 280px
}
.container_16 .grid_6 {
	WIDTH: 340px
}
.container_16 .grid_7 {
	WIDTH: 400px
}
.container_16 .grid_9 {
	WIDTH: 520px
}
.container_16 .grid_10 {
	WIDTH: 580px
}
.container_16 .grid_11 {
	WIDTH: 640px
}
.container_16 .grid_13 {
	WIDTH: 760px
}
.container_16 .grid_14 {
	WIDTH: 820px
}
.container_16 .grid_15 {
	WIDTH: 880px
}
.container_12 .prefix_3 {
	PADDING-LEFT: 240px
}
.container_16 .prefix_4 {
	PADDING-LEFT: 240px
}
.container_12 .prefix_6 {
	PADDING-LEFT: 480px
}
.container_16 .prefix_8 {
	PADDING-LEFT: 480px
}
.container_12 .prefix_9 {
	PADDING-LEFT: 720px
}
.container_16 .prefix_12 {
	PADDING-LEFT: 720px
}
.container_12 .prefix_1 {
	PADDING-LEFT: 80px
}
.container_12 .prefix_2 {
	PADDING-LEFT: 160px
}
.container_12 .prefix_4 {
	PADDING-LEFT: 320px
}
.container_12 .prefix_5 {
	PADDING-LEFT: 400px
}
.container_12 .prefix_7 {
	PADDING-LEFT: 560px
}
.container_12 .prefix_8 {
	PADDING-LEFT: 640px
}
.container_12 .prefix_10 {
	PADDING-LEFT: 800px
}
.container_12 .prefix_11 {
	PADDING-LEFT: 880px
}
.container_16 .prefix_1 {
	PADDING-LEFT: 60px
}
.container_16 .prefix_2 {
	PADDING-LEFT: 120px
}
.container_16 .prefix_3 {
	PADDING-LEFT: 180px
}
.container_16 .prefix_5 {
	PADDING-LEFT: 300px
}
.container_16 .prefix_6 {
	PADDING-LEFT: 360px
}
.container_16 .prefix_7 {
	PADDING-LEFT: 420px
}
.container_16 .prefix_9 {
	PADDING-LEFT: 540px
}
.container_16 .prefix_10 {
	PADDING-LEFT: 600px
}
.container_16 .prefix_11 {
	PADDING-LEFT: 660px
}
.container_16 .prefix_13 {
	PADDING-LEFT: 780px
}
.container_16 .prefix_14 {
	PADDING-LEFT: 840px
}
.container_16 .prefix_15 {
	PADDING-LEFT: 900px
}
.container_12 .suffix_3 {
	PADDING-RIGHT: 240px
}
.container_16 .suffix_4 {
	PADDING-RIGHT: 240px
}
.container_12 .suffix_6 {
	PADDING-RIGHT: 480px
}
.container_16 .suffix_8 {
	PADDING-RIGHT: 480px
}
.container_12 .suffix_9 {
	PADDING-RIGHT: 720px
}
.container_16 .suffix_12 {
	PADDING-RIGHT: 720px
}
.container_12 .suffix_1 {
	PADDING-RIGHT: 80px
}
.container_12 .suffix_2 {
	PADDING-RIGHT: 160px
}
.container_12 .suffix_4 {
	PADDING-RIGHT: 320px
}
.container_12 .suffix_5 {
	PADDING-RIGHT: 400px
}
.container_12 .suffix_7 {
	PADDING-RIGHT: 560px
}
.container_12 .suffix_8 {
	PADDING-RIGHT: 640px
}
.container_12 .suffix_10 {
	PADDING-RIGHT: 800px
}
.container_12 .suffix_11 {
	PADDING-RIGHT: 880px
}
.container_16 .suffix_1 {
	PADDING-RIGHT: 60px
}
.container_16 .suffix_2 {
	PADDING-RIGHT: 120px
}
.container_16 .suffix_3 {
	PADDING-RIGHT: 180px
}
.container_16 .suffix_5 {
	PADDING-RIGHT: 300px
}
.container_16 .suffix_6 {
	PADDING-RIGHT: 360px
}
.container_16 .suffix_7 {
	PADDING-RIGHT: 420px
}
.container_16 .suffix_9 {
	PADDING-RIGHT: 540px
}
.container_16 .suffix_10 {
	PADDING-RIGHT: 600px
}
.container_16 .suffix_11 {
	PADDING-RIGHT: 660px
}
.container_16 .suffix_13 {
	PADDING-RIGHT: 780px
}
.container_16 .suffix_14 {
	PADDING-RIGHT: 840px
}
.container_16 .suffix_15 {
	PADDING-RIGHT: 900px
}
HTML BODY * SPAN.clear {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 0px; =
PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND: none transparent scroll =
repeat 0% 0%; FLOAT: none; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; =
FONT-SIZE: 0px; OVERFLOW: hidden; BORDER-TOP: 0px; LIST-STYLE-IMAGE: =
none; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
HTML BODY * DIV.clear {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 0px; =
PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND: none transparent scroll =
repeat 0% 0%; FLOAT: none; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; =
FONT-SIZE: 0px; OVERFLOW: hidden; BORDER-TOP: 0px; LIST-STYLE-IMAGE: =
none; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
HTML BODY * LI.clear {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 0px; =
PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND: none transparent scroll =
repeat 0% 0%; FLOAT: none; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; =
FONT-SIZE: 0px; OVERFLOW: hidden; BORDER-TOP: 0px; LIST-STYLE-IMAGE: =
none; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
HTML BODY * DD.clear {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 0px; =
PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND: none transparent scroll =
repeat 0% 0%; FLOAT: none; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; =
FONT-SIZE: 0px; OVERFLOW: hidden; BORDER-TOP: 0px; LIST-STYLE-IMAGE: =
none; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.clearfix:after {
	DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; CONTENT: =
'.'
}
.clearfix {
	DISPLAY: inline-block
}
* HTML .clearfix {
	HEIGHT: 1%
}
.clearfix {
	DISPLAY: block
}

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/base.css

BODY {
	FONT: 100.01%/1.5 Arial, Helvetica, sans-serif; BACKGROUND: #fff; =
COLOR: #333
}
H1 {
	FONT-WEIGHT: normal
}
H2 {
	FONT-WEIGHT: normal
}
H3 {
	FONT-WEIGHT: normal
}
H4 {
	FONT-WEIGHT: bold
}
H5 {
	FONT-WEIGHT: bold
}
H6 {
	FONT-WEIGHT: bold
}
H1 {
	MARGIN: 0.75em 0px; FONT-SIZE: 2em
}
H2 {
	LINE-HEIGHT: 1; MARGIN-BOTTOM: 1em; FONT-SIZE: 1.5em
}
H3 {
	LINE-HEIGHT: 1.25; MARGIN-BOTTOM: 1.25em; FONT-SIZE: 1.2em
}
H4 {
	MARGIN-BOTTOM: 1.5em; FONT-SIZE: 1em
}
H5 {
	FONT-SIZE: 1em
}
H6 {
	FONT-STYLE: italic; FONT-SIZE: 1em
}
STRONG {
	FONT-WEIGHT: bold
}
B {
	FONT-WEIGHT: bold
}
EM {
	FONT-STYLE: italic
}
I {
	FONT-STYLE: italic
}
P {
	LINE-HEIGHT: 1.5
}
BLOCKQUOTE {
	LINE-HEIGHT: 1.5
}
PRE {
	LINE-HEIGHT: 1.5
}
OL {
	LINE-HEIGHT: 1.5
}
DL {
	LINE-HEIGHT: 1.5
}
UL {
	LINE-HEIGHT: 1.5
}
FORM {
	LINE-HEIGHT: 1.5
}
ADDRESS {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
BLOCKQUOTE {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
DL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
FORM {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
FIELDSET {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
OL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
TABLE {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
P {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
PRE {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
UL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
TABLE {
	FONT: 100% Arial, Helvetica, sans-serif
}
TH {
	BORDER-BOTTOM: #000 1px solid; BORDER-LEFT: #000 1px solid; =
PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; =
BORDER-TOP: #000 1px solid; BORDER-RIGHT: #000 1px solid; PADDING-TOP: =
0.5em
}
TD {
	BORDER-BOTTOM: #000 1px solid; BORDER-LEFT: #000 1px solid; =
PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; =
BORDER-TOP: #000 1px solid; BORDER-RIGHT: #000 1px solid; PADDING-TOP: =
0.5em
}
TH {
	TEXT-ALIGN: center; FONT-WEIGHT: bold
}
CAPTION {
	TEXT-ALIGN: center; MARGIN-BOTTOM: 0.5em
}
PRE {
	LINE-HEIGHT: 1.5em; FONT-FAMILY: "courier new" , monospace; FONT-SIZE: =
1em
}
CODE {
	LINE-HEIGHT: 1.5em; FONT-FAMILY: "courier new" , monospace; FONT-SIZE: =
1em
}
KBD {
	LINE-HEIGHT: 1.5em; FONT-FAMILY: "courier new" , monospace; FONT-SIZE: =
1em
}
SAMP {
	LINE-HEIGHT: 1.5em; FONT-FAMILY: "courier new" , monospace; FONT-SIZE: =
1em
}
TT {
	LINE-HEIGHT: 1.5em; FONT-FAMILY: "courier new" , monospace; FONT-SIZE: =
1em
}
ABBR {
	BORDER-BOTTOM: #000 1px dotted; CURSOR: help
}
ACRONYM {
	BORDER-BOTTOM: #000 1px dotted; CURSOR: help
}
OL {
	MARGIN-LEFT: 2em
}
UL {
	MARGIN-LEFT: 2em
}
OL LI {
	LIST-STYLE-POSITION: outside; LIST-STYLE-TYPE: decimal
}
UL LI {
	LIST-STYLE-POSITION: outside; LIST-STYLE-TYPE: disc
}
DL DD {
	MARGIN-LEFT: 1em
}
DT {
	FONT-WEIGHT: bold
}
UL UL {
	MARGIN-BOTTOM: 0px
}
OL OL {
	MARGIN-BOTTOM: 0px
}

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/albo.css

BODY {
	FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; BACKGROUND: #cfd7d7
}
HR {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; MARGIN: 1em 0px; =
BACKGROUND: #f2f2f2; HEIGHT: 1px; COLOR: #f2f2f2; CLEAR: both; =
BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
H1 {
	LINE-HEIGHT: 1.2; MARGIN-TOP: 0px; FONT-FAMILY: Tahoma, Arial, =
sans-serif
}
H1 SPAN {
	COLOR: #aaa
}
H3 {
	FONT-WEIGHT: bold
}
H2 {
	BORDER-BOTTOM: #eee 1px solid
}
H3 {
	BORDER-BOTTOM: #eee 1px solid
}
H4 {
	BORDER-BOTTOM: #eee 1px solid
}
H5 {
	BORDER-BOTTOM: #eee 1px solid
}
H6 {
	BORDER-BOTTOM: #eee 1px solid
}
H2 {
	MARGIN-BOTTOM: 0.5em
}
H3 {
	MARGIN-BOTTOM: 0.5em
}
H4 {
	MARGIN-BOTTOM: 0.5em
}
H5 {
	MARGIN-BOTTOM: 0.5em
}
H6 {
	MARGIN-BOTTOM: 0.5em
}
SMALL {
	FONT-SIZE: 0.85em
}
.small {
	FONT-SIZE: 0.85em
}
H1 SMALL {
	FONT-SIZE: 0.8em
}
A {
	COLOR: #0e5bb6; TEXT-DECORATION: underline
}
H1 A {
	TEXT-DECORATION: none
}
H2 A {
	TEXT-DECORATION: none
}
H3 A {
	TEXT-DECORATION: none
}
H4 A {
	TEXT-DECORATION: none
}
H5 A {
	TEXT-DECORATION: none
}
H6 A {
	TEXT-DECORATION: none
}
A:hover {
	COLOR: #f00; TEXT-DECORATION: none
}
UL LI {
	LIST-STYLE-POSITION: outside; LIST-STYLE-TYPE: square
}
.container_12 {
	WIDTH: 980px; BACKGROUND: url(../img/bg_body.gif) repeat-y 0px 0px
}
TABLE {
	MARGIN-LEFT: 1px
}
TH {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px; PADDING-TOP: 0px
}
TD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: =
0px; PADDING-TOP: 0px
}
TD {
	BACKGROUND-COLOR: #fff
}
TH {
	BACKGROUND-COLOR: #eee
}
CAPTION {
	FONT-STYLE: italic
}
TABLE.bordi TD {
	BORDER-BOTTOM: #aaa 1px solid; BORDER-LEFT: #aaa 1px solid; =
PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; =
BORDER-TOP: #aaa 1px solid; BORDER-RIGHT: #aaa 1px solid; PADDING-TOP: =
0.5em
}
TABLE.bordi TH {
	BORDER-BOTTOM: #aaa 1px solid; BORDER-LEFT: #aaa 1px solid; =
PADDING-BOTTOM: 0.5em; PADDING-LEFT: 0.5em; PADDING-RIGHT: 0.5em; =
BORDER-TOP: #aaa 1px solid; BORDER-RIGHT: #aaa 1px solid; PADDING-TOP: =
0.5em
}
TABLE.fascia TD {
	BORDER-BOTTOM: #aaa 1px solid; PADDING-BOTTOM: 0.5em; PADDING-LEFT: =
0.5em; PADDING-RIGHT: 0.5em; BORDER-TOP: #aaa 1px solid; PADDING-TOP: =
0.5em
}
TABLE.fascia TH {
	BORDER-BOTTOM: #aaa 1px solid; PADDING-BOTTOM: 0.5em; PADDING-LEFT: =
0.5em; PADDING-RIGHT: 0.5em; BORDER-TOP: #aaa 1px solid; PADDING-TOP: =
0.5em
}
TABLE.center {
	MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
TABLE.community {
	MARGIN-LEFT: auto; MARGIN-RIGHT: auto
}
TABLE.community TD {
	TEXT-ALIGN: center; VERTICAL-ALIGN: top
}
TABLE.community TD.miniatura {
	TEXT-ALIGN: center; WIDTH: 100px
}
TABLE.community TD.nome {
	TEXT-ALIGN: center; WIDTH: 100px
}
TABLE.community TD.miniatura {
	BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; HEIGHT: =
100px; VERTICAL-ALIGN: middle; BORDER-TOP: #ccc 1px solid; BORDER-RIGHT: =
#ccc 1px solid
}
TABLE.community TD.nome {
	FONT-SIZE: 0.76em
}
TABLE.community TD.miniatura IMG {
	BORDER-BOTTOM: #fff 3px solid; BORDER-LEFT: #fff 3px solid; BORDER-TOP: =
#fff 3px solid; BORDER-RIGHT: #fff 3px solid
}
TABLE.community TD.miniatura A:hover IMG {
	BORDER-BOTTOM: #f00 3px solid; BORDER-LEFT: #f00 3px solid; BORDER-TOP: =
#f00 3px solid; BORDER-RIGHT: #f00 3px solid
}
TABLE.redatt {
	MARGIN: 10px
}
TABLE.community A {
	TEXT-DECORATION: none
}
#menu {
	OVERFLOW: hidden
}
.main {
	OVERFLOW: hidden
}
.sub {
	OVERFLOW: hidden
}
BLOCKQUOTE {
	BORDER-BOTTOM: #ccc 1px solid; PADDING-BOTTOM: 0px; FONT-STYLE: italic; =
PADDING-LEFT: 40px; PADDING-RIGHT: 20px; DISPLAY: block; MARGIN-BOTTOM: =
1.5em; BACKGROUND: url(../img/virgolette.gif) #efefef no-repeat 5px =
10px; COLOR: #000; BORDER-TOP: #ccc 1px solid; PADDING-TOP: 20px
}
#header {
	POSITION: relative; BACKGROUND: url(../img/bg_header.png) #445566 =
no-repeat 100px center; MARGIN-LEFT: 20px; MARGIN-RIGHT: 20px
}
#header #logo {
	TEXT-ALIGN: center; MARGIN-TOP: 10px; MARGIN-LEFT: 20px
}
#header #logo P#titolo {
	LINE-HEIGHT: 1; FONT-FAMILY: georgia, sans-serif; MARGIN-BOTTOM: 0px; =
COLOR: #fff; FONT-SIZE: 3em
}
#header #logo P#titolo A {
	COLOR: #fff; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
#header #logo P#titolo A:hover {
	COLOR: #feaa00
}
#header #logo P#sottotitolo {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; COLOR: #fff; FONT-SIZE: 83%; PADDING-TOP: 0px
}
#nastro {
	POSITION: absolute; WIDTH: 48px; BACKGROUND: url(../img/nastro.gif) =
no-repeat 0px 0px; HEIGHT: 48px; TOP: 0px; LEFT: 0px
}
#navmain {
	WIDTH: 500px; FONT-FAMILY: Tahoma, Arial, sans-serif; BACKGROUND: =
url(../img/navmain.gif) no-repeat; FLOAT: right; FONT-SIZE: 87.5%; =
FONT-WEIGHT: bold
}
#navmain UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#navmain UL LI {
	TEXT-ALIGN: center; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: =
0px; PADDING-LEFT: 0px; WIDTH: 100px; PADDING-RIGHT: 0px; DISPLAY: =
block; FLOAT: left; HEIGHT: 110px; LIST-STYLE-IMAGE: none; PADDING-TOP: =
0px
}
#navmain UL LI A {
	WIDTH: 100%; DISPLAY: block; HEIGHT: 100%; COLOR: #cccccc; =
TEXT-DECORATION: none
}
#navmain UL LI A#targa {
	LINE-HEIGHT: 1.2em; FONT-SIZE: 80%
}
#navmain UL LI A:hover {
	BACKGROUND: #33404d; COLOR: #feaa00
}
#navmain UL LI A#targa:hover {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat 0px -110px; =
COLOR: #feaa00
}
BODY.sezione_targa #navmain UL LI A#targa {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat 0px -110px; =
COLOR: #feaa00
}
#navmain UL LI A#tg24:hover {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat 0px -110px; =
COLOR: #feaa00
}
BODY.sezione_tg24 #navmain UL LI A#tg24 {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat 0px -110px; =
COLOR: #feaa00
}
#navmain UL LI A#giornali:hover {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -100px -110px; =
COLOR: #feaa00
}
BODY.sezione_giornali #navmain UL LI A#giornali {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -100px -110px; =
COLOR: #feaa00
}
#navmain UL LI A#premio:hover {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -200px -110px; =
COLOR: #feaa00
}
BODY.sezione_premio #navmain UL LI A#premio {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -200px -110px; =
COLOR: #feaa00
}
#navmain UL LI A#oscar:hover {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -300px -110px; =
COLOR: #feaa00
}
BODY.sezione_oscar #navmain UL LI A#oscar {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -300px -110px; =
COLOR: #feaa00
}
#navmain UL LI A#benemerite:hover {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -400px -110px; =
COLOR: #feaa00
}
BODY.sezione_benemerite #navmain UL LI A#benemerite {
	BACKGROUND: url(../img/navmain.gif) #33404d no-repeat -400px -110px; =
COLOR: #feaa00
}
#linkmain {
	MARGIN-BOTTOM: 10px; BACKGROUND: #7190af; MARGIN-LEFT: 20px; FONT-SIZE: =
87.5%
}
#linkmain UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px 0px 0px 10px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: none; =
PADDING-TOP: 0px
}
#linkmain UL LI {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: left; LIST-STYLE-IMAGE: =
none; PADDING-TOP: 0px
}
#linkmain UL LI A {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; DISPLAY: =
block; COLOR: #fff; FONT-WEIGHT: normal; TEXT-DECORATION: none; =
PADDING-TOP: 5px
}
#linkmain UL LI A:hover {
	BACKGROUND: #a7d3ff; COLOR: #000
}
#login INPUT {
	WIDTH: 90%
}
#login LABEL {
	FONT-WEIGHT: bold
}
#bg_top {
	MARGIN: 0px auto; WIDTH: 980px; BACKGROUND: url(../img/bg_top.gif) =
no-repeat 0px 0px; HEIGHT: 20px; CLEAR: both; FONT-SIZE: 1px
}
#bg_body {
	MARGIN: 0px auto; WIDTH: 980px; BACKGROUND: url(../img/bg_body.gif) =
repeat-y 0px 0px
}
#bg_bottom {
	MARGIN: 0px auto; WIDTH: 980px; BACKGROUND: url(../img/bg_bottom.gif) =
no-repeat 0px 0px; HEIGHT: 20px; CLEAR: both; FONT-SIZE: 1px
}
.main {
	FONT-SIZE: 87.5%
}
.main IMG.articolo {
	FLOAT: right; MARGIN-LEFT: 10px
}
.sub {
	FONT-SIZE: 75%; MARGIN-RIGHT: 20px
}
.sub #top-redattori IMG {
	MARGIN-BOTTOM: 1.5em
}
#menu {
	MARGIN-LEFT: 20px; FONT-SIZE: 75%
}
#footer {
	TEXT-ALIGN: center; MARGIN: 0px 20px; BACKGROUND: =
url(../img/footer.gif) #345 repeat-x 0px bottom; COLOR: #fff; FONT-SIZE: =
75%; PADDING-TOP: 1em
}
#footer A {
	COLOR: #feaa00
}
#footer A:hover {
	TEXT-DECORATION: none
}
UL.navigazione {
	BORDER-BOTTOM: #bedff9 2px solid; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
none; MARGIN: 0px 0px 1em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: Tahoma, Arial, sans-serif; BORDER-TOP: #bedff9 2px solid; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
UL.navigazione LI {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
UL.navigazione A {
	BORDER-BOTTOM: #fff 1px solid; PADDING-BOTTOM: 2px; PADDING-LEFT: 5%; =
WIDTH: 90%; PADDING-RIGHT: 5%; DISPLAY: block; BACKGROUND: #e7eff5; =
FONT-WEIGHT: normal; TEXT-DECORATION: none; PADDING-TOP: 2px
}
UL.navigazione LI A:link {
	BORDER-BOTTOM: #fff 1px solid
}
UL.navigazione LI A:visited {
	BORDER-BOTTOM: #fff 1px solid
}
UL.navigazione LI A:hover {
	BACKGROUND-COLOR: #f8fbbd; COLOR: black; TEXT-DECORATION: none
}
UL.navigazione LI LI {
	LIST-STYLE-POSITION: outside; LIST-STYLE-TYPE: square; PADDING-LEFT: =
0px; MARGIN-LEFT: 1px
}
HTML BODY * SPAN.clear {
	HEIGHT: 1px
}
HTML BODY * DIV.clear {
	HEIGHT: 1px
}
HTML BODY * LI.clear {
	HEIGHT: 1px
}
HTML BODY * DD.clear {
	HEIGHT: 1px
}
IMG.piccola {
	WIDTH: 60px
}
IMG.media {
	WIDTH: 140px
}
IMG.leggiarticolo {
	FLOAT: right
}
IMG.adv {
	MARGIN-BOTTOM: 1em
}
IMG.left {
	FLOAT: left; MARGIN-RIGHT: 20px
}
IMG.right {
	FLOAT: right; MARGIN-LEFT: 20px
}
.hide {
	DISPLAY: none
}
.noview {
	DISPLAY: none
}
.inner {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 0px
}
.verde {
	MARGIN-BOTTOM: 1em
}
.giallo {
	MARGIN-BOTTOM: 1em
}
.rosso {
	MARGIN-BOTTOM: 1em
}
.azzurro {
	MARGIN-BOTTOM: 1em
}
.verde {
	BORDER-BOTTOM: #c6d880 2px solid; BACKGROUND: #e6efc2; BORDER-TOP: =
#c6d880 2px solid
}
.giallo {
	BORDER-BOTTOM: #ffd324 2px solid; BACKGROUND: #fff6bf; BORDER-TOP: =
#ffd324 2px solid
}
.rosso {
	BORDER-BOTTOM: #fbc2c4 2px solid; BACKGROUND: #fbe3e4; BORDER-TOP: =
#fbc2c4 2px solid
}
.azzurro {
	BORDER-BOTTOM: #bedff9 2px solid; BACKGROUND: #e7eff5; BORDER-TOP: =
#bedff9 2px solid
}
.datapub {
	MARGIN-BOTTOM: 0.2em; LETTER-SPACING: 1px; COLOR: #888; FONT-WEIGHT: =
bold
}
A.bottone {
	BORDER-BOTTOM: #aaa 1px solid; BORDER-LEFT: #aaa 1px solid; =
PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #cde; PADDING-LEFT: 10px; =
PADDING-RIGHT: 10px; DISPLAY: inline-block; VERTICAL-ALIGN: middle; =
BORDER-TOP: #aaa 1px solid; FONT-WEIGHT: bold; BORDER-RIGHT: #aaa 1px =
solid; TEXT-DECORATION: none; PADDING-TOP: 5px
}
A.bottone:hover {
	BACKGROUND-COLOR: #def; COLOR: #f00
}
.box {
	PADDING-BOTTOM: 1px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; =
MARGIN-BOTTOM: 1.5em; BACKGROUND: #eee; PADDING-TOP: 20px
}
.box H1 {
	BORDER-BOTTOM: #aaa 1px solid
}
.box H2 {
	BORDER-BOTTOM: #aaa 1px solid
}
.box H3 {
	BORDER-BOTTOM: #aaa 1px solid
}
.box H4 {
	BORDER-BOTTOM: #aaa 1px solid
}
.box H5 {
	BORDER-BOTTOM: #aaa 1px solid
}
.box H6 {
	BORDER-BOTTOM: #aaa 1px solid
}
.spot {
	BACKGROUND: url(../img/spot.gif) #f6f6f6 no-repeat 100% 100%; COLOR: =
#333; BORDER-TOP: #d7d7d7 1px solid
}
.spot H1 {
	BORDER-BOTTOM: #c00 1px solid; COLOR: #c00
}
.spot H2 {
	BORDER-BOTTOM: #c00 1px solid; COLOR: #c00
}
.spot H3 {
	BORDER-BOTTOM: #c00 1px solid; COLOR: #c00
}
.spot H4 {
	BORDER-BOTTOM: #c00 1px solid; COLOR: #c00
}
.spot H5 {
	BORDER-BOTTOM: #c00 1px solid; COLOR: #c00
}
.spot H6 {
	BORDER-BOTTOM: #c00 1px solid; COLOR: #c00
}
.warning {
	BACKGROUND: url(../img/warning.gif) #cc0000 no-repeat right bottom; =
COLOR: #fff; BORDER-TOP: #000 1px solid
}
.warning H1 {
	BORDER-BOTTOM: #fff 1px solid
}
.warning H2 {
	BORDER-BOTTOM: #fff 1px solid
}
.warning H3 {
	BORDER-BOTTOM: #fff 1px solid
}
.warning H4 {
	BORDER-BOTTOM: #fff 1px solid
}
.warning H5 {
	BORDER-BOTTOM: #fff 1px solid
}
.warning H6 {
	BORDER-BOTTOM: #fff 1px solid
}
.warning A {
	COLOR: #ff0
}
.warning A:hover {
	COLOR: #ff0
}
.paginazione {
	TEXT-ALIGN: center; PADDING-BOTTOM: 3px; LINE-HEIGHT: 21px; MARGIN: 1em =
0px 2em; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, =
sans-serif; CLEAR: both; FONT-WEIGHT: normal; PADDING-TOP: 3px
}
.paginazione A:link {
	BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 6px; WIDTH: 22px; PADDING-RIGHT: 6px; =
COLOR: #0072bc; BORDER-TOP: #ddd 1px solid; FONT-WEIGHT: normal; =
MARGIN-RIGHT: 3px; BORDER-RIGHT: #ddd 1px solid; TEXT-DECORATION: none; =
PADDING-TOP: 2px
}
.paginazione A:visited {
	BORDER-BOTTOM: #ddd 1px solid; BORDER-LEFT: #ddd 1px solid; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 6px; WIDTH: 22px; PADDING-RIGHT: 6px; =
COLOR: #0072bc; BORDER-TOP: #ddd 1px solid; FONT-WEIGHT: normal; =
MARGIN-RIGHT: 3px; BORDER-RIGHT: #ddd 1px solid; TEXT-DECORATION: none; =
PADDING-TOP: 2px
}
.paginazione A:hover {
	BORDER-BOTTOM: #bbddff 1px solid; BORDER-LEFT: #bbddff 1px solid; =
BACKGROUND-COLOR: #ddeeff; COLOR: #0072bc; BORDER-TOP: #bbddff 1px =
solid; BORDER-RIGHT: #bbddff 1px solid
}
.paginazione .active {
	BORDER-BOTTOM: #bbddff 1px solid; BORDER-LEFT: #bbddff 1px solid; =
PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #ddeeff; PADDING-LEFT: 7px; =
PADDING-RIGHT: 7px; COLOR: #0072bc; BORDER-TOP: #bbddff 1px solid; =
CURSOR: default; MARGIN-RIGHT: 5px; BORDER-RIGHT: #bbddff 1px solid; =
TEXT-DECORATION: none; PADDING-TOP: 2px
}
.paginazione .disabled {
	BORDER-BOTTOM: #ebebeb 1px solid; BORDER-LEFT: #ebebeb 1px solid; =
PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #f5f5f5; PADDING-LEFT: 7px; =
PADDING-RIGHT: 7px; COLOR: #aaa; BORDER-TOP: #ebebeb 1px solid; CURSOR: =
default; MARGIN-RIGHT: 5px; BORDER-RIGHT: #ebebeb 1px solid; =
TEXT-DECORATION: none; PADDING-TOP: 2px
}
UL.feed-list {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px 0px 1.5em; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
UL.feed-list LI {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1; LIST-STYLE-TYPE: none; MARGIN: 0px =
0px 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
UL.feed-list LI A {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; PADDING-LEFT: 19px; =
PADDING-RIGHT: 0px; BACKGROUND: url(../img/feed-icon-14x14.png) =
no-repeat 0px 50%; PADDING-TOP: 0px
}
DIV.galleria {
	TEXT-ALIGN: center; MARGIN: 0px auto
}
DIV.diapositiva {
	MARGIN: 5px; WIDTH: 100px; DISPLAY: inline-block; VERTICAL-ALIGN: top; =
-moz-box-orient: vertical
}
DIV.thumb {
	BORDER-BOTTOM: #ccc 1px solid; BORDER-LEFT: #ccc 1px solid; WIDTH: =
100px; DISPLAY: table-cell; BACKGROUND: #eee; HEIGHT: 100px; =
VERTICAL-ALIGN: middle; OVERFLOW: hidden; BORDER-TOP: #ccc 1px solid; =
BORDER-RIGHT: #ccc 1px solid
}
DIV.thumb * {
	VERTICAL-ALIGN: middle
}
DIV.thumb IMG {
	BORDER-BOTTOM: #fff 3px solid; BORDER-LEFT: #fff 3px solid; BORDER-TOP: =
#fff 3px solid; BORDER-RIGHT: #fff 3px solid
}
DIV.thumb A:hover IMG {
	BORDER-BOTTOM: #f00 3px solid; BORDER-LEFT: #f00 3px solid; BORDER-TOP: =
#f00 3px solid; BORDER-RIGHT: #f00 3px solid
}
DIV.caption {
	FONT-SIZE: 0.76em
}
DIV.caption A {
	TEXT-DECORATION: none
}
.foto {
	TEXT-ALIGN: center; WIDTH: 108px; MARGIN-BOTTOM: 5px; FLOAT: left; =
HEIGHT: 110px; OVERFLOW: hidden; MARGIN-RIGHT: 5px
}
.foto IMG {
	BORDER-BOTTOM: #aaa 1px solid; BORDER-LEFT: #aaa 1px solid; BORDER-TOP: =
#aaa 1px solid; BORDER-RIGHT: #aaa 1px solid
}
DIV.diploma {
	WIDTH: 457px; DISPLAY: inline; FLOAT: left
}
DIV.diploma {
	PADDING-BOTTOM: 30px; MARGIN-BOTTOM: 20px; BACKGROUND: =
url(../img/bg_diploma.jpg) #f9f2e8; PADDING-TOP: 30px
}
DIV.diploma {
	BORDER-BOTTOM: #aaa 2px solid; BORDER-LEFT: #ccc 1px solid; BORDER-TOP: =
#ccc 1px solid; BORDER-RIGHT: #aaa 2px solid
}
DIV.diploma {
	TEXT-ALIGN: center; FONT-FAMILY: georgia, serif
}
DIV.diploma H1 {
	BORDER-BOTTOM: 0px; FONT-FAMILY: georgia, serif; FONT-WEIGHT: normal
}
DIV.diploma H2 {
	BORDER-BOTTOM: 0px; FONT-FAMILY: georgia, serif; FONT-WEIGHT: normal
}
DIV.diploma H3 {
	BORDER-BOTTOM: 0px; FONT-FAMILY: georgia, serif; FONT-WEIGHT: normal
}

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.alboscuole.it/css/screen.css

@import url( reset.css );
@import url( 960.css );
@import url( base.css );
@import url( albo.css );

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/css/print.css

BODY {
	WIDTH: 100%; FONT-FAMILY: Arial, sans-serif; BACKGROUND: #fff; COLOR: =
#000; FONT-SIZE: 10pt
}
A {
	COLOR: #000; TEXT-DECORATION: none
}
#header {
	DISPLAY: none
}
HR {
	DISPLAY: none
}
#navmain {
	DISPLAY: none
}
#linkmain {
	DISPLAY: none
}
.sub {
	DISPLAY: none
}
#menu {
	DISPLAY: none
}
#footer {
	DISPLAY: none
}
#nastro {
	DISPLAY: none
}
.accessibility {
	DISPLAY: none
}
.bottone {
	DISPLAY: none
}
.noprint {
	DISPLAY: none
}
#content {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; =
PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: none; PADDING-TOP: 0px
}
#main {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 100%; =
PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: none; PADDING-TOP: 0px
}
#header {
	BORDER-BOTTOM: #000 1px solid
}
#header P {
	LINE-HEIGHT: 1; MARGIN-BOTTOM: 0.5em
}
#header P#titolo {
	FONT-SIZE: 2em
}
IMG.leggiarticolo {
	FLOAT: right; MARGIN-LEFT: 1em
}

------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/css/WebSite.js

=EF=BB=BF                function Open_PG (url)
					{
						=
opt=3D'width=3D610,height=3D440,menubar=3Dno,resizable=3Dyes,scrollbars=3D=
yes'
						window.open (url, 'InfoScuole24ore', opt)
					}
				function contatta (url)
					{
						=
opt=3D'width=3D610,height=3D450,menubar=3Dno,resizable=3Dyes,scrollbars=3D=
yes'
						window.open (url, 'contatta', opt)
					}
				function Apri_Link()=20
					{
						=
opt=3D'width=3D700,height=3D350,menubar=3Dno,resizable=3Dyes,scrollbars=3D=
yes'
						window.open ('Http://www.scuole24ore.it/LinkUtili.asp', 'Link', =
opt)
					}
				function homepageRS() {=20
					if(document.all)
						document.body.style.behavior=3D'url(#default#homepage)';
						document.body.setHomePage('http://www.lavocedellascuola.it');
					}
				function zoom (url) {
					=
opt=3D'width=3D350,height=3D350,menubar=3Dno,resizable=3Dyes,scrollbars=3D=
yes'
					window.open (url, 'premio', opt)
					}
				function zoom_page (url, w, h)
					{
						opt=3D'width=3D'+ w +',height=3D'+ h =
+',menubar=3Dno,resizable=3Dyes,scrollbars=3Dyes'
						window.open (url, 'InfoScuole24ore', opt)
					}
				function apri( strLink )
					{
						window.open( strLink, "_blank" );
					}

PositionX =3D 100;
PositionY =3D 100;
defaultWidth  =3D 500;
defaultHeight =3D 500;
var AutoClose =3D true;
if (parseInt(navigator.appVersion.charAt(0))>=3D4){
var isNN=3D(navigator.appName=3D=3D"Netscape")?1:0;
var isIE=3D(navigator.appName.indexOf("Microsoft")!=3D-1)?1:0;}
var =
optNN=3D'scrollbars=3Dno,width=3D'+defaultWidth+',height=3D'+defaultHeigh=
t+',left=3D'+PositionX+',top=3D'+PositionY;
var =
optIE=3D'scrollbars=3Dno,width=3D150,height=3D100,left=3D'+PositionX+',to=
p=3D'+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=3Dwindow.open('about:blank','',optNN);}
if (isIE){imgWin=3Dwindow.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</s=
tyle>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if =
(parseInt(navigator.appVersion.charAt(0))>=3D4){');
writeln('isNN=3D(navigator.appName=3D=3D"Netscape")?1:0;');writeln('isIE=3D=
(navigator.appName.indexOf("Microsoft")!=3D-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if =
(isIE){');writeln('window.resizeTo(100,100);');
writeln('width=3D100-(document.body.clientWidth-document.images[0].width)=
;');
writeln('height=3D100-(document.body.clientHeight-document.images[0].heig=
ht);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');      =20
writeln('window.innerWidth=3Ddocument.images["George"].width;');writeln('=
window.innerHeight=3Ddocument.images["George"].height;}}');
writeln('function =
doTitle(){document.title=3D"'+imageTitle+'";}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=3D000000 scroll=3D"no" =
onload=3D"reSizeToImage();doTitle();self.focus()">')
else writeln('</head><body bgcolor=3D000000 scroll=3D"no" =
onload=3D"reSizeToImage();doTitle();self.focus()" =
onClick=3D"self.close()">');
writeln('<a href=3D"#"><img name=3D"George" src=3D'+imageURL+' =
border=3D"0" style=3D"display:block" alt=3D".:: close =
::."></a></body></html>');
close();	=09
}}
------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/public/mediaplayer/swfobject.js

/**=0A=
 * SWFObject v1.5: Flash Player detection and embed - =
http://blog.deconcept.com/swfobject/=0A=
 *=0A=
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT =
License:=0A=
 * http://www.opensource.org/licenses/mit-license.php=0A=
 *=0A=
 */=0A=
if(typeof deconcept=3D=3D"undefined"){var deconcept=3Dnew =
Object();}if(typeof =
deconcept.util=3D=3D"undefined"){deconcept.util=3Dnew =
Object();}if(typeof =
deconcept.SWFObjectUtil=3D=3D"undefined"){deconcept.SWFObjectUtil=3Dnew =
Object();}deconcept.SWFObject=3Dfunction(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!=
document.getElementById){return;}this.DETECT_KEY=3D_a?_a:"detectflash";th=
is.skipDetect=3Ddeconcept.util.getRequestParameter(this.DETECT_KEY);this.=
params=3Dnew Object();this.variables=3Dnew =
Object();this.attributes=3Dnew =
Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id"=
,id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height=
",h);}if(_5){this.setAttribute("version",new =
deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=3Dd=
econcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&=
&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=3Dtrue;}if(c=
){this.addParam("bgcolor",c);}var =
q=3D_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpress=
Install",false);this.setAttribute("doExpressInstall",false);var =
_c=3D(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.s=
etAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);=
}};deconcept.SWFObject.prototype=3D{useExpressInstall:function(_d){this.x=
iSWFPath=3D!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInsta=
ll",true);},setAttribute:function(_e,_f){this.attributes[_e]=3D_f;},getAt=
tribute:function(_10){return =
this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=3D_12;=
},getParams:function(){return =
this.params;},addVariable:function(_13,_14){this.variables[_13]=3D_14;},g=
etVariable:function(_15){return =
this.variables[_15];},getVariables:function(){return =
this.variables;},getVariablePairs:function(){var _16=3Dnew Array();var =
key;var _18=3Dthis.getVariables();for(key in =
_18){_16[_16.length]=3Dkey+"=3D"+_18[key];}return =
_16;},getSWFHTML:function(){var =
_19=3D"";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.l=
ength){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplay=
erType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19=3D"<embed =
type=3D\"application/x-shockwave-flash\" =
src=3D\""+this.getAttribute("swf")+"\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\"";_19+=3D" =
id=3D\""+this.getAttribute("id")+"\" =
name=3D\""+this.getAttribute("id")+"\" ";var =
_1a=3Dthis.getParams();for(var key in =
_1a){_19+=3D[key]+"=3D\""+_1a[key]+"\" ";}var =
_1c=3Dthis.getVariablePairs().join("&");if(_1c.length>0){_19+=3D"flashvar=
s=3D\""+_1c+"\"";}_19+=3D"/>";}else{if(this.getAttribute("doExpressInstal=
l")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",t=
his.xiSWFPath);}_19=3D"<object id=3D\""+this.getAttribute("id")+"\" =
classid=3D\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\" =
style=3D\""+this.getAttribute("style")+"\">";_19+=3D"<param =
name=3D\"movie\" value=3D\""+this.getAttribute("swf")+"\" />";var =
_1d=3Dthis.getParams();for(var key in _1d){_19+=3D"<param =
name=3D\""+key+"\" value=3D\""+_1d[key]+"\" />";}var =
_1f=3Dthis.getVariablePairs().join("&");if(_1f.length>0){_19+=3D"<param =
name=3D\"flashvars\" value=3D\""+_1f+"\" />";}_19+=3D"</object>";}return =
_19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var =
_21=3Dnew =
deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21=
)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.=
setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",es=
cape(this.getAttribute("xiRedirectUrl")));document.title=3Ddocument.title=
.slice(0,47)+" - Flash Player =
Installation";this.addVariable("MMdoctitle",document.title);}}if(this.ski=
pDetect||this.getAttribute("doExpressInstall")||this.installedVer.version=
IsValid(this.getAttribute("version"))){var n=3D(typeof =
_20=3D=3D"string")?document.getElementById(_20):_20;n.innerHTML=3Dthis.ge=
tSWFHTML();return =
true;}else{if(this.getAttribute("redirectUrl")!=3D""){document.location.r=
eplace(this.getAttribute("redirectUrl"));}}return =
false;}};deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(){var =
_23=3Dnew =
deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeType=
s.length){var x=3Dnavigator.plugins["Shockwave =
Flash"];if(x&&x.description){_23=3Dnew =
deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replac=
e(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&nav=
igator.userAgent.indexOf("Windows CE")>=3D0){var axo=3D1;var =
_26=3D3;while(axo){try{_26++;axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=3Dnew =
deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=3Dnull;}}}else{try{var =
axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var =
axo=3Dnew ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=3Dnew =
deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess=3D"always";}catch=
(e){if(_23.major=3D=3D6){return _23;}}try{axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=3Dnull=
){_23=3Dnew deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));}}}return =
_23;};deconcept.PlayerVersion=3Dfunction(_29){this.major=3D_29[0]!=3Dnull=
?parseInt(_29[0]):0;this.minor=3D_29[1]!=3Dnull?parseInt(_29[1]):0;this.r=
ev=3D_29[2]!=3Dnull?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototyp=
e.versionIsValid=3Dfunction(fv){if(this.major<fv.major){return =
false;}if(this.major>fv.major){return =
true;}if(this.minor<fv.minor){return =
false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return =
false;}return =
true;};deconcept.util=3D{getRequestParameter:function(_2b){var =
q=3Ddocument.location.search||document.location.hash;if(_2b=3D=3Dnull){re=
turn q;}if(q){var _2d=3Dq.substring(1).split("&");for(var =
i=3D0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("=3D"))=3D=3D=
_2b){return _2d[i].substring((_2d[i].indexOf("=3D")+1));}}}return =
"";}};deconcept.SWFObjectUtil.cleanupSWFs=3Dfunction(){var =
_2f=3Ddocument.getElementsByTagName("OBJECT");for(var =
i=3D_2f.length-1;i>=3D0;i--){_2f[i].style.display=3D"none";for(var x in =
_2f[i]){if(typeof =
_2f[i][x]=3D=3D"function"){_2f[i][x]=3Dfunction(){};}}}};if(deconcept.SWF=
Object.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.pre=
pUnload=3Dfunction(){__flash_unloadHandler=3Dfunction(){};__flash_savedUn=
loadHandler=3Dfunction(){};window.attachEvent("onunload",deconcept.SWFObj=
ectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFO=
bjectUtil.prepUnload);deconcept.unloadSet=3Dtrue;}}if(!document.getElemen=
tById&&document.all){document.getElementById=3Dfunction(id){return =
document.all[id];};}var =
getQueryParamValue=3Ddeconcept.util.getRequestParameter;var =
FlashObject=3Ddeconcept.SWFObject;var SWFObject=3Ddeconcept.SWFObject;
------=_NextPart_000_0159_01CAA660.A87FCEE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/WebResource.axd?d=mQ3DtViwGHt_4TR2Ej8NGg2&t=633739919971222506

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)) {
            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);
            }
            WebForm_ExecuteCallback(callbackObject);
        }
    }
}
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_0159_01CAA660.A87FCEE0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.alboscuole.it/ScriptResource.axd?d=jZGAjiCOXFpAYXzYGxsvc9fLo2ClM2cJYPzS6f3MtyCHZl0F0Zh4O1XYtZ73DoUt11yHP5VHO2XJnWoV7SoAz2_lZnppN4XqfE9qY_bIZxs1&t=ffffffffd9360524

=EF=BB=BF// Name:        MicrosoftAjax.debug.js
// Assembly:    System.Web.Extensions
// Version:     3.5.0.0
// FileVersion: 3.5.30729.196
//-----------------------------------------------------------------------=

// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.
=20
Function.__typeName =3D 'Function';
Function.__class =3D true;
Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <summary locid=3D"M:J#Function.createCallback" />
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"context" mayBeNull=3D"true"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;
    return function() {
        var l =3D arguments.length;
        if (l > 0) {
            var args =3D [];
            for (var i =3D 0; i < l; i++) {
                args[i] =3D arguments[i];
            }
            args[l] =3D context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}
Function.createDelegate =3D function Function$createDelegate(instance, =
method) {
    /// <summary locid=3D"M:J#Function.createDelegate" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;
    return function() {
        return method.apply(instance, arguments);
    }
}
Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    /// <summary locid=3D"M:J#Function.emptyMethod" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
    var e;
    e =3D Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }
    for (var i=3D0; i < params.length; i++) {
        var expectedParam =3D expectedParams[Math.min(i, =
expectedParams.length - 1)];
        var paramName =3D expectedParam.name;
        if (expectedParam.parameterArray) {
            paramName +=3D "[" + (i - expectedParams.length + 1) + "]";
        }
        e =3D Function._validateParameter(params[i], expectedParam, =
paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
Function._validateParameterCount =3D function =
Function$_validateParameterCount(params, expectedParams) {
    var maxParams =3D expectedParams.length;
    var minParams =3D 0;
    for (var i=3D0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams =3D Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }
    if (params.length < minParams || params.length > maxParams) {
        var e =3D Error.parameterCount();
        e.popStackFrame();
        return e;
    }
    return null;
}
Function._validateParameter =3D function =
Function$_validateParameter(param, expectedParam, paramName) {
    var e;
    var expectedType =3D expectedParam.type;
    var expectedInteger =3D !!expectedParam.integer;
    var expectedDomElement =3D !!expectedParam.domElement;
    var mayBeNull =3D !!expectedParam.mayBeNull;
    e =3D Function._validateParameterType(param, expectedType, =
expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }
    var expectedElementType =3D expectedParam.elementType;
    var elementMayBeNull =3D !!expectedParam.elementMayBeNull;
    if (expectedType =3D=3D=3D Array && typeof(param) !=3D=3D =
"undefined" && param !=3D=3D null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger =3D !!expectedParam.elementInteger;
        var expectedElementDomElement =3D =
!!expectedParam.elementDomElement;
        for (var i=3D0; i < param.length; i++) {
            var elem =3D param[i];
            e =3D Function._validateParameterType(elem, =
expectedElementType,
                expectedElementInteger, expectedElementDomElement, =
elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }
    return null;
}
Function._validateParameterType =3D function =
Function$_validateParameterType(param, expectedType, expectedInteger, =
expectedDomElement, mayBeNull, paramName) {
    var e;
    if (typeof(param) =3D=3D=3D "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (param =3D=3D=3D null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && expectedType.__enum) {
        if (typeof(param) !=3D=3D 'number') {
            e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) =3D=3D=3D 0) {
            var values =3D expectedType.prototype;
            if (!expectedType.__flags || (param =3D=3D=3D 0)) {
                for (var i in values) {
                    if (values[i] =3D=3D=3D param) return null;
                }
            }
            else {
                var v =3D param;
                for (var i in values) {
                    var vali =3D values[i];
                    if (vali =3D=3D=3D 0) continue;
                    if ((vali & param) =3D=3D=3D vali) {
                        v -=3D vali;
                    }
                    if (v =3D=3D=3D 0) return null;
                }
            }
        }
        e =3D Error.argumentOutOfRange(paramName, param, =
String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }
    if (expectedDomElement) {
        var val;
        if (typeof(param.nodeType) !=3D=3D 'number') {
            var doc =3D param.ownerDocument || param.document || param;
            if (doc !=3D param) {
                var w =3D doc.defaultView || doc.parentWindow;
                val =3D (w !=3D param) && !(w.document && param.document =
&& (w.document =3D=3D=3D param.document));
            }
            else {
                val =3D (typeof(doc.body) =3D=3D=3D 'undefined');
            }
        }
        else {
            val =3D (param.nodeType =3D=3D=3D 3);
        }
        if (val) {
            e =3D Error.argument(paramName, Sys.Res.argumentDomElement);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && !expectedType.isInstanceOfType(param)) {
        e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
        e.popStackFrame();
        return e;
    }
    if (expectedType =3D=3D=3D Number && expectedInteger) {
        if ((param % 1) !=3D=3D 0) {
            e =3D Error.argumentOutOfRange(paramName, param, =
Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
=20
Error.__typeName =3D 'Error';
Error.__class =3D true;
Error.create =3D function Error$create(message, errorInfo) {
    /// <summary locid=3D"M:J#Error.create" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"errorInfo" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Error"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: =
true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var e =3D new Error(message);
    e.message =3D message;
    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] =3D errorInfo[v];
        }
    }
    e.popStackFrame();
    return e;
}
Error.argument =3D function Error$argument(paramName, message) {
    /// <summary locid=3D"M:J#Error.argument" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentException: " + (message ? =
message : Sys.Res.argument);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentNull =3D function Error$argumentNull(paramName, message) {
    /// <summary locid=3D"M:J#Error.argumentNull" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentNullException: " + (message ? =
message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentOutOfRange =3D function =
Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <summary locid=3D"M:J#Error.argumentOutOfRange" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualValue" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentOutOfRangeException: " + =
(message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    if (typeof(actualValue) !=3D=3D "undefined" && actualValue !=3D=3D =
null) {
        displayMessage +=3D "\n" + String.format(Sys.Res.actualValue, =
actualValue);
    }
    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}
Error.argumentType =3D function Error$argumentType(paramName, =
actualType, expectedType, message) {
    /// <summary locid=3D"M:J#Error.argumentType" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"expectedType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualType", type: Type, mayBeNull: true, optional: =
true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage +=3D message;
    }
    else if (actualType && expectedType) {
        displayMessage +=3D
            String.format(Sys.Res.argumentTypeWithTypes, =
actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage +=3D Sys.Res.argumentType;
    }
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}
Error.argumentUndefined =3D function Error$argumentUndefined(paramName, =
message) {
    /// <summary locid=3D"M:J#Error.argumentUndefined" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentUndefinedException: " + (message =
? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.format =3D function Error$format(message) {
    /// <summary locid=3D"M:J#Error.format" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.FormatException: " + (message ? message =
: Sys.Res.format);
    var e =3D Error.create(displayMessage, {name: =
'Sys.FormatException'});
    e.popStackFrame();
    return e;
}
Error.invalidOperation =3D function Error$invalidOperation(message) {
    /// <summary locid=3D"M:J#Error.invalidOperation" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.InvalidOperationException: " + (message =
? message : Sys.Res.invalidOperation);
    var e =3D Error.create(displayMessage, {name: =
'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}
Error.notImplemented =3D function Error$notImplemented(message) {
    /// <summary locid=3D"M:J#Error.notImplemented" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.NotImplementedException: " + (message ? =
message : Sys.Res.notImplemented);
    var e =3D Error.create(displayMessage, {name: =
'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}
Error.parameterCount =3D function Error$parameterCount(message) {
    /// <summary locid=3D"M:J#Error.parameterCount" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ParameterCountException: " + (message ? =
message : Sys.Res.parameterCount);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}
Error.prototype.popStackFrame =3D function Error$popStackFrame() {
    /// <summary locid=3D"M:J#checkParam" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (typeof(this.stack) =3D=3D=3D "undefined" || this.stack =3D=3D=3D =
null ||
        typeof(this.fileName) =3D=3D=3D "undefined" || this.fileName =
=3D=3D=3D null ||
        typeof(this.lineNumber) =3D=3D=3D "undefined" || this.lineNumber =
=3D=3D=3D null) {
        return;
    }
    var stackFrames =3D this.stack.split("\n");
    var currentFrame =3D stackFrames[0];
    var pattern =3D this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !=3D=3D "undefined" &&
          currentFrame !=3D=3D null &&
          currentFrame.indexOf(pattern) =3D=3D=3D -1) {
        stackFrames.shift();
        currentFrame =3D stackFrames[0];
    }
    var nextFrame =3D stackFrames[1];
    if (typeof(nextFrame) =3D=3D=3D "undefined" || nextFrame =3D=3D=3D =
null) {
        return;
    }
    var nextFrameParts =3D nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) =3D=3D=3D "undefined" || nextFrameParts =
=3D=3D=3D null) {
        return;
    }
    this.fileName =3D nextFrameParts[1];
    this.lineNumber =3D parseInt(nextFrameParts[2]);
    stackFrames.shift();
    this.stack =3D stackFrames.join("\n");
}
=20
Object.__typeName =3D 'Object';
Object.__class =3D true;
Object.getType =3D function Object$getType(instance) {
    /// <summary locid=3D"M:J#Object.getType" />
    /// <param name=3D"instance"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    var ctor =3D instance.constructor;
    if (!ctor || (typeof(ctor) !=3D=3D "function") || !ctor.__typeName =
|| (ctor.__typeName =3D=3D=3D 'Object')) {
        return Object;
    }
    return ctor;
}
Object.getTypeName =3D function Object$getTypeName(instance) {
    /// <summary locid=3D"M:J#Object.getTypeName" />
    /// <param name=3D"instance"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    return Object.getType(instance).getName();
}
=20
String.__typeName =3D 'String';
String.__class =3D true;
String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <summary locid=3D"M:J#String.endsWith" />
    /// <param name=3D"suffix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(this.length - suffix.length) =3D=3D=3D suffix);
}
String.prototype.startsWith =3D function String$startsWith(prefix) {
    /// <summary locid=3D"M:J#String.startsWith" />
    /// <param name=3D"prefix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(0, prefix.length) =3D=3D=3D prefix);
}
String.prototype.trim =3D function String$trim() {
    /// <summary locid=3D"M:J#String.trim" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}
String.prototype.trimEnd =3D function String$trimEnd() {
    /// <summary locid=3D"M:J#String.trimEnd" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}
String.prototype.trimStart =3D function String$trimStart() {
    /// <summary locid=3D"M:J#String.trimStart" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}
String.format =3D function String$format(format, args) {
    /// <summary locid=3D"M:J#String.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(false, arguments);
}
String.localeFormat =3D function String$localeFormat(format, args) {
    /// <summary locid=3D"M:J#String.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(true, arguments);
}
String._toFormattedString =3D function =
String$_toFormattedString(useLocale, args) {
    var result =3D '';
    var format =3D args[0];
    for (var i=3D0;;) {
        var open =3D format.indexOf('{', i);
        var close =3D format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
            result +=3D format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
            if (format.charAt(close + 1) !=3D=3D '}') {
                throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
            }
            result +=3D format.slice(i, close + 1);
            i =3D close + 2;
            continue;
        }
        result +=3D format.slice(i, open);
        i =3D open + 1;
        if (format.charAt(i) =3D=3D=3D '{') {
            result +=3D '{';
            i++;
            continue;
        }
        if (close < 0) throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
        var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex), 10) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', =
Sys.Res.stringFormatInvalid);
        var argFormat =3D (colonIndex < 0)? '' : =
brace.substring(colonIndex + 1);
        var arg =3D args[argNumber];
        if (typeof(arg) =3D=3D=3D "undefined" || arg =3D=3D=3D null) {
            arg =3D '';
        }
        if (arg.toFormattedString) {
            result +=3D arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result +=3D arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result +=3D arg.format(argFormat);
        }
        else
            result +=3D arg.toString();
        i =3D close + 1;
    }
    return result;
}
=20
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;
Boolean.parse =3D function Boolean$parse(value) {
    /// <summary locid=3D"M:J#Boolean.parse" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    var v =3D value.trim().toLowerCase();
    if (v =3D=3D=3D 'false') return false;
    if (v =3D=3D=3D 'true') return true;
    throw Error.argumentOutOfRange('value', value, =
Sys.Res.boolTrueOrFalse);
}
=20
Date.__typeName =3D 'Date';
Date.__class =3D true;
Date._appendPreOrPostMatch =3D function =
Date$_appendPreOrPostMatch(preMatch, strBuilder) {
    var quoteCount =3D 0;
    var escaped =3D false;
    for (var i =3D 0, il =3D preMatch.length; i < il; i++) {
        var c =3D preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped =3D false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped =3D !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped =3D false;
            break;
        }
    }
    return quoteCount;
}
Date._expandFormat =3D function Date$_expandFormat(dtf, format) {
    if (!format) {
        format =3D "F";
    }
    if (format.length =3D=3D=3D 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}
Date._expandYear =3D function Date$_expandYear(dtf, year) {
    if (year < 100) {
        var curr =3D new Date().getFullYear();
        year +=3D curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}
Date._getParseRegExp =3D function Date$_getParseRegExp(dtf, format) {
    if (!dtf._parseRegExp) {
        dtf._parseRegExp =3D {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }
    var expFormat =3D Date._expandFormat(dtf, format);
    expFormat =3D expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, =
"\\\\$1");
    var regexp =3D new Sys.StringBuilder("^");
    var groups =3D [];
    var index =3D 0;
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    var match;
    while ((match =3D tokenRegExp.exec(expFormat)) !=3D=3D null) {
        var preMatch =3D expFormat.slice(index, match.index);
        index =3D tokenRegExp.lastIndex;
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, regexp);
        if ((quoteCount%2) =3D=3D=3D 1) {
            regexp.append(match[0]);
            continue;
        }
        switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.append("(\\d)");
                break;
            case 'dd': case 'd':
            case 'MM': case 'M':
            case 'yy': case 'y':
            case 'HH': case 'H':
            case 'hh': case 'h':
            case 'mm': case 'm':
            case 'ss': case 's':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
    var regexpStr =3D regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp =3D {'regExp': regexpStr, 'groups': groups};
    dtf._parseRegExp[format] =3D parseRegExp;
    return parseRegExp;
}
Date._getTokenRegExp =3D function Date$_getTokenRegExp() {
    return =
/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|=
zzz|zz|z/g;
}
Date.parseLocale =3D function Date$parseLocale(value, formats) {
    /// <summary locid=3D"M:J#Date.parseLocale" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.CurrentCulture, =
arguments);
}
Date.parseInvariant =3D function Date$parseInvariant(value, formats) {
    /// <summary locid=3D"M:J#Date.parseInvariant" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.InvariantCulture, =
arguments);
}
Date._parse =3D function Date$_parse(value, cultureInfo, args) {
    var custom =3D false;
    for (var i =3D 1, il =3D args.length; i < il; i++) {
        var format =3D args[i];
        if (format) {
            custom =3D true;
            var date =3D Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
    if (! custom) {
        var formats =3D cultureInfo._getDateTimeFormats();
        for (var i =3D 0, il =3D formats.length; i < il; i++) {
            var date =3D Date._parseExact(value, formats[i], =
cultureInfo);
            if (date) return date;
        }
    }
    return null;
}
Date._parseExact =3D function Date$_parseExact(value, format, =
cultureInfo) {
    value =3D value.trim();
    var dtf =3D cultureInfo.dateTimeFormat;
    var parseInfo =3D Date._getParseRegExp(dtf, format);
    var match =3D new RegExp(parseInfo.regExp).exec(value);
    if (match =3D=3D=3D null) return null;
   =20
    var groups =3D parseInfo.groups;
    var year =3D null, month =3D null, date =3D null, weekDay =3D null;
    var hour =3D 0, min =3D 0, sec =3D 0, msec =3D 0, tzMinOffset =3D =
null;
    var pmHour =3D false;
    for (var j =3D 0, jl =3D groups.length; j < jl; j++) {
        var matchGroup =3D match[j+1];
        if (matchGroup) {
            switch (groups[j]) {
                case 'dd': case 'd':
                    date =3D parseInt(matchGroup, 10);
                    if ((date < 1) || (date > 31)) return null;
                    break;
                case 'MMMM':
                    month =3D cultureInfo._getMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'MMM':
                    month =3D =
cultureInfo._getAbbrMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'M': case 'MM':
                    var month =3D parseInt(matchGroup, 10) - 1;
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'y': case 'yy':
                    year =3D Date._expandYear(dtf,parseInt(matchGroup, =
10));
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'yyyy':
                    year =3D parseInt(matchGroup, 10);
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'h': case 'hh':
                    hour =3D parseInt(matchGroup, 10);
                    if (hour =3D=3D=3D 12) hour =3D 0;
                    if ((hour < 0) || (hour > 11)) return null;
                    break;
                case 'H': case 'HH':
                    hour =3D parseInt(matchGroup, 10);
                    if ((hour < 0) || (hour > 23)) return null;
                    break;
                case 'm': case 'mm':
                    min =3D parseInt(matchGroup, 10);
                    if ((min < 0) || (min > 59)) return null;
                    break;
                case 's': case 'ss':
                    sec =3D parseInt(matchGroup, 10);
                    if ((sec < 0) || (sec > 59)) return null;
                    break;
                case 'tt': case 't':
                    var upperToken =3D matchGroup.toUpperCase();
                    pmHour =3D (upperToken =3D=3D=3D =
dtf.PMDesignator.toUpperCase());
                    if (!pmHour && (upperToken !=3D=3D =
dtf.AMDesignator.toUpperCase())) return null;
                    break;
                case 'f':
                    msec =3D parseInt(matchGroup, 10) * 100;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'ff':
                    msec =3D parseInt(matchGroup, 10) * 10;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'fff':
                    msec =3D parseInt(matchGroup, 10);
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'dddd':
                    weekDay =3D cultureInfo._getDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'ddd':
                    weekDay =3D =
cultureInfo._getAbbrDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'zzz':
                    var offsets =3D matchGroup.split(/:/);
                    if (offsets.length !=3D=3D 2) return null;
                    var hourOffset =3D parseInt(offsets[0], 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return =
null;
                    var minOffset =3D parseInt(offsets[1], 10);
                    if ((minOffset < 0) || (minOffset > 59)) return =
null;
                    tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                    break;
                case 'z': case 'zz':
                    var hourOffset =3D parseInt(matchGroup, 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return =
null;
                    tzMinOffset =3D hourOffset * 60;
                    break;
            }
        }
    }
    var result =3D new Date();
    if (year =3D=3D=3D null) {
        year =3D result.getFullYear();
    }
    if (month =3D=3D=3D null) {
        month =3D result.getMonth();
    }
    if (date =3D=3D=3D null) {
        date =3D result.getDate();
    }
    result.setFullYear(year, month, date);
    if (result.getDate() !=3D=3D date) return null;
    if ((weekDay !=3D=3D null) && (result.getDay() !=3D=3D weekDay)) {
        return null;
    }
    if (pmHour && (hour < 12)) {
        hour +=3D 12;
    }
    result.setHours(hour, min, sec, msec);
    if (tzMinOffset !=3D=3D null) {
        var adjustedMin =3D result.getMinutes() - (tzMinOffset + =
result.getTimezoneOffset());
        result.setHours(result.getHours() + parseInt(adjustedMin/60, =
10), adjustedMin%60);
    }
    return result;
}
Date.prototype.format =3D function Date$format(format) {
    /// <summary locid=3D"M:J#Date.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Date.prototype.localeFormat =3D function Date$localeFormat(format) {
    /// <summary locid=3D"M:J#Date.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Date.prototype._toFormattedString =3D function =
Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
    var dtf =3D cultureInfo.dateTimeFormat;
    format =3D Date._expandFormat(dtf, format);
    var ret =3D new Sys.StringBuilder();
    var hour;
    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }
    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    for (;;) {
        var index =3D tokenRegExp.lastIndex;
        var ar =3D tokenRegExp.exec(format);
        var preMatch =3D format.slice(index, ar ? ar.index : =
format.length);
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, ret);
        if (!ar) break;
        if ((quoteCount%2) =3D=3D=3D 1) {
            ret.append(ar[0]);
            continue;
        }
        switch (ar[0]) {
        case "dddd":
            ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
            ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
            ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
            ret.append(this.getDate());
            break;
        case "MMMM":
            ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
            ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
            ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
            ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
            ret.append(this.getFullYear());
            break;
        case "yy":
            ret.append(addLeadingZero(this.getFullYear() % 100));
            break;
        case "y":
            ret.append(this.getFullYear() % 100);
            break;
        case "hh":
            hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
            hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(hour);
            break;
        case "HH":
            ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
            ret.append(this.getHours());
            break;
        case "mm":
            ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
            ret.append(this.getMinutes());
            break;
        case "ss":
            ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
            ret.append(this.getSeconds());
            break;
        case "tt":
            ret.append((this.getHours() < 12) ? dtf.AMDesignator : =
dtf.PMDesignator);
            break;
        case "t":
            ret.append(((this.getHours() < 12) ? dtf.AMDesignator : =
dtf.PMDesignator).charAt(0));
            break;
        case "f":
            =
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
            ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, =
2));
            break;
        case "fff":
            ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
Math.floor(Math.abs(hour)));
            break;
        case "zz":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + =
addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
=20
Number.__typeName =3D 'Number';
Number.__class =3D true;
Number.parseLocale =3D function Number$parseLocale(value) {
    /// <summary locid=3D"M:J#Number.parseLocale" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant =3D function Number$parseInvariant(value) {
    /// <summary locid=3D"M:J#Number.parseInvariant" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse =3D function Number$_parse(value, cultureInfo) {
    value =3D value.trim();
   =20
    if (value.match(/^[+-]?infinity$/i)) {
        return parseFloat(value);
    }
    if (value.match(/^0x[a-f0-9]+$/i)) {
        return parseInt(value);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, numFormat.NumberNegativePattern);
    var sign =3D signInfo[0];
    var num =3D signInfo[1];
   =20
    if ((sign =3D=3D=3D '') && (numFormat.NumberNegativePattern !=3D=3D =
1)) {
        signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, 1);
        sign =3D signInfo[0];
        num =3D signInfo[1];
    }
    if (sign =3D=3D=3D '') sign =3D '+';
   =20
    var exponent;
    var intAndFraction;
    var exponentPos =3D num.indexOf('e');
    if (exponentPos < 0) exponentPos =3D num.indexOf('E');
    if (exponentPos < 0) {
        intAndFraction =3D num;
        exponent =3D null;
    }
    else {
        intAndFraction =3D num.substr(0, exponentPos);
        exponent =3D num.substr(exponentPos + 1);
    }
   =20
    var integer;
    var fraction;
    var decimalPos =3D =
intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
    if (decimalPos < 0) {
        integer =3D intAndFraction;
        fraction =3D null;
    }
    else {
        integer =3D intAndFraction.substr(0, decimalPos);
        fraction =3D intAndFraction.substr(decimalPos + =
numFormat.NumberDecimalSeparator.length);
    }
   =20
    integer =3D integer.split(numFormat.NumberGroupSeparator).join('');
    var altNumGroupSeparator =3D =
numFormat.NumberGroupSeparator.replace(/\u00A0/g, " ");
    if (numFormat.NumberGroupSeparator !=3D=3D altNumGroupSeparator) {
        integer =3D integer.split(altNumGroupSeparator).join('');
    }
   =20
    var p =3D sign + integer;
    if (fraction !=3D=3D null) {
        p +=3D '.' + fraction;
    }
    if (exponent !=3D=3D null) {
        var expSignInfo =3D Number._parseNumberNegativePattern(exponent, =
numFormat, 1);
        if (expSignInfo[0] =3D=3D=3D '') {
            expSignInfo[0] =3D '+';
        }
        p +=3D 'e' + expSignInfo[0] + expSignInfo[1];
    }
    if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {
        return parseFloat(p);
    }
    return Number.NaN;
}
Number._parseNumberNegativePattern =3D function =
Number$_parseNumberNegativePattern(value, numFormat, =
numberNegativePattern) {
    var neg =3D numFormat.NegativeSign;
    var pos =3D numFormat.PositiveSign;   =20
    switch (numberNegativePattern) {
        case 4:=20
            neg =3D ' ' + neg;
            pos =3D ' ' + pos;
        case 3:=20
            if (value.endsWith(neg)) {
                return ['-', value.substr(0, value.length - =
neg.length)];
            }
            else if (value.endsWith(pos)) {
                return ['+', value.substr(0, value.length - =
pos.length)];
            }
            break;
        case 2:=20
            neg +=3D ' ';
            pos +=3D ' ';
        case 1:=20
            if (value.startsWith(neg)) {
                return ['-', value.substr(neg.length)];
            }
            else if (value.startsWith(pos)) {
                return ['+', value.substr(pos.length)];
            }
            break;
        case 0:=20
            if (value.startsWith('(') && value.endsWith(')')) {
                return ['-', value.substr(1, value.length - 2)];
            }
            break;
    }
    return ['', value];
}
Number.prototype.format =3D function Number$format(format) {
    /// <summary locid=3D"M:J#Number.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat =3D function Number$localeFormat(format) {
    /// <summary locid=3D"M:J#Number.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString =3D function =
Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
   =20
    var _percentPositivePattern =3D ["n %", "n%", "%n" ];
    var _percentNegativePattern =3D ["-n %", "-n%", "-%n"];
    var _numberNegativePattern =3D ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern =3D ["$n","n$","$ n","n $"];
    var _currencyNegativePattern =3D =
["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n =
$-","$ n-","$ -n","n- $","($ n)","(n $)"];
    function zeroPad(str, count, left) {
        for (var l=3Dstr.length; l < count; l++) {
            str =3D (left ? ('0' + str) : (str + '0'));
        }
        return str;
    }
   =20
    function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;
        var factor =3D Math.pow(10, precision);
        var rounded =3D (Math.round(number * factor) / factor);
        if (!isFinite(rounded)) {
            rounded =3D number;
        }
        number =3D rounded;
       =20
        var numberString =3D number.toString();
        var right =3D "";
        var exponent;
       =20
       =20
        var split =3D numberString.split(/e/i);
        numberString =3D split[0];
        exponent =3D (split.length > 1 ? parseInt(split[1]) : 0);
        split =3D numberString.split('.');
        numberString =3D split[0];
        right =3D split.length > 1 ? split[1] : "";
       =20
        var l;
        if (exponent > 0) {
            right =3D zeroPad(right, exponent, false);
            numberString +=3D right.slice(0, exponent);
            right =3D right.substr(exponent);
        }
        else if (exponent < 0) {
            exponent =3D -exponent;
            numberString =3D zeroPad(numberString, exponent+1, true);
            right =3D numberString.slice(-exponent, numberString.length) =
+ right;
            numberString =3D numberString.slice(0, -exponent);
        }
        if (precision > 0) {
            if (right.length > precision) {
                right =3D right.slice(0, precision);
            }
            else {
                right =3D zeroPad(right, precision, false);
            }
            right =3D decimalChar + right;
        }
        else {=20
            right =3D "";
        }
        var stringIndex =3D numberString.length-1;
        var ret =3D "";
        while (stringIndex >=3D 0) {
            if (curSize =3D=3D=3D 0 || curSize > stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep =
+ ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + =
right;
            }
            if (ret.length > 0)
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1) + sep + ret;
            else
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1);
            stringIndex -=3D curSize;
            if (curGroupIndex < groupSizes.length) {
                curSize =3D groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + =
right;
    }
    var nf =3D cultureInfo.numberFormat;
    var number =3D Math.abs(this);
    if (!format)
        format =3D "D";
    var precision =3D -1;
    if (format.length > 1) precision =3D parseInt(format.slice(1), 10);
    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';
        if (precision !=3D=3D -1) {
            number =3D zeroPad(""+number, precision, true);
        }
        if (this < 0) number =3D -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern =3D =
_currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern =3D =
_currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.CurrencyDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, =
nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern =3D =
_numberNegativePattern[nf.NumberNegativePattern];
        else pattern =3D 'n';
        if (precision =3D=3D=3D -1) precision =3D =
nf.NumberDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.NumberGroupSizes, nf.NumberGroupSeparator, =
nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern =3D =
_percentNegativePattern[nf.PercentNegativePattern];
        else pattern =3D =
_percentPositivePattern[nf.PercentPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.PercentDecimalDigits;
        number =3D expandNumber(Math.abs(this) * 100, precision, =
nf.PercentGroupSizes, nf.PercentGroupSeparator, =
nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }
    var regex =3D /n|\$|-|%/g;
    var ret =3D "";
    for (;;) {
        var index =3D regex.lastIndex;
        var ar =3D regex.exec(pattern);
        ret +=3D pattern.slice(index, ar ? ar.index : pattern.length);
        if (!ar)
            break;
        switch (ar[0]) {
        case "n":
            ret +=3D number;
            break;
        case "$":
            ret +=3D nf.CurrencySymbol;
            break;
        case "-":
            ret +=3D nf.NegativeSign;
            break;
        case "%":
            ret +=3D nf.PercentSymbol;
            break;
        }
    }
    return ret;
}
=20
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
=20
Array.__typeName =3D 'Array';
Array.__class =3D true;
Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <summary locid=3D"M:J#Array.enqueue" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array[array.length] =3D item;
}
Array.addRange =3D function Array$addRange(array, items) {
    /// <summary locid=3D"M:J#Array.addRange" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"items" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.push.apply(array, items);
}
Array.clear =3D function Array$clear(array) {
    /// <summary locid=3D"M:J#Array.clear" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.length =3D 0;
}
Array.clone =3D function Array$clone(array) {
    /// <summary locid=3D"M:J#Array.clone" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (array.length =3D=3D=3D 1) {
        return [array[0]];
    }
    else {
        return Array.apply(null, array);
    }
}
Array.contains =3D function Array$contains(array, item) {
    /// <summary locid=3D"M:J#Array.contains" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    return (Array.indexOf(array, item) >=3D 0);
}
Array.dequeue =3D function Array$dequeue(array) {
    /// <summary locid=3D"M:J#Array.dequeue" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    return array.shift();
}
Array.forEach =3D function Array$forEach(array, method, instance) {
    /// <summary locid=3D"M:J#Array.forEach" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"instance" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    for (var i =3D 0, l =3D array.length; i < l; i++) {
        var elt =3D array[i];
        if (typeof(elt) !=3D=3D 'undefined') method.call(instance, elt, =
i, array);
    }
}
Array.indexOf =3D function Array$indexOf(array, item, start) {
    /// <summary locid=3D"M:J#Array.indexOf" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"start" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if (typeof(item) =3D=3D=3D "undefined") return -1;
    var length =3D array.length;
    if (length !=3D=3D 0) {
        start =3D start - 0;
        if (isNaN(start)) {
            start =3D 0;
        }
        else {
            if (isFinite(start)) {
                start =3D start - (start % 1);
            }
            if (start < 0) {
                start =3D Math.max(0, length + start);
            }
        }
        for (var i =3D start; i < length; i++) {
            if ((typeof(array[i]) !=3D=3D "undefined") && (array[i] =
=3D=3D=3D item)) {
                return i;
            }
        }
    }
    return -1;
}
Array.insert =3D function Array$insert(array, index, item) {
    /// <summary locid=3D"M:J#Array.insert" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 0, item);
}
Array.parse =3D function Array$parse(value) {
    /// <summary locid=3D"M:J#Array.parse" />
    /// <param name=3D"value" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    if (!value) return [];
    var v =3D eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', =
Sys.Res.arrayParseBadFormat);
    return v;
}
Array.remove =3D function Array$remove(array, item) {
    /// <summary locid=3D"M:J#Array.remove" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index =3D Array.indexOf(array, item);
    if (index >=3D 0) {
        array.splice(index, 1);
    }
    return (index >=3D 0);
}
Array.removeAt =3D function Array$removeAt(array, index) {
    /// <summary locid=3D"M:J#Array.removeAt" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 1);
}
=20
if (!window) this.window =3D this;
window.Type =3D Function;
Type.__fullyQualifiedIdentifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");
Type.prototype.callBaseMethod =3D function Type$callBaseMethod(instance, =
name, baseArguments) {
    /// <summary locid=3D"M:J#Type.callBaseMethod" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var baseMethod =3D this.getBaseMethod(instance, name);
    if (!baseMethod) throw =
Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}
Type.prototype.getBaseMethod =3D function Type$getBaseMethod(instance, =
name) {
    /// <summary locid=3D"M:J#Type.getBaseMethod" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Function" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    var baseType =3D this.getBaseType();
    if (baseType) {
        var baseMethod =3D baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }
    return null;
}
Type.prototype.getBaseType =3D function Type$getBaseType() {
    /// <summary locid=3D"M:J#Type.getBaseType" />
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__baseType) =3D=3D=3D "undefined") ? null : =
this.__baseType;
}
Type.prototype.getInterfaces =3D function Type$getInterfaces() {
    /// <summary locid=3D"M:J#Type.getInterfaces" />
    /// <returns type=3D"Array" elementType=3D"Type" mayBeNull=3D"false" =
elementMayBeNull=3D"false"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var result =3D [];
    var type =3D this;
    while(type) {
        var interfaces =3D type.__interfaces;
        if (interfaces) {
            for (var i =3D 0, l =3D interfaces.length; i < l; i++) {
                var interfaceType =3D interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] =3D interfaceType;
                }
            }
        }
        type =3D type.__baseType;
    }
    return result;
}
Type.prototype.getName =3D function Type$getName() {
    /// <summary locid=3D"M:J#Type.getName" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__typeName) =3D=3D=3D "undefined") ? "" : =
this.__typeName;
}
Type.prototype.implementsInterface =3D function =
Type$implementsInterface(interfaceType) {
    /// <summary locid=3D"M:J#Type.implementsInterface" />
    /// <param name=3D"interfaceType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var interfaceName =3D interfaceType.getName();
    var cache =3D this.__interfaceCache;
    if (cache) {
        var cacheEntry =3D cache[interfaceName];
        if (typeof(cacheEntry) !=3D=3D 'undefined') return cacheEntry;
    }
    else {
        cache =3D this.__interfaceCache =3D {};
    }
    var baseType =3D this;
    while (baseType) {
        var interfaces =3D baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !=3D=3D -1) {
                return cache[interfaceName] =3D true;
            }
        }
        baseType =3D baseType.__baseType;
    }
    return cache[interfaceName] =3D false;
}
Type.prototype.inheritsFrom =3D function Type$inheritsFrom(parentType) {
    /// <summary locid=3D"M:J#Type.inheritsFrom" />
    /// <param name=3D"parentType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var baseType =3D this.__baseType;
    while (baseType) {
        if (baseType =3D=3D=3D parentType) {
            return true;
        }
        baseType =3D baseType.__baseType;
    }
    return false;
}
Type.prototype.initializeBase =3D function Type$initializeBase(instance, =
baseArguments) {
    /// <summary locid=3D"M:J#Type.initializeBase" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }
    return instance;
}
Type.prototype.isImplementedBy =3D function =
Type$isImplementedBy(instance) {
    /// <summary locid=3D"M:J#Type.isImplementedBy" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;
    var instanceType =3D Object.getType(instance);
    return !!(instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}
Type.prototype.isInstanceOfType =3D function =
Type$isInstanceOfType(instance) {
    /// <summary locid=3D"M:J#Type.isInstanceOfType" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;
    if (instance instanceof this) return true;
    var instanceType =3D Object.getType(instance);
    return !!(instanceType =3D=3D=3D this) ||
           (instanceType.inheritsFrom && =
instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}
Type.prototype.registerClass =3D function Type$registerClass(typeName, =
baseType, interfaceTypes) {
    /// <summary locid=3D"M:J#Type.registerClass" />
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <param name=3D"baseType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"interfaceTypes" parameterArray=3D"true" =
type=3D"Type"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    if ((arguments.length > 1) && (typeof(baseType) =3D=3D=3D =
'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', =
Sys.Res.baseNotAClass);
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__class =3D true;
    if (baseType) {
        this.__baseType =3D baseType;
        this.__basePrototypePending =3D true;
    }
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    if (interfaceTypes) {
        this.__interfaces =3D [];
        this.resolveInheritance();
        for (var i =3D 2, l =3D arguments.length; i < l; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            for (var methodName in interfaceType.prototype) {
                var method =3D interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] =3D method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <summary locid=3D"M:J#Type.registerInterface" />
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    /// <summary locid=3D"M:J#Type.resolveInheritance" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (this.__basePrototypePending) {
        var baseType =3D this.__baseType;
        baseType.resolveInheritance();
        for (var memberName in baseType.prototype) {
            var memberValue =3D baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] =3D memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}
Type.getRootNamespaces =3D function Type$getRootNamespaces() {
    /// <summary locid=3D"M:J#Type.getRootNamespaces" />
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(Sys.__rootNamespaces);
}
Type.isClass =3D function Type$isClass(type) {
    /// <summary locid=3D"M:J#Type.isClass" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__class;
}
Type.isInterface =3D function Type$isInterface(type) {
    /// <summary locid=3D"M:J#Type.isInterface" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__interface;
}
Type.isNamespace =3D function Type$isNamespace(object) {
    /// <summary locid=3D"M:J#Type.isNamespace" />
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(object) =3D=3D=3D 'undefined') || (object =3D=3D=3D =
null)) return false;
    return !!object.__namespace;
}
Type.parse =3D function Type$parse(typeName, ns) {
    /// <summary locid=3D"M:J#Type.parse" />
    /// <param name=3D"typeName" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"ns" optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var fn;
    if (ns) {
        fn =3D Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + =
typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses =3D {};
    }
    fn =3D Type.__htClasses[typeName];
    if (!fn) {
        fn =3D eval(typeName);
        if (typeof(fn) !=3D=3D 'function') throw =
Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] =3D fn;
    }
    return fn;
}
Type.registerNamespace =3D function =
Type$registerNamespace(namespacePath) {
    /// <summary locid=3D"M:J#Type.registerNamespace" />
    /// <param name=3D"namespacePath" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) =
throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject =3D window;
    var namespaceParts =3D namespacePath.split('.');
    for (var i =3D 0; i < namespaceParts.length; i++) {
        var currentPart =3D namespaceParts[i];
        var ns =3D rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw =
Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, =
namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns =3D rootObject[currentPart] =3D {
                __namespace: true,
                __typeName: namespaceParts.slice(0, i + 1).join('.')
            };
            if (i =3D=3D=3D 0) {
                Sys.__rootNamespaces[Sys.__rootNamespaces.length] =3D =
ns;
            }
            var parsedName;
            try {
                parsedName =3D eval(ns.__typeName);
            }
            catch(e) {
                parsedName =3D null;
            }
            if (parsedName !=3D=3D ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', =
Sys.Res.invalidNameSpace);
            }
            ns.getName =3D function ns$getName() {return =
this.__typeName;}
        }
        rootObject =3D ns;
    }
}
window.Sys =3D {
    __namespace: true,
    __typeName: "Sys",
    getName: function() {return "Sys";},
    __upperCaseTypes: {}
};
Sys.__rootNamespaces =3D [Sys];
Sys.__registeredTypes =3D {};
=20
Sys.IDisposable =3D function Sys$IDisposable() {
    throw Error.notImplemented();
}
    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype =3D {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
=20
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <summary locid=3D"M:J#Sys.StringBuilder.#ctor" />
    /// <param name=3D"initialText" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._parts =3D (typeof(initialText) !=3D=3D 'undefined' && =
initialText !=3D=3D null && initialText !=3D=3D '') ?
        [initialText.toString()] : [];
    this._value =3D {};
    this._len =3D 0;
}
    function Sys$StringBuilder$append(text) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.append" />
        /// <param name=3D"text" mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =3D text;
    }
    function Sys$StringBuilder$appendLine(text) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.appendLine" />
        /// <param name=3D"text" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =3D
            ((typeof(text) =3D=3D=3D 'undefined') || (text =3D=3D=3D =
null) || (text =3D=3D=3D '')) ?
            '\r\n' : text + '\r\n';
    }
    function Sys$StringBuilder$clear() {
        /// <summary locid=3D"M:J#Sys.StringBuilder.clear" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }
    function Sys$StringBuilder$isEmpty() {
        /// <summary locid=3D"M:J#Sys.StringBuilder.isEmpty" />
        /// <returns type=3D"Boolean"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parts.length =3D=3D=3D 0) return true;
        return this.toString() =3D=3D=3D '';
    }
    function Sys$StringBuilder$toString(separator) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.toString" />
        /// <param name=3D"separator" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        separator =3D separator || '';
        var parts =3D this._parts;
        if (this._len !=3D=3D parts.length) {
            this._value =3D {};
            this._len =3D parts.length;
        }
        var val =3D this._value;
        if (typeof(val[separator]) =3D=3D=3D 'undefined') {
            if (separator !=3D=3D '') {
                for (var i =3D 0; i < parts.length;) {
                    if ((typeof(parts[i]) =3D=3D=3D 'undefined') || =
(parts[i] =3D=3D=3D '') || (parts[i] =3D=3D=3D null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] =3D this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype =3D {
    append: Sys$StringBuilder$append,
    appendLine: Sys$StringBuilder$appendLine,
    clear: Sys$StringBuilder$clear,
    isEmpty: Sys$StringBuilder$isEmpty,
    toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
=20
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                return new ActiveXObject(progIDs[i]);
            }
            catch (ex) {
            }
        }
        return null;
    }
}
=20
Sys.Browser =3D {};
Sys.Browser.InternetExplorer =3D {};
Sys.Browser.Firefox =3D {};
Sys.Browser.Safari =3D {};
Sys.Browser.Opera =3D {};
Sys.Browser.agent =3D null;
Sys.Browser.hasDebuggerStatement =3D false;
Sys.Browser.name =3D navigator.appName;
Sys.Browser.version =3D parseFloat(navigator.appVersion);
Sys.Browser.documentMode =3D 0;
if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent =3D Sys.Browser.InternetExplorer;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);
    if (Sys.Browser.version >=3D 8) {
        if (document.documentMode >=3D 7) {
            Sys.Browser.documentMode =3D document.documentMode;   =20
        }
    }
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Firefox;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Firefox';
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
AppleWebKit\/(\d+(\.\d+)?)/)[1]);
    Sys.Browser.name =3D 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Opera;
}
Type.registerNamespace('Sys.UI');
=20
Sys._Debug =3D function Sys$_Debug() {
    /// <summary locid=3D"M:J#Sys.Debug.#ctor" />
    /// <field name=3D"isDebug" type=3D"Boolean" =
locid=3D"F:J#Sys.Debug.isDebug"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
    function Sys$_Debug$_appendConsole(text) {
        if ((typeof(Debug) !=3D=3D 'undefined') && Debug.writeln) {
            Debug.writeln(text);
        }
        if (window.console && window.console.log) {
            window.console.log(text);
        }
        if (window.opera) {
            window.opera.postError(text);
        }
        if (window.debugService) {
            window.debugService.trace(text);
        }
    }
    function Sys$_Debug$_appendTrace(text) {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value +=3D text + '\n';
        }
    }
    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <summary locid=3D"M:J#Sys.Debug.assert" />
        /// <param name=3D"condition" type=3D"Boolean"></param>
        /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"displayCaller" type=3D"Boolean" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: =
true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;
        if (!condition) {
            message =3D (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, =
this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);
            if (confirm(String.format(Sys.Res.breakIntoDebugger, =
message))) {
                this.fail(message);
            }
        }
    }
    function Sys$_Debug$clearTrace() {
        /// <summary locid=3D"M:J#Sys.Debug.clearTrace" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }
    function Sys$_Debug$fail(message) {
        /// <summary locid=3D"M:J#Sys.Debug.fail" />
        /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;
        this._appendConsole(message);
        if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }
    function Sys$_Debug$trace(text) {
        /// <summary locid=3D"M:J#Sys.Debug.trace" />
        /// <param name=3D"text"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;
        this._appendConsole(text);
        this._appendTrace(text);
    }
    function Sys$_Debug$traceDump(object, name) {
        /// <summary locid=3D"M:J#Sys.Debug.traceDump" />
        /// <param name=3D"object" mayBeNull=3D"true"></param>
        /// <param name=3D"name" type=3D"String" mayBeNull=3D"true" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        var text =3D this._traceDump(object, name, true);
    }
    function Sys$_Debug$_traceDump(object, name, recursive, =
indentationPadding, loopArray) {
        name =3D name? name : 'traceDump';
        indentationPadding =3D indentationPadding? indentationPadding : =
'';
        if (object =3D=3D=3D null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || =
RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + =
object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray =3D [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);
                if ((object =3D=3D window) || (object =3D=3D=3D =
document) ||
                    (window.HTMLElement && (object instanceof =
HTMLElement)) ||
                    (typeof(object.nodeName) =3D=3D=3D 'string')) {
                    var tag =3D object.tagName? object.tagName : =
'DomElement';
                    if (object.id) {
                        tag +=3D ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + =
'}');
                }
                else {
                    var typeName =3D Object.getTypeName(object);
                    this.trace(indentationPadding + name + =
(typeof(typeName) =3D=3D=3D 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding =3D=3D=3D '') || recursive) =
{
                        indentationPadding +=3D "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length =3D object.length;
                            for (i =3D 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + =
']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v =3D object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, =
indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype =3D {
    _appendConsole: Sys$_Debug$_appendConsole,
    _appendTrace: Sys$_Debug$_appendTrace,
    assert: Sys$_Debug$assert,
    clearTrace: Sys$_Debug$clearTrace,
    fail: Sys$_Debug$fail,
    trace: Sys$_Debug$trace,
    traceDump: Sys$_Debug$traceDump,
    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');
Sys.Debug =3D new Sys._Debug();
    Sys.Debug.isDebug =3D true;
=20
function Sys$Enum$parse(value, ignoreCase) {
    /// <summary locid=3D"M:J#Sys.Enum.parse" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"ignoreCase" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    var values, parsed, val;
    if (ignoreCase) {
        values =3D this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues =3D values =3D {};
            var prototype =3D this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] =3D prototype[name];
            }
        }
    }
    else {
        values =3D this.prototype;
    }
    if (!this.__flags) {
        val =3D (ignoreCase ? value.toLowerCase() : value);
        parsed =3D values[val.trim()];
        if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, =
this.__typeName));
        return parsed;
    }
    else {
        var parts =3D (ignoreCase ? value.toLowerCase() : =
value).split(',');
        var v =3D 0;
        for (var i =3D parts.length - 1; i >=3D 0; i--) {
            var part =3D parts[i].trim();
            parsed =3D values[part];
            if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, =
value.split(',')[i].trim(), this.__typeName));
            v |=3D parsed;
        }
        return v;
    }
}
function Sys$Enum$toString(value) {
    /// <summary locid=3D"M:J#Sys.Enum.toString" />
    /// <param name=3D"value" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if ((typeof(value) =3D=3D=3D 'undefined') || (value =3D=3D=3D null)) =
return this.__string;
    if ((typeof(value) !=3D 'number') || ((value % 1) !=3D=3D 0)) throw =
Error.argumentType('value', Object.getType(value), this);
    var values =3D this.prototype;
    var i;
    if (!this.__flags || (value =3D=3D=3D 0)) {
        for (i in values) {
            if (values[i] =3D=3D=3D value) {
                return i;
            }
        }
    }
    else {
        var sorted =3D this.__sortedValues;
        if (!sorted) {
            sorted =3D [];
            for (i in values) {
                sorted[sorted.length] =3D {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues =3D sorted;
        }
        var parts =3D [];
        var v =3D value;
        for (i =3D sorted.length - 1; i >=3D 0; i--) {
            var kvp =3D sorted[i];
            var vali =3D kvp.value;
            if (vali =3D=3D=3D 0) continue;
            if ((vali & value) =3D=3D=3D vali) {
                parts[parts.length] =3D kvp.key;
                v -=3D vali;
                if (v =3D=3D=3D 0) break;
            }
        }
        if (parts.length && v =3D=3D=3D 0) return =
parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, =
String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}
Type.prototype.registerEnum =3D function Type$registerEnum(name, flags) =
{
    /// <summary locid=3D"M:J#Sys.UI.LineType.#ctor" />
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"flags" type=3D"Boolean" =
optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw =
Error.argument('name', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('name', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[name]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
name));
    for (var i in this.prototype) {
        var val =3D this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw =
Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !=3D=3D 'number' || (val % 1) !=3D=3D 0) throw =
Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    Sys.__upperCaseTypes[name.toUpperCase()] =3D this;
    for (var i in this.prototype) {
        this[i] =3D this.prototype[i];
    }
    this.__typeName =3D name;
    this.parse =3D Sys$Enum$parse;
    this.__string =3D this.toString();
    this.toString =3D Sys$Enum$toString;
    this.__flags =3D flags;
    this.__enum =3D true;
    Sys.__registeredTypes[name] =3D true;
}
Type.isEnum =3D function Type$isEnum(type) {
    /// <summary locid=3D"M:J#Type.isEnum" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__enum;
}
Type.isFlags =3D function Type$isFlags(type) {
    /// <summary locid=3D"M:J#Type.isFlags" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__flags;
}
=20
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    /// <summary locid=3D"M:J#Sys.EventHandlerList.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}
    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.addHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.removeHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        var evt =3D this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.getHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Function"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        var evt =3D this._getEvent(id);
        if (!evt || (evt.length =3D=3D=3D 0)) return null;
        evt =3D Array.clone(evt);
        return function(source, args) {
            for (var i =3D 0, l =3D evt.length; i < l; i++) {
                evt[i](source, args);
            }
        };
    }
    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] =3D [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype =3D {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,
    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
=20
Sys.EventArgs =3D function Sys$EventArgs() {
    /// <summary locid=3D"M:J#Sys.EventArgs.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty =3D new Sys.EventArgs();
=20
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    /// <summary locid=3D"M:J#Sys.CancelEventArgs.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);
    this._cancel =3D false;
}
    function Sys$CancelEventArgs$get_cancel() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.CancelEventArgs.cancel"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        this._cancel =3D value;
    }
Sys.CancelEventArgs.prototype =3D {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
=20
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    /// <summary locid=3D"M:J#Sys.INotifyPropertyChange.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyPropertyChange.propertyChanged" =
/>
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype =3D {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: =
Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');=

=20
Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <summary locid=3D"M:J#Sys.PropertyChangedEventArgs.#ctor" />
    /// <param name=3D"propertyName" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;
    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName =3D propertyName;
}
=20
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.PropertyChangedEventArgs.propertyName"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype =3D {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs'=
, Sys.EventArgs);
=20
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    /// <summary locid=3D"M:J#Sys.INotifyDisposing.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyDisposing$add_disposing(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyDisposing.disposing" />
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype =3D {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
=20
Sys.Component =3D function Sys$Component() {
    /// <summary locid=3D"M:J#Sys.Component.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}
    function Sys$Component$get_events() {
        /// <value type=3D"Sys.EventHandlerList" =
locid=3D"P:J#Sys.Component.events"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Component.id"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        if (this._idSet) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet =3D true;
        var oldId =3D this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id =3D value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Component.isInitialized"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Component.isUpdating"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        /// <summary locid=3D"E:J#Sys.Component.disposing" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        /// <summary locid=3D"E:J#Sys.Component.propertyChanged" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating =3D true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler =3D this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating =3D false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized =3D true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <summary locid=3D"M:J#Sys.Component.raisePropertyChanged" />
        /// <param name=3D"propertyName" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;
        if (!this._events) return;
        var handler =3D this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new =
Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype =3D {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, =
Sys.INotifyPropertyChange, Sys.INotifyDisposing);
function Sys$Component$_setProperties(target, properties) {
    /// <summary locid=3D"M:J#Sys.Component._setProperties" />
    /// <param name=3D"target"></param>
    /// <param name=3D"properties"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;
    var current;
    var targetType =3D Object.getType(target);
    var isObject =3D (targetType =3D=3D=3D Object) || (targetType =
=3D=3D=3D Sys.UI.DomElement);
    var isComponent =3D Sys.Component.isInstanceOfType(target) && =
!target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val =3D properties[name];
        var getter =3D isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !=3D=3D 'function') {
            var targetVal =3D target[name];
            if (!isObject && typeof(targetVal) =3D=3D=3D 'undefined') =
throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, =
name));
            if (!val || (typeof(val) !=3D=3D 'object') || (isObject && =
!targetVal)) {
                target[name] =3D val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter =3D target["set_" + name];
            if (typeof(setter) =3D=3D=3D 'function') {
                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                current =3D getter.apply(target);
                if (!(current instanceof Array)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i =3D 0, j =3D current.length, l=3D val.length; =
i < l; i++, j++) {
                    current[j] =3D val[i];
                }
            }
            else if ((typeof(val) =3D=3D=3D 'object') && =
(Object.getType(val) =3D=3D=3D Object)) {
                current =3D getter.apply(target);
                if ((typeof(current) =3D=3D=3D 'undefined') || (current =
=3D=3D=3D null)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, =
name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}
function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter =3D component["set_" + name];
        var reference =3D $find(references[name]);
        if (typeof(setter) !=3D=3D 'function') throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
        if (!reference) throw =
Error.invalidOperation(String.format(Sys.Res.referenceNotFound, =
references[name]));
        setter.apply(component, [reference]);
    }
}
var $create =3D Sys.Component.create =3D function =
Sys$Component$create(type, properties, events, references, element) {
    /// <summary locid=3D"M:J#Sys.Component.create" />
    /// <param name=3D"type" type=3D"Type"></param>
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"events" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"references" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Sys.UI.Component"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;
    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', =
String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || =
type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', =
Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', =
Sys.Res.createComponentOnDom);
    var component =3D (element ? new type(element): new type());
    var app =3D Sys.Application;
    var creatingComponents =3D app.get_isCreatingComponents();
    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw =
new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new =
Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        app._createdComponents[app._createdComponents.length] =3D =
component;
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }
    return component;
}
=20
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <summary locid=3D"M:J#Sys.UI.MouseButton.#ctor" />
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.leftButton"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.middleButton"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.rightButton"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.MouseButton.prototype =3D {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
=20
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <summary locid=3D"M:J#Sys.UI.Key.#ctor" />
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.backspace"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.tab"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.enter"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.esc"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.space"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageUp"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageDown"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.end"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.home"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.left"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.up"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.right"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.down"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.del"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.Key.prototype =3D {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
=20
Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <summary locid=3D"M:J#Sys.UI.Point.#ctor" />
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Point.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Point.y"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x =3D x;
    this.y =3D y;
}
Sys.UI.Point.registerClass('Sys.UI.Point');
=20
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <summary locid=3D"M:J#Sys.UI.Bounds.#ctor" />
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"height" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"width" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.y"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.height"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.width"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "height", type: Number, integer: true},
        {name: "width", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x =3D x;
    this.y =3D y;
    this.height =3D height;
    this.width =3D width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
=20
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.#ctor" />
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.altKey"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton" =
locid=3D"F:J#Sys.UI.DomEvent.button"></field>
    /// <field name=3D"charCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.charCode"></field>
    /// <field name=3D"clientX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientX"></field>
    /// <field name=3D"clientY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientY"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.ctrlKey"></field>
    /// <field name=3D"keyCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.keyCode"></field>
    /// <field name=3D"offsetX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetX"></field>
    /// <field name=3D"offsetY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetY"></field>
    /// <field name=3D"screenX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenX"></field>
    /// <field name=3D"screenY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenY"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.shiftKey"></field>
    /// <field name=3D"target" =
locid=3D"F:J#Sys.UI.DomEvent.target"></field>
    /// <field name=3D"type" type=3D"String" =
locid=3D"F:J#Sys.UI.DomEvent.type"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;
    var e =3D eventObject;
    var etype =3D this.type =3D e.type.toLowerCase();
    this.rawEvent =3D e;
    this.altKey =3D e.altKey;
    if (typeof(e.button) !=3D=3D 'undefined') {
        this.button =3D (typeof(e.which) !=3D=3D 'undefined') ? e.button =
:
            (e.button =3D=3D=3D 4) ? Sys.UI.MouseButton.middleButton :
            (e.button =3D=3D=3D 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (etype =3D=3D=3D 'keypress') {
        this.charCode =3D e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode =3D=3D=3D 46)) {
        this.keyCode =3D 127;
    }
    else {
        this.keyCode =3D e.keyCode;
    }
    this.clientX =3D e.clientX;
    this.clientY =3D e.clientY;
    this.ctrlKey =3D e.ctrlKey;
    this.target =3D e.target ? e.target : e.srcElement;
    if (!etype.startsWith('key')) {
        if ((typeof(e.offsetX) !=3D=3D 'undefined') && =
(typeof(e.offsetY) !=3D=3D 'undefined')) {
            this.offsetX =3D e.offsetX;
            this.offsetY =3D e.offsetY;
        }
        else if (this.target && (this.target.nodeType !=3D=3D 3) && =
(typeof(e.clientX) =3D=3D=3D 'number')) {
            var loc =3D Sys.UI.DomElement.getLocation(this.target);
            var w =3D Sys.UI.DomElement._getWindow(this.target);
            this.offsetX =3D (w.pageXOffset || 0) + e.clientX - loc.x;
            this.offsetY =3D (w.pageYOffset || 0) + e.clientY - loc.y;
        }
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
}
    function Sys$UI$DomEvent$preventDefault() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.preventDefault" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            this.rawEvent.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.stopPropagation" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            this.rawEvent.cancelBubble =3D true;
        }
    }
Sys.UI.DomEvent.prototype =3D {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler =3D Sys.UI.DomEvent.addHandler =3D function =
Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandler" />
    /// <param name=3D"element"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (eventName =3D=3D=3D "error") throw =
Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
    if (!element._events) {
        element._events =3D {};
    }
    var eventCache =3D element._events[eventName];
    if (!eventCache) {
        element._events[eventName] =3D eventCache =3D [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler =3D function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler =3D function() {
            var e =3D {};
            try {e =3D Sys.UI.DomElement._getWindow(element).event} =
catch(ex) {}
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] =3D {handler: handler, browserHandler: =
browserHandler};
}
var $addHandlers =3D Sys.UI.DomEvent.addHandlers =3D function =
Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandlers" />
    /// <param name=3D"element"></param>
    /// <param name=3D"events" type=3D"Object"></param>
    /// <param name=3D"handlerOwner" optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    for (var name in events) {
        var handler =3D events[name];
        if (typeof(handler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler =3D Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}
var $clearHandlers =3D Sys.UI.DomEvent.clearHandlers =3D function =
Sys$UI$DomEvent$clearHandlers(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.clearHandlers" />
    /// <param name=3D"element"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (element._events) {
        var cache =3D element._events;
        for (var name in cache) {
            var handlers =3D cache[name];
            for (var i =3D handlers.length - 1; i >=3D 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events =3D null;
    }
}
var $removeHandler =3D Sys.UI.DomEvent.removeHandler =3D function =
Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.removeHandler" />
    /// <param name=3D"element"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    var browserHandler =3D null;
    if ((typeof(element._events) !=3D=3D 'object') || (element._events =
=3D=3D null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache =3D element._events[eventName];
    if (!(cache instanceof Array)) throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    for (var i =3D 0, l =3D cache.length; i < l; i++) {
        if (cache[i].handler =3D=3D=3D handler) {
            browserHandler =3D cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.UI.DomEvent._ensureDomNode =3D function =
Sys$UI$DomEvent$_ensureDomNode(element) {
    if (element.tagName && (element.tagName.toUpperCase() =3D=3D=3D =
"SCRIPT")) return;
   =20
    var doc =3D element.ownerDocument || element.document || element;
    if ((typeof(element.document) !=3D=3D 'object') && (element !=3D =
doc) && (typeof(element.nodeType) !=3D=3D 'number')) {
        throw Error.argument("element", Sys.Res.argumentDomNode);
    }
}
=20
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass =3D function =
Sys$UI$DomElement$addCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.addCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (!Sys.UI.DomElement.containsCssClass(element, className)) {
        if (element.className =3D=3D=3D '') {
            element.className =3D className;
        }
        else {
            element.className +=3D ' ' + className;
        }
    }
}
Sys.UI.DomElement.containsCssClass =3D function =
Sys$UI$DomElement$containsCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.containsCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    return Array.contains(element.className.split(' '), className);
}
Sys.UI.DomElement.getBounds =3D function =
Sys$UI$DomElement$getBounds(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getBounds" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.Bounds"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var offset =3D Sys.UI.DomElement.getLocation(element);
    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || =
0, element.offsetHeight || 0);
}
var $get =3D Sys.UI.DomElement.getElementById =3D function =
Sys$UI$DomElement$getElementById(id, element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getElementById" />
    /// <param name=3D"id" type=3D"String"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns domElement=3D"true" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "id", type: String},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;
    if (!element) return document.getElementById(id);
    if (element.getElementById) return element.getElementById(id);
    var nodeQueue =3D [];
    var childNodes =3D element.childNodes;
    for (var i =3D 0; i < childNodes.length; i++) {
        var node =3D childNodes[i];
        if (node.nodeType =3D=3D 1) {
            nodeQueue[nodeQueue.length] =3D node;
        }
    }
    while (nodeQueue.length) {
        node =3D nodeQueue.shift();
        if (node.id =3D=3D id) {
            return node;
        }
        childNodes =3D node.childNodes;
        for (i =3D 0; i < childNodes.length; i++) {
            node =3D childNodes[i];
            if (node.nodeType =3D=3D 1) {
                nodeQueue[nodeQueue.length] =3D node;
            }
        }
    }
    return null;
}
switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if (element.self || element.nodeType =3D=3D=3D 9) return new =
Sys.UI.Point(0,0);
            var clientRect =3D element.getBoundingClientRect();
            if (!clientRect) {
                return new Sys.UI.Point(0,0);
            }
            var documentElement =3D =
element.ownerDocument.documentElement;
            var offsetX =3D clientRect.left - 2 + =
documentElement.scrollLeft,
                offsetY =3D clientRect.top - 2 + =
documentElement.scrollTop;
           =20
            try {
                var f =3D =
element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset =3D (f.frameBorder =3D=3D=3D "0" || =
f.frameBorder =3D=3D=3D "no") ? 2 : 0;
                    offsetX +=3D offset;
                    offsetY +=3D offset;
                }
            }
            catch(ex) {
            }   =20
           =20
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                var tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !=3D=3D "BODY") || (!previousStyle || =
previousStyle.position !=3D=3D "absolute"))) {
                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
            }
            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                    }
                    currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                    var parentPosition =3D currentStyle ? =
currentStyle.position : null;
                    if (parentPosition && (parentPosition =3D=3D=3D =
"absolute")) break;
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Opera:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName;
                offsetX +=3D parent.offsetLeft || 0;
                offsetY +=3D parent.offsetTop || 0;
            }
            var elementPosition =3D element.style.position;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
            for (var parent =3D element.parentNode; parent; parent =3D =
parent.parentNode) {
                tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D "HTML") =
&& (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow =3D=3D=3D "scroll") || =
(parent.style.overflow =3D=3D=3D "auto"))))) {
                    offsetX -=3D (parent.scrollLeft || 0);
                    offsetY -=3D (parent.scrollTop || 0);
                }
                var parentPosition =3D (parent && parent.style) ? =
parent.style.position : null;
                elementPositioned =3D elementPositioned || =
(parentPosition && (parentPosition !=3D=3D "static"));
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    default:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                if ((parent.offsetLeft || parent.offsetTop) &&
                    !((tagName =3D=3D=3D "BODY") &&
                    (!previousStyle || previousStyle.position !=3D=3D =
"absolute"))) {
                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
                if (previous !=3D=3D null && currentStyle) {
                    if ((tagName !=3D=3D "TABLE") && (tagName !=3D=3D =
"TD") && (tagName !=3D=3D "HTML")) {
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName =3D=3D=3D "TABLE" &&
                        (currentStyle.position =3D=3D=3D "relative" || =
currentStyle.position =3D=3D=3D "absolute")) {
                        offsetX +=3D parseInt(currentStyle.marginLeft) =
|| 0;
                        offsetY +=3D parseInt(currentStyle.marginTop) || =
0;
                    }
                }
            }
            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                        currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                        if (currentStyle) {
                            offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                            offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                        }
                    }
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
}
Sys.UI.DomElement.removeCssClass =3D function =
Sys$UI$DomElement$removeCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.removeCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    var currentClassName =3D ' ' + element.className + ' ';
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length)).trim();
    }
}
Sys.UI.DomElement.setLocation =3D function =
Sys$UI$DomElement$setLocation(element, x, y) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setLocation" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    var style =3D element.style;
    style.position =3D 'absolute';
    style.left =3D x + "px";
    style.top =3D y + "px";
}
Sys.UI.DomElement.toggleCssClass =3D function =
Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.toggleCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (Sys.UI.DomElement.containsCssClass(element, className)) {
        Sys.UI.DomElement.removeCssClass(element, className);
    }
    else {
        Sys.UI.DomElement.addCssClass(element, className);
    }
}
Sys.UI.DomElement.getVisibilityMode =3D function =
Sys$UI$DomElement$getVisibilityMode(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.VisibilityMode"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    return (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) ?
        Sys.UI.VisibilityMode.hide :
        Sys.UI.VisibilityMode.collapse;
}
Sys.UI.DomElement.setVisibilityMode =3D function =
Sys$UI$DomElement$setVisibilityMode(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Sys.UI.VisibilityMode"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Sys.UI.VisibilityMode}
    ]);
    if (e) throw e;
    Sys.UI.DomElement._ensureOldDisplayMode(element);
    if (element._visibilityMode !=3D=3D value) {
        element._visibilityMode =3D value;
        if (Sys.UI.DomElement.getVisible(element) =3D=3D=3D false) {
            if (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                element.style.display =3D element._oldDisplayMode;
            }
            else {
                element.style.display =3D 'none';
            }
        }
        element._visibilityMode =3D value;
    }
}
Sys.UI.DomElement.getVisible =3D function =
Sys$UI$DomElement$getVisible(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
    if (!style) return true;
    return (style.visibility !=3D=3D 'hidden') && (style.display !=3D=3D =
'none');
}
Sys.UI.DomElement.setVisible =3D function =
Sys$UI$DomElement$setVisible(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Boolean}
    ]);
    if (e) throw e;
    if (value !=3D=3D Sys.UI.DomElement.getVisible(element)) {
        Sys.UI.DomElement._ensureOldDisplayMode(element);
        element.style.visibility =3D value ? 'visible' : 'hidden';
        if (value || (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
            element.style.display =3D element._oldDisplayMode;
        }
        else {
            element.style.display =3D 'none';
        }
    }
}
Sys.UI.DomElement._ensureOldDisplayMode =3D function =
Sys$UI$DomElement$_ensureOldDisplayMode(element) {
    if (!element._oldDisplayMode) {
        var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
        element._oldDisplayMode =3D style ? style.display : null;
        if (!element._oldDisplayMode || element._oldDisplayMode =
=3D=3D=3D 'none') {
            switch(element.tagName.toUpperCase()) {
                case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': =
case 'BODY': case 'COL':
                case 'COLGROUP': case 'DD': case 'DL': case 'DT': case =
'FIELDSET': case 'FORM':
                case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': =
case 'H6': case 'HR':
                case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': =
case 'TABLE': case 'TD':
                case 'TH': case 'TR': case 'UL':
                    element._oldDisplayMode =3D 'block';
                    break;
                case 'LI':
                    element._oldDisplayMode =3D 'list-item';
                    break;
                default:
                    element._oldDisplayMode =3D 'inline';
            }
        }
    }
}
Sys.UI.DomElement._getWindow =3D function =
Sys$UI$DomElement$_getWindow(element) {
    var doc =3D element.ownerDocument || element.document || element;
    return doc.defaultView || doc.parentWindow;
}
Sys.UI.DomElement._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    if (element.nodeType =3D=3D=3D 3) return null;
    var w =3D Sys.UI.DomElement._getWindow(element);
    if (element.documentElement) element =3D element.documentElement;
    var computedStyle =3D (w && (element !=3D=3D w) && =
w.getComputedStyle) ?
        w.getComputedStyle(element, null) :
        element.currentStyle || element.style;
    if (!computedStyle && (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) && element.style) {
        var oldDisplay =3D element.style.display;
        var oldPosition =3D element.style.position;
        element.style.position =3D 'absolute';
        element.style.display =3D 'block';
        var style =3D w.getComputedStyle(element, null);
        element.style.display =3D oldDisplay;
        element.style.position =3D oldPosition;
        computedStyle =3D {};
        for (var n in style) {
            computedStyle[n] =3D style[n];
        }
        computedStyle.display =3D 'none';
    }
    return computedStyle;
}
=20
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}
    function Sys$IContainer$addComponent(component) {
        /// <summary locid=3D"M:J#Sys.IContainer.addComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <summary locid=3D"M:J#Sys.IContainer.removeComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <summary locid=3D"M:J#Sys.IContainer.findComponent" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Sys.Component"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <summary locid=3D"M:J#Sys.IContainer.getComponents" />
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype =3D {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");
=20
Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._sessions =3D [];
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}
    function Sys$_ScriptLoader$dispose() {
        this._stopSession();
        this._loading =3D false;
        if(this._events) {
            delete this._events;
        }
        this._sessions =3D null;
        this._currentSession =3D null;
        this._scriptLoadedDelegate =3D null;       =20
    }
    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.loadScripts" />
        /// <param name=3D"scriptTimeout" type=3D"Number" =
integer=3D"true"></param>
        /// <param name=3D"allScriptsLoadedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadFailedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadTimeoutCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, =
mayBeNull: true}
        ]);
        if (e) throw e;
        var session =3D {
            allScriptsLoadedCallback: allScriptsLoadedCallback,
            scriptLoadFailedCallback: scriptLoadFailedCallback,
            scriptLoadTimeoutCallback: scriptLoadTimeoutCallback,
            scriptsToLoad: this._scriptsToLoad,
            scriptTimeout: scriptTimeout };
        this._scriptsToLoad =3D null;
        this._sessions[this._sessions.length] =3D session;
       =20
        if (!this._loading) {
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.notifyScriptLoaded" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
       =20
        if(!this._loading) {
            return;
        }
        this._currentTask._notified++;
       =20
        if(Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) {          =20
            if(this._currentTask._notified =3D=3D=3D 1) {
                window.setTimeout(Function.createDelegate(this, =
function() {
                    =
this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }
    }
    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueCustomScriptTag" />
        /// <param name=3D"scriptAttributes" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }
    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.queueScriptBlock" />
        /// <param name=3D"scriptContent" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }
    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueScriptReference" />
        /// <param name=3D"scriptUrl" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }
    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement =3D document.createElement('script');
        scriptElement.type =3D 'text/javascript';
        for (var attr in queuedScript) {
            scriptElement[attr] =3D queuedScript[attr];
        }
       =20
        return scriptElement;
    }
    function Sys$_ScriptLoader$_loadScriptsInternal() {
        var session =3D this._currentSession;
        if (session.scriptsToLoad && session.scriptsToLoad.length > 0) {
            var nextScript =3D Array.dequeue(session.scriptsToLoad);
            var scriptElement =3D this._createScriptElement(nextScript);
           =20
            if (scriptElement.text && Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) {
                scriptElement.innerHTML =3D scriptElement.text;
                delete scriptElement.text;
            }           =20
            if (typeof(nextScript.src) =3D=3D=3D "string") {
                this._currentTask =3D new =
Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                this._currentTask.execute();
            }
            else {
                var headElements =3D =
document.getElementsByTagName('head');
                if (headElements.length =3D=3D=3D 0) {
                     throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
                }
                else {
                     headElements[0].appendChild(scriptElement);
                }
               =20
               =20
                Sys._ScriptLoader._clearScript(scriptElement);
                this._loadScriptsInternal();
            }
        }
        else {
            this._stopSession();
            var callback =3D session.allScriptsLoadedCallback;
            if(callback) {
                callback(this);
            }
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$_nextSession() {
        if (this._sessions.length =3D=3D=3D 0) {
            this._loading =3D false;
            this._currentSession =3D null;
            return;
        }
        this._loading =3D true;
       =20
        var session =3D Array.dequeue(this._sessions);
        this._currentSession =3D session;
        this._loadScriptsInternal();
    }
    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
        var callback =3D this._currentSession.scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopSession();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
            this._nextSession();
        }
        else {
            this._loading =3D false;
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, =
multipleCallbacks);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, =
loaded) {
        if(loaded && this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                this._raiseError(true);
            }
            else {
                Array.add(Sys._ScriptLoader._getLoadedScripts(), =
scriptElement.src);
                this._currentTask.dispose();
                this._currentTask =3D null;
                this._loadScriptsInternal();
            }
        }
        else {
            this._raiseError(false);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback =3D this._currentSession.scriptLoadTimeoutCallback;
        this._stopSession();
        if(callback) {
            callback(this);
        }
        this._nextSession();
    }
    function Sys$_ScriptLoader$_stopSession() {
        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
    loadScripts: Sys$_ScriptLoader$loadScripts,
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,
    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,
    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,
    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
    _nextSession: Sys$_ScriptLoader$_nextSession,
    _raiseError: Sys$_ScriptLoader$_raiseError,
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
    _stopSession: Sys$_ScriptLoader$_stopSession   =20
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, =
Sys.IDisposable);
Sys._ScriptLoader.getInstance =3D function =
Sys$_ScriptLoader$getInstance() {
    var sl =3D Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl =3D Sys._ScriptLoader._activeInstance =3D new =
Sys._ScriptLoader();
    }
    return sl;
}
Sys._ScriptLoader.isScriptLoaded =3D function =
Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
    var dummyScript =3D document.createElement('script');
    dummyScript.src =3D scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), =
dummyScript.src);
}
Sys._ScriptLoader.readLoadedScripts =3D function =
Sys$_ScriptLoader$readLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts =3D Sys._ScriptLoader._referencedScripts =
=3D [];
        var existingScripts =3D document.getElementsByTagName('script');
        for (i =3D existingScripts.length - 1; i >=3D 0; i--) {
            var scriptNode =3D existingScripts[i];
            var scriptSrc =3D scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}
Sys._ScriptLoader._clearScript =3D function =
Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
        scriptElement.parentNode.removeChild(scriptElement);
    }
}
Sys._ScriptLoader._errorScriptLoadFailed =3D function =
Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage =3D Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
        errorMessage =3D Sys.Res.scriptLoadFailedDebug;
    }
    var displayMessage =3D "Sys.ScriptLoadFailedException: " + =
String.format(errorMessage, scriptUrl);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}
Sys._ScriptLoader._getLoadedScripts =3D function =
Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts =3D [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}
=20
Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.#ctor" />
    /// <param name=3D"scriptElement" domElement=3D"true"></param>
    /// <param name=3D"completedCallback" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;
    this._scriptElement =3D scriptElement;
    this._completedCallback =3D completedCallback;
    this._notified =3D 0;
}
    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement=3D"true" =
locid=3D"P:J#Sys._ScriptLoaderTask.scriptElement"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._scriptElement;
    }
    function Sys$_ScriptLoaderTask$dispose() {
        if(this._disposed) {
            return;
        }
        this._disposed =3D true;
        this._removeScriptElementHandlers();
        Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement =3D null;
    }
    function Sys$_ScriptLoaderTask$execute() {
        /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.execute" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        var headElements =3D document.getElementsByTagName('head');
        if (headElements.length =3D=3D=3D 0) {
             throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
        }
        else {
             headElements[0].appendChild(this._scriptElement);
        }
    }
    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
        this._scriptLoadDelegate =3D Function.createDelegate(this, =
this._scriptLoadHandler);
       =20
        if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState =3D 'loaded';
            $addHandler(this._scriptElement, 'load', =
this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
        }   =20
        if (this._scriptElement.addEventListener) {
            this._scriptErrorDelegate =3D Function.createDelegate(this, =
this._scriptErrorHandler);
            this._scriptElement.addEventListener('error', =
this._scriptErrorDelegate, false);
        }
    }
    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
        if(this._scriptLoadDelegate) {
            var scriptElement =3D this.get_scriptElement();
            if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) =
{
                $removeHandler(scriptElement, 'load', =
this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
            }
            if (this._scriptErrorDelegate) {
                this._scriptElement.removeEventListener('error', =
this._scriptErrorDelegate, false);
                this._scriptErrorDelegate =3D null;
            }
            this._scriptLoadDelegate =3D null;
        }
    }
    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
        if(this._disposed) {
            return;
        }
       =20
        this._completedCallback(this.get_scriptElement(), false);
    }
    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
        if(this._disposed) {
            return;
        }
        var scriptElement =3D this.get_scriptElement();
        if ((scriptElement.readyState !=3D=3D 'loaded') &&
            (scriptElement.readyState !=3D=3D 'complete')) {
            return;
        }
       =20
        var _this =3D this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype =3D {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
    dispose: Sys$_ScriptLoaderTask$dispose,
    execute: Sys$_ScriptLoaderTask$execute,
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20
    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
=20
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <summary locid=3D"M:J#Sys.ApplicationLoadEventArgs.#ctor" />
    /// <param name=3D"components" type=3D"Array" =
elementType=3D"Sys.Component"></param>
    /// <param name=3D"isPartialLoad" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;
    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components =3D components;
    this._isPartialLoad =3D isPartialLoad;
}
=20
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type=3D"Array" elementType=3D"Sys.Component" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.components"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype =3D {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs'=
, Sys.EventArgs);
Sys.HistoryEventArgs =3D function Sys$HistoryEventArgs(state) {
    /// <summary locid=3D"M:J#Sys.HistoryEventArgs.#ctor" />
    /// <param name=3D"state" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "state", type: Object}
    ]);
    if (e) throw e;
    Sys.HistoryEventArgs.initializeBase(this);
    this._state =3D state;
}
    function Sys$HistoryEventArgs$get_state() {
        /// <value type=3D"Object" =
locid=3D"P:J#Sys.HistoryEventArgs.state"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._state;
    }
Sys.HistoryEventArgs.prototype =3D {
    get_state: Sys$HistoryEventArgs$get_state
}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', =
Sys.EventArgs);
=20
Sys._Application =3D function Sys$_Application() {
    /// <summary locid=3D"M:J#Sys.Application.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys._Application.initializeBase(this);
    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];
    this._appLoadHandler =3D null;
    this._beginRequestHandler =3D null;
    this._clientId =3D null;
    this._currentEntry =3D '';
    this._endRequestHandler =3D null;
    this._history =3D null;
    this._enableHistory =3D false;
    this._historyEnabledInScriptManager =3D false;
    this._historyFrame =3D null;
    this._historyInitialized =3D false;
    this._historyInitialLength =3D 0;
    this._historyLength =3D 0;
    this._historyPointIsNew =3D false;
    this._ignoreTimer =3D false;
    this._initialState =3D null;
    this._state =3D {};
    this._timerCookie =3D 0;
    this._timerHandler =3D null;
    this._uniqueId =3D null;
    this._unloadHandlerDelegate =3D Function.createDelegate(this, =
this._unloadHandler);
    this._loadHandlerDelegate =3D Function.createDelegate(this, =
this._loadHandler);
    Sys.UI.DomEvent.addHandler(window, "unload", =
this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", =
this._loadHandlerDelegate);
}
    function Sys$_Application$get_isCreatingComponents() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Application.isCreatingComponents"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$get_stateString() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Application.stateString"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var hash =3D window.location.hash;
        if (this._isSafari2()) {
            var history =3D this._getHistory();
            if (history) {
                hash =3D history[window.history.length - =
this._historyInitialLength];
            }
        }
        if ((hash.length > 0) && (hash.charAt(0) =3D=3D=3D '#')) {
            hash =3D hash.substring(1);
        }
        if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Firefox) {
            hash =3D this._serializeState(this._deserializeState(hash, =
true));
        }
        return hash;
    }
    function Sys$_Application$get_enableHistory() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Application.enableHistory"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._enableHistory;
    }
    function Sys$_Application$set_enableHistory(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        if (this._initialized && !this._initializing) {
            throw =
Error.invalidOperation(Sys.Res.historyCannotEnableHistory);
        }
        else if (this._historyEnabledInScriptManager && !value) {
            throw =
Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);
        }
        this._enableHistory =3D value;
    }
    function Sys$_Application$add_init(handler) {
        /// <summary locid=3D"E:J#Sys.Application.init" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_load(handler) {
        /// <summary locid=3D"E:J#Sys.Application.load" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_navigate(handler) {
        /// <summary locid=3D"E:J#Sys.Application.navigate" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("navigate", handler);
    }
    function Sys$_Application$remove_navigate(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("navigate", handler);
    }
    function Sys$_Application$add_unload(handler) {
        /// <summary locid=3D"E:J#Sys.Application.unload" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <summary locid=3D"M:J#Sys.Application.addComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id =3D component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, =
id));
        this._components[id] =3D component;
    }
    function Sys$_Application$addHistoryPoint(state, title) {
        /// <summary locid=3D"M:J#Sys.Application.addHistoryPoint" />
        /// <param name=3D"state" type=3D"Object"></param>
        /// <param name=3D"title" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "state", type: Object},
            {name: "title", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        if (!this._enableHistory) throw =
Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDis=
abled);
        for (var n in state) {
            var v =3D state[n];
            var t =3D typeof(v);
            if ((v !=3D=3D null) && ((t =3D=3D=3D 'object') || (t =
=3D=3D=3D 'function') || (t =3D=3D=3D 'undefined'))) {
                throw Error.argument('state', =
Sys.Res.stateMustBeStringDictionary);
            }
        }
        this._ensureHistory();
        var initialState =3D this._state;
        for (var key in state) {
            var value =3D state[key];
            if (value =3D=3D=3D null) {
                if (typeof(initialState[key]) !=3D=3D 'undefined') {
                    delete initialState[key];
                }
            }
            else {
                initialState[key] =3D value;
            }
        }
        var entry =3D this._serializeState(initialState);
        this._historyPointIsNew =3D true;
        this._setState(entry, title);
        this._raiseNavigate();
    }
    function Sys$_Application$beginCreateComponents() {
        /// <summary locid=3D"M:J#Sys.Application.beginCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        /// <summary locid=3D"M:J#Sys.Application.dispose" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._disposing) {
            this._disposing =3D true;
            if (this._timerCookie) {
                window.clearTimeout(this._timerCookie);
                delete this._timerCookie;
            }
            if (this._endRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._end=
RequestHandler);
                delete this._endRequestHandler;
            }
            if (this._beginRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._b=
eginRequestHandler);
                delete this._beginRequestHandler;
            }
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler =3D =
this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects =3D =
Array.clone(this._disposableObjects);
            for (var i =3D 0, l =3D disposableObjects.length; i < l; =
i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);
            Sys.UI.DomEvent.removeHandler(window, "unload", =
this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
                this._loadHandlerDelegate =3D null;
            }
            var sl =3D Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }
            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        /// <summary locid=3D"M:J#Sys.Application.endCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var components =3D this._secondPassComponents;
        for (var i =3D 0, l =3D components.length; i < l; i++) {
            var component =3D components[i].component;
            Sys$Component$_setReferences(component, =
components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents =3D [];
        this._creatingComponents =3D false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <summary locid=3D"M:J#Sys.Application.findComponent" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"parent" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"Sys.Component" =
mayBeNull=3D"true"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <summary locid=3D"M:J#Sys.Application.getComponents" />
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var res =3D [];
        var components =3D this._components;
        for (var name in components) {
            res[res.length] =3D components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        /// <summary locid=3D"M:J#Sys.Application.initialize" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
            window.setTimeout(Function.createDelegate(this, =
this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#Sys.Application.notifyScriptLoaded" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var sl =3D Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <summary =
locid=3D"M:J#Sys.Application.registerDisposableObject" />
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] =3D =
object;
        }
    }
    function Sys$_Application$raiseLoad() {
        /// <summary locid=3D"M:J#Sys.Application.raiseLoad" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var h =3D this.get_events().getHandler("load");
        var args =3D new =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), =
!this._initializing);
        if (h) {
            h(this, args);
        }
        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents =3D [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <summary locid=3D"M:J#Sys.Application.removeComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id =3D component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$setServerId(clientId, uniqueId) {
        /// <summary locid=3D"M:J#Sys.Application.setServerId" />
        /// <param name=3D"clientId" type=3D"String"></param>
        /// <param name=3D"uniqueId" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "clientId", type: String},
            {name: "uniqueId", type: String}
        ]);
        if (e) throw e;
        this._clientId =3D clientId;
        this._uniqueId =3D uniqueId;
    }
    function Sys$_Application$setServerState(value) {
        /// <summary locid=3D"M:J#Sys.Application.setServerState" />
        /// <param name=3D"value" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "value", type: String}
        ]);
        if (e) throw e;
        this._ensureHistory();
        this._state.__s =3D value;
        this._updateHiddenField(value);
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <summary =
locid=3D"M:J#Sys.Application.unregisterDisposableObject" />
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, =
references) {
        this._secondPassComponents[this._secondPassComponents.length] =
=3D {component: component, references: references};
    }
    function Sys$_Application$_deserializeState(entry, skipDecodeUri) {
        var result =3D {};
        entry =3D entry || '';
        var serverSeparator =3D entry.indexOf('&&');
        if ((serverSeparator !=3D=3D -1) && (serverSeparator + 2 < =
entry.length)) {
            result.__s =3D entry.substr(serverSeparator + 2);
            entry =3D entry.substr(0, serverSeparator);
        }
        var tokens =3D entry.split('&');
        for (var i =3D 0, l =3D tokens.length; i < l; i++) {
            var token =3D tokens[i];
            var equal =3D token.indexOf('=3D');
            if ((equal !=3D=3D -1) && (equal + 1 < token.length)) {
                var name =3D token.substr(0, equal);
                var value =3D token.substr(equal + 1);
                result[name] =3D skipDecodeUri ? value : =
decodeURIComponent(value);
            }
        }
        return result;
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');
       =20
        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        if (Sys.WebForms) {
            this._beginRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerBeginRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._begi=
nRequestHandler);
            this._endRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerEndRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endReq=
uestHandler);
        }
       =20
        var loadedEntry =3D this.get_stateString();
        if (loadedEntry !=3D=3D this._currentEntry) {
            this._navigate(loadedEntry);
        }
=20
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_enableHistoryInScriptManager() {
        this._enableHistory =3D true;
        this._historyEnabledInScriptManager =3D true;
    }
    function Sys$_Application$_ensureHistory() {
        if (!this._historyInitialized && this._enableHistory) {
            if ((Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) {
                this._historyFrame =3D =
document.getElementById('__historyFrame');
                if (!this._historyFrame) throw =
Error.invalidOperation(Sys.Res.historyMissingFrame);
                this._ignoreIFrame =3D true;
            }
            if (this._isSafari2()) {
                var historyElement =3D =
document.getElementById('__history');
                if (!historyElement) throw =
Error.invalidOperation(Sys.Res.historyMissingHiddenInput);
                this._setHistory([window.location.hash]);
                this._historyInitialLength =3D window.history.length;
            }
           =20
            this._timerHandler =3D Function.createDelegate(this, =
this._onIdle);
            this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
           =20
            try {
                this._initialState =3D =
this._deserializeState(this.get_stateString());
            } catch(e) {}
           =20
            this._historyInitialized =3D true;
        }
    }
    function Sys$_Application$_getHistory() {
        var historyElement =3D document.getElementById('__history');
        if (!historyElement) return '';
        var v =3D historyElement.value;
        return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, =
true) : '';
    }
    function Sys$_Application$_isSafari2() {
        return (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) &&
            (Sys.Browser.version <=3D 419.3);
    }
    function Sys$_Application$_loadHandler() {
        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_navigate(entry) {
        this._ensureHistory();
        var state =3D this._deserializeState(entry);
       =20
        if (this._uniqueId) {
            var oldServerEntry =3D this._state.__s || '';
            var newServerEntry =3D state.__s || '';
            if (newServerEntry !=3D=3D oldServerEntry) {
                this._updateHiddenField(newServerEntry);
                __doPostBack(this._uniqueId, newServerEntry);
                this._state =3D state;
                return;
            }
        }
        this._setState(entry);
        this._state =3D state;
        this._raiseNavigate();
    }
    function Sys$_Application$_onIdle() {
        delete this._timerCookie;
       =20
        var entry =3D this.get_stateString();
        if (entry !=3D=3D this._currentEntry) {
            if (!this._ignoreTimer) {
                this._historyPointIsNew =3D false;
                this._navigate(entry);
                this._historyLength =3D window.history.length;
            }
        }
        else {
            this._ignoreTimer =3D false;
        }
        this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
    }
    function Sys$_Application$_onIFrameLoad(entry) {
        this._ensureHistory();
        if (!this._ignoreIFrame) {
            this._historyPointIsNew =3D false;
            this._navigate(entry);
        }
        this._ignoreIFrame =3D false;
    }
    function Sys$_Application$_onPageRequestManagerBeginRequest(sender, =
args) {
        this._ignoreTimer =3D true;
    }
    function Sys$_Application$_onPageRequestManagerEndRequest(sender, =
args) {
        var dataItem =3D args.get_dataItems()[this._clientId];
        var eventTarget =3D document.getElementById("__EVENTTARGET");
        if (eventTarget && eventTarget.value =3D=3D=3D this._uniqueId) {
            eventTarget.value =3D '';
        }
        if (typeof(dataItem) !=3D=3D 'undefined') {
            this.setServerState(dataItem);
            this._historyPointIsNew =3D true;
        }
        else {
            this._ignoreTimer =3D false;
        }
        var entry =3D this._serializeState(this._state);
        if (entry !=3D=3D this._currentEntry) {
            this._ignoreTimer =3D true;
            this._setState(entry);
            this._raiseNavigate();
        }
    }
    function Sys$_Application$_raiseNavigate() {
        var h =3D this.get_events().getHandler("navigate");
        var stateClone =3D {};
        for (var key in this._state) {
            if (key !=3D=3D '__s') {
                stateClone[key] =3D this._state[key];
            }
        }
        var args =3D new Sys.HistoryEventArgs(stateClone);
        if (h) {
            h(this, args);
        }
    }
    function Sys$_Application$_serializeState(state) {
        var serialized =3D [];
        for (var key in state) {
            var value =3D state[key];
            if (key =3D=3D=3D '__s') {
                var serverState =3D value;
            }
            else {
                if (key.indexOf('=3D') !=3D=3D -1) throw =
Error.argument('state', Sys.Res.stateFieldNameInvalid);
                serialized[serialized.length] =3D key + '=3D' + =
encodeURIComponent(value);
            }
        }
        return serialized.join('&') + (serverState ? '&&' + serverState =
: '');
    }
    function Sys$_Application$_setHistory(historyArray) {
        var historyElement =3D document.getElementById('__history');
        if (historyElement) {
            historyElement.value =3D =
Sys.Serialization.JavaScriptSerializer.serialize(historyArray);
        }
    }
    function Sys$_Application$_setState(entry, title) {
        entry =3D entry || '';
        if (entry !=3D=3D this._currentEntry) {
            if (window.theForm) {
                var action =3D window.theForm.action;
                var hashIndex =3D action.indexOf('#');
                window.theForm.action =3D ((hashIndex !=3D=3D -1) ? =
action.substring(0, hashIndex) : action) + '#' + entry;
            }
           =20
            if (this._historyFrame && this._historyPointIsNew) {
                this._ignoreIFrame =3D true;
                this._historyPointIsNew =3D false;
                var frameDoc =3D =
this._historyFrame.contentWindow.document;
                frameDoc.open("javascript:'<html></html>'");
                frameDoc.write("<html><head><title>" + (title || =
document.title) +
                    "</title><scri" + "pt =
type=3D\"text/javascript\">parent.Sys.Application._onIFrameLoad('" +=20
                    entry + "');</scri" + =
"pt></head><body></body></html>");
                frameDoc.close();
            }
            this._ignoreTimer =3D false;
            var currentHash =3D this.get_stateString();
            this._currentEntry =3D entry;
            if (entry !=3D=3D currentHash) {
                var loc =3D document.location;
                if (loc.href.length - loc.hash.length + entry.length > =
1024) {
                    throw =
Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars);
                }
                if (this._isSafari2()) {
                    var history =3D this._getHistory();
                    history[window.history.length - =
this._historyInitialLength + 1] =3D entry;
                    this._setHistory(history);
                    this._historyLength =3D window.history.length + 1;
                    var form =3D document.createElement('form');
                    form.method =3D 'get';
                    form.action =3D '#' + entry;
                    document.appendChild(form);
                    form.submit();
                    document.removeChild(form);
                }
                else {
                    window.location.hash =3D entry;
                }
                if ((typeof(title) !=3D=3D 'undefined') && (title =
!=3D=3D null)) {
                    document.title =3D title;
                }
            }
        }
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
    function Sys$_Application$_updateHiddenField(value) {
        if (this._clientId) {
            var serverStateField =3D =
document.getElementById(this._clientId);
            if (serverStateField) {
                serverStateField.value =3D value;
            }
        }
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,
    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    get_stateString: Sys$_Application$get_stateString,
    get_enableHistory: Sys$_Application$get_enableHistory,
    set_enableHistory: Sys$_Application$set_enableHistory,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_navigate: Sys$_Application$add_navigate,
    remove_navigate: Sys$_Application$remove_navigate,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    addHistoryPoint: Sys$_Application$addHistoryPoint,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    setServerId: Sys$_Application$setServerId,
    setServerState: Sys$_Application$setServerState,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _deserializeState: Sys$_Application$_deserializeState,
    _doInitialize: Sys$_Application$_doInitialize,
    _enableHistoryInScriptManager: =
Sys$_Application$_enableHistoryInScriptManager,   =20
    _ensureHistory: Sys$_Application$_ensureHistory,
    _getHistory: Sys$_Application$_getHistory,
    _isSafari2: Sys$_Application$_isSafari2,
    _loadHandler: Sys$_Application$_loadHandler,
    _navigate: Sys$_Application$_navigate,
    _onIdle: Sys$_Application$_onIdle,
    _onIFrameLoad: Sys$_Application$_onIFrameLoad,
    _onPageRequestManagerBeginRequest: =
Sys$_Application$_onPageRequestManagerBeginRequest,
    _onPageRequestManagerEndRequest: =
Sys$_Application$_onPageRequestManagerEndRequest,
    _raiseNavigate: Sys$_Application$_raiseNavigate,
    _serializeState: Sys$_Application$_serializeState,
    _setHistory: Sys$_Application$_setHistory,
    _setState: Sys$_Application$_setState,
    _unloadHandler: Sys$_Application$_unloadHandler,
    _updateHiddenField: Sys$_Application$_updateHiddenField
}
Sys._Application.registerClass('Sys._Application', Sys.Component, =
Sys.IContainer);
Sys.Application =3D new Sys._Application();
var $find =3D Sys.Application.findComponent;
Type.registerNamespace('Sys.Net');
=20
Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._webRequest =3D null;
    this._resultObject =3D null;
}
    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.webRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'set_webRequest'));
        }
        this._webRequest =3D value;
    }
    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseData"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusText"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value locid=3D"P:J#Sys.Net.WebRequestExecutor.xml"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value =
locid=3D"P:J#Sys.Net.WebRequestExecutor.object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData(=
));
        }
        return this._resultObject;
    }
    function Sys$Net$WebRequestExecutor$executeRequest() {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.executeRequest" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.abort" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />
        /// <param name=3D"header" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype =3D {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,
    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,
    get_started: Sys$Net$WebRequestExecutor$get_started,
    get_responseAvailable: =
Sys$Net$WebRequestExecutor$get_responseAvailable,
    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,
    executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
=20
Sys.Net.XMLDOM =3D function Sys$Net$XMLDOM(markup) {
    /// <summary locid=3D"M:J#Sys.Net.XMLDOM.#ctor" />
    /// <param name=3D"markup" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "markup", type: String}
    ]);
    if (e) throw e;
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
    }
    else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        }
        catch (ex) {
        }
    }
    return null;
}
Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.XMLHttpExecutor.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Net.XMLHttpExecutor.initializeBase(this);
    var _this =3D this;
    this._xmlHttpRequest =3D null;
    this._webRequest =3D null;
    this._responseAvailable =3D false;
    this._timedOut =3D false;
    this._timer =3D null;
    this._aborted =3D false;
    this._started =3D false;
    this._onReadyStateChange =3D (function () {
       =20
        if (_this._xmlHttpRequest.readyState =3D=3D=3D 4 ) {
            try {
                if (typeof(_this._xmlHttpRequest.status) =3D=3D=3D =
"undefined") {
                    return;
                }
            }
            catch(ex) {
                return;
            }
           =20
            _this._clearTimer();
            _this._responseAvailable =3D true;
            try {
                _this._webRequest.completed(Sys.EventArgs.Empty);
            }
            finally {
                if (_this._xmlHttpRequest !=3D null) {
                    _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                    _this._xmlHttpRequest =3D null;
                }
            }
        }
    });
    this._clearTimer =3D (function() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    });
    this._onTimeout =3D (function() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut =3D true;
            _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest =3D null;
        }
    });
}
    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }
    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._responseAvailable;
    }
    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }
    function Sys$Net$XMLHttpExecutor$executeRequest() {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.executeRequest" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._webRequest =3D this.get_webRequest();
        if (this._started) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'executeRequest'));
        }
        if (this._webRequest =3D=3D=3D null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }
        var body =3D this._webRequest.get_body();
        var headers =3D this._webRequest.get_headers();
        this._xmlHttpRequest =3D new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange =3D =
this._onReadyStateChange;
        var verb =3D this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, =
this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val =3D headers[header];
                if (typeof(val) !=3D=3D "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }
        if (verb.toLowerCase() =3D=3D=3D "post") {
            if ((headers =3D=3D=3D null) || !headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded; charset=3Dutf-8');
            }
            if (!body) {
                body =3D "";
            }
        }
        var timeout =3D this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer =3D =
window.setTimeout(Function.createDelegate(this, this._onTimeout), =
timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started =3D true;
    }
    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" />
        /// <param name=3D"header" type=3D"String"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getResponseHeader'));
        }
        var result;
        try {
            result =3D this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result =3D "";
        return result;
    }
    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.getAllResponseHeaders" />
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getAllResponseHeaders'));
        }
        return this._xmlHttpRequest.getAllResponseHeaders();
    }
    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseData"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_responseData'));
        }
        return this._xmlHttpRequest.responseText;
    }
    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusCode'));
        }
        var result =3D 0;
        try {
            result =3D this._xmlHttpRequest.status;
        }
        catch(ex) {
        }
        return result;
    }
    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusText"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusText'));
        }
        return this._xmlHttpRequest.statusText;
    }
    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value locid=3D"P:J#Sys.Net.XMLHttpExecutor.xml"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_xml'));
        }
        var xml =3D this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {
            xml =3D Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);
            if (!xml || !xml.documentElement)
                return null;
        }
        else if (navigator.userAgent.indexOf('MSIE') !=3D=3D -1) {
            xml.setProperty('SelectionLanguage', 'XPath');
        }
        if (xml.documentElement.namespaceURI =3D=3D=3D =
"http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        if (xml.documentElement.firstChild && =
xml.documentElement.firstChild.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        return xml;
    }
    function Sys$Net$XMLHttpExecutor$abort() {
        /// <summary locid=3D"M:J#Sys.Net.XMLHttpExecutor.abort" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._started) {
            throw =
Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }
        if (this._aborted || this._responseAvailable || this._timedOut)
            return;
        this._aborted =3D true;
        this._clearTimer();
        if (this._xmlHttpRequest && !this._responseAvailable) {
            this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            this._xmlHttpRequest.abort();
           =20
            this._xmlHttpRequest =3D null;           =20
            this._webRequest.completed(Sys.EventArgs.Empty);
        }
    }
Sys.Net.XMLHttpExecutor.prototype =3D {
    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,
    get_started: Sys$Net$XMLHttpExecutor$get_started,
    get_responseAvailable: =
Sys$Net$XMLHttpExecutor$get_responseAvailable,
    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,
    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,
    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,
    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,
    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,
    get_xml: Sys$Net$XMLHttpExecutor$get_xml,
    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', =
Sys.Net.WebRequestExecutor);
=20
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    /// <summary locid=3D"P:J#Sys.Net.WebRequestManager.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}
    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.invokingRequest" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.completedRequest" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultTimeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }
        this._defaultTimeout =3D value;
    }
    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultExecutorType"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._defaultExecutorType =3D value;
    }
    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestManager.executeRequest" />
        /// <param name=3D"webRequest" =
type=3D"Sys.Net.WebRequest"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;
        var executor =3D webRequest.get_executor();
        if (!executor) {
            var failed =3D false;
            try {
                var executorType =3D eval(this._defaultExecutorType);
                executor =3D new executorType();
            } catch (e) {
                failed =3D true;
            }
            if (failed  || =
!Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", =
String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }
            webRequest.set_executor(executor);
        }
        if (executor.get_aborted()) {
            return;
        }
        var evArgs =3D new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler =3D =
this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }
        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype =3D {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: =
Sys$Net$_WebRequestManager$remove_invokingRequest,
    add_completedRequest: =
Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: =
Sys$Net$_WebRequestManager$remove_completedRequest,
    _get_eventHandlerList: =
Sys$Net$_WebRequestManager$_get_eventHandlerList,
    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,
    get_defaultExecutorType: =
Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: =
Sys$Net$_WebRequestManager$set_defaultExecutorType,
    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');
Sys.Net.WebRequestManager =3D new Sys.Net._WebRequestManager();
=20
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <summary locid=3D"M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />
    /// <param name=3D"webRequest" type=3D"Sys.Net.WebRequest"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;
    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest =3D webRequest;
}
    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest" =
locid=3D"P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype =3D {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEven=
tArgs', Sys.CancelEventArgs);
=20
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequest.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._url =3D "";
    this._headers =3D { };
    this._body =3D null;
    this._userContext =3D null;
    this._httpVerb =3D null;
    this._executor =3D null;
    this._invokeCalled =3D false;
    this._timeout =3D 0;
}
    function Sys$Net$WebRequest$add_completed(handler) {
    /// <summary locid=3D"E:J#Sys.Net.WebRequest.completed" />
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().removeHandler("completed", =
handler);
    }
    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.completed" />
        /// <param name=3D"eventArgs" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var handler =3D =
Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRe=
quest");
        if (handler) {
            handler(this._executor, eventArgs);
        }
        handler =3D =
this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }
    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$WebRequest$get_url() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequest.url"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._url =3D value;
    }
    function Sys$Net$WebRequest$get_headers() {
        /// <value locid=3D"P:J#Sys.Net.WebRequest.headers"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }
    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequest.httpVerb"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._httpVerb =3D=3D=3D null) {
            if (this._body =3D=3D=3D null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        if (value.length =3D=3D=3D 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }
        this._httpVerb =3D value;
    }
    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebRequest.body"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._body =3D value;
    }
    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebRequest.userContext"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._userContext =3D value;
    }
    function Sys$Net$WebRequest$get_executor() {
        /// <value type=3D"Sys.Net.WebRequestExecutor" =
locid=3D"P:J#Sys.Net.WebRequest.executor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;
        if (this._executor !=3D=3D null && this._executor.get_started()) =
{
            throw =
Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }
        this._executor =3D value;
        this._executor._set_webRequest(this);
    }
    function Sys$Net$WebRequest$get_timeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequest.timeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._timeout =3D=3D=3D 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }
        this._timeout =3D value;
    }
    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.getResolvedUrl" />
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }
    function Sys$Net$WebRequest$invoke() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.invoke" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }
        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled =3D true;
    }
Sys.Net.WebRequest.prototype =3D {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,
    completed: Sys$Net$WebRequest$completed,
    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,
    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,
    get_headers: Sys$Net$WebRequest$get_headers,
    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,
    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,
    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,
    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,
    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,
    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,
    invoke: Sys$Net$WebRequest$invoke
}
Sys.Net.WebRequest._resolveUrl =3D function =
Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
    if (url && url.indexOf('://') !=3D=3D -1) {
        return url;
    }
    if (!baseUrl || baseUrl.length =3D=3D=3D 0) {
        var baseElement =3D document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > =
0) {
            baseUrl =3D baseElement.href;
        }
        else {
            baseUrl =3D document.URL;
        }
    }
    var qsStart =3D baseUrl.indexOf('?');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    qsStart =3D baseUrl.indexOf('#');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    baseUrl =3D baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);
    if (!url || url.length =3D=3D=3D 0) {
        return baseUrl;
    }
    if (url.charAt(0) =3D=3D=3D '/') {
        var slashslash =3D baseUrl.indexOf('://');
        if (slashslash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }
        var nextSlash =3D baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }
        return baseUrl.substr(0, nextSlash) + url;
    }
    else {
        var lastSlash =3D baseUrl.lastIndexOf('/');
        if (lastSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }
        return baseUrl.substr(0, lastSlash+1) + url;
    }
}
Sys.Net.WebRequest._createQueryString =3D function =
Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
    if (!encodeMethod)
        encodeMethod =3D encodeURIComponent;
    var sb =3D new Sys.StringBuilder();
    var i =3D 0;
    for (var arg in queryString) {
        var obj =3D queryString[arg];
        if (typeof(obj) =3D=3D=3D "function") continue;
        var val =3D =
Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !=3D=3D 0) {
            sb.append('&');
        }
        sb.append(arg);
        sb.append('=3D');
        sb.append(encodeMethod(val));
        i++;
    }
    return sb.toString();
}
Sys.Net.WebRequest._createUrl =3D function =
Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }
    var qs =3D Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep =3D '?';
        if (url && url.indexOf('?') !=3D=3D -1)
            sep =3D '&';
        return url + sep + qs;
    } else {
        return url;
    }
}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
=20
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebServiceProxy.timeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) { throw Error.argumentOutOfRange('value', value, =
Sys.Res.invalidTimeout); }
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceProxy.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy._invoke" />
        /// <param name=3D"servicePath" type=3D"String"></param>
        /// <param name=3D"methodName" type=3D"String"></param>
        /// <param name=3D"useGet" type=3D"Boolean"></param>
        /// <param name=3D"params"></param>
        /// <param name=3D"onSuccess" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"onFailure" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
        /// <returns type=3D"Sys.Net.WebRequest"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, =
optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        if (onSuccess =3D=3D=3D null || typeof onSuccess =3D=3D=3D =
'undefined') onSuccess =3D this.get_defaultSucceededCallback();
        if (onFailure =3D=3D=3D null || typeof onFailure =3D=3D=3D =
'undefined') onFailure =3D this.get_defaultFailedCallback();
        if (userContext =3D=3D=3D null || typeof userContext =3D=3D=3D =
'undefined') userContext =3D this.get_defaultUserContext();
       =20
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype =3D {
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_path: Sys$Net$WebServiceProxy$get_path,
    set_path: Sys$Net$WebServiceProxy$set_path,
    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke =3D function =
Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, =
onSuccess, onFailure, userContext, timeout) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy.invoke" />
    /// <param name=3D"servicePath" type=3D"String"></param>
    /// <param name=3D"methodName" type=3D"String"></param>
    /// <param name=3D"useGet" type=3D"Boolean" =
optional=3D"true"></param>
    /// <param name=3D"params" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onSuccess" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onFailure" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"timeout" type=3D"Number" =
optional=3D"true"></param>
    /// <returns type=3D"Sys.Net.WebRequest"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: =
true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: =
true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;
    var request =3D new Sys.Net.WebRequest();
    request.get_headers()['Content-Type'] =3D 'application/json; =
charset=3Dutf-8';
    if (!params) params =3D {};
    var urlParams =3D params;
    if (!useGet || !urlParams) urlParams =3D {};
    =
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURICo=
mponent(methodName), urlParams));
    var body =3D null;
    if (!useGet) {
        body =3D =
Sys.Serialization.JavaScriptSerializer.serialize(params);
        if (body =3D=3D=3D "{}") body =3D "";
    }
    request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();
    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode =3D response.get_statusCode();
            var result =3D null;
          =20
            try {
                var contentType =3D =
response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result =3D response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result =3D response.get_xml();
                }
                else {
                    result =3D response.get_responseData();
                }
            } catch (ex) {
            }
            var error =3D response.getResponseHeader("jsonerror");
            var errorObj =3D (error =3D=3D=3D "true");
            if (errorObj) {
                if (result) {
                    result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
                }
            }
            else if (contentType.startsWith("application/json")) {
                if (!result || typeof(result.d) =3D=3D=3D "undefined") {
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName));
                }
                result =3D result.d;
            }
            if (((statusCode < 200) || (statusCode >=3D 300)) || =
errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result =3D new Sys.Net.WebServiceError(false , =
String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode =3D statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                    var error;
                    if (result && errorObj) {
                        error =3D result.get_exceptionType() + "-- " + =
result.get_message();
                    }
                    else {
                        error =3D response.get_responseData();
                    }
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceFailed, methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg =3D String.format(Sys.Res.webServiceTimedOut, =
methodName);
            }
            else {
                msg =3D String.format(Sys.Res.webServiceFailedNoMsg, =
methodName)
            }
            if (onFailure) {
                onFailure(new =
Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), =
userContext, methodName);
            }
            else {
                throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, msg);
            }
        }
    }
    return request;
}
Sys.Net.WebServiceProxy._createFailedError =3D function =
Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {
    var displayMessage =3D "Sys.Net.WebServiceFailedException: " + =
errorMessage;
    var e =3D Error.create(displayMessage, { 'name': =
'Sys.Net.WebServiceFailedException', 'methodName': methodName });
    e.popStackFrame();
    return e;
}
Sys.Net.WebServiceProxy._defaultFailedCallback =3D function =
Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {
    var error =3D err.get_exceptionType() + "-- " + err.get_message();
    throw Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceFailed, methodName, error));
}
Sys.Net.WebServiceProxy._generateTypedConstructor =3D function =
Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
        if (properties) {
            for (var name in properties) {
                this[name] =3D properties[name];
            }
        }
        this.__type =3D type;
    }
}
=20
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceError.#ctor" />
    /// <param name=3D"timedOut" type=3D"Boolean"></param>
    /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"stackTrace" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"exceptionType" type=3D"String" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    this._timedOut =3D timedOut;
    this._message =3D message;
    this._stackTrace =3D stackTrace;
    this._exceptionType =3D exceptionType;
    this._statusCode =3D -1;
}
    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebServiceError.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebServiceError.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._statusCode;
    }
    function Sys$Net$WebServiceError$get_message() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.message"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._message;
    }
    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.stackTrace"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._stackTrace;
    }
    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.exceptionType"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._exceptionType;
    }
Sys.Net.WebServiceError.prototype =3D {
    get_timedOut: Sys$Net$WebServiceError$get_timedOut,
    get_statusCode: Sys$Net$WebServiceError$get_statusCode,
    get_message: Sys$Net$WebServiceError$get_message,
    get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,
    get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');
Type.registerNamespace('Sys.Services');
Sys.Services._ProfileService =3D function Sys$Services$_ProfileService() =
{
    /// <summary locid=3D"M:J#Sys.Net.ProfileService.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._ProfileService.initializeBase(this);
    this.properties =3D {};
}
Sys.Services._ProfileService.DefaultWebServicePath =3D '';
    function =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.defaultLoadCompletedCallback"></=
value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback =3D value;
    }
    function =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.defaultSaveCompletedCallback"></=
value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultSaveCompletedCallback =3D value;
    }
    function Sys$Services$_ProfileService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_ProfileService$load(propertyNames, =
loadCompletedCallback, failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.ProfileService.load" />
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"loadCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "loadCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var parameters;
        var methodName;
        if (!propertyNames) {
            methodName =3D "GetAllPropertiesForCurrentUser";
            parameters =3D { authenticatedUserOnly: false };
        }
        else {
            methodName =3D "GetPropertiesForCurrentUser";
            parameters =3D { properties: =
this._clonePropertyNames(propertyNames), authenticatedUserOnly: false };
        }
        this._invoke(this._get_path(),
                                        methodName,
                                        false,
                                        parameters,
                                        Function.createDelegate(this, =
this._onLoadComplete),
                                        Function.createDelegate(this, =
this._onLoadFailed),
                                        [loadCompletedCallback, =
failedCallback, userContext]);
    }
    function Sys$Services$_ProfileService$save(propertyNames, =
saveCompletedCallback, failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.ProfileService.save" />
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"saveCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "saveCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var flattenedProperties =3D =
this._flattenProperties(propertyNames, this.properties);
        this._invoke(this._get_path(),
                                        "SetPropertiesForCurrentUser",
                                        false,
                                        { values: =
flattenedProperties.value, authenticatedUserOnly: false },
                                        Function.createDelegate(this, =
this._onSaveComplete),
                                        Function.createDelegate(this, =
this._onSaveFailed),
                                        [saveCompletedCallback, =
failedCallback, userContext, flattenedProperties.count]);
    }
    function Sys$Services$_ProfileService$_clonePropertyNames(arr) {
        var nodups =3D [];
        var seen =3D {};
        for (var i=3D0; i < arr.length; i++) {
            var prop =3D arr[i];
            if(!seen[prop]) { Array.add(nodups, prop); =
seen[prop]=3Dtrue; };
        }
        return nodups;
    }
    function =
Sys$Services$_ProfileService$_flattenProperties(propertyNames, =
properties, groupName) {
        var flattenedProperties =3D {};
        var val;
        var key;
        var count =3D 0;
        if (propertyNames && propertyNames.length =3D=3D=3D 0) {
            return { value: flattenedProperties, count: 0 };
        }
        for (var property in properties) {
            val =3D properties[property];
            key =3D groupName ? groupName + "." + property : property;
            if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var obj =3D this._flattenProperties(propertyNames, val, =
key);
                var groupProperties =3D obj.value;
                count +=3D obj.count;=20
                for(var subKey in groupProperties) {
                    var subVal =3D groupProperties[subKey];
                    flattenedProperties[subKey] =3D subVal;
                }
            }
            else {
                if(!propertyNames || Array.indexOf(propertyNames, key) =
!=3D=3D -1) {
                    flattenedProperties[key] =3D val;
                    count++;=20
                }
            }
        }
        return { value: flattenedProperties, count: count };
    }
    function Sys$Services$_ProfileService$_get_path() {
        var path =3D this.get_path();
        if (!path.length) {
            path =3D Sys.Services._ProfileService.DefaultWebServicePath;
        }
        if (!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }
    function Sys$Services$_ProfileService$_onLoadComplete(result, =
context, methodName) {
        if (typeof(result) !=3D=3D "object") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Object"));
        }
        var unflattened =3D this._unflattenProperties(result);
        for (var name in unflattened) {
            this.properties[name] =3D unflattened[name];
        }
       =20
        var callback =3D context[0] || =
this.get_defaultLoadCompletedCallback() || =
this.get_defaultSucceededCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();       =20
            callback(result.length, userContext, =
"Sys.Services.ProfileService.load");
        }
    }
    function Sys$Services$_ProfileService$_onLoadFailed(err, context, =
methodName) {
        var callback =3D context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();       =20
            callback(err, userContext, =
"Sys.Services.ProfileService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    function Sys$Services$_ProfileService$_onSaveComplete(result, =
context, methodName) {
        var count =3D context[3];
        if (result !=3D=3D null) {=20
            if (result instanceof Array) {
                count -=3D result.length;
            }
            else if (typeof(result) =3D=3D=3D 'number') {
                count =3D result;
            }
            else {
                throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Array"));
            }
        }
       =20
        var callback =3D context[0] || =
this.get_defaultSaveCompletedCallback() || =
this.get_defaultSucceededCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            callback(count, userContext, =
"Sys.Services.ProfileService.save");
        }
    }
    function Sys$Services$_ProfileService$_onSaveFailed(err, context, =
methodName) {
        var callback =3D context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            callback(err, userContext, =
"Sys.Services.ProfileService.save");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    function =
Sys$Services$_ProfileService$_unflattenProperties(properties) {
        var unflattenedProperties =3D {};
        var dotIndex;
        var val;
        var count =3D 0;
        for (var key in properties) {
            count++;
            val =3D properties[key];
            dotIndex =3D key.indexOf('.');
            if (dotIndex !=3D=3D -1) {
                var groupName =3D key.substr(0, dotIndex);
                key =3D key.substr(dotIndex+1);
                var group =3D unflattenedProperties[groupName];
                if (!group || =
!Sys.Services.ProfileGroup.isInstanceOfType(group)) {
                    group =3D new Sys.Services.ProfileGroup();
                    unflattenedProperties[groupName] =3D group;
                }
                group[key] =3D val;
            }
            else {
                unflattenedProperties[key] =3D val;
            }
        }
        properties.length =3D count;
        return unflattenedProperties;
    }
Sys.Services._ProfileService.prototype =3D {
    _defaultLoadCompletedCallback: null,
    _defaultSaveCompletedCallback: null,
    _path: '',
    _timeout: 0,
    get_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,
    get_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
    set_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
    get_path: Sys$Services$_ProfileService$get_path,
    load: Sys$Services$_ProfileService$load,
    save: Sys$Services$_ProfileService$save,
    _clonePropertyNames: =
Sys$Services$_ProfileService$_clonePropertyNames,   =20
    _flattenProperties: Sys$Services$_ProfileService$_flattenProperties,
    _get_path: Sys$Services$_ProfileService$_get_path,   =20
    _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,
    _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,
    _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,
    _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,
    _unflattenProperties: =
Sys$Services$_ProfileService$_unflattenProperties
}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService'=
, Sys.Net.WebServiceProxy);
Sys.Services.ProfileService =3D new Sys.Services._ProfileService();
Sys.Services.ProfileGroup =3D function =
Sys$Services$ProfileGroup(properties) {
    /// <summary locid=3D"M:J#Sys.Services.ProfileGroup.#ctor" />
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "properties", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if (properties) {
        for (var property in properties) {
            this[property] =3D properties[property];
        }
    }
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');
Sys.Services._AuthenticationService =3D function =
Sys$Services$_AuthenticationService() {
    /// <summary locid=3D"M:J#Sys.Services.AuthenticationService.#ctor" =
/>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath =3D '';
    function =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.AuthenticationService.defaultLoginCompletedCall=
back"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoginCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(val=
ue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoginCompletedCallback =3D value;
    }
    function =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.AuthenticationService.defaultLogoutCompletedCal=
lback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLogoutCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(va=
lue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLogoutCompletedCallback =3D value;
    }
    function Sys$Services$_AuthenticationService$get_isLoggedIn() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Services.AuthenticationService.isLoggedIn"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._authenticated;
    }
    function Sys$Services$_AuthenticationService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.AuthenticationService.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_AuthenticationService$login(username, =
password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext) {
        /// <summary =
locid=3D"M:J#Sys.Services.AuthenticationService.login" />
        /// <param name=3D"username" type=3D"String" =
mayBeNull=3D"false"></param>
        /// <param name=3D"password" type=3D"String" =
mayBeNull=3D"true"></param>
        /// <param name=3D"isPersistent" type=3D"Boolean" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"customInfo" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"loginCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "username", type: String},
            {name: "password", type: String, mayBeNull: true},
            {name: "isPersistent", type: Boolean, mayBeNull: true, =
optional: true},
            {name: "customInfo", type: String, mayBeNull: true, =
optional: true},
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "loginCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._invoke(this._get_path(), "Login", false,
                                        { userName: username, password: =
password, createPersistentCookie: isPersistent },
                                        Function.createDelegate(this, =
this._onLoginComplete),
                                        Function.createDelegate(this, =
this._onLoginFailed),
                                        [username, password, =
isPersistent, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext]);
    }
    function Sys$Services$_AuthenticationService$logout(redirectUrl, =
logoutCompletedCallback, failedCallback, userContext) {
        /// <summary =
locid=3D"M:J#Sys.Services.AuthenticationService.logout" />
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"logoutCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "logoutCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._invoke(this._get_path(), "Logout", false, {},=20
                                        Function.createDelegate(this, =
this._onLogoutComplete),
                                        Function.createDelegate(this, =
this._onLogoutFailed),
                                        [redirectUrl, =
logoutCompletedCallback, failedCallback, userContext]);
    }
    function Sys$Services$_AuthenticationService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D =
Sys.Services._AuthenticationService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }
    function =
Sys$Services$_AuthenticationService$_onLoginComplete(result, context, =
methodName) {
        if(typeof(result) !=3D=3D "boolean") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Boolean"));
        }
       =20
        var redirectUrl =3D context[4];
        var userContext =3D context[7] || this.get_defaultUserContext();
        var callback =3D context[5] || =
this.get_defaultLoginCompletedCallback() || =
this.get_defaultSucceededCallback();
       =20
        if(result) {
            this._authenticated =3D true;
            if (callback) {
                callback(true, userContext, =
"Sys.Services.AuthenticationService.login");
            }
           =20
            if (typeof(redirectUrl) !=3D=3D "undefined" && redirectUrl =
!=3D=3D null) {
                window.location.href =3D redirectUrl;
            }
        }
        else if (callback) {
            callback(false, userContext, =
"Sys.Services.AuthenticationService.login");
        }
    }
    function Sys$Services$_AuthenticationService$_onLoginFailed(err, =
context, methodName) {
        var callback =3D context[6] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[7] || =
this.get_defaultUserContext();
            callback(err, userContext, =
"Sys.Services.AuthenticationService.login");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    function =
Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, =
methodName) {
        if(result !=3D=3D null) {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "null"));
        }
       =20
        var redirectUrl =3D context[0];
        var userContext =3D context[3] || this.get_defaultUserContext();
        var callback =3D context[1] || =
this.get_defaultLogoutCompletedCallback() || =
this.get_defaultSucceededCallback();
        this._authenticated =3D false;
       =20
        if (callback) {
            callback(null, userContext, =
"Sys.Services.AuthenticationService.logout");
        }
       =20
        if(!redirectUrl) {
            window.location.reload();
        }
        else {
            window.location.href =3D redirectUrl;
        }
    }
    function Sys$Services$_AuthenticationService$_onLogoutFailed(err, =
context, methodName) {
        var callback =3D context[2] || this.get_defaultFailedCallback();
        if (callback) {
            callback(err, context[3], =
"Sys.Services.AuthenticationService.logout");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    function =
Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {
        this._authenticated =3D authenticated;
    }
Sys.Services._AuthenticationService.prototype =3D {
    _defaultLoginCompletedCallback: null,
    _defaultLogoutCompletedCallback: null,
    _path: '',
    _timeout: 0,
    _authenticated: false,
    get_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
    set_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,
    get_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
    set_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,
    get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,
    get_path: Sys$Services$_AuthenticationService$get_path, =20
    login: Sys$Services$_AuthenticationService$login,
    logout: Sys$Services$_AuthenticationService$logout,
    _get_path: Sys$Services$_AuthenticationService$_get_path,
    _onLoginComplete: =
Sys$Services$_AuthenticationService$_onLoginComplete,
    _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,
    _onLogoutComplete: =
Sys$Services$_AuthenticationService$_onLogoutComplete,
    _onLogoutFailed: =
Sys$Services$_AuthenticationService$_onLogoutFailed,
    _setAuthenticated: =
Sys$Services$_AuthenticationService$_setAuthenticated   =20
}
Sys.Services._AuthenticationService.registerClass('Sys.Services._Authenti=
cationService', Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService =3D new =
Sys.Services._AuthenticationService();
Sys.Services._RoleService =3D function Sys$Services$_RoleService() {
    /// <summary locid=3D"M:J#Sys.Services.RoleService.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._RoleService.initializeBase(this);
    this._roles =3D [];
}
Sys.Services._RoleService.DefaultWebServicePath =3D '';
    function =
Sys$Services$_RoleService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.RoleService.defaultLoadCompletedCallback"></val=
ue>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback =3D value;
    }
    function Sys$Services$_RoleService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.RoleService.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_RoleService$get_roles() {
        /// <value type=3D"Array" elementType=3D"String" =
mayBeNull=3D"false" =
locid=3D"P:J#Sys.Services.RoleService.roles"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Array.clone(this._roles);
    }
    function Sys$Services$_RoleService$isUserInRole(role) {
        /// <summary locid=3D"M:J#Sys.Services.RoleService.isUserInRole" =
/>
        /// <param name=3D"role" type=3D"String" =
mayBeNull=3D"false"></param>
        /// <returns type=3D"Boolean"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "role", type: String}
        ]);
        if (e) throw e;
        var v =3D this._get_rolesIndex()[role.trim().toLowerCase()];
        return !!v;
    }
    function Sys$Services$_RoleService$load(loadCompletedCallback, =
failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.RoleService.load" />
        /// <param name=3D"loadCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "loadCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        Sys.Net.WebServiceProxy.invoke(
                    this._get_path(),
                    "GetRolesForCurrentUser",
                    false,
                    {} ,
                    Function.createDelegate(this, this._onLoadComplete),
                    Function.createDelegate(this, this._onLoadFailed),
                    [loadCompletedCallback, failedCallback, =
userContext],
                    this.get_timeout());
    }
    function Sys$Services$_RoleService$_get_path() {
        var path =3D this.get_path();
        if(!path || !path.length) {
            path =3D Sys.Services._RoleService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }
    function Sys$Services$_RoleService$_get_rolesIndex() {
        if (!this._rolesIndex) {
            var index =3D {};
            for(var i=3D0; i < this._roles.length; i++) {
                index[this._roles[i].toLowerCase()] =3D true;
            }
            this._rolesIndex =3D index;
        }
        return this._rolesIndex;
    }
    function Sys$Services$_RoleService$_onLoadComplete(result, context, =
methodName) {
        if(result && !(result instanceof Array)) {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Array"));
        }
        this._roles =3D result;
        this._rolesIndex =3D null;
        var callback =3D context[0] || =
this.get_defaultLoadCompletedCallback() || =
this.get_defaultSucceededCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            var clonedResult =3D Array.clone(result);
            callback(clonedResult, userContext, =
"Sys.Services.RoleService.load");
        }
    }
    function Sys$Services$_RoleService$_onLoadFailed(err, context, =
methodName) {
        var callback =3D context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            callback(err, userContext, "Sys.Services.RoleService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
Sys.Services._RoleService.prototype =3D {
    _defaultLoadCompletedCallback: null,
    _rolesIndex: null,
    _timeout: 0,
    _path: '',
    get_defaultLoadCompletedCallback: =
Sys$Services$_RoleService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: =
Sys$Services$_RoleService$set_defaultLoadCompletedCallback,
    get_path: Sys$Services$_RoleService$get_path,
    get_roles: Sys$Services$_RoleService$get_roles,
    isUserInRole: Sys$Services$_RoleService$isUserInRole,
    load: Sys$Services$_RoleService$load,
    _get_path: Sys$Services$_RoleService$_get_path, =20
    _get_rolesIndex: Sys$Services$_RoleService$_get_rolesIndex,
    _onLoadComplete: Sys$Services$_RoleService$_onLoadComplete,
    _onLoadFailed: Sys$Services$_RoleService$_onLoadFailed
}
Sys.Services._RoleService.registerClass('Sys.Services._RoleService', =
Sys.Net.WebServiceProxy);
Sys.Services.RoleService =3D new Sys.Services._RoleService();
Type.registerNamespace('Sys.Serialization');
Sys.Serialization.JavaScriptSerializer =3D function =
Sys$Serialization$JavaScriptSerializer() {
    /// <summary =
locid=3D"M:J#Sys.Serialization.JavaScriptSerializer.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.J=
avaScriptSerializer');
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs =3D [];
Sys.Serialization.JavaScriptSerializer._charsToEscape =3D [];
Sys.Serialization.JavaScriptSerializer._dateRegEx =3D new =
RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4}=
)?\\)\\\\/\\"', 'g');
Sys.Serialization.JavaScriptSerializer._escapeChars =3D {};
Sys.Serialization.JavaScriptSerializer._escapeRegEx =3D new =
RegExp('["\\\\\\x00-\\x1F]', 'i');
Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal =3D new =
RegExp('["\\\\\\x00-\\x1F]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonRegEx =3D new =
RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonStringRegEx =3D new =
RegExp('"(\\\\.|[^"\\\\])*"', 'g');
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName =3D =
'__type';
Sys.Serialization.JavaScriptSerializer._init =3D function =
Sys$Serialization$JavaScriptSerializer$_init() {
    var replaceChars =3D =
['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\=
\u0007',
                        =
'\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\=
u0011',
                        =
'\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\=
u0019',
                        =
'\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f'];
    Sys.Serialization.JavaScriptSerializer._charsToEscape[0] =3D '\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] =
=3D new RegExp('\\\\', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] =3D =
'\\\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscape[1] =3D '"';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] =3D =
new RegExp('"', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['"'] =3D '\\"';
    for (var i =3D 0; i < 32; i++) {
        var c =3D String.fromCharCode(i);
        Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] =3D =
c;
        Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] =
=3D new RegExp(c, 'g');
        Sys.Serialization.JavaScriptSerializer._escapeChars[c] =3D =
replaceChars[i];
    }
}
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(objec=
t, stringBuilder) {
    stringBuilder.append(object.toString());
}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object=
, stringBuilder) {
    if (isFinite(object)) {
        stringBuilder.append(String(object));
    }
    else {
        throw =
Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);
    }
}
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string=
, stringBuilder) {
    stringBuilder.append('"');
    if =
(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) {
        if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length =
=3D=3D=3D 0) {
            Sys.Serialization.JavaScriptSerializer._init();
        }
        if (string.length < 128) {
            string =3D =
string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,=

                function(x) { return =
Sys.Serialization.JavaScriptSerializer._escapeChars[x]; });
        }
        else {
            for (var i =3D 0; i < 34; i++) {
                var c =3D =
Sys.Serialization.JavaScriptSerializer._charsToEscape[i];
                if (string.indexOf(c) !=3D=3D -1) {
                    if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Opera || =
Sys.Browser.agent =3D=3D=3D Sys.Browser.FireFox) {
                        string =3D =
string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[=
c]);
                    }
                    else {
                        string =3D =
string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegEx=
s[c],
                            =
Sys.Serialization.JavaScriptSerializer._escapeChars[c]);
                    }
                }
            }
       }
    }
    stringBuilder.append(string);
    stringBuilder.append('"');
}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, =
stringBuilder, sort, prevObjects) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
            if (prevObjects){
                for( var j =3D 0; j < prevObjects.length; j++) {
                    if (prevObjects[j] =3D=3D=3D object) {
                        throw =
Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);
                    }
                }
            }
            else {
                prevObjects =3D new Array();
            }
            try {
                Array.add(prevObjects, object);
               =20
                if (Number.isInstanceOfType(object)){
                    =
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object=
, stringBuilder);
                }
                else if (Boolean.isInstanceOfType(object)){
                    =
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(objec=
t, stringBuilder);
                }
                else if (String.isInstanceOfType(object)){
                    =
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object=
, stringBuilder);
                }
           =20
                else if (Array.isInstanceOfType(object)) {
                    stringBuilder.append('[');
                  =20
                    for (i =3D 0; i < object.length; ++i) {
                        if (i > 0) {
                            stringBuilder.append(',');
                        }
                        =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], =
stringBuilder,false,prevObjects);
                    }
                    stringBuilder.append(']');
                }
                else {
                    if (Date.isInstanceOfType(object)) {
                        stringBuilder.append('"\\/Date(');
                        stringBuilder.append(object.getTime());
                        stringBuilder.append(')\\/"');
                        break;
                    }
                    var properties =3D [];
                    var propertyCount =3D 0;
                    for (var name in object) {
                        if (name.startsWith('$')) {
                            continue;
                        }
                        if (name =3D=3D=3D =
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && =
propertyCount !=3D=3D 0){
                            properties[propertyCount++] =3D =
properties[0];
                            properties[0] =3D name;
                        }
                        else{
                            properties[propertyCount++] =3D name;
                        }
                    }
                    if (sort) properties.sort();
                    stringBuilder.append('{');
                    var needComma =3D false;
                    =20
                    for (i=3D0; i<propertyCount; i++) {
                        var value =3D object[properties[i]];
                        if (typeof value !=3D=3D 'undefined' && typeof =
value !=3D=3D 'function') {
                            if (needComma) {
                                stringBuilder.append(',');
                            }
                            else {
                                needComma =3D true;
                            }
                          =20
                            =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i=
], stringBuilder, sort, prevObjects);
                            stringBuilder.append(':');
                            =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, =
stringBuilder, sort, prevObjects);
                         =20
                        }
                    }
                stringBuilder.append('}');
                }
            }
            finally {
                Array.removeAt(prevObjects, prevObjects.length - 1);
            }
        }
        else {
            stringBuilder.append('null');
        }
        break;
    case 'number':
        =
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object=
, stringBuilder);
        break;
    case 'string':
        =
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object=
, stringBuilder);
        break;
    case 'boolean':
        =
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(objec=
t, stringBuilder);
        break;
    default:
        stringBuilder.append('null');
        break;
    }
}
Sys.Serialization.JavaScriptSerializer.serialize =3D function =
Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <summary =
locid=3D"M:J#Sys.Serialization.JavaScriptSerializer.serialize" />
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    var stringBuilder =3D new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, =
stringBuilder, false);
    return stringBuilder.toString();
}
Sys.Serialization.JavaScriptSerializer.deserialize =3D function =
Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) {
    /// <summary =
locid=3D"M:J#Sys.Serialization.JavaScriptSerializer.deserialize" />
    /// <param name=3D"data" type=3D"String"></param>
    /// <param name=3D"secure" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "data", type: String},
        {name: "secure", type: Boolean, optional: true}
    ]);
    if (e) throw e;
   =20
    if (data.length =3D=3D=3D 0) throw Error.argument('data', =
Sys.Res.cannotDeserializeEmptyString);
    try {   =20
        var exp =3D =
data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new =
Date($2)");
       =20
        if (secure && =
Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(
             =
exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, =
''))) throw null;
        return eval('(' + exp + ')');
    }
    catch (e) {
         throw Error.argument('data', =
Sys.Res.cannotDeserializeInvalidJson);
    }
}
=20
Sys.CultureInfo =3D function Sys$CultureInfo(name, numberFormat, =
dateTimeFormat) {
    /// <summary locid=3D"M:J#Sys.CultureInfo.#ctor" />
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"numberFormat" type=3D"Object"></param>
    /// <param name=3D"dateTimeFormat" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;
    this.name =3D name;
    this.numberFormat =3D numberFormat;
    this.dateTimeFormat =3D dateTimeFormat;
}
    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf =3D this.dateTimeFormat;
            this._dateTimeFormats =3D
              [ dtf.MonthDayPattern,
                dtf.YearMonthPattern,
                dtf.ShortDatePattern,
                dtf.ShortTimePattern,
                dtf.LongDatePattern,
                dtf.LongTimePattern,
                dtf.FullDateTimePattern,
                dtf.RFC1123Pattern,
                dtf.SortableDateTimePattern,
                dtf.UniversalSortableDateTimePattern ];
        }
        return this._dateTimeFormats;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths =3D =
this._toUpperArray(this.dateTimeFormat.MonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
        }
        return Array.indexOf(this._upperAbbrMonths, =
this._toUpper(value));
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays =3D =
this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result =3D [];
        for (var i =3D 0, il =3D arr.length; i < il; i++) {
            result[i] =3D this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
        return value.split("\u00A0").join(' ').toUpperCase();
    }
Sys.CultureInfo.prototype =3D {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getMonthIndex: Sys$CultureInfo$_getMonthIndex,
    _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,
    _getDayIndex: Sys$CultureInfo$_getDayIndex,
    _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,
    _toUpperArray: Sys$CultureInfo$_toUpperArray,
    _toUpper: Sys$CultureInfo$_toUpper
}
Sys.CultureInfo._parse =3D function Sys$CultureInfo$_parse(value) {
    var cultureInfo =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(value);
    return new Sys.CultureInfo(cultureInfo.name, =
cultureInfo.numberFormat, cultureInfo.dateTimeFormat);
}
Sys.CultureInfo.registerClass('Sys.CultureInfo');
Sys.CultureInfo.InvariantCulture =3D =
Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits=
":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes"=
:[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparat=
or":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePatt=
ern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegat=
ivePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","Nu=
mberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":=
",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","Posi=
tiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","Per=
centGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","Na=
tiveDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution"=
:1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTi=
me":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","Algor=
ithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnl=
y":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"Ful=
lDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, =
dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","Sort=
ableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSepar=
ator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd =
HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy =
MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":true,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}');
if (typeof(__cultureInfo) =3D=3D=3D 'undefined') {
    var __cultureInfo =3D =
'{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecim=
alSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroup=
Sizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","Currency=
Symbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegative=
Pattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"Negativ=
eInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"=
NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositiveP=
attern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","Percent=
DecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",=
","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","=
2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{=
"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@=
","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarT=
ype":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparat=
or":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dd=
dd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, =
yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm =
tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","=
TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd=
 HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, =
yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":false,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}';
}
Sys.CultureInfo.CurrentCulture =3D =
Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;
=20
Sys.UI.Behavior =3D function Sys$UI$Behavior(element) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.#ctor" />
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    Sys.UI.Behavior.initializeBase(this);
    this._element =3D element;
    var behaviors =3D element._behaviors;
    if (!behaviors) {
        element._behaviors =3D [this];
    }
    else {
        behaviors[behaviors.length] =3D this;
    }
}
    function Sys$UI$Behavior$get_element() {
        /// <value domElement=3D"true" =
locid=3D"P:J#Sys.UI.Behavior.element"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.UI.Behavior.id"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var baseId =3D Sys.UI.Behavior.callBaseMethod(this, 'get_id');
        if (baseId) return baseId;
        if (!this._element || !this._element.id) return '';
        return this._element.id + '$' + this.get_name();
    }
    function Sys$UI$Behavior$get_name() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.UI.Behavior.name"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name =3D Object.getTypeName(this);
        var i =3D name.lastIndexOf('.');
        if (i !=3D -1) name =3D name.substr(i + 1);
        if (!this.get_isInitialized()) this._name =3D name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        if ((value =3D=3D=3D '') || (value.charAt(0) =3D=3D=3D ' ') || =
(value.charAt(value.length - 1) =3D=3D=3D ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !=3D=3D 'undefined')
            throw =
Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, =
value));
        if (this.get_isInitialized()) throw =
Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name =3D value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name =3D this.get_name();
        if (name) this._element[name] =3D this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        if (this._element) {
            var name =3D this.get_name();
            if (name) {
                this._element[name] =3D null;
            }
            Array.remove(this._element._behaviors, this);
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype =3D {
    _name: null,
    get_element: Sys$UI$Behavior$get_element,
    get_id: Sys$UI$Behavior$get_id,
    get_name: Sys$UI$Behavior$get_name,
    set_name: Sys$UI$Behavior$set_name,
    initialize: Sys$UI$Behavior$initialize,
    dispose: Sys$UI$Behavior$dispose
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component);
Sys.UI.Behavior.getBehaviorByName =3D function =
Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.getBehaviorByName" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Sys.UI.Behavior" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    var b =3D element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}
Sys.UI.Behavior.getBehaviors =3D function =
Sys$UI$Behavior$getBehaviors(element) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.getBehaviors" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}
Sys.UI.Behavior.getBehaviorsByType =3D function =
Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.getBehaviorsByType" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"type" type=3D"Type"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;
    var behaviors =3D element._behaviors;
    var results =3D [];
    if (behaviors) {
        for (var i =3D 0, l =3D behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] =3D behaviors[i];
            }
        }
    }
    return results;
}
=20
Sys.UI.VisibilityMode =3D function Sys$UI$VisibilityMode() {
    /// <summary locid=3D"M:J#Sys.UI.VisibilityMode.#ctor" />
    /// <field name=3D"hide" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.VisibilityMode.hide"></field>
    /// <field name=3D"collapse" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.VisibilityMode.collapse"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.VisibilityMode.prototype =3D {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");
=20
Sys.UI.Control =3D function Sys$UI$Control(element) {
    /// <summary locid=3D"M:J#Sys.UI.Control.#ctor" />
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (typeof(element.control) !=3D 'undefined') throw =
Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);
    this._element =3D element;
    element.control =3D this;
}
    function Sys$UI$Control$get_element() {
        /// <value domElement=3D"true" =
locid=3D"P:J#Sys.UI.Control.element"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.UI.Control.id"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        throw Error.invalidOperation(Sys.Res.cantSetId);
    }
    function Sys$UI$Control$get_parent() {
        /// <value type=3D"Sys.UI.Control" =
locid=3D"P:J#Sys.UI.Control.parent"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parent) return this._parent;
        if (!this._element) return null;
       =20
        var parentElement =3D this._element.parentNode;
        while (parentElement) {
            if (parentElement.control) {
                return parentElement.control;
            }
            parentElement =3D parentElement.parentNode;
        }
        return null;
    }
    function Sys$UI$Control$set_parent(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.Control}]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        var parents =3D [this];
        var current =3D value;
        while (current) {
            if (Array.contains(parents, current)) throw =
Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] =3D current;
            current =3D current.get_parent();
        }
        this._parent =3D value;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type=3D"Sys.UI.VisibilityMode" =
locid=3D"P:J#Sys.UI.Control.visibilityMode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        return Sys.UI.DomElement.getVisibilityMode(this._element);
    }
    function Sys$UI$Control$set_visibilityMode(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.VisibilityMode}]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.setVisibilityMode(this._element, value);
    }
    function Sys$UI$Control$get_visible() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.UI.Control.visible"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        return Sys.UI.DomElement.getVisible(this._element);
    }
    function Sys$UI$Control$set_visible(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.setVisible(this._element, value)
    }
    function Sys$UI$Control$addCssClass(className) {
        /// <summary locid=3D"M:J#Sys.UI.Control.addCssClass" />
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.addCssClass(this._element, className);
    }
    function Sys$UI$Control$dispose() {
        Sys.UI.Control.callBaseMethod(this, 'dispose');
        if (this._element) {
            this._element.control =3D undefined;
            delete this._element;
        }
        if (this._parent) delete this._parent;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <summary locid=3D"M:J#Sys.UI.Control.onBubbleEvent" />
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        /// <returns type=3D"Boolean"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        return false;
    }
    function Sys$UI$Control$raiseBubbleEvent(source, args) {
        /// <summary locid=3D"M:J#Sys.UI.Control.raiseBubbleEvent" />
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var currentTarget =3D this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget =3D currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <summary locid=3D"M:J#Sys.UI.Control.removeCssClass" />
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.removeCssClass(this._element, className);
    }
    function Sys$UI$Control$toggleCssClass(className) {
        /// <summary locid=3D"M:J#Sys.UI.Control.toggleCssClass" />
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.toggleCssClass(this._element, className);
    }
Sys.UI.Control.prototype =3D {
    _parent: null,
    _visibilityMode: Sys.UI.VisibilityMode.hide,
    get_element: Sys$UI$Control$get_element,
    get_id: Sys$UI$Control$get_id,
    set_id: Sys$UI$Control$set_id,
    get_parent: Sys$UI$Control$get_parent,
    set_parent: Sys$UI$Control$set_parent,
    get_visibilityMode: Sys$UI$Control$get_visibilityMode,
    set_visibilityMode: Sys$UI$Control$set_visibilityMode,
    get_visible: Sys$UI$Control$get_visible,
    set_visible: Sys$UI$Control$set_visible,
    addCssClass: Sys$UI$Control$addCssClass,
    dispose: Sys$UI$Control$dispose,
    onBubbleEvent: Sys$UI$Control$onBubbleEvent,
    raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);


Type.registerNamespace('Sys');
Sys.Res=3D{
"urlMustBeLessThan1024chars":"L\u0027aggiunta dello stato della =
cronologia all\u0027URL non deve provocare il superamento del limite di =
1024 caratteri.",
"argumentTypeName":"Il valore non =C3=A8 il nome di un tipo esistente.",
"methodRegisteredTwice":"Il metodo {0} =C3=A8 gi=C3=A0 stato =
registrato.",
"cantSetIdAfterInit":"Impossibile impostare la propriet=C3=A0 ID =
sull\u0027oggetto dopo l\u0027inizializzazione.",
"cantBeCalledAfterDispose":"Impossibile chiamare dopo Dispose.",
"componentCantSetIdAfterAddedToApp":"Impossibile impostare la =
propriet=C3=A0 ID di un componente dopo che =C3=A8 stato aggiunto =
all\u0027oggetto Application.",
"behaviorDuplicateName":"Un comportamento con nome \u0027{0}\u0027 =
esiste gi=C3=A0 o \u0027{0}\u0027 =C3=A8 il nome di una propriet=C3=A0 =
esistente nell\u0027elemento di destinazione.",
"notATypeName":"Il valore non =C3=A8 un nome di tipo valido.",
"typeShouldBeTypeOrString":"Il valore non =C3=A8 un tipo valido o un =
nome di tipo valido.",
"historyInvalidHistorySettingCombination":"Impossibile impostare =
enableHistory su false quando ScriptManager.EnableHistory =C3=A8 true.",
"stateMustBeStringDictionary":"L\u0027oggetto stato pu=C3=B2 avere solo =
campi null e stringa.",
"boolTrueOrFalse":"Il valore deve essere \u0027true\u0027 o =
\u0027false\u0027.",
"scriptLoadFailedNoHead":"Le pagine devono contenere un elemento =
\u003chead\u003e.",
"stringFormatInvalid":"La stringa di formato non =C3=A8 valida.",
"referenceNotFound":"Impossibile trovare il componente =
\u0027{0}\u0027.",
"enumReservedName":"\u0027{0}\u0027 =C3=A8 un nome riservato che non =
pu=C3=B2 essere utilizzato come nome di valore enum.",
"eventHandlerNotFound":"Gestore non trovato.",
"circularParentChain":"La catena degli elementi padre dei controlli non =
pu=C3=B2 avere riferimenti circolari.",
"undefinedEvent":"\u0027{0}\u0027 non =C3=A8 un evento.",
"notAMethod":"{0} non =C3=A8 un metodo.",
"propertyUndefined":"\u0027{0}\u0027 non =C3=A8 una propriet=C3=A0 o un =
campo esistente.",
"historyCannotEnableHistory":"Impossibile impostare enableHistory dopo =
l\u0027inizializzazione.",
"eventHandlerInvalid":"Gestore non aggiunto tramite il metodo =
Sys.UI.DomEvent.addHandler.",
"scriptLoadFailedDebug":"Impossibile caricare lo script \u0027{0}\u0027. =
Verificare le seguenti condizioni:\r\n Percorso non accessibile.\r\n =
Errori di script. (IE) Abilitare l\u0027opzione \"Visualizza notifica di =
tutti gli errori di script\" nelle impostazioni avanzate.\r\n Chiamata a =
Sys.Application.notifyScriptLoaded() mancante.",
"propertyNotWritable":"Impossibile scrivere sulla propriet=C3=A0 =
\u0027{0}\u0027.",
"enumInvalidValueName":"\u0027{0}\u0027 non =C3=A8 un nome valido per un =
valore enum.",
"controlAlreadyDefined":"Un controllo =C3=A8 gi=C3=A0 associato =
all\u0027elemento.",
"addHandlerCantBeUsedForError":"Impossibile aggiungere un gestore per =
l\u0027evento di errore utilizzando questo metodo. Impostare la =
propriet=C3=A0 window.onerror.",
"namespaceContainsObject":"L\u0027oggetto {0} esiste gi=C3=A0 e non =
=C3=A8 uno spazio dei nomi.",
"cantAddNonFunctionhandler":"Impossibile aggiungere un gestore che non =
=C3=A8 una funzione.",
"invalidNameSpace":"Il valore non =C3=A8 un identificatore di spazio dei =
nomi valido.",
"notAnInterface":"Il valore non =C3=A8 un\u0027interfaccia valida.",
"eventHandlerNotFunction":"Il gestore deve essere una funzione.",
"propertyNotAnArray":"\u0027{0}\u0027 non =C3=A8 una propriet=C3=A0 =
Array.",
"typeRegisteredTwice":"Il tipo {0} =C3=A8 gi=C3=A0 stato registrato. =
=C3=88 possibile che il tipo sia stato definito pi=C3=B9 volte o che il =
file di script che lo definisce sia gi=C3=A0 stato caricato. Il problema =
pu=C3=B2 essere stato causato da una modifica di impostazioni durante un =
aggiornamento parziale.",
"cantSetNameAfterInit":"Impossibile impostare la propriet=C3=A0 Name =
sull\u0027oggetto dopo l\u0027inizializzazione.",
"historyMissingFrame":"Per garantire il funzionamento della =
funzionalit=C3=A0 di cronologia in Internet Explorer, =C3=A8 necessario =
che la pagina includa un elemento iFrame con ID =
\u0027__historyFrame\u0027 che punta a una pagina che ottiene il titolo =
dal parametro stringa di query \u0027title\u0027 e chiama =
Sys.Application._onIFrameLoad() nella finestra padre. A tale scopo, =
=C3=A8 possibile impostare EnableHistory su true in ScriptManager.",
"appDuplicateComponent":"Impossibile aggiungere all\u0027applicazione =
due componenti con lo stesso ID \u0027{0}\u0027.",
"historyCannotAddHistoryPointWithHistoryDisabled":"=C3=88 possibile =
aggiungere un punto chiave di navigazione solo se enableHistory =C3=A8 =
impostato su true.",
"appComponentMustBeInitialized":"I componenti devono essere =
inizializzati prima di venire aggiunti all\u0027oggetto Application.",
"baseNotAClass":"Il valore non =C3=A8 una classe.",
"methodNotFound":"Impossibile trovare un metodo con nome =
\u0027{0}\u0027.",
"arrayParseBadFormat":"Il valore deve essere una rappresentazione di =
stringa valida per una matrice. Deve iniziare con \u0027[\u0027 e =
terminare con \u0027]\u0027.",
"stateFieldNameInvalid":"I nomi dei campi di stato non devono contenere =
caratteri \u0027=3D\u0027.",
"cantSetId":"Impossibile impostare la propriet=C3=A0 ID =
sull\u0027oggetto.",
"historyMissingHiddenInput":"Per garantire il funzionamento della =
funzionalit=C3=A0 di cronologia in Safari 2, =C3=A8 necessario che la =
pagina includa un elemento di input nascosto con ID =
\u0027__history\u0027.",
"stringFormatBraceMismatch":"La stringa di formato contiene una =
parentesi di apertura o di chiusura non corrispondente.",
"enumValueNotInteger":"Una definizione di enumerazione pu=C3=B2 =
contenere solo valori interi.",
"propertyNullOrUndefined":"Impossibile impostare le propriet=C3=A0 di =
\u0027{0}\u0027 perch=C3=A9 ha restituito un valore null.",
"argumentDomNode":"Il valore deve essere un elemento DOM o un nodo di =
testo.",
"componentCantSetIdTwice":"Impossibile impostare la propriet=C3=A0 ID di =
un componente pi=C3=B9 di una volta.",
"createComponentOnDom":"Il valore deve essere null per i componenti che =
non sono controlli o comportamenti.",
"createNotComponent":"{0} non deriva da Sys.Component.",
"createNoDom":"Il valore non deve essere null per i controlli e i =
comportamenti.",
"cantAddWithoutId":"Impossibile aggiungere un componente privo di ID.",
"badTypeName":"Il valore non =C3=A8 il nome del tipo registrato o il =
nome =C3=A8 una parola riservata.",
"argumentInteger":"Il valore deve essere un valore integer.",
"scriptLoadMultipleCallbacks":"Lo script \u0027{0}\u0027 contiene =
pi=C3=B9 chiamate a Sys.Application.notifyScriptLoaded(). =C3=88 =
consentita una sola chiamata.",
"invokeCalledTwice":"Impossibile chiamare invoke pi=C3=B9 di una =
volta.",
"webServiceFailed":"Metodo del server {0}\u0027 non riuscito con il =
seguente errore: {1}",
"webServiceInvalidJsonWrapper":"Il metodo server \u0027{0}\u0027 ha =
restituito dati non validi. La propriet=C3=A0 \u0027d\u0027 non =C3=A8 =
presente nel wrapper JSON.",
"argumentType":"Impossibile convertire l\u0027oggetto nel tipo =
richiesto.",
"argumentNull":"Il valore non pu=C3=B2 essere null.",
"controlCantSetId":"Impossibile impostare la propriet=C3=A0 ID =
sull\u0027oggetto.",
"formatBadFormatSpecifier":"Identificatore di formato non valido.",
"webServiceFailedNoMsg":"Metodo del server \u0027{0}\u0027 non =
riuscito.",
"argumentDomElement":"Il valore deve essere un elemento DOM.",
"invalidExecutorType":"Impossibile creare un Sys.Net.WebRequestExecutor =
valido da: {0}.",
"cannotCallBeforeResponse":"Impossibile chiamare {0} quando =
responseAvailable =C3=A8 false.",
"actualValue":"Valore effettivo: {0}.",
"enumInvalidValue":"\u0027{0}\