DonatShell
Server IP : 180.180.241.3  /  Your IP : 216.73.216.252
Web Server : Microsoft-IIS/7.5
System : Windows NT NETWORK-NHRC 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586
User : IUSR ( 0)
PHP Version : 5.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Windows/Microsoft.NET/Framework/v4.0.30319/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /Windows/Microsoft.NET/Framework/v4.0.30319//System.Web.Extensions.dll
MZ@	!L!This program cannot be run in DOS mode.

$PEL]" 0~X ,d  R`@OU(d  H.text} ~ `.rsrcUV@@.reloc@BtH	K
O(
*s
z(
*:(}*F{o
s
*2{o
*6{o
*2{o
*6{o
*2{o
*2{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*2{o
*6{o
*2{o
*6{o
*2{o
*2{o
*6{o
*2{o
*2{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*2{o
*6{o
*6{o
*6{o
*6{o
*6{o
*6{o
*6{o
*6{o
*6{o
*:{o
*6{o
*6{o
*6{o
*2{o
*2{o
*2{o
*2{o
*6{o
*6{o
*:{o
*6{o
*6{o
*6{o
*>{o
*>{o
*6{o
*6{o
*:{o
*>{o
*>{o
*6{o
*00~-#(

o
o
(
o
~*0o

-*(/,o
-s
*-So
(
s
o
+(
(	

		o

o
(
-c:o5
o
(
s
o

+#o
o
,o

o
o6
-,o5
*B,n00s

,o
-*o
(0
o
8o
(	
,v,so
,i(
o
,Wo
-No
,o
rpo
,.o
(
(N	(
,	o

+o
o6
:a,o5
	,o
**0(8(

,(4(O*0(8(

,(4(O*.(8(;*0(8(

,(4(P* *>(V(
*0p(
o 
}o!
}o"
}{,
{o#
+
9(o$
iZ"}o$

+T	{~X{~X{o%
{~XXX	i2o&
('
((
9('
()
,{~ w*('
()
,{~ *('
()
,{~ *('
()
9{~!B
{~ {~X!${~X {~X!x:Z{~X w{~X K*('
()
,rp}to*
}*('
()
,rKp}*.(+
(Z*0-*o"
,o"
o#
o&
+
~o,
,('
()
,*s-
~o
uC-vsX
	([(
o.
1Lr}prp(/
	{,#rp	|(0
(1
rp(2
	{s3
~o4
*0Ls5

rp{o6
r#p{o6
r=p{o6
r[p{o6
*s7
(8
 	(9
*0(:
(f
o;
o3
+~o9
tMo<
(=

	repo>
,"o<
(?
(`o@
+6	rupo>
,((A
oB
oC
/o<
(?
(_o6
:wuO,o5
*0		('
oD
oE
s
ouooF
o,ooF
ozooF
osG

oH
	sI
(J
(goK
&oL
,o5
:oM
(+
rp"%(N
%(O
sP
z*o#:>0

(g
snou#o(arp(Q

(l	sEsC 
('
((R
-+(N
oozoy(do:oM
(+
rp"%(N
%(O
sP
z*:>0No3

+)o9
to8-o7.(csS
zo6
-uO,o5
*5<0[o3

+6o9
to8-"oT
1(U
oV
&(coV
&o6
-uO,o5
*BI0o;
o<(R
:o9/%(+
rp"%o<%(O

+{o:/3(+
rp"%o<%o9%(O

+?(+
rp"%o<%o9%o:%(O

*0s
(a(aooW
1WoeooX
-E(e-=sY

(b(b(+
(M"%%oZ
(O
sS
z*0N,Go[
o\

+o9
tTo]
o^
1o6
-uO
	,	o5
***9F(_
(:
o`
*0(j
(:
-sa
z(h*0n(b
(b
o.
o.
3~c
*(d
o.
oe
%/of

+(kXi2rp(g
*0(h

-sa
z(i
(b
*B(irp(j
*0(R
,r1psk
zsY

+E-ol
(m
,	_on
&ol
(o
,ol
on
&+	_on
&Xo.
2oZ
rCpo>
,rGp*0
,O,Loop

+%(q
orMp(r
,o
(s
-Go5
st
,(u
sv
+(w
sx
oy
ropoz
rop({
(|
*2F(}
**0-rspsk
zo\

8o9
teo~
o\
8~o9
tf
	o
o^
@aj('
	o
o
(q,.('
	o
o
(q,	o
o
+Jj('
	o
o
(q,,('
	o
o
(q,	o
o
9	o
o
o
(
9s
o
o\
+2o9
tho
o
o
(r
,	o
o6
-uO,o5
o
	+	(

o

o
	(
-	Io5
o6
:wuO,o5
o6
:9uO,o5
*Ad'?f#205o
o
uj
,o&
()
,o
(r,**0B
(
-*o
,$iY(=
rp(r
,
&*	*!;l{*^}(t,(w*{ *z} }!(v,(u*{!*{"*"}"*j{#-s
}#{#*{$*"}$*{%*"}%*{&*"}&*j{'-s
}'{'*j{(-s
}({(*{)*"})*{**"}**F{0,{/**>}0}/*{0*F{2,{1**>}2}1*{2*{+*"}+*j{,-s
},{,*j{--s
}-{-*j{.-s
}.{.*{3*"}3*{4*"}4*{5*"}5*{6*J(s}6*:(}6*2{6o*6{6o*2{6o*2{6o*2{6o*2{6o*0({8-(

uoZ
}8{8*Z-rpsk
z}8*j{9-s
}9{9*j{:-s
}:{:*j{;-s
};{;*j{<-s
}<{<*:(}=*{=*Zu-*ts*Zu-*to*0]{>-Ns
}>('
oD
('
rpo

{>(
o
&
,o5
{>*7L
j{?-s}?{?*2{=(
*^{=(u
(
(
*J(~c
}@*v((}A(*{A*>}A(**{A*{@*Z-rpsk
z}@*>(}A*J(
~c
}B*:(
(*{D*"}D*{B*-rpsk
z(-(+
(Q"%(O
s
z}B*{C*"}C*0G-rpsk
z(
o
/'%~
%~
%~
o
2**(
}E}F}G}H*{E*"}E*{F*"}F*{G*"}G*{H*"}H*0ko
o\

+;o9
u,,to
rpo>
-rpo>
,
 o6
-uO,o5
*	*GSJ,
{Io
**,,o
,$o
(,{Io
o
o
&*Js
}I(
*0{J-(+*{J
*6s
}J*0.(o
ooo

,o5
*#
0
osF}Xs
}WGs

s
%oo
%o
%o
~c
(
	o
(
{W(	o
,o5
,o5
,(*(^ ~	^)	
0%oooo

o*
>0%oooo

o*
>0oo
o
{o
u~,zo
u
	,X	o
1M(+
(G"%	oM
%	o
%	o
(O
		o
	o
s
z	z*{}0}oo

+(
o-o(
-Ro5
oop
+(q

	o-	o(s
-Go5
*$0J$n0(oo

+(
o((
-Ro5
oop
+(q

	o	((s
-Go5
*#6P#s0
o~Z%-&~YJs
%Z(+~[%-&~YKs
%[(+
o~\%-&~YLs
%\(+~]%-&~YMs
%](+(
s
(+o


+=	o
o
-o
&+ (+
(W"%(O
s
z	o6
-
	,	o5
*I
"o*0,((

uoZ
}N$}T*0=((

uoZ
}N}M-rpsk
z(*0=((

uoZ
}N}M-rpsk
z(*{T*{S-{L(}S{S*0 {Ts
s

o
*{L*"}L*{N*"}N*{P*"}P*.-}P*{Q*"}Q*.-}Q*2(oT*2(oU*2(oV*2(oW*2(oX*{O*^/(Rs
z}O*J{O{R*B-{R}O*{M*"}M*2(oY*0!r3prKpo
,
srprpo
,
]rprpo
-rprEpo
,
5rprpo
,
rprpo
,
	
&
*~0S!{L
YE +$rAp*rMp*rWp*r_p*r_p*rgp*rqp*0"((R
-x(
ropo
-c(
o
2
Xoe

rp((
o.
o.
1o
,o.
o.
Yo

o.
1*r{p*f}Ts
s
(*03#s

s
o
oL
o
}TsI
(*0b$-rpsk
z(}Ss

{L-*((}S{SoU-}L
,o5
*#4W
n($}T}S*0A%(,(sS*{Ts
s
s

(
,o5
**5
0&sN
Ec/+M(
sO
+S(
sP
oV(o
+4(
sQ
oW(o
+s
o
sR

sS
*{
>0'{L(
oU,oUz(Ex+A]]+voV,noV(
+`oV
	,V	(
+MoW,EoW(
+7oX,/oXo
(
+oX,oXo
s
*n((R
,(*(*v(
~c
}U~c
}V*0h(
-rpsk
z-rpsk
zo.
-(Ls
z-(Ks
z}V}U/(Rs
z}W*{U*Z-rpsk
z}U*{V*Z-rpsk
z}V*{W*^/(Rs
z}W*{X*"}X*{Y*"}Y*v(
~c
}Z~c
}[*{Z*"}Z*{[*"}[*(
}ao
}\o
}]~c
}^}_}`*(
}a}\oM
}]}^}_}`*(
}a}\oM
}]}^}_}`*0@(
}a}\oM
}]}^o
}_o
}`*0@(
}a}\oM
}]}^o
}_o
}`*0A(
}a}\oM
}]}^o
}_o
}`*{a*{\*{_*{`*{]*{^*J(
~c
}b*r(
-rpsk
z}b*{b*"}b*{c*"}c*{d*"}d*{e*"}e*06(-rpsk
z-rpsk
zs

Q~giX+s
X~gi2o

8	o
s
+Qo
	~g0{t~g0{u(Jo
	1X~gi2o
1I-
o
+;o

+
(
o
o

(
-
\o5
	o6
:/
	,	o5
*$S+
0	m)o

(R
,~c

o
o
8%o
o
9(Us

	o
9(K-arp(T~c
(+
(I"%%	oZ
%o
%o
%(O
sS
s2o
+i(R
-`rp(T~c
(+
(J"%%	oZ
%o
%o
%(O
sS
s3o
o
+o
o
	o
o
:uO,o5
*A!7X0*~c
Qo&

o&
((
,*~c
o

+]	(Y,H(Z"o
"o
(L--*(R
,PX	i2Q*0I+~c
Q--*^('
o
()
,9-~i-~it^t^(P-(VQ**\('
o
o
,[-~j-~jt\t\(N-	(VP(TQ*P(R
-	(VP(TQ*,-(VP(TQ*o&
o&
((
,(VP(TQ*(M-(VP(TQ*P(R
-(VP(TQ*0~c
Q,-
-**o&
o&
((
,*u,tt(K*u,tt(O*ud,tdtd(R*u,tt(S*o,
*0~,~c
Qo3

o3
~c

o6
-+o9
Qo6
-+o9
QPP(M-*(R
,P
PPP,P-Q	QQ*o
o
(r
,'o	
o	
(r
,o

o

(r
**07-QQ(Q
(Q(N-tQ	tQ**0V.o

o3
+o9
t
%X	o6
-uO,o5
s\(+* 50/~c
Qo
o
(r
,o	
o	
(r
-*o

o

(P-E-~c
+rpo
(
-~c
+rpo
(
(WQ*o
o
(N-B-~c
+to
	-~c
+	to
(WP(TQ**No

o

(r
*(R
,*(R
,*rop(/
*0S0-rpsk
zo&

r!po
(
,#"o
u,t*~c
*~c
*0:1o

~c
,(X(X
	(W(R
,o
*0F~c

o.
1*o.
1(r
,
+r+p(/

+
+o.
1
*029
8us,rptso
(
*uo,mto
	o
()
-
o
,Ju,;t(Uo.
1$(0
r/p"%	o
%(O
*	o
*u(,u,rpto
(
*u),ud,tdo
*u*,u,to
*Xi?~c
*0N3o

,A+5
~f+	o
,*Xi2Xi2*0J4o

~h+
	()
-		o
,*Xi2o
rQp(r
,**04;%o('
%s('
%(('
%)('
%*('
f0%ж('
ripsZ0%Я('
rspsZ0%+('
rpsZ0%,('
rpsZ0%-('
rpsZ0g;%^('
%_('
%`('
%з('
hi"j*{k*J(sm}k*:(}k*2{kof*6{kog*2{koj*2{kok*2{kol*2{koh*0({m-(

uoZ
}m{m*Z-rpsk
z}m*j{n-s}n{n*Z-rpsk
z}n*j{o-s
}o{o*j{p-s
}p{p*j{q-s
}q{q*:(}r*{r*Zu$-*t$s_*Zu#-*t#o]*0]{s-Ns
}s$('
oD
$('
rpo

{s(
o
&
,o5
{s*7L
j{t-s}t{t*2{r(
*^{r(u
(
(
*{v*{z*{}*{~*{w*{x*{y*{|*{{*~-.('
o
s
~*0(
-rpsk
z-rpsk
z-rpsk
z-rApsk
z-rgpsk
z-rpsk
z-rpsk
z	-rpsk
z}~}{}|}v}w}x}y}z	}}*05-rIpsk
z-r_psk
z	()
,rpsk
zs

s
s
	(
oe	(s
	(		((,(	s
A~c
s3o
s
s
s
s
s
s 
s

*nRA>0	p6s!

o"
rpo#
o~,%o$
`o%
+%o$
_o%
%o$
_o%
ov,%o$
@`o%
+.ot,&%o$
`o%
 2%o$
 `o%
o,%o$
`o%
+%o$
_o%
9^oo&
81('
oo
	(-:~c
(+
(V"%o(O
s
s2o
	((
oo)
(r
,oo*
(r
-[~c
(+
(U"%o%o*
%o)
%o%o(O
s
s2o
o)
o*
s
o+
o,
o-
	o.
~c
s2o
(/
:go5
oo0
+"(1
o"
o'o)o#
(2
-jo5
*AL>D1/`07-rgpsk
z-rpsk
z-rApsk
z-rpsk
z
s 
Q	s
Qo3
o+
o5
+{s]o6
}v,#{vo,^s7
(+,C{vo9

	,3	o:
{vo*
{vo)
s
Po;
o6
:z
,o5
o<
9o=
+#(>
o?
&	Po@
(A
-oo5
oB
	+	oC


oD
	o6
-	,	o5

P	PoE
(>oF
oG

+
oH
s1o

o6
-
,
o5
*A|`
08O(w$LM>0q8sI

sJ
	oK
oy,%oL
`oK
oM
oN
oO
&oM
3('
oN
oO
&oP
oQ
oR
*0;9sS

sT
oU
oV
rpoW
o~oX
ooY
oyoZ
o|o[
9(,7o>
+o=
o\
o]
o6
-,o5
(
	,7	o>
+o=
o^
o]
o6
-,o5
oo0
+"(1
	oV
	o'	o)oW
(2
-jo5
o_
*(t##/$0	:-rpsk
zs`

(9oa
8ob

u,:	oo>
+o=
oc
o6
-i,o5
	od
+H		o
o((
,		oc
&
~c

s3o
Xi2o6
:K
,o5
ooe
+{(f
oFo

(-7~c
(+
(V"%oF(O
s
s2o
#
og
~c
s2o
(h
:yyo5
o{oe
8(f
oFooi
,Hoj
,5~c
(+
(H"%oF(O
sk
s2o
ol
&~c
s3o
(h
:pyo5
(o>
+o=
ol
&o6
-,o5
om
*pQp  >*
[c>c>:UtV /~*;*0;9o>
:(
(on
+oo

		o(oo6
-
,o5
op
+oq
or
(os
o6
-,o5
(*(&N
`+~ot
,o.
oe
(
**(R
,rp*rpo
-rp(
**r()
,*ou
-ov
**0<sw

o,mo,9ox

+	oy
~c
s3o
	o6
-
	,	o5
,oz
~c
s2o
oo{
+M(|
o?o(}
,o~
-o
	~c
	s2o
(
-o5
*4&(N
Vd>->Z0	=s

oo
+s(
oAo
	(-6~c
(+
(V"%oA(O
s
s2o
 	o
~c
s2o
(
-o5
*Tp>0	>o(
oeo-
(,9(
9o
o
o
o
o
o
E&+$7('
(+8('
((so
s
s
-s
s
o
О('
oe(o
.&o
М('
oe	(o
s

	oeoo
o
С('
	o
s
oeoo
o
Т('
o
*0?
o
+#o
u

	,-(
	o]o6
-
,o5
o
+)o
u
,-(
o]o6
-,o5
*	/8
J60-@
+o
o&
()
,o
X
o
2*0cAs

oop
+4(q
o,$o,ooo
to
(s
-Go5
*AS0gBs

o
+4o
o-%o
	,	o
(o
o6
-
,o5
((*1>
@M
0C
u,ots5
8u~,ot~s4
+iu},So
u,os5
+Bo
u~,os4
+#ot}s2
+os2
*0Ds

o
+0(

	o
(
(
,	o
t	o
(
-o5
o
8(
o
(
(
,io
teo
o
o\
+&o9
t		o
o
	o
o6
-uO

,
o5
(
:oo5
o
(I9o
+eo
o


o
(
(
,
o
&+4
o
(
(
,!
o
teo
o
o
o6
-,o5
*4
=J3`"r0WEs

o
+,o
o
(
(
,o
te
	o
o6
-
,o5
(*
8E
0YFss
o
o"
s
Qo
&o
o\
8o9
teo~
o\

+{	o9
tfo
o\
+>o9
tgo
Po
&o
s2o
o6
-uO		,	o5
	o6
:z	uO		,	o5
o6
:?uO		,	o5
o
Qo
Qo
oG

+
oH
s1o

o6
-
,
o5
*Lx}x>hKK.)#L0G-~c
(
(9o[
o\
8co9
tT
	o
(r
9E	o]
o\
8o9
to
9o
o\
8o9
to
o:
('
o
(r
9o
o\
+\o9
t		o
rp(r
,:	o
u

,(
o
u,

o
t(o
o6
-uO,o5
o6
:4uO,o5
o6
:uO,o5
o6
:uO,o5
*Adi7ZZ#}*u0wHo[
o\

+Jo9
tTo]
o\
+o9
t
	(o6
-uO,o5
o6
-uO,o5
*&DVb0Io
o\

8o9
tu,
t(+|u,tuo
o\

+A	o9
to
3*.('
o
(-o
(o
&	o6
-	uO,o5
o6
:XuO,o5
*MM0`Jo\

+8o9
to
o
(r
-o
o
(r
,o6
-uO
	,	o5
**DK0$Ko

(
r	p(r
&*0RLo

+1o
o
(
(
,o
te(,
o6
-
,o5
*	*=D
0Mo
o\

+Po9
tho
o\
+o9

	u,>o6
-uO,o5
o6
-uO,o5
**&$J\hf;%('
*(
}s
}s
}*0Ns
o*0,Oo

8o
o
(R
,~c
o
o\

+H	o9
to
s
{o
,(+{o
	o6
-	uO,o5
o
o\
+Io9
t		o
s

{
o
,	(+{
	o
o6
-uO,o5
o6
:
,o5
*AL4TV!
0Psi
}y}w}x{wo
o^
{wo
o
s`(	+{xo
o^
{xo
o
s`(	+js
(
+&*0Qo
o
o
o
(-
(*o
o
o
o
(-
(*o
o^

o
o
sb(+o
o^
o
o
sb(+s
(+-
(**--*,-*o
o
(*0Rsk
}|}z}{{zo
o^
{zo
o
sd(
+{{o
o^
{{o
o
sd(
+ls
(+&*o
o
(,o
o
(-o
o
(**(
,(
,(
*(
,(
**0	_{~c
(+
(T"%o
%o
o
%o
o
%o
(O
sS
s2o
*0	n{~c
(+
(S"%o
%o
o
%o
o
o
%o
o
o
(O
sS
s2o
*0	_{~c
(+
(P"%o
%o
o
%o
o
%o
(O
sS
s2o
*0	_{~c
(+
(O"%o
%o
%o
o
%o
o
(O
sS
s2o
*0So

o
o6
-+o9
o6
-+o9

,	,	o
-*,	-	o
*,,o
o
(*-,**(
-r
	pr+	p(
*(
r
	pr+	pt$(*0|T-
,(
*-!o&

$('
()
-(
z(
,r	pr+	p(
r	prpof(
r	pr+	poh(oj,Br	pr+	p(
+r	pr+	po
(Xo
2(
ok
	,Gr
pr+	p(
+ r
pr+	p	oF
(X	o
2(
ol,Ir-
pr+	p(
+!rC
pr+	po
(Xo
2(
(
*0U-
,(
*-!o&

('
()
-(
z(
,rC
pr+	p(
r_
prpo(
r!prpo(
(
*08U-
,(
*-!o&

('
()
-(
z(
,r
pr+	p(
r_
prpo(
rq
prpo((
r	prpo(
o,r
prpo(
(
o,r
prpo(
(
o,r
prpo
(
(
r
prpo(
o&o&o&(
*0{V
E
"*2+8r
p
+Kr
p
+Cr
p
+;rp
+3rp
++rp
+#rp
+j(0
(
rp(
z*0U-
,(
*-!o&

('
()
-(
z(
,r	pr+	p(
rprpo!(
rprpo#(
r
prpo%(
(
(
*0W-
,(
*-!o&


('
()
-(
z(
,r	pr+	p(
rpr+	pot(
(
ox,rpr+	pov(
(
r-pr+	poy(
(
o{,BrQpr+	p(
+rmpr+	po
(Xo
2(
rpr+	po|(
(
rpr+	po~(
(
rpr+	po(
(
o
	,Gr
pr+	p(
+ r'
pr+	p	o
(X	o
2(
o,IrI
pr+	p(
+!ro
pr+	po
(Xo
2(
r
pr+	po(
(
r
pr+	po((
o,r
pr+	po(
(
o,rpr+	po(
(
rpr+	po(
(
o,IrIpr+	p(
+!rspr+	po
(Xo
2(
o		,Irpr+	p(

+!rpr+	p	
o
(
X

	o
2(
o,Irpr+	p(
+!r7pr+	po
(Xo
2(
(
*0U-
,(
*-!o&

('
()
-(
z(
,repr+	p(
r!prpo(
rprpo(
rprpo(
(
*0rU-
,(
*-!o&

!('
()
-(
z(
,rpr+	p(
rprpoF(
(
*0rU-
,(
*-!o&

('
()
-(
z(
,rspr+	p(
rprpo?(
(
*0KV
E
+rp
++rp
+#r'p
+j(0
(
rCp(
z*0U-
,(
*-!o&

 ('
()
-(
z(
,rpr+	p(
rprpoA(
rprpoC((
(
*0KV
E
+r
p
++rp
+#rp
+j(0
(
r,p(
z*0U-
,(
*-!o&

('
()
-(
z(
,r'
pr+	p(
rprpo'(
rprpo)(
(
*(
*0bX
(	
o

&(	
o
38(	
o
{3(	
o

{3(
+(
zrp(
*0Y-+(

,(
,-(
-$o
{3o
{.(
z,*smoj
okol+c->(	
o
{3+(	
o

{3(	
o
og+(	
o
(
-rUp(
(	
o
-(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
	8H(	
o
@EA8(	
o
{3!(	
o

{3(oi8(	
o
{@!(	
o

{@(
:oj

,
(	
o
,(	
o
8i(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"
-
(	
o
++
(o
+r]p(
+r]p(
(	
o

&(
(	
o
.(	
o
:[(
88(	
o
{@!(	
o

{@(
:Sok

,
(	
o
,(	
o
8*(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"
-
(	
o
++
(o 
+rp(
+rp(
(	
o

&(
(	
o
.(	
o
:[(
8S8K(	
o
{@(	
o

{@(
:ol,
(	
o
,(	
o
8(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o!
+rEp(
+rEp(
(	
o

&(
(	
o
.(	
o
:[(
++(
+(
(	
o

&	(
(	
o
.(	
o
:(
*0Z-+(

,(
,-(
-$o
{3o
{.(
z,*s
8	-=(	
o
{3*(	
o

{3(	
o
o	+a	-=(	
o
{3*(	
o

{3(	
o
o	+(	
o
(
-rp(
(	
o
:M(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0B[-+(

,(
,-(
-$o
{3o
{.(
z,*s
8&	-@(	
o
{3-(	
o

{3(	
o
o	8	-F(	
o
{33(	
o

{3 (	
o
(o	8	-@(	
o
{3-(	
o

{3(	
o
o	8Q	-L(	
o
{39(	
o

{3&(	
o
("
oo	8	-L(	
o
{39(	
o

{3&(	
o
("
oo	8	-I(	
o
{36(	
o

{3#(	
o
(#
oo	+a	-=(	
o
{3*(	
o

{3(	
o
o	+(	
o
(
-rp(
(	
o
:(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0\(>
 V}5  V<; WW\.X V}._8 yE 5 q_.w yE .$8 7.D Y 3wr
p(
-\+hr
p(
-O+Yr
p(
-B+Jrp(
-5+;rp(
-(+,rp(
-+rp(
-+*******,('
($
z0	]-+(

,(
,-(
-$o
{3o
{.(
z,*s
8	-@(	
o
{3-(	
o

{3(	
o
o"	8	-=(	
o
{3*(	
o

{3(	
o
o$	+f	-B(	
o
{3/(	
o

{3(	
o
(#
o&	+(	
o
(
-rxp(
(	
o
:(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0^-+(

,(
,-(
-$o
{3o
{.(
z,*so{
ooooo	+(	
o
(
-(%
(	
o
-(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&
(
8
(	
o
@
	-F(	
o
{33(	
o

{3 (	
o&
("
ou	8d
	-F(	
o
{33(	
o

{3 (	
o&
("
ow	8
	-F(	
o
{33(	
o

{3 (	
o&
("
oz	8	(	
o
{@!(	
o

{@(
:	o{,
(	
o
,(	
o
8l	(	
o
(	
o

&
(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o'
+rp(
+rp(
(	
o

&
(
(	
o
.(	
o
:[(
8	-F(	
o
{33(	
o

{3 (	
o&
("
o}	8I	-F(	
o
{33(	
o

{3 (	
o&
("
o	8	-F(	
o
{33(	
o

{3 (	
o&
("
o	8(	
o
{@!(	
o

{@(
:zo,
(	
o
,(	
o
8Q(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o(
+r(p(
+r(p(
(	
o

&(
(	
o
.(	
o
:[(
8z(	
o
{@!(	
o

{@(
:Co,
(	
o
,(	
o
8(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o)
+rp(
+rp(
(	
o

&(
(	
o
.(	
o
:[(
8C		-G(	
o
{34(	
o

{3!(	
o&
("
o		8	
-H(	
o
{35(	
o

{3"(	
o&
(o	
8	-G(	
o
{34(	
o

{3!(	
o&
("
o	8X	-G(	
o
{34(	
o

{3!(	
o&
("
o	8
	
-G(	
o
{34(	
o

{3!(	
o&
("
o	
8(	
o
{@!(	
o

{@(
:o,
(	
o
,(	
o
8\(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o*
+rp(
+rp(
(	
o

&(
(	
o
.(	
o
:[(
8(	
o
{@!(	
o

{@(
:No,
(	
o
,(	
o
8%(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o'
+rp(
+rp(
(	
o

&(
(	
o
.(	
o
:[(
8N(	
o
{@(	
o

{@(
:o,
(	
o
,(	
o
8(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o+
+r+p(
+r+p(
(	
o

&(
(	
o
.(	
o
:[(
+rp(
+rp(
(	
o

&
(
(	
o
.(	
o
:
(
*0_-+(

,(
,-(
-$o
{3o
{.(
z,*s
8	-@(	
o
{3-(	
o

{3(	
o
o	8	-=(	
o
{3*(	
o

{3(	
o
o	+a	-=(	
o
{3*(	
o

{3(	
o
o	+(	
o
(
-ry p(
(	
o
:(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0w`-+(

,(
,-(
-$o
{3o
{.(
z,*sH
+a	-=(	
o
{3*(	
o

{3(	
o
oG	+(	
o
(
-r p(
(	
o
-(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0wa-+(

,(
,-(
-$o
{3o
{.(
z,*s=
+a	-=(	
o
{3*(	
o

{3(	
o
o@	+(	
o
(
-r p(
(	
o
-(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0Arp(
-rp(
-r'p(
-+***)('
($
z0b-+(

,(
,-(
-$o
{3o
{.(
z,*sE
8	-=(	
o
{3*(	
o

{3(	
o
oB	+g	-C(	
o
{30(	
o

{3(	
o
(oD	+(	
o
(
-r p(
(	
o
:G(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0Ar
p(
-rp(
-rp(
-+***/('
($
z0c-+(

,(
,-(
-$o
{3o
{.(
z,*s+
8	-=(	
o
{3*(	
o

{3(	
o
o(	+a	-=(	
o
{3*(	
o

{3(	
o
o*	+(	
o
(
-r!p(
(	
o
:M(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0}(	
o,
rpo-
}(	
o,
r
	po-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
r_
po-
}(	
o,
r	po-
}(	
o,
r	po-
}(	
o,
rpo-
}(	
o,
r	po-
}(	
o,
rQpo-
}(	
o,
r
po-
}(	
o,
repo-
}(	
o,
rq
po-
}(	
o,
r
po-
}(	
o,
r'
po-
}(	
o,
rpo-
}(	
o,
r
po-
}(	
o,
r
po-
}(	
o,
rpo-
}(	
o,
r	po-
}(	
o,
r
po-
}(	
o,
rspo-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
r+	po-
}(	
o,
rC
po-
}(	
o,
rI
po-
}(	
o,
rpo-
}(	
o,
rIpo-
}(	
o,
r
po-
}(	
o,
rpo-
}(	
o,
r7po-
}(	
o,
r!po-
}(	
o,
r
po-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
r
po-
}(	
o,
r
po-
}(	
o,
r-po-
}(	
o,
rpo-
}(	
o,
r
po-
}(	
o,
rpo-
}(	
o,
r-
po-
}(	
o,
ro
po-
}(	
o,
rmpo-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
rpo-
}(	
o,
r	po-
}*(.
*s*s*(/
*Fr
	pr+	po
*6t)o*2t*o*(*04d{-%s7

rY!pr:"po4
{-}{*04d{-%s7

rY!prf"po4
{-}{*04d{-%s7

rY!pso0
{-}{*Z$('
()
,**j$('
()
,s**(1
*(
-r
	pr"p(
*(
r
	pr"pt(*0e-
,(
*-!o&

('
()
-(
z(
,r"pr"p(
r	prpo(
o,Br	pr"p(
+r	pr"po
(Xo
2(
o
	,Gr
pr"p(
+ r
pr"p	oF
(X	o
2(
o,Ir-
pr"p(
+!rC
pr"po
(Xo
2(
o,Ir#pr"p(
+!r*#pr"po2
(Xo
2(
(
*0U-
,(
*-!o&

('
()
-(
z(
,r*#pr"p(
r!prpo-(
r>#prpo/(
(
*0U-
,(
*-!o&

('
()
-(
z(
,rC
pr"p(
r_
prpo(
r!prpo(
(
*08U-
,(
*-!o&

('
()
-(
z(
,r
pr"p(
r_
prpo(
rq
prpo((
r	prpo(
o,r
prpo(
(
o,r
prpo(
(
o,r
prpo
(
(
r
prpo(
o&o&o&(
*0{V
E
"*2+8r
p
+Kr
p
+Cr
p
+;rp
+3rp
++rp
+#rp
+j(0
(
rp(
z*0U-
,(
*-!o&

('
()
-(
z(
,r	pr"p(
rprpo!(
rprpo#(
r
prpo%(
(
(
*0bX
(	
o

&(	
o
38(	
o
{3(	
o

{3(
+(
zrJ#p(
*0f-+(

,(
,-(
-$o
{3o
{.(
z,*so
ooo+c->(	
o
{3+(	
o

{3(	
o
o+(	
o
(
-rUp(
(	
o
-(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&	(

8K(	
o
@ED8(	
o
{@!(	
o

{@(
:o,
(	
o
,(	
o
8(	
o
(	
o

&(

8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o
+r#p(
+r#p(
(	
o

&
(
(	
o
.(	
o
:[(
88(	
o
{@!(	
o

{@(
:o,
(	
o
,(	
o
8i(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o 
+r:$p(
+r:$p(
(	
o

&(
(	
o
.(	
o
:[(
88(	
o
{@!(	
o

{@(
:So,
(	
o
,(	
o
8*(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o!
+r$p(
+r$p(
(	
o

&(
(	
o
.(	
o
:[(
8S8K(	
o
{@(	
o

{@(
:o,
(	
o
,(	
o
8(	
o
(	
o

&(
8(	
o
3V(	
o
{35(	
o

{3"-
(	
o
++(o3
+r$%p(
+r$%p(
(	
o

&(
(	
o
.(	
o
:[(
++(
+(
(	
o

&	
(
(	
o
.(	
o
:(
*0g-+(

,(
,-(
-$o
{3o
{.(
z,*s,
8	-=(	
o
{3*(	
o

{3(	
o
o.	+a	-=(	
o
{3*(	
o

{3(	
o
o0	+(	
o
(
-r%p(
(	
o
:M(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0Z-+(

,(
,-(
-$o
{3o
{.(
z,*s
8	-=(	
o
{3*(	
o

{3(	
o
o	+a	-=(	
o
{3*(	
o

{3(	
o
o	+(	
o
(
-rp(
(	
o
:M(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0B[-+(

,(
,-(
-$o
{3o
{.(
z,*s
8&	-@(	
o
{3-(	
o

{3(	
o
o	8	-F(	
o
{33(	
o

{3 (	
o
(o	8	-@(	
o
{3-(	
o

{3(	
o
o	8Q	-L(	
o
{39(	
o

{3&(	
o
("
oo	8	-L(	
o
{39(	
o

{3&(	
o
("
oo	8	-I(	
o
{36(	
o

{3#(	
o
(#
oo	+a	-=(	
o
{3*(	
o

{3(	
o
o	+(	
o
(
-rp(
(	
o
:(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0\(>
 V}5  V<; WW\.X V}._8 yE 5 q_.w yE .$8 7.D Y 3wr
p(
-\+hr
p(
-O+Yr
p(
-B+Jrp(
-5+;rp(
-(+,rp(
-+rp(
-+*******,('
($
z0	]-+(

,(
,-(
-$o
{3o
{.(
z,*s
8	-@(	
o
{3-(	
o

{3(	
o
o"	8	-=(	
o
{3*(	
o

{3(	
o
o$	+f	-B(	
o
{3/(	
o

{3(	
o
(#
o&	+(	
o
(
-rxp(
(	
o
:(	
o
&(	
o
,
(	
o
*(	
o
(	
o

&(
+>(	
o
3rp(
+rp(
(	
o

&(
(	
o
.
(	
o
-(
*0n(	
o,
rpo-
}(	
o,
r	po-
}(	
o,
r
po-
}(	
o,
r
po-
}(	
o,
r
po-
}(	
o,
r!po-
}(	
o,
r"po-
}(	
o,
rC
po-
}(	
o,
r#po-
}(	
o,
r
	po-
}(	
o,
r_
po-
}(	
o,
r	po-
}(	
o,
rq
po-
}(	
o,
r*#po-
}(	
o,
r>#po-
}(	
o,
rpo-
}(	
o,
r"po-
}(	
o,
r
po-
}(	
o,
r
po-
}(	
o,
r
po-
}(	
o,
r	po-
}(	
o,
r-
po-
}(	
o,
rpo-
}*s*s*Fr
	pr"po
*6t.o*2t/o*(*04d{-%s7

r%pr&po4
{-}{*04d{-%s7

r%pr&po4
{-}{*04d{-%s7

r%pso0
{-}{*Z('
()
,**j('
()
,s**0Ch(R
,*%,of

+o4

	(r
,*Xi2*0:io.
[$
+ Zo
 (0
(5
Xi2*0=jiZs6

+!$r&p(0
(7
oV
&Xi2oZ
*"(8
*(
s9
}:
s;
}<
s=
}>
*2{:
o?
*2{<
o@
*6{:
oA
*(B
{:
oC
{<
oD
{>
oE
*2{>
oF
*{:
oG
{<
oD
{>
oE
*{:
oH
{<
oI
{>
oJ
*6{:
oK
*6{:
oL
*:sM
%}N
*0*@{<
oO

.{<
oP
{>
oQ
*R(B
{:
oR
*:{:
oS
*2{:
o.
*V(T
(U
(V
*6{:
o0
*:{:
o1
*0k{:
o2

,
(T
(B
*(W
*0Nl3*t
to
o
.*+oX
oX
(Y
-*Xo
2*0Im-*sZ

to3
+o9
o[
o6
-uO
	,	o5
o\
*1.s*:(t*0{n-r&psk
z-r'psk
zo]
('
(.
o^
P('
r'p;%o]
%o_
%(`
(a
ob
*0n-r&psk
z-r#'psk
zo]
(.
o^
P('
r5'p;%o]
%oc
od
%o_
%(`
(a
ob
*:("t*0o-r&psk
z-rC'psk
z%o]
rp(e

sEoJo_

rU'pre'pof
+sog
P('
{-+;%o]
%{od
%	%{(3(`
(a

r'pr'po6
-,o5
o^
	ob
*c0Z-r&psk
zo^
P('
r'p;%o]
%o_
%(h
(a
ob
*0Z-r&psk
zo^
P('
r'p;%o]
%o_
%(h
(a
ob
*0p-r&psk
z-r'psk
z-r'psk
zo]
(.
o]
(.o^
P('
r(p;%o]
%oc
od
%oc
od
%o_
%(`
%(`
(a
ob
*0Q-r&psk
zo^
P('
r(p;%o]
%o_
(a
oi
*0Q-r&psk
zo^
P('
r(p;%o]
%o_
(a
oi
*0}q(&
oj

sY
r)(poV
&+@1r-(poV
&o
oV
&r3(poV
&o
ok
&Xi2r7(poV
&oZ
*(
-rpsk
z()
,ripsk
z}}*{*{*0rsE
oI*v%rp(e
(/*0rsE
oI(3*Л('
Ц('
(.t*2~o=*0As,i+
X;+od
X2od
(4(l
*,i2i1sm
z~iYon
*0M;%Љ('
%Ђ('
%S('
%T('
%U('
*0bt(
(+}}op

++oq
{o+or
o,or
aa}o6
-
,o5
* 7W
{*^u<-*t<(:*0m@{i{i.*
+H{o+{o+(s
-!{o,{o,((
,*X
{i2*.s<*0u(
st

('
;%('
(u
"%sv
ow
r;(psx

(y
	oz
rY(po{
}s|
}s}
}*0v{o~
s7
{o
-P{o
{o
,
?(
{(>{o
{o

{o
	*05ekw0`wrg(p{X(

{8('
o
(?(@(Ao

{X}	*0.xi
8rCpo+(
o,o

o+ o,o
r(po+(
 o,~
o
o
~
o
~
	o
~
o
r(po+(
 ;%o,o
o
~
o
~
o
~
	o
~
o
o
o
	Xi?*0yr(p ('
;%"('
o

o
o
o

~
o
~
o
~
o
~
o
~
	o
~
o
~
o
	o
8o
_('
;%on
o

~
r(po
o
~
o
~
o
~
o
~
o
~
r(p;%%o
o
~
	o
~
o
~
o
	o
Xi?"~
o
~
o
*0zr(p ('
~
o

o
~
o

8	o
_('
;%on
~
r(po
o
~
o
~
o
~
r(p;%o
o
~
o
	X
	i?k~
o
*>(k
}*{*(0
("%oM
%{(O
*0z(
-r(psk
z~-
((
s
}s
},(F,(G}{o.
}((*0M{
+"o
(R
-
o
(HXi2i3o
(R
,	}*0N|
+CiY3u,t}+rp(0
(1
(
(HX
i2*{o
,(
"%(z{o
*0S}|{
(K((
,)({%-(
"%(j(z(
(*0~s

(Kr(p(-
r(p(,(+"r)p(-
r)p(,(s6%}%}o
|{
3(+(
(*0V|{
(L|{32((K(
(((K
	(\*0c(M
+<{((MG('
{{(q(

|{.r%)p(-*0c(N
+<{((NG('
{{(q(

|{.r+)p(-*0(O
8{((O{. {.{.{+
	9od
o
:od
o
-uod
od
((
9od
od
o
,od
(
8od
od
o
,od
(

8{{(rzod
(o-
od
(o,Xod
od
((
,tod
({%,+\od
({%,
+D{{(rz	-I('
+
J('
{{(q{YE
.BBBB
B9
#+@(
+5(
+*(
+(
+(
+	(
|{;|{;|{;|{;|{;|{;|{;|{;o*0(P
8{((P{
	;	.
	.^8od
('
()
-mod
('
()
-VK('
{{(q(
+4L('
{{(q(
+	(
|{;0|{;|{;
*0(Q
+q{((QH('
{{(q{
	0
	.&	."+(	.	.+(

+(

+(

|{.|{;n|{;]r3)p(:M*0|{.|{.r;)p(9{
({3T|{.|{38|rC)p|{(
}|{}(R*(Q{3'M('
{{(p(
+%N('
{{(p(
*(R*0B(S
|{3((a
+|{3
(f
+*0k|{
YE	%%%+#(Y*(T*(U*(V*(X*(
"(z0(|{ol

|{|{o.
Yo
o

	2	o
	X+'35o.
.(
"(z(ol
(W*((W*0(|{
ol
-.z(
-(
"%(z( j5i(W*n5mb(W*!5(W*a(W*(
-(
"%(z( j2 j0i(W*(W*0(|{
o.
Yol
F.f3!o.
Yo
(
,	c+(
,d-(
"%(z((W*0(h

{o
*0/	(
(((K

(
((*0(~|{o
,Ou;,
t;(_*~3(Z*~3([*~3(]*(t*{|{o
-"{,G{|{o
,-u-	(h
+u,(^*(*{,{(a*(
"%|{(z{-(
"(z({*0C|{
((di.(
"(z(\*0od
('
((
,(
"(zod
od
((
9~3+od
({
~3+od
({,-+,-+t~3rG)p+od
o
~3rG)p+od
o

,,(
"%%	(z(
"%%	(z(
*0+(	(
((s

s
|{(KrQ)p(,(((+/u-(
"(zo
o
o
od
s*o
|{
3(8c
(
(((2o

+*	o
o+o
o
(
X	i2(
	(
*0L|{
((dod
rW)p(t.(
"(z(
*0|{
(|{3Mo
,(h,(
"%(j(z('
;%on
(|{	3w(do
(y
	,	.0+;i3(`*(
"%(j(zt(
*(
"%(j(z(
(((a*0Uod

()
,*o
,[o
,S(h-(h,(i(i()
,(
*(k-(o,(k-(o,(
*o
-o
-o
-o
,(
*(
"%(j%(j(z0,od
|{
((|{	@.,E('
((
,33('
(b((
,o
(c*(d(t,
.%8(
"%%(j(z	to
(g-"(
"%o
(j(zo
j('
()
,&(
"%%o
(j(z(
*(
"%%(j(z(s(
, (
"%%(j(zu-t(
*t(
*0s+To
,o
()
,*o
,,o

+(b
	((
,	*Xi2o
((
,"('
((
-*0{
rp(e
}(d}O('
(t.(
"%(z	o
re)p(
-	o
rm)p(
,;%%od
+;%-
%+ %%%(3!('
	o
(a
*0F	(
((|{
3+(e

(
((*00s

(Ko
|{
3(+o
*0|{
(
(((e(
((od
o
,Zod
o
3i.(
"(z('
({-(
"(z(
*od
(u,.#+/(
"%od
(j(z	t(
*(
"%od
(j(z0%~
+()
,*Xi2*o
,o
('
()
**N(h-*o
*0%(i
o
((
,ru)p(
**(n**(n**(n*0[(io
,*(

YE+****2(io
*0M%P
ry)p(t.((
"%%od
(j(zQ*0@%P%P
ry)p(t.PP(rzQQ*(
"%%od
(j%od
(j(*0T-+`
(vo>
+"o=
~
o

	,	o6
-
,o5
**.E
0h-+`
(vo>
+2o=
~
o

	(+(y,o6
-
,o5
Q**>U
0(vo>

+vo=
o
,d(+~%-&~s
%(+~%-&~s
%(+
	(y,o6
-
,o5
Q**
0o
,s

(x*(w*>s%}*01o
-'o
o

+(xXi2*0s
}}~%-&~s
%(+s
(+(+}{i1"{s
(+(+}{i36{+{{X{i2{Q+Q{i*0\{ii.*i
+1{o
,*o
({
	-*	Xi2}*0od
()
,*u9t
~3o
,(h9(
*{o
9(i
od
(
	YE
0000(+.(|
+$('
()
,(|
+(}
	,	(
*od
(~,o
`,(
***0(i(

YE-AVhz8(
9m*(
9$*(
9	n*(
9o*(
,t*(
,bb*(
,P*(
,>a*	(
,,	c*
(
,
d*(
,**0-o
,#~
o

,to
**0p()
,*o
-o
*(i
(i((
,()
,*o
-(
+o
-(
+
YE	@L|8	YE8*	Y	B*	YE	iii+g*	Y5_*		YE88+6*	
Y5-*	.	
Y5*	Y5*	
Y5
*()
,**0F
+8od
{o
{o
(/*1
Xi2*0g()
,*()
,*()
,*(~
(~,-*,-*(l,
(m,*(l,
(m,**"(
*"(
*od
('
()
,r})p((h
(
*(
*od
('
()
,r})p((h
(
*(
*od
('
()
,r})p((h
(
*(
*od
('
()
,r})p((h
(
*(
*0Dod
('
()
,%od
('
()
,r)p(*(
*"(
*0od
o
,"('
(
od
o
,"('
(
('
r)p;%"('
%"('
(
%%(
*od
;%od
%od
o
*z(%%(
*}{{2+{{ol
}*0E{{/{X}{{2+{{ol
}*0Y+({(
-{{[B!YE"99GTy999999999995[[;8,];|;8({=3(
81
8*(
8({&3(
8
8(	
8(

8(
8(
8(
8(
8(
8(
8(
8z({=3(
8\{>3(
8D
8<({=3(
8
8({=3(
8
8(
8(
8(
8({|3(
8
8{
(+({{/	{	3{{3{(
"(z({	.
88{(-{@.
{_3$({(-{_.
8{(m
9
({(m
-{.3!
((({(m
-{E.
{e3;
({+.
{-3((({(m
-{F.
{f3@(+8{{3
+&{(
"%{(z|}|{{Yo
}|}*V(
_b _*V(
_b _*|{3|{(r
**06(
(|{
o.
1ol
@3oe

*{(m
-{(
"(z*v|{."(z*|{.(
"(z*R|{(*N(+
(O
sB*0(
s

r)p~o
r)p~o
rG)p~o
~~o
~~o
~~o
~+
	o
	o
Xi2*0s;%"('
%('
%('
%('
%m('
%$('
%n('
%o('
%('
%	b('
%
('
%a('
%c('
%
d('
%('
%*('
%('
%('
%u('
%q('
%r('
(h
(h
(h
r)pr)pr)p*~*|(
-(s
}|(
*0r)p(
t
o
*.s*o4
o.
1+o
(R
,+(r
-(
s
z*r~-(
o	
~*09~o
t
(

,o
sx
(

~o4
*0E~o
tZ
(

,)~,(o

+(

~o4
**(*0%~o
-(
~o
&*08o

+tu
	,	Xi2&**00"0Ws('
oD
('
oD
s7
(8
s7
(8
s
*r(
-r)psk
z}*{*(*:(}*~(
,D('
r	*p(
~*(*"(*V{-~c
*{*"}*0f{-W(o

-(
sS
z(h}{-)(0
(
"%(o
(O
sS
z{*0/((}({o:(
o.
9{o&
o
(
,6(0
(
"%%(%(o
(O
sS
zo
rW)po
o

o
j('
o
,	i3('
	o
o
-6(0
(
"%%(%(o
(O
sS
zo
((
{o
*0R((R
-{*(o7
{o
(
-{o
r*p(
ot
**"}*0H((R
,r*p*r9*p(((R
-rp((
+~c
(/
*0
o9,$ooo4

o.
1o 

,Go!
+%("

	o,	oo	(
(#
-o5
(*82j0(1
,DP- s6
QrY*po
Pr*poV
&P($
oV
&Pr+poV
&(R
,8P- s6
QPr'+poV
&P($
oV
&Pr+poV
&`,,o
o%
,
Pr+poV
&*B{%-&~c
*"}*:(
}	*2{	o&
*6{	o'
*:{	o(
*>{	o)
*>{	o*
*F{	o+
*F{	o,
*:(
}
*2{
o-
*0${
uS
,o	*{
o
*j{-s}{*0o$-((.(.(-o<+++
((R
:(
,	(
o59(9(9(.
+NoZ
(+#		o4
(r
,+Xi2-o/
(0
o,
,,		o.
Yo
r,p(/

(	o	*s0
(o1

8
os
o-3!o,or,pot
:o(R
oM(R
-o+
o.+-uooo&o(}
,<~(}
,.(,%(.
("%%(O
sS
z
-o,o2
(}
,s3
s4
o5

`9,Eo(R
,!oooo+)oo+oM((6
,(7
-(o(8
o9
s:
o;

o6
:*
,
o5
(u*A"0C(o1

+os
o~(

,o6
-
,o5
**)5
0:(o1

+os
o,o6
-
,o5
** ,
(*r(
-r-,psk
z}*{*09,,
uI,+o<
o=

o<
-
-+o=

*0o.
0*ol
_3ol
_.*rM,pot
-are,p(r
-Sr,p(r
-Er,p(r
-7r,p(r
-)r,p(r
-r-p(r
-
r%-p(r
**{
*"}
*{*"}*{*"}*~**J(
((*:(
(*{*09o&

;%('
rC-po
(+(rk-po
(+(r-po
(+((,(,(,}*}*0k(,(o
&**"0(,(o
&**"0(,(o
&**"0m(>
-Mr-p(?

((
,(r-po@
(
,oA
(+(&(B
(-*(o*?K"vЛ('
(C
u*:(
}*2{oD
*2{oE
*~*|(
-(s
}|(
*0r.p(F
t
oG
*.s*('
()
,~c
*(H
*(I
*(J
*V(J
}}*0+{,{*o

-(
sS
zsk*0\{-Mo

-(
sS
z(h}{-$(0
(
"%o
(O
sS
z{*V{,{*~c
*"}*(K
*0!oL

+u,*oL

-*:(M
(*0((R
,$(0
(
"%o
(O
sS
z(o=

--(0
(
"%o
%((O
sS
z((.(
sS
z(o+*(N
(o4(O
-(o?*"o*o*:(
}*{*:(
}*2{oP
*2{oQ
*6{oR
*6{oS
*:(
}=*V{H-~c
*{H*0;{=oAooT

oU
~I(V
-oW
~J(V
**2{=oX
*0w{=o o

-^{=o o,L{=o ooY
+o9
toZ
3
o6
-uO
	,	o5
*?%d0c@-~c
-~c
o.

(0
(1
o
|o[
o
|o[
o
|o[
o
|o[
*:{>(R*6{A(L*:{@(R*09o\
>sY

8o]

	oK
9-	,on
&,	'on
&	o
oV
&,	'on
&	o^
3,r3.poV
&+H,on
&+=,$r;.poV
&	oP
oV
&'on
&+,on
&	oP
oV
&Xo\
?HoZ
*~c
*0L-rA.psk
*uI-4u -,u!-$(0
("%o
(O
s
**0Gu
,o_
*ux, *uy, *o
,o
(N* *0(o`

,+oa

oa
-o
*~c
*6{B(L*:{?(R*09ob
>sY

+joc

	oK
,V-	,on
&,	o-f+ton
&	o
oV
&3,on
&	o^
.
	oP
oV
&Xob
2oZ
*~c
*0od
rQ.poe

,K+A%,of

+	o4
rq.p(
,*X	i2Xi2of
r.pog
(R
-o4
r)p(
**0og

9|oh
.o
Xoe
}H+
~c
}H{=o
(s
,9,oh
. }D%,of
}E+}D}E{>,D{>ob
,7{>oi

+(j
o(k
-o5
}G*0{=o1,j{={-]{=oAooT

ol
~;(V
,oU
~<(V
,om
+,
(F{=oR{=o=,{=oAVsn
o$*0{=oAo!oo

{=sov{=o(R
,{=ooop
-oM
(N
{=o,({=ooop
,(G-
+
	,H{=oooq
r.por
r/por
r}/por
*v{=oAbss
o2*0{M9~c

{K(R
-	{K
+!{L,{LoK
,{LoP

o.
1B{=r/p
('
oD
oqr0pr0p(Hr50p~c
(H*0{=oK{?o5{=oK{?o:{=oK{?o;{=oK{?o6{=oK{?o7{=oK{?o9*06{>9*{>ob
st
}?{>ob
st
}@{=o
ou

8{>oc
o-@{D,o
{D(r
-${E,{Eo
(+++
oL
+Lu,.{?ow
-{@ow
,
{@ox
+oL
-
+3	,o{?ox
+oX{>ob
?*0t(M
,z{B,2{Boy
,$(0
("%o
(O
s
z{A-sz
}A{Aoy
-{Ao{
*0-rA.psk
z{=o=-(sS
z{C-
s}C+7{Co,)(0
("%o
(O
rA.ps|
z{Cso}
*b(E,{M-}M*0t(M
,z{A,2{Aoy
,$(0
("%o
(O
s
z{B-sz
}B{Boy
-{Bo{
*{>-s~
}>{>ox
{G,o*z{=oA{=o4(d*0{?,C{?oi
+(j
oK
,{FoR
(k
-o5
{=oA
o,}
o ~
o
~
s
o
o
+o9
toR
o6
-'uO,o5
,
o 	o&*()=$df0(Z{=oAo 
rA0po
o
o
rW0p~c
r[0p(H{=oAoass
o}Fso{=oAo
	,Q	o
+0o
(
(,r_0p(
(
(Ho6
-,o5
rw0p~c
(J(Hr0p~c
(P(Hr0p~c
(I(Hr0p~c
(K(Hr1p~c
(Q(Hr91p~c
{=o(0
(1
(Ho,rc1p~c
o(H{=oAo,-{=oAo"(R
-ry1p~c
(H(c(Y(X*=0c{C,Z{Co

+3(
o-r1p+r1pooP
o(H(
-o5
*@T0@r1po
{=o
o
rr2po
{=oAooo
r|2po
{>(er2po
(Jo
r2po
(Po
r2po
{=o
(0
(1
o
r2po
{=o
(Oo
r2po
r2po
*09ob
>
8oc
oK
,{-,o[

r2po
o-f+to[
o
o
r2po
o^
3
r2po
+"r2po
oP
o
r2po
Xob
?e*{=oAo/{=o=,}L}K(]*f{=oAo0(h*{=o=,o4
}K}L(]*0M{>,{>ow
-)(0
("%o
(O
r2ps|
z{>o
&*s
;s
<r2ps
Ir2ps
J*:(
}N*2{No
*2{N{
*F{No
s*2{No
*{Nou
,{Nou
s**2{No
*2{No
*2{No
*2{No
*F{No
s
*F{No
s*F{No
s
*2{No
*6{No
*6{No
*6{No
*6{No
*6{No
*6{No
*6{No
*2{No
*6{No
*6{No
*6{No
*6{No
*6{No
*6{No
*6{No
*6{NoS
*6{No
*6{No
*:(}O*0f{O-W(o

-(
sS
z(h}O{O-)(0
(
"%(o
(O
sS
z{O*0((
(o<*
*((R
,r3p*r3p((
*0
o:,8oEoo4

o.
1o

o,{Ps
,qo!

+O("
o,=oo(
o,-{Ps
+
{P((#
-o5
(*N\0\
,o
+(2,DP- s6
Qr.3po

Prj3poV
&P($
oV
&Pr+poV
&(R
-_-r.3po

,(r
-(sS
zP- s6
QPr3poV
&P($
oV
&Pr+poV
&9P- s6
QoO
,Pr&4poV
&*,fo
s

o
o
+o9
t(o6
-uO,o5
P	(*(=0?h
+1(R
-!o4

	o.
1	o
-	o
&Xi2*0.oh

3
+Jo
Xoe
P-s
Qs

P	o
+Po

	-s

P	o
(
o
,#-(+
(
"%(O
s
z,	,	o

+o
*0s

rL4poV
&o
oV
&r4poV
&,ko
+No
r4poV
&(
oV
&r4poV
&(
o
oV
&r:5poV
&o6
-
,o5
*7Z
V{P,{P**{P-}P{Po
t*b,
o
t}P*B{Q%-&~c
*"}Q*r(
}R}S}T*{S*{T*{R*r(
}U}W}V*{U*{W*{V*(
}X}[}Y}Z}\*{Y*{Z*{X*{[*{\*r(
}]}^}_*{]*{_*{^*(
}`}a}d}b}f*(
}`}a}d}b}c}e*{e*{a*{b*{c*{`*{d*{f*"(B
*.('
*0((

-(
rB5p(
(
o

*>(A
}l*"(A
*.('
*0n{m-_}m(
t
(R
-D(
(
o
{l((
,{l(
to
&(
(
*B[:(
}o*{n-"}n(
{o(
o
(
(
*:(
}q*{p-"}p(
{q(
o
(
(
*0
o;,+oGooo4

o.
1o

,Uo!

+3("
o,!oo,o(
(#
-o5
(*A@02(3
,DP- s6
QrV5po
Pr5poV
&P($
oV
&Pr+poV
&(R
,`-rV5po
,(r
-(sS
zP- s6
QPr5poV
&P($
oV
&Pr+poV
&,qoO
,P- s6
QPr<6poV
&*(

	,B	,>P- s6
QPrX6poV
&Ps
	(
oV
&Pr4poV
&*{r*"}r*B{s%-&~c
*"}s*B((*o(R
,(r*p((/
*o*(*{t(R
,((*{t*"}t*0@.o

3*Xoe
*{t(R
-rp{t((*}y((R
,(
rips|
z}{*((R
,(
r6ps|
z}u*o*{u*~{v-(
s
}v{v*B{w%-&~c
*"}w*~{x-(
s
}x{x*{y*"}y*j{z-s
}z{z*{{*(R
,(
rps|
z}{*(R
,(
r6ps|
zs(*(R
,(
r6ps|
zs(*(R
,(
rps|
z(R
,(
r6ps|
z(o
*:s(*(R
,(
rps|
z(o
*(R
,(
r6ps|
zs(*0{v9{vo
>{on
&
{vo
+So
,
+	,on
&"on
&(
($
oV
&"on
&:on
&(
oV
&o6
-
,o5
r7(poV
&*rG)poV
&*3_
0
{x9{xo
>{xo
+uo
(
o-`,r)(poV
&
+r6poV
&"on
&(
($
oV
&"on
&:on
&(
(oo6
-
,o5
,
rG)poV
&*r7(poV
&**
0
{x9{xo
>{xo
+vo
(
o3`,r)(poV
&
+r6poV
&"on
&(
($
oV
&"on
&:on
&(
(oo6
-
,o5
,
rG)poV
&*r7(poV
&**
0
o(R
-r6po(sY

r6poV
&(oV
&r-(poV
&(r-(poV
&(r-(poV
&((,6r-(poV
&r7poV
&(($
oV
&r7poV
&r7poV
&oZ
*(,$oQ,r7por.7p(/
o*(
*V(
}|}}*0+{},{}*o

-(
sS
zsk*0\{|-Mo

-(
sS
z(h}|{|-$(0
(
"%o
(O
sS
z{|*R(M
(o+*(
(o4(O
-(o@*o*o*(*(*(0
("%r	p%p('
o
(O
sS
z:(
}*j{~-s
}~{~*j{-s
}{*Z((}*0>{,5{o
o

+o
(o6
-
,o5
*3
0go6
,\tot

+6	os
,*-sooo	o
	o6
-
	,	o5
*B\
0>{~,5{~o
o

+o
(o6
-
,o5
*3
0go
,\tot

+6	os
,*-sooo	o
	o6
-
	,	o5
*B\
0%oL

+{o
3*oL

-*"}*0-rJ7psk
z-rj7psk
z(+{-(sS
z{,(sS
z(o
-sz

(o
o{
*0d@-r7psk
z{-(sS
z{,(sS
z(o
&X
(o
*0-rJ7psk
zu
-2(0
(
"%('
o
(O
rJ7ps|
z(o
-)(0
("%o
(O
rJ7ps|
zo
++(

	oK
,	(,	o((
-o5
*80-r7psk
zu
-2(0
(
"%('
o
(O
r7ps|
z(o
-)(0
("%o
(O
r7ps|
z+o5
	(X2*09
or
+Eoq
,;-sY

r7po
&r7poV
&o	o
&{o
o6
-
,o5
,:r7po
&oZ

{of{s('
	o*Q`
0o&

(-,(0
("%%Ё('
(O
sS
zo&

+	o
,*X	i2(0
("%o
%o
%%(O
sS
zs
s
s
s
st
*0[(!}}}}}Z}}}(
s
}}(J
*0(!}}}}}Z}}}(
s
}}(J
}}}}}%-&(!}s
}*{*{*"}*V{,{*(*V{-~c
*{*"}*2(DoD*{*^/rps
z}*j{-s}{*j{-s}{*"}*.~
t}*B{%-&~c
*"}*j{-s}{*F{,{**V{,{*(i*0~(

9~:~9(
,
(
(+
+;(
o	
o
( +~%-&~s
%(!+
oa
+5ob

	~(}
,	(,	oo6
-
,o5
~%-&~*zA
n(

,rpsk
z*V{,{*(*2(#o*~o
r8po
u%-&~c
*Jo
r8po
*{*n{,(sS
z}*{*n{,(sS
z}*{*n{,(sS
z}*{*21rps
z{,(sS
z}*{*"}*{*n{,(sS
z}*{*n{,(sS
z}*{*"}*{*"}**{**{**{*($,*(I,	(I3(o
*(I*{*{*|(
-&o
,o
o
(+s
}|(
*0L|(
-3o
,o
o
,o
o
o
+s
}|(
*0+{,{*o

-(
sS
zsk*{*"}*n{-sC}{*j{-s}{*j{-s
}{*j{-s}{*n{-s}{*{*n21rps
z}*n{-s }{*j{-s}{*V{,{*~c
*"}*j{-s}{*0~:s

r8po
&rX8po
&r8po
&r8po
&r9po
&r>9po
&r9po
&r9po
&r9po
&r":po
&r^:po
&r:po
&r:po
&r;po
&~*F(1-*{*(1-(sS
z{,(sS
z}}*0@{-1(Aood
r^;pog
r~;p(}}{*>}}*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
**(`*Z(~((*0L(~o

+o9
tog
(o6
-uO,o5
(*
&3(Aos('
r;pr;p(($
ry<p(/
o*0
o
9uo
(R
,o
o85o
uv,g(R
- o(
,o(

-	(R
-7oo	(
,#--o*o
&8uH9	oo1

+s
os
(R
- o(
,o(

-	(R
-:oo	(
,&--oZo
&	
o6
-
,
o5
	-Xo
?,o

oo
**W0(-
.8(g}-){(R
-r<ps(c}(Q,#.r<ps(-(c&-0r#=ps
	o{	oo
&	(c&*0{,G{oo
,5{(o{o	{o{o
{9{o1

+pos
o,?or,pot
-orE=pot
,o{oo
&(oo	oo
o6
-
,o5
,+o
+o

	oo6
-
,o5
*f|

{X}rk=p|(0
(1
(
*0S

o
{(o
{(o
{(,oT
1oZ
**-r=psk
zo
s('
o
us*Vr=p(F
ts*F(Ko!s
*F(Ko"s
*F(Ko#s
*F(Ko$s	
*F(Ko%s

*F(Ko's
*F(Ko&s
*(5-(0
+(.
(U(t*0(7,o
s

{o
*{-~c
*sY
{o

+V	o9
&-&on
&+(
t(

oV
&=on
&(
t(

oV
&	o6
-	uO,o5
oZ
*Cb0(R
,(
s
}s

8(7,{o
s
ot?}s

{o

++	o9
&(
t(
to
	o6
-~	uO,o5
(

o
(
s
}o
+#o9
t{og
o0
o6
-uO,o5
s(x*[7009(=,(DoT+ (+,(-.og

(s*o-"3o,(Poo
****0"(
~o
t

,o
*0(
(O
:o
(}
,P~(}
,C(~((
,,(.
("%%~((O
sS
z(Ao
(h,(sS
zo"('
or
os('
or
zsn
o&ysn
o,o,o(S}(DoU(Hsn
o**0c(
~o
t
,o
(Fo!
+("
o
,o
(#
-o5
*-'T0
}(=-C(Q,((-.(Aos
o&(((*((+,;(-.2{,{o
-}{,(r(*0{(Ao,(=,(Q-(sS
z}(+,C(-.:((Ao,&(Aor,po
o
(
}*n(M
(=,(DoW*0"(
~o
t
,o
*0"(
~o
t
,o
*0F(+-(sS
z(=-(sS
z}{-(
s
}*"(s*&(+*6(Do[*6(*2(,*.(**(-*&(/*07,2(h
(ol,,oLs%oo
**,o
(,*s('
(*r(,*s('
(**(*>(Do\*~(Q,(-.
(Ko0*2(1*:(Ho"+*0(39(-;(+
(Z
9o 
(R
-~(<,&(-3r=ps('
r>p(4s('
r>po 
(,o!
(R
-'o!
soo(Lo
*&(2**(3*6(Ho#+*6(Ho*6(Ho*6(Do^*0"o
(R
,uv,o
*0:(o
9&(
s
o"

8(#
((o,fo
(o,Ko

+)o
o
&{o
,oo6
-,o5
($
:mo5
o%
-*s&
o"
	+7	(#


(
o,

o
+o
-
o
	($
-	o5
**(n6$D(0s&

{(e(Ho(do"
+<(#

	uv,so}+	uH,
so|($
-o5
(-(B(=-
(Ao+|(((*-Iv0<(<,(=+
{(R
(B(-
o"
8(#
(Uo-	o,os('
o+4r>p('
r>p(/
os('
o(`,Wo,M	.I-o,(b
,2{3((Aos('
r8?p{o($
:o5
*7-0
(',()-*uv
9oo(R
-}(Uo(R
,*{,os('
o(.*os('
o(0
r\?p"%o%(O
o*0{,1{o(

+o)
oo6
-
,o5
{,6{o!
+("

	o(#
-o5
(/,8o
(A(<((R
-s('
o*/
Mi0.o
o*
-s+
o,
o-
*0o

:3:o
uv
	9,!	o(R
-	o	o(*@o
uvo
uv,|,xoo(s
-oo(s
,N,Ho(R
-oo(o(R
-oo(*s.
s/
o"
8(#
uH9	oo1

8
os
o(R
-oos0
+
os0
o1
,(sS
z,$o2
(}
,o2
o3
(3(o,P-or?pot
,Q-	-(u,o	o4

o6
:(
,
o5
($
:o5
o"

8
(#
uH,
o
8uv9o(R
-oos0
+
os0
3!o,or,pot
:o1
:o
,
o4
3(o,P-or?pot
,Q-(u,o,$o2
(}
,o2
o3
(o

($
:
o5
*AL3(,B0r6(*2(4*0b(=:O(-;Co-(Q,(Do`(+9(O
:(A9#r=@po5
o
o5
oP
o5
/o6
o7
s
s

rK@po
(<,(-3r@po
rPApo
oP
o
o
r-(po
o
o
o
r7po
{,4{o
,'rApo
(r($
o
r2po
rApo
r2po
((R
--r.Bp(r7p(/
s('
rjBp((AooT
o8
rBpo>
9(Ao"(R
,(A(o#o%o.
,4o%o%?oh
3rBp+rBp(Ao"(/
+(Ao"(r
rBpo5
	o5
rBpo9
-o6
o7
(N
*6(Dof*o
,o
o
,o
o
*6(Dog*0H-{o:
,6{o;
*{o:
,{o4
*{o0
*2o
s<
*(O
*n(Fo=
-(Fo>
*6(Do_*6(Doi*&ot*o*"o*&(*&(*&(*6(*&(*.(*"(*6(Doh*(@*(-
*:(J
}*j{-s}{*j{-s}{**{**{**{*Z(
~o
t*j{-s}{*j{-s}{*0a{-Ro

-(
sS
zo
(h}{-$(0
(
"%o
(O
sS
z{*j{-s}{*j{-s}{*J(
~o
*J(
~o
*0{,B{oo
,0{o{o	{o{o
{,E{o1

+#os
oo	oo
o6
-
,o5
*^/
r(
(O
-(o=*0:{,1{o(

+o)
oo6
-
,o5
*/
.s
*V(((*:((*(((((	*{*"}*V{,{*~c
*>}}*2(o*((R
-(*(o*2(o*(-0((R
,((R
,(o(R
-**(*{*"}*V{,{*~c
*>}}*n{-s}{*0.o5-(0
+(
(0
o,
-(**r,po
,!o.
Yo
o 
r,p(/
*0?kPo(

,PP(QPPo(
,	P(Q*0(,	(-+((R
-(((.
(l*(0
*(.

+:oZ
(
+	o4
(r
,*	X
	i2o/

(0
o,
,*n((R
-((**0-(
(

,o*~(

-*o*r,po
-(.
("%(O
sS
z(*0N((R
-(((,(R
-+(
+
(*~~(}
,(-~*Rrop((/
*0($+
~o
t-|o
sx
o@

o
oZ
(A
(0
o,
-	(rop%	(

%%(

%(

(g
~o4
*0S((R

((R
-((R
,(sS
z,-(sS
z(*0k,o'+
(*0((R
-Eo-<((,.(.
("%(%((O
sS
z((R
-((*(o(R
-d,C(
(R
-((((
	(R
-	*(o(o(*o(*0(
(R
o@,
-++
--
(o+((o+-
(o+(o
,K	(R
,C-
(o+(o(R
,!(,-	ow+ox
	(R
-(	(o	**0(
(((,((R
-*o5-(0
+(
(-
oM(R
,
	(t*	oM((,oo*o	*03((
(,
oo*(o	*0<(-o$,*(
YE	+o<****N(o(

*F(~(

*F(~(

*0D, ((-
(-
+
+
(-(,(*((R
-(*((R
-(*(&
o
*Bs7
(8
*:}(
*{*"}*{*"}*{*"}*{*"}*{*"}*{*"}*V{,{*~c
*"}*{*"}*{*n21rps
z}*{*"}*0e?oh
2?oh
o

oe
+
r,po
-(.
("%(O
sS
z((
*jo.
Yo
rBp(
*(B
*r(
-r6psk
z}*{*:(
}*j{-sC
}{*j{-sD
}{*j{-sE
}{*j{-sF
}{*j{-sG
}{*j{-sD
}{*j{-sD
}{*^~-
sH
~*0Mo

o4
o.
,6(0
("%oo
%o%(O
sS
z*0Z,u
{o
3*,;ob
12+-u,+oc
3*Xob
2oL
-*0b-rA.psk
zo
-(rA.ps|
zo
o
oI
o
(h
,soKo!oJ
*0i-rA.psk
zo
-(rA.ps|
zo
o
o+
o
(h
,soKo"oK
*0d-rA.psk
zo
-(rA.ps|
zo
o
o*
o
(h
,soKo"oK
*0O-rA.psk
zo
-(rA.ps|
zo
(h
,oKo(sL
oM
*0-rA.psk
zo
-(rA.ps|
z()
,ripsk
z(R
,rBpsk
zo
(h
-o
o
oN
*(O
s%o%o
o%o%ooUo
o
o
	oP
	soKo"oK
*0-rA.psk
zo
-(rA.ps|
z-rCpsk
zoL

+u-
oL

-9s(#oQ
{o=:s

 s6
r CpoV
&	oP
o
r-(poV
&	o
r7po
&{oAoz('
{ofoZ
o*0h-rA.psk
zo
-(rA.ps|
zo
o
oR
o
(h
,soKo$oS
*0b-rA.psk
zo
-(rA.ps|
zo
o
oT
o
(h
,soKo%oU
*0f-rA.psk
zo
-(rA.ps|
zo
o
oV
o
(h
,soKo'oK
*0i-rA.psk
zo
-(rA.ps|
zo
o
o,
o
(h
,soKo&oK
*0	sC

(!oW
+>(X

	o,.(*+,	oY
-	oJ
(Z
-o5
oW
+"(X
rCpoo(H(Z
-o5
*K_u/0>
-*sF

($o[
+>(\

	o,.(*+,	o]
-	oS
(^
-o5
o[
8(\
%rCp%o%rDp%o%r
Dp(_
o,rDpo($
rDp(/
	+*o,rDporDp(/
	+rG)p	rDp	(H(^
:Qo5
*Kcy/0sG

(
s`
(%oa

+V(b
o,.(*+,)ooc
-oU
ood
(e
-o5
oa
+"(b
r_0poo(H(e
-o5
*c/0EsD

sf
og

+a(h
o,.(*+,4oosL
oc
-oK
od
(i
-o5
og
8(h
		o(R
,)	o,r'Dp	o(H+	(<+r0p	o(H~,/~	o	osL

oj
,rODp
(H(i
:ko5
*n60`
-*(#ok

+4(l
o(*,rmDpooP
o(H(m
-o5
*AQr0p("(8rDp(&(8*0sD

sf
('og

+a(h
o,.(*+,4oosL
oc
-oK
od
(i
-o5
og
+(h
	rDp	o(H(i
-o5
*n)0o
~on
8roo
Y()s5

op
rDpoq
or
os
1oo
ot
X+xoo
ot
XrDpou
		32(0
("%oo
%o(O
sS
z	Yo

	rDp
ov
		Xop
rDpoq
or
op
rDpoq
or
+9ow
oZ
ow
oZ


(x

	
ov
Xos
2s
(y
1(y
o
	o
r
Ep(H~on
oz
:o.
Y()-2(0
(	"%oo
%o(O
sS
z*Jr9Eps{
**(?*(|
(R
,(
rFps|
z}}}*{*(C*{*{*(B*0Yo}

+1o9
&(
to~
u
	,	o
o6
-uO,o5
*=D0(
s

(E(E*0~o

o
8o9
t0
	oo
Yo
oV
&	op
rBpoq
o
	op
r&Fpoq
o
r@Fp(r
,(.
(toV
&+(
oV
&$(+
("%(O
s
z	oo
	ot
Xo6
:5uO,o5
o.
Yo
oV
&*y/$^(R
,*(Is
*r^Fpo
,o.

Yo
**0	v(
rtFpo
,%o.
	Yo
r,p(
(~3,~3(
s
z
(
o
(
o
o~(R
-o~(H(0
o

,+o~(R
-o~(H(0
o
,Qo~(R
-Do~(R
-7oo(s
,$(+
("%o~(O
s
zsY
	(PozQoZ
	!(
o
,o
	,	o
	*qR!0?@.o

.1rFpoV
&o
oV
&r2poV
&,o
&*0
o
+f(
,
+	,on
&,o
&"on
&(
($
oV
&rFpoV
&(
($
oV
&"on
&(
-o5
*	s|0
o}
+~o9
&(
t
	o~
u,S,
+	,on
&,o
&"on
&	($
oV
&rFpoV
&($
oV
&"on
&o6
:wuO,o5
*	02-,*o
(R
,o
o{(O*0o
&(KoV
&rFpoV
&,,(F(L+,(M+,(M,o
&rFpo
&*rFpoV
&*0o}o
s

o{,lo
rFpo}(
o
&rFpo@
(
o
&rGpo
oZ
(
o
&r4Gp(A
(
o
&o|,o
(G+o
oV
&(N
,o5
*
JrVGps{
*B{%-&~c
*"}*B{%-&~c
*"}*{-(R(d}{*{-(T(d}{*{*"}*B{%-&~c
*"}*B{%-&~c
*"}*B{%-&~c
*"}*{*"}*B{%-&~c
*"}*0H~c

(R
-8{,*rHpot
,rHpoe
(

+~c

+~c

*(W*(V*:~(i*0(R
,(
rps|
z-rHpsk
zob(R
,o^(R
,(rHps|
zo^(ko\(koT(koR(k(s{s0
o
*2{o
*0A(R
-8(7
-0(
-((
-(0
(
"%(O
sS
z*6~(m*07(R
,(
rps|
z(s{s0
o
&*07-r5Hpsk
zo
(R
-o(om*6~(p*07(R
,(
rps|
z(s{s0
o
&*"(l*&(m*Z(}
,(,*Js
}(
*0(uo
}o
}o
}o
}o
}{(R
-{rtFpo
+},oC}oB}{(R
-${(
}o
(
}*{*{*{*{*{*{*{*{*{*0}~o
:s
{('
o

+V	t{o@o
,)(+
("%%o
(O
sS
zo
X	i2~or
s

~o
t~:('
o
		
+(
to
(r
,+X
i2,Y{('
o
		
+(
t{o@(r
,+X
i2sv+~~or
*s7
(8
s7
(8
su*:(
}*{*"}*B{%-&~c
*"}*0U(
o
o
o
(j

 &(0
(9"%(O
s
zo
o<(
*	" "(oO
-o<-rUHp+r]Hp(
*01o
(R
,(sS
z,
o

+o 

*0[o,.o?-Jo
(R
-9s('
o*o(R
-s('
o*o(R
-o*(&
o
*(
*(|
()
,roHpsk
z}*{*0)~o
t
-(
~o4
*0;Ё('
o

i;+toXi2*Bs7
(8
*00{-!o

-(
sS
zsk}{*0Xo
rHpo

-**0PX{-1(
,)o
rHpo

,+}o
rHpo
*0!Xo
rHpo

- `**0dX0rp(s
z{-1(
,)o
rHpo

,+}o
rHpo
*0\{-Mo

-(
sS
z(h}{-$(0
(
"%o
(O
sS
z{*J(
~o
*J(
~o
*0Q@%rHp%(-r)p+r)p%r6p%(
(0
(1
%rHp(_
*>s%}*"s%*"o*o*o*0_(M
(o%+{,'(o=,}((o(o~c
s
o&*0"(
~o
t
,o
*R(,~
o*0W(o4oP
o5
(r=@po9
rBpo9
Lo6
o7
(O
-(o*.s
*:}(J
*r}(J
}
}	*0"{-s

s
}{*{*"}*{
*0J(O
-,{
,$(0
( "%o
(O
sS
z}
{
,(*(
*{-o}({*{*0+{	,{	*o

-(
sS
zsk*{-(-*{,
{o
-*{o*{*n21rps
z}*0\{
-Mo

-(
sS
z(h}
{
-$(0
(
"%o
(O
sS
z{
*n{-s}{*{*n21rps
z}*0o
uh
*J({o.*(o
o
}(o2*0\(O
,({-,o}{
,{
{o
(*{
,{
{o
*sJ
*s-*{,(o8,{o*(
({-o}(*(
(O
-(o9-o*(M
(-,(-$(0
(""%o
(O
sS
z*(O
-{,(oB(
*0I(O
-@{-8oL

+u,o+
oL

-(oA}*R(o4(N
*0{,>{,*(+
s
s

(
r2poP
o
oZ
(H+IoP
o5
{,{o
(-
o6
+Lo6
(
o7
}*{,($sS
z}}*0`(-$(0
(&"%o
(O
sS
z{,$(0
(("%o
(O
sS
z}*^{-*{o
*:(o
*(*B{%-&~c
*"}*0((R
,)(0
(+"%(o
(O
sS
z(((
-2(0
(*"%(%(o
(O
sS
z*{*"}*r(
-rHpsk
z}*{*02 (

+o
oo6
-
,o5
(
*!
04!(

+o
o,o6
-
,o5
**&
02 (

+
o
oo6
-
,o5
}* 
(o{,o(
*V(
o(
*(
o(o{,o(
*V{&-~c
*{&*"}&*0"{!-s

s
}!{!*6o
(
*{$*^/(.s
z}$*{"*"}"*{%*"}%*05o
(h
-$(0
(
"%o
(O
sS
z*{",-sJ
}#{"{#o
o
{#o
*6o
(
*R(M
(o&+*0o
oP
o5
{%,rBpo9
+(r=@po9
rHpo9
{!,{!o
o6
(N
o7
(O
-(o*"s5*>s=%}*^{!-*{!o
*:(o
*o*o*f }$}%(J
*0"~(

,~(oF*s0

~'o
:('
o

+V	to
(r
,5o
,	+0(.
(4"%%(O
sS
zX	i2~'o4
*0J#~
('
o
('+~%-&~Is
%((+sE*0a(-W~(

,%(.
(6"%%-&%(O

+(.
(5"%%(O

sS
z*(-#(.
(3"%%(O
sS
z*js7
(8
'((*"(d	*"(e	*(f	*{)-rHpo
t}){)*2(o*6(o*2(o*6(o
*2(o*6(o*:(
(*{**"}**{+*"}+*F(	}2*2(	*B{,%-&~c
*{,(s
,},}1~
o
*B{/%-&~c
*{/(s
,}/}0~
o
*08(
{0()
,(%-
&(o}0{0*B{-%-&~c
*{-(s
,}-}.~
o
*{.()
,o(R
-o(}.{.*{6*"}6*{7*"}7*{1()
,o}1{1*0C$o(
o
3to
*o
3to
*rHpsS
z0C%(
(R
,*o
+o
(r
,*Xi2*0U
(R
-	(

*0$o
,o

i3*"('
*
*0,&o
,o(o((**0>'
o
,$o(o((	(#**130='
o
,#o(o((	(#**020<'
o
,"o(o((	(#**/10(,uO
,o5
*6(o"*~s
3s
4s
5*>
}<(J
*Z
}<(J
}8*{@-s
s
}@{@*0E{9-6sw}9(
,{9o
{9Bsn
ou{9*{<*0!Xo
rCIpo

,t*~c
*Jo
rCIpo
*0+{8,{8*o

-(
sS
zsk*0A/rps
z{<.(}<{?,o:{;{<oM*0!Xo
raIpo

,t*~c
*Jo
raIpo
*{B*"}B*(O
,~c
*(-oo
(0og
*{;*L*{=*0V)o
,oP
o5
{@,7('
o
o3
+o9
to
o
o6
-*-rIpsk
z{:%Fs
o*0*}Ao
o
{9,|{9o

+So9
tso
o
oc,+{;{<{={9oogo
o6
-uO
	,	o5
}A*&_b~
o
o
o
*0+o+(R
-do+(

-$(+
(
"%o+(O
sS
zu-$(+
(
"%o+(O
sS
z*o<

+5-$(+
(
"%o
(O
sS
zu
o<
	-	o
3	*0@,{C:(0
sY
(O
,ru)poV
&8(-o,(-oorpo>
+(-o
	o
oV
&ru)poV
&	o
o
+l(R
-V,	(-Jo>
-?(

oV
&r3(poV
&	o
og
(

oV
&rIpoV
&Xi2oV
&r3(poV
&oZ
}C{C(0
(1
(
*0-};
}<}=u
,D(
,};,}<,}=+(
{:-+o<}:{:-(
sS
z{:o9{:{;{<o}>*f{@,{@o
**0(--*t
(
,o)o~
*0..u
, o,o,ooj*r{?,{;{<oM*0(
(O
-lo<}:{:,D{:o9(0(R
-(D};{:{;{<o}>o
,o
o
}?*0 /
(4(
,Y{<Z
*0{{:-o<}:{:-(
sS
z{>-D{:o9(0(R
-(D};{:{;{<o}>(
*0}@o`	}=o_	};o^	}<{={;0<{=13{;{<Y
/
{=2
{:{<o*{A-o:*:(
o
*(O
,o
(.es]	oFoIoJo7
*Ro8o6o6
*"(N
*00(

-{;-{<
3	{=.["{;,
{;+{<
.
{<+{=.
{=+**0-1(

{9-+{9o
"%%*(O
,*{:-(
sS
z};}<{:o*j(
{9,{9o
*oG*6('o
*:('o
*}F}G(
}D}E}H*{H*{F*"}F*{G*"}G*{D*{E*0)2{L
(
t|L()+
3*0)2{L
(
t|L()+
3*J(
s
}I*{I*{J*{K*2(_o2*6(_o3*2(_o4*0X(]rIpo

,**(c.(]rIpo
ol*03oh
of*6(cod*6(_o=*0-,t
,(]o~
*j{L,{L~
o
*0X(]o

,"%**6{Io
*"}K*N}J(]o
*(^*"ok*op*om*0)2{O
(
t|O()+
3*0)2{O
(
t|O()+
3*:(
}M*6oX
u*&o
&*0E4sw
(
+o9
toeoyo6
-uO
	,	o5
*$2"o
*&o
*E+s
	*s;	*s	*(s
z~N*"o
*&o
*(*j{O,{O~
o
*0/3u
,sn
oZ{Moo(*0#3u
,sn
o[(*n(
u-(s
z*"o
*"o
*2ton*;%н('
%о('
%('
N*Z(
}P}Q*{Q*{P*V(J
}R}S*{S*{R*0"5uL,tLs
(
**2,o
***,o
*:o
(*0\6o
(
s

o
+%o9
&(
t(
o-
o6
-uO
	,	o5
*1I0\7,Wo
(
s

o
+ o9
&(
(
or
o6
-uO
	,	o5
**,G(
*6(*089o

8o9
&(

(
to
+$o9
tRo
(r
,
 o6
-uO,o5
	,	o
	o
o
or
,
or
o6
:KuO,o5
o
*(>1o>
&(
*09u
9(
9o
v&(0
($"%%('
o
%o
(O
sS
z&(0
($"%%('
o
%o
(O
sS
z*%;`;T0:(
(
o
+xo9
&
(
,(
oZ
+~c
o
,?o
-6(
o
(o
o
o
o6
-uO,o5
(*+,**Y#|>0;9o
:
o
,$o
('
()
,
o

+o
,o

(,`o&
((
,P(0
($"%%o
%(0
rIp"%o
o
(O
(O
sS
z*&(*&( *&("*"(#*"($*.(%*('*(*"(*"(*{Y-rHpo
t}Y{Y*2(o	*6(o	*2(o	*6(o	*2(o	*6(o	*2(o	*6(o	*2(o	*2(o*6(o*2(oJ*6(oK*2(oL*6(oM*2(oN*6(oO*2(oP*6(oQ*2(o	*6(o	*2(o	*2(o	*2(o	*6(o	*2(o	*2(o	*6(o	*2(o	*2(o	*6(o	*2(o	*2(oR*6(oS*2(oT*6(oU*2(o	*2(o	*6(o	*2(o	*6(oV*6(oW*6(oX*6(oY*6(oZ*6(o[*6(o\*6(o]*6(o^*6(o_*6(ob*6(oc*6(od*6(oe*6(of*6(og*6(oh*6(oi*6(oj*6(ok*6(ol*6(om*JrHpo
s?*o*:(o	*6(o	*(l	(,(-(,(h	o.*n(
(,(o*>(o	*no(R
,*(o*J(oN
o*(*"(*6(o`*6(oa*:(
}[*:(
}[*{Z*"}Z*{[*:(
}^*:(
}\*{\*{]*"}]*{^*:(
}_*{_*0O<o3

o3
++o6
-*o9
o9

-	,
*	o,
-*o6
-o6
,**0+To
,o
3('
()
,*o

+(
	((
,	*Xi2o
((
,'"('
((
,('
((
:|*:(
}b*:(
}`*{`*{a*"}a*{b*(
}c}d}e}f}h}i*{c*{d*{e*{f*{g*"}g*{h*{i*V}m(
}l*r}m(
}l}m*V}m(
}j*{j*{k*"}k*{l*{m*V(
}p}q*:(
}n*{n*{o*"}o*{p*{q*2(#(k
*"(k
*&(
*>(9}r*(
rIp('
o
t}r*~{r-(
s
}r{r*(
rIp(=('
o
*Rss(@*}}(}z}}}*(J*(L*
*(P*0={{()
,to
(R
,)(0
('"%{}o
(O
sS
z(
}{+(0
(&"%{}o
(O
sP
z{{*GW+>B{|%-&~c
*0Y{|(s
,J{,)(0
(%"%{}o
(O
sS
z}|}{~
o
*{*r{.}~
o
*{*r{.}~
o
*{*0B{.8{,)(0
()"%{}o
(O
sS
z}*{*r{.}~
o
*{*r{.}~
o
*(*0G((s
,8{,)(0
(8"%{}o
(O
sS
z(
*J(	
~4o
*J(	
~4o
*J(	
~3o
*J(	
~3o
*J(	
~5o
*J(	
~5o
*J(	
~so
*J(	
~so
*J(	
~to
*J(	
~to
*J(	
~uo
*J(	
~uo
*J(	
~vo
*J(	
~vo
*J(	
~wo
*J(	
~wo
*J(	
~.o
*J(	
~.o
*J(	
~/o
*J(	
~/o
*J(	
~xo
*J(	
~xo
*J(	
~yo
*J(	
~yo
*(*N3(r*(q*0>
soos

o-xo
	o{(

,q(,?.d(0
(7"%(T%	o
%{}o
(O
sS
z	ono}+oo&
o{(

,Mu(
,oo
o	u(
,oo
o	o-;(0
(9"%(T%	o
%{}o
(O
sS
zSs+os
oo--#-,o+		s)

o*A4NR0>~#0Q&(p
,Do-*o-oo"*oo&
ooo&
o*0?}{~-
s
}~+/{,'{~o

1{~{~o

Yo
*(p
,xo,oo&
oo,oo&
o{~o
ouX,{,(No
,(N+}*{tWo{tWo{tXo*0u@s
oo
,*((oos*s+os
oo-,
os)o*	*4*>0!A,s
oo
-("*Fo( *>o(!*No(*0B(	(	
o	{9{({	
	o	
	o&
o	(|	{,"uW,o	o
,o	ks+os
oo--;,7o
,
o
+o	-o
s*		o(*#X{0>#;0Co	o	o	o	o	o	s 
oo
,*o%}{(R,*o
-o
,o	(R
,
o	(R
+}{-(}+uW-{,(*0j%(T
(R
,)(0
(:"%{}o
(O
sS
zo
+o
(r
,*Xi2*0*Do

o
o
o
o

	o
*0E(0
(<"%o	%o
(++oM
(O
s;
E&oJ+msos
oo+Is
	os
o	o+%s2os
oo4-z*{tWo{tXo*0uFs
oo
,*((oo~*s+os
oo-,
os)o*	*4*>0BGu
(
,o
*u(
,oA
(
,o 
***0"H(	
~4o
t
,o!
*0"I(	
~3o
t
,o"
*0"J(	
~5o
t
,o#
*0"H(	
~so
t
,o!
*0"K(	
~to
t
,o$
*0"L(	
~uo
t"
,o%
*0"H(	
~vo
t
,o!
*0"M(	
~wo
t
,o&
*0"H(	
~.o
t
,o!
*0"N(	
~/o
t 
,o'
*0"H(	
~xo
t
,o!
*0"O(	
~yo
t!
,o(
*0DP{~,;{~o)

+(*
oo"(+
-o5
*!5"o,
*0Q
(
o-
+Uo9
tV
	o
o.
,<	o
-4	o/
	o
 -(
s

	o
o0
o6
-uO,o5
*<G >aq0]RsJ
o	(tW(|~%-&~Ns1
%(,+}Ks3
(	*0iS{tWo(
,8(0
(<"%o&
%o4
(++oM
(O
s;z{tXo*0Ts1
oo
,*((o6o7o<(o6os+os
oo-,
o7s)o*	* ;<>-;X('
o
-)(0
(-"%{}o
(O
sS
z*o
-)(0
(("%{}o
(O
s
zo*0mo	(R
-)(0
(*"%{}o
(O
sS
zo	(R
-)(0
(6"%{}o
(O
sS
z*0lo5
-)(0
(+"%{}o
(O
s
zo,o
-)(0
(,"%{}o
(O
sS
z*0R-No
,o
i3W('
o
-)(0
(0"%{}o
(O
sS
z*o
-)(0
(;"%{}o
(O
s
zo*0Gs
ss
ts
us
vs
ws
xs
y*"o6
*"o7
*"o8
*&o9
*"o:
*o;
*0C}}}~c
}}}}}(<
*(=
*.(s
z{*"}*(>
*(?
*(@
*(A
*j{-s5
}{*0Xo
rIpo

,**^o
rIpo
*(B
*j{-sC
}{*j{-sC
}{*{-$(sD
}(
,{o
{*{-(sD
}{*0"X{
,to
t**((E
-),o
t}+}(((|*0X{
,t**{*/rps
z{.3(oF
}(|*{1%{ooG
/o{oH
**{*"}*{*"}*{*"}*0Xo
rJpo

,**^o
rJpo
*0Xo
rEJpo

,**^o
rEJpo
*(I
*(J
*0!Xo
rwJpo

,t*rJp*0B(R
,(rp(+
(?"%rwJp(O
s
zo
rwJpo
*{*v/rps
z}(|*{*"}*{*"}*(K
*{*0Xo
rJpo

,**o.o
rJpo
(|*{*"}*0!Xo
rJpo

,t*r	Kp*0B(R
,(rp(+
(?"%rJp(O
s
zo
rJpo
*j{-sL
}{*{*"}*{*"}*{*"}*0"X{
,to
t**0B((E
-3,o
t}+}}(M
,(N
*0X{
,t**0]U(,	(-$(+
(B"%o
(O
sS
zo
o,oO
/1oP
**{*0C/rps
z{.*}o,(,oo(|*{*"}*0Vo
,ooQ
**(*{*21rps
z{.
}(|*(*{*r{(s
,
}(|*(R
*(S
*{*}(
,{,{o
*(T
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*J(
~o
*oU
(R
,)o (R
,o"(R
,o$(R
**B{%-&~c
*v{(r
-
}oV
*B{%-&~c
*v{(r
-
}oV
*B{%-&~c
*v{(r
-
}oV
*0^Wu, s
o
oW
o
o
*u, so
oW
o
o
*o
oW
*0-@r)Kp{
X}(0
(1
(
oX
*"}*0J0o
r3Kpo

-(Y
,oZ
,$."o*&([
*0X
o;ot-o,"{0{+9o\
(]
-$(+
(j"%o
(O
sS
zo^
_o^
_,:,7u\-/{o_
{o`
{sa
ob
,doc
,o
+Eu\		-)(+
(f"%(&
o
(O
sS
z{	o
(9
+(8
+(8
((
}}u\,God
	od
,-o+_,3(+
(e"%o
(O
sS
z-(EsS
z9*o_,ooe
	ooe
{,6oo5}9(,z(,q	o6+go.-(+
(P"%o
%o(O
sS
zoo2},(,(,	o6-
{oG
+o}{{{s]	ol{oG
-,o-$o
o
o-+o
o
o-{*j(O
-(s
z(f
*0tYsg

o\
o^
(
(3	(R
-	rKKp(

	oh
,0oc
,oi
{o`
+o`
{o_
*0;Z{,2}o0
('oQso`o&*0.Z{,$o0
('oRso`**0PZo-$(+
(V"%o
(O
sS
zo0
('oUso`*0Zs
3}*"s*0_[{3|(A}{
sL

3&o/{o&o
X
X(3o8eo9
,2{,*s('oV{o&X
	oX	o1('9o(isj
	(
+#
(k

	
ov
X
i2o
	3	(sl
o
&+		(sl
om
o,"	o
/	on
th	(4	oWso`{o&X
oo
,o
soao	X
Xo6
:uO,o5
3X{,*s('oV{o&X
o/{o&o
X
X{Y}*Afxbo,{,}*{-{3}*{op
,}*0\{3|(A}{
}(3sL

3Ys('oS{o&X
(Ao/o&o
XXo8o9
	{]-l,2{,*s('oT{o&X
s('oS{o&X
(AoXo1
9
	o(isj

(+#	(k

ov
Xi2o
3
(sl
o
&+
(sl
om
o,%o
/on
th(4
oW
so`{],%{,soVo&X
o&X	
oo
,
o

soa
oXXo6
:uO,o5
@{]-l,2{,*s('oT{o&X
s('oS{o&X
(A{],%{,soVo&Xo/o&o
XX{,N+A{,soVo&Xo.o&XX{]-{Y}	*A0]
o8o9
(isj

(+!(k
	ov
Xi2o
3	(sl
o
&+	(sl
om
X
o6
:uuO,o5
*	0\}}}}}}sJ

{,{o
o
o
s
oi*0.^s
{o{ooo*0.^s
{o{ooo*jo~c
(v(C*o
oq
,{,o
o
o7*0_-rWKpsk
z(r

o-|u-(asS
zoo3ouw
+hoo3ouw
+Lo]3o,ouw
++ouw
+o3o,ouw
9s5
o
os
o
+Po9
&(
	,'u,to.
-(
o6
+(
o6
o6
-uO,o5
ot
+:o9
&	-(	(
(-+3	(
	(
or
o6
-uO,o5
*]6SG"o=
*0`o
o

+o9
tu,
}o6
-uO,o5
o
o
+.o9
tu,
5(>,
"o6
-uO,o5
*	*&2S;0"a,u
,o**(0
(u
*0(a,u
-+oT*(0
(v
*0b-o+o
o=:{-
sw
oX
,={-{,b(+
(i"%o
%o(O
sS
z{,-(+
(g"%o
%o(O
sS
zo
o
oL
o
ox
To
oy
*0Yc
o32
+.(WsS
zso^o
,*(z
,o-o(N
*0sdu
/-(YsS
z(z
,.o\
-$(+
(j"%o
(O
sS
z-ooG
/ooH
s
,	oo<ooO
>ooP
o{
o
+Mo9
&	o(
(
o|
	o(
o
,	o(
o}
o6
-uO,o5
	oc	o
,*},6	o}	o}	o	oDs~
o
*Z
0es
{o{oob}},o-
(q,*o1<{13{o3%{{X{3oYo}(N
*0:f/(ZsS
zs
odo
,*oo(N
*0g
(vu9|o_o,*
o
r5'p(r
,"oo
t(?(K82rmKp(r
,o
t(L8rwKp(r
,"oo
t(?(E8rKp(r
,"oo
t(?(B8rKp(r
,&ooo
t(?(N+zrKp(r
,%ooo
t(?(C+GrKp(r
,o(I+*oo
t(@,o	(G
*0h
(z
,.o\

-&(+
(j"%o
(O
sS
z*o
-*u/-(XsS
zs5
s5

,	o<ooO
1xooP
o{
o
+>o9
&	(
(
ov
(
o
,
(
o
o6
-uO,o5
	Hs~
o
*Kv,
(q,*o(N
*0i,o.([sS
z,o
,o
o
-*-{-(hsS
z
(z
,.o\

-$(+
(j"%o
(O
sS
zsoo<ofo
,*,$o}oJs~
o
*0pjs
{ooe},o-(q,*oo
,o
o
o
-oo-(N
*0Ek/(\sS
zs
ono
,*oo~
om(N
*0#l
((
,
(-
(M*0ms
opo
,*(z
,Z((o\
-$(+
(j"%o
(O
sS
zoo(o(}~
oo(N
*0nu
/-(]sS
z,o
,o
o
-*(z
,.o\
-$(+
(j"%o
(O
sS
zs	
(o
+'o9
&	o	(
(
o|
o6
-uO,o5
ooO
1aooP
o{
o
+'o9
&	o
	(
(
o|
o6
-uO,o5
-ooG
1
ooH

,	o	o<	oh	o
,*,H	o
	}	o	}	o	}	o
		o		o	Os~
o
*44#0os
{o	{o	{o	og}}},o-(q,*o	o
,o
o
o
-o	o	-o(N
*V~c
(v(I*V{,{o
*V{,{o
*V{,{o
*V{,{o
*V{,{o
*V{,{o
*0{p{
-$(+
(c"%o
(O
sS
z]3{,{
{3{,{
{3{,{
o
*0-}}}}}~c
}}}u
91(
,},},},t},p},t},	(Y,}	,>{,6{,-{isj
{sl
}{	o~

,
t},
([,}
,
}+(
(
-{{{s]	ol*0[q,Wt
(i((
+5(sj
sl
o
&(	on
tM	o~
	X
	i2*09-,.t
(
, (tEt,(
*(
*0\q,Xt
(i}
+5(sj
sl
o
&(	on
tM	o~
	X
	i2*0Wr
~c
u-uL,stLs,oux
	,	o

	o
(F*0Q(
o
, o,o
o
o
o
(O
-o
(R
-o
(
*0_s(
~o
t&
,	o
*(z
-4o
-,(+
("%o
%rKp(O
sS
z*0"t(
~o
t'
,o
*0"u(
~o
t(
,o
*0cv(
~o
t(
,o
(
~o
t0,(ooos
s

	o
*0"w(
~o
t#
,o
*0_x(
~o
t)
,	o
*(z
-4o
-,(+
("%o
%rKp(O
sS
z*0_y(
~o
t*
,	o
*(z
-4o
-,(+
("%o
%rKp(O
sS
z*0"z(
~o
t$
,o
*0_{(
~o
t+
,	o
*(z
-4o
-,(+
("%o
%rLp(O
sS
z*0"|(
~o
t%
,o
*0_}(
~o
t,
,	o
*(z
-4o
-,(+
("%o
%r#Lp(O
sS
z*0"~(
~o
t
,o
*0"~(
~o
t
,o
*0"(
~o
t-
,o
*0"(
~o
t
,o
*0"~(
~o
t
,o
*0_(
~o
t.
,	o
*(z
-4o
-,(+
("%o
%r=Lp(O
sS
z*0"~(
~o
t
,o
*0_(
~o
t/
,	o
*(z
-4o
-,(+
("%o
%riLp(O
sS
z*{-*o
{o
o
o
*0(
o
o*
(
o
r3Kpo
o(z
,>.:ooG
/,(
,$(oF
(ooH
o<o,(,-(}sS
z*0G{,*}o;(O
,(>
,o.}(
}*
4>0/{,9{1g
+{o
{o
X
{2}+7{1.+{o
{o
X{2}}*"o
*},o
o
o,}*00(

:{0w{3n{3e{3\{3S{,
{o.
->{-6{3-{,	{-{9G{o
>6"{.
{+{.
{+{.
{+{,{o.
,{+{,
{+{,{,{+(x{.
{+	{,
{o
+
{,{,{+(z{
{**0js

{,K{o
1={o
"
+"t{on
tMo
X2{,,**0/(

{-+{(
"*0js

{,K{o
1={o
"
+"t{on
tMo
X2{,,**(+
(D"%o
(O
sS
zB(M
,(N
*&(M*Z~c
(v(N*0?(-rp+(
o
oU
o o$o"o
*o*{*o*{**o*"(K*"(E*0s/ryLps
z/rLps
z{3	{.8sa	
,okoc	}ob	},~
oj,(N
*J(
~o
*J(
~o
*o*"o*(*o*o*o*"o*o*"o*o*"o*o
*"o
*(
*o
*"o
*o*"o*o
*"o
*o*N
s
(*N
s
(*J(
~o
*J(
~o
*0s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
s
*Z(
}}*{*{*Z(
}}*{*{*{*"}*04u,
(
*uL,tLs
(
**Z(}}*{*"}*{*{*0"uL,tLs
(
**r(
}}}*{*{*{*"}*j{-s5
}{*j{-s5
}{*"}*"}*>(
}*{*j{-s5
}{*j{-s5
}{*>(
}*{*(
}}}}*{*{*{*"}*{*"}*j{-s5
}{*"}*>(
}*{*j{-s5
}{*:(J
}*{*{*"}*
*0"uL,tLs
(
**:(
}*{*V(
}}*{*"}*{-*(-(2(*((Y*((Y*{*"}*0B{-*(,{*{u\,{t\o
*(sS
zf((X(2**{*"}*{*"}*
*{*"}*0$(
+o9
%Xo
o6
-*0/
(-(
{u\,({u,{tsW*{u,{ts[*{u\,{t\sS*{,{o3
(sO*{o3
*{-*{u~,{t~o
**~c
*>(
}*{*"}*Z(
}}*{*"}*{*"}*(
*s
*"o
*(
*(
}}}}*{*{*{*"}*{*"}*j{-s5
}{*j{-s5
}{*"}*"}*"}*:(
}*{*j{-s5
}{*j{-s5
}{*j{-s5
}{*(\*0!X(]rLpo

,t*~c
*(	(s
,(]rLpo
ol*0X(]rLpo

,**21rps
z(	.(]rLpo
ol*Z{{X{**{*0!X(]rLpo

,t*~c
*(	(s
,(]rLpo
ol*0!X(]rMpo

,t*(*(	(s
,(]rMpo
ol*0!X(]r!Mpo

,t*~c
*(	(s
,(]r!Mpo
ol*0!X(]rCMpo

,t*(*(	(s
,(]rCMpo
ol*0!X(]r]Mpo

,t*~c
*(	(s
,(]r]Mpo
ol*0!X(]rMpo

,t*(*(	(s
,(]rMpo
ol*0!X(]rMpo

,t*~c
*( 	(s
,(]rMpo
ol*0!X(]rMpo

,t*(*("	(s
,(]rMpo
ol*0X(]rMpo

,**($	.(]rMpo
ol*0X(]r3Npo

,**(&	.(]r3Npo
ol*0X(]roNpo

,**((	.(]roNpo
ol*0X(]rNpo

,**(*	.(]rNpo
ol*0X(]rNpo

,**(,	.(]rNpo
ol*0X(]rNpo

,**(.	.(]rNpo
ol*z($	,o
rOps
o
*0t(	o	t(	o	t(	o	t(	o	t(	o	t(	o	t(	o	t(	o	t( 	o!	t("	o#	t((	o)	t(*	o+	t(,	o-	t(.	o/	(f*s
	*0=(_o0(R
9'o
rOp(
,2{(_o.Y
/
(_(_o.oM*o
r)Op(
,H{(_o.X{1{(_o.Y(_(_o.oM*o
r3Op(
,(_(_o.oM*o
r?Op(
,L{(_o.]
	-{(_o.Y+	{	Y(_(_o.oM*0-0(&	,(s
o
(	(R
-(	o
*(	
	E,+*s

to
+Fs

to
+1s

to
to
t(x
o
o
o
o
(0
(1
o
u,(	(R
-(	o
u*0HX
s
o
(io
o
o
(	(R
-(	o
*}}}(_o0(R
,
(7	*(8	*0((	,0o
r3Op(	(	(	(4	o
(0	(.	,0o
rOp("	( 	(	(4	o
(0	(,	,0o
r)Op(	(	(	(4	o
(0	(*	,0o
r?Op(	(	(	(4	o
(0	*0(a((	,+o
(	(	(	(5	o
(0	(.	,;{{[Y
o
("	( 	(	(5	o
(0	(,	,@{{X{[o
(	(	(	(5	o
(0	(*	,M{{[{{],+Yo
(	(	(	(5	o
(0	*0u
9o	(	(
9o	(	@o	(	(
9o	(	(
9o	(	(
9o	(	(
9o	(	(
,so	(	(
,`o 	( 	(
,Mo"	("	(
,:o(	((	3,o*	(*	3o,	(,	3o.	(.	3**0(	or
(	
or
`(	or
`(	or
`(	or
`(	or
`(	or
`(	or
`( 	or
`("	or
`((	(
`(*	(
`(,	(
`(.	(
`*0X(]rIOpo

,**/rps
z(<	.(]rIOpo
ol*0X(]rLpo

,**21rps
z(>	.(]rLpo
ol*0!X(]raOpo

,t*~c
*(@	(s
,(]raOpo
ol*0!X(]r]Mpo

,t*~c
*(B	(s
,(]r]Mpo
ol*0!X(]rMpo

,t*(*(D	(s
,(]rMpo
ol*0!X(]rOpo

,t*~c
*(F	(s
,(]rOpo
ol*0!X(]rOpo

,t*~c
*(H	(s
,(]rOpo
ol*0!X(]rMpo

,t*~c
*(J	(s
,(]rMpo
ol*0!X(]rMpo

,t*(*(L	(s
,(]rMpo
ol*0X(]rMpo

,**(N	.(]rMpo
ol*z(N	,o
rOps
o
*0t(<	o=	t(>	o?	t(@	oA	t(B	oC	t(D	oE	t(F	oG	t(H	oI	t(J	oK	t(L	oM	(f*s;	*0(_o0(R
9
{(_o.[{(<	(_o.Z[(<	Z(<	XY
	X(_o.ZYo
rOp(
,Y(_o.Z
/Z
+Vo
r)Op(
,#X
{
16{
(_o.Y
+!o
(0
(u
(_o.Z
.(_(_o.oM*0d(>	,.
+s

+s

o
o
o
o
u,(H	(R
-(H	o
u*0DX
s
(0
(1
o
(io
(H	(R
-(H	o
*0(>	E
+s

+,s

+$s

to
t(x
o
o
o
o
o
u,(F	(R
-(F	o
u*0@X
s
o
(io
o
(F	(R
-(F	o
*}}	}
(_o0(R
,
(Y	*(Z	*0{{	[
{(<	{	Z[(<	Z(<	XYX{	ZY
,5o
(L	rOp(0
(1
(J	(V	o
(P	8X3Ks
XX(0
(1
o
(@	(R
-
(@	o
o
o
+Co
XX(0
(1
(0
(1
X(0
(1
(T	o
(P	X(<	/{
X{	Z=>	{
Y/<(P	o
(D	r)Op(0
(1
(B	(V	o
(P	*0K{{	[
(a{(<	{	Z[(<	Z(<	XYX{	ZY
,'o
(L	Y(J	(W	o
(P	+tX3Ks
XX(0
(1
o
(@	(R
-
(@	o
o
o
+o
X(U	o
(P	X(<	/{
X{	Z=l	{
Y/3(P	o
(D	(<	X(B	(W	o
(P	*0u
9o<	(<	(Y
9o>	(>	@o@	(@	(
,toB	(B	(
,aoD	(D	(
,NoF	(F	(
,;oH	(H	(
,(oJ	(J	(
,oL	(L	(
,**0x(<	
(
(>	or
`(@	or
`(B	or
`(D	or
`(F	or
`(H	or
`(J	or
`(L	or
`*r(
}}}
*{*{*{
*V(
}}*{*{*:(
}*:(
}*(
*n{-oi	}{*0+{,{*o

-(
sS
zsk*{-%rHps
}{*0\-rOpsk
zo.
,?rHp(r
-1(0
("%o
%rHp(O
rOps|
z(g	*~(
(h	o	sn
o(*"}*0t(g	o	o
o
(g	o	o
o
(g	o	o
o
(g	o	o
o
(g	o	o
o
*on	*0?s

(
}
{,{o
}
{
-
{
-**j(
{,{o
*08-(
*t
{
(
{
,(g	{
o~
*2(g	o	*6(g	o	*6(g	o	*{*"}*{*"}*0u
,*u,%(.+*uR,io&
(~	((
,(
*s
o3
+o9
o
o6
-uO		,	o5
(/+*X('
;%o&
on

	(to
&(
*]|0;!('
rPp(
;%o

"%o
t*0O<o3

o3
++o6
-*o9
o9

-	,
*	o,
-*o6
-o6
,**0+To
,o
3('
()
,*o

+(~	
	((
,	*Xi2o
((
,'"('
((
,('
((
:|*R,o
(	**0o
(
s

o
+do9
&(
t
	(R
,$(0
(5"%o
(O
sS
z	(	rp	(
(
o
o6
-uO,o5
*p0o
(
s

o
+Zo
(	

	(R
,$(0
(5"%o
(O
sS
z	(	rp	(
(
o
o6
-
,o5
*f~
01,,o
1#((	
(R
-"o**0?,:o
11(	
o_(R
-o_"%oao**0sc
o
s
obsY
o

8	o
(	
(
,(
oZ
+(R
-f(R
-]rPp%X(
oT
1rPpoV
&oV
&r'PpoV
&oV
&oa(
o
	o6
:[
	,	o5
oZ
o`*&
0tsY

o
+Jo
(
t
	(R
-.(	
	(	oT
1r-(poV
&	oV
&o6
-
,o5
oZ
*
Vc
~o
-#(0
(."%%(O
sS
z*~o
-((0
(/"%%o
(O
sS
z*r1Pp~rQp(
s
~r Qp(
s{
*vs(	}!}"*}+},(
}!}#}"*{)*r{).})~
o
*{**r{*.}*~
o
*{+*r{+.}+~
o
*{,*r{,.},~
o
*j{-s
}{*0D{-5s
}{	sn
o
{-,{({*{-*j{ -s
} { *0D{-5s
}{	sn
o
{-,{({*0D{-5s
}{	sn
o
{-,{({*B{%%-&~c
*{%(s
,}%~
o
*B{&%-&~c
*{&(s
,}&~
o
*B{$%-&~c
*{$(s
,}$~
o
*0D{-5s
}{	sn
o
{-,{({*B{'%-&~c
*{'(s
,}'~
o
*0D{-5s
}{	sn
o
{-,{({*B{(%-&~c
*{((s
,}(~
o
*j{-s
}{*(	*2~
o
*0o	{!{"(
o	{!{"o
(o	{!{"(o	{!{"(
o	{!{"(	s	*0:-rtQpsk
z(	
}1o	,({	o	**(	(	(	*0	/9's	
o	o	%-&(	,Lo	(R
-)(0
(="%{"o
(O
sS
zo	{#(	+;o	(R
-.{#o	"%o	{"(	o(	,Lo	(R
-)(0
(1"%{"o
(O
sS
zo	{#(	+;o	(R
-.{#o	"%o	{"(	oo	(R
,9o	(R
:(0
(2"%{"o
(O
sS
z{#r)p"%o	{"(	oo	(R
-.{#o	"%o	{"(	oo	(R
-.{#o	"%o	{"(	o**0;o	o

o
,%o	,(R
-{#"o*0o^
9o	,oc
,$o	o
,o	{#oo
o	o
>o	o
2x{#o	o
o{#o	o
o+Do	o
,7o	o
3)(0
(4"%{"o
(O
sS
z*0}-,yt
,o	o~
,o	o~
,o	o~
,o	o~
,o	o~
,t?}1*0n-"
{({({({({({1,{1o
1	{1*}-{({({({({(*0$(	o	
o]
(|	o	*"}1*0{19ws

o

8	o9
&(
t{1o:
,y(
{1o
t,+Lo
0on
(	o
+#o
,on
(	o
Xo
2	o6
:R	uO		,	o5
o
2
Xo
2(3sS
z{1o
(
s
{1o

+6
o9
&(
t,(
ton
o

o6
-
uO		,	o5
**(Ck0o	(

o
o
(
s
}1o-

8	o9
tVo
,no
o.
,`s
{1o
o4
o3
+o9
o/
o
&o6
-uO,o5
	o6
:p	uO,o5
*'2*o
*&o
*"o
*0hsz	
o	(
s
o	
o	(-*(-*	,	(-*(oy	*0dsz	
o	(
s
o	o	{!{"o
(-*o	(-*(ow	*0sz	
o	(
s
(
s

o	o		(-*	(-*,	(-*(-*(ow	ov	,	(oy	*06(
s

(	(*+,
o	+
ox	o	**05(
s

(	(*+,
o	+
ov	o	**0=(
s

(	(*+,
o	+ox	ov	o	**J(	
~0o
*J(	
~0o
*0"(	
~0o
t
,o
*0$uR
uR,,(}	*o,
*(	*"o	*o	*o	*~s
.s
/s
0*{2*"}2*{3*"}3*{4*"}4*{5*"}5*{6*"}6*{7*"}7*(
(	(	(	(	(	(	*{8*"}8*:(
(	*:(J
};*0j{;-[o	(R
,(
sS
zo	(
u};{;-$(+
("%o	(O
sS
z{;*2(	oc
*B{:%-&~c
*v{:(s
,};}:*j{9-sf
}9{9*(O
-/o		s
o(	o
o	od
(
*b(	o	oe
o	*05s

(
}
{9-+{9oc
o
}
*02t
{
(
{
,(	oc
{
o~
*~(
{9,{9oc
o
*j{A-s
}A{A*{?*:}?ol*J(	~@o
*J(	~@o
*fto	o	(f*s	*0K
u,o
{>sRo	oV.(_oVoToM*}<}=}>{?,{?o
*0E(	~@o
t1
,	o
*(+
("%rQp(O
sS
z.s
@*b{B(
t2}B*b{B(
t2}B*0oY
s

(	o
*Z{B,
{Bo
*(`
*{C*"}C*{D*"}D*V(
(
(
*{G*"}G*{H*"}H*{I*"}I*{E*{F-s
}F{E,{Fo
{F*:(
(	
*6(
o
*B,(
o~
*Z{F-*{Fo
*n}E{F,{Fo
*0@-rHpsk
z-rQpsk
z-rQpsk
z(	
(
(
*(
*"o
*o
*o
*{L*"}L*{M*"}M*6oX
t*&o
*0T(
(
}J(

+o9
t{Jo
o6
-uO,o5
*&B0OE +$s{
*s<
*sW
*sr
*sb
*s
*rQps
z&(
*&o
&*~K*2to
*(
*0Z;%('
%('
%('
%('
%('
%('
K*0$Uod
(.

od
()
,*(
*o
, o
('
()
,	o
**6~c
(*0Q-*(R
,*
%.of

+ 	-(

+	(

	X
	i2*rr'p;%o]
(3
*-r&psk
zo^
P('
(a
ob
*0C-r&psk
zo^
P('
%o_
%(`
(a
ob
*0:
o
+o
,-
+(

o6
-
,o5
*	%.
0:
o
+o
,-
+(

o6
-
,o5
*	%.
~(
rpo
t%-&~c
*J(
rpo
*~(
rQpo
t%-&~c
*J(
rQpo
*0X(
rQpo

-**^(
rQpo
*0@(`
%B
s
%C
s
%D
s
}O*N(R
-	(
**0u
,o
**0(8
(R
,(sS
z
(

u,'(+
(8
"%o
(O
(9
+(8
rRpo
,(sS
z{O
+8	o
()
-(8
~No

(
-
	X
	i2*0-r&psk
z(?

oY
(
,.(:
,*(0
("%(8
(O
sS
zo 
-$(+
("%(8
(O
sS
zo
,o
o&
o
--(+
("%(8
%o&
(O
sS
zi"
	+do
o
-.(+
("%(8
%o
(O
sS
z	o
o
(Xi2	o
,Ju,o]
o]
o
-)(+
("%o]
o
(O
sS
zt*"\N*2(6
(=
*2(

(>
*(
,
(
o
-*(
o
o&
*0.U{P(
,(F
(K

(L
}P{P*B{Q%-&~c
*v(F
(s
,}Q}P*(
*(
()
,ripsk
zoN
(G
(L
}P*"(
*0n(R
,)(+
("%(
o
(O
sS
z(

/(+
("%%(
o
(O
sP
z*2=/>P('
rRp(
;%o
*o^
(E
%o_
(
ob
*~(
r"Rpo
t%-&~c
*J(
r"Rpo
*0X(
r6Rpo

-*p*^(
r6Rppo
*j{V-s
}V{V*0-*(N
(R
,(
sS
zo]
~c
(e

(P
(N
(T
(R
o
+o
o~
o|
(T
o6
-
,o5
*P)y
0K-(U
+(V

(0
%(
;%o]
%od
(3
*n,.+rU'p*re'p*rU'p*^,.+r'p*r'p**{W-"s
}W{W[
sn
o
{W*b(X
(
(
(*(
o
\
sn
o
*R(

,(

o*b(X
(
(
o
*0%s

(
}
{W(}
*0-t
{
(
{
,(X
{
o~
*J(
{W(*0-*oY

s
o]
~c
(e
o

+a	o
(	
(R
-K(	
(0
(
od
(/
,#od
(
(
o
	o6
-
	,	o5
(0+, (5
		%(
(1
***m
j{[-s+
}[{[*}Y}X}Z(c
o 
*0J-*(c
o

+o9
to
%-&o6
-uO,o5
*&70X(
rJRpo

-**^(
rJRpo
*0X(
rZRpo

-**^(
rZRpo
*b(X
(
(
o
*0-*(g
(R
,(
sS
zom

o]
~c
(e
(g
(0
(-
(i
-(k
-(sS
z
(i
,0o
-(sS
zo	
,o	
(i
(o

(k
,Ho
,	,o
3(sS
z	,	o	
+o	
,(k
(p
-	-*	(q
%(
(1
*0:od
(/
(h

E
+(
**(
**0:od
(/
(h

E
+(
**(
**j--*-*-*(
*~(
rjRpo
t%-&~c
*J(
rjRpo
*0X(
rRpo

-**^(
rRpo
*0X(
rRpo

-**^(
rRpo
*0-*(s
,(s
o4
(R
,(
sS
zoY

o
-(sS
z(1+(
(+
(

(R
,*(s
%,o
s

o]
~c
(e
+,o4
(0
			(z
o
Xi2	(4
%(
(1
*0(u
,(
rRpo
-5(u

oZ
~
%od
(
(
*(u

oZ
~
%od
(
%(w
(h
(
*{d*"}d*{e*"}e*0-~f- rRp('
oD
s

f~f*~g*g*V(
rRp~go
*V(
r.Sp~go
*V(
rVSp~go
*V(
rSp~go
*V(
rSp~go
*V(
rSp~go
*V(
r.Tp~go
*V(
rTTp~go
*V(
rTp~go
*V(
rTp~go
*V(
r Up~go
*V(
rNUp~go
*V(
rpUp~go
*V(
rUp~go
*V(
rUp~go
*V(
r"Vp~go
*V(
rVp~go
*V(
rVp~go
*V(
rVp~go
*V(
r Wp~go
*V(
rbWp~go
*V(
rWp~go
*V(
rWp~go
*V(
rNXp~go
*V(
rXp~go
*V(
rXp~go
*V(
rXp~go
*V(
r(Yp~go
*V(
rxYp~go
*V(
rYp~go
*V(
rYp~go
*V(
rZp~go
*V(
rNZp~go
*V(
r|Zp~go
*V(
rZp~go
*V(
rn[p~go
*V(
r[p~go
*V(
r\p~go
*V(
rH\p~go
*V(
r\p~go
*V(
r\p~go
*V(
r\p~go
*V(
rD]p~go
*V(
r]p~go
*V(
r^p~go
*V(
rd^p~go
*V(
r^p~go
*V(
r_p~go
*V(
rt_p~go
*V(
r_p~go
*V(
r"`p~go
*V(
rt`p~go
*V(
r`p~go
*V(
r&ap~go
*V(
rap~go
*V(
rap~go
*V(
r2bp~go
*V(
rpbp~go
*V(
rbp~go
*V(
rbp~go
*V(
rHcp~go
*V(
rcp~go
*V(
rcp~go
*V(
r*dp~go
*V(
rrdp~go
*V(
rdp~go
*V(
rep~go
*V(
rTep~go
*V(
rep~go
*V(
rep~go
*V(
r&fp~go
*V(
rtfp~go
*V(
rfp~go
*V(
rfp~go
*V(
rHgp~go
*V(
rgp~go
*V(
rgp~go
*V(
r0hp~go
*V(
rzhp~go
*V(
rhp~go
*V(
rhp~go
*V(
rJip~go
*V(
rip~go
*V(
rip~go
*V(
rjp~go
*V(
rRjp~go
*V(
rjp~go
*V(
rjp~go
*V(
r6kp~go
*V(
rkp~go
*V(
rkp~go
*V(
r,lp~go
*V(
rllp~go
*V(
rlp~go
*V(
rmp~go
*V(
r6mp~go
*V(
rlmp~go
*V(
rmp~go
*V(
rmp~go
*V(
rmp~go
*V(
r@np~go
*V(
rnnp~go
*V(
rnp~go
*V(
rnp~go
*V(
rop~go
*V(
rHop~go
*V(
rtop~go
*V(
rop~go
*V(
rop~go
*V(
rpp~go
*V(
r>pp~go
*V(
rhpp~go
*V(
rpp~go
*V(
rpp~go
*V(
rpp~go
*V(
r&qp~go
*V(
r\qp~go
*V(
rqp~go
*V(
rqp~go
*V(
rqp~go
*V(
rrp~go
*V(
rdrp~go
*V(
rrp~go
*V(
rrp~go
*V(
rsp~go
*V(
rNsp~go
*V(
rsp~go
*V(
rsp~go
*V(
r
tp~go
*V(
r8tp~go
*V(
rxtp~go
*V(
rtp~go
*V(
rtp~go
*V(
rup~go
*V(
rLup~go
*V(
rup~go
*V(
rup~go
*V(
rvp~go
*V(
r2vp~go
*V(
rtvp~go
*V(
rvp~go
*V(
rvp~go
*V(
rwp~go
*V(
rTwp~go
*V(
rwp~go
*V(
rwp~go
*V(
rwp~go
*V(
rLxp~go
*V(
rxxp~go
*V(
rxp~go
*V(
rxp~go
*V(
ryp~go
*V(
rvyp~go
*V(
ryp~go
*V(
ryp~go
*V(
rzp~go
*V(
rFzp~go
*V(
rpzp~go
*V(
rzp~go
*V(
r{p~go
*V(
r^{p~go
*V(
r{p~go
*V(
r|p~go
*V(
rf|p~go
*V(
r|p~go
*V(
r}p~go
*V(
rj}p~go
*V(
r}p~go
*V(
r~p~go
*V(
rR~p~go
*V(
r~p~go
*V(
r~p~go
*V(
rPp~go
*V(
rp~go
*V(
rp~go
*V(
rZp~go
*V(
rp~go
*V(
rp~go
*V(
rRp~go
*V(
rp~go
*V(
rp~go
*V(
r2p~go
*V(
rp~go
*V(
rЂp~go
*V(
rp~go
*V(
rjp~go
*V(
rp~go
*V(
rp~go
*V(
r:p~go
*V(
rfp~go
*V(
rp~go
*V(
rԄp~go
*V(
r"p~go
*V(
rp~go
*V(
rp~go
*V(
r؅p~go
*V(
rp~go
*V(
rBp~go
*V(
rxp~go
*V(
rƆp~go
*V(
rp~go
*V(
rHp~go
*V(
r|p~go
*V(
rp~go
*V(
rp~go
*V(
r:p~go
*V(
rhp~go
*V(
rp~go
*V(
rȈp~go
*V(
rp~go
*V(
r@p~go
*V(
rnp~go
*V(
rp~go
*V(
r̉p~go
*V(
rp~go
*V(
r$p~go
*V(
rRp~go
*V(
rp~go
*V(
rp~go
*V(
rԊp~go
*V(
rp~go
*V(
rHp~go
*V(
rtp~go
*V(
rp~go
*V(
rp~go
*V(
r$p~go
*V(
rtp~go
*V(
rp~go
*V(
r،p~go
*V(
rp~go
*V(
r2p~go
*V(
rdp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r p~go
*V(
rPp~go
*V(
r~p~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r>p~go
*V(
rpp~go
*V(
rp~go
*V(
rp~go
*V(
r6p~go
*V(
rxp~go
*V(
rp~go
*V(
rp~go
*V(
r$p~go
*V(
rRp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r"p~go
*V(
rlp~go
*V(
rp~go
*V(
rp~go
*V(
rRp~go
*V(
rp~go
*V(
r p~go
*V(
rp~go
*V(
rȔp~go
*V(
rp~go
*V(
r^p~go
*V(
rp~go
*V(
rp~go
*V(
r4p~go
*V(
rp~go
*V(
rЖp~go
*V(
r p~go
*V(
rhp~go
*V(
rp~go
*V(
rp~go
*V(
rXp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r8p~go
*V(
rp~go
*V(
rp~go
*V(
r8p~go
*V(
rp~go
*V(
rԛp~go
*V(
r*p~go
*V(
rfp~go
*V(
rp~go
*V(
rp~go
*V(
rBp~go
*V(
rp~go
*V(
rܝp~go
*V(
rp~go
*V(
rtp~go
*V(
rĞp~go
*V(
rp~go
*V(
rXp~go
*V(
rʟp~go
*V(
r
p~go
*V(
rVp~go
*V(
rp~go
*V(
rp~go
*V(
rTp~go
*V(
rp~go
*V(
rp~go
*V(
rVp~go
*V(
rp~go
*V(
rޢp~go
*V(
rp~go
*V(
rxp~go
*V(
rp~go
*V(
rp~go
*V(
r@p~go
*V(
rp~go
*V(
rԤp~go
*V(
rp~go
*V(
rTp~go
*V(
rp~go
*V(
rp~go
*V(
rbp~go
*V(
rp~go
*V(
r p~go
*V(
rp~go
*V(
rp~go
*V(
rRp~go
*V(
rp~go
*V(
rp~go
*V(
rVp~go
*V(
rp~go
*V(
rp~go
*V(
r(p~go
*V(
rxp~go
*V(
rp~go
*V(
r(p~go
*V(
rpp~go
*V(
rp~go
*V(
rRp~go
*V(
rp~go
*V(
rp~go
*V(
rJp~go
*V(
rp~go
*V(
rp~go
*V(
rdp~go
*V(
rʮp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r^p~go
*V(
rp~go
*V(
rаp~go
*V(
rp~go
*V(
r@p~go
*V(
rxp~go
*V(
rp~go
*V(
rp~go
*V(
rRp~go
*V(
rp~go
*V(
rp~go
*V(
r6p~go
*V(
rp~go
*V(
r̳p~go
*V(
rp~go
*V(
rDp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
rVp~go
*V(
rp~go
*V(
rԵp~go
*V(
rp~go
*V(
r8p~go
*V(
rdp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r\p~go
*V(
rp~go
*V(
rp~go
*V(
rBp~go
*V(
rlp~go
*V(
rp~go
*V(
rp~go
*V(
r.p~go
*V(
rp~go
*V(
rιp~go
*V(
rp~go
*V(
rZp~go
*V(
rp~go
*V(
rp~go
*V(
r4p~go
*V(
r~p~go
*V(
rp~go
*V(
r@p~go
*V(
rp~go
*V(
rܼp~go
*V(
r*p~go
*V(
rvp~go
*V(
rp~go
*V(
rp~go
*V(
r$p~go
*V(
rjp~go
*V(
rp~go
*V(
rؾp~go
*V(
rp~go
*V(
r^p~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r6p~go
*V(
rVp~go
*V(
rp~go
*V(
rp~go
*V(
r8p~go
*V(
rvp~go
*V(
rp~go
*V(
rp~go
*V(
rXp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
r p~go
*V(
rhp~go
*V(
rp~go
*V(
rp~go
*V(
rVp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
rHp~go
*V(
rp~go
*V(
rp~go
*V(
r$p~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
rp~go
*V(
rAp~go
*V(
r}p~go
*V(
rp~go
*V(
rp~go
*V(
r+p~go
*V(
rsp~go
*V(
rp~go
*V(
rp~go
*V(
r-p~go
*0-~h- rep('
oD
s

h~h*~i*i*V(Drp~io
*V(Drp~io
*V(DrQp~io
*V(Drp~io
*V(Drp~io
*V(Dr+p~io
*V(Drep~io
*V(Drp~io
*V(Drp~io
*V(Drip~io
*V(Drp~io
*V(Drp~io
*V(DrMp~io
*V(Drp~io
*V(Dr#p~io
*V(Drp~io
*V(Drp~io
*.(9(
*j-r%psk
z(9(

*~(
(6(
,	(
**F(
(6(
*n(
(6(
o
o%
*0y,o
-*o
o

(x,*(1,(-*o
,*,r/po
-*(
,~ko
o^
()
,**0%t
,o
(_,
o
o
*0t
o
o
r.po
99o
o
o
o
o
o
o
o
o
rA0po
o
r/po
t
o
r}/po
u- +o
o
r9p(0
(1
	(H*0o
o
~jo
,*o
o
~j~jor
l(
-dsn
(
esn
o
asn
o
bsn
o
*0Ut%
o
o
s
(S9o
o
o
s

+	o
o
o 
Xo
o
2o
o
+	o!
o
X	o"
2o
o
rA0po
o
rEpor
o#
o
rW0p~c
r[0p(Hrp% of
~%-&~fs$
%(2+(%
o
rp~c
(H*(,(AsS
 (*0it
o
o
o
o&
u,C(,;(
o
(
o'
oe

	o 
(
(o(
*o`*"oc*js
j('
k*r~r-rp(i
r~r*F (
s)
*0(R
,(0
*(3+
~oo
t@:SrtFpo
-+o.
	Yo
r,p(
(
-+(	o~(R
,9o~(R
:	o~(H-+
o~(H	,(0
o
&o
,(0
o
&o
	-:,@+4o/
(0
o,
-9o
-+
o
	-	,+(0
+(0
(q,o,
,(0
~oor
*:(x-(*0%,of

i.i.(s*
o+
i3<s
o,

	o.
0(0
+	s-
o.
(o/
(0
!(((*(v	v	v	0)~no
t
-(p
~nor
*0-o
sx

o1
o2
(3
(4
s5
*0N~oo
t@
-8('
o
,#,to6
(7

~oor
*2(so*^~q-
sqq~q*>(so*6(so*(|,0,+o
o8
rBpo9
,o
o8
o:
***^(R
-
(j(r
**(zrp(;
rp(/
o<
*0Uo

(=
o>
o?
rZpo@
oA
#v@(B
(C
oD
oE
oF
*0Co

(=
o>
#v@(B
(C
oD
oE
oF
o
*>s<
(}*0
oG
oH
,oI
o
(moI
o
rZpog

	(R
,(	~J
(K

(%- &~%-&~usg%(~(,%-
&L
sM
oN
(*IW(>0A(R
,(ol
Z5&QYE8>RD2Z.&+JqYE,,z3&
+&
+ 
+
+oe
(y*(*oe
(R
,(%|of
,i.i.(+i],(sY

,V(n		(

,(		(R
-	s-
+(0
(JoV
&8W
8B(R


,ol
#;X%,of
-(
-+(n(

,_-r^p+E~s-(i
+oh
,		
on
&
	oV
&Xi2+|+oX
,		
on
&
	(R
-	s-
+(0
(JoV
&-(kz(kzXi2Xi?({,(z+({o
,s
sO
(P
sQ
	oZ
o
,o5
,o5
o
r~pr~;poR
oS
ioT
,o5
	oZ
o<
*@Tc
Tm
)l(q*(kz(kz"o|*ov*0Cs7
(8
ns7
(8
os
psqqs t*0sU

~woV
~xoV
*~y*F~w(W
t*6~w(X
*F~x(W
t*6~x(X
*(Y
*0jsZ
us[
vrip('
~u~vs\
wrp('
~u~vs\
x(y*0sU

~zoV
~{oV
*Brp(
t*~|*F~z(W
*J~z(X
*F~{(W
*J~{(X
*(]
*0Ir%p('
s^
zr5p('
s^
{(|*0)sU

~}oV
~~oV
~oV
*~*F~}(W
t*F~~(W
*J~~(X
*F~(W
*J~(X
*0rKp('
s_
}rap('
d s`
s\
~rp('
  s`
s\
(*0)sU

~oV
~oV
~oV
*Brp(
t*~*F~(W
*J~(X
*0"~(W
t
,o
t**v,
o
t~(X
*0"~(W
t
,o
t**v,
o
t~(X
*0vr%p('
s^
rp('
sa
s\
r;p('
sa
s\
(*0sU

~oV
*Brgp(
t*~*F~(W
*J~(X
*r%p('
s^
(*0sU

~oV
~oV
*~*F~(W
*J~(X
*F~(W
*J~(X
*0Krp('
s_
rp('
s_
(*Z(b
rpoc
t*Z(d
r/poe
t*(f
*Z(d
r[poe
t*Z(d
rpoe
t*Z(d
rpoe
t*Z(d
rpoe
t*Z(b
rpoc
t*(g
*~*6(h
t*f(h
,(i
oj
*"ok
*:ol
(m
*(n
*s*2to*0so

(Y
8o9
to(?

	()
,$(0
(
"%o(O
s
z('
	o
-$(0
(
"%	o
(O
s
z	(p
toq
o6
:huO,o5
or
*
.sU
*
*(|
*(|
()
,ripsk
z}*{*B{%-&~c
*"}*oo
oos
(t
(*V(
}}*0,,-*o(

-*soj
*,{rpoV
&*{r'poV
&*rMp*{**(*0&()
,ripsk
z-repsk
z
(,s
s

8(,ss

8(9rop(
(}
,Wr&pou

	((
,B	rp(o
(
,)"%%%%o
u*(+
("%o
(O
s
z(+
("%o
(O
s
zoj
*F('
o
*0-('
o

*0-('
o

*05-rQpsk
z(


,o
rpo
o
o
*0_o
o'
o.
2o
o'
ol
/.(;sS
zo
o
(

o
o'
oe
(*0'o 

oG
,s+s}*0oF

>o
o
o
o
o
(=
l(v
ow
o
o
ox
o
o
oy
oE
oz
1o
o
o{
rpo@
*o
o
o{
o|
*o
o
o}
o
o
~~
o
*0ho
o

s+
oE
o
+2o

	oS
o
og
,o
o
o6
-
,o5
*>\
0.o
o
s

o
(R
,s+
*o4+*0oL
,Vo
o
rp(
,o@
o
(*(+
(:"%oB
%rp(O
sS
zo
o
rp(
,o@
o
(*(+
(:"%oB
%rp(O
sS
z0(
oH
-o@
o
o^
(p

oM

oJ
,bu
	,oK
,H(


>(+
(<"%oB
%o&
o
%oM
(O
sS
zrp+'rpo@
o
o
r7(p(/

rpo
o
	,o
	o
*M	V>>0,(

,o
((
(*!!
>0,s5

r@po6
rPpo6
rfpo6
*6 (*0o
o

o
o
o
o
o
o
o
o
o
(
o
o
rpo
o
rpr)po
o
o
o
o
o
o
s
sQ
u,o
o
,!(7~c
~c
((
o
+'oM
o
o
o
((
o
oL

,o5
*h
6{(*(*-rQpsk
zo
o'
(,s*(*o
(-o
o'
(**o'
(R
-'o
rpot
-o
rp(r
***6r]Hp(r
*^rUHp(r
-(**v(
s}s
}*0\(,	{+{o

uu,,s*s*,s*s}*j-r6psk
ztzo~*{*"}*{*"}*{*"}*.+_o
*0>Uo,
o
,
o,
o
*o
,o
(
*('
()
-('
()
,rp*o
,('
()
,rp*rp*o
,H*('
()
,rp*u('
()
,rp*('
()
,rp*('
o
,rp*o
,)
o
-o

9('
()
,rp*o
-R('
o
,rp*rp*04Uo
,*o
-"o

('
()
,	o
**0Vo&
s

s
(P
s
o
jo
s

	o
	,	o5
,o5
*5
?
+I
0(

s
oj
*0Mo

o
s
(
(
(
(
(
(
(
(
s
*0o
o
(

o
o^
oD
(
o
o
r
pog
,&(
,(
,o
 0o
*o
o'
(
	-?(
(
(
,,o
o
o
o
(
ow
o
o
	s
oj
*V(
}}*{*{*0s/o

3d(N
r.po>
,('
s
*rfpo>
,('
s
*rpo>
,('
s
**.(
*2rp(
*.(
*0)(i
(

o
o
u:(_
o
,z(
()
,('
(

	,	o&
&((
,ns
(
,Y(_
o
(=
o
o
o
+/r4po
,!o
o
(
,
o
o
-G,B,(0
(@"%(O
sS
z(0
(?"%(O
sS
z**6-cJs
}(
*0^s
}(
}s
}sv
{oxo
{owo
{oyo
*0I-o
o
sW
(
}{-!('
o

-(>sS
z*>(
}*0W<('
o

-*('
o
,	tt<s>

	oB
	o
*0{-{o^
()
,*
(
s
{o^

	o
+	o

	o
	o
((
-(
s
{,`+`o
Y+?o
o
	+	

(
	X		i2Y/}
,(
* 
{*J(
{o
*"}*0Fs

}s
}s7
}}s
}}}*0D(

{o
-$(+
(B"%(O
rTps|
z(!
*02{,*
(
{,("

,(
*
'
0s
}s
}s
}s7
}{o^
('
o
t(#
(
o

+vo
oC
('
o
t(#
oE
o
+o

	oS
o
($
o6
-
,o5
oJ
-oI
($
o6
-
,o5
} &}}}}*4$
^
!"!0
8o(R
-{oo
oo
o
	o
:	"('
()
-{	('
()
-i	*('
()
-W	u('
()
-ER('
	o
-3('
	o
-!	o
,	o
i0	{(
-$(0
(8"%	o
(O
sS
z	(%
Xi?**(&
**(&
*0-{o
,*{o4
o
,a
,(f
t
+4o
o
(
(
(
a('
()
s8

{o\
(3
o
*o
,%,('
*o
i1*(&
*o
,o
(&
*o
:"('
()
:('
()
-}*('
()
-kj('
()
-Y('
()
-Gu('
()
-5R('
o
-#('
o
--{(
-*,('
*o
(3
{o
o
sW
o
{o
*0(f

-*R('
o
-2('
o
- {o\
(2
o
((
-6(e
o

+	o
((
&	o6
-
	,	o5
*c
0Zo\
(2

u,${o
-3{to
+{o
-{o
*2(*
o
*6(!
{*"}*6(!
{*J(!
{o
*6(!
{*"}*0
(*
o
,
,o^
**0o
(2

(*
o
-**&(3
*0,(!
{o
,**0o[

-o\
(3

*R(X
(<
*Z(W
(<
*R(X
(=
*V(X
(=
*{*{*{*Z}}}*0n|}o
}
+Ao
,{t(0
o
+{t(0
o
X
o
2}*0N(
}}}{o
}}{(R
,o
}*(
}}}s
}*{*0q{,*
(
s

{o
+&o
	sP
o
	X
Xi2}
,(
*
Yf
{*{*6(A
{*2(D
o
*2{o
*2{o
*2{o 
*r{(
-{o
**f{,{o**Z{,{o
**|(
,|(
*{,{o
**J(O
(N
*0(A
{o
"
{o
o
+Q(
oS
o
o
,oR
	+)(0
(="%oS
o
(O
sS
z(
-o5
{o
*(^0(D

o
s
o
+Oo

(	
o
,5o
oS
o
(
(@
o
(
o
o6
-
,o5
*[u
V(
}}*r(
}}}*{*{*n{,{o
*{*n{,{o
*{*0s
m('
rjp(_
$('
rtp(_
n('
rp(_
o('
rp(_
('
rp(_
b('
rp(_
('
rp(_
a('
rp(_
*0t(
(R
,}()
,G}+>rp(/
}()
,#(0
rp"%%(O
}}}**(W
*~(
,r
pr ps
~*~(
,rpr ps
~*{*{*{*{*0rps

~o
*0"k-*
o
-o
u(a

*0jo
,
o
o^
-*o
o^
.*o
o

u-*to
rp(
-o
~
(
**0RQ-*o
u
,
Q(c
*o
uo
,o
u
,
Q(c
**0o
o

+o
tu-no
-uO
	,	o5
o
~
(
,?o
o
rp(
,&o
o
rp(
,o
o^
****$00.,)o

+o
3sa
zo

-o
**0ts

s
o
o
o
o3

8&	o9
to
r p(
:o
o
8o
uo
(
9o
o\
(
,o]
(
:o
(R
-r	u
(b
,'o
(
o

o
(i
	+,u(`
-*u-o
(
sX
		,	o
o
:'uO,o5
	o6
:	uO,o5
*A4\<&8^0
s
o
o
-eo
,A(
a('
()

o
(
o
(
(
(
	s7

+o
(
o
(
sX

*0K(Y
(h

-*o

r!po
o

o

rpo

	o

s
*09o	
,o	
o^
1qo	
o
u,^o	
o
t
o

,B+8ud
	,(	o
o
(
,	o	
o
(
,	*Xi2*0rprps
(g

~o
a('
()
s

s

o
o
+vo
tuo
(Z
(h
(d
-	o
j	+!,(
(
	+(
(
		o
o
	o
o
-uO

,
o5
	o
o
s5
*O0oo
o
-*sY
}{,s
}ol
om
(k
(u
(q
(x
o-
(y
{oZ
*00o|

{oV
rpoV
oV
rpoV
&*0Non
{r>poV
&{o|
oV
r\poV
&(o
{rpoV
&*0on
{rpoV
&{rpoV
&{o|
oV
rGpoV
&
o
o
+$o
-{rpoV
&
(w
o6
-
,o5
{rpoV
&*U0
~o
o]
o
o\
({
*0E{rpoV
&{rpoV
&{rpoV
&{r'poV
&*0ho|

o
o
87o
oB

{oV
.on
	oV
rUpoV
&sY
oE
o
++o
-,on
&+oT
oV
&o6
-,o5
-
,on
&rmpoV
&{oZ
oV
rpoV
&{,){rpoV
&{{	o
oV
&{oV
rpoV
	oV
(on
&{oZ
oV
rpoV
&o6
:
,o5
*A4b8I]
0So|

{oV
rpoV
oV
rpoV
&{9{oV
r'poV
&{oV
rgpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rZpoV
&{oV
rpoV
&{oV
r]poV
&{oV
rpoV
&{oV
r#poV
&{oV
rpoV
&{oV
rrpoV
&{oV
rpoV
&{oV
rRpoV
&{oV
r{poV
&{oV
rpoV
&{oV
rIpoV
&{oV
rpoV
&{oV
rpoV
&{oV
r8poV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rWpoV
&{oV
rpoV
&{oV
r)poV
&{oV
rpoV
&8{oV
rpoV
&{oV
rgpoV
&{oV
r2poV
&{oV
rtpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rBpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
r`poV
&{oV
r{poV
&{oV
rpoV
&{oV
rIpoV
&{oV
r*poV
&{oV
rpoV
&{oV
r8poV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rWpoV
&{oV
rpoV
&{oV
rpoV
&{oV
rpoV
&or
(R
-brHpot
-rDpot
,FrVpo
rVp(.
Xropou

	.#	o
	oe
(
(
+(
{oV
r^poV
oV
rvpoV
&ot
,d{oV
rpoV
&os
(R
-<rpo>
--{oV
rpoV
(
oV
rpoV
&*0@{on
&oE
o

8o
oT
9rpoV
oV
rDpoV
&oU
(	

o@
	(
oz
(R
-r0poV
oV
rDpoV
&r@poV
	o
oV
rDpoV
&oT
1,on
&,on
&oV
&oV
:on
oV
&o6
:"
,o5
,
~oV
&r7(poV
&oT
1	,on
&rZpoV
&*
0*oB

o@
o|
oL
-r)p+r)p{oV
:on
&sY

sY
{,sY
	(v
{,oZ
{o
{rpoV
	oZ
oV
rpoV
&{,{oV
&{rpoV
&{r2poV
oV
r2poV
&{oV
,on
&{oZ
oV
r&poV
&*0
o)
o
8o
,{rpoV
&
o4

o\
oz
(
o]
oz
o]
(}
(~
{rpoV
oV
r poV
&({
{rNpoV
&{	oV
&{rvpoV
&{oV
rpoV
oV
rZpoV
&o6
:
,o5
*
0o

8oo
o]
(}
o\
oz
(

o:
o;
o]
oz
	(~
{rpoV
	oV
r poV
&	.oh
3{rlpoV
&{	oV
rvpoV
&{	oV
rpoV
&+g1{,on
&{oV
&{rpoV
&o9
,{o
&+{o
&Xi2{rpoV
&{	oV
rpoV
	oV
'on
&{r"poV
&o6
:
,o5
*A
0(
oz

(R
-
,*(}
+!-rpo
-{rlpoV
&{oV
&,{r>poV
&{=on
&{o4
*Fo
o\
(
*0Ooz
(R
,*{o
-.{rFpoV
oV
rTpoV
&{o4
*0
(R
-$rp(
o

	1
	o.
XX
.o
8o
{o
-h{o
-Y{o4
{rpr`p(/
oV
&,{rlpoV
&{rp(
oV
&.Xo
=l*vs7
}s7
}(
*.rp*0Qs

o
{o
(
,)(0
(
"%{oZ
(O
s
z*(
s
}}}*0X%{1{(
o
s
z{o

(
-*{o
(
,(
*(
,%(
rpo 
,{(
**(
,(
*(
,(
*(
*0
sC

{o
(
-#+(!
s"

[(#
.+
($
,{(
o
s
z8{o
(
o
&{o
(
-#+(!
s"

](#
.+($
:(
-#+(!
s"

,(#
.+
($
,{(
o
s
z{o
%(
,F(
-#+(!
s"

](#
.+
($
:,{(
o
s
z(
-#+(!
s"

](#
.+
($
,{(
o
s
z*0
{o
(
-#+(!
s"
{
(#
	.+
($
9{(
o
s
z{o
(
-#+(!
s"
:
(#
	.+($
,{(
o
s
z(
-#+(!
s"
}
(#
	.+
($
,k(
{o
(
-#+(!
s"
:
(#
	.+
($
,{(
o
s
z-s+

-{o
8o
(
(
o
{o
(
-#+(!
s"
}
(#
	.+($
-r(
-#+(!
s"
,
(#
	.+
($
,{(
o
s
z{o
%(
:(
-#+(!
s"
}
(#
	.+
($
,{(
o
s
z*(%
2#rp"%(%
(&
sS
z*08{o

(
-*{o
(
,(
*(
*0(

rG)po'
,*r)po'
,*r)po'
,*.oh
r/po(
-L-0(0
(v
,*(0
()
,*o(0
(*
,* (0
(+
,	d*(0
(
"%(O
s
z0sY

"+W(,
(o
-,(,
..!(,
-.(,
_.(,
+3(,
on
&+
{o
+{o
%(
-oZ
*0sY

{o
(

8(
-#+(!
s"
\(#
.+($
,,
\on
&+m+i,(
+Z(
-#+(!
s"
	(#
.+($
,oZ
(-
*(,
on
&{o
%(
:'{(
o
s
z0(
-#	+(!
s"

"(#
.+($
-x(
-#	+(!
s"

'(#
.+($
-<(
-#	+(!
s"

/(#
.+($
,(,
on
&*(
-#	+(!
s"

b(#
.+($
,	on
&*(
-#	+(!
s"

f(#
.+($
,
on
&*(
-#	+(!
s"

n(#
.+($
,

on
&*(
-#	+(!
s"

r(#
.+($
,

on
&*(
-#	+(!
s"

t(#
.+($
,
	on
&*(
-#	+(!
s"

u(#
.+($
,${o
 (0
(.
on
&*{(
o
s
z0"

(
-#+(!
s"
'(#
.+($
,
(,

+V
(
-#+(!
s"
"(#
.+
($
,{(
o
s
z*0{r3po

{Xo
r;p(/
op
rpoq
o
(
,0{ot
o
&	 'jZ~X(0
**(
*0:(
-#	+(!
s"

[(#
.*($
*0+{o

,{o
rp(r
**0:(
-#	+(!
s"

{(#
.*($
*0x(
-#	+(!
s"

"(#
.+($
-:(
-#	+(!
s"

'(#
.*($
**0s

o
*0>X-rpsk
zo.
o
1(
rps|
z(

(
*"(
*(
}d(
  (
*{*^/(
s
z}*{*^/(
s
z}*{*j{-s1
}{*0p-rKpsk
zo2

+Do3
o
,3o>

+	o=
(
o4
	o6
-
	,	o5
o6
-
,o5
*/"Q
Pe
{,.+#{o5
,
{o6
*o
((
-*>(
QP*>(
(
*vЛ('
(
(
*>(
(
*^Л('
(
*&(
*&(
*0
sY

(
oZ
**(
*(
-oT
(
1(
sS
z*v,
r)poV
&*r)poV
&*rDpoV
 o7
oV
rDpoV
&*rDpoV
uoZ
oV
rDpoV
&*0{	-<rpoV
&(

(8
~Y 'j[o
&rpoV
&*rpoV
&(

(8
~Y 'j[o
&rpoV
&*0P

o&
{on
&(
,7(
o
,%rp(
:on
&(

o9
+Q(
-:-	,on
&o
(
:on
&(:
(

Xi2 oj

		+o	

(
-X
oA
(
-Eo
-;-	,on
&
o
(
:on
&(;

(

	X		i2}on
&*0;('
o<
,*('
(=
t
,
o
,**0{on
&
rpo
, 
rprpo
(
o
8o9
&
(
u-)(0
(
"%o&
o
(O
s
z,rp(r
,+#-	,on
&(
(

o6
:uuO,o5
}on
&*A(
:on
&(
*0\
[on
&
o3
+#o9
-	,on
&(

o6
-uO
	,	o5
]on
&*/A"on
&($
oV
&"on
&*0X%{1(
s
z
,So&
(
,Co
(
,!(
o&
o
,rpo
(
oV
&*(
*0,
~>
o,
,
rG)poV
&*u
,(
*u,"-
rG)poV
&*oZ
(
*u,
(
*u*,*(
*u,
(?
(
*uu,
u(
*uk(@
,(
*ud,!drp(0
(A
oV
&*uc,!crp(0
(B
oV
&*o&
o
-u,.u,(0
oC
oV
&*oZ
oV
&*o&
o
9(
('
()
-a('
()
,X(

-(
+=(+
(
"%o
%oD
o
(O
rp(
(/
sS
ztmrpoE
oV
&*-ss
+.o:
,$(+
(
"%o
(O
sS
zo0
u		,	(
8uR

,
(
(

,o;
*
0	 sF

(8
*:(
}*0K+,{{X}ol

(
-sG
*{o.
{0"*0?{o.
{1"{{
X}ol
sG
*"*0:{o.
{X2#{{o

{X}**b{1{Y}*+{Y}Y{10*{o.
{1{{oe
*~c
*"%%rp%{%rp%{(H
*{o.
{1{{ou
{Y**{o.
{X1{{o
*oZ
*0Lo3
+!o9
(
-
(o
&o6
-uO,o5
*	*-40u
,(
-*or
*o&
o@
(
,LoI
(
,:o
(
-*"%o
&P&,DoJ

	(
,/	o
(
-*	oK
&,**f~"
"0

rpo
,d('
(
-Q*t,9o
,%o
o

()
,,sa
zQ*rpoL
&((
,2o
,'o
Q$&,Q-	(
,(p

oM
sN
(
9o
('
((
,@"('
((
,-,$(0
(
"%o
(O
sS
zQ*o
	(
,(p
t	+*~;%%on


(p
t		,`oO
+5(P
oQ

(
-Q	
or
(R
-'o5
	Q*((
,z	o&
o
-l-Q*~oS
(T
,$(0
(
"%o
(O
sU
z(0
(
"%o
(O
sS
zoO
+*(P
oQ
	(
-	Q(R
-'o5
	Q**("B~70X(
&*0b-?('
()
,Q*(
,,(
sS
zQ*Q*o&
()
,Q*(
*0Nu
,(
*u,(
,	Q*Q*()
-o&
()
,Q*(
o&
oV
,*(0
oW
Q&,Qݶ('
oV
,_u*,&*(
r"p(0
(X
+(Y
oZ
o
QT&,QEo&
o
,Q*,((+
(
"%o&
%(O
sS
zQ**k"P"0()
-"('
()
-(
9"('

((
,"('
((
,o

sC
(
-Q*,('
()
-6R('
()
-$о('
()
-\('
()
,Q*o[
Q*o
9o
i@o
~;%on

	o
9~;%on
(
,!о('
o
,(p
t+Eo
,-,$(0
(
"%o
(O
sS
zQ*(p
t(
-Q*Q*(
,9о('
o
,'(p
t(
-Q*Q*,$(+
(
"%o
(O
sS
zQ*0Qo
-G,('
()
-5R('
()
-#о('
()
-\('
()
**0m()
-o\
-o
-o
,*"('
()
,*
o
,*o
,*~oS
(T
,**0C((
,8o
,0('
o
-o
~()
,o
i**((
,+o
,#o
,o
('
()
***.(
*0H;X('
3('
2('
9('
*{*"}*.9('
*n()
,ripsk
zoN
*(
*(]
*V(
}}*{*{*{*:(
}*J{o^
(_
*J~-(
~*R(
.(
*0"(`
r&p(

(a
*0@(`
r&p(

~-(b
*(c
$oT

,o5
*%5
{*{*{*{*{*(
}}}}(}}*{,(&
o
sd
z{{{(oe
&*:o(f
*z,{,{og
}*0,oh

si
+
oj
Xi2ok
*0,~l

(m

(n
~l
(o
,(p
*r(
}}}*{*"}*{*"}*{*"}*0@
r@po
(,s9rJps
s
(q
*0|,s
zrbp(
%rpp%rp%rp
"%%%('
(,u,**0-rpsk
z(r
rpog
}rpog
}r"pog
({(R
,
(}+H(s
{ot
,6(s
{ot
ou
}(s
{ot
ov
}{(..+}+}r8pog

(R
-r)p(w
}r8pox
rpox
rhpox
rpox
rpox
r"pox
oy
oz
+3o9
t
	(R
-(0
(
"%	(O
s
zo6
-uO,o5
*H?*(*B-+(*0
(
(R
-+(,,{, {({
o|
o^
so}

[{(R
-@+:(,,{, {({
o|
o^
so}

2
,(
	*
0({

,
o|
u
-*(
(
-Qo|
t
o

{,s
z(rp(
o|
o^
{{(&o|
o^
{{((~
s
(q

,(
({,{rpso}
*
~{(R
,(s
z{*{*}{(R
,}*{r@po
}*0) {
(
t3|(5+
3*0) {
(
t3|(5+
3*0!
-+((R

({
,!({
o|
u
,({
o|
o^

(R
,,	,({
u,>({
o|
u
,-({
o|
o^
(
,({
o|
t
o
(R
-9(w
-/(
-(+({{(-k	,$JXT(-JdXT*(
-1({{{(-*(+(-*`,-+(({
u,(({
o|
u
,({
o|
o^
(s
,8-({{(rJps
s
(q
,(w
,{{(*0"{-{,{(o*{{(
o
o
o
rpo
o

	-+	oZ
"&,o
,o
,o5
*(67m"6E{
4Q
0#{-{,%{(
o(
oo*{{(o
o

	o
	rKpo
	o
&(R
-|o

	o
	rpo
	rp(	o
&o

	o
	rpo
	rp(=
(
(0
(
(	o
	o
&"&,o
,o
,o5
*(J"J
H
0e${()
,"{(R
,*{(
}{(p
to
-*oQoQoR*0%{-*$
s
o
(4
({-{,"{(
	o	o	o*{{(o
o
rpo
r-prQp(
(o
o
&o
rmpo
rprp(
(o
o
&o
r2po
r-prQp(
(rp(o
o
&o
r'po
rprp(
(rp(o
o
&)&,
o
,o
,o5
*ALw%"w6qH0N&(
o

iiX$o
io
(

	o

	,	o5
(4
*3
=
0RX{,s
z(rp(
{{('
(
,u,**0/'{-*
{-{, {(
	o
	o8{{(o
o
r4po
r-prQp(
(o
u
o
o
rpo
rprp(
(o
u)&,
o
,o
,o5
(R
-(R
,*(
((
*(U"UUrp* *rp*s
z:}(
*0-rpsk
z(r
r"pog
(Drvpog

(R
-(0
(
}rpog
}{(R
,
(}+H(s
{ot
,6(s
{ot
ou
}(s
{ot
ov
}{(..+}
+}rpog

(R
-r)p(w
}	rpox
rhpox
rvpox
rpox
r"pox
rpox
oy
oz
+3o9
t
	(R
-(0
(
"%	(O
s
zo6
-uO,o5
*\?0*(o

+
	(w
-*Xi2*0Q)
(
({
,o|
,
o|
o
-
(R
-$o|
o^
(w
,(
rps|
z{o|
o^
(w
-(
{(
,{
ݶo|
o^
(A,{
ݗ(
,
݄}(
}o|
o^
}o|
(>{	-4{i/)o|
u
,o|
t
o
o|
(>(@{
,(
	*AAE
01*
(
}(
}(?
,(
*"&
0+
u
,t
o

{,s
z(Brp(
o^
{{('
(,t}+}(
{l(
}*0,{(R
,*{
-{, {{(
oo*{{{(o
o

	rpo
	rp{(	o
	o
&o

	rPpo
	rprp{(
(	o
	o
&"&,o
,o
,o5
*(Xw"X
V
0T-{
-{,0{{({o(
oo*(?
{{{(o


{+Mo

	rpo
	rp{(	rp(	o
	o
&Xi2o

	rpo
	rprp{(
(	rp(
(
(0
(
(	o
	o
&"&,o

,o
,o5
*(`1"`?
`I
0.}(
}}{
-{,[{(
o-*o}o{l(
}(
-{(
(
,**{{{(
o

o
	o
repo
rprp{(
(o
u-(0
(
(
{l(
}(
-{(
(
,o
	o
rpo
rp{(sC
o
	+	o
o
&	o
-	,	o5
o
}
+{

on
t
X

o
2"&	,	o

	,	o
,o5
*AdQ"_
k
~{(R
,(s
z{*{*}{(R
,}*{r@po
}*v }(
}(
*0/
({
o|
s
u
,t
o

r@po
,s
zrp(
o^
(('
(
	t(,9o
+o
o
(So6
-,o5
*w$0
g0o
o(
oo	
--*os
rpo0
	o
s
o
*01(
rpog

(R
-(^(
r	pog

(R
-D(s
ot
,.(s
ot
ou
}(s
ot
ov
}
+}
+(}
(
r_	pog

(R
-r)p(w
}-
(&
oZ
(r
9r"pog

(R
-(^rpog

(R
-B(s
ot
,.(s
ot
ou
}(s
ot
ov
}
+}
rpox
rhpox
rpox
r"pox
oy
oz
+3o9
t(R
-(0
(
"%(O
s
zo6
-uO
	,	o5
{
(..***~?02,	o
/s
*~
(
~-?,<r	po
u;((
,"r	p (0
o
us
}}(d(V{
,(
	*u
0k({
o|
o^
}{,}(l}(r{,,}(ms
}(t{(X(n
(i(
-&,{(g&+(e{(k{o
{o
/(t*083,	o
/*~
(
(c(X
,(
*-
0d4~
(
(n(k
(
-	(g
,#{,	-s

{	so

,(
*QY
0Z3~
(
{-	(m8s
}(t{o
}(m
,(
*GO
0J{-s
}{o
o
-{o
(V{o
o
*v~(R
,(s
z~*~*~(R
,*~r@po
*0)5{
(
t4|(6+
3*0)5{
(
t4|(6+
3*J~-(b~*0@s7
;%('
%('
%,('
% ('
%Э('
%>('

+~~~c
o0
X
~i2*06~-(b
o
+Xo9
t~o
o
o
-5~o
o
~c
o0
-sC

o
o
o
&o6
-uO
	,	o5
,8~io
X;~o
~io
*dy07~-(b
o
+Io9
t:~o
o
-+~o
~c
o0
-sC

o
o
&o6
-uO
	,	o5
,8~io
X;~o
~io
*Uj0S8{(f{o
{o

{_, ({
o|
u
,
o
(f*09{o

({
o|

{o
+o9
t:%Xo
o6
-uO,o5
	u
,	t
o
~,s
z%r	p%r	p"%%	o
,	u
+	(\r'
p(
	o^
{
{9('
(	&,	9	t9

o
8(
{(	
o


9{
o
o
-
s
(
,D
o
(
o&
o
-*(

o
s
(
,:o
+(
o
o
o
,
{o
(
:-:o5
*(-)V;
"+0b:
({
o|
u
(h,o
+
&,{,
{_,,o
(h*/0;s+

o
+3o9
t-	o
,o
o
o
o
o6
-uO,o5
({
o|

	u
,	t
o
~,s
z%ra
p%r	p"%%	o
,	u
+(\ro
p(
	o^
{
{>('
(		t>(o*@P0a<~-
~9({
o|
o^
~(
o,o-*oioioi3oioi.*+"ooo(jX2*({
o|
o^
(u{(
	o
	o
r
po
o
o
+7o
o
o
-
o
+		(jo
-,o5
'&,
o
,o
	,	o5
*4D+9"JV
0=r0p(s
,r4p(s
,r8p(s
,*{o

-*{o
-	s
r0p(
-r4p(
-r8p(
-+o
+(
o
+o
o
o
,{o
*0>({
o|
o^

~-
~9~(o
oo
oo
oo

8	o9
too
o
o
-or8p+Hu,or0pot+!or4pot(4
X	o6
:l	uO,o5
,oo*(u{(o
o
	8&	o9
t
o
o
r<po
rp
o
o
(o
&o
o

o
-+rpo
rp
o
o
(8u,=r{po
rp
o
o
(rJ
pt(+@r\
po
rp
o
o
(rJ
pt(4
(o
&	o6
:	uO,o5
)&,
o
,o
,o5
,(o*A|iQ9@a"@r=0L?~-~,!({
o|
o^
~(
o*r+p(p,rIp(
**0Q@~-~,(({
o|
o^
~(
oo*r+p-rMp+rIp(q*0L?~-~,!({
o|
o^
~(
o*rQp(p,rIp(
**0Q@~-~,(({
o|
o^
~(
oo*rQp-rMp+rIp(q*0\A({
o|
o^

(u{(o
rspo
rp(o
u
,o5
	*#-P
0B({
o|
o^

(u{(o
r*po
rp(o
&,3o
rpo
rp(rp(o
&
,o5
*#^
0C(
o

+go9
to&
rpo
(
-Ao

	(
-1	o
o
rp(
	"%o
&o6
-uO,o5
*s~0M(l}{,8{o
1*o{(w
,~,
~o
&*6I"0D{o

+Uo9
t:{o
o
-4s
o
o
o
o

	o
{o
o6
-uO,o5
*amj{
-(}
{
*rp}}rp}s
}(
*rps
*0RE(~

(R
-(
rps|
z(R
-o
(w
,(
rps|
zs
(q
*B(~
s
(q
*(
*0F(
t
o
rpo
o
rpo
P-(QP,Po
,7,2(ijo
o
ioT
,o5
jo
o
t
	-(
s
z	P(()
,(
-s
+s
s
	(o
u9,rZpo
-(
s
zrZpo
(
`	,	o5
		o
t

-(+
("%
o
oZ
%
((O
	s
z*(p
}
5
?V0Go
o
+o9
to
o6
-uO
	,	o5
o
o

+Co
o
,*r,p(
,o
o
(X2*+0Hi
i.rBps|
z/$*(Zs6
s
r)(po
rZpo
(2
oV
&
+,r6p	o
rZp	o
(2
oV
&	X
	2r7(poV
&(P
oZ
o
*0Io

(P
s
 o
,o
j1o
i
s6
	o
+	s
oV
&	o
0oZ
,o5
,o5
*h{
~
0J-!({
,({
o|
o^
+~c
(
,i/s
*i
Xi
X s
s

8	(R
-	=oh
/	~c
+	o
	Xoe
o4
o4
o.
 3r^p(
-ropo
s
o
	X
	i?j*0>((
,i/*+
	,	o4
o.
1*Xi2*0K(R
,*%,of

8%Xs
+B=oh
;oh
12&0 r6poV
&%XoV
&i2oZ

	=oh
2	o
+	o4
2	Xoe
+~c
o4
o.
1
(rbp(/
(&i?-*0bL
(,/*s6
(-*oZ
%;o
,
+		(	X
	i2*o4
o.
"3!ol
Q3=oh
 .* o
(*0MP%;of

i/*,r^p+Po.
s

+5o4
rjp(w
-+	rp(
oV
&Xi2-*,P((R
,*QPo4
Qo.
/rp	oZ
,+oe
(
Q*	oZ
o4
Q*0$N(
,sN
+s

s
}*{*r|p*r(R
,*r|p(w
-**0FOrpo
-,%rpo
,((s
zs

o
**
(
u-	(*o
s
o
&*0xPr|p(
,	(*rp(
,	(*(
o
rpo
rprop(
(o
u
,o5
*57l
0Qr|p(
,
(*rp(
,
(*(
r8p(

(
o

o
rpo
	o
rprRp(
(o
&(R
-Zo
	o
rXpo
rprop(
(rpr3(p(/
(o
&'"&	,	o

	,	o
,o5
*(M"M
K
0Rr|p(
-
rp(
,rp(
(*(
o
o
r	po
o
o
&"&,o
,o
,o5
*(7)`"77n
5Cx
0S(
-(
*0_Trpo
-*
(
o
o4
rp(w
,
o

o

(s
zrp((a
rpo
9rp("%(
tOo&
rp (0
o
&,o5
(%
o
-rpo
o
&Zrpo
o
&o
r>po
o
&o
rpo
o
&,o5
(*	*(7H"oI0Urprp(/
(

((
,*rprp(/
(

((
,*rprp(/
(

((
,*rprp(/
(
*0AS~#()
,rp(#~#"%(
t
,o
*0F~$()
,rp($o
~$"%%(
to
&*J(`
((
*0JU(R
,rp(
*oh

+(o
-_Xi2rps
(/
*{%*:(
}%*0	
"%rp%(

(
*%~c
%~c
%%(

(
*%%%%	%
%%}(~c
})(
*0V
"%rp%(

(
*%~c
%~c
%%(

(
*%%%%	%
%%}(~c
})(
rpo
8~'o
{(u,{(o
8{(u*,-o
 (0
(

{(	(
*+O{(u,2o
{((R
-rIp(s
++{((o
X
?4o
*0DWs

+rpo
o
oO
&o
o
-o
o
*0D@-~c
o

+*rpo
,+~c
o
o
X
i2*:{(t**{(*:{(**>{(**:{(t**{(*:{(t**{(*:{(t**{(*:{(**>{(**:{(t**{(*:{(t**{(*:{(t**{(*>{(	*B{(	*>{(
*B{(
*>{(t*.{(*>{(t*.{(*0X{*-{)(

(e,o5
(
rpo
-rpo
{)s	
(	

	(	,	o5
,o5
,o5
*4	
[	d
Tn
-Kx
0Yrpo

8~'o
{(-~c
o
8{(u,{(o	
8{(u,#{(-rMp+rIpo
+Q{(u*,/{(*(
r`p(0
(	
o
+{(t(o
X

?"o
o	
*0Z
,`rdprp((
(
s	

	(	
s
,o5

	,	o5

,o5
S&Prp((a
,7s	
(	
s
,o5
,o5
&-s
}*})*X4
>, L
#5X
Gd"
!sA"0y
%rp%rp%r0p%rJp%rdp%rpp%rp%rp%rp%	rp%
rp%rHp%r`p'*f~,-(,~,*~.(s
,.(-~-*0Y[(
o-oo*+o(w
-	o*Xoi2*0#\(
o-oo+t+cor3(p(
ot
,Aor3(p(/
(s
,or3(p(/
oo*Xoi2(
r8p(
oiXoiX
oo
o	o
oi	oir3(p(/
o	oo*0!@(
oo*0m]
!('
o
,ss	

+I"('
o
,s$s	

+)('
o
,ss	

+	(	

*(		
*{/*"}/*{0*"}0*{1*{2*{3*(
}/}0}1}2}3*(
*023~4
(
~5(
t55
,(
*'
023~4
(
~5(
t55
,(
*'
023~6
(
~7(
t67
,(
*'
023~6
(
~7(
t67
,(
*'
0^~5
,o
	
*0_~7
,o	
*^(
(6(*b(
(6(*(
(6(
o	
o|
o
*0`-rpsk
z-rpsk
zs
(o-(o-(o_,"s(o-(
(o*%Rw
>boo(
o*"(
*0a(sW
o
	
*Vs
4s
6*{8*{9*{:*{;*"}<*{<*(
}<}8}9}9};}:*0fb(
-;*(
o
;
(
o
+o9
t:
%X	o
o6
-uO,o5
*+%P{=*"}=*{>*"}>*{?*"}?*{@*"}@*{A*"}A*{B*"}B*{C*"}C*023~D
(
~E(
t7E
,(
*'
023~D
(
~E(
t7E
,(
*'
0c~E
,o	
*0d-r	psk
z(8,
(
(4s+

(

	(-*(/,o
-*o

+Uo
-r	psk
zo
,3(,o
o
o
(o6
-,o5
*((	1
>'>[b0e(8,
(
(4s+

(-
(/,o
-
jo
+7(
(	
(,o
o
o
(
-:o5
(*	*CD>0f-ra
psk
z(8,
(
(4s

s.((0(
o
8o
(	
	-
o
8o,o	
,
o
8-
o
8o
-
o
8(
o
-
o
8o
- 	o
,"o
rpo
-
o
+P	(	
(-
o
+3	(
o
!&o
&o
&o
o6
:,o5
	o
		(*A|#4#?#JIc&Qw>0/g(8(;
o	
 o	


	(*#
>0=h(
o

-*o	
o
-o	
&o	
o
-**0i(

(:
,o|
,o|
o^
(R
,(
-;,8o
o	
(R
-&o
o	
+o|
o^
o|
o

	-$-(R
,,(2s
z(2sk
z	(	
*0a(sW
o
	
*.s
D*023~F
(
~G(
t8G
,(
*'
023~F
(
~G(
t8G
,(
*'
N(	
-(s	
z*0=j(	
o	

s)(#o'
(	
o	
-(s	
z*0<k(9((
(:
(<(o

("	*..>0Ll-r%psk
z(9((
(:
(<(o	

("	*/>>0a(sW
o
	
*0m~G
,o	
*.s
F*{H*{I*"}I*V(
}H}I*{J*{K*f(
}Js
}K*.(7~L*.(7~M*B(5P(
*B(7N(
*03nO(
-(
,o+s
OO(
*0,o
(:,o|
,o

-(2s
z*0=pP(
-0(
,oQos
P*s
P*0R(1-#(+
(
"%rzp(O
sS
z,$~Q,o
o
- (
s	
z*0qN(
-y(
,o+
	,Ho,,(
s
(=o,,(
s
(=LM	s
N*(2-#(+
(
"%rp(O
sS
z*(3-#(+
(
"%rp(O
sS
z*B-({
*o	
*0#r(7(
-s	
*s	

(
o
8o9
t:o

~L	o
-
~M	o
+9o
,.o
u,o
t+o
t(4
s	ooo
oN
oo
rpo
oo 	
oo
o
o!	
o6
:uO,o5
*#
v,o|
-~c
*o|
o^
*0<h
+/,o4
+~c

o.
1
	o-
Xi2*0,s,' ŝ
+ol
a Z
Xo.
2*03t{R-$(

o
Z}R{Ro
{R*"(?
*0cusx

(?oa
+ob
o
("	
,
3o6
-
,o5
(+
(N"%(O
s#	
z	*%8
F(?Q>Q*0;ko$	

{W{Xoo%	
s6o
,o%	
z*.sIY*o**(R
*J(
~c
}k*f(
}f~c
}k*j(
}go
}k*j(
}ho
}k*f(
}i~c
}k*:(
}j*{f*{j*{g*{h*{i*{k*>}t}u*0+@o	
o	
(w

,*o
o
(w
*>o&	
{v*No
o
(w
*0?@o
o
o
o
(w

,*o
o
o
o
(w
*0@,e,bo
o
(w

/{y{w{x(*1{y{x{w(*{y(-**,{y{w{x(*,{y{x{w(**0@,e,bo
o
(w

/{|{z{{(*1{|{{{z(*{|(-**,{|{z{{(*,{|{{{z(**:(
}'	
*0@{'	

.3
((	
*0v{'	
{N
,.d
ݡ}'	
})	
{<
o*	
}+	
}'	
+N|+	
(,	

	{>
{)	
o-	
s.	
}/	
}'	

D}'	
{)	
X})	
|+	
(0	
-((	
|+	
*
(1	
*f}'	
|+	
*o5
*{/	
*2{/	
*.s*oA
*"(2	
*fs%}%o
}*f(
}(3	
}*0V@{
,. *}+-{}}*}{o
}{((
-*{*07w{3{(3	
3}
+s
{}*(*N{{(z*0,xs
}}{s
(7+*{.{{{(**2~
(
*{*f(5	
rp(
}*(6	
{,rp(
,}*(
},+~c
}}*{*{*{*0;y(

+(
o3(
-o5
**")(7	
*:(}*"on
&{($
oV
&"on
&*:(}*r7poV
&{($
oV
&r7poV
&*:(}*>{o
*:(}*:{oV
&*"(8	
*J(9	
~:	
o;	
*J(9	
~:	
o<	
*.s*o=	
*0z(
(on
ooo
,g(R
,o^o\}obo`
oT}oR}oW}oV}oZ(+	(

,(R
-~
}	}}	(}
,/(R
-'((R
,	(,
oy(*{*{*{*{*{*{*"}*{*{*{*f(
}(3	
}*0{{
{,.g*}rpoP
srp(or%p(or"po
o}}*}*{*07|{3{(3	
3}
+s
{}*(#*f(
}(3	
}*0M@{
,.6*}r4pЃ('
(>	
o
s}}*}*{*0+}{3{(3	
3}
+s%
*(+*"(
*"(
*(0
("%(?	
o
(O
sS
z0}(
}*{-)(0
("%(?	
o
(O
sS
z(y
*{-)(0
("%(?	
o
(O
sS
z(
*f(
}(3	
}*0@{
,*}*{*0+~{3{(3	
3}
+s5
*(;*f(
}(3	
}*0{
{,	;*}o
9(oQ9oK
9r`poP
s
((R
-F((u,
oP

+$(0
(0"%((O
sS
zrp	orp(orp(o}}*}*{*07{3{(3	
3}
+s=
{}*(C*0(
~>%-&~=s@	
%>(8+~?%-&~=s@	
%?(9+(:+
X}~@%-&~=s@	
%@(;+~A%-&~=sC	
%A(<+oD	
+oE	

{	oF	
	(=+o6
-
,o5
*&
0L(R
,*o.
{i2*{o.

-*+(
,*Xi2*.sH*o
*0d{o
oG	
,O{o
oH	
oI	
-5{o
oH	
oJ	
-{o
oH	
oK	
***.sM*2oL	
o
*r(
}}}*2{o9
*0.k{o6

{X},{{**N{o8
}*(
}}}X}{o
1o
}*2{o9
*0f@{-.{o3
}
+{o6
&X
{2{o6
&{X}{{X{*>}}*(
}}}X}{o
1o
}*{/(sS
z{{{XoX
*{X}{{X{*"}*(
}}	}
X}{i1	i}*{
/(sS
z{{	{
X*{
X}
{	{
X{*"}
*{*"}*{
*"}
*.se*(

*s0
%s3
%s:
o;
s4
o5
o*0!(
(w-
oM	
+(N	
o2
(

,
(O	
-1o5
9s

oM	
+b(N	
	o2
o
o9
oP	
+#(Q	
	oR	
o
	oS	
o
(T	
-2o5
(O	
-1o5
	o
~	o
t-(m~	or
*(m*('?0ao0(n
oU	
3)oV	
o2
(}
,o9
oW	
3
,-rp+rp+-rp+r^ps
sZ

oM	
8z(N	
-|on
&+o2
(}
9o2
(o

oX	

oY	
	oZ	
o2
o[	
,co@
oV
&,on
&o
ok
&,on
&o\	
,o\	
ok
&,on
&o]	
(oV
&+o@
oV
&|on
&	o9
oP	

8k
(Q	
	-	,on
&o2
(}
9oR	
oV
&o2
oR	
oS	
(3+~o
t-~o2
oR	
(~3oR	
(po2
o}o
-oR	
(po2
oR	
oS	
(lo 
~or
-r6p+r+poV
&oV
&+`~s-K(_
oR	
o
-oR	
(poR	
%oR	
o^	
	oZ	
oR	
oV
&	
(T	
:
2o5
(O	
:z1o5
,)~oZ
~J
(_	
rp	o`	
(2
+5rpoV
&	o`	
oV
&~oZ
~J
(_	
(
o.
~t1((+
("%~t(O
sS
z*A4i~v~-'~s-rp(i
rp(
+rp*(n~rHp(
~J
(_	
(
*~(+
("%(O
s
z~s
(8
s7
(8
*.st*0s(_

o
-(oa	
(b	
-oc	
r,po
-(od	
s

	oe	
Q	o
	,	o5
,o5
*J\
B$f
0z(
rLp(F
t
,*o}o}oo}*~~of	
}~of	
}}*{*{*{*0e~-[rp(
t
,oo+(~of	
~of	
*.(z~*.(z~*V(
}}*J{{og	
*2{o
*6{o
*&(}*R{toh	
*J{toi	
*&(**(j	
*.s=*o.
*BSJBv4.0.30319l#~  #Strings@4#USt#GUID#BlobW_	3Axj	eL2+f=WjBB>EBBОB



ÚkB	g;GY}DLDOךBkBRkBX=l=l,
Zy0"
f
I:"m
q+70lТ
Ż
S[

̱_
Nb>:1KA
Y
V^lqJ}JjJJ70w
Y

0ϻ8l
Maϻ]n:`{']lC^
z
бJc>:ppl"
"1
"
"
o&&OFΡ=lG
&&&&&͜&&W72&#5X"*?"0
&&&xZ&	&B	&6B&1]"
	"&G&S4"-0"&;"p7
&I&d&I&9&m{w"d"͝
"A>":
H"ndm.1.n"nn"lmd""
#v?	~XWW&:0&&lhNB>,ll
)*Y*^Y*Mdk*Bdk*dk*dk^^Z^H[^^<^^L:^^^*dk*dk*1dkO!YLfT|


HK^
V
ğC}y
+

m

"
;<

 Q



]
0
1ر




6

u0

֣
Jۑ
?

>e
9&
cel
)
]

W7
	
V

v1d}49
d=
$

Y&

>"
3:ll&70
2

2;kk


lZ70
kk!D[Dk>k=l



A
9

u8





.



X


G


*Y




n

8d
'



`
[d
!



'

Id70
]/d0
s<6[H6H6QH
K
\
a
^a6Z6d6[6s





d
;d
½d


>d
]d
d
sd
E&d
\d
Pd=6
d
ldd
d


dd
ҋ

d
QLd


_

m(
ͨ\
}e
We
zd
d
d2;
5
ϪMU
'>
d

ħ
&"m"
VB&D
Wϻ
Ń@cBZ4
dL

$&a0


g>:&&hJ&&
w&w&`&&T.U2&s&&&,

8_sYY"I':>p-
>w-
>8-
B:;:C-::.:>-
+?7.=I;YP[70&#0`VVB_"Dn"Π"S"%n"۟n"Tn"Tn">n..w..T"n	~
,f,'IJ_JJJJJJj
>ϻ3"
ϻ
 jkF1*r`"J6H2)$l
j
q,	

&"<ά4^:b"*]Y&y&BY&&&&"&*&&̘&&lkB"m
"1
"&m>"d""1
"2
"
R&4>"
S<Jj&A&&.v&[LJ*zY*^Y*tdk*udkdD{^|UTUTE^9P^*dk@`_*_dk*dk*@dk*dk*dk!20QcJо

}
v
c
Q
l
"
=

+

,;
Lb
70


xd

+c

jq8,lkknk/"
*d<
d
\e




Ud
p


T*

~d
xd


d
d
d
Vdm


)7d
H

g
!S08n8P;
Ч[	d
Z;&&_&&&*&j
,>:
d#Ni%	<7kB)"*Z
Y3BX:B
i!B:i>Q>G-
>A/Q#>/-
0Q"{"

&

*mY6qBk_kB+EbN,
VY1X$]!^_+n\n+t+3!b+`6h+7+d=b+L@@a+B|+E+I+J+Jb+J+K`+LK
M+U+X']/+Z,7+\1j+b=z+cAt+eFu#+fI%b+`k]+lf+drn:+uwR;+Z+4{44554Ň4R4)44154Ň4.,^y(*^-R6%7R;B}.EY
 
Z
`]
3#
!
+
	+

\I
[


*

+

Z
1
q
^
o+
"
)3
&

u


r
"
=

V

5u
7zR
C#
C+
Nk8#
O 
P
R2
U
Xa6
]
`~
gu
l;
l{
qn1
up 
r><
tW<
uA
y|;
~!
~q<
	"

AT
J

i
F[
"
 ϙ
>
R.
h
uG
N
Jl
+Y
&'

[#
^S
H#

brQ
%|
!
'Ld)d*ڲd,
d d8%[d1DR$7dIZd9Muf[d1P!dRC*dT*+dT^dTdTGdT(dX<LdXqLd0Xj^dZ
U\dm\\dm_?*d`^dm`]dmc ]dj)\dmn1 u	dr8Dzd8s?^+d5d\dmRd[d1)dd[ds\dm^dm5[d<^dmcd]dydLd]dmT^dmdddZd=\dm	X7dD
	37dD;	[d]	\da	=Ldd	Mdv	%*d{	d	2d2	[d8	d9	E7dD<	|kDB	]|kC
|kE
|k9J
*|kN-
p|kDN6
|k,PE
b|k,RN
|k,WX
|kDXa
|kXc
|kD\g
Ev|k\s
;|kD`s
w|k`|
|kd|
Cf
YChCEjX6Fj[dqj_0%qmj$qu1auyzy}yyy({A:A:AA&A&AxA+AA.AA
HA
:A
mA
A5
A>
AP
AV
:Aj
5
w5
q
2
)1
՛
3
2
b1
|]
K
Q

z
~B
ЂB
'B
bpp	
}p-:%p5
Pp	x<p+p@pO[p*pZp%p&y p,rLB/\LB/6FLB4[LB8LB=LB=ELBDELBFE]LBH&]LBJ+*LBL/tR>3R?SD|SFWF!>YHs^NvfNlZpZxMtZT,v[av]u,w_,wa,wcwewizk}mnGopXqFrstHuhv/BwxMES
SXSS SSnSS/S4!>(d!~o0j2r{ytHtcHtSHtt2
!>%-
5K=!\E!>GHJ!>L8OSW[ن_!>dg$k!>sTZvTZz+}+B,ˆ 2~.2~/2~0U12~2U32~5U6U72~82~<!>=SKGScGS8GS=GSlGSKGSTGS<GS<GSsc5cQPYc1dcdy$'qG,c|cS>cG%SpGSOGSKGQa
GQ@c?ccc8cPcNPc|c̩ddOcj4dHcʫdxc.$d}cc,$cpcdGDGhG-dVG.1G1d:d%CduLdGҍUd4ZddG _dgG	ac#cdDGdGc|GkG!@}hdvrdVO
Gs{dEGG	GgScc(	4d_d{GGgDGIDGdG*GcAWG{`GdppGhG;dhGdUu)QdRu1d1cdVG.1Gjnd1d:d%CdGҍUd4ZdQ>
GddddDRd͒dXdwdwdydQuwdRdTFehGG^pGHGzDG|G3PGgGGCGyG	MGOG`GrGtsGOGΰG|G;G}G7DG@	GG2GtG@GaGuaGYGjGGGZ4GGGdG6G-GtGYG
GGPGYG{G_jG[GtGYG$GQGnG?c@cGvctG@	GGG'GKGdGaGbaG!rGGgGCGsG.GGGGGj`GGLGOjG{G?c@cGvcX3yGe'qGge1Nu@;eZc}K"e0P6yG(e>d-eT2en?ei1-Ou1e1e1e1G1ةG1kGwADedDe>cMeHcVeaeCG>ofe1GkepeV6jxe6xe}eQc1Zc3Yc1}Ye!
cd"ee&e"cDoG8G!"e!eee!e2e.3e
3eW3e{36Lc!De1GepeG"eVeeweV!eV5"eVveSGSGSlGSGQDGQIGQ0GQGQ+GQ`GQGQGQGSGSGS~GSGS{GS%GS GSlGSGSʽGS;GQGQaGQN6GQ/1{e1:e*efdeeeeeeeieCGf0f0c
G1e1	e3Geoc!Vf"e2If8GeqGͧGef5GeqGͧG	GdUceqG]GV~feG5GTeYcGVUfVfVfVەfTe>c>c!fG>c! fGLc8GqGGf.1G|K#f@c5cTG"eVeg.f&c]g@f"e$c!Ve!Kf!Pf!Uf!DZfTcxexeQ\LT_fGeeeBdfpeVpeKifRe|ccZ.c5HsfnGccX@c[cI-c5-ccϬclXGcc0cxcxf1A61+61P6xfnf#f!f f8!f f*f•ccc%Gc16(c"eeeeBdf f8!f f16Ve_fV_fV_fV_f1YcyGcqGf 4c
ch3fyeGcc8GTfLT_f3c5c!5fff"ehTfDfbfbf6?fnof~foG~fGiG1f8GGgGxeGGG7GcG!Gmf}G
coGfGjGcGG!G1Zg1xg6[g8G$cyexe1BYc1ʾ6cVe"eQGVe"eUgqc9g'eQc0cQgN$c^ctS gq%ge$cGV gVr g*f0c*fV{gVgUg֐gY'e/1c
G1	Yc1mZ*g>/g5656nGjGeTjGes}e*e464)64l65656!Veu?4g(9g-̓QIc0cUgV?c"cGo7>gQCgHgucn MgRgn Mg1QuRgCg.M67>g,#MgVrWgVKWgVBWgQoG>\gfG6ag
fg"c6fG6
fg"c6{kgtMe<upguMe6sMerMe
cd"c6Q
fg"c66nug1(-61=61
61.61]61O(61z6?gejG*g6g[c$ccވccgccWc6SGmg`gލggtggݏgpgZggg1]6161V61X61O961(61x;61
-61 6161-61>614(61]61)61ή6161N.61»61;6ߋcR#G0G^g-̓Qjg6gNffKgfgggVggµpgVpgXpgpgeVpg8XpgQGc(Mi)e!)g)e>G
AG>GRgVgVMgg.M62cV6
cd"cpgXpgXggD
cd"cXpgTcgXgyg36gVgV+gVvgLgc-̓Q0G^g
cd"cXpgpgVpgScXggVg-̓Q-̓Q-̓Q-̓QoGMg>g!Ve_6݈61%G1f1frg<ugugrtgtgmsg"sg8tg?g*g^gGGGGGsccVccVc4t*64d61)6QWc4Me45pg5MeW5Me4Me5kg5ggGLg-̓QVg196gh5g4MeүcHg5ga4e3gLg1Qu5ga4e1Y
h&vh>ejGQAGQxAGQ`AGQIAGlhug?g*eLg0l$hVr)hV)hV٧)hV(j.hV.hV.h2GF4g3hqc3hqc16uev$QZG1;Zg1ZYg16F%8h
Gc0=h8Bh1{Gh1lGh|KLh1@!Gh1Gh|KLh1uGh18Gh1Gh|KLh1@!Gh1Gh1Gh|KLh1@!Gh|KLh1 Gh1Gh|KLh1|KLhTeG8GQdjGQeGV@
QhVQhVhSGSG>[h[hQhc]c8G`hk@cRAehb=#gphT{hRhQOc&c5cShGSJhGS5hG/cNfXhehDheG(h*hpeAhznkGxeCxeGjGCGG{hQDGQGkGQ,CGQkGQGQ[GQ-kGQ{GHl?l?~GAccLhQcZ=#QGQ_QGQt=h5cSBeGSS
3hvh3:bh=Gz1%u
tesete2tex4ch
cdVhVdhVhVghVnhhjrc2cdG>'cyGFhAhh&c4mGAGBcMiG
GGGC|eccc5Ec'h
GGGrLf-Ghiccc5Ec
GGccqc4mGcXiH
iK^cuG6cc5Ec*yi/igQGQGQ}
GQG4zexe4mGQFVJMf8VchG,WcQ5Gi!i!ipmGz'ccmGBGTGN6ӷ&i.6*[0imGBGTGFc؎c:iqGjG{c~cB=G6J?in6@Ii.SimG|KMehIXi_DeDe peJ pe^ peciG`iVedVN5dV#5dwrd^fi6gjioiyiui,yiV7{dV{dV{dV[{dV{dV{dV{drii'i1i7cdDGV'dVXdVOdV7dVdVd
yeqG+iii^iii^iSGSGSGSGSGSGSGSGSqGSGSGSGSGSGSGSGSGSGSGSGSGSG;L^'L>2iCGxoV7iV7iVo$iV<iViVwiViV"iV:iViViViViViViVfiViV'
iVsiViVFiViVsiVfiVziVDiV:iV6iV.iViViVtiiui^i6giwiii;e6gePe^iM\i^iij0cLGeGk0cV'
	jV	jV.jVtHj1
G&
Gͧ65G6gjjgGyxe8GGGGG7G3G;*j6^/j;f6c;f6;*j6^4j!D^9j6g>j(Cj1jMj6gXj]jhj{?emjhj.{?erj.{?bc.{?3G4Me6gwj|j1Yg1ZYgG6gj_j
*vjj3cc%j[hVjVjV[mjVjVŽjV
jVLjVjVMjV<jVWjVjVmjV4MjVVjSvGSvGSvGSGSGSnGS`GSHGS`GS=GS9JGSGS%rGSGSvG6gjjj^jjP 
;X 0 _ 
;g 
;jv X" } } 0 0 _  7  !"!z!")!	6!D!9	Q!E	_!N
l!b
z!F!R!R!ߤ!!p
!
!'
!*!_,!"."'"5"UPB"dPP"]"k"sPx"P"""" w";w"""F"F""ջ#F#F#Z
,#X;#dI##$ W#!e#֚"r#p"#Y"#ʾ"#{>"#7##7$#h[
&#0 '#b(#b))#0,$/$`0*$`19$`)3I$`86Y$?9h$s5j:$bj:%bj<&-k>&-k?&kA'-'kAP 
;C('P+C/'
;8kC@'
;1,F)AkG)KkG*,XkH+;
Iy`kI<+OokK,SbvkL-vb~kN.wkOx.?FkP.XkR/vkS@0
*kX0-5Y0XCZ0<CXZh1\1L\1=\42k]2
;_2:_2Da2Nc`5kf5AhP 
;i6Ai6'A"i$6@j,6;@"jK6kS6k[6ë"kd6Kkl6Pl6P"l6fPm6P"m6}n6#}"n6ko6ko6Oo6P"o6w4kp74kp
7}q7~"q,7r476$rF7B$"rV7s^75Hsf7PH"so7kt7kt7KktP 
;t7dt7dt7Du7Du7iv7ivP 
;w7	lw7
;w8
;lw8L	x*8S	x88lyE8lyR8oj(ly_81r2lyl8L	y8S	y8lz8lz8oj(lz91r2lzP 
;z#9
;z29yh{:9<l{Q9Bl|h9 @}94Hl}9Nl}:`E}:aE~$:
;7:
;TlU: 
]:" m:21x:d:d:ǚ:
;:
;:4	:G\l:g:g ;a(;-a"4;ihP 
;;
;UI;D;D;d;d;r|;|;k;k;clx<jl2N2:<D<
;t2<%qlGxlOl<vl<vl
L	
S	
l
l
oj(lP 
;=blP=Gbl0>`lt>al
yh<lBl @4HlX NlX /X `EX `lX aEX bl>;blh?Ll@Kl@blAvlP 
;A
;(B
;WtB
;TlB
BElBfCvlCvlCL	%CS	.C\6Cg".C?C"KCѓSC"KC(\CC"hCluC7	CC;lCGlCrCCDCZ"CQC_CDDvmDEhEEFI
FǚFrmGrmG m}HmH
;H
;&m,I{4I{KISIjIrrIIDIDIXDIiDP 
;I
;IdIdI2I<I
;-m,J
;4mcJ
;?mJ
;KmJ
;Vm4K
;amKmmKKKKKWK`K
;K
;KpKpKiKiLFsmLSymP 
;LiLiP 
;(L'>mM-im OgmOsXm Q$VmQlmVR&UmRmmR6nLS(~nAT"n	UTXxTyk,n
T3n UgMXtUq*<nVCnVnCnP 
;LW;
XJnX
;X
;PnXL	XS	XlXlXoj(lXFnWnYL	<YS	SYFnWnnYXn\nYlYlYoj(lP 
;Y
;YyhY<lZBlZ @Z4HlZNlZ`EZaEZbn Z$Rmn Z~wl Zwl Zwn [sn [n [@ [n  [hn H[
;n \n)8]:o3`"o;`byndoFb1voKPdRoRTgtOoVlgloW8hnC\Xh̷=_hz\o`hGoaiwQodj1og4lK pql:pu(mLIpwm~Wpx8n7ppznhzp|pjip~HqKpr
p u	pupvp4wwptwzYpwzYqx;
x
;qxjiqx	o%qpzR1q{l;q{(FEq|FOq|Yq|	Mcq}mq}szq~Kqp~$q~!mqkqP 
;qTaq.`q,8sqLqd1nqqtq,cq|rz
rrr2a
;)ra1r`8rЖ$s?rėLFrܙnMrTrt[r|Jcr{jrPyqr$syrtr2a@=ɴ
;Ѵrش/rߴ
;yr^r|r
;Ѵrش/r?r\@r2vrܵIe5r
;Pr/r	aq@V`q`sqLq2a
;,r.r a1r"C`8r$Ms?r&LFr'2a)=)ɴ
;)Vr)]/r)ߴ
;)dyr)v^r*|r,
;-Vr-]/r-?r-@r-2vr-\I-se5r.
;/1/T1(:2q
;3z
;3	C4	$4	}4	5	Vn07	:709S9a:o%:F;݁;<צ=	?r?ir@IrArCG:DP 
;DPQcDOF;
G sG0sJsMDsPTsSl[$sV$sX<|.sZ;s^\ZBs_`P 
;`E
;``}dbs]bTIsbUsedsitsm=yso=ysp 8qmJtss;
tP 
;t
;stt$Pu|cucsv
;
wX
;wyswhxsx9Jsy}cs{Ps}
;I
;spssWt&h\Ttbt\e07E
LW\(47r@td$4$tHv^4t"{tS=t2{JtsVtيbtpt`8pt{wtuovokv>eitMsoXxocxopK:tJyo:t@?t7t6t4>t%4tt"PtxTtBt:Au@\u4!u@=d=R.upQk<uIu~Iu>Iu3IuqkIu.Iu+Iu@@IuLIu=Uubu$3oXgk'ck==dl$28ou8wu
6~u"6u8hAu;
P 
;WFu^	@%;
mgu:uu\fDu%u!u@;

;\l(	
;
;u$&u

(o36o<M"uX$J.T-FuH&u	+4P 
;#
;
v2	u| ?H) M0 \o8 lU8 |oA ¢A 
;#	$n$$wv%gv%D~j'v'
;(
;&v(!-v),3v)tw6,P 
;-?>v-$?Dv-%?Kv.-?Qv.6M?Xv/>d?^v/G@ev0N@kv0V
;1i
;1x2222 D3\rv4$5|v6`v6~
;v8		9	v!9P 
;9Fv9	g9@Ԫ%9;
9?!9-
;=5
;==
;v=T	Vv?M"u??
?E_@X Q_"@vAI%!BX"C!CxvDCvE" lxvE+ OCvF3 
;vFB ƑGJ 
;vGY 	Hf 	=Hs !H !I
| JH) J0 K8 MU8 PA SA W
[$[
\
v\
S\
,\
v!\
g\xv\Cv]
]
=]!]щ!^
_
nZ_
֣v_
_
v_
CL#_
_
t1_
hn"_
:_
v_
3v_
c_
c_
q6l#`
6l#a
Rl#b
wl#c
ǖl#d
l#e
l#f
l#g
nl#h
l#iXjjkJ!lщ!mxn[oxvpCvp
p
p
ppDvqs	wtwu.xwv.xwwA%wxz%wy 
;,wz { S{ 8{!4H{!س3w|"="==w("O=8"Bw,#	Ow#*
Xw#
_w$==w$f=,$fw$vwp%Ep&t '6.(%0(F!(T!h)wd*,+}w++X,A%w,!,]w- w/h!D0!<1tw132M2x2z%w2;
	3
;L3	%3	ZZ23	£vD3	Q3	vr3	/L#3	3	`13	9hn"3	u:3	݄v3	3v3	c3	c3	]6l#4	6l#4	>l#!4	cl#/4	l#=4	ؖl#K4DX4kf4kt4	l#4	l#4	Zl#4	l#46!4!4F4G
;4
;u

4M"uh55X$55zEu6&w8Jw\8w9Jw9I9H:	I%:+6:4P 
;?:
;V\:dd:2l:~!t:
;w:~!::x:
;:d:2:~!::T:
;V;~!#;4+;d3;
;l_;
;x;X;~!;+;;	~x;s];;
;;;ų$<
;F(<
;1<@<2<
;<\
=
;=/pP=Eu>&xF?LN?L"W?+h?4P 
;q?
;???d?d?ei=@+@
;Y@
;@	@@,x@	L	@	S	@H6x@@,"@w4BxAsA
s@A7gA$ATAhAHx	Bg,B\Px
CEPxC.PxDE!<WxE
;E
;vF	Vv8FM"uF%!F!xvCvFxvFCvq?
;F?FL	FS	4G
;,wCGfax^G%gtxyG;CxG8gxG,xpHfxH\xPIUx!I."IDv$Jw&J.xw'|K.xw((LHxx)Lxx+-2!<Wx-P 
;/M;
/M
;/DN
;x/N	*r6N6N"6Ohx7O0X73ONX7<O	8IO8QO8iOFx9O*x9O*x9O*x:O%:O%:O-v;O~y;O,y;P\y;Q}y;(Qy<>Qr<KQ	<kQ	<~Q	=Q"=Q	>Q2">Qn?Q"?Q0Ry@QFR%y@!R,@A)RB@"A2RB:R,"BVRC^R"CzREDRb"DRER"ER!FR FR FR	 FR	FRFRF@S?FS	VvFS+FSC"FS#,yGSgE2yGTK8yG2TECyGMT!IyGiTTOyGqT%TUyGT=\yHTwvHTeHTtHT"BbyIUhyIU	IUʲ"IE_JX Q_"JVKdV"KtV6qyLV7qyMV}yNV}yOVHyPVHyQVuIyRVIySWTWWV0WyYW[Wסy[Yx^8Z2my_|[׾a[Ca\0ya1\@kybG\YlybY\bybk\yb}\Uyb\>
zb\X~yb\*yb\Ezb\ d]Ld_NeQ_
zg_B7'zi_t!j` .zk\a.lb.nb%!pbSI5zqbI<zrcsZcs2tccSCztccSLzwmcz{c_{cUzcbzclcUozcU{zc}Ozc}OzcIzc>Oz d>Oz=dHd}wXd0xd$zdDvdTe6CzTe6Lz^eӕoz^eӕ{ziewwe.xwe.xwee]zeBzDgF$hx|iz8jBk"zTkTz0o_>oUz>obzLo!qqcqqǥPr	v]r	Rer	wr%wrU%wrNr]rМr6V{c8_cqUlr`Oxrrr6Vrlr0o_s
s	"s	5
;!s
;u0sFxKs-vfs qs!|s s{sgE2ysECysM"uAtwv\t"BbyE_X Q_"wt}yt}ytVxTut!tuB,wPr	v]r	Ru;
s	
;u
;u
;u
;{!v)v$"2vHvXvrevKvMfv4TOyvv"vdvd
w!{(wj'{bwj/{!w}7{#wE{'yxr(xN{(xj=)yW{*byNa{.yk{0yw{4@zgv7zv9z{;{{>|k{BT}~{F} vI}vJ}~jK~K~{Kd~O~;
O~
;O~
O~
"O~<3{P~R3{P~M!Q~cQ~GR~G"R~GSG"ST"T+U54U>SVFTVOTOyWW%TUyW~jX5vXsڃY{"Y=Zgv[=]
;^
;{^5{_=
;,w_L3{`ggb{`:T{`[o{`?{`ӀOb{`x~{`	׀	|`$C|`*|dSLzgXbzjЂU{zo@	b/|s}Ozx0{$z}6Lz|ӕ{zbzhxl<|DFo<|?<|xbK|MT<|À<|;~<|Xc|;

;ȏ
;WOof
igfi(Dn|D|̐|!| f=D|ؓ%D|$N|̔N||ԕ0D|d@X
}L;
_	py	חjߗ"j	n|	+-46	r>xG	eXfd$		P 
;Ș*}ؘ2}ݙ=}D}0N}sB=}BD}ǚnКnښW}
;P 
;
;`}ƛΛ֛jޛ}OofivGl};
P 
;Ý
;ҝ	֠ڝ	"	+	4v}tv}}x2}Gh
;p
;ux]Q}ԟ};
5
;,	Vvh" M"}E_X Q_"}	}
 z}xvCvМxvCv%!!
J`!ã;
ϣ
;ޣ
;vT}*fq2}q";}D}d"t'!Ĥ̤	Vv	09@S}AOS}`M"uȥ6q}TQ}cQ}e}"'5֚\Ħ'!˦$"Ӧt!!B%!!!!Q"بgDr$\k
; s
 
 }!P 
;")x"X$"2"$)%w"-
;%w#J)x$Ti$X$$$D+}$hf&~}'[
)ūw
)ЫT}*d"*/*/*,}+4}+=
,E",PM"}-6e-Ȭ0:-֬%!-!.{Cv/xv/r$/0Cv2íxv2˭
;2sN}2NZ}4M~4}LN~7;
9Ư
;~9ϯ
;~:د
;;%~;	i;		j;!n<.n<<	.j=I	Aj=P 
;>W
;>f?n
?w@@
;+~A
;6~DnHnH.jIAjI]J`	iJq		jJ	"]KαKֱ
K߱LLP}]Mb}]MdD~Mo=Nز|M~OSV~P=M_~QDk7Rvx7U?7WTDXwDY;
Y
;Y
;~Y̴T}Zd"Z	>f~ZAwZL	
Zy	 Z	Vv[A[ĵ,[$6\A96\TV"]\m""]e^Ͷ^	0l~^^!^r~_0D?`0:`(y~`Ը` 
aUbb8}~cr.et!g hL!hԼm]~i]ekl!kt!l!mĽnTؓnI~nǾfqJeqr$qr
;~t4}~x<xDxMyUy^7~zfzpl#zl#{ݿ
;|p6&|2|E ~|V"|m""|#}0E_}YQ_"}2~~mK~~q~2~[.ؓ(6a ~?fS	[~dJlt{l#l#
;~}~:~>~l(j~u~{aQ~d~$..,.[cw~$;

;~M}~
;	; ~7~}~FؓSf^E!pE4A`QG.hkHJxkHaH}=~{hYL{",6[?H|TZP 
;[|Z:ܕ¾]F
Ͷ
wI~
]
O]
)
)\
;d
;m
;~v7U"		"sVV""Xsi"	j0	9=	J"K	X	"fs"		͈"8Dt#tuzu	!	.	<s
I
Vڔ"
dvgqg
s			r
,)
a)&A&,,$22Ϲ2@z-N-\>j>x0*Y*JGJ'' V!V"#b#x7#d7% t!&L!'hgk7(x	~]+	2+	nn,	n,	h-	h.
;/
;t/+G0>G0l{1
;1
;2)(31"39""3Bt4J
;4Y+G5dc5v>7P 
;8T
;8c
;9r(:z":"":;
;;2AtAu3AzuAxAAsBrB	
;B
;5C<
;\lER(	FZ"Fb""FkxGsG{
;G
;I(J"J""JtKK
;K
;K
;L
;ȀN
;/P#	nրRC7/Rh
;T}
;W\]\KV\\\"\"]\ti\	j\9]J"]^"^7_@"_`͈"`aڔ"avgbgb3,)cFa)dYelf&gA&h,i,j2kϹ2lhmhnz-o*-p=>qP>rc0*svY*tJuGJv'w'xVyVzSP{SV~|[V~}V~~`<t:D5vx7G?7Wk7lы1=M_~LD~FpVw*i,w)3ָ:8YAh-32HO	O.3(QVXi*3X]E(3od 2x19Kk4Wy(r.@./4YvZ.;
:(1ܕ:¾DM]FP 
;X
;	}	}616#6136R1bXd1hdV3d"	C1	`"IhyuyQPɁlɁ	}	VN
	NDh	p		ρ	}	-}	8}	N}	}	}	5	!"P	'y	t":1515	"	9"	*	̞H	}P	}Y	{}a	}jV1ar	ρ|	Ձ	#ہ	r}	}		^	hy	e}	}	}	}	J}	]}		,&P	J	\		 }	9}$OH	PX5	Գ1	^	{>1H,,---@'S(f#y&#8/!9/\(;l(;;;F;;߹GG$KS7[SJ_]_pk-k(l#(l#l#l#wwl#l#.rAT.l#g*.l#	zl
xp	>	>	>
	>
7	@H	@hS)g
6ep6eEd/2[2 hpρρP ,o˴Ԃoy܂"$8K$tK$[%&mW&a)S +׵,Ե./#14\i/5H779?:>8H=	
7@	2QB
7D0ċFGYHPaJ<37MU"OP=Q'R=NSSTiUjV
XВY(Zp[}~\<t!^Hr_A9y`8(ahh;b,cdt{e-f.g|&(hNi	)!jH!kx=lm]m!nƃotE.!p̓q
	r8٫;5rsL^is!sj\tvvXؓvv
;5v/0w@YwJEԃydIڃ{	|	Ͷ|	F|	w|I~|I~k	\~	]	h		^	Ą		,	n	p			D"					 	"K 	]K 	*N 	gN( 	0 	9 	WhA 	8U 	8i 	:| 	; ;
e!
;გ|!!R郔!
;!M!}ρ!>"!J""!}~5
;"
;7#"#","4"E<"}~j"
;""(	""""""3"V3""X"
;##3##V3>#
;N#3V#
;z##(	#"#""#XT#mT"#V3#X#
;	#}ρ#V3$
;$x$	"$	+$	+$	E0$}~^$
;	m$}ρu$
;$$"$	C$NK$K;5$:%V5`$ 5	1T%w\%e%Ͷm%߶v%	ny%%Ÿ%.%%:z&J5&o&
;&&&
;Y&큾&1&&'
;'$"'! '
;'$"'!('
;L'T'(	\'"d'""m'Su'S"~'*X3'WV3''IX'vV'
;''3(*X3(WV37(
;@(zm((z(z%(z+(V)V)I)p)I)[))*ӮE*l****+QA+jh+$+9+f+f",c5,c"\,m,",,'",%-"L-
u-
"-B2-mK~.2~.[.0+91Dp1q~19N2߶N3c4$P7(
;5-5=6z%=6z+x6y6y66 7M7t7z7z7gz7z8QI8jp8$898f8f"9B249mK~92~9[.:f
Vl;_	;f	`<p	<q~	<9N
	>߶N	?c	@$P	4A
;NI	QAw	YAͶ	aA	iA
;7#	Aw	AͶ	A
;~	A
;y	A
;	Ab	A	Vv	b	BM-	4B%-	Bt!	B-y	BK	HC.	PCؓ	Cf	C	C		D	)	D	) 	%D;!	-DM!	6D"	>Dƈ"	P 
;#	HD^#	<EȪ$	Ec&	Ev>(	tFɅ!)	FɅ,	HGɅ.	G\0	0HƄ3	|Hֆل6	I7	JN/8	FJm:	}J;
<	J
;+~<	J
;6~?	K7C	KU"C	-KD	5K"D	RK	sVE	ZK	V"E	wK	F	K	"F	5G	5]G	KVG	G	G	5"G	K	XsG	
]G	K	tG	L2G	L	#tG	,L	uG	|L	zuG	L	G	L	G	L	H	M	H	2M	8I	CM	DI	hM	ZtJ	M	J	M	J	M	rK	<N	K	MN	K	oN	
sL	NS.L	NN	=M_~N	N,O	8OP	~OQ	OlS	QU	$RW	SY	SؓZ	TfZ	PTы1Z	T+W[	T?W[	2Wy\	8VW&]	@Wgk7_	KWx7b	UWd7d	`W56e	WKh	DX{}]j	5:n	5(o	5q	Vwr	Xvx7t	8Y?7v	|Yk7w	Y)z	Y){	Y)u|	ZkF}	LZ		TZ~	]Z	eZJ	mZ;
	Zs	Zs|	Zu3	Z&u	Zt	Zt|	Zzu	Zu|	Zr	Zr|	Z2	Z	Z
;	([	0[	9[
;	5
;	H[
;	X[	NKȅ	[k΅	[		[		
\ԅ	%\t!	e\)څ	\ؓ	\	]f	7(
;	"]K&	=]	2}	E]	D}	T]`9⅕	g]q9⅖	z]mK~	]2~	][.	]q~	 ^9	q^;
	}^	^	^^	^
	^
;	^	^	_V	_V|	_
;	._<&	6_
{	?_)!	G_)	P_NKȅ	X_K	a_2	i_p6&	P 
;	_
;	_	_	_ؓ	_f	^	_	D`		L`~	U`	]`J	e`<&	m`
{	v`)!	~`)	`},	`3	`	:;	a{a	kaB	ua(j;	aQ	K	d3	;	w	a$	a
;	a;
	bڦR	4bw>	_b[	pbc	bm	bRy	cR	hcq	c7	di	8di	Kde	kde	d[<	dp<"	d
;	eH}=	$eH}	De>h!	f^	g;
	g]	g]	gO]	hi>h!	Fhi	Whi	uh
;	}h
;	h
;	hH}2<	Hiz>	mi^	ib2	ip2	i	i		jk	$j^	j^dž	kA؆	;k&A؆	uh
;	Sk1r	kX	k	k?.	k.	kؓ	$l	]lf	uh
;	pl^	^
;	Xmk΅	sm	m^	P 
;	ib2	ip2	nUy߆	)nay	Dn߆	mn	nX3	n^	o	p
Vp
^
;
qp>
p>
pw
pw
pIz
q\z
,q^
,r	
^
;
rb2
rp2
r
r
P 
;
P 
;
rV!)
-sY
4se/
<s
Rs!
hs^
~s
s
s-
s
s
so
tܛ
t1
.t
DtD
Ztzu
pt9
tq
t0
t
t;&
t8
tF1

u"{
 u@(
6uX\
Lu>
bu (
xu(
u<
u

u0
u
u6
u*_
v
(vJ
>v
TvA2
jvҵ
v8U
v
vw
v/
v0
v;
w$
w!d
0w
Fw
\wt
rw
w#
w
w{
w*
w*
w+
x+
"x<,
8xB+
Nx$
dxn+
zx>
x>
x+
xZ
x9
x}?
x.
y
*y2
@y
VyJ
ly2
y]_
y
y#
y
y14
y$>
zr
zt;
2z,
Hz+
^zT8
tz*
z
zE$
z6
z
zn%
z
{o
${T
:{1
P{Yg
f{.
|{r
{S{
{~
{
{H
{_
|j
|.
,|D
B|e
X|7
n|
|i
|
|1y
|
|l
|
}ő
}
4};
J}a-
`}
v}
}

}Z
}WV
}ƥ
}?)
}
~
&~i
<~,
R~4s
h~
~~=
~p
~
~
~b
~

t
.-
D̺
Zs
po

t
ɹ
Ou
y
=*

*
 s
6
L<g
b'
xr

t
|r
Ѐ
#
b~

,<
(
>,/
TH
j
/
W
l
fe
؁m
 

P
0B=
F"
\#
r
	

<
ʂ^
/
A#

"ڌ
8}
N}
dN
z

̭
*
҃

B
d
*
@!
V;
l
P
ߞ
ӎ
Ą*
ڄ

:

2%
H
^"8
t

Ǥ

̅

h

$h
:
P%
fp
|
%


Ԇq

;
49
,(
B[;
X,
n
n
-
!
Ƈ(
܇A
(

0
4
J
`8.
v
M

R
ΈC

.
V/
&
<y
Ri#
h0
~K
}
4
5
։;
=
y
z
.
D 
Z
p
Y

!
Ȋ
ފc
?f

>
 

6
Lz

bm
x
0
|

Ћoz
y

N
(2
>
Tz
j;z

ѭ
f
Œu
،
Ʀ
WF
Uu
0i
F
\

rH
2u
P
L
ʍk
%
%
d
"<
8|!
NyL
d
z`^
%
P

Ҏ·


:%
*1
@
VR
lS
7
X
Q
ďv
ڏE
S
"
\R
2
HH
^
tG


a
̐B
!
z%
d
$m
:
P
fN
|@

_

ԑ]



,
B
X_"
n#
FE
!I
I
ƒE
ܒS
H
]
B
4$
Jj
`n
v
^o

d
Γ


4
&S
<S
RV
ho
~=
X
Q

֔?D

7

.N
D\&
Z
pվ

<
#
ȕ9
ޕ




 ]
6
L
bW
x<

Cq
R
Ж%S
F
q
z
(9Q
>
T

j<
E
0

g/
—1
ؗ


_'
0N
FN
\M
rcM
{6
-~
X
ʘ

z
p
"x
8J
N
d*8
z=
P 
;
V!)
əY
Йe/
ؙ

h
&
0{
F
\O
r

W
WW
g
ʚ
D
k

"U
8h
N4.
ZNc
P 
;
u6


P 
;
ě=
2I
L&.
&.
\t
D
TV.
ɟ̅
џXt
P 
;
ڟ;


sL
$U
7D"
ġf#
b$
ԢOb%
q&
j='
w%z(
E(
E,
	5^.
+!=.
S/
V0
$hY2
$Z3
פ {4
 5
̥χ9
\-%ڇ<
d}
=
l}=
t{>
}	^?
P 
;?
;
?
E?
EC
$E
ةzIF
HF
	sF

sF
)dG
;dG
I
;H
T;
H
̪zIH
 H
HH
H
 "H
3I
E"I
X
;J
`;
J
zIJ
HJ
u&J
J
J
+K
=K
X
;L
P;
L
zIL
,L
&HL
-L
?"L
TJM
JM
KN
έKN
X
;O
;
O
pzIO
2O
HO
O
"O
X
;P
̮;
P
zIP
"HP
)P
;"P
NQ
`"Q
X
;R
t;
R
˯<B8R
$>R

;R
DR
gEJR
/FPR
FEVR

;R
]\R

;R
t
;R
|HR
}bR
iS
:qU
qV
ðW
˰xW
Ұ;W
u~X
ı;
X
бX
ӱ
;Y
۱
;Y
s]Z
Z
Z
 
;[
D
;]
\ _
b
ujd
ò+e
˲ e
ز h

:vol
uom
@uon
d {o
5	5^p
P 
;p
l%ňp
l%Έq
Hq؈s
/u
Xx
ܶgz
>|
8&
60
v7
(vA
X {
5	5^
P 
;
f
;
n&<
2]%O
J=
L

t
P 
;

;
8&<
]%O
S
ûY
̻
Ի"
ݻ/
F"
ӱ
;
ӱ
;
i=
{`
H~v>
j
o
0,qx
@ 
n
;
+
w4Bx
E
j
=
,j
8j

;

;

;
U
;
h>ɉ
x@
ى
X>߉
=O

L1ꉽ
&
pR
@T
[}
f}
t}
DQ

R`R	
_
m 
v7-
AQ9
nD
P
w2<
]
$
d
@j
f
;q
{
;|

;

;
#
L
V


h
;

;͊
)ߊ
r
e
h!

h>


\
z]


/
$r
Tg
hB?
(gr

;

;!
ʳ
H*
m
'{]
D;


;0
|
;+l9al9iCs]:? wGPzJNU(`g	Qq
X2xLh Ry `;|Z<\>2@?+m5}XF~ ΋$LK%|KՋ&бC$'8(uj,C-4.
;02;
0@h0
;3xa6t7/8d59l:G:F:dq:
:$*<fq=d$=q>$>,]$?fj@|.A
;E
;:EAFIFaGiG2AHuGHvUH<91aIu,|jJbL|uM|/N{|P{Q^DS^T^V^XG[e*]&2_TqŒa@όdЛތijXo]uaz|DO;
B
;Tp11>LWL{$w2<]P 
;@:6KV	y{j	u0
u
_o0vo^wo2v{@;
ӱ
;EE"w2<]
;w2<]
;
aO|^ȍP 
;
;֍(	l

"
"]
\
9
J"

"

͈"
n
n


r
h
h
nր	KE
;bc-Yr%@grXr
ur
	d	;'	yF
;F,~II"۴,
;LI$mQ1mZAbAkBsB"|,!PE,
,6$0D'7|'7CpMTtAW^@Ձ
5
5Џ
53
 k
2k
 n u5%(g}5q  	-m 3~ AI A AI , - x-  x-" =$$ -% q' r* p* P. 
;2 E2"Ac
4"h-5"6P$Z7$7@%8h&.8'R-8t*9*9*9 k:2k: +c; 6c< > L? LA {c5"C LD kcǎD*
;F kF2kF*ΎG+ՎH,,EK<.XM.O/X.GO0%Q0S2OT1Vf1X1X1DX1/Y1/Z)2Q[<2Q
\2Q'\3Q.]4^4"^475_7р5a8c:Wc\;f>h?"ht?$i?8"i,@$j@
kLAmA'BmhB.oC6o#C
;oSC;
oC,
oCq5q5Џq53q kq2kq nr ur5%r(gr}r5qr r 	-mr 3~z AI~ A AI , - x- x- =$ - q r p PC
;cJDPE-cFOrq@GzG@'IPIZTJXJK  tK
;L̏$LJ+LAHLՏL"/ޏLhMNFpO}O(&(Qu=QR//
ZRgXpRgX2;
R$mR
;R
;S
;
<UZUjU>mUWmUVV$V/V>V	IVeLXVoLcVrVVwMVMV<V<VWVWVV"VLWi"W M"W0M.WV>WVLWԧ
Xԧ$
Y+
PZ;

Z3
Z+
[^[:
[ZA	
\F9

\>J
Y]
;
a]'
i]'"
r]ɗ
z]"
]$m
]A
]?
]
;W
]
;
]I
 ^I
p^ZU
^[U
P 
;
_·a
0_[h
N_,
f_o
_#
#
_w#
D`n(
]`h[9)
h`	\l+
`;
,
`$m,
`A,
`?,
`5,
`Ȏ",
`-
`
;-
]
;1
aQ1
a	2
a	2
ap3
ap3
ai4
ai4
aZ{5
as{"5
a`6
ao"6
a=7
a=7
a8
a8
P 
;9
bLJ9
PbeJ:
bJ;
P 
;<
b-k<
c-k>
d-'k?
fA
fA
8g-C
g	\lD
h;
E
hǐE
`hǐF
hM!
G
hmӐG
i4.H
hiNcH
i	\lI
i,ܐJ
P 
;K
j;
K
j,JK
"jlK
*jmK
3j
;L
]
;N
IjHN
QjSIN
]
;N
Yj
;|N
sjIuO
juO
jr %O
j%O
j %O
j''O
(kh
P
tk P
kN
R
fl
R
l1 
R
lK.R
lfS
n}mS
0nT
xn+V
n8G0W
nVt2<W
nqlX
xoGxlY
P 
;[
LFP[
P 
;\
P 
;\
o%;\
o;
^
P 
;^
oC^
o_
oI`
o6a
o
;b
p
;Ob
p
;Vc
:p
;d
Up
;]e
op
;\lf
~plg
p7	g
pg
p;lg
pGlg
pDg
p
;Fg
pldi
P 
;k
P 
;k
p`nk
qlul
P 
;n
qln
P 
;p
qlp
P 
;r

;a	r
[t
[v
[z
P 
;{
hqK;q{
P 
;}
r7Yq}
P 
;
P 
;
P 
;
P 
;
P 
;
P 
;
P 
;
P 
;
P 
;
P 
;
P 
;
r
;
r
s
s
t	
 
t	
{
9
{

{
7#
{

{

{
đ
{
ʑ
{
Б
{
֑
{

{

{

{

{
 
{
0
{
@
{

{
T
{
Z
{
d
{
n
{
x
{

{

{

{
9
{

{
Ē
{
Β
{
Ⓔ
{
쒼
{
n
{

{


{

{
Z
{
d
{

{

{

{
=
{

{
#
{
(
{
/
{
9
{
C
{
M
{
W
{
"
{
c
"

"
"
Z
Z"
|

}
}/
}=
}9
}
}C
}#
}M
}(
}W
V
V/
V=
V9
V
VC
V#
VM
V(
VW
P 
;
t;

P 
;
'tm
/tv
8t}
Rt
;
2
lt
t	X]
 
t	
to9
u:
P 
;
#u
8u
P 
;
puO

;a	
[
[
[
;a	[rv[[
;a		[$[[
;a	[[[u
;u=ufuLu
;}wv~!v!vV0,vxv
;
sǓ͓P 
;v
;sǓ v͓ v
;"5sǓ#v͓#v
;%5sǓ&w͓&w
;(5sǓ)*w͓)9w
;L+X ,X ԧ,Bw^D,Uw|-hw;
.P 
;.twד.|w
;{/~xr0x0x0x0x0xj0x0xn1x+1xe1x
;122x2}y	2 2}y	2y92y:2y
;223y3Iz	{3 3Iz	3Tz93z:3z
;3z74z:5z16z8zg8{8>{9x{
;:2;{;{	{; ;{	;{9;{:;{
;;2<|<&}	< <&}	<0}9<s}:<|}
;<~(j=~;
>P 
;>~1>P 
;?~+?\;
@P 
;@h*@u
;A	
CCC
;C.	
F<FF
;&F	
I,IQIZ
;/I	
LLL/L>L1rM@r|MP 
;N;
NP 
;N$N
;a	O[7Q[@S[OW"YP]_
ać$a)ODbP 
;c
;
c/;
cP 
;c<i7c؈
;e^efenu~ex
e%e%e
;Ze]%g*	5^g7 {gE
;ZhE
;ZjOOld	Oow
;ZpQcrOtP 
;uP 
;uP 
;uP 
;uP 
;uP 
;uP 
;uP 
;uP 
;uP 
;uP 
;uP 
;u;
uP 
;uuvgwбdx0tΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧFqNN['qΧBj4 Χ[0qq24 {`Oqqq2_2@}K@X}KXXGM
}}kL,,	x	xF7?pbOwwߒj/jjbL2@L2@~?>W|JUΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧb'q'q'qh-ΧΧhΧΧΧhDo|lΧΧΧΧ+~?>L2@L2@jpGwzΧΧb`bb'qc'qccbbbbw'q-'qΧΧΧΧΧΧΧΧΧc--ww5|ΧΧΧΧΧΧΧXhB
hB
hB
hB
hB
pΧΧΧΧw>by@i\AiwqCkDCkDCuC~Sj?Cey^Z/UΧyyΧΧΧb'q'qw͒XDR	w0b.DXCj	=
{n1͒DX=wL2:͒DC	w
DRn͒D{n͒D=wn=w=DC|.͒CDj'oFnwnw0b.͒Dj=	w
{0bjj:kmyj0bwwwL2ߒwDC ygYawLwL`5tQ&tQih='oh]t='oh]t='oh]tS='oh]t='oh]t='oh]t='oh]t='oh]tS='oh]tS='oh]t]w]w]w]w]w]w]w]w]w]wV0cggh='oh]t='oh]t='oh]t='oh]tS='oh]t]w]w]w]w]wV0cggrUΧΧΧΧboOO<XO<XOI;XOpXOpXO`O`O=;-;XOO'qg}X}}Xu}XX}K}K!uZ}KO#}K}K;}K;v?;v?XiuXuX'qΧ}ΧCT*og<g*ogGgG}e*o<gggggggggSl<*oSlQp*olQpxogl
{ge
{^Ag^AggRgSA^AA^<gCCg'qgO_^QpQpQpQpQpQpQpQpQpeQpeQpxo>2FXF9^xo9^,zpzz
"ΧΧ8@"K8@"Χ""og	gg6gg6Yg6Y""qVeΧΧΧΧ2Χjjj_AE@Χy"VΧΧ0x0?"og	gg6gg6Yg6Y0?ΧΧΧΧΧΧΧΧΧΧΧ??OO*LP0g>2-TTVTu00l0000000VΧΧΧΧΧΧΧΧΧΧΧ??"Χ8@"K8@"BIJ_KcpCZo8CZoΧΧTpMJ
'qΧeUVeEgW~g6YΧgΧΧf!f8@"K8@"LΧΧg'
Χggg'
ΧΧΧ'q2
'q'
'q''qΧ'qΧ'q6MMM"*"V0g'
Χ"CCCOCCOOx"*VEWΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧccfffKV	gz6TVTpMTpMg6YVg6Yg6YgVggVg	gg	gV	g	gV	gl0J
jeUVVeEVeEVg6g6OO©f6"zfR\"6Hg6YVg6Yg6Y0cΧTpMg6Ygg	gJ
jeUVeg6g6Y"ΧΧΧf"'qz9'qi3zΧΧΧΧ"	g	g" 	gz""j"տ zj	gz 	gz""""	gzN""տ""jz eΧΧΧΧΧΧΧΧΧ"Χտ"l6"CQd7FTpMg6YggLg	gJ
jeUVeEg6g6Yd0d0d0d0ld0d0d00oofiE!!j!|-z	gzfz	g}MjMEM!!j!|MMj!j!|z!j!|	ΧΧΧΧΧΧΧΧȿ'q'qz9'q'qz)J'q'qz'q'qzzzz	g9ΧΧ"z"zzAz"xaxaxΧΧΧΧΧ0"VΧΧΧΧ00QΧΧq**{{{ΧΧΧΧ0Χz	gz9fezfV?ΧΧΧ@ΧΧ*o@*o@^ΧΧΧΧΧjg@XVVX%VΧΧΧΧ0)ББOO000.΃f:'q'qΧp7RZΧΧΧΧΧΧ7).΃RTБo ΧΧo {7-#7b{{7{7{Χ{Χh{7h/MZ7-#Ouuu@Wg}VOmw}^JOmwjΧgok}JtmwΧyokO<XOI;XOpXO`O`O=;-;XOO<XOI;XOpXO`O`O=;-;XO^^^%lUM^%.΃f:ΧΧΧΧ?VΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧVXXVΧΧΧΧΧ
ΧG	g
Χ|r=utusΧR
Χ
ΧXX
Xn@@*'q@*'q@^ΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧ%^i%VXXV|@^}	x%^`^n|i` ~%^i`sVXvsXV^^^%lUM^%ΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧ)
MdyWMdZYMdZYM2RWn))e11_)))))))WББO01_aL.΃f:<<.΃f:ΧΧΧΧΧΧΧΧΧΧΧΧΧΧR/MZΧOWΧO
ΧXE
ΧΧXyΧOΧΧΧΧΧb{xxΧ1_ΧΧ00
ΧΧVXVΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧ)7e~T!~_!).΃RT)T)ThΧΧΧΧΧΧΧΧΧΧ)7~e_~e~_).΃RT)T)Th.΃R.΃V?o?БΧΧΧΧh}	gu@u*u*uO^uO^r=u'qΧ'q**o@*o@^ΧΧΧΧΧΧΧΧΧ@||O@O@O@O@Б| ~ ~UXVVXVmwXmwXVmw	xVXXVΧΧkΧΧΧΧΧΧΧru=uts|ΧMΧБΧΧΧ7).΃RTΧΧOΧΧOXΧΧΧ*БO*@MΧΧ{{Χ*@M{ƺ{{{hDgΧgVqOOAZ|OL>Z1l1lΧΧΧjMOΧg*jgΧΧOOVm~2mm*@MБO*@MOΧΧΧOΧOvΧOvNΧΧΧOyΧΧΧΧcmB|[@^@
zf9pzzzcz	gǁ@9c@@3G%
@z	gǁcΧΧΧΧΧΧΧΧΧΧΧΧ{{Χ11$gΧV9@V|Iyg9g9ݝggg@@|e?@@5?@5?@@?g@?g@@P@@~)'@@~)'ΧΧΧ'q|ggO9@z@9;@jj@jl@@jl@%gl@SASAASAeUFFJFJw
FΧΧ>2gjjjCNX/jCFNX/jCNX/jCFNX/NX/NX/*E*e)_u_ugB{okx{'q'og'q'ogWkgJwjggqijejCd|||||Iy|?^@~?OQ'o'ojIy['o=jY5Y5`8h5Yg|3ΧΧvFF1YYY}OO}OO߆OO߆h8K8<28q8߆h8߆$h8߆Χ8߆]8߆Y8h8߆h8߆``X<>2gH}5c7hl5c7g5c7hg5hg5c7hg5c7g5c7بgF5gghg5Χ>2g>2gg5O5
ΧΧΧΧΧΧΧΧΧKcΧ'qByO'FBx#qBBΧΧΧ#qB#qBB'EGe'q#qB#qBB#qBΧΧΧ#qB*-#q#qBB#qBB#qG#qBΧ#qBa4/\#qB|3#q4#qAB#q4.#q\r#qra#q_9[A_9[A˼_9[A'q#qh#qK#qΧΧhhchN@MN@MhhΧFO''q@R@_X@@}K@yΧΧΧF_RXX'q="Xqwwjj#qBΧ#qBa4/\#qB|3#q4#qAB#q4.#q\r#qra#q_9[A_9[A˼_9[A7G#qe\MaW{G7#qe\MaW7#qe7#qe7p#qeK#qee#qe1g#qeK1gK1gBe#qek7oky'q#qek1g#qek#qek#qe#qeje7oky#q#q#qcc0ΧΧΧΧΧΧΧΧΧΧΧΧΧ0#qWr#qr#q1gr#q1gr#qrvTΧΧ#qBUΧΧΧΧ#qBU#qBUG#qBUGr[#qGΧ#qBGUFΧΧΧΧΧΧΧΧΧ}KX,'qΧΧ.cΧ.m}K@@@.}KjpGwvFFFFb8y'q13A3<<<<I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;I;F=3Ajj33Ajj33Ajj33A3j'qΧUl05M2
5M'
5MΧ5M65MV0)JΧ*77{7Χ{"Z<F`e.`e.`b.`ΧΧt3Ajvjv3vz	gǁǁc	gjv%@%%@%Ouu5555I6<&@PFHGLLXM\O`QdUL_holsssTsLssptTtL|}ll%!5=%\i i$u`%h%%qIli555AAAi

=9 'X(13
45D"D=D1I J$J K L,L R.RIR*R=R1fVfIfRf=f1g^gIgZg=g1i^iIiZi=i1jVjIjRj=j1o1p1q1r1v|zA{||A}~	
;
;
;
1
;9
;A
;I
;Q
;Y
;"a
;"i
;
;'
;
;
;
;
;
;
;
;
;
;
;"
;
;
;-	
;3i
;
;9
;I
;:"D;NI
;3q
;y
;
;
;
;`
;
;
;
;
;,`,:,(j,,%:
;yIaD
aa

;c$PT
\%:
;3i
;q
;y
;
;i
;
;"
;
;
;`
;!
;"
;	
;
;"
;"!
;1
;9
;"I
;(Y
;/
;?q
;"
;F	N				SV	_	Ul	}Ox	0	$	6V	ӕl		_		?q
;
;q
;
;	
;3					
;	
;
%:
%:	$	ء	

;

;)1
;9

;"A
eY

;i
2i
i
fi
ؓ!
;)
;99μI}YYJY\YYYY'Yt"a	a	aaNKaKaVNaNaaKihi8i!9i;iF;
;R
;
;!
;"1
;"
;\Y
;a
;iIit {5^
;
;	

;
;)
;1
;I
;Q
;i
;q
;`
;
;
;)X
;)})})0)0)_))7)))")z)")	))9)E)N)b)F)R)R)ߤ))p))')*)_,)).)))UP)dP)))sP)P))") w);w"))F)F))ջ)F)F)Z
)X)d)#$))֚)p)Y)ʾ){>)7)7)h[
)0 )b)b))0))`)`)`))`8)?
OUyzbC
;
;%:
+}:%:

;C%:
HE}K`TR}X]2ch:ԧ
;tdi~J>dH}]_c
;r!͂!
;)
;)
;!1J!A4YK!4)=cB1=QJ9TAZ15rQIJx$}
;Q`Y
;O!ʾKW)h=2
;G
;rqEr):$C,C
;qA#%:N)C1S/A5
;=[G=XJQԤ=QrX
;ofPk):p@k4%:<
c<
;)p=
;1

;}H:1jA
;)"B1}9vqD
;)[Y.dqdD:D%:L
=LojJ9:PQY|aY~T
;\
;d
;l
;,
;42t
;$
;4
;|
;
;1l:u)QrXU
;)p)P)M)9i/(j	r	Q	:
;	[	
;4	^E	
;
;a	
;	>g	yn	.Yu	|	o&	&	|	
	
;	$%:

;a			
;a		&

;a	
;Z
	!e
(j:

;A
;!
;7a
;{
B!X
A
;I
;!Aֺ
Q
;
)l
)l
)I1l
y9
;9
Q9-
;%YYKW
;
;%:

;CC:%:
1h)1D)%:
wq
;צy:::QKڦ]
k


2CM
Tq
EwPUdjys]yn
dak
;q
;
;:
;
;$
;,
;
;z
Y
4:Tm
`m
,%:<
ۇ
dCh}
D:O
L:<\%:T
Tj,\9:@d%:l
t
;a		g|4w,:%:|
ŝ$|%:
p$Vv%:

;
;mmj	(e:{m\iD
;
;\AZ::"^"ë"Ox"Ol:YQl`m
;%:
:OT%:
}
;"%:
%:
Q^BB
;%:
X4	l%:
(j:
;d%:
:4&F/5j;kF$:
;Z
;f
;}Ƒ,:	
;	T"
;"4%:<
D%:L
$}$$CT
;rT:d
;l%:t
d:|
;d%:
:F|:[)N=)8|"|}d
;%:
:~!"':hY0U};vd)BA;UiLwou1d12{929<)*pI1rQQ;UiY:d2=
;
;%:
)D)RTצ:)EZצ:qln!t
;a	E)@)_}A
;a	KWyI
;a	sKWqql~yl%:[_EiLwWi^t}Ԕ4}ԔYlYq{UWT}\}d}JWl},}
;!vk
G	TwqC2dwXMt:]Ŕ$:4:Y%YGA
JT8T:\:d:l:,:[i:$
;
;:
;|}|:!T
;!
;
;
;
;XC
}݁::
:
;^'2צ+2c:%:F}acf
;y-	}]		/!Ƙ!Ry!s]!]/$%:,
!y̤QK):!!Ia
;sY	ֺqD%:L
$PT
;;I
;T:
;Yc\
;A
;A
\צAz$
\:AA!'9)w-iAw]i2WidRui\>{I:tp7pE7@@*.p~pxipXqu]R@N@5
;Z
d
;dt
;t:!!]uw!!!O!
!!j
	QQQ	!Qdצlצ!:|
;
;~:|:|C|}}!4:!!{![x!!B$w]z]!R!7!ps)]A4w]ֺ]!dOs^p	Op	w
;a	
;a	(j
;a	
;a	^{]!dצiQ!QqQyQQQQqڦX!!!F!X!s!n!:!HBk`
;2
7!$<B1NakZ%^fצ79PU
;I
;!V!L	nYY{]scaY5&!
!!$%:
U=y;'| H) 0 8 U8 A A !/- 
;%:
;
;:)QrXkc
;:!(!!!lP!9H}V!^!t@h!t!a{!,v!Y7g
?!
;!
;!E_!-!!%!!!!S!i=!!!щ!.!$Z1UNZ!8
%:UP!!C}!Q!@PQm2"m2"C}pYX5"Y}$L"%:
iZy
;a	G8	qc!qhn"a
;a	
;Q""(j:(j
;:a
;d:
;!")
;"!d"
%:}X"1C%:
+2cd%:
!;r1
;7#1
;Q=#Q֣F#QQCL#QQt1Qhn"QU
;R#QY#Q3_#
;e#QcQcq6l#6l#QRl#Qwl#Qǖl#Ql#QXQQ!l#!l#Qnl#Ql#QJ!QxQ[a
;#aC$
;a%:a(ja:,
;$
;,:,}$,%:F4
<+<2cyų$	$q291,$
q
;\
;/ph-P$L"nL
;]$T
;]$LTLCL%:FTCT%:F\
d2cd+
;!l
;t
;t$|%:
:l$%:
lצltצt%:
0rD%
;1/%9QG%G%
;a		
&!p6&	}	h!<&y?
;
;!K&A$A%%:C}d&C%:
}X
;&
;&
;&
;&
;&%:'1	+ZU=1	2
;+'Y
;Y:2'C
;9'A}L'l[S'!t!1kNt[S'
;|'C}$|[S'[S':kc%:
C
;T=%:
צ
;9	
;
;
;9	(jkc9	:)ߘ()t))0.)	))
;{(j:1\)d9&{)
;
;
;
;$
;,
;4
;S::i	
;F4}OFAy*UA :$=*$:6,:ӕ8 %:<
(j<$%:D
$(jD!*y	
;*,%:L
y	(jy	:Ly	
;%:T
T4צ%:\
\a	
+Qʳ	|o+Y}+	-T+	CQr+):	}+T=q	@+	{a	
;+A
;	%:'	ۊ44
;Z
a	xF+	%:Q2A+
;	
;,
;q+,/ D1,	X8,	I0rC,4%:d
d{,!
;,.n,llX-Y,lצll
;ASMAA}AAjAZ,A(jt
;PU,tt:|
;
;PU,!2
;
;[S'I[3-	
;"	
;>-C
	!!!!i
;Q-!!)Q0	T!	}$	
;%:
i+&}f&!"e
:!0:
;a	)
%-l!{-9H}-	-)ߘ
;a	q
%:!!!q .+Y!
	C!Q/!("!!ؓ!fa

;[.aQrn.yXz.an.	
;y[.	"q

;:(j.d.q
c!l.
X.
%:')
;9'%:'F.
d
ڦ
/C
QKK/
9:R/
`
]
d	Z/̩}]

;
;
;/
ڦ/
;Z
7/
F/K&q/
;C}:
!"

ԟ
"
50
°;0	7\A0Z;0	sJ06pS0Vn0	Px0q\\[S'[S'[S'[S'[S'[S'[S'[S'%:
ы1
%:_
ڦX
;a		EK1
;a	V]


ܕX
¾1
u
]F1
;61#61R1Xd1hya
;Q
;q1C}:151V1
;0"QCQ}1A2Գ1>11c@
1!S	z:!1E21G2KV
߶

;a	%2aaEd/2

;

")
;u2A
;{2a.a}a:Ac2
Cqe	3W3)%:'GA3QI3
;
`3
AV3:
;a	3a
ea
ǖɤ)(j)Z83d3pQ3t1g&4! 1K4^Vt!1xq`44[S'<[S'D[S'
;4y
;4[S'[S'L[S'T[S'$[S'\[S',[S'd[S'l[S'[S't[S'|[S'1٫;51
!1ؓؓU5	(J^5	1NKK11Kq[n5<
;a	

;"5J5
;

;	
;
;c
;uy
;"
;
;[s"eۖ!
;!!!$P$P)

;
;&
V59
;9P69s:6^*6^<6
;:=R6[l:a	ؼa	
;
;6

;
)l#

Ÿ
w
Ͷ
;C:}&2C7QKb7
C[a
;k7vx7?7)
;+'[S'
;a	A
;[S'[S'.q
.!78%:

;a	(j[@n8d!98$
;$%:,
!8
}a[9Xc9!Rs9Ac	,:[9V
q<&79hn"7Y#A
:9yX9)}9q:l#qkl#q(l#)<&4
;I}94:4}4C)|,"<
;a	9$:yq
;:
;dg:
;1,n:+d:!:N
:D
;jJ:y.:1.1OU=QD:1:91g:91"	:Q:1R1R"1Dq:q:A;Q;A;L
;a	L[I
;V;AB`;I
;f;N#9p;
;:~;};;
;Y
;a
;
;;
;
;;
;;q
;7#
;
o;y};
l;};

;

;
};

#;
#;
;

	T
;G.T:Tֺ]zXH}2<Q?P<A
RA
"A
R"\CA
g:9~g"A
C	X`<A
Ue<yd%:l
yy{?<q)N)#
;"c!EH}]y}
;)
&<B<tt}

;9

;f;^=9=1Y
;Y&q%=QQQQ<QQo:Q
;,=ypQQJ=QUS=QqQL:Q_S=A
DQo]=Xz=}9t=9=9=I
^»=d=ydh4
;C|0=|
;Z
C}GA=>|V
;
;t
;|צ%:
(jiM>iX>iw>t%:
VVצ4צrڦa
>
>!g
;Vn0fCV%:4?
c}l
;:i
?i
_?h)}?x?,r?/?
f?
x?
}
/iq[?
7?
!v
ܯ?

;

;
H
= @B>-Yg=
d
d&@:
i9@qUP@
h
e@}
;
;C	@	T@T@
2::ֺ]ֺ]C4}@*U=	%:	
):XA):_A	l	J	
;	J	q	jp+Ac@QAQB!QB	2
=TmBa	
BQ
;B$	
;,	%:4	
$	$	$	}YBQ0bCk?'CŦ1C[9C$ICAQC!ǧCDqYC!
 u]i$Q
;C	
;!C@h!{7Cqll$
;4	%:<	
l}<	;;DQOD9
;

tDQ91D
DaֺD4H}=
dAcA=	DDI
;,
Q>	I޺D	
;	!	YXDaHDa8DYDa/DDiEqZ Ey}&Ell-EY6E%:EE
KE[S'0^E
;dEEL8E)gE))!!Q)QCH}-
;VAT`;AVE.|E޽Fy
;
;TA3Yh-5"
;'QUP<QF)FaalY
;
;D	%:L	

;
;F:FqhZFCy
;iGyC[S'iX.Gdy}8Gy%:axGa.%:
;F}0""y:GCtaHua	pH%:nHY=h!aHi
;dH$c"}"=,'H.=H
;q	%}HUPH
;FI%::IpIYY!
;f;99rCl7I
;0
;
;NIY5
;UI
;
;Ia
;
;)1rI
;h:$	IBIGI
;IXTJŔ
;{CJեiԔ5J<JN5"
;BJMJեʾtJ

;}J
;J	>J	
;[S'[S',J)[S'(jD	CD	`XKyzK%y
;KidpK1}KYAc
[S'
;LD	
;=VLD	:S{L
;	L	(LQ	%:LT	
}
;;LT	Lq+	g)f)Ld
;A	
;LA	LA(;A^LA|LI	DM*
)!\	
;a		dwM	|Md	
;a	l	%:t	
|	+		}N~%:	
	%:	
kc	C}CDDkcyZ 
ҽUOQ;bmOq	CL%!di!:)
]%O1
O1
	OY$PO]PlPlPlPP]PP Q$Q(Q4$Qh)QlLQp[QtrQxQQ,QRWRQ\RpaRtfRxkR|pRsRvRRRRRS@SgSSSSSSST#THTcTnTTJUU>VQV\VsVaRfRkRvV,{VaRfRkR vV VdaRhfR|aRfRT	aRX	fR\	kR`	V$
VVLaRPfRaRfRkR@VH
VL
VP
VT

Wt
aRx
fR|
kR
aR
fR
kR
.W8WW<WDaRHfRPWTXXLXXX)Y6YwYYYYY0Y4Y8Y<vVLYPZTZaRfRkRvVZ|Z&Z5ZbZZZPaRTfRXkR|aRfRkRvVZZZaRfRkRaRfRkRZ[C[L[[6Y[[[\^\ m\$](],U]0\]4]8]<j^@q^D^H_paRtfRxkR|vVZZZb_Yg_l_q_v_Z{__________________LaRPfRXaR\fRxaR|fRaRfRkRvVZZZb_Yg_l_q_v____``0`9`>`a`f`{`````(aR(aR(`.aR.fR.j.s.#|.+.+.+o.ffR.3ڞ.3.3.3~.3I.3(.3.3.3ʥ.3.3s.3a.3.3˪.3.3.3.3j.3U.39.3..3.3.3ܳ.3ִ.3.)X.).).)7.).).;V.;m.CfR.K.S.[.c=.kb.sb.{b..........G.f2hfRcfRj*j6fR*\*x**\SL

*fR
1fR

V**rI+fRJJi+fRjj3fR+fR;C+fR!	+fR)+fRI;IC=i;iC΃S+fR+fRfR+fR3fR	+fR)3fRI+fRi;iC"ω;mωCϩ;ϩCЪ*>KfR*ZKfR*w	KfR
*
***JmJjj*k*$*@fRKfR*^	;b	C
m
{);)C*m*I;;ICeJmJi;iCj*j*3fR*1*HKfR	3fR)KfRI3fRiKfRKfR*`#KfRKfR		#	M	[b	cfR	k	s	{	
c	 
fR)
KfR@
fRI
KfR`
fRi
3fR
fR
KfR
3fR
3fRiKfR3fRKfRfRKfR	KfR###)KfRIKfRiKfRKfRKfR
#
C
c


#
KfR
KfR
fR
KfR
fR
KfRfRcc[ccfRckcsc[cfRksaKfR+	;H	C);w)CI;ICec#c{cc[ccfRccfRÃ[ÃksZCC[CkCsCLksfR[+CkfR{bƃqƃ[ƃks&ǃFǃfǩm{		m	+	C	3fRigimiCiiKi+iS[{TfRn	m		fR	)))c#k#scfRr,cfRM[4s#s#ɃkfRs fR#s#@fR`fRccs##fR#[fRCCCfRC[fRc2hfR2hfRIImI+I#qIiimi+iCi3fR#k#SCcʃʣm+m+C3fRc ʡ![fR![fR![fR"[fR#"fRI"AI"i"i"ji"mө""ש"m"""m"3	#	#m	#	#s	#K	#Si#i#mi##G؉#mӉ#Չ#s#KՉ#S#[ˣ#cˣ#k${fR#$c#$q#$[#$kC$[C$cC$kI$jI$I$;I$I$3fRi$i$mi$$ى$mӉ$$٩$mө$$[fR$$m$C$9$m$	%^	%m	%)%)%m)%C%[fRI%I%mI%c%[fRi%i%mi%%	&)&C&[fR&
۩&mө&&[fR&4&m&&s&K&S'[fR)'V)'m)')'s)'K)'Si'ui'mi'C۩'۩'mө'Cԩ'թ'Kթ'S''m'';'Q'm'Cm''K'S)()(I(I(I(Ճ([fR((m((s(K(S	)G	)m	)	)s	)K	)S)4۩)mө)թ)s)Kթ)S)V)m))s)K)S	*	*m	*	*C	*K	*S#*[fR)*Q)*m)*)*Cm)*K)*SC*[fRI*I*I*c*[fR*[fR*m**i+mi+i+i+;݉+mӉ++Ki,mi,i,+i,ei,;ރ,[fR,mӉ,,+,މ,Kީ,ީ,թ,mө,S,+,#q,[fR,m,C,+,,[fR#-[fRC-[fR-[fR-[fR-[fRI.;=߃.[fR.;}.[fRi1i1i1mӃ1[fR1߉11mӉ13fR	2	2m	2)2)2m)235i2i2i2Չ22Չ2>2Y2mө222K2	3)33}33C3m33C33K3S33m3C)4m)4)4fR)4MI44mӉ44v4444թ4>43
44m	5	5K	54)5)5Y)5m5[fR)7)7i7i7C{i7Si7Ki7i777թ777777377	8	8	87i8i8Չ88թ889[fR):m):):Wi::[fR;[fRi;i;mi;s;;mӉ;;;mө;;;m;;;S;K;;;	<	<	<6)<)<m)<ZI<I<mI<{i<i<mi<<<mӉ<<<<<<S<K<<<<<S<K<<(<	=	=	=M)=)=S)=K)=)=i)=I=I=I=i=i=Si=Ki=i=i=====թ=S=Kթ=====m====P	>	>S	>K	>	>n	>)>)>)>I>I>SI>KI>I>I>BoCCՉCթCCթCKթCCCfRCCCCfRCCCDfR	D	D	D DfR)D)D)D@DfR`DfRDfRDmӉDD+DfRDDթDթDfRDfRDfR	E	E	ER)E)EAE[fRIEIECiIEIEiIE#qaE[fREE3EEEթEEEEKEEEEEKEE	F	F	FK	F#	FO)Fm)F)FoIFmIFIFiFiFiFՉFFՉFթFFmөFF[fRFF3FF[fRFFFKF#F	G	G	GK	G#	G3)G)G)GIGIGIGOiGiGChiGGfRGGՉGKՉGGGGmөG&GGGFGGGKG#GZ	H	H	HK	H	H~)H)H)HK)H)HIHIH#qIHHHթHH3HHHHKHHHH	I	IC	I	IK	Iw	I$IfRIIIIIIIII[fRIfRIIՉIթIIթIII[fRIfRIII)J)J)J)JDJfRIJIJIJIJiJiJiJiJJfRKfRLfRMfRMfRMfRMfRDNfRdNfRNiSiSiS&iSfRS؉SCQSSfRSSS;SS3fR	T	T	T	TC)T)T)T;)Tm)T3fRITITITITiTiTiTCiTiT3fRT؉TTTHTةTT;TqT3fRTTTTTTmT	U	Um	UB)U)Um)U|IUIUmIUiUiUmiUUUmӉU
U3=UةUFUUCQUiUUUUfR	V	V	V;	V	V3fR)V)V)V)VIVIVIV2IVfRiViViVdiVfRV؉VV;VV3fRVةVVVVVmVX;Y[fRZ[fR Z[fR@Z[fR`Z[fRZ[fRZ[fRZ[fRZ[fR)\)\I\mI\RI\Ksi\mi\i\fRi\\fR\\\q\K\][fR]]^fR^$_fR)_KsI_Ksi_Ks`s`sd[fRd[fRd[fRd[fRe[fR e[fR@e[fR`e[fRe[fRe[fRAf[fRaf[fRf[fRf[fRf[fRf[fRg[fRah[fRh[fRhfRh[fRi[fR!i[fRi[fRi[fRl[fRl[fRA|[fR![fR[fRfR#X#i###!#̽A#ݽa#𽁌## fR!#A#$a#5ssiCiKCK[fRɛC=[fRC[)C|ICiCC=[fRɜCC )C=iCLCpCɝCC	C)CIC
iC;$[fR[fR[fR[fR;[fR [fRfRɭfRfR	fR)fRIfRifRt ݼ[fR[fR[fR [fR[fR[fR[fR[fR@[fR`[fR[fR[fRfRfRfR[fR[fR [fR@[fRfR$fRfRfRfRdfRfRfRfRfR@[fR`[fR [fR@[fR/fR/fR0fR 0fR9fRd:fR:[fR:[fR:[fR:[fR;[fR ;[fR@;[fR`;[fR;[fR;[fR;[fR;[fR <[fR@<[fR @[fR@@[fR`@[fR@[fR@[fR@[fRA[fR A[fR@A[fR`A[fR@C[fR`C[fRC[fRC[fR FfR@FfR`FfR@H[fR`H[fRH[fRO[fRO[fRO[fRO[fRfR fR`fRfRfRfRfRfRfRfR[fR [fR[fR[fR@fR[fR[fRfR fRfRfRfR fR@fR`fR[fR[fRfRfRsfRsfR sfR@sfRsfRsfRsfRsfRsfR sfRfR fR@fRfRfR fRfRfRfRfRfRfRfR fR@fR`fR[fR [fRfRfRfR fR@fR`fRfRfRfRfR fR@fR`fRfRfRfRfR fR@fR`fRfRfRfRfR fR@fR`fRfR[fR[fR [fR@[fR
fR`0gaTgagaDgaau
bbbA:c54:cF[n~(`<A^wDW	?	M					~







,".<b}V

".i6AF`'fv'4FTa
#IBWl(@c: ALY`x'/I)7KRcr}>Ix1HXm K Q  !"!>!G!!!!!!!"""+";"Z"a"t"""#/#s####'$5$H$r$$G$%-%M%]%%%%%B&Q&[&&&&'A'Z'f''''''''#(:(D(g((())-)3)>)F))))))))))*	*"*4*E*N****++B+p++++,I,c,r,,,,--(-8-E-K-X-o---------..*.9.A.K.P.V.b.......,/3/r/|//////00&0^000000000000181y11111152@2F22222 3;3V3g3p3333333334
464<4B4U4h4s4~4444444445555)545B5H5N5h5v5|5555555555556
6L6\6p6666667
77J7777777777788J8P8x888889+9m999999: :R:w::::: ;x;;;< <9<@<I<l<<<<<<<==6=d=i====
>6><>C>s>>>>>>?J???????,@B@W@l@@@@@AA1AfAnAAAAAA$B6BWBxBBBBBCCC^CmCxCCCCCCDYDDDDDDDEE<EQEkEEEEEEE
FF&F2F9FCFRFiFFFFGG"G?GeG~GGGGGH#H-HOHVH\HgHqHHHHHI&I?I]IlIvIIIIIIIIIJJ&JVJ^JJJJJJJJJJK'KWKKKKKKKKL
LL#L<L\LaLgLLLLLMM&M,M2M8MFMLMNN]OtOzOZ_st!-BCDEFGHI!K"Lo8==='==C6====4=D76%:UI>IB%:N==]f)j)nrqv--nBz.nb~y*niT(n)nrqv--nBz
.nb~y*niT(n--9(]T9(;%Cb)==[=ӮS.=ǻ\fi8:)j)j9
'/ķ.
.17<=@CGLM_bdfl m!o#p$v%{&|-259>@BCDEFGHIKLMOPQRSTUVWYZ\^_`abcdefhijklmnop
qstGvUw^yhzi{q|v~	
egjmruv{}"#$&	./0
169EGITUVch m#t$v%x'}-~DRYZ]_`abefgijopqrsxyzZu}{0- {I{fFSp+*,2{܂{P{P?ww5P+A?@ǫOPP'}ʔP5Ք	~F$TH۔Oq{D{}j{;
{Fku;
{Fku}h{& 61q{K!h{1aD{q{|{l{v';
{Fk}h{I1%{v7;
{kG=8!C?IKO^x{D{|{,{D{mD{q{ǧ{UX{`{p{}j{[}j{a;
{Fk\ng;
{\ngFk}h{l(Rww'w'Dl\}0?Õ@Õ6vÕ\}0?Õ@Õ6vÕZɕ{ӕXڕq{K`yG
!&{:o{"3{4|{](? ?&h?,@228֌{Xv<yGB
VH"{U_{p={|{7N
S0{x<{A{{rTڣ^rdjx1ipv|3c{{{W<{1T^djD1gpYv|3c{{" I#I3{q{ǧ{.{q{ǧ{{]UP{q{X{.{K~K{88ǧ88{Hp{L3{{
{q{{{;
{qK05K{
VH"{
{;
{gNg͖ٖlߖRX{{6F*.%{0	v{fzRF@ef!   C
VHG#EK!E,!2AT8[>]{BDJU_˰NR6F ! SEE,"]BDU_˰NR(p{ٖ`{Qf{8T8q{^
V3dgGG3{TAT8.j7pb{YT_o#?Sb{|~{ۀo{f{i{kf{}j{{{{{{{3{ٖf{U{{{{{}{o{f{}j{3{x8
VH!"U_Uq)dgŗ'
VHOiS˗"qї}Qחeݗ{)){
{Udgŗ/Ő#"9
j{n{Ej{788n{Ej{
j{788e}Udgŗn?${
VH0=6{q"#{4CU{
d7C6d q"#{U_{
 M8{s d79YV\s
j{Nш|{t't{*u{u{sޔg{s{r~6n{WG8 
&"x8WG8
&"8q,t2*u<u28s2r2
!"8C
&"x88nBaOV&
j{Nшޔg{{6N76NfTldZV<dgŗ{{T``ffNHlOHH>r5N={YeT+lGxˍ{i~Ǐ`*N_S8P9!{{{lTp>{>{@{]	3%ffڼ.Z	{J8M{gڵR M8{l#8I
!"<X<ڵ<X<7
!"qTX<{lX<
y8I{lZLVs 1r8CP!{
!"SLX<yV<ڵ<LX<yV<z{zVV {{{{{N{n{{fd+
Azy{{N{z{z{n{{fC9
VHQ8ʈ8YVaOV&\st6't*uu{{|{^t{r{ss2*u<t2u2r2q,LØ$lɘ{Ϙ՘HX27ۘ)LØ67ۘ){}j{e{t<}>}j{t2{cku$lɘt2{ey>{w`zt2{c!!^-	o1H~u=q4?&<J1&{D(\\>$((<
4	6._JE2ֵ<U{34;$%dx# **++@,F+ $r+BB+Z9?.6N2a_#54(>rx;,+X8*	I$6r%sX1]g.rW{~Hcn.Ei7m5ylɑ;e-^[VʥC)!i,8sApf!t-кtot͹Su}A*.s@g'rxr#f~0<0/L/Wpjem$TF="#
<b/E#ތNЭ. Fh"!?T׎.>%&8ˤhi
%t) u?89(_;,r-%(E)4<.MVG.Z/ě}m#0K}89;=yz$]%cCfB
~
q4szy
R6z?zխfuʦ[FYumH6uPLk&%h<!}Ld^%P҇
>%1RW!7XQzEW"`RLKaB!~%hqR@ca		c"#JE%IIESLaB$n	nbod8SS VoAXUCD;O`&پ<#9]W@GqV)SF!q~=Q
<I4
k/1c'NNMgM61~\zt|N.8=!h&|OW[WgHoYh9^]qKK{q{qK!qKv!qK!J#KqK!qK%	@B'0%-3E96F?EEKqK{QK{9^9^XJ5^\>dwRoz;EQ'NX)e{l>ozJvtL˙m{{/lљelљ{}j{C{K3יvݙEeO
!Nшn{{rnBBrq{?'y{Fm{B{B{ԏ3k{ry)Eq{{k{k{ԏ3k{ry)Eq{m{[m{Ž{
{LM<Wm4MVl'm{B{C{m{B{C{9̎!p{}j{w{s6={x.'	m{qK2WI-M66 7 TG@=8!C?IKOD{8Kv8v8A{{Z0KWKWKWKWKWpٖ{{{{{{3{f{']v8jv8jv8']v838383838{u2vc%	9^$%&'()	*+
	,
-
z{

|}~WXYZ[\]^   !!Z"[""###u$v$$%%%&&&'''((()))***+++,,,---...///00N122V344t5u566v7w788x9::y;z;<<{=>>|?}?@	@~AAVBWBCCXDYDEZF[FG\H]HII^J_JKK`LaLMMbNcNOdPePQQfRgRShTiTUUjVkVWlXmXYZZ[\\]]^^__``aabbcddeeffg	h
hijjk
llmnnooppqrrsttuvvwxxyzz{{||}~~t	u							

_`	

!"#$%&'()*-./0789:;<?@ABCDFG]`abcdefghijklowxyz{|}~	
!#	%
%')++,-C/13579;;==?AACEGIKKMMOOQQSSUWY[]_aaccegikm
oqs
uwy{} !"#789DEFlmnopqrstuvwxy	

!#%'')++-//1335779; =!?"?#A$C%E&E'G(G)I*I+K,K-M.M/O0O1Q2Q3S4S5U6U7W8W9Y:[;]<_=a>c?e@gAiBkCkDmEoFqGsHuIwJwKyL{M}N}OPQRSTUV	

!"#$%&'(@ABCDRSTUVWXYZ[\]^_`abcefwxy	z{
|}~!!##%'')++--/135799;=??ACCEGIIKMOOQQSSUWYY[[]]__a	ac
ceegiikmmooq's(u)w*y+{,{-}./01234567?STUVWXY]^_`abcdqx
!"#$%&'(	,-
.
/034567=ABC!D#E%F'G)H+I+J-K-L/M/N1O1P3Q3R5S5T7U799;;==??AACCEGIIKKMOQSUUWYY[]]__aacceegiikkmmooqqssuwwyy{{} !"#$%		
!!#%'	'	)	)	+	-		/
	1	3	5	7	7	9	9	;	=	?	?	A	A	C	C	E	E	G	G	I	I 	K!	K"	M#	M$	O%	O&	Q'	Q(	S)	S*	U+	U,	W-	W.	Y/	Y<	[=	[>	]?	]@	_A	_B	aC	aD	cE	cF	eG	eH	gI	gJ	iK	iL	kM	kN	mO	m^	o_	q`	sb	uc	wg	yh	{v	}w	}x	y																																																										






	












6
7
8
9
:
;
E
F
G
N
O
P
Q
R
X
c
g
h
i
j
k
l
s
t
u
v
w
x
|
}
~


	













!
#
%
'
)
+
-
/
1
3
5
7
9
;
=
?
A
C
E
G
I
K
M
O
Q
S
U
W
Y
[
]
_
a
c
e
g
i
k
m
o
q
s
u
w
y
{
}

































































	
	

!#%')+-/13579;=?A C!E"G#I$K%M&O'Q(S)U*W+Y,[-]._/a0c1e2g3i4k5m6o7q8s9u:w;y<{=}>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~	
!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegikmoqsuwy{}							
						
			
		!	#	%	'	)	+	-	/	1	3	5	7	9	;	=	?	A	 C	!E	"G	#I	$K	%M	&O	'Q	(S	)U	*W	+Y	,[	-]	._	/a	0c	1e	2g	3i	4k	5m	6o	7q	8s	9u	:w	;y	<{	=}	>	?	@	A	B	D	E	F	G	H	I	J	K	L	M	N	O	P	Q	R	S	T	U	V	W	j	v																																																	
	
	
	
	
	
	
	
	)

*

+

,

-

.
	
/
	
9

:

;

@

B

C

D

E

F

G

H

I
!
J
#
K
%
L
'
R
)
S
+
T
-
U
/
Y
1
Z
3
[
5
\
7
]
9
^
;

=

=

?

?

A

C

E

E

G

I

K

M

M

O

O

Q

Q

S

S

U

U

W

W

Y

Y

[

]

_

a

a

c

e

g

i

k
m
m
o
o
q
	q
s
s
u
w
 y
!{
"{
#}
$
%
&
'
(
)
C
D
E
F
P
Q
]
^
z
{
|
}
~
























































	







&
'
(
+
,
/
0
1
2
3
?
T
U
VWXY|	~
!#%')+--/13 5"7(9*;8=:?@ABCPETGXI\K_M`MaObOwQxSyU{W|Y[ACEEAC5(]5*_5,a5.c50e52g66w68yFvFxFzF|F~
FFGGLLO O"Q$Q&Q(Q*_,_._0_2_4_6_8_:_<_>_@_B_D_F_H_J_L_N_P_R_\_^_`_T_V_
X_Z_b_d_f_hojolsZ	s\	s^	zs`	sb	sd	sf	sh	sj	sl	sn	sp	sr	st	sv	sx	sz	s|	s~	s	s	t	t	t	|
|
}
}
DFjHllj
f
h
j
l
n
	
 "$&(*,.!0#2%4'6)8+:-</>1@3B5D7,.02IKMO'''DkDmDoDqDsRkRmR{RqRsR}Rgf< kf> mf@ fB qfD sfF fH ggL kgN mgP gR qgT sgV gX gil kin mip ir qit siv ix gj| kj~ mj j qj sj j gv v v ~!w~!yqhqz6	09BKT]fox
%.7@Ibk+8%4mv~,			
D
S
py'
0
9
B
N





7KT]dwGOW`Q&.BK8y.17Qolu4Sh*s     !""Q""##&####$$U$h$$$$$$$$%;%D%~%%&&&&&&&'^((())))))v***"+9+[,,,--f-->.////
1A1o11115E6<7/888A88899:;<W<<<<=">,>\>a>j>>>??*?@?t?@@@@FAOA{AABBB4DFFLoMMMMMNNNDCDEtO9jO#OOOOAO`OOnOOOOROHOLBOOO*OOirDH
DxDH)KE <E@|ENSHVQYC\`Hcf*ihm^`h,` /_^Xs	T_
u`S
_
x_p_03?`_
_
_*
aȮga`/^ؘ`a`3`XI5aXSaKaa`a0B:VB'()
*+,-./ 0"1"2&3'4'5'6'7'8'9(:(;(<(=(>(?(@(A(B(C(D5E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?UKVKWKXKY^Z^[^\^]n^n_n`nanbncsdsevfghijklmnopqrstuvwxyz{|}~9:;<=?@ABBCkj&jlr&[r=rCraraprw3}3	3'	33	ArEra'	
@
M
@
\iFq{}Z}ZZ+_rr,!2!8!n!v!@
|$X%%%	-&X%X%
q)2	"-2	~---.f/;0eh13
@

39;Q99
H:@<EZGirMM;MMM@
`

l`l``lunsupportedTypesInFramework30<>9__130_0<StoreOriginalValues>b__130_0<>c__DisplayClass130_0<>9__30_0<ProcessRequest>b__30_0<.ctor>b__11_0<>9__81_0<FindBestMethod>b__81_0<>c__DisplayClass81_0<>9__1_0<.ctor>b__1_0<>c__DisplayClass1_0<>9__92_0<get_DefaultAjaxFrameworkAssembly>b__92_0<>9__3_0<CreateSystemWebExtensionsCache>b__3_0Ldc_I4_0<>c__DisplayClass36_0<>9__76_0<FindIndexer>b__76_0<>c__DisplayClass6_0<MatchOperations>b__7_0<>9__8_0<HttpResponse_Redirecting>b__8_0<>9__19_0<ValidateMapFile>b__19_0<>c__DisplayClass9_0<LoadMapFile>b__0<MatchMessages>b__0<MatchPortTypes>b__0<GenerateProxy>b__0Ldarg_0CreateSHA1<.ctor>b__11_1<>c__DisplayClass81_1<>9__1_1<.ctor>b__1_1Ldc_I4_1<>9__76_1<FindIndexer>b__76_1<>9__19_1<ValidateMapFile>b__19_1<i>5__1<FindBestMethod>b__1<StoreOriginalValues>b__1Ldarg_1Func`1Nullable`1IEnumerable`1IOrderedEnumerable`1IEquatable`1IQueryable`1MatchCollectionItemDelegate`1Expression`1ICollection`1KeyedByTypeCollection`1ReadOnlyCollection`1EventHandler`1IComparer`1IEqualityComparer`1IEnumerator`1HashSet`1IList`1message1name1portType1differentAttribute1attribute1value1path1get_Item1differentItem1attributeCollection1<>7__wrap1XmlSerializer1expr1CS$<>8__locals1element1text1<>m__Finally1<GetScriptDescriptors>d__22get_CombinedHash32UInt32ToInt32<.ctor>b__11_2<>9__1_2<.ctor>b__1_2<>9__19_2<ValidateMapFile>b__19_2<FindBestMethod>b__2Func`2Tuple`2IGrouping`2Action`2KeyValuePair`2SortedList`2IDictionary`2OrderedDictionary`2ConcurrentDictionary`2message2name2portType2differentAttribute2attribute2value2path2get_Item2differentItem2attributeCollection2IContractGeneratorReferenceTypeLoader2IStateFormatter2get_StateFormatter2expr2element2text2<GetScriptReferences>d__23<>9__1_3<.ctor>b__1_3<>9__19_3<ValidateMapFile>b__19_3<FindBestMethod>b__3Func`3Tuple`3Create404Throw404ToUInt64ToInt64Func`4NamespaceUri15FRAMEWORK_VERSION_35TypedDataSetSchemaImporterExtensionFx35Func`5UInt16<GetEnumerator>d__18<GetScriptReferences>d__28<SelfAndBaseClasses>d__78get_UTF8<GetScriptDescriptors>d__29<>9<Module><PrivateImplementationDetails>enumerableAGetCookieFromDBRemoveRolesFromDBStoreHashedPasswordInDBStoreCookieInDBChangeCookieAndStoreInDBPatchOutParametersInVBenumerableBGCSOURCE_ID_NOT_SPECIFIEDid4_IDm_IDget_IDset_IDSystem.Web.UI.WebControls.IDataBoundControl.DataSourceIDSystem.Web.UI.WebControls.IDataBoundControl.get_DataSourceIDSystem.Web.UI.WebControls.IDataBoundControl.set_DataSourceIDget_UniqueIDGetMasterPageUniqueIDget_UpdateProgress_AssociatedUpdatePanelIDget_AssociatedUpdatePanelIDset_AssociatedUpdatePanelID_associatedUpdatePanelIDget_UpdatePanelControlTrigger_ControlIDget_ControlIDset_ControlIDget_DataPager_PagedControlIDget_PagedControlIDset_PagedControlID_focusedControlIDget_UpdatePanelControlTrigger_NoControlIDget_ExtenderControl_TargetControlIDget_TargetControlIDset_TargetControlID_targetControlID_controlIDget_ItemPlaceholderIDset_ItemPlaceholderIDget_ListView_ItemPlaceholderIDget_GroupPlaceholderIDset_GroupPlaceholderIDget_ListView_GroupContainerIDcontainerIDget_AnonymousIDSystem.Web.UI.IHtmlForm.ClientIDSystem.Web.UI.IHtmlForm.get_ClientIDclientIDget_ElementIDget_AsyncPostBackSourceElementID_asyncPostBackSourceElementID_elementID_componentIDVB_LANGUAGE_NAMEDEFAULT_FILE_NAMETOOL_CONFIG_ITEM_NAMEisWCF_SQL_CE_CONN_STRINGget_NamespaceURISystem.Web.UINeedToLoadBeforeUIget_AlwaysLoadBeforeUIset_AlwaysLoadBeforeUI_alwaysLoadBeforeUIget_ScriptManager_LoadScriptsBeforeUIget_LoadScriptsBeforeUIset_LoadScriptsBeforeUI_loadScriptsBeforeUIGetCredsFromUIWSDLGetPropertyValuesFromSQLSetPropertyValuesSQLget_AppService_RequiredSSLenforceSSLget_RequireSSLset_RequireSSL_propRequireSSL_authRequiresSSLJSONDISCOSystem.IOSRFreeBSTRPtrToStringBSTRSecureStringToBSTRensureNSenUSBrtrue_STInternetGetCookieWInternetSetCookieWoperationXfaultXpartXoperationYfaultYpartYvalue__ParseLambdaget_ExpressionParser_ArgsIncompatibleWithLambdalambdaSystem.Xml.Schemam_MetadataXmlSchemaget_MetadataXmlSchemaCreateFromSchemaschemaget_JSON_InvalidArrayExtraCommaget_JSON_InvalidArrayExpectCommasrawraSystem.DataextraDataSystem.Web.DynamicDataEnableDynamicDatadeleteAllRelatedDataWebServiceMethodData_webServiceMethodDataGetMethodDatamethodDataget_WebService_NoWebServiceDataGetWebServiceDatawebServiceDataget_TypeDataGetWebServiceTypeDataProcessTypeData_typeDataInitWebServiceEnumDataget_ExtensionDataset_ExtensionDatafailIfNoDataWebServiceParameterData_parameterDataGetObjectDataGetDataQueryableDataSourceEditData_applicationClientDataGetAppClientDataGetUserClientData_userClientDataSystem.Web.UI.IPostBackDataHandler.LoadPostDataContextDataSourceContextDataid8_Metadataid9_Metadataget_MetadataLoadMetadatam_CachedMetadataget_CachedMetadataMergeMetadataGetProfilePropertiesMetadataGetPropertiesMetadataProfilePropertyMetadataGetPropertyMetadatametadatacbSystem.WebIsFromSystemWebGetPropertyValuesFromWebAtlasWebSetPropertyValuesWebmscorlibpbget_Verbsbtb<>cget_IsNestedPublicget_ReferenceGroup_SharedTypeMustBePublicget_IsPublicSystem.Web.Query.DynamicSystem.Collections.Genericget_JSON_CannotSerializeMemberGenericgenericget_IsDataBindingAutomaticget_LinqDataSourceView_TableCannotBeStaticget_MethodExpression_MethodMustBeStaticget_IsStaticMemberIsStaticLdlocStlocsrcFromFileTimeUtcToFileTimeUtcget_RolesCachedDateUtcset_RolesCachedDateUtcget_LastLoggedInDateUtcset_LastLoggedInDateUtcbubbleExceptionFromSvcget_CurrentManagedThreadId<>l__initialThreadIdid20_SourceIdid18_SourceIdm_SourceIdget_SourceIdset_SourceIdget_ReferenceGroup_InvalidSourceIdsourceIdget_TypeIdResolveTypeIdget_ScriptTypeIdset_ScriptTypeId_typeIdget_ControlId_controlIdTokenIdget_ModuleVersionIdget_DynamicFilterRepeater_DynamicFilterContainerIdHtmlHeadReadget_CurrentThreadOnLoadget_ScriptManager_FrameworkFailedToLoadReloadOnUnloadSystem.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.AddBaseAddGenerateAddTryAdd_resourceLoadedEnsureProfileConfigLoadedEnsureAuthenticationConfigLoadedEnsureSectionLoadeds_sectionLoadedget_ScriptReference_NotifyScriptLoadedget_NotifyScriptLoadedset_NotifyScriptLoaded_notifyScriptLoadedget_JSON_MaxJsonLengthExceededThrowIfMaxJsonDeserializerMembersExceededget_JSON_DepthLimitExceededOccursUnboundedget_ReferenceGroup_DataContractExcludedAndIncludedadd_FieldChangedremove_FieldChangedOnFieldChangedget_LinqDataSourceView_TableNameChangedget_LinqDataSourceView_ContextTypeNameChangedget_LinqDataSourceView_EnableObjectTrackingChangedadd_FieldsChangedremove_FieldsChangedOnFieldsChangedadd_PagePropertiesChangedremove_PagePropertiesChangedget_ListView_OnPagePropertiesChangedEventPagePropertiesChangedadd_ParametersChangedOnParametersChangedOnQueryParametersChangedOnDataSourceViewChangedRaiseViewChangedadd_SelectedIndexChangedremove_SelectedIndexChangedget_ListView_OnSelectedIndexChangedEventSelectedIndexChangedOnDataPropertyChangedGetScriptPathCached_IsOfflineFetchedget_SourceIdSpecifiedset_SourceIdSpecifiedm_WrappedSpecifiedget_WrappedSpecifiedm_GenerateTaskBasedAsynchronousMethodSpecifiedget_GenerateTaskBasedAsynchronousMethodSpecifiedget_DataSourceControlExtender_TargetControlIDMustBeSpecifiedget_MethodExpression_MethodNameMustBeSpecifiedget_RangeExpression_RangeTypeMustBeSpecifiedget_ListView_DataKeyNamesMustBeSpecifiedget_IgnoreSpecifiedset_IgnoreSpecifiedm_UseSerializerForFaultsSpecifiedget_UseSerializerForFaultsSpecifiedget_IsMergeResultSpecifiedset_IsMergeResultSpecifiedget_LinqDataSourceView_TableNameNotSpecifiedget_OfTypeExpression_TypeNameNotSpecifiedget_LinqDataSourceView_ContextTypeNameNotSpecifiedget_LinqDataSourceView_WhereAlreadySpecifiedget_LinqDataSourceView_OrderByAlreadySpecifiedSetLastModified_ajaxFrameworkAssemblyConfigChecked_duplicateScriptAttributesCheckedConvertCheckedInterlockedget_Enabledset_Enabledget_ProfileServiceEnabledEnsureProfileServiceEnabled_profileServiceEnabledget_RoleServiceEnabledEnsureRoleServiceEnabled_roleServiceEnabled_authServiceEnabledget_AuthenticationServiceEnabledEnsureAuthenticationServiceEnabledget_IsViewStateEnabledget_IsServerPagingEnabledget_IsDebuggingEnabledisDebuggingEnabledset_ObjectTrackingEnabledIsCompressionEnabled_propEnabledEnsureProviderEnabledget_IsCustomErrorEnabledget_RoleService_RolesFeatureNotEnabledenabledget_AppService_Disabledget_ScriptManager_CannotSetSupportsPartialRenderingWhenDisabledget_ScriptManager_CannotAddHistoryPointWithHistoryDisabledget_Handledset_Handledget_QueryStringHandledset_QueryStringHandled_queryStringHandledget_ExceptionHandledset_ExceptionHandled_exceptionHandled_eventHandledget_LinqDataSourceView_PagingNotHandledget_LinqDataSourceValidationException_ValidationFailedget_LinqDataSourceView_ValidationFailedget_ListViewPagedDataSource_EnumeratorMoveNextNotCalledget_SqlHelper_SqlEverywhereNotInstalledget_ScriptManager_PageUntitledget_LinqDataSourceView_ParametersMustBeNamedIsDefinedid37_Wrappedm_Wrappedget_Wrappedset_Wrapped_renderedHasTriggered_panelRegistered_isHandlerRegistered_scriptReferencesRegisteredget_DynamicNavigatorDataSource_NoModelsRegisteredget_ScriptManager_UpdatePanelNotRegisteredget_ScriptControlManager_ExtenderControlNotRegisteredget_ScriptControlManager_ScriptControlNotRegisteredget_Expressions_DataFieldRequiredget_ListView_ItemTemplateRequiredget_ListView_InsertTemplateRequiredget_RangeExpression_MinimumValueRequiredget_RangeExpression_MaximumValueRequiredCreateDBIfRequiredget_Common_ScriptManagerRequiredget_SearchExpression_ParameterRequiredget_ReferenceGroup_DuplicatedSchemaItemsIgnored_pagePreRenderRaised_DisposedEnsureClientTypesProcessed_clientTypesProcessedget_Authenticatedset_AuthenticatedEnsureAuthenticatedget_IsAuthenticatedisAuthenticatedget_UserIsNotAuthenticated_authenticatedadd_UserValidatedremove_UserValidatedOnUserValidatedadd_Updatedget_LinqDataSource_Updatedremove_Updatedadd_ItemUpdatedremove_ItemUpdatedget_ListView_OnItemUpdatedEventItemUpdatedOnUpdatedEventUpdatedadd_ItemCreatedremove_ItemCreatedget_ListView_OnItemCreatedEventItemCreatedset_ChildControlsCreated_newPointCreatedadd_LayoutCreatedremove_LayoutCreatedget_ListView_OnLayoutCreatedEventLayoutCreatedadd_ContextCreatedget_LinqDataSource_ContextCreatedremove_ContextCreatedOnContextCreatedEventContextCreatedadd_QueryCreatedremove_QueryCreatedOnDataSourceQueryCreatedOnQueryCreatedEventQueryCreatedpathTranslatedIsAnyTypeGeneratedXmlSchemaAnnotatedadd_Selectedget_LinqDataSource_Selectedremove_SelectedOnSelectedEventSelectedget_IsClientConnectedget_ExpressionParser_CloseParenOrCommaExpectedget_ExpressionParser_CloseBracketOrCommaExpectedget_ExpressionParser_TokenExpectedget_ExpressionParser_OpenParenExpectedget_ExpressionParser_DotOrOpenParenExpectedget_ExpressionParser_ExpressionExpectedget_ExpressionParser_ColonExpectedget_ExpressionParser_IdentifierExpectedget_ExpressionParser_CloseParenOrOperatorExpectedget_ExpressionParser_OpenBracketExpectedget_ExpressionParser_DigitExpectedget_IsRequestBeingRedirectedset_IsRequestBeingRedirectedadd_Deletedget_LinqDataSource_Deletedremove_Deletedadd_ItemDeletedremove_ItemDeletedget_ListView_OnItemDeletedEventItemDeletedOnDeletedEventDeleted_preRenderCompleted_initCompletedIsRootedget_JSON_StringNotQuotedadd_Insertedget_LinqDataSource_Insertedremove_Insertedadd_ItemInsertedremove_ItemInsertedget_ListView_OnItemInsertedEventItemInsertedOnInsertedEventInsertedadd_Sortedremove_Sortedget_ListView_OnSortedEventSortedValidateUpdateSupportedValidateDeleteSupportedValidateEditSupportedget_ListView_StyleNotSupportedget_JSON_ArrayTypeNotSupportedget_JSON_DictionaryTypeNotSupportedget_LinqDataSourceView_UpdateNotSupportedget_LinqDataSourceView_DeleteNotSupportedget_ListView_StylePropertiesNotSupportedget_LinqDataSourceView_InsertNotSupportedValidateInsertSupportedget_IsHostedadd_SettingsSavedremove_SettingsSavedisApprovedget_MethodExpression_ChangingTheReturnTypeIsNotAllowedSystem.Collections.Specializedget_IsJsonSerialized_isJsonSerializedset_Deserializedget_Initialized_asyncPostBackModeInitializedSetRequiresDataBindingIfInitialized_panelsInitialized_initializedget_AttributeNotRecognizedget_IsSynchronized_idget_IsBufferValidSystem.Web.UI.IPage.IsValidSystem.Web.UI.IPage.get_IsValidget_ExtenderControl_TargetControlIDInvalidget_ScriptControlManager_TargetControlTypeInvalidget_UpdateProgress_DisplayAfterInvalidget_ExpressionParser_MethodIsVoidSerializeGuidNewGuidguidget_DynamicControlBase_DataFieldget_DataFieldset_DataFielddataFieldDefineFieldCloneFieldCreateField<Handled>k__BackingField<DataField>k__BackingField<IsBundleVirtualPathMethod>k__BackingField<GetBundleUrlMethod>k__BackingField<GetBundleContentsMethod>k__BackingField<BundleResolverCurrentMethod>k__BackingField<IsBundleReference>k__BackingField<DataSource>k__BackingField<DataItem>k__BackingField<Expression>k__BackingField<LoadSuccessExpression>k__BackingField<IsDirectRegistration>k__BackingField<Direction>k__BackingField<Owner>k__BackingField<ApplyToOverrides>k__BackingField<Values>k__BackingField<Parameters>k__BackingField<WhereParameters>k__BackingField<SelectParameters>k__BackingField<GroupByParameters>k__BackingField<OrderByParameters>k__BackingField<OrderGroupsByParameters>k__BackingField<Arguments>k__BackingField<IsDefiningSys>k__BackingField<EntitySet>k__BackingField<Context>k__BackingField<Query>k__BackingFieldget_DataPager_QueryStringFieldget_QueryStringFieldset_QueryStringFieldAsyncPostFormFieldRegisteredHiddenFieldIsBuiltInHiddenFieldSystem.Web.UI.IScriptManager.RegisterHiddenFieldFindPropertyOrFieldget_ExpressionParser_UnknownPropertyOrFieldAssignToPropertyOrFieldget_PagerFieldDataPagerFieldNumericPagerFieldTemplatePagerFieldNextPreviousPagerField_pagerFieldGetFieldnewField_fieldLdfldStfldAddSingleChildget_FirstChildchildcmdParseLogicalAndReadToEndget_JSON_InvalidArrayEndSetSkipAuthorizationNoDemandDbCommandget_ListView_InvalidCommandHandleCommandCreateCommandExecuteCommandSystem.Web.UI.WebControls.IWizardSideBarListControl.ItemCommandSystem.Web.UI.WebControls.IWizardSideBarListControl.add_ItemCommandSystem.Web.UI.WebControls.IWizardSideBarListControl.remove_ItemCommandget_ListView_OnItemCommandEventItemCommandadd_PagerCommandremove_PagerCommandget_TemplatePagerField_OnPagerCommandEventPagerCommandCreateDataPagersForCommandget_ExpressionParser_IncompatibleOperandCheckAndPromoteOperandDoubleAmphersandAppendDataBindFindDateTimeKindGetNumericTypeKindUriKinddatabindget_SecondEnsureDataBoundSystem.Web.UI.WebControls.IWizardSideBarListControl.ItemDataBoundSystem.Web.UI.WebControls.IWizardSideBarListControl.add_ItemDataBoundSystem.Web.UI.WebControls.IWizardSideBarListControl.remove_ItemDataBoundget_ListView_OnItemDataBoundEventItemDataBoundEventWizardListItemDataBoundget_DynamicNavigatorDataSource_NoAccessibleTablesFoundget_MethodExpression_MethodNotFoundget_LinqDataSourceView_TableNameNotFoundget_LinqDataSourceView_ContextTypeNameNotFoundget_IgnoreIfNotFoundset_IgnoreIfNotFoundget_ServiceUriNotFoundget_UpdatePanelControlTrigger_ControlNotFoundget_RoleService_RoleProviderNotFoundget_DataPager_PageableItemContainerNotFoundget_MethodExpression_ParameterNotFoundget_LinqDataSourceView_OriginalValuesNotFoundSystem.Web.UI.IHtmlForm.MethodSystem.Web.UI.IHtmlForm.get_Methodset_Methodget_WebService_UnknownWebMethodMakeGenericMethodGetStaticMethodGetAddMethodFindMethodInvokeMethodget_ExpressionParser_NoApplicableMethodqueryableMethodDefineMethodget_OfTypeMethodGetOfTypeMethod_ofTypeMethodget_UpdateMethodset_UpdateMethod_updateMethodget_DeleteMethodset_DeleteMethod_deleteMethodResolveMethodget_IsBundleVirtualPathMethodset_IsBundleVirtualPathMethodCallMethodget_GetBundleUrlMethodset_GetBundleUrlMethodget_HttpMethodCodeMemberMethodRenderMethodrenderMethodget_GetBundleContentsMethodset_GetBundleContentsMethodm_GenerateTaskBasedAsynchronousMethodget_GenerateTaskBasedAsynchronousMethodset_GenerateTaskBasedAsynchronousMethodget_SelectMethodGetGetMethodSetGetMethodGetSetMethodSetSetMethodget_BundleResolverCurrentMethodset_BundleResolverCurrentMethodget_InsertMethodset_InsertMethod_insertMethodGetSortMethodGetThenBySortMethodFindBestMethodThenDescendingByMethodOrderDescendingByMethodThenByMethodOrderByMethodqueryMethodmethodget_Passwordset_PasswordoldPasswordEncodePasswordChangePasswordGetPasswordResetPasswordnewPassword_passwordSystem.Web.Compilation.WCFModel.Schema.ServiceMapSchema.xsdSystem.Web.Compilation.WCFModel.Schema.DataServiceMapSchema.xsdget_RememberMeset_RememberMerememberMeAddInterfaceget_IsInterfaceReplaceIsWhiteSpaceAddNonBreakingSpaceCheckScriptTagTweenSpaceget_NamespaceSchemaNamespaceCalculateGeneratedNamespaceGetGeneratedNamespaceReplaceNamespaceCodeNamespaceget_TypeNamespaceGetClientTypeNamespace_typeNamespaceEnsureNamespaceconfigNamespaceoriginalNamespaceconfigurationNamespaceSerializationNamespaceRegisterNamespaceid52_ClrNamespacem_ClrNamespaceget_ClrNamespaceset_ClrNamespaceid46_TargetNamespacem_TargetNamespaceget_TargetNamespaceset_TargetNamespacetargetNamespacereplacementNamespaceproxyNamespaceget_JSON_ExpectedOpenBraceget_StackTraceuseWFCService_UsingWFCServiceget_ScriptManager_ProfileServiceget_ProfileServiceConfigureProfileServiceget_ScriptManager_RoleServiceget_RoleServiceConfigureRoleServiceGetApplicationServiceget_ScriptManager_AuthenticationServiceget_AuthenticationServiceConfigureAuthenticationServiceGetServiceget_PageRequestManager_RegisterDataItemTwiceget_UpdatePanel_SetPartialRenderingModeCalledOnceWsdlContractInheritanceget_InstanceFastCreatePublicInstanceGenerateStaticInstanceCreateInstanceTemplateInstanceget_ObjectInstanceset_ObjectInstanceCreateObjectInstance_objectInstanceGetInstance_instanceget_IsStaticReferenceset_IsStaticReference_isStaticReferenceServiceReferenceget_IsBundleReferenceset_IsBundleReferenceCodeTypeReferenceget_JSON_CircularReference_applicationServicesReferenceObjectReferenceElementReferenceComponentReferenceSystem.Web.UI.IClientScriptManager.GetPostBackEventReferenceEndpointReferenceadd_ResolveCompositeScriptReferenceremove_ResolveCompositeScriptReferenceget_ScriptManager_ResolveCompositeScriptReferenceOnResolveCompositeScriptReferenceadd_ResolveScriptReferenceremove_ResolveScriptReferenceget_ScriptManager_ResolveScriptReferenceOnResolveScriptReferenceTryRegisterNamedClientScriptResourceUsingScriptReferencescriptReferencePolicyReferenceAddAssemblyReferencereferenceXmlSchemaSequenceCheckIfCollectionSequencerootSequenceforceSystem.Web.UI.WebControls.IDataBoundControl.DataSourceget_DataSourceControlExtender_TargetControlMustImplementIDataSourceSystem.Web.UI.WebControls.IDataBoundControl.get_DataSourceSystem.Web.UI.WebControls.IDataBoundControl.set_DataSourceget_MethodExpression_DataSourceMustBeIDynamicDataSourceCreatePagedDataSourceCreateServerPagedDataSourceListViewPagedDataSourceget_QueryExtender_DataSourceMustBeIQueryableDataSourceModelDataSourcemodelDataSourceLinqDataSourceContextDataSource_dataSourceRead10_MetadataSourceWrite10_MetadataSourceRead2_MetadataSourceWrite2_MetadataSourceid7_MetadataSourceid8_MetadataSourceget_CommandSource_commandSourceGetSourceeventSourceget_WebResourceget_WebResourceUtil_SystemWebExtensionsDoesNotContainReleaseWebResourceget_WebResourceUtil_AssemblyDoesNotContainReleaseWebResourceVerifyAssemblyContainsReleaseWebResourceget_WebResourceUtil_AssemblyDoesNotContainDebugWebResourceVerifyAssemblyContainsDebugWebResourceAssemblyContainsWebResourceget_WebResourceUtil_AssemblyDoesNotContainEmbeddedResourceWriteResourcehasDebugResourceApplyFallbackResourceget_ScriptResourceHandler_UnknownResourceThrowUnknownResourceRegisterNamedClientScriptResourceSystem.Web.UI.IScriptManager.RegisterClientScriptResourceUpgradeDividegeneratedCodeGetTypeCodeget_ReferenceGroup_FailedToGenerateCodeSystem.Collections.IEqualityComparer.GetHashCodeGenerateGetHashCodehashCodeOpCodeGetHttpCodehttpCodeget_StatusCodeset_StatusCodeget_SubStatusCodeset_SubStatusCodeget_ProxyHelper_BadStatusCodeHttpStatusCodestatusCodeget_WebServiceErrorEventCode_webServiceErrorEventCodeget_EffectiveClientIDModePersistenceModeFileModeget_UpdatePanel_UpdateModeget_UpdateModeset_UpdateModeUpdatePanelUpdateMode_updateModeget_ScriptManager_AsyncPostBackNotInPartialRenderingMode_debugModeRefreshModeSetAsyncPostBackMode_asyncPostBackModeget_ScriptManager_AjaxFrameworkModeget_AjaxFrameworkModeset_AjaxFrameworkModeget_ScriptManager_CannotChangeAjaxFrameworkMode_ajaxFrameworkModeget_CancelModeListViewCancelMode_cancelModeSystem.Web.UI.IControl.DesignModeSystem.Web.UI.IControl.get_DesignModeCompressionModeget_UpdatePanel_RenderModeget_RenderModeset_RenderModeUpdatePanelRenderMode_renderModeAspNetCompatibilityRequirementsModeget_KeepInEditModeset_KeepInEditMode_keepInEditModeget_ScriptReference_ScriptModeget_ScriptManager_ScriptModeget_ScriptModeset_ScriptModeget_EffectiveScriptMode_scriptModeget_KeepInInsertModeset_KeepInInsertMode_keepInInsertModeInstanceContextModeajaxModeConcurrencyModeXmlNodeUnknownNodeHtmlDecodeget_Unicodeget_EncodeHtmlAttributeEncodefEncodeJavaScriptStringEncodeUrlPathEncodeget_DynamicControlBase_HtmlEncodeUrlEncode_encodemodeSystem.Web.UI.IScriptManager.RegisterClientScriptIncludeSystem.Web.UI.IClientScriptManager.RegisterClientScriptIncludeincludeInControlTreeSetMaxAgeget_IPageget_Pageget_ScriptRegistrationManager_ControlNotOnPageget_CanPageget_LinqDataSource_AutoPageget_AutoPageset_AutoPage_autoPageMasterPageget_EnablePreviousPageget_IsLastPageget_EnableNextPageOutputEmptyPageImage_pageAverageSystem.IO.IsolatedStorageuseIsolatedStorageUsingIsolatedStoragem_Messageget_Messageget_ReferenceGroup_FieldDefinedInOneOfDuplicatedMessageget_ReferenceGroup_FieldDefinedDifferentlyInDuplicatedMessageget_UnhandledExceptionEventLogMessageOperationMessageget_ScriptManager_AsyncPostBackErrorMessageget_AsyncPostBackErrorMessageset_AsyncPostBackErrorMessage_asyncPostBackErrorMessageConvertToBuildProviderErrorMessageerrorMessagemessageAddRangeMetadataExchangeCompareExchangeGetCookiesFromIECacheget_Cache_assemblyContainsWebResourceCacheTargetControlTypeCache_targetControlTypeCache_cultureCachePrepareResponseCache_ajaxAssemblyAttributeCache_scriptPathCachecultureScriptBlockCacheDisableKernelCache_urlCache_versionCacheAppLevelCompilationSectionCacheDeploymentSectionCachePrepareResponseNoCache_assemblyInfoCacheCreateSystemWebExtensionsCache_systemWebExtensionsCacheResetCache_docCommentCache_scriptCacheget_GlobalAssemblyCache_assemblyCacheAppendCookieStoreCookieadd_CreatingCookieremove_CreatingCookieOnCreatingCookie_creatingCookieSetAuthCookieLockCookieHttpCookieGetCookieSetCookiesetCookiecreatePersistentCookiecookieTakeEndInvokeBeginInvokeMethodInfoInvokeITableMetaTableCreateContextAndTableget_NameTableXmlNameTableHtmlTableknownItemTableFastStringLookupTableGetTableIsApplicableapplicableget_DataPager_ControlIsntPageableIsTypeShareableSystem.Web.UI.WebControls.IPageableItemContainer.TotalRowCountAvailableSystem.Web.UI.WebControls.IPageableItemContainer.add_TotalRowCountAvailableSystem.Web.UI.WebControls.IPageableItemContainer.remove_TotalRowCountAvailableOnTotalRowCountAvailableEventTotalRowCountAvailableisNullableget_Timer_TimerEnableIEnumerableSerializeEnumerableenumerableIDisposableSystem.Web.IHttpHandler.IsReusableSystem.Web.IHttpHandler.get_IsReusable_table_KnownTypesHashtableget_ScriptControlDescriptor_IDNotSettableIQueryableIDynamicQueryabledynamicQueryableAsQueryableGetQueryableCreateSortQueryable_queryableISerializableset_GenerateSerializableget_IsSerializableget_DataPagerField_Visibleget_Visibleset_Visibleget_ExpressionParser_MethodsAreInaccessibleIsArrayListCompatibleIConvertibleDoubleget_ParticleXmlSchemaParticlefileHandleRuntimeTypeHandleGetTypeFromHandleSingleid10_MetadataFileRead13_MetadataFileWrite13_MetadataFileRead5_MetadataFileWrite5_MetadataFileid9_MetadataFilem_MetadataFileget_MetadataFileReadMetadataFileLoadMetadataFileWriteMetadataFilemetadataFileCreateCodeFileIsolatedStorageFileWriteFilem_IsExistingFileget_IsExistingFileset_IsExistingFileExternalFileVirtualFilewsdlFileid11_ExtensionFileid12_ExtensionFileRead14_ExtensionFileWrite14_ExtensionFileRead6_ExtensionFileWrite6_ExtensionFileReadExtensionFileLoadExtensionFileWriteExtensionFileextensionFileDataSvcMapFilesvcMapFileReadMapFileLoadMapFileGenerateCodeFromDataServiceMapFileGenerateCodeFromServiceMapFileValidateMapFileSaveMapFilemapFileGetFileTransmitFileSystem.Web.Profileget_ProfileGetProfileSetProfileprofileIsVolatilethrowOnPopulatedRoleCreateRoleDeleteRoleIsUserInRoleIsCurrentUserInRoleIsInRoleFindUsersInRoleGetUsersInRoleroleTupleSystem.Web.UI.IPage.TitleSystem.Web.UI.IPage.get_TitleSystem.Web.UI.IPage.set_TitleSetPageTitletitleDefineDynamicModuleIHttpModuleScriptModuleget_ManifestModulemoduleCreateControlStyleget_BorderStyleset_BorderStyleHtmlTextWriterStyleid14_Nameget_ScriptReference_Namem_Nameget_Nameset_NameGetEraNameeraNameget_QualifiedNametypeQualifiedNameXmlQualifiedNameannotationQualifiedNameget_AssemblyQualifiedNameServerTypeFieldNamehiddenFieldNameget_LinqDataSourceView_InvalidOrderByFieldNameget_CommandNameset_CommandNamecommandNameget_MethodNameset_MethodNameWCFProxyMethodName_methodNameget_ResourceNameset_ResourceName_displayNameResourceNamereleaseResourceNameget_EffectiveResourceNameget_StringResourceName_stringResourceNamedebugResourceName_descriptionResourceNameGetResourceNameget_ScriptResourceName_scriptResourceNamerawResourceName_resourceNameDecodeNameget_MessageNamecookieNameget_LinqDataSource_TableNameget_FilterRepeater_TableNameget_TableNameset_TableNameGetPartialDBFileNameGetFullDBFileNameid13_FileNameid16_FileNamem_FileNameget_FileNameset_FileNameget_ReferenceGroup_InvalidFileName_profileServiceFileName_roleServiceFileName_authenticationServiceFileNameIsLocalFileNameget_MapFileNameGetFileNameGetDefaultFileNamefileNameroleNameget_ReferenceGroup_TwoExternalFilesWithSameNameid47_TypeNamem_TypeNameget_TypeNameset_TypeNameGetSchemaTypeNameget_BaseTypeNameitemTypeName_GetCredentialsTypeNameGetTypeNamedefaultTypeNameget_StringResourceClientTypeName_stringResourceClientTypeNameGetClientTypeNameget_LinqDataSource_ContextTypeNameget_ContextTypeNameset_ContextTypeName_contextTypeNameget_EntityTypeNameset_EntityTypeName_entityTypeNameWCFProxyTypeNameGetProxyTypeName_typeNameget_CultureNameAddCultureNamereleaseNameget_SiteNameget_AttributeNameattributeNametagNameGetDebugNameFrameworkNameget_LocalNameActualTypeLocalNameEnumerationValueLocalNameStringLocalNamelocalNameget_FullName_paramNameGetSchemaItemNameGetUrlFromNameget_ApplicationNameset_ApplicationNamem_ConfigurationNameget_ConfigurationNameset_ConfigurationNamePatchConfigurationNameconfigurationNameget_ActualTypeAnnotationNameactualTypeAnnotationNameget_EnumerationValueAnnotationNameenumerationValueAnnotationName_propNamepathOrNameget_JSON_InvalidMemberNameDeserializeMemberNamememberNameget_ProviderNameset_ProviderName_providerNameget_UserNameset_UserNameget_LastLoggedInUserNameset_LastLoggedInUserName_curUserNameGetUserName_userNameget_ParameterNameget_LinqDataSourceView_InvalidParameterNameValidateParameterNameGetJsonpCallbackParameterNameget_ScriptReference_AssemblyRequiresNameGetNameSystem.Web.DynamicData.IDynamicDataSource.EntitySetNameSystem.Web.DynamicData.IDynamicDataSource.get_EntitySetNameSystem.Web.DynamicData.IDynamicDataSource.set_EntitySetName_entitySetNameget_ElementNameget_AsyncPostBackTrigger_EventNameget_EventNameset_EventName_eventNameget_ScriptNameget_ScriptReference_InvalidReleaseScriptName_scriptNameportNameGetListNameget_LinqDataSource_InvalidViewNameDefaultViewNameviewNameGetDataObjectTypeByNameFindUsersByNameget_LinqDataSource_DisplayNameget_DisplayNamereferenceDisplayNamearrayNameid49_AssemblyNamem_AssemblyNameget_AssemblyNameset_AssemblyNameassemblyNameWebRefDirectoryNameGetDirectoryNameget_PropertyNameset_PropertyNamefullPropertyName_propertyName_namefilenameusernameGetAssemblyModifiedTimeget_UtcDateTimeSerializeDateTimeDeserializeStringIntoDateTimeIsNextElementDateTimeGetLastWriteTimeupdateSaveTimeToUniversalTime_firstTimedatetimeHttpRuntimeget_Common_GreaterThanOrEqualToZeroAndLessThanOrEqualToOneExactlyOneAppendLineWriteLineget_NewLineCombineget_IsOfflineset_IsOfflineStoreIsOfflineFetchIsOfflineInlineuserIsOnlineGetNumberOfUsersOnlineNoneCloneget_JSON_BadEscapeget_ExpressionParser_NoItInScopeIDTypeget_Typeset_TypeXmlSchemaTypeRead12_MetadataTypeWrite12_MetadataTypeRead4_MetadataTypeWrite4_MetadataTypeid15_MetadataTypeid17_MetadataTypem_MetadataTypeGetMetaTypeIsNumericTypeFindGenericTypeMakeGenericType_enumerableGenericTypeget_IsGenericType_listGenericType_dictionaryGenericType_idictionaryGenericTypeGetFuncTypeSystem.Web.Compilation.WCFModel.IContractGeneratorReferenceTypeLoader.LoadTypeRead2_ReferencedTypeWrite2_ReferencedTypeid48_ReferencedTypeid26_ExcludedTypeneedTypeGetCompiledTypeIsPredefinedTypeget_ReflectedTypeget_ProxyGenerator_UnsupportedTypeget_PagerFieldCollection_InvalidTypeget_Common_ArgumentInvalidTypeget_FieldTypeget_OfTypeExpression_CannotFindTypeGetSqlCeTypeIsWCFServiceTypeIsWebServiceType_authenticationServiceTypeserviceTypeget_NodeTypeXmlNodeTypeIsPageTypeRangeTyperangeTypeValidateTableTypeGetNonNullableTypeUnwrapNullableTypeIsNullableTypeFindGenericEnumerableTypeIsClientInstantiatableTypeget_FileTypeset_FileTypeDetermineFileTypefileTypeXmlSchemaSimpleTypesimpleTypeDefineTypeget_BaseTypeCreateTypeget_AttributeTypeIsNonNullableValueTypeget_IsValueTypeResolveTypeIsInstanceOfTypeget_DeclaringTypeGetUnderlyingTypeget_SearchTypeset_SearchTypeWriteXsiTypeGetXsiTypecheckTypeIsSignedIntegralTypeIsUnsignedIntegralTypeImportActualType_actualTypeset_ImportXmlTypeextenderControlTypeget_TargetControlTypeVerifyTargetControlType_targetControlType_SqlCeParamType_paramTypeget_ItemTypeSchemaTopLevelItemTypeListItemTypeListViewItemType_itemTypeGetAssemblyFromTypeget_JSON_InvalidEnumTypeIsEnumTypeget_MinTypeset_MinTypeextensionTypeExpressionTypeget_AuthenticationTypeauthenticationTypeset_ValidationTypedestinationTypeid50_ReferencedCollectionTypeRead5_ReferencedCollectionTypeWrite5_ReferencedCollectionType_SqlCeConnectionTypeget_ComparisonTypeset_ComparisonTypeget_NumericPagerField_ButtonTypeget_NextPreviousPagerField_ButtonTypeget_ButtonTypeset_ButtonTypeget_ReturnTypeget_WebService_InvalidXmlReturnTypereturnTypeCreateKnownTypeget_ConvertersCollection_UnknownType_nameToTypeget_JSON_CannotConvertObjectToTypeTryConvertObjectToTypeConvertToType_propTypeget_MemberTypeget_EventHandlerTypeget_ParameterTypeGetClientTypeFromServerTypeRead6_ProxySerializerTypeWrite6_ProxySerializerTypeConverterExistsForType_GetCredentialsTypeaddressTypem_ContractTypeget_ContractTypeset_ContractTypeid42_ReferencedDataContractTypeGeneratedContractTypeGenerateServiceContractTypecontractTypeGetDataObjectTypedataObjectTypeget_MethodExpression_FirstParamterMustBeCorrectTypeGetTypeget_EntitySetTypeGetEntitySetType_entitySetTypetargetTypeitTyperesultTypeProcessClientTypeget_ElementTypeGetElementTypeelementTypeget_ContentTypeset_ContentType_contentTypeget_ScriptTypeRegisteredScriptTypeget_WebService_InvalidGenerateScriptType_scriptTypeget_LinqDataSourceView_CannotConvertTypeget_PortTyperequestTypeget_JSON_CannotCreateListTypeSystem.Web.DynamicData.IDynamicDataSource.ContextTypeSystem.Web.DynamicData.IDynamicDataSource.get_ContextTypeSystem.Web.DynamicData.IDynamicDataSource.set_ContextTypeget_LinqDataSourceView_InvalidContextTypeValidateContextType_contextTypeget_MaxTypeset_MaxTypeXmlSchemaComplexTypeXmlSeverityTypeget_EntityType_entityTypeget_PropertyTypeget_LinqDataSourceView_InvalidTablePropertyType<>3__typeGeneratePrototypeCompareget_LinqDataSource_Whereget_Whereset_Where_whereSystem.CoreGetPropertyValuesFromWebCoreSetPropertyValuesWebCoreValidateUserCoreGetRolesForUserCoreGetPropertyValuesCoreSetPropertyValuesCoreid16_Ignoreid18_Ignorem_Ignoreget_Ignoreset_IgnoreuseIsolatedStore_UsingIsolatedStoreGetLastUserNameFromOffileStoreStoreLastUserNameInOffileStoreValidateUserWithOfflineStore_UsingFileSystemStoreLogWebResourceFailureensureSignatureget_CurrentUICultureset_CurrentUICultureget_Cultureset_CultureresourceCultureDetermineNearestAvailableCultureDetermineCultureGetAssemblyNeutralCultureget_InvariantCultureget_CurrentCulturecultureCaptureobjectsInUseMethodBaseScriptReferenceBaseget_CodeBaseVirtualFileBaseProfileBaseHttpResponseBaseHttpResponseInternalBaseurlBaseNameObjectCollectionBaseXmlSchemaGroupBaseProviderBaseConfigurationValidatorBaseHttpCapabilitiesBaseHttpBrowserCapabilitiesBaseApplicationSettingsBaseHttpRequestBaseHttpContextBaseHttpCachePolicyBaseHttpServerUtilityBaseFilterNameIgnoreCaseget_OrdinalIgnoreCaseget_DatabaseReleaseRaiseOrElseSystem.Web.UI.IPage.ResponseSystem.Web.UI.IPage.get_ResponseHttpWebResponseendResponseget_UseXmlResponseGetCookiesFromResponseget_ClientService_BadJsonResponseHttpResponse_httpResponseCreateWebRequestAndGetResponseresponsePurposeSystem.IDisposable.DisposeSystem.Web.IHttpModule.DisposeSystem.Web.UI.IScriptManager.RegisterDisposeget_RegisterDisposeset_RegisterDispose_registerDisposeTryParseget_LinqDataSource_AutoGenerateWhereClauseget_AutoGenerateWhereClauseset_AutoGenerateWhereClause_autoGenerateWhereClauseGetWhereClauseget_ExpressionParser_MissingAsClauseget_LinqDataSource_AutoGenerateOrderByClauseget_AutoGenerateOrderByClauseset_AutoGenerateOrderByClause_autoGenerateOrderByClauseGetOrderByClause_CacheExpiryDateget_UpdatePanel_UpdateTooLateget_ScriptControlManager_RegisterExtenderControlTooLateget_ScriptControlManager_RegisterScriptControlTooLatepredicateSystem.Web.UI.IPage.ValidateOnValidateMembershipValidateget_ListView_InvalidUpdateget_LinqDataSource_EnableUpdateget_EnableUpdateset_EnableUpdate_enableUpdateHandleUpdate_updatePanelsRequireUpdateExecuteUpdateget_CanUpdateget_RequiresUpdate_updatePanelRequiresUpdate_explicitUpdateContextCreateTryCreateNegateSystem.Web.UI.IPage.SetRenderMethodDelegateSystem.Web.UI.IHtmlForm.SetRenderMethodDelegateMakeDelegateCreateDelegateIsBundleVirtualPathDelegateGetBundleUrlDelegateSystem.Web.UI.IPage.SetPostFormRenderDelegateGetBundleContentsDelegateBundleResolverCurrentDelegateMulticastDelegateget_ExpressionParser_NoApplicableAggregateParseAggregateadd_Navigateremove_Navigateget_ScriptManager_NavigateRaiseNavigateITemplateget_EmptyDataTemplateset_EmptyDataTemplateget_ListView_EmptyDataTemplate_instantiatedEmptyDataTemplateInstantiateEmptyDataTemplate_emptyDataTemplateIBindableTemplateget_ItemTemplateset_ItemTemplateget_ListView_ItemTemplateget_SelectedItemTemplateset_SelectedItemTemplateget_ListView_SelectedItemTemplate_selectedItemTemplateInstantiateItemTemplateget_AlternatingItemTemplateset_AlternatingItemTemplateget_ListView_AlternatingItemTemplate_alternatingItemTemplateget_EditItemTemplateset_EditItemTemplateget_ListView_EditItemTemplate_editItemTemplateget_InsertItemTemplateset_InsertItemTemplateget_ListView_InsertItemTemplateInstantiateInsertItemTemplate_insertItemTemplateget_EmptyItemTemplateset_EmptyItemTemplateget_ListView_EmptyItemTemplateInstantiateEmptyItemTemplate_emptyItemTemplate_itemTemplateget_GroupTemplateset_GroupTemplateget_ListView_GroupTemplateInstantiateGroupTemplateget_ListView_GroupItemCountNoGroupTemplate_groupTemplateget_TemplatePagerField_PagerTemplateget_PagerTemplateset_PagerTemplate_pagerTemplateget_ItemSeparatorTemplateset_ItemSeparatorTemplateget_ListView_ItemSeparatorTemplateInstantiateItemSeparatorTemplate_itemSeparatorTemplateget_GroupSeparatorTemplateset_GroupSeparatorTemplateget_ListView_GroupSeparatorTemplateInstantiateGroupSeparatorTemplate_groupSeparatorTemplateget_UpdateProgress_ProgressTemplateget_ProgressTemplateset_ProgressTemplate_progressTemplateget_ContentTemplateset_ContentTemplateget_UpdatePanel_CannotSetContentTemplate_contentTemplateget_LayoutTemplateset_LayoutTemplateget_ListView_LayoutTemplateEnsureLayoutTemplateCreateLayoutTemplate_layoutTemplateget_StatesavedStateEditorBrowsableState_initialStateget_ModelStateLoadControlStateSaveControlStateRegisterRequiresControlStateSystem.Web.SessionStateIRequiresSessionStateGetJsonStateserverStatem_ErrorGeneratorStateget_ErrorGeneratorStategeneratorStateLoadDataKeysStateSaveDataKeysStateLoadClientIDRowSuffixDataKeysStateSaveClientIDRowSuffixDataKeysStateadd_PostAcquireRequestStateOnPostAcquireRequestStateget_ViewStateSystem.Web.UI.IStateManager.LoadViewStateClearChildViewStateSystem.Web.UI.IStateManager.SaveViewStateSystem.Web.UI.IStateManager.IsTrackingViewStateSystem.Web.UI.IStateManager.get_IsTrackingViewStateSystem.Web.UI.IStateManager.TrackViewState_trackViewStateget_LinqDataSource_StoreOriginalValuesInViewStateget_StoreOriginalValuesInViewStateset_StoreOriginalValuesInViewState_storeOriginalValuesInViewState_viewStateWebForms_ScriptManager_HistoryStateLoadHistoryStateget_ScriptManager_EnableSecureHistoryStateget_EnableSecureHistoryStateset_EnableSecureHistoryState_enableSecureHistoryStateGetOriginalEntityState<>1__stateget_ListView_InvalidDeleteget_LinqDataSource_EnableDeleteget_EnableDeleteset_EnableDelete_enableDeleteHandleDeleteExecuteDeleteget_CanDeleteSystem.Web.UI.IPage.LoadCompleteSystem.Web.UI.IPage.add_LoadCompleteSystem.Web.UI.IPage.remove_LoadCompleteOnPageLoadCompleteOnRemoveCompleteOnClearCompleteSystem.Web.UI.IPage.PreRenderCompleteSystem.Web.UI.IPage.add_PreRenderCompleteSystem.Web.UI.IPage.remove_PreRenderCompleteOnPagePreRenderCompleteget_AuthenticationIsCompleteset_AuthenticationIsComplete_authenticationIsCompleteSystem.Web.UI.IPage.InitCompleteSystem.Web.UI.IPage.add_InitCompleteSystem.Web.UI.IPage.remove_InitCompleteOnPageInitCompleteOnInsertCompletearrToWriteBinaryWriteQuoteXmlSchemaAttributeAddAttributeCompilerGeneratedAttributeWebMethodAttribute_webMethodAttributeScriptMethodAttribute_scriptMethodAttributeActualTypeNamespaceAttributeget_WebService_NoScriptServiceAttributeTemplateInstanceAttributeWebResourceAttributeScriptResourceAttributeGeneratedCodeAttributeDebuggerNonUserCodeAttributePersistenceModeAttributeAttributeUsageAttributeNeutralResourcesLanguageAttributeThemeableAttributeDebuggableAttributeEditorBrowsableAttributeLocalizableAttributeComVisibleAttributeAssemblyKeyFileAttributeAssemblyTitleAttributeAddStyleAttributeActualTypeNameAttributeResourceDisplayNameAttributeIteratorStateMachineAttributeTargetControlTypeAttributeServiceKnownTypeAttributeGenerateScriptTypeAttributeXmlIgnoreAttributeCheckScriptIgnoreAttributeObsoleteAttributeWriteAttributeXmlAttributeAttributeXmlAnyAttributeAttributeResourceDefaultValueAttributeSecuritySafeCriticalAttributeSecurityCriticalAttributeXmlAttributeNonVisualControlAttributeToolboxItemAttributeXmlArrayItemAttributeGetCustomAttributeXmlEnumAttributeDebuggerHiddenAttributeParseChildrenAttributePersistChildrenAttributeAssemblyDelaySignAttributeExtensionAttributeAssemblyFileVersionAttributeAssemblyInformationalVersionAttributeSatelliteContractVersionAttributeFileIOPermissionAttributeConfigurationPermissionAttributeSecurityPermissionAttributeSupportsEventValidationAttributeConfigurationCollectionAttributeResourceDescriptionAttributeWebSysDescriptionAttributeAssemblyDescriptionAttributeInternalsVisibleToAttributeRegisteredExpandoAttributeSystem.Web.UI.IScriptManager.RegisterExpandoAttributeToolboxBitmapAttributeDataMemberAttributeDefaultMemberAttributeDesignerAttributeTemplateContainerAttributeHtmlTextWriterAttributeTypeConverterAttributeServiceBehaviorAttributeStringValidatorAttributeEditorAttributeAssemblyDefaultAliasAttributeSecurityRulesAttributeDefaultDllImportSearchPathsAttributeIsXmlnsAttributeCompilationRelaxationsAttributeAllowPartiallyTrustedCallersAttributeAspNetCompatibilityRequirementsAttributeDataContractAttributePatchConfigurationNameInServiceContractAttributeOperationContractAttributeAssemblyProductAttributeSystem.Web.UI.IAttributeAccessor.GetAttributeSystem.Web.UI.IAttributeAccessor.SetAttributePermissionSetAttributeAssemblyCopyrightAttributeCLSCompliantAttributeXmlElementAttributeXmlAnyElementAttributeDefaultEventAttributeXmlRootAttributeget_OutAttributeoutAttributeMoveToNextAttributeXmlTextAttributeTagPrefixAttributeXmlArrayAttributeParamArrayAttributeDependencyAttributeBitmapSuffixInSatelliteAssemblyAttributeSafeGetAjaxFrameworkAssemblyAttributeAssemblyCompanyAttributeWebCategoryAttributeResourceCategoryAttributeDesignerSerializationVisibilityAttributeRuntimeCompatibilityAttributeIDReferencePropertyAttributeMergablePropertyAttributeControlValuePropertyAttributeUrlPropertyAttributeConfigurationPropertyAttributeCssClassPropertyAttributeDefaultPropertyAttributeNotifyParentPropertyAttributeDataKeyPropertyAttributeCanExecuteToAbsoluteget_ExpiresAbsoluteset_ExpiresAbsoluteget_MinuteSByteTValueid15_Valuem_Valueget_Valueset_ValueAddValueget_SelectedValueget_SerializedValueset_SerializedValuehiddenFieldValueAppendValuecookieValueset_DisplayNameValueSetStateValueWriteValueattributeValueSerializeValueGetTagValueSetTagValuetagValueget_QueryStringValueget_InitialValuehiddenFieldInitialValue_initialValueoriginalValueparamValueset_DescriptionValueget_HasValueContainsValueBuildObjectValueFieldInfoGetValueTryGetValueSetValueget_DefaultValueset_DefaultValue_defaultValueget_ExpressionParser_CannotConvertValuenewValuearrayValueSerializeDictionaryKeyValueget_PropertyValueset_PropertyValueSettingsPropertyValueGetPropertyValuepropertyValue_valueSaveInclusiveExclusiveParseMultiplicativeMakeRelativeEnsureAbsoluteOrAppRelativeIsControlRegistrationActivepageAlwaysActiveParseAdditiveget_JSON_IllegalPrimitiveget_IsPrimitiveSystem.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.RemoveBaseRemoveTryRemoveget_DataPager_PageSizeget_PageSizeset_PageSizepageSizedwSizeCanSerializeobjectToSerializeBasicDeserializeCanDeserializeInitializeSuppressFinalizesizeIsSubclassOfLastIndexOfscriptRefget_IsByRefkeywordIifParseIifStateBag_stateBag_SQL_CE_Tag_SQL_FILES_Tag_Isolated_Storage_TagRenderEndTagget_ScriptRegistrationManager_NoCloseTagWriteBeginTagRenderBeginTagHtmlTextWriterTagset_WrappedFlagRuntimeConfigGetToolConfigGetDebugFromConfigGetRetailFromConfigGetAppConfigconfig_propEnableForReadingSystem.Threadingm_ErrorInLoadingget_ErrorInLoadingset_ErrorInLoadingAscendingOrderByDescendingget_Bindingid24_EnableDataBindingm_EnableDataBindingget_EnableDataBindingset_EnableDataBindingPerformDataBindingOnDataBindingget_RequiresDataBindingset_RequiresDataBindingget_ListView_DataSourceMustBeCollectionWhenNotDataBindingdataBindingGenerateBindingget_WsdlBindingwsdlBindingSystem.Web.ModelBindingHttpBindingMemberBindingSoap12AddressBindingSoapAddressBindingUTF8EncodingexpectedEncodingget_HeaderEncodingset_HeaderEncodingget_CurrentEncodingget_ContentEncodingset_ContentEncodingencodingExecutePagingget_AllowServerPagingset_AllowServerPaging_allowServerPagingget_ListView_DataSourceDoesntSupportPagingadd_PagePropertiesChangingremove_PagePropertiesChangingget_ListView_OnPagePropertiesChangingEventPagePropertiesChangingadd_SelectedIndexChangingremove_SelectedIndexChangingget_ListView_OnSelectedIndexChangingEventSelectedIndexChangingSystem.Web.Cachingget_EnableCachingset_EnableCaching_propEnableCachings_enableCachingSetNoServerCaching_isTrackingget_LinqDataSource_EnableObjectTrackingget_EnableObjectTrackingset_EnableObjectTracking_enableObjectTracking_trackingget_NextSiblingget_UseLegacyClientServicesJsonHandlingadd_ItemCancelingremove_ItemCancelingget_ListView_OnItemCancelingEventItemCancelingSystem.Runtime.Versioningm_IsWarningget_IsWarningisWarningSystem.Data.Linq.Mappingget_Mappingid31_NamespaceMappingRead3_NamespaceMappingWrite3_NamespaceMappingIScriptResourceMappingget_ScriptResourceMapping_scriptResourceMappingid33_CollectionMappingid45_ContractMappingRead8_ContractMappingWrite8_ContractMappingid44_ServiceContractMappingVirtualDirectoryMappingget_ScriptManager_EnablePartialRenderingget_EnablePartialRenderingset_EnablePartialRenderingget_ScriptManager_CannotChangeEnablePartialRendering_enablePartialRenderingget_IsInPartialRenderingget_SupportsPartialRenderingset_SupportsPartialRenderingget_ScriptManager_CannotChangeSupportsPartialRendering_supportsPartialRenderingget_EnableLegacyRenderingDynamicOrderingParseOrderingorderingFromBase64StringToBase64Stringget_JSON_UnterminatedStringdecryptedStringGetLocalizedStringEncodeStringGetStringFromSecureStringGetResponseStringValidateStringGetStateStringget_XmlSerializeStringset_XmlSerializeString_xmlSerializeStringDeserializeStringGetDebugStringget_CombinedHashStringIsWellFormedUriStringMakeValidTypeNameFromStringGetSecureStringFromStringConvertFromStringget_ConnectionStringIsSpecialConnectionStringGetConnectionStringGetDefaultConnectionStringconnectionStringWriteExceptionJsonStringXmlSerializeObjectToStringReadContentAsStringget_MaxOccursStringget_DynamicControlBase_DataFormatStringGetStringConvertFromInvariantStringConvertToInvariantStringReadElementStringWriteElementStringIsNextElementStringJavaScriptStringDecryptStringEncryptStringget_QueryStringParseQueryStringGetStartRowIndexFromQueryStringCreateDataPagersForQueryStringSubstringadd_ContextDisposingget_LinqDataSource_ContextDisposingremove_ContextDisposingOnContextDisposingEventContextDisposingdisposingWSAddressingadd_Authenticatingremove_AuthenticatingOnAuthenticating_authenticatingadd_Updatingget_LinqDataSource_Updatingremove_Updatingadd_ItemUpdatingremove_ItemUpdatingget_ListView_OnItemUpdatingEventItemUpdatingOnUpdatingEventUpdatingadd_ContextCreatingget_LinqDataSource_ContextCreatingremove_ContextCreatingOnContextCreatingEventContextCreatingget_IsNavigating_isNavigatingadd_Selectingget_LinqDataSource_Selectingremove_SelectingOnSelectingEventSelectingselectingadd_RedirectingHttpResponse_Redirectingadd_Deletingget_LinqDataSource_Deletingremove_Deletingadd_ItemDeletingremove_ItemDeletingget_ListView_OnItemDeletingEventItemDeletingOnDeletingEventDeletingadd_ItemEditingremove_ItemEditingget_ListView_OnItemEditingEventItemEditing_propEnableForWritingget_Scriptingadd_Insertingget_LinqDataSource_Insertingremove_Insertingadd_ItemInsertingremove_ItemInsertingget_ListView_OnItemInsertingEventItemInsertingOnInsertingEventInsertingadd_Sortingremove_Sortingget_Category_SortingExecuteSortingget_ListView_OnSortingEventSortingSystem.Web.HostingSystem.Drawingadd_Queryingremove_QueryingOnQuerying_queryingget_IsULongisULongget_ScriptResourceHandler_ResourceUrlTooLongAppendToLogget_WebService_MissingArgmsgget_Debugget_IsDebug_isDebug_debugAttachusernameToMatchemailToMatchIsMatchget_ReferenceGroup_ServiceContractMappingMissMatchget_ScriptResourceHandler_TypeNameMismatchget_ExpressionParser_ExpressionTypeMismatchget_JSON_DeserializerTypeMismatchEnsureObjectGraphget_PasswordHashset_PasswordHash_SavePasswordHashGetFileHashComputeHashComputeStringHashAppendTrailingSlashRemoveTrailingSlashGetIsCacheMoreFreshSetIsCacheMoreFreshget_SettingsCacheIsMoreFreshset_SettingsCacheIsMoreFreshcacheIsMoreFresh_childUpdatePanelsToRefresh_updatePanelsToRefreshFlushMathget_ServiceReference_Pathget_ScriptReference_Pathget_ApplicationServiceManager_Pathget_Pathset_Pathget_UserAppDataPathget_ScriptResourceDefinition_InvalidPathget_FilePathget_AppRelativeCurrentExecutionFilePath_mapFilePathCombinePathunsecurePathreleasePathvalidatePathget_ScriptResourceAbsolutePath_scriptResourceAbsolutePathIsAppRelativePathappRelativePathget_EffectivePathGetEffectivePathget_DebugPathset_DebugPathpredeterminedDebugPathget_CdnDebugPathset_CdnDebugPath_cdnDebugPathGetDebugPath_debugPathDllImportSearchPathfallbackPathget_ApplicationPhysicalPathget_LocalPathget_VirtualPathIsBundleVirtualPathget_WebService_InvalidInlineVirtualPathSystem.Web.UI.IPage.AppRelativeVirtualPathSystem.Web.UI.IPage.get_AppRelativeVirtualPathCreateInstanceFromVirtualPathget_AppDomainAppVirtualPathGetAppDomainAppVirtualPathwebReferencesRootVirtualPathGetWebRefDirectoryVirtualPathvirtualPathUrlPathGetUrlFromPathget_CdnPathset_CdnPathGetSecureCdnPathuseCdnPath_cdnPathMapPathGetPathget_RoleServiceManager_LoadRolesWithNonDefaultPathget_ProfileServiceManager_LoadProperitesWithNonDefaultPathget_ScriptManager_ScriptPathget_ScriptPathset_ScriptPathget_ScriptReference_IgnoreScriptPathget_IgnoreScriptPathset_IgnoreScriptPath_ignoreScriptPathget_ScriptReference_InvalidReleaseScriptPathGetScriptPath_scriptPathGetProxyPath_pathget_Widthset_Widthget_BorderWidthset_BorderWidthget_Lengthget_MinRequiredPasswordLength_maximumResourceUrlLengthget_MaxJsonLengthset_MaxJsonLengthget_JSON_InvalidMaxJsonLength_propMaxJsonLengthDefaultMaxJsonLength_maxJsonLengthset_ContentLengthget_UpdatePanelMaxScriptLengthDateTimePrefixLengthDateTimeSuffixLengthlengthIsCompatibleWithEndsWithStartsWithget_MonthBothdepthNamespaceUriget_ServiceUriset_ServiceUriGetServiceUriserviceUriget_SourceUriset_SourceUriSerializeUriserverUriIsAsmxUriuriobjget_ScriptManager_CannotAddHistoryPointOutsideOfAsyncPostBackget_IsInAsyncPostBack_isInAsyncPostBackSystem.Web.UI.IPage.IsPostBackSystem.Web.UI.IPage.get_IsPostBackAsyncCallbackHandleCommandCallbackRenderPageCallbackHandleUpdateCallbackHandleDeleteCallbackRenderFormCallbackDataSourceViewOperationCallbackHttpResponseSubstitutionCallbackget_SupportsCallbackDataSourceViewSelectCallbackHandleInsertCallbackget_ScriptManager_EnableCdnFallbackget_EnableCdnFallbackset_EnableCdnFallbackget_ScriptManager_CannotChangeEnableCdnFallback_enableCdnFallbackcallbackRollbackstackAddFrameworkLoadedCheckget_UpdateCheckadd_Tickremove_TickOnTickget_Timer_TimerTick_getMethodLockAcquireReaderLockReleaseReaderLock_creatingCookieEventHandlerLock_authenticatingEventHandlerLock_selectingProviderEventHandlerLock_validatingPropertiesEventHandlerLockDowngradeFromWriterLockUpgradeToWriterLockReaderWriterLockrwLockGetClientCultureScriptBlockRegisterGlobalizationScriptBlockSystem.Web.UI.IScriptManager.RegisterClientScriptBlockSystem.Web.UI.IClientScriptManager.RegisterClientScriptBlock_lockget_CanSeekGetArrayRankCreateNumericLinkCreateLinkHyperLinkCreateNextPrevLinkget_TargetFrameworkAsteriskpropValDeclareLocalMarshalget_CustomCredential_customCredentialDecimalget_Ordinalget_UpdatePanel_UpdateConditionalGenerateConditionalget_ElementIDInternal_elementIDInternalGetScriptFromWebResourceInternalRegisterClientScriptIncludeInternalConvertObjectToTypeInternalset_GenerateInternalSerializeValueInternalSerializeInternalDeserializeInternalRegisterClientScriptBlockInternalGetWebResourceUrlInternalGetUrlInternalLoginInternalget_SortExpressionInternalset_SortExpressionInternalget_SortDirectionInternalset_SortDirectionInternalGetAssemblyInfoInternalClearInternalIScriptManagerInternalget_DataKeyNamesInternalGetTargetControlTypesInternalSystem.Web.UI.IScriptManager.SetFocusInternalRegisterStartupScriptInternalProcessRequestInternalget_ClientIDRowSuffixInternalget_AssemblyInternalSystem.Security.PrincipalIPrincipalClientRolePrincipalWindowsPrincipalget_CurrentPrincipalset_CurrentPrincipalfalseLiteralCreateLiteraltrueLiteralWriteNullTagLiteralget_ExpressionParser_UnterminatedStringLiteralParseStringLiteralget_ExpressionParser_InvalidRealLiteralParseRealLiteralnullLiteralget_ExpressionParser_InvalidIntegerLiteralParseIntegerLiteralget_ExpressionParser_InvalidCharacterLiteralDoubleEqualGenerateEqualGenerateGreaterThanEqualGenerateLessThanEqualExclamationEqualop_GreaterThanOrEqualop_LessThanOrEqualGenerateNotEqualget_EnablePasswordRetrievalget_Intervalset_Intervalget_Timer_TimerIntervalWsdlDefineLabelMarkLabelget_Cancelget_ListView_InvalidCancelHandleCancelSystem.Web.Compilation.WCFModelImportWCFModelget_ModelMetaModelSystem.ServiceModelSystem.Collections.ObjectModelSystem.ComponentModelget_ContentModelXmlSchemaContentModelIUpdatePanelFindUpdatePanelget_UpdateProgress_NoUpdatePanelSystem.Web.UI.IScriptManagerInternal.RegisterUpdatePanelSystem.Web.UI.IScriptManagerInternal.UnregisterUpdatePanelget_ParentUpdatePanel_parentUpdatePanelget_ExtenderControl_TargetControlDifferentUpdatePanelupdatePanelRegisterPanelPartialTrustVisibilityLevelget_RequiresUniqueEmailGetUserNameByEmailFindUsersByEmailemailget_Retailget_DeploymentSectionRetail_retailSystem.Web.UtilWebResourceUtilControlUtilAssemblyUtilAllGenerateStaticMethodCallget_IsRestMethodCall_isRestMethodCallget_WebService_InvalidWebServiceCallExecuteWebServiceCallEmitCallSystem.Web.Extensions.dllwininet.dllHtmlTableCellListViewTableCellAddToCollretCollIsDBNullReadNullget_Common_PageCannotBeNullget_JSON_ValueTypeCannotBeNullget_ArgumentMustBeNullget_DynamicControlBase_ConvertEmptyStringToNullget_ConvertEmptyStringToNullset_ConvertEmptyStringToNullget_ListView_ConvertEmptyStringToNullSystem.XmlGetSchemaPropertyNameInXmlAddSymbolid21_Protocolid23_Protocolm_Protocolget_Protocolset_Protocolget_ReferenceGroup_EmptyProtocolprotocolget_ExpressionParser_FirstExprMustBeBoolAutoIDControlIControlget_ControlWebControl_focusedControl_associatedControlFindControlIDataBoundControlBaseDataBoundControlDataSourceControlpageControlget_CacheControlset_CacheControlCreateControlget_TemplateControlget_ContainingControlset_ContainingControl_containingControlRegisterAsyncPostBackControlSystem.Web.UI.IScriptManager.RegisterPostBackControlLiteralControlIButtonControlSystem.Web.UI.IHtmlForm.RenderControlIExtenderControlTExtenderControlRegisterExtenderControlAddScriptReferenceForExtenderControlextenderControlscriptManagerControlcontainerControlContainsControlIDataKeysControlFindTargetControltargetControlIScriptControlTScriptControlRegisterScriptControlAddScriptReferenceForScriptControlscriptControlIDataBoundListControlIWizardSideBarListControl_controlget_Implid3_SvcMapFileImplRead15_SvcMapFileImplWrite15_SvcMapFileImplid3_DataSvcMapFileImplRead8_DataSvcMapFileImplWrite8_DataSvcMapFileImplXmlSerializationReaderDataSvcMapFileImplXmlSerializationWriterDataSvcMapFileImplXmlSerializationReaderSvcMapFileImplXmlSerializationWriterSvcMapFileImplmapFileImplGetScriptResourceUrlImpl_implILinqToSql_linqToSqlget_UrlGetServiceUrlserviceUrlid21_SourceUrlid19_SourceUrlm_SourceUrlget_SourceUrlset_SourceUrlGetMetadataSourceUrlSystem.Web.UI.IClientScriptManager.GetWebResourceUrlScriptResourceHandler_ScriptResourceUrlEnsureAbsoluteScriptResourceUrl_absoluteScriptResourceUrlSystem.Web.Handlers.IScriptResourceHandler.GetScriptResourceUrl_scriptResourceUrlget_ScriptManager_EmptyPageUrlget_EmptyPageUrlset_EmptyPageUrlSystem.Web.Handlers.IScriptResourceHandler.GetEmptyPageUrlset_ImageUrlget_NumericPagerField_PreviousPageImageUrlget_NextPreviousPagerField_PreviousPageImageUrlget_PreviousPageImageUrlset_PreviousPageImageUrlget_NextPreviousPagerField_LastPageImageUrlget_LastPageImageUrlset_LastPageImageUrlget_NextPreviousPagerField_FirstPageImageUrlget_FirstPageImageUrlset_FirstPageImageUrlget_NumericPagerField_NextPageImageUrlget_NextPreviousPagerField_NextPageImageUrlget_NextPageImageUrlset_NextPageImageUrlimageUrlGetBundleUrlset_NavigateUrlGetQueryStringNavigateUrl_queryStringNavigateUrlIsRelativeUrlrelativeUrlResolveUrlexistingUrlget_RetrievalUrlset_RetrievalUrlFormatCdnUrlGetUrlSystem.Web.UI.IClientUrlResolver.ResolveClientUrlGetProxyUrl_urlGetManifestResourceStreamIsolatedStorageFileStreamGetResponseStreamGZipStreamGetRequestStreamget_InputStreamget_OutputStreamMemoryStream_paramSystem.Data.Metadata.Edmid2_Itemid23_Itemid5_Itemget_Itemset_Itemget_DataItemset_DataItemCreateDataItemRegisterDataItemScriptDataItemListViewDataItemCreateEmptyDataItem_dataItemmetadataItemGetNamedItemDataPagerFieldItemDocumentableItemUpdateItemCreateItemDeleteItemRemoveItemoriginalItemWizardSideBarListControlItemisItemSelectItemSetItemget_EditItemget_ListView_EditItemSetEditItemget_InsertItemget_ListView_InsertItemCreateInsertItemget_ListView_NoInsertItem_insertItemLastItemFirstItemInsertNewItemListViewItemCreateEmptyItem_itemSystemHashAlgorithmTrimSystem.CodeDomIsAssignableFromCanConvertFromSystem.Web.UI.IPage.FormSystem.Web.UI.IPage.get_Formget_ExpressionParser_TypeHasNoNullableForm_writingFormIHtmlFormSystem.Web.UI.IPage.VerifyRenderingInServerForm_formSumParseEnumCheckIfEnumrealEnumcollectionEnumClientDateStoreOrderEnumget_IsEnumImportEnumValidateByCallingIsLoggedInInstantiateInresourceManSerializeBooleanToBooleanop_GreaterThanGenerateGreaterThanIsBetterThanop_LessThanGenerateLessThanTimeSpanget_ScriptManager_EnableCdnget_EnableCdnset_EnableCdnget_ScriptManager_CannotChangeEnableCdn_enableCdnGetUrlForCdntextLenHiddenFieldTokenPageTitleTokenScriptDisposeTokenValidateTokenDeserializePrimitiveTokenUpdatePanelsToRefreshTokenScriptStartupBlockTokenScriptBlockTokenUpdatePanelTokenDataItemTokenUpdatePanelVersionTokenArrayDeclarationTokenFormActionTokenDataItemJsonTokenExpandoTokenErrorTokenChildUpdatePanelIDsTokenAsyncPostBackControlIDsTokenFocusTokenPageRedirectTokenOnSubmitTokenAsyncPostBackTimeoutTokenNextTokenGetPublicKeyTokenSetPublicKeyTokentokenOpenCloseParenOpenParenDataBindChildrenRenderChildrenSystem.Web.UI.DesignSystem.Data.DesignSystem.Drawing.DesignSystem.DesignSystem.Data.Services.DesignMinConvertObjectToTypeMainAppDomainget_CurrentDomainValidateUserByCallingLoginJoinopenConnconnReplaceExtensionget_FileExtensionRemoveExtensionContainsHttpBindingExtensionGetLanguageFromExtensionDataSvcMapExtensionAsmxEndpointPickerExtensiontypedDataSetSchemaImporterExtensionGetExtensionGetDefaultExtensionIWsdlImportExtensionIPolicyImportExtensionextensionget_Versionset_VersionFocusMinimumEcmaVersionGetAssemblyFileVersiontargetFrameworkVersionInformationalVersionget_W3CDomVersionMinimumW3CDomVersionget_ScriptManager_MustHaveGreaterVersionget_MajorVersionget_IsVersionGetPreviousVersionGetVersionget_JScriptVersionFocusMinimumJScriptVersionget_EcmaScriptVersionMinimumEcmaScriptVersionGenerateConversionget_EnableSessionRestHandlerWithSessionAsyncHandlerWrapperWithSessionget_RequiresSessionSystem.IO.Compressionget_EnableCompressionset_EnableCompression_propEnableCompressions_enableCompressionget_Expressionset_ExpressionLambdaExpressionDynamicExpressionMethodExpressionParameterDataSourceExpressionCodeExpressionGetMinRangeExpressionGetMaxRangeExpressionOfTypeExpressionCreateWhereExpressionParseExpressionPromoteExpressionCodePrimitiveExpressionSearchExpressionfallbackExpressionConditionalExpressionMethodCallExpressionCreateCallExpressionCustomExpressionParseParenExpressionminExpressionInvocationExpressionCodeParameterDeclarationExpressionget_PasswordStrengthRegularExpressionMemberExpressionParameterExpressionparameterExpressionget_LoadSuccessExpressionset_LoadSuccessExpression_loadSuccessExpressionMemberInitExpressionConstantExpressionScriptExpressionget_SortExpressionset_SortExpressionget_ListView_SortExpression_sortExpressionNewExpressionmaxExpressionCreateOrderByExpressionUnaryExpressionBinaryExpressionQueryExpressionCreatePropertyExpressionpropertyExpressionexpressionHttpApplicationFormsAuthenticationget_LocationaddLocationget_RedirectLocationset_RedirectLocationdifferentLocationlocationParseLambdaInvocationget_ExpressionParser_AmbiguousMethodInvocationget_ExpressionParser_AmbiguousIndexerInvocationget_ExpressionParser_AmbiguousConstructorInvocationget_EnableModelValidationset_EnableModelValidationget_ListView_EnableModelValidationget_CausesValidationset_CausesValidationcausesValidationSystem.Web.UI.IPage.EnableEventValidationSystem.Web.UI.IPage.get_EnableEventValidationSystem.Web.Compilationget_CompilationExclamationIWcfReferenceReceiveContextInformationProvideImportExtensionsWithContextInformationReceiveImportContextInformationdestinationCodeTypeDeclarationGenerateTypeDeclarationPatchTypeDeclarationAppendClientTypeDeclarationCodeAttributeDeclarationRegisteredArrayDeclarationSystem.Web.UI.IScriptManager.RegisterArrayDeclarationget_OperationDynamicDataSourceOperationReportUniqueOperation_operationSetSlidingExpirationactiveRegistrationget_ScriptManager_InvalidControlRegistrationget_IsDirectRegistrationset_IsDirectRegistrationget_ScriptRegistrationProcessScriptRegistration_scriptRegistrationget_CacheDurationSystem.Web.ConfigurationSystem.ServiceModel.ConfigurationSystem.Configurationget_ConfigurationOpenMappedWebConfigurationGenerateCodeAndConfigurationtoolConfigurationget_TargetConfigurationtargetConfigurationXmlSerializerImplementationget_StringRepresentationGetTypeStringRepresentation_stringRepresentationget_AnnotationXmlSchemaAnnotationImportAnnotationannotationSystem.ServiceModel.ActivationSystem.Web.GlobalizationSystem.Globalizationget_ScriptManager_EnableScriptGlobalizationget_EnableScriptGlobalizationset_EnableScriptGlobalizationget_ScriptManager_CannotChangeEnableScriptGlobalization_enableScriptGlobalizationget_ScriptManager_EnableScriptLocalizationget_EnableScriptLocalizationset_EnableScriptLocalization_enableScriptLocalizationSystem.Runtime.SerializationSystem.Xml.SerializationSystem.Web.Script.Serializationget_JsonSerializationget_SkipAuthorizationShouldSkipAuthorizationlogActionget_FormAction_formActionSecurityActionset_TransactionDbTransactionBeginTransactionCreateMetadataSectionScriptingProfileServiceSectionScriptingRoleServiceSectionScriptingAuthenticationServiceSectionGetWebApplicationSectionICompilationSectionget_CompilationSection_useCompilationSectionget_AppLevelCompilationSection_appLevelCompilationSection_compilationSectionGetConfigurationSectionScriptingJsonSerializationSectionScriptingScriptResourceHandlerSectionICustomErrorsSectionget_CustomErrorsSection_customErrorsSectionGetSectionClientSectionIDeploymentSectionget_DeploymentSection_deploymentSectionSystem.Web.UI.WebControls.IDataBoundListControl.EnablePersistedSelectionSystem.Web.UI.WebControls.IDataBoundListControl.get_EnablePersistedSelectionSystem.Web.UI.WebControls.IDataBoundListControl.set_EnablePersistedSelectionget_ListView_EnablePersistedSelectionSystem.ReflectionEnumeratorOnICollectionmetadataCollectionStateManagedCollectionDataPagerFieldCollectionCodeNamespaceCollectionServiceCollectionServiceReferenceCollectionScriptReferenceCollectionOperationMessageCollectionHttpCookieCollectionPortTypeCollectionCaptureCollectionIsDefinedInCodeAttributeCollectionemptyXmlAttributeCollectionattributeCollectionNameValueCollectionSettingsPropertyValueCollectionpropertyValueCollectionCheckIfCollectionget_BindingCollectionbindingCollectionVirtualDirectoryMappingCollectionStringCollectionMatchCollectionoriginalCollectionSingleChildControlCollectionCreateControlCollectionget_UpdatePanel_CannotModifyControlCollectionScriptDataItemCollectionServiceDescriptionFormatExtensionCollectionDataSourceExpressionCollectionCodeParameterDeclarationExpressionCollectionCodeTypeDeclarationCollectionCodeAttributeDeclarationCollectionOperationCollectionConfigurationSectionCollectionServiceDescriptionCollectionConfigurationSectionGroupCollectionCodeTypeMemberCollectionWebHeaderCollectionRoleProviderCollectionMembershipProviderCollectionUpdatePanelTriggerCollectionMembershipUserCollectionDbParameterCollectionCustomErrorCollectionPropertyDescriptorCollectionConnectionStringSettingsCollectionConvertersCollectionKeysCollectionget_ContractCollectioncontractCollectionXmlSchemaObjectCollectionOperationFaultCollectionConfigurationElementCollectionCodeAttributeArgumentCollectionget_EndpointCollectionServiceEndpointCollectionMessagePartCollectionPortCollectionpostCollectionnewCollectionKeyCollectionAssemblyCollectionemptyCollectionConfigurationPropertyCollectionSettingsPropertyCollectionpropertyCollectioncollectionDbConnectionGetSqlCeConnectionCreateNewSqlCeConnectionSystem.Web.UI.IScriptResourceDefinition.CdnDebugPathSecureConnectionSystem.Web.UI.IScriptResourceDefinition.get_CdnDebugPathSecureConnection_cdnDebugPathSecureConnectionSystem.Web.UI.IScriptResourceDefinition.CdnPathSecureConnectionSystem.Web.UI.IScriptResourceDefinition.get_CdnPathSecureConnection_cdnPathSecureConnectionSystem.Web.UI.IScriptManager.IsSecureConnectionSystem.Web.UI.IScriptManager.get_IsSecureConnection_isSecureConnectionget_CdnSupportsSecureConnectionset_CdnSupportsSecureConnection_cdnSupportsSecureConnectionSqlConnectionGetConnectionget_Directionset_DirectionFieldDirectionBindingDirectionget_SortDirectionset_SortDirectionget_ListView_SortDirection_sortDirectiondirectionXmlSchemaSimpleTypeRestrictionsimpleTypeRestrictionCheckIfEnumRestrictionrestrictionop_AdditionConditionAddDefinitionIScriptResourceDefinitionget_IsGenericTypeDefinitionGetGenericTypeDefinitionRemoveDefinitionReferenceMatchesDefinitionSystem.Web.UI.IScriptResourceMapping.GetDefinitiondefinitionget_Positionset_Positionm_LinePositionget_LinePositionget_ReferenceGroup_AppendLinePositionget_InsertItemPositionset_InsertItemPositionget_ListView_InsertItemPositioninsertPositionpositionLanguageOptionSystem.Web.DynamicData.IDynamicDataSource.ExceptionSystem.Web.DynamicData.IDynamicDataSource.add_ExceptionSystem.Web.DynamicData.IDynamicDataSource.remove_Exceptionget_ExceptionXmlSchemaExceptionWebExceptionCryptographicExceptionFileLoadExceptionTypeLoadExceptionObjectDisposedExceptionNotImplementedExceptionNotSupportedExceptionFileNotFoundExceptionSettingsPropertyNotFoundExceptionMissingMethodExceptionMissingManifestResourceExceptionCreateUnknownNodeExceptionArgumentOutOfRangeExceptionSettingsPropertyWrongTypeExceptionCreateUnknownTypeExceptionParseExceptionCreateInvalidEnumValueExceptionPathTooLongExceptionLogExceptionPageIsValidAfterModelExceptionArgumentNullExceptionXmlExceptionOnExceptionTargetInvocationExceptionLinqDataSourceValidationExceptionInvalidOperationExceptionGetControlRegistrationExceptionConfigurationExceptionHttpExceptionProviderExceptionget_InnerExceptioninnerExceptionGetHttpCodeForExceptionerrorExceptionIDynamicValidatorExceptionUnauthorizedAccessExceptionBadImageFormatExceptionCreateUnknownConstantExceptionArgumentExceptionEventExceptionSecurityException_exceptionSystem.ServiceModel.DescriptionSystem.Web.Services.Descriptionget_LinqDataSource_Descriptionget_Descriptionget_ServiceDescriptionm_MetadataServiceDescriptionget_MetadataServiceDescriptionCreateFromServiceDescriptionserviceDescriptionget_StatusDescriptionset_StatusDescriptionGetStatusDescriptionContractDescriptionSystem.Web.UI.IPage.RegisterRequiresViewStateEncryptionnewPasswordQuestionpasswordQuestion_bypassVirtualPathResolutionWriteSubstitutionCopyScriptToStringBuilderWithSubstitutionget_PerformSubstitution_performSubstitutionColonSystem.Data.CommonJsonParseComparisonStringComparisonCreateNumericButtonget_NextPreviousPagerField_ShowPreviousPageButtonget_ShowPreviousPageButtonset_ShowPreviousPageButtonget_NextPreviousPagerField_ShowLastPageButtonget_ShowLastPageButtonset_ShowLastPageButtonget_NextPreviousPagerField_ShowFirstPageButtonget_ShowFirstPageButtonset_ShowFirstPageButtonget_NextPreviousPagerField_ShowNextPageButtonget_ShowNextPageButtonset_ShowNextPageButtonImageButtonLinkButtonCreateNextPrevButtonIdentifierPatternUnknownConvertToSystem.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CopyToDiscoFieldInfoget_MethodInfo_methodInforeleaseResourceInfoScriptResourceInforesourceInfoget_CultureInfoset_CultureInfoBuildSerializeableCultureInfoGetCultureInfoClientCultureInfoclientCultureInfocultureInfoScriptEffectiveInfoget_PathInfoClientDebugProxyRequestPathInfoClientProxyRequestPathInfopathInfoSerializationInfoXmlSchemaAppInfoGetTableMemberInfomemberInfoGetPreparedContainerInfoget_ParameterInfoConstructorInfoDateTimeFormatInfoNumberFormatInfoget_InvariantInfoEventInfoFontInfoget_ScriptInfo_scriptInfoGetAssemblyInfoassemblyInfoPropertyInfopropertyInfoinfoModuloget_Timer_IntervalMustBeGreaterThanZeroget_Common_GreaterThanOrEqualToZeroAndAlsoAutoXmlNamedNodeMapWebConfigurationFileMapserviceEndpointToChannelEndpointElementMapget_EndpointMapWrapUnwrapget_ToolTipset_ToolTipget_Zipset_ZipMembershipSkip_zipSystem.Web.UI.WebControls.LinqDataSource.bmpSystem.Web.Resources.UpdatePanel.bmpSystem.Web.UI.WebControls.QueryExtender.bmpSystem.Web.UI.WebControls.DataPager.bmpSystem.Web.Resources.ScriptManager.bmpSystem.Web.Resources.Timer.bmpSystem.Web.Resources.UpdateProgress.bmpSystem.Web.UI.WebControls.ListView.bmpSystem.Web.Resources.ScriptManagerProxy.bmpGetSupportsJsonpappget_MarkupXmlSchemaGroupid1_ReferenceGroupRead16_ReferenceGroupWrite16_ReferenceGroupRead9_ReferenceGroupWrite9_ReferenceGroupXmlSchemaAttributeGroupget_DynamicControlBase_ValidationGroupget_ValidationGroupResetModelValidationGroup_modelValidationGroupvalidationGroupScriptingSectionGroupServiceModelSectionGroupConfigurationSectionGroupScriptingWebServicesSectionGroupSystemWebExtensionsSectionGroupGetSectionGroupexpSystem.Data.LinqSystem.LinqParseLogicalOrDoubleBarget_CalendarUmAlQuraCalendarJapaneseCalendarHijriCalendarKoreanCalendarGregorianCalendarTaiwanCalendarThaiBuddhistCalendarget_YearBaseClear_allowClearAppendCharCheckQuoteCharVolumeSeparatorCharAltDirectorySeparatorCharNextCharGetNextNonEmptyCharExecuteScalarSetOmitVaryStarget_MemberSystem.Web.UI.WebControls.IDataBoundControl.DataMemberSystem.Web.UI.WebControls.IDataBoundControl.get_DataMemberSystem.Web.UI.WebControls.IDataBoundControl.set_DataMemberMetaDataMemberInvokeMemberCodeTypeMemberGetEntitySetMembercurrentMembermembereraNumberDailyBuildNumberpageNumberm_LineNumberget_LineNumberParseNumberUpdatePanelVersionNumberSystem.Web.UI.IPage.HeaderSystem.Web.UI.IPage.get_HeaderAddHeaderAppendHeadercookieHeaderacceptEncodingHeaderget_ReaderDbDataReaderVirtualFileReaderGetMapFileReaderfileReaderCreateReaderExecuteReaderStringReaderXmlReaderxmlReaderStreamReaderXmlSerializationReadercontentReaderXmlTextReaderLoadContentFromTextReaderreaderAssemblyResourceLoaderDataSvcMapFileLoaderIContractGeneratorReferenceTypeLoadertypeLoaderSystem.Configuration.Providerget_ProviderWCFBuildProviderIServiceProviderImportExtensionServiceProviderRNGCryptoServiceProviderserviceProviderset_CodeProviderGetRoleProviderClientRoleProviderCreateProviderICustomAttributeProviderattributeProvider_ConnectionStringProviderconnectionStringProvideradd_SelectingProviderremove_SelectingProviderOnSelectingProvider_selectingProviderget_VirtualPathProvidersqlProviderIsVBCodeDomProvidercodeDomProviderClientFormsAuthenticationMembershipProviderClientWindowsAuthenticationMembershipProviderKnownTypesProviderIApplicationSettingsProviderClientSettingsProviderIClientFormsAuthenticationCredentialsProviderIFormatProviderIQueryProviderproviderFieldBuilderMethodBuilderModuleBuilderTypeBuilderCustomAttributeBuilderWriteResourceToStringBuilderLocalBuilderAppendCharToBuilderAssemblyBuilderassemblyBuilderPropertyBuilder_builderPlaceHolderFindPlaceholderget_ListView_NoItemPlaceholderget_ListView_NoGroupPlaceholderSystem.Web.UI.IPage.PreRenderSystem.Web.UI.IPage.add_PreRenderSystem.Web.UI.IPage.remove_PreRenderOnPagePreRenderOnPreRenderSystem.Web.UI.IPage.HiddenFieldsToRenderSystem.Web.UI.IPage.get_HiddenFieldsToRender_hiddenFieldsToRenderAddAttributesToRendersenderQueryExtenderDataBinderEmbeddedResourceFinderget_Bufferset_Bufferm_ContentBufferget_ContentBufferset_ContentBufferbufferget_Pagerget_DataPagerFindDataPagerSetDataPager_dataPagerClientDataManagerBuildManagerget_HasProfileServiceManager_profileServiceManagerget_HasRoleServiceManager_roleServiceManagerApplicationServiceManagerget_HasAuthenticationServiceManager_authenticationServiceManagerget_ResourceManagerreleaseResourceManagerGetResourceManagerresourceManagerIStateManagerget_ListView_EnableDataBoundControlManagerget_ScriptControlManager_scriptControlManagerScriptRegistrationManagerWebConfigurationManagerIScriptManagerget_ScriptManagerget_ScriptManager_OnlyOneScriptManagerRegisterWithScriptManagerIClientScriptManagerRegisterResourceWithClientScriptManager_clientScriptManager_scriptManagerget_PageRequestManager_pageRequestManager_pagerAsyncPostBackTriggerUpdatePanelTriggerUpdatePanelControlTriggerSchemaMergerget_ExpressionParser_NeitherTypeConvertsToOtherget_ExpressionParser_BothTypesConvertToOtherotherApplyAppPathModifierParameterModifierParseIdentifierget_ExpressionParser_DuplicateIdentifierget_ExpressionParser_UnknownIdentifierGetIdentifierMemoryBarrierget_HandlerIPostBackDataHandlerIHttpAsyncHandlerAddHandlerIScriptResourceHandlerget_ScriptResourceHandlerRuntimeScriptResourceHandlerGetScriptResourceHandlerSetScriptResourceHandler_scriptResourceHandlerReleaseHandlerCreateHandlerget_ScriptManager_ClientNavigateHandlerget_ClientNavigateHandlerset_ClientNavigateHandler_clientNavigateHandlerRemoveHandler_originalHandlerIHttpHandlerGetHandlerget_EventHandlerAddEventHandlerCommandEventHandlerIPostBackEventHandleradd_ValidationEventHandlerremove_ValidationEventHandler_eventHandlerRestHandlerEndRequestHandlerAuthenticateRequestHandlerRestClientProxyHandlerhandlerSystem.CodeDom.CompilerTimerset_CookieContainerConstructCookieContainer_progressTemplateContainerget_ContentTemplateContainerAddContentTemplateContainerCreateContentTemplateContainer_contentTemplateContainerINonBindingContainerINamingContainerget_NamingContainerget_DataPager_NoNamingContainerget_DataBoundControlHelper_NoNamingContainerIDataItemContainerIPageableItemContainerFindPageableItemContainerget_DataPager_NoPageableItemContainer_pageableItemContainer_noGroupsOriginalIndexOfItemPlaceholderInContainer_groupsOriginalIndexOfGroupPlaceholderInContainerAddControlToContainer_noGroupsItemPlaceholderContainer_groupsGroupPlaceholderContainerouterContainerListViewContainercontainerHashCodeCombinerget_Ownerset_OwnerSetOwner_ownerApplicationServiceHelperQueryableDataSourceHelperLinqDataSourceHelperOrderedDictionaryStateHelperGetSchemaPropertyNameInXmlHelperDataBoundControlHelperSqlHelperExpressionHelperget_BundleReflectionHelperset_BundleReflectionHelper_bundleReflectionHelperProxyHelperPageWrapperDynamicQueryableWrapperHttpResponseInternalWrapperLinqToSqlWrapperHtmlFormWrapperCustomErrorsSectionWrapperClientScriptManagerWrapperAsyncHandlerWrapperClientUrlResolverWrapperHttpRequestWrapperHttpContextWrapperHttpCachePolicyWrapperHttpServerUtilityWrapperIComparerReferenceComparerAttributeComparerStringComparerOperationComparerOperationFaultComparerMessagePartComparerIEqualityComparerListEqualityComparerget_UserValidateUserRevalidateUserUpdateUserCreateUserDeleteUserUnlockUsertryToUseLastLoggedInUserMembershipUserGetRolesFromDBForUserGetRolesForUserGetUser_CurrentUserget_ArgumentMustBeCurrentUserGetProfileForCurrentUserGetAllPropertiesForCurrentUserGetPropertiesForCurrentUserSetPropertiesForCurrentUserStoreRolesForCurrentUserGetRolesForCurrentUserGetCurrentUser_supportsPartialRenderingSetByUserExpressionParserHexParser_userget_BrowserIsBrowserLessGreaterget_ExpressionParser_InvalidCharacterid13_ParameterRead7_ParameterWrite7_ParameterDbParameterAddParameterAddSqlCeParameterSqlParameterValidateOrderByParameterget_UpdateProgress_DisplayAfterget_DisplayAfterset_DisplayAfter_displayAfterLengthEncodeDelimiterget_WriterGetMapFileWriterCreateWriterStringWriterSwitchWriter_updatePanelWriterXmlWriterStreamWriterXmlSerializationWriterget_InnerWriterXmlTextWriterParserHtmlTextWriterwriterget_Filterset_FilterMemberFilterEnter_uniqueScriptCounterTypeConverterWhiteSpaceTrimStringConverter_whiteSpaceTrimStringConverterEmptyStringExpandableObjectConverterGetConverterget_ConvertersCollection_NotJavaScriptConverterStringArrayConverterconverterMetadataImporterCreateWsdlImporterwsdlImporterXsdDataContractImporterCreateDataContractImporterXmlSerializerMessageContractImporterDataContractSerializerMessageContractImporterimporterXsdDataContractExporterget_MasterRegisterPageStatePersisterget_BundleResolverset_BundleResolverbundleResolverget_TypeResolverSimpleTypeResolverJavaScriptTypeResolverDictionaryTypeResolver_typeResolverIClientUrlResolverget_ClientUrlResolverset_ClientUrlResolver_clientUrlResolver_resolverSystem.Web.UI.IPage.ServerSystem.Web.UI.IPage.get_ServerChangePasswordQuestionAndAnswerget_RequiresQuestionAndAnswernewPasswordAnswerpasswordAnsweranswerFindIndexerget_ExpressionParser_NoApplicableIndexerid35_Serializerm_Serializerget_Serializerset_SerializerGetMapFileSerializer_mapFileSerializerSystem.Web.Compilation.WCFModel.SvcMapFileXmlSerializerSystem.Web.Compilation.WCFModel.DataSvcMapFileXmlSerializerDataSvcMapFileImplSerializerDataContractSerializerGetSerializerget_JavaScriptSerializer_javaScriptSerializer_serializerJavaScriptObjectDeserializer_IsolatedDirPairXorget_Majorget_ForeColorset_ForeColorget_BackColorset_BackColorget_BorderColorset_BorderColorSystem.Web.UI.IPage.ErrorSystem.Web.UI.IPage.add_Errorget_WebService_ErrorSystem.Web.UI.IPage.remove_ErrorEdmSchemaErrorBuildWebServiceErrorOnPageErrorParseErroradd_AsyncPostBackErrorremove_AsyncPostBackErrorget_ScriptManager_AsyncPostBackErrorOnAsyncPostBackErrorCustomErrorthrowOnErrorMetadataConversionErrorConvertMetadataErrorToProxyGenerationErrorgenerationErrorClearErrorIncompatibleOperandsErrorm_MetadataFormatErrorget_MetadataFormatErrormetadataFormatErrorget_WebService_RedirectErrorGetLastErrorget_ExpressionParser_SyntaxErrorIAttributeAccessorICompositeControlDesignerAccessorUtf16StringValidator_nonEmptyStringValidatorIntegerValidatorEnumeratorOnIEnumeratorXmlSchemaObjectEnumeratorSystem.Collections.Generic.IEnumerable<System.Web.UI.ScriptReference>.GetEnumeratorSystem.Collections.Generic.IEnumerable<System.Type>.GetEnumeratorSystem.Collections.Generic.IEnumerable<System.Web.UI.ScriptDescriptor>.GetEnumeratorSystem.Collections.IEnumerable.GetEnumeratorIDictionaryEnumeratorGetILGeneratorRandomNumberGeneratorEntityClassGeneratorVSWCFServiceContractGeneratorCreateContractGeneratorcontractGeneratorWebServiceClientProxyGeneratorPageClientProxyGeneratorActivator.ctor.cctorIPersistedSelectorelementSelectorkeySelectorselectorWsdlInspectorGenerateConstructorget_ExpressionParser_NoMatchingConstructorget_JSON_NoConstructorGetConstructorUITypeEditorImageUrlEditorMonitorTypeDescriptorScriptControlDescriptorMemberDescriptorRegisterDisposeForDescriptorScriptBehaviorDescriptorScriptComponentDescriptorScriptDescriptorPropertyDescriptorexprIntPtrBuildRevisionStrDailyBuildNumberStrsubstrattrget_Hourget_SettingsStoredAsset_SettingsStoredAsstoredAsget_SerializeAsset_SerializeAsSettingsSerializeAs_serializeAsGetChildUpdatePanelIDsGetRefreshingUpdatePanelIDsGetAllUpdatePanelIDsGetAsyncPostBackControlIDsGetPostBackControlIDsInitIDsPolicyURIsTokenIdentifierIs_sDefaultAliasget_Schemasset_SchemasduplicatedSchemasMergeSchemasXmlSchemasxmlSchemasget_Eraserasget_MethodDatasget_ParameterDatasPicsSystem.Diagnosticsget_DataPager_Fieldsget_Fieldsget_DataFieldsset_DataFieldsCloneFieldsGenerateFieldsGetRegisteredHiddenFieldsRenderActiveHiddenFieldsget_ScriptHiddenFields_hiddenFieldsCreatePagerFields_creatingPagerFieldsGetFields_fieldsget_ExpressionParser_IncompatibleOperandsCheckAndPromoteOperandsAddSecondsindexBoundsGenerateStaticMethodsget_ReadMethodsreadMethodsget_ScriptManager_EnablePageMethodsget_EnablePageMethodsset_EnablePageMethods_enablePageMethods_pageMethodsEnsureMethodsGenerateMethodsget_WriteMethodswriteMethodsUnsafeNativeMethodsid22_GenerateAsynchronousMethodsm_GenerateAsynchronousMethodsget_GenerateAsynchronousMethodsset_GenerateAsynchronousMethodsGetMethods_methodstotalRecordsCreateKeywordskeywordsGetInterfacesencodeSpacesget_Namespaces_registeredNamespacesXmlSerializerNamespacesSystem.Web.ServicesSystem.Web.Script.Servicesget_ScriptManager_Servicesget_ServicesDataServicesget_WebServicesSystem.Web.ApplicationServicesSystem.Runtime.InteropServicesSystem.Runtime.CompilerServicesRegisterServicesSystem.Web.ClientServices_servicesProcessBundleReferencesget_ScriptManager_CannotRegisterScriptInMultipleCompositeReferencesAddScriptReferencesSystem.Web.UI.IExtenderControl.GetScriptReferencesSystem.Web.UI.IScriptControl.GetScriptReferencesscriptReferencesid6_MetadataSourcesid7_MetadataSourcesSystem.Web.ResourcesSystem.ResourcesAddResourcesCombineResourcesWriteResourcesget_ScriptResourceHandler_DuplicateScriptResourcesSystem.Web.Resources.AtlasWeb.resourcesSystem.Web.Resources.ScriptLibrary.WebForms.Res.debug.resourcesSystem.Web.Resources.ScriptLibrary.Res.debug.resourcesSystem.Web.Resources.ScriptLibrary.WebForms.Res.resourcesSystem.Web.Resources.ScriptLibrary.Res.resourcesSystem.Web.Resources.WCFModelStrings.resourcesget_ApplyToOverridesset_ApplyToOverridesOpCodesDebuggingModesget_ChildNodesget_MessagescollectedMessagesMatchMessagesMatchOperationMessagesCollectErrorMessagesmessagesSubmitChangesOriginalValueMatchesAddFileDependenciesAddCacheItemDependenciesdependenciesget_CookiesDeleteAllCookiesget_AuthenticationCookiesauthenticationCookiescookiesget_Assembliesid39_ReferencedAssembliesget_ReferencedAssembliesGetReferencedAssemblies_referencedAssembliesloadedAssembliesLoadReferenedAssembliesSystem.Web.Compilation.WCFModel.IContractGeneratorReferenceTypeLoader.LoadAllAssembliesid38_ReferenceAllAssembliesm_ReferenceAllAssembliesget_ReferenceAllAssembliesset_ReferenceAllAssembliesMergeDictionariesget_VirtualDirectoriesHttpBrowserCapabilitiesServicesUtilitiesget_Propertiesget_ProfileServiceManager_LoadPropertiesget_LoadPropertiesset_LoadPropertiesget_HasLoadProperties_loadPropertiesloadedPropertiesget_FailedProperties_failedPropertiesBuildPropertiesUpdateModelDataSourcePropertiesSystem.Web.UI.WebControls.IPageableItemContainer.SetPageProperties_setPagePropertiesMergePropertiesRenderProfilePropertiesUpdatePropertiesGeneratePropertiesadd_ValidatingPropertiesremove_ValidatingPropertiesOnValidatingProperties_validatingPropertiesexistingPropertiesGetItemPropertiesget_ReadAccessPropertiesset_ReadAccessPropertiesget_WriteAccessPropertiesset_WriteAccessPropertiesSetDataObjectPropertiesGetPropertiesnewPropertiesCopyProperties_propertiesget_ProxiesGenerateEnumTypeProxiesGenerateClientTypeProxies_proxiesUpdateParameterValesget_FilesLoadExternalFilesSaveExternalFileswsdlFilesCreateDictionaryOfCopiedExtensionFilesget_ScriptResourceAllowNonJsFilesget_Rolesset_Rolesget_RoleServiceManager_LoadRolesget_LoadRolesset_LoadRoles_loadRolesGetAllRolesRemoveUsersFromRolesAddUsersToRolesNumberStylesget_NamesMatchXmlQualifiedNamesget_CookieNamesset_CookieNamesroleNames_StoredValueNamesparamNamesCombineTwoNamesget_SettingsNamesset_SettingsNamesget_ListView_PersistedSelectionRequiresDataKeysNamesGetNamesGetViewNames_viewNamesSystem.Web.UI.WebControls.IDataBoundControl.DataKeyNamesSystem.Web.UI.WebControls.IDataBoundControl.get_DataKeyNamesSystem.Web.UI.WebControls.IDataBoundControl.set_DataKeyNamesget_ListView_DataKeyNames_dataKeyNamesGetDirectoryNamesfilenamesusernamesget_TypesfuncTypesget_ReferencedTypesid25_ExcludedTypespredefinedTypesClearProcessedTypes_processedTypesget_SupportedTypesGetUnsupportedTypesLoadExportedTypesGetExportedTypesid34_GenerateSerializableTypesm_GenerateSerializableTypesget_GenerateSerializableTypesset_GenerateSerializableTypesSelfAndBaseTypesid28_GenerateInternalTypesm_GenerateInternalTypesget_GenerateInternalTypesset_GenerateInternalTypesid27_ImportXmlTypesm_ImportXmlTypesget_ImportXmlTypesset_ImportXmlTypesget_ScriptControlManager_NoTargetControlTypesGetTargetControlTypesschemaTopLevelItemTypesget_EnumTypesenumTypesget_ReferencedCollectionTypesLoadSharedCollectionTypesStoreKnownTypesProcessKnownTypesGetKnownTypesInitKnownTypesknownTypesMemberTypesid41_ReferencedDataContractTypesLoadSharedDataContractTypesget_ProxyGeneratedContractTypesproxyGeneratedContractTypesget_ClientTypesProcessClientTypesget_PortTypesMatchPortTypesportTypesEmptyTypesignorablePropertyTypestypesget_Expiresset_ExpiresSetValidUntilExpiresSetExpiresIArithmeticSignaturesIAddSignaturesIEnumerableSignaturesILogicalSignaturesIRelationalSignaturesINegationSignaturesISubtractSignaturesINotSignaturesIEqualitySignaturessignaturesget_ScriptReference_ResourceUICulturesget_ResourceUICulturesset_ResourceUICultures_resourceUICulturesget_Capturesget_ScriptDisposesRenderActiveScriptDisposes_scriptDisposesSelfAndBaseClassesclassesbaseAddressesRemoveDuplicatesincludeQuotesget_AttributesAddAttributesFieldAttributesMethodAttributesProcessIncludeAttributesTypeAttributesCompareXmlAttributesget_CustomAttributesGetCustomAttributesxmlSerializationAttributesGetRegisteredExpandoAttributesget_HasAttributesPropertyAttributespropertyAttributes_attributesAddMinutesReadAllBytestokenBytesGetBytesget_Valuesset_ValuesCompareSchemaValues_StoredValues_NumStoredValuesget_OldValues_updateOldValuesSetOldValuesget_BoundFieldValues_boundFieldValues_oldValuesreferenceValuesget_CookieValuesset_CookieValuesUpdateValues_deleteValuesStoreOriginalValues_storeOriginalValuesClearOriginalValuesGetOriginalValues_originalValuesparamValuesExtractItemValuesitemValuesparameterValuesget_LinqDataSourceView_InsertRequiresValuesget_SettingsValuesset_SettingsValuesProcessValuesExtractValuesGetValuesSetValues_insertValuesget_NewValues_updateNewValuesSetNewValuesnewValuesget_PropertyValuesCompareSchemaPropertyValuesGetPropertyValuesSetPropertyValues_valuesWriteScriptWithTagsget_ScriptRegistrationManager_NoTagsget_AddScriptTags_addScriptTagsMethodFlagsBindingFlagsset_ValidationFlagsXmlSchemaValidationFlagsget_BindingsImportAllBindingsContainsHttpBindingsid30_NamespaceMappingsget_NamespaceMappingsid32_CollectionMappingsid43_ServiceContractMappingsWCFModelStringsXmlStringsget_ConnectionStringsstringsConnectionStringSettingstopLevelSettingsApplicationSettingsget_AppSettingsXmlReaderSettingsgenericArgsget_ExpressionParser_IifRequiresThreeArgstypeArgsoriginalArgsUserValidatedEventArgsListViewUpdatedEventArgsQueryCreatedEventArgsListViewDeletedEventArgsListViewInsertedEventArgsSettingsSavedEventArgsDataPagerFieldCommandEventArgsDataPagerCommandEventArgsListViewCommandEventArgsCompositeScriptReferenceEventArgsPageEventArgsCreatingCookieEventArgsLinqDataSourceDisposeEventArgsLinqDataSourceUpdateEventArgsListViewUpdateEventArgsLinqDataSourceDeleteEventArgsListViewDeleteEventArgsPagePropertiesChangingEventArgsAuthenticatingEventArgsListViewCancelEventArgsWizardSideBarListControlItemEventArgsListViewItemEventArgsCustomExpressionEventArgsValidationEventArgsSelectingProviderEventArgsAsyncPostBackErrorEventArgsDynamicValidatorEventArgsValidatingPropertiesEventArgsLinqDataSourceStatusEventArgsLinqDataSourceSelectEventArgsListViewSelectEventArgsListViewEditEventArgsLinqDataSourceInsertEventArgsListViewInsertEventArgsListViewSortEventArgsLinqDataSourceContextEventArgsHistoryEventArgseventArgsargsget_AppService_MultiplePathsget_VirtualPaths<>4__thisMicrosoftAjaxCore.jsMicrosoftAjaxCore.debug.jsMicrosoftAjaxNetwork.debug.jsMicrosoftAjaxComponentModel.debug.jsMicrosoftAjaxGlobalization.debug.jsMicrosoftAjaxSerialization.debug.jsDate.UmAlQuraCalendar.debug.jsDate.HijriCalendar.debug.jsMicrosoftAjaxTimer.debug.jsMicrosoftAjaxWebServices.debug.jsMicrosoftAjaxApplicationServices.debug.jsMicrosoftAjaxWebForms.debug.jsMicrosoftAjax.debug.jsMicrosoftAjaxHistory.debug.jsMicrosoftAjaxNetwork.jsMicrosoftAjaxComponentModel.jsMicrosoftAjaxGlobalization.jsMicrosoftAjaxSerialization.jsDate.UmAlQuraCalendar.jsDate.HijriCalendar.jsMicrosoftAjaxTimer.jsMicrosoftAjaxWebServices.jsMicrosoftAjaxApplicationServices.jsMicrosoftAjaxWebForms.jsMicrosoftAjax.jsMicrosoftAjaxHistory.jsget_ScriptManager_CannotRegisterBothPostBacksInitCallbacksRegisterFallbackScriptForAjaxPostbacksget_TicksDatetimeMinTimeTicksget_ScriptStartupBlocksget_ScriptBlocksRenderActiveScriptBlocks_startupScriptBlocksGetRegisteredClientScriptBlocks_clientScriptBlocks_typeResolverSpecialsClientFormsAuthenticationCredentialsGetCredentialsset_UseDefaultCredentialsexternalsliteralsSystem.Collections.IEqualityComparer.EqualsGenerateEqualsEnumerableContentEqualsget_NextPreviousPagerField_RenderDisabledButtonsAsLabelsget_RenderDisabledButtonsAsLabelsset_RenderDisabledButtonsAsLabelsget_DynamicNavigatorDataSource_NoTablesInModelsupdatingUpdatePanels_allUpdatePanelsProcessUpdatePanelsupdatePanelsSystem.ServiceModel.ChannelsSecurityUtilssymbolsSystem.Web.Services.Protocolsget_ControlsSystem.Web.UI.WebControlsget_ChildControlsEnsureChildControlsCreateChildControlsSystem.Web.UI.WebControls.ICompositeControlDesignerAccessor.RecreateChildControlsExtractValuesFromBindableControls_asyncPostBackControls_postBackControlsSystem.Web.UI.HtmlControlsget_NumericPagerField_RenderNonBreakingSpacesBetweenControlsget_NextPreviousPagerField_RenderNonBreakingSpacesBetweenControlsget_RenderNonBreakingSpacesBetweenControlsset_RenderNonBreakingSpacesBetweenControlsget_ExtenderControlsAddScriptReferencesForExtenderControls_extenderControlsget_ScriptControlsAddScriptReferencesForScriptControls_scriptControlsMergeServiceUrlsset_IgnoreParamsCallMethodFromRawParamsGetRawParamsrawParamsget_VaryByParamsHttpCacheVaryByParamsSystem.Web.UI.IPage.ItemsSystem.Web.UI.WebControls.IWizardSideBarListControl.ItemsSystem.Web.UI.IPage.get_ItemsSystem.Web.UI.WebControls.IWizardSideBarListControl.get_Itemsget_ListView_Itemsget_ReferenceGroup_DuplicatedSchemaItemsRemoveDuplicatedSchemaItemsRenderDataItemsget_ListView_ItemsNotDataItems_scriptDataItemsFindDuplicatedItemsduplicatedItemscompareItemsRemoveItemsCheckDuplicatedWsdlItemsClearItemsCryptoAlgorithmsSystem.Security.ClaimsSystem.Windows.FormsSystem.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.ContainscolumnsSystem.Web.Extensionsid10_Extensionsid11_Extensionsget_ExtensionsIsFromSystemWebExtensionsget_SchemaImporterExtensionsget_WsdlImportExtensionsLoadWsdlImportExtensionswsdlImportExtensionsserviceProviderForImportExtensionsLoadPolicyImportExtensionspolicyImportExtensionsCompareConversionsSystem.Linq.ExpressionsSystem.Web.UI.WebControls.Expressionsget_QueryExtender_Expressionsget_ExpressionsSystem.Text.RegularExpressionsget_ThenByExpressions_thenByExpressionsExecuteQueryExpressions_expressionsSystem.Security.PermissionsGetRegisteredArrayDeclarationsRenderActiveArrayDeclarationsget_OperationsMatchOperationsscriptRegistrationsget_SectionsSystem.CollectionsCompareSchemaCollectionsCompareXmlAttributeCollectionsMatchCollectionsAddScriptCollections_definitionsget_Optionsset_OptionsWrappedOptionsset_WebReferenceOptionsPostBackOptionsget_CodeGenerationOptionsset_CodeGenerationOptionsServiceContractGenerationOptionsStringSplitOptionsid6_ClientOptionsRead9_ClientOptionsWrite9_ClientOptionsget_ClientOptionsset_ClientOptions_clientOptionsCreateXmlSerializerImportOptionsFaultImportOptionsRegexOptionsConfigurationPropertyOptionsproxyOptionsget_InnerExceptions_innerExceptionsCheckServiceDescriptionsoptionserrorPosSetTextPostextPosRenderActiveExpandosget_ScriptExpandos_expandosposget_GroupsprofileGroupsCreateItemsInGroupsget_SectionGroupsCreateItemsWithoutGroupsAddYearsget_Charsget_ScriptRegistrationManager_InvalidCharsGetInvalidFileNameCharsget_Membersget_DataMembersGetTableMetaDataMembersFindMembersget_MaxJsonDeserializerMembersGetDefaultMembersget_HeaderscookieHeadersClearHeadersSystem.Web.ClientServices.Providersget_Providersget_IsUsingModelBindersCreateDataPagersget_UpdatePanel_Triggersget_Triggersget_UpdatePanel_ChildrenAsTriggersget_ChildrenAsTriggersset_ChildrenAsTriggers_childrenAsTriggers_triggersSystem.Web.HandlerssearchNamingContainersRuntimeHelpersGetAllUsersget_MinRequiredNonAlphanumericCharactersid12_Parametersget_Parametersset_ParametersGetSerializedParametersStrongTypeParametersget_LinqDataSource_WhereParametersget_WhereParametersset_WhereParameters_whereParametersEnsureParametersget_LinqDataSource_UpdateParametersget_UpdateParameters_updateParametersget_LinqDataSource_DeleteParametersget_DeleteParameters_deleteParametersProcessParametersget_LinqDataSource_SelectParametersget_SelectParametersset_SelectParameters_selectParametersGetParametersget_LinqDataSource_InsertParametersget_InsertParameters_insertParametersinputParametersget_SelectNewParameters_selectNewParametersget_LinqDataSource_GroupByParametersget_GroupByParametersset_GroupByParameters_groupByParametersget_LinqDataSource_OrderByParametersget_OrderByParametersset_OrderByParameters_orderByParametersget_LinqDataSource_OrderGroupsByParametersget_OrderGroupsByParametersset_OrderGroupsByParameters_orderGroupsByParameters_parametersget_ConvertersCreateConverters_propConvertersRegisterConverters_converterstypeGettersget_TypedSerializerstypedSerializersSystem.Web.UI.ICustomErrorsSection.ErrorsSystem.Web.UI.ICustomErrorsSection.get_Errorsget_LoadErrorsset_LoadErrorsSetMapFileLoadErrors_loadErrorsVerifyGeneratedCodeAndHandleErrorsloadingErrorsget_TrySkipIisCustomErrorsset_TrySkipIisCustomErrorsHandleValidationErrorsvalidationErrorsget_ProxyGenerationErrorsHandleProxyGenerationErrorsproxyGenerationErrorsgenerationErrorsgeneratorErrorsget_ImportErrorsimportErrorserrorslistAccessorsGetConstructorsRegisterScriptDescriptorsRegisterScriptsForScriptDescriptorsSystem.Web.UI.IExtenderControl.GetScriptDescriptorsSystem.Web.UI.IScriptControl.GetScriptDescriptorsscriptDescriptorsget_MaxOccurssecurePassCreateDynamicClassGetDynamicClasscodeClass_SettingsBaseClassCreateClassgenClassGenerateRegisterClassget_CssClassset_CssClassget_NumericPagerField_CurrentPageLabelCssClassget_CurrentPageLabelCssClassset_CurrentPageLabelCssClassget_NextPreviousPagerField_ButtonCssClassget_ButtonCssClassset_ButtonCssClassget_NumericPagerField_NumericButtonCssClassget_NumericButtonCssClassset_NumericButtonCssClassget_NumericPagerField_NextPreviousButtonCssClassget_NextPreviousButtonCssClassset_NextPreviousButtonCssClassstaticAccessFileAccessParseTypeAccessParseMemberAccessAssemblyBuilderAccessget_AllowAnonymousAccessset_AllowAnonymousAccess_allowAnonymousAccessParseElementAccessget_Successid20_Addressid22_Addressm_Addressget_Addressset_Addressget_ReferenceGroup_EmptyAddressaddressUpdateProgressSystem.Web.UI.IClientScriptManager.RegisteredResourcesToSuppressSystem.Web.UI.IClientScriptManager.get_RegisteredResourcesToSuppressgeneratedContractsid29_GenerateMessageContractsm_GenerateMessageContractsget_GenerateMessageContractsset_GenerateMessageContractshttpBindingContractsImportAllContractsget_KnownContractsBuildUpdateObjectsget_FacetsAttributeTargetsget_Faultsid36_UseSerializerForFaultsm_UseSerializerForFaultsget_UseSerializerForFaultsset_UseSerializerForFaultsresultsCompareXmlElementsRenderActiveSubmitStatementsGetRegisteredOnSubmitStatementsget_ScriptSubmitStatements_submitStatementsget_SegmentsdocCommentsDebugXmlCommentsCollectMetadataDocumentsget_WsdlDocumentswsdlDocumentsget_Argumentsset_ArgumentsGetGenericArgumentsParseArgumentsget_SelectArgumentsCreateDataSourceSelectArguments_argumentsUriComponentsGetComponentsGetBundleContentsserviceReferenceExtensionFileContentsCreateContentsRenderContentsget_EventsConnectToEvents_eventsImportAllEndpointsendpointsget_CompositeScriptReference_Scriptsget_ScriptManager_Scriptsget_ScriptsGetRegisteredDisposeScriptsRegisterUniqueScriptsuniqueScriptsRenderActiveScriptsget_FallbackScripts_fallbackScriptsAddFrameworkScriptsget_SplitFrameworkScriptsGetRegisteredStartupScriptsRegisterScriptsCollectScripts_scriptsget_MaxInvalidPasswordAttemptsget_PartsMatchMessageParts_ensuredObjectPartsget_PortsassemblyResourceListsRemoveFromListsFileExistsRoleExistsensureExistsCompareXmlTextsReleaseSelectContexts_selectContextsProcessFocusget_ClientSupportsFocusSystem.Web.UI.IPage.SetFocusPlusMinusget_IsAnonymousget_Statusset_StatusMembershipCreateStatusConnectivityStatusstatusget_AffectedRows_affectedRowsSystem.Web.UI.WebControls.IPageableItemContainer.MaximumRowsSystem.Web.UI.WebControls.IPageableItemContainer.get_MaximumRowsset_MaximumRowsget_NewMaximumRowsset_NewMaximumRows_newMaximumRows_maximumRowsget_IsDefiningSysset_IsDefiningSys_scriptPathsDefiningSysFromDaysCompareStringArraysget_ScriptArrays_scriptArraysget_UpdatePanel_ChildrenTriggersAndUpdateAlwaysget_KeysSystem.Web.UI.WebControls.IDataBoundListControl.DataKeysSystem.Web.UI.WebControls.IDataBoundListControl.get_DataKeysget_ListView_DataKeysClearDataKeysSystem.Web.UI.IDataKeysControl.ClientIDRowSuffixDataKeysSystem.Web.UI.IDataKeysControl.get_ClientIDRowSuffixDataKeyscacheKeys_updateKeys_deleteKeysget_AllKeysToEscapedParameterKeysSetKeys_keysAddAtBaseRemoveAtkeywordItParseItGenerateStringConcatget_PasswordFormatMembershipPasswordFormatset_UseMessageFormatget_DateTimeFormatdateTimeFormatget_ResponseFormatset_ResponseFormat_responseFormatUriFormatSerializationFormatserializationFormatget_ParseException_ParseExceptionFormatget_NumberFormatnumberFormatformatGenerateSubtractget_Contractset_Contractget_ReferenceGroup_OperationDefinedInOneOfDuplicatedServiceContractIsHttpBindingContractXmlSerializerContractGetContractSystem.ServiceModel.Description.IWsdlImportExtension.ImportContractcontractget_IsAbstractexactXmlSchemaObjectBuildDataObjectoldDataObjectIExtensibleDataObjectUpdateDataObjectDeleteDataObjectget_OriginalDataObjectset_OriginalDataObject_originalDataObjectExtensionDataObject_extensionDataObjectResetDataObjectInsertDataObjectget_NewDataObjectset_NewDataObject_newDataObjectdataObjectAddObjectconvertedObjectget_JSON_InvalidObjectSystem.Web.UI.WebControls.IDataBoundControl.DataSourceObjectSystem.Web.UI.WebControls.IDataBoundControl.get_DataSourceObjectUpdateObjectBuildDeleteObjectDeserializePrimitiveObjectDeserializeObjectget_OriginalObject_originalObjectSerializeCustomObjectConvertListToObjectConvertDictionaryToObjectGetObjectIsNextElementObjectBuildInsertObjectget_NewObject_newObjectSetDirtyObjectobjectget_Dialectget_XmlSchemaDialectget_ServiceDescriptionDialectget_LinqDataSource_Selectget_Selectset_Selectget_ListView_InvalidSelectHandleSelectExecuteSelect_performingSelectPerformSelectCreateContextAndTableForSelectset_AllowAutoRedirectCustomErrorsSectionHasRedirectget_ScriptManager_AllowCustomErrorsRedirectget_AllowCustomErrorsRedirectset_AllowCustomErrorsRedirect_allowCustomErrorsRedirectSystem.Web.UI.ICustomErrorsSection.DefaultRedirectSystem.Web.UI.ICustomErrorsSection.get_DefaultRedirectargsDictget_ProfileAllowedGet_profileAllowedGetget_UseGetBaseGetget_UseHttpGetset_UseHttpGet_useHttpGetSystem.NetRetGetMapFileSchemaSet_mapFileSchemaSetXmlSchemaSetIsDataSetMetadataSetget_ProfileAllowedSet_profileAllowedSetget_DataPager_PagePropertiesCannotBeSetGetResourceSetSecurityRuleSetfSetreleaseNeutralSetneutralSetget_NamedPermissionSet_zipSetget_CookieIsSetset_CookieIsSet_cookieIsSetGetCachedBuildDependencySetget_EntitySetset_EntitySetXmlSchemaFacetXmlSchemaEnumerationFacetknownTypeAttributeTargettargetCloseBracketOpenBracketSystem.Collections.IEnumerator.Resetget_SettingsNeedResetset_SettingsNeedResetget_EnablePasswordReset_NeedToDoResetGetNeedToResetSetNeedToResetDateTimeOffseteraYearOffsetoffsetget_Charsetset_Charsetleftget_Heightset_HeightCopyrightExplicitget_ListView_InvalidEditHandleEditCancelingEditget_LinqDataSourceView_SelectNewNotSupportedOnEditget_LinqDataSourceView_GroupByNotSupportedOnEditCreateContextAndTableForEditValidateDigitIsLetterOrDigitIsDigitSplitSystem.Reflection.EmitDeleteOnSubmitInsertOnSubmit_depthLimitget_RecursionLimitset_RecursionLimitget_JSON_InvalidRecursionLimitDefaultRecursionLimit_recursionLimit_recusionLimitget_MaxJsonLimit_maxJsonLimit_propRecursionLimitLimitCommitSystem.Web.IHttpModule.InitOnInitMemberInitproxyCodeUnitAddCodeCompileUnitcodeCompileUnitget_TargetCompileUnittargetCompileUnitcompileUnitInheritExitget_PasswordSaltset_PasswordSaltsaltOperationFaultSetRemainingValuesToDefaultGetValueOrDefaultAsyncPostBackTimeoutDefaultget_Resultset_ResultIAsyncResultid17_IsMergeResultid19_IsMergeResultm_IsMergeResultget_IsMergeResultset_IsMergeResult_selectResult_resultrememberMeIntConstantPercentSystem.Data.Services.Clientget_ClientSystem.Data.SqlClientAreSchemaObjectsEquivalentSystem.Web.Managementget_ElementXmlSchemaElementMetadataElementReadEndElementWriteEndElementTopLevelElementXmlElementxmlElementConfigurationElementMoveToElementget_DocumentElementChannelEndpointElementReadStartElementWriteStartElementIsStartElementCreateNewElementget_IsEmptyElementelementSystem.Web.UI.IScriptManager.RegisterOnSubmitStatementMemberAssignmentHostingEnvironmentget_HijriAdjustment_adjustmentm_MetadataXmlDocumentget_MetadataXmlDocumentWriteStartDocumentm_MetadataDiscoveryDocumentget_MetadataDiscoveryDocumentdiscoveryDocumentdocumentget_CommandArgumentset_CommandArgumentcommandArgumentCodeAttributeArgumenteventArgumentComponentget_ParentSystem.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey,TValue>>.CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptReference>.CurrentSystem.Collections.Generic.IEnumerator<System.Type>.CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptDescriptor>.CurrentSystem.Collections.IEnumerator.CurrentSystem.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<TKey,TValue>>.get_CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptReference>.get_CurrentSystem.Collections.Generic.IEnumerator<System.Type>.get_CurrentSystem.Collections.Generic.IEnumerator<System.Web.UI.ScriptDescriptor>.get_CurrentSystem.Collections.IEnumerator.get_CurrentCallBundleResolverCurrentGetCurrent<>2__currentSystem.Collections.Concurrentget_ContentLoadMetadataContentLoadContentXmlSchemaSimpleTypeContentbyteContentMoveToContentCleanUpContentClearContentget_SuppressContentset_SuppressContentm_BinaryContentget_BinaryContentcontentget_IsPersistent_isPersistentAddEventSystem.Web.UI.IPostBackDataHandler.RaisePostDataChangedEventget_TemplatePagerField_UnhandledEventget_ListView_UnhandledEventget_AsyncPostBackTrigger_InvalidEventget_AsyncPostBackTrigger_CannotFindEventResolveCompositeScriptReferenceEventResolveScriptReferenceEventRaiseBubbleEventOnBubbleEventHandleEventWebBaseEventraiseEventget_NavigateEvent_navigateEventSystem.Web.UI.IPostBackEventHandler.RaisePostBackEventOnEventRegisterForValidateUserEventWebServiceErrorEventAsyncPostBackErrorEventWebRequestErrorEventGetEventget_DynamicControlBase_UIHintLoadHintAddHistoryPointPrepareNewHistoryPointGenerateServiceEndpointserviceEndpointSystem.ServiceModel.Description.IWsdlImportExtension.ImportEndpointendpointget_Fontget_Count_noGroupsItemCreatedCount_groupsItemCreatedCountget_DataSourceCountget_ListView_Missing_VirtualItemCountget_GroupItemCountset_GroupItemCountget_ListView_GroupItemCount_groupItemCountget_NumericPagerField_ButtonCountget_ButtonCountset_ButtonCountget_ReaderCountCheckReaderCountclassCountget_ListViewPagedDataSource_CannotGetCountpromptCountget_TotalRowCountset_TotalRowCountget_RetrieveTotalRowCountset_RetrieveTotalRowCountget_CanRetrieveTotalRowCountget_ListView_NeedICollectionOrTotalRowCount_totalRowCountcountDotNotget_SyncRootSystem.Web.Scriptget_ScriptJavaScriptRegisteredScriptget_ServiceReference_InlineScriptget_InlineScriptset_InlineScriptget_WebService_NoWebServiceDataInlineScript_inlineScriptRegisteredDisposeScriptdisposeScriptWriteScriptget_ScriptManager_CompositeScriptget_CompositeScript_compositeScriptShouldUseDebugScriptRegisterFallbackScriptAddFrameworkScript_splitFrameworkScriptIsAjaxFrameworkScriptframeworkScriptGenerateInitializationScriptGetApplicationServicesInitializationScript_appServicesInitializationScriptSystem.Web.UI.IScriptManager.RegisterStartupScriptSystem.Web.UI.IClientScriptManager.RegisterStartupScriptClientStartupScriptRenderPageRequestManagerScriptAppendReferencesScriptAppendPropertiesScriptAppendEventsScript_requireFocusScriptRegisterFocusScriptGetScriptSystem.Web.UI.IPage.ClientScriptSystem.Web.UI.IPage.get_ClientScript_convertScriptGetProxyScriptGetInlineClientProxyScriptGetClientProxyScript_scriptnamespacePartReportUniqueMessagePartIsIdentifierPartparteraStartIsIdentifierStartget_JSON_InvalidArrayStartParsePrimaryStartstartget_ListView_InvalidInsertget_LinqDataSource_EnableInsertget_EnableInsertset_EnableInsert_enableInsertHandleInsertExecuteInsertCancelingInsertget_CanInsertGetCustomErrorsSectionWithAssertXmlConvertCallvirtIsSoapAsmxPortHandleSortget_CanSortget_LinqDataSource_AutoSortget_AutoSortset_AutoSort_autoSortSystem.ServiceModel.Description.IWsdlImportExtension.BeforeImportExportCasttestSystem.Web.UI.IPage.RequestSystem.Web.UI.IPage.get_RequestHttpWebRequestget_WebService_InvalidVerbRequestget_PageRequestManager_RegisterDataItemInNonAsyncRequestget_ScriptResourceHandler_InvalidRequestadd_EndRequestEnsureScriptResourceRequestIsScriptResourceRequestadd_AuthenticateRequestCompleteRequestIsClientProxyDebugRequestIsAsyncPostBackRequestHttpRequestHttpWorkerRequestSystem.Web.IHttpHandler.ProcessRequestEndProcessRequestBeginProcessRequestGetRawParamsFromGetRequestIsRestRequestGetRawParamsFromPostRequestIsClientProxyRequestrequestEnumeratorOnIListschemaListget_MetadataList_metadataListITypedListconvertedListoldListget_MetadataSourceList_metadataSourceListXmlNodeList_extensionFileListm_ExcludedTypeListget_ExcludedTypeListXmlSchemaSimpleTypeListm_ReferencedDataContractTypeListget_ReferencedDataContractTypeListDeserializeListm_NamespaceMappingListget_NamespaceMappingListm_CollectionMappingListget_CollectionMappingListm_ServiceContractMappingListget_ServiceContractMappingList_itemListRenderUpdatePanelIDsFromListGetUpdatePanelIDsFromListGetControlIDsFromListAddItemToListEventHandlerListget_FailedSettingsList_failedSettingsListParseArgumentListserviceEndpointListIsEncodingInAcceptListnewListget_DataKeysArrayList_dataKeysArrayListCreateSuffixArrayListget_ClientIDRowSuffixArrayList_clientIDRowSuffixArrayListm_ReferencedAssemblyListget_ReferencedAssemblyListParseProfilePropertyListlistDoAnyCookiesExistIsinstget_HostCreateServiceHostFirstSignOutget_IsOut_CacheTimeoutget_ScriptManager_AsyncPostBackTimeoutget_AsyncPostBackTimeoutset_AsyncPostBackTimeout_asyncPostBackTimeoutLogoutget_UpdateProgress_DynamicLayoutget_DynamicLayoutset_DynamicLayout_dynamicLayoutget_InputOperationInputinputget_OutputOperationOutputget_BufferOutputset_BufferOutputoutputMoveNextSystem.Textset_Textset_CommandTextget_NumericPagerField_PreviousPageTextget_NextPreviousPagerField_PreviousPageTextget_PreviousPageTextset_PreviousPageTextget_NumericPagerField_DefaultPreviousPageTextget_NextPrevPagerField_DefaultPreviousPageTextget_NextPreviousPagerField_LastPageTextget_LastPageTextset_LastPageTextget_NextPrevPagerField_DefaultLastPageTextget_NextPreviousPagerField_FirstPageTextget_FirstPageTextset_FirstPageTextget_NextPrevPagerField_DefaultFirstPageTextget_NumericPagerField_NextPageTextget_NextPreviousPagerField_NextPageTextget_NextPageTextset_NextPageTextget_NumericPagerField_DefaultNextPageTextget_NextPrevPagerField_DefaultNextPageTextset_AlternateTextXmlTextOpenTextbuttonTextget_InnerTextGetInnerTextget_DynamicControlBase_NullDisplayTextSystem.Web.UI.IControl.ContextSystem.Web.UI.IControl.get_Contextset_ContextDataContextdataContextDataServiceContextDisposeContextCreateContextStreamingContextget_ContractConversionContextWsdlContractConversionContextWsdlEndpointConversionContextHttpContextITypeDescriptorContextSettingsContext_reuseSelectContextSetContext_isNewContextCreateQueryContext_contextWsuMovePrevWriteElementStringRawkeywordNewParseNewget_SelectNewset_SelectNew_selectNewget_ViewQueryableDataSourceViewLinqDataSourceViewContextDataSourceViewCreateQueryableViewCreateViewget_ListView_NullViewGetViewSetViewListView_viewget_Nowget_UtcNowHtmlTableRowListViewTableRowget_PasswordAttemptWindowrow_webResourceRegExMaxwebFormsWithoutAjax_autoIDIndexget_Indexget_TabIndexset_TabIndexSystem.Web.UI.WebControls.IDataBoundListControl.SelectedIndexSystem.Web.UI.WebControls.IDataBoundListControl.get_SelectedIndexSystem.Web.UI.WebControls.IDataBoundListControl.set_SelectedIndexget_ListView_SelectedIndexResetPersistedSelectedIndexget_NewSelectedIndexset_NewSelectedIndex_newSelectedIndex_selectedIndexget_ExpressionParser_InvalidIndexfieldIndexpageIndexget_PagerFieldCollection_InvalidTypeIndexget_ItemIndexget_DataItemIndex_dataItemIndex_deletedItemIndexTryGetItemIndex_itemIndexplaceholderIndexget_EditIndexset_EditIndexget_ListView_EditIndexget_NewEditIndex_newEditIndex_editIndexSystem.Web.UI.WebControls.IPageableItemContainer.StartRowIndexSystem.Web.UI.WebControls.IPageableItemContainer.get_StartRowIndexset_StartRowIndexget_NewStartRowIndexset_NewStartRowIndex_newStartRowIndex_startRowIndexrowIndexget_DisplayIndex_displayIndexArrayIndexarrayIndex_indexScriptTagRegexIdentifierRegexAutoGenerateOrderByRegex_automaticIDPrefixMakePeriodTerminatedNamespacePrefixDateTimePrefixincludeChildrenAsTriggersPrefixDateTimeSuffixSystem.Web.UI.WebControls.IDataBoundListControl.ClientIDRowSuffixSystem.Web.UI.WebControls.IDataBoundListControl.get_ClientIDRowSuffixSystem.Web.UI.WebControls.IDataBoundListControl.set_ClientIDRowSuffix_clientIDRowSuffixEdmxisThenByget_LinqDataSource_GroupByget_GroupByset_GroupByget_LinqDataSourceView_OrderGroupsByRequiresGroupBy_groupByget_LinqDataSource_OrderByget_OrderByset_OrderBy_orderByget_LinqDataSource_OrderGroupsByget_OrderGroupsByset_OrderGroupsBy_orderGroupsByget_Days_emptyTypeArrayGetSortedAttributeArrayToByteArrayReadStringArrayWriteStringArrayget_ExpressionParser_CannotIndexMultipleDimensionalArrayEnumeratorOnArrayexpressionArrayToArrayToCharArrayget_IsArray_KnownTypesArrayIsNextElementArray_clientIDRowSuffixArraysuffixArrayDataKeyArray_dataKeyArraykeyArrayarrayWSPolicyInitializeCachePolicyHttpCachePolicyCreateFromPolicypolicyAddCacheDependencyGetCacheDependencyAddFileDependencyAddCacheItemDependencyget_BodyCreateRangeExpressionBodybodyTKeyget_KeySystem.Web.UI.WebControls.IPersistedSelector.DataKeySystem.Web.UI.WebControls.IPersistedSelector.get_DataKeySystem.Web.UI.WebControls.IPersistedSelector.set_DataKeySystem.Web.UI.WebControls.IDataBoundListControl.SelectedDataKeySystem.Web.UI.WebControls.IDataBoundListControl.get_SelectedDataKeyget_SelectedPersistedDataKeyset_SelectedPersistedDataKeySetPersistedDataKey_persistedDataKeypostDataKeyAsyncPostBackErrorHttpCodeKeyAsyncPostBackErrorMessageKeyGetCacheKeycacheKeyItemCountViewStateKeyget_TagKeyAsyncPostBackRedirectLocationKeyproviderUserKeyAsyncPostBackErrorKeyContainsKeyget_AccessKeyset_AccessKeyGetKeyGetElementKeycurrentKeyTickEventKeyCreateUniqueScriptKey_contextKeyincludePrimaryKeyget_IsPrimaryKey_keySystem.Web.Security.CryptographySystem.Security.CryptographyFXAssemblyget_ScriptReference_Assemblyget_Assemblyset_AssemblyDefineDynamicAssemblySystem.Web.Compilation.WCFModel.IContractGeneratorReferenceTypeLoader.LoadAssemblyget_ReferenceGroup_FailedToLoadAssemblyid40_ReferencedAssemblyRead7_ReferencedAssemblyWrite7_ReferencedAssemblyDetermineResourceNameAndAssemblyget_ResourceAssemblyset_ResourceAssembly_resourceAssemblyget_EffectiveAssemblyNormalizeAssemblyget_ScriptManager_AjaxFrameworkAssemblyget_AjaxFrameworkAssemblyIsAjaxFrameworkAssemblyget_DefaultAjaxFrameworkAssemblyset_DefaultAjaxFrameworkAssemblyGetDefaultAjaxFrameworkAssembly_defaultAjaxFrameworkAssembly_ajaxFrameworkAssemblyGetUserStoreForAssemblyThisAssemblyGetAssemblycurrentAssemblyget_ScriptReference_ResourceRequiresAjaxAssemblycurrentAjaxAssembly_assemblyMakeReadOnlyAsReadOnlySystem.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.IsReadOnlySystem.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<TKey,TValue>>.get_IsReadOnlyset_IsReadOnly_isReadOnlyauthenticatedUserOnlyPermitOnlyMultiplyget_ScriptControlManager_RegisterExtenderControlTooEarlyget_ScriptControlManager_RegisterScriptControlTooEarlyReportMessageDefinedDifferentlyget_ReferenceGroup_OperationDefinedDifferentlyReportOperationDefinedDifferentlyLastIndexOfAnySelectManydestinationCopyParsePrimaryParseUnaryIDictionaryget_ParameterDataDictionaryIsGenericDictionaryIOrderedDictionaryHybridDictionaryget_ClientTypeNameDictionary_clientTypeNameDictionaryget_EnumTypeDictionaryset_EnumTypeDictionaryget_ClientTypeDictionaryset_ClientTypeDictionaryModelStateDictionarySettingsAttributeDictionaryToCaseInsensitiveDictionarySerializeDictionaryDeserializeDictionaryToDictionary_enumTypesDictionary_clientTypesDictionaryBuildArgsDictionaryListDictionary_dictionaryget_Queryset_QueryBuildQueryCreateQueryExecuteQueryExecuteNonQuery_querySystem.Web.Services.Discovery_HonorCookieExpiryid51_Categorym_Categoryget_Categoryset_CategoryGetUnicodeCategoryRead4_CollectionCategoryWrite4_CollectionCategorycategoryreadIntoMemory_originalFactoryWebServiceHandlerFactory_webServiceHandlerFactoryIHttpHandlerFactoryScriptHandlerFactoryRestHandlerFactory_restHandlerFactoryClassFactoryServiceHostFactoryApplicationServicesHostFactorySystem.Web.UI.IClientUrlResolver.AppRelativeTemplateSourceDirectorySystem.Web.UI.IClientUrlResolver.get_AppRelativeTemplateSourceDirectoryCreateDirectoryGetVirtualDirectoryGetDirectoryget_ScriptManager_EnableHistoryget_EnableHistoryset_EnableHistoryget_ScriptManager_CannotChangeEnableHistory_enableHistoryDictionaryEntryentryset_CapacityStringBuilderCapacitycapacityop_Equalityop_InequalityHttpCacheabilitySetCacheabilityDesignerSerializationVisibilityVirtualPathUtilityHttpUtilityHeaderUtilityHttpServerUtilityget_SeveritySystem.Web.SecuritySystem.SecuritySystem.Data.EntityoldEntitynewEntityIIdentityget_IdentityClaimsIdentityClientFormsIdentityWindowsIdentityidentityget_ExtenderControl_TargetControlIDEmptyget_ListView_ContainerNameMustNotBeEmptyget_ServiceReference_PathCannotBeEmptyget_ScriptReference_NameAndPathCannotBeEmptyget_ScriptResourceDefinition_NameAndPathCannotBeEmptyget_Common_NullOrEmptyIsNullOrEmptyget_IsEmptyget_PropertyShouldIgnoreSchemaPropertyDynamicPropertyAddPropertyIsPersistedPropertyget_AppService_UnknownProfilePropertyDefinePropertyConfigurationPropertyGetSettingsPropertyGetPropertyAddElementPropertyAddComponentPropertys_lookedForCurrentPropertyAddScriptPropertyproperty_stateDirtyget_IsDirtyset_IsDirtySetDirtyGenerateWebMethodProxyGenerateProxyScriptManagerProxySystem.Web.UI.IScriptManagerInternal.RegisterProxyproxyAllowAnonymous+Date.HijriCalendar.js1Date.UmAlQuraCalendar.js)var __cultureInfo = ;m

__cultureInfo.dateTimeFormat.Calendar._adjustment = 	namenumberFormatdateTimeFormat	eras.svcmap.datasvcmap{0}: {1}c#'{0}': {1}!'{0}' ({1}): {2})'{0}' ({1},{2}): {3}.%App_WebReferences\typeName___!Reference.config/wsdlDocuments.asmxvalue?Schema.DataServiceMapSchema.xsdfileNameGET	POSTcontentbyteContentdefinitionsAhttp://schemas.xmlsoap.org/wsdl/
schemaAhttp://www.w3.org/2001/XMLSchema
PolicyYhttp://schemas.xmlsoap.org/ws/2004/09/policy=http://www.w3.org/ns/ws-policydiscoveryChttp://schemas.xmlsoap.org/disco/	Edmx[http://schemas.microsoft.com/ado/2007/06/edmxdisco	wsdlxsdxml	edmx	dataservicecontentReaderprotocoladdressassemblyNameschemaListimportErrors@	item	Name|!{0}[@name='{1}']Constraints	typeelementattributegroupattributeGroup7Schema.ServiceMapSchema.xsd#targetCompileUnit#bindingCollection%contractCollection'serviceEndpointListUserviceEndpointToChannelEndpointElementMap7proxyGeneratedContractTypes+proxyGenerationErrorssvcMapFilecodeDomProviderGtypedDataSetSchemaImporterExtension*typeLoader#ConfigurationNamevbReferenceGroupWurn:schemas-microsoft-com:xml-wcfservicemapSvcMapFileImplIDClientOptionsMetadataSourcesMetadataSourceMetadataMetadataFileExtensionsExtensionFileFileNameMetadataType
IgnoreIsMergeResultSourceIdSourceUrlUnknownDisco	Wsdl
SchemaXmlsSystem.Web.Compilation.WCFModel.MetadataFile.MetadataTypeAddressProtocol7GenerateAsynchronousMethodsGGenerateTaskBasedAsynchronousMethod#EnableDataBindingExcludedTypesExcludedTypeImportXmlTypes+GenerateInternalTypes1GenerateMessageContracts#NamespaceMappings!NamespaceMapping%CollectionMappings#CollectionMapping3GenerateSerializableTypesSerializer-UseSerializerForFaultsWrapped-ReferenceAllAssemblies)ReferencedAssemblies%ReferencedAssembly7ReferencedDataContractTypes5ReferencedDataContractType/ServiceContractMappings-ServiceContractMappingContractMappingTargetNamespaceTypeNameReferencedTypeAssemblyName	Auto-DataContractSerializerXmlSerializerSystem.Web.Compilation.WCFModel.ClientOptions.ProxySerializerType1ReferencedCollectionTypeCategory	ListDictionarySystem.Web.Compilation.WCFModel.ReferencedCollectionType.CollectionCategoryClrNamespaceuurn:schemas-microsoft-com:xml-wcfservicemap:ReferenceGroup:IDuurn:schemas-microsoft-com:xml-wcfservicemap:MetadataSourcequrn:schemas-microsoft-com:xml-wcfservicemap:MetadataFilesurn:schemas-microsoft-com:xml-wcfservicemap:ExtensionFile!:FileName, :Name:FileName, :MetadataType, :ID, :Ignore, :IsMergeResult, :SourceId, :SourceUrl=:Address, :Protocol, :SourceIdqurn:schemas-microsoft-com:xml-wcfservicemap:ExcludedTypeyurn:schemas-microsoft-com:xml-wcfservicemap:NamespaceMapping{urn:schemas-microsoft-com:xml-wcfservicemap:CollectionMapping}urn:schemas-microsoft-com:xml-wcfservicemap:ReferencedAssemblyurn:schemas-microsoft-com:xml-wcfservicemap:ReferencedDataContractTypeurn:schemas-microsoft-com:xml-wcfservicemap:ServiceContractMappingurn:schemas-microsoft-com:xml-wcfservicemap:GenerateAsynchronousMethods, urn:schemas-microsoft-com:xml-wcfservicemap:GenerateTaskBasedAsynchronousMethod, urn:schemas-microsoft-com:xml-wcfservicemap:EnableDataBinding, urn:schemas-microsoft-com:xml-wcfservicemap:ExcludedTypes, urn:schemas-microsoft-com:xml-wcfservicemap:ImportXmlTypes, urn:schemas-microsoft-com:xml-wcfservicemap:GenerateInternalTypes, urn:schemas-microsoft-com:xml-wcfservicemap:GenerateMessageContracts, urn:schemas-microsoft-com:xml-wcfservicemap:NamespaceMappings, urn:schemas-microsoft-com:xml-wcfservicemap:CollectionMappings, urn:schemas-microsoft-com:xml-wcfservicemap:GenerateSerializableTypes, urn:schemas-microsoft-com:xml-wcfservicemap:Serializer, urn:schemas-microsoft-com:xml-wcfservicemap:UseSerializerForFaults, urn:schemas-microsoft-com:xml-wcfservicemap:Wrapped, urn:schemas-microsoft-com:xml-wcfservicemap:ReferenceAllAssemblies, urn:schemas-microsoft-com:xml-wcfservicemap:ReferencedAssemblies, urn:schemas-microsoft-com:xml-wcfservicemap:ReferencedDataContractTypes, urn:schemas-microsoft-com:xml-wcfservicemap:ServiceContractMappingsE:Name, :TargetNamespace, :TypeName:TypeName:AssemblyName):TypeName, :Category?:TargetNamespace, :ClrNamespaceSystem.Web.Compilation.WCFModel.SvcMapFileImpl:urn:schemas-microsoft-com:xml-wcfservicemap:ReferenceGroup:True:+Read16_ReferenceGroup-Write16_ReferenceGroupYurn:schemas-microsoft-com:xml-dataservicemap%DataSvcMapFileImplParametersParameterValuewurn:schemas-microsoft-com:xml-dataservicemap:ReferenceGroupwurn:schemas-microsoft-com:xml-dataservicemap:MetadataSourcesurn:schemas-microsoft-com:xml-dataservicemap:MetadataFileuurn:schemas-microsoft-com:xml-dataservicemap:ExtensionFilemurn:schemas-microsoft-com:xml-dataservicemap:Parameter:Name, :ValueSystem.Web.Compilation.WCFModel.DataSvcMapFileImpl:urn:schemas-microsoft-com:xml-dataservicemap:ReferenceGroup:True:)Read9_ReferenceGroup+Write9_ReferenceGroupx2
sourcepredicateWhereselector
SelectorderingOrderBy#OrderByDescending
ThenBy!ThenByDescending	Take	SkipkeySelectorelementSelectorGroupByAnyCount{, =}DynamicClasses
ModuleDynamicClass	get_	set_
Equalsget_DefaultGetHashCodeexpressionascascending	descdescendingorandmodnot-	nullas
InvokeMinMax?FCompare
Concat	truefalseitiifnew-system.web/compilationexceptionOnEvent$AsyncPostBackAsyncPostBack: I~/Authentication_JSON_AppService.axd{Sys.Services._AuthenticationService.DefaultWebServicePath = '';
[Sys.Services.AuthenticationService.set_path('	');
ySys.Services.AuthenticationService._setAuthenticated(true);
.jsMicrosoftAjax.compositeScript__VIEWSTATE#__EVENTVALIDATION__LASTFOCUS#__SCROLLPOSITIONX#__SCROLLPOSITIONY__EVENTTARGET__EVENTARGUMENT__PREVIOUSPAGE'IsBundleVirtualPath#GetBundleContentsGetBundleUrlMSystem.Web.Optimization.BundleResolverCurrent+system.web/deployment,'','controlX-MicrosoftAjaxDelta=true__ASYNCPOSTgSystem.Web.UI.PageRequestManager:AsyncPostBackErroruSystem.Web.UI.PageRequestManager:AsyncPostBackErrorMessagewSystem.Web.UI.PageRequestManager:AsyncPostBackErrorHttpCodeFocus.jsscriptBlockScriptPathfocustext/plain#4hiddenField/asyncPostBackControlIDs%postBackControlIDsupdatePanelIDs'childUpdatePanelIDs%panelsToRefreshIDs)asyncPostBackTimeoutformActionpageTitledataItemdataItemJson<script type="text/javascript">

//<![CDATA[

Sys.WebForms.PageRequestManager._initialize('	', '	', [	], [], , '');%//]]>

</script>

'',''updatePanel1.43.0PostBackPostBack: ;~/Profile_JSON_AppService.axdmSys.Services._ProfileService.DefaultWebServicePath = 'MSys.Services.ProfileService.set_path('%// loadProperties
SSys.Services.ProfileService.properties = ;
OSys.Services.ProfileService.properties.C = new Sys.Services.ProfileGroup();
Category_5~/Role_JSON_AppService.axdgSys.Services._RoleService.DefaultWebServicePath = 'GSys.Services.RoleService.set_path('// loadRoles
ESys.Services.RoleService._roles = elementIDcomponentIDhandler
script,id$create(
$get(""));$find('').dispose();extenderControltargetControlscriptControlKSys.Application.add_init(function() {	    });EmptyPageUrl=MicrosoftAjaxComponentModel.jsIMicrosoftAjaxComponentModel.debug.js)MicrosoftAjaxCore.js5MicrosoftAjaxCore.debug.js;MicrosoftAjaxGlobalization.jsGMicrosoftAjaxGlobalization.debug.js/MicrosoftAjaxHistory.js;MicrosoftAjaxHistory.debug.js/MicrosoftAjaxNetwork.js;MicrosoftAjaxNetwork.debug.js;MicrosoftAjaxSerialization.jsGMicrosoftAjaxSerialization.debug.js7MicrosoftAjaxWebServices.jsCMicrosoftAjaxWebServices.debug.jsAccept-encoding	gzip)FrameworkLoadedCheck

<script type="text/javascript">

//<![CDATA[

if (typeof(Sys) === 'undefined') throw new Error('/');

//]]>

</script>

GMicrosoftAjaxApplicationServices.js1MicrosoftAjaxWebForms.js!MicrosoftAjax.js%MicrosoftAjaxCore.UniqueScript_	page/system.web/customErrorsType._checkDependency('MicrosoftAjaxGlobalization.js', 'ScriptManager.EnableScriptGlobalization');

-CultureInfoScriptCheckCultureInfo

<script src="E" type="text/javascript"></script>#AppServicesConfig({0})||document.write('<script type="text/javascript" src="{1}"><\/script>');CMicrosoftAjaxApplicationServices.
hiddena

<script type="text/javascript">

//<![CDATA[

Type._checkDependency('MicrosoftAjaxHistory.js', 'ScriptManager.EnableHistory');9Sys.Application.setServerId(ASys.Application.setServerState('aSys.Application._enableHistoryInScriptManager();;Sys.Application.add_navigate(HistoryNavigateIE?title=&title=__historyFrame	nonedebug.jsresourceNamedisposeScriptSys.WebForms.PageRequestManager.getInstance()._registerDisposeScript(!arrayDeclaration3document.getElementById('	')['']"expando'ScriptContentNoTagsfallbackScriptscriptDispose%scriptStartupBlockonSubmitempty</script>	textattrnameattrval+ScriptContentWithTags<script(\s+(?<attrname>\w[-\w:]*)(\s*=\s*"(?<attrval>[^"]*)"|\s*=\s*'(?<attrval>[^']*)'))*\s*(?<empty>/)?>scriptNameresourceTypeScriptResource.resources.debug.js1Type.registerNamespace('":"={};!// Name:        !// Assembly:    !// Version:     !// FileVersion: <%\s*=\s*(?<resourceType>WebResource|ScriptResource)\("(?<resourceName>[^"]*)"\)\s*%>http://httpsdefinitionscriptReference/js/jsdebug#targetControlTypeEnabledInterval[]ownerblockDefaultViewUEntitySet Type must be a field or propertyPagedControlID!QueryStringFieldcontainer&VisibleNullable<{0}>InnerExceptions1ConvertEmptyStringToNull+EnableModelValidation1EnablePersistedSelection%GroupPlaceholderID!groupPlaceholder%InsertItemPosition#ItemPlaceholderIDitemPlaceholder	ctrl_!ItemCount DESCitemValues	Sort	Edit
Cancel
Update
Delete
InsertItemCancelingItemDeletingItemEditingItemInsertingItemUpdating+SelectedIndexChangingSortingmaximumRowsstartRowIndexButtonCssClassButtonType#FirstPageImageUrlFirstPageText!LastPageImageUrlLastPageText!NextPageImageUrlNextPageText)PreviousPageImageUrl!PreviousPageTextMRenderNonBreakingSpacesBetweenControls;RenderDisabledButtonsAsLabels'ShowFirstPageButton%ShowLastPageButton%ShowNextPageButton-ShowPreviousPageButton
&nbsp;	Prev	NextFirst	LastButtonCount1CurrentPageLabelCssClass5NextPreviousButtonCssClass+NumericButtonCssClassviewName
ToList@p AND 	 == ^\s*[\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}_][\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}\p{Pc}\p{Mn}\p{Mc}\p{Cf}_]*	\s*$S(\s+(asc|ascending|desc|descending))?\s*$argumentsPagerCommandcontextdataSourceindexMethodName!IgnoreIfNotFound{0}
OfTypeDataFieldDirectionMinTypeMaxTypeDataFieldsSearchTypeComparisonType;System.Web.Resources.AtlasWeb=ApplicationServiceManager_Path'AppService_Disabled1AppService_MultiplePaths-AppService_RequiredSSLCAppService_UnknownProfileProperty3ArgumentMustBeCurrentUser%ArgumentMustBeNullIAsyncPostBackTrigger_CannotFindEvent=AsyncPostBackTrigger_EventNameCAsyncPostBackTrigger_InvalidEvent-AttributeNotRecognized!Category_Sorting;ClientService_BadJsonResponse5Common_ArgumentInvalidType?Common_GreaterThanOrEqualToZeromCommon_GreaterThanOrEqualToZeroAndLessThanOrEqualToOne%Common_NullOrEmpty/Common_PageCannotBeNull9Common_ScriptManagerRequiredACompositeScriptReference_ScriptsWConvertersCollection_NotJavaScriptConverterAConvertersCollection_UnknownTypeQDataBoundControlHelper_NoNamingContainer;DataPager_ControlIsntPageable!DataPager_Fields7DataPager_NoNamingContainerCDataPager_NoPageableItemContainerODataPager_PageableItemContainerNotFound1DataPager_PagedControlIDGDataPager_PagePropertiesCannotBeSet%DataPager_PageSize5DataPager_QueryStringField-DataPagerField_VisibleqDataSourceControlExtender_TargetControlIDMustBeSpecifiedDataSourceControlExtender_TargetControlMustImplementIDataSourceWDynamicControlBase_ConvertEmptyStringToNull9DynamicControlBase_DataFieldGDynamicControlBase_DataFormatString;DynamicControlBase_HtmlEncodeEDynamicControlBase_NullDisplayText3DynamicControlBase_UIHintEDynamicControlBase_ValidationGroup]DynamicFilterRepeater_DynamicFilterContainerIdeDynamicNavigatorDataSource_NoAccessibleTablesFound[DynamicNavigatorDataSource_NoModelsRegisteredWDynamicNavigatorDataSource_NoTablesInModels_ExpressionParser_AmbiguousConstructorInvocationWExpressionParser_AmbiguousIndexerInvocationUExpressionParser_AmbiguousMethodInvocationWExpressionParser_ArgsIncompatibleWithLambdaQExpressionParser_BothTypesConvertToOtherGExpressionParser_CannotConvertValueiExpressionParser_CannotIndexMultipleDimensionalArrayYExpressionParser_CloseBracketOrCommaExpectedUExpressionParser_CloseParenOrCommaExpected[ExpressionParser_CloseParenOrOperatorExpected=ExpressionParser_ColonExpected=ExpressionParser_DigitExpectedOExpressionParser_DotOrOpenParenExpectedIExpressionParser_DuplicateIdentifierGExpressionParser_ExpressionExpectedOExpressionParser_ExpressionTypeMismatchIExpressionParser_FirstExprMustBeBoolGExpressionParser_IdentifierExpectedKExpressionParser_IifRequiresThreeArgsIExpressionParser_IncompatibleOperandKExpressionParser_IncompatibleOperandsCExpressionParser_InvalidCharacterQExpressionParser_InvalidCharacterLiteral;ExpressionParser_InvalidIndexMExpressionParser_InvalidIntegerLiteralGExpressionParser_InvalidRealLiteral;ExpressionParser_MethodIsVoidOExpressionParser_MethodsAreInaccessibleAExpressionParser_MissingAsClauseWExpressionParser_NeitherTypeConvertsToOtherMExpressionParser_NoApplicableAggregateIExpressionParser_NoApplicableIndexerGExpressionParser_NoApplicableMethod9ExpressionParser_NoItInScopeMExpressionParser_NoMatchingConstructorIExpressionParser_OpenBracketExpectedEExpressionParser_OpenParenExpected9ExpressionParser_SyntaxError=ExpressionParser_TokenExpectedMExpressionParser_TypeHasNoNullableFormEExpressionParser_UnknownIdentifierOExpressionParser_UnknownPropertyOrFieldUExpressionParser_UnterminatedStringLiteral;Expressions_DataFieldRequiredcExtenderControl_TargetControlDifferentUpdatePanel?ExtenderControl_TargetControlIDIExtenderControl_TargetControlIDEmptyMExtenderControl_TargetControlIDInvalid1FilterRepeater_TableName5JSON_ArrayTypeNotSupportedJSON_BadEscape=JSON_CannotConvertObjectToType3JSON_CannotCreateListTypeCJSON_CannotSerializeMemberGeneric-JSON_CircularReference/JSON_DepthLimitExceeded;JSON_DeserializerTypeMismatch?JSON_DictionaryTypeNotSupported-JSON_ExpectedOpenBrace+JSON_IllegalPrimitive)JSON_InvalidArrayEnd9JSON_InvalidArrayExpectComma7JSON_InvalidArrayExtraComma-JSON_InvalidArrayStart)JSON_InvalidEnumType3JSON_InvalidMaxJsonLength-JSON_InvalidMemberName%JSON_InvalidObject5JSON_InvalidRecursionLimit5JSON_MaxJsonLengthExceeded%JSON_NoConstructor)JSON_StringNotQuoted/JSON_UnterminatedString5JSON_ValueTypeCannotBeNullQLinqDataSource_AutoGenerateOrderByClauseMLinqDataSource_AutoGenerateWhereClause/LinqDataSource_AutoPage/LinqDataSource_AutoSort;LinqDataSource_ContextCreated=LinqDataSource_ContextCreating?LinqDataSource_ContextDisposing=LinqDataSource_ContextTypeName-LinqDataSource_Deleted?LinqDataSource_DeleteParameters/LinqDataSource_Deleting5LinqDataSource_Description5LinqDataSource_DisplayName7LinqDataSource_EnableDelete7LinqDataSource_EnableInsertGLinqDataSource_EnableObjectTracking7LinqDataSource_EnableUpdate-LinqDataSource_GroupByALinqDataSource_GroupByParameters/LinqDataSource_Inserted1LinqDataSource_Inserting?LinqDataSource_InsertParameters=LinqDataSource_InvalidViewName-LinqDataSource_OrderByALinqDataSource_OrderByParameters9LinqDataSource_OrderGroupsByMLinqDataSource_OrderGroupsByParameters+LinqDataSource_Select/LinqDataSource_Selected1LinqDataSource_Selecting?LinqDataSource_SelectParameters[LinqDataSource_StoreOriginalValuesInViewState1LinqDataSource_TableName-LinqDataSource_Updated?LinqDataSource_UpdateParameters/LinqDataSource_Updating)LinqDataSource_Where=LinqDataSource_WhereParameterseLinqDataSourceValidationException_ValidationFailedILinqDataSourceView_CannotConvertTypeSLinqDataSourceView_ContextTypeNameChangedULinqDataSourceView_ContextTypeNameNotFound]LinqDataSourceView_ContextTypeNameNotSpecifiedKLinqDataSourceView_DeleteNotSupported]LinqDataSourceView_EnableObjectTrackingChangedYLinqDataSourceView_GroupByNotSupportedOnEditKLinqDataSourceView_InsertNotSupportedOLinqDataSourceView_InsertRequiresValuesKLinqDataSourceView_InvalidContextTypeULinqDataSourceView_InvalidOrderByFieldNameOLinqDataSourceView_InvalidParameterNameWLinqDataSourceView_InvalidTablePropertyTypeULinqDataSourceView_OrderByAlreadySpecified_LinqDataSourceView_OrderGroupsByRequiresGroupBySLinqDataSourceView_OriginalValuesNotFoundGLinqDataSourceView_PagingNotHandledQLinqDataSourceView_ParametersMustBeNamed]LinqDataSourceView_SelectNewNotSupportedOnEditMLinqDataSourceView_TableCannotBeStaticGLinqDataSourceView_TableNameChangedILinqDataSourceView_TableNameNotFoundQLinqDataSourceView_TableNameNotSpecifiedKLinqDataSourceView_UpdateNotSupportedGLinqDataSourceView_ValidationFailedQLinqDataSourceView_WhereAlreadySpecifiedAListView_AlternatingItemTemplateIListView_ContainerNameMustNotBeEmptyCListView_ConvertEmptyStringToNull+ListView_DataKeyNamesIListView_DataKeyNamesMustBeSpecified#ListView_DataKeysMListView_DataSourceDoesntSupportPagingkListView_DataSourceMustBeCollectionWhenNotDataBinding%ListView_EditIndex#ListView_EditItem3ListView_EditItemTemplate5ListView_EmptyDataTemplate5ListView_EmptyItemTemplateMListView_EnableDataBoundControlManager=ListView_EnableModelValidationCListView_EnablePersistedSelection3ListView_GroupContainerID/ListView_GroupItemCountMListView_GroupItemCountNoGroupTemplate?ListView_GroupSeparatorTemplate-ListView_GroupTemplate'ListView_InsertItem7ListView_InsertItemPosition7ListView_InsertItemTemplate?ListView_InsertTemplateRequired-ListView_InvalidCancel/ListView_InvalidCommand-ListView_InvalidDelete)ListView_InvalidEdit-ListView_InvalidInsert-ListView_InvalidSelect-ListView_InvalidUpdate5ListView_ItemPlaceholderIDListView_Items=ListView_ItemSeparatorTemplate5ListView_ItemsNotDataItems+ListView_ItemTemplate;ListView_ItemTemplateRequired/ListView_LayoutTemplateCListView_Missing_VirtualItemCountOListView_NeedICollectionOrTotalRowCount7ListView_NoGroupPlaceholder+ListView_NoInsertItem5ListView_NoItemPlaceholder#ListView_NullView1ListView_OnItemCanceling-ListView_OnItemCommand-ListView_OnItemCreated1ListView_OnItemDataBound-ListView_OnItemDeleted/ListView_OnItemDeleting-ListView_OnItemEditing/ListView_OnItemInserted1ListView_OnItemInserting-ListView_OnItemUpdated/ListView_OnItemUpdating1ListView_OnLayoutCreatedAListView_OnPagePropertiesChangedCListView_OnPagePropertiesChanging?ListView_OnSelectedIndexChangedAListView_OnSelectedIndexChanging#ListView_OnSorted%ListView_OnSortingaListView_PersistedSelectionRequiresDataKeysNames-ListView_SelectedIndex;ListView_SelectedItemTemplate-ListView_SortDirection/ListView_SortExpression5ListView_StyleNotSupportedIListView_StylePropertiesNotSupported/ListView_UnhandledEventMListViewPagedDataSource_CannotGetCountgListViewPagedDataSource_EnumeratorMoveNextNotCalledeMethodExpression_ChangingTheReturnTypeIsNotAllowedgMethodExpression_DataSourceMustBeIDynamicDataSource_MethodExpression_FirstParamterMustBeCorrectTypeGMethodExpression_MethodMustBeStaticUMethodExpression_MethodNameMustBeSpecified?MethodExpression_MethodNotFoundEMethodExpression_ParameterNotFoundKNextPreviousPagerField_ButtonCssClassCNextPreviousPagerField_ButtonTypeQNextPreviousPagerField_FirstPageImageUrlINextPreviousPagerField_FirstPageTextONextPreviousPagerField_LastPageImageUrlGNextPreviousPagerField_LastPageTextONextPreviousPagerField_NextPageImageUrlGNextPreviousPagerField_NextPageTextWNextPreviousPagerField_PreviousPageImageUrlONextPreviousPagerField_PreviousPageTextiNextPreviousPagerField_RenderDisabledButtonsAsLabels{NextPreviousPagerField_RenderNonBreakingSpacesBetweenControlsUNextPreviousPagerField_ShowFirstPageButtonSNextPreviousPagerField_ShowLastPageButtonSNextPreviousPagerField_ShowNextPageButton[NextPreviousPagerField_ShowPreviousPageButtonONextPrevPagerField_DefaultFirstPageTextMNextPrevPagerField_DefaultLastPageTextMNextPrevPagerField_DefaultNextPageTextUNextPrevPagerField_DefaultPreviousPageText;NumericPagerField_ButtonCount9NumericPagerField_ButtonTypeUNumericPagerField_CurrentPageLabelCssClassKNumericPagerField_DefaultNextPageTextSNumericPagerField_DefaultPreviousPageTextENumericPagerField_NextPageImageUrl=NumericPagerField_NextPageTextYNumericPagerField_NextPreviousButtonCssClassONumericPagerField_NumericButtonCssClassMNumericPagerField_PreviousPageImageUrlENumericPagerField_PreviousPageTextqNumericPagerField_RenderNonBreakingSpacesBetweenControls?OfTypeExpression_CannotFindTypeKOfTypeExpression_TypeNameNotSpecifiediPageRequestManager_RegisterDataItemInNonAsyncRequestQPageRequestManager_RegisterDataItemTwiceAPagerFieldCollection_InvalidTypeKPagerFieldCollection_InvalidTypeIndexGParseException_ParseExceptionFormatmProfileServiceManager_LoadProperitesWithNonDefaultPathIProfileServiceManager_LoadProperties=ProxyGenerator_UnsupportedType3ProxyHelper_BadStatusCodeeQueryExtender_DataSourceMustBeIQueryableDataSource3QueryExtender_ExpressionsIRangeExpression_MaximumValueRequiredIRangeExpression_MinimumValueRequiredQRangeExpression_RangeTypeMustBeSpecifiedARoleService_RoleProviderNotFoundERoleService_RolesFeatureNotEnabled9RoleServiceManager_LoadRoles]RoleServiceManager_LoadRolesWithNonDefaultPathKScriptControlDescriptor_IDNotSettablecScriptControlManager_ExtenderControlNotRegisteredSScriptControlManager_NoTargetControlTypesiScriptControlManager_RegisterExtenderControlTooEarlygScriptControlManager_RegisterExtenderControlTooLateeScriptControlManager_RegisterScriptControlTooEarlycScriptControlManager_RegisterScriptControlTooLate_ScriptControlManager_ScriptControlNotRegistered[ScriptControlManager_TargetControlTypeInvalidGScriptManager_AjaxFrameworkAssembly?ScriptManager_AjaxFrameworkModeOScriptManager_AllowCustomErrorsRedirectAScriptManager_AsyncPostBackErrorOScriptManager_AsyncPostBackErrorMessageiScriptManager_AsyncPostBackNotInPartialRenderingModeEScriptManager_AsyncPostBackTimeoutGScriptManager_AuthenticationServicesScriptManager_CannotAddHistoryPointOutsideOfAsyncPostBackmScriptManager_CannotAddHistoryPointWithHistoryDisabledWScriptManager_CannotChangeAjaxFrameworkModeGScriptManager_CannotChangeEnableCdnWScriptManager_CannotChangeEnableCdnFallbackOScriptManager_CannotChangeEnableHistoryaScriptManager_CannotChangeEnablePartialRenderinggScriptManager_CannotChangeEnableScriptGlobalizationeScriptManager_CannotChangeSupportsPartialRenderingSScriptManager_CannotRegisterBothPostBacksScriptManager_CannotRegisterScriptInMultipleCompositeReferenceswScriptManager_CannotSetSupportsPartialRenderingWhenDisabledGScriptManager_ClientNavigateHandler;ScriptManager_CompositeScript5ScriptManager_EmptyPageUrl/ScriptManager_EnableCdn?ScriptManager_EnableCdnFallback7ScriptManager_EnableHistory?ScriptManager_EnablePageMethodsIScriptManager_EnablePartialRenderingOScriptManager_EnableScriptGlobalizationMScriptManager_EnableScriptLocalizationMScriptManager_EnableSecureHistoryStateGScriptManager_FrameworkFailedToLoadQScriptManager_InvalidControlRegistrationCScriptManager_LoadScriptsBeforeUIIScriptManager_MustHaveGreaterVersion-ScriptManager_NavigateEScriptManager_OnlyOneScriptManager5ScriptManager_PageUntitled9ScriptManager_ProfileService[ScriptManager_ResolveCompositeScriptReferenceIScriptManager_ResolveScriptReference3ScriptManager_RoleService1ScriptManager_ScriptMode1ScriptManager_ScriptPath+ScriptManager_Scripts-ScriptManager_ServicesMScriptManager_UpdatePanelNotRegistered1ScriptReference_AssemblyIScriptReference_AssemblyRequiresNameAScriptReference_IgnoreScriptPathQScriptReference_InvalidReleaseScriptNameQScriptReference_InvalidReleaseScriptPath)ScriptReference_NameQScriptReference_NameAndPathCannotBeEmptyEScriptReference_NotifyScriptLoaded)ScriptReference_PathYScriptReference_ResourceRequiresAjaxAssemblyEScriptReference_ResourceUICultures5ScriptReference_ScriptModeUScriptRegistrationManager_ControlNotOnPageMScriptRegistrationManager_InvalidCharsIScriptRegistrationManager_NoCloseTagAScriptRegistrationManager_NoTagsIScriptResourceDefinition_InvalidPathcScriptResourceDefinition_NameAndPathCannotBeEmpty]ScriptResourceHandler_DuplicateScriptResourcesIScriptResourceHandler_InvalidRequestQScriptResourceHandler_ResourceUrlTooLongMScriptResourceHandler_TypeNameMismatchKScriptResourceHandler_UnknownResourceESearchExpression_ParameterRequired;ServiceReference_InlineScript+ServiceReference_PathEServiceReference_PathCannotBeEmpty%ServiceUriNotFoundGSqlHelper_SqlEverywhereNotInstalledCTemplatePagerField_OnPagerCommandATemplatePagerField_PagerTemplateCTemplatePagerField_UnhandledEventGTimer_IntervalMustBeGreaterThanZero#Timer_TimerEnable'Timer_TimerIntervalTimer_TimerTickCUnhandledExceptionEventLogMessageSUpdatePanel_CannotModifyControlCollectionIUpdatePanel_CannotSetContentTemplate=UpdatePanel_ChildrenAsTriggersWUpdatePanel_ChildrenTriggersAndUpdateAlways-UpdatePanel_RenderMode[UpdatePanel_SetPartialRenderingModeCalledOnce)UpdatePanel_Triggers;UpdatePanel_UpdateConditional-UpdatePanel_UpdateMode3UpdatePanel_UpdateTooLateGUpdatePanelControlTrigger_ControlIDSUpdatePanelControlTrigger_ControlNotFoundKUpdatePanelControlTrigger_NoControlIDMUpdateProgress_AssociatedUpdatePanelID7UpdateProgress_DisplayAfterEUpdateProgress_DisplayAfterInvalid9UpdateProgress_DynamicLayout9UpdateProgress_NoUpdatePanel?UpdateProgress_ProgressTemplate-UserIsNotAuthenticatedmWebResourceUtil_AssemblyDoesNotContainDebugWebResourcemWebResourceUtil_AssemblyDoesNotContainEmbeddedResourceqWebResourceUtil_AssemblyDoesNotContainReleaseWebResourceWebResourceUtil_SystemWebExtensionsDoesNotContainReleaseWebResource!WebService_ErrorIWebService_InvalidGenerateScriptTypeGWebService_InvalidInlineVirtualPath;WebService_InvalidVerbRequestAWebService_InvalidWebServiceCall?WebService_InvalidXmlReturnType+WebService_MissingArgGWebService_NoScriptServiceAttribute7WebService_NoWebServiceDataOWebService_NoWebServiceDataInlineScript1WebService_RedirectError7WebService_UnknownWebMethodISystem.Web.Resources.WCFModelStringsCReferenceGroup_AppendLinePosition]ReferenceGroup_DataContractExcludedAndIncludedIReferenceGroup_DuplicatedSchemaItemsWReferenceGroup_DuplicatedSchemaItemsIgnored7ReferenceGroup_EmptyAddress9ReferenceGroup_EmptyProtocolGReferenceGroup_FailedToGenerateCodeGReferenceGroup_FailedToLoadAssemblysReferenceGroup_FieldDefinedDifferentlyInDuplicatedMessagegReferenceGroup_FieldDefinedInOneOfDuplicatedMessage=ReferenceGroup_InvalidFileName=ReferenceGroup_InvalidSourceIdUReferenceGroup_OperationDefinedDifferentlyReferenceGroup_OperationDefinedInOneOfDuplicatedServiceContract]ReferenceGroup_ServiceContractMappingMissMatchKReferenceGroup_SharedTypeMustBePublicWReferenceGroup_TwoExternalFilesWithSameName	role	.axderror}System.Web.UI.PageRequestManager:AsyncPostBackRedirectLocation pageRedirect)~/ScriptResource.axd<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head><script type="text/javascript">parent.Sys.Application._onIFrameLoad();</script><title>G</title></head><body></body></html>dtext/javascript!Content-encodingsystem.web.extensions/scripting/webServices/authenticationServiceenabledrequireSSLconvertersrecursionLimitmaxJsonLengthusystem.web.extensions/scripting/webServices/profileService)readAccessProperties+writeAccessPropertiesosystem.web.extensions/scripting/webServices/roleServiceenableCaching#enableCompressionwebServices+scriptResourceHandler#jsonSerializationprofileService+authenticationServiceroleServicescripting1PageMethods.prototype = %var PageMethods = PageMethods	pathSystem.ServiceModel.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35}System.ServiceModel.Description.WCFServiceClientProxyGenerator)GetClientProxyScript1application/x-javascripttext/xml{"d":!application/jsonMessageStackTraceExceptionTypejsonerror#application/json;
StringBoolean
Number	Date
ObjectArray#If-Modified-Since7Profile_JSON_AppService.axdEAuthentication_JSON_AppService.axd1Role_JSON_AppService.axdUSystem.Web.Script.Services.WebServiceData:_AppService.axdmethodName	byteunsignedByteshortunsignedShortintunsignedInt	longunsignedLong{0}:{1}ActualTypeghttp://schemas.microsoft.com/2003/10/Serialization/!EnumerationValueunbounded
stringNamespace!.registerClass(';',Sys.Net.WebServiceProxy);

function() {

1.initializeBase(this);

}

{

_get_path:function() {

 var p = this.get_path();

 if (p) return p;

 else return A._staticInstance.get_path();},

,

)this._timeout = 0;

7this._userContext = null;

3this._succeeded = null;

-this._failed = null;

= function(=onSuccess,onFailed,userContext) {

#._staticInstance.
); }

/._staticInstance = new ();

?.set_path = function(value) {

K._staticInstance.set_path(value); }

.get_path = function() { 

/// <value type="String" mayBeNull="true">The service url.</value>

return ?._staticInstance.get_path();}

E.set_timeout = function(value) {

Q._staticInstance.set_timeout(value); }

.get_timeout = function() { 

/// <value type="Number">The service timeout.</value>

return G._staticInstance.get_timeout(); }

].set_defaultUserContext = function(value) { 

g._staticInstance.set_defaultUserContext(value); }

.get_defaultUserContext = function() { 

/// <value mayBeNull="true">The service default user context.</value>

return ]._staticInstance.get_defaultUserContext(); }

k.set_defaultSucceededCallback = function(value) { 

 s._staticInstance.set_defaultSucceededCallback(value); }

'.get_defaultSucceededCallback = function() { 

/// <value type="Function" mayBeNull="true">The service default succeeded callback.</value>

return i._staticInstance.get_defaultSucceededCallback(); }

c.set_defaultFailedCallback = function(value) { 

m._staticInstance.set_defaultFailedCallback(value); }

.get_defaultFailedCallback = function() { 

/// <value type="Function" mayBeNull="true">The service default failed callback.</value>

return c._staticInstance.get_defaultFailedCallback(); }

K.set_enableJsonp = function(value) { Y._staticInstance.set_enableJsonp(value); }

'.get_enableJsonp = function() { 

/// <value type="Boolean">Specifies whether the service supports JSONP for cross domain calling.</value>

return O._staticInstance.get_enableJsonp(); }

a.set_jsonpCallbackParameter = function(value) { o._staticInstance.set_jsonpCallbackParameter(value); }

c.get_jsonpCallbackParameter = function() { 

/// <value type="String">Specifies the parameter name that contains the callback function name for a JSONP request.</value>

return e._staticInstance.get_jsonpCallbackParameter(); }

=.set_path = function(value) { A.get_path = function() { return A._staticInstance.get_path(); }

C.set_timeout = function(value) { G.get_timeout = function() { return Y.set_defaultUserContext = function(value) { ].get_defaultUserContext = function() { return e.set_defaultSucceededCallback = function(value) { i.get_defaultSucceededCallback = function() { return _.set_defaultFailedCallback = function(value) { c.get_defaultFailedCallback = function() { return O.get_enableJsonp = function() { return e.get_jsonpCallbackParameter = function() { return https://://.set_path("");

3.set_enableJsonp(true);

callback9.set_jsonpCallbackParameter(	);

#/// <param name=" type="></param>

]succeededCallback, failedCallback, userContextfunction() {

Mreturn this._invoke(this._get_path(), c,succeededCallback,failedCallback,userContext); }}var gtc = Sys.Net.WebServiceProxy._generateTypedConstructor;

if (typeof(-) === 'undefined') {

gtc("');

}

	var g = function() { throw Error.invalidOperation(); }

.prototype = {: .registerEnum(', true);

}

.prototype');

3) === "undefined") {

    = {};

}

	/// <param name="succeededCallback" type="Function" optional="true" mayBeNull="true"></param>

/// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>

/// <param name="userContext" optional="true" mayBeNull="true"></param>


__typeiCollectionCountExceeded_JavaScriptObjectDeserializere\/"^"\\/Date\((?<ticks>-?[0-9]+)(?:[a-zA-Z]|(?:\+|-)[0-9]{4})?\)\\/"ticks"\/Date(input	)\/"new Date()rD (): uAppIsOffline	.svcClientForms
/LoginuserNamepassword-createPersistentCookie
config'credentialsProvider)connectionStringNameserviceUri/savePasswordHashLocallydescription/LogoutSELECT PropertyValue FROM ApplicationProperties WHERE PropertyName = N'LastLoggedInUserName'DELETE FROM ApplicationProperties WHERE PropertyName = N'LastLoggedInUserName'INSERT INTO ApplicationProperties(PropertyName, PropertyValue) VALUES (N'LastLoggedInUserName', @UserName)@UserNameINSERT INTO ApplicationProperties(PropertyName, PropertyValue) VALUES (N'LastLoggedInDate', @Date)@DateDELETE FROM UserProperties WHERE PropertyName = @PasswordHashName#@PasswordHashNamePasswordHash_DELETE FROM UserProperties WHERE PropertyName = @PasswordSaltName#@PasswordSaltNamePasswordSalt_INSERT INTO UserProperties(PropertyName, PropertyValue) VALUES (@PasswordHashName, @PasswordHashValue)%@PasswordHashValueINSERT INTO UserProperties(PropertyName, PropertyValue) VALUES (@PasswordSaltName, @PasswordSaltValue)%@PasswordSaltValue/IsLoggedInSELECT PropertyValue FROM UserProperties WHERE PropertyName = @PasswordHashNameSELECT PropertyValue FROM UserProperties WHERE PropertyName = @PasswordSaltNamecacheTimeout#honorCookieExpiryusername//GetRolesForCurrentUserYDELETE FROM Roles WHERE UserName = @UserNameDELETE FROM UserProperties WHERE PropertyName = @RolesCachedDate!@RolesCachedDate!RolesCachedDate_INSERT INTO Roles(UserName, RoleName) VALUES(@UserName, @RoleName)@RoleNameINSERT INTO UserProperties (PropertyName, PropertyValue) VALUES(@RolesCachedDate, @Date)SELECT PropertyValue FROM UserProperties WHERE PropertyName = @RolesCachedDateSELECT RoleName FROM Roles WHERE UserName = @UserName ORDER BY RoleName-/GetPropertiesMetadataCClientSettingsProvider.ServiceUriWClientSettingsProvider.ConnectionStringNameQClientSettingsProvider.HonorCookieExpiry#SettingsClassTypeDefaultproperties+authenticatedUserOnly9/GetPropertiesForCurrentUser
values9/SetPropertiesForCurrentUserSELECT PropertyName, PropertyStoredAs, PropertyValue FROM SettingsSBNgDELETE FROM Settings WHERE PropertyName = @PropName@PropNameINSERT INTO Settings (PropertyName, PropertyStoredAs, PropertyValue) VALUES (@PropName, 'N', '')INSERT INTO Settings (PropertyName, PropertyStoredAs, PropertyValue) VALUES (@PropName, 'S', @PropVal)@PropValINSERT INTO Settings (PropertyName, PropertyStoredAs, PropertyValue) VALUES (@PropName, 'B', @PropVal)NeeedToDoReset10!IsCacheMoreFreshSELECT PropertyValue FROM Settings WHERE PropertyName = @PropName AND PropertyStoredAs='I'DELETE FROM Settings WHERE PropertyName = @PropName AND PropertyStoredAs='I'INSERT INTO Settings (PropertyName, PropertyStoredAs, PropertyValue) VALUES  (@PropName, 'I', @PropValue)@PropValueUserValidatedOnUserValidated?application/json; charset=utf-8Set-CookieparamValues:Q = HttpOnly|FILES||SQL/CE|.SqlServerCe%|Isolated_Storage|SELECT PropertyValue FROM UserProperties WHERE PropertyName = @PropNameCookieName_DELETE FROM UserProperties WHERE PropertyName LIKE N'CookieName_%' AND PropertyValue LIKE @PropValue=%INSERT INTO UserProperties (PropertyName, PropertyValue) VALUES (@PropName, @PropValue)DELETE FROM UserProperties WHERE PropertyName LIKE N'CookieName_%'_DB.spfSqlCeEngineCreateDatabaseCREATE TABLE ApplicationProperties (PropertyName nvarchar(256), PropertyValue nvarchar(256))CREATE TABLE UserProperties (PropertyName nvarchar(256), PropertyValue nvarchar(256))CREATE TABLE Roles (UserName nvarchar(256), RoleName nvarchar(256))CREATE TABLE Settings (PropertyName nvarchar(256), PropertyStoredAs nvarchar(1), PropertyValue nvarchar(2048))1System.Data.SqlServerCe.3, System.Data.SqlServerCe, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, System.Data.SqlServerCe, Version=3.0.3600.0, Culture=neutral, PublicKeyToken=3be235df1c8d2ad3SqlCeConnectionSqlCeParameterApplicationUser_ClientData_System.Web.Extensions.ClientServices.ClientDataXaSystem.Web.Extensions.ClientServices.ClientData\.clientdata)LastLoggedInUserName'LastLoggedInDateUtcPasswordHashPasswordSaltRoles%RolesCachedDateUtcSettingsNames!SettingsStoredAsSettingsValues#SettingsNeedReset1SettingsCacheIsMoreFreshCookieNamesCookieValues+AuthenticationServiceProfileServiceRoleService	form
actionSys.UI._TimerintervaluniqueID+MicrosoftAjaxTimer.js-Sys.UI._UpdateProgress/associatedUpdatePanelIddynamicLayoutdisplayAfterUZR&t=|#|?d=/~/ScriptResource.axd?d=T{system.web.extensions/scripting/webServices/jsonSerializationksystem.web.extensions/scripting/scriptResourceHandler0,OB:4        = y 	 y}	 y  Q1QQQ     1	     	   ! )ah i     
  
  @$	    	 i  	t|x       i I  	  @( 9 `Xpx                  

  

  =)      .
A  M    	 

  	 
  	$  
 -159= )	 !9! D<A i iah  ) ! 51	
 	E9E
1x= MMa81Q= = E] - M  MY]eHHaH	 eeH)  Y ]
UY-11a1=e a e   9	99a me  y 	}aapaa|alat	   1=  } 	x

xax
  `     
`  	 ehheHHeh	h	
h		
	H
H
   !% ) ) 


 	
 Ca9=a=9=e==a9=a=e=  =A=9== A = x	EEE E 
111 11
11111=Q
111  	E E	EE 

Iaxax9yiaYUY]aPaYaUaY]aP#	ie889epp	 9U	   e8
 99
 ep;TmPeYY]UU--
 uu0
T		Y	
Y m UeY mY]UU
 U 
 ---qu 9   u  u E7
y}epp	 
  }eiii\eeii e  PP]]PP]]7
aiie||iaie|	iiaeae)a
yuU  
 u
 u 
 u 	 $uu((uueHHa
hh
a
hh
xK
e

e

1=

e
   a

a

+u111Y=--   Y
 U
 "1Q11a1=  m  1Q1=11=    a1a=

11=99)19=19 	 

  

    ! 

 % 
   11 alahaH 
 )  
 8
aapaa|aa8  1 >9alahaHalahaH 9  9H9h		 9lr94aapaa|aa8aapaa|aa898
99|
99p 5%	alahaHatM9@alahaHatalahaHat9t
9
M 
		
aaaa	  	
 	 	 1=	 = EI !
	
U		 
EM	 Eq M		
	 


a%)%m-a%	 ) )Y -m]% 1 1 1
59 5e	9=AEIEI =i Am Eq Iy y	 y9 E	EIMQ99 M Q	 y	 yM	 yQ Q e
 ye
 eEI99	


aaE 



U		
"	aaY]aa iiY
aa ))	aeiIe	ii]9]E


a
a a
mm	aqii iqqi
I
aia i
E	Ea
Ea		a
a	L@	a@
a@		@
@
u
Um	Um	

y	yimm} 	i iii 	ee eu	 q	 ue eae i   	 LYaiaiaii aiaiaa	  	
T
X
\E	 Eq e
`
e 
  
<  1Q Q1U= 
Ma Y] ]
Ma	 e eQE E5 5	 	he1=  'dd 
ehheh   A =    =e q"aaa1=a
a
aa$aaa
a Mea
 Q	atttt	t
`a	l
ll	 lla
````
a
 aeeMiiiq
i 
	i	
i   !	1=$
i  t
 5M= @=1  
  ih@e 	
$

6aeee#aae 	te	eiiTae ie i	i
Q 
 ) 


iim	
iii	iaaaaa	iiM 'aeee)
aeee*	aee %e.aeee
ee-
aee  -   ) ) 1
=		1Y= i i
Ma 
  M=m   mi}	ii.i!! 	i	

  


(i!
i
!	!
! i i44=	1 q1DP=hh	MI	LP 1===
=D H1D=  L E=E=	I1I= 	M	UY=U Y
	
11	 y} 	 4ti9E	994aa4x|
]a a   
 x	 
9Ee

t
|
x




e44e4 IqU1Y=			
		Y e   5 a   
qqq  q	 qM 
q.a1= E Ga1=	1=
=	E E
1<<=1<
9
	 = E EEY=
 EEY		 EY ]	= EEEY	E
%


 i e






=



 I<E	  11 	 UYy
		y	
		 
Ia1=Iae	 e=MM i!E	(
a=a 	U1Y1=U EEE	 EE EEEAEEEEA
IIPL@
@(1,=	]% e %%	 eq	euu `
```	
4
a

E
%
a
	

	 \I9 9 =aa 	

9= A '
i	
imiEIM imm	m	m    
U  I	Q5MiiYY!%	 	  m i i i Me      y a a a aa1=aie  
 	
	%	A A 	! y 
m	 	  	 I 	*aqeee	 eq		

5 
 

uu			 	)99  = = yy	yy  A=9 )aq1A==a  9 9
 
 #9aa
A
=aa



M )MMM
 M M
}}} }}}}}$}}}}}
y
9

9
y9

M}} M}}}}}}}
9
}}}
 
 	 	 
"9E99EEe	 9q9	e i=
1=

EI	 
}	}1=EE9e	 9q1aEe)ee )q	))MM
 M  ) 1= = A) E< <] ]```

`

   d

8d
  d
@@	d
	d

d

1
 1AIM 	5IM 1=
= q	 Q= UXXX

X1U= 1=461=U U4#
1U=
d
1 	U!
d1U=
1Udd

	
1	eu=] 
1U=]%aeYeii  m i1m= q m u
MM   	M	MM a

q }	





q=
  	


9
u y}yy}
 }y
d}
 dd  
p
x px 1=
#U/	U2
UU =
	-- --
-
	 1= I	qmiii	mm  ee
	aaHP ehh     i
i	
("		

!		
	 	eiaiaaeiaiaeeiaeMiaeiaiammei] I]5 5 A  z\V4?_
:18V6N5$$RSA1gw:މ8e `Y>Ēe??13`!g-1
/%}oY5L9EC;&=oGP\dEk*+Ge+]4.0.0.02System.Web.Extensions.dll\ Microsoft Corporation.  All rights reserved.4.8.4110.0
303190ov"App_WebReferences.svcmap.datasvcmap Reference.configXurn:schemas-microsoft-com:xml-dataservicemapserviceVurn:schemas-microsoft-com:xml-wcfservicemapvb#4pageRedirecthiddenField.asyncPostBackControlIDs$postBackControlIDsupdatePanelIDs(asyncPostBackTimeout&childUpdatePanelIDs$panelsToRefreshIDsformActiondataItemdataItemJson arrayDeclarationexpandoonSubmitscriptBlock$scriptStartupBlockscriptDispose
errorfSystem.Web.UI.PageRequestManager:AsyncPostBackErrortSystem.Web.UI.PageRequestManager:AsyncPostBackErrorMessagevSystem.Web.UI.PageRequestManager:AsyncPostBackErrorHttpCode|System.Web.UI.PageRequestManager:AsyncPostBackRedirectLocationpageTitle
focus__ASYNCPOST|ZupdatePanelDefaultView_!ItemCountctrlOrderByThenBy"OrderByDescending ThenByDescending(~/ScriptResource.axd|System.ServiceModel.Description.WCFServiceClientProxyGenerator(GetClientProxyScript/js/jsdebug6Profile_JSON_AppService.axdDAuthentication_JSON_AppService.axd0Role_JSON_AppService.axdfhttp://schemas.microsoft.com/2003/10/Serialization/string@http://www.w3.org/2001/XMLSchemaActualTypeNameNamespace EnumerationValueunbounded"\/Date(\/"__typed |SQL/CE||FILES|,Data Source = |SQL/CE|$|Isolated_Storage|
^System.Web.Extensions.ClientServices.ClientData
discoBhttp://schemas.xmlsoap.org/disco/wsdl@http://schemas.xmlsoap.org/wsdl/xsdHurn:schemas-microsoft-com:xml-msdatawsx&WS-MetadataExchangeRhttp://schemas.xmlsoap.org/ws/2004/09/mexwsdl-exhttp://schemas.microsoft.com/ws/2005/01/WSDL/Extensions/ContractInheritancexmlHhttp://www.w3.org/XML/1998/namespacewsa`http://schemas.xmlsoap.org/ws/2004/08/addressingwsuhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsdwspXhttp://schemas.xmlsoap.org/ws/2004/09/policy<http://www.w3.org/ns/ws-policyZhttp://schemas.microsoft.com/ado/2007/06/edmx	
discoverydefinitionsschemaIsDataSetMetadatabaseid"EndpointReferenceIdPolicyURIsPolicyReferenceAllExactlyOnePolicyEdmx.System.Security.Permissions.SecurityPermissionAttribute, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089T	Execution.System.Security.Permissions.PermissionSetAttribute, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089TName	FullTrust.System.Security.Permissions.PermissionSetAttribute, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089TUnrestricted.System.Configuration.ConfigurationPermissionAttribute, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aTUnrestricted.System.Security.Permissions.FileIOPermissionAttribute, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089TUnrestricted		aap	aa|a8@alahaHat	ax14	U		aYY]aP9Ux5xa99!

}iipe TX\`4h5t	a	ala
at`a
lTP\X	ax,L
	a	a	a	a	aiE$ 8HhDP<=dqE
p	a4`	5IA\Ll!	(q
%	`0T\|Meim





u9M
(		`=AE	Xd	p	x		id		h			HauD	Ea
	a	a@@@Lpx	i(		!

	1q	}A0		 
  
   	 $  ) ) 9I	IMx9II9	 U	 
 a	 ap
 a  	 a|	 a8 @ @	 al	 ah	 aH	 at ` `      i i
 i	 x
 x ` ` h H ` `x         ) 
  -
  
 
     5x$9=a=5x==
EII	11qq11	1q	II=EE   4 4
 U	 P
 
 Y
 Y] 9aA 	ax9UUaYY]aPx
UEUXi4y9UX5xAyi9UaY5xY]aPq49Ey49EX5x4X5xP]9i4X5x4X5x"
yU9EX5xuu
a
h5x	xha
5x5
5x+y95xaYU99	E

 5x5x 	 	 	 	 	 	 99 	  0	 
 	 H	 h 	 l	 4	 8
 	 | 
  	 p  H h  l 4 8  |    p       	 @	 t @ t   			
		
	  
 	 
 95
 59
 
 
  
    	  
     
 
 i a a
a aa
 @ 
@@  e    	 	iii pe pMaM        
 T T X X \ \``	 	e 4	 ph h
 
   5 9 H d  M
 	0 0 ` l  	 aapI 	 aM
aaaMaaa
    M	 a at  t M	  `a l aala`  	 ThP\Xi P  , , T Xii \ t t x 
 a        @ $   a aX
 
 
 
 
  i	 t  @ $ 


 aa 
Hi aatH
 @
 L  
 i  i	 	 iii
i  i T  ii L L  
 a
 a
 a
 a
 a 	 a a aa
iM	i
iMM
MMM	iM 
 i 	 i ii !i	i	  	 	          $ $   i
iii h 8 8
 
 \ i  4  H ) h h   
 D1P P D < D
 P < D H< D D D D
 P1	 D<AAAEEEAEEAEEEE 	    ] ]
 ae a     A  t | x         	II% qE	 
  
 p p\` 4  ] i  t | x    
     	 EE E EEE      d d
 5                
  I   5d 	   
 E	  < 	                            
 1  E    Y 	 	 P
 	  P  	   EE\\
 q q  EE 	Y EE E EEE 
  q% Eq   l l 0 L  @ @ (  (
  l , , , , ,			
le
 `
 T TT \ \ ) )	  imii|iaia9Q
| i aiam m            a  ii h
h  YA	A			
=  	i	   e 
     
    
      
 

 
   
 
	  e   
    u  u 9
	9a99999  MMM     
  }M	 }	}  
   
 00   M
 MM	M	MM M i EM M IMM Mi }


	
  
 	 ( (   	
 	  `	 	    !%   ! ! ! 	 )
 )  A
A =QA = Q	 QA UQ X	=A = ` 8
ee	

M	  



y yddpx p x  p     	U -   
	
 i  h H   	 11 Y	 	 	 
   }} 		 

   

	 yy }} }	}	 }
}
 }} }} }
}
 }y}y 	 	 	  }} }} }} }}	  }}	 	  }} }}  
 y	 }	 }
	 }	 }
 }y	 } aE a @a
  @
   	   x	 M
 i 
 
  ! Y  1 q    
 	 A ((((((((((
(a	(ap
(a(	(a|	(a8(@	(al	(ah	(aH	(at((	(x((((((((((4
(U	(P
(
(Y
(Y](U(9a(((	((	((e(p(i(( (T(X(\`((4(h(9	((H(d(A(E(I((M((((	(a(at((`a(l(i(P((,(T(Xi(\(t(x(
(a(((((
(@((L(
(a
(a
(a
(a
(a((((((( ($((8(H()(P(D((<(D((A(((q	((E(((((((((d
(5((((i(I(((	(((l(0(L(!((,(e
(`(T(\()(m(((((((((((
(
(((
(((
((
((u9(
(
((((((	(((((	
(i((x((System.Web,lfSystem.Web.Extensions.Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010007d1fa57c4aed9f0a32e84aa0faefd0de9e8fd6aec8f87fb03766c834c99921eb23be79ad9d5dcc1dd9ad236132102900b723cf980957fc4e177108fc607774f29e8320e92ea05ece4e821c0a5efe8f1645c4c0c93c1ab99285d622caa652c1dfad63d745d6f2de5f17e5eaf0fc4963d261c8a12436518206dc093344d5ad293nhSystem.Web.Extensions.Design, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9icSystem.ServiceModel.Web, PublicKey=0024000004800000940000000602000000240000525341310004000001000100b5fc90e7027f67871e773a8fde8938c81dd402ba65b9201d60593e96c492651e889cc13f1415ebb53fac1131ae0bd333c5ee6021672d9718ea31a8aebd0da0072f25d87dba6fc90ffd598ed4da35e44c398c454307e8e33b8426143daec9f596836f97c8f74750e5975c64e2189f45def46b2a2b1247adc3652bf5c308055da9MicrosoftAjax.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath5http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjax.jsTLoadSuccessExpression.window.Sys && Sys._Application && Sys.Observer#MicrosoftAjaxApplicationServices.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathHhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxApplicationServices.jsTLoadSuccessExpressionwindow.Sys && Sys.ServicesMicrosoftAjaxComponentModel.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathChttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxComponentModel.jsTLoadSuccessExpression"window.Sys && Sys.CommandEventArgsMicrosoftAjaxCore.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath9http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxCore.jsTLoadSuccessExpressionwindow.Type && Sys.ObserverMicrosoftAjaxGlobalization.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathBhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxGlobalization.jsTLoadSuccessExpressionwindow.Sys && Sys.CultureInfoMicrosoftAjaxHistory.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath<http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxHistory.jsTLoadSuccessExpression"window.Sys && Sys.HistoryEventArgsMicrosoftAjaxNetwork.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath<http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxNetwork.jsTLoadSuccessExpression3window.Sys && Sys.Net && Sys.Net.WebRequestExecutorMicrosoftAjaxSerialization.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathBhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxSerialization.jsTLoadSuccessExpressionwindow.Sys && Sys.SerializationMicrosoftAjaxTimer.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath:http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxTimer.jsTLoadSuccessExpression%window.Sys && Sys.UI && Sys.UI._TimerMicrosoftAjaxWebForms.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath=http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxWebForms.jsTLoadSuccessExpressionwindow.Sys && Sys.WebFormsMicrosoftAjaxWebServices.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath@http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxWebServices.jsTLoadSuccessExpression0window.Sys && Sys.Net && Sys.Net.WebServiceProxy.Date.HijriCalendar.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath:http://ajax.aspnetcdn.com/ajax/4.6/1/Date.HijriCalendar.jsTLoadSuccessExpression~window.Type && Type._registerScript && Type._registerScript._scripts && Type._registerScript._scripts['Date.HijriCalendar.js']8Date.UmAlQuraCalendar.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath=http://ajax.aspnetcdn.com/ajax/4.6/1/Date.UmAlQuraCalendar.jsTLoadSuccessExpressionwindow.Type && Type._registerScript && Type._registerScript._scripts && Type._registerScript._scripts['Date.UmAlQuraCalendar.js']MicrosoftAjax.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath;http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjax.debug.jsTLoadSuccessExpression.window.Sys && Sys._Application && Sys.Observer)MicrosoftAjaxApplicationServices.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathNhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxApplicationServices.debug.jsTLoadSuccessExpressionwindow.Sys && Sys.Services$MicrosoftAjaxComponentModel.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathIhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxComponentModel.debug.jsTLoadSuccessExpression"window.Sys && Sys.CommandEventArgsMicrosoftAjaxCore.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath?http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxCore.debug.jsTLoadSuccessExpressionwindow.Type && Sys.Observer#MicrosoftAjaxGlobalization.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathHhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxGlobalization.debug.jsTLoadSuccessExpressionwindow.Sys && Sys.CultureInfoMicrosoftAjaxHistory.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathBhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxHistory.debug.jsTLoadSuccessExpression"window.Sys && Sys.HistoryEventArgsMicrosoftAjaxNetwork.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathBhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxNetwork.debug.jsTLoadSuccessExpression3window.Sys && Sys.Net && Sys.Net.WebRequestExecutor#MicrosoftAjaxSerialization.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathHhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxSerialization.debug.jsTLoadSuccessExpressionwindow.Sys && Sys.SerializationMicrosoftAjaxTimer.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath@http://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxTimer.debug.jsTLoadSuccessExpression%window.Sys && Sys.UI && Sys.UI._TimerMicrosoftAjaxWebForms.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathChttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxWebForms.debug.jsTLoadSuccessExpressionwindow.Sys && Sys.WebForms!MicrosoftAjaxWebServices.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathFhttp://ajax.aspnetcdn.com/ajax/4.6/1/MicrosoftAjaxWebServices.debug.jsTLoadSuccessExpression0window.Sys && Sys.Net && Sys.Net.WebServiceProxy:Date.HijriCalendar.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPath@http://ajax.aspnetcdn.com/ajax/4.6/1/Date.HijriCalendar.debug.jsTLoadSuccessExpression~window.Type && Type._registerScript && Type._registerScript._scripts && Type._registerScript._scripts['Date.HijriCalendar.js']DDate.UmAlQuraCalendar.debug.jsapplication/x-javascriptTCdnSupportsSecureConnectionTCdnPathChttp://ajax.aspnetcdn.com/ajax/4.6/1/Date.UmAlQuraCalendar.debug.jsTLoadSuccessExpressionwindow.Type && Type._registerScript && Type._registerScript._scripts && Type._registerScript._scripts['Date.UmAlQuraCalendar.js']DMicrosoftAjax.js&System.Web.Resources.ScriptLibrary.ResSys.ResPMicrosoftAjax.debug.js,System.Web.Resources.ScriptLibrary.Res.debugSys.ResHMicrosoftAjaxCore.js&System.Web.Resources.ScriptLibrary.ResSys.ResTMicrosoftAjaxCore.debug.js,System.Web.Resources.ScriptLibrary.Res.debugSys.Res^MicrosoftAjaxWebForms.js/System.Web.Resources.ScriptLibrary.WebForms.ResSys.WebForms.ResjMicrosoftAjaxWebForms.debug.js5System.Web.Resources.ScriptLibrary.WebForms.Res.debugSys.WebForms.Res
System.Web.UIasp"System.Web.UI.WebControlsaspTUxSystem.Security.PartialTrustVisibilityLevel, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089PartialTrustVisibilityLevel$TSkipVerificationInFullTrustSystem.Web.Extensions.dllMicrosoft CorporationMicrosoft® .NET Framework4/© Microsoft Corporation.  All rights reserved.
4.8.4110.04.0.0.0
en-US-(f:\dd\tools\devdiv\35MSSharedLib1024.snkTWrapNonExceptionThrows=8System.Web.Util.OrderedDictionary`2+<GetEnumerator>d__18HCSystem.Web.Query.Dynamic.ExpressionParser+<SelfAndBaseClasses>d__78-(Use IsAjaxFrameworkScript(ScriptManager)OJThis method is obsolete. Use IsAjaxFrameworkScript(ScriptManager) instead.4/System.Web.UI.Timer+<GetScriptDescriptors>d__223.System.Web.UI.Timer+<GetScriptReferences>d__23<7System.Web.UI.UpdateProgress+<GetScriptReferences>d__28=8System.Web.UI.UpdateProgress+<GetScriptDescriptors>d__29TNameAuto"TNameDataContractSerializerTName
XmlSerializerTNameUnknownTNameDiscoTNameWsdlTNameSchemaTNamePolicyTNameXmlTNameEdmxTNameListTName
DictionaryZT	Namespace,urn:schemas-microsoft-com:xml-dataservicemapTElementNameReferenceGroupYT	Namespace+urn:schemas-microsoft-com:xml-wcfservicemapTElementNameReferenceGroup	Item	Path72System.Web.UI.EmptyStringExpandableObjectConverterTargetControlIDSystem.Web.UI.Design.ExtenderControlDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35System.Web.UI.Design.ExtenderControlToolboxItem, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&T	InheritedT
AllowMultiple&T	InheritedT
AllowMultipleScriptsSystem.Web.UI.Design.ScriptManagerDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35BEmbeddedResourceFinder&System.Web.Resources.ScriptManager.bmpSystem.Web.UI.Design.ScriptManagerProxyDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35GEmbeddedResourceFinder+System.Web.Resources.ScriptManagerProxy.bmpT
AllowMultipleT
AllowMultiple	Tick
IntervalSystem.Web.UI.Design.TimerDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35:EmbeddedResourceFinderSystem.Web.Resources.Timer.bmp
TriggersSystem.Web.UI.Design.UpdatePanelDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35@EmbeddedResourceFinder$System.Web.Resources.UpdatePanel.bmpAssociatedUpdatePanelIDSystem.Web.UI.Design.UpdateProgressDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35CEmbeddedResourceFinder'System.Web.Resources.UpdateProgress.bmpSystem.Web.UI.Design.WebControls.DataPagerDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e356#System.Web.UI.WebControls.DataPager
DataPager.bmp	SelectingContextTypeNameSystem.Web.UI.Design.WebControls.LinqDataSourceDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35LinqDataSource_DescriptionLinqDataSource_DisplayName@(System.Web.UI.WebControls.LinqDataSourceLinqDataSource.bmp
SelectedValueSystem.Web.UI.Design.WebControls.ListViewDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35SelectedIndexChanged4"System.Web.UI.WebControls.ListViewListView.bmpSelectedPersistedDataKey3.System.Web.UI.WebControls.IQueryableDataSource>'System.Web.UI.WebControls.QueryExtenderQueryExtender.bmpSystem.Web.UI.Design.QueryExtenderDesigner, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35Expressions
ParametersThenByExpressions@3System.Resources.Tools.StronglyTypedResourceBuilder4.0.0.0@3System.Resources.Tools.StronglyTypedResourceBuilder2.0.0.0'"System.Web.Configuration.ConverterT
AllowMultipleDT
AllowMultiple@&T
AllowMultipleT	InheritedTUSystem.ServiceModel.Activation.AspNetCompatibilityRequirementsMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089RequirementsMode8T	Namespace'http://asp.net/ApplicationServices/v200dT	Namespace'http://asp.net/ApplicationServices/v200TUSystem.ServiceModel.InstanceContextMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089InstanceContextModeTU{System.ServiceModel.ConcurrencyMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089ConcurrencyModeD
GetKnownTypes1System.Web.ApplicationServices.KnownTypesProvider TElementName
ExcludedTypes@ExcludedType.System.Web.Compilation.WCFModel.ReferencedType$TElementNameNamespaceMappingsFNamespaceMapping0System.Web.Compilation.WCFModel.NamespaceMapping%TElementNameCollectionMappingsOCollectionMapping8System.Web.Compilation.WCFModel.ReferencedCollectionType'TElementNameReferencedAssembliesJReferencedAssembly2System.Web.Compilation.WCFModel.ReferencedAssembly.TElementNameReferencedDataContractTypesNReferencedDataContractType.System.Web.Compilation.WCFModel.ReferencedType*TElementNameServiceContractMappingsKServiceContractMapping/System.Web.Compilation.WCFModel.ContractMapping.TElementNameMetadataSourcesTOrderBMetadataSource.System.Web.Compilation.WCFModel.MetadataSource'TElementNameMetadataTOrder>MetadataFile,System.Web.Compilation.WCFModel.MetadataFile)TElementName
ExtensionsTOrder@
ExtensionFile-System.Web.Compilation.WCFModel.ExtensionFile)TElementName
ParametersTOrder8	Parameter)System.Web.Compilation.WCFModel.ParameterMetadataType,TElementName
ClientOptionsTOrder.TElementNameMetadataSourcesTOrder'TElementNameMetadataTOrder)TElementName
ExtensionsTOrderSystem.Web.UI.Design.AsyncPostBackTriggerControlIDConverter, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
Behavior#AsyncPostBackTrigger_EventNameSystem.Web.UI.Design.AsyncPostBackTriggerEventNameConverter, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35#ApplicationServiceManager_Path% CompositeScriptReference_ScriptsSystem.Web.UI.Design.CollectionEditorBase, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35uSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a$ExtenderControl_TargetControlIDSystem.Web.UI.Design.PostBackTriggerControlIDConverter, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35}System.Web.UI.WebControls.StringArrayConverter, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)$ProfileServiceManager_LoadProperties!RoleServiceManager_LoadRoles(#ScriptManager_AjaxFrameworkAssembly,'ScriptManager_AllowCustomErrorsRedirect,'ScriptManager_AsyncPostBackErrorMessage'"ScriptManager_AsyncPostBackTimeoutZ(#ScriptManager_AuthenticationService(#ScriptManager_ClientNavigateHandler"ScriptManager_CompositeScriptScriptManager_EmptyPageUrl
AppearancepSystem.Web.UI.Design.UrlEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aScriptManager_EnableCdn$ScriptManager_EnableCdnFallback ScriptManager_EnableHistory$ScriptManager_AjaxFrameworkMode)USystem.Web.UI.AjaxFrameworkMode$ScriptManager_EnablePageMethods)$ScriptManager_EnablePartialRendering,'ScriptManager_EnableScriptGlobalization+&ScriptManager_EnableScriptLocalization+&ScriptManager_EnableSecureHistoryState&!ScriptManager_LoadScriptsBeforeUI!ScriptManager_ProfileServiceScriptManager_RoleServiceScriptManager_ScriptMode"USystem.Web.UI.ScriptModeScriptManager_ScriptsScriptManager_ScriptPatha\This property is obsolete. Set the Path property on each individual ScriptReference instead.ScriptManager_ServicesSystem.Web.UI.Design.ServiceReferenceCollectionEditor, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35uSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aScriptReference_Assembly% ScriptReference_IgnoreScriptPathThis property is obsolete. Instead of using ScriptManager.ScriptPath, set the Path property on each individual ScriptReference.ScriptReference_Name'"ScriptReference_NotifyScriptLoadedC>NotifyScriptLoaded is no longer required in script references.ScriptReference_Path	*.js'"ScriptReference_ResourceUICulturesScriptReference_ScriptMode?:This property is obsolete. Use StringResourceName instead.IDThis property is obsolete. Use StringResourceClientTypeName instead."ServiceReference_InlineScriptServiceReference_PathTimer_TimerEnableTimer_TimerInterval`WebControl_Attributes#UpdatePanel_ChildrenAsTriggersUpdatePanel_RenderModeLayout-U#System.Web.UI.UpdatePanelRenderModeSystem.Web.UI.Design.UpdatePanelTriggerCollectionEditor, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35uSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aUpdatePanel_TriggersUpdatePanel_UpdateMode-U#System.Web.UI.UpdatePanelUpdateMode(#UpdatePanelControlTrigger_ControlIDSystem.Web.UI.UpdatePanel+&UpdateProgress_AssociatedUpdatePanelIDHCSystem.Web.UI.Design.UpdateProgressAssociatedUpdatePanelIDConverter UpdateProgress_DisplayAfter$UpdateProgress_ProgressTemplate!UpdateProgress_DynamicLayoutSystem.Web.UI.Design.WebControls.DataPagerFieldTypeEditor, System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35uSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aDefaultDataPager_Fields50System.Web.UI.WebControls.IPageableItemContainerPagingDataPager_PagedControlID
DataPager_PageSizeDataPager_QueryStringFieldDataPagerField_Visible-(LinqDataSource_AutoGenerateOrderByClause+&LinqDataSource_AutoGenerateWhereClauseLinqDataSource_AutoPageLinqDataSource_AutoSort	Data$LinqDataSource_DeleteParameters#LinqDataSource_ContextTypeName LinqDataSource_EnableDelete LinqDataSource_EnableInsert(#LinqDataSource_EnableObjectTracking LinqDataSource_EnableUpdateLinqDataSource_GroupBy% LinqDataSource_GroupByParameters$LinqDataSource_InsertParametersLinqDataSource_OrderBy% LinqDataSource_OrderByParameters!LinqDataSource_OrderGroupsBy+&LinqDataSource_OrderGroupsByParametersLinqDataSource_Select$LinqDataSource_SelectParameters2-LinqDataSource_StoreOriginalValuesInViewStateLinqDataSource_TableName$LinqDataSource_UpdateParametersLinqDataSource_Where#LinqDataSource_WhereParameters3*System.Web.UI.WebControls.ListViewDataItem% ListView_AlternatingItemTemplate&!ListView_ConvertEmptyStringToNullListView_DataKeysSystem.Web.UI.Design.WebControls.DataFieldEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aListView_DataKeyNamesListView_EditIndexListView_EditItemListView_EditItemTemplate'"System.Web.UI.WebControls.ListViewListView_EmptyDataTemplate+&System.Web.UI.WebControls.ListViewItemListView_EmptyItemTemplate#ListView_EnableModelValidation&!ListView_EnablePersistedSelectiongroupPlaceholder ListView_GroupPlaceholderIDListView_GroupItemCount$ListView_GroupSeparatorTemplateListView_GroupTemplateListView_InsertItem6U,System.Web.UI.WebControls.InsertItemPosition ListView_InsertItemPosition/&System.Web.UI.WebControls.ListViewItem ListView_InsertItemTemplateitemPlaceholderListView_ItemPlaceholderIDListView_Items#ListView_ItemSeparatorTemplateListView_ItemTemplateListView_LayoutTemplateListView_SelectedIndex"ListView_SelectedItemTemplateUvSystem.Web.UI.WebControls.SortDirection, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aListView_SortDirectionSortingListView_SortExpression"DataBoundControl_UpdateMethod"DataBoundControl_DeleteMethod"DataBoundControl_InsertMethod*%NextPreviousPagerField_ButtonCssClass}UsSystem.Web.UI.WebControls.ButtonType, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&!NextPreviousPagerField_ButtonTypeuSystem.Web.UI.Design.ImageUrlEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3auSystem.Drawing.Design.UITypeEditor, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a-(NextPreviousPagerField_FirstPageImageUrl,'NextPrevPagerField_DefaultFirstPageText)$NextPreviousPagerField_FirstPageText,'NextPreviousPagerField_LastPageImageUrl+&NextPrevPagerField_DefaultLastPageText(#NextPreviousPagerField_LastPageText,'NextPreviousPagerField_NextPageImageUrl+&NextPrevPagerField_DefaultNextPageText(#NextPreviousPagerField_NextPageText0+NextPreviousPagerField_PreviousPageImageUrl/*NextPrevPagerField_DefaultPreviousPageText,'NextPreviousPagerField_PreviousPageTextB=NextPreviousPagerField_RenderNonBreakingSpacesBetweenControls94NextPreviousPagerField_RenderDisabledButtonsAsLabels/*NextPreviousPagerField_ShowFirstPageButton.)NextPreviousPagerField_ShowLastPageButton.)NextPreviousPagerField_ShowNextPageButton2-NextPreviousPagerField_ShowPreviousPageButton"NumericPagerField_ButtonCount!NumericPagerField_ButtonType/*NumericPagerField_CurrentPageLabelCssClass'"NumericPagerField_NextPageImageUrl*%NumericPagerField_DefaultNextPageText#NumericPagerField_NextPageText1,NumericPagerField_NextPreviousButtonCssClass,'NumericPagerField_NumericButtonCssClass+&NumericPagerField_PreviousPageImageUrl.)NumericPagerField_DefaultPreviousPageText'"NumericPagerField_PreviousPageText=8NumericPagerField_RenderNonBreakingSpacesBetweenControlsQueryExtender_Expressions% TemplatePagerField_PagerTemplate5,System.Web.UI.WebControls.DataPagerFieldItem(typeT
IsRequiredTQDefaultValueT	MinLength1nameT
IsRequiredTIsKeyTQDefaultValueenabledTQDefaultValue 
requireSSLTQDefaultValue)
convertersTIsKeyTQDefaultValue'recursionLimitTQDefaultValued&
maxJsonLengthTQDefaultValue*readAccessPropertiesTQDefaultValue+writeAccessPropertiesTQDefaultValue#
enableCachingTQDefaultValue'enableCompressionTQDefaultValuewebServicesscriptResourceHandlerjsonSerializationprofileServiceauthenticationServiceroleService	scriptingAction% ScriptManager_AsyncPostBackErrorScriptManager_Navigate2-ScriptManager_ResolveCompositeScriptReference)$ScriptManager_ResolveScriptReferenceTimer_TimerTick"LinqDataSource_ContextCreated#LinqDataSource_ContextCreating$LinqDataSource_ContextDisposingLinqDataSource_DeletedLinqDataSource_DeletingLinqDataSource_InsertedLinqDataSource_InsertingLinqDataSource_SelectedLinqDataSource_SelectingLinqDataSource_UpdatedLinqDataSource_UpdatingListView_OnItemDeletedListView_OnItemInsertedListView_OnItemUpdatedListView_OnItemCancelingListView_OnItemCommandListView_OnItemCreatedListView_OnItemDataBoundListView_OnItemDeletingListView_OnItemEditingListView_OnItemInsertingListView_OnItemUpdatingListView_OnLayoutCreated% ListView_OnPagePropertiesChanged&!ListView_OnPagePropertiesChanging$ListView_OnSelectedIndexChanged% ListView_OnSelectedIndexChangingListView_OnSortedListView_OnSorting&!TemplatePagerField_OnPagerCommandD
lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPZ|̀ԀQ4)@aTLBo=/Q{f)/ƃホ8z=DžׇG0VO舥mH6+1襉
2F^J*h܎^h!0am@6ɒʒLӒP$3@SGi-8oYVn1ӸΗEMRW`Dy7ɓ߶CEK!"L֜acE|Hj۟"𛠌6-̡T`6Τ c HP%ԊѦ5
Fcx(/Ri+ҩi~v.&.- ↯]lүnl$uFٱv㱸lB/wmCPKOFopXX]5a^}#i¿^=ޮ.3X6\H2wYK|@ęLtԈ~C;yx7$nʢz&ffl#A͵DF2Jͦ/fQI?ι~_Ͼdb-7нP?|yHTCN1KJ=:M;WֈeT~ذqn%eDڢڶuHۨaGdzPٔ{`Z;exnNZȚm29Hp*=9fdhz 655v7H댧s%'~%!1M*chFďR CRvZp\\=bjU*Bަ'r/k!lk,{'|"c#\cKMMe%FjԛoKn<؀D[>J6m:7QK	c	7U& 
ZJ
la
G
aK:y32bGXN$֑GzA|XSq\ϦVS@_/QYnJ><ڊ _  Y3!A!\!	"g""`%/j&)f'}(y(/,a,,T8-sF.n/߂o0d~0"0j70e1112ݢ2k2s5K6,6u8(۔8v88
V99f):/,:$;B<q.<_<i=v=L>4
Y>+&??~@@AASB CCXCwCv}ZD DDaSF-XKLZ2+L5LPLOPQ#,RSf`S-S=#TVZU*JVkW"oW=5YX|Y6"Z
J[IV]9]
Raxbvc
9dGd]PdvJeO`ff ;fggi
h"UhjhNhh0i41i]i9jjk|ll$lElTljmښxn$nowp2qOqorrQtlttatu\u\buuuv<wwwGx`<yӢHyVyfybzzFzҌ{i5|h}[}.}`~c(QUH*o,V'T5E(7
zE:4y,p~Z-l5nu0VHis>N, g+%]+K:<D3I#+^#vA\=i&gfO)fuyV_k?J&?O
vxda3i4hC=R5ku.es m[Ax;CE"0zP9sFv7|- !4f+,]K-fM!=B@!m8!2BjBU[1911*q'hMY>T^Y8gFS?aed.Y;bi[f{@tA	r'y"mW;,i^TNtD:qq;j'`+LQ""Fd28(	'6p{N6-h:Xm\\wvw.u:g*pB2Q;Gj\lq^k0VNN*'6`Z$6{St|
M1r8pzY-cnobNBAllO$;ZyP=c)]6.5GO/?c Qf .0	<D:ryW@5CIS^Rs	wsoT_<*8lGD|BPuMU5-d/W&Aaep*=*?|J_$2LL<TQaikiUPOhB	*bjid?9/#Sb2Q
tNVU
t^vD?qf<9Sp,/+m
R]a-@/V%L59u4aH2M{R
Nt$^X4.FIB)K(M9PfKB
hQ0R&8c
`7{jkw3(i%z#3@=	
Wo74gigxemb>UN7y?MAWH0so=$FOQ xrG>6n|>72C+t6S(Q*v_.a,2.[FS&AppService_Disabled0AppService_MultiplePaths,AppService_RequiredSSL=BAppService_UnknownProfilePropertyb<ApplicationServiceManager_Path2ArgumentMustBeCurrentUser$ArgumentMustBeNullHAsyncPostBackTrigger_CannotFindEvent<AsyncPostBackTrigger_EventNamenBAsyncPostBackTrigger_InvalidEventE,AttributeNotRecognized Category_Sorting:ClientService_BadJsonResponse4Common_ArgumentInvalidTypeA>Common_GreaterThanOrEqualToZero_lCommon_GreaterThanOrEqualToZeroAndLessThanOrEqualToOne$Common_NullOrEmpty.Common_PageCannotBeNull8Common_ScriptManagerRequiredb@CompositeScriptReference_ScriptsVConvertersCollection_NotJavaScriptConverterD@ConvertersCollection_UnknownType}PDataBoundControlHelper_NoNamingContainer,DataPagerField_Visible:DataPager_ControlIsntPageableE DataPager_Fields6DataPager_NoNamingContainerBDataPager_NoPageableItemContainer,FDataPager_PagePropertiesCannotBeSet$DataPager_PageSize2NDataPager_PageableItemContainerNotFounds0DataPager_PagedControlID4DataPager_QueryStringFieldpDataSourceControlExtender_TargetControlIDMustBeSpecifiedN	~DataSourceControlExtender_TargetControlMustImplementIDataSourcer	VDynamicControlBase_ConvertEmptyStringToNull	8DynamicControlBase_DataField	FDynamicControlBase_DataFormatString<
:DynamicControlBase_HtmlEncodeo
DDynamicControlBase_NullDisplayText
2DynamicControlBase_UIHint
DDynamicControlBase_ValidationGroup>\DynamicFilterRepeater_DynamicFilterContainerIddDynamicNavigatorDataSource_NoAccessibleTablesFoundZDynamicNavigatorDataSource_NoModelsRegisteredRVDynamicNavigatorDataSource_NoTablesInModelsx^ExpressionParser_AmbiguousConstructorInvocationVExpressionParser_AmbiguousIndexerInvocationTExpressionParser_AmbiguousMethodInvocation
VExpressionParser_ArgsIncompatibleWithLambdaB
PExpressionParser_BothTypesConvertToOtheru
FExpressionParser_CannotConvertValue
hExpressionParser_CannotIndexMultipleDimensionalArray
XExpressionParser_CloseBracketOrCommaExpected TExpressionParser_CloseParenOrCommaExpected5ZExpressionParser_CloseParenOrOperatorExpectedJ<ExpressionParser_ColonExpectedd<ExpressionParser_DigitExpectedrNExpressionParser_DotOrOpenParenExpectedHExpressionParser_DuplicateIdentifierFExpressionParser_ExpressionExpectedNExpressionParser_ExpressionTypeMismatchHExpressionParser_FirstExprMustBeBoolFExpressionParser_IdentifierExpected0JExpressionParser_IifRequiresThreeArgsEHExpressionParser_IncompatibleOperandrJExpressionParser_IncompatibleOperandsBExpressionParser_InvalidCharacterPExpressionParser_InvalidCharacterLiteral:ExpressionParser_InvalidIndex1LExpressionParser_InvalidIntegerLiteral\FExpressionParser_InvalidRealLiteral{:ExpressionParser_MethodIsVoidNExpressionParser_MethodsAreInaccessible@ExpressionParser_MissingAsClauseVExpressionParser_NeitherTypeConvertsToOtherLExpressionParser_NoApplicableAggregateWHExpressionParser_NoApplicableIndexerFExpressionParser_NoApplicableMethod8ExpressionParser_NoItInScopeLExpressionParser_NoMatchingConstructorHExpressionParser_OpenBracketExpectedDExpressionParser_OpenParenExpected+8ExpressionParser_SyntaxError9<ExpressionParser_TokenExpectedGLExpressionParser_TypeHasNoNullableFormUDExpressionParser_UnknownIdentifiervNExpressionParser_UnknownPropertyOrFieldTExpressionParser_UnterminatedStringLiteral:Expressions_DataFieldRequiredbExtenderControl_TargetControlDifferentUpdatePanel>ExtenderControl_TargetControlIDJHExtenderControl_TargetControlIDEmptymLExtenderControl_TargetControlIDInvalid0FilterRepeater_TableName4JSON_ArrayTypeNotSupportedJSON_BadEscape<JSON_CannotConvertObjectToType2JSON_CannotCreateListTypeBJSON_CannotSerializeMemberGeneric>,JSON_CircularReferencel.JSON_DepthLimitExceeded:JSON_DeserializerTypeMismatch>JSON_DictionaryTypeNotSupported	,JSON_ExpectedOpenBracez*JSON_IllegalPrimitive(JSON_InvalidArrayEnd8JSON_InvalidArrayExpectComma6JSON_InvalidArrayExtraComma,JSON_InvalidArrayStart?(JSON_InvalidEnumTypeg2JSON_InvalidMaxJsonLength,JSON_InvalidMemberName$JSON_InvalidObjectA4JSON_InvalidRecursionLimitq4JSON_MaxJsonLengthExceeded$JSON_NoConstructor@(JSON_StringNotQuotedy.JSON_UnterminatedString4JSON_ValueTypeCannotBeNulldLinqDataSourceValidationException_ValidationFailedHLinqDataSourceView_CannotConvertTypeRLinqDataSourceView_ContextTypeNameChangedTLinqDataSourceView_ContextTypeNameNotFound5\LinqDataSourceView_ContextTypeNameNotSpecifiedJLinqDataSourceView_DeleteNotSupported\LinqDataSourceView_EnableObjectTrackingChangedBXLinqDataSourceView_GroupByNotSupportedOnEditJLinqDataSourceView_InsertNotSupported.NLinqDataSourceView_InsertRequiresValuesJLinqDataSourceView_InvalidContextTypeTLinqDataSourceView_InvalidOrderByFieldNamekNLinqDataSourceView_InvalidParameterNameVLinqDataSourceView_InvalidTablePropertyType	TLinqDataSourceView_OrderByAlreadySpecified^LinqDataSourceView_OrderGroupsByRequiresGroupBy RLinqDataSourceView_OriginalValuesNotFound FLinqDataSourceView_PagingNotHandledj!PLinqDataSourceView_ParametersMustBeNamed-"\LinqDataSourceView_SelectNewNotSupportedOnEdit"LLinqDataSourceView_TableCannotBeStatic#FLinqDataSourceView_TableNameChanged#HLinqDataSourceView_TableNameNotFound$PLinqDataSourceView_TableNameNotSpecifiedu$JLinqDataSourceView_UpdateNotSupported$FLinqDataSourceView_ValidationFailed?%PLinqDataSourceView_WhereAlreadySpecifiedw%PLinqDataSource_AutoGenerateOrderByClause%LLinqDataSource_AutoGenerateWhereClause3&.LinqDataSource_AutoPage&.LinqDataSource_AutoSort&:LinqDataSource_ContextCreated&<LinqDataSource_ContextCreatingV'>LinqDataSource_ContextDisposing'<LinqDataSource_ContextTypeName'>LinqDataSource_DeleteParameters((,LinqDataSource_Deleted(.LinqDataSource_Deleting(4LinqDataSource_Description$)4LinqDataSource_DisplayName)6LinqDataSource_EnableDelete)6LinqDataSource_EnableInsert)FLinqDataSource_EnableObjectTracking)6LinqDataSource_EnableUpdateU*,LinqDataSource_GroupBy*@LinqDataSource_GroupByParameters*>LinqDataSource_InsertParameters"+.LinqDataSource_Inserted+0LinqDataSource_Inserting+<LinqDataSource_InvalidViewName,,LinqDataSource_OrderBy,@LinqDataSource_OrderByParameters,8LinqDataSource_OrderGroupsByA-LLinqDataSource_OrderGroupsByParameters-*LinqDataSource_Select.>LinqDataSource_SelectParametersa..LinqDataSource_Selected.0LinqDataSource_Selecting.ZLinqDataSource_StoreOriginalValuesInViewState/0LinqDataSource_TableName/>LinqDataSource_UpdateParameters/,LinqDataSource_Updatedo0.LinqDataSource_Updating0(LinqDataSource_Where0<LinqDataSource_WhereParameters#1LListViewPagedDataSource_CannotGetCountr1fListViewPagedDataSource_EnumeratorMoveNextNotCalled1@ListView_AlternatingItemTemplate
2HListView_ContainerNameMustNotBeEmpty72BListView_ConvertEmptyStringToNull\2*ListView_DataKeyNames2HListView_DataKeyNamesMustBeSpecified2"ListView_DataKeys3LListView_DataSourceDoesntSupportPaging3jListView_DataSourceMustBeCollectionWhenNotDataBinding4$ListView_EditIndexo4"ListView_EditItem42ListView_EditItemTemplate44ListView_EmptyDataTemplate44ListView_EmptyItemTemplaten5LListView_EnableDataBoundControlManager5<ListView_EnableModelValidationC6BListView_EnablePersistedSelection62ListView_GroupContainerID6.ListView_GroupItemCount+7LListView_GroupItemCountNoGroupTemplatel7>ListView_GroupSeparatorTemplate7,ListView_GroupTemplate78&ListView_InsertItem[86ListView_InsertItemPosition86ListView_InsertItemTemplate8>ListView_InsertTemplateRequired8,ListView_InvalidCancelb9.ListView_InvalidCommand9,ListView_InvalidDelete9(ListView_InvalidEdit:,ListView_InvalidInsertK:,ListView_InvalidSelect:,ListView_InvalidUpdate:4ListView_ItemPlaceholderID ;<ListView_ItemSeparatorTemplatex;*ListView_ItemTemplate;:ListView_ItemTemplateRequired;ListView_Items;4ListView_ItemsNotDataItems<.ListView_LayoutTemplate]<BListView_Missing_VirtualItemCount<NListView_NeedICollectionOrTotalRowCount=6ListView_NoGroupPlaceholder=*ListView_NoInsertItem>4ListView_NoItemPlaceholder>"ListView_NullViewj?0ListView_OnItemCanceling?,ListView_OnItemCommand?,ListView_OnItemCreated"@0ListView_OnItemDataBoundB@,ListView_OnItemDeletedl@.ListView_OnItemDeleting@,ListView_OnItemEditing@.ListView_OnItemInserted%A0ListView_OnItemInsertingdA,ListView_OnItemUpdatedA.ListView_OnItemUpdatingA0ListView_OnLayoutCreated#B@ListView_OnPagePropertiesChangedQBBListView_OnPagePropertiesChangingB>ListView_OnSelectedIndexChangedB@ListView_OnSelectedIndexChangingC"ListView_OnSortedgC$ListView_OnSortingC`ListView_PersistedSelectionRequiresDataKeysNamesC,ListView_SelectedIndex:D:ListView_SelectedItemTemplateeD,ListView_SortDirectionD.ListView_SortExpressionD4ListView_StyleNotSupportedEHListView_StylePropertiesNotSupportedEE.ListView_UnhandledEventEdMethodExpression_ChangingTheReturnTypeIsNotAllowedEfMethodExpression_DataSourceMustBeIDynamicDataSource}F^MethodExpression_FirstParamterMustBeCorrectTypeFFMethodExpression_MethodMustBeStaticGTMethodExpression_MethodNameMustBeSpecified"G>MethodExpression_MethodNotFoundCGDMethodExpression_ParameterNotFound`GNNextPrevPagerField_DefaultFirstPageTextGLNextPrevPagerField_DefaultLastPageTextGLNextPrevPagerField_DefaultNextPageTextGTNextPrevPagerField_DefaultPreviousPageTextGJNextPreviousPagerField_ButtonCssClassGBNextPreviousPagerField_ButtonTypeGPNextPreviousPagerField_FirstPageImageUrl(HHNextPreviousPagerField_FirstPageTextsHNNextPreviousPagerField_LastPageImageUrlHFNextPreviousPagerField_LastPageTextHNNextPreviousPagerField_NextPageImageUrlIFNextPreviousPagerField_NextPageTextNIVNextPreviousPagerField_PreviousPageImageUrlqINNextPreviousPagerField_PreviousPageTextIhNextPreviousPagerField_RenderDisabledButtonsAsLabelsIzNextPreviousPagerField_RenderNonBreakingSpacesBetweenControls6JTNextPreviousPagerField_ShowFirstPageButton~JRNextPreviousPagerField_ShowLastPageButtonJRNextPreviousPagerField_ShowNextPageButtonJZNextPreviousPagerField_ShowPreviousPageButton9K:NumericPagerField_ButtonCount{K8NumericPagerField_ButtonTypeKTNumericPagerField_CurrentPageLabelCssClassLJNumericPagerField_DefaultNextPageTextNLRNumericPagerField_DefaultPreviousPageTextSLDNumericPagerField_NextPageImageUrlXL<NumericPagerField_NextPageTextLXNumericPagerField_NextPreviousButtonCssClassLNNumericPagerField_NumericButtonCssClassLLNumericPagerField_PreviousPageImageUrl3MDNumericPagerField_PreviousPageTextMpNumericPagerField_RenderNonBreakingSpacesBetweenControlsM>OfTypeExpression_CannotFindTypeMJOfTypeExpression_TypeNameNotSpecifiedYNhPageRequestManager_RegisterDataItemInNonAsyncRequestNPPageRequestManager_RegisterDataItemTwiceN@PagerFieldCollection_InvalidType&OJPagerFieldCollection_InvalidTypeIndexGOFParseException_ParseExceptionFormateOlProfileServiceManager_LoadProperitesWithNonDefaultPathyOHProfileServiceManager_LoadPropertiesO<ProxyGenerator_UnsupportedTypeP2ProxyHelper_BadStatusCode9PdQueryExtender_DataSourceMustBeIQueryableDataSourceP2QueryExtender_ExpressionsPHRangeExpression_MaximumValueRequiredQHRangeExpression_MinimumValueRequired/QPRangeExpression_RangeTypeMustBeSpecifiedSQ8RoleServiceManager_LoadRolesQ\RoleServiceManager_LoadRolesWithNonDefaultPathQ@RoleService_RoleProviderNotFoundRRDRoleService_RolesFeatureNotEnableduRJScriptControlDescriptor_IDNotSettableRbScriptControlManager_ExtenderControlNotRegistered*SRScriptControlManager_NoTargetControlTypesShScriptControlManager_RegisterExtenderControlTooEarlykTfScriptControlManager_RegisterExtenderControlTooLateTdScriptControlManager_RegisterScriptControlTooEarlyTbScriptControlManager_RegisterScriptControlTooLateU^ScriptControlManager_ScriptControlNotRegisteredQUZScriptControlManager_TargetControlTypeInvalidUFScriptManager_AjaxFrameworkAssemblylV>ScriptManager_AjaxFrameworkModeVNScriptManager_AllowCustomErrorsRedirectW@ScriptManager_AsyncPostBackError[WNScriptManager_AsyncPostBackErrorMessageWhScriptManager_AsyncPostBackNotInPartialRenderingModeXDScriptManager_AsyncPostBackTimeoutYFScriptManager_AuthenticationServiceYrScriptManager_CannotAddHistoryPointOutsideOfAsyncPostBack(ZlScriptManager_CannotAddHistoryPointWithHistoryDisablednZVScriptManager_CannotChangeAjaxFrameworkModeZFScriptManager_CannotChangeEnableCdnZVScriptManager_CannotChangeEnableCdnFallback>[NScriptManager_CannotChangeEnableHistory[`ScriptManager_CannotChangeEnablePartialRendering[fScriptManager_CannotChangeEnableScriptGlobalization\dScriptManager_CannotChangeSupportsPartialRendering\RScriptManager_CannotRegisterBothPostBacks\~ScriptManager_CannotRegisterScriptInMultipleCompositeReferences]vScriptManager_CannotSetSupportsPartialRenderingWhenDisabled]FScriptManager_ClientNavigateHandlerO^:ScriptManager_CompositeScript^4ScriptManager_EmptyPageUrl_.ScriptManager_EnableCdn_>ScriptManager_EnableCdnFallback`6ScriptManager_EnableHistorym`>ScriptManager_EnablePageMethods`HScriptManager_EnablePartialRendering`NScriptManager_EnableScriptGlobalizationaLScriptManager_EnableScriptLocalizationaLScriptManager_EnableSecureHistoryStateKbFScriptManager_FrameworkFailedToLoad(cPScriptManager_InvalidControlRegistration\cBScriptManager_LoadScriptsBeforeUIdHScriptManager_MustHaveGreaterVersionzd,ScriptManager_Navigate?eDScriptManager_OnlyOneScriptManagere4ScriptManager_PageUntitlede8ScriptManager_ProfileServiceeZScriptManager_ResolveCompositeScriptReference)fHScriptManager_ResolveScriptReferencef2ScriptManager_RoleServicef0ScriptManager_ScriptMode-g0ScriptManager_ScriptPathzg*ScriptManager_Scriptsg,ScriptManager_ServiceshLScriptManager_UpdatePanelNotRegisteredRi0ScriptReference_Assembly)jHScriptReference_AssemblyRequiresNamecj@ScriptReference_IgnoreScriptPathjPScriptReference_InvalidReleaseScriptNamejPScriptReference_InvalidReleaseScriptPath+k(ScriptReference_NamekkPScriptReference_NameAndPathCannotBeEmptykDScriptReference_NotifyScriptLoadedk(ScriptReference_PathlXScriptReference_ResourceRequiresAjaxAssembly5lDScriptReference_ResourceUICulturesl4ScriptReference_ScriptModeRmTScriptRegistrationManager_ControlNotOnPagemLScriptRegistrationManager_InvalidCharsmHScriptRegistrationManager_NoCloseTag{n@ScriptRegistrationManager_NoTagsnHScriptResourceDefinition_InvalidPath4obScriptResourceDefinition_NameAndPathCannotBeEmptyo\ScriptResourceHandler_DuplicateScriptResourcesoHScriptResourceHandler_InvalidRequest5pPScriptResourceHandler_ResourceUrlTooLongbpLScriptResourceHandler_TypeNameMismatchNqJScriptResourceHandler_UnknownResourceqDSearchExpression_ParameterRequiredq:ServiceReference_InlineScriptq*ServiceReference_PathFrDServiceReference_PathCannotBeEmptyqr$ServiceUriNotFoundrFSqlHelper_SqlEverywhereNotInstalledrBTemplatePagerField_OnPagerCommandxs@TemplatePagerField_PagerTemplatesBTemplatePagerField_UnhandledEventsFTimer_IntervalMustBeGreaterThanZerot"Timer_TimerEnableAt&Timer_TimerIntervalbtTimer_TimerTicktBUnhandledExceptionEventLogMessagetFUpdatePanelControlTrigger_ControlIDtRUpdatePanelControlTrigger_ControlNotFounduJUpdatePanelControlTrigger_NoControlIDeuRUpdatePanel_CannotModifyControlCollectionuHUpdatePanel_CannotSetContentTemplatenv<UpdatePanel_ChildrenAsTriggersvVUpdatePanel_ChildrenTriggersAndUpdateAlwaysCw,UpdatePanel_RenderModewZUpdatePanel_SetPartialRenderingModeCalledOncex(UpdatePanel_Triggers:x:UpdatePanel_UpdateConditionalx,UpdatePanel_UpdateModex2UpdatePanel_UpdateTooLateyLUpdateProgress_AssociatedUpdatePanelIDy6UpdateProgress_DisplayAfterzDUpdateProgress_DisplayAfterInvalidWz8UpdateProgress_DynamicLayoutz8UpdateProgress_NoUpdatePanelz>UpdateProgress_ProgressTemplate{,UserIsNotAuthenticated>{lWebResourceUtil_AssemblyDoesNotContainDebugWebResourced{lWebResourceUtil_AssemblyDoesNotContainEmbeddedResource*|pWebResourceUtil_AssemblyDoesNotContainReleaseWebResource|WebResourceUtil_SystemWebExtensionsDoesNotContainReleaseWebResource| WebService_Errord}HWebService_InvalidGenerateScriptType}FWebService_InvalidInlineVirtualPath~:WebService_InvalidVerbRequestN@WebService_InvalidWebServiceCall>WebService_InvalidXmlReturnType*WebService_MissingArgNFWebService_NoScriptServiceAttribute6WebService_NoWebServiceDataNWebService_NoWebServiceDataInlineScript0WebService_RedirectError6WebService_UnknownWebMethod؁{0} is disabled.)Cannot specify more than one unique path.#SSL is required for this operation.Unknown profile property '{0}'.&Specifies the path to the web service.9Argument must be null, empty or same as the current user.Argument must be null or empty.eCould not find an event named '{0}' on associated control '{1}' for the trigger in UpdatePanel '{2}'.The event that the trigger will hook up to determine whether to refresh the UpdatePanel. If the property is not set then the UpdatePanel will be refreshed only if the postback was initiated by the target control.The '{0}' event on associated control '{1}' for the trigger in UpdatePanel '{2}' does not match the standard event handler signature.?The following configuration attribute was not recognized: '{0}'Sorting(The server method returned invalid data.Value must be of type '{0}'.)Value must be greater than or equal to 0.EValue must be greater than or equal to 0 and less than or equal to 1.Value cannot be null or empty.oPage cannot be null. Please ensure that this operation is being performed in the context of an ASP.NET request.The control with ID '{0}' requires a ScriptManager on the page. The ScriptManager must appear before any controls that need it._A collection of script references that the CompositeScriptReference should include in the page.7Type: '{0}' does not inherits from JavaScriptConverter.Type: '{0}' cannot be found.~The {0} control '{1}' does not have a naming container.  Ensure that the control is added to the page before calling DataBind.(Whether the data pager field is visible.8Control '{0}' does not implement IPageableItemContainer."The collection of DataPagerFields.The DataPager control '{0}' does not have a naming container.  Ensure that the DataPager is added to the page before calling DataBind.No IPageableItemContainer was found. Verify that either the DataPager is inside an IPageableItemContainer or PagedControlID is set to the control ID of an IPageableItemContainer.OPage properties cannot be set because no IPageableItemContainer has been found.?The number of records displayed in a page by the paged control.'IPageableItemContainer '{0}' not found.1The ID of the control this DataPager should page.}The name of the query string field for the current page index. The pager will use the query string when this property is set."TargetControlID must be specified./TargetControl '{0}' must implement IDataSource.JSpecifies whether the field value should be converted to a null reference.KSpecifies the name of the data field to which the DynamicControl will bind.1Specifies the display format for the field value.ISpecifies whether the field value is HTML-encoded before it is displayed.=Specifies the caption displayed when the field value is null.CSpecifies the user control with which the field should be rendered.eSpecifies the name of the validation group to which validation controls in the DynamicControl belong.DThe ID of the DynamicFilter control that exists in the ItemTemplate.eNo accessible tables found. Make sure scaffolds are enabled or custom templates exist for your model.$No data models have been registered.:There are no tables defined in the registered data models.)Ambiguous invocation of '{0}' constructor-Ambiguous invocation of indexer in type '{0}'2Ambiguous invocation of method '{0}' in type '{1}'1Argument list incompatible with lambda expression6Both of the types '{0}' and '{1}' convert to the other7A value of type '{0}' cannot be converted to type '{1}'8Indexing of multiple-dimensional arrays is not supported']' or ',' expected')' or ',' expected')' or operator expected':' expectedDigit expected'.' or '(' expected/The identifier '{0}' was defined more than onceExpression expected!Expression of type '{0}' expected.The first expression must be of type 'Boolean'Identifier expected+The 'iif' function requires three arguments3Operator '{0}' incompatible with operand type '{1}'>Operator '{0}' incompatible with operand types '{1}' and '{2}'Syntax error '{0}'4Character literal must contain exactly one character)Array index must be an integer expressionInvalid integer literal '{0}'Invalid real literal '{0}'2Method '{0}' in type '{1}' does not return a value(Methods on type '{0}' are not accessible$Expression is missing an 'as' clause:Neither of the types '{0}' and '{1}' converts to the other+No applicable aggregate method '{0}' exists*No applicable indexer exists in type '{0}'/No applicable method '{0}' exists in type '{1}'No 'it' is in scope%No matching constructor in type '{0}''[' expected'(' expectedSyntax error{0} expectedType '{0}' has no nullable formUnknown identifier '{0}'/No property or field '{0}' exists in type '{1}'Unterminated string literalDataField must be specified.LAn extender can't be in a different UpdatePanel than the control it extends.!Identifies the control to extend.MThe TargetControlID of '{0}' is not valid. The value cannot be null or empty.VThe TargetControlID of '{0}' is not valid. A control with ID '{1}' could not be found.xSpecifies an override for the table name used by the FilterRepeater. By default the table is inferred from the page URL.<Type '{0}' is not supported for deserialization of an array.Unrecognized escape sequence.1Cannot convert object of type '{0}' to type '{1}'Cannot create instance of {0}.,Cannot serialize member '{0}' on type '{1}'.LA circular reference was detected while serializing an object of type '{0}'.RecursionLimit exceeded.3Cannot deserialize object graph into type of '{0}'.oType '{0}' is not supported for serialization/deserialization of a dictionary, keys must be strings or objects.'Invalid object passed in, '{' expected.Invalid JSON primitive: {0}.&Invalid array passed in, ']' expected.&Invalid array passed in, ',' expected.,Invalid array passed in, extra trailing ','.&Invalid array passed in, '[' expected.Enums based on System.Int64 or System.UInt64 are not JSON-serializable because JavaScript does not support the necessary precision.!Value must be a positive integer./Invalid object passed in, member name expected..Invalid object passed in, ':' or '}' expected.*RecursionLimit must be a positive integer.Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.7No parameterless constructor defined for type of '{0}'.(Invalid string passed in, '\"' expected.Unterminated string passed in.$Cannot convert null to a value type.Failed to set one or more properties on the data object.  Ensure that the input values are valid and can be converted to the corresponding property types.<Cannot convert value of parameter '{0}' from '{1}' to '{2}'.oThe ContextTypeName property of LinqDataSource '{0}' cannot be changed after the data context has been created.ZCould not find the type specified in the ContextTypeName property of LinqDataSource '{0}'.VThe ContextTypeName property of LinqDataSource '{0}' must specify a data context type.WLinqDataSource '{0}' does not support the Delete operation unless EnableDelete is true.tThe EnableObjectTracking property of LinqDataSource '{0}' cannot be changed after the data context has been created.tLinqDataSource '{0}' does not support the GroupBy property when the Delete, Insert or Update operations are enabled.WLinqDataSource '{0}' does not support the Insert operation unless EnableInsert is true.aLinqDataSource '{0}' has no values to insert. Check that the 'values' dictionary contains values.The data context used by LinqDataSource '{0}' must extend DataContext when the Delete, Insert or Update operations are enabled.FThe value '{0}' for parameter '{1}' is not a valid OrderBy field name.TThe name for parameter '{0}' on LinqDataSource '{1}' is not a valid identifier name.The table property used by LinqDataSource '{0}' must be a generic type with one parameter that extends ITable, when the Delete, Insert or Update operations are enabled.bLinqDataSource '{0}' does not support the OrderBy property when AutoGenerateOrderByClause is true.mLinqDataSource '{0}' does not support the OrderGroupsBy property when the GroupsBy property has not been set.Could not find a row that matches the given keys in the original values stored in ViewState.  Ensure that the 'keys' dictionary contains unique key values that correspond to a row returned from the previous Select operation.AutoPage is disabled on LinqDataSource {0} but paging has not been handled.  Ensure you have set the LinqDataSourceSelectArguments.Arguments.TotalRowCount property to the total number of rows.\Parameters for LinqDataSource '{0}' that are not used for AutoGenerateOrderBy must be named.sLinqDataSource '{0}' does not support the Select property when the Delete, Insert or Update operations are enabled.Member '{0}' on the data context type '{1}' of LinqDataSource '{2}' is not a valid table. For Insert, Update and Delete the table must not be a static member.iThe TableName property of LinqDataSource '{0}' cannot be changed after the data context has been created.gCould not find a property or field called '{0}' on the data context type '{1}' of LinqDataSource '{2}'.oThe TableName property of LinqDataSource '{0}' must specify a table property or field on the data context type.WLinqDataSource '{0}' does not support the Update operation unless EnableUpdate is true.6Failed to set one or more properties on type {0}.  {1}^LinqDataSource '{0}' does not support the Where property when AutoGenerateWhereClause is true.ZSpecifies whether to automatically generate the OrderBy clause from the OrderByParameters.VSpecifies whether to automatically generate the Where clause from the WhereParameters..Specifies whether data is automatically paged./Specifies whether data is automatically sorted.hEvent raised after the context is created unless a query result is specified during the Selecting event.iEvent raised before the context is created unless a query result is specified during the Selecting event.,Event raised before the context is disposed.7The data context type that contains the table property.Collection of parameters used during the Delete operation. These parameters are merged with the parameters provided by data-bound controls.5Event raised after the Delete operation is completed.5Event raised before the Delete operation is executed.dUse LINQ to connect to a DataContext or object in the Bin or App_Code directory for the application.LINQ2Specifies whether the Delete operation is enabled.2Specifies whether the Insert operation is enabled.[Specifies whether ObjectTracking should be disabled on read-only Linq to SQL data contexts.2Specifies whether the Update operation is enabled.FThe expression passed to the GroupBy operator during the Select query.OCollection of parameters used for the GroupBy operator during the Select query.Collection of parameters used during the Insert operation. These parameters are merged with the parameters provided by data-bound controls.5Event raised after the Insert operation is completed.5Event raised before the Insert operation is executed.LinqDataSource '{0}' only supports a single view named '{1}'. You may also leave the view name empty for the default view to be chosen.FThe expression passed to the OrderBy operator during the Select query.OCollection of parameters used for the OrderBy operator during the Select query.The expression passed to the OrderBy operator used for ordering groups after a GroupBy has been performed during the Select query.UCollection of parameters used for the OrderGroupsBy operator during the Select query.BThe expression defining a projection used during the Select query.HCollection of parameters used in the projection during the Select query.5Event raised after the Select operation is completed.5Event raised before the Select operation is executed.Specifies whether to store original data values in ViewState.  This property is used for conflict detection during Update and Delete operations.3The name of the table property on the data context.Collection of parameters used during the Update operation. These parameters are merged with the parameters provided by data-bound controls.5Event raised after the Update operation is completed.5Event raised before the Update operation is executed.DThe expression passed to the Where operator during the Select query.MCollection of parameters used for the Where operator during the Select query.KCannot compute Count for a data source that does not implement ICollection.LYou must call MoveNext on IEnumerator before accessing the Current property.(The template used for alternating items.#The value of {0} must not be empty.\Whether the ListView treats empty strings as null when the value is extracted from the item.8A comma-separated list of key fields in the data source.Data keys must be specified on ListView '{0}' before the selected data keys can be retrieved.  Use the DataKeyNames property to specify data keys.(The collection of data key field values.YThe data source '{0}' does not support server-side paging and it returned non-ICollection_Data source must implement ICollection when calling CreateChildControls with dataBinding=false.)The index of the item shown in edit mode.0The ListViewItem that is currently being edited.)The template used for items in edit mode.uThe template used when no data is returned from the data source. This template replaces the LayoutTemplate when used.oThe template used in the GroupTemplate when the number of remaining data items is less than the GroupItemCount.bWhether the data bound control will register itself with a data bound control manager on the page.PWhether page validation will be performed after validation is done in the model.;Whether selection should be based on DataKeys or row index.WThe ID of the server control that will be replaced with instances of the GroupTemplate.?The number of items that are rendered inside the GroupTemplate.ListView '{0}' has a GroupItemCount specified on it but no GroupTemplate. A GroupTemplate must be present for ListView to render groups.>The template used for group separators between GroupTemplates."The template used for item groups.2The ListViewItem that is currently being inserted.4The position of the insert item within the ListView.+The template used for items in insert mode.nAn InsertItemTemplate must be defined on ListView '{0}' if InsertItemPosition is set to FirstItem or LastItem.MCancel can only be called from the currently-edited record or an insert item.8Custom commands can only be called on a valid data item./Delete can only be called on a valid data item.-Edit can only be called on a valid data item.qInsert can only be called on an insert item. Ensure only the InsertTemplate has a button with CommandName=Insert./Select can only be called on a valid data item./Update can only be called on a valid data item.VThe ID of the server control that will be replaced with instances of the ItemTemplate.&The template used for separator items.The template used for items.2An ItemTemplate must be defined on ListView '{0}'. The collection of visible items.GListViewItems that have type DataItem must be of type ListViewDataItem.*The template used for the ListView layout.ListView with id '{0}' must have a data source that either implements ICollection or can perform data source paging if AllowPaging is true.If a data source does not return ICollection and cannot return the total row count, it cannot be used by the {0} to implement server-side paging.A group placeholder must be specified on ListView '{0}' when the GroupTemplate is defined. Specify a group placeholder by setting its ID property to "{1}". The group placeholder control must also specify runat="server".An insert item wasn't found.An item placeholder must be specified on ListView '{0}'. Specify an item placeholder by setting a control's ID property to "{1}". The item placeholder control must also specify runat="server".BThe data source retrieved by '{0}' returned a null DataSourceView.;Fires when a Cancel event is generated within the ListView.5Fires when an event is generated within the ListView.Fires when an item is created.(Fires after an item has been data-bound.<Fires after a Delete Command is executed on the data source.=Fires before a Delete Command is executed on the data source.:Fires when an Edit event is generated within the ListView.=Fires after an Insert Command is executed on the data source.>Fires before an Insert Command is executed on the data source.=Fires after an Update Command is executed on the data source.>Fires before an Update Command is executed on the data source.,Fires when the ListView's layout is created.9Fires when the ListView's paging properties have changed.9Fires when the ListView's paging properties are changing.PFires when an item is selected in the ListView, after the selection is complete.LFires when an item is selected in the ListView, before the item is selected.IFires when a field is sorted in the ListView, after the sort is complete.EFires when a field is sorted in the ListView, before the sort occurs.?DataKeyNames must be specified for persisted selection to work.)The index of the currently selected item.2The template used for the currently selected item.)The direction in which to sort the field.NSort expression used to sort the data source to which the ListView is binding./Style properties are not supported on ListView.zStyle properties are not supported on ListView.  Apply styling or CSS classes to the elements inside ListView's templates.9The ListView '{0}' raised event {1} which wasn't handled.Changing the result type of a query in a MethodExpression is not supported. Expected a return value of type 'IEnumerable<{0}>'.PThe DataSource must implement IDynamicDataSource for a format string to be used.3The first parameter of '{0}' must be of type '{1}'.Method '{0}' must be static.A MethodName must be specified.Method '{0}' was not found.:'{0}' has a parameter named '{1}' which was not specified.FirstLastNextPrevious7The CSS class applied to the next and previous buttons.4The type of button contained within the pager field.IThe URL of the image of the first page button if the ButtonType is Image."The text of the first page button.HThe URL of the image of the last page button if the ButtonType is Image.!The text of the last page button.HThe URL of the image of the next page button if the ButtonType is Image.!The text of the next page button.LThe URL of the image of the previous page button if the ButtonType is Image.%The text of the previous page button.NWhether disabled pager links should be rendered as labels rather than buttons.FWhether non-breaking spaces should be rendered between pager controls.=Whether the pager field should display the first page button.<Whether the pager field should display the last page button.<Whether the pager field should display the next page button.@Whether the pager field should display the previous page button.SThe maximum number of page number buttons that can be displayed by the pager field.4The type of button contained within the pager field.FThe CSS class applied to the label containing the current page number.......HThe URL of the image of the next page button if the ButtonType is Image.!The text of the next page button.7The CSS class applied to the next and previous buttons.3The CSS class applied to the numeric pager buttons.LThe URL of the image of the previous page button if the ButtonType is Image.%The text of the previous page button.FWhether non-breaking spaces should be rendered between pager controls.gCould not find the type '{0}' specified by the TypeName property of OfTypeExpression declared on '{1}'.UThe TypeName property of OfTypeExpression declared on '{0}' must specify a type name.=RegisterDataItem can only be called during an async postback.5The control '{0}' already has a data item registered.Object is not a DataPagerField.Type index is out of bounds.{0} (at index {1})VThe attribute 'LoadProperties' can only be used when using the default ProfileService.JSpecifies profile properties that should be rendered inline with the page.Type {0} is not supported.SError status code returned by the Web Service: {0}. Error details from service: {1}5DataSource '{0}' must implement IQueryableDataSource.DA collection of expressions that can be used with the QueryExtender."A maximum value must be specified."A minimum value must be specified.2A minimum and maximum RangeType must be specified.?Indicates whether user roles are rendered inline with the page.For RoleService, 'loadRoles' property must be set to false when the 'path' property is set to a value different from the default value.!Role Provider could not be found..The Role Manager feature has not been enabled.The 'ID' property on ScriptControlDescriptor is not settable. The client ID of a script control is always equal to its element ID.Extender control '{0}' is not a registered extender control. Extender controls must be registered using RegisterExtenderControl() before calling RegisterScriptDescriptors().Extender control type '{0}' does not have any attributes of type '{1}'. Extender control types must have at least one attribute of type '{1}'.9Extender controls may not be registered before PreRender.8Extender controls may not be registered after PreRender.7Script controls may not be registered before PreRender.6Script controls may not be registered after PreRender.Script control '{0}' is not a registered script control. Script controls must be registered using RegisterScriptControl() before calling RegisterScriptDescriptors().qExtender control '{0}' cannot extend '{1}'. Extender controls of type '{2}' cannot extend controls of type '{3}'.NThe assembly the Microsoft ASP.NET AJAX Framework scripts are embedded within.NIndicates how Microsoft Ajax Framework scripts should be included on the page.MIndicates whether custom error redirects will occur during an async postback.mThis event is raised to allow customization of the error message sent to the client during an async postback.The error message to be sent to the client when an unhandled exception occurs on the server. The property can be set declaratively in the page markup or during the ScriptManager's AsyncPostBackError event. If the value is empty the exception's message will be used.The page is performing an async postback but the ScriptManager.SupportsPartialRendering property is set to false. Ensure that the property is set to true during an async postback.XThe timeout period in seconds for async postbacks. A value of zero indicates no timeout.@Contains preferences for the client side authentication service.DA history point can only be created during an asynchronous postback.BA history point can only be added if EnableHistory is set to true.ETheAjaxFrameworkMode property cannot be changed after the Init event.CThe EnableCdn property cannot be changed after the PreRender event.KThe EnableCdnFallback property cannot be changed after the PreRender event.BThe EnableHistory property cannot be changed after the Init event.KThe EnablePartialRendering property cannot be changed after the Init event.hThe EnableScriptGlobalization property cannot be changed during async postbacks or after the Init event.MThe SupportsPartialRendering property cannot be changed after the Init event.Control with ID '{0}' cannot be registered through both RegisterAsyncPostBackControl and RegisterPostBackControl. This can happen if you have conflicting triggers associated with the target control.TA script reference cannot be included multiple times in composite script references.YThe SupportsPartialRendering property cannot be set when EnablePartialRendering is false.BSpecifies a client-side event handler name for the navigate event.rEnables the composition of individual script references into one to minimize the number of requests to the server.The URL of an empty page that will be used to manage history on Internet Explorer. The script manager uses a built-in, resource-based page if this property is unspecified.UEnables ScriptManager to load scripts from a content delivery network when available._Enables ScriptManager to load scripts locally when the content delivery network is unavailable.FEnables ScriptManager to manage browser history on supported browsers.Enables page methods.Enables asynchronous postbacks for the UpdatePanel control on supported browsers. To override the default browser support detection you can set the SupportsPartialRendering property.gEnables ScriptManager to add client-side globalization information to the page for the current culture.[Enables ScriptManager to generate localized versions of script files if they are available.When true, the server-side history state is hashed using the same settings as ViewState. When false, the server history state is a clear-text string dictionary that can be modified by the end user by modifying the url.2ASP.NET Ajax client-side framework failed to load.Control with ID '{0}' being registered through RegisterAsyncPostBackControl or RegisterPostBackControl must implement either INamingContainer, IPostBackDataHandler, or IPostBackEventHandler.[Specifies that script references should be loaded before the UI is rendered in the browser.The assembly '{0}' is not a supported version of an ASP.NET AJAX Framework assembly. Make sure that the application references a version greater than '{1}' of an ASP.NET AJAX Framework assembly.^This event is raised during asynchronous postbacks when the server-side history state changes.>Only one instance of a ScriptManager can be added to the page.
Untitled Page9Contains preferences for the client side profile service.dThis event is raised to allow modifications to composite script references before they are rendered.ZThis event is raised to allow modifications to script references before they are rendered.@Contains preferences for the client side authentication service.KIndicates the type of scripts to load when more than one type is available.^Specifies that scripts should be loaded from this path instead of from assembly web resources.A collection of script references that the ScriptManager should include in the page. The Scripts collections on the ScriptManager and ScriptManagerProxy controls are merged at runtime.A collection of service references that the ScriptManager should include in the page. The Services collections on the ScriptManager and ScriptManagerProxy controls are merged at runtime.Cannot unregister UpdatePanel with ID '{0}' since it was not registered with the ScriptManager. This might occur if the UpdatePanel was removed from the control tree and later added again, which is not supported.8The assembly that contains the script as a web resource.(Assembly cannot be defined without Name.\Indicates whether this script reference should ignore the ScriptManager.ScriptPath property.>'{0}' is not a valid script name.  The name must end in '.js'.>'{0}' is not a valid script path.  The path must end in '.js'.The name of the web resource.#Name and Path cannot both be empty.kSpecifies if the script resource loader should automatically append a script loaded notification statement.The path to the script.The requested script resource '{0}' requires version '{1}' of the ASP.NET AJAX Framework. To use this resource, make sure that the application references version '{1}'.pA comma-delimited string of valid UI cultures supported by the path. ResourceUICultures is only valid with Path.KSpecifies the algorithm for choosing between the debug and release scripts.2The control must be in the control tree of a page.The script tag registered for type '{0}' and key '{1}' has invalid characters outside of the script tags: {2}. Only properly formatted script tags can be registered.WThe script tag registered for type '{0}' and key '{1}' is missing a matching close tag.^The script tag registered for type '{0}' and key '{1}' does not contain any valid script tags.Invalid path mapping '{0}'. A path in a ScriptResourceDefinition must be a non-relative virtual path or an encoded absolute URI.+ResourceName and Path cannot both be empty.OMore than one ScriptResourceAttribute points to script '{0}' in assembly '{1}'.+This is an invalid script resource request.The resource URL cannot be longer than {0} characters. If using a CompositeScriptReference, reduce the number of ScriptReferences it contains, or combine them into a single static file and set the Path property to the location of it.NThe type names for the debug and release versions of resource {0} don't match.!Web resource '{0}' was not found.A search parameter is required.bIndicates whether this service reference should have its proxy script rendered inline in the page.)The path to the service being referenced.Path cannot be empty.3The serviceUri configuration setting was not found.Unable to connect to the Microsoft SQL Everywhere Service using the specified connection string. Make sure that Microsoft SQL Server Everywhere is correctly installed on this computer.8Fires when an event is generated within the pager field.%The template used in the pager field.=The TemplatePagerField raised event {0} which wasn't handled.'The interval must be greater than zero.Enables raising of Tick events.1The duration between Tick events in milliseconds.4Occurs whenever the specified interval time elapses.$An unhandled exception has occurred. The trigger's target control ID.PA control with ID '{0}' could not be found for the trigger in UpdatePanel '{1}'.GThe ControlID property must be set on the trigger in UpdatePanel '{0}'.The Controls property of UpdatePanel with ID '{0}' cannot be modified directly. To change the contents of the UpdatePanel modify the child controls of the ContentTemplateContainer property.bThe ContentTemplate of UpdatePanel with ID '{0}' cannot be changed after it has been instantiated.oIndicates whether postbacks coming from the UpdatePanel's child controls will cause the UpdatePanel to refresh.`ChildrenAsTriggers cannot be set to false when UpdateMode is set to Always on UpdatePanel '{0}'.aIndicates whether the UpdatePanel should render as a block tag (<div>) or an inline tag (<span>).0SetPartialRenderingMode can only be called once.FA collection of triggers that can cause the UpdatePanel to be updated.hThe Update method can only be called on UpdatePanel with ID '{0}' when UpdateMode is set to Conditional.Indicates whether the UpdatePanel will refresh on every asynchronous postback or only as the result of a specific action, such as a call to UpdatePanel.Update().PThe Update method can only be called on UpdatePanel with ID '{0}' before Render.8UpdatePanel that this UpdateProgress is associated with.9Time in ms after which the ProgressTemplate is displayed.,DisplayAfter must be a non negative integer.ADetermines whether the progress template is dynamically rendered.7No UpdatePanel found for AssociatedUpdatePanelID '{0}'.;ProgressTemplate which is displayed during async postbacks.$You must log on to call this method.Assembly '{0}' does not contain a Web resource with name '{1}'.  Setting the ScriptReference.ScriptMode property to ScriptMode.Auto or ScriptMode.Release will cause the release script to be used.rAssembly '{0}' contains a Web resource with name '{1}', but does not contain an embedded resource with name '{1}'.?Assembly '{0}' does not contain a Web resource with name '{1}'.The assembly '{0}' does not contain a Web resource that has the name '{1}'. Make sure that the resource name is spelled correctly.*There was an error processing the request.Using the GenerateScriptTypes attribute is not supported for types in the following categories: primitive types; DateTime; generic types taking more than one parameter; types implementing IEnumerable or IDictionary; interfaces; Abstract classes; classes without a public default constructor.The path "{0}" is not supported. When InlineScript=true, the path should be a relative path pointing to the same web application as the current page.WAn attempt was made to call the method '{0}' using a {1} request, which is not allowed.=Invalid web service call, expected path info of /js/<Method>.fThe method '{0}' returns a value of type '{1}', which cannot be serialized as Xml. Original error: {2}=Invalid web service call, missing value for parameter: '{0}'.eOnly Web services with a [ScriptService] attribute on the class definition can be called from script.No web service found at: {0}.No web service found at: {0}. This error can occur if a ServiceReference to a WCF service has InlineScript set to 'true'. For WCF services InlineScript should be 'false'.Authentication failed.Unknown web method {0}.*lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPg(V/VMf8
q3{X.PRM_CannotRegisterTwice PRM_MissingPanel>PRM_ParserErrorPRM_ServerError PRM_TimeoutErrorl<The PageRequestManager cannot be initialized more than once.xCould not find UpdatePanel with ID '{0}'. If it is being updated dynamically then it must be inside another UpdatePanel.9The message received from the server could not be parsed.wAn unknown error occurred while processing the request on the server. The status code returned from the server was: {0}The server request timed out.lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet5PADPADPI>Jɗ]G͎9X['=fhɂcmuI%FN̨8p5eš3EJ3'1]!"~%~6(t(!)"/z/2މ5\;>
vM@5A1L-ViL+O T^\u]UD`dqd6e;^menqPzKteuLwk%HY@2%kuBPJ=Jl\Acm8addHandlerCantBeUsedForError*appDuplicateComponentlargumentDomNode argumentTypeName&arrayParseBadFormatbadTypeNamewbaseNotAClass*behaviorDuplicateNameboolTrueOrFalseN2cantAddNonFunctionhandlerp cantAddWithoutId0cantBeCalledAfterDisposecantSetId(cantSetNameAfterInit&circularParentChain`BcomponentCantSetIdAfterAddedToApp.componentCantSetIdTwice*controlAlreadyDefined9(createComponentOnDomlcreateNoDom$createNotComponentelementNotFound(enumInvalidValueName> enumReservedNamel&enumValueNotInteger&eventHandlerInvalid.eventHandlerNotFunction2&expectedElementOrIdO^historyCannotAddHistoryPointWithHistoryDisabled4historyCannotEnableHistory&historyMissingFrame invalidNameSpace,methodNotFoundX,namespaceContainsClassz4namespaceContainsNonObjectnotATypeNamenotAnInterface	notObservable(	$observableConflictU	$propertyNotAnArray	&propertyNotWritable	.propertyNullOrUndefined	"propertyUndefined
"referenceNotFoundE
*scriptLoadFailedDebuge
,scriptLoadFailedNoHead*stateFieldNameInvalidJ6stateMustBeStringDictionary2stringFormatBraceMismatch&stringFormatInvalid&typeRegisteredTwiceundefinedEventurlTooLong
jCan't add a handler for the error event using this method. Please set the window.onerror property instead.HTwo components with the same id '{0}' can't be added to the application.+Value must be a DOM element or a text node.*Value is not the name of an existing type.fValue must be a valid string representation for an array. It must start with a '[' and end with a ']'.RValue is not the name of the type being registered or the name is a reserved word.Value is not a class.jA behavior with name '{0}' already exists or it is the name of an existing property on the target element. Value must be 'true' or 'false'.+Can't add a handler that is not a function..Can't add a component that doesn't have an id.Can't be called after dispose.,The id property can't be set on this object.CThe name property can't be set on this object after initialization.<The chain of control parents can't have circular references.\The id property of a component can't be set after it's been added to the Application object.;The id property of a component can't be set more than once.1A control is already associated with the element.EValue must be null for Components that are not Controls or Behaviors.2Value must not be null for Controls and Behaviors.'{0} does not derive from Sys.Component.,An element with id '{0}' could not be found.,'{0}' is not a valid name for an enum value.B'{0}' is a reserved name that can't be used as an enum value name.:An enumeration definition can only contain integer values.DHandler was not added through the Sys.UI.DomEvent.addHandler method.Handler must be a function..Value must be a DOM element or DOM element Id.BA history point can only be added if enableHistory is set to true..Cannot set enableHistory after initialization.For the history feature to work in IE, the page must have an iFrame element with id '__historyFrame' pointed to a page that gets its title from the 'title' query string parameter and calls Sys.Application._onIFrameLoad() on the parent window. This can be done by setting EnableHistory to true on ScriptManager.*Value is not a valid namespace identifier. No method found with name '{0}'.9Object {0} already exists as a class, enum, or interface./Object {0} already exists and is not an object.Value is not a valid type name.Value is not a valid interface.+Instances of type '{0}' cannot be observed.5Object already contains a member with the name '{0}'.'{0}' is not an Array property.!'{0}' is not a writable property.DCannot set the properties of '{0}' because it returned a null value.-'{0}' is not a property or an existing field.Component '{0}' was not found.The script '{0}' failed to load. Check for:
 Inaccessible path.
 Script errors. (IE) Enable 'Display a notification about every script error' under advanced settings.8ScriptLoader requires pages to contain a <head> element.6State field names must not contain any '=' characters.6The state object can only have null and string fields.AThe format string contains an unmatched opening or closing brace.The format string is invalid.Type {0} has already been registered. The type may be defined multiple times or the script file that defines it may have already been loaded. A possible cause is a change of settings during a partial update.'{0}' is not an event.VThe history state must be small enough to not make the url larger than {0} characters.lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSet0PADPADPpQD+΢mvk2ٍ2s4nƿ$9 5,y{/AAb*o ؼvBߡšlL&Ky	K:GCtmno(1tMd:<?@4K/O&3PqRnvT\]d'amfGpY|%P'0|$Q7VY{XzR75	actualValueargument$argumentDomElementGargumentIntegereargumentNull$argumentOutOfRangeargumentType*argumentTypeWithTypes"argumentUndefined<assertFailedX$assertFailedCallerobadBaseUrl1badBaseUrl2badBaseUrl3"breakIntoDebugger,cannotAbortBeforeStart0cannotCallBeforeResponse?*cannotCallOnceStartedq0cannotCallOutsideHandler8cannotDeserializeEmptyString8cannotDeserializeInvalidJson>cannotSerializeNonFiniteNumbers*<cannotSerializeObjectWithCycleP enumInvalidValue&eventHandlerInvalidformat0formatBadFormatSpecifier?&formatInvalidString^&invalidExecutorTypeinvalidHttpVerb invalidOperationinvalidTimeout="invokeCalledTwiceknotImplemented&nullReferenceInPathnullWebRequestparamName#parameterCount8DrequiredScriptReferenceNotIncludedS&scriptAlreadyLoaded0scriptDependencyNotFoundE scriptLoadFailed"servicePathNotSet,setExecutorAfterActive webServiceFailed*webServiceFailedNoMsgT6webServiceInvalidReturnTypeu$webServiceTimedOutActual value was {0}..Value does not fall within the expected range.Value must be a DOM element.Value must be an integer.Value cannot be null.8Specified argument was out of the range of valid values.0Object cannot be converted to the required type.7Object of type '{0}' cannot be converted to type '{1}'.Value cannot be undefined.Assertion Failed: {0}Assertion Failed: {0}
at {1}Base URL does not contain ://.$Base URL does not contain another /.Cannot find last / in base URL.{0}

Break into debugger?+Cannot abort when executor has not started.0Cannot call {0} when responseAvailable is false.Cannot call {0} once started.5Cannot call {0} outside of a completed event handler. Cannot deserialize empty string.?Cannot deserialize. The data does not correspond to valid JSON.$Cannot serialize non finite numbers.FCannot serialize object with cyclic reference within child properties.('{0}' is not a valid value for enum {1}.DHandler was not added through the Sys.UI.DomEvent.addHandler method.5One of the identified items was in an invalid format.Format specifier was invalid.)Input string was not in a correct format.>Could not create a valid Sys.Net.WebRequestExecutor from: {0}.2httpVerb cannot be set to an empty or null string.>Operation is not valid due to the current state of the object.,Value must be greater than or equal to zero."Cannot call invoke more than once.+The method or operation is not implemented.1Null reference while evaluating data path: '{0}'.2Cannot call executeRequest with a null webRequest.Parameter name: {0}Parameter count mismatch.B'{0}' requires that you have included a script reference to '{1}'.The script '{0}' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.HThe script '{0}' failed to load because it is dependent on script '{1}'.%The script '{0}' could not be loaded.-The path to the web service has not been set./Cannot set executor after it has become active.<The server method '{0}' failed with the following error: {1}The server method '{0}' failed.DThe server method '{0}' returned an invalid type. Expected type: {1}"The server method '{0}' timed out.ilSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPxg(V/VMfwg8
q3X{.PRM_CannotRegisterTwice PRM_MissingPanel>PRM_ParserError,PRM_ParserErrorDetailsPRM_ServerError PRM_TimeoutError. PRM_UnknownTokenM<The PageRequestManager cannot be initialized more than once.xCould not find UpdatePanel with ID '{0}'. If it is being updated dynamically then it must be inside another UpdatePanel.The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details: {0}Error parsing near '{0}'.wAn unknown error occurred while processing the request on the server. The status code returned from the server was: {0}The server request timed out.Unknown token: '{0}'.2lSystem.Resources.ResourceReader, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089#System.Resources.RuntimeResourceSetPADPADPn&Cƍ"v	ՍqU^L2FѕޟS k|4;JU0$aNcofMj${[H.NK{FDataService_MoreThanOneMetadataFile6DataService_NoMetadataFilesuBReferenceGroup_AppendLinePosition\ReferenceGroup_DataContractExcludedAndIncludedHReferenceGroup_DuplicatedSchemaItemsKVReferenceGroup_DuplicatedSchemaItemsIgnored6ReferenceGroup_EmptyAddress8ReferenceGroup_EmptyProtocol8FReferenceGroup_FailedToGenerateCodeUFReferenceGroup_FailedToLoadAssemblyrReferenceGroup_FieldDefinedDifferentlyInDuplicatedMessagefReferenceGroup_FieldDefinedInOneOfDuplicatedMessagem<ReferenceGroup_InvalidFileName<ReferenceGroup_InvalidSourceId!TReferenceGroup_OperationDefinedDifferently^~ReferenceGroup_OperationDefinedInOneOfDuplicatedServiceContract\ReferenceGroup_ServiceContractMappingMissMatch_JReferenceGroup_SharedTypeMustBePublicVReferenceGroup_TwoExternalFilesWithSameName]sThe specified .datasvcmap file at '{0}' has more than one metadata file in it. That is not supported by the system.FNo metadata files found or failed to load them for data service '{0}'.{0} Line {1}, position {2}.oThe type '{0}' is listed as a shared data contract type, but is also listed in the type sharing exclusion list.]The global {0} ('{1}') has been defined in both '{2}' and '{3}'. They are different at '{4}'.pThe global {0} ('{1}') has been defined in both '{2}' and '{3}'. The difference between them ('{4}') is ignored.Address must be specified.Protocol must be specified.=Failed to generate code for the service reference '{0}'.
{1}Shared assembly '{0}' could not be loaded. If this is a referenced project, please make sure that you have built the project first.QThe message part '{0}' in message contract '{1}' is different in '{2}' and '{3}'.hThe message contract '{0}' is defined in both '{1}' and '{2}', but only one contains message part '{3}'.H'{0}' is invalid file name.  Absolute or relative path is not supported.;SourceId of a metadata source should be a positive integer.The operation '{0}' in service contract '{1}' is different in '{2}' and '{3}'. Check the input, output and fault messages of the operation.qThe service contract '{0}' is defined in both '{1}' and '{2}', but only one of them contains the operation '{3}'.The type '{0}' in the service contract mapping has different TargetNamespace('{1}') and Name('{2}') than the TargetNamespace('{3}') and Name('{4}') in the service reference file.GThe type '{0}' cannot be used in type sharing because it is not public.XTwo metadata items or extension items in the .svcmap file have the same file name '{0}'.8BM86( Cif܁LKa^ܥCCedkkvw}|qo[Z[ZCCΚhgӶدllfeCĩggllvscrruv[\ȺcѹcbǮدrqƤ܇QP~~b`ÚzDCPOͫ܂LKxxlk§a`Ӹnnc~echhc°gg|{llhhi.-hhecȯxwkki.-i.-ihϧi.-~aaML|EESSffvvi.-ϧi.-Vihhhc§ϭi.-ȦҼc}~}&NLi.-i.-8BM86(jjttyiDjcI5cI5cI5cI5cI5j钵WHk»jg]^Hk䍧jHkjHk\J=jHkojHkojjjjjP|îcI5ȲcI5̶cI5ꪋꪋꪋ饄znbV}Jv@r9r9r9b/ꪋ¢}wqjee1ꪋꪋꪋꪋꦆvlbXN{Fv>r98BM86(jjttyiDjcI5cI5cI5cI5cI5j钵WHk»jg]^HkD!䍧jHkG#D!jHk\J=y]/f;T-F#jHkooD`Pa6F#jHkoivG`yJŲjjjjjP|_j>Ǻ|M܇[cI5ڈaȒtqcI5ڈaŨcI5ӛߞ~ꪋꪋ饄znbV}Jv@r9r9r9b/ϋj¢}wqjee1ꪋꪋꪋꪋꦆvlbXN{Fv>r98BM86(?|?AABBtt=x=@~@CCGGUUDD~~װōttffZZGGÈ۸ѤȒÈ||nnZZIIǐ޽֭ө̚zzIIɕōvv˘IIǑbbɕ8BM86(hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhDADADADAhhhhhh85858585hhhhhhPMPNPMPNhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh8BM86(D!kkkkkkkkkkkkkkkf,k0D!kkkkkkwBD!k0vCD!kkkkkkyDvCD!k0vl[6kkkkkk}GlgD!u@kDkkkkkk~Ju@wAkDkkkkkkkkkkkkMwAvNkkkkkkkkkO8BM86(dl'
IIcI5cI5cI5cI5cI5cI5cI5cI5.r$"Z@ܐކEE¹ϼʶư«'NHx?`ݠ!Rbzftׄ$`Ox=p6f06HbɃPq&QAՃsٜyӜfЏG|1r_j`݇Ox?o6f0`)unwDg$Hkt̸cI5O%yIO%cI5îO%1rB|R%cI5ȲO%:r
GQ%cI5̶:vDdJ6ѻi؏ihdJ6dJ6dJ6տɘźcI5²cI5²²²²²²²²ԾϹɳ8BM86(cI5cI5cI5cI5cI5cI5cI5cI5cI5cI5cI5cI5cI5ȻóۿۻۻۻϴcI5cI5óۿۻϴcI5ϴcI5cI5óۿۻϴcI5йcI5cI5óۿۻcI5óۿۻcI5îcI5ȲcI5óۿۻcI5óۿۻcI5̶cI5ꪋꪋꪋ饄znbV}Jv@r9r9r9b/ꪋ¢}wqjee1ꪋꪋꪋꪋꦆvlbXN{Fv>r96BM66(P*~B&h>_7cI5cI5cI5cI5cI5cI5cI5~B&h>wHMl@Ȼ~B&~B&G#TsExH}Lí㱘ʹG#aMG#sVİ󳛌}K%_Ʋïî~L]tȲİ̶cI5ꪋꪋꪋ饄znbV}Jv@r9r9r9b/ꪋ¢}wqjee1ꪋꪋꪋꪋꦆvlbXN{Fv>r9\//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjax.js
// Microsoft AJAX Framework.
 
Function.__typeName = 'Function';
Function.__class = true;
Function.createCallback = function Function$createCallback(method, context) {
    /// <summary locid="M:J#Function.createCallback" />
    /// <param name="method" type="Function"></param>
    /// <param name="context" mayBeNull="true"></param>
    /// <returns type="Function"></returns>
    var e = Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;
    return function() {
        var l = arguments.length;
        if (l > 0) {
            var args = [];
            for (var i = 0; i < l; i++) {
                args[i] = arguments[i];
            }
            args[l] = context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}
Function.createDelegate = function Function$createDelegate(instance, method) {
    /// <summary locid="M:J#Function.createDelegate" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <param name="method" type="Function"></param>
    /// <returns type="Function"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;
    return function() {
        return method.apply(instance, arguments);
    }
}
Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() {
    /// <summary locid="M:J#Function.emptyMethod" />
}
Function.validateParameters = function Function$validateParameters(parameters, expectedParameters, validateParameterCount) {
    /// <summary locid="M:J#Function.validateParameters" />
    /// <param name="parameters"></param>
    /// <param name="expectedParameters"></param>
    /// <param name="validateParameterCount" type="Boolean" optional="true"></param>
    /// <returns type="Error" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "parameters"},
        {name: "expectedParameters"},
        {name: "validateParameterCount", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    return Function._validateParams(parameters, expectedParameters, validateParameterCount);
}
Function._validateParams = function Function$_validateParams(params, expectedParams, validateParameterCount) {
    var e, expectedLength = expectedParams.length;
    validateParameterCount = validateParameterCount || (typeof(validateParameterCount) === "undefined");
    e = Function._validateParameterCount(params, expectedParams, validateParameterCount);
    if (e) {
        e.popStackFrame();
        return e;
    }
    for (var i = 0, l = params.length; i < l; i++) {
        var expectedParam = expectedParams[Math.min(i, expectedLength - 1)],
            paramName = expectedParam.name;
        if (expectedParam.parameterArray) {
            paramName += "[" + (i - expectedLength + 1) + "]";
        }
        else if (!validateParameterCount && (i >= expectedLength)) {
            break;
        }
        e = Function._validateParameter(params[i], expectedParam, paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams, validateParameterCount) {
    var i, error,
        expectedLen = expectedParams.length,
        actualLen = params.length;
    if (actualLen < expectedLen) {
        var minParams = expectedLen;
        for (i = 0; i < expectedLen; i++) {
            var param = expectedParams[i];
            if (param.optional || param.parameterArray) {
                minParams--;
            }
        }        
        if (actualLen < minParams) {
            error = true;
        }
    }
    else if (validateParameterCount && (actualLen > expectedLen)) {
        error = true;      
        for (i = 0; i < expectedLen; i++) {
            if (expectedParams[i].parameterArray) {
                error = false; 
                break;
            }
        }  
    }
    if (error) {
        var e = Error.parameterCount();
        e.popStackFrame();
        return e;
    }
    return null;
}
Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) {
    var e,
        expectedType = expectedParam.type,
        expectedInteger = !!expectedParam.integer,
        expectedDomElement = !!expectedParam.domElement,
        mayBeNull = !!expectedParam.mayBeNull;
    e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }
    var expectedElementType = expectedParam.elementType,
        elementMayBeNull = !!expectedParam.elementMayBeNull;
    if (expectedType === Array && typeof(param) !== "undefined" && param !== null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger = !!expectedParam.elementInteger,
            expectedElementDomElement = !!expectedParam.elementDomElement;
        for (var i=0; i < param.length; i++) {
            var elem = param[i];
            e = Function._validateParameterType(elem, expectedElementType,
                expectedElementInteger, expectedElementDomElement, elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }
    return null;
}
Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) {
    var e, i;
    if (typeof(param) === "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e = Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (param === null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e = Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && expectedType.__enum) {
        if (typeof(param) !== 'number') {
            e = Error.argumentType(paramName, Object.getType(param), expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) === 0) {
            var values = expectedType.prototype;
            if (!expectedType.__flags || (param === 0)) {
                for (i in values) {
                    if (values[i] === param) return null;
                }
            }
            else {
                var v = param;
                for (i in values) {
                    var vali = values[i];
                    if (vali === 0) continue;
                    if ((vali & param) === vali) {
                        v -= vali;
                    }
                    if (v === 0) return null;
                }
            }
        }
        e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }
    if (expectedDomElement && (!Sys._isDomElement(param) || (param.nodeType === 3))) {
        e = Error.argument(paramName, Sys.Res.argumentDomElement);
        e.popStackFrame();
        return e;
    }
    if (expectedType && !Sys._isInstanceOfType(expectedType, param)) {
        e = Error.argumentType(paramName, Object.getType(param), expectedType);
        e.popStackFrame();
        return e;
    }
    if (expectedType === Number && expectedInteger) {
        if ((param % 1) !== 0) {
            e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
 
Error.__typeName = 'Error';
Error.__class = true;
Error.create = function Error$create(message, errorInfo) {
    /// <summary locid="M:J#Error.create" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="errorInfo" optional="true" mayBeNull="true"></param>
    /// <returns type="Error"></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var err = new Error(message);
    err.message = message;
    if (errorInfo) {
        for (var v in errorInfo) {
            err[v] = errorInfo[v];
        }
    }
    err.popStackFrame();
    return err;
}
Error.argument = function Error$argument(paramName, message) {
    /// <summary locid="M:J#Error.argument" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName });
    err.popStackFrame();
    return err;
}
Error.argumentNull = function Error$argumentNull(paramName, message) {
    /// <summary locid="M:J#Error.argumentNull" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName });
    err.popStackFrame();
    return err;
}
Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <summary locid="M:J#Error.argumentOutOfRange" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="actualValue" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    if (typeof(actualValue) !== "undefined" && actualValue !== null) {
        displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue);
    }
    var err = Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    err.popStackFrame();
    return err;
}
Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) {
    /// <summary locid="M:J#Error.argumentType" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="actualType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="expectedType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage += message;
    }
    else if (actualType && expectedType) {
        displayMessage +=
            String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage += Sys.Res.argumentType;
    }
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    err.popStackFrame();
    return err;
}
Error.argumentUndefined = function Error$argumentUndefined(paramName, message) {
    /// <summary locid="M:J#Error.argumentUndefined" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName });
    err.popStackFrame();
    return err;
}
Error.format = function Error$format(message) {
    /// <summary locid="M:J#Error.format" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format);
    var err = Error.create(displayMessage, {name: 'Sys.FormatException'});
    err.popStackFrame();
    return err;
}
Error.invalidOperation = function Error$invalidOperation(message) {
    /// <summary locid="M:J#Error.invalidOperation" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation);
    var err = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'});
    err.popStackFrame();
    return err;
}
Error.notImplemented = function Error$notImplemented(message) {
    /// <summary locid="M:J#Error.notImplemented" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented);
    var err = Error.create(displayMessage, {name: 'Sys.NotImplementedException'});
    err.popStackFrame();
    return err;
}
Error.parameterCount = function Error$parameterCount(message) {
    /// <summary locid="M:J#Error.parameterCount" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount);
    var err = Error.create(displayMessage, {name: 'Sys.ParameterCountException'});
    err.popStackFrame();
    return err;
}
Error.prototype.popStackFrame = function Error$popStackFrame() {
    /// <summary locid="M:J#checkParam" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (typeof(this.stack) === "undefined" || this.stack === null ||
        typeof(this.fileName) === "undefined" || this.fileName === null ||
        typeof(this.lineNumber) === "undefined" || this.lineNumber === null) {
        return;
    }
    var stackFrames = this.stack.split("\n");
    var currentFrame = stackFrames[0];
    var pattern = this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !== "undefined" &&
          currentFrame !== null &&
          currentFrame.indexOf(pattern) === -1) {
        stackFrames.shift();
        currentFrame = stackFrames[0];
    }
    var nextFrame = stackFrames[1];
    if (typeof(nextFrame) === "undefined" || nextFrame === null) {
        return;
    }
    var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) {
        return;
    }
    this.fileName = nextFrameParts[1];
    this.lineNumber = parseInt(nextFrameParts[2]);
    stackFrames.shift();
    this.stack = stackFrames.join("\n");
}
 
Object.__typeName = 'Object';
Object.__class = true;
Object.getType = function Object$getType(instance) {
    /// <summary locid="M:J#Object.getType" />
    /// <param name="instance"></param>
    /// <returns type="Type"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    var ctor = instance.constructor;
    if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) {
        return Object;
    }
    return ctor;
}
Object.getTypeName = function Object$getTypeName(instance) {
    /// <summary locid="M:J#Object.getTypeName" />
    /// <param name="instance"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    return Object.getType(instance).getName();
}
 
String.__typeName = 'String';
String.__class = true;
String.prototype.endsWith = function String$endsWith(suffix) {
    /// <summary locid="M:J#String.endsWith" />
    /// <param name="suffix" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(this.length - suffix.length) === suffix);
}
String.prototype.startsWith = function String$startsWith(prefix) {
    /// <summary locid="M:J#String.startsWith" />
    /// <param name="prefix" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(0, prefix.length) === prefix);
}
String.prototype.trim = function String$trim() {
    /// <summary locid="M:J#String.trim" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}
String.prototype.trimEnd = function String$trimEnd() {
    /// <summary locid="M:J#String.trimEnd" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}
String.prototype.trimStart = function String$trimStart() {
    /// <summary locid="M:J#String.trimStart" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}
String.format = function String$format(format, args) {
    /// <summary locid="M:J#String.format" />
    /// <param name="format" type="String"></param>
    /// <param name="args" parameterArray="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(false, arguments);
}
String._toFormattedString = function String$_toFormattedString(useLocale, args) {
    var result = '';
    var format = args[0];
    for (var i=0;;) {
        var open = format.indexOf('{', i);
        var close = format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
            result += format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
            if (format.charAt(close + 1) !== '}') {
                throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
            }
            result += format.slice(i, close + 1);
            i = close + 2;
            continue;
        }
        result += format.slice(i, open);
        i = open + 1;
        if (format.charAt(i) === '{') {
            result += '{';
            i++;
            continue;
        }
        if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
        var brace = format.substring(i, close);
        var colonIndex = brace.indexOf(':');
        var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid);
        var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1);
        var arg = args[argNumber];
        if (typeof(arg) === "undefined" || arg === null) {
            arg = '';
        }
        if (arg.toFormattedString) {
            result += arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result += arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result += arg.format(argFormat);
        }
        else
            result += arg.toString();
        i = close + 1;
    }
    return result;
}
 
Boolean.__typeName = 'Boolean';
Boolean.__class = true;
Boolean.parse = function Boolean$parse(value) {
    /// <summary locid="M:J#Boolean.parse" />
    /// <param name="value" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ], false);
    if (e) throw e;
    var v = value.trim().toLowerCase();
    if (v === 'false') return false;
    if (v === 'true') return true;
    throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse);
}
 
Date.__typeName = 'Date';
Date.__class = true;
 
Number.__typeName = 'Number';
Number.__class = true;
 
RegExp.__typeName = 'RegExp';
RegExp.__class = true;
 
if (!window) this.window = this;
window.Type = Function;
Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");
Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) {
    /// <summary locid="M:J#Type.callBaseMethod" />
    /// <param name="instance"></param>
    /// <param name="name" type="String"></param>
    /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = Sys._getBaseMethod(this, 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 = function Type$getBaseMethod(instance, name) {
    /// <summary locid="M:J#Type.getBaseMethod" />
    /// <param name="instance"></param>
    /// <param name="name" type="String"></param>
    /// <returns type="Function" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    return Sys._getBaseMethod(this, instance, name);
}
Type.prototype.getBaseType = function Type$getBaseType() {
    /// <summary locid="M:J#Type.getBaseType" />
    /// <returns type="Type" mayBeNull="true"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return (typeof(this.__baseType) === "undefined") ? null : this.__baseType;
}
Type.prototype.getInterfaces = function Type$getInterfaces() {
    /// <summary locid="M:J#Type.getInterfaces" />
    /// <returns type="Array" elementType="Type" mayBeNull="false" elementMayBeNull="false"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    var result = [];
    var type = this;
    while(type) {
        var interfaces = type.__interfaces;
        if (interfaces) {
            for (var i = 0, l = interfaces.length; i < l; i++) {
                var interfaceType = interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] = interfaceType;
                }
            }
        }
        type = type.__baseType;
    }
    return result;
}
Type.prototype.getName = function Type$getName() {
    /// <summary locid="M:J#Type.getName" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName;
}
Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) {
    /// <summary locid="M:J#Type.implementsInterface" />
    /// <param name="interfaceType" type="Type"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var interfaceName = interfaceType.getName();
    var cache = this.__interfaceCache;
    if (cache) {
        var cacheEntry = cache[interfaceName];
        if (typeof(cacheEntry) !== 'undefined') return cacheEntry;
    }
    else {
        cache = this.__interfaceCache = {};
    }
    var baseType = this;
    while (baseType) {
        var interfaces = baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !== -1) {
                return cache[interfaceName] = true;
            }
        }
        baseType = baseType.__baseType;
    }
    return cache[interfaceName] = false;
}
Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) {
    /// <summary locid="M:J#Type.inheritsFrom" />
    /// <param name="parentType" type="Type"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var baseType = this.__baseType;
    while (baseType) {
        if (baseType === parentType) {
            return true;
        }
        baseType = baseType.__baseType;
    }
    return false;
}
Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) {
    /// <summary locid="M:J#Type.initializeBase" />
    /// <param name="instance"></param>
    /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (!Sys._isInstanceOfType(this, 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 = function Type$isImplementedBy(instance) {
    /// <summary locid="M:J#Type.isImplementedBy" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) === "undefined" || instance === null) return false;
    var instanceType = Object.getType(instance);
    return !!(instanceType.implementsInterface && instanceType.implementsInterface(this));
}
Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) {
    /// <summary locid="M:J#Type.isInstanceOfType" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    return Sys._isInstanceOfType(this, instance);
}
Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) {
    /// <summary locid="M:J#Type.registerClass" />
    /// <param name="typeName" type="String"></param>
    /// <param name="baseType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="interfaceTypes" parameterArray="true" type="Type"></param>
    /// <returns type="Type"></returns>
    var e = 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 = eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !== 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) === 'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass);
    this.prototype.constructor = this;
    this.__typeName = typeName;
    this.__class = true;
    if (baseType) {
        this.__baseType = baseType;
        this.__basePrototypePending = true;
    }
    Sys.__upperCaseTypes[typeName.toUpperCase()] = this;
    if (interfaceTypes) {
        this.__interfaces = [];
        this.resolveInheritance();
        for (var i = 2, l = arguments.length; i < l; i++) {
            var interfaceType = arguments[i];
            if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface);
            for (var methodName in interfaceType.prototype) {
                var method = interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] = method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    Sys.__registeredTypes[typeName] = true;
    return this;
}
Type.prototype.registerInterface = function Type$registerInterface(typeName) {
    /// <summary locid="M:J#Type.registerInterface" />
    /// <param name="typeName" type="String"></param>
    /// <returns type="Type"></returns>
    var e = 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 = eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !== 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()] = this;
    this.prototype.constructor = this;
    this.__typeName = typeName;
    this.__interface = true;
    Sys.__registeredTypes[typeName] = true;
    return this;
}
Type.prototype.resolveInheritance = function Type$resolveInheritance() {
    /// <summary locid="M:J#Type.resolveInheritance" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (this.__basePrototypePending) {
        var baseType = this.__baseType;
        baseType.resolveInheritance();
        for (var memberName in baseType.prototype) {
            var memberValue = baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] = memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}
Type.getRootNamespaces = function Type$getRootNamespaces() {
    /// <summary locid="M:J#Type.getRootNamespaces" />
    /// <returns type="Array"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return Array.clone(Sys.__rootNamespaces);
}
Type.isClass = function Type$isClass(type) {
    /// <summary locid="M:J#Type.isClass" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__class;
}
Type.isInterface = function Type$isInterface(type) {
    /// <summary locid="M:J#Type.isInterface" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__interface;
}
Type.isNamespace = function Type$isNamespace(object) {
    /// <summary locid="M:J#Type.isNamespace" />
    /// <param name="object" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(object) === 'undefined') || (object === null)) return false;
    return !!object.__namespace;
}
Type.parse = function Type$parse(typeName, ns) {
    /// <summary locid="M:J#Type.parse" />
    /// <param name="typeName" type="String" mayBeNull="true"></param>
    /// <param name="ns" optional="true" mayBeNull="true"></param>
    /// <returns type="Type" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var fn;
    if (ns) {
        fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses = {};
    }
    fn = Type.__htClasses[typeName];
    if (!fn) {
        fn = eval(typeName);
        if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] = fn;
    }
    return fn;
}
Type.registerNamespace = function Type$registerNamespace(namespacePath) {
    /// <summary locid="M:J#Type.registerNamespace" />
    /// <param name="namespacePath" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;
    Type._registerNamespace(namespacePath);
}
Type._registerNamespace = function Type$_registerNamespace(namespacePath) {
    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject = window;
    var namespaceParts = namespacePath.split('.');
    for (var i = 0; i < namespaceParts.length; i++) {
        var currentPart = namespaceParts[i];
        var ns = rootObject[currentPart];
        var nsType = typeof(ns);
        if ((nsType !== "undefined") && (ns !== null)) {
            if (nsType === "function") {
                throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsClass, namespaceParts.splice(0, i + 1).join('.')));
            }
            if ((typeof(ns) !== "object") || (ns instanceof Array)) {
                throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsNonObject, namespaceParts.splice(0, i + 1).join('.')));
            }
        }
        if (!ns) {
            ns = rootObject[currentPart] = {};
        }
        if (!ns.__namespace) {
            if ((i === 0) && (namespacePath !== "Sys")) {
                Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns;
            }
            ns.__namespace = true;
            ns.__typeName = namespaceParts.slice(0, i + 1).join('.');
            var parsedName;
            try {
                parsedName = eval(ns.__typeName);
            }
            catch(e) {
                parsedName = null;
            }
            if (parsedName !== ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
            }
            ns.getName = function ns$getName() {return this.__typeName;}
        }
        rootObject = ns;
    }
}
Type._checkDependency = function Type$_checkDependency(dependency, featureName) {
    var scripts = Type._registerScript._scripts, isDependent = (scripts ? (!!scripts[dependency]) : false);
    if ((typeof(featureName) !== 'undefined') && !isDependent) {
        throw Error.invalidOperation(String.format(Sys.Res.requiredScriptReferenceNotIncluded, 
        featureName, dependency));
    }
    return isDependent;
}
Type._registerScript = function Type$_registerScript(scriptName, dependencies) {
    var scripts = Type._registerScript._scripts;
    if (!scripts) {
        Type._registerScript._scripts = scripts = {};
    }
    if (scripts[scriptName]) {
        throw Error.invalidOperation(String.format(Sys.Res.scriptAlreadyLoaded, scriptName));
    }
    scripts[scriptName] = true;
    if (dependencies) {
        for (var i = 0, l = dependencies.length; i < l; i++) {
            var dependency = dependencies[i];
            if (!Type._checkDependency(dependency)) {
                throw Error.invalidOperation(String.format(Sys.Res.scriptDependencyNotFound, scriptName, dependency));
            }
        }
    }
}
Type._registerNamespace("Sys");
Sys.__upperCaseTypes = {};
Sys.__rootNamespaces = [Sys];
Sys.__registeredTypes = {};
Sys._isInstanceOfType = function Sys$_isInstanceOfType(type, instance) {
    if (typeof(instance) === "undefined" || instance === null) return false;
    if (instance instanceof type) return true;
    var instanceType = Object.getType(instance);
    return !!(instanceType === type) ||
           (instanceType.inheritsFrom && instanceType.inheritsFrom(type)) ||
           (instanceType.implementsInterface && instanceType.implementsInterface(type));
}
Sys._getBaseMethod = function Sys$_getBaseMethod(type, instance, name) {
    if (!Sys._isInstanceOfType(type, instance)) throw Error.argumentType('instance', Object.getType(instance), type);
    var baseType = type.getBaseType();
    if (baseType) {
        var baseMethod = baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }
    return null;
}
Sys._isDomElement = function Sys$_isDomElement(obj) {
    var val = false;
    if (typeof (obj.nodeType) !== 'number') {
        var doc = obj.ownerDocument || obj.document || obj;
        if (doc != obj) {
            var w = doc.defaultView || doc.parentWindow;
            val = (w != obj);
        }
        else {
            val = (typeof (doc.body) === 'undefined');
        }
    }
    return !val;
}
 
Array.__typeName = 'Array';
Array.__class = true;
Array.add = Array.enqueue = function Array$enqueue(array, item) {
    /// <summary locid="M:J#Array.enqueue" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array[array.length] = item;
}
Array.addRange = function Array$addRange(array, items) {
    /// <summary locid="M:J#Array.addRange" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="items" type="Array" elementMayBeNull="true"></param>
    var e = 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 = function Array$clear(array) {
    /// <summary locid="M:J#Array.clear" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.length = 0;
}
Array.clone = function Array$clone(array) {
    /// <summary locid="M:J#Array.clone" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <returns type="Array" elementMayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (array.length === 1) {
        return [array[0]];
    }
    else {
        return Array.apply(null, array);
    }
}
Array.contains = function Array$contains(array, item) {
    /// <summary locid="M:J#Array.contains" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    return (Sys._indexOf(array, item) >= 0);
}
Array.dequeue = function Array$dequeue(array) {
    /// <summary locid="M:J#Array.dequeue" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <returns mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    return array.shift();
}
Array.forEach = function Array$forEach(array, method, instance) {
    /// <summary locid="M:J#Array.forEach" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="method" type="Function"></param>
    /// <param name="instance" optional="true" mayBeNull="true"></param>
    var e = 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 = 0, l = array.length; i < l; i++) {
        var elt = array[i];
        if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array);
    }
}
Array.indexOf = function Array$indexOf(array, item, start) {
    /// <summary locid="M:J#Array.indexOf" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" optional="true" mayBeNull="true"></param>
    /// <param name="start" optional="true" mayBeNull="true"></param>
    /// <returns type="Number"></returns>
    var e = 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;
    return Sys._indexOf(array, item, start);
}
Array.insert = function Array$insert(array, index, item) {
    /// <summary locid="M:J#Array.insert" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" mayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = 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 = function Array$parse(value) {
    /// <summary locid="M:J#Array.parse" />
    /// <param name="value" type="String" mayBeNull="true"></param>
    /// <returns type="Array" elementMayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    if (!value) return [];
    var v = eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat);
    return v;
}
Array.remove = function Array$remove(array, item) {
    /// <summary locid="M:J#Array.remove" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index = Sys._indexOf(array, item);
    if (index >= 0) {
        array.splice(index, 1);
    }
    return (index >= 0);
}
Array.removeAt = function Array$removeAt(array, index) {
    /// <summary locid="M:J#Array.removeAt" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 1);
}
Sys._indexOf = function Sys$_indexOf(array, item, start) {
    if (typeof(item) === "undefined") return -1;
    var length = array.length;
    if (length !== 0) {
        start = start - 0;
        if (isNaN(start)) {
            start = 0;
        }
        else {
            if (isFinite(start)) {
                start = start - (start % 1);
            }
            if (start < 0) {
                start = Math.max(0, length + start);
            }
        }
        for (var i = start; i < length; i++) {
            if ((typeof(array[i]) !== "undefined") && (array[i] === item)) {
                return i;
            }
        }
    }
    return -1;
}
Type._registerScript._scripts = {
	"MicrosoftAjaxCore.js": true,
	"MicrosoftAjaxGlobalization.js": true,
	"MicrosoftAjaxSerialization.js": true,
	"MicrosoftAjaxComponentModel.js": true,
	"MicrosoftAjaxHistory.js": true,
	"MicrosoftAjaxNetwork.js" : true,
	"MicrosoftAjaxWebServices.js": true };
 
Sys.IDisposable = function Sys$IDisposable() {
    throw Error.notImplemented();
}
    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype = {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
 
Sys.StringBuilder = function Sys$StringBuilder(initialText) {
    /// <summary locid="M:J#Sys.StringBuilder.#ctor" />
    /// <param name="initialText" optional="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ?
        [initialText.toString()] : [];
    this._value = {};
    this._len = 0;
}
    function Sys$StringBuilder$append(text) {
        /// <summary locid="M:J#Sys.StringBuilder.append" />
        /// <param name="text" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] = text;
    }
    function Sys$StringBuilder$appendLine(text) {
        /// <summary locid="M:J#Sys.StringBuilder.appendLine" />
        /// <param name="text" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =
            ((typeof(text) === 'undefined') || (text === null) || (text === '')) ?
            '\r\n' : text + '\r\n';
    }
    function Sys$StringBuilder$clear() {
        /// <summary locid="M:J#Sys.StringBuilder.clear" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._parts = [];
        this._value = {};
        this._len = 0;
    }
    function Sys$StringBuilder$isEmpty() {
        /// <summary locid="M:J#Sys.StringBuilder.isEmpty" />
        /// <returns type="Boolean"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._parts.length === 0) return true;
        return this.toString() === '';
    }
    function Sys$StringBuilder$toString(separator) {
        /// <summary locid="M:J#Sys.StringBuilder.toString" />
        /// <param name="separator" type="String" optional="true" mayBeNull="true"></param>
        /// <returns type="String"></returns>
        var e = Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        separator = separator || '';
        var parts = this._parts;
        if (this._len !== parts.length) {
            this._value = {};
            this._len = parts.length;
        }
        var val = this._value;
        if (typeof(val[separator]) === 'undefined') {
            if (separator !== '') {
                for (var i = 0; i < parts.length;) {
                    if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] = this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype = {
    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');
 
Sys.Browser = {};
Sys.Browser.InternetExplorer = {};
Sys.Browser.Firefox = {};
Sys.Browser.Safari = {};
Sys.Browser.Opera = {};
Sys.Browser.agent = null;
Sys.Browser.hasDebuggerStatement = false;
Sys.Browser.name = navigator.appName;
Sys.Browser.version = parseFloat(navigator.appVersion);
Sys.Browser.documentMode = 0;
if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent = Sys.Browser.InternetExplorer;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);
    if (Sys.Browser.version >= 8) {
        if (document.documentMode >= 7) {
            Sys.Browser.documentMode = document.documentMode;    
        }
    }
    Sys.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent = Sys.Browser.Firefox;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name = 'Firefox';
    Sys.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) {
    Sys.Browser.agent = Sys.Browser.Safari;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]);
    Sys.Browser.name = 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent = Sys.Browser.Opera;
}
 
Sys.EventArgs = function Sys$EventArgs() {
    /// <summary locid="M:J#Sys.EventArgs.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty = new Sys.EventArgs();
 
Sys.CancelEventArgs = function Sys$CancelEventArgs() {
    /// <summary locid="M:J#Sys.CancelEventArgs.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);
    this._cancel = false;
}
    function Sys$CancelEventArgs$get_cancel() {
        /// <value type="Boolean" locid="P:J#Sys.CancelEventArgs.cancel"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._cancel = value;
    }
Sys.CancelEventArgs.prototype = {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
Type.registerNamespace('Sys.UI');
 
Sys._Debug = function Sys$_Debug() {
    /// <summary locid="M:J#Sys.Debug.#ctor" />
    /// <field name="isDebug" type="Boolean" locid="F:J#Sys.Debug.isDebug"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
}
    function Sys$_Debug$_appendConsole(text) {
        if ((typeof(Debug) !== '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 = document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {
            traceElement.value += text + '\n';
        }
    }
    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <summary locid="M:J#Sys.Debug.assert" />
        /// <param name="condition" type="Boolean"></param>
        /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="displayCaller" type="Boolean" optional="true"></param>
        var e = 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 = (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="M:J#Sys.Debug.clearTrace" />
        if (arguments.length !== 0) throw Error.parameterCount();
        var traceElement = document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {
            traceElement.value = '';
        }
    }
    function Sys$_Debug$fail(message) {
        /// <summary locid="M:J#Sys.Debug.fail" />
        /// <param name="message" type="String" mayBeNull="true"></param>
        var e = 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="M:J#Sys.Debug.trace" />
        /// <param name="text"></param>
        var e = Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;
        this._appendConsole(text);
        this._appendTrace(text);
    }
    function Sys$_Debug$traceDump(object, name) {
        /// <summary locid="M:J#Sys.Debug.traceDump" />
        /// <param name="object" mayBeNull="true"></param>
        /// <param name="name" type="String" mayBeNull="true" optional="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var text = this._traceDump(object, name, true);
    }
    function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) {
        name = name? name : 'traceDump';
        indentationPadding = indentationPadding? indentationPadding : '';
        if (object === 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 = [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);
                if ((object == window) || (object === document) ||
                    (window.HTMLElement && (object instanceof HTMLElement)) ||
                    (typeof(object.nodeName) === 'string')) {
                    var tag = object.tagName? object.tagName : 'DomElement';
                    if (object.id) {
                        tag += ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + '}');
                }
                else {
                    var typeName = Object.getTypeName(object);
                    this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding === '') || recursive) {
                        indentationPadding += "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length = object.length;
                            for (i = 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v = object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype = {
    _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 = new Sys._Debug();
    Sys.Debug.isDebug = true;
 
function Sys$Enum$parse(value, ignoreCase) {
    /// <summary locid="M:J#Sys.Enum.parse" />
    /// <param name="value" type="String"></param>
    /// <param name="ignoreCase" type="Boolean" optional="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    var values, parsed, val;
    if (ignoreCase) {
        values = this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues = values = {};
            var prototype = this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] = prototype[name];
            }
        }
    }
    else {
        values = this.prototype;
    }
    if (!this.__flags) {
        val = (ignoreCase ? value.toLowerCase() : value);
        parsed = values[val.trim()];
        if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
        return parsed;
    }
    else {
        var parts = (ignoreCase ? value.toLowerCase() : value).split(',');
        var v = 0;
        for (var i = parts.length - 1; i >= 0; i--) {
            var part = parts[i].trim();
            parsed = values[part];
            if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName));
            v |= parsed;
        }
        return v;
    }
}
function Sys$Enum$toString(value) {
    /// <summary locid="M:J#Sys.Enum.toString" />
    /// <param name="value" optional="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if ((typeof(value) === 'undefined') || (value === null)) return this.__string;
    if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this);
    var values = this.prototype;
    var i;
    if (!this.__flags || (value === 0)) {
        for (i in values) {
            if (values[i] === value) {
                return i;
            }
        }
    }
    else {
        var sorted = this.__sortedValues;
        if (!sorted) {
            sorted = [];
            for (i in values) {
                sorted[sorted.length] = {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues = sorted;
        }
        var parts = [];
        var v = value;
        for (i = sorted.length - 1; i >= 0; i--) {
            var kvp = sorted[i];
            var vali = kvp.value;
            if (vali === 0) continue;
            if ((vali & value) === vali) {
                parts[parts.length] = kvp.key;
                v -= vali;
                if (v === 0) break;
            }
        }
        if (parts.length && v === 0) return parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}
Type.prototype.registerEnum = function Type$registerEnum(name, flags) {
    /// <summary locid="M:J#Sys.UI.LineType.#ctor" />
    /// <param name="name" type="String"></param>
    /// <param name="flags" type="Boolean" optional="true"></param>
    var e = 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 = eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName);
    if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name));
    for (var j in this.prototype) {
        var val = this.prototype[j];
        if (!Type.__identifierRegExp.test(j)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, j));
        if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[j]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, j));
    }
    Sys.__upperCaseTypes[name.toUpperCase()] = this;
    for (var i in this.prototype) {
        this[i] = this.prototype[i];
    }
    this.__typeName = name;
    this.parse = Sys$Enum$parse;
    this.__string = this.toString();
    this.toString = Sys$Enum$toString;
    this.__flags = flags;
    this.__enum = true;
    Sys.__registeredTypes[name] = true;
}
Type.isEnum = function Type$isEnum(type) {
    /// <summary locid="M:J#Type.isEnum" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__enum;
}
Type.isFlags = function Type$isFlags(type) {
    /// <summary locid="M:J#Type.isFlags" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__flags;
}
Sys.CollectionChange = function Sys$CollectionChange(action, newItems, newStartingIndex, oldItems, oldStartingIndex) {
    /// <summary locid="M:J#Sys.CollectionChange.#ctor" />
    /// <param name="action" type="Sys.NotifyCollectionChangedAction"></param>
    /// <param name="newItems" optional="true" mayBeNull="true"></param>
    /// <param name="newStartingIndex" type="Number" integer="true" optional="true" mayBeNull="true"></param>
    /// <param name="oldItems" optional="true" mayBeNull="true"></param>
    /// <param name="oldStartingIndex" type="Number" integer="true" optional="true" mayBeNull="true"></param>
    /// <field name="action" type="Sys.NotifyCollectionChangedAction" locid="F:J#Sys.CollectionChange.action"></field>
    /// <field name="newItems" type="Array" mayBeNull="true" elementMayBeNull="true" locid="F:J#Sys.CollectionChange.newItems"></field>
    /// <field name="newStartingIndex" type="Number" integer="true" locid="F:J#Sys.CollectionChange.newStartingIndex"></field>
    /// <field name="oldItems" type="Array" mayBeNull="true" elementMayBeNull="true" locid="F:J#Sys.CollectionChange.oldItems"></field>
    /// <field name="oldStartingIndex" type="Number" integer="true" locid="F:J#Sys.CollectionChange.oldStartingIndex"></field>
    var e = Function._validateParams(arguments, [
        {name: "action", type: Sys.NotifyCollectionChangedAction},
        {name: "newItems", mayBeNull: true, optional: true},
        {name: "newStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true},
        {name: "oldItems", mayBeNull: true, optional: true},
        {name: "oldStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true}
    ]);
    if (e) throw e;
    this.action = action;
    if (newItems) {
        if (!(newItems instanceof Array)) {
            newItems = [newItems];
        }
    }
    this.newItems = newItems || null;
    if (typeof newStartingIndex !== "number") {
        newStartingIndex = -1;
    }
    this.newStartingIndex = newStartingIndex;
    if (oldItems) {
        if (!(oldItems instanceof Array)) {
            oldItems = [oldItems];
        }
    }
    this.oldItems = oldItems || null;
    if (typeof oldStartingIndex !== "number") {
        oldStartingIndex = -1;
    }
    this.oldStartingIndex = oldStartingIndex;
}
Sys.CollectionChange.registerClass("Sys.CollectionChange");
Sys.NotifyCollectionChangedAction = function Sys$NotifyCollectionChangedAction() {
    /// <summary locid="M:J#Sys.NotifyCollectionChangedAction.#ctor" />
    /// <field name="add" type="Number" integer="true" static="true" locid="F:J#Sys.NotifyCollectionChangedAction.add"></field>
    /// <field name="remove" type="Number" integer="true" static="true" locid="F:J#Sys.NotifyCollectionChangedAction.remove"></field>
    /// <field name="reset" type="Number" integer="true" static="true" locid="F:J#Sys.NotifyCollectionChangedAction.reset"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.NotifyCollectionChangedAction.prototype = {
    add: 0,
    remove: 1,
    reset: 2
}
Sys.NotifyCollectionChangedAction.registerEnum('Sys.NotifyCollectionChangedAction');
Sys.NotifyCollectionChangedEventArgs = function Sys$NotifyCollectionChangedEventArgs(changes) {
    /// <summary locid="M:J#Sys.NotifyCollectionChangedEventArgs.#ctor" />
    /// <param name="changes" type="Array" elementType="Sys.CollectionChange"></param>
    var e = Function._validateParams(arguments, [
        {name: "changes", type: Array, elementType: Sys.CollectionChange}
    ]);
    if (e) throw e;
    this._changes = changes;
    Sys.NotifyCollectionChangedEventArgs.initializeBase(this);
}
    function Sys$NotifyCollectionChangedEventArgs$get_changes() {
        /// <value type="Array" elementType="Sys.CollectionChange" locid="P:J#Sys.NotifyCollectionChangedEventArgs.changes"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._changes || [];
    }
Sys.NotifyCollectionChangedEventArgs.prototype = {
    get_changes: Sys$NotifyCollectionChangedEventArgs$get_changes
}
Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs", Sys.EventArgs);
Sys.Observer = function Sys$Observer() {
    throw Error.invalidOperation();
}
Sys.Observer.registerClass("Sys.Observer");
Sys.Observer.makeObservable = function Sys$Observer$makeObservable(target) {
    /// <summary locid="M:J#Sys.Observer.makeObservable" />
    /// <param name="target" mayBeNull="false"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    var isArray = target instanceof Array,
        o = Sys.Observer;
    Sys.Observer._ensureObservable(target);
    if (target.setValue === o._observeMethods.setValue) return target;
    o._addMethods(target, o._observeMethods);
    if (isArray) {
        o._addMethods(target, o._arrayMethods);
    }
    return target;
}
Sys.Observer._ensureObservable = function Sys$Observer$_ensureObservable(target) {
    var type = typeof target;
    if ((type === "string") || (type === "number") || (type === "boolean") || (type === "date")) {
        throw Error.invalidOperation(String.format(Sys.Res.notObservable, type));
    }
}
Sys.Observer._addMethods = function Sys$Observer$_addMethods(target, methods) {
    for (var m in methods) {
        if (target[m] && (target[m] !== methods[m])) {
            throw Error.invalidOperation(String.format(Sys.Res.observableConflict, m));
        }
        target[m] = methods[m];
    }
}
Sys.Observer._addEventHandler = function Sys$Observer$_addEventHandler(target, eventName, handler) {
    Sys.Observer._getContext(target, true).events._addHandler(eventName, handler);
}
Sys.Observer.addEventHandler = function Sys$Observer$addEventHandler(target, eventName, handler) {
    /// <summary locid="M:J#Sys.Observer.addEventHandler" />
    /// <param name="target"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._addEventHandler(target, eventName, handler);
}
Sys.Observer._removeEventHandler = function Sys$Observer$_removeEventHandler(target, eventName, handler) {
    Sys.Observer._getContext(target, true).events._removeHandler(eventName, handler);
}
Sys.Observer.removeEventHandler = function Sys$Observer$removeEventHandler(target, eventName, handler) {
    /// <summary locid="M:J#Sys.Observer.removeEventHandler" />
    /// <param name="target"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._removeEventHandler(target, eventName, handler);
}
Sys.Observer.raiseEvent = function Sys$Observer$raiseEvent(target, eventName, eventArgs) {
    /// <summary locid="M:J#Sys.Observer.raiseEvent" />
    /// <param name="target"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="eventArgs" type="Sys.EventArgs"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "eventName", type: String},
        {name: "eventArgs", type: Sys.EventArgs}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    var ctx = Sys.Observer._getContext(target);
    if (!ctx) return;
    var handler = ctx.events.getHandler(eventName);
    if (handler) {
        handler(target, eventArgs);
    }
}
Sys.Observer.addPropertyChanged = function Sys$Observer$addPropertyChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.addPropertyChanged" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._addEventHandler(target, "propertyChanged", handler);
}
Sys.Observer.removePropertyChanged = function Sys$Observer$removePropertyChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.removePropertyChanged" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._removeEventHandler(target, "propertyChanged", handler);
}
Sys.Observer.beginUpdate = function Sys$Observer$beginUpdate(target) {
    /// <summary locid="M:J#Sys.Observer.beginUpdate" />
    /// <param name="target" mayBeNull="false"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._getContext(target, true).updating = true;
}
Sys.Observer.endUpdate = function Sys$Observer$endUpdate(target) {
    /// <summary locid="M:J#Sys.Observer.endUpdate" />
    /// <param name="target" mayBeNull="false"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    var ctx = Sys.Observer._getContext(target);
    if (!ctx || !ctx.updating) return;
    ctx.updating = false;
    var dirty = ctx.dirty;
    ctx.dirty = false;
    if (dirty) {
        if (target instanceof Array) {
            var changes = ctx.changes;
            ctx.changes = null;
            Sys.Observer.raiseCollectionChanged(target, changes);
        }
        Sys.Observer.raisePropertyChanged(target, "");
    }
}
Sys.Observer.isUpdating = function Sys$Observer$isUpdating(target) {
    /// <summary locid="M:J#Sys.Observer.isUpdating" />
    /// <param name="target" mayBeNull="false"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    var ctx = Sys.Observer._getContext(target);
    return ctx ? ctx.updating : false;
}
Sys.Observer._setValue = function Sys$Observer$_setValue(target, propertyName, value) {
    var getter, setter, mainTarget = target, path = propertyName.split('.');
    for (var i = 0, l = (path.length - 1); i < l ; i++) {
        var name = path[i];
        getter = target["get_" + name]; 
        if (typeof (getter) === "function") {
            target = getter.call(target);
        }
        else {
            target = target[name];
        }
        var type = typeof (target);
        if ((target === null) || (type === "undefined")) {
            throw Error.invalidOperation(String.format(Sys.Res.nullReferenceInPath, propertyName));
        }
    }    
    var currentValue, lastPath = path[l];
    getter = target["get_" + lastPath];
    setter = target["set_" + lastPath];
    if (typeof(getter) === 'function') {
        currentValue = getter.call(target);
    }
    else {
        currentValue = target[lastPath];
    }
    if (typeof(setter) === 'function') {
        setter.call(target, value);
    }
    else {
        target[lastPath] = value;
    }
    if (currentValue !== value) {
        var ctx = Sys.Observer._getContext(mainTarget);
        if (ctx && ctx.updating) {
            ctx.dirty = true;
            return;
        };
        Sys.Observer.raisePropertyChanged(mainTarget, path[0]);
    }
}
Sys.Observer.setValue = function Sys$Observer$setValue(target, propertyName, value) {
    /// <summary locid="M:J#Sys.Observer.setValue" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="propertyName" type="String"></param>
    /// <param name="value" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "propertyName", type: String},
        {name: "value", mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._setValue(target, propertyName, value);
}
Sys.Observer.raisePropertyChanged = function Sys$Observer$raisePropertyChanged(target, propertyName) {
    /// <summary locid="M:J#Sys.Observer.raisePropertyChanged" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="propertyName" type="String"></param>
    Sys.Observer.raiseEvent(target, "propertyChanged", new Sys.PropertyChangedEventArgs(propertyName));
}
Sys.Observer.addCollectionChanged = function Sys$Observer$addCollectionChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.addCollectionChanged" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._addEventHandler(target, "collectionChanged", handler);
}
Sys.Observer.removeCollectionChanged = function Sys$Observer$removeCollectionChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.removeCollectionChanged" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._removeEventHandler(target, "collectionChanged", handler);
}
Sys.Observer._collectionChange = function Sys$Observer$_collectionChange(target, change) {
    var ctx = Sys.Observer._getContext(target);
    if (ctx && ctx.updating) {
        ctx.dirty = true;
        var changes = ctx.changes;
        if (!changes) {
            ctx.changes = changes = [change];
        }
        else {
            changes.push(change);
        }
    }
    else {
        Sys.Observer.raiseCollectionChanged(target, [change]);
        Sys.Observer.raisePropertyChanged(target, 'length');
    }
}
Sys.Observer.add = function Sys$Observer$add(target, item) {
    /// <summary locid="M:J#Sys.Observer.add" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], target.length);
    Array.add(target, item);
    Sys.Observer._collectionChange(target, change);
}
Sys.Observer.addRange = function Sys$Observer$addRange(target, items) {
    /// <summary locid="M:J#Sys.Observer.addRange" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="items" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, items, target.length);
    Array.addRange(target, items);
    Sys.Observer._collectionChange(target, change);
}
Sys.Observer.clear = function Sys$Observer$clear(target) {
    /// <summary locid="M:J#Sys.Observer.clear" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var oldItems = Array.clone(target);
    Array.clear(target);
    Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.reset, null, -1, oldItems, 0));
}
Sys.Observer.insert = function Sys$Observer$insert(target, index, item) {
    /// <summary locid="M:J#Sys.Observer.insert" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" type="Number" integer="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "index", type: Number, integer: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    Array.insert(target, index, item);
    Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], index));
}
Sys.Observer.remove = function Sys$Observer$remove(target, item) {
    /// <summary locid="M:J#Sys.Observer.remove" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index = Array.indexOf(target, item);
    if (index !== -1) {
        Array.remove(target, item);
        Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index));
        return true;
    }
    return false;
}
Sys.Observer.removeAt = function Sys$Observer$removeAt(target, index) {
    /// <summary locid="M:J#Sys.Observer.removeAt" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" type="Number" integer="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "index", type: Number, integer: true}
    ]);
    if (e) throw e;
    if ((index > -1) && (index < target.length)) {
        var item = target[index];
        Array.removeAt(target, index);
        Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index));
    }
}
Sys.Observer.raiseCollectionChanged = function Sys$Observer$raiseCollectionChanged(target, changes) {
    /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
    /// <param name="target"></param>
    /// <param name="changes" type="Array" elementType="Sys.CollectionChange"></param>
    Sys.Observer.raiseEvent(target, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes));
}
Sys.Observer._observeMethods = {
    add_propertyChanged: function(handler) {
        Sys.Observer._addEventHandler(this, "propertyChanged", handler);
    },
    remove_propertyChanged: function(handler) {
        Sys.Observer._removeEventHandler(this, "propertyChanged", handler);
    },
    addEventHandler: function(eventName, handler) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="eventName" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "eventName", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Sys.Observer._addEventHandler(this, eventName, handler);
    },
    removeEventHandler: function(eventName, handler) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="eventName" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "eventName", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Sys.Observer._removeEventHandler(this, eventName, handler);
    },
    get_isUpdating: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <returns type="Boolean"></returns>
        return Sys.Observer.isUpdating(this);
    },
    beginUpdate: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        Sys.Observer.beginUpdate(this);
    },
    endUpdate: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        Sys.Observer.endUpdate(this);
    },
    setValue: function(name, value) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="name" type="String"></param>
        /// <param name="value" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "name", type: String},
            {name: "value", mayBeNull: true}
        ]);
        if (e) throw e;
        Sys.Observer._setValue(this, name, value);
    },
    raiseEvent: function(eventName, eventArgs) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="eventName" type="String"></param>
        /// <param name="eventArgs" type="Sys.EventArgs"></param>
        Sys.Observer.raiseEvent(this, eventName, eventArgs);
    },
    raisePropertyChanged: function(name) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="name" type="String"></param>
        Sys.Observer.raiseEvent(this, "propertyChanged", new Sys.PropertyChangedEventArgs(name));
    }
}
Sys.Observer._arrayMethods = {
    add_collectionChanged: function(handler) {
        Sys.Observer._addEventHandler(this, "collectionChanged", handler);
    },
    remove_collectionChanged: function(handler) {
        Sys.Observer._removeEventHandler(this, "collectionChanged", handler);
    },
    add: function(item) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="item" mayBeNull="true"></param>
        Sys.Observer.add(this, item);
    },
    addRange: function(items) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="items" type="Array" elementMayBeNull="true"></param>
        Sys.Observer.addRange(this, items);
    },
    clear: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        Sys.Observer.clear(this);
    },
    insert: function(index, item) { 
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="index" type="Number" integer="true"></param>
        /// <param name="item" mayBeNull="true"></param>
        Sys.Observer.insert(this, index, item);
    },
    remove: function(item) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="item" mayBeNull="true"></param>
        /// <returns type="Boolean"></returns>
        return Sys.Observer.remove(this, item);
    },
    removeAt: function(index) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="index" type="Number" integer="true"></param>
        Sys.Observer.removeAt(this, index);
    },
    raiseCollectionChanged: function(changes) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="changes" type="Array" elementType="Sys.CollectionChange"></param>
        Sys.Observer.raiseEvent(this, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes));
    }
}
Sys.Observer._getContext = function Sys$Observer$_getContext(obj, create) {
    var ctx = obj._observerContext;
    if (ctx) return ctx();
    if (create) {
        return (obj._observerContext = Sys.Observer._createContext())();
    }
    return null;
}
Sys.Observer._createContext = function Sys$Observer$_createContext() {
    var ctx = {
        events: new Sys.EventHandlerList()
    };
    return function() {
        return ctx;
    }
}
Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) {
    var quoteCount = 0;
    var escaped = false;
    for (var i = 0, il = preMatch.length; i < il; i++) {
        var c = preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped = false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped = !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped = false;
            break;
        }
    }
    return quoteCount;
}
Date._expandFormat = function Date$_expandFormat(dtf, format) {
    if (!format) {
        format = "F";
    }
    var len = format.length;
    if (len === 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.LongDatePattern + " " + dtf.ShortTimePattern;
        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);
        }
    }
    else if ((len === 2) && (format.charAt(0) === "%")) {
        format = format.charAt(1);
    }
    return format;
}
Date._expandYear = function Date$_expandYear(dtf, year) {
    var now = new Date(),
        era = Date._getEra(now);
    if (year < 100) {
        var curr = Date._getEraYear(now, dtf, era);
        year += curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            year -= 100;
        }
    }
    return year;
}
Date._getEra = function Date$_getEra(date, eras) {
    if (!eras) return 0;
    var start, ticks = date.getTime();
    for (var i = 0, l = eras.length; i < l; i += 4) {
        start = eras[i+2];
        if ((start === null) || (ticks >= start)) {
            return i;
        }
    }
    return 0;
}
Date._getEraYear = function Date$_getEraYear(date, dtf, era, sortable) {
    var year = date.getFullYear();
    if (!sortable && dtf.eras) {
        year -= dtf.eras[era + 3];
    }    
    return year;
}
Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) {
    if (!dtf._parseRegExp) {
        dtf._parseRegExp = {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }
    var expFormat = Date._expandFormat(dtf, format);
    expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1");
    var regexp = new Sys.StringBuilder("^");
    var groups = [];
    var index = 0;
    var quoteCount = 0;
    var tokenRegExp = Date._getTokenRegExp();
    var match;
    while ((match = tokenRegExp.exec(expFormat)) !== null) {
        var preMatch = expFormat.slice(index, match.index);
        index = tokenRegExp.lastIndex;
        quoteCount += Date._appendPreOrPostMatch(preMatch, regexp);
        if ((quoteCount%2) === 1) {
            regexp.append(match[0]);
            continue;
        }
        switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
            case 'gg': case 'g':
                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;
            case '/':
                regexp.append("(\\" + dtf.DateSeparator + ")");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
    var regexpStr = regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp = {'regExp': regexpStr, 'groups': groups};
    dtf._parseRegExp[format] = parseRegExp;
    return parseRegExp;
}
Date._getTokenRegExp = 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|gg|g/g;
}
Date.parseLocale = function Date$parseLocale(value, formats) {
    /// <summary locid="M:J#Date.parseLocale" />
    /// <param name="value" type="String"></param>
    /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Date"></returns>
    var e = 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 = function Date$parseInvariant(value, formats) {
    /// <summary locid="M:J#Date.parseInvariant" />
    /// <param name="value" type="String"></param>
    /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Date"></returns>
    var e = 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 = function Date$_parse(value, cultureInfo, args) {
    var i, l, date, format, formats, custom = false;
    for (i = 1, l = args.length; i < l; i++) {
        format = args[i];
        if (format) {
            custom = true;
            date = Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
    if (! custom) {
        formats = cultureInfo._getDateTimeFormats();
        for (i = 0, l = formats.length; i < l; i++) {
            date = Date._parseExact(value, formats[i], cultureInfo);
            if (date) return date;
        }
    }
    return null;
}
Date._parseExact = function Date$_parseExact(value, format, cultureInfo) {
    value = value.trim();
    var dtf = cultureInfo.dateTimeFormat,
        parseInfo = Date._getParseRegExp(dtf, format),
        match = new RegExp(parseInfo.regExp).exec(value);
    if (match === null) return null;
    
    var groups = parseInfo.groups,
        era = null, year = null, month = null, date = null, weekDay = null,
        hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null,
        pmHour = false;
    for (var j = 0, jl = groups.length; j < jl; j++) {
        var matchGroup = match[j+1];
        if (matchGroup) {
            switch (groups[j]) {
                case 'dd': case 'd':
                    date = parseInt(matchGroup, 10);
                    if ((date < 1) || (date > 31)) return null;
                    break;
                case 'MMMM':
                    month = cultureInfo._getMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'MMM':
                    month = cultureInfo._getAbbrMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'M': case 'MM':
                    month = parseInt(matchGroup, 10) - 1;
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'y': case 'yy':
                    year = Date._expandYear(dtf,parseInt(matchGroup, 10));
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'yyyy':
                    year = parseInt(matchGroup, 10);
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'h': case 'hh':
                    hour = parseInt(matchGroup, 10);
                    if (hour === 12) hour = 0;
                    if ((hour < 0) || (hour > 11)) return null;
                    break;
                case 'H': case 'HH':
                    hour = parseInt(matchGroup, 10);
                    if ((hour < 0) || (hour > 23)) return null;
                    break;
                case 'm': case 'mm':
                    min = parseInt(matchGroup, 10);
                    if ((min < 0) || (min > 59)) return null;
                    break;
                case 's': case 'ss':
                    sec = parseInt(matchGroup, 10);
                    if ((sec < 0) || (sec > 59)) return null;
                    break;
                case 'tt': case 't':
                    var upperToken = matchGroup.toUpperCase();
                    pmHour = (upperToken === dtf.PMDesignator.toUpperCase());
                    if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null;
                    break;
                case 'f':
                    msec = parseInt(matchGroup, 10) * 100;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'ff':
                    msec = parseInt(matchGroup, 10) * 10;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'fff':
                    msec = parseInt(matchGroup, 10);
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'dddd':
                    weekDay = cultureInfo._getDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'ddd':
                    weekDay = cultureInfo._getAbbrDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'zzz':
                    var offsets = matchGroup.split(/:/);
                    if (offsets.length !== 2) return null;
                    hourOffset = parseInt(offsets[0], 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return null;
                    var minOffset = parseInt(offsets[1], 10);
                    if ((minOffset < 0) || (minOffset > 59)) return null;
                    tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset);
                    break;
                case 'z': case 'zz':
                    hourOffset = parseInt(matchGroup, 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return null;
                    tzMinOffset = hourOffset * 60;
                    break;
                case 'g': case 'gg':
                    var eraName = matchGroup;
                    if (!eraName || !dtf.eras) return null;
                    eraName = eraName.toLowerCase().trim();
                    for (var i = 0, l = dtf.eras.length; i < l; i += 4) {
                        if (eraName === dtf.eras[i + 1].toLowerCase()) {
                            era = i;
                            break;
                        }
                    }
                    if (era === null) return null;
                    break;
            }
        }
    }
    var result = new Date(), defaultYear, convert = dtf.Calendar.convert;
    if (convert) {
        defaultYear = convert.fromGregorian(result)[0];
    }
    else {
        defaultYear = result.getFullYear();
    }
    if (year === null) {
        year = defaultYear;
    }
    else if (dtf.eras) {
        year += dtf.eras[(era || 0) + 3];
    }
    if (month === null) {
        month = 0;
    }
    if (date === null) {
        date = 1;
    }
    if (convert) {
        result = convert.toGregorian(year, month, date);
        if (result === null) return null;
    }
    else {
        result.setFullYear(year, month, date);
        if (result.getDate() !== date) return null;
        if ((weekDay !== null) && (result.getDay() !== weekDay)) {
            return null;
        }
    }
    if (pmHour && (hour < 12)) {
        hour += 12;
    }
    result.setHours(hour, min, sec, msec);
    if (tzMinOffset !== null) {
        var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset());
        result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60);
    }
    return result;
}
Date.prototype.format = function Date$format(format) {
    /// <summary locid="M:J#Date.format" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture);
}
Date.prototype.localeFormat = function Date$localeFormat(format) {
    /// <summary locid="M:J#Date.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture);
}
Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) {
    var dtf = cultureInfo.dateTimeFormat,
        convert = dtf.Calendar.convert;
    if (!format || !format.length || (format === 'i')) {
        if (cultureInfo && cultureInfo.name.length) {
            if (convert) {
                return this._toFormattedString(dtf.FullDateTimePattern, cultureInfo);
            }
            else {
                var eraDate = new Date(this.getTime());
                var era = Date._getEra(this, dtf.eras);
                eraDate.setFullYear(Date._getEraYear(this, dtf, era));
                return eraDate.toLocaleString();
            }
        }
        else {
            return this.toString();
        }
    }
    var eras = dtf.eras,
        sortable = (format === "s");
    format = Date._expandFormat(dtf, format);
    var ret = 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();
    }
    function padYear(year) {
        if (year < 10) {
            return '000' + year;
        }
        else if (year < 100) {
            return '00' + year;
        }
        else if (year < 1000) {
            return '0' + year;
        }
        return year.toString();
    }
    
    var foundDay, checkedDay, dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g;
    function hasDay() {
        if (foundDay || checkedDay) {
            return foundDay;
        }
        foundDay = dayPartRegExp.test(format);
        checkedDay = true;
        return foundDay;
    }
    
    var quoteCount = 0,
        tokenRegExp = Date._getTokenRegExp(),
        converted;
    if (!sortable && convert) {
        converted = convert.fromGregorian(this);
    }
    for (;;) {
        var index = tokenRegExp.lastIndex;
        var ar = tokenRegExp.exec(format);
        var preMatch = format.slice(index, ar ? ar.index : format.length);
        quoteCount += Date._appendPreOrPostMatch(preMatch, ret);
        if (!ar) break;
        if ((quoteCount%2) === 1) {
            ret.append(ar[0]);
            continue;
        }
        
        function getPart(date, part) {
            if (converted) {
                return converted[part];
            }
            switch (part) {
                case 0: return date.getFullYear();
                case 1: return date.getMonth();
                case 2: return date.getDate();
            }
        }
        switch (ar[0]) {
        case "dddd":
            ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
            ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
            foundDay = true;
            ret.append(addLeadingZero(getPart(this, 2)));
            break;
        case "d":
            foundDay = true;
            ret.append(getPart(this, 2));
            break;
        case "MMMM":
            ret.append((dtf.MonthGenitiveNames && hasDay())
                ? dtf.MonthGenitiveNames[getPart(this, 1)]
                : dtf.MonthNames[getPart(this, 1)]);
            break;
        case "MMM":
            ret.append((dtf.AbbreviatedMonthGenitiveNames && hasDay())
                ? dtf.AbbreviatedMonthGenitiveNames[getPart(this, 1)]
                : dtf.AbbreviatedMonthNames[getPart(this, 1)]);
            break;
        case "MM":
            ret.append(addLeadingZero(getPart(this, 1) + 1));
            break;
        case "M":
            ret.append(getPart(this, 1) + 1);
            break;
        case "yyyy":
            ret.append(padYear(converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)));
            break;
        case "yy":
            ret.append(addLeadingZero((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100));
            break;
        case "y":
            ret.append((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100);
            break;
        case "hh":
            hour = this.getHours() % 12;
            if (hour === 0) hour = 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
            hour = this.getHours() % 12;
            if (hour === 0) hour = 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 = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour)));
            break;
        case "zz":
            hour = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
            hour = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) +
                ":" + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        case "g":
        case "gg":
            if (dtf.eras) {
                ret.append(dtf.eras[Date._getEra(this, eras) + 1]);
            }
            break;
        case "/":
            ret.append(dtf.DateSeparator);
            break;
        }
    }
    return ret.toString();
}
String.localeFormat = function String$localeFormat(format, args) {
    /// <summary locid="M:J#String.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <param name="args" parameterArray="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(true, arguments);
}
Number.parseLocale = function Number$parseLocale(value) {
    /// <summary locid="M:J#Number.parseLocale" />
    /// <param name="value" type="String"></param>
    /// <returns type="Number"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ], false);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant = function Number$parseInvariant(value) {
    /// <summary locid="M:J#Number.parseInvariant" />
    /// <param name="value" type="String"></param>
    /// <returns type="Number"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ], false);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse = function Number$_parse(value, cultureInfo) {
    value = value.trim();
    
    if (value.match(/^[+-]?infinity$/i)) {
        return parseFloat(value);
    }
    if (value.match(/^0x[a-f0-9]+$/i)) {
        return parseInt(value);
    }
    var numFormat = cultureInfo.numberFormat;
    var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern);
    var sign = signInfo[0];
    var num = signInfo[1];
    
    if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) {
        signInfo = Number._parseNumberNegativePattern(value, numFormat, 1);
        sign = signInfo[0];
        num = signInfo[1];
    }
    if (sign === '') sign = '+';
    
    var exponent;
    var intAndFraction;
    var exponentPos = num.indexOf('e');
    if (exponentPos < 0) exponentPos = num.indexOf('E');
    if (exponentPos < 0) {
        intAndFraction = num;
        exponent = null;
    }
    else {
        intAndFraction = num.substr(0, exponentPos);
        exponent = num.substr(exponentPos + 1);
    }
    
    var integer;
    var fraction;
    var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
    if (decimalPos < 0) {
        integer = intAndFraction;
        fraction = null;
    }
    else {
        integer = intAndFraction.substr(0, decimalPos);
        fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length);
    }
    
    integer = integer.split(numFormat.NumberGroupSeparator).join('');
    var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " ");
    if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) {
        integer = integer.split(altNumGroupSeparator).join('');
    }
    
    var p = sign + integer;
    if (fraction !== null) {
        p += '.' + fraction;
    }
    if (exponent !== null) {
        var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1);
        if (expSignInfo[0] === '') {
            expSignInfo[0] = '+';
        }
        p += 'e' + expSignInfo[0] + expSignInfo[1];
    }
    if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {
        return parseFloat(p);
    }
    return Number.NaN;
}
Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) {
    var neg = numFormat.NegativeSign;
    var pos = numFormat.PositiveSign;    
    switch (numberNegativePattern) {
        case 4: 
            neg = ' ' + neg;
            pos = ' ' + pos;
        case 3: 
            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: 
            neg += ' ';
            pos += ' ';
        case 1: 
            if (value.startsWith(neg)) {
                return ['-', value.substr(neg.length)];
            }
            else if (value.startsWith(pos)) {
                return ['+', value.substr(pos.length)];
            }
            break;
        case 0: 
            if (value.startsWith('(') && value.endsWith(')')) {
                return ['-', value.substr(1, value.length - 2)];
            }
            break;
    }
    return ['', value];
}
Number.prototype.format = function Number$format(format) {
    /// <summary locid="M:J#Number.format" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat = function Number$localeFormat(format) {
    /// <summary locid="M:J#Number.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length === 0) || (format === 'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
    
    var _percentPositivePattern = ["n %", "n%", "%n" ];
    var _percentNegativePattern = ["-n %", "-n%", "-%n"];
    var _numberNegativePattern = ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern = ["$n","n$","$ n","n $"];
    var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];
    function zeroPad(str, count, left) {
        for (var l=str.length; l < count; l++) {
            str = (left ? ('0' + str) : (str + '0'));
        }
        return str;
    }
    
    function expandNumber(number, precision, groupSizes, sep, decimalChar) {
        
        var curSize = groupSizes[0];
        var curGroupIndex = 1;
        var factor = Math.pow(10, precision);
        var rounded = (Math.round(number * factor) / factor);
        if (!isFinite(rounded)) {
            rounded = number;
        }
        number = rounded;
        
        var numberString = number.toString();
        var right = "";
        var exponent;
        
        
        var split = numberString.split(/e/i);
        numberString = split[0];
        exponent = (split.length > 1 ? parseInt(split[1]) : 0);
        split = numberString.split('.');
        numberString = split[0];
        right = split.length > 1 ? split[1] : "";
        
        var l;
        if (exponent > 0) {
            right = zeroPad(right, exponent, false);
            numberString += right.slice(0, exponent);
            right = right.substr(exponent);
        }
        else if (exponent < 0) {
            exponent = -exponent;
            numberString = zeroPad(numberString, exponent+1, true);
            right = numberString.slice(-exponent, numberString.length) + right;
            numberString = numberString.slice(0, -exponent);
        }
        if (precision > 0) {
            if (right.length > precision) {
                right = right.slice(0, precision);
            }
            else {
                right = zeroPad(right, precision, false);
            }
            right = decimalChar + right;
        }
        else { 
            right = "";
        }
        var stringIndex = numberString.length-1;
        var ret = "";
        while (stringIndex >= 0) {
            if (curSize === 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 = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret;
            else
                ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1);
            stringIndex -= curSize;
            if (curGroupIndex < groupSizes.length) {
                curSize = groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + right;
    }
    var nf = cultureInfo.numberFormat;
    var number = Math.abs(this);
    if (!format)
        format = "D";
    var precision = -1;
    if (format.length > 1) precision = parseInt(format.slice(1), 10);
    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern = 'n';
        if (precision !== -1) {
            number = zeroPad(""+number, precision, true);
        }
        if (this < 0) number = -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision === -1) precision = nf.CurrencyDecimalDigits;
        number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern];
        else pattern = 'n';
        if (precision === -1) precision = nf.NumberDecimalDigits;
        number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern];
        else pattern = _percentPositivePattern[nf.PercentPositivePattern];
        if (precision === -1) precision = nf.PercentDecimalDigits;
        number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }
    var regex = /n|\$|-|%/g;
    var ret = "";
    for (;;) {
        var index = regex.lastIndex;
        var ar = regex.exec(pattern);
        ret += pattern.slice(index, ar ? ar.index : pattern.length);
        if (!ar)
            break;
        switch (ar[0]) {
        case "n":
            ret += number;
            break;
        case "$":
            ret += nf.CurrencySymbol;
            break;
        case "-":
            if (/[1-9]/.test(number)) {
                ret += nf.NegativeSign;
            }
            break;
        case "%":
            ret += nf.PercentSymbol;
            break;
        }
    }
    return ret;
}
 
Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) {
    /// <summary locid="M:J#Sys.CultureInfo.#ctor" />
    /// <param name="name" type="String"></param>
    /// <param name="numberFormat" type="Object"></param>
    /// <param name="dateTimeFormat" type="Object"></param>
    var e = Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;
    this.name = name;
    this.numberFormat = numberFormat;
    this.dateTimeFormat = dateTimeFormat;
}
    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf = this.dateTimeFormat;
            this._dateTimeFormats =
              [ 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$_getIndex(value, a1, a2) {
        var upper = this._toUpper(value),
            i = Array.indexOf(a1, upper);
        if (i === -1) {
            i = Array.indexOf(a2, upper);
        }
        return i;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames);
            this._upperMonthsGenitive = this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames);
        }
        return this._getIndex(value, this._upperMonths, this._upperMonthsGenitive);
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
            this._upperAbbrMonthsGenitive = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames);
        }
        return this._getIndex(value, this._upperAbbrMonths, this._upperAbbrMonthsGenitive);
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result = [];
        for (var i = 0, il = arr.length; i < il; i++) {
            result[i] = this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
        return value.split("\u00A0").join(' ').toUpperCase();
    }
Sys.CultureInfo.prototype = {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getIndex: Sys$CultureInfo$_getIndex,
    _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.registerClass('Sys.CultureInfo');
Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) {
    var dtf = value.dateTimeFormat;
    if (dtf && !dtf.eras) {
        dtf.eras = value.eras;
    }
    return new Sys.CultureInfo(value.name, value.numberFormat, dtf);
}
Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse({"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"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","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","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":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});
if (typeof(__cultureInfo) === "object") {
    Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo);
    delete __cultureInfo;    
}
else {
    Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse({"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});
}
Type.registerNamespace('Sys.Serialization');
Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = [];
Sys.Serialization.JavaScriptSerializer._charsToEscape = [];
Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g');
Sys.Serialization.JavaScriptSerializer._escapeChars = {};
Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i');
Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g');
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type';
Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() {
    var replaceChars = ['\\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] = '\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"';
    for (var i = 0; i < 32; i++) {
        var c = String.fromCharCode(i);
        Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c;
        Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g');
        Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i];
    }
}
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) {
    stringBuilder.append(object.toString());
}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = 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 = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) {
    stringBuilder.append('"');
    if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) {
        if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) {
            Sys.Serialization.JavaScriptSerializer._init();
        }
        if (string.length < 128) {
            string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,
                function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; });
        }
        else {
            for (var i = 0; i < 34; i++) {
                var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i];
                if (string.indexOf(c) !== -1) {
                    if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) {
                        string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]);
                    }
                    else {
                        string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c],
                            Sys.Serialization.JavaScriptSerializer._escapeChars[c]);
                    }
                }
            }
       }
    }
    stringBuilder.append(string);
    stringBuilder.append('"');
}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
            if (prevObjects){
                for( var j = 0; j < prevObjects.length; j++) {
                    if (prevObjects[j] === object) {
                        throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);
                    }
                }
            }
            else {
                prevObjects = new Array();
            }
            try {
                Array.add(prevObjects, object);
                
                if (Number.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder);
                }
                else if (Boolean.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder);
                }
                else if (String.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder);
                }
            
                else if (Array.isInstanceOfType(object)) {
                    stringBuilder.append('[');
                   
                    for (i = 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 = [];
                    var propertyCount = 0;
                    for (var name in object) {
                        if (name.startsWith('$')) {
                            continue;
                        }
                        if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){
                            properties[propertyCount++] = properties[0];
                            properties[0] = name;
                        }
                        else{
                            properties[propertyCount++] = name;
                        }
                    }
                    if (sort) properties.sort();
                    stringBuilder.append('{');
                    var needComma = false;
                     
                    for (i=0; i<propertyCount; i++) {
                        var value = object[properties[i]];
                        if (typeof value !== 'undefined' && typeof value !== 'function') {
                            if (needComma) {
                                stringBuilder.append(',');
                            }
                            else {
                                needComma = true;
                            }
                           
                            Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i], stringBuilder, sort, prevObjects);
                            stringBuilder.append(':');
                            Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, stringBuilder, sort, prevObjects);
                          
                        }
                    }
                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(object, stringBuilder);
        break;
    default:
        stringBuilder.append('null');
        break;
    }
}
Sys.Serialization.JavaScriptSerializer.serialize = function Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.serialize" />
    /// <param name="object" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    var stringBuilder = new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false);
    return stringBuilder.toString();
}
Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.deserialize" />
    /// <param name="data" type="String"></param>
    /// <param name="secure" type="Boolean" optional="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "data", type: String},
        {name: "secure", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    
    if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString);
    try {    
        var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)");
        
        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);
    }
}
Type.registerNamespace('Sys.UI');
 
Sys.EventHandlerList = function Sys$EventHandlerList() {
    /// <summary locid="M:J#Sys.EventHandlerList.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._list = {};
}
    function Sys$EventHandlerList$_addHandler(id, handler) {
        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <summary locid="M:J#Sys.EventHandlerList.addHandler" />
        /// <param name="id" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        this._addHandler(id, handler);
    }
    function Sys$EventHandlerList$_removeHandler(id, handler) {
        var evt = this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <summary locid="M:J#Sys.EventHandlerList.removeHandler" />
        /// <param name="id" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        this._removeHandler(id, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <summary locid="M:J#Sys.EventHandlerList.getHandler" />
        /// <param name="id" type="String"></param>
        /// <returns type="Function"></returns>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        var evt = this._getEvent(id);
        if (!evt || (evt.length === 0)) return null;
        evt = Array.clone(evt);
        return function(source, args) {
            for (var i = 0, l = 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] = [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype = {
    _addHandler: Sys$EventHandlerList$_addHandler,
    addHandler: Sys$EventHandlerList$addHandler,
    _removeHandler: Sys$EventHandlerList$_removeHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,
    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Sys.CommandEventArgs = function Sys$CommandEventArgs(commandName, commandArgument, commandSource) {
    /// <summary locid="M:J#Sys.CommandEventArgs.#ctor" />
    /// <param name="commandName" type="String"></param>
    /// <param name="commandArgument" mayBeNull="true"></param>
    /// <param name="commandSource" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "commandName", type: String},
        {name: "commandArgument", mayBeNull: true},
        {name: "commandSource", mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.CommandEventArgs.initializeBase(this);
    this._commandName = commandName;
    this._commandArgument = commandArgument;
    this._commandSource = commandSource;
}
    function Sys$CommandEventArgs$get_commandName() {
        /// <value type="String" locid="P:J#Sys.CommandEventArgs.commandName"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._commandName;
    }
    function Sys$CommandEventArgs$get_commandArgument() {
        /// <value mayBeNull="true" locid="P:J#Sys.CommandEventArgs.commandArgument"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._commandArgument;
    }
    function Sys$CommandEventArgs$get_commandSource() {
        /// <value mayBeNull="true" locid="P:J#Sys.CommandEventArgs.commandSource"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._commandSource;
    }
Sys.CommandEventArgs.prototype = {
    _commandName: null,
    _commandArgument: null,
    _commandSource: null,
    get_commandName: Sys$CommandEventArgs$get_commandName,
    get_commandArgument: Sys$CommandEventArgs$get_commandArgument,
    get_commandSource: Sys$CommandEventArgs$get_commandSource
}
Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs", Sys.CancelEventArgs);
 
Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() {
    /// <summary locid="M:J#Sys.INotifyPropertyChange.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    /// <summary locid="E:J#Sys.INotifyPropertyChange.propertyChanged" />
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype = {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');
 
Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) {
    /// <summary locid="M:J#Sys.PropertyChangedEventArgs.#ctor" />
    /// <param name="propertyName" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;
    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName = propertyName;
}
 
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type="String" locid="P:J#Sys.PropertyChangedEventArgs.propertyName"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype = {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs);
 
Sys.INotifyDisposing = function Sys$INotifyDisposing() {
    /// <summary locid="M:J#Sys.INotifyDisposing.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyDisposing$add_disposing(handler) {
    /// <summary locid="E:J#Sys.INotifyDisposing.disposing" />
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype = {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
 
Sys.Component = function Sys$Component() {
    /// <summary locid="M:J#Sys.Component.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}
    function Sys$Component$get_events() {
        /// <value type="Sys.EventHandlerList" locid="P:J#Sys.Component.events"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type="String" locid="P:J#Sys.Component.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet = true;
        var oldId = this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id = value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type="Boolean" locid="P:J#Sys.Component.isInitialized"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type="Boolean" locid="P:J#Sys.Component.isUpdating"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        /// <summary locid="E:J#Sys.Component.disposing" />
        var e = 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 = 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="E:J#Sys.Component.propertyChanged" />
        var e = 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 = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating = true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler = 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 = false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized = true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <summary locid="M:J#Sys.Component.raisePropertyChanged" />
        /// <param name="propertyName" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;
        if (!this._events) return;
        var handler = this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype = {
    _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="M:J#Sys.Component._setProperties" />
    /// <param name="target"></param>
    /// <param name="properties"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;
    var current;
    var targetType = Object.getType(target);
    var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement);
    var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val = properties[name];
        var getter = isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !== 'function') {
            var targetVal = target[name];
            if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name));
            if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) {
                target[name] = val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter = target["set_" + name];
            if (typeof(setter) === 'function') {
                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                current = getter.apply(target);
                if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) {
                    current[j] = val[i];
                }
            }
            else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) {
                current = getter.apply(target);
                if ((typeof(current) === 'undefined') || (current === 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 = component["set_" + name];
        var reference = $find(references[name]);
        if (typeof(setter) !== '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 = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) {
    /// <summary locid="M:J#Sys.Component.create" />
    /// <param name="type" type="Type"></param>
    /// <param name="properties" optional="true" mayBeNull="true"></param>
    /// <param name="events" optional="true" mayBeNull="true"></param>
    /// <param name="references" optional="true" mayBeNull="true"></param>
    /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Sys.UI.Component"></returns>
    var e = 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 = (element ? new type(element): new type());
    var app = Sys.Application;
    var creatingComponents = 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] = component;
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }
    return component;
}
 
Sys.UI.MouseButton = function Sys$UI$MouseButton() {
    /// <summary locid="M:J#Sys.UI.MouseButton.#ctor" />
    /// <field name="leftButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.leftButton"></field>
    /// <field name="middleButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.middleButton"></field>
    /// <field name="rightButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.rightButton"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.MouseButton.prototype = {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
 
Sys.UI.Key = function Sys$UI$Key() {
    /// <summary locid="M:J#Sys.UI.Key.#ctor" />
    /// <field name="backspace" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.backspace"></field>
    /// <field name="tab" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.tab"></field>
    /// <field name="enter" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.enter"></field>
    /// <field name="esc" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.esc"></field>
    /// <field name="space" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.space"></field>
    /// <field name="pageUp" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageUp"></field>
    /// <field name="pageDown" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageDown"></field>
    /// <field name="end" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.end"></field>
    /// <field name="home" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.home"></field>
    /// <field name="left" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.left"></field>
    /// <field name="up" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.up"></field>
    /// <field name="right" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.right"></field>
    /// <field name="down" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.down"></field>
    /// <field name="del" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.del"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.Key.prototype = {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
 
Sys.UI.Point = function Sys$UI$Point(x, y) {
    /// <summary locid="M:J#Sys.UI.Point.#ctor" />
    /// <param name="x" type="Number"></param>
    /// <param name="y" type="Number"></param>
    /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Point.x"></field>
    /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Point.y"></field>
    /// <field name="rawX" type="Number" locid="F:J#Sys.UI.Point.rawX"></field>
    /// <field name="rawY" type="Number" locid="F:J#Sys.UI.Point.rawY"></field>
    var e = Function._validateParams(arguments, [
        {name: "x", type: Number},
        {name: "y", type: Number}
    ]);
    if (e) throw e;
    this.rawX = x;
    this.rawY = y;
    this.x = Math.round(x);
    this.y = Math.round(y);
}
Sys.UI.Point.registerClass('Sys.UI.Point');
 
Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) {
    /// <summary locid="M:J#Sys.UI.Bounds.#ctor" />
    /// <param name="x" type="Number" integer="true"></param>
    /// <param name="y" type="Number" integer="true"></param>
    /// <param name="width" type="Number" integer="true"></param>
    /// <param name="height" type="Number" integer="true"></param>
    /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.x"></field>
    /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.y"></field>
    /// <field name="width" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.width"></field>
    /// <field name="height" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.height"></field>
    var e = Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "width", type: Number, integer: true},
        {name: "height", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x = x;
    this.y = y;
    this.height = height;
    this.width = width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
 
Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) {
    /// <summary locid="M:J#Sys.UI.DomEvent.#ctor" />
    /// <param name="eventObject"></param>
    /// <field name="altKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.altKey"></field>
    /// <field name="button" type="Sys.UI.MouseButton" locid="F:J#Sys.UI.DomEvent.button"></field>
    /// <field name="charCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.charCode"></field>
    /// <field name="clientX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientX"></field>
    /// <field name="clientY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientY"></field>
    /// <field name="ctrlKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.ctrlKey"></field>
    /// <field name="keyCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.keyCode"></field>
    /// <field name="offsetX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetX"></field>
    /// <field name="offsetY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetY"></field>
    /// <field name="screenX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenX"></field>
    /// <field name="screenY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenY"></field>
    /// <field name="shiftKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.shiftKey"></field>
    /// <field name="target" locid="F:J#Sys.UI.DomEvent.target"></field>
    /// <field name="type" type="String" locid="F:J#Sys.UI.DomEvent.type"></field>
    var e = Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;
    var ev = eventObject;
    var etype = this.type = ev.type.toLowerCase();
    this.rawEvent = ev;
    this.altKey = ev.altKey;
    if (typeof(ev.button) !== 'undefined') {
        this.button = (typeof(ev.which) !== 'undefined') ? ev.button :
            (ev.button === 4) ? Sys.UI.MouseButton.middleButton :
            (ev.button === 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (etype === 'keypress') {
        this.charCode = ev.charCode || ev.keyCode;
    }
    else if (ev.keyCode && (ev.keyCode === 46)) {
        this.keyCode = 127;
    }
    else {
        this.keyCode = ev.keyCode;
    }
    this.clientX = ev.clientX;
    this.clientY = ev.clientY;
    this.ctrlKey = ev.ctrlKey;
    this.target = ev.target ? ev.target : ev.srcElement;
    if (!etype.startsWith('key')) {
        if ((typeof(ev.offsetX) !== 'undefined') && (typeof(ev.offsetY) !== 'undefined')) {
            this.offsetX = ev.offsetX;
            this.offsetY = ev.offsetY;
        }
        else if (this.target && (this.target.nodeType !== 3) && (typeof(ev.clientX) === 'number')) {
            var loc = Sys.UI.DomElement.getLocation(this.target);
            var w = Sys.UI.DomElement._getWindow(this.target);
            this.offsetX = (w.pageXOffset || 0) + ev.clientX - loc.x;
            this.offsetY = (w.pageYOffset || 0) + ev.clientY - loc.y;
        }
    }
    this.screenX = ev.screenX;
    this.screenY = ev.screenY;
    this.shiftKey = ev.shiftKey;
}
    function Sys$UI$DomEvent$preventDefault() {
        /// <summary locid="M:J#Sys.UI.DomEvent.preventDefault" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            this.rawEvent.returnValue = false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        /// <summary locid="M:J#Sys.UI.DomEvent.stopPropagation" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            this.rawEvent.cancelBubble = true;
        }
    }
Sys.UI.DomEvent.prototype = {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler, autoRemove) {
    /// <summary locid="M:J#Sys.UI.DomEvent.addHandler" />
    /// <param name="element"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    /// <param name="autoRemove" type="Boolean" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function},
        {name: "autoRemove", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
    if (!element._events) {
        element._events = {};
    }
    var eventCache = element._events[eventName];
    if (!eventCache) {
        element._events[eventName] = eventCache = [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler = function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler = function() {
            var e = {};
            try {e = 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] = {handler: handler, browserHandler: browserHandler, autoRemove: autoRemove };
    if (autoRemove) {
        var d = element.dispose;
        if (d !== Sys.UI.DomEvent._disposeHandlers) {
            element.dispose = Sys.UI.DomEvent._disposeHandlers;
            if (typeof(d) !== "undefined") {
                element._chainDispose = d;
            }
        }
    }
}
var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner, autoRemove) {
    /// <summary locid="M:J#Sys.UI.DomEvent.addHandlers" />
    /// <param name="element"></param>
    /// <param name="events" type="Object"></param>
    /// <param name="handlerOwner" optional="true"></param>
    /// <param name="autoRemove" type="Boolean" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true},
        {name: "autoRemove", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    for (var name in events) {
        var handler = events[name];
        if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler = Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler, autoRemove || false);
    }
}
var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) {
    /// <summary locid="M:J#Sys.UI.DomEvent.clearHandlers" />
    /// <param name="element"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    Sys.UI.DomEvent._clearHandlers(element, false);
}
Sys.UI.DomEvent._clearHandlers = function Sys$UI$DomEvent$_clearHandlers(element, autoRemoving) {
    if (element._events) {
        var cache = element._events;
        for (var name in cache) {
            var handlers = cache[name];
            for (var i = handlers.length - 1; i >= 0; i--) {
                var entry = handlers[i];
                if (!autoRemoving || entry.autoRemove) {
                    $removeHandler(element, name, entry.handler);
                }
            }
        }
        element._events = null;
    }
}
Sys.UI.DomEvent._disposeHandlers = function Sys$UI$DomEvent$_disposeHandlers() {
    Sys.UI.DomEvent._clearHandlers(this, true);
    var d = this._chainDispose, type = typeof(d);
    if (type !== "undefined") {
        this.dispose = d;
        this._chainDispose = null;
        if (type === "function") {
            this.dispose();
        }
    }
}
var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <summary locid="M:J#Sys.UI.DomEvent.removeHandler" />
    /// <param name="element"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._removeHandler(element, eventName, handler);
}
Sys.UI.DomEvent._removeHandler = function Sys$UI$DomEvent$_removeHandler(element, eventName, handler) {
    Sys.UI.DomEvent._ensureDomNode(element);
    var browserHandler = null;
    if ((typeof(element._events) !== 'object') || !element._events) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache = element._events[eventName];
    if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    for (var i = 0, l = cache.length; i < l; i++) {
        if (cache[i].handler === handler) {
            browserHandler = cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !== '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 = function Sys$UI$DomEvent$_ensureDomNode(element) {
    if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return;
    
    var doc = element.ownerDocument || element.document || element;
    if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) {
        throw Error.argument("element", Sys.Res.argumentDomNode);
    }
}
 
Sys.UI.DomElement = function Sys$UI$DomElement() {
    /// <summary locid="M:J#Sys.UI.DomElement.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.addCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = 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 === '') {
            element.className = className;
        }
        else {
            element.className += ' ' + className;
        }
    }
}
Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.containsCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = 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 = function Sys$UI$DomElement$getBounds(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getBounds" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Sys.UI.Bounds"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var offset = Sys.UI.DomElement.getLocation(element);
    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0);
}
var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getElementById" />
    /// <param name="id" type="String"></param>
    /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns domElement="true" mayBeNull="true"></returns>
    var e = 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 = [];
    var childNodes = element.childNodes;
    for (var i = 0; i < childNodes.length; i++) {
        var node = childNodes[i];
        if (node.nodeType == 1) {
            nodeQueue[nodeQueue.length] = node;
        }
    }
    while (nodeQueue.length) {
        node = nodeQueue.shift();
        if (node.id == id) {
            return node;
        }
        childNodes = node.childNodes;
        for (i = 0; i < childNodes.length; i++) {
            node = childNodes[i];
            if (node.nodeType == 1) {
                nodeQueue[nodeQueue.length] = node;
            }
        }
    }
    return null;
}
if (document.documentElement.getBoundingClientRect) {
    Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
        /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
        /// <param name="element" domElement="true"></param>
        /// <returns type="Sys.UI.Point"></returns>
        var e = Function._validateParams(arguments, [
            {name: "element", domElement: true}
        ]);
        if (e) throw e;
        if (element.self || element.nodeType === 9 || 
            (element === document.documentElement) || 
            (element.parentNode === element.ownerDocument.documentElement)) { 
            return new Sys.UI.Point(0, 0);
        }        
        
        var clientRect = element.getBoundingClientRect();
        if (!clientRect) {
            return new Sys.UI.Point(0,0);
        }
        var documentElement = element.ownerDocument.documentElement;
        var bodyElement = element.ownerDocument.body;
        var ex,
            offsetX = Math.round(clientRect.left) + (documentElement.scrollLeft || bodyElement.scrollLeft),
            offsetY = Math.round(clientRect.top) + (documentElement.scrollTop || bodyElement.scrollTop);
        if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
            try {
                var f = element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0;
                    offsetX += offset;
                    offsetY += offset;
                }
            }
            catch(ex) {
            }
            if (Sys.Browser.version === 7 && !document.documentMode) {
                var body = document.body,
                    rect = body.getBoundingClientRect(),
                    zoom = (rect.right-rect.left) / body.clientWidth;
                zoom = Math.round(zoom * 100);
                zoom = (zoom - zoom % 5) / 100;
                if (!isNaN(zoom) && (zoom !== 1)) {
                    offsetX = Math.round(offsetX / zoom);
                    offsetY = Math.round(offsetY / zoom);
                }
            }        
            if ((document.documentMode || 0) < 8) {
                offsetX -= documentElement.clientLeft;
                offsetY -= documentElement.clientTop;
            }
        }
        return new Sys.UI.Point(offsetX, offsetY);
    }
}
else if (Sys.Browser.agent === Sys.Browser.Safari) {
    Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
        /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
        /// <param name="element" domElement="true"></param>
        /// <returns type="Sys.UI.Point"></returns>
        var e = Function._validateParams(arguments, [
            {name: "element", domElement: true}
        ]);
        if (e) throw e;
        if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);
        var offsetX = 0, offsetY = 0,
            parent,
            previous = null,
            previousStyle = null,
            currentStyle;
        for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
            currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
            var tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
            if ((parent.offsetLeft || parent.offsetTop) &&
                ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) {
                offsetX += parent.offsetLeft;
                offsetY += parent.offsetTop;
            }
            if (previous && Sys.Browser.version >= 3) {
                offsetX += parseInt(currentStyle.borderLeftWidth);
                offsetY += parseInt(currentStyle.borderTopWidth);
            }
        }
        currentStyle = Sys.UI.DomElement._getCurrentStyle(element);
        var elementPosition = currentStyle ? currentStyle.position : null;
        if (!elementPosition || (elementPosition !== "absolute")) {
            for (parent = element.parentNode; parent; parent = parent.parentNode) {
                tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
                if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {
                    offsetX -= (parent.scrollLeft || 0);
                    offsetY -= (parent.scrollTop || 0);
                }
                currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                var parentPosition = currentStyle ? currentStyle.position : null;
                if (parentPosition && (parentPosition === "absolute")) break;
            }
        }
        return new Sys.UI.Point(offsetX, offsetY);
    }
}
else {
    Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
        /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
        /// <param name="element" domElement="true"></param>
        /// <returns type="Sys.UI.Point"></returns>
        var e = Function._validateParams(arguments, [
            {name: "element", domElement: true}
        ]);
        if (e) throw e;
        if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);
        var offsetX = 0, offsetY = 0,
            parent,
            previous = null,
            previousStyle = null,
            currentStyle = null;
        for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
            var tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
            currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
            if ((parent.offsetLeft || parent.offsetTop) &&
                !((tagName === "BODY") &&
                (!previousStyle || previousStyle.position !== "absolute"))) {
                offsetX += parent.offsetLeft;
                offsetY += parent.offsetTop;
            }
            if (previous !== null && currentStyle) {
                if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) {
                    offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                    offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                }
                if (tagName === "TABLE" &&
                    (currentStyle.position === "relative" || currentStyle.position === "absolute")) {
                    offsetX += parseInt(currentStyle.marginLeft) || 0;
                    offsetY += parseInt(currentStyle.marginTop) || 0;
                }
            }
        }
        currentStyle = Sys.UI.DomElement._getCurrentStyle(element);
        var elementPosition = currentStyle ? currentStyle.position : null;
        if (!elementPosition || (elementPosition !== "absolute")) {
            for (parent = element.parentNode; parent; parent = parent.parentNode) {
                tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
                if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {
                    offsetX -= (parent.scrollLeft || 0);
                    offsetY -= (parent.scrollTop || 0);
                    currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                    if (currentStyle) {
                        offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                    }
                }
            }
        }
        return new Sys.UI.Point(offsetX, offsetY);
    }
}
Sys.UI.DomElement.isDomElement = function Sys$UI$DomElement$isDomElement(obj) {
    /// <summary locid="M:J#Sys.UI.DomElement.isDomElement" />
    /// <param name="obj"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "obj"}
    ]);
    if (e) throw e;
    return Sys._isDomElement(obj);
}
Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.removeCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    var currentClassName = ' ' + element.className + ' ';
    var index = currentClassName.indexOf(' ' + className + ' ');
    if (index >= 0) {
        element.className = (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, currentClassName.length)).trim();
    }
}
Sys.UI.DomElement.resolveElement = function Sys$UI$DomElement$resolveElement(elementOrElementId, containerElement) {
    /// <summary locid="M:J#Sys.UI.DomElement.resolveElement" />
    /// <param name="elementOrElementId" mayBeNull="true"></param>
    /// <param name="containerElement" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns domElement="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "elementOrElementId", mayBeNull: true},
        {name: "containerElement", mayBeNull: true, domElement: true, optional: true}
    ]);
    if (e) throw e;
    var el = elementOrElementId;
    if (!el) return null;
    if (typeof(el) === "string") {
        el = Sys.UI.DomElement.getElementById(el, containerElement);
        if (!el) {
            throw Error.argument("elementOrElementId", String.format(Sys.Res.elementNotFound, elementOrElementId));
        }
    }
    else if(!Sys.UI.DomElement.isDomElement(el)) {
        throw Error.argument("elementOrElementId", Sys.Res.expectedElementOrId);
    }
    return el;
}
Sys.UI.DomElement.raiseBubbleEvent = function Sys$UI$DomElement$raiseBubbleEvent(source, args) {
    /// <summary locid="M:J#Sys.UI.DomElement.raiseBubbleEvent" />
    /// <param name="source" domElement="true"></param>
    /// <param name="args" type="Sys.EventArgs"></param>
    var e = Function._validateParams(arguments, [
        {name: "source", domElement: true},
        {name: "args", type: Sys.EventArgs}
    ]);
    if (e) throw e;
    var target = source;
    while (target) {
        var control = target.control;
        if (control && control.onBubbleEvent && control.raiseBubbleEvent) {
            Sys.UI.DomElement._raiseBubbleEventFromControl(control, source, args);
            return;
        }
        target = target.parentNode;
    }
}
Sys.UI.DomElement._raiseBubbleEventFromControl = function Sys$UI$DomElement$_raiseBubbleEventFromControl(control, source, args) {
    if (!control.onBubbleEvent(source, args)) {
        control._raiseBubbleEvent(source, args);
    }
}
Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) {
    /// <summary locid="M:J#Sys.UI.DomElement.setLocation" />
    /// <param name="element" domElement="true"></param>
    /// <param name="x" type="Number" integer="true"></param>
    /// <param name="y" type="Number" integer="true"></param>
    var e = 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 = element.style;
    style.position = 'absolute';
    style.left = x + "px";
    style.top = y + "px";
}
Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.toggleCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = 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 = function Sys$UI$DomElement$getVisibilityMode(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getVisibilityMode" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Sys.UI.VisibilityMode"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ?
        Sys.UI.VisibilityMode.hide :
        Sys.UI.VisibilityMode.collapse;
}
Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) {
    /// <summary locid="M:J#Sys.UI.DomElement.setVisibilityMode" />
    /// <param name="element" domElement="true"></param>
    /// <param name="value" type="Sys.UI.VisibilityMode"></param>
    var e = 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 !== value) {
        element._visibilityMode = value;
        if (Sys.UI.DomElement.getVisible(element) === false) {
            if (element._visibilityMode === Sys.UI.VisibilityMode.hide) {
                element.style.display = element._oldDisplayMode;
            }
            else {
                element.style.display = 'none';
            }
        }
        element._visibilityMode = value;
    }
}
Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getVisible" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);
    if (!style) return true;
    return (style.visibility !== 'hidden') && (style.display !== 'none');
}
Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) {
    /// <summary locid="M:J#Sys.UI.DomElement.setVisible" />
    /// <param name="element" domElement="true"></param>
    /// <param name="value" type="Boolean"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Boolean}
    ]);
    if (e) throw e;
    if (value !== Sys.UI.DomElement.getVisible(element)) {
        Sys.UI.DomElement._ensureOldDisplayMode(element);
        element.style.visibility = value ? 'visible' : 'hidden';
        if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) {
            element.style.display = element._oldDisplayMode;
        }
        else {
            element.style.display = 'none';
        }
    }
}
Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) {
    if (!element._oldDisplayMode) {
        var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);
        element._oldDisplayMode = style ? style.display : null;
        if (!element._oldDisplayMode || element._oldDisplayMode === '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 = 'block';
                    break;
                case 'LI':
                    element._oldDisplayMode = 'list-item';
                    break;
                default:
                    element._oldDisplayMode = 'inline';
            }
        }
    }
}
Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) {
    var doc = element.ownerDocument || element.document || element;
    return doc.defaultView || doc.parentWindow;
}
Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) {
    if (element.nodeType === 3) return null;
    var w = Sys.UI.DomElement._getWindow(element);
    if (element.documentElement) element = element.documentElement;
    var computedStyle = (w && (element !== w) && w.getComputedStyle) ?
        w.getComputedStyle(element, null) :
        element.currentStyle || element.style;
    if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) {
        var oldDisplay = element.style.display;
        var oldPosition = element.style.position;
        element.style.position = 'absolute';
        element.style.display = 'block';
        var style = w.getComputedStyle(element, null);
        element.style.display = oldDisplay;
        element.style.position = oldPosition;
        computedStyle = {};
        for (var n in style) {
            computedStyle[n] = style[n];
        }
        computedStyle.display = 'none';
    }
    return computedStyle;
}
 
Sys.IContainer = function Sys$IContainer() {
    throw Error.notImplemented();
}
    function Sys$IContainer$addComponent(component) {
        /// <summary locid="M:J#Sys.IContainer.addComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <summary locid="M:J#Sys.IContainer.removeComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <summary locid="M:J#Sys.IContainer.findComponent" />
        /// <param name="id" type="String"></param>
        /// <returns type="Sys.Component"></returns>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <summary locid="M:J#Sys.IContainer.getComponents" />
        /// <returns type="Array" elementType="Sys.Component"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype = {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");
 
Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <summary locid="M:J#Sys.ApplicationLoadEventArgs.#ctor" />
    /// <param name="components" type="Array" elementType="Sys.Component"></param>
    /// <param name="isPartialLoad" type="Boolean"></param>
    var e = Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;
    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components = components;
    this._isPartialLoad = isPartialLoad;
}
 
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type="Array" elementType="Sys.Component" locid="P:J#Sys.ApplicationLoadEventArgs.components"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type="Boolean" locid="P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype = {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs);
 
Sys._Application = function Sys$_Application() {
    /// <summary locid="M:J#Sys.Application.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys._Application.initializeBase(this);
    this._disposableObjects = [];
    this._components = {};
    this._createdComponents = [];
    this._secondPassComponents = [];
    this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler);
    Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate);
    this._domReady();
}
    function Sys$_Application$get_isCreatingComponents() {
        /// <value type="Boolean" locid="P:J#Sys.Application.isCreatingComponents"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$get_isDisposing() {
        /// <value type="Boolean" locid="P:J#Sys.Application.isDisposing"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._disposing;
    }
    function Sys$_Application$add_init(handler) {
        /// <summary locid="E:J#Sys.Application.init" />
        var e = 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 = 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="E:J#Sys.Application.load" />
        var e = 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 = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_unload(handler) {
        /// <summary locid="E:J#Sys.Application.unload" />
        var e = 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 = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <summary locid="M:J#Sys.Application.addComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id = component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id));
        this._components[id] = component;
    }
    function Sys$_Application$beginCreateComponents() {
        /// <summary locid="M:J#Sys.Application.beginCreateComponents" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._creatingComponents = true;
    }
    function Sys$_Application$dispose() {
        /// <summary locid="M:J#Sys.Application.dispose" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._disposing) {
            this._disposing = true;
            if (this._timerCookie) {
                window.clearTimeout(this._timerCookie);
                delete this._timerCookie;
            }
            if (this._endRequestHandler) {
                Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);
                delete this._endRequestHandler;
            }
            if (this._beginRequestHandler) {
                Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);
                delete this._beginRequestHandler;
            }
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler = this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects = Array.clone(this._disposableObjects);
            for (var i = 0, l = disposableObjects.length; i < l; i++) {
                var object = disposableObjects[i];
                if (typeof(object) !== "undefined") {
                    object.dispose();
                }
            }
            Array.clear(this._disposableObjects);
            Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate);
            if (Sys._ScriptLoader) {
                var sl = Sys._ScriptLoader.getInstance();
                if(sl) {
                    sl.dispose();
                }
            }
            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$disposeElement(element, childNodesOnly) {
        /// <summary locid="M:J#Sys._Application.disposeElement" />
        /// <param name="element"></param>
        /// <param name="childNodesOnly" type="Boolean"></param>
        var e = Function._validateParams(arguments, [
            {name: "element"},
            {name: "childNodesOnly", type: Boolean}
        ]);
        if (e) throw e;
        if (element.nodeType === 1) {
            var i, allElements = element.getElementsByTagName("*"),
                length = allElements.length,
                children = new Array(length);
            for (i = 0; i < length; i++) {
                children[i] = allElements[i];
            }
            for (i = length - 1; i >= 0; i--) {
                var child = children[i];
                var d = child.dispose;
                if (d && typeof(d) === "function") {
                    child.dispose();
                }
                else {
                    var c = child.control;
                    if (c && typeof(c.dispose) === "function") {
                        c.dispose();
                    }
                }
                var list = child._behaviors;
                if (list) {
                    this._disposeComponents(list);
                }
                list = child._components;
                if (list) {
                    this._disposeComponents(list);
                    child._components = null;
                }
            }
            if (!childNodesOnly) {
                var d = element.dispose;
                if (d && typeof(d) === "function") {
                    element.dispose();
                }
                else {
                    var c = element.control;
                    if (c && typeof(c.dispose) === "function") {
                        c.dispose();
                    }
                }
                var list = element._behaviors;
                if (list) {
                    this._disposeComponents(list);
                }
                list = element._components;
                if (list) {
                    this._disposeComponents(list);
                    element._components = null;
                }
            }
        }
    }
    function Sys$_Application$endCreateComponents() {
        /// <summary locid="M:J#Sys.Application.endCreateComponents" />
        if (arguments.length !== 0) throw Error.parameterCount();
        var components = this._secondPassComponents;
        for (var i = 0, l = components.length; i < l; i++) {
            var component = components[i].component;
            Sys$Component$_setReferences(component, components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents = [];
        this._creatingComponents = false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <summary locid="M:J#Sys.Application.findComponent" />
        /// <param name="id" type="String"></param>
        /// <param name="parent" optional="true" mayBeNull="true"></param>
        /// <returns type="Sys.Component" mayBeNull="true"></returns>
        var e = 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="M:J#Sys.Application.getComponents" />
        /// <returns type="Array" elementType="Sys.Component"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        var res = [];
        var components = this._components;
        for (var name in components) {
            res[res.length] = components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        /// <summary locid="M:J#Sys.Application.initialize" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if(!this.get_isInitialized() && !this._disposing) {
            Sys._Application.callBaseMethod(this, 'initialize');
            this._raiseInit();
            if (this.get_stateString) {
                if (Sys.WebForms && Sys.WebForms.PageRequestManager) {
                    this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest);
                    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler);
                    this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest);
                    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler);
                }
                var loadedEntry = this.get_stateString();
                if (loadedEntry !== this._currentEntry) {
                    this._navigate(loadedEntry);
                }
                else {
                    this._ensureHistory();
                }
            }
            this.raiseLoad();
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        /// <summary locid="M:J#Sys.Application.notifyScriptLoaded" />
        if (arguments.length !== 0) throw Error.parameterCount();
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <summary locid="M:J#Sys.Application.registerDisposableObject" />
        /// <param name="object" type="Sys.IDisposable"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            var objects = this._disposableObjects,
                i = objects.length;
            objects[i] = object;
            object.__msdisposeindex = i;
        }
    }
    function Sys$_Application$raiseLoad() {
        /// <summary locid="M:J#Sys.Application.raiseLoad" />
        if (arguments.length !== 0) throw Error.parameterCount();
        var h = this.get_events().getHandler("load");
        var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !!this._loaded);
        this._loaded = true;
        if (h) {
            h(this, args);
        }
        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents = [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <summary locid="M:J#Sys.Application.removeComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id = component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <summary locid="M:J#Sys.Application.unregisterDisposableObject" />
        /// <param name="object" type="Sys.IDisposable"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            var i = object.__msdisposeindex;
            if (typeof(i) === "number") {
                var disposableObjects = this._disposableObjects;
                delete disposableObjects[i];
                delete object.__msdisposeindex;
                if (++this._deleteCount > 1000) {
                    var newArray = [];
                    for (var j = 0, l = disposableObjects.length; j < l; j++) {
                        object = disposableObjects[j];
                        if (typeof(object) !== "undefined") {
                            object.__msdisposeindex = newArray.length;
                            newArray.push(object);
                        }
                    }
                    this._disposableObjects = newArray;
                    this._deleteCount = 0;
                }
            }
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, references) {
        this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references};
    }
    function Sys$_Application$_disposeComponents(list) {
        if (list) {
            for (var i = list.length - 1; i >= 0; i--) {
                var item = list[i];
                if (typeof(item.dispose) === "function") {
                    item.dispose();
                }
            }
        }
    }
    function Sys$_Application$_domReady() {
        var check, er, app = this;
        function init() { app.initialize(); }
        var onload = function() {
            Sys.UI.DomEvent.removeHandler(window, "load", onload);
            init();
        }
        Sys.UI.DomEvent.addHandler(window, "load", onload);
        
        if (document.addEventListener) {
            try {
                document.addEventListener("DOMContentLoaded", check = function() {
                    document.removeEventListener("DOMContentLoaded", check, false);
                    init();
                }, false);
            }
            catch (er) { }
        }
        else if (document.attachEvent) {
            if ((window == window.top) && document.documentElement.doScroll) {
                var timeout, el = document.createElement("div");
                check = function() {
                    try {
                        el.doScroll("left");
                    }
                    catch (er) {
                        timeout = window.setTimeout(check, 0);
                        return;
                    }
                    el = null;
                    init();
                }
                check();
            }
            else {
		document.attachEvent("onreadystatechange", check = function() {
                    if (document.readyState === "complete") {
                        document.detachEvent("onreadystatechange", check);
                        init();
                    }
                });
            }
        }
    }
    function Sys$_Application$_raiseInit() {
        var handler = this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype = {
    _creatingComponents: false,
    _disposing: false,
    _deleteCount: 0,
    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    get_isDisposing: Sys$_Application$get_isDisposing,
    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_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    disposeElement: Sys$_Application$disposeElement,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    unregisterDisposableObject: Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass,
    _disposeComponents: Sys$_Application$_disposeComponents,
    _domReady: Sys$_Application$_domReady,
    _raiseInit: Sys$_Application$_raiseInit,
    _unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer);
Sys.Application = new Sys._Application();
var $find = Sys.Application.findComponent;
 
Sys.UI.Behavior = function Sys$UI$Behavior(element) {
    /// <summary locid="M:J#Sys.UI.Behavior.#ctor" />
    /// <param name="element" domElement="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    Sys.UI.Behavior.initializeBase(this);
    this._element = element;
    var behaviors = element._behaviors;
    if (!behaviors) {
        element._behaviors = [this];
    }
    else {
        behaviors[behaviors.length] = this;
    }
}
    function Sys$UI$Behavior$get_element() {
        /// <value domElement="true" locid="P:J#Sys.UI.Behavior.element"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type="String" locid="P:J#Sys.UI.Behavior.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        var baseId = 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="String" locid="P:J#Sys.UI.Behavior.name"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name = Object.getTypeName(this);
        var i = name.lastIndexOf('.');
        if (i !== -1) name = name.substr(i + 1);
        if (!this.get_isInitialized()) this._name = name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !== 'undefined')
            throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value));
        if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name = value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name = this.get_name();
        if (name) this._element[name] = this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        var e = this._element;
        if (e) {
            var name = this.get_name();
            if (name) {
                e[name] = null;
            }
            var behaviors = e._behaviors;
            Array.remove(behaviors, this);
            if (behaviors.length === 0) {
                e._behaviors = null;
            }
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype = {
    _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 = function Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorByName" />
    /// <param name="element" domElement="true"></param>
    /// <param name="name" type="String"></param>
    /// <returns type="Sys.UI.Behavior" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    var b = element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}
Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviors" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}
Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorsByType" />
    /// <param name="element" domElement="true"></param>
    /// <param name="type" type="Type"></param>
    /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;
    var behaviors = element._behaviors;
    var results = [];
    if (behaviors) {
        for (var i = 0, l = behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] = behaviors[i];
            }
        }
    }
    return results;
}
 
Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() {
    /// <summary locid="M:J#Sys.UI.VisibilityMode.#ctor" />
    /// <field name="hide" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.hide"></field>
    /// <field name="collapse" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.collapse"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.VisibilityMode.prototype = {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");
 
Sys.UI.Control = function Sys$UI$Control(element) {
    /// <summary locid="M:J#Sys.UI.Control.#ctor" />
    /// <param name="element" domElement="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (element.control !== null && typeof(element.control) !== 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);
    this._element = element;
    element.control = this;
    var role = this.get_role();
    if (role) {
        element.setAttribute("role", role);
    }
}
    function Sys$UI$Control$get_element() {
        /// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type="String" locid="P:J#Sys.UI.Control.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e = 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="Sys.UI.Control" locid="P:J#Sys.UI.Control.parent"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._parent) return this._parent;
        if (!this._element) return null;
        
        var parentElement = this._element.parentNode;
        while (parentElement) {
            if (parentElement.control) {
                return parentElement.control;
            }
            parentElement = parentElement.parentNode;
        }
        return null;
    }
    function Sys$UI$Control$set_parent(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        var parents = [this];
        var current = value;
        while (current) {
            if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] = current;
            current = current.get_parent();
        }
        this._parent = value;
    }
    function Sys$UI$Control$get_role() {
        /// <value type="String" locid="P:J#Sys.UI.Control.role"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return null;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type="Sys.UI.VisibilityMode" locid="P:J#Sys.UI.Control.visibilityMode"></value>
        if (arguments.length !== 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 = 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="Boolean" locid="P:J#Sys.UI.Control.visible"></value>
        if (arguments.length !== 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 = 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="M:J#Sys.UI.Control.addCssClass" />
        /// <param name="className" type="String"></param>
        var e = 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 = null;
            delete this._element;
        }
        if (this._parent) delete this._parent;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <summary locid="M:J#Sys.UI.Control.onBubbleEvent" />
        /// <param name="source"></param>
        /// <param name="args" type="Sys.EventArgs"></param>
        /// <returns type="Boolean"></returns>
        var e = 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="M:J#Sys.UI.Control.raiseBubbleEvent" />
        /// <param name="source"></param>
        /// <param name="args" type="Sys.EventArgs"></param>
        var e = Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        this._raiseBubbleEvent(source, args);
    }
    function Sys$UI$Control$_raiseBubbleEvent(source, args) {
        var currentTarget = this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget = currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <summary locid="M:J#Sys.UI.Control.removeCssClass" />
        /// <param name="className" type="String"></param>
        var e = 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="M:J#Sys.UI.Control.toggleCssClass" />
        /// <param name="className" type="String"></param>
        var e = 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 = {
    _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_role: Sys$UI$Control$get_role,
    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,
    _raiseBubbleEvent: Sys$UI$Control$_raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);
Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) {
    /// <summary locid="M:J#Sys.HistoryEventArgs.#ctor" />
    /// <param name="state" type="Object"></param>
    var e = Function._validateParams(arguments, [
        {name: "state", type: Object}
    ]);
    if (e) throw e;
    Sys.HistoryEventArgs.initializeBase(this);
    this._state = state;
}
    function Sys$HistoryEventArgs$get_state() {
        /// <value type="Object" locid="P:J#Sys.HistoryEventArgs.state"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._state;
    }
Sys.HistoryEventArgs.prototype = {
    get_state: Sys$HistoryEventArgs$get_state
}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs);
Sys.Application._appLoadHandler = null;
Sys.Application._beginRequestHandler = null;
Sys.Application._clientId = null;
Sys.Application._currentEntry = '';
Sys.Application._endRequestHandler = null;
Sys.Application._history = null;
Sys.Application._enableHistory = false;
Sys.Application._historyEnabledInScriptManager = false;
Sys.Application._historyFrame = null;
Sys.Application._historyInitialized = false;
Sys.Application._historyPointIsNew = false;
Sys.Application._ignoreTimer = false;
Sys.Application._initialState = null;
Sys.Application._state = {};
Sys.Application._timerCookie = 0;
Sys.Application._timerHandler = null;
Sys.Application._uniqueId = null;
Sys._Application.prototype.get_stateString = function Sys$_Application$get_stateString() {
    /// <summary locid="M:J#Sys._Application.get_stateString" />
    if (arguments.length !== 0) throw Error.parameterCount();
    var hash = null;
    
    if (Sys.Browser.agent === Sys.Browser.Firefox) {
        var href = window.location.href;
        var hashIndex = href.indexOf('#');
        if (hashIndex !== -1) {
            hash = href.substring(hashIndex + 1);
        }
        else {
            hash = "";
        }
        return hash;
    }
    else {
        hash = window.location.hash;
    }
    
    if ((hash.length > 0) && (hash.charAt(0) === '#')) {
        hash = hash.substring(1);
    }
    return hash;
};
Sys._Application.prototype.get_enableHistory = function Sys$_Application$get_enableHistory() {
    /// <summary locid="M:J#Sys._Application.get_enableHistory" />
    if (arguments.length !== 0) throw Error.parameterCount();
    return this._enableHistory;
};
Sys._Application.prototype.set_enableHistory = function Sys$_Application$set_enableHistory(value) {
    if (this._initialized && !this._initializing) {
        throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory);
    }
    else if (this._historyEnabledInScriptManager && !value) {
        throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);
    }
    this._enableHistory = value;
};
Sys._Application.prototype.add_navigate = function Sys$_Application$add_navigate(handler) {
    /// <summary locid="E:J#Sys.Application.navigate" />
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    this.get_events().addHandler("navigate", handler);
};
Sys._Application.prototype.remove_navigate = function Sys$_Application$remove_navigate(handler) {
    /// <summary locid="M:J#Sys._Application.remove_navigate" />
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    this.get_events().removeHandler("navigate", handler);
};
Sys._Application.prototype.addHistoryPoint = function Sys$_Application$addHistoryPoint(state, title) {
    /// <summary locid="M:J#Sys.Application.addHistoryPoint" />
    /// <param name="state" type="Object"></param>
    /// <param name="title" type="String" optional="true" mayBeNull="true"></param>
    var e = 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.historyCannotAddHistoryPointWithHistoryDisabled);
    for (var n in state) {
        var v = state[n];
        var t = typeof(v);
        if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) {
            throw Error.argument('state', Sys.Res.stateMustBeStringDictionary);
        }
    }
    this._ensureHistory();
    var initialState = this._state;
    for (var key in state) {
        var value = state[key];
        if (value === null) {
            if (typeof(initialState[key]) !== 'undefined') {
                delete initialState[key];
            }
        }
        else {
            initialState[key] = value;
        }
    }
    var entry = this._serializeState(initialState);
    this._historyPointIsNew = true;
    this._setState(entry, title);
    this._raiseNavigate();
};
Sys._Application.prototype.setServerId = function Sys$_Application$setServerId(clientId, uniqueId) {
    /// <summary locid="M:J#Sys.Application.setServerId" />
    /// <param name="clientId" type="String"></param>
    /// <param name="uniqueId" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "clientId", type: String},
        {name: "uniqueId", type: String}
    ]);
    if (e) throw e;
    this._clientId = clientId;
    this._uniqueId = uniqueId;
};
Sys._Application.prototype.setServerState = function Sys$_Application$setServerState(value) {
    /// <summary locid="M:J#Sys.Application.setServerState" />
    /// <param name="value" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    this._ensureHistory();
    this._state.__s = value;
    this._updateHiddenField(value);
};
Sys._Application.prototype._deserializeState = function Sys$_Application$_deserializeState(entry) {
    var result = {};
    entry = entry || '';
    var serverSeparator = entry.indexOf('&&');
    if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) {
        result.__s = entry.substr(serverSeparator + 2);
        entry = entry.substr(0, serverSeparator);
    }
    var tokens = entry.split('&');
    for (var i = 0, l = tokens.length; i < l; i++) {
        var token = tokens[i];
        var equal = token.indexOf('=');
        if ((equal !== -1) && (equal + 1 < token.length)) {
            var name = token.substr(0, equal);
            var value = token.substr(equal + 1);
            result[name] = decodeURIComponent(value);
        }
    }
    return result;
};
Sys._Application.prototype._enableHistoryInScriptManager = function Sys$_Application$_enableHistoryInScriptManager() {
    this._enableHistory = true;
    this._historyEnabledInScriptManager = true;
};
Sys._Application.prototype._ensureHistory = function Sys$_Application$_ensureHistory() {
    if (!this._historyInitialized && this._enableHistory) {
        if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && 
            ((!document.documentMode) || document.documentMode < 8)) {
            this._historyFrame = document.getElementById('__historyFrame');
            if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame);
            this._ignoreIFrame = true;
        }
        this._timerHandler = Function.createDelegate(this, this._onIdle);
        this._timerCookie = window.setTimeout(this._timerHandler, 100);
        
        try {
            this._initialState = this._deserializeState(this.get_stateString());
        } catch(e) {}
        
        this._historyInitialized = true;
    }
};
Sys._Application.prototype._navigate = function Sys$_Application$_navigate(entry) {
    this._ensureHistory();
    var state = this._deserializeState(entry);
    
    if (this._uniqueId) {
        var oldServerEntry = this._state.__s || '';
        var newServerEntry = state.__s || '';
        if (newServerEntry !== oldServerEntry) {
            this._updateHiddenField(newServerEntry);
            __doPostBack(this._uniqueId, newServerEntry);
            this._state = state;
            return;
        }
    }
    this._setState(entry);
    this._state = state;
    this._raiseNavigate();
};
Sys._Application.prototype._onIdle = function Sys$_Application$_onIdle() {
    delete this._timerCookie;
    
    var entry = this.get_stateString();
    if (entry !== this._currentEntry) {
        if (!this._ignoreTimer) {
            this._historyPointIsNew = false;
            this._navigate(entry);
        }
    }
    else {
        this._ignoreTimer = false;
    }
    this._timerCookie = window.setTimeout(this._timerHandler, 100);
};
Sys._Application.prototype._onIFrameLoad = function Sys$_Application$_onIFrameLoad(entry) {
    if ((!document.documentMode) || document.documentMode < 8 ) {
        this._ensureHistory();
        if (!this._ignoreIFrame) {
            this._historyPointIsNew = false;
            this._navigate(entry);
        }
        this._ignoreIFrame = false;
    }
};
Sys._Application.prototype._onPageRequestManagerBeginRequest = function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) {
    this._ignoreTimer = true;
    this._originalTitle = document.title;
};
Sys._Application.prototype._onPageRequestManagerEndRequest = function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) {
    var dataItem = args.get_dataItems()[this._clientId];
    var originalTitle = this._originalTitle;
    this._originalTitle = null;
    var eventTarget = document.getElementById("__EVENTTARGET");
    if (eventTarget && eventTarget.value === this._uniqueId) {
        eventTarget.value = '';
    }
    if (typeof(dataItem) !== 'undefined') {
        this.setServerState(dataItem);
        this._historyPointIsNew = true;
    }
    else {
        this._ignoreTimer = false;
    }
    var entry = this._serializeState(this._state);
    if (entry !== this._currentEntry) {
        this._ignoreTimer = true;
        if (typeof(originalTitle) === "string") {
            if (Sys.Browser.agent !== Sys.Browser.InternetExplorer || Sys.Browser.version > 7) {
                var newTitle = document.title;
                document.title = originalTitle;
                this._setState(entry);
                document.title = newTitle;
            }
            else {
                this._setState(entry);
            }
            this._raiseNavigate();
        }
        else {
            this._setState(entry);
            this._raiseNavigate();
        }
    }
};
Sys._Application.prototype._raiseNavigate = function Sys$_Application$_raiseNavigate() {
    var isNew = this._historyPointIsNew;
    var h = this.get_events().getHandler("navigate");
    var stateClone = {};
    for (var key in this._state) {
        if (key !== '__s') {
            stateClone[key] = this._state[key];
        }
    }
    var args = new Sys.HistoryEventArgs(stateClone);
    if (h) {
        h(this, args);
    }
    if (!isNew) {
        var err;
        try {
            if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash &&
                (!window.frameElement || window.top.location.hash)) {
                (Sys.Browser.version < 3.5) ?
                    window.history.go(0) :
                    location.hash = this.get_stateString();
            }
        }
        catch(err) {
        }
    }
};
Sys._Application.prototype._serializeState = function Sys$_Application$_serializeState(state) {
    var serialized = [];
    for (var key in state) {
        var value = state[key];
        if (key === '__s') {
            var serverState = value;
        }
        else {
            if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid);
            serialized[serialized.length] = key + '=' + encodeURIComponent(value);
        }
    }
    return serialized.join('&') + (serverState ? '&&' + serverState : '');
};
Sys._Application.prototype._setState = function Sys$_Application$_setState(entry, title) {
    if (this._enableHistory) {
        entry = entry || '';
        if (entry !== this._currentEntry) {
            if (window.theForm) {
                var action = window.theForm.action;
                var hashIndex = action.indexOf('#');
                window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry;
            }
        
            if (this._historyFrame && this._historyPointIsNew) {
                var newDiv = document.createElement("div");
                newDiv.appendChild(document.createTextNode(title || document.title));
                var htmlEncodedTitle = newDiv.innerHTML;
                this._ignoreIFrame = true;
                var frameDoc = this._historyFrame.contentWindow.document;
                frameDoc.open("javascript:'<html></html>'");
                frameDoc.write("<html><head><title>" + htmlEncodedTitle +
                    "</title><scri" + "pt type=\"text/javascript\">parent.Sys.Application._onIFrameLoad(" + 
                    Sys.Serialization.JavaScriptSerializer.serialize(entry) +
                    ");</scri" + "pt></head><body></body></html>");
                frameDoc.close();
            }
            this._ignoreTimer = false;
            this._currentEntry = entry;
            if (this._historyFrame || this._historyPointIsNew) {
                var currentHash = this.get_stateString();
                if (entry !== currentHash) {
                    var loc = document.location;
                    if (loc.href.length - loc.hash.length + entry.length > 2048) {
                        throw Error.invalidOperation(String.format(Sys.Res.urlTooLong, 2048));
                    }
                    window.location.hash = entry;
                    this._currentEntry = this.get_stateString();
                    if ((typeof(title) !== 'undefined') && (title !== null)) {
                        document.title = title;
                    }
                }
            }
            this._historyPointIsNew = false;
        }
    }
};
Sys._Application.prototype._updateHiddenField = function Sys$_Application$_updateHiddenField(value) {
    if (this._clientId) {
        var serverStateField = document.getElementById(this._clientId);
        if (serverStateField) {
            serverStateField.value = value;
        }
    }
};
 
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest = function window$XMLHttpRequest() {
        var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];
        for (var i = 0, l = progIDs.length; i < l; i++) {
            try {
                return new ActiveXObject(progIDs[i]);
            }
            catch (ex) {
            }
        }
        return null;
    }
}
Type.registerNamespace('Sys.Net');
 
Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() {
    /// <summary locid="M:J#Sys.Net.WebRequestExecutor.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._webRequest = null;
    this._resultObject = null;
}
    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.WebRequestExecutor.webRequest"></value>
        if (arguments.length !== 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 = value;
    }
    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.started"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.aborted"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.responseData"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequestExecutor.statusCode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.statusText"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value locid="P:J#Sys.Net.WebRequestExecutor.xml"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value locid="P:J#Sys.Net.WebRequestExecutor.object"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());
        }
        return this._resultObject;
    }
    function Sys$Net$WebRequestExecutor$executeRequest() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.executeRequest" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.abort" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />
        /// <param name="header" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype = {
    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');
 
Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) {
    /// <summary locid="M:J#Sys.Net.XMLDOM.#ctor" />
    /// <param name="markup" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "markup", type: String}
    ]);
    if (e) throw e;
    if (!window.DOMParser) {
        var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ];
        for (var i = 0, l = progIDs.length; i < l; i++) {
            try {
                var xmlDOM = new ActiveXObject(progIDs[i]);
                xmlDOM.async = false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
    }
    else {
        try {
            var domParser = new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        }
        catch (ex) {
        }
    }
    return null;
}
Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() {
    /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.Net.XMLHttpExecutor.initializeBase(this);
    var _this = this;
    this._xmlHttpRequest = null;
    this._webRequest = null;
    this._responseAvailable = false;
    this._timedOut = false;
    this._timer = null;
    this._aborted = false;
    this._started = false;
    this._onReadyStateChange = (function () {
        
        if (_this._xmlHttpRequest.readyState === 4 ) {
            try {
                if (typeof(_this._xmlHttpRequest.status) === "undefined" || _this._xmlHttpRequest.status === 0) {
                    return;
                }
            }
            catch(ex) {
                return;
            }
            
            _this._clearTimer();
            _this._responseAvailable = true;
                _this._webRequest.completed(Sys.EventArgs.Empty);
                if (_this._xmlHttpRequest != null) {
                    _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
                    _this._xmlHttpRequest = null;
                }
        }
    });
    this._clearTimer = (function() {
        if (_this._timer != null) {
            window.clearTimeout(_this._timer);
            _this._timer = null;
        }
    });
    this._onTimeout = (function() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut = true;
            _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest = null;
        }
    });
}
    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.started"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._started;
    }
    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._responseAvailable;
    }
    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.aborted"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._aborted;
    }
    function Sys$Net$XMLHttpExecutor$executeRequest() {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.executeRequest" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._webRequest = this.get_webRequest();
        if (this._started) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest'));
        }
        if (this._webRequest === null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }
        var body = this._webRequest.get_body();
        var headers = this._webRequest.get_headers();
        this._xmlHttpRequest = new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange;
        var verb = this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true );
        this._xmlHttpRequest.setRequestHeader("X-Requested-With", "XMLHttpRequest");
        if (headers) {
            for (var header in headers) {
                var val = headers[header];
                if (typeof(val) !== "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }
        if (verb.toLowerCase() === "post") {
            if ((headers === null) || !headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
            }
            if (!body) {
                body = "";
            }
        }
        var timeout = this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started = true;
    }
    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" />
        /// <param name="header" type="String"></param>
        /// <returns type="String"></returns>
        var e = 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 = this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result = "";
        return result;
    }
    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getAllResponseHeaders" />
        /// <returns type="String"></returns>
        if (arguments.length !== 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="String" locid="P:J#Sys.Net.XMLHttpExecutor.responseData"></value>
        if (arguments.length !== 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="Number" locid="P:J#Sys.Net.XMLHttpExecutor.statusCode"></value>
        if (arguments.length !== 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 = 0;
        try {
            result = this._xmlHttpRequest.status;
        }
        catch(ex) {
        }
        return result;
    }
    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.statusText"></value>
        if (arguments.length !== 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="P:J#Sys.Net.XMLHttpExecutor.xml"></value>
        if (arguments.length !== 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 = this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {
            xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);
            if (!xml || !xml.documentElement)
                return null;
        }
        else if (navigator.userAgent.indexOf('MSIE') !== -1 && typeof(xml.setProperty) != 'undefined') {
            xml.setProperty('SelectionLanguage', 'XPath');
        }
        if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName === "parsererror") {
            return null;
        }
        
        if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") {
            return null;
        }
        
        return xml;
    }
    function Sys$Net$XMLHttpExecutor$abort() {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.abort" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._started) {
            throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }
        if (this._aborted || this._responseAvailable || this._timedOut)
            return;
        this._aborted = true;
        this._clearTimer();
        if (this._xmlHttpRequest && !this._responseAvailable) {
            this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
            this._xmlHttpRequest.abort();
            
            this._xmlHttpRequest = null;            
            this._webRequest.completed(Sys.EventArgs.Empty);
        }
    }
Sys.Net.XMLHttpExecutor.prototype = {
    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,
    get_started: Sys$Net$XMLHttpExecutor$get_started,
    get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable,
    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,
    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,
    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,
    getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,
    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,
    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,
    get_xml: Sys$Net$XMLHttpExecutor$get_xml,
    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor);
 
Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() {
    /// <summary locid="P:J#Sys.Net.WebRequestManager.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._defaultTimeout = 0;
    this._defaultExecutorType = "Sys.Net.XMLHttpExecutor";
}
    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        /// <summary locid="E:J#Sys.Net.WebRequestManager.invokingRequest" />
        var e = 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 = 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="E:J#Sys.Net.WebRequestManager.completedRequest" />
        var e = 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 = 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 = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequestManager.defaultTimeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);
        }
        this._defaultTimeout = value;
    }
    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestManager.defaultExecutorType"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._defaultExecutorType = value;
    }
    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <summary locid="M:J#Sys.Net.WebRequestManager.executeRequest" />
        /// <param name="webRequest" type="Sys.Net.WebRequest"></param>
        var e = Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;
        var executor = webRequest.get_executor();
        if (!executor) {
            var failed = false;
            try {
                var executorType = eval(this._defaultExecutorType);
                executor = new executorType();
            } catch (e) {
                failed = 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 = new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler = this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }
        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype = {
    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 = new Sys.Net._WebRequestManager();
 
Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <summary locid="M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />
    /// <param name="webRequest" type="Sys.Net.WebRequest"></param>
    var e = Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;
    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest = webRequest;
}
    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype = {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs);
 
Sys.Net.WebRequest = function Sys$Net$WebRequest() {
    /// <summary locid="M:J#Sys.Net.WebRequest.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._url = "";
    this._headers = { };
    this._body = null;
    this._userContext = null;
    this._httpVerb = null;
    this._executor = null;
    this._invokeCalled = false;
    this._timeout = 0;
}
    function Sys$Net$WebRequest$add_completed(handler) {
    /// <summary locid="E:J#Sys.Net.WebRequest.completed" />
    var e = 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 = 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="M:J#Sys.Net.WebRequest.completed" />
        /// <param name="eventArgs" type="Sys.EventArgs"></param>
        var e = Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");
        if (handler) {
            handler(this._executor, eventArgs);
        }
        handler = this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }
    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$WebRequest$get_url() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequest.url"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._url = value;
    }
    function Sys$Net$WebRequest$get_headers() {
        /// <value locid="P:J#Sys.Net.WebRequest.headers"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._headers;
    }
    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequest.httpVerb"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._httpVerb === null) {
            if (this._body === null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if (value.length === 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }
        this._httpVerb = value;
    }
    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.body"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._body = value;
    }
    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.userContext"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._userContext = value;
    }
    function Sys$Net$WebRequest$get_executor() {
        /// <value type="Sys.Net.WebRequestExecutor" locid="P:J#Sys.Net.WebRequest.executor"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;
        if (this._executor !== null && this._executor.get_started()) {
            throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }
        this._executor = value;
        this._executor._set_webRequest(this);
    }
    function Sys$Net$WebRequest$get_timeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequest.timeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._timeout === 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);
        }
        this._timeout = value;
    }
    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <summary locid="M:J#Sys.Net.WebRequest.getResolvedUrl" />
        /// <returns type="String"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }
    function Sys$Net$WebRequest$invoke() {
        /// <summary locid="M:J#Sys.Net.WebRequest.invoke" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }
        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled = true;
    }
Sys.Net.WebRequest.prototype = {
    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 = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
    if (url && url.indexOf('://') !== -1) {
        return url;
    }
    if (!baseUrl || baseUrl.length === 0) {
        var baseElement = document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > 0) {
            baseUrl = baseElement.href;
        }
        else {
            baseUrl = document.URL;
        }
    }
    var qsStart = baseUrl.indexOf('?');
    if (qsStart !== -1) {
        baseUrl = baseUrl.substr(0, qsStart);
    }
    qsStart = baseUrl.indexOf('#');
    if (qsStart !== -1) {
        baseUrl = baseUrl.substr(0, qsStart);
    }
    baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);
    if (!url || url.length === 0) {
        return baseUrl;
    }
    if (url.charAt(0) === '/') {
        var slashslash = baseUrl.indexOf('://');
        if (slashslash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }
        var nextSlash = baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }
        return baseUrl.substr(0, nextSlash) + url;
    }
    else {
        var lastSlash = baseUrl.lastIndexOf('/');
        if (lastSlash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }
        return baseUrl.substr(0, lastSlash+1) + url;
    }
}
Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod, addParams) {
    encodeMethod = encodeMethod || encodeURIComponent;
    var i = 0, obj, val, arg, sb = new Sys.StringBuilder();
    if (queryString) {
        for (arg in queryString) {
            obj = queryString[arg];
            if (typeof(obj) === "function") continue;
            val = Sys.Serialization.JavaScriptSerializer.serialize(obj);
            if (i++) {
                sb.append('&');
            }
            sb.append(arg);
            sb.append('=');
            sb.append(encodeMethod(val));
        }
    }
    if (addParams) {
        if (i) {
            sb.append('&');
        }
        sb.append(addParams);
    }
    return sb.toString();
}
Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString, addParams) {
    if (!queryString && !addParams) {
        return url;
    }
    var qs = Sys.Net.WebRequest._createQueryString(queryString, null, addParams);
    return qs.length
        ? url + ((url && url.indexOf('?') >= 0) ? "&" : "?") + qs
        : url;
}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
 
Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) {
    /// <summary locid="M:J#Sys._ScriptLoaderTask.#ctor" />
    /// <param name="scriptElement" domElement="true"></param>
    /// <param name="completedCallback" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;
    this._scriptElement = scriptElement;
    this._completedCallback = completedCallback;
}
    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement="true" locid="P:J#Sys._ScriptLoaderTask.scriptElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._scriptElement;
    }
    function Sys$_ScriptLoaderTask$dispose() {
        if(this._disposed) {
            return;
        }
        this._disposed = true;
        this._removeScriptElementHandlers();
        Sys._ScriptLoaderTask._clearScript(this._scriptElement);
        this._scriptElement = null;
    }
    function Sys$_ScriptLoaderTask$execute() {
        /// <summary locid="M:J#Sys._ScriptLoaderTask.execute" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._ensureReadyStateLoaded()) {
            this._executeInternal();
        }
    }
    function Sys$_ScriptLoaderTask$_executeInternal() {
        this._addScriptElementHandlers();
        var headElements = document.getElementsByTagName('head');
        if (headElements.length === 0) {
             throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
        }
        else {
             headElements[0].appendChild(this._scriptElement);
        }
    }
    function Sys$_ScriptLoaderTask$_ensureReadyStateLoaded() {
        if (this._useReadyState() && this._scriptElement.readyState !== 'loaded' && this._scriptElement.readyState !== 'complete') {
            this._scriptDownloadDelegate = Function.createDelegate(this, this._executeInternal);
            $addHandler(this._scriptElement, 'readystatechange', this._scriptDownloadDelegate);
            return false;
        }
        return true;
    }
    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
        if (this._scriptDownloadDelegate) {
            $removeHandler(this._scriptElement, 'readystatechange', this._scriptDownloadDelegate);
            this._scriptDownloadDelegate = null;
        }
        this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler);
        if (this._useReadyState()) {
            $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate);
        } else {
            $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate);
        }
        if (this._scriptElement.addEventListener) {
            this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler);
            this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false);
        }
    }
    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
        if(this._scriptLoadDelegate) {
            var scriptElement = this.get_scriptElement();
            if (this._scriptDownloadDelegate) {
                $removeHandler(this._scriptElement, 'readystatechange', this._scriptDownloadDelegate);
                this._scriptDownloadDelegate = null;
            }
            if (this._useReadyState() && this._scriptLoadDelegate) {
                $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'load', this._scriptLoadDelegate);
            }
            if (this._scriptErrorDelegate) {
                this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false);
                this._scriptErrorDelegate = null;
            }
            this._scriptLoadDelegate = null;
        }
    }
    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
        if(this._disposed) {
            return;
        }
        
        this._completedCallback(this.get_scriptElement(), false);
    }
    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
        if(this._disposed) {
            return;
        }
        var scriptElement = this.get_scriptElement();
        if (this._useReadyState() && scriptElement.readyState !== 'complete') {
            return;
        }
        this._completedCallback(scriptElement, true);
    }
    function Sys$_ScriptLoaderTask$_useReadyState() {
        return (Sys.Browser.agent === Sys.Browser.InternetExplorer && (Sys.Browser.version < 9 || ((document.documentMode || 0) < 9)));
    }
Sys._ScriptLoaderTask.prototype = {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
    dispose: Sys$_ScriptLoaderTask$dispose,
    execute: Sys$_ScriptLoaderTask$execute,
    _executeInternal: Sys$_ScriptLoaderTask$_executeInternal,
    _ensureReadyStateLoaded: Sys$_ScriptLoaderTask$_ensureReadyStateLoaded,
    _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers,    
    _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers,    
    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler,
    _useReadyState: Sys$_ScriptLoaderTask$_useReadyState
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable);
Sys._ScriptLoaderTask._clearScript = function Sys$_ScriptLoaderTask$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug && scriptElement.parentNode) {
        scriptElement.parentNode.removeChild(scriptElement);
    }
}
Type.registerNamespace('Sys.Net');
 
Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() {
}
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebServiceProxy.timeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timeout || 0;
    }
    function Sys$Net$WebServiceProxy$set_timeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); }
        this._timeout = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return (typeof(this._userContext) === "undefined") ? null : this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._userContext = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._succeeded || null;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._succeeded = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._failed || null;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._failed = value;
    }
    function Sys$Net$WebServiceProxy$get_enableJsonp() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebServiceProxy.enableJsonp"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return !!this._jsonp;
    }
    function Sys$Net$WebServiceProxy$set_enableJsonp(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._jsonp = value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceProxy.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || null;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._path = value;
    }
    function Sys$Net$WebServiceProxy$get_jsonpCallbackParameter() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceProxy.jsonpCallbackParameter"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._callbackParameter || "callback";
    }
    function Sys$Net$WebServiceProxy$set_jsonpCallbackParameter(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._callbackParameter = value;
    }
    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) {
        /// <summary locid="M:J#Sys.Net.WebServiceProxy._invoke" />
        /// <param name="servicePath" type="String"></param>
        /// <param name="methodName" type="String"></param>
        /// <param name="useGet" type="Boolean"></param>
        /// <param name="params"></param>
        /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>
        /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>
        /// <param name="userContext" mayBeNull="true" optional="true"></param>
        /// <returns type="Sys.Net.WebRequest" mayBeNull="true"></returns>
        var e = 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;
        onSuccess = onSuccess || this.get_defaultSucceededCallback();
        onFailure = onFailure || this.get_defaultFailedCallback();
        if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext();
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout(), this.get_enableJsonp(), this.get_jsonpCallbackParameter());
    }
Sys.Net.WebServiceProxy.prototype = {
    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_enableJsonp: Sys$Net$WebServiceProxy$get_enableJsonp,
    set_enableJsonp: Sys$Net$WebServiceProxy$set_enableJsonp,
    get_path: Sys$Net$WebServiceProxy$get_path,
    set_path: Sys$Net$WebServiceProxy$set_path,
    get_jsonpCallbackParameter: Sys$Net$WebServiceProxy$get_jsonpCallbackParameter,
    set_jsonpCallbackParameter: Sys$Net$WebServiceProxy$set_jsonpCallbackParameter,
    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout, enableJsonp, jsonpCallbackParameter) {
    /// <summary locid="M:J#Sys.Net.WebServiceProxy.invoke" />
    /// <param name="servicePath" type="String"></param>
    /// <param name="methodName" type="String" mayBeNull="true" optional="true"></param>
    /// <param name="useGet" type="Boolean" optional="true"></param>
    /// <param name="params" mayBeNull="true" optional="true"></param>
    /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>
    /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>
    /// <param name="userContext" mayBeNull="true" optional="true"></param>
    /// <param name="timeout" type="Number" optional="true"></param>
    /// <param name="enableJsonp" type="Boolean" optional="true" mayBeNull="true"></param>
    /// <param name="jsonpCallbackParameter" type="String" optional="true" mayBeNull="true"></param>
    /// <returns type="Sys.Net.WebRequest" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String, mayBeNull: true, optional: true},
        {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},
        {name: "enableJsonp", type: Boolean, mayBeNull: true, optional: true},
        {name: "jsonpCallbackParameter", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var schemeHost = (enableJsonp !== false) ? Sys.Net.WebServiceProxy._xdomain.exec(servicePath) : null,
        tempCallback, jsonp = schemeHost && (schemeHost.length === 3) && 
            ((schemeHost[1] !== location.protocol) || (schemeHost[2] !== location.host));
    useGet = jsonp || useGet;
    if (jsonp) {
        jsonpCallbackParameter = jsonpCallbackParameter || "callback";
        tempCallback = "_jsonp" + Sys._jsonp++;
    }
    if (!params) params = {};
    var urlParams = params;
    if (!useGet || !urlParams) urlParams = {};
    var script, error, timeoutcookie = null, loader, body = null,
        url = Sys.Net.WebRequest._createUrl(methodName
            ? (servicePath+"/"+encodeURIComponent(methodName))
            : servicePath, urlParams, jsonp ? (jsonpCallbackParameter + "=Sys." + tempCallback) : null);
    if (jsonp) {
        script = document.createElement("script");
        script.src = url;
        loader = new Sys._ScriptLoaderTask(script, function(script, loaded) {
            if (!loaded || tempCallback) {
                jsonpComplete({ Message: String.format(Sys.Res.webServiceFailedNoMsg, methodName) }, -1);
            }
        });
        function jsonpComplete(data, statusCode) {
            if (timeoutcookie !== null) {
                window.clearTimeout(timeoutcookie);
                timeoutcookie = null;
            }
            loader.dispose();
            delete Sys[tempCallback];
            tempCallback = null; 
            if ((typeof(statusCode) !== "undefined") && (statusCode !== 200)) {
                if (onFailure) {
                    error = new Sys.Net.WebServiceError(false,
                            data.Message || String.format(Sys.Res.webServiceFailedNoMsg, methodName),
                            data.StackTrace || null,
                            data.ExceptionType || null,
                            data);
                    error._statusCode = statusCode;
                    onFailure(error, userContext, methodName);
                }
                else {
                    if (data.StackTrace && data.Message) {
                        error = data.StackTrace + "-- " + data.Message;
                    }
                    else {
                        error = data.StackTrace || data.Message;
                    }
                    error = String.format(error ? Sys.Res.webServiceFailed : Sys.Res.webServiceFailedNoMsg, methodName, error);
                    throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(data, userContext, methodName);
            }
        }
        Sys[tempCallback] = jsonpComplete;
        loader.execute();
        return null;
    }
    var request = new Sys.Net.WebRequest();
    request.set_url(url);
    request.get_headers()['Content-Type'] = 'application/json; charset=utf-8';
    if (!useGet) {
        body = Sys.Serialization.JavaScriptSerializer.serialize(params);
        if (body === "{}") body = "";
    }
    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 = response.get_statusCode();
            var result = null;
           
            try {
                var contentType = response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result = response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result = response.get_xml();
                }
                else {
                    result = response.get_responseData();
                }
            } catch (ex) {
            }
            var error = response.getResponseHeader("jsonerror");
            var errorObj = (error === "true");
            if (errorObj) {
                if (result) {
                    result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType, result);
                }
            }
            else if (contentType.startsWith("application/json")) {
                result = (!result || (typeof(result.d) === "undefined")) ? result : result.d;
            }
            if (((statusCode < 200) || (statusCode >= 300)) || errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName));
                    }
                    result._statusCode = statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                    if (result && errorObj) {
                        error = result.get_exceptionType() + "-- " + result.get_message();
                    }
                    else {
                        error = 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 = String.format(Sys.Res.webServiceTimedOut, methodName);
            }
            else {
                msg = 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 = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {
    var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage;
    var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName });
    e.popStackFrame();
    return e;
}
Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {
    var error = err.get_exceptionType() + "-- " + err.get_message();
    throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error));
}
Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
        if (properties) {
            for (var name in properties) {
                this[name] = properties[name];
            }
        }
        this.__type = type;
    }
}
Sys._jsonp = 0;
Sys.Net.WebServiceProxy._xdomain = /^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;
 
Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType, errorObject) {
    /// <summary locid="M:J#Sys.Net.WebServiceError.#ctor" />
    /// <param name="timedOut" type="Boolean"></param>
    /// <param name="message" type="String" mayBeNull="true"></param>
    /// <param name="stackTrace" type="String" mayBeNull="true" optional="true"></param>
    /// <param name="exceptionType" type="String" mayBeNull="true" optional="true"></param>
    /// <param name="errorObject" type="Object" mayBeNull="true" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true, optional: true},
        {name: "exceptionType", type: String, mayBeNull: true, optional: true},
        {name: "errorObject", type: Object, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._timedOut = timedOut;
    this._message = message;
    this._stackTrace = stackTrace;
    this._exceptionType = exceptionType;
    this._errorObject = errorObject;
    this._statusCode = -1;
}
    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebServiceError.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type="Number" locid="P:J#Sys.Net.WebServiceError.statusCode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._statusCode;
    }
    function Sys$Net$WebServiceError$get_message() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.message"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._message;
    }
    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.stackTrace"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._stackTrace || "";
    }
    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.exceptionType"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._exceptionType || "";
    }
    function Sys$Net$WebServiceError$get_errorObject() {
        /// <value type="Object" locid="P:J#Sys.Net.WebServiceError.errorObject"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._errorObject || null;
    }
Sys.Net.WebServiceError.prototype = {
    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,
    get_errorObject: Sys$Net$WebServiceError$get_errorObject
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');

u//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxApplicationServices.js
// Microsoft AJAX Framework Support for ASP.NET Application Services.
/// <reference name="MicrosoftAjaxWebServices.js" />
Type._registerScript("MicrosoftAjaxApplicationServices.js", ["MicrosoftAjaxWebServices.js"]);
Type.registerNamespace('Sys.Services');
Sys.Services._ProfileService = function Sys$Services$_ProfileService() {
    /// <summary locid="M:J#Sys.Net.ProfileService.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.Services._ProfileService.initializeBase(this);
    this.properties = {};
}
Sys.Services._ProfileService.DefaultWebServicePath = '';
    function Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.defaultLoadCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback = value;
    }
    function Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.defaultSaveCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultSaveCompletedCallback = value;
    }
    function Sys$Services$_ProfileService$get_path() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.ProfileService.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_ProfileService$load(propertyNames, loadCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services.ProfileService.load" />
        /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param>
        /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = 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 = "GetAllPropertiesForCurrentUser";
            parameters = { authenticatedUserOnly: false };
        }
        else {
            methodName = "GetPropertiesForCurrentUser";
            parameters = { 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="M:J#Sys.Services.ProfileService.save" />
        /// <param name="propertyNames" type="Array" elementType="String" optional="true" elementMayBeNull="false" mayBeNull="true"></param>
        /// <param name="saveCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = 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 = 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 = [];
        var seen = {};
        for (var i=0; i < arr.length; i++) {
            var prop = arr[i];
            if(!seen[prop]) { Array.add(nodups, prop); seen[prop]=true; };
        }
        return nodups;
    }
    function Sys$Services$_ProfileService$_flattenProperties(propertyNames, properties, groupName) {
        var flattenedProperties = {};
        var val;
        var key;
        var count = 0;
        if (propertyNames && propertyNames.length === 0) {
            return { value: flattenedProperties, count: 0 };
        }
        for (var property in properties) {
            val = properties[property];
            key = groupName ? groupName + "." + property : property;
            if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var obj = this._flattenProperties(propertyNames, val, key);
                var groupProperties = obj.value;
                count += obj.count; 
                for(var subKey in groupProperties) {
                    var subVal = groupProperties[subKey];
                    flattenedProperties[subKey] = subVal;
                }
            }
            else {
                if(!propertyNames || Array.indexOf(propertyNames, key) !== -1) {
                    flattenedProperties[key] = val;
                    count++; 
                }
            }
        }
        return { value: flattenedProperties, count: count };
    }
    function Sys$Services$_ProfileService$_get_path() {
        var path = this.get_path();
        if (!path.length) {
            path = 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) !== "object") {
            throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Object"));
        }
        var unflattened = this._unflattenProperties(result);
        for (var name in unflattened) {
            this.properties[name] = unflattened[name];
        }
        
        var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();        
            callback(result.length, userContext, "Sys.Services.ProfileService.load");
        }
    }
    function Sys$Services$_ProfileService$_onLoadFailed(err, context, methodName) {
        var callback = context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();        
            callback(err, userContext, "Sys.Services.ProfileService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);
        }
    }
    function Sys$Services$_ProfileService$_onSaveComplete(result, context, methodName) {
        var count = context[3];
        if (result !== null) { 
            if (result instanceof Array) {
                count -= result.length;
            }
            else if (typeof(result) === 'number') {
                count = result;
            }
            else {
                throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Array"));
            }
        }
        
        var callback = context[0] || this.get_defaultSaveCompletedCallback() || this.get_defaultSucceededCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();
            callback(count, userContext, "Sys.Services.ProfileService.save");
        }
    }
    function Sys$Services$_ProfileService$_onSaveFailed(err, context, methodName) {
        var callback = context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = 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 = {};
        var dotIndex;
        var val;
        var count = 0;
        for (var key in properties) {
            count++;
            val = properties[key];
            dotIndex = key.indexOf('.');
            if (dotIndex !== -1) {
                var groupName = key.substr(0, dotIndex);
                key = key.substr(dotIndex+1);
                var group = unflattenedProperties[groupName];
                if (!group || !Sys.Services.ProfileGroup.isInstanceOfType(group)) {
                    group = new Sys.Services.ProfileGroup();
                    unflattenedProperties[groupName] = group;
                }
                group[key] = val;
            }
            else {
                unflattenedProperties[key] = val;
            }
        }
        properties.length = count;
        return unflattenedProperties;
    }
Sys.Services._ProfileService.prototype = {
    _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,    
    _flattenProperties: Sys$Services$_ProfileService$_flattenProperties,
    _get_path: Sys$Services$_ProfileService$_get_path,    
    _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 = new Sys.Services._ProfileService();
Sys.Services.ProfileGroup = function Sys$Services$ProfileGroup(properties) {
    /// <summary locid="M:J#Sys.Services.ProfileGroup.#ctor" />
    /// <param name="properties" optional="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "properties", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if (properties) {
        for (var property in properties) {
            this[property] = properties[property];
        }
    }
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');
Sys.Services._AuthenticationService = function Sys$Services$_AuthenticationService() {
    /// <summary locid="M:J#Sys.Services.AuthenticationService.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath = '';
    function Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.defaultLoginCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLoginCompletedCallback;
    }
    function Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoginCompletedCallback = value;
    }
    function Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.defaultLogoutCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLogoutCompletedCallback;
    }
    function Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLogoutCompletedCallback = value;
    }
    function Sys$Services$_AuthenticationService$get_isLoggedIn() {
        /// <value type="Boolean" locid="P:J#Sys.Services.AuthenticationService.isLoggedIn"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._authenticated;
    }
    function Sys$Services$_AuthenticationService$get_path() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.AuthenticationService.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_AuthenticationService$login(username, password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services.AuthenticationService.login" />
        /// <param name="username" type="String" mayBeNull="false"></param>
        /// <param name="password" type="String" mayBeNull="true"></param>
        /// <param name="isPersistent" type="Boolean" optional="true" mayBeNull="true"></param>
        /// <param name="customInfo" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="loginCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = 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="M:J#Sys.Services.AuthenticationService.logout" />
        /// <param name="redirectUrl" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="logoutCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = 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, {}, 
                                        Function.createDelegate(this, this._onLogoutComplete),
                                        Function.createDelegate(this, this._onLogoutFailed),
                                        [redirectUrl, logoutCompletedCallback, failedCallback, userContext]);
    }
    function Sys$Services$_AuthenticationService$_get_path() {
        var path = this.get_path();
        if(!path.length) {
            path = 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) !== "boolean") {
            throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "Boolean"));
        }
        
        var redirectUrl = context[4];
        var userContext = context[7] || this.get_defaultUserContext();
        var callback = context[5] || this.get_defaultLoginCompletedCallback() || this.get_defaultSucceededCallback();
        
        if(result) {
            this._authenticated = true;
            if (callback) {
                callback(true, userContext, "Sys.Services.AuthenticationService.login");
            }
            
            if (typeof(redirectUrl) !== "undefined" && redirectUrl !== null) {
                window.location.href = redirectUrl;
            }
        }
        else if (callback) {
            callback(false, userContext, "Sys.Services.AuthenticationService.login");
        }
    }
    function Sys$Services$_AuthenticationService$_onLoginFailed(err, context, methodName) {
        var callback = context[6] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = 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 !== null) {
            throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType, methodName, "null"));
        }
        
        var redirectUrl = context[0];
        var userContext = context[3] || this.get_defaultUserContext();
        var callback = context[1] || this.get_defaultLogoutCompletedCallback() || this.get_defaultSucceededCallback();
        this._authenticated = false;
        
        if (callback) {
            callback(null, userContext, "Sys.Services.AuthenticationService.logout");
        }
        
        if(!redirectUrl) {
            window.location.reload();
        }
        else {
            window.location.href = redirectUrl;
        }
    }
    function Sys$Services$_AuthenticationService$_onLogoutFailed(err, context, methodName) {
        var callback = 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 = authenticated;
    }
Sys.Services._AuthenticationService.prototype = {
    _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,  
    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    
}
Sys.Services._AuthenticationService.registerClass('Sys.Services._AuthenticationService', Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService = new Sys.Services._AuthenticationService();
Sys.Services._RoleService = function Sys$Services$_RoleService() {
    /// <summary locid="M:J#Sys.Services.RoleService.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.Services._RoleService.initializeBase(this);
    this._roles = [];
}
Sys.Services._RoleService.DefaultWebServicePath = '';
    function Sys$Services$_RoleService$get_defaultLoadCompletedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Services.RoleService.defaultLoadCompletedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function Sys$Services$_RoleService$set_defaultLoadCompletedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback = value;
    }
    function Sys$Services$_RoleService$get_path() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.Services.RoleService.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_RoleService$get_roles() {
        /// <value type="Array" elementType="String" mayBeNull="false" locid="P:J#Sys.Services.RoleService.roles"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return Array.clone(this._roles);
    }
    function Sys$Services$_RoleService$isUserInRole(role) {
        /// <summary locid="M:J#Sys.Services.RoleService.isUserInRole" />
        /// <param name="role" type="String" mayBeNull="false"></param>
        /// <returns type="Boolean"></returns>
        var e = Function._validateParams(arguments, [
            {name: "role", type: String}
        ]);
        if (e) throw e;
        var v = this._get_rolesIndex()[role.trim().toLowerCase()];
        return !!v;
    }
    function Sys$Services$_RoleService$load(loadCompletedCallback, failedCallback, userContext) {
        /// <summary locid="M:J#Sys.Services.RoleService.load" />
        /// <param name="loadCompletedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="failedCallback" type="Function" optional="true" mayBeNull="true"></param>
        /// <param name="userContext" optional="true" mayBeNull="true"></param>
        var e = 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 = this.get_path();
        if(!path || !path.length) {
            path = 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 = {};
            for(var i=0; i < this._roles.length; i++) {
                index[this._roles[i].toLowerCase()] = true;
            }
            this._rolesIndex = 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 = result;
        this._rolesIndex = null;
        var callback = context[0] || this.get_defaultLoadCompletedCallback() || this.get_defaultSucceededCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();
            var clonedResult = Array.clone(result);
            callback(clonedResult, userContext, "Sys.Services.RoleService.load");
        }
    }
    function Sys$Services$_RoleService$_onLoadFailed(err, context, methodName) {
        var callback = context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext = context[2] || this.get_defaultUserContext();
            callback(err, userContext, "Sys.Services.RoleService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, methodName);
        }
    }
Sys.Services._RoleService.prototype = {
    _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,  
    _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 = new Sys.Services._RoleService();
P//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxComponentModel.js
// Microsoft AJAX Framework Component Model.
/// <reference name="MicrosoftAjaxCore.js" />
Type._registerScript("MicrosoftAjaxComponentModel.js", ["MicrosoftAjaxCore.js"]);
Type.registerNamespace('Sys.UI');
Sys.CommandEventArgs = function Sys$CommandEventArgs(commandName, commandArgument, commandSource) {
    /// <summary locid="M:J#Sys.CommandEventArgs.#ctor" />
    /// <param name="commandName" type="String"></param>
    /// <param name="commandArgument" mayBeNull="true"></param>
    /// <param name="commandSource" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "commandName", type: String},
        {name: "commandArgument", mayBeNull: true},
        {name: "commandSource", mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.CommandEventArgs.initializeBase(this);
    this._commandName = commandName;
    this._commandArgument = commandArgument;
    this._commandSource = commandSource;
}
    function Sys$CommandEventArgs$get_commandName() {
        /// <value type="String" locid="P:J#Sys.CommandEventArgs.commandName"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._commandName;
    }
    function Sys$CommandEventArgs$get_commandArgument() {
        /// <value mayBeNull="true" locid="P:J#Sys.CommandEventArgs.commandArgument"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._commandArgument;
    }
    function Sys$CommandEventArgs$get_commandSource() {
        /// <value mayBeNull="true" locid="P:J#Sys.CommandEventArgs.commandSource"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._commandSource;
    }
Sys.CommandEventArgs.prototype = {
    _commandName: null,
    _commandArgument: null,
    _commandSource: null,
    get_commandName: Sys$CommandEventArgs$get_commandName,
    get_commandArgument: Sys$CommandEventArgs$get_commandArgument,
    get_commandSource: Sys$CommandEventArgs$get_commandSource
}
Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs", Sys.CancelEventArgs);
 
Sys.INotifyDisposing = function Sys$INotifyDisposing() {
    /// <summary locid="M:J#Sys.INotifyDisposing.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyDisposing$add_disposing(handler) {
    /// <summary locid="E:J#Sys.INotifyDisposing.disposing" />
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype = {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
 
Sys.Component = function Sys$Component() {
    /// <summary locid="M:J#Sys.Component.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}
    function Sys$Component$get_events() {
        /// <value type="Sys.EventHandlerList" locid="P:J#Sys.Component.events"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type="String" locid="P:J#Sys.Component.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if (this._idSet) throw Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet = true;
        var oldId = this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id = value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type="Boolean" locid="P:J#Sys.Component.isInitialized"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type="Boolean" locid="P:J#Sys.Component.isUpdating"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        /// <summary locid="E:J#Sys.Component.disposing" />
        var e = 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 = 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="E:J#Sys.Component.propertyChanged" />
        var e = 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 = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating = true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler = 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 = false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized = true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <summary locid="M:J#Sys.Component.raisePropertyChanged" />
        /// <param name="propertyName" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;
        if (!this._events) return;
        var handler = this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype = {
    _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="M:J#Sys.Component._setProperties" />
    /// <param name="target"></param>
    /// <param name="properties"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;
    var current;
    var targetType = Object.getType(target);
    var isObject = (targetType === Object) || (targetType === Sys.UI.DomElement);
    var isComponent = Sys.Component.isInstanceOfType(target) && !target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val = properties[name];
        var getter = isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !== 'function') {
            var targetVal = target[name];
            if (!isObject && typeof(targetVal) === 'undefined') throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, name));
            if (!val || (typeof(val) !== 'object') || (isObject && !targetVal)) {
                target[name] = val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter = target["set_" + name];
            if (typeof(setter) === 'function') {
                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                current = getter.apply(target);
                if (!(current instanceof Array)) throw new Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i = 0, j = current.length, l= val.length; i < l; i++, j++) {
                    current[j] = val[i];
                }
            }
            else if ((typeof(val) === 'object') && (Object.getType(val) === Object)) {
                current = getter.apply(target);
                if ((typeof(current) === 'undefined') || (current === 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 = component["set_" + name];
        var reference = $find(references[name]);
        if (typeof(setter) !== '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 = Sys.Component.create = function Sys$Component$create(type, properties, events, references, element) {
    /// <summary locid="M:J#Sys.Component.create" />
    /// <param name="type" type="Type"></param>
    /// <param name="properties" optional="true" mayBeNull="true"></param>
    /// <param name="events" optional="true" mayBeNull="true"></param>
    /// <param name="references" optional="true" mayBeNull="true"></param>
    /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Sys.UI.Component"></returns>
    var e = 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 = (element ? new type(element): new type());
    var app = Sys.Application;
    var creatingComponents = 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] = component;
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }
    return component;
}
 
Sys.UI.MouseButton = function Sys$UI$MouseButton() {
    /// <summary locid="M:J#Sys.UI.MouseButton.#ctor" />
    /// <field name="leftButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.leftButton"></field>
    /// <field name="middleButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.middleButton"></field>
    /// <field name="rightButton" type="Number" integer="true" static="true" locid="F:J#Sys.UI.MouseButton.rightButton"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.MouseButton.prototype = {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
 
Sys.UI.Key = function Sys$UI$Key() {
    /// <summary locid="M:J#Sys.UI.Key.#ctor" />
    /// <field name="backspace" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.backspace"></field>
    /// <field name="tab" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.tab"></field>
    /// <field name="enter" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.enter"></field>
    /// <field name="esc" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.esc"></field>
    /// <field name="space" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.space"></field>
    /// <field name="pageUp" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageUp"></field>
    /// <field name="pageDown" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.pageDown"></field>
    /// <field name="end" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.end"></field>
    /// <field name="home" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.home"></field>
    /// <field name="left" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.left"></field>
    /// <field name="up" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.up"></field>
    /// <field name="right" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.right"></field>
    /// <field name="down" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.down"></field>
    /// <field name="del" type="Number" integer="true" static="true" locid="F:J#Sys.UI.Key.del"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.Key.prototype = {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
 
Sys.UI.Point = function Sys$UI$Point(x, y) {
    /// <summary locid="M:J#Sys.UI.Point.#ctor" />
    /// <param name="x" type="Number"></param>
    /// <param name="y" type="Number"></param>
    /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Point.x"></field>
    /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Point.y"></field>
    /// <field name="rawX" type="Number" locid="F:J#Sys.UI.Point.rawX"></field>
    /// <field name="rawY" type="Number" locid="F:J#Sys.UI.Point.rawY"></field>
    var e = Function._validateParams(arguments, [
        {name: "x", type: Number},
        {name: "y", type: Number}
    ]);
    if (e) throw e;
    this.rawX = x;
    this.rawY = y;
    this.x = Math.round(x);
    this.y = Math.round(y);
}
Sys.UI.Point.registerClass('Sys.UI.Point');
 
Sys.UI.Bounds = function Sys$UI$Bounds(x, y, width, height) {
    /// <summary locid="M:J#Sys.UI.Bounds.#ctor" />
    /// <param name="x" type="Number" integer="true"></param>
    /// <param name="y" type="Number" integer="true"></param>
    /// <param name="width" type="Number" integer="true"></param>
    /// <param name="height" type="Number" integer="true"></param>
    /// <field name="x" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.x"></field>
    /// <field name="y" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.y"></field>
    /// <field name="width" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.width"></field>
    /// <field name="height" type="Number" integer="true" locid="F:J#Sys.UI.Bounds.height"></field>
    var e = Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "width", type: Number, integer: true},
        {name: "height", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x = x;
    this.y = y;
    this.height = height;
    this.width = width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
 
Sys.UI.DomEvent = function Sys$UI$DomEvent(eventObject) {
    /// <summary locid="M:J#Sys.UI.DomEvent.#ctor" />
    /// <param name="eventObject"></param>
    /// <field name="altKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.altKey"></field>
    /// <field name="button" type="Sys.UI.MouseButton" locid="F:J#Sys.UI.DomEvent.button"></field>
    /// <field name="charCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.charCode"></field>
    /// <field name="clientX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientX"></field>
    /// <field name="clientY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.clientY"></field>
    /// <field name="ctrlKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.ctrlKey"></field>
    /// <field name="keyCode" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.keyCode"></field>
    /// <field name="offsetX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetX"></field>
    /// <field name="offsetY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.offsetY"></field>
    /// <field name="screenX" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenX"></field>
    /// <field name="screenY" type="Number" integer="true" locid="F:J#Sys.UI.DomEvent.screenY"></field>
    /// <field name="shiftKey" type="Boolean" locid="F:J#Sys.UI.DomEvent.shiftKey"></field>
    /// <field name="target" locid="F:J#Sys.UI.DomEvent.target"></field>
    /// <field name="type" type="String" locid="F:J#Sys.UI.DomEvent.type"></field>
    var e = Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;
    var ev = eventObject;
    var etype = this.type = ev.type.toLowerCase();
    this.rawEvent = ev;
    this.altKey = ev.altKey;
    if (typeof(ev.button) !== 'undefined') {
        this.button = (typeof(ev.which) !== 'undefined') ? ev.button :
            (ev.button === 4) ? Sys.UI.MouseButton.middleButton :
            (ev.button === 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (etype === 'keypress') {
        this.charCode = ev.charCode || ev.keyCode;
    }
    else if (ev.keyCode && (ev.keyCode === 46)) {
        this.keyCode = 127;
    }
    else {
        this.keyCode = ev.keyCode;
    }
    this.clientX = ev.clientX;
    this.clientY = ev.clientY;
    this.ctrlKey = ev.ctrlKey;
    this.target = ev.target ? ev.target : ev.srcElement;
    if (!etype.startsWith('key')) {
        if ((typeof(ev.offsetX) !== 'undefined') && (typeof(ev.offsetY) !== 'undefined')) {
            this.offsetX = ev.offsetX;
            this.offsetY = ev.offsetY;
        }
        else if (this.target && (this.target.nodeType !== 3) && (typeof(ev.clientX) === 'number')) {
            var loc = Sys.UI.DomElement.getLocation(this.target);
            var w = Sys.UI.DomElement._getWindow(this.target);
            this.offsetX = (w.pageXOffset || 0) + ev.clientX - loc.x;
            this.offsetY = (w.pageYOffset || 0) + ev.clientY - loc.y;
        }
    }
    this.screenX = ev.screenX;
    this.screenY = ev.screenY;
    this.shiftKey = ev.shiftKey;
}
    function Sys$UI$DomEvent$preventDefault() {
        /// <summary locid="M:J#Sys.UI.DomEvent.preventDefault" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            this.rawEvent.returnValue = false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        /// <summary locid="M:J#Sys.UI.DomEvent.stopPropagation" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            this.rawEvent.cancelBubble = true;
        }
    }
Sys.UI.DomEvent.prototype = {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler = Sys.UI.DomEvent.addHandler = function Sys$UI$DomEvent$addHandler(element, eventName, handler, autoRemove) {
    /// <summary locid="M:J#Sys.UI.DomEvent.addHandler" />
    /// <param name="element"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    /// <param name="autoRemove" type="Boolean" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function},
        {name: "autoRemove", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (eventName === "error") throw Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
    if (!element._events) {
        element._events = {};
    }
    var eventCache = element._events[eventName];
    if (!eventCache) {
        element._events[eventName] = eventCache = [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler = function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler = function() {
            var e = {};
            try {e = 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] = {handler: handler, browserHandler: browserHandler, autoRemove: autoRemove };
    if (autoRemove) {
        var d = element.dispose;
        if (d !== Sys.UI.DomEvent._disposeHandlers) {
            element.dispose = Sys.UI.DomEvent._disposeHandlers;
            if (typeof(d) !== "undefined") {
                element._chainDispose = d;
            }
        }
    }
}
var $addHandlers = Sys.UI.DomEvent.addHandlers = function Sys$UI$DomEvent$addHandlers(element, events, handlerOwner, autoRemove) {
    /// <summary locid="M:J#Sys.UI.DomEvent.addHandlers" />
    /// <param name="element"></param>
    /// <param name="events" type="Object"></param>
    /// <param name="handlerOwner" optional="true"></param>
    /// <param name="autoRemove" type="Boolean" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true},
        {name: "autoRemove", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    for (var name in events) {
        var handler = events[name];
        if (typeof(handler) !== 'function') throw Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler = Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler, autoRemove || false);
    }
}
var $clearHandlers = Sys.UI.DomEvent.clearHandlers = function Sys$UI$DomEvent$clearHandlers(element) {
    /// <summary locid="M:J#Sys.UI.DomEvent.clearHandlers" />
    /// <param name="element"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    Sys.UI.DomEvent._clearHandlers(element, false);
}
Sys.UI.DomEvent._clearHandlers = function Sys$UI$DomEvent$_clearHandlers(element, autoRemoving) {
    if (element._events) {
        var cache = element._events;
        for (var name in cache) {
            var handlers = cache[name];
            for (var i = handlers.length - 1; i >= 0; i--) {
                var entry = handlers[i];
                if (!autoRemoving || entry.autoRemove) {
                    $removeHandler(element, name, entry.handler);
                }
            }
        }
        element._events = null;
    }
}
Sys.UI.DomEvent._disposeHandlers = function Sys$UI$DomEvent$_disposeHandlers() {
    Sys.UI.DomEvent._clearHandlers(this, true);
    var d = this._chainDispose, type = typeof(d);
    if (type !== "undefined") {
        this.dispose = d;
        this._chainDispose = null;
        if (type === "function") {
            this.dispose();
        }
    }
}
var $removeHandler = Sys.UI.DomEvent.removeHandler = function Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <summary locid="M:J#Sys.UI.DomEvent.removeHandler" />
    /// <param name="element"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._removeHandler(element, eventName, handler);
}
Sys.UI.DomEvent._removeHandler = function Sys$UI$DomEvent$_removeHandler(element, eventName, handler) {
    Sys.UI.DomEvent._ensureDomNode(element);
    var browserHandler = null;
    if ((typeof(element._events) !== 'object') || !element._events) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache = element._events[eventName];
    if (!(cache instanceof Array)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    for (var i = 0, l = cache.length; i < l; i++) {
        if (cache[i].handler === handler) {
            browserHandler = cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !== '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 = function Sys$UI$DomEvent$_ensureDomNode(element) {
    if (element.tagName && (element.tagName.toUpperCase() === "SCRIPT")) return;
    
    var doc = element.ownerDocument || element.document || element;
    if ((typeof(element.document) !== 'object') && (element != doc) && (typeof(element.nodeType) !== 'number')) {
        throw Error.argument("element", Sys.Res.argumentDomNode);
    }
}
 
Sys.UI.DomElement = function Sys$UI$DomElement() {
    /// <summary locid="M:J#Sys.UI.DomElement.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass = function Sys$UI$DomElement$addCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.addCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = 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 === '') {
            element.className = className;
        }
        else {
            element.className += ' ' + className;
        }
    }
}
Sys.UI.DomElement.containsCssClass = function Sys$UI$DomElement$containsCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.containsCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = 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 = function Sys$UI$DomElement$getBounds(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getBounds" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Sys.UI.Bounds"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var offset = Sys.UI.DomElement.getLocation(element);
    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || 0, element.offsetHeight || 0);
}
var $get = Sys.UI.DomElement.getElementById = function Sys$UI$DomElement$getElementById(id, element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getElementById" />
    /// <param name="id" type="String"></param>
    /// <param name="element" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns domElement="true" mayBeNull="true"></returns>
    var e = 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 = [];
    var childNodes = element.childNodes;
    for (var i = 0; i < childNodes.length; i++) {
        var node = childNodes[i];
        if (node.nodeType == 1) {
            nodeQueue[nodeQueue.length] = node;
        }
    }
    while (nodeQueue.length) {
        node = nodeQueue.shift();
        if (node.id == id) {
            return node;
        }
        childNodes = node.childNodes;
        for (i = 0; i < childNodes.length; i++) {
            node = childNodes[i];
            if (node.nodeType == 1) {
                nodeQueue[nodeQueue.length] = node;
            }
        }
    }
    return null;
}
if (document.documentElement.getBoundingClientRect) {
    Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
        /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
        /// <param name="element" domElement="true"></param>
        /// <returns type="Sys.UI.Point"></returns>
        var e = Function._validateParams(arguments, [
            {name: "element", domElement: true}
        ]);
        if (e) throw e;
        if (element.self || element.nodeType === 9 || 
            (element === document.documentElement) || 
            (element.parentNode === element.ownerDocument.documentElement)) { 
            return new Sys.UI.Point(0, 0);
        }        
        
        var clientRect = element.getBoundingClientRect();
        if (!clientRect) {
            return new Sys.UI.Point(0,0);
        }
        var documentElement = element.ownerDocument.documentElement;
        var bodyElement = element.ownerDocument.body;
        var ex,
            offsetX = Math.round(clientRect.left) + (documentElement.scrollLeft || bodyElement.scrollLeft),
            offsetY = Math.round(clientRect.top) + (documentElement.scrollTop || bodyElement.scrollTop);
        if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
            try {
                var f = element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset = (f.frameBorder === "0" || f.frameBorder === "no") ? 2 : 0;
                    offsetX += offset;
                    offsetY += offset;
                }
            }
            catch(ex) {
            }
            if (Sys.Browser.version === 7 && !document.documentMode) {
                var body = document.body,
                    rect = body.getBoundingClientRect(),
                    zoom = (rect.right-rect.left) / body.clientWidth;
                zoom = Math.round(zoom * 100);
                zoom = (zoom - zoom % 5) / 100;
                if (!isNaN(zoom) && (zoom !== 1)) {
                    offsetX = Math.round(offsetX / zoom);
                    offsetY = Math.round(offsetY / zoom);
                }
            }        
            if ((document.documentMode || 0) < 8) {
                offsetX -= documentElement.clientLeft;
                offsetY -= documentElement.clientTop;
            }
        }
        return new Sys.UI.Point(offsetX, offsetY);
    }
}
else if (Sys.Browser.agent === Sys.Browser.Safari) {
    Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
        /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
        /// <param name="element" domElement="true"></param>
        /// <returns type="Sys.UI.Point"></returns>
        var e = Function._validateParams(arguments, [
            {name: "element", domElement: true}
        ]);
        if (e) throw e;
        if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);
        var offsetX = 0, offsetY = 0,
            parent,
            previous = null,
            previousStyle = null,
            currentStyle;
        for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
            currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
            var tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
            if ((parent.offsetLeft || parent.offsetTop) &&
                ((tagName !== "BODY") || (!previousStyle || previousStyle.position !== "absolute"))) {
                offsetX += parent.offsetLeft;
                offsetY += parent.offsetTop;
            }
            if (previous && Sys.Browser.version >= 3) {
                offsetX += parseInt(currentStyle.borderLeftWidth);
                offsetY += parseInt(currentStyle.borderTopWidth);
            }
        }
        currentStyle = Sys.UI.DomElement._getCurrentStyle(element);
        var elementPosition = currentStyle ? currentStyle.position : null;
        if (!elementPosition || (elementPosition !== "absolute")) {
            for (parent = element.parentNode; parent; parent = parent.parentNode) {
                tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
                if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {
                    offsetX -= (parent.scrollLeft || 0);
                    offsetY -= (parent.scrollTop || 0);
                }
                currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                var parentPosition = currentStyle ? currentStyle.position : null;
                if (parentPosition && (parentPosition === "absolute")) break;
            }
        }
        return new Sys.UI.Point(offsetX, offsetY);
    }
}
else {
    Sys.UI.DomElement.getLocation = function Sys$UI$DomElement$getLocation(element) {
        /// <summary locid="M:J#Sys.UI.DomElement.getLocation" />
        /// <param name="element" domElement="true"></param>
        /// <returns type="Sys.UI.Point"></returns>
        var e = Function._validateParams(arguments, [
            {name: "element", domElement: true}
        ]);
        if (e) throw e;
        if ((element.window && (element.window === element)) || element.nodeType === 9) return new Sys.UI.Point(0,0);
        var offsetX = 0, offsetY = 0,
            parent,
            previous = null,
            previousStyle = null,
            currentStyle = null;
        for (parent = element; parent; previous = parent, previousStyle = currentStyle, parent = parent.offsetParent) {
            var tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
            currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
            if ((parent.offsetLeft || parent.offsetTop) &&
                !((tagName === "BODY") &&
                (!previousStyle || previousStyle.position !== "absolute"))) {
                offsetX += parent.offsetLeft;
                offsetY += parent.offsetTop;
            }
            if (previous !== null && currentStyle) {
                if ((tagName !== "TABLE") && (tagName !== "TD") && (tagName !== "HTML")) {
                    offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                    offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                }
                if (tagName === "TABLE" &&
                    (currentStyle.position === "relative" || currentStyle.position === "absolute")) {
                    offsetX += parseInt(currentStyle.marginLeft) || 0;
                    offsetY += parseInt(currentStyle.marginTop) || 0;
                }
            }
        }
        currentStyle = Sys.UI.DomElement._getCurrentStyle(element);
        var elementPosition = currentStyle ? currentStyle.position : null;
        if (!elementPosition || (elementPosition !== "absolute")) {
            for (parent = element.parentNode; parent; parent = parent.parentNode) {
                tagName = parent.tagName ? parent.tagName.toUpperCase() : null;
                if ((tagName !== "BODY") && (tagName !== "HTML") && (parent.scrollLeft || parent.scrollTop)) {
                    offsetX -= (parent.scrollLeft || 0);
                    offsetY -= (parent.scrollTop || 0);
                    currentStyle = Sys.UI.DomElement._getCurrentStyle(parent);
                    if (currentStyle) {
                        offsetX += parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY += parseInt(currentStyle.borderTopWidth) || 0;
                    }
                }
            }
        }
        return new Sys.UI.Point(offsetX, offsetY);
    }
}
Sys.UI.DomElement.isDomElement = function Sys$UI$DomElement$isDomElement(obj) {
    /// <summary locid="M:J#Sys.UI.DomElement.isDomElement" />
    /// <param name="obj"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "obj"}
    ]);
    if (e) throw e;
    return Sys._isDomElement(obj);
}
Sys.UI.DomElement.removeCssClass = function Sys$UI$DomElement$removeCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.removeCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    var currentClassName = ' ' + element.className + ' ';
    var index = currentClassName.indexOf(' ' + className + ' ');
    if (index >= 0) {
        element.className = (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, currentClassName.length)).trim();
    }
}
Sys.UI.DomElement.resolveElement = function Sys$UI$DomElement$resolveElement(elementOrElementId, containerElement) {
    /// <summary locid="M:J#Sys.UI.DomElement.resolveElement" />
    /// <param name="elementOrElementId" mayBeNull="true"></param>
    /// <param name="containerElement" domElement="true" optional="true" mayBeNull="true"></param>
    /// <returns domElement="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "elementOrElementId", mayBeNull: true},
        {name: "containerElement", mayBeNull: true, domElement: true, optional: true}
    ]);
    if (e) throw e;
    var el = elementOrElementId;
    if (!el) return null;
    if (typeof(el) === "string") {
        el = Sys.UI.DomElement.getElementById(el, containerElement);
        if (!el) {
            throw Error.argument("elementOrElementId", String.format(Sys.Res.elementNotFound, elementOrElementId));
        }
    }
    else if(!Sys.UI.DomElement.isDomElement(el)) {
        throw Error.argument("elementOrElementId", Sys.Res.expectedElementOrId);
    }
    return el;
}
Sys.UI.DomElement.raiseBubbleEvent = function Sys$UI$DomElement$raiseBubbleEvent(source, args) {
    /// <summary locid="M:J#Sys.UI.DomElement.raiseBubbleEvent" />
    /// <param name="source" domElement="true"></param>
    /// <param name="args" type="Sys.EventArgs"></param>
    var e = Function._validateParams(arguments, [
        {name: "source", domElement: true},
        {name: "args", type: Sys.EventArgs}
    ]);
    if (e) throw e;
    var target = source;
    while (target) {
        var control = target.control;
        if (control && control.onBubbleEvent && control.raiseBubbleEvent) {
            Sys.UI.DomElement._raiseBubbleEventFromControl(control, source, args);
            return;
        }
        target = target.parentNode;
    }
}
Sys.UI.DomElement._raiseBubbleEventFromControl = function Sys$UI$DomElement$_raiseBubbleEventFromControl(control, source, args) {
    if (!control.onBubbleEvent(source, args)) {
        control._raiseBubbleEvent(source, args);
    }
}
Sys.UI.DomElement.setLocation = function Sys$UI$DomElement$setLocation(element, x, y) {
    /// <summary locid="M:J#Sys.UI.DomElement.setLocation" />
    /// <param name="element" domElement="true"></param>
    /// <param name="x" type="Number" integer="true"></param>
    /// <param name="y" type="Number" integer="true"></param>
    var e = 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 = element.style;
    style.position = 'absolute';
    style.left = x + "px";
    style.top = y + "px";
}
Sys.UI.DomElement.toggleCssClass = function Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <summary locid="M:J#Sys.UI.DomElement.toggleCssClass" />
    /// <param name="element" domElement="true"></param>
    /// <param name="className" type="String"></param>
    var e = 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 = function Sys$UI$DomElement$getVisibilityMode(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getVisibilityMode" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Sys.UI.VisibilityMode"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    return (element._visibilityMode === Sys.UI.VisibilityMode.hide) ?
        Sys.UI.VisibilityMode.hide :
        Sys.UI.VisibilityMode.collapse;
}
Sys.UI.DomElement.setVisibilityMode = function Sys$UI$DomElement$setVisibilityMode(element, value) {
    /// <summary locid="M:J#Sys.UI.DomElement.setVisibilityMode" />
    /// <param name="element" domElement="true"></param>
    /// <param name="value" type="Sys.UI.VisibilityMode"></param>
    var e = 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 !== value) {
        element._visibilityMode = value;
        if (Sys.UI.DomElement.getVisible(element) === false) {
            if (element._visibilityMode === Sys.UI.VisibilityMode.hide) {
                element.style.display = element._oldDisplayMode;
            }
            else {
                element.style.display = 'none';
            }
        }
        element._visibilityMode = value;
    }
}
Sys.UI.DomElement.getVisible = function Sys$UI$DomElement$getVisible(element) {
    /// <summary locid="M:J#Sys.UI.DomElement.getVisible" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);
    if (!style) return true;
    return (style.visibility !== 'hidden') && (style.display !== 'none');
}
Sys.UI.DomElement.setVisible = function Sys$UI$DomElement$setVisible(element, value) {
    /// <summary locid="M:J#Sys.UI.DomElement.setVisible" />
    /// <param name="element" domElement="true"></param>
    /// <param name="value" type="Boolean"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Boolean}
    ]);
    if (e) throw e;
    if (value !== Sys.UI.DomElement.getVisible(element)) {
        Sys.UI.DomElement._ensureOldDisplayMode(element);
        element.style.visibility = value ? 'visible' : 'hidden';
        if (value || (element._visibilityMode === Sys.UI.VisibilityMode.hide)) {
            element.style.display = element._oldDisplayMode;
        }
        else {
            element.style.display = 'none';
        }
    }
}
Sys.UI.DomElement._ensureOldDisplayMode = function Sys$UI$DomElement$_ensureOldDisplayMode(element) {
    if (!element._oldDisplayMode) {
        var style = element.currentStyle || Sys.UI.DomElement._getCurrentStyle(element);
        element._oldDisplayMode = style ? style.display : null;
        if (!element._oldDisplayMode || element._oldDisplayMode === '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 = 'block';
                    break;
                case 'LI':
                    element._oldDisplayMode = 'list-item';
                    break;
                default:
                    element._oldDisplayMode = 'inline';
            }
        }
    }
}
Sys.UI.DomElement._getWindow = function Sys$UI$DomElement$_getWindow(element) {
    var doc = element.ownerDocument || element.document || element;
    return doc.defaultView || doc.parentWindow;
}
Sys.UI.DomElement._getCurrentStyle = function Sys$UI$DomElement$_getCurrentStyle(element) {
    if (element.nodeType === 3) return null;
    var w = Sys.UI.DomElement._getWindow(element);
    if (element.documentElement) element = element.documentElement;
    var computedStyle = (w && (element !== w) && w.getComputedStyle) ?
        w.getComputedStyle(element, null) :
        element.currentStyle || element.style;
    if (!computedStyle && (Sys.Browser.agent === Sys.Browser.Safari) && element.style) {
        var oldDisplay = element.style.display;
        var oldPosition = element.style.position;
        element.style.position = 'absolute';
        element.style.display = 'block';
        var style = w.getComputedStyle(element, null);
        element.style.display = oldDisplay;
        element.style.position = oldPosition;
        computedStyle = {};
        for (var n in style) {
            computedStyle[n] = style[n];
        }
        computedStyle.display = 'none';
    }
    return computedStyle;
}
 
Sys.IContainer = function Sys$IContainer() {
    throw Error.notImplemented();
}
    function Sys$IContainer$addComponent(component) {
        /// <summary locid="M:J#Sys.IContainer.addComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <summary locid="M:J#Sys.IContainer.removeComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <summary locid="M:J#Sys.IContainer.findComponent" />
        /// <param name="id" type="String"></param>
        /// <returns type="Sys.Component"></returns>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <summary locid="M:J#Sys.IContainer.getComponents" />
        /// <returns type="Array" elementType="Sys.Component"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype = {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");
 
Sys.ApplicationLoadEventArgs = function Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <summary locid="M:J#Sys.ApplicationLoadEventArgs.#ctor" />
    /// <param name="components" type="Array" elementType="Sys.Component"></param>
    /// <param name="isPartialLoad" type="Boolean"></param>
    var e = Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;
    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components = components;
    this._isPartialLoad = isPartialLoad;
}
 
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type="Array" elementType="Sys.Component" locid="P:J#Sys.ApplicationLoadEventArgs.components"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type="Boolean" locid="P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype = {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs', Sys.EventArgs);
 
Sys._Application = function Sys$_Application() {
    /// <summary locid="M:J#Sys.Application.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys._Application.initializeBase(this);
    this._disposableObjects = [];
    this._components = {};
    this._createdComponents = [];
    this._secondPassComponents = [];
    this._unloadHandlerDelegate = Function.createDelegate(this, this._unloadHandler);
    Sys.UI.DomEvent.addHandler(window, "unload", this._unloadHandlerDelegate);
    this._domReady();
}
    function Sys$_Application$get_isCreatingComponents() {
        /// <value type="Boolean" locid="P:J#Sys.Application.isCreatingComponents"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$get_isDisposing() {
        /// <value type="Boolean" locid="P:J#Sys.Application.isDisposing"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._disposing;
    }
    function Sys$_Application$add_init(handler) {
        /// <summary locid="E:J#Sys.Application.init" />
        var e = 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 = 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="E:J#Sys.Application.load" />
        var e = 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 = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_unload(handler) {
        /// <summary locid="E:J#Sys.Application.unload" />
        var e = 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 = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <summary locid="M:J#Sys.Application.addComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id = component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, id));
        this._components[id] = component;
    }
    function Sys$_Application$beginCreateComponents() {
        /// <summary locid="M:J#Sys.Application.beginCreateComponents" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._creatingComponents = true;
    }
    function Sys$_Application$dispose() {
        /// <summary locid="M:J#Sys.Application.dispose" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._disposing) {
            this._disposing = true;
            if (this._timerCookie) {
                window.clearTimeout(this._timerCookie);
                delete this._timerCookie;
            }
            if (this._endRequestHandler) {
                Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);
                delete this._endRequestHandler;
            }
            if (this._beginRequestHandler) {
                Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);
                delete this._beginRequestHandler;
            }
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler = this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects = Array.clone(this._disposableObjects);
            for (var i = 0, l = disposableObjects.length; i < l; i++) {
                var object = disposableObjects[i];
                if (typeof(object) !== "undefined") {
                    object.dispose();
                }
            }
            Array.clear(this._disposableObjects);
            Sys.UI.DomEvent.removeHandler(window, "unload", this._unloadHandlerDelegate);
            if (Sys._ScriptLoader) {
                var sl = Sys._ScriptLoader.getInstance();
                if(sl) {
                    sl.dispose();
                }
            }
            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$disposeElement(element, childNodesOnly) {
        /// <summary locid="M:J#Sys._Application.disposeElement" />
        /// <param name="element"></param>
        /// <param name="childNodesOnly" type="Boolean"></param>
        var e = Function._validateParams(arguments, [
            {name: "element"},
            {name: "childNodesOnly", type: Boolean}
        ]);
        if (e) throw e;
        if (element.nodeType === 1) {
            var i, allElements = element.getElementsByTagName("*"),
                length = allElements.length,
                children = new Array(length);
            for (i = 0; i < length; i++) {
                children[i] = allElements[i];
            }
            for (i = length - 1; i >= 0; i--) {
                var child = children[i];
                var d = child.dispose;
                if (d && typeof(d) === "function") {
                    child.dispose();
                }
                else {
                    var c = child.control;
                    if (c && typeof(c.dispose) === "function") {
                        c.dispose();
                    }
                }
                var list = child._behaviors;
                if (list) {
                    this._disposeComponents(list);
                }
                list = child._components;
                if (list) {
                    this._disposeComponents(list);
                    child._components = null;
                }
            }
            if (!childNodesOnly) {
                var d = element.dispose;
                if (d && typeof(d) === "function") {
                    element.dispose();
                }
                else {
                    var c = element.control;
                    if (c && typeof(c.dispose) === "function") {
                        c.dispose();
                    }
                }
                var list = element._behaviors;
                if (list) {
                    this._disposeComponents(list);
                }
                list = element._components;
                if (list) {
                    this._disposeComponents(list);
                    element._components = null;
                }
            }
        }
    }
    function Sys$_Application$endCreateComponents() {
        /// <summary locid="M:J#Sys.Application.endCreateComponents" />
        if (arguments.length !== 0) throw Error.parameterCount();
        var components = this._secondPassComponents;
        for (var i = 0, l = components.length; i < l; i++) {
            var component = components[i].component;
            Sys$Component$_setReferences(component, components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents = [];
        this._creatingComponents = false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <summary locid="M:J#Sys.Application.findComponent" />
        /// <param name="id" type="String"></param>
        /// <param name="parent" optional="true" mayBeNull="true"></param>
        /// <returns type="Sys.Component" mayBeNull="true"></returns>
        var e = 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="M:J#Sys.Application.getComponents" />
        /// <returns type="Array" elementType="Sys.Component"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        var res = [];
        var components = this._components;
        for (var name in components) {
            res[res.length] = components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        /// <summary locid="M:J#Sys.Application.initialize" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if(!this.get_isInitialized() && !this._disposing) {
            Sys._Application.callBaseMethod(this, 'initialize');
            this._raiseInit();
            if (this.get_stateString) {
                if (Sys.WebForms && Sys.WebForms.PageRequestManager) {
                    this._beginRequestHandler = Function.createDelegate(this, this._onPageRequestManagerBeginRequest);
                    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler);
                    this._endRequestHandler = Function.createDelegate(this, this._onPageRequestManagerEndRequest);
                    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler);
                }
                var loadedEntry = this.get_stateString();
                if (loadedEntry !== this._currentEntry) {
                    this._navigate(loadedEntry);
                }
                else {
                    this._ensureHistory();
                }
            }
            this.raiseLoad();
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        /// <summary locid="M:J#Sys.Application.notifyScriptLoaded" />
        if (arguments.length !== 0) throw Error.parameterCount();
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <summary locid="M:J#Sys.Application.registerDisposableObject" />
        /// <param name="object" type="Sys.IDisposable"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            var objects = this._disposableObjects,
                i = objects.length;
            objects[i] = object;
            object.__msdisposeindex = i;
        }
    }
    function Sys$_Application$raiseLoad() {
        /// <summary locid="M:J#Sys.Application.raiseLoad" />
        if (arguments.length !== 0) throw Error.parameterCount();
        var h = this.get_events().getHandler("load");
        var args = new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), !!this._loaded);
        this._loaded = true;
        if (h) {
            h(this, args);
        }
        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents = [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <summary locid="M:J#Sys.Application.removeComponent" />
        /// <param name="component" type="Sys.Component"></param>
        var e = Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id = component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <summary locid="M:J#Sys.Application.unregisterDisposableObject" />
        /// <param name="object" type="Sys.IDisposable"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            var i = object.__msdisposeindex;
            if (typeof(i) === "number") {
                var disposableObjects = this._disposableObjects;
                delete disposableObjects[i];
                delete object.__msdisposeindex;
                if (++this._deleteCount > 1000) {
                    var newArray = [];
                    for (var j = 0, l = disposableObjects.length; j < l; j++) {
                        object = disposableObjects[j];
                        if (typeof(object) !== "undefined") {
                            object.__msdisposeindex = newArray.length;
                            newArray.push(object);
                        }
                    }
                    this._disposableObjects = newArray;
                    this._deleteCount = 0;
                }
            }
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, references) {
        this._secondPassComponents[this._secondPassComponents.length] = {component: component, references: references};
    }
    function Sys$_Application$_disposeComponents(list) {
        if (list) {
            for (var i = list.length - 1; i >= 0; i--) {
                var item = list[i];
                if (typeof(item.dispose) === "function") {
                    item.dispose();
                }
            }
        }
    }
    function Sys$_Application$_domReady() {
        var check, er, app = this;
        function init() { app.initialize(); }
        var onload = function() {
            Sys.UI.DomEvent.removeHandler(window, "load", onload);
            init();
        }
        Sys.UI.DomEvent.addHandler(window, "load", onload);
        
        if (document.addEventListener) {
            try {
                document.addEventListener("DOMContentLoaded", check = function() {
                    document.removeEventListener("DOMContentLoaded", check, false);
                    init();
                }, false);
            }
            catch (er) { }
        }
        else if (document.attachEvent) {
            if ((window == window.top) && document.documentElement.doScroll) {
                var timeout, el = document.createElement("div");
                check = function() {
                    try {
                        el.doScroll("left");
                    }
                    catch (er) {
                        timeout = window.setTimeout(check, 0);
                        return;
                    }
                    el = null;
                    init();
                }
                check();
            }
            else {
		document.attachEvent("onreadystatechange", check = function() {
                    if (document.readyState === "complete") {
                        document.detachEvent("onreadystatechange", check);
                        init();
                    }
                });
            }
        }
    }
    function Sys$_Application$_raiseInit() {
        var handler = this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype = {
    _creatingComponents: false,
    _disposing: false,
    _deleteCount: 0,
    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    get_isDisposing: Sys$_Application$get_isDisposing,
    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_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    disposeElement: Sys$_Application$disposeElement,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    unregisterDisposableObject: Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: Sys$_Application$_addComponentToSecondPass,
    _disposeComponents: Sys$_Application$_disposeComponents,
    _domReady: Sys$_Application$_domReady,
    _raiseInit: Sys$_Application$_raiseInit,
    _unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application', Sys.Component, Sys.IContainer);
Sys.Application = new Sys._Application();
var $find = Sys.Application.findComponent;
 
Sys.UI.Behavior = function Sys$UI$Behavior(element) {
    /// <summary locid="M:J#Sys.UI.Behavior.#ctor" />
    /// <param name="element" domElement="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    Sys.UI.Behavior.initializeBase(this);
    this._element = element;
    var behaviors = element._behaviors;
    if (!behaviors) {
        element._behaviors = [this];
    }
    else {
        behaviors[behaviors.length] = this;
    }
}
    function Sys$UI$Behavior$get_element() {
        /// <value domElement="true" locid="P:J#Sys.UI.Behavior.element"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type="String" locid="P:J#Sys.UI.Behavior.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        var baseId = 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="String" locid="P:J#Sys.UI.Behavior.name"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name = Object.getTypeName(this);
        var i = name.lastIndexOf('.');
        if (i !== -1) name = name.substr(i + 1);
        if (!this.get_isInitialized()) this._name = name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if ((value === '') || (value.charAt(0) === ' ') || (value.charAt(value.length - 1) === ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !== 'undefined')
            throw Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, value));
        if (this.get_isInitialized()) throw Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name = value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name = this.get_name();
        if (name) this._element[name] = this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        var e = this._element;
        if (e) {
            var name = this.get_name();
            if (name) {
                e[name] = null;
            }
            var behaviors = e._behaviors;
            Array.remove(behaviors, this);
            if (behaviors.length === 0) {
                e._behaviors = null;
            }
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype = {
    _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 = function Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorByName" />
    /// <param name="element" domElement="true"></param>
    /// <param name="name" type="String"></param>
    /// <returns type="Sys.UI.Behavior" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    var b = element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}
Sys.UI.Behavior.getBehaviors = function Sys$UI$Behavior$getBehaviors(element) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviors" />
    /// <param name="element" domElement="true"></param>
    /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}
Sys.UI.Behavior.getBehaviorsByType = function Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <summary locid="M:J#Sys.UI.Behavior.getBehaviorsByType" />
    /// <param name="element" domElement="true"></param>
    /// <param name="type" type="Type"></param>
    /// <returns type="Array" elementType="Sys.UI.Behavior"></returns>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;
    var behaviors = element._behaviors;
    var results = [];
    if (behaviors) {
        for (var i = 0, l = behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] = behaviors[i];
            }
        }
    }
    return results;
}
 
Sys.UI.VisibilityMode = function Sys$UI$VisibilityMode() {
    /// <summary locid="M:J#Sys.UI.VisibilityMode.#ctor" />
    /// <field name="hide" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.hide"></field>
    /// <field name="collapse" type="Number" integer="true" static="true" locid="F:J#Sys.UI.VisibilityMode.collapse"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.VisibilityMode.prototype = {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");
 
Sys.UI.Control = function Sys$UI$Control(element) {
    /// <summary locid="M:J#Sys.UI.Control.#ctor" />
    /// <param name="element" domElement="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    if (element.control !== null && typeof(element.control) !== 'undefined') throw Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);
    this._element = element;
    element.control = this;
    var role = this.get_role();
    if (role) {
        element.setAttribute("role", role);
    }
}
    function Sys$UI$Control$get_element() {
        /// <value domElement="true" locid="P:J#Sys.UI.Control.element"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type="String" locid="P:J#Sys.UI.Control.id"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e = 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="Sys.UI.Control" locid="P:J#Sys.UI.Control.parent"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._parent) return this._parent;
        if (!this._element) return null;
        
        var parentElement = this._element.parentNode;
        while (parentElement) {
            if (parentElement.control) {
                return parentElement.control;
            }
            parentElement = parentElement.parentNode;
        }
        return null;
    }
    function Sys$UI$Control$set_parent(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Sys.UI.Control}]);
        if (e) throw e;
        if (!this._element) throw Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        var parents = [this];
        var current = value;
        while (current) {
            if (Array.contains(parents, current)) throw Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] = current;
            current = current.get_parent();
        }
        this._parent = value;
    }
    function Sys$UI$Control$get_role() {
        /// <value type="String" locid="P:J#Sys.UI.Control.role"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return null;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type="Sys.UI.VisibilityMode" locid="P:J#Sys.UI.Control.visibilityMode"></value>
        if (arguments.length !== 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 = 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="Boolean" locid="P:J#Sys.UI.Control.visible"></value>
        if (arguments.length !== 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 = 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="M:J#Sys.UI.Control.addCssClass" />
        /// <param name="className" type="String"></param>
        var e = 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 = null;
            delete this._element;
        }
        if (this._parent) delete this._parent;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <summary locid="M:J#Sys.UI.Control.onBubbleEvent" />
        /// <param name="source"></param>
        /// <param name="args" type="Sys.EventArgs"></param>
        /// <returns type="Boolean"></returns>
        var e = 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="M:J#Sys.UI.Control.raiseBubbleEvent" />
        /// <param name="source"></param>
        /// <param name="args" type="Sys.EventArgs"></param>
        var e = Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        this._raiseBubbleEvent(source, args);
    }
    function Sys$UI$Control$_raiseBubbleEvent(source, args) {
        var currentTarget = this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget = currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <summary locid="M:J#Sys.UI.Control.removeCssClass" />
        /// <param name="className" type="String"></param>
        var e = 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="M:J#Sys.UI.Control.toggleCssClass" />
        /// <param name="className" type="String"></param>
        var e = 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 = {
    _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_role: Sys$UI$Control$get_role,
    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,
    _raiseBubbleEvent: Sys$UI$Control$_raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);
//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxCore.js
// Microsoft AJAX Framework Core Type System and Extensions.
 
Function.__typeName = 'Function';
Function.__class = true;
Function.createCallback = function Function$createCallback(method, context) {
    /// <summary locid="M:J#Function.createCallback" />
    /// <param name="method" type="Function"></param>
    /// <param name="context" mayBeNull="true"></param>
    /// <returns type="Function"></returns>
    var e = Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;
    return function() {
        var l = arguments.length;
        if (l > 0) {
            var args = [];
            for (var i = 0; i < l; i++) {
                args[i] = arguments[i];
            }
            args[l] = context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}
Function.createDelegate = function Function$createDelegate(instance, method) {
    /// <summary locid="M:J#Function.createDelegate" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <param name="method" type="Function"></param>
    /// <returns type="Function"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;
    return function() {
        return method.apply(instance, arguments);
    }
}
Function.emptyFunction = Function.emptyMethod = function Function$emptyMethod() {
    /// <summary locid="M:J#Function.emptyMethod" />
}
Function.validateParameters = function Function$validateParameters(parameters, expectedParameters, validateParameterCount) {
    /// <summary locid="M:J#Function.validateParameters" />
    /// <param name="parameters"></param>
    /// <param name="expectedParameters"></param>
    /// <param name="validateParameterCount" type="Boolean" optional="true"></param>
    /// <returns type="Error" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "parameters"},
        {name: "expectedParameters"},
        {name: "validateParameterCount", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    return Function._validateParams(parameters, expectedParameters, validateParameterCount);
}
Function._validateParams = function Function$_validateParams(params, expectedParams, validateParameterCount) {
    var e, expectedLength = expectedParams.length;
    validateParameterCount = validateParameterCount || (typeof(validateParameterCount) === "undefined");
    e = Function._validateParameterCount(params, expectedParams, validateParameterCount);
    if (e) {
        e.popStackFrame();
        return e;
    }
    for (var i = 0, l = params.length; i < l; i++) {
        var expectedParam = expectedParams[Math.min(i, expectedLength - 1)],
            paramName = expectedParam.name;
        if (expectedParam.parameterArray) {
            paramName += "[" + (i - expectedLength + 1) + "]";
        }
        else if (!validateParameterCount && (i >= expectedLength)) {
            break;
        }
        e = Function._validateParameter(params[i], expectedParam, paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
Function._validateParameterCount = function Function$_validateParameterCount(params, expectedParams, validateParameterCount) {
    var i, error,
        expectedLen = expectedParams.length,
        actualLen = params.length;
    if (actualLen < expectedLen) {
        var minParams = expectedLen;
        for (i = 0; i < expectedLen; i++) {
            var param = expectedParams[i];
            if (param.optional || param.parameterArray) {
                minParams--;
            }
        }        
        if (actualLen < minParams) {
            error = true;
        }
    }
    else if (validateParameterCount && (actualLen > expectedLen)) {
        error = true;      
        for (i = 0; i < expectedLen; i++) {
            if (expectedParams[i].parameterArray) {
                error = false; 
                break;
            }
        }  
    }
    if (error) {
        var e = Error.parameterCount();
        e.popStackFrame();
        return e;
    }
    return null;
}
Function._validateParameter = function Function$_validateParameter(param, expectedParam, paramName) {
    var e,
        expectedType = expectedParam.type,
        expectedInteger = !!expectedParam.integer,
        expectedDomElement = !!expectedParam.domElement,
        mayBeNull = !!expectedParam.mayBeNull;
    e = Function._validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }
    var expectedElementType = expectedParam.elementType,
        elementMayBeNull = !!expectedParam.elementMayBeNull;
    if (expectedType === Array && typeof(param) !== "undefined" && param !== null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger = !!expectedParam.elementInteger,
            expectedElementDomElement = !!expectedParam.elementDomElement;
        for (var i=0; i < param.length; i++) {
            var elem = param[i];
            e = Function._validateParameterType(elem, expectedElementType,
                expectedElementInteger, expectedElementDomElement, elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }
    return null;
}
Function._validateParameterType = function Function$_validateParameterType(param, expectedType, expectedInteger, expectedDomElement, mayBeNull, paramName) {
    var e, i;
    if (typeof(param) === "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e = Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (param === null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e = Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && expectedType.__enum) {
        if (typeof(param) !== 'number') {
            e = Error.argumentType(paramName, Object.getType(param), expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) === 0) {
            var values = expectedType.prototype;
            if (!expectedType.__flags || (param === 0)) {
                for (i in values) {
                    if (values[i] === param) return null;
                }
            }
            else {
                var v = param;
                for (i in values) {
                    var vali = values[i];
                    if (vali === 0) continue;
                    if ((vali & param) === vali) {
                        v -= vali;
                    }
                    if (v === 0) return null;
                }
            }
        }
        e = Error.argumentOutOfRange(paramName, param, String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }
    if (expectedDomElement && (!Sys._isDomElement(param) || (param.nodeType === 3))) {
        e = Error.argument(paramName, Sys.Res.argumentDomElement);
        e.popStackFrame();
        return e;
    }
    if (expectedType && !Sys._isInstanceOfType(expectedType, param)) {
        e = Error.argumentType(paramName, Object.getType(param), expectedType);
        e.popStackFrame();
        return e;
    }
    if (expectedType === Number && expectedInteger) {
        if ((param % 1) !== 0) {
            e = Error.argumentOutOfRange(paramName, param, Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
 
Error.__typeName = 'Error';
Error.__class = true;
Error.create = function Error$create(message, errorInfo) {
    /// <summary locid="M:J#Error.create" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="errorInfo" optional="true" mayBeNull="true"></param>
    /// <returns type="Error"></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var err = new Error(message);
    err.message = message;
    if (errorInfo) {
        for (var v in errorInfo) {
            err[v] = errorInfo[v];
        }
    }
    err.popStackFrame();
    return err;
}
Error.argument = function Error$argument(paramName, message) {
    /// <summary locid="M:J#Error.argument" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentException: " + (message ? message : Sys.Res.argument);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, { name: "Sys.ArgumentException", paramName: paramName });
    err.popStackFrame();
    return err;
}
Error.argumentNull = function Error$argumentNull(paramName, message) {
    /// <summary locid="M:J#Error.argumentNull" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentNullException: " + (message ? message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, { name: "Sys.ArgumentNullException", paramName: paramName });
    err.popStackFrame();
    return err;
}
Error.argumentOutOfRange = function Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <summary locid="M:J#Error.argumentOutOfRange" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="actualValue" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentOutOfRangeException: " + (message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    if (typeof(actualValue) !== "undefined" && actualValue !== null) {
        displayMessage += "\n" + String.format(Sys.Res.actualValue, actualValue);
    }
    var err = Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    err.popStackFrame();
    return err;
}
Error.argumentType = function Error$argumentType(paramName, actualType, expectedType, message) {
    /// <summary locid="M:J#Error.argumentType" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="actualType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="expectedType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage += message;
    }
    else if (actualType && expectedType) {
        displayMessage +=
            String.format(Sys.Res.argumentTypeWithTypes, actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage += Sys.Res.argumentType;
    }
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    err.popStackFrame();
    return err;
}
Error.argumentUndefined = function Error$argumentUndefined(paramName, message) {
    /// <summary locid="M:J#Error.argumentUndefined" />
    /// <param name="paramName" type="String" optional="true" mayBeNull="true"></param>
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = "Sys.ArgumentUndefinedException: " + (message ? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage += "\n" + String.format(Sys.Res.paramName, paramName);
    }
    var err = Error.create(displayMessage, { name: "Sys.ArgumentUndefinedException", paramName: paramName });
    err.popStackFrame();
    return err;
}
Error.format = function Error$format(message) {
    /// <summary locid="M:J#Error.format" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.FormatException: " + (message ? message : Sys.Res.format);
    var err = Error.create(displayMessage, {name: 'Sys.FormatException'});
    err.popStackFrame();
    return err;
}
Error.invalidOperation = function Error$invalidOperation(message) {
    /// <summary locid="M:J#Error.invalidOperation" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.InvalidOperationException: " + (message ? message : Sys.Res.invalidOperation);
    var err = Error.create(displayMessage, {name: 'Sys.InvalidOperationException'});
    err.popStackFrame();
    return err;
}
Error.notImplemented = function Error$notImplemented(message) {
    /// <summary locid="M:J#Error.notImplemented" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.NotImplementedException: " + (message ? message : Sys.Res.notImplemented);
    var err = Error.create(displayMessage, {name: 'Sys.NotImplementedException'});
    err.popStackFrame();
    return err;
}
Error.parameterCount = function Error$parameterCount(message) {
    /// <summary locid="M:J#Error.parameterCount" />
    /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage = "Sys.ParameterCountException: " + (message ? message : Sys.Res.parameterCount);
    var err = Error.create(displayMessage, {name: 'Sys.ParameterCountException'});
    err.popStackFrame();
    return err;
}
Error.prototype.popStackFrame = function Error$popStackFrame() {
    /// <summary locid="M:J#checkParam" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (typeof(this.stack) === "undefined" || this.stack === null ||
        typeof(this.fileName) === "undefined" || this.fileName === null ||
        typeof(this.lineNumber) === "undefined" || this.lineNumber === null) {
        return;
    }
    var stackFrames = this.stack.split("\n");
    var currentFrame = stackFrames[0];
    var pattern = this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !== "undefined" &&
          currentFrame !== null &&
          currentFrame.indexOf(pattern) === -1) {
        stackFrames.shift();
        currentFrame = stackFrames[0];
    }
    var nextFrame = stackFrames[1];
    if (typeof(nextFrame) === "undefined" || nextFrame === null) {
        return;
    }
    var nextFrameParts = nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) === "undefined" || nextFrameParts === null) {
        return;
    }
    this.fileName = nextFrameParts[1];
    this.lineNumber = parseInt(nextFrameParts[2]);
    stackFrames.shift();
    this.stack = stackFrames.join("\n");
}
 
Object.__typeName = 'Object';
Object.__class = true;
Object.getType = function Object$getType(instance) {
    /// <summary locid="M:J#Object.getType" />
    /// <param name="instance"></param>
    /// <returns type="Type"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    var ctor = instance.constructor;
    if (!ctor || (typeof(ctor) !== "function") || !ctor.__typeName || (ctor.__typeName === 'Object')) {
        return Object;
    }
    return ctor;
}
Object.getTypeName = function Object$getTypeName(instance) {
    /// <summary locid="M:J#Object.getTypeName" />
    /// <param name="instance"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    return Object.getType(instance).getName();
}
 
String.__typeName = 'String';
String.__class = true;
String.prototype.endsWith = function String$endsWith(suffix) {
    /// <summary locid="M:J#String.endsWith" />
    /// <param name="suffix" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(this.length - suffix.length) === suffix);
}
String.prototype.startsWith = function String$startsWith(prefix) {
    /// <summary locid="M:J#String.startsWith" />
    /// <param name="prefix" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(0, prefix.length) === prefix);
}
String.prototype.trim = function String$trim() {
    /// <summary locid="M:J#String.trim" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}
String.prototype.trimEnd = function String$trimEnd() {
    /// <summary locid="M:J#String.trimEnd" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}
String.prototype.trimStart = function String$trimStart() {
    /// <summary locid="M:J#String.trimStart" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}
String.format = function String$format(format, args) {
    /// <summary locid="M:J#String.format" />
    /// <param name="format" type="String"></param>
    /// <param name="args" parameterArray="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(false, arguments);
}
String._toFormattedString = function String$_toFormattedString(useLocale, args) {
    var result = '';
    var format = args[0];
    for (var i=0;;) {
        var open = format.indexOf('{', i);
        var close = format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
            result += format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
            if (format.charAt(close + 1) !== '}') {
                throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
            }
            result += format.slice(i, close + 1);
            i = close + 2;
            continue;
        }
        result += format.slice(i, open);
        i = open + 1;
        if (format.charAt(i) === '{') {
            result += '{';
            i++;
            continue;
        }
        if (close < 0) throw Error.argument('format', Sys.Res.stringFormatBraceMismatch);
        var brace = format.substring(i, close);
        var colonIndex = brace.indexOf(':');
        var argNumber = parseInt((colonIndex < 0)? brace : brace.substring(0, colonIndex), 10) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', Sys.Res.stringFormatInvalid);
        var argFormat = (colonIndex < 0)? '' : brace.substring(colonIndex + 1);
        var arg = args[argNumber];
        if (typeof(arg) === "undefined" || arg === null) {
            arg = '';
        }
        if (arg.toFormattedString) {
            result += arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result += arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result += arg.format(argFormat);
        }
        else
            result += arg.toString();
        i = close + 1;
    }
    return result;
}
 
Boolean.__typeName = 'Boolean';
Boolean.__class = true;
Boolean.parse = function Boolean$parse(value) {
    /// <summary locid="M:J#Boolean.parse" />
    /// <param name="value" type="String"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ], false);
    if (e) throw e;
    var v = value.trim().toLowerCase();
    if (v === 'false') return false;
    if (v === 'true') return true;
    throw Error.argumentOutOfRange('value', value, Sys.Res.boolTrueOrFalse);
}
 
Date.__typeName = 'Date';
Date.__class = true;
 
Number.__typeName = 'Number';
Number.__class = true;
 
RegExp.__typeName = 'RegExp';
RegExp.__class = true;
 
if (!window) this.window = this;
window.Type = Function;
Type.__fullyQualifiedIdentifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp = new RegExp("^[^.0-9 \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. \\s|,;:&*=+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");
Type.prototype.callBaseMethod = function Type$callBaseMethod(instance, name, baseArguments) {
    /// <summary locid="M:J#Type.callBaseMethod" />
    /// <param name="instance"></param>
    /// <param name="name" type="String"></param>
    /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>
    /// <returns></returns>
    var e = 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 = Sys._getBaseMethod(this, 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 = function Type$getBaseMethod(instance, name) {
    /// <summary locid="M:J#Type.getBaseMethod" />
    /// <param name="instance"></param>
    /// <param name="name" type="String"></param>
    /// <returns type="Function" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    return Sys._getBaseMethod(this, instance, name);
}
Type.prototype.getBaseType = function Type$getBaseType() {
    /// <summary locid="M:J#Type.getBaseType" />
    /// <returns type="Type" mayBeNull="true"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return (typeof(this.__baseType) === "undefined") ? null : this.__baseType;
}
Type.prototype.getInterfaces = function Type$getInterfaces() {
    /// <summary locid="M:J#Type.getInterfaces" />
    /// <returns type="Array" elementType="Type" mayBeNull="false" elementMayBeNull="false"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    var result = [];
    var type = this;
    while(type) {
        var interfaces = type.__interfaces;
        if (interfaces) {
            for (var i = 0, l = interfaces.length; i < l; i++) {
                var interfaceType = interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] = interfaceType;
                }
            }
        }
        type = type.__baseType;
    }
    return result;
}
Type.prototype.getName = function Type$getName() {
    /// <summary locid="M:J#Type.getName" />
    /// <returns type="String"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return (typeof(this.__typeName) === "undefined") ? "" : this.__typeName;
}
Type.prototype.implementsInterface = function Type$implementsInterface(interfaceType) {
    /// <summary locid="M:J#Type.implementsInterface" />
    /// <param name="interfaceType" type="Type"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var interfaceName = interfaceType.getName();
    var cache = this.__interfaceCache;
    if (cache) {
        var cacheEntry = cache[interfaceName];
        if (typeof(cacheEntry) !== 'undefined') return cacheEntry;
    }
    else {
        cache = this.__interfaceCache = {};
    }
    var baseType = this;
    while (baseType) {
        var interfaces = baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !== -1) {
                return cache[interfaceName] = true;
            }
        }
        baseType = baseType.__baseType;
    }
    return cache[interfaceName] = false;
}
Type.prototype.inheritsFrom = function Type$inheritsFrom(parentType) {
    /// <summary locid="M:J#Type.inheritsFrom" />
    /// <param name="parentType" type="Type"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var baseType = this.__baseType;
    while (baseType) {
        if (baseType === parentType) {
            return true;
        }
        baseType = baseType.__baseType;
    }
    return false;
}
Type.prototype.initializeBase = function Type$initializeBase(instance, baseArguments) {
    /// <summary locid="M:J#Type.initializeBase" />
    /// <param name="instance"></param>
    /// <param name="baseArguments" type="Array" optional="true" mayBeNull="true" elementMayBeNull="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (!Sys._isInstanceOfType(this, 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 = function Type$isImplementedBy(instance) {
    /// <summary locid="M:J#Type.isImplementedBy" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) === "undefined" || instance === null) return false;
    var instanceType = Object.getType(instance);
    return !!(instanceType.implementsInterface && instanceType.implementsInterface(this));
}
Type.prototype.isInstanceOfType = function Type$isInstanceOfType(instance) {
    /// <summary locid="M:J#Type.isInstanceOfType" />
    /// <param name="instance" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    return Sys._isInstanceOfType(this, instance);
}
Type.prototype.registerClass = function Type$registerClass(typeName, baseType, interfaceTypes) {
    /// <summary locid="M:J#Type.registerClass" />
    /// <param name="typeName" type="String"></param>
    /// <param name="baseType" type="Type" optional="true" mayBeNull="true"></param>
    /// <param name="interfaceTypes" parameterArray="true" type="Type"></param>
    /// <returns type="Type"></returns>
    var e = 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 = eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !== 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) === 'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', Sys.Res.baseNotAClass);
    this.prototype.constructor = this;
    this.__typeName = typeName;
    this.__class = true;
    if (baseType) {
        this.__baseType = baseType;
        this.__basePrototypePending = true;
    }
    Sys.__upperCaseTypes[typeName.toUpperCase()] = this;
    if (interfaceTypes) {
        this.__interfaces = [];
        this.resolveInheritance();
        for (var i = 2, l = arguments.length; i < l; i++) {
            var interfaceType = arguments[i];
            if (!interfaceType.__interface) throw Error.argument('interfaceTypes[' + (i - 2) + ']', Sys.Res.notAnInterface);
            for (var methodName in interfaceType.prototype) {
                var method = interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] = method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    Sys.__registeredTypes[typeName] = true;
    return this;
}
Type.prototype.registerInterface = function Type$registerInterface(typeName) {
    /// <summary locid="M:J#Type.registerInterface" />
    /// <param name="typeName" type="String"></param>
    /// <returns type="Type"></returns>
    var e = 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 = eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !== 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()] = this;
    this.prototype.constructor = this;
    this.__typeName = typeName;
    this.__interface = true;
    Sys.__registeredTypes[typeName] = true;
    return this;
}
Type.prototype.resolveInheritance = function Type$resolveInheritance() {
    /// <summary locid="M:J#Type.resolveInheritance" />
    if (arguments.length !== 0) throw Error.parameterCount();
    if (this.__basePrototypePending) {
        var baseType = this.__baseType;
        baseType.resolveInheritance();
        for (var memberName in baseType.prototype) {
            var memberValue = baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] = memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}
Type.getRootNamespaces = function Type$getRootNamespaces() {
    /// <summary locid="M:J#Type.getRootNamespaces" />
    /// <returns type="Array"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    return Array.clone(Sys.__rootNamespaces);
}
Type.isClass = function Type$isClass(type) {
    /// <summary locid="M:J#Type.isClass" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__class;
}
Type.isInterface = function Type$isInterface(type) {
    /// <summary locid="M:J#Type.isInterface" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__interface;
}
Type.isNamespace = function Type$isNamespace(object) {
    /// <summary locid="M:J#Type.isNamespace" />
    /// <param name="object" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(object) === 'undefined') || (object === null)) return false;
    return !!object.__namespace;
}
Type.parse = function Type$parse(typeName, ns) {
    /// <summary locid="M:J#Type.parse" />
    /// <param name="typeName" type="String" mayBeNull="true"></param>
    /// <param name="ns" optional="true" mayBeNull="true"></param>
    /// <returns type="Type" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var fn;
    if (ns) {
        fn = Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses = {};
    }
    fn = Type.__htClasses[typeName];
    if (!fn) {
        fn = eval(typeName);
        if (typeof(fn) !== 'function') throw Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] = fn;
    }
    return fn;
}
Type.registerNamespace = function Type$registerNamespace(namespacePath) {
    /// <summary locid="M:J#Type.registerNamespace" />
    /// <param name="namespacePath" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;
    Type._registerNamespace(namespacePath);
}
Type._registerNamespace = function Type$_registerNamespace(namespacePath) {
    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject = window;
    var namespaceParts = namespacePath.split('.');
    for (var i = 0; i < namespaceParts.length; i++) {
        var currentPart = namespaceParts[i];
        var ns = rootObject[currentPart];
        var nsType = typeof(ns);
        if ((nsType !== "undefined") && (ns !== null)) {
            if (nsType === "function") {
                throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsClass, namespaceParts.splice(0, i + 1).join('.')));
            }
            if ((typeof(ns) !== "object") || (ns instanceof Array)) {
                throw Error.invalidOperation(String.format(Sys.Res.namespaceContainsNonObject, namespaceParts.splice(0, i + 1).join('.')));
            }
        }
        if (!ns) {
            ns = rootObject[currentPart] = {};
        }
        if (!ns.__namespace) {
            if ((i === 0) && (namespacePath !== "Sys")) {
                Sys.__rootNamespaces[Sys.__rootNamespaces.length] = ns;
            }
            ns.__namespace = true;
            ns.__typeName = namespaceParts.slice(0, i + 1).join('.');
            var parsedName;
            try {
                parsedName = eval(ns.__typeName);
            }
            catch(e) {
                parsedName = null;
            }
            if (parsedName !== ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
            }
            ns.getName = function ns$getName() {return this.__typeName;}
        }
        rootObject = ns;
    }
}
Type._checkDependency = function Type$_checkDependency(dependency, featureName) {
    var scripts = Type._registerScript._scripts, isDependent = (scripts ? (!!scripts[dependency]) : false);
    if ((typeof(featureName) !== 'undefined') && !isDependent) {
        throw Error.invalidOperation(String.format(Sys.Res.requiredScriptReferenceNotIncluded, 
        featureName, dependency));
    }
    return isDependent;
}
Type._registerScript = function Type$_registerScript(scriptName, dependencies) {
    var scripts = Type._registerScript._scripts;
    if (!scripts) {
        Type._registerScript._scripts = scripts = {};
    }
    if (scripts[scriptName]) {
        throw Error.invalidOperation(String.format(Sys.Res.scriptAlreadyLoaded, scriptName));
    }
    scripts[scriptName] = true;
    if (dependencies) {
        for (var i = 0, l = dependencies.length; i < l; i++) {
            var dependency = dependencies[i];
            if (!Type._checkDependency(dependency)) {
                throw Error.invalidOperation(String.format(Sys.Res.scriptDependencyNotFound, scriptName, dependency));
            }
        }
    }
}
Type._registerNamespace("Sys");
Sys.__upperCaseTypes = {};
Sys.__rootNamespaces = [Sys];
Sys.__registeredTypes = {};
Sys._isInstanceOfType = function Sys$_isInstanceOfType(type, instance) {
    if (typeof(instance) === "undefined" || instance === null) return false;
    if (instance instanceof type) return true;
    var instanceType = Object.getType(instance);
    return !!(instanceType === type) ||
           (instanceType.inheritsFrom && instanceType.inheritsFrom(type)) ||
           (instanceType.implementsInterface && instanceType.implementsInterface(type));
}
Sys._getBaseMethod = function Sys$_getBaseMethod(type, instance, name) {
    if (!Sys._isInstanceOfType(type, instance)) throw Error.argumentType('instance', Object.getType(instance), type);
    var baseType = type.getBaseType();
    if (baseType) {
        var baseMethod = baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }
    return null;
}
Sys._isDomElement = function Sys$_isDomElement(obj) {
    var val = false;
    if (typeof (obj.nodeType) !== 'number') {
        var doc = obj.ownerDocument || obj.document || obj;
        if (doc != obj) {
            var w = doc.defaultView || doc.parentWindow;
            val = (w != obj);
        }
        else {
            val = (typeof (doc.body) === 'undefined');
        }
    }
    return !val;
}
 
Array.__typeName = 'Array';
Array.__class = true;
Array.add = Array.enqueue = function Array$enqueue(array, item) {
    /// <summary locid="M:J#Array.enqueue" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array[array.length] = item;
}
Array.addRange = function Array$addRange(array, items) {
    /// <summary locid="M:J#Array.addRange" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="items" type="Array" elementMayBeNull="true"></param>
    var e = 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 = function Array$clear(array) {
    /// <summary locid="M:J#Array.clear" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.length = 0;
}
Array.clone = function Array$clone(array) {
    /// <summary locid="M:J#Array.clone" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <returns type="Array" elementMayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (array.length === 1) {
        return [array[0]];
    }
    else {
        return Array.apply(null, array);
    }
}
Array.contains = function Array$contains(array, item) {
    /// <summary locid="M:J#Array.contains" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    return (Sys._indexOf(array, item) >= 0);
}
Array.dequeue = function Array$dequeue(array) {
    /// <summary locid="M:J#Array.dequeue" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <returns mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    return array.shift();
}
Array.forEach = function Array$forEach(array, method, instance) {
    /// <summary locid="M:J#Array.forEach" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="method" type="Function"></param>
    /// <param name="instance" optional="true" mayBeNull="true"></param>
    var e = 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 = 0, l = array.length; i < l; i++) {
        var elt = array[i];
        if (typeof(elt) !== 'undefined') method.call(instance, elt, i, array);
    }
}
Array.indexOf = function Array$indexOf(array, item, start) {
    /// <summary locid="M:J#Array.indexOf" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" optional="true" mayBeNull="true"></param>
    /// <param name="start" optional="true" mayBeNull="true"></param>
    /// <returns type="Number"></returns>
    var e = 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;
    return Sys._indexOf(array, item, start);
}
Array.insert = function Array$insert(array, index, item) {
    /// <summary locid="M:J#Array.insert" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" mayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = 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 = function Array$parse(value) {
    /// <summary locid="M:J#Array.parse" />
    /// <param name="value" type="String" mayBeNull="true"></param>
    /// <returns type="Array" elementMayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    if (!value) return [];
    var v = eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', Sys.Res.arrayParseBadFormat);
    return v;
}
Array.remove = function Array$remove(array, item) {
    /// <summary locid="M:J#Array.remove" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index = Sys._indexOf(array, item);
    if (index >= 0) {
        array.splice(index, 1);
    }
    return (index >= 0);
}
Array.removeAt = function Array$removeAt(array, index) {
    /// <summary locid="M:J#Array.removeAt" />
    /// <param name="array" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 1);
}
Sys._indexOf = function Sys$_indexOf(array, item, start) {
    if (typeof(item) === "undefined") return -1;
    var length = array.length;
    if (length !== 0) {
        start = start - 0;
        if (isNaN(start)) {
            start = 0;
        }
        else {
            if (isFinite(start)) {
                start = start - (start % 1);
            }
            if (start < 0) {
                start = Math.max(0, length + start);
            }
        }
        for (var i = start; i < length; i++) {
            if ((typeof(array[i]) !== "undefined") && (array[i] === item)) {
                return i;
            }
        }
    }
    return -1;
}
Type._registerScript("MicrosoftAjaxCore.js");
 
Sys.IDisposable = function Sys$IDisposable() {
    throw Error.notImplemented();
}
    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype = {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
 
Sys.StringBuilder = function Sys$StringBuilder(initialText) {
    /// <summary locid="M:J#Sys.StringBuilder.#ctor" />
    /// <param name="initialText" optional="true" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._parts = (typeof(initialText) !== 'undefined' && initialText !== null && initialText !== '') ?
        [initialText.toString()] : [];
    this._value = {};
    this._len = 0;
}
    function Sys$StringBuilder$append(text) {
        /// <summary locid="M:J#Sys.StringBuilder.append" />
        /// <param name="text" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] = text;
    }
    function Sys$StringBuilder$appendLine(text) {
        /// <summary locid="M:J#Sys.StringBuilder.appendLine" />
        /// <param name="text" optional="true" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =
            ((typeof(text) === 'undefined') || (text === null) || (text === '')) ?
            '\r\n' : text + '\r\n';
    }
    function Sys$StringBuilder$clear() {
        /// <summary locid="M:J#Sys.StringBuilder.clear" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._parts = [];
        this._value = {};
        this._len = 0;
    }
    function Sys$StringBuilder$isEmpty() {
        /// <summary locid="M:J#Sys.StringBuilder.isEmpty" />
        /// <returns type="Boolean"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._parts.length === 0) return true;
        return this.toString() === '';
    }
    function Sys$StringBuilder$toString(separator) {
        /// <summary locid="M:J#Sys.StringBuilder.toString" />
        /// <param name="separator" type="String" optional="true" mayBeNull="true"></param>
        /// <returns type="String"></returns>
        var e = Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        separator = separator || '';
        var parts = this._parts;
        if (this._len !== parts.length) {
            this._value = {};
            this._len = parts.length;
        }
        var val = this._value;
        if (typeof(val[separator]) === 'undefined') {
            if (separator !== '') {
                for (var i = 0; i < parts.length;) {
                    if ((typeof(parts[i]) === 'undefined') || (parts[i] === '') || (parts[i] === null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] = this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype = {
    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');
 
Sys.Browser = {};
Sys.Browser.InternetExplorer = {};
Sys.Browser.Firefox = {};
Sys.Browser.Safari = {};
Sys.Browser.Opera = {};
Sys.Browser.agent = null;
Sys.Browser.hasDebuggerStatement = false;
Sys.Browser.name = navigator.appName;
Sys.Browser.version = parseFloat(navigator.appVersion);
Sys.Browser.documentMode = 0;
if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent = Sys.Browser.InternetExplorer;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);
    if (Sys.Browser.version >= 8) {
        if (document.documentMode >= 7) {
            Sys.Browser.documentMode = document.documentMode;    
        }
    }
    Sys.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent = Sys.Browser.Firefox;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name = 'Firefox';
    Sys.Browser.hasDebuggerStatement = true;
}
else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) {
    Sys.Browser.agent = Sys.Browser.Safari;
    Sys.Browser.version = parseFloat(navigator.userAgent.match(/ AppleWebKit\/(\d+(\.\d+)?)/)[1]);
    Sys.Browser.name = 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent = Sys.Browser.Opera;
}
 
Sys.EventArgs = function Sys$EventArgs() {
    /// <summary locid="M:J#Sys.EventArgs.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty = new Sys.EventArgs();
 
Sys.CancelEventArgs = function Sys$CancelEventArgs() {
    /// <summary locid="M:J#Sys.CancelEventArgs.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);
    this._cancel = false;
}
    function Sys$CancelEventArgs$get_cancel() {
        /// <value type="Boolean" locid="P:J#Sys.CancelEventArgs.cancel"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._cancel = value;
    }
Sys.CancelEventArgs.prototype = {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
 
Sys.EventHandlerList = function Sys$EventHandlerList() {
    /// <summary locid="M:J#Sys.EventHandlerList.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._list = {};
}
    function Sys$EventHandlerList$_addHandler(id, handler) {
        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <summary locid="M:J#Sys.EventHandlerList.addHandler" />
        /// <param name="id" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        this._addHandler(id, handler);
    }
    function Sys$EventHandlerList$_removeHandler(id, handler) {
        var evt = this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <summary locid="M:J#Sys.EventHandlerList.removeHandler" />
        /// <param name="id" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        this._removeHandler(id, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <summary locid="M:J#Sys.EventHandlerList.getHandler" />
        /// <param name="id" type="String"></param>
        /// <returns type="Function"></returns>
        var e = Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        var evt = this._getEvent(id);
        if (!evt || (evt.length === 0)) return null;
        evt = Array.clone(evt);
        return function(source, args) {
            for (var i = 0, l = 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] = [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype = {
    _addHandler: Sys$EventHandlerList$_addHandler,
    addHandler: Sys$EventHandlerList$addHandler,
    _removeHandler: Sys$EventHandlerList$_removeHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,
    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Type.registerNamespace('Sys.UI');
 
Sys._Debug = function Sys$_Debug() {
    /// <summary locid="M:J#Sys.Debug.#ctor" />
    /// <field name="isDebug" type="Boolean" locid="F:J#Sys.Debug.isDebug"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
}
    function Sys$_Debug$_appendConsole(text) {
        if ((typeof(Debug) !== '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 = document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {
            traceElement.value += text + '\n';
        }
    }
    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <summary locid="M:J#Sys.Debug.assert" />
        /// <param name="condition" type="Boolean"></param>
        /// <param name="message" type="String" optional="true" mayBeNull="true"></param>
        /// <param name="displayCaller" type="Boolean" optional="true"></param>
        var e = 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 = (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="M:J#Sys.Debug.clearTrace" />
        if (arguments.length !== 0) throw Error.parameterCount();
        var traceElement = document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() === 'TEXTAREA')) {
            traceElement.value = '';
        }
    }
    function Sys$_Debug$fail(message) {
        /// <summary locid="M:J#Sys.Debug.fail" />
        /// <param name="message" type="String" mayBeNull="true"></param>
        var e = 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="M:J#Sys.Debug.trace" />
        /// <param name="text"></param>
        var e = Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;
        this._appendConsole(text);
        this._appendTrace(text);
    }
    function Sys$_Debug$traceDump(object, name) {
        /// <summary locid="M:J#Sys.Debug.traceDump" />
        /// <param name="object" mayBeNull="true"></param>
        /// <param name="name" type="String" mayBeNull="true" optional="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var text = this._traceDump(object, name, true);
    }
    function Sys$_Debug$_traceDump(object, name, recursive, indentationPadding, loopArray) {
        name = name? name : 'traceDump';
        indentationPadding = indentationPadding? indentationPadding : '';
        if (object === 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 = [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);
                if ((object == window) || (object === document) ||
                    (window.HTMLElement && (object instanceof HTMLElement)) ||
                    (typeof(object.nodeName) === 'string')) {
                    var tag = object.tagName? object.tagName : 'DomElement';
                    if (object.id) {
                        tag += ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + '}');
                }
                else {
                    var typeName = Object.getTypeName(object);
                    this.trace(indentationPadding + name + (typeof(typeName) === 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding === '') || recursive) {
                        indentationPadding += "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length = object.length;
                            for (i = 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + ']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v = object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype = {
    _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 = new Sys._Debug();
    Sys.Debug.isDebug = true;
 
function Sys$Enum$parse(value, ignoreCase) {
    /// <summary locid="M:J#Sys.Enum.parse" />
    /// <param name="value" type="String"></param>
    /// <param name="ignoreCase" type="Boolean" optional="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    var values, parsed, val;
    if (ignoreCase) {
        values = this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues = values = {};
            var prototype = this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] = prototype[name];
            }
        }
    }
    else {
        values = this.prototype;
    }
    if (!this.__flags) {
        val = (ignoreCase ? value.toLowerCase() : value);
        parsed = values[val.trim()];
        if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
        return parsed;
    }
    else {
        var parts = (ignoreCase ? value.toLowerCase() : value).split(',');
        var v = 0;
        for (var i = parts.length - 1; i >= 0; i--) {
            var part = parts[i].trim();
            parsed = values[part];
            if (typeof(parsed) !== 'number') throw Error.argument('value', String.format(Sys.Res.enumInvalidValue, value.split(',')[i].trim(), this.__typeName));
            v |= parsed;
        }
        return v;
    }
}
function Sys$Enum$toString(value) {
    /// <summary locid="M:J#Sys.Enum.toString" />
    /// <param name="value" optional="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if ((typeof(value) === 'undefined') || (value === null)) return this.__string;
    if ((typeof(value) != 'number') || ((value % 1) !== 0)) throw Error.argumentType('value', Object.getType(value), this);
    var values = this.prototype;
    var i;
    if (!this.__flags || (value === 0)) {
        for (i in values) {
            if (values[i] === value) {
                return i;
            }
        }
    }
    else {
        var sorted = this.__sortedValues;
        if (!sorted) {
            sorted = [];
            for (i in values) {
                sorted[sorted.length] = {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues = sorted;
        }
        var parts = [];
        var v = value;
        for (i = sorted.length - 1; i >= 0; i--) {
            var kvp = sorted[i];
            var vali = kvp.value;
            if (vali === 0) continue;
            if ((vali & value) === vali) {
                parts[parts.length] = kvp.key;
                v -= vali;
                if (v === 0) break;
            }
        }
        if (parts.length && v === 0) return parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}
Type.prototype.registerEnum = function Type$registerEnum(name, flags) {
    /// <summary locid="M:J#Sys.UI.LineType.#ctor" />
    /// <param name="name" type="String"></param>
    /// <param name="flags" type="Boolean" optional="true"></param>
    var e = 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 = eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !== this) throw Error.argument('name', Sys.Res.badTypeName);
    if (Sys.__registeredTypes[name]) throw Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, name));
    for (var j in this.prototype) {
        var val = this.prototype[j];
        if (!Type.__identifierRegExp.test(j)) throw Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, j));
        if (typeof(val) !== 'number' || (val % 1) !== 0) throw Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[j]) !== 'undefined') throw Error.invalidOperation(String.format(Sys.Res.enumReservedName, j));
    }
    Sys.__upperCaseTypes[name.toUpperCase()] = this;
    for (var i in this.prototype) {
        this[i] = this.prototype[i];
    }
    this.__typeName = name;
    this.parse = Sys$Enum$parse;
    this.__string = this.toString();
    this.toString = Sys$Enum$toString;
    this.__flags = flags;
    this.__enum = true;
    Sys.__registeredTypes[name] = true;
}
Type.isEnum = function Type$isEnum(type) {
    /// <summary locid="M:J#Type.isEnum" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__enum;
}
Type.isFlags = function Type$isFlags(type) {
    /// <summary locid="M:J#Type.isFlags" />
    /// <param name="type" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) === 'undefined') || (type === null)) return false;
    return !!type.__flags;
}
Sys.CollectionChange = function Sys$CollectionChange(action, newItems, newStartingIndex, oldItems, oldStartingIndex) {
    /// <summary locid="M:J#Sys.CollectionChange.#ctor" />
    /// <param name="action" type="Sys.NotifyCollectionChangedAction"></param>
    /// <param name="newItems" optional="true" mayBeNull="true"></param>
    /// <param name="newStartingIndex" type="Number" integer="true" optional="true" mayBeNull="true"></param>
    /// <param name="oldItems" optional="true" mayBeNull="true"></param>
    /// <param name="oldStartingIndex" type="Number" integer="true" optional="true" mayBeNull="true"></param>
    /// <field name="action" type="Sys.NotifyCollectionChangedAction" locid="F:J#Sys.CollectionChange.action"></field>
    /// <field name="newItems" type="Array" mayBeNull="true" elementMayBeNull="true" locid="F:J#Sys.CollectionChange.newItems"></field>
    /// <field name="newStartingIndex" type="Number" integer="true" locid="F:J#Sys.CollectionChange.newStartingIndex"></field>
    /// <field name="oldItems" type="Array" mayBeNull="true" elementMayBeNull="true" locid="F:J#Sys.CollectionChange.oldItems"></field>
    /// <field name="oldStartingIndex" type="Number" integer="true" locid="F:J#Sys.CollectionChange.oldStartingIndex"></field>
    var e = Function._validateParams(arguments, [
        {name: "action", type: Sys.NotifyCollectionChangedAction},
        {name: "newItems", mayBeNull: true, optional: true},
        {name: "newStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true},
        {name: "oldItems", mayBeNull: true, optional: true},
        {name: "oldStartingIndex", type: Number, mayBeNull: true, integer: true, optional: true}
    ]);
    if (e) throw e;
    this.action = action;
    if (newItems) {
        if (!(newItems instanceof Array)) {
            newItems = [newItems];
        }
    }
    this.newItems = newItems || null;
    if (typeof newStartingIndex !== "number") {
        newStartingIndex = -1;
    }
    this.newStartingIndex = newStartingIndex;
    if (oldItems) {
        if (!(oldItems instanceof Array)) {
            oldItems = [oldItems];
        }
    }
    this.oldItems = oldItems || null;
    if (typeof oldStartingIndex !== "number") {
        oldStartingIndex = -1;
    }
    this.oldStartingIndex = oldStartingIndex;
}
Sys.CollectionChange.registerClass("Sys.CollectionChange");
Sys.NotifyCollectionChangedAction = function Sys$NotifyCollectionChangedAction() {
    /// <summary locid="M:J#Sys.NotifyCollectionChangedAction.#ctor" />
    /// <field name="add" type="Number" integer="true" static="true" locid="F:J#Sys.NotifyCollectionChangedAction.add"></field>
    /// <field name="remove" type="Number" integer="true" static="true" locid="F:J#Sys.NotifyCollectionChangedAction.remove"></field>
    /// <field name="reset" type="Number" integer="true" static="true" locid="F:J#Sys.NotifyCollectionChangedAction.reset"></field>
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.NotifyCollectionChangedAction.prototype = {
    add: 0,
    remove: 1,
    reset: 2
}
Sys.NotifyCollectionChangedAction.registerEnum('Sys.NotifyCollectionChangedAction');
Sys.NotifyCollectionChangedEventArgs = function Sys$NotifyCollectionChangedEventArgs(changes) {
    /// <summary locid="M:J#Sys.NotifyCollectionChangedEventArgs.#ctor" />
    /// <param name="changes" type="Array" elementType="Sys.CollectionChange"></param>
    var e = Function._validateParams(arguments, [
        {name: "changes", type: Array, elementType: Sys.CollectionChange}
    ]);
    if (e) throw e;
    this._changes = changes;
    Sys.NotifyCollectionChangedEventArgs.initializeBase(this);
}
    function Sys$NotifyCollectionChangedEventArgs$get_changes() {
        /// <value type="Array" elementType="Sys.CollectionChange" locid="P:J#Sys.NotifyCollectionChangedEventArgs.changes"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._changes || [];
    }
Sys.NotifyCollectionChangedEventArgs.prototype = {
    get_changes: Sys$NotifyCollectionChangedEventArgs$get_changes
}
Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs", Sys.EventArgs);
 
Sys.INotifyPropertyChange = function Sys$INotifyPropertyChange() {
    /// <summary locid="M:J#Sys.INotifyPropertyChange.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    /// <summary locid="E:J#Sys.INotifyPropertyChange.propertyChanged" />
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype = {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');
 
Sys.PropertyChangedEventArgs = function Sys$PropertyChangedEventArgs(propertyName) {
    /// <summary locid="M:J#Sys.PropertyChangedEventArgs.#ctor" />
    /// <param name="propertyName" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;
    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName = propertyName;
}
 
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type="String" locid="P:J#Sys.PropertyChangedEventArgs.propertyName"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype = {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs', Sys.EventArgs);
Sys.Observer = function Sys$Observer() {
    throw Error.invalidOperation();
}
Sys.Observer.registerClass("Sys.Observer");
Sys.Observer.makeObservable = function Sys$Observer$makeObservable(target) {
    /// <summary locid="M:J#Sys.Observer.makeObservable" />
    /// <param name="target" mayBeNull="false"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    var isArray = target instanceof Array,
        o = Sys.Observer;
    Sys.Observer._ensureObservable(target);
    if (target.setValue === o._observeMethods.setValue) return target;
    o._addMethods(target, o._observeMethods);
    if (isArray) {
        o._addMethods(target, o._arrayMethods);
    }
    return target;
}
Sys.Observer._ensureObservable = function Sys$Observer$_ensureObservable(target) {
    var type = typeof target;
    if ((type === "string") || (type === "number") || (type === "boolean") || (type === "date")) {
        throw Error.invalidOperation(String.format(Sys.Res.notObservable, type));
    }
}
Sys.Observer._addMethods = function Sys$Observer$_addMethods(target, methods) {
    for (var m in methods) {
        if (target[m] && (target[m] !== methods[m])) {
            throw Error.invalidOperation(String.format(Sys.Res.observableConflict, m));
        }
        target[m] = methods[m];
    }
}
Sys.Observer._addEventHandler = function Sys$Observer$_addEventHandler(target, eventName, handler) {
    Sys.Observer._getContext(target, true).events._addHandler(eventName, handler);
}
Sys.Observer.addEventHandler = function Sys$Observer$addEventHandler(target, eventName, handler) {
    /// <summary locid="M:J#Sys.Observer.addEventHandler" />
    /// <param name="target"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._addEventHandler(target, eventName, handler);
}
Sys.Observer._removeEventHandler = function Sys$Observer$_removeEventHandler(target, eventName, handler) {
    Sys.Observer._getContext(target, true).events._removeHandler(eventName, handler);
}
Sys.Observer.removeEventHandler = function Sys$Observer$removeEventHandler(target, eventName, handler) {
    /// <summary locid="M:J#Sys.Observer.removeEventHandler" />
    /// <param name="target"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._removeEventHandler(target, eventName, handler);
}
Sys.Observer.raiseEvent = function Sys$Observer$raiseEvent(target, eventName, eventArgs) {
    /// <summary locid="M:J#Sys.Observer.raiseEvent" />
    /// <param name="target"></param>
    /// <param name="eventName" type="String"></param>
    /// <param name="eventArgs" type="Sys.EventArgs"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "eventName", type: String},
        {name: "eventArgs", type: Sys.EventArgs}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    var ctx = Sys.Observer._getContext(target);
    if (!ctx) return;
    var handler = ctx.events.getHandler(eventName);
    if (handler) {
        handler(target, eventArgs);
    }
}
Sys.Observer.addPropertyChanged = function Sys$Observer$addPropertyChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.addPropertyChanged" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._addEventHandler(target, "propertyChanged", handler);
}
Sys.Observer.removePropertyChanged = function Sys$Observer$removePropertyChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.removePropertyChanged" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._removeEventHandler(target, "propertyChanged", handler);
}
Sys.Observer.beginUpdate = function Sys$Observer$beginUpdate(target) {
    /// <summary locid="M:J#Sys.Observer.beginUpdate" />
    /// <param name="target" mayBeNull="false"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._getContext(target, true).updating = true;
}
Sys.Observer.endUpdate = function Sys$Observer$endUpdate(target) {
    /// <summary locid="M:J#Sys.Observer.endUpdate" />
    /// <param name="target" mayBeNull="false"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    var ctx = Sys.Observer._getContext(target);
    if (!ctx || !ctx.updating) return;
    ctx.updating = false;
    var dirty = ctx.dirty;
    ctx.dirty = false;
    if (dirty) {
        if (target instanceof Array) {
            var changes = ctx.changes;
            ctx.changes = null;
            Sys.Observer.raiseCollectionChanged(target, changes);
        }
        Sys.Observer.raisePropertyChanged(target, "");
    }
}
Sys.Observer.isUpdating = function Sys$Observer$isUpdating(target) {
    /// <summary locid="M:J#Sys.Observer.isUpdating" />
    /// <param name="target" mayBeNull="false"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "target"}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    var ctx = Sys.Observer._getContext(target);
    return ctx ? ctx.updating : false;
}
Sys.Observer._setValue = function Sys$Observer$_setValue(target, propertyName, value) {
    var getter, setter, mainTarget = target, path = propertyName.split('.');
    for (var i = 0, l = (path.length - 1); i < l ; i++) {
        var name = path[i];
        getter = target["get_" + name]; 
        if (typeof (getter) === "function") {
            target = getter.call(target);
        }
        else {
            target = target[name];
        }
        var type = typeof (target);
        if ((target === null) || (type === "undefined")) {
            throw Error.invalidOperation(String.format(Sys.Res.nullReferenceInPath, propertyName));
        }
    }    
    var currentValue, lastPath = path[l];
    getter = target["get_" + lastPath];
    setter = target["set_" + lastPath];
    if (typeof(getter) === 'function') {
        currentValue = getter.call(target);
    }
    else {
        currentValue = target[lastPath];
    }
    if (typeof(setter) === 'function') {
        setter.call(target, value);
    }
    else {
        target[lastPath] = value;
    }
    if (currentValue !== value) {
        var ctx = Sys.Observer._getContext(mainTarget);
        if (ctx && ctx.updating) {
            ctx.dirty = true;
            return;
        };
        Sys.Observer.raisePropertyChanged(mainTarget, path[0]);
    }
}
Sys.Observer.setValue = function Sys$Observer$setValue(target, propertyName, value) {
    /// <summary locid="M:J#Sys.Observer.setValue" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="propertyName" type="String"></param>
    /// <param name="value" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target"},
        {name: "propertyName", type: String},
        {name: "value", mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.Observer._ensureObservable(target);
    Sys.Observer._setValue(target, propertyName, value);
}
Sys.Observer.raisePropertyChanged = function Sys$Observer$raisePropertyChanged(target, propertyName) {
    /// <summary locid="M:J#Sys.Observer.raisePropertyChanged" />
    /// <param name="target" mayBeNull="false"></param>
    /// <param name="propertyName" type="String"></param>
    Sys.Observer.raiseEvent(target, "propertyChanged", new Sys.PropertyChangedEventArgs(propertyName));
}
Sys.Observer.addCollectionChanged = function Sys$Observer$addCollectionChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.addCollectionChanged" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._addEventHandler(target, "collectionChanged", handler);
}
Sys.Observer.removeCollectionChanged = function Sys$Observer$removeCollectionChanged(target, handler) {
    /// <summary locid="M:J#Sys.Observer.removeCollectionChanged" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.Observer._removeEventHandler(target, "collectionChanged", handler);
}
Sys.Observer._collectionChange = function Sys$Observer$_collectionChange(target, change) {
    var ctx = Sys.Observer._getContext(target);
    if (ctx && ctx.updating) {
        ctx.dirty = true;
        var changes = ctx.changes;
        if (!changes) {
            ctx.changes = changes = [change];
        }
        else {
            changes.push(change);
        }
    }
    else {
        Sys.Observer.raiseCollectionChanged(target, [change]);
        Sys.Observer.raisePropertyChanged(target, 'length');
    }
}
Sys.Observer.add = function Sys$Observer$add(target, item) {
    /// <summary locid="M:J#Sys.Observer.add" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], target.length);
    Array.add(target, item);
    Sys.Observer._collectionChange(target, change);
}
Sys.Observer.addRange = function Sys$Observer$addRange(target, items) {
    /// <summary locid="M:J#Sys.Observer.addRange" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="items" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var change = new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, items, target.length);
    Array.addRange(target, items);
    Sys.Observer._collectionChange(target, change);
}
Sys.Observer.clear = function Sys$Observer$clear(target) {
    /// <summary locid="M:J#Sys.Observer.clear" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var oldItems = Array.clone(target);
    Array.clear(target);
    Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.reset, null, -1, oldItems, 0));
}
Sys.Observer.insert = function Sys$Observer$insert(target, index, item) {
    /// <summary locid="M:J#Sys.Observer.insert" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" type="Number" integer="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "index", type: Number, integer: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    Array.insert(target, index, item);
    Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add, [item], index));
}
Sys.Observer.remove = function Sys$Observer$remove(target, item) {
    /// <summary locid="M:J#Sys.Observer.remove" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="item" mayBeNull="true"></param>
    /// <returns type="Boolean"></returns>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index = Array.indexOf(target, item);
    if (index !== -1) {
        Array.remove(target, item);
        Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index));
        return true;
    }
    return false;
}
Sys.Observer.removeAt = function Sys$Observer$removeAt(target, index) {
    /// <summary locid="M:J#Sys.Observer.removeAt" />
    /// <param name="target" type="Array" elementMayBeNull="true"></param>
    /// <param name="index" type="Number" integer="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "target", type: Array, elementMayBeNull: true},
        {name: "index", type: Number, integer: true}
    ]);
    if (e) throw e;
    if ((index > -1) && (index < target.length)) {
        var item = target[index];
        Array.removeAt(target, index);
        Sys.Observer._collectionChange(target, new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove, null, -1, [item], index));
    }
}
Sys.Observer.raiseCollectionChanged = function Sys$Observer$raiseCollectionChanged(target, changes) {
    /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
    /// <param name="target"></param>
    /// <param name="changes" type="Array" elementType="Sys.CollectionChange"></param>
    Sys.Observer.raiseEvent(target, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes));
}
Sys.Observer._observeMethods = {
    add_propertyChanged: function(handler) {
        Sys.Observer._addEventHandler(this, "propertyChanged", handler);
    },
    remove_propertyChanged: function(handler) {
        Sys.Observer._removeEventHandler(this, "propertyChanged", handler);
    },
    addEventHandler: function(eventName, handler) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="eventName" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "eventName", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Sys.Observer._addEventHandler(this, eventName, handler);
    },
    removeEventHandler: function(eventName, handler) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="eventName" type="String"></param>
        /// <param name="handler" type="Function"></param>
        var e = Function._validateParams(arguments, [
            {name: "eventName", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Sys.Observer._removeEventHandler(this, eventName, handler);
    },
    get_isUpdating: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <returns type="Boolean"></returns>
        return Sys.Observer.isUpdating(this);
    },
    beginUpdate: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        Sys.Observer.beginUpdate(this);
    },
    endUpdate: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        Sys.Observer.endUpdate(this);
    },
    setValue: function(name, value) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="name" type="String"></param>
        /// <param name="value" mayBeNull="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "name", type: String},
            {name: "value", mayBeNull: true}
        ]);
        if (e) throw e;
        Sys.Observer._setValue(this, name, value);
    },
    raiseEvent: function(eventName, eventArgs) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="eventName" type="String"></param>
        /// <param name="eventArgs" type="Sys.EventArgs"></param>
        Sys.Observer.raiseEvent(this, eventName, eventArgs);
    },
    raisePropertyChanged: function(name) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="name" type="String"></param>
        Sys.Observer.raiseEvent(this, "propertyChanged", new Sys.PropertyChangedEventArgs(name));
    }
}
Sys.Observer._arrayMethods = {
    add_collectionChanged: function(handler) {
        Sys.Observer._addEventHandler(this, "collectionChanged", handler);
    },
    remove_collectionChanged: function(handler) {
        Sys.Observer._removeEventHandler(this, "collectionChanged", handler);
    },
    add: function(item) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="item" mayBeNull="true"></param>
        Sys.Observer.add(this, item);
    },
    addRange: function(items) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="items" type="Array" elementMayBeNull="true"></param>
        Sys.Observer.addRange(this, items);
    },
    clear: function() {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        Sys.Observer.clear(this);
    },
    insert: function(index, item) { 
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="index" type="Number" integer="true"></param>
        /// <param name="item" mayBeNull="true"></param>
        Sys.Observer.insert(this, index, item);
    },
    remove: function(item) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="item" mayBeNull="true"></param>
        /// <returns type="Boolean"></returns>
        return Sys.Observer.remove(this, item);
    },
    removeAt: function(index) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="index" type="Number" integer="true"></param>
        Sys.Observer.removeAt(this, index);
    },
    raiseCollectionChanged: function(changes) {
        /// <summary locid="M:J#Sys.Observer.raiseCollectionChanged" />
        /// <param name="changes" type="Array" elementType="Sys.CollectionChange"></param>
        Sys.Observer.raiseEvent(this, "collectionChanged", new Sys.NotifyCollectionChangedEventArgs(changes));
    }
}
Sys.Observer._getContext = function Sys$Observer$_getContext(obj, create) {
    var ctx = obj._observerContext;
    if (ctx) return ctx();
    if (create) {
        return (obj._observerContext = Sys.Observer._createContext())();
    }
    return null;
}
Sys.Observer._createContext = function Sys$Observer$_createContext() {
    var ctx = {
        events: new Sys.EventHandlerList()
    };
    return function() {
        return ctx;
    }
}
&//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxSerialization.js
// Microsoft AJAX Framework Globalization.
/// <reference name="MicrosoftAjaxCore.js" />
Type._registerScript("MicrosoftAjaxGlobalization.js", ["MicrosoftAjaxCore.js"]);
Date._appendPreOrPostMatch = function Date$_appendPreOrPostMatch(preMatch, strBuilder) {
    var quoteCount = 0;
    var escaped = false;
    for (var i = 0, il = preMatch.length; i < il; i++) {
        var c = preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped = false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped = !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped = false;
            break;
        }
    }
    return quoteCount;
}
Date._expandFormat = function Date$_expandFormat(dtf, format) {
    if (!format) {
        format = "F";
    }
    var len = format.length;
    if (len === 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.LongDatePattern + " " + dtf.ShortTimePattern;
        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);
        }
    }
    else if ((len === 2) && (format.charAt(0) === "%")) {
        format = format.charAt(1);
    }
    return format;
}
Date._expandYear = function Date$_expandYear(dtf, year) {
    var now = new Date(),
        era = Date._getEra(now);
    if (year < 100) {
        var curr = Date._getEraYear(now, dtf, era);
        year += curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            year -= 100;
        }
    }
    return year;
}
Date._getEra = function Date$_getEra(date, eras) {
    if (!eras) return 0;
    var start, ticks = date.getTime();
    for (var i = 0, l = eras.length; i < l; i += 4) {
        start = eras[i+2];
        if ((start === null) || (ticks >= start)) {
            return i;
        }
    }
    return 0;
}
Date._getEraYear = function Date$_getEraYear(date, dtf, era, sortable) {
    var year = date.getFullYear();
    if (!sortable && dtf.eras) {
        year -= dtf.eras[era + 3];
    }    
    return year;
}
Date._getParseRegExp = function Date$_getParseRegExp(dtf, format) {
    if (!dtf._parseRegExp) {
        dtf._parseRegExp = {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }
    var expFormat = Date._expandFormat(dtf, format);
    expFormat = expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, "\\\\$1");
    var regexp = new Sys.StringBuilder("^");
    var groups = [];
    var index = 0;
    var quoteCount = 0;
    var tokenRegExp = Date._getTokenRegExp();
    var match;
    while ((match = tokenRegExp.exec(expFormat)) !== null) {
        var preMatch = expFormat.slice(index, match.index);
        index = tokenRegExp.lastIndex;
        quoteCount += Date._appendPreOrPostMatch(preMatch, regexp);
        if ((quoteCount%2) === 1) {
            regexp.append(match[0]);
            continue;
        }
        switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
            case 'gg': case 'g':
                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;
            case '/':
                regexp.append("(\\" + dtf.DateSeparator + ")");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
    var regexpStr = regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp = {'regExp': regexpStr, 'groups': groups};
    dtf._parseRegExp[format] = parseRegExp;
    return parseRegExp;
}
Date._getTokenRegExp = 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|gg|g/g;
}
Date.parseLocale = function Date$parseLocale(value, formats) {
    /// <summary locid="M:J#Date.parseLocale" />
    /// <param name="value" type="String"></param>
    /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Date"></returns>
    var e = 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 = function Date$parseInvariant(value, formats) {
    /// <summary locid="M:J#Date.parseInvariant" />
    /// <param name="value" type="String"></param>
    /// <param name="formats" parameterArray="true" optional="true" mayBeNull="true"></param>
    /// <returns type="Date"></returns>
    var e = 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 = function Date$_parse(value, cultureInfo, args) {
    var i, l, date, format, formats, custom = false;
    for (i = 1, l = args.length; i < l; i++) {
        format = args[i];
        if (format) {
            custom = true;
            date = Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
    if (! custom) {
        formats = cultureInfo._getDateTimeFormats();
        for (i = 0, l = formats.length; i < l; i++) {
            date = Date._parseExact(value, formats[i], cultureInfo);
            if (date) return date;
        }
    }
    return null;
}
Date._parseExact = function Date$_parseExact(value, format, cultureInfo) {
    value = value.trim();
    var dtf = cultureInfo.dateTimeFormat,
        parseInfo = Date._getParseRegExp(dtf, format),
        match = new RegExp(parseInfo.regExp).exec(value);
    if (match === null) return null;
    
    var groups = parseInfo.groups,
        era = null, year = null, month = null, date = null, weekDay = null,
        hour = 0, hourOffset, min = 0, sec = 0, msec = 0, tzMinOffset = null,
        pmHour = false;
    for (var j = 0, jl = groups.length; j < jl; j++) {
        var matchGroup = match[j+1];
        if (matchGroup) {
            switch (groups[j]) {
                case 'dd': case 'd':
                    date = parseInt(matchGroup, 10);
                    if ((date < 1) || (date > 31)) return null;
                    break;
                case 'MMMM':
                    month = cultureInfo._getMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'MMM':
                    month = cultureInfo._getAbbrMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'M': case 'MM':
                    month = parseInt(matchGroup, 10) - 1;
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'y': case 'yy':
                    year = Date._expandYear(dtf,parseInt(matchGroup, 10));
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'yyyy':
                    year = parseInt(matchGroup, 10);
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'h': case 'hh':
                    hour = parseInt(matchGroup, 10);
                    if (hour === 12) hour = 0;
                    if ((hour < 0) || (hour > 11)) return null;
                    break;
                case 'H': case 'HH':
                    hour = parseInt(matchGroup, 10);
                    if ((hour < 0) || (hour > 23)) return null;
                    break;
                case 'm': case 'mm':
                    min = parseInt(matchGroup, 10);
                    if ((min < 0) || (min > 59)) return null;
                    break;
                case 's': case 'ss':
                    sec = parseInt(matchGroup, 10);
                    if ((sec < 0) || (sec > 59)) return null;
                    break;
                case 'tt': case 't':
                    var upperToken = matchGroup.toUpperCase();
                    pmHour = (upperToken === dtf.PMDesignator.toUpperCase());
                    if (!pmHour && (upperToken !== dtf.AMDesignator.toUpperCase())) return null;
                    break;
                case 'f':
                    msec = parseInt(matchGroup, 10) * 100;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'ff':
                    msec = parseInt(matchGroup, 10) * 10;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'fff':
                    msec = parseInt(matchGroup, 10);
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'dddd':
                    weekDay = cultureInfo._getDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'ddd':
                    weekDay = cultureInfo._getAbbrDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'zzz':
                    var offsets = matchGroup.split(/:/);
                    if (offsets.length !== 2) return null;
                    hourOffset = parseInt(offsets[0], 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return null;
                    var minOffset = parseInt(offsets[1], 10);
                    if ((minOffset < 0) || (minOffset > 59)) return null;
                    tzMinOffset = (hourOffset * 60) + (matchGroup.startsWith('-')? -minOffset : minOffset);
                    break;
                case 'z': case 'zz':
                    hourOffset = parseInt(matchGroup, 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return null;
                    tzMinOffset = hourOffset * 60;
                    break;
                case 'g': case 'gg':
                    var eraName = matchGroup;
                    if (!eraName || !dtf.eras) return null;
                    eraName = eraName.toLowerCase().trim();
                    for (var i = 0, l = dtf.eras.length; i < l; i += 4) {
                        if (eraName === dtf.eras[i + 1].toLowerCase()) {
                            era = i;
                            break;
                        }
                    }
                    if (era === null) return null;
                    break;
            }
        }
    }
    var result = new Date(), defaultYear, convert = dtf.Calendar.convert;
    if (convert) {
        defaultYear = convert.fromGregorian(result)[0];
    }
    else {
        defaultYear = result.getFullYear();
    }
    if (year === null) {
        year = defaultYear;
    }
    else if (dtf.eras) {
        year += dtf.eras[(era || 0) + 3];
    }
    if (month === null) {
        month = 0;
    }
    if (date === null) {
        date = 1;
    }
    if (convert) {
        result = convert.toGregorian(year, month, date);
        if (result === null) return null;
    }
    else {
        result.setFullYear(year, month, date);
        if (result.getDate() !== date) return null;
        if ((weekDay !== null) && (result.getDay() !== weekDay)) {
            return null;
        }
    }
    if (pmHour && (hour < 12)) {
        hour += 12;
    }
    result.setHours(hour, min, sec, msec);
    if (tzMinOffset !== null) {
        var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset());
        result.setHours(result.getHours() + parseInt(adjustedMin/60, 10), adjustedMin%60);
    }
    return result;
}
Date.prototype.format = function Date$format(format) {
    /// <summary locid="M:J#Date.format" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture);
}
Date.prototype.localeFormat = function Date$localeFormat(format) {
    /// <summary locid="M:J#Date.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture);
}
Date.prototype._toFormattedString = function Date$_toFormattedString(format, cultureInfo) {
    var dtf = cultureInfo.dateTimeFormat,
        convert = dtf.Calendar.convert;
    if (!format || !format.length || (format === 'i')) {
        if (cultureInfo && cultureInfo.name.length) {
            if (convert) {
                return this._toFormattedString(dtf.FullDateTimePattern, cultureInfo);
            }
            else {
                var eraDate = new Date(this.getTime());
                var era = Date._getEra(this, dtf.eras);
                eraDate.setFullYear(Date._getEraYear(this, dtf, era));
                return eraDate.toLocaleString();
            }
        }
        else {
            return this.toString();
        }
    }
    var eras = dtf.eras,
        sortable = (format === "s");
    format = Date._expandFormat(dtf, format);
    var ret = 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();
    }
    function padYear(year) {
        if (year < 10) {
            return '000' + year;
        }
        else if (year < 100) {
            return '00' + year;
        }
        else if (year < 1000) {
            return '0' + year;
        }
        return year.toString();
    }
    
    var foundDay, checkedDay, dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g;
    function hasDay() {
        if (foundDay || checkedDay) {
            return foundDay;
        }
        foundDay = dayPartRegExp.test(format);
        checkedDay = true;
        return foundDay;
    }
    
    var quoteCount = 0,
        tokenRegExp = Date._getTokenRegExp(),
        converted;
    if (!sortable && convert) {
        converted = convert.fromGregorian(this);
    }
    for (;;) {
        var index = tokenRegExp.lastIndex;
        var ar = tokenRegExp.exec(format);
        var preMatch = format.slice(index, ar ? ar.index : format.length);
        quoteCount += Date._appendPreOrPostMatch(preMatch, ret);
        if (!ar) break;
        if ((quoteCount%2) === 1) {
            ret.append(ar[0]);
            continue;
        }
        
        function getPart(date, part) {
            if (converted) {
                return converted[part];
            }
            switch (part) {
                case 0: return date.getFullYear();
                case 1: return date.getMonth();
                case 2: return date.getDate();
            }
        }
        switch (ar[0]) {
        case "dddd":
            ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
            ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
            foundDay = true;
            ret.append(addLeadingZero(getPart(this, 2)));
            break;
        case "d":
            foundDay = true;
            ret.append(getPart(this, 2));
            break;
        case "MMMM":
            ret.append((dtf.MonthGenitiveNames && hasDay())
                ? dtf.MonthGenitiveNames[getPart(this, 1)]
                : dtf.MonthNames[getPart(this, 1)]);
            break;
        case "MMM":
            ret.append((dtf.AbbreviatedMonthGenitiveNames && hasDay())
                ? dtf.AbbreviatedMonthGenitiveNames[getPart(this, 1)]
                : dtf.AbbreviatedMonthNames[getPart(this, 1)]);
            break;
        case "MM":
            ret.append(addLeadingZero(getPart(this, 1) + 1));
            break;
        case "M":
            ret.append(getPart(this, 1) + 1);
            break;
        case "yyyy":
            ret.append(padYear(converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)));
            break;
        case "yy":
            ret.append(addLeadingZero((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100));
            break;
        case "y":
            ret.append((converted ? converted[0] : Date._getEraYear(this, dtf, Date._getEra(this, eras), sortable)) % 100);
            break;
        case "hh":
            hour = this.getHours() % 12;
            if (hour === 0) hour = 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
            hour = this.getHours() % 12;
            if (hour === 0) hour = 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 = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + Math.floor(Math.abs(hour)));
            break;
        case "zz":
            hour = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
            hour = this.getTimezoneOffset() / 60;
            ret.append(((hour <= 0) ? '+' : '-') + addLeadingZero(Math.floor(Math.abs(hour))) +
                ":" + addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        case "g":
        case "gg":
            if (dtf.eras) {
                ret.append(dtf.eras[Date._getEra(this, eras) + 1]);
            }
            break;
        case "/":
            ret.append(dtf.DateSeparator);
            break;
        }
    }
    return ret.toString();
}
String.localeFormat = function String$localeFormat(format, args) {
    /// <summary locid="M:J#String.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <param name="args" parameterArray="true" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(true, arguments);
}
Number.parseLocale = function Number$parseLocale(value) {
    /// <summary locid="M:J#Number.parseLocale" />
    /// <param name="value" type="String"></param>
    /// <returns type="Number"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ], false);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant = function Number$parseInvariant(value) {
    /// <summary locid="M:J#Number.parseInvariant" />
    /// <param name="value" type="String"></param>
    /// <returns type="Number"></returns>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ], false);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse = function Number$_parse(value, cultureInfo) {
    value = value.trim();
    
    if (value.match(/^[+-]?infinity$/i)) {
        return parseFloat(value);
    }
    if (value.match(/^0x[a-f0-9]+$/i)) {
        return parseInt(value);
    }
    var numFormat = cultureInfo.numberFormat;
    var signInfo = Number._parseNumberNegativePattern(value, numFormat, numFormat.NumberNegativePattern);
    var sign = signInfo[0];
    var num = signInfo[1];
    
    if ((sign === '') && (numFormat.NumberNegativePattern !== 1)) {
        signInfo = Number._parseNumberNegativePattern(value, numFormat, 1);
        sign = signInfo[0];
        num = signInfo[1];
    }
    if (sign === '') sign = '+';
    
    var exponent;
    var intAndFraction;
    var exponentPos = num.indexOf('e');
    if (exponentPos < 0) exponentPos = num.indexOf('E');
    if (exponentPos < 0) {
        intAndFraction = num;
        exponent = null;
    }
    else {
        intAndFraction = num.substr(0, exponentPos);
        exponent = num.substr(exponentPos + 1);
    }
    
    var integer;
    var fraction;
    var decimalPos = intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
    if (decimalPos < 0) {
        integer = intAndFraction;
        fraction = null;
    }
    else {
        integer = intAndFraction.substr(0, decimalPos);
        fraction = intAndFraction.substr(decimalPos + numFormat.NumberDecimalSeparator.length);
    }
    
    integer = integer.split(numFormat.NumberGroupSeparator).join('');
    var altNumGroupSeparator = numFormat.NumberGroupSeparator.replace(/\u00A0/g, " ");
    if (numFormat.NumberGroupSeparator !== altNumGroupSeparator) {
        integer = integer.split(altNumGroupSeparator).join('');
    }
    
    var p = sign + integer;
    if (fraction !== null) {
        p += '.' + fraction;
    }
    if (exponent !== null) {
        var expSignInfo = Number._parseNumberNegativePattern(exponent, numFormat, 1);
        if (expSignInfo[0] === '') {
            expSignInfo[0] = '+';
        }
        p += 'e' + expSignInfo[0] + expSignInfo[1];
    }
    if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {
        return parseFloat(p);
    }
    return Number.NaN;
}
Number._parseNumberNegativePattern = function Number$_parseNumberNegativePattern(value, numFormat, numberNegativePattern) {
    var neg = numFormat.NegativeSign;
    var pos = numFormat.PositiveSign;    
    switch (numberNegativePattern) {
        case 4: 
            neg = ' ' + neg;
            pos = ' ' + pos;
        case 3: 
            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: 
            neg += ' ';
            pos += ' ';
        case 1: 
            if (value.startsWith(neg)) {
                return ['-', value.substr(neg.length)];
            }
            else if (value.startsWith(pos)) {
                return ['+', value.substr(pos.length)];
            }
            break;
        case 0: 
            if (value.startsWith('(') && value.endsWith(')')) {
                return ['-', value.substr(1, value.length - 2)];
            }
            break;
    }
    return ['', value];
}
Number.prototype.format = function Number$format(format) {
    /// <summary locid="M:J#Number.format" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat = function Number$localeFormat(format) {
    /// <summary locid="M:J#Number.localeFormat" />
    /// <param name="format" type="String"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString = function Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length === 0) || (format === 'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
    
    var _percentPositivePattern = ["n %", "n%", "%n" ];
    var _percentNegativePattern = ["-n %", "-n%", "-%n"];
    var _numberNegativePattern = ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern = ["$n","n$","$ n","n $"];
    var _currencyNegativePattern = ["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];
    function zeroPad(str, count, left) {
        for (var l=str.length; l < count; l++) {
            str = (left ? ('0' + str) : (str + '0'));
        }
        return str;
    }
    
    function expandNumber(number, precision, groupSizes, sep, decimalChar) {
        
        var curSize = groupSizes[0];
        var curGroupIndex = 1;
        var factor = Math.pow(10, precision);
        var rounded = (Math.round(number * factor) / factor);
        if (!isFinite(rounded)) {
            rounded = number;
        }
        number = rounded;
        
        var numberString = number.toString();
        var right = "";
        var exponent;
        
        
        var split = numberString.split(/e/i);
        numberString = split[0];
        exponent = (split.length > 1 ? parseInt(split[1]) : 0);
        split = numberString.split('.');
        numberString = split[0];
        right = split.length > 1 ? split[1] : "";
        
        var l;
        if (exponent > 0) {
            right = zeroPad(right, exponent, false);
            numberString += right.slice(0, exponent);
            right = right.substr(exponent);
        }
        else if (exponent < 0) {
            exponent = -exponent;
            numberString = zeroPad(numberString, exponent+1, true);
            right = numberString.slice(-exponent, numberString.length) + right;
            numberString = numberString.slice(0, -exponent);
        }
        if (precision > 0) {
            if (right.length > precision) {
                right = right.slice(0, precision);
            }
            else {
                right = zeroPad(right, precision, false);
            }
            right = decimalChar + right;
        }
        else { 
            right = "";
        }
        var stringIndex = numberString.length-1;
        var ret = "";
        while (stringIndex >= 0) {
            if (curSize === 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 = numberString.slice(stringIndex - curSize + 1, stringIndex+1) + sep + ret;
            else
                ret = numberString.slice(stringIndex - curSize + 1, stringIndex+1);
            stringIndex -= curSize;
            if (curGroupIndex < groupSizes.length) {
                curSize = groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + right;
    }
    var nf = cultureInfo.numberFormat;
    var number = Math.abs(this);
    if (!format)
        format = "D";
    var precision = -1;
    if (format.length > 1) precision = parseInt(format.slice(1), 10);
    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern = 'n';
        if (precision !== -1) {
            number = zeroPad(""+number, precision, true);
        }
        if (this < 0) number = -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern = _currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern = _currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision === -1) precision = nf.CurrencyDecimalDigits;
        number = expandNumber(Math.abs(this), precision, nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern = _numberNegativePattern[nf.NumberNegativePattern];
        else pattern = 'n';
        if (precision === -1) precision = nf.NumberDecimalDigits;
        number = expandNumber(Math.abs(this), precision, nf.NumberGroupSizes, nf.NumberGroupSeparator, nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern = _percentNegativePattern[nf.PercentNegativePattern];
        else pattern = _percentPositivePattern[nf.PercentPositivePattern];
        if (precision === -1) precision = nf.PercentDecimalDigits;
        number = expandNumber(Math.abs(this) * 100, precision, nf.PercentGroupSizes, nf.PercentGroupSeparator, nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }
    var regex = /n|\$|-|%/g;
    var ret = "";
    for (;;) {
        var index = regex.lastIndex;
        var ar = regex.exec(pattern);
        ret += pattern.slice(index, ar ? ar.index : pattern.length);
        if (!ar)
            break;
        switch (ar[0]) {
        case "n":
            ret += number;
            break;
        case "$":
            ret += nf.CurrencySymbol;
            break;
        case "-":
            if (/[1-9]/.test(number)) {
                ret += nf.NegativeSign;
            }
            break;
        case "%":
            ret += nf.PercentSymbol;
            break;
        }
    }
    return ret;
}
 
Sys.CultureInfo = function Sys$CultureInfo(name, numberFormat, dateTimeFormat) {
    /// <summary locid="M:J#Sys.CultureInfo.#ctor" />
    /// <param name="name" type="String"></param>
    /// <param name="numberFormat" type="Object"></param>
    /// <param name="dateTimeFormat" type="Object"></param>
    var e = Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;
    this.name = name;
    this.numberFormat = numberFormat;
    this.dateTimeFormat = dateTimeFormat;
}
    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf = this.dateTimeFormat;
            this._dateTimeFormats =
              [ 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$_getIndex(value, a1, a2) {
        var upper = this._toUpper(value),
            i = Array.indexOf(a1, upper);
        if (i === -1) {
            i = Array.indexOf(a2, upper);
        }
        return i;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths = this._toUpperArray(this.dateTimeFormat.MonthNames);
            this._upperMonthsGenitive = this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames);
        }
        return this._getIndex(value, this._upperMonths, this._upperMonthsGenitive);
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
            this._upperAbbrMonthsGenitive = this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames);
        }
        return this._getIndex(value, this._upperAbbrMonths, this._upperAbbrMonthsGenitive);
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays = this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays = this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result = [];
        for (var i = 0, il = arr.length; i < il; i++) {
            result[i] = this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
        return value.split("\u00A0").join(' ').toUpperCase();
    }
Sys.CultureInfo.prototype = {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getIndex: Sys$CultureInfo$_getIndex,
    _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.registerClass('Sys.CultureInfo');
Sys.CultureInfo._parse = function Sys$CultureInfo$_parse(value) {
    var dtf = value.dateTimeFormat;
    if (dtf && !dtf.eras) {
        dtf.eras = value.eras;
    }
    return new Sys.CultureInfo(value.name, value.numberFormat, dtf);
}
Sys.CultureInfo.InvariantCulture = Sys.CultureInfo._parse({"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"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","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","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":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});
if (typeof(__cultureInfo) === "object") {
    Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse(__cultureInfo);
    delete __cultureInfo;    
}
else {
    Sys.CultureInfo.CurrentCulture = Sys.CultureInfo._parse({"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH\':\'mm\':\'ss \'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});
}
<//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxHistory.js
// Microsoft AJAX Framework Application History.
/// <reference name="MicrosoftAjaxComponentModel.js" />
/// <reference name="MicrosoftAjaxSerialization.js" />
Type._registerScript("MicrosoftAjaxHistory.js", ["MicrosoftAjaxComponentModel.js", "MicrosoftAjaxSerialization.js"]);
Sys.HistoryEventArgs = function Sys$HistoryEventArgs(state) {
    /// <summary locid="M:J#Sys.HistoryEventArgs.#ctor" />
    /// <param name="state" type="Object"></param>
    var e = Function._validateParams(arguments, [
        {name: "state", type: Object}
    ]);
    if (e) throw e;
    Sys.HistoryEventArgs.initializeBase(this);
    this._state = state;
}
    function Sys$HistoryEventArgs$get_state() {
        /// <value type="Object" locid="P:J#Sys.HistoryEventArgs.state"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._state;
    }
Sys.HistoryEventArgs.prototype = {
    get_state: Sys$HistoryEventArgs$get_state
}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', Sys.EventArgs);
Sys.Application._appLoadHandler = null;
Sys.Application._beginRequestHandler = null;
Sys.Application._clientId = null;
Sys.Application._currentEntry = '';
Sys.Application._endRequestHandler = null;
Sys.Application._history = null;
Sys.Application._enableHistory = false;
Sys.Application._historyEnabledInScriptManager = false;
Sys.Application._historyFrame = null;
Sys.Application._historyInitialized = false;
Sys.Application._historyPointIsNew = false;
Sys.Application._ignoreTimer = false;
Sys.Application._initialState = null;
Sys.Application._state = {};
Sys.Application._timerCookie = 0;
Sys.Application._timerHandler = null;
Sys.Application._uniqueId = null;
Sys._Application.prototype.get_stateString = function Sys$_Application$get_stateString() {
    /// <summary locid="M:J#Sys._Application.get_stateString" />
    if (arguments.length !== 0) throw Error.parameterCount();
    var hash = null;
    
    if (Sys.Browser.agent === Sys.Browser.Firefox) {
        var href = window.location.href;
        var hashIndex = href.indexOf('#');
        if (hashIndex !== -1) {
            hash = href.substring(hashIndex + 1);
        }
        else {
            hash = "";
        }
        return hash;
    }
    else {
        hash = window.location.hash;
    }
    
    if ((hash.length > 0) && (hash.charAt(0) === '#')) {
        hash = hash.substring(1);
    }
    return hash;
};
Sys._Application.prototype.get_enableHistory = function Sys$_Application$get_enableHistory() {
    /// <summary locid="M:J#Sys._Application.get_enableHistory" />
    if (arguments.length !== 0) throw Error.parameterCount();
    return this._enableHistory;
};
Sys._Application.prototype.set_enableHistory = function Sys$_Application$set_enableHistory(value) {
    if (this._initialized && !this._initializing) {
        throw Error.invalidOperation(Sys.Res.historyCannotEnableHistory);
    }
    else if (this._historyEnabledInScriptManager && !value) {
        throw Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);
    }
    this._enableHistory = value;
};
Sys._Application.prototype.add_navigate = function Sys$_Application$add_navigate(handler) {
    /// <summary locid="E:J#Sys.Application.navigate" />
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    this.get_events().addHandler("navigate", handler);
};
Sys._Application.prototype.remove_navigate = function Sys$_Application$remove_navigate(handler) {
    /// <summary locid="M:J#Sys._Application.remove_navigate" />
    /// <param name="handler" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    this.get_events().removeHandler("navigate", handler);
};
Sys._Application.prototype.addHistoryPoint = function Sys$_Application$addHistoryPoint(state, title) {
    /// <summary locid="M:J#Sys.Application.addHistoryPoint" />
    /// <param name="state" type="Object"></param>
    /// <param name="title" type="String" optional="true" mayBeNull="true"></param>
    var e = 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.historyCannotAddHistoryPointWithHistoryDisabled);
    for (var n in state) {
        var v = state[n];
        var t = typeof(v);
        if ((v !== null) && ((t === 'object') || (t === 'function') || (t === 'undefined'))) {
            throw Error.argument('state', Sys.Res.stateMustBeStringDictionary);
        }
    }
    this._ensureHistory();
    var initialState = this._state;
    for (var key in state) {
        var value = state[key];
        if (value === null) {
            if (typeof(initialState[key]) !== 'undefined') {
                delete initialState[key];
            }
        }
        else {
            initialState[key] = value;
        }
    }
    var entry = this._serializeState(initialState);
    this._historyPointIsNew = true;
    this._setState(entry, title);
    this._raiseNavigate();
};
Sys._Application.prototype.setServerId = function Sys$_Application$setServerId(clientId, uniqueId) {
    /// <summary locid="M:J#Sys.Application.setServerId" />
    /// <param name="clientId" type="String"></param>
    /// <param name="uniqueId" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "clientId", type: String},
        {name: "uniqueId", type: String}
    ]);
    if (e) throw e;
    this._clientId = clientId;
    this._uniqueId = uniqueId;
};
Sys._Application.prototype.setServerState = function Sys$_Application$setServerState(value) {
    /// <summary locid="M:J#Sys.Application.setServerState" />
    /// <param name="value" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    this._ensureHistory();
    this._state.__s = value;
    this._updateHiddenField(value);
};
Sys._Application.prototype._deserializeState = function Sys$_Application$_deserializeState(entry) {
    var result = {};
    entry = entry || '';
    var serverSeparator = entry.indexOf('&&');
    if ((serverSeparator !== -1) && (serverSeparator + 2 < entry.length)) {
        result.__s = entry.substr(serverSeparator + 2);
        entry = entry.substr(0, serverSeparator);
    }
    var tokens = entry.split('&');
    for (var i = 0, l = tokens.length; i < l; i++) {
        var token = tokens[i];
        var equal = token.indexOf('=');
        if ((equal !== -1) && (equal + 1 < token.length)) {
            var name = token.substr(0, equal);
            var value = token.substr(equal + 1);
            result[name] = decodeURIComponent(value);
        }
    }
    return result;
};
Sys._Application.prototype._enableHistoryInScriptManager = function Sys$_Application$_enableHistoryInScriptManager() {
    this._enableHistory = true;
    this._historyEnabledInScriptManager = true;
};
Sys._Application.prototype._ensureHistory = function Sys$_Application$_ensureHistory() {
    if (!this._historyInitialized && this._enableHistory) {
        if ((Sys.Browser.agent === Sys.Browser.InternetExplorer) && 
            ((!document.documentMode) || document.documentMode < 8)) {
            this._historyFrame = document.getElementById('__historyFrame');
            if (!this._historyFrame) throw Error.invalidOperation(Sys.Res.historyMissingFrame);
            this._ignoreIFrame = true;
        }
        this._timerHandler = Function.createDelegate(this, this._onIdle);
        this._timerCookie = window.setTimeout(this._timerHandler, 100);
        
        try {
            this._initialState = this._deserializeState(this.get_stateString());
        } catch(e) {}
        
        this._historyInitialized = true;
    }
};
Sys._Application.prototype._navigate = function Sys$_Application$_navigate(entry) {
    this._ensureHistory();
    var state = this._deserializeState(entry);
    
    if (this._uniqueId) {
        var oldServerEntry = this._state.__s || '';
        var newServerEntry = state.__s || '';
        if (newServerEntry !== oldServerEntry) {
            this._updateHiddenField(newServerEntry);
            __doPostBack(this._uniqueId, newServerEntry);
            this._state = state;
            return;
        }
    }
    this._setState(entry);
    this._state = state;
    this._raiseNavigate();
};
Sys._Application.prototype._onIdle = function Sys$_Application$_onIdle() {
    delete this._timerCookie;
    
    var entry = this.get_stateString();
    if (entry !== this._currentEntry) {
        if (!this._ignoreTimer) {
            this._historyPointIsNew = false;
            this._navigate(entry);
        }
    }
    else {
        this._ignoreTimer = false;
    }
    this._timerCookie = window.setTimeout(this._timerHandler, 100);
};
Sys._Application.prototype._onIFrameLoad = function Sys$_Application$_onIFrameLoad(entry) {
    if ((!document.documentMode) || document.documentMode < 8 ) {
        this._ensureHistory();
        if (!this._ignoreIFrame) {
            this._historyPointIsNew = false;
            this._navigate(entry);
        }
        this._ignoreIFrame = false;
    }
};
Sys._Application.prototype._onPageRequestManagerBeginRequest = function Sys$_Application$_onPageRequestManagerBeginRequest(sender, args) {
    this._ignoreTimer = true;
    this._originalTitle = document.title;
};
Sys._Application.prototype._onPageRequestManagerEndRequest = function Sys$_Application$_onPageRequestManagerEndRequest(sender, args) {
    var dataItem = args.get_dataItems()[this._clientId];
    var originalTitle = this._originalTitle;
    this._originalTitle = null;
    var eventTarget = document.getElementById("__EVENTTARGET");
    if (eventTarget && eventTarget.value === this._uniqueId) {
        eventTarget.value = '';
    }
    if (typeof(dataItem) !== 'undefined') {
        this.setServerState(dataItem);
        this._historyPointIsNew = true;
    }
    else {
        this._ignoreTimer = false;
    }
    var entry = this._serializeState(this._state);
    if (entry !== this._currentEntry) {
        this._ignoreTimer = true;
        if (typeof(originalTitle) === "string") {
            if (Sys.Browser.agent !== Sys.Browser.InternetExplorer || Sys.Browser.version > 7) {
                var newTitle = document.title;
                document.title = originalTitle;
                this._setState(entry);
                document.title = newTitle;
            }
            else {
                this._setState(entry);
            }
            this._raiseNavigate();
        }
        else {
            this._setState(entry);
            this._raiseNavigate();
        }
    }
};
Sys._Application.prototype._raiseNavigate = function Sys$_Application$_raiseNavigate() {
    var isNew = this._historyPointIsNew;
    var h = this.get_events().getHandler("navigate");
    var stateClone = {};
    for (var key in this._state) {
        if (key !== '__s') {
            stateClone[key] = this._state[key];
        }
    }
    var args = new Sys.HistoryEventArgs(stateClone);
    if (h) {
        h(this, args);
    }
    if (!isNew) {
        var err;
        try {
            if ((Sys.Browser.agent === Sys.Browser.Firefox) && window.location.hash &&
                (!window.frameElement || window.top.location.hash)) {
                (Sys.Browser.version < 3.5) ?
                    window.history.go(0) :
                    location.hash = this.get_stateString();
            }
        }
        catch(err) {
        }
    }
};
Sys._Application.prototype._serializeState = function Sys$_Application$_serializeState(state) {
    var serialized = [];
    for (var key in state) {
        var value = state[key];
        if (key === '__s') {
            var serverState = value;
        }
        else {
            if (key.indexOf('=') !== -1) throw Error.argument('state', Sys.Res.stateFieldNameInvalid);
            serialized[serialized.length] = key + '=' + encodeURIComponent(value);
        }
    }
    return serialized.join('&') + (serverState ? '&&' + serverState : '');
};
Sys._Application.prototype._setState = function Sys$_Application$_setState(entry, title) {
    if (this._enableHistory) {
        entry = entry || '';
        if (entry !== this._currentEntry) {
            if (window.theForm) {
                var action = window.theForm.action;
                var hashIndex = action.indexOf('#');
                window.theForm.action = ((hashIndex !== -1) ? action.substring(0, hashIndex) : action) + '#' + entry;
            }
        
            if (this._historyFrame && this._historyPointIsNew) {
                var newDiv = document.createElement("div");
                newDiv.appendChild(document.createTextNode(title || document.title));
                var htmlEncodedTitle = newDiv.innerHTML;
                this._ignoreIFrame = true;
                var frameDoc = this._historyFrame.contentWindow.document;
                frameDoc.open("javascript:'<html></html>'");
                frameDoc.write("<html><head><title>" + htmlEncodedTitle +
                    "</title><scri" + "pt type=\"text/javascript\">parent.Sys.Application._onIFrameLoad(" + 
                    Sys.Serialization.JavaScriptSerializer.serialize(entry) +
                    ");</scri" + "pt></head><body></body></html>");
                frameDoc.close();
            }
            this._ignoreTimer = false;
            this._currentEntry = entry;
            if (this._historyFrame || this._historyPointIsNew) {
                var currentHash = this.get_stateString();
                if (entry !== currentHash) {
                    var loc = document.location;
                    if (loc.href.length - loc.hash.length + entry.length > 2048) {
                        throw Error.invalidOperation(String.format(Sys.Res.urlTooLong, 2048));
                    }
                    window.location.hash = entry;
                    this._currentEntry = this.get_stateString();
                    if ((typeof(title) !== 'undefined') && (title !== null)) {
                        document.title = title;
                    }
                }
            }
            this._historyPointIsNew = false;
        }
    }
};
Sys._Application.prototype._updateHiddenField = function Sys$_Application$_updateHiddenField(value) {
    if (this._clientId) {
        var serverStateField = document.getElementById(this._clientId);
        if (serverStateField) {
            serverStateField.value = value;
        }
    }
};
>//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxNetwork.js
// Microsoft AJAX Framework Networking.
/// <reference name="MicrosoftAjaxSerialization.js" />
Type._registerScript("MicrosoftAjaxNetwork.js", ["MicrosoftAjaxSerialization.js"]);
 
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest = function window$XMLHttpRequest() {
        var progIDs = [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];
        for (var i = 0, l = progIDs.length; i < l; i++) {
            try {
                return new ActiveXObject(progIDs[i]);
            }
            catch (ex) {
            }
        }
        return null;
    }
}
Type.registerNamespace('Sys.Net');
 
Sys.Net.WebRequestExecutor = function Sys$Net$WebRequestExecutor() {
    /// <summary locid="M:J#Sys.Net.WebRequestExecutor.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._webRequest = null;
    this._resultObject = null;
}
    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.WebRequestExecutor.webRequest"></value>
        if (arguments.length !== 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 = value;
    }
    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.started"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebRequestExecutor.aborted"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.responseData"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequestExecutor.statusCode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestExecutor.statusText"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value locid="P:J#Sys.Net.WebRequestExecutor.xml"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value locid="P:J#Sys.Net.WebRequestExecutor.object"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject = Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());
        }
        return this._resultObject;
    }
    function Sys$Net$WebRequestExecutor$executeRequest() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.executeRequest" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.abort" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />
        /// <param name="header" type="String"></param>
        var e = Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        /// <summary locid="M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" />
        if (arguments.length !== 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype = {
    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');
 
Sys.Net.XMLDOM = function Sys$Net$XMLDOM(markup) {
    /// <summary locid="M:J#Sys.Net.XMLDOM.#ctor" />
    /// <param name="markup" type="String"></param>
    var e = Function._validateParams(arguments, [
        {name: "markup", type: String}
    ]);
    if (e) throw e;
    if (!window.DOMParser) {
        var progIDs = [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' ];
        for (var i = 0, l = progIDs.length; i < l; i++) {
            try {
                var xmlDOM = new ActiveXObject(progIDs[i]);
                xmlDOM.async = false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
    }
    else {
        try {
            var domParser = new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        }
        catch (ex) {
        }
    }
    return null;
}
Sys.Net.XMLHttpExecutor = function Sys$Net$XMLHttpExecutor() {
    /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    Sys.Net.XMLHttpExecutor.initializeBase(this);
    var _this = this;
    this._xmlHttpRequest = null;
    this._webRequest = null;
    this._responseAvailable = false;
    this._timedOut = false;
    this._timer = null;
    this._aborted = false;
    this._started = false;
    this._onReadyStateChange = (function () {
        
        if (_this._xmlHttpRequest.readyState === 4 ) {
            try {
                if (typeof(_this._xmlHttpRequest.status) === "undefined" || _this._xmlHttpRequest.status === 0) {
                    return;
                }
            }
            catch(ex) {
                return;
            }
            
            _this._clearTimer();
            _this._responseAvailable = true;
                _this._webRequest.completed(Sys.EventArgs.Empty);
                if (_this._xmlHttpRequest != null) {
                    _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
                    _this._xmlHttpRequest = null;
                }
        }
    });
    this._clearTimer = (function() {
        if (_this._timer != null) {
            window.clearTimeout(_this._timer);
            _this._timer = null;
        }
    });
    this._onTimeout = (function() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut = true;
            _this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest = null;
        }
    });
}
    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.started"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._started;
    }
    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._responseAvailable;
    }
    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type="Boolean" locid="P:J#Sys.Net.XMLHttpExecutor.aborted"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._aborted;
    }
    function Sys$Net$XMLHttpExecutor$executeRequest() {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.executeRequest" />
        if (arguments.length !== 0) throw Error.parameterCount();
        this._webRequest = this.get_webRequest();
        if (this._started) {
            throw Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, 'executeRequest'));
        }
        if (this._webRequest === null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }
        var body = this._webRequest.get_body();
        var headers = this._webRequest.get_headers();
        this._xmlHttpRequest = new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange = this._onReadyStateChange;
        var verb = this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, this._webRequest.getResolvedUrl(), true );
        this._xmlHttpRequest.setRequestHeader("X-Requested-With", "XMLHttpRequest");
        if (headers) {
            for (var header in headers) {
                var val = headers[header];
                if (typeof(val) !== "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }
        if (verb.toLowerCase() === "post") {
            if ((headers === null) || !headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
            }
            if (!body) {
                body = "";
            }
        }
        var timeout = this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer = window.setTimeout(Function.createDelegate(this, this._onTimeout), timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started = true;
    }
    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" />
        /// <param name="header" type="String"></param>
        /// <returns type="String"></returns>
        var e = 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 = this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result = "";
        return result;
    }
    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.getAllResponseHeaders" />
        /// <returns type="String"></returns>
        if (arguments.length !== 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="String" locid="P:J#Sys.Net.XMLHttpExecutor.responseData"></value>
        if (arguments.length !== 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="Number" locid="P:J#Sys.Net.XMLHttpExecutor.statusCode"></value>
        if (arguments.length !== 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 = 0;
        try {
            result = this._xmlHttpRequest.status;
        }
        catch(ex) {
        }
        return result;
    }
    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type="String" locid="P:J#Sys.Net.XMLHttpExecutor.statusText"></value>
        if (arguments.length !== 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="P:J#Sys.Net.XMLHttpExecutor.xml"></value>
        if (arguments.length !== 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 = this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {
            xml = Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);
            if (!xml || !xml.documentElement)
                return null;
        }
        else if (navigator.userAgent.indexOf('MSIE') !== -1 && typeof(xml.setProperty) != 'undefined') {
            xml.setProperty('SelectionLanguage', 'XPath');
        }
        if (xml.documentElement.namespaceURI === "http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName === "parsererror") {
            return null;
        }
        
        if (xml.documentElement.firstChild && xml.documentElement.firstChild.tagName === "parsererror") {
            return null;
        }
        
        return xml;
    }
    function Sys$Net$XMLHttpExecutor$abort() {
        /// <summary locid="M:J#Sys.Net.XMLHttpExecutor.abort" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (!this._started) {
            throw Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }
        if (this._aborted || this._responseAvailable || this._timedOut)
            return;
        this._aborted = true;
        this._clearTimer();
        if (this._xmlHttpRequest && !this._responseAvailable) {
            this._xmlHttpRequest.onreadystatechange = Function.emptyMethod;
            this._xmlHttpRequest.abort();
            
            this._xmlHttpRequest = null;            
            this._webRequest.completed(Sys.EventArgs.Empty);
        }
    }
Sys.Net.XMLHttpExecutor.prototype = {
    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,
    get_started: Sys$Net$XMLHttpExecutor$get_started,
    get_responseAvailable: Sys$Net$XMLHttpExecutor$get_responseAvailable,
    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,
    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,
    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,
    getAllResponseHeaders: Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,
    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,
    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,
    get_xml: Sys$Net$XMLHttpExecutor$get_xml,
    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', Sys.Net.WebRequestExecutor);
 
Sys.Net._WebRequestManager = function Sys$Net$_WebRequestManager() {
    /// <summary locid="P:J#Sys.Net.WebRequestManager.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._defaultTimeout = 0;
    this._defaultExecutorType = "Sys.Net.XMLHttpExecutor";
}
    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        /// <summary locid="E:J#Sys.Net.WebRequestManager.invokingRequest" />
        var e = 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 = 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="E:J#Sys.Net.WebRequestManager.completedRequest" />
        var e = 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 = 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 = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequestManager.defaultTimeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);
        }
        this._defaultTimeout = value;
    }
    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequestManager.defaultExecutorType"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._defaultExecutorType = value;
    }
    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <summary locid="M:J#Sys.Net.WebRequestManager.executeRequest" />
        /// <param name="webRequest" type="Sys.Net.WebRequest"></param>
        var e = Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;
        var executor = webRequest.get_executor();
        if (!executor) {
            var failed = false;
            try {
                var executorType = eval(this._defaultExecutorType);
                executor = new executorType();
            } catch (e) {
                failed = 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 = new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler = this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }
        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype = {
    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 = new Sys.Net._WebRequestManager();
 
Sys.Net.NetworkRequestEventArgs = function Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <summary locid="M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />
    /// <param name="webRequest" type="Sys.Net.WebRequest"></param>
    var e = Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;
    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest = webRequest;
}
    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype = {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEventArgs', Sys.CancelEventArgs);
 
Sys.Net.WebRequest = function Sys$Net$WebRequest() {
    /// <summary locid="M:J#Sys.Net.WebRequest.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
    this._url = "";
    this._headers = { };
    this._body = null;
    this._userContext = null;
    this._httpVerb = null;
    this._executor = null;
    this._invokeCalled = false;
    this._timeout = 0;
}
    function Sys$Net$WebRequest$add_completed(handler) {
    /// <summary locid="E:J#Sys.Net.WebRequest.completed" />
    var e = 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 = 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="M:J#Sys.Net.WebRequest.completed" />
        /// <param name="eventArgs" type="Sys.EventArgs"></param>
        var e = Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var handler = Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");
        if (handler) {
            handler(this._executor, eventArgs);
        }
        handler = this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }
    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$WebRequest$get_url() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequest.url"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._url = value;
    }
    function Sys$Net$WebRequest$get_headers() {
        /// <value locid="P:J#Sys.Net.WebRequest.headers"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._headers;
    }
    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type="String" locid="P:J#Sys.Net.WebRequest.httpVerb"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._httpVerb === null) {
            if (this._body === null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        if (value.length === 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }
        this._httpVerb = value;
    }
    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.body"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._body = value;
    }
    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebRequest.userContext"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._userContext = value;
    }
    function Sys$Net$WebRequest$get_executor() {
        /// <value type="Sys.Net.WebRequestExecutor" locid="P:J#Sys.Net.WebRequest.executor"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;
        if (this._executor !== null && this._executor.get_started()) {
            throw Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }
        this._executor = value;
        this._executor._set_webRequest(this);
    }
    function Sys$Net$WebRequest$get_timeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebRequest.timeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._timeout === 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, Sys.Res.invalidTimeout);
        }
        this._timeout = value;
    }
    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <summary locid="M:J#Sys.Net.WebRequest.getResolvedUrl" />
        /// <returns type="String"></returns>
        if (arguments.length !== 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }
    function Sys$Net$WebRequest$invoke() {
        /// <summary locid="M:J#Sys.Net.WebRequest.invoke" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }
        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled = true;
    }
Sys.Net.WebRequest.prototype = {
    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 = function Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
    if (url && url.indexOf('://') !== -1) {
        return url;
    }
    if (!baseUrl || baseUrl.length === 0) {
        var baseElement = document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > 0) {
            baseUrl = baseElement.href;
        }
        else {
            baseUrl = document.URL;
        }
    }
    var qsStart = baseUrl.indexOf('?');
    if (qsStart !== -1) {
        baseUrl = baseUrl.substr(0, qsStart);
    }
    qsStart = baseUrl.indexOf('#');
    if (qsStart !== -1) {
        baseUrl = baseUrl.substr(0, qsStart);
    }
    baseUrl = baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);
    if (!url || url.length === 0) {
        return baseUrl;
    }
    if (url.charAt(0) === '/') {
        var slashslash = baseUrl.indexOf('://');
        if (slashslash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }
        var nextSlash = baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }
        return baseUrl.substr(0, nextSlash) + url;
    }
    else {
        var lastSlash = baseUrl.lastIndexOf('/');
        if (lastSlash === -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }
        return baseUrl.substr(0, lastSlash+1) + url;
    }
}
Sys.Net.WebRequest._createQueryString = function Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod, addParams) {
    encodeMethod = encodeMethod || encodeURIComponent;
    var i = 0, obj, val, arg, sb = new Sys.StringBuilder();
    if (queryString) {
        for (arg in queryString) {
            obj = queryString[arg];
            if (typeof(obj) === "function") continue;
            val = Sys.Serialization.JavaScriptSerializer.serialize(obj);
            if (i++) {
                sb.append('&');
            }
            sb.append(arg);
            sb.append('=');
            sb.append(encodeMethod(val));
        }
    }
    if (addParams) {
        if (i) {
            sb.append('&');
        }
        sb.append(addParams);
    }
    return sb.toString();
}
Sys.Net.WebRequest._createUrl = function Sys$Net$WebRequest$_createUrl(url, queryString, addParams) {
    if (!queryString && !addParams) {
        return url;
    }
    var qs = Sys.Net.WebRequest._createQueryString(queryString, null, addParams);
    return qs.length
        ? url + ((url && url.indexOf('?') >= 0) ? "&" : "?") + qs
        : url;
}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
 
Sys._ScriptLoaderTask = function Sys$_ScriptLoaderTask(scriptElement, completedCallback) {
    /// <summary locid="M:J#Sys._ScriptLoaderTask.#ctor" />
    /// <param name="scriptElement" domElement="true"></param>
    /// <param name="completedCallback" type="Function"></param>
    var e = Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;
    this._scriptElement = scriptElement;
    this._completedCallback = completedCallback;
}
    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement="true" locid="P:J#Sys._ScriptLoaderTask.scriptElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._scriptElement;
    }
    function Sys$_ScriptLoaderTask$dispose() {
        if(this._disposed) {
            return;
        }
        this._disposed = true;
        this._removeScriptElementHandlers();
        Sys._ScriptLoaderTask._clearScript(this._scriptElement);
        this._scriptElement = null;
    }
    function Sys$_ScriptLoaderTask$execute() {
        /// <summary locid="M:J#Sys._ScriptLoaderTask.execute" />
        if (arguments.length !== 0) throw Error.parameterCount();
        if (this._ensureReadyStateLoaded()) {
            this._executeInternal();
        }
    }
    function Sys$_ScriptLoaderTask$_executeInternal() {
        this._addScriptElementHandlers();
        var headElements = document.getElementsByTagName('head');
        if (headElements.length === 0) {
             throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
        }
        else {
             headElements[0].appendChild(this._scriptElement);
        }
    }
    function Sys$_ScriptLoaderTask$_ensureReadyStateLoaded() {
        if (this._useReadyState() && this._scriptElement.readyState !== 'loaded' && this._scriptElement.readyState !== 'complete') {
            this._scriptDownloadDelegate = Function.createDelegate(this, this._executeInternal);
            $addHandler(this._scriptElement, 'readystatechange', this._scriptDownloadDelegate);
            return false;
        }
        return true;
    }
    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
        if (this._scriptDownloadDelegate) {
            $removeHandler(this._scriptElement, 'readystatechange', this._scriptDownloadDelegate);
            this._scriptDownloadDelegate = null;
        }
        this._scriptLoadDelegate = Function.createDelegate(this, this._scriptLoadHandler);
        if (this._useReadyState()) {
            $addHandler(this._scriptElement, 'readystatechange', this._scriptLoadDelegate);
        } else {
            $addHandler(this._scriptElement, 'load', this._scriptLoadDelegate);
        }
        if (this._scriptElement.addEventListener) {
            this._scriptErrorDelegate = Function.createDelegate(this, this._scriptErrorHandler);
            this._scriptElement.addEventListener('error', this._scriptErrorDelegate, false);
        }
    }
    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
        if(this._scriptLoadDelegate) {
            var scriptElement = this.get_scriptElement();
            if (this._scriptDownloadDelegate) {
                $removeHandler(this._scriptElement, 'readystatechange', this._scriptDownloadDelegate);
                this._scriptDownloadDelegate = null;
            }
            if (this._useReadyState() && this._scriptLoadDelegate) {
                $removeHandler(scriptElement, 'readystatechange', this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'load', this._scriptLoadDelegate);
            }
            if (this._scriptErrorDelegate) {
                this._scriptElement.removeEventListener('error', this._scriptErrorDelegate, false);
                this._scriptErrorDelegate = null;
            }
            this._scriptLoadDelegate = null;
        }
    }
    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
        if(this._disposed) {
            return;
        }
        
        this._completedCallback(this.get_scriptElement(), false);
    }
    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
        if(this._disposed) {
            return;
        }
        var scriptElement = this.get_scriptElement();
        if (this._useReadyState() && scriptElement.readyState !== 'complete') {
            return;
        }
        this._completedCallback(scriptElement, true);
    }
    function Sys$_ScriptLoaderTask$_useReadyState() {
        return (Sys.Browser.agent === Sys.Browser.InternetExplorer && (Sys.Browser.version < 9 || ((document.documentMode || 0) < 9)));
    }
Sys._ScriptLoaderTask.prototype = {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
    dispose: Sys$_ScriptLoaderTask$dispose,
    execute: Sys$_ScriptLoaderTask$execute,
    _executeInternal: Sys$_ScriptLoaderTask$_executeInternal,
    _ensureReadyStateLoaded: Sys$_ScriptLoaderTask$_ensureReadyStateLoaded,
    _addScriptElementHandlers: Sys$_ScriptLoaderTask$_addScriptElementHandlers,    
    _removeScriptElementHandlers: Sys$_ScriptLoaderTask$_removeScriptElementHandlers,    
    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler,
    _useReadyState: Sys$_ScriptLoaderTask$_useReadyState
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, Sys.IDisposable);
Sys._ScriptLoaderTask._clearScript = function Sys$_ScriptLoaderTask$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug && scriptElement.parentNode) {
        scriptElement.parentNode.removeChild(scriptElement);
    }
}
~,//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxSerialization.js
// Microsoft AJAX Framework Serialization.
/// <reference name="MicrosoftAjaxCore.js" />
Type._registerScript("MicrosoftAjaxSerialization.js", ["MicrosoftAjaxCore.js"]);
Type.registerNamespace('Sys.Serialization');
Sys.Serialization.JavaScriptSerializer = function Sys$Serialization$JavaScriptSerializer() {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.#ctor" />
    if (arguments.length !== 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.JavaScriptSerializer');
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs = [];
Sys.Serialization.JavaScriptSerializer._charsToEscape = [];
Sys.Serialization.JavaScriptSerializer._dateRegEx = new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"', 'g');
Sys.Serialization.JavaScriptSerializer._escapeChars = {};
Sys.Serialization.JavaScriptSerializer._escapeRegEx = new RegExp('["\\\\\\x00-\\x1F]', 'i');
Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal = new RegExp('["\\\\\\x00-\\x1F]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonRegEx = new RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonStringRegEx = new RegExp('"(\\\\.|[^"\\\\])*"', 'g');
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName = '__type';
Sys.Serialization.JavaScriptSerializer._init = function Sys$Serialization$JavaScriptSerializer$_init() {
    var replaceChars = ['\\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] = '\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] = new RegExp('\\\\', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] = '\\\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscape[1] = '"';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] = new RegExp('"', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['"'] = '\\"';
    for (var i = 0; i < 32; i++) {
        var c = String.fromCharCode(i);
        Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] = c;
        Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] = new RegExp(c, 'g');
        Sys.Serialization.JavaScriptSerializer._escapeChars[c] = replaceChars[i];
    }
}
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(object, stringBuilder) {
    stringBuilder.append(object.toString());
}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder = 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 = function Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string, stringBuilder) {
    stringBuilder.append('"');
    if (Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) {
        if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length === 0) {
            Sys.Serialization.JavaScriptSerializer._init();
        }
        if (string.length < 128) {
            string = string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,
                function(x) { return Sys.Serialization.JavaScriptSerializer._escapeChars[x]; });
        }
        else {
            for (var i = 0; i < 34; i++) {
                var c = Sys.Serialization.JavaScriptSerializer._charsToEscape[i];
                if (string.indexOf(c) !== -1) {
                    if (Sys.Browser.agent === Sys.Browser.Opera || Sys.Browser.agent === Sys.Browser.FireFox) {
                        string = string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[c]);
                    }
                    else {
                        string = string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c],
                            Sys.Serialization.JavaScriptSerializer._escapeChars[c]);
                    }
                }
            }
       }
    }
    stringBuilder.append(string);
    stringBuilder.append('"');
}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder = function Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, stringBuilder, sort, prevObjects) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
            if (prevObjects){
                for( var j = 0; j < prevObjects.length; j++) {
                    if (prevObjects[j] === object) {
                        throw Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);
                    }
                }
            }
            else {
                prevObjects = new Array();
            }
            try {
                Array.add(prevObjects, object);
                
                if (Number.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object, stringBuilder);
                }
                else if (Boolean.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(object, stringBuilder);
                }
                else if (String.isInstanceOfType(object)){
                    Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object, stringBuilder);
                }
            
                else if (Array.isInstanceOfType(object)) {
                    stringBuilder.append('[');
                   
                    for (i = 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 = [];
                    var propertyCount = 0;
                    for (var name in object) {
                        if (name.startsWith('$')) {
                            continue;
                        }
                        if (name === Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && propertyCount !== 0){
                            properties[propertyCount++] = properties[0];
                            properties[0] = name;
                        }
                        else{
                            properties[propertyCount++] = name;
                        }
                    }
                    if (sort) properties.sort();
                    stringBuilder.append('{');
                    var needComma = false;
                     
                    for (i=0; i<propertyCount; i++) {
                        var value = object[properties[i]];
                        if (typeof value !== 'undefined' && typeof value !== 'function') {
                            if (needComma) {
                                stringBuilder.append(',');
                            }
                            else {
                                needComma = true;
                            }
                           
                            Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i], stringBuilder, sort, prevObjects);
                            stringBuilder.append(':');
                            Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, stringBuilder, sort, prevObjects);
                          
                        }
                    }
                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(object, stringBuilder);
        break;
    default:
        stringBuilder.append('null');
        break;
    }
}
Sys.Serialization.JavaScriptSerializer.serialize = function Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.serialize" />
    /// <param name="object" mayBeNull="true"></param>
    /// <returns type="String"></returns>
    var e = Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    var stringBuilder = new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, stringBuilder, false);
    return stringBuilder.toString();
}
Sys.Serialization.JavaScriptSerializer.deserialize = function Sys$Serialization$JavaScriptSerializer$deserialize(data, secure) {
    /// <summary locid="M:J#Sys.Serialization.JavaScriptSerializer.deserialize" />
    /// <param name="data" type="String"></param>
    /// <param name="secure" type="Boolean" optional="true"></param>
    /// <returns></returns>
    var e = Function._validateParams(arguments, [
        {name: "data", type: String},
        {name: "secure", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    
    if (data.length === 0) throw Error.argument('data', Sys.Res.cannotDeserializeEmptyString);
    try {    
        var exp = data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new Date($2)");
        
        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);
    }
}
//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxTimer.js
// Sys.UI._Timer component
Type._registerScript("Timer.js", ["MicrosoftAjaxComponentModel.js"]);
Sys.UI._Timer = function Sys$UI$_Timer(element) {
    Sys.UI._Timer.initializeBase(this,[element]);
    this._interval = 60000;
    this._enabled = true;
    this._postbackPending = false;
    this._raiseTickDelegate = null;
    this._endRequestHandlerDelegate = null;
    this._timer = null;
    this._pageRequestManager = null;
    this._uniqueID = null;
}
    function Sys$UI$_Timer$get_enabled() {
        /// <value type="Boolean" locid="P:J#Sys.UI._Timer.enabled"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._enabled;
    }
    function Sys$UI$_Timer$set_enabled(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._enabled = value;
    }
    function Sys$UI$_Timer$get_interval() {
        /// <value type="Number" locid="P:J#Sys.UI._Timer.interval"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._interval;
    }
    function Sys$UI$_Timer$set_interval(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        this._interval = value;
    }
    function Sys$UI$_Timer$get_uniqueID(){
        /// <value type="String" locid="P:J#Sys.UI._Timer.uniqueID"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._uniqueID;
    }
    function Sys$UI$_Timer$set_uniqueID(value){
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._uniqueID = value;
    }
    function Sys$UI$_Timer$dispose(){
       this._stopTimer();
       if(this._pageRequestManager !== null){
           this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);
       }
       Sys.UI._Timer.callBaseMethod(this,"dispose");
    }
    function Sys$UI$_Timer$_doPostback(){
        __doPostBack(this.get_uniqueID(),'');
    }
    function Sys$UI$_Timer$_handleEndRequest(sender, arg){
        var dataItem = arg.get_dataItems()[this.get_id()];
	    if (dataItem){
            this._update(dataItem[0],dataItem[1]);
	  	}
	  
	    if ((this._postbackPending === true) && (this._pageRequestManager !== null)&&(this._pageRequestManager.get_isInAsyncPostBack() === false)){
    	   	this._postbackPending = false;
            this._doPostback();
        }
	   
    }
    function Sys$UI$_Timer$initialize(){
        Sys.UI._Timer.callBaseMethod(this, 'initialize');
    	this._raiseTickDelegate = Function.createDelegate(this,this._raiseTick);
    	this._endRequestHandlerDelegate = Function.createDelegate(this,this._handleEndRequest);
    	if (Sys.WebForms && Sys.WebForms.PageRequestManager){
           this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();  
    	}
    	if (this._pageRequestManager !== null ){
    	    this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);
    	}
        if(this.get_enabled()) {
            this._startTimer();
        }
    }
    function Sys$UI$_Timer$_raiseTick() {
        this._startTimer();
        if ((this._pageRequestManager === null) || (!this._pageRequestManager.get_isInAsyncPostBack())){
            this._doPostback();
            this._postbackPending = false;
        } 
        else {
            this._postbackPending = true;
        }
    }
    function Sys$UI$_Timer$_startTimer(){
        this._timer = window.setTimeout(Function.createDelegate(this,this._raiseTick),this.get_interval());
    }
    function Sys$UI$_Timer$_stopTimer(){
	    if (this._timer !== null){
	 	    window.clearTimeout(this._timer);
		    this._timer = null;
       } 	
    }
    function Sys$UI$_Timer$_update(enabled,interval) {
        var stopped = !this.get_enabled();
        var intervalChanged= (this.get_interval() !== interval);
	    if ((!stopped) && ((!enabled)||(intervalChanged))){
    	  	this._stopTimer();
    		stopped = true;
       	} 
    	this.set_enabled(enabled);
    	this.set_interval(interval);
    	if ((this.get_enabled()) && (stopped)){
    	    this._startTimer();
    	}
    }
Sys.UI._Timer.prototype = {
    get_enabled: Sys$UI$_Timer$get_enabled,
    set_enabled: Sys$UI$_Timer$set_enabled,
    get_interval: Sys$UI$_Timer$get_interval,
    set_interval: Sys$UI$_Timer$set_interval,
    get_uniqueID: Sys$UI$_Timer$get_uniqueID,
    set_uniqueID: Sys$UI$_Timer$set_uniqueID,
    dispose: Sys$UI$_Timer$dispose,
    _doPostback: Sys$UI$_Timer$_doPostback,
    _handleEndRequest: Sys$UI$_Timer$_handleEndRequest,
    initialize: Sys$UI$_Timer$initialize,
    _raiseTick: Sys$UI$_Timer$_raiseTick,
    _startTimer: Sys$UI$_Timer$_startTimer,
    _stopTimer: Sys$UI$_Timer$_stopTimer,
    _update: Sys$UI$_Timer$_update
}
Sys.UI._Timer.registerClass('Sys.UI._Timer', Sys.UI.Control);

//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxWebForms.js
// Microsoft AJAX ASP.NET WebForms Framework.
Type._registerScript("MicrosoftAjaxWebForms.js", [
	"MicrosoftAjaxCore.js",
	"MicrosoftAjaxSerialization.js",
	"MicrosoftAjaxNetwork.js",
	"MicrosoftAjaxComponentModel.js"]);
Type.registerNamespace('Sys.WebForms');
Sys.WebForms.BeginRequestEventArgs = function Sys$WebForms$BeginRequestEventArgs(request, postBackElement, updatePanelsToUpdate) {
    /// <summary locid="M:J#Sys.WebForms.BeginRequestEventArgs.#ctor" />
    /// <param name="request" type="Sys.Net.WebRequest"></param>
    /// <param name="postBackElement" domElement="true" mayBeNull="true"></param>
    /// <param name="updatePanelsToUpdate" type="Array" elementType="String" mayBeNull="true" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", mayBeNull: true, domElement: true},
        {name: "updatePanelsToUpdate", type: Array, mayBeNull: true, optional: true, elementType: String}
    ]);
    if (e) throw e;
    Sys.WebForms.BeginRequestEventArgs.initializeBase(this);
    this._request = request;
    this._postBackElement = postBackElement;
    this._updatePanelsToUpdate = updatePanelsToUpdate;
}
    function Sys$WebForms$BeginRequestEventArgs$get_postBackElement() {
        /// <value domElement="true" mayBeNull="true" locid="P:J#Sys.WebForms.BeginRequestEventArgs.postBackElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._postBackElement;
    }
    function Sys$WebForms$BeginRequestEventArgs$get_request() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.WebForms.BeginRequestEventArgs.request"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._request;
    }
    function Sys$WebForms$BeginRequestEventArgs$get_updatePanelsToUpdate() {
        /// <value type="Array" elementType="String" locid="P:J#Sys.WebForms.BeginRequestEventArgs.updatePanelsToUpdate"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._updatePanelsToUpdate ? Array.clone(this._updatePanelsToUpdate) : [];
    }
Sys.WebForms.BeginRequestEventArgs.prototype = {
    get_postBackElement: Sys$WebForms$BeginRequestEventArgs$get_postBackElement,
    get_request: Sys$WebForms$BeginRequestEventArgs$get_request,
    get_updatePanelsToUpdate: Sys$WebForms$BeginRequestEventArgs$get_updatePanelsToUpdate
}
Sys.WebForms.BeginRequestEventArgs.registerClass('Sys.WebForms.BeginRequestEventArgs', Sys.EventArgs);
 
Sys.WebForms.EndRequestEventArgs = function Sys$WebForms$EndRequestEventArgs(error, dataItems, response) {
    /// <summary locid="M:J#Sys.WebForms.EndRequestEventArgs.#ctor" />
    /// <param name="error" type="Error" mayBeNull="true"></param>
    /// <param name="dataItems" type="Object" mayBeNull="true"></param>
    /// <param name="response" type="Sys.Net.WebRequestExecutor"></param>
    var e = Function._validateParams(arguments, [
        {name: "error", type: Error, mayBeNull: true},
        {name: "dataItems", type: Object, mayBeNull: true},
        {name: "response", type: Sys.Net.WebRequestExecutor}
    ]);
    if (e) throw e;
    Sys.WebForms.EndRequestEventArgs.initializeBase(this);
    this._errorHandled = false;
    this._error = error;
    this._dataItems = dataItems || new Object();
    this._response = response;
}
    function Sys$WebForms$EndRequestEventArgs$get_dataItems() {
        /// <value type="Object" locid="P:J#Sys.WebForms.EndRequestEventArgs.dataItems"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$EndRequestEventArgs$get_error() {
        /// <value type="Error" locid="P:J#Sys.WebForms.EndRequestEventArgs.error"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._error;
    }
    function Sys$WebForms$EndRequestEventArgs$get_errorHandled() {
        /// <value type="Boolean" locid="P:J#Sys.WebForms.EndRequestEventArgs.errorHandled"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._errorHandled;
    }
    function Sys$WebForms$EndRequestEventArgs$set_errorHandled(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._errorHandled = value;
    }
    function Sys$WebForms$EndRequestEventArgs$get_response() {
        /// <value type="Sys.Net.WebRequestExecutor" locid="P:J#Sys.WebForms.EndRequestEventArgs.response"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._response;
    }
Sys.WebForms.EndRequestEventArgs.prototype = {
    get_dataItems: Sys$WebForms$EndRequestEventArgs$get_dataItems,
    get_error: Sys$WebForms$EndRequestEventArgs$get_error,
    get_errorHandled: Sys$WebForms$EndRequestEventArgs$get_errorHandled,
    set_errorHandled: Sys$WebForms$EndRequestEventArgs$set_errorHandled,
    get_response: Sys$WebForms$EndRequestEventArgs$get_response
}
Sys.WebForms.EndRequestEventArgs.registerClass('Sys.WebForms.EndRequestEventArgs', Sys.EventArgs);
Sys.WebForms.InitializeRequestEventArgs = function Sys$WebForms$InitializeRequestEventArgs(request, postBackElement, updatePanelsToUpdate) {
    /// <summary locid="M:J#Sys.WebForms.InitializeRequestEventArgs.#ctor" />
    /// <param name="request" type="Sys.Net.WebRequest"></param>
    /// <param name="postBackElement" domElement="true" mayBeNull="true"></param>
    /// <param name="updatePanelsToUpdate" type="Array" elementType="String" mayBeNull="true" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", mayBeNull: true, domElement: true},
        {name: "updatePanelsToUpdate", type: Array, mayBeNull: true, optional: true, elementType: String}
    ]);
    if (e) throw e;
    Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);
    this._request = request;
    this._postBackElement = postBackElement;
    this._updatePanelsToUpdate = updatePanelsToUpdate;
}
    function Sys$WebForms$InitializeRequestEventArgs$get_postBackElement() {
        /// <value domElement="true" mayBeNull="true" locid="P:J#Sys.WebForms.InitializeRequestEventArgs.postBackElement"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._postBackElement;
    }
    function Sys$WebForms$InitializeRequestEventArgs$get_request() {
        /// <value type="Sys.Net.WebRequest" locid="P:J#Sys.WebForms.InitializeRequestEventArgs.request"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._request;
    }
    function Sys$WebForms$InitializeRequestEventArgs$get_updatePanelsToUpdate() {
        /// <value type="Array" elementType="String" locid="P:J#Sys.WebForms.InitializeRequestEventArgs.updatePanelsToUpdate"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._updatePanelsToUpdate ? Array.clone(this._updatePanelsToUpdate) : [];
    }
    function Sys$WebForms$InitializeRequestEventArgs$set_updatePanelsToUpdate(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Array, elementType: String}]);
        if (e) throw e;
        this._updated = true;
        this._updatePanelsToUpdate = value;
    }
Sys.WebForms.InitializeRequestEventArgs.prototype = {
    get_postBackElement: Sys$WebForms$InitializeRequestEventArgs$get_postBackElement,
    get_request: Sys$WebForms$InitializeRequestEventArgs$get_request,
    get_updatePanelsToUpdate: Sys$WebForms$InitializeRequestEventArgs$get_updatePanelsToUpdate,
    set_updatePanelsToUpdate: Sys$WebForms$InitializeRequestEventArgs$set_updatePanelsToUpdate
}
Sys.WebForms.InitializeRequestEventArgs.registerClass('Sys.WebForms.InitializeRequestEventArgs', Sys.CancelEventArgs);
 
Sys.WebForms.PageLoadedEventArgs = function Sys$WebForms$PageLoadedEventArgs(panelsUpdated, panelsCreated, dataItems) {
    /// <summary locid="M:J#Sys.WebForms.PageLoadedEventArgs.#ctor" />
    /// <param name="panelsUpdated" type="Array"></param>
    /// <param name="panelsCreated" type="Array"></param>
    /// <param name="dataItems" type="Object" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "panelsUpdated", type: Array},
        {name: "panelsCreated", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.WebForms.PageLoadedEventArgs.initializeBase(this);
    this._panelsUpdated = panelsUpdated;
    this._panelsCreated = panelsCreated;
    this._dataItems = dataItems || new Object();
}
    function Sys$WebForms$PageLoadedEventArgs$get_dataItems() {
        /// <value type="Object" locid="P:J#Sys.WebForms.PageLoadedEventArgs.dataItems"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadedEventArgs.panelsCreated"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsCreated;
    }
    function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadedEventArgs.panelsUpdated"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsUpdated;
    }
Sys.WebForms.PageLoadedEventArgs.prototype = {
    get_dataItems: Sys$WebForms$PageLoadedEventArgs$get_dataItems,
    get_panelsCreated: Sys$WebForms$PageLoadedEventArgs$get_panelsCreated,
    get_panelsUpdated: Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated
}
Sys.WebForms.PageLoadedEventArgs.registerClass('Sys.WebForms.PageLoadedEventArgs', Sys.EventArgs);
Sys.WebForms.PageLoadingEventArgs = function Sys$WebForms$PageLoadingEventArgs(panelsUpdating, panelsDeleting, dataItems) {
    /// <summary locid="M:J#Sys.WebForms.PageLoadingEventArgs.#ctor" />
    /// <param name="panelsUpdating" type="Array"></param>
    /// <param name="panelsDeleting" type="Array"></param>
    /// <param name="dataItems" type="Object" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "panelsUpdating", type: Array},
        {name: "panelsDeleting", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.WebForms.PageLoadingEventArgs.initializeBase(this);
    this._panelsUpdating = panelsUpdating;
    this._panelsDeleting = panelsDeleting;
    this._dataItems = dataItems || new Object();
}
    function Sys$WebForms$PageLoadingEventArgs$get_dataItems() {
        /// <value type="Object" locid="P:J#Sys.WebForms.PageLoadingEventArgs.dataItems"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadingEventArgs.panelsDeleting"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsDeleting;
    }
    function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating() {
        /// <value type="Array" locid="P:J#Sys.WebForms.PageLoadingEventArgs.panelsUpdating"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._panelsUpdating;
    }
Sys.WebForms.PageLoadingEventArgs.prototype = {
    get_dataItems: Sys$WebForms$PageLoadingEventArgs$get_dataItems,
    get_panelsDeleting: Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting,
    get_panelsUpdating: Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating
}
Sys.WebForms.PageLoadingEventArgs.registerClass('Sys.WebForms.PageLoadingEventArgs', Sys.EventArgs);
 
Sys._ScriptLoader = function Sys$_ScriptLoader() {
    this._scriptsToLoad = null;
    this._sessions = [];
    this._scriptLoadedDelegate = Function.createDelegate(this, this._scriptLoadedHandler);
}
    function Sys$_ScriptLoader$dispose() {
        this._stopSession();
        this._loading = false;
        if(this._events) {
            delete this._events;
        }
        this._sessions = null;
        this._currentSession = null;
        this._scriptLoadedDelegate = null;        
    }
    function Sys$_ScriptLoader$loadScripts(scriptTimeout, allScriptsLoadedCallback, scriptLoadFailedCallback, scriptLoadTimeoutCallback) {
        /// <summary locid="M:J#Sys._ScriptLoader.loadScripts" />
        /// <param name="scriptTimeout" type="Number" integer="true"></param>
        /// <param name="allScriptsLoadedCallback" type="Function" mayBeNull="true"></param>
        /// <param name="scriptLoadFailedCallback" type="Function" mayBeNull="true"></param>
        /// <param name="scriptLoadTimeoutCallback" type="Function" mayBeNull="true"></param>
        var e = 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 = {
            allScriptsLoadedCallback: allScriptsLoadedCallback,
            scriptLoadFailedCallback: scriptLoadFailedCallback,
            scriptLoadTimeoutCallback: scriptLoadTimeoutCallback,
            scriptsToLoad: this._scriptsToLoad,
            scriptTimeout: scriptTimeout };
        this._scriptsToLoad = null;
        this._sessions[this._sessions.length] = session;
        
        if (!this._loading) {
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <summary locid="M:J#Sys._ScriptLoader.queueCustomScriptTag" />
        /// <param name="scriptAttributes" mayBeNull="false"></param>
        var e = Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad = [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }
    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <summary locid="M:J#Sys._ScriptLoader.queueScriptBlock" />
        /// <param name="scriptContent" type="String" mayBeNull="false"></param>
        var e = Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad = [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }
    function Sys$_ScriptLoader$queueScriptReference(scriptUrl, fallback) {
        /// <summary locid="M:J#Sys._ScriptLoader.queueScriptReference" />
        /// <param name="scriptUrl" type="String" mayBeNull="false"></param>
        /// <param name="fallback" mayBeNull="true" optional="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "scriptUrl", type: String},
            {name: "fallback", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad = [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl, fallback: fallback});
    }
    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement = document.createElement('script');
        scriptElement.type = 'text/javascript';
        for (var attr in queuedScript) {
            scriptElement[attr] = queuedScript[attr];
        }
        
        return scriptElement;
    }
    function Sys$_ScriptLoader$_loadScriptsInternal() {
        var session = this._currentSession;
        if (session.scriptsToLoad && session.scriptsToLoad.length > 0) {
            var nextScript = Array.dequeue(session.scriptsToLoad);
            var onLoad = this._scriptLoadedDelegate;
            if (nextScript.fallback) {
                var fallback = nextScript.fallback;
                delete nextScript.fallback;
                
                var self = this;
                onLoad = function(scriptElement, loaded) {
                    loaded || (function() {
                        var fallbackScriptElement = self._createScriptElement({src: fallback});
                        self._currentTask = new Sys._ScriptLoaderTask(fallbackScriptElement, self._scriptLoadedDelegate);
                        self._currentTask.execute();
                    })();
                };
            }            
            var scriptElement = this._createScriptElement(nextScript);
            
            if (scriptElement.text && Sys.Browser.agent === Sys.Browser.Safari) {
                scriptElement.innerHTML = scriptElement.text;
                delete scriptElement.text;
            }            
            if (typeof(nextScript.src) === "string") {
                this._currentTask = new Sys._ScriptLoaderTask(scriptElement, onLoad);
                this._currentTask.execute();
            }
            else {
                var headElements = document.getElementsByTagName('head');
                if (headElements.length === 0) {
                     throw new Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
                }
                else {
                     headElements[0].appendChild(scriptElement);
                }
                
                
                Sys._ScriptLoaderTask._clearScript(scriptElement);
                this._loadScriptsInternal();
            }
        }
        else {
            this._stopSession();
            var callback = session.allScriptsLoadedCallback;
            if(callback) {
                callback(this);
            }
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$_nextSession() {
        if (this._sessions.length === 0) {
            this._loading = false;
            this._currentSession = null;
            return;
        }
        this._loading = true;
        
        var session = Array.dequeue(this._sessions);
        this._currentSession = session;
        this._loadScriptsInternal();
    }
    function Sys$_ScriptLoader$_raiseError() {
        var callback = this._currentSession.scriptLoadFailedCallback;
        var scriptElement = this._currentTask.get_scriptElement();
        this._stopSession();
        
        if(callback) {
            callback(this, scriptElement);
            this._nextSession();
        }
        else {
            this._loading = false;
            throw Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, loaded) {
        if (loaded) {
            Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src);
            this._currentTask.dispose();
            this._currentTask = null;
            this._loadScriptsInternal();
        }
        else {
            this._raiseError();
        }
    }
    function Sys$_ScriptLoader$_stopSession() {
        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask = null;
        }
    }
Sys._ScriptLoader.prototype = {
    dispose: Sys$_ScriptLoader$dispose,
    loadScripts: Sys$_ScriptLoader$loadScripts,
    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,
    _stopSession: Sys$_ScriptLoader$_stopSession    
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, Sys.IDisposable);
Sys._ScriptLoader.getInstance = function Sys$_ScriptLoader$getInstance() {
    var sl = Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl = Sys._ScriptLoader._activeInstance = new Sys._ScriptLoader();
    }
    return sl;
}
Sys._ScriptLoader.isScriptLoaded = function Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
    var dummyScript = document.createElement('script');
    dummyScript.src = scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), dummyScript.src);
}
Sys._ScriptLoader.readLoadedScripts = function Sys$_ScriptLoader$readLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts = Sys._ScriptLoader._referencedScripts = [];
        var existingScripts = document.getElementsByTagName('script');
        for (var i = existingScripts.length - 1; i >= 0; i--) {
            var scriptNode = existingScripts[i];
            var scriptSrc = scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}
Sys._ScriptLoader._errorScriptLoadFailed = function Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl) {
    var errorMessage;
    errorMessage = Sys.Res.scriptLoadFailedDebug;
    var displayMessage = "Sys.ScriptLoadFailedException: " + String.format(errorMessage, scriptUrl);
    var e = Error.create(displayMessage, {name: 'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}
Sys._ScriptLoader._getLoadedScripts = function Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts = [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}
 
Sys.WebForms.PageRequestManager = function Sys$WebForms$PageRequestManager() {
    this._form = null;
    this._activeDefaultButton = null;
    this._activeDefaultButtonClicked = false;
    this._updatePanelIDs = null;
    this._updatePanelClientIDs = null;
    this._updatePanelHasChildrenAsTriggers = null;
    this._asyncPostBackControlIDs = null;
    this._asyncPostBackControlClientIDs = null;
    this._postBackControlIDs = null;
    this._postBackControlClientIDs = null;
    this._scriptManagerID = null;
    this._pageLoadedHandler = null;
    this._additionalInput = null;
    this._onsubmit = null;
    this._onSubmitStatements = [];
    this._originalDoPostBack = null;
    this._originalDoPostBackWithOptions = null;
    this._originalFireDefaultButton = null;
    this._originalDoCallback = null;
    this._isCrossPost = false;
    this._postBackSettings = null;
    this._request = null;
    this._onFormSubmitHandler = null;
    this._onFormElementClickHandler = null;
    this._onWindowUnloadHandler = null;
    this._asyncPostBackTimeout = null;
    this._controlIDToFocus = null;
    this._scrollPosition = null;
    this._processingRequest = false;
    this._scriptDisposes = {};
    
    this._transientFields = ["__VIEWSTATEENCRYPTED", "__VIEWSTATEFIELDCOUNT"];
    this._textTypes = /^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
}
    function Sys$WebForms$PageRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events = new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$WebForms$PageRequestManager$get_isInAsyncPostBack() {
        /// <value type="Boolean" locid="P:J#Sys.WebForms.PageRequestManager.isInAsyncPostBack"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._request !== null;
    }
    function Sys$WebForms$PageRequestManager$add_beginRequest(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.beginRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("beginRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_beginRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("beginRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$add_endRequest(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.endRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_endRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$add_initializeRequest(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.initializeRequest" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("initializeRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_initializeRequest(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("initializeRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$add_pageLoaded(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.pageLoaded" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoaded(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$add_pageLoading(handler) {
        /// <summary locid="E:J#Sys.WebForms.PageRequestManager.pageLoading" />
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoading(handler) {
        var e = Function._validateParams(arguments, [{name: "handler", type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$abortPostBack() {
        if (!this._processingRequest && this._request) {
            this._request.get_executor().abort();
            this._request = null;
        }
    }
    function Sys$WebForms$PageRequestManager$beginAsyncPostBack(updatePanelsToUpdate, eventTarget, eventArgument, causesValidation, validationGroup) {
        /// <summary locid="M:J#Sys.WebForms.PageRequestManager.beginAsyncPostBack" />
        /// <param name="updatePanelsToUpdate" type="Array" elementType="String" mayBeNull="true" optional="true"></param>
        /// <param name="eventTarget" type="String" mayBeNull="true" optional="true"></param>
        /// <param name="eventArgument" type="String" mayBeNull="true" optional="true"></param>
        /// <param name="causesValidation" type="Boolean" mayBeNull="true" optional="true"></param>
        /// <param name="validationGroup" type="String" mayBeNull="true" optional="true"></param>
        var e = Function._validateParams(arguments, [
            {name: "updatePanelsToUpdate", type: Array, mayBeNull: true, optional: true, elementType: String},
            {name: "eventTarget", type: String, mayBeNull: true, optional: true},
            {name: "eventArgument", type: String, mayBeNull: true, optional: true},
            {name: "causesValidation", type: Boolean, mayBeNull: true, optional: true},
            {name: "validationGroup", type: String, mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        if (causesValidation && (typeof(Page_ClientValidate) === 'function') && !Page_ClientValidate(validationGroup || null)) {
            return;
        }
        this._postBackSettings = this._createPostBackSettings(true, updatePanelsToUpdate, eventTarget);
        var form = this._form;
        form.__EVENTTARGET.value = (eventTarget || "");
        form.__EVENTARGUMENT.value = (eventArgument || "");
        this._isCrossPost = false;
        this._additionalInput = null;
        this._onFormSubmit();
    }
    function Sys$WebForms$PageRequestManager$_cancelPendingCallbacks() {
        for (var i = 0, l = window.__pendingCallbacks.length; i < l; i++) {
            var callback = window.__pendingCallbacks[i];
            if (callback) {
                if (!callback.async) {
                    window.__synchronousCallBackIndex = -1;
                }
                window.__pendingCallbacks[i] = null;
                var callbackFrameID = "__CALLBACKFRAME" + i;
                var xmlRequestFrame = document.getElementById(callbackFrameID);
                if (xmlRequestFrame) {
                    xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
                }
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_commitControls(updatePanelData, asyncPostBackTimeout) {
        if (updatePanelData) {
            this._updatePanelIDs = updatePanelData.updatePanelIDs;
            this._updatePanelClientIDs = updatePanelData.updatePanelClientIDs;
            this._updatePanelHasChildrenAsTriggers = updatePanelData.updatePanelHasChildrenAsTriggers;
            this._asyncPostBackControlIDs = updatePanelData.asyncPostBackControlIDs;
            this._asyncPostBackControlClientIDs = updatePanelData.asyncPostBackControlClientIDs;
            this._postBackControlIDs = updatePanelData.postBackControlIDs;
            this._postBackControlClientIDs = updatePanelData.postBackControlClientIDs;
        }
        if (typeof(asyncPostBackTimeout) !== 'undefined' && asyncPostBackTimeout !== null) {
            this._asyncPostBackTimeout = asyncPostBackTimeout * 1000;
        }
    }
    function Sys$WebForms$PageRequestManager$_createHiddenField(id, value) {
        var container, field = document.getElementById(id);
        if (field) {
            if (!field._isContained) {
                field.parentNode.removeChild(field);
            }
            else {
                container = field.parentNode;
            }
        }
        if (!container) {
            container = document.createElement('span');
            container.style.cssText = "display:none !important";
            this._form.appendChild(container);
        }
        container.innerHTML = "<input type='hidden' />";
        field = container.childNodes[0];
        field._isContained = true;
        field.id = field.name = id;
        field.value = value;
    }
    function Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError() {
        var displayMessage = "Sys.WebForms.PageRequestManagerTimeoutException: " + Sys.WebForms.Res.PRM_TimeoutError;
        var e = Error.create(displayMessage, {name: 'Sys.WebForms.PageRequestManagerTimeoutException'});
        e.popStackFrame();
        return e;
    }
    function Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError(httpStatusCode, message) {
        var displayMessage = "Sys.WebForms.PageRequestManagerServerErrorException: " +
            (message || String.format(Sys.WebForms.Res.PRM_ServerError, httpStatusCode));
        var e = Error.create(displayMessage, {
            name: 'Sys.WebForms.PageRequestManagerServerErrorException',
            httpStatusCode: httpStatusCode
        });
        e.popStackFrame();
        return e;
    }
    function Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError(parserErrorMessage) {
        var displayMessage = "Sys.WebForms.PageRequestManagerParserErrorException: " + String.format(Sys.WebForms.Res.PRM_ParserError, parserErrorMessage);
        var e = Error.create(displayMessage, {name: 'Sys.WebForms.PageRequestManagerParserErrorException'});
        e.popStackFrame();
        return e;
    }
    function Sys$WebForms$PageRequestManager$_createPanelID(panelsToUpdate, postBackSettings) {
        var asyncTarget = postBackSettings.asyncTarget,
            toUpdate = this._ensureUniqueIds(panelsToUpdate || postBackSettings.panelsToUpdate),
            panelArg = (toUpdate instanceof Array)
                ? toUpdate.join(',')
                : (toUpdate || this._scriptManagerID);
        if (asyncTarget) {
            panelArg += "|" + asyncTarget;
        }
        return encodeURIComponent(this._scriptManagerID) + '=' + encodeURIComponent(panelArg) + '&';
    }
    function Sys$WebForms$PageRequestManager$_createPostBackSettings(async, panelsToUpdate, asyncTarget, sourceElement) {
        return { async:async, asyncTarget: asyncTarget, panelsToUpdate: panelsToUpdate, sourceElement: sourceElement };
    }
    function Sys$WebForms$PageRequestManager$_convertToClientIDs(source, destinationIDs, destinationClientIDs, version4) {
        if (source) {
            for (var i = 0, l = source.length; i < l; i += (version4 ? 2 : 1)) {
                var uniqueID = source[i],
                    clientID = (version4 ? source[i+1] : "") || this._uniqueIDToClientID(uniqueID);
                Array.add(destinationIDs, uniqueID);
                Array.add(destinationClientIDs, clientID);
            }
        }
    }
    function Sys$WebForms$PageRequestManager$dispose() {
        if (this._form) {
            Sys.UI.DomEvent.removeHandler(this._form, 'submit', this._onFormSubmitHandler);
            Sys.UI.DomEvent.removeHandler(this._form, 'click', this._onFormElementClickHandler);
            Sys.UI.DomEvent.removeHandler(window, 'unload', this._onWindowUnloadHandler);
            Sys.UI.DomEvent.removeHandler(window, 'load', this._pageLoadedHandler);
        }
        if (this._originalDoPostBack) {
            window.__doPostBack = this._originalDoPostBack;
            this._originalDoPostBack = null;
        }
        if (this._originalDoPostBackWithOptions) {
            window.WebForm_DoPostBackWithOptions = this._originalDoPostBackWithOptions;
            this._originalDoPostBackWithOptions = null;
        }
        if (this._originalFireDefaultButton) {
            window.WebForm_FireDefaultButton = this._originalFireDefaultButton;
            this._originalFireDefaultButton = null;
        }
        if (this._originalDoCallback) {
            window.WebForm_DoCallback = this._originalDoCallback;
            this._originalDoCallback = null;
        }
        this._form = null;
        this._updatePanelIDs = null;
        this._updatePanelClientIDs = null;
        this._asyncPostBackControlIDs = null;
        this._asyncPostBackControlClientIDs = null;
        this._postBackControlIDs = null;
        this._postBackControlClientIDs = null;
        this._asyncPostBackTimeout = null;
        this._scrollPosition = null;
        this._activeElement = null;
    }
    function Sys$WebForms$PageRequestManager$_doCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
        if (!this.get_isInAsyncPostBack()) {
            this._originalDoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync);
        }
    }
    function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget, eventArgument) {
        var event = window.event;
        if (!event) {
            var caller = arguments.callee ? arguments.callee.caller : null;
            if (caller) {
                var recursionLimit = 30;
                while (caller.arguments.callee.caller && --recursionLimit) {
                    caller = caller.arguments.callee.caller;
                }
                event = (recursionLimit && caller.arguments.length) ? caller.arguments[0] : null;
            }
        }
        this._additionalInput = null;
        var form = this._form;
        if ((eventTarget === null) || (typeof(eventTarget) === "undefined") || (this._isCrossPost)) {
            this._postBackSettings = this._createPostBackSettings(false);
            this._isCrossPost = false;
        }
        else {
            var mpUniqueID = this._masterPageUniqueID;
            var clientID = this._uniqueIDToClientID(eventTarget);
            var postBackElement = document.getElementById(clientID);
            if (!postBackElement && mpUniqueID) {
                if (eventTarget.indexOf(mpUniqueID + "$") === 0) {
                    postBackElement = document.getElementById(clientID.substr(mpUniqueID.length + 1));
                }
            }
            if (!postBackElement) {
                if (Array.contains(this._asyncPostBackControlIDs, eventTarget)) {
                    this._postBackSettings = this._createPostBackSettings(true, null, eventTarget);
                }
                else {
                    if (Array.contains(this._postBackControlIDs, eventTarget)) {
                        this._postBackSettings = this._createPostBackSettings(false);
                    }
                    else {
                        var nearestUniqueIDMatch = this._findNearestElement(eventTarget);
                        if (nearestUniqueIDMatch) {
                            this._postBackSettings = this._getPostBackSettings(nearestUniqueIDMatch, eventTarget);
                        }
                        else {
                            if (mpUniqueID) {
                                mpUniqueID += "$";
                                if (eventTarget.indexOf(mpUniqueID) === 0) {
                                    nearestUniqueIDMatch = this._findNearestElement(eventTarget.substr(mpUniqueID.length));
                                }
                            }
                            if (nearestUniqueIDMatch) {
                                this._postBackSettings = this._getPostBackSettings(nearestUniqueIDMatch, eventTarget);
                            }
                            else {
                                var activeElement;
                                try {
                                    activeElement = event ? (event.target || event.srcElement) : null;
                                }
                                catch(ex) {
                                }
                                activeElement = activeElement || this._activeElement;
                                var causesPostback = /__doPostBack\(|WebForm_DoPostBackWithOptions\(/;
                                function testCausesPostBack(attr) {
                                    attr = attr ? attr.toString() : "";
                                    return (causesPostback.test(attr) &&
                                        (attr.indexOf("'" + eventTarget + "'") !== -1) || (attr.indexOf('"' + eventTarget + '"') !== -1));
                                }
                                if (activeElement && (
                                        (activeElement.name === eventTarget) ||
                                        testCausesPostBack(activeElement.href) ||
                                        testCausesPostBack(activeElement.onclick) ||
                                        testCausesPostBack(activeElement.onchange)
                                        )) {
                                    this._postBackSettings = this._getPostBackSettings(activeElement, eventTarget);
                                }
                                else {
                                    this._postBackSettings = this._createPostBackSettings(false);
                                }
                            }
                        }
                    }
                }
            }
            else {
                this._postBackSettings = this._getPostBackSettings(postBackElement, eventTarget);
            }
        }
        if (!this._postBackSettings.async) {
            form.onsubmit = this._onsubmit;
            this._originalDoPostBack(eventTarget, eventArgument);
            form.onsubmit = null;
            return;
        }
        form.__EVENTTARGET.value = eventTarget;
        form.__EVENTARGUMENT.value = eventArgument;
        this._onFormSubmit();
    }
    function Sys$WebForms$PageRequestManager$_doPostBackWithOptions(options) {
        this._isCrossPost = options && options.actionUrl;
        var validationResult = true;
        if (options.validation) {
            if (typeof(Page_ClientValidate) == 'function') {
                validationResult = Page_ClientValidate(options.validationGroup);
            }
        }
        if (validationResult) {
            if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
                theForm.action = options.actionUrl;
            }
            if (options.trackFocus) {
                var lastFocus = theForm.elements["__LASTFOCUS"];
                if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
                    if (typeof(document.activeElement) == "undefined") {
                        lastFocus.value = options.eventTarget;
                    }
                    else {
                        var active = document.activeElement;
                        if ((typeof(active) != "undefined") && (active != null)) {
                            if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
                                lastFocus.value = active.id;
                            }
                            else if (typeof(active.name) != "undefined") {
                                lastFocus.value = active.name;
                            }
                        }
                    }
                }
            }
        }
        if (options.clientSubmit) {
            this._doPostBack(options.eventTarget, options.eventArgument);
        }
    }
    function Sys$WebForms$PageRequestManager$_elementContains(container, element) {
        while (element) {
            if (element === container) {
                return true;
            }
            element = element.parentNode;
        }
        return false;
    }
    function Sys$WebForms$PageRequestManager$_endPostBack(error, executor, data) {
        if (this._request === executor.get_webRequest()) {
            this._processingRequest = false;
            this._additionalInput = null;
            this._request = null;
        }
        var handler = this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled = false;
        if (handler) {
            var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
            handler(this, eventArgs);
            errorHandled = eventArgs.get_errorHandled();
        }
        if (error && !errorHandled) {
            throw error;
        }
    }
    function Sys$WebForms$PageRequestManager$_ensureUniqueIds(ids) {
        if (!ids) return ids;
        ids = ids instanceof Array ? ids : [ids];
        var uniqueIds = [];
        for (var i = 0, l = ids.length; i < l; i++) {
            var id = ids[i], index = Array.indexOf(this._updatePanelClientIDs, id);
            uniqueIds.push(index > -1 ? this._updatePanelIDs[index] : id);
        }
        return uniqueIds;
    }
    function Sys$WebForms$PageRequestManager$_findNearestElement(uniqueID) {
        while (uniqueID.length > 0) {
            var clientID = this._uniqueIDToClientID(uniqueID);
            var element = document.getElementById(clientID);
            if (element) {
                return element;
            }
            var indexOfLastDollar = uniqueID.lastIndexOf('$');
            if (indexOfLastDollar === -1) {
                return null;
            }
            uniqueID = uniqueID.substring(0, indexOfLastDollar);
        }
        return null;
    }
    function Sys$WebForms$PageRequestManager$_findText(text, location) {
        var startIndex = Math.max(0, location - 20);
        var endIndex = Math.min(text.length, location + 20);
        return text.substring(startIndex, endIndex);
    }
    function Sys$WebForms$PageRequestManager$_fireDefaultButton(event, target) {
        if (event.keyCode === 13) {
            var src = event.srcElement || event.target;
            if (!src || (src.tagName.toLowerCase() !== "textarea")) {
                var defaultButton = document.getElementById(target);
                if (defaultButton && (typeof(defaultButton.click) !== "undefined")) {
                    
                    
                    this._activeDefaultButton = defaultButton;
                    this._activeDefaultButtonClicked = false;
                    try {
                        defaultButton.click();
                    }
                    finally {
                        this._activeDefaultButton = null;
                    }
                    
                    
                    event.cancelBubble = true;
                    if (typeof(event.stopPropagation) === "function") {
                        event.stopPropagation();
                    }
                    return false;
                }
            }
        }
        return true;
    }
    function Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad, data) {
        var updated = [];
        var created = [];
        var version4 = data ? data.version4 : false;
        var upData = data ? data.updatePanelData : null;
        var newIDs, newClientIDs, childIDs, refreshedIDs;
        if (!upData) {
            newIDs = this._updatePanelIDs;
            newClientIDs = this._updatePanelClientIDs;
            childIDs = null;
            refreshedIDs = null;
        }
        else {
            newIDs = upData.updatePanelIDs;
            newClientIDs = upData.updatePanelClientIDs;
            childIDs = upData.childUpdatePanelIDs;
            refreshedIDs = upData.panelsToRefreshIDs;
        }
        var i, l, uniqueID, clientID;
        if (refreshedIDs) {
            for (i = 0, l = refreshedIDs.length; i < l; i += (version4 ? 2 : 1)) {
                uniqueID = refreshedIDs[i];
                clientID = (version4 ? refreshedIDs[i+1] : "") || this._uniqueIDToClientID(uniqueID);
                Array.add(updated, document.getElementById(clientID));
            }
        }
        for (i = 0, l = newIDs.length; i < l; i++) {
            if (initialLoad || Array.indexOf(childIDs, newIDs[i]) !== -1) {
                Array.add(created, document.getElementById(newClientIDs[i]));
            }
        }
        return new Sys.WebForms.PageLoadedEventArgs(updated, created, data ? data.dataItems : {});
    }
    function Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs(data) {
        var updated = [],
            deleted = [],
            upData = data.updatePanelData,
            oldIDs = upData.oldUpdatePanelIDs,
            oldClientIDs = upData.oldUpdatePanelClientIDs,
            newIDs = upData.updatePanelIDs,
            childIDs = upData.childUpdatePanelIDs,
            refreshedIDs = upData.panelsToRefreshIDs,
            i, l, uniqueID, clientID,
            version4 = data.version4;
        for (i = 0, l = refreshedIDs.length; i < l; i += (version4 ? 2 : 1)) {
            uniqueID = refreshedIDs[i];
            clientID = (version4 ? refreshedIDs[i+1] : "") || this._uniqueIDToClientID(uniqueID);
            Array.add(updated, document.getElementById(clientID));
        }
        for (i = 0, l = oldIDs.length; i < l; i++) {
            uniqueID = oldIDs[i];
            if (Array.indexOf(refreshedIDs, uniqueID) === -1 &&
                (Array.indexOf(newIDs, uniqueID) === -1 || Array.indexOf(childIDs, uniqueID) > -1)) {
                Array.add(deleted, document.getElementById(oldClientIDs[i]));
            }
        }
        return new Sys.WebForms.PageLoadingEventArgs(updated, deleted, data.dataItems);
    }
    function Sys$WebForms$PageRequestManager$_getPostBackSettings(element, elementUniqueID) {
        var originalElement = element;
        var proposedSettings = null;
        while (element) {
            if (element.id) {
                if (!proposedSettings && Array.contains(this._asyncPostBackControlClientIDs, element.id)) {
                    proposedSettings = this._createPostBackSettings(true, null, elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && Array.contains(this._postBackControlClientIDs, element.id)) {
                        return this._createPostBackSettings(false);
                    }
                    else {
                        var indexOfPanel = Array.indexOf(this._updatePanelClientIDs, element.id);
                        if (indexOfPanel !== -1) {
                            if (this._updatePanelHasChildrenAsTriggers[indexOfPanel]) {
                                return this._createPostBackSettings(true, [this._updatePanelIDs[indexOfPanel]], elementUniqueID, originalElement);
                            }
                            else {
                                return this._createPostBackSettings(true, null, elementUniqueID, originalElement);
                            }
                        }
                    }
                }
                if (!proposedSettings && this._matchesParentIDInList(element.id, this._asyncPostBackControlClientIDs)) {
                    proposedSettings = this._createPostBackSettings(true, null, elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && this._matchesParentIDInList(element.id, this._postBackControlClientIDs)) {
                        return this._createPostBackSettings(false);
                    }
                }
            }
            element = element.parentNode;
        }
        if (!proposedSettings) {
            return this._createPostBackSettings(false);
        }
        else {
            return proposedSettings;
        }
    }
    function Sys$WebForms$PageRequestManager$_getScrollPosition() {
        var d = document.documentElement;
        if (d && (this._validPosition(d.scrollLeft) || this._validPosition(d.scrollTop))) {
            return {
                x: d.scrollLeft,
                y: d.scrollTop
            };
        }
        else {
            d = document.body;
            if (d && (this._validPosition(d.scrollLeft) || this._validPosition(d.scrollTop))) {
                return {
                    x: d.scrollLeft,
                    y: d.scrollTop
                };
            }
            else {
                if (this._validPosition(window.pageXOffset) || this._validPosition(window.pageYOffset)) {
                    return {
                        x: window.pageXOffset,
                        y: window.pageYOffset
                    };
                }
                else {
                    return {
                        x: 0,
                        y: 0
                    };
                }
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_initializeInternal(scriptManagerID, formElement, updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout, masterPageUniqueID) {
        if (this._prmInitialized) {
            throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);
        }
        this._prmInitialized = true;
        this._masterPageUniqueID = masterPageUniqueID;
        this._scriptManagerID = scriptManagerID;
        this._form = Sys.UI.DomElement.resolveElement(formElement);
        this._onsubmit = this._form.onsubmit;
        this._form.onsubmit = null;
        this._onFormSubmitHandler = Function.createDelegate(this, this._onFormSubmit);
        this._onFormElementClickHandler = Function.createDelegate(this, this._onFormElementClick);
        this._onWindowUnloadHandler = Function.createDelegate(this, this._onWindowUnload);
        Sys.UI.DomEvent.addHandler(this._form, 'submit', this._onFormSubmitHandler);
        Sys.UI.DomEvent.addHandler(this._form, 'click', this._onFormElementClickHandler);
        Sys.UI.DomEvent.addHandler(window, 'unload', this._onWindowUnloadHandler);
        this._originalDoPostBack = window.__doPostBack;
        if (this._originalDoPostBack) {
            window.__doPostBack = Function.createDelegate(this, this._doPostBack);
        }
        this._originalDoPostBackWithOptions = window.WebForm_DoPostBackWithOptions;
        if (this._originalDoPostBackWithOptions) {
            window.WebForm_DoPostBackWithOptions = Function.createDelegate(this, this._doPostBackWithOptions);
        }
        this._originalFireDefaultButton = window.WebForm_FireDefaultButton;
        if (this._originalFireDefaultButton) {
            window.WebForm_FireDefaultButton = Function.createDelegate(this, this._fireDefaultButton);
        }
        this._originalDoCallback = window.WebForm_DoCallback;
        if (this._originalDoCallback) {
            window.WebForm_DoCallback = Function.createDelegate(this, this._doCallback);
        }
        this._pageLoadedHandler = Function.createDelegate(this, this._pageLoadedInitialLoad);
        Sys.UI.DomEvent.addHandler(window, 'load', this._pageLoadedHandler);
        if (updatePanelIDs) {
            this._updateControls(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout, true);
        }
    }
    function Sys$WebForms$PageRequestManager$_matchesParentIDInList(clientID, parentIDList) {
        for (var i = 0, l = parentIDList.length; i < l; i++) {
            if (clientID.startsWith(parentIDList[i] + "_")) {
                return true;
            }
        }
        return false;
    }
    function Sys$WebForms$PageRequestManager$_onFormElementActive(element, offsetX, offsetY) {
        if (element.disabled) {
            return;
        }
        this._activeElement = element;
        this._postBackSettings = this._getPostBackSettings(element, element.name);
        if (element.name) {
            var tagName = element.tagName.toUpperCase();
            if (tagName === 'INPUT') {
                var type = element.type;
                if (type === 'submit') {
                    this._additionalInput = encodeURIComponent(element.name) + '=' + encodeURIComponent(element.value);
                }
                else if (type === 'image') {
                    this._additionalInput = encodeURIComponent(element.name) + '.x=' + offsetX + '&' + encodeURIComponent(element.name) + '.y=' + offsetY;
                }
            }
            else if ((tagName === 'BUTTON') && (element.name.length !== 0) && (element.type === 'submit')) {
                this._additionalInput = encodeURIComponent(element.name) + '=' + encodeURIComponent(element.value);
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_onFormElementClick(evt) {
        this._activeDefaultButtonClicked = (evt.target === this._activeDefaultButton);
        this._onFormElementActive(evt.target, evt.offsetX, evt.offsetY);
    }
    function Sys$WebForms$PageRequestManager$_onFormSubmit(evt) {
        var i, l, continueSubmit = true,
            isCrossPost = this._isCrossPost;
        this._isCrossPost = false;
        if (this._onsubmit) {
            continueSubmit = this._onsubmit();
        }
        if (continueSubmit) {
            for (i = 0, l = this._onSubmitStatements.length; i < l; i++) {
                if (!this._onSubmitStatements[i]()) {
                    continueSubmit = false;
                    break;
                }
            }
        }
        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }
        var form = this._form;
        if (isCrossPost) {
            return;
        }
        if (this._activeDefaultButton && !this._activeDefaultButtonClicked) {
            this._onFormElementActive(this._activeDefaultButton, 0, 0);
        }
        if (!this._postBackSettings || !this._postBackSettings.async) {
            return;
        }
        var formBody = new Sys.StringBuilder(),
            formElements = form.elements,
            count = formElements.length,
            panelID = this._createPanelID(null, this._postBackSettings);
        formBody.append(panelID);
        for (i = 0; i < count; i++) {
            var element = formElements[i];
            var name = element.name;
            if (typeof(name) === "undefined" || (name === null) || (name.length === 0) || (name === this._scriptManagerID)) {
                continue;
            }
            var tagName = element.tagName.toUpperCase();
            if (tagName === 'INPUT') {
                var type = element.type;
                if (this._textTypes.test(type)
                    || ((type === 'checkbox' || type === 'radio') && element.checked)) {
                    formBody.append(encodeURIComponent(name));
                    formBody.append('=');
                    formBody.append(encodeURIComponent(element.value));
                    formBody.append('&');
                }
            }
            else if (tagName === 'SELECT') {
                var optionCount = element.options.length;
                for (var j = 0; j < optionCount; j++) {
                    var option = element.options[j];
                    if (option.selected) {
                        formBody.append(encodeURIComponent(name));
                        formBody.append('=');
                        formBody.append(encodeURIComponent(option.value));
                        formBody.append('&');
                    }
                }
            }
            else if (tagName === 'TEXTAREA') {
                formBody.append(encodeURIComponent(name));
                formBody.append('=');
                formBody.append(encodeURIComponent(element.value));
                formBody.append('&');
            }
        }
        formBody.append("__ASYNCPOST=true&");
        if (this._additionalInput) {
            formBody.append(this._additionalInput);
            this._additionalInput = null;
        }
        
        var request = new Sys.Net.WebRequest();
        var action = form.action;
        if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
            var fragmentIndex = action.indexOf('#');
            if (fragmentIndex !== -1) {
                action = action.substr(0, fragmentIndex);
            }
            var domain = "", query = "", queryIndex = action.indexOf('?');
            if (queryIndex !== -1) {
                query = action.substr(queryIndex);
                action = action.substr(0, queryIndex);
            }
            if (/^https?\:\/\/.*$/gi.test(action)) {
                var domainPartIndex = action.indexOf("//") + 2,
                    slashAfterDomain = action.indexOf("/", domainPartIndex);
                if (slashAfterDomain === -1) {
                    domain = action;
                    action = "";
                }
                else {
                    domain = action.substr(0, slashAfterDomain);
                    action = action.substr(slashAfterDomain);
                }
            }
            action = domain + encodeURI(decodeURI(action)) + query;
        }
        request.set_url(action);
        request.get_headers()['X-MicrosoftAjax'] = 'Delta=true';
        request.get_headers()['Cache-Control'] = 'no-cache';
        request.set_timeout(this._asyncPostBackTimeout);
        request.add_completed(Function.createDelegate(this, this._onFormSubmitCompleted));
        request.set_body(formBody.toString());
        var panelsToUpdate, eventArgs, handler = this._get_eventHandlerList().getHandler("initializeRequest");
        if (handler) {
            panelsToUpdate = this._postBackSettings.panelsToUpdate;
            eventArgs = new Sys.WebForms.InitializeRequestEventArgs(request, this._postBackSettings.sourceElement, panelsToUpdate);
            handler(this, eventArgs);
            continueSubmit = !eventArgs.get_cancel();
        }
        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }
        
        if (eventArgs && eventArgs._updated) {
            panelsToUpdate = eventArgs.get_updatePanelsToUpdate();
            request.set_body(request.get_body().replace(panelID, this._createPanelID(panelsToUpdate, this._postBackSettings)));
        }
        this._scrollPosition = this._getScrollPosition();
        this.abortPostBack();
        handler = this._get_eventHandlerList().getHandler("beginRequest");
        if (handler) {
            eventArgs = new Sys.WebForms.BeginRequestEventArgs(request, this._postBackSettings.sourceElement,
                panelsToUpdate || this._postBackSettings.panelsToUpdate);
            handler(this, eventArgs);
        }
        
        if (this._originalDoCallback) {
            this._cancelPendingCallbacks();
        }
        this._request = request;
        this._processingRequest = false;
        request.invoke();
        if (evt) {
            evt.preventDefault();
        }
    }
    function Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, eventArgs) {
        this._processingRequest = true;
        if (sender.get_timedOut()) {
            this._endPostBack(this._createPageRequestManagerTimeoutError(), sender, null);
            return;
        }
        if (sender.get_aborted()) {
            this._endPostBack(null, sender, null);
            return;
        }
        if (!this._request || (sender.get_webRequest() !== this._request)) {
            return;
        }
        if (sender.get_statusCode() !== 200) {
            this._endPostBack(this._createPageRequestManagerServerError(sender.get_statusCode()), sender, null);
            return;
        }
        var data = this._parseDelta(sender);
        if (!data) return;
        
        var i, l;
        if (data.asyncPostBackControlIDsNode && data.postBackControlIDsNode &&
            data.updatePanelIDsNode && data.panelsToRefreshNode && data.childUpdatePanelIDsNode) {
            
            var oldUpdatePanelIDs = this._updatePanelIDs,
                oldUpdatePanelClientIDs = this._updatePanelClientIDs;
            var childUpdatePanelIDsString = data.childUpdatePanelIDsNode.content;
            var childUpdatePanelIDs = childUpdatePanelIDsString.length ? childUpdatePanelIDsString.split(',') : [];
            var asyncPostBackControlIDsArray = this._splitNodeIntoArray(data.asyncPostBackControlIDsNode);
            var postBackControlIDsArray = this._splitNodeIntoArray(data.postBackControlIDsNode);
            var updatePanelIDsArray = this._splitNodeIntoArray(data.updatePanelIDsNode);
            var panelsToRefreshIDs = this._splitNodeIntoArray(data.panelsToRefreshNode);
            var v4 = data.version4;
            for (i = 0, l = panelsToRefreshIDs.length; i < l; i+= (v4 ? 2 : 1)) {
                var panelClientID = (v4 ? panelsToRefreshIDs[i+1] : "") || this._uniqueIDToClientID(panelsToRefreshIDs[i]);
                if (!document.getElementById(panelClientID)) {
                    this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, panelClientID)), sender, data);
                    return;
                }
            }
            
            var updatePanelData = this._processUpdatePanelArrays(
                updatePanelIDsArray,
                asyncPostBackControlIDsArray,
                postBackControlIDsArray, v4);
            updatePanelData.oldUpdatePanelIDs = oldUpdatePanelIDs;
            updatePanelData.oldUpdatePanelClientIDs = oldUpdatePanelClientIDs;
            updatePanelData.childUpdatePanelIDs = childUpdatePanelIDs;
            updatePanelData.panelsToRefreshIDs = panelsToRefreshIDs;
            data.updatePanelData = updatePanelData;
        }
        data.dataItems = {};
        var node;
        for (i = 0, l = data.dataItemNodes.length; i < l; i++) {
            node = data.dataItemNodes[i];
            data.dataItems[node.id] = node.content;
        }
        for (i = 0, l = data.dataItemJsonNodes.length; i < l; i++) {
            node = data.dataItemJsonNodes[i];
            data.dataItems[node.id] = Sys.Serialization.JavaScriptSerializer.deserialize(node.content);
        }
        var handler = this._get_eventHandlerList().getHandler("pageLoading");
        if (handler) {
            handler(this, this._getPageLoadingEventArgs(data));
        }
        
        Sys._ScriptLoader.readLoadedScripts();
        Sys.Application.beginCreateComponents();
        var scriptLoader = Sys._ScriptLoader.getInstance();
        this._queueScripts(scriptLoader, data.scriptBlockNodes, true, false);
        
        this._processingRequest = true;
        scriptLoader.loadScripts(0,
            Function.createDelegate(this, Function.createCallback(this._scriptIncludesLoadComplete, data)),
            Function.createDelegate(this, Function.createCallback(this._scriptIncludesLoadFailed, data)),
            null);        
    }
    function Sys$WebForms$PageRequestManager$_onWindowUnload(evt) {
        this.dispose();
    }
    function Sys$WebForms$PageRequestManager$_pageLoaded(initialLoad, data) {
        var handler = this._get_eventHandlerList().getHandler("pageLoaded");
        if (handler) {
            handler(this, this._getPageLoadedEventArgs(initialLoad, data));
        }
        if (!initialLoad) {
            Sys.Application.raiseLoad();
        }
    }
    function Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad(evt) {
        this._pageLoaded(true, null);
    }
    function Sys$WebForms$PageRequestManager$_parseDelta(executor) {
        var reply = executor.get_responseData();
        var delimiterIndex, len, type, id, content;
        var replyIndex = 0;
        var parserErrorDetails = null;
        var delta = [];
        while (replyIndex < reply.length) {
            delimiterIndex = reply.indexOf('|', replyIndex);
            if (delimiterIndex === -1) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            len = parseInt(reply.substring(replyIndex, delimiterIndex), 10);
            if ((len % 1) !== 0) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            replyIndex = delimiterIndex + 1;
            delimiterIndex = reply.indexOf('|', replyIndex);
            if (delimiterIndex === -1) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            type = reply.substring(replyIndex, delimiterIndex);
            replyIndex = delimiterIndex + 1;
            delimiterIndex = reply.indexOf('|', replyIndex);
            if (delimiterIndex === -1) {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            id = reply.substring(replyIndex, delimiterIndex);
            replyIndex = delimiterIndex + 1;
            if ((replyIndex + len) >= reply.length) {
                parserErrorDetails = this._findText(reply, reply.length);
                break;
            }
            content = reply.substr(replyIndex, len);
            replyIndex += len;
            if (reply.charAt(replyIndex) !== '|') {
                parserErrorDetails = this._findText(reply, replyIndex);
                break;
            }
            replyIndex++;
            Array.add(delta, {type: type, id: id, content: content});
        }
        if (parserErrorDetails) {
            this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails, parserErrorDetails)), executor, null);
            return null;
        }
        var updatePanelNodes = [];
        var hiddenFieldNodes = [];
        var arrayDeclarationNodes = [];
        var scriptBlockNodes = [];
        var scriptStartupNodes = [];
        var expandoNodes = [];
        var onSubmitNodes = [];
        var dataItemNodes = [];
        var dataItemJsonNodes = [];
        var scriptDisposeNodes = [];
        var asyncPostBackControlIDsNode, postBackControlIDsNode,
            updatePanelIDsNode, asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode, panelsToRefreshNode, formActionNode,
            versionNode;
        for (var i = 0, l = delta.length; i < l; i++) {
            var deltaNode = delta[i];
            switch (deltaNode.type) {
                case "#":
                    versionNode = deltaNode;
                    break;
                case "updatePanel":
                    Array.add(updatePanelNodes, deltaNode);
                    break;
                case "hiddenField":
                    Array.add(hiddenFieldNodes, deltaNode);
                    break;
                case "arrayDeclaration":
                    Array.add(arrayDeclarationNodes, deltaNode);
                    break;
                case "scriptBlock":
                    Array.add(scriptBlockNodes, deltaNode);
                    break;
                case "fallbackScript":
                    scriptBlockNodes[scriptBlockNodes.length - 1].fallback = deltaNode.id;
                case "scriptStartupBlock":
                    Array.add(scriptStartupNodes, deltaNode);
                    break;
                case "expando":
                    Array.add(expandoNodes, deltaNode);
                    break;
                case "onSubmit":
                    Array.add(onSubmitNodes, deltaNode);
                    break;
                case "asyncPostBackControlIDs":
                    asyncPostBackControlIDsNode = deltaNode;
                    break;
                case "postBackControlIDs":
                    postBackControlIDsNode = deltaNode;
                    break;
                case "updatePanelIDs":
                    updatePanelIDsNode = deltaNode;
                    break;
                case "asyncPostBackTimeout":
                    asyncPostBackTimeoutNode = deltaNode;
                    break;
                case "childUpdatePanelIDs":
                    childUpdatePanelIDsNode = deltaNode;
                    break;
                case "panelsToRefreshIDs":
                    panelsToRefreshNode = deltaNode;
                    break;
                case "formAction":
                    formActionNode = deltaNode;
                    break;
                case "dataItem":
                    Array.add(dataItemNodes, deltaNode);
                    break;
                case "dataItemJson":
                    Array.add(dataItemJsonNodes, deltaNode);
                    break;
                case "scriptDispose":
                    Array.add(scriptDisposeNodes, deltaNode);
                    break;
                case "pageRedirect":
                    if (versionNode && parseFloat(versionNode.content) >= 4) {
                        deltaNode.content = unescape(deltaNode.content);
                    }
                    if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
                        var anchor = document.createElement("a");
                        anchor.style.display = 'none';
                        anchor.attachEvent("onclick", cancelBubble);
                        anchor.href = deltaNode.content;
                        this._form.parentNode.insertBefore(anchor, this._form);
                        anchor.click();
                        anchor.detachEvent("onclick", cancelBubble);
                        this._form.parentNode.removeChild(anchor);
                        
                        function cancelBubble(e) {
                            e.cancelBubble = true;
                        }
                    }
                    else {
                        window.location.href = deltaNode.content;
                    }
                    return null;
                case "error":
                    this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(deltaNode.id), deltaNode.content), executor, null);
                    return null;
                case "pageTitle":
                    document.title = deltaNode.content;
                    break;
                case "focus":
                    this._controlIDToFocus = deltaNode.content;
                    break;
                default:
                    this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken, deltaNode.type)), executor, null);
                    return null;
            } 
        } 
        return {
            version4: versionNode ? (parseFloat(versionNode.content) >= 4) : false,
            executor: executor,
            updatePanelNodes: updatePanelNodes,
            hiddenFieldNodes: hiddenFieldNodes,
            arrayDeclarationNodes: arrayDeclarationNodes,
            scriptBlockNodes: scriptBlockNodes,
            scriptStartupNodes: scriptStartupNodes,
            expandoNodes: expandoNodes,
            onSubmitNodes: onSubmitNodes,
            dataItemNodes: dataItemNodes,
            dataItemJsonNodes: dataItemJsonNodes,
            scriptDisposeNodes: scriptDisposeNodes,
            asyncPostBackControlIDsNode: asyncPostBackControlIDsNode,
            postBackControlIDsNode: postBackControlIDsNode,
            updatePanelIDsNode: updatePanelIDsNode,
            asyncPostBackTimeoutNode: asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode: childUpdatePanelIDsNode,
            panelsToRefreshNode: panelsToRefreshNode,
            formActionNode: formActionNode };
    }
    function Sys$WebForms$PageRequestManager$_processUpdatePanelArrays(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, version4) {
        var newUpdatePanelIDs, newUpdatePanelClientIDs, newUpdatePanelHasChildrenAsTriggers;
        
        if (updatePanelIDs) {
            var l = updatePanelIDs.length,
                m = version4 ? 2 : 1;
            newUpdatePanelIDs = new Array(l/m);
            newUpdatePanelClientIDs = new Array(l/m);
            newUpdatePanelHasChildrenAsTriggers = new Array(l/m);
            
            for (var i = 0, j = 0; i < l; i += m, j++) {
                var ct,
                    uniqueID = updatePanelIDs[i],
                    clientID = version4 ? updatePanelIDs[i+1] : "";
                ct = (uniqueID.charAt(0) === 't');
                uniqueID = uniqueID.substr(1);
                if (!clientID) {
                    clientID = this._uniqueIDToClientID(uniqueID);
                }
                newUpdatePanelHasChildrenAsTriggers[j] = ct;
                newUpdatePanelIDs[j] = uniqueID;
                newUpdatePanelClientIDs[j] = clientID;
            }
        }
        else {
            newUpdatePanelIDs = [];
            newUpdatePanelClientIDs = [];
            newUpdatePanelHasChildrenAsTriggers = [];
        }
        var newAsyncPostBackControlIDs = [];
        var newAsyncPostBackControlClientIDs = [];
        this._convertToClientIDs(asyncPostBackControlIDs, newAsyncPostBackControlIDs, newAsyncPostBackControlClientIDs, version4);
        var newPostBackControlIDs = [];
        var newPostBackControlClientIDs = [];
        this._convertToClientIDs(postBackControlIDs, newPostBackControlIDs, newPostBackControlClientIDs, version4);
        
        return {
            updatePanelIDs: newUpdatePanelIDs,
            updatePanelClientIDs: newUpdatePanelClientIDs,
            updatePanelHasChildrenAsTriggers: newUpdatePanelHasChildrenAsTriggers,
            asyncPostBackControlIDs: newAsyncPostBackControlIDs,
            asyncPostBackControlClientIDs: newAsyncPostBackControlClientIDs,
            postBackControlIDs: newPostBackControlIDs,
            postBackControlClientIDs: newPostBackControlClientIDs
        };
    }
    function Sys$WebForms$PageRequestManager$_queueScripts(scriptLoader, scriptBlockNodes, queueIncludes, queueBlocks) {
        
        for (var i = 0, l = scriptBlockNodes.length; i < l; i++) {
            var scriptBlockType = scriptBlockNodes[i].id;
            switch (scriptBlockType) {
                case "ScriptContentNoTags":
                    if (!queueBlocks) {
                        continue;
                    }
                    scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);
                    break;
                case "ScriptContentWithTags":
                    var scriptTagAttributes;
                    eval("scriptTagAttributes = " + scriptBlockNodes[i].content);
                    if (scriptTagAttributes.src) {
                        if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) {
                            continue;
                        }
                    }
                    else if (!queueBlocks) {
                        continue;
                    }
                    scriptLoader.queueCustomScriptTag(scriptTagAttributes);
                    break;
                case "ScriptPath":
                    var script = scriptBlockNodes[i];
                    if (!queueIncludes || Sys._ScriptLoader.isScriptLoaded(script.content)) {
                        continue;
                    }
                    scriptLoader.queueScriptReference(script.content, script.fallback);
                    break;
            }
        }        
    }
    function Sys$WebForms$PageRequestManager$_registerDisposeScript(panelID, disposeScript) {
        if (!this._scriptDisposes[panelID]) {
            this._scriptDisposes[panelID] = [disposeScript];
        }
        else {
            Array.add(this._scriptDisposes[panelID], disposeScript);
        }
    }
    function Sys$WebForms$PageRequestManager$_scriptIncludesLoadComplete(scriptLoader, data) {
        
        
        if (data.executor.get_webRequest() !== this._request) {
            return;
        }
        
        this._commitControls(data.updatePanelData,
            data.asyncPostBackTimeoutNode ? data.asyncPostBackTimeoutNode.content : null);
        if (data.formActionNode) {
            this._form.action = data.formActionNode.content;
        }
        
        var i, l, node;
        for (i = 0, l = data.updatePanelNodes.length; i < l; i++) {
            node = data.updatePanelNodes[i];
            var updatePanelElement = document.getElementById(node.id);
            if (!updatePanelElement) {
                this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel, node.id)), data.executor, data);
                return;
            }
            this._updatePanel(updatePanelElement, node.content);
        }
        for (i = 0, l = data.scriptDisposeNodes.length; i < l; i++) {
            node = data.scriptDisposeNodes[i];
            this._registerDisposeScript(node.id, node.content);
        }
        for (i = 0, l = this._transientFields.length; i < l; i++) {
            var field = document.getElementById(this._transientFields[i]);
            if (field) {
                var toRemove = field._isContained ? field.parentNode : field;
                toRemove.parentNode.removeChild(toRemove);
            }
        }
        for (i = 0, l = data.hiddenFieldNodes.length; i < l; i++) {
            node = data.hiddenFieldNodes[i];
            this._createHiddenField(node.id, node.content);
        }
        
        if (data.scriptsFailed) {
            throw Sys._ScriptLoader._errorScriptLoadFailed(data.scriptsFailed.src, data.scriptsFailed.multipleCallbacks);
        }
        
        this._queueScripts(scriptLoader, data.scriptBlockNodes, false, true);
        var arrayScript = '';
        for (i = 0, l = data.arrayDeclarationNodes.length; i < l; i++) {
            node = data.arrayDeclarationNodes[i];
            arrayScript += "Sys.WebForms.PageRequestManager._addArrayElement('" + node.id + "', " + node.content + ");\r\n";
        }
        var expandoScript = '';
        for (i = 0, l = data.expandoNodes.length; i < l; i++) {
            node = data.expandoNodes[i];
            expandoScript += node.id + " = " + node.content + "\r\n";
        }
        if (arrayScript.length) {
            scriptLoader.queueScriptBlock(arrayScript);
        }
        if (expandoScript.length) {
            scriptLoader.queueScriptBlock(expandoScript);
        }
        
        this._queueScripts(scriptLoader, data.scriptStartupNodes, true, true);
        var onSubmitStatementScript = '';
        for (i = 0, l = data.onSubmitNodes.length; i < l; i++) {
            if (i === 0) {
                onSubmitStatementScript = 'Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n';
            }
            onSubmitStatementScript += data.onSubmitNodes[i].content + "\r\n";
        }
        if (onSubmitStatementScript.length) {
            onSubmitStatementScript += "\r\nreturn true;\r\n});\r\n";
            scriptLoader.queueScriptBlock(onSubmitStatementScript);
        }
        scriptLoader.loadScripts(0,
            Function.createDelegate(this, Function.createCallback(this._scriptsLoadComplete, data)), null, null);
    }
    function Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed(scriptLoader, scriptElement, multipleCallbacks, data) {
        data.scriptsFailed = { src: scriptElement.src, multipleCallbacks: multipleCallbacks };
        this._scriptIncludesLoadComplete(scriptLoader, data);
    }
    function Sys$WebForms$PageRequestManager$_scriptsLoadComplete(scriptLoader, data) {
        
        
        var response = data.executor;
        if (window.__theFormPostData) {
            window.__theFormPostData = "";
        }
        if (window.__theFormPostCollection) {
            window.__theFormPostCollection = [];
        }
        if (window.WebForm_InitCallback) {
            window.WebForm_InitCallback();
        }
        if (this._scrollPosition) {
            if (window.scrollTo) {
                window.scrollTo(this._scrollPosition.x, this._scrollPosition.y);
            }
            this._scrollPosition = null;
        }
        Sys.Application.endCreateComponents();
        this._pageLoaded(false, data);
        this._endPostBack(null, response, data);
        if (this._controlIDToFocus) {
            var focusTarget;
            var oldContentEditableSetting;
            if (Sys.Browser.agent === Sys.Browser.InternetExplorer) {
                var targetControl = $get(this._controlIDToFocus);
                focusTarget = targetControl;
                if (targetControl && (!WebForm_CanFocus(targetControl))) {
                    focusTarget = WebForm_FindFirstFocusableChild(targetControl);
                }
                if (focusTarget && (typeof(focusTarget.contentEditable) !== "undefined")) {
                    oldContentEditableSetting = focusTarget.contentEditable;
                    focusTarget.contentEditable = false;
                }
                else {
                    focusTarget = null;
                }
            }
            WebForm_AutoFocus(this._controlIDToFocus);
            if (focusTarget) {
                focusTarget.contentEditable = oldContentEditableSetting;
            }
            this._controlIDToFocus = null;
        }
    }
    function Sys$WebForms$PageRequestManager$_splitNodeIntoArray(node) {
        var str = node.content;
        var arr = str.length ? str.split(',') : [];
        return arr;
    }
    function Sys$WebForms$PageRequestManager$_uniqueIDToClientID(uniqueID) {
        return uniqueID.replace(/\$/g, '_');
    }
    function Sys$WebForms$PageRequestManager$_updateControls(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout, version4) {
        this._commitControls(
            this._processUpdatePanelArrays(updatePanelIDs, asyncPostBackControlIDs, postBackControlIDs, version4),
            asyncPostBackTimeout);
    }
    function Sys$WebForms$PageRequestManager$_updatePanel(updatePanelElement, rendering) {
        for (var updatePanelID in this._scriptDisposes) {
            if (this._elementContains(updatePanelElement, document.getElementById(updatePanelID))) {
                var disposeScripts = this._scriptDisposes[updatePanelID];
                for (var i = 0, l = disposeScripts.length; i < l; i++) {
                    eval(disposeScripts[i]);
                }
                delete this._scriptDisposes[updatePanelID];
            }
        }
        Sys.Application.disposeElement(updatePanelElement, true);
        updatePanelElement.innerHTML = rendering;
    }
    function Sys$WebForms$PageRequestManager$_validPosition(position) {
        return (typeof(position) !== "undefined") && (position !== null) && (position !== 0);
    }
Sys.WebForms.PageRequestManager.prototype = {
    _get_eventHandlerList: Sys$WebForms$PageRequestManager$_get_eventHandlerList,
    get_isInAsyncPostBack: Sys$WebForms$PageRequestManager$get_isInAsyncPostBack,
    add_beginRequest: Sys$WebForms$PageRequestManager$add_beginRequest,
    remove_beginRequest: Sys$WebForms$PageRequestManager$remove_beginRequest,
    add_endRequest: Sys$WebForms$PageRequestManager$add_endRequest,
    remove_endRequest: Sys$WebForms$PageRequestManager$remove_endRequest,
    add_initializeRequest: Sys$WebForms$PageRequestManager$add_initializeRequest,
    remove_initializeRequest: Sys$WebForms$PageRequestManager$remove_initializeRequest,
    add_pageLoaded: Sys$WebForms$PageRequestManager$add_pageLoaded,
    remove_pageLoaded: Sys$WebForms$PageRequestManager$remove_pageLoaded,
    add_pageLoading: Sys$WebForms$PageRequestManager$add_pageLoading,
    remove_pageLoading: Sys$WebForms$PageRequestManager$remove_pageLoading,
    abortPostBack: Sys$WebForms$PageRequestManager$abortPostBack,
    beginAsyncPostBack: Sys$WebForms$PageRequestManager$beginAsyncPostBack,
    _cancelPendingCallbacks: Sys$WebForms$PageRequestManager$_cancelPendingCallbacks,
    _commitControls: Sys$WebForms$PageRequestManager$_commitControls,
    _createHiddenField: Sys$WebForms$PageRequestManager$_createHiddenField,
    _createPageRequestManagerTimeoutError: Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError,
    _createPageRequestManagerServerError: Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError,
    _createPageRequestManagerParserError: Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError,
    _createPanelID: Sys$WebForms$PageRequestManager$_createPanelID,
    _createPostBackSettings: Sys$WebForms$PageRequestManager$_createPostBackSettings,
    _convertToClientIDs: Sys$WebForms$PageRequestManager$_convertToClientIDs,
    dispose: Sys$WebForms$PageRequestManager$dispose,
    _doCallback: Sys$WebForms$PageRequestManager$_doCallback,
    _doPostBack: Sys$WebForms$PageRequestManager$_doPostBack,
    _doPostBackWithOptions: Sys$WebForms$PageRequestManager$_doPostBackWithOptions,
    _elementContains: Sys$WebForms$PageRequestManager$_elementContains,
    _endPostBack: Sys$WebForms$PageRequestManager$_endPostBack,
    _ensureUniqueIds: Sys$WebForms$PageRequestManager$_ensureUniqueIds,
    _findNearestElement: Sys$WebForms$PageRequestManager$_findNearestElement,
    _findText: Sys$WebForms$PageRequestManager$_findText,
    _fireDefaultButton: Sys$WebForms$PageRequestManager$_fireDefaultButton,
    _getPageLoadedEventArgs: Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs,
    _getPageLoadingEventArgs: Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs,
    _getPostBackSettings: Sys$WebForms$PageRequestManager$_getPostBackSettings,
    _getScrollPosition: Sys$WebForms$PageRequestManager$_getScrollPosition,
    _initializeInternal: Sys$WebForms$PageRequestManager$_initializeInternal,
    _matchesParentIDInList: Sys$WebForms$PageRequestManager$_matchesParentIDInList,
    _onFormElementActive: Sys$WebForms$PageRequestManager$_onFormElementActive,
    _onFormElementClick: Sys$WebForms$PageRequestManager$_onFormElementClick,
    _onFormSubmit: Sys$WebForms$PageRequestManager$_onFormSubmit,
    _onFormSubmitCompleted: Sys$WebForms$PageRequestManager$_onFormSubmitCompleted,
    _onWindowUnload: Sys$WebForms$PageRequestManager$_onWindowUnload,
    _pageLoaded: Sys$WebForms$PageRequestManager$_pageLoaded,
    _pageLoadedInitialLoad: Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad,
    _parseDelta: Sys$WebForms$PageRequestManager$_parseDelta,
    _processUpdatePanelArrays: Sys$WebForms$PageRequestManager$_processUpdatePanelArrays,
    _queueScripts: Sys$WebForms$PageRequestManager$_queueScripts,
    _registerDisposeScript: Sys$WebForms$PageRequestManager$_registerDisposeScript,
    _scriptIncludesLoadComplete: Sys$WebForms$PageRequestManager$_scriptIncludesLoadComplete,
    _scriptIncludesLoadFailed: Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed,
    _scriptsLoadComplete: Sys$WebForms$PageRequestManager$_scriptsLoadComplete,
    _splitNodeIntoArray: Sys$WebForms$PageRequestManager$_splitNodeIntoArray,
    _uniqueIDToClientID: Sys$WebForms$PageRequestManager$_uniqueIDToClientID,
    _updateControls: Sys$WebForms$PageRequestManager$_updateControls,
    _updatePanel: Sys$WebForms$PageRequestManager$_updatePanel,
    _validPosition: Sys$WebForms$PageRequestManager$_validPosition
}
Sys.WebForms.PageRequestManager.getInstance = function Sys$WebForms$PageRequestManager$getInstance() {
    /// <summary locid="M:J#Sys.WebForms.PageRequestManager.getInstance" />
    /// <returns type="Sys.WebForms.PageRequestManager"></returns>
    if (arguments.length !== 0) throw Error.parameterCount();
    var prm = Sys.WebForms.PageRequestManager._instance;
    if (!prm) {
        prm = Sys.WebForms.PageRequestManager._instance = new Sys.WebForms.PageRequestManager();
    }
    return prm;
}
Sys.WebForms.PageRequestManager._addArrayElement = function Sys$WebForms$PageRequestManager$_addArrayElement(arrayName) {
    if (!window[arrayName]) {
        window[arrayName] = new Array();
    }
    for (var i = 1, l = arguments.length; i < l; i++) {
        Array.add(window[arrayName], arguments[i]);
    }
}
Sys.WebForms.PageRequestManager._initialize = function Sys$WebForms$PageRequestManager$_initialize() {
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm._initializeInternal.apply(prm, arguments);
}
Sys.WebForms.PageRequestManager.registerClass('Sys.WebForms.PageRequestManager');
 
Sys.UI._UpdateProgress = function Sys$UI$_UpdateProgress(element) {
    Sys.UI._UpdateProgress.initializeBase(this,[element]);
    this._displayAfter = 500;
    this._dynamicLayout = true;
    this._associatedUpdatePanelId = null;
    this._beginRequestHandlerDelegate = null;
    this._startDelegate = null;
    this._endRequestHandlerDelegate = null;
    this._pageRequestManager = null;
    this._timerCookie = null;
}
    function Sys$UI$_UpdateProgress$get_displayAfter() {
        /// <value type="Number" locid="P:J#Sys.UI._UpdateProgress.displayAfter"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._displayAfter;
    }
    function Sys$UI$_UpdateProgress$set_displayAfter(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        this._displayAfter = value;
    }
    function Sys$UI$_UpdateProgress$get_dynamicLayout() {
        /// <value type="Boolean" locid="P:J#Sys.UI._UpdateProgress.dynamicLayout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._dynamicLayout;
    }
    function Sys$UI$_UpdateProgress$set_dynamicLayout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._dynamicLayout = value;
    }
    function Sys$UI$_UpdateProgress$get_associatedUpdatePanelId() {
        /// <value type="String" mayBeNull="true" locid="P:J#Sys.UI._UpdateProgress.associatedUpdatePanelId"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._associatedUpdatePanelId;
    }
    function Sys$UI$_UpdateProgress$set_associatedUpdatePanelId(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String, mayBeNull: true}]);
        if (e) throw e;
        this._associatedUpdatePanelId = value;
    }
    function Sys$UI$_UpdateProgress$get_role() {
        /// <value type="String" locid="P:J#Sys.UI._UpdateProgress.role"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return "status";
    }
    function Sys$UI$_UpdateProgress$_clearTimeout() {
        if (this._timerCookie) {
            window.clearTimeout(this._timerCookie);
            this._timerCookie = null;
        }
    }
    function Sys$UI$_UpdateProgress$_getUniqueID(clientID) {
        var i = Array.indexOf(this._pageRequestManager._updatePanelClientIDs, clientID);
        return i === -1 ? null : this._pageRequestManager._updatePanelIDs[i];
    }
    function Sys$UI$_UpdateProgress$_handleBeginRequest(sender, arg) {
        var curElem = arg.get_postBackElement(),
            showProgress = true,
            upID = this._associatedUpdatePanelId;
        if (this._associatedUpdatePanelId) {
            var updating = arg.get_updatePanelsToUpdate();
            if (updating && updating.length) {
                showProgress = (Array.contains(updating, upID) || Array.contains(updating, this._getUniqueID(upID)))
            }
            else {
                showProgress = false;
            }
        }
        while (!showProgress && curElem) {
            if (curElem.id && this._associatedUpdatePanelId === curElem.id) {
                showProgress = true; 
            }
            curElem = curElem.parentNode; 
        } 
        if (showProgress) {
            this._timerCookie = window.setTimeout(this._startDelegate, this._displayAfter);
        }
    }
    function Sys$UI$_UpdateProgress$_startRequest() {
        if (this._pageRequestManager.get_isInAsyncPostBack()) {
            var element = this.get_element();
            if (this._dynamicLayout) {
                element.style.display = 'block';
            }
            else {
                element.style.visibility = 'visible';
            }
            if (this.get_role() === "status") {
                element.setAttribute("aria-hidden", "false");
            }
        }
        this._timerCookie = null;
    }
    function Sys$UI$_UpdateProgress$_handleEndRequest(sender, arg) {
        var element = this.get_element();
        if (this._dynamicLayout) {
            element.style.display = 'none';
        }
        else {
            element.style.visibility = 'hidden';
        }
        if (this.get_role() === "status") {
            element.setAttribute("aria-hidden", "true");
        }
        this._clearTimeout();
    }
    function Sys$UI$_UpdateProgress$dispose() {
        if (this._beginRequestHandlerDelegate !== null) {
            this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate);
            this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);
            this._beginRequestHandlerDelegate = null;
            this._endRequestHandlerDelegate = null;
        }
        this._clearTimeout();
        Sys.UI._UpdateProgress.callBaseMethod(this,"dispose");
    }
    function Sys$UI$_UpdateProgress$initialize() {
        Sys.UI._UpdateProgress.callBaseMethod(this, 'initialize');
        if (this.get_role() === "status") {
            this.get_element().setAttribute("aria-hidden", "true");
        }
    	this._beginRequestHandlerDelegate = Function.createDelegate(this, this._handleBeginRequest);
    	this._endRequestHandlerDelegate = Function.createDelegate(this, this._handleEndRequest);
    	this._startDelegate = Function.createDelegate(this, this._startRequest);
    	if (Sys.WebForms && Sys.WebForms.PageRequestManager) {
           this._pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
    	}
    	if (this._pageRequestManager !== null ) {
    	    this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate);
    	    this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);
    	}
    }
Sys.UI._UpdateProgress.prototype = {
    get_displayAfter: Sys$UI$_UpdateProgress$get_displayAfter,
    set_displayAfter: Sys$UI$_UpdateProgress$set_displayAfter,
    get_dynamicLayout: Sys$UI$_UpdateProgress$get_dynamicLayout,
    set_dynamicLayout: Sys$UI$_UpdateProgress$set_dynamicLayout,
    get_associatedUpdatePanelId: Sys$UI$_UpdateProgress$get_associatedUpdatePanelId,
    set_associatedUpdatePanelId: Sys$UI$_UpdateProgress$set_associatedUpdatePanelId,
    get_role: Sys$UI$_UpdateProgress$get_role,
    _clearTimeout: Sys$UI$_UpdateProgress$_clearTimeout,
    _getUniqueID: Sys$UI$_UpdateProgress$_getUniqueID,
    _handleBeginRequest: Sys$UI$_UpdateProgress$_handleBeginRequest,
    _startRequest: Sys$UI$_UpdateProgress$_startRequest,
    _handleEndRequest: Sys$UI$_UpdateProgress$_handleEndRequest,
    dispose: Sys$UI$_UpdateProgress$dispose,
    initialize: Sys$UI$_UpdateProgress$initialize
}
Sys.UI._UpdateProgress.registerClass('Sys.UI._UpdateProgress', Sys.UI.Control);

L//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
// MicrosoftAjaxWebServices.js
// Microsoft AJAX Framework Web Services.
/// <reference name="MicrosoftAjaxNetwork.js" />
Type._registerScript("MicrosoftAjaxWebServices.js", ["MicrosoftAjaxNetwork.js"]);
Type.registerNamespace('Sys.Net');
 
Sys.Net.WebServiceProxy = function Sys$Net$WebServiceProxy() {
}
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type="Number" locid="P:J#Sys.Net.WebServiceProxy.timeout"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timeout || 0;
    }
    function Sys$Net$WebServiceProxy$set_timeout(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Number}]);
        if (e) throw e;
        if (value < 0) { throw Error.argumentOutOfRange('value', value, Sys.Res.invalidTimeout); }
        this._timeout = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return (typeof(this._userContext) === "undefined") ? null : this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        var e = Function._validateParams(arguments, [{name: "value", mayBeNull: true}]);
        if (e) throw e;
        this._userContext = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._succeeded || null;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._succeeded = value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type="Function" mayBeNull="true" locid="P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._failed || null;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._failed = value;
    }
    function Sys$Net$WebServiceProxy$get_enableJsonp() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebServiceProxy.enableJsonp"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return !!this._jsonp;
    }
    function Sys$Net$WebServiceProxy$set_enableJsonp(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: Boolean}]);
        if (e) throw e;
        this._jsonp = value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceProxy.path"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._path || null;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._path = value;
    }
    function Sys$Net$WebServiceProxy$get_jsonpCallbackParameter() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceProxy.jsonpCallbackParameter"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._callbackParameter || "callback";
    }
    function Sys$Net$WebServiceProxy$set_jsonpCallbackParameter(value) {
        var e = Function._validateParams(arguments, [{name: "value", type: String}]);
        if (e) throw e;
        this._callbackParameter = value;
    }
    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext) {
        /// <summary locid="M:J#Sys.Net.WebServiceProxy._invoke" />
        /// <param name="servicePath" type="String"></param>
        /// <param name="methodName" type="String"></param>
        /// <param name="useGet" type="Boolean"></param>
        /// <param name="params"></param>
        /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>
        /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>
        /// <param name="userContext" mayBeNull="true" optional="true"></param>
        /// <returns type="Sys.Net.WebRequest" mayBeNull="true"></returns>
        var e = 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;
        onSuccess = onSuccess || this.get_defaultSucceededCallback();
        onFailure = onFailure || this.get_defaultFailedCallback();
        if (userContext === null || typeof userContext === 'undefined') userContext = this.get_defaultUserContext();
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout(), this.get_enableJsonp(), this.get_jsonpCallbackParameter());
    }
Sys.Net.WebServiceProxy.prototype = {
    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_enableJsonp: Sys$Net$WebServiceProxy$get_enableJsonp,
    set_enableJsonp: Sys$Net$WebServiceProxy$set_enableJsonp,
    get_path: Sys$Net$WebServiceProxy$get_path,
    set_path: Sys$Net$WebServiceProxy$set_path,
    get_jsonpCallbackParameter: Sys$Net$WebServiceProxy$get_jsonpCallbackParameter,
    set_jsonpCallbackParameter: Sys$Net$WebServiceProxy$set_jsonpCallbackParameter,
    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke = function Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, timeout, enableJsonp, jsonpCallbackParameter) {
    /// <summary locid="M:J#Sys.Net.WebServiceProxy.invoke" />
    /// <param name="servicePath" type="String"></param>
    /// <param name="methodName" type="String" mayBeNull="true" optional="true"></param>
    /// <param name="useGet" type="Boolean" optional="true"></param>
    /// <param name="params" mayBeNull="true" optional="true"></param>
    /// <param name="onSuccess" type="Function" mayBeNull="true" optional="true"></param>
    /// <param name="onFailure" type="Function" mayBeNull="true" optional="true"></param>
    /// <param name="userContext" mayBeNull="true" optional="true"></param>
    /// <param name="timeout" type="Number" optional="true"></param>
    /// <param name="enableJsonp" type="Boolean" optional="true" mayBeNull="true"></param>
    /// <param name="jsonpCallbackParameter" type="String" optional="true" mayBeNull="true"></param>
    /// <returns type="Sys.Net.WebRequest" mayBeNull="true"></returns>
    var e = Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String, mayBeNull: true, optional: true},
        {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},
        {name: "enableJsonp", type: Boolean, mayBeNull: true, optional: true},
        {name: "jsonpCallbackParameter", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var schemeHost = (enableJsonp !== false) ? Sys.Net.WebServiceProxy._xdomain.exec(servicePath) : null,
        tempCallback, jsonp = schemeHost && (schemeHost.length === 3) && 
            ((schemeHost[1] !== location.protocol) || (schemeHost[2] !== location.host));
    useGet = jsonp || useGet;
    if (jsonp) {
        jsonpCallbackParameter = jsonpCallbackParameter || "callback";
        tempCallback = "_jsonp" + Sys._jsonp++;
    }
    if (!params) params = {};
    var urlParams = params;
    if (!useGet || !urlParams) urlParams = {};
    var script, error, timeoutcookie = null, loader, body = null,
        url = Sys.Net.WebRequest._createUrl(methodName
            ? (servicePath+"/"+encodeURIComponent(methodName))
            : servicePath, urlParams, jsonp ? (jsonpCallbackParameter + "=Sys." + tempCallback) : null);
    if (jsonp) {
        script = document.createElement("script");
        script.src = url;
        loader = new Sys._ScriptLoaderTask(script, function(script, loaded) {
            if (!loaded || tempCallback) {
                jsonpComplete({ Message: String.format(Sys.Res.webServiceFailedNoMsg, methodName) }, -1);
            }
        });
        function jsonpComplete(data, statusCode) {
            if (timeoutcookie !== null) {
                window.clearTimeout(timeoutcookie);
                timeoutcookie = null;
            }
            loader.dispose();
            delete Sys[tempCallback];
            tempCallback = null; 
            if ((typeof(statusCode) !== "undefined") && (statusCode !== 200)) {
                if (onFailure) {
                    error = new Sys.Net.WebServiceError(false,
                            data.Message || String.format(Sys.Res.webServiceFailedNoMsg, methodName),
                            data.StackTrace || null,
                            data.ExceptionType || null,
                            data);
                    error._statusCode = statusCode;
                    onFailure(error, userContext, methodName);
                }
                else {
                    if (data.StackTrace && data.Message) {
                        error = data.StackTrace + "-- " + data.Message;
                    }
                    else {
                        error = data.StackTrace || data.Message;
                    }
                    error = String.format(error ? Sys.Res.webServiceFailed : Sys.Res.webServiceFailedNoMsg, methodName, error);
                    throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(data, userContext, methodName);
            }
        }
        Sys[tempCallback] = jsonpComplete;
        loader.execute();
        return null;
    }
    var request = new Sys.Net.WebRequest();
    request.set_url(url);
    request.get_headers()['Content-Type'] = 'application/json; charset=utf-8';
    if (!useGet) {
        body = Sys.Serialization.JavaScriptSerializer.serialize(params);
        if (body === "{}") body = "";
    }
    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 = response.get_statusCode();
            var result = null;
           
            try {
                var contentType = response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result = response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result = response.get_xml();
                }
                else {
                    result = response.get_responseData();
                }
            } catch (ex) {
            }
            var error = response.getResponseHeader("jsonerror");
            var errorObj = (error === "true");
            if (errorObj) {
                if (result) {
                    result = new Sys.Net.WebServiceError(false, result.Message, result.StackTrace, result.ExceptionType, result);
                }
            }
            else if (contentType.startsWith("application/json")) {
                result = (!result || (typeof(result.d) === "undefined")) ? result : result.d;
            }
            if (((statusCode < 200) || (statusCode >= 300)) || errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result = new Sys.Net.WebServiceError(false , String.format(Sys.Res.webServiceFailedNoMsg, methodName));
                    }
                    result._statusCode = statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                    if (result && errorObj) {
                        error = result.get_exceptionType() + "-- " + result.get_message();
                    }
                    else {
                        error = 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 = String.format(Sys.Res.webServiceTimedOut, methodName);
            }
            else {
                msg = 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 = function Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {
    var displayMessage = "Sys.Net.WebServiceFailedException: " + errorMessage;
    var e = Error.create(displayMessage, { 'name': 'Sys.Net.WebServiceFailedException', 'methodName': methodName });
    e.popStackFrame();
    return e;
}
Sys.Net.WebServiceProxy._defaultFailedCallback = function Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {
    var error = err.get_exceptionType() + "-- " + err.get_message();
    throw Sys.Net.WebServiceProxy._createFailedError(methodName, String.format(Sys.Res.webServiceFailed, methodName, error));
}
Sys.Net.WebServiceProxy._generateTypedConstructor = function Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
        if (properties) {
            for (var name in properties) {
                this[name] = properties[name];
            }
        }
        this.__type = type;
    }
}
Sys._jsonp = 0;
Sys.Net.WebServiceProxy._xdomain = /^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;
 
Sys.Net.WebServiceError = function Sys$Net$WebServiceError(timedOut, message, stackTrace, exceptionType, errorObject) {
    /// <summary locid="M:J#Sys.Net.WebServiceError.#ctor" />
    /// <param name="timedOut" type="Boolean"></param>
    /// <param name="message" type="String" mayBeNull="true"></param>
    /// <param name="stackTrace" type="String" mayBeNull="true" optional="true"></param>
    /// <param name="exceptionType" type="String" mayBeNull="true" optional="true"></param>
    /// <param name="errorObject" type="Object" mayBeNull="true" optional="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true, optional: true},
        {name: "exceptionType", type: String, mayBeNull: true, optional: true},
        {name: "errorObject", type: Object, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._timedOut = timedOut;
    this._message = message;
    this._stackTrace = stackTrace;
    this._exceptionType = exceptionType;
    this._errorObject = errorObject;
    this._statusCode = -1;
}
    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type="Boolean" locid="P:J#Sys.Net.WebServiceError.timedOut"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type="Number" locid="P:J#Sys.Net.WebServiceError.statusCode"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._statusCode;
    }
    function Sys$Net$WebServiceError$get_message() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.message"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._message;
    }
    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.stackTrace"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._stackTrace || "";
    }
    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type="String" locid="P:J#Sys.Net.WebServiceError.exceptionType"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._exceptionType || "";
    }
    function Sys$Net$WebServiceError$get_errorObject() {
        /// <value type="Object" locid="P:J#Sys.Net.WebServiceError.errorObject"></value>
        if (arguments.length !== 0) throw Error.parameterCount();
        return this._errorObject || null;
    }
Sys.Net.WebServiceError.prototype = {
    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,
    get_errorObject: Sys$Net$WebServiceError$get_errorObject
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');
>
//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
Type._registerScript("Date.HijriCalendar.js", ["MicrosoftAjaxGlobalization.js"]);
__cultureInfo.dateTimeFormat.Calendar.convert = {
    ticks1970: 62135596800000,
    monthDays: [0, 30, 59, 89, 118, 148, 177, 207, 236, 266, 295, 325, 355],
    minDate: -42521673600000,
    maxDate: 253402300799999,
    adjustment: __cultureInfo.dateTimeFormat.Calendar._adjustment || 0,
    toGregorian: function(hyear, hmonth, hday) {
        var daysSinceJan0101 = this.daysToYear(hyear) + this.monthDays[hmonth] + hday - 1 - this.adjustment;
        var gdate = new Date(daysSinceJan0101 * 86400000 - this.ticks1970);
        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
        return gdate;
    },
    fromGregorian: function(gdate) {
        if ((gdate < this.minDate) || (gdate > this.maxDate)) return null;
        var ticks = this.ticks1970 + (gdate-0) - gdate.getTimezoneOffset() * 60000,
            daysSinceJan0101 = Math.floor(ticks / 86400000) + 1 + this.adjustment;
        var hday, hmonth, hyear = Math.floor(((daysSinceJan0101 - 227013) * 30) / 10631) + 1,
            absDays = this.daysToYear(hyear),
            daysInYear = this.isLeapYear(hyear) ? 355 : 354;
        if (daysSinceJan0101 < absDays) {
            hyear--;
            absDays -= daysInYear;
        }
        else if (daysSinceJan0101 === absDays) {
            hyear--;
            absDays = this.daysToYear(hyear);
        }
        else {
            if (daysSinceJan0101 > (absDays + daysInYear)) {
                absDays += daysInYear;
                hyear++;
            }
        }
        hmonth = 0;
        var daysIntoYear = daysSinceJan0101 - absDays;
        while (hmonth <= 11 && daysIntoYear > this.monthDays[hmonth]) {
            hmonth++;
        }
        hmonth--;
        hday = daysIntoYear - this.monthDays[hmonth];
        return [hyear, hmonth, hday];
    },
    daysToYear: function(year) {
        var yearsToYear30 = Math.floor((year - 1) / 30) * 30,
            yearsInto30 = year - yearsToYear30 - 1,
            days = Math.floor((yearsToYear30 * 10631) / 30) + 227013;
        while (yearsInto30 > 0) {
            days += (this.isLeapYear(yearsInto30) ? 355 : 354);
            yearsInto30--;
        }
        return days;
    },
    isLeapYear: function(year) {
        return ((((year * 11) + 14) % 30) < 11);
    }
}
//-----------------------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------
Type._registerScript("Date.UmAlQuraCalendar.js", ["MicrosoftAjaxGlobalization.js"]);
__cultureInfo.dateTimeFormat.Calendar.convert = {
    _yearInfo: [
        [746, -2198707200000],
        [1769, -2168121600000],
        [3794, -2137449600000],
        [3748, -2106777600000],
        [3402, -2076192000000],
        [2710, -2045606400000],
        [1334, -2015020800000],
        [2741, -1984435200000],
        [3498, -1953763200000],
        [2980, -1923091200000],
        [2889, -1892505600000],
        [2707, -1861920000000],
        [1323, -1831334400000],
        [2647, -1800748800000],
        [1206, -1770076800000],
        [2741, -1739491200000],
        [1450, -1708819200000],
        [3413, -1678233600000],
        [3370, -1647561600000],
        [2646, -1616976000000],
        [1198, -1586390400000],
        [2397, -1555804800000],
        [748, -1525132800000],
        [1749, -1494547200000],
        [1706, -1463875200000],
        [1365, -1433289600000],
        [1195, -1402704000000],
        [2395, -1372118400000],
        [698, -1341446400000],
        [1397, -1310860800000],
        [2994, -1280188800000],
        [1892, -1249516800000],
        [1865, -1218931200000],
        [1621, -1188345600000],
        [683, -1157760000000],
        [1371, -1127174400000],
        [2778, -1096502400000],
        [1748, -1065830400000],
        [3785, -1035244800000],
        [3474, -1004572800000],
        [3365, -973987200000],
        [2637, -943401600000],
        [685, -912816000000],
        [1389, -882230400000],
        [2922, -851558400000],
        [2898, -820886400000],
        [2725, -790300800000],
        [2635, -759715200000],
        [1175, -729129600000],
        [2359, -698544000000],
        [694, -667872000000],
        [1397, -637286400000],
        [3434, -606614400000],
        [3410, -575942400000],
        [2710, -545356800000],
        [2349, -514771200000],
        [605, -484185600000],
        [1245, -453600000000],
        [2778, -422928000000],
        [1492, -392256000000],
        [3497, -361670400000],
        [3410, -330998400000],
        [2730, -300412800000],
        [1238, -269827200000],
        [2486, -239241600000],
        [884, -208569600000],
        [1897, -177984000000],
        [1874, -147312000000],
        [1701, -116726400000],
        [1355, -86140800000],
        [2731, -55555200000],
        [1370, -24883200000],
        [2773, 5702400000],
        [3538, 36374400000],
        [3492, 67046400000],
        [3401, 97632000000],
        [2709, 128217600000],
        [1325, 158803200000],
        [2653, 189388800000],
        [1370, 220060800000],
        [2773, 250646400000],
        [1706, 281318400000],
        [1685, 311904000000],
        [1323, 342489600000],
        [2647, 373075200000],
        [1198, 403747200000],
        [2422, 434332800000],
        [1388, 465004800000],
        [2901, 495590400000],
        [2730, 526262400000],
        [2645, 556848000000],
        [1197, 587433600000],
        [2397, 618019200000],
        [730, 648691200000],
        [1497, 679276800000],
        [3506, 709948800000],
        [2980, 740620800000],
        [2890, 771206400000],
        [2645, 801792000000],
        [693, 832377600000],
        [1397, 862963200000],
        [2922, 893635200000],
        [3026, 924307200000],
        [3012, 954979200000],
        [2953, 985564800000],
        [2709, 1016150400000],
        [1325, 1046736000000],
        [1453, 1077321600000],
        [2922, 1107993600000],
        [1748, 1138665600000],
        [3529, 1169251200000],
        [3474, 1199923200000],
        [2726, 1230508800000],
        [2390, 1261094400000],
        [686, 1291680000000],
        [1389, 1322265600000],
        [874, 1352937600000],
        [2901, 1383523200000],
        [2730, 1414195200000],
        [2381, 1444780800000],
        [1181, 1475366400000],
        [2397, 1505952000000],
        [698, 1536624000000],
        [1461, 1567209600000],
        [1450, 1597881600000],
        [3413, 1628467200000],
        [2714, 1659139200000],
        [2350, 1689724800000],
        [622, 1720310400000],
        [1373, 1750896000000],
        [2778, 1781568000000],
        [1748, 1812240000000],
        [1701, 1842825600000],
        [0, 1873411200000]
    ],
    minDate: -2198707200000,
    maxDate: 1873411199999,
    toGregorian: function(hyear, hmonth, hday) {
        var days = hday - 1,
            gyear = hyear - 1318;
        if (gyear < 0 || gyear >= this._yearInfo.length) return null;
        var info = this._yearInfo[gyear],
            gdate = new Date(info[1]),
            monthLength = info[0];
        gdate.setMinutes(gdate.getMinutes() + gdate.getTimezoneOffset());
        for (var i = 0; i < hmonth; i++) {
            days += 29 + (monthLength & 1);
            monthLength = monthLength >> 1;
        }
        gdate.setDate(gdate.getDate() + days);
        return gdate;
    },
    fromGregorian: function(gdate) {
        var ticks = gdate - gdate.getTimezoneOffset() * 60000;
        if (ticks < this.minDate || ticks > this.maxDate) return null;
        var hyear = 0,
            hmonth = 1;
        while (ticks > this._yearInfo[++hyear][1]) { }
        if (ticks !== this._yearInfo[hyear][1]) {
            hyear--;
        }
        var info = this._yearInfo[hyear],
            days = Math.floor((ticks - info[1]) / 86400000),
            monthLength = info[0];
        hyear += 1318; 
        var daysInMonth = 29 + (monthLength & 1);
        while (days >= daysInMonth) {
            days -= daysInMonth;
            monthLength = monthLength >> 1;
            daysInMonth = 29 + (monthLength & 1);
            hmonth++;
        }
        return [hyear, hmonth - 1, days + 1];
    }
}
҃//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjax.js
Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c<e;c++)d[c]=arguments[c];d[e]=a;return b.apply(this,d)}return b.call(this,a)}};Function.createDelegate=function(a,b){return function(){return b.apply(a,arguments)}};Function.emptyFunction=Function.emptyMethod=function(){};Function.validateParameters=function(c,b,a){return Function._validateParams(c,b,a)};Function._validateParams=function(g,e,c){var a,d=e.length;c=c||typeof c==="undefined";a=Function._validateParameterCount(g,e,c);if(a){a.popStackFrame();return a}for(var b=0,i=g.length;b<i;b++){var f=e[Math.min(b,d-1)],h=f.name;if(f.parameterArray)h+="["+(b-d+1)+"]";else if(!c&&b>=d)break;a=Function._validateParameter(g[b],f,h);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(j,d,i){var a,c,b=d.length,e=j.length;if(e<b){var f=b;for(a=0;a<b;a++){var g=d[a];if(g.optional||g.parameterArray)f--}if(e<f)c=true}else if(i&&e>b){c=true;for(a=0;a<b;a++)if(d[a].parameterArray){c=false;break}}if(c){var h=Error.parameterCount();h.popStackFrame();return h}return null};Function._validateParameter=function(c,a,h){var b,g=a.type,l=!!a.integer,k=!!a.domElement,m=!!a.mayBeNull;b=Function._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return b}var e=a.elementType,f=!!a.elementMayBeNull;if(g===Array&&typeof c!=="undefined"&&c!==null&&(e||!f)){var j=!!a.elementInteger,i=!!a.elementDomElement;for(var d=0;d<c.length;d++){var n=c[d];b=Function._validateParameterType(n,e,j,i,f,h+"["+d+"]");if(b){b.popStackFrame();return b}}}return null};Function._validateParameterType=function(b,c,k,j,h,d){var a,g;if(typeof b==="undefined")if(h)return null;else{a=Error.argumentUndefined(d);a.popStackFrame();return a}if(b===null)if(h)return null;else{a=Error.argumentNull(d);a.popStackFrame();return a}if(c&&c.__enum){if(typeof b!=="number"){a=Error.argumentType(d,Object.getType(b),c);a.popStackFrame();return a}if(b%1===0){var e=c.prototype;if(!c.__flags||b===0){for(g in e)if(e[g]===b)return null}else{var i=b;for(g in e){var f=e[g];if(f===0)continue;if((f&b)===f)i-=f;if(i===0)return null}}}a=Error.argumentOutOfRange(d,b,String.format(Sys.Res.enumInvalidValue,b,c.getName()));a.popStackFrame();return a}if(j&&(!Sys._isDomElement(b)||b.nodeType===3)){a=Error.argument(d,Sys.Res.argumentDomElement);a.popStackFrame();return a}if(c&&!Sys._isInstanceOfType(c,b)){a=Error.argumentType(d,Object.getType(b),c);a.popStackFrame();return a}if(c===Number&&k)if(b%1!==0){a=Error.argumentOutOfRange(d,b,Sys.Res.argumentInteger);a.popStackFrame();return a}return null};Error.__typeName="Error";Error.__class=true;Error.create=function(d,b){var a=new Error(d);a.message=d;if(b)for(var c in b)a[c]=b[c];a.popStackFrame();return a};Error.argument=function(a,c){var b="Sys.ArgumentException: "+(c?c:Sys.Res.argument);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentException",paramName:a});d.popStackFrame();return d};Error.argumentNull=function(a,c){var b="Sys.ArgumentNullException: "+(c?c:Sys.Res.argumentNull);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentNullException",paramName:a});d.popStackFrame();return d};Error.argumentOutOfRange=function(c,a,d){var b="Sys.ArgumentOutOfRangeException: "+(d?d:Sys.Res.argumentOutOfRange);if(c)b+="\n"+String.format(Sys.Res.paramName,c);if(typeof a!=="undefined"&&a!==null)b+="\n"+String.format(Sys.Res.actualValue,a);var e=Error.create(b,{name:"Sys.ArgumentOutOfRangeException",paramName:c,actualValue:a});e.popStackFrame();return e};Error.argumentType=function(d,c,b,e){var a="Sys.ArgumentTypeException: ";if(e)a+=e;else if(c&&b)a+=String.format(Sys.Res.argumentTypeWithTypes,c.getName(),b.getName());else a+=Sys.Res.argumentType;if(d)a+="\n"+String.format(Sys.Res.paramName,d);var f=Error.create(a,{name:"Sys.ArgumentTypeException",paramName:d,actualType:c,expectedType:b});f.popStackFrame();return f};Error.argumentUndefined=function(a,c){var b="Sys.ArgumentUndefinedException: "+(c?c:Sys.Res.argumentUndefined);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentUndefinedException",paramName:a});d.popStackFrame();return d};Error.format=function(a){var c="Sys.FormatException: "+(a?a:Sys.Res.format),b=Error.create(c,{name:"Sys.FormatException"});b.popStackFrame();return b};Error.invalidOperation=function(a){var c="Sys.InvalidOperationException: "+(a?a:Sys.Res.invalidOperation),b=Error.create(c,{name:"Sys.InvalidOperationException"});b.popStackFrame();return b};Error.notImplemented=function(a){var c="Sys.NotImplementedException: "+(a?a:Sys.Res.notImplemented),b=Error.create(c,{name:"Sys.NotImplementedException"});b.popStackFrame();return b};Error.parameterCount=function(a){var c="Sys.ParameterCountException: "+(a?a:Sys.Res.parameterCount),b=Error.create(c,{name:"Sys.ParameterCountException"});b.popStackFrame();return b};Error.prototype.popStackFrame=function(){if(typeof this.stack==="undefined"||this.stack===null||typeof this.fileName==="undefined"||this.fileName===null||typeof this.lineNumber==="undefined"||this.lineNumber===null)return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(typeof c!=="undefined"&&c!==null&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(typeof d==="undefined"||d===null)return;var b=d.match(/@(.*):(\d+)$/);if(typeof b==="undefined"||b===null)return;this.fileName=b[1];this.lineNumber=parseInt(b[2]);a.shift();this.stack=a.join("\n")};Object.__typeName="Object";Object.__class=true;Object.getType=function(b){var a=b.constructor;if(!a||typeof a!=="function"||!a.__typeName||a.__typeName==="Object")return Object;return a};Object.getTypeName=function(a){return Object.getType(a).getName()};String.__typeName="String";String.__class=true;String.prototype.endsWith=function(a){return this.substr(this.length-a.length)===a};String.prototype.startsWith=function(a){return this.substr(0,a.length)===a};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=function(){return this.replace(/\s+$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s+/,"")};String.format=function(){return String._toFormattedString(false,arguments)};String._toFormattedString=function(l,j){var c="",e=j[0];for(var a=0;true;){var f=e.indexOf("{",a),d=e.indexOf("}",a);if(f<0&&d<0){c+=e.slice(a);break}if(d>0&&(d<f||f<0)){c+=e.slice(a,d+1);a=d+2;continue}c+=e.slice(a,f);a=f+1;if(e.charAt(a)==="{"){c+="{";a++;continue}if(d<0)break;var h=e.substring(a,d),g=h.indexOf(":"),k=parseInt(g<0?h:h.substring(0,g),10)+1,i=g<0?"":h.substring(g+1),b=j[k];if(typeof b==="undefined"||b===null)b="";if(b.toFormattedString)c+=b.toFormattedString(i);else if(l&&b.localeFormat)c+=b.localeFormat(i);else if(b.format)c+=b.format(i);else c+=b.toString();a=d+1}return c};Boolean.__typeName="Boolean";Boolean.__class=true;Boolean.parse=function(b){var a=b.trim().toLowerCase();if(a==="false")return false;if(a==="true")return true};Date.__typeName="Date";Date.__class=true;Number.__typeName="Number";Number.__class=true;RegExp.__typeName="RegExp";RegExp.__class=true;if(!window)this.window=this;window.Type=Function;Type.prototype.callBaseMethod=function(a,d,b){var c=Sys._getBaseMethod(this,a,d);if(!b)return c.apply(a);else return c.apply(a,b)};Type.prototype.getBaseMethod=function(a,b){return Sys._getBaseMethod(this,a,b)};Type.prototype.getBaseType=function(){return typeof this.__baseType==="undefined"?null:this.__baseType};Type.prototype.getInterfaces=function(){var a=[],b=this;while(b){var c=b.__interfaces;if(c)for(var d=0,f=c.length;d<f;d++){var e=c[d];if(!Array.contains(a,e))a[a.length]=e}b=b.__baseType}return a};Type.prototype.getName=function(){return typeof this.__typeName==="undefined"?"":this.__typeName};Type.prototype.implementsInterface=function(d){this.resolveInheritance();var c=d.getName(),a=this.__interfaceCache;if(a){var e=a[c];if(typeof e!=="undefined")return e}else a=this.__interfaceCache={};var b=this;while(b){var f=b.__interfaces;if(f)if(Array.indexOf(f,d)!==-1)return a[c]=true;b=b.__baseType}return a[c]=false};Type.prototype.inheritsFrom=function(b){this.resolveInheritance();var a=this.__baseType;while(a){if(a===b)return true;a=a.__baseType}return false};Type.prototype.initializeBase=function(a,b){this.resolveInheritance();if(this.__baseType)if(!b)this.__baseType.apply(a);else this.__baseType.apply(a,b);return a};Type.prototype.isImplementedBy=function(a){if(typeof a==="undefined"||a===null)return false;var b=Object.getType(a);return !!(b.implementsInterface&&b.implementsInterface(this))};Type.prototype.isInstanceOfType=function(a){return Sys._isInstanceOfType(this,a)};Type.prototype.registerClass=function(c,b,d){this.prototype.constructor=this;this.__typeName=c;this.__class=true;if(b){this.__baseType=b;this.__basePrototypePending=true}Sys.__upperCaseTypes[c.toUpperCase()]=this;if(d){this.__interfaces=[];for(var a=2,f=arguments.length;a<f;a++){var e=arguments[a];this.__interfaces.push(e)}}return this};Type.prototype.registerInterface=function(a){Sys.__upperCaseTypes[a.toUpperCase()]=this;this.prototype.constructor=this;this.__typeName=a;this.__interface=true;return this};Type.prototype.resolveInheritance=function(){if(this.__basePrototypePending){var b=this.__baseType;b.resolveInheritance();for(var a in b.prototype){var c=b.prototype[a];if(!this.prototype[a])this.prototype[a]=c}delete this.__basePrototypePending}};Type.getRootNamespaces=function(){return Array.clone(Sys.__rootNamespaces)};Type.isClass=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__class};Type.isInterface=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__interface};Type.isNamespace=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__namespace};Type.parse=function(typeName,ns){var fn;if(ns){fn=Sys.__upperCaseTypes[ns.getName().toUpperCase()+"."+typeName.toUpperCase()];return fn||null}if(!typeName)return null;if(!Type.__htClasses)Type.__htClasses={};fn=Type.__htClasses[typeName];if(!fn){fn=eval(typeName);Type.__htClasses[typeName]=fn}return fn};Type.registerNamespace=function(e){var d=window,c=e.split(".");for(var b=0;b<c.length;b++){var f=c[b],a=d[f];if(!a)a=d[f]={};if(!a.__namespace){if(b===0&&e!=="Sys")Sys.__rootNamespaces[Sys.__rootNamespaces.length]=a;a.__namespace=true;a.__typeName=c.slice(0,b+1).join(".");a.getName=function(){return this.__typeName}}d=a}};Type._checkDependency=function(c,a){var d=Type._registerScript._scripts,b=d?!!d[c]:false;if(typeof a!=="undefined"&&!b)throw Error.invalidOperation(String.format(Sys.Res.requiredScriptReferenceNotIncluded,a,c));return b};Type._registerScript=function(a,c){var b=Type._registerScript._scripts;if(!b)Type._registerScript._scripts=b={};if(b[a])throw Error.invalidOperation(String.format(Sys.Res.scriptAlreadyLoaded,a));b[a]=true;if(c)for(var d=0,f=c.length;d<f;d++){var e=c[d];if(!Type._checkDependency(e))throw Error.invalidOperation(String.format(Sys.Res.scriptDependencyNotFound,a,e))}};Type.registerNamespace("Sys");Sys.__upperCaseTypes={};Sys.__rootNamespaces=[Sys];Sys._isInstanceOfType=function(c,b){if(typeof b==="undefined"||b===null)return false;if(b instanceof c)return true;var a=Object.getType(b);return !!(a===c)||a.inheritsFrom&&a.inheritsFrom(c)||a.implementsInterface&&a.implementsInterface(c)};Sys._getBaseMethod=function(d,e,c){var b=d.getBaseType();if(b){var a=b.prototype[c];return a instanceof Function?a:null}return null};Sys._isDomElement=function(a){var c=false;if(typeof a.nodeType!=="number"){var b=a.ownerDocument||a.document||a;if(b!=a){var d=b.defaultView||b.parentWindow;c=d!=a}else c=typeof b.body==="undefined"}return !c};Array.__typeName="Array";Array.__class=true;Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){if(a.length===1)return [a[0]];else return Array.apply(null,a)};Array.contains=function(a,b){return Sys._indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a<f;a++){var c=b[a];if(typeof c!=="undefined")e.call(d,c,a,b)}};Array.indexOf=function(a,c,b){return Sys._indexOf(a,c,b)};Array.insert=function(a,b,c){a.splice(b,0,c)};Array.parse=function(value){if(!value)return [];return eval(value)};Array.remove=function(b,c){var a=Sys._indexOf(b,c);if(a>=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};Sys._indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b<c;b++)if(typeof d[b]!=="undefined"&&d[b]===e)return b}return -1};Type._registerScript._scripts={"MicrosoftAjaxCore.js":true,"MicrosoftAjaxGlobalization.js":true,"MicrosoftAjaxSerialization.js":true,"MicrosoftAjaxComponentModel.js":true,"MicrosoftAjaxHistory.js":true,"MicrosoftAjaxNetwork.js":true,"MicrosoftAjaxWebServices.js":true};Sys.IDisposable=function(){};Sys.IDisposable.prototype={};Sys.IDisposable.registerInterface("Sys.IDisposable");Sys.StringBuilder=function(a){this._parts=typeof a!=="undefined"&&a!==null&&a!==""?[a.toString()]:[];this._value={};this._len=0};Sys.StringBuilder.prototype={append:function(a){this._parts[this._parts.length]=a},appendLine:function(a){this._parts[this._parts.length]=typeof a==="undefined"||a===null||a===""?"\r\n":a+"\r\n"},clear:function(){this._parts=[];this._value={};this._len=0},isEmpty:function(){if(this._parts.length===0)return true;return this.toString()===""},toString:function(a){a=a||"";var b=this._parts;if(this._len!==b.length){this._value={};this._len=b.length}var d=this._value;if(typeof d[a]==="undefined"){if(a!=="")for(var c=0;c<b.length;)if(typeof b[c]==="undefined"||b[c]===""||b[c]===null)b.splice(c,1);else c++;d[a]=this._parts.join(a)}return d[a]}};Sys.StringBuilder.registerClass("Sys.StringBuilder");Sys.Browser={};Sys.Browser.InternetExplorer={};Sys.Browser.Firefox={};Sys.Browser.Safari={};Sys.Browser.Opera={};Sys.Browser.agent=null;Sys.Browser.hasDebuggerStatement=false;Sys.Browser.name=navigator.appName;Sys.Browser.version=parseFloat(navigator.appVersion);Sys.Browser.documentMode=0;if(navigator.userAgent.indexOf(" MSIE ")>-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+="    ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e<j;e++)this._traceDump(a[e],"["+e+"]",f,b,d)}else for(g in a){h=a[g];if(!Function.isInstanceOfType(h))this._traceDump(h,g,f,b,d)}}}Array.remove(d,a)}}};Sys._Debug.registerClass("Sys._Debug");Sys.Debug=new Sys._Debug;Sys.Debug.isDebug=false;function Sys$Enum$parse(c,e){var a,b,i;if(e){a=this.__lowerCaseValues;if(!a){this.__lowerCaseValues=a={};var g=this.prototype;for(var f in g)a[f.toLowerCase()]=g[f]}}else a=this.prototype;if(!this.__flags){i=e?c.toLowerCase():c;b=a[i.trim()];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c,this.__typeName));return b}else{var h=(e?c.toLowerCase():c).split(","),j=0;for(var d=h.length-1;d>=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.CollectionChange=function(e,a,c,b,d){this.action=e;if(a)if(!(a instanceof Array))a=[a];this.newItems=a||null;if(typeof c!=="number")c=-1;this.newStartingIndex=c;if(b)if(!(b instanceof Array))b=[b];this.oldItems=b||null;if(typeof d!=="number")d=-1;this.oldStartingIndex=d};Sys.CollectionChange.registerClass("Sys.CollectionChange");Sys.NotifyCollectionChangedAction=function(){throw Error.notImplemented()};Sys.NotifyCollectionChangedAction.prototype={add:0,remove:1,reset:2};Sys.NotifyCollectionChangedAction.registerEnum("Sys.NotifyCollectionChangedAction");Sys.NotifyCollectionChangedEventArgs=function(a){this._changes=a;Sys.NotifyCollectionChangedEventArgs.initializeBase(this)};Sys.NotifyCollectionChangedEventArgs.prototype={get_changes:function(){return this._changes||[]}};Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs",Sys.EventArgs);Sys.Observer=function(){};Sys.Observer.registerClass("Sys.Observer");Sys.Observer.makeObservable=function(a){var c=a instanceof Array,b=Sys.Observer;if(a.setValue===b._observeMethods.setValue)return a;b._addMethods(a,b._observeMethods);if(c)b._addMethods(a,b._arrayMethods);return a};Sys.Observer._addMethods=function(c,b){for(var a in b)c[a]=b[a]};Sys.Observer._addEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._addHandler(a,b)};Sys.Observer.addEventHandler=function(c,a,b){Sys.Observer._addEventHandler(c,a,b)};Sys.Observer._removeEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._removeHandler(a,b)};Sys.Observer.removeEventHandler=function(c,a,b){Sys.Observer._removeEventHandler(c,a,b)};Sys.Observer.raiseEvent=function(b,e,d){var c=Sys.Observer._getContext(b);if(!c)return;var a=c.events.getHandler(e);if(a)a(b,d)};Sys.Observer.addPropertyChanged=function(b,a){Sys.Observer._addEventHandler(b,"propertyChanged",a)};Sys.Observer.removePropertyChanged=function(b,a){Sys.Observer._removeEventHandler(b,"propertyChanged",a)};Sys.Observer.beginUpdate=function(a){Sys.Observer._getContext(a,true).updating=true};Sys.Observer.endUpdate=function(b){var a=Sys.Observer._getContext(b);if(!a||!a.updating)return;a.updating=false;var d=a.dirty;a.dirty=false;if(d){if(b instanceof Array){var c=a.changes;a.changes=null;Sys.Observer.raiseCollectionChanged(b,c)}Sys.Observer.raisePropertyChanged(b,"")}};Sys.Observer.isUpdating=function(b){var a=Sys.Observer._getContext(b);return a?a.updating:false};Sys.Observer._setValue=function(a,j,g){var b,f,k=a,d=j.split(".");for(var i=0,m=d.length-1;i<m;i++){var l=d[i];b=a["get_"+l];if(typeof b==="function")a=b.call(a);else a=a[l];var n=typeof a;if(a===null||n==="undefined")throw Error.invalidOperation(String.format(Sys.Res.nullReferenceInPath,j))}var e,c=d[m];b=a["get_"+c];f=a["set_"+c];if(typeof b==="function")e=b.call(a);else e=a[c];if(typeof f==="function")f.call(a,g);else a[c]=g;if(e!==g){var h=Sys.Observer._getContext(k);if(h&&h.updating){h.dirty=true;return}Sys.Observer.raisePropertyChanged(k,d[0])}};Sys.Observer.setValue=function(b,a,c){Sys.Observer._setValue(b,a,c)};Sys.Observer.raisePropertyChanged=function(b,a){Sys.Observer.raiseEvent(b,"propertyChanged",new Sys.PropertyChangedEventArgs(a))};Sys.Observer.addCollectionChanged=function(b,a){Sys.Observer._addEventHandler(b,"collectionChanged",a)};Sys.Observer.removeCollectionChanged=function(b,a){Sys.Observer._removeEventHandler(b,"collectionChanged",a)};Sys.Observer._collectionChange=function(d,c){var a=Sys.Observer._getContext(d);if(a&&a.updating){a.dirty=true;var b=a.changes;if(!b)a.changes=b=[c];else b.push(c)}else{Sys.Observer.raiseCollectionChanged(d,[c]);Sys.Observer.raisePropertyChanged(d,"length")}};Sys.Observer.add=function(a,b){var c=new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add,[b],a.length);Array.add(a,b);Sys.Observer._collectionChange(a,c)};Sys.Observer.addRange=function(a,b){var c=new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add,b,a.length);Array.addRange(a,b);Sys.Observer._collectionChange(a,c)};Sys.Observer.clear=function(a){var b=Array.clone(a);Array.clear(a);Sys.Observer._collectionChange(a,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.reset,null,-1,b,0))};Sys.Observer.insert=function(a,b,c){Array.insert(a,b,c);Sys.Observer._collectionChange(a,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add,[c],b))};Sys.Observer.remove=function(a,b){var c=Array.indexOf(a,b);if(c!==-1){Array.remove(a,b);Sys.Observer._collectionChange(a,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove,null,-1,[b],c));return true}return false};Sys.Observer.removeAt=function(b,a){if(a>-1&&a<b.length){var c=b[a];Array.removeAt(b,a);Sys.Observer._collectionChange(b,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove,null,-1,[c],a))}};Sys.Observer.raiseCollectionChanged=function(b,a){Sys.Observer.raiseEvent(b,"collectionChanged",new Sys.NotifyCollectionChangedEventArgs(a))};Sys.Observer._observeMethods={add_propertyChanged:function(a){Sys.Observer._addEventHandler(this,"propertyChanged",a)},remove_propertyChanged:function(a){Sys.Observer._removeEventHandler(this,"propertyChanged",a)},addEventHandler:function(a,b){Sys.Observer._addEventHandler(this,a,b)},removeEventHandler:function(a,b){Sys.Observer._removeEventHandler(this,a,b)},get_isUpdating:function(){return Sys.Observer.isUpdating(this)},beginUpdate:function(){Sys.Observer.beginUpdate(this)},endUpdate:function(){Sys.Observer.endUpdate(this)},setValue:function(b,a){Sys.Observer._setValue(this,b,a)},raiseEvent:function(b,a){Sys.Observer.raiseEvent(this,b,a)},raisePropertyChanged:function(a){Sys.Observer.raiseEvent(this,"propertyChanged",new Sys.PropertyChangedEventArgs(a))}};Sys.Observer._arrayMethods={add_collectionChanged:function(a){Sys.Observer._addEventHandler(this,"collectionChanged",a)},remove_collectionChanged:function(a){Sys.Observer._removeEventHandler(this,"collectionChanged",a)},add:function(a){Sys.Observer.add(this,a)},addRange:function(a){Sys.Observer.addRange(this,a)},clear:function(){Sys.Observer.clear(this)},insert:function(a,b){Sys.Observer.insert(this,a,b)},remove:function(a){return Sys.Observer.remove(this,a)},removeAt:function(a){Sys.Observer.removeAt(this,a)},raiseCollectionChanged:function(a){Sys.Observer.raiseEvent(this,"collectionChanged",new Sys.NotifyCollectionChangedEventArgs(a))}};Sys.Observer._getContext=function(b,c){var a=b._observerContext;if(a)return a();if(c)return (b._observerContext=Sys.Observer._createContext())();return null};Sys.Observer._createContext=function(){var a={events:new Sys.EventHandlerList};return function(){return a}};Date._appendPreOrPostMatch=function(e,b){var d=0,a=false;for(var c=0,g=e.length;c<g;c++){var f=e.charAt(c);switch(f){case "'":if(a)b.append("'");else d++;a=false;break;case "\\":if(a)b.append("\\");a=!a;break;default:b.append(f);a=false}}return d};Date._expandFormat=function(a,b){if(!b)b="F";var c=b.length;if(c===1)switch(b){case "d":return a.ShortDatePattern;case "D":return a.LongDatePattern;case "t":return a.ShortTimePattern;case "T":return a.LongTimePattern;case "f":return a.LongDatePattern+" "+a.ShortTimePattern;case "F":return a.FullDateTimePattern;case "M":case "m":return a.MonthDayPattern;case "s":return a.SortableDateTimePattern;case "Y":case "y":return a.YearMonthPattern;default:throw Error.format(Sys.Res.formatInvalidString)}else if(c===2&&b.charAt(0)==="%")b=b.charAt(1);return b};Date._expandYear=function(c,a){var d=new Date,e=Date._getEra(d);if(a<100){var b=Date._getEraYear(d,c,e);a+=b-b%100;if(a>c.Calendar.TwoDigitYearMax)a-=100}return a};Date._getEra=function(e,c){if(!c)return 0;var b,d=e.getTime();for(var a=0,f=c.length;a<f;a+=4){b=c[a+2];if(b===null||d>=b)return a}return 0};Date._getEraYear=function(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break;case "/":a.append("(\\"+b.DateSeparator+")")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){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|gg|g/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(h,d,i){var a,c,b,f,e,g=false;for(a=1,c=i.length;a<c;a++){f=i[a];if(f){g=true;b=Date._parseExact(h,f,d);if(b)return b}}if(!g){e=d._getDateTimeFormats();for(a=0,c=e.length;a<c;a++){b=Date._parseExact(h,e[a],d);if(b)return b}}return null};Date._parseExact=function(w,D,k){w=w.trim();var g=k.dateTimeFormat,A=Date._getParseRegExp(g,D),C=(new RegExp(A.regExp)).exec(w);if(C===null)return null;var B=A.groups,x=null,e=null,c=null,j=null,i=null,d=0,h,p=0,q=0,f=0,l=null,v=false;for(var s=0,E=B.length;s<E;s++){var a=C[s+1];if(a)switch(B[s]){case "dd":case "d":j=parseInt(a,10);if(j<1||j>31)return null;break;case "MMMM":c=k._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=k._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":e=Date._expandYear(g,parseInt(a,10));if(e<0||e>9999)return null;break;case "yyyy":e=parseInt(a,10);if(e<0||e>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":p=parseInt(a,10);if(p<0||p>59)return null;break;case "s":case "ss":q=parseInt(a,10);if(q<0||q>59)return null;break;case "tt":case "t":var z=a.toUpperCase();v=z===g.PMDesignator.toUpperCase();if(!v&&z!==g.AMDesignator.toUpperCase())return null;break;case "f":f=parseInt(a,10)*100;if(f<0||f>999)return null;break;case "ff":f=parseInt(a,10)*10;if(f<0||f>999)return null;break;case "fff":f=parseInt(a,10);if(f<0||f>999)return null;break;case "dddd":i=k._getDayIndex(a);if(i<0||i>6)return null;break;case "ddd":i=k._getAbbrDayIndex(a);if(i<0||i>6)return null;break;case "zzz":var u=a.split(/:/);if(u.length!==2)return null;h=parseInt(u[0],10);if(h<-12||h>13)return null;var m=parseInt(u[1],10);if(m<0||m>59)return null;l=h*60+(a.startsWith("-")?-m:m);break;case "z":case "zz":h=parseInt(a,10);if(h<-12||h>13)return null;l=h*60;break;case "g":case "gg":var o=a;if(!o||!g.eras)return null;o=o.toLowerCase().trim();for(var r=0,F=g.eras.length;r<F;r+=4)if(o===g.eras[r+1].toLowerCase()){x=r;break}if(x===null)return null}}var b=new Date,t,n=g.Calendar.convert;if(n)t=n.fromGregorian(b)[0];else t=b.getFullYear();if(e===null)e=t;else if(g.eras)e+=g.eras[(x||0)+3];if(c===null)c=0;if(j===null)j=1;if(n){b=n.toGregorian(e,c,j);if(b===null)return null}else{b.setFullYear(e,c,j);if(b.getDate()!==j)return null;if(i!==null&&b.getDay()!==i)return null}if(v&&d<12)d+=12;b.setHours(d,p,q,f);if(l!==null){var y=b.getMinutes()-(l+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(y/60,10),y%60)}return b};Date.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype._toFormattedString=function(e,j){var b=j.dateTimeFormat,n=b.Calendar.convert;if(!e||!e.length||e==="i")if(j&&j.name.length)if(n)return this._toFormattedString(b.FullDateTimePattern,j);else{var r=new Date(this.getTime()),x=Date._getEra(this,b.eras);r.setFullYear(Date._getEraYear(this,b,x));return r.toLocaleString()}else return this.toString();var l=b.eras,k=e==="s";e=Date._expandFormat(b,e);var a=new Sys.StringBuilder,c;function d(a){if(a<10)return "0"+a;return a.toString()}function m(a){if(a<10)return "00"+a;if(a<100)return "0"+a;return a.toString()}function v(a){if(a<10)return "000"+a;else if(a<100)return "00"+a;else if(a<1000)return "0"+a;return a.toString()}var h,p,t=/([^d]|^)(d|dd)([^d]|$)/g;function s(){if(h||p)return h;h=t.test(e);p=true;return h}var q=0,o=Date._getTokenRegExp(),f;if(!k&&n)f=n.fromGregorian(this);for(;true;){var w=o.lastIndex,i=o.exec(e),u=e.slice(w,i?i.index:e.length);q+=Date._appendPreOrPostMatch(u,a);if(!i)break;if(q%2===1){a.append(i[0]);continue}function g(a,b){if(f)return f[b];switch(b){case 0:return a.getFullYear();case 1:return a.getMonth();case 2:return a.getDate()}}switch(i[0]){case "dddd":a.append(b.DayNames[this.getDay()]);break;case "ddd":a.append(b.AbbreviatedDayNames[this.getDay()]);break;case "dd":h=true;a.append(d(g(this,2)));break;case "d":h=true;a.append(g(this,2));break;case "MMMM":a.append(b.MonthGenitiveNames&&s()?b.MonthGenitiveNames[g(this,1)]:b.MonthNames[g(this,1)]);break;case "MMM":a.append(b.AbbreviatedMonthGenitiveNames&&s()?b.AbbreviatedMonthGenitiveNames[g(this,1)]:b.AbbreviatedMonthNames[g(this,1)]);break;case "MM":a.append(d(g(this,1)+1));break;case "M":a.append(g(this,1)+1);break;case "yyyy":a.append(v(f?f[0]:Date._getEraYear(this,b,Date._getEra(this,l),k)));break;case "yy":a.append(d((f?f[0]:Date._getEraYear(this,b,Date._getEra(this,l),k))%100));break;case "y":a.append((f?f[0]:Date._getEraYear(this,b,Date._getEra(this,l),k))%100);break;case "hh":c=this.getHours()%12;if(c===0)c=12;a.append(d(c));break;case "h":c=this.getHours()%12;if(c===0)c=12;a.append(c);break;case "HH":a.append(d(this.getHours()));break;case "H":a.append(this.getHours());break;case "mm":a.append(d(this.getMinutes()));break;case "m":a.append(this.getMinutes());break;case "ss":a.append(d(this.getSeconds()));break;case "s":a.append(this.getSeconds());break;case "tt":a.append(this.getHours()<12?b.AMDesignator:b.PMDesignator);break;case "t":a.append((this.getHours()<12?b.AMDesignator:b.PMDesignator).charAt(0));break;case "f":a.append(m(this.getMilliseconds()).charAt(0));break;case "ff":a.append(m(this.getMilliseconds()).substr(0,2));break;case "fff":a.append(m(this.getMilliseconds()));break;case "z":c=this.getTimezoneOffset()/60;a.append((c<=0?"+":"-")+Math.floor(Math.abs(c)));break;case "zz":c=this.getTimezoneOffset()/60;a.append((c<=0?"+":"-")+d(Math.floor(Math.abs(c))));break;case "zzz":c=this.getTimezoneOffset()/60;a.append((c<=0?"+":"-")+d(Math.floor(Math.abs(c)))+":"+d(Math.abs(this.getTimezoneOffset()%60)));break;case "g":case "gg":if(b.eras)a.append(b.eras[Date._getEra(this,l)+1]);break;case "/":a.append(b.DateSeparator)}}return a.toString()};String.localeFormat=function(){return String._toFormattedString(true,arguments)};Number.parseLocale=function(a){return Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=function(a){return Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=function(b,o){b=b.trim();if(b.match(/^[+-]?infinity$/i))return parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var a=o.numberFormat,g=Number._parseNumberNegativePattern(b,a,a.NumberNegativePattern),h=g[0],e=g[1];if(h===""&&a.NumberNegativePattern!==1){g=Number._parseNumberNegativePattern(b,a,1);h=g[0];e=g[1]}if(h==="")h="+";var j,d,f=e.indexOf("e");if(f<0)f=e.indexOf("E");if(f<0){d=e;j=null}else{d=e.substr(0,f);j=e.substr(f+1)}var c,k,m=d.indexOf(a.NumberDecimalSeparator);if(m<0){c=d;k=null}else{c=d.substr(0,m);k=d.substr(m+a.NumberDecimalSeparator.length)}c=c.split(a.NumberGroupSeparator).join("");var n=a.NumberGroupSeparator.replace(/\u00A0/g," ");if(a.NumberGroupSeparator!==n)c=c.split(n).join("");var l=h+c;if(k!==null)l+="."+k;if(j!==null){var i=Number._parseNumberNegativePattern(j,a,1);if(i[0]==="")i[0]="+";l+="e"+i[0]+i[1]}if(l.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/))return parseFloat(l);return Number.NaN};Number._parseNumberNegativePattern=function(a,d,e){var b=d.NegativeSign,c=d.PositiveSign;switch(e){case 4:b=" "+b;c=" "+c;case 3:if(a.endsWith(b))return ["-",a.substr(0,a.length-b.length)];else if(a.endsWith(c))return ["+",a.substr(0,a.length-c.length)];break;case 2:b+=" ";c+=" ";case 1:if(a.startsWith(b))return ["-",a.substr(b.length)];else if(a.startsWith(c))return ["+",a.substr(c.length)];break;case 0:if(a.startsWith("(")&&a.endsWith(")"))return ["-",a.substr(1,a.length-2)]}return ["",a]};Number.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototype._toFormattedString=function(e,j){if(!e||e.length===0||e==="i")if(j&&j.name.length>0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b<c;b++)a=d?"0"+a:a+"0";return a}function i(j,i,l,n,p){var h=l[0],k=1,o=Math.pow(10,i),m=Math.round(j*o)/o;if(!isFinite(m))m=j;j=m;var b=j.toString(),a="",c,e=b.split(/e/i);b=e[0];c=e.length>1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k<l.length){h=l[k];k++}}return b.slice(0,d+1)+n+f+a}var a=j.numberFormat,d=Math.abs(this);if(!e)e="D";var b=-1;if(e.length>1)b=parseInt(e.slice(1),10);var c;switch(e.charAt(0)){case "d":case "D":c="n";if(b!==-1)d=g(""+d,b,true);if(this<0)d=-d;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;d=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;d=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;d=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=d;break;case "$":f+=a.CurrencySymbol;break;case "-":if(/[1-9]/.test(d))f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getIndex:function(c,d,e){var b=this._toUpper(c),a=Array.indexOf(d,b);if(a===-1)a=Array.indexOf(e,b);return a},_getMonthIndex:function(a){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);this._upperMonthsGenitive=this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames)}return this._getIndex(a,this._upperMonths,this._upperMonthsGenitive)},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);this._upperAbbrMonthsGenitive=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames)}return this._getIndex(a,this._upperAbbrMonths,this._upperAbbrMonthsGenitive)},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a<d;a++)b[a]=this._toUpper(c[a]);return b},_toUpper:function(a){return a.split("\u00a0").join(" ").toUpperCase()}};Sys.CultureInfo.registerClass("Sys.CultureInfo");Sys.CultureInfo._parse=function(a){var b=a.dateTimeFormat;if(b&&!b.eras)b.eras=a.eras;return new Sys.CultureInfo(a.name,a.numberFormat,b)};Sys.CultureInfo.InvariantCulture=Sys.CultureInfo._parse({"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00a4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"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","SortableDateTimePattern":"yyyy'-'MM'-'dd'T'HH':'mm':'ss","TimeSeparator":":","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":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});if(typeof __cultureInfo==="object"){Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse(__cultureInfo);delete __cultureInfo}else Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse({"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy'-'MM'-'dd'T'HH':'mm':'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy'-'MM'-'dd HH':'mm':'ss'Z'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});Type.registerNamespace("Sys.Serialization");Sys.Serialization.JavaScriptSerializer=function(){};Sys.Serialization.JavaScriptSerializer.registerClass("Sys.Serialization.JavaScriptSerializer");Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs=[];Sys.Serialization.JavaScriptSerializer._charsToEscape=[];Sys.Serialization.JavaScriptSerializer._dateRegEx=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars={};Sys.Serialization.JavaScriptSerializer._escapeRegEx=new RegExp('["\\\\\\x00-\\x1F]',"i");Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal=new RegExp('["\\\\\\x00-\\x1F]',"g");Sys.Serialization.JavaScriptSerializer._jsonRegEx=new RegExp("[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]","g");Sys.Serialization.JavaScriptSerializer._jsonStringRegEx=new RegExp('"(\\\\.|[^"\\\\])*"',"g");Sys.Serialization.JavaScriptSerializer._serverTypeFieldName="__type";Sys.Serialization.JavaScriptSerializer._init=function(){var c=["\\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]="\\";Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs["\\"]=new RegExp("\\\\","g");Sys.Serialization.JavaScriptSerializer._escapeChars["\\"]="\\\\";Sys.Serialization.JavaScriptSerializer._charsToEscape[1]='"';Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"']=new RegExp('"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars['"']='\\"';for(var a=0;a<32;a++){var b=String.fromCharCode(a);Sys.Serialization.JavaScriptSerializer._charsToEscape[a+2]=b;Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b]=new RegExp(b,"g");Sys.Serialization.JavaScriptSerializer._escapeChars[b]=c[a]}};Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function(b,a){a.append(b.toString())};Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function(a,b){if(isFinite(a))b.append(String(a));else throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers)};Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function(a,c){c.append('"');if(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(a)){if(Sys.Serialization.JavaScriptSerializer._charsToEscape.length===0)Sys.Serialization.JavaScriptSerializer._init();if(a.length<128)a=a.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,function(a){return Sys.Serialization.JavaScriptSerializer._escapeChars[a]});else for(var d=0;d<34;d++){var b=Sys.Serialization.JavaScriptSerializer._charsToEscape[d];if(a.indexOf(b)!==-1)if(Sys.Browser.agent===Sys.Browser.Opera||Sys.Browser.agent===Sys.Browser.FireFox)a=a.split(b).join(Sys.Serialization.JavaScriptSerializer._escapeChars[b]);else a=a.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b],Sys.Serialization.JavaScriptSerializer._escapeChars[b])}}c.append(a);c.append('"')};Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function(b,a,i,g){var c;switch(typeof b){case "object":if(b)if(Number.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);else if(Boolean.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);else if(String.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);else if(Array.isInstanceOfType(b)){a.append("[");for(c=0;c<b.length;++c){if(c>0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c<f;c++){var h=b[d[c]];if(typeof h!=="undefined"&&typeof h!=="function"){if(j)a.append(",");else j=true;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(d[c],a,i,g);a.append(":");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(h,a,i,g)}}a.append("}")}else a.append("null");break;case "number":Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);break;case "string":Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);break;case "boolean":Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);break;default:a.append("null")}};Sys.Serialization.JavaScriptSerializer.serialize=function(b){var a=new Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b,a,false);return a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=function(data,secure){if(data.length===0)throw Error.argument("data",Sys.Res.cannotDeserializeEmptyString);try{var exp=data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx,"$1new Date($2)");if(secure&&Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx,"")))throw null;return eval("("+exp+")")}catch(a){throw Error.argument("data",Sys.Res.cannotDeserializeInvalidJson)}};Type.registerNamespace("Sys.UI");Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={_addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},addHandler:function(b,a){this._addHandler(b,a)},_removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},removeHandler:function(b,a){this._removeHandler(b,a)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);return function(c,d){for(var b=0,e=a.length;b<e;b++)a[b](c,d)}},_getEvent:function(a,b){if(!this._list[a]){if(!b)return null;this._list[a]=[]}return this._list[a]}};Sys.EventHandlerList.registerClass("Sys.EventHandlerList");Sys.CommandEventArgs=function(c,a,b){Sys.CommandEventArgs.initializeBase(this);this._commandName=c;this._commandArgument=a;this._commandSource=b};Sys.CommandEventArgs.prototype={_commandName:null,_commandArgument:null,_commandSource:null,get_commandName:function(){return this._commandName},get_commandArgument:function(){return this._commandArgument},get_commandSource:function(){return this._commandSource}};Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs",Sys.CancelEventArgs);Sys.INotifyPropertyChange=function(){};Sys.INotifyPropertyChange.prototype={};Sys.INotifyPropertyChange.registerInterface("Sys.INotifyPropertyChange");Sys.PropertyChangedEventArgs=function(a){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=a};Sys.PropertyChangedEventArgs.prototype={get_propertyName:function(){return this._propertyName}};Sys.PropertyChangedEventArgs.registerClass("Sys.PropertyChangedEventArgs",Sys.EventArgs);Sys.INotifyDisposing=function(){};Sys.INotifyDisposing.prototype={};Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component=function(){if(Sys.Application)Sys.Application.registerDisposableObject(this)};Sys.Component.prototype={_id:null,_initialized:false,_updating:false,get_events:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_id:function(){return this._id},set_id:function(a){this._id=a},get_isInitialized:function(){return this._initialized},get_isUpdating:function(){return this._updating},add_disposing:function(a){this.get_events().addHandler("disposing",a)},remove_disposing:function(a){this.get_events().removeHandler("disposing",a)},add_propertyChanged:function(a){this.get_events().addHandler("propertyChanged",a)},remove_propertyChanged:function(a){this.get_events().removeHandler("propertyChanged",a)},beginUpdate:function(){this._updating=true},dispose:function(){if(this._events){var a=this._events.getHandler("disposing");if(a)a(this,Sys.EventArgs.Empty)}delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this)},endUpdate:function(){this._updating=false;if(!this._initialized)this.initialize();this.updated()},initialize:function(){this._initialized=true},raisePropertyChanged:function(b){if(!this._events)return;var a=this._events.getHandler("propertyChanged");if(a)a(this,new Sys.PropertyChangedEventArgs(b))},updated:function(){}};Sys.Component.registerClass("Sys.Component",null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(a,i){var d,j=Object.getType(a),e=j===Object||j===Sys.UI.DomElement,h=Sys.Component.isInstanceOfType(a)&&!a.get_isUpdating();if(h)a.beginUpdate();for(var c in i){var b=i[c],f=e?null:a["get_"+c];if(e||typeof f!=="function"){var k=a[c];if(!b||typeof b!=="object"||e&&!k)a[c]=b;else Sys$Component$_setProperties(k,b)}else{var l=a["set_"+c];if(typeof l==="function")l.apply(a,[b]);else if(b instanceof Array){d=f.apply(a);for(var g=0,m=d.length,n=b.length;g<n;g++,m++)d[m]=b[g]}else if(typeof b==="object"&&Object.getType(b)===Object){d=f.apply(a);Sys$Component$_setProperties(d,b)}}}if(h)a.endUpdate()}function Sys$Component$_setReferences(c,b){for(var a in b){var e=c["set_"+a],d=$find(b[a]);e.apply(c,[d])}}var $create=Sys.Component.create=function(h,f,d,c,g){var a=g?new h(g):new h,b=Sys.Application,i=b.get_isCreatingComponents();a.beginUpdate();if(f)Sys$Component$_setProperties(a,f);if(d)for(var e in d)a["add_"+e](d[e]);if(a.get_id())b.addComponent(a);if(i){b._createdComponents[b._createdComponents.length]=a;if(c)b._addComponentToSecondPass(a,c);else a.endUpdate()}else{if(c)Sys$Component$_setReferences(a,c);a.endUpdate()}return a};Sys.UI.MouseButton=function(){throw Error.notImplemented()};Sys.UI.MouseButton.prototype={leftButton:0,middleButton:1,rightButton:2};Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key=function(){throw Error.notImplemented()};Sys.UI.Key.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127};Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.Point=function(a,b){this.rawX=a;this.rawY=b;this.x=Math.round(a);this.y=Math.round(b)};Sys.UI.Point.registerClass("Sys.UI.Point");Sys.UI.Bounds=function(c,d,b,a){this.x=c;this.y=d;this.height=a;this.width=b};Sys.UI.Bounds.registerClass("Sys.UI.Bounds");Sys.UI.DomEvent=function(e){var a=e,b=this.type=a.type.toLowerCase();this.rawEvent=a;this.altKey=a.altKey;if(typeof a.button!=="undefined")this.button=typeof a.which!=="undefined"?a.button:a.button===4?Sys.UI.MouseButton.middleButton:a.button===2?Sys.UI.MouseButton.rightButton:Sys.UI.MouseButton.leftButton;if(b==="keypress")this.charCode=a.charCode||a.keyCode;else if(a.keyCode&&a.keyCode===46)this.keyCode=127;else this.keyCode=a.keyCode;this.clientX=a.clientX;this.clientY=a.clientY;this.ctrlKey=a.ctrlKey;this.target=a.target?a.target:a.srcElement;if(!b.startsWith("key"))if(typeof a.offsetX!=="undefined"&&typeof a.offsetY!=="undefined"){this.offsetX=a.offsetX;this.offsetY=a.offsetY}else if(this.target&&this.target.nodeType!==3&&typeof a.clientX==="number"){var c=Sys.UI.DomElement.getLocation(this.target),d=Sys.UI.DomElement._getWindow(this.target);this.offsetX=(d.pageXOffset||0)+a.clientX-c.x;this.offsetY=(d.pageYOffset||0)+a.clientY-c.y}this.screenX=a.screenX;this.screenY=a.screenY;this.shiftKey=a.shiftKey};Sys.UI.DomEvent.prototype={preventDefault:function(){if(this.rawEvent.preventDefault)this.rawEvent.preventDefault();else if(window.event)this.rawEvent.returnValue=false},stopPropagation:function(){if(this.rawEvent.stopPropagation)this.rawEvent.stopPropagation();else if(window.event)this.rawEvent.cancelBubble=true}};Sys.UI.DomEvent.registerClass("Sys.UI.DomEvent");var $addHandler=Sys.UI.DomEvent.addHandler=function(a,d,e,g){if(!a._events)a._events={};var c=a._events[d];if(!c)a._events[d]=c=[];var b;if(a.addEventListener){b=function(b){return e.call(a,new Sys.UI.DomEvent(b))};a.addEventListener(d,b,false)}else if(a.attachEvent){b=function(){var b={};try{b=Sys.UI.DomElement._getWindow(a).event}catch(c){}return e.call(a,new Sys.UI.DomEvent(b))};a.attachEvent("on"+d,b)}c[c.length]={handler:e,browserHandler:b,autoRemove:g};if(g){var f=a.dispose;if(f!==Sys.UI.DomEvent._disposeHandlers){a.dispose=Sys.UI.DomEvent._disposeHandlers;if(typeof f!=="undefined")a._chainDispose=f}}},$addHandlers=Sys.UI.DomEvent.addHandlers=function(f,d,c,e){for(var b in d){var a=d[b];if(c)a=Function.createDelegate(c,a);$addHandler(f,b,a,e||false)}},$clearHandlers=Sys.UI.DomEvent.clearHandlers=function(a){Sys.UI.DomEvent._clearHandlers(a,false)};Sys.UI.DomEvent._clearHandlers=function(a,g){if(a._events){var e=a._events;for(var b in e){var d=e[b];for(var c=d.length-1;c>=0;c--){var f=d[c];if(!g||f.autoRemove)$removeHandler(a,b,f.handler)}}a._events=null}};Sys.UI.DomEvent._disposeHandlers=function(){Sys.UI.DomEvent._clearHandlers(this,true);var b=this._chainDispose,a=typeof b;if(a!=="undefined"){this.dispose=b;this._chainDispose=null;if(a==="function")this.dispose()}};var $removeHandler=Sys.UI.DomEvent.removeHandler=function(b,a,c){Sys.UI.DomEvent._removeHandler(b,a,c)};Sys.UI.DomEvent._removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b<g;b++)if(c[b].handler===f){d=c[b].browserHandler;break}if(a.removeEventListener)a.removeEventListener(e,d,false);else if(a.detachEvent)a.detachEvent("on"+e,d);c.splice(b,1)};Sys.UI.DomElement=function(){};Sys.UI.DomElement.registerClass("Sys.UI.DomElement");Sys.UI.DomElement.addCssClass=function(a,b){if(!Sys.UI.DomElement.containsCssClass(a,b))if(a.className==="")a.className=b;else a.className+=" "+b};Sys.UI.DomElement.containsCssClass=function(b,a){return Array.contains(b.className.split(" "),a)};Sys.UI.DomElement.getBounds=function(a){var b=Sys.UI.DomElement.getLocation(a);return new Sys.UI.Bounds(b.x,b.y,a.offsetWidth||0,a.offsetHeight||0)};var $get=Sys.UI.DomElement.getElementById=function(f,e){if(!e)return document.getElementById(f);if(e.getElementById)return e.getElementById(f);var c=[],d=e.childNodes;for(var b=0;b<d.length;b++){var a=d[b];if(a.nodeType==1)c[c.length]=a}while(c.length){a=c.shift();if(a.id==f)return a;d=a.childNodes;for(b=0;b<d.length;b++){a=d[b];if(a.nodeType==1)c[c.length]=a}}return null};if(document.documentElement.getBoundingClientRect)Sys.UI.DomElement.getLocation=function(a){if(a.self||a.nodeType===9||a===document.documentElement||a.parentNode===a.ownerDocument.documentElement)return new Sys.UI.Point(0,0);var f=a.getBoundingClientRect();if(!f)return new Sys.UI.Point(0,0);var e=a.ownerDocument.documentElement,h=a.ownerDocument.body,l,c=Math.round(f.left)+(e.scrollLeft||h.scrollLeft),d=Math.round(f.top)+(e.scrollTop||h.scrollTop);if(Sys.Browser.agent===Sys.Browser.InternetExplorer){try{var g=a.ownerDocument.parentWindow.frameElement||null;if(g){var i=g.frameBorder==="0"||g.frameBorder==="no"?2:0;c+=i;d+=i}}catch(m){}if(Sys.Browser.version===7&&!document.documentMode){var j=document.body,k=j.getBoundingClientRect(),b=(k.right-k.left)/j.clientWidth;b=Math.round(b*100);b=(b-b%5)/100;if(!isNaN(b)&&b!==1){c=Math.round(c/b);d=Math.round(d/b)}}if((document.documentMode||0)<8){c-=e.clientLeft;d-=e.clientTop}}return new Sys.UI.Point(c,d)};else if(Sys.Browser.agent===Sys.Browser.Safari)Sys.UI.DomElement.getLocation=function(c){if(c.window&&c.window===c||c.nodeType===9)return new Sys.UI.Point(0,0);var d=0,e=0,a,j=null,g=null,b;for(a=c;a;j=a,(g=b,a=a.offsetParent)){b=Sys.UI.DomElement._getCurrentStyle(a);var f=a.tagName?a.tagName.toUpperCase():null;if((a.offsetLeft||a.offsetTop)&&(f!=="BODY"||(!g||g.position!=="absolute"))){d+=a.offsetLeft;e+=a.offsetTop}if(j&&Sys.Browser.version>=3){d+=parseInt(b.borderLeftWidth);e+=parseInt(b.borderTopWidth)}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(a=c.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)){d-=a.scrollLeft||0;e-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(d,e)};else Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,a,i=null,g=null,b=null;for(a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)};Sys.UI.DomElement.isDomElement=function(a){return Sys._isDomElement(a)};Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.resolveElement=function(b,c){var a=b;if(!a)return null;if(typeof a==="string")a=Sys.UI.DomElement.getElementById(a,c);return a};Sys.UI.DomElement.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){Sys.UI.DomElement._raiseBubbleEventFromControl(a,c,d);return}b=b.parentNode}};Sys.UI.DomElement._raiseBubbleEventFromControl=function(a,b,c){if(!a.onBubbleEvent(b,c))a._raiseBubbleEvent(b,c)};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.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":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);this._domReady()};Sys._Application.prototype={_creatingComponents:false,_disposing:false,_deleteCount:0,get_isCreatingComponents:function(){return this._creatingComponents},get_isDisposing:function(){return this._disposing},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,f=b.length;a<f;a++){var d=b[a];if(typeof d!=="undefined")d.dispose()}Array.clear(this._disposableObjects);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);if(Sys._ScriptLoader){var e=Sys._ScriptLoader.getInstance();if(e)e.dispose()}Sys._Application.callBaseMethod(this,"dispose")}},disposeElement:function(c,j){if(c.nodeType===1){var b,h=c.getElementsByTagName("*"),g=h.length,i=new Array(g);for(b=0;b<g;b++)i[b]=h[b];for(b=g-1;b>=0;b--){var d=i[b],f=d.dispose;if(f&&typeof f==="function")d.dispose();else{var e=d.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=d._behaviors;if(a)this._disposeComponents(a);a=d._components;if(a){this._disposeComponents(a);d._components=null}}if(!j){var f=c.dispose;if(f&&typeof f==="function")c.dispose();else{var e=c.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=c._behaviors;if(a)this._disposeComponents(a);a=c._components;if(a){this._disposeComponents(a);c._components=null}}}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a<d;a++){var c=b[a].component;Sys$Component$_setReferences(c,b[a].references);c.endUpdate()}this._secondPassComponents=[];this._creatingComponents=false},findComponent:function(b,a){return a?Sys.IContainer.isInstanceOfType(a)?a.findComponent(b):a[b]||null:Sys.Application._components[b]||null},getComponents:function(){var a=[],b=this._components;for(var c in b)a[a.length]=b[c];return a},initialize:function(){if(!this.get_isInitialized()&&!this._disposing){Sys._Application.callBaseMethod(this,"initialize");this._raiseInit();if(this.get_stateString){if(Sys.WebForms&&Sys.WebForms.PageRequestManager){this._beginRequestHandler=Function.createDelegate(this,this._onPageRequestManagerBeginRequest);Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler);this._endRequestHandler=Function.createDelegate(this,this._onPageRequestManagerEndRequest);Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler)}var a=this.get_stateString();if(a!==this._currentEntry)this._navigate(a);else this._ensureHistory()}this.raiseLoad()}},notifyScriptLoaded:function(){},registerDisposableObject:function(b){if(!this._disposing){var a=this._disposableObjects,c=a.length;a[c]=b;b.__msdisposeindex=c}},raiseLoad:function(){var b=this.get_events().getHandler("load"),a=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!!this._loaded);this._loaded=true;if(b)b(this,a);if(window.pageLoad)window.pageLoad(this,a);this._createdComponents=[]},removeComponent:function(b){var a=b.get_id();if(a)delete this._components[a]},unregisterDisposableObject:function(a){if(!this._disposing){var e=a.__msdisposeindex;if(typeof e==="number"){var b=this._disposableObjects;delete b[e];delete a.__msdisposeindex;if(++this._deleteCount>1000){var c=[];for(var d=0,f=b.length;d<f;d++){a=b[d];if(typeof a!=="undefined"){a.__msdisposeindex=c.length;c.push(a)}}this._disposableObjects=c;this._deleteCount=0}}}},_addComponentToSecondPass:function(b,a){this._secondPassComponents[this._secondPassComponents.length]={component:b,references:a}},_disposeComponents:function(a){if(a)for(var b=a.length-1;b>=0;b--){var c=a[b];if(typeof c.dispose==="function")c.dispose()}},_domReady:function(){var a,g,f=this;function b(){f.initialize()}var c=function(){Sys.UI.DomEvent.removeHandler(window,"load",c);b()};Sys.UI.DomEvent.addHandler(window,"load",c);if(document.addEventListener)try{document.addEventListener("DOMContentLoaded",a=function(){document.removeEventListener("DOMContentLoaded",a,false);b()},false)}catch(h){}else if(document.attachEvent)if(window==window.top&&document.documentElement.doScroll){var e,d=document.createElement("div");a=function(){try{d.doScroll("left")}catch(c){e=window.setTimeout(a,0);return}d=null;b()};a()}else document.attachEvent("onreadystatechange",a=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}})},_raiseInit:function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!==-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");var a=this._element;if(a){var c=this.get_name();if(c)a[c]=null;var b=a._behaviors;Array.remove(b,this);if(b.length===0)a._behaviors=null;delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b<f;b++)if(e.isInstanceOfType(a[b]))c[c.length]=a[b];return c};Sys.UI.VisibilityMode=function(){throw Error.notImplemented()};Sys.UI.VisibilityMode.prototype={hide:0,collapse:1};Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control=function(a){Sys.UI.Control.initializeBase(this);this._element=a;a.control=this;var b=this.get_role();if(b)a.setAttribute("role",b)};Sys.UI.Control.prototype={_parent:null,_visibilityMode:Sys.UI.VisibilityMode.hide,get_element:function(){return this._element},get_id:function(){if(!this._element)return "";return this._element.id},set_id:function(){throw Error.invalidOperation(Sys.Res.cantSetId)},get_parent:function(){if(this._parent)return this._parent;if(!this._element)return null;var a=this._element.parentNode;while(a){if(a.control)return a.control;a=a.parentNode}return null},set_parent:function(a){this._parent=a},get_role:function(){return null},get_visibilityMode:function(){return Sys.UI.DomElement.getVisibilityMode(this._element)},set_visibilityMode:function(a){Sys.UI.DomElement.setVisibilityMode(this._element,a)},get_visible:function(){return Sys.UI.DomElement.getVisible(this._element)},set_visible:function(a){Sys.UI.DomElement.setVisible(this._element,a)},addCssClass:function(a){Sys.UI.DomElement.addCssClass(this._element,a)},dispose:function(){Sys.UI.Control.callBaseMethod(this,"dispose");if(this._element){this._element.control=null;delete this._element}if(this._parent)delete this._parent},onBubbleEvent:function(){return false},raiseBubbleEvent:function(a,b){this._raiseBubbleEvent(a,b)},_raiseBubbleEvent:function(b,c){var a=this.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=a.get_parent()}},removeCssClass:function(a){Sys.UI.DomElement.removeCssClass(this._element,a)},toggleCssClass:function(a){Sys.UI.DomElement.toggleCssClass(this._element,a)}};Sys.UI.Control.registerClass("Sys.UI.Control",Sys.Component);Sys.HistoryEventArgs=function(a){Sys.HistoryEventArgs.initializeBase(this);this._state=a};Sys.HistoryEventArgs.prototype={get_state:function(){return this._state}};Sys.HistoryEventArgs.registerClass("Sys.HistoryEventArgs",Sys.EventArgs);Sys.Application._appLoadHandler=null;Sys.Application._beginRequestHandler=null;Sys.Application._clientId=null;Sys.Application._currentEntry="";Sys.Application._endRequestHandler=null;Sys.Application._history=null;Sys.Application._enableHistory=false;Sys.Application._historyFrame=null;Sys.Application._historyInitialized=false;Sys.Application._historyPointIsNew=false;Sys.Application._ignoreTimer=false;Sys.Application._initialState=null;Sys.Application._state={};Sys.Application._timerCookie=0;Sys.Application._timerHandler=null;Sys.Application._uniqueId=null;Sys._Application.prototype.get_stateString=function(){var a=null;if(Sys.Browser.agent===Sys.Browser.Firefox){var c=window.location.href,b=c.indexOf("#");if(b!==-1)a=c.substring(b+1);else a="";return a}else a=window.location.hash;if(a.length>0&&a.charAt(0)==="#")a=a.substring(1);return a};Sys._Application.prototype.get_enableHistory=function(){return this._enableHistory};Sys._Application.prototype.set_enableHistory=function(a){this._enableHistory=a};Sys._Application.prototype.add_navigate=function(a){this.get_events().addHandler("navigate",a)};Sys._Application.prototype.remove_navigate=function(a){this.get_events().removeHandler("navigate",a)};Sys._Application.prototype.addHistoryPoint=function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()};Sys._Application.prototype.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};Sys._Application.prototype.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};Sys._Application.prototype._deserializeState=function(a){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+2<a.length){e.__s=a.substr(b+2);a=a.substr(0,b)}var g=a.split("&");for(var f=0,j=g.length;f<j;f++){var d=g[f],c=d.indexOf("=");if(c!==-1&&c+1<d.length){var i=d.substr(0,c),h=d.substr(c+1);e[i]=decodeURIComponent(h)}}return e};Sys._Application.prototype._enableHistoryInScriptManager=function(){this._enableHistory=true};Sys._Application.prototype._ensureHistory=function(){if(!this._historyInitialized&&this._enableHistory){if(Sys.Browser.agent===Sys.Browser.InternetExplorer&&(!document.documentMode||document.documentMode<8)){this._historyFrame=document.getElementById("__historyFrame");this._ignoreIFrame=true}this._timerHandler=Function.createDelegate(this,this._onIdle);this._timerCookie=window.setTimeout(this._timerHandler,100);try{this._initialState=this._deserializeState(this.get_stateString())}catch(a){}this._historyInitialized=true}};Sys._Application.prototype._navigate=function(c){this._ensureHistory();var b=this._deserializeState(c);if(this._uniqueId){var d=this._state.__s||"",a=b.__s||"";if(a!==d){this._updateHiddenField(a);__doPostBack(this._uniqueId,a);this._state=b;return}}this._setState(c);this._state=b;this._raiseNavigate()};Sys._Application.prototype._onIdle=function(){delete this._timerCookie;var a=this.get_stateString();if(a!==this._currentEntry){if(!this._ignoreTimer){this._historyPointIsNew=false;this._navigate(a)}}else this._ignoreTimer=false;this._timerCookie=window.setTimeout(this._timerHandler,100)};Sys._Application.prototype._onIFrameLoad=function(a){if(!document.documentMode||document.documentMode<8){this._ensureHistory();if(!this._ignoreIFrame){this._historyPointIsNew=false;this._navigate(a)}this._ignoreIFrame=false}};Sys._Application.prototype._onPageRequestManagerBeginRequest=function(){this._ignoreTimer=true;this._originalTitle=document.title};Sys._Application.prototype._onPageRequestManagerEndRequest=function(g,f){var d=f.get_dataItems()[this._clientId],c=this._originalTitle;this._originalTitle=null;var b=document.getElementById("__EVENTTARGET");if(b&&b.value===this._uniqueId)b.value="";if(typeof d!=="undefined"){this.setServerState(d);this._historyPointIsNew=true}else this._ignoreTimer=false;var a=this._serializeState(this._state);if(a!==this._currentEntry){this._ignoreTimer=true;if(typeof c==="string"){if(Sys.Browser.agent!==Sys.Browser.InternetExplorer||Sys.Browser.version>7){var e=document.title;document.title=c;this._setState(a);document.title=e}else this._setState(a);this._raiseNavigate()}else{this._setState(a);this._raiseNavigate()}}};Sys._Application.prototype._raiseNavigate=function(){var d=this._historyPointIsNew,c=this.get_events().getHandler("navigate"),b={};for(var a in this._state)if(a!=="__s")b[a]=this._state[a];var e=new Sys.HistoryEventArgs(b);if(c)c(this,e);if(!d){var f;try{if(Sys.Browser.agent===Sys.Browser.Firefox&&window.location.hash&&(!window.frameElement||window.top.location.hash))Sys.Browser.version<3.5?window.history.go(0):(location.hash=this.get_stateString())}catch(g){}}};Sys._Application.prototype._serializeState=function(d){var b=[];for(var a in d){var e=d[a];if(a==="__s")var c=e;else b[b.length]=a+"="+encodeURIComponent(e)}return b.join("&")+(c?"&&"+c:"")};Sys._Application.prototype._setState=function(a,b){if(this._enableHistory){a=a||"";if(a!==this._currentEntry){if(window.theForm){var d=window.theForm.action,e=d.indexOf("#");window.theForm.action=(e!==-1?d.substring(0,e):d)+"#"+a}if(this._historyFrame&&this._historyPointIsNew){var f=document.createElement("div");f.appendChild(document.createTextNode(b||document.title));var g=f.innerHTML;this._ignoreIFrame=true;var c=this._historyFrame.contentWindow.document;c.open("javascript:'<html></html>'");c.write("<html><head><title>"+g+"</title><scri"+'pt type="text/javascript">parent.Sys.Application._onIFrameLoad('+Sys.Serialization.JavaScriptSerializer.serialize(a)+");</scri"+"pt></head><body></body></html>");c.close()}this._ignoreTimer=false;this._currentEntry=a;if(this._historyFrame||this._historyPointIsNew){var h=this.get_stateString();if(a!==h){window.location.hash=a;this._currentEntry=this.get_stateString();if(typeof b!=="undefined"&&b!==null)document.title=b}}this._historyPointIsNew=false}}};Sys._Application.prototype._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a<c;a++)try{return new ActiveXObject(b[a])}catch(d){}return null};Type.registerNamespace("Sys.Net");Sys.Net.WebRequestExecutor=function(){this._webRequest=null;this._resultObject=null};Sys.Net.WebRequestExecutor.prototype={get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_started:function(){throw Error.notImplemented()},get_responseAvailable:function(){throw Error.notImplemented()},get_timedOut:function(){throw Error.notImplemented()},get_aborted:function(){throw Error.notImplemented()},get_responseData:function(){throw Error.notImplemented()},get_statusCode:function(){throw Error.notImplemented()},get_statusText:function(){throw Error.notImplemented()},get_xml:function(){throw Error.notImplemented()},get_object:function(){if(!this._resultObject)this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return this._resultObject},executeRequest:function(){throw Error.notImplemented()},abort:function(){throw Error.notImplemented()},getResponseHeader:function(){throw Error.notImplemented()},getAllResponseHeaders:function(){throw Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor");Sys.Net.XMLDOM=function(d){if(!window.DOMParser){var c=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var b=0,f=c.length;b<f;b++)try{var a=new ActiveXObject(c[b]);a.async=false;a.loadXML(d);a.setProperty("SelectionLanguage","XPath");return a}catch(g){}}else try{var e=new window.DOMParser;return e.parseFromString(d,"text/xml")}catch(g){}return null};Sys.Net.XMLHttpExecutor=function(){Sys.Net.XMLHttpExecutor.initializeBase(this);var a=this;this._xmlHttpRequest=null;this._webRequest=null;this._responseAvailable=false;this._timedOut=false;this._timer=null;this._aborted=false;this._started=false;this._onReadyStateChange=function(){if(a._xmlHttpRequest.readyState===4){try{if(typeof a._xmlHttpRequest.status==="undefined"||a._xmlHttpRequest.status===0)return}catch(b){return}a._clearTimer();a._responseAvailable=true;try{a._webRequest.completed(Sys.EventArgs.Empty)}finally{if(a._xmlHttpRequest!=null){a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest=null}}}};this._clearTimer=function(){if(a._timer!=null){window.clearTimeout(a._timer);a._timer=null}};this._onTimeout=function(){if(!a._responseAvailable){a._clearTimer();a._timedOut=true;a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest.abort();a._webRequest.completed(Sys.EventArgs.Empty);a._xmlHttpRequest=null}}};Sys.Net.XMLHttpExecutor.prototype={get_timedOut:function(){return this._timedOut},get_started:function(){return this._started},get_responseAvailable:function(){return this._responseAvailable},get_aborted:function(){return this._aborted},executeRequest:function(){this._webRequest=this.get_webRequest();var c=this._webRequest.get_body(),a=this._webRequest.get_headers();this._xmlHttpRequest=new XMLHttpRequest;this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;var e=this._webRequest.get_httpVerb();this._xmlHttpRequest.open(e,this._webRequest.getResolvedUrl(),true);this._xmlHttpRequest.setRequestHeader("X-Requested-With","XMLHttpRequest");if(a)for(var b in a){var f=a[b];if(typeof f!=="function")this._xmlHttpRequest.setRequestHeader(b,f)}if(e.toLowerCase()==="post"){if(a===null||!a["Content-Type"])this._xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");if(!c)c=""}var d=this._webRequest.get_timeout();if(d>0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1&&typeof a.setProperty!="undefined")a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(c,b,f){b=b||encodeURIComponent;var h=0,e,g,d,a=new Sys.StringBuilder;if(c)for(d in c){e=c[d];if(typeof e==="function")continue;g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(h++)a.append("&");a.append(d);a.append("=");a.append(b(g))}if(f){if(h)a.append("&");a.append(f)}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b,c){if(!b&&!c)return a;var d=Sys.Net.WebRequest._createQueryString(b,null,c);return d.length?a+(a&&a.indexOf("?")>=0?"&":"?")+d:a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){if(this._ensureReadyStateLoaded())this._executeInternal()},_executeInternal:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_ensureReadyStateLoaded:function(){if(this._useReadyState()&&this._scriptElement.readyState!=="loaded"&&this._scriptElement.readyState!=="complete"){this._scriptDownloadDelegate=Function.createDelegate(this,this._executeInternal);$addHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);return false}return true},_addScriptElementHandlers:function(){if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(this._useReadyState())$addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);else $addHandler(this._scriptElement,"load",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}if(this._useReadyState()&&this._scriptLoadDelegate)$removeHandler(a,"readystatechange",this._scriptLoadDelegate);else $removeHandler(a,"load",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(this._useReadyState()&&a.readyState!=="complete")return;this._completedCallback(a,true)},_useReadyState:function(){return Sys.Browser.agent===Sys.Browser.InternetExplorer&&(Sys.Browser.version<9||(document.documentMode||0)<9)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys._ScriptLoaderTask._clearScript=function(a){if(!Sys.Debug.isDebug&&a.parentNode)a.parentNode.removeChild(a)};Type.registerNamespace("Sys.Net");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout||0},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return typeof this._userContext==="undefined"?null:this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded||null},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed||null},set_defaultFailedCallback:function(a){this._failed=a},get_enableJsonp:function(){return !!this._jsonp},set_enableJsonp:function(a){this._jsonp=a},get_path:function(){return this._path||null},set_path:function(a){this._path=a},get_jsonpCallbackParameter:function(){return this._callbackParameter||"callback"},set_jsonpCallbackParameter:function(a){this._callbackParameter=a},_invoke:function(d,e,g,f,c,b,a){c=c||this.get_defaultSucceededCallback();b=b||this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout(),this.get_enableJsonp(),this.get_jsonpCallbackParameter())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(q,a,m,l,j,b,g,e,w,p){var i=w!==false?Sys.Net.WebServiceProxy._xdomain.exec(q):null,c,n=i&&i.length===3&&(i[1]!==location.protocol||i[2]!==location.host);m=n||m;if(n){p=p||"callback";c="_jsonp"+Sys._jsonp++}if(!l)l={};var r=l;if(!m||!r)r={};var s,h,f=null,k,o=null,u=Sys.Net.WebRequest._createUrl(a?q+"/"+encodeURIComponent(a):q,r,n?p+"=Sys."+c:null);if(n){s=document.createElement("script");s.src=u;k=new Sys._ScriptLoaderTask(s,function(d,b){if(!b||c)t({Message:String.format(Sys.Res.webServiceFailedNoMsg,a)},-1)});function v(){if(f===null)return;f=null;h=new Sys.Net.WebServiceError(true,String.format(Sys.Res.webServiceTimedOut,a));k.dispose();delete Sys[c];if(b)b(h,g,a)}function t(d,e){if(f!==null){window.clearTimeout(f);f=null}k.dispose();delete Sys[c];c=null;if(typeof e!=="undefined"&&e!==200){if(b){h=new Sys.Net.WebServiceError(false,d.Message||String.format(Sys.Res.webServiceFailedNoMsg,a),d.StackTrace||null,d.ExceptionType||null,d);h._statusCode=e;b(h,g,a)}}else if(j)j(d,g,a)}Sys[c]=t;e=e||Sys.Net.WebRequestManager.get_defaultTimeout();if(e>0)f=window.setTimeout(v,e);k.execute();return null}var d=new Sys.Net.WebRequest;d.set_url(u);d.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!m){o=Sys.Serialization.JavaScriptSerializer.serialize(l);if(o==="{}")o=""}d.set_body(o);d.add_completed(x);if(e&&e>0)d.set_timeout(e);d.invoke();function x(d){if(d.get_responseAvailable()){var f=d.get_statusCode(),c=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))c=d.get_object();else if(e.startsWith("text/xml"))c=d.get_xml();else c=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(c)c=new Sys.Net.WebServiceError(false,c.Message,c.StackTrace,c.ExceptionType,c)}else if(e.startsWith("application/json"))c=!c||typeof c.d==="undefined"?c:c.d;if(f<200||f>=300||h){if(b){if(!c||!h)c=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a));c._statusCode=f;b(c,g,a)}}else if(j)j(c,g,a)}else{var i;if(d.get_timedOut())i=String.format(Sys.Res.webServiceTimedOut,a);else i=String.format(Sys.Res.webServiceFailedNoMsg,a);if(b)b(new Sys.Net.WebServiceError(d.get_timedOut(),i,"",""),g,a)}}return d};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys._jsonp=0;Sys.Net.WebServiceProxy._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;Sys.Net.WebServiceError=function(d,e,c,a,b){this._timedOut=d;this._message=e;this._stackTrace=c;this._exceptionType=a;this._errorObject=b;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||""},get_exceptionType:function(){return this._exceptionType||""},get_errorObject:function(){return this._errorObject||null}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");"//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxApplicationServices.js
Type._registerScript("MicrosoftAjaxApplicationServices.js",["MicrosoftAjaxWebServices.js"]);Type.registerNamespace("Sys.Services");Sys.Services._ProfileService=function(){Sys.Services._ProfileService.initializeBase(this);this.properties={}};Sys.Services._ProfileService.DefaultWebServicePath="";Sys.Services._ProfileService.prototype={_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:"",_timeout:0,get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:function(a){this._defaultSaveCompletedCallback=a},get_path:function(){return this._path||""},load:function(c,d,e,f){var b,a;if(!c){a="GetAllPropertiesForCurrentUser";b={authenticatedUserOnly:false}}else{a="GetPropertiesForCurrentUser";b={properties:this._clonePropertyNames(c),authenticatedUserOnly:false}}this._invoke(this._get_path(),a,false,b,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:function(d,b,c,e){var a=this._flattenProperties(d,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:a.value,authenticatedUserOnly:false},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[b,c,e,a.count])},_clonePropertyNames:function(e){var c=[],d={};for(var b=0;b<e.length;b++){var a=e[b];if(!d[a]){Array.add(c,a);d[a]=true}}return c},_flattenProperties:function(a,i,j){var b={},e,d,g=0;if(a&&a.length===0)return {value:b,count:0};for(var c in i){e=i[c];d=j?j+"."+c:c;if(Sys.Services.ProfileGroup.isInstanceOfType(e)){var k=this._flattenProperties(a,e,d),h=k.value;g+=k.count;for(var f in h){var l=h[f];b[f]=l}}else if(!a||Array.indexOf(a,d)!==-1){b[d]=e;g++}}return {value:b,count:g}},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._ProfileService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoadComplete:function(a,e,g){if(typeof a!=="object")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,g,"Object"));var c=this._unflattenProperties(a);for(var b in c)this.properties[b]=c[b];var d=e[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(d){var f=e[2]||this.get_defaultUserContext();d(a.length,f,"Sys.Services.ProfileService.load")}},_onLoadFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.ProfileService.load")}},_onSaveComplete:function(a,b,f){var c=b[3];if(a!==null)if(a instanceof Array)c-=a.length;else if(typeof a==="number")c=a;else throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Array"));var d=b[0]||this.get_defaultSaveCompletedCallback()||this.get_defaultSucceededCallback();if(d){var e=b[2]||this.get_defaultUserContext();d(c,e,"Sys.Services.ProfileService.save")}},_onSaveFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.ProfileService.save")}},_unflattenProperties:function(e){var c={},d,f,h=0;for(var a in e){h++;f=e[a];d=a.indexOf(".");if(d!==-1){var g=a.substr(0,d);a=a.substr(d+1);var b=c[g];if(!b||!Sys.Services.ProfileGroup.isInstanceOfType(b)){b=new Sys.Services.ProfileGroup;c[g]=b}b[a]=f}else c[a]=f}e.length=h;return c}};Sys.Services._ProfileService.registerClass("Sys.Services._ProfileService",Sys.Net.WebServiceProxy);Sys.Services.ProfileService=new Sys.Services._ProfileService;Sys.Services.ProfileGroup=function(a){if(a)for(var b in a)this[b]=a[b]};Sys.Services.ProfileGroup.registerClass("Sys.Services.ProfileGroup");Sys.Services._AuthenticationService=function(){Sys.Services._AuthenticationService.initializeBase(this)};Sys.Services._AuthenticationService.DefaultWebServicePath="";Sys.Services._AuthenticationService.prototype={_defaultLoginCompletedCallback:null,_defaultLogoutCompletedCallback:null,_path:"",_timeout:0,_authenticated:false,get_defaultLoginCompletedCallback:function(){return this._defaultLoginCompletedCallback},set_defaultLoginCompletedCallback:function(a){this._defaultLoginCompletedCallback=a},get_defaultLogoutCompletedCallback:function(){return this._defaultLogoutCompletedCallback},set_defaultLogoutCompletedCallback:function(a){this._defaultLogoutCompletedCallback=a},get_isLoggedIn:function(){return this._authenticated},get_path:function(){return this._path||""},login:function(c,b,a,h,f,d,e,g){this._invoke(this._get_path(),"Login",false,{userName:c,password:b,createPersistentCookie:a},Function.createDelegate(this,this._onLoginComplete),Function.createDelegate(this,this._onLoginFailed),[c,b,a,h,f,d,e,g])},logout:function(c,a,b,d){this._invoke(this._get_path(),"Logout",false,{},Function.createDelegate(this,this._onLogoutComplete),Function.createDelegate(this,this._onLogoutFailed),[c,a,b,d])},_get_path:function(){var a=this.get_path();if(!a.length)a=Sys.Services._AuthenticationService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_onLoginComplete:function(e,c,f){if(typeof e!=="boolean")throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Boolean"));var b=c[4],d=c[7]||this.get_defaultUserContext(),a=c[5]||this.get_defaultLoginCompletedCallback()||this.get_defaultSucceededCallback();if(e){this._authenticated=true;if(a)a(true,d,"Sys.Services.AuthenticationService.login");if(typeof b!=="undefined"&&b!==null)window.location.href=b}else if(a)a(false,d,"Sys.Services.AuthenticationService.login")},_onLoginFailed:function(d,b){var a=b[6]||this.get_defaultFailedCallback();if(a){var c=b[7]||this.get_defaultUserContext();a(d,c,"Sys.Services.AuthenticationService.login")}},_onLogoutComplete:function(f,a,e){if(f!==null)throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,e,"null"));var b=a[0],d=a[3]||this.get_defaultUserContext(),c=a[1]||this.get_defaultLogoutCompletedCallback()||this.get_defaultSucceededCallback();this._authenticated=false;if(c)c(null,d,"Sys.Services.AuthenticationService.logout");if(!b)window.location.reload();else window.location.href=b},_onLogoutFailed:function(c,b){var a=b[2]||this.get_defaultFailedCallback();if(a)a(c,b[3],"Sys.Services.AuthenticationService.logout")},_setAuthenticated:function(a){this._authenticated=a}};Sys.Services._AuthenticationService.registerClass("Sys.Services._AuthenticationService",Sys.Net.WebServiceProxy);Sys.Services.AuthenticationService=new Sys.Services._AuthenticationService;Sys.Services._RoleService=function(){Sys.Services._RoleService.initializeBase(this);this._roles=[]};Sys.Services._RoleService.DefaultWebServicePath="";Sys.Services._RoleService.prototype={_defaultLoadCompletedCallback:null,_rolesIndex:null,_timeout:0,_path:"",get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_path:function(){return this._path||""},get_roles:function(){return Array.clone(this._roles)},isUserInRole:function(a){var b=this._get_rolesIndex()[a.trim().toLowerCase()];return !!b},load:function(a,b,c){Sys.Net.WebServiceProxy.invoke(this._get_path(),"GetRolesForCurrentUser",false,{},Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[a,b,c],this.get_timeout())},_get_path:function(){var a=this.get_path();if(!a||!a.length)a=Sys.Services._RoleService.DefaultWebServicePath;if(!a||!a.length)throw Error.invalidOperation(Sys.Res.servicePathNotSet);return a},_get_rolesIndex:function(){if(!this._rolesIndex){var b={};for(var a=0;a<this._roles.length;a++)b[this._roles[a].toLowerCase()]=true;this._rolesIndex=b}return this._rolesIndex},_onLoadComplete:function(a,c,f){if(a&&!(a instanceof Array))throw Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,f,"Array"));this._roles=a;this._rolesIndex=null;var b=c[0]||this.get_defaultLoadCompletedCallback()||this.get_defaultSucceededCallback();if(b){var e=c[2]||this.get_defaultUserContext(),d=Array.clone(a);b(d,e,"Sys.Services.RoleService.load")}},_onLoadFailed:function(d,b){var a=b[1]||this.get_defaultFailedCallback();if(a){var c=b[2]||this.get_defaultUserContext();a(d,c,"Sys.Services.RoleService.load")}}};Sys.Services._RoleService.registerClass("Sys.Services._RoleService",Sys.Net.WebServiceProxy);Sys.Services.RoleService=new Sys.Services._RoleService;E^//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxComponentModel.js
Type._registerScript("MicrosoftAjaxComponentModel.js",["MicrosoftAjaxCore.js"]);Type.registerNamespace("Sys.UI");Sys.CommandEventArgs=function(c,a,b){Sys.CommandEventArgs.initializeBase(this);this._commandName=c;this._commandArgument=a;this._commandSource=b};Sys.CommandEventArgs.prototype={_commandName:null,_commandArgument:null,_commandSource:null,get_commandName:function(){return this._commandName},get_commandArgument:function(){return this._commandArgument},get_commandSource:function(){return this._commandSource}};Sys.CommandEventArgs.registerClass("Sys.CommandEventArgs",Sys.CancelEventArgs);Sys.INotifyDisposing=function(){};Sys.INotifyDisposing.prototype={};Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");Sys.Component=function(){if(Sys.Application)Sys.Application.registerDisposableObject(this)};Sys.Component.prototype={_id:null,_initialized:false,_updating:false,get_events:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_id:function(){return this._id},set_id:function(a){this._id=a},get_isInitialized:function(){return this._initialized},get_isUpdating:function(){return this._updating},add_disposing:function(a){this.get_events().addHandler("disposing",a)},remove_disposing:function(a){this.get_events().removeHandler("disposing",a)},add_propertyChanged:function(a){this.get_events().addHandler("propertyChanged",a)},remove_propertyChanged:function(a){this.get_events().removeHandler("propertyChanged",a)},beginUpdate:function(){this._updating=true},dispose:function(){if(this._events){var a=this._events.getHandler("disposing");if(a)a(this,Sys.EventArgs.Empty)}delete this._events;Sys.Application.unregisterDisposableObject(this);Sys.Application.removeComponent(this)},endUpdate:function(){this._updating=false;if(!this._initialized)this.initialize();this.updated()},initialize:function(){this._initialized=true},raisePropertyChanged:function(b){if(!this._events)return;var a=this._events.getHandler("propertyChanged");if(a)a(this,new Sys.PropertyChangedEventArgs(b))},updated:function(){}};Sys.Component.registerClass("Sys.Component",null,Sys.IDisposable,Sys.INotifyPropertyChange,Sys.INotifyDisposing);function Sys$Component$_setProperties(a,i){var d,j=Object.getType(a),e=j===Object||j===Sys.UI.DomElement,h=Sys.Component.isInstanceOfType(a)&&!a.get_isUpdating();if(h)a.beginUpdate();for(var c in i){var b=i[c],f=e?null:a["get_"+c];if(e||typeof f!=="function"){var k=a[c];if(!b||typeof b!=="object"||e&&!k)a[c]=b;else Sys$Component$_setProperties(k,b)}else{var l=a["set_"+c];if(typeof l==="function")l.apply(a,[b]);else if(b instanceof Array){d=f.apply(a);for(var g=0,m=d.length,n=b.length;g<n;g++,m++)d[m]=b[g]}else if(typeof b==="object"&&Object.getType(b)===Object){d=f.apply(a);Sys$Component$_setProperties(d,b)}}}if(h)a.endUpdate()}function Sys$Component$_setReferences(c,b){for(var a in b){var e=c["set_"+a],d=$find(b[a]);e.apply(c,[d])}}var $create=Sys.Component.create=function(h,f,d,c,g){var a=g?new h(g):new h,b=Sys.Application,i=b.get_isCreatingComponents();a.beginUpdate();if(f)Sys$Component$_setProperties(a,f);if(d)for(var e in d)a["add_"+e](d[e]);if(a.get_id())b.addComponent(a);if(i){b._createdComponents[b._createdComponents.length]=a;if(c)b._addComponentToSecondPass(a,c);else a.endUpdate()}else{if(c)Sys$Component$_setReferences(a,c);a.endUpdate()}return a};Sys.UI.MouseButton=function(){throw Error.notImplemented()};Sys.UI.MouseButton.prototype={leftButton:0,middleButton:1,rightButton:2};Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");Sys.UI.Key=function(){throw Error.notImplemented()};Sys.UI.Key.prototype={backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127};Sys.UI.Key.registerEnum("Sys.UI.Key");Sys.UI.Point=function(a,b){this.rawX=a;this.rawY=b;this.x=Math.round(a);this.y=Math.round(b)};Sys.UI.Point.registerClass("Sys.UI.Point");Sys.UI.Bounds=function(c,d,b,a){this.x=c;this.y=d;this.height=a;this.width=b};Sys.UI.Bounds.registerClass("Sys.UI.Bounds");Sys.UI.DomEvent=function(e){var a=e,b=this.type=a.type.toLowerCase();this.rawEvent=a;this.altKey=a.altKey;if(typeof a.button!=="undefined")this.button=typeof a.which!=="undefined"?a.button:a.button===4?Sys.UI.MouseButton.middleButton:a.button===2?Sys.UI.MouseButton.rightButton:Sys.UI.MouseButton.leftButton;if(b==="keypress")this.charCode=a.charCode||a.keyCode;else if(a.keyCode&&a.keyCode===46)this.keyCode=127;else this.keyCode=a.keyCode;this.clientX=a.clientX;this.clientY=a.clientY;this.ctrlKey=a.ctrlKey;this.target=a.target?a.target:a.srcElement;if(!b.startsWith("key"))if(typeof a.offsetX!=="undefined"&&typeof a.offsetY!=="undefined"){this.offsetX=a.offsetX;this.offsetY=a.offsetY}else if(this.target&&this.target.nodeType!==3&&typeof a.clientX==="number"){var c=Sys.UI.DomElement.getLocation(this.target),d=Sys.UI.DomElement._getWindow(this.target);this.offsetX=(d.pageXOffset||0)+a.clientX-c.x;this.offsetY=(d.pageYOffset||0)+a.clientY-c.y}this.screenX=a.screenX;this.screenY=a.screenY;this.shiftKey=a.shiftKey};Sys.UI.DomEvent.prototype={preventDefault:function(){if(this.rawEvent.preventDefault)this.rawEvent.preventDefault();else if(window.event)this.rawEvent.returnValue=false},stopPropagation:function(){if(this.rawEvent.stopPropagation)this.rawEvent.stopPropagation();else if(window.event)this.rawEvent.cancelBubble=true}};Sys.UI.DomEvent.registerClass("Sys.UI.DomEvent");var $addHandler=Sys.UI.DomEvent.addHandler=function(a,d,e,g){if(!a._events)a._events={};var c=a._events[d];if(!c)a._events[d]=c=[];var b;if(a.addEventListener){b=function(b){return e.call(a,new Sys.UI.DomEvent(b))};a.addEventListener(d,b,false)}else if(a.attachEvent){b=function(){var b={};try{b=Sys.UI.DomElement._getWindow(a).event}catch(c){}return e.call(a,new Sys.UI.DomEvent(b))};a.attachEvent("on"+d,b)}c[c.length]={handler:e,browserHandler:b,autoRemove:g};if(g){var f=a.dispose;if(f!==Sys.UI.DomEvent._disposeHandlers){a.dispose=Sys.UI.DomEvent._disposeHandlers;if(typeof f!=="undefined")a._chainDispose=f}}},$addHandlers=Sys.UI.DomEvent.addHandlers=function(f,d,c,e){for(var b in d){var a=d[b];if(c)a=Function.createDelegate(c,a);$addHandler(f,b,a,e||false)}},$clearHandlers=Sys.UI.DomEvent.clearHandlers=function(a){Sys.UI.DomEvent._clearHandlers(a,false)};Sys.UI.DomEvent._clearHandlers=function(a,g){if(a._events){var e=a._events;for(var b in e){var d=e[b];for(var c=d.length-1;c>=0;c--){var f=d[c];if(!g||f.autoRemove)$removeHandler(a,b,f.handler)}}a._events=null}};Sys.UI.DomEvent._disposeHandlers=function(){Sys.UI.DomEvent._clearHandlers(this,true);var b=this._chainDispose,a=typeof b;if(a!=="undefined"){this.dispose=b;this._chainDispose=null;if(a==="function")this.dispose()}};var $removeHandler=Sys.UI.DomEvent.removeHandler=function(b,a,c){Sys.UI.DomEvent._removeHandler(b,a,c)};Sys.UI.DomEvent._removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b<g;b++)if(c[b].handler===f){d=c[b].browserHandler;break}if(a.removeEventListener)a.removeEventListener(e,d,false);else if(a.detachEvent)a.detachEvent("on"+e,d);c.splice(b,1)};Sys.UI.DomElement=function(){};Sys.UI.DomElement.registerClass("Sys.UI.DomElement");Sys.UI.DomElement.addCssClass=function(a,b){if(!Sys.UI.DomElement.containsCssClass(a,b))if(a.className==="")a.className=b;else a.className+=" "+b};Sys.UI.DomElement.containsCssClass=function(b,a){return Array.contains(b.className.split(" "),a)};Sys.UI.DomElement.getBounds=function(a){var b=Sys.UI.DomElement.getLocation(a);return new Sys.UI.Bounds(b.x,b.y,a.offsetWidth||0,a.offsetHeight||0)};var $get=Sys.UI.DomElement.getElementById=function(f,e){if(!e)return document.getElementById(f);if(e.getElementById)return e.getElementById(f);var c=[],d=e.childNodes;for(var b=0;b<d.length;b++){var a=d[b];if(a.nodeType==1)c[c.length]=a}while(c.length){a=c.shift();if(a.id==f)return a;d=a.childNodes;for(b=0;b<d.length;b++){a=d[b];if(a.nodeType==1)c[c.length]=a}}return null};if(document.documentElement.getBoundingClientRect)Sys.UI.DomElement.getLocation=function(a){if(a.self||a.nodeType===9||a===document.documentElement||a.parentNode===a.ownerDocument.documentElement)return new Sys.UI.Point(0,0);var f=a.getBoundingClientRect();if(!f)return new Sys.UI.Point(0,0);var e=a.ownerDocument.documentElement,h=a.ownerDocument.body,l,c=Math.round(f.left)+(e.scrollLeft||h.scrollLeft),d=Math.round(f.top)+(e.scrollTop||h.scrollTop);if(Sys.Browser.agent===Sys.Browser.InternetExplorer){try{var g=a.ownerDocument.parentWindow.frameElement||null;if(g){var i=g.frameBorder==="0"||g.frameBorder==="no"?2:0;c+=i;d+=i}}catch(m){}if(Sys.Browser.version===7&&!document.documentMode){var j=document.body,k=j.getBoundingClientRect(),b=(k.right-k.left)/j.clientWidth;b=Math.round(b*100);b=(b-b%5)/100;if(!isNaN(b)&&b!==1){c=Math.round(c/b);d=Math.round(d/b)}}if((document.documentMode||0)<8){c-=e.clientLeft;d-=e.clientTop}}return new Sys.UI.Point(c,d)};else if(Sys.Browser.agent===Sys.Browser.Safari)Sys.UI.DomElement.getLocation=function(c){if(c.window&&c.window===c||c.nodeType===9)return new Sys.UI.Point(0,0);var d=0,e=0,a,j=null,g=null,b;for(a=c;a;j=a,(g=b,a=a.offsetParent)){b=Sys.UI.DomElement._getCurrentStyle(a);var f=a.tagName?a.tagName.toUpperCase():null;if((a.offsetLeft||a.offsetTop)&&(f!=="BODY"||(!g||g.position!=="absolute"))){d+=a.offsetLeft;e+=a.offsetTop}if(j&&Sys.Browser.version>=3){d+=parseInt(b.borderLeftWidth);e+=parseInt(b.borderTopWidth)}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(a=c.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)){d-=a.scrollLeft||0;e-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(d,e)};else Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,a,i=null,g=null,b=null;for(a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)};Sys.UI.DomElement.isDomElement=function(a){return Sys._isDomElement(a)};Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.resolveElement=function(b,c){var a=b;if(!a)return null;if(typeof a==="string")a=Sys.UI.DomElement.getElementById(a,c);return a};Sys.UI.DomElement.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){Sys.UI.DomElement._raiseBubbleEventFromControl(a,c,d);return}b=b.parentNode}};Sys.UI.DomElement._raiseBubbleEventFromControl=function(a,b,c){if(!a.onBubbleEvent(b,c))a._raiseBubbleEvent(b,c)};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.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":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);this._domReady()};Sys._Application.prototype={_creatingComponents:false,_disposing:false,_deleteCount:0,get_isCreatingComponents:function(){return this._creatingComponents},get_isDisposing:function(){return this._disposing},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,f=b.length;a<f;a++){var d=b[a];if(typeof d!=="undefined")d.dispose()}Array.clear(this._disposableObjects);Sys.UI.DomEvent.removeHandler(window,"unload",this._unloadHandlerDelegate);if(Sys._ScriptLoader){var e=Sys._ScriptLoader.getInstance();if(e)e.dispose()}Sys._Application.callBaseMethod(this,"dispose")}},disposeElement:function(c,j){if(c.nodeType===1){var b,h=c.getElementsByTagName("*"),g=h.length,i=new Array(g);for(b=0;b<g;b++)i[b]=h[b];for(b=g-1;b>=0;b--){var d=i[b],f=d.dispose;if(f&&typeof f==="function")d.dispose();else{var e=d.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=d._behaviors;if(a)this._disposeComponents(a);a=d._components;if(a){this._disposeComponents(a);d._components=null}}if(!j){var f=c.dispose;if(f&&typeof f==="function")c.dispose();else{var e=c.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=c._behaviors;if(a)this._disposeComponents(a);a=c._components;if(a){this._disposeComponents(a);c._components=null}}}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a<d;a++){var c=b[a].component;Sys$Component$_setReferences(c,b[a].references);c.endUpdate()}this._secondPassComponents=[];this._creatingComponents=false},findComponent:function(b,a){return a?Sys.IContainer.isInstanceOfType(a)?a.findComponent(b):a[b]||null:Sys.Application._components[b]||null},getComponents:function(){var a=[],b=this._components;for(var c in b)a[a.length]=b[c];return a},initialize:function(){if(!this.get_isInitialized()&&!this._disposing){Sys._Application.callBaseMethod(this,"initialize");this._raiseInit();if(this.get_stateString){if(Sys.WebForms&&Sys.WebForms.PageRequestManager){this._beginRequestHandler=Function.createDelegate(this,this._onPageRequestManagerBeginRequest);Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._beginRequestHandler);this._endRequestHandler=Function.createDelegate(this,this._onPageRequestManagerEndRequest);Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endRequestHandler)}var a=this.get_stateString();if(a!==this._currentEntry)this._navigate(a);else this._ensureHistory()}this.raiseLoad()}},notifyScriptLoaded:function(){},registerDisposableObject:function(b){if(!this._disposing){var a=this._disposableObjects,c=a.length;a[c]=b;b.__msdisposeindex=c}},raiseLoad:function(){var b=this.get_events().getHandler("load"),a=new Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents),!!this._loaded);this._loaded=true;if(b)b(this,a);if(window.pageLoad)window.pageLoad(this,a);this._createdComponents=[]},removeComponent:function(b){var a=b.get_id();if(a)delete this._components[a]},unregisterDisposableObject:function(a){if(!this._disposing){var e=a.__msdisposeindex;if(typeof e==="number"){var b=this._disposableObjects;delete b[e];delete a.__msdisposeindex;if(++this._deleteCount>1000){var c=[];for(var d=0,f=b.length;d<f;d++){a=b[d];if(typeof a!=="undefined"){a.__msdisposeindex=c.length;c.push(a)}}this._disposableObjects=c;this._deleteCount=0}}}},_addComponentToSecondPass:function(b,a){this._secondPassComponents[this._secondPassComponents.length]={component:b,references:a}},_disposeComponents:function(a){if(a)for(var b=a.length-1;b>=0;b--){var c=a[b];if(typeof c.dispose==="function")c.dispose()}},_domReady:function(){var a,g,f=this;function b(){f.initialize()}var c=function(){Sys.UI.DomEvent.removeHandler(window,"load",c);b()};Sys.UI.DomEvent.addHandler(window,"load",c);if(document.addEventListener)try{document.addEventListener("DOMContentLoaded",a=function(){document.removeEventListener("DOMContentLoaded",a,false);b()},false)}catch(h){}else if(document.attachEvent)if(window==window.top&&document.documentElement.doScroll){var e,d=document.createElement("div");a=function(){try{d.doScroll("left")}catch(c){e=window.setTimeout(a,0);return}d=null;b()};a()}else document.attachEvent("onreadystatechange",a=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}})},_raiseInit:function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!==-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");var a=this._element;if(a){var c=this.get_name();if(c)a[c]=null;var b=a._behaviors;Array.remove(b,this);if(b.length===0)a._behaviors=null;delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b<f;b++)if(e.isInstanceOfType(a[b]))c[c.length]=a[b];return c};Sys.UI.VisibilityMode=function(){throw Error.notImplemented()};Sys.UI.VisibilityMode.prototype={hide:0,collapse:1};Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");Sys.UI.Control=function(a){Sys.UI.Control.initializeBase(this);this._element=a;a.control=this;var b=this.get_role();if(b)a.setAttribute("role",b)};Sys.UI.Control.prototype={_parent:null,_visibilityMode:Sys.UI.VisibilityMode.hide,get_element:function(){return this._element},get_id:function(){if(!this._element)return "";return this._element.id},set_id:function(){throw Error.invalidOperation(Sys.Res.cantSetId)},get_parent:function(){if(this._parent)return this._parent;if(!this._element)return null;var a=this._element.parentNode;while(a){if(a.control)return a.control;a=a.parentNode}return null},set_parent:function(a){this._parent=a},get_role:function(){return null},get_visibilityMode:function(){return Sys.UI.DomElement.getVisibilityMode(this._element)},set_visibilityMode:function(a){Sys.UI.DomElement.setVisibilityMode(this._element,a)},get_visible:function(){return Sys.UI.DomElement.getVisible(this._element)},set_visible:function(a){Sys.UI.DomElement.setVisible(this._element,a)},addCssClass:function(a){Sys.UI.DomElement.addCssClass(this._element,a)},dispose:function(){Sys.UI.Control.callBaseMethod(this,"dispose");if(this._element){this._element.control=null;delete this._element}if(this._parent)delete this._parent},onBubbleEvent:function(){return false},raiseBubbleEvent:function(a,b){this._raiseBubbleEvent(a,b)},_raiseBubbleEvent:function(b,c){var a=this.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=a.get_parent()}},removeCssClass:function(a){Sys.UI.DomElement.removeCssClass(this._element,a)},toggleCssClass:function(a){Sys.UI.DomElement.toggleCssClass(this._element,a)}};Sys.UI.Control.registerClass("Sys.UI.Control",Sys.Component);h//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxCore.js
Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c<e;c++)d[c]=arguments[c];d[e]=a;return b.apply(this,d)}return b.call(this,a)}};Function.createDelegate=function(a,b){return function(){return b.apply(a,arguments)}};Function.emptyFunction=Function.emptyMethod=function(){};Function.validateParameters=function(c,b,a){return Function._validateParams(c,b,a)};Function._validateParams=function(g,e,c){var a,d=e.length;c=c||typeof c==="undefined";a=Function._validateParameterCount(g,e,c);if(a){a.popStackFrame();return a}for(var b=0,i=g.length;b<i;b++){var f=e[Math.min(b,d-1)],h=f.name;if(f.parameterArray)h+="["+(b-d+1)+"]";else if(!c&&b>=d)break;a=Function._validateParameter(g[b],f,h);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(j,d,i){var a,c,b=d.length,e=j.length;if(e<b){var f=b;for(a=0;a<b;a++){var g=d[a];if(g.optional||g.parameterArray)f--}if(e<f)c=true}else if(i&&e>b){c=true;for(a=0;a<b;a++)if(d[a].parameterArray){c=false;break}}if(c){var h=Error.parameterCount();h.popStackFrame();return h}return null};Function._validateParameter=function(c,a,h){var b,g=a.type,l=!!a.integer,k=!!a.domElement,m=!!a.mayBeNull;b=Function._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return b}var e=a.elementType,f=!!a.elementMayBeNull;if(g===Array&&typeof c!=="undefined"&&c!==null&&(e||!f)){var j=!!a.elementInteger,i=!!a.elementDomElement;for(var d=0;d<c.length;d++){var n=c[d];b=Function._validateParameterType(n,e,j,i,f,h+"["+d+"]");if(b){b.popStackFrame();return b}}}return null};Function._validateParameterType=function(b,c,k,j,h,d){var a,g;if(typeof b==="undefined")if(h)return null;else{a=Error.argumentUndefined(d);a.popStackFrame();return a}if(b===null)if(h)return null;else{a=Error.argumentNull(d);a.popStackFrame();return a}if(c&&c.__enum){if(typeof b!=="number"){a=Error.argumentType(d,Object.getType(b),c);a.popStackFrame();return a}if(b%1===0){var e=c.prototype;if(!c.__flags||b===0){for(g in e)if(e[g]===b)return null}else{var i=b;for(g in e){var f=e[g];if(f===0)continue;if((f&b)===f)i-=f;if(i===0)return null}}}a=Error.argumentOutOfRange(d,b,String.format(Sys.Res.enumInvalidValue,b,c.getName()));a.popStackFrame();return a}if(j&&(!Sys._isDomElement(b)||b.nodeType===3)){a=Error.argument(d,Sys.Res.argumentDomElement);a.popStackFrame();return a}if(c&&!Sys._isInstanceOfType(c,b)){a=Error.argumentType(d,Object.getType(b),c);a.popStackFrame();return a}if(c===Number&&k)if(b%1!==0){a=Error.argumentOutOfRange(d,b,Sys.Res.argumentInteger);a.popStackFrame();return a}return null};Error.__typeName="Error";Error.__class=true;Error.create=function(d,b){var a=new Error(d);a.message=d;if(b)for(var c in b)a[c]=b[c];a.popStackFrame();return a};Error.argument=function(a,c){var b="Sys.ArgumentException: "+(c?c:Sys.Res.argument);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentException",paramName:a});d.popStackFrame();return d};Error.argumentNull=function(a,c){var b="Sys.ArgumentNullException: "+(c?c:Sys.Res.argumentNull);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentNullException",paramName:a});d.popStackFrame();return d};Error.argumentOutOfRange=function(c,a,d){var b="Sys.ArgumentOutOfRangeException: "+(d?d:Sys.Res.argumentOutOfRange);if(c)b+="\n"+String.format(Sys.Res.paramName,c);if(typeof a!=="undefined"&&a!==null)b+="\n"+String.format(Sys.Res.actualValue,a);var e=Error.create(b,{name:"Sys.ArgumentOutOfRangeException",paramName:c,actualValue:a});e.popStackFrame();return e};Error.argumentType=function(d,c,b,e){var a="Sys.ArgumentTypeException: ";if(e)a+=e;else if(c&&b)a+=String.format(Sys.Res.argumentTypeWithTypes,c.getName(),b.getName());else a+=Sys.Res.argumentType;if(d)a+="\n"+String.format(Sys.Res.paramName,d);var f=Error.create(a,{name:"Sys.ArgumentTypeException",paramName:d,actualType:c,expectedType:b});f.popStackFrame();return f};Error.argumentUndefined=function(a,c){var b="Sys.ArgumentUndefinedException: "+(c?c:Sys.Res.argumentUndefined);if(a)b+="\n"+String.format(Sys.Res.paramName,a);var d=Error.create(b,{name:"Sys.ArgumentUndefinedException",paramName:a});d.popStackFrame();return d};Error.format=function(a){var c="Sys.FormatException: "+(a?a:Sys.Res.format),b=Error.create(c,{name:"Sys.FormatException"});b.popStackFrame();return b};Error.invalidOperation=function(a){var c="Sys.InvalidOperationException: "+(a?a:Sys.Res.invalidOperation),b=Error.create(c,{name:"Sys.InvalidOperationException"});b.popStackFrame();return b};Error.notImplemented=function(a){var c="Sys.NotImplementedException: "+(a?a:Sys.Res.notImplemented),b=Error.create(c,{name:"Sys.NotImplementedException"});b.popStackFrame();return b};Error.parameterCount=function(a){var c="Sys.ParameterCountException: "+(a?a:Sys.Res.parameterCount),b=Error.create(c,{name:"Sys.ParameterCountException"});b.popStackFrame();return b};Error.prototype.popStackFrame=function(){if(typeof this.stack==="undefined"||this.stack===null||typeof this.fileName==="undefined"||this.fileName===null||typeof this.lineNumber==="undefined"||this.lineNumber===null)return;var a=this.stack.split("\n"),c=a[0],e=this.fileName+":"+this.lineNumber;while(typeof c!=="undefined"&&c!==null&&c.indexOf(e)===-1){a.shift();c=a[0]}var d=a[1];if(typeof d==="undefined"||d===null)return;var b=d.match(/@(.*):(\d+)$/);if(typeof b==="undefined"||b===null)return;this.fileName=b[1];this.lineNumber=parseInt(b[2]);a.shift();this.stack=a.join("\n")};Object.__typeName="Object";Object.__class=true;Object.getType=function(b){var a=b.constructor;if(!a||typeof a!=="function"||!a.__typeName||a.__typeName==="Object")return Object;return a};Object.getTypeName=function(a){return Object.getType(a).getName()};String.__typeName="String";String.__class=true;String.prototype.endsWith=function(a){return this.substr(this.length-a.length)===a};String.prototype.startsWith=function(a){return this.substr(0,a.length)===a};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=function(){return this.replace(/\s+$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s+/,"")};String.format=function(){return String._toFormattedString(false,arguments)};String._toFormattedString=function(l,j){var c="",e=j[0];for(var a=0;true;){var f=e.indexOf("{",a),d=e.indexOf("}",a);if(f<0&&d<0){c+=e.slice(a);break}if(d>0&&(d<f||f<0)){c+=e.slice(a,d+1);a=d+2;continue}c+=e.slice(a,f);a=f+1;if(e.charAt(a)==="{"){c+="{";a++;continue}if(d<0)break;var h=e.substring(a,d),g=h.indexOf(":"),k=parseInt(g<0?h:h.substring(0,g),10)+1,i=g<0?"":h.substring(g+1),b=j[k];if(typeof b==="undefined"||b===null)b="";if(b.toFormattedString)c+=b.toFormattedString(i);else if(l&&b.localeFormat)c+=b.localeFormat(i);else if(b.format)c+=b.format(i);else c+=b.toString();a=d+1}return c};Boolean.__typeName="Boolean";Boolean.__class=true;Boolean.parse=function(b){var a=b.trim().toLowerCase();if(a==="false")return false;if(a==="true")return true};Date.__typeName="Date";Date.__class=true;Number.__typeName="Number";Number.__class=true;RegExp.__typeName="RegExp";RegExp.__class=true;if(!window)this.window=this;window.Type=Function;Type.prototype.callBaseMethod=function(a,d,b){var c=Sys._getBaseMethod(this,a,d);if(!b)return c.apply(a);else return c.apply(a,b)};Type.prototype.getBaseMethod=function(a,b){return Sys._getBaseMethod(this,a,b)};Type.prototype.getBaseType=function(){return typeof this.__baseType==="undefined"?null:this.__baseType};Type.prototype.getInterfaces=function(){var a=[],b=this;while(b){var c=b.__interfaces;if(c)for(var d=0,f=c.length;d<f;d++){var e=c[d];if(!Array.contains(a,e))a[a.length]=e}b=b.__baseType}return a};Type.prototype.getName=function(){return typeof this.__typeName==="undefined"?"":this.__typeName};Type.prototype.implementsInterface=function(d){this.resolveInheritance();var c=d.getName(),a=this.__interfaceCache;if(a){var e=a[c];if(typeof e!=="undefined")return e}else a=this.__interfaceCache={};var b=this;while(b){var f=b.__interfaces;if(f)if(Array.indexOf(f,d)!==-1)return a[c]=true;b=b.__baseType}return a[c]=false};Type.prototype.inheritsFrom=function(b){this.resolveInheritance();var a=this.__baseType;while(a){if(a===b)return true;a=a.__baseType}return false};Type.prototype.initializeBase=function(a,b){this.resolveInheritance();if(this.__baseType)if(!b)this.__baseType.apply(a);else this.__baseType.apply(a,b);return a};Type.prototype.isImplementedBy=function(a){if(typeof a==="undefined"||a===null)return false;var b=Object.getType(a);return !!(b.implementsInterface&&b.implementsInterface(this))};Type.prototype.isInstanceOfType=function(a){return Sys._isInstanceOfType(this,a)};Type.prototype.registerClass=function(c,b,d){this.prototype.constructor=this;this.__typeName=c;this.__class=true;if(b){this.__baseType=b;this.__basePrototypePending=true}Sys.__upperCaseTypes[c.toUpperCase()]=this;if(d){this.__interfaces=[];for(var a=2,f=arguments.length;a<f;a++){var e=arguments[a];this.__interfaces.push(e)}}return this};Type.prototype.registerInterface=function(a){Sys.__upperCaseTypes[a.toUpperCase()]=this;this.prototype.constructor=this;this.__typeName=a;this.__interface=true;return this};Type.prototype.resolveInheritance=function(){if(this.__basePrototypePending){var b=this.__baseType;b.resolveInheritance();for(var a in b.prototype){var c=b.prototype[a];if(!this.prototype[a])this.prototype[a]=c}delete this.__basePrototypePending}};Type.getRootNamespaces=function(){return Array.clone(Sys.__rootNamespaces)};Type.isClass=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__class};Type.isInterface=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__interface};Type.isNamespace=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__namespace};Type.parse=function(typeName,ns){var fn;if(ns){fn=Sys.__upperCaseTypes[ns.getName().toUpperCase()+"."+typeName.toUpperCase()];return fn||null}if(!typeName)return null;if(!Type.__htClasses)Type.__htClasses={};fn=Type.__htClasses[typeName];if(!fn){fn=eval(typeName);Type.__htClasses[typeName]=fn}return fn};Type.registerNamespace=function(e){var d=window,c=e.split(".");for(var b=0;b<c.length;b++){var f=c[b],a=d[f];if(!a)a=d[f]={};if(!a.__namespace){if(b===0&&e!=="Sys")Sys.__rootNamespaces[Sys.__rootNamespaces.length]=a;a.__namespace=true;a.__typeName=c.slice(0,b+1).join(".");a.getName=function(){return this.__typeName}}d=a}};Type._checkDependency=function(c,a){var d=Type._registerScript._scripts,b=d?!!d[c]:false;if(typeof a!=="undefined"&&!b)throw Error.invalidOperation(String.format(Sys.Res.requiredScriptReferenceNotIncluded,a,c));return b};Type._registerScript=function(a,c){var b=Type._registerScript._scripts;if(!b)Type._registerScript._scripts=b={};if(b[a])throw Error.invalidOperation(String.format(Sys.Res.scriptAlreadyLoaded,a));b[a]=true;if(c)for(var d=0,f=c.length;d<f;d++){var e=c[d];if(!Type._checkDependency(e))throw Error.invalidOperation(String.format(Sys.Res.scriptDependencyNotFound,a,e))}};Type.registerNamespace("Sys");Sys.__upperCaseTypes={};Sys.__rootNamespaces=[Sys];Sys._isInstanceOfType=function(c,b){if(typeof b==="undefined"||b===null)return false;if(b instanceof c)return true;var a=Object.getType(b);return !!(a===c)||a.inheritsFrom&&a.inheritsFrom(c)||a.implementsInterface&&a.implementsInterface(c)};Sys._getBaseMethod=function(d,e,c){var b=d.getBaseType();if(b){var a=b.prototype[c];return a instanceof Function?a:null}return null};Sys._isDomElement=function(a){var c=false;if(typeof a.nodeType!=="number"){var b=a.ownerDocument||a.document||a;if(b!=a){var d=b.defaultView||b.parentWindow;c=d!=a}else c=typeof b.body==="undefined"}return !c};Array.__typeName="Array";Array.__class=true;Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){if(a.length===1)return [a[0]];else return Array.apply(null,a)};Array.contains=function(a,b){return Sys._indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a<f;a++){var c=b[a];if(typeof c!=="undefined")e.call(d,c,a,b)}};Array.indexOf=function(a,c,b){return Sys._indexOf(a,c,b)};Array.insert=function(a,b,c){a.splice(b,0,c)};Array.parse=function(value){if(!value)return [];return eval(value)};Array.remove=function(b,c){var a=Sys._indexOf(b,c);if(a>=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};Sys._indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b<c;b++)if(typeof d[b]!=="undefined"&&d[b]===e)return b}return -1};Type._registerScript("MicrosoftAjaxCore.js");Sys.IDisposable=function(){};Sys.IDisposable.prototype={};Sys.IDisposable.registerInterface("Sys.IDisposable");Sys.StringBuilder=function(a){this._parts=typeof a!=="undefined"&&a!==null&&a!==""?[a.toString()]:[];this._value={};this._len=0};Sys.StringBuilder.prototype={append:function(a){this._parts[this._parts.length]=a},appendLine:function(a){this._parts[this._parts.length]=typeof a==="undefined"||a===null||a===""?"\r\n":a+"\r\n"},clear:function(){this._parts=[];this._value={};this._len=0},isEmpty:function(){if(this._parts.length===0)return true;return this.toString()===""},toString:function(a){a=a||"";var b=this._parts;if(this._len!==b.length){this._value={};this._len=b.length}var d=this._value;if(typeof d[a]==="undefined"){if(a!=="")for(var c=0;c<b.length;)if(typeof b[c]==="undefined"||b[c]===""||b[c]===null)b.splice(c,1);else c++;d[a]=this._parts.join(a)}return d[a]}};Sys.StringBuilder.registerClass("Sys.StringBuilder");Sys.Browser={};Sys.Browser.InternetExplorer={};Sys.Browser.Firefox={};Sys.Browser.Safari={};Sys.Browser.Opera={};Sys.Browser.agent=null;Sys.Browser.hasDebuggerStatement=false;Sys.Browser.name=navigator.appName;Sys.Browser.version=parseFloat(navigator.appVersion);Sys.Browser.documentMode=0;if(navigator.userAgent.indexOf(" MSIE ")>-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={_addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},addHandler:function(b,a){this._addHandler(b,a)},_removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},removeHandler:function(b,a){this._removeHandler(b,a)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);return function(c,d){for(var b=0,e=a.length;b<e;b++)a[b](c,d)}},_getEvent:function(a,b){if(!this._list[a]){if(!b)return null;this._list[a]=[]}return this._list[a]}};Sys.EventHandlerList.registerClass("Sys.EventHandlerList");Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+="    ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e<j;e++)this._traceDump(a[e],"["+e+"]",f,b,d)}else for(g in a){h=a[g];if(!Function.isInstanceOfType(h))this._traceDump(h,g,f,b,d)}}}Array.remove(d,a)}}};Sys._Debug.registerClass("Sys._Debug");Sys.Debug=new Sys._Debug;Sys.Debug.isDebug=false;function Sys$Enum$parse(c,e){var a,b,i;if(e){a=this.__lowerCaseValues;if(!a){this.__lowerCaseValues=a={};var g=this.prototype;for(var f in g)a[f.toLowerCase()]=g[f]}}else a=this.prototype;if(!this.__flags){i=e?c.toLowerCase():c;b=a[i.trim()];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c,this.__typeName));return b}else{var h=(e?c.toLowerCase():c).split(","),j=0;for(var d=h.length-1;d>=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.CollectionChange=function(e,a,c,b,d){this.action=e;if(a)if(!(a instanceof Array))a=[a];this.newItems=a||null;if(typeof c!=="number")c=-1;this.newStartingIndex=c;if(b)if(!(b instanceof Array))b=[b];this.oldItems=b||null;if(typeof d!=="number")d=-1;this.oldStartingIndex=d};Sys.CollectionChange.registerClass("Sys.CollectionChange");Sys.NotifyCollectionChangedAction=function(){throw Error.notImplemented()};Sys.NotifyCollectionChangedAction.prototype={add:0,remove:1,reset:2};Sys.NotifyCollectionChangedAction.registerEnum("Sys.NotifyCollectionChangedAction");Sys.NotifyCollectionChangedEventArgs=function(a){this._changes=a;Sys.NotifyCollectionChangedEventArgs.initializeBase(this)};Sys.NotifyCollectionChangedEventArgs.prototype={get_changes:function(){return this._changes||[]}};Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs",Sys.EventArgs);Sys.INotifyPropertyChange=function(){};Sys.INotifyPropertyChange.prototype={};Sys.INotifyPropertyChange.registerInterface("Sys.INotifyPropertyChange");Sys.PropertyChangedEventArgs=function(a){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=a};Sys.PropertyChangedEventArgs.prototype={get_propertyName:function(){return this._propertyName}};Sys.PropertyChangedEventArgs.registerClass("Sys.PropertyChangedEventArgs",Sys.EventArgs);Sys.Observer=function(){};Sys.Observer.registerClass("Sys.Observer");Sys.Observer.makeObservable=function(a){var c=a instanceof Array,b=Sys.Observer;if(a.setValue===b._observeMethods.setValue)return a;b._addMethods(a,b._observeMethods);if(c)b._addMethods(a,b._arrayMethods);return a};Sys.Observer._addMethods=function(c,b){for(var a in b)c[a]=b[a]};Sys.Observer._addEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._addHandler(a,b)};Sys.Observer.addEventHandler=function(c,a,b){Sys.Observer._addEventHandler(c,a,b)};Sys.Observer._removeEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._removeHandler(a,b)};Sys.Observer.removeEventHandler=function(c,a,b){Sys.Observer._removeEventHandler(c,a,b)};Sys.Observer.raiseEvent=function(b,e,d){var c=Sys.Observer._getContext(b);if(!c)return;var a=c.events.getHandler(e);if(a)a(b,d)};Sys.Observer.addPropertyChanged=function(b,a){Sys.Observer._addEventHandler(b,"propertyChanged",a)};Sys.Observer.removePropertyChanged=function(b,a){Sys.Observer._removeEventHandler(b,"propertyChanged",a)};Sys.Observer.beginUpdate=function(a){Sys.Observer._getContext(a,true).updating=true};Sys.Observer.endUpdate=function(b){var a=Sys.Observer._getContext(b);if(!a||!a.updating)return;a.updating=false;var d=a.dirty;a.dirty=false;if(d){if(b instanceof Array){var c=a.changes;a.changes=null;Sys.Observer.raiseCollectionChanged(b,c)}Sys.Observer.raisePropertyChanged(b,"")}};Sys.Observer.isUpdating=function(b){var a=Sys.Observer._getContext(b);return a?a.updating:false};Sys.Observer._setValue=function(a,j,g){var b,f,k=a,d=j.split(".");for(var i=0,m=d.length-1;i<m;i++){var l=d[i];b=a["get_"+l];if(typeof b==="function")a=b.call(a);else a=a[l];var n=typeof a;if(a===null||n==="undefined")throw Error.invalidOperation(String.format(Sys.Res.nullReferenceInPath,j))}var e,c=d[m];b=a["get_"+c];f=a["set_"+c];if(typeof b==="function")e=b.call(a);else e=a[c];if(typeof f==="function")f.call(a,g);else a[c]=g;if(e!==g){var h=Sys.Observer._getContext(k);if(h&&h.updating){h.dirty=true;return}Sys.Observer.raisePropertyChanged(k,d[0])}};Sys.Observer.setValue=function(b,a,c){Sys.Observer._setValue(b,a,c)};Sys.Observer.raisePropertyChanged=function(b,a){Sys.Observer.raiseEvent(b,"propertyChanged",new Sys.PropertyChangedEventArgs(a))};Sys.Observer.addCollectionChanged=function(b,a){Sys.Observer._addEventHandler(b,"collectionChanged",a)};Sys.Observer.removeCollectionChanged=function(b,a){Sys.Observer._removeEventHandler(b,"collectionChanged",a)};Sys.Observer._collectionChange=function(d,c){var a=Sys.Observer._getContext(d);if(a&&a.updating){a.dirty=true;var b=a.changes;if(!b)a.changes=b=[c];else b.push(c)}else{Sys.Observer.raiseCollectionChanged(d,[c]);Sys.Observer.raisePropertyChanged(d,"length")}};Sys.Observer.add=function(a,b){var c=new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add,[b],a.length);Array.add(a,b);Sys.Observer._collectionChange(a,c)};Sys.Observer.addRange=function(a,b){var c=new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add,b,a.length);Array.addRange(a,b);Sys.Observer._collectionChange(a,c)};Sys.Observer.clear=function(a){var b=Array.clone(a);Array.clear(a);Sys.Observer._collectionChange(a,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.reset,null,-1,b,0))};Sys.Observer.insert=function(a,b,c){Array.insert(a,b,c);Sys.Observer._collectionChange(a,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.add,[c],b))};Sys.Observer.remove=function(a,b){var c=Array.indexOf(a,b);if(c!==-1){Array.remove(a,b);Sys.Observer._collectionChange(a,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove,null,-1,[b],c));return true}return false};Sys.Observer.removeAt=function(b,a){if(a>-1&&a<b.length){var c=b[a];Array.removeAt(b,a);Sys.Observer._collectionChange(b,new Sys.CollectionChange(Sys.NotifyCollectionChangedAction.remove,null,-1,[c],a))}};Sys.Observer.raiseCollectionChanged=function(b,a){Sys.Observer.raiseEvent(b,"collectionChanged",new Sys.NotifyCollectionChangedEventArgs(a))};Sys.Observer._observeMethods={add_propertyChanged:function(a){Sys.Observer._addEventHandler(this,"propertyChanged",a)},remove_propertyChanged:function(a){Sys.Observer._removeEventHandler(this,"propertyChanged",a)},addEventHandler:function(a,b){Sys.Observer._addEventHandler(this,a,b)},removeEventHandler:function(a,b){Sys.Observer._removeEventHandler(this,a,b)},get_isUpdating:function(){return Sys.Observer.isUpdating(this)},beginUpdate:function(){Sys.Observer.beginUpdate(this)},endUpdate:function(){Sys.Observer.endUpdate(this)},setValue:function(b,a){Sys.Observer._setValue(this,b,a)},raiseEvent:function(b,a){Sys.Observer.raiseEvent(this,b,a)},raisePropertyChanged:function(a){Sys.Observer.raiseEvent(this,"propertyChanged",new Sys.PropertyChangedEventArgs(a))}};Sys.Observer._arrayMethods={add_collectionChanged:function(a){Sys.Observer._addEventHandler(this,"collectionChanged",a)},remove_collectionChanged:function(a){Sys.Observer._removeEventHandler(this,"collectionChanged",a)},add:function(a){Sys.Observer.add(this,a)},addRange:function(a){Sys.Observer.addRange(this,a)},clear:function(){Sys.Observer.clear(this)},insert:function(a,b){Sys.Observer.insert(this,a,b)},remove:function(a){return Sys.Observer.remove(this,a)},removeAt:function(a){Sys.Observer.removeAt(this,a)},raiseCollectionChanged:function(a){Sys.Observer.raiseEvent(this,"collectionChanged",new Sys.NotifyCollectionChangedEventArgs(a))}};Sys.Observer._getContext=function(b,c){var a=b._observerContext;if(a)return a();if(c)return (b._observerContext=Sys.Observer._createContext())();return null};Sys.Observer._createContext=function(){var a={events:new Sys.EventHandlerList};return function(){return a}};M//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxGlobalization.js
Type._registerScript("MicrosoftAjaxGlobalization.js",["MicrosoftAjaxCore.js"]);Date._appendPreOrPostMatch=function(e,b){var d=0,a=false;for(var c=0,g=e.length;c<g;c++){var f=e.charAt(c);switch(f){case "'":if(a)b.append("'");else d++;a=false;break;case "\\":if(a)b.append("\\");a=!a;break;default:b.append(f);a=false}}return d};Date._expandFormat=function(a,b){if(!b)b="F";var c=b.length;if(c===1)switch(b){case "d":return a.ShortDatePattern;case "D":return a.LongDatePattern;case "t":return a.ShortTimePattern;case "T":return a.LongTimePattern;case "f":return a.LongDatePattern+" "+a.ShortTimePattern;case "F":return a.FullDateTimePattern;case "M":case "m":return a.MonthDayPattern;case "s":return a.SortableDateTimePattern;case "Y":case "y":return a.YearMonthPattern;default:throw Error.format(Sys.Res.formatInvalidString)}else if(c===2&&b.charAt(0)==="%")b=b.charAt(1);return b};Date._expandYear=function(c,a){var d=new Date,e=Date._getEra(d);if(a<100){var b=Date._getEraYear(d,c,e);a+=b-b%100;if(a>c.Calendar.TwoDigitYearMax)a-=100}return a};Date._getEra=function(e,c){if(!c)return 0;var b,d=e.getTime();for(var a=0,f=c.length;a<f;a+=4){b=c[a+2];if(b===null||d>=b)return a}return 0};Date._getEraYear=function(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break;case "/":a.append("(\\"+b.DateSeparator+")")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){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|gg|g/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(h,d,i){var a,c,b,f,e,g=false;for(a=1,c=i.length;a<c;a++){f=i[a];if(f){g=true;b=Date._parseExact(h,f,d);if(b)return b}}if(!g){e=d._getDateTimeFormats();for(a=0,c=e.length;a<c;a++){b=Date._parseExact(h,e[a],d);if(b)return b}}return null};Date._parseExact=function(w,D,k){w=w.trim();var g=k.dateTimeFormat,A=Date._getParseRegExp(g,D),C=(new RegExp(A.regExp)).exec(w);if(C===null)return null;var B=A.groups,x=null,e=null,c=null,j=null,i=null,d=0,h,p=0,q=0,f=0,l=null,v=false;for(var s=0,E=B.length;s<E;s++){var a=C[s+1];if(a)switch(B[s]){case "dd":case "d":j=parseInt(a,10);if(j<1||j>31)return null;break;case "MMMM":c=k._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=k._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":e=Date._expandYear(g,parseInt(a,10));if(e<0||e>9999)return null;break;case "yyyy":e=parseInt(a,10);if(e<0||e>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":p=parseInt(a,10);if(p<0||p>59)return null;break;case "s":case "ss":q=parseInt(a,10);if(q<0||q>59)return null;break;case "tt":case "t":var z=a.toUpperCase();v=z===g.PMDesignator.toUpperCase();if(!v&&z!==g.AMDesignator.toUpperCase())return null;break;case "f":f=parseInt(a,10)*100;if(f<0||f>999)return null;break;case "ff":f=parseInt(a,10)*10;if(f<0||f>999)return null;break;case "fff":f=parseInt(a,10);if(f<0||f>999)return null;break;case "dddd":i=k._getDayIndex(a);if(i<0||i>6)return null;break;case "ddd":i=k._getAbbrDayIndex(a);if(i<0||i>6)return null;break;case "zzz":var u=a.split(/:/);if(u.length!==2)return null;h=parseInt(u[0],10);if(h<-12||h>13)return null;var m=parseInt(u[1],10);if(m<0||m>59)return null;l=h*60+(a.startsWith("-")?-m:m);break;case "z":case "zz":h=parseInt(a,10);if(h<-12||h>13)return null;l=h*60;break;case "g":case "gg":var o=a;if(!o||!g.eras)return null;o=o.toLowerCase().trim();for(var r=0,F=g.eras.length;r<F;r+=4)if(o===g.eras[r+1].toLowerCase()){x=r;break}if(x===null)return null}}var b=new Date,t,n=g.Calendar.convert;if(n)t=n.fromGregorian(b)[0];else t=b.getFullYear();if(e===null)e=t;else if(g.eras)e+=g.eras[(x||0)+3];if(c===null)c=0;if(j===null)j=1;if(n){b=n.toGregorian(e,c,j);if(b===null)return null}else{b.setFullYear(e,c,j);if(b.getDate()!==j)return null;if(i!==null&&b.getDay()!==i)return null}if(v&&d<12)d+=12;b.setHours(d,p,q,f);if(l!==null){var y=b.getMinutes()-(l+b.getTimezoneOffset());b.setHours(b.getHours()+parseInt(y/60,10),y%60)}return b};Date.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype._toFormattedString=function(e,j){var b=j.dateTimeFormat,n=b.Calendar.convert;if(!e||!e.length||e==="i")if(j&&j.name.length)if(n)return this._toFormattedString(b.FullDateTimePattern,j);else{var r=new Date(this.getTime()),x=Date._getEra(this,b.eras);r.setFullYear(Date._getEraYear(this,b,x));return r.toLocaleString()}else return this.toString();var l=b.eras,k=e==="s";e=Date._expandFormat(b,e);var a=new Sys.StringBuilder,c;function d(a){if(a<10)return "0"+a;return a.toString()}function m(a){if(a<10)return "00"+a;if(a<100)return "0"+a;return a.toString()}function v(a){if(a<10)return "000"+a;else if(a<100)return "00"+a;else if(a<1000)return "0"+a;return a.toString()}var h,p,t=/([^d]|^)(d|dd)([^d]|$)/g;function s(){if(h||p)return h;h=t.test(e);p=true;return h}var q=0,o=Date._getTokenRegExp(),f;if(!k&&n)f=n.fromGregorian(this);for(;true;){var w=o.lastIndex,i=o.exec(e),u=e.slice(w,i?i.index:e.length);q+=Date._appendPreOrPostMatch(u,a);if(!i)break;if(q%2===1){a.append(i[0]);continue}function g(a,b){if(f)return f[b];switch(b){case 0:return a.getFullYear();case 1:return a.getMonth();case 2:return a.getDate()}}switch(i[0]){case "dddd":a.append(b.DayNames[this.getDay()]);break;case "ddd":a.append(b.AbbreviatedDayNames[this.getDay()]);break;case "dd":h=true;a.append(d(g(this,2)));break;case "d":h=true;a.append(g(this,2));break;case "MMMM":a.append(b.MonthGenitiveNames&&s()?b.MonthGenitiveNames[g(this,1)]:b.MonthNames[g(this,1)]);break;case "MMM":a.append(b.AbbreviatedMonthGenitiveNames&&s()?b.AbbreviatedMonthGenitiveNames[g(this,1)]:b.AbbreviatedMonthNames[g(this,1)]);break;case "MM":a.append(d(g(this,1)+1));break;case "M":a.append(g(this,1)+1);break;case "yyyy":a.append(v(f?f[0]:Date._getEraYear(this,b,Date._getEra(this,l),k)));break;case "yy":a.append(d((f?f[0]:Date._getEraYear(this,b,Date._getEra(this,l),k))%100));break;case "y":a.append((f?f[0]:Date._getEraYear(this,b,Date._getEra(this,l),k))%100);break;case "hh":c=this.getHours()%12;if(c===0)c=12;a.append(d(c));break;case "h":c=this.getHours()%12;if(c===0)c=12;a.append(c);break;case "HH":a.append(d(this.getHours()));break;case "H":a.append(this.getHours());break;case "mm":a.append(d(this.getMinutes()));break;case "m":a.append(this.getMinutes());break;case "ss":a.append(d(this.getSeconds()));break;case "s":a.append(this.getSeconds());break;case "tt":a.append(this.getHours()<12?b.AMDesignator:b.PMDesignator);break;case "t":a.append((this.getHours()<12?b.AMDesignator:b.PMDesignator).charAt(0));break;case "f":a.append(m(this.getMilliseconds()).charAt(0));break;case "ff":a.append(m(this.getMilliseconds()).substr(0,2));break;case "fff":a.append(m(this.getMilliseconds()));break;case "z":c=this.getTimezoneOffset()/60;a.append((c<=0?"+":"-")+Math.floor(Math.abs(c)));break;case "zz":c=this.getTimezoneOffset()/60;a.append((c<=0?"+":"-")+d(Math.floor(Math.abs(c))));break;case "zzz":c=this.getTimezoneOffset()/60;a.append((c<=0?"+":"-")+d(Math.floor(Math.abs(c)))+":"+d(Math.abs(this.getTimezoneOffset()%60)));break;case "g":case "gg":if(b.eras)a.append(b.eras[Date._getEra(this,l)+1]);break;case "/":a.append(b.DateSeparator)}}return a.toString()};String.localeFormat=function(){return String._toFormattedString(true,arguments)};Number.parseLocale=function(a){return Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=function(a){return Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=function(b,o){b=b.trim();if(b.match(/^[+-]?infinity$/i))return parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var a=o.numberFormat,g=Number._parseNumberNegativePattern(b,a,a.NumberNegativePattern),h=g[0],e=g[1];if(h===""&&a.NumberNegativePattern!==1){g=Number._parseNumberNegativePattern(b,a,1);h=g[0];e=g[1]}if(h==="")h="+";var j,d,f=e.indexOf("e");if(f<0)f=e.indexOf("E");if(f<0){d=e;j=null}else{d=e.substr(0,f);j=e.substr(f+1)}var c,k,m=d.indexOf(a.NumberDecimalSeparator);if(m<0){c=d;k=null}else{c=d.substr(0,m);k=d.substr(m+a.NumberDecimalSeparator.length)}c=c.split(a.NumberGroupSeparator).join("");var n=a.NumberGroupSeparator.replace(/\u00A0/g," ");if(a.NumberGroupSeparator!==n)c=c.split(n).join("");var l=h+c;if(k!==null)l+="."+k;if(j!==null){var i=Number._parseNumberNegativePattern(j,a,1);if(i[0]==="")i[0]="+";l+="e"+i[0]+i[1]}if(l.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/))return parseFloat(l);return Number.NaN};Number._parseNumberNegativePattern=function(a,d,e){var b=d.NegativeSign,c=d.PositiveSign;switch(e){case 4:b=" "+b;c=" "+c;case 3:if(a.endsWith(b))return ["-",a.substr(0,a.length-b.length)];else if(a.endsWith(c))return ["+",a.substr(0,a.length-c.length)];break;case 2:b+=" ";c+=" ";case 1:if(a.startsWith(b))return ["-",a.substr(b.length)];else if(a.startsWith(c))return ["+",a.substr(c.length)];break;case 0:if(a.startsWith("(")&&a.endsWith(")"))return ["-",a.substr(1,a.length-2)]}return ["",a]};Number.prototype.format=function(a){return this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.prototype.localeFormat=function(a){return this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototype._toFormattedString=function(e,j){if(!e||e.length===0||e==="i")if(j&&j.name.length>0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b<c;b++)a=d?"0"+a:a+"0";return a}function i(j,i,l,n,p){var h=l[0],k=1,o=Math.pow(10,i),m=Math.round(j*o)/o;if(!isFinite(m))m=j;j=m;var b=j.toString(),a="",c,e=b.split(/e/i);b=e[0];c=e.length>1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k<l.length){h=l[k];k++}}return b.slice(0,d+1)+n+f+a}var a=j.numberFormat,d=Math.abs(this);if(!e)e="D";var b=-1;if(e.length>1)b=parseInt(e.slice(1),10);var c;switch(e.charAt(0)){case "d":case "D":c="n";if(b!==-1)d=g(""+d,b,true);if(this<0)d=-d;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;d=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;d=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;d=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=d;break;case "$":f+=a.CurrencySymbol;break;case "-":if(/[1-9]/.test(d))f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getIndex:function(c,d,e){var b=this._toUpper(c),a=Array.indexOf(d,b);if(a===-1)a=Array.indexOf(e,b);return a},_getMonthIndex:function(a){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);this._upperMonthsGenitive=this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames)}return this._getIndex(a,this._upperMonths,this._upperMonthsGenitive)},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);this._upperAbbrMonthsGenitive=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames)}return this._getIndex(a,this._upperAbbrMonths,this._upperAbbrMonthsGenitive)},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a<d;a++)b[a]=this._toUpper(c[a]);return b},_toUpper:function(a){return a.split("\u00a0").join(" ").toUpperCase()}};Sys.CultureInfo.registerClass("Sys.CultureInfo");Sys.CultureInfo._parse=function(a){var b=a.dateTimeFormat;if(b&&!b.eras)b.eras=a.eras;return new Sys.CultureInfo(a.name,a.numberFormat,b)};Sys.CultureInfo.InvariantCulture=Sys.CultureInfo._parse({"name":"","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"\u00a4","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"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","SortableDateTimePattern":"yyyy'-'MM'-'dd'T'HH':'mm':'ss","TimeSeparator":":","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":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});if(typeof __cultureInfo==="object"){Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse(__cultureInfo);delete __cultureInfo}else Sys.CultureInfo.CurrentCulture=Sys.CultureInfo._parse({"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecimalSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","CurrencySymbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","PercentDecimalDigits":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,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dddd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy HH':'mm':'ss 'GMT'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm tt","SortableDateTimePattern":"yyyy'-'MM'-'dd'T'HH':'mm':'ss","TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy'-'MM'-'dd HH':'mm':'ss'Z'","YearMonthPattern":"MMMM, yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"AbbreviatedMonthNames":["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":["January","February","March","April","May","June","July","August","September","October","November","December",""]},"eras":[1,"A.D.",null,0]});.//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxHistory.js
Type._registerScript("MicrosoftAjaxHistory.js",["MicrosoftAjaxComponentModel.js","MicrosoftAjaxSerialization.js"]);Sys.HistoryEventArgs=function(a){Sys.HistoryEventArgs.initializeBase(this);this._state=a};Sys.HistoryEventArgs.prototype={get_state:function(){return this._state}};Sys.HistoryEventArgs.registerClass("Sys.HistoryEventArgs",Sys.EventArgs);Sys.Application._appLoadHandler=null;Sys.Application._beginRequestHandler=null;Sys.Application._clientId=null;Sys.Application._currentEntry="";Sys.Application._endRequestHandler=null;Sys.Application._history=null;Sys.Application._enableHistory=false;Sys.Application._historyFrame=null;Sys.Application._historyInitialized=false;Sys.Application._historyPointIsNew=false;Sys.Application._ignoreTimer=false;Sys.Application._initialState=null;Sys.Application._state={};Sys.Application._timerCookie=0;Sys.Application._timerHandler=null;Sys.Application._uniqueId=null;Sys._Application.prototype.get_stateString=function(){var a=null;if(Sys.Browser.agent===Sys.Browser.Firefox){var c=window.location.href,b=c.indexOf("#");if(b!==-1)a=c.substring(b+1);else a="";return a}else a=window.location.hash;if(a.length>0&&a.charAt(0)==="#")a=a.substring(1);return a};Sys._Application.prototype.get_enableHistory=function(){return this._enableHistory};Sys._Application.prototype.set_enableHistory=function(a){this._enableHistory=a};Sys._Application.prototype.add_navigate=function(a){this.get_events().addHandler("navigate",a)};Sys._Application.prototype.remove_navigate=function(a){this.get_events().removeHandler("navigate",a)};Sys._Application.prototype.addHistoryPoint=function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()};Sys._Application.prototype.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};Sys._Application.prototype.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};Sys._Application.prototype._deserializeState=function(a){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+2<a.length){e.__s=a.substr(b+2);a=a.substr(0,b)}var g=a.split("&");for(var f=0,j=g.length;f<j;f++){var d=g[f],c=d.indexOf("=");if(c!==-1&&c+1<d.length){var i=d.substr(0,c),h=d.substr(c+1);e[i]=decodeURIComponent(h)}}return e};Sys._Application.prototype._enableHistoryInScriptManager=function(){this._enableHistory=true};Sys._Application.prototype._ensureHistory=function(){if(!this._historyInitialized&&this._enableHistory){if(Sys.Browser.agent===Sys.Browser.InternetExplorer&&(!document.documentMode||document.documentMode<8)){this._historyFrame=document.getElementById("__historyFrame");this._ignoreIFrame=true}this._timerHandler=Function.createDelegate(this,this._onIdle);this._timerCookie=window.setTimeout(this._timerHandler,100);try{this._initialState=this._deserializeState(this.get_stateString())}catch(a){}this._historyInitialized=true}};Sys._Application.prototype._navigate=function(c){this._ensureHistory();var b=this._deserializeState(c);if(this._uniqueId){var d=this._state.__s||"",a=b.__s||"";if(a!==d){this._updateHiddenField(a);__doPostBack(this._uniqueId,a);this._state=b;return}}this._setState(c);this._state=b;this._raiseNavigate()};Sys._Application.prototype._onIdle=function(){delete this._timerCookie;var a=this.get_stateString();if(a!==this._currentEntry){if(!this._ignoreTimer){this._historyPointIsNew=false;this._navigate(a)}}else this._ignoreTimer=false;this._timerCookie=window.setTimeout(this._timerHandler,100)};Sys._Application.prototype._onIFrameLoad=function(a){if(!document.documentMode||document.documentMode<8){this._ensureHistory();if(!this._ignoreIFrame){this._historyPointIsNew=false;this._navigate(a)}this._ignoreIFrame=false}};Sys._Application.prototype._onPageRequestManagerBeginRequest=function(){this._ignoreTimer=true;this._originalTitle=document.title};Sys._Application.prototype._onPageRequestManagerEndRequest=function(g,f){var d=f.get_dataItems()[this._clientId],c=this._originalTitle;this._originalTitle=null;var b=document.getElementById("__EVENTTARGET");if(b&&b.value===this._uniqueId)b.value="";if(typeof d!=="undefined"){this.setServerState(d);this._historyPointIsNew=true}else this._ignoreTimer=false;var a=this._serializeState(this._state);if(a!==this._currentEntry){this._ignoreTimer=true;if(typeof c==="string"){if(Sys.Browser.agent!==Sys.Browser.InternetExplorer||Sys.Browser.version>7){var e=document.title;document.title=c;this._setState(a);document.title=e}else this._setState(a);this._raiseNavigate()}else{this._setState(a);this._raiseNavigate()}}};Sys._Application.prototype._raiseNavigate=function(){var d=this._historyPointIsNew,c=this.get_events().getHandler("navigate"),b={};for(var a in this._state)if(a!=="__s")b[a]=this._state[a];var e=new Sys.HistoryEventArgs(b);if(c)c(this,e);if(!d){var f;try{if(Sys.Browser.agent===Sys.Browser.Firefox&&window.location.hash&&(!window.frameElement||window.top.location.hash))Sys.Browser.version<3.5?window.history.go(0):(location.hash=this.get_stateString())}catch(g){}}};Sys._Application.prototype._serializeState=function(d){var b=[];for(var a in d){var e=d[a];if(a==="__s")var c=e;else b[b.length]=a+"="+encodeURIComponent(e)}return b.join("&")+(c?"&&"+c:"")};Sys._Application.prototype._setState=function(a,b){if(this._enableHistory){a=a||"";if(a!==this._currentEntry){if(window.theForm){var d=window.theForm.action,e=d.indexOf("#");window.theForm.action=(e!==-1?d.substring(0,e):d)+"#"+a}if(this._historyFrame&&this._historyPointIsNew){var f=document.createElement("div");f.appendChild(document.createTextNode(b||document.title));var g=f.innerHTML;this._ignoreIFrame=true;var c=this._historyFrame.contentWindow.document;c.open("javascript:'<html></html>'");c.write("<html><head><title>"+g+"</title><scri"+'pt type="text/javascript">parent.Sys.Application._onIFrameLoad('+Sys.Serialization.JavaScriptSerializer.serialize(a)+");</scri"+"pt></head><body></body></html>");c.close()}this._ignoreTimer=false;this._currentEntry=a;if(this._historyFrame||this._historyPointIsNew){var h=this.get_stateString();if(a!==h){window.location.hash=a;this._currentEntry=this.get_stateString();if(typeof b!=="undefined"&&b!==null)document.title=b}}this._historyPointIsNew=false}}};Sys._Application.prototype._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};1//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxNetwork.js
Type._registerScript("MicrosoftAjaxNetwork.js",["MicrosoftAjaxSerialization.js"]);if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a<c;a++)try{return new ActiveXObject(b[a])}catch(d){}return null};Type.registerNamespace("Sys.Net");Sys.Net.WebRequestExecutor=function(){this._webRequest=null;this._resultObject=null};Sys.Net.WebRequestExecutor.prototype={get_webRequest:function(){return this._webRequest},_set_webRequest:function(a){this._webRequest=a},get_started:function(){throw Error.notImplemented()},get_responseAvailable:function(){throw Error.notImplemented()},get_timedOut:function(){throw Error.notImplemented()},get_aborted:function(){throw Error.notImplemented()},get_responseData:function(){throw Error.notImplemented()},get_statusCode:function(){throw Error.notImplemented()},get_statusText:function(){throw Error.notImplemented()},get_xml:function(){throw Error.notImplemented()},get_object:function(){if(!this._resultObject)this._resultObject=Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData());return this._resultObject},executeRequest:function(){throw Error.notImplemented()},abort:function(){throw Error.notImplemented()},getResponseHeader:function(){throw Error.notImplemented()},getAllResponseHeaders:function(){throw Error.notImplemented()}};Sys.Net.WebRequestExecutor.registerClass("Sys.Net.WebRequestExecutor");Sys.Net.XMLDOM=function(d){if(!window.DOMParser){var c=["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"];for(var b=0,f=c.length;b<f;b++)try{var a=new ActiveXObject(c[b]);a.async=false;a.loadXML(d);a.setProperty("SelectionLanguage","XPath");return a}catch(g){}}else try{var e=new window.DOMParser;return e.parseFromString(d,"text/xml")}catch(g){}return null};Sys.Net.XMLHttpExecutor=function(){Sys.Net.XMLHttpExecutor.initializeBase(this);var a=this;this._xmlHttpRequest=null;this._webRequest=null;this._responseAvailable=false;this._timedOut=false;this._timer=null;this._aborted=false;this._started=false;this._onReadyStateChange=function(){if(a._xmlHttpRequest.readyState===4){try{if(typeof a._xmlHttpRequest.status==="undefined"||a._xmlHttpRequest.status===0)return}catch(b){return}a._clearTimer();a._responseAvailable=true;try{a._webRequest.completed(Sys.EventArgs.Empty)}finally{if(a._xmlHttpRequest!=null){a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest=null}}}};this._clearTimer=function(){if(a._timer!=null){window.clearTimeout(a._timer);a._timer=null}};this._onTimeout=function(){if(!a._responseAvailable){a._clearTimer();a._timedOut=true;a._xmlHttpRequest.onreadystatechange=Function.emptyMethod;a._xmlHttpRequest.abort();a._webRequest.completed(Sys.EventArgs.Empty);a._xmlHttpRequest=null}}};Sys.Net.XMLHttpExecutor.prototype={get_timedOut:function(){return this._timedOut},get_started:function(){return this._started},get_responseAvailable:function(){return this._responseAvailable},get_aborted:function(){return this._aborted},executeRequest:function(){this._webRequest=this.get_webRequest();var c=this._webRequest.get_body(),a=this._webRequest.get_headers();this._xmlHttpRequest=new XMLHttpRequest;this._xmlHttpRequest.onreadystatechange=this._onReadyStateChange;var e=this._webRequest.get_httpVerb();this._xmlHttpRequest.open(e,this._webRequest.getResolvedUrl(),true);this._xmlHttpRequest.setRequestHeader("X-Requested-With","XMLHttpRequest");if(a)for(var b in a){var f=a[b];if(typeof f!=="function")this._xmlHttpRequest.setRequestHeader(b,f)}if(e.toLowerCase()==="post"){if(a===null||!a["Content-Type"])this._xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=utf-8");if(!c)c=""}var d=this._webRequest.get_timeout();if(d>0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1&&typeof a.setProperty!="undefined")a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(c,b,f){b=b||encodeURIComponent;var h=0,e,g,d,a=new Sys.StringBuilder;if(c)for(d in c){e=c[d];if(typeof e==="function")continue;g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(h++)a.append("&");a.append(d);a.append("=");a.append(b(g))}if(f){if(h)a.append("&");a.append(f)}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b,c){if(!b&&!c)return a;var d=Sys.Net.WebRequest._createQueryString(b,null,c);return d.length?a+(a&&a.indexOf("?")>=0?"&":"?")+d:a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){if(this._ensureReadyStateLoaded())this._executeInternal()},_executeInternal:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_ensureReadyStateLoaded:function(){if(this._useReadyState()&&this._scriptElement.readyState!=="loaded"&&this._scriptElement.readyState!=="complete"){this._scriptDownloadDelegate=Function.createDelegate(this,this._executeInternal);$addHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);return false}return true},_addScriptElementHandlers:function(){if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(this._useReadyState())$addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);else $addHandler(this._scriptElement,"load",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}if(this._useReadyState()&&this._scriptLoadDelegate)$removeHandler(a,"readystatechange",this._scriptLoadDelegate);else $removeHandler(a,"load",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(this._useReadyState()&&a.readyState!=="complete")return;this._completedCallback(a,true)},_useReadyState:function(){return Sys.Browser.agent===Sys.Browser.InternetExplorer&&(Sys.Browser.version<9||(document.documentMode||0)<9)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys._ScriptLoaderTask._clearScript=function(a){if(!Sys.Debug.isDebug&&a.parentNode)a.parentNode.removeChild(a)};P//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxSerialization.js
Type._registerScript("MicrosoftAjaxSerialization.js",["MicrosoftAjaxCore.js"]);Type.registerNamespace("Sys.Serialization");Sys.Serialization.JavaScriptSerializer=function(){};Sys.Serialization.JavaScriptSerializer.registerClass("Sys.Serialization.JavaScriptSerializer");Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs=[];Sys.Serialization.JavaScriptSerializer._charsToEscape=[];Sys.Serialization.JavaScriptSerializer._dateRegEx=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars={};Sys.Serialization.JavaScriptSerializer._escapeRegEx=new RegExp('["\\\\\\x00-\\x1F]',"i");Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal=new RegExp('["\\\\\\x00-\\x1F]',"g");Sys.Serialization.JavaScriptSerializer._jsonRegEx=new RegExp("[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]","g");Sys.Serialization.JavaScriptSerializer._jsonStringRegEx=new RegExp('"(\\\\.|[^"\\\\])*"',"g");Sys.Serialization.JavaScriptSerializer._serverTypeFieldName="__type";Sys.Serialization.JavaScriptSerializer._init=function(){var c=["\\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]="\\";Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs["\\"]=new RegExp("\\\\","g");Sys.Serialization.JavaScriptSerializer._escapeChars["\\"]="\\\\";Sys.Serialization.JavaScriptSerializer._charsToEscape[1]='"';Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"']=new RegExp('"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars['"']='\\"';for(var a=0;a<32;a++){var b=String.fromCharCode(a);Sys.Serialization.JavaScriptSerializer._charsToEscape[a+2]=b;Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b]=new RegExp(b,"g");Sys.Serialization.JavaScriptSerializer._escapeChars[b]=c[a]}};Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function(b,a){a.append(b.toString())};Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function(a,b){if(isFinite(a))b.append(String(a));else throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers)};Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function(a,c){c.append('"');if(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(a)){if(Sys.Serialization.JavaScriptSerializer._charsToEscape.length===0)Sys.Serialization.JavaScriptSerializer._init();if(a.length<128)a=a.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,function(a){return Sys.Serialization.JavaScriptSerializer._escapeChars[a]});else for(var d=0;d<34;d++){var b=Sys.Serialization.JavaScriptSerializer._charsToEscape[d];if(a.indexOf(b)!==-1)if(Sys.Browser.agent===Sys.Browser.Opera||Sys.Browser.agent===Sys.Browser.FireFox)a=a.split(b).join(Sys.Serialization.JavaScriptSerializer._escapeChars[b]);else a=a.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b],Sys.Serialization.JavaScriptSerializer._escapeChars[b])}}c.append(a);c.append('"')};Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function(b,a,i,g){var c;switch(typeof b){case "object":if(b)if(Number.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);else if(Boolean.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);else if(String.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);else if(Array.isInstanceOfType(b)){a.append("[");for(c=0;c<b.length;++c){if(c>0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c<f;c++){var h=b[d[c]];if(typeof h!=="undefined"&&typeof h!=="function"){if(j)a.append(",");else j=true;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(d[c],a,i,g);a.append(":");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(h,a,i,g)}}a.append("}")}else a.append("null");break;case "number":Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);break;case "string":Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);break;case "boolean":Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);break;default:a.append("null")}};Sys.Serialization.JavaScriptSerializer.serialize=function(b){var a=new Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b,a,false);return a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=function(data,secure){if(data.length===0)throw Error.argument("data",Sys.Res.cannotDeserializeEmptyString);try{var exp=data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx,"$1new Date($2)");if(secure&&Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx,"")))throw null;return eval("("+exp+")")}catch(a){throw Error.argument("data",Sys.Res.cannotDeserializeInvalidJson)}};	//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxTimer.js
Type._registerScript("Timer.js",["MicrosoftAjaxComponentModel.js"]);Sys.UI._Timer=function(a){Sys.UI._Timer.initializeBase(this,[a]);this._interval=60000;this._enabled=true;this._postbackPending=false;this._raiseTickDelegate=null;this._endRequestHandlerDelegate=null;this._timer=null;this._pageRequestManager=null;this._uniqueID=null};Sys.UI._Timer.prototype={get_enabled:function(){return this._enabled},set_enabled:function(a){this._enabled=a},get_interval:function(){return this._interval},set_interval:function(a){this._interval=a},get_uniqueID:function(){return this._uniqueID},set_uniqueID:function(a){this._uniqueID=a},dispose:function(){this._stopTimer();if(this._pageRequestManager!==null)this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);Sys.UI._Timer.callBaseMethod(this,"dispose")},_doPostback:function(){__doPostBack(this.get_uniqueID(),"")},_handleEndRequest:function(c,b){var a=b.get_dataItems()[this.get_id()];if(a)this._update(a[0],a[1]);if(this._postbackPending===true&&this._pageRequestManager!==null&&this._pageRequestManager.get_isInAsyncPostBack()===false){this._postbackPending=false;this._doPostback()}},initialize:function(){Sys.UI._Timer.callBaseMethod(this,"initialize");this._raiseTickDelegate=Function.createDelegate(this,this._raiseTick);this._endRequestHandlerDelegate=Function.createDelegate(this,this._handleEndRequest);if(Sys.WebForms&&Sys.WebForms.PageRequestManager)this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();if(this._pageRequestManager!==null)this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);if(this.get_enabled())this._startTimer()},_raiseTick:function(){this._startTimer();if(this._pageRequestManager===null||!this._pageRequestManager.get_isInAsyncPostBack()){this._doPostback();this._postbackPending=false}else this._postbackPending=true},_startTimer:function(){this._timer=window.setTimeout(Function.createDelegate(this,this._raiseTick),this.get_interval())},_stopTimer:function(){if(this._timer!==null){window.clearTimeout(this._timer);this._timer=null}},_update:function(c,b){var a=!this.get_enabled(),d=this.get_interval()!==b;if(!a&&(!c||d)){this._stopTimer();a=true}this.set_enabled(c);this.set_interval(b);if(this.get_enabled()&&a)this._startTimer()}};Sys.UI._Timer.registerClass("Sys.UI._Timer",Sys.UI.Control);0//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxWebForms.js
Type._registerScript("MicrosoftAjaxWebForms.js",["MicrosoftAjaxCore.js","MicrosoftAjaxSerialization.js","MicrosoftAjaxNetwork.js","MicrosoftAjaxComponentModel.js"]);Type.registerNamespace("Sys.WebForms");Sys.WebForms.BeginRequestEventArgs=function(c,b,a){Sys.WebForms.BeginRequestEventArgs.initializeBase(this);this._request=c;this._postBackElement=b;this._updatePanelsToUpdate=a};Sys.WebForms.BeginRequestEventArgs.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request},get_updatePanelsToUpdate:function(){return this._updatePanelsToUpdate?Array.clone(this._updatePanelsToUpdate):[]}};Sys.WebForms.BeginRequestEventArgs.registerClass("Sys.WebForms.BeginRequestEventArgs",Sys.EventArgs);Sys.WebForms.EndRequestEventArgs=function(c,a,b){Sys.WebForms.EndRequestEventArgs.initializeBase(this);this._errorHandled=false;this._error=c;this._dataItems=a||{};this._response=b};Sys.WebForms.EndRequestEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_error:function(){return this._error},get_errorHandled:function(){return this._errorHandled},set_errorHandled:function(a){this._errorHandled=a},get_response:function(){return this._response}};Sys.WebForms.EndRequestEventArgs.registerClass("Sys.WebForms.EndRequestEventArgs",Sys.EventArgs);Sys.WebForms.InitializeRequestEventArgs=function(c,b,a){Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);this._request=c;this._postBackElement=b;this._updatePanelsToUpdate=a};Sys.WebForms.InitializeRequestEventArgs.prototype={get_postBackElement:function(){return this._postBackElement},get_request:function(){return this._request},get_updatePanelsToUpdate:function(){return this._updatePanelsToUpdate?Array.clone(this._updatePanelsToUpdate):[]},set_updatePanelsToUpdate:function(a){this._updated=true;this._updatePanelsToUpdate=a}};Sys.WebForms.InitializeRequestEventArgs.registerClass("Sys.WebForms.InitializeRequestEventArgs",Sys.CancelEventArgs);Sys.WebForms.PageLoadedEventArgs=function(b,a,c){Sys.WebForms.PageLoadedEventArgs.initializeBase(this);this._panelsUpdated=b;this._panelsCreated=a;this._dataItems=c||{}};Sys.WebForms.PageLoadedEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_panelsCreated:function(){return this._panelsCreated},get_panelsUpdated:function(){return this._panelsUpdated}};Sys.WebForms.PageLoadedEventArgs.registerClass("Sys.WebForms.PageLoadedEventArgs",Sys.EventArgs);Sys.WebForms.PageLoadingEventArgs=function(b,a,c){Sys.WebForms.PageLoadingEventArgs.initializeBase(this);this._panelsUpdating=b;this._panelsDeleting=a;this._dataItems=c||{}};Sys.WebForms.PageLoadingEventArgs.prototype={get_dataItems:function(){return this._dataItems},get_panelsDeleting:function(){return this._panelsDeleting},get_panelsUpdating:function(){return this._panelsUpdating}};Sys.WebForms.PageLoadingEventArgs.registerClass("Sys.WebForms.PageLoadingEventArgs",Sys.EventArgs);Sys._ScriptLoader=function(){this._scriptsToLoad=null;this._sessions=[];this._scriptLoadedDelegate=Function.createDelegate(this,this._scriptLoadedHandler)};Sys._ScriptLoader.prototype={dispose:function(){this._stopSession();this._loading=false;if(this._events)delete this._events;this._sessions=null;this._currentSession=null;this._scriptLoadedDelegate=null},loadScripts:function(d,b,c,a){var e={allScriptsLoadedCallback:b,scriptLoadFailedCallback:c,scriptLoadTimeoutCallback:a,scriptsToLoad:this._scriptsToLoad,scriptTimeout:d};this._scriptsToLoad=null;this._sessions[this._sessions.length]=e;if(!this._loading)this._nextSession()},queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{text:a})},queueScriptReference:function(a,b){if(!this._scriptsToLoad)this._scriptsToLoad=[];Array.add(this._scriptsToLoad,{src:a,fallback:b})},_createScriptElement:function(c){var a=document.createElement("script");a.type="text/javascript";for(var b in c)a[b]=c[b];return a},_loadScriptsInternal:function(){var c=this._currentSession;if(c.scriptsToLoad&&c.scriptsToLoad.length>0){var b=Array.dequeue(c.scriptsToLoad),f=this._scriptLoadedDelegate;if(b.fallback){var g=b.fallback;delete b.fallback;var d=this;f=function(b,a){a||function(){var a=d._createScriptElement({src:g});d._currentTask=new Sys._ScriptLoaderTask(a,d._scriptLoadedDelegate);d._currentTask.execute()}()}}var a=this._createScriptElement(b);if(a.text&&Sys.Browser.agent===Sys.Browser.Safari){a.innerHTML=a.text;delete a.text}if(typeof b.src==="string"){this._currentTask=new Sys._ScriptLoaderTask(a,f);this._currentTask.execute()}else{document.getElementsByTagName("head")[0].appendChild(a);Sys._ScriptLoaderTask._clearScript(a);this._loadScriptsInternal()}}else{this._stopSession();var e=c.allScriptsLoadedCallback;if(e)e(this);this._nextSession()}},_nextSession:function(){if(this._sessions.length===0){this._loading=false;this._currentSession=null;return}this._loading=true;var a=Array.dequeue(this._sessions);this._currentSession=a;if(a.scriptTimeout>0)this._timeoutCookie=window.setTimeout(Function.createDelegate(this,this._scriptLoadTimeoutHandler),a.scriptTimeout*1000);this._loadScriptsInternal()},_raiseError:function(){var b=this._currentSession.scriptLoadFailedCallback,a=this._currentTask.get_scriptElement();this._stopSession();if(b){b(this,a);this._nextSession()}else{this._loading=false;throw Sys._ScriptLoader._errorScriptLoadFailed(a.src)}},_scriptLoadedHandler:function(a,b){if(b){Array.add(Sys._ScriptLoader._getLoadedScripts(),a.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal()}else this._raiseError()},_scriptLoadTimeoutHandler:function(){var a=this._currentSession.scriptLoadTimeoutCallback;this._stopSession();if(a)a(this);this._nextSession()},_stopSession:function(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null}if(this._currentTask){this._currentTask.dispose();this._currentTask=null}}};Sys._ScriptLoader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};Sys._ScriptLoader.isScriptLoaded=function(b){var a=document.createElement("script");a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptLoader.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){var c=Sys._ScriptLoader._referencedScripts=[],d=document.getElementsByTagName("script");for(var b=d.length-1;b>=0;b--){var e=d[b],a=e.src;if(a.length)if(!Array.contains(c,a))Array.add(c,a)}}};Sys._ScriptLoader._errorScriptLoadFailed=function(b){var a;a=Sys.Res.scriptLoadFailed;var d="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(d,{name:"Sys.ScriptLoadFailedException","scriptUrl":b});c.popStackFrame();return c};Sys._ScriptLoader._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};Sys.WebForms.PageRequestManager=function(){this._form=null;this._activeDefaultButton=null;this._activeDefaultButtonClicked=false;this._updatePanelIDs=null;this._updatePanelClientIDs=null;this._updatePanelHasChildrenAsTriggers=null;this._asyncPostBackControlIDs=null;this._asyncPostBackControlClientIDs=null;this._postBackControlIDs=null;this._postBackControlClientIDs=null;this._scriptManagerID=null;this._pageLoadedHandler=null;this._additionalInput=null;this._onsubmit=null;this._onSubmitStatements=[];this._originalDoPostBack=null;this._originalDoPostBackWithOptions=null;this._originalFireDefaultButton=null;this._originalDoCallback=null;this._isCrossPost=false;this._postBackSettings=null;this._request=null;this._onFormSubmitHandler=null;this._onFormElementClickHandler=null;this._onWindowUnloadHandler=null;this._asyncPostBackTimeout=null;this._controlIDToFocus=null;this._scrollPosition=null;this._processingRequest=false;this._scriptDisposes={};this._transientFields=["__VIEWSTATEENCRYPTED","__VIEWSTATEFIELDCOUNT"];this._textTypes=/^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i};Sys.WebForms.PageRequestManager.prototype={_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_isInAsyncPostBack:function(){return this._request!==null},add_beginRequest:function(a){this._get_eventHandlerList().addHandler("beginRequest",a)},remove_beginRequest:function(a){this._get_eventHandlerList().removeHandler("beginRequest",a)},add_endRequest:function(a){this._get_eventHandlerList().addHandler("endRequest",a)},remove_endRequest:function(a){this._get_eventHandlerList().removeHandler("endRequest",a)},add_initializeRequest:function(a){this._get_eventHandlerList().addHandler("initializeRequest",a)},remove_initializeRequest:function(a){this._get_eventHandlerList().removeHandler("initializeRequest",a)},add_pageLoaded:function(a){this._get_eventHandlerList().addHandler("pageLoaded",a)},remove_pageLoaded:function(a){this._get_eventHandlerList().removeHandler("pageLoaded",a)},add_pageLoading:function(a){this._get_eventHandlerList().addHandler("pageLoading",a)},remove_pageLoading:function(a){this._get_eventHandlerList().removeHandler("pageLoading",a)},abortPostBack:function(){if(!this._processingRequest&&this._request){this._request.get_executor().abort();this._request=null}},beginAsyncPostBack:function(c,a,f,d,e){if(d&&typeof Page_ClientValidate==="function"&&!Page_ClientValidate(e||null))return;this._postBackSettings=this._createPostBackSettings(true,c,a);var b=this._form;b.__EVENTTARGET.value=a||"";b.__EVENTARGUMENT.value=f||"";this._isCrossPost=false;this._additionalInput=null;this._onFormSubmit()},_cancelPendingCallbacks:function(){for(var a=0,e=window.__pendingCallbacks.length;a<e;a++){var c=window.__pendingCallbacks[a];if(c){if(!c.async)window.__synchronousCallBackIndex=-1;window.__pendingCallbacks[a]=null;var d="__CALLBACKFRAME"+a,b=document.getElementById(d);if(b)b.parentNode.removeChild(b)}}},_commitControls:function(a,b){if(a){this._updatePanelIDs=a.updatePanelIDs;this._updatePanelClientIDs=a.updatePanelClientIDs;this._updatePanelHasChildrenAsTriggers=a.updatePanelHasChildrenAsTriggers;this._asyncPostBackControlIDs=a.asyncPostBackControlIDs;this._asyncPostBackControlClientIDs=a.asyncPostBackControlClientIDs;this._postBackControlIDs=a.postBackControlIDs;this._postBackControlClientIDs=a.postBackControlClientIDs}if(typeof b!=="undefined"&&b!==null)this._asyncPostBackTimeout=b*1000},_createHiddenField:function(c,d){var b,a=document.getElementById(c);if(a)if(!a._isContained)a.parentNode.removeChild(a);else b=a.parentNode;if(!b){b=document.createElement("span");b.style.cssText="display:none !important";this._form.appendChild(b)}b.innerHTML="<input type='hidden' />";a=b.childNodes[0];a._isContained=true;a.id=a.name=c;a.value=d},_createPageRequestManagerTimeoutError:function(){var b="Sys.WebForms.PageRequestManagerTimeoutException: "+Sys.WebForms.Res.PRM_TimeoutError,a=Error.create(b,{name:"Sys.WebForms.PageRequestManagerTimeoutException"});a.popStackFrame();return a},_createPageRequestManagerServerError:function(a,d){var c="Sys.WebForms.PageRequestManagerServerErrorException: "+(d||String.format(Sys.WebForms.Res.PRM_ServerError,a)),b=Error.create(c,{name:"Sys.WebForms.PageRequestManagerServerErrorException",httpStatusCode:a});b.popStackFrame();return b},_createPageRequestManagerParserError:function(b){var c="Sys.WebForms.PageRequestManagerParserErrorException: "+String.format(Sys.WebForms.Res.PRM_ParserError,b),a=Error.create(c,{name:"Sys.WebForms.PageRequestManagerParserErrorException"});a.popStackFrame();return a},_createPanelID:function(e,b){var c=b.asyncTarget,a=this._ensureUniqueIds(e||b.panelsToUpdate),d=a instanceof Array?a.join(","):a||this._scriptManagerID;if(c)d+="|"+c;return encodeURIComponent(this._scriptManagerID)+"="+encodeURIComponent(d)+"&"},_createPostBackSettings:function(d,a,c,b){return {async:d,asyncTarget:c,panelsToUpdate:a,sourceElement:b}},_convertToClientIDs:function(a,f,e,d){if(a)for(var b=0,h=a.length;b<h;b+=d?2:1){var c=a[b],g=(d?a[b+1]:"")||this._uniqueIDToClientID(c);Array.add(f,c);Array.add(e,g)}},dispose:function(){if(this._form){Sys.UI.DomEvent.removeHandler(this._form,"submit",this._onFormSubmitHandler);Sys.UI.DomEvent.removeHandler(this._form,"click",this._onFormElementClickHandler);Sys.UI.DomEvent.removeHandler(window,"unload",this._onWindowUnloadHandler);Sys.UI.DomEvent.removeHandler(window,"load",this._pageLoadedHandler)}if(this._originalDoPostBack){window.__doPostBack=this._originalDoPostBack;this._originalDoPostBack=null}if(this._originalDoPostBackWithOptions){window.WebForm_DoPostBackWithOptions=this._originalDoPostBackWithOptions;this._originalDoPostBackWithOptions=null}if(this._originalFireDefaultButton){window.WebForm_FireDefaultButton=this._originalFireDefaultButton;this._originalFireDefaultButton=null}if(this._originalDoCallback){window.WebForm_DoCallback=this._originalDoCallback;this._originalDoCallback=null}this._form=null;this._updatePanelIDs=null;this._updatePanelClientIDs=null;this._asyncPostBackControlIDs=null;this._asyncPostBackControlClientIDs=null;this._postBackControlIDs=null;this._postBackControlClientIDs=null;this._asyncPostBackTimeout=null;this._scrollPosition=null;this._activeElement=null},_doCallback:function(d,b,c,f,a,e){if(!this.get_isInAsyncPostBack())this._originalDoCallback(d,b,c,f,a,e)},_doPostBack:function(a,k){var f=window.event;if(!f){var d=arguments.callee?arguments.callee.caller:null;if(d){var j=30;while(d.arguments.callee.caller&&--j)d=d.arguments.callee.caller;f=j&&d.arguments.length?d.arguments[0]:null}}this._additionalInput=null;var h=this._form;if(a===null||typeof a==="undefined"||this._isCrossPost){this._postBackSettings=this._createPostBackSettings(false);this._isCrossPost=false}else{var c=this._masterPageUniqueID,l=this._uniqueIDToClientID(a),g=document.getElementById(l);if(!g&&c)if(a.indexOf(c+"$")===0)g=document.getElementById(l.substr(c.length+1));if(!g)if(Array.contains(this._asyncPostBackControlIDs,a))this._postBackSettings=this._createPostBackSettings(true,null,a);else if(Array.contains(this._postBackControlIDs,a))this._postBackSettings=this._createPostBackSettings(false);else{var e=this._findNearestElement(a);if(e)this._postBackSettings=this._getPostBackSettings(e,a);else{if(c){c+="$";if(a.indexOf(c)===0)e=this._findNearestElement(a.substr(c.length))}if(e)this._postBackSettings=this._getPostBackSettings(e,a);else{var b;try{b=f?f.target||f.srcElement:null}catch(n){}b=b||this._activeElement;var m=/__doPostBack\(|WebForm_DoPostBackWithOptions\(/;function i(b){b=b?b.toString():"";return m.test(b)&&b.indexOf("'"+a+"'")!==-1||b.indexOf('"'+a+'"')!==-1}if(b&&(b.name===a||i(b.href)||i(b.onclick)||i(b.onchange)))this._postBackSettings=this._getPostBackSettings(b,a);else this._postBackSettings=this._createPostBackSettings(false)}}}else this._postBackSettings=this._getPostBackSettings(g,a)}if(!this._postBackSettings.async){h.onsubmit=this._onsubmit;this._originalDoPostBack(a,k);h.onsubmit=null;return}h.__EVENTTARGET.value=a;h.__EVENTARGUMENT.value=k;this._onFormSubmit()},_doPostBackWithOptions:function(a){this._isCrossPost=a&&a.actionUrl;var d=true;if(a.validation)if(typeof Page_ClientValidate=="function")d=Page_ClientValidate(a.validationGroup);if(d){if(typeof a.actionUrl!="undefined"&&a.actionUrl!=null&&a.actionUrl.length>0)theForm.action=a.actionUrl;if(a.trackFocus){var c=theForm.elements["__LASTFOCUS"];if(typeof c!="undefined"&&c!=null)if(typeof document.activeElement=="undefined")c.value=a.eventTarget;else{var b=document.activeElement;if(typeof b!="undefined"&&b!=null)if(typeof b.id!="undefined"&&b.id!=null&&b.id.length>0)c.value=b.id;else if(typeof b.name!="undefined")c.value=b.name}}}if(a.clientSubmit)this._doPostBack(a.eventTarget,a.eventArgument)},_elementContains:function(b,a){while(a){if(a===b)return true;a=a.parentNode}return false},_endPostBack:function(a,d,f){if(this._request===d.get_webRequest()){this._processingRequest=false;this._additionalInput=null;this._request=null}var e=this._get_eventHandlerList().getHandler("endRequest"),b=false;if(e){var c=new Sys.WebForms.EndRequestEventArgs(a,f?f.dataItems:{},d);e(this,c);b=c.get_errorHandled()}if(a&&!b)throw a},_ensureUniqueIds:function(a){if(!a)return a;a=a instanceof Array?a:[a];var c=[];for(var b=0,f=a.length;b<f;b++){var e=a[b],d=Array.indexOf(this._updatePanelClientIDs,e);c.push(d>-1?this._updatePanelIDs[d]:e)}return c},_findNearestElement:function(a){while(a.length>0){var d=this._uniqueIDToClientID(a),c=document.getElementById(d);if(c)return c;var b=a.lastIndexOf("$");if(b===-1)return null;a=a.substring(0,b)}return null},_findText:function(b,a){var c=Math.max(0,a-20),d=Math.min(b.length,a+20);return b.substring(c,d)},_fireDefaultButton:function(a,d){if(a.keyCode===13){var c=a.srcElement||a.target;if(!c||c.tagName.toLowerCase()!=="textarea"){var b=document.getElementById(d);if(b&&typeof b.click!=="undefined"){this._activeDefaultButton=b;this._activeDefaultButtonClicked=false;try{b.click()}finally{this._activeDefaultButton=null}a.cancelBubble=true;if(typeof a.stopPropagation==="function")a.stopPropagation();return false}}}return true},_getPageLoadedEventArgs:function(n,c){var m=[],l=[],k=c?c.version4:false,d=c?c.updatePanelData:null,e,g,h,b;if(!d){e=this._updatePanelIDs;g=this._updatePanelClientIDs;h=null;b=null}else{e=d.updatePanelIDs;g=d.updatePanelClientIDs;h=d.childUpdatePanelIDs;b=d.panelsToRefreshIDs}var a,f,j,i;if(b)for(a=0,f=b.length;a<f;a+=k?2:1){j=b[a];i=(k?b[a+1]:"")||this._uniqueIDToClientID(j);Array.add(m,document.getElementById(i))}for(a=0,f=e.length;a<f;a++)if(n||Array.indexOf(h,e[a])!==-1)Array.add(l,document.getElementById(g[a]));return new Sys.WebForms.PageLoadedEventArgs(m,l,c?c.dataItems:{})},_getPageLoadingEventArgs:function(f){var j=[],i=[],c=f.updatePanelData,k=c.oldUpdatePanelIDs,l=c.oldUpdatePanelClientIDs,n=c.updatePanelIDs,m=c.childUpdatePanelIDs,d=c.panelsToRefreshIDs,a,e,b,g,h=f.version4;for(a=0,e=d.length;a<e;a+=h?2:1){b=d[a];g=(h?d[a+1]:"")||this._uniqueIDToClientID(b);Array.add(j,document.getElementById(g))}for(a=0,e=k.length;a<e;a++){b=k[a];if(Array.indexOf(d,b)===-1&&(Array.indexOf(n,b)===-1||Array.indexOf(m,b)>-1))Array.add(i,document.getElementById(l[a]))}return new Sys.WebForms.PageLoadingEventArgs(j,i,f.dataItems)},_getPostBackSettings:function(a,c){var d=a,b=null;while(a){if(a.id){if(!b&&Array.contains(this._asyncPostBackControlClientIDs,a.id))b=this._createPostBackSettings(true,null,c,d);else if(!b&&Array.contains(this._postBackControlClientIDs,a.id))return this._createPostBackSettings(false);else{var e=Array.indexOf(this._updatePanelClientIDs,a.id);if(e!==-1)if(this._updatePanelHasChildrenAsTriggers[e])return this._createPostBackSettings(true,[this._updatePanelIDs[e]],c,d);else return this._createPostBackSettings(true,null,c,d)}if(!b&&this._matchesParentIDInList(a.id,this._asyncPostBackControlClientIDs))b=this._createPostBackSettings(true,null,c,d);else if(!b&&this._matchesParentIDInList(a.id,this._postBackControlClientIDs))return this._createPostBackSettings(false)}a=a.parentNode}if(!b)return this._createPostBackSettings(false);else return b},_getScrollPosition:function(){var a=document.documentElement;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else{a=document.body;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else if(this._validPosition(window.pageXOffset)||this._validPosition(window.pageYOffset))return {x:window.pageXOffset,y:window.pageYOffset};else return {x:0,y:0}}},_initializeInternal:function(f,g,a,b,e,c,d){if(this._prmInitialized)throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);this._prmInitialized=true;this._masterPageUniqueID=d;this._scriptManagerID=f;this._form=Sys.UI.DomElement.resolveElement(g);this._onsubmit=this._form.onsubmit;this._form.onsubmit=null;this._onFormSubmitHandler=Function.createDelegate(this,this._onFormSubmit);this._onFormElementClickHandler=Function.createDelegate(this,this._onFormElementClick);this._onWindowUnloadHandler=Function.createDelegate(this,this._onWindowUnload);Sys.UI.DomEvent.addHandler(this._form,"submit",this._onFormSubmitHandler);Sys.UI.DomEvent.addHandler(this._form,"click",this._onFormElementClickHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._onWindowUnloadHandler);this._originalDoPostBack=window.__doPostBack;if(this._originalDoPostBack)window.__doPostBack=Function.createDelegate(this,this._doPostBack);this._originalDoPostBackWithOptions=window.WebForm_DoPostBackWithOptions;if(this._originalDoPostBackWithOptions)window.WebForm_DoPostBackWithOptions=Function.createDelegate(this,this._doPostBackWithOptions);this._originalFireDefaultButton=window.WebForm_FireDefaultButton;if(this._originalFireDefaultButton)window.WebForm_FireDefaultButton=Function.createDelegate(this,this._fireDefaultButton);this._originalDoCallback=window.WebForm_DoCallback;if(this._originalDoCallback)window.WebForm_DoCallback=Function.createDelegate(this,this._doCallback);this._pageLoadedHandler=Function.createDelegate(this,this._pageLoadedInitialLoad);Sys.UI.DomEvent.addHandler(window,"load",this._pageLoadedHandler);if(a)this._updateControls(a,b,e,c,true)},_matchesParentIDInList:function(c,b){for(var a=0,d=b.length;a<d;a++)if(c.startsWith(b[a]+"_"))return true;return false},_onFormElementActive:function(a,d,e){if(a.disabled)return;this._activeElement=a;this._postBackSettings=this._getPostBackSettings(a,a.name);if(a.name){var b=a.tagName.toUpperCase();if(b==="INPUT"){var c=a.type;if(c==="submit")this._additionalInput=encodeURIComponent(a.name)+"="+encodeURIComponent(a.value);else if(c==="image")this._additionalInput=encodeURIComponent(a.name)+".x="+d+"&"+encodeURIComponent(a.name)+".y="+e}else if(b==="BUTTON"&&a.name.length!==0&&a.type==="submit")this._additionalInput=encodeURIComponent(a.name)+"="+encodeURIComponent(a.value)}},_onFormElementClick:function(a){this._activeDefaultButtonClicked=a.target===this._activeDefaultButton;this._onFormElementActive(a.target,a.offsetX,a.offsetY)},_onFormSubmit:function(i){var f,x,h=true,z=this._isCrossPost;this._isCrossPost=false;if(this._onsubmit)h=this._onsubmit();if(h)for(f=0,x=this._onSubmitStatements.length;f<x;f++)if(!this._onSubmitStatements[f]()){h=false;break}if(!h){if(i)i.preventDefault();return}var w=this._form;if(z)return;if(this._activeDefaultButton&&!this._activeDefaultButtonClicked)this._onFormElementActive(this._activeDefaultButton,0,0);if(!this._postBackSettings||!this._postBackSettings.async)return;var b=new Sys.StringBuilder,s=w.elements,B=s.length,t=this._createPanelID(null,this._postBackSettings);b.append(t);for(f=0;f<B;f++){var e=s[f],g=e.name;if(typeof g==="undefined"||g===null||g.length===0||g===this._scriptManagerID)continue;var n=e.tagName.toUpperCase();if(n==="INPUT"){var p=e.type;if(this._textTypes.test(p)||(p==="checkbox"||p==="radio")&&e.checked){b.append(encodeURIComponent(g));b.append("=");b.append(encodeURIComponent(e.value));b.append("&")}}else if(n==="SELECT"){var A=e.options.length;for(var q=0;q<A;q++){var u=e.options[q];if(u.selected){b.append(encodeURIComponent(g));b.append("=");b.append(encodeURIComponent(u.value));b.append("&")}}}else if(n==="TEXTAREA"){b.append(encodeURIComponent(g));b.append("=");b.append(encodeURIComponent(e.value));b.append("&")}}b.append("__ASYNCPOST=true&");if(this._additionalInput){b.append(this._additionalInput);this._additionalInput=null}var c=new Sys.Net.WebRequest,a=w.action;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var r=a.indexOf("#");if(r!==-1)a=a.substr(0,r);var o="",v="",m=a.indexOf("?");if(m!==-1){v=a.substr(m);a=a.substr(0,m)}if(/^https?\:\/\/.*$/gi.test(a)){var y=a.indexOf("//")+2,l=a.indexOf("/",y);if(l===-1){o=a;a=""}else{o=a.substr(0,l);a=a.substr(l)}}a=o+encodeURI(decodeURI(a))+v}c.set_url(a);c.get_headers()["X-MicrosoftAjax"]="Delta=true";c.get_headers()["Cache-Control"]="no-cache";c.set_timeout(this._asyncPostBackTimeout);c.add_completed(Function.createDelegate(this,this._onFormSubmitCompleted));c.set_body(b.toString());var j,d,k=this._get_eventHandlerList().getHandler("initializeRequest");if(k){j=this._postBackSettings.panelsToUpdate;d=new Sys.WebForms.InitializeRequestEventArgs(c,this._postBackSettings.sourceElement,j);k(this,d);h=!d.get_cancel()}if(!h){if(i)i.preventDefault();return}if(d&&d._updated){j=d.get_updatePanelsToUpdate();c.set_body(c.get_body().replace(t,this._createPanelID(j,this._postBackSettings)))}this._scrollPosition=this._getScrollPosition();this.abortPostBack();k=this._get_eventHandlerList().getHandler("beginRequest");if(k){d=new Sys.WebForms.BeginRequestEventArgs(c,this._postBackSettings.sourceElement,j||this._postBackSettings.panelsToUpdate);k(this,d)}if(this._originalDoCallback)this._cancelPendingCallbacks();this._request=c;this._processingRequest=false;c.invoke();if(i)i.preventDefault()},_onFormSubmitCompleted:function(c){this._processingRequest=true;if(c.get_timedOut()){this._endPostBack(this._createPageRequestManagerTimeoutError(),c,null);return}if(c.get_aborted()){this._endPostBack(null,c,null);return}if(!this._request||c.get_webRequest()!==this._request)return;if(c.get_statusCode()!==200){this._endPostBack(this._createPageRequestManagerServerError(c.get_statusCode()),c,null);return}var a=this._parseDelta(c);if(!a)return;var b,e;if(a.asyncPostBackControlIDsNode&&a.postBackControlIDsNode&&a.updatePanelIDsNode&&a.panelsToRefreshNode&&a.childUpdatePanelIDsNode){var r=this._updatePanelIDs,n=this._updatePanelClientIDs,i=a.childUpdatePanelIDsNode.content,p=i.length?i.split(","):[],m=this._splitNodeIntoArray(a.asyncPostBackControlIDsNode),o=this._splitNodeIntoArray(a.postBackControlIDsNode),q=this._splitNodeIntoArray(a.updatePanelIDsNode),g=this._splitNodeIntoArray(a.panelsToRefreshNode),h=a.version4;for(b=0,e=g.length;b<e;b+=h?2:1){var j=(h?g[b+1]:"")||this._uniqueIDToClientID(g[b]);if(!document.getElementById(j)){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,j)),c,a);return}}var f=this._processUpdatePanelArrays(q,m,o,h);f.oldUpdatePanelIDs=r;f.oldUpdatePanelClientIDs=n;f.childUpdatePanelIDs=p;f.panelsToRefreshIDs=g;a.updatePanelData=f}a.dataItems={};var d;for(b=0,e=a.dataItemNodes.length;b<e;b++){d=a.dataItemNodes[b];a.dataItems[d.id]=d.content}for(b=0,e=a.dataItemJsonNodes.length;b<e;b++){d=a.dataItemJsonNodes[b];a.dataItems[d.id]=Sys.Serialization.JavaScriptSerializer.deserialize(d.content)}var l=this._get_eventHandlerList().getHandler("pageLoading");if(l)l(this,this._getPageLoadingEventArgs(a));Sys._ScriptLoader.readLoadedScripts();Sys.Application.beginCreateComponents();var k=Sys._ScriptLoader.getInstance();this._queueScripts(k,a.scriptBlockNodes,true,false);this._processingRequest=true;k.loadScripts(0,Function.createDelegate(this,Function.createCallback(this._scriptIncludesLoadComplete,a)),Function.createDelegate(this,Function.createCallback(this._scriptIncludesLoadFailed,a)),null)},_onWindowUnload:function(){this.dispose()},_pageLoaded:function(a,c){var b=this._get_eventHandlerList().getHandler("pageLoaded");if(b)b(this,this._getPageLoadedEventArgs(a,c));if(!a)Sys.Application.raiseLoad()},_pageLoadedInitialLoad:function(){this._pageLoaded(true,null)},_parseDelta:function(h){var c=h.get_responseData(),d,i,E,F,D,b=0,e=null,k=[];while(b<c.length){d=c.indexOf("|",b);if(d===-1){e=this._findText(c,b);break}i=parseInt(c.substring(b,d),10);if(i%1!==0){e=this._findText(c,b);break}b=d+1;d=c.indexOf("|",b);if(d===-1){e=this._findText(c,b);break}E=c.substring(b,d);b=d+1;d=c.indexOf("|",b);if(d===-1){e=this._findText(c,b);break}F=c.substring(b,d);b=d+1;if(b+i>=c.length){e=this._findText(c,c.length);break}D=c.substr(b,i);b+=i;if(c.charAt(b)!=="|"){e=this._findText(c,b);break}b++;Array.add(k,{type:E,id:F,content:D})}if(e){this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails,e)),h,null);return null}var x=[],w=[],q=[],j=[],t=[],C=[],A=[],z=[],v=[],s=[],m,p,u,n,o,r,y,g;for(var l=0,G=k.length;l<G;l++){var a=k[l];switch(a.type){case "#":g=a;break;case "updatePanel":Array.add(x,a);break;case "hiddenField":Array.add(w,a);break;case "arrayDeclaration":Array.add(q,a);break;case "scriptBlock":Array.add(j,a);break;case "fallbackScript":j[j.length-1].fallback=a.id;case "scriptStartupBlock":Array.add(t,a);break;case "expando":Array.add(C,a);break;case "onSubmit":Array.add(A,a);break;case "asyncPostBackControlIDs":m=a;break;case "postBackControlIDs":p=a;break;case "updatePanelIDs":u=a;break;case "asyncPostBackTimeout":n=a;break;case "childUpdatePanelIDs":o=a;break;case "panelsToRefreshIDs":r=a;break;case "formAction":y=a;break;case "dataItem":Array.add(z,a);break;case "dataItemJson":Array.add(v,a);break;case "scriptDispose":Array.add(s,a);break;case "pageRedirect":if(g&&parseFloat(g.content)>=4)a.content=unescape(a.content);if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var f=document.createElement("a");f.style.display="none";f.attachEvent("onclick",B);f.href=a.content;this._form.parentNode.insertBefore(f,this._form);f.click();f.detachEvent("onclick",B);this._form.parentNode.removeChild(f);function B(a){a.cancelBubble=true}}else window.location.href=a.content;return null;case "error":this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(a.id),a.content),h,null);return null;case "pageTitle":document.title=a.content;break;case "focus":this._controlIDToFocus=a.content;break;default:this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken,a.type)),h,null);return null}}return {version4:g?parseFloat(g.content)>=4:false,executor:h,updatePanelNodes:x,hiddenFieldNodes:w,arrayDeclarationNodes:q,scriptBlockNodes:j,scriptStartupNodes:t,expandoNodes:C,onSubmitNodes:A,dataItemNodes:z,dataItemJsonNodes:v,scriptDisposeNodes:s,asyncPostBackControlIDsNode:m,postBackControlIDsNode:p,updatePanelIDsNode:u,asyncPostBackTimeoutNode:n,childUpdatePanelIDsNode:o,panelsToRefreshNode:r,formActionNode:y}},_processUpdatePanelArrays:function(e,q,r,f){var d,c,b;if(e){var i=e.length,j=f?2:1;d=new Array(i/j);c=new Array(i/j);b=new Array(i/j);for(var g=0,h=0;g<i;g+=j,h++){var p,a=e[g],k=f?e[g+1]:"";p=a.charAt(0)==="t";a=a.substr(1);if(!k)k=this._uniqueIDToClientID(a);b[h]=p;d[h]=a;c[h]=k}}else{d=[];c=[];b=[]}var n=[],l=[];this._convertToClientIDs(q,n,l,f);var o=[],m=[];this._convertToClientIDs(r,o,m,f);return {updatePanelIDs:d,updatePanelClientIDs:c,updatePanelHasChildrenAsTriggers:b,asyncPostBackControlIDs:n,asyncPostBackControlClientIDs:l,postBackControlIDs:o,postBackControlClientIDs:m}},_queueScripts:function(scriptLoader,scriptBlockNodes,queueIncludes,queueBlocks){for(var i=0,l=scriptBlockNodes.length;i<l;i++){var scriptBlockType=scriptBlockNodes[i].id;switch(scriptBlockType){case "ScriptContentNoTags":if(!queueBlocks)continue;scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);break;case "ScriptContentWithTags":var scriptTagAttributes;eval("scriptTagAttributes = "+scriptBlockNodes[i].content);if(scriptTagAttributes.src){if(!queueIncludes||Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src))continue}else if(!queueBlocks)continue;scriptLoader.queueCustomScriptTag(scriptTagAttributes);break;case "ScriptPath":var script=scriptBlockNodes[i];if(!queueIncludes||Sys._ScriptLoader.isScriptLoaded(script.content))continue;scriptLoader.queueScriptReference(script.content,script.fallback)}}},_registerDisposeScript:function(a,b){if(!this._scriptDisposes[a])this._scriptDisposes[a]=[b];else Array.add(this._scriptDisposes[a],b)},_scriptIncludesLoadComplete:function(e,b){if(b.executor.get_webRequest()!==this._request)return;this._commitControls(b.updatePanelData,b.asyncPostBackTimeoutNode?b.asyncPostBackTimeoutNode.content:null);if(b.formActionNode)this._form.action=b.formActionNode.content;var a,d,c;for(a=0,d=b.updatePanelNodes.length;a<d;a++){c=b.updatePanelNodes[a];var j=document.getElementById(c.id);if(!j){this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.PRM_MissingPanel,c.id)),b.executor,b);return}this._updatePanel(j,c.content)}for(a=0,d=b.scriptDisposeNodes.length;a<d;a++){c=b.scriptDisposeNodes[a];this._registerDisposeScript(c.id,c.content)}for(a=0,d=this._transientFields.length;a<d;a++){var g=document.getElementById(this._transientFields[a]);if(g){var k=g._isContained?g.parentNode:g;k.parentNode.removeChild(k)}}for(a=0,d=b.hiddenFieldNodes.length;a<d;a++){c=b.hiddenFieldNodes[a];this._createHiddenField(c.id,c.content)}if(b.scriptsFailed)throw Sys._ScriptLoader._errorScriptLoadFailed(b.scriptsFailed.src,b.scriptsFailed.multipleCallbacks);this._queueScripts(e,b.scriptBlockNodes,false,true);var i="";for(a=0,d=b.arrayDeclarationNodes.length;a<d;a++){c=b.arrayDeclarationNodes[a];i+="Sys.WebForms.PageRequestManager._addArrayElement('"+c.id+"', "+c.content+");\r\n"}var h="";for(a=0,d=b.expandoNodes.length;a<d;a++){c=b.expandoNodes[a];h+=c.id+" = "+c.content+"\r\n"}if(i.length)e.queueScriptBlock(i);if(h.length)e.queueScriptBlock(h);this._queueScripts(e,b.scriptStartupNodes,true,true);var f="";for(a=0,d=b.onSubmitNodes.length;a<d;a++){if(a===0)f="Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatements, function() {\r\n";f+=b.onSubmitNodes[a].content+"\r\n"}if(f.length){f+="\r\nreturn true;\r\n});\r\n";e.queueScriptBlock(f)}e.loadScripts(0,Function.createDelegate(this,Function.createCallback(this._scriptsLoadComplete,b)),null,null)},_scriptIncludesLoadFailed:function(d,c,b,a){a.scriptsFailed={src:c.src,multipleCallbacks:b};this._scriptIncludesLoadComplete(d,a)},_scriptsLoadComplete:function(f,c){var e=c.executor;if(window.__theFormPostData)window.__theFormPostData="";if(window.__theFormPostCollection)window.__theFormPostCollection=[];if(window.WebForm_InitCallback)window.WebForm_InitCallback();if(this._scrollPosition){if(window.scrollTo)window.scrollTo(this._scrollPosition.x,this._scrollPosition.y);this._scrollPosition=null}Sys.Application.endCreateComponents();this._pageLoaded(false,c);this._endPostBack(null,e,c);if(this._controlIDToFocus){var a,d;if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var b=$get(this._controlIDToFocus);a=b;if(b&&!WebForm_CanFocus(b))a=WebForm_FindFirstFocusableChild(b);if(a&&typeof a.contentEditable!=="undefined"){d=a.contentEditable;a.contentEditable=false}else a=null}WebForm_AutoFocus(this._controlIDToFocus);if(a)a.contentEditable=d;this._controlIDToFocus=null}},_splitNodeIntoArray:function(b){var a=b.content,c=a.length?a.split(","):[];return c},_uniqueIDToClientID:function(a){return a.replace(/\$/g,"_")},_updateControls:function(d,a,c,b,e){this._commitControls(this._processUpdatePanelArrays(d,a,c,e),b)},_updatePanel:function(updatePanelElement,rendering){for(var updatePanelID in this._scriptDisposes)if(this._elementContains(updatePanelElement,document.getElementById(updatePanelID))){var disposeScripts=this._scriptDisposes[updatePanelID];for(var i=0,l=disposeScripts.length;i<l;i++)eval(disposeScripts[i]);delete this._scriptDisposes[updatePanelID]}Sys.Application.disposeElement(updatePanelElement,true);updatePanelElement.innerHTML=rendering},_validPosition:function(a){return typeof a!=="undefined"&&a!==null&&a!==0}};Sys.WebForms.PageRequestManager.getInstance=function(){var a=Sys.WebForms.PageRequestManager._instance;if(!a)a=Sys.WebForms.PageRequestManager._instance=new Sys.WebForms.PageRequestManager;return a};Sys.WebForms.PageRequestManager._addArrayElement=function(a){if(!window[a])window[a]=[];for(var b=1,c=arguments.length;b<c;b++)Array.add(window[a],arguments[b])};Sys.WebForms.PageRequestManager._initialize=function(){var a=Sys.WebForms.PageRequestManager.getInstance();a._initializeInternal.apply(a,arguments)};Sys.WebForms.PageRequestManager.registerClass("Sys.WebForms.PageRequestManager");Sys.UI._UpdateProgress=function(a){Sys.UI._UpdateProgress.initializeBase(this,[a]);this._displayAfter=500;this._dynamicLayout=true;this._associatedUpdatePanelId=null;this._beginRequestHandlerDelegate=null;this._startDelegate=null;this._endRequestHandlerDelegate=null;this._pageRequestManager=null;this._timerCookie=null};Sys.UI._UpdateProgress.prototype={get_displayAfter:function(){return this._displayAfter},set_displayAfter:function(a){this._displayAfter=a},get_dynamicLayout:function(){return this._dynamicLayout},set_dynamicLayout:function(a){this._dynamicLayout=a},get_associatedUpdatePanelId:function(){return this._associatedUpdatePanelId},set_associatedUpdatePanelId:function(a){this._associatedUpdatePanelId=a},get_role:function(){return "status"},_clearTimeout:function(){if(this._timerCookie){window.clearTimeout(this._timerCookie);this._timerCookie=null}},_getUniqueID:function(b){var a=Array.indexOf(this._pageRequestManager._updatePanelClientIDs,b);return a===-1?null:this._pageRequestManager._updatePanelIDs[a]},_handleBeginRequest:function(f,e){var b=e.get_postBackElement(),a=true,d=this._associatedUpdatePanelId;if(this._associatedUpdatePanelId){var c=e.get_updatePanelsToUpdate();if(c&&c.length)a=Array.contains(c,d)||Array.contains(c,this._getUniqueID(d));else a=false}while(!a&&b){if(b.id&&this._associatedUpdatePanelId===b.id)a=true;b=b.parentNode}if(a)this._timerCookie=window.setTimeout(this._startDelegate,this._displayAfter)},_startRequest:function(){if(this._pageRequestManager.get_isInAsyncPostBack()){var a=this.get_element();if(this._dynamicLayout)a.style.display="block";else a.style.visibility="visible";if(this.get_role()==="status")a.setAttribute("aria-hidden","false")}this._timerCookie=null},_handleEndRequest:function(){var a=this.get_element();if(this._dynamicLayout)a.style.display="none";else a.style.visibility="hidden";if(this.get_role()==="status")a.setAttribute("aria-hidden","true");this._clearTimeout()},dispose:function(){if(this._beginRequestHandlerDelegate!==null){this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegate);this._beginRequestHandlerDelegate=null;this._endRequestHandlerDelegate=null}this._clearTimeout();Sys.UI._UpdateProgress.callBaseMethod(this,"dispose")},initialize:function(){Sys.UI._UpdateProgress.callBaseMethod(this,"initialize");if(this.get_role()==="status")this.get_element().setAttribute("aria-hidden","true");this._beginRequestHandlerDelegate=Function.createDelegate(this,this._handleBeginRequest);this._endRequestHandlerDelegate=Function.createDelegate(this,this._handleEndRequest);this._startDelegate=Function.createDelegate(this,this._startRequest);if(Sys.WebForms&&Sys.WebForms.PageRequestManager)this._pageRequestManager=Sys.WebForms.PageRequestManager.getInstance();if(this._pageRequestManager!==null){this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelegate);this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate)}}};Sys.UI._UpdateProgress.registerClass("Sys.UI._UpdateProgress",Sys.UI.Control);u//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftAjaxWebServices.js
Type._registerScript("MicrosoftAjaxWebServices.js",["MicrosoftAjaxNetwork.js"]);Type.registerNamespace("Sys.Net");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout||0},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return typeof this._userContext==="undefined"?null:this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded||null},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed||null},set_defaultFailedCallback:function(a){this._failed=a},get_enableJsonp:function(){return !!this._jsonp},set_enableJsonp:function(a){this._jsonp=a},get_path:function(){return this._path||null},set_path:function(a){this._path=a},get_jsonpCallbackParameter:function(){return this._callbackParameter||"callback"},set_jsonpCallbackParameter:function(a){this._callbackParameter=a},_invoke:function(d,e,g,f,c,b,a){c=c||this.get_defaultSucceededCallback();b=b||this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout(),this.get_enableJsonp(),this.get_jsonpCallbackParameter())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(q,a,m,l,j,b,g,e,w,p){var i=w!==false?Sys.Net.WebServiceProxy._xdomain.exec(q):null,c,n=i&&i.length===3&&(i[1]!==location.protocol||i[2]!==location.host);m=n||m;if(n){p=p||"callback";c="_jsonp"+Sys._jsonp++}if(!l)l={};var r=l;if(!m||!r)r={};var s,h,f=null,k,o=null,u=Sys.Net.WebRequest._createUrl(a?q+"/"+encodeURIComponent(a):q,r,n?p+"=Sys."+c:null);if(n){s=document.createElement("script");s.src=u;k=new Sys._ScriptLoaderTask(s,function(d,b){if(!b||c)t({Message:String.format(Sys.Res.webServiceFailedNoMsg,a)},-1)});function v(){if(f===null)return;f=null;h=new Sys.Net.WebServiceError(true,String.format(Sys.Res.webServiceTimedOut,a));k.dispose();delete Sys[c];if(b)b(h,g,a)}function t(d,e){if(f!==null){window.clearTimeout(f);f=null}k.dispose();delete Sys[c];c=null;if(typeof e!=="undefined"&&e!==200){if(b){h=new Sys.Net.WebServiceError(false,d.Message||String.format(Sys.Res.webServiceFailedNoMsg,a),d.StackTrace||null,d.ExceptionType||null,d);h._statusCode=e;b(h,g,a)}}else if(j)j(d,g,a)}Sys[c]=t;e=e||Sys.Net.WebRequestManager.get_defaultTimeout();if(e>0)f=window.setTimeout(v,e);k.execute();return null}var d=new Sys.Net.WebRequest;d.set_url(u);d.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!m){o=Sys.Serialization.JavaScriptSerializer.serialize(l);if(o==="{}")o=""}d.set_body(o);d.add_completed(x);if(e&&e>0)d.set_timeout(e);d.invoke();function x(d){if(d.get_responseAvailable()){var f=d.get_statusCode(),c=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))c=d.get_object();else if(e.startsWith("text/xml"))c=d.get_xml();else c=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(c)c=new Sys.Net.WebServiceError(false,c.Message,c.StackTrace,c.ExceptionType,c)}else if(e.startsWith("application/json"))c=!c||typeof c.d==="undefined"?c:c.d;if(f<200||f>=300||h){if(b){if(!c||!h)c=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a));c._statusCode=f;b(c,g,a)}}else if(j)j(c,g,a)}else{var i;if(d.get_timedOut())i=String.format(Sys.Res.webServiceTimedOut,a);else i=String.format(Sys.Res.webServiceFailedNoMsg,a);if(b)b(new Sys.Net.WebServiceError(d.get_timedOut(),i,"",""),g,a)}}return d};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys._jsonp=0;Sys.Net.WebServiceProxy._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;Sys.Net.WebServiceError=function(d,e,c,a,b){this._timedOut=d;this._message=e;this._stackTrace=c;this._exceptionType=a;this._errorObject=b;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||""},get_exceptionType:function(){return this._exceptionType||""},get_errorObject:function(){return this._errorObject||null}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");J//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// Date.HijriCalendar.js
Type._registerScript("Date.HijriCalendar.js",["MicrosoftAjaxGlobalization.js"]);__cultureInfo.dateTimeFormat.Calendar.convert={ticks1970:62135596800000,monthDays:[0,30,59,89,118,148,177,207,236,266,295,325,355],minDate:-42521673600000,maxDate:0xe677d21fdbff,adjustment:__cultureInfo.dateTimeFormat.Calendar._adjustment||0,toGregorian:function(d,c,e){var b=this.daysToYear(d)+this.monthDays[c]+e-1-this.adjustment,a=new Date(b*86400000-this.ticks1970);a.setMinutes(a.getMinutes()+a.getTimezoneOffset());return a},fromGregorian:function(e){if(e<this.minDate||e>this.maxDate)return null;var i=this.ticks1970+(e-0)-e.getTimezoneOffset()*60000,d=Math.floor(i/86400000)+1+this.adjustment,h,b,c=Math.floor((d-227013)*30/10631)+1,a=this.daysToYear(c),f=this.isLeapYear(c)?355:354;if(d<a){c--;a-=f}else if(d===a){c--;a=this.daysToYear(c)}else if(d>a+f){a+=f;c++}b=0;var g=d-a;while(b<=11&&g>this.monthDays[b])b++;b--;h=g-this.monthDays[b];return [c,b,h]},daysToYear:function(d){var b=Math.floor((d-1)/30)*30,a=d-b-1,c=Math.floor(b*10631/30)+227013;while(a>0){c+=this.isLeapYear(a)?355:354;a--}return c},isLeapYear:function(a){return (a*11+14)%30<11}};//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// Date.UmAlQuraCalendar.js
Type._registerScript("Date.UmAlQuraCalendar.js",["MicrosoftAjaxGlobalization.js"]);__cultureInfo.dateTimeFormat.Calendar.convert={_yearInfo:[[746,-2198707200000],[1769,-2168121600000],[3794,-2137449600000],[3748,-2106777600000],[3402,-2076192000000],[2710,-2045606400000],[1334,-2015020800000],[2741,-1984435200000],[3498,-1953763200000],[2980,-1923091200000],[2889,-1892505600000],[2707,-1861920000000],[1323,-1831334400000],[2647,-1800748800000],[1206,-1770076800000],[2741,-1739491200000],[1450,-1708819200000],[3413,-1678233600000],[3370,-1647561600000],[2646,-1616976000000],[1198,-1586390400000],[2397,-1555804800000],[748,-1525132800000],[1749,-1494547200000],[1706,-1463875200000],[1365,-1433289600000],[1195,-1402704000000],[2395,-1372118400000],[698,-1341446400000],[1397,-1310860800000],[2994,-1280188800000],[1892,-1249516800000],[1865,-1218931200000],[1621,-1188345600000],[683,-1157760000000],[1371,-1127174400000],[2778,-0xff4ca2d400],[1748,-0xf828714000],[3785,-0xf109660800],[3474,-0xe9e5347400],[3365,-973987200000],[2637,-943401600000],[685,-912816000000],[1389,-882230400000],[2922,-851558400000],[2898,-820886400000],[2725,-790300800000],[2635,-759715200000],[1175,-729129600000],[2359,-698544000000],[694,-667872000000],[1397,-637286400000],[3434,-606614400000],[3410,-575942400000],[2710,-545356800000],[2349,-514771200000],[605,-484185600000],[1245,-453600000000],[2778,-422928000000],[1492,-392256000000],[3497,-361670400000],[3410,-330998400000],[2730,-300412800000],[1238,-269827200000],[2486,-239241600000],[884,-208569600000],[1897,-177984000000],[1874,-147312000000],[1701,-116726400000],[1355,-86140800000],[2731,-55555200000],[1370,-24883200000],[2773,5702400000],[3538,36374400000],[3492,67046400000],[3401,97632000000],[2709,128217600000],[1325,158803200000],[2653,189388800000],[1370,220060800000],[2773,250646400000],[1706,281318400000],[1685,311904000000],[1323,342489600000],[2647,373075200000],[1198,403747200000],[2422,434332800000],[1388,465004800000],[2901,495590400000],[2730,526262400000],[2645,556848000000],[1197,587433600000],[2397,618019200000],[730,648691200000],[1497,679276800000],[3506,709948800000],[2980,740620800000],[2890,771206400000],[2645,801792000000],[693,832377600000],[1397,862963200000],[2922,893635200000],[3026,924307200000],[3012,954979200000],[2953,985564800000],[2709,0xec97489c00],[1325,0xf3b653d400],[1453,0xfad55f0c00],[2922,1107993600000],[1748,1138665600000],[3529,1169251200000],[3474,1199923200000],[2726,1230508800000],[2390,1261094400000],[686,1291680000000],[1389,1322265600000],[874,1352937600000],[2901,1383523200000],[2730,1414195200000],[2381,1444780800000],[1181,1475366400000],[2397,1505952000000],[698,1536624000000],[1461,1567209600000],[1450,1597881600000],[3413,1628467200000],[2714,1659139200000],[2350,1689724800000],[622,1720310400000],[1373,1750896000000],[2778,1781568000000],[1748,1812240000000],[1701,1842825600000],[0,1873411200000]],minDate:-2198707200000,maxDate:1873411199999,toGregorian:function(h,g,i){var d=i-1,c=h-1318;if(c<0||c>=this._yearInfo.length)return null;var e=this._yearInfo[c],a=new Date(e[1]),b=e[0];a.setMinutes(a.getMinutes()+a.getTimezoneOffset());for(var f=0;f<g;f++){d+=29+(b&1);b=b>>1}a.setDate(a.getDate()+d);return a},fromGregorian:function(g){var b=g-g.getTimezoneOffset()*60000;if(b<this.minDate||b>this.maxDate)return null;var a=0,f=1;while(b>this._yearInfo[++a][1]);if(b!==this._yearInfo[a][1])a--;var h=this._yearInfo[a],e=Math.floor((b-h[1])/86400000),c=h[0];a+=1318;var d=29+(c&1);while(e>=d){e-=d;c=c>>1;d=29+(c&1);f++}return [a,f-1,e+1]}};]&<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="ServiceMapSchema" targetNamespace="urn:schemas-microsoft-com:xml-wcfservicemap" elementFormDefault="qualified" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap" xmlns:mstns="urn:schemas-microsoft-com:xml-wcfservicemap" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:annotation>
    <xs:documentation xml:lang="en">
      The schema of Service Reference Map files
      Copyright (c) Microsoft Corp. All rights reserved.
    </xs:documentation>
  </xs:annotation>

  <xs:element name="ReferenceGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="ClientOptions" maxOccurs="1" minOccurs="0" type="ClientOptions" />
        <xs:element name="MetadataSources" maxOccurs="1" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="MetadataSource" maxOccurs="unbounded" minOccurs="0" type="MetadataSource">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Metadata" maxOccurs="1" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="MetadataFile" minOccurs="0" maxOccurs="unbounded" type="MetadataFile" />
            </xs:sequence>
          </xs:complexType>
          <xs:key name="MetadataFileNameKey">
            <xs:selector xpath=".//mstns:MetadataFile" />
            <xs:field xpath="@FileName" />
          </xs:key>
          <xs:key name="MetadataIDKey">
            <xs:selector xpath=".//mstns:MetadataFile" />
            <xs:field xpath="@ID" />
          </xs:key>
        </xs:element>
        <xs:element name="Extensions" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ExtensionFile" minOccurs="0" maxOccurs="unbounded" type="ExtensionFile" />
            </xs:sequence>
          </xs:complexType>
          <xs:key name="ReferenceGroupExtensionNameKey">
            <xs:selector xpath=".//mstns:ExtensionFile" />
            <xs:field xpath="@Name" />
          </xs:key>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="ID" type="guid" use="required" />
    </xs:complexType>
    <xs:key name="ReferenceGroupSourceIdKey">
      <xs:selector xpath=".//mstns:MetadataSource" />
      <xs:field xpath="@SourceId" />
    </xs:key>
    <xs:keyref name="MetadataFileSourceIdRef" refer="ReferenceGroupSourceIdKey">
      <xs:selector xpath=".//mstns:MetadataFile" />
      <xs:field xpath="@SourceId" />
    </xs:keyref>
  </xs:element>

  <xs:simpleType name="MetadataType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Wsdl" />
      <xs:enumeration value="Schema" />
      <xs:enumeration value="Disco" />
      <xs:enumeration value="Xml" />
      <xs:enumeration value="Policy" />
      <xs:enumeration value="Unknown" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ProtocolType">
    <xs:restriction base="nonEmptyString">
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ProxySerializerType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Auto" />
      <xs:enumeration value="DataContractSerializer" />
      <xs:enumeration value="XmlSerializer" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="CollectionCategory">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unknown" />
      <xs:enumeration value="List" />
      <xs:enumeration value="Dictionary" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="guid">
    <xs:restriction base="xs:string">
      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="TypeName">
    <xs:restriction base="nonEmptyString">
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="AssemblyName">
    <xs:restriction base="nonEmptyString">
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="FileName">
    <xs:restriction base="nonEmptyString">
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="nonEmptyString">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="MetadataSource">
    <xs:sequence />
    <xs:attribute name="SourceId" type="xs:positiveInteger" use="required" />
    <xs:attribute name="Address" type="nonEmptyString" use="required" />
    <xs:attribute name="Protocol" type="ProtocolType" use="required" />
  </xs:complexType>

  <xs:complexType name="MetadataFile">
    <xs:sequence>
    </xs:sequence>
    <xs:attribute name="MetadataType" type="MetadataType" use="required" />
    <xs:attribute name="FileName" type="FileName" use="required" />
    <xs:attribute name="SourceUrl" type="xs:string" />
    <xs:attribute name="ID" type="guid" use="required" />
    <xs:attribute name="SourceId" use="optional" type="xs:positiveInteger">
    </xs:attribute>
    <xs:attribute name="Ignore" type="xs:boolean" default="false" use="optional" />
    <xs:attribute name="IsMergeResult" type="xs:boolean" use="optional" default="false" />
  </xs:complexType>

  <xs:complexType name="ExtensionFile">
    <xs:sequence />
    <xs:attribute name="Name" type="nonEmptyString" use="required" />
    <xs:attribute name="FileName" type="FileName" use="required" />
  </xs:complexType>

  <xs:complexType name="ReferencedDataContractType">
    <xs:sequence />
    <xs:attribute name="TypeName" type="TypeName" use="required" />
  </xs:complexType>

  <xs:complexType name="ServiceContractMapping">
    <xs:sequence />
    <xs:attribute name="TargetNamespace" type="xs:anyURI" use="required" />
    <xs:attribute name="Name" type="nonEmptyString" use="required" />
    <xs:attribute name="TypeName" type="TypeName" use="required" />
  </xs:complexType>

  <xs:complexType name="NamespaceMapping">
    <xs:sequence />
    <xs:attribute name="TargetNamespace" type="xs:anyURI" use="required" />
    <xs:attribute name="ClrNamespace" type="xs:string" use="required" />
  </xs:complexType>

  <xs:complexType name="ReferencedAssembly">
    <xs:sequence />
    <xs:attribute name="AssemblyName" type="AssemblyName" use="required" />
  </xs:complexType>

  <xs:complexType name="ExcludedType">
    <xs:sequence />
    <xs:attribute name="TypeName" type="TypeName" use="required" />
  </xs:complexType>

  <xs:complexType name="CollectionMapping">
    <xs:sequence>
    </xs:sequence>
    <xs:attribute name="TypeName" type="TypeName" use="required" />
    <xs:attribute name="Category" type="CollectionCategory" />
  </xs:complexType>

  <xs:complexType name="ClientOptions">
    <xs:all>
      <xs:element name="NamespaceMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="NamespaceMapping" maxOccurs="unbounded" minOccurs="0" type="NamespaceMapping">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ServiceContractMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ServiceContractMapping" maxOccurs="unbounded" minOccurs="0" type="ServiceContractMapping" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReferencedDataContractTypes" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ReferencedDataContractType" minOccurs="0" maxOccurs="unbounded" type="ReferencedDataContractType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ReferencedAssemblies" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ReferencedAssembly" maxOccurs="unbounded" minOccurs="0" type="ReferencedAssembly">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ExcludedTypes" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ExcludedType" minOccurs="0" maxOccurs="unbounded" type="ExcludedType">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CollectionMappings" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="CollectionMapping" maxOccurs="unbounded" minOccurs="0" type="CollectionMapping">
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GenerateInternalTypes" type="xs:boolean" minOccurs="0" />
      <xs:element name="GenerateAsynchronousMethods" type="xs:boolean" minOccurs="0" />
      <xs:element name="GenerateTaskBasedAsynchronousMethod" type="xs:boolean" minOccurs="0" />
      <xs:element name="GenerateSerializableTypes" type="xs:boolean" minOccurs="0" />
      <xs:element name="GenerateMessageContracts" type="xs:boolean" minOccurs="0" />
      <xs:element name="ImportXmlTypes" type="xs:boolean" minOccurs="0" />
      <xs:element name="EnableDataBinding" type="xs:boolean" minOccurs="0" />
      <xs:element name="Serializer" type="ProxySerializerType" minOccurs="0" />
      <xs:element name="UseSerializerForFaults" type="xs:boolean" minOccurs="0" />
      <xs:element name="Wrapped" type="xs:boolean" minOccurs="0" />
      <xs:element name="ReferenceAllAssemblies" type="xs:boolean" minOccurs="0" />
    </xs:all>
  </xs:complexType>

</xs:schema>
9<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="DataServiceMapSchema" targetNamespace="urn:schemas-microsoft-com:xml-dataservicemap" elementFormDefault="qualified" xmlns="urn:schemas-microsoft-com:xml-dataservicemap" xmlns:mstns="urn:schemas-microsoft-com:xml-dataservicemap" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:annotation>
    <xs:documentation xml:lang="en">
        The schema of Data Service Reference Map files
        Copyright (c) Microsoft Corp. All rights reserved.
    </xs:documentation>
  </xs:annotation>

  <xs:element name="ReferenceGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="MetadataSources" maxOccurs="1" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="MetadataSource" maxOccurs="unbounded" minOccurs="0" type="MetadataSource">
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Metadata" maxOccurs="1" minOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="MetadataFile" minOccurs="0" maxOccurs="unbounded" type="MetadataFile" />
            </xs:sequence>
          </xs:complexType>
          <xs:key name="MetadataFileNameKey">
            <xs:selector xpath=".//mstns:MetadataFile" />
            <xs:field xpath="@FileName" />
          </xs:key>
          <xs:key name="MetadataIDKey">
            <xs:selector xpath=".//mstns:MetadataFile" />
            <xs:field xpath="@ID" />
          </xs:key>
        </xs:element>
        <xs:element name="Extensions" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ExtensionFile" minOccurs="0" maxOccurs="unbounded" type="ExtensionFile" />
            </xs:sequence>
          </xs:complexType>
          <xs:key name="ReferenceGroupExtensionNameKey">
            <xs:selector xpath=".//mstns:ExtensionFile" />
            <xs:field xpath="@Name" />
          </xs:key>
        </xs:element>
        <xs:element name="Parameters" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Parameter" minOccurs="0" maxOccurs="unbounded" type="Parameter" />
            </xs:sequence>
          </xs:complexType>
          <xs:key name="ReferenceGroupParameterNameKey">
            <xs:selector xpath=".//mstns:Parameter" />
            <xs:field xpath="@Name" />
          </xs:key>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="ID" type="guid" use="required" />
    </xs:complexType>
    <xs:key name="ReferenceGroupSourceIdKey">
      <xs:selector xpath=".//mstns:MetadataSource" />
      <xs:field xpath="@SourceId" />
    </xs:key>
    <xs:keyref name="MetadataFileSourceIdRef" refer="ReferenceGroupSourceIdKey">
      <xs:selector xpath=".//mstns:MetadataFile" />
      <xs:field xpath="@SourceId" />
    </xs:keyref>
  </xs:element>

  <xs:simpleType name="MetadataType">
    <xs:restriction base="nonEmptyString">
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="ProtocolType">
    <xs:restriction base="nonEmptyString">
        <!--
      <xs:enumeration value="http" />
      <xs:enumeration value="mex" />
      <xs:enumeration value="file" />
         -->
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="guid">
    <xs:restriction base="xs:string">
      <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" />
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="FileName">
    <xs:restriction base="nonEmptyString">
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="nonEmptyString">
    <xs:restriction base="xs:string">
      <xs:minLength value="1" />
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="MetadataSource">
    <xs:sequence />
    <xs:attribute name="SourceId" type="xs:positiveInteger" use="required" />
    <xs:attribute name="Address" type="nonEmptyString" use="required" />
    <xs:attribute name="Protocol" type="ProtocolType" use="required" />
  </xs:complexType>

  <xs:complexType name="MetadataFile">
    <xs:sequence>
    </xs:sequence>
    <xs:attribute name="MetadataType" type="MetadataType" use="required" />
    <xs:attribute name="FileName" type="FileName" use="required" />
	<!--
    <xs:attribute name="TargetNamespace" type="xs:anyURI" />
	-->
    <xs:attribute name="SourceUrl" type="xs:string" />
    <xs:attribute name="ID" type="guid" use="required" />
    <xs:attribute name="SourceId" use="optional" type="xs:positiveInteger">
    </xs:attribute>
    <xs:attribute name="Ignore" type="xs:boolean" default="false" use="optional" />
    <xs:attribute name="IsMergeResult" type="xs:boolean" use="optional" default="false" />
  </xs:complexType>

  <xs:complexType name="ExtensionFile">
    <xs:sequence />
    <xs:attribute name="Name" type="nonEmptyString" use="required" />
    <xs:attribute name="FileName" type="FileName" use="required" />
  </xs:complexType>

  <xs:complexType name="Parameter">
    <xs:sequence />
    <xs:attribute name="Name" type="nonEmptyString" use="required" />
    <xs:attribute name="Value" type="xs:string" use="required" />
  </xs:complexType>
</xs:schema>
Y-sz^Ӌ*g}sCj(|0"!7$8{gV5>niXFFY9]q<r%jx_נqdM^{1ZE&$w#]2$$~RSDSG4KZ!System.Web.Extensions.pdbh t_CorDllMainmscoree.dll% ,d 8PhĠPIBCPROFILE_DATA(б0,OB:4XQ
[zk"	f

''"'Z((,x'5#-5&35*+]5",50%6A
1fC2lCM3HH:	%#;
4!%2+49W
n#`g9
4

&3P
CxD""Bx
	"C	3
-
?Pf* >;+Z91R8"	

"|S"{#"	"
C"΀
sC"
K"





S"`

u
v
D



}
x
]


$5.~Fz"b_		d<m	nM'(C*	7rlfIkA\
!S#	[4V	yE"	-	2	G>W1@o		,?w)=	R0B	Q	h6tH/	j:ZJL	9YUi
	;O	c%Tgaq^pX3+e&K 8P	

"" !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde
#

























																		0				0																																																																																														

								











































































































































		













FBAP@MNCKVQDEFGUiJhHILRSfgopwxyz-|		

	 	 	        	   	                                             @ 
A
D C
F EG HJ        I L           M                      

   
 
                     	 	 	            O PR QT SVW XY \[ ^ _b ae dh il k	     	         	               	 	                       

 
 
        
 
  		 	 	 	              	 	         	  	 	 
         	           +!**(((((("""""""""""""""""""""""""",-./0123456789:;<=>      	 
  
      +
 B-./0123456789:;<=>?@ADE?" # W X .& 'M  9 : ; D F J K T L Q R S U V Y Z  \ ^ _a be f [ gm no pz {  `               dZ                                                                               & '* +. /2 1             5 6                             9 8                                                                       L KO PS TX WZ [] ^b ae fi hm lo pt s                                                                                         
 
 

 

 
 

 

 
 
                                     ; <           		 		 	 		 	 	 					  

	 	 		 		 		 		 	  	 		 		 	 	 		 		 		 	 	 		 		 		 		 			 		 		 	

	

QR S O Y T U / 0 1 2 4 5 7 8 ?    * E Z     	 
   [  \  ]  ^  _   `  a  b  c d  e P X V W 3 6 9 : ; < = B ! " # $ % & ' ( ) I J K L M    
   dnjӿަ϶"Ҵū"Ѕ)һ'nڷ$(ź$.ئˏ#!ùӐŏ%%ɋҐȱ	"٠ԼԴ#ԛܒֵˍ
ոշnŦєٍ n˫ǹnlˀډˊѨæ݂ۘ1AƃҰܹƀAÆ̅վͥʔۣՒٓށԁՄCԡϒšlDnɵoَάёީSZ\TPS׎Ζ7ϚȜ٠˛ǟߘЈ}}Z[PrQwR67\pu¥Ab߈̭Ȼ˛3·ђʑȞsx|d݋('؃Ȭ̄!ڕרнϳõʕ̴Ϻ׵Yɥɇڈ"èѽҫ߭Ȭݴɫ
įǰɳ޴ֶѷѸɃŻ˼*ǿ݅&̊ƎkԐcFΒǓٓ]^^`"System.Collections.Generic
System"System.Collections.ObjectModel!System.Collections.ConcurrentSystem.ReflectionIEnumerable`1IEnumerator`1EqualityComparer`1IEqualityComparer`1
IEquatable`1ObjectEqualityComparer`1
List`1IList`1	ICollection`1
IReadOnlyList`1IReadOnlyCollection`1
Collection`1
EventHandler`1EnumeratorConcurrentDictionary`2Tuple`2	AssemblyIDictionary`2KeyValuePair`2Node
Tables	? 	? 	?	?	?	?	?h	? h		?$h
	?h	?(h	?,h
	?	? 	?$	?	?(	?,	?0	? 	?$	?	?(	?,	?0	? 	?$	?	?(	?,	?4 	?4@!	?4$"	?4#	?0$	? %	?$&	?'	?((	?,)	?4*	?4t+	?4|,	?4x-	?4.	?4/	?40	?41	? 2	?$3	?4	?45	?46	?47	?48	?49	?4:	?4;	?4<	?4=	?4>	?4?	?4@	?4A	?4@B	?4(C	?0`D	? `E	?$`F	?`G	?(`H	?,`I	?hJ	?8hK	?8L	?M	?$N	?O	?P	? Q	?(R	?,S	?T	?U?<?@?DV?H?@?DW?$?L?@?DX??L?@?DY?L?@?DZ?P?@?D[?P?@?D\?T?@?D]
?<?D^
?H?D_
?L?D`?$?L?Da??L?Db
?P?Dc?P?Dd
?T?De	?8
	
o5P4VS_VERSION_INFO?DVarFileInfo$TranslationdStringFileInfo@000004b0LCommentsSystem.Web.Extensions.dllLCompanyNameMicrosoft Corporation\FileDescriptionSystem.Web.Extensions.dll6FileVersion4.8.4110.0TInternalNameSystem.Web.Extensions.dll/LegalCopyright Microsoft Corporation.  All rights reserved.\OriginalFilenameSystem.Web.Extensions.dllTProductNameMicrosoft .NET Framework:ProductVersion4.8.4110.08Assembly Version4.0.0.0PADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD=(d0d	*H
d0d10	+0L
+7>0<0
+70	0!0	+mɌ?>lqJ}j00 3<\0S<0
	*H
0w10	UUS10U
Washington10URedmond10U
Microsoft Corporation1!0UMicrosoft Time-Stamp PCA0
191023231713Z
210121231713Z010	UUS10	UWA10URedmond10U
Microsoft Corporation1-0+U$Microsoft Ireland Operations Limited1&0$UThales TSS ESN:86DF-4BBC-93351%0#UMicrosoft Time-Stamp Service0"0
	*H
0
o_:_tevU;5לfEeQZѬZ3@O4KlxL>4;BnKù;XUB(sCZUniO
G[~]˝'tI"hg_6<&:M(P&-7giU~lyJJJ3&=<cb+>L(gjJ0U0|<cP@o~@	00U5ESR[70U#0#4RFp
@v+50TUM0K0IGEChttp://crl.microsoft.com/pki/crl/products/MicrosoftTimeStampPCA.crl0X+L0J0H+0<http://www.microsoft.com/pki/certs/MicrosoftTimeStampPCA.crt0U%0
+0
	*H
t@*#߻ыc7&sZK>ki 2)ٛzCVZyD,ןD2&Wn|Җ"0l2{rj|*ġ6;TI\*8SPi2nٽY0hATav1
;o}圩4b83gumV#/gR`7]S
op8%)d3;^JUbcKNر
d9q5@ℌg003Q@qAQ0
	*H
0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110
190502213746Z
200502213746Z0t10	UUS10U
Washington10URedmond10U
Microsoft Corporation10UMicrosoft Corporation0"0
	*H
0
ZƆiG4UfubTXg'*HV4Iaxf'V!,;fm<4S(S !/H-ZHNs_;]
31|iz)V,=z3Ï^}[4I*Tl)@åayh7y:	s8O3eqCuqŦ53.يDjߐOMyVm+6@ 2`nlګΎD~0z0U%0
+7L+0UWJPFb0PUI0GE0C1)0'U Microsoft Operations Puerto Rico10U
230012+4541350U#0HndPӂ77"mu0TUM0K0IGEChttp://www.microsoft.com/pkiops/crl/MicCodSigPCA2011_2011-07-08.crl0a+U0S0Q+0Ehttp://www.microsoft.com/pkiops/certs/MicCodSigPCA2011_2011-07-08.crt0U00
	*H
Z.ʮ,']C"W}n70[ݕ%m+'	R
_iem})`g8D}Vl|r~,Z5o&Ve-|	]ڝ=+xZ

~ChZW&TqHrEW
U!NVjҬv-gaʵv~6{QYºgl̉nQ/RV$lZcW[0nq0u:v6w~]
h[1U21}a~M&*GU|J(00Ibjv/
A3-8Ò-F?)u5I8
V$9.S
`~Ւ(O.5k"xBa;9糥N66ߖw}}sZ\yDzXքؓn6g}gك.ȋK.B?EEjgQ̀~<"(F
]y#MpP300
ah40
	*H
0_10
	&,dcom10
	&,d	microsoft1-0+U$Microsoft Root Certificate Authority0
070403125309Z
210403130309Z0w10	UUS10U
Washington10URedmond10U
Microsoft Corporation1!0UMicrosoft Time-Stamp PCA0"0
	*H
0
lH*|k.řQ#PN$ѧLt0 TIB\0&k{3$g,{N#SʍE	^аBlg(FS(F.'OUR,j0nY0~֗!~SmREHJGf')fJG	UxP0F#F-TxA1w̛;a
"KT 00U00U#4RFp
@v+50U0	+70U#0`@V'%*
SY䤡ca0_10
	&,dcom10
	&,d	microsoft1-0+U$Microsoft Root Certificate AuthorityyJLsX.e0PUI0G0ECA?http://crl.microsoft.com/pki/crl/products/microsoftrootcert.crl0T+H0F0D+08http://www.microsoft.com/pki/certs/MicrosoftRootCert.crt0U%0
+0
	*H
\D6鴭wyQM.tq[mξ{.mbWN Pz@WXx;⾏
ȍHSOjՀ/*$"px.
pNk
r9g-Qb\? ?21Jv1=+rp=

a׸N5+^}B{Sr!0ʻxe\[
<fX-/QVpl9Lyzb))4wb=m,C}㤨t5Nq#&v<RqZFCMgȟBy!0fB^Ȟ"!C+H,2L&*H$_ZVޙ:o'tv!'Tj=vanGo2lQȌ#fd=-Y!嵰cxTA.Pxuْu"/2n[%!OɚIeo}in꧗1)[\M/?.Uk0z0b
a0
	*H
010	UUS10U
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20110
110708205909Z
260708210909Z0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110"0
	*H
0
r.nM4X!B*kZP8I7k8™91BӉ
yd~`$lIh^ߛS
,ï٩+z	זY`fv2R&/PϳD].uhm:\F8dnd5xc-@
\yI)
w=+ZMV(zr:I^C{{>]O/Y;-3Xŷ>2ӳ=8~ҝ,NV!5%9ndS#_R!t%_('(8%9J6|#faj(I_%]!K>RĵW?$z[/#p]QFwἬ_UK9#ID|Erzr$߿FWۃMI0[ݰf{KI)(}gbx_/W\w((m(,@7OD	LԥC/tnx X,]`>O3ڰޞNFlֈ00	+70UHndPӂ77"mu0	+7
SubCA0U0U00U#0r-:1CN1#40ZUS0Q0OMKIhttp://crl.microsoft.com/pki/crl/products/MicRooCerAut2011_2011_03_22.crl0^+R0P0N+0Bhttp://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt0U 00	+7.00?+3http://www.microsoft.com/pkiops/docs/primarycps.htm0@+042 Legal_policy_statement. 0
	*H
g򆥘Ty.tg"cB}ye_.,>rm?
;Gic"5]e}FPU|K<BRаk>.)=Եw9dD=xz#}t&F*Šhh.*?*kXIc	inZF+;н5n%'(M=2-[I9

ƭQEX82q'',: iYhnot@*(>?MfMo}Ev@*e]Rbc6'ͥ]cA[>wuaaA(e/\֡FY	KH)ű?Ew5Ңzz"HG#kKux7yKֳ#hui;0Lumc=ѝVNOW"x2!zA
?̤]WqVNHEBɛv[
HkymmjRs
zP1K30K/00~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20113Q@qAQ0	+0	*H
	1
+70
+710
+70#	*H
	1[Cj30B
+71402Microsofthttp://www.microsoft.com0
	*H
/Fe`H5bY!k[ nOOxPJFEsG}y(#"Gwx:Jڑە~b~&+9/uBK	‰!|s&$at9A";Qʫwםv9-D#}~o<
6DǮL#R>DuxQݕGDH5֞CL3vw
?v!aD4a9Fæ~ag,[T4TH0$	*H
	1000w10	UUS10U
Washington10URedmond10U
Microsoft Corporation1!0UMicrosoft Time-Stamp PCA3<\0S<0	+]0	*H
	1	*H
0	*H
	1
191204024603Z0#	*H
	12p^癀vl<qkx0
	*H
eAނ ZnE}rc/Z*_Rrc@1Xb9g/Sdʄc`Ri[nR/
bkT->OSHu535pG>8҆Ġ*R&xFrp1S^>ݰ:@Z~y2fwֻ+-e=<)*I{Ռ4G
O5:FU0TLH.NG:F0F
+71F0">	*H
"/0"+10
	`He0\
+7N0L0
+70	010
	`He l9QDfieSPPU}͋r003|}^ҷ0
	*H
0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20100
190502212542Z
200502212542Z0t10	UUS10U
Washington10URedmond10U
Microsoft Corporation10UMicrosoft Corporation0"0
	*H
0
[F$B!-}cvjbBknd/)SaSE1S)`RI]!·2wv&g
_zDW.Uz}Ӿ,\JExˋ5\%6LzER]^P;%Z
PɳH% pўgzqٶ&D"ޒ&N+q%KXӺ%61
Y׉/2F#PQy0u0U%0
+7=+0Us?Jd$悭0PUI0GE0C1)0'U Microsoft Operations Puerto Rico10U
230865+4542430U#0_{"XrN!t#20VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicCodSigPCA_2010-07-06.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicCodSigPCA_2010-07-06.crt0U00
	*H
>/xPF1~0l.9*g"|HLG#6)~wjJnd
7T|k`	L[ו
D @=8>HXl1PĐƱe`Z1-hHyK2*io\AE{@G8($NL8NRA.+Bj|1=	buv]gוd'&<Q\[huL}
m!6`lF0p0X
aRL0
	*H
010	UUS10U
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20100
100706204017Z
250706205017Z0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20100"0
	*H
0
dPyg	LVhDXOv|mE9eҏDe,U}.+A+KnILk‰q͵K̈k:&?4W]I*.ՅY?+t+;FFIfTUbWrg% 4]^(ղcӲȊ&
Y5LR[HwօGj-\`ƴ*[#_Eo73jMjfcx0ϕ00	+70U_{"XrN!t#20	+7
SubCA0U0U00U#0Vˏ\bh=[Κ0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt0U 00	+7.00=+1http://www.microsoft.com/PKI/docs/CPS/default.htm0@+042 Legal_Policy_Statement. 0
	*H
tWO){xP"	4*,Ͽ4ہ5oywNaZ#bQEg?<09@!)奡i"tGCS0i% moar,iv=Qۦ9H7amS˧a¿⃫k}(QJQlȷJi~IprGc֢DciFz?!{#-A˿Lﱜ"KInv[Sy=s5<TRGjҎڙg^27uZW¿
-'ӵ^i$gsMOVzRMwOB	
v#Vx"&6ʱnG3bɑ3_q@e"B!%-`7A*a<h`RG@w>SP8f3'9x6N_=GSa=*ג,7Z>@B1V$]Qjy{%qDj#u1?0;00~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20103|}^ҷ0
	`He0
*H
	10	*H
	1
+70
+710
+70/	*H
	1" J]|EyiU5&e$4Cˉ0B
+71402Microsofthttp://www.microsoft.com0
	*H
}@h~muqSV]O?fFN	xFZA6A^QH;FU_N예juXcx9snTU{*êe+S%7&jlˈ(`%SN1CC񇯐5vAe06fX^0r$G|^9 +we'n78+7<Lw4fd3K,1oF0
+710	*H
010
	`He0X*H
	GC0?
+Y
010
	`He xAHZP&sS0N
]{20191204024604.264Z0Ԥ010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:31C5-30BA-7C911%0#UMicrosoft Time-Stamp Service00ݠ30
	*H
0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100
190906204108Z
201204204108Z010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:31C5-30BA-7C911%0#UMicrosoft Time-Stamp Service0"0
	*H
0
d/{2Z:ie)$iC_Krz9Wt)?|"xC*SC|i(r0-w3`gclZh A+fJrluB
ZY剗H7;=&14ܣyWMy"Ynyi8>ĝQGo:/fxm_9߶3Dq
EsKo00U2 dUg"0U#0c:\1C{|F3hZmU0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicTimStaPCA_2010-07-01.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicTimStaPCA_2010-07-01.crt0U00U%0
+0
	*H
D
ga
@R+mAx3$^b[{0'^4}|w>MXV.ˣcxPq5g%˱Sa{S.J=LBu45p:,MKZ>F'5:mvy(r3ܰ~~qwK_u-#@vM@롍 _-fl6tu``
}QmUv	K/Y+>7;Y*P/_>9~00q0Y
a	*0
	*H
010	UUS10U
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20100
100701213655Z
250701214655Z0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100"0
	*H
0

w: iktTե
|hK,_av>f+[S'1A	|a0Y0D`TCM8Bݓs0W&E
GͿ$`2X`FXG2tag_TϓLĦ]an(aF'$gr!KdPb]w=WuBM@Q>gfD~Knʱz*
1N5x</Dd 	xD]^O"M00	+70Uc:\1C{|F3hZmU0	+7
SubCA0U0U00U#0Vˏ\bh=[Κ0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt0U 00	+7.00=+1http://www.microsoft.com/PKI/docs/CPS/default.htm0@+042 Legal_Policy_Statement. 0
	*H
Q
?q=!o1Wm0fjxǨ%kTW+QDS`v@@A\\^5$VKtBȯ7}Z?yJR8/ye٩kzoK0D$"<Y)p2J'U/3b_W@ΙfjbJ&9Jqc{!mÜ<}jxm8ؔƥ
B"8 %d~cY%z.9Wvqa˚Gͧ};q	]t"aڰPo1:eGxHr~akow˧	9؂r*T9[
Uzs;-3.)/T'!ȬN(ۖBAM*f0ӻt2Kc{/!YD<PqסUiW0M
]O8/X.
P5	'ճ~56_tI00Ԥ010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:31C5-30BA-7C911%0#UMicrosoft Time-Stamp Service%
0	+OVc v1ks0ۤ010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1'0%UnCipher NTS ESN:4DE9-0C5E-3E091+0)U"Microsoft Time Source Master Clock0
	*H
+0"20191204024220Z20191205024220Z0s09
+Y
1+0)0
+0600
|06
+Y
1(0&0
+Y

0`
0 0
	*H
gP|
;xX\9g^Yt֊ y2W=7#"]H+-?GTJP5]CEҡEub,$d_b;Ÿ-O6)S@#.ĢԚ/>8ܑ%10;X}+dy5&a%fd֧ZVMHFmr
-$ʭWUu~ֵSkhg*^2G.=`V҈:Em4s.R1000|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 201030
	`He20	*H
	1
*H
	0/	*H
	1" I`@_sK5_0AB30Ÿ
!
͆0*H
	1000OVc v1ks00~0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 201030PaPK^@[.]0
	*H
[)iШH%ۺWNjґ
";n.}IISpf[#Ϩ-
OEbmO^&h;YQD7cH377GJ[PTs#v*9)kr<ݜgGoԳew^_Q5,KbhS&5DIf(-[nz^/ČHN!C:q-ZTJ垢n<Aj>{+<,0$K	*H
$<0$810
	`He0\
+7N0L0
+70	010
	`He l9QDfieSPPU}͋
003T.pN'arT0
	*H
0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110
190502213748Z
200502213748Z0t10	UUS10U
Washington10URedmond10U
Microsoft Corporation10UMicrosoft Corporation0"0
	*H
0
cK’IjXUڒc*Pra,O[B'Zl3We e/%j>'zZdhv-z~^\
?,
e37F8w`6bm[CԊJTj65*2!I"
ץeGGFUm8V"(4v*Q'PFE`(UySà~ƽ!gzU`Qu9ɦK޸~8#Rxfw~0z0U%0
+7
+0U[峜zN$0PUI0GE0C1)0'U Microsoft Operations Puerto Rico10U
230217+4541740U#0HndPӂ77"mu0TUM0K0IGEChttp://www.microsoft.com/pkiops/crl/MicCodSigPCA2011_2011-07-08.crl0a+U0S0Q+0Ehttp://www.microsoft.com/pkiops/certs/MicCodSigPCA2011_2011-07-08.crt0U00
	*H
l] %F3af+hhOWUE T.?Y(N51\Q[ۦm].5gb{hPb߁	0s[k"rB]\0
uI^us8sfm*v7MMA8S~6]BM{Ȩ#
pn
2f>cG
2"
{}?	Ւ
<>Qf\D	Kyk9G]:HU*
_gScOYDOݞ>F$
{/C(-VŤ2E|nmf%OgSd䕳bqu5fjQMuͦIZ[\BgS)Ql;_sxzn;mXOŎ|	hג':]w~T=]N݈/7y^0,EXI27g|!(+hS_Eޣ{4y-sL
Ich@q%knJJa7ed^0z0b
a0
	*H
010	UUS10U
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20110
110708205909Z
260708210909Z0~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20110"0
	*H
0
r.nM4X!B*kZP8I7k8™91BӉ
yd~`$lIh^ߛS
,ï٩+z	זY`fv2R&/PϳD].uhm:\F8dnd5xc-@
\yI)
w=+ZMV(zr:I^C{{>]O/Y;-3Xŷ>2ӳ=8~ҝ,NV!5%9ndS#_R!t%_('(8%9J6|#faj(I_%]!K>RĵW?$z[/#p]QFwἬ_UK9#ID|Erzr$߿FWۃMI0[ݰf{KI)(}gbx_/W\w((m(,@7OD	LԥC/tnx X,]`>O3ڰޞNFlֈ00	+70UHndPӂ77"mu0	+7
SubCA0U0U00U#0r-:1CN1#40ZUS0Q0OMKIhttp://crl.microsoft.com/pki/crl/products/MicRooCerAut2011_2011_03_22.crl0^+R0P0N+0Bhttp://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt0U 00	+7.00?+3http://www.microsoft.com/pkiops/docs/primarycps.htm0@+042 Legal_policy_statement. 0
	*H
g򆥘Ty.tg"cB}ye_.,>rm?
;Gic"5]e}FPU|K<BRаk>.)=Եw9dD=xz#}t&F*Šhh.*?*kXIc	inZF+;н5n%'(M=2-[I9

ƭQEX82q'',: iYhnot@*(>?MfMo}Ev@*e]Rbc6'ͥ]cA[>wuaaA(e/\֡FY	KH)ű?Ew5Ңzz"HG#kKux7yKֳ#hui;0Lumc=ѝVNOW"x2!zA
?̤]WqVNHEBɛv[
HkymmjRs
zP1=0900~10	UUS10U
Washington10URedmond10U
Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20113T.pN'arT0
	`He0
*H
	10	*H
	1
+70
+710
+70/	*H
	1" J]|EyiU5&e$4Cˉ0B
+71402Microsofthttp://www.microsoft.com0
	*H
f#JdյP$uj}髜_#S$KDOcVYݒpT.gs	/]#Mouw&Oǟw:Ao]/jг6jB[DϦF,k\Rj*4{Z:!d95Aȁ+I_`9~Uh#[>.1Mk63lrs /zPݞ
'%,T]jGvV6C[qCY2Px+0
+710	*H
010
	`He0U*H
	D@0<
+Y
010
	`He G 
d·ќG^]]ui20191204024604.595Z0Ԥ010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:148C-C4B9-20661%0#UMicrosoft Time-Stamp Service00ݠ3aD0
	*H
0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100
190906204119Z
201204204119Z010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:148C-C4B9-20661%0#UMicrosoft Time-Stamp Service0"0
	*H
0
cjtKs8C/:~Q/.0{资byS,mjZ`:r|".[N

9.Zv)&[JZ3RbNŷ:J7>vL
>4/g>-$S!R\K\;
r_֧sC!9b)(D:W6CATZ҇ܦژކύ|q-vc.cYO^6R3ƏUOq.
-g00UԵ_WY&	4	NoL0U#0c:\1C{|F3hZmU0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicTimStaPCA_2010-07-01.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicTimStaPCA_2010-07-01.crt0U00U%0
+0
	*H
hہ_2BspՁddwEOO0f]'_{kíQ!`*,
U3&w<5G.m|@+VfxS:1Z)hEjo<}µ.xٓ?U
z~x<@6@-ڢrAxO?U.$ڄ/~w~8x"¤l5Z1DÎ
v0-@]7ڠOJ)1`0q0Y
a	*0
	*H
010	UUS10U
Washington10URedmond10U
Microsoft Corporation1200U)Microsoft Root Certificate Authority 20100
100701213655Z
250701214655Z0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100"0
	*H
0

w: iktTե
|hK,_av>f+[S'1A	|a0Y0D`TCM8Bݓs0W&E
GͿ$`2X`FXG2tag_TϓLĦ]an(aF'$gr!KdPb]w=WuBM@Q>gfD~Knʱz*
1N5x</Dd 	xD]^O"M00	+70Uc:\1C{|F3hZmU0	+7
SubCA0U0U00U#0Vˏ\bh=[Κ0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt0U 00	+7.00=+1http://www.microsoft.com/PKI/docs/CPS/default.htm0@+042 Legal_Policy_Statement. 0
	*H
Q
?q=!o1Wm0fjxǨ%kTW+QDS`v@@A\\^5$VKtBȯ7}Z?yJR8/ye٩kzoK0D$"<Y)p2J'U/3b_W@ΙfjbJ&9Jqc{!mÜ<}jxm8ؔƥ
B"8 %d~cY%z.9Wvqa˚Gͧ};q	]t"aڰPo1:eGxHr~akow˧	9؂r*T9[
Uzs;-3.)/T'!ȬN(ۖBAM*f0ӻt2Kc{/!YD<PqסUiW0M
]O8/X.
P5	'ճ~56_tI00Ԥ010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1&0$UThales TSS ESN:148C-C4B9-20661%0#UMicrosoft Time-Stamp Service%
0	+cUj尼T50ۤ010	UUS10U
Washington10URedmond10U
Microsoft Corporation1)0'U Microsoft Operations Puerto Rico1'0%UnCipher NTS ESN:4DE9-0C5E-3E091+0)U"Microsoft Time Source Master Clock0
	*H
h0"20191204005712Z20191205005712Z0t0:
+Y
1,0*0
h0\00
c06
+Y
1(0&0
+Y

0 
0 0
	*H
pGkS=X(	ZIZTOpZl4vpk(ÉJ05[]iCF6'Lӷ%jjcyb<wмMdln]Mݫ(Y+wűy.üN+qLqT:+/Ivͼ<7X*
9)>Nٷe1@d
ZE;

VK_AM<O(>%u*'ئL0@1000|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103aD0
	`He20	*H
	1
*H
	0/	*H
	1" 
6:S}Py}2hq̺:t0*H
	1000cUj尼T500~0|10	UUS10U
Washington10URedmond10U
Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103aD0f#ct"߈7HA{Y0
	*H
Vo$2YZXpo<6O#^^sE-e9e&\+Ž{⓽ՃV%*	=qП_)f]/kho'zXJ$H*֎&\v)[z#Rϔ 7ZjV5&O5>``J*	YFa+:	Gi1q~̊W{hX,1u0sU8aZ?Bsl,"e}<ߞy~#AuqL*!

Anon7 - 2022
AnonSec Team